diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 00000000000..dba13ed2ddf
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,661 @@
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 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 Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are 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.
+
+ 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.
+
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+ 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 Affero 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. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+ 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 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 work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero 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 Affero 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 Affero 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 Affero 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 Affero 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 Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+ 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 AGPL, see
+.
diff --git a/README.md b/README.md
index 5b1f6a7c334..b235504cbc4 100644
--- a/README.md
+++ b/README.md
@@ -123,7 +123,7 @@ Please see [CONTRIBUTING.md](CONTRIBUTING.md)
##LICENSE
-All code is under a GNU GPL v3 license (http://www.gnu.org/licenses/gpl.html),
-including tools unless their readme specifies otherwise.
+All code is under a GNU AGPL v3 license (http://www.gnu.org/licenses/agpl-3.0.html),
+including tools unless their readme specifies otherwise. See LICENSE.txt for more details.
All content including icons and sound is under a Creative Commons 3.0 BY-SA
license (http://creativecommons.org/licenses/by-sa/3.0/).
diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm
index ffb167090cd..518f3ce0974 100644
--- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm
+++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm
@@ -104,7 +104,7 @@
"abZ" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/fancy/carpet,/area/security/hos)
"aca" = (/turf/simulated/floor/fancy/carpet,/area/security/hos)
"acb" = (/obj/machinery/keycard_auth{pixel_x = 24; pixel_y = 10},/obj/machinery/hologram/holopad,/turf/simulated/floor/fancy/carpet,/area/security/hos)
-"acc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
+"acc" = (/obj/structure/lattice/catwalk,/turf/space,/area/space)
"acd" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/transfer)
"ace" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/security/transfer)
"acf" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel,/area/security/transfer)
@@ -151,8 +151,8 @@
"acU" = (/obj/item/weapon/storage/secure/safe/HoS{pixel_x = 35},/obj/structure/table/wood,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/radio/off,/turf/simulated/floor/fancy/carpet,/area/security/hos)
"acV" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"acW" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
-"acX" = (/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
-"acY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/solar/auxport)
+"acX" = (/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
+"acY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport)
"acZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/security/transfer)
"ada" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{icon_state = "warnplate"},/area/security/prison)
"adb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/security/prison)
@@ -172,13 +172,13 @@
"adp" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/fancy/carpet,/area/security/hos)
"adq" = (/turf/simulated/wall/r_wall,/area/security/main)
"adr" = (/turf/simulated/wall/r_wall,/area/maintenance/fsmaint)
-"ads" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
-"adt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
-"adu" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
-"adv" = (/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
-"adw" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
-"adx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
-"ady" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
+"ads" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport)
+"adt" = (/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport)
+"adu" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport)
+"adv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport)
+"adw" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport)
+"adx" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport)
+"ady" = (/obj/item/stack/rods,/turf/space,/area/space)
"adz" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/prison)
"adA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/prison)
"adB" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/prison)
@@ -216,7 +216,7 @@
"aeh" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod3/station)
"aei" = (/obj/structure/cable,/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
"aej" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxport)
-"aek" = (/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/auxport)
+"aek" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
"ael" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/prison)
"aem" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/prison)
"aen" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "redcorner"},/area/security/prison)
@@ -253,13 +253,13 @@
"aeS" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
"aeT" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 3; pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
"aeU" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station)
-"aeV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/auxport)
-"aeW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/auxport)
-"aeX" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/auxport)
-"aeY" = (/turf/simulated/floor/plating/airless,/area/solar/auxport)
-"aeZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/solar/auxport)
-"afa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/solar/auxport)
-"afb" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/solar/auxport)
+"aeV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
+"aeW" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
+"aeX" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
+"aeY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
+"aeZ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
+"afa" = (/obj/structure/lattice,/obj/item/stack/cable_coil/random,/turf/space,/area/space)
+"afb" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport)
"afc" = (/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/turf/space,/area/space)
"afd" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel,/area/security/prison)
"afe" = (/obj/structure/extinguisher_cabinet{pixel_x = 1; pixel_y = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison)
@@ -544,8 +544,8 @@
"akx" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/crew_quarters/courtroom)
"aky" = (/obj/structure/table/wood,/obj/item/weapon/folder/blue,/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/crew_quarters/courtroom)
"akz" = (/obj/structure/stool/bed/chair{dir = 8; name = "Defense"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 5; icon_state = "green"},/area/crew_quarters/courtroom)
-"akA" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard)
-"akB" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/auxport)
+"akA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/lattice/catwalk,/turf/space,/area/maintenance/auxsolarstarboard)
+"akB" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
"akC" = (/obj/structure/grille,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/window/shuttle,/turf/simulated/floor/plating,/area/shuttle/laborcamp/station)
"akD" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/laborcamp/station)
"akE" = (/obj/machinery/mineral/labor_claim_console{machinedir = 2; pixel_x = 30; pixel_y = 30},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/laborcamp/station)
@@ -575,7 +575,7 @@
"alc" = (/obj/structure/stool/bed/chair{dir = 8; name = "Defense"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 6},/area/crew_quarters/courtroom)
"ald" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/crew_quarters/courtroom)
"ale" = (/turf/space,/area/maintenance/auxsolarstarboard)
-"alf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/maintenance/auxsolarstarboard)
+"alf" = (/obj/structure/grille,/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area/space)
"alg" = (/turf/simulated/wall,/area/maintenance/fsmaint2)
"alh" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"ali" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
@@ -627,7 +627,7 @@
"amc" = (/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{dir = 8; name = "Courtroom APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/crew_quarters/courtroom)
"amd" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"ame" = (/obj/machinery/light/small{dir = 4},/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"amf" = (/obj/structure/lattice,/turf/space,/area/maintenance/auxsolarstarboard)
+"amf" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport)
"amg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"amh" = (/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"ami" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/external{name = "Solar Maintenance"; req_access = null; req_access_txt = "10; 13"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
@@ -2276,6 +2276,7 @@
"aRN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
"aRO" = (/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/kitchen)
"aRP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
+"aRQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport)
"aRR" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
"aRS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
"aRT" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
@@ -2513,6 +2514,7 @@
"aWr" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
"aWs" = (/obj/machinery/door/window/southright{name = "Bar Door"; req_access_txt = "0"; req_one_access_txt = "25;28"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
"aWt" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
+"aWu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
"aWv" = (/obj/structure/table,/obj/machinery/reagentgrinder,/obj/machinery/requests_console{department = "Kitchen"; departmentType = 2; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
"aWw" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/hydroponics)
"aWx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 16},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard)
@@ -4170,6 +4172,7 @@
"bCl" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bCm" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/space)
"bCn" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/space)
+"bCo" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
"bCp" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Mining"; departmentType = 0; pixel_x = -30; pixel_y = 0},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
"bCq" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
"bCr" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
@@ -5424,7 +5427,7 @@
"cas" = (/obj/structure/closet/crate,/obj/item/target/alien,/obj/item/target/alien,/obj/item/target/alien,/turf/simulated/floor/plasteel,/area/toxins/misc_lab)
"cat" = (/obj/structure/closet/crate,/obj/item/target/syndicate,/obj/item/target/syndicate,/obj/item/target/syndicate,/turf/simulated/floor/plasteel,/area/toxins/misc_lab)
"cau" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/port)
-"cav" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/port)
+"cav" = (/obj/structure/sign/securearea{pixel_y = -32},/obj/structure/lattice/catwalk,/turf/space,/area/space)
"caw" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/port)
"cax" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor/plating,/area/maintenance/aft)
"cay" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/aft)
@@ -5472,7 +5475,7 @@
"cbo" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/misc_lab)
"cbp" = (/obj/structure/table,/obj/effect/decal/cleanable/cobweb,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cbq" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"cbr" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/port)
+"cbr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
"cbs" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/aft)
"cbt" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/aft)
"cbu" = (/obj/machinery/telecomms/server/presets/supply,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
@@ -5570,7 +5573,7 @@
"cdi" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cdj" = (/obj/machinery/door/airlock/external{req_access_txt = "13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cdk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"cdl" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/space)
+"cdl" = (/obj/item/weapon/wrench,/obj/structure/lattice/catwalk,/turf/space,/area/space)
"cdm" = (/obj/item/clothing/under/rank/vice,/obj/structure/closet,/obj/item/clothing/shoes/jackboots,/turf/simulated/floor/plating,/area/maintenance/aft)
"cdn" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft)
"cdo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engine/engineering)
@@ -5656,7 +5659,7 @@
"ceQ" = (/obj/machinery/door/airlock/maintenance{name = "Research Delivery access"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"ceR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/wall,/area/maintenance/asmaint2)
"ceS" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"ceT" = (/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/port)
+"ceT" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
"ceU" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"ceV" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"ceW" = (/obj/machinery/power/smes{charge = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/portsolar)
@@ -5715,10 +5718,10 @@
"cfX" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cfY" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cfZ" = (/obj/machinery/power/tracker,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/solar/port)
-"cga" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/port)
-"cgb" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/port)
-"cgc" = (/turf/simulated/floor/plating/airless,/area/solar/port)
-"cgd" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/solar/port)
+"cga" = (/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
+"cgb" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
+"cgc" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
+"cgd" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
"cge" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{name = "Solar Maintenance"; req_access = null; req_access_txt = "10; 13"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"cgf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"cgg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
@@ -5774,7 +5777,7 @@
"che" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"chf" = (/obj/machinery/power/apc{dir = 8; name = "Science Maintenance APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/camera{c_tag = "Aft Starboard Solar Access"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"chg" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"chh" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/port)
+"chh" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
"chi" = (/obj/machinery/power/solar_control{id = "portsolar"; name = "Aft Port Solar Control"; track = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar)
"chj" = (/turf/simulated/floor/plating,/area/maintenance/portsolar)
"chk" = (/obj/machinery/power/apc{dir = 4; name = "Aft Port Solar APC"; pixel_x = 23; pixel_y = 2},/obj/machinery/camera{c_tag = "Aft Port Solar Control"; dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar)
@@ -5818,7 +5821,7 @@
"chW" = (/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar)
"chX" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"chY" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar)
-"chZ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/port)
+"chZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
"cia" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/aft)
"cib" = (/turf/simulated/wall/r_wall,/area/engine/engine_smes)
"cic" = (/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft)
@@ -5901,7 +5904,7 @@
"cjB" = (/obj/machinery/door_control{id = "auxincineratorvent"; name = "Auxiliary Vent Control"; pixel_x = 6; pixel_y = -24; req_access_txt = "12"},/obj/machinery/door_control{id = "turbinevent"; name = "Turbine Vent Control"; pixel_x = -6; pixel_y = -24; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
"cjC" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
"cjD" = (/obj/machinery/atmospherics/pipe/simple/insulated,/obj/machinery/embedded_controller/radio/access_controller{exterior_door_tag = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; interior_door_tag = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = 6; pixel_y = -26; req_access_txt = "12"},/obj/machinery/ignition_switch{id = "Incinerator"; pixel_x = -6; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"cjE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating/airless,/area/space)
+"cjE" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
"cjF" = (/obj/structure/rack,/obj/structure/disposalpipe/segment,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cjG" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cjH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -5978,7 +5981,7 @@
"cla" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"clb" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"clc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/external{name = "Solar Maintenance"; req_access = null; req_access_txt = "10; 13"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
-"cld" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/solar/port)
+"cld" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
"cle" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 7; on = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/engine/engine_smes)
"clf" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 4},/area/engine/engine_smes)
"clg" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/engine/engine_smes)
@@ -6034,7 +6037,7 @@
"cme" = (/obj/machinery/door/poddoor{id = "auxincineratorvent"; name = "Auxiliary Incinerator Vent"},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
"cmf" = (/obj/structure/rack{dir = 1},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cmg" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"cmh" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space)
+"cmh" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
"cmi" = (/obj/machinery/power/port_gen/pacman,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/engine/engine_smes)
"cmj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/engine/engine_smes)
"cmk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/engine/engine_smes)
@@ -6075,7 +6078,7 @@
"cmT" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod4/station)
"cmU" = (/obj/machinery/power/compressor{comp_id = "incineratorturbine"; dir = 1; luminosity = 2},/obj/structure/cable/yellow,/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
"cmV" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless,/area/space)
-"cmW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/solar/starboard)
+"cmW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/lattice,/turf/space,/area/space)
"cmX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/engine/engine_smes)
"cmY" = (/turf/simulated/floor/plasteel,/area/engine/engine_smes)
"cmZ" = (/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 2},/area/engine/engine_smes)
@@ -6107,7 +6110,7 @@
"cnz" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 3; pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station)
"cnA" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod4/station)
"cnB" = (/obj/machinery/power/turbine{luminosity = 2},/obj/structure/cable/yellow,/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
-"cnC" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating/airless,/area/space)
+"cnC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
"cnD" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating/airless,/area/space)
"cnE" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "SMES room APC"; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/engine/engine_smes)
"cnF" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/engine/engine_smes)
@@ -6137,8 +6140,8 @@
"cod" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape_pod4/station)
"coe" = (/obj/structure/sign/fire{pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/incinerator)
"cof" = (/obj/machinery/door/poddoor{id = "turbinevent"; name = "Turbine Vent"},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
-"cog" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space)
-"coh" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space)
+"cog" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
+"coh" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/lattice/catwalk,/turf/space,/area/space)
"coi" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/aft)
"coj" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel,/area/engine/engineering)
"cok" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -6153,7 +6156,7 @@
"cot" = (/obj/item/weapon/screwdriver,/turf/simulated/floor/plating,/area/engine/engineering)
"cou" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engineering)
"cov" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/engine/engineering)
-"cow" = (/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/starboard)
+"cow" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
"cox" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/aft)
"coy" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating,/area/maintenance/aft)
"coz" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft)
@@ -6178,7 +6181,7 @@
"coS" = (/obj/machinery/camera{c_tag = "Engineering MiniSat Access"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel,/area/engine/engineering)
"coT" = (/obj/structure/transit_tube{tag = "icon-Block"; icon_state = "Block"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engineering)
"coU" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/starboard)
-"coV" = (/turf/simulated/floor/plating/airless,/area/solar/starboard)
+"coV" = (/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
"coW" = (/obj/structure/table,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/aft)
"coX" = (/obj/structure/table,/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor/plating,/area/maintenance/aft)
"coY" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating/airless,/area/space)
@@ -6195,14 +6198,15 @@
"cpj" = (/obj/machinery/door/airlock/command{name = "MiniSat Access"; req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/engine/engineering)
"cpk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/plasteel,/area/engine/engineering)
"cpl" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; reverse_launch = 1; tag = "icon-closed (EAST)"},/obj/structure/transit_tube_pod,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engineering)
-"cpm" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/solar/starboard)
-"cpn" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/solar/starboard)
-"cpo" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/starboard)
-"cpp" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/solar/starboard)
-"cpq" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/solar/starboard)
-"cpr" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/starboard)
+"cpm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
+"cpn" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
+"cpp" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
+"cpq" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
+"cpr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
"cps" = (/obj/structure/grille,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/engine/engineering)
"cpt" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/engine/engineering)
+"cpu" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
+"cpv" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
"cpw" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/engine/engineering)
"cpx" = (/obj/structure/grille,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/engine/engineering)
"cpy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/engine/engineering)
@@ -6247,7 +6251,6 @@
"cql" = (/turf/simulated/floor/plating/airless{dir = 5; icon_state = "warnplate"},/area/space)
"cqm" = (/obj/item/weapon/crowbar,/turf/space,/area/space)
"cqn" = (/obj/structure/transit_tube{icon_state = "D-NE"},/obj/structure/lattice,/turf/space,/area/space)
-"cqo" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/starboard)
"cqp" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engine/engineering)
"cqq" = (/obj/machinery/light{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/engine/engineering)
"cqr" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating/airless{dir = 8; icon_state = "warnplate"},/area/space)
@@ -6259,8 +6262,6 @@
"cqx" = (/turf/simulated/floor/plating/airless{dir = 6; icon_state = "warnplate"},/area/space)
"cqy" = (/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/obj/structure/lattice,/turf/space,/area/space)
"cqz" = (/obj/structure/transit_tube{icon_state = "NW-SE"},/turf/space,/area/space)
-"cqA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/solar/starboard)
-"cqB" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/starboard)
"cqC" = (/obj/structure/transit_tube{tag = "icon-S-NW"; icon_state = "S-NW"},/obj/structure/lattice,/turf/space,/area/space)
"cqD" = (/obj/item/device/radio/off,/turf/simulated/floor/plating/airless,/area/engine/engineering)
"cqE" = (/obj/structure/lattice,/obj/item/clothing/head/hardhat,/turf/space,/area/space)
@@ -6465,7 +6466,7 @@
"cuw" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/engine/engineering)
"cux" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/simulated/floor/plating/airless,/area/shuttle/laborcamp/station)
"cuy" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/mining/station)
-
+
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -6527,64 +6528,64 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaacaacaacaacaacaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaagaahaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaacaacaacaacaacaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaiaaiaajaakaalaakaalaakaamaaiaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaagaafaaiaanaaoaapaaqaaraasaataauaavaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaccaccaccaccaccaccaccaccaccaccaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaacaacaacaacaacaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaafaaaaafaaaaafaaaaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaacaacaacaacaacaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaiaaiaajaakaalaakaalaakaamaaiaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaiaanaaoaapaaqaaraasaataauaavaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaafaaiaawaaxaayaaxaaxaaxaazaauaaAaaiaafaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaiaaiaaBaaCaaDaaEaaFaasaasaauaaGaaiaafaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaafaaHaaHaaHaaHaaHaagaagaaiaaIaasaasaasaasaaJaasaasaaKaaLaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaMaaNaaOaaHaagaaiaaiaaPaaJaasaasaaQaaRaaJaasaaSaaTaaiaaaaaUaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaVaaWaaXaaHaagaaiaaYaasaasaasaaJaaZabaaasaasabbabcaaiaaiaaiaafaaaaaaaaaaaaaaaaafaaaaaUaaaaaaaaaaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabeabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabfabgabfaaHaagaaiabhaasabiaasaasaasaasaasaasaauaasabjabkaaiaafaafaafaafaafaafaafaafablablabmablablabnabnaboaboaboabnabnaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaHaaHaaHaaHaaHaagaagaaiaaIaasaasaasaasaaJaasaasaaKaaLaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaMaaNaaOaaHaagaaiaaiaaPaaJaasaasaaQaaRaaJaasaaSaaTaaiaaaaaUaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaVaaWaaXaaHaagaaiaaYaasaasaasaaJaaZabaaasaasabbabcaaiaaiaaiaafaaaaaaaaaaaaaaaaafaaaaaUaaaaaaaaaaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalfalfalfabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabfabgabfaaHaagaaiabhaasabiaasaasaasaasaasaasaauaasabjabkaaiaafaafaafaafaafaafaafaafablablabmablablabnabnaboaboaboabnabnaaaaaaaaaaaaaaaaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabqabrabqaaHabsaaiabtaasaasabuabvabwaasabxabyabzaasabAabBaaiaafaaaaaaaaaaaaaaaaaaaaaabmabCabDabEabFabnabGabHabIabJabKabnaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafabLaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabeabeabdabeabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabMabNabOabPabQaaiabRabSabRabRabRabTabRabRabRabUabRabRabVaaiaafaaaaafaafaafaafaaaaafablabWabDabXabCabnabYabZacaacaacbabnaaaaafaahaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabdabdaaaaaaaaaaccaaaaaaaaaabdabdabeabeabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaafaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdaceabgacfaaHacgaaiachaasaciabRacjackaclabRacmacnacoabRacpaaiacqacqacqacqacqacqacqacqacqacrabDacsabCaboactacuacvacaacwabnaaaaafacxacyacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaafaafaafaaaaaaaccaafaafaaaaafaafaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaczaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaafaaHacAacBacCaaHacDaaiacEaasacFabRacGackacFabRacHacnacFabRacIaaiacJacKacLacLafQacNadRacPacqacQabDacsabCaboacRacSacTacaacUabnaafaafacxacVacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafacXaafacWacWacWacWacWaafabdaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabeabdabdaaaaaaaaaacYaaaaaaaaaabdabdabeabeabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHacdacZaaHadaaaiadbadcaddabRadbadeaddabRadbadfaddabRabRaaiacJadgadhadhadhadhadiadjacqadkabDacsabCabnadladmadnadoadpabnabmabladqacyacxacxadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafadsadtadtadtadtaduadvadwadxadxadxadxadyaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaafaafaaaaaaaaaacYaafaafaaaaafaafaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzadAadBadCadDadEadFadGadDadHadIadJadDadKadLadMadNaaiadOadPacOadQadSadTadUadVadWabDadXadYablabnadZabnaeaabnaebabnaecaedablaeeaefaegaegaehaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeiaeiaeiaeiaeiaafadvaafaeiaeiaeiaeiaeiaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaafaekaafaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelaemaenaeoaepaeqaeoaeraepaeoaeoaeoaepaesaetaeuaevaaiaewaexaeyaezaeAaeBaeCaeDacqaeEaeFaeGablaeHaeIaeJaeKaeLaeMaeJaeNaeOaePaeQaeRaeSaeTaeUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaafadvaaaaaaaaaaafaaaaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeVaeWaeWaeWaeWaeXaeYaeZafaafaafaafaafbaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcaaiaaiaaiaaiafdafeaffafgafhafiafjafkafkafkabRaflafmaaiafnafoacMafqafrafsaftafuacqafvafwafxablafyafzafAafBafCafDafEafFafGablafHafIaegaegafJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafadvaafacWacWacWacWacWaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafafKafKafKafKafKaafaeYaafafKafKafKafKafKaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaiaaiaddafLadbafMafMafMafMafMafMafMafNafOafPafpafRafSafTafUafVafWafXafPafYafZagaagbagcagdafAageafCagfaggaghabladqacxacxacxadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafadsadtadtadtadtaduadvadwadxadxadxadxadyaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaafaeYaaaaaaaaaaafaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaafaaaaaaaaiagiagjagkafMaglagmagnagoagpafMagqagragsagtaguagvagwafVagxafWagyagzagAagBagCagDagEagFagGagHagIagJagKagLagMagNagOagPacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeiaeiaeiaeiaeiaafadvaafaeiaeiaeiaeiaeiaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaafaeYaafaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafaafaafaafaaiagQagRagSafMagTagUagVagWagXafMagqagYagZahaahbahcahdaheaheahfahgahhahiahjahkahlahmahnahmahoahpahpahqahrablablaeQahsacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaaaadvaaaaaaaaaaafaaaaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeVaeWaeWaeWaeWaeXaeYaeZafaafaafaafaafbaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaiahtagRahtafMagTagUahuagWahvafMahwahxahyahzahAahBahCahDahEahFahGahHahIahJahKahLahMahNahOahPahQahRahSahTahUahVahWahXahYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafadvaafacWacWacWacWacWaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafafKafKafKafKafKaafaeYaafafKafKafKafKafKaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaafaaaaaaaaiahZaiaaibafMaicaidaidaieagXafMaifaigafPaihaiiaijaikaikailaimafPafPainaioadqadqadqablablablablablablablablaipaiqairahYaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaafadsadtadtadtadtaduadvadwadxadxadxadxadyaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaaaaeYaaaaaaaaaaafaaaaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaitaitaiuaitaivaiwafMafMafMafMafMafMaixaiyafMaizaiAaiBaiBaiBaiBaiBaiBaiBaiBaiCaiDaiEaiFaiBaigaiwaiGaiHaiIaiJaiKaiLaiMaiNaipaiqairahYaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaeiaeiaeiaeiaeiaafadvaafaeiaeiaeiaeiaeiaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaafaeYaafaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafaitaiRaiSaiTaiUaiVaiWaiXaiYaiZajaajbajcajdajeajfajgajhajiajhajhajhajhajhajhajjajhajgajkajiajlajmajnajoajpajqajrajsajtajuaipaiqairacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaafaaaaafaafaaaaaaadvaaaaaaaafaaaaaaaafaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeVaeWaeWaeWaeWaeXaeYaeZafaafaafaafaafbaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaiOaiPaiPaiPaiQaaaaafaivajyajzajAajBajCajDajEajFajGajHajIajJajKajLajIajJajMajLajIajJajNajOajOajOajPahxajQajRajSajTajUajVajWajVajVajVajXajYaiLaipaiqairahYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabdaaaaaaaafaaaaaaadvaaaaafaafaafaafabdabdabdaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaafKafKafKafKafKaafaeYaafafKafKafKafKafKaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaajvajwajZajxajvaiuaiuakaakbakcakdakeaiwafMakfafMafMakgakhakiakjakkaklakiakjakkakmaknakjakoakpakjakqakrakjaksaktakuaiwakvakwaiLakxaiLakyakzaiLaipaiqairahYaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaakAaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaaafaafaaaaaaakBaaaaaaaafaaaaaaaafaaaabdaaaaaaaaaaaaaaaaaaaaeaaaaaaaafaafaafaaaakCakDalkakEalJakFakGakFakbakHakIakJaiwakKakLakKafMakMakNakOafMakPakNakOafMakPakNakOafMakQakRakSakTaigafMakUakVakWaiwakXakYakZalaakZalbalcaldaipaiqairahYaafaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaalealfaleaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaalgalhalgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdaaaaaaaafaaaalialjaliaafaafaafaafabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaajvalKalMalLajvaiuaiuaiuallalmalnaloaiwakKakLakKafMalpakNalqafMalrakNalsafMaltakNaluafMalvalwalxakTalyafMalzakNalAaiwalBalCalBalDalBalBalEalBaipaiqairacxacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaalFalGalFaaaaafaaaaaaaafaaaaaaaaaaafaafaafaaaaaaaaaaaaalgalHalgaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaalialIaliaafaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaajvamkamkamjajvaaaaaaalNaitaiualOalPaiwakKalQakKaiwalRalSalSalTalSalSalSalTalSalSalSalTalUalValWalXalYaiwaiwaiwaiwaiwalZamaalZaiNalZalZambaiNaipamcamdameacxacxacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafamfalFamgalFaleaafaafaafaafaaaaafaaaaaaaaaaafaafaaaaaaaaaalgamhalgaafaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafalialiamialialiaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaakCamEamkanOajvaiuaiuaiuamlammamnamoaivaiwaiwaiwaiwampampampamqampampampamrampampampamqampampampamsamsamtamuamuamuamvalZamaalZaiNalZalZambaiNacxaiqamwaeQamxamyamxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafalFalFalGalFalFaafaaaaaaaafaaaaafaaaaaaaaaaaaaafaafaaaaaaalgamhalgaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafamzamAamBamCamzamDamDaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaajvanfamkamkbDRamFakGamFakbakHakIakHamGamsamsamsamHamsamsamIamsamsamsamsamsamsamsamJamsamKamsamLamsamsamsamsamsamsamMaiNamNamOamPamQaiNamRaiNamSamTamUamVamVamWacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafamXamYamZanaamXaafaaaaaaaafaaaaafaaaaafaaaaaaaaaaafalgalgalgamhalgalgalgalgalgalgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamDamDamDamDamDaafaafamzanbancandamzaneamDaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaajvcuxcuxcuxajvaiuaiuanganhanianjankaitanlanlanlanlanlanmannanlanlanlanlanlanlanlanoanpanpanpanqanranpansantanuanvamvanwanxaipaipaipaipaipaipacxanyanzacxanAanBacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafamXanCanDanEamXaafaaaaaaaafaaaaafaaaaafalgalhalgalhalganFamhamhamhamhamhamhanGalgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaamDamDamDamDanHanIanJamDaaaaaaamzanKanLanMamzanNamDaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaoCaoDaoDaoDaoEaaaaafaivaiuanPaitanQanRanRanSanTanSanRanRanUanVanVanVanWanVanVanXanYanZaoaamVaobamVamVamVamVaocamVamVamVamVamVaodaoeaofaogaohaohaoiaojaokaolaomacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaamXaonaooaopamXaoqaoqaoqaoqaoqalhalhalhalgaoramhanGalgalgamhalgalgalgalgaosalgalgaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafamDaovaowaoxanNaoyanNamDaozaozamzamzaoAaoBamzanNamDamDaozaozaozamDamDaaaaafaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaitaoFakGaitaoGanRaoHaoIaoIaoIaoJanRaoKaoLaoMaoNaoOaoPanVampamsaoQaoRaoSagOagOagOagOagOaoTaoUagOagOagOagOagOaoVaoWaoXaoYaoZapaapbacxapcapdacxaafapeapfapfapgapfapfaphaaaaaaaaaaaaaaaaafalhapialhaaaaoqamXamXapjapkamXaplamhamhamhalgapmamhapnalgamhamhamhapoalgamhalgappapqalgamhapralgaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafapsaptapuaaaapvapwapxaafaafaozapyaozaaaaaaaafamDapzapAapBapCapDapEamDapFanNapGapHapIanNanNanNanNanNanNanNanNanNamDaaaapJaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaitaoFapLaitapManRapNapOapPapQapRanRapSanVapTapUapVapWapXampamsamuaoRahsapYapYapYapYapYapZaqaapYapYapYapYapYapYapYapYaqbaqcaqdaqeaqeaqeaqeaqeaqfaqgaqhaqhaqhaqhaqhaqgaqbaaaaaaaaaaaaaafaqiamhalhaaaaoqaqjaqkaqlaqmamhamhamhalgamhalgaqnamhamhalgamhaqoaqpaqqaosamhalgaqraqsalgamhaqtalgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaquaqvaqwaqvaquaqxaqyaqxaquaafaqzanNaozaaaaaaamDamDamDamDamDaqAaqBaqCaqCaqDaqEaqFaqEaqGaqHaqIaqJamDanNamDamDamDanNamDaaaaafaaaaaaaaaaaaaaaaaaaafaaaaafaafaafaafaqKaqKaqKaqKaqKaqKaqKaqKaqLanRaqMapOaqNaqOaqPanRapSaqQaqRaqSaqTaqUapXampamsaqVaoRahsapYaqWaqXaqYaqZaraarbapYarcardareapYarfargarhaqbariarjarkarlarmarnaroarpaqgaqhaqhaqhaqhaqhaqgaqbaafaafaafaafalhalhapialhalhaoqarqamharramhanFamhalgalgarsalgalgartalgalgaqqaruarvamhalgamharwarwarwarwarwarwarwarwarwabsabsabsabsaagabsabsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxaqvaryaqvarxaqxarzaqxarxamDaozapyaozaozaozamDarAarBarBarBarBarBarBarCarDamDamDamDamDamDarEamDamDanNarFamDarGanNamDamDamDaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaqKarHarIaqKarJarKarLaqKaqLanRarMarNarOarOarParQarRarSarTarTarUarTapXampamsarVaoRahsapYarWarXarYarZasaasbapYascasdaseapYasdasfasgaqbashasiasjaskaskaskaslasmaqgaqhaqhaqhaqhaqhaqgaqbaqbaqbaaaaaaalhamhamhamhaplaoqasnaqqarramhasoaspasqaosamhamhamhamhasramhamharuassamhastamharwasuasvaswarwasxasyaszarwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxasAasBasCarxasDasEasFarxasGanNanNasHasHarFasIasJasKasLasLasLasLasLasLasMasNasOaagasPamDasQasRasSanNasIamDasTanNanNanNaozaaaaaaaaaaaaaaaaafaaaaaaaafaaaaqKaqKaqKasUasUaqKasUasUasUaqKasVanRasWasXasYasZataatbatcatdanVateatfatganVathamsamuaoRahsapYapYapYapYapYatiatjapYatkatlatmapYapYatnatmaqbatoatpatqatratratsattatuatvaqhaqhaqhaqhaqhatwatxatyatzaaaaaaalhamhamhatAamhaoqatBamhatCatDatDatDatDatEatDatFamhamhamhamhamhamhamhamhalgasparwatGatHatHarwatIatJatKarwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxatLatMatNarxatOatMatNarxapEatPatQatRatRatRatSatTatUatVatWatXatYatZamDasJatUaagauaasOaozaubaucamDamDamDamDamDamDamDanNaozaafaaaaaaaaaaaaaafaaaaafaagaagaudaueaudasUasUaqKaqKaufaqKaqKasVanRanRanRauganRanRanRauhauianVanVanVanVanVaujamsaukaoRahsapYaqWaqXaulaqZaumaunauoaupauqaurausautauuauvauwauxatpauyauzauzauAaslauBatzaqhaqhaqhaqhaqhatzauCauDatzaafaafalgamhamhalgalgaoqaoqaoqaoqaoqaoqaoqaoqaoqalgauEauFalgalgalgalgalgalgalgauGauHauIauJauKauLauMauNatGauOarwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaquarxauPauQaquarxauRauQaquamDauSamDamDamDamDamDasJatUanNauTauUanNanNamDasJatUauVaafauVamDapAaucamDauWauXamDasTapEasKauYasLauZavaavaavaavaavaavbavaavaavaauZavcauZauZavdauZaveavdavfavgavhaviaviaviaviaviaviaviavjavkaviaviaviaviavlavmavnavnavoavpapYarWavqarYavrasaavsavtavuavvavwavxavyavzavAavBavCavDauyauzauzauAaslavEatzaqhaqhaqhaqhaqhatzavFauDatzaaaaaaalgavGamhamhavHalgavIanGavJavKanFalgatBanFalgavLamhalgavMamhalgavNavOavPavQatDatDavRavSavTavUavVavWavXarwabsabsaagaagabsabsabsabsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabdabdalfabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabMabNabOabPabQaaiabRabSabRabRabRabTabRabRabRabUabRabRabVaaiaafaaaaafaafaafaafaaaaafablabWabDabXabCabnabYabZacaacaacbabnaaaaafcavaccaccaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabdabdaafaafaaaaWuaaaafaaafabdabdabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdaceabgacfaaHacgaaiachaasaciabRacjackaclabRacmacnacoabRacpaaiacqacqacqacqacqacqacqacqacqacrabDacsabCaboactacuacvacaacwabnaaaaafacxacyacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaafaaaaafaaaaaaaWuaaaaaaaafaaaaafaaaaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaczaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaHacAacBacCaaHacDaaiacEaasacFabRacGackacFabRacHacnacFabRacIaaiacJacKacLacLafQacNadRacPacqacQabDacsabCaboacRacSacTacaacUabnaafaafacxacVacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaaabCoaaaacWacWacWacWacWaafabdaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabeabeabeabeaafaafaaaaRQaaaaafaafabdabdabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHacdacZaaHadaaaiadbadcaddabRadbadeaddabRadbadfaddabRabRaaiacJadgadhadhadhadhadiadjacqadkabDacsabCabnadladmadnadoadpabnabmabladqacyacxacxadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaeZaeYaeYaeYaeYaeXacXaeWaeVaeVaeVaeVaekaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaaaaafaaaaafaaaaaaaRQaaaaaaaafaaaaafaaaaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzadAadBadCadDadEadFadGadDadHadIadJadDadKadLadMadNaaiadOadPacOadQadSadTadUadVadWabDadXadYablabnadZabnaeaabnaebabnaecaedablaeeaefaegaegaehaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeiaeiaeiaeiaeiaaaacXaaaaeiaeiaeiaeiaeiaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaaaamfaaaaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelaemaenaeoaepaeqaeoaeraepaeoaeoaeoaepaesaetaeuaevaaiaewaexaeyaezaeAaeBaeCaeDacqaeEaeFaeGablaeHaeIaeJaeKaeLaeMaeJaeNaeOaePaeQaeRaeSaeTaeUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaaaaaaaafaaaaaaaaaacXaaaaaaaaaaafaaaaaaaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaadwadvadvadvadvadxadtaduadsadsadsadsacYaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcaaiaaiaaiaaiafdafeaffafgafhafiafjafkafkafkabRaflafmaaiafnafoacMafqafrafsaftafuacqafvafwafxablafyafzafAafBafCafDafEafFafGablafHafIaegaegafJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaaaacXaaaacWacWacWacWacWaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafafKafKafKafKafKaaaadtaaaafKafKafKafKafKaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaiaaiaddafLadbafMafMafMafMafMafMafMafNafOafPafpafRafSafTafUafVafWafXafPafYafZagaagbagcagdafAageafCagfaggaghabladqacxacxacxadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaeZaeYaeYaeYaeYaeXacXaeWaeVaeVaeVaeVaekaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaaaaaaaafaaaaaaaaaadtaaaaaaaaaaafaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaafaaaaaaaaiagiagjagkafMaglagmagnagoagpafMagqagragsagtaguagvagwafVagxafWagyagzagAagBagCagDagEagFagGagHagIagJagKagLagMagNagOagPacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeiaeiaeiaeiaeiaaaacXaaaaeiaeiaeiaeiaeiaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaaaadtaaaaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaiagQagRagSafMagTagUagVagWagXafMagqagYagZahaahbahcahdaheaheahfahgahhahiahjahkahlahmahnahmahoahpahpahqahrablablaeQahsacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaaaaaaaafaaaaaaaaaacXaaaaaaaaaaafaaaaaaaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaadwadvadvadvadvadxadtaduadsadsadsadsacYaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaiahtagRahtafMagTagUahuagWahvafMahwahxahyahzahAahBahCahDahEahFahGahHahIahJahKahLahMahNahOahPahQahRahSahTahUahVahWahXahYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaaaacXaaaacWacWacWacWacWaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdafaafKafKafKafKafKaaaadtaaaafKafKafKafKafKaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaafaaaaaaaaiahZaiaaibafMaicaidaidaieagXafMaifaigafPaihaiiaijaikaikailaimafPafPainaioadqadqadqablablablablablablablablaipaiqairahYaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaeZaeYaeYaeYaeYaeXacXaeWaeVaeVaeVaeVaekaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaaaaaaaafaaaaaaaaaadtaaaaaaaaaaafaaaaaaaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaitaitaiuaitaivaiwafMafMafMafMafMafMaixaiyafMaizaiAaiBaiBaiBaiBaiBaiBaiBaiBaiCaiDaiEaiFaiBaigaiwaiGaiHaiIaiJaiKaiLaiMaiNaipaiqairahYaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeiaeiaeiaeiaeiaaaacXaaaaeiaeiaeiaeiaeiadyabpaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaaaadtaaaaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafaitaiRaiSaiTaiUaiVaiWaiXaiYaiZajaajbajcajdajeajfajgajhajiajhajhajhajhajhajhajjajhajgajkajiajlajmajnajoajpajqajrajsajtajuaipaiqairacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaaaaafaaaaafaaaaaaacXaaaaaaaafaaaaafaaaaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaadwadvadvadvadvadxadtaduadsadsadsadsacYaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaiOaiPaiPaiPaiQaaaaafaivajyajzajAajBajCajDajEajFajGajHajIajJajKajLajIajJajMajLajIajJajNajOajOajOajPahxajQajRajSajTajUajVajWajVajVajVajXajYaiLaipaiqairahYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdaafaafaafaafaafacXaafaafaafaafaafabdabdabdaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpadyafKafKafKafKafKaaaadtaaaafKafKafKafKafKaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaajvajwajZajxajvaiuaiuakaakbakcakdakeaiwafMakfafMafMakgakhakiakjakkaklakiakjakkakmaknakjakoakpakjakqakrakjaksaktakuaiwakvakwaiLakxaiLakyakzaiLaipaiqairahYaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaaaakBaaaaaaaafaaaaaaaafaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaaaaafaaaaafaaaaaaafbaaaaaaaafaaaaafaaaaaaabdaaaaaaaaaaaaaaaaaaaaeaaaaaaaafaafaafaaaakCakDalkakEalJakFakGakFakbakHakIakJaiwakKakLakKafMakMakNakOafMakPakNakOafMakPakNakOafMakQakRakSakTaigafMakUakVakWaiwakXakYakZalaakZalbalcaldaipaiqairahYaafaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaafaaaaleakAaleaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaalgalhalgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdaafaafaafaafalialjaliaafaafaafaafabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaajvalKalMalLajvaiuaiuaiuallalmalnaloaiwakKakLakKafMalpakNalqafMalrakNalsafMaltakNaluafMalvalwalxakTalyafMalzakNalAaiwalBalCalBalDalBalBalEalBaipaiqairacxacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaalFalGalFaaaaafaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaalgalHalgaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaafaaaaafaaaaaaaafaaaalialIaliaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaajvamkamkamjajvaaaaaaalNaitaiualOalPaiwakKalQakKaiwalRalSalSalTalSalSalSalTalSalSalSalTalUalValWalXalYaiwaiwaiwaiwaiwalZamaalZaiNalZalZambaiNaipamcamdameacxacxacxaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafalealFamgalFaleaafaafaafaafaaaaafaaaaaaaaaaafaafaaaaaaaaaalgamhalgaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaafalialiamialialiaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaakCamEamkanOajvaiuaiuaiuamlammamnamoaivaiwaiwaiwaiwampampampamqampampampamrampampampamqampampampamsamsamtamuamuamuamvalZamaalZaiNalZalZambaiNacxaiqamwaeQamxamyamxaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaafalFalFalGalFalFaafaaaaaaaafaaaaafaaaaaaaaaaaaaafaafaaaaaaalgamhalgaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaafamzamAamBamCamzamDamDaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaajvanfamkamkbDRamFakGamFakbakHakIakHamGamsamsamsamHamsamsamIamsamsamsamsamsamsamsamJamsamKamsamLamsamsamsamsamsamsamMaiNamNamOamPamQaiNamRaiNamSamTamUamVamVamWacxaccaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafamXamYamZanaamXaafaaaaaaaafaaaaafaaaaafaaaaaaaaaaafalgalgalgamhalgalgalgalgalgalgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamDamDamDamDamDaafaafamzanbancandamzaneamDaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaajvcuxcuxcuxajvaiuaiuanganhanianjankaitanlanlanlanlanlanmannanlanlanlanlanlanlanlanoanpanpanpanqanranpansantanuanvamvanwanxaipaipaipaipaipaipacxanyanzacxanAanBacxaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaafamXanCanDanEamXaafaaaaaaaafaaaaafaaaaafalgalhalgalhalganFamhamhamhamhamhamhanGalgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaamDamDamDamDanHanIanJamDaaaaaaamzanKanLanMamzanNamDaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaoCaoDaoDaoDaoEaaaaafaivaiuanPaitanQanRanRanSanTanSanRanRanUanVanVanVanWanVanVanXanYanZaoaamVaobamVamVamVamVaocamVamVamVamVamVaodaoeaofaogaohaohaoiaojaokaolaomacxaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaccaccaccaaaaafamXaonaooaopamXaoqaoqaoqaoqaoqalhalhalhalgaoramhanGalgalgamhalgalgalgalgaosalgalgaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaccaccaccaaaaaaaafamDaovaowaoxanNaoyanNamDaozaozamzamzaoAaoBamzanNamDamDaozaozaozamDamDaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaitaoFakGaitaoGanRaoHaoIaoIaoIaoJanRaoKaoLaoMaoNaoOaoPanVampamsaoQaoRaoSagOagOagOagOagOaoTaoUagOagOagOagOagOaoVaoWaoXaoYaoZapaapbacxapcapdacxaafapeapfapfapgapfapfaphaafaafaaaaaaaaaaafalhapialhaaaaoqamXamXapjapkamXaplamhamhamhalgapmamhapnalgamhamhamhapoalgamhalgappapqalgamhapralgaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafapsaptapuaaaapvapwapxaafaafaozapyaozaaaaaaaafamDapzapAapBapCapDapEamDapFanNapGapHapIanNanNanNanNanNanNanNanNanNamDaaaapJaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaitaoFapLaitapManRapNapOapPapQapRanRapSanVapTapUapVapWapXampamsamuaoRahsapYapYapYapYapYapZaqaapYapYapYapYapYapYapYapYaqbaqcaqdaqeaqeaqeaqeaqeaqfaqgaqhaqhaqhaqhaqhaqgaqbaafaaaaaaaaaaafaqiamhalhaaaaoqaqjaqkaqlaqmamhamhamhalgamhalgaqnamhamhalgamhaqoaqpaqqaosamhalgaqraqsalgamhaqtalgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaquaqvaqwaqvaquaqxaqyaqxaquaafaqzanNaozaaaaaaamDamDamDamDamDaqAaqBaqCaqCaqDaqEaqFaqEaqGaqHaqIaqJamDanNamDamDamDanNamDaaaaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaqKaqKaqKaqKaqKaqKaqKaqKaqLanRaqMapOaqNaqOaqPanRapSaqQaqRaqSaqTaqUapXampamsaqVaoRahsapYaqWaqXaqYaqZaraarbapYarcardareapYarfargarhaqbariarjarkarlarmarnaroarpaqgaqhaqhaqhaqhaqhaqgaqbaafaafaafaafalhalhapialhalhaoqarqamharramhanFamhalgalgarsalgalgartalgalgaqqaruarvamhalgamharwarwarwarwarwarwarwarwarwabsabsabsabsaagabsabsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxaqvaryaqvarxaqxarzaqxarxamDaozapyaozaozaozamDarAarBarBarBarBarBarBarCarDamDamDamDamDamDarEamDamDanNarFamDarGanNamDamDamDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaqKarHarIaqKarJarKarLaqKaqLanRarMarNarOarOarParQarRarSarTarTarUarTapXampamsarVaoRahsapYarWarXarYarZasaasbapYascasdaseapYasdasfasgaqbashasiasjaskaskaskaslasmaqgaqhaqhaqhaqhaqhaqgaqbaqbaqbaaaaaaalhamhamhamhaplaoqasnaqqarramhasoaspasqaosamhamhamhamhasramhamharuassamhastamharwasuasvaswarwasxasyaszarwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxasAasBasCarxasDasEasFarxasGanNanNasHasHarFasIasJasKasLasLasLasLasLasLasMasNasOaagasPamDasQasRasSanNasIamDasTanNanNanNaozaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqKaqKaqKasUasUaqKasUasUasUaqKasVanRasWasXasYasZataatbatcatdanVateatfatganVathamsamuaoRahsapYapYapYapYapYatiatjapYatkatlatmapYapYatnatmaqbatoatpatqatratratsattatuatvaqhaqhaqhaqhaqhatwatxatyatzaaaaaaalhamhamhatAamhaoqatBamhatCatDatDatDatDatEatDatFamhamhamhamhamhamhamhamhalgasparwatGatHatHarwatIatJatKarwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxatLatMatNarxatOatMatNarxapEatPatQatRatRatRatSatTatUatVatWatXatYatZamDasJatUaagauaasOaozaubaucamDamDamDamDamDamDamDanNaozaafaccaccaccaccaccaccaccaccaccaudaueaudasUasUaqKaqKaufaqKaqKasVanRanRanRauganRanRanRauhauianVanVanVanVanVaujamsaukaoRahsapYaqWaqXaulaqZaumaunauoaupauqaurausautauuauvauwauxatpauyauzauzauAaslauBatzaqhaqhaqhaqhaqhatzauCauDatzaafaafalgamhamhalgalgaoqaoqaoqaoqaoqaoqaoqaoqaoqalgauEauFalgalgalgalgalgalgalgauGauHauIauJauKauLauMauNatGauOarwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaafaquarxauPauQaquarxauRauQaquamDauSamDamDamDamDamDasJatUanNauTauUanNanNamDasJatUauVaafauVamDapAaucamDauWauXamDasTapEasKauYasLauZavaavaavaavaavaavbavaavaavaauZavcauZauZavdauZaveavdavfavgavhaviaviaviaviaviaviaviavjavkaviaviaviaviavlavmavnavnavoavpapYarWavqarYavrasaavsavtavuavvavwavxavyavzavAavBavCavDauyauzauzauAaslavEatzaqhaqhaqhaqhaqhatzavFauDatzaaaaaaalgavGamhamhavHalgavIanGavJavKanFalgatBanFalgavLamhalgavMamhalgavNavOavPavQatDatDavRavSavTavUavVavWavXarwabsabsaagaagabsabsabsabsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavYavZavZavZawaavZavZavZawbawcawdawbawbawbaweamDawfatUanNawgawhanNawiamDasJawjasLasLasLasLasLasLasNanNawhawkanNanNawlawmawnawoawpawpawpawqawpawrawpawpawsawtawuawvawvawvawvawvawvawwawxawyawzawzawzawzawzawzawzawAawzawBawBawBawBawBawCawDawEawFawGapYapYapYapYapYawHawIawJawKawLawMawNawOawPawQawRawSawTawUawVawVawWawXawYawZaqhaqhaqhaqhaqhaxaaxbaxcatzaaaaaaalgamhamhamhamhamhamhavPatDatDatDatDatDatDatDaxdamhamhamhamhastamhamharraxeaxfaxgaxhaxiaxjatHatHatHaxkarwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafavYaxlaxmaxlaxnaxmaxmaxoaxlaxmaxpaxqaxraxraxsamDawfatUaxtanNanNaxuaxvamDaxwarBarBarBarBarBarBaxxatUaxyanNamDasGasGaxzapSaqKaxAaxBaxCaxCaxDaxCaxEaxCaxCaxFaxAaxGaxHaxHaxHaxHaxHaxHaxHawlaxIaxJaxKaxLaxMaxNaxOaxPaxQaxRaxSaxTaxUaxVaxWaxXamsaxYacxaeQapYaqWaqXaxZaqZayaaybaycaycaycaydayeayfaygayhauwayiayjaykaylaymaynattayoaypaqhaqhaqhaqhaqhaypaqbaqbaqbalgalgalganFalgalgaosalgalgarralgalgayqalgalgaosalgarravGalgalgaosalgamhavGarraxeayrarwaysavSaytayuayvavSaywarwaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavYaxlaxmaxlaxnaxmaxmaxoaxlaxmaxpaxqaxraxraxsamDawfatUaxtanNanNaxuaxvamDaxwarBarBarBarBarBarBaxxatUaxyanNamDasGasGaxzapSaqKaxAaxBaxCaxCaxDaxCaxEaxCaxCaxFaxAaxGaxHaxHaxHaxHaxHaxHaxHawlaxIaxJaxKaxLaxMaxNaxOaxPaxQaxRaxSaxTaxUaxVaxWaxXamsaxYacxaeQapYaqWaqXaxZaqZayaaybaycaycaycaydayeayfaygayhauwayiayjaykaylaymaynattayoaypaqhaqhaqhaqhaqhaypaqbaqbaqbalgalgalganFalgalgaosalgalgarralgalgayqalgalgaosalgarravGalgalgaosalgamhavGarraxeayrarwaysavSaytayuayvavSaywarwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxavYayxavYayyayzayAayBavYayxavYayCayDaxnayEamDawfawjayFasLasLasNayGayGalgastalgayGayGayGayGayHayIavcauZauZauZauZayJapSarHaxAaaaaafaaaayKaaaayLaaaaafaaaaxAaxGaxHayMayNayOayPayQaxHawlayRaySayTayUayVayWayXayYayYayZazaazaazaazbaxWazcamsazdacxaeQapYarWarYarYazeasaazfazgazhaziazjazkazlazlazmazlaqbaznazoazpazqazrazsaqbaypaqhaqhaqhaqhaqhaypaqbaqtamhaxfaztalgalgalgaqtamhalgaqtarralgazuamhalgazvamhalgazwazxalgazyamhalgaosaosarrazzazAarwazBavSazCazDazCavSazEarwaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazFaquazGatMavYavYavYavYavYavYatMazGavYaquazHazIamDazJazKazLazMatRazNayGazOazPazQazRazSazTazOayGazUazVazWawpawpawpawpawpazXazYaxAaafazZazZaAaazZaAbazZazZaafaxAaxGaxHaAcaAdaAeaAfaAcaxHaAgaAhaAiaAjaAkaAlaAmaAnaAoaApaAqaArazaazaazaaAsazcamsaAtacxaeQapYapYapYapYapYaAuaAvaAwazlazlazlazlazlaAxaAyaAzazlaqbaqbaqbaqbaAAaABaqbaypaqhaqhaqhaqhaqhaypaqbalgamhaACaztalgaADalgamhamhalgamharralgamhamhalgamhamhalgarraspalgamhamhalgaAEamharraxeaAFarwarwarwarwarwarwarwarwarwabsabsabsabsabsaafaafaaaaaaaaaaaaaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafavYayxavYaaaaaaaafaaaavYayxavYaaaaquaAIayEaAJaAJaAKaALaAJaAJaAMayGazOazQaANaAOazQazQazOayGaqKaAPaAQaARaARaARaARaARaARaARaASaaaazZaATaAUaAVaAWaAXazZaaaaxAaxGaxHaAcaAYaAZaBaaAcaxHawmazXaxJaBbaBcaBdaBeaBfaAnaBgaBhazaazaaBiazaaAsazcamsazdacxaeQapYaqWaqXaBjaqZayaaBkazlaBlaAyaBmaBmazlaAxaBnaAzazlaBoaBpaBqaBraBsaABaafaBtaBuaBuaBuaBuaBuaBvaaaalgamhaBwaBxalgalgalgalgalgalgaByaBzalgalgalgalgalgalgaBAaBBaBCaBDaBDaBDaBEaBFaBGaBHaBIaBJaBKaBLaBMaBNaBOaBQaBPaBRaBRaBRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafaafaafaafazFaquazGatMavYavYavYavYavYavYatMazGavYaquazHazIamDazJazKazLazMatRazNayGazOazPazQazRazSazTazOayGazUazVazWawpawpawpawpawpazXazYaxAaafazZazZaAaazZaAbazZazZaafaxAaxGaxHaAcaAdaAeaAfaAcaxHaAgaAhaAiaAjaAkaAlaAmaAnaAoaApaAqaArazaazaazaaAsazcamsaAtacxaeQapYapYapYapYapYaAuaAvaAwazlazlazlazlazlaAxaAyaAzazlaqbaqbaqbaqbaAAaABaqbaypaqhaqhaqhaqhaqhaypaqbalgamhaACaztalgaADalgamhamhalgamharralgamhamhalgamhamhalgarraspalgamhamhalgaAEamharraxeaAFarwarwarwarwarwarwarwarwarwabsabsabsabsabsaafaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavYayxavYaagaagaagaagavYayxavYaaaaquaAIayEaAJaAJaAKaALaAJaAJaAMayGazOazQaANaAOazQazQazOayGaqKaAPaAQaARaARaARaARaARaARaARaASaaaazZaATaAUaAVaAWaAXazZaaaaxAaxGaxHaAcaAYaAZaBaaAcaxHawmazXaxJaBbaBcaBdaBeaBfaAnaBgaBhazaazaaBiazaaAsazcamsazdacxaeQapYaqWaqXaBjaqZayaaBkazlaBlaAyaBmaBmazlaAxaBnaAzazlaBoaBpaBqaBraBsaABaafaBtaBuaBuaBuaBuaBuaBvaaaalgamhaBwaBxalgalgalgalgalgalgaByaBzalgalgalgalgalgalgaBAaBBaBCaBDaBDaBDaBEaBFaBGaBHaBIaBJaBKaBLaBMaBNaBOaBQaBPaBRaBRaBRaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaBSaBTaBUaBTaBVaBVaBVaBVaBTaBUaBWaBXaquaBYaBZaCaaCbaCcaCdaCeaCfaCgayGazOazQazQaChazQazQazOayGaCiaCjaCkaClaCmaCnaCoaCpaCqaCraASaafazZaCsaCtaCuaCvaCwazZaafaxAaxGaxHaCxaCyaCzaCAaCBaxHapSaCCaxJaCDaCEaCFazaaCFaCGaCHaCIaCJaAsaxWaCKaxWazcamsazdacxaeQapYarWarXarYaCLasaaCMazlaCNaAyaAyaAyazmaCOaCPaCQazlaCRaCSaCTaCUaCVaABaaaaafaaaaafaaaaafaaaaafaaaalgavGaCWaBGaCXaCYalgasoamhavGarramhalgaaaalgaxfaBGaBGaCZaDaaDbaDbaDbaDbaDbaDcaDdaDeaDfaDgaDgaDgaDhaDiaDjaDkaDlaDmaDnaDoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBSaBTaBTaDpaDqaDraDsaDtaDuaDvaDwaDxaDraDyaDzavYaBYaDAaAJaDBaDCaDDaDEaDFaDGayGaDHazQazQazQazQaDIaDJaDKaDLaDMaDNaCqaCqaCqaCqaCqaCqaCqaASaaaazZaDOaDPaDQaDRaDSazZaaaaxAaxGaxHaDTaDUaDVaDWaDXaxHapSaDYaxJaxJaDZaBhaEaaBhaEbaxJaxJaEcaEdaxWaEeaxWazcamsazdacxaeQapYapYapYapYapYaEfaEgaEhaEiaEjaEkaEkaEkaElazlaEmazlaEnaEoaEpaBraBsaABalgalgalgalgalgalgalgalgalgalgalgalgalgaEqalgalgalgalgaxfaBHaEraEsaEtaEsaEuaEvaEwaEwaExaEyaEyaEyaEyaEyaEzaEAaEBaEBaEBaEBaEBaEBaBRaECaEDaEEaBRaBRaBRaafaafaafaafaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaEFaEFaEGaDraEHaDraEHaDraEHaDraEHaDraDyaEIavYaBYaEJaAJaEKaELaEMaENaEOaEPayGaEQazQaERaESaESaETaEUaEVaEWaEXaEYaEZaEZaEZaEZaEZaFaaFbaASaafazZaFcaDPaFdaFeaFfazZaafaxAaFgaFhaFiaFjaDVaFkaFlaFmaFnaFoaxWaFpaFqaEcaEcaEcaFraFsaxWaFtaFtaxWaEcaxWaFuanYaFvacxaeQaeQaeQaeQaeQamSawHaFwaFxaFyaFzaFxaFAaFxaFBaFxaFCazlaFDaFEaFFaBraFGaFHaFIaFJaFKaFLaFMaFNaFNaFNaFNaFOaFPaFNaFNaFQaFRaFSaFTaBDaFUaFVaFWaFXaFYaFXaFZaGaaEyaEyaGbaEyaGcaGdaGeaEyaEBaGfaEBaGgaGhaGiaGjaGkaGlaGmaGnaGoaGpaJfaGraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaDraDraGuaDraEHaDraEHaGvaEHaDraEHaDraDyaEIavYaBYaGwaAJaAJaGxaGyaGzaGAaAJayGayGayGayGaGBazQazQaGCayGaGDaGEaCqaCqaCqaGFaCqaCqaCqaGGaASaaaazZazZaGHaGIaGHazZazZaaaaxAaxGaxHaGJaGKaGLaGMaGNaxHapSaGOaxWaGPaFqaEcaEcaEcaFraGQaxWaAsaAsaxWaCKaxWaGRaGSaGTacxamSacxacxacxacxacxaGUaGVazlaGWaAyazlaGXazlaGYazlaGZazlaHaaHbaFFaBraHcaHdaHeaHfaHgaHgaHhaHgaHgaHiaHgaHjaHkauHauHauHauHaHlaHmaHnaHoaHpamhaHqaHqaHqaHqaHraEyaHsaHtaHuaHvaHwaHxaEyaHyaHzaEBaHAaHBaHCaHDaGkaHEaECaEDaDlaHFaKsaGraafaafaafaaaaafaaaaaaaaaaaaaafaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaHHaHHaHIaDraEHaDraEHaDraEHaDraEHaDraDyaEIavYaHJaHKaHLaHMaHMaHNaHOaxmaHPaHQaHRaHSayGaHTazQazQaHUayGaHVaHWaCqaHXaHYaHZaIaaIbaIcaIdaASaaaaafaaaaIeaIfaIeaaaaafaaaaxAaxGaxHaDVaIgaIhaIiaIjaxHapSasUaxWaIkaIlaEcaEcaEcaImaInaxWaaaaaaaIoaIpaIqaIraIsaItaIuaIvaIoaaaaaaaIwaIxaIyaIzazlaIAaAyaAyaAyaCPaAyaAyaAyazlaBraIBaICaBraBraABaIDaIEaIEaIFaIGaIHaIEaIIaIEaIJaIKaIJaILaIJaIMaHqaHqaINaHqaHqaHqaHqaIOaIPaHqaHraEyaHtaIQaIRaISaITaIUaEyaIVaIWaIXaIYaIZaJaaJbaJcaJdaBOaJeaGoaGpaGqaGraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBSaBTaBTaDpaDqaDraDsaDtaDuaDvaDwaDxaDraDyaDzavYaBYaDAaAJaDBaDCaDDaDEaDFaDGayGaDHazQazQazQazQaDIaDJaDKaDLaDMaDNaCqaCqaCqaCqaCqaCqaCqaASaaaazZaDOaDPaDQaDRaDSazZaaaaxAaxGaxHaDTaDUaDVaDWaDXaxHapSaDYaxJaxJaDZaBhaEaaBhaEbaxJaxJaEcaEdaxWaEeaxWazcamsazdacxaeQapYapYapYapYapYaEfaEgaEhaEiaEjaEkaEkaEkaElazlaEmazlaEnaEoaEpaBraBsaABalgalgalgalgalgalgalgalgalgalgalgalgalgaEqalgalgalgalgaxfaBHaEraEsaEtaEsaEuaEvaEwaEwaExaEyaEyaEyaEyaEyaEzaEAaEBaEBaEBaEBaEBaEBaBRaECaEDaEEaBRaBRaBRaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaEFaEFaEGaDraEHaDraEHaDraEHaDraEHaDraDyaEIavYaBYaEJaAJaEKaELaEMaENaEOaEPayGaEQazQaERaESaESaETaEUaEVaEWaEXaEYaEZaEZaEZaEZaEZaFaaFbaASaafazZaFcaDPaFdaFeaFfazZaafaxAaFgaFhaFiaFjaDVaFkaFlaFmaFnaFoaxWaFpaFqaEcaEcaEcaFraFsaxWaFtaFtaxWaEcaxWaFuanYaFvacxaeQaeQaeQaeQaeQamSawHaFwaFxaFyaFzaFxaFAaFxaFBaFxaFCazlaFDaFEaFFaBraFGaFHaFIaFJaFKaFLaFMaFNaFNaFNaFNaFOaFPaFNaFNaFQaFRaFSaFTaBDaFUaFVaFWaFXaFYaFXaFZaGaaEyaEyaGbaEyaGcaGdaGeaEyaEBaGfaEBaGgaGhaGiaGjaGkaGlaGmaGnaGoaGpaJfaGraaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaDraDraGuaDraEHaDraEHaGvaEHaDraEHaDraDyaEIavYaBYaGwaAJaAJaGxaGyaGzaGAaAJayGayGayGayGaGBazQazQaGCayGaGDaGEaCqaCqaCqaGFaCqaCqaCqaGGaASaaaazZazZaGHaGIaGHazZazZaaaaxAaxGaxHaGJaGKaGLaGMaGNaxHapSaGOaxWaGPaFqaEcaEcaEcaFraGQaxWaAsaAsaxWaCKaxWaGRaGSaGTacxamSacxacxacxacxacxaGUaGVazlaGWaAyazlaGXazlaGYazlaGZazlaHaaHbaFFaBraHcaHdaHeaHfaHgaHgaHhaHgaHgaHiaHgaHjaHkauHauHauHauHaHlaHmaHnaHoaHpamhaHqaHqaHqaHqaHraEyaHsaHtaHuaHvaHwaHxaEyaHyaHzaEBaHAaHBaHCaHDaGkaHEaECaEDaDlaHFaKsaGraaaaaaaaaaaaaaaaafaaaaaaaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaHHaHHaHIaDraEHaDraEHaDraEHaDraEHaDraDyaEIavYaHJaHKaHLaHMaHMaHNaHOaxmaHPaHQaHRaHSayGaHTazQazQaHUayGaHVaHWaCqaHXaHYaHZaIaaIbaIcaIdaASaaaaafaaaaIeaIfaIeaaaaafaaaaxAaxGaxHaDVaIgaIhaIiaIjaxHapSasUaxWaIkaIlaEcaEcaEcaImaInaxWaaaaaaaIoaIpaIqaIraIsaItaIuaIvaIoaaaaaaaIwaIxaIyaIzazlaIAaAyaAyaAyaCPaAyaAyaAyazlaBraIBaICaBraBraABaIDaIEaIEaIFaIGaIHaIEaIIaIEaIJaIKaIJaILaIJaIMaHqaHqaINaHqaHqaHqaHqaIOaIPaHqaHraEyaHtaIQaIRaISaITaIUaEyaIVaIWaIXaIYaIZaJaaJbaJcaJdaBOaJeaGoaGpaGqaGraaaaaaaaaaaaaaaaafaaaaaaaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJgaBTaBTaDpaDqaDraDraDraDraDraDraJhaDraDyaJiavYaBYaxmaJjaJkaJkaJkaJkaJkaJkaJkaJlaxmayGaJmaJnaJmayGayGaJoaJpaJqaARaARaARaARaJqaJraJsaASaJtaJuaJuaJvaJwaJvaJuaJuaJxaxAaJyaxHaJzaxHaJAaJAaJBaxHaJCaJDaxWaxWaxWaAsaEaaAsaxWaxWaxWaIoaIoaIoaJEaIsaIsaIsaIsaIsaJFaIoaIoaIoaIwaJGaIyaJHazlazlazlazlazlazlazlazlazlazlaJIaJJaJKaJLaJMaJNaJOaJPaIEaJQaIGaJRaJSaJRaIJaJTaJUaIJaJVaIJaJWaJXaJYaJZaKaaKaaKaaKbaKcaKdaHqaHraEyaKeaIQaKfaISaITaKgaEyaKhaKiaKjaKkaKlaKmaKnaKoaKpaKqaKraDlaHFaKsaGraaaaafaafaafaafaafaafaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJgaBTaBUaBTaBVaBVaBVaBVaBTaBUaKtaKuaquaKvaxmaKwaKxaKxaKyaKxaKzarxaKAaKBaxmaKCaKDaKEaKEaKFaKEaKGaKHaKEaKEaKEaKEaKEaKEaKEaKIaKJaKKaKLaKMaKMaKNaKOaKMaKMaKMaKPaKQaKRaKNaKMaKMaKMaKSaGSaKTaIsaKUaKVaItaIuaIuaIuaIraIsaIsaKWaIsaKXaKYaKZaLaaLbaLcaLdaLeaIsaIsaKWaLfaLgaLhaLiaLjaLkaLlaLmaIsaLnaIsaBraLoaLpaLqaJJaLraLsaLtaLuaLvaLwaIEaLxaLyaLzaLAaLBaIJaLCaJUaLDaLEaIJaHqaLFaLGaLHaLIaLJaLKaLLaLMaLNaHqaHraEyaLOaLPaLQaLRaLSaLTaEyaLUaLVaEBaLWaLWaLWaLWaEBaLXaDjaKraDlaBRaBRaBRaLYaLYaLYaLZaLZaLZaafaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafavYayxavYaafaafaaaaaaavYayxavYaafaquaAIaMbaKwaMcaMdaMeaMeaMfarxaMgaKBaMhaMiaKDaMjaMkaMlaMmaMnaMoaKEaKEaKEaKEaKEaKEaKEaKIaKEaKDaKEaKEaKEaMpaMqaMraMraMraMraMsaMraMtaMraMraMuaKDaGSaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaKWaIsaMvaMwaMxaMyaMzaMAaMBaMCaIsaIsaKWaIsaIsaIsaIsaIsaIsaIsaIsaIsaMDaIsaBraLqaLqaLqaMEaMFaMGaMHaMIaMJaMKaIEaMLaIGaMMaIEaIEaIJaMNaJUaMOaLEaMPaIJaHqaHqaHqaHqaHqaHqaMQaMRaVmaHqaHraEyaMTaHtaMUaMVaHtaMWaEyaEBaEBaEBaEBaEBaEBaMXaEBaECaRBaEDaDlaMYaMZaBRaNaaNbaNcaNdaNeaLZaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafazFaquavYatMavYavYavYavYavYavYatMavYavYaquaBYaxmaKwaNfaNgaMeaMeaMfarxaNhaKBaxmaMiaKDaKEaNiaNjaNjaNjaNkaNlaNmaNjaNnaNjaNjaNjaNoaNjaNpaNjaNjaNjaNqaNraNsaNtaNtaNuaNvaNwaNxaNyaKEaNzaKDaGSaIsaNAaIsaNBaNBaNBaNBaNBaNBaNBaNBaNCaNBaNBaNBaNBaNBaNBaNBaNBaNBaNBaNBaNDaNBaNBaNBaNBaNBaNBaNBaNBaIsaIsaIsaBraNEaNEaNEaNEaNEaNFaNGaJNaLvaNHaIEaNIaNJaNKaIEaNLaIJaNMaNNaNOaLEaNPaIJaHqaNQaNRaNSaNTaNSaNUaNVaNWaHqaHraEyaNXaNXaNYaNZaOaaOaaObaEyaOcaOdaOeaBRaOfaOgaOhaECaECaOiaOjaBRaOkaBRaOlaOmaOnaOnaOoaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxavYayxavYaOpaOqaOraOsavYayxavYaOtaOuaOvaxmaKwaOwaOwaKyaOwaKzarxaOxaKBaxmaOyaOyaOyaOzaOyaOAaOAaOAaOAaOAaOBaOCaOAaODaOAaOAaOAaOEaOFaOGaOFaOHaOIaOJaKEaKEaOKaOLaOMaONaKHaKEaNzaOOaOOaIsaIsaItaIoaIoaIoaIoaIoaIoaIoaIoaOPaOQaORaOSaORaORaORaOTaORaOUaORaOVaOPaIoaIoaIoaIoaIoaIoaIoaIoaIraIsaIsaIEaOWaOXaOYaOYaOYaOYaOYaJNaOZaOYaIEaPaaPbaPcaIJaIJaIJaPdaPeaIJaIJaIJaIJaHqaNSaPfaPgaPgaPgaPhaPiaNSaHqaHraEyaPjaHtaNYaNZaHtaHtaPkaEyaPlaPmaPnaBRaECaPoaPpaPqaPqaPraPsaPtaPuaBRaPvaPwaOnaPxaOnaPyaPzaPzaPyaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafavYaPAaxmavZaOvaxmaxmaPBavZaxmaPAaOvaxmaxmaxmaPCaPDaPDaPDaPDaPDaPDaPDaPEaxmaOyaPFaOyaPGaOAaPHaPIaPJaPKaPLaPIaPMaPNaPOaPPaPQaPRaOEaPSaPTaPUaOHaPVaOJaOJaPWaOJaOJaOOaPXaPYaPZaQaaOOaOOaQbaIsaItaIoaaaaaaaaaaaaaaaaaaaaaaOPaQcaQdaQeaQfaQgaQhaQiaQjaQkaQlaQmaOPaaaaaaaaaaaaaaaaaaaaaaIoaIraIsaQnaIEaQoaOYaOYaOYaOYaOYaQqaJNaOZaQraQsaJNaQtaQuaIJaQvaQwaQxaQyaQzaQAaQBaQCaIJaNSaQDaQEaQEaQEaQFaQGaNSaHqaQHaEyaQIaQIaNYaNZaQJaQJaQKaEyaEyaQLaEyaBRaQMaOgaOhaQNaQNaOiaOjaBRaBRaBRaLZaQOaQPaQQaLZaLZaLZaLZaQRaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavYayxavYaagaagaagaagavYayxavYaaaaquaAIaMbaKwaMcaMdaMeaMeaMfarxaMgaKBaMhaMiaKDaMjaMkaMlaMmaMnaMoaKEaKEaKEaKEaKEaKEaKEaKIaKEaKDaKEaKEaKEaMpaMqaMraMraMraMraMsaMraMtaMraMraMuaKDaGSaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaKWaIsaMvaMwaMxaMyaMzaMAaMBaMCaIsaIsaKWaIsaIsaIsaIsaIsaIsaIsaIsaIsaMDaIsaBraLqaLqaLqaMEaMFaMGaMHaMIaMJaMKaIEaMLaIGaMMaIEaIEaIJaMNaJUaMOaLEaMPaIJaHqaHqaHqaHqaHqaHqaMQaMRaVmaHqaHraEyaMTaHtaMUaMVaHtaMWaEyaEBaEBaEBaEBaEBaEBaMXaEBaECaRBaEDaDlaMYaMZaBRaNaaNbaNcaNdaNeaLZaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafaafaafaafazFaquavYatMavYavYavYavYavYavYatMavYavYaquaBYaxmaKwaNfaNgaMeaMeaMfarxaNhaKBaxmaMiaKDaKEaNiaNjaNjaNjaNkaNlaNmaNjaNnaNjaNjaNjaNoaNjaNpaNjaNjaNjaNqaNraNsaNtaNtaNuaNvaNwaNxaNyaKEaNzaKDaGSaIsaNAaIsaNBaNBaNBaNBaNBaNBaNBaNBaNCaNBaNBaNBaNBaNBaNBaNBaNBaNBaNBaNBaNDaNBaNBaNBaNBaNBaNBaNBaNBaIsaIsaIsaBraNEaNEaNEaNEaNEaNFaNGaJNaLvaNHaIEaNIaNJaNKaIEaNLaIJaNMaNNaNOaLEaNPaIJaHqaNQaNRaNSaNTaNSaNUaNVaNWaHqaHraEyaNXaNXaNYaNZaOaaOaaObaEyaOcaOdaOeaBRaOfaOgaOhaECaECaOiaOjaBRaOkaBRaOlaOmaOnaOnaOoaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafarxavYayxavYaOpaOqaOraOsavYayxavYaOtaOuaOvaxmaKwaOwaOwaKyaOwaKzarxaOxaKBaxmaOyaOyaOyaOzaOyaOAaOAaOAaOAaOAaOBaOCaOAaODaOAaOAaOAaOEaOFaOGaOFaOHaOIaOJaKEaKEaOKaOLaOMaONaKHaKEaNzaOOaOOaIsaIsaItaIoaIoaIoaIoaIoaIoaIoaIoaOPaOQaORaOSaORaORaORaOTaORaOUaORaOVaOPaIoaIoaIoaIoaIoaIoaIoaIoaIraIsaIsaIEaOWaOXaOYaOYaOYaOYaOYaJNaOZaOYaIEaPaaPbaPcaIJaIJaIJaPdaPeaIJaIJaIJaIJaHqaNSaPfaPgaPgaPgaPhaPiaNSaHqaHraEyaPjaHtaNYaNZaHtaHtaPkaEyaPlaPmaPnaBRaECaPoaPpaPqaPqaPraPsaPtaPuaBRaPvaPwaOnaPxaOnaPyaPzaPzaPyaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavYaPAaxmavZaOvaxmaxmaPBavZaxmaPAaOvaxmaxmaxmaPCaPDaPDaPDaPDaPDaPDaPDaPEaxmaOyaPFaOyaPGaOAaPHaPIaPJaPKaPLaPIaPMaPNaPOaPPaPQaPRaOEaPSaPTaPUaOHaPVaOJaOJaPWaOJaOJaOOaPXaPYaPZaQaaOOaOOaQbaIsaItaIoaaaaaaaaaaaaaaaaaaaaaaOPaQcaQdaQeaQfaQgaQhaQiaQjaQkaQlaQmaOPaaaaaaaaaaaaaaaaaaaaaaIoaIraIsaQnaIEaQoaOYaOYaOYaOYaOYaQqaJNaOZaQraQsaJNaQtaQuaIJaQvaQwaQxaQyaQzaQAaQBaQCaIJaNSaQDaQEaQEaQEaQFaQGaNSaHqaQHaEyaQIaQIaNYaNZaQJaQJaQKaEyaEyaQLaEyaBRaQMaOgaOhaQNaQNaOiaOjaBRaBRaBRaLZaQOaQPaQQaLZaLZaLZaLZaQRaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaavYaQSaQTaQTaQTaQTaQTaQTaQTaQTaQSaQTaQUaxmaxmaMiaxmaQVaQWaxmaQXaQYaxmaQZaRaaOyaRbaOyaPGaOAaRcaPIaRdaPIaPIaPIaPMaReaPIaPIaPIaPRaOEaRfaPTaPTaOHaPVaOJaRgaRhaRhaRiaOOaRjaRkaRlaRmaRnaRoaIsaIsaItaIoaaaaaaaaaaaaaOPaOPaOPaOPaRpaRqaRraRsaRtaRuaRvaRwaRxaRyaRzaOPaOPaOPaOPaaaaaaaaaaaaaIoaIraIsaIsaRAaOYaRCaRDaREaREaRFaRGaRHaRIaRJaRKaRLaRMaRNaROaRPaRPaHGaRRaRSaRSaRTaRPaRUaRVaRWaRXaRYaRZaSaaQGaNSaHqaHraEyaHtaHtaNYaNZaHtaHtaHtaSbaScaHtaSdaBRaSeaSfaSgaQNaQNaShaSiaSjaBRaSkaSlaPwaOnaSmaOnaSnaPzaPzaSoaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaquaquavYavYavYavYavYavYavYavYaquaquarxaMiaSpaSqaSqaSraSqaSqaSqaSsaSqaSqaSqaOyaRbaStaSuaOAaSvaPIaSwaSxaSyaSzaSAaSxaPIaPIaPIaSBaOEaSCaSDaSEaOHaPVaOJaSFaSGaSHaSIaOOaSJaSKaSLaSMaSNaRoaIsaIsaItaIoaIoaIwaSOaOPaOPaSPaSQaSRaSSaSTaSUaSVaSWaSUaSXaSUaSUaSYaSZaTaaTbaTcaOPaOPaSOaIwaIoaIoaIraIsaIsaIEaTdaJNaOYaOYaOYaOYaTfaOYaTgaThaTiaTjaTkaTlaTmaTnaToaTpaTqaTraTsaTtaTnaTuaTvaTwaTxaTyaTzaTxaTAaTBaHqaHraEyaTCaTCaNYaNZaTDaHtaHtaTEaHtaTFaTGaBRaTHaTIaTJaQNaQNaTKaTLaECaBRaTMaOnaPwaOnaSmaTNaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOavYayyaxnaTPaSqaTQaTRaTSaTTaTSaTUaTQaTSaSqaRbaRbaTVaTWaOAaTXaPIaTYaTZaUaaUbaUcaSxaPIaPIaPIaPRaOEaOEaOEaOEaOHaPVaOJaOJaOJaOJaOJaOOaUdaRlaRlaRlaRlaRoaIsaIsaItaIuaIuaUeaUfaUgaOPaUhaUiaUjaUkaUlaUkaUmaUnaUoaUpaUqaUraUsaUqaUtaUuaUvaOPaUwaUfaUxaUyaIuaIraIsaIsaRAaOYaJNaQpaOYaUzaOYaQpaOYaOZaQraUAaOYaOYaOYaUBaUCaUDaUEaUFaUGaUHaUIaUJaIJaUKaULaUMaQEaUNaQEaUOaUPaHqaUQaEyaEyaEyaNYaNZaURaUSaHtaUTaUUaKfaUVaBRaECaUWaSgaQNaQNaShaUXaUYaBRaUZaOnaPwaVaaVbaVcaLZaaaaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -6592,7 +6593,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaWPatMaWPaxmaxmaSqaWQaWRaWSaWSaWSaWTaWUaWVaSqaWWaRbaVoaWXaWXaWXaWYaWZaWXaXaaXbaXcaXdaXeaXeaXfaXgaOAaXhaXiaXjaXkaXlaXmaXmaXnaXoaXoaXpaXpaXpaXpaXpaXqaOOaIsaIsaXraXsaXtaXuaXvaXwaOPaXxaXyaXzaXAaXBaXCaXCaXDaXEaXFaXGaXHaXIaXJaXzaXKaXxaOPaXwaXvaXLaXMaXsaXNaIsaIsaRAaOYaXOaTeaOYaOYaOYaTeaOYaOZaOYaQraQraOYaOYaXPaXQaXRaUCaUCaUCaUCaXSaXTaIJaXUaXVaQEaXWaXXaXYaXVaXZaHqaYaaYbaYbaYcaYdaYeaYfaYgaYhaYfaYfaYfaYiaYjaYkaYlaYlaYlaYlaYlaYmaYnaYjaYoaYpaYqaYraOnaYsaLZaaaaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOavYavYavYaBYaxmaYtaTQaYuaWSaWSaWSaYvaYwaTQaSqaYxaYyaVoaWXaYzaYAaYBaYCaWXaYFaYEbeSaOAaYGaYHaYIaSwaOAaYJaYKaYLaYLaYLaYLaYMaYLaYLaYNaYOaYOaYOaYPaYOaYQaYRaKWaKWaYSaYTaYTaYTaYTaYTaYTaYUaYVaYWaYXaXDaYYaYZaYZaZaaZbaYZaYYaXFaZcaZdaZeaZfaZdaZdaZdaZdaZdaZdaZgaKWaKWaIEaZhaZiaZjaZkaOYaOYaOYaZlaZmaZnaOYaZoaZpaZqaIJaIJaIJaZraZsaZsaZsaIJaIJaIJaZtaQEaQEaMSaZuaZvaZwaMSaHqaZxaYbaZyaEyaZzaZAaZBaZCaZDaZEaTEaUSaZFaBRaZGaECaZHaQNaQNaZHaECaZIaBRaZJaZKaZLaSmaOnaOoaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOavYaZMaOvaZNaSqaTSaZOaTSaTQaZPaZQaZRaTSaSqaZSaZTaZUaWXaWXaWXaZVaZWaWXaZXaZYaZZaOAaYGaYHaYIaSwaOAaYJaYKaYLbaababbabbabbacaYLbadbaebafbagaYRaYRaYRaYRaIsaIsbahbaibajbakbalbambanbaobapbaqbarbasaYZaYZbatbaubataYZaYZbavbawbaxbaybazbaAbaBbaCbaDbaEaZdaXNaIsaIsaIEaIEaIEaIEaIEbaFaRAbaFbaGbaHaIEaIEaIEaIEaIEbaIbaJbaJbaJbaJbaJbaJbaKbaJbaIaMSbaLbaLaMSbaMaYbaYbaYbbaIaZxaYbaZyaEyaEyaEybaNbaObaNaEybaNaEyaEyaBRaBRbaPbaPbaPbaPbaPbaPaBRaBRbaQaOnbaRaSmaOnaOnaSoaPzaPzaSoaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaafaafaquaquavYavYavYavYavYavYavYavYaquaquarxaQVaxmaSqaSqaSraSqaSqaSqaSsaSqaSqaSqbaSbaTbaUaWXbaVbaWaZVbaXaWXbaYbaZbaYaOAaYGaYHaYIaSwaOAaYJaYKaYLbabbbabbababbbaaYLbadbbbbbcbbcbbdbbebbfaYRbbgaIsaXrbbhbbibbjbbkbblbblbbmbbnbbobarbbpaYZaYZbatbbqbataYZaYZbbrbawbbsbbtbbubbvbbwbbxbaEbbyaZdaXNbbzaIsaGSbbAaYbaYbaYbaYbaYbaYbaYbaYbbbBaYbaYbaYbaYbbbCaYbaYbaYbaYbaYbaYbaYbaYbbbAaYbaYbaYbaYbbaMaYbaYbaYbbbDbbEaYbaYbbbFaYbaYbaYbbbGaYbaYbaYbaYbaYbbbCbbHaYbaYbaYbaYbaYbaYbbbAbbIaSlaOnbbJbbKbbLbbMaLZaLZaLZaQRaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaquaquavYavYavYavYavYavYavYavYaquaquarxaQVaxmaSqaSqaSraSqaSqaSqaSsaSqaSqaSqbaSbaTbaUaWXbaVbaWaZVbaXaWXbaYbaZbaYaOAaYGaYHaYIaSwaOAaYJaYKaYLbabbbabbababbbaaYLbadbbbbbcbbcbbdbbebbfaYRbbgaIsaXrbbhbbibbjbbkbblbblbbmbbnbbobarbbpaYZaYZbatbbqbataYZaYZbbrbawbbsbbtbbubbvbbwbbxbaEbbyaZdaXNbbzaIsaGSbbAaYbaYbaYbaYbaYbaYbaYbaYbbbBaYbaYbaYbaYbbbCaYbaYbaYbaYbaYbaYbaYbaYbbbAaYbaYbaYbaYbbaMaYbaYbaYbbbDbbEaYbaYbbbFaYbaYbaYbbbGaYbaYbaYbaYbaYbbbCbbHaYbaYbaYbaYbaYbaYbbbAbbIaSlaOnbbJbbKbbLbbMaLZaLZaLZaQRaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavYawcawbawbawbawbawbawbawbawbawcawbbbNbbOaxmbbPaStbbQaXmaXmaXmbbRbbSbbTaOybbUbbVbbWaWXaWXaWXbbXbbYaWXaOAaOAaOAaOAaYGaYHbbZbcaaOAaYJaYKaYLbabbcbbabbbabccaYLbadbcdbbcbbcbbcbcebcfaYRbcgaIsaXrbbhbchbbjbcibcjbckbclbcmbcnbarbcobataYZbcpbcqbcpaYZbatbcrbawbcsbctbcubcvbcwbbxbaEbaEaZdbcxaIsaIsaGSbbAaYbaYbaYbaYbaYbaYbaYbaYbbcyaYbaYbaYbaYbaYbaYbbczbcAbcAbcAbcBaYbaYbbbAaYbaYbaYbaYbbaMaYbaYbbcCaWzbcDaWzaWzaWzaWzaWzaWzbcEaWzaWzaWzaWzaWzaWzaWzaWzaWzaWzaWzaWzbcFbcGbcHbcIbcIbcJaSmaOnaOnbcKaPzaPzbcKaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafavYaxlaxmaxlaxnaxmaxmaxoaxlaxmaxlaxnaxmbcLaHKbcMbcNbcObcMbcMbcMbcPbcQaOyaOyaOybcRaVoaWXaYzbcSbcTbcUaWXbcVbcWbcVaOAaOAaOAbcXbcYaOyaYJaYKaYLbcZbabbbabdabdbaYLbadaYRbdcbbcbbcbddbdebdfbdgaIsaXrbbhbdhbbjbcibdibdjbdkbbnbbjbarbdlbdmaYZbdnbdobdpaYZbdqbdrbawbdsbdtbdubdvbdvbdwbaEbdxaZdbdybdzaIsaGSbbAaYbaYbbdAaYbbdBbdCbdCbdCbdDbdCbdCbdCbdEaYbaYbaYbaYbaYbaYbbdFbdGbdHbbAaYbaYbaYbaYbbaMbdIbdJbdKbdLbdMaYbaYbaYbaYbaYbbdNbdOaYbaYbaYbaYbaYbaYbaYbaYbaYbaYbaYbaYbaYbbbAbdPbdQbdRbdSaSmaOnaOoaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxavYbdTavYaBYaxmaxmbdUavYbdVavYayCbdWbdXbdXbdYbdZbeabebbecbedbeebefbegbehbehbeibejaWXaWXaWXbekbelaWXaOyaOyaOyaOybemaVzbenbeoaVzbepaYKaYLbeqbabbabberbesaYLbetaYRbeubbcbbcbevbewbexbeyaIsaXraYTbbjbezbbkbbkbeAbbmbbnbeBbeCaXCbeDbeEbeFbeFbeFbeGbeHaXHbeIbeJbeKbeLbeMbaEbeNbaEbeOaZdaXNaIsaIsbePbePbePbePbePbePbePbeQbhcbhcbhdbeTbeTbeQbeUbeUbeUbeUbeUbeVbeVbeWbeXbeVbeVbeVbeVbeYaYbbeZbfabfbbfcbfdaYbaYbaYbbfebfebffbffbffbffbffbfgbfhbfhbfhbfibfhbfjbfkbfhbfhbflbfmbfmbfmbfmbfnbfobfpbfqaLZaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -6612,64 +6613,64 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaafaaaaaaaaabljbljbljbljbljbljbljaaaaafaaaaaaaafaaaaaaaafaaabwBbxDbxEbxFbxGbxHbxIbwDbxJbxKbxLbxMbxNbxObxPbxQbxRbvjbsIbrcaIsaIsaIsbxSaLmbxTaKWbxUbxVbxWaWjaWjaWjbxXbxYbxZbyabybaIsaIsaIsaIsaLmaIsaKWaIsaIsaIsbxSaIsbvAaIsbycbuqbydbyebyfbygbyhbuqbyibyjbykbylbwWbwXbwXbymbynbyobwWbhFbypbtkbrVbyqbyrbysbxjbytbyubyvbywbnxbnxbfcbyxbxmbyybyzbyAbyBbyCbyDbxmbyEbyFbyGbyHbyIbxrbyJbyKbyLbyMbyNbyObyPbyQbyRbySbxAbyTbyTbyTbyTbyTbyTbyTbpnbtHbgSbsybszbjJaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaafaaaaafaaaaaaaaaaaaaafaaaaaaaaabljbljbljbljbljbljbljaaaaafaaaaaaaafaaaaaaaafaaabwDbyUbyVbyWbyXbyYbyZbzabzbbzcbzdbzebzfbzgbzhbxQbzibvjbsIbzjaIsaIsaIsaIsaIsaIsaKWaIsbrcaIsaIsaIsaIsaIsbzkbzlbzmaIsaIsaIsaIsaIsaIsaIsaKWbznaIsaIsaIsaIsbvAbzobzpbulbzqbzrbzsbzrbztbuqbzubvIbvJbzvbuqbzwbzxbzybzzbzAbuqbhFbkubtkbtkbtkbtkbtkbnxbnxbnxbnxbnxbnxbzBbgDbzCbxmbzDbzEbzFbzGbzHbzIbxmbzJbzKbzLbzMbzNbxrbyJbzObzPbzQbzRbzSbzSbzSbzTbzUbxAbyTbzVbyTbzWbyTbyTbyTbpnbtHbgSbsybszbjJbjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaabljbljbljbljbljaaaaaaaafaaaaaaaafaaaaaaaafaaabwBbzXbzYbzZbAabAbbAcbwDbxKbxKbAdbAebvkbAfbAgbAhbAibvjbAjbAkbAlbAlbAlbAmbAlbAlbAnbAlbAoaIsbApbAqbArbArbAsbAtbAubAvbAwbAxaWjaWjbAyaWjbAzbAAaWjbABbACbADbAEaIsaIsbuqbALbAJbEwbupbExbuqbupbAKbHjbuqbuqbuqbuqbuqbuqbuqbuqbhFbkubgsbAMbANbAObAPbAQbARbASbATbAUbAQbzBbgDbAVbxmbAWbAXbAYbAZbBabBbbxmbBcbBdbBebBfbBgbxrbyJbBhbBibuRbBjbBkbBlbBmbBnbBobxAbyTbyTbyTbBpbyTbyTbyTbpnbtHbqObBqbqQbqRbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaafaaabwBbwBbwDbwDbwDbwDbwBbwBbBrbBsbBtbBubvjbvjbvjbvjbvjbvjbBvbBwaIwaIwaIwaIwbBxbBxbBxbBxbBxbBxbBxbBxbBxbBxbBybBzbBAbBBbBBbBBbBBbBBbBCbBBbBBbBDbBBbyxbBEbyxaIxaJGbBFbuqbBGbBHbBIbBJbBKbuqbBLbyjbBMbBNbBObBPbBQbBRbBSbBTbAIbBUbBVbBWbBWbBXbBYbBZbCabCbbCcbCdbCebAQbzBbgDbCfbCfbCfbCfbCfbCfbCfbCfbCfbCgbCgbCgbCgbCgbCgbChbCibCjbuRbuRbuRbuRbuRbuRbuRbxAbpnbpnbpnbpnbpnbpnbpnbpnbtHbgSbCkbClbjJbjJaafaafaafaagaagaagaagaagaagaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafbCmbCnaafaafaagaafaaaaafaaaaaaaaaaafaaaaouaaaaaaaaaaafaaaaaabwEbCpbCqbCrbCsbCtbCubCvbCwbCxbCybCzbCAaaaaaaaafaaabBxbCBbCCbCDbCEbCFbCGbCHbCIbCJbCKbCLbCMbBBbCNbCObCPbCQbCRbCQbCQbCSbCTbCUbCVbyxbyxbyxbyxbuqbCWbCXbCYbCXbCZbuqbDabvIbDbbDcbDdbDebDdbDdbDfbDgbDhbDibDjbDjbDjbDkbDlbvEbDmbDnbDobDpbDqbAQbzBbgDbCfbDrbDrbDrbDsbDrbDrbDrbCfbDtbDtbDubDtbDtbCgbDvbDwbqDbDxbDybDzbDAbDBbDCbDDbDEbDFbDGbDHbDIbDJbDKbDLbDLbDMbDNbDybDybjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaagaagaagaagbDOaagaafaafaaaaaaaaabDPbDQcuybDQbDSaaaaafaaabwEbwEbDTbxKbDUbDVbDWbDXbDYbDYbDZbEabEbbEcaafbEdbEebEfbEgbEhbEibEjbEibEkbEibEibEibBxbElbEmbEnbBBbEobEpbEqbErbEsbCQbEtbBDbBBbEubEvbHkbHlbEybEzbEAbEBbCXbECbCXbyjbEDbEEbEFbEGbuqbEHbEIbCXbCXbEJbEKbnobnobnobnobnobELbEMbqbbENbEObEPbCdbEQbAQbzBbgDbCfbDrbDrbDrbDrbDrbDrbDrbCfbERbESbETbEUbEVbCgbEWbEXbEYbEZbFabFbbFcbFdbFdbFdbFdbFebFfbFgbDIbjJbFhbFibFjbFjbFkbFlbFmaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFnbFobFnaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaagaafbFpaafaagaagaagaagaagaagaaaaaaaaabFqbFrbFsbFrbFqbFtbFtbFtbwEbFubxKbFvbFwbFxbFybwEbBwbFzbBwbBwbFAbFBaaabFCbFDbFEbFFbEibEibFGbEibFHbFIbFJbEibBxbElbFKbFLbBBbFMbFNbFObFPbFQbCQbFRbBDbzBbFSbFTbFUbFTbFVbFWbuqbFXbDdbFYbDdbFZbulbGabDebGbbuqbGcbCXbCXbCXbGdbGebnobGfbGgbGhbGibBXbGjbvEbGkbCdbCdbGlbGmbGnbGobGpbCfbDrbDrbDrbDrbDrbDrbDrbCfbGqbGrbGsbGtbGubGvbGwbGxbtvbGybGzbFdbGAbFdbFdbFdbFdbFdbFdbFdbDIbGBbGCbGDbGEbGFbGGbGHbFmaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFobFnbGIbFnbFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbCmaagaagaagaagaagaagaagaafaagaagaagaafaaaaaaaaacuybGJbGKbGJcuybFtbGLbGMbwEbGNbxKbGObxKbxKbFybwEbGPbGQbGRbBwbFAbFBaafbFCbGSbGTbGUbGVbGWbGVbGVbGXbGYbGVbGVbGZbHabHbbHcbBBbHdbBBbBBbBBbBBbHebHfbHgbHhbHibHKbHmbKkbKibKibuqbHnbHobHpbHqbHrbuqbHsbHtbHubuqbHvbHwbHxbHybHzbHAbnobHBbHCbqabHDbHEbHFbHGbDmbHHbCdbCdbHIbAQbzBbgDbCfbCfbHJbDrbDrbKDbHJbCfbCfbHLbHMbHNbHObHPbCgbHQbHRbtvbHSbHTbHUbHUbHVbHWbHXbHUbHYbHZbIabIbbIcbIdbIebIfbIgbIhbIibFmaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbIjbFobIkbIlbImbFobIjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaafaaaaagaagaagbCnaagbInaagaagbIoaagaafaafaaaaaaaaabFqbGJbGJbGJbIpbIqbxKbxKbIrbGNbxKbxKbxKbxKbFybwEbIsbGRbItbBwbFAbFBaaabFCbIubIvbIwbEibEibIxbEibIybIzbIAbIBbBxbICbIDbIEbIFbIGbIHbIHbIHbIHbIHbIIbIHbIJbIKbILbIMbINbIObIPbulbulbulbulbulbulbulbulbulbulbulbulbulbulbulbulbIQbnobnobnobnobnobIRbISbhEbAQbAQbAQbAQbAQbAQbzBbgDbCfbITbIUbIVbIWbIXbIYbITbIZbHLbHMbHNbJabJbbJcbJdbJebuPbJfbDybJgbJgbJhbJibJjbJkbFdbFdbJlbDIbJmbJnbJobDybJpbLQbLQbDyaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaafbFobFobJqbJrbJrbJrbJsbFobFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaagaagaafaafaagaagbJtaagaagaagaagaafaaaaaaaaacuybGKbGKbGKcuybFtbJubJvbJwbJxbxKbxKbJybJzbJAbwEbBwbBwbBwbBwbFAbEcaafbJBbEebJCbEgbJDbEibJEbEibEibEibEibEibBxbElbJFbJGbJHbJIbJIbJIbJIbJIbJIbJJbJKbJLbJMbJNbJObJPbJQbJRbJSbJTbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJUbJVbnobHBbJWbBWbJXbBXbJYbJZbKabKbbKbbKcbKdbJMbKebKfbCfbKgbKhbNMbKjbOXbKlbKmbIZbIZbIZbIZbIZbIZbKnbKobKpbKqbKrbDybDIbDIbDIbDIbDIbDIbKsbFdbFdbDIbjJbFhbgSbDybKtbKubKvbKwaagaagaaaaafaafaafaafaaaaafaafaaaaafaafaafaaaaafaafaafaafaaaaafaafbKxbKybKxbJrbKzbJrbKAbKBbFnaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCmaagaagaagaagaagaagaafaagaafaafaagaagaafaaaaaaaaabFqbKCbVtbKEbFqbFtbFtbFtbwEbwEbFtbFtbFtbwEbwEbwEaaaaaaaaabKFbKGbFBaaaaaaaafaaabBxbKHbKIbKJbEibKKbKLbKMbKNbKObKPbKQbKRbKSbKTbKUbKVbKWbKXbKTbKTbKTbKTbKTbKYbKZbKTbKTbLabKTbLbbKTbKTbKTbKTbKTbyxbyxbyxbyxbyxbyxbyxbyxbLcbLdbnobLebLfbLgbLhbLibLjbLkbLlbLmbLmbLnbLmbLmbLobLpbCfbLqbLrbLsbLrbLtbLrbLubLvbLwbLxbLybLzbLAbXNbyJbHRbqDbLCaafbLDbLEbLFbLGbLHbLGbLIbLJbLKbDIbLLbtHbLMbDybDybDybDybDyaafaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaafbFobFobLNbJrbJrbJrbLObFobFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaafaagaagaagaagaagabpaaaaafaafaafaaaaaaaaabLPbDQbXQbDQbLRaaaaafaaaaafaagaafaaaaafaagaafaaaaaaaaaaafbKFbFAbFBaafaafaafaafbBxbBxbBxbBxbBxbBxbBxbBxbBxbBxbLSbLTbLUbLVbKTbKUbKVbKWbKXbLWbLWbLXbLYbLZbMabMbbMcbMdbMebMfbMgbMhbMibMjbMkbMlbMmbMmbMmbMmbMmbMmbMnbyxbLcbMobMpbMpbMpbMpbMpbMqbMrbMsbMpbMpbMpbMpbMpbMpbMobMtbMubMvbMwbMxbMwbMybMzbMAbMBbMBbMBbMBbMBbMBbMCbMDbMEbqDbLCaafbLDbMFbMFbMGbMHbMIbMJbMKbMLbDIbMMbtHblabjJbMNbMObjJaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaafaafbIjbFobMPbMQbMRbMSbIjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaafaafaafaafaafaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaafaagaafaaaaafaagaafaaaaaaaaaaaabKFbFAbFBaaaaaaaaaaafbMTbMUbMUbMVbMWbMXbMXbMYbMYbMTbElbMZbKRbNabKTbNbbNcbNcbNdbNebLWbNfbNgbNhbNibNjbNkbNlbNmbNnbNobNpbNobNqbNrbNsaafbNtbNtbNtbNtbNtbNubyxbLcbNvbNwbNxbNybNzbMpbNAbNBbNCbMpbNDbNEbNFbNEbNDbMobNGbCfbLrbLrbLrbNHbLrbLrbNIbNJbNKbNKbNLbNKbNKbYEbNNbNObNPbLCaafbLDbMFbNQbLGbNRbLGbNSbNTbNUbDIbszbtHblabjJbszbszbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFobFnbNVbFnbMSaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaagaagaagaafaafaafaafaafaafaafaafaaaaafaaaaafaaaaafaaaaafaaaaafbBwbBwbKFbKFbKFbBwbBwaaaaaaaaaaaabKFbFAbFBaaaaaaaaaaafbMTbNWbMVbMVbMVbMVbMXbNXbNYbNZbOabKQbObbOcbOdbOebOfbOgbOhbOibOjbOfbOfbOfbOhbOkbOlbOmbOnbOobMkbOpbOqbOrbOsbOtbMmbOubOvbOwbOxbNtbNubOybLcbMobOzbNDbNDbNDbMpbOAbOBbOCbMpbNEbODbNEbOEbOFbOGbOHbCfbOIbOJbOKbOLbOMbONbOObOPbOQbORbOSbOTbOUbIZbZCbOWchdbOYbOYbDIbDIbDIbDIbDIbDIbDybDybDybDIbszbtHbOZbszbszbPabjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFnbFobFnaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaagaagaagaagaagaagaagaaaaaaaagaagaagaagaagaagaagaagaafaaaaaabBwbPbbGRbPcbGRbPdbBwaaaaaaaaaaaabKFbKGbFBaaaaafbKFbKFbMTbMVbPebPfbMVbMVbPgbPhbMXbPibElbMZbPjbPkbPlbPmbPnbPobPpbPqcjYbPobPrbPobPsbPtbPubMdbPvbPwbPxbPybPzbPAbPBbPCaafbPDbPEbOxbPFbNtbNubOybLcbMobPGbPHbNDbPIbMpbPJbPKbPLbMpbNDbPMbPNbNDbNDbMobLcbCfbIZbIZbIZbIZbKnbPObPPbPQbKnbIZbIZbIZbIZbIZbPRbPSbPTbPUbPVbPWbPXbPYbPXbPZbOYbQabQbbQcbQdbQebtHblabjJbjJbjJbjJabsaafaafaafaagaagaagaagaagaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaafaafaaaaaaaafaagaafaafaafaafaafaafaafaafaafaafaafaafaafbBwbQfbGRbGRbGRbQgbBwaaaaaaaaaaaabKFbFAbFBaaaaafbKFbQhbQibQjbQkbQlbQlbQlbQlbQlbQmbQnbQobMZbPjbQpbQqbQrbQsbNobQtbQuckabQvbQwbQxbQybQzbQzbQAbQBbMkbQCbQDbQEbQFbQGbQHbQIbOubQJbOxbOxbNtbNubOybLcbMobQKbNDbQLbMqbMpbMpbQMbMpbMpbQNbQObQPbQNbQNbMobLcbCfbQQbQRbQRbQSbQTbLrbQUbQVbQWbQXbDrbDrbDrbIZbQYbQZbRabRbbRcbPWbRdbRebRfbRgbZCbQbbRhbQbbQdbCkbRibRjbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBwbQfbGRbGRbRkbRlbBwaaaaafaaaaaabKFbFAbEcbBwbBwbBwbRmbMTbRnbMVbMVbMVbRobRpbRqbRrbMTbElbMZbPjbQpbPlbRsbRtbNobNobRubLWbRvbRwbRxbRybNobNobMdbRzbRAbRBbRCbRDbREbRDbRFaafbNtbNtbNtbNtbNtbNubyxbLcbMobRGbRHbRHbRIbRJbRKbRLbRMbRNbNDbPMbNDbNDbNDbMobLcbCfbDrbDrbDrbRObRPbLrbRQbLrbRRbRSbDrbDrbDrbIZbRTbRUbRVbRWbRXbRYbRZbSabRYbSbbOYbScbQbbSdbQdbjJbSebSfbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaagaafaafbSgaafaafaafbBwbBwbBwbBwbBwbBwbBwbBwbBwbBwbShbBwbBwbBwbKFbKFbKFbSibSjbSkbSlbSmbSnbSjbSobQnbQnbQnbQnbQnbQnbQnbQnbQnbSpbSqbSrbPjbSsbKTbStbSuckabSvckabLWbNobNobNobRybSwbSxbSxbSybSzbSAbOpbSBbSCbSDbOtbMmbOubSEbSFbSFbNtbNubyxbLcbSGbSHbSHbSHbSIbSJbNDbSKbNDbNDbNDbPMbNDbNDbNDbMobLcbCfbDrbDrbDrbSLbSMbQVbSNbLrbSObSPbQRbQRbSQbIZbSRbSSbPTbSTbSUbPWbRfbSVbRYbSWbOYbSXbSXbSXbQdbSYbSZbSfbjJaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaafaaabwBbwBbwDbwDbwDbwDbwBbwBbBrbBsbBtbBubvjbvjbvjbvjbvjbvjbBvbBwaIwaIwaIwaIwbBxbBxbBxbBxbBxbBxbBxbBxbBxbBxbBybBzbBAbBBbBBbBBbBBbBBbBCbBBbBBbBDbBBbyxbBEbyxaIxaJGbBFbuqbBGbBHbBIbBJbBKbuqbBLbyjbBMbBNbBObBPbBQbBRbBSbBTbAIbBUbBVbBWbBWbBXbBYbBZbCabCbbCcbCdbCebAQbzBbgDbCfbCfbCfbCfbCfbCfbCfbCfbCfbCgbCgbCgbCgbCgbCgbChbCibCjbuRbuRbuRbuRbuRbuRbuRbxAbpnbpnbpnbpnbpnbpnbpnbpnbtHbgSbCkbClbjJbjJaafaafaafaccaccaccaccaccaccaccaccaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaafaafaafaafaafbCmbCnaafaafaagaafaaaaafaaaaaaaaaaafaaaaouaaaaaaaaaaafaaaaaabwEbCpbCqbCrbCsbCtbCubCvbCwbCxbCybCzbCAaaaaaaaafaaabBxbCBbCCbCDbCEbCFbCGbCHbCIbCJbCKbCLbCMbBBbCNbCObCPbCQbCRbCQbCQbCSbCTbCUbCVbyxbyxbyxbyxbuqbCWbCXbCYbCXbCZbuqbDabvIbDbbDcbDdbDebDdbDdbDfbDgbDhbDibDjbDjbDjbDkbDlbvEbDmbDnbDobDpbDqbAQbzBbgDbCfbDrbDrbDrbDsbDrbDrbDrbCfbDtbDtbDubDtbDtbCgbDvbDwbqDbDxbDybDzbDAbDBbDCbDDbDEbDFbDGbDHbDIbDJbDKbDLbDLbDMbDNbDybDybjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaaaaaaaafaafaagaagaagaagaagbDOaagaafaafaaaaaaaaabDPbDQcuybDQbDSaaaaafaaabwEbwEbDTbxKbDUbDVbDWbDXbDYbDYbDZbEabEbbEcaafbEdbEebEfbEgbEhbEibEjbEibEkbEibEibEibBxbElbEmbEnbBBbEobEpbEqbErbEsbCQbEtbBDbBBbEubEvbHkbHlbEybEzbEAbEBbCXbECbCXbyjbEDbEEbEFbEGbuqbEHbEIbCXbCXbEJbEKbnobnobnobnobnobELbEMbqbbENbEObEPbCdbEQbAQbzBbgDbCfbDrbDrbDrbDrbDrbDrbDrbCfbERbESbETbEUbEVbCgbEWbEXbEYbEZbFabFbbFcbFdbFdbFdbFdbFebFfbFgbDIbjJbFhbFibFjbFjbFkbFlbFmaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFnbFobFnaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafaafaafaafaagaafbFpaafaagaagaagaagaagaagaaaaaaaaabFqbFrbFsbFrbFqbFtbFtbFtbwEbFubxKbFvbFwbFxbFybwEbBwbFzbBwbBwbFAbFBaaabFCbFDbFEbFFbEibEibFGbEibFHbFIbFJbEibBxbElbFKbFLbBBbFMbFNbFObFPbFQbCQbFRbBDbzBbFSbFTbFUbFTbFVbFWbuqbFXbDdbFYbDdbFZbulbGabDebGbbuqbGcbCXbCXbCXbGdbGebnobGfbGgbGhbGibBXbGjbvEbGkbCdbCdbGlbGmbGnbGobGpbCfbDrbDrbDrbDrbDrbDrbDrbCfbGqbGrbGsbGtbGubGvbGwbGxbtvbGybGzbFdbGAbFdbFdbFdbFdbFdbFdbFdbDIbGBbGCbGDbGEbGFbGGbGHbFmaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFobFnbGIbFnbFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafbCmaagaagaagaagaagaagaagaafaagaagaagaafaaaaaaaaacuybGJbGKbGJcuybFtbGLbGMbwEbGNbxKbGObxKbxKbFybwEbGPbGQbGRbBwbFAbFBaafbFCbGSbGTbGUbGVbGWbGVbGVbGXbGYbGVbGVbGZbHabHbbHcbBBbHdbBBbBBbBBbBBbHebHfbHgbHhbHibHKbHmbKkbKibKibuqbHnbHobHpbHqbHrbuqbHsbHtbHubuqbHvbHwbHxbHybHzbHAbnobHBbHCbqabHDbHEbHFbHGbDmbHHbCdbCdbHIbAQbzBbgDbCfbCfbHJbDrbDrbKDbHJbCfbCfbHLbHMbHNbHObHPbCgbHQbHRbtvbHSbHTbHUbHUbHVbHWbHXbHUbHYbHZbIabIbbIcbIdbIebIfbIgbIhbIibFmaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbIjbFobIkbIlbImbFobIjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaccaafaaaaagaagaagbCnaagbInaagaagbIoaagaafaafaaaaaaaaabFqbGJbGJbGJbIpbIqbxKbxKbIrbGNbxKbxKbxKbxKbFybwEbIsbGRbItbBwbFAbFBaaabFCbIubIvbIwbEibEibIxbEibIybIzbIAbIBbBxbICbIDbIEbIFbIGbIHbIHbIHbIHbIHbIIbIHbIJbIKbILbIMbINbIObIPbulbulbulbulbulbulbulbulbulbulbulbulbulbulbulbulbIQbnobnobnobnobnobIRbISbhEbAQbAQbAQbAQbAQbAQbzBbgDbCfbITbIUbIVbIWbIXbIYbITbIZbHLbHMbHNbJabJbbJcbJdbJebuPbJfbDybJgbJgbJhbJibJjbJkbFdbFdbJlbDIbJmbJnbJobDybJpbLQbLQbDyaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbFobFobJqbJrbJrbJrbJsbFobFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaagaafaagaagaafaafaagaagbJtaagaagaagaagaafaaaaaaaaacuybGKbGKbGKcuybFtbJubJvbJwbJxbxKbxKbJybJzbJAbwEbBwbBwbBwbBwbFAbEcaafbJBbEebJCbEgbJDbEibJEbEibEibEibEibEibBxbElbJFbJGbJHbJIbJIbJIbJIbJIbJIbJJbJKbJLbJMbJNbJObJPbJQbJRbJSbJTbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJUbJVbnobHBbJWbBWbJXbBXbJYbJZbKabKbbKbbKcbKdbJMbKebKfbCfbKgbKhbNMbKjbOXbKlbKmbIZbIZbIZbIZbIZbIZbKnbKobKpbKqbKrbDybDIbDIbDIbDIbDIbDIbKsbFdbFdbDIbjJbFhbgSbDybKtbKubKvbKwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbKybKxbJrbKzbJrbKAbKBbFnaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccbCmaagaagaagaagaagaagaafaagaafaafaagaagaafaaaaaaaaabFqbKCbVtbKEbFqbFtbFtbFtbwEbwEbFtbFtbFtbwEbwEbwEaaaaaaaaabKFbKGbFBaaaaaaaafaaabBxbKHbKIbKJbEibKKbKLbKMbKNbKObKPbKQbKRbKSbKTbKUbKVbKWbKXbKTbKTbKTbKTbKTbKYbKZbKTbKTbLabKTbLbbKTbKTbKTbKTbKTbyxbyxbyxbyxbyxbyxbyxbyxbLcbLdbnobLebLfbLgbLhbLibLjbLkbLlbLmbLmbLnbLmbLmbLobLpbCfbLqbLrbLsbLrbLtbLrbLubLvbLwbLxbLybLzbLAbXNbyJbHRbqDbLCaafbLDbLEbLFbLGbLHbLGbLIbLJbLKbDIbLLbtHbLMbDybDybDybDybDyaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbFobFobLNbJrbJrbJrbLObFobFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaagaagaafaagaagaagaagaagabpaaaaafaafaafaaaaaaaaabLPbDQbXQbDQbLRaaaaafaaaaafaagaafaaaaafaagaafaaaaaaaaaaafbKFbFAbFBaafaafaafaafbBxbBxbBxbBxbBxbBxbBxbBxbBxbBxbLSbLTbLUbLVbKTbKUbKVbKWbKXbLWbLWbLXbLYbLZbMabMbbMcbMdbMebMfbMgbMhbMibMjbMkbMlbMmbMmbMmbMmbMmbMmbMnbyxbLcbMobMpbMpbMpbMpbMpbMqbMrbMsbMpbMpbMpbMpbMpbMpbMobMtbMubMvbMwbMxbMwbMybMzbMAbMBbMBbMBbMBbMBbMBbMCbMDbMEbqDbLCaafbLDbMFbMFbMGbMHbMIbMJbMKbMLbDIbMMbtHblabjJbMNbMObjJaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaafaafbIjbFobMPbMQbMRbMSbIjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaafaagaafaafaafaafaafaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaafaagaafaaaaafaagaafaaaaaaaaaaaabKFbFAbFBaaaaaaaaaaafbMTbMUbMUbMVbMWbMXbMXbMYbMYbMTbElbMZbKRbNabKTbNbbNcbNcbNdbNebLWbNfbNgbNhbNibNjbNkbNlbNmbNnbNobNpbNobNqbNrbNsaafbNtbNtbNtbNtbNtbNubyxbLcbNvbNwbNxbNybNzbMpbNAbNBbNCbMpbNDbNEbNFbNEbNDbMobNGbCfbLrbLrbLrbNHbLrbLrbNIbNJbNKbNKbNLbNKbNKbYEbNNbNObNPbLCaafbLDbMFbNQbLGbNRbLGbNSbNTbNUbDIbszbtHblabjJbszbszbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFobFnbNVbFnbMSaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafaafaafaafaagaagaagaafaafaafaafaafaafaafaafaaaaafaaaaafaaaaafaaaaafaaaaafbBwbBwbKFbKFbKFbBwbBwaaaaaaaaaaaabKFbFAbFBaaaaaaaaaaafbMTbNWbMVbMVbMVbMVbMXbNXbNYbNZbOabKQbObbOcbOdbOebOfbOgbOhbOibOjbOfbOfbOfbOhbOkbOlbOmbOnbOobMkbOpbOqbOrbOsbOtbMmbOubOvbOwbOxbNtbNubOybLcbMobOzbNDbNDbNDbMpbOAbOBbOCbMpbNEbODbNEbOEbOFbOGbOHbCfbOIbOJbOKbOLbOMbONbOObOPbOQbORbOSbOTbOUbIZbZCbOWchdbOYbOYbDIbDIbDIbDIbDIbDIbDybDybDybDIbszbtHbOZbszbszbPabjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFnbFobFnaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaccaccaccaccaccaccaccaccaccaccaccaccaaaaaaaagaagaagaagaagaagaagaagaafaaaaaabBwbPbbGRbPcbGRbPdbBwaaaaaaaaaaaabKFbKGbFBaaaaafbKFbKFbMTbMVbPebPfbMVbMVbPgbPhbMXbPibElbMZbPjbPkbPlbPmbPnbPobPpbPqcjYbPobPrbPobPsbPtbPubMdbPvbPwbPxbPybPzbPAbPBbPCaafbPDbPEbOxbPFbNtbNubOybLcbMobPGbPHbNDbPIbMpbPJbPKbPLbMpbNDbPMbPNbNDbNDbMobLcbCfbIZbIZbIZbIZbKnbPObPPbPQbKnbIZbIZbIZbIZbIZbPRbPSbPTbPUbPVbPWbPXbPYbPXbPZbOYbQabQbbQcbQdbQebtHblabjJbjJbjJbjJabsaafaafaafaccaccaccaccaccaccaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaafaafaaaaaaaafaccaafaafaafaafaafaafaafaafaafaafaafaafaafbBwbQfbGRbGRbGRbQgbBwaaaaaaaaaaaabKFbFAbFBaaaaafbKFbQhbQibQjbQkbQlbQlbQlbQlbQlbQmbQnbQobMZbPjbQpbQqbQrbQsbNobQtbQuckabQvbQwbQxbQybQzbQzbQAbQBbMkbQCbQDbQEbQFbQGbQHbQIbOubQJbOxbOxbNtbNubOybLcbMobQKbNDbQLbMqbMpbMpbQMbMpbMpbQNbQObQPbQNbQNbMobLcbCfbQQbQRbQRbQSbQTbLrbQUbQVbQWbQXbDrbDrbDrbIZbQYbQZbRabRbbRcbPWbRdbRebRfbRgbZCbQbbRhbQbbQdbCkbRibRjbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBwbQfbGRbGRbRkbRlbBwaaaaafaaaaaabKFbFAbEcbBwbBwbBwbRmbMTbRnbMVbMVbMVbRobRpbRqbRrbMTbElbMZbPjbQpbPlbRsbRtbNobNobRubLWbRvbRwbRxbRybNobNobMdbRzbRAbRBbRCbRDbREbRDbRFaafbNtbNtbNtbNtbNtbNubyxbLcbMobRGbRHbRHbRIbRJbRKbRLbRMbRNbNDbPMbNDbNDbNDbMobLcbCfbDrbDrbDrbRObRPbLrbRQbLrbRRbRSbDrbDrbDrbIZbRTbRUbRVbRWbRXbRYbRZbSabRYbSbbOYbScbQbbSdbQdbjJbSebSfbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaccaafaafbSgaafaafaafbBwbBwbBwbBwbBwbBwbBwbBwbBwbBwbShbBwbBwbBwbKFbKFbKFbSibSjbSkbSlbSmbSnbSjbSobQnbQnbQnbQnbQnbQnbQnbQnbQnbSpbSqbSrbPjbSsbKTbStbSuckabSvckabLWbNobNobNobRybSwbSxbSxbSybSzbSAbOpbSBbSCbSDbOtbMmbOubSEbSFbSFbNtbNubyxbLcbSGbSHbSHbSHbSIbSJbNDbSKbNDbNDbNDbPMbNDbNDbNDbMobLcbCfbDrbDrbDrbSLbSMbQVbSNbLrbSObSPbQRbQRbSQbIZbSRbSSbPTbSTbSUbPWbRfbSVbRYbSWbOYbSXbSXbSXbQdbSYbSZbSfbjJaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTabTbbTbbTbbTbbTcbTdbTdbTebTfbTgbThbTibTjbTkbTlbBwbGRbGRbGRbGRbGRbGRbGRbTmbTnbTobTpbTqbTrbTrbTrbTrbTsbTtbTtbTtbTubTtbTvbDYbDYbTwbEcbElbMZbPjbTxbTybTzbTAbSxbSxbTBbTCbSxbSxbTDbTEbTFbNobTGbTHbTIbTJbNobTKbTLbTMbPCaafbPDbTNbTObTPbNtbNubOybTQbTRbTRbTRbTSbMobTTbRGbTUbTVbTWbTXbTYbTZbTZbUabMobLcbCfbIZbIZbIZbIZbUbbUcbRQbUdbUbbIZbIZbIZbIZbIZbUebUfbUgbUhbUibUjbUjbUjbUjbUkbZCbSXbSXbUlbQdbUmbSZbSfbjJbjJbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaaaaafaaaaaabUnbUnbKFbGRbUobUpbUqbUrbUsbBwbUtbKFbKFbKFbKFbKFbKFbKFbKFbEcbUubUvbUvbUvbUvbUvbUvbUvbUvbUwbUwbUwbUwbUwbUxbUybEcbElbMZbPjbTxbUzbUAbUBbUCbQzbUDbUEbQzbQzbUFbUGbUHbUIbUJbUKbULbUMbNobTKbUNbUObQHbQIbOubUPbSFbSFbNtbNubOybUQbyxbyxbyxbOHbMobURbNDbNDbUSbUTbUUbUVbUWbUVbUUbMobLcbCfbQQbQRbQRbUXbQTbLrbQUbQVbUYbUZbDrbDrbDrbIZbVabVbbVcbVdbRUbRWbVebVfbVgbVhbOYbSXbSXbSXbQdbUmbSZbSfbszbszbjJaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaagaagaagaagbVibVjbVkbGRbVlbUpbUpbVmbGRbBwbGRbKFaaaaaaaafaaaaaaaafaaabEcbUubUvbVnbVobVpbVqbVrbVsbVncuebVubVvbVwbUwbUwbUybEcbVxbMZbPjbVybVzbVAbVAbVBbKTbKTbKTbKTbKTbVCbVDbLWbLWbLWbVEbNobTIbNobTKbTLbVFbPCaafbNtbNtbNtbNtbNtbNubOybUQbyxbVGbzBbOHbNvbVHbVIbVJbVKbVLbVMbVNbUWbVNbVObMobLcbCfbDrbVPbDrbVQbRPbLrbRQbLrbRRbVRbDrbVPbDrbIZbVSbVTbVUbVVbVWbVXbVYbVZbWabWbbZCbWcbWdbWebQdbSXbSZbWfbjJbszbjJbjJbjJaagaagaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaccaaaaafaaaaaabUnbUnbKFbGRbUobUpbUqbUrbUsbBwbUtbKFbKFbKFbKFbKFbKFbKFbKFbEcbUubUvbUvbUvbUvbUvbUvbUvbUvbUwbUwbUwbUwbUwbUxbUybEcbElbMZbPjbTxbUzbUAbUBbUCbQzbUDbUEbQzbQzbUFbUGbUHbUIbUJbUKbULbUMbNobTKbUNbUObQHbQIbOubUPbSFbSFbNtbNubOybUQbyxbyxbyxbOHbMobURbNDbNDbUSbUTbUUbUVbUWbUVbUUbMobLcbCfbQQbQRbQRbUXbQTbLrbQUbQVbUYbUZbDrbDrbDrbIZbVabVbbVcbVdbRUbRWbVebVfbVgbVhbOYbSXbSXbSXbQdbUmbSZbSfbszbszbjJaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaccaccaccaccaccbVibVjbVkbGRbVlbUpbUpbVmbGRbBwbGRbKFaaaaaaaafaaaaaaaafaaabEcbUubUvbVnbVobVpbVqbVrbVsbVncuebVubVvbVwbUwbUwbUybEcbVxbMZbPjbVybVzbVAbVAbVBbKTbKTbKTbKTbKTbVCbVDbLWbLWbLWbVEbNobTIbNobTKbTLbVFbPCaafbNtbNtbNtbNtbNtbNubOybUQbyxbVGbzBbOHbNvbVHbVIbVJbVKbVLbVMbVNbUWbVNbVObMobLcbCfbDrbVPbDrbVQbRPbLrbRQbLrbRRbVRbDrbVPbDrbIZbVSbVTbVUbVVbVWbVXbVYbVZbWabWbbZCbWcbWdbWebQdbSXbSZbWfbjJbszbjJbjJbjJaccaccaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbUnbUnbKFbWgbWhbWibWjbWkbGRbWlbGRbKFaaaaaaaafaaaaaaaafaaabEcbUubUvbVnbWmbWnbWobWpbWqbVncufbWrbWsbWtbWubUwbUybEcbElbMZbPjbWvbWwbKTbWxbWybKTbWzbWAbWBbKTbWCbRybWDbLWbWEbUMbNobUKbWFbWGbSCbWHbOtbMmbOubWIbWJbWKbNtbNubyxbUQbyxbAVbzBbOHbMobWLbWMbWNbWObUTbWMbWPbUWbWPbOEbOGbLcbCfbDrbDrbDrbWQbWRbQVbSNbLrbSObWSbQRbQRbSQbCfbQdbWTbWUbWUbQdbQdbWVbWWbWXbWYbWZbXabUjbXbbSXbSXbSZbSfbjJbXcbjJbXdbjJaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbKFbXebXfbXfbXgbUsbXhbBwbKFbKFaaaaaaaaaaaaaaaaaaaaabEcbUubUvbXibXjbXkbWobXlbXibXicufbXmbXnbWtbXobUwbUybEcbElbMZbXpbXqbXqbXrbXsbXtbXubXvbXwbXxbKTbNobRybXybXzbWEbXAbNobUKbWFbTKbTLbXBbPCaafbPDbXCbXDbXEbNtbNubyxbUQbyxbKkbKkbOHbMobMpbXFbXGbMpbXHbMpbMpbMpbMpbMpbMobLcbCfbIZbIZbIZbIZbUbbXIbRQbXJbUbbIZbIZbIZbIZbCfbRYbXKbRYbRYbRYbQdbWVbWWbXLbXMcugbXObVdbXPbQdbSXbSZbSfbjJbszbszbszcdKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafabsabsabsbBwbBwbBwbWlbBwbBwbBwbBwaafaaaaaabXRaaaaaaaaaaaaaaabFBbUubUvbXibXibXScuicuhbXicujcukbXUculbXVculbUwbUybXWbXXbXYbCMbXqbXZbYabYabYbbYcbYdbYebYfbKTbYgbYhbWDbLWbWEbYibNobYjbWFbTKbYkbYlbQHbQIbOubYmbWJbWJbNtbNubOybUQbyxbYnbzBbOHbYobSHbSHbYpbMpbYqbYrbYsbMqbYtbYubLdbLcbCfbQQbQRbQRbYvbQTbLrbQUbQVbYwbYxbDrbDrbDrbCfbYybRYbRYbRYbRYbQdbOVbOVbYzbYAbOYbOYbVdbOYbQdbOYbSZbSfbjJbYBbYCbYDcdKaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabeabdabdabeabdabdabdabpabdabdabdabeabdaafaafbBwbGRbGRbGRbGRbGRbGRbGRbGRbXhbKFaafaaaaaaaafaagbYFaaaaaaaaabFBbUubUvbYGbYHbXTbYIcumcuocunbYKbYJbYLbWtbYMbUwbYNbYObYPbYQbHcbXqbYRbYabYSbYTbYUbYVbYWbYXbYYbOobYZbLWbLWbLWbZabNobZbbZcbTKbTLbNobPCaafbNtbNtbNtbNtbNtbNubOybUQbyxbZdbzBbZebZfbTRbZgbZhbMqbZibZjbZkbMqbZlbLmbZmbZnbCfbDrbDrbDrbZobRPbLrbRQbLrbRRbZpbDrbDrbDrbCfbZqbRYbZrbRYbRYbZsbZtbZubZvbZwbOYbVdbVdbZxbQdbCkbZybZzbjJbZAbZBbszcdKaafaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaabdaaaaaabBwbZDbGRbBwbBwbBwbShbBwbBwbBwbBwaaaaaaaaaaagbZEbZFaagaagaafbFBbUubUvbZGbXibVnbVnbVnbXicupcuqbZHbWtbZIbZJbUwbBwbBwbZKbZLbZMbXqbXqbZNbYabZObZPbZQbZPbZRbKTbNobZSbZTbZUbZVbPvbZWbZXbZYbWGbSCbZZbOtbMmbOucaacabcabbNtbNubOybUQbyxbyxbyxcaccadbyxcaecafbyxbyxcagbyxbyxcafcahcaicajbCfbDrbDrbDrcakcalbQVcambLrbSOcanbQRbQRbSQbCfbRYbRYcaobRYbRYbQdbOVbOVcapcaqbOYcarcascatbQdbppbZybSfbjJbjJbjJbszbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaacaucavcawaaacaucavcawaaacaucavcawaafabdaaaaaabBwcaxcaybBwcazbGRbGRcaAbPdcaBbBwaaaaaaaaacaCaagaagaafaaaaaabFBbUubUvbXicaDcaEbVncaFbXibXicufcaGbWtbWtcaHbUwcaIcaJcaKcaLcaMcaNcaOcaPcaQcaPcaQcaRcaQcaSbKTcaTcaUcaVbQzbQzbQBbSwcaWbSBbQCbTLcaXbPCaafbPDcaYcaZcbabNtbNubyxbUQbzBcbbcbccaccbdbyxcaecbecbfcbgcbhcbicbfcbjcaebgScbkbCfbCfbCfbCfbCfbCfbLBcblbLBbCfbCfbCfbCfbCfbCfbQdbQdbQdbQdbQdbQdcbmcbmcbncbobQdbQdbQdbQdbQdbjJbSebSfbjJcbpcbqbszbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaacaucbrcawaaacaucbrcawaaacaucbrcawaafaafaaaaaabBwbKFbKFbBwbBwcbscbtbPdbGRbRkbBwaaaaaaaaaaaaaafaaaaaaaaaaaabEcbUubUvbVncbucbvbVncbwcbxbVncufcbybWsbWtbWtcbzcbAbKRbPjcbBcbCcbDcbEcbFcbGcbHcbIcbJbYacbKbKTcbLbNobZSbSwbSxcbMcbNcbOcbPbMjcbQcbRbQHbQIbOucbScabcabbNtbNubyxcbTcbUcbVcbWcbXcbYbyxcbZccaccbcccccdccccceccaccfbgSccgbjJaaaaaaaaaaafaaaaaacchaaaaafaaaaaaaaaaaabjJccibMOblbccjccjbQdcckcckcbnbRacclccmbszbszbszbCkbSebWfbjJccnbszbszbjJbjJbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcaucbrcawaaacaucbrcawaafcaucbrcawaafaafaaaaaaaaaaaaaafaafbBwbBwbBwbBwbShbBwbBwaaaaaaaaaaaaaafaaaaaaaafaaabEcbUubUvbVnccoccpccqccrccsbVncurcctccuccvccwbUwccxccycczccAccBccCccDccEccFccGccHccIccJccKccLccMbPyccNccObNobNobNobNqbTFccObTLbVFbPCaafbNtbNtbNtbNtbNtbNubyxbZdccPccQccRccSccTbyxbyxccUccVccWbLdccXccYbyxbyxbgSccgbjJaaaaaaaaaaafaaaaaacchaaaaafaaaaaaaaaaaabjJbszccZbqQcdacdbbQdcdccdccddbRabQdbOYbjJcdecdfbCkbSecdgcdhcdhcdhcdicdjcdkcdjcdlaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacaucbrcawaafcaucbrcawaaacaucbrcawaaaaafaaaaaaaaaaaaaaaaaabBwcdmbBwbGRbGRbBwaafaaaaafaaaaaaaafaaaaaaaafaaabEcbUubUvbUvbUvbUvbUvbUvbUvbUvbUwbUwbUwbUwbUwbUwbBwcdnbBwcdocdpcdpcdpcdqcdrcdscdpcdtcducdvbKTcdwcdxbQEcdycdzcdAcdzcdycdBcdycdCbSwcdDaafaafaafaafaafaafbNucdEcdEcdEcdFcdGcdEcdEcdEcdHbyxcdIcdIcdJcdIcdIbyxbAVcadccgbjJcdKcdKcdKbjJcdKcdKcdLcdKbjJcdKcdKcdKcdKbjJbjJbSecdMbjJbjJbQdbQdbQdcdNcdObQdbCkbjJbYDbszbpobSebZzbjJbjJcdPbjJbjJbjJbjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabdaafaaacaucbrcawaafcaucbrcawaaacaucbrcawaafaafaafaafcdQcdRcdRcdRcdRbBwbBwcdSbGRbBwbKFbKFbKFbKFbKFbKFbKFbKFbKFbBwbEcbUubBwcdTcdUcdVcdVcdVcdVcdVcdVcdVcdVcdVcdWcdWcdVcdXcbscdocdYcdZceacebceccedcdpceecefcegbKTcdwcehceicejcekcelcemcenbNoceocepceqbMdaafaafaaaaaaaaaaaacercescetceucevcewcexceycdEcezceAceBceCceDccWccWbzBbzBcadbnOceEceEceEceEceEceEceEceFceGceGceGceGceGceGceHceGceIceGceGceJceKceLceMceNceObjJbjJcePceKceQceKceRbSfbjJceSbszbszbjJaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaafaaaaafaafceTaafaafaafceTaafaaaaafceTaafaaaaafcdQcdQcdQceUceVceWceXceYbGRceZcfacfbcfacfacfacfacfacfacfacfacfacfacfccfdbSncfecffcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcdocdpcfhcficfjcfkcflcfmcfncfocfpcfgbMdcfqbMdcfrbMdcfqbMdcfrbMdcfsbMdcfsbMdaafaafaaaaaaaaaaaacdEcftcfucfvcfwcfxcfycfzcdEcezcfAccWcfBcfCcfDcfEbEzcfFcfGcfHcfHcfHcfHcfHcfHcfHcfIcfJcfHcfHcfHcfHcfHcfHcfKcfLcfMbmEcfNcfOcfPcfPcfPcfQcfRcfScfTcfUcfVcfPcfPcfWcfXbjJcbqbszcfYbjJaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcfZcgacgacgbcgccgccgccgccgccgccgccgccgccgccgccgdcgecgfcgecggcghcgicgjcfacgkcglbPdbBwbKFbKFbKFbKFbKFbKFbKFbKFbKFbBwbBwcgmbTrcgncgocfgcgpcgpcgqcfgcgrcgscgtcgucgvcgwcgxcgycgzcgAcdpcgBcgCcgDcgEcgFcgGcgHcgIcgJcfgaafcgKaafbNuaafcgKaafbNuaafcgLaafcgLaaaaaaaaaaaaaaaaaaaaacdEcgMcgNcgOcgPcgQcgRcgScdEbzBcgTcgUcgVcgWcgXbEzcgYcgZbyxbjJcdKcdKcdKcdKbjJcdKcdKcdKcdKbjJcdKcdKcdKcdKbjJchabszbjJchbchcbjJbjJcdKcdKbjJbjJcusbZycutbjJchfchgbpmbjJbjJbjJbjJbjJaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaafaaaaafaafchhaafaaaaafchhaafaaaaafchhaafaaaaaacdQcdQcdQchichjchkcdRbGRbGRbGRbGRbBwaaaaaaaafaaaaaaaafaaaaaaaafaaabBwchlbBwchmchncfgchochpchqchrchschtcfncfncfnchuchvchwchxchtcdpchychzchAcgEchBcdpchCchDchEcfgbNtchFbPDchFbNtchFbPDchFbNtchGbPDchHbNtaaaaaaaaaaaaaaaaaacdEchIchJchKchLchMchNchOchPchQchQbGochRchSbGochTbyxbyxbyxaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaabjJchUbLLbjJchebZybjJaaaaaaaaaaaabjJbszbZychVchWchWchXchYchWaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabdaafaafcauchZcawaaacauchZcawaaacauchZcawaafaafaafaafcdQcdRcdRcdRcdRciabXhbGRbGRbBwaafaafcibcibcibcibcibcibcibaafbBwbBwbBwciccidcfgciechqchqchrcifcigcigcihciicijcikcikcilcfncdpcimcinciocipciqcdpcircefciscfgbNtcitciucivbNtciwcixciybNtcizciAciBbNtaaaaaaaaaaaaaaaaaaciCciDchJciEciFciGciHciIcdEaafbyxccUciJbOybOybyxbyxaaaabsaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjJciKbjJbjJciLbZybjJbjJcdKcdKbjJbjJbszciMciNchWciOciPciQchWaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacauchZcawaafcauchZcawaaacauchZcawaaaaaaaaaaaaaaaaaaaaaaaabBwbBwbBwciRbGRbBwaaaaaacibciSciTciUciTciVcibaaabBwbRkbGRciWcidcfgciXciXciYcfgciZcjacjbcjccfocjdcjecjfcjgcjgcdpcjhcjicjjcjkcjlcjmcjncjocjpcfgbNtcjqcjrcjqbNtcjscjtcjsbNtcjucjvcjwbNtaaaaaaaaaaaaaaaaaacdEcjxcjycjzcjAcjBcjCcjDcdEaafaafaafcjEaaaaaaaafaaaaaaabsaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaacdKcdKcdKbjJcjFbCkbjJcjGcjHcjIceKcjIcjIcjIcjIcjJcjKcjLchWcjMcjNcjOchWaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcauchZcawaaacauchZcawaaacauchZcawaafaaaaaaaaaaaaaaaaaaaaacjPcjQcjPbGRbGRbBwaaaaaacibcjRcjScjTcjUcjVcibaaabBwcbtbGRciWcidcfgciXciXciYcfgcjWcgycuvcuucjZcuwcuvcgycuvcuvcgyckbckcckdcjdckeckfckgcfockhcfgbNtcjqckicjqbNtcjsckjcjsbNtcjwckkcjwbNtaaaaaaaaaaaaaaaaaacdEcdEcdEcklckmcknckockpckmaafaaaaafckqaaaaaaaaaaaaaaaabsaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafcdKbszckrbjJcksbszbjJcktbmDbmDckubmDbmEbmEbmEckvckvckwchWckxckyckzchWaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcauchZcawaaacauchZcawaafcauchZcawaafaafaafaafaafaafaafaafbBwbBwbBwbBwbGRbBwaafaafcibckAckBckCckDckAcibaafbBwcfgckEckFckGcfgciXciYciYcfgckHckIckJckKcfockLckMckNckMckMckOckPckQckRckSckTckTckTckUckVcfgbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtaaaaaaaaaaaaaaaaaaaaaaaaaaackWckmckXckYckZckmaafaaaaaaaaaaaaaaaaaaaaaaaaabsaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaagcdKclabszbXcchabszbjJbjJbjJbjJbjJbszbjJaaaaafaaaaafaaaclbclbclcclbclbaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaafcaucldcawaaacaucldcawaaacaucldcawaafabdaafaaaaaaaaaaaaaaaaaaaaaaaabKFbGRbKFaaaaaacibcleclfclgclhclicibcibcibcfgcljckFclkcfgcfgcfgcfgcfgcllcfnclmcjccfocfncfncfnclncloclpcfocfocjccfnclqcfncfnclrclscfgaafaaaaaaaaaaafaafaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmckncluckpckmaaaaafaaaaaaaaaaaaaaaaaaaaaabsaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagcdKbszbuXbjJclvbszbszbszbszbszbszbszbjJaaaaafaaaaafaaaaafclbclwclbaafaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaabdaafaafaaaaaaaaaaaaaaaaaaaaabKFbGRbKFaaaaaacibclxclyclzclAclBclCclDclEclCclFclGclHclIclJclKclLclMclNcigclOclPclQclRclSclTclUclTclUclVclWclXcigcigclYcigclZcmacfgcfgcfgcfgcfgcgycgycgycgycfgaisaisaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmcmbcmccmdcmeaafaafaafaafaafaaeaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdKcdKcdKbjJciKbjJbjJcmfcmgbLLbMMbjJbjJaaaaafaaaaaaaaaaafclbclcclbaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabdabeabeabpabdabdabdabdabeabdabdabecmhaaaaafaafaaaaaaaaaaaaaaaaafbKFbGRbKFaafaafcibcmicmjcmkcmlcmmcmncmocmpcmncmqcmrcmscmtcmucmvcmwcmvcmxcmycmzcmAcmBcmCcmDcmEcmFcmGcmFcmHcmIcmJcikcmAcmKcikcmLcmMcikcmNcfncmOcfgcmPcmQcmRcmScmScmTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmckmcmUckmckmaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcmVaafbjJbjJcdKcdKbjJbjJaafaafaaaaaaaaaaaaaafaaacmWaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaabKFbGRbKFaaaaaacibcmXcmYcmZcnacnbcibcnccndcibcnecfncnfcjccfocngcuvcnhcjdcnicnjcnkcnkcnkcnlcnmcnncnocnpcnqcnlcnrcnrclpcfnclqcjdcnscntcnucigcnvcnwchqchqcnxcnycnzcnAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacltaagckmcnBckmcnCaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaafcnDaafaaaaafaaaaafaaaaaaaafaafaafaaaaaaaaaaafaaacmWaaaaafaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaabBwbBwbShbBwbBwaaacibcnEcnFcnGcibcibcibcibcibcfgcnHcfncnfcnIcnJcnKcuvcnLcjdcnMcnNcnOcnPcnQcfgcnRcnScnTcnUcnVcfgcnWcnXcnXcnNcnMcjdcnYcnZcfocfncoacfgcobchqcoccmScmScodaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaackqaagcoecofcoeaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcqiaafaaaaafaaaaafaaaaaacogcogcogcohaafaafaafaafcmWaafaafaafaafaafabpcogcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaabBwchlbGRcoibBwaafcibcibcibcibcibaafaaaaaaaafcfgcojcfncokcolcolcomcgycgyconcfgcoocopcopcopcfgcoqcorcoscotcoucfgcopcopcopcoocfgconcgycovcfocfncfgcfgcgycgycgycgycfgapKapKaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaagaaaaagaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaafaaaaaacogaaaaafaaaaafaaaaaaaaacowaaaaafaafaaaaaaaaaaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaabKFcoxcoycozbBwaafaaaaaaaafaaaaaaaafaaaaaaaafcfgcoAcoBcjdcoCcoDcoEcgycoFcoGcfgcoHcoIcoJcoIcjXcoKcoLcoMcoNcoucjXcoIcoIcoIcoOcfgcoPcoQckFcfocoRcircoScfncoTcjXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaacogaaacoUcoUcoUcoUcoUaafcoVaafcoUcoUcoUcoUcoUaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKFcoWcoXbIsbBwbBwcoYcoYcoYcoYcoYcoYcoYcoYcgycfgcoZcpacpbcpccoZcfgcfgcfgconcfgcfgcjXcjXcjXcjXcpdcpecpfcpecpgcjXcjXcjXcjXcfgcfgconcfgckFcphcpicpjcpkcfncplcjXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacogaafcpmcpncpncpncpncpocoVcppcpqcpqcpqcpqcpraafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbKFbKFbKFbKFbBwaafaaaaaaaafaaaaaaaafaaaaaaaafaagaagaagaafaaaaafaagcfgcpscptaAGaaaaaaaaacjXcjXcjXcjXcjXcjXcjXcjXcjXaaaaaaaaaaAHcpwcpxcpycpzclTclTcpAcpBcpCcjXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacogaafcpDcpDcpDcpDcpDaaacoVaaacpDcpDcpDcpDcpDaafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaaaaafaaaaafaafaaaaaaaaaaafcfgcpEcpFcpFaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacpFcpGcpEcfgcpHcpIcfgcgycgycpJcgyaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacogaaaaafaaaaafaafaafaaacoVaaaaafaaaaafaaaaafaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaacfgcpKcpLcpMaafaafaafcpNaaaaaaaaaaaacpNaaaaaacpNaafaafaafcpOcpPcpQcfgcpRceecgyaafaaacpScpTaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaaacoUcoUcoUcoUcoUaafcoVaafcoUcoUcoUcoUcoUaafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcpEcpFcpUaaaaaaaafaaaaaaaaaaaaaaacpVaaaaaaaaaaafaaaaaacpFcpFcpEcfgaagaagaaaaafaaacpWcpXcpYcpZcqacpZcpYcpZcqacpZcpZcpZcqacpZcpYcpZcqacqbcqcaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaafcpmcpncpncpncpncpocoVcppcpqcpqcpqcpqcpraafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqdcqecpFaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacpFcqfcqgcfgaafaafaafaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaacpWcqhcpTcqiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaafcpDcpDcpDcpDcpDaaacoVaafcpDcpDcpDcpDcpDaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcfgcqjcpFaaaaaaaafcpNaafaafcqkapKcqlaafcqmaaaaafaaaaaacpFcqjcfgcfgaafaafaafaafaafcqiaafaafcqiaafaafaafaafaafaafaafaafaafaafaafaafcqiaafcqncqhcqcaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacohaaaaafaaaaafaaaaafaaacqoaaaaafaaaaafaafaafaafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcqpcfgcqqcpFaaaaaaaafaaaaaaaafcqrcqsaotaafaaaaaaaafaaaaaacpFcqtcfgcqpaafaafaafaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqiaaaaaacqucqhcpTaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaaacoUcoUcoUcoUcoUaafcmWaafcoUcoUcoUcoUcoUaafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcfgcqjcpFaaaaaaaafaaacqvaafcqwaiscqxaafaafcpNaafaaaaaacpFcqjcfgcfgaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacqycqzcpTaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaafcpmcpncpncpncpncqAcqBcqAcpqcpqcpqcpqcpraafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqfcqgcpFaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacpFcqdcqecfgaaaaaaaaaaafaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafcqycqCaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaafcpDcpDcpDcpDcpDaaacmWaaacpDcpDcpDcpDcpDaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcpEcpFcqDaaaaaacqEaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaacpFcpFcpEcfgaaaaaaaaaaaeaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafcqFcqGcqFcqHcqHcqIcqIcqIcqIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaaaaaaaafaafaafaaaaaacmWaafaaaaaaaafaafaaaaaacogaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaacfgcqKcpLcpMaafaafaafcpNaaaaaacpNaaaaaaaaaaaacpNaafcqLaafcpOcpPcqMcfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqiaafaafaafaafcqFcqNcqOcqPcqQcqRcqScqTcqIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaacogcogcogcogcogaaaaaaaaacmWaaaaaaaaacogcogcogcohcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqUcpFcpFaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacpFcpFcqUcfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafcqFcqVcqWcqXcqXcqYcqZcracqIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaafcrbaafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqUcpFcrcaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacrdcpFcqUcfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafcqFcrecqWcqXcqXcrfcrgcrhcqIaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaaaaafaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacircfgcfgcfgcpFaafaafaafaafaaaaaaaaaaaaaaaaafaafaafaafcpFcfgcfgcfgciraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafcqFcqFcricqXcqXcqIcrjcqIcqIaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogcogcogcogcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacqUcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcqUaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaagaaaaafaaacqHcrkcqXcqXcrlcrmcqHaafaafaafaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafabsabsabsbBwbBwbBwbWlbBwbBwbBwbBwaafaaaaaabXRaaaaaaaaaaaaaaabFBbUubUvbXibXibXScuicuhbXicujcukbXUculbXVculbUwbUybXWbXXbXYbCMbXqbXZbYabYabYbbYcbYdbYebYfbKTbYgbYhbWDbLWbWEbYibNobYjbWFbTKbYkbYlbQHbQIbOubYmbWJbWJbNtbNubOybUQbyxbYnbzBbOHbYobSHbSHbYpbMpbYqbYrbYsbMqbYtbYubLdbLcbCfbQQbQRbQRbYvbQTbLrbQUbQVbYwbYxbDrbDrbDrbCfbYybRYbRYbRYbRYbQdbOVbOVbYzbYAbOYbOYbVdbOYbQdbOYbSZbSfbjJbYBbYCbYDcdKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabdabdabdabdabdabdabpabdabdabdabdabdaaaaaabBwbGRbGRbGRbGRbGRbGRbGRbGRbXhbKFaafaaaaaaaafaagbYFaaaaaaaaabFBbUubUvbYGbYHbXTbYIcumcuocunbYKbYJbYLbWtbYMbUwbYNbYObYPbYQbHcbXqbYRbYabYSbYTbYUbYVbYWbYXbYYbOobYZbLWbLWbLWbZabNobZbbZcbTKbTLbNobPCaafbNtbNtbNtbNtbNtbNubOybUQbyxbZdbzBbZebZfbTRbZgbZhbMqbZibZjbZkbMqbZlbLmbZmbZnbCfbDrbDrbDrbZobRPbLrbRQbLrbRRbZpbDrbDrbDrbCfbZqbRYbZrbRYbRYbZsbZtbZubZvbZwbOYbVdbVdbZxbQdbCkbZybZzbjJbZAbZBbszcdKaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaaafaaaaafaaaafaaaaaafaaaaafaaaabdaafaafbBwbZDbGRbBwbBwbBwbShbBwbBwbBwbBwaaaaaaaaaaagbZEbZFaagaagaafbFBbUubUvbZGbXibVnbVnbVnbXicupcuqbZHbWtbZIbZJbUwbBwbBwbZKbZLbZMbXqbXqbZNbYabZObZPbZQbZPbZRbKTbNobZSbZTbZUbZVbPvbZWbZXbZYbWGbSCbZZbOtbMmbOucaacabcabbNtbNubOybUQbyxbyxbyxcaccadbyxcaecafbyxbyxcagbyxbyxcafcahcaicajbCfbDrbDrbDrcakcalbQVcambLrbSOcanbQRbQRbSQbCfbRYbRYcaobRYbRYbQdbOVbOVcapcaqbOYcarcascatbQdbppbZybSfbjJbjJbjJbszbjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaacaucogcawaaacaucogcawaaacaucogcawaaaabdaaaaaabBwcaxcaybBwcazbGRbGRcaAbPdcaBbBwaaaaaaaaacaCaagaagaafaaaaaabFBbUubUvbXicaDcaEbVncaFbXibXicufcaGbWtbWtcaHbUwcaIcaJcaKcaLcaMcaNcaOcaPcaQcaPcaQcaRcaQcaSbKTcaTcaUcaVbQzbQzbQBbSwcaWbSBbQCbTLcaXbPCaafbPDcaYcaZcbabNtbNubyxbUQbzBcbbcbccaccbdbyxcaecbecbfcbgcbhcbicbfcbjcaebgScbkbCfbCfbCfbCfbCfbCfbLBcblbLBbCfbCfbCfbCfbCfbCfbQdbQdbQdbQdbQdbQdcbmcbmcbncbobQdbQdbQdbQdbQdbjJbSebSfbjJcbpcbqbszbjJaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcaucowcawaaacaucowcawaaacaucowcawaafaafaaaaaabBwbKFbKFbBwbBwcbscbtbPdbGRbRkbBwaaaaaaaaaaaaaafaaaaaaaaaaaabEcbUubUvbVncbucbvbVncbwcbxbVncufcbybWsbWtbWtcbzcbAbKRbPjcbBcbCcbDcbEcbFcbGcbHcbIcbJbYacbKbKTcbLbNobZSbSwbSxcbMcbNcbOcbPbMjcbQcbRbQHbQIbOucbScabcabbNtbNubyxcbTcbUcbVcbWcbXcbYbyxcbZccaccbcccccdccccceccaccfbgSccgbjJaaaaaaaaaaafaaaaaacchaaaaafaaaaaaaaaaaabjJccibMOblbccjccjbQdcckcckcbnbRacclccmbszbszbszbCkbSebWfbjJccnbszbszbjJbjJbjJaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaacaucowcawaafcaucowcawaafcaucowcawaaaaafaafaafaafaafaafaafbBwbBwbBwbBwbShbBwbBwaaaaaaaaaaaaaafaaaaaaaafaaabEcbUubUvbVnccoccpccqccrccsbVncurcctccuccvccwbUwccxccycczccAccBccCccDccEccFccGccHccIccJccKccLccMbPyccNccObNobNobNobNqbTFccObTLbVFbPCaafbNtbNtbNtbNtbNtbNubyxbZdccPccQccRccSccTbyxbyxccUccVccWbLdccXccYbyxbyxbgSccgbjJaaaaaaaaaaafaaaaaacchaaaaafaaaaaaaaaaaabjJbszccZbqQcdacdbbQdcdccdccddbRabQdbOYbjJcdecdfbCkbSecdgcdhcdhcdhcdicdjcdkcdjcohaccaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcaucowcawaaacaucowcawaaacaucowcawaafaafaaaaaaaaaaaaaaaaaabBwcdmbBwbGRbGRbBwaafaaaaafaaaaaaaafaaaaaaaafaaabEcbUubUvbUvbUvbUvbUvbUvbUvbUvbUwbUwbUwbUwbUwbUwbBwcdnbBwcdocdpcdpcdpcdqcdrcdscdpcdtcducdvbKTcdwcdxbQEcdycdzcdAcdzcdycdBcdycdCbSwcdDaafaafaafaafaafaafbNucdEcdEcdEcdFcdGcdEcdEcdEcdHbyxcdIcdIcdJcdIcdIbyxbAVcadccgbjJcdKcdKcdKbjJcdKcdKcdLcdKbjJcdKcdKcdKcdKbjJbjJbSecdMbjJbjJbQdbQdbQdcdNcdObQdbCkbjJbYDbszbpobSebZzbjJbjJcdPbjJbjJbjJbjJaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdaafaaacaucowcawaaacaucowcawaaacaucowcawaaaaafaaaaaacdQcdRcdRcdRcdRbBwbBwcdSbGRbBwbKFbKFbKFbKFbKFbKFbKFbKFbKFbBwbEcbUubBwcdTcdUcdVcdVcdVcdVcdVcdVcdVcdVcdVcdWcdWcdVcdXcbscdocdYcdZceacebceccedcdpceecefcegbKTcdwcehceicejcekcelcemcenbNoceocepceqbMdaafaafaaaaaaaaaaaacercescetceucevcewcexceycdEcezceAceBceCceDccWccWbzBbzBcadbnOceEceEceEceEceEceEceEceFceGceGceGceGceGceGceHceGceIceGceGceJceKceLceMceNceObjJbjJcePceKceQceKceRbSfbjJceSbszbszbjJaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaaaaaaacpqaaaaaaaaacpqaaaaaaaaacpqaaaaaaaafcdQcdQcdQceUceVceWceXceYbGRceZcfacfbcfacfacfacfacfacfacfacfacfacfacfccfdbSncfecffcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcdocdpcfhcficfjcfkcflcfmcfncfocfpcfgbMdcfqbMdcfrbMdcfqbMdcfrbMdcfsbMdcfsbMdaafaafaaaaaaaaaaaacdEcftcfucfvcfwcfxcfycfzcdEcezcfAccWcfBcfCcfDcfEbEzcfFcfGcfHcfHcfHcfHcfHcfHcfHcfIcfJcfHcfHcfHcfHcfHcfHcfKcfLcfMbmEcfNcfOcfPcfPcfPcfQcfRcfScfTcfUcfVcfPcfPcfWcfXbjJcbqbszcfYbjJaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcfZcpmcpmcpncoVcoVcoVcoVcoVcoVcoVcoVcoVcoVcoVcppcgecgfcgecggcghcgicgjcfacgkcglbPdbBwbKFbKFbKFbKFbKFbKFbKFbKFbKFbBwbBwcgmbTrcgncgocfgcgpcgpcgqcfgcgrcgscgtcgucgvcgwcgxcgycgzcgAcdpcgBcgCcgDcgEcgFcgGcgHcgIcgJcfgaafcgKaafbNuaafcgKaafbNuaafcgLaafcgLaaaaaaaaaaaaaaaaaaaaacdEcgMcgNcgOcgPcgQcgRcgScdEbzBcgTcgUcgVcgWcgXbEzcgYcgZbyxbjJcdKcdKcdKcdKbjJcdKcdKcdKcdKbjJcdKcdKcdKcdKbjJchabszbjJchbchcbjJbjJcdKcdKbjJbjJcusbZycutbjJchfchgbpmbjJbjJbjJbjJbjJaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaaaaaaacldaaaaaaaaacldaaaaaaaaacldaaaaaaaafcdQcdQcdQchichjchkcdRbGRbGRbGRbGRbBwaaaaaaaafaaaaaaaafaaaaaaaafaaabBwchlbBwchmchncfgchochpchqchrchschtcfncfncfnchuchvchwchxchtcdpchychzchAcgEchBcdpchCchDchEcfgbNtchFbPDchFbNtchFbPDchFbNtchGbPDchHbNtaaaaaaaaaaaaaaaaaacdEchIchJchKchLchMchNchOchPchQchQbGochRchSbGochTbyxbyxbyxaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaabjJchUbLLbjJchebZybjJaaaaaaaaaaaabjJbszbZychVchWchWchXchYchWaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdaafaaacaucmhcawaaacaucmhcawaaacaucmhcawaaaaafaaaaaacdQcdRcdRcdRcdRciabXhbGRbGRbBwaafaafcibcibcibcibcibcibcibaafbBwbBwbBwciccidcfgciechqchqchrcifcigcigcihciicijcikcikcilcfncdpcimcinciocipciqcdpcircefciscfgbNtcitciucivbNtciwcixciybNtcizciAciBbNtaaaaaaaaaaaaaaaaaaciCciDchJciEciFciGciHciIcdEaafbyxccUciJbOybOybyxbyxaaaabsaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaabjJciKbjJbjJciLbZybjJbjJcdKcdKbjJbjJbszciMciNchWciOciPciQchWaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcaucmhcawaaacaucmhcawaaacaucmhcawaafaafaafaaaaaaaaaaaaaccbBwbBwbBwciRbGRbBwaaaaaacibciSciTciUciTciVcibaaabBwbRkbGRciWcidcfgciXciXciYcfgciZcjacjbcjccfocjdcjecjfcjgcjgcdpcjhcjicjjcjkcjlcjmcjncjocjpcfgbNtcjqcjrcjqbNtcjscjtcjsbNtcjucjvcjwbNtaaaaaaaaaaaaaaaaaacdEcjxcjycjzcjAcjBcjCcjDcdEaafaafaafcmWaaaaaaaafaaaaaaabsaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaacdKcdKcdKbjJcjFbCkbjJcjGcjHcjIceKcjIcjIcjIcjIcjJcjKcjLchWcjMcjNcjOchWaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaacaucmhcawaafcaucmhcawaafcaucmhcawaaaaafaafaafaaaaaaaaaacccjPcjQcjPbGRbGRbBwaaaaaacibcjRcjScjTcjUcjVcibaaabBwcbtbGRciWcidcfgciXciXciYcfgcjWcgycuvcuucjZcuwcuvcgycuvcuvcgyckbckcckdcjdckeckfckgcfockhcfgbNtcjqckicjqbNtcjsckjcjsbNtcjwckkcjwbNtaaaaaaaaaaaaaaaaaacdEcdEcdEcklckmcknckockpckmaafaaaaafckqaaaaaaaaaaaaaaaabsaafaafaafaafaafaafaaaaaaaaaaaaaaaaaacdKbszckrbjJcksbszbjJcktbmDbmDckubmDbmEbmEbmEckvckvckwchWckxckyckzchWaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcaucmhcawaaacaucmhcawaaacaucmhcawaafaafaaaaafaafaaaaaaaccbBwbBwbBwbBwbGRbBwaafaafcibckAckBckCckDckAcibaafbBwcfgckEckFckGcfgciXciYciYcfgckHckIckJckKcfockLckMckNckMckMckOckPckQckRckSckTckTckTckUckVcfgbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtaaaaaaaaaaaaaaaaaaaaaaaaaaackWckmckXckYckZckmaafaaaaaaaaaaaaaaaaaaaaaaaaabsaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaacdKclabszbXcchabszbjJbjJbjJbjJbjJbszbjJaafaaaaaaaaaaafclbclbclcclbclbaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaacaucnCcawaaacaucnCcawaaacaucnCcawaaaabdaaaaaaaafaafaaaaaaaaaaaaaaabKFbGRbKFaaaaaacibcleclfclgclhclicibcibcibcfgcljckFclkcfgcfgcfgcfgcfgcllcfnclmcjccfocfncfncfnclncloclpcfocfocjccfnclqcfncfnclrclscfgaafaaaaaaaaaaafaafaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmckncluckpckmaaaaafaaaaaaaaaaaaaaaaaaaaaabsaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaacdKbszbuXbjJclvbszbszbszbszbszbszbszbjJaafaaaaaaaaaaafaaaclbclwclbaaaaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaabdaaaaaaaaaaafaafaaaaaaaaaaaabKFbGRbKFaaaaaacibclxclyclzclAclBclCclDclEclCclFclGclHclIclJclKclLclMclNcigclOclPclQclRclSclTclUclTclUclVclWclXcigcigclYcigclZcmacfgcfgcfgcfgcfgcgycgycgycgycfgaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaacltckmcmbcmccmdcmeaafaafaafaafaafaaeaafaaaaaaaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaacdKcdKcdKbjJciKbjJbjJcmfcmgbLLbMMbjJbjJaafaaaaaaaaaaafaaaclbclcclbaaaaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabdabdabpabdabdabdabdabdabdabdabdabdaaaaaaaaaaaaaafaafaaaaaaaafbKFbGRbKFaafaafcibcmicmjcmkcmlcmmcmncmocmpcmncmqcmrcmscmtcmucmvcmwcmvcmxcmycmzcmAcmBcmCcmDcmEcmFcmGcmFcmHcmIcmJcikcmAcmKcikcmLcmMcikcmNcfncmOcfgcmPcmQcmRcmScmScmTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmckmcmUckmckmaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcmVaafbjJbjJcdKcdKbjJbjJaaaaafaaaaaaaaaaafaaaaaacbraaaaaaaafaaaaafaaaaaaaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaabKFbGRbKFaaaaaacibcmXcmYcmZcnacnbcibcnccndcibcnecfncnfcjccfocngcuvcnhcjdcnicnjcnkcnkcnkcnlcnmcnncnocnpcnqcnlcnrcnrclpcfnclqcjdcnscntcnucigcnvcnwchqchqcnxcnycnzcnAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacltaccckmcnBckmcdlaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaeaaaaaaaaaaaaaaaaafcnDaafaaaaafaaaaaaaafaaaaaaaafaaaaaaaaaaafaaaaaacbraaaaaaaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbBwbBwbShbBwbBwaaacibcnEcnFcnGcibcibcibcibcibcfgcnHcfncnfcnIcnJcnKcuvcnLcjdcnMcnNcnOcnPcnQcfgcnRcnScnTcnUcnVcfgcnWcnXcnXcnNcnMcjdcnYcnZcfocfncoacfgcobchqcoccmScmScodaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaackqacccoecofcoeaccaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafcqiaafaaaaafaaaaaaaafaaaabdabdabdabpaafaafaafaafcbraafaafaafaafaafabpabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbBwchlbGRcoibBwaafcibcibcibcibcibaafaaaaaaaafcfgcojcfncokcolcolcomcgycgyconcfgcoocopcopcopcfgcoqcorcoscotcoucfgcopcopcopcoocfgconcgycovcfocfncfgcfgcgycgycgycgycfgaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaafaccaaaaaaaaaaccaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaaaaaaaafaaaaaaaafaaaabdaaaaaaaafaaaaafaaaaaaceTaaaaaaaafaaaaafaaaaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKFcoxcoycozbBwaafaaaaaaaafaaaaaaaafaaaaaaaafcfgcoAcoBcjdcoCcoDcoEcgycoFcoGcfgcoHcoIcoJcoIcjXcoKcoLcoMcoNcoucjXcoIcoIcoIcoOcfgcoPcoQckFcfocoRcircoScfncoTcjXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaabdaafcoUcoUcoUcoUcoUaaacgaaaacoUcoUcoUcoUcoUaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKFcoWcoXbIsbBwbBwcoYcoYcoYcoYcoYcoYcoYcoYcgycfgcoZcpacpbcpccoZcfgcfgcfgconcfgcfgcjXcjXcjXcjXcpdcpecpfcpecpgcjXcjXcjXcjXcfgcfgconcfgckFcphcpicpjcpkcfncplcjXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaabdaaacgbcgccgccgccgccjEcgachZchhchhchhchhcgdaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKFbKFbKFbKFbBwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcpscptaAGaaaaaaaaacjXcjXcjXcjXcjXcjXcjXcjXcjXaaaaaaaaaaAHcpwcpxcpycpzclTclTcpAcpBcpCcjXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaabdafacpDcpDcpDcpDcpDaaacgaaaacpDcpDcpDcpDcpDaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcpEcpFcpFaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacpFcpGcpEcfgcpHcpIcfgcgycgycpJcgyaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaabdaaaaaaaaaaafaaaaaaaaacgaaaaaaaaaaaafaaaaaaaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcpKcpLcpMaafaafaafcpNaaaaaaaaaaaacpNaaaaaacpNaafaafaafcpOcpPcpQcfgcpRceecgyaafaaacpScpTaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcoUcoUcoUcoUcoUaaacgaaaacoUcoUcoUcoUcoUaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcpEcpFcpUaaaaaaaafaaaaaaaaaaaaaaacpVaaaaaaaaaaafaaaaaacpFcpFcpEcfgaccaccaccaafaaacpWcpXcpYcpZcqacpZcpYcpZcqacpZcpZcpZcqacpZcpYcpZcqacqbcqcaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaacgbcgccgccgccgccjEcgachZchhchhchhchhcgdaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqdcqecpFaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacpFcqfcqgcfgaaaaaaaccaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaacpWcqhcpTcqiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcpDcpDcpDcpDcpDaaacgaaaacpDcpDcpDcpDcpDaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcfgcqjcpFaaaaaaaafcpNaafaafcqkapKcqlaafcqmaaaaafaaaaaacpFcqjcfgcfgaaaaaaaccaafaafcqiaafaafcqiaafaafaafaafaafaafaafaafaafaafaafaafcqiaafcqncqhcqcaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaafaaaaaaaaacpvaaaaaaaaaaafaaaaaaaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcqpcfgcqqcpFaaaaaaaafaaaaaaaafcqrcqsaotaafaaaaaaaafaaaaaacpFcqtcfgcqpaaaaaaaccaccaccaccaccaccaccaccaccaccaccaccaccaccaccaccaccaccacccqiaaaaaacqucqhcpTaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcoUcoUcoUcoUcoUaaacbraaacoUcoUcoUcoUcoUaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcfgcqjcpFaaaaaaaafaaacqvaafcqwaiscqxaafaafcpNaafaaaaaacpFcqjcfgcfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafaaaaaaaaacqycqzcpTaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaacgbcgccgccgccgccprcpucprchhchhchhchhcgdaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqfcqgcpFaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacpFcqdcqecfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafaaaaaaaaaaafcqycqCaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcpDcpDcpDcpDcpDaaacbraaacpDcpDcpDcpDcpDaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcpEcpFcqDaaaaaacqEaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaacpFcpFcpEcfgaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafaaaaaaaaaaafcqFcqGcqFcqHcqHcqIcqIcqIcqIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaaaaafaaaaafaaaaaacbraaaaaaaafaaaaafaaaaaaabdaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaacfgcqKcpLcpMaafaafaafcpNaaaaaacpNaaaaaaaaaaaacpNaafcqLaafcpOcpPcqMcfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacccqiaafaafaafaafcqFcqNcqOcqPcqQcqRcqScqTcqIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaabdabdabdabdabdaafaafaaacbraaaaafaafabdabdabdabpabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqUcpFcpFaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacpFcpFcqUcfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafaaaaaaaaaaafcqFcqVcqWcqXcqXcqYcqZcracqIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcrbaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqUcpFcrcaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacrdcpFcqUcfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafaaaaaaaaaaafcqFcrecqWcqXcqXcrfcrgcrhcqIaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacircfgcfgcfgcpFaafaafaafaafaaaaaaaaaaaaaaaaafaafaafaafcpFcfgcfgcfgciraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaafaafaafaafaafcqFcqFcricqXcqXcqIcrjcqIcqIaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacqUcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcqUaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaccaccaccaccaafaaacqHcrkcqXcqXcrlcrmcqHaafaafaccaccaccaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacqUcqUcqUcqUcqpcqUcqUcqUcqUcqUcqUcqUcqpcqUcqUcqUcqUaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdcrocroabdabdaaacqHcrpcrqcrrcrscrtcqHaaaabdabdcrocroabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaafaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdcrucrvcrwcrxabdabdcqHcrycrzcrAcrBcrCcqHabdabdcrDcrEcrFcrGabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdcrucrvcrFcrHcrIcrJcrJcrKcrLcrJcrMcrNcrJcrJcrIcrOcrvcrFcrGabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm
index 9decc18a855..b929215e6c6 100644
--- a/_maps/map_files/generic/z2.dmm
+++ b/_maps/map_files/generic/z2.dmm
@@ -630,268 +630,355 @@
"mf" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape/centcom)
"mg" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom)
"mh" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape/centcom)
-"mi" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 10},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"mj" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"mk" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"ml" = (/obj/machinery/computer/syndicate_station/recall,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mm" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mn" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mo" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mp" = (/obj/machinery/vending/cigarette{products = list(/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate = 7, /obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 2, /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 1, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/lighter/random = 4, /obj/item/weapon/storage/fancy/rollingpapers = 5)},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mq" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/syndicate_mothership)
-"mr" = (/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
-"ms" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
-"mt" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/wiki/engineering_hacking,/obj/item/weapon/book/manual/robotics_cyborgs,/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/item/weapon/book/manual/detective,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
-"mu" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/tdome/tdomeobserve)
-"mv" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape/centcom)
-"mw" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_station/start)
-"mx" = (/obj/machinery/door/window{name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"my" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_station/start)
-"mz" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
-"mA" = (/obj/item/weapon/paper{info = "GET DAT FUKKEN DISK"; name = "memo"},/obj/structure/noticeboard{pixel_x = -32; pixel_y = 0},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mB" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mC" = (/mob/living/simple_animal/hostile/retaliate/bat{desc = "A Syndicate experiment in weaponized space carp technology. Its fangs seem to have been intentionally dulled down to prevent accidents."; faction = list("syndicate"); harm_intent_damage = 5; health = 50; icon_dead = "carp_dead"; icon_gib = "carp_gib"; icon_living = "carp"; icon_state = "carp"; name = "Cayenne"; real_name = "Cayenne"; response_disarm = "lightly brushes aside"; response_help = "pets"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mD" = (/obj/machinery/door/airlock/centcom{name = "Study"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mE" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
-"mF" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome/tdomeobserve)
-"mG" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome/tdomeobserve)
-"mH" = (/turf/unsimulated/floor{dir = 10; icon_state = "green"},/area/centcom/evac)
-"mI" = (/turf/unsimulated/floor{icon_state = "green"},/area/centcom/evac)
-"mJ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/evac)
-"mK" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/weapon/crowbar/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"mL" = (/obj/structure/table,/obj/item/weapon/storage/box/zipties{pixel_x = 1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"mM" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_surround"; dir = 8},/area/syndicate_mothership)
-"mN" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership)
-"mO" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/beer{pixel_x = -2; pixel_y = 5},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mP" = (/obj/structure/table/wood,/obj/item/pizzabox{ismessy = 1},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mQ" = (/obj/structure/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"mR" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (NORTHWEST)"; icon_state = "podhatch"; dir = 9},/area/syndicate_mothership)
-"mS" = (/obj/structure/dresser,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
-"mT" = (/obj/structure/table/wood,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
-"mU" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome/tdomeobserve)
-"mV" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome/tdomeobserve)
-"mW" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome/tdomeobserve)
-"mX" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome/tdomeobserve)
-"mY" = (/turf/unsimulated/wall/fakedoor{name = "Centcom"},/area/centcom/evac)
-"mZ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"na" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"nb" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership)
-"nc" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/syndicate_mothership)
-"nd" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"ne" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/beer{pixel_x = 5; pixel_y = -2; step_x = 0},/obj/item/toy/cards/deck/syndicate{icon_state = "deck_syndicate_full"; pixel_x = -6; pixel_y = 6},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"nf" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (WEST)"; icon_state = "podhatch"; dir = 8},/area/syndicate_mothership)
-"ng" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership)
-"nh" = (/turf/unsimulated/floor,/area/syndicate_mothership)
-"ni" = (/obj/machinery/door/poddoor/shutters{id = "nukeop_ready"; name = "shuttle dock"},/turf/unsimulated/floor,/area/syndicate_mothership)
-"nj" = (/turf/space,/area/tdome/tdomeobserve)
-"nk" = (/obj/machinery/suit_storage_unit/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"nl" = (/obj/effect/landmark{name = "Syndicate-Uplink"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"nm" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership)
-"nn" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor,/area/syndicate_mothership)
-"no" = (/obj/machinery/door_control{id = "nukeop_ready"; name = "mission launch control"; pixel_x = -26; pixel_y = 0; req_access_txt = "151"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"np" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (SOUTHWEST)"; icon_state = "podhatch"; dir = 10},/area/syndicate_mothership)
-"nq" = (/obj/structure/urinal{pixel_y = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"nr" = (/obj/structure/toilet{pixel_y = 8},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/machinery/door/window{name = "Tactical Toilet"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"ns" = (/obj/structure/stool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"nt" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"nu" = (/obj/machinery/door/poddoor{auto_close = 300; id = "smindicate"; name = "outer blast door"},/obj/machinery/door_control{id = "smindicate"; name = "external door control"; pixel_x = -26; pixel_y = 0; req_access_txt = "150"},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
-"nv" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start)
-"nw" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership)
-"nx" = (/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
-"ny" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
-"nz" = (/obj/structure/table/wood,/obj/item/device/syndicatedetonator{desc = "This gaudy button can be used to instantly detonate syndicate bombs that have been activated on the station. It is also fun to press."},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
-"nA" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"nB" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"nC" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"nD" = (/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeobserve)
-"nE" = (/obj/structure/stool/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeobserve)
-"nF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership)
-"nG" = (/obj/structure/table,/obj/item/weapon/c4{pixel_x = 2; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"nH" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
-"nI" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
-"nJ" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Uplink Management Control"; req_access_txt = "151"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
-"nK" = (/obj/item/weapon/soap/syndie,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"nL" = (/obj/item/weapon/mop,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"nM" = (/turf/unsimulated/wall/fakedoor{name = "Thunderdome"},/area/tdome/tdomeobserve)
-"nN" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeobserve)
-"nO" = (/obj/machinery/door/window{dir = 4; name = "EVA Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"nP" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"nQ" = (/obj/machinery/computer/telecrystals/boss,/turf/unsimulated/floor{tag = "icon-podhatch (NORTHEAST)"; icon_state = "podhatch"; dir = 5},/area/syndicate_mothership)
-"nR" = (/obj/structure/sign/map/left{pixel_y = -32},/obj/structure/rack{icon = 'icons/obj/stationobjs.dmi'; icon_state = "minibar_left"; name = "skeletal minibar"},/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
-"nS" = (/obj/structure/sign/map/right{pixel_y = -32},/obj/structure/rack{icon = 'icons/obj/stationobjs.dmi'; icon_state = "minibar_right"; name = "skeletal minibar"},/obj/item/weapon/reagent_containers/food/drinks/bottle/gin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
-"nT" = (/obj/machinery/door/airlock/glass_large{name = "Equipment Room"; opacity = 1; req_access_txt = "150"; text = "g"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"nU" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "EVA Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"nV" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/shuttle/plating,/area/syndicate_station/start)
-"nW" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"nX" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership)
-"nY" = (/turf/unsimulated/floor{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/syndicate_mothership)
-"nZ" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor/plating,/area/syndicate_mothership)
-"oa" = (/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/syndicate_mothership)
-"ob" = (/obj/machinery/computer/mech_bay_power_console,/turf/unsimulated/floor/plating,/area/syndicate_mothership)
-"oc" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"od" = (/turf/unsimulated/wall,/area/wizard_station)
-"oe" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/tdome/tdomeobserve)
-"of" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"og" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (NORTH)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership)
-"oh" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{tag = "icon-gravsnow_corner (NORTH)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership)
-"oi" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"oj" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"ok" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"ol" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"om" = (/obj/machinery/librarycomp,/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"on" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"oo" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"op" = (/obj/structure/dresser,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station)
-"oq" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station)
-"or" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/wiz,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station)
-"os" = (/turf/unsimulated/wall,/area/tdome/arena)
-"ot" = (/obj/machinery/igniter,/turf/simulated/floor/plasteel,/area/tdome/arena)
-"ou" = (/turf/simulated/floor/plasteel,/area/tdome/arena)
-"ov" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"ow" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"ox" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oy" = (/obj/structure/table,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oz" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -28; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oA" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell/high{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/cell/high,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oB" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 9},/obj/item/device/assembly/voice{pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oC" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/assembly/infra,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oD" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oE" = (/obj/structure/table,/obj/item/weapon/weldingtool/largetank{pixel_y = 3},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oF" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"oG" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station)
-"oH" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station)
-"oI" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station)
-"oJ" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"oK" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"oL" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"oM" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena)
-"oN" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/tdome/arena)
-"oO" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/tdome/arena)
-"oP" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"oQ" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"oR" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oS" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oT" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/item/weapon/crowbar/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"oU" = (/obj/structure/closet/syndicate/personal,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/syndicate_mothership)
-"oV" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"oW" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"oX" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"oY" = (/obj/structure/table/wood,/obj/item/weapon/storage/bag/tray,/obj/item/weapon/reagent_containers/food/snacks/burger/spell,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station)
-"oZ" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station)
-"pa" = (/obj/structure/table/wood,/obj/effect/landmark{name = "Teleport-Scroll"},/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station)
-"pb" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"pc" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"pd" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pe" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pf" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pg" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"ph" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"pi" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"pj" = (/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"pk" = (/obj/machinery/flasher{id = "tdomeflash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"pl" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"pm" = (/obj/structure/table,/obj/item/weapon/gun/syringe{pixel_x = 1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pn" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/antitoxin,/obj/item/weapon/reagent_containers/syringe/antitoxin{pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/antitoxin{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"po" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pp" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pq" = (/obj/structure/table,/obj/item/device/sbeacondrop/bomb{pixel_y = 5},/obj/item/device/sbeacondrop/bomb,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pr" = (/obj/structure/table,/obj/item/weapon/grenade/syndieminibomb{pixel_x = 4; pixel_y = 2},/obj/item/weapon/grenade/syndieminibomb{pixel_x = -1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"ps" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"pt" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"pu" = (/obj/structure/table/wood,/obj/item/clothing/gloves/color/white,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/santa,/obj/item/clothing/head/wizard/santa,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"pv" = (/obj/structure/table/wood,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"pw" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"px" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"py" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"pz" = (/obj/machinery/telecomms/allinone{intercept = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pA" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pB" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"pC" = (/obj/structure/table/wood,/obj/item/weapon/spacecash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"pD" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"pE" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station)
-"pF" = (/obj/structure/table,/obj/item/robot_parts/r_arm,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pG" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pH" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgicaldrill,/obj/item/weapon/scalpel,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pI" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
-"pJ" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pK" = (/obj/machinery/teleport/hub/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
-"pL" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_station/start)
-"pM" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_station/start)
-"pN" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_station/start)
-"pO" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/wizard_station)
-"pP" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/wizard_station)
-"pQ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 5},/area/wizard_station)
-"pR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"pS" = (/obj/structure/showcase{desc = "A historical figure of great importance to the wizard federation. He spent his long life learning magic, stealing artifacts, and harassing idiots with swords. May he rest forever, Rodney."; icon = 'icons/mob/mob.dmi'; icon_state = "nim"; name = "wizard of yendor showcase"},/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station)
-"pT" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station)
-"pU" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station)
-"pV" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/showcase{desc = "A strange machine supposedly from another world. The Wizard Federation has been meddling with it for years."; icon_state = "processor"; name = "byond random number generator"},/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station)
-"pW" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"pX" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"pY" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"pZ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/wizard_station)
-"qa" = (/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
-"qb" = (/obj/effect/decal/cleanable/blood,/mob/living/carbon/monkey,/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
-"qc" = (/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
-"qd" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"qe" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/tdome/tdomeadmin)
-"qf" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/tdome/tdomeadmin)
-"qg" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeadmin)
-"qh" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"qi" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"qj" = (/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station)
-"qk" = (/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station)
-"ql" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"qm" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"qn" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{pixel_y = 0},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"qo" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"qp" = (/obj/machinery/flasher_button{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"qq" = (/obj/effect/decal/cleanable/molten_item,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station)
-"qr" = (/turf/unsimulated/wall/fakeglass,/area/wizard_station)
-"qs" = (/obj/structure/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
-"qt" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
-"qu" = (/obj/structure/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
-"qv" = (/turf/unsimulated/wall,/area/tdome/tdomeadmin)
-"qw" = (/obj/machinery/computer/security/telescreen{pixel_y = -32},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"qx" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"qy" = (/turf/unsimulated/wall/fakedoor{name = "Thunderdome Admin"},/area/tdome/tdomeadmin)
-"qz" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"qA" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"qB" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"qC" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"qD" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"qE" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"qF" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"qG" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"qH" = (/obj/structure/rack,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"qI" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"qJ" = (/obj/structure/rack,/obj/item/toy/gun,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"qK" = (/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"qL" = (/turf/unsimulated/beach/sand,/area/centcom/holding)
-"qM" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"qN" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"qO" = (/obj/structure/table,/obj/item/clothing/head/that,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"qP" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"qQ" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"qR" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"qS" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"qT" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"qU" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"qV" = (/obj/structure/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"qW" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/centcom/holding)
-"qX" = (/obj/structure/rack,/obj/item/clothing/head/that,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/tie/waistcoat,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"qY" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"qZ" = (/obj/structure/rack,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"ra" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"rb" = (/turf/unsimulated/beach/coastline,/area/centcom/holding)
-"rc" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/centcom/holding)
-"rd" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/under/suit_jacket/female{desc = "A black trouser suit for women. Very formal."; name = "black suit"; pixel_x = 3; pixel_y = 1},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"re" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"rf" = (/turf/unsimulated/beach/water,/area/centcom/holding)
-"rg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
-"rh" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/holding)
-"ri" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
-"rj" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/holding)
+"mi" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "small"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/wizard_station)
+"mj" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 8; icon_state = "fakewindows2"},/area/wizard_station)
+"mk" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 4; icon_state = "fakewindows"},/area/wizard_station)
+"ml" = (/turf/unsimulated/wall/normal{tag = "icon-uranium2"; icon_state = "uranium2"},/area/wizard_station)
+"mm" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 10},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"mn" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"mo" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"mp" = (/obj/machinery/computer/syndicate_station/recall,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"mq" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"mr" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"ms" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"mt" = (/obj/machinery/vending/cigarette{products = list(/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate = 7, /obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 2, /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 1, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/lighter/random = 4, /obj/item/weapon/storage/fancy/rollingpapers = 5)},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"mu" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/syndicate_mothership)
+"mv" = (/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
+"mw" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
+"mx" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/wiki/engineering_hacking,/obj/item/weapon/book/manual/robotics_cyborgs,/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/item/weapon/book/manual/detective,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
+"my" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/tdome/tdomeobserve)
+"mz" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape/centcom)
+"mA" = (/obj/structure/lattice,/turf/space/transit/north/shuttlespace_ns1,/area/wizard_station)
+"mB" = (/obj/item/weapon/shard{color = "#008000"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
+"mC" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"mD" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"mE" = (/turf/unsimulated/wall/normal{tag = "icon-uranium5"; icon_state = "uranium5"},/area/wizard_station)
+"mF" = (/turf/unsimulated/wall/normal{tag = "icon-uranium10"; icon_state = "uranium10"},/area/wizard_station)
+"mG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_station/start)
+"mH" = (/obj/machinery/door/window{name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"mI" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_station/start)
+"mJ" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
+"mK" = (/obj/item/weapon/paper{info = "GET DAT FUKKEN DISK"; name = "memo"},/obj/structure/noticeboard{pixel_x = -32; pixel_y = 0},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"mL" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"mM" = (/mob/living/simple_animal/hostile/retaliate/bat{desc = "A Syndicate experiment in weaponized space carp technology. Its fangs seem to have been intentionally dulled down to prevent accidents."; faction = list("syndicate"); harm_intent_damage = 5; health = 50; icon_dead = "carp_dead"; icon_gib = "carp_gib"; icon_living = "carp"; icon_state = "carp"; name = "Cayenne"; real_name = "Cayenne"; response_disarm = "lightly brushes aside"; response_help = "pets"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"mN" = (/obj/machinery/door/airlock/centcom{name = "Study"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"mO" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
+"mP" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome/tdomeobserve)
+"mQ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome/tdomeobserve)
+"mR" = (/turf/unsimulated/floor{dir = 10; icon_state = "green"},/area/centcom/evac)
+"mS" = (/turf/unsimulated/floor{icon_state = "green"},/area/centcom/evac)
+"mT" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/evac)
+"mU" = (/obj/structure/lattice,/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/turf/space/transit/north/shuttlespace_ns1,/area/wizard_station)
+"mV" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station)
+"mW" = (/turf/unsimulated/floor{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/wizard_station)
+"mX" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"mY" = (/turf/unsimulated/wall/normal{tag = "icon-uranium3"; icon_state = "uranium3"},/area/wizard_station)
+"mZ" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/weapon/crowbar/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"na" = (/obj/structure/table,/obj/item/weapon/storage/box/zipties{pixel_x = 1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"nb" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_surround"; dir = 8},/area/syndicate_mothership)
+"nc" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership)
+"nd" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/beer{pixel_x = -2; pixel_y = 5},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"ne" = (/obj/structure/table/wood,/obj/item/pizzabox{ismessy = 1},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"nf" = (/obj/structure/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"ng" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (NORTHWEST)"; icon_state = "podhatch"; dir = 9},/area/syndicate_mothership)
+"nh" = (/obj/structure/dresser,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
+"ni" = (/obj/structure/table/wood,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
+"nj" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome/tdomeobserve)
+"nk" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome/tdomeobserve)
+"nl" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome/tdomeobserve)
+"nm" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome/tdomeobserve)
+"nn" = (/turf/unsimulated/wall/fakedoor{name = "Centcom"},/area/centcom/evac)
+"no" = (/obj/structure/showcase{desc = "A strange machine supposedly from another world. The Wizard Federation has been meddling with it for years."; icon_state = "processor"; name = "byond random number generator"},/turf/unsimulated/floor{tag = "icon-cultdamage7"; icon_state = "cultdamage7"},/area/wizard_station)
+"np" = (/obj/item/weapon/gun/energy/pulse_rifle,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"nq" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"nr" = (/obj/structure/showcase{desc = "A historical figure of great importance to the wizard federation. He spent his long life learning magic, stealing artifacts, and harassing idiots with swords. May he rest forever, Rodney."; icon = 'icons/mob/mob.dmi'; icon_state = "nim"; name = "wizard of yendor showcase"},/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station)
+"ns" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"nt" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"nu" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership)
+"nv" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/syndicate_mothership)
+"nw" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"nx" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/beer{pixel_x = 5; pixel_y = -2; step_x = 0},/obj/item/toy/cards/deck/syndicate{icon_state = "deck_syndicate_full"; pixel_x = -6; pixel_y = 6},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"ny" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (WEST)"; icon_state = "podhatch"; dir = 8},/area/syndicate_mothership)
+"nz" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 6; icon_state = "fakewindows2"},/area/wizard_station)
+"nA" = (/obj/effect/forcefield,/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Bridge"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"nB" = (/turf/unsimulated/wall/normal{tag = "icon-uranium6"; icon_state = "uranium6"},/area/wizard_station)
+"nC" = (/turf/unsimulated/wall/normal{tag = "icon-uranium9"; icon_state = "uranium9"},/area/wizard_station)
+"nD" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership)
+"nE" = (/turf/unsimulated/floor,/area/syndicate_mothership)
+"nF" = (/obj/machinery/door/poddoor/shutters{id = "nukeop_ready"; name = "shuttle dock"},/turf/unsimulated/floor,/area/syndicate_mothership)
+"nG" = (/turf/space,/area/tdome/tdomeobserve)
+"nH" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station)
+"nI" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"nJ" = (/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"nK" = (/obj/machinery/suit_storage_unit/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"nL" = (/obj/effect/landmark{name = "Syndicate-Uplink"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"nM" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership)
+"nN" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor,/area/syndicate_mothership)
+"nO" = (/obj/machinery/door_control{id = "nukeop_ready"; name = "mission launch control"; pixel_x = -26; pixel_y = 0; req_access_txt = "151"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"nP" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (SOUTHWEST)"; icon_state = "podhatch"; dir = 10},/area/syndicate_mothership)
+"nQ" = (/obj/structure/urinal{pixel_y = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"nR" = (/obj/structure/toilet{pixel_y = 8},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/machinery/door/window{name = "Tactical Toilet"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"nS" = (/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/wizard_station)
+"nT" = (/turf/unsimulated/wall/fakedoor{name = "Squad 4 Pod"},/area/wizard_station)
+"nU" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/wizard_station)
+"nV" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/wizard_station)
+"nW" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"nX" = (/turf/unsimulated/floor{tag = "icon-cultdamage7"; icon_state = "cultdamage7"},/area/wizard_station)
+"nY" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"nZ" = (/obj/structure/stool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"oa" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"ob" = (/obj/machinery/door/poddoor{auto_close = 300; id = "smindicate"; name = "outer blast door"},/obj/machinery/door_control{id = "smindicate"; name = "external door control"; pixel_x = -26; pixel_y = 0; req_access_txt = "150"},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
+"oc" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start)
+"od" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership)
+"oe" = (/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
+"of" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
+"og" = (/obj/structure/table/wood,/obj/item/device/syndicatedetonator{desc = "This gaudy button can be used to instantly detonate syndicate bombs that have been activated on the station. It is also fun to press."},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
+"oh" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"oi" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"oj" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"ok" = (/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeobserve)
+"ol" = (/obj/structure/stool/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeobserve)
+"om" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/space,/area/wizard_station)
+"on" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/simulated/floor/plating/airless,/area/wizard_station)
+"oo" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
+"op" = (/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
+"oq" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plating/airless,/area/wizard_station)
+"or" = (/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"os" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage7"; icon_state = "cultdamage7"},/area/wizard_station)
+"ot" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
+"ou" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership)
+"ov" = (/obj/structure/table,/obj/item/weapon/c4{pixel_x = 2; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"ow" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
+"ox" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
+"oy" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Uplink Management Control"; req_access_txt = "151"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
+"oz" = (/obj/item/weapon/soap/syndie,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"oA" = (/obj/item/weapon/mop,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"oB" = (/turf/unsimulated/wall/fakedoor{name = "Thunderdome"},/area/tdome/tdomeobserve)
+"oC" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 2},/area/tdome/tdomeobserve)
+"oD" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/wizard_station)
+"oE" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/wizard_station)
+"oF" = (/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
+"oG" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station)
+"oH" = (/obj/structure/table/wood/poker,/obj/item/toy/cards/cardhand,/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station)
+"oI" = (/obj/machinery/door/window{dir = 4; name = "EVA Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"oJ" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"oK" = (/obj/machinery/computer/telecrystals/boss,/turf/unsimulated/floor{tag = "icon-podhatch (NORTHEAST)"; icon_state = "podhatch"; dir = 5},/area/syndicate_mothership)
+"oL" = (/obj/structure/sign/map/left{pixel_y = -32},/obj/structure/rack{icon = 'icons/obj/stationobjs.dmi'; icon_state = "minibar_left"; name = "skeletal minibar"},/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
+"oM" = (/obj/structure/sign/map/right{pixel_y = -32},/obj/structure/rack{icon = 'icons/obj/stationobjs.dmi'; icon_state = "minibar_right"; name = "skeletal minibar"},/obj/item/weapon/reagent_containers/food/drinks/bottle/gin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
+"oN" = (/obj/machinery/door/airlock/glass_large{name = "Equipment Room"; opacity = 1; req_access_txt = "150"; text = "g"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"oO" = (/obj/structure/lattice,/obj/effect/forcefield,/turf/space/transit/north/shuttlespace_ns1,/area/wizard_station)
+"oP" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"oQ" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"oR" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "EVA Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"oS" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/shuttle/plating,/area/syndicate_station/start)
+"oT" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"oU" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership)
+"oV" = (/turf/unsimulated/floor{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/syndicate_mothership)
+"oW" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor/plating,/area/syndicate_mothership)
+"oX" = (/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/syndicate_mothership)
+"oY" = (/obj/machinery/computer/mech_bay_power_console,/turf/unsimulated/floor/plating,/area/syndicate_mothership)
+"oZ" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"pa" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/tdome/tdomeobserve)
+"pb" = (/turf/unsimulated/wall/normal{tag = "icon-uranium8"; icon_state = "uranium8"},/area/wizard_station)
+"pc" = (/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Break Room"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pd" = (/turf/unsimulated/wall/normal{tag = "icon-uranium4"; icon_state = "uranium4"},/area/wizard_station)
+"pe" = (/turf/unsimulated/wall/normal{tag = "icon-uranium12"; icon_state = "uranium12"},/area/wizard_station)
+"pf" = (/turf/unsimulated/wall/normal{tag = "icon-uranium14"; icon_state = "uranium14"},/area/wizard_station)
+"pg" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Break Room"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"ph" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pi" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (NORTH)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership)
+"pj" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{tag = "icon-gravsnow_corner (NORTH)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership)
+"pk" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"pl" = (/turf/unsimulated/wall,/area/tdome/arena)
+"pm" = (/obj/machinery/igniter,/turf/simulated/floor/plasteel,/area/tdome/arena)
+"pn" = (/turf/simulated/floor/plasteel,/area/tdome/arena)
+"po" = (/turf/unsimulated/wall/normal{tag = "icon-uranium1"; icon_state = "uranium1"},/area/wizard_station)
+"pp" = (/obj/structure/stool/bed/chair/wood/wings,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pq" = (/obj/structure/table/wood,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pr" = (/obj/structure/table/wood,/obj/item/weapon/retractor,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"ps" = (/obj/structure/table/wood,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pt" = (/obj/structure/table/wood,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pu" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pv" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"pw" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"px" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"py" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pz" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pA" = (/obj/structure/table,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pB" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -28; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pC" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell/high{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/cell/high,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pD" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 9},/obj/item/device/assembly/voice{pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pE" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/assembly/infra,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pF" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pG" = (/obj/structure/table,/obj/item/weapon/weldingtool/largetank{pixel_y = 3},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pH" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"pI" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"pJ" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"pK" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
+"pL" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena)
+"pM" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/tdome/arena)
+"pN" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/tdome/arena)
+"pO" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
+"pP" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"pQ" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows"},/area/wizard_station)
+"pR" = (/obj/structure/cult/tome,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pS" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/obj/item/clothing/shoes/sandal,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pT" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack{health = 9999},/obj/item/clothing/suit/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"pU" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/wizard_station)
+"pV" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/wizard_station)
+"pW" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pX" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pY" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/item/weapon/crowbar/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"pZ" = (/obj/structure/closet/syndicate/personal,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/syndicate_mothership)
+"qa" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"qb" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
+"qc" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
+"qd" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows2"},/area/wizard_station)
+"qe" = (/obj/structure/bookcase,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"qf" = (/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station)
+"qg" = (/obj/structure/cult/talisman{desc = "A altar dedicated to the Wizard's Federation"},/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"qh" = (/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"qi" = (/obj/effect/decal/cleanable/blood/splatter,/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"qj" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/plating/airless,/area/wizard_station)
+"qk" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
+"ql" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
+"qm" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/plating/airless,/area/wizard_station)
+"qn" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space,/area/wizard_station)
+"qo" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qp" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qq" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qr" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
+"qs" = (/turf/simulated/floor/bluegrid,/area/tdome/arena)
+"qt" = (/obj/machinery/flasher{id = "tdomeflash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
+"qu" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
+"qv" = (/turf/unsimulated/wall/fakeglass{color = "#008000"},/area/wizard_station)
+"qw" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station)
+"qx" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
+"qy" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"qz" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/wizard_station)
+"qA" = (/turf/unsimulated/wall/fakedoor{name = "Squad 3 Pod"},/area/wizard_station)
+"qB" = (/obj/structure/table,/obj/item/weapon/gun/syringe{pixel_x = 1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qC" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/antitoxin,/obj/item/weapon/reagent_containers/syringe/antitoxin{pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/antitoxin{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qD" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qE" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qF" = (/obj/structure/table,/obj/item/device/sbeacondrop/bomb{pixel_y = 5},/obj/item/device/sbeacondrop/bomb,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qG" = (/obj/structure/table,/obj/item/weapon/grenade/syndieminibomb{pixel_x = 4; pixel_y = 2},/obj/item/weapon/grenade/syndieminibomb{pixel_x = -1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qH" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
+"qI" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"qJ" = (/obj/structure/cult/pylon,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"qK" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack,/obj/item/weapon/staff,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"qL" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station)
+"qM" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"qN" = (/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station)
+"qO" = (/obj/machinery/telecomms/allinone{intercept = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qP" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qQ" = (/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"qR" = (/turf/unsimulated/wall/normal{tag = "icon-uranium15"; icon_state = "uranium15"},/area/wizard_station)
+"qS" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"qT" = (/obj/structure/table,/obj/item/robot_parts/r_arm,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qU" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qV" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgicaldrill,/obj/item/weapon/scalpel,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qW" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
+"qX" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qY" = (/obj/machinery/teleport/hub/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
+"qZ" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/wizard_station)
+"ra" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_station/start)
+"rb" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_station/start)
+"rc" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_station/start)
+"rd" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"re" = (/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station)
+"rf" = (/obj/effect/forcefield,/turf/space/transit/north/shuttlespace_ns13,/area/wizard_station)
+"rg" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"rh" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"ri" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/tdome/tdomeadmin)
+"rj" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/tdome/tdomeadmin)
+"rk" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeadmin)
+"rl" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"rm" = (/obj/structure/lattice,/turf/space/transit/north/shuttlespace_ns12,/area/wizard_station)
+"rn" = (/obj/effect/forcefield,/turf/space/transit/north/shuttlespace_ns7,/area/wizard_station)
+"ro" = (/obj/structure/lattice,/turf/space/transit/north/shuttlespace_ns4,/area/wizard_station)
+"rp" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"rq" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"rr" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{pixel_y = 0},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"rs" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"rt" = (/obj/machinery/flasher_button{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"ru" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Personal Quarters"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"rv" = (/turf/unsimulated/wall,/area/tdome/tdomeadmin)
+"rw" = (/obj/machinery/computer/security/telescreen{pixel_y = -32},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"rx" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"ry" = (/obj/structure/table/wood,/obj/effect/landmark{name = "Teleport-Scroll"},/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station)
+"rz" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station)
+"rA" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station)
+"rB" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/wizard_station)
+"rC" = (/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station)
+"rD" = (/turf/unsimulated/wall/fakedoor{name = "Thunderdome Admin"},/area/tdome/tdomeadmin)
+"rE" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"rF" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"rG" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"rH" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station)
+"rI" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/wiz,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station)
+"rJ" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station)
+"rK" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"rL" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/wizard_station)
+"rM" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/wizard_station)
+"rN" = (/obj/structure/lattice,/turf/space/transit/north/shuttlespace_ns10,/area/wizard_station)
+"rO" = (/obj/structure/dresser,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station)
+"rP" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station)
+"rQ" = (/obj/structure/table/wood,/obj/item/weapon/storage/bag/tray,/obj/item/weapon/reagent_containers/food/snacks/burger/spell,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station)
+"rR" = (/turf/unsimulated/wall/fakedoor{name = "Squad 2 Pod"},/area/wizard_station)
+"rS" = (/obj/structure/lattice,/turf/space/transit/north/shuttlespace_ns7,/area/wizard_station)
+"rT" = (/obj/structure/lattice,/turf/space/transit/north/shuttlespace_ns14,/area/wizard_station)
+"rU" = (/turf/unsimulated/wall/normal{tag = "icon-uranium13"; icon_state = "uranium13"},/area/wizard_station)
+"rV" = (/turf/simulated/shuttle/wall,/area/wizard_station)
+"rW" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/wizard_station)
+"rX" = (/obj/structure/lattice,/turf/space/transit/north/shuttlespace_ns11,/area/wizard_station)
+"rY" = (/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"rZ" = (/obj/structure/table/wood,/obj/item/weapon/gun/magic/wand{desc = "Used in emergency's to reignite magma engines. This one appears spent."; name = "wand of emergency engine ignition"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"sa" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/wizard_station)
+"sb" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"sc" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"sd" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"se" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"sf" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"sg" = (/obj/structure/rack,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"sh" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"si" = (/obj/structure/rack,/obj/item/toy/gun,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"sj" = (/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"sk" = (/turf/unsimulated/beach/sand,/area/centcom/holding)
+"sl" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"sm" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"sn" = (/obj/structure/lattice,/turf/space/transit/north/shuttlespace_ns9,/area/wizard_station)
+"so" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Engine Room B"},/turf/space/transit/north/shuttlespace_ns2,/area/wizard_station)
+"sp" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Engine Room B"},/turf/space/transit/north/shuttlespace_ns1,/area/wizard_station)
+"sq" = (/obj/structure/table,/obj/item/clothing/head/that,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"sr" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"ss" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"st" = (/obj/structure/lattice,/turf/space/transit/north/shuttlespace_ns2,/area/wizard_station)
+"su" = (/obj/structure/cult/forge{desc = "A engine used in powering the wizards ship"; name = "magma engine"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"sv" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"sw" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"sx" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"sy" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"sz" = (/obj/structure/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"sA" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/centcom/holding)
+"sB" = (/turf/unsimulated/wall/normal{tag = "icon-uranium11"; icon_state = "uranium11"},/area/wizard_station)
+"sC" = (/obj/structure/window/reinforced{color = "#008000"; dir = 1},/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station)
+"sD" = (/turf/unsimulated/wall/normal{tag = "icon-uranium7"; icon_state = "uranium7"},/area/wizard_station)
+"sE" = (/obj/structure/rack,/obj/item/clothing/head/that,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/tie/waistcoat,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"sF" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"sG" = (/obj/structure/shuttle/engine/heater,/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station)
+"sH" = (/obj/structure/rack,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"sI" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"sJ" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/space)
+"sK" = (/turf/unsimulated/beach/coastline,/area/centcom/holding)
+"sL" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/centcom/holding)
+"sM" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/under/suit_jacket/female{desc = "A black trouser suit for women. Very formal."; name = "black suit"; pixel_x = 3; pixel_y = 1},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"sN" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"sO" = (/turf/unsimulated/beach/water,/area/centcom/holding)
+"sP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
+"sQ" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/holding)
+"sR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
+"sS" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/holding)
(1,1,1) = {"
aaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaNaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaQ
@@ -921,44 +1008,44 @@ ahbebdaSbbbcbaelcccbcwcIcxcvcncvcncmceeBaSaYaRbbaWaTanauavbgbhbibjbnaBblbmapaqar
agbbaTaZaYbfbdewcncmcJdicKcIcwcIcwcdcleFaZbaaUaYaSbcakbhbibjbnbkblbmaEaqarasatauavbgbhbibjbnbkblbmapaqarasatauavbgbhayaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeGeHcFcFcFcFcFeIeJeEeEeEeEeEeEeEeEeEeEeEeEeEeKeIcFcFcFcFcFeHeLeC
acaYbcaVbaaRaTeBcwcdcecbccdicJdicJcocvckaVbdaXbaaZbfaaasatauavbgbhbiazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaGaHaIaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeGeHcFcFcFcFcFeIeJeEeEeEeEeEeEeEeEeEeEeEeEeEeKeIcFcFcFcFcFeHeLeC
aibabfbebdaUbceFcJcoclcmcncbcecbcecxcIcubeaTaWbdaVaRajaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeGeHcFcFcFcFcFeIeJeEeEeEeEeEeMeNeMeEeEeEeEeEeKeIcFcFcFcFcFeHeLeC
-afbdaRbbaTaXbfckcecxcvcdcwcmclcmclcKdicHbbbcaSaTbeaUamaLaaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeGeHcFcFcFcFcFeIeJeEeEeEeEeEeMeMeMeEeEeEeEeEeKeIcFcFcFcFcFeHeLeC
-anaTaUaYbcaWaRcuclcKcIcocJcdcvcdcvcccbcWaYbfaZbcbbaXadaLajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeGeHcFcFcFcFcFeIeJeEeEeEeEeEeEeEeEeEeEeEeEeEeKeIcFcFcFcFcFeHeLeC
-akbcaXbabfaSaUcHcvccdicxcecocIcocIcncmcpbaaRaVbfaYaWalaLamaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeGeHcFcFcFcFcFeIeJeEeEeEeEeEeEeEeEeEeEeEeEeEeKeIcFcFcFcFcFeHeLeC
-aabfaWbdaRaZaXaUcycIclcmdicecdcecdcccLaWbdaUbeaRbaaSaoaLadaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeCeCeOeOeOeOeOeCeDeEeEeEeEeEeEeEeEeEeEeEeEeEeDeCeOeOeOeOeOeCeCeC
-ajaRaSaTaUaVaWaXaYdIewejckeBegcucydXbaaSaTaXbbaUbdaZabaLalaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCePePePePePeCcFcFcFcFcFcFcFcFcFcFcFcFcFcFcFeCeQeQeQeQeQeCaMaM
-amaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaLaoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeCeCeCeCeCeCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeCeCeCeCeCeCaMaM
-adaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaLabaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-alaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagaLaeaVbaaWbeaTaYbbaRbdaUbfaSaXbcaZaYaTaUbaaWbbbfbeaXbdafaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacaLahbebdaSbbbcbaaYeRbLbMbNbObPbQbRbSbTeSbdaSaYaRbbaWaTanaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-abaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaLagbbaTaZaYbfbdbaeSeTeUeVeWeXeYeZfafbfcaTaZbaaUaYaSbcakaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aeanamacakalajaaaeadahabaiagaoafajalahamacaaabakagadafaLacaYbcaVbaaRaTbdfceZfafdfeffeWeVfgfhbUbcaVbdaXbaaZbfaaaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-ahbebdaSbbbcbaaYaUaTaXaRaZaWbfaVbabcaXbdaSaYaRbbaWaTanaLaibabfbebdaUbcaTbUeVfgfbeUeTfefdfieYfjbfbeaTaWbdaVaRajaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-agbbaTaZaYbfbdbaaXbcaWaUaVaSaRbebdbfaWaTaZbaaUaYaSbcakaLafbdaRbbaTaXbfbcfjfdfifhfaeZeUfbeXeWfkaRbbbcaSaTbeaUamaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-acaYbcaVbaaRaTbdaWbfaSaXbeaZaUbbaTaRaSbcaVbdaXbaaZbfaaaLanaTaUaYbcaWaRbffkfbeXeYfgeVfafhfffeflaUaYbfaZbcbbaXadaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aibabfbebdaUbcaTaSaRaZaWbbaVaXaYbcaUaZbfbeaTaWbdaVaRajaLakbcaXbabfaSaUaRflbbaXeWfifdfgeYaWaTfmaXbaaRaVbfaYaWalaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-afbdaRbbaTaXbfbcaZaUaVaSaYbeaWbabfaXaVaRbbbcaSaTbeaUamaLaabfaWbdaRbObMfnfofpbPfeeXfbfieWaSbcfqaWbdaUbeaRbaaSaoaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-anaTaUaYbcaWaRbfaVaXbeaZbabbaSbdaRaWbeaUaYbfaZbcbbaXadaLajaRaSaTaUfkeTffeYeWeZeUfffheXfeaZbfbKaSaTaXbbaUbdaZabaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-akbcaXbabfaSaUaRbeaWbbaVbdaYaZaTaUaSbbaXbaaRaVbfaYaWalaLamaUaZbcaXfleZeTeWfeeVfaeTeYffeUbTbTbTbTfraWaYaXaTaVaeaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aabfaWbdaRaZaXaUfsftfpfufvbafwfxbMfyfzaWbdaUbeaRbaaSaoaLadaXaVbfaWfmeVeZfeeUfdfgeZeWeTfafbeXeUfdcaaSbaaWbcbeahaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-ajaRaSaTaUaVaWaXfAfBfCfDfEaXfFfGfHfIfJbaaTaXbbaUbdaZabaLalaWbeaRaSfqfdeVeUfafbfieVfeeZfgfhfffafbfKaZbdaSbfbbagaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-amaUaZbcaXbeaSaWfJfLfMfNfOaWfPfQfRfSfTbdbcaWaYaXaTaVaeaLaoaSbbaUaZbKfbfdfafgfheXfdeUeVfieYeTfgfheRaVaTaZaRaYacaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-adaXaVbfaWbbaZaSfTfUfVfCfwaSfAfWfXfYfZaTbfaSbaaWbcbeahaLabaZaYaXfkgafhfbfgfieYfffbfafdeXeWeZfieYgbfufraVaUbaaiaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-alaWbeaRaSaYaVaZfZfDgcfMgdaZfJgefIgffEbcaRaZbdaSbfbbagaLaeaVbaaWfleUeYfhfieXeWeTfhfgfbfffeeVeXeWeTfhcabeaXbdafaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aoaSbbaUaZbabeaVfEfAfOfZfsaVfTfzfFfJfObfaUaVaTaZaRaYacaLahbebdaSfmfaeWeYeXfffeeZeYfifheTeUfdfffeeZeYfKbbaWaTanaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-abaZaYaXaVbdbbbeaZaUaVaSaYbeaWbabfaXaVaRaXbebcaVaUbaaiaLagbbaTaZfqfgfeeWffeTeUeVeWeXeYeZfafbeTeUeVeWeRaYaSbcakaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aeaVbaaWbeaTaYbbaRbdaUbfaSaXbcaZaYaTaUbaaWbbbfbeaXbdafaLacaYbcaVbKfieUfeeTeZfafdfeffeWeVfgfheZfafdfeeSbaaZbfaaaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-ahbebdaSbbbcbaaYaUaTaXaRaZaWbfaVbabcaXbdaSaYaRbbaWaTanaLaibabfbeggeXfaeUeZeVfgfbeUeTfefdfieYeVfgfbeUfcbdaVaRajaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-agbbaTaZaYbfbdbaaXbcaWaUaVaSaRbebdbfaWaTaZbaaUaYaSbcakaLafbdaRbbghfffgfaeVfdfifhfaeZeUfbeXeWfdfifhfabUaTbeaUamaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-acaYbcaVbaaRaTbdaWbfaSaXbeaZaUbbaTaRaSbcaVbdaXbaaZbfaaaLanaTaUaYfreTfifgfdfbaUeYfgeVfafhaXfefbeXeYfgfjbcbbaXadaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aibabfbebdaUbcaTaSaRaZaWbbaVaXaYbcaUaZbfbeaTaWbdaVaRajaLakbcaXbacaeZeXfifbeTbbfdfeeYeVeUaUeZfhffeWfifkbfaYaWalaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-afbdaRbbaTaXbfbcaZaUaVaSaYbeaWbabfaXaVaRbbbcaSaTbeaUamaLaabfaWbdfKeVffeXfheZaYbeaTbaaVbcaXeVeYeTfeeXflaRbaaSaoaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-analahajaoacaeabanagakafamaaaiadaeacakahajabafaoaaagadaLajaRaSaTcWdXcycpeldIewejckeBegcucydXewcLeFcpejaUbdaZabaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-bebcaXbabfaSaUaRbeaWbbaVbdaYaZaTaUaSbbaXbaaRaVbfaYaWaTaLamaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-bbbfaWbdaRaZaXaUbbaSaYbeaTbaaVbcaXaZaYaWbdaUbeaRbaaSbcaLadaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aYaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZbfaLalaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-baaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaRaLaoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-bdaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeaUaLabaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aTaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbaXaLaeanamacakalajaaaeadahabaiagaoafajalahamacaaabakagadafaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+afbdaRbbaTaXbfckcecxcvcdcwcmclcmclcKdicHbbbcaSaTbeaUamaLaaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamamaiaoaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeGeHcFcFcFcFcFeIeJeEeEeEeEeEeMeMeMeEeEeEeEeEeKeIcFcFcFcFcFeHeLeC
+anaTaUaYbcaWaRcuclcKcIcocJcdcvcdcvcccbcWaYbfaZbcbbaXadaLajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdbdaZabaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeGeHcFcFcFcFcFeIeJeEeEeEeEeEeEeEeEeEeEeEeEeEeKeIcFcFcFcFcFeHeLeC
+akbcaXbabfaSaUcHcvccdicxcecocIcocIcncmcpbaaRaVbfaYaWalaLamaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaTaVaeaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeGeHcFcFcFcFcFeIeJeEeEeEeEeEeEeEeEeEeEeEeEeEeKeIcFcFcFcFcFeHeLeC
+aabfaWbdaRaZaXaUcycIclcmdicecdcecdcccLaWbdaUbeaRbaaSaoaLadaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbcbeahaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeCeCeOeOeOeOeOeCeDeEeEeEeEeEeEeEeEeEeEeEeEeEeDeCeOeOeOeOeOeCeCeC
+ajaRaSaTaUaVaWaXaYdIewejckeBegcucydXbaaSaTaXbbaUbdaZabaLalaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbfbbagaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCePePePePePeCcFcFcFcFcFcFcFcFcFcFcFcFcFcFcFeCeQeQeQeQeQeCaMaM
+amaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaLaoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaRaYacaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeCeCeCeCeCeCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCeCeCeCeCeCeCaMaM
+adaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaLabaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUaUbaaiaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+alaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagaLaeaVbaaWbeaTaYbbaRbdaUbfaSaXbcaZaYaTaUbaaWbbbfbeaXaXbdafaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacaLahbebdaSbbbcbaaYeRbLbMbNbObPbQbRbSbTeSbdaSaYaRbbaWaWaTanaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+abaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaLagbbaTaZaYbfbdbaeSeTeUeVeWeXeYeZfafbfcaTaZbaaUaYaSaSbcakaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aeanamacakalajaaaeadahabaiagaoafajalahamacaaabakagadafaLacaYbcaVbaaRaTbdfceZfafdfeffeWeVfgfhbUbcaVbdaXbaaZaZbfaaaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+ahbebdaSbbbcbaaYaUaTaXaRaZaWbfaVbabcaXbdaSaYaRbbaWaTanaLaibabfbebdaUbcaTbUeVfgfbeUeTfefdfieYfjbfbeaTaWbdaVaVaRajaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+agbbaTaZaYbfbdbaaXbcaWaUaVaSaRbebdbfaWaTaZbaaUaYaSbcakaLafbdaRbbaTaXbfbcfjfdfifhfaeZeUfbeXeWfkaRbbbcaSaTbebeaUamaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+acaYbcaVbaaRaTbdaWbfaSaXbeaZaUbbaTaRaSbcaVbdaXbaaZbfaaaLanaTaUaYbcaWaRbffkfbeXeYfgeVfafhfffeflaUaYbfaZbcbbbbaXadaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aibabfbebdaUbcaTaSaRaZaWbbaVaXaYbcaUaZbfbeaTaWbdaVaRajaLakbcaXbabfaSaUaRflbbaXeWfifdfgeYaWaTfmaXbaaRaVbfaYaYaWalaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+afbdaRbbaTaXbfbcaZaUaVaSaYbeaWbabfaXaVaRbbbcaSaTbeaUamaLaabfaWbdaRbObMfnfofpbPfeeXfbfieWaSbcfqaWbdaUbeaRbabaaSaoaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+anaTaUaYbcaWaRbfaVaXbeaZbabbaSbdaRaWbeaUaYbfaZbcbbaXadaLajaRaSaTaUfkeTffeYeWeZeUfffheXfeaZbfbKaSaTaXbbaUbdbdaZabaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+akbcaXbabfaSaUaRbeaWbbaVbdaYaZaTaUaSbbaXbaaRaVbfaYaWalaLamaUaZbcaXfleZeTeWfeeVfaeTeYffeUbTbTbTbTfraWaYaXaTaTaVaeaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aabfaWbdaRaZaXaUfsftfpfufvbafwfxbMfyfzaWbdaUbeaRbaaSaoaLadaXaVbfaWfmeVeZfeeUfdfgeZeWeTfafbeXeUfdcaaSbaaWbcbcbeahaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+ajaRaSaTaUaVaWaXfAfBfCfDfEaXfFfGfHfIfJbaaTaXbbaUbdaZabaLalaWbeaRaSfqfdeVeUfafbfieVfeeZfgfhfffafbfKaZbdaSbfbfbbagaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+amaUaZbcaXbeaSaWfJfLfMfNfOaWfPfQfRfSfTbdbcaWaYaXaTaVaeaLaoaSbbaUaZbKfbfdfafgfheXfdeUeVfieYeTfgfheRaVaTaZaRaRaYacaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+adaXaVbfaWbbaZaSfTfUfVfCfwaSfAfWfXfYfZaTbfaSbaaWbcbeahaLabaZaYaXfkgafhfbfgfieYfffbfafdeXeWeZfieYgbgbfufraUaUbaaiaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+alaWbeaRaSaYaVaZfZfDgcfMgdaZfJgefIgffEbcaRaZbdaSbfbbagaLaeaVbaaWfleUeYfhfieXeWeTfhfgfbfffeeVeXeWeTeTfhcaaXaXbdafaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aoaSbbaUaZbabeaVfEfAfOfZfsaVfTfzfFfJfObfaUaVaTaZaRaYacaLahbebdaSfmfaeWeYeXfffeeZeYfifheTeUfdfffeeZeZeYfKaWaWaTanaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+abaZaYaXaVbdbbbeaZaUaVaSaYbeaWbabfaXaVaRaXbebcaVaUbaaiaLagbbaTaZfqfgfeeWffeTeUeVeWeXeYeZfafbeTeUeVeVeWeRaSaSbcakaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aeaVbaaWbeaTaYbbaRbdaUbfaSaXbcaZaYaTaUbaaWbbbfbeaXbdafaLacaYbcaVbKfieUfeeTeZfafdfeffeWeVfgfheZfafdfdfeeSaZaZbfaaaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+ahbebdaSbbbcbaaYaUaTaXaRaZaWbfaVbabcaXbdaSaYaRbbaWaTanaLaibabfbeggeXfaeUeZeVfgfbeUeTfefdfieYeVfgfbfbeUfcaVaVaRajaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+agbbaTaZaYbfbdbaaXbcaWaUaVaSaRbebdbfaWaTaZbaaUaYaSbcakaLafbdaRbbghfffgfaeVfdfifhfaeZeUfbeXeWfdfifhfhfabUbebeaUamaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+acaYbcaVbaaRaTbdaWbfaSaXbeaZaUbbaTaRaSbcaVbdaXbaaZbfaaaLanaTaUaYfreTfifgfdfbaUeYfgeVfafhaXfefbeXeYeYfgfjbbbbaXadaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aibabfbebdaUbcaTaSaRaZaWbbaVaXaYbcaUaZbfbeaTaWbdaVaRajaLakbcaXbacaeZeXfifbeTbbfdfeeYeVeUaUeZfhffeWeWfifkaYaYaWalaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+afbdaRbbaTaXbfbcaZaUaVaSaYbeaWbabfaXaVaRbbbcaSaTbeaUamaLaabfaWbdfKeVffeXfheZaYbeaTbaaVbcaXeVeYeTfefeeXflbabaaSaoaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+analahajaoacaeabanagakafamaaaiadaeacakahajabafaoaaagadaLajaRaSaTcWdXcycpeldIewejckeBegcucydXewcLeFeFcpejbdbdaZabaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+bebcaXbabfaSaUaRbeaWbbaVbdaYaZaTaUaSbbaXbaaRaVbfaYaWaTaLamaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaTaVaeaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+bbbfaWbdaRaZaXaUbbaSaYbeaTbaaVbcaXaZaYaWbdaUbeaRbaaSbcaLadaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbcbeahaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aYaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZbfaLalaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbfbbagaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+baaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaRaLaoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaRaYacaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+bdaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeaUaLabaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUaUbaaiaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aTaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbaXaLaeanamacakalajaaaeadahabaiagaoafajalahamacaaabakagagadafaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
bcaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYaWaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
@@ -1048,52 +1135,52 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjcjyjzjzjcjAjBicjCjCjCjCjBjDiaiBiBiBiBjEjFjEjGjwjHjHiqjIjJjKiGjliqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjLjcjcjDjMicjNjOjPjCjMjDiajsjujQjsjtjtjujRiYiYiYjSjKjKjKiGjliDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjcjTjTjTjTjTjTjTjTjTjTjTjTjTjUjVjWjXjcjDjMjYicicicjZjMjDiakakbkbkcjEjFjEkdiGkeiGiGiGiGiGiGkfiDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjcjTkgkhkikgkhkhkhkjkhkhkkklkmjVknjXjcjDjMiniciciciokojDiakakbkbkcjsjtjuiDjJiGkpkqiGkpkqiGkriDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMksksksksksksksksksksksksksksksksksksksksksksksksksksksksksksaMaMaMaMaMaMaMaMaMaMaMjckgktkukvkwkxkxkxkxkxkxkykzkAjVknjXjcjDkoiniciciciihYiKiakBkbkbkciaaMaMiqjJiGkpkqiGkpkqiGkriqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkCkCkCkDkCkCkCkEkFkCkCkCkEkCkCkCkCkCkCkEkCkCksaMaMaMaMaMaMaMaMaMaMaMjckjkGkHkGkIkGkGkGkGkGkGkIkJkKjVknkLjckMjcihicicicicicickbkbkbkbkckNaMaMiqjJiGkpkqiGkpkqiGkriqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkDkCkCkCkCkCkCkCkCkCkCkCkEkCkCkCkCkCkEkCkCkCkCkCksaMaMaMaMaMaMaMaMaMaMaMjckOkPkGkQkwkRkRkRkRkRkRkykzkSjVknjWkTjWjWicicicicicicickbkbkbkbkciaaMaMiqjJiGkpkqiGkpkqiGkriqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkCkUkCkCkCkCkCkDkCkCkFkEkCkCkEkCkCkEkFkCkEkCksaMaMaMaMaMaMaMaMaMaMaMjcjTkOkhkVkOkhkhkhkjkhkhkWklkmjVknkXjckMjcjYicicicjZhYiKiakYkbkbkcjsjtjuiDjJiGkpkqiGkpkqiGkriDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkDkCkCkEkFkCkCkEkCkFksaMaMaMaMaMaMaMaMaMaMaMjcjTjTjTjTjTjTjTjTjTjTjTjTjTkZjVjWjXjcjDjBilicicicimjBjDiakakbkbkcjEjFjEkdiGlaiGiGiGiGiGiGkfiDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkDkCkCkCkCkCkFkCkEkFkCkEkCksaMaMaMaMaMaMaMaMaMaMaMlblblblblblblblblblblblblblblblblclblbjDjMilicicicimjMjDiajsjuldjsjtjtjujRiYiYleiYlfiqlgiqiqlhaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkClililililililikCkCkCkCkCkCkCkEkCkCkUkFkCkCkCksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbjDkoilicicicimkojDiakbkbkbkcjEjFjEkdljljljlkiDjmjljllliqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkClmlnlolololololnlpkCkCkCkCkUkClikDlikDkCkEkCkEksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblqlqlrlsltlulvlqlqiakbkbkbkcjsjtjuiDljljljljiDlwjljllxiDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkClnlylzlAlBlClDlDlnlEkCkClikskslFlGkskslilHlIliksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblJlKlLlMlNlOlLlKlJiakblPlQlRiaaMaMiDlSlSlTlTiDjmjljllliqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkClnlUlzlzlVlzlzlzlnlEkClWkskslXlYlYlXksksksksksksksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblKlZmalMlNlOmamblKiakbmcmdmeiaaMaMmfiZmgmgmgmgmgmgmgiZmhaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkClnmilzlzlzmjlzmklnlEkUlWksmlmmmmmmmmmnmompmqmrmsmtksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbmulKmulMlNlOmulKmuiakbkbkbkbiaaMaMaMmfmvmvmvmvmvmvmvmhaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCmwlnlnlnmxlnlnlnmykCkCmzksmAmmmBmBmCmmmmmmmDmEmEmEksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbmFlKlKlMlNlOlKlKmGiamHmImImJiaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkClnmKlzmLlnmMlililimNksmmmBmOmPmBmmmQmRmqmSmTksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbmUmVmVlMlNlOmWmWmXiaiamYiaiaiaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkClnmZlznalnnbncncnclGksmmmBndnemBmmmQnfksksksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblqlqlqlqlNlqlqlqlqiaieieieieiaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkClmlnlnlnlnlnmZlznalnngnhnhnhnhnimmmmmmmmmmmmmQnfksksksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlqlNlqnjnjnjieieieieieiaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkClnnklzlznllnmZlznalnnmnnlFnclGksnomBmBmBmmmmmQnpksnqnrksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlqlqlqlqlqlqlqlqltlqlqlqlqlqlqlqlqiaiaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkClnnklznsntlnmZlznalnlnnunvlpnwksnxnynznynymmmmmmnAnBnBnCksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlqnDnEnEnEnEnEnDnDnDnEnEnEnEnEnDlqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMksnFkClnnklzlznGlnlzlzlzlnlzlzlzlnmzksnHnInHnHnJmmmmmmksnKnLnCksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnMnDnDnDnNnDnDnDnDnDnDnDnNnDnDnDnMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkClnnklzlzlznOlzlzlznPlzlzlzlnlWksksmRnQnRnSksnTmmksksksksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlqnDnEnEnEnEnEnDnDnDnEnEnEnEnEnDlqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkClnnklzlzlznUlzlzlznVlzlznWlnnXnwksksksksksksnYnYnZoaobocksaMaMododododododododododododaMaMaMaMaMaMaMaMaMaMlqluoeoeoeoeoeoeoeoeoeoeoeoeoelslqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClmlnlnlnlnlnlnoflzlzlnlnlnlnlnlnlpogogogohnwksoioioioioioiksaMaModojokolomonooodopoqorodaMaMosososososososososotouououououououououououououotosososososososososaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnovovowoxoylnozlzlzlnoAoBoCoDoElnkCkDkCkClWmqoioioioioioFksaMaModolololololololoGoHoIodaMaMosoJoKoLoLoLoLoLoMoNouououououououououououououoOoMoPoPoPoPoPoKoQosaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnlzlzlznslzoRlzlzlzoSlznslznsoTlnkCkUlIkDmNksoUoUoUoUoUoVksaMaModoWoWolololoXodoYoZpaodaMaMosoJoKoLpboLpboLoMoNouououououououououououououoOoMoPpcoPpcoPoKoQosaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnpdlzlzlzlzpelzlzlzpflzlzlzlzlzlnkCksksksksksksksksksksksksaMaModololololpgpgododphododaMaMosoJoKoLoLpioLoLoMoNouououououpjpkpjouououououoOoMoPoPploPoPoKoQosaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnpdlzlzpmpnlnpopppolnpqprlzlzlzlnkCksaMaMaMaMaMaMaMaMaMaMaMaMaModpspsolptpupvodpwphpxodaMaMosoJoKoLoLoLoLoLoMoNouououououpjpypjouououououoOoMoPoPoPoPoPoKoQosaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnlzlzlzlnlnlnpzpAlzlnlnlnlzlzlzlnkCksaMaMaMaMaMaMaMaMaMaMaMaMaModolololptpBpCodpDphpEodaMaMosoJoKoLpboLpboLoMoNouououououououououououououoOoMoPpcoPpcoPoKoQosaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnpFpGpHlnkClnpIpIpIlnkClnlDpJpKlnkCksaMaMaMaMaMaMaMaMaMaMaMaMaModolololololododododododaMaMosoJoKoLoLoLoLoLoMoNouououououououououououououoOoMoPoPoPoPoPoKoQosaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnpIpIpIlnkCmwpLpMpNmykClnpIpIpIlnkCksaMaMaMaMaMaMaMaMaMaMaMaMaModpOpPpQololpRpSpTpUpVodaMaMososospWpWpWpWpWosotouououououououououououououotospWpWpWpWpWosososaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCmwpLpMpNmykCkCkCkCkCkCkCmwpLpMpNmykCksaMaMaMaMaMaMaMaMaMaMaMaMaModpXpYpZolololqaqbqaqcodaMaMaMaMosqdqdqdqdqdosqeqfqfqfqfqfqfqfqfqfqfqfqfqfqgosqhqhqhqhqhosaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCksaMaMaMaMaMaMaMaMaMaMaMaMaModpYqipZolololqjqkqjqkodaMaMaMaMosososososososqlqmqmqmqmqmqnqoqpqmqmqmqmqmqlosososososososaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMksksksksksksksksksksksksksksksksksksksksksaMaMaMaMaMaMaMaMaMaMaMaMaModpXqqqrololpRqsqcqtquodaMaMaMaMaMaMaMaMaMaMqvqlqlqlqwqlqxqxqxqxqxqlqwqlqlqlqvaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMododododododododododododaMaMaMaMaMaMaMaMaMaMqvqvqyqvqvqvqvqzqAqBqvqvqvqvqyqvqvaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMqvqvqvqvqvaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblblblblblblblblblblblblblblblblblblbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbqCqDqEqFqFqDqGqHqIqJqKqLqMqLqLqLqNlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbqCqDqDqDqDqDqOqKqKqKqPqLqLqLqQqLqLlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbqCqDqRqCqSqTqUqKqKqKqKqLqLqVqLqWqMlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbqXqKqPqPqPqPqPqKqKqKqKqLqLqLqYqLqLlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbqZqKqKqKqKqKqKqKqKqKqKraqLqLqLqLqLlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbqZqKqKqKqKqKqKqKqKqPqKrarbrbrbrcrblbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbrdqKqKqKqKqKqKqKqPreqPrarfrfrfrfrflbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblbrgrhrhrilblblblblblblblblblblblblbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbrjrjrjrjlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbrjrjrjrjlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaRaZaZaZaYaXaVbdbbbdbeaTbaaRbcaYaUaXbcaXbaaSaZbfbbaZbcaWaYaWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjcjTkgkhkikgkhkhkhkjkhkhkkklkmjVknjXjcjDjMiniciciciokojDiakakbkbkcjsjtjuiDjJiGkpkqiGkpkqiGkriDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaUaZaVaXaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZaSaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMksksksksksksksksksksksksksksksksksksksksksksksksksksksksksksaMaMaMaMaMaMaMaMaMaMaMjckgktkukvkwkxkxkxkxkxkxkykzkAjVknjXjcjDkoiniciciciihYiKiakBkbkbkciaaMaMiqjJiGkpkqiGkpkqiGkriqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaXaVbeaZaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkCkCkCkDkCkCkCkEkFkCkCkCkEkCkCkCkCkCkCkEkCkCksaMaMaMaMaMaMaMaMaMaMaMjckjkGkHkGkIkGkGkGkGkGkGkIkJkKjVknkLjckMjcihicicicicicickbkbkbkbkckNaMaMiqjJiGkpkqiGkpkqiGkriqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaWbebbaVaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeaVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkDkCkCkCkCkCkCkCkCkCkCkCkEkCkCkCkCkCkEkCkCkCkCkCksaMaMaMaMaMaMaMaMaMaMaMjckOkPkGkQkwkRkRkRkRkRkRkykzkSjVknjWkTjWjWicicicicicicickbkbkbkbkciaaMaMiqjJiGkpkqiGkpkqiGkriqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaSaTaYbeaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbbeaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkCkUkCkCkCkCkCkDkCkCkFkEkCkCkEkCkCkEkFkCkEkCksaMaMaMaMaMaMaMaMaMaMaMjcjTkOkhkVkOkhkhkhkjkhkhkWklkmjVknkXjckMjcjYicicicjZhYiKiakYkbkbkcjsjtjuiDjJiGkpkqiGkpkqiGkriDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbcbcaXbbaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYbbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkDkCkCkEkFkCkCkEkCkFksaMaMaMaMaMaMaMaMaMaMaMjcjTjTjTjTjTjTjTjTjTjTjTjTjTkZjVjWjXjcjDjBilicicicimjBjDiakakbkbkcjEjFjEkdiGlaiGiGiGiGiGiGkfiDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbfbfaWaYaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdbaaYaXbebcaVaUbaaYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkDkCkCkCkCkCkFkCkEkFkCkEkCksaMaMaMaMaMaMaMaMaMaMaMlblblblblblblblblblblblblblblblblclblbjDjMilicicicimjMjDiajsjuldjsjtjtjujRiYiYleiYlfiqlgiqiqlhaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbeaRaSbaaVbaaWbeaTaYbbaRbdaUbfaSaXbcaZaYaTbdbaaWbbbfbeaXbdaXaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkClililililililikCkCkCkCkCkCkCkEkCkCkUkFkCkCkCksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbjDkoilicicicimkojDiakbkbkbkcjEjFjEkdljljljlkiDjmjljllliqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbdaUaZbdbebdaSbbbcbaaYaYaZbabbbcbdbebfaWaVaTbdaSaYaRbbaWaTbcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkClmlnlolololololnlpkCkCkCkCkUkClikDlikDkCkEkCkEksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblqlqlrlsltlulvlqlqiakbkbkbkcjsjtjuiDljljljljiDlwjljllxiDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaTaXaVaTbbaTaZaYbfbdbabaaWaTaZbaaUaYaSbcaZbcaTaZbaaUaYaSbcaXaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkClnlylzlAlBlClDlDlnlEkCkClikskslFlGkskslilHlIliksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblJlKlLlMlNlOlLlKlJiakblPlQlRiaaMaMiDlSlSlTlTiDjmjljllliqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbcaWbebcaYbcbcaXbeaSaWbaaVbdaYbfaTaTbbbcaRbfbdaRaYbfaWaZbfbbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkClnlUlzlzlVlzlzlzlnlEkClWkskslXlYlYlXksksksksksksksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblKlZmalMlNlOmamblKiakbmcmdmeiaaMaMmfiZmgmgmgmgmgmgmgiZmhaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbeaSbbbfbabeaVbcaYbfaTbeaRbdaWmimjmkmlaZaUaRbfaUbeaRaSaVaRaYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkClnmmlzlzlzmnlzmolnlEkUlWksmpmqmqmqmqmrmsmtmumvmwmxksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbmylKmylMlNlOmylKmyiakbkbkbkbiaaMaMaMmfmzmzmzmzmzmzmzmhaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbbbcbeaRbdaRbbaXaYaZbabbbfmAaRmBmCmDmEmFaRbaaRaXbaaUaZbeaUaWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCmGlnlnlnmHlnlnlnmIkCkCmJksmKmqmLmLmMmqmqmqmNmOmOmOksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbmPlKlKlMlNlOlKlKmQiamRmSmSmTiaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaYbfbbaUaTaUaYaWbaaVbdaYbbmAmUmVmWmDmXmYaUbdaVaWbdaXaVbbaXaSaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkClnmZlznalnnblililincksmqmLndnemLmqnfngmunhniksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbnjnknklMlNlOnlnlnmiaianniaiaiaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaXbeaYaXbcaXbaaSbdbeaTbaaZmYnonpmXnqnrmYaXaTbaaSaTaYbaaYaWaZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkClnnslzntlnnunvnvnvlGksmqmLnwnxmLmqnfnyksksksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblqlqlqlqlNlqlqlqlqiaieieieieiaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbcaYbaaWbfaWbdbcaTbbbcbdbemEmFnznAnznBnCaWbcbdaZbcbabdbaaSaVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkClmlnlnlnlnlnnslzntlnnDnEnEnEnEnFmqmqmqmqmqmqnfnyksksksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlqlNlqnGnGnGieieieieieiaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaXaYbdaSaRaSaTbfbcaYbfaWmAmAnCnHnInJmEbeaSbfaTaVbfbdaTbdaZbaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkClnnKlzlznLlnnslzntlnnMnNlFnvlGksnOmLmLmLmqmqnfnPksnQnRksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlqlqlqlqlqlqlqlqltlqlqlqlqlqlqlqlqiaiaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaWbaaTaZaUaZbcaRbebeaSnSnTnUnVnWnXmDnYmAaZaRbcbeaRaTbcaTaVbdaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkClnnKlznZoalnnslzntlnlnoboclpodksoeofogofofmqmqmqohoioiojksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlqokolololololokokokolololololoklqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaSbdbcaVaXaVbfaUaYbbomonooopoqnWmDorosotmAmAbfbbaUbcbfbcbeaTaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMksoukClnnKlzlzovlnlzlzlzlnlzlzlzlnmJksowoxowowoymqmqmqksozoAojksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoBokokokoCokokokokokokokoCokokokoBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaYbeaYbeaWbeaRaXbamAbenUoDoDoEnWmDoForotaToGoHaYaXbfaRbfbbbcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkClnnKlzlzlzoIlzlzlzoJlzlzlzlnlWksksngoKoLoMksoNmqksksksksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlqokolololololokokokolololololoklqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbabbbabbaSbbaUaWbenYmAaTaRmAoOoPmWoQmWnYmAmAbeaWaWaRaUaRaYbfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkClnnKlzlzlzoRlzlzlzoSlzlzoTlnoUoUodksksksksksksoVoWoXoYoZksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlqlupapapapapapapapapapapapapalslqaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbeaYbdaYaZaYaXnBpbpcpdpepfpepepbpgpdpepepfpepeaTmAaUaXaUbaaRaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClmlnlnlnlnlnlnphlzlzlnlnlnlnlnlnlnlppipipipjodkspkpkpkpkpkksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMplplplplplplplplplpmpnpnpnpnpnpnpnpnpnpnpnpnpnpmplplplplplplplplplaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaYbaaTbaaVbaaWpoppmDmDpppopqprmDmDmDpsptpopupvnYpwmAmAaXbdaUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnpxpxpypzpAlnpBlzlzlnpCpDpEpFpGpGlnkCkDkCkCkFmupkpkpkpkpHksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMplpIpJpKpKpKpKpKpLpMpnpnpnpnpnpnpnpnpnpnpnpnpnpNpLpOpOpOpOpOpJpPplaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaYbdbcbdbebdaSpQpRmDmDpRpQpwpwmDmDmDmDpSpQpTpUoDoDpVaTaWaTaXaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnlzlzlznZlzpWlzlzlzpXlznZlznZpYpYlnkCkUkEkDkUkspZpZpZpZqaksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMplpIpJpKqbpKqbpKpLpMpnpnpnpnpnpnpnpnpnpnpnpnpnpNpLpOqcpOqcpOpJpPplaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbaaTbfaTbbaTaZqdqemDormDqfoFormDqgmDmDqhqdqiqjqkqlqmqnaSbcaWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnqolzlzlzlzqplzlzlzqqlzlzlzlzlzlzlnkCkCkCkElWksksksksksksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMplpIpJpKpKqrpKpKpLpMpnpnpnpnpnqsqtqspnpnpnpnpnpNpLpOpOqupOpOpJpPplaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbdbcaRbcaYbcaVqvpRmDmWoFqwmWmDmDqxmDmDmDqvqyqzpVqAnSbeaZbfaSaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnqolzlzqBqClnqDqEqDlnqFqGlzlzlzlzlnkCkEkCkUlWksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMplpIpJpKpKpKpKpKpLpMpnpnpnpnpnqsqHqspnpnpnpnpnpNpLpOpOpOpOpOpJpPplaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaTbfaUbfbabfbemlqImDmDqImlqJmDormWmDmDqJmlqKqLqMqNaUaTaVaRaZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnlzlzlzlnlnlnqOqPlzlnlnlnlzlzlzlzlnkCkCkDkClWksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMplpIpJpKqbpKqbpKpLpMpnpnpnpnpnpnpnpnpnpnpnpnpnpNpLpOqcpOqcpOpJpPplaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaRaRaXaRbdaRbbmEpbqQpdpeqRpepbnzqSnzpdpeqRpepbmAmAmAbcbeaUaVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnqTqUqVlnkClnqWqWqWlnkClnlDqXqYqYlnkCkCkCkClWksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMplpIpJpKpKpKpKpKpLpMpnpnpnpnpnpnpnpnpnpnpnpnpnpNpLpOpOpOpOpOpJpPplaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaUaUaWaUaTaUaYaYaToOoraWmAbamAqZnXoObdbdmAbdaRaVbfmAbebbaXbeaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskClnqWqWqWlnkCmGrarbrcmIkClnqWqWqWqWlnkCkCkCkClWksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMplplplrdrdrdrdrdplpmpnpnpnpnpnpnpnpnpnpnpnpnpnpmplrdrdrdrdrdplplplaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaXaTaSaXbcaXbabeaUmAmAbereoraTrfrgoOmAbeoFbaaRbcaYaUaZbbaTaVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCmGrarbrcmIkCkCkCkCkCkCkCmGrarbrcrcmIkCkCkCkClWksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMplrhrhrhrhrhplrirjrjrjrjrjrjrjrjrjrjrjrjrjrkplrlrlrlrlrlplaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaWbcbdaWbfaWbdbeaWbbaZaSrmmAaToOorrnaZbbaTrobfaSbaaWbcbeaTaYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMkskCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkCkClWksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMplplplplplplplrprqrqrqrqrqrrrsrtrqrqrqrqrqrpplplplplplplplaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaSbfaTaSaRaSaTaXbeaSaWbaaVrmpfpbrupdpfroberoroaTaXbbaUbdaZbaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMksksksksksksksksksksksksksksksksksksksksksksksksksksaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMrvrprprprwrprxrxrxrxrxrprwrprprprvaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaZaRbcaZaUaZbcaXbeaSaWbaaVbdporyrzrAporepUoqrBrCroaYaXaTaVbdaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMrvrvrDrvrvrvrvrErFrGrvrvrvrvrDrvrvaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaVaUbfaVaXaVbfaWbbaZaSbdbeaTnzrHrIrJnzrKrLoprMmDmYbaaWbcbeaTaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMrvrvrvrvrvaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbeaUaRbeaWbeaRaSaYaVaZaTnXrNmlrOrPrQmlmWrRoprMaRrSbdaSbfbbbcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbbbaaUbbaSbbaUaZbabeaVbcrTpfrUpbnzpdrUpfrVrWrMaUrSaTaZaRaYbfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblblblblblblblblblblblblblblblblblblbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaYbdaXaYaZaYaXaVaSaYaVaZrXpomDrYrZrYmDpobesabcaXrSbcaVaUbaaRaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbsbscsdsesescsfsgshsisjskslsksksksmlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbabdaXaYaZaYaXaVbdbbbesnorsomDmDmDmDmDspaTaYaMbcorbcaVaUbaaUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbsbscscscscscsqsjsjsjsrsksksksssksklbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbbbaaUbbaSbbaUaZbamAstnXmDmlsumDmDmDsumlaZbdbcbcaUaRaYaXbebcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbsbscsvsbswsxsysjsjsjsjskskszsksAsllbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaYbdaXaYaZaYaXaVaSaYstpepesBsCsCsCsCsCsDbdbdaXbebcaVaUbebcaVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbsEsjsrsrsrsrsrsjsjsjsjsksksksFsksklbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMbabdaXaYaZaYaXaVbdbbbebfbamEpbsGsGsGpdnCbeaTaUaVbcaVaUbebcaVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbsHsjsjsjsjsjsjsjsjsjsjsIsksksksksklbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaSbfaTaSaRaSaTaXbeaSaWbabbaZaVsJsJsJaWaVbdaTaYaMaUaVbcaUaRaYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbsHsjsjsjsjsjsjsjsjsrsjsIsKsKsKsLsKlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaZaRbcaZaUaZbcaXbeaSaWbaaMaVbfaSbaaWbcbeaTaZaTaXbbaUaRbcaVaUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbsMsjsjsjsjsjsjsjsrsNsrsIsOsOsOsOsOlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblbsPsQsQsRlblblblblblblblblblblblblbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbsSsSsSsSlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlbsSsSsSsSlbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMlblblblblblbaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm
index abf71c4ea0d..953988cf929 100644
--- a/code/ATMOSPHERICS/atmospherics.dm
+++ b/code/ATMOSPHERICS/atmospherics.dm
@@ -26,9 +26,14 @@ Pipelines + Other Objects -> Pipe network
/obj/machinery/atmospherics/New()
..()
+
+ SetInitDirections()
if(can_unwrench)
stored = new(src, make_from=src)
+/obj/machinery/atmospherics/proc/SetInitDirections()
+ return
+
/obj/machinery/atmospherics/proc/safe_input(var/title, var/text, var/default_set)
var/new_value = input(usr,"Enter new output pressure (0-4500kPa)","Pressure control",default_set) as num
if(usr.canUseTopic(src))
@@ -124,9 +129,15 @@ Pipelines + Other Objects -> Pipe network
return img
-/obj/machinery/atmospherics/construction(D, P)
+/obj/machinery/atmospherics/construction(D, P, var/pipe_type, var/obj_color)
dir = D
initialize_directions = P
+ if(can_unwrench)
+ color = obj_color
+ pipe_color = obj_color
+ stored.dir = D //need to define them here, because the obj directions...
+ stored.pipe_type = pipe_type //... were not set at the time the stored pipe was created
+ stored.color = obj_color
var/turf/T = loc
level = T.intact ? 2 : 1
initialize()
diff --git a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
index 8e81d0469f5..88ae07300b8 100644
--- a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
@@ -17,6 +17,14 @@
/obj/machinery/atmospherics/binary/New()
..()
+
+ air1 = new
+ air2 = new
+
+ air1.volume = 200
+ air2.volume = 200
+
+/obj/machinery/atmospherics/binary/SetInitDirections()
switch(dir)
if(NORTH)
initialize_directions = NORTH|SOUTH
@@ -26,11 +34,6 @@
initialize_directions = EAST|WEST
if(WEST)
initialize_directions = EAST|WEST
- air1 = new
- air2 = new
-
- air1.volume = 200
- air2.volume = 200
//Separate this because we don't need to update pipe icons if we just are going to change the state
/obj/machinery/atmospherics/binary/proc/update_icon_nopipes()
diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm
index 6fdd2c66f21..77508a31c7d 100644
--- a/code/ATMOSPHERICS/components/binary_devices/pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm
@@ -44,7 +44,7 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/binary/pump/process()
// ..()
if(stat & (NOPOWER|BROKEN))
- return
+ return 0
if(!on)
return 0
@@ -70,8 +70,7 @@ Thus, the two variables affect pump operation are set in New():
return 1
- //Radio remote control
-
+//Radio remote control
/obj/machinery/atmospherics/binary/pump/proc/set_frequency(new_frequency)
radio_controller.remove_object(src, frequency)
frequency = new_frequency
diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
index 94c92c5ff18..d687da775df 100644
--- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
@@ -20,6 +20,16 @@
/obj/machinery/atmospherics/trinary/New()
..()
+
+ air1 = new
+ air2 = new
+ air3 = new
+
+ air1.volume = 200
+ air2.volume = 200
+ air3.volume = 200
+
+/obj/machinery/atmospherics/trinary/SetInitDirections()
switch(dir)
if(NORTH)
initialize_directions = EAST|NORTH|SOUTH
@@ -29,14 +39,6 @@
initialize_directions = EAST|WEST|SOUTH
if(WEST)
initialize_directions = WEST|NORTH|EAST
- air1 = new
- air2 = new
- air3 = new
-
- air1.volume = 200
- air2.volume = 200
- air3.volume = 200
-
/*
Iconnery
*/
diff --git a/code/ATMOSPHERICS/components/unary/unary_base.dm b/code/ATMOSPHERICS/components/unary/unary_base.dm
index e33065ff618..b0574071ee8 100644
--- a/code/ATMOSPHERICS/components/unary/unary_base.dm
+++ b/code/ATMOSPHERICS/components/unary/unary_base.dm
@@ -10,10 +10,12 @@
/obj/machinery/atmospherics/unary/New()
..()
- initialize_directions = dir
air_contents = new
air_contents.volume = 200
+
+/obj/machinery/atmospherics/unary/SetInitDirections()
+ initialize_directions = dir
/*
Iconnery
*/
diff --git a/code/ATMOSPHERICS/components/valve.dm b/code/ATMOSPHERICS/components/valve.dm
index 8ccf44a4d2a..9685f0ba257 100644
--- a/code/ATMOSPHERICS/components/valve.dm
+++ b/code/ATMOSPHERICS/components/valve.dm
@@ -69,7 +69,7 @@
desc = "A digitally controlled valve."
icon_state = "dvalve_map"
-/obj/machinery/atmospherics/valve/digital/attack_ai(mob/user)
+/obj/machinery/atmospherics/binary/valve/digital/attack_ai(mob/user)
return src.attack_hand(user)
/obj/machinery/atmospherics/binary/valve/digital/update_icon_nopipes(animation)
diff --git a/code/ATMOSPHERICS/he_pipes.dm b/code/ATMOSPHERICS/he_pipes.dm
index 182696fe101..e37c7ba74bc 100644
--- a/code/ATMOSPHERICS/he_pipes.dm
+++ b/code/ATMOSPHERICS/he_pipes.dm
@@ -50,6 +50,8 @@
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/New()
..()
+
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/SetInitDirections()
switch(dir)
if(SOUTH)
initialize_directions = NORTH
diff --git a/code/ATMOSPHERICS/pipes/manifold.dm b/code/ATMOSPHERICS/pipes/manifold.dm
index 434a4b3c9e7..2952dbc7674 100644
--- a/code/ATMOSPHERICS/pipes/manifold.dm
+++ b/code/ATMOSPHERICS/pipes/manifold.dm
@@ -27,6 +27,7 @@
..()
+/obj/machinery/atmospherics/pipe/manifold/SetInitDirections()
switch(dir)
if(NORTH)
initialize_directions = EAST|SOUTH|WEST
diff --git a/code/ATMOSPHERICS/pipes/manifold4w.dm b/code/ATMOSPHERICS/pipes/manifold4w.dm
index 17b6528e039..6fc3ba86629 100644
--- a/code/ATMOSPHERICS/pipes/manifold4w.dm
+++ b/code/ATMOSPHERICS/pipes/manifold4w.dm
@@ -25,6 +25,9 @@
color = pipe_color
..()
+/obj/machinery/atmospherics/pipe/manifold4w/SetInitDirections()
+ return
+
/obj/machinery/atmospherics/pipe/manifold4w/initialize()
for(var/D in cardinal)
for(var/obj/machinery/atmospherics/target in get_step(src, D))
diff --git a/code/ATMOSPHERICS/pipes/simple.dm b/code/ATMOSPHERICS/pipes/simple.dm
index eabf5a2badb..7bc3347ce06 100644
--- a/code/ATMOSPHERICS/pipes/simple.dm
+++ b/code/ATMOSPHERICS/pipes/simple.dm
@@ -33,10 +33,16 @@ The regular pipe you see everywhere, including bent ones.
..()
+
+/obj/machinery/atmospherics/pipe/simple/SetInitDirections()
switch(dir)
- if(SOUTH || NORTH)
+ if(NORTH)
initialize_directions = SOUTH|NORTH
- if(EAST || WEST)
+ if(SOUTH)
+ initialize_directions = SOUTH|NORTH
+ if(EAST)
+ initialize_directions = EAST|WEST
+ if(WEST)
initialize_directions = EAST|WEST
if(NORTHEAST)
initialize_directions = NORTH|EAST
diff --git a/code/__DEFINES/genetics.dm b/code/__DEFINES/genetics.dm
index b8a2b95657d..938a30a2107 100644
--- a/code/__DEFINES/genetics.dm
+++ b/code/__DEFINES/genetics.dm
@@ -1,31 +1,31 @@
-//bitflags for mutations
- // Extra powers:
-#define SHADOW (1<<10) // shadow teleportation (create in/out portals anywhere) (25%)
-#define SCREAM (1<<11) // supersonic screaming (25%)
-#define EXPLOSIVE (1<<12) // exploding on-demand (15%)
-#define REGENERATION (1<<13) // superhuman regeneration (30%)
-#define REPROCESSOR (1<<14) // eat anything (50%)
-#define SHAPESHIFTING (1<<15) // take on the appearance of anything (40%)
-#define PHASING (1<<16) // ability to phase through walls (40%)
-#define SHIELD (1<<17) // shielding from all projectile attacks (30%)
-#define SHOCKWAVE (1<<18) // attack a nearby tile and cause a massive shockwave, knocking most people on their asses (25%)
-#define ELECTRICITY (1<<19) // ability to shoot electric attacks (15%)
+//Defines copying names of mutations in all cases, make sure to change this if you change mutation's name
+#define HULK "Hulk"
+#define XRAY "X Ray Vision"
+#define COLDRES "Cold Resistance"
+#define TK "Telekinesis"
+#define NERVOUS "Nervousness"
+#define EPILEPSY "Epilepsy"
+#define MUTATE "Unstable DNA"
+#define COUGH "Cough"
+#define CLOWNMUT "Clumsiness"
+#define TOURETTES "Tourettes Syndrome"
+#define DEAFMUT "Deafness"
+#define BLINDMUT "Blindness"
+#define RACEMUT "Monkified"
+#define BADSIGHT "Near Sightness"
+#define LASEREYES "Laser Eyes"
// String identifiers for associative list lookup
-// mob/var/list/mutations
- // Generic mutations:
-#define TK 1
-#define COLD_RESISTANCE 2
-#define XRAY 3
-#define HULK 4
-#define CLUMSY 5
-#define FAT 6
-#define HUSK 7
-#define NOCLONE 8
+//Types of usual mutations
+#define POSITIVE 1
+#define NEGATIVE 2
+#define MINOR_NEGATIVE 3
+//Mutations that cant be taken from genetics and are not in SE
+#define NON_SCANNABLE -1
// Extra powers:
#define LASER 9 // harm intent - click anywhere to shoot lasers from eyes
@@ -41,18 +41,6 @@
#define SHOCKWAVE 19 // attack a nearby tile and cause a massive shockwave, knocking most people on their asses (25%)
#define ELECTRICITY 20 // ability to shoot electric attacks (15%)
-//disabilities
-#define NEARSIGHTED 1
-#define EPILEPSY 2
-#define COUGHING 4
-#define TOURETTES 8
-#define NERVOUS 16
-
-//sdisabilities
-#define BLIND 1
-#define MUTE 2
-#define DEAF 4
-
//DNA - Because fuck you and your magic numbers being all over the codebase.
#define DNA_BLOCK_SIZE 3
@@ -88,4 +76,4 @@
#define NUTRITION_LEVEL_WELL_FED 450
#define NUTRITION_LEVEL_FED 350
#define NUTRITION_LEVEL_HUNGRY 250
-#define NUTRITION_LEVEL_STARVING 150
\ No newline at end of file
+#define NUTRITION_LEVEL_STARVING 150
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index f31959107f2..d8e4dc1b4f5 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -1,5 +1,32 @@
#define MIDNIGHT_ROLLOVER 864000 //number of deciseconds in a day
+
+//Human Overlays Indexes/////////
+#define SPECIES_LAYER 23 // mutantrace colors... these are on a seperate layer in order to prvent
+#define BODY_LAYER 22 //underwear, undershirts, eyes, lips(makeup)
+#define MUTATIONS_LAYER 21 //Tk headglows etc.
+#define AUGMENTS_LAYER 20
+#define DAMAGE_LAYER 19 //damage indicators (cuts and burns)
+#define UNIFORM_LAYER 18
+#define ID_LAYER 17
+#define SHOES_LAYER 16
+#define GLOVES_LAYER 15
+#define EARS_LAYER 14
+#define SUIT_LAYER 13
+#define GLASSES_LAYER 12
+#define BELT_LAYER 11 //Possible make this an overlay of somethign required to wear a belt?
+#define SUIT_STORE_LAYER 10
+#define BACK_LAYER 9
+#define HAIR_LAYER 8 //TODO: make part of head layer?
+#define FACEMASK_LAYER 7
+#define HEAD_LAYER 6
+#define HANDCUFF_LAYER 5
+#define LEGCUFF_LAYER 4
+#define L_HAND_LAYER 3
+#define R_HAND_LAYER 2 //Having the two hands seperate seems rather silly, merge them together? It'll allow for code to be reused on mobs with arbitarily many hands
+#define FIRE_LAYER 1 //If you're on fire
+#define TOTAL_LAYERS 23 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
+
//Security levels
#define SEC_LEVEL_GREEN 0
#define SEC_LEVEL_BLUE 1
@@ -56,4 +83,4 @@
//SOUND:
#define SOUND_MINIMUM_PRESSURE 10
#define FALLOFF_SOUNDS 1
-#define SURROUND_CAP 7
\ No newline at end of file
+#define SURROUND_CAP 7
diff --git a/code/__DEFINES/stat.dm b/code/__DEFINES/stat.dm
index 816da605d36..f7e519336d0 100644
--- a/code/__DEFINES/stat.dm
+++ b/code/__DEFINES/stat.dm
@@ -7,6 +7,17 @@
#define UNCONSCIOUS 1
#define DEAD 2
+//mob disabilities stat
+
+#define BLIND 1
+#define MUTE 2
+#define DEAF 4
+#define NEARSIGHT 8
+#define FAT 32
+#define HUSK 64
+#define NOCLONE 128
+#define CLUMSY 256
+
// bitflags for machine stat variable
#define BROKEN 1
#define NOPOWER 2
diff --git a/code/_globalvars/genetics.dm b/code/_globalvars/genetics.dm
index 7ff714de5f9..0944554d63e 100644
--- a/code/_globalvars/genetics.dm
+++ b/code/_globalvars/genetics.dm
@@ -1,5 +1,5 @@
//////////////
-var/NEARSIGHTEDBLOCK = 0
+var/NEARSIGHTBLOCK = 0
var/EPILEPSYBLOCK = 0
var/COUGHBLOCK = 0
var/TOURETTESBLOCK = 0
@@ -23,3 +23,6 @@ var/NULLED_UI
var/list/global_mutations = list() // list of hidden mutation things
+var/list/bad_mutations = list()
+var/list/good_mutations = list()
+var/list/not_good_mutations = list()
\ No newline at end of file
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index 4ab99abcd49..c6827293901 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -161,12 +161,6 @@
animals lunging, etc.
*/
/mob/proc/RangedAttack(var/atom/A, var/params)
- if(!mutations.len) return
- if((LASER in mutations) && a_intent == "harm")
- LaserEyes(A) // moved into a proc below
- else
- if(TK in mutations)
- A.attack_tk(src)
/*
Restrained ClickOn
diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm
index 06e2fed0368..82e01ade435 100644
--- a/code/_onclick/other_mobs.dm
+++ b/code/_onclick/other_mobs.dm
@@ -13,7 +13,15 @@
if(proximity && istype(G) && G.Touch(A,1))
return
+ var/override = 0
+
+ for(var/datum/mutation/human/HM in dna.mutations)
+ override += HM.on_attack_hand(src, A)
+
+ if(override) return
+
A.attack_hand(src)
+
/atom/proc/attack_hand(mob/user as mob)
return
@@ -26,16 +34,13 @@
return 0
/mob/living/carbon/human/RangedAttack(var/atom/A)
- if(!gloves && !mutations.len) return
- var/obj/item/clothing/gloves/G = gloves
- if((LASER in mutations) && a_intent == "harm")
- LaserEyes(A) // moved into a proc below
+ if(gloves)
+ var/obj/item/clothing/gloves/G = gloves
+ if(istype(G) && G.Touch(A,0)) // for magic gloves
+ return
- else if(istype(G) && G.Touch(A,0)) // for magic gloves
- return
-
- else if(TK in mutations)
- A.attack_tk(src)
+ for(var/datum/mutation/human/HM in dna.mutations)
+ HM.on_ranged_attack(src, A)
/*
Animals & All Unspecified
diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm
index a4e8a119365..690453df1e6 100644
--- a/code/_onclick/telekinesis.dm
+++ b/code/_onclick/telekinesis.dm
@@ -38,14 +38,11 @@ var/const/tk_maxrange = 15
return
/obj/item/attack_tk(mob/user)
- if(user.stat || !isturf(loc)) return
- if((TK in user.mutations) && !user.get_active_hand()) // both should already be true to get here
- var/obj/item/tk_grab/O = new(src)
- user.put_in_active_hand(O)
- O.host = user
- O.focus_object(src)
- else
- WARNING("Strange attack_tk(): TK([TK in user.mutations]) empty hand([!user.get_active_hand()])")
+ if(user.stat) return
+ var/obj/item/tk_grab/O = new(src)
+ user.put_in_active_hand(O)
+ O.host = user
+ O.focus_object(src)
return
@@ -95,13 +92,13 @@ var/const/tk_maxrange = 15
if(focus)
focus.attack_self_tk(user)
-/obj/item/tk_grab/afterattack(atom/target, mob/living/user, proximity)//TODO: go over this
+/obj/item/tk_grab/afterattack(atom/target, mob/living/carbon/user, proximity)//TODO: go over this
if(!target || !user) return
if(last_throw+3 > world.time) return
if(!host || host != user)
qdel(src)
return
- if(!(TK in host.mutations))
+ if(!(user.dna.check_mutation(TK)))
qdel(src)
return
if(isobj(target) && !isturf(target.loc))
diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm
index a5394222876..5666eed62d4 100644
--- a/code/datums/diseases/advance/symptoms/deafness.dm
+++ b/code/datums/diseases/advance/symptoms/deafness.dm
@@ -33,10 +33,10 @@ Bonus
if(3, 4)
M << "[pick("You hear a ringing in your ear.", "Your ears pop.")]"
if(5)
- if(!(M.sdisabilities & DEAF))
+ if(!(M.ear_deaf))
M << "Your ears pop and begin ringing loudly!"
- M.sdisabilities |= DEAF
+ M.ear_deaf = INFINITY //Shall be enough
spawn(200)
if(M)
- M.sdisabilities &= ~DEAF
+ M.ear_deaf = 0
return
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/visionloss.dm b/code/datums/diseases/advance/symptoms/visionloss.dm
index 47303b9643a..c80b5a35d6c 100644
--- a/code/datums/diseases/advance/symptoms/visionloss.dm
+++ b/code/datums/diseases/advance/symptoms/visionloss.dm
@@ -41,8 +41,9 @@ Bonus
M.eye_blurry = 20
M.eye_stat += 5
if (M.eye_stat >= 10)
- M.disabilities |= NEARSIGHTED
- if (prob(M.eye_stat - 10 + 1) && !(M.sdisabilities & BLIND))
+ M.disabilities |= NEARSIGHT
+ if (prob(M.eye_stat - 10 + 1) && !(M.eye_blind))
M << "You go blind!"
- M.sdisabilities |= BLIND
+ M.disabilities |= BLIND
+ M.eye_blind = 1
return
\ No newline at end of file
diff --git a/code/datums/mutations.dm b/code/datums/mutations.dm
new file mode 100644
index 00000000000..81ba278544f
--- /dev/null
+++ b/code/datums/mutations.dm
@@ -0,0 +1,327 @@
+/var/global/list/mutations_list = list()
+
+/datum/mutation/
+
+ var/name
+
+/datum/mutation/New()
+
+ mutations_list[name] = src
+
+/datum/mutation/human
+
+ var/dna_block
+ var/quality
+ var/get_chance = 100
+ var/lowest_value = 256 * 8
+ var/text_indication = ""
+ var/list/visual_indicators = list()
+
+/datum/mutation/human/proc/force_give(mob/living/carbon/human/owner)
+ set_block(owner)
+ on_acquiring(owner)
+
+/datum/mutation/human/proc/set_se(se_string)
+ if(!se_string || lentext(se_string) < DNA_STRUC_ENZYMES_BLOCKS * DNA_BLOCK_SIZE) return
+ var/before = copytext(se_string, 1, (dna_block * DNA_BLOCK_SIZE) + 1)
+ var/injection = num2hex(lowest_value + rand(1, 256 * 6))
+ var/after = copytext(se_string, (dna_block * DNA_BLOCK_SIZE) + DNA_BLOCK_SIZE + 1)
+ return before + injection + after
+
+/datum/mutation/human/proc/set_block(mob/living/carbon/human/owner)
+ owner.dna.struc_enzymes = set_se(owner.dna.struc_enzymes)
+
+/datum/mutation/human/proc/check_block_string(se_string)
+ if(!se_string || lentext(se_string) < DNA_STRUC_ENZYMES_BLOCKS * DNA_BLOCK_SIZE) return 0
+ if(hex2num(getblock(se_string, dna_block)) >= lowest_value)
+ return 1
+
+/datum/mutation/human/proc/check_block(mob/living/carbon/human/owner)
+ if(check_block_string(owner.dna.struc_enzymes))
+ if(prob(get_chance))
+ . = on_acquiring(owner)
+ else
+ . = on_losing(owner)
+
+/datum/mutation/human/proc/on_acquiring(mob/living/carbon/human/owner)
+ if(src in owner.dna.mutations)
+ return 1
+ owner.dna.mutations.Add(src)
+ gain_indication(owner)
+ owner << text_indication
+
+/datum/mutation/human/proc/gain_indication(mob/living/carbon/human/owner)
+ owner.overlays.Add(visual_indicators)
+/*
+ var/list/result_overlays = list()
+ var/list/limbs = owner_get_limbs(NON_MECHANICAL|NON_AMPUTATED) //I dunno how its done by RR but i assume something like this, proc that returns the list of limbs based on what types of limbs to return in argument
+ for(var/obj/limb/L in limbs)
+ result_overlays[L.identificator] = visual_indicators[L.identificator] //visual_indicators is where overlays icons are stored, they are all created on new of each mutation, i assume you will change it to linked list for easyness, but for now its just a list
+ return owner.redraw_overlays(result_overlays, MUTATION_LAYER) //Currently mutations draw the overlays themselves but i assume if dismemberment will be overriding lots of shit like maybe clothes or something else mutations will just pass the shit to redraw proc
+*/
+/datum/mutation/human/proc/lose_indication(mob/living/carbon/human/owner)
+ owner.overlays.Remove(visual_indicators)
+
+/datum/mutation/human/proc/on_attack_hand(mob/living/carbon/human/owner, atom/target)
+ return
+
+/datum/mutation/human/proc/on_ranged_attack(mob/living/carbon/human/owner, atom/target)
+ return
+
+/datum/mutation/human/proc/on_life(mob/living/carbon/human/owner)
+ return
+
+/datum/mutation/human/proc/on_losing(mob/living/carbon/human/owner)
+ if(owner.dna.mutations.Remove(src))
+ lose_indication(owner)
+ return 0
+ return 1
+
+/datum/mutation/human/hulk
+
+ name = "Hulk"
+ quality = POSITIVE
+ get_chance = 5
+ lowest_value = 256 * 14
+ text_indication = "Your muscles hurt!"
+
+/datum/mutation/human/hulk/New()
+ ..()
+ visual_indicators |= image("icon"='icons/effects/genetics.dmi', "icon_state"="hulk_f_s", "layer"=-MUTATIONS_LAYER)
+ visual_indicators |= image("icon"='icons/effects/genetics.dmi', "icon_state"="hulk_m_s", "layer"=-MUTATIONS_LAYER)
+
+/datum/mutation/human/hulk/on_acquiring(mob/living/carbon/human/owner)
+ if(..()) return
+ var/status = CANSTUN | CANWEAKEN | CANPARALYSE | CANPUSH
+ owner.status_flags &= ~status
+
+/datum/mutation/human/hulk/on_attack_hand(mob/living/carbon/human/owner, atom/target)
+ return target.attack_hulk(owner)
+
+/datum/mutation/human/hulk/gain_indication(mob/living/carbon/human/owner)
+ var/g = (owner.gender == FEMALE) ? 1 : 2
+ owner.overlays += visual_indicators[g]
+
+/datum/mutation/human/hulk/on_life(mob/living/carbon/human/owner)
+ if(owner.health < 25)
+ on_losing(owner)
+ owner << "You suddenly feel very weak."
+ owner.Weaken(3)
+ owner.emote("collapse")
+
+/datum/mutation/human/hulk/on_losing(mob/living/carbon/human/owner)
+ ..()
+ owner.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE | CANPUSH
+
+/datum/mutation/human/telekinesis
+
+ name = "Telekinesis"
+ quality = POSITIVE
+ get_chance = 10
+ lowest_value = 256 * 14
+ text_indication = "You feel smarter!"
+
+/datum/mutation/human/telekinesis/New()
+ ..()
+ visual_indicators |= image("icon"='icons/effects/genetics.dmi', "icon_state"="telekinesishead_s", "layer"=-MUTATIONS_LAYER)
+
+/datum/mutation/human/telekinesis/on_ranged_attack(mob/living/carbon/human/owner, atom/target)
+ target.attack_tk(owner)
+
+/datum/mutation/human/cold_resistance
+
+ name = "Cold Resistance"
+ quality = POSITIVE
+ get_chance = 10
+ lowest_value = 256 * 12
+ text_indication = "Your body feels warm!"
+
+/datum/mutation/human/cold_resistance/New()
+ ..()
+ visual_indicators |= image("icon"='icons/effects/genetics.dmi', "icon_state"="fire_s", "layer"=-MUTATIONS_LAYER)
+
+/datum/mutation/human/cold_resistance/on_life(mob/living/carbon/human/owner)
+ if(owner.getFireLoss())
+ if(prob(1))
+ owner.heal_organ_damage(0,1) //Is this really needed?
+
+/datum/mutation/human/x_ray
+
+ name = "X Ray Vision"
+ quality = POSITIVE
+ get_chance = 10
+ lowest_value = 256 * 15
+ text_indication = "The walls suddenly disappear!"
+
+/datum/mutation/human/x_ray/on_acquiring(mob/living/carbon/human/owner)
+ if(..()) return
+ on_life(owner)
+
+/datum/mutation/human/x_ray/on_life(mob/living/carbon/human/owner)
+ owner.sight |= SEE_MOBS|SEE_OBJS|SEE_TURFS
+ owner.see_in_dark = 8
+ owner.see_invisible = SEE_INVISIBLE_LEVEL_TWO
+
+/datum/mutation/human/x_ray/on_losing(mob/living/carbon/human/owner)
+ if(..()) return
+ owner.see_in_dark = initial(owner.see_in_dark)
+ owner.see_invisible = initial(owner.see_invisible)
+ owner.sight = initial(owner.sight)
+
+/datum/mutation/human/nearsight
+
+ name = "Near Sightness"
+ quality = MINOR_NEGATIVE
+ text_indication = "You can't see very well."
+
+/datum/mutation/human/nearsight/on_acquiring(mob/living/carbon/human/owner)
+ if(..()) return
+ owner.disabilities |= NEARSIGHT
+
+/datum/mutation/human/nearsight/on_losing(mob/living/carbon/human/owner)
+ if(..()) return
+ owner.disabilities &= ~NEARSIGHT
+
+/datum/mutation/human/epilepsy
+
+ name = "Epilepsy"
+ quality = NEGATIVE
+ text_indication = "You get a headache."
+
+/datum/mutation/human/epilepsy/on_life(mob/living/carbon/human/owner)
+ if ((prob(1) && owner.paralysis < 1))
+ owner << "You have a seizure!"
+ for(var/mob/O in viewers(owner, null) - owner)
+ O.show_message(text("[src] starts having a seizure!"), 1)
+ owner.Paralyse(10)
+ owner.Jitter(1000)
+
+/datum/mutation/human/bad_dna
+
+ name = "Unstable DNA"
+ quality = NEGATIVE
+ text_indication = "You feel strange."
+
+/datum/mutation/human/bad_dna/on_acquiring(mob/living/carbon/human/owner)
+ if(prob(95))
+ if(prob(50))
+ randmutb(owner)
+ else
+ randmuti(owner)
+ else
+ randmutg(owner)
+ on_losing(owner)
+
+/datum/mutation/human/cough
+
+ name = "Cough"
+ quality = MINOR_NEGATIVE
+ text_indication = "You start coughing."
+
+/datum/mutation/human/cough/on_life(mob/living/carbon/human/owner)
+ if((prob(5) && owner.paralysis <= 1))
+ owner.drop_item()
+ owner.emote("cough")
+
+/datum/mutation/human/clumsy
+
+ name = "Clumsiness"
+ quality = MINOR_NEGATIVE
+ text_indication = "You feel lightheaded."
+
+/datum/mutation/human/clumsy/on_acquiring(mob/living/carbon/human/owner)
+ if(..()) return
+ owner.disabilities |= CLUMSY
+
+/datum/mutation/human/clumsy/on_losing(mob/living/carbon/human/owner)
+ if(..()) return
+ owner.disabilities &= ~CLUMSY
+
+/datum/mutation/human/tourettes
+
+ name = "Tourettes Syndrome"
+ quality = NEGATIVE
+ text_indication = "You twitch."
+
+/datum/mutation/human/tourettes/on_life(mob/living/carbon/human/owner)
+ if((prob(10) && owner.paralysis <= 1))
+ owner.Stun(10)
+ switch(rand(1, 3))
+ if(1)
+ owner.emote("twitch")
+ if(2 to 3)
+ owner.say("[prob(50) ? ";" : ""][pick("SHIT", "PISS", "FUCK", "CUNT", "COCKSUCKER", "MOTHERFUCKER", "TITS")]")
+ var/x_offset_old = owner.pixel_x
+ var/y_offset_old = owner.pixel_y
+ var/x_offset = owner.pixel_x + rand(-2,2)
+ var/y_offset = owner.pixel_y + rand(-1,1)
+ animate(owner, pixel_x = x_offset, pixel_y = y_offset, time = 1)
+ animate(owner, pixel_x = x_offset_old, pixel_y = y_offset_old, time = 1)
+
+/datum/mutation/human/nervousness
+
+ name = "Nervousness"
+ quality = MINOR_NEGATIVE
+ text_indication = "You feel nervous."
+
+/datum/mutation/human/nervousness/on_life(mob/living/carbon/human/owner)
+ if(prob(10))
+ owner.stuttering = max(10, owner.stuttering)
+
+/datum/mutation/human/deaf
+
+ name = "Deafness"
+ quality = NEGATIVE
+ text_indication = "You can't seem to hear anything."
+
+/datum/mutation/human/deaf/on_acquiring(mob/living/carbon/human/owner)
+ if(..()) return
+ owner.disabilities |= DEAF
+
+/datum/mutation/human/deaf/on_losing(mob/living/carbon/human/owner)
+ if(..()) return
+ owner.disabilities &= ~DEAF
+
+/datum/mutation/human/blind
+
+ name = "Blindness"
+ quality = NEGATIVE
+ text_indication = "You can't seem to see anything."
+
+/datum/mutation/human/blind/on_acquiring(mob/living/carbon/human/owner)
+ if(..()) return
+ owner.disabilities |= BLIND
+
+/datum/mutation/human/blind/on_losing(mob/living/carbon/human/owner)
+ if(..()) return
+ owner.disabilities &= ~BLIND
+
+/datum/mutation/human/race
+
+ name = "Monkified"
+ quality = NEGATIVE
+
+/datum/mutation/human/race/on_acquiring(mob/living/carbon/human/owner)
+ if(..()) return
+ . = owner.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE)
+
+/datum/mutation/human/race/gain_indication(mob/living/carbon/human/owner)
+ return
+
+/datum/mutation/human/race/lose_indication(mob/living/carbon/monkey/owner)
+ return
+
+/datum/mutation/human/race/on_losing(mob/living/carbon/monkey/owner)
+ if(..()) return
+ . = owner.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE)
+
+/datum/mutation/human/laser_eyes
+
+ name = "Laser Eyes"
+ quality = POSITIVE
+ dna_block = NON_SCANNABLE
+ text_indication = "You feel pressure building up behind your eyes."
+
+/datum/mutation/human/laser_eyes/on_ranged_attack(mob/living/carbon/human/owner, atom/target)
+ if(owner.a_intent == "harm")
+ owner.LaserEyes(target)
\ No newline at end of file
diff --git a/code/datums/spells/genetic.dm b/code/datums/spells/genetic.dm
index 0a3984529bf..20b33bf4694 100644
--- a/code/datums/spells/genetic.dm
+++ b/code/datums/spells/genetic.dm
@@ -17,14 +17,14 @@
/obj/effect/proc_holder/spell/targeted/genetic/cast(list/targets)
- for(var/mob/living/target in targets)
- target.mutations.Add(mutations)
+ for(var/mob/living/carbon/target in targets)
+ for(var/A in mutations)
+ target.dna.add_mutation(A)
target.disabilities |= disabilities
- target.update_mutations() //update target's mutation overlays
spawn(duration)
if(target && !target.gc_destroyed)
- target.mutations.Remove(mutations)
+ for(var/A in mutations)
+ target.dna.remove_mutation(A)
target.disabilities &= ~disabilities
- target.update_mutations()
return
\ No newline at end of file
diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm
index ac9ed3763ca..b3a7df60f62 100644
--- a/code/datums/spells/wizard.dm
+++ b/code/datums/spells/wizard.dm
@@ -42,7 +42,7 @@
include_user = 1
centcom_cancast = 0
- mutations = list(LASER, HULK)
+ mutations = list(LASEREYES, HULK)
duration = 300
cooldown_min = 300 //25 deciseconds reduction per rank
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index f0443ee1683..9b27a40ebbc 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -41,6 +41,13 @@
var/mob/living/M = src
M.take_organ_damage(20)
+/atom/proc/attack_hulk(mob/living/carbon/human/hulk, do_attack_animation = 0)
+ if(do_attack_animation)
+ hulk.changeNext_move(CLICK_CD_MELEE)
+ add_logs(hulk, src, "punched", "hulk powers", admin=0)
+ hulk.do_attack_animation(src)
+ return
+
/atom/proc/CheckParts()
return
@@ -398,4 +405,4 @@ var/list/blood_splatter_icons = list()
return
/atom/proc/narsie_act()
- return
\ No newline at end of file
+ return
diff --git a/code/game/dna.dm b/code/game/dna.dm
index 98586486e0c..8f77b850d01 100644
--- a/code/game/dna.dm
+++ b/code/game/dna.dm
@@ -23,6 +23,28 @@
var/datum/species/species = new /datum/species/human() //The type of mutant race the player is if applicable (i.e. potato-man)
var/mutant_color = "FFF" // What color you are if you have certain speciess
var/real_name //Stores the real name of the person who originally got this dna datum. Used primarely for changelings,
+ var/list/mutations = list() //All mutations are from now on here
+ var/mob/living/carbon/holder
+
+/datum/dna/New(mob/living/carbon/new_holder)
+ if(new_holder && istype(new_holder))
+ holder = new_holder
+
+/datum/dna/proc/add_mutation(mutation_name)
+ var/datum/mutation/human/HM = mutations_list[mutation_name]
+ HM.on_acquiring(holder)
+
+/datum/dna/proc/remove_mutation(mutation_name)
+ var/datum/mutation/human/HM = mutations_list[mutation_name]
+ HM.on_losing(holder)
+
+/datum/dna/proc/check_mutation(mutation_name)
+ var/datum/mutation/human/HM = mutations_list[mutation_name]
+ return mutations.Find(HM)
+
+/datum/dna/proc/remove_all_mutations()
+ for(var/datum/mutation/human/HM in mutations)
+ HM.on_losing(holder)
/datum/dna/proc/generate_uni_identity(mob/living/carbon/character)
. = ""
@@ -51,13 +73,19 @@
/datum/dna/proc/generate_struc_enzymes(mob/living/carbon/character)
var/list/L = list("0","1","2","3","4","5","6")
- . = ""
- for(var/i=1, i<=DNA_STRUC_ENZYMES_BLOCKS, i++)
- if(i == RACEBLOCK)
- . += construct_block(istype(character,/mob/living/carbon/monkey)+1, 2)
+ var/list/sorting = list()
+ sorting.len = 14
+ var/result
+ for(var/datum/mutation/human/A in good_mutations + bad_mutations + not_good_mutations)
+ if(A.name == RACEMUT && istype(character,/mob/living/carbon/monkey))
+ sorting[A.dna_block] = num2hex(A.lowest_value + rand(0, 256 * 6), DNA_BLOCK_SIZE)
+ character.dna.mutations.Add(mutations_list[RACEMUT])
else
- . += random_string(DNA_BLOCK_SIZE, L)
- return .
+ sorting[A.dna_block] = random_string(DNA_BLOCK_SIZE, L)
+
+ for(var/B in sorting)
+ result += B
+ return result
/datum/dna/proc/generate_unique_enzymes(mob/living/carbon/character)
. = ""
@@ -131,7 +159,7 @@
return character.dna
/proc/create_dna(mob/living/carbon/C, datum/species/S) //don't use this unless you're about to use hardset_dna or ready_dna
- C.dna = new /datum/dna()
+ C.dna = new /datum/dna(C)
if(S) C.dna.species = new S() // do not remove; this is here to prevent runtimes
/////////////////////////// DNA DATUM
@@ -172,9 +200,13 @@
return
/proc/randmutb(mob/living/carbon/M)
+ var/datum/mutation/human/HM = pick(bad_mutations | not_good_mutations)
+ HM.on_acquiring(M)
return randmut(M, bad_se_blocks)
/proc/randmutg(mob/living/carbon/M)
+ var/datum/mutation/human/HM = pick(good_mutations)
+ HM.on_acquiring(M)
return randmut(M, good_se_blocks | op_se_blocks)
/proc/randmuti(mob/living/carbon/M)
@@ -234,99 +266,15 @@
if(!check_dna_integrity(M))
return 0
- M.disabilities = 0
- M.sdisabilities = 0
- M.mutations.Cut()
+ var/mob/living/carbon/C = M
+ var/mob/living/carbon/temp
- M.see_in_dark = initial(M.see_in_dark)
- M.see_invisible = initial(M.see_invisible)
+ for(var/A in mutations_list)
+ var/datum/mutation/human/HM = mutations_list[A]
+ temp = HM.check_block(C)
+ if(ismob(temp))
+ C = temp
- var/list/blocks = new /list(DNA_STRUC_ENZYMES_BLOCKS) //on-off status for each block
- for(var/i in bad_se_blocks) //bad mutations
- blocks[i] = (deconstruct_block(getblock(M.dna.struc_enzymes, i), BAD_MUTATION_DIFFICULTY) == BAD_MUTATION_DIFFICULTY)
- blocks[RACEBLOCK] = (deconstruct_block(getblock(M.dna.struc_enzymes, RACEBLOCK), BAD_MUTATION_DIFFICULTY) == BAD_MUTATION_DIFFICULTY)
- for(var/i in good_se_blocks) //good mutations
- blocks[i] = (deconstruct_block(getblock(M.dna.struc_enzymes, i), GOOD_MUTATION_DIFFICULTY) == GOOD_MUTATION_DIFFICULTY)
- for(var/i in op_se_blocks) //Overpowered mutations...extra difficult to obtain
- blocks[i] = (deconstruct_block(getblock(M.dna.struc_enzymes, i), OP_MUTATION_DIFFICULTY) == OP_MUTATION_DIFFICULTY)
-
- if(blocks[NEARSIGHTEDBLOCK])
- M.disabilities |= NEARSIGHTED
- M << "Your eyes feel strange."
- if(blocks[EPILEPSYBLOCK])
- M.disabilities |= EPILEPSY
- M << "You get a headache."
- if(blocks[STRANGEBLOCK])
- M << "You feel strange."
- if(prob(95))
- if(prob(50)) randmutb(M)
- else randmuti(M)
- else randmutg(M)
- if(blocks[COUGHBLOCK])
- M.disabilities |= COUGHING
- M << "You start coughing."
- if(blocks[CLUMSYBLOCK])
- M << "You feel lightheaded."
- M.mutations |= CLUMSY
- if(blocks[TOURETTESBLOCK])
- M.disabilities |= TOURETTES
- M << "You twitch."
- if(blocks[NERVOUSBLOCK])
- M.disabilities |= NERVOUS
- M << "You feel nervous."
- if(blocks[DEAFBLOCK])
- M.sdisabilities |= DEAF
- M.ear_deaf = 1
- M << "You can't seem to hear anything."
- if(blocks[BLINDBLOCK])
- M.sdisabilities |= BLIND
- M << "You can't seem to see anything."
- if(blocks[HULKBLOCK])
- if(inj || prob(10))
- M.mutations |= HULK
- M << "Your muscles hurt."
- if(blocks[XRAYBLOCK])
- if(inj || prob(30))
- M.mutations |= XRAY
- M << "The walls suddenly disappear."
- M.sight |= SEE_MOBS|SEE_OBJS|SEE_TURFS
- M.see_in_dark = 8
- M.see_invisible = SEE_INVISIBLE_LEVEL_TWO
- if(blocks[FIREBLOCK])
- if(inj || prob(30))
- M.mutations |= COLD_RESISTANCE
- M << "Your body feels warm."
- if(blocks[TELEBLOCK])
- if(inj || prob(25))
- M.mutations |= TK
- M << "You feel smarter."
-
-
- /* If you want the new mutations to work, UNCOMMENT THIS.
- if(istype(M, /mob/living/carbon))
- for (var/datum/mutations/mut in global_mutations)
- mut.check_mutation(M)
- */
-
-//////////////////////////////////////////////////////////// Monkey Block
- if(blocks[RACEBLOCK])
- if(istype(M, /mob/living/carbon/human)) // human > monkey
- var/mob/living/carbon/monkey/O = M.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPDAMAGE | TR_KEEPVIRUS)
- if(connected) //inside dna thing
- var/obj/machinery/dna_scannernew/C = connected
- O.loc = C
- C.occupant = O
- connected = null
- return 1
- else
- if(istype(M, /mob/living/carbon/monkey)) // monkey > human,
- var/mob/living/carbon/human/O = M.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPDAMAGE | TR_KEEPVIRUS)
- if(O && connected) //inside dna thing
- var/obj/machinery/dna_scannernew/C = connected
- O.loc = C
- C.occupant = O
- connected = null
- return 1
//////////////////////////////////////////////////////////// Monkey Block
if(M)
M.update_icon = 1 //queue a full icon update at next life() call
@@ -866,7 +814,12 @@
if("se")
if(buffer_slot["SE"])
I = new /obj/item/weapon/dnainjector(loc)
- I.fields = list("SE"=buffer_slot["SE"])
+ for(var/datum/mutation/human/HM in good_mutations + bad_mutations + not_good_mutations)
+ if(HM.check_block_string(buffer_slot["SE"]))
+ if(prob(HM.get_chance))
+ I.add_mutations.Add(HM)
+ else
+ I.remove_mutations.Add(HM)
I.damage_coeff = connected.damage_coeff
if("ui")
if(buffer_slot["UI"])
diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm
index eff9b4e843a..7b5c1acc332 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -157,9 +157,10 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
changeling.current << "You must complete the following tasks:"
if (changeling.current.mind)
- if (changeling.current.mind.assigned_role == "Clown")
- changeling.current << "You have evolved beyond your clownish nature, allowing you to wield weapons without harming yourself."
- changeling.current.mutations.Remove(CLUMSY)
+ var/mob/living/carbon/human/H = changeling.current
+ if(H.mind.assigned_role == "Clown")
+ H << "You have evolved beyond your clownish nature, allowing you to wield weapons without harming yourself."
+ H.dna.remove_mutation(CLOWNMUT)
var/obj_count = 1
for(var/datum/objective/objective in changeling.objectives)
@@ -285,7 +286,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
return
if(!target)
return
- if((NOCLONE in target.mutations) || (HUSK in target.mutations))
+ if((target.disabilities & NOCLONE) || (target.disabilities & HUSK))
user << "DNA of [target] is ruined beyond usability!"
return
if(!ishuman(target))//Absorbing monkeys is entirely possible, but it can cause issues with transforming. That's what lesser form is for anyway!
diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm
index 9fc79f95186..8d6f84746df 100644
--- a/code/game/gamemodes/changeling/powers/mutations.dm
+++ b/code/game/gamemodes/changeling/powers/mutations.dm
@@ -136,7 +136,7 @@
loc.visible_message("A grotesque blade forms around [loc.name]\'s arm!", "Our arm twists and mutates, transforming it into a deadly blade.", "You hear organic matter ripping and tearing!")
/obj/item/weapon/melee/arm_blade/dropped(mob/user)
- visible_message("With a sickening crunch, [user] reforms his blade into an arm!", "We assimilate the blade back into our body.", "With a sickening crunch, [user] reforms his blade into an arm!", "We assimilate the blade back into our body.", "With a sickening crunch, [H] reforms his shield into an arm!", "We assimilate our shield into our body", "With a sickening crunch, [H] reforms his shield into an arm!", "We assimilate our shield into our body", "Our sting appears ineffective against its DNA."
return 0
return 1
@@ -140,7 +140,7 @@ obj/effect/proc_holder/changeling/sting/blind
/obj/effect/proc_holder/changeling/sting/blind/sting_action(var/mob/user, var/mob/target)
add_logs(user, target, "stung", object="blind sting")
target << "Your eyes burn horrifically!"
- target.disabilities |= NEARSIGHTED
+ target.disabilities |= NEARSIGHT
target.eye_blind = 20
target.eye_blurry = 40
feedback_add_details("changeling_powers","BS")
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index a8394f6235f..b4f640aa4c2 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -139,7 +139,7 @@
if (mob.mind)
if (mob.mind.assigned_role == "Clown")
mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself."
- mob.mutations.Remove(CLUMSY)
+ mob.dna.remove_mutation(CLOWNMUT)
var/obj/item/weapon/paper/talisman/supply/T = new(mob)
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index d4bfb508b61..f2bc4034ad2 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -886,8 +886,8 @@ var/list/sacrificed = list()
C.ear_deaf += 50
C.show_message("The world around you suddenly becomes quiet.", 3)
affected++
- if(prob(1))
- C.sdisabilities |= DEAF
+ if(prob(1) && ishuman(C))
+ C.dna.add_mutation(DEAFMUT)
if(affected)
usr.say("Sti[pick("'","`")] kaliedir!")
usr << "The world becomes quiet as the deafening rune dissipates into fine dust."
@@ -926,9 +926,9 @@ var/list/sacrificed = list()
C.eye_blurry += 50
C.eye_blind += 20
if(prob(5))
- C.disabilities |= NEARSIGHTED
+ C.disabilities |= NEARSIGHT
if(prob(10))
- C.sdisabilities |= BLIND
+ C.disabilities |= BLIND
C.show_message("Suddenly you see red flash that blinds you.", 3)
affected++
if(affected)
@@ -1030,8 +1030,7 @@ var/list/sacrificed = list()
if(iscarbon(L))
var/mob/living/carbon/C = L
flick("e_flash", C.flash)
- if(C.stuttering < 1 && (!(HULK in C.mutations)))
- C.stuttering = 1
+ C.stuttering = 1
C.Weaken(1)
C.Stun(1)
C.show_message("The rune explodes in a bright flash.", 3)
@@ -1057,10 +1056,9 @@ var/list/sacrificed = list()
else if(iscarbon(T))
var/mob/living/carbon/C = T
flick("e_flash", C.flash)
- if (!(HULK in C.mutations))
- C.silent += 15
- C.Weaken(10)
- C.Stun(10)
+ C.silent += 15
+ C.Weaken(10)
+ C.Stun(10)
return
/////////////////////////////////////////TWENTY-FIFTH RUNE
diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm
index 718f9ad8d65..c578bb82f20 100644
--- a/code/game/gamemodes/gang/gang.dm
+++ b/code/game/gamemodes/gang/gang.dm
@@ -117,7 +117,7 @@
if (mob.mind)
if (mob.mind.assigned_role == "Clown")
mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself."
- mob.mutations.Remove(CLUMSY)
+ mob.dna.remove_mutation(CLOWNMUT)
var/obj/item/device/flash/T = new(mob)
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index 3dc96cba6fb..0e85d73d4a5 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -133,7 +133,7 @@
if (mob.mind)
if (mob.mind.assigned_role == "Clown")
mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself."
- mob.mutations.Remove(CLUMSY)
+ mob.dna.remove_mutation(CLOWNMUT)
var/obj/item/device/flash/T = new(mob)
diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm
index 9840315d2ae..faa5086be54 100644
--- a/code/game/gamemodes/setupgame.dm
+++ b/code/game/gamemodes/setupgame.dm
@@ -1,57 +1,19 @@
/proc/setupgenetics()
-// if (prob(50))
-// BLOCKADD = rand(-300,300)
-// if (prob(75))
-// DIFFMUT = rand(0,20)
var/list/avnums = new /list(DNA_STRUC_ENZYMES_BLOCKS)
for(var/i=1, i<=DNA_STRUC_ENZYMES_BLOCKS, i++)
avnums[i] = i
- HULKBLOCK = pick_n_take(avnums)
- TELEBLOCK = pick_n_take(avnums)
-
- FIREBLOCK = pick_n_take(avnums)
- XRAYBLOCK = pick_n_take(avnums)
-
- CLUMSYBLOCK = pick_n_take(avnums)
- STRANGEBLOCK = pick_n_take(avnums)
- DEAFBLOCK = pick_n_take(avnums)
- BLINDBLOCK = pick_n_take(avnums)
- NEARSIGHTEDBLOCK = pick_n_take(avnums)
- EPILEPSYBLOCK = pick_n_take(avnums)
- COUGHBLOCK = pick_n_take(avnums)
- TOURETTESBLOCK = pick_n_take(avnums)
- NERVOUSBLOCK = pick_n_take(avnums)
- RACEBLOCK = pick_n_take(avnums)
-
- bad_se_blocks = list(NEARSIGHTEDBLOCK,EPILEPSYBLOCK,STRANGEBLOCK,COUGHBLOCK,CLUMSYBLOCK,TOURETTESBLOCK,NERVOUSBLOCK,DEAFBLOCK,BLINDBLOCK)
- good_se_blocks = list(FIREBLOCK,XRAYBLOCK)
- op_se_blocks = list(HULKBLOCK,TELEBLOCK)
-
- NULLED_SE = repeat_string(DNA_STRUC_ENZYMES_BLOCKS, repeat_string(DNA_BLOCK_SIZE, "_"))
- NULLED_UI = repeat_string(DNA_UNI_IDENTITY_BLOCKS, repeat_string(DNA_BLOCK_SIZE, "_"))
- // HIDDEN MUTATIONS / SUPERPOWERS INITIALIZTION
-
-/*
- for(var/x in typesof(/datum/mutations) - /datum/mutations)
- var/datum/mutations/mut = new x
-
- for(var/i = 1, i <= mut.required, i++)
- var/datum/mutationreq/require = new/datum/mutationreq
- require.block = rand(1, 13)
- require.subblock = rand(1, 3)
-
- // Create random requirement identification
- require.reqID = pick("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", \
- "B", "C", "D", "E", "F")
-
- mut.requirements += require
-
-
- global_mutations += mut// add to global mutations list!
-*/
-
+ for(var/A in typesof(/datum/mutation/human) - /datum/mutation/human)
+ var/datum/mutation/human/B = new A()
+ if(B.dna_block == NON_SCANNABLE) return
+ B.dna_block = pick_n_take(avnums)
+ if(B.quality == POSITIVE)
+ good_mutations |= B
+ else if(B.quality == NEGATIVE)
+ bad_mutations |= B
+ else if(B.quality == MINOR_NEGATIVE)
+ not_good_mutations |= B
/proc/setupfactions()
diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm
index 13b89560a57..44c6b4365e8 100644
--- a/code/game/gamemodes/traitor/traitor.dm
+++ b/code/game/gamemodes/traitor/traitor.dm
@@ -266,7 +266,7 @@
if (traitor_mob.mind)
if (traitor_mob.mind.assigned_role == "Clown")
traitor_mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself."
- traitor_mob.mutations.Remove(CLUMSY)
+ traitor_mob.dna.remove_mutation(CLOWNMUT)
// find a radio! toolbox(es), backpack, belt, headset
var/loc = ""
diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm
index 8672a86d5a8..b953d45005d 100644
--- a/code/game/gamemodes/wizard/rightandwrong.dm
+++ b/code/game/gamemodes/wizard/rightandwrong.dm
@@ -114,11 +114,8 @@
new /obj/item/clothing/head/helmet/space/hardsuit/wizard(get_turf(H))
if("scrying")
new /obj/item/weapon/scrying(get_turf(H))
- if (!(XRAY in H.mutations))
- H.mutations.Add(XRAY)
- H.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS)
- H.see_in_dark = 8
- H.see_invisible = SEE_INVISIBLE_LEVEL_TWO
+ if (!(H.dna.check_mutation(XRAY)))
+ H.dna.add_mutation(XRAY)
H << "The walls suddenly disappear."
if("special")
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index c18045cbfa5..1f545ddfeda 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -362,12 +362,8 @@
if("scrying")
feedback_add_details("wizard_spell_learned","SO") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
new /obj/item/weapon/scrying(get_turf(H))
- if (!(XRAY in H.mutations))
- H.mutations.Add(XRAY)
- H.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS)
- H.see_in_dark = 8
- H.see_invisible = SEE_INVISIBLE_LEVEL_TWO
- H << "The walls suddenly disappear."
+ if (!(H.dna.check_mutation(XRAY)))
+ H.dna.add_mutation(XRAY)
temp = "You have purchased a scrying orb, and gained x-ray vision."
max_uses--
else
diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm
index 360d10cd342..6eeded8c1ba 100644
--- a/code/game/jobs/job/captain.dm
+++ b/code/game/jobs/job/captain.dm
@@ -37,7 +37,7 @@ Captain
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/silver_ids(H), slot_l_hand)
else
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/silver_ids(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/melee/telebaton(H), slot_in_backpack)
+ H.equip_to_slot_or_del(new /obj/item/weapon/melee/classic_baton/telescopic(H), slot_in_backpack)
//Implant him
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
@@ -94,4 +94,4 @@ Head of Personnel
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand)
else
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/melee/telebaton(H), slot_in_backpack)
+ H.equip_to_slot_or_del(new /obj/item/weapon/melee/classic_baton/telescopic(H), slot_in_backpack)
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index c65cde3f6be..40289a5e0ec 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -62,6 +62,7 @@ Cook
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
+ var/global/cooks = 0 //Counts cooks amount
default_pda = /obj/item/device/pda/cook
default_headset = /obj/item/device/radio/headset/headset_srv
@@ -70,10 +71,17 @@ Cook
minimal_access = list(access_kitchen, access_morgue)
/datum/job/cook/equip_items(var/mob/living/carbon/human/H)
+ cooks += 1
+
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head)
+ switch(cooks)
+ if(1)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/chef(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head)
+ else
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/apron/chef(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/head/soft/mime(H), slot_head)
/*
Botanist
@@ -227,7 +235,7 @@ Clown
H.equip_to_slot_or_del(new /obj/item/weapon/bikehorn(H), slot_l_store)
H.equip_to_slot_or_del(new /obj/item/toy/crayon/rainbow(H), slot_r_store)
- H.mutations.Add(CLUMSY)
+ H.dna.add_mutation(CLOWNMUT)
H.rename_self("clown")
/*
@@ -348,12 +356,13 @@ Lawyer
/datum/job/lawyer/equip_items(var/mob/living/carbon/human/H)
lawyers += 1
- if(lawyers%2 != 0)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/bluesuit(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/lawyer(H), slot_wear_suit)
- else
- H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/purpsuit(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/lawyer/purple(H), slot_wear_suit)
+ switch(lawyers)
+ if(1)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/bluesuit(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/lawyer(H), slot_wear_suit)
+ else
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/purpsuit(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/lawyer/purple(H), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase(H), slot_l_hand)
diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm
index 4e2a3717a0e..d58aff0ac06 100644
--- a/code/game/jobs/job/engineering.dm
+++ b/code/game/jobs/job/engineering.dm
@@ -40,7 +40,7 @@ Chief Engineer
//Equip telebaton
if(H.backbag == 2 || H.backbag == 3)
- H.equip_to_slot_or_del(new /obj/item/weapon/melee/telebaton(H), slot_in_backpack)
+ H.equip_to_slot_or_del(new /obj/item/weapon/melee/classic_baton/telescopic(H), slot_in_backpack)
/*
Station Engineer
diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm
index 3557547362b..5c2d1ecff74 100644
--- a/code/game/jobs/job/medical.dm
+++ b/code/game/jobs/job/medical.dm
@@ -36,7 +36,7 @@ Chief Medical Officer
//Equip telebaton
if(H.backbag == 2 || H.backbag == 3)
- H.equip_to_slot_or_del(new /obj/item/weapon/melee/telebaton(H), slot_in_backpack)
+ H.equip_to_slot_or_del(new /obj/item/weapon/melee/classic_baton/telescopic(H), slot_in_backpack)
/*
Medical Doctor
diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm
index 90633512de7..99908da4248 100644
--- a/code/game/jobs/job/science.dm
+++ b/code/game/jobs/job/science.dm
@@ -38,7 +38,7 @@ Research Director
//Equip telebaton
if(H.backbag == 2 || H.backbag == 3)
- H.equip_to_slot_or_del(new /obj/item/weapon/melee/telebaton(H), slot_in_backpack)
+ H.equip_to_slot_or_del(new /obj/item/weapon/melee/classic_baton/telescopic(H), slot_in_backpack)
/*
Scientist
diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index f956d5edb11..361d0bbed9b 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -48,7 +48,7 @@ Head of Security
H.equip_to_slot_or_del(new /obj/item/weapon/restraints/handcuffs(H), slot_l_store)
else
H.equip_to_slot_or_del(new /obj/item/weapon/restraints/handcuffs(H), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/melee/telebaton(H), slot_in_backpack)
+ H.equip_to_slot_or_del(new /obj/item/weapon/melee/classic_baton/telescopic(H), slot_in_backpack)
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 8d99276354a..9e16d3f3b29 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -179,7 +179,7 @@
return
- else if (istype(user, /mob/living/silicon) && src.aidisabled)
+ else if (user.has_unlimited_silicon_privilege && src.aidisabled)
user << "AI control for this Air Alarm interface has been disabled."
user << browse(null, "window=air_alarm")
return
@@ -248,11 +248,10 @@
/obj/machinery/alarm/proc/return_text()
var/dat = ""
- if(!(istype(usr, /mob/living/silicon)) && locked)
- dat += "Swipe ID card to unlock interface
"
+ dat += "Swipe ID card to [locked ? "unlock" : "lock"] interface.
"
+ if(!usr.has_unlimited_silicon_privilege && locked)
dat += "[return_status()]"
else
- dat += "Swipe ID card to lock interface
"
dat += "[return_status()]
[return_controls()]"
return dat
@@ -564,7 +563,7 @@ table tr:first-child th:first-child { border: none;}
var/datum/tlv/tlv = TLV[env]
var/newval = input("Enter [varname] for env", "Alarm triggers", tlv.vars[varname]) as num|null
- if (isnull(newval) || ..() || (locked && !issilicon(usr)))
+ if (isnull(newval) || ..() || (locked && !(usr.has_unlimited_silicon_privilege)))
return
if (newval<0)
tlv.vars[varname] = -1.0
@@ -1108,7 +1107,7 @@ FIRE ALARM
var/d1
var/d2
var/dat = ""
- if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon))
+ if (istype(user, /mob/living/carbon/human) || user.has_unlimited_silicon_privilege)
A = A.loc
if (A.fire)
@@ -1281,7 +1280,7 @@ Code shamelessly copied from apc_frame
var/area/A = src.loc
var/d1
var/dat
- if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai))
+ if (istype(user, /mob/living/carbon/human) || user.has_unlimited_silicon_privilege)
A = A.loc
if (A.party)
diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm
index 3c83caa461d..333cefdca0c 100644
--- a/code/game/machinery/bots/ed209bot.dm
+++ b/code/game/machinery/bots/ed209bot.dm
@@ -42,7 +42,7 @@
/obj/item/weapon/gun/energy/laser/bluetag,\
/obj/item/weapon/gun/energy/laser/redtag,\
/obj/item/weapon/gun/energy/laser/practice,\
- /obj/item/weapon/melee/telebaton,\
+ /obj/item/weapon/melee/classic_baton/telescopic,\
/obj/item/weapon/gun/energy/kinetic_accelerator)
@@ -255,8 +255,7 @@ Auto Patrol[]"},
icon_state = "[lasercolor]ed209[on]"
var/mob/living/carbon/M = target
if(istype(M, /mob/living/carbon/human))
- if( M.stuttering < 5 && !(HULK in M.mutations) )
- M.stuttering = 5
+ M.stuttering = 5
M.Stun(5)
M.Weaken(5)
else
diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm
index 51f7faec68e..2c9838cf9d5 100644
--- a/code/game/machinery/bots/secbot.dm
+++ b/code/game/machinery/bots/secbot.dm
@@ -32,7 +32,7 @@
/obj/item/weapon/gun/energy/laser/bluetag,\
/obj/item/weapon/gun/energy/laser/redtag,\
/obj/item/weapon/gun/energy/laser/practice,\
- /obj/item/weapon/melee/telebaton,\
+ /obj/item/weapon/melee/classic_baton/telescopic,\
/obj/item/weapon/gun/energy/kinetic_accelerator)
@@ -218,8 +218,7 @@ Auto Patrol: []"},
icon_state = "secbot[on]"
var/mob/living/carbon/M = target
if(istype(M, /mob/living/carbon/human))
- if( M.stuttering < 5 && !(HULK in M.mutations) )
- M.stuttering = 5
+ M.stuttering = 5
M.Stun(5)
M.Weaken(5)
else
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 261f9fb6284..2a2ca4b908e 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -32,9 +32,13 @@
/obj/machinery/computer/arcade/New()
..()
- var/choice = pick(typesof(/obj/machinery/computer/arcade) - /obj/machinery/computer/arcade)
- new choice(loc)
- qdel(src)
+ // If it's a generic arcade machine, pick a random arcade
+ // circuit board for it and make the new machine
+ if(!circuit)
+ var/choice = pick(typesof(/obj/item/weapon/circuitboard/arcade) - /obj/item/weapon/circuitboard/arcade)
+ var/obj/item/weapon/circuitboard/CB = new choice()
+ new CB.build_path(loc, CB)
+ qdel(src)
/obj/machinery/computer/arcade/proc/prizevend()
if(!contents.len)
@@ -87,6 +91,7 @@
var/turtle = 0
/obj/machinery/computer/arcade/battle/New()
+ ..()
var/name_action
var/name_part1
var/name_part2
@@ -304,6 +309,7 @@
var/list/stopblurbs = list()
/obj/machinery/computer/arcade/orion_trail/New()
+ ..()
// Sets up the main trail
stops = list("Pluto","Asteroid Belt","Proxima Centauri","Dead Space","Rigel Prime","Tau Ceti Beta","Black Hole","Space Outpost Beta-9","Orion Prime")
stopblurbs = list(
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index 0aa6ed942bc..37453e8ea44 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -9,7 +9,7 @@
var/mapping = 0//For the overview file, interesting bit of code.
/obj/machinery/computer/security/check_eye(var/mob/user as mob)
- if ((get_dist(user, src) > 1 || user.blinded || !( current ) || !( current.status )) && (!istype(user, /mob/living/silicon)))
+ if ((get_dist(user, src) > 1 || user.eye_blind || !( current ) || !( current.status )) && (!istype(user, /mob/living/silicon)))
return null
var/list/viewing = viewers(src)
if((istype(user,/mob/living/silicon/robot)) && (!(viewing.Find(user))))
@@ -64,7 +64,7 @@
return 0
if(C)
- if ((get_dist(user, src) > 1 || user.machine != src || user.blinded || !( C.can_use() )) && (!istype(user, /mob/living/silicon/ai)))
+ if ((get_dist(user, src) > 1 || user.machine != src || user.eye_blind || !( C.can_use() )) && (!istype(user, /mob/living/silicon/ai)))
if(!C.can_use() && !isAI(user))
src.current = null
return 0
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index 5e52de0bb9a..787057f6fae 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -95,7 +95,7 @@
flick("e_flash", O:flash)
O.eye_stat += rand(1, 2)
else
- if(!O.blinded)
+ if(!O.eye_blind)
flick("flash", O:flash)
O.eye_stat += rand(0, 2)
return 1
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 18c4ac4205a..ed7c4eb85cf 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -227,7 +227,7 @@ Class Procs:
if(restrained() || lying || stat || stunned || weakened)
return
if(!in_range(M, src))
- if((be_close == 0) && (TK in mutations))
+ if((be_close == 0) && (dna.check_mutation(TK)))
if(tkMaxRangeCheck(src, M))
return 1
return
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index c1fa0980810..de4b1fe11ac 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -31,6 +31,7 @@ Buildable meters
#define DISP_END_BIN 5
#define DISP_END_OUTLET 6
#define DISP_END_CHUTE 7
+#define DISP_SORTJUNCTION 8
/obj/item/pipe
name = "pipe"
@@ -50,6 +51,7 @@ Buildable meters
if (make_from)
src.dir = make_from.dir
src.pipename = make_from.name
+ src.color = make_from.color
var/is_bent
if (make_from.initialize_directions in list(NORTH|SOUTH, WEST|EAST))
is_bent = 0
@@ -69,7 +71,7 @@ Buildable meters
src.pipe_type = PIPE_MANIFOLD
else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_pump))
src.pipe_type = PIPE_UVENT
- else if(istype(make_from, /obj/machinery/atmospherics/valve/digital))
+ else if(istype(make_from, /obj/machinery/atmospherics/binary/valve/digital))
src.pipe_type = PIPE_DVALVE
else if(istype(make_from, /obj/machinery/atmospherics/binary/valve))
src.pipe_type = PIPE_MVALVE
@@ -293,7 +295,7 @@ var/global/list/pipeID2State = list(
return rotate()
/obj/item/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
- ..()
+
//*
if (!istype(W, /obj/item/weapon/wrench))
return ..()
@@ -313,51 +315,51 @@ var/global/list/pipeID2State = list(
switch(pipe_type)
if(PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT)
var/obj/machinery/atmospherics/pipe/simple/P = new( src.loc )
- P.construction(dir, pipe_dir)
+ P.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_HE_STRAIGHT, PIPE_HE_BENT)
var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/P = new ( src.loc )
P.initialize_directions_he = pipe_dir
- P.construction(dir, pipe_dir)
+ P.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_CONNECTOR)
var/obj/machinery/atmospherics/unary/portables_connector/C = new( src.loc )
if (pipename)
C.name = pipename
- C.construction(dir, pipe_dir)
+ C.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_MANIFOLD)
var/obj/machinery/atmospherics/pipe/manifold/M = new(loc)
- M.construction(dir, pipe_dir)
+ M.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_4WAYMANIFOLD)
var/obj/machinery/atmospherics/pipe/manifold4w/M = new( src.loc )
- M.construction(dir, pipe_dir)
+ M.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_JUNCTION)
var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/P = new ( src.loc )
P.initialize_directions_he = src.get_hdir()
- P.construction(dir, get_pdir())
+ P.construction(dir, get_pdir(), pipe_type, color)
if(PIPE_UVENT)
var/obj/machinery/atmospherics/unary/vent_pump/V = new( src.loc )
- V.construction(dir, pipe_dir)
+ V.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_MVALVE)
var/obj/machinery/atmospherics/binary/valve/V = new(src.loc)
if (pipename)
V.name = pipename
- V.construction(dir, get_pdir())
+ V.construction(dir, get_pdir(), pipe_type, color)
if(PIPE_DVALVE)
- var/obj/machinery/atmospherics/valve/digital/V = new(src.loc)
+ var/obj/machinery/atmospherics/binary/valve/digital/V = new(src.loc)
if (pipename)
V.name = pipename
- V.construction(dir, get_pdir())
+ V.construction(dir, get_pdir(), pipe_type, color)
if(PIPE_PUMP)
var/obj/machinery/atmospherics/binary/pump/P = new(src.loc)
- P.construction(dir, pipe_dir)
+ P.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_GAS_FILTER, PIPE_GAS_MIXER)
var/obj/machinery/atmospherics/trinary/P
@@ -368,41 +370,42 @@ var/global/list/pipeID2State = list(
P.flipped = flipped
if (pipename)
P.name = pipename
- P.construction(unflip(dir), pipe_dir)
+ P.construction(unflip(dir), pipe_dir, pipe_type, color)
if(PIPE_SCRUBBER)
var/obj/machinery/atmospherics/unary/vent_scrubber/S = new(src.loc)
if (pipename)
S.name = pipename
- S.construction(dir, pipe_dir)
+ S.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_INSULATED_STRAIGHT, PIPE_INSULATED_BENT)
var/obj/machinery/atmospherics/pipe/simple/insulated/P = new( src.loc )
- P.construction(dir, pipe_dir)
+ P.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_PASSIVE_GATE)
var/obj/machinery/atmospherics/binary/passive_gate/P = new(src.loc)
if (pipename)
P.name = pipename
- P.construction(dir, pipe_dir)
+ P.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_VOLUME_PUMP)
var/obj/machinery/atmospherics/binary/volume_pump/P = new(src.loc)
if (pipename)
P.name = pipename
- P.construction(dir, pipe_dir)
+ P.construction(dir, pipe_dir, pipe_type, color)
if(PIPE_HEAT_EXCHANGE)
var/obj/machinery/atmospherics/unary/heat_exchanger/C = new( src.loc )
if (pipename)
C.name = pipename
- C.construction(dir, pipe_dir)
+ C.construction(dir, pipe_dir, pipe_type, color)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user.visible_message( \
"[user] fastens \the [src].", \
"You have fastened \the [src].", \
"You hear ratchet.")
+
qdel(src) // remove the pipe item
return
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index dbed600f9d3..6f23f36296a 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -898,7 +898,7 @@
desc = "A kitchen and restaurant equipment vendor"
product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..."
icon_state = "dinnerware"
- products = list(/obj/item/weapon/storage/bag/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/kitchenknife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/chef/classic = 2,/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup = 5,/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce = 5)
+ products = list(/obj/item/weapon/storage/bag/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/kitchenknife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/apron/chef = 2,/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup = 5,/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce = 5)
contraband = list(/obj/item/weapon/kitchen/rollingpin = 2, /obj/item/weapon/butch = 2)
/obj/machinery/vending/sovietsoda
diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm
index c6e676a9c97..161fc416135 100644
--- a/code/game/machinery/wishgranter.dm
+++ b/code/game/machinery/wishgranter.dm
@@ -11,7 +11,8 @@
var/charges = 1
var/insisting = 0
-/obj/machinery/wish_granter/attack_hand(var/mob/user as mob)
+/obj/machinery/wish_granter/attack_hand(var/mob/living/carbon/user)
+ if(istype(user)) return
usr.set_machine(src)
if(charges <= 0)
@@ -36,28 +37,10 @@
charges--
insisting = 0
- if (!(HULK in user.mutations))
- user.mutations.Add(HULK)
-
- if (!(LASER in user.mutations))
- user.mutations.Add(LASER)
-
- if (!(XRAY in user.mutations))
- user.mutations.Add(XRAY)
- user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS)
- user.see_in_dark = 8
- user.see_invisible = SEE_INVISIBLE_LEVEL_TWO
-
- if (!(COLD_RESISTANCE in user.mutations))
- user.mutations.Add(COLD_RESISTANCE)
-
- if (!(TK in user.mutations))
- user.mutations.Add(TK)
-
- if(!(HEAL in user.mutations))
- user.mutations.Add(HEAL)
-
- user.update_mutations()
+ user.dna.add_mutation(HULK)
+ user.dna.add_mutation(XRAY)
+ user.dna.add_mutation(COLDRES)
+ user.dna.add_mutation(TK)
ticker.mode.traitors += user.mind
user.mind.special_role = "Avatar of the Wish Granter"
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 757cf90e8da..26b256148d8 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -490,18 +490,22 @@ obj/mecha/proc/can_use(mob/user)
else
qdel(src)
+/obj/mecha/attack_hulk(mob/living/carbon/human/user)
+ if(!prob(src.deflect_chance))
+ ..(user, 1)
+ take_damage(15)
+ check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
+ user.visible_message("[user] hits [src.name], doing some damage.", "You hit [src.name] with all your might. The metal creaks and bends.")
+ occupant_message("[user] hits [src.name], doing some damage.")
+ return 1
+ return 0
+
/obj/mecha/attack_hand(mob/living/user as mob)
user.changeNext_move(CLICK_CD_MELEE) // Ugh. Ideally we shouldn't be setting cooldowns outside of click code.
user.do_attack_animation(src)
src.log_message("Attack by hand/paw. Attacker - [user].",1)
-
- if ((HULK in user.mutations) && !prob(src.deflect_chance))
- src.take_damage(15)
- src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- user.visible_message("[user] hits [src.name], doing some damage.", "You hit [src.name] with all your might. The metal creaks and bends.")
- else
- user.visible_message("[user] hits [src.name]. Nothing happens","You hit [src.name] with no visible effect.")
- src.log_append_to_last("Armor saved.")
+ user.visible_message("[user] hits [src.name]. Nothing happens","You hit [src.name] with no visible effect.")
+ src.log_append_to_last("Armor saved.")
return
/obj/mecha/attack_paw(mob/user as mob)
@@ -619,28 +623,6 @@ obj/mecha/proc/can_use(mob/user)
src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),1)
return
-/*Will fix later -Sieve
-/obj/mecha/attack_blob(mob/user as mob)
- src.log_message("Attack by blob. Attacker - [user].",1)
- if(!prob(src.deflect_chance))
- src.take_damage(6)
- src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- playsound(src.loc, 'sound/effects/blobattack.ogg', 50, 1, -1)
- user << "\red You smash at the armored suit!"
- for (var/mob/V in viewers(src))
- if(V.client && !(V.blinded))
- V.show_message("\red The [user] smashes against [src.name]'s armor!", 1)
- else
- src.log_append_to_last("Armor saved.")
- playsound(src.loc, 'sound/effects/blobattack.ogg', 50, 1, -1)
- user << "\green Your attack had no effect!"
- src.occupant_message("\blue The [user]'s attack is stopped by the armor.")
- for (var/mob/V in viewers(src))
- if(V.client && !(V.blinded))
- V.show_message("\blue The [user] rebounds off the [src.name] armor!", 1)
- return
-*/
-
/obj/mecha/blob_act()
take_damage(30, "brute")
return
@@ -794,22 +776,6 @@ obj/mecha/proc/can_use(mob/user)
else if(!(W.flags&NOBLUDGEON))
call((proc_res["dynattackby"]||src), "dynattackby")(W,user)
-/*
- src.log_message("Attacked by [W]. Attacker - [user]")
- if(prob(src.deflect_chance))
- user << "\red The [W] bounces off [src.name] armor."
- src.log_append_to_last("Armor saved.")
-/*
- for (var/mob/V in viewers(src))
- if(V.client && !(V.blinded))
- V.show_message("The [W] bounces off [src.name] armor.", 1)
-*/
- else
- src.occupant_message("[user] hits [src] with [W].")
- user.visible_message("[user] hits [src] with [W].", "You hit [src] with [W].")
- src.take_damage(W.force,W.damtype)
- src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
-*/
return
/*
diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm
index 4848b1bfa7a..c3c97749174 100644
--- a/code/game/objects/effects/aliens.dm
+++ b/code/game/objects/effects/aliens.dm
@@ -108,14 +108,12 @@
health -= tforce
healthcheck()
-
-/obj/structure/alien/resin/attack_hand(mob/living/user)
- if(HULK in user.mutations)
- user.do_attack_animation(src)
- user.visible_message("[user] destroys [src]!")
- health = 0
- healthcheck()
-
+/obj/structure/alien/resin/attack_hulk(mob/living/carbon/human/user)
+ ..(user, 1)
+ user.do_attack_animation(src)
+ user.visible_message("[user] destroys [src]!")
+ health = 0
+ healthcheck()
/obj/structure/alien/resin/attack_paw(mob/user)
return attack_hand(user)
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index 3dd5fdf823c..e108a29571a 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -966,16 +966,16 @@ steam.start() -- spawns the effect
qdel(src)
return
-/obj/structure/foamedmetal/attack_hand(var/mob/user)
- if ((HULK in user.mutations) || (prob(75 - metal*25)))
+/obj/structure/foamedmetal/attack_hulk(mob/living/carbon/human/user)
+ ..(user, 1)
+ if(prob(75 - metal*25))
user.visible_message("[user] smashes through the foamed metal.", \
"You smash through the metal foam wall.")
-
qdel(src)
- else
- user << "You hit the metal foam but bounce off it."
- return
+ return 1
+/obj/structure/foamedmetal/attack_hand(var/mob/user)
+ user << "You hit the metal foam but bounce off it."
/obj/structure/foamedmetal/attackby(var/obj/item/I, var/mob/user)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 82cf59a988e..378e96ba819 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -313,14 +313,7 @@
add_logs(user, M, "attacked", object="[src.name]", addition="(INTENT: [uppertext(user.a_intent)])")
src.add_fingerprint(user)
- //if((CLUMSY in user.mutations) && prob(50))
- // M = user
- /*
- M << "\red You stab yourself in the eye."
- M.sdisabilities |= BLIND
- M.weakened += 4
- M.adjustBruteLoss(10)
- */
+
if(M != user)
M.visible_message("[user] has stabbed [M] in the eye with [src]!", \
"[user] stabs you in the eye with [src]!")
@@ -341,7 +334,7 @@
M.eye_stat += rand(2,4)
if (M.eye_stat >= 10)
M.eye_blurry += 15+(0.1*M.eye_blurry)
- M.disabilities |= NEARSIGHTED
+ M.disabilities |= NEARSIGHT
if(M.stat != 2)
M << "Your eyes start to bleed profusely!"
if(prob(50))
@@ -354,7 +347,7 @@
if (prob(M.eye_stat - 10 + 1))
if(M.stat != 2)
M << "You go blind!"
- M.sdisabilities |= BLIND
+ M.disabilities |= BLIND
return
/obj/item/clean_blood()
diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm
index 4da4cbe1e8e..cdb6459e7c3 100644
--- a/code/game/objects/items/devices/camera_bug.dm
+++ b/code/game/objects/items/devices/camera_bug.dm
@@ -71,7 +71,7 @@
interact(user)
/obj/item/device/camera_bug/check_eye(var/mob/user as mob)
- if (user.stat || loc != user || !user.canmove || user.blinded || !current)
+ if (user.stat || loc != user || !user.canmove || user.eye_blind || !current)
user.reset_view(null)
user.unset_machine()
return null
diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index 71959e986ae..5496413aff1 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -15,8 +15,8 @@
var/last_used = 0 //last world.time it was used.
-/obj/item/device/flash/proc/clown_check(mob/user)
- if(user && (CLUMSY in user.mutations) && prob(50))
+/obj/item/device/flash/proc/clown_check(mob/living/carbon/human/user)
+ if(user.disabilities & CLUMSY && prob(50))
flash_carbon(user, user, 15, 0)
return 0
return 1
@@ -57,19 +57,20 @@
return 1
-/obj/item/device/flash/proc/flash_carbon(var/mob/living/carbon/M, var/mob/user = null, var/power = 5, convert = 1)
+/obj/item/device/flash/proc/flash_carbon(var/mob/living/carbon/M, var/mob/user = null, var/power = 5, targeted = 1)
add_logs(user, M, "flashed", object="[src.name]")
- var/safety = M:eyecheck()
+ var/safety = M.eyecheck()
if(safety <= 0)
M.confused += power
flick("e_flash", M.flash)
- if(user && convert)
+ if(user && targeted)
terrible_conversion_proc(M, user)
M.Stun(1)
- user.visible_message("[user] blinds [M] with the flash!")
+ user.visible_message("[user] blinds [M] with the flash!")
return 1
else
- user.visible_message("[user] fails to blind [M] with the flash!")
+ if(user && targeted)
+ user.visible_message("[user] fails to blind [M] with the flash!")
return 0
/obj/item/device/flash/attack(mob/living/M, mob/user)
@@ -92,6 +93,7 @@
/obj/item/device/flash/attack_self(mob/living/carbon/user, flag = 0, emp = 0)
if(!try_use_flash(user))
return 0
+ user.visible_message("[user]'s flash emits a blinding light!")
for(var/mob/living/carbon/M in oviewers(3, null))
flash_carbon(M, user, 3, 0)
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 587837fab45..492128e76dc 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -45,11 +45,11 @@
return 1
-/obj/item/device/flashlight/attack(mob/living/M as mob, mob/living/user as mob)
+/obj/item/device/flashlight/attack(mob/living/carbon/human/M as mob, mob/living/carbon/human/user as mob)
add_fingerprint(user)
if(on && user.zone_sel.selecting == "eyes")
- if(((CLUMSY in user.mutations) || user.getBrainLoss() >= 60) && prob(50)) //too dumb to use flashlight properly
+ if((user.disabilities & CLUMSY || user.getBrainLoss() >= 60) && prob(50)) //too dumb to use flashlight properly
return ..() //just hit them in the head
if(!user.IsAdvancedToolUser())
@@ -62,7 +62,7 @@
return
if(M == user) //they're using it on themselves
- if(!M.blinded)
+ if(!M.eye_blind)
flick("flash", M.flash)
M.visible_message("[M] directs [src] to \his eyes.", \
"You wave the light in front of your eyes! Trippy!")
@@ -75,12 +75,12 @@
"You direct [src] to [M]'s eyes.")
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey)) //robots and aliens are unaffected
- if(M.stat == DEAD || M.sdisabilities & BLIND) //mob is dead or fully blind
+ if(M.stat == DEAD || M.disabilities & BLIND) //mob is dead or fully blind
user << "[M] pupils does not react to the light!"
- else if(XRAY in M.mutations) //mob has X-RAY vision
+ else if(M.dna.check_mutation(XRAY)) //mob has X-RAY vision
user << "[M] pupils give an eerie glow!"
else //they're okay!
- if(!M.blinded)
+ if(!M.eye_blind)
flick("flash", M.flash) //flash the affected mob
user << "[M]'s pupils narrow."
else
@@ -101,12 +101,45 @@
/obj/item/device/flashlight/pen
name = "penlight"
- desc = "A pen-sized light, used by medical staff."
+ desc = "A pen-sized light, used by medical staff. It can also be used to create a hologram to alert people of incoming medical assistance."
icon_state = "penlight"
item_state = ""
flags = CONDUCT
brightness_on = 2
+ var/holo_cooldown = 0
+/obj/item/device/flashlight/pen/afterattack(atom/target, mob/user, proximity_flag)
+ if(!proximity_flag)
+ if(holo_cooldown)
+ user << "[src] is not ready yet."
+ return
+ var/T = get_turf(target)
+ if(locate(/mob/living) in T)
+ CreateHolo(T, user)
+ return
+ ..()
+
+/obj/item/device/flashlight/pen/proc/CreateHolo(var/tturf,var/creator)
+ var/obj/effect/medical_holosign/M = new /obj/effect/medical_holosign(tturf)
+ M.visible_message("[creator] created a medical hologram!")
+ holo_cooldown = 1
+ spawn(100)
+ holo_cooldown = 0
+ return
+
+/obj/effect/medical_holosign
+ name = "medical holosign"
+ desc = "A small holographic barrier that indicates a medic is coming to treat a patient."
+ icon = 'icons/effects/effects.dmi'
+ icon_state = "medi_holo"
+ layer = 4.1
+ mouse_opacity = 0
+
+/obj/effect/medical_holosign/New()
+ playsound(loc, 'sound/machines/ping.ogg', 50, 0)
+ spawn(30)
+ qdel(src)
+ return
/obj/item/device/flashlight/seclite
name = "seclite"
diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm
index 27e4dd6631a..1fb4050143b 100644
--- a/code/game/objects/items/devices/laserpointer.dm
+++ b/code/game/objects/items/devices/laserpointer.dm
@@ -78,12 +78,9 @@
if (!user.IsAdvancedToolUser())
user << "You don't have the dexterity to do this!"
return
- if(user.has_mutation(HULK))
- user << "Your meaty finger is too large for the button!"
- return
if(ishuman(user))
var/mob/living/carbon/human/H = user
- if(H.dna && NOGUNS in H.dna.species.specflags)
+ if(H.dna && (H.dna.check_mutation(HULK) || NOGUNS in H.dna.species.specflags))
user << "Your fingers can't press the button!"
return
@@ -109,7 +106,7 @@
//eye target check
outmsg = "You blind [C] by shining [src] in their eyes."
var/eye_prot = C.eyecheck()
- if(C.blinded || eye_prot >= 2)
+ if(C.eye_blind || eye_prot >= 2)
eye_prot = 4
var/severity = 3 - eye_prot
if(prob(33))
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 6cf2b1b36ac..6c0de160e24 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -195,7 +195,7 @@
/obj/item/device/radio/headset/ai
name = "\proper Integrated Subspace Transceiver "
- keyslot = new /obj/item/device/encryptionkey/ai
+ keyslot2 = new /obj/item/device/encryptionkey/ai
/obj/item/device/radio/headset/ai/receive_range(freq, level)
return ..(freq, level, 1)
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 7eef024ef0e..9762cf10c60 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -77,10 +77,10 @@ MASS SPECTROMETER
origin_tech = "magnets=1;biotech=1"
var/mode = 1;
-/obj/item/device/healthanalyzer/attack(mob/living/M as mob, mob/living/user as mob)
+/obj/item/device/healthanalyzer/attack(mob/living/M as mob, mob/living/carbon/human/user as mob)
// Clumsiness/brain damage check
- if ((CLUMSY in user.mutations || user.getBrainLoss() >= 60) && prob(50))
+ if ((user.disabilities & CLUMSY || user.getBrainLoss() >= 60) && prob(50))
user << "You stupidly try to analyze the floor's vitals!"
user.visible_message("[user] has analyzed the floor's vitals!")
user.show_message("Analyzing Results for The floor:\n\t Overall Status: Healthy", 1)
diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm
index 799f1e823ae..89cdffc6050 100644
--- a/code/game/objects/items/weapons/RPD.dm
+++ b/code/game/objects/items/weapons/RPD.dm
@@ -9,6 +9,7 @@ RPD
#define PIPE_TRINARY 2
#define PIPE_TRIN_M 3
#define PIPE_UNARY 4
+#define PIPE_QUAD 5
#define PAINT_MODE -2
#define EATING_MODE -1
@@ -41,20 +42,18 @@ RPD
return
/datum/pipe_info/meter/Render(var/dispenser,var/label)
- return "[label]" //hardcoding is no
+ return "[label]" //hardcoding is no
var/global/list/disposalpipeID2State=list(
"pipe-s",
"pipe-c",
"pipe-j1",
- "pipe-j2",
"pipe-y",
"pipe-t",
- "condisposal",
+ "disposal",
"outlet",
"intake",
- "pipe-j1s",
- "pipe-j2s"
+ "pipe-j1s"
)
/datum/pipe_info/disposal
@@ -66,11 +65,11 @@ var/global/list/disposalpipeID2State=list(
src.icon_state=disposalpipeID2State[pid+1]
src.dir=2
src.dirtype=dt
- if(pid<6 || pid>8)
+ if(pid<5 || pid>7)
icon_state = "con[icon_state]"
/datum/pipe_info/disposal/Render(var/dispenser,var/label)
- return "[label]" //avoid hardcoding.
+ return "[label]" //avoid hardcoding.
//find these defines in code\game\machinery\pipe\consruction.dm
var/global/list/RPD_recipes=list(
@@ -80,7 +79,7 @@ var/global/list/RPD_recipes=list(
"Manifold" = new /datum/pipe_info(PIPE_MANIFOLD, 1, PIPE_TRINARY),
"Manual Valve" = new /datum/pipe_info(PIPE_MVALVE, 1, PIPE_BINARY),
"Digital Valve" = new /datum/pipe_info(PIPE_DVALVE, 1, PIPE_BINARY),
- "4-Way Manifold" = new /datum/pipe_info(PIPE_4WAYMANIFOLD, 1, PIPE_BINARY),
+ "4-Way Manifold" = new /datum/pipe_info(PIPE_4WAYMANIFOLD, 1, PIPE_QUAD),
),
"Devices"=list(
"Connector" = new /datum/pipe_info(PIPE_CONNECTOR, 1, PIPE_UNARY),
@@ -105,14 +104,15 @@ var/global/list/RPD_recipes=list(
"Bent Pipe" = new /datum/pipe_info(PIPE_INSULATED_BENT, 5, PIPE_BENT),
),
"Disposal Pipes" = list(
- "Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_STRAIGHT, PIPE_BINARY),
- "Bent Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_BENT, PIPE_BENT),
- "Junction" = new /datum/pipe_info/disposal(DISP_JUNCTION, PIPE_TRINARY),
- "Y-Junction" = new /datum/pipe_info/disposal(DISP_YJUNCTION, PIPE_TRINARY),
- "Trunk" = new /datum/pipe_info/disposal(DISP_END_TRUNK, PIPE_TRINARY),
- "Bin" = new /datum/pipe_info/disposal(DISP_END_BIN, PIPE_UNARY),
- "Outlet" = new /datum/pipe_info/disposal(DISP_END_OUTLET, PIPE_UNARY),
- "Chute" = new /datum/pipe_info/disposal(DISP_END_CHUTE, PIPE_UNARY),
+ "Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_STRAIGHT, PIPE_BINARY),
+ "Bent Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_BENT, PIPE_TRINARY),
+ "Junction" = new /datum/pipe_info/disposal(DISP_JUNCTION, PIPE_TRINARY),
+ "Y-Junction" = new /datum/pipe_info/disposal(DISP_YJUNCTION, PIPE_TRINARY),
+ "Trunk" = new /datum/pipe_info/disposal(DISP_END_TRUNK, PIPE_TRINARY),
+ "Bin" = new /datum/pipe_info/disposal(DISP_END_BIN, PIPE_QUAD),
+ "Outlet" = new /datum/pipe_info/disposal(DISP_END_OUTLET, PIPE_UNARY),
+ "Chute" = new /datum/pipe_info/disposal(DISP_END_CHUTE, PIPE_UNARY),
+ "Sort Junction" = new /datum/pipe_info/disposal(DISP_SORTJUNCTION, PIPE_TRINARY),
)
)
/obj/item/weapon/pipe_dispenser
@@ -342,6 +342,19 @@ var/global/list/RPD_recipes=list(
←
"}
+ if(PIPE_QUAD) // Single icon_state (eg 4-way manifolds)
+ if(preview)
+ user << browse_rsc(new /icon(preview), "pipe.png")
+
+ dirsel += ""
+ dirsel += render_dir_img(1,"pipe.png","Pipe")
+ dirsel += "
"
+ else
+ dirsel+={"
+
+ ↕
+
+ "}
dat = {"
@@ -450,20 +463,20 @@ var/global/list/RPD_recipes=list(
return
if(loc != user)
return
- if(!isrobot(user) && !ishuman(user))
- return 0
if(istype(A,/area/shuttle)||istype(A,/turf/space/transit))
return 0
switch(p_class)
if(PAINT_MODE) // Paint pipes
- if(!istype(A,/obj/machinery/atmospherics/pipe) || istype(A,/obj/machinery/atmospherics/pipe/simple/heat_exchanging) || istype(A,/obj/machinery/atmospherics/pipe/simple/insulated))
+ if(!istype(A,/obj/machinery/atmospherics/pipe))
// Avoid spewing errors about invalid mode -2 when clicking on stuff that aren't pipes.
user << "\The [src]'s error light flickers. Perhaps you need to only use it on pipes and pipe meters?"
return 0
var/obj/machinery/atmospherics/pipe/P = A
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
- P.pipe_color = paint_color
+ P.color = paint_colors[paint_color]
+ P.pipe_color = paint_colors[paint_color]
+ P.stored.color = paint_colors[paint_color]
user.visible_message("[user] paints \the [P] [paint_color].","You paint \the [P] [paint_color].")
P.update_icon()
return 1
@@ -539,6 +552,8 @@ var/global/list/RPD_recipes=list(
if(7)
C.ptype = 8
C.density = 1
+ if(8)
+ C.ptype = 9
C.add_fingerprint(usr)
C.update()
return 1
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index 2c7b48d2897..1184fa296db 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -9,6 +9,8 @@
var/damage_coeff = 1
var/list/fields
+ var/list/add_mutations = list()
+ var/list/remove_mutations = list()
/obj/item/weapon/dnainjector/attack_paw(mob/user)
return attack_hand(user)
@@ -20,8 +22,15 @@
user << "You can't modify [M]'s DNA while \he's dead."
return
M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2))
+ var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]"
+ for(var/datum/mutation/human/HM in remove_mutations)
+ HM.on_losing(M)
+ for(var/datum/mutation/human/HM in add_mutations)
+ if(HM.name == RACEMUT)
+ message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [name] (MONKEY)")
+ log_msg += " (MONKEY)"
+ HM.force_give(M)
if(fields)
- var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]"
if(fields["name"] && fields["UE"] && fields["blood_type"])
M.real_name = fields["name"]
M.dna.unique_enzymes = fields["UE"]
@@ -30,13 +39,7 @@
if(fields["UI"]) //UI+UE
M.dna.uni_identity = merge_text(M.dna.uni_identity, fields["UI"])
updateappearance(M)
- if(fields["SE"])
- M.dna.struc_enzymes = merge_text(M.dna.struc_enzymes, fields["SE"])
- if(ishuman(M) && (deconstruct_block(getblock(M.dna.struc_enzymes, RACEBLOCK), BAD_MUTATION_DIFFICULTY) == BAD_MUTATION_DIFFICULTY)) //check for monkeying people.
- message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [name] (MONKEY)")
- log_msg += " (MONKEY)"
- domutcheck(M, null,(type != /obj/item/weapon/dnainjector)) //admin-spawnable-injectors always work
- log_attack(log_msg)
+ log_attack(log_msg)
else
user << "It appears that [M] does not have compatible DNA."
return
@@ -67,28 +70,27 @@
desc = "Cures green skin."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, HULKBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[HULK])
/obj/item/weapon/dnainjector/hulkmut
name = "\improper DNA injector (Hulk)"
desc = "This will make you big and strong, but give you a bad skin condition."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, HULKBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
-
+ add_mutations.Add(mutations_list[HULK])
/obj/item/weapon/dnainjector/xraymut
name = "\improper DNA injector (Xray)"
desc = "Finally you can see what the Captain does."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, XRAYBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
+ add_mutations.Add(mutations_list[XRAY])
/obj/item/weapon/dnainjector/antixray
name = "\improper DNA injector (Anti-Xray)"
desc = "It will make you see harder."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, XRAYBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[XRAY])
/////////////////////////////////////
/obj/item/weapon/dnainjector/antiglasses
@@ -96,128 +98,126 @@
desc = "Toss away those glasses!"
New()
..()
- fields = list("SE"=setblock(NULLED_SE, NEARSIGHTEDBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[BADSIGHT])
/obj/item/weapon/dnainjector/glassesmut
name = "\improper DNA injector (Glasses)"
desc = "Will make you need dorkish glasses."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, NEARSIGHTEDBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
+ add_mutations.Add(mutations_list[BADSIGHT])
/obj/item/weapon/dnainjector/epimut
name = "\improper DNA injector (Epi.)"
desc = "Shake shake shake the room!"
New()
..()
- fields = list("SE"=setblock(NULLED_SE, EPILEPSYBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
+ add_mutations.Add(mutations_list[EPILEPSY])
/obj/item/weapon/dnainjector/antiepi
name = "\improper DNA injector (Anti-Epi.)"
desc = "Will fix you up from shaking the room."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, EPILEPSYBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[EPILEPSY])
////////////////////////////////////
/obj/item/weapon/dnainjector/anticough
name = "\improper DNA injector (Anti-Cough)"
desc = "Will stop that aweful noise."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, COUGHBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[COUGH])
/obj/item/weapon/dnainjector/coughmut
name = "\improper DNA injector (Cough)"
desc = "Will bring forth a sound of horror from your throat."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, COUGHBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
-
+ add_mutations.Add(mutations_list[COUGH])
/obj/item/weapon/dnainjector/clumsymut
name = "\improper DNA injector (Clumsy)"
desc = "Makes clown minions."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, CLUMSYBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
-
+ add_mutations.Add(mutations_list[CLOWNMUT])
/obj/item/weapon/dnainjector/anticlumsy
name = "\improper DNA injector (Anti-Clumy)"
desc = "Apply this for Security Clown."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, CLUMSYBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[CLOWNMUT])
/obj/item/weapon/dnainjector/antitour
name = "\improper DNA injector (Anti-Tour.)"
desc = "Will cure tourrets."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, TOURETTESBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[TOURETTES])
/obj/item/weapon/dnainjector/tourmut
name = "\improper DNA injector (Tour.)"
desc = "Gives you a nasty case off tourrets."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, TOURETTESBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
+ add_mutations.Add(mutations_list[TOURETTES])
/obj/item/weapon/dnainjector/stuttmut
name = "\improper DNA injector (Stutt.)"
desc = "Makes you s-s-stuttterrr"
New()
..()
- fields = list("SE"=setblock(NULLED_SE, NERVOUSBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
+ add_mutations.Add(mutations_list[NERVOUS])
/obj/item/weapon/dnainjector/antistutt
name = "\improper DNA injector (Anti-Stutt.)"
desc = "Fixes that speaking impairment."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, NERVOUSBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[NERVOUS])
/obj/item/weapon/dnainjector/antifire
name = "\improper DNA injector (Anti-Fire)"
desc = "Cures fire."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, FIREBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[COLDRES])
/obj/item/weapon/dnainjector/firemut
name = "\improper DNA injector (Fire)"
desc = "Gives you fire."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, FIREBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ add_mutations.Add(mutations_list[COLDRES])
/obj/item/weapon/dnainjector/blindmut
name = "\improper DNA injector (Blind)"
desc = "Makes you not see anything."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, BLINDBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
+ add_mutations.Add(mutations_list[BLINDMUT])
/obj/item/weapon/dnainjector/antiblind
name = "\improper DNA injector (Anti-Blind)"
desc = "ITS A MIRACLE!!!"
New()
..()
- fields = list("SE"=setblock(NULLED_SE, BLINDBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[BLINDMUT])
/obj/item/weapon/dnainjector/antitele
name = "\improper DNA injector (Anti-Tele.)"
desc = "Will make you not able to control your mind."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, TELEBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[TK])
/obj/item/weapon/dnainjector/telemut
name = "\improper DNA injector (Tele.)"
desc = "Super brain man!"
New()
..()
- fields = list("SE"=setblock(NULLED_SE, TELEBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
+ add_mutations.Add(mutations_list[TK])
/obj/item/weapon/dnainjector/telemut/darkbundle
name = "\improper DNA injector"
@@ -228,25 +228,25 @@
desc = "Sorry, what did you say?"
New()
..()
- fields = list("SE"=setblock(NULLED_SE, DEAFBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
+ add_mutations.Add(mutations_list[DEAFMUT])
/obj/item/weapon/dnainjector/antideaf
name = "\improper DNA injector (Anti-Deaf)"
desc = "Will make you hear once more."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, DEAFBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[DEAFMUT])
/obj/item/weapon/dnainjector/h2m
name = "\improper DNA injector (Human > Monkey)"
desc = "Will make you a flea bag."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, RACEBLOCK, repeat_string(DNA_BLOCK_SIZE,"f")))
+ add_mutations.Add(mutations_list[RACEMUT])
/obj/item/weapon/dnainjector/m2h
name = "\improper DNA injector (Monkey > Human)"
desc = "Will make you...less hairy."
New()
..()
- fields = list("SE"=setblock(NULLED_SE, RACEBLOCK, repeat_string(DNA_BLOCK_SIZE,"0")))
+ remove_mutations.Add(mutations_list[RACEMUT])
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm
index 81880012ee9..214448b8911 100644
--- a/code/game/objects/items/weapons/grenades/flashbang.dm
+++ b/code/game/objects/items/weapons/grenades/flashbang.dm
@@ -45,11 +45,11 @@
M.Weaken(max(10/distance, 3))
if (M.eye_stat >= 20 && takes_eye_damage)
M << "Your eyes start to burn badly!"
- M.disabilities |= NEARSIGHTED
+ M.disabilities |= NEARSIGHT
if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang)))
if (prob(M.eye_stat - 20 + 1))
M << "You can't see anything!"
- M.sdisabilities |= BLIND
+ M.disabilities |= BLIND
//Bang
if((src.loc == M) || src.loc == M.loc)//Holding on person or being exactly where lies is significantly more dangerous and voids protection
@@ -63,9 +63,9 @@
if (M.ear_damage >= 15)
M << "Your ears start to ring badly!"
if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang)))
- if (prob(M.ear_damage - 10 + 5))
+ if(prob(M.ear_damage - 10 + 5))
M << "You can't hear anything!"
- M.sdisabilities |= DEAF
+ M.disabilities |= DEAF
else
if (M.ear_damage >= 5)
M << "Your ears start to ring!"
diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm
index a049f4e795a..dcc30b68420 100644
--- a/code/game/objects/items/weapons/grenades/grenade.dm
+++ b/code/game/objects/items/weapons/grenades/grenade.dm
@@ -13,8 +13,8 @@
var/det_time = 50
var/display_timer = 1
-/obj/item/weapon/grenade/proc/clown_check(var/mob/living/user)
- if((CLUMSY in user.mutations) && prob(50))
+/obj/item/weapon/grenade/proc/clown_check(var/mob/living/carbon/human/user)
+ if(user.disabilities & CLUMSY && prob(50))
user << "Huh? How does this thing work?"
active = 1
icon_state = initial(icon_state) + "_active"
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index bed73f30890..3020a6d1acc 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -18,8 +18,8 @@
var/cuffsound = 'sound/weapons/handcuffs.ogg'
var/trashtype = null //for disposable cuffs
-/obj/item/weapon/restraints/handcuffs/attack(mob/living/carbon/C, mob/user)
- if(CLUMSY in user.mutations && prob(50))
+/obj/item/weapon/restraints/handcuffs/attack(mob/living/carbon/C, mob/living/carbon/human/user)
+ if(user.disabilities & CLUMSY && prob(50))
user << "Uh... how do those things work?!"
apply_cuffs(user,user)
diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm
index 9de94916d1e..a7c74217f92 100644
--- a/code/game/objects/items/weapons/kitchen.dm
+++ b/code/game/objects/items/weapons/kitchen.dm
@@ -66,7 +66,7 @@
src.icon_state = "fork"
return
else
- if((CLUMSY in user.mutations) && prob(50))
+ if(user.disabilities & CLUMSY && prob(50))
M = user
return eyestab(M,user)
@@ -86,9 +86,9 @@
"[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku."))
return (BRUTELOSS)
-/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob)
- if ((CLUMSY in user.mutations) && prob(50))
- user << " You accidentally cut yourself with \the [src]."
+/obj/item/weapon/kitchen/utensil/knife/attack(target, mob/living/carbon/human/user)
+ if(istype(user) && user.disabilities & CLUMSY && prob(50))
+ user << "You accidentally cut yourself with \the [src]."
user.take_organ_damage(20)
return
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index 7fe5bad8667..12df49b5a23 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -60,8 +60,8 @@
return 1
return 0
-/obj/item/weapon/melee/energy/attack_self(mob/living/user)
- if ((CLUMSY in user.mutations) && prob(50))
+/obj/item/weapon/melee/energy/attack_self(mob/living/carbon/user)
+ if(user.disabilities & CLUMSY && prob(50))
user << "You accidentally cut yourself with [src], like a doofus!"
user.take_organ_damage(5,5)
active = !active
@@ -189,4 +189,4 @@
qdel(src)
/obj/item/weapon/melee/energy/blade/attack_self(mob/user)
- return
\ No newline at end of file
+ return
diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm
index 0fbfa179960..13420578704 100644
--- a/code/game/objects/items/weapons/melee/misc.dm
+++ b/code/game/objects/items/weapons/melee/misc.dm
@@ -25,86 +25,15 @@
icon_state = "baton"
item_state = "classic_baton"
slot_flags = SLOT_BELT
- force = 10
-
-/obj/item/weapon/melee/classic_baton/attack(mob/M, mob/living/user)
- add_fingerprint(user)
- if((CLUMSY in user.mutations) && prob(50))
- user << "You club yourself over the head!"
- user.Weaken(3 * force)
- if(ishuman(user))
- var/mob/living/carbon/human/H = user
- H.apply_damage(2 * force, BRUTE, "head")
- H.forcesay(hit_appends)
- else
- user.take_organ_damage(2 * force)
- return
- add_logs(user, M, "attacked", object="[src.name]")
-
- if(isrobot(M)) // Don't stun borgs, fix for issue #2436
- ..()
- return
- if(!isliving(M)) // Don't stun nonhuman things
- return
-
- if(user.a_intent == "harm")
- if(!..()) return
- if(M.stuttering < 7 && !(HULK in M.mutations))
- M.stuttering = 7
- M.Stun(7)
- M.Weaken(7)
- M.visible_message("[user] has beaten [M] with [src]!", \
- "[user] has beaten [M] with [src]!")
- else
- playsound(loc, 'sound/effects/woodhit.ogg', 50, 1, -1)
- M.Stun(7)
- M.Weaken(7)
- M.visible_message("[user] has stunned [M] with [src]!", \
- "[user] has stunned [M] with [src]!")
-
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- H.forcesay(hit_appends)
-
-
-
-/obj/item/weapon/melee/telebaton
- name = "telescopic baton"
- desc = "A compact yet robust personal defense weapon. Can be concealed when folded."
- icon = 'icons/obj/weapons.dmi'
- icon_state = "telebaton_0"
- item_state = "telebaton_0"
- slot_flags = SLOT_BELT
- w_class = 2
- force = 3
+ force = 12 //9 hit crit
+ w_class = 3
var/cooldown = 0
- var/on = 0
+ var/on = 1
-/obj/item/weapon/melee/telebaton/attack_self(mob/user as mob)
- on = !on
- if(on)
- user << "You extend the baton."
- icon_state = "telebaton_1"
- item_state = "nullrod"
- w_class = 4 //doesnt fit in backpack when its on for balance
- force = 10 //seclite damage
- attack_verb = list("smacked", "struck", "cracked", "beaten")
- else
- user << "You collapse the baton."
- icon_state = "telebaton_0"
- item_state = "telebaton_0" //no sprite in other words
- slot_flags = SLOT_BELT
- w_class = 2
- force = 3 //not so robust now
- attack_verb = list("hit", "poked")
-
- playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, 1)
- add_fingerprint(user)
-
-/obj/item/weapon/melee/telebaton/attack(mob/target as mob, mob/living/user as mob)
+/obj/item/weapon/melee/classic_baton/attack(mob/target as mob, mob/living/user as mob)
if(on)
add_fingerprint(user)
- if((CLUMSY in user.mutations) && prob(50))
+ if((CLUMSY in user.disabilities) && prob(50))
user << "You club yourself over the head."
user.Weaken(3 * force)
if(ishuman(user))
@@ -125,7 +54,7 @@
if(cooldown <= 0)
playsound(get_turf(src), 'sound/effects/woodhit.ogg', 75, 1, -1)
target.Weaken(3)
- add_logs(user, target, "stunned", object="telescopic baton")
+ add_logs(user, target, "stunned", object="classic baton")
src.add_fingerprint(user)
target.visible_message("[user] has knocked down [target] with \the [src]!", \
"[user] has knocked down [target] with \the [src]!")
@@ -138,4 +67,38 @@
cooldown = 0
return
else
- return ..()
\ No newline at end of file
+ return ..()
+
+
+
+/obj/item/weapon/melee/classic_baton/telescopic
+ name = "telescopic baton"
+ desc = "A compact yet robust personal defense weapon. Can be concealed when folded."
+ icon = 'icons/obj/weapons.dmi'
+ icon_state = "telebaton_0"
+ item_state = null
+ slot_flags = SLOT_BELT
+ w_class = 2
+ force = 0
+ on = 0
+
+/obj/item/weapon/melee/classic_baton/telescopic/attack_self(mob/user as mob)
+ on = !on
+ if(on)
+ user << "You extend the baton."
+ icon_state = "telebaton_1"
+ item_state = "nullrod"
+ w_class = 4 //doesnt fit in backpack when its on for balance
+ force = 10 //stunbaton damage
+ attack_verb = list("smacked", "struck", "cracked", "beaten")
+ else
+ user << "You collapse the baton."
+ icon_state = "telebaton_0"
+ item_state = null //no sprite for concealment even when in hand
+ slot_flags = SLOT_BELT
+ w_class = 2
+ force = 0 //not so robust now
+ attack_verb = list("hit", "poked")
+
+ playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, 1)
+ add_fingerprint(user)
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm
index 97a8d47e844..6a8e4d21393 100644
--- a/code/game/objects/items/weapons/shields.dm
+++ b/code/game/objects/items/weapons/shields.dm
@@ -56,8 +56,8 @@
/obj/item/weapon/shield/energy/IsReflect()
return (active)
-/obj/item/weapon/shield/energy/attack_self(mob/living/user)
- if((CLUMSY in user.mutations) && prob(50))
+/obj/item/weapon/shield/energy/attack_self(mob/living/carbon/human/user)
+ if(user.disabilities & CLUMSY && prob(50))
user << "You beat yourself in the head with [src]."
user.take_organ_damage(5)
active = !active
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 3124979681f..9830904022d 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -7,34 +7,6 @@
slot_flags = SLOT_BELT
attack_verb = list("whipped", "lashed", "disciplined")
-
-/obj/item/weapon/storage/belt/proc/can_use()
- if(!ismob(loc)) return 0
- var/mob/M = loc
- if(src in M.get_equipped_items())
- return 1
- else
- return 0
-
-
-/obj/item/weapon/storage/belt/MouseDrop(obj/over_object as obj, src_location, over_location)
- var/mob/M = usr
- if(!istype(over_object, /obj/screen))
- return ..()
- playsound(src.loc, "rustle", 50, 1, -5)
- if (!M.restrained() && !M.stat && can_use())
- switch(over_object.name)
- if("r_hand")
- M.unEquip(src)
- M.put_in_r_hand(src)
- if("l_hand")
- M.unEquip(src)
- M.put_in_l_hand(src)
- src.add_fingerprint(usr)
- return
-
-
-
/obj/item/weapon/storage/belt/utility
name = "toolbelt" //Carn: utility belt is nicer, but it bamboozles the text parsing.
desc = "Holds tools."
@@ -121,7 +93,7 @@
/obj/item/weapon/reagent_containers/food/snacks/donut/normal,
/obj/item/weapon/reagent_containers/food/snacks/donut/jelly,
/obj/item/device/flashlight/seclite,
- /obj/item/weapon/melee/telebaton
+ /obj/item/weapon/melee/classic_baton/telescopic
)
/obj/item/weapon/storage/belt/security/New()
diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm
index 6168bb200b8..f8bca96b67f 100644
--- a/code/game/objects/items/weapons/storage/book.dm
+++ b/code/game/objects/items/weapons/storage/book.dm
@@ -44,7 +44,7 @@
H.update_damage_overlays(0)
return
-/obj/item/weapon/storage/book/bible/attack(mob/living/M as mob, mob/living/user as mob)
+/obj/item/weapon/storage/book/bible/attack(mob/living/M as mob, mob/living/carbon/human/user as mob)
var/chaplain = 0
if(user.mind && (user.mind.assigned_role == "Chaplain"))
@@ -60,7 +60,7 @@
user.take_organ_damage(0,10)
return
- if ((CLUMSY in user.mutations) && prob(50))
+ if (user.disabilities & CLUMSY && prob(50))
user << "The [src] slips out of your hand and hits your head."
user.take_organ_damage(10)
user.Paralyse(20)
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 7c7b9857c5c..daec4abc4b9 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -100,8 +100,8 @@
update_icon()
add_fingerprint(user)
-/obj/item/weapon/melee/baton/attack(mob/M, mob/living/user)
- if(status && (CLUMSY in user.mutations) && prob(50))
+/obj/item/weapon/melee/baton/attack(mob/M, mob/living/carbon/human/user)
+ if(status && user.disabilities & CLUMSY && prob(50))
user.visible_message("[user] accidentally hits themself with [src]!", \
"You accidentally hit yourself with [src]!")
user.Weaken(stunforce*3)
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 6c9ba5f5d96..014d7811f73 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -86,7 +86,7 @@
if(!istype(M)) return ..()
if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head")
return ..()
- if((CLUMSY in user.mutations) && prob(50))
+ if(user.disabilities & CLUMSY && prob(50))
M = user
return eyestab(M,user)
@@ -349,14 +349,14 @@
user << "Your eyes are really starting to hurt. This can't be good for you!"
if (prob(user.eye_stat - 25 + 1))
user << "You go blind!"
- user.sdisabilities |= BLIND
+ user.disabilities |= BLIND
else if(prob(user.eye_stat - 15 + 1))
user << "You go blind!"
user.eye_blind = 5
user.eye_blurry = 5
- user.disabilities |= NEARSIGHTED
+ user.disabilities |= NEARSIGHT
spawn(100)
- user.disabilities &= ~NEARSIGHTED
+ user.disabilities &= ~NEARSIGHT
/obj/item/weapon/weldingtool/proc/flamethrower_screwdriver(obj/item/I, mob/user)
if(welding)
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index ec56c0adf0c..dae1b628f50 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -27,24 +27,46 @@
var/wieldsound = null
var/unwieldsound = null
-/obj/item/weapon/twohanded/proc/unwield()
+/obj/item/weapon/twohanded/proc/unwield(mob/living/carbon/user)
+ if(!wielded) return
wielded = 0
force = force_unwielded
name = "[initial(name)]"
update_icon()
+ user << "You are now carrying the [name] with one hand."
+ if(unwieldsound)
+ playsound(loc, unwieldsound, 50, 1)
+ var/obj/item/weapon/twohanded/offhand/O = user.get_inactive_hand()
+ if(O && istype(O))
+ O.unwield()
+ return
-/obj/item/weapon/twohanded/proc/wield()
+/obj/item/weapon/twohanded/proc/wield(mob/living/carbon/user)
+ if(wielded) return
+ if(istype(user,/mob/living/carbon/monkey) )
+ user << "It's too heavy for you to wield fully."
+ return
+ if(user.get_inactive_hand())
+ user << "You need your other hand to be empty"
+ return
wielded = 1
force = force_wielded
name = "[initial(name)] (Wielded)"
update_icon()
+ user << "You grab the [initial(name)] with both hands."
+ if (wieldsound)
+ playsound(loc, wieldsound, 50, 1)
+ var/obj/item/weapon/twohanded/offhand/O = new(user) ////Let's reserve his other hand~
+ O.name = "[initial(name)] - offhand"
+ O.desc = "Your second grip on the [initial(name)]"
+ user.put_in_inactive_hand(O)
+ return
/obj/item/weapon/twohanded/mob_can_equip(M as mob, slot)
//Cannot equip wielded items.
if(wielded)
M << "Unwield the [initial(name)] first!"
return 0
-
return ..()
/obj/item/weapon/twohanded/dropped(mob/user as mob)
@@ -58,41 +80,12 @@
/obj/item/weapon/twohanded/update_icon()
return
-/obj/item/weapon/twohanded/pickup(mob/user)
- unwield()
-
/obj/item/weapon/twohanded/attack_self(mob/user as mob)
- if( istype(user,/mob/living/carbon/monkey) )
- user << "It's too heavy for you to wield fully."
- return
-
..()
if(wielded) //Trying to unwield it
- unwield()
- user << "You are now carrying the [name] with one hand."
- if (src.unwieldsound)
- playsound(src.loc, unwieldsound, 50, 1)
-
- var/obj/item/weapon/twohanded/offhand/O = user.get_inactive_hand()
- if(O && istype(O))
- O.unwield()
- return
-
+ unwield(user)
else //Trying to wield it
- if(user.get_inactive_hand())
- user << "You need your other hand to be empty"
- return
- wield()
- user << "You grab the [initial(name)] with both hands."
- if (src.wieldsound)
- playsound(src.loc, wieldsound, 50, 1)
-
- var/obj/item/weapon/twohanded/offhand/O = new(user) ////Let's reserve his other hand~
- O.name = "[initial(name)] - offhand"
- O.desc = "Your second grip on the [initial(name)]"
- user.put_in_inactive_hand(O)
- return
-
+ wield(user)
///////////OFFHAND///////////////
/obj/item/weapon/twohanded/offhand
@@ -212,9 +205,9 @@ obj/item/weapon/twohanded/
clean_blood()//blood overlays get weird otherwise, because the sprite changes.
return
-/obj/item/weapon/twohanded/dualsaber/attack(target as mob, mob/living/user as mob)
+/obj/item/weapon/twohanded/dualsaber/attack(target as mob, mob/living/carbon/human/user as mob)
..()
- if((CLUMSY in user.mutations) && (wielded) && prob(40))
+ if(user.disabilities & CLUMSY && (wielded) && prob(40))
impale(user)
return
if((wielded) && prob(50))
@@ -236,14 +229,18 @@ obj/item/weapon/twohanded/
else
return 0
-/obj/item/weapon/twohanded/dualsaber/wield() //Specific wield () hulk checks due to reflect_chance var for balance issues and switches hitsounds.
- ..()
- var/mob/living/M = loc
- if(istype(loc, /mob/living))
- if (HULK in M.mutations)
- loc << "You lack the grace to wield this to its full extent."
- hitsound = 'sound/weapons/blade1.ogg'
+/obj/item/weapon/twohanded/dualsaber/attack_hulk(mob/living/carbon/human/user) //In case thats just so happens that it is still activated on the groud, prevents hulk from picking it up
+ if(wielded)
+ user << "You cant pick up such dangerous item with your meaty hands without losing fingers, better not to."
+ return 1
+/obj/item/weapon/twohanded/dualsaber/wield(mob/living/carbon/M) //Specific wield () hulk checks due to reflect_chance var for balance issues and switches hitsounds.
+ if(istype(M))
+ if(M.dna.check_mutation(HULK))
+ M << "You lack the grace to wield this to its full extent."
+ return
+ ..()
+ hitsound = 'sound/weapons/blade1.ogg'
/obj/item/weapon/twohanded/dualsaber/unwield() //Specific unwield () to switch hitsounds.
..()
@@ -251,11 +248,7 @@ obj/item/weapon/twohanded/
/obj/item/weapon/twohanded/dualsaber/IsReflect()
if(wielded)
- var/mob/living/M = loc
- if(istype(loc, /mob/living))
- if (HULK in M.mutations)
- return
- return 1
+ return 1
/obj/item/weapon/twohanded/dualsaber/green
New()
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index d11c0081de1..63311fe6592 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -73,7 +73,7 @@
var/mob/living/carbon/human/H = usr
if(!(usr in nearby))
if(usr.client && usr.machine==src)
- if(TK in H.mutations)
+ if(H.dna.check_mutation(TK))
is_in_use = 1
src.attack_hand(usr)
in_use = is_in_use
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index 1068afe8657..b6ac87fe2ab 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -36,7 +36,7 @@
*/
/obj/structure/closet/chefcloset
name = "\proper chef's closet"
- desc = "It's a storage unit for foodservice garments."
+ desc = "It's a storage unit for foodservice garments and mouse traps."
icon_state = "black"
icon_closed = "black"
@@ -48,10 +48,14 @@
new /obj/item/device/radio/headset/headset_srv(src)
new /obj/item/clothing/tie/waistcoat(src)
new /obj/item/clothing/tie/waistcoat(src)
- new /obj/item/clothing/head/soft/black(src)
- new /obj/item/clothing/head/soft/black(src)
+ new /obj/item/clothing/suit/apron/chef(src)
+ new /obj/item/clothing/suit/apron/chef(src)
+ new /obj/item/clothing/suit/apron/chef(src)
+ new /obj/item/clothing/head/soft/mime(src)
+ new /obj/item/clothing/head/soft/mime(src)
new /obj/item/weapon/storage/box/mousetraps(src)
new /obj/item/weapon/storage/box/mousetraps(src)
+ new /obj/item/clothing/suit/toggle/chef(src)
new /obj/item/clothing/under/rank/chef(src)
new /obj/item/clothing/head/chefhat(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
index 56f26daaa54..b8583ba94d9 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
@@ -45,7 +45,7 @@
src.locked = !src.locked
add_fingerprint(user)
for(var/mob/O in viewers(user, 3))
- if((O.client && !( O.blinded )))
+ if((O.client && !( O.eye_blind )))
O << "[user] has [locked ? null : "un"]locked the locker."
if(src.locked)
src.icon_state = src.icon_locked
diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm
index 986a918ffb4..85817a719df 100644
--- a/code/game/objects/structures/crates_lockers/closets/statue.dm
+++ b/code/game/objects/structures/crates_lockers/closets/statue.dm
@@ -22,7 +22,7 @@
L.client.perspective = EYE_PERSPECTIVE
L.client.eye = src
L.loc = src
- L.sdisabilities += MUTE
+ L.disabilities += MUTE
L.faction += "mimic" //Stops mimics from instaqdeling people in statues
health = L.health + 100 //stoning damaged mobs will result in easier to shatter statues
@@ -79,7 +79,7 @@
for(var/mob/living/M in src)
M.loc = src.loc
- M.sdisabilities -= MUTE
+ M.disabilities -= MUTE
M.take_overall_damage((M.health - health - 100),0) //any new damage the statue incurred is transfered to the mob
M.faction -= "mimic"
if(M.client)
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index fdb8eea13d1..0afdc547f39 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -29,6 +29,12 @@
/obj/structure/grille/attack_paw(mob/user as mob)
attack_hand(user)
+/obj/structure/grille/attack_hulk(mob/living/carbon/human/user)
+ ..(user, 1)
+ shock(user, 70)
+ health -= 5
+ healthcheck()
+
/obj/structure/grille/attack_hand(mob/living/user as mob)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
@@ -39,8 +45,6 @@
if(shock(user, 70))
return
- if(HULK in user.mutations)
- health -= 5
else
health -= rand(1,2)
healthcheck()
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index d953775363d..52e4b1a48a5 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -1,6 +1,6 @@
/obj/structure/lattice
- desc = "A lightweight support lattice."
name = "lattice"
+ desc = "A lightweight support lattice."
icon = 'icons/obj/structures.dmi'
icon_state = "latticefull"
density = 0
@@ -18,7 +18,6 @@
qdel(LAT)
stored = new/obj/item/stack/rods(src)
icon = 'icons/obj/smoothlattice.dmi'
- icon_state = "latticeblank"
updateOverlays()
for (var/dir in cardinal)
var/obj/structure/lattice/L
@@ -52,15 +51,15 @@
return
/obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob)
-
+ var/turf/T = get_turf(src)
if (istype(C, /obj/item/stack/tile/plasteel))
- var/turf/T = get_turf(src)
- T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead
- return
+ T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead (for building plating)
+ if(istype(C, /obj/item/stack/rods))
+ T.attackby(C, user) //see above, for building catwalks
if (istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = C
if(WT.remove_fuel(0, user))
- user << "Slicing lattice joints ..."
+ user << "Slicing [name] joints ..."
Deconstruct()
return
@@ -78,14 +77,61 @@
if(!(istype(get_step(src, direction), /turf/space)))
dir_sum += direction
- icon_state = "lattice[dir_sum]"
+ icon_state = "[name][dir_sum]"
return
/obj/structure/lattice/Deconstruct()
var/turf/T = loc
stored.loc = T
+ updateOverlays()
..()
/obj/structure/lattice/singularity_pull(S, current_size)
if(current_size >= STAGE_FOUR)
- Deconstruct()
\ No newline at end of file
+ Deconstruct()
+
+/obj/structure/lattice/catwalk
+ name = "catwalk"
+ desc = "A catwalk for easier EVA manuevering and cable placement."
+ icon_state = "catwalkfull"
+
+/obj/structure/lattice/catwalk/New()
+ var/turf/T = loc
+ T.cancable = 1
+ ..()
+
+/obj/structure/lattice/catwalk/Destroy()
+ var/turf/T = loc
+ T.cancable = 0
+ for(var/obj/structure/cable/C in T)
+ C.Destroy()
+ ..()
+
+/obj/structure/lattice/catwalk/Deconstruct()
+ var/turf/T = loc
+ T.cancable = 0
+ for(var/obj/structure/cable/C in T)
+ C.Deconstruct()
+ ..()
+
+/obj/structure/lattice/catwalk/attackby(obj/item/C as obj, mob/user as mob)
+ ..()
+ if(istype(C, /obj/item/stack/cable_coil))
+ var/turf/T = get_turf(src)
+ T.attackby(C, user) //catwalks 'enable' coil laying on space tiles, not the catwalks themselves
+ return
+
+/obj/structure/lattice/catwalk/updateOverlays()
+ overlays.Cut()
+
+ var/dir_sum = 0
+
+ for (var/direction in cardinal)
+ if(locate(/obj/structure/lattice/catwalk, get_step(src, direction)))
+ dir_sum += direction
+ else
+ if(!(istype(get_step(src, direction), /turf/space)))
+ dir_sum += direction
+
+ icon_state = "[name][dir_sum]"
+ return
\ No newline at end of file
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 7111ef392aa..30317abac0e 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -207,15 +207,16 @@
/obj/structure/table/attack_paw(mob/user)
attack_hand(user)
+/obj/structure/table/attack_hulk(mob/living/carbon/human/user)
+ ..(user, 1)
+ visible_message("[user] smashes [src] apart!")
+ playsound(src.loc, 'sound/effects/bang.ogg', 50, 1)
+ user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
+ table_destroy(1)
+ return 1
+
/obj/structure/table/attack_hand(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
- if(HULK in user.mutations)
- user.do_attack_animation(src)
- visible_message("[user] smashes [src] apart!")
- playsound(src.loc, 'sound/effects/bang.ogg', 50, 1)
- user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
- table_destroy(1)
- return
/obj/structure/table/attack_tk() // no telehulk sorry
return
@@ -460,19 +461,17 @@
/obj/structure/table/reinforced/attack_paw(mob/user)
attack_hand(user)
-/obj/structure/table/reinforced/attack_hand(mob/user as mob)
- user.changeNext_move(CLICK_CD_MELEE)
- if ((HULK in user.mutations))
- if (prob(75))
- playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
- usr << text("You kick [src] into pieces.")
- usr.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
- table_destroy(1)
- return
- else
- playsound(src, 'sound/effects/bang.ogg', 50, 1)
- usr << text("You kick [src].")
- return
+/obj/structure/table/reinforced/attack_hulk(mob/living/carbon/human/user)
+ ..(user, 1)
+ if(prob(75))
+ playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
+ user << text("You kick [src] into pieces.")
+ user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
+ table_destroy(1)
+ else
+ playsound(src, 'sound/effects/bang.ogg', 50, 1)
+ user << text("You kick [src].")
+ return 1
/*
* Racks
@@ -547,19 +546,19 @@
/obj/structure/rack/attack_paw(mob/living/user)
attack_hand(user)
+/obj/structure/rack/attack_hulk(mob/living/carbon/human/user)
+ ..(user, 1)
+ rack_destroy()
+ return 1
+
/obj/structure/rack/attack_hand(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
playsound(loc, 'sound/items/dodgeball.ogg', 80, 1)
user.visible_message("[user] kicks [src].", \
"You kick [src].")
-
- if(HULK in user.mutations)
- rack_destroy()
- else
- health -= rand(1,2)
- healthcheck()
-
+ health -= rand(1,2)
+ healthcheck()
/obj/structure/rack/attack_alien(mob/living/user)
user.do_attack_animation(src)
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index d748bdd960d..4a57b4b4715 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -123,22 +123,25 @@
add_fingerprint(user)
playsound(loc, 'sound/effects/Glassknock.ogg', 50, 1)
+/obj/structure/window/attack_hulk(mob/living/carbon/human/user)
+ if(!can_be_reached(user))
+ return
+ ..(user, 1)
+ user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!"))
+ user.visible_message("[user] smashes through [src]!")
+ storedshard.add_fingerprint(user)
+ if(storedrods)
+ storedrods.add_fingerprint(user)
+ hit(50)
+ return 1
+
/obj/structure/window/attack_hand(mob/user as mob)
if(!can_be_reached(user))
return
- if(HULK in user.mutations)
- user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!"))
- user.visible_message("[user] smashes through [src]!")
- storedshard.add_fingerprint(user)
- if(storedrods)
- storedrods.add_fingerprint(user)
- spawnfragments()
- else
- user.changeNext_move(CLICK_CD_MELEE)
- user.visible_message("[user] knocks on [src].")
- add_fingerprint(user)
- playsound(loc, 'sound/effects/Glassknock.ogg', 50, 1)
-
+ user.changeNext_move(CLICK_CD_MELEE)
+ user.visible_message("[user] knocks on [src].")
+ add_fingerprint(user)
+ playsound(loc, 'sound/effects/Glassknock.ogg', 50, 1)
/obj/structure/window/attack_paw(mob/user as mob)
return attack_hand(user)
@@ -263,10 +266,6 @@
if(I.damtype == BRUTE || I.damtype == BURN)
user.changeNext_move(CLICK_CD_MELEE)
hit(I.force)
- if(health <= 7)
- anchored = 0
- update_nearby_icons()
- step(src, get_dir(user, src))
else
playsound(loc, 'sound/effects/Glasshit.ogg', 75, 1)
..()
diff --git a/code/game/turfs/simulated/floor/mineral_floor.dm b/code/game/turfs/simulated/floor/mineral_floor.dm
index 56248f2cd86..4b1743dfc42 100644
--- a/code/game/turfs/simulated/floor/mineral_floor.dm
+++ b/code/game/turfs/simulated/floor/mineral_floor.dm
@@ -13,6 +13,8 @@
icon_state = ""
var/list/icons = list()
+
+
/turf/simulated/floor/mineral/New()
..()
broken_states = list("[initial(icon_state)]_dam")
@@ -24,43 +26,146 @@
if( !(icon_state in icons) )
icon_state = initial(icon_state)
+//PLASMA
+
/turf/simulated/floor/mineral/plasma
name = "plasma floor"
icon_state = "plasma"
floor_tile = /obj/item/stack/tile/mineral/plasma
icons = list("plasma","plasma_dam")
+/turf/simulated/floor/mineral/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
+ if(exposed_temperature > 300)
+ PlasmaBurn()
+
+/turf/simulated/floor/mineral/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob)
+ if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite
+ message_admins("Plasma flooring was ignited by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
+ log_game("Plasma flooring was ignited by [user.ckey]([user]) in ([x],[y],[z])")
+ ignite(is_hot(W))
+ return
+ ..()
+
+/turf/simulated/floor/mineral/plasma/proc/PlasmaBurn()
+ atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, 20)
+
+/turf/simulated/floor/mineral/plasma/proc/ignite(exposed_temperature)
+ if(exposed_temperature > 300)
+ PlasmaBurn()
+
+
+//GOLD
+
/turf/simulated/floor/mineral/gold
name = "gold floor"
icon_state = "gold"
floor_tile = /obj/item/stack/tile/mineral/gold
icons = list("gold","gold_dam")
+//SILVER
+
/turf/simulated/floor/mineral/silver
name = "silver floor"
icon_state = "silver"
floor_tile = /obj/item/stack/tile/mineral/silver
icons = list("silver","silver_dam")
+//BANANIUM
+
/turf/simulated/floor/mineral/bananium
name = "bananium floor"
icon_state = "bananium"
floor_tile = /obj/item/stack/tile/mineral/bananium
icons = list("bananium","bananium_dam")
+ var/spam_flag = 0
+
+/turf/simulated/floor/mineral/bananium/Entered(var/mob/AM)
+ .=..()
+ if(!.)
+ if(istype(AM))
+ squeek()
+
+/turf/simulated/floor/mineral/bananium/attackby(obj/item/weapon/W, mob/user)
+ .=..()
+ if(!.)
+ honk()
+
+/turf/simulated/floor/mineral/bananium/attack_hand(mob/user)
+ .=..()
+ if(!.)
+ honk()
+
+/turf/simulated/floor/mineral/bananium/attack_paw(mob/user)
+ .=..()
+ if(!.)
+ honk()
+
+/turf/simulated/floor/mineral/bananium/proc/honk()
+ if(!spam_flag)
+ spam_flag = 1
+ playsound(src, 'sound/items/bikehorn.ogg', 50, 1)
+ spawn(20)
+ spam_flag = 0
+
+/turf/simulated/floor/mineral/bananium/proc/squeek()
+ if(!spam_flag)
+ spam_flag = 1
+ playsound(src, "clownstep", 50, 1)
+ spawn(10)
+ spam_flag = 0
/turf/simulated/floor/mineral/bananium/airless
oxygen = 0.01
nitrogen = 0.01
temperature = TCMB
+//DIAMOND
+
/turf/simulated/floor/mineral/diamond
name = "diamond floor"
icon_state = "diamond"
floor_tile = /obj/item/stack/tile/mineral/diamond
icons = list("diamond","diamond_dam")
+//URANIUM
+
/turf/simulated/floor/mineral/uranium
name = "uranium floor"
icon_state = "uranium"
floor_tile = /obj/item/stack/tile/mineral/uranium
- icons = list("uranium","uranium_dam")
\ No newline at end of file
+ icons = list("uranium","uranium_dam")
+ var/last_event = 0
+ var/active = null
+
+/turf/simulated/floor/mineral/uranium/Entered(var/mob/AM)
+ .=..()
+ if(!.)
+ if(istype(AM))
+ radiate()
+
+/turf/simulated/floor/mineral/uranium/attackby(obj/item/weapon/W, mob/user)
+ .=..()
+ if(!.)
+ radiate()
+
+/turf/simulated/floor/mineral/uranium/attack_hand(mob/user)
+ .=..()
+ if(!.)
+ radiate()
+
+/turf/simulated/floor/mineral/uranium/attack_paw(mob/user)
+ .=..()
+ if(!.)
+ radiate()
+
+/turf/simulated/floor/mineral/uranium/proc/radiate()
+ if(!active)
+ if(world.time > last_event+15)
+ active = 1
+ for(var/mob/living/L in range(3,src))
+ L.apply_effect(1,IRRADIATE,0)
+ for(var/turf/simulated/floor/mineral/uranium/T in range(3,src))
+ T.radiate()
+ last_event = world.time
+ active = 0
+ return
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index bd74639bd6d..6955c0a429d 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -12,6 +12,7 @@
name = "plating"
icon_state = "plating"
intact = 0
+ cancable = 1
broken_states = list("platingdmg1", "platingdmg2", "platingdmg3")
burnt_states = list("panelscorched")
@@ -63,7 +64,7 @@
if((LC.d1==0)||(LC.d2==0))
LC.attackby(C,user)
return
- coil.turf_place(src, user)
+ coil.place_turf(src, user)
else if(istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/welder = C
if( welder.isOn() && (broken || burnt) )
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index d519784cd61..96178d35462 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -1,6 +1,6 @@
/turf/simulated/wall
name = "wall"
- desc = "A huge chunk of metal used to seperate rooms."
+ desc = "A huge chunk of metal used to separate rooms."
icon = 'icons/turf/walls.dmi'
var/mineral = "metal"
opacity = 1
@@ -20,6 +20,9 @@
..()
builtin_sheet = new sheet_type
+/turf/simulated/wall/attack_tk()
+ return
+
/turf/simulated/wall/proc/dismantle_wall(devastated=0, explode=0)
if(devastated)
devastate_wall()
@@ -84,19 +87,6 @@
/turf/simulated/wall/attack_paw(mob/living/user as mob)
user.changeNext_move(CLICK_CD_MELEE)
- if ((HULK in user.mutations))
- user.do_attack_animation(src)
- if (prob(hardness))
- playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
- user << "You smash through the wall."
- user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
- dismantle_wall(1)
- return
- else
- playsound(src, 'sound/effects/bang.ogg', 50, 1)
- usr << text("You punch the wall.")
- return
-
return src.attack_hand(user)
@@ -109,21 +99,21 @@
dismantle_wall(1)
return
+/turf/simulated/wall/attack_hulk(mob/user)
+ ..(user, 1)
+ if(prob(hardness))
+ playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
+ user << text("You smash through the wall.")
+ user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
+ dismantle_wall(1)
+
+ else
+ playsound(src, 'sound/effects/bang.ogg', 50, 1)
+ user << text("You punch the wall.")
+ return 1
/turf/simulated/wall/attack_hand(mob/user as mob)
user.changeNext_move(CLICK_CD_MELEE)
- if (HULK in user.mutations)
- if (prob(hardness))
- playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
- usr << text("You smash through the wall.")
- usr.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
- dismantle_wall(1)
- return
- else
- playsound(src, 'sound/effects/bang.ogg', 50, 1)
- usr << text("You punch the wall.")
- return
-
user << "You push the wall but nothing happens!"
playsound(src, 'sound/weapons/Genhit.ogg', 25, 1)
src.add_fingerprint(user)
diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm
index e613a03bd2d..d657f200d19 100644
--- a/code/game/turfs/simulated/walls_reinforced.dm
+++ b/code/game/turfs/simulated/walls_reinforced.dm
@@ -28,11 +28,6 @@
else
M << "This wall is far too strong for you to destroy."
-/turf/simulated/wall/r_wall/attack_hand(mob/user as mob)
- //this is ugly
- if ((HULK in user.mutations) || !d_state)
- ..()
-
/turf/simulated/wall/r_wall/try_destroy(obj/item/weapon/W as obj, mob/user as mob, turf/T as turf)
if(istype(W, /obj/item/weapon/melee/energy/blade))
user << "This wall is too thick to slice through. You will need to find a different path."
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index 954c4ed91e4..3f422108c16 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -23,15 +23,25 @@
if(istype(C, /obj/item/stack/rods))
var/obj/item/stack/rods/R = C
var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
+ var/obj/structure/lattice/catwalk/W = locate(/obj/structure/lattice/catwalk, src)
+ if(W)
+ user << "There is already a catwalk here."
+ return
if(L)
- user << "There is already a lattice."
+ if(R.use(2))
+ user << "Constructing catwalk..."
+ playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
+ qdel(L)
+ ReplaceWithCatwalk()
+ else
+ user << "You need two rods to build a catwalk."
return
if(R.use(1))
user << "Constructing support lattice..."
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
ReplaceWithLattice()
else
- user << "You need one rod to build lattice."
+ user << "You need one rod to build a lattice."
return
if(istype(C, /obj/item/stack/tile/plasteel))
var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
@@ -46,6 +56,13 @@
user << "You need one floor tile to build a floor."
else
user << "The plating is going to need some support. Place metal rods first."
+ if(istype(C, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/coil = C
+ for(var/obj/structure/cable/LC in src)
+ if((LC.d1==0)||(LC.d2==0))
+ LC.attackby(C,user)
+ return
+ coil.place_turf(src, user)
/turf/space/Entered(atom/movable/A)
..()
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 219180b4c3b..823de6060c9 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -3,6 +3,7 @@
level = 1.0
var/intact = 1
+ var/cancable = 0
//Properties for open tiles (/floor)
var/oxygen = 0
@@ -173,7 +174,12 @@
/turf/proc/ReplaceWithLattice()
src.ChangeTurf(/turf/space)
- new /obj/structure/lattice( locate(src.x, src.y, src.z) )
+ new /obj/structure/lattice(locate(src.x, src.y, src.z) )
+
+/turf/proc/ReplaceWithCatwalk()
+ src.ChangeTurf(/turf/space)
+ src.cancable = 1//so cables can be laid
+ new /obj/structure/lattice/catwalk(locate(src.x, src.y, src.z) )
/turf/proc/phase_damage_creatures(damage,mob/U = null)//>Ninja Code. Hurts and knocks out creatures on this turf
for(var/mob/living/M in src)
@@ -299,7 +305,7 @@
var/mob/living/carbon/M = slipper
if (M.m_intent=="walk" && (lube&NO_SLIP_WHEN_WALKING))
return 0
- if(!M.lying && (M.status_flags & CANWEAKEN) && !(HULK in M.mutations)) // we slip those who are standing and can fall.
+ if(!M.lying) // we slip those who are standing and can fall.
var/olddir = M.dir
M.Stun(s_amount)
M.Weaken(w_amount)
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index 19729a99342..4cd85f4a3c1 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -670,7 +670,7 @@ var/global/list/g_fancy_list_of_types = null
if ("tournament chef") //Steven Seagal FTW
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(M), slot_w_uniform)
- M.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(M), slot_wear_suit)
+ M.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/chef(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(M), slot_head)
diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm
index 2e951f9f539..c1dcfa30e92 100644
--- a/code/modules/assembly/mousetrap.dm
+++ b/code/modules/assembly/mousetrap.dm
@@ -18,7 +18,7 @@
if(!armed)
if(ishuman(usr))
var/mob/living/carbon/human/user = usr
- if(((user.getBrainLoss() >= 60 || (CLUMSY in user.mutations)) && prob(50)))
+ if((user.getBrainLoss() >= 60) || user.disabilities & CLUMSY && prob(50))
user << "Your hand slips, setting off the trigger."
pulse(0)
update_icon()
@@ -65,11 +65,11 @@
pulse(0)
-/obj/item/device/assembly/mousetrap/attack_self(mob/living/user as mob)
+/obj/item/device/assembly/mousetrap/attack_self(mob/living/carbon/human/user as mob)
if(!armed)
user << "You arm [src]."
else
- if(((user.getBrainLoss() >= 60 || (CLUMSY in user.mutations)) && prob(50)))
+ if(((user.getBrainLoss() >= 60) || user.disabilities & CLUMSY) && prob(50))
var/which_hand = "l_hand"
if(!user.hand)
which_hand = "r_hand"
@@ -83,9 +83,9 @@
playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3)
-/obj/item/device/assembly/mousetrap/attack_hand(mob/living/user as mob)
+/obj/item/device/assembly/mousetrap/attack_hand(mob/living/carbon/human/user as mob)
if(armed)
- if(((user.getBrainLoss() >= 60 || CLUMSY in user.mutations)) && prob(50))
+ if(((user.getBrainLoss() >= 60) || user.disabilities & CLUMSY) && prob(50))
var/which_hand = "l_hand"
if(!user.hand)
which_hand = "r_hand"
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index cbc3d644c76..24b3d0e0d09 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -160,7 +160,7 @@
/obj/effect/landmark/corpse/cook
name = "Cook"
corpseuniform = /obj/item/clothing/under/rank/chef
- corpsesuit = /obj/item/clothing/suit/chef/classic
+ corpsesuit = /obj/item/clothing/suit/apron/chef
corpseshoes = /obj/item/clothing/shoes/sneakers/black
corpsehelmet = /obj/item/clothing/head/chefhat
corpseback = /obj/item/weapon/storage/backpack
diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm
index 2f3fe0ba0e6..2fa4f53b808 100644
--- a/code/modules/awaymissions/mission_code/wildwest.dm
+++ b/code/modules/awaymissions/mission_code/wildwest.dm
@@ -77,18 +77,9 @@
if("Power")
user << "Your wish is granted, but at a terrible cost..."
user << "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart."
- if (!(LASER in user.mutations))
- user.mutations.Add(LASER)
- user << "You feel pressure building behind your eyes."
- if (!(COLD_RESISTANCE in user.mutations))
- user.mutations.Add(COLD_RESISTANCE)
- user << "Your body feels warm."
- if (!(XRAY in user.mutations))
- user.mutations.Add(XRAY)
- user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS)
- user.see_in_dark = 8
- user.see_invisible = SEE_INVISIBLE_LEVEL_TWO
- user << "The walls suddenly disappear."
+ user.dna.add_mutation(LASEREYES)
+ user.dna.add_mutation(COLDRES)
+ user.dna.add_mutation(XRAY)
user.dna.species = new /datum/species/shadow()
user.regenerate_icons()
if("Wealth")
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 16e36636c14..16add9a8e5f 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -126,9 +126,9 @@
if(M.glasses == src)
M.eye_blind = 3
M.eye_blurry = 5
- M.disabilities |= NEARSIGHTED
+ M.disabilities |= NEARSIGHT
spawn(100)
- M.disabilities &= ~NEARSIGHTED
+ M.disabilities &= ~NEARSIGHT
..()
/obj/item/clothing/glasses/thermal/syndi //These are now a traitor item, concealed as mesons. -Pete
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index a665e594809..49d6baeabe5 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -1,5 +1,5 @@
/obj/item/clothing/suit/armor
- allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/telebaton)
+ allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic)
body_parts_covered = CHEST
cold_protection = CHEST|GROIN
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index 802c072fe6f..66f9127213f 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -46,24 +46,27 @@
allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen)
//Chef
-/obj/item/clothing/suit/chef
+/obj/item/clothing/suit/toggle/chef
name = "chef's apron"
- desc = "An apron used by a high class chef."
+ desc = "An apron-jacket used by a high class chef."
icon_state = "chef"
item_state = "chef"
gas_transfer_coefficient = 0.90
permeability_coefficient = 0.50
body_parts_covered = CHEST|GROIN|ARMS
- allowed = list (/obj/item/weapon/kitchenknife,/obj/item/weapon/butch)
+ allowed = list(/obj/item/weapon/kitchenknife,/obj/item/weapon/butch)
+ action_button_name = "Toggle Jacket Sleeves"
+ togglename = "sleeves"
-//Chef
-/obj/item/clothing/suit/chef/classic
- name = "A classic chef's apron."
+//Cook
+/obj/item/clothing/suit/apron/chef
+ name = "cook's apron"
desc = "A basic, dull, white chef's apron."
icon_state = "apronchef"
item_state = "apronchef"
blood_overlay_type = "armor"
body_parts_covered = CHEST|GROIN
+ allowed = list(/obj/item/weapon/kitchenknife,/obj/item/weapon/butch)
//Detective
/obj/item/clothing/suit/det_suit
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index 0b339fc5e7b..7990e20c371 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -5,9 +5,8 @@
item_state = "labcoat"
blood_overlay_type = "coat"
body_parts_covered = CHEST|ARMS
- allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/telebaton)
+ allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
- var/open = 0
action_button_name = "Toggle Labcoat Buttons"
togglename = "buttons"
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index cd67552393a..e75d03cb4d8 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -253,24 +253,24 @@
name = "captain's winter coat"
icon_state = "coatcaptain"
armor = list(melee = 50, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
- allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/telebaton)
+ allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic)
/obj/item/clothing/suit/toggle/wintercoat/security
name = "security winter coat"
icon_state = "coatsecurity"
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
- allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/telebaton)
+ allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic)
/obj/item/clothing/suit/toggle/wintercoat/medical
name = "medical winter coat"
icon_state = "coatmedical"
- allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/telebaton)
+ allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
/obj/item/clothing/suit/toggle/wintercoat/science
name = "science winter coat"
icon_state = "coatscience"
- allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/telebaton)
+ allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
/obj/item/clothing/suit/toggle/wintercoat/engineering
diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm
index 9c14fab6cce..28ad8e42ad1 100644
--- a/code/modules/clothing/under/jobs/civilian.dm
+++ b/code/modules/clothing/under/jobs/civilian.dm
@@ -42,7 +42,8 @@
/obj/item/clothing/under/rank/chef
- desc = "It's an apron which is given only to the most hardcore chefs in space."
+ name = "cook's suit"
+ desc = "A suit which is given only to the most hardcore cooks in space."
icon_state = "chef"
item_color = "chef"
diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm
index 7ff6b0ead14..bf704135455 100644
--- a/code/modules/events/disease_outbreak.dm
+++ b/code/modules/events/disease_outbreak.dm
@@ -35,7 +35,7 @@
var/datum/disease/D
if(virus_type == /datum/disease/dnaspread) //Dnaspread needs strain_data set to work.
- if(!H.dna || (H.sdisabilities & BLIND)) //A blindness disease would be the worst.
+ if(!H.dna || (H.disabilities & BLIND)) //A blindness disease would be the worst.
continue
D = new virus_type()
var/datum/disease/dnaspread/DS = D
diff --git a/code/modules/events/ninja.dm b/code/modules/events/ninja.dm
index 725cf620a18..29c7f0e613b 100644
--- a/code/modules/events/ninja.dm
+++ b/code/modules/events/ninja.dm
@@ -2396,13 +2396,12 @@ It is possible to destroy the net by the occupant or someone else.
..()
return
-/obj/effect/energy_net/attack_hand(mob/user)
- if (HULK in user.mutations)
- user.visible_message("[user] rips the energy net apart!", \
+/obj/effect/energy_net/attack_hulk(mob/living/carbon/human/user)
+ ..(user, 1)
+ user.visible_message("[user] rips the energy net apart!", \
"You easily destroy the energy net.")
- health-=50
+ health-=50
healthcheck()
- return
/obj/effect/energy_net/attack_paw(mob/user)
return attack_hand()
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index f20b06ebcb6..652416808d3 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -20,7 +20,8 @@ mob/living/carbon/
var/hal_crit = 0
mob/living/carbon/proc/handle_hallucinations()
- if(handling_hal) return
+ if(handling_hal)
+ return
handling_hal = 1
while(hallucination > 20)
sleep(rand(200,500)/(hallucination/25))
@@ -148,7 +149,6 @@ mob/living/carbon/proc/handle_hallucinations()
src << sound('sound/AI/shuttledock.ogg')
if(66 to 70)
//Flashes of danger
- //src << "Danger Flash"
if(!halbody)
var/list/possible_points = list()
for(var/turf/simulated/floor/F in view(src,world.view))
@@ -162,8 +162,6 @@ mob/living/carbon/proc/handle_hallucinations()
halbody = image('icons/mob/human.dmi',target,"husk_s",TURF_LAYER)
if(4)
halbody = image('icons/mob/alien.dmi',target,"alienother",TURF_LAYER)
- // if(5)
- // halbody = image('xcomalien.dmi',target,"chryssalid",TURF_LAYER)
if(client) client.images += halbody
spawn(rand(50,80)) //Only seen for a brief moment.
@@ -171,55 +169,58 @@ mob/living/carbon/proc/handle_hallucinations()
halbody = null
if(71 to 72)
//Fake death
-// src.sleeping_willingly = 1
src.sleeping = 20
hal_crit = 1
hal_screwyhud = 1
spawn(rand(50,100))
-// src.sleeping_willingly = 0
src.sleeping = 0
hal_crit = 0
hal_screwyhud = 0
+ if(73 to 75)
+ fake_attack()
handling_hal = 0
+/mob/living/carbon/proc/fake_attack()
+// var/list/possible_clones = new/list()
+ var/mob/living/carbon/human/clone = null
+ var/clone_weapon = null
+ for(var/mob/living/carbon/human/H in living_mob_list)
+ if(H.stat || H.lying)
+ continue
+// possible_clones += H
+ clone = H
+ break //changed the code a bit. Less randomised, but less work to do. Should be ok, world.contents aren't stored in any particular order.
-/*obj/machinery/proc/mockpanel(list/buttons,start_txt,end_txt,list/mid_txts)
+// if(!possible_clones.len) return
+// clone = pick(possible_clones)
+ if(!clone)
+ return
- if(!mocktxt)
+ //var/obj/effect/fake_attacker/F = new/obj/effect/fake_attacker(outside_range(target))
+ var/obj/effect/fake_attacker/F = new/obj/effect/fake_attacker(src.loc)
+ if(clone.l_hand)
+ if(!(locate(clone.l_hand) in non_fakeattack_weapons))
+ clone_weapon = clone.l_hand.name
+ F.weap = clone.l_hand
+ else if (clone.r_hand)
+ if(!(locate(clone.r_hand) in non_fakeattack_weapons))
+ clone_weapon = clone.r_hand.name
+ F.weap = clone.r_hand
- mocktxt = ""
+ F.name = clone.name
+ F.my_target = src
+ F.weapon_name = clone_weapon
+ src.hallucinations += F
- var/possible_txt = list("Launch Escape Pods","Self-Destruct Sequence","\[Swipe ID\]","De-Monkify",\
- "Reticulate Splines","Plasma","Open Valve","Lockdown","Nerf Airflow","Kill Traitor","Nihilism",\
- "OBJECTION!","Arrest Stephen Bowman","Engage Anti-Trenna Defenses","Increase Captain IQ","Retrieve Arms",\
- "Play Charades","Oxygen","Inject BeAcOs","Ninja Lizards","Limit Break","Build Sentry")
+ F.left = image(clone,dir = WEST)
+ F.right = image(clone,dir = EAST)
+ F.up = image(clone,dir = NORTH)
+ F.down = image(clone,dir = SOUTH)
- if(mid_txts)
- while(mid_txts.len)
- var/mid_txt = pick(mid_txts)
- mocktxt += mid_txt
- mid_txts -= mid_txt
+ F.updateimage()
- while(buttons.len)
-
- var/button = pick(buttons)
-
- var/button_txt = pick(possible_txt)
-
- mocktxt += "[button_txt]
"
-
- buttons -= button
- possible_txt -= button_txt
-
- return start_txt + mocktxt + end_txt + "