Index: branches/prasys/APPLE_LICENSE =================================================================== --- branches/prasys/APPLE_LICENSE (revision 0) +++ branches/prasys/APPLE_LICENSE (revision 24) @@ -0,0 +1,367 @@ +APPLE PUBLIC SOURCE LICENSE +Version 2.0 - August 6, 2003 + +Please read this License carefully before downloading this software. +By downloading or using this software, you are agreeing to be bound by +the terms of this License. If you do not or cannot agree to the terms +of this License, please do not download or use the software. + +1. General; Definitions. This License applies to any program or other +work which Apple Computer, Inc. ("Apple") makes publicly available and +which contains a notice placed by Apple identifying such program or +work as "Original Code" and stating that it is subject to the terms of +this Apple Public Source License version 2.0 ("License"). As used in +this License: + +1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is +the grantor of rights, (i) claims of patents that are now or hereafter +acquired, owned by or assigned to Apple and (ii) that cover subject +matter contained in the Original Code, but only to the extent +necessary to use, reproduce and/or distribute the Original Code +without infringement; and (b) in the case where You are the grantor of +rights, (i) claims of patents that are now or hereafter acquired, +owned by or assigned to You and (ii) that cover subject matter in Your +Modifications, taken alone or in combination with Original Code. + +1.2 "Contributor" means any person or entity that creates or +contributes to the creation of Modifications. + +1.3 "Covered Code" means the Original Code, Modifications, the +combination of Original Code and any Modifications, and/or any +respective portions thereof. + +1.4 "Externally Deploy" means: (a) to sublicense, distribute or +otherwise make Covered Code available, directly or indirectly, to +anyone other than You; and/or (b) to use Covered Code, alone or as +part of a Larger Work, in any way to provide a service, including but +not limited to delivery of content, through electronic communication +with a client other than You. + +1.5 "Larger Work" means a work which combines Covered Code or portions +thereof with code not governed by the terms of this License. + +1.6 "Modifications" mean any addition to, deletion from, and/or change +to, the substance and/or structure of the Original Code, any previous +Modifications, the combination of Original Code and any previous +Modifications, and/or any respective portions thereof. When code is +released as a series of files, a Modification is: (a) any addition to +or deletion from the contents of a file containing Covered Code; +and/or (b) any new file or other representation of computer program +statements that contains any part of Covered Code. + +1.7 "Original Code" means (a) the Source Code of a program or other +work as originally made available by Apple under this License, +including the Source Code of any updates or upgrades to such programs +or works made available by Apple under this License, and that has been +expressly identified by Apple as such in the header file(s) of such +work; and (b) the object code compiled from such Source Code and +originally made available by Apple under this License. + +1.8 "Source Code" means the human readable form of a program or other +work that is suitable for making modifications to it, including all +modules it contains, plus any associated interface definition files, +scripts used to control compilation and installation of an executable +(object code). + +1.9 "You" or "Your" means an individual or a legal entity exercising +rights under this License. For legal entities, "You" or "Your" +includes any entity which controls, is controlled by, or is under +common control with, You, where "control" means (a) the power, direct +or indirect, to cause the direction or management of such entity, +whether by contract or otherwise, or (b) ownership of fifty percent +(50%) or more of the outstanding shares or beneficial ownership of +such entity. + +2. Permitted Uses; Conditions & Restrictions. Subject to the terms +and conditions of this License, Apple hereby grants You, effective on +the date You accept this License and download the Original Code, a +world-wide, royalty-free, non-exclusive license, to the extent of +Apple's Applicable Patent Rights and copyrights covering the Original +Code, to do the following: + +2.1 Unmodified Code. You may use, reproduce, display, perform, +internally distribute within Your organization, and Externally Deploy +verbatim, unmodified copies of the Original Code, for commercial or +non-commercial purposes, provided that in each instance: + +(a) You must retain and reproduce in all copies of Original Code the +copyright and other proprietary notices and disclaimers of Apple as +they appear in the Original Code, and keep intact all notices in the +Original Code that refer to this License; and + +(b) You must include a copy of this License with every copy of Source +Code of Covered Code and documentation You distribute or Externally +Deploy, and You may not offer or impose any terms on such Source Code +that alter or restrict this License or the recipients' rights +hereunder, except as permitted under Section 6. + +2.2 Modified Code. You may modify Covered Code and use, reproduce, +display, perform, internally distribute within Your organization, and +Externally Deploy Your Modifications and Covered Code, for commercial +or non-commercial purposes, provided that in each instance You also +meet all of these conditions: + +(a) You must satisfy all the conditions of Section 2.1 with respect to +the Source Code of the Covered Code; + +(b) You must duplicate, to the extent it does not already exist, the +notice in Exhibit A in each file of the Source Code of all Your +Modifications, and cause the modified files to carry prominent notices +stating that You changed the files and the date of any change; and + +(c) If You Externally Deploy Your Modifications, You must make +Source Code of all Your Externally Deployed Modifications either +available to those to whom You have Externally Deployed Your +Modifications, or publicly available. Source Code of Your Externally +Deployed Modifications must be released under the terms set forth in +this License, including the license grants set forth in Section 3 +below, for as long as you Externally Deploy the Covered Code or twelve +(12) months from the date of initial External Deployment, whichever is +longer. You should preferably distribute the Source Code of Your +Externally Deployed Modifications electronically (e.g. download from a +web site). + +2.3 Distribution of Executable Versions. In addition, if You +Externally Deploy Covered Code (Original Code and/or Modifications) in +object code, executable form only, You must include a prominent +notice, in the code itself as well as in related documentation, +stating that Source Code of the Covered Code is available under the +terms of this License with information on how and where to obtain such +Source Code. + +2.4 Third Party Rights. You expressly acknowledge and agree that +although Apple and each Contributor grants the licenses to their +respective portions of the Covered Code set forth herein, no +assurances are provided by Apple or any Contributor that the Covered +Code does not infringe the patent or other intellectual property +rights of any other entity. Apple and each Contributor disclaim any +liability to You for claims brought by any other entity based on +infringement of intellectual property rights or otherwise. As a +condition to exercising the rights and licenses granted hereunder, You +hereby assume sole responsibility to secure any other intellectual +property rights needed, if any. For example, if a third party patent +license is required to allow You to distribute the Covered Code, it is +Your responsibility to acquire that license before distributing the +Covered Code. + +3. Your Grants. In consideration of, and as a condition to, the +licenses granted to You under this License, You hereby grant to any +person or entity receiving or distributing Covered Code under this +License a non-exclusive, royalty-free, perpetual, irrevocable license, +under Your Applicable Patent Rights and other intellectual property +rights (other than patent) owned or controlled by You, to use, +reproduce, display, perform, modify, sublicense, distribute and +Externally Deploy Your Modifications of the same scope and extent as +Apple's licenses under Sections 2.1 and 2.2 above. + +4. Larger Works. You may create a Larger Work by combining Covered +Code with other code not governed by the terms of this License and +distribute the Larger Work as a single product. In each such instance, +You must make sure the requirements of this License are fulfilled for +the Covered Code or any portion thereof. + +5. Limitations on Patent License. Except as expressly stated in +Section 2, no other patent rights, express or implied, are granted by +Apple herein. Modifications and/or Larger Works may require additional +patent licenses from Apple which Apple may grant in its sole +discretion. + +6. Additional Terms. You may choose to offer, and to charge a fee for, +warranty, support, indemnity or liability obligations and/or other +rights consistent with the scope of the license granted herein +("Additional Terms") to one or more recipients of Covered Code. +However, You may do so only on Your own behalf and as Your sole +responsibility, and not on behalf of Apple or any Contributor. You +must obtain the recipient's agreement that any such Additional Terms +are offered by You alone, and You hereby agree to indemnify, defend +and hold Apple and every Contributor harmless for any liability +incurred by or claims asserted against Apple or such Contributor by +reason of any such Additional Terms. + +7. Versions of the License. Apple may publish revised and/or new +versions of this License from time to time. Each version will be given +a distinguishing version number. Once Original Code has been published +under a particular version of this License, You may continue to use it +under the terms of that version. You may also choose to use such +Original Code under the terms of any subsequent version of this +License published by Apple. No one other than Apple has the right to +modify the terms applicable to Covered Code created under this +License. + +8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in +part pre-release, untested, or not fully tested works. The Covered +Code may contain errors that could cause failures or loss of data, and +may be incomplete or contain inaccuracies. You expressly acknowledge +and agree that use of the Covered Code, or any portion thereof, is at +Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND +WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND +APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE +PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM +ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF +MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR +PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD +PARTY RIGHTS. APPLE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST +INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE +FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS, +THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR +ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO +ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE +AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY. +You acknowledge that the Covered Code is not intended for use in the +operation of nuclear facilities, aircraft navigation, communication +systems, or air traffic control machines in which case the failure of +the Covered Code could lead to death, personal injury, or severe +physical or environmental damage. + +9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO +EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING +TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR +ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY, +TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF +APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY +REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF +INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY +TO YOU. In no event shall Apple's total liability to You for all +damages (other than as may be required by applicable law) under this +License exceed the amount of fifty dollars ($50.00). + +10. Trademarks. This License does not grant any rights to use the +trademarks or trade names "Apple", "Apple Computer", "Mac", "Mac OS", +"QuickTime", "QuickTime Streaming Server" or any other trademarks, +service marks, logos or trade names belonging to Apple (collectively +"Apple Marks") or to any trademark, service mark, logo or trade name +belonging to any Contributor. You agree not to use any Apple Marks in +or as part of the name of products derived from the Original Code or +to endorse or promote products derived from the Original Code other +than as expressly permitted by and in strict compliance at all times +with Apple's third party trademark usage guidelines which are posted +at http://www.apple.com/legal/guidelinesfor3rdparties.html. + +11. Ownership. Subject to the licenses granted under this License, +each Contributor retains all rights, title and interest in and to any +Modifications made by such Contributor. Apple retains all rights, +title and interest in and to the Original Code and any Modifications +made by or on behalf of Apple ("Apple Modifications"), and such Apple +Modifications will not be automatically subject to this License. Apple +may, at its sole discretion, choose to license such Apple +Modifications under this License, or on different terms from those +contained in this License or may choose not to license them at all. + +12. Termination. + +12.1 Termination. This License and the rights granted hereunder will +terminate: + +(a) automatically without notice from Apple if You fail to comply with +any term(s) of this License and fail to cure such breach within 30 +days of becoming aware of such breach; + +(b) immediately in the event of the circumstances described in Section +13.5(b); or + +(c) automatically without notice from Apple if You, at any time during +the term of this License, commence an action for patent infringement +against Apple; provided that Apple did not first commence +an action for patent infringement against You in that instance. + +12.2 Effect of Termination. Upon termination, You agree to immediately +stop any further use, reproduction, modification, sublicensing and +distribution of the Covered Code. All sublicenses to the Covered Code +which have been properly granted prior to termination shall survive +any termination of this License. Provisions which, by their nature, +should remain in effect beyond the termination of this License shall +survive, including but not limited to Sections 3, 5, 8, 9, 10, 11, +12.2 and 13. No party will be liable to any other for compensation, +indemnity or damages of any sort solely as a result of terminating +this License in accordance with its terms, and termination of this +License will be without prejudice to any other right or remedy of +any party. + +13. Miscellaneous. + +13.1 Government End Users. The Covered Code is a "commercial item" as +defined in FAR 2.101. Government software and technical data rights in +the Covered Code include only those rights customarily provided to the +public as defined in this License. This customary commercial license +in technical data and software is provided in accordance with FAR +12.211 (Technical Data) and 12.212 (Computer Software) and, for +Department of Defense purchases, DFAR 252.227-7015 (Technical Data -- +Commercial Items) and 227.7202-3 (Rights in Commercial Computer +Software or Computer Software Documentation). Accordingly, all U.S. +Government End Users acquire Covered Code with only those rights set +forth herein. + +13.2 Relationship of Parties. This License will not be construed as +creating an agency, partnership, joint venture or any other form of +legal association between or among You, Apple or any Contributor, and +You will not represent to the contrary, whether expressly, by +implication, appearance or otherwise. + +13.3 Independent Development. Nothing in this License will impair +Apple's right to acquire, license, develop, have others develop for +it, market and/or distribute technology or products that perform the +same or similar functions as, or otherwise compete with, +Modifications, Larger Works, technology or products that You may +develop, produce, market or distribute. + +13.4 Waiver; Construction. Failure by Apple or any Contributor to +enforce any provision of this License will not be deemed a waiver of +future enforcement of that or any other provision. Any law or +regulation which provides that the language of a contract shall be +construed against the drafter will not apply to this License. + +13.5 Severability. (a) If for any reason a court of competent +jurisdiction finds any provision of this License, or portion thereof, +to be unenforceable, that provision of the License will be enforced to +the maximum extent permissible so as to effect the economic benefits +and intent of the parties, and the remainder of this License will +continue in full force and effect. (b) Notwithstanding the foregoing, +if applicable law prohibits or restricts You from fully and/or +specifically complying with Sections 2 and/or 3 or prevents the +enforceability of either of those Sections, this License will +immediately terminate and You must immediately discontinue any use of +the Covered Code and destroy all copies of it that are in your +possession or control. + +13.6 Dispute Resolution. Any litigation or other dispute resolution +between You and Apple relating to this License shall take place in the +Northern District of California, and You and Apple hereby consent to +the personal jurisdiction of, and venue in, the state and federal +courts within that District with respect to this License. The +application of the United Nations Convention on Contracts for the +International Sale of Goods is expressly excluded. + +13.7 Entire Agreement; Governing Law. This License constitutes the +entire agreement between the parties with respect to the subject +matter hereof. This License shall be governed by the laws of the +United States and the State of California, except that body of +California law concerning conflicts of law. + +Where You are located in the province of Quebec, Canada, the following +clause applies: The parties hereby confirm that they have requested +that this License and all related documents be drafted in English. Les +parties ont exige que le present contrat et tous les documents +connexes soient rediges en anglais. + +EXHIBIT A. + +"Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights +Reserved. + +This file contains Original Code and/or Modifications of Original Code +as defined in and that are subject to the Apple Public Source License +Version 2.0 (the 'License'). You may not use this file except in +compliance with the License. Please obtain a copy of the License at +http://www.opensource.apple.com/apsl/ and read it before using this +file. + +The Original Code and all software distributed under the License are +distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER +EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, +INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. +Please see the License for the specific language governing rights and +limitations under the License." Index: branches/prasys/doc/BootHelp.txt =================================================================== --- branches/prasys/doc/BootHelp.txt (revision 0) +++ branches/prasys/doc/BootHelp.txt (revision 24) @@ -0,0 +1,91 @@ +The boot: prompt waits for you to type advanced startup options. +If you don't type anything, the computer continues starting up normally. It +uses the kernel and configuration files on the startup device, which it also +uses as the root device. + +Advanced startup options use the following syntax: + + [device] [arguments] + +Example arguments include + + device: rd= (e.g. rd=disk0s2) + rd=* (e.g. rd=*/PCI0@0/CHN0@0/@0:1) + + kernel: kernel name (e.g. "mach_kernel" - must be in "/" ) + + flags: -v (verbose) -s (single user mode), + -x (safe mode) -F (ignore boot configuration file) + + "Graphics Mode"="WIDTHxHEIGHTxDEPTH" (e.g. "1024x768x32") + + kernel flags (e.g. debug=0x144) + io=0xffffffff (defined in IOKit/IOKitDebug.h) + +Example: mach_kernel rd=disk0s1 -v "Graphics Mode"="1920x1200x32" + +If the computer won't start up properly, you may be able to start it up using +safe mode. Type -x to start up in safe mode, which ignores all cached +driver files. + +Special booter hotkeys: + F5 Rescans optical drive. + F10 Scans and displays all BIOS accessible drives. + +Special booter commands: + ?memory Displays information about the computer's memory. + ?video Displays VESA video modes supported by the computer's BIOS. + ?norescan Leaves optical drive rescan mode. + +Additional useful command-line options: + config= Use an alternate Boot.plist file. + +Options useful in the com.apple.Boot.plist file: + Wait=Yes|No Prompt for a key press before starting the kernel. + "Quiet Boot"=Yes|No Use quiet boot mode (no messages or prompt). + Timeout=8 Number of seconds to pause at the boot: prompt. + "Instant Menu"=Yes Force displaying the partition selection menu. + + "Default Partition" Sets the default boot partition, + =hd(x,y) where 'x' is the disk number, 'y' the partition number. + "Hide Partition" Remove unwanted partition(s) from the boot menu. + =hd(x,y) [hd(m,n)] + + GUI=No Disable the GUI (enabled by default). + "Boot Banner"=Yes|No Show boot banner in GUI mode (enabled by default). + "Legacy Logo"=Yes|No Use the legacy grey apple logo (disabled by default). + + PciRoot= Use an alternate value for PciRoot. (default value: 0). + + GraphicsEnabler=Yes|No Automatic device-properties generation for graphics cards. + VideoROM= Use an alternate ROM image (default path: /NVIDIA.ROM). + VBIOS=Yes|No Inject VBIOS to device-properties. + + EthernetBuiltIn=Yes|No Automatic "built-in"=yes device-properties generation + for ethernet interfaces. + + USBBusFix=Yes Enable the EHCI and UHCI fixes (disabled by default). + EHCIacquire=Yes Enable the EHCI fix (disabled by default). + UHCIreset=Yes Enable the UHCI fix (disabled by default). + + Wake=No Disable wake up after hibernation (enbaled by default). + ForceWake=Yes Force using the sleepimage (disabled by default). + WakeImage= Use an alternate sleepimage file + (default path is /private/var/vm/sleepimage). + + DropSSDT=Yes Skip the SSDT tables while relocating the ACPI tables. + DSDT= Use an alternate DSDT.aml file + (default path: /DSDT.aml /Extra/DSDT.aml) + + SMBIOS= Use an alternate smbios.plist file + (default path: /smbios.plist /Extra/smbios.plist + bt(0,0)/Extra/smbios.plist). + + SMBIOSdefaults=No Don't use the Default values for SMBIOS overriding + if smbios.plist doesn't exist, factory + values are kept. + + "Scan Single Drive" Scan the drive only where the booter got loaded from. + =Yes|No Fix rescan issues when using a DVD reader in AHCI mode. + Rescan=Yes Enable CD-ROM rescan mode. + "Rescan Prompt"=Yes Prompts for enable CD-ROM rescan mode. Index: branches/prasys/doc/README =================================================================== --- branches/prasys/doc/README (revision 0) +++ branches/prasys/doc/README (revision 24) @@ -0,0 +1,97 @@ + + Chameleon Boot Loader + ===================== + + What is it? + ----------- + + Chameleon is combination of various boot loader components. It is based + on David Elliott's fake EFI implementation added to Apple's boot-132 + project. Chameleon is extended with the following key features: + + + Features + -------- + + - Device Property Injection via device-properties string in com.apple.Boot.plist + - hybrid boot0+boot1h loaders for both MBR and GPT partitioned disks. + - automatic FSB detection code even for recent AMD CPUs. + - Apple Software RAID support. + - stage2 loader (boot) can be placed as a regular file in the boot + partition's root folder. It has precedence over the embedded + startupfile. + + + Installation + ============ + + Normal Install (non-RAID): + -------------------------- + + Suppose that your installation is on /dev/disk0s2 + + - Install boot0 to the MBR: + sudo fdisk -f boot0 -u -y /dev/rdisk0 + + - Install boot1h to the partition's bootsector: + sudo dd if=boot1h of=/dev/rdisk0s2 + + - Install boot to the partition's root directory: + sudo cp boot / + + No need to use startupfiletool anymore! + + + RAID Install: + ------------- + + Suppose that your installation is on /dev/disk3, which is either a mirror- or a + stripeset consisting of /dev/disk0 and /dev/disk1 + + Mac OS X creates a small helper partition at the end of each RAID member disk, + namely /dev/disk0s3 and /dev/disk1s3 + + - Install boot0 to the MBR of both disks: + sudo fdisk -f boot0 -u -y /dev/rdisk0 + sudo fdisk -f boot0 -u -y /dev/rdisk1 + + - Install boot1h to the bootsector of each boot partition: + sudo dd if=boot1h of=/dev/rdisk0s3 + sudo dd if=boot1h of=/dev/rdisk1s3 + + - Install boot to both helper partition's root directories. + diskutil mount disk0s3 + cp boot /Volumes/Boot\ OSX + diskutil unmount disk0s3 + diskutil mount disk1s3 + cp boot /Volumes/Boot\ OSX + diskutil unmount disk1s3 + + - Add "rd=uuid boot-uuid=506D8F03-0596-32D8-BE0B-E3A4E7D5C72A" to your kernel flags + (replace with your root volume's UUID; find out using "Disk Utility.app", right + click on your root volume, then Get Info"): + nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist + touch /System/Library/Extensions + + + Support: + -------- + + If you have any questions, issues etc. feel free to join us + at irc.voodooprojects.org #chameleon + + + Source Code + ----------- + + For downloading the source code please visit the project page at + http://chameleon.osx86.hu + + + Licensing + --------- + + Chameleon is released under the terms and conditions of + Apple Public Source License (see APPLE_LICENSE). + To use "Chameleon" for commercial purposes please contact us at: + http://chameleon.osx86.hu/contact Index: branches/prasys/version =================================================================== --- branches/prasys/version (revision 0) +++ branches/prasys/version (revision 24) @@ -0,0 +1 @@ +2.0-RC4 \ No newline at end of file Index: branches/prasys/sym/i386/boot1f32 =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/sym/i386/boot1f32 ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/sym/i386/embedded.h =================================================================== --- branches/prasys/sym/i386/embedded.h (revision 0) +++ branches/prasys/sym/i386/embedded.h (revision 24) @@ -0,0 +1,358 @@ +unsigned char BootHelp_txt[] = { + 0x54, 0x68, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x74, 0x3a, 0x20, 0x70, 0x72, + 0x6f, 0x6d, 0x70, 0x74, 0x20, 0x77, 0x61, 0x69, 0x74, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x79, + 0x70, 0x65, 0x20, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x20, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x20, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x49, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, + 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x61, + 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x73, 0x20, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x70, 0x20, 0x6e, 0x6f, 0x72, 0x6d, + 0x61, 0x6c, 0x6c, 0x79, 0x2e, 0x20, 0x49, 0x74, 0x0a, 0x75, 0x73, 0x65, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x75, 0x70, 0x20, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x20, + 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x74, 0x20, 0x61, 0x6c, 0x73, + 0x6f, 0x0a, 0x75, 0x73, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x20, 0x0a, 0x0a, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, + 0x64, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x20, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, + 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x5b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5d, 0x3c, 0x6b, 0x65, + 0x72, 0x6e, 0x65, 0x6c, 0x3e, 0x20, 0x5b, 0x61, 0x72, 0x67, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x5d, 0x0a, 0x0a, 0x45, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x0a, 0x0a, 0x20, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x20, 0x72, 0x64, 0x3d, 0x3c, 0x42, + 0x53, 0x44, 0x20, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x65, + 0x2e, 0x67, 0x2e, 0x20, 0x72, 0x64, 0x3d, 0x64, 0x69, 0x73, 0x6b, 0x30, + 0x73, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x64, 0x3d, 0x2a, 0x3c, 0x49, 0x4f, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x3e, + 0x20, 0x20, 0x20, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x72, 0x64, + 0x3d, 0x2a, 0x2f, 0x50, 0x43, 0x49, 0x30, 0x40, 0x30, 0x2f, 0x43, 0x48, + 0x4e, 0x30, 0x40, 0x30, 0x2f, 0x40, 0x30, 0x3a, 0x31, 0x29, 0x0a, 0x0a, + 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x3a, 0x20, 0x6b, 0x65, 0x72, + 0x6e, 0x65, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x22, 0x6d, 0x61, 0x63, 0x68, 0x5f, + 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x22, 0x20, 0x2d, 0x20, 0x6d, 0x75, + 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x22, 0x2f, 0x22, + 0x20, 0x29, 0x0a, 0x0a, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3a, 0x20, + 0x2d, 0x76, 0x20, 0x28, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x29, + 0x20, 0x20, 0x20, 0x20, 0x2d, 0x73, 0x20, 0x28, 0x73, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x6d, 0x6f, 0x64, 0x65, + 0x29, 0x2c, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x2d, 0x78, 0x20, 0x28, 0x73, 0x61, 0x66, 0x65, 0x20, 0x6d, 0x6f, 0x64, + 0x65, 0x29, 0x20, 0x20, 0x2d, 0x46, 0x20, 0x28, 0x69, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, + 0x6c, 0x65, 0x29, 0x0a, 0x0a, 0x20, 0x22, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x69, 0x63, 0x73, 0x20, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x3d, 0x22, 0x57, + 0x49, 0x44, 0x54, 0x48, 0x78, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x78, + 0x44, 0x45, 0x50, 0x54, 0x48, 0x22, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, + 0x20, 0x22, 0x31, 0x30, 0x32, 0x34, 0x78, 0x37, 0x36, 0x38, 0x78, 0x33, + 0x32, 0x22, 0x29, 0x0a, 0x0a, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, + 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x64, + 0x65, 0x62, 0x75, 0x67, 0x3d, 0x30, 0x78, 0x31, 0x34, 0x34, 0x29, 0x0a, + 0x20, 0x69, 0x6f, 0x3d, 0x30, 0x78, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x28, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, + 0x49, 0x4f, 0x4b, 0x69, 0x74, 0x2f, 0x49, 0x4f, 0x4b, 0x69, 0x74, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x2e, 0x68, 0x29, 0x0a, 0x0a, 0x45, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x6d, 0x61, 0x63, 0x68, 0x5f, 0x6b, + 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x72, 0x64, 0x3d, 0x64, 0x69, 0x73, + 0x6b, 0x30, 0x73, 0x31, 0x20, 0x2d, 0x76, 0x20, 0x22, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x69, 0x63, 0x73, 0x20, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x3d, + 0x22, 0x31, 0x39, 0x32, 0x30, 0x78, 0x31, 0x32, 0x30, 0x30, 0x78, 0x33, + 0x32, 0x22, 0x0a, 0x0a, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x20, 0x77, 0x6f, 0x6e, 0x27, + 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x75, 0x70, 0x20, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x6c, 0x79, 0x2c, 0x20, 0x79, 0x6f, 0x75, + 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x61, 0x62, 0x6c, 0x65, + 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x69, 0x74, + 0x20, 0x75, 0x70, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x0a, 0x73, 0x61, + 0x66, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x20, 0x20, 0x54, 0x79, + 0x70, 0x65, 0x20, 0x2d, 0x78, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x20, 0x75, 0x70, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x61, 0x66, + 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x73, 0x20, 0x61, 0x6c, + 0x6c, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x0a, 0x64, 0x72, 0x69, + 0x76, 0x65, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, + 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x62, 0x6f, 0x6f, 0x74, + 0x65, 0x72, 0x20, 0x68, 0x6f, 0x74, 0x6b, 0x65, 0x79, 0x73, 0x3a, 0x0a, + 0x20, 0x20, 0x46, 0x35, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x73, 0x63, 0x61, 0x6e, 0x73, 0x20, + 0x6f, 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x72, 0x69, 0x76, + 0x65, 0x2e, 0x0a, 0x20, 0x20, 0x46, 0x31, 0x30, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x61, 0x6e, 0x73, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x42, 0x49, 0x4f, 0x53, 0x20, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x64, 0x72, + 0x69, 0x76, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x0a, 0x53, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x20, 0x62, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x20, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x3a, 0x0a, 0x20, 0x20, + 0x3f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x73, 0x20, 0x69, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, + 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x72, 0x27, 0x73, 0x20, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x2e, 0x0a, 0x20, 0x20, 0x3f, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x73, 0x20, 0x56, 0x45, 0x53, 0x41, 0x20, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x20, 0x73, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x27, + 0x73, 0x20, 0x42, 0x49, 0x4f, 0x53, 0x2e, 0x0a, 0x20, 0x20, 0x3f, 0x6e, + 0x6f, 0x72, 0x65, 0x73, 0x63, 0x61, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x63, + 0x61, 0x6c, 0x20, 0x64, 0x72, 0x69, 0x76, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x63, 0x61, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x0a, 0x0a, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x75, 0x73, + 0x65, 0x66, 0x75, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x2d, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x3a, 0x0a, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3d, + 0x3c, 0x66, 0x69, 0x6c, 0x65, 0x3e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x73, 0x65, 0x20, 0x61, + 0x6e, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x20, + 0x42, 0x6f, 0x6f, 0x74, 0x2e, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x66, + 0x69, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x6c, + 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x2e, 0x70, 0x6c, 0x69, 0x73, 0x74, + 0x20, 0x66, 0x69, 0x6c, 0x65, 0x3a, 0x0a, 0x20, 0x20, 0x57, 0x61, 0x69, + 0x74, 0x3d, 0x59, 0x65, 0x73, 0x7c, 0x4e, 0x6f, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, + 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, + 0x6b, 0x65, 0x79, 0x20, 0x70, 0x72, 0x65, 0x73, 0x73, 0x20, 0x62, 0x65, + 0x66, 0x6f, 0x72, 0x65, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, + 0x2e, 0x0a, 0x20, 0x20, 0x22, 0x51, 0x75, 0x69, 0x65, 0x74, 0x20, 0x42, + 0x6f, 0x6f, 0x74, 0x22, 0x3d, 0x59, 0x65, 0x73, 0x7c, 0x4e, 0x6f, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x73, 0x65, 0x20, 0x71, 0x75, + 0x69, 0x65, 0x74, 0x20, 0x62, 0x6f, 0x6f, 0x74, 0x20, 0x6d, 0x6f, 0x64, + 0x65, 0x20, 0x28, 0x6e, 0x6f, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, + 0x29, 0x2e, 0x0a, 0x20, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x3d, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x70, 0x61, 0x75, 0x73, 0x65, 0x20, 0x61, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x74, 0x3a, 0x20, 0x70, + 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x2e, 0x0a, 0x20, 0x20, 0x22, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x4d, 0x65, 0x6e, 0x75, 0x22, 0x3d, + 0x59, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x46, + 0x6f, 0x72, 0x63, 0x65, 0x20, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x20, 0x0a, 0x0a, + 0x20, 0x20, 0x22, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x62, 0x6f, 0x6f, + 0x74, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x68, 0x64, 0x28, 0x78, 0x2c, 0x79, + 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, + 0x20, 0x27, 0x78, 0x27, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x64, 0x69, 0x73, 0x6b, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2c, + 0x20, 0x27, 0x79, 0x27, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x2e, 0x0a, 0x20, 0x20, 0x22, 0x48, 0x69, 0x64, 0x65, 0x20, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x20, 0x75, 0x6e, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x29, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x6f, 0x6f, + 0x74, 0x20, 0x6d, 0x65, 0x6e, 0x75, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3d, 0x68, 0x64, 0x28, 0x78, 0x2c, 0x79, 0x29, 0x20, 0x5b, 0x68, 0x64, + 0x28, 0x6d, 0x2c, 0x6e, 0x29, 0x5d, 0x0a, 0x0a, 0x20, 0x20, 0x47, 0x55, + 0x49, 0x3d, 0x4e, 0x6f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x47, 0x55, 0x49, 0x20, 0x28, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x29, + 0x2e, 0x0a, 0x20, 0x20, 0x22, 0x42, 0x6f, 0x6f, 0x74, 0x20, 0x42, 0x61, + 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x3d, 0x59, 0x65, 0x73, 0x7c, 0x4e, 0x6f, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x68, 0x6f, 0x77, 0x20, 0x62, + 0x6f, 0x6f, 0x74, 0x20, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x20, 0x69, + 0x6e, 0x20, 0x47, 0x55, 0x49, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x28, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x20, 0x22, + 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x20, 0x4c, 0x6f, 0x67, 0x6f, 0x22, + 0x3d, 0x59, 0x65, 0x73, 0x7c, 0x4e, 0x6f, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x55, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x20, 0x67, 0x72, 0x65, 0x79, 0x20, 0x61, 0x70, 0x70, + 0x6c, 0x65, 0x20, 0x6c, 0x6f, 0x67, 0x6f, 0x20, 0x28, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x20, 0x0a, 0x20, 0x20, + 0x50, 0x63, 0x69, 0x52, 0x6f, 0x6f, 0x74, 0x3d, 0x3c, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x55, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6c, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x50, 0x63, 0x69, 0x52, 0x6f, 0x6f, 0x74, + 0x2e, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x30, 0x29, 0x2e, 0x0a, 0x0a, 0x20, + 0x20, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x72, 0x3d, 0x59, 0x65, 0x73, 0x7c, 0x4e, 0x6f, 0x20, + 0x20, 0x20, 0x20, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x20, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x20, 0x63, 0x61, 0x72, 0x64, 0x73, + 0x2e, 0x0a, 0x20, 0x20, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x4f, 0x4d, + 0x3d, 0x3c, 0x66, 0x69, 0x6c, 0x65, 0x3e, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x73, 0x65, 0x20, 0x61, 0x6e, + 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x52, + 0x4f, 0x4d, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x28, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x70, 0x61, 0x74, 0x68, 0x3a, 0x20, + 0x2f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x2e, 0x52, 0x4f, 0x4d, 0x29, + 0x2e, 0x0a, 0x20, 0x20, 0x56, 0x42, 0x49, 0x4f, 0x53, 0x3d, 0x59, 0x65, + 0x73, 0x7c, 0x4e, 0x6f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x20, 0x56, 0x42, 0x49, 0x4f, 0x53, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x20, 0x45, 0x74, 0x68, 0x65, + 0x72, 0x6e, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6e, 0x3d, + 0x59, 0x65, 0x73, 0x7c, 0x4e, 0x6f, 0x20, 0x20, 0x20, 0x20, 0x41, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x20, 0x22, 0x62, 0x75, 0x69, + 0x6c, 0x74, 0x2d, 0x69, 0x6e, 0x22, 0x3d, 0x79, 0x65, 0x73, 0x20, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x20, + 0x55, 0x53, 0x42, 0x42, 0x75, 0x73, 0x46, 0x69, 0x78, 0x3d, 0x59, 0x65, + 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x45, 0x48, 0x43, 0x49, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x55, 0x48, + 0x43, 0x49, 0x20, 0x66, 0x69, 0x78, 0x65, 0x73, 0x20, 0x28, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x20, 0x45, 0x48, + 0x43, 0x49, 0x61, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x3d, 0x59, 0x65, + 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x45, + 0x48, 0x43, 0x49, 0x20, 0x66, 0x69, 0x78, 0x20, 0x28, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x20, 0x55, 0x48, 0x43, + 0x49, 0x72, 0x65, 0x73, 0x65, 0x74, 0x3d, 0x59, 0x65, 0x73, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x48, + 0x43, 0x49, 0x20, 0x66, 0x69, 0x78, 0x20, 0x28, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x20, 0x57, 0x61, 0x6b, + 0x65, 0x3d, 0x4e, 0x6f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x61, 0x6b, 0x65, 0x20, + 0x75, 0x70, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x68, 0x69, 0x62, + 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x65, 0x6e, + 0x62, 0x61, 0x6c, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x20, 0x46, 0x6f, 0x72, + 0x63, 0x65, 0x57, 0x61, 0x6b, 0x65, 0x3d, 0x59, 0x65, 0x73, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x46, + 0x6f, 0x72, 0x63, 0x65, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x20, 0x28, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x29, 0x2e, + 0x0a, 0x20, 0x20, 0x57, 0x61, 0x6b, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x3d, 0x3c, 0x66, 0x69, 0x6c, 0x65, 0x3e, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x73, 0x6c, + 0x65, 0x65, 0x70, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x66, 0x69, 0x6c, + 0x65, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x69, + 0x73, 0x20, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x2f, 0x76, + 0x61, 0x72, 0x2f, 0x76, 0x6d, 0x2f, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x20, 0x44, 0x72, + 0x6f, 0x70, 0x53, 0x53, 0x44, 0x54, 0x3d, 0x59, 0x65, 0x73, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x53, 0x6b, 0x69, 0x70, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x53, 0x44, + 0x54, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x68, 0x69, + 0x6c, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x43, 0x50, 0x49, 0x20, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x44, 0x53, 0x44, + 0x54, 0x3d, 0x3c, 0x66, 0x69, 0x6c, 0x65, 0x3e, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, + 0x73, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x74, 0x65, 0x20, 0x44, 0x53, 0x44, 0x54, 0x2e, 0x61, 0x6d, 0x6c, + 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x70, 0x61, + 0x74, 0x68, 0x3a, 0x20, 0x2f, 0x44, 0x53, 0x44, 0x54, 0x2e, 0x61, 0x6d, + 0x6c, 0x20, 0x2f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x2f, 0x44, 0x53, 0x44, + 0x54, 0x2e, 0x61, 0x6d, 0x6c, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x53, 0x4d, + 0x42, 0x49, 0x4f, 0x53, 0x3d, 0x3c, 0x66, 0x69, 0x6c, 0x65, 0x3e, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x55, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x74, 0x65, 0x20, 0x73, 0x6d, 0x62, 0x69, 0x6f, 0x73, 0x2e, + 0x70, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x20, 0x70, 0x61, 0x74, 0x68, 0x3a, 0x20, 0x2f, 0x73, 0x6d, + 0x62, 0x69, 0x6f, 0x73, 0x2e, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x2f, + 0x45, 0x78, 0x74, 0x72, 0x61, 0x2f, 0x73, 0x6d, 0x62, 0x69, 0x6f, 0x73, + 0x2e, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x62, 0x74, 0x28, 0x30, 0x2c, 0x30, 0x29, 0x2f, 0x45, 0x78, + 0x74, 0x72, 0x61, 0x2f, 0x73, 0x6d, 0x62, 0x69, 0x6f, 0x73, 0x2e, 0x70, + 0x6c, 0x69, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x20, 0x53, 0x4d, + 0x42, 0x49, 0x4f, 0x53, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, + 0x3d, 0x4e, 0x6f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x44, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x53, 0x4d, 0x42, + 0x49, 0x4f, 0x53, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, + 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x73, 0x6d, 0x62, 0x69, 0x6f, 0x73, 0x2e, 0x70, 0x6c, 0x69, 0x73, 0x74, + 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x65, 0x78, 0x69, + 0x73, 0x74, 0x2c, 0x20, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x6b, 0x65, 0x70, 0x74, 0x2e, 0x0a, 0x0a, + 0x20, 0x20, 0x22, 0x53, 0x63, 0x61, 0x6e, 0x20, 0x53, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x20, 0x44, 0x72, 0x69, 0x76, 0x65, 0x22, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x64, 0x72, 0x69, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, + 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x6f, + 0x6f, 0x74, 0x65, 0x72, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x6c, 0x6f, 0x61, + 0x64, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x2e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x3d, 0x59, 0x65, 0x73, 0x7c, 0x4e, 0x6f, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x46, 0x69, 0x78, 0x20, 0x72, 0x65, 0x73, 0x63, 0x61, 0x6e, + 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x44, 0x56, 0x44, + 0x20, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x41, + 0x48, 0x43, 0x49, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x20, 0x0a, 0x20, + 0x20, 0x52, 0x65, 0x73, 0x63, 0x61, 0x6e, 0x3d, 0x59, 0x65, 0x73, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x43, 0x44, + 0x2d, 0x52, 0x4f, 0x4d, 0x20, 0x72, 0x65, 0x73, 0x63, 0x61, 0x6e, 0x20, + 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x0a, 0x20, 0x20, 0x22, 0x52, 0x65, 0x73, + 0x63, 0x61, 0x6e, 0x20, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x22, 0x3d, + 0x59, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x72, + 0x6f, 0x6d, 0x70, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x20, 0x43, 0x44, 0x2d, 0x52, 0x4f, 0x4d, 0x20, + 0x72, 0x65, 0x73, 0x63, 0x61, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x2e, + 0x0a +}; +unsigned int BootHelp_txt_len = 4249; Index: branches/prasys/sym/i386/boot.sys =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/sym/i386/boot.sys ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Index: branches/prasys/sym/i386/boot1he =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/sym/i386/boot1he ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/sym/i386/chain0 =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/sym/i386/chain0 ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/sym/i386/boot =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/sym/i386/boot ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/sym/i386/boot0 =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/sym/i386/boot0 ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/sym/i386/vers.h =================================================================== --- branches/prasys/sym/i386/vers.h (revision 0) +++ branches/prasys/sym/i386/vers.h (revision 24) @@ -0,0 +1,4 @@ +#define I386BOOT_VERSION "5.0.132" +#define I386BOOT_BUILDDATE "2010-01-06 18:52:42" +#define I386BOOT_CHAMELEONVERSION "2.0-RC4" +#define I386BOOT_CHAMELEONREVISION "" Index: branches/prasys/sym/i386/cdboot =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/sym/i386/cdboot ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/sym/i386/art.h =================================================================== --- branches/prasys/sym/i386/art.h (revision 0) +++ branches/prasys/sym/i386/art.h (revision 24) @@ -0,0 +1,14018 @@ +#ifndef __BOOT2_ART_H +#define __BOOT2_ART_H +unsigned char __theme_plist[] = { + 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, + 0x3f, 0x3e, 0x0a, 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, + 0x20, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, + 0x43, 0x20, 0x22, 0x2d, 0x2f, 0x2f, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x2f, + 0x2f, 0x44, 0x54, 0x44, 0x20, 0x50, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x31, + 0x2e, 0x30, 0x2f, 0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x70, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x54, 0x44, 0x73, 0x2f, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x2d, + 0x31, 0x2e, 0x30, 0x2e, 0x64, 0x74, 0x64, 0x22, 0x3e, 0x0a, 0x3c, 0x70, + 0x6c, 0x69, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x63, + 0x74, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, + 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x6e, 0x6f, 0x3c, 0x2f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, + 0x79, 0x3e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x31, 0x30, 0x32, 0x34, 0x3c, 0x2f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, + 0x79, 0x3e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x37, 0x36, 0x38, 0x3c, 0x2f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, + 0x79, 0x3e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x78, + 0x74, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x68, 0x3c, 0x2f, 0x6b, + 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3e, 0x31, 0x30, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, + 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x73, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, + 0x5f, 0x76, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x31, 0x30, 0x3c, 0x2f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, + 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x62, 0x67, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x23, 0x32, 0x32, 0x32, 0x33, 0x33, + 0x34, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, + 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x78, 0x3c, 0x2f, 0x6b, + 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3e, 0x35, 0x30, 0x25, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x62, 0x61, 0x63, 0x6b, + 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x79, + 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x3e, 0x30, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x6c, 0x6f, 0x67, + 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x78, 0x3c, 0x2f, 0x6b, 0x65, 0x79, + 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x3c, + 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, + 0x65, 0x79, 0x3e, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x5f, + 0x79, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x33, 0x25, 0x3c, 0x2f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x6c, + 0x6f, 0x67, 0x6f, 0x5f, 0x62, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3c, + 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3e, 0x23, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3c, 0x2f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, + 0x79, 0x3e, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x3c, 0x2f, 0x6b, 0x65, 0x79, + 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x32, + 0x35, 0x35, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, + 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x78, 0x3c, 0x2f, 0x6b, 0x65, 0x79, + 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x3c, + 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, + 0x65, 0x79, 0x3e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x70, + 0x6f, 0x73, 0x5f, 0x79, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, + 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x2f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x62, 0x67, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x23, 0x32, 0x32, 0x32, 0x33, + 0x33, 0x34, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, + 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x63, 0x79, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x30, 0x3c, 0x2f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x76, + 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, + 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x35, 0x3c, + 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, + 0x65, 0x79, 0x3e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x69, + 0x63, 0x6f, 0x6e, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3c, 0x2f, + 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x3e, 0x32, 0x30, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x3c, 0x2f, + 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x3e, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, + 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, + 0x6b, 0x65, 0x79, 0x3e, 0x62, 0x6f, 0x6f, 0x74, 0x70, 0x72, 0x6f, 0x6d, + 0x70, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x78, 0x3c, 0x2f, 0x6b, 0x65, + 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, + 0x25, 0x35, 0x30, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, + 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x62, 0x6f, 0x6f, 0x74, 0x70, + 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x79, 0x3c, + 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3e, 0x2d, 0x32, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x62, 0x6f, 0x6f, + 0x74, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x35, 0x30, 0x25, 0x3c, 0x2f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, + 0x62, 0x6f, 0x6f, 0x74, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, + 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x32, 0x30, 0x3c, + 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, + 0x65, 0x79, 0x3e, 0x62, 0x6f, 0x6f, 0x74, 0x70, 0x72, 0x6f, 0x6d, 0x70, + 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, + 0x5f, 0x68, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x31, 0x30, 0x3c, 0x2f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, + 0x62, 0x6f, 0x6f, 0x74, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x76, 0x3c, + 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3e, 0x35, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x62, 0x6f, 0x6f, 0x74, + 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x62, 0x67, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x23, 0x32, 0x32, 0x32, 0x33, 0x33, + 0x34, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, + 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x62, 0x6f, 0x6f, 0x74, 0x70, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, + 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x31, 0x3c, 0x2f, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, + 0x3e, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x6f, 0x78, 0x5f, 0x70, 0x6f, 0x73, + 0x5f, 0x78, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x69, 0x6e, + 0x66, 0x6f, 0x62, 0x6f, 0x78, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x79, 0x3c, + 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, + 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x69, 0x6e, 0x66, 0x6f, 0x62, + 0x6f, 0x78, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3c, 0x2f, 0x6b, 0x65, + 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, + 0x36, 0x35, 0x30, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, + 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x69, 0x6e, 0x66, 0x6f, 0x62, + 0x6f, 0x78, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3c, 0x2f, 0x6b, + 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3e, 0x34, 0x30, 0x36, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x69, 0x6e, 0x66, 0x6f, + 0x62, 0x6f, 0x78, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x5f, 0x68, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, + 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x31, 0x30, 0x3c, 0x2f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, + 0x79, 0x3e, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x6f, 0x78, 0x5f, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x76, 0x3c, 0x2f, + 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x3e, 0x31, 0x30, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x69, 0x6e, 0x66, 0x6f, + 0x62, 0x6f, 0x78, 0x5f, 0x62, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3c, + 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3e, 0x23, 0x32, 0x32, 0x32, 0x33, 0x33, 0x34, 0x3c, 0x2f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, + 0x79, 0x3e, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x6f, 0x78, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x3c, 0x2f, + 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x3e, 0x31, 0x30, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x6d, 0x65, 0x6e, 0x75, + 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x78, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, + 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x2f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, + 0x79, 0x3e, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x79, + 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x3e, 0x2d, 0x35, 0x25, 0x3c, 0x2f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x6d, + 0x65, 0x6e, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x5f, 0x68, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, + 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x31, 0x30, 0x3c, 0x2f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, + 0x79, 0x3e, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x76, 0x3c, 0x2f, 0x6b, 0x65, 0x79, + 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x35, + 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, + 0x6b, 0x65, 0x79, 0x3e, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x62, 0x67, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, + 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x23, 0x32, 0x32, 0x32, + 0x33, 0x33, 0x34, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, + 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x6d, 0x65, 0x6e, 0x75, 0x5f, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x63, 0x79, + 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x3e, 0x31, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x62, 0x61, 0x72, 0x5f, 0x70, 0x6f, 0x73, + 0x5f, 0x78, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x62, 0x61, 0x72, 0x5f, 0x70, 0x6f, + 0x73, 0x5f, 0x79, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x2d, 0x33, 0x30, 0x25, 0x3c, + 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, + 0x65, 0x79, 0x3e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x62, + 0x61, 0x72, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3c, 0x2f, 0x6b, 0x65, + 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, + 0x31, 0x30, 0x30, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, + 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x62, 0x61, 0x72, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x34, 0x30, 0x3c, 0x2f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x6f, 0x73, + 0x5f, 0x78, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x5f, + 0x79, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x2d, 0x32, 0x30, 0x25, 0x3c, 0x2f, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, + 0x3e, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3c, + 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3e, 0x31, 0x30, 0x32, 0x34, 0x3c, 0x2f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x62, + 0x6f, 0x6f, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3c, 0x2f, + 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x3e, 0x37, 0x36, 0x38, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x62, 0x6f, 0x6f, + 0x74, 0x5f, 0x62, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3c, 0x2f, 0x6b, + 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3e, 0x23, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3c, 0x2f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x63, 0x74, + 0x3e, 0x0a, 0x3c, 0x2f, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x3e, 0x0a +}; +unsigned int __theme_plist_len = 2699; +unsigned char __background_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x01, 0x90, 0x00, 0x00, 0x01, 0x2c, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xed, 0xb7, 0xe5, 0xc2, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x03, 0x68, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0xd5, 0x21, 0x01, + 0x00, 0x00, 0x0c, 0xc3, 0xb0, 0xf9, 0x37, 0xbd, 0x6b, 0x18, 0x39, 0x0a, + 0x88, 0x81, 0x92, 0xa6, 0x6d, 0x00, 0x60, 0x25, 0x02, 0x00, 0x06, 0x02, + 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x18, 0x08, 0x00, + 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x18, + 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, + 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, + 0x18, 0x08, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, + 0x20, 0x00, 0x18, 0x08, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, + 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, + 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x18, 0x08, 0x00, + 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x60, 0x20, 0x00, 0x18, + 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x60, 0x20, + 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, + 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, + 0x20, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, + 0x00, 0x60, 0x20, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, + 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, + 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x60, 0x20, 0x00, 0x18, + 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x22, 0x00, 0x60, + 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, + 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, + 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, + 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, + 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, + 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, + 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, + 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, + 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x00, 0x06, 0x02, + 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x00, + 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, + 0x02, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, + 0x00, 0x06, 0x02, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, + 0x18, 0x08, 0x00, 0x06, 0x02, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, + 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x00, 0x06, 0x02, 0x80, 0x81, + 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x00, 0x06, 0x02, + 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x22, 0x02, + 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, + 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, + 0x08, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, + 0x00, 0x18, 0x08, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, + 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, + 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x18, 0x08, 0x00, 0x06, + 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x18, 0x08, + 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, + 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x60, + 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, + 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, + 0x60, 0x20, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, + 0x81, 0x00, 0x60, 0x20, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, + 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, + 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x60, 0x20, 0x00, + 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x60, + 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x60, 0x20, + 0x22, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, + 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, + 0x80, 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, + 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, + 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, + 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, 0x00, + 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, + 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, + 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, + 0x00, 0x22, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, + 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, + 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, + 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, + 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, + 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0x80, 0x81, + 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, + 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, 0x02, 0x80, + 0x81, 0x00, 0x80, 0x81, 0x00, 0x60, 0x20, 0x00, 0x18, 0x08, 0x00, 0x06, + 0x02, 0x00, 0x06, 0x02, 0x80, 0x81, 0x00, 0xf0, 0xea, 0x00, 0x9b, 0xbb, + 0x13, 0xd8, 0xc9, 0x63, 0x14, 0xac, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, + 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __background_png_len = 966; +unsigned char __boot_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe2, 0x98, 0x77, 0x38, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x2a, 0x68, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x9d, 0x07, 0x98, + 0x54, 0x55, 0xb6, 0x85, 0x87, 0xf7, 0xe6, 0x39, 0xea, 0x73, 0xc6, 0x9c, + 0x73, 0x56, 0xcc, 0x62, 0x02, 0xc9, 0x39, 0xa7, 0x86, 0x26, 0x35, 0x59, + 0x92, 0x82, 0x08, 0x18, 0x01, 0x11, 0x30, 0x80, 0x0a, 0x8e, 0x01, 0x50, + 0x50, 0x54, 0x50, 0x50, 0x30, 0x30, 0x06, 0x10, 0xb3, 0x60, 0xc0, 0x38, + 0x3a, 0x06, 0x1c, 0xc5, 0x88, 0x91, 0x0c, 0x4d, 0x07, 0x3a, 0x50, 0xf7, + 0xad, 0xff, 0xd6, 0xdd, 0xc5, 0xe9, 0xc3, 0xad, 0x86, 0x6e, 0x5a, 0xe7, + 0x39, 0x63, 0x7d, 0xdf, 0xf9, 0x6e, 0xc5, 0x5b, 0xb7, 0xd6, 0xda, 0x7b, + 0xed, 0x7d, 0xf6, 0x09, 0xf5, 0x87, 0x20, 0x08, 0xfe, 0x60, 0xed, 0xb7, + 0x78, 0xd3, 0x75, 0x57, 0xa2, 0xe9, 0xee, 0x7f, 0xb5, 0x6f, 0xdf, 0xfe, + 0xbf, 0xaf, 0xb9, 0xe6, 0x9a, 0x3f, 0xf6, 0xed, 0xdb, 0xf7, 0x7f, 0x6e, + 0xbf, 0xfd, 0xf6, 0x3f, 0x0d, 0x19, 0x32, 0x64, 0x97, 0x4b, 0x2f, 0xbd, + 0xf4, 0x7f, 0x2f, 0xbf, 0xfc, 0xf2, 0x3f, 0x5f, 0x71, 0xc5, 0x15, 0xbb, + 0xeb, 0xb5, 0x3d, 0xae, 0xbc, 0xf2, 0xca, 0x3d, 0xf5, 0xfc, 0x5e, 0x1c, + 0x79, 0x3c, 0x68, 0xd0, 0xa0, 0xbf, 0x5c, 0x78, 0xe1, 0x85, 0xbb, 0xe9, + 0xfe, 0xae, 0x3d, 0x7a, 0xf4, 0xd8, 0x59, 0xe7, 0xd8, 0x89, 0x73, 0x70, + 0x2e, 0xce, 0x19, 0x9d, 0xbb, 0x22, 0xaf, 0xb7, 0x44, 0xfb, 0xc3, 0x6f, + 0x99, 0x00, 0x03, 0x5f, 0x80, 0xfd, 0xd7, 0xdc, 0xb9, 0x73, 0xff, 0x1b, + 0xe0, 0x05, 0x68, 0x08, 0x3c, 0xa0, 0x02, 0x3a, 0x60, 0x5f, 0x75, 0xd5, + 0x55, 0xfb, 0x0e, 0x1f, 0x3e, 0x7c, 0xff, 0xeb, 0xaf, 0xbf, 0xfe, 0xc0, + 0x11, 0x23, 0x46, 0x1c, 0x4c, 0x13, 0x29, 0x07, 0x5d, 0x76, 0xd9, 0x65, + 0x07, 0xf0, 0x1a, 0xef, 0xd1, 0x67, 0x77, 0x87, 0x2c, 0x97, 0x04, 0xce, + 0x1b, 0x11, 0x50, 0xe9, 0x77, 0x02, 0x4a, 0xde, 0x52, 0x56, 0x0f, 0x48, + 0x91, 0xc5, 0xee, 0x04, 0x78, 0x80, 0xa8, 0xc7, 0x7f, 0x51, 0xdb, 0x0b, + 0xd0, 0x23, 0xc0, 0x0f, 0x1f, 0x39, 0x72, 0xe4, 0xd1, 0x02, 0xfb, 0x38, + 0x1d, 0x8f, 0x8f, 0xda, 0xb1, 0xf2, 0x82, 0xa3, 0x44, 0xd2, 0x61, 0x90, + 0x21, 0xe2, 0xf6, 0xbd, 0xe4, 0x92, 0x4b, 0xf6, 0x30, 0x12, 0x20, 0xf3, + 0x97, 0xf0, 0x82, 0x7f, 0x0b, 0x02, 0x7c, 0xc9, 0x51, 0xdb, 0x09, 0xab, + 0xd7, 0x71, 0x37, 0xa4, 0xe5, 0x86, 0x1b, 0x6e, 0xd8, 0xf7, 0xba, 0xeb, + 0xae, 0x3b, 0xf8, 0xda, 0x6b, 0xaf, 0x3d, 0x52, 0xed, 0x78, 0x3d, 0x7f, + 0xf2, 0xd5, 0x57, 0x5f, 0x7d, 0x86, 0x88, 0x38, 0x47, 0xcf, 0x9f, 0xa7, + 0xc7, 0xe7, 0xe8, 0x71, 0x15, 0x81, 0x7f, 0x9a, 0xc0, 0x3f, 0x11, 0x22, + 0x74, 0x3c, 0x04, 0x6f, 0x88, 0xa4, 0x6a, 0x57, 0x3c, 0xe9, 0x97, 0xf0, + 0x82, 0xdf, 0x3c, 0x01, 0x71, 0xe0, 0x03, 0xd8, 0x8d, 0x37, 0xde, 0xf8, + 0x67, 0xac, 0x5e, 0xed, 0x00, 0x2c, 0x3e, 0x02, 0xfe, 0x54, 0x01, 0x7e, + 0x8e, 0xee, 0xd7, 0x94, 0xfc, 0xd4, 0xd3, 0xe3, 0x86, 0x63, 0xc6, 0x8c, + 0x69, 0x24, 0xeb, 0x6f, 0xac, 0xcf, 0x77, 0xa8, 0x59, 0xb3, 0x66, 0xaf, + 0xcc, 0xcc, 0xcc, 0xfa, 0xf2, 0x94, 0x93, 0x45, 0xe0, 0x31, 0x6a, 0x07, + 0x8b, 0x84, 0xbd, 0x89, 0x19, 0xae, 0x17, 0x38, 0x71, 0xe6, 0x3f, 0x9b, + 0x00, 0x03, 0xc2, 0x07, 0x1f, 0xc9, 0x19, 0x36, 0x6c, 0xd8, 0x3e, 0x3a, + 0x1e, 0xa4, 0x76, 0x94, 0xac, 0xfb, 0x24, 0x01, 0x7f, 0x96, 0xc0, 0xae, + 0x25, 0x6f, 0x68, 0xac, 0xfb, 0xad, 0xd4, 0xda, 0x77, 0xed, 0xda, 0x75, + 0x50, 0xc7, 0x8e, 0x1d, 0xa7, 0xdf, 0x76, 0xdb, 0x6d, 0xef, 0xbd, 0xf8, + 0xe2, 0x8b, 0x2b, 0x96, 0x2e, 0x5d, 0x5a, 0x7c, 0xcb, 0x2d, 0xb7, 0x2c, + 0xbe, 0xf8, 0xe2, 0x8b, 0xab, 0x8d, 0x1d, 0x3b, 0xf6, 0x24, 0x79, 0xc2, + 0x11, 0x83, 0x07, 0x0f, 0xde, 0x1f, 0x29, 0xe2, 0xbc, 0xc8, 0x1a, 0xb1, + 0xa5, 0x22, 0x65, 0xe8, 0xb7, 0x4c, 0x40, 0x2a, 0xe0, 0xfa, 0xe0, 0xab, + 0xed, 0x83, 0xe4, 0x8c, 0x1b, 0x37, 0xee, 0x18, 0xac, 0x5e, 0xa0, 0x57, + 0x95, 0xc5, 0x37, 0x90, 0x57, 0xb4, 0x1e, 0x3f, 0x7e, 0x7c, 0x67, 0x59, + 0xf3, 0x95, 0xfd, 0xfb, 0xf7, 0x7f, 0xe6, 0xd9, 0x67, 0x9f, 0x5d, 0xb3, + 0x61, 0xc3, 0x86, 0x80, 0x5b, 0x71, 0x71, 0x71, 0x82, 0xe3, 0xa2, 0x45, + 0x8b, 0x7e, 0xe8, 0xd4, 0xa9, 0x53, 0x6b, 0x79, 0xc1, 0x99, 0x43, 0x87, + 0x0e, 0x3d, 0x0e, 0x2f, 0x20, 0x28, 0x13, 0xc4, 0x4d, 0x86, 0x7e, 0x27, + 0xc0, 0x01, 0x1f, 0x8b, 0x34, 0xcd, 0x27, 0x85, 0x8c, 0x2c, 0xff, 0x10, + 0x82, 0xaa, 0x40, 0x3f, 0x5d, 0x80, 0x57, 0x97, 0xe4, 0x34, 0xd5, 0x31, + 0x53, 0x9e, 0xd0, 0x5f, 0x56, 0x3f, 0x77, 0xe1, 0xc2, 0x85, 0x6b, 0x0b, + 0x0a, 0x0a, 0x82, 0x44, 0x22, 0x01, 0xf0, 0xc1, 0xc6, 0x8d, 0x1b, 0x13, + 0x6b, 0xd6, 0xac, 0xd9, 0xac, 0x63, 0x30, 0x6b, 0xd6, 0xac, 0xcf, 0xbb, + 0x75, 0xeb, 0xd6, 0x4e, 0x1e, 0x50, 0x95, 0x78, 0x20, 0x12, 0x0e, 0x95, + 0xf4, 0xec, 0x83, 0x0c, 0x91, 0xca, 0xfe, 0x4e, 0x80, 0xa7, 0xfb, 0xe8, + 0xb2, 0x40, 0xd9, 0x19, 0x80, 0x64, 0xe9, 0x7b, 0x93, 0xe5, 0x60, 0xf9, + 0x80, 0xaf, 0xc7, 0x35, 0x6e, 0xbe, 0xf9, 0xe6, 0x16, 0x6a, 0x9d, 0x65, + 0xf1, 0xc3, 0xe5, 0x15, 0x1f, 0x09, 0xe8, 0xd0, 0xe2, 0x37, 0x6d, 0xda, + 0x14, 0xac, 0x5f, 0xbf, 0x3e, 0xc0, 0x03, 0xd6, 0xad, 0x5b, 0x17, 0xac, + 0x5e, 0xbd, 0x3a, 0xc1, 0x71, 0xc2, 0x84, 0x09, 0x6f, 0xcb, 0xda, 0xdb, + 0x89, 0xac, 0x5a, 0xc4, 0x02, 0x11, 0x7a, 0x38, 0x19, 0x91, 0xc5, 0x01, + 0x2f, 0x10, 0xff, 0x47, 0x12, 0x50, 0x42, 0x7a, 0xb0, 0x4a, 0x52, 0x45, + 0xb2, 0x1d, 0xf2, 0x7a, 0x59, 0xfb, 0xd1, 0xb2, 0xde, 0xd3, 0xb0, 0x7c, + 0xc0, 0xd7, 0x31, 0xab, 0x4b, 0x97, 0x2e, 0xe3, 0x1e, 0x78, 0xe0, 0x81, + 0x9f, 0x00, 0xbe, 0xa8, 0xa8, 0x28, 0x05, 0xbc, 0x81, 0xbf, 0x76, 0xed, + 0xda, 0x90, 0x80, 0x1f, 0x7f, 0xfc, 0x31, 0x90, 0xfe, 0x3f, 0x29, 0xb0, + 0xdb, 0xca, 0x83, 0x6a, 0x2b, 0x03, 0x3a, 0x45, 0xfa, 0x7f, 0x84, 0x4f, + 0xc0, 0x7f, 0xb4, 0x07, 0x98, 0xf5, 0x9b, 0xf4, 0xa0, 0xfb, 0x02, 0x79, + 0x77, 0x72, 0x7c, 0xdd, 0x3f, 0x42, 0x24, 0x9c, 0x2c, 0x4b, 0xaf, 0x26, + 0xeb, 0x6f, 0xae, 0xd6, 0x45, 0x7a, 0x3e, 0x6e, 0xde, 0xbc, 0x79, 0xab, + 0x01, 0x3f, 0x37, 0x37, 0x37, 0x61, 0xe0, 0x73, 0x74, 0xc0, 0x0f, 0xef, + 0x7f, 0xfc, 0xf1, 0xc7, 0x41, 0xf3, 0xe6, 0xcd, 0xa7, 0x40, 0x80, 0xb2, + 0x9f, 0x5a, 0x10, 0xe0, 0x7a, 0xc0, 0xef, 0x31, 0x20, 0xb2, 0x7e, 0x93, + 0x1e, 0x2c, 0x12, 0x60, 0xd0, 0x7d, 0x49, 0xcf, 0xa1, 0x02, 0xe7, 0x04, + 0xd2, 0x4c, 0x91, 0xd0, 0x48, 0xa4, 0x74, 0xec, 0xd7, 0xaf, 0xdf, 0xc8, + 0xd9, 0xb3, 0x67, 0xff, 0x08, 0xf8, 0xe8, 0xbc, 0x59, 0x3d, 0xe0, 0x03, + 0x3c, 0x0d, 0x49, 0xfa, 0xf9, 0xe7, 0x9f, 0x83, 0xec, 0xec, 0xec, 0xe0, + 0x89, 0x27, 0x9e, 0x58, 0xa3, 0xac, 0xe8, 0xaa, 0x51, 0xa3, 0x46, 0xb5, + 0x11, 0xf8, 0xd5, 0x15, 0x57, 0x4e, 0x92, 0x47, 0x1c, 0x46, 0x2a, 0xfa, + 0x7b, 0x10, 0x4e, 0x63, 0xfd, 0xd4, 0x6f, 0x64, 0xfd, 0xa1, 0xf4, 0xd0, + 0xb9, 0xd2, 0xb1, 0xae, 0x62, 0x40, 0x86, 0x9e, 0xbf, 0x50, 0x12, 0xf4, + 0xf1, 0xe6, 0xcd, 0x9b, 0x83, 0x9c, 0x9c, 0x9c, 0x04, 0x00, 0xbb, 0x92, + 0x63, 0xe0, 0x63, 0xfd, 0x2b, 0x56, 0xac, 0x48, 0xac, 0x5a, 0xb5, 0x2a, + 0xd0, 0xe7, 0xdf, 0xbc, 0xe8, 0xa2, 0x8b, 0xfa, 0x4a, 0x7e, 0x5a, 0x4a, + 0xd2, 0xce, 0x15, 0xb1, 0x27, 0x90, 0x05, 0xf5, 0xee, 0xdd, 0x7b, 0x2f, + 0x05, 0xef, 0xff, 0x25, 0x0d, 0xad, 0xe8, 0xde, 0xf0, 0x6f, 0x85, 0x80, + 0x4a, 0x6e, 0xce, 0xef, 0x5b, 0xbf, 0xc0, 0x3e, 0x8c, 0x5c, 0x5f, 0xc7, + 0x6a, 0xb2, 0xfc, 0x16, 0xf2, 0x80, 0x6e, 0xb2, 0xfe, 0x79, 0x80, 0x8a, + 0xe6, 0x93, 0xdd, 0xa4, 0x03, 0x1f, 0xeb, 0xc7, 0x23, 0xde, 0x7e, 0xfb, + 0xed, 0xa2, 0x46, 0x8d, 0x1a, 0xdd, 0x29, 0xcd, 0xef, 0x2a, 0x02, 0x1a, + 0x8a, 0x80, 0x2a, 0x74, 0xc6, 0xf4, 0xf8, 0x40, 0xfa, 0x01, 0xfa, 0xce, + 0x5d, 0xdd, 0x8e, 0xd8, 0xbf, 0x6b, 0x4f, 0xb8, 0x52, 0x5c, 0xf3, 0x2b, + 0x9c, 0x51, 0x71, 0x2c, 0xb4, 0x7e, 0x7a, 0xba, 0x02, 0xeb, 0x18, 0xf2, + 0x76, 0x75, 0xb4, 0xea, 0xd1, 0xc1, 0x52, 0x1a, 0x39, 0xfa, 0xe5, 0x97, + 0x5f, 0xde, 0x10, 0x49, 0x0f, 0x1e, 0x50, 0x42, 0x76, 0x00, 0x1e, 0x72, + 0x68, 0x22, 0x20, 0xc1, 0x73, 0xf2, 0x9c, 0x0f, 0xfb, 0xf4, 0xe9, 0x33, + 0x54, 0xd2, 0x93, 0x79, 0xd9, 0x65, 0x97, 0xd5, 0xb2, 0x00, 0xac, 0xec, + 0x69, 0x3f, 0x05, 0xf1, 0xbf, 0x40, 0x78, 0x95, 0x2a, 0x55, 0xfe, 0xad, + 0x08, 0x48, 0x01, 0xeb, 0x36, 0x40, 0x8e, 0x6b, 0x64, 0x3d, 0xae, 0xf5, + 0xa3, 0xc9, 0x68, 0x33, 0x79, 0xba, 0x2c, 0xf6, 0x44, 0x79, 0x40, 0x55, + 0x81, 0xdf, 0x42, 0x24, 0x74, 0x57, 0x3c, 0x58, 0x44, 0x9a, 0x59, 0x58, + 0x58, 0x98, 0xc8, 0xcb, 0xcb, 0x0b, 0xf5, 0x1d, 0xeb, 0x37, 0xab, 0x07, + 0xf8, 0x95, 0x2b, 0x57, 0x06, 0x64, 0x3d, 0x10, 0xa4, 0x0e, 0x59, 0x4e, + 0x83, 0x06, 0x0d, 0x26, 0xa9, 0xd7, 0xdb, 0x5b, 0xa0, 0x37, 0x53, 0x56, + 0x75, 0xee, 0xc0, 0x81, 0x03, 0x4f, 0xa0, 0x1e, 0x24, 0x49, 0x0a, 0xf5, + 0xdf, 0x27, 0xe0, 0xb7, 0x2a, 0x41, 0xb1, 0x60, 0x1b, 0xb8, 0xd6, 0xd0, + 0xf8, 0x48, 0xe7, 0xff, 0xe8, 0x36, 0x2b, 0x2f, 0x47, 0x72, 0xb0, 0x3b, + 0x65, 0x02, 0x81, 0x75, 0xa4, 0x48, 0x38, 0x4d, 0x5e, 0x50, 0x5b, 0x84, + 0xb4, 0x55, 0x10, 0x1d, 0xf9, 0xca, 0x2b, 0xaf, 0x84, 0xd6, 0x6f, 0xe0, + 0x9b, 0xe4, 0x18, 0xf0, 0xd2, 0xfc, 0x54, 0x7b, 0xf7, 0xdd, 0x77, 0x03, + 0x7d, 0x66, 0x81, 0x74, 0x7e, 0x88, 0xce, 0xd7, 0x41, 0x04, 0xd4, 0xd5, + 0x77, 0x9c, 0x81, 0xfc, 0xf4, 0xea, 0xd5, 0xeb, 0x20, 0xf4, 0x5f, 0xd7, + 0xb4, 0x5b, 0xed, 0xda, 0xb5, 0x53, 0x04, 0x58, 0x0c, 0xa8, 0x08, 0x4f, + 0xf8, 0xb5, 0x08, 0x28, 0x01, 0xba, 0x01, 0x6e, 0x20, 0x03, 0x6c, 0xa4, + 0xaf, 0x3b, 0x45, 0xc1, 0x75, 0x27, 0x80, 0xf6, 0x5b, 0x54, 0x10, 0xdb, + 0x15, 0xed, 0xc7, 0x32, 0x25, 0x0f, 0x07, 0xeb, 0x48, 0xb9, 0xe0, 0x2c, + 0x49, 0x50, 0x23, 0xc9, 0x46, 0xc7, 0x0b, 0x2e, 0xb8, 0xe0, 0x11, 0x00, + 0x27, 0xf8, 0x2a, 0xed, 0x2c, 0x61, 0xf5, 0x00, 0x0e, 0x01, 0xdc, 0xff, + 0xe7, 0x3f, 0xff, 0x99, 0x78, 0xfd, 0xf5, 0xd7, 0x03, 0x59, 0xfa, 0xfb, + 0x59, 0x59, 0x59, 0xa3, 0x95, 0xed, 0x5c, 0x80, 0xf5, 0x53, 0x07, 0xd2, + 0x73, 0xa7, 0xa8, 0x1d, 0x29, 0xcb, 0x3f, 0x60, 0xc0, 0x80, 0x01, 0x7b, + 0xe2, 0x01, 0xba, 0xb6, 0x5d, 0xdc, 0xc1, 0x19, 0x7e, 0x43, 0x45, 0x10, + 0xf1, 0x4b, 0x13, 0xb0, 0x15, 0xf0, 0x2e, 0xe8, 0x00, 0x6d, 0x23, 0x55, + 0x68, 0xfa, 0xd4, 0xa9, 0x53, 0x77, 0x8d, 0xea, 0xf7, 0xbb, 0xf9, 0x0d, + 0x10, 0xa2, 0x5c, 0xfc, 0x2f, 0x58, 0xa5, 0x80, 0xde, 0x5f, 0x47, 0x72, + 0xf4, 0xca, 0x02, 0xae, 0xaa, 0x74, 0xbb, 0xb9, 0xc0, 0xea, 0x39, 0x6d, + 0xda, 0xb4, 0xa5, 0x58, 0x7f, 0x7e, 0x7e, 0x7e, 0x98, 0xf3, 0x03, 0xb8, + 0x35, 0x02, 0xee, 0x17, 0x5f, 0x7c, 0x11, 0xbc, 0xf4, 0xd2, 0x4b, 0x09, + 0xc9, 0x4e, 0x20, 0xa9, 0xfa, 0xa2, 0x4d, 0x9b, 0x36, 0x13, 0x75, 0xee, + 0xc1, 0x02, 0xbc, 0x83, 0x3c, 0xa0, 0x81, 0x08, 0x3d, 0x57, 0xed, 0x24, + 0x08, 0x20, 0x00, 0x23, 0x73, 0x36, 0x38, 0x13, 0x95, 0x3b, 0xfe, 0x14, + 0x5d, 0xfb, 0x56, 0x44, 0x94, 0x87, 0x84, 0x5f, 0x8c, 0x80, 0x38, 0xe0, + 0x7d, 0xd0, 0x6d, 0x78, 0x30, 0x2a, 0xa0, 0x11, 0x50, 0xf7, 0xa2, 0x9c, + 0x40, 0xa3, 0xa0, 0x46, 0x23, 0xcb, 0xb1, 0xe7, 0x68, 0x74, 0x8a, 0xb0, + 0xcc, 0x9e, 0x3d, 0x7b, 0x1e, 0x2a, 0x8f, 0x38, 0x56, 0x40, 0x9d, 0xa6, + 0x8c, 0xa7, 0xa6, 0x8e, 0x2d, 0x9b, 0x36, 0x6d, 0x7a, 0xe5, 0xa2, 0x45, + 0x8b, 0xb2, 0x21, 0x00, 0xe9, 0xc1, 0xfa, 0x01, 0x7e, 0xf9, 0xf2, 0xe5, + 0xc1, 0x27, 0x9f, 0x7c, 0x82, 0xd6, 0x07, 0xf7, 0xdf, 0x7f, 0x7f, 0xb0, + 0x60, 0xc1, 0x82, 0x40, 0xbd, 0xe5, 0xaf, 0xe9, 0x74, 0x29, 0xf0, 0x5e, + 0x25, 0x4f, 0xea, 0x25, 0xcb, 0x6f, 0x83, 0xfc, 0x40, 0x00, 0x1e, 0x80, + 0x04, 0xd1, 0x07, 0x60, 0x94, 0x8c, 0x5a, 0x10, 0xd7, 0xc7, 0xb5, 0x92, + 0x8e, 0xc6, 0x11, 0x51, 0x5e, 0x6f, 0xf8, 0x25, 0x08, 0xa8, 0xe4, 0x0f, + 0x0d, 0x2a, 0x23, 0xb1, 0x6a, 0xe5, 0xce, 0x56, 0xab, 0xa7, 0xf7, 0x1a, + 0x01, 0xbe, 0x2f, 0x99, 0x0c, 0xa5, 0x63, 0x3d, 0x7f, 0x88, 0x9e, 0x3f, + 0x4c, 0xc1, 0xf4, 0x70, 0x7a, 0xb5, 0x34, 0xee, 0x53, 0xcf, 0x27, 0xd5, + 0x64, 0xb4, 0x8a, 0x46, 0x76, 0x22, 0xd0, 0x8f, 0x15, 0x70, 0x27, 0xab, + 0x9d, 0x23, 0xd0, 0xea, 0xe9, 0x71, 0x5b, 0xa5, 0x91, 0x93, 0x3e, 0xff, + 0xfc, 0xf3, 0xb0, 0xd6, 0x43, 0x80, 0xfd, 0xf0, 0xc3, 0x0f, 0x03, 0xc5, + 0x83, 0x40, 0x9d, 0xb1, 0xe0, 0xb6, 0xdb, 0x6e, 0x0b, 0x66, 0xcc, 0x98, + 0x11, 0xbc, 0xf8, 0xe2, 0x8b, 0x81, 0xac, 0xfa, 0x33, 0x81, 0x3f, 0x5d, + 0x5e, 0x34, 0x56, 0x5e, 0x33, 0x88, 0xd4, 0x53, 0xad, 0xb5, 0xc8, 0x6e, + 0x20, 0xc0, 0xcf, 0xd7, 0xb1, 0x8a, 0x8c, 0xe3, 0x64, 0xaa, 0xa1, 0xc4, + 0x18, 0x8a, 0x7b, 0xf4, 0x35, 0xdc, 0xe1, 0x4a, 0x3c, 0xb2, 0x34, 0x22, + 0xb6, 0x97, 0x84, 0x8a, 0x26, 0x20, 0x76, 0x40, 0x3c, 0xaa, 0xa1, 0x84, + 0xc0, 0xff, 0xf5, 0xaf, 0x7f, 0xc5, 0xd2, 0xf7, 0xb9, 0xe9, 0xa6, 0x9b, + 0x0e, 0x00, 0x70, 0x75, 0x9a, 0x8e, 0xa0, 0x78, 0xa6, 0xfb, 0xc7, 0x4f, + 0x98, 0x30, 0xa1, 0xb2, 0x3a, 0x4f, 0x27, 0x2b, 0x8f, 0x3f, 0x55, 0x44, + 0x50, 0xcf, 0x39, 0x2d, 0xba, 0x7f, 0x4a, 0x34, 0x8a, 0x45, 0xae, 0x5f, + 0x39, 0x02, 0xe7, 0x34, 0x59, 0xea, 0x59, 0x22, 0xa0, 0x86, 0x08, 0x68, + 0xaa, 0xef, 0xa1, 0xbe, 0xff, 0xd8, 0x7d, 0xf7, 0xdd, 0x17, 0xcc, 0x99, + 0x33, 0x27, 0x31, 0x69, 0xd2, 0xa4, 0x40, 0x19, 0x51, 0x30, 0x7a, 0xf4, + 0xe8, 0xe0, 0xce, 0x3b, 0xef, 0x44, 0x76, 0x82, 0xa7, 0x9e, 0x7a, 0x2a, + 0x57, 0x29, 0xe5, 0x12, 0xc9, 0xce, 0x74, 0x59, 0xfe, 0x78, 0x7d, 0xee, + 0x0a, 0xc9, 0xce, 0x85, 0x3a, 0x57, 0x37, 0xb5, 0xf6, 0xc8, 0x98, 0x82, + 0x79, 0x7d, 0x01, 0x5d, 0x43, 0xd6, 0x7e, 0x1e, 0xa9, 0xad, 0xbe, 0xf3, + 0x14, 0x3d, 0x3e, 0x81, 0x54, 0x97, 0xb2, 0x04, 0xc5, 0x3e, 0x82, 0x3f, + 0xc6, 0xe3, 0x12, 0x11, 0x19, 0x58, 0x9c, 0x37, 0xfc, 0x3a, 0x04, 0xb8, + 0x56, 0x6f, 0xe9, 0x22, 0xd6, 0x71, 0xcb, 0x2d, 0xb7, 0x84, 0x43, 0x83, + 0x06, 0xbc, 0x8e, 0x07, 0x62, 0xe5, 0x11, 0xe8, 0x27, 0x02, 0xb2, 0x8e, + 0x67, 0x09, 0xf8, 0xaa, 0x22, 0xa5, 0x86, 0xee, 0xd7, 0xd1, 0xfd, 0xba, + 0x13, 0x27, 0x4e, 0xac, 0x47, 0xd3, 0xfb, 0xeb, 0xf2, 0x9c, 0xde, 0x57, + 0x93, 0xea, 0x26, 0x75, 0x1e, 0x3a, 0x5c, 0x94, 0x0a, 0x64, 0xb5, 0xb5, + 0xf5, 0x1d, 0x0d, 0xd5, 0xda, 0x8a, 0x88, 0x2e, 0x7a, 0xee, 0x45, 0x91, + 0x48, 0x41, 0x2d, 0xa1, 0xf7, 0x06, 0x0f, 0x3e, 0xf8, 0x60, 0xf0, 0xea, + 0xab, 0xaf, 0x06, 0x2f, 0xbc, 0xf0, 0x42, 0xbe, 0x00, 0xfc, 0xac, 0x4e, + 0x9d, 0x3a, 0x4f, 0x33, 0x00, 0x23, 0xf0, 0x6f, 0xd5, 0x67, 0xc6, 0x08, + 0xb8, 0x2b, 0x44, 0xe6, 0xc5, 0x6a, 0xfd, 0x04, 0x6c, 0x77, 0x81, 0xdd, + 0x59, 0x9f, 0x6b, 0x27, 0xe2, 0x5a, 0xa9, 0x35, 0x51, 0x7a, 0x5b, 0x9f, + 0xaa, 0xa8, 0xbe, 0xef, 0x3c, 0x86, 0x2c, 0x21, 0x83, 0xf1, 0x63, 0x7d, + 0x6f, 0x38, 0x64, 0x09, 0x11, 0x78, 0x04, 0x71, 0x09, 0x03, 0x43, 0x5a, + 0xad, 0xb3, 0x66, 0x15, 0xd3, 0x6d, 0x91, 0x50, 0x21, 0x04, 0xc4, 0xcd, + 0x46, 0xe0, 0x62, 0x08, 0xaa, 0xe8, 0x3b, 0xda, 0x8d, 0xc5, 0x03, 0xbc, + 0x3a, 0x3c, 0xd4, 0xe9, 0x4f, 0x16, 0x50, 0x55, 0xf4, 0xb8, 0x9a, 0x40, + 0xae, 0x23, 0x79, 0x68, 0xac, 0x63, 0x73, 0x1d, 0xdb, 0xe8, 0x73, 0xed, + 0x6e, 0xbd, 0xf5, 0xd6, 0x0e, 0x22, 0xae, 0x23, 0x8d, 0xfb, 0x7a, 0xad, + 0xbd, 0x88, 0x68, 0xcb, 0x80, 0x8a, 0x3e, 0xd7, 0x52, 0xe0, 0xb4, 0x10, + 0x10, 0xcd, 0x65, 0x99, 0x2d, 0x65, 0x95, 0x6d, 0x05, 0x44, 0x96, 0xbc, + 0xa1, 0xa7, 0x80, 0x79, 0xea, 0xa3, 0x8f, 0x3e, 0x0a, 0x96, 0x2c, 0x59, + 0x92, 0x58, 0xbc, 0x78, 0x71, 0x01, 0x15, 0x50, 0x49, 0xcc, 0xfb, 0x02, + 0x7e, 0x7e, 0x46, 0x46, 0xc6, 0x2c, 0xa5, 0x95, 0xf7, 0xe8, 0x31, 0xf9, + 0xfe, 0x04, 0x59, 0xfb, 0xf5, 0x22, 0xe5, 0x6a, 0x9d, 0xe7, 0x0a, 0x01, + 0x3b, 0x54, 0x9e, 0x32, 0x48, 0xe7, 0x1d, 0xa0, 0xeb, 0xeb, 0xa3, 0xeb, + 0xeb, 0xa1, 0x96, 0x25, 0x23, 0xe9, 0xa0, 0xc7, 0x6d, 0xf9, 0x3e, 0x1d, + 0x1b, 0x42, 0x06, 0x25, 0x0a, 0x79, 0xc6, 0xe9, 0x94, 0x29, 0x90, 0x27, + 0x4a, 0x15, 0x71, 0x03, 0xf8, 0x51, 0xb2, 0xb1, 0x4d, 0x39, 0xda, 0x61, + 0x02, 0xe2, 0xc0, 0x47, 0xeb, 0x65, 0xc5, 0x64, 0x33, 0x7b, 0xa0, 0xf1, + 0x02, 0x92, 0x01, 0xf1, 0xa3, 0x05, 0xf8, 0x49, 0x00, 0xaf, 0x56, 0x5d, + 0x40, 0x37, 0xbc, 0xe3, 0x8e, 0x3b, 0x5a, 0x0a, 0xe0, 0xf6, 0x3a, 0x66, + 0xe9, 0xb5, 0x7e, 0x02, 0x66, 0x78, 0xe7, 0xce, 0x9d, 0x27, 0xaa, 0x27, + 0x3b, 0x4d, 0xfa, 0x3c, 0x43, 0xed, 0x7e, 0xc9, 0xca, 0x54, 0xc9, 0xc6, + 0x04, 0x5e, 0xd3, 0x7b, 0x06, 0xe8, 0xbc, 0xbd, 0x05, 0x4c, 0x0f, 0x9d, + 0xb7, 0xbb, 0x02, 0x69, 0x0f, 0x01, 0xd2, 0x4b, 0x60, 0xf6, 0x15, 0x01, + 0x83, 0xa5, 0xeb, 0x37, 0xea, 0xfb, 0x9f, 0x11, 0x08, 0x2f, 0xd6, 0xac, + 0x59, 0xf3, 0x09, 0x05, 0xe5, 0xd9, 0xb2, 0xc6, 0x19, 0x02, 0xfe, 0x3e, + 0xc9, 0xcd, 0x74, 0xc9, 0xcc, 0x5d, 0xb2, 0xdc, 0x3b, 0xf4, 0x99, 0x5b, + 0x65, 0xf1, 0x13, 0x05, 0xe4, 0x04, 0xc5, 0x8e, 0xc9, 0x99, 0x99, 0x99, + 0xf7, 0xe9, 0x3b, 0x1e, 0xd2, 0x67, 0xe7, 0x09, 0xc8, 0x27, 0x45, 0xd2, + 0x63, 0xba, 0x86, 0xfb, 0xf5, 0xfc, 0x2d, 0xf2, 0xac, 0x2b, 0xf5, 0x3b, + 0x2e, 0x10, 0x21, 0x9d, 0x75, 0x6c, 0xab, 0xd6, 0x54, 0x9f, 0xab, 0x03, + 0x11, 0x02, 0xfc, 0x54, 0xe2, 0x04, 0xc1, 0x1a, 0x6f, 0xb0, 0x94, 0x35, + 0xcd, 0x2c, 0x8a, 0x4a, 0x15, 0x4e, 0x40, 0x3a, 0xf0, 0x6d, 0x36, 0x82, + 0x2e, 0x7a, 0x7f, 0xac, 0x5e, 0x16, 0x7c, 0x9c, 0x3c, 0x80, 0xd1, 0xa9, + 0x6a, 0x02, 0xbc, 0x81, 0xac, 0xb9, 0xb5, 0x08, 0xe8, 0xa4, 0xe7, 0xfb, + 0xe8, 0x87, 0xdf, 0xa4, 0x1f, 0xf0, 0x8c, 0xe4, 0x62, 0xd9, 0x1b, 0x6f, + 0xbc, 0xb1, 0x7e, 0xd9, 0xb2, 0x65, 0x85, 0xe4, 0xeb, 0xe4, 0xee, 0x34, + 0x82, 0xa9, 0x72, 0xf6, 0x82, 0x45, 0x8b, 0x17, 0xad, 0x9b, 0x31, 0xe3, + 0xfe, 0xcf, 0x65, 0x6d, 0xcf, 0x8a, 0x94, 0xdb, 0xe4, 0x0d, 0x97, 0x89, + 0x04, 0x2c, 0x77, 0x98, 0x2c, 0xf3, 0x72, 0x91, 0x30, 0x5c, 0x00, 0x5c, + 0x2b, 0xb0, 0x27, 0xe8, 0xf5, 0x49, 0xdd, 0xbb, 0x77, 0x9f, 0x2a, 0xd0, + 0xef, 0x16, 0x40, 0xf7, 0xe8, 0xb5, 0xbb, 0x05, 0xfc, 0xdd, 0x92, 0xa8, + 0x7b, 0xf4, 0x5d, 0x33, 0x05, 0xec, 0x7c, 0x1d, 0xdf, 0x55, 0xbc, 0x58, + 0xae, 0x20, 0x9d, 0xad, 0xc0, 0x5d, 0xc4, 0x77, 0x52, 0x2f, 0x52, 0xfa, + 0x1a, 0x66, 0x50, 0x3c, 0xfe, 0xec, 0xb3, 0xcf, 0x8a, 0x14, 0xb4, 0xd7, + 0x4e, 0x9e, 0x3c, 0xf9, 0x63, 0x19, 0xc6, 0x5c, 0x9d, 0x7b, 0xb8, 0x7e, + 0x5b, 0xb7, 0x51, 0xa3, 0x46, 0xb5, 0x47, 0xa2, 0x88, 0x15, 0xd4, 0x8c, + 0x44, 0xda, 0x89, 0x24, 0x06, 0x6e, 0xbf, 0x61, 0x7b, 0xa7, 0xb2, 0xec, + 0x08, 0x01, 0x69, 0xc1, 0x97, 0x85, 0xee, 0x89, 0xe4, 0x10, 0x60, 0xd1, + 0x79, 0x34, 0x5e, 0x80, 0xd7, 0x92, 0xa5, 0x37, 0xd7, 0x11, 0x49, 0xe9, + 0xa3, 0xce, 0xcf, 0x64, 0x49, 0xce, 0x3f, 0x74, 0xcb, 0xa7, 0x6c, 0xb0, + 0x3d, 0x37, 0x86, 0x10, 0x01, 0xe7, 0xad, 0xb7, 0xde, 0xca, 0xd7, 0xb9, + 0x3f, 0xd1, 0x39, 0x1e, 0xd6, 0xf7, 0xdd, 0x24, 0x4f, 0x18, 0x27, 0x50, + 0xc6, 0x4b, 0x4e, 0x26, 0xa8, 0xdd, 0x2e, 0x42, 0x26, 0x0b, 0x9c, 0xbb, + 0x04, 0xce, 0xdd, 0xb2, 0xf4, 0x7b, 0x45, 0xc2, 0xec, 0x4e, 0x9d, 0x3a, + 0x3d, 0x27, 0x8b, 0xfd, 0x58, 0xd7, 0xba, 0xfa, 0xcb, 0x2f, 0xbf, 0x2c, + 0x2e, 0x2c, 0x28, 0xd8, 0xea, 0xfc, 0x85, 0x85, 0x45, 0x41, 0xae, 0x7a, + 0xcf, 0x61, 0x13, 0x11, 0xf9, 0xf9, 0x05, 0x01, 0x43, 0x97, 0x74, 0xe8, + 0xbe, 0xfb, 0xee, 0xbb, 0xe0, 0xe9, 0xa7, 0x17, 0xac, 0x19, 0x38, 0x70, + 0xd0, 0xf3, 0x22, 0x78, 0x84, 0xbe, 0xaf, 0x8b, 0x5a, 0x2b, 0x7d, 0x47, + 0x5d, 0xb5, 0xb3, 0x25, 0x49, 0xf4, 0x47, 0x52, 0x83, 0xf8, 0xa4, 0xab, + 0xdb, 0x33, 0x95, 0xa5, 0xdc, 0x04, 0xc4, 0x0d, 0x0b, 0xba, 0xe0, 0x4b, + 0x2a, 0x8e, 0x44, 0x72, 0x04, 0xf8, 0x39, 0xba, 0x5f, 0x1f, 0x0d, 0xd7, + 0xfd, 0x6e, 0x72, 0xe9, 0xb1, 0xb2, 0xdc, 0xf7, 0x04, 0x42, 0x91, 0xfd, + 0x70, 0x7a, 0xad, 0x0c, 0x8a, 0x17, 0x16, 0x16, 0x86, 0xd5, 0x4b, 0x1a, + 0x63, 0xb5, 0xb4, 0x42, 0xdd, 0xa7, 0x89, 0xa5, 0x20, 0x2f, 0x7f, 0x53, + 0xa2, 0x20, 0x02, 0x0e, 0xd2, 0xa4, 0xf7, 0xc5, 0xca, 0x76, 0x96, 0x4b, + 0xaa, 0x5e, 0x91, 0x94, 0xcc, 0x11, 0xf0, 0xf7, 0xc9, 0x23, 0xa6, 0xeb, + 0x3a, 0xee, 0x97, 0xd5, 0x3f, 0x2c, 0x10, 0x00, 0xfd, 0x13, 0x65, 0x45, + 0x6b, 0xd4, 0x01, 0x2b, 0xe6, 0xbc, 0x76, 0xe3, 0xdc, 0x3a, 0x47, 0x82, + 0x42, 0xdd, 0x46, 0xda, 0xc6, 0xe8, 0x98, 0x93, 0xab, 0xfb, 0xb9, 0x22, + 0x3a, 0x27, 0xc8, 0xd6, 0x73, 0x1b, 0x36, 0x64, 0x07, 0x1b, 0xb2, 0x37, + 0x26, 0xf0, 0x8c, 0xa2, 0xa2, 0x62, 0xf5, 0x2b, 0x56, 0x11, 0xdc, 0xd7, + 0xb4, 0x6e, 0xdd, 0x7a, 0x96, 0xbc, 0xaa, 0xb7, 0x08, 0x6e, 0xa3, 0xef, + 0xa8, 0x2f, 0x02, 0xce, 0xc6, 0x13, 0x48, 0x93, 0x89, 0x09, 0x64, 0x48, + 0x64, 0x47, 0xdb, 0x2a, 0x61, 0x97, 0x8b, 0x00, 0xb7, 0x34, 0x4c, 0x8e, + 0x4f, 0xc0, 0x45, 0xf3, 0x91, 0x1d, 0x03, 0x5f, 0xba, 0x7f, 0x92, 0x2c, + 0xfd, 0x3c, 0xb4, 0x7e, 0xca, 0x94, 0x29, 0xe8, 0x7c, 0x6f, 0xb9, 0xe5, + 0x4c, 0xa5, 0x83, 0xeb, 0xb0, 0x64, 0x1a, 0x3f, 0x88, 0x06, 0x01, 0x49, + 0x12, 0xd2, 0x34, 0xbd, 0x56, 0x54, 0xb4, 0x59, 0x16, 0x5a, 0x1c, 0x36, + 0x11, 0x11, 0xe4, 0xe5, 0xe5, 0x87, 0x9f, 0x81, 0xb4, 0xef, 0xbf, 0xff, + 0x81, 0xd9, 0x0c, 0xf9, 0x0a, 0xba, 0xab, 0xe4, 0x55, 0xcb, 0x45, 0xf6, + 0xf2, 0x47, 0x1f, 0x7d, 0x74, 0xad, 0xa4, 0x65, 0x2b, 0xd0, 0x01, 0x32, + 0x2f, 0x6c, 0x9b, 0xc2, 0x63, 0x6e, 0x5e, 0xfe, 0x16, 0xab, 0x57, 0xcb, + 0x51, 0xe3, 0xdc, 0x9b, 0x36, 0x15, 0x84, 0x86, 0xc0, 0xf9, 0xb3, 0xb3, + 0x37, 0x86, 0x52, 0xf8, 0xe9, 0xa7, 0x9f, 0x06, 0xf2, 0x58, 0xa4, 0x29, + 0x78, 0xf3, 0xcd, 0x37, 0x03, 0x91, 0xbc, 0x44, 0xe4, 0x0f, 0x92, 0xb7, + 0xb5, 0x16, 0x19, 0x75, 0xf4, 0xf8, 0x4c, 0x49, 0xdb, 0xb1, 0x71, 0x33, + 0x29, 0xd2, 0x79, 0x41, 0x79, 0x08, 0xd8, 0x6a, 0x3a, 0x48, 0x94, 0xed, + 0xec, 0x81, 0xe6, 0x23, 0x3b, 0x58, 0x3e, 0xe0, 0x2b, 0xd8, 0x36, 0x42, + 0x72, 0x44, 0x46, 0x7f, 0x59, 0xc7, 0xc2, 0x6f, 0xbe, 0xf9, 0xa6, 0xd8, + 0xc6, 0x65, 0x01, 0x23, 0x04, 0x3d, 0x05, 0x7c, 0x71, 0x5a, 0x02, 0x20, + 0xc9, 0xc0, 0xa7, 0x15, 0xd0, 0x0a, 0x00, 0x73, 0x93, 0xe4, 0x21, 0x2f, + 0x94, 0x09, 0xce, 0xc9, 0x11, 0xcf, 0x70, 0x41, 0x2f, 0x28, 0x28, 0x0c, + 0xcb, 0xd1, 0x80, 0xcb, 0xfb, 0x43, 0x02, 0x04, 0x70, 0x4e, 0x5e, 0x12, + 0x7c, 0x23, 0x62, 0x6b, 0xd0, 0xb3, 0x45, 0xec, 0xf7, 0x8a, 0x3f, 0x9f, + 0xe1, 0x69, 0xe1, 0x70, 0x25, 0x9d, 0xbc, 0xaf, 0xbf, 0xfe, 0x3a, 0x6c, + 0x94, 0x35, 0x7e, 0xf8, 0xe1, 0x87, 0x40, 0xbf, 0x77, 0x29, 0xf3, 0x8b, + 0x14, 0x98, 0x9b, 0x09, 0xf4, 0x1a, 0xf4, 0x51, 0x90, 0x22, 0x1d, 0xf7, + 0x33, 0x2f, 0x28, 0x6d, 0x42, 0x57, 0x99, 0x09, 0xf0, 0x47, 0xa5, 0xa2, + 0x3c, 0x9f, 0x54, 0x73, 0x5f, 0x02, 0x2e, 0x9a, 0xaf, 0xe7, 0xce, 0x51, + 0x6b, 0x28, 0x79, 0xc8, 0x94, 0x37, 0x5c, 0x28, 0x37, 0x5d, 0x4c, 0x81, + 0x2c, 0x69, 0xf5, 0x45, 0xe1, 0xb1, 0xa4, 0xc5, 0x17, 0xa7, 0xb9, 0x9f, + 0x6c, 0x49, 0xe0, 0x8b, 0xb6, 0x10, 0x50, 0x50, 0x1c, 0x02, 0x4b, 0x03, + 0x34, 0x40, 0xa7, 0xf2, 0x09, 0xd0, 0x58, 0xeb, 0x7a, 0xc9, 0xc6, 0xba, + 0xf5, 0x1b, 0x42, 0x59, 0xc9, 0xcb, 0xcb, 0x4f, 0x01, 0x9c, 0x9b, 0x97, + 0x04, 0x3b, 0x3f, 0xf2, 0x00, 0x8e, 0x61, 0xd9, 0x3a, 0x92, 0x3d, 0x3e, + 0x8f, 0xa5, 0x7f, 0xf6, 0xd9, 0xe7, 0x02, 0xfc, 0x13, 0x82, 0x7f, 0xf0, + 0xd5, 0x57, 0x5f, 0x49, 0xff, 0xbf, 0x0f, 0xc1, 0xa6, 0x41, 0x0a, 0xed, + 0xdb, 0x6f, 0xbf, 0xe5, 0x71, 0x82, 0x60, 0x2d, 0xaf, 0xff, 0x58, 0x01, + 0x9a, 0x8c, 0xac, 0xae, 0x3c, 0x20, 0x35, 0x90, 0xa3, 0xc0, 0xbd, 0xe7, + 0xb6, 0x46, 0xd2, 0xca, 0x44, 0x80, 0x2f, 0x3d, 0x51, 0x0f, 0x77, 0x37, + 0xf2, 0x7c, 0x52, 0x4d, 0x1d, 0x8f, 0x93, 0x04, 0x54, 0x91, 0xdc, 0xd4, + 0xbd, 0xeb, 0xae, 0xbb, 0xda, 0xe9, 0xd8, 0x57, 0x17, 0xf5, 0x32, 0xb5, + 0xf8, 0x48, 0xe7, 0x83, 0xcd, 0x91, 0xf4, 0x84, 0x60, 0x46, 0x12, 0x54, + 0x14, 0x81, 0x5e, 0x14, 0x4b, 0x40, 0x32, 0x16, 0x24, 0x2d, 0xd3, 0x88, + 0xa0, 0x15, 0x44, 0x24, 0x24, 0x09, 0xd8, 0xd2, 0x0a, 0x52, 0xa4, 0x58, + 0x4b, 0x5a, 0xfe, 0x96, 0xc6, 0x73, 0x7c, 0x96, 0xf3, 0x6f, 0xd2, 0xe7, + 0x57, 0x29, 0xdb, 0x5a, 0xf6, 0xc5, 0x17, 0x61, 0xbd, 0x08, 0x79, 0x91, + 0xa7, 0xa6, 0x00, 0x77, 0x41, 0xf7, 0x1b, 0x81, 0x59, 0xc7, 0x04, 0xb5, + 0x26, 0x59, 0xfc, 0xf3, 0xfa, 0xad, 0x8d, 0x25, 0x47, 0x55, 0x19, 0x4b, + 0x90, 0xf4, 0x1c, 0x82, 0x0c, 0x51, 0xca, 0x2e, 0x6d, 0x2c, 0xb9, 0xcc, + 0x04, 0x44, 0xc5, 0xb5, 0x94, 0xf4, 0xd0, 0xc3, 0x8d, 0x32, 0x9e, 0xa3, + 0x24, 0x3b, 0xa7, 0x29, 0xcd, 0xac, 0x49, 0x87, 0x4a, 0xd6, 0xdf, 0x4b, + 0x5f, 0x3c, 0xef, 0xa7, 0x9f, 0x7e, 0x4a, 0x4d, 0x80, 0x0a, 0xad, 0x19, + 0xa9, 0x28, 0x4c, 0xba, 0xb9, 0x6b, 0xd5, 0x90, 0x51, 0x58, 0x6c, 0x64, + 0x24, 0x8f, 0x25, 0x5a, 0x4a, 0x86, 0x0a, 0x53, 0x0d, 0xf0, 0x93, 0x04, + 0x14, 0xc4, 0x10, 0xe0, 0x13, 0x13, 0x59, 0xbb, 0xbe, 0x73, 0xf3, 0xe6, + 0x44, 0x28, 0x5d, 0x80, 0x8b, 0xae, 0x2f, 0x55, 0x43, 0x56, 0xb0, 0x7e, + 0xae, 0x37, 0x1d, 0xe8, 0x00, 0x6e, 0x0d, 0xd0, 0x69, 0xf6, 0x39, 0xc5, + 0x86, 0x44, 0xdb, 0xb6, 0x6d, 0xaf, 0x17, 0x11, 0x55, 0xe5, 0x05, 0x27, + 0x4b, 0xff, 0x0f, 0xb5, 0xc1, 0x9c, 0x8a, 0x22, 0xa0, 0xc4, 0x98, 0x2c, + 0x59, 0x0f, 0xb5, 0x1d, 0xe9, 0xfc, 0x3e, 0x48, 0x0f, 0x75, 0x1c, 0x91, + 0x51, 0x55, 0x04, 0xd0, 0xa3, 0xed, 0x2a, 0xef, 0x98, 0xac, 0x8b, 0xda, + 0x64, 0x9a, 0x0f, 0x88, 0x9b, 0x0a, 0x8a, 0xd4, 0x04, 0x5c, 0x61, 0xb2, + 0x6d, 0x21, 0x21, 0x49, 0x84, 0x79, 0x43, 0x61, 0x98, 0xfd, 0x6c, 0x4e, + 0x1e, 0x8b, 0x23, 0x72, 0x22, 0xed, 0x2f, 0x2c, 0x2a, 0x72, 0x08, 0x28, + 0x8c, 0xf7, 0x02, 0x1e, 0x5b, 0x13, 0x11, 0xa4, 0x93, 0x5c, 0x03, 0x5e, + 0xc8, 0x08, 0xd8, 0xd7, 0x5f, 0x7f, 0x13, 0x4a, 0x0c, 0x9a, 0x0e, 0xd8, + 0xc8, 0x08, 0xc0, 0x03, 0x64, 0x69, 0x96, 0xef, 0x82, 0x8f, 0x04, 0xe1, + 0x29, 0x48, 0xd4, 0x9a, 0x35, 0x6b, 0x12, 0x7c, 0x5e, 0xb2, 0x73, 0x37, + 0x04, 0xc8, 0xf2, 0x4f, 0xa9, 0x70, 0x02, 0x7c, 0xed, 0xb7, 0xc9, 0x50, + 0xd4, 0x76, 0x28, 0x2f, 0xd0, 0xc3, 0x25, 0xdd, 0x24, 0xe8, 0xca, 0x0d, + 0x2f, 0xd7, 0xfb, 0xbe, 0xb3, 0x39, 0x97, 0xfc, 0xf8, 0x94, 0x55, 0x16, + 0xb8, 0xc0, 0x15, 0x96, 0xf4, 0x84, 0xa2, 0x92, 0x80, 0x97, 0x6c, 0xce, + 0x7b, 0x0a, 0x8b, 0x4a, 0x9c, 0xa3, 0x84, 0x27, 0x70, 0x5f, 0xe7, 0xdc, + 0x14, 0x3d, 0x97, 0x94, 0xb1, 0x44, 0x98, 0x4e, 0x2a, 0xf5, 0x0d, 0x03, + 0x2a, 0x47, 0x40, 0x8f, 0xc6, 0x84, 0x53, 0xe0, 0x1b, 0x01, 0x71, 0xc0, + 0x9b, 0xc5, 0xd3, 0x0c, 0x78, 0xc6, 0x16, 0x90, 0x57, 0x49, 0x57, 0x61, + 0xcf, 0x9e, 0x3d, 0xff, 0xd6, 0xaa, 0x55, 0xab, 0xae, 0x02, 0xbc, 0xba, + 0xda, 0x89, 0x48, 0x90, 0x8d, 0xa6, 0x55, 0x04, 0x01, 0xa9, 0xcc, 0xc7, + 0xb5, 0xfe, 0x68, 0xde, 0xfd, 0xe1, 0x54, 0x30, 0x29, 0x2f, 0xd0, 0xc3, + 0x45, 0x7a, 0x94, 0x11, 0x3c, 0x47, 0x40, 0xdb, 0xbc, 0x39, 0x99, 0xc1, + 0x94, 0x90, 0x87, 0x08, 0x98, 0x82, 0x02, 0xd7, 0x0b, 0x4a, 0x06, 0xd9, + 0x54, 0xb0, 0x2d, 0x2a, 0x2e, 0xe1, 0x21, 0x5b, 0x02, 0xf0, 0x96, 0x40, + 0xbc, 0x45, 0x8a, 0x0a, 0x53, 0xe7, 0xb4, 0xac, 0x08, 0xe9, 0xcb, 0x51, + 0x5e, 0xff, 0xe5, 0x97, 0x5f, 0x85, 0xc0, 0x03, 0x1a, 0xa0, 0xdb, 0x38, + 0x01, 0xe0, 0xbb, 0x04, 0xf8, 0xe0, 0xbb, 0xd6, 0x6e, 0x16, 0x6f, 0xe0, + 0xe3, 0x3d, 0x80, 0xff, 0xda, 0x6b, 0xaf, 0xe5, 0x35, 0x6c, 0xd8, 0x70, + 0x6e, 0x46, 0x46, 0xc6, 0x45, 0xf2, 0xfa, 0xd6, 0x02, 0xff, 0x6c, 0x4a, + 0xe5, 0x0c, 0x67, 0x12, 0x84, 0xf5, 0x5a, 0x18, 0x84, 0x6b, 0xd7, 0xae, + 0x5d, 0x7e, 0x02, 0xe2, 0xe6, 0xe3, 0xa0, 0xfd, 0xae, 0xf5, 0x93, 0xf5, + 0xe8, 0x71, 0x27, 0x7d, 0xf9, 0xf5, 0x4b, 0x96, 0x2c, 0xd9, 0x98, 0xec, + 0x59, 0x16, 0x86, 0x1d, 0xa8, 0x7c, 0x8f, 0x80, 0x4d, 0x0e, 0x01, 0x25, + 0xe5, 0xc8, 0x6b, 0xc8, 0x4d, 0x71, 0x1a, 0x12, 0xf0, 0x82, 0x12, 0x52, + 0x14, 0x3d, 0x0e, 0xfb, 0x15, 0x41, 0x98, 0xf5, 0x7c, 0xf3, 0xcd, 0xb7, + 0x91, 0xc5, 0x87, 0x32, 0x11, 0x02, 0x66, 0xe3, 0xc2, 0x36, 0x36, 0x1c, + 0x07, 0xbe, 0x6b, 0xf1, 0x2e, 0xf0, 0xe8, 0x3d, 0xe0, 0x13, 0xa8, 0x39, + 0xcf, 0x2b, 0xaf, 0xbc, 0x92, 0x57, 0xaf, 0x5e, 0xbd, 0xb9, 0x1d, 0x3b, + 0x76, 0xbc, 0x54, 0x86, 0xc9, 0xfc, 0xd3, 0xda, 0xfa, 0xfd, 0xa7, 0xa9, + 0x6f, 0x70, 0xa4, 0x7a, 0xde, 0xfb, 0x0b, 0xf8, 0xdd, 0x19, 0xca, 0x74, + 0x4b, 0x12, 0xe5, 0xea, 0x07, 0xf8, 0x73, 0x31, 0xa3, 0x61, 0xc2, 0x50, + 0xfb, 0xc9, 0xf9, 0x15, 0x84, 0xcf, 0xc7, 0xfa, 0xa5, 0xff, 0xbd, 0xc7, + 0x8e, 0x1d, 0xbb, 0x38, 0x9a, 0x79, 0x9c, 0x48, 0xea, 0x6f, 0x94, 0x7d, + 0xb8, 0x01, 0xb2, 0x60, 0x6b, 0x29, 0xda, 0x8a, 0x08, 0x03, 0xbf, 0xa8, + 0xd8, 0x03, 0xd9, 0xfa, 0x01, 0x25, 0xdf, 0x8f, 0xa7, 0x25, 0xa2, 0xce, + 0xd6, 0x8f, 0x3f, 0xfe, 0x14, 0x02, 0x8f, 0x95, 0xae, 0x5e, 0xbd, 0x26, + 0xac, 0xf1, 0x90, 0x06, 0xdb, 0x54, 0x14, 0x77, 0x88, 0xd2, 0x0f, 0xba, + 0x71, 0xe0, 0x5b, 0xee, 0x6f, 0x96, 0xcf, 0x67, 0xde, 0x79, 0xe7, 0x9d, + 0xa2, 0x66, 0xcd, 0x9a, 0x3d, 0x4d, 0x59, 0x82, 0x4a, 0xac, 0x2c, 0xbf, + 0xb1, 0xa4, 0xe6, 0x9c, 0x01, 0x03, 0x06, 0x1c, 0x2f, 0x02, 0x52, 0xb3, + 0x29, 0x18, 0xcc, 0xdf, 0xd1, 0x8e, 0x58, 0x89, 0xe0, 0x4b, 0xc7, 0x82, + 0x65, 0x3b, 0x51, 0xa7, 0xeb, 0x28, 0xb5, 0x33, 0xd4, 0xea, 0x53, 0x36, + 0xd6, 0x85, 0x8c, 0x5e, 0xbc, 0x78, 0xf1, 0xfa, 0x68, 0x4c, 0x36, 0xea, + 0xe4, 0x44, 0xa9, 0xa0, 0xef, 0x09, 0xbe, 0x1c, 0x15, 0xf8, 0x20, 0x17, + 0x39, 0xde, 0x60, 0x1e, 0xe0, 0x7a, 0x48, 0xe4, 0x19, 0x45, 0xc9, 0xd4, + 0x96, 0x1b, 0x63, 0xc0, 0x4b, 0x97, 0x7e, 0x1a, 0xa6, 0x93, 0x58, 0x77, + 0xb6, 0x02, 0xae, 0x4d, 0x47, 0xb1, 0xc1, 0x79, 0x57, 0x7a, 0x5c, 0xcb, + 0xf7, 0xb3, 0x1b, 0x1f, 0x78, 0xe2, 0xc6, 0xb2, 0x65, 0xcb, 0x52, 0x8f, + 0xa5, 0xf9, 0x4b, 0x04, 0xfe, 0xb5, 0x02, 0x7a, 0xc0, 0xe0, 0xc1, 0x83, + 0x5b, 0x2a, 0xf3, 0xa9, 0xce, 0x50, 0xa6, 0x59, 0x3f, 0x9d, 0x30, 0x26, + 0x10, 0xec, 0x70, 0x29, 0xc2, 0x1b, 0xe1, 0x0a, 0xe5, 0x87, 0xe0, 0xcb, + 0x02, 0x08, 0x46, 0xb1, 0xa4, 0xff, 0xe7, 0x92, 0xf9, 0xc8, 0x03, 0x7a, + 0x88, 0x9c, 0xc7, 0x01, 0x01, 0xed, 0x0f, 0x7b, 0xa9, 0x79, 0x49, 0x02, + 0xf2, 0x4a, 0x80, 0xef, 0x7b, 0x42, 0x0c, 0x11, 0x25, 0xa4, 0xa9, 0xc8, + 0x0b, 0xc4, 0x85, 0xa9, 0x60, 0x8c, 0xb5, 0x9b, 0xd4, 0x21, 0x37, 0x94, + 0x09, 0xb0, 0x5a, 0x3a, 0x63, 0x36, 0x1d, 0xc5, 0x9d, 0x05, 0x67, 0x33, + 0x23, 0x7c, 0xf0, 0x7d, 0xbd, 0x37, 0x9d, 0x37, 0xe0, 0x69, 0x04, 0x5c, + 0x52, 0x56, 0x3e, 0x2b, 0xc9, 0xfd, 0xb6, 0x4b, 0x97, 0x2e, 0x7f, 0x15, + 0xe8, 0xfa, 0xc9, 0x43, 0x32, 0xa3, 0xb1, 0xe4, 0x33, 0x19, 0xa3, 0x76, + 0xa7, 0xb2, 0x10, 0x7c, 0xb7, 0x35, 0x99, 0x6b, 0xbb, 0x09, 0x88, 0x93, + 0x1f, 0x06, 0x56, 0x18, 0xc5, 0x52, 0x87, 0x2b, 0x43, 0x01, 0x79, 0xe0, + 0xbd, 0xf7, 0xde, 0xfb, 0x59, 0x54, 0x28, 0x4b, 0xd0, 0xcd, 0xcf, 0xc9, + 0x4d, 0x76, 0xf7, 0xb7, 0x48, 0x90, 0x27, 0x45, 0xe9, 0x3c, 0xa1, 0x84, + 0xa5, 0x17, 0x6d, 0x95, 0x09, 0x21, 0x37, 0x94, 0x30, 0xb8, 0xd9, 0xac, + 0x66, 0xc0, 0x01, 0xec, 0x9c, 0xdc, 0x9c, 0x12, 0x33, 0x9f, 0x6d, 0x26, + 0x9c, 0x2b, 0x3b, 0x56, 0x46, 0x70, 0x03, 0xae, 0x81, 0xef, 0x5a, 0xbc, + 0x59, 0x3d, 0x8d, 0x5e, 0x31, 0x24, 0x29, 0xe8, 0x16, 0x36, 0x6a, 0xd4, + 0xe8, 0x11, 0x69, 0xfd, 0x55, 0x92, 0x18, 0x8c, 0xae, 0xb1, 0x64, 0xe7, + 0x3c, 0x32, 0x1f, 0x59, 0xfc, 0x61, 0xf2, 0x8c, 0x7d, 0x99, 0x49, 0xe7, + 0x6b, 0x7f, 0xb9, 0xcb, 0xd1, 0x5e, 0xdd, 0x67, 0x67, 0x86, 0xdf, 0x64, + 0xf5, 0xfb, 0xb1, 0xf6, 0xca, 0xe4, 0x87, 0x91, 0xab, 0x3e, 0x7d, 0xfa, + 0xdc, 0xf0, 0xde, 0x7b, 0xef, 0xe5, 0x02, 0x4a, 0x4e, 0x6e, 0x6e, 0xb0, + 0x31, 0x27, 0x2f, 0xd8, 0x98, 0xeb, 0xd6, 0x5b, 0x7c, 0x12, 0xfc, 0xcc, + 0x68, 0xeb, 0x98, 0x50, 0x52, 0x7a, 0xa2, 0x9e, 0x73, 0x64, 0xf5, 0x90, + 0x00, 0x60, 0xef, 0x7f, 0xf0, 0x41, 0x08, 0x5e, 0x4e, 0x58, 0xc5, 0xdc, + 0x18, 0x82, 0x1f, 0x37, 0x0d, 0x31, 0x5d, 0xd0, 0x75, 0x2d, 0xdf, 0xc0, + 0x77, 0x25, 0x07, 0xcd, 0xa7, 0x31, 0x8f, 0x88, 0xf7, 0x8e, 0x19, 0x33, + 0xe6, 0x9f, 0xb2, 0xf2, 0x71, 0xb2, 0xfa, 0x8b, 0x04, 0x7e, 0x1b, 0xc9, + 0x4f, 0x4d, 0x11, 0x70, 0xaa, 0x80, 0x3f, 0x8a, 0xa9, 0x32, 0xf2, 0x82, + 0x3d, 0x4c, 0x7a, 0xbc, 0xcc, 0xa7, 0x5c, 0x04, 0x94, 0xd0, 0x7f, 0xea, + 0x3e, 0xcc, 0x66, 0x88, 0x16, 0x42, 0x1c, 0x2b, 0xf0, 0xcf, 0x56, 0xa7, + 0xab, 0xa9, 0x7a, 0xc0, 0x94, 0x99, 0x67, 0xaf, 0x5d, 0xbb, 0x26, 0x4a, + 0xfd, 0xf2, 0x82, 0x6c, 0x01, 0xc2, 0xd1, 0x2d, 0x7a, 0xe5, 0x97, 0x1a, + 0x0b, 0x4a, 0xe9, 0x1f, 0x14, 0x16, 0x45, 0x9d, 0xb4, 0xa4, 0xd5, 0x03, + 0x34, 0x1d, 0xa9, 0x7f, 0xfc, 0xe3, 0xc3, 0xb0, 0x8c, 0x40, 0x1d, 0x68, + 0x43, 0xf6, 0x86, 0xad, 0x16, 0x5d, 0xb8, 0xba, 0xbf, 0xbd, 0xe0, 0xbb, + 0x96, 0xef, 0x80, 0x1f, 0xbe, 0xfe, 0xd6, 0x5b, 0x6f, 0x6d, 0x6e, 0xde, + 0xbc, 0xf9, 0xe3, 0xd2, 0xfa, 0xcb, 0x99, 0x49, 0x21, 0xf0, 0x1b, 0x91, + 0x76, 0x32, 0x39, 0x8c, 0x49, 0x62, 0x65, 0x91, 0x9e, 0x32, 0x13, 0x60, + 0x13, 0x62, 0x4d, 0xff, 0x25, 0x39, 0x27, 0x30, 0x90, 0x2e, 0x02, 0x5a, + 0x91, 0xfd, 0x88, 0x94, 0xd7, 0xd0, 0x7e, 0x01, 0x9a, 0xc8, 0x4e, 0xd5, + 0xd3, 0x93, 0x24, 0xe4, 0xe6, 0x26, 0x8b, 0x61, 0x79, 0x79, 0x25, 0xeb, + 0x31, 0x5b, 0x95, 0x10, 0xb6, 0xca, 0x8a, 0x92, 0x41, 0xb6, 0x30, 0x2a, + 0x59, 0x73, 0x43, 0x3e, 0x94, 0x81, 0x84, 0xa0, 0x40, 0x84, 0x4d, 0x3f, + 0x0c, 0xa7, 0x9f, 0x7b, 0xd2, 0x63, 0xf9, 0xbe, 0xe9, 0xbe, 0x9f, 0xf1, + 0xf8, 0xc1, 0x16, 0x9d, 0x37, 0xc9, 0x31, 0xf0, 0x49, 0x39, 0x91, 0x38, + 0xc8, 0x9a, 0x3e, 0x7d, 0xfa, 0x4a, 0x05, 0xde, 0x5b, 0xd4, 0x09, 0x1d, + 0x28, 0xf0, 0x33, 0xcc, 0xfa, 0x05, 0x7e, 0x6a, 0x12, 0xef, 0xf6, 0x4a, + 0xcf, 0x76, 0x11, 0x10, 0xd7, 0xfb, 0x65, 0xa6, 0x98, 0x08, 0x38, 0x94, + 0x65, 0x9c, 0xcc, 0x52, 0x10, 0xf8, 0x19, 0xf2, 0x86, 0x41, 0x33, 0x67, + 0xce, 0xfc, 0x22, 0x69, 0x9d, 0x39, 0x89, 0x0d, 0x0a, 0x82, 0x1b, 0xb2, + 0x73, 0xc2, 0x81, 0x0d, 0xa4, 0x28, 0x27, 0x37, 0x2f, 0xe9, 0x05, 0x5b, + 0x11, 0xe0, 0x7b, 0x82, 0x4b, 0x80, 0x81, 0x5f, 0x94, 0xaa, 0x25, 0x7d, + 0x21, 0xcb, 0x7c, 0x63, 0xc9, 0x92, 0x10, 0x2c, 0xab, 0x7e, 0x42, 0x82, + 0x4d, 0x3f, 0x37, 0xe9, 0xf1, 0x27, 0xe1, 0xba, 0x9d, 0xad, 0x38, 0xcb, + 0x37, 0xeb, 0x87, 0x00, 0x03, 0xde, 0xc0, 0x87, 0xe8, 0xa5, 0x4b, 0x97, + 0x26, 0x78, 0xaf, 0xb2, 0xbf, 0x0f, 0x64, 0xf1, 0x57, 0x0f, 0x1b, 0x36, + 0xec, 0x82, 0xa1, 0x43, 0x87, 0x36, 0x15, 0x01, 0xe7, 0x0a, 0xec, 0x13, + 0xcc, 0xfa, 0x6d, 0x14, 0x6c, 0x7b, 0xa4, 0xa7, 0x4c, 0x04, 0xa0, 0xff, + 0x51, 0x77, 0x7a, 0xb7, 0x68, 0x09, 0x28, 0x13, 0xa5, 0x4e, 0x95, 0xd5, + 0xd7, 0x91, 0x2c, 0x65, 0x4a, 0x0b, 0x87, 0x3f, 0xff, 0xfc, 0xf3, 0xab, + 0x93, 0x41, 0x91, 0x52, 0x30, 0x80, 0x6c, 0x0c, 0x3d, 0x20, 0x3b, 0x8c, + 0x05, 0x79, 0x61, 0x40, 0xce, 0xb3, 0x80, 0x9c, 0x9f, 0x3e, 0x2b, 0xda, + 0x22, 0x41, 0xc9, 0x91, 0xb0, 0x64, 0x4a, 0xbb, 0x29, 0xcc, 0x70, 0x5e, + 0x7b, 0xfd, 0xf5, 0xe0, 0x07, 0x81, 0x48, 0x8a, 0x6b, 0xc0, 0xd3, 0xb0, + 0x7e, 0x37, 0xf0, 0xda, 0x44, 0xdc, 0xd2, 0x2c, 0xdf, 0xcd, 0x76, 0x2c, + 0xcb, 0x31, 0xcb, 0x37, 0xe0, 0xc3, 0x42, 0xdd, 0xd2, 0xa5, 0x29, 0x49, + 0x92, 0x85, 0x2f, 0x94, 0xf4, 0x5c, 0x2a, 0x02, 0x98, 0xc8, 0x55, 0x5f, + 0xed, 0x4c, 0x11, 0x70, 0x34, 0xda, 0x4f, 0xda, 0xb9, 0xad, 0x4e, 0xd7, + 0x0e, 0x11, 0x40, 0x06, 0x64, 0xe5, 0x07, 0x96, 0xfc, 0xb3, 0x0a, 0x51, + 0xc7, 0xfa, 0x92, 0xa1, 0x8e, 0x0a, 0x40, 0xe3, 0x3f, 0xf8, 0xe0, 0x83, + 0x3c, 0xc0, 0x5a, 0xbb, 0x4e, 0x9d, 0x1e, 0x91, 0xb0, 0x7e, 0x43, 0xd2, + 0x0b, 0xb2, 0x43, 0x2f, 0xc8, 0xdd, 0x22, 0x43, 0xf9, 0x71, 0x5e, 0x50, + 0xb2, 0x87, 0x6c, 0xc1, 0x97, 0x1b, 0x35, 0x9c, 0x37, 0xdf, 0x7c, 0x2b, + 0x78, 0xe3, 0x8d, 0x37, 0x82, 0x95, 0x02, 0xd5, 0x05, 0x3f, 0x25, 0x3d, + 0x51, 0x47, 0xcb, 0x95, 0x1e, 0xbf, 0xce, 0xe3, 0xa6, 0x9b, 0x6e, 0x07, + 0xcb, 0xcd, 0x74, 0x7c, 0xf0, 0xe9, 0x4f, 0xd0, 0xa1, 0xe3, 0x3c, 0x32, + 0x00, 0xf4, 0xff, 0x21, 0x59, 0x3e, 0xf3, 0x88, 0x48, 0x3d, 0x6b, 0xcb, + 0x03, 0x42, 0xf9, 0x21, 0xf3, 0x51, 0x60, 0xfe, 0xb3, 0x75, 0xba, 0xca, + 0xb2, 0x82, 0x66, 0xbb, 0x09, 0xa0, 0xf6, 0x1f, 0x4d, 0x40, 0x0a, 0x33, + 0x20, 0x11, 0x70, 0xa6, 0x52, 0xd0, 0x86, 0x22, 0xa5, 0x4b, 0x66, 0x66, + 0xe6, 0x24, 0x59, 0x52, 0x31, 0xfd, 0xa1, 0xd5, 0x6b, 0xd6, 0x85, 0x24, + 0xe0, 0x05, 0xeb, 0x37, 0x30, 0x40, 0x92, 0x24, 0x20, 0x25, 0x43, 0xf9, + 0x71, 0x5e, 0xb0, 0x25, 0x0d, 0x2d, 0x8c, 0xb4, 0x9f, 0xdb, 0xaa, 0x55, + 0xab, 0xc3, 0xa9, 0x85, 0x80, 0x0f, 0xb0, 0x0c, 0x8e, 0x03, 0xb8, 0x49, + 0x8f, 0xbf, 0xec, 0x28, 0x4e, 0x7a, 0xfc, 0xa0, 0xeb, 0x67, 0x3b, 0xae, + 0xec, 0x00, 0x3e, 0xcd, 0x2c, 0x1f, 0xed, 0xa7, 0xe1, 0x5d, 0x4b, 0x96, + 0x2c, 0x29, 0x68, 0xd9, 0xb2, 0x25, 0x53, 0x5b, 0x2e, 0x52, 0xcb, 0x60, + 0xf4, 0x8b, 0xb2, 0x33, 0xa9, 0x27, 0xbd, 0x5e, 0x0b, 0xbe, 0xe9, 0x6a, + 0x3e, 0xe5, 0x26, 0xc0, 0x52, 0x50, 0x23, 0x80, 0xd5, 0x88, 0xcc, 0xf1, + 0x51, 0x06, 0x54, 0x85, 0x65, 0xff, 0x22, 0xa0, 0x6b, 0x56, 0x56, 0xd6, + 0x74, 0x2c, 0x8d, 0x8c, 0x65, 0xd5, 0x6a, 0xc0, 0x80, 0x00, 0x79, 0x01, + 0xb1, 0x60, 0x63, 0x4e, 0x98, 0x22, 0xe6, 0xe4, 0x26, 0x63, 0x81, 0x1b, + 0x8c, 0x37, 0x95, 0x20, 0x60, 0x4b, 0x21, 0xcd, 0x82, 0xad, 0x64, 0x2d, + 0x04, 0x1f, 0x80, 0x93, 0xa3, 0x5d, 0xe9, 0xc1, 0xf7, 0xd7, 0x00, 0xc4, + 0x81, 0xef, 0xea, 0x7e, 0x3a, 0xd9, 0x71, 0x81, 0xc7, 0xfa, 0xf1, 0x02, + 0x88, 0x57, 0xfe, 0x9f, 0x2f, 0x90, 0xa7, 0x28, 0x0e, 0x0c, 0x90, 0x07, + 0xb4, 0x89, 0xe6, 0x90, 0x56, 0x66, 0x86, 0x5c, 0xdc, 0x1a, 0xb2, 0x0a, + 0x99, 0x1b, 0x6a, 0x04, 0x90, 0x52, 0x41, 0x00, 0x25, 0x08, 0x66, 0x0b, + 0xeb, 0xb9, 0x63, 0xd8, 0x7b, 0x41, 0x04, 0x34, 0x95, 0x17, 0x74, 0x93, + 0x0b, 0x3e, 0xc0, 0x8f, 0xce, 0x17, 0x90, 0x78, 0xc0, 0x9a, 0xb5, 0xeb, + 0x93, 0x5e, 0x10, 0xce, 0x28, 0xb0, 0x6c, 0x28, 0x37, 0x1c, 0xf0, 0x4e, + 0x06, 0xe3, 0xfc, 0xd8, 0x54, 0x94, 0x23, 0x37, 0x06, 0xd9, 0x17, 0x2c, + 0x78, 0x86, 0x1f, 0x1d, 0x02, 0x6c, 0x80, 0xfb, 0xe0, 0xfb, 0xba, 0xef, + 0xa6, 0x9c, 0x46, 0x80, 0x0b, 0xbe, 0x5b, 0xcd, 0x74, 0x65, 0x07, 0xe0, + 0x5d, 0xf0, 0x01, 0x9e, 0x46, 0xdc, 0xc1, 0x1b, 0x30, 0x0a, 0xaa, 0x9e, + 0xf2, 0xf4, 0xc9, 0x23, 0x47, 0x8e, 0xec, 0x27, 0xd0, 0x5b, 0x97, 0x46, + 0x40, 0x85, 0x4d, 0xce, 0xf5, 0x4b, 0xd0, 0xd1, 0xd6, 0x2d, 0x07, 0xb0, + 0x0d, 0x80, 0xb2, 0xa0, 0xb3, 0x05, 0x7e, 0x53, 0x79, 0x40, 0x77, 0x11, + 0x30, 0x0b, 0xcb, 0x23, 0xd0, 0xae, 0x5a, 0xbd, 0x76, 0x0b, 0x01, 0xeb, + 0xb3, 0xa3, 0x60, 0x2c, 0xe0, 0x72, 0x73, 0xc3, 0x51, 0xa8, 0xbc, 0x68, + 0xd6, 0x41, 0x7e, 0x24, 0x45, 0x6e, 0x3a, 0xca, 0xed, 0xdb, 0x6f, 0x97, + 0x07, 0x4f, 0x3e, 0xf9, 0x64, 0xb0, 0x68, 0xf1, 0x62, 0x9d, 0x63, 0x0b, + 0xf8, 0xae, 0xee, 0xfb, 0xe0, 0xbb, 0x1d, 0x2e, 0x3f, 0xf0, 0xba, 0x96, + 0x9f, 0x4e, 0x76, 0x7c, 0xf0, 0x99, 0x55, 0xad, 0x98, 0x16, 0xbc, 0xff, + 0xfe, 0xfb, 0xe1, 0xeb, 0x64, 0x60, 0xea, 0x03, 0x6c, 0x6a, 0xd3, 0xa6, + 0xcd, 0x34, 0xa5, 0xe1, 0xfd, 0x7d, 0x0f, 0x60, 0xe8, 0xb1, 0xbc, 0xab, + 0x28, 0xb7, 0xdb, 0x03, 0x8c, 0x00, 0x3c, 0x20, 0x8e, 0x00, 0x2c, 0x0f, + 0x89, 0x59, 0xb9, 0x4a, 0x96, 0xb8, 0x56, 0x5e, 0xb0, 0x6e, 0x7d, 0x52, + 0x86, 0x20, 0x20, 0x3b, 0x27, 0x8a, 0x03, 0x46, 0x42, 0x7e, 0x89, 0x0a, + 0x29, 0xf7, 0xb9, 0x51, 0xcf, 0x79, 0xec, 0xf1, 0x79, 0xe1, 0x14, 0x72, + 0x2c, 0xda, 0x82, 0xac, 0x0b, 0x7c, 0x1c, 0xf8, 0x71, 0x59, 0x8f, 0x59, + 0xbf, 0x9f, 0xf1, 0x98, 0xec, 0xb8, 0x7a, 0xef, 0x4a, 0x0e, 0x56, 0x6f, + 0xe0, 0xab, 0x67, 0x1f, 0x92, 0xc3, 0xd8, 0x82, 0x5e, 0x2f, 0x6e, 0xd6, + 0xac, 0xd9, 0x4c, 0x24, 0x48, 0x24, 0x64, 0x08, 0x87, 0x70, 0x06, 0xc4, + 0x8e, 0xae, 0x23, 0x2e, 0xb7, 0x04, 0xa9, 0x85, 0x12, 0x04, 0x01, 0xdd, + 0xba, 0x75, 0x9b, 0xc9, 0x0f, 0x07, 0xe4, 0x95, 0x2b, 0xd7, 0x44, 0x81, + 0x58, 0x5e, 0x40, 0x59, 0x40, 0x32, 0x14, 0x7a, 0x40, 0x4e, 0x52, 0x86, + 0x72, 0x1d, 0x0f, 0x08, 0x67, 0x33, 0xe8, 0xc8, 0x6d, 0xf9, 0xf2, 0xef, + 0x82, 0x47, 0x1e, 0x79, 0x34, 0x78, 0xe6, 0x99, 0x67, 0x42, 0x19, 0x31, + 0xc0, 0xdd, 0x4c, 0xc7, 0x2f, 0x33, 0xc4, 0x59, 0x7e, 0x5c, 0xd0, 0x75, + 0xc1, 0x77, 0x7b, 0xb7, 0x6e, 0xa6, 0x83, 0xd5, 0x03, 0x3e, 0xc0, 0xff, + 0xfd, 0xef, 0x7f, 0x0f, 0x1b, 0xeb, 0xc7, 0xf0, 0x0c, 0xae, 0x13, 0x52, + 0x3b, 0x75, 0xea, 0x34, 0x4f, 0xe0, 0x0f, 0x54, 0xeb, 0xc0, 0x9a, 0x34, + 0xa6, 0xc8, 0xbb, 0x5b, 0x19, 0xd8, 0x66, 0x1e, 0x65, 0xd9, 0x4b, 0xa2, + 0x5c, 0x41, 0xd8, 0x21, 0xa0, 0xf1, 0xf8, 0xf1, 0xe3, 0xbb, 0x75, 0xec, + 0xd8, 0xf1, 0x1e, 0xfd, 0xd8, 0x04, 0x9d, 0xae, 0x15, 0x2b, 0x57, 0x27, + 0x3d, 0x40, 0x6d, 0x9d, 0x64, 0x28, 0x24, 0x20, 0x3b, 0x29, 0x43, 0xf4, + 0x8a, 0xb7, 0x48, 0x50, 0x72, 0x72, 0x15, 0x99, 0x13, 0xf5, 0xfb, 0xb9, + 0x73, 0xe6, 0x06, 0xf3, 0xe6, 0xfd, 0x2d, 0x04, 0xd0, 0xc0, 0xf6, 0xc1, + 0x77, 0xad, 0x3e, 0x6e, 0xe1, 0x9d, 0x9b, 0xef, 0xbb, 0xba, 0x6f, 0xb9, + 0xbe, 0x0f, 0x7e, 0x9c, 0xe4, 0x00, 0x3c, 0x96, 0x0f, 0xf8, 0x6f, 0xbf, + 0xfd, 0x76, 0xf8, 0xba, 0xbe, 0x3b, 0x9c, 0x19, 0x27, 0xc0, 0x5f, 0xd5, + 0xef, 0x1f, 0xa2, 0x96, 0x25, 0xc0, 0x1b, 0xb0, 0x90, 0x43, 0x06, 0x79, + 0x34, 0x73, 0x42, 0xa3, 0xfd, 0xe8, 0x76, 0x29, 0xeb, 0x5a, 0xe2, 0x32, + 0xa7, 0xa1, 0xcc, 0x7d, 0x64, 0xbf, 0x35, 0x3d, 0x77, 0xa6, 0x32, 0xa1, + 0x86, 0x22, 0xa1, 0x6b, 0x46, 0x46, 0xc6, 0x1d, 0x9f, 0x2e, 0x5d, 0x5a, + 0x48, 0x80, 0xfd, 0x79, 0xc5, 0x2a, 0x79, 0x40, 0x32, 0x0e, 0x30, 0x37, + 0x67, 0x83, 0x11, 0xa0, 0x00, 0x6a, 0xa9, 0xa8, 0x81, 0x4f, 0x45, 0x73, + 0xd5, 0xea, 0x35, 0xc1, 0xdc, 0x47, 0x1e, 0x09, 0x1e, 0x7a, 0xe8, 0xa1, + 0x30, 0x3b, 0xb1, 0x25, 0xa5, 0xae, 0xdc, 0xc4, 0x49, 0x8e, 0x5f, 0x64, + 0x73, 0x83, 0xae, 0x9f, 0x72, 0xba, 0xb5, 0x1d, 0x57, 0x76, 0x5c, 0xf0, + 0x0d, 0x78, 0x03, 0x5f, 0x9a, 0x1f, 0xce, 0x7e, 0xe3, 0x31, 0x53, 0x4f, + 0xf0, 0xd2, 0x49, 0x93, 0x26, 0x7d, 0x21, 0x12, 0x46, 0x88, 0x80, 0x5e, + 0x02, 0xbc, 0x19, 0x8b, 0x38, 0x6c, 0x35, 0x3d, 0x71, 0x80, 0x4a, 0x41, + 0x59, 0xb7, 0x36, 0x2b, 0x73, 0x47, 0x8c, 0x19, 0x5f, 0xec, 0xa9, 0xc6, + 0xb6, 0x00, 0x63, 0xc6, 0x8c, 0x69, 0xc0, 0x3c, 0x7a, 0xdd, 0x6e, 0x7a, + 0xe7, 0x9d, 0x77, 0x72, 0xe9, 0x64, 0x19, 0x01, 0x6b, 0xd7, 0x26, 0xd3, + 0xd1, 0xf5, 0x04, 0x62, 0x02, 0x28, 0xb3, 0xd3, 0x52, 0x69, 0x68, 0x7e, + 0xd8, 0xd1, 0x42, 0xdb, 0x1f, 0x7b, 0xfc, 0xf1, 0xe0, 0xde, 0x7b, 0xef, + 0x0d, 0xa5, 0x20, 0x3b, 0x3b, 0xd9, 0xa1, 0x2a, 0x0d, 0x7c, 0xbf, 0xc2, + 0xe9, 0x0e, 0xae, 0xc4, 0x81, 0xef, 0x4a, 0x8f, 0x05, 0x5c, 0xbe, 0x0b, + 0x02, 0x5c, 0xf0, 0x4d, 0x72, 0xb0, 0x7a, 0x03, 0x5f, 0xb9, 0x7f, 0xd8, + 0x20, 0x8c, 0xdb, 0xab, 0xaf, 0xbe, 0x9a, 0xa3, 0xde, 0xf0, 0x6d, 0x04, + 0x62, 0x59, 0x7e, 0x86, 0x48, 0xa8, 0x49, 0x67, 0xcc, 0x66, 0xc2, 0x61, + 0xa0, 0xae, 0x17, 0x54, 0x58, 0x2d, 0xc8, 0x4a, 0x11, 0xe8, 0x1c, 0xeb, + 0xa4, 0xd8, 0xca, 0x4b, 0x04, 0x9c, 0xc6, 0xbe, 0x0c, 0xec, 0x40, 0x35, + 0x60, 0xc0, 0x80, 0x51, 0xd2, 0xee, 0x55, 0xa4, 0xa1, 0x3f, 0xfd, 0xbc, + 0x52, 0x00, 0x61, 0xa5, 0xeb, 0xb6, 0xa4, 0xa2, 0x10, 0xe0, 0x04, 0x60, + 0x9b, 0x18, 0xb5, 0x60, 0xfe, 0x82, 0x70, 0xf9, 0xd0, 0x1b, 0x6f, 0x2c, + 0x09, 0x81, 0xc6, 0xb2, 0x0d, 0xf4, 0x74, 0xc0, 0xc7, 0x65, 0x3b, 0x2e, + 0xf8, 0x71, 0xd5, 0x4d, 0x37, 0xdd, 0x74, 0xc1, 0x47, 0xf3, 0x0d, 0x7c, + 0x1a, 0xe0, 0x03, 0xbc, 0x81, 0x4f, 0x1f, 0x84, 0x54, 0x18, 0x69, 0x42, + 0x3a, 0xb9, 0x26, 0xa5, 0x9c, 0xcf, 0x08, 0xf8, 0x21, 0xc2, 0xa2, 0xab, + 0x5a, 0x23, 0x26, 0xe5, 0xfa, 0x3b, 0x6b, 0x61, 0xac, 0xfe, 0x9a, 0xe2, + 0x0a, 0x21, 0x80, 0x93, 0x47, 0x2b, 0x18, 0xd9, 0x9b, 0xe1, 0x14, 0xf6, + 0x60, 0x53, 0x26, 0xd4, 0x41, 0xec, 0x5f, 0x3a, 0x63, 0xc6, 0x8c, 0xaf, + 0xc8, 0x68, 0xe4, 0x01, 0x89, 0x55, 0xe6, 0x01, 0x16, 0x03, 0x36, 0x6e, + 0x91, 0x9f, 0xdc, 0x50, 0xf7, 0x13, 0xe1, 0xd2, 0xa1, 0xdb, 0x6e, 0xbb, + 0x3d, 0x98, 0x3f, 0x7f, 0x7e, 0x0a, 0x54, 0x00, 0xf7, 0x83, 0x6c, 0x3a, + 0xd9, 0x49, 0x37, 0xac, 0xe8, 0x16, 0xd8, 0x4a, 0x93, 0x1e, 0x37, 0xe0, + 0x22, 0x33, 0x54, 0x58, 0x5d, 0xab, 0x07, 0x7c, 0xd6, 0x11, 0x43, 0x00, + 0xcf, 0x73, 0x3e, 0x6e, 0xfa, 0x9d, 0xdf, 0xab, 0xe7, 0x3b, 0x46, 0x32, + 0xd4, 0x97, 0xd5, 0x39, 0x6a, 0x35, 0x59, 0xa8, 0xc1, 0x6a, 0x19, 0x77, + 0x7f, 0x39, 0x5f, 0x8a, 0xca, 0x3b, 0x20, 0xe3, 0x6e, 0x8a, 0xb7, 0x53, + 0xb4, 0x56, 0x76, 0x2f, 0xb6, 0x07, 0x60, 0xb1, 0x9c, 0x5a, 0x75, 0x11, + 0x90, 0x31, 0x62, 0xc4, 0x88, 0x81, 0xe3, 0xc6, 0xdd, 0xf0, 0x36, 0x41, + 0x76, 0xc5, 0xaa, 0x35, 0x89, 0x54, 0x5f, 0x20, 0x8c, 0x01, 0xc9, 0xa2, + 0x5c, 0xb2, 0x27, 0x9c, 0x1b, 0x06, 0x5d, 0x00, 0xb8, 0xf5, 0xd6, 0x5b, + 0x83, 0x99, 0x33, 0x67, 0x86, 0xa0, 0x01, 0x6a, 0x1c, 0xe8, 0x2e, 0xf0, + 0xee, 0xa8, 0x96, 0x5b, 0xdb, 0xf7, 0x87, 0x14, 0xd3, 0x59, 0xfe, 0xf6, + 0x82, 0x6f, 0xc0, 0x63, 0x20, 0x80, 0x6f, 0x0d, 0xa9, 0xa2, 0x3f, 0x00, + 0xe9, 0x9d, 0x3b, 0x77, 0x7e, 0x52, 0x12, 0xc4, 0x70, 0x64, 0x77, 0x11, + 0xd0, 0x44, 0x78, 0x10, 0x0b, 0x2a, 0x33, 0x35, 0x1d, 0x85, 0xb0, 0xf1, + 0x60, 0x5b, 0xb8, 0x57, 0x1a, 0x09, 0x65, 0x1a, 0x90, 0x81, 0x59, 0x56, + 0x80, 0xb0, 0x52, 0x90, 0x95, 0x83, 0x2c, 0x5e, 0x93, 0x47, 0xb4, 0x1c, + 0x35, 0x6a, 0x54, 0x1f, 0x59, 0xc5, 0x53, 0x14, 0xcb, 0x56, 0xaf, 0x5e, + 0x17, 0x75, 0xc6, 0xd6, 0x25, 0x3b, 0x62, 0xd9, 0x1b, 0x93, 0x73, 0xee, + 0xd5, 0x18, 0xcd, 0x02, 0xb8, 0xc9, 0x93, 0xa7, 0x84, 0xd6, 0x0f, 0x18, + 0xab, 0xc2, 0xcf, 0xac, 0x4e, 0x81, 0xed, 0x36, 0x57, 0x72, 0xfc, 0xba, + 0x7e, 0x1c, 0xf8, 0x6e, 0xc6, 0x13, 0x67, 0xf9, 0x26, 0x3b, 0x6e, 0xd0, + 0x75, 0x03, 0xae, 0x81, 0x6f, 0x04, 0x58, 0x5b, 0xac, 0x4e, 0x21, 0xe4, + 0x70, 0x6e, 0x6e, 0x73, 0xe7, 0xce, 0x5d, 0xa5, 0xa4, 0xe4, 0x26, 0x19, + 0x24, 0x65, 0x89, 0x4c, 0x11, 0x50, 0x8f, 0xd5, 0xfa, 0xf2, 0x80, 0xe3, + 0xe9, 0x98, 0xb1, 0xae, 0x98, 0xb1, 0x01, 0x5b, 0x1f, 0xb0, 0x23, 0xb3, + 0x22, 0x62, 0x67, 0x44, 0xd0, 0x1b, 0x96, 0x05, 0x1c, 0x2b, 0x19, 0x3a, + 0x5b, 0x41, 0xb8, 0x89, 0x08, 0xe9, 0xd9, 0xb6, 0x6d, 0xdb, 0xbb, 0xf5, + 0x63, 0x8b, 0x29, 0x3d, 0xac, 0x54, 0x2a, 0x4a, 0x3f, 0x20, 0x29, 0x3f, + 0x49, 0x02, 0x6c, 0x36, 0x32, 0x2b, 0x17, 0xf5, 0x99, 0xb0, 0xb3, 0x65, + 0xa0, 0xfa, 0x80, 0xfb, 0xc0, 0x6f, 0x0b, 0x7c, 0x5f, 0x76, 0xdc, 0xa0, + 0xeb, 0xe7, 0xfa, 0x3e, 0xf8, 0xa6, 0xfb, 0x00, 0x6c, 0xe0, 0x63, 0xf1, + 0x3e, 0x01, 0x3c, 0xc7, 0x67, 0x90, 0x49, 0x4a, 0x13, 0x02, 0xfa, 0xef, + 0x02, 0x9f, 0x55, 0x96, 0x7d, 0x90, 0xa2, 0x68, 0xc5, 0xe6, 0x19, 0xb6, + 0x3e, 0x80, 0x02, 0x1d, 0x31, 0x33, 0xcd, 0x00, 0x4d, 0xa5, 0x72, 0x8d, + 0x09, 0xbb, 0x15, 0x51, 0x32, 0x21, 0xb5, 0x33, 0x64, 0xfd, 0x0d, 0xd4, + 0x2b, 0xce, 0xd2, 0x6b, 0xd7, 0x3d, 0xfb, 0xec, 0x73, 0x6b, 0x91, 0x1a, + 0x32, 0xa1, 0x35, 0xeb, 0x9c, 0x4e, 0x98, 0x1a, 0xd2, 0xf3, 0xc2, 0x0b, + 0x2f, 0x06, 0xd7, 0x8c, 0x1e, 0x1d, 0x2e, 0x98, 0xa6, 0xe3, 0x05, 0x90, + 0x3e, 0xe8, 0xee, 0x56, 0x32, 0x2e, 0xf0, 0xdb, 0x02, 0xdf, 0xad, 0xeb, + 0xfb, 0x19, 0x8f, 0x9f, 0xeb, 0x9b, 0xec, 0xb8, 0xe0, 0xbb, 0x9a, 0x6f, + 0x04, 0x00, 0x3c, 0x6d, 0xd1, 0xa2, 0x45, 0xe1, 0x91, 0xd7, 0x39, 0x0f, + 0x52, 0x44, 0x6a, 0x2a, 0x29, 0x7a, 0x46, 0xd6, 0x3f, 0x54, 0xc6, 0xd8, + 0x8b, 0xa9, 0x29, 0xc2, 0xa6, 0x06, 0x2b, 0xf7, 0x75, 0x3c, 0x9a, 0xe9, + 0xe9, 0xd4, 0x88, 0xfc, 0x9d, 0x56, 0xfc, 0xa0, 0x5c, 0xa6, 0x59, 0x11, + 0x16, 0x88, 0xd9, 0x3e, 0x80, 0x45, 0xcb, 0x04, 0x62, 0x96, 0x6e, 0x2a, + 0x18, 0xb3, 0xcf, 0xc2, 0x30, 0xe5, 0xc9, 0x4b, 0x19, 0x05, 0x53, 0x6e, + 0x9f, 0xa0, 0x8e, 0x13, 0x56, 0x43, 0xd5, 0x58, 0xdd, 0xf2, 0xb9, 0x24, + 0xe1, 0xda, 0xeb, 0xae, 0x0b, 0xc6, 0x8f, 0xbf, 0x31, 0xf8, 0x87, 0x7e, + 0x84, 0x4d, 0x8a, 0xf5, 0x27, 0x4b, 0xf9, 0xbb, 0x99, 0x00, 0x7a, 0xdc, + 0xec, 0x35, 0x7f, 0xe2, 0x54, 0x1c, 0xf8, 0x56, 0xdf, 0xf1, 0x7b, 0xb9, + 0x6e, 0xba, 0x69, 0x96, 0x0f, 0x01, 0x96, 0xf5, 0x18, 0xf8, 0x06, 0x3c, + 0xcd, 0x9e, 0xe3, 0xbd, 0x9c, 0x9b, 0x9b, 0xce, 0x5b, 0xd8, 0xba, 0x75, + 0xeb, 0x47, 0x19, 0x23, 0x60, 0x90, 0x46, 0xf8, 0x84, 0x9b, 0x7d, 0x50, + 0xa6, 0x26, 0x35, 0x65, 0xa0, 0xc6, 0x36, 0x7b, 0xb2, 0x78, 0xe0, 0x7b, + 0xc1, 0x76, 0x4d, 0xcc, 0x72, 0xe7, 0x05, 0x45, 0x7b, 0x25, 0xec, 0x85, + 0xd6, 0xb1, 0xaf, 0xa6, 0x24, 0xa9, 0x1a, 0xeb, 0xa4, 0x74, 0xbf, 0xbf, + 0x6e, 0xf3, 0x57, 0xac, 0x58, 0x19, 0xa6, 0xa0, 0xa1, 0x07, 0x84, 0x15, + 0xcc, 0xbc, 0x70, 0x68, 0x72, 0xca, 0x94, 0x3b, 0x83, 0x2b, 0xae, 0xb8, + 0x52, 0x59, 0xcf, 0x82, 0xb0, 0xda, 0x69, 0x04, 0xa4, 0x6b, 0xa5, 0x4d, + 0x98, 0xf5, 0x07, 0x55, 0xfc, 0x5c, 0xbf, 0x2c, 0x19, 0x8f, 0xab, 0xfb, + 0x66, 0xfd, 0x06, 0xba, 0x4f, 0x82, 0xdd, 0xe7, 0x33, 0x46, 0x82, 0xce, + 0xb9, 0x49, 0x24, 0x3c, 0xc2, 0x8a, 0x7b, 0x76, 0x6b, 0x61, 0xa0, 0x9e, + 0x19, 0x72, 0x0c, 0x55, 0x32, 0x43, 0xda, 0xf6, 0x1c, 0x4d, 0xb7, 0xe1, + 0x53, 0xb9, 0x66, 0xc6, 0xc1, 0x2a, 0x2e, 0x46, 0x1c, 0x20, 0x0f, 0xd6, + 0x17, 0x37, 0xd1, 0xf3, 0x3d, 0x1b, 0x37, 0x6e, 0x3c, 0x49, 0x3f, 0x70, + 0x13, 0x9a, 0x4f, 0x67, 0x6c, 0x9d, 0x48, 0x28, 0xde, 0x9c, 0x08, 0x16, + 0x2e, 0x7c, 0x36, 0x18, 0x32, 0x64, 0x68, 0x70, 0xfb, 0xed, 0x77, 0x08, + 0xa8, 0x2f, 0x43, 0xf0, 0x4c, 0x56, 0xdc, 0x66, 0xd6, 0xee, 0x5b, 0x7d, + 0x5c, 0x4d, 0xdf, 0x1f, 0xd1, 0x72, 0xcb, 0x0c, 0xe9, 0x2a, 0x9b, 0xe9, + 0xa4, 0xc7, 0xcd, 0x76, 0x5c, 0xf0, 0x5d, 0xe0, 0x7d, 0x22, 0xf8, 0x1c, + 0xf2, 0x46, 0xa1, 0x4e, 0xdf, 0x59, 0xd4, 0xbd, 0x7b, 0xf7, 0x85, 0xbd, + 0x7a, 0xf5, 0xba, 0x90, 0x4d, 0x3f, 0x84, 0x53, 0x1d, 0x81, 0x7f, 0x3a, + 0xc3, 0x95, 0x94, 0x29, 0xcc, 0x0b, 0xe2, 0xaa, 0xa5, 0x65, 0x9a, 0x1b, + 0x6a, 0x45, 0x39, 0x22, 0x3c, 0x3d, 0x3f, 0x72, 0x5f, 0x9d, 0xfc, 0x74, + 0x7d, 0x69, 0x3d, 0xdd, 0x67, 0x7f, 0xce, 0x11, 0xd3, 0xa7, 0x4f, 0xff, + 0x86, 0xb2, 0xf4, 0x4a, 0xa5, 0xa3, 0x0c, 0xbc, 0x7c, 0xf5, 0xf5, 0x37, + 0xc1, 0xf0, 0x11, 0x23, 0x58, 0xd0, 0x16, 0xba, 0x31, 0xa0, 0x01, 0xa4, + 0x59, 0xb7, 0x35, 0xd7, 0xe2, 0xd3, 0x4d, 0x13, 0x8f, 0x1b, 0xcb, 0x2d, + 0x0d, 0x7c, 0xbf, 0xb2, 0x69, 0x96, 0xef, 0x77, 0xb6, 0xdc, 0xc0, 0x9b, + 0x0e, 0x7c, 0x23, 0xc0, 0x7d, 0xcc, 0xe7, 0x38, 0xb7, 0x75, 0x12, 0x27, + 0x4e, 0x9c, 0xf8, 0x49, 0xed, 0xda, 0xb5, 0xaf, 0xe9, 0xd7, 0xaf, 0x5f, + 0x53, 0x05, 0xe1, 0xaa, 0x8a, 0x01, 0x27, 0xb2, 0xab, 0x4b, 0x69, 0xeb, + 0x04, 0xca, 0x34, 0x3b, 0xda, 0x8d, 0x03, 0xd1, 0x49, 0x39, 0x39, 0x5b, + 0x3b, 0x56, 0x67, 0xbf, 0x06, 0x69, 0xde, 0x45, 0x7d, 0xfa, 0xf4, 0x79, + 0x8e, 0xa5, 0x9c, 0xc8, 0x10, 0xbd, 0xde, 0xa9, 0xd3, 0xa6, 0x05, 0x7a, + 0x2e, 0xb8, 0xfb, 0xee, 0xbb, 0x43, 0xc0, 0x00, 0xce, 0xac, 0x7a, 0x5b, + 0x0b, 0x22, 0xe2, 0x26, 0xcb, 0xc6, 0x05, 0x5c, 0x1f, 0x7c, 0x23, 0xc0, + 0x05, 0xdf, 0xcf, 0x78, 0x2c, 0xed, 0x2c, 0x2d, 0xf5, 0x74, 0x65, 0xc7, + 0x3d, 0x32, 0x4c, 0x6a, 0x24, 0xf0, 0x5e, 0xce, 0x85, 0xec, 0x51, 0x3e, + 0xd1, 0xb9, 0x37, 0x75, 0xea, 0xd4, 0x89, 0x15, 0xf8, 0x35, 0xa9, 0x96, + 0x32, 0x66, 0x4c, 0xb5, 0xd4, 0xdd, 0x77, 0xce, 0xad, 0x96, 0x96, 0x69, + 0x7d, 0x80, 0xcd, 0x0f, 0xc2, 0x9d, 0x70, 0x2b, 0xe6, 0x41, 0x0a, 0x5c, + 0x26, 0x25, 0x31, 0x2b, 0xb8, 0x89, 0x18, 0xef, 0x55, 0xb7, 0x6e, 0xdd, + 0xdb, 0x5f, 0x7b, 0xfd, 0xf5, 0x3c, 0xa6, 0xf1, 0xbc, 0xae, 0x1f, 0xd7, + 0xaf, 0x5f, 0xff, 0x60, 0xd8, 0xb0, 0x4b, 0xc3, 0x1f, 0x0f, 0x50, 0x80, + 0x98, 0x6e, 0xcd, 0x55, 0x3a, 0xf0, 0x7d, 0xbd, 0xf7, 0x2d, 0x9f, 0x1f, + 0xef, 0x83, 0x1f, 0x57, 0x5a, 0xb6, 0x7c, 0xdf, 0xb5, 0x7e, 0x3f, 0xf0, + 0xba, 0x01, 0xd7, 0xb5, 0x76, 0x6b, 0x2e, 0xf8, 0xee, 0x7d, 0x9a, 0x08, + 0x0f, 0x17, 0xed, 0xb1, 0xfd, 0x81, 0xb2, 0xa1, 0x70, 0xc1, 0x5e, 0xba, + 0x59, 0x13, 0x16, 0x07, 0xca, 0x4c, 0x80, 0x2b, 0x43, 0x4c, 0x46, 0x62, + 0x36, 0xb0, 0x1e, 0x9f, 0x2e, 0x57, 0xab, 0x2b, 0x02, 0x3a, 0x67, 0x64, + 0x64, 0x5c, 0x31, 0x7e, 0xfc, 0xf8, 0x4f, 0x18, 0x47, 0x1d, 0x3d, 0x7a, + 0x74, 0x42, 0xef, 0x0b, 0xee, 0xbb, 0xef, 0xfe, 0x14, 0x58, 0x00, 0xea, + 0xae, 0xb5, 0x4a, 0xd7, 0xfc, 0x85, 0x11, 0x6e, 0xb0, 0xdd, 0xde, 0x11, + 0x2d, 0x03, 0xdf, 0xef, 0x70, 0xf9, 0x04, 0x98, 0x04, 0xb9, 0x04, 0xa4, + 0x03, 0xdf, 0x40, 0xb7, 0xfb, 0xb4, 0x97, 0x5f, 0x7e, 0x99, 0x1d, 0x59, + 0xc2, 0xeb, 0x10, 0xe9, 0x39, 0x75, 0xea, 0xd4, 0x19, 0xce, 0x74, 0x75, + 0x19, 0xe7, 0xd9, 0x3a, 0x1e, 0x43, 0x1c, 0xd8, 0x51, 0x02, 0x52, 0x32, + 0xc4, 0xa8, 0x3f, 0x32, 0xc4, 0x2c, 0x80, 0x6e, 0xdd, 0xba, 0xed, 0xdd, + 0xb1, 0x63, 0xc7, 0x43, 0x05, 0x72, 0xe5, 0xac, 0xac, 0xac, 0x6a, 0xac, + 0x10, 0xe9, 0xd0, 0xa1, 0xc3, 0x00, 0x91, 0x30, 0xfb, 0xc1, 0x59, 0xb3, + 0x12, 0x5d, 0xbb, 0x75, 0x63, 0x4f, 0xb6, 0xd0, 0xfa, 0x01, 0x08, 0x00, + 0xdd, 0xa5, 0x3e, 0xae, 0xb4, 0xb8, 0xf7, 0xfd, 0x15, 0x29, 0xbe, 0xec, + 0xf8, 0xd6, 0xef, 0x67, 0x3c, 0x80, 0xbf, 0xbd, 0x04, 0xf8, 0xb9, 0xbf, + 0x2f, 0x3f, 0x3e, 0xf8, 0x2e, 0xe8, 0xec, 0x41, 0x44, 0xa3, 0x53, 0xa9, + 0x96, 0x20, 0x91, 0x98, 0x35, 0x6b, 0xd6, 0xb2, 0x76, 0xed, 0xda, 0x5d, + 0x28, 0x45, 0x68, 0x26, 0x3c, 0x2a, 0x8e, 0x00, 0x37, 0x1d, 0x45, 0x86, + 0x9a, 0x37, 0x6f, 0xce, 0xbf, 0x0c, 0xed, 0xa1, 0x1e, 0xf0, 0x81, 0x02, + 0xff, 0x18, 0x75, 0x4a, 0xaa, 0x88, 0x88, 0x86, 0x1d, 0x3b, 0x76, 0xee, + 0xd1, 0xa4, 0x49, 0x93, 0x31, 0x7a, 0xfe, 0xfb, 0xac, 0xac, 0xae, 0x61, + 0xb5, 0x13, 0xf0, 0x8d, 0x00, 0x03, 0xd6, 0x40, 0x37, 0xb0, 0x7d, 0x02, + 0xdc, 0x29, 0x83, 0x6e, 0x9e, 0xbf, 0x2d, 0xdd, 0x77, 0x03, 0xaf, 0x2b, + 0x3f, 0x04, 0x60, 0x08, 0x70, 0x49, 0xf0, 0x63, 0x80, 0xdf, 0x07, 0xf0, + 0x09, 0x30, 0xc0, 0x1d, 0xd0, 0xc3, 0x86, 0xf5, 0xf3, 0x79, 0x02, 0xb1, + 0x64, 0xe7, 0x59, 0xe1, 0xd2, 0x43, 0xd6, 0xdf, 0x44, 0xea, 0x10, 0x4a, + 0x90, 0x1e, 0xa6, 0x08, 0xf0, 0x62, 0x40, 0xa5, 0x32, 0xaf, 0x92, 0xb4, + 0x60, 0xcc, 0x24, 0xa4, 0x96, 0x2d, 0x5b, 0xfe, 0x59, 0x60, 0xef, 0x2b, + 0xb0, 0x0f, 0xd7, 0xc9, 0x4f, 0x91, 0x37, 0xd4, 0x50, 0x00, 0xca, 0x90, + 0x05, 0x0c, 0xaa, 0x5a, 0xb5, 0xea, 0x02, 0xa5, 0xa6, 0xa1, 0xa5, 0x21, + 0x09, 0x58, 0x2a, 0x04, 0x98, 0x35, 0x73, 0x34, 0x90, 0x7d, 0xb0, 0xfd, + 0x85, 0x11, 0x71, 0x53, 0x48, 0xdc, 0x32, 0x43, 0x9c, 0xf5, 0xbb, 0x79, + 0xbf, 0x65, 0x40, 0x3e, 0x01, 0x71, 0x95, 0x4f, 0xf3, 0x02, 0x1f, 0x78, + 0x03, 0xda, 0x6f, 0x4c, 0x9d, 0x61, 0x2f, 0x3a, 0x7e, 0x83, 0x8c, 0xa1, + 0xe0, 0xfc, 0xf3, 0xcf, 0xbf, 0x43, 0xb1, 0xb1, 0x8b, 0xe2, 0x40, 0x3d, + 0x91, 0x70, 0x3a, 0x12, 0xed, 0x6f, 0xfe, 0x5a, 0xe6, 0x2c, 0x28, 0x4e, + 0x86, 0xf0, 0x02, 0x16, 0xa0, 0x35, 0x6b, 0xd6, 0x6c, 0x4f, 0x11, 0x71, + 0x90, 0x3a, 0x23, 0xc7, 0x49, 0x7e, 0xce, 0x96, 0x37, 0x34, 0x96, 0x34, + 0xf5, 0x6a, 0xd0, 0xa0, 0xc1, 0x8d, 0x53, 0xa7, 0x4e, 0x5d, 0x45, 0x76, + 0x03, 0x10, 0x00, 0x67, 0xb3, 0x12, 0xac, 0xc5, 0x81, 0xee, 0x4f, 0x11, + 0x37, 0xab, 0x8f, 0x9b, 0x46, 0xe2, 0x4e, 0xa0, 0x4a, 0x47, 0x80, 0x4b, + 0x82, 0xf5, 0x7e, 0xfd, 0x01, 0x97, 0xb8, 0x4c, 0xc8, 0x25, 0xc0, 0x05, + 0x1f, 0xc0, 0x9f, 0x7b, 0xee, 0xb9, 0xd4, 0x11, 0xf0, 0xf5, 0xbe, 0x04, + 0x83, 0x4b, 0xd3, 0xa6, 0x4d, 0x5b, 0x26, 0xf9, 0xbd, 0x4c, 0x5e, 0x90, + 0xa9, 0x78, 0x58, 0x93, 0x3d, 0xed, 0xa4, 0x0c, 0x87, 0xcb, 0x28, 0xf7, + 0x61, 0xe6, 0x5c, 0xb9, 0xd3, 0xd0, 0x74, 0xc1, 0x58, 0x56, 0xbe, 0x8b, + 0x3c, 0xe0, 0x2f, 0x6d, 0xda, 0xb4, 0xd9, 0xaf, 0x45, 0x8b, 0x16, 0x47, + 0xea, 0xcb, 0x4f, 0x55, 0x4f, 0xb9, 0x96, 0x48, 0xc8, 0x14, 0x19, 0x83, + 0xc5, 0xfe, 0x73, 0xa4, 0x9a, 0x80, 0x84, 0xc5, 0x9a, 0x35, 0x5b, 0xf3, + 0x01, 0x37, 0xd0, 0xdd, 0xe9, 0x23, 0xbe, 0xec, 0xf8, 0x03, 0xea, 0x6e, + 0xe0, 0x75, 0xe5, 0xc7, 0x27, 0xc0, 0x64, 0xc8, 0x3c, 0x21, 0xae, 0x27, + 0x6c, 0x04, 0xb8, 0x12, 0x64, 0x5a, 0xef, 0x82, 0x6f, 0x0d, 0xf0, 0x39, + 0x62, 0x18, 0x94, 0x50, 0x84, 0xc3, 0xa3, 0xfa, 0xed, 0x7d, 0x65, 0xf9, + 0x2d, 0xf5, 0xdb, 0xcf, 0x93, 0xc5, 0x97, 0x98, 0xb8, 0x5b, 0xee, 0x8e, + 0x58, 0x3a, 0x2f, 0x10, 0xf8, 0x7f, 0xc2, 0x0b, 0x1a, 0x35, 0x6a, 0xc4, + 0xbc, 0xf8, 0x83, 0xe5, 0x66, 0xc7, 0xcb, 0xfa, 0xcf, 0x11, 0xdb, 0x4d, + 0xd4, 0x7a, 0xcb, 0x3b, 0xc6, 0xcf, 0x9b, 0x37, 0x6f, 0x05, 0x95, 0x4e, + 0x40, 0x32, 0x2b, 0xa6, 0xb9, 0xe0, 0x96, 0xd6, 0xd2, 0xcd, 0xdb, 0xf4, + 0xb3, 0x1e, 0xb7, 0xf9, 0x29, 0x68, 0x3a, 0x02, 0xd2, 0x75, 0xc6, 0xd2, + 0xc9, 0x8f, 0x0b, 0xfc, 0xc2, 0x85, 0x0b, 0xc3, 0xc6, 0x7b, 0xa8, 0xf2, + 0xce, 0x99, 0x33, 0xe7, 0x07, 0x19, 0xe1, 0x18, 0x49, 0x4f, 0x37, 0x11, + 0x50, 0x5f, 0x9a, 0x7f, 0xa6, 0xaf, 0xff, 0x71, 0x03, 0xf6, 0xe5, 0xda, + 0x2d, 0xc5, 0x82, 0xb1, 0x79, 0x41, 0xfd, 0xfa, 0xf5, 0x77, 0x17, 0xc3, + 0xfb, 0xe9, 0x39, 0x16, 0xa8, 0xb1, 0x5a, 0xa4, 0x96, 0x58, 0x67, 0x17, + 0xc3, 0x8b, 0x33, 0x33, 0x33, 0x9f, 0x20, 0xa7, 0xc7, 0xb2, 0x01, 0xcf, + 0xac, 0xd8, 0xcd, 0x64, 0x5c, 0x62, 0xfc, 0xe6, 0xa7, 0x9b, 0x80, 0xef, + 0x5a, 0xbf, 0x3b, 0x93, 0xcd, 0x9d, 0xd1, 0xe6, 0x7a, 0x82, 0x5b, 0x84, + 0x73, 0x03, 0xb2, 0x4b, 0x42, 0x9c, 0x07, 0x18, 0x01, 0xbe, 0xf5, 0x03, + 0x3c, 0xd3, 0x67, 0xb8, 0x8f, 0xf6, 0x13, 0x7c, 0x15, 0x07, 0xff, 0x26, + 0x03, 0xa4, 0x23, 0x4a, 0x29, 0xa2, 0xba, 0x8e, 0x27, 0x31, 0x6f, 0xd4, + 0xe4, 0x27, 0xdd, 0x6a, 0xc9, 0x72, 0xef, 0x17, 0xe4, 0x7b, 0x81, 0xc0, + 0xdf, 0x4b, 0xd6, 0x1f, 0x7a, 0x01, 0xf9, 0xaf, 0x2c, 0x81, 0xb5, 0x53, + 0x3d, 0xf5, 0xfc, 0x98, 0x49, 0x93, 0x26, 0x2d, 0x63, 0xa8, 0x51, 0x60, + 0x25, 0x5c, 0x29, 0x31, 0x80, 0x5d, 0xa0, 0xd3, 0xb5, 0x74, 0x13, 0x67, + 0xdd, 0xe6, 0x7a, 0x43, 0x5c, 0x36, 0xe4, 0x06, 0x64, 0xb7, 0x2c, 0xe1, + 0x8f, 0x05, 0x18, 0x01, 0xc8, 0x8f, 0x59, 0xbf, 0xab, 0xf9, 0x80, 0x4f, + 0x53, 0x4c, 0x49, 0xb0, 0x70, 0x44, 0xbd, 0xfc, 0x6f, 0xb0, 0x7e, 0x76, + 0x4c, 0x11, 0xe8, 0x0d, 0x75, 0x3c, 0x8b, 0x05, 0x7b, 0x4a, 0x4a, 0xc2, + 0xc5, 0xda, 0xa5, 0xad, 0x96, 0x2c, 0xef, 0x8e, 0x59, 0x25, 0x62, 0x01, + 0xee, 0x45, 0x2c, 0xc0, 0x0b, 0xf4, 0xc5, 0x47, 0xe8, 0x0b, 0x59, 0xae, + 0x59, 0x43, 0xfa, 0xd7, 0x86, 0xf2, 0x44, 0xbd, 0x7a, 0xf5, 0xee, 0x91, + 0xe5, 0xe5, 0x53, 0xef, 0x01, 0x9c, 0x6d, 0x81, 0x1d, 0x07, 0xbe, 0x3b, + 0x7f, 0x93, 0xe6, 0x7a, 0x40, 0x1c, 0x09, 0x10, 0x60, 0x2d, 0x8e, 0x08, + 0xbf, 0x34, 0xe1, 0x0e, 0x45, 0x9a, 0x04, 0xf9, 0xf2, 0x63, 0x96, 0x4f, + 0xe3, 0x35, 0xa6, 0xd0, 0xb0, 0xaf, 0x5c, 0xcd, 0x9a, 0x35, 0x1f, 0x74, + 0xad, 0x5f, 0x04, 0x9c, 0xcc, 0xb6, 0xca, 0xb6, 0x60, 0xaf, 0xb4, 0xad, + 0xef, 0x77, 0x88, 0x00, 0xdf, 0x0b, 0x60, 0x1b, 0xd6, 0x61, 0x5f, 0xd6, + 0x5f, 0x45, 0x51, 0xbf, 0xbe, 0x3a, 0x62, 0x59, 0xdd, 0xbb, 0x77, 0xbf, + 0x5c, 0xc7, 0x70, 0xcf, 0x20, 0x03, 0xcf, 0x2c, 0xba, 0x2c, 0x96, 0x6f, + 0xcd, 0x48, 0xb0, 0x96, 0x8e, 0x08, 0xd7, 0x23, 0xdc, 0x8e, 0x99, 0xdf, + 0x39, 0x4b, 0x47, 0x80, 0xf5, 0x70, 0x5d, 0xe9, 0x61, 0xdb, 0x63, 0xbc, + 0x41, 0xf1, 0x29, 0xdc, 0x62, 0x6d, 0xd8, 0xb0, 0x61, 0xef, 0x2a, 0xed, + 0xbe, 0x4a, 0xe0, 0x77, 0x95, 0xb1, 0x35, 0x20, 0xf7, 0x77, 0xad, 0xbf, + 0x42, 0xb6, 0x2a, 0xd8, 0x9e, 0x58, 0x00, 0xcb, 0x78, 0x01, 0xac, 0xa3, + 0x7d, 0x6c, 0xaa, 0x4d, 0x45, 0x90, 0x1d, 0xc9, 0xf9, 0x5b, 0x10, 0xbd, + 0x6f, 0xdc, 0x83, 0x0f, 0x3e, 0xf8, 0x1d, 0x33, 0x9c, 0xd9, 0xda, 0x05, + 0x20, 0x5d, 0xcb, 0xb6, 0xe6, 0x3f, 0xe7, 0x02, 0x6f, 0xe0, 0xc7, 0x3d, + 0x07, 0xa9, 0x34, 0xdf, 0x3b, 0x7c, 0x12, 0xe2, 0x66, 0xbf, 0xb9, 0x32, + 0xe4, 0x4b, 0x90, 0x2f, 0x3d, 0xdc, 0xe7, 0xb3, 0xdc, 0x1e, 0x7b, 0xec, + 0xb1, 0x95, 0x8a, 0x7f, 0xb7, 0xe8, 0xb7, 0xf7, 0x93, 0xc5, 0xb7, 0xd0, + 0x6f, 0xaf, 0x26, 0x63, 0x3b, 0xc9, 0x96, 0xab, 0xa2, 0xfd, 0xdb, 0xfa, + 0xe3, 0x87, 0x1d, 0xde, 0xb6, 0xd2, 0xed, 0x17, 0xa0, 0x75, 0xf4, 0x8e, + 0x89, 0xfc, 0xf2, 0x80, 0xa3, 0xa2, 0xe1, 0xb9, 0x5a, 0x6a, 0xed, 0x74, + 0x41, 0x17, 0xeb, 0x62, 0x67, 0xb0, 0x4b, 0x22, 0x41, 0x0b, 0x10, 0x00, + 0x2b, 0x8e, 0x00, 0x6b, 0xe9, 0x48, 0xb0, 0xe7, 0xfc, 0xd7, 0x7c, 0xcf, + 0x48, 0xd7, 0x4b, 0x76, 0x3d, 0xc1, 0x1f, 0x94, 0x37, 0x02, 0x2c, 0x00, + 0x1b, 0x01, 0x58, 0x3f, 0x47, 0xde, 0x47, 0xd6, 0xa3, 0xb8, 0x55, 0xa4, + 0xdf, 0x33, 0x47, 0x41, 0xf6, 0x12, 0xfd, 0xb6, 0x0e, 0x02, 0xbb, 0x0e, + 0x1d, 0x2f, 0x11, 0x10, 0x66, 0x3e, 0xa5, 0x2c, 0x57, 0xad, 0xd0, 0x8d, + 0x5b, 0x4b, 0xc4, 0x02, 0x22, 0xbd, 0x95, 0xaa, 0x6d, 0x6f, 0x7f, 0xf6, + 0x77, 0x8e, 0xb6, 0x85, 0xef, 0x8a, 0x14, 0xe9, 0x42, 0x5f, 0x40, 0x8a, + 0xc8, 0x1e, 0x00, 0xc3, 0x07, 0xb4, 0x34, 0x42, 0x5c, 0x52, 0xec, 0xbe, + 0xfb, 0xbc, 0x7f, 0x0e, 0xbf, 0xaf, 0x10, 0x47, 0x82, 0xeb, 0x05, 0x10, + 0x60, 0x12, 0xe4, 0x13, 0xc0, 0x91, 0xf7, 0xf0, 0x7f, 0x63, 0x10, 0xa0, + 0xdf, 0xb9, 0x44, 0x19, 0xde, 0xf0, 0xa8, 0xec, 0xd0, 0x88, 0xc4, 0xc3, + 0xf6, 0x89, 0xa0, 0x46, 0x66, 0x99, 0xcf, 0x0e, 0xaf, 0x94, 0x2f, 0xcb, + 0xbf, 0xda, 0x45, 0x91, 0x7e, 0x17, 0x02, 0x0f, 0x35, 0x70, 0xdb, 0xdf, + 0x5f, 0xed, 0x3c, 0xf5, 0x0e, 0x9b, 0x8a, 0x8c, 0xde, 0xd2, 0xc6, 0xd1, + 0x4a, 0xc5, 0x3e, 0x64, 0x66, 0x81, 0x80, 0x4b, 0x20, 0x09, 0xbe, 0xac, + 0x94, 0x46, 0x80, 0xc5, 0x8d, 0xb8, 0xfb, 0x71, 0xcd, 0x02, 0xb7, 0x11, + 0xe1, 0x07, 0x65, 0x7f, 0x88, 0x12, 0x19, 0x32, 0x0f, 0x20, 0x00, 0x03, + 0x3c, 0x47, 0x48, 0x52, 0xa7, 0xd2, 0xe6, 0x88, 0x7e, 0xdd, 0xb4, 0x69, + 0xd3, 0x71, 0xfa, 0x7d, 0xfd, 0x04, 0x7c, 0x73, 0xb5, 0x6a, 0x04, 0x5e, + 0x12, 0x10, 0xca, 0x0e, 0xb6, 0x4b, 0xca, 0xf6, 0xac, 0x17, 0xa8, 0x88, + 0xbd, 0xa3, 0x2b, 0xf9, 0x03, 0x36, 0x04, 0x1e, 0xc6, 0x0b, 0xa2, 0x7d, + 0xfe, 0x8f, 0x62, 0x2d, 0x2d, 0x83, 0x36, 0x4a, 0x4d, 0x5b, 0xe9, 0x02, + 0x07, 0xb4, 0x6a, 0xd5, 0xea, 0xa6, 0xbb, 0xee, 0xba, 0xeb, 0x6b, 0x52, + 0x38, 0x96, 0x80, 0x02, 0x86, 0x6d, 0x37, 0x10, 0x07, 0x7a, 0x69, 0x41, + 0x9a, 0xf7, 0xfb, 0x73, 0x7e, 0x2c, 0xf7, 0xe7, 0x3e, 0xcf, 0xf3, 0x3a, + 0x04, 0x98, 0x4c, 0xf9, 0xe3, 0x05, 0x78, 0x41, 0x1c, 0x01, 0x78, 0x00, + 0x92, 0xc4, 0x7b, 0x0d, 0xfc, 0xf9, 0xf3, 0xe7, 0xaf, 0xad, 0x55, 0xab, + 0xd6, 0x14, 0x79, 0xf3, 0x45, 0x6a, 0x19, 0x02, 0xbf, 0x16, 0x5b, 0xd4, + 0x20, 0x3d, 0x92, 0x9c, 0xd4, 0x46, 0x7d, 0xdb, 0x3b, 0x49, 0xb7, 0xa2, + 0x76, 0x4f, 0xdf, 0x4a, 0x8a, 0x28, 0x57, 0xd3, 0x05, 0x67, 0xd0, 0x86, + 0x92, 0xac, 0x80, 0x3f, 0x83, 0xb9, 0x33, 0x3a, 0x66, 0xa8, 0x0d, 0x14, + 0x49, 0xb7, 0xcf, 0x9e, 0x3d, 0x3b, 0xfc, 0x7b, 0x41, 0x3c, 0x01, 0x20, + 0x00, 0xc6, 0x82, 0xf3, 0xb6, 0x32, 0x23, 0xde, 0xe7, 0x02, 0x69, 0x9f, + 0xa5, 0x4f, 0xe1, 0x16, 0xfd, 0x78, 0x3f, 0xe0, 0x43, 0x04, 0xef, 0x71, + 0xe3, 0x0e, 0xc4, 0x40, 0x92, 0x4f, 0x80, 0x4d, 0x47, 0xe4, 0xbc, 0xf4, + 0xc6, 0x91, 0x1d, 0xae, 0x53, 0xaf, 0xe7, 0x0a, 0xfc, 0x99, 0xca, 0x7a, + 0x2e, 0x91, 0xd4, 0x74, 0xd0, 0xef, 0xa8, 0x4b, 0x8f, 0x37, 0x1a, 0x94, + 0x3a, 0x38, 0x4e, 0x7a, 0xb6, 0xb5, 0x5e, 0xac, 0x42, 0x09, 0x70, 0x77, + 0xd2, 0xc5, 0x05, 0x99, 0x0d, 0x40, 0x4f, 0x90, 0xed, 0xbb, 0x88, 0x07, + 0x8c, 0x10, 0x31, 0x52, 0xa4, 0xd6, 0x5e, 0xe4, 0x0c, 0xae, 0x5b, 0xb7, + 0xee, 0x94, 0x47, 0x1f, 0x7d, 0x74, 0x05, 0x3f, 0x8e, 0xf5, 0x05, 0x56, + 0x48, 0x33, 0xa0, 0xe2, 0x34, 0xdd, 0xe4, 0xc4, 0x16, 0xd0, 0x11, 0x4b, + 0xe8, 0x5f, 0x30, 0x12, 0x45, 0xe1, 0x0f, 0xd0, 0xa3, 0xf1, 0x81, 0x30, + 0xd3, 0xe2, 0x75, 0x1b, 0xf4, 0xa7, 0xcc, 0x6d, 0x92, 0x64, 0xc5, 0x41, + 0x5b, 0x37, 0xe0, 0xca, 0x94, 0x6d, 0x57, 0x49, 0x1d, 0x8b, 0xbf, 0x3f, + 0xe4, 0xfa, 0x24, 0x41, 0xb9, 0xea, 0xcf, 0x3c, 0xa4, 0xdf, 0x35, 0x94, + 0x6a, 0x27, 0xe5, 0x06, 0x74, 0x9f, 0x7a, 0x0f, 0xe3, 0xbe, 0xee, 0x26, + 0x1d, 0x31, 0xd2, 0xf3, 0x8b, 0x13, 0xb0, 0x55, 0xdf, 0xc0, 0xb2, 0x22, + 0xf4, 0x90, 0x8b, 0x8b, 0xa6, 0x68, 0x9c, 0x20, 0x77, 0x3d, 0x0b, 0x12, + 0x44, 0x48, 0x26, 0x99, 0x51, 0x9d, 0x3a, 0x75, 0x26, 0xcf, 0x98, 0x31, + 0xe3, 0x3b, 0xfb, 0xd7, 0x23, 0x7e, 0xb8, 0x9b, 0x3e, 0xba, 0xf2, 0x61, + 0x9e, 0xc1, 0x7b, 0x00, 0x9d, 0x02, 0x18, 0x12, 0x36, 0x77, 0xee, 0xdc, + 0x0d, 0x63, 0xc7, 0x8e, 0xfd, 0x56, 0x56, 0xf8, 0x91, 0xac, 0xf3, 0x4d, + 0x79, 0xd7, 0x2b, 0x22, 0xf7, 0x25, 0x1d, 0x17, 0x75, 0xe8, 0xd0, 0xe1, + 0xdd, 0x91, 0x23, 0x47, 0x7e, 0x39, 0x67, 0xce, 0x9c, 0xf5, 0xf2, 0xb2, + 0xcd, 0x90, 0x04, 0x19, 0xd1, 0x54, 0xc6, 0x70, 0x03, 0x0e, 0xce, 0xe5, + 0xce, 0xce, 0x60, 0x9e, 0x52, 0x6e, 0x38, 0x8f, 0x35, 0xb9, 0x0f, 0xd1, + 0xd3, 0x4f, 0x3f, 0xbd, 0x5a, 0x9d, 0xad, 0x19, 0x3a, 0xf7, 0x30, 0x5d, + 0x73, 0x96, 0x7e, 0x43, 0x03, 0x86, 0x61, 0x75, 0xac, 0x4c, 0xb5, 0x13, + 0xdd, 0xb7, 0xf9, 0xa0, 0xf4, 0x89, 0xe2, 0xe6, 0xff, 0xfc, 0xaa, 0xff, + 0xa0, 0x61, 0x33, 0xe9, 0xdc, 0xbf, 0x9c, 0x8a, 0x2e, 0xf2, 0x30, 0x97, + 0x04, 0xc5, 0x86, 0xf6, 0xb2, 0xa6, 0x8b, 0x04, 0xd4, 0x4d, 0xf2, 0x96, + 0xf7, 0x04, 0x4e, 0x91, 0xed, 0x25, 0x4d, 0xa6, 0x61, 0x2b, 0x60, 0xc8, + 0x9a, 0xf2, 0xa3, 0xa5, 0x4c, 0x74, 0x7e, 0x00, 0x49, 0xd9, 0xca, 0xa6, + 0x31, 0x63, 0xc6, 0x7c, 0xa9, 0x54, 0xf0, 0x79, 0x81, 0xfd, 0x40, 0xcb, + 0x96, 0x2d, 0xef, 0x68, 0xd3, 0xa6, 0xcd, 0xcd, 0x6c, 0x1d, 0xa9, 0xec, + 0xe4, 0x5a, 0x4a, 0x20, 0x1c, 0xf5, 0x78, 0x7c, 0xf3, 0xe6, 0xcd, 0x6f, + 0x95, 0x51, 0xdc, 0x27, 0x10, 0xe7, 0xeb, 0x3b, 0x3f, 0x7c, 0xf8, 0xe1, + 0x87, 0xd7, 0x41, 0xe8, 0xaa, 0x68, 0xe1, 0xb7, 0x6d, 0xa5, 0xec, 0xdf, + 0xe4, 0x01, 0xc5, 0xfa, 0x8e, 0x8f, 0x6a, 0xd4, 0xa8, 0x71, 0xbb, 0x80, + 0xbe, 0x58, 0xd6, 0xce, 0xae, 0x30, 0xf5, 0x0d, 0x7c, 0x82, 0xae, 0x4d, + 0xbe, 0x32, 0xdd, 0xdf, 0x5e, 0xe9, 0xf9, 0xc5, 0xfe, 0x43, 0xc6, 0x95, + 0x22, 0x2e, 0x86, 0x8b, 0xe2, 0xe2, 0xc8, 0x8b, 0x5d, 0x12, 0xd8, 0xe0, + 0x88, 0x3e, 0x82, 0x00, 0x69, 0x2d, 0x12, 0xfa, 0xb4, 0x68, 0xd1, 0x62, + 0xb8, 0x80, 0x9c, 0x35, 0x71, 0xe2, 0xc4, 0xa5, 0xd2, 0xf5, 0x1c, 0xba, + 0xf9, 0x2e, 0x28, 0x00, 0x25, 0xb9, 0x28, 0x94, 0xb5, 0xaf, 0xd0, 0x8f, + 0x7e, 0xa7, 0x7a, 0xf5, 0xea, 0xb3, 0xf4, 0x99, 0x9b, 0x65, 0xe1, 0xa3, + 0xa4, 0xbd, 0x97, 0xb1, 0x87, 0x33, 0x59, 0x09, 0x13, 0x03, 0xa8, 0xc9, + 0xe8, 0xd8, 0x5d, 0x60, 0x91, 0x22, 0xf6, 0xa1, 0x1c, 0xa2, 0x6b, 0x18, + 0x96, 0x91, 0x91, 0x31, 0x42, 0x84, 0xdc, 0x20, 0xaf, 0x9b, 0x2a, 0x4b, + 0x5d, 0x78, 0xdd, 0x75, 0xd7, 0x2d, 0x53, 0x86, 0x93, 0x2d, 0xa0, 0x37, + 0xdb, 0x42, 0x40, 0x40, 0x57, 0x1c, 0x58, 0x37, 0x7e, 0xfc, 0xf8, 0x8f, + 0x75, 0x3d, 0xb3, 0x45, 0xde, 0x48, 0x05, 0xd8, 0xbe, 0x3a, 0x67, 0x06, + 0xf3, 0x7d, 0x30, 0x1e, 0xf6, 0x06, 0x02, 0x7c, 0xf2, 0x7d, 0x82, 0x6e, + 0xba, 0xff, 0x19, 0xfb, 0x97, 0xfe, 0x89, 0x4f, 0x69, 0x24, 0x20, 0x47, + 0x04, 0x2e, 0x3a, 0x6a, 0x7a, 0x7c, 0x3e, 0x85, 0x3b, 0x81, 0xd4, 0x49, + 0x29, 0x6a, 0x7f, 0x88, 0x38, 0xff, 0xfc, 0xf3, 0x27, 0x35, 0x6e, 0xdc, + 0xf8, 0x31, 0x81, 0xf8, 0x92, 0xe2, 0xc6, 0xeb, 0x7a, 0xcf, 0x22, 0x81, + 0x37, 0xbf, 0x6a, 0xd5, 0xaa, 0x33, 0xa4, 0xc3, 0x13, 0x00, 0x92, 0x0e, + 0x90, 0x00, 0xa1, 0xf6, 0xde, 0x85, 0xc0, 0x1e, 0xd5, 0xe0, 0x9b, 0xea, + 0x3b, 0x1a, 0x47, 0x25, 0x81, 0x06, 0x02, 0x8d, 0xc2, 0x58, 0x93, 0x28, + 0x55, 0xa4, 0x2e, 0xd5, 0x49, 0xad, 0xa7, 0x08, 0x1b, 0xc8, 0xc0, 0x49, + 0xb3, 0x66, 0xcd, 0xc6, 0xf0, 0x5d, 0x22, 0x13, 0xa0, 0xe7, 0xb1, 0x15, + 0x4d, 0xb5, 0x6a, 0xd5, 0x66, 0xea, 0xb9, 0x5b, 0x94, 0x66, 0x5e, 0x25, + 0x0f, 0xea, 0xcf, 0x44, 0x03, 0x86, 0x17, 0xa9, 0xf1, 0x90, 0x48, 0x90, + 0xeb, 0x23, 0x3b, 0x58, 0xfe, 0x36, 0xc0, 0xff, 0x97, 0x11, 0x50, 0x2a, + 0x09, 0xc8, 0x11, 0x31, 0x81, 0xac, 0x81, 0x7a, 0x39, 0x65, 0x5b, 0x82, + 0x99, 0x3c, 0x82, 0xad, 0x5f, 0x9a, 0x88, 0x8c, 0x0e, 0x7a, 0x5f, 0x0f, + 0x59, 0x76, 0x3f, 0x49, 0xca, 0xc5, 0x6a, 0x43, 0x64, 0xb5, 0x97, 0xe8, + 0x3c, 0x03, 0x01, 0x04, 0x00, 0xf5, 0x1e, 0x80, 0x6c, 0x45, 0x07, 0x48, + 0xc7, 0xba, 0x02, 0xbd, 0x86, 0x80, 0xae, 0xca, 0x20, 0xb8, 0xac, 0xb5, + 0x4a, 0x56, 0x56, 0xd6, 0x99, 0x34, 0xc6, 0xa9, 0x75, 0xae, 0xb3, 0xd4, + 0xce, 0xd5, 0xf3, 0xe7, 0xeb, 0xbd, 0xb5, 0x21, 0x46, 0xdf, 0xdf, 0x1c, + 0x8b, 0xe6, 0x7f, 0x67, 0x74, 0xeb, 0xa5, 0xef, 0xea, 0xcb, 0xf7, 0x49, + 0xe3, 0xfb, 0xc9, 0x08, 0xd8, 0xe5, 0x9d, 0xfd, 0x3f, 0xdb, 0x01, 0x3c, + 0xd7, 0xc5, 0xf5, 0x31, 0xba, 0x25, 0x32, 0x8e, 0x21, 0xa1, 0xc0, 0x88, + 0x30, 0xa6, 0x1d, 0x05, 0xff, 0x97, 0xfe, 0x23, 0xb7, 0x58, 0x12, 0x88, + 0x09, 0x64, 0x0b, 0xf4, 0x96, 0xc9, 0x9b, 0xe9, 0xac, 0xd9, 0x5f, 0x52, + 0xe1, 0xde, 0x78, 0x44, 0x34, 0xb5, 0xaf, 0x21, 0x33, 0x0b, 0x74, 0x6c, + 0x41, 0xe3, 0x9f, 0x92, 0x00, 0x9c, 0xd7, 0xf8, 0xe7, 0x24, 0x46, 0x9c, + 0x28, 0x7c, 0x09, 0x48, 0x72, 0xf0, 0x93, 0xe4, 0x11, 0x27, 0x08, 0xf0, + 0x63, 0x05, 0xe4, 0xd1, 0x22, 0xec, 0x28, 0x1a, 0xf7, 0x99, 0x30, 0x40, + 0x89, 0x9c, 0x99, 0x1b, 0x02, 0xed, 0x14, 0x59, 0xff, 0x19, 0x00, 0x4a, + 0xe7, 0x89, 0xc9, 0x53, 0x3a, 0x77, 0x1d, 0x48, 0xa1, 0x8c, 0x4c, 0x70, + 0x65, 0x2c, 0x37, 0x32, 0x86, 0xf3, 0x28, 0x28, 0x72, 0x5d, 0x78, 0x2b, + 0xd7, 0xc9, 0xf5, 0x92, 0xd5, 0x61, 0x44, 0x18, 0xd3, 0x8e, 0x82, 0xff, + 0xab, 0xfd, 0x93, 0x9e, 0x4b, 0x02, 0x59, 0x02, 0xa9, 0x1a, 0xf9, 0x32, + 0x2e, 0x1c, 0x15, 0xad, 0xd8, 0xe8, 0xee, 0x70, 0x2c, 0x2c, 0xda, 0x7f, + 0x87, 0xbd, 0x97, 0x19, 0xd0, 0xae, 0x02, 0x29, 0x34, 0xf2, 0xed, 0x68, + 0xbe, 0xe5, 0x29, 0x04, 0x40, 0x7d, 0xe6, 0x78, 0x3a, 0x3f, 0xb2, 0xd8, + 0x23, 0x98, 0x1a, 0x43, 0xf5, 0x51, 0xe7, 0x3d, 0x40, 0xc1, 0x78, 0x7f, + 0x86, 0x48, 0x69, 0xdc, 0x8f, 0x9e, 0x3b, 0x48, 0x04, 0x1c, 0xc2, 0xe4, + 0x01, 0x7d, 0xe7, 0x51, 0x10, 0x45, 0xfa, 0x18, 0x15, 0xce, 0x28, 0x9d, + 0x9f, 0x4a, 0x67, 0x8a, 0xc6, 0xce, 0x87, 0x78, 0x25, 0x52, 0x83, 0x87, + 0x22, 0x37, 0x5c, 0x1f, 0xd7, 0xc9, 0xf5, 0x72, 0xdd, 0x18, 0x91, 0x1f, + 0x70, 0xff, 0xdf, 0xfd, 0x93, 0x5e, 0x69, 0xff, 0x2d, 0x16, 0x15, 0xa8, + 0x76, 0xa6, 0xc7, 0x8c, 0x37, 0x18, 0x11, 0x04, 0x35, 0x6a, 0x29, 0x04, + 0x6a, 0x66, 0x13, 0xd0, 0x8b, 0x06, 0x04, 0x5a, 0xb4, 0x27, 0xdb, 0x91, + 0x00, 0xe2, 0x02, 0xae, 0xb6, 0xaf, 0xc0, 0xde, 0x9b, 0xc9, 0x01, 0xa4, + 0xbc, 0x54, 0x64, 0x69, 0xe7, 0x9e, 0x7b, 0x6e, 0x78, 0x64, 0xb4, 0xae, + 0x75, 0xeb, 0xd6, 0xc8, 0xc5, 0x5e, 0xd2, 0xf8, 0x7d, 0x18, 0xb3, 0x90, + 0x57, 0x1c, 0xc8, 0xe0, 0x11, 0xe7, 0xe1, 0x7c, 0x51, 0x40, 0x0d, 0x1b, + 0x8f, 0xc9, 0xeb, 0x01, 0x3d, 0x1a, 0x4e, 0xdc, 0x87, 0xeb, 0xe3, 0x3a, + 0xa3, 0x38, 0xb6, 0xb3, 0xfb, 0x9f, 0x92, 0x3b, 0x02, 0xfe, 0xaf, 0xfe, + 0x67, 0x9e, 0xf6, 0xef, 0xa9, 0xbe, 0x37, 0x40, 0x44, 0x64, 0x59, 0xd4, + 0x50, 0xf6, 0xc2, 0xcd, 0xa3, 0x38, 0xb1, 0x1f, 0x7b, 0x70, 0xd2, 0xb8, + 0xcf, 0x73, 0xbc, 0xc6, 0x7b, 0xd0, 0x60, 0x40, 0x61, 0x6a, 0x0c, 0x9f, + 0x67, 0x9e, 0x12, 0xc3, 0xa3, 0x10, 0x4b, 0x3b, 0xe2, 0x88, 0x23, 0xc2, + 0x23, 0xcf, 0xd9, 0x77, 0xa0, 0xd9, 0x90, 0x02, 0x51, 0x11, 0x61, 0x8c, + 0xe2, 0xed, 0x1d, 0x9d, 0x33, 0x3c, 0x37, 0x8d, 0x1e, 0x7c, 0x14, 0x60, + 0x77, 0xe7, 0xba, 0xf8, 0x6c, 0x54, 0x6e, 0xff, 0x53, 0xd4, 0xd3, 0xff, + 0xe3, 0x8e, 0xfe, 0x87, 0xe4, 0xbf, 0xe2, 0xef, 0x6c, 0x2b, 0xf9, 0xde, + 0xc0, 0x0f, 0x89, 0xdc, 0x78, 0xa7, 0xa8, 0x7c, 0x91, 0x02, 0x8a, 0x1f, + 0x0e, 0x58, 0x80, 0x4c, 0xe3, 0x3e, 0xcf, 0xf1, 0x9a, 0x0b, 0x78, 0x34, + 0x4b, 0x6f, 0xa7, 0xca, 0x95, 0x2b, 0xef, 0x14, 0x4d, 0x7a, 0x62, 0xce, + 0x52, 0xaa, 0xf1, 0x9c, 0x7d, 0x07, 0x00, 0xda, 0xf7, 0x20, 0x23, 0xf6, + 0x5d, 0x34, 0x88, 0xb4, 0xfb, 0x51, 0xb2, 0x40, 0x27, 0x72, 0x97, 0xe8, + 0xfd, 0x3b, 0x19, 0xf0, 0xbf, 0xf4, 0xdf, 0xd9, 0xfe, 0x1f, 0x3e, 0x38, + 0x36, 0xc3, 0x05, 0x32, 0xae, 0x90, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, + 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __boot_png_len = 10950; +unsigned char __device_cdrom_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe2, 0x98, 0x77, 0x38, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x34, 0xc7, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xdc, 0x7d, 0x69, 0x90, + 0x5c, 0xd7, 0x75, 0xde, 0xbd, 0x6f, 0xe9, 0x6d, 0xba, 0x7b, 0xa6, 0x67, + 0xdf, 0xb0, 0xef, 0x04, 0x08, 0x80, 0x30, 0x49, 0x10, 0x04, 0x29, 0x8a, + 0x92, 0x28, 0x99, 0x22, 0xa9, 0xd5, 0x8e, 0xb7, 0x94, 0x97, 0x54, 0x9c, + 0xa4, 0x12, 0x27, 0x51, 0xd9, 0x65, 0xeb, 0x87, 0x2b, 0x96, 0x2a, 0x29, + 0x55, 0xd9, 0xe5, 0xfc, 0x70, 0x95, 0xca, 0x4a, 0x64, 0x5b, 0xe5, 0x58, + 0xd6, 0x2e, 0x47, 0x62, 0x64, 0x99, 0x20, 0x29, 0x89, 0x34, 0x41, 0x12, + 0x04, 0x40, 0x62, 0x27, 0x41, 0x80, 0x24, 0xb6, 0xc1, 0x0c, 0x30, 0x03, + 0xcc, 0xd6, 0x3d, 0xbd, 0xbf, 0xe5, 0xe6, 0x9c, 0x7b, 0xcf, 0x7d, 0xef, + 0x4e, 0xb3, 0x41, 0x60, 0xc0, 0xcd, 0xf6, 0x00, 0xaf, 0x5e, 0xf7, 0x7b, + 0xaf, 0x5f, 0x77, 0x9f, 0xe5, 0x3b, 0xdf, 0x39, 0xf7, 0xdc, 0xdb, 0x9c, + 0xbd, 0xbf, 0x7f, 0xbc, 0xcd, 0x31, 0x61, 0x3c, 0x4e, 0xc0, 0x96, 0xb2, + 0x1c, 0x37, 0x93, 0x48, 0x24, 0xf2, 0xa9, 0x74, 0xba, 0xbb, 0x2b, 0x9f, + 0xef, 0xcb, 0x64, 0x32, 0x79, 0xc6, 0x39, 0xfc, 0xb7, 0xe4, 0x0d, 0x6c, + 0x1b, 0xf6, 0xf0, 0xbc, 0x5e, 0xaf, 0x97, 0xe0, 0xef, 0x6a, 0xb5, 0x52, + 0x99, 0xa9, 0x37, 0xea, 0x25, 0xaf, 0xd9, 0xac, 0x05, 0x41, 0x50, 0x87, + 0x4b, 0x9a, 0x4b, 0x78, 0xcf, 0xf7, 0xf4, 0xcf, 0x79, 0x9f, 0x05, 0xcf, + 0x0d, 0x01, 0xe0, 0x96, 0x64, 0xdc, 0xea, 0xe9, 0xea, 0xec, 0x5c, 0x36, + 0x34, 0x34, 0xb8, 0x65, 0xc5, 0xe8, 0xc8, 0x96, 0x81, 0xde, 0xae, 0x81, + 0x81, 0x9e, 0xc2, 0x50, 0x57, 0x3e, 0xd7, 0xdd, 0xd5, 0x99, 0xcf, 0x77, + 0x66, 0xb3, 0xa8, 0x88, 0x34, 0x5c, 0xc7, 0x84, 0x65, 0x49, 0x25, 0x30, + 0xcb, 0x66, 0xf8, 0xbc, 0xd1, 0xf4, 0x6a, 0x55, 0x50, 0xc2, 0x42, 0xa5, + 0x5a, 0x2c, 0x95, 0xca, 0xb3, 0xc5, 0xd2, 0xc2, 0xd5, 0xe9, 0xb9, 0xb9, + 0x89, 0x73, 0xe7, 0xce, 0x9d, 0xb8, 0x38, 0x76, 0xf1, 0xd5, 0x99, 0x99, + 0xe9, 0xb1, 0x85, 0x85, 0x85, 0x19, 0x52, 0x08, 0xbe, 0x9f, 0xf5, 0x7e, + 0x2b, 0x82, 0xbf, 0x0f, 0xef, 0xc3, 0x0d, 0x81, 0xe3, 0x5f, 0x26, 0x99, + 0x4c, 0xaf, 0x5d, 0x31, 0x3a, 0xb4, 0x63, 0xf5, 0x8a, 0xd1, 0xad, 0x5b, + 0x36, 0xac, 0xda, 0xbe, 0x61, 0xd5, 0xd0, 0xba, 0xa1, 0xfe, 0x9e, 0xbe, + 0x42, 0x2e, 0x9b, 0x4c, 0xb8, 0x2e, 0x73, 0x6d, 0x1b, 0x24, 0x65, 0x49, + 0x69, 0x85, 0x21, 0x67, 0x21, 0xdc, 0x42, 0x30, 0x9b, 0x85, 0x20, 0x78, + 0x61, 0x71, 0xb5, 0xe7, 0xa0, 0x04, 0xdb, 0x01, 0x5d, 0x80, 0x4d, 0xd9, + 0xae, 0x54, 0x8a, 0x00, 0xa5, 0x84, 0x82, 0xb3, 0x72, 0xb5, 0x5a, 0x9f, + 0x9d, 0x9d, 0x9b, 0x39, 0x77, 0x7e, 0xec, 0xd5, 0x33, 0x67, 0xce, 0x9c, + 0x78, 0xe3, 0x8d, 0x37, 0x8e, 0x9f, 0x39, 0xf3, 0xc6, 0xd1, 0x0b, 0x17, + 0xc6, 0x5e, 0x83, 0x8f, 0x51, 0x35, 0x3e, 0x17, 0x6f, 0x51, 0x82, 0xf8, + 0x97, 0xa0, 0x00, 0xde, 0x46, 0xf0, 0x20, 0x4b, 0xde, 0x37, 0xdc, 0xdf, + 0x7f, 0xc7, 0x9d, 0x5b, 0x37, 0xfc, 0xfc, 0xbd, 0x77, 0x6e, 0xfe, 0xe0, + 0xad, 0x1b, 0x96, 0xad, 0xef, 0x29, 0x64, 0xdc, 0x54, 0xc2, 0x95, 0xa7, + 0x03, 0x10, 0xb4, 0x08, 0x51, 0xe0, 0x4a, 0x88, 0x5c, 0x58, 0xd2, 0xca, + 0x05, 0x9c, 0x43, 0xc1, 0xaa, 0x0d, 0x95, 0x00, 0xe7, 0xb9, 0x03, 0xa7, + 0x50, 0x01, 0x36, 0xe3, 0xa0, 0x00, 0x0e, 0x7b, 0x66, 0xb9, 0xcc, 0x71, + 0x6c, 0xd0, 0x49, 0x02, 0x36, 0x17, 0xf4, 0x61, 0xcb, 0x2d, 0x08, 0x42, + 0x56, 0xad, 0x56, 0xfd, 0xf3, 0x17, 0xc6, 0x5e, 0x3f, 0x70, 0xe0, 0xc0, + 0xd3, 0xfb, 0xf6, 0xed, 0x7b, 0xf2, 0xc4, 0x89, 0x13, 0xfb, 0xcb, 0xe5, + 0xf2, 0x34, 0xbc, 0x71, 0x60, 0x78, 0x85, 0x78, 0x2f, 0x94, 0xc0, 0xdf, + 0xa3, 0x7b, 0x5b, 0xf4, 0x45, 0xdc, 0x64, 0x22, 0xb9, 0x61, 0xdb, 0xfa, + 0xd5, 0x1f, 0xbb, 0xef, 0xae, 0xcd, 0x0f, 0xdc, 0xf3, 0x73, 0xeb, 0x76, + 0xac, 0x5f, 0xd5, 0xdf, 0x93, 0x48, 0x5a, 0xcc, 0xf7, 0x18, 0xf3, 0xe1, + 0xeb, 0x0b, 0x41, 0xc2, 0xc7, 0x97, 0x08, 0x8b, 0xf6, 0x36, 0xdd, 0xc6, + 0x56, 0xca, 0x01, 0xbc, 0x67, 0x20, 0x74, 0x81, 0x56, 0x8e, 0x0a, 0x41, + 0xe1, 0x3b, 0x28, 0x74, 0xa5, 0x08, 0x0e, 0x02, 0x47, 0x45, 0x40, 0xec, + 0x80, 0xc3, 0xca, 0x2b, 0x6c, 0xc7, 0x91, 0x8a, 0xb0, 0x2d, 0x54, 0x0a, + 0x6c, 0x70, 0x2c, 0x04, 0x0d, 0x4f, 0x4c, 0x5c, 0x9a, 0x3d, 0x7a, 0xf4, + 0xd8, 0xe1, 0xbd, 0x7b, 0xf7, 0x3e, 0xb9, 0x6f, 0xdf, 0xf3, 0x7b, 0xc6, + 0xc6, 0xd0, 0x2b, 0x98, 0xdf, 0xc6, 0x53, 0xc5, 0x3f, 0x17, 0x05, 0xb4, + 0xc2, 0x4d, 0x88, 0xb1, 0x06, 0x04, 0xb3, 0xea, 0xee, 0xed, 0x9b, 0x7e, + 0xf9, 0x17, 0x1f, 0xda, 0xf5, 0x4b, 0xbb, 0x7e, 0x6e, 0xd5, 0xa6, 0xbe, + 0x9e, 0xb4, 0x65, 0x81, 0x20, 0xbd, 0x66, 0x28, 0x61, 0x85, 0x87, 0x28, + 0x78, 0x30, 0x41, 0x14, 0x3a, 0x58, 0x7c, 0x18, 0x2a, 0xe1, 0xe2, 0x2d, + 0x04, 0x2a, 0x40, 0xa8, 0x40, 0xab, 0x3c, 0x80, 0xe0, 0x05, 0x04, 0xce, + 0xd0, 0x0b, 0xd0, 0xf2, 0xb5, 0x07, 0x80, 0xe5, 0x5b, 0x0e, 0x2a, 0xc2, + 0x91, 0x7b, 0x14, 0xba, 0x83, 0x82, 0x77, 0xe1, 0xb1, 0x8d, 0x8f, 0x1d, + 0xb9, 0xe1, 0xf5, 0xf8, 0xfe, 0xe8, 0x15, 0x78, 0xdf, 0x62, 0xb1, 0x14, + 0xbc, 0xfc, 0xf2, 0xf1, 0x93, 0x3f, 0xfc, 0xe1, 0xa3, 0xdf, 0x79, 0xfc, + 0xf1, 0x27, 0x7e, 0x30, 0x35, 0x35, 0x79, 0x06, 0xde, 0xdc, 0x33, 0x8c, + 0xe7, 0x5d, 0x81, 0xa5, 0x77, 0x4b, 0x01, 0xfa, 0xbe, 0x20, 0x52, 0x3e, + 0x7a, 0xeb, 0xa6, 0xd5, 0x9f, 0xf9, 0xf4, 0xc3, 0x3b, 0x7f, 0xe9, 0xe3, + 0x1f, 0xd9, 0x7c, 0x77, 0x6f, 0x77, 0x1a, 0x8e, 0x0a, 0x16, 0xc2, 0x57, + 0xe3, 0x3e, 0x08, 0x34, 0xe0, 0x64, 0x67, 0x64, 0xf9, 0xb8, 0x87, 0xe7, + 0x82, 0x14, 0x20, 0x84, 0xda, 0x50, 0x0e, 0x52, 0x01, 0xc2, 0x96, 0xc1, + 0x57, 0x80, 0x80, 0x35, 0x0c, 0xa1, 0xe5, 0x0b, 0x09, 0x31, 0x0a, 0xff, + 0x71, 0xcf, 0xa5, 0xa0, 0x5d, 0x65, 0xf5, 0xb0, 0xb9, 0x2e, 0x3d, 0xb6, + 0x95, 0xf5, 0x5b, 0x96, 0xba, 0x1f, 0xa7, 0xbd, 0x7e, 0x0e, 0x2c, 0x8a, + 0x1d, 0x3c, 0x78, 0xf0, 0xa5, 0xef, 0x7d, 0xef, 0xfb, 0x5f, 0x7f, 0xf2, + 0xc9, 0x27, 0x1e, 0x2d, 0x16, 0x8b, 0x17, 0x5b, 0x60, 0xe9, 0x9f, 0xac, + 0x02, 0x78, 0x0b, 0xdc, 0xe4, 0x47, 0x47, 0x06, 0x1e, 0xfc, 0xe4, 0xa7, + 0xee, 0xfe, 0xad, 0x47, 0x1e, 0xde, 0x7e, 0xff, 0xc8, 0x50, 0xce, 0x41, + 0x8c, 0xb1, 0xc1, 0xb9, 0x6d, 0xb0, 0x70, 0x0b, 0xad, 0x1e, 0x11, 0x37, + 0x40, 0x88, 0xe1, 0x2a, 0xb8, 0xa2, 0xb0, 0x61, 0x1f, 0x08, 0xae, 0x14, + 0x20, 0x54, 0xb0, 0x95, 0x50, 0xc4, 0x95, 0x37, 0x70, 0x1d, 0x7c, 0xa5, + 0x27, 0x38, 0xd2, 0xea, 0xf1, 0xb9, 0x45, 0xb8, 0x8f, 0x56, 0xcf, 0xa4, + 0xa0, 0x13, 0xb0, 0x53, 0x96, 0xef, 0xc0, 0x63, 0x37, 0xe1, 0x4a, 0x18, + 0x92, 0x96, 0x8f, 0x30, 0xa4, 0x05, 0x4f, 0x1e, 0x80, 0x5b, 0x84, 0x97, + 0x70, 0x6e, 0x7a, 0x7a, 0xa6, 0xf1, 0xf4, 0xd3, 0x4f, 0x3f, 0xfb, 0xb7, + 0x7f, 0xfb, 0xf5, 0xbf, 0x7c, 0xfe, 0xf9, 0xe7, 0x9f, 0xf4, 0x3c, 0xaf, + 0x64, 0x78, 0xf4, 0x3b, 0xe6, 0x09, 0xf6, 0x3b, 0x6c, 0xf5, 0x16, 0x7d, + 0xc0, 0x15, 0xbb, 0xef, 0xdb, 0xfe, 0xb9, 0xdf, 0xfd, 0xa3, 0x5f, 0xf8, + 0xe2, 0x47, 0x1e, 0xde, 0x72, 0x4b, 0x47, 0xa7, 0x6b, 0x05, 0x7e, 0x88, + 0x36, 0x2c, 0x37, 0x75, 0xa1, 0x0a, 0xac, 0xf2, 0x7b, 0x0b, 0xcd, 0xe9, + 0xf5, 0x6d, 0x6c, 0xb5, 0x27, 0xc8, 0x91, 0x6f, 0xc0, 0x89, 0x07, 0x49, + 0xda, 0x69, 0x29, 0xac, 0xb7, 0xd4, 0x63, 0x4b, 0xee, 0x1d, 0x15, 0x68, + 0x51, 0xc0, 0x8e, 0x52, 0x04, 0x42, 0x0d, 0x5a, 0xbb, 0x54, 0x84, 0xb4, + 0x7a, 0x12, 0xbe, 0xbc, 0xce, 0x52, 0x0a, 0x21, 0xeb, 0x57, 0x9e, 0x61, + 0x47, 0x9e, 0x90, 0xcb, 0xe5, 0x9c, 0x2d, 0x5b, 0x36, 0xaf, 0xde, 0xb5, + 0x6b, 0xd7, 0x47, 0xc1, 0x7b, 0xb2, 0xa7, 0x4f, 0x9f, 0x7e, 0x0d, 0xf2, + 0x8c, 0xb9, 0x36, 0xd4, 0xf5, 0x7d, 0x55, 0x80, 0x29, 0x78, 0x99, 0x57, + 0xe4, 0x3a, 0x73, 0x1f, 0xfc, 0x95, 0xff, 0xf0, 0xb1, 0x3f, 0xfe, 0xad, + 0xdf, 0xff, 0xf9, 0xdf, 0x18, 0x5d, 0xd3, 0x9d, 0x0a, 0x43, 0x30, 0x73, + 0x00, 0x77, 0x14, 0xb6, 0x4d, 0x36, 0xcc, 0x05, 0x53, 0xb4, 0x12, 0x2d, + 0x5c, 0x48, 0xe9, 0xca, 0xe3, 0x68, 0xf1, 0x78, 0x46, 0x90, 0xf0, 0xd5, + 0x6d, 0x63, 0xb5, 0x49, 0x81, 0x13, 0x03, 0x02, 0x00, 0x87, 0x4b, 0x6c, + 0x15, 0x80, 0xa5, 0x60, 0xd1, 0x1b, 0x2c, 0x19, 0x7c, 0x51, 0xb0, 0x2a, + 0xf0, 0x12, 0xfe, 0x6b, 0xd8, 0x21, 0x01, 0x5b, 0x70, 0x9d, 0xc5, 0xad, + 0x48, 0xf0, 0x16, 0x29, 0x31, 0x82, 0x25, 0xf2, 0x06, 0xdc, 0xf7, 0xf4, + 0xf4, 0xa4, 0x6e, 0xbf, 0xfd, 0xf6, 0xbb, 0x97, 0x2f, 0x5f, 0xbe, 0x09, + 0xf2, 0x89, 0x89, 0x2b, 0x57, 0xae, 0x5c, 0x6a, 0x61, 0x4b, 0xfc, 0xfd, + 0x52, 0x80, 0x09, 0x39, 0xf8, 0xd7, 0xbd, 0x66, 0xf3, 0xca, 0x5f, 0xff, + 0xed, 0xff, 0xfe, 0xd9, 0x2f, 0x7d, 0xf4, 0x5f, 0xdf, 0x71, 0x87, 0x93, + 0x06, 0x96, 0x01, 0x56, 0x6f, 0x73, 0x7d, 0x21, 0x97, 0x8f, 0x25, 0xfc, + 0x70, 0xb5, 0xf1, 0x50, 0x7d, 0x59, 0x85, 0x59, 0x9a, 0x6a, 0xc6, 0x3a, + 0xe5, 0x12, 0x66, 0xf4, 0x35, 0x3a, 0xe9, 0x42, 0xeb, 0xe7, 0xf2, 0x1c, + 0x0a, 0x5e, 0x1e, 0x93, 0xf4, 0x53, 0xc5, 0x00, 0xb4, 0x7c, 0xb4, 0x72, + 0xb4, 0x7a, 0x47, 0x2b, 0xc0, 0x51, 0xd4, 0x14, 0x37, 0x9b, 0x3c, 0xc0, + 0xdc, 0xb4, 0xe0, 0xaf, 0xf5, 0x07, 0x59, 0x38, 0xdb, 0xbc, 0x79, 0xf3, + 0x9a, 0x6d, 0xdb, 0xb6, 0xdd, 0x03, 0x89, 0x9c, 0x77, 0xee, 0xdc, 0xd9, + 0xb3, 0xbe, 0x1f, 0xd4, 0x0c, 0xa6, 0xc4, 0xdf, 0x6b, 0x05, 0xb4, 0x5a, + 0x7e, 0xff, 0x9d, 0x0f, 0xec, 0xf8, 0xfc, 0xbf, 0xff, 0x9f, 0xbf, 0xfa, + 0x87, 0x1b, 0x76, 0xad, 0xea, 0x0f, 0x83, 0x40, 0x59, 0x39, 0x8f, 0x41, + 0x05, 0xad, 0x9d, 0x6b, 0x90, 0x11, 0xfa, 0xb8, 0x25, 0xaf, 0xe3, 0x64, + 0xf9, 0x52, 0x08, 0x82, 0xc7, 0x4a, 0x90, 0x31, 0x80, 0x84, 0x4d, 0x31, + 0x00, 0x59, 0x0f, 0x23, 0xe1, 0x33, 0xcb, 0x84, 0x23, 0x15, 0x07, 0xa4, + 0x90, 0x0d, 0x08, 0x72, 0x48, 0x21, 0x88, 0xf9, 0xb6, 0xb4, 0x7e, 0x3b, + 0xf6, 0x04, 0x0d, 0x5f, 0xd7, 0xfb, 0xb2, 0x64, 0x04, 0xcb, 0x96, 0x2d, + 0xeb, 0xde, 0xb5, 0xeb, 0xae, 0xfb, 0xc3, 0x50, 0xa4, 0x8e, 0x1c, 0x39, + 0x7a, 0x2c, 0x08, 0xfc, 0xca, 0xfb, 0xe1, 0x01, 0xad, 0x96, 0x3f, 0xb2, + 0xfb, 0x91, 0xdd, 0xff, 0xed, 0x37, 0xbe, 0xf4, 0xab, 0xbf, 0xd3, 0xb3, + 0xaa, 0xdb, 0x0d, 0x3c, 0x5f, 0x01, 0x06, 0x8f, 0x35, 0x24, 0x45, 0x27, + 0x34, 0x8b, 0xe7, 0x74, 0x0c, 0x61, 0xc0, 0x50, 0x06, 0x29, 0x88, 0x71, + 0xb2, 0x7c, 0x46, 0xc2, 0xe7, 0x8a, 0x96, 0x4a, 0xe5, 0x70, 0xf2, 0x02, + 0xdc, 0xdb, 0xb6, 0x11, 0x0f, 0x1c, 0x95, 0x03, 0xd8, 0x9a, 0x7a, 0xaa, + 0x4d, 0x0a, 0x9f, 0xe2, 0x02, 0xb7, 0x34, 0xe4, 0x38, 0x86, 0xe5, 0xf3, + 0x25, 0xc9, 0x0f, 0x3f, 0x43, 0x3e, 0x9f, 0x77, 0x76, 0xec, 0xd8, 0x71, + 0x17, 0xdc, 0x33, 0x0f, 0x4a, 0x38, 0xea, 0x79, 0xcd, 0xd2, 0xdb, 0xf1, + 0x04, 0xfb, 0x26, 0x85, 0x6f, 0x13, 0x72, 0xaf, 0xba, 0xef, 0xb3, 0x0f, + 0x7c, 0xe1, 0x5f, 0xfd, 0xd1, 0xaf, 0xfd, 0x66, 0x76, 0x30, 0x6f, 0x05, + 0x5e, 0xa0, 0x84, 0xcb, 0xe3, 0xc4, 0x57, 0x0a, 0x99, 0xfe, 0x59, 0x64, + 0xf5, 0x16, 0xdd, 0xc6, 0xa6, 0x78, 0x20, 0xcf, 0x46, 0x98, 0xaf, 0x84, + 0xa2, 0x33, 0x5f, 0xa9, 0x32, 0xc2, 0x7e, 0x7c, 0x1d, 0xe2, 0x3f, 0x27, + 0xab, 0x67, 0x1a, 0x7e, 0x74, 0x60, 0xd5, 0x10, 0x44, 0x14, 0xd4, 0x31, + 0x32, 0x60, 0xcb, 0xb1, 0x54, 0x5c, 0x58, 0xa2, 0xf0, 0x05, 0x04, 0x29, + 0x33, 0x2e, 0x84, 0x61, 0xc8, 0xd2, 0xe9, 0x34, 0xdf, 0xbe, 0x7d, 0xdb, + 0xf6, 0x64, 0x32, 0x59, 0x38, 0x7e, 0xfc, 0xd8, 0x09, 0x08, 0xce, 0xf3, + 0x06, 0xfb, 0xe3, 0xef, 0x96, 0x02, 0x4c, 0xd8, 0x41, 0x71, 0xac, 0xff, + 0xf0, 0xaf, 0x7e, 0xfa, 0x4b, 0x9f, 0xfa, 0xfc, 0xaf, 0xff, 0x4a, 0xba, + 0x37, 0x0b, 0x2c, 0x27, 0x90, 0x90, 0x23, 0x99, 0x0b, 0xd7, 0x6e, 0xab, + 0x61, 0x88, 0x98, 0x0f, 0xa1, 0x8b, 0x7a, 0x4c, 0x0a, 0x11, 0x74, 0x1d, + 0x3e, 0x0b, 0x89, 0x0d, 0x71, 0x0a, 0xc4, 0x4c, 0xb1, 0x20, 0xce, 0xb5, + 0x77, 0xd8, 0xb4, 0x91, 0x5f, 0x19, 0xf0, 0x13, 0xc5, 0x00, 0x2d, 0x64, + 0xd7, 0x8d, 0xac, 0x5f, 0xe1, 0xbe, 0xa3, 0x20, 0xc8, 0xd2, 0x98, 0x7f, + 0x63, 0xf1, 0xb3, 0x5d, 0x6c, 0x40, 0xa5, 0xa4, 0x52, 0x29, 0x6b, 0xfb, + 0xf6, 0xed, 0xb7, 0x75, 0x76, 0x76, 0x8e, 0x1c, 0x3d, 0x7a, 0xf4, 0x78, + 0xa5, 0x52, 0x99, 0x7d, 0x37, 0x3d, 0xa0, 0x15, 0x76, 0x86, 0xef, 0xfb, + 0xf4, 0xa7, 0xbf, 0xf4, 0xc8, 0xef, 0xfd, 0xbb, 0x5f, 0x74, 0xba, 0x32, + 0x2c, 0x04, 0x96, 0x63, 0x59, 0x31, 0xe6, 0x28, 0x3d, 0x08, 0x12, 0x7c, + 0x04, 0x26, 0x11, 0x04, 0xc5, 0x8f, 0x09, 0x8a, 0xb4, 0x8f, 0x88, 0xf8, + 0x15, 0x3a, 0x16, 0x48, 0x8b, 0xa7, 0xe0, 0xcc, 0x89, 0x01, 0x49, 0x65, + 0xd8, 0x76, 0xa4, 0xac, 0x48, 0x01, 0x04, 0x3d, 0xd2, 0x03, 0xec, 0x58, + 0x01, 0x96, 0x65, 0xe2, 0xbe, 0xb6, 0xfe, 0xa5, 0x13, 0x18, 0x21, 0x44, + 0x94, 0x27, 0xe8, 0xe0, 0xbc, 0x75, 0xeb, 0xd6, 0x5b, 0x40, 0xe1, 0xdd, + 0xfb, 0xf7, 0xef, 0x3f, 0x00, 0xb9, 0xc2, 0xc2, 0x52, 0xe1, 0xc8, 0x5e, + 0xa2, 0xf0, 0xf1, 0x71, 0xcf, 0xb6, 0xbb, 0xef, 0xff, 0x83, 0x87, 0x3f, + 0xf7, 0xbb, 0xbf, 0x99, 0xe8, 0xce, 0x5b, 0x02, 0x85, 0x4f, 0x2e, 0xaa, + 0x84, 0x6e, 0x58, 0xbf, 0x8e, 0x9b, 0x0a, 0xaf, 0xc8, 0x1b, 0x30, 0xb5, + 0xb2, 0x8c, 0x58, 0xa0, 0xd8, 0x90, 0x25, 0xd4, 0x5b, 0x48, 0x8a, 0xa9, + 0x3d, 0x41, 0x06, 0x69, 0x48, 0xd0, 0x38, 0x8f, 0x18, 0x91, 0x45, 0x31, + 0x40, 0x2a, 0x44, 0xb2, 0x20, 0x2a, 0x41, 0x38, 0xaa, 0x0c, 0x21, 0x2d, + 0xdd, 0x25, 0x45, 0xc8, 0xda, 0x10, 0xbc, 0x06, 0x6b, 0x3f, 0x96, 0xf6, + 0x0e, 0x2b, 0xfa, 0x7c, 0x4b, 0x55, 0x40, 0x2b, 0x45, 0x95, 0xbc, 0x1b, + 0xde, 0x67, 0xe3, 0xc6, 0x8d, 0xb7, 0x54, 0x2a, 0x55, 0x76, 0xe8, 0xd0, + 0xe1, 0x43, 0x42, 0x84, 0xf5, 0xa5, 0x28, 0xe1, 0x46, 0x15, 0xa0, 0x63, + 0x69, 0x7a, 0xc5, 0xba, 0xad, 0xff, 0xf6, 0x53, 0xbf, 0xf7, 0x3f, 0x7e, + 0x3f, 0xbf, 0x6c, 0x34, 0x81, 0x01, 0x57, 0xeb, 0x45, 0x11, 0x17, 0x4b, + 0x79, 0x00, 0xe3, 0x8b, 0x94, 0xa2, 0xe0, 0x46, 0xd3, 0x49, 0xda, 0x04, + 0x8b, 0xf9, 0x3d, 0x8b, 0xe3, 0x04, 0xa7, 0xa4, 0x4c, 0xe8, 0xbc, 0xc0, + 0x88, 0x0d, 0x5c, 0x2b, 0x48, 0x6e, 0x0e, 0xb1, 0x20, 0x65, 0xfd, 0x32, + 0x0e, 0x50, 0xd0, 0xc5, 0x9a, 0x8f, 0xf4, 0x06, 0x5b, 0x25, 0x5b, 0xb6, + 0xf4, 0x00, 0xcd, 0xf3, 0x2d, 0xf2, 0x80, 0x9b, 0xcb, 0xa7, 0x74, 0x4c, + 0xd0, 0xde, 0x80, 0x7b, 0x88, 0x09, 0x16, 0x28, 0x61, 0xdb, 0xc4, 0xc4, + 0xc4, 0xdc, 0xab, 0xaf, 0xbe, 0x7a, 0x8c, 0xf2, 0x84, 0x1b, 0xca, 0x96, + 0xed, 0x1b, 0xc4, 0x7d, 0xbc, 0xce, 0xed, 0xed, 0x1b, 0xf9, 0xc4, 0x27, + 0xff, 0xd3, 0x1f, 0x7f, 0xb1, 0x7f, 0xd3, 0xb6, 0x2e, 0xbf, 0xe9, 0x91, + 0x85, 0x5a, 0x11, 0xae, 0x13, 0xf6, 0x10, 0x63, 0x21, 0x8f, 0x90, 0x56, + 0x1b, 0x9d, 0x8a, 0x33, 0x61, 0x11, 0x33, 0x22, 0x0c, 0xc6, 0x58, 0x9a, + 0x40, 0xd8, 0xb1, 0x48, 0x09, 0x8b, 0x92, 0x31, 0x41, 0x19, 0x31, 0x37, + 0xe2, 0x80, 0x14, 0x66, 0xfc, 0x58, 0xd6, 0x7f, 0xc8, 0xca, 0x2d, 0xd7, + 0xa1, 0xcc, 0xd7, 0x31, 0x12, 0x2e, 0x27, 0x82, 0x1f, 0x4e, 0x34, 0xf7, + 0xad, 0xb8, 0xff, 0x5b, 0x79, 0x81, 0x16, 0xbe, 0xf9, 0x1c, 0x62, 0x81, + 0xbb, 0x7e, 0xfd, 0xfa, 0xad, 0x27, 0x4f, 0x9e, 0x3c, 0x7b, 0xf1, 0xe2, + 0xc5, 0x37, 0x6e, 0xb4, 0x6e, 0x74, 0x23, 0x0a, 0x90, 0x8c, 0x27, 0x95, + 0x4c, 0xdf, 0xfe, 0xe0, 0xaf, 0x7f, 0xf1, 0x4f, 0xd7, 0xde, 0xfd, 0xf1, + 0x55, 0x3e, 0xb0, 0x1d, 0xae, 0x38, 0x8c, 0x1c, 0x10, 0x89, 0xe8, 0x21, + 0x21, 0x95, 0x42, 0x08, 0x41, 0x1b, 0x85, 0x6c, 0xcb, 0x0c, 0xc2, 0x3c, + 0x0e, 0xc2, 0x91, 0x47, 0x10, 0x24, 0x09, 0x95, 0x1b, 0x44, 0xea, 0xe1, + 0xb1, 0xf0, 0x15, 0x3d, 0x55, 0x8f, 0x2d, 0x5d, 0x86, 0xb6, 0x95, 0x37, + 0xa8, 0x12, 0x04, 0x95, 0xa0, 0x1d, 0xa2, 0x9e, 0x12, 0x72, 0x78, 0x14, + 0x78, 0x63, 0xde, 0xcf, 0x17, 0x59, 0xf3, 0x8d, 0x5a, 0xfd, 0xb5, 0x02, + 0x33, 0x3e, 0x47, 0x76, 0xd4, 0xdf, 0xdf, 0x9f, 0x1d, 0x1a, 0x1a, 0xda, + 0xf8, 0xc2, 0x0b, 0x2f, 0xbc, 0x58, 0x2c, 0x16, 0x2f, 0xb5, 0x19, 0xe0, + 0xb9, 0x61, 0x05, 0xb4, 0x14, 0x65, 0x58, 0xf7, 0xcf, 0xdd, 0xfb, 0xd9, + 0xcf, 0xef, 0xfc, 0xf4, 0xe7, 0x1e, 0x10, 0x68, 0x69, 0x82, 0x45, 0xb5, + 0x1a, 0x0d, 0x24, 0xf1, 0x8b, 0x94, 0x3b, 0xa8, 0x6c, 0x95, 0x04, 0x2e, + 0x85, 0x4f, 0x94, 0xd4, 0xe2, 0xcc, 0x2c, 0x32, 0xe0, 0x3f, 0x27, 0x12, + 0xbc, 0x51, 0x0f, 0xd2, 0xcc, 0x87, 0xca, 0xd3, 0x5a, 0x11, 0x8a, 0x92, + 0x12, 0x13, 0xe2, 0xaa, 0x0c, 0xc1, 0x2d, 0x9d, 0xe9, 0x3a, 0x44, 0x37, + 0x5d, 0x82, 0x1e, 0x2b, 0x4a, 0xd0, 0xcc, 0x0a, 0x68, 0x94, 0x9b, 0xdf, + 0xa0, 0x07, 0x98, 0xd7, 0xb5, 0xd2, 0xd2, 0x36, 0xc9, 0x5a, 0x7f, 0xad, + 0x56, 0x4b, 0x3e, 0xff, 0xfc, 0xf3, 0xcf, 0x81, 0x52, 0xae, 0x9b, 0x2d, + 0xdf, 0x88, 0x02, 0xdc, 0x81, 0xa1, 0x95, 0xbf, 0xf0, 0xe0, 0x6f, 0x7e, + 0xe9, 0x73, 0xe9, 0x9e, 0xe1, 0xa4, 0x64, 0x3c, 0x91, 0x80, 0xac, 0x38, + 0x58, 0x32, 0x03, 0xab, 0x29, 0xc8, 0xe9, 0xbd, 0x34, 0x52, 0x6e, 0x5c, + 0x41, 0xb0, 0xa4, 0xbd, 0xc0, 0xd2, 0xf5, 0x21, 0xa1, 0x3c, 0x41, 0x65, + 0xc6, 0x94, 0x09, 0x0b, 0x15, 0x7c, 0x75, 0x28, 0x12, 0x1a, 0xb4, 0xa8, + 0xf6, 0xa3, 0xeb, 0x40, 0x3a, 0x0e, 0x28, 0xe1, 0xd3, 0x63, 0xca, 0x19, + 0xac, 0x45, 0xf4, 0x93, 0xb3, 0xb7, 0x5b, 0x04, 0xbe, 0x96, 0xe2, 0x50, + 0x39, 0x18, 0x94, 0x47, 0x47, 0x47, 0x57, 0x01, 0x14, 0x9d, 0x3f, 0x77, + 0xee, 0xdc, 0x2b, 0xd7, 0x83, 0x22, 0xfb, 0x3a, 0xd0, 0x63, 0xb9, 0xae, + 0xbb, 0xe5, 0x63, 0x9f, 0xfd, 0xdd, 0x2f, 0xac, 0xdc, 0xfe, 0xe1, 0x55, + 0x41, 0xe8, 0x4b, 0xe0, 0x11, 0x86, 0xd0, 0x23, 0xca, 0xc8, 0x54, 0x5d, + 0x5f, 0x65, 0xaa, 0xba, 0x7a, 0xa9, 0xc8, 0xbf, 0x65, 0x91, 0xd5, 0x18, + 0x30, 0x24, 0x15, 0x10, 0xd1, 0x50, 0x2a, 0x55, 0x08, 0xf2, 0x04, 0xfa, + 0x08, 0x3a, 0x33, 0x66, 0x5a, 0xd1, 0x9a, 0xff, 0xa3, 0x37, 0x20, 0x59, + 0xd2, 0xef, 0x4b, 0xb9, 0x80, 0xed, 0xba, 0x51, 0x05, 0x54, 0x56, 0x44, + 0x75, 0xd1, 0xcd, 0x56, 0xca, 0xd0, 0x0c, 0xc8, 0x54, 0xc0, 0xb5, 0x2c, + 0xfa, 0x7a, 0xc2, 0x37, 0xe3, 0x40, 0x2b, 0x14, 0x65, 0xb3, 0xd9, 0x64, + 0x47, 0x47, 0xc7, 0xd0, 0x73, 0xcf, 0x3d, 0x77, 0x10, 0xf2, 0x83, 0xab, + 0x6f, 0xa5, 0x04, 0xfb, 0x2d, 0x58, 0x0f, 0x9e, 0xeb, 0xda, 0x71, 0xc7, + 0x87, 0xfe, 0xeb, 0x07, 0x3e, 0xf5, 0x3b, 0x9f, 0x42, 0xe8, 0xa1, 0xf1, + 0xa9, 0x45, 0x97, 0xa1, 0xe0, 0xb4, 0x02, 0x22, 0x01, 0xe9, 0xf8, 0xa0, + 0x99, 0x10, 0x05, 0xe8, 0xa8, 0x08, 0x67, 0xb8, 0xac, 0x59, 0xef, 0xb4, + 0x51, 0xc8, 0x06, 0x05, 0x95, 0x89, 0x1d, 0x48, 0xda, 0x0f, 0x19, 0xab, + 0x7b, 0x8c, 0x15, 0xeb, 0x9c, 0xcd, 0xc3, 0x56, 0x6c, 0x70, 0x56, 0x6a, + 0x30, 0xb6, 0xe0, 0x71, 0x56, 0xf5, 0x05, 0xab, 0x79, 0x82, 0x35, 0xe0, + 0x75, 0xbe, 0x1c, 0x51, 0x63, 0x46, 0xc6, 0x4b, 0xa3, 0x5f, 0x9c, 0x0a, + 0x78, 0x3a, 0x29, 0x6c, 0xc1, 0xf3, 0xa5, 0x2a, 0x41, 0x0b, 0xbf, 0xdd, + 0xf5, 0x5a, 0x09, 0x10, 0x0b, 0x86, 0xe7, 0xe6, 0xe6, 0x9a, 0x87, 0x0f, + 0x1f, 0x3e, 0x00, 0xd7, 0x37, 0x6e, 0xd4, 0x03, 0x4c, 0xe8, 0xb1, 0xba, + 0x0b, 0x3d, 0x0f, 0x7c, 0xe2, 0xd7, 0x7e, 0xff, 0x0f, 0x3b, 0x87, 0xd6, + 0xa4, 0x05, 0x58, 0x3f, 0x37, 0xf1, 0xce, 0x28, 0x21, 0x70, 0xb6, 0xb8, + 0x8e, 0xc3, 0xa2, 0x5a, 0x90, 0x86, 0x29, 0x7a, 0x1c, 0x15, 0x3b, 0xe3, + 0xd7, 0xc5, 0x30, 0xa4, 0xbc, 0xc0, 0x21, 0xc1, 0xe3, 0x80, 0x7c, 0xad, + 0xca, 0xd8, 0xf4, 0x7c, 0xc0, 0xa6, 0xe6, 0x05, 0x9b, 0x29, 0x33, 0x56, + 0x02, 0x86, 0x5d, 0x03, 0x82, 0xd7, 0x84, 0x73, 0x3e, 0x28, 0x06, 0xbb, + 0x23, 0xb0, 0xf8, 0x21, 0xf7, 0xa1, 0x60, 0x1e, 0x68, 0x00, 0x92, 0x21, + 0xd6, 0x68, 0xfa, 0xac, 0xd9, 0x6c, 0xc2, 0x63, 0x5f, 0xc2, 0x8e, 0x8b, + 0xac, 0x08, 0x19, 0x91, 0x56, 0xc2, 0x35, 0x04, 0xb7, 0x14, 0x1a, 0xfa, + 0x56, 0xe7, 0x51, 0x01, 0x98, 0xa4, 0x0d, 0x0c, 0x0c, 0xac, 0x79, 0xf1, + 0xc5, 0x17, 0x8f, 0x4d, 0x4d, 0x4d, 0xbd, 0x71, 0x2d, 0x5a, 0x6a, 0x5f, + 0x23, 0xe1, 0xc2, 0xad, 0xe7, 0xce, 0xdd, 0x0f, 0xfc, 0xe7, 0x1d, 0x1f, + 0xf8, 0xcc, 0xce, 0x40, 0x10, 0x66, 0x4b, 0xc1, 0x86, 0x46, 0x7d, 0x47, + 0x28, 0xbc, 0xd6, 0x16, 0xbb, 0x28, 0x88, 0x52, 0xed, 0x86, 0xa9, 0xe4, + 0x89, 0x6b, 0x58, 0xb2, 0x62, 0x28, 0xb2, 0x09, 0x9a, 0x6c, 0x82, 0x2b, + 0x47, 0x26, 0x61, 0x8c, 0x95, 0xe7, 0x7d, 0x36, 0x3d, 0xe9, 0xb3, 0xab, + 0x33, 0x82, 0x95, 0x21, 0x8c, 0x79, 0x21, 0xbd, 0x87, 0x51, 0x54, 0xb3, + 0x74, 0x75, 0x93, 0x1b, 0xf5, 0x7d, 0xdc, 0x23, 0x13, 0xc2, 0x71, 0x02, + 0x10, 0x84, 0xef, 0xfb, 0xd8, 0xac, 0xc5, 0x1a, 0x8d, 0x66, 0x94, 0xb9, + 0xa2, 0x67, 0xdc, 0xac, 0xf0, 0xaf, 0xe7, 0x31, 0x78, 0x5c, 0x6f, 0xa8, + 0x84, 0x7c, 0x3e, 0x9f, 0x99, 0x9e, 0x9e, 0xf6, 0x20, 0x4b, 0x7e, 0x16, + 0x8e, 0xd5, 0x0d, 0x28, 0xe2, 0xd7, 0x52, 0x00, 0xa7, 0x66, 0x2d, 0x1b, + 0x30, 0xec, 0xce, 0x07, 0x3f, 0xf5, 0x6f, 0xfe, 0x4b, 0xf7, 0xd0, 0xba, + 0xbc, 0x10, 0x1e, 0x05, 0x4f, 0x5d, 0x5c, 0x13, 0x51, 0x30, 0x55, 0xd6, + 0xad, 0x05, 0x4f, 0x31, 0x40, 0x28, 0x81, 0x18, 0xbc, 0x48, 0x32, 0x16, + 0x8b, 0xab, 0xf7, 0xb6, 0x8c, 0xdc, 0x00, 0x4f, 0x3a, 0x96, 0x3a, 0xd6, + 0x5c, 0x00, 0xc1, 0x8f, 0xd7, 0xd9, 0xfc, 0x54, 0xc8, 0x9a, 0x35, 0x4e, + 0x0a, 0xa3, 0x01, 0x17, 0x5b, 0x8d, 0x74, 0xe1, 0xd8, 0xae, 0x93, 0x70, + 0x98, 0x8b, 0x74, 0xd3, 0x4d, 0x48, 0x98, 0x49, 0xb8, 0x6a, 0xd4, 0xcb, + 0x75, 0x9c, 0xa8, 0xce, 0xa3, 0x13, 0x2f, 0xfc, 0x53, 0x8a, 0x68, 0x48, + 0xaf, 0x40, 0x48, 0xc2, 0x7b, 0xdc, 0x4c, 0x0e, 0x70, 0x2d, 0xc5, 0x99, + 0x71, 0x01, 0x05, 0xaf, 0xf7, 0xa8, 0xec, 0x64, 0x32, 0xd9, 0x0d, 0x8c, + 0xe8, 0x20, 0xc0, 0xd1, 0x58, 0x3b, 0x5a, 0x6a, 0xb7, 0xc1, 0x7e, 0x54, + 0x40, 0xee, 0xb6, 0x1d, 0x3b, 0x7f, 0xfb, 0xee, 0x0f, 0xfd, 0xe2, 0x47, + 0x90, 0x6b, 0xdb, 0x3c, 0x24, 0xec, 0x17, 0xaa, 0x50, 0x1c, 0x29, 0x41, + 0x44, 0xe5, 0x07, 0x35, 0xa4, 0xa2, 0x07, 0x4b, 0xe2, 0xac, 0x56, 0x17, + 0xe8, 0xac, 0x68, 0x60, 0x9d, 0x91, 0x12, 0x94, 0xb2, 0x6c, 0x7c, 0x00, + 0x1f, 0xb8, 0x72, 0xb5, 0xce, 0xe6, 0x2e, 0xd6, 0x59, 0xb3, 0x82, 0xa5, + 0x0a, 0x5b, 0x1d, 0x47, 0x8a, 0x0a, 0x02, 0x4e, 0xa5, 0x92, 0xd2, 0xb2, + 0xab, 0xf5, 0x86, 0x98, 0x9b, 0x2f, 0x36, 0x27, 0xaf, 0x5c, 0x6d, 0x8c, + 0x5f, 0xba, 0x5c, 0x19, 0x1f, 0x1f, 0xaf, 0x5d, 0xba, 0x7c, 0xb9, 0x36, + 0x33, 0x33, 0xdb, 0xa8, 0xd6, 0xaa, 0x41, 0xa3, 0xd9, 0x14, 0x20, 0x5c, + 0x0b, 0x8c, 0x87, 0x27, 0xdc, 0xc4, 0x9b, 0x28, 0x22, 0xc2, 0x13, 0x7a, + 0x04, 0xfe, 0xa5, 0x52, 0x29, 0xa9, 0xa0, 0xd6, 0x60, 0xba, 0x54, 0x6f, + 0x30, 0xf7, 0x5a, 0xf8, 0x5a, 0x01, 0x41, 0x10, 0xe0, 0xd0, 0x66, 0x7e, + 0x72, 0x72, 0xb2, 0x74, 0xe8, 0xd0, 0xa1, 0x7d, 0xd4, 0x65, 0x11, 0x9a, + 0x4a, 0x70, 0xda, 0x61, 0x7f, 0x3a, 0x95, 0xda, 0x7c, 0xd7, 0xdd, 0x1f, + 0x79, 0x30, 0x91, 0xcc, 0x00, 0xb6, 0x7a, 0xd2, 0xed, 0x43, 0x2e, 0x7b, + 0xd1, 0xe0, 0xe6, 0xb0, 0xc9, 0x7b, 0xa0, 0x9b, 0x3b, 0xf2, 0xb9, 0x0c, + 0x08, 0xc2, 0xa1, 0x0f, 0x41, 0xde, 0x00, 0x7b, 0xe1, 0xcb, 0x9d, 0x54, + 0x4a, 0xc0, 0x6c, 0x1a, 0x7f, 0x55, 0x8a, 0xc1, 0x22, 0x06, 0x96, 0x08, + 0x40, 0x66, 0xac, 0x78, 0xa9, 0xc4, 0x82, 0xe9, 0x06, 0x4b, 0x00, 0xd4, + 0x24, 0x13, 0xa0, 0x5a, 0x4f, 0x79, 0x55, 0xda, 0x4e, 0xb2, 0x6a, 0xa5, + 0xc9, 0x4e, 0x9d, 0xba, 0xb8, 0x70, 0xf6, 0xe2, 0xa5, 0xf9, 0xf1, 0xc9, + 0xab, 0xb3, 0xf3, 0xa5, 0x85, 0x39, 0xc0, 0xf6, 0x06, 0xca, 0x13, 0xee, + 0x17, 0x90, 0x00, 0xc0, 0xd8, 0x6c, 0x27, 0x99, 0x48, 0xa4, 0xba, 0x7b, + 0x7a, 0x3a, 0x57, 0xac, 0x58, 0xd1, 0xb7, 0x69, 0xd3, 0xa6, 0xae, 0x35, + 0x6b, 0x56, 0x67, 0x33, 0x99, 0x0e, 0xe9, 0x01, 0xd2, 0x78, 0xe0, 0xfd, + 0x50, 0x30, 0x60, 0x8d, 0xd2, 0x1b, 0x7a, 0x7b, 0x7b, 0xa5, 0x47, 0xe0, + 0xb1, 0x76, 0x01, 0xb6, 0x1d, 0xd3, 0x31, 0xcf, 0x99, 0xe5, 0x08, 0xd3, + 0xfa, 0xf5, 0x71, 0x7c, 0x8e, 0x8a, 0x7e, 0xf0, 0xc1, 0x07, 0x1f, 0x7a, + 0xfc, 0xf1, 0xc7, 0x1f, 0xbd, 0x70, 0xe1, 0xc2, 0xf3, 0x2d, 0x6d, 0x2e, + 0xc2, 0x69, 0xe3, 0x01, 0xe9, 0x8d, 0x1b, 0x36, 0x3c, 0xb8, 0x66, 0xfd, + 0xb6, 0x35, 0x22, 0xf0, 0xc9, 0x12, 0x11, 0xeb, 0x05, 0xa3, 0x0c, 0x4c, + 0xbd, 0x01, 0x3c, 0x56, 0xff, 0x42, 0xc6, 0xf4, 0x07, 0x0d, 0x85, 0xaa, + 0x73, 0x0a, 0xea, 0x34, 0xc0, 0xf8, 0xe0, 0x3b, 0x92, 0x0d, 0x89, 0x50, + 0x05, 0x4b, 0x9f, 0xab, 0x5a, 0x3f, 0xf6, 0xf2, 0x34, 0xaa, 0x65, 0x56, + 0x9a, 0xac, 0xb1, 0x10, 0x30, 0x3f, 0x85, 0x82, 0xb0, 0x42, 0x49, 0x2d, + 0x93, 0x09, 0x97, 0x85, 0xd5, 0x80, 0xed, 0x3b, 0xfc, 0xf2, 0xec, 0xa1, + 0x63, 0xaf, 0x8d, 0x5d, 0x9d, 0x2d, 0x5e, 0x81, 0x7b, 0xcc, 0x75, 0x64, + 0x32, 0x4d, 0xb0, 0xa8, 0x20, 0x91, 0x48, 0x8a, 0x44, 0xc2, 0x0d, 0xc1, + 0x82, 0x05, 0x59, 0x1f, 0x07, 0x21, 0x5b, 0x60, 0xe1, 0xbc, 0x54, 0x5a, + 0xb0, 0x0f, 0x1c, 0x38, 0x98, 0x02, 0xf6, 0x91, 0x07, 0x26, 0x32, 0x78, + 0xf7, 0xdd, 0xbb, 0x97, 0xdf, 0x76, 0xdb, 0xf6, 0x02, 0x8e, 0x0d, 0xa0, + 0x45, 0x6a, 0x01, 0x02, 0x3d, 0x94, 0xdf, 0xa3, 0xa7, 0xa7, 0x47, 0xc6, + 0x06, 0xad, 0x84, 0x1b, 0xcd, 0x8c, 0x4d, 0x45, 0xe0, 0x6b, 0xf5, 0x66, + 0x5a, 0x3f, 0x9e, 0xc7, 0xfd, 0xfa, 0xf5, 0xeb, 0x57, 0xec, 0xdc, 0xb9, + 0xf3, 0xc3, 0xa0, 0x80, 0x43, 0xe4, 0x01, 0x91, 0x17, 0xd8, 0xad, 0x05, + 0x37, 0x78, 0xcd, 0x8a, 0x0f, 0x3f, 0xf0, 0xc8, 0x7f, 0x5c, 0xb9, 0x6e, + 0xe7, 0xf2, 0x68, 0x40, 0x45, 0xf3, 0x76, 0xae, 0x32, 0x5a, 0xae, 0x39, + 0x3c, 0x05, 0xe4, 0x28, 0x3e, 0x44, 0x71, 0x42, 0x50, 0xa7, 0x03, 0xd5, + 0x83, 0x74, 0x8d, 0x87, 0xba, 0xdd, 0x30, 0x78, 0xe2, 0x07, 0xab, 0x8e, + 0xcf, 0x32, 0xbf, 0x58, 0x53, 0x81, 0x11, 0x6e, 0x84, 0x25, 0x84, 0x74, + 0x3a, 0xc9, 0xce, 0xbd, 0x31, 0x51, 0x7b, 0xf4, 0xd1, 0x67, 0x4e, 0x1f, + 0x3a, 0xfe, 0xc6, 0x89, 0x90, 0xdb, 0x63, 0x85, 0x42, 0x61, 0xae, 0xa7, + 0xbb, 0xa7, 0xde, 0xd5, 0xd5, 0x55, 0xef, 0xec, 0xec, 0x6c, 0x74, 0x74, + 0x64, 0x9a, 0x99, 0x4c, 0xa6, 0x0e, 0xd6, 0xe5, 0xa5, 0xd3, 0x69, 0x0f, + 0xf6, 0x0d, 0x78, 0xee, 0x03, 0xf4, 0x78, 0xc0, 0xc1, 0x03, 0x08, 0x7e, + 0x1e, 0x28, 0xa8, 0x3c, 0x3f, 0x3f, 0x3f, 0x7b, 0xec, 0xd8, 0xb1, 0x2b, + 0x67, 0xce, 0x9c, 0xa9, 0x83, 0xb5, 0xe7, 0x07, 0x07, 0x07, 0xdd, 0x30, + 0x14, 0xd2, 0x6b, 0x11, 0x7e, 0xd0, 0x0b, 0x70, 0xc3, 0x5e, 0x5f, 0xf4, + 0x84, 0x6b, 0x59, 0xfc, 0xb5, 0xaa, 0xa2, 0xad, 0x98, 0xdf, 0xce, 0x13, + 0xf0, 0x31, 0x5e, 0x0b, 0x9f, 0x45, 0x40, 0x2c, 0xf8, 0x47, 0x30, 0x94, + 0xf9, 0x56, 0x05, 0x98, 0xc1, 0xd7, 0xe9, 0xe9, 0x29, 0xec, 0xfe, 0xd8, + 0x83, 0xbf, 0xf4, 0x1b, 0xf9, 0xc2, 0x48, 0x06, 0xaf, 0xb3, 0x74, 0x65, + 0x53, 0x57, 0x39, 0xa9, 0xac, 0xc0, 0x49, 0x39, 0x56, 0x54, 0xfb, 0x0f, + 0xe3, 0x00, 0x6d, 0x69, 0x2a, 0x25, 0xa2, 0x01, 0x19, 0x4b, 0x27, 0x57, + 0x92, 0xe9, 0x08, 0x56, 0x9f, 0x9a, 0x06, 0xcb, 0xaf, 0x4a, 0x18, 0xc2, + 0x17, 0xba, 0x8e, 0x1a, 0xa9, 0xda, 0xff, 0xf4, 0x91, 0x2b, 0x3f, 0xdd, + 0xb3, 0xff, 0x70, 0xa3, 0x11, 0xbe, 0x3e, 0x30, 0xd0, 0x5f, 0x2c, 0x74, + 0x75, 0x35, 0xf3, 0xf9, 0xce, 0x3a, 0x08, 0xb6, 0x96, 0x4e, 0x67, 0x7c, + 0x74, 0xe9, 0x54, 0x2a, 0xed, 0x80, 0x17, 0x24, 0xe0, 0x71, 0x2a, 0xa1, + 0xfe, 0x1c, 0x08, 0x76, 0x1c, 0x36, 0xf4, 0x8e, 0x06, 0xc4, 0x8c, 0x26, + 0x5c, 0x13, 0x66, 0xb3, 0x1d, 0x61, 0x26, 0x93, 0xae, 0x5e, 0xb9, 0x72, + 0x05, 0x15, 0x51, 0x82, 0xf7, 0xee, 0x58, 0xb9, 0x72, 0x79, 0x07, 0x7e, + 0x0e, 0x14, 0x0c, 0x2a, 0x01, 0xe1, 0x09, 0x63, 0x03, 0x2a, 0xe1, 0x46, + 0xc6, 0x87, 0x4d, 0x2f, 0x40, 0x23, 0x6a, 0xa7, 0x04, 0x0d, 0x3f, 0xda, + 0x13, 0xe8, 0x58, 0xee, 0x85, 0x17, 0x5e, 0x38, 0x38, 0x3b, 0x3b, 0xfb, + 0x7a, 0xdc, 0xb4, 0x16, 0x2b, 0xc0, 0xa6, 0x2d, 0x73, 0xeb, 0x96, 0x6d, + 0xbf, 0xbc, 0xeb, 0xde, 0x4f, 0x7c, 0xd8, 0x71, 0x52, 0x71, 0x1d, 0x5f, + 0x17, 0xcc, 0x78, 0x4b, 0x29, 0x81, 0xc5, 0x0a, 0xb0, 0xf4, 0x26, 0xeb, + 0xfd, 0x42, 0x05, 0x6e, 0x6e, 0x8c, 0x09, 0x47, 0xf7, 0x02, 0xe8, 0x99, + 0x9d, 0x61, 0xc1, 0x6c, 0x11, 0xae, 0xb1, 0x25, 0x3c, 0x39, 0x09, 0x57, + 0x9e, 0xdb, 0xfb, 0xe3, 0xa7, 0xc7, 0x0e, 0x3f, 0x77, 0xec, 0x60, 0x57, + 0x67, 0x61, 0xaa, 0xbf, 0xbf, 0x0f, 0x85, 0x0e, 0xd6, 0xde, 0x01, 0x82, + 0x4f, 0x07, 0x20, 0xdc, 0x0e, 0xf0, 0x90, 0x6e, 0x10, 0x56, 0xbe, 0xd1, + 0xa8, 0xa7, 0x21, 0x98, 0x26, 0xe0, 0xb1, 0x03, 0x7b, 0xa7, 0xd1, 0x68, + 0x24, 0x41, 0x90, 0x1d, 0xa0, 0xc0, 0x3c, 0x5c, 0x93, 0x04, 0xe1, 0x73, + 0xf0, 0x80, 0x3a, 0xf0, 0xff, 0x26, 0x28, 0x47, 0x64, 0xb3, 0xb9, 0xb0, + 0xd9, 0xf4, 0x16, 0x8e, 0x1e, 0x3d, 0x3a, 0x0d, 0xd0, 0x93, 0x01, 0x48, + 0xe8, 0xd4, 0x01, 0x18, 0x37, 0xf4, 0x02, 0x2a, 0x2b, 0x5f, 0xb7, 0x04, + 0x6d, 0x42, 0x8e, 0x09, 0x37, 0xad, 0xc7, 0xf4, 0x71, 0xbd, 0x81, 0x87, + 0xa5, 0x4f, 0x9d, 0x3a, 0x75, 0xfe, 0xf4, 0xe9, 0xd3, 0x07, 0x58, 0x3c, + 0x5f, 0x41, 0x2c, 0x0a, 0xc2, 0xf0, 0x37, 0xb0, 0x69, 0xd3, 0xd6, 0xbb, + 0x3a, 0xb2, 0x5d, 0x60, 0x15, 0x22, 0x62, 0x30, 0xf2, 0x02, 0xcb, 0xc8, + 0x1e, 0x65, 0x0c, 0xd0, 0xfd, 0x3c, 0x2a, 0x12, 0xa0, 0x07, 0x60, 0x3c, + 0x96, 0x28, 0x83, 0xde, 0x25, 0x94, 0x22, 0x64, 0xd0, 0x0e, 0xa9, 0x78, + 0x06, 0x6f, 0xe7, 0x57, 0xca, 0x2c, 0x9c, 0x9d, 0x95, 0x83, 0x32, 0x78, + 0xbd, 0x0d, 0x8e, 0x27, 0x20, 0x81, 0xda, 0xbb, 0xe7, 0xc9, 0xf3, 0x67, + 0x8f, 0x9f, 0x7a, 0x09, 0x60, 0x7b, 0x1e, 0x60, 0x06, 0x60, 0x25, 0x8d, + 0x10, 0xe3, 0xc3, 0x07, 0xcf, 0x05, 0x81, 0xdf, 0x55, 0xa9, 0x94, 0x2d, + 0x80, 0x8f, 0x32, 0xb0, 0x9c, 0x39, 0x80, 0x9b, 0x26, 0xec, 0x3d, 0x38, + 0x27, 0x54, 0xe6, 0x29, 0x38, 0x5c, 0x03, 0x8a, 0xa8, 0x27, 0xab, 0x55, + 0xbf, 0x03, 0xce, 0x75, 0xc1, 0x6b, 0xf3, 0x10, 0x80, 0x4b, 0x89, 0x84, + 0x0f, 0x5b, 0xd3, 0x83, 0x63, 0x01, 0x78, 0x86, 0xff, 0xc2, 0x0b, 0xfb, + 0x0f, 0xa2, 0xf5, 0x7d, 0xf2, 0x93, 0x9f, 0x5c, 0xa9, 0x2d, 0x15, 0x95, + 0x81, 0x2d, 0x89, 0x18, 0x0b, 0x40, 0xe9, 0x6f, 0xaa, 0xf9, 0xb7, 0xe3, + 0xf8, 0xe6, 0xf3, 0x76, 0x5b, 0xab, 0x62, 0xc0, 0x90, 0xd8, 0xf6, 0xed, + 0xb7, 0xed, 0xdc, 0xb3, 0x67, 0xcf, 0x00, 0x28, 0xbc, 0xaa, 0x3d, 0xc0, + 0x31, 0x19, 0x10, 0xc0, 0xcf, 0xa6, 0xd5, 0x6b, 0x37, 0x6d, 0x90, 0x98, + 0x6d, 0x29, 0x48, 0x11, 0x14, 0x18, 0x44, 0x54, 0xef, 0x57, 0xcf, 0x75, + 0xed, 0x47, 0x95, 0xeb, 0x15, 0x24, 0x61, 0x91, 0x5f, 0xe8, 0x0f, 0x2e, + 0x63, 0xbd, 0x8a, 0x37, 0x21, 0x97, 0xfd, 0xb9, 0xc0, 0x6e, 0x7c, 0x16, + 0xce, 0x4d, 0x32, 0x37, 0x68, 0xc8, 0xd1, 0x2b, 0x8c, 0x13, 0xae, 0x95, + 0x64, 0x87, 0x9e, 0x79, 0xe2, 0xf2, 0xb9, 0x97, 0x5f, 0x39, 0x3c, 0x34, + 0x3c, 0x3c, 0x07, 0xf8, 0x8d, 0x78, 0x5e, 0x47, 0x48, 0x01, 0x8b, 0xee, + 0x2f, 0x16, 0x4b, 0x69, 0x50, 0x62, 0x09, 0x8e, 0xc1, 0xb9, 0xce, 0x06, + 0x06, 0xdf, 0xb8, 0xe0, 0xc7, 0x69, 0xe8, 0x81, 0xa3, 0x22, 0x80, 0x19, + 0x59, 0x15, 0xdf, 0xf7, 0xe6, 0x17, 0x16, 0x16, 0x52, 0xe5, 0x72, 0xa5, + 0xd0, 0x6c, 0x36, 0x0a, 0x9d, 0x9d, 0x5d, 0x19, 0x50, 0xd4, 0x14, 0xdc, + 0xab, 0x62, 0xdb, 0x16, 0xc4, 0x7a, 0x77, 0xee, 0xc0, 0x81, 0x03, 0x87, + 0xc1, 0x2b, 0x92, 0x1f, 0xfd, 0xe8, 0x03, 0x43, 0x5a, 0x48, 0xf8, 0x99, + 0x01, 0x1e, 0x54, 0x9e, 0xe1, 0x38, 0x6d, 0xeb, 0x3d, 0xa6, 0x70, 0x5b, + 0x69, 0xa7, 0xf9, 0x1c, 0xef, 0x89, 0xb0, 0x66, 0x7a, 0x01, 0x1e, 0xdf, + 0xb0, 0x61, 0xfd, 0xc6, 0x81, 0x81, 0xc1, 0x8d, 0x17, 0x2f, 0x8e, 0x8d, + 0xd1, 0xa0, 0x8d, 0x6e, 0xb2, 0x61, 0xd8, 0x94, 0x9f, 0x5a, 0xb1, 0x7c, + 0xe5, 0x47, 0x3f, 0x78, 0xff, 0xc3, 0x0f, 0xbb, 0xc9, 0x0c, 0x57, 0xd3, + 0x20, 0xe2, 0xe0, 0xab, 0xb2, 0x56, 0x46, 0x35, 0x1b, 0x6e, 0x04, 0x67, + 0xae, 0x86, 0xfd, 0x68, 0x60, 0x9d, 0x5b, 0x62, 0x11, 0x3c, 0xd9, 0x32, + 0x50, 0x0b, 0xc9, 0xa6, 0xfc, 0xea, 0x3c, 0xb3, 0xcb, 0x57, 0x20, 0xe3, + 0x55, 0xaf, 0x4d, 0x25, 0x52, 0xec, 0xdc, 0xeb, 0x27, 0x16, 0x8e, 0xee, + 0xfb, 0xc9, 0x81, 0x81, 0xfe, 0x81, 0x29, 0x08, 0xb6, 0x08, 0x39, 0x55, + 0x10, 0xbe, 0x03, 0x02, 0x1d, 0x82, 0xc0, 0x05, 0x50, 0x92, 0x98, 0xea, + 0xeb, 0xeb, 0x9b, 0xc9, 0xe5, 0xb2, 0x9e, 0x4c, 0xca, 0xb0, 0x14, 0x48, + 0x39, 0x42, 0x5c, 0x5a, 0xa0, 0xe1, 0x4c, 0x21, 0x38, 0x7a, 0x05, 0x28, + 0xcb, 0x83, 0xfb, 0x54, 0x40, 0x01, 0xf5, 0x62, 0xb1, 0x98, 0x83, 0xe7, + 0x05, 0x88, 0x0d, 0x15, 0xb0, 0xf4, 0x3a, 0x40, 0x14, 0xe4, 0x74, 0x76, + 0xf3, 0xe4, 0xc9, 0x93, 0xd5, 0xfe, 0xfe, 0xfe, 0xc1, 0xe1, 0xe1, 0xe1, + 0x24, 0x0a, 0x4b, 0xe7, 0x09, 0xe8, 0x0d, 0x18, 0x67, 0xb4, 0xd0, 0x5a, + 0xad, 0xde, 0xdc, 0x9b, 0x42, 0x6f, 0x85, 0x1c, 0xad, 0x58, 0xdc, 0x63, + 0x9c, 0xa1, 0xfb, 0xa4, 0x5e, 0x7c, 0xf1, 0xc5, 0x23, 0x13, 0x13, 0x13, + 0x47, 0x35, 0x1b, 0x72, 0x0c, 0x06, 0x94, 0xea, 0xeb, 0x1f, 0x58, 0x9d, + 0xc9, 0xe4, 0x90, 0xa3, 0x28, 0xca, 0xc9, 0x75, 0x53, 0x94, 0xae, 0xf3, + 0xa3, 0x12, 0x02, 0xd9, 0x91, 0x1c, 0x8d, 0x82, 0x21, 0xcc, 0x18, 0x8f, + 0x55, 0x45, 0x34, 0x94, 0x5e, 0xa1, 0xb3, 0x6e, 0x14, 0x1b, 0x76, 0x4d, + 0xf0, 0xda, 0x34, 0x4b, 0xf0, 0x06, 0x10, 0x21, 0x57, 0x8e, 0x5a, 0xd5, + 0x2a, 0xf3, 0xe1, 0xcb, 0x2f, 0xed, 0x3d, 0x9d, 0xcf, 0xe7, 0x26, 0xba, + 0x40, 0xf8, 0x20, 0xa8, 0x2a, 0x7c, 0x79, 0x34, 0xeb, 0xa1, 0xab, 0x57, + 0xaf, 0x7a, 0xf9, 0x7c, 0xd7, 0xe5, 0xee, 0xee, 0xae, 0xba, 0x82, 0x03, + 0x4c, 0x47, 0xd0, 0xd2, 0xe5, 0xa8, 0x96, 0x88, 0x4b, 0x01, 0x71, 0xe9, + 0xdb, 0xe0, 0xe5, 0xa8, 0x88, 0x10, 0xe4, 0x5b, 0x9a, 0x9b, 0x9b, 0xf5, + 0xe0, 0x5e, 0x23, 0x03, 0x03, 0x03, 0xa3, 0xc9, 0x64, 0xe2, 0x3c, 0x9c, + 0xae, 0x16, 0x0a, 0x02, 0x69, 0xe8, 0xf8, 0xcf, 0x7e, 0xf6, 0xd4, 0xe9, + 0x65, 0xcb, 0x96, 0xed, 0x00, 0xd8, 0xb1, 0xb4, 0x90, 0xc0, 0x7b, 0xda, + 0xb2, 0xa2, 0x56, 0xce, 0x6f, 0x3e, 0x6f, 0xc5, 0xfc, 0x76, 0x31, 0x80, + 0x62, 0x8c, 0x3d, 0x32, 0x32, 0xbc, 0x1a, 0x65, 0x4d, 0x71, 0x20, 0xaa, + 0x17, 0xa0, 0x8c, 0x72, 0x83, 0x83, 0xc3, 0xcb, 0x71, 0x4a, 0x90, 0x05, + 0x42, 0x46, 0x8b, 0xb7, 0x2d, 0x4c, 0xa7, 0xb1, 0xbd, 0x50, 0xa8, 0x3d, + 0x1e, 0xb3, 0x19, 0x9d, 0xd3, 0xe7, 0x05, 0x80, 0x4b, 0x20, 0xf1, 0xde, + 0xb1, 0x55, 0xf0, 0xc5, 0x73, 0x0e, 0x9c, 0x73, 0xf0, 0x3e, 0x70, 0x0e, + 0xf7, 0x61, 0x03, 0x30, 0x36, 0x28, 0x02, 0xdb, 0x09, 0x99, 0x6b, 0x07, + 0x2c, 0x09, 0xd7, 0x9e, 0x7e, 0xe5, 0xc0, 0x64, 0xbd, 0x56, 0x7a, 0xad, + 0xaf, 0xaf, 0x1f, 0x84, 0x9f, 0x6e, 0x82, 0xe5, 0x0b, 0xb0, 0xc0, 0x41, + 0x48, 0x94, 0x02, 0xa0, 0x9c, 0x97, 0xba, 0xbb, 0xbb, 0xe5, 0x80, 0x06, + 0x5a, 0x3a, 0xe4, 0x59, 0xc0, 0xfb, 0x6d, 0x48, 0x1f, 0x6c, 0xcd, 0xff, + 0x61, 0xb3, 0xe0, 0x31, 0x0f, 0x95, 0x42, 0x2c, 0xa1, 0xcf, 0xc1, 0x75, + 0x72, 0x08, 0x01, 0xbe, 0xb8, 0x55, 0x28, 0x74, 0xd7, 0xc0, 0xb3, 0x26, + 0x40, 0x09, 0x00, 0x51, 0x7c, 0x18, 0x83, 0x72, 0x3a, 0x9d, 0x6a, 0x82, + 0x42, 0x1a, 0x33, 0x33, 0xd3, 0xaf, 0xed, 0xdf, 0xbf, 0x7f, 0xd2, 0xb4, + 0x64, 0x08, 0xe8, 0xac, 0x5c, 0x2e, 0xb7, 0x15, 0x68, 0xbb, 0x4d, 0x5f, + 0x83, 0xde, 0x83, 0x1b, 0x2a, 0xb2, 0xd5, 0x0b, 0x34, 0x2c, 0xd1, 0x58, + 0xc1, 0x6a, 0xf8, 0x1c, 0x9d, 0x7a, 0x50, 0x3a, 0x22, 0x29, 0x80, 0xad, + 0x7d, 0x23, 0x23, 0xcb, 0x46, 0xa5, 0xb0, 0x79, 0xa0, 0x60, 0x83, 0xd8, + 0x8c, 0x6d, 0x07, 0x4a, 0xd8, 0x56, 0x20, 0xcf, 0x39, 0x72, 0xaf, 0xe8, + 0xa6, 0x3c, 0x26, 0xc7, 0x45, 0xb4, 0xf0, 0x99, 0x3a, 0xc7, 0xd4, 0x1e, + 0x95, 0x62, 0x09, 0xb8, 0x9f, 0x07, 0x0a, 0xe0, 0x9e, 0x54, 0x4e, 0xd2, + 0x85, 0x44, 0x68, 0x61, 0x3a, 0xb8, 0x70, 0xee, 0xf4, 0x99, 0x42, 0x57, + 0x61, 0x1e, 0x2c, 0x3f, 0x00, 0xeb, 0xa8, 0x83, 0x70, 0xba, 0x10, 0xbf, + 0x41, 0x11, 0x93, 0x20, 0x7c, 0xb0, 0x7c, 0x01, 0x70, 0xe1, 0x80, 0x40, + 0x1d, 0x29, 0x64, 0x39, 0xc8, 0x6e, 0xa3, 0xa0, 0x2d, 0x81, 0x16, 0x8e, + 0x7b, 0x14, 0xb6, 0x3e, 0xaf, 0x84, 0x8f, 0xca, 0xc1, 0x99, 0x4b, 0x36, + 0x2a, 0x44, 0x80, 0x00, 0x40, 0x09, 0x85, 0x1a, 0x40, 0xd2, 0x65, 0x50, + 0x6c, 0x12, 0x20, 0xa8, 0x00, 0xf7, 0xaf, 0xc3, 0x73, 0x1f, 0xe2, 0xc3, + 0x3c, 0x30, 0xa3, 0x73, 0x57, 0xae, 0x5c, 0x0d, 0x75, 0x19, 0x59, 0xe6, + 0x27, 0xd5, 0x6a, 0x94, 0xb4, 0x5d, 0x8b, 0xd5, 0x98, 0x42, 0x6f, 0x15, + 0x3c, 0x3e, 0x36, 0x9f, 0xeb, 0xd7, 0xe3, 0x1f, 0x28, 0x7e, 0x18, 0x08, + 0x46, 0x8f, 0xae, 0xdb, 0x47, 0x0c, 0x11, 0x02, 0xdc, 0xc8, 0x30, 0x50, + 0x10, 0x6e, 0x29, 0x21, 0x4a, 0x21, 0x5b, 0xda, 0x9a, 0x4d, 0xab, 0xc7, + 0x73, 0xea, 0xb1, 0xc3, 0xd5, 0x73, 0x7c, 0xec, 0x92, 0xd5, 0xbb, 0xc6, + 0x39, 0x54, 0xa2, 0x83, 0x30, 0x14, 0x82, 0xe0, 0x59, 0x1d, 0x2c, 0x80, + 0xcb, 0xeb, 0x5d, 0x9b, 0xb3, 0x89, 0x89, 0x73, 0x25, 0xf8, 0xe0, 0xe3, + 0xdd, 0xdd, 0x3d, 0x1e, 0x28, 0xa0, 0x01, 0xc1, 0xcf, 0x05, 0xeb, 0xeb, + 0x02, 0xba, 0x38, 0x0b, 0x49, 0x53, 0x55, 0x59, 0x3e, 0x0a, 0x17, 0x2d, + 0x5c, 0x0e, 0xaa, 0xa3, 0xb0, 0x43, 0xb4, 0x7a, 0x05, 0x43, 0x56, 0x12, + 0x5e, 0x92, 0x01, 0x6b, 0xce, 0xc0, 0x1e, 0x83, 0x2b, 0x84, 0x23, 0x79, + 0x6d, 0xa8, 0x3c, 0x80, 0xeb, 0xd7, 0xa2, 0x12, 0x38, 0x28, 0xa1, 0x0a, + 0xef, 0x37, 0x03, 0x82, 0xe9, 0x85, 0x7b, 0xb9, 0x10, 0x13, 0x9a, 0xdd, + 0xdd, 0x05, 0x1f, 0x84, 0x3d, 0x76, 0xfa, 0xf4, 0xa9, 0x79, 0x14, 0x90, + 0x0e, 0x9c, 0xa8, 0x80, 0x5a, 0xad, 0xd6, 0x56, 0x98, 0xfa, 0x98, 0x16, + 0x7a, 0x3b, 0x61, 0xb7, 0x7a, 0x8d, 0xf9, 0x7c, 0x70, 0x70, 0x68, 0xb0, + 0x50, 0xe8, 0x5a, 0xa6, 0xe5, 0xee, 0x68, 0x0f, 0x00, 0x97, 0x1f, 0xea, + 0xea, 0xea, 0xcc, 0x23, 0xfc, 0x44, 0x05, 0x35, 0x2b, 0x9e, 0x14, 0xa2, + 0x4a, 0xc8, 0xd4, 0xf5, 0x86, 0x01, 0x1a, 0x79, 0xb4, 0x4c, 0xbe, 0xac, + 0xb8, 0x96, 0xcd, 0x59, 0x5c, 0xae, 0xa0, 0x0d, 0x07, 0xc5, 0xbd, 0x66, + 0x83, 0xb9, 0x68, 0xfd, 0x88, 0x5f, 0x72, 0xf0, 0x26, 0x60, 0x17, 0x2f, + 0x5e, 0xbc, 0x0c, 0x8c, 0xa7, 0x08, 0x02, 0x0c, 0x5c, 0x37, 0xe1, 0x83, + 0xa0, 0x7a, 0xc0, 0xf5, 0x7d, 0x10, 0xca, 0xbc, 0x12, 0xb6, 0xec, 0xdb, + 0x0f, 0x69, 0x38, 0x51, 0x5a, 0x38, 0x91, 0xe0, 0x04, 0xb0, 0xa2, 0xa0, + 0x5c, 0xae, 0x8f, 0x5f, 0xba, 0x34, 0x31, 0x33, 0x3e, 0x3e, 0xd1, 0x5c, + 0xbd, 0x7a, 0x65, 0x27, 0xc0, 0xd8, 0x20, 0xdc, 0xaf, 0x03, 0x2c, 0xd6, + 0x47, 0xfa, 0x85, 0x81, 0x24, 0x0c, 0x05, 0xcd, 0x57, 0x80, 0x4f, 0x0b, + 0x4a, 0x01, 0x7a, 0x3b, 0x07, 0x74, 0xb3, 0xbb, 0xa7, 0xa7, 0xb7, 0x1b, + 0x3e, 0xcb, 0x24, 0x78, 0x9d, 0x0b, 0x6c, 0xa8, 0x08, 0x0a, 0xb8, 0xb4, + 0x75, 0xeb, 0xd6, 0x6e, 0x85, 0xed, 0x8a, 0x20, 0x54, 0xab, 0x15, 0xf9, + 0x79, 0xb5, 0x27, 0xb4, 0xd6, 0xfb, 0x5b, 0x73, 0x02, 0x33, 0x0f, 0x68, + 0x8d, 0x03, 0xe6, 0x75, 0x10, 0xef, 0xf2, 0xe0, 0x79, 0x43, 0x97, 0x2e, + 0x5d, 0xb2, 0xb4, 0x02, 0x50, 0x22, 0x2e, 0x58, 0x61, 0x27, 0xf8, 0xbe, + 0x6b, 0x5b, 0x71, 0x0b, 0x89, 0xa2, 0x96, 0x6a, 0xaf, 0x46, 0x95, 0x84, + 0x0a, 0xb0, 0x72, 0xd0, 0x24, 0xa4, 0x81, 0x15, 0x0a, 0xb5, 0xdc, 0x4c, + 0xd5, 0x29, 0x38, 0x4b, 0x25, 0xa2, 0x27, 0x34, 0x11, 0x8f, 0x54, 0x7f, + 0x0e, 0x6c, 0x20, 0x84, 0x00, 0xbb, 0x06, 0x7a, 0xfb, 0xfb, 0x81, 0x56, + 0x26, 0x40, 0x01, 0x0e, 0x87, 0x84, 0x0a, 0x32, 0x6f, 0x56, 0x01, 0x68, + 0x68, 0xa0, 0xd5, 0x22, 0xbc, 0xc8, 0xb1, 0x02, 0x0c, 0x32, 0x71, 0x8d, + 0x26, 0x05, 0x5f, 0xe8, 0xca, 0xf1, 0xe3, 0xc7, 0x0f, 0x00, 0x9f, 0x1e, + 0x83, 0x7b, 0xd4, 0x20, 0x98, 0x06, 0xf0, 0xa5, 0x52, 0x1d, 0x90, 0xbc, + 0x3c, 0xf4, 0xd0, 0x43, 0xb7, 0x6f, 0xdb, 0xb6, 0x6d, 0x3d, 0xdc, 0x33, + 0xf4, 0xb1, 0x55, 0x12, 0xc7, 0x42, 0x91, 0x04, 0x87, 0x22, 0xc4, 0xc0, + 0x8c, 0x9e, 0x06, 0xd7, 0x17, 0x3d, 0xaf, 0x99, 0x87, 0x73, 0x57, 0xe0, + 0xb3, 0x00, 0x0c, 0xe5, 0x1b, 0x10, 0x1f, 0x26, 0xa6, 0xa7, 0xa7, 0x37, + 0x82, 0x97, 0x38, 0x5a, 0x88, 0xd5, 0x6a, 0x0d, 0x33, 0x6e, 0x25, 0x68, + 0xc9, 0xa8, 0x15, 0x2b, 0x94, 0x02, 0xc6, 0x63, 0x26, 0x1b, 0xd2, 0x2c, + 0xa8, 0x25, 0x11, 0x6b, 0xb7, 0x01, 0x74, 0xba, 0x90, 0x8f, 0x64, 0x75, + 0x12, 0xac, 0x15, 0x60, 0x27, 0x93, 0xa9, 0x4c, 0xc2, 0xb1, 0x22, 0xba, + 0xa9, 0x2a, 0x97, 0xb1, 0x40, 0xa5, 0xf0, 0x75, 0x0b, 0x39, 0x55, 0x34, + 0x19, 0x75, 0xbf, 0x09, 0x3d, 0x54, 0xa9, 0x9f, 0xb0, 0xb8, 0xd6, 0x0f, + 0xdf, 0x5c, 0xc5, 0x00, 0x47, 0x15, 0xe8, 0xb0, 0x76, 0x3f, 0x3d, 0x33, + 0x5b, 0x85, 0x27, 0x33, 0xe9, 0x54, 0x3a, 0x44, 0x05, 0x80, 0x30, 0x52, + 0x00, 0x3f, 0x09, 0x08, 0xc4, 0xd3, 0xe0, 0x0d, 0x22, 0x66, 0x37, 0x96, + 0x6a, 0x86, 0x50, 0x94, 0x2c, 0x05, 0xca, 0xb8, 0xfa, 0xd2, 0x4b, 0x2f, + 0x3d, 0xf9, 0x8d, 0x6f, 0x7c, 0x63, 0x42, 0x55, 0x38, 0xd5, 0x5b, 0x95, + 0x4a, 0x0b, 0x0d, 0xd8, 0x26, 0xbf, 0xf9, 0xcd, 0x6f, 0xfe, 0xb4, 0xd1, + 0x68, 0x36, 0x77, 0xef, 0xde, 0xbd, 0x15, 0x3c, 0xc6, 0x0f, 0x82, 0x30, + 0x2a, 0xd6, 0xc9, 0xb4, 0x1f, 0x94, 0x09, 0x02, 0x28, 0x41, 0x22, 0xd4, + 0x03, 0xca, 0x48, 0xc3, 0xf3, 0x1a, 0x52, 0x5e, 0xf8, 0x88, 0xf3, 0x93, + 0x93, 0x93, 0x35, 0xf0, 0x90, 0x5c, 0x00, 0xf7, 0xc5, 0xcf, 0x8c, 0x10, + 0x84, 0x19, 0x72, 0x94, 0x6a, 0x0a, 0x95, 0x5c, 0x62, 0x62, 0x19, 0x0a, + 0x16, 0x3d, 0x5f, 0x94, 0xfd, 0x92, 0x62, 0x5a, 0xa9, 0xa9, 0x7e, 0x3d, + 0xbe, 0x16, 0x3f, 0x0e, 0x40, 0x66, 0x07, 0xe5, 0x60, 0x51, 0x93, 0x8c, + 0x03, 0xf4, 0x2f, 0xe3, 0x80, 0xcb, 0x39, 0xaa, 0xd3, 0x4f, 0xe1, 0xbd, + 0xb4, 0x40, 0xf5, 0x1c, 0xe3, 0x80, 0xe3, 0xaa, 0xd9, 0xa0, 0x2e, 0x32, + 0x1f, 0x17, 0x6f, 0x64, 0x49, 0x5c, 0x77, 0x1d, 0x8b, 0x1e, 0x33, 0xb9, + 0xb9, 0x72, 0xae, 0x1c, 0x87, 0x6b, 0x78, 0x14, 0x47, 0xe2, 0x31, 0xda, + 0x04, 0x9b, 0x2f, 0x96, 0xca, 0x20, 0xf8, 0x0a, 0x04, 0x7e, 0x14, 0x08, + 0x1a, 0x54, 0x02, 0x3e, 0xac, 0x0f, 0x1f, 0xa1, 0x81, 0x42, 0x22, 0xcb, + 0xc7, 0x80, 0x8b, 0x78, 0x8f, 0xc1, 0xd4, 0x06, 0xab, 0xf1, 0x00, 0x2a, + 0x5e, 0xfc, 0xfe, 0xf7, 0xbf, 0x7f, 0x11, 0x84, 0x2f, 0x28, 0x91, 0xf1, + 0xa9, 0xc6, 0x2e, 0xb5, 0x01, 0x42, 0xab, 0xfd, 0xf8, 0xc7, 0x7f, 0x7f, + 0xe0, 0xdc, 0xb9, 0xb3, 0x93, 0xf8, 0x1a, 0x84, 0xad, 0xc5, 0x65, 0x04, + 0x2c, 0xf8, 0xb9, 0x0d, 0x78, 0x8c, 0x1e, 0x91, 0x02, 0xc5, 0x07, 0x08, + 0x77, 0x70, 0x69, 0x19, 0xbc, 0xa0, 0x8c, 0x02, 0xf5, 0x08, 0xcf, 0x21, + 0x87, 0x60, 0x4d, 0xaf, 0xc9, 0xfc, 0x00, 0x9e, 0xfb, 0x1e, 0x0b, 0x30, + 0xd8, 0xc2, 0x1e, 0x7b, 0xa2, 0x7c, 0xdc, 0xe3, 0xf1, 0xa0, 0x85, 0xf1, + 0x80, 0xd7, 0x61, 0xd7, 0x88, 0x89, 0xfb, 0x52, 0x11, 0x70, 0x0c, 0x69, + 0x38, 0x6e, 0x88, 0x02, 0xa9, 0x74, 0x2a, 0x4b, 0xb9, 0x17, 0xd7, 0xa5, + 0x08, 0xa7, 0xa3, 0x23, 0x93, 0xc5, 0xb1, 0x53, 0x35, 0x64, 0x68, 0x45, + 0x73, 0xb6, 0x2c, 0x1a, 0xad, 0x62, 0x96, 0x1e, 0x24, 0xa1, 0x81, 0x46, + 0xa3, 0xdd, 0x4d, 0x16, 0xea, 0x04, 0xa7, 0x72, 0x85, 0x45, 0xf0, 0xa3, + 0x62, 0x86, 0x2f, 0xb8, 0x8c, 0x03, 0x9c, 0xab, 0x7a, 0x0f, 0x7a, 0x02, + 0xc0, 0x4d, 0x0d, 0x4b, 0x0d, 0x58, 0x1e, 0xc0, 0xc4, 0x09, 0x20, 0x01, + 0x3f, 0x4c, 0x00, 0x4a, 0xf1, 0x2d, 0x55, 0xff, 0xd0, 0x6c, 0x46, 0x17, + 0xc8, 0xb0, 0xd8, 0x36, 0x79, 0xea, 0xd4, 0xa9, 0xb3, 0x00, 0x21, 0xba, + 0x78, 0xef, 0xb7, 0x94, 0x6c, 0xe4, 0x20, 0x05, 0x30, 0x9d, 0xb9, 0x57, + 0x5e, 0x39, 0x79, 0x76, 0xf5, 0xea, 0x35, 0x83, 0x42, 0x4d, 0x81, 0x52, + 0xd5, 0x73, 0x9a, 0x8c, 0x06, 0x2c, 0xc8, 0xaf, 0xd7, 0x1b, 0x10, 0x43, + 0xbd, 0xa4, 0x9c, 0x9b, 0x09, 0x41, 0x0f, 0xe3, 0x3f, 0xb0, 0xaf, 0x9a, + 0xc9, 0xd9, 0xf1, 0x3b, 0x60, 0xf7, 0x1f, 0x73, 0x50, 0xa0, 0x22, 0x2a, + 0xc1, 0xcb, 0x09, 0x85, 0x22, 0x34, 0x3c, 0x80, 0xca, 0xf2, 0x38, 0xf3, + 0x13, 0x33, 0x7f, 0x04, 0xbd, 0x30, 0x90, 0xc7, 0x17, 0x27, 0x6f, 0x21, + 0x55, 0x46, 0x01, 0x47, 0x93, 0xe9, 0xac, 0x1e, 0x8b, 0xd1, 0x0a, 0x70, + 0x01, 0x7b, 0xb3, 0x8e, 0xab, 0x7b, 0x28, 0x69, 0x68, 0xdd, 0xb2, 0x62, + 0x85, 0x58, 0x56, 0xdc, 0xdf, 0xa9, 0x27, 0x46, 0xd0, 0x62, 0x19, 0xdc, + 0x8a, 0x27, 0xd2, 0x69, 0x8f, 0x17, 0xd4, 0x72, 0x82, 0x72, 0x41, 0xc5, + 0xc9, 0xd6, 0x41, 0xa4, 0xb5, 0xb6, 0x8b, 0xd6, 0xe3, 0x43, 0x52, 0xe4, + 0x39, 0x34, 0x84, 0x28, 0x54, 0xbb, 0x5b, 0x08, 0x06, 0x40, 0xfc, 0x9e, + 0x45, 0xf7, 0xc1, 0x42, 0x1f, 0xc0, 0x12, 0xce, 0x5a, 0x9c, 0x3f, 0x7d, + 0xfa, 0xf4, 0x02, 0xc5, 0xf6, 0xb0, 0x65, 0x64, 0xc9, 0xec, 0x35, 0xb1, + 0xce, 0x9e, 0x3d, 0x33, 0x09, 0x16, 0x1c, 0x52, 0xe6, 0xac, 0x0c, 0x42, + 0x05, 0x58, 0x79, 0x7f, 0xe5, 0x00, 0xc2, 0xd1, 0xc9, 0x1c, 0x78, 0x22, + 0x28, 0xa5, 0xee, 0xa3, 0x45, 0x87, 0x81, 0x4a, 0xc8, 0x7c, 0xf4, 0x06, + 0xaf, 0x29, 0x0d, 0x55, 0x04, 0x74, 0x0f, 0xac, 0x77, 0xc9, 0x9e, 0xd5, + 0x90, 0x09, 0xc1, 0x5a, 0xea, 0x3f, 0x4a, 0xf0, 0x52, 0xe0, 0x72, 0x9a, + 0xad, 0x91, 0x49, 0xb7, 0x64, 0xcf, 0xa9, 0x54, 0x62, 0x91, 0x07, 0xc8, + 0x5c, 0xc0, 0x96, 0x7f, 0x96, 0xb4, 0x56, 0x5b, 0xf7, 0x50, 0xd2, 0x64, + 0x66, 0x4e, 0xad, 0x85, 0x6a, 0x4e, 0x16, 0x8f, 0xfa, 0x2d, 0x23, 0xac, + 0xd6, 0xe3, 0xb0, 0x82, 0xea, 0x16, 0x42, 0xd5, 0x87, 0xa4, 0xf5, 0xf2, + 0x50, 0xb5, 0x0a, 0x3a, 0x4a, 0x49, 0x36, 0xc5, 0x02, 0xb0, 0x3a, 0xa2, + 0x95, 0x51, 0x4d, 0x47, 0xe8, 0x49, 0x1a, 0xca, 0xf2, 0xed, 0xa8, 0xfc, + 0x04, 0x9f, 0x0b, 0x02, 0x69, 0x10, 0x80, 0xf5, 0xfb, 0x24, 0xd1, 0xc0, + 0x98, 0x2e, 0xfa, 0xa6, 0x6e, 0x83, 0x46, 0xa3, 0x1e, 0x48, 0x73, 0xe7, + 0x51, 0xfd, 0x5e, 0x22, 0x11, 0xbd, 0x04, 0x20, 0x07, 0x65, 0x8f, 0x8a, + 0x97, 0x31, 0x42, 0x52, 0x57, 0x84, 0x0f, 0x0d, 0x29, 0x5a, 0xa0, 0x08, + 0x3b, 0xf2, 0xeb, 0x90, 0x95, 0xd3, 0x7f, 0x38, 0x17, 0xd0, 0x14, 0x5a, + 0x53, 0x09, 0xca, 0x53, 0x98, 0x0c, 0xd2, 0x61, 0xec, 0x1d, 0x2d, 0x0a, + 0x50, 0x4a, 0x8a, 0x0d, 0x46, 0x07, 0xe1, 0xa0, 0x51, 0x6f, 0xd4, 0xd4, + 0x97, 0xb5, 0xa3, 0x6e, 0x62, 0x59, 0xe3, 0xa1, 0xa6, 0x28, 0xdb, 0xd6, + 0xbd, 0x35, 0x71, 0x97, 0x31, 0x09, 0x2a, 0x6a, 0xc4, 0x32, 0x5b, 0x13, + 0x75, 0x05, 0x15, 0xbd, 0x16, 0x03, 0xaf, 0xb0, 0x14, 0x34, 0xd9, 0x72, + 0x8c, 0x37, 0x65, 0x03, 0xdf, 0xa7, 0x0c, 0x17, 0xb9, 0xbe, 0xe4, 0xee, + 0x2e, 0x95, 0x1b, 0x8c, 0x41, 0x0f, 0x55, 0xe1, 0x6b, 0x36, 0xfd, 0x60, + 0xd5, 0xaa, 0x55, 0x1d, 0xf7, 0xdc, 0x73, 0x4f, 0xea, 0x07, 0x3f, 0xf8, + 0x41, 0xb9, 0xcd, 0xf2, 0x01, 0xe6, 0xb2, 0x02, 0xfe, 0xda, 0xb5, 0xeb, + 0x0b, 0x00, 0x67, 0xdc, 0xf3, 0x7c, 0x42, 0x0a, 0xd9, 0xbc, 0xc4, 0x42, + 0xb9, 0xf6, 0x44, 0xc8, 0x5d, 0x57, 0xf2, 0xe1, 0x40, 0x90, 0x90, 0xf0, + 0x98, 0x93, 0x80, 0xfc, 0xdc, 0x84, 0x20, 0x49, 0x20, 0x10, 0xb7, 0x59, + 0x0c, 0x41, 0x8c, 0x47, 0xc2, 0x56, 0x0d, 0xc3, 0xa1, 0xa1, 0x84, 0xc5, + 0x5e, 0x11, 0xb6, 0x28, 0x40, 0xbd, 0xbf, 0x8a, 0x05, 0x18, 0xab, 0xf4, + 0x4c, 0x4b, 0x0d, 0x41, 0x21, 0xb8, 0x60, 0x55, 0xd6, 0x6d, 0x2c, 0xec, + 0xad, 0x27, 0x21, 0xa3, 0x80, 0xb8, 0x6a, 0x05, 0xb1, 0x6d, 0xaa, 0xff, + 0x90, 0x77, 0x98, 0x6d, 0x7f, 0x71, 0x2b, 0xa2, 0x15, 0x77, 0x49, 0x0b, + 0xa5, 0x00, 0x54, 0xa6, 0x5b, 0x73, 0xa9, 0xb4, 0xa7, 0x5a, 0xf7, 0x00, + 0xed, 0xdc, 0x62, 0xb1, 0x64, 0x6b, 0x08, 0x80, 0x63, 0x1e, 0xec, 0x32, + 0x40, 0x1d, 0x25, 0x22, 0xa9, 0xca, 0xb8, 0xd9, 0x83, 0x6f, 0xfb, 0xc0, + 0x48, 0x7a, 0x97, 0x2f, 0x5f, 0x3e, 0x08, 0xc7, 0x4e, 0x0b, 0x35, 0x75, + 0xbe, 0xdd, 0x1f, 0xc0, 0x98, 0x9b, 0x5e, 0xb7, 0x6e, 0xdd, 0x0a, 0xf4, + 0x20, 0xec, 0xe6, 0x60, 0x2c, 0xb6, 0x4e, 0xc4, 0x1d, 0x08, 0xe0, 0x18, + 0x4f, 0x5c, 0xf8, 0xac, 0x0d, 0x65, 0xc9, 0xd8, 0xbe, 0x12, 0xd8, 0xb9, + 0x6c, 0x87, 0x6c, 0xbb, 0xd4, 0x0a, 0x90, 0xe3, 0xd8, 0x10, 0x90, 0x79, + 0x68, 0xb0, 0x1e, 0x95, 0x08, 0x10, 0xab, 0x61, 0xd1, 0x1e, 0xab, 0xbe, + 0xa1, 0x3e, 0x47, 0xd7, 0xea, 0x38, 0x21, 0xad, 0x9f, 0x29, 0x36, 0xc8, + 0xe4, 0x7b, 0x79, 0xac, 0x52, 0xae, 0x54, 0xcc, 0x72, 0xb4, 0xfc, 0xe0, + 0xb5, 0x7a, 0xb5, 0x2c, 0x27, 0x9e, 0xb8, 0x8b, 0xe7, 0xd2, 0xea, 0xa6, + 0x56, 0x29, 0x74, 0x5b, 0x0d, 0xcd, 0x38, 0x72, 0x82, 0x5c, 0x3c, 0xc1, + 0x39, 0xee, 0x03, 0xb5, 0xe4, 0x9b, 0x50, 0xf1, 0x8c, 0x71, 0x5b, 0xb1, + 0x99, 0x64, 0x22, 0xc9, 0x9a, 0x34, 0x46, 0x8a, 0x9e, 0xd4, 0xdb, 0xdb, + 0x93, 0x1d, 0x1f, 0x1f, 0x4f, 0xc1, 0xf5, 0x65, 0x54, 0x3a, 0x58, 0x6b, + 0x1d, 0x67, 0x99, 0x00, 0xe6, 0x26, 0x50, 0x30, 0x46, 0xeb, 0x38, 0x65, + 0x19, 0x0c, 0x12, 0xaf, 0x4a, 0xfa, 0xfe, 0xfb, 0xef, 0xbf, 0x1d, 0x04, + 0x34, 0xf9, 0xe5, 0x2f, 0x7f, 0xb9, 0xd8, 0x82, 0xfb, 0x7a, 0xe6, 0x8a, + 0x78, 0xe8, 0xa1, 0x87, 0xb7, 0x6d, 0xde, 0x7c, 0xcb, 0x72, 0x80, 0x13, + 0xb4, 0x70, 0xae, 0xac, 0x9f, 0xe9, 0x38, 0x20, 0x6b, 0x62, 0x38, 0x80, + 0x0f, 0xf7, 0xa9, 0xe2, 0x38, 0x82, 0x52, 0x8a, 0x97, 0xce, 0x82, 0x55, + 0x20, 0xdb, 0x41, 0xec, 0x46, 0x61, 0xe1, 0xda, 0x15, 0x38, 0xb3, 0x3f, + 0xb0, 0xb4, 0xc0, 0xc3, 0xc8, 0xd9, 0x02, 0x82, 0x1a, 0xa6, 0x1a, 0x3a, + 0xa8, 0x51, 0x41, 0x53, 0x53, 0x52, 0x8c, 0x91, 0xac, 0x05, 0xb4, 0xe7, + 0x32, 0xae, 0x78, 0xac, 0x0e, 0x18, 0x69, 0x2a, 0x40, 0x62, 0x2a, 0xf0, + 0xe7, 0x2a, 0xbe, 0xb1, 0x09, 0x41, 0xd1, 0xd4, 0x1e, 0x14, 0x1c, 0x0d, + 0x19, 0x4a, 0x21, 0x1a, 0x8d, 0xae, 0x51, 0x50, 0x5e, 0xd4, 0xf1, 0x16, + 0xf7, 0x1e, 0xa1, 0x47, 0x25, 0x52, 0x49, 0x16, 0xd4, 0xeb, 0x11, 0x74, + 0xf5, 0xf7, 0xf7, 0xe7, 0xb0, 0x20, 0x05, 0x97, 0x5e, 0x51, 0x72, 0xb3, + 0x71, 0x18, 0x11, 0xbc, 0xb0, 0x86, 0x99, 0xec, 0x82, 0xc1, 0xdd, 0x05, + 0x15, 0xca, 0x00, 0x36, 0xdc, 0xe6, 0xcc, 0xcc, 0xcc, 0xea, 0x0f, 0x7d, + 0xe8, 0x43, 0x1f, 0x85, 0x43, 0x7b, 0xbf, 0xfa, 0xd5, 0xaf, 0x4e, 0x61, + 0x2e, 0xa0, 0x07, 0x54, 0xc0, 0x8b, 0x92, 0x9f, 0xf9, 0xcc, 0x67, 0x76, + 0x00, 0x4c, 0xdd, 0x05, 0x8f, 0x39, 0xf6, 0x01, 0x69, 0xe6, 0x81, 0x82, + 0x46, 0x0f, 0x40, 0xeb, 0x83, 0x5b, 0x77, 0x81, 0xc2, 0x3d, 0xf0, 0xc0, + 0x1a, 0x9c, 0xb7, 0x60, 0x03, 0xf8, 0xf7, 0x3b, 0xbb, 0xba, 0x3a, 0x3b, + 0x64, 0x29, 0x02, 0x61, 0x08, 0x94, 0x60, 0xe1, 0x40, 0x3d, 0x0a, 0xd6, + 0x0f, 0x62, 0xfc, 0x17, 0x8b, 0xb3, 0x7c, 0x46, 0x49, 0x1a, 0x33, 0x60, + 0x47, 0x07, 0x0a, 0x6d, 0xf1, 0x21, 0x35, 0x2b, 0x28, 0x06, 0x00, 0x9c, + 0xb9, 0xd1, 0xc4, 0x52, 0x47, 0x85, 0x20, 0x28, 0x1a, 0x11, 0x0b, 0x21, + 0x11, 0x02, 0x1a, 0x26, 0x02, 0x1b, 0xfc, 0x5d, 0x5a, 0x3d, 0xad, 0xa3, + 0xa0, 0x99, 0x8a, 0x6c, 0xf1, 0x8e, 0x3c, 0x41, 0xcf, 0xcf, 0xa2, 0x16, + 0x45, 0xcb, 0x98, 0x94, 0x61, 0xb6, 0x6e, 0xc8, 0x82, 0x1c, 0x76, 0x39, + 0x24, 0x64, 0x77, 0x9a, 0x9e, 0x43, 0xd0, 0xd7, 0xd7, 0xef, 0x66, 0xb3, + 0xd9, 0x61, 0x80, 0x95, 0xd7, 0x21, 0x01, 0xc4, 0x1a, 0x8e, 0x97, 0xcd, + 0xe6, 0xaa, 0x60, 0xe5, 0x59, 0x80, 0x42, 0x60, 0x64, 0x59, 0x5f, 0x96, + 0x3f, 0xb8, 0x9a, 0x25, 0x83, 0xc6, 0x03, 0x16, 0x8b, 0x3d, 0x3f, 0xfe, + 0xc2, 0x42, 0x79, 0xd3, 0xae, 0x5d, 0xbb, 0xfa, 0x37, 0x6f, 0xde, 0xfc, + 0xfa, 0xc5, 0x8b, 0x63, 0x93, 0xfb, 0xf7, 0x1f, 0x68, 0xdc, 0x76, 0xdb, + 0x6d, 0xbd, 0xdd, 0xdd, 0xdd, 0x6b, 0x06, 0x06, 0x06, 0x47, 0x90, 0x59, + 0xc2, 0x7b, 0xc9, 0x22, 0x5c, 0x5c, 0x4e, 0x16, 0x14, 0x9c, 0x1b, 0x49, + 0x88, 0x3f, 0x05, 0x38, 0x3f, 0x87, 0xf8, 0x04, 0x5b, 0x02, 0x7b, 0x89, + 0x12, 0x8e, 0x3b, 0xdc, 0x99, 0xcb, 0xb9, 0x3e, 0xb0, 0x9e, 0x90, 0xac, + 0x18, 0xbf, 0x09, 0x2e, 0xaf, 0x80, 0x1e, 0xa1, 0x2d, 0x5d, 0xd3, 0x6b, + 0x6d, 0xfd, 0x8a, 0xd4, 0x08, 0xc3, 0xfa, 0xe9, 0x3c, 0x13, 0x14, 0x90, + 0x99, 0x8a, 0x13, 0xe4, 0x15, 0xa8, 0x0d, 0xcf, 0x6b, 0x80, 0xb1, 0xd7, + 0xab, 0xad, 0x1e, 0x10, 0xce, 0xcf, 0xcf, 0x5f, 0x2d, 0x2d, 0x2c, 0x54, + 0x86, 0x86, 0x07, 0xf3, 0xb6, 0xee, 0xa9, 0xd7, 0x6b, 0x28, 0x38, 0xd4, + 0xec, 0x4a, 0x3d, 0x85, 0x36, 0xd1, 0x52, 0x35, 0x60, 0x63, 0xe9, 0x79, + 0xa9, 0x51, 0x1c, 0x68, 0x6d, 0xdd, 0xc8, 0x74, 0x74, 0xb0, 0x4a, 0xad, + 0x16, 0x79, 0x05, 0x0e, 0xcf, 0x8d, 0x8e, 0x8e, 0x2e, 0x3b, 0x7f, 0xfe, + 0x7c, 0x47, 0x3e, 0x9f, 0x2f, 0xa3, 0x52, 0xc1, 0x2a, 0xe7, 0x72, 0xb9, + 0xdc, 0xca, 0xd9, 0xd9, 0xd9, 0x4e, 0x38, 0x3f, 0xbd, 0xb8, 0x05, 0x47, + 0x06, 0x30, 0x0b, 0x32, 0x5b, 0x64, 0x2c, 0x4d, 0x78, 0x9c, 0x07, 0x25, + 0xed, 0xdc, 0xb4, 0x69, 0x33, 0xbf, 0xf5, 0xd6, 0xad, 0x1c, 0x02, 0x3a, + 0x0a, 0x1c, 0x20, 0x1b, 0x80, 0xc7, 0xc7, 0xc7, 0xbe, 0x15, 0x53, 0x43, + 0x41, 0x38, 0xef, 0xc1, 0x25, 0x61, 0x1f, 0xdc, 0x3b, 0x01, 0x49, 0xd7, + 0x55, 0xf4, 0x12, 0xcf, 0x13, 0xc1, 0x42, 0xb1, 0x94, 0xeb, 0x29, 0x74, + 0x2f, 0x77, 0x01, 0x26, 0x55, 0x16, 0x1c, 0x28, 0xe8, 0x05, 0x19, 0x60, + 0xc0, 0x8c, 0xfa, 0x9e, 0x48, 0xee, 0x72, 0xd4, 0x55, 0x43, 0x0e, 0x59, + 0xb7, 0x24, 0xa8, 0x42, 0xd5, 0xc1, 0x44, 0x18, 0x8f, 0x8b, 0xc8, 0xab, + 0xe8, 0x5a, 0x5d, 0xaf, 0x99, 0x9d, 0x2f, 0x96, 0x4b, 0xa5, 0xd2, 0x15, + 0x4d, 0xa3, 0xf5, 0xe2, 0x1a, 0x02, 0xdc, 0xfb, 0xd2, 0xd4, 0x95, 0x2b, + 0x57, 0xf5, 0x9a, 0x0a, 0x1a, 0x72, 0x6c, 0x73, 0xc6, 0xf9, 0x22, 0x78, + 0xa2, 0xb6, 0x6f, 0xc7, 0x31, 0xa6, 0xfd, 0x3b, 0xd1, 0xa6, 0x5b, 0x00, + 0x31, 0xb9, 0xc3, 0x11, 0xa6, 0x44, 0x22, 0x19, 0xcd, 0x30, 0xc4, 0x0d, + 0x58, 0xcd, 0x10, 0x7c, 0x9e, 0x11, 0x80, 0x0a, 0xc4, 0x6a, 0xd0, 0xa9, + 0x55, 0x03, 0xaf, 0x28, 0x62, 0xb0, 0x05, 0x63, 0x48, 0xaa, 0x1a, 0x10, + 0x8f, 0x46, 0xc0, 0x54, 0x91, 0x0b, 0x7b, 0x7f, 0x9a, 0x16, 0x08, 0x1c, + 0x05, 0x0a, 0x61, 0x25, 0x68, 0xc2, 0xeb, 0x31, 0xab, 0x6a, 0x20, 0xef, + 0x6f, 0x36, 0xeb, 0x70, 0xde, 0x47, 0x45, 0xc9, 0xaf, 0x05, 0xc2, 0xe3, + 0xe4, 0x09, 0x41, 0xb5, 0x5a, 0xcb, 0x80, 0x97, 0x2c, 0x03, 0xe8, 0x99, + 0x02, 0xc8, 0x03, 0xfc, 0x0f, 0x6d, 0xb8, 0x17, 0xbc, 0xa6, 0x39, 0xda, + 0xdb, 0x37, 0x30, 0x20, 0xd7, 0x2a, 0x42, 0x96, 0x14, 0xa8, 0x86, 0x31, + 0x2c, 0xd5, 0x78, 0xa1, 0x5a, 0x44, 0x0a, 0xa7, 0xc2, 0x61, 0xe5, 0x23, + 0x80, 0x04, 0x1c, 0xe9, 0x2a, 0x44, 0x17, 0xf8, 0x2c, 0xaa, 0xe8, 0x16, + 0xe8, 0x1a, 0x10, 0x66, 0xc0, 0x81, 0xf2, 0x18, 0x21, 0x8f, 0xc1, 0x3e, + 0xa0, 0x84, 0x4c, 0x07, 0x77, 0x38, 0x7e, 0xf9, 0xf2, 0xe4, 0x34, 0x24, + 0x7d, 0x97, 0x35, 0xf2, 0x68, 0x0f, 0x40, 0x5c, 0x9a, 0x9d, 0x9a, 0x9a, + 0xbc, 0x0a, 0x92, 0x58, 0x23, 0xdb, 0xbb, 0xe5, 0xdc, 0x5a, 0x4b, 0x0a, + 0x51, 0x4f, 0x70, 0x88, 0x67, 0x3f, 0xea, 0xb9, 0x56, 0x34, 0xe1, 0xad, + 0x25, 0x16, 0x70, 0x5d, 0xa1, 0xd3, 0xfd, 0x8f, 0x10, 0x8c, 0x71, 0xb0, + 0xbb, 0x58, 0x2c, 0x46, 0xcc, 0x66, 0x64, 0x64, 0xc4, 0xed, 0xed, 0xed, + 0xbb, 0x05, 0xac, 0xe1, 0x4c, 0x3a, 0x9d, 0xf2, 0x55, 0x17, 0xb3, 0x7b, + 0xa5, 0x50, 0x28, 0xac, 0x82, 0x64, 0x76, 0x10, 0x3c, 0x62, 0x3c, 0x97, + 0xcb, 0xa3, 0xd9, 0xe2, 0x60, 0xbc, 0xa4, 0xa4, 0x54, 0x99, 0x44, 0x01, + 0x63, 0x06, 0xcb, 0xb1, 0xf0, 0xa9, 0x29, 0x20, 0x58, 0x3f, 0x0a, 0x9b, + 0x87, 0x11, 0xe5, 0xc3, 0x00, 0xab, 0x7a, 0xa3, 0x00, 0xda, 0x12, 0xf9, + 0x7c, 0x6e, 0x1d, 0xc4, 0x0c, 0x50, 0x54, 0x73, 0xc2, 0xc2, 0x1a, 0x04, + 0x08, 0xa5, 0x5c, 0x5e, 0x48, 0x42, 0x52, 0xba, 0xa9, 0xd0, 0x33, 0xe4, + 0x7a, 0xbe, 0x50, 0xeb, 0x18, 0xe1, 0x7b, 0xd9, 0x29, 0x48, 0xc4, 0x20, + 0x71, 0x94, 0xc2, 0x54, 0x99, 0x3f, 0xe6, 0x33, 0x4c, 0xcf, 0x0c, 0x92, + 0x56, 0x2d, 0x16, 0x65, 0x21, 0x8b, 0xe2, 0x84, 0x88, 0xc0, 0x2a, 0xca, + 0x8e, 0x35, 0x0c, 0x4d, 0x5c, 0xba, 0x34, 0x09, 0x06, 0x33, 0xcb, 0xa2, + 0x55, 0x92, 0x28, 0x08, 0xc3, 0xdf, 0xc2, 0xf8, 0xf8, 0xc4, 0xc5, 0x80, + 0x9a, 0x4a, 0x6d, 0xbd, 0xe0, 0x91, 0xb1, 0xae, 0x82, 0x7a, 0x1c, 0x4f, + 0x01, 0x55, 0x6b, 0x33, 0xc4, 0x4b, 0xbd, 0x68, 0xaf, 0x89, 0x82, 0xb7, + 0xb1, 0x01, 0xd4, 0xc8, 0xae, 0x03, 0x1d, 0xb8, 0x81, 0x0a, 0xb2, 0x2d, + 0x5b, 0xb6, 0xac, 0x85, 0xf7, 0x5d, 0x0b, 0xd8, 0x8c, 0xef, 0x8f, 0xc1, + 0x07, 0x1b, 0xab, 0x2e, 0xc1, 0xb5, 0xb9, 0xc9, 0xc9, 0xc9, 0x61, 0x10, + 0x90, 0xab, 0x46, 0xbb, 0x14, 0x97, 0xa7, 0xbd, 0x0c, 0xca, 0x48, 0x59, + 0xc1, 0x0b, 0x68, 0x0b, 0x40, 0x49, 0x01, 0xd7, 0x25, 0x04, 0xb4, 0x7c, + 0x45, 0x3a, 0x44, 0x58, 0xa9, 0x94, 0x93, 0xe9, 0x74, 0x7a, 0x13, 0xbc, + 0x77, 0x0a, 0x0c, 0xe0, 0x75, 0x30, 0x2a, 0x00, 0xaa, 0xc0, 0x86, 0xd7, + 0x05, 0xe5, 0x4a, 0x7d, 0xdd, 0xe8, 0x8a, 0x8d, 0x6b, 0xb9, 0x93, 0x06, + 0x2b, 0xe7, 0xcc, 0x0b, 0xb0, 0x4d, 0x26, 0x09, 0xe9, 0x69, 0x27, 0xf3, + 0xc1, 0x36, 0x3d, 0xd8, 0x02, 0x39, 0x3f, 0x01, 0x3b, 0xdc, 0xd4, 0x82, + 0x52, 0xa0, 0x67, 0xb9, 0x9e, 0x11, 0x3e, 0x96, 0x5e, 0xa3, 0xbd, 0x41, + 0x7a, 0x0f, 0xed, 0x85, 0x8a, 0x0f, 0x81, 0xf4, 0x08, 0xca, 0x1d, 0xe0, + 0x60, 0x13, 0x5c, 0xe9, 0xf2, 0xe5, 0xcb, 0xe3, 0xf0, 0x21, 0x4b, 0x66, + 0x10, 0xd6, 0x69, 0x7d, 0x75, 0x6c, 0x6c, 0xec, 0x7c, 0xad, 0xde, 0x10, + 0x1d, 0xd9, 0x1c, 0xd7, 0x42, 0xe5, 0xda, 0xf2, 0x2d, 0x6b, 0x51, 0x6b, + 0xb8, 0x65, 0xac, 0x5a, 0x12, 0x57, 0x4d, 0xaf, 0xdd, 0x77, 0x9f, 0x4c, + 0x26, 0x24, 0xf6, 0xe3, 0x98, 0xab, 0x1e, 0x02, 0x5c, 0xb9, 0x72, 0x65, + 0x02, 0x94, 0x7e, 0x37, 0xc4, 0x82, 0xf1, 0xbe, 0xbe, 0x44, 0x51, 0x15, + 0x2b, 0x9d, 0x05, 0xc0, 0xf7, 0x09, 0x78, 0xdd, 0xe8, 0xd4, 0xd4, 0x94, + 0x03, 0x70, 0x73, 0xa9, 0xb3, 0x33, 0x5f, 0x43, 0x6f, 0x43, 0xc1, 0x6b, + 0xda, 0x27, 0x83, 0x9c, 0x0e, 0x73, 0x8a, 0x4e, 0x1a, 0x89, 0x10, 0x92, + 0x99, 0x40, 0xd4, 0x6a, 0x55, 0x8c, 0x15, 0xeb, 0xe0, 0x9e, 0xa9, 0xab, + 0x57, 0xa7, 0x4f, 0x61, 0x67, 0x04, 0xdc, 0x03, 0xdb, 0x31, 0xfc, 0xd9, + 0xd9, 0xb9, 0xce, 0x6c, 0xd7, 0xf0, 0x5d, 0x3d, 0xfd, 0x2b, 0x12, 0x75, + 0x60, 0x3f, 0x4c, 0xb8, 0x72, 0x76, 0x47, 0x3a, 0x5d, 0x60, 0x81, 0x9d, + 0x85, 0x7b, 0x62, 0x0e, 0xe0, 0x53, 0xed, 0x2b, 0x94, 0xde, 0x40, 0x8b, + 0x1b, 0xc1, 0x63, 0x41, 0xe3, 0x1a, 0x21, 0x8b, 0x63, 0x72, 0x9c, 0x1b, + 0x70, 0x16, 0x7b, 0x04, 0xa3, 0xe3, 0x28, 0xaf, 0xf2, 0x42, 0x29, 0x04, + 0x94, 0xc7, 0x15, 0xb8, 0x74, 0x22, 0x16, 0x38, 0x46, 0x6a, 0xef, 0x01, + 0x37, 0x1f, 0x83, 0x20, 0xb8, 0x30, 0x3c, 0x34, 0x94, 0xd7, 0x78, 0xad, + 0x1b, 0x6a, 0x63, 0xc1, 0xf3, 0x68, 0xaa, 0xcf, 0xf5, 0x96, 0x79, 0x51, + 0x99, 0xe3, 0xa2, 0x85, 0x2e, 0x64, 0x77, 0xb2, 0x51, 0x4a, 0x66, 0x3b, + 0x76, 0xdc, 0x36, 0x04, 0xef, 0xf9, 0x81, 0x52, 0xa9, 0xb8, 0x07, 0xe0, + 0x07, 0x3f, 0x87, 0x93, 0x48, 0xb8, 0xf3, 0x9c, 0x67, 0x30, 0x2b, 0x5b, + 0x06, 0x0a, 0x5b, 0x03, 0x82, 0xbc, 0x02, 0x9e, 0x31, 0x97, 0x4e, 0x67, + 0x9a, 0xd4, 0x11, 0x21, 0xe3, 0x82, 0xd1, 0xcf, 0x29, 0xa8, 0xdb, 0x2d, + 0x84, 0x18, 0x00, 0x41, 0xb9, 0x99, 0x84, 0xb7, 0x1b, 0x28, 0x14, 0xba, + 0x46, 0x41, 0x81, 0x8d, 0xe9, 0xe9, 0xe9, 0x57, 0x00, 0xde, 0x2a, 0x60, + 0x91, 0x0e, 0x7a, 0xc5, 0xc2, 0x42, 0xc9, 0xf6, 0x78, 0xe2, 0x03, 0x6b, + 0xd6, 0x6f, 0x1f, 0xf6, 0x64, 0x37, 0x85, 0x2d, 0xf1, 0xd9, 0x06, 0xc1, + 0x8b, 0x64, 0x3f, 0x6b, 0xe0, 0x3c, 0x87, 0x10, 0xce, 0x08, 0x4f, 0x4e, + 0x01, 0xc1, 0x2e, 0x63, 0x35, 0x89, 0x30, 0x94, 0xf0, 0xa3, 0x60, 0x23, + 0x8c, 0x94, 0x10, 0xf5, 0x46, 0xc9, 0xf3, 0x16, 0x31, 0x9f, 0x78, 0xd5, + 0x36, 0x41, 0xdf, 0x7f, 0x7a, 0x76, 0xb6, 0x3a, 0x33, 0x3b, 0x73, 0xc1, + 0xe8, 0x92, 0x8e, 0x3a, 0xe3, 0x50, 0x11, 0x2e, 0x76, 0x9b, 0x6d, 0xdf, + 0xbe, 0xfd, 0xce, 0x2d, 0x9b, 0x37, 0xf7, 0x9b, 0x93, 0x20, 0x94, 0x37, + 0x28, 0xc1, 0xc7, 0xf3, 0x6d, 0x2d, 0x66, 0xae, 0xbb, 0x1a, 0x4f, 0x5c, + 0xb0, 0xda, 0xe5, 0x48, 0xf2, 0x1c, 0xc6, 0x13, 0x2a, 0x1b, 0x47, 0x6d, + 0x80, 0x18, 0xa0, 0xf3, 0xf9, 0xce, 0x01, 0x50, 0x7e, 0x08, 0x8a, 0xb9, + 0xa0, 0xa6, 0x14, 0xa1, 0x03, 0x3a, 0x38, 0x30, 0x53, 0xc2, 0x51, 0x2b, + 0xb0, 0xe6, 0x3e, 0x80, 0xa9, 0x02, 0xd0, 0xe7, 0x04, 0x0e, 0x9a, 0xa3, + 0xe0, 0x7d, 0xaa, 0xdd, 0xc0, 0x6b, 0x80, 0xcd, 0x34, 0x9c, 0x5a, 0xad, + 0xe1, 0x82, 0xe0, 0x21, 0xbf, 0x60, 0x43, 0x70, 0xcf, 0x55, 0xf0, 0xba, + 0x02, 0x06, 0x5c, 0xa0, 0xad, 0x67, 0x5d, 0x37, 0xd1, 0x00, 0x2c, 0x76, + 0x21, 0x40, 0x0a, 0x7c, 0xef, 0xf9, 0x4a, 0x7d, 0xf7, 0xea, 0xad, 0xb7, + 0xef, 0xec, 0xc8, 0x77, 0x73, 0x15, 0x44, 0x15, 0xdd, 0x75, 0xb2, 0x23, + 0x8c, 0x27, 0x3b, 0x69, 0x6d, 0x52, 0x8b, 0x96, 0xcc, 0xb4, 0xa9, 0x00, + 0xa7, 0x96, 0xcf, 0x14, 0x34, 0x33, 0x47, 0xae, 0x6d, 0xa7, 0xe7, 0x30, + 0xcb, 0xe5, 0xd6, 0x34, 0xce, 0xd3, 0xe2, 0x0c, 0x61, 0x34, 0x96, 0x48, + 0x65, 0x19, 0x9b, 0x1d, 0x39, 0x7a, 0xe4, 0xec, 0xfe, 0x03, 0x07, 0xbf, + 0x0b, 0xb2, 0xc0, 0x20, 0x2c, 0x57, 0xf4, 0xb5, 0x8d, 0x81, 0x79, 0x17, + 0x2d, 0xb3, 0xb7, 0xb7, 0x77, 0x2d, 0x24, 0x33, 0xb7, 0x02, 0x61, 0x56, + 0xb5, 0xa0, 0x68, 0x76, 0x79, 0x8c, 0xef, 0x6f, 0xb6, 0xfa, 0x37, 0xaf, + 0xbd, 0x70, 0x2d, 0xcf, 0x40, 0x25, 0xa8, 0xe9, 0x43, 0xaa, 0x07, 0x07, + 0x85, 0x09, 0xf4, 0x93, 0x83, 0x85, 0x2f, 0x03, 0x38, 0xc2, 0xe3, 0x17, + 0xe0, 0x1a, 0xe4, 0x7e, 0x98, 0x92, 0x60, 0x12, 0x59, 0x02, 0xc5, 0x97, + 0x41, 0x31, 0x09, 0x50, 0x4a, 0x17, 0x7c, 0x96, 0x3e, 0x50, 0x48, 0x01, + 0xae, 0xc3, 0x36, 0xc5, 0x5e, 0x78, 0x7d, 0x2f, 0x7c, 0xa6, 0x01, 0x38, + 0x3f, 0x04, 0x30, 0xd7, 0x0f, 0x5f, 0x2e, 0x09, 0x3c, 0x7b, 0xae, 0x52, + 0xa9, 0x9c, 0x07, 0x68, 0x9a, 0xc1, 0xa2, 0x1f, 0x18, 0xbd, 0x0d, 0x4c, + 0x24, 0xa8, 0x55, 0x41, 0xf8, 0xb5, 0x85, 0x7b, 0x57, 0x6e, 0xdf, 0xfc, + 0x81, 0xc2, 0x40, 0xbf, 0xed, 0x4b, 0x9a, 0xa9, 0x98, 0x0f, 0xcb, 0x74, + 0x33, 0x3b, 0x37, 0x8c, 0xb5, 0x5b, 0x39, 0xfd, 0x09, 0xbb, 0xf9, 0x42, + 0xd9, 0x90, 0x8f, 0x82, 0x77, 0xd4, 0x9e, 0x29, 0xa1, 0xcb, 0x55, 0x1d, + 0x85, 0x5e, 0xe1, 0x8b, 0xab, 0x45, 0x06, 0xe5, 0x71, 0xa6, 0xf3, 0x96, + 0x45, 0x7b, 0xec, 0x16, 0x6f, 0x82, 0xe1, 0x3c, 0xf9, 0xd3, 0x27, 0x7e, + 0x36, 0x76, 0xf1, 0xe2, 0x1e, 0x78, 0xd1, 0x02, 0x29, 0x20, 0xb0, 0x8d, + 0xbe, 0x20, 0x57, 0x4f, 0xcc, 0xbb, 0xef, 0xbe, 0xfb, 0x76, 0xf7, 0xf4, + 0xf4, 0xb8, 0x7a, 0x54, 0xca, 0x6a, 0x99, 0xea, 0xf9, 0x76, 0xa6, 0x72, + 0xe2, 0xeb, 0x31, 0x00, 0xa3, 0x12, 0x74, 0x0b, 0xb7, 0xec, 0x5c, 0xcd, + 0xe5, 0xac, 0xce, 0xce, 0xce, 0x95, 0x80, 0xfb, 0x59, 0xa0, 0x8c, 0x53, + 0x20, 0xfc, 0x0a, 0x57, 0x53, 0xe1, 0xe1, 0x25, 0xdc, 0x83, 0xcf, 0x51, + 0x84, 0x07, 0x73, 0x20, 0x70, 0xcc, 0x22, 0x3d, 0x87, 0xe8, 0x2f, 0xd2, + 0x13, 0xf8, 0x03, 0x32, 0xda, 0x28, 0x41, 0x82, 0x35, 0x09, 0x5e, 0x71, + 0x19, 0x24, 0x3e, 0x07, 0xaf, 0xc5, 0x4e, 0x78, 0x9b, 0x0a, 0x6e, 0x4d, + 0x80, 0xb8, 0xce, 0x46, 0x58, 0xfd, 0xc8, 0xba, 0xdb, 0xd7, 0xdd, 0xdd, + 0x3d, 0xd8, 0x27, 0x59, 0x50, 0xc8, 0x54, 0xa0, 0xe4, 0xc9, 0x0e, 0x96, + 0xe8, 0x5d, 0x26, 0xfb, 0x95, 0x42, 0x5a, 0xb3, 0x14, 0x85, 0x1f, 0x08, + 0x25, 0x74, 0x29, 0x70, 0x54, 0x06, 0x79, 0x03, 0x7a, 0x40, 0x48, 0x13, + 0x4e, 0xe4, 0x42, 0x83, 0xe4, 0xf1, 0xfa, 0xb1, 0xa0, 0x10, 0xa1, 0x15, + 0x84, 0x72, 0xbb, 0x3c, 0x35, 0x51, 0xfb, 0xf1, 0x63, 0x7f, 0xff, 0xdd, + 0x6a, 0xad, 0x76, 0x8c, 0x84, 0xdf, 0x30, 0x15, 0x10, 0x75, 0x47, 0x97, + 0xcb, 0x65, 0x07, 0x32, 0xcb, 0xdb, 0x37, 0x6e, 0xdc, 0xd8, 0xa7, 0x17, + 0xa3, 0x30, 0x99, 0xd0, 0xcd, 0x4c, 0x6e, 0x6e, 0x37, 0x97, 0x16, 0x3d, + 0x01, 0xe3, 0x81, 0xd9, 0xe0, 0x04, 0x5e, 0xc0, 0xb1, 0x6d, 0x03, 0x70, + 0x7f, 0x19, 0xc6, 0x22, 0xec, 0x16, 0x54, 0x5e, 0x80, 0x64, 0x01, 0x8b, + 0xa6, 0xb2, 0xed, 0xa4, 0x0e, 0x5f, 0x08, 0x94, 0x10, 0x16, 0x71, 0x28, + 0x11, 0xe0, 0x7f, 0x1e, 0x84, 0x56, 0x74, 0x1c, 0xab, 0x82, 0x1d, 0x6f, + 0x74, 0x2f, 0x0b, 0xe9, 0x2b, 0x7c, 0x0a, 0xaf, 0x5a, 0xad, 0xf3, 0x52, + 0x69, 0x76, 0x5d, 0xae, 0x60, 0x7d, 0xfc, 0x96, 0x3b, 0xd6, 0x6d, 0xca, + 0xf7, 0x74, 0x72, 0x35, 0x4c, 0x48, 0xad, 0x22, 0xc9, 0x14, 0x4b, 0xf6, + 0x8f, 0x32, 0xee, 0x66, 0x14, 0xf4, 0x70, 0x5a, 0x2a, 0x93, 0x2c, 0x1e, + 0x47, 0x9b, 0x02, 0xb9, 0x82, 0xa3, 0xa5, 0xce, 0x45, 0x0a, 0xa2, 0xd8, + 0x41, 0x00, 0x12, 0xd2, 0x9c, 0x21, 0xbd, 0xe8, 0xac, 0x82, 0x21, 0xbd, + 0xfe, 0x9d, 0xc5, 0x8e, 0x1e, 0x3b, 0x78, 0x66, 0xdf, 0xfe, 0x7d, 0xdf, + 0x81, 0x8b, 0xc7, 0x0d, 0x05, 0x84, 0x76, 0xcb, 0x4a, 0x28, 0xd8, 0x71, + 0x8c, 0xb5, 0x9a, 0x75, 0xbb, 0x77, 0xef, 0xde, 0x2c, 0xd7, 0xda, 0xb4, + 0xed, 0x37, 0x05, 0xdc, 0xa5, 0xce, 0xaf, 0x6a, 0x37, 0x99, 0x0d, 0x29, + 0xa9, 0x56, 0x82, 0xf6, 0x04, 0x14, 0x08, 0x7a, 0x47, 0x5f, 0x5f, 0x5f, + 0x3e, 0x95, 0x4e, 0x6d, 0x80, 0x1c, 0x01, 0x3b, 0x25, 0x90, 0x31, 0x94, + 0xb0, 0x8e, 0xa5, 0x5e, 0xaa, 0xe9, 0xb3, 0xa5, 0xe6, 0xb0, 0xaa, 0xca, + 0x29, 0x57, 0x89, 0x9a, 0x4c, 0xfb, 0x03, 0x1c, 0x3b, 0x00, 0x6f, 0xb0, + 0x8b, 0x73, 0xb3, 0xcb, 0x12, 0x56, 0xe3, 0x83, 0x6b, 0x57, 0xf7, 0xde, + 0xb7, 0x66, 0xfd, 0x48, 0x77, 0x2a, 0x9d, 0x00, 0xab, 0xf6, 0x25, 0x8b, + 0xc2, 0x44, 0x89, 0x03, 0xcc, 0x66, 0x86, 0x86, 0x98, 0x9d, 0xce, 0xc8, + 0x02, 0x9b, 0xa0, 0x89, 0xe0, 0x82, 0x2c, 0x3b, 0x8c, 0xf6, 0x1a, 0x8a, + 0x64, 0xfb, 0x99, 0xf1, 0x58, 0x09, 0x58, 0x5a, 0xbe, 0x7c, 0xce, 0x62, + 0xe1, 0xd3, 0x7a, 0x17, 0xa1, 0xa4, 0xb0, 0x4d, 0xf6, 0xe4, 0x13, 0x3f, + 0x7c, 0x0a, 0x72, 0x80, 0x27, 0x88, 0x82, 0xd6, 0x68, 0x44, 0x2f, 0xb4, + 0x5b, 0x56, 0xc1, 0x92, 0x03, 0x34, 0xa5, 0xd2, 0x42, 0xea, 0xde, 0x7b, + 0xef, 0xd9, 0x35, 0x3c, 0x3c, 0x9c, 0xd2, 0xc2, 0x37, 0xa1, 0xc7, 0x9c, + 0x29, 0x78, 0xb3, 0xde, 0xa0, 0x83, 0x32, 0x2a, 0x02, 0xe1, 0x48, 0x33, + 0x23, 0x3d, 0xb9, 0xad, 0xbb, 0xd0, 0xed, 0xf4, 0xf6, 0xf5, 0x0e, 0x26, + 0x5c, 0x77, 0x53, 0xbd, 0x5e, 0x5b, 0x51, 0xa9, 0x54, 0xb1, 0x58, 0x86, + 0xe5, 0x64, 0x0c, 0xd6, 0x90, 0x94, 0xf9, 0x58, 0xb6, 0xf1, 0x41, 0xd8, + 0xa1, 0xe7, 0x7b, 0x1c, 0x04, 0x0e, 0x94, 0xb5, 0x99, 0x6e, 0xd4, 0x6b, + 0x7d, 0xd5, 0x85, 0xe2, 0x2d, 0x2e, 0xf7, 0x3f, 0xb0, 0x7a, 0xa8, 0x70, + 0xef, 0x86, 0xd5, 0xc3, 0x90, 0xe9, 0x76, 0x39, 0xb2, 0x53, 0x4e, 0xa8, + 0xa1, 0xc1, 0x00, 0xcb, 0x0d, 0xd9, 0x34, 0xeb, 0x18, 0xe9, 0x63, 0x4e, + 0x26, 0x2d, 0xcb, 0x0f, 0xe6, 0x62, 0xa0, 0x22, 0x12, 0xbe, 0x82, 0x1e, + 0x41, 0xd0, 0x12, 0x1f, 0x8b, 0x3d, 0x44, 0x2a, 0x82, 0x02, 0x33, 0x8b, + 0x1e, 0xd3, 0xf5, 0xa1, 0x5a, 0x36, 0xe1, 0xfc, 0xb9, 0x57, 0x66, 0x1f, + 0xdb, 0xf3, 0xe8, 0xd7, 0x9b, 0x9e, 0xf7, 0x2a, 0x76, 0x7e, 0x90, 0xf5, + 0xfb, 0xad, 0x53, 0x94, 0x02, 0xa2, 0x47, 0xb8, 0x2a, 0xe0, 0xd1, 0x3d, + 0x7b, 0xf6, 0x1c, 0xbc, 0xe5, 0x96, 0x5b, 0x1e, 0xd0, 0xc9, 0x53, 0xbb, + 0x29, 0x3a, 0x4b, 0x99, 0x3f, 0x7b, 0x2d, 0x38, 0xc2, 0x3e, 0x4c, 0xf0, + 0x38, 0xd9, 0x99, 0xac, 0x73, 0x04, 0x3d, 0x7a, 0xd4, 0x91, 0xe9, 0x60, + 0x6b, 0xd6, 0xac, 0x49, 0x0d, 0x0d, 0x0f, 0xad, 0x9d, 0x9f, 0x9b, 0x5f, + 0x0b, 0x1c, 0xba, 0xb6, 0x00, 0x60, 0x0e, 0x38, 0x5a, 0xf2, 0x9b, 0xcd, + 0x92, 0x07, 0x86, 0x0e, 0xc6, 0x8e, 0xdf, 0x3c, 0x01, 0xf6, 0x91, 0x4f, + 0xd9, 0x36, 0x24, 0xcf, 0xb9, 0xae, 0x42, 0x6e, 0x30, 0xdd, 0xd9, 0x91, + 0x66, 0x49, 0x07, 0x97, 0x39, 0x00, 0xe1, 0x36, 0x03, 0xd9, 0xd5, 0x81, + 0x2b, 0xc5, 0x42, 0x9e, 0xc5, 0x3a, 0x7a, 0xb3, 0x2c, 0xd1, 0xdf, 0xc5, + 0x02, 0x17, 0x27, 0x80, 0x57, 0xe5, 0x6c, 0x4b, 0xea, 0x2e, 0x51, 0x59, + 0xaf, 0xfc, 0x7a, 0xae, 0xea, 0xe8, 0x8e, 0x96, 0xd3, 0xb4, 0xe3, 0x85, + 0x05, 0x7d, 0x1a, 0xa4, 0x92, 0xb3, 0xfb, 0x55, 0xac, 0xb0, 0x64, 0x8c, + 0x50, 0x7d, 0x02, 0x72, 0xf6, 0x72, 0xe8, 0x28, 0xaa, 0x1a, 0xd4, 0xd9, + 0x73, 0xfb, 0x9e, 0x3e, 0x50, 0xae, 0x54, 0x8e, 0x92, 0xe0, 0x3d, 0x63, + 0x39, 0x9b, 0xb8, 0x18, 0x67, 0x28, 0x00, 0xbb, 0x06, 0xae, 0xfe, 0xe8, + 0x47, 0x3f, 0xfa, 0xc9, 0x27, 0x3e, 0xf1, 0x89, 0x3b, 0x81, 0x96, 0x76, + 0xde, 0xc8, 0xa4, 0xe5, 0xeb, 0x4d, 0x5e, 0xbe, 0x96, 0x37, 0xa0, 0xa0, + 0xd1, 0x13, 0x70, 0xc2, 0x1c, 0xee, 0x71, 0x02, 0x9d, 0x6e, 0x94, 0xd5, + 0x55, 0x45, 0x9c, 0xf1, 0x88, 0x73, 0xb9, 0x20, 0x8f, 0x48, 0x7b, 0x60, + 0xe5, 0xc0, 0x28, 0x06, 0x55, 0xd7, 0x82, 0x17, 0x8d, 0xbd, 0xca, 0x25, + 0x31, 0x09, 0x8d, 0x6d, 0x39, 0x9e, 0xe8, 0xcb, 0xce, 0x05, 0xc9, 0x07, + 0xb1, 0x97, 0xc9, 0x01, 0x78, 0xcb, 0x3b, 0x2c, 0x3f, 0x98, 0x61, 0x4e, + 0x21, 0xc3, 0x3c, 0x3b, 0x64, 0x55, 0xd1, 0x90, 0xdd, 0x7c, 0x21, 0xb6, + 0x55, 0x26, 0x64, 0x07, 0x11, 0xd3, 0x45, 0x86, 0x30, 0x22, 0x94, 0x8e, + 0xf2, 0x02, 0xbd, 0x38, 0x09, 0x2d, 0x91, 0x84, 0xe3, 0x05, 0x72, 0x21, + 0x29, 0x54, 0xaa, 0x1c, 0x37, 0xf4, 0xd4, 0xb4, 0x2c, 0x1c, 0xd4, 0x0a, + 0x15, 0x5b, 0x4a, 0x40, 0xac, 0x1b, 0x3b, 0x7b, 0xb2, 0xf4, 0xf2, 0x89, + 0x43, 0xff, 0x08, 0xaf, 0x9a, 0xa5, 0x86, 0x5c, 0xcf, 0x18, 0x52, 0x15, + 0x76, 0x9b, 0xf5, 0xe0, 0xe4, 0x54, 0x55, 0xb0, 0xc8, 0xfa, 0xe8, 0xe8, + 0xe8, 0x86, 0x9d, 0x3b, 0x77, 0xae, 0xb8, 0xd1, 0x69, 0xfc, 0x37, 0x0b, + 0x49, 0x28, 0x40, 0x84, 0x38, 0xf4, 0x36, 0x35, 0x4b, 0x45, 0xc8, 0xf2, + 0xb5, 0x1a, 0x3f, 0xd5, 0x6d, 0x1e, 0x71, 0xe3, 0x93, 0x6e, 0x5b, 0x71, + 0x5c, 0x2a, 0x14, 0x46, 0x1d, 0x96, 0x8b, 0x5b, 0x42, 0x18, 0x42, 0x8d, + 0x15, 0x30, 0x37, 0x2d, 0x58, 0x57, 0x7f, 0x92, 0x15, 0x40, 0xf8, 0xc9, + 0x0c, 0xfe, 0xb6, 0x80, 0x9a, 0xb3, 0x20, 0xa8, 0x8b, 0x5b, 0x6f, 0x7a, + 0x8d, 0x23, 0xc1, 0xe2, 0x09, 0x28, 0xa1, 0x4e, 0x28, 0x89, 0x66, 0x32, + 0xa2, 0x9f, 0xb2, 0x01, 0x55, 0x42, 0x93, 0x4e, 0x38, 0xad, 0x28, 0x06, + 0x84, 0xd1, 0x22, 0x53, 0x01, 0x7b, 0xf6, 0xa9, 0x6f, 0x1d, 0x7c, 0xf5, + 0xe4, 0x91, 0xef, 0xc2, 0x13, 0x5c, 0x33, 0xa2, 0x4c, 0x4a, 0x08, 0xda, + 0x4d, 0xd2, 0x6b, 0x9d, 0xac, 0x1d, 0x42, 0xd2, 0x92, 0x05, 0x4a, 0x7a, + 0x17, 0x58, 0xa7, 0x7d, 0xa3, 0xcb, 0x78, 0xbd, 0xd5, 0x3a, 0x0a, 0xd7, + 0x53, 0x96, 0x6a, 0xdb, 0x50, 0x34, 0x15, 0x4b, 0x17, 0x98, 0xf8, 0xa1, + 0x12, 0x7c, 0xd9, 0x87, 0xe9, 0xc9, 0x72, 0xb1, 0x14, 0x6e, 0xd0, 0xda, + 0x28, 0xab, 0x85, 0x1e, 0x48, 0xa1, 0x3b, 0x60, 0xa6, 0x89, 0x44, 0xc0, + 0xb2, 0x1d, 0x82, 0xf5, 0x02, 0x9b, 0xee, 0xe9, 0x01, 0xbc, 0xef, 0x70, + 0x65, 0xc9, 0x24, 0x54, 0x2b, 0x82, 0xc8, 0x7d, 0x48, 0x2b, 0x47, 0xc9, + 0xb5, 0xa2, 0x48, 0xe8, 0x8b, 0xa7, 0xb2, 0xd3, 0x38, 0x30, 0xd7, 0x0b, + 0x08, 0x72, 0xf5, 0x9a, 0x28, 0x26, 0x70, 0x5a, 0x58, 0x9c, 0xd3, 0x3d, + 0x88, 0x15, 0xc9, 0xf5, 0x2a, 0x5c, 0x36, 0x7d, 0xe9, 0x54, 0xfd, 0x89, + 0x1f, 0xfd, 0xe5, 0x37, 0x21, 0x81, 0x3c, 0x48, 0xc2, 0xaf, 0x99, 0x59, + 0xf0, 0x5b, 0x2d, 0xd6, 0x21, 0xeb, 0xb1, 0xc0, 0xc9, 0xab, 0x85, 0x42, + 0x61, 0x39, 0x78, 0xc1, 0xca, 0x77, 0x82, 0x82, 0x5e, 0xef, 0x2f, 0xee, + 0x9f, 0x09, 0x64, 0xc6, 0x2d, 0x15, 0x91, 0x48, 0x32, 0xd5, 0xaf, 0xc4, + 0xa4, 0x70, 0xb1, 0x26, 0xc3, 0x03, 0x0f, 0xf6, 0x4d, 0x66, 0x01, 0xbb, + 0x70, 0x84, 0x07, 0x02, 0x6f, 0xb2, 0x94, 0xe3, 0xb3, 0x0e, 0x80, 0x99, + 0x5c, 0x4a, 0xb0, 0x42, 0x0e, 0x82, 0x78, 0xa7, 0xc3, 0xba, 0x72, 0x09, + 0x96, 0x49, 0xb9, 0xb2, 0x2d, 0x46, 0x44, 0x5d, 0x2c, 0x24, 0x70, 0x2e, + 0x97, 0xa6, 0x93, 0x8a, 0x90, 0xf5, 0x7c, 0x8b, 0xc7, 0xad, 0x27, 0x22, + 0x1a, 0xc4, 0x6c, 0x59, 0xdc, 0x81, 0xd3, 0x0c, 0x20, 0x9d, 0xf1, 0x32, + 0x12, 0xbe, 0x15, 0x33, 0x22, 0x46, 0x49, 0x1a, 0x7c, 0xbe, 0xa7, 0xff, + 0xe1, 0xcf, 0xf7, 0x9e, 0x7e, 0xf5, 0x10, 0x5a, 0xff, 0x15, 0x0a, 0xbe, + 0x75, 0x1d, 0x7c, 0x5b, 0x3d, 0xa0, 0x75, 0x05, 0x3b, 0xe9, 0x05, 0x38, + 0x5c, 0x7a, 0xe6, 0xcc, 0x99, 0x0a, 0xc4, 0x81, 0x1d, 0xab, 0x56, 0xad, + 0xca, 0xbe, 0x13, 0x6b, 0xea, 0x5c, 0x6f, 0x09, 0x18, 0xd5, 0xfa, 0x27, + 0x54, 0x73, 0x53, 0xa0, 0xf2, 0x79, 0x59, 0xaa, 0x76, 0x6c, 0x96, 0x84, + 0x18, 0x91, 0x4a, 0xba, 0xa0, 0x14, 0x87, 0xa5, 0x71, 0x03, 0xe1, 0x66, + 0x92, 0x36, 0xcb, 0x26, 0x1d, 0x96, 0x4b, 0xbb, 0x2c, 0x0b, 0x5b, 0x07, + 0x3c, 0x4e, 0x26, 0x54, 0x29, 0x5d, 0xcd, 0xa7, 0x09, 0x29, 0x0e, 0x50, + 0x72, 0xc4, 0x19, 0xc1, 0x8d, 0x7a, 0x1c, 0x48, 0x18, 0x8a, 0x9b, 0x8a, + 0x65, 0xbc, 0xa0, 0x49, 0x27, 0x8c, 0x7a, 0x5c, 0x19, 0xbd, 0x26, 0x16, + 0xba, 0x91, 0xf5, 0x46, 0x23, 0xce, 0x9c, 0x86, 0x22, 0x01, 0x1e, 0xdd, + 0x14, 0x7b, 0xfd, 0xd8, 0x93, 0x93, 0x3f, 0xfb, 0xd1, 0xff, 0xfa, 0x0b, + 0xf0, 0xcc, 0x57, 0xc8, 0xfa, 0x2b, 0x04, 0x3f, 0xe1, 0xf5, 0x16, 0xeb, + 0x58, 0x04, 0x45, 0xc0, 0x4c, 0x2a, 0x38, 0x4f, 0x0b, 0x68, 0xe9, 0xd6, + 0x5c, 0x2e, 0x6b, 0x2d, 0x45, 0xa8, 0x4b, 0x65, 0x46, 0xaa, 0x8d, 0x8f, + 0x84, 0xaf, 0x15, 0x81, 0xad, 0x21, 0x04, 0x41, 0x32, 0x26, 0xa0, 0x07, + 0x88, 0x78, 0x2d, 0x3a, 0xdb, 0xd2, 0x53, 0x68, 0x69, 0xf2, 0x20, 0x85, + 0xd0, 0x78, 0xb9, 0x4c, 0x35, 0xa2, 0xc5, 0x85, 0xb2, 0x76, 0xbd, 0x94, + 0x9a, 0x9c, 0xef, 0xaf, 0xa6, 0x2d, 0xc3, 0xa6, 0xe3, 0x80, 0xa1, 0x20, + 0x2b, 0x1e, 0x5e, 0x54, 0x4d, 0x2d, 0xfc, 0xcd, 0x3d, 0x60, 0x5c, 0xbd, + 0x93, 0x6e, 0x84, 0x95, 0x3f, 0xb5, 0xe2, 0x24, 0x58, 0x75, 0xf6, 0xa2, + 0xff, 0xf8, 0xb7, 0xbf, 0xf0, 0xbd, 0xd9, 0x99, 0xcb, 0x4f, 0xc2, 0x89, + 0x39, 0xa3, 0xf4, 0xe0, 0xbf, 0xd5, 0x5a, 0x11, 0xed, 0x94, 0x20, 0xcf, + 0x9f, 0x3d, 0x7b, 0x76, 0x6e, 0x70, 0x70, 0x60, 0xed, 0x1d, 0x77, 0xdc, + 0x3e, 0x72, 0xb3, 0x89, 0xd8, 0xf5, 0x94, 0xd1, 0x3a, 0xcd, 0x53, 0xb7, + 0x74, 0x60, 0xc2, 0x14, 0x48, 0x6f, 0xa0, 0xfe, 0x4b, 0xda, 0x84, 0xdc, + 0xd4, 0x10, 0x22, 0x0f, 0x14, 0xf6, 0xa3, 0xa5, 0x4b, 0x81, 0xd3, 0x5e, + 0x0f, 0xa4, 0x70, 0x66, 0xac, 0x5f, 0xc7, 0x48, 0xd8, 0x8c, 0xe2, 0x41, + 0x34, 0xe3, 0x5f, 0xc5, 0x85, 0x48, 0x11, 0xad, 0xfd, 0x5e, 0x5c, 0x18, + 0x03, 0x2b, 0x2c, 0x5a, 0xa0, 0x76, 0x91, 0xb8, 0x68, 0x55, 0xc8, 0x17, + 0x1e, 0xfb, 0xf2, 0xa1, 0x13, 0x07, 0x1f, 0xfb, 0x3f, 0x70, 0x70, 0x82, + 0x84, 0x5f, 0x6d, 0xb1, 0x7e, 0xb1, 0x94, 0x65, 0x2b, 0x01, 0x8a, 0xc2, + 0xc6, 0x85, 0x0b, 0x63, 0xde, 0xed, 0xb7, 0xdf, 0x71, 0xfb, 0xb2, 0x65, + 0xa3, 0x29, 0x3d, 0xfb, 0x7b, 0xa9, 0xeb, 0x6d, 0x5e, 0x4b, 0x09, 0x6f, + 0x9e, 0x7f, 0x1b, 0xd0, 0xe0, 0x78, 0xb8, 0xa8, 0xf2, 0xa9, 0x05, 0xaf, + 0xda, 0x07, 0xd5, 0x75, 0x9c, 0x68, 0x28, 0x72, 0x6f, 0x4e, 0xed, 0x23, + 0x9c, 0xc8, 0xa4, 0x9a, 0x4c, 0xae, 0x49, 0x81, 0x6e, 0x23, 0x51, 0x6c, + 0x47, 0x0a, 0xdb, 0x0a, 0xa3, 0x58, 0x20, 0x05, 0x4f, 0x8b, 0x5c, 0x47, + 0x60, 0xa3, 0xbd, 0x61, 0x51, 0x1f, 0x18, 0x8f, 0xa0, 0xc9, 0x5c, 0xdf, + 0x0e, 0x5f, 0xe3, 0x02, 0xf4, 0x8c, 0x1d, 0xff, 0xd9, 0xfc, 0x53, 0x7f, + 0xf7, 0x27, 0x5f, 0xf3, 0x9a, 0xf5, 0xc3, 0x24, 0xfc, 0xb2, 0xae, 0xfb, + 0xb4, 0x5b, 0x39, 0xeb, 0x46, 0xd7, 0x0d, 0xb5, 0x81, 0x96, 0x62, 0x0b, + 0xb7, 0x75, 0xe7, 0x9d, 0x77, 0x6e, 0xee, 0xec, 0xec, 0x74, 0x6e, 0x36, + 0xd8, 0x5e, 0x2b, 0xa9, 0xd3, 0x54, 0x53, 0x51, 0x49, 0xa6, 0x98, 0x0e, + 0x66, 0xad, 0x28, 0x78, 0x8f, 0xac, 0x3e, 0xa4, 0x0e, 0x64, 0x39, 0xf7, + 0xd8, 0x67, 0x3a, 0x7b, 0xe2, 0x64, 0xfd, 0xb2, 0x83, 0x41, 0x57, 0x65, + 0x68, 0xea, 0x2c, 0x17, 0x21, 0x55, 0x6a, 0x14, 0xbe, 0x4b, 0xf8, 0xe1, + 0xb1, 0x40, 0x25, 0x9d, 0x8c, 0xe8, 0x28, 0x95, 0xf8, 0x99, 0x09, 0x47, + 0x6a, 0x8e, 0x43, 0x14, 0x90, 0xb9, 0xb1, 0xdc, 0x0f, 0xb5, 0xe8, 0x4b, + 0x1a, 0x0d, 0xac, 0x67, 0xee, 0xe2, 0xe9, 0xfa, 0x63, 0x5f, 0xfb, 0x83, + 0x6f, 0xcd, 0x5e, 0x1d, 0xdf, 0x63, 0x40, 0x4f, 0xb5, 0xdd, 0x2a, 0x29, + 0x37, 0xb2, 0x66, 0x9c, 0xd9, 0x9b, 0x23, 0xb1, 0xff, 0xcc, 0x99, 0x37, + 0x2e, 0x95, 0xcb, 0xe5, 0xfc, 0xae, 0x5d, 0xbb, 0x36, 0xe2, 0x92, 0x30, + 0x37, 0x93, 0xfd, 0x5e, 0x6b, 0x85, 0x29, 0xb3, 0x83, 0x58, 0x75, 0xa7, + 0xa9, 0x41, 0x6e, 0xd5, 0xb3, 0xe9, 0xc9, 0x0e, 0x05, 0xd5, 0x75, 0x8c, + 0xa3, 0xe3, 0x81, 0xdc, 0x50, 0x09, 0xd2, 0xe2, 0x43, 0x0a, 0xb4, 0xb4, + 0xa8, 0x08, 0x0a, 0x9d, 0x0b, 0x41, 0xf3, 0x97, 0xc9, 0x5b, 0xa3, 0x31, + 0x5d, 0x1d, 0x58, 0x05, 0x59, 0xbf, 0x88, 0x64, 0xa9, 0x93, 0x30, 0x41, + 0x4a, 0xd2, 0x02, 0x0f, 0xdb, 0x7d, 0x6e, 0x43, 0x4a, 0xf8, 0x53, 0x59, + 0xb5, 0xd9, 0x29, 0xb1, 0xe7, 0xab, 0x9f, 0xff, 0xfb, 0xf3, 0xaf, 0x1d, + 0xfa, 0x36, 0x1c, 0x9a, 0xa2, 0x9a, 0x4f, 0xb9, 0x35, 0xf3, 0x5d, 0xaa, + 0x02, 0x4c, 0x8d, 0xa1, 0x12, 0xfc, 0x57, 0x5e, 0x79, 0xe5, 0x52, 0x2a, + 0x95, 0x1a, 0x04, 0x4f, 0x58, 0x61, 0x4e, 0xe5, 0xbc, 0x59, 0x45, 0xbc, + 0x69, 0x2e, 0xae, 0x1e, 0x54, 0xa7, 0xa9, 0x3e, 0xaa, 0x0f, 0x3f, 0x94, + 0xb0, 0x13, 0x52, 0x2c, 0x08, 0x49, 0xf0, 0x8c, 0x36, 0x4e, 0xaf, 0x89, + 0x63, 0x80, 0x0a, 0xc4, 0x16, 0x09, 0x3a, 0x1a, 0xb1, 0xe2, 0x61, 0x34, + 0xfd, 0x56, 0x1e, 0xb1, 0x4c, 0x66, 0xa4, 0x18, 0x53, 0x84, 0x11, 0x6a, + 0x0d, 0x35, 0xdd, 0x5b, 0xbd, 0x78, 0xfa, 0x95, 0xe1, 0x29, 0x38, 0xde, + 0x1d, 0x36, 0xab, 0xec, 0x67, 0x5f, 0xfb, 0xd2, 0xde, 0xe3, 0xfb, 0x9e, + 0x40, 0xdc, 0x1f, 0x23, 0xe1, 0x5f, 0x33, 0xf0, 0x2e, 0x15, 0x82, 0x16, + 0x95, 0xf3, 0xb1, 0xf6, 0x7e, 0xe2, 0xc4, 0x89, 0x2b, 0x83, 0x83, 0x83, + 0x6b, 0xb6, 0x6c, 0xd9, 0xd2, 0xd7, 0x9a, 0x8c, 0x2d, 0x95, 0xf7, 0x2f, + 0x9a, 0x5f, 0x25, 0x83, 0x6e, 0x8c, 0xfd, 0x98, 0x78, 0x09, 0x99, 0x01, + 0xfb, 0xaa, 0x67, 0x27, 0x50, 0x9d, 0x6a, 0x72, 0x04, 0x25, 0x54, 0x1e, + 0xc1, 0xf5, 0x1a, 0x46, 0xa1, 0xc1, 0x7c, 0x78, 0x34, 0x2e, 0x15, 0x29, + 0xc0, 0xd2, 0x02, 0xa4, 0xa9, 0x57, 0xc2, 0xd8, 0x0b, 0x9d, 0x1b, 0x44, + 0xcd, 0x90, 0xb1, 0x87, 0x08, 0xbd, 0xcc, 0x6f, 0xa4, 0x84, 0x30, 0x22, + 0x42, 0xb2, 0x50, 0x01, 0xef, 0xfb, 0xdc, 0x37, 0xff, 0xea, 0x95, 0x67, + 0x1f, 0xfd, 0xd6, 0x5f, 0x80, 0x11, 0x9d, 0x26, 0xe1, 0x97, 0x5a, 0x92, + 0xae, 0x9b, 0x56, 0x00, 0x6f, 0xf1, 0x3a, 0x09, 0x47, 0xf5, 0x7a, 0x7d, + 0xe1, 0xf0, 0xe1, 0xc3, 0x57, 0x07, 0x06, 0x06, 0xd7, 0x6c, 0xdc, 0xb8, + 0xa1, 0x1b, 0x93, 0x26, 0x73, 0x26, 0xca, 0xf5, 0x94, 0x11, 0xf5, 0x4c, + 0x9a, 0xb3, 0x48, 0xb4, 0x12, 0x98, 0x1a, 0x70, 0x97, 0xc3, 0x8d, 0xc8, + 0x7c, 0xfc, 0x78, 0x26, 0x8a, 0x84, 0x9c, 0xd0, 0xa7, 0x56, 0x8f, 0x80, + 0x51, 0xb0, 0x50, 0x63, 0xb1, 0xa1, 0x8a, 0x1f, 0x5c, 0xc4, 0x1e, 0x10, + 0x0f, 0x10, 0x32, 0x15, 0x0b, 0xb8, 0x36, 0x62, 0x11, 0x61, 0xb9, 0xd0, + 0x4d, 0xeb, 0xa8, 0x48, 0xea, 0xe6, 0x5b, 0x4c, 0x49, 0x0d, 0x6f, 0x11, + 0xd1, 0xd4, 0x74, 0xd5, 0xac, 0x00, 0x9f, 0x69, 0xff, 0x77, 0xbe, 0xf3, + 0xfa, 0xe3, 0x7f, 0xfd, 0xb5, 0xbf, 0x84, 0xcf, 0x77, 0x04, 0x4e, 0x15, + 0x49, 0xf8, 0x55, 0xa3, 0xe4, 0xf0, 0xb6, 0x96, 0x2e, 0x66, 0x6d, 0x14, + 0x20, 0x15, 0x03, 0xb1, 0x60, 0x6e, 0xff, 0xfe, 0x17, 0x2e, 0xe2, 0xfa, + 0xf9, 0xb7, 0xde, 0x7a, 0xeb, 0x80, 0x15, 0x4d, 0xd2, 0xe0, 0x37, 0x84, + 0xf9, 0xed, 0xa0, 0x27, 0x9a, 0x57, 0x15, 0x92, 0xe0, 0x7d, 0x2f, 0xa6, + 0x9f, 0xba, 0xb7, 0x9e, 0x1a, 0x9c, 0x94, 0x07, 0x50, 0x43, 0x87, 0x64, + 0x65, 0x84, 0xfb, 0x21, 0x71, 0xff, 0xc8, 0x13, 0xc2, 0xc8, 0x13, 0x18, + 0xe5, 0x04, 0xcc, 0x32, 0xe3, 0x80, 0x91, 0x68, 0x51, 0x4c, 0x08, 0xb9, + 0xa6, 0x99, 0x3c, 0x3e, 0x4f, 0x41, 0x5c, 0xee, 0x70, 0x8e, 0x03, 0x18, + 0xc5, 0x4f, 0xff, 0xf7, 0xb7, 0x5f, 0xfe, 0x87, 0xaf, 0xfe, 0xcd, 0x57, + 0x81, 0xa5, 0x1d, 0x22, 0xe1, 0x17, 0x8d, 0x8c, 0x37, 0x60, 0x37, 0xb0, + 0x7e, 0xf4, 0x8d, 0xb2, 0xa0, 0xb6, 0x3f, 0xe9, 0x57, 0xad, 0x56, 0x71, + 0xe1, 0x8b, 0x09, 0x08, 0xc8, 0x23, 0x9b, 0x37, 0x6f, 0x1e, 0xd4, 0x8b, + 0x5c, 0x5c, 0x6b, 0xc9, 0xdf, 0x76, 0x5c, 0x3f, 0xda, 0xab, 0x91, 0x14, + 0x95, 0x7c, 0x91, 0xd5, 0xab, 0xf9, 0xb7, 0x24, 0x78, 0x3f, 0x88, 0x1a, + 0x67, 0x59, 0xa8, 0x28, 0xa9, 0xc2, 0x7e, 0xcc, 0x03, 0xa2, 0x7e, 0x20, + 0xc9, 0x78, 0x74, 0x11, 0xc1, 0x12, 0x31, 0xe7, 0xb7, 0x28, 0x1b, 0x56, + 0x9d, 0x25, 0xe4, 0xa5, 0x06, 0x2c, 0x69, 0xcb, 0x37, 0x8b, 0x10, 0x51, + 0xf2, 0x45, 0xd7, 0xc8, 0x44, 0x0e, 0xeb, 0x53, 0xf5, 0x26, 0xdb, 0xf3, + 0x67, 0xdf, 0x3d, 0xf6, 0xf8, 0xd7, 0x7e, 0x00, 0x96, 0x1f, 0x1e, 0x31, + 0x84, 0x5f, 0x36, 0x6a, 0xfd, 0xe1, 0x8d, 0x58, 0xf5, 0x52, 0x7e, 0xc0, + 0xc1, 0x54, 0x82, 0xc6, 0x35, 0x9c, 0x5e, 0x3a, 0xbf, 0x6f, 0xdf, 0xbe, + 0xf3, 0xc9, 0x64, 0x72, 0x08, 0x62, 0xc2, 0x30, 0xd6, 0x6f, 0xda, 0x5a, + 0x78, 0x9b, 0xa5, 0xbd, 0x22, 0x08, 0xd2, 0xc7, 0x03, 0x35, 0x91, 0x4d, + 0x15, 0xd8, 0x74, 0xe1, 0xcd, 0x8f, 0x13, 0x30, 0x82, 0x20, 0x49, 0x37, + 0x43, 0x0d, 0x43, 0xd4, 0x0e, 0x42, 0x50, 0x24, 0x58, 0x48, 0x99, 0xb2, + 0xaa, 0xeb, 0x58, 0x51, 0x01, 0x41, 0x44, 0x53, 0x69, 0x39, 0x8b, 0x03, + 0x6e, 0xd4, 0x5e, 0xcb, 0x05, 0x8d, 0x62, 0xe9, 0x24, 0x8d, 0x6b, 0x4e, + 0x14, 0x59, 0x1d, 0xae, 0x6b, 0x54, 0x9f, 0xaf, 0xb2, 0x1f, 0xfe, 0xc9, + 0xf7, 0x5f, 0x7a, 0xe2, 0xaf, 0xf7, 0xfc, 0x05, 0x18, 0xcb, 0xcb, 0x04, + 0x39, 0xa6, 0xf0, 0x3d, 0xb6, 0x84, 0x1f, 0x7b, 0x5b, 0xea, 0x4f, 0x98, + 0x98, 0x50, 0x14, 0xcd, 0xd3, 0xc2, 0x5f, 0x99, 0x03, 0x4f, 0x38, 0x3b, + 0x33, 0x33, 0x93, 0x58, 0xb5, 0x6a, 0xd5, 0x8a, 0x42, 0xa1, 0x60, 0x9b, + 0x82, 0xbe, 0xd6, 0x1a, 0x3b, 0x8b, 0xe3, 0x01, 0x41, 0x4f, 0xe0, 0x13, + 0xee, 0x1b, 0x4a, 0xd1, 0x39, 0x80, 0xec, 0xc1, 0x54, 0x10, 0xa4, 0x60, + 0x88, 0x70, 0x3f, 0x62, 0x41, 0xf1, 0xda, 0x76, 0x96, 0x60, 0xc6, 0x6a, + 0x8e, 0xc2, 0x98, 0xbf, 0xcc, 0x28, 0x30, 0xc7, 0xdc, 0xce, 0x0c, 0xc4, + 0x21, 0x37, 0xbe, 0x24, 0x71, 0x7c, 0x2c, 0xda, 0xbb, 0x49, 0x97, 0x5d, + 0x38, 0x3e, 0xd6, 0xfc, 0xc6, 0x17, 0xbe, 0xfb, 0xc4, 0xb3, 0x8f, 0xee, + 0xfb, 0x1b, 0x38, 0x8d, 0xa3, 0x5b, 0xf3, 0xb4, 0x95, 0x09, 0x76, 0x3c, + 0xb6, 0xc4, 0x1f, 0xff, 0xbc, 0x99, 0x5f, 0x51, 0x6a, 0x55, 0x40, 0x48, + 0x6b, 0x73, 0x96, 0x21, 0x30, 0xbf, 0x76, 0xfc, 0xf8, 0xf1, 0xf9, 0x9e, + 0x9e, 0xde, 0x91, 0xd1, 0xd1, 0x91, 0x9c, 0x1e, 0xe7, 0x7d, 0xcb, 0x35, + 0xd5, 0x54, 0x1b, 0x1b, 0x35, 0xba, 0xc6, 0xfb, 0x30, 0x5c, 0x5c, 0x7a, + 0x50, 0xf8, 0xaf, 0x33, 0xe0, 0x30, 0xf2, 0x02, 0xae, 0x93, 0x2f, 0xa1, + 0x93, 0x32, 0x46, 0x6b, 0xd6, 0x09, 0xca, 0x0d, 0xb4, 0xe0, 0x43, 0x83, + 0x1d, 0x11, 0x8b, 0xa1, 0x55, 0xbd, 0x18, 0x4d, 0x3a, 0x17, 0x06, 0x64, + 0x86, 0x14, 0x9c, 0x2d, 0x5b, 0xb5, 0xa9, 0xef, 0xfd, 0xbb, 0x17, 0x27, + 0xfe, 0xea, 0x8b, 0xdf, 0xfb, 0xf6, 0xe9, 0x23, 0x67, 0xfe, 0x2f, 0x1c, + 0xbe, 0xd0, 0x02, 0x3b, 0x9a, 0x6e, 0x06, 0x4b, 0x11, 0xfe, 0xcd, 0x2a, + 0xa0, 0x1d, 0x1c, 0x69, 0x48, 0xc2, 0xee, 0xba, 0xf3, 0x7b, 0xf7, 0xee, + 0x1d, 0x03, 0x21, 0x77, 0xae, 0x5b, 0xb7, 0x6e, 0x24, 0x93, 0xc9, 0x2c, + 0x62, 0x3b, 0x6d, 0x67, 0x92, 0xb7, 0x2c, 0x74, 0x11, 0x46, 0x41, 0xd8, + 0x27, 0xe5, 0xa8, 0xbd, 0xcc, 0x80, 0x51, 0x09, 0x94, 0x78, 0x09, 0xa1, + 0xe2, 0x1c, 0xc6, 0x00, 0xce, 0x84, 0x91, 0x8c, 0x51, 0x85, 0x93, 0xa0, + 0x88, 0x45, 0x6b, 0x9d, 0xc6, 0xc1, 0x99, 0xd1, 0x6f, 0xdc, 0x30, 0x2e, + 0x8c, 0x2f, 0xa2, 0x14, 0x22, 0x67, 0xc8, 0x80, 0xe0, 0x13, 0x49, 0x9b, + 0xcd, 0x5e, 0x2e, 0xb3, 0xbf, 0xfd, 0xb3, 0xc7, 0x0f, 0x7e, 0xfb, 0xcf, + 0x1f, 0xfb, 0xeb, 0xe2, 0xec, 0xc2, 0x33, 0x70, 0xd9, 0x34, 0x59, 0x7d, + 0xd1, 0x18, 0xdf, 0x5d, 0x12, 0xec, 0xbc, 0x5d, 0x05, 0xb4, 0xc2, 0x91, + 0x1e, 0xce, 0xd4, 0x5b, 0x08, 0xc1, 0xf9, 0xea, 0xfe, 0xfd, 0x07, 0x5e, + 0x3f, 0x7f, 0xfe, 0x42, 0x33, 0x9b, 0xcd, 0xf6, 0xf5, 0xf6, 0xf6, 0x75, + 0x24, 0x00, 0x3f, 0xe3, 0xa1, 0x46, 0x16, 0x29, 0x45, 0x06, 0xda, 0x50, + 0x41, 0x8e, 0x4f, 0x02, 0xd7, 0xb1, 0x20, 0x34, 0x0a, 0x71, 0x82, 0x68, + 0xa7, 0x1c, 0x74, 0x91, 0xfd, 0x99, 0x61, 0x54, 0x8a, 0x90, 0x81, 0x57, + 0xe6, 0x04, 0x86, 0xa5, 0x53, 0xbf, 0x3e, 0x8f, 0x26, 0x5c, 0xd0, 0xfc, + 0x05, 0x11, 0x8d, 0x61, 0xb1, 0x78, 0xe1, 0x77, 0xca, 0x0b, 0x28, 0xd8, + 0x26, 0x01, 0x6e, 0xca, 0xf3, 0x75, 0xb6, 0xf7, 0xc9, 0x93, 0x57, 0xbe, + 0xf2, 0xa7, 0x3f, 0x7a, 0xec, 0xd9, 0xa7, 0x8e, 0x7c, 0x0b, 0x08, 0xc2, + 0x49, 0x03, 0x72, 0x8a, 0xad, 0x83, 0xeb, 0x37, 0x23, 0xfc, 0xb7, 0xa3, + 0x80, 0x56, 0x38, 0x12, 0x86, 0x02, 0x7c, 0x95, 0x63, 0x05, 0xe5, 0xd3, + 0xf0, 0xf7, 0xcc, 0x33, 0xcf, 0xbc, 0x76, 0xf9, 0xf2, 0xe5, 0x10, 0xe2, + 0x42, 0x2f, 0xfe, 0x2e, 0xa3, 0x5e, 0xd3, 0x39, 0x5a, 0x59, 0x84, 0xea, + 0x3b, 0xd2, 0xe2, 0x09, 0xf3, 0x95, 0xe0, 0x55, 0xf6, 0x2b, 0xa8, 0x2c, + 0x11, 0x50, 0x89, 0x5a, 0xb5, 0x1d, 0x8b, 0x98, 0x82, 0xea, 0xb2, 0x03, + 0xc5, 0x00, 0x2b, 0x9a, 0x2a, 0xa4, 0xcb, 0x11, 0x2c, 0x0a, 0xca, 0xdc, + 0xac, 0x09, 0x59, 0xc6, 0xa8, 0x17, 0x79, 0x8b, 0xed, 0x5a, 0xf2, 0x67, + 0x76, 0xf7, 0xef, 0x3b, 0x3b, 0xf7, 0x95, 0xaf, 0x3c, 0xf1, 0xcc, 0xd7, + 0xbf, 0xfe, 0x93, 0x6f, 0x4c, 0x4d, 0xcd, 0x3c, 0x45, 0x55, 0xcd, 0x62, + 0x1b, 0x9e, 0xef, 0xb3, 0xb7, 0xf9, 0xeb, 0xaa, 0x6f, 0x77, 0x01, 0xe5, + 0xd6, 0x05, 0xbf, 0xb1, 0x95, 0x00, 0x67, 0x62, 0xe0, 0xc2, 0x1b, 0x38, + 0x80, 0x93, 0xa7, 0xc7, 0x38, 0xc3, 0x71, 0xfb, 0x23, 0x8f, 0x3c, 0xf2, + 0xc1, 0x8f, 0x7f, 0xfc, 0xe3, 0xb7, 0xe1, 0x94, 0x53, 0xbd, 0x62, 0x2d, + 0xd6, 0x79, 0xc2, 0x68, 0xb2, 0x43, 0x8c, 0xf9, 0x4a, 0x31, 0xba, 0xfc, + 0xe0, 0x13, 0xf4, 0x04, 0x44, 0x3f, 0x83, 0x78, 0x74, 0x4c, 0x4e, 0xa8, + 0xf3, 0x65, 0xe7, 0x8e, 0xcc, 0x78, 0x45, 0xa0, 0xc7, 0xa5, 0x54, 0xa9, + 0x80, 0xca, 0x0f, 0xb8, 0x06, 0x9e, 0x4d, 0xc5, 0x38, 0x5c, 0x3e, 0x41, + 0xfd, 0x16, 0x10, 0x3c, 0x4e, 0xaa, 0x9f, 0x5c, 0x69, 0x34, 0x02, 0x76, + 0xf2, 0xf5, 0xa9, 0xda, 0xb7, 0xfe, 0xdf, 0xbe, 0x97, 0x9e, 0x7a, 0xee, + 0xf8, 0xd3, 0xe5, 0x5a, 0xf5, 0x04, 0x8d, 0xe3, 0x56, 0x08, 0xe7, 0x17, + 0x28, 0xbb, 0xad, 0x1b, 0x90, 0xf3, 0xb6, 0x7f, 0xda, 0xf6, 0x9d, 0xfa, + 0x3d, 0x61, 0x73, 0x50, 0x1f, 0x93, 0x81, 0x04, 0x2d, 0xcb, 0x85, 0xc2, + 0xcf, 0xe1, 0xac, 0x24, 0xda, 0xfa, 0x56, 0xaf, 0x5e, 0xbd, 0xf5, 0xfe, + 0xfb, 0x3f, 0x74, 0xcf, 0x3d, 0xf7, 0xec, 0xbe, 0x65, 0xcd, 0x9a, 0x35, + 0xdd, 0xdd, 0xdd, 0x05, 0x39, 0xa9, 0x02, 0x97, 0x05, 0xf0, 0x08, 0xdf, + 0x05, 0x31, 0x22, 0x11, 0x52, 0x06, 0x4c, 0x59, 0xb0, 0xfa, 0x65, 0xd6, + 0x58, 0xf8, 0xb2, 0x24, 0x01, 0x1e, 0x60, 0x87, 0x6a, 0x11, 0x7b, 0x4b, + 0xa8, 0xd6, 0x13, 0x4b, 0x18, 0x6b, 0x5d, 0xf3, 0x80, 0x56, 0x79, 0x11, + 0xd1, 0xfa, 0x75, 0xb8, 0x88, 0x94, 0x9b, 0x50, 0x89, 0xe3, 0xe5, 0xab, + 0x45, 0x71, 0xec, 0xd5, 0xf1, 0xab, 0x3f, 0x79, 0xee, 0xe5, 0x93, 0xcf, + 0x1f, 0x79, 0xf5, 0xe0, 0x5c, 0xa9, 0x74, 0xd4, 0x18, 0x42, 0xac, 0x18, + 0x15, 0xcd, 0x7a, 0x8b, 0xd5, 0xbf, 0x23, 0x3f, 0xee, 0xfc, 0x6e, 0xfd, + 0xa0, 0xb3, 0x6e, 0xf2, 0x4a, 0x1a, 0x8a, 0xc8, 0x1a, 0x8a, 0x28, 0x74, + 0x75, 0x75, 0xad, 0xdc, 0xb6, 0x6d, 0xdb, 0xf6, 0xdd, 0xbb, 0x77, 0xdf, + 0xb6, 0x65, 0xcb, 0xad, 0xa3, 0x23, 0xc3, 0x83, 0xd9, 0x64, 0x2a, 0xa9, + 0x2a, 0xa0, 0xc4, 0xf9, 0xd5, 0xc2, 0x17, 0xbe, 0x84, 0x28, 0x44, 0x37, + 0x54, 0xc4, 0xe2, 0xf2, 0x43, 0x20, 0x4b, 0xd1, 0x28, 0x70, 0x2b, 0x2a, + 0x3b, 0x2b, 0x46, 0x44, 0x8d, 0x82, 0x51, 0x09, 0x5a, 0x2e, 0x36, 0x42, + 0xd3, 0xd2, 0x2b, 0xb5, 0x26, 0x7b, 0xe3, 0xc2, 0xe5, 0xf2, 0x0b, 0x47, + 0x5e, 0xbb, 0xf0, 0xec, 0x4b, 0xaf, 0x1e, 0x3d, 0x79, 0xe6, 0xc2, 0x71, + 0x50, 0xee, 0x79, 0x6a, 0x1d, 0xa9, 0x1a, 0x56, 0x5f, 0x25, 0xab, 0x6f, + 0x1a, 0x2c, 0xe7, 0x1d, 0xfd, 0x41, 0xe7, 0x77, 0xf3, 0x27, 0xcd, 0xb5, + 0x37, 0x68, 0x8f, 0x48, 0x93, 0x22, 0x3a, 0xe8, 0x31, 0x2a, 0x27, 0x67, + 0x59, 0xd6, 0xc0, 0xe8, 0xe8, 0xe8, 0xba, 0x0d, 0x1b, 0x36, 0x6c, 0x84, + 0x6d, 0xd5, 0x9a, 0x35, 0xab, 0x07, 0xf1, 0x57, 0x4b, 0xf3, 0xd9, 0x0e, + 0x5b, 0xce, 0x47, 0x26, 0x2c, 0x57, 0x34, 0xd4, 0x53, 0xd4, 0x33, 0xa0, + 0xd1, 0x2f, 0xa1, 0xb2, 0x61, 0xd9, 0x38, 0x48, 0x8c, 0x48, 0x36, 0x0e, + 0xea, 0x8c, 0x56, 0x0e, 0xec, 0x04, 0x0c, 0x27, 0x60, 0xcc, 0x16, 0xcb, + 0xc1, 0x1b, 0xe3, 0x53, 0xf3, 0x27, 0x4e, 0x9d, 0xbd, 0x74, 0xfa, 0xcc, + 0xd8, 0xb9, 0x37, 0x2e, 0x4c, 0xbc, 0x36, 0x3b, 0x3f, 0xff, 0x2a, 0x59, + 0xbb, 0xa6, 0x92, 0x75, 0xa3, 0x7b, 0xa1, 0xd6, 0xae, 0x8f, 0x87, 0xfd, + 0x33, 0xf9, 0x4d, 0x79, 0xd6, 0xd2, 0x73, 0xea, 0x50, 0x7c, 0xd0, 0xd0, + 0x94, 0x22, 0x25, 0xa4, 0x8d, 0xe7, 0xa8, 0x98, 0xce, 0x6c, 0x36, 0x37, + 0x34, 0x38, 0x38, 0xb8, 0x1c, 0xe2, 0xc4, 0xca, 0x55, 0x2b, 0x57, 0x8c, + 0xf6, 0xf5, 0xf6, 0xe0, 0x42, 0x5e, 0xd9, 0x6c, 0x47, 0x26, 0x99, 0x4e, + 0x25, 0xdd, 0x4c, 0x32, 0xe1, 0xca, 0x09, 0x22, 0x46, 0x16, 0xcc, 0xc9, + 0x03, 0x7c, 0xb9, 0x3c, 0x7d, 0xd5, 0x2b, 0x57, 0x2b, 0x5e, 0xb1, 0x5c, + 0x6d, 0x4c, 0xcf, 0x2f, 0x94, 0x27, 0xae, 0xcc, 0x14, 0x5f, 0x3f, 0x73, + 0xe1, 0xe2, 0xd8, 0xf8, 0xf8, 0xb9, 0xe9, 0xb9, 0xf9, 0x71, 0xaf, 0xd9, + 0x9c, 0xa4, 0xc1, 0x12, 0x5d, 0xb3, 0xa9, 0xb5, 0xec, 0xeb, 0x86, 0xe0, + 0x7d, 0x83, 0xe9, 0xb1, 0x77, 0xd2, 0xf2, 0xdf, 0x4d, 0x05, 0xbc, 0x15, + 0x2c, 0xe9, 0xcd, 0x25, 0xa1, 0x6b, 0x85, 0x24, 0x8d, 0x7d, 0x82, 0x36, + 0x54, 0x48, 0x16, 0x82, 0x75, 0x3e, 0x99, 0x4c, 0x65, 0xd3, 0xe9, 0x74, + 0x2e, 0x9b, 0xcb, 0x76, 0x76, 0x75, 0x76, 0x15, 0x70, 0xd9, 0x68, 0x35, + 0x06, 0x1f, 0x4f, 0x86, 0x86, 0xd8, 0x21, 0x1a, 0xf5, 0x46, 0x7d, 0xbe, + 0x38, 0x3f, 0xbf, 0xb0, 0x00, 0x24, 0xb2, 0x56, 0x5b, 0x68, 0x7a, 0x4d, + 0x5c, 0x03, 0xa8, 0x64, 0x30, 0x17, 0x8f, 0x84, 0xdb, 0x24, 0x81, 0x37, + 0x8c, 0x4e, 0x65, 0xb3, 0x6d, 0x30, 0x78, 0x37, 0xe0, 0xe6, 0xfd, 0x50, + 0x40, 0xeb, 0xe8, 0x1a, 0x33, 0xa0, 0xc9, 0x0c, 0xd8, 0x09, 0x83, 0x41, + 0xe9, 0xe7, 0x4e, 0xd4, 0xa0, 0x19, 0x5f, 0xab, 0x95, 0xa7, 0x27, 0x96, + 0x98, 0x8b, 0x75, 0x68, 0x81, 0xf9, 0xc6, 0x16, 0x18, 0x2d, 0x97, 0xbe, + 0x21, 0xfc, 0x46, 0x8b, 0x32, 0x7c, 0xe3, 0xb5, 0xad, 0x42, 0x17, 0xef, + 0x85, 0x70, 0xde, 0x2b, 0x25, 0xb4, 0x2a, 0xc4, 0x36, 0x84, 0x69, 0x1b, + 0x02, 0x37, 0x85, 0xef, 0xb6, 0x5c, 0x63, 0xb6, 0xd4, 0x2f, 0x1a, 0xdf, + 0xa1, 0xbd, 0x69, 0xbd, 0xa6, 0xf0, 0x3d, 0x43, 0x31, 0x5e, 0xcb, 0x35, + 0xc1, 0x35, 0x04, 0x2e, 0xde, 0x4b, 0xc1, 0xbc, 0x97, 0x7f, 0xad, 0x4d, + 0x36, 0xad, 0xbd, 0xa9, 0x76, 0x1b, 0xa1, 0x73, 0xe3, 0x58, 0xbb, 0x5f, + 0x63, 0x13, 0x2d, 0x99, 0xb9, 0x68, 0xa3, 0x8c, 0xb0, 0x4d, 0x40, 0x15, + 0xef, 0x95, 0xb5, 0xff, 0x53, 0x52, 0xc0, 0xb5, 0xde, 0x9f, 0x5f, 0x43, + 0x29, 0xad, 0xbf, 0x61, 0xff, 0x56, 0x0a, 0x60, 0x2d, 0x02, 0x0e, 0x5b, + 0x02, 0x69, 0x3b, 0x26, 0x23, 0xde, 0x2f, 0x01, 0xfc, 0x7f, 0x01, 0x06, + 0x00, 0xa3, 0x09, 0xc1, 0x9c, 0x41, 0x01, 0x89, 0xa8, 0x00, 0x00, 0x00, + 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __device_cdrom_png_len = 13605; +unsigned char __device_ext3_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe2, 0x98, 0x77, 0x38, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x30, 0xd1, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xdc, 0x7d, 0x09, 0x98, + 0x1d, 0x65, 0x99, 0xee, 0x57, 0x75, 0xf6, 0xa5, 0xf7, 0xee, 0x74, 0xba, + 0xd3, 0x49, 0x3a, 0xe9, 0xec, 0x01, 0x92, 0x80, 0x10, 0x12, 0x40, 0x62, + 0x02, 0x12, 0x48, 0x88, 0x11, 0x08, 0xa8, 0xe0, 0x8c, 0x8e, 0x22, 0x20, + 0x3c, 0x6e, 0x30, 0xe2, 0x1d, 0x70, 0x94, 0x51, 0x11, 0x61, 0x98, 0x7b, + 0xbd, 0xca, 0x7d, 0x18, 0x71, 0x45, 0x47, 0x61, 0x1c, 0x97, 0x01, 0x94, + 0x7d, 0x10, 0xc8, 0x02, 0x01, 0x1c, 0xb2, 0x75, 0x20, 0x90, 0x7d, 0xeb, + 0xa4, 0xf7, 0xe5, 0x74, 0x9f, 0xb5, 0xea, 0xbe, 0xef, 0x57, 0x55, 0xa7, + 0x4f, 0x6f, 0x24, 0x64, 0x69, 0xe6, 0xa1, 0x9e, 0xe7, 0xef, 0xb3, 0xf5, + 0xa9, 0xf3, 0xd7, 0xb7, 0xbc, 0xdf, 0xfa, 0xff, 0x65, 0xd8, 0xb6, 0x2d, + 0x86, 0x61, 0xc8, 0x28, 0x1e, 0xfa, 0x63, 0xdf, 0xf8, 0xc6, 0x37, 0x8c, + 0xe7, 0x9f, 0x7f, 0xde, 0xac, 0xaa, 0xaa, 0x32, 0xf1, 0xd2, 0x97, 0x4a, + 0xa5, 0xfc, 0xf1, 0x78, 0xdc, 0x8f, 0xf9, 0x04, 0xb3, 0xd9, 0x6c, 0x28, + 0x10, 0x08, 0x84, 0x7c, 0x3e, 0x5f, 0x88, 0x07, 0xe6, 0x17, 0xe2, 0xfb, + 0xf8, 0xbf, 0x00, 0x9e, 0xfb, 0x31, 0x4c, 0xbc, 0xd6, 0xf3, 0x64, 0x32, + 0x19, 0x2b, 0x87, 0xc3, 0xb2, 0xac, 0x6c, 0xa6, 0xff, 0x48, 0xa5, 0x71, + 0x24, 0x93, 0xc9, 0x14, 0xce, 0x95, 0xc6, 0xb9, 0xd3, 0x89, 0x44, 0x82, + 0x6f, 0x65, 0xf1, 0x98, 0x2d, 0x2a, 0x2a, 0xca, 0xbe, 0xfd, 0xf6, 0xdb, + 0x16, 0xbe, 0xce, 0x61, 0xbb, 0x43, 0x0a, 0x1e, 0x47, 0xe5, 0x20, 0xed, + 0xfd, 0x32, 0xba, 0x87, 0xc7, 0x69, 0xa3, 0xb1, 0xb1, 0xd1, 0x28, 0x24, + 0x3e, 0xe8, 0x1c, 0x30, 0x4d, 0x33, 0xe4, 0xf7, 0xfb, 0x39, 0x22, 0x1c, + 0x78, 0x1d, 0x01, 0x13, 0xa2, 0x18, 0x61, 0x4c, 0x36, 0x0c, 0xc2, 0x07, + 0xc9, 0x00, 0x7e, 0x07, 0x83, 0x4c, 0xb0, 0xf1, 0xda, 0x02, 0x91, 0x73, + 0x18, 0x19, 0x30, 0x21, 0x8d, 0x91, 0x02, 0x3f, 0x52, 0xf8, 0x6e, 0x1f, + 0x46, 0x12, 0x9f, 0xf7, 0xe1, 0x7f, 0x93, 0xc1, 0x60, 0xd0, 0x87, 0xff, + 0x49, 0x45, 0x22, 0x11, 0xa3, 0xbb, 0xbb, 0x5b, 0xea, 0xeb, 0xeb, 0x73, + 0xbb, 0x76, 0xed, 0x12, 0x97, 0x09, 0x1e, 0xf1, 0x8d, 0xd1, 0x66, 0xc2, + 0x68, 0x33, 0x40, 0x89, 0xbf, 0x6a, 0xd5, 0x2a, 0x63, 0xc7, 0x8e, 0x1d, + 0x26, 0x24, 0x91, 0x1a, 0x40, 0x31, 0x0f, 0x80, 0x68, 0x21, 0x10, 0x2f, + 0x82, 0xc7, 0x28, 0x88, 0x15, 0xc5, 0xf3, 0x62, 0x68, 0x41, 0x14, 0x44, + 0x8c, 0xf5, 0xf6, 0xf6, 0x56, 0xbe, 0xf6, 0xda, 0x6b, 0x0b, 0xf6, 0xed, + 0xdb, 0x37, 0xaf, 0xa7, 0xa7, 0x67, 0x1c, 0x08, 0x19, 0xd5, 0xc9, 0xfb, + 0xfd, 0x7d, 0xf8, 0x6e, 0x3b, 0x34, 0xa7, 0x09, 0xe7, 0xd9, 0x51, 0x53, + 0x53, 0xb3, 0xb5, 0xbc, 0xbc, 0x7c, 0x2f, 0x3e, 0xef, 0x23, 0xe1, 0x39, + 0x70, 0x9e, 0x6e, 0x9c, 0x23, 0xc0, 0x7f, 0xc7, 0x73, 0x13, 0xcc, 0x34, + 0xc0, 0x04, 0xe9, 0xeb, 0xeb, 0x2b, 0x94, 0x78, 0xeb, 0xbd, 0xd0, 0x00, + 0x25, 0xc6, 0x28, 0x42, 0x50, 0x5e, 0xfa, 0x17, 0x2d, 0x5a, 0x64, 0x82, + 0x08, 0x3e, 0x10, 0xdb, 0x1f, 0x8d, 0x46, 0x41, 0xe7, 0x40, 0x18, 0xef, + 0x47, 0xc2, 0xe1, 0x70, 0x0c, 0x04, 0x8a, 0x83, 0x60, 0xc5, 0x60, 0x42, + 0x11, 0x34, 0xa3, 0xe2, 0xc5, 0x17, 0x5f, 0x5c, 0xbe, 0x7b, 0xf7, 0xee, + 0x0f, 0x01, 0x56, 0xe2, 0x20, 0xae, 0x8c, 0x1f, 0x3f, 0x5e, 0xca, 0xca, + 0xca, 0x04, 0xff, 0x23, 0x80, 0x13, 0x39, 0x70, 0xe0, 0x80, 0x0e, 0x9c, + 0x8b, 0xd7, 0x91, 0x03, 0x53, 0xf7, 0x82, 0x19, 0xeb, 0x1a, 0x1a, 0x1a, + 0x5e, 0xc4, 0x7b, 0xed, 0x38, 0x47, 0x02, 0x50, 0xd4, 0x8d, 0x47, 0x8e, + 0x04, 0xce, 0xd3, 0x07, 0x86, 0xf6, 0x11, 0x96, 0xc0, 0xbc, 0xcc, 0xa1, + 0x43, 0x87, 0xb2, 0xf8, 0xed, 0x5c, 0x01, 0x1c, 0x8d, 0x1a, 0x23, 0x94, + 0xf6, 0xa3, 0xcc, 0x00, 0x95, 0xfe, 0x2d, 0x5b, 0xb6, 0xf8, 0x4a, 0x4a, + 0x4a, 0x7c, 0xa5, 0xa5, 0xa5, 0x01, 0x10, 0x9d, 0xd0, 0x42, 0xa8, 0x89, + 0xe1, 0x69, 0x11, 0xe6, 0x53, 0x06, 0xa6, 0x14, 0x6d, 0xdf, 0xbe, 0xfd, + 0x94, 0x35, 0x6b, 0xd6, 0xdc, 0x00, 0x46, 0x55, 0x5d, 0x74, 0xd1, 0x45, + 0x72, 0xe1, 0x85, 0x17, 0xca, 0x94, 0x29, 0x53, 0x6c, 0x7c, 0xcf, 0x00, + 0x73, 0x74, 0xce, 0x90, 0x74, 0x81, 0x46, 0x48, 0x53, 0x53, 0x93, 0xbd, + 0x6e, 0xdd, 0x3a, 0xe3, 0xd1, 0x47, 0x1f, 0x95, 0xad, 0x5b, 0xb7, 0xea, + 0x67, 0xd0, 0x8e, 0x8e, 0xba, 0xba, 0xba, 0xdf, 0x8e, 0x1b, 0x37, 0x6e, + 0x35, 0x88, 0xdd, 0x83, 0xd1, 0x81, 0xd1, 0xe5, 0x3e, 0xef, 0xc5, 0xef, + 0x28, 0x13, 0xda, 0xdb, 0xdb, 0x33, 0x98, 0x97, 0xc7, 0x04, 0x7b, 0x90, + 0x4d, 0x78, 0xdf, 0x30, 0x60, 0x88, 0xf4, 0x03, 0x02, 0x02, 0x90, 0xc0, + 0x20, 0xa4, 0x9f, 0x78, 0x4f, 0xc9, 0x2f, 0xc6, 0xeb, 0x52, 0x3c, 0x2f, + 0xdd, 0xb3, 0x67, 0xcf, 0x5c, 0x48, 0xfe, 0x2d, 0x97, 0x5c, 0x72, 0x49, + 0xe8, 0xda, 0x6b, 0xaf, 0xb5, 0x68, 0x2b, 0x20, 0xb9, 0x02, 0x82, 0x29, + 0xd1, 0x39, 0x67, 0x3d, 0x19, 0xe6, 0x8d, 0xef, 0x09, 0xce, 0x21, 0xf8, + 0xae, 0x7e, 0xfe, 0xec, 0xb3, 0xcf, 0xda, 0xf7, 0xdd, 0x77, 0x9f, 0x80, + 0xb0, 0x06, 0x3f, 0x87, 0x46, 0xac, 0x9e, 0x36, 0x6d, 0xda, 0x4f, 0xa1, + 0x05, 0x9d, 0xf8, 0xcd, 0x0e, 0x9c, 0xa7, 0x13, 0x9a, 0xd1, 0x8d, 0xe7, + 0xbd, 0xd4, 0x06, 0x7c, 0x2f, 0xdd, 0xd2, 0xd2, 0x92, 0x29, 0xd0, 0x82, + 0x51, 0x83, 0xa3, 0x51, 0x67, 0x00, 0xa4, 0xdf, 0x24, 0xf6, 0x43, 0x82, + 0xfd, 0xb1, 0x58, 0x2c, 0x48, 0xc3, 0x0a, 0x69, 0x8f, 0xe2, 0xf7, 0x8b, + 0x40, 0xc8, 0x32, 0x30, 0xa6, 0x14, 0x84, 0x1a, 0xf7, 0xe7, 0x3f, 0xff, + 0xf9, 0x1f, 0x3f, 0xf5, 0xa9, 0x4f, 0x55, 0x5f, 0x7e, 0xf9, 0xe5, 0x76, + 0x47, 0x47, 0x87, 0x01, 0xef, 0x45, 0x21, 0xc7, 0x9b, 0xa7, 0xf7, 0xe8, + 0x31, 0x82, 0x8f, 0xc0, 0x77, 0xfd, 0x1f, 0x68, 0x88, 0x80, 0x81, 0xf2, + 0xad, 0x6f, 0x7d, 0x8b, 0xd0, 0x44, 0x62, 0x9a, 0xf8, 0x89, 0x97, 0x27, + 0x4e, 0x9c, 0x78, 0xbf, 0xab, 0x05, 0x84, 0xa5, 0x4e, 0x9c, 0xa3, 0x1b, + 0xda, 0xd3, 0x0b, 0xe6, 0x25, 0x3b, 0x3b, 0x3b, 0xd3, 0x74, 0xa8, 0x0a, + 0x18, 0x60, 0x8f, 0x16, 0x03, 0x46, 0xd3, 0x08, 0x1b, 0xcd, 0xcd, 0xcd, + 0x06, 0x24, 0xcf, 0x80, 0xe4, 0xa9, 0xf7, 0x03, 0x82, 0xfb, 0xf1, 0x3c, + 0x48, 0x2f, 0x07, 0x04, 0x89, 0x41, 0x32, 0xe3, 0x2f, 0xbd, 0xf4, 0xd2, + 0x65, 0x1f, 0xfe, 0xf0, 0x87, 0xab, 0x17, 0x2f, 0x5e, 0x6c, 0x6d, 0xdb, + 0xb6, 0x8d, 0x46, 0xf3, 0x5d, 0x09, 0x48, 0x6b, 0x6b, 0xab, 0x14, 0x17, + 0x17, 0xcb, 0x0d, 0x37, 0xdc, 0x40, 0x26, 0x98, 0x60, 0x9e, 0x05, 0xcc, + 0x9f, 0xbf, 0x7f, 0xff, 0xfe, 0x03, 0xd0, 0xa4, 0x3f, 0x80, 0x51, 0x39, + 0x9c, 0x2f, 0x43, 0xaf, 0x09, 0x82, 0x90, 0xe5, 0xe1, 0x42, 0x90, 0x39, + 0xc8, 0x13, 0x1a, 0x15, 0x8f, 0x68, 0xd4, 0xbd, 0x20, 0x10, 0xc3, 0x04, + 0x2e, 0x43, 0x58, 0x4d, 0x1f, 0x88, 0x11, 0xc0, 0xf5, 0xd3, 0xb5, 0x8c, + 0xe0, 0xa3, 0xd0, 0xe1, 0xc3, 0x87, 0xc7, 0x41, 0x2a, 0x16, 0x9e, 0x73, + 0xce, 0x39, 0xb2, 0x73, 0xe7, 0x4e, 0xb3, 0x50, 0xda, 0xdf, 0xcd, 0xd1, + 0xd5, 0xd5, 0xa5, 0x86, 0xfa, 0xbc, 0xf3, 0xce, 0x93, 0x67, 0x9e, 0x79, + 0x86, 0xbf, 0xc5, 0xf7, 0x96, 0xc3, 0xc6, 0x6c, 0x05, 0xc4, 0x6d, 0xc0, + 0x6f, 0x92, 0xd9, 0x29, 0xfc, 0x16, 0xdd, 0xd6, 0xb4, 0x4b, 0x87, 0x5c, + 0x01, 0xfc, 0x8c, 0x9a, 0x3b, 0x3a, 0x1a, 0x0c, 0xc8, 0xe3, 0x3f, 0xfc, + 0x6f, 0x03, 0x17, 0x6f, 0x00, 0x66, 0x94, 0x01, 0x20, 0x06, 0x83, 0x2a, + 0x42, 0x51, 0x84, 0x4c, 0x40, 0x70, 0x34, 0x1f, 0xcc, 0x89, 0x40, 0x2b, + 0x6c, 0xc0, 0x83, 0x41, 0xc2, 0x1d, 0xab, 0x6a, 0xd3, 0x1e, 0x4c, 0x98, + 0x30, 0xc1, 0xf1, 0x31, 0x2d, 0x8b, 0xc4, 0x0c, 0xb4, 0xb5, 0xb5, 0x5d, + 0x05, 0x4f, 0x6a, 0x3b, 0x7e, 0x2b, 0x85, 0xf7, 0x68, 0x88, 0x93, 0x14, + 0x02, 0x17, 0x7e, 0x7c, 0x2e, 0x13, 0x46, 0x35, 0x16, 0x18, 0x2d, 0x0d, + 0x50, 0x26, 0x10, 0x7e, 0xaa, 0xab, 0xab, 0x89, 0xe9, 0x79, 0x06, 0xe0, + 0x39, 0x3d, 0x21, 0x3f, 0xe3, 0x00, 0x18, 0xce, 0x53, 0xc0, 0x00, 0x01, + 0xa1, 0xa8, 0x29, 0x72, 0x3c, 0x0c, 0xc0, 0xa9, 0xd5, 0x60, 0x13, 0xc2, + 0x70, 0x6e, 0x25, 0x2a, 0x18, 0xdb, 0x00, 0xc6, 0x2e, 0x84, 0xe1, 0x7d, + 0x1a, 0x84, 0x8f, 0xd2, 0x13, 0x22, 0x13, 0xbc, 0xc0, 0xce, 0x1d, 0xd6, + 0x68, 0xc2, 0xd0, 0xa8, 0x42, 0x10, 0x88, 0x6d, 0x50, 0xe8, 0x69, 0x03, + 0x60, 0x84, 0x19, 0x99, 0xfa, 0x60, 0x04, 0xa9, 0x01, 0x01, 0x48, 0x6c, + 0x31, 0x34, 0x63, 0x2c, 0x8c, 0x2e, 0x19, 0x60, 0x50, 0x82, 0x8f, 0xd5, + 0x39, 0x20, 0x03, 0xe8, 0x19, 0x01, 0xd2, 0x34, 0x3e, 0x28, 0x3c, 0x70, + 0xde, 0xb3, 0xf1, 0xd9, 0x6a, 0x46, 0xdd, 0xf8, 0xfd, 0x80, 0x4b, 0x03, + 0xbf, 0x4b, 0x7c, 0xa3, 0x50, 0x63, 0xdf, 0x6f, 0x36, 0x40, 0x2f, 0x8c, + 0x10, 0x84, 0x61, 0x82, 0x30, 0x26, 0x98, 0x41, 0xc9, 0xa3, 0xf4, 0xfb, + 0x21, 0x99, 0x95, 0x78, 0xbf, 0x08, 0xc6, 0x52, 0x60, 0xac, 0xf3, 0x1e, + 0xce, 0x51, 0x9f, 0xbc, 0xc0, 0x33, 0xe2, 0xa0, 0x5b, 0x0a, 0x8f, 0x2b, + 0xff, 0x99, 0x97, 0x3b, 0xc2, 0x6f, 0x4d, 0x60, 0x94, 0x8d, 0xa7, 0x9d, + 0x78, 0x8f, 0x39, 0xa6, 0xc0, 0x20, 0x0d, 0x30, 0xde, 0x6f, 0x36, 0x20, + 0x7f, 0x90, 0xf8, 0x4c, 0x05, 0xd0, 0xf3, 0x24, 0x03, 0x30, 0xf0, 0xd2, + 0xa7, 0x12, 0x08, 0x06, 0x94, 0xd3, 0x71, 0x67, 0x9e, 0xe6, 0x8d, 0x37, + 0xde, 0x10, 0xb8, 0x8d, 0x2a, 0xbd, 0x24, 0xe6, 0x60, 0x29, 0x2e, 0x3c, + 0x5c, 0x88, 0xd1, 0xc1, 0xe7, 0x1c, 0x3c, 0xc8, 0x44, 0x18, 0xf2, 0x01, + 0xee, 0xaa, 0xfb, 0xbc, 0x08, 0xf3, 0xa8, 0x86, 0x06, 0x1c, 0xa2, 0x5d, + 0xc0, 0x6b, 0x2f, 0xb7, 0xe4, 0x1b, 0xa4, 0x01, 0xef, 0xcf, 0x5c, 0x10, + 0xf1, 0x18, 0x12, 0x68, 0x30, 0xc9, 0x09, 0x62, 0x99, 0x6a, 0x0c, 0x70, + 0x30, 0xbf, 0xe3, 0x12, 0xca, 0x06, 0xe1, 0x0c, 0xd8, 0x03, 0x81, 0x6d, + 0x50, 0x28, 0x41, 0x30, 0x35, 0xac, 0x46, 0x50, 0xb2, 0xe1, 0xc3, 0x4b, + 0x3c, 0x1e, 0x57, 0xff, 0x9f, 0xdf, 0x21, 0x03, 0xf9, 0x7a, 0xf7, 0xee, + 0xdd, 0xcc, 0x94, 0x0e, 0x41, 0x27, 0x7e, 0x0d, 0xbf, 0x35, 0x16, 0xe7, + 0xdd, 0x5a, 0x20, 0xfd, 0x85, 0xc4, 0x7f, 0x7f, 0x32, 0x00, 0x11, 0xb0, + 0xc0, 0xcb, 0xa1, 0x67, 0xa3, 0x0c, 0x20, 0x24, 0x38, 0x4e, 0x90, 0xa1, + 0x5c, 0xc0, 0x23, 0x89, 0xa1, 0x86, 0x97, 0x41, 0xd5, 0x19, 0x67, 0x9c, + 0x21, 0xcb, 0x97, 0x2f, 0x17, 0xc4, 0x05, 0x74, 0x25, 0x85, 0xe9, 0x87, + 0xc1, 0xc4, 0x67, 0x1a, 0xe2, 0xba, 0xeb, 0xae, 0xd3, 0x41, 0x26, 0x91, + 0x19, 0x0f, 0x3e, 0xf8, 0xa0, 0xdc, 0x79, 0xe7, 0x9d, 0x6a, 0x80, 0x5d, + 0xe8, 0x19, 0x6e, 0x3a, 0xe5, 0xee, 0xb5, 0x0f, 0x86, 0x1f, 0xb3, 0x30, + 0x6d, 0x32, 0x1a, 0x86, 0x78, 0xd4, 0x18, 0x40, 0x17, 0xd4, 0x7b, 0x0e, + 0x03, 0x4c, 0x42, 0x2b, 0x03, 0x48, 0x70, 0x3e, 0x42, 0x09, 0x6c, 0x0f, + 0x4e, 0x3e, 0xfb, 0xd9, 0xcf, 0xca, 0x03, 0x0f, 0x3c, 0xa0, 0x44, 0xfc, + 0xc2, 0x17, 0xbe, 0xa0, 0x04, 0xbd, 0xed, 0xb6, 0xdb, 0x94, 0xc8, 0x1e, + 0xd4, 0x50, 0xd2, 0x6f, 0xbf, 0xfd, 0x76, 0x8d, 0x78, 0xbd, 0x28, 0x98, + 0xc9, 0xba, 0x3b, 0xee, 0xb8, 0x43, 0x2a, 0x2a, 0x2a, 0xe4, 0x8b, 0x5f, + 0xfc, 0xe2, 0x88, 0x0c, 0xc0, 0xff, 0x97, 0x12, 0x7a, 0x30, 0x7c, 0x1c, + 0xc3, 0xe0, 0xff, 0xa8, 0x1d, 0xe6, 0x68, 0x43, 0x10, 0x03, 0x24, 0x6a, + 0x80, 0x4b, 0x08, 0xd5, 0x08, 0xc0, 0x01, 0x07, 0x0b, 0x2b, 0x4a, 0xc4, + 0x6f, 0x7f, 0xfb, 0xdb, 0xe2, 0x69, 0x03, 0x8f, 0x9b, 0x6e, 0xba, 0x49, + 0xb3, 0xa0, 0x24, 0x3a, 0xbd, 0x23, 0x3e, 0xd6, 0xd4, 0xd4, 0xc8, 0xcd, + 0x37, 0xdf, 0xec, 0xc1, 0x9a, 0x6c, 0xdf, 0xbe, 0x5d, 0xb3, 0xa3, 0x3c, + 0xc8, 0xb4, 0x25, 0x4b, 0x96, 0x28, 0x63, 0x3c, 0x9b, 0x30, 0xe8, 0x28, + 0x29, 0x80, 0x9e, 0xc1, 0xc4, 0x1f, 0x55, 0x26, 0x8c, 0x2a, 0x03, 0x48, + 0x44, 0xef, 0x70, 0x89, 0xae, 0x04, 0x22, 0x13, 0x60, 0x13, 0x34, 0x0a, + 0x9d, 0x3f, 0x7f, 0xbe, 0x20, 0x56, 0x90, 0xb5, 0x6b, 0xd7, 0xca, 0xaf, + 0x7f, 0xfd, 0x6b, 0x39, 0x74, 0xe8, 0x90, 0xa6, 0x16, 0x98, 0x11, 0x75, + 0x6b, 0x00, 0xfa, 0x78, 0xfa, 0xe9, 0xa7, 0x4b, 0x69, 0x69, 0xa9, 0x4a, + 0xf8, 0x7f, 0xfc, 0xc7, 0x7f, 0xc8, 0x2f, 0x7f, 0xf9, 0x4b, 0xb9, 0xe2, + 0x8a, 0x2b, 0x64, 0xc3, 0x86, 0x0d, 0xfa, 0x39, 0xb5, 0xe8, 0x1d, 0x8e, + 0x68, 0x01, 0xee, 0xbf, 0x67, 0xd2, 0x3f, 0x9a, 0x0c, 0x18, 0x70, 0x61, + 0xf0, 0x82, 0x3c, 0x26, 0x28, 0x41, 0x29, 0xe9, 0x78, 0xae, 0x58, 0x31, + 0x67, 0xce, 0x1c, 0x63, 0xf3, 0xe6, 0xcd, 0xf2, 0xf4, 0xd3, 0x4f, 0xab, + 0x37, 0x74, 0xeb, 0xad, 0xb7, 0xea, 0xff, 0xce, 0x9b, 0x3b, 0xd7, 0xf5, + 0x7a, 0x9c, 0x29, 0xd3, 0x4b, 0xe2, 0x01, 0xbb, 0x22, 0xeb, 0xd6, 0xad, + 0x93, 0x19, 0x33, 0x66, 0xa8, 0x76, 0x7c, 0xe3, 0x1b, 0xdf, 0xd0, 0xf7, + 0xcf, 0x3c, 0xf3, 0x4c, 0x35, 0xe2, 0x6e, 0x9d, 0x60, 0x30, 0x04, 0x45, + 0x4c, 0x47, 0xbd, 0x74, 0xc0, 0xbe, 0x18, 0x83, 0xf0, 0x7f, 0xd8, 0x79, + 0xbf, 0x2f, 0xbc, 0xa0, 0x21, 0x12, 0x00, 0xe9, 0x77, 0xdd, 0x47, 0xd5, + 0x00, 0xfa, 0xef, 0x74, 0x21, 0xdf, 0x7c, 0xf3, 0x4d, 0xe6, 0xff, 0xe5, + 0x85, 0x17, 0x5e, 0x90, 0xb7, 0xde, 0xda, 0x26, 0xd5, 0x63, 0xc7, 0xba, + 0xc4, 0xb3, 0x07, 0xc0, 0xd3, 0xe1, 0x43, 0x4d, 0xf2, 0xea, 0xab, 0xaf, + 0x48, 0x4b, 0x4b, 0x8b, 0x6a, 0x8b, 0xe7, 0xf9, 0xd0, 0x0e, 0x50, 0x73, + 0x10, 0xdc, 0x0d, 0x27, 0x08, 0x21, 0x9e, 0x82, 0x5e, 0x18, 0xab, 0x64, + 0xd0, 0xa2, 0xe1, 0x82, 0xb0, 0xf7, 0x67, 0x32, 0xce, 0x3b, 0x48, 0xe8, + 0x41, 0x8c, 0xd0, 0x8b, 0x65, 0x20, 0x46, 0x7c, 0x57, 0x0d, 0xd8, 0xba, + 0x55, 0x7d, 0xf9, 0xe7, 0x57, 0xaf, 0x15, 0xab, 0x37, 0x21, 0x55, 0x20, + 0xc9, 0xb4, 0x71, 0x41, 0x79, 0x73, 0x77, 0x52, 0x36, 0x6f, 0xdc, 0xec, + 0x68, 0x84, 0x3f, 0x20, 0xeb, 0xd7, 0xaf, 0x97, 0xdd, 0xbb, 0x76, 0xc9, + 0x81, 0x83, 0x4d, 0xb2, 0xe8, 0xfc, 0xf3, 0x3d, 0x29, 0xd7, 0x31, 0x42, + 0xa4, 0xec, 0x05, 0x60, 0x46, 0x81, 0x1d, 0x78, 0x7f, 0xbb, 0xa1, 0x83, + 0x0f, 0xc2, 0x85, 0x87, 0xe7, 0x6e, 0xca, 0x59, 0xa9, 0xb5, 0x71, 0xe3, + 0x46, 0x85, 0x93, 0x86, 0x86, 0xc9, 0xf2, 0xf2, 0xcb, 0xeb, 0x25, 0x84, + 0xcf, 0xfa, 0xd6, 0xfd, 0xab, 0x2c, 0x9b, 0xd5, 0x29, 0x1f, 0xfd, 0xd1, + 0x34, 0x89, 0x15, 0x97, 0x4a, 0x67, 0x77, 0x5a, 0xde, 0xd8, 0xbe, 0x43, + 0x76, 0xfe, 0xee, 0xef, 0xa5, 0xa8, 0xfa, 0x42, 0x09, 0x85, 0xe3, 0x72, + 0xb0, 0xa9, 0x49, 0xcf, 0x45, 0xad, 0x71, 0x34, 0xe3, 0x90, 0x30, 0xad, + 0x31, 0xc2, 0x11, 0x74, 0x99, 0xe0, 0x1b, 0xc6, 0x0d, 0x1d, 0x55, 0x26, + 0xbc, 0xe7, 0x10, 0x54, 0x80, 0xcb, 0xb6, 0xc7, 0x00, 0xc2, 0xca, 0xbf, + 0xfe, 0xe4, 0x17, 0x72, 0xcd, 0xb2, 0x25, 0xf2, 0xbd, 0x15, 0x59, 0xf9, + 0xe0, 0xe9, 0xfb, 0xc5, 0x3f, 0xe7, 0x6f, 0x24, 0x3c, 0xe1, 0x5c, 0x90, + 0x28, 0x24, 0xfe, 0xd6, 0xbd, 0x32, 0x67, 0xcc, 0x33, 0xd0, 0xa2, 0x0d, + 0xd2, 0xb9, 0xf9, 0x41, 0xb9, 0xff, 0xea, 0x12, 0xf9, 0xf1, 0x33, 0xa6, + 0x34, 0xb6, 0xfa, 0xe4, 0xda, 0xeb, 0x6e, 0xd4, 0xf3, 0xbd, 0xfc, 0xca, + 0x2b, 0x85, 0xc9, 0xb8, 0xe1, 0x6c, 0x92, 0xc6, 0x00, 0x64, 0x02, 0xdb, + 0x5c, 0xde, 0x2b, 0x4f, 0xe8, 0x64, 0x33, 0x60, 0xc0, 0x45, 0xec, 0xdd, + 0xbb, 0x57, 0x2a, 0x2b, 0x2b, 0x0d, 0x66, 0x3a, 0xd9, 0x99, 0xe0, 0xb9, + 0xa3, 0x6e, 0x60, 0x65, 0x91, 0x58, 0xc4, 0xec, 0x2f, 0xdf, 0x7a, 0xbb, + 0xfc, 0xe4, 0x3b, 0x5f, 0x93, 0x47, 0xbf, 0x14, 0x95, 0xfa, 0xb9, 0xe5, + 0x62, 0x4d, 0xf8, 0x14, 0x48, 0x15, 0x15, 0xbb, 0x6b, 0x97, 0xc2, 0x32, + 0x33, 0x48, 0xf1, 0x19, 0x67, 0x4b, 0xb0, 0xa4, 0x54, 0x62, 0xd3, 0xb6, + 0xc8, 0x27, 0x67, 0xdf, 0x2f, 0x97, 0x2d, 0xce, 0xc8, 0x9e, 0xc3, 0xb5, + 0x12, 0xdd, 0xf3, 0xa0, 0x1c, 0xce, 0x6e, 0x93, 0x5f, 0xde, 0x7f, 0x9f, + 0x87, 0x37, 0xc3, 0x41, 0x10, 0xf3, 0x4f, 0x91, 0x82, 0x16, 0x97, 0x77, + 0x72, 0x49, 0x0b, 0xa3, 0xe8, 0xf7, 0x9f, 0x06, 0xb8, 0xf9, 0x1e, 0xbd, + 0x58, 0xdb, 0x72, 0x24, 0x75, 0xcb, 0xd3, 0xbf, 0x95, 0x9d, 0xd3, 0x1f, + 0x91, 0xe9, 0xf3, 0x82, 0x62, 0x8f, 0x59, 0x24, 0x46, 0xdf, 0x5b, 0xa0, + 0x04, 0x8c, 0x2b, 0x05, 0xd5, 0x20, 0xb3, 0x80, 0x21, 0x24, 0x53, 0x87, + 0x4f, 0x6c, 0x2b, 0x89, 0xef, 0xe7, 0x24, 0x5a, 0x93, 0x90, 0x99, 0x93, + 0xb6, 0x4a, 0xa6, 0xab, 0x51, 0x92, 0x07, 0x45, 0xfe, 0xfe, 0x83, 0xd5, + 0xf2, 0xdf, 0x1b, 0x42, 0xd2, 0xd6, 0x9b, 0xd2, 0xff, 0x1f, 0xc4, 0x07, + 0xf6, 0x20, 0xc5, 0x59, 0x0b, 0x00, 0xd3, 0x03, 0x78, 0xf4, 0xbf, 0x03, + 0x13, 0xde, 0x3f, 0xe9, 0x68, 0x37, 0x2f, 0x2f, 0x5e, 0x2a, 0x82, 0x83, + 0x5e, 0x90, 0x33, 0x40, 0x4b, 0x5c, 0xea, 0x98, 0x78, 0x58, 0x7e, 0xfe, + 0xf9, 0x32, 0x99, 0x39, 0x6f, 0xb7, 0x58, 0xd1, 0xd9, 0x20, 0x7e, 0x23, + 0x33, 0xf9, 0x20, 0x89, 0x31, 0x08, 0x20, 0xf0, 0x27, 0xd7, 0x2a, 0xd2, + 0xb3, 0x11, 0xee, 0x4c, 0x52, 0xfd, 0x9a, 0xce, 0x83, 0x51, 0xe9, 0xeb, + 0x8d, 0xca, 0xd8, 0x53, 0x9b, 0xe5, 0x2c, 0xd3, 0x92, 0xda, 0x9f, 0xb9, + 0x0c, 0x18, 0x86, 0x8a, 0x98, 0x4b, 0x95, 0x9b, 0xfe, 0x08, 0xba, 0x70, + 0xe4, 0xa5, 0xa6, 0x87, 0x33, 0xca, 0x27, 0x2d, 0x25, 0xf1, 0x9e, 0x24, + 0xe3, 0x0a, 0xf3, 0x41, 0xde, 0x30, 0xdc, 0xb9, 0x9c, 0x3f, 0xad, 0x48, + 0xe6, 0x9e, 0xd1, 0x2e, 0x76, 0x58, 0x1c, 0xe2, 0x5b, 0xfb, 0x40, 0x9a, + 0x22, 0x3a, 0x8d, 0x05, 0x64, 0xb1, 0xc5, 0xce, 0x75, 0xe3, 0x64, 0x1d, + 0x62, 0xc4, 0x6d, 0xc9, 0xf4, 0xfa, 0x64, 0xdf, 0xeb, 0x55, 0x92, 0xb3, + 0x4c, 0xa9, 0x9a, 0xd8, 0xa1, 0xff, 0x73, 0xa0, 0xc9, 0x27, 0x7b, 0xdb, + 0x53, 0xc3, 0x61, 0x87, 0x12, 0x13, 0xbf, 0x5f, 0xc7, 0xd6, 0x47, 0x36, + 0x06, 0xb8, 0x6e, 0xe9, 0x70, 0x4c, 0x38, 0xe9, 0x25, 0xca, 0x51, 0x63, + 0x00, 0xab, 0x61, 0x24, 0x3a, 0x19, 0xc0, 0x83, 0x44, 0xa7, 0x0f, 0xee, + 0x8d, 0x9c, 0x65, 0x69, 0xb6, 0x6d, 0x77, 0x5b, 0x52, 0xf6, 0xef, 0x2a, + 0x97, 0x48, 0x99, 0x48, 0x59, 0x2d, 0x88, 0x6c, 0x74, 0x82, 0xd0, 0x9d, + 0xfd, 0x70, 0x4c, 0x6f, 0x95, 0x48, 0x14, 0x71, 0x5e, 0xb6, 0xed, 0x2e, + 0x96, 0xc3, 0xbb, 0x4b, 0x65, 0x4c, 0x43, 0xbb, 0x94, 0xd7, 0x77, 0x8b, + 0x9e, 0x05, 0x9f, 0xef, 0xd9, 0x63, 0x4a, 0x57, 0x26, 0x3b, 0x1c, 0x7a, + 0x7b, 0x5a, 0x38, 0x09, 0x5e, 0x58, 0xd8, 0xf5, 0x88, 0x3c, 0x26, 0x78, + 0xda, 0xe0, 0xf5, 0x0a, 0x79, 0x1d, 0x12, 0xd6, 0xc9, 0xd2, 0x82, 0xd1, + 0xaa, 0x09, 0xb3, 0x0c, 0xa9, 0x0c, 0xe0, 0x60, 0x41, 0x86, 0xd5, 0x30, + 0x37, 0x0b, 0xca, 0x47, 0x5f, 0x32, 0x99, 0x56, 0x92, 0xbe, 0xb2, 0xbb, + 0xd7, 0x7e, 0x7c, 0x6d, 0x89, 0xb1, 0x74, 0x41, 0x48, 0x3a, 0xbb, 0x62, + 0x32, 0xae, 0xa1, 0x45, 0x82, 0xb1, 0x8c, 0x43, 0x78, 0xd5, 0x20, 0x53, + 0xd2, 0x3d, 0x01, 0xe9, 0xe9, 0x88, 0x48, 0xc7, 0xa1, 0x98, 0x04, 0xa3, + 0x59, 0x99, 0x72, 0x0e, 0xbc, 0xa4, 0x72, 0xd8, 0x0f, 0x20, 0x5c, 0xb2, + 0xc9, 0x96, 0x8e, 0xdd, 0x0d, 0x72, 0xff, 0xd3, 0xd0, 0x12, 0xc9, 0x89, + 0x0f, 0xd0, 0x95, 0xb3, 0x86, 0x4d, 0xc8, 0xd5, 0x60, 0x4c, 0xc5, 0x6f, + 0x77, 0xb1, 0x3c, 0xc9, 0x5e, 0x54, 0xb6, 0x34, 0xd2, 0x43, 0xc6, 0xf0, + 0x0a, 0xf5, 0x85, 0x2d, 0x2a, 0x27, 0x05, 0x8a, 0x46, 0x4d, 0x03, 0x58, + 0x8c, 0x29, 0x2f, 0x2f, 0x57, 0xe2, 0xc7, 0xe3, 0x71, 0x2d, 0x03, 0xe0, + 0xb9, 0x9f, 0x7d, 0x89, 0xf4, 0x4a, 0xe0, 0xfd, 0xc4, 0x7d, 0x4c, 0x45, + 0xdb, 0x96, 0xfc, 0x71, 0xff, 0x44, 0x39, 0x27, 0x3a, 0x5e, 0x02, 0x89, + 0x47, 0xe5, 0xc0, 0xee, 0x6a, 0xc9, 0xa6, 0x2d, 0x20, 0x10, 0x09, 0xea, + 0xd8, 0x01, 0xd3, 0x6f, 0x49, 0xb8, 0x28, 0x23, 0xe3, 0xe7, 0x36, 0x4b, + 0xb8, 0x12, 0xb4, 0x0a, 0x92, 0xf0, 0x22, 0xbb, 0x5e, 0x1f, 0x27, 0xcd, + 0xd9, 0x8f, 0x48, 0x78, 0xfa, 0x4a, 0x59, 0xf8, 0xf1, 0x46, 0x79, 0xe4, + 0xd5, 0x2f, 0x8a, 0x35, 0x3c, 0xa9, 0xbc, 0xba, 0xc0, 0xf9, 0x20, 0xfc, + 0x1b, 0x98, 0x4b, 0x2f, 0xd3, 0x13, 0x78, 0x2f, 0xe2, 0x32, 0xc0, 0x6b, + 0xd4, 0x2a, 0x6c, 0xd6, 0x32, 0x4e, 0x86, 0x37, 0xe4, 0x3f, 0xd9, 0x92, + 0xef, 0x0d, 0x32, 0x80, 0x54, 0xc7, 0x85, 0x52, 0xe2, 0x59, 0x08, 0xf0, + 0xbb, 0x5d, 0x11, 0x6c, 0x39, 0xd7, 0x9a, 0xb0, 0xe7, 0xae, 0x44, 0xc7, + 0x4c, 0x94, 0xf0, 0xe2, 0x1f, 0x48, 0x2f, 0x7c, 0xfb, 0xda, 0x89, 0xbf, + 0x96, 0x68, 0x6d, 0x40, 0x32, 0x3d, 0x38, 0x09, 0x08, 0xef, 0x0f, 0xe5, + 0xfa, 0x91, 0x9a, 0xa7, 0x06, 0xf1, 0xdb, 0x1a, 0x6d, 0x39, 0xbc, 0xff, + 0x6a, 0x31, 0x4e, 0xbf, 0x05, 0xe8, 0x13, 0x90, 0x74, 0xae, 0x4f, 0x96, + 0x2f, 0xbd, 0x50, 0x9e, 0x7b, 0x6a, 0xa9, 0x3c, 0xf9, 0xe4, 0x13, 0xcc, + 0x39, 0x88, 0x35, 0x30, 0x16, 0x50, 0x29, 0xc6, 0x5c, 0x26, 0x02, 0x12, + 0x3f, 0x88, 0xf9, 0x3c, 0x81, 0xd7, 0x2c, 0x53, 0x26, 0x0b, 0x18, 0x30, + 0x5c, 0xcf, 0xe8, 0x09, 0x87, 0x22, 0xf3, 0x24, 0x12, 0xbf, 0xf0, 0x39, + 0x5b, 0x0b, 0xd9, 0x24, 0xe5, 0xb5, 0xa2, 0x68, 0x31, 0x84, 0x2d, 0x29, + 0x78, 0x19, 0xc0, 0x08, 0x76, 0x77, 0x77, 0x57, 0x7a, 0x49, 0xb3, 0xd2, + 0x78, 0x54, 0x26, 0x8d, 0x2f, 0x97, 0xda, 0xe5, 0xff, 0x57, 0x76, 0x6c, + 0xbf, 0x42, 0xda, 0x77, 0x65, 0x24, 0x50, 0x95, 0x15, 0x7f, 0x25, 0xe8, + 0x11, 0x37, 0x1c, 0x39, 0x0d, 0x18, 0x62, 0x65, 0x6d, 0xd9, 0xbb, 0x26, + 0x22, 0x87, 0xdb, 0xef, 0x90, 0xf1, 0xab, 0x7e, 0x2a, 0x0d, 0x67, 0xcc, + 0x91, 0x86, 0xda, 0x32, 0x58, 0xd8, 0xac, 0x24, 0x53, 0x69, 0xf9, 0xdc, + 0xf5, 0xd7, 0x6b, 0x42, 0xce, 0x1a, 0x26, 0x21, 0xe7, 0xcd, 0x11, 0x0c, + 0x58, 0x8c, 0x87, 0x7a, 0x68, 0x21, 0xdb, 0xe0, 0x8b, 0x58, 0xae, 0x70, + 0x35, 0xa1, 0xd0, 0x30, 0xfb, 0x64, 0xf8, 0xa2, 0xfd, 0xff, 0xe8, 0x6c, + 0x68, 0x5e, 0xfa, 0xeb, 0xea, 0xea, 0xc8, 0x00, 0xb6, 0xa1, 0xfb, 0x5d, + 0xbf, 0x3b, 0xc4, 0xae, 0x04, 0x7c, 0x16, 0xc6, 0xeb, 0x20, 0x5e, 0xc7, + 0xba, 0xba, 0xba, 0xc6, 0xba, 0x05, 0x75, 0xb6, 0xad, 0x39, 0x93, 0x0b, + 0x87, 0x64, 0xfc, 0x95, 0x3f, 0x97, 0xc3, 0x7d, 0xff, 0x2c, 0x6f, 0x3d, + 0x37, 0x45, 0x5a, 0x1a, 0x4d, 0xe9, 0xd8, 0x09, 0x69, 0xdf, 0x14, 0x90, + 0x5d, 0x6b, 0xc6, 0xcb, 0x9b, 0x6b, 0x57, 0x48, 0xae, 0xf6, 0x77, 0x32, + 0x61, 0xe5, 0x3f, 0xe2, 0x7b, 0x69, 0x49, 0x74, 0x76, 0x49, 0x49, 0x69, + 0xb9, 0xd4, 0x4f, 0xa8, 0xd7, 0xf6, 0xf3, 0x99, 0x33, 0x67, 0xca, 0x8a, + 0x15, 0x1f, 0x19, 0x90, 0xbc, 0x1b, 0x06, 0x8a, 0xd8, 0x1e, 0x77, 0x19, + 0x3e, 0x27, 0xf1, 0x3d, 0x06, 0x30, 0x5d, 0x5b, 0xe8, 0x1d, 0x9d, 0xb4, + 0xa2, 0x8d, 0x7f, 0x34, 0xa4, 0x1f, 0xf0, 0xe2, 0x8b, 0x46, 0xa3, 0x7e, + 0x3c, 0xaa, 0xb4, 0x93, 0x01, 0x20, 0x3c, 0x53, 0xc2, 0x6c, 0xca, 0x8d, + 0xec, 0xda, 0xb5, 0x6b, 0x46, 0x22, 0x91, 0x28, 0xf5, 0x72, 0x43, 0x75, + 0x75, 0xe3, 0xd5, 0x70, 0x66, 0x10, 0x15, 0xfb, 0x83, 0x01, 0xa9, 0xbd, + 0xf8, 0xcb, 0x92, 0x38, 0xb0, 0x4a, 0x3a, 0x77, 0xbf, 0x22, 0x56, 0xb2, + 0x4b, 0xfc, 0x45, 0x35, 0x12, 0x9a, 0x34, 0x55, 0x4a, 0xc6, 0x8c, 0x13, + 0x7f, 0xc4, 0x27, 0xa9, 0x9e, 0x36, 0x87, 0x36, 0x90, 0x72, 0x46, 0xd2, + 0x45, 0x45, 0x31, 0xa9, 0x28, 0x2f, 0x43, 0x4c, 0xd0, 0x27, 0x1f, 0xbf, + 0xfa, 0x6a, 0xf9, 0xcf, 0x47, 0xfe, 0x53, 0x52, 0x78, 0x7f, 0x98, 0x0a, + 0x99, 0xe1, 0x04, 0xc6, 0xf6, 0x04, 0x68, 0xc2, 0x72, 0x7c, 0xfe, 0x3b, + 0xcc, 0x27, 0x83, 0xe7, 0x99, 0x41, 0x30, 0x34, 0xb8, 0x73, 0xda, 0x3a, + 0x51, 0x11, 0xb2, 0xff, 0x24, 0x11, 0xbf, 0xb0, 0xd0, 0xe1, 0x83, 0xf4, + 0x2b, 0xd6, 0x03, 0x0e, 0xd4, 0xef, 0xe6, 0xca, 0x17, 0x4a, 0x3d, 0x1f, + 0xd9, 0xa5, 0xb0, 0x79, 0xf3, 0xe6, 0xf3, 0x28, 0xa1, 0xcc, 0xdd, 0x9c, + 0x7b, 0xee, 0xb9, 0x72, 0xcb, 0x2d, 0xb7, 0x48, 0x7b, 0x7b, 0x9b, 0xd8, + 0xf0, 0x60, 0xb2, 0x70, 0x25, 0x33, 0x69, 0x78, 0x42, 0x15, 0x25, 0x12, + 0x1a, 0xbb, 0xdc, 0x39, 0x25, 0x22, 0x5f, 0x3b, 0x97, 0x96, 0x1c, 0x0c, + 0x43, 0xb6, 0x1b, 0xa6, 0x59, 0xa5, 0xbb, 0x1f, 0xe3, 0xad, 0x8c, 0xad, + 0x45, 0xfa, 0x0e, 0x68, 0xc4, 0x8c, 0x19, 0x33, 0xb5, 0xb5, 0xfd, 0xb1, + 0x47, 0x1f, 0x55, 0x2d, 0x18, 0x21, 0x2f, 0x44, 0x2e, 0x9c, 0x8f, 0xcf, + 0xdf, 0xc2, 0xe3, 0xab, 0x05, 0x9e, 0x50, 0x76, 0x18, 0x63, 0x3c, 0xb8, + 0x85, 0xfd, 0xb8, 0xec, 0x81, 0x79, 0x92, 0x8d, 0xaf, 0xaf, 0xb2, 0xb2, + 0x92, 0xde, 0x0e, 0x43, 0x7e, 0x0f, 0x72, 0x74, 0x2d, 0x00, 0xf1, 0x96, + 0x6d, 0xe9, 0xaf, 0xbc, 0xf2, 0xca, 0xd2, 0x9e, 0x9e, 0x9e, 0x6a, 0x8a, + 0x21, 0xf3, 0x43, 0xff, 0xfc, 0xcf, 0xf7, 0x2a, 0x41, 0x33, 0x99, 0xb4, + 0x62, 0x77, 0xce, 0xca, 0xa9, 0x27, 0x43, 0x6d, 0x48, 0x75, 0xb5, 0x61, + 0xb4, 0x48, 0xaa, 0xbb, 0x43, 0x32, 0x80, 0x98, 0x5c, 0xd6, 0xc2, 0x67, + 0x76, 0xbe, 0x2d, 0xc5, 0x1b, 0xd9, 0x6c, 0x06, 0x81, 0xb3, 0xa1, 0x85, + 0x7c, 0x9e, 0xc3, 0x83, 0xa1, 0x91, 0xd2, 0xd3, 0xde, 0xbc, 0xf1, 0xdd, + 0xcb, 0xf1, 0x38, 0x86, 0x8b, 0x44, 0x5c, 0x38, 0x8a, 0x0e, 0xb2, 0x07, + 0xfe, 0x11, 0xec, 0xc1, 0xff, 0x08, 0x1b, 0x30, 0xac, 0xf4, 0xb3, 0xf5, + 0x90, 0xeb, 0x00, 0xb8, 0xf0, 0x8e, 0x17, 0xc3, 0x2e, 0x68, 0x10, 0xa2, + 0x08, 0x8f, 0xd1, 0x1d, 0x3b, 0x76, 0xcc, 0xdb, 0xbb, 0x77, 0xef, 0xd9, + 0x94, 0x4c, 0x62, 0xff, 0x8d, 0x37, 0xde, 0x28, 0xa7, 0xcd, 0x99, 0xa3, + 0xed, 0x25, 0x4c, 0x0f, 0xe5, 0x72, 0x56, 0xff, 0x00, 0x17, 0x2c, 0xbc, + 0xe7, 0x0c, 0xd1, 0xd7, 0x08, 0xde, 0x06, 0xfe, 0x4f, 0xc1, 0xa0, 0x3b, + 0xcb, 0xe4, 0x5e, 0x1f, 0x18, 0x37, 0x77, 0xde, 0x3c, 0x99, 0x38, 0xb1, + 0x5e, 0xe1, 0xe7, 0x1d, 0xda, 0x1d, 0x29, 0xc5, 0xe5, 0xf8, 0x9f, 0x55, + 0x18, 0xc5, 0xf8, 0x2e, 0xeb, 0xc6, 0x71, 0x97, 0x01, 0x47, 0xb2, 0x07, + 0xc6, 0x7b, 0x0d, 0x41, 0x83, 0x2b, 0x49, 0x4a, 0xfc, 0xd2, 0xd2, 0x52, + 0x6d, 0x3f, 0xe7, 0x2a, 0x47, 0x1c, 0x2a, 0xf9, 0x84, 0x1c, 0xb8, 0xfe, + 0x31, 0x60, 0x75, 0xed, 0x5b, 0x6f, 0xbd, 0xb5, 0x92, 0xb8, 0x4c, 0xa9, + 0x2d, 0x2b, 0x2b, 0x97, 0x4f, 0x5c, 0xfd, 0x49, 0xe9, 0xec, 0xe8, 0x10, + 0xef, 0xbd, 0xe3, 0x39, 0x14, 0xeb, 0x69, 0xd4, 0xdd, 0x42, 0xff, 0xd9, + 0x0b, 0x16, 0xc8, 0xee, 0xdd, 0xbb, 0xde, 0xa9, 0xdd, 0xd1, 0xb3, 0x07, + 0xa7, 0x31, 0x23, 0x82, 0xf1, 0x94, 0x6b, 0x07, 0x3c, 0x5b, 0x30, 0x18, + 0x8e, 0x4e, 0x08, 0x14, 0x99, 0x27, 0x01, 0x7a, 0x3c, 0xe9, 0xf0, 0x13, + 0x7a, 0xdc, 0xe5, 0xa6, 0x61, 0x12, 0xdd, 0x35, 0xba, 0x54, 0xed, 0xe2, + 0xc6, 0xc6, 0xc6, 0xab, 0xb8, 0xee, 0x8b, 0xed, 0x28, 0xfc, 0xf2, 0xc5, + 0x97, 0x5c, 0x2c, 0x55, 0x55, 0x55, 0xd2, 0x0b, 0x68, 0xb1, 0x54, 0xb2, + 0x73, 0xc7, 0x3c, 0xf8, 0xfd, 0x14, 0xdc, 0x50, 0x4f, 0xe2, 0xf9, 0xb8, + 0x00, 0x0c, 0xc8, 0x33, 0xe6, 0x08, 0x82, 0x84, 0xff, 0x59, 0x86, 0x87, + 0x06, 0x77, 0x85, 0x66, 0xbc, 0x00, 0x8a, 0x82, 0x05, 0x50, 0x74, 0x42, + 0xbc, 0x22, 0xf3, 0x04, 0x63, 0x7e, 0x1e, 0x7a, 0x8a, 0x8a, 0x8a, 0x74, + 0xe5, 0x23, 0x06, 0x8d, 0x2e, 0xbb, 0xde, 0x28, 0xfd, 0xec, 0xc7, 0xe1, + 0xfa, 0xaf, 0x65, 0xc0, 0xfd, 0x29, 0x4c, 0x09, 0x79, 0x19, 0xd2, 0x25, + 0x4b, 0x2e, 0x50, 0xd7, 0x31, 0x9d, 0xc9, 0xe4, 0x57, 0xbc, 0x1c, 0xeb, + 0x20, 0x13, 0x92, 0xae, 0xd7, 0xc3, 0x20, 0x8c, 0xd5, 0xb7, 0xd3, 0xe6, + 0xcc, 0xd5, 0xbe, 0x22, 0x7e, 0x7e, 0x84, 0xa6, 0x5f, 0x72, 0x88, 0x2b, + 0x36, 0xaf, 0xc2, 0x3c, 0x08, 0x43, 0x6a, 0xab, 0x0a, 0xa0, 0x28, 0x38, + 0xc8, 0x16, 0x98, 0x23, 0xd5, 0x3f, 0x46, 0x83, 0x01, 0x43, 0x5c, 0x4e, + 0x77, 0x62, 0x24, 0x3e, 0x6c, 0x60, 0x50, 0xdd, 0x4d, 0xfa, 0xd6, 0x60, + 0x42, 0x09, 0x35, 0xa0, 0xb3, 0xb3, 0x73, 0x4e, 0x4b, 0x4b, 0xcb, 0x12, + 0xef, 0x3b, 0x24, 0x76, 0x55, 0xd5, 0x18, 0x99, 0x35, 0x6b, 0xb6, 0x12, + 0x8a, 0xcb, 0x91, 0xe8, 0x0d, 0x29, 0x31, 0x73, 0xef, 0x82, 0xf0, 0x05, + 0xff, 0x9b, 0x4c, 0xa6, 0xd4, 0x06, 0x50, 0xfa, 0x3d, 0xef, 0xaa, 0x66, + 0xec, 0x58, 0x99, 0x36, 0x6d, 0x9a, 0x57, 0xfc, 0x39, 0xd2, 0x35, 0x91, + 0x09, 0x13, 0x30, 0xb7, 0xe5, 0xac, 0x1b, 0xd0, 0x26, 0x14, 0x30, 0x21, + 0x34, 0x48, 0x0b, 0x8e, 0xcb, 0x0e, 0x98, 0x27, 0x03, 0x7a, 0xe2, 0xf1, + 0x38, 0x83, 0xad, 0x20, 0xab, 0x4e, 0x94, 0x7e, 0xc2, 0x0e, 0x89, 0x8f, + 0xcf, 0xaa, 0x9a, 0x9a, 0x9a, 0x2e, 0xf7, 0x26, 0xeb, 0x19, 0xc4, 0x59, + 0xb3, 0x66, 0x49, 0xd5, 0x98, 0x31, 0x2e, 0xee, 0x1b, 0x0a, 0x1f, 0x59, + 0xc2, 0x89, 0x6d, 0x39, 0x86, 0xf6, 0x68, 0x86, 0xed, 0x18, 0x5f, 0x65, + 0x60, 0x2e, 0x0b, 0x2f, 0xc8, 0x59, 0x53, 0xe6, 0xf9, 0xfe, 0xf4, 0xb0, + 0x1a, 0x1a, 0xa6, 0xbc, 0x53, 0x50, 0x36, 0x1c, 0x14, 0x2d, 0xc6, 0x98, + 0xc5, 0xb9, 0xe3, 0x31, 0xce, 0x84, 0x5d, 0x81, 0x16, 0x0c, 0x67, 0x90, + 0xdf, 0xb5, 0x16, 0x98, 0x27, 0xc8, 0xf0, 0xe6, 0x89, 0x0f, 0x35, 0x67, + 0xb9, 0x8f, 0xab, 0x1f, 0xd5, 0xdf, 0xc7, 0xa4, 0x99, 0x79, 0x2b, 0xe1, + 0x2a, 0xc8, 0x83, 0x07, 0x0f, 0x7e, 0x14, 0xd2, 0x58, 0x41, 0xe8, 0x29, + 0x3c, 0x11, 0x3d, 0x9f, 0x20, 0x02, 0x2e, 0x4d, 0xb4, 0x99, 0xce, 0x69, + 0xe9, 0xff, 0xe7, 0xb2, 0xb9, 0xa3, 0xd6, 0x02, 0xcf, 0xfd, 0x64, 0x69, + 0x59, 0x17, 0xf4, 0xe1, 0x3c, 0xde, 0x30, 0x7d, 0x70, 0x6b, 0xf1, 0xd9, + 0xa5, 0x2b, 0x56, 0x68, 0xe3, 0xae, 0xd7, 0x37, 0x9a, 0x27, 0xc2, 0xc8, + 0x51, 0x32, 0x5d, 0x53, 0xfa, 0xb0, 0xb4, 0x55, 0x1a, 0x21, 0xbb, 0x6b, + 0x9a, 0x07, 0xbb, 0xa5, 0xc7, 0xac, 0x05, 0xe6, 0x09, 0x20, 0x7e, 0x5e, + 0x03, 0xe0, 0xf5, 0xf8, 0x0a, 0xa1, 0x07, 0x8f, 0x84, 0x1e, 0xae, 0x78, + 0x8f, 0x01, 0xf3, 0xcf, 0x44, 0xb4, 0x7b, 0xa6, 0x2b, 0x59, 0x46, 0xa1, + 0x41, 0x3c, 0xf5, 0xd4, 0x53, 0xf3, 0xd8, 0xac, 0xc3, 0x25, 0x1c, 0xf3, + 0x9f, 0x84, 0x12, 0x96, 0xca, 0xbc, 0xbe, 0xff, 0x21, 0x83, 0x9f, 0xe1, + 0xbb, 0x7a, 0x2e, 0xef, 0xbb, 0xc6, 0xc0, 0x41, 0x77, 0x94, 0x75, 0xe8, + 0xf3, 0x17, 0x2d, 0x92, 0x1f, 0xff, 0xe4, 0xa7, 0x9a, 0x1f, 0xf2, 0x56, + 0x87, 0x32, 0xfa, 0xf6, 0x7a, 0x4b, 0x47, 0xf0, 0x8a, 0x26, 0xe2, 0xf3, + 0xf3, 0x5d, 0x1b, 0xc6, 0x75, 0xcc, 0x47, 0x13, 0x17, 0x18, 0xa3, 0x69, + 0x03, 0xbc, 0xde, 0x1a, 0xf5, 0x7a, 0x08, 0x3d, 0xf4, 0x7a, 0x3c, 0xe8, + 0xa1, 0xe4, 0xc0, 0xdb, 0x99, 0xd0, 0xda, 0xda, 0x7a, 0x79, 0x21, 0xfe, + 0xf2, 0x91, 0x17, 0x5e, 0x5f, 0x5f, 0x2f, 0x1f, 0xf8, 0xc0, 0x99, 0x6a, + 0x80, 0xbd, 0x15, 0x91, 0x84, 0x0f, 0x67, 0x18, 0x7a, 0x72, 0x32, 0x41, + 0x35, 0x61, 0xf0, 0xf0, 0x08, 0x2f, 0x83, 0xbe, 0x33, 0xcc, 0x20, 0xa1, + 0xdb, 0xdb, 0xda, 0xb4, 0x4b, 0xfb, 0xd6, 0xaf, 0x7d, 0x2d, 0xef, 0x11, + 0x8d, 0x01, 0xf4, 0x2d, 0x5c, 0x78, 0x4e, 0x7e, 0x4e, 0x83, 0xec, 0x83, + 0x57, 0xbc, 0x59, 0x82, 0xeb, 0x29, 0xf7, 0xec, 0x99, 0xab, 0x05, 0xc1, + 0x61, 0x12, 0x75, 0xa3, 0x0e, 0x41, 0x79, 0xf8, 0x29, 0x2e, 0x2e, 0xf6, + 0xa0, 0x27, 0xe4, 0x42, 0x8f, 0x6e, 0x3b, 0x80, 0xc7, 0x22, 0x10, 0xff, + 0x13, 0x4c, 0x3d, 0xf0, 0x9a, 0x0d, 0x37, 0x42, 0xf5, 0x2e, 0xf4, 0x73, + 0xd7, 0x5d, 0x2f, 0x63, 0xc7, 0x56, 0x03, 0x6e, 0xb2, 0xe2, 0x33, 0x7d, + 0x4a, 0x40, 0xcf, 0x0b, 0xd2, 0xea, 0x79, 0x20, 0x20, 0xf1, 0x58, 0x4c, + 0x4a, 0x4b, 0x4b, 0xa4, 0xa2, 0xa2, 0x5c, 0xaa, 0x2a, 0x2b, 0xa4, 0x12, + 0xa3, 0xbc, 0xbc, 0x4c, 0x4a, 0xe0, 0xd5, 0x44, 0x22, 0x61, 0x6d, 0x57, + 0xb4, 0xed, 0xfe, 0x46, 0x2c, 0x8f, 0x11, 0x83, 0x07, 0x7f, 0x97, 0xeb, + 0xcf, 0xae, 0xbe, 0xfa, 0x1a, 0x99, 0x3d, 0x7b, 0xb6, 0xfe, 0x2f, 0xb7, + 0x39, 0xe0, 0xf7, 0x6e, 0xb8, 0xe1, 0xf3, 0x23, 0x19, 0x67, 0x6a, 0x41, + 0x19, 0x84, 0x6b, 0x11, 0x85, 0xca, 0xb5, 0x07, 0xe1, 0x77, 0xd0, 0x82, + 0x77, 0xe5, 0x11, 0x1d, 0xcb, 0x42, 0x6d, 0xa3, 0x80, 0x79, 0x8a, 0xfb, + 0x08, 0x74, 0x02, 0x30, 0x7e, 0x4c, 0x33, 0x10, 0x72, 0xe8, 0xb6, 0x31, + 0xb1, 0x56, 0x85, 0x0b, 0x2e, 0xc3, 0x05, 0x7f, 0xb4, 0xbb, 0xbb, 0xfb, + 0x12, 0xa7, 0x0a, 0x69, 0x1b, 0x5c, 0x84, 0x47, 0x49, 0xe7, 0x62, 0x6a, + 0x7a, 0x3e, 0x7f, 0xf8, 0xe3, 0x1f, 0xc5, 0x89, 0x99, 0x1c, 0xb8, 0x21, + 0xf1, 0x48, 0x54, 0xb6, 0xb0, 0x47, 0xa3, 0x11, 0x09, 0x06, 0x82, 0xe2, + 0xf7, 0x39, 0x89, 0xb6, 0xe1, 0x0e, 0x12, 0x2f, 0x0b, 0x5b, 0x91, 0x4c, + 0x25, 0x25, 0x91, 0xe8, 0xd5, 0x91, 0xce, 0xa4, 0x5d, 0x4d, 0x30, 0x87, + 0xc4, 0x46, 0x59, 0x0d, 0xfa, 0xca, 0xe4, 0xa1, 0xdf, 0xfc, 0x46, 0x6e, + 0xfe, 0xca, 0x97, 0x95, 0xc1, 0x6c, 0x67, 0x5c, 0xb6, 0xfc, 0x52, 0x75, + 0x06, 0xee, 0xb9, 0xfb, 0x7b, 0xf9, 0x35, 0x0a, 0x03, 0x2e, 0xda, 0x30, + 0xba, 0xf1, 0xbf, 0xdf, 0xc5, 0xd3, 0x5d, 0xf8, 0xac, 0x15, 0xaf, 0x5b, + 0xb9, 0xea, 0x1e, 0xaf, 0xd9, 0x92, 0xdd, 0xe7, 0xe6, 0x8e, 0x0a, 0x17, + 0x7b, 0x1f, 0x31, 0x51, 0xa7, 0x71, 0xca, 0x89, 0x90, 0x7e, 0x56, 0xb6, + 0x20, 0xfd, 0x0a, 0x3f, 0x98, 0x3c, 0xa5, 0x43, 0xb3, 0x9c, 0x60, 0x4a, + 0x3d, 0xb0, 0x7f, 0x89, 0x87, 0xfb, 0xe1, 0x70, 0x44, 0xce, 0x9a, 0x3f, + 0x5f, 0x7b, 0x38, 0x79, 0x5c, 0x77, 0xfd, 0x75, 0x52, 0x5c, 0x5c, 0xa2, + 0x5e, 0x0b, 0x85, 0xa0, 0xa4, 0xb8, 0x58, 0xc6, 0x8f, 0x1f, 0x27, 0xe3, + 0xeb, 0xc6, 0x41, 0xda, 0xcb, 0x14, 0xab, 0x49, 0xf7, 0xac, 0x4b, 0x64, + 0x1a, 0xcf, 0x01, 0xc3, 0x5d, 0xc2, 0xc4, 0xa5, 0x66, 0x45, 0x30, 0xae, + 0x63, 0xab, 0xc7, 0xc8, 0xc4, 0x09, 0x75, 0x70, 0x39, 0xab, 0xb5, 0xf5, + 0x91, 0x5a, 0x61, 0xb8, 0x8c, 0xc8, 0x43, 0x11, 0xed, 0x41, 0x22, 0x21, + 0x4b, 0x2e, 0xb8, 0x40, 0x6a, 0x6a, 0x6b, 0x95, 0xf8, 0x64, 0xc2, 0x9f, + 0x1e, 0x7b, 0x54, 0xff, 0xff, 0x9a, 0x6b, 0x3e, 0xe9, 0xd8, 0x84, 0x81, + 0x6d, 0xed, 0x14, 0x9e, 0x22, 0x5c, 0xe3, 0x39, 0xd4, 0x6e, 0x37, 0xae, + 0x09, 0x8d, 0x10, 0x13, 0x18, 0x27, 0xd3, 0x06, 0x0c, 0x9b, 0x72, 0x60, + 0x5f, 0x0d, 0x2d, 0x2f, 0xf7, 0xfa, 0xf1, 0x36, 0xde, 0xa0, 0xaa, 0x42, + 0xfa, 0x2f, 0xe5, 0x44, 0xbd, 0xbe, 0xcf, 0x4b, 0x2e, 0xb9, 0x44, 0x57, + 0xb2, 0xd3, 0xdf, 0x9f, 0x3b, 0x77, 0x9e, 0x5c, 0x7a, 0xe9, 0x0a, 0xe9, + 0xec, 0xec, 0x90, 0x58, 0x34, 0x2a, 0xb5, 0xb5, 0x63, 0x95, 0x80, 0x24, + 0x1c, 0x3d, 0x9a, 0x4c, 0x3a, 0x9b, 0x8f, 0x07, 0x1c, 0x23, 0x6b, 0x0d, + 0x63, 0x80, 0xfb, 0x3d, 0x20, 0xd6, 0x10, 0x32, 0x2c, 0xc2, 0x83, 0xc8, + 0xc5, 0x45, 0xc5, 0x52, 0x37, 0xae, 0x56, 0x21, 0x4b, 0xb5, 0x5b, 0x7b, + 0x89, 0x1c, 0x26, 0x98, 0x9a, 0xe8, 0xcb, 0x80, 0x49, 0x35, 0x72, 0xf1, + 0xc5, 0x17, 0x0f, 0x88, 0x8e, 0xff, 0xf5, 0xfe, 0xfb, 0xd5, 0x53, 0xa2, + 0x5d, 0x18, 0x54, 0xc4, 0xf1, 0x6c, 0xc1, 0xd9, 0x6e, 0x70, 0x46, 0xc2, + 0x33, 0xba, 0x0f, 0x1e, 0x6f, 0x82, 0xce, 0x3c, 0x5e, 0xf7, 0x93, 0xbb, + 0x9e, 0x90, 0x01, 0x6c, 0x72, 0xa2, 0xf4, 0x33, 0xc9, 0xc6, 0x6e, 0x03, + 0x44, 0xa2, 0xd3, 0x41, 0xe8, 0x53, 0x5d, 0x63, 0x6b, 0xf0, 0x82, 0xe9, + 0xed, 0xbc, 0xf8, 0xc2, 0x0b, 0xfa, 0xe5, 0xeb, 0xaf, 0xbf, 0x5e, 0x7d, + 0x73, 0x8e, 0x9a, 0x9a, 0xb1, 0x12, 0x06, 0xe1, 0x49, 0xf0, 0x9c, 0x12, + 0xdd, 0x56, 0x0f, 0xc8, 0x81, 0xa5, 0xa3, 0x1b, 0xca, 0x10, 0x7a, 0x4d, + 0x39, 0x4b, 0xdd, 0x51, 0xbe, 0x2e, 0x2b, 0x2d, 0x95, 0x6a, 0x30, 0x95, + 0x52, 0xdf, 0xcf, 0x04, 0x06, 0x67, 0x4e, 0xbb, 0xe2, 0xe2, 0xc5, 0x4b, + 0xbc, 0x56, 0x19, 0x35, 0xd2, 0x5c, 0xf8, 0xb1, 0x79, 0xd3, 0x26, 0xf9, + 0xc8, 0xca, 0x95, 0xc3, 0xb9, 0xa7, 0xd4, 0x82, 0x0a, 0x5c, 0xcb, 0x07, + 0x68, 0x03, 0x5c, 0x3b, 0x10, 0x38, 0x42, 0xc1, 0xc6, 0x38, 0x99, 0x6e, + 0xa8, 0x32, 0x80, 0x35, 0x5e, 0x08, 0xbf, 0x16, 0x5a, 0xdc, 0x1d, 0xaf, + 0x68, 0xa8, 0xa2, 0x88, 0x78, 0x2f, 0xe0, 0xff, 0x78, 0xd2, 0xcf, 0x8b, + 0x5a, 0xbb, 0x76, 0x8d, 0x12, 0x86, 0x30, 0xb4, 0x14, 0xd2, 0xc7, 0x0b, + 0xaf, 0x1e, 0x53, 0xa5, 0xef, 0x79, 0x70, 0xe2, 0x0c, 0x57, 0xea, 0x8f, + 0x65, 0xb8, 0x9a, 0x42, 0xcd, 0xa0, 0x56, 0x90, 0xb1, 0x55, 0x55, 0x95, + 0xe2, 0xd3, 0xcd, 0x3e, 0xfa, 0x77, 0x58, 0xa1, 0x16, 0x9e, 0x72, 0xca, + 0x29, 0x6c, 0x95, 0xcc, 0xff, 0x2e, 0x0f, 0xd6, 0x90, 0x17, 0x9c, 0x3d, + 0x72, 0xde, 0x08, 0x42, 0xf2, 0x01, 0xa6, 0xd6, 0x59, 0xc9, 0x73, 0xb7, + 0x51, 0x1b, 0xbc, 0xce, 0xf8, 0x5d, 0x19, 0x61, 0xf3, 0x78, 0xe0, 0x07, + 0xc6, 0x8c, 0x0c, 0xe0, 0x5a, 0x2b, 0x96, 0x1a, 0x99, 0xf5, 0x0c, 0x93, + 0x11, 0x50, 0xf1, 0x3a, 0xe0, 0xff, 0x4c, 0x37, 0xab, 0x69, 0xd0, 0xe8, + 0xd1, 0xf8, 0xfe, 0xd7, 0x7f, 0xfd, 0x97, 0x9e, 0xe0, 0xda, 0x6b, 0xaf, + 0x05, 0xde, 0x97, 0x00, 0xff, 0x8b, 0x54, 0xda, 0x3d, 0x77, 0xd2, 0x3a, + 0xc1, 0x43, 0x19, 0x0b, 0xdb, 0x41, 0x8c, 0xa7, 0x36, 0x70, 0xda, 0x1e, + 0x0c, 0x51, 0xdb, 0x18, 0x7d, 0x4f, 0x99, 0x3a, 0x75, 0xc0, 0x45, 0xbe, + 0xfe, 0xfa, 0xeb, 0xea, 0x00, 0x28, 0x0c, 0x0d, 0xcc, 0x1b, 0x79, 0xb1, + 0x0b, 0xd7, 0x19, 0x7b, 0x8b, 0xfc, 0x14, 0x79, 0xe5, 0x38, 0x56, 0x5a, + 0x1e, 0x97, 0x0d, 0x70, 0x9b, 0xaa, 0x58, 0x68, 0x57, 0x03, 0xec, 0x6e, + 0xba, 0x11, 0x86, 0x2a, 0x9f, 0x45, 0xa6, 0x78, 0xd2, 0x7f, 0xfe, 0xf9, + 0x8b, 0x74, 0xd9, 0x28, 0x25, 0x7e, 0x16, 0xdc, 0x3f, 0x26, 0xde, 0xe8, + 0x20, 0xd0, 0xed, 0x74, 0x30, 0xde, 0x3e, 0x79, 0x83, 0x05, 0x1b, 0x30, + 0x21, 0x14, 0x0e, 0xa9, 0x77, 0x65, 0xb8, 0xd1, 0x36, 0x1f, 0x23, 0x30, + 0xf2, 0x0d, 0x0d, 0x0d, 0xf9, 0x18, 0x80, 0x8c, 0x61, 0x2a, 0xa3, 0xbb, + 0xa7, 0x47, 0x5b, 0xe4, 0x47, 0xc8, 0x1b, 0x11, 0x7e, 0x26, 0x7a, 0xf0, + 0xe3, 0xae, 0x33, 0x36, 0x87, 0x49, 0x49, 0x9c, 0x54, 0x1b, 0x90, 0x87, + 0x1f, 0x16, 0xda, 0xdd, 0x26, 0x57, 0xc6, 0x00, 0xd4, 0x04, 0xe2, 0xff, + 0x69, 0x85, 0x11, 0xef, 0xc2, 0x85, 0x0b, 0xe5, 0xb5, 0xd7, 0x5e, 0xd3, + 0x2f, 0x2f, 0x5d, 0xba, 0x54, 0xa5, 0x8b, 0xd7, 0xe5, 0x49, 0xfe, 0xa8, + 0x0c, 0x30, 0x23, 0xa2, 0x5e, 0x55, 0x7f, 0xb0, 0x45, 0x82, 0xd7, 0x8d, + 0xab, 0x1b, 0x92, 0x92, 0x68, 0x6e, 0x3e, 0x2c, 0x93, 0x0b, 0x18, 0x33, + 0xb8, 0xfe, 0xcb, 0x76, 0x16, 0xee, 0x43, 0xc7, 0x06, 0x83, 0x11, 0xa4, + 0xff, 0xa8, 0x99, 0x70, 0xac, 0x05, 0x19, 0x36, 0x59, 0xb1, 0xcd, 0x84, + 0xcb, 0x7b, 0xb8, 0xdf, 0x83, 0xdf, 0xdd, 0xd1, 0x30, 0x08, 0x6c, 0x9d, + 0xc0, 0x85, 0xd0, 0x5e, 0xa4, 0xcb, 0xdc, 0x0b, 0x71, 0xf6, 0x8d, 0x37, + 0xb6, 0xea, 0x17, 0x3f, 0x78, 0xde, 0x07, 0x15, 0xab, 0x69, 0x0c, 0xdf, + 0xed, 0x76, 0x04, 0xc7, 0x5b, 0xa0, 0xf1, 0x56, 0xd2, 0xf7, 0x57, 0xc6, + 0x0c, 0x8d, 0x09, 0xbc, 0xcf, 0x3d, 0x62, 0x33, 0x2a, 0xa7, 0x90, 0x8c, + 0x94, 0x39, 0xc5, 0xff, 0x56, 0x17, 0x10, 0xde, 0xe4, 0xa2, 0x73, 0x5c, + 0xf7, 0x70, 0x36, 0xe0, 0x88, 0x3d, 0x44, 0xfe, 0x63, 0x81, 0x9e, 0xba, + 0xba, 0x3a, 0x23, 0x91, 0x48, 0xc0, 0xaf, 0x0f, 0x73, 0x71, 0x83, 0x6e, + 0x37, 0x40, 0xc3, 0xe4, 0xf6, 0xf7, 0x4c, 0x2d, 0xfc, 0xf1, 0xb1, 0x63, + 0xc7, 0x4a, 0x5f, 0xb2, 0x4f, 0x2f, 0x8a, 0x4b, 0x8f, 0xa6, 0x43, 0xb5, + 0xe9, 0x06, 0x7a, 0x84, 0x18, 0xed, 0xc3, 0x2b, 0xcc, 0x3b, 0x84, 0xb5, + 0x25, 0x1a, 0x8b, 0x0d, 0xf9, 0x9f, 0x74, 0x2a, 0x3d, 0x64, 0x09, 0xd5, + 0xa0, 0x83, 0x09, 0x46, 0x9f, 0xeb, 0x64, 0xe8, 0xbe, 0x17, 0xdc, 0x0e, + 0x93, 0xfd, 0xaf, 0xef, 0x16, 0x82, 0x8e, 0x45, 0x03, 0x0c, 0x77, 0xbb, + 0x01, 0xdd, 0x66, 0x00, 0xd2, 0xaf, 0xbd, 0x9d, 0x2c, 0x7d, 0xd1, 0x1b, + 0x82, 0x56, 0x4c, 0xf4, 0x24, 0x87, 0x04, 0x66, 0xa0, 0x15, 0x0a, 0x3a, + 0x17, 0xd3, 0x30, 0x65, 0x8a, 0x6a, 0xc3, 0x7b, 0xc9, 0x00, 0x0f, 0xeb, + 0xbd, 0xdf, 0x8e, 0xc7, 0x87, 0x32, 0x80, 0x95, 0x39, 0x2e, 0x26, 0x79, + 0x87, 0x83, 0x1b, 0xcb, 0x7a, 0x7d, 0xae, 0xa3, 0x56, 0x13, 0xe6, 0x86, + 0x7b, 0x06, 0xb7, 0x80, 0x61, 0x73, 0x1b, 0x02, 0x2a, 0x13, 0x1a, 0xe0, + 0x35, 0xd7, 0xfa, 0x5d, 0x66, 0x30, 0x21, 0x57, 0x33, 0x40, 0xe2, 0x7c, + 0x66, 0x5e, 0x9d, 0x27, 0xd5, 0xd7, 0x6b, 0x74, 0xcb, 0x1d, 0xad, 0x5c, + 0x4f, 0x7f, 0x54, 0x89, 0xef, 0xd5, 0x89, 0x0b, 0x93, 0x74, 0x9e, 0x70, + 0x14, 0xba, 0xa2, 0x34, 0xcc, 0xcf, 0x3c, 0xfb, 0xcc, 0x88, 0xae, 0x28, + 0xd3, 0x2a, 0x64, 0x40, 0xd6, 0x6d, 0x20, 0xf3, 0xf6, 0x24, 0x62, 0x2b, + 0x0c, 0xb7, 0x4b, 0x38, 0xd1, 0x5e, 0x90, 0xe6, 0x8b, 0xb8, 0xfe, 0x96, + 0xdb, 0x0d, 0x80, 0x98, 0xba, 0xe1, 0xaa, 0xfb, 0xe8, 0x23, 0x0c, 0x41, + 0xfd, 0x02, 0xdc, 0xff, 0x87, 0x3b, 0x20, 0x42, 0x2a, 0xe2, 0x85, 0xb0, + 0xc5, 0x86, 0xa8, 0x2a, 0x97, 0x01, 0x35, 0x35, 0xb5, 0x3a, 0x59, 0x46, + 0x99, 0xb4, 0x03, 0x03, 0xca, 0xda, 0x27, 0x79, 0x30, 0xaf, 0xaa, 0xab, + 0x71, 0x0a, 0xb2, 0x9e, 0x4e, 0x94, 0x3c, 0x30, 0x3b, 0x4b, 0x9b, 0x40, + 0x81, 0xd9, 0xb4, 0x71, 0xe3, 0x88, 0xad, 0x2c, 0x90, 0xb5, 0x14, 0x5d, + 0x5b, 0xae, 0x2f, 0x26, 0xf4, 0x10, 0xae, 0x18, 0x50, 0x3a, 0xd7, 0x58, + 0x73, 0xc2, 0x34, 0xc0, 0xf0, 0xb8, 0xff, 0xcd, 0x6f, 0x7e, 0x53, 0xbd, + 0x9e, 0xc9, 0x93, 0x27, 0xe7, 0x3d, 0xa0, 0xb6, 0xb6, 0x36, 0x35, 0xc0, + 0x6c, 0xba, 0xa2, 0x06, 0xf0, 0x5c, 0x78, 0xce, 0x96, 0x93, 0x70, 0xa1, + 0xe4, 0x1c, 0x3c, 0x78, 0x50, 0x53, 0x02, 0x5c, 0xfd, 0x5e, 0x5c, 0x52, + 0xac, 0x01, 0x91, 0x97, 0x14, 0xf3, 0xfb, 0xfc, 0xa3, 0xa7, 0x05, 0x6e, + 0xff, 0x90, 0xf7, 0xfb, 0x76, 0x41, 0x96, 0xd4, 0xcb, 0xba, 0x6a, 0x74, + 0xbc, 0x64, 0x89, 0xb6, 0xc5, 0xec, 0xdb, 0xb7, 0x2f, 0x0f, 0x57, 0x1e, + 0x23, 0xbc, 0x6b, 0x02, 0x02, 0xf4, 0x72, 0xb1, 0x39, 0xe1, 0xc7, 0x33, + 0xde, 0xde, 0x82, 0x40, 0xc2, 0x2b, 0x93, 0x7a, 0x8d, 0x8d, 0x8d, 0xc7, + 0xc5, 0x00, 0x3d, 0x31, 0x09, 0x8f, 0xa1, 0x4c, 0xaf, 0xad, 0xad, 0xcd, + 0xe7, 0x7e, 0x5a, 0x5a, 0x5a, 0xfc, 0xdc, 0xf1, 0x90, 0x1b, 0x2d, 0xc1, + 0xe5, 0x54, 0x7f, 0x98, 0xae, 0x28, 0xa0, 0x45, 0x17, 0x40, 0xab, 0xaf, + 0x6d, 0xe8, 0x4a, 0x68, 0x5d, 0x40, 0xcd, 0xcc, 0xe7, 0x6d, 0xb7, 0xdf, + 0x9e, 0xcf, 0xf3, 0x10, 0x96, 0xf4, 0xd1, 0xdb, 0x8a, 0xf2, 0x64, 0xf3, + 0x00, 0x3f, 0x91, 0xc9, 0xe6, 0xc4, 0xa9, 0xd9, 0x18, 0x03, 0x72, 0xff, + 0x96, 0xbb, 0x2e, 0x8d, 0x91, 0x31, 0xd3, 0xd5, 0x77, 0x7e, 0xe7, 0x4e, + 0x59, 0xbd, 0x7a, 0xb5, 0x54, 0xc0, 0x56, 0x31, 0x2d, 0xe2, 0x2d, 0x75, + 0xf5, 0x22, 0x68, 0xce, 0x1b, 0xd7, 0xd1, 0x49, 0x06, 0x78, 0xb6, 0xcc, + 0x70, 0x5b, 0x22, 0xa9, 0x05, 0x3c, 0x87, 0xbb, 0x2d, 0xf2, 0x31, 0x33, + 0x20, 0x4f, 0xfc, 0xd9, 0xb3, 0x67, 0x1b, 0x7f, 0xf9, 0xcb, 0x5f, 0xf8, + 0x68, 0xc2, 0xeb, 0x21, 0xec, 0xf8, 0x41, 0xe4, 0x00, 0x0c, 0x69, 0x00, + 0xaa, 0xca, 0x88, 0x37, 0xd8, 0xdb, 0xdb, 0x4b, 0xd7, 0x93, 0x21, 0x39, + 0xe3, 0x00, 0x9f, 0xcf, 0x34, 0x6c, 0xe6, 0xc4, 0x72, 0x76, 0x3f, 0xc6, + 0x7f, 0xeb, 0x9f, 0xee, 0x90, 0x27, 0x9e, 0x78, 0x4a, 0xda, 0x3b, 0xda, + 0x15, 0xff, 0xfd, 0x3e, 0xbf, 0x1b, 0xd6, 0xe7, 0x34, 0x4f, 0xa3, 0x06, + 0xfb, 0xe4, 0xd1, 0x3e, 0x5f, 0xbc, 0x31, 0xf3, 0xbb, 0x6a, 0x39, 0x19, + 0x63, 0x66, 0xab, 0x59, 0x29, 0xe3, 0x71, 0xd1, 0x45, 0x4b, 0xe5, 0x63, + 0x1f, 0xff, 0x98, 0x3c, 0xf5, 0xf4, 0x53, 0xd2, 0x74, 0xb0, 0x49, 0x6e, + 0xba, 0xf1, 0x26, 0x30, 0xa1, 0x42, 0x89, 0xfa, 0xd2, 0xba, 0x75, 0xf2, + 0xdb, 0xdf, 0xfe, 0x56, 0xe7, 0x4e, 0xa1, 0x29, 0x2e, 0x2e, 0x6e, 0xa1, + 0x7b, 0x4d, 0x23, 0xec, 0xed, 0xc6, 0xe5, 0xed, 0x00, 0x43, 0xef, 0x90, + 0xe7, 0x5b, 0xb5, 0x6a, 0x95, 0x7e, 0xe7, 0xdd, 0x32, 0x60, 0x00, 0xf1, + 0xe1, 0x0d, 0xe8, 0x0e, 0xe7, 0xcd, 0xcd, 0xcd, 0xbe, 0xfa, 0xfa, 0x7a, + 0x1f, 0x4e, 0x4e, 0x29, 0x27, 0xd1, 0x43, 0x20, 0x7a, 0xb8, 0xa7, 0xa7, + 0x27, 0x82, 0x89, 0x70, 0x65, 0x49, 0x98, 0x1b, 0x2e, 0x81, 0x31, 0x76, + 0x49, 0x69, 0x59, 0x9b, 0x99, 0xe8, 0x19, 0xbb, 0xa0, 0xa1, 0x48, 0x32, + 0x08, 0x7e, 0x56, 0xbf, 0xdd, 0x23, 0xcf, 0x3f, 0xff, 0x82, 0xdc, 0x7e, + 0xfb, 0x3f, 0xc8, 0x3d, 0xf7, 0xdc, 0x2b, 0x87, 0x60, 0xc4, 0x1d, 0x1c, + 0x75, 0x24, 0xdf, 0x2b, 0x07, 0x3a, 0x4c, 0xb0, 0x4f, 0x28, 0xe1, 0xb9, + 0xa0, 0xc3, 0xab, 0x19, 0x7b, 0xb5, 0x66, 0xaa, 0x81, 0x2f, 0x18, 0x01, + 0x33, 0x02, 0x08, 0xcc, 0x22, 0x72, 0xa0, 0xa9, 0x49, 0x37, 0xf9, 0x58, + 0x75, 0xe5, 0x95, 0x72, 0xd7, 0x77, 0xbf, 0xab, 0x5b, 0x5d, 0x92, 0x06, + 0xdc, 0xee, 0x8c, 0x0e, 0x07, 0xe7, 0x76, 0x1e, 0x62, 0x17, 0xd6, 0x2d, + 0xee, 0xfb, 0xe1, 0x0f, 0x8d, 0xdf, 0xff, 0xfe, 0xf7, 0x02, 0x34, 0x68, + 0xe5, 0x16, 0xca, 0x6e, 0xde, 0xdf, 0xf0, 0xb4, 0x8a, 0xbf, 0xc3, 0xd6, + 0x17, 0x1a, 0xe3, 0x63, 0xd2, 0x00, 0x0f, 0xe3, 0x3c, 0xe2, 0x43, 0x95, + 0x7c, 0x98, 0x88, 0x0f, 0x3f, 0xe8, 0x03, 0xb1, 0xb5, 0x9f, 0x1f, 0x27, + 0x0f, 0x41, 0xcd, 0x22, 0x60, 0x40, 0x94, 0x9b, 0x6d, 0xb3, 0xaf, 0x1e, + 0x9a, 0x10, 0xcd, 0xe2, 0x75, 0xd6, 0xb6, 0x23, 0x5f, 0x5a, 0x7e, 0x46, + 0xeb, 0x25, 0x0b, 0x37, 0x8f, 0x9d, 0xb3, 0xa4, 0xc7, 0x96, 0x74, 0xce, + 0x58, 0xfd, 0x48, 0xb5, 0x7c, 0xed, 0xbe, 0x84, 0xdc, 0x7b, 0xef, 0xbf, + 0x68, 0xb1, 0xe5, 0xce, 0xef, 0xde, 0xa5, 0x92, 0xa4, 0xea, 0xeb, 0xf7, + 0xe5, 0x27, 0xee, 0xd5, 0x72, 0x4f, 0x18, 0xe4, 0x8b, 0xe4, 0x6b, 0xc5, + 0x46, 0x01, 0xf1, 0x4d, 0x10, 0x3f, 0xb1, 0xef, 0x4d, 0xe9, 0xde, 0xfe, + 0xb2, 0x64, 0xeb, 0x66, 0x49, 0x71, 0xa4, 0x44, 0x2e, 0x5e, 0xbe, 0x42, + 0xbe, 0xfc, 0xa5, 0x2f, 0xca, 0x5d, 0xdf, 0xbb, 0x1b, 0x81, 0xe2, 0x79, + 0x0a, 0x21, 0xfc, 0x1e, 0xe7, 0xc9, 0x3d, 0x2b, 0x1e, 0x7e, 0xf8, 0x61, + 0x8c, 0x87, 0xe4, 0x07, 0x3f, 0xf8, 0x01, 0x63, 0x9a, 0x8e, 0x68, 0x24, + 0xda, 0x0a, 0x3b, 0xe0, 0xed, 0xf6, 0x65, 0x78, 0x0b, 0xbd, 0xf9, 0x84, + 0xb1, 0x00, 0x6d, 0xc0, 0xf3, 0xcf, 0x3f, 0x6f, 0xf0, 0x1e, 0x09, 0x77, + 0xdc, 0x71, 0x87, 0x7d, 0xb4, 0x15, 0x31, 0xcf, 0xe8, 0x12, 0x76, 0xf4, + 0xc6, 0x0a, 0x20, 0xbe, 0xae, 0x62, 0xa9, 0xa8, 0xa8, 0xe0, 0x0a, 0x96, + 0x20, 0x4e, 0xae, 0xcd, 0xb5, 0x5c, 0x53, 0xc5, 0x5d, 0x6e, 0x31, 0x8a, + 0xf1, 0x7e, 0xa9, 0x65, 0x65, 0xca, 0xd3, 0xe9, 0x5c, 0x55, 0xe6, 0x60, + 0xcb, 0xc4, 0x05, 0x55, 0xf7, 0xad, 0x9a, 0xb6, 0x6a, 0x5b, 0xd0, 0x4a, + 0x32, 0x4a, 0xf1, 0xe3, 0xdc, 0x59, 0x69, 0x59, 0x3d, 0x46, 0x6e, 0xfa, + 0xba, 0x5f, 0x1e, 0xfe, 0xeb, 0x01, 0xf9, 0xf8, 0xc7, 0xae, 0x92, 0x1f, + 0xdc, 0xf7, 0xff, 0x54, 0xb5, 0xbb, 0xbb, 0xba, 0xc5, 0x1f, 0xf0, 0x0f, + 0x92, 0x5c, 0xe3, 0xf8, 0x5a, 0x5e, 0x6d, 0xef, 0xc1, 0x1e, 0x62, 0x84, + 0xe1, 0x27, 0x4b, 0x1f, 0x6c, 0x52, 0xe7, 0xe3, 0x97, 0xca, 0xb8, 0xba, + 0x46, 0xe9, 0xed, 0x11, 0x49, 0xf4, 0x9d, 0x2e, 0xd7, 0xff, 0x24, 0x27, + 0xa9, 0x50, 0xb9, 0x5c, 0xf7, 0xd9, 0x4f, 0xcb, 0xfe, 0x03, 0x07, 0xf3, + 0x7b, 0x0c, 0xf1, 0x91, 0x6e, 0x33, 0xbd, 0xa2, 0xaf, 0xdc, 0xfc, 0x15, + 0x7b, 0xea, 0xe4, 0x69, 0xc6, 0x55, 0x57, 0x5c, 0xb5, 0x65, 0xfd, 0x7f, + 0xbf, 0xfc, 0x48, 0x38, 0x18, 0x6c, 0xca, 0x5a, 0xd6, 0x41, 0xfc, 0x4f, + 0x33, 0x46, 0x1b, 0x68, 0xd8, 0x05, 0x7a, 0x24, 0x70, 0x5d, 0x49, 0x04, + 0xaa, 0x69, 0xb8, 0xe9, 0xda, 0xc2, 0x08, 0x34, 0xb1, 0x07, 0x77, 0x81, + 0x14, 0x0a, 0xbc, 0xbf, 0xf0, 0x85, 0x07, 0x3d, 0xf4, 0x76, 0xc0, 0x7d, + 0x5f, 0x79, 0x79, 0xb9, 0x06, 0x58, 0x90, 0x56, 0x16, 0x5a, 0xc2, 0xdc, + 0xd7, 0x3f, 0xc0, 0x86, 0x55, 0xbf, 0x14, 0xe5, 0x2c, 0xa3, 0x08, 0x4e, + 0x50, 0x49, 0xc8, 0x27, 0xa5, 0x86, 0x2f, 0x54, 0x9a, 0xce, 0x9a, 0x45, + 0xb1, 0x3d, 0xbf, 0x39, 0x6f, 0xdc, 0x59, 0x3b, 0x41, 0xfc, 0x2a, 0x31, + 0x82, 0x5f, 0x87, 0x7e, 0x9d, 0x29, 0x56, 0xfa, 0x39, 0xa9, 0x3c, 0xe7, + 0xdb, 0xf2, 0xa3, 0xbb, 0x62, 0x92, 0xf8, 0x72, 0x8d, 0xfc, 0xe6, 0xa1, + 0x87, 0xd5, 0x43, 0xf8, 0xd9, 0x2f, 0x1e, 0x94, 0xb9, 0x73, 0xe6, 0x4a, + 0x73, 0x4b, 0xb3, 0x0c, 0xb7, 0x3d, 0xb1, 0x71, 0x0c, 0x8d, 0x66, 0xb6, + 0xe3, 0x6f, 0xf6, 0x33, 0x72, 0xc0, 0xc5, 0x02, 0x86, 0x82, 0x51, 0x49, + 0xbc, 0xbd, 0x1a, 0x1e, 0x59, 0xa3, 0x14, 0x9f, 0xb9, 0x4c, 0x8a, 0x63, + 0xe7, 0x49, 0xcf, 0xae, 0x7f, 0x97, 0x0d, 0x5f, 0xd9, 0x20, 0x81, 0x92, + 0x49, 0xf2, 0xdc, 0x5f, 0x9e, 0x83, 0x66, 0xe6, 0x06, 0xf8, 0xfe, 0x84, + 0xa0, 0x9e, 0xee, 0x0e, 0xd9, 0xbd, 0xa7, 0xd9, 0x98, 0x3f, 0xb9, 0x45, + 0x16, 0x47, 0x76, 0x4d, 0xf7, 0xc7, 0xa7, 0x9c, 0xf5, 0x66, 0x68, 0xce, + 0x63, 0xa1, 0x80, 0x19, 0xc8, 0xd9, 0x26, 0xb3, 0x00, 0x94, 0x53, 0x9f, + 0xab, 0x11, 0xac, 0x10, 0xd2, 0x69, 0xb1, 0x60, 0x27, 0x8f, 0x98, 0x8e, + 0x18, 0x20, 0x7e, 0xf4, 0x78, 0x68, 0x74, 0x81, 0x7d, 0xba, 0xbd, 0x30, + 0x98, 0xc0, 0x45, 0x15, 0x9a, 0x66, 0x66, 0x8e, 0x3f, 0x12, 0x08, 0xc4, + 0xcd, 0x60, 0xd0, 0x6b, 0xdd, 0x2e, 0xe6, 0xf6, 0x8f, 0xa1, 0x70, 0xa6, + 0x04, 0x97, 0x56, 0xea, 0x7b, 0xf9, 0x8f, 0x0b, 0xa6, 0x9d, 0xb5, 0x66, + 0x42, 0xa4, 0x16, 0xc4, 0x0c, 0x3c, 0x00, 0x06, 0x9c, 0x0e, 0xfe, 0xb7, + 0x8a, 0x11, 0xfd, 0x84, 0x58, 0x89, 0x32, 0x29, 0x9e, 0x77, 0x83, 0xdc, + 0xf3, 0xa5, 0xf1, 0xb2, 0xf1, 0xe6, 0x22, 0xd9, 0xb0, 0x71, 0x93, 0x2c, + 0x5e, 0xb4, 0x48, 0x7e, 0xf0, 0xc3, 0xfb, 0xe4, 0x9a, 0x6b, 0xae, 0x86, + 0x71, 0xee, 0x18, 0xa9, 0x35, 0xe4, 0x5d, 0xe2, 0xfe, 0xc8, 0x0c, 0x53, + 0x18, 0xb2, 0xe1, 0xc5, 0x74, 0x6e, 0x96, 0x48, 0x69, 0x50, 0xec, 0x92, + 0x7f, 0xc4, 0xdc, 0x26, 0x49, 0x77, 0xf1, 0xd9, 0xd2, 0x67, 0x2d, 0x95, + 0xe6, 0x7d, 0x3b, 0xe5, 0xe9, 0xa7, 0xb3, 0x88, 0x8c, 0x8b, 0xf2, 0xbe, + 0x3f, 0x99, 0x96, 0x04, 0x1c, 0x35, 0x1d, 0x82, 0x2d, 0xb0, 0x53, 0xf2, + 0xd5, 0xbf, 0x37, 0x64, 0xf2, 0xc2, 0xb7, 0xfc, 0xa9, 0x5c, 0xf2, 0xfc, + 0x8e, 0xb7, 0xe7, 0xac, 0xcf, 0x95, 0x94, 0xb7, 0x87, 0x03, 0x46, 0xd0, + 0x32, 0x02, 0x8a, 0x14, 0xf0, 0x8e, 0x18, 0x17, 0x69, 0x6a, 0x82, 0xbb, + 0xf2, 0x6f, 0xd9, 0xb2, 0x45, 0x87, 0x7b, 0xa7, 0x8f, 0x61, 0x99, 0xe0, + 0x2f, 0x14, 0x38, 0x58, 0x6d, 0x95, 0x7e, 0x9c, 0xc8, 0x24, 0xfe, 0xbb, + 0x77, 0x9e, 0x08, 0xba, 0xfd, 0x9d, 0x31, 0xf0, 0xb9, 0xa8, 0xef, 0xa5, + 0xc7, 0xcf, 0xf6, 0xa7, 0xdf, 0x38, 0xdd, 0x08, 0xa4, 0x2a, 0xc4, 0x88, + 0x05, 0x24, 0x34, 0x2e, 0x65, 0x24, 0xf6, 0xd6, 0x35, 0x4c, 0x79, 0xb6, + 0xa1, 0x7a, 0x4e, 0x3b, 0x7e, 0xe2, 0x66, 0x30, 0x60, 0x1a, 0xdc, 0xa0, + 0xed, 0x7a, 0xc1, 0x62, 0xb5, 0x88, 0x19, 0x9e, 0x2f, 0x56, 0xe6, 0xd3, + 0x32, 0x63, 0xf1, 0xcf, 0xe4, 0x7f, 0x5d, 0x56, 0x2f, 0x37, 0xfc, 0x3c, + 0x21, 0xdd, 0x3d, 0x5d, 0xf2, 0x37, 0x9f, 0xbc, 0x46, 0xd6, 0xaf, 0x7f, + 0x59, 0xee, 0xba, 0xeb, 0x7b, 0x4a, 0xa0, 0xde, 0x44, 0xaf, 0xf8, 0xfd, + 0xbe, 0x93, 0xe6, 0x0f, 0x69, 0x10, 0x93, 0x69, 0x13, 0x5f, 0xa4, 0xd6, + 0xd1, 0xb8, 0x9e, 0xad, 0x52, 0x53, 0xe9, 0x87, 0x26, 0x4e, 0x97, 0xd5, + 0x6b, 0x37, 0xc0, 0xf7, 0xdf, 0xef, 0xfa, 0xfe, 0xfd, 0x46, 0xd5, 0xf1, + 0xff, 0x45, 0xee, 0xbd, 0x4d, 0xe4, 0x0c, 0xca, 0x54, 0x97, 0x61, 0x97, + 0x4f, 0xec, 0xf1, 0x8f, 0xd9, 0xd3, 0x5d, 0xd7, 0x1d, 0xaf, 0xdf, 0x85, + 0xd9, 0x86, 0x95, 0xf2, 0x3e, 0x5f, 0xc0, 0x49, 0x06, 0x04, 0x32, 0x70, + 0x4c, 0xb2, 0xf0, 0x94, 0xa8, 0x05, 0x36, 0xb5, 0x80, 0x82, 0xed, 0x32, + 0x61, 0x78, 0x0d, 0x28, 0x80, 0x1f, 0x62, 0x9e, 0xa6, 0x19, 0xe0, 0xe7, + 0xfa, 0xdc, 0x95, 0x8c, 0x5a, 0x68, 0xe7, 0xed, 0x44, 0xd2, 0xcf, 0xdf, + 0xf5, 0xe9, 0x09, 0x93, 0x5f, 0xfc, 0x78, 0xf9, 0x94, 0x2e, 0xdb, 0x17, + 0xb0, 0x0c, 0x3b, 0x9b, 0x92, 0x4c, 0x02, 0x1c, 0x8a, 0x99, 0x12, 0xa9, + 0xa6, 0xcf, 0xf1, 0x61, 0x91, 0xc8, 0xe5, 0x20, 0xfe, 0x3e, 0x97, 0xd7, + 0x29, 0x5d, 0xcd, 0x22, 0x82, 0x0b, 0x0b, 0xaf, 0x12, 0x49, 0xaf, 0x95, + 0x4f, 0x7f, 0x6a, 0xbf, 0x3c, 0xfe, 0x4a, 0x95, 0x3c, 0xb2, 0xe5, 0x10, + 0xbc, 0x90, 0x90, 0xa6, 0xa9, 0x57, 0xad, 0xba, 0x42, 0xbe, 0xff, 0xfd, + 0xef, 0xeb, 0x56, 0x33, 0x6c, 0x1b, 0xf1, 0xfb, 0x03, 0x27, 0x23, 0x12, + 0x73, 0xdc, 0x50, 0xae, 0x0f, 0xe4, 0x02, 0x03, 0x48, 0x34, 0xe7, 0x6f, + 0x84, 0x02, 0xf2, 0xd8, 0xef, 0xbe, 0x23, 0xdf, 0xbb, 0xfb, 0x97, 0xf2, + 0x93, 0x5f, 0x3d, 0x29, 0x87, 0x9b, 0xa9, 0x8d, 0x0e, 0xc3, 0x48, 0x97, + 0x78, 0x2c, 0x2e, 0xff, 0xfb, 0xae, 0x2b, 0xe5, 0xb3, 0x57, 0x3e, 0x22, + 0xb9, 0x8e, 0x16, 0x68, 0x8d, 0x81, 0xa0, 0x2d, 0x2b, 0xb1, 0x40, 0xb2, + 0xd2, 0x2c, 0x29, 0x09, 0x1b, 0x56, 0x26, 0x62, 0x06, 0xc2, 0xda, 0xa6, + 0x02, 0xfc, 0xe7, 0xfd, 0x6b, 0x32, 0xdc, 0x85, 0x93, 0xbb, 0xb6, 0x8f, + 0x1f, 0x3f, 0x9e, 0x8b, 0x4e, 0x6c, 0xda, 0x81, 0x41, 0x19, 0xd2, 0xe1, + 0x21, 0x88, 0x9e, 0x0f, 0x82, 0x26, 0x83, 0xdc, 0x63, 0x8a, 0x01, 0x5a, + 0xc0, 0xdc, 0x0e, 0xab, 0x3e, 0xe1, 0xee, 0xd6, 0x74, 0xc9, 0x98, 0xb2, + 0x2d, 0x8b, 0x27, 0x5e, 0x78, 0x08, 0xd2, 0x6c, 0xda, 0x92, 0x05, 0xc1, + 0x83, 0x73, 0x71, 0x86, 0x89, 0x6c, 0x5b, 0xc0, 0x45, 0xcd, 0x34, 0x24, + 0x7c, 0x01, 0x88, 0xdf, 0x2e, 0xda, 0x4a, 0xef, 0xfa, 0xda, 0xfa, 0x68, + 0xb3, 0xeb, 0x21, 0x2c, 0x56, 0xf0, 0x53, 0x12, 0xaa, 0xbf, 0x4d, 0xbe, + 0x79, 0x6d, 0xa9, 0xac, 0xbf, 0x2d, 0x26, 0x4d, 0x89, 0x84, 0x4c, 0x9a, + 0x54, 0x2f, 0x93, 0x27, 0x37, 0xc8, 0xca, 0x95, 0x2b, 0xe5, 0xee, 0x7b, + 0xee, 0x91, 0x4b, 0x2e, 0xbe, 0x58, 0x21, 0xc9, 0x8b, 0x15, 0x4e, 0x1c, + 0xfd, 0x0d, 0x67, 0xaf, 0x0f, 0x7f, 0x4c, 0xac, 0x54, 0x37, 0xa6, 0xd8, + 0x29, 0x1a, 0x7d, 0x24, 0xfb, 0x60, 0x0b, 0xfc, 0x72, 0xe7, 0xbf, 0x5c, + 0x2f, 0x5f, 0xbb, 0xf9, 0x32, 0x59, 0xfb, 0x52, 0xa3, 0x6c, 0xd8, 0xbc, + 0x13, 0x1a, 0xda, 0x27, 0x75, 0xe3, 0x2a, 0x30, 0x9f, 0xb3, 0x64, 0xc2, + 0xf4, 0x29, 0x92, 0x7b, 0xfb, 0x29, 0x67, 0x7f, 0x7b, 0x5c, 0x4e, 0x20, + 0x94, 0x93, 0x88, 0xbf, 0xaf, 0x1c, 0x9e, 0x44, 0x34, 0x60, 0x46, 0x7a, + 0x61, 0x06, 0x22, 0xee, 0x36, 0x68, 0x69, 0x08, 0x6c, 0x06, 0x8f, 0x59, + 0xae, 0xc8, 0x05, 0x7c, 0xdb, 0x70, 0xe1, 0x6d, 0xc0, 0x3a, 0xa1, 0xdd, + 0x1a, 0x0e, 0x8a, 0x86, 0x5c, 0x25, 0x73, 0x1b, 0x4c, 0xb6, 0xb9, 0xf9, + 0x6d, 0x5d, 0xdb, 0xc5, 0x5a, 0xaf, 0x2f, 0x93, 0x8d, 0x9b, 0x81, 0x6c, + 0x40, 0x92, 0x78, 0xbb, 0xcf, 0x02, 0x20, 0xad, 0x04, 0xcf, 0x6f, 0xd1, + 0xd5, 0x89, 0x86, 0x6e, 0x32, 0x90, 0x01, 0xbd, 0x3b, 0x5d, 0xc2, 0xdb, + 0x8e, 0xe4, 0x0f, 0x60, 0x42, 0x37, 0xbc, 0x90, 0x7a, 0xb1, 0x7c, 0x4b, + 0x65, 0xde, 0xe2, 0x3f, 0xcb, 0x2d, 0x97, 0x4e, 0x94, 0x5b, 0x1e, 0x4a, + 0xc8, 0x13, 0x8f, 0x3f, 0x2e, 0x5f, 0xbd, 0xf5, 0x6b, 0xf2, 0xb1, 0x8f, + 0x7d, 0x4c, 0x3e, 0x7f, 0xc3, 0x0d, 0xf2, 0xd5, 0xaf, 0xde, 0x2a, 0x9f, + 0xff, 0xfc, 0x0d, 0xd2, 0xd9, 0xd9, 0x35, 0xd2, 0x8e, 0x87, 0xc7, 0x48, + 0x7f, 0x43, 0xb7, 0x9b, 0x30, 0xfc, 0x08, 0xa0, 0x52, 0x3d, 0x8e, 0xa0, + 0x30, 0x6b, 0xc2, 0x7d, 0xa2, 0x52, 0x90, 0xa7, 0xbe, 0x4e, 0x29, 0x8e, + 0x07, 0x64, 0xe9, 0xca, 0x0f, 0xc8, 0xd2, 0xcb, 0xe7, 0x7b, 0x15, 0x60, + 0x68, 0x6d, 0x14, 0x0a, 0xfd, 0x6f, 0xe2, 0xcb, 0x40, 0xab, 0x7d, 0x06, + 0xbb, 0x7f, 0x8c, 0x68, 0x59, 0x52, 0x4a, 0x43, 0x6f, 0x37, 0xe4, 0x82, + 0xe1, 0x22, 0xd3, 0xcc, 0xf4, 0x99, 0x66, 0x90, 0x29, 0x55, 0xee, 0xc4, + 0x9e, 0xe6, 0xbd, 0x09, 0x58, 0xe7, 0x87, 0xf0, 0x92, 0xe0, 0x4a, 0x0c, + 0xc4, 0x06, 0x36, 0x9d, 0x9b, 0xe1, 0xa0, 0xc8, 0x2c, 0x34, 0xc0, 0xf8, + 0x47, 0xdd, 0xd1, 0x96, 0x0c, 0x00, 0xe4, 0x68, 0xaa, 0xd9, 0xef, 0x2c, + 0x5d, 0x0c, 0x44, 0xc7, 0x46, 0x6d, 0x2b, 0x15, 0x4d, 0xb2, 0xfd, 0x48, + 0xd1, 0xd4, 0x07, 0x40, 0xb4, 0xdb, 0xc4, 0x20, 0xdc, 0x70, 0x64, 0x9b, + 0x70, 0x41, 0x88, 0x2a, 0x2d, 0x84, 0xe1, 0xb9, 0x84, 0xfb, 0x1c, 0x23, + 0xe7, 0x0e, 0x0b, 0x70, 0x94, 0x3d, 0x0c, 0x95, 0x5f, 0x22, 0x12, 0x1d, + 0x23, 0xd7, 0x5d, 0xd3, 0x29, 0x17, 0x4c, 0xad, 0x92, 0xd6, 0xb6, 0x76, + 0x30, 0xe1, 0xcf, 0xba, 0xe5, 0xe4, 0x67, 0x3e, 0xf3, 0x19, 0xb9, 0xe3, + 0x8e, 0x6f, 0xca, 0x2f, 0x7e, 0xf1, 0x0b, 0x04, 0x33, 0xc5, 0xda, 0xa8, + 0x55, 0xd8, 0x64, 0x7b, 0xfc, 0xc3, 0x63, 0x00, 0x2e, 0x22, 0x7d, 0xc8, + 0x9d, 0x53, 0x02, 0xfe, 0x77, 0x1f, 0x24, 0x0d, 0x90, 0x94, 0xee, 0x91, + 0x5c, 0xeb, 0x61, 0xc9, 0x1e, 0x3a, 0x80, 0xa9, 0xee, 0x93, 0x6c, 0x6b, + 0xaf, 0xd8, 0xcd, 0x7f, 0x14, 0x5f, 0xe7, 0x4f, 0xf2, 0xae, 0x2c, 0xd7, + 0xc7, 0x98, 0x51, 0x5b, 0xea, 0x67, 0x6d, 0xab, 0xf4, 0x6d, 0x7c, 0xe4, + 0x83, 0x7e, 0x7f, 0x04, 0x86, 0xd0, 0x2a, 0x61, 0x13, 0x32, 0x17, 0x74, + 0xb0, 0x23, 0x9c, 0xad, 0x38, 0xbc, 0x3f, 0x0e, 0xbc, 0x48, 0x3f, 0xe2, + 0x26, 0x93, 0x4e, 0x0d, 0xd1, 0xc5, 0x4d, 0xeb, 0x0c, 0x70, 0xef, 0x86, + 0xd5, 0x73, 0x06, 0x17, 0xdc, 0xe3, 0x9f, 0x0c, 0xf2, 0x18, 0xc0, 0x20, + 0x2c, 0x93, 0x89, 0xf5, 0x59, 0x29, 0x76, 0x1e, 0xe7, 0x6c, 0xc9, 0x35, + 0x1b, 0x0e, 0x61, 0x93, 0xce, 0xf9, 0x6c, 0xab, 0x7f, 0x48, 0xae, 0xe0, + 0x79, 0xc1, 0xfb, 0x16, 0xa1, 0x28, 0x24, 0x96, 0x7f, 0xa9, 0xc4, 0xeb, + 0x1f, 0x94, 0x6f, 0xff, 0xdd, 0x44, 0x59, 0xff, 0xf5, 0x80, 0xfc, 0xf7, + 0xc6, 0x8d, 0x12, 0x0a, 0x85, 0xa5, 0x6e, 0xfc, 0x78, 0x59, 0xb6, 0x6c, + 0x99, 0x6e, 0xd2, 0xfa, 0xa1, 0xc5, 0x8b, 0x35, 0xb3, 0xc8, 0x1a, 0xed, + 0x09, 0x09, 0xd0, 0xdc, 0x9c, 0x53, 0x28, 0x56, 0x0e, 0xaf, 0x8c, 0x0a, + 0xdb, 0x22, 0xb6, 0xbf, 0x0c, 0x33, 0x4f, 0x2a, 0x3c, 0x79, 0xe1, 0x87, + 0x4f, 0x2d, 0x35, 0xe6, 0xef, 0x2f, 0x86, 0x91, 0x7e, 0x52, 0xa4, 0xfd, + 0x67, 0xce, 0x9b, 0x96, 0x1b, 0x5b, 0xb3, 0xcc, 0x0d, 0x19, 0xab, 0x9a, + 0xd9, 0x21, 0x93, 0x0f, 0xff, 0xe1, 0xdc, 0x9d, 0x8d, 0xb5, 0x4d, 0xfe, + 0xd3, 0xce, 0x5d, 0x67, 0xa4, 0x13, 0x25, 0xfe, 0x40, 0x28, 0x0d, 0xb0, + 0x48, 0xf3, 0xee, 0x1c, 0xbc, 0x61, 0x1c, 0x6b, 0x35, 0x84, 0x22, 0x08, + 0xb6, 0xb5, 0x6f, 0xdf, 0x3e, 0x1b, 0x4e, 0x8e, 0x0d, 0xaf, 0x68, 0x40, + 0xc7, 0xdc, 0x10, 0xbf, 0xaf, 0xa5, 0xa5, 0xc5, 0x70, 0x6f, 0x9e, 0x60, + 0x78, 0xbb, 0x0a, 0xb2, 0xf6, 0xcb, 0xc4, 0x5b, 0xd6, 0x8a, 0x27, 0x73, + 0x5e, 0xe5, 0xad, 0xef, 0xc5, 0x02, 0x89, 0xef, 0xe9, 0x97, 0x78, 0x5e, + 0x5d, 0xae, 0x77, 0xa8, 0x06, 0x78, 0xcc, 0xca, 0xb6, 0xc2, 0x1f, 0x07, + 0x14, 0x19, 0xd3, 0x64, 0xfe, 0xe2, 0xbd, 0xf2, 0xf5, 0xcb, 0x6a, 0xa4, + 0x03, 0x5a, 0xb0, 0x75, 0x6b, 0xa3, 0x6e, 0x57, 0x46, 0x82, 0xf3, 0xf8, + 0x23, 0x42, 0xff, 0x80, 0xdb, 0xb9, 0x6c, 0x8c, 0xd0, 0x70, 0xfb, 0x6e, + 0x06, 0xa5, 0x37, 0x84, 0xa9, 0x1f, 0x6c, 0xee, 0x74, 0xfc, 0x82, 0x4c, + 0x07, 0x81, 0xc2, 0xd1, 0xd6, 0xfc, 0xfc, 0x7a, 0x9d, 0x6b, 0x61, 0xa5, + 0xb1, 0xeb, 0x59, 0x10, 0xe3, 0x67, 0x0e, 0x73, 0x6c, 0x57, 0xfa, 0x0b, + 0x53, 0xdc, 0x50, 0x9e, 0x86, 0xf3, 0x9a, 0x64, 0x7c, 0xf8, 0x81, 0x95, + 0x99, 0x4d, 0x6b, 0xe6, 0x99, 0xe1, 0x22, 0x16, 0xeb, 0x63, 0xb9, 0x54, + 0x22, 0x4e, 0xb7, 0x9d, 0xf5, 0x29, 0x36, 0x2b, 0x70, 0x83, 0xf2, 0xee, + 0xee, 0x6e, 0xee, 0x8f, 0xa1, 0xd9, 0x85, 0xc1, 0x35, 0x86, 0xbc, 0x06, + 0xd0, 0x05, 0x25, 0x65, 0xe1, 0x86, 0xea, 0x3e, 0xff, 0x64, 0x00, 0x6f, + 0x37, 0xc2, 0x3b, 0xd0, 0x31, 0xed, 0xcc, 0x18, 0x23, 0x93, 0x8b, 0xa4, + 0x73, 0xf8, 0x61, 0xdd, 0xe4, 0x25, 0xf1, 0x3a, 0xfe, 0xfc, 0x5a, 0x24, + 0xb6, 0xc2, 0x61, 0x82, 0x62, 0xbe, 0xf4, 0x63, 0xff, 0x10, 0xe9, 0xf7, + 0x9e, 0xe7, 0x74, 0xf6, 0x46, 0x68, 0x01, 0x50, 0xf3, 0x6d, 0xb9, 0xf1, + 0xea, 0x84, 0x3c, 0xbf, 0xa5, 0x4a, 0x1e, 0xdb, 0xb2, 0x57, 0x33, 0x8a, + 0x0c, 0xff, 0xb9, 0x73, 0xa2, 0xd3, 0x46, 0x22, 0x9a, 0x3e, 0x36, 0x8f, + 0x53, 0x03, 0x98, 0xf6, 0xa0, 0x7f, 0xff, 0xa3, 0x9f, 0xff, 0x4a, 0x7e, + 0x7f, 0xcf, 0x77, 0xe5, 0x4f, 0xdf, 0xc6, 0x05, 0xa4, 0x41, 0x78, 0x3f, + 0xe7, 0xdd, 0x97, 0xdf, 0x89, 0x4b, 0xe7, 0xcb, 0x06, 0xe8, 0x9e, 0xf5, + 0x20, 0xfe, 0xaf, 0x1c, 0xc9, 0xe7, 0x35, 0xe5, 0xec, 0x81, 0xa2, 0x6a, + 0x3a, 0xa6, 0xc3, 0xce, 0xd8, 0x32, 0x6d, 0xc9, 0x1e, 0x7f, 0x78, 0xdd, + 0x7d, 0x9f, 0xd8, 0xbb, 0xfa, 0xd5, 0xc9, 0xc9, 0x9a, 0x15, 0xbf, 0x0b, + 0xd6, 0xd7, 0xf3, 0x5e, 0x65, 0xec, 0x06, 0xd4, 0x8e, 0x09, 0x0a, 0x2f, + 0x9d, 0x1a, 0xbc, 0x67, 0x6c, 0xdb, 0xb6, 0x6d, 0x30, 0x0c, 0xd9, 0x43, + 0x34, 0x00, 0x2e, 0xa8, 0xe1, 0xa6, 0x67, 0x75, 0x5f, 0x1f, 0x56, 0x7a, + 0xb8, 0xaf, 0x26, 0xa3, 0x3b, 0xdb, 0x70, 0x35, 0xc0, 0x76, 0xbf, 0xda, + 0xfd, 0x8c, 0x48, 0xc7, 0x83, 0x0e, 0x96, 0xf2, 0x56, 0x2c, 0xba, 0x89, + 0x52, 0xa2, 0x7f, 0x64, 0x0b, 0x46, 0xfe, 0x7d, 0x48, 0x59, 0xb6, 0x03, + 0xd7, 0x1c, 0x81, 0x41, 0x9e, 0x2b, 0x91, 0x9a, 0x56, 0xf9, 0xce, 0xdf, + 0x85, 0xa5, 0x26, 0x1e, 0x95, 0x43, 0x87, 0x9b, 0x75, 0xb3, 0x56, 0xee, + 0x8a, 0xfb, 0x91, 0x8f, 0x7c, 0x24, 0x9f, 0x63, 0x3f, 0x66, 0xa9, 0x77, + 0xbb, 0xde, 0x98, 0xb9, 0xfc, 0xf7, 0x87, 0x1f, 0x92, 0xeb, 0x3e, 0xfd, + 0x49, 0x38, 0xed, 0x2c, 0xce, 0xfb, 0x9d, 0x6b, 0xc8, 0x42, 0xda, 0xb9, + 0x43, 0x8d, 0xce, 0x29, 0xa1, 0xde, 0x9a, 0x24, 0x77, 0x8a, 0x34, 0x3f, + 0xe4, 0x0a, 0xcb, 0x30, 0x92, 0x5f, 0xb0, 0x7b, 0x90, 0xee, 0xf3, 0x08, + 0xe6, 0x4c, 0x3c, 0xef, 0xa0, 0x31, 0x6f, 0xc9, 0x13, 0x0b, 0x27, 0x64, + 0xee, 0xb8, 0xcb, 0x78, 0xf5, 0x97, 0x17, 0x83, 0xf8, 0x41, 0xef, 0xe6, + 0x10, 0x14, 0x5e, 0x18, 0x64, 0x2d, 0xdc, 0x73, 0x43, 0x72, 0x57, 0xd0, + 0xdf, 0xb9, 0x1e, 0x00, 0xc9, 0x57, 0x63, 0xec, 0x66, 0xfa, 0xbc, 0x4d, + 0x96, 0x4c, 0x4b, 0x62, 0x2e, 0x04, 0x89, 0xb6, 0x79, 0x18, 0x14, 0x85, + 0x9e, 0x57, 0x31, 0xe9, 0x03, 0x22, 0xf1, 0x8b, 0x20, 0x31, 0x15, 0xce, + 0xc5, 0x14, 0xda, 0x03, 0x4f, 0xfa, 0xa5, 0x50, 0x0b, 0x38, 0x12, 0x62, + 0x86, 0x26, 0x41, 0xeb, 0xdf, 0x92, 0xd3, 0xce, 0x3c, 0x20, 0xff, 0x74, + 0xe5, 0x04, 0x79, 0xbc, 0x7b, 0x81, 0x5c, 0x7c, 0xe1, 0xf9, 0xb2, 0xea, + 0xca, 0xab, 0xf2, 0x2b, 0x59, 0x8e, 0x35, 0x3a, 0xe6, 0x72, 0x25, 0x2d, + 0xba, 0x47, 0xa3, 0x72, 0xff, 0xfd, 0xf7, 0xcb, 0x4d, 0x37, 0x7e, 0x5e, + 0xdf, 0x9f, 0x56, 0x8b, 0x4b, 0x8e, 0xb0, 0x75, 0x31, 0x2c, 0x06, 0x19, + 0x60, 0x64, 0x1d, 0x98, 0x71, 0x38, 0x22, 0xd2, 0xf6, 0x24, 0x57, 0x85, + 0x83, 0x32, 0xa6, 0x3b, 0xef, 0x61, 0x32, 0x22, 0x05, 0xfd, 0xe1, 0x34, + 0x09, 0x00, 0x00, 0x23, 0x5a, 0x9d, 0xb4, 0x67, 0x5c, 0xb2, 0x2b, 0x20, + 0x7f, 0x7a, 0xe6, 0x73, 0x4d, 0xbe, 0x4f, 0xfe, 0xc1, 0xdd, 0x8e, 0x47, + 0x93, 0x75, 0x74, 0x6a, 0x08, 0xed, 0xd0, 0x70, 0xe3, 0xa8, 0x2b, 0x62, + 0x84, 0x21, 0x7a, 0x4c, 0x6e, 0xb6, 0x4f, 0x4f, 0x92, 0xc5, 0xcc, 0x69, + 0x84, 0x9d, 0xd5, 0xb2, 0xae, 0x38, 0x50, 0x13, 0x52, 0x60, 0x40, 0xea, + 0xdf, 0xe0, 0xdd, 0x9c, 0x85, 0xa8, 0x6c, 0x86, 0x03, 0x33, 0xd4, 0x08, + 0x95, 0x9e, 0x61, 0x98, 0xa1, 0x8f, 0x39, 0xc5, 0x5a, 0x23, 0x38, 0x1d, + 0xcf, 0x5f, 0x95, 0x2b, 0x2e, 0x38, 0x20, 0x2b, 0x26, 0x5f, 0x25, 0x63, + 0xe6, 0xaf, 0x90, 0x6c, 0x26, 0x9d, 0x2f, 0xd8, 0x1c, 0x4b, 0x2e, 0x8e, + 0x85, 0x14, 0x16, 0x46, 0xf8, 0x7d, 0x6e, 0x7d, 0x7c, 0xf7, 0xdd, 0x77, + 0x3b, 0x11, 0x36, 0x7e, 0x76, 0xf6, 0x38, 0x5a, 0xe2, 0x08, 0xa6, 0x80, + 0xdf, 0xce, 0x76, 0xe7, 0xb7, 0x40, 0x13, 0x06, 0xfd, 0xe9, 0xfd, 0xb0, + 0x6d, 0x3b, 0x25, 0xef, 0xf0, 0x0f, 0xbe, 0xcf, 0xea, 0xe0, 0xad, 0x9b, + 0xdc, 0x61, 0x72, 0x0b, 0xb5, 0xa4, 0x61, 0xd8, 0x51, 0xd8, 0xf5, 0x68, + 0xd6, 0x28, 0xb8, 0x47, 0x82, 0x22, 0x89, 0x57, 0x23, 0x38, 0xea, 0x8a, + 0x18, 0x35, 0x20, 0x56, 0xd0, 0xae, 0xe1, 0xdd, 0xc9, 0x22, 0x90, 0xd9, + 0x5f, 0x11, 0x84, 0xf4, 0x50, 0x50, 0x8c, 0x7c, 0x07, 0xbc, 0xe5, 0x48, + 0x90, 0x85, 0xf7, 0x3b, 0x57, 0xe3, 0x8c, 0x6f, 0x41, 0xc2, 0xe6, 0x81, + 0xb6, 0x25, 0x0e, 0x13, 0xac, 0x6c, 0x3f, 0x23, 0xac, 0xc1, 0xcc, 0xc8, + 0x01, 0x8a, 0xe2, 0xe0, 0x57, 0xb9, 0x94, 0x56, 0xb7, 0xc9, 0xe6, 0xd5, + 0x5f, 0x90, 0x6c, 0xe5, 0x2c, 0xa9, 0x6d, 0x98, 0x22, 0x19, 0x7a, 0x3f, + 0xef, 0x82, 0x01, 0xda, 0x8e, 0xe8, 0x6e, 0x6d, 0xcf, 0x0c, 0x26, 0x4b, + 0x8a, 0xdc, 0xc0, 0xfb, 0xc9, 0x27, 0x9f, 0x54, 0x63, 0xce, 0x3e, 0xd1, + 0x88, 0x3f, 0x24, 0x33, 0xc7, 0xd3, 0xc3, 0x29, 0x71, 0xe6, 0x4b, 0xe8, + 0x34, 0x5d, 0x6a, 0xfa, 0x31, 0x9f, 0xbe, 0xdd, 0x8e, 0x60, 0x69, 0xd7, + 0x98, 0x3d, 0x72, 0x97, 0xa7, 0x3d, 0xd0, 0x7d, 0xd1, 0x8d, 0xa4, 0x10, + 0x67, 0xa6, 0xda, 0x83, 0x66, 0xcb, 0x9e, 0xba, 0x46, 0x73, 0x9c, 0xc9, + 0x9d, 0xe0, 0x6d, 0x56, 0xd9, 0xb8, 0x1f, 0x2a, 0x68, 0x69, 0xb3, 0xf1, + 0xf7, 0x98, 0x3b, 0xe3, 0xc8, 0x80, 0xbe, 0x96, 0x44, 0xa0, 0x38, 0xd4, + 0xd8, 0x10, 0x2d, 0xc1, 0xa4, 0x93, 0xdc, 0x2f, 0x40, 0xfa, 0xd7, 0x8d, + 0x67, 0x6d, 0x37, 0xbc, 0xc7, 0x44, 0x92, 0xf0, 0xaf, 0xdb, 0x9f, 0x82, + 0x7d, 0x00, 0x34, 0x65, 0x68, 0x13, 0xd2, 0x0e, 0xbe, 0x66, 0x06, 0xd9, + 0x84, 0x4c, 0xff, 0x7b, 0x86, 0xaf, 0x52, 0xbf, 0x3b, 0xad, 0x61, 0xb7, + 0x6c, 0xfa, 0xcd, 0x17, 0xe5, 0x50, 0x6b, 0xb7, 0x04, 0x20, 0xc1, 0xf9, + 0xf6, 0x74, 0x7b, 0x68, 0xa9, 0xc6, 0x6b, 0xc0, 0xcd, 0x0b, 0x07, 0x88, + 0xec, 0xac, 0x09, 0xb0, 0xe5, 0xc7, 0x3f, 0xfe, 0xb1, 0xda, 0x11, 0x12, + 0x9f, 0x5e, 0x74, 0xce, 0x2d, 0x3b, 0x4e, 0x28, 0x0f, 0x49, 0xfd, 0x58, + 0x76, 0x32, 0xc4, 0xe0, 0x69, 0xf6, 0x39, 0x5e, 0x50, 0xd6, 0x7b, 0x04, + 0x74, 0xa6, 0x9a, 0xfa, 0x97, 0x57, 0x1c, 0xc5, 0xb0, 0x73, 0x86, 0xca, + 0x97, 0x84, 0x20, 0x8e, 0x50, 0xd8, 0x9d, 0xeb, 0x6a, 0x93, 0x5d, 0xf1, + 0x15, 0x3f, 0xcf, 0x3a, 0x2b, 0xd4, 0xb3, 0x44, 0x6f, 0xfc, 0x3e, 0x6f, + 0xb7, 0x6b, 0xb3, 0x58, 0x05, 0x07, 0xc7, 0x3e, 0x2a, 0x0d, 0x00, 0x6e, + 0xda, 0xf4, 0x48, 0xa0, 0xc6, 0xbc, 0xf5, 0x93, 0xde, 0xb3, 0x57, 0x76, + 0x3c, 0x3b, 0xbd, 0x72, 0xd2, 0xc1, 0x52, 0xbb, 0x70, 0x2f, 0xc1, 0x21, + 0x86, 0xc9, 0x65, 0x02, 0x1f, 0x13, 0xdb, 0xa1, 0x4a, 0x50, 0xe9, 0xe0, + 0x04, 0xae, 0xa1, 0x71, 0xde, 0x53, 0xa9, 0xb3, 0x87, 0x42, 0x11, 0x4e, + 0x6a, 0x67, 0xa3, 0x12, 0x2c, 0x4e, 0xc8, 0x94, 0xd8, 0x33, 0xf2, 0x7f, + 0xbe, 0xfa, 0x59, 0xb9, 0xf9, 0xde, 0x07, 0xa4, 0xb2, 0xb4, 0x58, 0x8e, + 0xb4, 0x82, 0xc7, 0xfb, 0x9c, 0x12, 0xff, 0xd0, 0x43, 0x0f, 0x29, 0xf1, + 0x59, 0x44, 0x21, 0xfc, 0x50, 0x1b, 0xd4, 0x90, 0xbb, 0xc9, 0xb5, 0xe9, + 0x63, 0x83, 0x38, 0x27, 0x88, 0xcd, 0xdd, 0xc9, 0x74, 0x0b, 0xae, 0x8c, + 0x23, 0xed, 0x04, 0x72, 0x3b, 0xed, 0x30, 0x61, 0x38, 0xd8, 0x91, 0x81, + 0xd7, 0xa9, 0x7b, 0x3c, 0xfa, 0xf0, 0x2a, 0xa8, 0x66, 0xc3, 0xe8, 0xda, + 0x19, 0x31, 0xf7, 0x6c, 0x19, 0xdb, 0xd7, 0x6c, 0x5d, 0xf1, 0x7d, 0xdf, + 0xa9, 0x67, 0x37, 0x62, 0x4e, 0xbc, 0x4f, 0x99, 0x6e, 0x71, 0xc0, 0x9c, + 0x10, 0xbc, 0x20, 0x4d, 0x4b, 0x6c, 0xda, 0xb4, 0x49, 0x3e, 0xf7, 0xb9, + 0xcf, 0xd9, 0x47, 0x64, 0x00, 0x5d, 0x41, 0xa8, 0x0d, 0xd5, 0x88, 0xbb, + 0xd9, 0xaa, 0x8c, 0xc7, 0x33, 0xeb, 0xcf, 0x2c, 0x1d, 0x93, 0x10, 0xde, + 0x75, 0xcb, 0xb4, 0x46, 0xf6, 0x0c, 0xf2, 0x5e, 0x03, 0xd5, 0x32, 0x87, + 0x7f, 0x4e, 0x6f, 0x63, 0xe8, 0x88, 0x50, 0xae, 0xda, 0xd9, 0xea, 0x50, + 0xed, 0x43, 0xae, 0x9f, 0x09, 0xca, 0x08, 0x06, 0x38, 0xd0, 0x61, 0x44, + 0xc3, 0x0d, 0xa7, 0x18, 0x52, 0xfb, 0xd2, 0xd3, 0x32, 0x6d, 0xca, 0x74, + 0xf9, 0xcc, 0xa7, 0xaf, 0x96, 0x73, 0xce, 0x39, 0x57, 0x26, 0x4d, 0x9a, + 0xa4, 0x65, 0x3e, 0xe2, 0x3a, 0xbb, 0x17, 0x18, 0x2b, 0xb0, 0x96, 0xdb, + 0xd4, 0xd4, 0xa4, 0xb7, 0x38, 0xe1, 0x46, 0xdf, 0x6b, 0xd6, 0xac, 0xc9, + 0xd7, 0x77, 0xbd, 0xa6, 0xaf, 0xfe, 0xfd, 0x26, 0x9c, 0x6b, 0x3e, 0x6d, + 0xbc, 0x1f, 0x53, 0x61, 0x86, 0xd3, 0x27, 0x26, 0xb5, 0x90, 0x38, 0xaa, + 0x02, 0xe5, 0xda, 0x00, 0xdb, 0xec, 0xbf, 0x96, 0x61, 0x1a, 0xcd, 0xd5, + 0x7d, 0x0f, 0x18, 0xbc, 0xf7, 0x86, 0x61, 0xf5, 0xfa, 0x8c, 0xd6, 0xed, + 0xc5, 0xd2, 0x7c, 0xa0, 0xba, 0xb3, 0xa5, 0xfb, 0xf4, 0x35, 0xa9, 0x09, + 0x2b, 0x1f, 0x0b, 0xd5, 0x56, 0xed, 0xcd, 0xb0, 0x9c, 0xe6, 0xf7, 0xf3, + 0x4e, 0x75, 0x29, 0xcc, 0x37, 0x03, 0x38, 0xe4, 0x5d, 0xbc, 0x15, 0x92, + 0xa6, 0x4d, 0x9b, 0xc6, 0xc4, 0x9c, 0xb8, 0xae, 0xa8, 0x3d, 0x2c, 0x03, + 0xc8, 0x29, 0xaa, 0x0c, 0xbf, 0xe0, 0x11, 0x1f, 0x17, 0x93, 0x29, 0x2b, + 0xd9, 0x3d, 0x3d, 0x54, 0x94, 0x46, 0x2c, 0x65, 0xb8, 0x4e, 0x83, 0xed, + 0xf6, 0x6b, 0x0f, 0x66, 0x40, 0x21, 0x23, 0x5c, 0x3f, 0x3a, 0x03, 0xc2, + 0xa4, 0x77, 0x3a, 0x8c, 0xf0, 0x15, 0xbb, 0x69, 0xea, 0x9c, 0xcb, 0x0c, + 0x3b, 0xaf, 0x0d, 0x06, 0xdf, 0x07, 0x6e, 0x5e, 0xf3, 0xe1, 0x52, 0xf9, + 0xe9, 0x9a, 0x5e, 0xdd, 0xba, 0xe6, 0x5f, 0xee, 0xbd, 0x57, 0x31, 0x96, + 0xc4, 0xf7, 0xee, 0x35, 0x40, 0xc2, 0x7a, 0x2b, 0xea, 0x07, 0x48, 0x93, + 0x1b, 0xb8, 0x0d, 0xde, 0xe8, 0xc3, 0x81, 0x73, 0x53, 0xe6, 0x4c, 0x74, + 0xbb, 0x39, 0xd5, 0x43, 0xea, 0xe9, 0x5f, 0xe3, 0xe3, 0x19, 0x61, 0x23, + 0xec, 0x5c, 0x87, 0x39, 0x54, 0x03, 0x6c, 0x4b, 0x71, 0xde, 0xce, 0x80, + 0xf0, 0x07, 0xb6, 0x97, 0x4b, 0x73, 0xcb, 0xb4, 0x3d, 0x9d, 0xfe, 0x73, + 0x56, 0xdb, 0x53, 0x3e, 0xb4, 0xde, 0x1f, 0x0b, 0xb6, 0x04, 0xb2, 0xd9, + 0x6e, 0x03, 0x51, 0x98, 0x2f, 0x14, 0xea, 0x66, 0x65, 0x12, 0xc8, 0xc1, + 0x5b, 0xa9, 0xeb, 0x06, 0x1f, 0x08, 0x6c, 0x2d, 0xc0, 0x8f, 0xb5, 0x63, + 0xc7, 0x0e, 0x7b, 0x70, 0xbf, 0x69, 0xbe, 0x0c, 0xc9, 0xf1, 0xda, 0x6b, + 0xaf, 0xb1, 0x06, 0xcc, 0x9d, 0x0c, 0x99, 0x5a, 0xe5, 0x2d, 0x05, 0x19, + 0xd5, 0x71, 0xeb, 0x96, 0xd2, 0xba, 0xad, 0x37, 0xfd, 0xe7, 0xcc, 0xf9, + 0x3b, 0x63, 0xbe, 0xb0, 0xe5, 0x5c, 0x90, 0x65, 0xd8, 0x46, 0xce, 0x51, + 0x41, 0x8f, 0xe0, 0xc6, 0x88, 0x8d, 0x51, 0x2e, 0x23, 0x3c, 0x3b, 0x61, + 0xba, 0x2b, 0x3c, 0x0b, 0x88, 0xef, 0x68, 0x43, 0xce, 0x2d, 0xcc, 0x84, + 0xe5, 0xf6, 0x1f, 0x97, 0xcb, 0x77, 0xfe, 0xd4, 0x24, 0xc1, 0x80, 0x29, + 0xd9, 0x9c, 0x26, 0x12, 0xa5, 0xb0, 0xe3, 0xda, 0xab, 0x56, 0x79, 0x6d, + 0x86, 0x05, 0x7d, 0x3b, 0x76, 0xc1, 0x3d, 0xc5, 0xbc, 0x20, 0x58, 0x22, + 0x81, 0xa0, 0xbc, 0xf0, 0x0f, 0xa5, 0xf2, 0x81, 0x33, 0x13, 0x62, 0x85, + 0xa6, 0xe2, 0x7b, 0xd6, 0x20, 0x06, 0x80, 0x33, 0xb9, 0x2e, 0xd8, 0xb0, + 0x1d, 0x03, 0xef, 0xad, 0xa1, 0x59, 0x08, 0xdd, 0xa7, 0xce, 0xee, 0xd8, + 0x1f, 0x37, 0xb6, 0xbd, 0x79, 0xda, 0xc1, 0xb6, 0xd2, 0x2b, 0xff, 0x14, + 0x9a, 0x3a, 0x7b, 0x2b, 0xfc, 0x9e, 0x6e, 0xdb, 0xb6, 0xba, 0x73, 0xe9, + 0x74, 0xc2, 0xef, 0x0b, 0x76, 0x42, 0x02, 0x7a, 0xf0, 0x83, 0x09, 0x08, + 0x00, 0xef, 0xe4, 0x9d, 0x84, 0x46, 0xa6, 0x01, 0xe7, 0xdc, 0x81, 0x2b, + 0x0b, 0x72, 0xe6, 0x16, 0x2d, 0x5a, 0x64, 0x15, 0xcc, 0xcf, 0x1e, 0x50, + 0x92, 0xa4, 0x5a, 0xd4, 0xd6, 0xd6, 0x72, 0x3f, 0x05, 0x9b, 0x99, 0x3c, + 0x7c, 0x59, 0xef, 0x3a, 0x0a, 0x66, 0xe8, 0xfd, 0xd9, 0x0f, 0x59, 0x8b, + 0xef, 0x4d, 0xbd, 0xf8, 0xea, 0x27, 0x8a, 0x4a, 0x5a, 0xc7, 0x15, 0x15, + 0xf5, 0x44, 0x62, 0x45, 0x29, 0x23, 0x12, 0x4f, 0x6a, 0x6a, 0x56, 0xed, + 0x82, 0x6d, 0xda, 0x36, 0x8d, 0x71, 0xce, 0x56, 0x15, 0x51, 0xae, 0xe4, + 0xb5, 0xc3, 0x1e, 0xa8, 0x19, 0x0c, 0xa7, 0xed, 0x94, 0xeb, 0x3d, 0x0d, + 0x82, 0x33, 0x32, 0x35, 0x94, 0x96, 0x99, 0xe3, 0x1c, 0x11, 0xd4, 0xfd, + 0xe3, 0x6c, 0x31, 0x64, 0xd0, 0xad, 0x6c, 0x0b, 0x0b, 0x26, 0xee, 0x0a, + 0xcc, 0xbc, 0x20, 0x0d, 0xd7, 0x4e, 0x18, 0x09, 0xf8, 0xed, 0x58, 0xc8, + 0xdd, 0x6c, 0x28, 0xd3, 0xc7, 0xa5, 0x85, 0xfd, 0xdb, 0x21, 0x3b, 0x25, + 0x75, 0x67, 0x8b, 0x64, 0x4f, 0x9b, 0x5d, 0x5b, 0x67, 0xfb, 0x1c, 0x1b, + 0x71, 0x60, 0x73, 0x95, 0xb1, 0xed, 0xd0, 0x87, 0x5e, 0x4b, 0x9d, 0xf6, + 0x77, 0x7f, 0x08, 0x04, 0xcd, 0x8e, 0x5c, 0x2e, 0xd9, 0x83, 0x6b, 0x85, + 0x7f, 0xe9, 0xeb, 0xf2, 0x05, 0x23, 0xdd, 0x98, 0x67, 0x2f, 0xa2, 0xae, + 0x3e, 0x6f, 0xef, 0x51, 0x68, 0xac, 0xae, 0x9a, 0x3c, 0x70, 0xe0, 0x40, + 0x8e, 0x76, 0xa0, 0xac, 0xac, 0x6c, 0x08, 0xfc, 0x0c, 0x81, 0x20, 0x97, + 0xf8, 0xbc, 0x91, 0x26, 0x0d, 0x47, 0x36, 0x43, 0x0b, 0x0c, 0x83, 0x82, + 0x93, 0xf6, 0xca, 0xa9, 0x2b, 0x9f, 0x6d, 0xb1, 0x2f, 0x5f, 0xbf, 0xef, + 0x40, 0x5b, 0x4d, 0xa0, 0xf9, 0x8d, 0xe9, 0xd1, 0x83, 0x6f, 0xcf, 0x8c, + 0xd8, 0x7b, 0xa7, 0x16, 0x85, 0x0e, 0x8c, 0x2b, 0x89, 0x77, 0xc6, 0xe2, + 0xc5, 0x7d, 0x46, 0x0c, 0x0c, 0xe1, 0xb6, 0x92, 0x96, 0xf6, 0x9b, 0x68, + 0xcd, 0x40, 0xbd, 0xa5, 0x01, 0xcc, 0x18, 0x62, 0xb4, 0x87, 0xbe, 0x6f, + 0x67, 0x7c, 0xd2, 0xd4, 0x61, 0xa8, 0xba, 0x94, 0x96, 0x96, 0xb4, 0x56, + 0x56, 0x8e, 0xd9, 0x03, 0x9b, 0xd4, 0x0a, 0x61, 0xe8, 0x02, 0xcc, 0x24, + 0xdc, 0xfb, 0xc5, 0xa7, 0x31, 0xb7, 0x1c, 0xa7, 0x48, 0xb8, 0x64, 0xd0, + 0x03, 0xc7, 0x81, 0xf7, 0x9f, 0x2f, 0xc1, 0x05, 0x97, 0x63, 0x54, 0x61, + 0x8c, 0x01, 0x12, 0x94, 0x66, 0x32, 0xd9, 0x70, 0x32, 0x93, 0x35, 0x12, + 0x29, 0xc3, 0x71, 0x8b, 0x69, 0x6c, 0x4d, 0x6b, 0xe0, 0x8a, 0x2e, 0x2e, + 0x85, 0xb5, 0x7b, 0xf3, 0xf8, 0xaf, 0x19, 0x93, 0xa0, 0x81, 0x1f, 0x30, + 0x8d, 0x6d, 0xaf, 0x8f, 0xcb, 0xed, 0xb5, 0x56, 0x3d, 0x6a, 0xcf, 0xbb, + 0xe0, 0x45, 0x9f, 0x9d, 0xea, 0xc9, 0xa6, 0xcc, 0x2e, 0x04, 0x46, 0x5d, + 0xa6, 0xcf, 0xec, 0x01, 0xf7, 0x7b, 0x49, 0x74, 0x4a, 0x3c, 0xe6, 0x94, + 0xc4, 0x5c, 0x08, 0x3d, 0xba, 0xcf, 0x10, 0x98, 0x90, 0x3b, 0xf5, 0xd4, + 0x53, 0x73, 0x40, 0x15, 0x6b, 0xcb, 0x96, 0x2d, 0xb6, 0x5b, 0xa0, 0x1f, + 0xea, 0x05, 0xb9, 0xcd, 0x45, 0x9a, 0xad, 0x23, 0x56, 0x81, 0x01, 0x39, + 0x18, 0xe2, 0x1c, 0xa2, 0x51, 0x66, 0xf6, 0xd8, 0x7e, 0x68, 0xfa, 0x75, + 0x9f, 0x7d, 0x53, 0x42, 0x35, 0x65, 0x59, 0xa9, 0x59, 0xd0, 0x96, 0x94, + 0x05, 0x1b, 0xfa, 0x6c, 0x3b, 0x7a, 0xb8, 0x27, 0x5d, 0xe2, 0x6b, 0xd9, + 0x36, 0x31, 0xba, 0x7b, 0xcb, 0xf4, 0x88, 0xf5, 0xf6, 0xd4, 0xb2, 0xd0, + 0xfe, 0x9a, 0xe2, 0xa2, 0xce, 0x60, 0x71, 0x51, 0xaf, 0x11, 0x89, 0xa5, + 0x98, 0x4f, 0x81, 0x66, 0x18, 0x0a, 0x55, 0x23, 0x33, 0xc2, 0x8d, 0xe9, + 0x2c, 0x47, 0x73, 0x32, 0x3d, 0xc5, 0xf6, 0x63, 0xaf, 0xf7, 0x32, 0x2f, + 0xb5, 0x69, 0xd9, 0xb2, 0x65, 0x7f, 0x06, 0x61, 0x7b, 0x71, 0x51, 0x7a, + 0x0b, 0x72, 0x3c, 0xcf, 0x64, 0x9d, 0xc3, 0xa2, 0x64, 0x15, 0xb4, 0x9b, + 0xb3, 0x2d, 0x84, 0x85, 0x24, 0x2d, 0x92, 0xe3, 0x31, 0x08, 0xb5, 0x67, + 0x17, 0x07, 0x6f, 0x12, 0x5d, 0xd7, 0xdc, 0xdc, 0x3a, 0xb5, 0xad, 0x37, + 0x71, 0x8a, 0xa4, 0x5b, 0x10, 0xa1, 0x75, 0xb3, 0xd2, 0x31, 0x00, 0x66, + 0x1c, 0x6d, 0xec, 0x75, 0x4b, 0x19, 0x98, 0x45, 0x10, 0xfe, 0x46, 0x57, + 0xd0, 0xd8, 0xda, 0x38, 0xbd, 0xf3, 0x60, 0xf9, 0xdf, 0xfe, 0xca, 0x37, + 0x61, 0xe6, 0x1b, 0x76, 0x26, 0x95, 0x40, 0x68, 0xda, 0x01, 0x48, 0xea, + 0x06, 0xc7, 0x99, 0x53, 0xed, 0x25, 0x3a, 0x38, 0xa9, 0x39, 0x49, 0x75, + 0x76, 0x76, 0xd2, 0xe8, 0x6a, 0x45, 0x0c, 0x73, 0xca, 0x6d, 0xdb, 0xb6, + 0x8d, 0x92, 0x3f, 0x98, 0xf8, 0xf6, 0x70, 0x6d, 0x29, 0x03, 0x5a, 0x52, + 0x58, 0x0f, 0x66, 0xfb, 0x21, 0xf7, 0xfc, 0x61, 0x31, 0x86, 0x3b, 0x5e, + 0xb1, 0xf9, 0x4a, 0x37, 0x5e, 0x82, 0x97, 0x8a, 0xb3, 0x47, 0x4d, 0x9f, + 0x1d, 0x09, 0xc2, 0x59, 0x4f, 0xe5, 0x78, 0x93, 0x0b, 0x9f, 0x76, 0x4d, + 0x28, 0x78, 0xb4, 0x75, 0x94, 0xfb, 0x5b, 0x36, 0x37, 0x44, 0x7b, 0x37, + 0xcd, 0x2a, 0xf7, 0x6d, 0x9b, 0x52, 0x55, 0x72, 0xb8, 0xb8, 0xb2, 0xbc, + 0x4b, 0x7c, 0x21, 0xb6, 0xcb, 0x19, 0xaa, 0x15, 0x5a, 0x4f, 0x28, 0xb4, + 0x19, 0xea, 0x08, 0x19, 0xda, 0x4d, 0x67, 0x86, 0xfc, 0xf6, 0x43, 0x4f, + 0x55, 0x1b, 0xdf, 0x5d, 0x5b, 0xbe, 0xf6, 0x92, 0x65, 0x17, 0x3f, 0xd6, + 0xdb, 0xd3, 0xd3, 0xdb, 0xde, 0xd9, 0x99, 0xc4, 0x9c, 0x52, 0x20, 0x24, + 0xb5, 0x11, 0x31, 0x1a, 0xe5, 0x22, 0x4b, 0xd5, 0xf6, 0xa4, 0x5f, 0xdb, + 0xc4, 0xdd, 0xd5, 0x9a, 0x3e, 0x2d, 0xe1, 0x81, 0x01, 0x9c, 0x3f, 0x46, + 0xb8, 0xb2, 0xbc, 0x38, 0x1e, 0x8d, 0x97, 0xc6, 0x2f, 0x8a, 0xbd, 0xfe, + 0xd1, 0xc5, 0xd3, 0x5f, 0x9e, 0x19, 0x8a, 0x58, 0xb6, 0x61, 0x06, 0x0c, + 0xc3, 0xdd, 0x87, 0xda, 0x19, 0x8e, 0x2b, 0xaa, 0x54, 0x08, 0xc3, 0xc9, + 0xe9, 0x0a, 0x9a, 0x1b, 0xdf, 0x98, 0xb7, 0xff, 0x50, 0xfd, 0x4d, 0x0f, + 0x04, 0xca, 0x4a, 0x0e, 0xda, 0xd9, 0x74, 0xc2, 0xf0, 0x07, 0x3b, 0xb8, + 0x60, 0x1b, 0xb4, 0x4a, 0x50, 0xea, 0xa1, 0x8d, 0x49, 0x22, 0x04, 0xae, + 0x5f, 0xa5, 0xbe, 0xb4, 0xb4, 0x34, 0xdb, 0xdc, 0xdc, 0x4c, 0xc1, 0xb5, + 0xf6, 0xee, 0xdd, 0x7b, 0x44, 0xe2, 0x17, 0xda, 0x00, 0x0d, 0xb0, 0x89, + 0x4f, 0xb3, 0x67, 0xcf, 0xb6, 0xdb, 0xdb, 0xdb, 0x2d, 0xaa, 0x0f, 0x33, + 0x78, 0x74, 0xfb, 0x6c, 0xe7, 0xb0, 0xf0, 0x3a, 0x9b, 0x33, 0x4d, 0xda, + 0x85, 0x3e, 0x06, 0xf4, 0xbd, 0xe9, 0x5c, 0x08, 0x27, 0x08, 0x01, 0xab, + 0xc2, 0x70, 0xe9, 0x42, 0x7e, 0x98, 0x6f, 0xb3, 0x38, 0xde, 0x61, 0x15, + 0x9f, 0xbd, 0xbf, 0xdb, 0x9e, 0xbf, 0xbe, 0x23, 0x95, 0x8b, 0xef, 0xd9, + 0xf7, 0xf2, 0xec, 0x8a, 0xe6, 0x17, 0xce, 0x1d, 0x57, 0xfc, 0xf6, 0xc4, + 0xaa, 0xb2, 0x0e, 0x23, 0x12, 0x49, 0xbb, 0x3d, 0x3b, 0x05, 0x50, 0xad, + 0xde, 0x1f, 0x64, 0x0b, 0x8c, 0xd8, 0xfa, 0xe6, 0x18, 0xe3, 0xaf, 0x5d, + 0x33, 0x1e, 0xbf, 0xec, 0xf2, 0x73, 0x1e, 0xef, 0xed, 0xe9, 0x4c, 0xc2, + 0x82, 0xd1, 0xb0, 0xe9, 0x6d, 0x67, 0x71, 0xd1, 0x7a, 0xa1, 0xb4, 0x4f, + 0x74, 0x91, 0xc1, 0x10, 0xcb, 0xf3, 0x84, 0xb8, 0x5a, 0x87, 0xe9, 0x73, + 0xae, 0x16, 0x21, 0x23, 0x58, 0xcb, 0xa6, 0x60, 0xb0, 0x96, 0x0d, 0xe5, + 0x4d, 0x22, 0x48, 0xeb, 0xde, 0x6b, 0x35, 0xac, 0x6b, 0x6e, 0x7b, 0x73, + 0xe6, 0xf8, 0x09, 0xcd, 0xdc, 0xca, 0xcc, 0x56, 0x7b, 0xe5, 0x33, 0xfa, + 0xd3, 0x11, 0x70, 0x31, 0xe9, 0xdb, 0xf7, 0xb4, 0x84, 0xcd, 0x4d, 0xdb, + 0x4f, 0xd9, 0xd7, 0x34, 0xe9, 0xa6, 0x1f, 0x06, 0x4a, 0x8a, 0x0e, 0xd1, + 0xc8, 0x02, 0x72, 0x3a, 0x59, 0xc6, 0xc7, 0x6f, 0x2a, 0x04, 0xe2, 0x77, + 0x09, 0x39, 0x29, 0xce, 0x87, 0x02, 0x41, 0xc8, 0xde, 0xb5, 0x6b, 0x97, + 0x45, 0xc8, 0x41, 0xd4, 0xcb, 0x62, 0xbc, 0xfd, 0x4e, 0xc4, 0x1f, 0xb1, + 0x31, 0xab, 0xa0, 0x37, 0xc8, 0x44, 0xe0, 0xa0, 0x5d, 0x71, 0x50, 0x2d, + 0x6d, 0xbb, 0x60, 0x80, 0x07, 0xee, 0xea, 0xa3, 0x9b, 0xed, 0x0b, 0xba, + 0x1b, 0xb1, 0xea, 0x1a, 0x31, 0xbe, 0x06, 0x1e, 0x84, 0xc0, 0xa8, 0xb0, + 0x69, 0xda, 0x61, 0x43, 0x17, 0xef, 0x19, 0xaa, 0x41, 0xc6, 0xde, 0x2d, + 0x53, 0x4b, 0xbb, 0x5f, 0x5c, 0x58, 0xe1, 0xdb, 0x31, 0xad, 0x2c, 0xdc, + 0x56, 0x1c, 0x0d, 0xa7, 0x11, 0xbd, 0x66, 0x35, 0x8f, 0x92, 0x85, 0xca, + 0xa7, 0xd2, 0x21, 0x39, 0xd0, 0x51, 0xd5, 0xf9, 0xd7, 0xc4, 0xc2, 0x87, + 0x0f, 0x15, 0xcf, 0x78, 0xb9, 0xb7, 0xb7, 0x3b, 0x99, 0x48, 0x24, 0x7b, + 0x20, 0xf9, 0x50, 0x82, 0x9e, 0x64, 0x47, 0x47, 0x47, 0x0a, 0x17, 0x96, + 0xc1, 0xf3, 0x2c, 0x88, 0x40, 0xe1, 0xa0, 0x40, 0xa8, 0x0e, 0x31, 0xdf, + 0x42, 0x8f, 0xc7, 0xad, 0xe2, 0x31, 0xf3, 0xc8, 0x7b, 0xd6, 0x07, 0x2a, + 0x2a, 0x2a, 0x42, 0xe5, 0xe5, 0xe5, 0x61, 0xcc, 0x39, 0x5a, 0x55, 0x51, + 0x1a, 0x8b, 0xc4, 0x8a, 0xa3, 0x73, 0x7b, 0x9f, 0xbb, 0xe6, 0xd4, 0x8a, + 0x0d, 0x1f, 0xaa, 0xae, 0x68, 0xb7, 0x83, 0x41, 0x60, 0xa3, 0xbf, 0xdf, + 0xed, 0x4c, 0xa6, 0x82, 0xd2, 0xdc, 0x5a, 0x22, 0x3b, 0xda, 0xe7, 0xbe, + 0xd6, 0x3a, 0xf9, 0x6f, 0x7f, 0x61, 0xc6, 0x62, 0x2d, 0x50, 0xaf, 0x5e, + 0x9c, 0xb4, 0x0b, 0x48, 0xc0, 0x42, 0x41, 0x2f, 0x88, 0x4d, 0xbc, 0xd7, + 0x6d, 0x2d, 0xe1, 0xdf, 0x67, 0xf0, 0x3b, 0xf9, 0xbd, 0xe4, 0xaa, 0xaa, + 0xaa, 0x2c, 0xd6, 0x80, 0x3d, 0xc2, 0x17, 0x38, 0x0d, 0x47, 0x6e, 0xcc, + 0x72, 0xdd, 0x23, 0x75, 0x27, 0x5c, 0x4b, 0x4d, 0x8c, 0x25, 0xbe, 0x52, + 0x23, 0xc8, 0x51, 0x75, 0x3a, 0x71, 0xf1, 0x7e, 0x5d, 0xc5, 0x93, 0x4a, + 0x29, 0xd6, 0x52, 0xda, 0xb8, 0x55, 0x81, 0x7b, 0x53, 0x66, 0x87, 0x29, + 0xc1, 0xa0, 0x6e, 0x57, 0x26, 0x69, 0x6e, 0x59, 0x96, 0x8e, 0xb0, 0x57, + 0x23, 0x5b, 0x3b, 0xa3, 0xa3, 0x45, 0x66, 0x6c, 0x38, 0xd8, 0xd3, 0x1b, + 0xf7, 0x1d, 0xde, 0x32, 0xb9, 0x28, 0xb1, 0x77, 0x7c, 0x20, 0xdb, 0x59, + 0x6e, 0x1a, 0x69, 0x7f, 0x36, 0x17, 0xe8, 0xeb, 0x94, 0xca, 0xdd, 0xcd, + 0xb1, 0x53, 0xfe, 0x9a, 0x2b, 0x89, 0xb4, 0xf8, 0x93, 0x89, 0xb4, 0xdf, + 0x1f, 0xea, 0xf1, 0xf9, 0x32, 0x0c, 0x68, 0xfa, 0x18, 0xd4, 0xb8, 0xb7, + 0x1f, 0x67, 0x78, 0xaf, 0xd1, 0x25, 0x7e, 0x9f, 0x9d, 0xb1, 0xb6, 0x77, + 0xf7, 0x3c, 0xf7, 0x66, 0x10, 0xac, 0xe0, 0x69, 0x29, 0x15, 0xf3, 0xd1, + 0xb5, 0xcb, 0xdc, 0x3a, 0x07, 0x47, 0x1f, 0xfc, 0xfc, 0xbe, 0x60, 0xd0, + 0x17, 0xdb, 0x59, 0xb2, 0xf2, 0x47, 0x89, 0x96, 0x89, 0x5b, 0x6a, 0x3b, + 0x36, 0x5e, 0x58, 0x1a, 0x6c, 0x99, 0x10, 0x0d, 0xf7, 0x45, 0xd8, 0xb8, + 0x96, 0x48, 0x47, 0x93, 0x6d, 0xe9, 0xba, 0x6d, 0x2d, 0xd1, 0x73, 0x9e, + 0x94, 0x53, 0xce, 0xda, 0xe0, 0x97, 0x5c, 0x9f, 0x69, 0xe4, 0x12, 0x69, + 0x10, 0x1e, 0xbf, 0xa3, 0x84, 0xa7, 0xe4, 0x7b, 0xc4, 0xa7, 0xd4, 0x73, + 0x54, 0x57, 0x57, 0xe7, 0x08, 0x37, 0xf0, 0x76, 0x48, 0x37, 0xcb, 0xf5, + 0x74, 0xde, 0x51, 0xea, 0xdf, 0x29, 0x12, 0x1e, 0xc0, 0x04, 0x68, 0x82, + 0xc5, 0xb6, 0x0a, 0xaa, 0x13, 0xbb, 0xa3, 0x5d, 0x77, 0x8a, 0xd8, 0xab, + 0x2b, 0x63, 0xd8, 0x3f, 0x44, 0xff, 0x81, 0x17, 0xcc, 0x0e, 0x0a, 0x76, + 0x52, 0xb8, 0x7b, 0x46, 0xe8, 0x6e, 0x89, 0xac, 0x08, 0x41, 0xf8, 0x83, + 0x30, 0x9b, 0xd0, 0x0e, 0xdd, 0xc6, 0x26, 0x60, 0x46, 0x42, 0x6d, 0xf6, + 0xc4, 0xd3, 0xf7, 0x77, 0xda, 0xf3, 0xb4, 0x48, 0xc1, 0xdf, 0x52, 0x3c, + 0x01, 0x71, 0xf1, 0x46, 0x3a, 0x03, 0xca, 0xc2, 0xa6, 0x32, 0x94, 0x4f, + 0xba, 0x84, 0xe7, 0xf3, 0x34, 0x3d, 0x32, 0xe2, 0x3e, 0xf3, 0x2b, 0x84, + 0x1e, 0x2e, 0x81, 0x85, 0x66, 0xda, 0x05, 0xd2, 0xe4, 0xdd, 0x16, 0x51, + 0x8d, 0x31, 0x8b, 0x21, 0x64, 0x02, 0x5b, 0x45, 0x38, 0xc0, 0x08, 0x9c, + 0x4b, 0x99, 0x19, 0xe9, 0xaa, 0x5b, 0xf0, 0x44, 0x32, 0x78, 0xfe, 0x73, + 0xee, 0x4a, 0x47, 0x9f, 0x77, 0x17, 0x27, 0x76, 0x33, 0xd0, 0x8b, 0xb1, + 0x33, 0x99, 0x94, 0xed, 0xf7, 0xf7, 0x41, 0xae, 0x95, 0xe8, 0x54, 0x0e, + 0x7a, 0x38, 0xa0, 0x41, 0x1a, 0x36, 0x85, 0x73, 0x61, 0xab, 0x08, 0x37, + 0x46, 0xca, 0xe1, 0xdc, 0xea, 0x62, 0x92, 0x01, 0x9c, 0x06, 0xe9, 0x76, + 0xb4, 0xc4, 0x1f, 0x29, 0x15, 0x31, 0x80, 0x09, 0xe4, 0x26, 0xbd, 0xa3, + 0xfa, 0xfa, 0x7a, 0xd6, 0x36, 0x8d, 0xb5, 0x6b, 0xd7, 0x72, 0x65, 0x8c, + 0xde, 0x96, 0xdc, 0x5d, 0x96, 0xc3, 0xc5, 0x1a, 0x3e, 0xa8, 0xa2, 0xee, + 0x0f, 0x4d, 0x86, 0x50, 0x4b, 0x3c, 0xed, 0x20, 0x3c, 0xf1, 0x9e, 0x5d, + 0x14, 0x4e, 0x32, 0x87, 0xa5, 0x4d, 0x27, 0x5b, 0xe0, 0x33, 0xbd, 0xdb, + 0x8e, 0xe3, 0x91, 0x90, 0x42, 0x3e, 0x64, 0xe8, 0x5e, 0xb2, 0xb5, 0x03, + 0xe7, 0xd3, 0x5d, 0xcc, 0x01, 0x3b, 0x6a, 0x71, 0x71, 0xa1, 0x59, 0x7a, + 0x67, 0x24, 0x3e, 0xa1, 0x87, 0xbb, 0x2d, 0xe2, 0xb7, 0xf3, 0x17, 0x49, + 0x23, 0x4c, 0x86, 0x72, 0xd5, 0x0a, 0x82, 0x1f, 0x13, 0xf0, 0xc3, 0x86, + 0x02, 0xba, 0x83, 0x69, 0x30, 0x22, 0x0d, 0x18, 0xe2, 0xf9, 0x92, 0xf8, + 0x1e, 0xed, 0x09, 0xb7, 0x4f, 0xa6, 0x80, 0xf8, 0xdd, 0x3b, 0xea, 0xd1, + 0x88, 0x6b, 0x7a, 0xd1, 0xed, 0x6a, 0xa0, 0x86, 0xa7, 0xf0, 0x31, 0xfb, + 0x7c, 0x68, 0xf8, 0x53, 0x98, 0x4f, 0x1a, 0x42, 0x96, 0x75, 0xd6, 0x96, + 0xe4, 0x28, 0x84, 0xb9, 0x63, 0x95, 0xfa, 0xa3, 0xa9, 0x07, 0xe4, 0x99, + 0xc0, 0x17, 0x5e, 0x21, 0x99, 0xb6, 0xa1, 0xb5, 0xb5, 0xd5, 0x66, 0xb1, + 0x86, 0x16, 0xbe, 0xa9, 0xa9, 0x49, 0x73, 0xdf, 0xc4, 0x41, 0x16, 0xf1, + 0xe9, 0xae, 0x72, 0xf9, 0x12, 0xcb, 0x98, 0x20, 0x96, 0xae, 0xa0, 0xe4, + 0xba, 0x31, 0x10, 0xcf, 0xdb, 0xbe, 0x58, 0x37, 0x76, 0x62, 0x9d, 0xb9, + 0x60, 0xb1, 0x9f, 0x7a, 0x32, 0x54, 0x04, 0xba, 0x6f, 0x1e, 0xcc, 0x90, + 0xf8, 0xc4, 0x7b, 0x9c, 0x4b, 0xa3, 0x48, 0x30, 0x22, 0xc7, 0x1b, 0x7e, + 0xc2, 0x00, 0xab, 0x46, 0x36, 0x36, 0x36, 0x0e, 0xb9, 0xd0, 0x59, 0xb3, + 0x66, 0xe9, 0xba, 0x2d, 0x6a, 0x01, 0xb5, 0x85, 0xdf, 0xe3, 0xf7, 0x49, + 0x34, 0x12, 0x16, 0x8c, 0x49, 0xe3, 0x37, 0xa8, 0x55, 0x5a, 0x2e, 0xe4, + 0x9e, 0xd6, 0xe4, 0x81, 0x9b, 0x3f, 0xd2, 0x30, 0xd0, 0x9b, 0x03, 0xbe, + 0xab, 0x5a, 0xc7, 0x83, 0xfb, 0x49, 0x03, 0x86, 0xb3, 0xf8, 0xdd, 0x2c, + 0xae, 0xd9, 0xe2, 0x7d, 0x2f, 0x79, 0xfd, 0x9e, 0xd4, 0xf3, 0x0e, 0xae, + 0x47, 0xea, 0x82, 0x3e, 0x9a, 0xee, 0xe8, 0x91, 0x96, 0xa6, 0x72, 0x7d, + 0x98, 0x81, 0x0b, 0x36, 0x60, 0x60, 0x74, 0xc1, 0x06, 0x2f, 0x94, 0x05, + 0x1b, 0x2e, 0x57, 0xa5, 0x01, 0xe4, 0x73, 0x48, 0x9c, 0xe1, 0x15, 0x72, + 0xb8, 0xca, 0x90, 0xef, 0xcb, 0xfb, 0xec, 0x00, 0xe1, 0xd9, 0x68, 0xa5, + 0x59, 0x62, 0x0e, 0x57, 0x18, 0x6d, 0x76, 0x3c, 0xf0, 0x35, 0xe1, 0x9a, + 0x3d, 0x40, 0xb8, 0x7e, 0x1b, 0x34, 0x52, 0xc6, 0x0c, 0xca, 0xa7, 0x0e, + 0x31, 0xc2, 0xff, 0x5f, 0x80, 0x01, 0x00, 0xca, 0xd7, 0xcb, 0x2d, 0x97, + 0xaa, 0xf9, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, + 0x42, 0x60, 0x82 +}; +unsigned int __device_ext3_png_len = 12591; +unsigned char __device_fat16_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe2, 0x98, 0x77, 0x38, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x34, 0xc7, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xdc, 0x7d, 0x69, 0x90, + 0x5c, 0xd7, 0x75, 0xde, 0xbd, 0x6f, 0xe9, 0x6d, 0xba, 0x7b, 0xa6, 0x67, + 0xdf, 0xb0, 0xef, 0x04, 0x08, 0x80, 0x30, 0x49, 0x10, 0x04, 0x29, 0x8a, + 0x92, 0x28, 0x99, 0x22, 0xa9, 0xd5, 0x8e, 0xb7, 0x94, 0x97, 0x54, 0x9c, + 0xa4, 0x12, 0x27, 0x51, 0xd9, 0x65, 0xeb, 0x87, 0x2b, 0x96, 0x2a, 0x29, + 0x55, 0xd9, 0xe5, 0xfc, 0x70, 0x95, 0xca, 0x4a, 0x64, 0x5b, 0xe5, 0x58, + 0xd6, 0x2e, 0x47, 0x62, 0x64, 0x99, 0x20, 0x29, 0x89, 0x34, 0x41, 0x12, + 0x04, 0x40, 0x62, 0x27, 0x41, 0x80, 0x24, 0xb6, 0xc1, 0x0c, 0x30, 0x03, + 0xcc, 0xd6, 0x3d, 0xbd, 0xbf, 0xe5, 0xe6, 0x9c, 0x7b, 0xcf, 0x7d, 0xef, + 0x4e, 0xb3, 0x41, 0x60, 0xc0, 0xcd, 0xf6, 0x00, 0xaf, 0x5e, 0xf7, 0x7b, + 0xaf, 0x5f, 0x77, 0x9f, 0xe5, 0x3b, 0xdf, 0x39, 0xf7, 0xdc, 0xdb, 0x9c, + 0xbd, 0xbf, 0x7f, 0xbc, 0xcd, 0x31, 0x61, 0x3c, 0x4e, 0xc0, 0x96, 0xb2, + 0x1c, 0x37, 0x93, 0x48, 0x24, 0xf2, 0xa9, 0x74, 0xba, 0xbb, 0x2b, 0x9f, + 0xef, 0xcb, 0x64, 0x32, 0x79, 0xc6, 0x39, 0xfc, 0xb7, 0xe4, 0x0d, 0x6c, + 0x1b, 0xf6, 0xf0, 0xbc, 0x5e, 0xaf, 0x97, 0xe0, 0xef, 0x6a, 0xb5, 0x52, + 0x99, 0xa9, 0x37, 0xea, 0x25, 0xaf, 0xd9, 0xac, 0x05, 0x41, 0x50, 0x87, + 0x4b, 0x9a, 0x4b, 0x78, 0xcf, 0xf7, 0xf4, 0xcf, 0x79, 0x9f, 0x05, 0xcf, + 0x0d, 0x01, 0xe0, 0x96, 0x64, 0xdc, 0xea, 0xe9, 0xea, 0xec, 0x5c, 0x36, + 0x34, 0x34, 0xb8, 0x65, 0xc5, 0xe8, 0xc8, 0x96, 0x81, 0xde, 0xae, 0x81, + 0x81, 0x9e, 0xc2, 0x50, 0x57, 0x3e, 0xd7, 0xdd, 0xd5, 0x99, 0xcf, 0x77, + 0x66, 0xb3, 0xa8, 0x88, 0x34, 0x5c, 0xc7, 0x84, 0x65, 0x49, 0x25, 0x30, + 0xcb, 0x66, 0xf8, 0xbc, 0xd1, 0xf4, 0x6a, 0x55, 0x50, 0xc2, 0x42, 0xa5, + 0x5a, 0x2c, 0x95, 0xca, 0xb3, 0xc5, 0xd2, 0xc2, 0xd5, 0xe9, 0xb9, 0xb9, + 0x89, 0x73, 0xe7, 0xce, 0x9d, 0xb8, 0x38, 0x76, 0xf1, 0xd5, 0x99, 0x99, + 0xe9, 0xb1, 0x85, 0x85, 0x85, 0x19, 0x52, 0x08, 0xbe, 0x9f, 0xf5, 0x7e, + 0x2b, 0x82, 0xbf, 0x0f, 0xef, 0xc3, 0x0d, 0x81, 0xe3, 0x5f, 0x26, 0x99, + 0x4c, 0xaf, 0x5d, 0x31, 0x3a, 0xb4, 0x63, 0xf5, 0x8a, 0xd1, 0xad, 0x5b, + 0x36, 0xac, 0xda, 0xbe, 0x61, 0xd5, 0xd0, 0xba, 0xa1, 0xfe, 0x9e, 0xbe, + 0x42, 0x2e, 0x9b, 0x4c, 0xb8, 0x2e, 0x73, 0x6d, 0x1b, 0x24, 0x65, 0x49, + 0x69, 0x85, 0x21, 0x67, 0x21, 0xdc, 0x42, 0x30, 0x9b, 0x85, 0x20, 0x78, + 0x61, 0x71, 0xb5, 0xe7, 0xa0, 0x04, 0xdb, 0x01, 0x5d, 0x80, 0x4d, 0xd9, + 0xae, 0x54, 0x8a, 0x00, 0xa5, 0x84, 0x82, 0xb3, 0x72, 0xb5, 0x5a, 0x9f, + 0x9d, 0x9d, 0x9b, 0x39, 0x77, 0x7e, 0xec, 0xd5, 0x33, 0x67, 0xce, 0x9c, + 0x78, 0xe3, 0x8d, 0x37, 0x8e, 0x9f, 0x39, 0xf3, 0xc6, 0xd1, 0x0b, 0x17, + 0xc6, 0x5e, 0x83, 0x8f, 0x51, 0x35, 0x3e, 0x17, 0x6f, 0x51, 0x82, 0xf8, + 0x97, 0xa0, 0x00, 0xde, 0x46, 0xf0, 0x20, 0x4b, 0xde, 0x37, 0xdc, 0xdf, + 0x7f, 0xc7, 0x9d, 0x5b, 0x37, 0xfc, 0xfc, 0xbd, 0x77, 0x6e, 0xfe, 0xe0, + 0xad, 0x1b, 0x96, 0xad, 0xef, 0x29, 0x64, 0xdc, 0x54, 0xc2, 0x95, 0xa7, + 0x03, 0x10, 0xb4, 0x08, 0x51, 0xe0, 0x4a, 0x88, 0x5c, 0x58, 0xd2, 0xca, + 0x05, 0x9c, 0x43, 0xc1, 0xaa, 0x0d, 0x95, 0x00, 0xe7, 0xb9, 0x03, 0xa7, + 0x50, 0x01, 0x36, 0xe3, 0xa0, 0x00, 0x0e, 0x7b, 0x66, 0xb9, 0xcc, 0x71, + 0x6c, 0xd0, 0x49, 0x02, 0x36, 0x17, 0xf4, 0x61, 0xcb, 0x2d, 0x08, 0x42, + 0x56, 0xad, 0x56, 0xfd, 0xf3, 0x17, 0xc6, 0x5e, 0x3f, 0x70, 0xe0, 0xc0, + 0xd3, 0xfb, 0xf6, 0xed, 0x7b, 0xf2, 0xc4, 0x89, 0x13, 0xfb, 0xcb, 0xe5, + 0xf2, 0x34, 0xbc, 0x71, 0x60, 0x78, 0x85, 0x78, 0x2f, 0x94, 0xc0, 0xdf, + 0xa3, 0x7b, 0x5b, 0xf4, 0x45, 0xdc, 0x64, 0x22, 0xb9, 0x61, 0xdb, 0xfa, + 0xd5, 0x1f, 0xbb, 0xef, 0xae, 0xcd, 0x0f, 0xdc, 0xf3, 0x73, 0xeb, 0x76, + 0xac, 0x5f, 0xd5, 0xdf, 0x93, 0x48, 0x5a, 0xcc, 0xf7, 0x18, 0xf3, 0xe1, + 0xeb, 0x0b, 0x41, 0xc2, 0xc7, 0x97, 0x08, 0x8b, 0xf6, 0x36, 0xdd, 0xc6, + 0x56, 0xca, 0x01, 0xbc, 0x67, 0x20, 0x74, 0x81, 0x56, 0x8e, 0x0a, 0x41, + 0xe1, 0x3b, 0x28, 0x74, 0xa5, 0x08, 0x0e, 0x02, 0x47, 0x45, 0x40, 0xec, + 0x80, 0xc3, 0xca, 0x2b, 0x6c, 0xc7, 0x91, 0x8a, 0xb0, 0x2d, 0x54, 0x0a, + 0x6c, 0x70, 0x2c, 0x04, 0x0d, 0x4f, 0x4c, 0x5c, 0x9a, 0x3d, 0x7a, 0xf4, + 0xd8, 0xe1, 0xbd, 0x7b, 0xf7, 0x3e, 0xb9, 0x6f, 0xdf, 0xf3, 0x7b, 0xc6, + 0xc6, 0xd0, 0x2b, 0x98, 0xdf, 0xc6, 0x53, 0xc5, 0x3f, 0x17, 0x05, 0xb4, + 0xc2, 0x4d, 0x88, 0xb1, 0x06, 0x04, 0xb3, 0xea, 0xee, 0xed, 0x9b, 0x7e, + 0xf9, 0x17, 0x1f, 0xda, 0xf5, 0x4b, 0xbb, 0x7e, 0x6e, 0xd5, 0xa6, 0xbe, + 0x9e, 0xb4, 0x65, 0x81, 0x20, 0xbd, 0x66, 0x28, 0x61, 0x85, 0x87, 0x28, + 0x78, 0x30, 0x41, 0x14, 0x3a, 0x58, 0x7c, 0x18, 0x2a, 0xe1, 0xe2, 0x2d, + 0x04, 0x2a, 0x40, 0xa8, 0x40, 0xab, 0x3c, 0x80, 0xe0, 0x05, 0x04, 0xce, + 0xd0, 0x0b, 0xd0, 0xf2, 0xb5, 0x07, 0x80, 0xe5, 0x5b, 0x0e, 0x2a, 0xc2, + 0x91, 0x7b, 0x14, 0xba, 0x83, 0x82, 0x77, 0xe1, 0xb1, 0x8d, 0x8f, 0x1d, + 0xb9, 0xe1, 0xf5, 0xf8, 0xfe, 0xe8, 0x15, 0x78, 0xdf, 0x62, 0xb1, 0x14, + 0xbc, 0xfc, 0xf2, 0xf1, 0x93, 0x3f, 0xfc, 0xe1, 0xa3, 0xdf, 0x79, 0xfc, + 0xf1, 0x27, 0x7e, 0x30, 0x35, 0x35, 0x79, 0x06, 0xde, 0xdc, 0x33, 0x8c, + 0xe7, 0x5d, 0x81, 0xa5, 0x77, 0x4b, 0x01, 0xfa, 0xbe, 0x20, 0x52, 0x3e, + 0x7a, 0xeb, 0xa6, 0xd5, 0x9f, 0xf9, 0xf4, 0xc3, 0x3b, 0x7f, 0xe9, 0xe3, + 0x1f, 0xd9, 0x7c, 0x77, 0x6f, 0x77, 0x1a, 0x8e, 0x0a, 0x16, 0xc2, 0x57, + 0xe3, 0x3e, 0x08, 0x34, 0xe0, 0x64, 0x67, 0x64, 0xf9, 0xb8, 0x87, 0xe7, + 0x82, 0x14, 0x20, 0x84, 0xda, 0x50, 0x0e, 0x52, 0x01, 0xc2, 0x96, 0xc1, + 0x57, 0x80, 0x80, 0x35, 0x0c, 0xa1, 0xe5, 0x0b, 0x09, 0x31, 0x0a, 0xff, + 0x71, 0xcf, 0xa5, 0xa0, 0x5d, 0x65, 0xf5, 0xb0, 0xb9, 0x2e, 0x3d, 0xb6, + 0x95, 0xf5, 0x5b, 0x96, 0xba, 0x1f, 0xa7, 0xbd, 0x7e, 0x0e, 0x2c, 0x8a, + 0x1d, 0x3c, 0x78, 0xf0, 0xa5, 0xef, 0x7d, 0xef, 0xfb, 0x5f, 0x7f, 0xf2, + 0xc9, 0x27, 0x1e, 0x2d, 0x16, 0x8b, 0x17, 0x5b, 0x60, 0xe9, 0x9f, 0xac, + 0x02, 0x78, 0x0b, 0xdc, 0xe4, 0x47, 0x47, 0x06, 0x1e, 0xfc, 0xe4, 0xa7, + 0xee, 0xfe, 0xad, 0x47, 0x1e, 0xde, 0x7e, 0xff, 0xc8, 0x50, 0xce, 0x41, + 0x8c, 0xb1, 0xc1, 0xb9, 0x6d, 0xb0, 0x70, 0x0b, 0xad, 0x1e, 0x11, 0x37, + 0x40, 0x88, 0xe1, 0x2a, 0xb8, 0xa2, 0xb0, 0x61, 0x1f, 0x08, 0xae, 0x14, + 0x20, 0x54, 0xb0, 0x95, 0x50, 0xc4, 0x95, 0x37, 0x70, 0x1d, 0x7c, 0xa5, + 0x27, 0x38, 0xd2, 0xea, 0xf1, 0xb9, 0x45, 0xb8, 0x8f, 0x56, 0xcf, 0xa4, + 0xa0, 0x13, 0xb0, 0x53, 0x96, 0xef, 0xc0, 0x63, 0x37, 0xe1, 0x4a, 0x18, + 0x92, 0x96, 0x8f, 0x30, 0xa4, 0x05, 0x4f, 0x1e, 0x80, 0x5b, 0x84, 0x97, + 0x70, 0x6e, 0x7a, 0x7a, 0xa6, 0xf1, 0xf4, 0xd3, 0x4f, 0x3f, 0xfb, 0xb7, + 0x7f, 0xfb, 0xf5, 0xbf, 0x7c, 0xfe, 0xf9, 0xe7, 0x9f, 0xf4, 0x3c, 0xaf, + 0x64, 0x78, 0xf4, 0x3b, 0xe6, 0x09, 0xf6, 0x3b, 0x6c, 0xf5, 0x16, 0x7d, + 0xc0, 0x15, 0xbb, 0xef, 0xdb, 0xfe, 0xb9, 0xdf, 0xfd, 0xa3, 0x5f, 0xf8, + 0xe2, 0x47, 0x1e, 0xde, 0x72, 0x4b, 0x47, 0xa7, 0x6b, 0x05, 0x7e, 0x88, + 0x36, 0x2c, 0x37, 0x75, 0xa1, 0x0a, 0xac, 0xf2, 0x7b, 0x0b, 0xcd, 0xe9, + 0xf5, 0x6d, 0x6c, 0xb5, 0x27, 0xc8, 0x91, 0x6f, 0xc0, 0x89, 0x07, 0x49, + 0xda, 0x69, 0x29, 0xac, 0xb7, 0xd4, 0x63, 0x4b, 0xee, 0x1d, 0x15, 0x68, + 0x51, 0xc0, 0x8e, 0x52, 0x04, 0x42, 0x0d, 0x5a, 0xbb, 0x54, 0x84, 0xb4, + 0x7a, 0x12, 0xbe, 0xbc, 0xce, 0x52, 0x0a, 0x21, 0xeb, 0x57, 0x9e, 0x61, + 0x47, 0x9e, 0x90, 0xcb, 0xe5, 0x9c, 0x2d, 0x5b, 0x36, 0xaf, 0xde, 0xb5, + 0x6b, 0xd7, 0x47, 0xc1, 0x7b, 0xb2, 0xa7, 0x4f, 0x9f, 0x7e, 0x0d, 0xf2, + 0x8c, 0xb9, 0x36, 0xd4, 0xf5, 0x7d, 0x55, 0x80, 0x29, 0x78, 0x99, 0x57, + 0xe4, 0x3a, 0x73, 0x1f, 0xfc, 0x95, 0xff, 0xf0, 0xb1, 0x3f, 0xfe, 0xad, + 0xdf, 0xff, 0xf9, 0xdf, 0x18, 0x5d, 0xd3, 0x9d, 0x0a, 0x43, 0x30, 0x73, + 0x00, 0x77, 0x14, 0xb6, 0x4d, 0x36, 0xcc, 0x05, 0x53, 0xb4, 0x12, 0x2d, + 0x5c, 0x48, 0xe9, 0xca, 0xe3, 0x68, 0xf1, 0x78, 0x46, 0x90, 0xf0, 0xd5, + 0x6d, 0x63, 0xb5, 0x49, 0x81, 0x13, 0x03, 0x02, 0x00, 0x87, 0x4b, 0x6c, + 0x15, 0x80, 0xa5, 0x60, 0xd1, 0x1b, 0x2c, 0x19, 0x7c, 0x51, 0xb0, 0x2a, + 0xf0, 0x12, 0xfe, 0x6b, 0xd8, 0x21, 0x01, 0x5b, 0x70, 0x9d, 0xc5, 0xad, + 0x48, 0xf0, 0x16, 0x29, 0x31, 0x82, 0x25, 0xf2, 0x06, 0xdc, 0xf7, 0xf4, + 0xf4, 0xa4, 0x6e, 0xbf, 0xfd, 0xf6, 0xbb, 0x97, 0x2f, 0x5f, 0xbe, 0x09, + 0xf2, 0x89, 0x89, 0x2b, 0x57, 0xae, 0x5c, 0x6a, 0x61, 0x4b, 0xfc, 0xfd, + 0x52, 0x80, 0x09, 0x39, 0xf8, 0xd7, 0xbd, 0x66, 0xf3, 0xca, 0x5f, 0xff, + 0xed, 0xff, 0xfe, 0xd9, 0x2f, 0x7d, 0xf4, 0x5f, 0xdf, 0x71, 0x87, 0x93, + 0x06, 0x96, 0x01, 0x56, 0x6f, 0x73, 0x7d, 0x21, 0x97, 0x8f, 0x25, 0xfc, + 0x70, 0xb5, 0xf1, 0x50, 0x7d, 0x59, 0x85, 0x59, 0x9a, 0x6a, 0xc6, 0x3a, + 0xe5, 0x12, 0x66, 0xf4, 0x35, 0x3a, 0xe9, 0x42, 0xeb, 0xe7, 0xf2, 0x1c, + 0x0a, 0x5e, 0x1e, 0x93, 0xf4, 0x53, 0xc5, 0x00, 0xb4, 0x7c, 0xb4, 0x72, + 0xb4, 0x7a, 0x47, 0x2b, 0xc0, 0x51, 0xd4, 0x14, 0x37, 0x9b, 0x3c, 0xc0, + 0xdc, 0xb4, 0xe0, 0xaf, 0xf5, 0x07, 0x59, 0x38, 0xdb, 0xbc, 0x79, 0xf3, + 0x9a, 0x6d, 0xdb, 0xb6, 0xdd, 0x03, 0x89, 0x9c, 0x77, 0xee, 0xdc, 0xd9, + 0xb3, 0xbe, 0x1f, 0xd4, 0x0c, 0xa6, 0xc4, 0xdf, 0x6b, 0x05, 0xb4, 0x5a, + 0x7e, 0xff, 0x9d, 0x0f, 0xec, 0xf8, 0xfc, 0xbf, 0xff, 0x9f, 0xbf, 0xfa, + 0x87, 0x1b, 0x76, 0xad, 0xea, 0x0f, 0x83, 0x40, 0x59, 0x39, 0x8f, 0x41, + 0x05, 0xad, 0x9d, 0x6b, 0x90, 0x11, 0xfa, 0xb8, 0x25, 0xaf, 0xe3, 0x64, + 0xf9, 0x52, 0x08, 0x82, 0xc7, 0x4a, 0x90, 0x31, 0x80, 0x84, 0x4d, 0x31, + 0x00, 0x59, 0x0f, 0x23, 0xe1, 0x33, 0xcb, 0x84, 0x23, 0x15, 0x07, 0xa4, + 0x90, 0x0d, 0x08, 0x72, 0x48, 0x21, 0x88, 0xf9, 0xb6, 0xb4, 0x7e, 0x3b, + 0xf6, 0x04, 0x0d, 0x5f, 0xd7, 0xfb, 0xb2, 0x64, 0x04, 0xcb, 0x96, 0x2d, + 0xeb, 0xde, 0xb5, 0xeb, 0xae, 0xfb, 0xc3, 0x50, 0xa4, 0x8e, 0x1c, 0x39, + 0x7a, 0x2c, 0x08, 0xfc, 0xca, 0xfb, 0xe1, 0x01, 0xad, 0x96, 0x3f, 0xb2, + 0xfb, 0x91, 0xdd, 0xff, 0xed, 0x37, 0xbe, 0xf4, 0xab, 0xbf, 0xd3, 0xb3, + 0xaa, 0xdb, 0x0d, 0x3c, 0x5f, 0x01, 0x06, 0x8f, 0x35, 0x24, 0x45, 0x27, + 0x34, 0x8b, 0xe7, 0x74, 0x0c, 0x61, 0xc0, 0x50, 0x06, 0x29, 0x88, 0x71, + 0xb2, 0x7c, 0x46, 0xc2, 0xe7, 0x8a, 0x96, 0x4a, 0xe5, 0x70, 0xf2, 0x02, + 0xdc, 0xdb, 0xb6, 0x11, 0x0f, 0x1c, 0x95, 0x03, 0xd8, 0x9a, 0x7a, 0xaa, + 0x4d, 0x0a, 0x9f, 0xe2, 0x02, 0xb7, 0x34, 0xe4, 0x38, 0x86, 0xe5, 0xf3, + 0x25, 0xc9, 0x0f, 0x3f, 0x43, 0x3e, 0x9f, 0x77, 0x76, 0xec, 0xd8, 0x71, + 0x17, 0xdc, 0x33, 0x0f, 0x4a, 0x38, 0xea, 0x79, 0xcd, 0xd2, 0xdb, 0xf1, + 0x04, 0xfb, 0x26, 0x85, 0x6f, 0x13, 0x72, 0xaf, 0xba, 0xef, 0xb3, 0x0f, + 0x7c, 0xe1, 0x5f, 0xfd, 0xd1, 0xaf, 0xfd, 0x66, 0x76, 0x30, 0x6f, 0x05, + 0x5e, 0xa0, 0x84, 0xcb, 0xe3, 0xc4, 0x57, 0x0a, 0x99, 0xfe, 0x59, 0x64, + 0xf5, 0x16, 0xdd, 0xc6, 0xa6, 0x78, 0x20, 0xcf, 0x46, 0x98, 0xaf, 0x84, + 0xa2, 0x33, 0x5f, 0xa9, 0x32, 0xc2, 0x7e, 0x7c, 0x1d, 0xe2, 0x3f, 0x27, + 0xab, 0x67, 0x1a, 0x7e, 0x74, 0x60, 0xd5, 0x10, 0x44, 0x14, 0xd4, 0x31, + 0x32, 0x60, 0xcb, 0xb1, 0x54, 0x5c, 0x58, 0xa2, 0xf0, 0x05, 0x04, 0x29, + 0x33, 0x2e, 0x84, 0x61, 0xc8, 0xd2, 0xe9, 0x34, 0xdf, 0xbe, 0x7d, 0xdb, + 0xf6, 0x64, 0x32, 0x59, 0x38, 0x7e, 0xfc, 0xd8, 0x09, 0x08, 0xce, 0xf3, + 0x06, 0xfb, 0xe3, 0xef, 0x96, 0x02, 0x4c, 0xd8, 0x41, 0x71, 0xac, 0xff, + 0xf0, 0xaf, 0x7e, 0xfa, 0x4b, 0x9f, 0xfa, 0xfc, 0xaf, 0xff, 0x4a, 0xba, + 0x37, 0x0b, 0x2c, 0x27, 0x90, 0x90, 0x23, 0x99, 0x0b, 0xd7, 0x6e, 0xab, + 0x61, 0x88, 0x98, 0x0f, 0xa1, 0x8b, 0x7a, 0x4c, 0x0a, 0x11, 0x74, 0x1d, + 0x3e, 0x0b, 0x89, 0x0d, 0x71, 0x0a, 0xc4, 0x4c, 0xb1, 0x20, 0xce, 0xb5, + 0x77, 0xd8, 0xb4, 0x91, 0x5f, 0x19, 0xf0, 0x13, 0xc5, 0x00, 0x2d, 0x64, + 0xd7, 0x8d, 0xac, 0x5f, 0xe1, 0xbe, 0xa3, 0x20, 0xc8, 0xd2, 0x98, 0x7f, + 0x63, 0xf1, 0xb3, 0x5d, 0x6c, 0x40, 0xa5, 0xa4, 0x52, 0x29, 0x6b, 0xfb, + 0xf6, 0xed, 0xb7, 0x75, 0x76, 0x76, 0x8e, 0x1c, 0x3d, 0x7a, 0xf4, 0x78, + 0xa5, 0x52, 0x99, 0x7d, 0x37, 0x3d, 0xa0, 0x15, 0x76, 0x86, 0xef, 0xfb, + 0xf4, 0xa7, 0xbf, 0xf4, 0xc8, 0xef, 0xfd, 0xbb, 0x5f, 0x74, 0xba, 0x32, + 0x2c, 0x04, 0x96, 0x63, 0x59, 0x31, 0xe6, 0x28, 0x3d, 0x08, 0x12, 0x7c, + 0x04, 0x26, 0x11, 0x04, 0xc5, 0x8f, 0x09, 0x8a, 0xb4, 0x8f, 0x88, 0xf8, + 0x15, 0x3a, 0x16, 0x48, 0x8b, 0xa7, 0xe0, 0xcc, 0x89, 0x01, 0x49, 0x65, + 0xd8, 0x76, 0xa4, 0xac, 0x48, 0x01, 0x04, 0x3d, 0xd2, 0x03, 0xec, 0x58, + 0x01, 0x96, 0x65, 0xe2, 0xbe, 0xb6, 0xfe, 0xa5, 0x13, 0x18, 0x21, 0x44, + 0x94, 0x27, 0xe8, 0xe0, 0xbc, 0x75, 0xeb, 0xd6, 0x5b, 0x40, 0xe1, 0xdd, + 0xfb, 0xf7, 0xef, 0x3f, 0x00, 0xb9, 0xc2, 0xc2, 0x52, 0xe1, 0xc8, 0x5e, + 0xa2, 0xf0, 0xf1, 0x71, 0xcf, 0xb6, 0xbb, 0xef, 0xff, 0x83, 0x87, 0x3f, + 0xf7, 0xbb, 0xbf, 0x99, 0xe8, 0xce, 0x5b, 0x02, 0x85, 0x4f, 0x2e, 0xaa, + 0x84, 0x6e, 0x58, 0xbf, 0x8e, 0x9b, 0x0a, 0xaf, 0xc8, 0x1b, 0x30, 0xb5, + 0xb2, 0x8c, 0x58, 0xa0, 0xd8, 0x90, 0x25, 0xd4, 0x5b, 0x48, 0x8a, 0xa9, + 0x3d, 0x41, 0x06, 0x69, 0x48, 0xd0, 0x38, 0x8f, 0x18, 0x91, 0x45, 0x31, + 0x40, 0x2a, 0x44, 0xb2, 0x20, 0x2a, 0x41, 0x38, 0xaa, 0x0c, 0x21, 0x2d, + 0xdd, 0x25, 0x45, 0xc8, 0xda, 0x10, 0xbc, 0x06, 0x6b, 0x3f, 0x96, 0xf6, + 0x0e, 0x2b, 0xfa, 0x7c, 0x4b, 0x55, 0x40, 0x2b, 0x45, 0x95, 0xbc, 0x1b, + 0xde, 0x67, 0xe3, 0xc6, 0x8d, 0xb7, 0x54, 0x2a, 0x55, 0x76, 0xe8, 0xd0, + 0xe1, 0x43, 0x42, 0x84, 0xf5, 0xa5, 0x28, 0xe1, 0x46, 0x15, 0xa0, 0x63, + 0x69, 0x7a, 0xc5, 0xba, 0xad, 0xff, 0xf6, 0x53, 0xbf, 0xf7, 0x3f, 0x7e, + 0x3f, 0xbf, 0x6c, 0x34, 0x81, 0x01, 0x57, 0xeb, 0x45, 0x11, 0x17, 0x4b, + 0x79, 0x00, 0xe3, 0x8b, 0x94, 0xa2, 0xe0, 0x46, 0xd3, 0x49, 0xda, 0x04, + 0x8b, 0xf9, 0x3d, 0x8b, 0xe3, 0x04, 0xa7, 0xa4, 0x4c, 0xe8, 0xbc, 0xc0, + 0x88, 0x0d, 0x5c, 0x2b, 0x48, 0x6e, 0x0e, 0xb1, 0x20, 0x65, 0xfd, 0x32, + 0x0e, 0x50, 0xd0, 0xc5, 0x9a, 0x8f, 0xf4, 0x06, 0x5b, 0x25, 0x5b, 0xb6, + 0xf4, 0x00, 0xcd, 0xf3, 0x2d, 0xf2, 0x80, 0x9b, 0xcb, 0xa7, 0x74, 0x4c, + 0xd0, 0xde, 0x80, 0x7b, 0x88, 0x09, 0x16, 0x28, 0x61, 0xdb, 0xc4, 0xc4, + 0xc4, 0xdc, 0xab, 0xaf, 0xbe, 0x7a, 0x8c, 0xf2, 0x84, 0x1b, 0xca, 0x96, + 0xed, 0x1b, 0xc4, 0x7d, 0xbc, 0xce, 0xed, 0xed, 0x1b, 0xf9, 0xc4, 0x27, + 0xff, 0xd3, 0x1f, 0x7f, 0xb1, 0x7f, 0xd3, 0xb6, 0x2e, 0xbf, 0xe9, 0x91, + 0x85, 0x5a, 0x11, 0xae, 0x13, 0xf6, 0x10, 0x63, 0x21, 0x8f, 0x90, 0x56, + 0x1b, 0x9d, 0x8a, 0x33, 0x61, 0x11, 0x33, 0x22, 0x0c, 0xc6, 0x58, 0x9a, + 0x40, 0xd8, 0xb1, 0x48, 0x09, 0x8b, 0x92, 0x31, 0x41, 0x19, 0x31, 0x37, + 0xe2, 0x80, 0x14, 0x66, 0xfc, 0x58, 0xd6, 0x7f, 0xc8, 0xca, 0x2d, 0xd7, + 0xa1, 0xcc, 0xd7, 0x31, 0x12, 0x2e, 0x27, 0x82, 0x1f, 0x4e, 0x34, 0xf7, + 0xad, 0xb8, 0xff, 0x5b, 0x79, 0x81, 0x16, 0xbe, 0xf9, 0x1c, 0x62, 0x81, + 0xbb, 0x7e, 0xfd, 0xfa, 0xad, 0x27, 0x4f, 0x9e, 0x3c, 0x7b, 0xf1, 0xe2, + 0xc5, 0x37, 0x6e, 0xb4, 0x6e, 0x74, 0x23, 0x0a, 0x90, 0x8c, 0x27, 0x95, + 0x4c, 0xdf, 0xfe, 0xe0, 0xaf, 0x7f, 0xf1, 0x4f, 0xd7, 0xde, 0xfd, 0xf1, + 0x55, 0x3e, 0xb0, 0x1d, 0xae, 0x38, 0x8c, 0x1c, 0x10, 0x89, 0xe8, 0x21, + 0x21, 0x95, 0x42, 0x08, 0x41, 0x1b, 0x85, 0x6c, 0xcb, 0x0c, 0xc2, 0x3c, + 0x0e, 0xc2, 0x91, 0x47, 0x10, 0x24, 0x09, 0x95, 0x1b, 0x44, 0xea, 0xe1, + 0xb1, 0xf0, 0x15, 0x3d, 0x55, 0x8f, 0x2d, 0x5d, 0x86, 0xb6, 0x95, 0x37, + 0xa8, 0x12, 0x04, 0x95, 0xa0, 0x1d, 0xa2, 0x9e, 0x12, 0x72, 0x78, 0x14, + 0x78, 0x63, 0xde, 0xcf, 0x17, 0x59, 0xf3, 0x8d, 0x5a, 0xfd, 0xb5, 0x02, + 0x33, 0x3e, 0x47, 0x76, 0xd4, 0xdf, 0xdf, 0x9f, 0x1d, 0x1a, 0x1a, 0xda, + 0xf8, 0xc2, 0x0b, 0x2f, 0xbc, 0x58, 0x2c, 0x16, 0x2f, 0xb5, 0x19, 0xe0, + 0xb9, 0x61, 0x05, 0xb4, 0x14, 0x65, 0x58, 0xf7, 0xcf, 0xdd, 0xfb, 0xd9, + 0xcf, 0xef, 0xfc, 0xf4, 0xe7, 0x1e, 0x10, 0x68, 0x69, 0x82, 0x45, 0xb5, + 0x1a, 0x0d, 0x24, 0xf1, 0x8b, 0x94, 0x3b, 0xa8, 0x6c, 0x95, 0x04, 0x2e, + 0x85, 0x4f, 0x94, 0xd4, 0xe2, 0xcc, 0x2c, 0x32, 0xe0, 0x3f, 0x27, 0x12, + 0xbc, 0x51, 0x0f, 0xd2, 0xcc, 0x87, 0xca, 0xd3, 0x5a, 0x11, 0x8a, 0x92, + 0x12, 0x13, 0xe2, 0xaa, 0x0c, 0xc1, 0x2d, 0x9d, 0xe9, 0x3a, 0x44, 0x37, + 0x5d, 0x82, 0x1e, 0x2b, 0x4a, 0xd0, 0xcc, 0x0a, 0x68, 0x94, 0x9b, 0xdf, + 0xa0, 0x07, 0x98, 0xd7, 0xb5, 0xd2, 0xd2, 0x36, 0xc9, 0x5a, 0x7f, 0xad, + 0x56, 0x4b, 0x3e, 0xff, 0xfc, 0xf3, 0xcf, 0x81, 0x52, 0xae, 0x9b, 0x2d, + 0xdf, 0x88, 0x02, 0xdc, 0x81, 0xa1, 0x95, 0xbf, 0xf0, 0xe0, 0x6f, 0x7e, + 0xe9, 0x73, 0xe9, 0x9e, 0xe1, 0xa4, 0x64, 0x3c, 0x91, 0x80, 0xac, 0x38, + 0x58, 0x32, 0x03, 0xab, 0x29, 0xc8, 0xe9, 0xbd, 0x34, 0x52, 0x6e, 0x5c, + 0x41, 0xb0, 0xa4, 0xbd, 0xc0, 0xd2, 0xf5, 0x21, 0xa1, 0x3c, 0x41, 0x65, + 0xc6, 0x94, 0x09, 0x0b, 0x15, 0x7c, 0x75, 0x28, 0x12, 0x1a, 0xb4, 0xa8, + 0xf6, 0xa3, 0xeb, 0x40, 0x3a, 0x0e, 0x28, 0xe1, 0xd3, 0x63, 0xca, 0x19, + 0xac, 0x45, 0xf4, 0x93, 0xb3, 0xb7, 0x5b, 0x04, 0xbe, 0x96, 0xe2, 0x50, + 0x39, 0x18, 0x94, 0x47, 0x47, 0x47, 0x57, 0x01, 0x14, 0x9d, 0x3f, 0x77, + 0xee, 0xdc, 0x2b, 0xd7, 0x83, 0x22, 0xfb, 0x3a, 0xd0, 0x63, 0xb9, 0xae, + 0xbb, 0xe5, 0x63, 0x9f, 0xfd, 0xdd, 0x2f, 0xac, 0xdc, 0xfe, 0xe1, 0x55, + 0x41, 0xe8, 0x4b, 0xe0, 0x11, 0x86, 0xd0, 0x23, 0xca, 0xc8, 0x54, 0x5d, + 0x5f, 0x65, 0xaa, 0xba, 0x7a, 0xa9, 0xc8, 0xbf, 0x65, 0x91, 0xd5, 0x18, + 0x30, 0x24, 0x15, 0x10, 0xd1, 0x50, 0x2a, 0x55, 0x08, 0xf2, 0x04, 0xfa, + 0x08, 0x3a, 0x33, 0x66, 0x5a, 0xd1, 0x9a, 0xff, 0xa3, 0x37, 0x20, 0x59, + 0xd2, 0xef, 0x4b, 0xb9, 0x80, 0xed, 0xba, 0x51, 0x05, 0x54, 0x56, 0x44, + 0x75, 0xd1, 0xcd, 0x56, 0xca, 0xd0, 0x0c, 0xc8, 0x54, 0xc0, 0xb5, 0x2c, + 0xfa, 0x7a, 0xc2, 0x37, 0xe3, 0x40, 0x2b, 0x14, 0x65, 0xb3, 0xd9, 0x64, + 0x47, 0x47, 0xc7, 0xd0, 0x73, 0xcf, 0x3d, 0x77, 0x10, 0xf2, 0x83, 0xab, + 0x6f, 0xa5, 0x04, 0xfb, 0x2d, 0x58, 0x0f, 0x9e, 0xeb, 0xda, 0x71, 0xc7, + 0x87, 0xfe, 0xeb, 0x07, 0x3e, 0xf5, 0x3b, 0x9f, 0x42, 0xe8, 0xa1, 0xf1, + 0xa9, 0x45, 0x97, 0xa1, 0xe0, 0xb4, 0x02, 0x22, 0x01, 0xe9, 0xf8, 0xa0, + 0x99, 0x10, 0x05, 0xe8, 0xa8, 0x08, 0x67, 0xb8, 0xac, 0x59, 0xef, 0xb4, + 0x51, 0xc8, 0x06, 0x05, 0x95, 0x89, 0x1d, 0x48, 0xda, 0x0f, 0x19, 0xab, + 0x7b, 0x8c, 0x15, 0xeb, 0x9c, 0xcd, 0xc3, 0x56, 0x6c, 0x70, 0x56, 0x6a, + 0x30, 0xb6, 0xe0, 0x71, 0x56, 0xf5, 0x05, 0xab, 0x79, 0x82, 0x35, 0xe0, + 0x75, 0xbe, 0x1c, 0x51, 0x63, 0x46, 0xc6, 0x4b, 0xa3, 0x5f, 0x9c, 0x0a, + 0x78, 0x3a, 0x29, 0x6c, 0xc1, 0xf3, 0xa5, 0x2a, 0x41, 0x0b, 0xbf, 0xdd, + 0xf5, 0x5a, 0x09, 0x10, 0x0b, 0x86, 0xe7, 0xe6, 0xe6, 0x9a, 0x87, 0x0f, + 0x1f, 0x3e, 0x00, 0xd7, 0x37, 0x6e, 0xd4, 0x03, 0x4c, 0xe8, 0xb1, 0xba, + 0x0b, 0x3d, 0x0f, 0x7c, 0xe2, 0xd7, 0x7e, 0xff, 0x0f, 0x3b, 0x87, 0xd6, + 0xa4, 0x05, 0x58, 0x3f, 0x37, 0xf1, 0xce, 0x28, 0x21, 0x70, 0xb6, 0xb8, + 0x8e, 0xc3, 0xa2, 0x5a, 0x90, 0x86, 0x29, 0x7a, 0x1c, 0x15, 0x3b, 0xe3, + 0xd7, 0xc5, 0x30, 0xa4, 0xbc, 0xc0, 0x21, 0xc1, 0xe3, 0x80, 0x7c, 0xad, + 0xca, 0xd8, 0xf4, 0x7c, 0xc0, 0xa6, 0xe6, 0x05, 0x9b, 0x29, 0x33, 0x56, + 0x02, 0x86, 0x5d, 0x03, 0x82, 0xd7, 0x84, 0x73, 0x3e, 0x28, 0x06, 0xbb, + 0x23, 0xb0, 0xf8, 0x21, 0xf7, 0xa1, 0x60, 0x1e, 0x68, 0x00, 0x92, 0x21, + 0xd6, 0x68, 0xfa, 0xac, 0xd9, 0x6c, 0xc2, 0x63, 0x5f, 0xc2, 0x8e, 0x8b, + 0xac, 0x08, 0x19, 0x91, 0x56, 0xc2, 0x35, 0x04, 0xb7, 0x14, 0x1a, 0xfa, + 0x56, 0xe7, 0x51, 0x01, 0x98, 0xa4, 0x0d, 0x0c, 0x0c, 0xac, 0x79, 0xf1, + 0xc5, 0x17, 0x8f, 0x4d, 0x4d, 0x4d, 0xbd, 0x71, 0x2d, 0x5a, 0x6a, 0x5f, + 0x23, 0xe1, 0xc2, 0xad, 0xe7, 0xce, 0xdd, 0x0f, 0xfc, 0xe7, 0x1d, 0x1f, + 0xf8, 0xcc, 0xce, 0x40, 0x10, 0x66, 0x4b, 0xc1, 0x86, 0x46, 0x7d, 0x47, + 0x28, 0xbc, 0xd6, 0x16, 0xbb, 0x28, 0x88, 0x52, 0xed, 0x86, 0xa9, 0xe4, + 0x89, 0x6b, 0x58, 0xb2, 0x62, 0x28, 0xb2, 0x09, 0x9a, 0x6c, 0x82, 0x2b, + 0x47, 0x26, 0x61, 0x8c, 0x95, 0xe7, 0x7d, 0x36, 0x3d, 0xe9, 0xb3, 0xab, + 0x33, 0x82, 0x95, 0x21, 0x8c, 0x79, 0x21, 0xbd, 0x87, 0x51, 0x54, 0xb3, + 0x74, 0x75, 0x93, 0x1b, 0xf5, 0x7d, 0xdc, 0x23, 0x13, 0xc2, 0x71, 0x02, + 0x10, 0x84, 0xef, 0xfb, 0xd8, 0xac, 0xc5, 0x1a, 0x8d, 0x66, 0x94, 0xb9, + 0xa2, 0x67, 0xdc, 0xac, 0xf0, 0xaf, 0xe7, 0x31, 0x78, 0x5c, 0x6f, 0xa8, + 0x84, 0x7c, 0x3e, 0x9f, 0x99, 0x9e, 0x9e, 0xf6, 0x20, 0x4b, 0x7e, 0x16, + 0x8e, 0xd5, 0x0d, 0x28, 0xe2, 0xd7, 0x52, 0x00, 0xa7, 0x66, 0x2d, 0x1b, + 0x30, 0xec, 0xce, 0x07, 0x3f, 0xf5, 0x6f, 0xfe, 0x4b, 0xf7, 0xd0, 0xba, + 0xbc, 0x10, 0x1e, 0x05, 0x4f, 0x5d, 0x5c, 0x13, 0x51, 0x30, 0x55, 0xd6, + 0xad, 0x05, 0x4f, 0x31, 0x40, 0x28, 0x81, 0x18, 0xbc, 0x48, 0x32, 0x16, + 0x8b, 0xab, 0xf7, 0xb6, 0x8c, 0xdc, 0x00, 0x4f, 0x3a, 0x96, 0x3a, 0xd6, + 0x5c, 0x00, 0xc1, 0x8f, 0xd7, 0xd9, 0xfc, 0x54, 0xc8, 0x9a, 0x35, 0x4e, + 0x0a, 0xa3, 0x01, 0x17, 0x5b, 0x8d, 0x74, 0xe1, 0xd8, 0xae, 0x93, 0x70, + 0x98, 0x8b, 0x74, 0xd3, 0x4d, 0x48, 0x98, 0x49, 0xb8, 0x6a, 0xd4, 0xcb, + 0x75, 0x9c, 0xa8, 0xce, 0xa3, 0x13, 0x2f, 0xfc, 0x53, 0x8a, 0x68, 0x48, + 0xaf, 0x40, 0x48, 0xc2, 0x7b, 0xdc, 0x4c, 0x0e, 0x70, 0x2d, 0xc5, 0x99, + 0x71, 0x01, 0x05, 0xaf, 0xf7, 0xa8, 0xec, 0x64, 0x32, 0xd9, 0x0d, 0x8c, + 0xe8, 0x20, 0xc0, 0xd1, 0x58, 0x3b, 0x5a, 0x6a, 0xb7, 0xc1, 0x7e, 0x54, + 0x40, 0xee, 0xb6, 0x1d, 0x3b, 0x7f, 0xfb, 0xee, 0x0f, 0xfd, 0xe2, 0x47, + 0x90, 0x6b, 0xdb, 0x3c, 0x24, 0xec, 0x17, 0xaa, 0x50, 0x1c, 0x29, 0x41, + 0x44, 0xe5, 0x07, 0x35, 0xa4, 0xa2, 0x07, 0x4b, 0xe2, 0xac, 0x56, 0x17, + 0xe8, 0xac, 0x68, 0x60, 0x9d, 0x91, 0x12, 0x94, 0xb2, 0x6c, 0x7c, 0x00, + 0x1f, 0xb8, 0x72, 0xb5, 0xce, 0xe6, 0x2e, 0xd6, 0x59, 0xb3, 0x82, 0xa5, + 0x0a, 0x5b, 0x1d, 0x47, 0x8a, 0x0a, 0x02, 0x4e, 0xa5, 0x92, 0xd2, 0xb2, + 0xab, 0xf5, 0x86, 0x98, 0x9b, 0x2f, 0x36, 0x27, 0xaf, 0x5c, 0x6d, 0x8c, + 0x5f, 0xba, 0x5c, 0x19, 0x1f, 0x1f, 0xaf, 0x5d, 0xba, 0x7c, 0xb9, 0x36, + 0x33, 0x33, 0xdb, 0xa8, 0xd6, 0xaa, 0x41, 0xa3, 0xd9, 0x14, 0x20, 0x5c, + 0x0b, 0x8c, 0x87, 0x27, 0xdc, 0xc4, 0x9b, 0x28, 0x22, 0xc2, 0x13, 0x7a, + 0x04, 0xfe, 0xa5, 0x52, 0x29, 0xa9, 0xa0, 0xd6, 0x60, 0xba, 0x54, 0x6f, + 0x30, 0xf7, 0x5a, 0xf8, 0x5a, 0x01, 0x41, 0x10, 0xe0, 0xd0, 0x66, 0x7e, + 0x72, 0x72, 0xb2, 0x74, 0xe8, 0xd0, 0xa1, 0x7d, 0xd4, 0x65, 0x11, 0x9a, + 0x4a, 0x70, 0xda, 0x61, 0x7f, 0x3a, 0x95, 0xda, 0x7c, 0xd7, 0xdd, 0x1f, + 0x79, 0x30, 0x91, 0xcc, 0x00, 0xb6, 0x7a, 0xd2, 0xed, 0x43, 0x2e, 0x7b, + 0xd1, 0xe0, 0xe6, 0xb0, 0xc9, 0x7b, 0xa0, 0x9b, 0x3b, 0xf2, 0xb9, 0x0c, + 0x08, 0xc2, 0xa1, 0x0f, 0x41, 0xde, 0x00, 0x7b, 0xe1, 0xcb, 0x9d, 0x54, + 0x4a, 0xc0, 0x6c, 0x1a, 0x7f, 0x55, 0x8a, 0xc1, 0x22, 0x06, 0x96, 0x08, + 0x40, 0x66, 0xac, 0x78, 0xa9, 0xc4, 0x82, 0xe9, 0x06, 0x4b, 0x00, 0xd4, + 0x24, 0x13, 0xa0, 0x5a, 0x4f, 0x79, 0x55, 0xda, 0x4e, 0xb2, 0x6a, 0xa5, + 0xc9, 0x4e, 0x9d, 0xba, 0xb8, 0x70, 0xf6, 0xe2, 0xa5, 0xf9, 0xf1, 0xc9, + 0xab, 0xb3, 0xf3, 0xa5, 0x85, 0x39, 0xc0, 0xf6, 0x06, 0xca, 0x13, 0xee, + 0x17, 0x90, 0x00, 0xc0, 0xd8, 0x6c, 0x27, 0x99, 0x48, 0xa4, 0xba, 0x7b, + 0x7a, 0x3a, 0x57, 0xac, 0x58, 0xd1, 0xb7, 0x69, 0xd3, 0xa6, 0xae, 0x35, + 0x6b, 0x56, 0x67, 0x33, 0x99, 0x0e, 0xe9, 0x01, 0xd2, 0x78, 0xe0, 0xfd, + 0x50, 0x30, 0x60, 0x8d, 0xd2, 0x1b, 0x7a, 0x7b, 0x7b, 0xa5, 0x47, 0xe0, + 0xb1, 0x76, 0x01, 0xb6, 0x1d, 0xd3, 0x31, 0xcf, 0x99, 0xe5, 0x08, 0xd3, + 0xfa, 0xf5, 0x71, 0x7c, 0x8e, 0x8a, 0x7e, 0xf0, 0xc1, 0x07, 0x1f, 0x7a, + 0xfc, 0xf1, 0xc7, 0x1f, 0xbd, 0x70, 0xe1, 0xc2, 0xf3, 0x2d, 0x6d, 0x2e, + 0xc2, 0x69, 0xe3, 0x01, 0xe9, 0x8d, 0x1b, 0x36, 0x3c, 0xb8, 0x66, 0xfd, + 0xb6, 0x35, 0x22, 0xf0, 0xc9, 0x12, 0x11, 0xeb, 0x05, 0xa3, 0x0c, 0x4c, + 0xbd, 0x01, 0x3c, 0x56, 0xff, 0x42, 0xc6, 0xf4, 0x07, 0x0d, 0x85, 0xaa, + 0x73, 0x0a, 0xea, 0x34, 0xc0, 0xf8, 0xe0, 0x3b, 0x92, 0x0d, 0x89, 0x50, + 0x05, 0x4b, 0x9f, 0xab, 0x5a, 0x3f, 0xf6, 0xf2, 0x34, 0xaa, 0x65, 0x56, + 0x9a, 0xac, 0xb1, 0x10, 0x30, 0x3f, 0x85, 0x82, 0xb0, 0x42, 0x49, 0x2d, + 0x93, 0x09, 0x97, 0x85, 0xd5, 0x80, 0xed, 0x3b, 0xfc, 0xf2, 0xec, 0xa1, + 0x63, 0xaf, 0x8d, 0x5d, 0x9d, 0x2d, 0x5e, 0x81, 0x7b, 0xcc, 0x75, 0x64, + 0x32, 0x4d, 0xb0, 0xa8, 0x20, 0x91, 0x48, 0x8a, 0x44, 0xc2, 0x0d, 0xc1, + 0x82, 0x05, 0x59, 0x1f, 0x07, 0x21, 0x5b, 0x60, 0xe1, 0xbc, 0x54, 0x5a, + 0xb0, 0x0f, 0x1c, 0x38, 0x98, 0x02, 0xf6, 0x91, 0x07, 0x26, 0x32, 0x78, + 0xf7, 0xdd, 0xbb, 0x97, 0xdf, 0x76, 0xdb, 0xf6, 0x02, 0x8e, 0x0d, 0xa0, + 0x45, 0x6a, 0x01, 0x02, 0x3d, 0x94, 0xdf, 0xa3, 0xa7, 0xa7, 0x47, 0xc6, + 0x06, 0xad, 0x84, 0x1b, 0xcd, 0x8c, 0x4d, 0x45, 0xe0, 0x6b, 0xf5, 0x66, + 0x5a, 0x3f, 0x9e, 0xc7, 0xfd, 0xfa, 0xf5, 0xeb, 0x57, 0xec, 0xdc, 0xb9, + 0xf3, 0xc3, 0xa0, 0x80, 0x43, 0xe4, 0x01, 0x91, 0x17, 0xd8, 0xad, 0x05, + 0x37, 0x78, 0xcd, 0x8a, 0x0f, 0x3f, 0xf0, 0xc8, 0x7f, 0x5c, 0xb9, 0x6e, + 0xe7, 0xf2, 0x68, 0x40, 0x45, 0xf3, 0x76, 0xae, 0x32, 0x5a, 0xae, 0x39, + 0x3c, 0x05, 0xe4, 0x28, 0x3e, 0x44, 0x71, 0x42, 0x50, 0xa7, 0x03, 0xd5, + 0x83, 0x74, 0x8d, 0x87, 0xba, 0xdd, 0x30, 0x78, 0xe2, 0x07, 0xab, 0x8e, + 0xcf, 0x32, 0xbf, 0x58, 0x53, 0x81, 0x11, 0x6e, 0x84, 0x25, 0x84, 0x74, + 0x3a, 0xc9, 0xce, 0xbd, 0x31, 0x51, 0x7b, 0xf4, 0xd1, 0x67, 0x4e, 0x1f, + 0x3a, 0xfe, 0xc6, 0x89, 0x90, 0xdb, 0x63, 0x85, 0x42, 0x61, 0xae, 0xa7, + 0xbb, 0xa7, 0xde, 0xd5, 0xd5, 0x55, 0xef, 0xec, 0xec, 0x6c, 0x74, 0x74, + 0x64, 0x9a, 0x99, 0x4c, 0xa6, 0x0e, 0xd6, 0xe5, 0xa5, 0xd3, 0x69, 0x0f, + 0xf6, 0x0d, 0x78, 0xee, 0x03, 0xf4, 0x78, 0xc0, 0xc1, 0x03, 0x08, 0x7e, + 0x1e, 0x28, 0xa8, 0x3c, 0x3f, 0x3f, 0x3f, 0x7b, 0xec, 0xd8, 0xb1, 0x2b, + 0x67, 0xce, 0x9c, 0xa9, 0x83, 0xb5, 0xe7, 0x07, 0x07, 0x07, 0xdd, 0x30, + 0x14, 0xd2, 0x6b, 0x11, 0x7e, 0xd0, 0x0b, 0x70, 0xc3, 0x5e, 0x5f, 0xf4, + 0x84, 0x6b, 0x59, 0xfc, 0xb5, 0xaa, 0xa2, 0xad, 0x98, 0xdf, 0xce, 0x13, + 0xf0, 0x31, 0x5e, 0x0b, 0x9f, 0x45, 0x40, 0x2c, 0xf8, 0x47, 0x30, 0x94, + 0xf9, 0x56, 0x05, 0x98, 0xc1, 0xd7, 0xe9, 0xe9, 0x29, 0xec, 0xfe, 0xd8, + 0x83, 0xbf, 0xf4, 0x1b, 0xf9, 0xc2, 0x48, 0x06, 0xaf, 0xb3, 0x74, 0x65, + 0x53, 0x57, 0x39, 0xa9, 0xac, 0xc0, 0x49, 0x39, 0x56, 0x54, 0xfb, 0x0f, + 0xe3, 0x00, 0x6d, 0x69, 0x2a, 0x25, 0xa2, 0x01, 0x19, 0x4b, 0x27, 0x57, + 0x92, 0xe9, 0x08, 0x56, 0x9f, 0x9a, 0x06, 0xcb, 0xaf, 0x4a, 0x18, 0xc2, + 0x17, 0xba, 0x8e, 0x1a, 0xa9, 0xda, 0xff, 0xf4, 0x91, 0x2b, 0x3f, 0xdd, + 0xb3, 0xff, 0x70, 0xa3, 0x11, 0xbe, 0x3e, 0x30, 0xd0, 0x5f, 0x2c, 0x74, + 0x75, 0x35, 0xf3, 0xf9, 0xce, 0x3a, 0x08, 0xb6, 0x96, 0x4e, 0x67, 0x7c, + 0x74, 0xe9, 0x54, 0x2a, 0xed, 0x80, 0x17, 0x24, 0xe0, 0x71, 0x2a, 0xa1, + 0xfe, 0x1c, 0x08, 0x76, 0x1c, 0x36, 0xf4, 0x8e, 0x06, 0xc4, 0x8c, 0x26, + 0x5c, 0x13, 0x66, 0xb3, 0x1d, 0x61, 0x26, 0x93, 0xae, 0x5e, 0xb9, 0x72, + 0x05, 0x15, 0x51, 0x82, 0xf7, 0xee, 0x58, 0xb9, 0x72, 0x79, 0x07, 0x7e, + 0x0e, 0x14, 0x0c, 0x2a, 0x01, 0xe1, 0x09, 0x63, 0x03, 0x2a, 0xe1, 0x46, + 0xc6, 0x87, 0x4d, 0x2f, 0x40, 0x23, 0x6a, 0xa7, 0x04, 0x0d, 0x3f, 0xda, + 0x13, 0xe8, 0x58, 0xee, 0x85, 0x17, 0x5e, 0x38, 0x38, 0x3b, 0x3b, 0xfb, + 0x7a, 0xdc, 0xb4, 0x16, 0x2b, 0xc0, 0xa6, 0x2d, 0x73, 0xeb, 0x96, 0x6d, + 0xbf, 0xbc, 0xeb, 0xde, 0x4f, 0x7c, 0xd8, 0x71, 0x52, 0x71, 0x1d, 0x5f, + 0x17, 0xcc, 0x78, 0x4b, 0x29, 0x81, 0xc5, 0x0a, 0xb0, 0xf4, 0x26, 0xeb, + 0xfd, 0x42, 0x05, 0x6e, 0x6e, 0x8c, 0x09, 0x47, 0xf7, 0x02, 0xe8, 0x99, + 0x9d, 0x61, 0xc1, 0x6c, 0x11, 0xae, 0xb1, 0x25, 0x3c, 0x39, 0x09, 0x57, + 0x9e, 0xdb, 0xfb, 0xe3, 0xa7, 0xc7, 0x0e, 0x3f, 0x77, 0xec, 0x60, 0x57, + 0x67, 0x61, 0xaa, 0xbf, 0xbf, 0x0f, 0x85, 0x0e, 0xd6, 0xde, 0x01, 0x82, + 0x4f, 0x07, 0x20, 0xdc, 0x0e, 0xf0, 0x90, 0x6e, 0x10, 0x56, 0xbe, 0xd1, + 0xa8, 0xa7, 0x21, 0x98, 0x26, 0xe0, 0xb1, 0x03, 0x7b, 0xa7, 0xd1, 0x68, + 0x24, 0x41, 0x90, 0x1d, 0xa0, 0xc0, 0x3c, 0x5c, 0x93, 0x04, 0xe1, 0x73, + 0xf0, 0x80, 0x3a, 0xf0, 0xff, 0x26, 0x28, 0x47, 0x64, 0xb3, 0xb9, 0xb0, + 0xd9, 0xf4, 0x16, 0x8e, 0x1e, 0x3d, 0x3a, 0x0d, 0xd0, 0x93, 0x01, 0x48, + 0xe8, 0xd4, 0x01, 0x18, 0x37, 0xf4, 0x02, 0x2a, 0x2b, 0x5f, 0xb7, 0x04, + 0x6d, 0x42, 0x8e, 0x09, 0x37, 0xad, 0xc7, 0xf4, 0x71, 0xbd, 0x81, 0x87, + 0xa5, 0x4f, 0x9d, 0x3a, 0x75, 0xfe, 0xf4, 0xe9, 0xd3, 0x07, 0x58, 0x3c, + 0x5f, 0x41, 0x2c, 0x0a, 0xc2, 0xf0, 0x37, 0xb0, 0x69, 0xd3, 0xd6, 0xbb, + 0x3a, 0xb2, 0x5d, 0x60, 0x15, 0x22, 0x62, 0x30, 0xf2, 0x02, 0xcb, 0xc8, + 0x1e, 0x65, 0x0c, 0xd0, 0xfd, 0x3c, 0x2a, 0x12, 0xa0, 0x07, 0x60, 0x3c, + 0x96, 0x28, 0x83, 0xde, 0x25, 0x94, 0x22, 0x64, 0xd0, 0x0e, 0xa9, 0x78, + 0x06, 0x6f, 0xe7, 0x57, 0xca, 0x2c, 0x9c, 0x9d, 0x95, 0x83, 0x32, 0x78, + 0xbd, 0x0d, 0x8e, 0x27, 0x20, 0x81, 0xda, 0xbb, 0xe7, 0xc9, 0xf3, 0x67, + 0x8f, 0x9f, 0x7a, 0x09, 0x60, 0x7b, 0x1e, 0x60, 0x06, 0x60, 0x25, 0x8d, + 0x10, 0xe3, 0xc3, 0x07, 0xcf, 0x05, 0x81, 0xdf, 0x55, 0xa9, 0x94, 0x2d, + 0x80, 0x8f, 0x32, 0xb0, 0x9c, 0x39, 0x80, 0x9b, 0x26, 0xec, 0x3d, 0x38, + 0x27, 0x54, 0xe6, 0x29, 0x38, 0x5c, 0x03, 0x8a, 0xa8, 0x27, 0xab, 0x55, + 0xbf, 0x03, 0xce, 0x75, 0xc1, 0x6b, 0xf3, 0x10, 0x80, 0x4b, 0x89, 0x84, + 0x0f, 0x5b, 0xd3, 0x83, 0x63, 0x01, 0x78, 0x86, 0xff, 0xc2, 0x0b, 0xfb, + 0x0f, 0xa2, 0xf5, 0x7d, 0xf2, 0x93, 0x9f, 0x5c, 0xa9, 0x2d, 0x15, 0x95, + 0x81, 0x2d, 0x89, 0x18, 0x0b, 0x40, 0xe9, 0x6f, 0xaa, 0xf9, 0xb7, 0xe3, + 0xf8, 0xe6, 0xf3, 0x76, 0x5b, 0xab, 0x62, 0xc0, 0x90, 0xd8, 0xf6, 0xed, + 0xb7, 0xed, 0xdc, 0xb3, 0x67, 0xcf, 0x00, 0x28, 0xbc, 0xaa, 0x3d, 0xc0, + 0x31, 0x19, 0x10, 0xc0, 0xcf, 0xa6, 0xd5, 0x6b, 0x37, 0x6d, 0x90, 0x98, + 0x6d, 0x29, 0x48, 0x11, 0x14, 0x18, 0x44, 0x54, 0xef, 0x57, 0xcf, 0x75, + 0xed, 0x47, 0x95, 0xeb, 0x15, 0x24, 0x61, 0x91, 0x5f, 0xe8, 0x0f, 0x2e, + 0x63, 0xbd, 0x8a, 0x37, 0x21, 0x97, 0xfd, 0xb9, 0xc0, 0x6e, 0x7c, 0x16, + 0xce, 0x4d, 0x32, 0x37, 0x68, 0xc8, 0xd1, 0x2b, 0x8c, 0x13, 0xae, 0x95, + 0x64, 0x87, 0x9e, 0x79, 0xe2, 0xf2, 0xb9, 0x97, 0x5f, 0x39, 0x3c, 0x34, + 0x3c, 0x3c, 0x07, 0xf8, 0x8d, 0x78, 0x5e, 0x47, 0x48, 0x01, 0x8b, 0xee, + 0x2f, 0x16, 0x4b, 0x69, 0x50, 0x62, 0x09, 0x8e, 0xc1, 0xb9, 0xce, 0x06, + 0x06, 0xdf, 0xb8, 0xe0, 0xc7, 0x69, 0xe8, 0x81, 0xa3, 0x22, 0x80, 0x19, + 0x59, 0x15, 0xdf, 0xf7, 0xe6, 0x17, 0x16, 0x16, 0x52, 0xe5, 0x72, 0xa5, + 0xd0, 0x6c, 0x36, 0x0a, 0x9d, 0x9d, 0x5d, 0x19, 0x50, 0xd4, 0x14, 0xdc, + 0xab, 0x62, 0xdb, 0x16, 0xc4, 0x7a, 0x77, 0xee, 0xc0, 0x81, 0x03, 0x87, + 0xc1, 0x2b, 0x92, 0x1f, 0xfd, 0xe8, 0x03, 0x43, 0x5a, 0x48, 0xf8, 0x99, + 0x01, 0x1e, 0x54, 0x9e, 0xe1, 0x38, 0x6d, 0xeb, 0x3d, 0xa6, 0x70, 0x5b, + 0x69, 0xa7, 0xf9, 0x1c, 0xef, 0x89, 0xb0, 0x66, 0x7a, 0x01, 0x1e, 0xdf, + 0xb0, 0x61, 0xfd, 0xc6, 0x81, 0x81, 0xc1, 0x8d, 0x17, 0x2f, 0x8e, 0x8d, + 0xd1, 0xa0, 0x8d, 0x6e, 0xb2, 0x61, 0xd8, 0x94, 0x9f, 0x5a, 0xb1, 0x7c, + 0xe5, 0x47, 0x3f, 0x78, 0xff, 0xc3, 0x0f, 0xbb, 0xc9, 0x0c, 0x57, 0xd3, + 0x20, 0xe2, 0xe0, 0xab, 0xb2, 0x56, 0x46, 0x35, 0x1b, 0x6e, 0x04, 0x67, + 0xae, 0x86, 0xfd, 0x68, 0x60, 0x9d, 0x5b, 0x62, 0x11, 0x3c, 0xd9, 0x32, + 0x50, 0x0b, 0xc9, 0xa6, 0xfc, 0xea, 0x3c, 0xb3, 0xcb, 0x57, 0x20, 0xe3, + 0x55, 0xaf, 0x4d, 0x25, 0x52, 0xec, 0xdc, 0xeb, 0x27, 0x16, 0x8e, 0xee, + 0xfb, 0xc9, 0x81, 0x81, 0xfe, 0x81, 0x29, 0x08, 0xb6, 0x08, 0x39, 0x55, + 0x10, 0xbe, 0x03, 0x02, 0x1d, 0x82, 0xc0, 0x05, 0x50, 0x92, 0x98, 0xea, + 0xeb, 0xeb, 0x9b, 0xc9, 0xe5, 0xb2, 0x9e, 0x4c, 0xca, 0xb0, 0x14, 0x48, + 0x39, 0x42, 0x5c, 0x5a, 0xa0, 0xe1, 0x4c, 0x21, 0x38, 0x7a, 0x05, 0x28, + 0xcb, 0x83, 0xfb, 0x54, 0x40, 0x01, 0xf5, 0x62, 0xb1, 0x98, 0x83, 0xe7, + 0x05, 0x88, 0x0d, 0x15, 0xb0, 0xf4, 0x3a, 0x40, 0x14, 0xe4, 0x74, 0x76, + 0xf3, 0xe4, 0xc9, 0x93, 0xd5, 0xfe, 0xfe, 0xfe, 0xc1, 0xe1, 0xe1, 0xe1, + 0x24, 0x0a, 0x4b, 0xe7, 0x09, 0xe8, 0x0d, 0x18, 0x67, 0xb4, 0xd0, 0x5a, + 0xad, 0xde, 0xdc, 0x9b, 0x42, 0x6f, 0x85, 0x1c, 0xad, 0x58, 0xdc, 0x63, + 0x9c, 0xa1, 0xfb, 0xa4, 0x5e, 0x7c, 0xf1, 0xc5, 0x23, 0x13, 0x13, 0x13, + 0x47, 0x35, 0x1b, 0x72, 0x0c, 0x06, 0x94, 0xea, 0xeb, 0x1f, 0x58, 0x9d, + 0xc9, 0xe4, 0x90, 0xa3, 0x28, 0xca, 0xc9, 0x75, 0x53, 0x94, 0xae, 0xf3, + 0xa3, 0x12, 0x02, 0xd9, 0x91, 0x1c, 0x8d, 0x82, 0x21, 0xcc, 0x18, 0x8f, + 0x55, 0x45, 0x34, 0x94, 0x5e, 0xa1, 0xb3, 0x6e, 0x14, 0x1b, 0x76, 0x4d, + 0xf0, 0xda, 0x34, 0x4b, 0xf0, 0x06, 0x10, 0x21, 0x57, 0x8e, 0x5a, 0xd5, + 0x2a, 0xf3, 0xe1, 0xcb, 0x2f, 0xed, 0x3d, 0x9d, 0xcf, 0xe7, 0x26, 0xba, + 0x40, 0xf8, 0x20, 0xa8, 0x2a, 0x7c, 0x79, 0x34, 0xeb, 0xa1, 0xab, 0x57, + 0xaf, 0x7a, 0xf9, 0x7c, 0xd7, 0xe5, 0xee, 0xee, 0xae, 0xba, 0x82, 0x03, + 0x4c, 0x47, 0xd0, 0xd2, 0xe5, 0xa8, 0x96, 0x88, 0x4b, 0x01, 0x71, 0xe9, + 0xdb, 0xe0, 0xe5, 0xa8, 0x88, 0x10, 0xe4, 0x5b, 0x9a, 0x9b, 0x9b, 0xf5, + 0xe0, 0x5e, 0x23, 0x03, 0x03, 0x03, 0xa3, 0xc9, 0x64, 0xe2, 0x3c, 0x9c, + 0xae, 0x16, 0x0a, 0x02, 0x69, 0xe8, 0xf8, 0xcf, 0x7e, 0xf6, 0xd4, 0xe9, + 0x65, 0xcb, 0x96, 0xed, 0x00, 0xd8, 0xb1, 0xb4, 0x90, 0xc0, 0x7b, 0xda, + 0xb2, 0xa2, 0x56, 0xce, 0x6f, 0x3e, 0x6f, 0xc5, 0xfc, 0x76, 0x31, 0x80, + 0x62, 0x8c, 0x3d, 0x32, 0x32, 0xbc, 0x1a, 0x65, 0x4d, 0x71, 0x20, 0xaa, + 0x17, 0xa0, 0x8c, 0x72, 0x83, 0x83, 0xc3, 0xcb, 0x71, 0x4a, 0x90, 0x05, + 0x42, 0x46, 0x8b, 0xb7, 0x2d, 0x4c, 0xa7, 0xb1, 0xbd, 0x50, 0xa8, 0x3d, + 0x1e, 0xb3, 0x19, 0x9d, 0xd3, 0xe7, 0x05, 0x80, 0x4b, 0x20, 0xf1, 0xde, + 0xb1, 0x55, 0xf0, 0xc5, 0x73, 0x0e, 0x9c, 0x73, 0xf0, 0x3e, 0x70, 0x0e, + 0xf7, 0x61, 0x03, 0x30, 0x36, 0x28, 0x02, 0xdb, 0x09, 0x99, 0x6b, 0x07, + 0x2c, 0x09, 0xd7, 0x9e, 0x7e, 0xe5, 0xc0, 0x64, 0xbd, 0x56, 0x7a, 0xad, + 0xaf, 0xaf, 0x1f, 0x84, 0x9f, 0x6e, 0x82, 0xe5, 0x0b, 0xb0, 0xc0, 0x41, + 0x48, 0x94, 0x02, 0xa0, 0x9c, 0x97, 0xba, 0xbb, 0xbb, 0xe5, 0x80, 0x06, + 0x5a, 0x3a, 0xe4, 0x59, 0xc0, 0xfb, 0x6d, 0x48, 0x1f, 0x6c, 0xcd, 0xff, + 0x61, 0xb3, 0xe0, 0x31, 0x0f, 0x95, 0x42, 0x2c, 0xa1, 0xcf, 0xc1, 0x75, + 0x72, 0x08, 0x01, 0xbe, 0xb8, 0x55, 0x28, 0x74, 0xd7, 0xc0, 0xb3, 0x26, + 0x40, 0x09, 0x00, 0x51, 0x7c, 0x18, 0x83, 0x72, 0x3a, 0x9d, 0x6a, 0x82, + 0x42, 0x1a, 0x33, 0x33, 0xd3, 0xaf, 0xed, 0xdf, 0xbf, 0x7f, 0xd2, 0xb4, + 0x64, 0x08, 0xe8, 0xac, 0x5c, 0x2e, 0xb7, 0x15, 0x68, 0xbb, 0x4d, 0x5f, + 0x83, 0xde, 0x83, 0x1b, 0x2a, 0xb2, 0xd5, 0x0b, 0x34, 0x2c, 0xd1, 0x58, + 0xc1, 0x6a, 0xf8, 0x1c, 0x9d, 0x7a, 0x50, 0x3a, 0x22, 0x29, 0x80, 0xad, + 0x7d, 0x23, 0x23, 0xcb, 0x46, 0xa5, 0xb0, 0x79, 0xa0, 0x60, 0x83, 0xd8, + 0x8c, 0x6d, 0x07, 0x4a, 0xd8, 0x56, 0x20, 0xcf, 0x39, 0x72, 0xaf, 0xe8, + 0xa6, 0x3c, 0x26, 0xc7, 0x45, 0xb4, 0xf0, 0x99, 0x3a, 0xc7, 0xd4, 0x1e, + 0x95, 0x62, 0x09, 0xb8, 0x9f, 0x07, 0x0a, 0xe0, 0x9e, 0x54, 0x4e, 0xd2, + 0x85, 0x44, 0x68, 0x61, 0x3a, 0xb8, 0x70, 0xee, 0xf4, 0x99, 0x42, 0x57, + 0x61, 0x1e, 0x2c, 0x3f, 0x00, 0xeb, 0xa8, 0x83, 0x70, 0xba, 0x10, 0xbf, + 0x41, 0x11, 0x93, 0x20, 0x7c, 0xb0, 0x7c, 0x01, 0x70, 0xe1, 0x80, 0x40, + 0x1d, 0x29, 0x64, 0x39, 0xc8, 0x6e, 0xa3, 0xa0, 0x2d, 0x81, 0x16, 0x8e, + 0x7b, 0x14, 0xb6, 0x3e, 0xaf, 0x84, 0x8f, 0xca, 0xc1, 0x99, 0x4b, 0x36, + 0x2a, 0x44, 0x80, 0x00, 0x40, 0x09, 0x85, 0x1a, 0x40, 0xd2, 0x65, 0x50, + 0x6c, 0x12, 0x20, 0xa8, 0x00, 0xf7, 0xaf, 0xc3, 0x73, 0x1f, 0xe2, 0xc3, + 0x3c, 0x30, 0xa3, 0x73, 0x57, 0xae, 0x5c, 0x0d, 0x75, 0x19, 0x59, 0xe6, + 0x27, 0xd5, 0x6a, 0x94, 0xb4, 0x5d, 0x8b, 0xd5, 0x98, 0x42, 0x6f, 0x15, + 0x3c, 0x3e, 0x36, 0x9f, 0xeb, 0xd7, 0xe3, 0x1f, 0x28, 0x7e, 0x18, 0x08, + 0x46, 0x8f, 0xae, 0xdb, 0x47, 0x0c, 0x11, 0x02, 0xdc, 0xc8, 0x30, 0x50, + 0x10, 0x6e, 0x29, 0x21, 0x4a, 0x21, 0x5b, 0xda, 0x9a, 0x4d, 0xab, 0xc7, + 0x73, 0xea, 0xb1, 0xc3, 0xd5, 0x73, 0x7c, 0xec, 0x92, 0xd5, 0xbb, 0xc6, + 0x39, 0x54, 0xa2, 0x83, 0x30, 0x14, 0x82, 0xe0, 0x59, 0x1d, 0x2c, 0x80, + 0xcb, 0xeb, 0x5d, 0x9b, 0xb3, 0x89, 0x89, 0x73, 0x25, 0xf8, 0xe0, 0xe3, + 0xdd, 0xdd, 0x3d, 0x1e, 0x28, 0xa0, 0x01, 0xc1, 0xcf, 0x05, 0xeb, 0xeb, + 0x02, 0xba, 0x38, 0x0b, 0x49, 0x53, 0x55, 0x59, 0x3e, 0x0a, 0x17, 0x2d, + 0x5c, 0x0e, 0xaa, 0xa3, 0xb0, 0x43, 0xb4, 0x7a, 0x05, 0x43, 0x56, 0x12, + 0x5e, 0x92, 0x01, 0x6b, 0xce, 0xc0, 0x1e, 0x83, 0x2b, 0x84, 0x23, 0x79, + 0x6d, 0xa8, 0x3c, 0x80, 0xeb, 0xd7, 0xa2, 0x12, 0x38, 0x28, 0xa1, 0x0a, + 0xef, 0x37, 0x03, 0x82, 0xe9, 0x85, 0x7b, 0xb9, 0x10, 0x13, 0x9a, 0xdd, + 0xdd, 0x05, 0x1f, 0x84, 0x3d, 0x76, 0xfa, 0xf4, 0xa9, 0x79, 0x14, 0x90, + 0x0e, 0x9c, 0xa8, 0x80, 0x5a, 0xad, 0xd6, 0x56, 0x98, 0xfa, 0x98, 0x16, + 0x7a, 0x3b, 0x61, 0xb7, 0x7a, 0x8d, 0xf9, 0x7c, 0x70, 0x70, 0x68, 0xb0, + 0x50, 0xe8, 0x5a, 0xa6, 0xe5, 0xee, 0x68, 0x0f, 0x00, 0x97, 0x1f, 0xea, + 0xea, 0xea, 0xcc, 0x23, 0xfc, 0x44, 0x05, 0x35, 0x2b, 0x9e, 0x14, 0xa2, + 0x4a, 0xc8, 0xd4, 0xf5, 0x86, 0x01, 0x1a, 0x79, 0xb4, 0x4c, 0xbe, 0xac, + 0xb8, 0x96, 0xcd, 0x59, 0x5c, 0xae, 0xa0, 0x0d, 0x07, 0xc5, 0xbd, 0x66, + 0x83, 0xb9, 0x68, 0xfd, 0x88, 0x5f, 0x72, 0xf0, 0x26, 0x60, 0x17, 0x2f, + 0x5e, 0xbc, 0x0c, 0x8c, 0xa7, 0x08, 0x02, 0x0c, 0x5c, 0x37, 0xe1, 0x83, + 0xa0, 0x7a, 0xc0, 0xf5, 0x7d, 0x10, 0xca, 0xbc, 0x12, 0xb6, 0xec, 0xdb, + 0x0f, 0x69, 0x38, 0x51, 0x5a, 0x38, 0x91, 0xe0, 0x04, 0xb0, 0xa2, 0xa0, + 0x5c, 0xae, 0x8f, 0x5f, 0xba, 0x34, 0x31, 0x33, 0x3e, 0x3e, 0xd1, 0x5c, + 0xbd, 0x7a, 0x65, 0x27, 0xc0, 0xd8, 0x20, 0xdc, 0xaf, 0x03, 0x2c, 0xd6, + 0x47, 0xfa, 0x85, 0x81, 0x24, 0x0c, 0x05, 0xcd, 0x57, 0x80, 0x4f, 0x0b, + 0x4a, 0x01, 0x7a, 0x3b, 0x07, 0x74, 0xb3, 0xbb, 0xa7, 0xa7, 0xb7, 0x1b, + 0x3e, 0xcb, 0x24, 0x78, 0x9d, 0x0b, 0x6c, 0xa8, 0x08, 0x0a, 0xb8, 0xb4, + 0x75, 0xeb, 0xd6, 0x6e, 0x85, 0xed, 0x8a, 0x20, 0x54, 0xab, 0x15, 0xf9, + 0x79, 0xb5, 0x27, 0xb4, 0xd6, 0xfb, 0x5b, 0x73, 0x02, 0x33, 0x0f, 0x68, + 0x8d, 0x03, 0xe6, 0x75, 0x10, 0xef, 0xf2, 0xe0, 0x79, 0x43, 0x97, 0x2e, + 0x5d, 0xb2, 0xb4, 0x02, 0x50, 0x22, 0x2e, 0x58, 0x61, 0x27, 0xf8, 0xbe, + 0x6b, 0x5b, 0x71, 0x0b, 0x89, 0xa2, 0x96, 0x6a, 0xaf, 0x46, 0x95, 0x84, + 0x0a, 0xb0, 0x72, 0xd0, 0x24, 0xa4, 0x81, 0x15, 0x0a, 0xb5, 0xdc, 0x4c, + 0xd5, 0x29, 0x38, 0x4b, 0x25, 0xa2, 0x27, 0x34, 0x11, 0x8f, 0x54, 0x7f, + 0x0e, 0x6c, 0x20, 0x84, 0x00, 0xbb, 0x06, 0x7a, 0xfb, 0xfb, 0x81, 0x56, + 0x26, 0x40, 0x01, 0x0e, 0x87, 0x84, 0x0a, 0x32, 0x6f, 0x56, 0x01, 0x68, + 0x68, 0xa0, 0xd5, 0x22, 0xbc, 0xc8, 0xb1, 0x02, 0x0c, 0x32, 0x71, 0x8d, + 0x26, 0x05, 0x5f, 0xe8, 0xca, 0xf1, 0xe3, 0xc7, 0x0f, 0x00, 0x9f, 0x1e, + 0x83, 0x7b, 0xd4, 0x20, 0x98, 0x06, 0xf0, 0xa5, 0x52, 0x1d, 0x90, 0xbc, + 0x3c, 0xf4, 0xd0, 0x43, 0xb7, 0x6f, 0xdb, 0xb6, 0x6d, 0x3d, 0xdc, 0x33, + 0xf4, 0xb1, 0x55, 0x12, 0xc7, 0x42, 0x91, 0x04, 0x87, 0x22, 0xc4, 0xc0, + 0x8c, 0x9e, 0x06, 0xd7, 0x17, 0x3d, 0xaf, 0x99, 0x87, 0x73, 0x57, 0xe0, + 0xb3, 0x00, 0x0c, 0xe5, 0x1b, 0x10, 0x1f, 0x26, 0xa6, 0xa7, 0xa7, 0x37, + 0x82, 0x97, 0x38, 0x5a, 0x88, 0xd5, 0x6a, 0x0d, 0x33, 0x6e, 0x25, 0x68, + 0xc9, 0xa8, 0x15, 0x2b, 0x94, 0x02, 0xc6, 0x63, 0x26, 0x1b, 0xd2, 0x2c, + 0xa8, 0x25, 0x11, 0x6b, 0xb7, 0x01, 0x74, 0xba, 0x90, 0x8f, 0x64, 0x75, + 0x12, 0xac, 0x15, 0x60, 0x27, 0x93, 0xa9, 0x4c, 0xc2, 0xb1, 0x22, 0xba, + 0xa9, 0x2a, 0x97, 0xb1, 0x40, 0xa5, 0xf0, 0x75, 0x0b, 0x39, 0x55, 0x34, + 0x19, 0x75, 0xbf, 0x09, 0x3d, 0x54, 0xa9, 0x9f, 0xb0, 0xb8, 0xd6, 0x0f, + 0xdf, 0x5c, 0xc5, 0x00, 0x47, 0x15, 0xe8, 0xb0, 0x76, 0x3f, 0x3d, 0x33, + 0x5b, 0x85, 0x27, 0x33, 0xe9, 0x54, 0x3a, 0x44, 0x05, 0x80, 0x30, 0x52, + 0x00, 0x3f, 0x09, 0x08, 0xc4, 0xd3, 0xe0, 0x0d, 0x22, 0x66, 0x37, 0x96, + 0x6a, 0x86, 0x50, 0x94, 0x2c, 0x05, 0xca, 0xb8, 0xfa, 0xd2, 0x4b, 0x2f, + 0x3d, 0xf9, 0x8d, 0x6f, 0x7c, 0x63, 0x42, 0x55, 0x38, 0xd5, 0x5b, 0x95, + 0x4a, 0x0b, 0x0d, 0xd8, 0x26, 0xbf, 0xf9, 0xcd, 0x6f, 0xfe, 0xb4, 0xd1, + 0x68, 0x36, 0x77, 0xef, 0xde, 0xbd, 0x15, 0x3c, 0xc6, 0x0f, 0x82, 0x30, + 0x2a, 0xd6, 0xc9, 0xb4, 0x1f, 0x94, 0x09, 0x02, 0x28, 0x41, 0x22, 0xd4, + 0x03, 0xca, 0x48, 0xc3, 0xf3, 0x1a, 0x52, 0x5e, 0xf8, 0x88, 0xf3, 0x93, + 0x93, 0x93, 0x35, 0xf0, 0x90, 0x5c, 0x00, 0xf7, 0xc5, 0xcf, 0x8c, 0x10, + 0x84, 0x19, 0x72, 0x94, 0x6a, 0x0a, 0x95, 0x5c, 0x62, 0x62, 0x19, 0x0a, + 0x16, 0x3d, 0x5f, 0x94, 0xfd, 0x92, 0x62, 0x5a, 0xa9, 0xa9, 0x7e, 0x3d, + 0xbe, 0x16, 0x3f, 0x0e, 0x40, 0x66, 0x07, 0xe5, 0x60, 0x51, 0x93, 0x8c, + 0x03, 0xf4, 0x2f, 0xe3, 0x80, 0xcb, 0x39, 0xaa, 0xd3, 0x4f, 0xe1, 0xbd, + 0xb4, 0x40, 0xf5, 0x1c, 0xe3, 0x80, 0xe3, 0xaa, 0xd9, 0xa0, 0x2e, 0x32, + 0x1f, 0x17, 0x6f, 0x64, 0x49, 0x5c, 0x77, 0x1d, 0x8b, 0x1e, 0x33, 0xb9, + 0xb9, 0x72, 0xae, 0x1c, 0x87, 0x6b, 0x78, 0x14, 0x47, 0xe2, 0x31, 0xda, + 0x04, 0x9b, 0x2f, 0x96, 0xca, 0x20, 0xf8, 0x0a, 0x04, 0x7e, 0x14, 0x08, + 0x1a, 0x54, 0x02, 0x3e, 0xac, 0x0f, 0x1f, 0xa1, 0x81, 0x42, 0x22, 0xcb, + 0xc7, 0x80, 0x8b, 0x78, 0x8f, 0xc1, 0xd4, 0x06, 0xab, 0xf1, 0x00, 0x2a, + 0x5e, 0xfc, 0xfe, 0xf7, 0xbf, 0x7f, 0x11, 0x84, 0x2f, 0x28, 0x91, 0xf1, + 0xa9, 0xc6, 0x2e, 0xb5, 0x01, 0x42, 0xab, 0xfd, 0xf8, 0xc7, 0x7f, 0x7f, + 0xe0, 0xdc, 0xb9, 0xb3, 0x93, 0xf8, 0x1a, 0x84, 0xad, 0xc5, 0x65, 0x04, + 0x2c, 0xf8, 0xb9, 0x0d, 0x78, 0x8c, 0x1e, 0x91, 0x02, 0xc5, 0x07, 0x08, + 0x77, 0x70, 0x69, 0x19, 0xbc, 0xa0, 0x8c, 0x02, 0xf5, 0x08, 0xcf, 0x21, + 0x87, 0x60, 0x4d, 0xaf, 0xc9, 0xfc, 0x00, 0x9e, 0xfb, 0x1e, 0x0b, 0x30, + 0xd8, 0xc2, 0x1e, 0x7b, 0xa2, 0x7c, 0xdc, 0xe3, 0xf1, 0xa0, 0x85, 0xf1, + 0x80, 0xd7, 0x61, 0xd7, 0x88, 0x89, 0xfb, 0x52, 0x11, 0x70, 0x0c, 0x69, + 0x38, 0x6e, 0x88, 0x02, 0xa9, 0x74, 0x2a, 0x4b, 0xb9, 0x17, 0xd7, 0xa5, + 0x08, 0xa7, 0xa3, 0x23, 0x93, 0xc5, 0xb1, 0x53, 0x35, 0x64, 0x68, 0x45, + 0x73, 0xb6, 0x2c, 0x1a, 0xad, 0x62, 0x96, 0x1e, 0x24, 0xa1, 0x81, 0x46, + 0xa3, 0xdd, 0x4d, 0x16, 0xea, 0x04, 0xa7, 0x72, 0x85, 0x45, 0xf0, 0xa3, + 0x62, 0x86, 0x2f, 0xb8, 0x8c, 0x03, 0x9c, 0xab, 0x7a, 0x0f, 0x7a, 0x02, + 0xc0, 0x4d, 0x0d, 0x4b, 0x0d, 0x58, 0x1e, 0xc0, 0xc4, 0x09, 0x20, 0x01, + 0x3f, 0x4c, 0x00, 0x4a, 0xf1, 0x2d, 0x55, 0xff, 0xd0, 0x6c, 0x46, 0x17, + 0xc8, 0xb0, 0xd8, 0x36, 0x79, 0xea, 0xd4, 0xa9, 0xb3, 0x00, 0x21, 0xba, + 0x78, 0xef, 0xb7, 0x94, 0x6c, 0xe4, 0x20, 0x05, 0x30, 0x9d, 0xb9, 0x57, + 0x5e, 0x39, 0x79, 0x76, 0xf5, 0xea, 0x35, 0x83, 0x42, 0x4d, 0x81, 0x52, + 0xd5, 0x73, 0x9a, 0x8c, 0x06, 0x2c, 0xc8, 0xaf, 0xd7, 0x1b, 0x10, 0x43, + 0xbd, 0xa4, 0x9c, 0x9b, 0x09, 0x41, 0x0f, 0xe3, 0x3f, 0xb0, 0xaf, 0x9a, + 0xc9, 0xd9, 0xf1, 0x3b, 0x60, 0xf7, 0x1f, 0x73, 0x50, 0xa0, 0x22, 0x2a, + 0xc1, 0xcb, 0x09, 0x85, 0x22, 0x34, 0x3c, 0x80, 0xca, 0xf2, 0x38, 0xf3, + 0x13, 0x33, 0x7f, 0x04, 0xbd, 0x30, 0x90, 0xc7, 0x17, 0x27, 0x6f, 0x21, + 0x55, 0x46, 0x01, 0x47, 0x93, 0xe9, 0xac, 0x1e, 0x8b, 0xd1, 0x0a, 0x70, + 0x01, 0x7b, 0xb3, 0x8e, 0xab, 0x7b, 0x28, 0x69, 0x68, 0xdd, 0xb2, 0x62, + 0x85, 0x58, 0x56, 0xdc, 0xdf, 0xa9, 0x27, 0x46, 0xd0, 0x62, 0x19, 0xdc, + 0x8a, 0x27, 0xd2, 0x69, 0x8f, 0x17, 0xd4, 0x72, 0x82, 0x72, 0x41, 0xc5, + 0xc9, 0xd6, 0x41, 0xa4, 0xb5, 0xb6, 0x8b, 0xd6, 0xe3, 0x43, 0x52, 0xe4, + 0x39, 0x34, 0x84, 0x28, 0x54, 0xbb, 0x5b, 0x08, 0x06, 0x40, 0xfc, 0x9e, + 0x45, 0xf7, 0xc1, 0x42, 0x1f, 0xc0, 0x12, 0xce, 0x5a, 0x9c, 0x3f, 0x7d, + 0xfa, 0xf4, 0x02, 0xc5, 0xf6, 0xb0, 0x65, 0x64, 0xc9, 0xec, 0x35, 0xb1, + 0xce, 0x9e, 0x3d, 0x33, 0x09, 0x16, 0x1c, 0x52, 0xe6, 0xac, 0x0c, 0x42, + 0x05, 0x58, 0x79, 0x7f, 0xe5, 0x00, 0xc2, 0xd1, 0xc9, 0x1c, 0x78, 0x22, + 0x28, 0xa5, 0xee, 0xa3, 0x45, 0x87, 0x81, 0x4a, 0xc8, 0x7c, 0xf4, 0x06, + 0xaf, 0x29, 0x0d, 0x55, 0x04, 0x74, 0x0f, 0xac, 0x77, 0xc9, 0x9e, 0xd5, + 0x90, 0x09, 0xc1, 0x5a, 0xea, 0x3f, 0x4a, 0xf0, 0x52, 0xe0, 0x72, 0x9a, + 0xad, 0x91, 0x49, 0xb7, 0x64, 0xcf, 0xa9, 0x54, 0x62, 0x91, 0x07, 0xc8, + 0x5c, 0xc0, 0x96, 0x7f, 0x96, 0xb4, 0x56, 0x5b, 0xf7, 0x50, 0xd2, 0x64, + 0x66, 0x4e, 0xad, 0x85, 0x6a, 0x4e, 0x16, 0x8f, 0xfa, 0x2d, 0x23, 0xac, + 0xd6, 0xe3, 0xb0, 0x82, 0xea, 0x16, 0x42, 0xd5, 0x87, 0xa4, 0xf5, 0xf2, + 0x50, 0xb5, 0x0a, 0x3a, 0x4a, 0x49, 0x36, 0xc5, 0x02, 0xb0, 0x3a, 0xa2, + 0x95, 0x51, 0x4d, 0x47, 0xe8, 0x49, 0x1a, 0xca, 0xf2, 0xed, 0xa8, 0xfc, + 0x04, 0x9f, 0x0b, 0x02, 0x69, 0x10, 0x80, 0xf5, 0xfb, 0x24, 0xd1, 0xc0, + 0x98, 0x2e, 0xfa, 0xa6, 0x6e, 0x83, 0x46, 0xa3, 0x1e, 0x48, 0x73, 0xe7, + 0x51, 0xfd, 0x5e, 0x22, 0x11, 0xbd, 0x04, 0x20, 0x07, 0x65, 0x8f, 0x8a, + 0x97, 0x31, 0x42, 0x52, 0x57, 0x84, 0x0f, 0x0d, 0x29, 0x5a, 0xa0, 0x08, + 0x3b, 0xf2, 0xeb, 0x90, 0x95, 0xd3, 0x7f, 0x38, 0x17, 0xd0, 0x14, 0x5a, + 0x53, 0x09, 0xca, 0x53, 0x98, 0x0c, 0xd2, 0x61, 0xec, 0x1d, 0x2d, 0x0a, + 0x50, 0x4a, 0x8a, 0x0d, 0x46, 0x07, 0xe1, 0xa0, 0x51, 0x6f, 0xd4, 0xd4, + 0x97, 0xb5, 0xa3, 0x6e, 0x62, 0x59, 0xe3, 0xa1, 0xa6, 0x28, 0xdb, 0xd6, + 0xbd, 0x35, 0x71, 0x97, 0x31, 0x09, 0x2a, 0x6a, 0xc4, 0x32, 0x5b, 0x13, + 0x75, 0x05, 0x15, 0xbd, 0x16, 0x03, 0xaf, 0xb0, 0x14, 0x34, 0xd9, 0x72, + 0x8c, 0x37, 0x65, 0x03, 0xdf, 0xa7, 0x0c, 0x17, 0xb9, 0xbe, 0xe4, 0xee, + 0x2e, 0x95, 0x1b, 0x8c, 0x41, 0x0f, 0x55, 0xe1, 0x6b, 0x36, 0xfd, 0x60, + 0xd5, 0xaa, 0x55, 0x1d, 0xf7, 0xdc, 0x73, 0x4f, 0xea, 0x07, 0x3f, 0xf8, + 0x41, 0xb9, 0xcd, 0xf2, 0x01, 0xe6, 0xb2, 0x02, 0xfe, 0xda, 0xb5, 0xeb, + 0x0b, 0x00, 0x67, 0xdc, 0xf3, 0x7c, 0x42, 0x0a, 0xd9, 0xbc, 0xc4, 0x42, + 0xb9, 0xf6, 0x44, 0xc8, 0x5d, 0x57, 0xf2, 0xe1, 0x40, 0x90, 0x90, 0xf0, + 0x98, 0x93, 0x80, 0xfc, 0xdc, 0x84, 0x20, 0x49, 0x20, 0x10, 0xb7, 0x59, + 0x0c, 0x41, 0x8c, 0x47, 0xc2, 0x56, 0x0d, 0xc3, 0xa1, 0xa1, 0x84, 0xc5, + 0x5e, 0x11, 0xb6, 0x28, 0x40, 0xbd, 0xbf, 0x8a, 0x05, 0x18, 0xab, 0xf4, + 0x4c, 0x4b, 0x0d, 0x41, 0x21, 0xb8, 0x60, 0x55, 0xd6, 0x6d, 0x2c, 0xec, + 0xad, 0x27, 0x21, 0xa3, 0x80, 0xb8, 0x6a, 0x05, 0xb1, 0x6d, 0xaa, 0xff, + 0x90, 0x77, 0x98, 0x6d, 0x7f, 0x71, 0x2b, 0xa2, 0x15, 0x77, 0x49, 0x0b, + 0xa5, 0x00, 0x54, 0xa6, 0x5b, 0x73, 0xa9, 0xb4, 0xa7, 0x5a, 0xf7, 0x00, + 0xed, 0xdc, 0x62, 0xb1, 0x64, 0x6b, 0x08, 0x80, 0x63, 0x1e, 0xec, 0x32, + 0x40, 0x1d, 0x25, 0x22, 0xa9, 0xca, 0xb8, 0xd9, 0x83, 0x6f, 0xfb, 0xc0, + 0x48, 0x7a, 0x97, 0x2f, 0x5f, 0x3e, 0x08, 0xc7, 0x4e, 0x0b, 0x35, 0x75, + 0xbe, 0xdd, 0x1f, 0xc0, 0x98, 0x9b, 0x5e, 0xb7, 0x6e, 0xdd, 0x0a, 0xf4, + 0x20, 0xec, 0xe6, 0x60, 0x2c, 0xb6, 0x4e, 0xc4, 0x1d, 0x08, 0xe0, 0x18, + 0x4f, 0x5c, 0xf8, 0xac, 0x0d, 0x65, 0xc9, 0xd8, 0xbe, 0x12, 0xd8, 0xb9, + 0x6c, 0x87, 0x6c, 0xbb, 0xd4, 0x0a, 0x90, 0xe3, 0xd8, 0x10, 0x90, 0x79, + 0x68, 0xb0, 0x1e, 0x95, 0x08, 0x10, 0xab, 0x61, 0xd1, 0x1e, 0xab, 0xbe, + 0xa1, 0x3e, 0x47, 0xd7, 0xea, 0x38, 0x21, 0xad, 0x9f, 0x29, 0x36, 0xc8, + 0xe4, 0x7b, 0x79, 0xac, 0x52, 0xae, 0x54, 0xcc, 0x72, 0xb4, 0xfc, 0xe0, + 0xb5, 0x7a, 0xb5, 0x2c, 0x27, 0x9e, 0xb8, 0x8b, 0xe7, 0xd2, 0xea, 0xa6, + 0x56, 0x29, 0x74, 0x5b, 0x0d, 0xcd, 0x38, 0x72, 0x82, 0x5c, 0x3c, 0xc1, + 0x39, 0xee, 0x03, 0xb5, 0xe4, 0x9b, 0x50, 0xf1, 0x8c, 0x71, 0x5b, 0xb1, + 0x99, 0x64, 0x22, 0xc9, 0x9a, 0x34, 0x46, 0x8a, 0x9e, 0xd4, 0xdb, 0xdb, + 0x93, 0x1d, 0x1f, 0x1f, 0x4f, 0xc1, 0xf5, 0x65, 0x54, 0x3a, 0x58, 0x6b, + 0x1d, 0x67, 0x99, 0x00, 0xe6, 0x26, 0x50, 0x30, 0x46, 0xeb, 0x38, 0x65, + 0x19, 0x0c, 0x12, 0xaf, 0x4a, 0xfa, 0xfe, 0xfb, 0xef, 0xbf, 0x1d, 0x04, + 0x34, 0xf9, 0xe5, 0x2f, 0x7f, 0xb9, 0xd8, 0x82, 0xfb, 0x7a, 0xe6, 0x8a, + 0x78, 0xe8, 0xa1, 0x87, 0xb7, 0x6d, 0xde, 0x7c, 0xcb, 0x72, 0x80, 0x13, + 0xb4, 0x70, 0xae, 0xac, 0x9f, 0xe9, 0x38, 0x20, 0x6b, 0x62, 0x38, 0x80, + 0x0f, 0xf7, 0xa9, 0xe2, 0x38, 0x82, 0x52, 0x8a, 0x97, 0xce, 0x82, 0x55, + 0x20, 0xdb, 0x41, 0xec, 0x46, 0x61, 0xe1, 0xda, 0x15, 0x38, 0xb3, 0x3f, + 0xb0, 0xb4, 0xc0, 0xc3, 0xc8, 0xd9, 0x02, 0x82, 0x1a, 0xa6, 0x1a, 0x3a, + 0xa8, 0x51, 0x41, 0x53, 0x53, 0x52, 0x8c, 0x91, 0xac, 0x05, 0xb4, 0xe7, + 0x32, 0xae, 0x78, 0xac, 0x0e, 0x18, 0x69, 0x2a, 0x40, 0x62, 0x2a, 0xf0, + 0xe7, 0x2a, 0xbe, 0xb1, 0x09, 0x41, 0xd1, 0xd4, 0x1e, 0x14, 0x1c, 0x0d, + 0x19, 0x4a, 0x21, 0x1a, 0x8d, 0xae, 0x51, 0x50, 0x5e, 0xd4, 0xf1, 0x16, + 0xf7, 0x1e, 0xa1, 0x47, 0x25, 0x52, 0x49, 0x16, 0xd4, 0xeb, 0x11, 0x74, + 0xf5, 0xf7, 0xf7, 0xe7, 0xb0, 0x20, 0x05, 0x97, 0x5e, 0x51, 0x72, 0xb3, + 0x71, 0x18, 0x11, 0xbc, 0xb0, 0x86, 0x99, 0xec, 0x82, 0xc1, 0xdd, 0x05, + 0x15, 0xca, 0x00, 0x36, 0xdc, 0xe6, 0xcc, 0xcc, 0xcc, 0xea, 0x0f, 0x7d, + 0xe8, 0x43, 0x1f, 0x85, 0x43, 0x7b, 0xbf, 0xfa, 0xd5, 0xaf, 0x4e, 0x61, + 0x2e, 0xa0, 0x07, 0x54, 0xc0, 0x8b, 0x92, 0x9f, 0xf9, 0xcc, 0x67, 0x76, + 0x00, 0x4c, 0xdd, 0x05, 0x8f, 0x39, 0xf6, 0x01, 0x69, 0xe6, 0x81, 0x82, + 0x46, 0x0f, 0x40, 0xeb, 0x83, 0x5b, 0x77, 0x81, 0xc2, 0x3d, 0xf0, 0xc0, + 0x1a, 0x9c, 0xb7, 0x60, 0x03, 0xf8, 0xf7, 0x3b, 0xbb, 0xba, 0x3a, 0x3b, + 0x64, 0x29, 0x02, 0x61, 0x08, 0x94, 0x60, 0xe1, 0x40, 0x3d, 0x0a, 0xd6, + 0x0f, 0x62, 0xfc, 0x17, 0x8b, 0xb3, 0x7c, 0x46, 0x49, 0x1a, 0x33, 0x60, + 0x47, 0x07, 0x0a, 0x6d, 0xf1, 0x21, 0x35, 0x2b, 0x28, 0x06, 0x00, 0x9c, + 0xb9, 0xd1, 0xc4, 0x52, 0x47, 0x85, 0x20, 0x28, 0x1a, 0x11, 0x0b, 0x21, + 0x11, 0x02, 0x1a, 0x26, 0x02, 0x1b, 0xfc, 0x5d, 0x5a, 0x3d, 0xad, 0xa3, + 0xa0, 0x99, 0x8a, 0x6c, 0xf1, 0x8e, 0x3c, 0x41, 0xcf, 0xcf, 0xa2, 0x16, + 0x45, 0xcb, 0x98, 0x94, 0x61, 0xb6, 0x6e, 0xc8, 0x82, 0x1c, 0x76, 0x39, + 0x24, 0x64, 0x77, 0x9a, 0x9e, 0x43, 0xd0, 0xd7, 0xd7, 0xef, 0x66, 0xb3, + 0xd9, 0x61, 0x80, 0x95, 0xd7, 0x21, 0x01, 0xc4, 0x1a, 0x8e, 0x97, 0xcd, + 0xe6, 0xaa, 0x60, 0xe5, 0x59, 0x80, 0x42, 0x60, 0x64, 0x59, 0x5f, 0x96, + 0x3f, 0xb8, 0x9a, 0x25, 0x83, 0xc6, 0x03, 0x16, 0x8b, 0x3d, 0x3f, 0xfe, + 0xc2, 0x42, 0x79, 0xd3, 0xae, 0x5d, 0xbb, 0xfa, 0x37, 0x6f, 0xde, 0xfc, + 0xfa, 0xc5, 0x8b, 0x63, 0x93, 0xfb, 0xf7, 0x1f, 0x68, 0xdc, 0x76, 0xdb, + 0x6d, 0xbd, 0xdd, 0xdd, 0xdd, 0x6b, 0x06, 0x06, 0x06, 0x47, 0x90, 0x59, + 0xc2, 0x7b, 0xc9, 0x22, 0x5c, 0x5c, 0x4e, 0x16, 0x14, 0x9c, 0x1b, 0x49, + 0x88, 0x3f, 0x05, 0x38, 0x3f, 0x87, 0xf8, 0x04, 0x5b, 0x02, 0x7b, 0x89, + 0x12, 0x8e, 0x3b, 0xdc, 0x99, 0xcb, 0xb9, 0x3e, 0xb0, 0x9e, 0x90, 0xac, + 0x18, 0xbf, 0x09, 0x2e, 0xaf, 0x80, 0x1e, 0xa1, 0x2d, 0x5d, 0xd3, 0x6b, + 0x6d, 0xfd, 0x8a, 0xd4, 0x08, 0xc3, 0xfa, 0xe9, 0x3c, 0x13, 0x14, 0x90, + 0x99, 0x8a, 0x13, 0xe4, 0x15, 0xa8, 0x0d, 0xcf, 0x6b, 0x80, 0xb1, 0xd7, + 0xab, 0xad, 0x1e, 0x10, 0xce, 0xcf, 0xcf, 0x5f, 0x2d, 0x2d, 0x2c, 0x54, + 0x86, 0x86, 0x07, 0xf3, 0xb6, 0xee, 0xa9, 0xd7, 0x6b, 0x28, 0x38, 0xd4, + 0xec, 0x4a, 0x3d, 0x85, 0x36, 0xd1, 0x52, 0x35, 0x60, 0x63, 0xe9, 0x79, + 0xa9, 0x51, 0x1c, 0x68, 0x6d, 0xdd, 0xc8, 0x74, 0x74, 0xb0, 0x4a, 0xad, + 0x16, 0x79, 0x05, 0x0e, 0xcf, 0x8d, 0x8e, 0x8e, 0x2e, 0x3b, 0x7f, 0xfe, + 0x7c, 0x47, 0x3e, 0x9f, 0x2f, 0xa3, 0x52, 0xc1, 0x2a, 0xe7, 0x72, 0xb9, + 0xdc, 0xca, 0xd9, 0xd9, 0xd9, 0x4e, 0x38, 0x3f, 0xbd, 0xb8, 0x05, 0x47, + 0x06, 0x30, 0x0b, 0x32, 0x5b, 0x64, 0x2c, 0x4d, 0x78, 0x9c, 0x07, 0x25, + 0xed, 0xdc, 0xb4, 0x69, 0x33, 0xbf, 0xf5, 0xd6, 0xad, 0x1c, 0x02, 0x3a, + 0x0a, 0x1c, 0x20, 0x1b, 0x80, 0xc7, 0xc7, 0xc7, 0xbe, 0x15, 0x53, 0x43, + 0x41, 0x38, 0xef, 0xc1, 0x25, 0x61, 0x1f, 0xdc, 0x3b, 0x01, 0x49, 0xd7, + 0x55, 0xf4, 0x12, 0xcf, 0x13, 0xc1, 0x42, 0xb1, 0x94, 0xeb, 0x29, 0x74, + 0x2f, 0x77, 0x01, 0x26, 0x55, 0x16, 0x1c, 0x28, 0xe8, 0x05, 0x19, 0x60, + 0xc0, 0x8c, 0xfa, 0x9e, 0x48, 0xee, 0x72, 0xd4, 0x55, 0x43, 0x0e, 0x59, + 0xb7, 0x24, 0xa8, 0x42, 0xd5, 0xc1, 0x44, 0x18, 0x8f, 0x8b, 0xc8, 0xab, + 0xe8, 0x5a, 0x5d, 0xaf, 0x99, 0x9d, 0x2f, 0x96, 0x4b, 0xa5, 0xd2, 0x15, + 0x4d, 0xa3, 0xf5, 0xe2, 0x1a, 0x02, 0xdc, 0xfb, 0xd2, 0xd4, 0x95, 0x2b, + 0x57, 0xf5, 0x9a, 0x0a, 0x1a, 0x72, 0x6c, 0x73, 0xc6, 0xf9, 0x22, 0x78, + 0xa2, 0xb6, 0x6f, 0xc7, 0x31, 0xa6, 0xfd, 0x3b, 0xd1, 0xa6, 0x5b, 0x00, + 0x31, 0xb9, 0xc3, 0x11, 0xa6, 0x44, 0x22, 0x19, 0xcd, 0x30, 0xc4, 0x0d, + 0x58, 0xcd, 0x10, 0x7c, 0x9e, 0x11, 0x80, 0x0a, 0xc4, 0x6a, 0xd0, 0xa9, + 0x55, 0x03, 0xaf, 0x28, 0x62, 0xb0, 0x05, 0x63, 0x48, 0xaa, 0x1a, 0x10, + 0x8f, 0x46, 0xc0, 0x54, 0x91, 0x0b, 0x7b, 0x7f, 0x9a, 0x16, 0x08, 0x1c, + 0x05, 0x0a, 0x61, 0x25, 0x68, 0xc2, 0xeb, 0x31, 0xab, 0x6a, 0x20, 0xef, + 0x6f, 0x36, 0xeb, 0x70, 0xde, 0x47, 0x45, 0xc9, 0xaf, 0x05, 0xc2, 0xe3, + 0xe4, 0x09, 0x41, 0xb5, 0x5a, 0xcb, 0x80, 0x97, 0x2c, 0x03, 0xe8, 0x99, + 0x02, 0xc8, 0x03, 0xfc, 0x0f, 0x6d, 0xb8, 0x17, 0xbc, 0xa6, 0x39, 0xda, + 0xdb, 0x37, 0x30, 0x20, 0xd7, 0x2a, 0x42, 0x96, 0x14, 0xa8, 0x86, 0x31, + 0x2c, 0xd5, 0x78, 0xa1, 0x5a, 0x44, 0x0a, 0xa7, 0xc2, 0x61, 0xe5, 0x23, + 0x80, 0x04, 0x1c, 0xe9, 0x2a, 0x44, 0x17, 0xf8, 0x2c, 0xaa, 0xe8, 0x16, + 0xe8, 0x1a, 0x10, 0x66, 0xc0, 0x81, 0xf2, 0x18, 0x21, 0x8f, 0xc1, 0x3e, + 0xa0, 0x84, 0x4c, 0x07, 0x77, 0x38, 0x7e, 0xf9, 0xf2, 0xe4, 0x34, 0x24, + 0x7d, 0x97, 0x35, 0xf2, 0x68, 0x0f, 0x40, 0x5c, 0x9a, 0x9d, 0x9a, 0x9a, + 0xbc, 0x0a, 0x92, 0x58, 0x23, 0xdb, 0xbb, 0xe5, 0xdc, 0x5a, 0x4b, 0x0a, + 0x51, 0x4f, 0x70, 0x88, 0x67, 0x3f, 0xea, 0xb9, 0x56, 0x34, 0xe1, 0xad, + 0x25, 0x16, 0x70, 0x5d, 0xa1, 0xd3, 0xfd, 0x8f, 0x10, 0x8c, 0x71, 0xb0, + 0xbb, 0x58, 0x2c, 0x46, 0xcc, 0x66, 0x64, 0x64, 0xc4, 0xed, 0xed, 0xed, + 0xbb, 0x05, 0xac, 0xe1, 0x4c, 0x3a, 0x9d, 0xf2, 0x55, 0x17, 0xb3, 0x7b, + 0xa5, 0x50, 0x28, 0xac, 0x82, 0x64, 0x76, 0x10, 0x3c, 0x62, 0x3c, 0x97, + 0xcb, 0xa3, 0xd9, 0xe2, 0x60, 0xbc, 0xa4, 0xa4, 0x54, 0x99, 0x44, 0x01, + 0x63, 0x06, 0xcb, 0xb1, 0xf0, 0xa9, 0x29, 0x20, 0x58, 0x3f, 0x0a, 0x9b, + 0x87, 0x11, 0xe5, 0xc3, 0x00, 0xab, 0x7a, 0xa3, 0x00, 0xda, 0x12, 0xf9, + 0x7c, 0x6e, 0x1d, 0xc4, 0x0c, 0x50, 0x54, 0x73, 0xc2, 0xc2, 0x1a, 0x04, + 0x08, 0xa5, 0x5c, 0x5e, 0x48, 0x42, 0x52, 0xba, 0xa9, 0xd0, 0x33, 0xe4, + 0x7a, 0xbe, 0x50, 0xeb, 0x18, 0xe1, 0x7b, 0xd9, 0x29, 0x48, 0xc4, 0x20, + 0x71, 0x94, 0xc2, 0x54, 0x99, 0x3f, 0xe6, 0x33, 0x4c, 0xcf, 0x0c, 0x92, + 0x56, 0x2d, 0x16, 0x65, 0x21, 0x8b, 0xe2, 0x84, 0x88, 0xc0, 0x2a, 0xca, + 0x8e, 0x35, 0x0c, 0x4d, 0x5c, 0xba, 0x34, 0x09, 0x06, 0x33, 0xcb, 0xa2, + 0x55, 0x92, 0x28, 0x08, 0xc3, 0xdf, 0xc2, 0xf8, 0xf8, 0xc4, 0xc5, 0x80, + 0x9a, 0x4a, 0x6d, 0xbd, 0xe0, 0x91, 0xb1, 0xae, 0x82, 0x7a, 0x1c, 0x4f, + 0x01, 0x55, 0x6b, 0x33, 0xc4, 0x4b, 0xbd, 0x68, 0xaf, 0x89, 0x82, 0xb7, + 0xb1, 0x01, 0xd4, 0xc8, 0xae, 0x03, 0x1d, 0xb8, 0x81, 0x0a, 0xb2, 0x2d, + 0x5b, 0xb6, 0xac, 0x85, 0xf7, 0x5d, 0x0b, 0xd8, 0x8c, 0xef, 0x8f, 0xc1, + 0x07, 0x1b, 0xab, 0x2e, 0xc1, 0xb5, 0xb9, 0xc9, 0xc9, 0xc9, 0x61, 0x10, + 0x90, 0xab, 0x46, 0xbb, 0x14, 0x97, 0xa7, 0xbd, 0x0c, 0xca, 0x48, 0x59, + 0xc1, 0x0b, 0x68, 0x0b, 0x40, 0x49, 0x01, 0xd7, 0x25, 0x04, 0xb4, 0x7c, + 0x45, 0x3a, 0x44, 0x58, 0xa9, 0x94, 0x93, 0xe9, 0x74, 0x7a, 0x13, 0xbc, + 0x77, 0x0a, 0x0c, 0xe0, 0x75, 0x30, 0x2a, 0x00, 0xaa, 0xc0, 0x86, 0xd7, + 0x05, 0xe5, 0x4a, 0x7d, 0xdd, 0xe8, 0x8a, 0x8d, 0x6b, 0xb9, 0x93, 0x06, + 0x2b, 0xe7, 0xcc, 0x0b, 0xb0, 0x4d, 0x26, 0x09, 0xe9, 0x69, 0x27, 0xf3, + 0xc1, 0x36, 0x3d, 0xd8, 0x02, 0x39, 0x3f, 0x01, 0x3b, 0xdc, 0xd4, 0x82, + 0x52, 0xa0, 0x67, 0xb9, 0x9e, 0x11, 0x3e, 0x96, 0x5e, 0xa3, 0xbd, 0x41, + 0x7a, 0x0f, 0xed, 0x85, 0x8a, 0x0f, 0x81, 0xf4, 0x08, 0xca, 0x1d, 0xe0, + 0x60, 0x13, 0x5c, 0xe9, 0xf2, 0xe5, 0xcb, 0xe3, 0xf0, 0x21, 0x4b, 0x66, + 0x10, 0xd6, 0x69, 0x7d, 0x75, 0x6c, 0x6c, 0xec, 0x7c, 0xad, 0xde, 0x10, + 0x1d, 0xd9, 0x1c, 0xd7, 0x42, 0xe5, 0xda, 0xf2, 0x2d, 0x6b, 0x51, 0x6b, + 0xb8, 0x65, 0xac, 0x5a, 0x12, 0x57, 0x4d, 0xaf, 0xdd, 0x77, 0x9f, 0x4c, + 0x26, 0x24, 0xf6, 0xe3, 0x98, 0xab, 0x1e, 0x02, 0x5c, 0xb9, 0x72, 0x65, + 0x02, 0x94, 0x7e, 0x37, 0xc4, 0x82, 0xf1, 0xbe, 0xbe, 0x44, 0x51, 0x15, + 0x2b, 0x9d, 0x05, 0xc0, 0xf7, 0x09, 0x78, 0xdd, 0xe8, 0xd4, 0xd4, 0x94, + 0x03, 0x70, 0x73, 0xa9, 0xb3, 0x33, 0x5f, 0x43, 0x6f, 0x43, 0xc1, 0x6b, + 0xda, 0x27, 0x83, 0x9c, 0x0e, 0x73, 0x8a, 0x4e, 0x1a, 0x89, 0x10, 0x92, + 0x99, 0x40, 0xd4, 0x6a, 0x55, 0x8c, 0x15, 0xeb, 0xe0, 0x9e, 0xa9, 0xab, + 0x57, 0xa7, 0x4f, 0x61, 0x67, 0x04, 0xdc, 0x03, 0xdb, 0x31, 0xfc, 0xd9, + 0xd9, 0xb9, 0xce, 0x6c, 0xd7, 0xf0, 0x5d, 0x3d, 0xfd, 0x2b, 0x12, 0x75, + 0x60, 0x3f, 0x4c, 0xb8, 0x72, 0x76, 0x47, 0x3a, 0x5d, 0x60, 0x81, 0x9d, + 0x85, 0x7b, 0x62, 0x0e, 0xe0, 0x53, 0xed, 0x2b, 0x94, 0xde, 0x40, 0x8b, + 0x1b, 0xc1, 0x63, 0x41, 0xe3, 0x1a, 0x21, 0x8b, 0x63, 0x72, 0x9c, 0x1b, + 0x70, 0x16, 0x7b, 0x04, 0xa3, 0xe3, 0x28, 0xaf, 0xf2, 0x42, 0x29, 0x04, + 0x94, 0xc7, 0x15, 0xb8, 0x74, 0x22, 0x16, 0x38, 0x46, 0x6a, 0xef, 0x01, + 0x37, 0x1f, 0x83, 0x20, 0xb8, 0x30, 0x3c, 0x34, 0x94, 0xd7, 0x78, 0xad, + 0x1b, 0x6a, 0x63, 0xc1, 0xf3, 0x68, 0xaa, 0xcf, 0xf5, 0x96, 0x79, 0x51, + 0x99, 0xe3, 0xa2, 0x85, 0x2e, 0x64, 0x77, 0xb2, 0x51, 0x4a, 0x66, 0x3b, + 0x76, 0xdc, 0x36, 0x04, 0xef, 0xf9, 0x81, 0x52, 0xa9, 0xb8, 0x07, 0xe0, + 0x07, 0x3f, 0x87, 0x93, 0x48, 0xb8, 0xf3, 0x9c, 0x67, 0x30, 0x2b, 0x5b, + 0x06, 0x0a, 0x5b, 0x03, 0x82, 0xbc, 0x02, 0x9e, 0x31, 0x97, 0x4e, 0x67, + 0x9a, 0xd4, 0x11, 0x21, 0xe3, 0x82, 0xd1, 0xcf, 0x29, 0xa8, 0xdb, 0x2d, + 0x84, 0x18, 0x00, 0x41, 0xb9, 0x99, 0x84, 0xb7, 0x1b, 0x28, 0x14, 0xba, + 0x46, 0x41, 0x81, 0x8d, 0xe9, 0xe9, 0xe9, 0x57, 0x00, 0xde, 0x2a, 0x60, + 0x91, 0x0e, 0x7a, 0xc5, 0xc2, 0x42, 0xc9, 0xf6, 0x78, 0xe2, 0x03, 0x6b, + 0xd6, 0x6f, 0x1f, 0xf6, 0x64, 0x37, 0x85, 0x2d, 0xf1, 0xd9, 0x06, 0xc1, + 0x8b, 0x64, 0x3f, 0x6b, 0xe0, 0x3c, 0x87, 0x10, 0xce, 0x08, 0x4f, 0x4e, + 0x01, 0xc1, 0x2e, 0x63, 0x35, 0x89, 0x30, 0x94, 0xf0, 0xa3, 0x60, 0x23, + 0x8c, 0x94, 0x10, 0xf5, 0x46, 0xc9, 0xf3, 0x16, 0x31, 0x9f, 0x78, 0xd5, + 0x36, 0x41, 0xdf, 0x7f, 0x7a, 0x76, 0xb6, 0x3a, 0x33, 0x3b, 0x73, 0xc1, + 0xe8, 0x92, 0x8e, 0x3a, 0xe3, 0x50, 0x11, 0x2e, 0x76, 0x9b, 0x6d, 0xdf, + 0xbe, 0xfd, 0xce, 0x2d, 0x9b, 0x37, 0xf7, 0x9b, 0x93, 0x20, 0x94, 0x37, + 0x28, 0xc1, 0xc7, 0xf3, 0x6d, 0x2d, 0x66, 0xae, 0xbb, 0x1a, 0x4f, 0x5c, + 0xb0, 0xda, 0xe5, 0x48, 0xf2, 0x1c, 0xc6, 0x13, 0x2a, 0x1b, 0x47, 0x6d, + 0x80, 0x18, 0xa0, 0xf3, 0xf9, 0xce, 0x01, 0x50, 0x7e, 0x08, 0x8a, 0xb9, + 0xa0, 0xa6, 0x14, 0xa1, 0x03, 0x3a, 0x38, 0x30, 0x53, 0xc2, 0x51, 0x2b, + 0xb0, 0xe6, 0x3e, 0x80, 0xa9, 0x02, 0xd0, 0xe7, 0x04, 0x0e, 0x9a, 0xa3, + 0xe0, 0x7d, 0xaa, 0xdd, 0xc0, 0x6b, 0x80, 0xcd, 0x34, 0x9c, 0x5a, 0xad, + 0xe1, 0x82, 0xe0, 0x21, 0xbf, 0x60, 0x43, 0x70, 0xcf, 0x55, 0xf0, 0xba, + 0x02, 0x06, 0x5c, 0xa0, 0xad, 0x67, 0x5d, 0x37, 0xd1, 0x00, 0x2c, 0x76, + 0x21, 0x40, 0x0a, 0x7c, 0xef, 0xf9, 0x4a, 0x7d, 0xf7, 0xea, 0xad, 0xb7, + 0xef, 0xec, 0xc8, 0x77, 0x73, 0x15, 0x44, 0x15, 0xdd, 0x75, 0xb2, 0x23, + 0x8c, 0x27, 0x3b, 0x69, 0x6d, 0x52, 0x8b, 0x96, 0xcc, 0xb4, 0xa9, 0x00, + 0xa7, 0x96, 0xcf, 0x14, 0x34, 0x33, 0x47, 0xae, 0x6d, 0xa7, 0xe7, 0x30, + 0xcb, 0xe5, 0xd6, 0x34, 0xce, 0xd3, 0xe2, 0x0c, 0x61, 0x34, 0x96, 0x48, + 0x65, 0x19, 0x9b, 0x1d, 0x39, 0x7a, 0xe4, 0xec, 0xfe, 0x03, 0x07, 0xbf, + 0x0b, 0xb2, 0xc0, 0x20, 0x2c, 0x57, 0xf4, 0xb5, 0x8d, 0x81, 0x79, 0x17, + 0x2d, 0xb3, 0xb7, 0xb7, 0x77, 0x2d, 0x24, 0x33, 0xb7, 0x02, 0x61, 0x56, + 0xb5, 0xa0, 0x68, 0x76, 0x79, 0x8c, 0xef, 0x6f, 0xb6, 0xfa, 0x37, 0xaf, + 0xbd, 0x70, 0x2d, 0xcf, 0x40, 0x25, 0xa8, 0xe9, 0x43, 0xaa, 0x07, 0x07, + 0x85, 0x09, 0xf4, 0x93, 0x83, 0x85, 0x2f, 0x03, 0x38, 0xc2, 0xe3, 0x17, + 0xe0, 0x1a, 0xe4, 0x7e, 0x98, 0x92, 0x60, 0x12, 0x59, 0x02, 0xc5, 0x97, + 0x41, 0x31, 0x09, 0x50, 0x4a, 0x17, 0x7c, 0x96, 0x3e, 0x50, 0x48, 0x01, + 0xae, 0xc3, 0x36, 0xc5, 0x5e, 0x78, 0x7d, 0x2f, 0x7c, 0xa6, 0x01, 0x38, + 0x3f, 0x04, 0x30, 0xd7, 0x0f, 0x5f, 0x2e, 0x09, 0x3c, 0x7b, 0xae, 0x52, + 0xa9, 0x9c, 0x07, 0x68, 0x9a, 0xc1, 0xa2, 0x1f, 0x18, 0xbd, 0x0d, 0x4c, + 0x24, 0xa8, 0x55, 0x41, 0xf8, 0xb5, 0x85, 0x7b, 0x57, 0x6e, 0xdf, 0xfc, + 0x81, 0xc2, 0x40, 0xbf, 0xed, 0x4b, 0x9a, 0xa9, 0x98, 0x0f, 0xcb, 0x74, + 0x33, 0x3b, 0x37, 0x8c, 0xb5, 0x5b, 0x39, 0xfd, 0x09, 0xbb, 0xf9, 0x42, + 0xd9, 0x90, 0x8f, 0x82, 0x77, 0xd4, 0x9e, 0x29, 0xa1, 0xcb, 0x55, 0x1d, + 0x85, 0x5e, 0xe1, 0x8b, 0xab, 0x45, 0x06, 0xe5, 0x71, 0xa6, 0xf3, 0x96, + 0x45, 0x7b, 0xec, 0x16, 0x6f, 0x82, 0xe1, 0x3c, 0xf9, 0xd3, 0x27, 0x7e, + 0x36, 0x76, 0xf1, 0xe2, 0x1e, 0x78, 0xd1, 0x02, 0x29, 0x20, 0xb0, 0x8d, + 0xbe, 0x20, 0x57, 0x4f, 0xcc, 0xbb, 0xef, 0xbe, 0xfb, 0x76, 0xf7, 0xf4, + 0xf4, 0xb8, 0x7a, 0x54, 0xca, 0x6a, 0x99, 0xea, 0xf9, 0x76, 0xa6, 0x72, + 0xe2, 0xeb, 0x31, 0x00, 0xa3, 0x12, 0x74, 0x0b, 0xb7, 0xec, 0x5c, 0xcd, + 0xe5, 0xac, 0xce, 0xce, 0xce, 0x95, 0x80, 0xfb, 0x59, 0xa0, 0x8c, 0x53, + 0x20, 0xfc, 0x0a, 0x57, 0x53, 0xe1, 0xe1, 0x25, 0xdc, 0x83, 0xcf, 0x51, + 0x84, 0x07, 0x73, 0x20, 0x70, 0xcc, 0x22, 0x3d, 0x87, 0xe8, 0x2f, 0xd2, + 0x13, 0xf8, 0x03, 0x32, 0xda, 0x28, 0x41, 0x82, 0x35, 0x09, 0x5e, 0x71, + 0x19, 0x24, 0x3e, 0x07, 0xaf, 0xc5, 0x4e, 0x78, 0x9b, 0x0a, 0x6e, 0x4d, + 0x80, 0xb8, 0xce, 0x46, 0x58, 0xfd, 0xc8, 0xba, 0xdb, 0xd7, 0xdd, 0xdd, + 0x3d, 0xd8, 0x27, 0x59, 0x50, 0xc8, 0x54, 0xa0, 0xe4, 0xc9, 0x0e, 0x96, + 0xe8, 0x5d, 0x26, 0xfb, 0x95, 0x42, 0x5a, 0xb3, 0x14, 0x85, 0x1f, 0x08, + 0x25, 0x74, 0x29, 0x70, 0x54, 0x06, 0x79, 0x03, 0x7a, 0x40, 0x48, 0x13, + 0x4e, 0xe4, 0x42, 0x83, 0xe4, 0xf1, 0xfa, 0xb1, 0xa0, 0x10, 0xa1, 0x15, + 0x84, 0x72, 0xbb, 0x3c, 0x35, 0x51, 0xfb, 0xf1, 0x63, 0x7f, 0xff, 0xdd, + 0x6a, 0xad, 0x76, 0x8c, 0x84, 0xdf, 0x30, 0x15, 0x10, 0x75, 0x47, 0x97, + 0xcb, 0x65, 0x07, 0x32, 0xcb, 0xdb, 0x37, 0x6e, 0xdc, 0xd8, 0xa7, 0x17, + 0xa3, 0x30, 0x99, 0xd0, 0xcd, 0x4c, 0x6e, 0x6e, 0x37, 0x97, 0x16, 0x3d, + 0x01, 0xe3, 0x81, 0xd9, 0xe0, 0x04, 0x5e, 0xc0, 0xb1, 0x6d, 0x03, 0x70, + 0x7f, 0x19, 0xc6, 0x22, 0xec, 0x16, 0x54, 0x5e, 0x80, 0x64, 0x01, 0x8b, + 0xa6, 0xb2, 0xed, 0xa4, 0x0e, 0x5f, 0x08, 0x94, 0x10, 0x16, 0x71, 0x28, + 0x11, 0xe0, 0x7f, 0x1e, 0x84, 0x56, 0x74, 0x1c, 0xab, 0x82, 0x1d, 0x6f, + 0x74, 0x2f, 0x0b, 0xe9, 0x2b, 0x7c, 0x0a, 0xaf, 0x5a, 0xad, 0xf3, 0x52, + 0x69, 0x76, 0x5d, 0xae, 0x60, 0x7d, 0xfc, 0x96, 0x3b, 0xd6, 0x6d, 0xca, + 0xf7, 0x74, 0x72, 0x35, 0x4c, 0x48, 0xad, 0x22, 0xc9, 0x14, 0x4b, 0xf6, + 0x8f, 0x32, 0xee, 0x66, 0x14, 0xf4, 0x70, 0x5a, 0x2a, 0x93, 0x2c, 0x1e, + 0x47, 0x9b, 0x02, 0xb9, 0x82, 0xa3, 0xa5, 0xce, 0x45, 0x0a, 0xa2, 0xd8, + 0x41, 0x00, 0x12, 0xd2, 0x9c, 0x21, 0xbd, 0xe8, 0xac, 0x82, 0x21, 0xbd, + 0xfe, 0x9d, 0xc5, 0x8e, 0x1e, 0x3b, 0x78, 0x66, 0xdf, 0xfe, 0x7d, 0xdf, + 0x81, 0x8b, 0xc7, 0x0d, 0x05, 0x84, 0x76, 0xcb, 0x4a, 0x28, 0xd8, 0x71, + 0x8c, 0xb5, 0x9a, 0x75, 0xbb, 0x77, 0xef, 0xde, 0x2c, 0xd7, 0xda, 0xb4, + 0xed, 0x37, 0x05, 0xdc, 0xa5, 0xce, 0xaf, 0x6a, 0x37, 0x99, 0x0d, 0x29, + 0xa9, 0x56, 0x82, 0xf6, 0x04, 0x14, 0x08, 0x7a, 0x47, 0x5f, 0x5f, 0x5f, + 0x3e, 0x95, 0x4e, 0x6d, 0x80, 0x1c, 0x01, 0x3b, 0x25, 0x90, 0x31, 0x94, + 0xb0, 0x8e, 0xa5, 0x5e, 0xaa, 0xe9, 0xb3, 0xa5, 0xe6, 0xb0, 0xaa, 0xca, + 0x29, 0x57, 0x89, 0x9a, 0x4c, 0xfb, 0x03, 0x1c, 0x3b, 0x00, 0x6f, 0xb0, + 0x8b, 0x73, 0xb3, 0xcb, 0x12, 0x56, 0xe3, 0x83, 0x6b, 0x57, 0xf7, 0xde, + 0xb7, 0x66, 0xfd, 0x48, 0x77, 0x2a, 0x9d, 0x00, 0xab, 0xf6, 0x25, 0x8b, + 0xc2, 0x44, 0x89, 0x03, 0xcc, 0x66, 0x86, 0x86, 0x98, 0x9d, 0xce, 0xc8, + 0x02, 0x9b, 0xa0, 0x89, 0xe0, 0x82, 0x2c, 0x3b, 0x8c, 0xf6, 0x1a, 0x8a, + 0x64, 0xfb, 0x99, 0xf1, 0x58, 0x09, 0x58, 0x5a, 0xbe, 0x7c, 0xce, 0x62, + 0xe1, 0xd3, 0x7a, 0x17, 0xa1, 0xa4, 0xb0, 0x4d, 0xf6, 0xe4, 0x13, 0x3f, + 0x7c, 0x0a, 0x72, 0x80, 0x27, 0x88, 0x82, 0xd6, 0x68, 0x44, 0x2f, 0xb4, + 0x5b, 0x56, 0xc1, 0x92, 0x03, 0x34, 0xa5, 0xd2, 0x42, 0xea, 0xde, 0x7b, + 0xef, 0xd9, 0x35, 0x3c, 0x3c, 0x9c, 0xd2, 0xc2, 0x37, 0xa1, 0xc7, 0x9c, + 0x29, 0x78, 0xb3, 0xde, 0xa0, 0x83, 0x32, 0x2a, 0x02, 0xe1, 0x48, 0x33, + 0x23, 0x3d, 0xb9, 0xad, 0xbb, 0xd0, 0xed, 0xf4, 0xf6, 0xf5, 0x0e, 0x26, + 0x5c, 0x77, 0x53, 0xbd, 0x5e, 0x5b, 0x51, 0xa9, 0x54, 0xb1, 0x58, 0x86, + 0xe5, 0x64, 0x0c, 0xd6, 0x90, 0x94, 0xf9, 0x58, 0xb6, 0xf1, 0x41, 0xd8, + 0xa1, 0xe7, 0x7b, 0x1c, 0x04, 0x0e, 0x94, 0xb5, 0x99, 0x6e, 0xd4, 0x6b, + 0x7d, 0xd5, 0x85, 0xe2, 0x2d, 0x2e, 0xf7, 0x3f, 0xb0, 0x7a, 0xa8, 0x70, + 0xef, 0x86, 0xd5, 0xc3, 0x90, 0xe9, 0x76, 0x39, 0xb2, 0x53, 0x4e, 0xa8, + 0xa1, 0xc1, 0x00, 0xcb, 0x0d, 0xd9, 0x34, 0xeb, 0x18, 0xe9, 0x63, 0x4e, + 0x26, 0x2d, 0xcb, 0x0f, 0xe6, 0x62, 0xa0, 0x22, 0x12, 0xbe, 0x82, 0x1e, + 0x41, 0xd0, 0x12, 0x1f, 0x8b, 0x3d, 0x44, 0x2a, 0x82, 0x02, 0x33, 0x8b, + 0x1e, 0xd3, 0xf5, 0xa1, 0x5a, 0x36, 0xe1, 0xfc, 0xb9, 0x57, 0x66, 0x1f, + 0xdb, 0xf3, 0xe8, 0xd7, 0x9b, 0x9e, 0xf7, 0x2a, 0x76, 0x7e, 0x90, 0xf5, + 0xfb, 0xad, 0x53, 0x94, 0x02, 0xa2, 0x47, 0xb8, 0x2a, 0xe0, 0xd1, 0x3d, + 0x7b, 0xf6, 0x1c, 0xbc, 0xe5, 0x96, 0x5b, 0x1e, 0xd0, 0xc9, 0x53, 0xbb, + 0x29, 0x3a, 0x4b, 0x99, 0x3f, 0x7b, 0x2d, 0x38, 0xc2, 0x3e, 0x4c, 0xf0, + 0x38, 0xd9, 0x99, 0xac, 0x73, 0x04, 0x3d, 0x7a, 0xd4, 0x91, 0xe9, 0x60, + 0x6b, 0xd6, 0xac, 0x49, 0x0d, 0x0d, 0x0f, 0xad, 0x9d, 0x9f, 0x9b, 0x5f, + 0x0b, 0x1c, 0xba, 0xb6, 0x00, 0x60, 0x0e, 0x38, 0x5a, 0xf2, 0x9b, 0xcd, + 0x92, 0x07, 0x86, 0x0e, 0xc6, 0x8e, 0xdf, 0x3c, 0x01, 0xf6, 0x91, 0x4f, + 0xd9, 0x36, 0x24, 0xcf, 0xb9, 0xae, 0x42, 0x6e, 0x30, 0xdd, 0xd9, 0x91, + 0x66, 0x49, 0x07, 0x97, 0x39, 0x00, 0xe1, 0x36, 0x03, 0xd9, 0xd5, 0x81, + 0x2b, 0xc5, 0x42, 0x9e, 0xc5, 0x3a, 0x7a, 0xb3, 0x2c, 0xd1, 0xdf, 0xc5, + 0x02, 0x17, 0x27, 0x80, 0x57, 0xe5, 0x6c, 0x4b, 0xea, 0x2e, 0x51, 0x59, + 0xaf, 0xfc, 0x7a, 0xae, 0xea, 0xe8, 0x8e, 0x96, 0xd3, 0xb4, 0xe3, 0x85, + 0x05, 0x7d, 0x1a, 0xa4, 0x92, 0xb3, 0xfb, 0x55, 0xac, 0xb0, 0x64, 0x8c, + 0x50, 0x7d, 0x02, 0x72, 0xf6, 0x72, 0xe8, 0x28, 0xaa, 0x1a, 0xd4, 0xd9, + 0x73, 0xfb, 0x9e, 0x3e, 0x50, 0xae, 0x54, 0x8e, 0x92, 0xe0, 0x3d, 0x63, + 0x39, 0x9b, 0xb8, 0x18, 0x67, 0x28, 0x00, 0xbb, 0x06, 0xae, 0xfe, 0xe8, + 0x47, 0x3f, 0xfa, 0xc9, 0x27, 0x3e, 0xf1, 0x89, 0x3b, 0x81, 0x96, 0x76, + 0xde, 0xc8, 0xa4, 0xe5, 0xeb, 0x4d, 0x5e, 0xbe, 0x96, 0x37, 0xa0, 0xa0, + 0xd1, 0x13, 0x70, 0xc2, 0x1c, 0xee, 0x71, 0x02, 0x9d, 0x6e, 0x94, 0xd5, + 0x55, 0x45, 0x9c, 0xf1, 0x88, 0x73, 0xb9, 0x20, 0x8f, 0x48, 0x7b, 0x60, + 0xe5, 0xc0, 0x28, 0x06, 0x55, 0xd7, 0x82, 0x17, 0x8d, 0xbd, 0xca, 0x25, + 0x31, 0x09, 0x8d, 0x6d, 0x39, 0x9e, 0xe8, 0xcb, 0xce, 0x05, 0xc9, 0x07, + 0xb1, 0x97, 0xc9, 0x01, 0x78, 0xcb, 0x3b, 0x2c, 0x3f, 0x98, 0x61, 0x4e, + 0x21, 0xc3, 0x3c, 0x3b, 0x64, 0x55, 0xd1, 0x90, 0xdd, 0x7c, 0x21, 0xb6, + 0x55, 0x26, 0x64, 0x07, 0x11, 0xd3, 0x45, 0x86, 0x30, 0x22, 0x94, 0x8e, + 0xf2, 0x02, 0xbd, 0x38, 0x09, 0x2d, 0x91, 0x84, 0xe3, 0x05, 0x72, 0x21, + 0x29, 0x54, 0xaa, 0x1c, 0x37, 0xf4, 0xd4, 0xb4, 0x2c, 0x1c, 0xd4, 0x0a, + 0x15, 0x5b, 0x4a, 0x40, 0xac, 0x1b, 0x3b, 0x7b, 0xb2, 0xf4, 0xf2, 0x89, + 0x43, 0xff, 0x08, 0xaf, 0x9a, 0xa5, 0x86, 0x5c, 0xcf, 0x18, 0x52, 0x15, + 0x76, 0x9b, 0xf5, 0xe0, 0xe4, 0x54, 0x55, 0xb0, 0xc8, 0xfa, 0xe8, 0xe8, + 0xe8, 0x86, 0x9d, 0x3b, 0x77, 0xae, 0xb8, 0xd1, 0x69, 0xfc, 0x37, 0x0b, + 0x49, 0x28, 0x40, 0x84, 0x38, 0xf4, 0x36, 0x35, 0x4b, 0x45, 0xc8, 0xf2, + 0xb5, 0x1a, 0x3f, 0xd5, 0x6d, 0x1e, 0x71, 0xe3, 0x93, 0x6e, 0x5b, 0x71, + 0x5c, 0x2a, 0x14, 0x46, 0x1d, 0x96, 0x8b, 0x5b, 0x42, 0x18, 0x42, 0x8d, + 0x15, 0x30, 0x37, 0x2d, 0x58, 0x57, 0x7f, 0x92, 0x15, 0x40, 0xf8, 0xc9, + 0x0c, 0xfe, 0xb6, 0x80, 0x9a, 0xb3, 0x20, 0xa8, 0x8b, 0x5b, 0x6f, 0x7a, + 0x8d, 0x23, 0xc1, 0xe2, 0x09, 0x28, 0xa1, 0x4e, 0x28, 0x89, 0x66, 0x32, + 0xa2, 0x9f, 0xb2, 0x01, 0x55, 0x42, 0x93, 0x4e, 0x38, 0xad, 0x28, 0x06, + 0x84, 0xd1, 0x22, 0x53, 0x01, 0x7b, 0xf6, 0xa9, 0x6f, 0x1d, 0x7c, 0xf5, + 0xe4, 0x91, 0xef, 0xc2, 0x13, 0x5c, 0x33, 0xa2, 0x4c, 0x4a, 0x08, 0xda, + 0x4d, 0xd2, 0x6b, 0x9d, 0xac, 0x1d, 0x42, 0xd2, 0x92, 0x05, 0x4a, 0x7a, + 0x17, 0x58, 0xa7, 0x7d, 0xa3, 0xcb, 0x78, 0xbd, 0xd5, 0x3a, 0x0a, 0xd7, + 0x53, 0x96, 0x6a, 0xdb, 0x50, 0x34, 0x15, 0x4b, 0x17, 0x98, 0xf8, 0xa1, + 0x12, 0x7c, 0xd9, 0x87, 0xe9, 0xc9, 0x72, 0xb1, 0x14, 0x6e, 0xd0, 0xda, + 0x28, 0xab, 0x85, 0x1e, 0x48, 0xa1, 0x3b, 0x60, 0xa6, 0x89, 0x44, 0xc0, + 0xb2, 0x1d, 0x82, 0xf5, 0x02, 0x9b, 0xee, 0xe9, 0x01, 0xbc, 0xef, 0x70, + 0x65, 0xc9, 0x24, 0x54, 0x2b, 0x82, 0xc8, 0x7d, 0x48, 0x2b, 0x47, 0xc9, + 0xb5, 0xa2, 0x48, 0xe8, 0x8b, 0xa7, 0xb2, 0xd3, 0x38, 0x30, 0xd7, 0x0b, + 0x08, 0x72, 0xf5, 0x9a, 0x28, 0x26, 0x70, 0x5a, 0x58, 0x9c, 0xd3, 0x3d, + 0x88, 0x15, 0xc9, 0xf5, 0x2a, 0x5c, 0x36, 0x7d, 0xe9, 0x54, 0xfd, 0x89, + 0x1f, 0xfd, 0xe5, 0x37, 0x21, 0x81, 0x3c, 0x48, 0xc2, 0xaf, 0x99, 0x59, + 0xf0, 0x5b, 0x2d, 0xd6, 0x21, 0xeb, 0xb1, 0xc0, 0xc9, 0xab, 0x85, 0x42, + 0x61, 0x39, 0x78, 0xc1, 0xca, 0x77, 0x82, 0x82, 0x5e, 0xef, 0x2f, 0xee, + 0x9f, 0x09, 0x64, 0xc6, 0x2d, 0x15, 0x91, 0x48, 0x32, 0xd5, 0xaf, 0xc4, + 0xa4, 0x70, 0xb1, 0x26, 0xc3, 0x03, 0x0f, 0xf6, 0x4d, 0x66, 0x01, 0xbb, + 0x70, 0x84, 0x07, 0x02, 0x6f, 0xb2, 0x94, 0xe3, 0xb3, 0x0e, 0x80, 0x99, + 0x5c, 0x4a, 0xb0, 0x42, 0x0e, 0x82, 0x78, 0xa7, 0xc3, 0xba, 0x72, 0x09, + 0x96, 0x49, 0xb9, 0xb2, 0x2d, 0x46, 0x44, 0x5d, 0x2c, 0x24, 0x70, 0x2e, + 0x97, 0xa6, 0x93, 0x8a, 0x90, 0xf5, 0x7c, 0x8b, 0xc7, 0xad, 0x27, 0x22, + 0x1a, 0xc4, 0x6c, 0x59, 0xdc, 0x81, 0xd3, 0x0c, 0x20, 0x9d, 0xf1, 0x32, + 0x12, 0xbe, 0x15, 0x33, 0x22, 0x46, 0x49, 0x1a, 0x7c, 0xbe, 0xa7, 0xff, + 0xe1, 0xcf, 0xf7, 0x9e, 0x7e, 0xf5, 0x10, 0x5a, 0xff, 0x15, 0x0a, 0xbe, + 0x75, 0x1d, 0x7c, 0x5b, 0x3d, 0xa0, 0x75, 0x05, 0x3b, 0xe9, 0x05, 0x38, + 0x5c, 0x7a, 0xe6, 0xcc, 0x99, 0x0a, 0xc4, 0x81, 0x1d, 0xab, 0x56, 0xad, + 0xca, 0xbe, 0x13, 0x6b, 0xea, 0x5c, 0x6f, 0x09, 0x18, 0xd5, 0xfa, 0x27, + 0x54, 0x73, 0x53, 0xa0, 0xf2, 0x79, 0x59, 0xaa, 0x76, 0x6c, 0x96, 0x84, + 0x18, 0x91, 0x4a, 0xba, 0xa0, 0x14, 0x87, 0xa5, 0x71, 0x03, 0xe1, 0x66, + 0x92, 0x36, 0xcb, 0x26, 0x1d, 0x96, 0x4b, 0xbb, 0x2c, 0x0b, 0x5b, 0x07, + 0x3c, 0x4e, 0x26, 0x54, 0x29, 0x5d, 0xcd, 0xa7, 0x09, 0x29, 0x0e, 0x50, + 0x72, 0xc4, 0x19, 0xc1, 0x8d, 0x7a, 0x1c, 0x48, 0x18, 0x8a, 0x9b, 0x8a, + 0x65, 0xbc, 0xa0, 0x49, 0x27, 0x8c, 0x7a, 0x5c, 0x19, 0xbd, 0x26, 0x16, + 0xba, 0x91, 0xf5, 0x46, 0x23, 0xce, 0x9c, 0x86, 0x22, 0x01, 0x1e, 0xdd, + 0x14, 0x7b, 0xfd, 0xd8, 0x93, 0x93, 0x3f, 0xfb, 0xd1, 0xff, 0xfa, 0x0b, + 0xf0, 0xcc, 0x57, 0xc8, 0xfa, 0x2b, 0x04, 0x3f, 0xe1, 0xf5, 0x16, 0xeb, + 0x58, 0x04, 0x45, 0xc0, 0x4c, 0x2a, 0x38, 0x4f, 0x0b, 0x68, 0xe9, 0xd6, + 0x5c, 0x2e, 0x6b, 0x2d, 0x45, 0xa8, 0x4b, 0x65, 0x46, 0xaa, 0x8d, 0x8f, + 0x84, 0xaf, 0x15, 0x81, 0xad, 0x21, 0x04, 0x41, 0x32, 0x26, 0xa0, 0x07, + 0x88, 0x78, 0x2d, 0x3a, 0xdb, 0xd2, 0x53, 0x68, 0x69, 0xf2, 0x20, 0x85, + 0xd0, 0x78, 0xb9, 0x4c, 0x35, 0xa2, 0xc5, 0x85, 0xb2, 0x76, 0xbd, 0x94, + 0x9a, 0x9c, 0xef, 0xaf, 0xa6, 0x2d, 0xc3, 0xa6, 0xe3, 0x80, 0xa1, 0x20, + 0x2b, 0x1e, 0x5e, 0x54, 0x4d, 0x2d, 0xfc, 0xcd, 0x3d, 0x60, 0x5c, 0xbd, + 0x93, 0x6e, 0x84, 0x95, 0x3f, 0xb5, 0xe2, 0x24, 0x58, 0x75, 0xf6, 0xa2, + 0xff, 0xf8, 0xb7, 0xbf, 0xf0, 0xbd, 0xd9, 0x99, 0xcb, 0x4f, 0xc2, 0x89, + 0x39, 0xa3, 0xf4, 0xe0, 0xbf, 0xd5, 0x5a, 0x11, 0xed, 0x94, 0x20, 0xcf, + 0x9f, 0x3d, 0x7b, 0x76, 0x6e, 0x70, 0x70, 0x60, 0xed, 0x1d, 0x77, 0xdc, + 0x3e, 0x72, 0xb3, 0x89, 0xd8, 0xf5, 0x94, 0xd1, 0x3a, 0xcd, 0x53, 0xb7, + 0x74, 0x60, 0xc2, 0x14, 0x48, 0x6f, 0xa0, 0xfe, 0x4b, 0xda, 0x84, 0xdc, + 0xd4, 0x10, 0x22, 0x0f, 0x14, 0xf6, 0xa3, 0xa5, 0x4b, 0x81, 0xd3, 0x5e, + 0x0f, 0xa4, 0x70, 0x66, 0xac, 0x5f, 0xc7, 0x48, 0xd8, 0x8c, 0xe2, 0x41, + 0x34, 0xe3, 0x5f, 0xc5, 0x85, 0x48, 0x11, 0xad, 0xfd, 0x5e, 0x5c, 0x18, + 0x03, 0x2b, 0x2c, 0x5a, 0xa0, 0x76, 0x91, 0xb8, 0x68, 0x55, 0xc8, 0x17, + 0x1e, 0xfb, 0xf2, 0xa1, 0x13, 0x07, 0x1f, 0xfb, 0x3f, 0x70, 0x70, 0x82, + 0x84, 0x5f, 0x6d, 0xb1, 0x7e, 0xb1, 0x94, 0x65, 0x2b, 0x01, 0x8a, 0xc2, + 0xc6, 0x85, 0x0b, 0x63, 0xde, 0xed, 0xb7, 0xdf, 0x71, 0xfb, 0xb2, 0x65, + 0xa3, 0x29, 0x3d, 0xfb, 0x7b, 0xa9, 0xeb, 0x6d, 0x5e, 0x4b, 0x09, 0x6f, + 0x9e, 0x7f, 0x1b, 0xd0, 0xe0, 0x78, 0xb8, 0xa8, 0xf2, 0xa9, 0x05, 0xaf, + 0xda, 0x07, 0xd5, 0x75, 0x9c, 0x68, 0x28, 0x72, 0x6f, 0x4e, 0xed, 0x23, + 0x9c, 0xc8, 0xa4, 0x9a, 0x4c, 0xae, 0x49, 0x81, 0x6e, 0x23, 0x51, 0x6c, + 0x47, 0x0a, 0xdb, 0x0a, 0xa3, 0x58, 0x20, 0x05, 0x4f, 0x8b, 0x5c, 0x47, + 0x60, 0xa3, 0xbd, 0x61, 0x51, 0x1f, 0x18, 0x8f, 0xa0, 0xc9, 0x5c, 0xdf, + 0x0e, 0x5f, 0xe3, 0x02, 0xf4, 0x8c, 0x1d, 0xff, 0xd9, 0xfc, 0x53, 0x7f, + 0xf7, 0x27, 0x5f, 0xf3, 0x9a, 0xf5, 0xc3, 0x24, 0xfc, 0xb2, 0xae, 0xfb, + 0xb4, 0x5b, 0x39, 0xeb, 0x46, 0xd7, 0x0d, 0xb5, 0x81, 0x96, 0x62, 0x0b, + 0xb7, 0x75, 0xe7, 0x9d, 0x77, 0x6e, 0xee, 0xec, 0xec, 0x74, 0x6e, 0x36, + 0xd8, 0x5e, 0x2b, 0xa9, 0xd3, 0x54, 0x53, 0x51, 0x49, 0xa6, 0x98, 0x0e, + 0x66, 0xad, 0x28, 0x78, 0x8f, 0xac, 0x3e, 0xa4, 0x0e, 0x64, 0x39, 0xf7, + 0xd8, 0x67, 0x3a, 0x7b, 0xe2, 0x64, 0xfd, 0xb2, 0x83, 0x41, 0x57, 0x65, + 0x68, 0xea, 0x2c, 0x17, 0x21, 0x55, 0x6a, 0x14, 0xbe, 0x4b, 0xf8, 0xe1, + 0xb1, 0x40, 0x25, 0x9d, 0x8c, 0xe8, 0x28, 0x95, 0xf8, 0x99, 0x09, 0x47, + 0x6a, 0x8e, 0x43, 0x14, 0x90, 0xb9, 0xb1, 0xdc, 0x0f, 0xb5, 0xe8, 0x4b, + 0x1a, 0x0d, 0xac, 0x67, 0xee, 0xe2, 0xe9, 0xfa, 0x63, 0x5f, 0xfb, 0x83, + 0x6f, 0xcd, 0x5e, 0x1d, 0xdf, 0x63, 0x40, 0x4f, 0xb5, 0xdd, 0x2a, 0x29, + 0x37, 0xb2, 0x66, 0x9c, 0xd9, 0x9b, 0x23, 0xb1, 0xff, 0xcc, 0x99, 0x37, + 0x2e, 0x95, 0xcb, 0xe5, 0xfc, 0xae, 0x5d, 0xbb, 0x36, 0xe2, 0x92, 0x30, + 0x37, 0x93, 0xfd, 0x5e, 0x6b, 0x85, 0x29, 0xb3, 0x83, 0x58, 0x75, 0xa7, + 0xa9, 0x41, 0x6e, 0xd5, 0xb3, 0xe9, 0xc9, 0x0e, 0x05, 0xd5, 0x75, 0x8c, + 0xa3, 0xe3, 0x81, 0xdc, 0x50, 0x09, 0xd2, 0xe2, 0x43, 0x0a, 0xb4, 0xb4, + 0xa8, 0x08, 0x0a, 0x9d, 0x0b, 0x41, 0xf3, 0x97, 0xc9, 0x5b, 0xa3, 0x31, + 0x5d, 0x1d, 0x58, 0x05, 0x59, 0xbf, 0x88, 0x64, 0xa9, 0x93, 0x30, 0x41, + 0x4a, 0xd2, 0x02, 0x0f, 0xdb, 0x7d, 0x6e, 0x43, 0x4a, 0xf8, 0x53, 0x59, + 0xb5, 0xd9, 0x29, 0xb1, 0xe7, 0xab, 0x9f, 0xff, 0xfb, 0xf3, 0xaf, 0x1d, + 0xfa, 0x36, 0x1c, 0x9a, 0xa2, 0x9a, 0x4f, 0xb9, 0x35, 0xf3, 0x5d, 0xaa, + 0x02, 0x4c, 0x8d, 0xa1, 0x12, 0xfc, 0x57, 0x5e, 0x79, 0xe5, 0x52, 0x2a, + 0x95, 0x1a, 0x04, 0x4f, 0x58, 0x61, 0x4e, 0xe5, 0xbc, 0x59, 0x45, 0xbc, + 0x69, 0x2e, 0xae, 0x1e, 0x54, 0xa7, 0xa9, 0x3e, 0xaa, 0x0f, 0x3f, 0x94, + 0xb0, 0x13, 0x52, 0x2c, 0x08, 0x49, 0xf0, 0x8c, 0x36, 0x4e, 0xaf, 0x89, + 0x63, 0x80, 0x0a, 0xc4, 0x16, 0x09, 0x3a, 0x1a, 0xb1, 0xe2, 0x61, 0x34, + 0xfd, 0x56, 0x1e, 0xb1, 0x4c, 0x66, 0xa4, 0x18, 0x53, 0x84, 0x11, 0x6a, + 0x0d, 0x35, 0xdd, 0x5b, 0xbd, 0x78, 0xfa, 0x95, 0xe1, 0x29, 0x38, 0xde, + 0x1d, 0x36, 0xab, 0xec, 0x67, 0x5f, 0xfb, 0xd2, 0xde, 0xe3, 0xfb, 0x9e, + 0x40, 0xdc, 0x1f, 0x23, 0xe1, 0x5f, 0x33, 0xf0, 0x2e, 0x15, 0x82, 0x16, + 0x95, 0xf3, 0xb1, 0xf6, 0x7e, 0xe2, 0xc4, 0x89, 0x2b, 0x83, 0x83, 0x83, + 0x6b, 0xb6, 0x6c, 0xd9, 0xd2, 0xd7, 0x9a, 0x8c, 0x2d, 0x95, 0xf7, 0x2f, + 0x9a, 0x5f, 0x25, 0x83, 0x6e, 0x8c, 0xfd, 0x98, 0x78, 0x09, 0x99, 0x01, + 0xfb, 0xaa, 0x67, 0x27, 0x50, 0x9d, 0x6a, 0x72, 0x04, 0x25, 0x54, 0x1e, + 0xc1, 0xf5, 0x1a, 0x46, 0xa1, 0xc1, 0x7c, 0x78, 0x34, 0x2e, 0x15, 0x29, + 0xc0, 0xd2, 0x02, 0xa4, 0xa9, 0x57, 0xc2, 0xd8, 0x0b, 0x9d, 0x1b, 0x44, + 0xcd, 0x90, 0xb1, 0x87, 0x08, 0xbd, 0xcc, 0x6f, 0xa4, 0x84, 0x30, 0x22, + 0x42, 0xb2, 0x50, 0x01, 0xef, 0xfb, 0xdc, 0x37, 0xff, 0xea, 0x95, 0x67, + 0x1f, 0xfd, 0xd6, 0x5f, 0x80, 0x11, 0x9d, 0x26, 0xe1, 0x97, 0x5a, 0x92, + 0xae, 0x9b, 0x56, 0x00, 0x6f, 0xf1, 0x3a, 0x09, 0x47, 0xf5, 0x7a, 0x7d, + 0xe1, 0xf0, 0xe1, 0xc3, 0x57, 0x07, 0x06, 0x06, 0xd7, 0x6c, 0xdc, 0xb8, + 0xa1, 0x1b, 0x93, 0x26, 0x73, 0x26, 0xca, 0xf5, 0x94, 0x11, 0xf5, 0x4c, + 0x9a, 0xb3, 0x48, 0xb4, 0x12, 0x98, 0x1a, 0x70, 0x97, 0xc3, 0x8d, 0xc8, + 0x7c, 0xfc, 0x78, 0x26, 0x8a, 0x84, 0x9c, 0xd0, 0xa7, 0x56, 0x8f, 0x80, + 0x51, 0xb0, 0x50, 0x63, 0xb1, 0xa1, 0x8a, 0x1f, 0x5c, 0xc4, 0x1e, 0x10, + 0x0f, 0x10, 0x32, 0x15, 0x0b, 0xb8, 0x36, 0x62, 0x11, 0x61, 0xb9, 0xd0, + 0x4d, 0xeb, 0xa8, 0x48, 0xea, 0xe6, 0x5b, 0x4c, 0x49, 0x0d, 0x6f, 0x11, + 0xd1, 0xd4, 0x74, 0xd5, 0xac, 0x00, 0x9f, 0x69, 0xff, 0x77, 0xbe, 0xf3, + 0xfa, 0xe3, 0x7f, 0xfd, 0xb5, 0xbf, 0x84, 0xcf, 0x77, 0x04, 0x4e, 0x15, + 0x49, 0xf8, 0x55, 0xa3, 0xe4, 0xf0, 0xb6, 0x96, 0x2e, 0x66, 0x6d, 0x14, + 0x20, 0x15, 0x03, 0xb1, 0x60, 0x6e, 0xff, 0xfe, 0x17, 0x2e, 0xe2, 0xfa, + 0xf9, 0xb7, 0xde, 0x7a, 0xeb, 0x80, 0x15, 0x4d, 0xd2, 0xe0, 0x37, 0x84, + 0xf9, 0xed, 0xa0, 0x27, 0x9a, 0x57, 0x15, 0x92, 0xe0, 0x7d, 0x2f, 0xa6, + 0x9f, 0xba, 0xb7, 0x9e, 0x1a, 0x9c, 0x94, 0x07, 0x50, 0x43, 0x87, 0x64, + 0x65, 0x84, 0xfb, 0x21, 0x71, 0xff, 0xc8, 0x13, 0xc2, 0xc8, 0x13, 0x18, + 0xe5, 0x04, 0xcc, 0x32, 0xe3, 0x80, 0x91, 0x68, 0x51, 0x4c, 0x08, 0xb9, + 0xa6, 0x99, 0x3c, 0x3e, 0x4f, 0x41, 0x5c, 0xee, 0x70, 0x8e, 0x03, 0x18, + 0xc5, 0x4f, 0xff, 0xf7, 0xb7, 0x5f, 0xfe, 0x87, 0xaf, 0xfe, 0xcd, 0x57, + 0x81, 0xa5, 0x1d, 0x22, 0xe1, 0x17, 0x8d, 0x8c, 0x37, 0x60, 0x37, 0xb0, + 0x7e, 0xf4, 0x8d, 0xb2, 0xa0, 0xb6, 0x3f, 0xe9, 0x57, 0xad, 0x56, 0x71, + 0xe1, 0x8b, 0x09, 0x08, 0xc8, 0x23, 0x9b, 0x37, 0x6f, 0x1e, 0xd4, 0x8b, + 0x5c, 0x5c, 0x6b, 0xc9, 0xdf, 0x76, 0x5c, 0x3f, 0xda, 0xab, 0x91, 0x14, + 0x95, 0x7c, 0x91, 0xd5, 0xab, 0xf9, 0xb7, 0x24, 0x78, 0x3f, 0x88, 0x1a, + 0x67, 0x59, 0xa8, 0x28, 0xa9, 0xc2, 0x7e, 0xcc, 0x03, 0xa2, 0x7e, 0x20, + 0xc9, 0x78, 0x74, 0x11, 0xc1, 0x12, 0x31, 0xe7, 0xb7, 0x28, 0x1b, 0x56, + 0x9d, 0x25, 0xe4, 0xa5, 0x06, 0x2c, 0x69, 0xcb, 0x37, 0x8b, 0x10, 0x51, + 0xf2, 0x45, 0xd7, 0xc8, 0x44, 0x0e, 0xeb, 0x53, 0xf5, 0x26, 0xdb, 0xf3, + 0x67, 0xdf, 0x3d, 0xf6, 0xf8, 0xd7, 0x7e, 0x00, 0x96, 0x1f, 0x1e, 0x31, + 0x84, 0x5f, 0x36, 0x6a, 0xfd, 0xe1, 0x8d, 0x58, 0xf5, 0x52, 0x7e, 0xc0, + 0xc1, 0x54, 0x82, 0xc6, 0x35, 0x9c, 0x5e, 0x3a, 0xbf, 0x6f, 0xdf, 0xbe, + 0xf3, 0xc9, 0x64, 0x72, 0x08, 0x62, 0xc2, 0x30, 0xd6, 0x6f, 0xda, 0x5a, + 0x78, 0x9b, 0xa5, 0xbd, 0x22, 0x08, 0xd2, 0xc7, 0x03, 0x35, 0x91, 0x4d, + 0x15, 0xd8, 0x74, 0xe1, 0xcd, 0x8f, 0x13, 0x30, 0x82, 0x20, 0x49, 0x37, + 0x43, 0x0d, 0x43, 0xd4, 0x0e, 0x42, 0x50, 0x24, 0x58, 0x48, 0x99, 0xb2, + 0xaa, 0xeb, 0x58, 0x51, 0x01, 0x41, 0x44, 0x53, 0x69, 0x39, 0x8b, 0x03, + 0x6e, 0xd4, 0x5e, 0xcb, 0x05, 0x8d, 0x62, 0xe9, 0x24, 0x8d, 0x6b, 0x4e, + 0x14, 0x59, 0x1d, 0xae, 0x6b, 0x54, 0x9f, 0xaf, 0xb2, 0x1f, 0xfe, 0xc9, + 0xf7, 0x5f, 0x7a, 0xe2, 0xaf, 0xf7, 0xfc, 0x05, 0x18, 0xcb, 0xcb, 0x04, + 0x39, 0xa6, 0xf0, 0x3d, 0xb6, 0x84, 0x1f, 0x7b, 0x5b, 0xea, 0x4f, 0x98, + 0x98, 0x50, 0x14, 0xcd, 0xd3, 0xc2, 0x5f, 0x99, 0x03, 0x4f, 0x38, 0x3b, + 0x33, 0x33, 0x93, 0x58, 0xb5, 0x6a, 0xd5, 0x8a, 0x42, 0xa1, 0x60, 0x9b, + 0x82, 0xbe, 0xd6, 0x1a, 0x3b, 0x8b, 0xe3, 0x01, 0x41, 0x4f, 0xe0, 0x13, + 0xee, 0x1b, 0x4a, 0xd1, 0x39, 0x80, 0xec, 0xc1, 0x54, 0x10, 0xa4, 0x60, + 0x88, 0x70, 0x3f, 0x62, 0x41, 0xf1, 0xda, 0x76, 0x96, 0x60, 0xc6, 0x6a, + 0x8e, 0xc2, 0x98, 0xbf, 0xcc, 0x28, 0x30, 0xc7, 0xdc, 0xce, 0x0c, 0xc4, + 0x21, 0x37, 0xbe, 0x24, 0x71, 0x7c, 0x2c, 0xda, 0xbb, 0x49, 0x97, 0x5d, + 0x38, 0x3e, 0xd6, 0xfc, 0xc6, 0x17, 0xbe, 0xfb, 0xc4, 0xb3, 0x8f, 0xee, + 0xfb, 0x1b, 0x38, 0x8d, 0xa3, 0x5b, 0xf3, 0xb4, 0x95, 0x09, 0x76, 0x3c, + 0xb6, 0xc4, 0x1f, 0xff, 0xbc, 0x99, 0x5f, 0x51, 0x6a, 0x55, 0x40, 0x48, + 0x6b, 0x73, 0x96, 0x21, 0x30, 0xbf, 0x76, 0xfc, 0xf8, 0xf1, 0xf9, 0x9e, + 0x9e, 0xde, 0x91, 0xd1, 0xd1, 0x91, 0x9c, 0x1e, 0xe7, 0x7d, 0xcb, 0x35, + 0xd5, 0x54, 0x1b, 0x1b, 0x35, 0xba, 0xc6, 0xfb, 0x30, 0x5c, 0x5c, 0x7a, + 0x50, 0xf8, 0xaf, 0x33, 0xe0, 0x30, 0xf2, 0x02, 0xae, 0x93, 0x2f, 0xa1, + 0x93, 0x32, 0x46, 0x6b, 0xd6, 0x09, 0xca, 0x0d, 0xb4, 0xe0, 0x43, 0x83, + 0x1d, 0x11, 0x8b, 0xa1, 0x55, 0xbd, 0x18, 0x4d, 0x3a, 0x17, 0x06, 0x64, + 0x86, 0x14, 0x9c, 0x2d, 0x5b, 0xb5, 0xa9, 0xef, 0xfd, 0xbb, 0x17, 0x27, + 0xfe, 0xea, 0x8b, 0xdf, 0xfb, 0xf6, 0xe9, 0x23, 0x67, 0xfe, 0x2f, 0x1c, + 0xbe, 0xd0, 0x02, 0x3b, 0x9a, 0x6e, 0x06, 0x4b, 0x11, 0xfe, 0xcd, 0x2a, + 0xa0, 0x1d, 0x1c, 0x69, 0x48, 0xc2, 0xee, 0xba, 0xf3, 0x7b, 0xf7, 0xee, + 0x1d, 0x03, 0x21, 0x77, 0xae, 0x5b, 0xb7, 0x6e, 0x24, 0x93, 0xc9, 0x2c, + 0x62, 0x3b, 0x6d, 0x67, 0x92, 0xb7, 0x2c, 0x74, 0x11, 0x46, 0x41, 0xd8, + 0x27, 0xe5, 0xa8, 0xbd, 0xcc, 0x80, 0x51, 0x09, 0x94, 0x78, 0x09, 0xa1, + 0xe2, 0x1c, 0xc6, 0x00, 0xce, 0x84, 0x91, 0x8c, 0x51, 0x85, 0x93, 0xa0, + 0x88, 0x45, 0x6b, 0x9d, 0xc6, 0xc1, 0x99, 0xd1, 0x6f, 0xdc, 0x30, 0x2e, + 0x8c, 0x2f, 0xa2, 0x14, 0x22, 0x67, 0xc8, 0x80, 0xe0, 0x13, 0x49, 0x9b, + 0xcd, 0x5e, 0x2e, 0xb3, 0xbf, 0xfd, 0xb3, 0xc7, 0x0f, 0x7e, 0xfb, 0xcf, + 0x1f, 0xfb, 0xeb, 0xe2, 0xec, 0xc2, 0x33, 0x70, 0xd9, 0x34, 0x59, 0x7d, + 0xd1, 0x18, 0xdf, 0x5d, 0x12, 0xec, 0xbc, 0x5d, 0x05, 0xb4, 0xc2, 0x91, + 0x1e, 0xce, 0xd4, 0x5b, 0x08, 0xc1, 0xf9, 0xea, 0xfe, 0xfd, 0x07, 0x5e, + 0x3f, 0x7f, 0xfe, 0x42, 0x33, 0x9b, 0xcd, 0xf6, 0xf5, 0xf6, 0xf6, 0x75, + 0x24, 0x00, 0x3f, 0xe3, 0xa1, 0x46, 0x16, 0x29, 0x45, 0x06, 0xda, 0x50, + 0x41, 0x8e, 0x4f, 0x02, 0xd7, 0xb1, 0x20, 0x34, 0x0a, 0x71, 0x82, 0x68, + 0xa7, 0x1c, 0x74, 0x91, 0xfd, 0x99, 0x61, 0x54, 0x8a, 0x90, 0x81, 0x57, + 0xe6, 0x04, 0x86, 0xa5, 0x53, 0xbf, 0x3e, 0x8f, 0x26, 0x5c, 0xd0, 0xfc, + 0x05, 0x11, 0x8d, 0x61, 0xb1, 0x78, 0xe1, 0x77, 0xca, 0x0b, 0x28, 0xd8, + 0x26, 0x01, 0x6e, 0xca, 0xf3, 0x75, 0xb6, 0xf7, 0xc9, 0x93, 0x57, 0xbe, + 0xf2, 0xa7, 0x3f, 0x7a, 0xec, 0xd9, 0xa7, 0x8e, 0x7c, 0x0b, 0x08, 0xc2, + 0x49, 0x03, 0x72, 0x8a, 0xad, 0x83, 0xeb, 0x37, 0x23, 0xfc, 0xb7, 0xa3, + 0x80, 0x56, 0x38, 0x12, 0x86, 0x02, 0x7c, 0x95, 0x63, 0x05, 0xe5, 0xd3, + 0xf0, 0xf7, 0xcc, 0x33, 0xcf, 0xbc, 0x76, 0xf9, 0xf2, 0xe5, 0x10, 0xe2, + 0x42, 0x2f, 0xfe, 0x2e, 0xa3, 0x5e, 0xd3, 0x39, 0x5a, 0x59, 0x84, 0xea, + 0x3b, 0xd2, 0xe2, 0x09, 0xf3, 0x95, 0xe0, 0x55, 0xf6, 0x2b, 0xa8, 0x2c, + 0x11, 0x50, 0x89, 0x5a, 0xb5, 0x1d, 0x8b, 0x98, 0x82, 0xea, 0xb2, 0x03, + 0xc5, 0x00, 0x2b, 0x9a, 0x2a, 0xa4, 0xcb, 0x11, 0x2c, 0x0a, 0xca, 0xdc, + 0xac, 0x09, 0x59, 0xc6, 0xa8, 0x17, 0x79, 0x8b, 0xed, 0x5a, 0xf2, 0x67, + 0x76, 0xf7, 0xef, 0x3b, 0x3b, 0xf7, 0x95, 0xaf, 0x3c, 0xf1, 0xcc, 0xd7, + 0xbf, 0xfe, 0x93, 0x6f, 0x4c, 0x4d, 0xcd, 0x3c, 0x45, 0x55, 0xcd, 0x62, + 0x1b, 0x9e, 0xef, 0xb3, 0xb7, 0xf9, 0xeb, 0xaa, 0x6f, 0x77, 0x01, 0xe5, + 0xd6, 0x05, 0xbf, 0xb1, 0x95, 0x00, 0x67, 0x62, 0xe0, 0xc2, 0x1b, 0x38, + 0x80, 0x93, 0xa7, 0xc7, 0x38, 0xc3, 0x71, 0xfb, 0x23, 0x8f, 0x3c, 0xf2, + 0xc1, 0x8f, 0x7f, 0xfc, 0xe3, 0xb7, 0xe1, 0x94, 0x53, 0xbd, 0x62, 0x2d, + 0xd6, 0x79, 0xc2, 0x68, 0xb2, 0x43, 0x8c, 0xf9, 0x4a, 0x31, 0xba, 0xfc, + 0xe0, 0x13, 0xf4, 0x04, 0x44, 0x3f, 0x83, 0x78, 0x74, 0x4c, 0x4e, 0xa8, + 0xf3, 0x65, 0xe7, 0x8e, 0xcc, 0x78, 0x45, 0xa0, 0xc7, 0xa5, 0x54, 0xa9, + 0x80, 0xca, 0x0f, 0xb8, 0x06, 0x9e, 0x4d, 0xc5, 0x38, 0x5c, 0x3e, 0x41, + 0xfd, 0x16, 0x10, 0x3c, 0x4e, 0xaa, 0x9f, 0x5c, 0x69, 0x34, 0x02, 0x76, + 0xf2, 0xf5, 0xa9, 0xda, 0xb7, 0xfe, 0xdf, 0xbe, 0x97, 0x9e, 0x7a, 0xee, + 0xf8, 0xd3, 0xe5, 0x5a, 0xf5, 0x04, 0x8d, 0xe3, 0x56, 0x08, 0xe7, 0x17, + 0x28, 0xbb, 0xad, 0x1b, 0x90, 0xf3, 0xb6, 0x7f, 0xda, 0xf6, 0x9d, 0xfa, + 0x3d, 0x61, 0x73, 0x50, 0x1f, 0x93, 0x81, 0x04, 0x2d, 0xcb, 0x85, 0xc2, + 0xcf, 0xe1, 0xac, 0x24, 0xda, 0xfa, 0x56, 0xaf, 0x5e, 0xbd, 0xf5, 0xfe, + 0xfb, 0x3f, 0x74, 0xcf, 0x3d, 0xf7, 0xec, 0xbe, 0x65, 0xcd, 0x9a, 0x35, + 0xdd, 0xdd, 0xdd, 0x05, 0x39, 0xa9, 0x02, 0x97, 0x05, 0xf0, 0x08, 0xdf, + 0x05, 0x31, 0x22, 0x11, 0x52, 0x06, 0x4c, 0x59, 0xb0, 0xfa, 0x65, 0xd6, + 0x58, 0xf8, 0xb2, 0x24, 0x01, 0x1e, 0x60, 0x87, 0x6a, 0x11, 0x7b, 0x4b, + 0xa8, 0xd6, 0x13, 0x4b, 0x18, 0x6b, 0x5d, 0xf3, 0x80, 0x56, 0x79, 0x11, + 0xd1, 0xfa, 0x75, 0xb8, 0x88, 0x94, 0x9b, 0x50, 0x89, 0xe3, 0xe5, 0xab, + 0x45, 0x71, 0xec, 0xd5, 0xf1, 0xab, 0x3f, 0x79, 0xee, 0xe5, 0x93, 0xcf, + 0x1f, 0x79, 0xf5, 0xe0, 0x5c, 0xa9, 0x74, 0xd4, 0x18, 0x42, 0xac, 0x18, + 0x15, 0xcd, 0x7a, 0x8b, 0xd5, 0xbf, 0x23, 0x3f, 0xee, 0xfc, 0x6e, 0xfd, + 0xa0, 0xb3, 0x6e, 0xf2, 0x4a, 0x1a, 0x8a, 0xc8, 0x1a, 0x8a, 0x28, 0x74, + 0x75, 0x75, 0xad, 0xdc, 0xb6, 0x6d, 0xdb, 0xf6, 0xdd, 0xbb, 0x77, 0xdf, + 0xb6, 0x65, 0xcb, 0xad, 0xa3, 0x23, 0xc3, 0x83, 0xd9, 0x64, 0x2a, 0xa9, + 0x2a, 0xa0, 0xc4, 0xf9, 0xd5, 0xc2, 0x17, 0xbe, 0x84, 0x28, 0x44, 0x37, + 0x54, 0xc4, 0xe2, 0xf2, 0x43, 0x20, 0x4b, 0xd1, 0x28, 0x70, 0x2b, 0x2a, + 0x3b, 0x2b, 0x46, 0x44, 0x8d, 0x82, 0x51, 0x09, 0x5a, 0x2e, 0x36, 0x42, + 0xd3, 0xd2, 0x2b, 0xb5, 0x26, 0x7b, 0xe3, 0xc2, 0xe5, 0xf2, 0x0b, 0x47, + 0x5e, 0xbb, 0xf0, 0xec, 0x4b, 0xaf, 0x1e, 0x3d, 0x79, 0xe6, 0xc2, 0x71, + 0x50, 0xee, 0x79, 0x6a, 0x1d, 0xa9, 0x1a, 0x56, 0x5f, 0x25, 0xab, 0x6f, + 0x1a, 0x2c, 0xe7, 0x1d, 0xfd, 0x41, 0xe7, 0x77, 0xf3, 0x27, 0xcd, 0xb5, + 0x37, 0x68, 0x8f, 0x48, 0x93, 0x22, 0x3a, 0xe8, 0x31, 0x2a, 0x27, 0x67, + 0x59, 0xd6, 0xc0, 0xe8, 0xe8, 0xe8, 0xba, 0x0d, 0x1b, 0x36, 0x6c, 0x84, + 0x6d, 0xd5, 0x9a, 0x35, 0xab, 0x07, 0xf1, 0x57, 0x4b, 0xf3, 0xd9, 0x0e, + 0x5b, 0xce, 0x47, 0x26, 0x2c, 0x57, 0x34, 0xd4, 0x53, 0xd4, 0x33, 0xa0, + 0xd1, 0x2f, 0xa1, 0xb2, 0x61, 0xd9, 0x38, 0x48, 0x8c, 0x48, 0x36, 0x0e, + 0xea, 0x8c, 0x56, 0x0e, 0xec, 0x04, 0x0c, 0x27, 0x60, 0xcc, 0x16, 0xcb, + 0xc1, 0x1b, 0xe3, 0x53, 0xf3, 0x27, 0x4e, 0x9d, 0xbd, 0x74, 0xfa, 0xcc, + 0xd8, 0xb9, 0x37, 0x2e, 0x4c, 0xbc, 0x36, 0x3b, 0x3f, 0xff, 0x2a, 0x59, + 0xbb, 0xa6, 0x92, 0x75, 0xa3, 0x7b, 0xa1, 0xd6, 0xae, 0x8f, 0x87, 0xfd, + 0x33, 0xf9, 0x4d, 0x79, 0xd6, 0xd2, 0x73, 0xea, 0x50, 0x7c, 0xd0, 0xd0, + 0x94, 0x22, 0x25, 0xa4, 0x8d, 0xe7, 0xa8, 0x98, 0xce, 0x6c, 0x36, 0x37, + 0x34, 0x38, 0x38, 0xb8, 0x1c, 0xe2, 0xc4, 0xca, 0x55, 0x2b, 0x57, 0x8c, + 0xf6, 0xf5, 0xf6, 0xe0, 0x42, 0x5e, 0xd9, 0x6c, 0x47, 0x26, 0x99, 0x4e, + 0x25, 0xdd, 0x4c, 0x32, 0xe1, 0xca, 0x09, 0x22, 0x46, 0x16, 0xcc, 0xc9, + 0x03, 0x7c, 0xb9, 0x3c, 0x7d, 0xd5, 0x2b, 0x57, 0x2b, 0x5e, 0xb1, 0x5c, + 0x6d, 0x4c, 0xcf, 0x2f, 0x94, 0x27, 0xae, 0xcc, 0x14, 0x5f, 0x3f, 0x73, + 0xe1, 0xe2, 0xd8, 0xf8, 0xf8, 0xb9, 0xe9, 0xb9, 0xf9, 0x71, 0xaf, 0xd9, + 0x9c, 0xa4, 0xc1, 0x12, 0x5d, 0xb3, 0xa9, 0xb5, 0xec, 0xeb, 0x86, 0xe0, + 0x7d, 0x83, 0xe9, 0xb1, 0x77, 0xd2, 0xf2, 0xdf, 0x4d, 0x05, 0xbc, 0x15, + 0x2c, 0xe9, 0xcd, 0x25, 0xa1, 0x6b, 0x85, 0x24, 0x8d, 0x7d, 0x82, 0x36, + 0x54, 0x48, 0x16, 0x82, 0x75, 0x3e, 0x99, 0x4c, 0x65, 0xd3, 0xe9, 0x74, + 0x2e, 0x9b, 0xcb, 0x76, 0x76, 0x75, 0x76, 0x15, 0x70, 0xd9, 0x68, 0x35, + 0x06, 0x1f, 0x4f, 0x86, 0x86, 0xd8, 0x21, 0x1a, 0xf5, 0x46, 0x7d, 0xbe, + 0x38, 0x3f, 0xbf, 0xb0, 0x00, 0x24, 0xb2, 0x56, 0x5b, 0x68, 0x7a, 0x4d, + 0x5c, 0x03, 0xa8, 0x64, 0x30, 0x17, 0x8f, 0x84, 0xdb, 0x24, 0x81, 0x37, + 0x8c, 0x4e, 0x65, 0xb3, 0x6d, 0x30, 0x78, 0x37, 0xe0, 0xe6, 0xfd, 0x50, + 0x40, 0xeb, 0xe8, 0x1a, 0x33, 0xa0, 0xc9, 0x0c, 0xd8, 0x09, 0x83, 0x41, + 0xe9, 0xe7, 0x4e, 0xd4, 0xa0, 0x19, 0x5f, 0xab, 0x95, 0xa7, 0x27, 0x96, + 0x98, 0x8b, 0x75, 0x68, 0x81, 0xf9, 0xc6, 0x16, 0x18, 0x2d, 0x97, 0xbe, + 0x21, 0xfc, 0x46, 0x8b, 0x32, 0x7c, 0xe3, 0xb5, 0xad, 0x42, 0x17, 0xef, + 0x85, 0x70, 0xde, 0x2b, 0x25, 0xb4, 0x2a, 0xc4, 0x36, 0x84, 0x69, 0x1b, + 0x02, 0x37, 0x85, 0xef, 0xb6, 0x5c, 0x63, 0xb6, 0xd4, 0x2f, 0x1a, 0xdf, + 0xa1, 0xbd, 0x69, 0xbd, 0xa6, 0xf0, 0x3d, 0x43, 0x31, 0x5e, 0xcb, 0x35, + 0xc1, 0x35, 0x04, 0x2e, 0xde, 0x4b, 0xc1, 0xbc, 0x97, 0x7f, 0xad, 0x4d, + 0x36, 0xad, 0xbd, 0xa9, 0x76, 0x1b, 0xa1, 0x73, 0xe3, 0x58, 0xbb, 0x5f, + 0x63, 0x13, 0x2d, 0x99, 0xb9, 0x68, 0xa3, 0x8c, 0xb0, 0x4d, 0x40, 0x15, + 0xef, 0x95, 0xb5, 0xff, 0x53, 0x52, 0xc0, 0xb5, 0xde, 0x9f, 0x5f, 0x43, + 0x29, 0xad, 0xbf, 0x61, 0xff, 0x56, 0x0a, 0x60, 0x2d, 0x02, 0x0e, 0x5b, + 0x02, 0x69, 0x3b, 0x26, 0x23, 0xde, 0x2f, 0x01, 0xfc, 0x7f, 0x01, 0x06, + 0x00, 0xa3, 0x09, 0xc1, 0x9c, 0x41, 0x01, 0x89, 0xa8, 0x00, 0x00, 0x00, + 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __device_fat16_png_len = 13605; +unsigned char __device_fat32_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe2, 0x98, 0x77, 0x38, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x31, 0x4b, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xdc, 0x7d, 0x69, 0x8c, + 0x24, 0xd7, 0x7d, 0xdf, 0xab, 0xa3, 0xef, 0x73, 0xce, 0xdd, 0x9d, 0x9d, + 0xbd, 0x77, 0x79, 0xec, 0x72, 0x79, 0xdf, 0x12, 0x4d, 0xc6, 0x8a, 0xad, + 0x40, 0x12, 0x9c, 0x28, 0x02, 0x11, 0x20, 0x46, 0x84, 0xe4, 0x4b, 0x80, + 0x7c, 0x09, 0xa2, 0x0f, 0x41, 0x20, 0x04, 0x01, 0x23, 0x40, 0x88, 0x83, + 0xe4, 0x6b, 0x64, 0x29, 0x46, 0x22, 0x18, 0x81, 0x60, 0xc3, 0x22, 0x4c, + 0xd9, 0xa2, 0x22, 0x88, 0x91, 0x69, 0x92, 0xa2, 0x25, 0x4a, 0xbc, 0x8f, + 0x3d, 0xb9, 0xd7, 0xec, 0xce, 0xcc, 0x1e, 0x73, 0x9f, 0x3d, 0xd3, 0x57, + 0x55, 0x7e, 0xbf, 0xff, 0x7b, 0xaf, 0xba, 0xba, 0xa7, 0xe7, 0xd8, 0xdd, + 0xa1, 0x2c, 0xaa, 0x97, 0xc5, 0xae, 0xa9, 0xae, 0xae, 0xae, 0xfa, 0x9f, + 0xbf, 0xff, 0xf1, 0xde, 0x73, 0x54, 0xf7, 0x97, 0x63, 0x77, 0x9e, 0x7b, + 0xee, 0x39, 0xe7, 0xd4, 0xa9, 0x53, 0xce, 0xe4, 0xe4, 0xa4, 0x33, 0x31, + 0x31, 0xe1, 0xd6, 0x6a, 0x35, 0x67, 0x60, 0x60, 0xc0, 0x5d, 0x5e, 0x5e, + 0x76, 0x7b, 0x7b, 0x7b, 0x9d, 0x95, 0x95, 0x15, 0xb7, 0x5a, 0xad, 0xba, + 0xf9, 0x7c, 0xde, 0x69, 0x36, 0x9b, 0x4e, 0x36, 0x9b, 0x95, 0xef, 0x72, + 0x1f, 0xc7, 0xa2, 0x0b, 0xf2, 0x6f, 0xf5, 0x29, 0x7a, 0x79, 0x9e, 0x17, + 0x76, 0x1e, 0xc3, 0xb3, 0x86, 0xbe, 0xef, 0x87, 0x78, 0x76, 0x79, 0x5f, + 0x5c, 0x5c, 0x0c, 0xd3, 0xe9, 0x74, 0x90, 0xcb, 0xe5, 0x82, 0xe9, 0xe9, + 0xe9, 0x10, 0x5b, 0x80, 0xe7, 0x0f, 0x40, 0xaf, 0xf0, 0x99, 0x67, 0x9e, + 0x09, 0x41, 0xa7, 0xf0, 0xf9, 0xe7, 0x9f, 0xe7, 0x75, 0xec, 0xb5, 0xc2, + 0x75, 0x09, 0xdd, 0xed, 0xb8, 0x25, 0x3e, 0x2e, 0xe2, 0x1e, 0x3d, 0x7a, + 0xd4, 0x59, 0x58, 0x58, 0xf0, 0x40, 0x74, 0xb7, 0x50, 0x28, 0x90, 0x01, + 0x5e, 0x32, 0x99, 0xf4, 0x52, 0xa9, 0x14, 0x99, 0xe2, 0x62, 0xdf, 0x4d, + 0x24, 0x12, 0x6e, 0x10, 0x04, 0x0e, 0xf6, 0x1d, 0xbe, 0xf3, 0x1a, 0xb8, + 0x41, 0x55, 0xa9, 0x54, 0x1c, 0xbe, 0xdf, 0xca, 0x6b, 0x75, 0x75, 0xf5, + 0xb6, 0x89, 0x79, 0xab, 0xbf, 0xcd, 0x97, 0xeb, 0xba, 0xa1, 0x65, 0x08, + 0x18, 0xa0, 0x1a, 0x8d, 0x46, 0xc0, 0xfd, 0x7a, 0xbd, 0x1e, 0xe0, 0x39, + 0x03, 0x3c, 0x7b, 0x80, 0x63, 0x4d, 0x7c, 0x16, 0x80, 0x2e, 0x4d, 0x30, + 0x25, 0x98, 0x9f, 0x9f, 0x6f, 0x96, 0x4a, 0x25, 0xfe, 0xbd, 0x29, 0x13, + 0xfc, 0x0d, 0xa4, 0x3f, 0x22, 0xfe, 0xe1, 0xc3, 0x87, 0x5d, 0x5c, 0xd0, + 0xe5, 0x7d, 0xe0, 0x86, 0x7c, 0xfc, 0x38, 0x09, 0xef, 0x73, 0x1f, 0x84, + 0xe6, 0x3e, 0x8f, 0x7b, 0x8e, 0xe3, 0xf0, 0x1c, 0x61, 0x42, 0x18, 0x86, + 0xc2, 0x04, 0x30, 0x4a, 0x81, 0x31, 0x0e, 0x6e, 0xf2, 0x96, 0x08, 0x00, + 0x49, 0x53, 0x78, 0xc8, 0xdb, 0x62, 0xc0, 0x56, 0x7e, 0x1b, 0xf7, 0xd8, + 0x95, 0xf8, 0xf6, 0xb7, 0xa1, 0xc1, 0x21, 0x9e, 0x27, 0x24, 0xd1, 0xb1, + 0x1f, 0xe0, 0x33, 0x12, 0xbf, 0xc9, 0xcb, 0x83, 0xf8, 0x4d, 0x48, 0x7e, + 0x03, 0x1a, 0x60, 0xf7, 0x1d, 0xec, 0x0b, 0x53, 0xf0, 0x79, 0x00, 0x41, + 0x0e, 0xbf, 0xf1, 0x8d, 0x6f, 0x38, 0x86, 0xf8, 0x4e, 0x9c, 0x09, 0xce, + 0x7a, 0xc4, 0x7f, 0xf6, 0xd9, 0x67, 0xc5, 0xec, 0x8c, 0x8d, 0x8d, 0x79, + 0x34, 0x39, 0x24, 0x36, 0x34, 0xc0, 0x07, 0x91, 0x13, 0xdc, 0x32, 0x99, + 0x4c, 0x02, 0x44, 0xe6, 0x5d, 0x27, 0x70, 0x53, 0x64, 0x24, 0x19, 0x42, + 0x46, 0xc8, 0x8b, 0x0c, 0x80, 0xa4, 0xc8, 0xf5, 0xb8, 0xbf, 0x9d, 0xe6, + 0x61, 0x2b, 0x04, 0x25, 0xe3, 0x6e, 0xf6, 0xf3, 0x6e, 0xc7, 0x48, 0x78, + 0x3e, 0x0e, 0x9e, 0x39, 0x34, 0x4c, 0x10, 0xc2, 0xe3, 0x99, 0x9a, 0x78, + 0x6f, 0xe0, 0x78, 0x1d, 0x26, 0xb8, 0xce, 0x77, 0x08, 0x5b, 0x1d, 0x66, + 0xb7, 0x3e, 0x35, 0x35, 0xd5, 0xc0, 0x7b, 0x03, 0xf4, 0x6a, 0x8e, 0x8c, + 0x8c, 0x34, 0x41, 0xcb, 0x00, 0x16, 0x84, 0x4c, 0x58, 0xa3, 0x05, 0x5d, + 0xef, 0x12, 0x1c, 0x53, 0xaf, 0xbd, 0xf6, 0x9a, 0xd8, 0x7c, 0x98, 0x00, + 0x17, 0x2a, 0x05, 0x5a, 0x7a, 0x42, 0x7c, 0x48, 0x7b, 0x0a, 0xf7, 0x90, + 0xc4, 0x0d, 0xa4, 0x40, 0xf8, 0x34, 0x6e, 0x2e, 0x45, 0x46, 0xe0, 0xf3, + 0x84, 0xb9, 0x9e, 0x47, 0xe1, 0xc1, 0xdf, 0xc2, 0x84, 0x6e, 0xc4, 0xbf, + 0x59, 0x86, 0xe0, 0xc1, 0x6f, 0x9a, 0x49, 0xd0, 0xd2, 0xb8, 0x3d, 0xef, + 0xb4, 0xef, 0xd1, 0x35, 0x3b, 0x3e, 0x0b, 0xbb, 0x30, 0x45, 0x88, 0x4f, + 0xe9, 0xa7, 0xd4, 0xe3, 0xd5, 0x84, 0xb6, 0xe0, 0xeb, 0xcd, 0x06, 0x48, + 0x51, 0x23, 0x3f, 0x20, 0x10, 0x55, 0x3c, 0xd3, 0x6a, 0xb1, 0x58, 0xf4, + 0xf0, 0xbb, 0x4e, 0x7f, 0x7f, 0xbf, 0x9a, 0x99, 0x99, 0x09, 0xfb, 0xfa, + 0xfa, 0xc4, 0x57, 0xc0, 0x8a, 0x28, 0x32, 0x21, 0xf6, 0x1b, 0x91, 0x16, + 0x38, 0xeb, 0x49, 0x3f, 0x4d, 0xcf, 0xfe, 0xfd, 0xfb, 0x3d, 0x5e, 0x14, + 0x9c, 0x4c, 0xe0, 0x3d, 0x49, 0xe2, 0xe3, 0x07, 0xd2, 0xb8, 0x69, 0x1a, + 0xd5, 0x2c, 0x89, 0x8f, 0x9b, 0x11, 0x26, 0xe0, 0x26, 0x93, 0xd4, 0x06, + 0x72, 0x0a, 0xfb, 0x1e, 0x6e, 0xc8, 0x35, 0x26, 0xa9, 0x93, 0xe0, 0xce, + 0x76, 0x10, 0x1e, 0x0f, 0xbe, 0x91, 0xdd, 0xee, 0xe6, 0x54, 0xd7, 0x7c, + 0xce, 0x63, 0xf1, 0x7d, 0xb9, 0x39, 0x10, 0x3b, 0xfe, 0x7d, 0x12, 0x9e, + 0x1b, 0x5e, 0x62, 0x76, 0x48, 0x79, 0xfc, 0x5d, 0xe7, 0x0b, 0xc7, 0xaa, + 0x74, 0x53, 0xd0, 0x84, 0x2a, 0x36, 0x3a, 0xab, 0x0a, 0xe8, 0xb1, 0x0a, + 0x81, 0x25, 0x43, 0x6a, 0x60, 0x40, 0xed, 0xf2, 0xe5, 0xcb, 0x0d, 0xd0, + 0xae, 0x39, 0x38, 0x38, 0x18, 0x3c, 0xfd, 0xf4, 0xd3, 0x41, 0xa7, 0x16, + 0xf8, 0xeb, 0x49, 0x3f, 0x9d, 0xee, 0xec, 0xec, 0xac, 0x0b, 0x07, 0xea, + 0xe1, 0x42, 0x3e, 0xb8, 0x4c, 0xb6, 0xa7, 0x48, 0x7c, 0x5c, 0x3c, 0x87, + 0x9b, 0x29, 0x40, 0x13, 0xef, 0xc9, 0x64, 0x72, 0x25, 0xfc, 0x68, 0x02, + 0xb2, 0x9e, 0x74, 0x95, 0x83, 0xeb, 0x39, 0x7c, 0x12, 0xe3, 0x0f, 0xa8, + 0x01, 0xca, 0xe1, 0x03, 0x41, 0x70, 0x6e, 0x4a, 0xea, 0xf1, 0xcc, 0x20, + 0x8e, 0xbf, 0x2e, 0xd1, 0x3b, 0x84, 0x7a, 0x53, 0x66, 0xb8, 0xae, 0x63, + 0x08, 0xec, 0xb6, 0x7d, 0x66, 0x8f, 0xe3, 0x2f, 0xa3, 0x9d, 0x64, 0x7c, + 0xa8, 0xa8, 0xc0, 0xbc, 0x07, 0x1c, 0x37, 0x0c, 0x09, 0x03, 0x92, 0x1e, + 0x8a, 0xde, 0x0c, 0xc2, 0x5a, 0x03, 0xa6, 0x00, 0x2a, 0xe6, 0x56, 0x97, + 0x16, 0x16, 0x1a, 0x30, 0x3d, 0xe7, 0x61, 0x92, 0x47, 0x29, 0xfd, 0xd4, + 0x3c, 0x38, 0x7d, 0x71, 0xd2, 0x10, 0xdc, 0x00, 0xc4, 0x0f, 0x41, 0xc3, + 0xf0, 0xd5, 0x57, 0x5f, 0xa5, 0x43, 0x76, 0x36, 0x33, 0x41, 0xe2, 0x78, + 0x71, 0xb2, 0x03, 0xe9, 0x77, 0x7b, 0x7a, 0x7a, 0x68, 0x4a, 0x3c, 0x38, + 0x13, 0x68, 0x92, 0x9f, 0x24, 0x03, 0x70, 0x33, 0xc4, 0x96, 0xd9, 0xb1, + 0xb1, 0xab, 0xff, 0xfc, 0xd8, 0xbd, 0xc7, 0xff, 0x65, 0x7f, 0xff, 0x40, + 0x48, 0xeb, 0x94, 0x2f, 0x14, 0x70, 0xf3, 0x01, 0x25, 0x48, 0xfd, 0x36, + 0xbf, 0x42, 0x0a, 0x86, 0xe7, 0xaa, 0xd5, 0x95, 0x55, 0x35, 0xbf, 0x30, + 0x1f, 0x16, 0xcb, 0x65, 0xe7, 0xec, 0xa9, 0x93, 0x63, 0xa0, 0xd1, 0xbf, + 0x83, 0x1c, 0xde, 0xc0, 0xf3, 0x53, 0x5d, 0x9a, 0xa0, 0x93, 0x98, 0x2a, + 0x22, 0x22, 0x08, 0x2f, 0x89, 0x22, 0x3e, 0x35, 0x46, 0x7c, 0xd9, 0xf7, + 0xd7, 0x73, 0xc6, 0xfc, 0x12, 0xe1, 0x25, 0x1d, 0x2b, 0x6c, 0x3d, 0xed, + 0x7b, 0x12, 0x4c, 0xa0, 0xa9, 0x49, 0xe1, 0x78, 0x8f, 0x97, 0xf0, 0x9e, + 0x4c, 0x24, 0x92, 0x6a, 0x66, 0x6a, 0x12, 0x12, 0x42, 0xaa, 0x87, 0xaa, + 0xd4, 0xd3, 0xab, 0x6a, 0x80, 0x8d, 0x0e, 0x25, 0x26, 0x0c, 0x3f, 0x45, + 0x64, 0x75, 0xb6, 0x6c, 0x18, 0x89, 0x96, 0x6a, 0xd5, 0xaa, 0x9a, 0xbc, + 0x7e, 0x15, 0x4f, 0x0c, 0xd3, 0xea, 0xfa, 0x88, 0x05, 0x32, 0xc3, 0xe3, + 0x63, 0x57, 0x1e, 0x1e, 0x1a, 0x1a, 0x7a, 0x85, 0x30, 0x95, 0x26, 0xca, + 0xa0, 0xa3, 0x06, 0x1d, 0x36, 0xa0, 0x7b, 0x93, 0xf1, 0x82, 0xb5, 0x30, + 0x30, 0x43, 0xeb, 0xc3, 0x50, 0x72, 0x09, 0xb0, 0xd3, 0x01, 0xec, 0x24, + 0x94, 0xa2, 0x1d, 0xa7, 0x39, 0xf1, 0x61, 0xfe, 0x69, 0x82, 0x32, 0x60, + 0x42, 0x06, 0x17, 0x1e, 0xf2, 0x3d, 0xaf, 0x8f, 0x26, 0xa1, 0x51, 0xaf, + 0xbb, 0xc3, 0x43, 0xbb, 0xd4, 0xf4, 0xec, 0x8c, 0xea, 0xeb, 0xed, 0x53, + 0xbb, 0xf6, 0xee, 0x81, 0x84, 0xf8, 0xa2, 0xde, 0x9f, 0x16, 0x5d, 0x68, + 0xc0, 0xd7, 0x04, 0x1b, 0x39, 0x7a, 0xc8, 0x92, 0xeb, 0xbb, 0x6a, 0xa5, + 0x52, 0x51, 0xa0, 0x89, 0xf8, 0x26, 0x98, 0x54, 0x55, 0x2e, 0x95, 0xd4, + 0xf5, 0xc9, 0x29, 0xc0, 0xc0, 0x84, 0x02, 0x14, 0xda, 0x07, 0x63, 0x91, + 0xa5, 0xff, 0xc7, 0x7b, 0x12, 0x8c, 0xa8, 0x81, 0x59, 0x35, 0x40, 0x52, + 0x09, 0x54, 0x29, 0xd0, 0xb4, 0x2c, 0x9d, 0x66, 0xa8, 0x8d, 0x01, 0x06, + 0x7a, 0xda, 0xa8, 0xcf, 0xe5, 0x97, 0xf1, 0x63, 0x82, 0xfd, 0x89, 0x80, + 0x78, 0x61, 0x10, 0x3d, 0x0d, 0xae, 0xf6, 0xc3, 0x23, 0x67, 0x19, 0xe0, + 0x64, 0xb3, 0x19, 0x15, 0x00, 0x00, 0x95, 0x7b, 0x7a, 0x54, 0x2a, 0xe1, + 0xa9, 0x1a, 0x6c, 0xe0, 0xf8, 0xc8, 0x65, 0x55, 0x59, 0x5e, 0x32, 0x4e, + 0xd4, 0x59, 0xff, 0xa9, 0x54, 0xa7, 0x49, 0x74, 0x3a, 0x8e, 0xaf, 0x77, + 0xfe, 0x6d, 0x1b, 0x92, 0xe8, 0xb7, 0x28, 0x28, 0xc5, 0x62, 0x09, 0xcf, + 0x91, 0x25, 0x58, 0xd8, 0xf0, 0x1b, 0xb0, 0xf3, 0x6a, 0x7e, 0x76, 0x5a, + 0x15, 0x21, 0x68, 0x43, 0x7b, 0xf6, 0xab, 0x65, 0x3c, 0x63, 0x0f, 0xf6, + 0xa7, 0x26, 0x27, 0xc0, 0x20, 0x7f, 0x07, 0x4f, 0x21, 0x1a, 0xa2, 0xb5, + 0x80, 0x0f, 0xf0, 0xb1, 0xef, 0xe3, 0x3b, 0x2e, 0x82, 0x33, 0xc7, 0x9a, + 0xa1, 0x35, 0x28, 0xab, 0xf3, 0x80, 0xb1, 0xff, 0x82, 0xe1, 0x89, 0x64, + 0x18, 0xed, 0x52, 0x0b, 0xa8, 0x7d, 0xf8, 0x3b, 0x49, 0xc4, 0x83, 0x8b, + 0xf5, 0xe5, 0xf2, 0xc5, 0xb4, 0xe7, 0x7a, 0x2a, 0x5f, 0x2c, 0x80, 0xf8, + 0xbd, 0x6a, 0x61, 0x6e, 0x46, 0xd5, 0x81, 0xcf, 0x83, 0xca, 0xaa, 0x7a, + 0xed, 0x95, 0x97, 0xd5, 0xe2, 0xc2, 0xbc, 0xda, 0x7f, 0xe0, 0x80, 0xaa, + 0xc6, 0x4c, 0x12, 0x1d, 0x20, 0xfd, 0x84, 0x55, 0x79, 0xd7, 0xf8, 0x0b, + 0x12, 0x81, 0x0f, 0x1f, 0xca, 0x39, 0x8e, 0x0a, 0xf8, 0xae, 0xd1, 0x93, + 0x21, 0x8a, 0xa3, 0xe4, 0xd4, 0xad, 0xf8, 0x17, 0x9e, 0xbf, 0xc1, 0x79, + 0xfa, 0x32, 0x8e, 0x38, 0x74, 0x04, 0x30, 0xea, 0xca, 0xe5, 0xcb, 0xaa, + 0x58, 0x2a, 0xab, 0x2f, 0xfe, 0xc1, 0x3f, 0x61, 0xc4, 0xde, 0x15, 0x41, + 0xd9, 0xeb, 0x32, 0xa8, 0xa4, 0x63, 0x6e, 0xd4, 0xea, 0x2a, 0x07, 0xa6, + 0xd1, 0x17, 0xc0, 0xc6, 0x8b, 0x59, 0xc2, 0xf7, 0xfa, 0x08, 0x4e, 0xb0, + 0x5f, 0x01, 0xf1, 0x13, 0x10, 0x4e, 0x09, 0x58, 0x21, 0xfd, 0x1e, 0xe8, + 0xe5, 0xee, 0xd8, 0xb1, 0xc3, 0x81, 0x43, 0x56, 0x9d, 0x7e, 0xc0, 0xef, + 0x06, 0x0f, 0xc9, 0x2d, 0x98, 0x1a, 0xe6, 0x75, 0xc4, 0x07, 0xe0, 0x66, + 0x45, 0x03, 0xc8, 0x59, 0xfc, 0x4d, 0xf5, 0xea, 0x4b, 0xa5, 0x53, 0x60, + 0x92, 0x36, 0x33, 0x54, 0x5f, 0x44, 0x29, 0xc0, 0xcc, 0x09, 0x5a, 0x45, + 0x60, 0xf0, 0x9a, 0x7a, 0xec, 0xd1, 0x47, 0xd5, 0xd5, 0x6b, 0xd7, 0x84, + 0x80, 0x88, 0xd5, 0xe5, 0xa1, 0xeb, 0xf5, 0xaa, 0x02, 0x43, 0x45, 0x7d, + 0x79, 0x9c, 0x51, 0xa6, 0x3e, 0x5e, 0x8f, 0xec, 0x2b, 0xf7, 0x53, 0xc9, + 0x14, 0xcc, 0x42, 0x43, 0xce, 0x85, 0xa9, 0x93, 0xbb, 0x25, 0xc1, 0xa8, + 0x51, 0x9b, 0x39, 0x79, 0xde, 0x13, 0xd0, 0xca, 0x7a, 0xf9, 0x1d, 0xb9, + 0x3e, 0x7f, 0x9b, 0xfb, 0x7c, 0x7f, 0xfc, 0xf1, 0xc7, 0xd5, 0xa9, 0xd3, + 0x67, 0xe4, 0x39, 0x3c, 0x9a, 0xcd, 0x75, 0xae, 0x1f, 0xca, 0xf7, 0x7d, + 0xe5, 0x21, 0x58, 0x13, 0xa1, 0x30, 0xda, 0x42, 0x21, 0x4a, 0xe0, 0x7e, + 0xf1, 0xec, 0x45, 0xdc, 0x5f, 0x1e, 0xf4, 0x99, 0x33, 0x96, 0xc2, 0x27, + 0x80, 0xa1, 0x1f, 0x2d, 0x14, 0x0a, 0x44, 0x47, 0xf4, 0xa9, 0x4e, 0xa7, + 0x1f, 0xf0, 0x3b, 0xed, 0x3f, 0x19, 0x41, 0x6e, 0xd1, 0xfe, 0x03, 0x46, + 0x49, 0xde, 0x07, 0xcc, 0xf0, 0xcc, 0xb9, 0x54, 0x2b, 0x5e, 0xbc, 0x9c, + 0x82, 0xf9, 0xa1, 0x64, 0xf3, 0xa6, 0x1c, 0x73, 0xe3, 0x3c, 0xad, 0x52, + 0x05, 0x01, 0x53, 0x29, 0xb5, 0x0c, 0x69, 0x1a, 0x1d, 0x1d, 0x55, 0x8f, + 0x3c, 0xf2, 0x88, 0xa8, 0x2e, 0x89, 0xc7, 0xe3, 0xd7, 0xc0, 0x94, 0x63, + 0xc7, 0x8e, 0xa9, 0xb7, 0xde, 0x7a, 0x4b, 0xa4, 0x0d, 0x70, 0x57, 0x5d, + 0xbc, 0x78, 0x51, 0x88, 0x0f, 0xd4, 0xa5, 0x20, 0x31, 0xea, 0xa3, 0x8f, + 0x3e, 0x52, 0x4f, 0x3e, 0xf9, 0xa4, 0x44, 0xa6, 0xcc, 0xbf, 0xe4, 0x72, + 0x39, 0x85, 0x88, 0x5c, 0xbd, 0xf1, 0xc6, 0x1b, 0x72, 0x5e, 0x37, 0x53, + 0xc1, 0xeb, 0x53, 0xc2, 0xbe, 0xf8, 0xc5, 0x2f, 0xaa, 0xef, 0x7d, 0xef, + 0x7b, 0xf2, 0x5b, 0x9d, 0xe7, 0x91, 0xe1, 0xf0, 0x6d, 0xea, 0x0b, 0x5f, + 0xf8, 0x82, 0x7a, 0xe1, 0x85, 0x17, 0xe4, 0x73, 0xd8, 0xe4, 0xe8, 0x9a, + 0x7c, 0x86, 0x8d, 0x18, 0xcc, 0x8f, 0x20, 0x8f, 0x22, 0x40, 0x80, 0x87, + 0x8a, 0x16, 0x80, 0x19, 0x18, 0x7e, 0xdf, 0x4b, 0x26, 0x0a, 0x20, 0x72, + 0x1e, 0xf7, 0x4c, 0x5f, 0xe9, 0x73, 0x63, 0x6e, 0xcc, 0xe6, 0xca, 0xf0, + 0x72, 0xac, 0x1f, 0x40, 0x3c, 0xd0, 0x66, 0x82, 0xda, 0x7e, 0x91, 0x04, + 0x21, 0xb7, 0x98, 0xc7, 0xc1, 0x83, 0x33, 0xc3, 0x29, 0x66, 0xc8, 0xd3, + 0x91, 0x8a, 0x6f, 0xcc, 0x50, 0x0f, 0x1f, 0x90, 0x21, 0xba, 0xe7, 0x7b, + 0x72, 0xcf, 0x72, 0x73, 0x60, 0x46, 0xa3, 0x5e, 0x91, 0x07, 0x4a, 0x62, + 0x3b, 0x7c, 0xf8, 0x88, 0xa8, 0x28, 0x13, 0x6a, 0xcc, 0x8c, 0xc2, 0x16, + 0x0a, 0x91, 0xc0, 0x58, 0x21, 0x2c, 0xed, 0x2e, 0x09, 0xc2, 0xdf, 0xa4, + 0x84, 0x23, 0xee, 0x50, 0x8c, 0x22, 0xc9, 0x30, 0x84, 0xf3, 0x11, 0x43, + 0xc8, 0x08, 0x7e, 0x97, 0xe7, 0x6e, 0xc4, 0x00, 0x7e, 0xbe, 0x7b, 0xf7, + 0x6e, 0xf9, 0x0d, 0xfa, 0x27, 0x7b, 0x1e, 0x19, 0x4d, 0xf3, 0xf1, 0xcd, + 0x6f, 0x7e, 0x53, 0x7d, 0xf9, 0xcb, 0x5f, 0x96, 0xcf, 0xa8, 0x09, 0x2f, + 0xbe, 0xf8, 0xa2, 0xdc, 0x03, 0xb5, 0x8c, 0xbf, 0xbf, 0x11, 0x03, 0xac, + 0xe9, 0x12, 0x0d, 0xc0, 0xb9, 0x94, 0x7c, 0x9a, 0x20, 0x0a, 0x1d, 0xef, + 0x2f, 0xe9, 0x27, 0xb2, 0x20, 0x70, 0xd1, 0xd7, 0xf9, 0x0c, 0xbe, 0x31, + 0x2a, 0xf6, 0xc8, 0x04, 0xe6, 0xc2, 0x96, 0x96, 0x96, 0xa2, 0x0b, 0x13, + 0xea, 0xaf, 0x71, 0xc2, 0x26, 0x00, 0x53, 0x46, 0x4d, 0x98, 0x4a, 0x26, + 0x67, 0x6d, 0x72, 0xcd, 0xb5, 0x17, 0xc5, 0x3e, 0x83, 0xb1, 0x12, 0xcd, + 0x83, 0x2b, 0x1a, 0xe0, 0xc9, 0xcd, 0xf1, 0x86, 0xac, 0x8a, 0x67, 0xf0, + 0x80, 0x60, 0x3f, 0x08, 0x3d, 0xaf, 0x00, 0xc1, 0xe4, 0xc6, 0x4f, 0x9c, + 0x38, 0xa1, 0xe6, 0xe6, 0xe6, 0x84, 0x40, 0x96, 0x58, 0x3c, 0xf7, 0x83, + 0x0f, 0x3e, 0x10, 0x22, 0x30, 0xbf, 0x73, 0xe3, 0xc6, 0x0d, 0x21, 0xce, + 0xde, 0xbd, 0x7b, 0x23, 0x26, 0xe1, 0xc6, 0x85, 0x79, 0x76, 0x5b, 0x2f, + 0x02, 0xe6, 0x35, 0xc9, 0x1c, 0xfe, 0x16, 0x85, 0x83, 0xf7, 0x67, 0x19, + 0xc0, 0x63, 0xfc, 0x8d, 0xcf, 0x7f, 0xfe, 0xf3, 0x10, 0x8a, 0xc3, 0x72, + 0x0c, 0x91, 0xa9, 0xdc, 0xaf, 0x10, 0xcf, 0x68, 0xcb, 0xba, 0xf6, 0xdf, + 0x22, 0x55, 0x6a, 0x39, 0xbe, 0x53, 0xab, 0x35, 0xc4, 0x9f, 0x51, 0x1b, + 0xf4, 0x35, 0x3c, 0xfe, 0x66, 0x72, 0xa5, 0xb2, 0x5c, 0x20, 0x9d, 0x98, + 0xa0, 0x24, 0x49, 0x28, 0xbc, 0x96, 0x77, 0x4c, 0xc7, 0x1b, 0x47, 0xac, + 0xba, 0xc5, 0x01, 0xdd, 0x42, 0x7d, 0xc9, 0xe3, 0x18, 0x26, 0x78, 0x06, + 0x8e, 0x92, 0x01, 0x19, 0x48, 0x7a, 0x3e, 0x99, 0x14, 0x0d, 0x70, 0xa8, + 0x86, 0xe4, 0xa5, 0xa3, 0xd5, 0x91, 0xb0, 0x54, 0x24, 0x98, 0xaf, 0x7b, + 0xee, 0xb9, 0x47, 0x1d, 0x39, 0x72, 0x24, 0xca, 0xcd, 0xf0, 0x01, 0x1f, + 0x7c, 0xf0, 0x41, 0xd9, 0xa7, 0x39, 0xa0, 0xb4, 0x53, 0xc2, 0x61, 0xf2, + 0x84, 0x80, 0xe3, 0xe3, 0xe3, 0x6a, 0x62, 0x62, 0x42, 0x1d, 0x3a, 0x74, + 0x28, 0x62, 0x02, 0x09, 0xc3, 0x77, 0x7e, 0x4e, 0xad, 0xe0, 0x77, 0xbb, + 0x49, 0x29, 0x3f, 0x27, 0xd1, 0xad, 0xa9, 0x8b, 0x9b, 0x20, 0x4f, 0x88, + 0x56, 0x53, 0xdf, 0xfd, 0xee, 0x77, 0xd5, 0xd7, 0xbe, 0xf6, 0x35, 0xb9, + 0x0f, 0xfe, 0x36, 0xcf, 0xe7, 0x67, 0x29, 0xc0, 0x48, 0x32, 0xd6, 0xdb, + 0x30, 0xbc, 0xd6, 0x20, 0x46, 0x34, 0xa0, 0xba, 0xaa, 0x5c, 0x03, 0x22, + 0xc4, 0x14, 0x41, 0xf3, 0x99, 0x1d, 0x06, 0xf0, 0x28, 0x19, 0x41, 0xa5, + 0x09, 0xc2, 0xa9, 0x3e, 0xe1, 0xa7, 0x08, 0xb0, 0x4d, 0xcf, 0x77, 0x5a, + 0x1c, 0x3f, 0xae, 0x16, 0x71, 0x04, 0x44, 0x0d, 0x30, 0x76, 0xcb, 0xb5, + 0x9a, 0x40, 0x0d, 0x00, 0x52, 0xc8, 0xc2, 0xbc, 0xe4, 0xc4, 0xee, 0xf1, + 0xc7, 0xc5, 0x3d, 0x48, 0xe8, 0x2e, 0xbe, 0x80, 0x92, 0x4c, 0x13, 0x40, + 0x89, 0x1b, 0x19, 0x19, 0x11, 0x9b, 0x4f, 0x49, 0xe6, 0x03, 0xf2, 0x18, + 0xfd, 0x02, 0x1f, 0xa2, 0x02, 0x93, 0x40, 0xc8, 0x4b, 0x22, 0x9c, 0x3d, + 0x7b, 0x36, 0xca, 0xcb, 0xd0, 0x54, 0xbc, 0xfe, 0xfa, 0xeb, 0x72, 0x2e, + 0x19, 0x49, 0x0d, 0xb0, 0x0c, 0xe5, 0xe7, 0x76, 0x3f, 0x96, 0xd8, 0x6b, + 0x4b, 0x55, 0xbc, 0xf4, 0xd2, 0x4b, 0x0a, 0x7e, 0x6b, 0x0d, 0xf9, 0xfa, + 0xfa, 0xfa, 0xc4, 0xe4, 0xfc, 0xe4, 0x27, 0x3f, 0x89, 0x32, 0xaa, 0xe5, + 0x72, 0x59, 0xb4, 0x26, 0x9b, 0xcd, 0xb5, 0x39, 0xe6, 0xf5, 0xd3, 0x1a, + 0x8e, 0x68, 0x8c, 0x20, 0x39, 0x31, 0xb9, 0x30, 0x41, 0xf4, 0x81, 0xd0, + 0x06, 0x6a, 0x11, 0x98, 0x5c, 0xa2, 0x90, 0xba, 0x5a, 0x95, 0x64, 0xa3, + 0xfd, 0x27, 0xf1, 0xb9, 0x59, 0x24, 0xd4, 0x8d, 0x01, 0x4e, 0x87, 0x34, + 0x39, 0xe6, 0x4b, 0x92, 0xd5, 0xe4, 0xbb, 0x31, 0x3f, 0x1e, 0x3e, 0xcb, + 0xe1, 0xc7, 0xd2, 0x09, 0xdc, 0x88, 0xa0, 0x02, 0x66, 0x16, 0xf1, 0x30, + 0xfc, 0x5b, 0xc3, 0xbb, 0x26, 0x20, 0xe8, 0x82, 0x48, 0xb1, 0x3e, 0xc7, + 0x33, 0x4e, 0x5a, 0xe7, 0x61, 0x1a, 0x06, 0x85, 0x00, 0x97, 0x19, 0x98, + 0x09, 0x7b, 0xea, 0xee, 0x14, 0x54, 0x11, 0xda, 0x04, 0x19, 0x4e, 0x6e, + 0x82, 0x98, 0xfa, 0x33, 0x4f, 0x6c, 0x2e, 0x3f, 0xbb, 0xf3, 0xce, 0x3b, + 0xb7, 0x90, 0x2a, 0x08, 0x34, 0xec, 0xdd, 0x20, 0x89, 0x27, 0xf7, 0x82, + 0x73, 0x9a, 0x8d, 0xa6, 0x30, 0x6b, 0x04, 0x71, 0x0b, 0xef, 0x5d, 0xe7, + 0xac, 0x82, 0x4d, 0x50, 0x96, 0x1f, 0x81, 0x48, 0x71, 0xc2, 0x60, 0x02, + 0xb6, 0x10, 0xa0, 0x84, 0x97, 0x20, 0x03, 0x24, 0x76, 0xe2, 0x46, 0xba, + 0xb1, 0x38, 0x05, 0x01, 0x74, 0xe2, 0x48, 0x28, 0x0e, 0x45, 0xfd, 0x2e, + 0xb9, 0x76, 0x91, 0x7c, 0x5b, 0x5e, 0xe4, 0x97, 0xc8, 0x04, 0x5e, 0x98, + 0x8e, 0x18, 0x7f, 0x17, 0xb2, 0xb9, 0x7c, 0xc2, 0x13, 0xe2, 0x6a, 0x3b, + 0xd8, 0x08, 0xeb, 0x72, 0xe3, 0x8c, 0x03, 0x0a, 0xe0, 0x70, 0xb9, 0xb7, + 0x5f, 0x8d, 0x5c, 0x1e, 0x95, 0xcf, 0x29, 0x50, 0x81, 0x10, 0xb0, 0x65, + 0x8f, 0xe3, 0x52, 0x16, 0xfd, 0x1d, 0xc6, 0x24, 0x9a, 0xce, 0xd0, 0xa0, + 0x8e, 0x30, 0x16, 0x7f, 0x75, 0x23, 0x8e, 0xb3, 0x26, 0xb6, 0x09, 0xd7, + 0x95, 0x62, 0x6d, 0xba, 0xf4, 0xef, 0xf1, 0x1f, 0xff, 0x9e, 0x40, 0x24, + 0xdb, 0x0b, 0xed, 0xf0, 0x13, 0x7e, 0xec, 0x1c, 0xb5, 0xee, 0xf7, 0x3d, + 0x5b, 0x33, 0x08, 0xb5, 0x46, 0xfa, 0x82, 0x86, 0x5c, 0x98, 0x31, 0xf8, + 0x1c, 0xc7, 0x2d, 0xe1, 0x58, 0x82, 0xa6, 0x27, 0x96, 0x0d, 0x76, 0xe1, + 0xd7, 0x1c, 0x98, 0x5a, 0x27, 0x5e, 0x6f, 0xb0, 0x50, 0xd4, 0xef, 0x40, + 0x40, 0x0e, 0x54, 0x9c, 0x59, 0x50, 0xf1, 0x01, 0x34, 0x3f, 0x24, 0xbe, + 0x61, 0x80, 0xd8, 0x34, 0x5c, 0xa8, 0x54, 0xee, 0xe9, 0xf3, 0xb4, 0xf4, + 0xfb, 0x06, 0x8e, 0x21, 0x20, 0x81, 0xa9, 0x48, 0x65, 0x81, 0x54, 0x10, + 0xa0, 0x0c, 0x3c, 0x30, 0xa0, 0x1c, 0x32, 0xc7, 0xd1, 0xd9, 0x46, 0xbe, + 0x2b, 0xf3, 0xee, 0xb8, 0xce, 0xfa, 0xa1, 0xa6, 0xda, 0x20, 0x08, 0xde, + 0x96, 0xf8, 0x37, 0x6c, 0xb7, 0xe9, 0x60, 0xc4, 0xe2, 0xe2, 0x12, 0x02, + 0xbf, 0x40, 0xc7, 0x32, 0x06, 0x8a, 0x6e, 0x52, 0x2b, 0x36, 0xee, 0x33, + 0x94, 0x67, 0x77, 0x8d, 0xef, 0xa3, 0x4f, 0x84, 0x54, 0xe6, 0x41, 0xb3, + 0x34, 0xe9, 0xc4, 0xf8, 0x49, 0x5b, 0x4d, 0xd7, 0x61, 0x4d, 0xc5, 0xd0, + 0x73, 0xf3, 0x48, 0x98, 0x2f, 0xd8, 0x29, 0x51, 0x15, 0x53, 0xd5, 0x92, + 0x0a, 0x17, 0x2f, 0x4a, 0x13, 0x44, 0xa8, 0x85, 0x20, 0x4c, 0x08, 0xab, + 0xed, 0xb6, 0x8e, 0x6a, 0x09, 0x3b, 0x9d, 0xa0, 0xae, 0xd2, 0xc9, 0x0c, + 0xd4, 0x1a, 0xf0, 0x12, 0x9a, 0x40, 0x6d, 0xa0, 0xcd, 0x23, 0x7a, 0xa1, + 0x4d, 0x4f, 0x67, 0xd2, 0x30, 0x4b, 0x89, 0x0d, 0x71, 0x76, 0x9c, 0x03, + 0x11, 0x31, 0xcc, 0xbb, 0xb3, 0x69, 0x3a, 0x22, 0x8c, 0xce, 0xb2, 0x81, + 0x52, 0x9b, 0x36, 0x84, 0x2d, 0x16, 0xf0, 0x38, 0x25, 0xf2, 0x12, 0xcc, + 0xcf, 0x4b, 0x7f, 0xf3, 0xb2, 0x16, 0x8e, 0x2d, 0x65, 0x72, 0x1d, 0x31, + 0xa5, 0x64, 0x9a, 0xef, 0x19, 0x3f, 0x08, 0xf9, 0x64, 0x54, 0x8d, 0x2d, + 0x0b, 0xba, 0x31, 0x5f, 0x66, 0x41, 0x8b, 0x20, 0x21, 0x38, 0x68, 0xc7, + 0x42, 0xd1, 0x8e, 0x9c, 0x90, 0x46, 0x41, 0xb6, 0x06, 0x40, 0xa2, 0x33, + 0x02, 0x26, 0xe1, 0xa9, 0x09, 0x86, 0xe8, 0x11, 0xf1, 0x59, 0x78, 0xc7, + 0xe9, 0xa5, 0x54, 0x3a, 0x23, 0x76, 0x8f, 0xbf, 0xe3, 0x0a, 0xec, 0x4b, + 0xab, 0x00, 0x44, 0x4e, 0x24, 0x52, 0x06, 0x49, 0x38, 0x92, 0xe0, 0x22, + 0xfe, 0xe7, 0xcd, 0x12, 0xb9, 0x2c, 0xc1, 0xb9, 0xfa, 0x1b, 0xa1, 0x0c, + 0x27, 0x66, 0x4c, 0x62, 0xfb, 0x96, 0x28, 0x6b, 0x88, 0xe3, 0xac, 0xaf, + 0x21, 0x61, 0x07, 0xf1, 0xdb, 0x18, 0x12, 0xdb, 0x57, 0x26, 0xbf, 0xd3, + 0x8b, 0x78, 0x63, 0x66, 0x66, 0xd6, 0x38, 0xd8, 0x70, 0xd3, 0xfa, 0x82, + 0xf5, 0x15, 0x22, 0x80, 0x06, 0x05, 0xd1, 0x99, 0x27, 0x92, 0x12, 0x0b, + 0x64, 0x6d, 0x59, 0x96, 0xc4, 0xe7, 0x66, 0x9d, 0x30, 0x91, 0x17, 0x91, + 0xde, 0xa6, 0x1a, 0x60, 0x30, 0xab, 0x4b, 0x26, 0x90, 0x01, 0xe4, 0x26, + 0x89, 0x8f, 0xe3, 0x0c, 0xc2, 0x8a, 0x80, 0xbc, 0xe2, 0x80, 0x24, 0x0a, + 0x26, 0x36, 0x4e, 0x24, 0x55, 0xa1, 0xdc, 0x27, 0x0f, 0x56, 0x6d, 0x86, + 0xaa, 0xb6, 0xb8, 0xac, 0xe6, 0xb0, 0xb5, 0x24, 0x77, 0x7b, 0x32, 0xc6, + 0xeb, 0x9a, 0xaa, 0x70, 0x9d, 0x73, 0x36, 0xbb, 0x24, 0xce, 0x3f, 0xb8, + 0x7f, 0x8f, 0x10, 0x5e, 0xe3, 0x7a, 0x77, 0x73, 0x06, 0x18, 0x93, 0x4b, + 0x06, 0x68, 0xf3, 0xe3, 0x44, 0xc1, 0x58, 0x0a, 0xe8, 0xa4, 0x56, 0xab, + 0xe6, 0x6d, 0x41, 0x8a, 0x2f, 0x4a, 0x3e, 0x69, 0xc8, 0xce, 0x10, 0xc4, + 0x39, 0xce, 0xae, 0x5d, 0xbb, 0x1c, 0xa2, 0xc3, 0x6e, 0xb9, 0xa0, 0xc8, + 0x09, 0x13, 0x82, 0xf2, 0x45, 0xee, 0x59, 0xfb, 0xcf, 0x8b, 0x68, 0xfb, + 0x96, 0xc8, 0xe9, 0x18, 0x40, 0x73, 0x5f, 0xec, 0x7b, 0x87, 0xa9, 0x68, + 0xa7, 0x4b, 0xd8, 0x5e, 0x1a, 0xd8, 0x28, 0x39, 0xba, 0x59, 0x02, 0x73, + 0xb3, 0xf3, 0xc3, 0x9b, 0x63, 0x66, 0x08, 0x61, 0xb9, 0x72, 0xf9, 0x8a, + 0x72, 0x45, 0x73, 0xdd, 0x4d, 0x9d, 0xb0, 0xa0, 0x37, 0x47, 0xa7, 0x5f, + 0x88, 0xf6, 0x34, 0x72, 0xb2, 0x5a, 0x80, 0x78, 0x22, 0x9d, 0x4e, 0x54, + 0x96, 0x97, 0x0a, 0xd6, 0x62, 0x98, 0xba, 0xb8, 0xa4, 0xa2, 0xad, 0x16, + 0x58, 0x5f, 0xdb, 0xa6, 0x01, 0xf1, 0x18, 0x80, 0x58, 0x15, 0xa6, 0x43, + 0x90, 0x10, 0x6d, 0x97, 0xe5, 0x24, 0x5f, 0x64, 0x00, 0xd4, 0x2c, 0xc7, + 0xc0, 0x85, 0x7c, 0xd1, 0xd8, 0xbf, 0x6b, 0x96, 0x35, 0xc6, 0x8b, 0xdf, + 0xcc, 0xaa, 0x00, 0x89, 0xd7, 0xc4, 0x3f, 0xc6, 0x29, 0xbb, 0xf7, 0xec, + 0xd3, 0xf5, 0x8b, 0x2d, 0xf8, 0x00, 0x3e, 0x2f, 0x11, 0x53, 0xd0, 0x0c, + 0x74, 0x26, 0xc0, 0x68, 0x00, 0xe1, 0x28, 0x4d, 0x31, 0x41, 0x0a, 0x89, + 0x6f, 0x63, 0x01, 0x1b, 0x07, 0x18, 0x93, 0x1e, 0x25, 0xe4, 0x36, 0x34, + 0x41, 0xfc, 0x02, 0x93, 0x48, 0xd4, 0x00, 0x03, 0x3f, 0x25, 0x1a, 0xc6, + 0x97, 0x19, 0x01, 0x67, 0x68, 0x72, 0x18, 0x80, 0x08, 0x0e, 0x76, 0x3c, + 0xb5, 0x5d, 0x18, 0xa5, 0x9b, 0xc9, 0xb2, 0x36, 0x3b, 0x8c, 0x39, 0xd0, + 0xae, 0xd5, 0xb6, 0xd8, 0x77, 0x6d, 0x72, 0xaa, 0xab, 0x9b, 0x88, 0xbe, + 0xeb, 0x4a, 0x34, 0xcb, 0x02, 0x4b, 0xdf, 0xc0, 0x8e, 0x2d, 0xd9, 0x7f, + 0x9b, 0xae, 0x20, 0x14, 0x25, 0x6a, 0x12, 0x94, 0x27, 0x1a, 0x91, 0x20, + 0x2d, 0xc2, 0x0c, 0xe0, 0x66, 0x10, 0x84, 0xcc, 0x07, 0xb9, 0xf0, 0x7b, + 0x11, 0xed, 0x18, 0xc8, 0x5a, 0xc2, 0x13, 0xd6, 0xc7, 0x12, 0x9f, 0x61, + 0x5b, 0x32, 0x8e, 0xf6, 0x89, 0x76, 0x6a, 0x70, 0x70, 0x50, 0xd4, 0x85, + 0x17, 0xa0, 0xed, 0x27, 0x47, 0x79, 0x51, 0x5c, 0x24, 0x07, 0x07, 0xcc, + 0xd2, 0xa4, 0x44, 0xc0, 0xae, 0x04, 0x59, 0xce, 0xb6, 0x48, 0xa3, 0x7d, + 0x40, 0xda, 0xd6, 0x20, 0x46, 0x08, 0xfb, 0xc0, 0x3a, 0xef, 0xa4, 0xa3, + 0x6d, 0xcf, 0x75, 0xdb, 0x78, 0xc0, 0xaf, 0xcb, 0xf7, 0xcc, 0xc6, 0x74, + 0x34, 0x4d, 0x04, 0x83, 0x39, 0x4b, 0x79, 0x6d, 0x2e, 0x1c, 0x49, 0x99, + 0x44, 0xa0, 0x14, 0xc4, 0x23, 0x50, 0x60, 0xc0, 0x67, 0xcd, 0xca, 0xa6, + 0x0c, 0x70, 0x5c, 0x49, 0xbb, 0xaf, 0xd6, 0x2b, 0x02, 0xad, 0x1d, 0xcf, + 0xc4, 0x02, 0xd8, 0x18, 0x0d, 0x43, 0x13, 0x8a, 0x6c, 0xd3, 0xa1, 0xd9, + 0xb6, 0xc1, 0x18, 0xfd, 0x00, 0xad, 0x0a, 0x7d, 0x2b, 0xef, 0x23, 0x9e, + 0x96, 0xf6, 0xe3, 0x31, 0x00, 0x3f, 0x60, 0x29, 0x92, 0x27, 0x12, 0x09, + 0x91, 0xf8, 0x56, 0x95, 0x88, 0x6b, 0x71, 0x91, 0x62, 0xa1, 0x54, 0xf6, + 0x75, 0x0a, 0xc2, 0xd7, 0x51, 0xe0, 0x2d, 0x33, 0xc0, 0x12, 0x9d, 0x04, + 0x6b, 0xc8, 0xdf, 0x09, 0xa8, 0x76, 0x06, 0x50, 0x95, 0xf5, 0x00, 0x96, + 0xf9, 0xf8, 0x60, 0x8e, 0x2e, 0x37, 0xcb, 0xc3, 0x4b, 0x74, 0x6c, 0x82, + 0x3a, 0x46, 0xb1, 0x2d, 0xc7, 0xe8, 0x46, 0x30, 0x52, 0x4c, 0x89, 0xdb, + 0x62, 0x28, 0x73, 0x43, 0x0c, 0x10, 0x6b, 0xd5, 0x1a, 0x1e, 0xbc, 0x8a, + 0xfd, 0x66, 0x24, 0xc9, 0x26, 0x89, 0x26, 0x0c, 0x13, 0x25, 0x97, 0x14, + 0x83, 0xb3, 0x61, 0xb1, 0x87, 0xcf, 0x4b, 0xc4, 0xb3, 0x52, 0x09, 0x44, + 0x83, 0xa2, 0x68, 0x98, 0xc1, 0x18, 0xe0, 0x39, 0xee, 0xa1, 0x08, 0x53, + 0x9d, 0xa4, 0xd4, 0xd3, 0xfe, 0x5b, 0x34, 0xc4, 0x60, 0x8c, 0x0f, 0x39, + 0x3f, 0x3f, 0xbf, 0xd6, 0x04, 0x19, 0x75, 0x88, 0x10, 0x10, 0xed, 0x3f, + 0x2f, 0x40, 0x9b, 0x25, 0x94, 0x37, 0xce, 0x84, 0xf6, 0x8d, 0xd9, 0xca, + 0x28, 0x02, 0x94, 0x87, 0x76, 0x6f, 0x52, 0xda, 0x75, 0xcb, 0x89, 0x2d, + 0xae, 0xf0, 0x7a, 0xf9, 0x5c, 0x56, 0xde, 0x49, 0x44, 0xe6, 0x68, 0x98, + 0x38, 0x5b, 0xad, 0xac, 0x48, 0x79, 0x93, 0x84, 0x6e, 0x06, 0xcd, 0xb6, + 0x28, 0xb8, 0x33, 0x60, 0x0a, 0xdb, 0x2d, 0x98, 0x8e, 0x58, 0x8d, 0x54, + 0x92, 0xa9, 0xcc, 0x37, 0x15, 0x0a, 0x79, 0x10, 0xbc, 0x2c, 0xe7, 0x55, + 0xc1, 0x08, 0xd6, 0x2b, 0xea, 0x35, 0x5d, 0xbb, 0xc8, 0xe7, 0x72, 0x1a, + 0xdf, 0xbb, 0xee, 0xe6, 0x37, 0xcf, 0xaa, 0x14, 0x4c, 0xb0, 0x80, 0x0f, + 0xf3, 0x1d, 0x5f, 0xa7, 0x64, 0x1c, 0x1e, 0x07, 0x14, 0xcf, 0xd1, 0x57, + 0x5a, 0xb3, 0x4d, 0x1a, 0x92, 0x01, 0xf4, 0x05, 0x14, 0xff, 0x9e, 0x9e, + 0x1e, 0x07, 0x50, 0x34, 0xaa, 0x0b, 0xf8, 0x36, 0x0d, 0x6d, 0xed, 0x93, + 0x6d, 0x29, 0xe4, 0xbb, 0xf5, 0x01, 0xe6, 0x42, 0x84, 0x56, 0x60, 0x40, + 0x46, 0x1a, 0x55, 0x5d, 0xf6, 0x5f, 0x11, 0x13, 0x6f, 0xb5, 0x0d, 0xc5, + 0x94, 0x01, 0x1b, 0x8d, 0x40, 0x11, 0xc6, 0xf6, 0xf5, 0xf6, 0x4a, 0x3d, + 0x99, 0xc4, 0x64, 0xb2, 0x6e, 0x66, 0x66, 0x06, 0x0e, 0xac, 0x26, 0x8c, + 0x09, 0x4d, 0x7a, 0xdb, 0xe6, 0xe7, 0x2d, 0x31, 0x6f, 0xca, 0xa3, 0xe0, + 0xba, 0x64, 0x26, 0x63, 0x90, 0xe5, 0xe5, 0x4a, 0x64, 0xce, 0xc8, 0x0c, + 0xc1, 0xfe, 0xe5, 0x1e, 0xd1, 0x94, 0x62, 0xfe, 0x71, 0x7a, 0x56, 0x35, + 0x3b, 0x37, 0xaf, 0x4d, 0xdb, 0x56, 0x3a, 0x23, 0x18, 0x74, 0xb1, 0x97, + 0xd4, 0x68, 0x92, 0x6c, 0x64, 0x36, 0x8e, 0xa7, 0x53, 0xc9, 0x0c, 0x88, + 0x9d, 0x65, 0x2d, 0x98, 0x42, 0xcb, 0x9f, 0x25, 0x0a, 0x62, 0x4e, 0x88, + 0x66, 0x28, 0xde, 0x83, 0x4a, 0xf0, 0xe3, 0xc7, 0xaa, 0x45, 0x92, 0xab, + 0xb0, 0x59, 0x50, 0xeb, 0x40, 0x0c, 0x96, 0xa5, 0x1f, 0x48, 0x30, 0x06, + 0xa0, 0xa4, 0x4a, 0xf6, 0x4f, 0xca, 0x70, 0xde, 0x26, 0xe1, 0xbb, 0xae, + 0xe5, 0x8a, 0x4d, 0x06, 0x61, 0x19, 0x0d, 0xf7, 0xf4, 0x94, 0x18, 0xb2, + 0x4b, 0xfd, 0x75, 0x72, 0x62, 0x4a, 0xad, 0x56, 0x57, 0x5b, 0xb6, 0xbe, + 0x0b, 0xa1, 0xc3, 0x5b, 0x6c, 0x6f, 0x59, 0xaf, 0xb8, 0x42, 0xa6, 0xb0, + 0x48, 0xc4, 0x8d, 0xcc, 0x60, 0x04, 0x5f, 0x59, 0x59, 0x8a, 0xfa, 0x42, + 0x9d, 0x2d, 0x08, 0x12, 0x6b, 0x1d, 0x8c, 0xea, 0x6d, 0x37, 0x0b, 0xfd, + 0x21, 0x13, 0x8f, 0xa6, 0xb6, 0xc0, 0xa6, 0x05, 0x1b, 0x0b, 0x30, 0x73, + 0xe0, 0xd9, 0xba, 0x00, 0x73, 0x6b, 0x40, 0x5d, 0x12, 0x0b, 0x30, 0x3b, + 0xbb, 0x06, 0x05, 0xb1, 0xdf, 0x9f, 0x01, 0x03, 0x1d, 0x07, 0x4f, 0xb6, + 0xd2, 0xcf, 0x77, 0x16, 0x62, 0xd8, 0x0d, 0xc7, 0x9b, 0x4e, 0xc3, 0xd6, + 0xb1, 0x45, 0x83, 0x66, 0x28, 0xc3, 0x62, 0x4a, 0x97, 0x1c, 0xbd, 0x13, + 0x49, 0x7c, 0x43, 0x54, 0x9c, 0x12, 0xcf, 0xd7, 0x1c, 0x24, 0x6d, 0x71, + 0x69, 0x49, 0x1c, 0x2d, 0xbf, 0xcf, 0xeb, 0x6d, 0x44, 0xec, 0xed, 0x6e, + 0xf4, 0x8a, 0x27, 0xc4, 0x44, 0xfb, 0xe0, 0x84, 0x6f, 0x56, 0xbb, 0x5c, + 0x2d, 0xa8, 0x72, 0x6f, 0x14, 0xc4, 0x65, 0x3c, 0x8f, 0xc4, 0x01, 0xac, + 0x43, 0xa4, 0xd3, 0xc9, 0x85, 0xb9, 0xd9, 0x82, 0x45, 0x42, 0xd6, 0x84, + 0xb3, 0x35, 0x85, 0x8f, 0x43, 0x1f, 0x6b, 0xba, 0x4e, 0xe4, 0xdd, 0x8f, + 0xc7, 0x00, 0x16, 0x22, 0x11, 0xff, 0x9b, 0x52, 0x64, 0xc4, 0x00, 0xe6, + 0x38, 0x60, 0xdf, 0xb2, 0x94, 0xe2, 0xf1, 0xb1, 0x31, 0x67, 0x7a, 0xf2, + 0x86, 0x14, 0xa3, 0x1f, 0x7c, 0xe4, 0x51, 0x48, 0x75, 0xaf, 0x10, 0x3a, + 0x9e, 0x36, 0xa0, 0xea, 0x93, 0xb8, 0xc3, 0xc3, 0xbb, 0x45, 0xb5, 0x27, + 0xa7, 0xa6, 0x25, 0xb7, 0xef, 0x18, 0x09, 0x52, 0xbf, 0x06, 0x62, 0x6f, + 0x45, 0x4b, 0x5c, 0xd7, 0xbd, 0xa5, 0xef, 0x15, 0x0a, 0x45, 0x72, 0x42, + 0x8d, 0x5c, 0xba, 0xa4, 0x3e, 0xfa, 0xf0, 0x3d, 0xc5, 0x26, 0xb5, 0x7d, + 0x07, 0x0e, 0x52, 0xcb, 0x9d, 0x89, 0xeb, 0xd7, 0x0a, 0x8c, 0xc2, 0x48, + 0x43, 0x9a, 0x21, 0x32, 0x80, 0x26, 0x88, 0xf4, 0xa5, 0x8f, 0x8d, 0xc7, + 0x02, 0x22, 0x0e, 0x0f, 0x3d, 0xf4, 0x90, 0xe4, 0xc5, 0x49, 0x34, 0x5e, + 0xc0, 0x3a, 0x0e, 0x5b, 0x0f, 0x20, 0x13, 0xf0, 0x59, 0x36, 0x09, 0xfb, + 0x96, 0x44, 0xb0, 0x31, 0x76, 0xfa, 0xa4, 0x7a, 0xf0, 0x81, 0x07, 0xd4, + 0x8d, 0xeb, 0xd7, 0xd5, 0xe5, 0x4b, 0x17, 0xd5, 0xce, 0x9d, 0xbb, 0x84, + 0x01, 0x36, 0x94, 0x67, 0x57, 0xc4, 0xce, 0x1d, 0x83, 0x52, 0xf0, 0x98, + 0x80, 0x99, 0x99, 0x9d, 0x9b, 0xd3, 0x28, 0x81, 0x29, 0xdb, 0xb5, 0x91, + 0xda, 0xa7, 0xaf, 0x3d, 0x11, 0xcf, 0xc8, 0xac, 0xef, 0x0a, 0xc0, 0xc2, + 0x47, 0x1f, 0xbe, 0xaf, 0xee, 0x3d, 0x7e, 0x5c, 0x4d, 0x4d, 0x4e, 0xaa, + 0x6b, 0xe3, 0xe3, 0xa1, 0xc9, 0xfb, 0x97, 0xac, 0xf5, 0x30, 0x89, 0x4c, + 0xa9, 0xda, 0xb2, 0xd7, 0xaa, 0xb3, 0x09, 0x22, 0xd2, 0x47, 0xe6, 0xab, + 0x4d, 0x19, 0xd2, 0x56, 0x73, 0x24, 0x18, 0xb3, 0x99, 0x50, 0xda, 0xb5, + 0x34, 0x0b, 0x31, 0x40, 0x15, 0xfb, 0x0f, 0x1e, 0x52, 0xa3, 0xa3, 0x63, + 0x42, 0xc4, 0xbb, 0x0e, 0x1d, 0x01, 0xf1, 0xeb, 0xa2, 0xda, 0xd2, 0x5d, + 0x86, 0x9f, 0x3a, 0x7a, 0xd7, 0x9d, 0x60, 0x42, 0x43, 0x5d, 0xbc, 0x38, + 0x22, 0x66, 0x28, 0x65, 0xcc, 0x4c, 0x68, 0xfa, 0x7d, 0x3e, 0xf5, 0xfd, + 0xa1, 0x78, 0x8e, 0x62, 0xa9, 0xa8, 0x1c, 0x38, 0xf7, 0xbd, 0xfb, 0x0f, + 0xa8, 0xf3, 0xe7, 0x2f, 0x08, 0x52, 0xdb, 0xb5, 0x7b, 0x8f, 0x36, 0x47, + 0xbe, 0x47, 0x06, 0xf8, 0xb6, 0x24, 0x69, 0x13, 0x72, 0x69, 0x29, 0xda, + 0x38, 0x1c, 0x69, 0x14, 0x69, 0x81, 0x6f, 0xed, 0x11, 0xcd, 0x85, 0xed, + 0xde, 0xe2, 0xc9, 0xec, 0x09, 0x32, 0x1a, 0x20, 0x2f, 0x30, 0xa8, 0xd0, + 0xd7, 0x5f, 0x64, 0x73, 0x96, 0x3a, 0x72, 0xf8, 0x0e, 0x44, 0x8f, 0x03, + 0x62, 0xf7, 0x58, 0xd3, 0x95, 0x00, 0x0a, 0xc4, 0xa7, 0x83, 0x3e, 0x76, + 0xf7, 0x9d, 0x6a, 0x74, 0xfc, 0x9a, 0xba, 0x06, 0xed, 0x20, 0xe1, 0xe3, + 0x11, 0xe6, 0x6f, 0x43, 0xe3, 0xae, 0xa4, 0x30, 0x00, 0x2a, 0x8a, 0xc5, + 0x82, 0xaa, 0x42, 0xc8, 0xee, 0xbd, 0xef, 0x7e, 0x20, 0x9f, 0xb4, 0x74, + 0xc9, 0x4d, 0x4e, 0x4e, 0xe8, 0x2e, 0x0e, 0xcf, 0x2f, 0x98, 0xe6, 0x05, + 0x09, 0xc4, 0x6c, 0x2c, 0x45, 0x4d, 0x20, 0xad, 0x8d, 0xaf, 0x6d, 0x77, + 0xc2, 0xe4, 0x48, 0x2c, 0x06, 0x70, 0xac, 0xe4, 0xdb, 0x82, 0x0c, 0x20, + 0x54, 0x81, 0x0e, 0x57, 0xc2, 0x70, 0x61, 0x5a, 0x45, 0xa3, 0x16, 0x04, + 0x22, 0xb6, 0x12, 0x76, 0xdf, 0xf1, 0x63, 0xea, 0xc4, 0xc9, 0x53, 0x70, + 0xb4, 0x0b, 0x2a, 0x87, 0x73, 0x2d, 0x76, 0xff, 0x6d, 0xea, 0x98, 0xd6, + 0xcf, 0x12, 0x4a, 0xde, 0x87, 0x35, 0x8f, 0xd1, 0x31, 0x9d, 0x5e, 0xae, + 0x37, 0xea, 0x51, 0x47, 0x06, 0x68, 0xc4, 0xc2, 0x0c, 0xc7, 0x53, 0x38, + 0x06, 0xbe, 0xbb, 0xa6, 0xd9, 0x59, 0x90, 0x10, 0xa1, 0xb6, 0x2d, 0xce, + 0xf8, 0x36, 0x08, 0x03, 0x34, 0x62, 0xdb, 0x88, 0xa8, 0x08, 0x09, 0x1f, + 0xcb, 0x84, 0x8a, 0x2d, 0xc3, 0x56, 0xa6, 0x84, 0xc3, 0xa8, 0x85, 0x30, + 0x43, 0x8e, 0x6e, 0xc7, 0xf3, 0xc4, 0xfc, 0xd0, 0x7f, 0x3c, 0xfe, 0xc8, + 0x43, 0xea, 0xad, 0xb7, 0xdf, 0x55, 0x0b, 0x8b, 0x4b, 0x12, 0xcd, 0x6e, + 0xda, 0xe6, 0x71, 0x93, 0x2a, 0xdf, 0x99, 0x93, 0xef, 0x64, 0xac, 0x6d, + 0x63, 0xec, 0x2c, 0x77, 0x6e, 0xf7, 0x4b, 0x7e, 0xdb, 0xd1, 0xc5, 0xf9, + 0x72, 0xb9, 0x64, 0x1a, 0xd2, 0x7c, 0x29, 0x34, 0x21, 0x22, 0x76, 0xd8, + 0x48, 0x0e, 0x64, 0x94, 0x85, 0x26, 0xb0, 0x77, 0xd6, 0xb3, 0x7e, 0x80, + 0xf4, 0x34, 0x26, 0x49, 0x9c, 0x31, 0x40, 0x8f, 0xb4, 0x81, 0xfa, 0x56, + 0xfa, 0xad, 0x4d, 0xa2, 0x9d, 0xb2, 0x39, 0x6c, 0x03, 0xa1, 0xa4, 0x39, + 0x17, 0xbf, 0x5a, 0xcc, 0xe8, 0x20, 0x4c, 0x22, 0x3f, 0x89, 0x04, 0xa5, + 0xaa, 0x94, 0x50, 0x4f, 0x3d, 0xf9, 0xb8, 0x7a, 0xe7, 0xbd, 0x0f, 0xd4, + 0xe2, 0xf2, 0xb2, 0x10, 0xdf, 0x36, 0x39, 0x6d, 0x57, 0x8e, 0x28, 0x4e, + 0x74, 0x0d, 0x6d, 0x9b, 0x92, 0xbe, 0xd0, 0x1a, 0x16, 0x4a, 0x5d, 0x58, + 0x22, 0x52, 0xd3, 0x04, 0x10, 0x3f, 0xf7, 0x76, 0xe3, 0x89, 0x6e, 0x09, + 0x14, 0xdb, 0x34, 0x40, 0x90, 0xc1, 0xdf, 0xd6, 0xc1, 0x98, 0xae, 0x09, + 0x10, 0x0d, 0x81, 0x86, 0x69, 0x10, 0x39, 0x47, 0xd2, 0xc5, 0x13, 0x9a, + 0x24, 0xbe, 0xed, 0x0f, 0xa2, 0x99, 0x27, 0xf8, 0x69, 0x33, 0x41, 0xec, + 0x84, 0x23, 0x77, 0x6c, 0x2d, 0xd8, 0x44, 0xc0, 0x74, 0xc0, 0x29, 0x68, + 0x52, 0x81, 0xed, 0x88, 0x52, 0x03, 0xf0, 0x75, 0xc0, 0xb4, 0x0a, 0x7b, + 0xf7, 0xcc, 0xef, 0x7c, 0x56, 0x5d, 0xbe, 0x32, 0x2a, 0x28, 0x20, 0x0b, + 0xbc, 0xaf, 0x0b, 0x15, 0xee, 0x36, 0xd9, 0xda, 0x66, 0x14, 0x4f, 0x54, + 0x2a, 0xcb, 0xd2, 0xe8, 0xdb, 0x84, 0xc6, 0x09, 0xc9, 0x6d, 0x72, 0x4d, + 0x4a, 0x90, 0xa1, 0xa4, 0x37, 0x6c, 0xe3, 0x2f, 0xb5, 0x93, 0xf7, 0xca, + 0xa8, 0xdd, 0x66, 0x45, 0x37, 0x6b, 0x39, 0xb9, 0x29, 0xe8, 0xca, 0x67, + 0x5f, 0xad, 0x4a, 0x03, 0x9a, 0x6b, 0xf2, 0x55, 0x6c, 0x5f, 0xf7, 0x5d, + 0x1d, 0x8c, 0x71, 0x28, 0x17, 0x9b, 0xb4, 0x8c, 0xf0, 0x4a, 0x3c, 0x60, + 0xd2, 0x3a, 0x36, 0x25, 0xdd, 0x9e, 0x0b, 0x1a, 0x1e, 0x1e, 0x76, 0x6c, + 0x31, 0xc6, 0xda, 0x7d, 0xe3, 0x03, 0x6c, 0x0c, 0x00, 0xf4, 0x93, 0xcc, + 0x4b, 0x37, 0x1c, 0xe2, 0x77, 0x46, 0x7d, 0xcc, 0xd3, 0x1c, 0x3e, 0x74, + 0x50, 0xb4, 0xe1, 0xe3, 0x73, 0xe7, 0x15, 0x47, 0xc8, 0x6c, 0x07, 0xf1, + 0x2d, 0xe1, 0x1b, 0xd2, 0x32, 0x92, 0xe7, 0xc0, 0x20, 0x09, 0xfa, 0x72, + 0x99, 0x8c, 0xea, 0x61, 0x6b, 0xa2, 0x69, 0xa6, 0xea, 0xcc, 0xdf, 0xdb, + 0x4c, 0x2a, 0x5b, 0x64, 0x6a, 0xa6, 0xf1, 0xcb, 0x75, 0x42, 0x09, 0x14, + 0x49, 0xf6, 0xc5, 0xa5, 0x65, 0x89, 0x56, 0xb7, 0x52, 0xf5, 0xda, 0xec, + 0xfe, 0xc8, 0xe0, 0x85, 0xc5, 0x45, 0xfc, 0x4e, 0x0d, 0x31, 0x8d, 0xae, + 0x8a, 0x31, 0xd6, 0xf1, 0x80, 0x10, 0x19, 0x5c, 0x66, 0xb3, 0x39, 0x77, + 0x66, 0x7a, 0xaa, 0x68, 0xfc, 0xa7, 0xd0, 0x90, 0x4c, 0xb0, 0xc1, 0x98, + 0x05, 0x3b, 0x74, 0xc8, 0x3e, 0x7b, 0xd7, 0x69, 0xc3, 0x59, 0x88, 0x37, + 0x15, 0x1b, 0x51, 0x13, 0x32, 0x82, 0x5f, 0xe4, 0x46, 0x7b, 0x06, 0x89, + 0xca, 0xd8, 0xf4, 0x83, 0x4e, 0xc9, 0xfa, 0x6a, 0xdf, 0xf0, 0xb0, 0x3a, + 0x79, 0xfa, 0xb4, 0x38, 0x9e, 0x5b, 0x0d, 0x6a, 0x3a, 0x1f, 0x8e, 0x84, + 0x63, 0xb0, 0x77, 0xf0, 0xc0, 0x7e, 0x69, 0x71, 0x67, 0x8e, 0xa6, 0x58, + 0x2a, 0x19, 0x4d, 0x08, 0xa3, 0x0c, 0xe7, 0x7a, 0x03, 0xf8, 0x1c, 0xd3, + 0xbc, 0xc5, 0x6b, 0xb0, 0x70, 0x4e, 0xf9, 0xef, 0xeb, 0xed, 0x51, 0x07, + 0xf6, 0xef, 0x53, 0xe7, 0x2f, 0x5c, 0x92, 0x58, 0x67, 0x2b, 0xb9, 0xff, + 0x8d, 0x5e, 0x44, 0x77, 0xb3, 0xb3, 0x73, 0x6a, 0x66, 0x7a, 0x46, 0x15, + 0xf3, 0x05, 0x44, 0xd3, 0x55, 0x01, 0x23, 0x09, 0xd3, 0x25, 0x92, 0xc6, + 0xef, 0x57, 0x6b, 0x35, 0x76, 0x4b, 0x7b, 0x96, 0x86, 0x7c, 0xc5, 0x7b, + 0x84, 0x18, 0x49, 0xb3, 0x29, 0xd9, 0xb5, 0x31, 0x00, 0xeb, 0x00, 0xb6, + 0x21, 0xcb, 0x56, 0xc0, 0xa8, 0xb9, 0xb8, 0x51, 0x42, 0xd0, 0x1c, 0x88, + 0x9c, 0xf6, 0x93, 0x5a, 0xc5, 0xd8, 0x82, 0xde, 0x8b, 0x87, 0x9a, 0x9b, + 0x9f, 0x53, 0xf3, 0x0b, 0x8b, 0x8a, 0x8e, 0xc7, 0x32, 0xe0, 0x56, 0x37, + 0xdd, 0x56, 0xde, 0x94, 0x5e, 0xd2, 0x07, 0xee, 0x3b, 0xae, 0x66, 0x66, + 0xa6, 0xa5, 0x67, 0x27, 0x2e, 0xd9, 0xda, 0xc4, 0xb4, 0xba, 0x98, 0xbb, + 0x6d, 0x2d, 0x3f, 0xd1, 0x90, 0xf1, 0x5c, 0xac, 0x5c, 0x5d, 0xbb, 0x7e, + 0x43, 0xa2, 0xf0, 0x87, 0x1f, 0xbc, 0x5f, 0x3a, 0xad, 0xc9, 0x48, 0xcf, + 0xbb, 0x9d, 0x7b, 0xf5, 0xc4, 0x07, 0xf0, 0xba, 0xc5, 0x42, 0x4e, 0x62, + 0x4a, 0x9b, 0xa2, 0xf7, 0x3c, 0x3f, 0x64, 0x9e, 0x08, 0x87, 0xca, 0x56, + 0x88, 0xad, 0x13, 0xb6, 0xc5, 0x19, 0x8b, 0x88, 0xda, 0x60, 0xa8, 0x75, + 0x10, 0xa6, 0x91, 0x28, 0x92, 0x7e, 0x5e, 0x04, 0x98, 0xb5, 0x58, 0xea, + 0xe9, 0x8d, 0x0a, 0x31, 0x92, 0xa7, 0x07, 0x31, 0xa6, 0x20, 0x01, 0xba, + 0xa7, 0xde, 0xdd, 0x96, 0xe6, 0x1d, 0x6a, 0xd2, 0x60, 0x7f, 0xaf, 0x3a, + 0x73, 0xe6, 0xac, 0xa4, 0x8b, 0xe3, 0x0d, 0xb6, 0x37, 0x1b, 0x39, 0xb7, + 0x5a, 0x5a, 0xf4, 0xb8, 0x83, 0xeb, 0x20, 0xd6, 0xca, 0xca, 0xaa, 0xda, + 0xb5, 0x63, 0x40, 0x5d, 0x19, 0xbb, 0x7a, 0xdb, 0xc1, 0x38, 0xcd, 0xd9, + 0x12, 0x02, 0x31, 0xd7, 0x09, 0xc4, 0x2a, 0x08, 0x53, 0xc5, 0x37, 0x3a, + 0x4a, 0x83, 0x15, 0x3f, 0xcf, 0x26, 0x06, 0x9a, 0x20, 0x26, 0xe4, 0x0c, + 0xa0, 0x71, 0xb4, 0x92, 0xba, 0x8e, 0x19, 0x1f, 0xe1, 0xf8, 0x54, 0x09, + 0x66, 0xe7, 0x58, 0x19, 0x22, 0x03, 0x88, 0x82, 0x78, 0xa2, 0xab, 0x53, + 0xa2, 0xcc, 0x65, 0xb0, 0x10, 0x53, 0x18, 0xca, 0xe5, 0x1d, 0x69, 0x42, + 0x85, 0x19, 0xa2, 0x54, 0xcd, 0xcf, 0xcd, 0xa9, 0x62, 0xb9, 0x57, 0xb7, + 0x1e, 0x6e, 0xd2, 0x57, 0xbf, 0x55, 0x78, 0xb7, 0x00, 0x8d, 0xba, 0x78, + 0x71, 0x55, 0xb1, 0xed, 0xa5, 0x8d, 0xf8, 0xdb, 0x00, 0x63, 0xc9, 0xdc, + 0x4a, 0x65, 0x05, 0x66, 0x63, 0x4a, 0x35, 0x70, 0xff, 0xf9, 0x42, 0x71, + 0xd3, 0x36, 0xc4, 0xcd, 0xae, 0x49, 0x81, 0x9c, 0x9a, 0xb8, 0xae, 0x92, + 0xb8, 0xdf, 0x4c, 0x26, 0xc7, 0xc1, 0x61, 0x10, 0x48, 0xdf, 0xc6, 0x02, + 0x05, 0xfa, 0x4e, 0x53, 0x88, 0x11, 0x57, 0x60, 0xa2, 0x62, 0xc7, 0x0a, + 0x3b, 0x1b, 0x97, 0xdd, 0xb8, 0x06, 0xc4, 0x1d, 0x70, 0x0c, 0xff, 0x93, + 0x83, 0x25, 0xc2, 0x4b, 0xc2, 0x2f, 0xe6, 0x82, 0x68, 0x9b, 0xe9, 0x84, + 0x9c, 0xdb, 0x30, 0x39, 0x9d, 0x1b, 0x5f, 0x1f, 0x7d, 0xf0, 0xbe, 0x20, + 0x1c, 0x8d, 0x58, 0xa2, 0x0a, 0xef, 0xb6, 0x6c, 0x94, 0x50, 0x56, 0xd9, + 0x6a, 0xb5, 0xba, 0xfa, 0xe8, 0xc3, 0x0f, 0x4c, 0x2b, 0xca, 0xed, 0x99, + 0x4d, 0x26, 0x15, 0x99, 0x4d, 0xe5, 0x18, 0x31, 0x5e, 0xdb, 0xd1, 0x1d, + 0x12, 0x0e, 0x4b, 0x93, 0xf0, 0x13, 0x39, 0x98, 0xee, 0xb4, 0x9d, 0x43, + 0xc3, 0xb6, 0xa8, 0xd0, 0x0f, 0xb0, 0x40, 0x4f, 0x9f, 0x2b, 0x4e, 0xd8, + 0xc6, 0x00, 0x84, 0xa0, 0x7c, 0xa7, 0x0f, 0x68, 0x05, 0x61, 0xba, 0xc5, + 0xae, 0x55, 0x88, 0x71, 0xc3, 0x64, 0x2a, 0xe9, 0x4c, 0x43, 0x8a, 0x18, + 0x05, 0xba, 0xdb, 0x24, 0xfd, 0xe2, 0x60, 0x61, 0xff, 0x79, 0x5d, 0x9d, + 0x32, 0x66, 0xd1, 0xa2, 0xbe, 0xad, 0x81, 0x14, 0x25, 0x96, 0xc1, 0x12, + 0x73, 0x36, 0xf4, 0x2f, 0x9d, 0x7e, 0xe3, 0x56, 0x5e, 0x34, 0xbf, 0xf4, + 0x5b, 0x37, 0x6e, 0x5c, 0x57, 0x87, 0xef, 0xbc, 0x5b, 0xfc, 0x0a, 0xcd, + 0x10, 0x6b, 0x0c, 0xac, 0x0b, 0xc0, 0x72, 0xe4, 0x4d, 0x5f, 0x95, 0x6b, + 0x91, 0x90, 0xc9, 0x90, 0x4a, 0x83, 0x2e, 0xc1, 0x82, 0x4f, 0x35, 0x20, + 0x27, 0xf8, 0x62, 0xe8, 0x6c, 0x1d, 0xb0, 0x2e, 0xc8, 0x4b, 0xf0, 0xc0, + 0xfa, 0x66, 0x5e, 0x33, 0x40, 0x47, 0x7c, 0xec, 0x7e, 0x4e, 0x53, 0xcd, + 0x5c, 0xaf, 0x4d, 0x82, 0x6f, 0x87, 0x38, 0xe9, 0x4c, 0x16, 0xd1, 0xf8, + 0x90, 0x1a, 0x1f, 0x1b, 0x95, 0xf7, 0x95, 0xd5, 0x15, 0xe5, 0x38, 0x6a, + 0x7b, 0xfa, 0x42, 0x4d, 0x93, 0x2f, 0x4d, 0xc3, 0xf8, 0xd8, 0x98, 0xda, + 0xbb, 0x77, 0x9f, 0x30, 0x79, 0x2b, 0x63, 0xce, 0x36, 0x2c, 0xd0, 0xcb, + 0x9c, 0x13, 0x81, 0x9a, 0x03, 0x22, 0xf2, 0x58, 0xb9, 0x73, 0x75, 0x90, + 0x9a, 0x90, 0x82, 0x4d, 0x26, 0x05, 0xba, 0xe6, 0xe3, 0x3e, 0xc0, 0xfa, + 0x01, 0xd6, 0x5c, 0x08, 0x36, 0x98, 0x79, 0x10, 0x27, 0xcc, 0x71, 0x52, + 0x34, 0x41, 0xf6, 0x65, 0xb2, 0xa1, 0x92, 0x48, 0x02, 0xd7, 0x10, 0x84, + 0xf9, 0x05, 0x16, 0x9c, 0xf5, 0x20, 0x35, 0x3d, 0x9c, 0x87, 0x70, 0x31, + 0x8e, 0x24, 0x6e, 0xb7, 0x25, 0x85, 0x08, 0xe7, 0xfe, 0x87, 0x1e, 0x56, + 0xd7, 0x46, 0x2f, 0xab, 0xf9, 0xf9, 0x59, 0x68, 0x58, 0xd9, 0x54, 0xdb, + 0x5a, 0x35, 0xdf, 0x5b, 0xac, 0xfb, 0x9b, 0x96, 0x51, 0x47, 0xec, 0x7f, + 0x31, 0x9f, 0x53, 0x7b, 0x0f, 0x1c, 0x92, 0x0e, 0x88, 0x9b, 0x2d, 0xc4, + 0x74, 0xb4, 0xee, 0x08, 0xc1, 0x03, 0x3b, 0xc6, 0xd8, 0x96, 0x25, 0x39, + 0x6e, 0x02, 0xe6, 0x0d, 0x30, 0xd8, 0x9f, 0x9f, 0x9d, 0x61, 0x30, 0xe6, + 0x9a, 0xe2, 0x8c, 0x67, 0x7a, 0xab, 0x22, 0xb4, 0x89, 0xf8, 0x4b, 0x89, + 0x13, 0x36, 0xa9, 0x07, 0x47, 0x99, 0x59, 0x4e, 0x58, 0x88, 0x91, 0xe9, + 0x51, 0xf0, 0x45, 0x70, 0x29, 0x0b, 0x27, 0x93, 0x95, 0x20, 0x0c, 0x56, + 0x89, 0x21, 0x77, 0x36, 0x97, 0x15, 0x2d, 0x88, 0xdb, 0xd0, 0xed, 0x78, + 0xe5, 0xf3, 0x45, 0x75, 0xe7, 0xd1, 0x63, 0x08, 0xba, 0x52, 0x50, 0xe1, + 0x64, 0xab, 0x83, 0xc1, 0x8c, 0x19, 0x68, 0xf5, 0xab, 0xaf, 0x6d, 0x84, + 0x73, 0x3a, 0x8b, 0xe7, 0xb6, 0xc5, 0xc5, 0xa4, 0x45, 0x12, 0x10, 0x9c, + 0xbe, 0xde, 0x32, 0xee, 0xfd, 0x1e, 0xc4, 0x07, 0xad, 0x31, 0xc2, 0xb7, + 0xf3, 0xa2, 0x00, 0x12, 0xde, 0x12, 0xf7, 0x7b, 0x66, 0xde, 0x09, 0xdf, + 0x04, 0x7b, 0x8c, 0x43, 0x10, 0xb9, 0x17, 0xad, 0x1f, 0x35, 0x88, 0x52, + 0xd2, 0xfd, 0xb4, 0x34, 0xd4, 0x02, 0xf1, 0x01, 0xb1, 0x66, 0x21, 0x71, + 0x0e, 0xb6, 0xaf, 0x9d, 0xd2, 0x6f, 0x10, 0x50, 0x9e, 0x59, 0x25, 0xda, + 0x35, 0x09, 0x34, 0xf0, 0x30, 0xfd, 0x03, 0x3b, 0xd4, 0x99, 0x93, 0x1f, + 0xa9, 0xba, 0x68, 0x81, 0xa7, 0xb6, 0xf3, 0x45, 0xe2, 0x24, 0xd2, 0x39, + 0x75, 0xe8, 0xc0, 0x3e, 0x89, 0x7a, 0x67, 0xa0, 0xde, 0x2c, 0x63, 0xb2, + 0x60, 0x1f, 0x9a, 0x16, 0x14, 0xb0, 0xdd, 0x0c, 0xf8, 0x88, 0x77, 0x46, + 0xe8, 0x16, 0xc8, 0xd0, 0xf4, 0x15, 0xb1, 0xe0, 0x9e, 0x93, 0xc6, 0xdb, + 0x92, 0x8c, 0x68, 0x5f, 0x01, 0x02, 0x3a, 0x7f, 0x69, 0x44, 0x05, 0xab, + 0xf5, 0x35, 0x5d, 0xd8, 0xb7, 0x8a, 0xda, 0xf8, 0x3b, 0xd4, 0xd6, 0xfe, + 0xfe, 0x81, 0xb6, 0x7c, 0x90, 0x97, 0x48, 0x84, 0xd2, 0x57, 0x1b, 0x86, + 0xe5, 0xb8, 0x13, 0x26, 0x6d, 0x29, 0xec, 0x24, 0xbc, 0xf5, 0xb9, 0xbe, + 0x19, 0x38, 0x20, 0xd1, 0x19, 0x3d, 0xb4, 0x49, 0x49, 0x8b, 0xda, 0x70, + 0x23, 0x03, 0x0a, 0xc5, 0x72, 0x8a, 0x1e, 0xdf, 0x37, 0x23, 0x14, 0x59, + 0x01, 0x3b, 0x7d, 0xe2, 0x43, 0x71, 0x66, 0xfd, 0x03, 0x83, 0xeb, 0x8e, + 0xdb, 0xba, 0x55, 0x87, 0x3c, 0x8d, 0xf8, 0xa2, 0x8a, 0xe8, 0xf2, 0xee, + 0xbb, 0xee, 0x90, 0xe2, 0x8e, 0x84, 0xfe, 0x08, 0xf8, 0xc8, 0x0c, 0xd6, + 0x93, 0xf9, 0x19, 0x03, 0xad, 0x66, 0xd0, 0x0a, 0xcc, 0x48, 0x00, 0x16, + 0x8b, 0x98, 0x9b, 0x67, 0x0a, 0xa3, 0xb7, 0xa7, 0x2c, 0x75, 0x5b, 0x9e, + 0x7b, 0x71, 0x64, 0x44, 0x9d, 0x3d, 0x77, 0x41, 0xe2, 0x00, 0xdb, 0x03, + 0x7a, 0xbb, 0x3e, 0x8b, 0x84, 0x5e, 0x02, 0x12, 0x5c, 0x5d, 0xa9, 0xa8, + 0xa1, 0xe3, 0xf7, 0x49, 0xd0, 0xe7, 0x99, 0x26, 0x32, 0x60, 0x49, 0x65, + 0xba, 0x47, 0x58, 0x17, 0xf0, 0x69, 0x51, 0xe8, 0x80, 0x09, 0x43, 0xf9, + 0xa2, 0x06, 0x90, 0xee, 0x02, 0x38, 0xfa, 0xfa, 0xfa, 0xa2, 0x18, 0x80, + 0xbd, 0x2b, 0x66, 0x58, 0xa5, 0x6b, 0x66, 0xbf, 0xe2, 0x4c, 0x29, 0x85, + 0x1d, 0xbb, 0x86, 0xf8, 0x97, 0x44, 0xbc, 0x14, 0xb3, 0x12, 0x1e, 0x8e, + 0x4c, 0xb8, 0x36, 0x3e, 0xa6, 0x76, 0xec, 0x1c, 0xba, 0x2d, 0x67, 0xb6, + 0x9e, 0x74, 0x55, 0x40, 0xac, 0x37, 0xdf, 0x7e, 0x57, 0x9d, 0x3e, 0xf3, + 0xb1, 0xda, 0xbd, 0x7b, 0x48, 0xed, 0x1e, 0xda, 0x85, 0x6d, 0xe7, 0x9a, + 0x22, 0x7e, 0x68, 0xb3, 0xa1, 0xb1, 0xdf, 0x67, 0x51, 0x64, 0x7a, 0x66, + 0x56, 0x9d, 0x3e, 0x7b, 0x4e, 0x8d, 0x5f, 0xbd, 0x26, 0x1d, 0x18, 0x3a, + 0x53, 0xe9, 0x6f, 0x1f, 0xa2, 0xc2, 0x7d, 0x8c, 0x5c, 0xba, 0xa0, 0x4a, + 0xa5, 0xb2, 0x1a, 0xdc, 0xb1, 0x13, 0xc2, 0xd0, 0x10, 0x53, 0xe9, 0x9b, + 0x44, 0xa5, 0x20, 0x1c, 0x80, 0x17, 0xfa, 0x50, 0x56, 0x16, 0x6d, 0x5a, + 0xda, 0xa6, 0xfb, 0xe9, 0x8c, 0x29, 0xf8, 0xbe, 0xb6, 0xbd, 0x79, 0x51, + 0x07, 0xaa, 0x8d, 0x85, 0x4c, 0x36, 0x08, 0x6b, 0x34, 0x6a, 0xc5, 0x6c, + 0x26, 0xab, 0x9b, 0x8f, 0xfc, 0x44, 0xd4, 0x88, 0x74, 0xe8, 0xf0, 0x11, + 0x35, 0x06, 0x87, 0xc9, 0x4a, 0x50, 0x06, 0x9f, 0x33, 0x3d, 0xbc, 0x9d, + 0x4c, 0x48, 0x24, 0x74, 0x53, 0x15, 0x33, 0xae, 0x67, 0x3f, 0x3e, 0x27, + 0x09, 0x3f, 0x06, 0x81, 0xd9, 0x5c, 0x46, 0x8a, 0x3d, 0xbc, 0x27, 0x7e, + 0xee, 0x98, 0x56, 0x71, 0x36, 0x59, 0x55, 0x20, 0x8d, 0xcb, 0x30, 0x35, + 0x92, 0x39, 0xad, 0xd6, 0x75, 0x14, 0x0c, 0xc2, 0x33, 0x6b, 0x19, 0x6e, + 0x63, 0x4a, 0x9a, 0x02, 0x42, 0x10, 0x32, 0x07, 0x0b, 0x70, 0xf0, 0xd0, + 0x61, 0x49, 0xc1, 0xb3, 0x04, 0xeb, 0x99, 0xb1, 0x02, 0x44, 0xf0, 0x8c, + 0x05, 0x7c, 0x3f, 0x99, 0x67, 0x30, 0xc6, 0xea, 0xa2, 0xa5, 0x29, 0xb5, + 0x80, 0x96, 0x86, 0x83, 0x35, 0x24, 0xe7, 0x66, 0x47, 0xc2, 0x98, 0x08, + 0xd8, 0xd5, 0xe9, 0x6e, 0x1d, 0x84, 0xc9, 0x00, 0xbd, 0xd0, 0x29, 0xa7, + 0xb3, 0x19, 0x99, 0xba, 0x8b, 0x1c, 0xb3, 0x69, 0xdd, 0x01, 0x70, 0xbd, + 0xba, 0x5a, 0x51, 0xb3, 0xd3, 0x93, 0x2a, 0xb7, 0x77, 0xbf, 0xf1, 0x35, + 0xdb, 0xff, 0xd2, 0x92, 0x9b, 0x88, 0x90, 0x07, 0x87, 0x14, 0xcd, 0xcf, + 0x2f, 0x0a, 0x6a, 0x8a, 0xd0, 0x91, 0xd3, 0x6a, 0xca, 0xb5, 0xb6, 0x98, + 0x44, 0x89, 0xd7, 0x01, 0x9c, 0x6d, 0x2b, 0xd0, 0xe8, 0x89, 0xa4, 0xa6, + 0xa7, 0xae, 0xaa, 0x22, 0x4c, 0xdd, 0xd0, 0xf0, 0x1e, 0xf1, 0x3d, 0x36, + 0x78, 0xb4, 0xbd, 0x4d, 0xd2, 0xbe, 0x93, 0x49, 0x73, 0x66, 0x99, 0x5c, + 0xb9, 0x5c, 0x96, 0xb2, 0xae, 0x69, 0x55, 0x17, 0x45, 0xa0, 0xb0, 0x4b, + 0xf9, 0x92, 0x63, 0x74, 0xd9, 0xb1, 0xa5, 0xf4, 0xc0, 0xe2, 0x28, 0x0b, + 0x6a, 0x07, 0x64, 0x10, 0x82, 0xa6, 0xa3, 0x42, 0x4c, 0xab, 0xd8, 0x41, + 0x7f, 0x30, 0x34, 0xbc, 0x57, 0x55, 0x16, 0xe7, 0xe1, 0xe0, 0x96, 0x55, + 0x26, 0x9b, 0x37, 0xc9, 0xb2, 0x4f, 0xee, 0x65, 0x13, 0x61, 0x37, 0x53, + 0x41, 0xdb, 0xee, 0xaa, 0x18, 0x65, 0xb3, 0x56, 0x5d, 0x55, 0x0e, 0x60, + 0x2c, 0x9f, 0x9f, 0x69, 0x93, 0xd6, 0x34, 0x07, 0x1a, 0x19, 0x59, 0xa1, + 0xc9, 0x98, 0x58, 0xc0, 0x0a, 0xb5, 0x45, 0x42, 0x34, 0x3f, 0x74, 0xc4, + 0x04, 0x3f, 0x3e, 0x89, 0x6f, 0x63, 0x00, 0x6b, 0x9b, 0xe8, 0x83, 0xc9, + 0x25, 0x9c, 0x94, 0x4a, 0x40, 0x8d, 0xd2, 0xe9, 0x54, 0x34, 0x22, 0x3c, + 0x0e, 0xdd, 0x92, 0xb0, 0x73, 0x39, 0x48, 0x1a, 0xcd, 0x4f, 0x08, 0x1b, + 0x88, 0xcb, 0x1b, 0x04, 0xf8, 0xf7, 0x3b, 0x59, 0xd3, 0x27, 0x51, 0x8a, + 0x6c, 0x75, 0x70, 0x03, 0xff, 0x3b, 0x81, 0x1a, 0x18, 0x1c, 0x54, 0x8d, + 0xd0, 0x35, 0x21, 0x46, 0x7b, 0xe5, 0xce, 0x33, 0x5d, 0x72, 0x60, 0x40, + 0x72, 0x7a, 0x72, 0xa2, 0x10, 0x1b, 0xb0, 0x27, 0x73, 0x47, 0xb0, 0x3d, + 0x85, 0xc2, 0x2e, 0x0c, 0xa0, 0x37, 0x26, 0x24, 0xa2, 0x19, 0xb2, 0xcd, + 0xb8, 0x06, 0x36, 0x11, 0x82, 0x66, 0x52, 0xe9, 0xa4, 0x1d, 0x11, 0xe3, + 0xb8, 0x06, 0x86, 0xb6, 0xe1, 0x70, 0x30, 0xa6, 0xb7, 0x54, 0x14, 0x47, + 0xbc, 0x5a, 0x6b, 0xaa, 0xc6, 0x36, 0x55, 0xc4, 0x7e, 0x13, 0x5b, 0x51, + 0xf8, 0xec, 0x69, 0xc4, 0x27, 0xc9, 0x42, 0x4e, 0xcd, 0x2f, 0xaf, 0xb0, + 0x12, 0xaf, 0xdc, 0x35, 0xe9, 0x09, 0x4f, 0xca, 0x92, 0x7c, 0x67, 0xea, + 0xfb, 0xf2, 0xa5, 0xa5, 0xa8, 0x30, 0x63, 0x21, 0x3e, 0xa1, 0xe8, 0xf2, + 0xf2, 0xb2, 0x8c, 0x44, 0xf2, 0x39, 0x70, 0x8c, 0x45, 0x19, 0xfa, 0x00, + 0xda, 0x27, 0x6a, 0x81, 0x32, 0xf3, 0x43, 0x80, 0x01, 0x08, 0x01, 0xc0, + 0x46, 0xd3, 0x5e, 0x62, 0x07, 0x5d, 0xc7, 0x83, 0x1f, 0x66, 0x16, 0x57, + 0xeb, 0x4d, 0xb5, 0x73, 0xa0, 0x4f, 0x1c, 0xd3, 0xec, 0xc2, 0x92, 0x60, + 0xf6, 0xed, 0x2a, 0x01, 0xfe, 0x46, 0xb4, 0xa1, 0x70, 0x6e, 0x21, 0x3c, + 0x7f, 0x4f, 0x29, 0x0f, 0xe7, 0x9f, 0x51, 0x93, 0x33, 0x73, 0xaa, 0x56, + 0x6f, 0x74, 0x15, 0x34, 0x33, 0xa9, 0x86, 0x64, 0x0c, 0x38, 0x02, 0x1f, + 0xb1, 0x40, 0x29, 0x16, 0x88, 0xc9, 0x34, 0xa0, 0x84, 0xa4, 0x69, 0x19, + 0xcc, 0x11, 0x28, 0x9f, 0xcd, 0xa2, 0xfc, 0x83, 0x07, 0xe3, 0x5d, 0x10, + 0xd4, 0x00, 0xc0, 0xb7, 0x42, 0x26, 0x97, 0x4f, 0x11, 0x6d, 0x68, 0x78, + 0xb5, 0x76, 0x18, 0x0f, 0x09, 0xbd, 0xcc, 0xee, 0x66, 0x38, 0xc6, 0x3d, + 0x80, 0x89, 0xc4, 0xde, 0x93, 0xd3, 0xb3, 0xd2, 0x1d, 0x61, 0xcb, 0x86, + 0x9f, 0x46, 0x46, 0xd8, 0xfb, 0x26, 0xf1, 0xf3, 0x00, 0x21, 0x83, 0x7d, + 0xbd, 0xf0, 0x73, 0x69, 0x75, 0xed, 0xc6, 0x94, 0x9a, 0x5f, 0x5c, 0x5a, + 0xd7, 0x17, 0xd9, 0x2e, 0x09, 0x82, 0x16, 0x38, 0x61, 0x5e, 0x84, 0x43, + 0x96, 0x64, 0x52, 0x5b, 0x3b, 0x5c, 0x89, 0x1a, 0x40, 0x53, 0x4f, 0xc1, + 0xe7, 0xac, 0x4e, 0x72, 0x80, 0x36, 0x89, 0xf0, 0xc8, 0x8e, 0xee, 0xe6, + 0x06, 0x35, 0x29, 0xf4, 0x0d, 0x0c, 0xfa, 0x84, 0x9f, 0x52, 0x8b, 0x75, + 0xbb, 0x0f, 0xc8, 0x20, 0x2a, 0x98, 0x5b, 0x58, 0x10, 0x15, 0xdd, 0xbf, + 0x6f, 0x8f, 0xda, 0x0f, 0x98, 0x38, 0x09, 0x1c, 0x3e, 0x05, 0x46, 0x30, + 0x60, 0xda, 0xee, 0x68, 0xf9, 0xd7, 0xf1, 0xb2, 0x83, 0x36, 0x06, 0xfa, + 0x7a, 0xd4, 0x40, 0x7f, 0xaf, 0x24, 0xef, 0x58, 0xc8, 0x99, 0x98, 0x9e, + 0x56, 0x7a, 0xfa, 0xa4, 0xf5, 0x9d, 0xb4, 0x1d, 0x31, 0x23, 0xb1, 0x40, + 0x32, 0xc9, 0x58, 0x20, 0x19, 0x9b, 0xf4, 0xc4, 0xb5, 0x80, 0x47, 0xda, + 0x40, 0xcd, 0xb4, 0x34, 0x4e, 0x6c, 0xca, 0x61, 0xdb, 0xc7, 0x42, 0x8e, + 0x15, 0xd9, 0xe9, 0xe0, 0xca, 0x34, 0x2d, 0xbe, 0xe4, 0xbb, 0xd7, 0x1b, + 0x90, 0x91, 0x84, 0xe5, 0x9a, 0x43, 0xb4, 0x7a, 0xee, 0xc2, 0x88, 0x3a, + 0xb8, 0x6f, 0x58, 0x0d, 0xed, 0x1c, 0x54, 0x85, 0x7c, 0x4e, 0x4d, 0x4e, + 0xcd, 0x48, 0x41, 0x7c, 0x3b, 0xfb, 0x84, 0x3e, 0xc9, 0x57, 0x60, 0xe6, + 0xa5, 0x28, 0xc0, 0xce, 0x53, 0xea, 0x4b, 0x25, 0xf6, 0xcc, 0x36, 0xd5, + 0x85, 0x91, 0x2b, 0x6a, 0x76, 0x6e, 0x61, 0xc3, 0x81, 0xe6, 0xda, 0x2c, + 0x87, 0x76, 0x12, 0x2b, 0x87, 0x51, 0x79, 0x2a, 0x91, 0xcc, 0x43, 0x90, + 0x33, 0xcc, 0xff, 0x5b, 0xda, 0xda, 0xf1, 0x02, 0xcc, 0x07, 0x89, 0x06, + 0xb8, 0x5a, 0xac, 0x5b, 0x53, 0x13, 0x30, 0x19, 0xa7, 0x99, 0x50, 0xa6, + 0xcd, 0xe3, 0xbc, 0xac, 0x76, 0x1e, 0xe8, 0x8d, 0x50, 0x06, 0x4d, 0x15, + 0x0b, 0x14, 0x67, 0xce, 0x5d, 0x54, 0x43, 0xbb, 0x06, 0x55, 0x6f, 0xb9, + 0x04, 0x46, 0x0c, 0xc0, 0x1c, 0x65, 0xd4, 0xdc, 0xfc, 0x12, 0x82, 0xaa, + 0x9a, 0x44, 0xae, 0xee, 0x6f, 0x60, 0xa7, 0x9c, 0x35, 0x93, 0x19, 0x20, + 0xbe, 0x52, 0xb1, 0x20, 0x1b, 0xa1, 0xe4, 0xcc, 0xec, 0xbc, 0x1a, 0xbb, + 0x7a, 0x9d, 0x45, 0x76, 0xc5, 0x29, 0xb2, 0x37, 0xb2, 0xa6, 0xba, 0x7e, + 0x1d, 0x8a, 0x73, 0x94, 0xb4, 0x34, 0xe7, 0x2d, 0x4a, 0xa7, 0xb3, 0x04, + 0x33, 0x70, 0xc8, 0x5e, 0x3c, 0x18, 0x33, 0xa5, 0x5f, 0x1d, 0x09, 0x93, + 0x1b, 0x76, 0x6a, 0x1a, 0x99, 0x68, 0xa2, 0xd1, 0xf0, 0xea, 0x7a, 0x96, + 0xc4, 0x22, 0x33, 0x7d, 0x76, 0x9a, 0x18, 0x3d, 0x83, 0xd5, 0xaa, 0x54, + 0x95, 0xd6, 0x63, 0x82, 0x1d, 0xb4, 0x31, 0x3a, 0x7e, 0x1d, 0x44, 0x5f, + 0x54, 0xfd, 0x3d, 0x65, 0x38, 0xae, 0xb4, 0x4a, 0x82, 0x39, 0x4c, 0x2f, + 0x2c, 0x57, 0x56, 0xf1, 0x30, 0xf5, 0x68, 0x62, 0xbe, 0xbf, 0xcf, 0xb6, + 0x45, 0x3b, 0xf2, 0x52, 0x46, 0xfb, 0x27, 0x13, 0x02, 0xa9, 0x73, 0x59, + 0x11, 0x38, 0x11, 0x96, 0xab, 0xd7, 0x27, 0x44, 0xab, 0x6d, 0x2b, 0x8a, + 0x4d, 0x8f, 0x6f, 0x54, 0xf6, 0x64, 0x16, 0x94, 0x53, 0xf1, 0xb0, 0x64, + 0xcb, 0x04, 0x26, 0x22, 0xf6, 0x14, 0xa2, 0xde, 0x3c, 0xc0, 0x8e, 0x00, + 0x1b, 0xd3, 0x21, 0x67, 0x73, 0x41, 0x8e, 0x6f, 0x7a, 0x15, 0x1d, 0x03, + 0x95, 0x6c, 0x35, 0x8c, 0xa9, 0x09, 0xf0, 0x25, 0x99, 0xb7, 0x17, 0xe5, + 0x64, 0x49, 0xef, 0xbc, 0xfd, 0xb6, 0x3a, 0x7a, 0xcf, 0x31, 0xb5, 0x03, + 0x51, 0x30, 0x27, 0x2f, 0x5d, 0x77, 0x7a, 0x2f, 0x16, 0x27, 0x12, 0x9e, + 0xd4, 0x60, 0x47, 0x57, 0x38, 0x5d, 0x59, 0x4e, 0x15, 0x72, 0x19, 0x0d, + 0xe1, 0xa4, 0xa7, 0xa8, 0x21, 0x12, 0xc5, 0x77, 0x0e, 0x59, 0x0a, 0x4c, + 0x43, 0x55, 0x67, 0x86, 0xf3, 0x93, 0x22, 0xb8, 0x32, 0x81, 0x13, 0x91, + 0x0d, 0x05, 0x23, 0x95, 0xd2, 0x53, 0xac, 0x51, 0x78, 0x98, 0x02, 0x27, + 0x92, 0x5b, 0x80, 0xd9, 0x6c, 0xca, 0x44, 0x84, 0x76, 0x76, 0x94, 0xf5, + 0x47, 0x02, 0x09, 0xf1, 0xd3, 0x69, 0x29, 0x26, 0xfd, 0xec, 0xb5, 0xd7, + 0xd4, 0xee, 0xe1, 0xdd, 0xea, 0xc8, 0x91, 0x3b, 0xe5, 0xfa, 0xa0, 0x5d, + 0xf2, 0xc6, 0xf5, 0xb9, 0xb6, 0x60, 0xcc, 0xb6, 0xa8, 0x48, 0x22, 0xd4, + 0x06, 0x61, 0xb6, 0x35, 0xdd, 0x22, 0x21, 0xa8, 0x4d, 0xda, 0x4f, 0xa4, + 0x72, 0xf9, 0x7c, 0x41, 0x5d, 0xbf, 0x76, 0xdd, 0x79, 0xf9, 0xa7, 0x2f, + 0x49, 0x47, 0xf0, 0x3b, 0x6f, 0xfd, 0x52, 0xfd, 0xe1, 0x57, 0xff, 0x95, + 0x1a, 0xda, 0xbd, 0x3b, 0x9a, 0xf5, 0x70, 0xa3, 0x34, 0x02, 0x1f, 0x98, + 0xdd, 0x03, 0x94, 0x7e, 0x06, 0x74, 0x59, 0x30, 0x81, 0xb9, 0xf9, 0x7c, + 0x2e, 0x23, 0xea, 0xdc, 0x90, 0x51, 0x8c, 0xba, 0x8d, 0x84, 0x4d, 0xbe, + 0x64, 0x48, 0x3c, 0xa2, 0x5e, 0xaf, 0x74, 0xe8, 0x74, 0x0c, 0x02, 0x0e, + 0x3b, 0x09, 0x1d, 0xda, 0x11, 0xfa, 0x61, 0xd4, 0x2f, 0x64, 0x83, 0xc9, + 0x84, 0xf4, 0x72, 0x32, 0xb2, 0xd7, 0x63, 0xdc, 0x42, 0x9d, 0x92, 0x57, + 0xf3, 0x20, 0x3a, 0x7b, 0x7c, 0x08, 0xad, 0x3d, 0xc3, 0xa0, 0xcd, 0xc6, + 0x33, 0x48, 0x62, 0x0e, 0xcc, 0xe3, 0x74, 0x6c, 0xdf, 0xfb, 0x3f, 0x7f, + 0xaa, 0xf6, 0xee, 0xd9, 0xa3, 0xde, 0x7d, 0xeb, 0x4d, 0xb5, 0x30, 0x3f, + 0xaf, 0xee, 0xba, 0xfb, 0x28, 0xd3, 0x11, 0x2e, 0x34, 0xa0, 0x68, 0x27, + 0xee, 0xb0, 0x33, 0x91, 0x51, 0xe8, 0x25, 0xf3, 0x60, 0x4d, 0x10, 0x3f, + 0xa0, 0x6a, 0x98, 0x3a, 0x00, 0x93, 0x45, 0xd9, 0x54, 0x2a, 0x99, 0xa5, + 0xf4, 0x9e, 0x3a, 0x79, 0x4a, 0x3a, 0xd4, 0x9e, 0x7e, 0xfa, 0x19, 0xf5, + 0xa3, 0x17, 0x7f, 0xa8, 0x46, 0x46, 0x2e, 0xaa, 0x03, 0x07, 0x0f, 0xca, + 0xb0, 0xcf, 0xcd, 0x24, 0xd6, 0x89, 0x99, 0x25, 0x66, 0x5d, 0x99, 0x5c, + 0xe3, 0x83, 0xa5, 0xd9, 0x3e, 0x68, 0x24, 0x2f, 0x9b, 0xf6, 0xa2, 0xa6, + 0x57, 0xda, 0x50, 0x4a, 0x61, 0x5d, 0x06, 0xd8, 0x35, 0x84, 0x31, 0x0d, + 0xd3, 0x88, 0x25, 0x8d, 0x59, 0xfc, 0x17, 0x84, 0x6b, 0x4a, 0x64, 0xcc, + 0xff, 0xcb, 0x7c, 0x0f, 0x66, 0xf6, 0x46, 0x5d, 0x3e, 0xd5, 0x09, 0x3d, + 0x81, 0x85, 0xd2, 0xb1, 0xd0, 0xea, 0x1b, 0x6a, 0x1a, 0x86, 0xaf, 0xd4, + 0xa0, 0x8d, 0xec, 0xa4, 0xab, 0x6b, 0xb3, 0xe8, 0x9a, 0xe2, 0x4d, 0x3c, + 0x87, 0xb4, 0x69, 0x61, 0x86, 0xb3, 0x45, 0x2e, 0x2f, 0xa9, 0xe9, 0xa9, + 0x49, 0x75, 0xff, 0x7d, 0xf7, 0xc9, 0xdc, 0x77, 0xd3, 0x53, 0x53, 0x82, + 0x1c, 0x25, 0x16, 0x08, 0x82, 0x82, 0x9d, 0xca, 0xdf, 0x58, 0x17, 0xdb, + 0x02, 0xa4, 0xc4, 0x09, 0xdb, 0x21, 0xf4, 0x66, 0x5c, 0x98, 0xc4, 0x04, + 0x64, 0x40, 0x6f, 0xff, 0x40, 0x8a, 0x70, 0xec, 0x38, 0x2e, 0x7a, 0xf9, + 0xf2, 0x25, 0xf5, 0xca, 0x2b, 0x7f, 0xab, 0xb2, 0xf9, 0xa2, 0xf4, 0xc4, + 0xd3, 0x17, 0xd8, 0x96, 0x94, 0x9b, 0x4d, 0x0f, 0x90, 0xa0, 0x4b, 0x20, + 0x72, 0x85, 0xcc, 0xf0, 0xb4, 0x09, 0x60, 0x8d, 0x39, 0x93, 0x49, 0xc9, + 0xc8, 0x49, 0xa6, 0xbd, 0x29, 0x55, 0x74, 0x64, 0x2a, 0x36, 0xc9, 0x52, + 0x60, 0x24, 0x5b, 0x90, 0x4a, 0xcc, 0x24, 0x84, 0x66, 0xbc, 0x99, 0x92, + 0x64, 0x5c, 0x6b, 0x12, 0x27, 0x3d, 0x06, 0x39, 0xd0, 0x73, 0xd4, 0xe1, + 0xb7, 0x56, 0xed, 0x06, 0x29, 0x5f, 0x85, 0x1f, 0x92, 0x89, 0x66, 0x83, + 0xd6, 0xcc, 0x8a, 0xee, 0x2d, 0xa6, 0x33, 0x38, 0x46, 0x6e, 0x78, 0xef, + 0x3e, 0xf5, 0xcc, 0xe7, 0x7e, 0x4f, 0x88, 0x5f, 0x2a, 0xf7, 0xa8, 0xa7, + 0x9e, 0xfe, 0x07, 0xb2, 0xf8, 0x03, 0x04, 0xd8, 0x81, 0x3e, 0x17, 0x4d, + 0xb3, 0x73, 0xdb, 0x9c, 0x11, 0xd2, 0x89, 0x12, 0xbf, 0x10, 0x99, 0x60, + 0xf2, 0xd4, 0x2c, 0xb5, 0x15, 0x76, 0x0f, 0xef, 0x4d, 0xf2, 0x61, 0xe8, + 0x7c, 0xff, 0xfd, 0x7f, 0xf8, 0x7a, 0x44, 0x90, 0xba, 0x8c, 0xdf, 0x6d, + 0x98, 0xb1, 0xb2, 0xb7, 0x50, 0xca, 0x73, 0x5a, 0x93, 0x65, 0xd7, 0xd8, + 0xcb, 0x89, 0x6d, 0x09, 0xa1, 0xbd, 0xce, 0x22, 0x26, 0xc4, 0x57, 0x64, + 0xa5, 0xbd, 0x30, 0x23, 0xce, 0x9f, 0xc8, 0x24, 0x95, 0xd2, 0xbd, 0x42, + 0x1b, 0x41, 0x59, 0x19, 0x1e, 0xc5, 0x31, 0xc6, 0x10, 0x8e, 0x95, 0x95, + 0xaa, 0x14, 0xf6, 0xe9, 0x87, 0x68, 0xfe, 0x48, 0xf4, 0x6a, 0xbd, 0x26, + 0x0c, 0x89, 0x0f, 0x18, 0xf1, 0xb6, 0x69, 0xa4, 0x3f, 0x27, 0xa7, 0xfd, + 0xca, 0xb3, 0xff, 0x8c, 0xcb, 0x88, 0x88, 0x80, 0x4c, 0x42, 0x1b, 0xae, + 0x8e, 0x8f, 0x4b, 0xb3, 0x01, 0xd0, 0x4c, 0x11, 0x50, 0xd4, 0x37, 0x76, + 0xdf, 0x35, 0x5a, 0xd8, 0x36, 0x42, 0x46, 0x39, 0x31, 0x96, 0x93, 0x33, + 0x38, 0xb1, 0x58, 0x2a, 0x97, 0xa5, 0x04, 0x48, 0x6d, 0x67, 0x49, 0xcf, + 0x8f, 0x8d, 0x71, 0x75, 0x8c, 0xed, 0xdc, 0x8e, 0x9b, 0xb7, 0xcd, 0x0f, + 0x34, 0x33, 0xcb, 0x95, 0x86, 0xf8, 0x0c, 0xa5, 0xe6, 0xa2, 0x31, 0xc2, + 0x34, 0x29, 0x49, 0x3f, 0x21, 0x93, 0x64, 0x48, 0x98, 0x6f, 0xea, 0xd0, + 0x36, 0x5a, 0xb5, 0xfd, 0xa2, 0xe2, 0x4f, 0xea, 0x7a, 0x6c, 0x70, 0xdc, + 0x6c, 0x75, 0xb6, 0x33, 0x5a, 0x18, 0x1c, 0xaa, 0x6d, 0x9b, 0x8c, 0x4b, + 0x5e, 0x4b, 0x08, 0x46, 0x23, 0x38, 0x6a, 0x26, 0xf3, 0x90, 0xda, 0x05, + 0x30, 0x28, 0xcc, 0x2f, 0xa7, 0x2f, 0x58, 0xbb, 0x42, 0x47, 0x9b, 0x2a, + 0x99, 0xa8, 0x95, 0x0f, 0x00, 0x13, 0x50, 0xc8, 0x17, 0xf2, 0x32, 0x29, + 0x77, 0x0e, 0x7e, 0x40, 0x46, 0xc7, 0x78, 0xbe, 0xea, 0x66, 0x18, 0x6f, + 0x4d, 0x86, 0x9c, 0xae, 0x87, 0x9c, 0x6e, 0xc8, 0x05, 0xb7, 0x5d, 0xc7, + 0x03, 0xd5, 0x1a, 0x55, 0x10, 0x6c, 0xb5, 0x3b, 0xd5, 0x62, 0x35, 0x01, + 0x3a, 0xdc, 0xe4, 0x3a, 0xe6, 0x71, 0xfd, 0x0e, 0x8b, 0x9b, 0x67, 0xc5, + 0x7a, 0x97, 0xb1, 0xeb, 0x28, 0x14, 0x10, 0x7c, 0xad, 0xae, 0xca, 0xcc, + 0xbf, 0x39, 0x58, 0x14, 0x58, 0xd9, 0x94, 0x5d, 0x87, 0x46, 0xaa, 0x76, + 0x14, 0xfc, 0x78, 0x6f, 0x68, 0x7c, 0xe9, 0x0e, 0x9a, 0xa1, 0x54, 0x81, + 0x85, 0x18, 0x5c, 0x71, 0x61, 0x76, 0x46, 0x2d, 0xcf, 0xcf, 0x75, 0xf9, + 0xd1, 0x70, 0x0d, 0x02, 0x69, 0xcd, 0xbe, 0xa7, 0x62, 0x55, 0xa8, 0xf6, + 0x63, 0x51, 0x34, 0xb3, 0x6e, 0x71, 0x3c, 0xec, 0xca, 0x2c, 0xa7, 0x1b, + 0x0f, 0xc3, 0xf5, 0xbe, 0xd9, 0x9d, 0x4b, 0xad, 0xfb, 0x71, 0xd6, 0x88, + 0x82, 0x63, 0xc6, 0x1b, 0x74, 0xb4, 0x58, 0x74, 0xb9, 0x4d, 0xa7, 0xe3, + 0xf6, 0x3b, 0xae, 0xe5, 0xe8, 0x85, 0x1e, 0x48, 0xe8, 0x3c, 0xe3, 0xa7, + 0x72, 0xd9, 0xbb, 0x7a, 0xf5, 0x6a, 0x82, 0xab, 0x9e, 0x68, 0xad, 0x0c, + 0xb8, 0x3a, 0x13, 0x83, 0xdb, 0xd0, 0x67, 0x5b, 0x85, 0x6d, 0xd7, 0x66, + 0xc4, 0x4b, 0xf3, 0xc4, 0x46, 0xa2, 0xc9, 0xc9, 0xc9, 0xe9, 0x57, 0x5e, + 0x7d, 0xb5, 0x7e, 0xf1, 0xe2, 0xc5, 0x04, 0x7b, 0xf5, 0xd9, 0x7a, 0x67, + 0x1b, 0xb1, 0xec, 0x5c, 0xd1, 0xb6, 0x08, 0xe1, 0x38, 0x6e, 0x6c, 0xdf, + 0x69, 0xfb, 0x9b, 0x39, 0x14, 0xa9, 0x68, 0x39, 0xf1, 0xe9, 0x07, 0x74, + 0x4e, 0x49, 0x4a, 0x89, 0xf5, 0x46, 0xf4, 0xe0, 0xf6, 0x3b, 0xad, 0x87, + 0xde, 0xa6, 0x98, 0x20, 0x86, 0xff, 0x69, 0x46, 0x59, 0xbb, 0x0d, 0x8d, + 0x23, 0x6f, 0x0d, 0x6b, 0x0a, 0xa5, 0xac, 0x29, 0x93, 0x7b, 0xdb, 0x0e, + 0x0b, 0x56, 0xdd, 0xc2, 0x38, 0xac, 0xdd, 0xec, 0xef, 0x50, 0xcf, 0xd2, + 0x42, 0x73, 0x58, 0x6f, 0x98, 0x09, 0xca, 0xab, 0xea, 0x9d, 0x77, 0xde, + 0xb9, 0xb1, 0x6b, 0xd7, 0x2e, 0x2e, 0xe6, 0x20, 0xab, 0x30, 0x71, 0x41, + 0x1a, 0x12, 0x5f, 0xe2, 0x0c, 0xee, 0xf0, 0x03, 0xde, 0x81, 0x5d, 0xaa, + 0x89, 0x0a, 0x51, 0x2a, 0x95, 0xc6, 0x2e, 0x9c, 0xbf, 0x70, 0x7d, 0x61, + 0xa9, 0xb2, 0x87, 0xe3, 0x07, 0xd8, 0xfd, 0xc0, 0x4c, 0x67, 0x2a, 0x91, + 0x12, 0x78, 0x65, 0xd3, 0xd3, 0x26, 0xf3, 0x17, 0x6d, 0x32, 0x64, 0x5f, + 0x82, 0x1a, 0x5f, 0xfa, 0xe8, 0xd9, 0xe5, 0xbc, 0xbc, 0xb8, 0x28, 0x61, + 0x39, 0x71, 0x37, 0xcd, 0x98, 0xed, 0xcb, 0xe4, 0xf4, 0xc5, 0x43, 0x43, + 0xbb, 0x85, 0x01, 0x51, 0xc5, 0xcd, 0xcc, 0xc2, 0xb5, 0x5d, 0x53, 0xe1, + 0x08, 0xdd, 0x83, 0x30, 0x1a, 0x42, 0x7b, 0x75, 0x6c, 0x5c, 0xda, 0xea, + 0x75, 0x2a, 0xbd, 0x21, 0x4e, 0x59, 0x66, 0x54, 0x01, 0xe1, 0x39, 0xc1, + 0x60, 0x2e, 0x97, 0x97, 0xc9, 0x3c, 0x9a, 0xc6, 0x9f, 0x34, 0xc4, 0x9f, + 0x58, 0x48, 0x5c, 0x37, 0xf3, 0x4f, 0x34, 0x64, 0xa4, 0x8e, 0x85, 0xc8, + 0xd2, 0xa1, 0x01, 0x21, 0xe5, 0x80, 0x8d, 0x26, 0x4c, 0xcb, 0x12, 0x4c, + 0x0b, 0x21, 0x29, 0xe7, 0xbb, 0xbe, 0x3e, 0x3e, 0x36, 0x0b, 0x60, 0x71, + 0x02, 0x42, 0xb8, 0xcc, 0xd5, 0x35, 0xb8, 0x91, 0xce, 0xb4, 0x38, 0x70, + 0xca, 0x21, 0x07, 0x68, 0xd8, 0x95, 0x83, 0x64, 0xb5, 0x20, 0x10, 0x27, + 0xe0, 0xcc, 0xbb, 0x20, 0xfa, 0x8d, 0xca, 0xca, 0xca, 0xf4, 0xea, 0x4a, + 0x65, 0x8f, 0x99, 0x18, 0x51, 0x2d, 0x2d, 0x2e, 0xe8, 0x6a, 0x8f, 0xe7, + 0xb5, 0xf5, 0xf5, 0xdb, 0x39, 0x94, 0x3d, 0xd3, 0x1d, 0x66, 0xe1, 0x29, + 0x19, 0xf6, 0xd6, 0x9b, 0xbf, 0x52, 0xbf, 0xf8, 0xbb, 0xd7, 0xdb, 0x26, + 0x45, 0xb5, 0xfb, 0xc7, 0xee, 0x39, 0xae, 0xfe, 0xf0, 0x5f, 0x7c, 0xd5, + 0x0c, 0xed, 0xd4, 0xd3, 0x3f, 0x3a, 0x26, 0xe3, 0x1a, 0x99, 0x83, 0x6d, + 0xa9, 0xe2, 0x72, 0x7a, 0x9b, 0x40, 0x86, 0xd1, 0x7e, 0xf7, 0x7f, 0xfd, + 0x89, 0x3a, 0xf1, 0xd1, 0x87, 0x5d, 0xef, 0xe7, 0x77, 0x3f, 0xf7, 0x0f, + 0xd5, 0x13, 0x9f, 0xf9, 0x2c, 0x08, 0xb7, 0xa0, 0x17, 0xf3, 0x91, 0x78, + 0xa1, 0x19, 0x49, 0x75, 0xd3, 0x74, 0xc1, 0x35, 0xa3, 0x39, 0x89, 0x1a, + 0x66, 0xe6, 0x97, 0xc0, 0x1c, 0x6f, 0x0a, 0x3a, 0xe4, 0xf3, 0x2c, 0x2e, + 0x2d, 0x4a, 0x4a, 0x02, 0xbf, 0x39, 0x3d, 0x30, 0xd0, 0x7f, 0xce, 0x4b, + 0x26, 0x97, 0xb8, 0xb0, 0x0f, 0x57, 0x63, 0x0a, 0xf5, 0x3c, 0x36, 0x5c, + 0x99, 0x2f, 0xe4, 0x6a, 0x49, 0xbd, 0xe0, 0x4e, 0x86, 0xfd, 0x9f, 0x9c, + 0xeb, 0x06, 0xc4, 0xe7, 0xdf, 0xfd, 0x38, 0x67, 0x10, 0x9a, 0xf1, 0xec, + 0x03, 0x0f, 0x3e, 0xf8, 0x04, 0xa5, 0x36, 0x29, 0xaa, 0xeb, 0xb6, 0x9b, + 0x1b, 0x65, 0x66, 0xa6, 0x5a, 0x63, 0x8e, 0x5a, 0x9f, 0x59, 0xcd, 0x10, + 0x8c, 0x1e, 0xff, 0x9c, 0x53, 0x3f, 0xca, 0xcd, 0x37, 0xd6, 0x5c, 0x2f, + 0x9a, 0xfd, 0xca, 0xd9, 0xb2, 0x85, 0x59, 0x13, 0x19, 0x47, 0xf5, 0xfa, + 0xa8, 0x44, 0x2a, 0xf3, 0xe4, 0x44, 0x9d, 0x6b, 0x81, 0x69, 0x69, 0x91, + 0xff, 0x4c, 0x80, 0xa7, 0x25, 0xbc, 0xa9, 0x8f, 0x9b, 0x63, 0x1a, 0x44, + 0xad, 0x35, 0x35, 0x71, 0xd3, 0x65, 0x81, 0x82, 0x35, 0x4b, 0xba, 0x75, + 0xb3, 0x8e, 0xdd, 0xc0, 0x39, 0x79, 0xfa, 0xd4, 0x87, 0x88, 0xc0, 0xfe, + 0x1c, 0xbf, 0x7b, 0x15, 0x52, 0x3f, 0x83, 0x73, 0xa6, 0x81, 0x88, 0xe6, + 0xf1, 0xf7, 0x12, 0xde, 0x2b, 0xbe, 0x91, 0x00, 0x2e, 0xbb, 0x14, 0xea, + 0x6c, 0x74, 0x28, 0x4b, 0xf5, 0x31, 0x3b, 0x31, 0x3f, 0xbf, 0x50, 0x3f, + 0x75, 0xe6, 0xac, 0x2a, 0x23, 0xb0, 0x18, 0x80, 0x09, 0xca, 0xc9, 0xd4, + 0x94, 0x3e, 0x73, 0xdc, 0x66, 0x8e, 0x1c, 0x53, 0xff, 0x94, 0xae, 0xb9, + 0x98, 0x39, 0xe2, 0xdf, 0x31, 0xb3, 0xe4, 0x59, 0xd3, 0x24, 0x9b, 0x81, + 0x93, 0xd1, 0xf9, 0x09, 0x7d, 0x1d, 0xaf, 0x35, 0x0b, 0x57, 0x1c, 0x66, + 0xde, 0x4c, 0xf1, 0xa4, 0x15, 0x15, 0xbb, 0x6b, 0xe6, 0x0b, 0x35, 0xce, + 0x4f, 0x9b, 0x0b, 0x4a, 0xab, 0x19, 0x69, 0x69, 0xe1, 0xab, 0x36, 0x23, + 0x8d, 0x28, 0x25, 0xd2, 0x94, 0x68, 0xbc, 0x6e, 0x4c, 0x90, 0x8e, 0xcc, + 0x65, 0xdf, 0x30, 0x49, 0xcc, 0x0f, 0x4d, 0x51, 0xb3, 0x65, 0x86, 0xf8, + 0x39, 0xe3, 0x90, 0x4a, 0xa5, 0xaa, 0x26, 0x27, 0x26, 0x9c, 0xb9, 0xb9, + 0x59, 0x35, 0x35, 0x31, 0x59, 0x2b, 0x97, 0x4b, 0x66, 0xf9, 0x31, 0xbd, + 0x0c, 0x19, 0xd7, 0x23, 0xb3, 0x6b, 0x52, 0xd2, 0x09, 0x93, 0xe8, 0x06, + 0xb0, 0x84, 0xb2, 0x56, 0x22, 0xcd, 0x10, 0x19, 0x01, 0x0d, 0xa8, 0x11, + 0xff, 0xb3, 0x26, 0x4c, 0x53, 0x65, 0x97, 0xfd, 0xb0, 0x13, 0x77, 0x5b, + 0xe2, 0x4a, 0x7e, 0xc5, 0xf6, 0xc4, 0x74, 0xf8, 0x84, 0xf5, 0xb6, 0xe8, + 0xfb, 0xc6, 0x64, 0xd9, 0xcd, 0x8d, 0x99, 0xb7, 0xad, 0x31, 0x40, 0x63, + 0xee, 0x38, 0x30, 0xd0, 0x51, 0xba, 0x1f, 0xcd, 0xed, 0xd9, 0x30, 0x33, + 0xb7, 0x2b, 0x13, 0x6b, 0x74, 0x6e, 0x12, 0x33, 0x18, 0xe2, 0xdb, 0xad, + 0x19, 0x27, 0xba, 0x25, 0xb0, 0xfd, 0xcc, 0x7c, 0x4e, 0x66, 0xe8, 0xef, + 0xeb, 0xd4, 0x46, 0xc3, 0xa4, 0x34, 0xd8, 0x97, 0x44, 0xf3, 0xc3, 0xc1, + 0x85, 0x35, 0x1c, 0xe4, 0xaa, 0x7b, 0x81, 0x7e, 0x35, 0xad, 0x13, 0xa6, + 0xc0, 0x1b, 0xa1, 0x77, 0xb9, 0xd0, 0x18, 0x9d, 0x90, 0x5d, 0x29, 0x8e, + 0xcb, 0xc4, 0xc9, 0x7a, 0x89, 0xb0, 0x69, 0x2c, 0x16, 0xe8, 0x05, 0x19, + 0x64, 0x66, 0xd8, 0x84, 0x8c, 0x86, 0x1c, 0xbd, 0x3c, 0xa2, 0xbe, 0xf7, + 0xa7, 0xff, 0x5b, 0x6e, 0x40, 0x46, 0x1e, 0xca, 0xd4, 0x95, 0x6e, 0x87, + 0x39, 0xb2, 0x66, 0xe5, 0x93, 0x29, 0x17, 0xd2, 0x4f, 0x30, 0xcf, 0x72, + 0xed, 0xea, 0x55, 0xf5, 0x95, 0x7f, 0xfc, 0x25, 0xf8, 0x99, 0x9f, 0x29, + 0x26, 0x0e, 0x39, 0x62, 0xff, 0x17, 0xaf, 0xff, 0x4c, 0xcd, 0xcd, 0xcc, + 0xa8, 0x13, 0x1f, 0xbe, 0x2f, 0x00, 0xe0, 0x57, 0x6f, 0xfc, 0x5c, 0xaf, + 0x2f, 0x60, 0xd7, 0x3c, 0xb0, 0x9b, 0x9e, 0x78, 0x3b, 0xd2, 0x38, 0xd9, + 0xf7, 0xdc, 0xc8, 0x87, 0xb9, 0x66, 0xae, 0x68, 0xfb, 0xb9, 0x7c, 0xc7, + 0xc4, 0x19, 0x72, 0xbe, 0x99, 0x31, 0x2c, 0x6a, 0x50, 0x36, 0xdf, 0xb1, + 0x53, 0x35, 0xd3, 0x8f, 0x85, 0xcd, 0x00, 0x3c, 0x81, 0x2e, 0x69, 0x9a, + 0x06, 0x30, 0x3b, 0x22, 0xfd, 0x78, 0xd7, 0x30, 0xd4, 0x3c, 0x90, 0x20, + 0x21, 0xb3, 0x56, 0xa2, 0x68, 0x00, 0xeb, 0x31, 0x38, 0x5e, 0xe3, 0x58, + 0xb0, 0x37, 0xdf, 0xf8, 0x85, 0x1e, 0x5d, 0x52, 0xad, 0xa9, 0x47, 0x1e, + 0x7b, 0x4c, 0x90, 0x02, 0x67, 0xb8, 0x22, 0xd7, 0xe5, 0x47, 0x02, 0x3a, + 0xb8, 0x9c, 0x19, 0x9a, 0x93, 0x90, 0x14, 0x6f, 0x9b, 0x19, 0x32, 0xa8, + 0x28, 0x11, 0x33, 0x41, 0x32, 0x9d, 0x98, 0x9d, 0x81, 0xdd, 0x8f, 0x69, + 0x80, 0xe3, 0x46, 0x9a, 0x10, 0xa1, 0xa0, 0xd0, 0xba, 0x52, 0x4d, 0xfc, + 0x55, 0xa0, 0x0c, 0x4e, 0x73, 0x4f, 0x06, 0x13, 0xe6, 0x71, 0xe6, 0x43, + 0x6a, 0x28, 0xbb, 0xb6, 0x4f, 0xc2, 0xc1, 0x7e, 0xe7, 0xdb, 0x7f, 0x2c, + 0xcc, 0xe0, 0x74, 0x0a, 0xbc, 0x57, 0x8e, 0x60, 0x79, 0xf4, 0xf1, 0xc7, + 0xd5, 0x7f, 0xfc, 0x4f, 0xff, 0x59, 0x13, 0x97, 0xdd, 0x1d, 0x74, 0xc0, + 0x30, 0x25, 0x8e, 0x4b, 0x1f, 0xd4, 0x90, 0x05, 0x00, 0xf5, 0x84, 0x7e, + 0x1c, 0x80, 0xb7, 0xaa, 0xc7, 0x3c, 0x83, 0x69, 0x9c, 0xe9, 0x45, 0xfb, + 0x0d, 0x4f, 0xad, 0xc2, 0x50, 0x24, 0xe9, 0x07, 0xeb, 0xda, 0xd1, 0x5a, + 0x48, 0xcb, 0xd4, 0x7a, 0xe8, 0xea, 0x49, 0xac, 0x42, 0x93, 0x5b, 0xf2, + 0x5c, 0x9d, 0x41, 0x80, 0xbc, 0x57, 0x41, 0x52, 0x76, 0x63, 0x51, 0xfa, + 0x9b, 0x66, 0x15, 0x56, 0x31, 0xf7, 0x5c, 0x8f, 0xd8, 0x9f, 0x9f, 0x9f, + 0x0f, 0x65, 0x25, 0x42, 0x30, 0xc1, 0x9a, 0x1e, 0xae, 0x04, 0xc7, 0x9c, + 0x1c, 0x17, 0xaa, 0xe4, 0xc5, 0xd8, 0x84, 0x6b, 0xa3, 0x52, 0x12, 0xbe, + 0xaf, 0xaf, 0xdf, 0xa8, 0x73, 0x43, 0x9c, 0x0f, 0xfd, 0x01, 0xd1, 0x0e, + 0x47, 0xb8, 0x88, 0xb3, 0x76, 0xdc, 0x68, 0x22, 0xbb, 0x35, 0x23, 0x0c, + 0x6d, 0x1c, 0x21, 0xd2, 0xa4, 0x27, 0xd8, 0xb3, 0x93, 0x7a, 0x5b, 0x26, + 0xb4, 0x32, 0x91, 0x8e, 0x6a, 0x91, 0x5e, 0x19, 0xf3, 0x52, 0x05, 0x31, + 0x9f, 0x50, 0x8f, 0x3c, 0xfa, 0x58, 0xdb, 0x32, 0x59, 0xb6, 0x23, 0x8e, + 0xad, 0x92, 0x57, 0x63, 0xd3, 0x03, 0x5b, 0x84, 0x73, 0xf1, 0xc2, 0x05, + 0x61, 0xc6, 0xff, 0xfd, 0xd1, 0x8b, 0xea, 0x07, 0x7f, 0xf6, 0x5d, 0xe5, + 0xa6, 0xb2, 0xd2, 0xdf, 0x53, 0x6f, 0x84, 0x52, 0x46, 0xe4, 0xd6, 0x60, + 0x83, 0xad, 0x0a, 0xd4, 0xb3, 0x5f, 0xfd, 0xd7, 0x92, 0xdb, 0x9f, 0xc5, + 0xb3, 0x3e, 0xf5, 0xf4, 0x33, 0x6a, 0x64, 0xe4, 0x92, 0x3a, 0x7b, 0xea, + 0xa4, 0x3a, 0x7c, 0xe4, 0xb0, 0xfa, 0xeb, 0x1f, 0xfc, 0x95, 0x64, 0x06, + 0x3e, 0xff, 0xf9, 0x7f, 0x24, 0xeb, 0x1c, 0x7c, 0xfc, 0xf1, 0xc7, 0xea, + 0x4b, 0x5f, 0xfa, 0xa2, 0x00, 0x8a, 0x1f, 0xfe, 0xf0, 0x87, 0xea, 0xa1, + 0x07, 0x1f, 0x54, 0x47, 0xee, 0x38, 0xa2, 0x2e, 0x9c, 0x3b, 0x2b, 0x0c, + 0xc5, 0x3d, 0x72, 0xb1, 0x4f, 0x61, 0x00, 0xee, 0x9d, 0x76, 0x5f, 0x2c, + 0x0c, 0xb5, 0x40, 0x52, 0x11, 0x06, 0x82, 0x06, 0x99, 0x4c, 0xc6, 0x62, + 0x54, 0x12, 0xbf, 0x21, 0x49, 0x3e, 0x59, 0x25, 0xb4, 0x7d, 0x99, 0xa9, + 0xa0, 0xd9, 0x2a, 0xb2, 0x4b, 0x62, 0x8b, 0x7d, 0x40, 0x90, 0xe8, 0xb7, + 0x7f, 0xf5, 0x86, 0x1a, 0x1d, 0x1b, 0x53, 0x85, 0x52, 0x8f, 0x9c, 0xd3, + 0x1e, 0xf2, 0x87, 0x9b, 0xfe, 0x4d, 0xe2, 0xb1, 0xe3, 0xac, 0x01, 0x2c, + 0x9d, 0xe4, 0x9c, 0x14, 0x5e, 0xc2, 0x4c, 0x23, 0xe9, 0xb4, 0xd5, 0x17, + 0x96, 0x17, 0xe7, 0x45, 0xf3, 0x3e, 0xfb, 0xd4, 0xef, 0xe8, 0xc5, 0x9e, + 0xc3, 0xb0, 0x05, 0x85, 0x62, 0x6c, 0x73, 0xa2, 0x35, 0x24, 0x35, 0x03, + 0x38, 0xa1, 0x1e, 0x13, 0x7d, 0x9c, 0xc9, 0xe5, 0x91, 0xf2, 0xa4, 0x7a, + 0x7b, 0xbc, 0xae, 0x8e, 0x0e, 0xe7, 0xd5, 0xf9, 0x1b, 0xcb, 0xaa, 0x94, + 0x4d, 0xaa, 0x94, 0x1f, 0xaa, 0xa9, 0xc5, 0x86, 0xba, 0x6b, 0x28, 0xab, + 0xe6, 0x97, 0x56, 0xd4, 0x8b, 0x7f, 0xf5, 0x82, 0x9a, 0x82, 0x40, 0x3d, + 0xf4, 0xf0, 0xc3, 0xea, 0x4f, 0xfe, 0xf8, 0x5b, 0xea, 0xa9, 0xa7, 0x3e, + 0x23, 0xcd, 0x97, 0xe7, 0xcf, 0x9f, 0x53, 0x47, 0x8e, 0xdc, 0x21, 0x55, + 0x3e, 0x0e, 0x2a, 0xbc, 0x7e, 0xed, 0xaa, 0xca, 0x40, 0xf3, 0x89, 0xaa, + 0xa8, 0x69, 0xbc, 0xe7, 0x1d, 0x83, 0x83, 0xc2, 0x40, 0x26, 0xe2, 0x60, + 0x15, 0xaa, 0x60, 0x82, 0xf5, 0x03, 0x7c, 0xa0, 0x40, 0x4f, 0xa2, 0x12, + 0x84, 0x5c, 0x71, 0xd5, 0xe7, 0x8a, 0xcf, 0x0b, 0x0b, 0x0b, 0x21, 0xb9, + 0x03, 0x4d, 0x10, 0x37, 0xcd, 0x93, 0xb9, 0x54, 0x00, 0x38, 0xb2, 0x0a, + 0x49, 0x0e, 0xb8, 0x8a, 0x36, 0x1f, 0x84, 0x4e, 0xc5, 0xb5, 0x7d, 0x8f, + 0xe9, 0x54, 0x34, 0x00, 0x82, 0xaf, 0xfd, 0xfb, 0x0f, 0xa8, 0xcf, 0xfd, + 0xde, 0xef, 0xab, 0xc7, 0x9f, 0xfc, 0x0c, 0x1c, 0x50, 0xc7, 0x7a, 0x5c, + 0xce, 0xd6, 0x70, 0xe4, 0x2f, 0x7f, 0xf1, 0x73, 0xf5, 0xf3, 0x9f, 0xbd, + 0xa6, 0xfe, 0xe0, 0x9f, 0x7e, 0x45, 0xdd, 0x71, 0xc7, 0x5d, 0x6d, 0x29, + 0x67, 0xfe, 0x0e, 0x25, 0xef, 0x85, 0xe7, 0xbf, 0x2f, 0x76, 0x9e, 0x79, + 0x94, 0xf8, 0xe4, 0x1c, 0x9c, 0x4c, 0x56, 0x0a, 0x39, 0x1d, 0xe9, 0x8e, + 0xb0, 0x2d, 0xed, 0xa1, 0x64, 0xb1, 0xb9, 0x6f, 0xff, 0x6c, 0x4a, 0x25, + 0x32, 0x49, 0x75, 0xee, 0xda, 0xb2, 0xaa, 0x71, 0xe1, 0x4e, 0x83, 0x7c, + 0x29, 0x93, 0xef, 0x5e, 0x9a, 0x53, 0x5f, 0xff, 0x82, 0x26, 0x68, 0x1e, + 0x1a, 0xc3, 0xa9, 0xfc, 0x39, 0x0d, 0xcd, 0x67, 0x3f, 0xfb, 0x94, 0x2c, + 0x7b, 0x42, 0x27, 0xbc, 0x77, 0xef, 0x1e, 0x59, 0xe5, 0xe9, 0xc7, 0x3f, + 0xfe, 0xb1, 0x5c, 0xf3, 0xee, 0xa3, 0x47, 0xa3, 0xca, 0x19, 0x83, 0x4b, + 0x7e, 0xf6, 0xfd, 0xbf, 0xf8, 0x0b, 0x99, 0x3b, 0x23, 0x9d, 0xc9, 0xac, + 0x92, 0x01, 0xac, 0xc5, 0xd3, 0x14, 0x41, 0x68, 0x9a, 0xc6, 0xc4, 0x6b, + 0xab, 0x43, 0x2e, 0x30, 0x22, 0x23, 0xec, 0xe4, 0xd2, 0xdc, 0x3c, 0x09, + 0x8c, 0xa8, 0x4b, 0x76, 0xba, 0xd1, 0x58, 0x81, 0x49, 0x09, 0x86, 0x87, + 0x87, 0x5d, 0xb3, 0x34, 0xb9, 0xca, 0xc1, 0xf1, 0xb1, 0x4e, 0x3c, 0x3c, + 0xbc, 0x47, 0x52, 0xc5, 0x1f, 0x9f, 0x39, 0xad, 0xde, 0xf8, 0xc5, 0xdf, + 0x71, 0x98, 0x53, 0x3d, 0x93, 0x4a, 0x38, 0xb9, 0x14, 0xee, 0xa4, 0xe1, + 0x6d, 0xb9, 0x03, 0xc2, 0x9a, 0x95, 0x47, 0x1e, 0x7e, 0x44, 0xad, 0x2c, + 0xce, 0xd7, 0xff, 0xe6, 0xff, 0xbd, 0x54, 0x7b, 0xec, 0xe1, 0x87, 0x32, + 0x7b, 0xf0, 0x9b, 0x27, 0xa1, 0xf6, 0x76, 0x2d, 0x18, 0xf2, 0x39, 0x9b, + 0xf4, 0xc2, 0xbe, 0xde, 0x9e, 0xc6, 0x9b, 0xbf, 0xfa, 0xa5, 0xf7, 0xe3, + 0x1f, 0xbd, 0xe8, 0x7e, 0xf3, 0xbf, 0xfe, 0x37, 0x19, 0x93, 0xbb, 0x6b, + 0xd7, 0x4e, 0xb9, 0x17, 0x89, 0x78, 0xc3, 0x40, 0xcc, 0x60, 0x2a, 0xdd, + 0x9a, 0xb1, 0x65, 0x01, 0x81, 0x95, 0x5d, 0xd6, 0x9c, 0x88, 0xe5, 0xdf, + 0xfc, 0xfe, 0x6e, 0xf5, 0xc1, 0x44, 0x42, 0xdd, 0xb7, 0x27, 0xad, 0x4e, + 0x8c, 0x2e, 0xa9, 0x5d, 0x3d, 0x5c, 0xb7, 0x2c, 0x94, 0xce, 0xbe, 0x5d, + 0xe5, 0xa4, 0x62, 0x63, 0x35, 0x4d, 0xa5, 0xfd, 0x0e, 0xa1, 0xf7, 0x0f, + 0x7e, 0xf0, 0x83, 0xa8, 0xe6, 0x7b, 0xee, 0xdc, 0x39, 0xf5, 0xad, 0x6f, + 0x7d, 0x4b, 0x5d, 0x1a, 0x19, 0x91, 0x99, 0x62, 0xbe, 0xff, 0xfd, 0xef, + 0xeb, 0xcc, 0x27, 0xfc, 0xc6, 0x7b, 0xef, 0xbd, 0xa7, 0xbe, 0xfd, 0x9d, + 0xef, 0xa8, 0x2b, 0xa3, 0xa3, 0x32, 0x16, 0xad, 0x02, 0x18, 0x49, 0x57, + 0xc5, 0x29, 0x23, 0x48, 0x5b, 0xce, 0x64, 0x46, 0x61, 0xa7, 0x4c, 0x51, + 0xf8, 0xd9, 0x30, 0x14, 0x02, 0x8a, 0x8a, 0xf4, 0x9b, 0x15, 0x40, 0xe9, + 0xb1, 0xeb, 0x78, 0xaf, 0xe2, 0xa9, 0x97, 0xd3, 0xe9, 0x4c, 0xf3, 0xee, + 0xbb, 0xee, 0xf4, 0xf5, 0x02, 0x6c, 0x81, 0x78, 0x7d, 0x9a, 0x20, 0xaa, + 0x19, 0x61, 0x17, 0x3b, 0x84, 0xf7, 0xef, 0xdd, 0xcb, 0x94, 0xc3, 0xf5, + 0xbf, 0xfc, 0xcb, 0x17, 0xe6, 0xff, 0xec, 0xcf, 0xfe, 0x3c, 0x6f, 0x66, + 0xdd, 0x0d, 0x62, 0x46, 0x26, 0xec, 0x36, 0xa9, 0x9f, 0x35, 0x2b, 0x5c, + 0xf6, 0xef, 0xbf, 0xfc, 0xd1, 0x1f, 0xed, 0xc1, 0x75, 0xe7, 0x21, 0x41, + 0x67, 0x70, 0xf8, 0xfe, 0x97, 0x7e, 0xfa, 0xd3, 0xc4, 0xff, 0xfc, 0xce, + 0x77, 0xae, 0xd3, 0x3f, 0x99, 0x69, 0x09, 0xd8, 0xd2, 0x17, 0x80, 0x28, + 0x2b, 0xbb, 0xf1, 0x2a, 0x95, 0x8a, 0x45, 0x42, 0x64, 0xbe, 0x7a, 0x10, + 0xa7, 0x90, 0x60, 0xcb, 0x80, 0x7f, 0x1c, 0xfc, 0x76, 0xfc, 0xde, 0x7b, + 0x15, 0xa7, 0x83, 0xe1, 0xda, 0x63, 0x5c, 0xb5, 0xe9, 0xf4, 0xe9, 0xd3, + 0x52, 0xcd, 0x63, 0x31, 0x26, 0x9d, 0x4a, 0xa8, 0xd7, 0xc7, 0x5c, 0x95, + 0x2a, 0xf6, 0xab, 0xd3, 0xb3, 0x4d, 0xb5, 0x9a, 0x4c, 0xab, 0xab, 0x55, + 0x47, 0x02, 0x2e, 0xde, 0xec, 0xe4, 0x8d, 0x8a, 0x3a, 0x98, 0xf2, 0x44, + 0xda, 0x29, 0x68, 0x4c, 0x39, 0x70, 0x0c, 0xc0, 0xc9, 0x13, 0x27, 0x44, + 0xfb, 0x8f, 0xde, 0x7d, 0x37, 0x4c, 0xd3, 0xb4, 0xac, 0x45, 0x73, 0xe8, + 0xe0, 0x41, 0xb5, 0x13, 0x74, 0xf8, 0xe0, 0xfd, 0xf7, 0xc5, 0x69, 0x73, + 0x7d, 0xb4, 0xab, 0x40, 0x65, 0x7f, 0xfb, 0xf2, 0xcb, 0x32, 0x8a, 0x14, + 0x42, 0xc1, 0x35, 0xe6, 0x2b, 0x94, 0x31, 0x0a, 0x34, 0x19, 0x40, 0xeb, + 0xc2, 0x4c, 0x03, 0x7d, 0xed, 0xdc, 0xdc, 0x5c, 0xc0, 0x41, 0xda, 0x6c, + 0x9b, 0xe0, 0xb2, 0xe4, 0x9c, 0x9f, 0x8c, 0x6b, 0x21, 0xe6, 0xd8, 0x11, + 0xcd, 0x19, 0x12, 0x61, 0x9a, 0x9e, 0x38, 0x7e, 0xff, 0x03, 0x5f, 0xdf, + 0xb1, 0x63, 0x67, 0x86, 0xfd, 0xf8, 0x4c, 0x4d, 0x67, 0xa0, 0x01, 0x29, + 0x4e, 0x5e, 0xdd, 0xa8, 0xaa, 0x15, 0x88, 0x0a, 0x61, 0x5a, 0x1f, 0x8e, + 0xbf, 0xf2, 0xca, 0xcb, 0x6f, 0x8d, 0x8f, 0x8d, 0xbd, 0x67, 0xa6, 0xec, + 0x25, 0x07, 0xb8, 0xa8, 0x65, 0xd3, 0x10, 0x5f, 0x54, 0xce, 0xda, 0xe4, + 0x16, 0x0f, 0x1c, 0xbb, 0x46, 0x58, 0x01, 0xd2, 0x70, 0x3f, 0xce, 0x9f, + 0xc3, 0xfe, 0xe9, 0x72, 0xb9, 0xfc, 0x10, 0x7b, 0x66, 0xb0, 0x9d, 0x80, + 0xc4, 0x51, 0x1b, 0xb9, 0x7e, 0x99, 0xc7, 0x96, 0x6e, 0x32, 0xeb, 0x89, + 0x27, 0x3f, 0xf3, 0xbb, 0x47, 0x8f, 0x1d, 0xdb, 0x9d, 0x48, 0xa5, 0x05, + 0x49, 0xbd, 0xff, 0xce, 0x5b, 0xea, 0xd1, 0x27, 0x3e, 0xa3, 0xf6, 0x4b, + 0xaf, 0x7e, 0x46, 0xbd, 0xf7, 0xd6, 0x9b, 0xea, 0x00, 0xf6, 0xc7, 0xae, + 0x5c, 0xc1, 0xb1, 0x83, 0xea, 0xcc, 0xc9, 0x93, 0xea, 0xd8, 0xf1, 0x7b, + 0x65, 0x9d, 0xb3, 0x0f, 0xdf, 0x7d, 0x5b, 0xbd, 0xfd, 0xce, 0xbb, 0x32, + 0x7f, 0x44, 0x4d, 0x8a, 0x4a, 0x2a, 0xaa, 0x8a, 0x51, 0x63, 0x96, 0x96, + 0x96, 0xd5, 0x63, 0x8f, 0x3f, 0xa6, 0xce, 0x9d, 0x3d, 0x23, 0xc8, 0xaf, + 0x54, 0xee, 0x55, 0x6f, 0xbf, 0xf9, 0x4b, 0x33, 0x59, 0xad, 0xaf, 0x7a, + 0xfb, 0x64, 0x74, 0xa3, 0xd4, 0x47, 0x06, 0x06, 0x07, 0x44, 0x28, 0x59, + 0x05, 0x23, 0xea, 0xe2, 0xec, 0x90, 0xdc, 0xb7, 0x6b, 0xdf, 0x2c, 0x2c, + 0x2e, 0x36, 0x5e, 0x79, 0xf5, 0x95, 0xff, 0x5e, 0xcc, 0xe7, 0x5f, 0xc5, + 0xb5, 0x17, 0x70, 0xee, 0x22, 0xae, 0x03, 0x59, 0xad, 0xac, 0x70, 0x11, + 0x68, 0xdc, 0x6b, 0x8d, 0x23, 0xf5, 0x32, 0x60, 0x00, 0x57, 0x4b, 0x4d, + 0xb2, 0x10, 0x8f, 0x83, 0x59, 0x9c, 0x9c, 0x65, 0x1d, 0x13, 0x50, 0xef, + 0xfe, 0xfe, 0x81, 0xc1, 0x7f, 0x8b, 0x8b, 0x1d, 0x20, 0x66, 0x4d, 0xa6, + 0x52, 0x0e, 0x47, 0x4b, 0xd2, 0x0c, 0x31, 0xd1, 0xc6, 0x4c, 0x2a, 0x73, + 0x1e, 0x34, 0x59, 0x4b, 0x4b, 0x8b, 0x2f, 0x97, 0x8b, 0xc5, 0xd7, 0x39, + 0xbb, 0x19, 0x89, 0x4f, 0x2e, 0x53, 0xa3, 0x88, 0xa8, 0xf8, 0x5d, 0xda, + 0x3b, 0xbe, 0xdb, 0x76, 0x46, 0xd6, 0x47, 0x4d, 0x3f, 0x12, 0xaf, 0x93, + 0x85, 0x29, 0x1c, 0xc2, 0x77, 0xb8, 0x16, 0x3b, 0xf8, 0xbe, 0xc0, 0x35, + 0x52, 0x82, 0x1d, 0x3b, 0x76, 0x4c, 0x40, 0xe2, 0x1b, 0xa6, 0x93, 0x40, + 0x16, 0xc7, 0x84, 0xed, 0x2f, 0xe1, 0xa2, 0x5f, 0x2a, 0x14, 0x4b, 0xc7, + 0xed, 0x22, 0x3c, 0x88, 0x34, 0x39, 0x69, 0x76, 0x34, 0xe7, 0x34, 0x4d, + 0x05, 0x6d, 0x35, 0xa3, 0x6d, 0x06, 0x53, 0x84, 0xc5, 0xac, 0x88, 0xe9, + 0x8c, 0xaf, 0x1e, 0x29, 0x23, 0x20, 0x84, 0x25, 0xcb, 0xa0, 0x35, 0x98, + 0x4f, 0xba, 0x33, 0xf0, 0xce, 0x56, 0xcb, 0xa4, 0x39, 0x87, 0xe6, 0xd1, + 0x5e, 0x2f, 0x3e, 0x3f, 0x35, 0xc1, 0x47, 0xd3, 0x2c, 0xc9, 0xc8, 0xdc, + 0x10, 0x9c, 0x67, 0x68, 0x13, 0x75, 0xa0, 0x2d, 0xf3, 0x6a, 0x14, 0xa0, + 0xf1, 0x2b, 0x23, 0x97, 0xfe, 0x47, 0xb1, 0x58, 0xfc, 0x15, 0x9e, 0x67, + 0x11, 0x9f, 0x2f, 0xe3, 0xfc, 0x15, 0x7c, 0x06, 0x65, 0xac, 0x72, 0xa5, + 0x55, 0x19, 0x9c, 0x97, 0xc2, 0x83, 0xb2, 0x4b, 0x5a, 0xb4, 0xc0, 0x2c, + 0x57, 0xce, 0xb5, 0xa2, 0x72, 0xe0, 0xd2, 0x3e, 0x30, 0xe5, 0x29, 0x7c, + 0xf1, 0x0e, 0x9e, 0x67, 0x97, 0xe5, 0x88, 0xd2, 0xde, 0xc6, 0x8e, 0x80, + 0x70, 0xb3, 0x30, 0x1d, 0x1f, 0x41, 0x6d, 0x2f, 0x82, 0x19, 0x2b, 0x74, + 0x38, 0x1c, 0x1e, 0x4b, 0xe2, 0xd3, 0x6c, 0x90, 0xf8, 0x06, 0xe6, 0x86, + 0x31, 0x78, 0xe8, 0x18, 0xa9, 0x73, 0x4c, 0x47, 0x5e, 0xc2, 0xb4, 0x81, + 0x04, 0x46, 0xe2, 0x59, 0x1e, 0x6d, 0x9a, 0xf3, 0x3c, 0x3b, 0x71, 0x14, + 0x4b, 0xa5, 0xa3, 0xa3, 0xa3, 0x77, 0x83, 0x61, 0x77, 0x71, 0x79, 0x5d, + 0x73, 0x1b, 0xf1, 0x61, 0xf1, 0xdd, 0x96, 0x51, 0x5f, 0x77, 0xf2, 0xa6, + 0x0d, 0x57, 0x50, 0xed, 0x58, 0x22, 0xab, 0xe3, 0xb8, 0xf1, 0xf5, 0x3a, + 0xb9, 0xc6, 0x53, 0xb8, 0xf1, 0x99, 0xb1, 0x11, 0x45, 0xd2, 0xee, 0x73, + 0xa5, 0xed, 0xd7, 0xe1, 0x1b, 0x2e, 0x52, 0xf2, 0x71, 0x9b, 0x2b, 0x94, + 0x7e, 0x12, 0x1f, 0x82, 0x55, 0x83, 0xb6, 0xc8, 0xbc, 0x35, 0x49, 0x68, + 0x81, 0x87, 0x93, 0xf8, 0x70, 0x49, 0x7c, 0x48, 0x26, 0x90, 0xd8, 0x7c, + 0x38, 0xf6, 0xb3, 0x0c, 0x70, 0xc6, 0x5c, 0xbc, 0x73, 0xca, 0x3f, 0xae, + 0x10, 0xe4, 0xeb, 0x74, 0x76, 0xb4, 0x06, 0x7b, 0xd3, 0x98, 0x9b, 0x05, + 0x48, 0xef, 0xb2, 0xd2, 0xeb, 0xe9, 0x8a, 0xb3, 0x21, 0xec, 0x62, 0x6a, + 0x83, 0xd2, 0xdc, 0x59, 0x8e, 0xb3, 0x9d, 0x76, 0xa6, 0x2d, 0x5e, 0xd9, + 0xae, 0x01, 0xfb, 0x99, 0xed, 0x20, 0x30, 0xad, 0x7c, 0x9e, 0x59, 0x44, + 0x88, 0xe6, 0x8d, 0x9a, 0xca, 0x22, 0x37, 0x27, 0x7c, 0x4e, 0x48, 0x63, + 0x6a, 0x10, 0x44, 0xeb, 0xd8, 0x9b, 0x59, 0x6a, 0xe3, 0x0c, 0x70, 0x2c, + 0xf1, 0xe2, 0xa8, 0xad, 0x73, 0x3f, 0x4e, 0xe8, 0x66, 0x6c, 0xbc, 0x8f, + 0xcd, 0x21, 0xc5, 0xbf, 0x63, 0x53, 0x37, 0xe6, 0x6f, 0x4b, 0x74, 0xa1, + 0x03, 0xb3, 0x0c, 0x5c, 0x4b, 0x98, 0x95, 0x5e, 0x7c, 0xb4, 0x80, 0x7b, + 0x9e, 0xc4, 0x35, 0x16, 0xb1, 0x2f, 0x92, 0x4f, 0x58, 0x0a, 0x2d, 0xae, + 0x53, 0xfa, 0xe1, 0xa3, 0xa4, 0x35, 0x82, 0x85, 0x5e, 0x2e, 0xb7, 0xca, + 0xe1, 0x4a, 0x3e, 0x38, 0x93, 0xe0, 0x0c, 0x59, 0x64, 0x02, 0x47, 0x78, + 0x70, 0x00, 0x3d, 0xa5, 0x9f, 0x0f, 0x8e, 0x97, 0x6f, 0x56, 0x09, 0x75, + 0x8d, 0xe4, 0x5b, 0xfb, 0x2e, 0xc4, 0x36, 0x84, 0x17, 0xbc, 0x8b, 0xeb, + 0xc8, 0x31, 0x63, 0x7a, 0x02, 0x96, 0xe3, 0xba, 0x48, 0x98, 0xd5, 0xa0, + 0x88, 0xf8, 0x54, 0x5d, 0x33, 0x51, 0x87, 0x30, 0xc0, 0x76, 0x93, 0xd9, + 0x65, 0x75, 0x69, 0x86, 0xcc, 0x7a, 0x8d, 0xb2, 0x6f, 0xca, 0xaa, 0x9e, + 0x19, 0xd3, 0x66, 0x87, 0xd7, 0x46, 0x2b, 0x16, 0x19, 0x07, 0xee, 0xc4, + 0xe7, 0x17, 0xb2, 0xfb, 0x37, 0x7b, 0x2c, 0x30, 0xce, 0xc2, 0x0c, 0x4a, + 0xb4, 0xb5, 0x13, 0xf2, 0xa3, 0x69, 0xf2, 0x3c, 0xd4, 0x7a, 0x09, 0x60, + 0x71, 0x8b, 0x88, 0xa1, 0x88, 0xee, 0xab, 0x8c, 0x84, 0x57, 0x71, 0xff, + 0x55, 0x32, 0x86, 0xd2, 0x8f, 0xfd, 0x06, 0xa4, 0x9f, 0x17, 0x6d, 0xfa, + 0xcf, 0x3c, 0xf3, 0x8c, 0x2c, 0x38, 0x4f, 0x8f, 0xcd, 0x87, 0xe7, 0xd0, + 0x19, 0x3a, 0x32, 0x93, 0x28, 0x6a, 0x32, 0x8f, 0x81, 0x57, 0x9d, 0x8c, + 0x51, 0xad, 0xc9, 0x3b, 0x64, 0xd2, 0xbe, 0x20, 0x88, 0x1a, 0x74, 0x9a, + 0x96, 0xf0, 0xd4, 0x08, 0x4a, 0x3f, 0xf1, 0x2e, 0xb4, 0x2a, 0xc0, 0x0f, + 0x4a, 0x92, 0xcf, 0xde, 0x3c, 0x8e, 0x85, 0xb6, 0x23, 0xc0, 0xcc, 0x8e, + 0x25, 0xe3, 0xce, 0xec, 0x31, 0x57, 0xaf, 0xc6, 0x27, 0xad, 0x1b, 0xec, + 0x1c, 0x63, 0x27, 0x81, 0x1d, 0x36, 0xc5, 0xd1, 0xe6, 0x64, 0x82, 0x99, + 0x46, 0x33, 0x61, 0x97, 0x57, 0x74, 0x75, 0x0e, 0xc5, 0x36, 0x17, 0x47, + 0x13, 0x4f, 0xc5, 0x99, 0x6c, 0xae, 0xbb, 0x2e, 0xb1, 0xed, 0x67, 0xdd, + 0xcc, 0x96, 0x9d, 0xc5, 0x2b, 0x26, 0x38, 0xa1, 0x69, 0x8f, 0xb1, 0x45, + 0xac, 0xc0, 0x64, 0x39, 0x1b, 0x06, 0x6a, 0x72, 0x39, 0x73, 0xfa, 0xc1, + 0x2a, 0x4d, 0x0d, 0x2c, 0x0b, 0xa3, 0xe1, 0x3a, 0x68, 0x42, 0x74, 0xd9, + 0x24, 0xad, 0x79, 0x79, 0xd2, 0x5e, 0xec, 0x2b, 0x76, 0x38, 0x7d, 0xb1, + 0x4b, 0x53, 0x64, 0x16, 0x20, 0xf6, 0x38, 0xd4, 0x9e, 0x88, 0x03, 0x5f, + 0xa0, 0x6f, 0xe0, 0x31, 0xee, 0x7b, 0xd6, 0x54, 0x50, 0x4a, 0xf9, 0xe3, + 0x64, 0x14, 0xb5, 0xc0, 0x38, 0x5d, 0xc2, 0xd9, 0x28, 0xe4, 0xa6, 0x3d, + 0x97, 0x99, 0xd6, 0x0d, 0x02, 0xb2, 0x4e, 0x38, 0x26, 0x61, 0x8e, 0x5d, + 0x76, 0xd0, 0x36, 0x2a, 0x75, 0xbe, 0x33, 0x8a, 0x37, 0x13, 0x09, 0xda, + 0x09, 0x64, 0x3d, 0xc3, 0x10, 0x71, 0x0b, 0x64, 0x8a, 0x9d, 0xe1, 0xc5, + 0xde, 0x9b, 0x65, 0x66, 0xe7, 0x72, 0x21, 0x76, 0xdd, 0xe2, 0x5b, 0xf9, + 0x3b, 0xbe, 0x1f, 0x33, 0xa7, 0xa1, 0x59, 0x23, 0x33, 0x4a, 0x2f, 0x50, + 0xf3, 0x19, 0x4f, 0x51, 0x70, 0x71, 0x9f, 0x75, 0xdc, 0x03, 0xdf, 0x65, + 0x7d, 0x79, 0x42, 0x7c, 0x58, 0x82, 0x26, 0x4d, 0x0f, 0x68, 0x1e, 0x50, + 0xf0, 0xa9, 0xbe, 0xd4, 0x00, 0x65, 0x0e, 0x10, 0x3f, 0x4b, 0xa5, 0x86, + 0x1b, 0xb9, 0x6a, 0x1c, 0x21, 0xc7, 0x35, 0x89, 0x8d, 0xb5, 0x23, 0x2a, + 0xad, 0x44, 0x9b, 0xe2, 0xb2, 0x24, 0xf1, 0xf8, 0x4e, 0x61, 0xa7, 0xdd, + 0x67, 0xa2, 0x89, 0x34, 0xe1, 0x06, 0xf3, 0x16, 0xea, 0x80, 0x26, 0x11, + 0x76, 0x3c, 0xa0, 0x13, 0x7f, 0x30, 0xce, 0xda, 0x65, 0x67, 0x15, 0x8f, + 0x99, 0x10, 0x71, 0xb2, 0x70, 0x5e, 0x32, 0xbe, 0x8a, 0x50, 0x94, 0x03, + 0x1d, 0xd8, 0x3c, 0x66, 0x99, 0x62, 0x16, 0xcc, 0x94, 0x36, 0xfb, 0xb8, + 0x29, 0x8b, 0x4f, 0xd4, 0x4d, 0x34, 0x13, 0x0f, 0x0e, 0xf9, 0xf7, 0xda, + 0x31, 0x01, 0xcd, 0x35, 0x83, 0x02, 0xd7, 0x73, 0xce, 0x55, 0xdd, 0x1b, + 0x1b, 0x9a, 0xb6, 0x9e, 0x10, 0x02, 0x4b, 0x2d, 0x60, 0x52, 0x53, 0x32, + 0xc9, 0xd6, 0x2c, 0x4b, 0x56, 0x19, 0x2f, 0x12, 0x9e, 0x80, 0xc4, 0x12, + 0x9f, 0x41, 0x98, 0x40, 0xf4, 0x18, 0x7a, 0x70, 0xac, 0x26, 0x70, 0x9f, + 0xd1, 0x2f, 0x1f, 0x12, 0x98, 0xdc, 0x9d, 0x98, 0x98, 0x90, 0x85, 0x9d, + 0x6d, 0x5f, 0xa3, 0x99, 0xd6, 0x2c, 0xb4, 0xd2, 0xc0, 0x7d, 0x4a, 0x3b, + 0xf0, 0x71, 0xc8, 0x0b, 0xe3, 0xc7, 0xa8, 0x09, 0x21, 0x08, 0xda, 0x86, + 0x7c, 0xe2, 0xfb, 0xf1, 0x55, 0xe5, 0x18, 0x34, 0xc5, 0x08, 0xe3, 0xc4, + 0x1b, 0xc5, 0xf8, 0xce, 0xc1, 0xe4, 0xdc, 0xe7, 0xe0, 0x36, 0x7e, 0x8f, + 0xa3, 0xfa, 0xd9, 0xe0, 0xc4, 0x4e, 0x3e, 0x32, 0x83, 0x4c, 0xb1, 0x2b, + 0x53, 0x70, 0x3f, 0xae, 0x41, 0x7c, 0xd9, 0x59, 0x6a, 0xbb, 0xbd, 0x36, + 0xfa, 0x6c, 0xb3, 0x73, 0x70, 0x3c, 0xa2, 0x01, 0xee, 0x29, 0x04, 0x6c, + 0xb7, 0x70, 0x3b, 0x60, 0x70, 0x4b, 0xcd, 0xb0, 0x96, 0xe0, 0xda, 0xb5, + 0x6b, 0x81, 0x31, 0x3b, 0x42, 0xfc, 0xe7, 0x9f, 0x7f, 0x5e, 0x33, 0x60, + 0x2b, 0xcb, 0xf7, 0x7d, 0x12, 0x29, 0x7d, 0xfe, 0xef, 0xb9, 0xe7, 0x9e, + 0x73, 0x5e, 0x7b, 0xed, 0x35, 0x17, 0x37, 0xe4, 0xc2, 0x37, 0x70, 0x44, + 0x8e, 0x98, 0x3d, 0x10, 0xd1, 0x2e, 0x1c, 0xcd, 0x21, 0xfb, 0xb4, 0xf5, + 0xb2, 0x71, 0xfe, 0x10, 0x22, 0x30, 0xe3, 0x70, 0x1d, 0xb3, 0x3c, 0xb9, + 0x68, 0x1f, 0xf6, 0xa9, 0xfa, 0x8c, 0x34, 0xeb, 0x26, 0xff, 0x5e, 0x07, + 0x93, 0xea, 0x20, 0x92, 0x38, 0x31, 0x9a, 0x02, 0x5c, 0xbf, 0x01, 0xed, + 0x0d, 0xce, 0x9f, 0x3f, 0x1f, 0x18, 0xd8, 0x18, 0xef, 0xcd, 0xfa, 0xb5, + 0x8f, 0xa3, 0x22, 0xed, 0xff, 0xbf, 0x00, 0x03, 0x00, 0x15, 0x76, 0xbf, + 0x05, 0x98, 0xf3, 0xf7, 0xe9, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, + 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __device_fat32_png_len = 12713; +unsigned char __device_generic_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe2, 0x98, 0x77, 0x38, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x31, 0x4b, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xdc, 0x7d, 0x69, 0x8c, + 0x24, 0xd7, 0x7d, 0xdf, 0xab, 0xa3, 0xef, 0x73, 0xce, 0xdd, 0x9d, 0x9d, + 0xbd, 0x77, 0x79, 0xec, 0x72, 0x79, 0xdf, 0x12, 0x4d, 0xc6, 0x8a, 0xad, + 0x40, 0x12, 0x9c, 0x28, 0x02, 0x11, 0x20, 0x46, 0x84, 0xe4, 0x4b, 0x80, + 0x7c, 0x09, 0xa2, 0x0f, 0x41, 0x20, 0x04, 0x01, 0x23, 0x40, 0x88, 0x83, + 0xe4, 0x6b, 0x64, 0x29, 0x46, 0x22, 0x18, 0x81, 0x60, 0xc3, 0x22, 0x4c, + 0xd9, 0xa2, 0x22, 0x88, 0x91, 0x69, 0x92, 0xa2, 0x25, 0x4a, 0xbc, 0x8f, + 0x3d, 0xb9, 0xd7, 0xec, 0xce, 0xcc, 0x1e, 0x73, 0x9f, 0x3d, 0xd3, 0x57, + 0x55, 0x7e, 0xbf, 0xff, 0x7b, 0xaf, 0xba, 0xba, 0xa7, 0xe7, 0xd8, 0xdd, + 0xa1, 0x2c, 0xaa, 0x97, 0xc5, 0xae, 0xa9, 0xae, 0xae, 0xae, 0xfa, 0x9f, + 0xbf, 0xff, 0xf1, 0xde, 0x73, 0x54, 0xf7, 0x97, 0x63, 0x77, 0x9e, 0x7b, + 0xee, 0x39, 0xe7, 0xd4, 0xa9, 0x53, 0xce, 0xe4, 0xe4, 0xa4, 0x33, 0x31, + 0x31, 0xe1, 0xd6, 0x6a, 0x35, 0x67, 0x60, 0x60, 0xc0, 0x5d, 0x5e, 0x5e, + 0x76, 0x7b, 0x7b, 0x7b, 0x9d, 0x95, 0x95, 0x15, 0xb7, 0x5a, 0xad, 0xba, + 0xf9, 0x7c, 0xde, 0x69, 0x36, 0x9b, 0x4e, 0x36, 0x9b, 0x95, 0xef, 0x72, + 0x1f, 0xc7, 0xa2, 0x0b, 0xf2, 0x6f, 0xf5, 0x29, 0x7a, 0x79, 0x9e, 0x17, + 0x76, 0x1e, 0xc3, 0xb3, 0x86, 0xbe, 0xef, 0x87, 0x78, 0x76, 0x79, 0x5f, + 0x5c, 0x5c, 0x0c, 0xd3, 0xe9, 0x74, 0x90, 0xcb, 0xe5, 0x82, 0xe9, 0xe9, + 0xe9, 0x10, 0x5b, 0x80, 0xe7, 0x0f, 0x40, 0xaf, 0xf0, 0x99, 0x67, 0x9e, + 0x09, 0x41, 0xa7, 0xf0, 0xf9, 0xe7, 0x9f, 0xe7, 0x75, 0xec, 0xb5, 0xc2, + 0x75, 0x09, 0xdd, 0xed, 0xb8, 0x25, 0x3e, 0x2e, 0xe2, 0x1e, 0x3d, 0x7a, + 0xd4, 0x59, 0x58, 0x58, 0xf0, 0x40, 0x74, 0xb7, 0x50, 0x28, 0x90, 0x01, + 0x5e, 0x32, 0x99, 0xf4, 0x52, 0xa9, 0x14, 0x99, 0xe2, 0x62, 0xdf, 0x4d, + 0x24, 0x12, 0x6e, 0x10, 0x04, 0x0e, 0xf6, 0x1d, 0xbe, 0xf3, 0x1a, 0xb8, + 0x41, 0x55, 0xa9, 0x54, 0x1c, 0xbe, 0xdf, 0xca, 0x6b, 0x75, 0x75, 0xf5, + 0xb6, 0x89, 0x79, 0xab, 0xbf, 0xcd, 0x97, 0xeb, 0xba, 0xa1, 0x65, 0x08, + 0x18, 0xa0, 0x1a, 0x8d, 0x46, 0xc0, 0xfd, 0x7a, 0xbd, 0x1e, 0xe0, 0x39, + 0x03, 0x3c, 0x7b, 0x80, 0x63, 0x4d, 0x7c, 0x16, 0x80, 0x2e, 0x4d, 0x30, + 0x25, 0x98, 0x9f, 0x9f, 0x6f, 0x96, 0x4a, 0x25, 0xfe, 0xbd, 0x29, 0x13, + 0xfc, 0x0d, 0xa4, 0x3f, 0x22, 0xfe, 0xe1, 0xc3, 0x87, 0x5d, 0x5c, 0xd0, + 0xe5, 0x7d, 0xe0, 0x86, 0x7c, 0xfc, 0x38, 0x09, 0xef, 0x73, 0x1f, 0x84, + 0xe6, 0x3e, 0x8f, 0x7b, 0x8e, 0xe3, 0xf0, 0x1c, 0x61, 0x42, 0x18, 0x86, + 0xc2, 0x04, 0x30, 0x4a, 0x81, 0x31, 0x0e, 0x6e, 0xf2, 0x96, 0x08, 0x00, + 0x49, 0x53, 0x78, 0xc8, 0xdb, 0x62, 0xc0, 0x56, 0x7e, 0x1b, 0xf7, 0xd8, + 0x95, 0xf8, 0xf6, 0xb7, 0xa1, 0xc1, 0x21, 0x9e, 0x27, 0x24, 0xd1, 0xb1, + 0x1f, 0xe0, 0x33, 0x12, 0xbf, 0xc9, 0xcb, 0x83, 0xf8, 0x4d, 0x48, 0x7e, + 0x03, 0x1a, 0x60, 0xf7, 0x1d, 0xec, 0x0b, 0x53, 0xf0, 0x79, 0x00, 0x41, + 0x0e, 0xbf, 0xf1, 0x8d, 0x6f, 0x38, 0x86, 0xf8, 0x4e, 0x9c, 0x09, 0xce, + 0x7a, 0xc4, 0x7f, 0xf6, 0xd9, 0x67, 0xc5, 0xec, 0x8c, 0x8d, 0x8d, 0x79, + 0x34, 0x39, 0x24, 0x36, 0x34, 0xc0, 0x07, 0x91, 0x13, 0xdc, 0x32, 0x99, + 0x4c, 0x02, 0x44, 0xe6, 0x5d, 0x27, 0x70, 0x53, 0x64, 0x24, 0x19, 0x42, + 0x46, 0xc8, 0x8b, 0x0c, 0x80, 0xa4, 0xc8, 0xf5, 0xb8, 0xbf, 0x9d, 0xe6, + 0x61, 0x2b, 0x04, 0x25, 0xe3, 0x6e, 0xf6, 0xf3, 0x6e, 0xc7, 0x48, 0x78, + 0x3e, 0x0e, 0x9e, 0x39, 0x34, 0x4c, 0x10, 0xc2, 0xe3, 0x99, 0x9a, 0x78, + 0x6f, 0xe0, 0x78, 0x1d, 0x26, 0xb8, 0xce, 0x77, 0x08, 0x5b, 0x1d, 0x66, + 0xb7, 0x3e, 0x35, 0x35, 0xd5, 0xc0, 0x7b, 0x03, 0xf4, 0x6a, 0x8e, 0x8c, + 0x8c, 0x34, 0x41, 0xcb, 0x00, 0x16, 0x84, 0x4c, 0x58, 0xa3, 0x05, 0x5d, + 0xef, 0x12, 0x1c, 0x53, 0xaf, 0xbd, 0xf6, 0x9a, 0xd8, 0x7c, 0x98, 0x00, + 0x17, 0x2a, 0x05, 0x5a, 0x7a, 0x42, 0x7c, 0x48, 0x7b, 0x0a, 0xf7, 0x90, + 0xc4, 0x0d, 0xa4, 0x40, 0xf8, 0x34, 0x6e, 0x2e, 0x45, 0x46, 0xe0, 0xf3, + 0x84, 0xb9, 0x9e, 0x47, 0xe1, 0xc1, 0xdf, 0xc2, 0x84, 0x6e, 0xc4, 0xbf, + 0x59, 0x86, 0xe0, 0xc1, 0x6f, 0x9a, 0x49, 0xd0, 0xd2, 0xb8, 0x3d, 0xef, + 0xb4, 0xef, 0xd1, 0x35, 0x3b, 0x3e, 0x0b, 0xbb, 0x30, 0x45, 0x88, 0x4f, + 0xe9, 0xa7, 0xd4, 0xe3, 0xd5, 0x84, 0xb6, 0xe0, 0xeb, 0xcd, 0x06, 0x48, + 0x51, 0x23, 0x3f, 0x20, 0x10, 0x55, 0x3c, 0xd3, 0x6a, 0xb1, 0x58, 0xf4, + 0xf0, 0xbb, 0x4e, 0x7f, 0x7f, 0xbf, 0x9a, 0x99, 0x99, 0x09, 0xfb, 0xfa, + 0xfa, 0xc4, 0x57, 0xc0, 0x8a, 0x28, 0x32, 0x21, 0xf6, 0x1b, 0x91, 0x16, + 0x38, 0xeb, 0x49, 0x3f, 0x4d, 0xcf, 0xfe, 0xfd, 0xfb, 0x3d, 0x5e, 0x14, + 0x9c, 0x4c, 0xe0, 0x3d, 0x49, 0xe2, 0xe3, 0x07, 0xd2, 0xb8, 0x69, 0x1a, + 0xd5, 0x2c, 0x89, 0x8f, 0x9b, 0x11, 0x26, 0xe0, 0x26, 0x93, 0xd4, 0x06, + 0x72, 0x0a, 0xfb, 0x1e, 0x6e, 0xc8, 0x35, 0x26, 0xa9, 0x93, 0xe0, 0xce, + 0x76, 0x10, 0x1e, 0x0f, 0xbe, 0x91, 0xdd, 0xee, 0xe6, 0x54, 0xd7, 0x7c, + 0xce, 0x63, 0xf1, 0x7d, 0xb9, 0x39, 0x10, 0x3b, 0xfe, 0x7d, 0x12, 0x9e, + 0x1b, 0x5e, 0x62, 0x76, 0x48, 0x79, 0xfc, 0x5d, 0xe7, 0x0b, 0xc7, 0xaa, + 0x74, 0x53, 0xd0, 0x84, 0x2a, 0x36, 0x3a, 0xab, 0x0a, 0xe8, 0xb1, 0x0a, + 0x81, 0x25, 0x43, 0x6a, 0x60, 0x40, 0xed, 0xf2, 0xe5, 0xcb, 0x0d, 0xd0, + 0xae, 0x39, 0x38, 0x38, 0x18, 0x3c, 0xfd, 0xf4, 0xd3, 0x41, 0xa7, 0x16, + 0xf8, 0xeb, 0x49, 0x3f, 0x9d, 0xee, 0xec, 0xec, 0xac, 0x0b, 0x07, 0xea, + 0xe1, 0x42, 0x3e, 0xb8, 0x4c, 0xb6, 0xa7, 0x48, 0x7c, 0x5c, 0x3c, 0x87, + 0x9b, 0x29, 0x40, 0x13, 0xef, 0xc9, 0x64, 0x72, 0x25, 0xfc, 0x68, 0x02, + 0xb2, 0x9e, 0x74, 0x95, 0x83, 0xeb, 0x39, 0x7c, 0x12, 0xe3, 0x0f, 0xa8, + 0x01, 0xca, 0xe1, 0x03, 0x41, 0x70, 0x6e, 0x4a, 0xea, 0xf1, 0xcc, 0x20, + 0x8e, 0xbf, 0x2e, 0xd1, 0x3b, 0x84, 0x7a, 0x53, 0x66, 0xb8, 0xae, 0x63, + 0x08, 0xec, 0xb6, 0x7d, 0x66, 0x8f, 0xe3, 0x2f, 0xa3, 0x9d, 0x64, 0x7c, + 0xa8, 0xa8, 0xc0, 0xbc, 0x07, 0x1c, 0x37, 0x0c, 0x09, 0x03, 0x92, 0x1e, + 0x8a, 0xde, 0x0c, 0xc2, 0x5a, 0x03, 0xa6, 0x00, 0x2a, 0xe6, 0x56, 0x97, + 0x16, 0x16, 0x1a, 0x30, 0x3d, 0xe7, 0x61, 0x92, 0x47, 0x29, 0xfd, 0xd4, + 0x3c, 0x38, 0x7d, 0x71, 0xd2, 0x10, 0xdc, 0x00, 0xc4, 0x0f, 0x41, 0xc3, + 0xf0, 0xd5, 0x57, 0x5f, 0xa5, 0x43, 0x76, 0x36, 0x33, 0x41, 0xe2, 0x78, + 0x71, 0xb2, 0x03, 0xe9, 0x77, 0x7b, 0x7a, 0x7a, 0x68, 0x4a, 0x3c, 0x38, + 0x13, 0x68, 0x92, 0x9f, 0x24, 0x03, 0x70, 0x33, 0xc4, 0x96, 0xd9, 0xb1, + 0xb1, 0xab, 0xff, 0xfc, 0xd8, 0xbd, 0xc7, 0xff, 0x65, 0x7f, 0xff, 0x40, + 0x48, 0xeb, 0x94, 0x2f, 0x14, 0x70, 0xf3, 0x01, 0x25, 0x48, 0xfd, 0x36, + 0xbf, 0x42, 0x0a, 0x86, 0xe7, 0xaa, 0xd5, 0x95, 0x55, 0x35, 0xbf, 0x30, + 0x1f, 0x16, 0xcb, 0x65, 0xe7, 0xec, 0xa9, 0x93, 0x63, 0xa0, 0xd1, 0xbf, + 0x83, 0x1c, 0xde, 0xc0, 0xf3, 0x53, 0x5d, 0x9a, 0xa0, 0x93, 0x98, 0x2a, + 0x22, 0x22, 0x08, 0x2f, 0x89, 0x22, 0x3e, 0x35, 0x46, 0x7c, 0xd9, 0xf7, + 0xd7, 0x73, 0xc6, 0xfc, 0x12, 0xe1, 0x25, 0x1d, 0x2b, 0x6c, 0x3d, 0xed, + 0x7b, 0x12, 0x4c, 0xa0, 0xa9, 0x49, 0xe1, 0x78, 0x8f, 0x97, 0xf0, 0x9e, + 0x4c, 0x24, 0x92, 0x6a, 0x66, 0x6a, 0x12, 0x12, 0x42, 0xaa, 0x87, 0xaa, + 0xd4, 0xd3, 0xab, 0x6a, 0x80, 0x8d, 0x0e, 0x25, 0x26, 0x0c, 0x3f, 0x45, + 0x64, 0x75, 0xb6, 0x6c, 0x18, 0x89, 0x96, 0x6a, 0xd5, 0xaa, 0x9a, 0xbc, + 0x7e, 0x15, 0x4f, 0x0c, 0xd3, 0xea, 0xfa, 0x88, 0x05, 0x32, 0xc3, 0xe3, + 0x63, 0x57, 0x1e, 0x1e, 0x1a, 0x1a, 0x7a, 0x85, 0x30, 0x95, 0x26, 0xca, + 0xa0, 0xa3, 0x06, 0x1d, 0x36, 0xa0, 0x7b, 0x93, 0xf1, 0x82, 0xb5, 0x30, + 0x30, 0x43, 0xeb, 0xc3, 0x50, 0x72, 0x09, 0xb0, 0xd3, 0x01, 0xec, 0x24, + 0x94, 0xa2, 0x1d, 0xa7, 0x39, 0xf1, 0x61, 0xfe, 0x69, 0x82, 0x32, 0x60, + 0x42, 0x06, 0x17, 0x1e, 0xf2, 0x3d, 0xaf, 0x8f, 0x26, 0xa1, 0x51, 0xaf, + 0xbb, 0xc3, 0x43, 0xbb, 0xd4, 0xf4, 0xec, 0x8c, 0xea, 0xeb, 0xed, 0x53, + 0xbb, 0xf6, 0xee, 0x81, 0x84, 0xf8, 0xa2, 0xde, 0x9f, 0x16, 0x5d, 0x68, + 0xc0, 0xd7, 0x04, 0x1b, 0x39, 0x7a, 0xc8, 0x92, 0xeb, 0xbb, 0x6a, 0xa5, + 0x52, 0x51, 0xa0, 0x89, 0xf8, 0x26, 0x98, 0x54, 0x55, 0x2e, 0x95, 0xd4, + 0xf5, 0xc9, 0x29, 0xc0, 0xc0, 0x84, 0x02, 0x14, 0xda, 0x07, 0x63, 0x91, + 0xa5, 0xff, 0xc7, 0x7b, 0x12, 0x8c, 0xa8, 0x81, 0x59, 0x35, 0x40, 0x52, + 0x09, 0x54, 0x29, 0xd0, 0xb4, 0x2c, 0x9d, 0x66, 0xa8, 0x8d, 0x01, 0x06, + 0x7a, 0xda, 0xa8, 0xcf, 0xe5, 0x97, 0xf1, 0x63, 0x82, 0xfd, 0x89, 0x80, + 0x78, 0x61, 0x10, 0x3d, 0x0d, 0xae, 0xf6, 0xc3, 0x23, 0x67, 0x19, 0xe0, + 0x64, 0xb3, 0x19, 0x15, 0x00, 0x00, 0x95, 0x7b, 0x7a, 0x54, 0x2a, 0xe1, + 0xa9, 0x1a, 0x6c, 0xe0, 0xf8, 0xc8, 0x65, 0x55, 0x59, 0x5e, 0x32, 0x4e, + 0xd4, 0x59, 0xff, 0xa9, 0x54, 0xa7, 0x49, 0x74, 0x3a, 0x8e, 0xaf, 0x77, + 0xfe, 0x6d, 0x1b, 0x92, 0xe8, 0xb7, 0x28, 0x28, 0xc5, 0x62, 0x09, 0xcf, + 0x91, 0x25, 0x58, 0xd8, 0xf0, 0x1b, 0xb0, 0xf3, 0x6a, 0x7e, 0x76, 0x5a, + 0x15, 0x21, 0x68, 0x43, 0x7b, 0xf6, 0xab, 0x65, 0x3c, 0x63, 0x0f, 0xf6, + 0xa7, 0x26, 0x27, 0xc0, 0x20, 0x7f, 0x07, 0x4f, 0x21, 0x1a, 0xa2, 0xb5, + 0x80, 0x0f, 0xf0, 0xb1, 0xef, 0xe3, 0x3b, 0x2e, 0x82, 0x33, 0xc7, 0x9a, + 0xa1, 0x35, 0x28, 0xab, 0xf3, 0x80, 0xb1, 0xff, 0x82, 0xe1, 0x89, 0x64, + 0x18, 0xed, 0x52, 0x0b, 0xa8, 0x7d, 0xf8, 0x3b, 0x49, 0xc4, 0x83, 0x8b, + 0xf5, 0xe5, 0xf2, 0xc5, 0xb4, 0xe7, 0x7a, 0x2a, 0x5f, 0x2c, 0x80, 0xf8, + 0xbd, 0x6a, 0x61, 0x6e, 0x46, 0xd5, 0x81, 0xcf, 0x83, 0xca, 0xaa, 0x7a, + 0xed, 0x95, 0x97, 0xd5, 0xe2, 0xc2, 0xbc, 0xda, 0x7f, 0xe0, 0x80, 0xaa, + 0xc6, 0x4c, 0x12, 0x1d, 0x20, 0xfd, 0x84, 0x55, 0x79, 0xd7, 0xf8, 0x0b, + 0x12, 0x81, 0x0f, 0x1f, 0xca, 0x39, 0x8e, 0x0a, 0xf8, 0xae, 0xd1, 0x93, + 0x21, 0x8a, 0xa3, 0xe4, 0xd4, 0xad, 0xf8, 0x17, 0x9e, 0xbf, 0xc1, 0x79, + 0xfa, 0x32, 0x8e, 0x38, 0x74, 0x04, 0x30, 0xea, 0xca, 0xe5, 0xcb, 0xaa, + 0x58, 0x2a, 0xab, 0x2f, 0xfe, 0xc1, 0x3f, 0x61, 0xc4, 0xde, 0x15, 0x41, + 0xd9, 0xeb, 0x32, 0xa8, 0xa4, 0x63, 0x6e, 0xd4, 0xea, 0x2a, 0x07, 0xa6, + 0xd1, 0x17, 0xc0, 0xc6, 0x8b, 0x59, 0xc2, 0xf7, 0xfa, 0x08, 0x4e, 0xb0, + 0x5f, 0x01, 0xf1, 0x13, 0x10, 0x4e, 0x09, 0x58, 0x21, 0xfd, 0x1e, 0xe8, + 0xe5, 0xee, 0xd8, 0xb1, 0xc3, 0x81, 0x43, 0x56, 0x9d, 0x7e, 0xc0, 0xef, + 0x06, 0x0f, 0xc9, 0x2d, 0x98, 0x1a, 0xe6, 0x75, 0xc4, 0x07, 0xe0, 0x66, + 0x45, 0x03, 0xc8, 0x59, 0xfc, 0x4d, 0xf5, 0xea, 0x4b, 0xa5, 0x53, 0x60, + 0x92, 0x36, 0x33, 0x54, 0x5f, 0x44, 0x29, 0xc0, 0xcc, 0x09, 0x5a, 0x45, + 0x60, 0xf0, 0x9a, 0x7a, 0xec, 0xd1, 0x47, 0xd5, 0xd5, 0x6b, 0xd7, 0x84, + 0x80, 0x88, 0xd5, 0xe5, 0xa1, 0xeb, 0xf5, 0xaa, 0x02, 0x43, 0x45, 0x7d, + 0x79, 0x9c, 0x51, 0xa6, 0x3e, 0x5e, 0x8f, 0xec, 0x2b, 0xf7, 0x53, 0xc9, + 0x14, 0xcc, 0x42, 0x43, 0xce, 0x85, 0xa9, 0x93, 0xbb, 0x25, 0xc1, 0xa8, + 0x51, 0x9b, 0x39, 0x79, 0xde, 0x13, 0xd0, 0xca, 0x7a, 0xf9, 0x1d, 0xb9, + 0x3e, 0x7f, 0x9b, 0xfb, 0x7c, 0x7f, 0xfc, 0xf1, 0xc7, 0xd5, 0xa9, 0xd3, + 0x67, 0xe4, 0x39, 0x3c, 0x9a, 0xcd, 0x75, 0xae, 0x1f, 0xca, 0xf7, 0x7d, + 0xe5, 0x21, 0x58, 0x13, 0xa1, 0x30, 0xda, 0x42, 0x21, 0x4a, 0xe0, 0x7e, + 0xf1, 0xec, 0x45, 0xdc, 0x5f, 0x1e, 0xf4, 0x99, 0x33, 0x96, 0xc2, 0x27, + 0x80, 0xa1, 0x1f, 0x2d, 0x14, 0x0a, 0x44, 0x47, 0xf4, 0xa9, 0x4e, 0xa7, + 0x1f, 0xf0, 0x3b, 0xed, 0x3f, 0x19, 0x41, 0x6e, 0xd1, 0xfe, 0x03, 0x46, + 0x49, 0xde, 0x07, 0xcc, 0xf0, 0xcc, 0xb9, 0x54, 0x2b, 0x5e, 0xbc, 0x9c, + 0x82, 0xf9, 0xa1, 0x64, 0xf3, 0xa6, 0x1c, 0x73, 0xe3, 0x3c, 0xad, 0x52, + 0x05, 0x01, 0x53, 0x29, 0xb5, 0x0c, 0x69, 0x1a, 0x1d, 0x1d, 0x55, 0x8f, + 0x3c, 0xf2, 0x88, 0xa8, 0x2e, 0x89, 0xc7, 0xe3, 0xd7, 0xc0, 0x94, 0x63, + 0xc7, 0x8e, 0xa9, 0xb7, 0xde, 0x7a, 0x4b, 0xa4, 0x0d, 0x70, 0x57, 0x5d, + 0xbc, 0x78, 0x51, 0x88, 0x0f, 0xd4, 0xa5, 0x20, 0x31, 0xea, 0xa3, 0x8f, + 0x3e, 0x52, 0x4f, 0x3e, 0xf9, 0xa4, 0x44, 0xa6, 0xcc, 0xbf, 0xe4, 0x72, + 0x39, 0x85, 0x88, 0x5c, 0xbd, 0xf1, 0xc6, 0x1b, 0x72, 0x5e, 0x37, 0x53, + 0xc1, 0xeb, 0x53, 0xc2, 0xbe, 0xf8, 0xc5, 0x2f, 0xaa, 0xef, 0x7d, 0xef, + 0x7b, 0xf2, 0x5b, 0x9d, 0xe7, 0x91, 0xe1, 0xf0, 0x6d, 0xea, 0x0b, 0x5f, + 0xf8, 0x82, 0x7a, 0xe1, 0x85, 0x17, 0xe4, 0x73, 0xd8, 0xe4, 0xe8, 0x9a, + 0x7c, 0x86, 0x8d, 0x18, 0xcc, 0x8f, 0x20, 0x8f, 0x22, 0x40, 0x80, 0x87, + 0x8a, 0x16, 0x80, 0x19, 0x18, 0x7e, 0xdf, 0x4b, 0x26, 0x0a, 0x20, 0x72, + 0x1e, 0xf7, 0x4c, 0x5f, 0xe9, 0x73, 0x63, 0x6e, 0xcc, 0xe6, 0xca, 0xf0, + 0x72, 0xac, 0x1f, 0x40, 0x3c, 0xd0, 0x66, 0x82, 0xda, 0x7e, 0x91, 0x04, + 0x21, 0xb7, 0x98, 0xc7, 0xc1, 0x83, 0x33, 0xc3, 0x29, 0x66, 0xc8, 0xd3, + 0x91, 0x8a, 0x6f, 0xcc, 0x50, 0x0f, 0x1f, 0x90, 0x21, 0xba, 0xe7, 0x7b, + 0x72, 0xcf, 0x72, 0x73, 0x60, 0x46, 0xa3, 0x5e, 0x91, 0x07, 0x4a, 0x62, + 0x3b, 0x7c, 0xf8, 0x88, 0xa8, 0x28, 0x13, 0x6a, 0xcc, 0x8c, 0xc2, 0x16, + 0x0a, 0x91, 0xc0, 0x58, 0x21, 0x2c, 0xed, 0x2e, 0x09, 0xc2, 0xdf, 0xa4, + 0x84, 0x23, 0xee, 0x50, 0x8c, 0x22, 0xc9, 0x30, 0x84, 0xf3, 0x11, 0x43, + 0xc8, 0x08, 0x7e, 0x97, 0xe7, 0x6e, 0xc4, 0x00, 0x7e, 0xbe, 0x7b, 0xf7, + 0x6e, 0xf9, 0x0d, 0xfa, 0x27, 0x7b, 0x1e, 0x19, 0x4d, 0xf3, 0xf1, 0xcd, + 0x6f, 0x7e, 0x53, 0x7d, 0xf9, 0xcb, 0x5f, 0x96, 0xcf, 0xa8, 0x09, 0x2f, + 0xbe, 0xf8, 0xa2, 0xdc, 0x03, 0xb5, 0x8c, 0xbf, 0xbf, 0x11, 0x03, 0xac, + 0xe9, 0x12, 0x0d, 0xc0, 0xb9, 0x94, 0x7c, 0x9a, 0x20, 0x0a, 0x1d, 0xef, + 0x2f, 0xe9, 0x27, 0xb2, 0x20, 0x70, 0xd1, 0xd7, 0xf9, 0x0c, 0xbe, 0x31, + 0x2a, 0xf6, 0xc8, 0x04, 0xe6, 0xc2, 0x96, 0x96, 0x96, 0xa2, 0x0b, 0x13, + 0xea, 0xaf, 0x71, 0xc2, 0x26, 0x00, 0x53, 0x46, 0x4d, 0x98, 0x4a, 0x26, + 0x67, 0x6d, 0x72, 0xcd, 0xb5, 0x17, 0xc5, 0x3e, 0x83, 0xb1, 0x12, 0xcd, + 0x83, 0x2b, 0x1a, 0xe0, 0xc9, 0xcd, 0xf1, 0x86, 0xac, 0x8a, 0x67, 0xf0, + 0x80, 0x60, 0x3f, 0x08, 0x3d, 0xaf, 0x00, 0xc1, 0xe4, 0xc6, 0x4f, 0x9c, + 0x38, 0xa1, 0xe6, 0xe6, 0xe6, 0x84, 0x40, 0x96, 0x58, 0x3c, 0xf7, 0x83, + 0x0f, 0x3e, 0x10, 0x22, 0x30, 0xbf, 0x73, 0xe3, 0xc6, 0x0d, 0x21, 0xce, + 0xde, 0xbd, 0x7b, 0x23, 0x26, 0xe1, 0xc6, 0x85, 0x79, 0x76, 0x5b, 0x2f, + 0x02, 0xe6, 0x35, 0xc9, 0x1c, 0xfe, 0x16, 0x85, 0x83, 0xf7, 0x67, 0x19, + 0xc0, 0x63, 0xfc, 0x8d, 0xcf, 0x7f, 0xfe, 0xf3, 0x10, 0x8a, 0xc3, 0x72, + 0x0c, 0x91, 0xa9, 0xdc, 0xaf, 0x10, 0xcf, 0x68, 0xcb, 0xba, 0xf6, 0xdf, + 0x22, 0x55, 0x6a, 0x39, 0xbe, 0x53, 0xab, 0x35, 0xc4, 0x9f, 0x51, 0x1b, + 0xf4, 0x35, 0x3c, 0xfe, 0x66, 0x72, 0xa5, 0xb2, 0x5c, 0x20, 0x9d, 0x98, + 0xa0, 0x24, 0x49, 0x28, 0xbc, 0x96, 0x77, 0x4c, 0xc7, 0x1b, 0x47, 0xac, + 0xba, 0xc5, 0x01, 0xdd, 0x42, 0x7d, 0xc9, 0xe3, 0x18, 0x26, 0x78, 0x06, + 0x8e, 0x92, 0x01, 0x19, 0x48, 0x7a, 0x3e, 0x99, 0x14, 0x0d, 0x70, 0xa8, + 0x86, 0xe4, 0xa5, 0xa3, 0xd5, 0x91, 0xb0, 0x54, 0x24, 0x98, 0xaf, 0x7b, + 0xee, 0xb9, 0x47, 0x1d, 0x39, 0x72, 0x24, 0xca, 0xcd, 0xf0, 0x01, 0x1f, + 0x7c, 0xf0, 0x41, 0xd9, 0xa7, 0x39, 0xa0, 0xb4, 0x53, 0xc2, 0x61, 0xf2, + 0x84, 0x80, 0xe3, 0xe3, 0xe3, 0x6a, 0x62, 0x62, 0x42, 0x1d, 0x3a, 0x74, + 0x28, 0x62, 0x02, 0x09, 0xc3, 0x77, 0x7e, 0x4e, 0xad, 0xe0, 0x77, 0xbb, + 0x49, 0x29, 0x3f, 0x27, 0xd1, 0xad, 0xa9, 0x8b, 0x9b, 0x20, 0x4f, 0x88, + 0x56, 0x53, 0xdf, 0xfd, 0xee, 0x77, 0xd5, 0xd7, 0xbe, 0xf6, 0x35, 0xb9, + 0x0f, 0xfe, 0x36, 0xcf, 0xe7, 0x67, 0x29, 0xc0, 0x48, 0x32, 0xd6, 0xdb, + 0x30, 0xbc, 0xd6, 0x20, 0x46, 0x34, 0xa0, 0xba, 0xaa, 0x5c, 0x03, 0x22, + 0xc4, 0x14, 0x41, 0xf3, 0x99, 0x1d, 0x06, 0xf0, 0x28, 0x19, 0x41, 0xa5, + 0x09, 0xc2, 0xa9, 0x3e, 0xe1, 0xa7, 0x08, 0xb0, 0x4d, 0xcf, 0x77, 0x5a, + 0x1c, 0x3f, 0xae, 0x16, 0x71, 0x04, 0x44, 0x0d, 0x30, 0x76, 0xcb, 0xb5, + 0x9a, 0x40, 0x0d, 0x00, 0x52, 0xc8, 0xc2, 0xbc, 0xe4, 0xc4, 0xee, 0xf1, + 0xc7, 0xc5, 0x3d, 0x48, 0xe8, 0x2e, 0xbe, 0x80, 0x92, 0x4c, 0x13, 0x40, + 0x89, 0x1b, 0x19, 0x19, 0x11, 0x9b, 0x4f, 0x49, 0xe6, 0x03, 0xf2, 0x18, + 0xfd, 0x02, 0x1f, 0xa2, 0x02, 0x93, 0x40, 0xc8, 0x4b, 0x22, 0x9c, 0x3d, + 0x7b, 0x36, 0xca, 0xcb, 0xd0, 0x54, 0xbc, 0xfe, 0xfa, 0xeb, 0x72, 0x2e, + 0x19, 0x49, 0x0d, 0xb0, 0x0c, 0xe5, 0xe7, 0x76, 0x3f, 0x96, 0xd8, 0x6b, + 0x4b, 0x55, 0xbc, 0xf4, 0xd2, 0x4b, 0x0a, 0x7e, 0x6b, 0x0d, 0xf9, 0xfa, + 0xfa, 0xfa, 0xc4, 0xe4, 0xfc, 0xe4, 0x27, 0x3f, 0x89, 0x32, 0xaa, 0xe5, + 0x72, 0x59, 0xb4, 0x26, 0x9b, 0xcd, 0xb5, 0x39, 0xe6, 0xf5, 0xd3, 0x1a, + 0x8e, 0x68, 0x8c, 0x20, 0x39, 0x31, 0xb9, 0x30, 0x41, 0xf4, 0x81, 0xd0, + 0x06, 0x6a, 0x11, 0x98, 0x5c, 0xa2, 0x90, 0xba, 0x5a, 0x95, 0x64, 0xa3, + 0xfd, 0x27, 0xf1, 0xb9, 0x59, 0x24, 0xd4, 0x8d, 0x01, 0x4e, 0x87, 0x34, + 0x39, 0xe6, 0x4b, 0x92, 0xd5, 0xe4, 0xbb, 0x31, 0x3f, 0x1e, 0x3e, 0xcb, + 0xe1, 0xc7, 0xd2, 0x09, 0xdc, 0x88, 0xa0, 0x02, 0x66, 0x16, 0xf1, 0x30, + 0xfc, 0x5b, 0xc3, 0xbb, 0x26, 0x20, 0xe8, 0x82, 0x48, 0xb1, 0x3e, 0xc7, + 0x33, 0x4e, 0x5a, 0xe7, 0x61, 0x1a, 0x06, 0x85, 0x00, 0x97, 0x19, 0x98, + 0x09, 0x7b, 0xea, 0xee, 0x14, 0x54, 0x11, 0xda, 0x04, 0x19, 0x4e, 0x6e, + 0x82, 0x98, 0xfa, 0x33, 0x4f, 0x6c, 0x2e, 0x3f, 0xbb, 0xf3, 0xce, 0x3b, + 0xb7, 0x90, 0x2a, 0x08, 0x34, 0xec, 0xdd, 0x20, 0x89, 0x27, 0xf7, 0x82, + 0x73, 0x9a, 0x8d, 0xa6, 0x30, 0x6b, 0x04, 0x71, 0x0b, 0xef, 0x5d, 0xe7, + 0xac, 0x82, 0x4d, 0x50, 0x96, 0x1f, 0x81, 0x48, 0x71, 0xc2, 0x60, 0x02, + 0xb6, 0x10, 0xa0, 0x84, 0x97, 0x20, 0x03, 0x24, 0x76, 0xe2, 0x46, 0xba, + 0xb1, 0x38, 0x05, 0x01, 0x74, 0xe2, 0x48, 0x28, 0x0e, 0x45, 0xfd, 0x2e, + 0xb9, 0x76, 0x91, 0x7c, 0x5b, 0x5e, 0xe4, 0x97, 0xc8, 0x04, 0x5e, 0x98, + 0x8e, 0x18, 0x7f, 0x17, 0xb2, 0xb9, 0x7c, 0xc2, 0x13, 0xe2, 0x6a, 0x3b, + 0xd8, 0x08, 0xeb, 0x72, 0xe3, 0x8c, 0x03, 0x0a, 0xe0, 0x70, 0xb9, 0xb7, + 0x5f, 0x8d, 0x5c, 0x1e, 0x95, 0xcf, 0x29, 0x50, 0x81, 0x10, 0xb0, 0x65, + 0x8f, 0xe3, 0x52, 0x16, 0xfd, 0x1d, 0xc6, 0x24, 0x9a, 0xce, 0xd0, 0xa0, + 0x8e, 0x30, 0x16, 0x7f, 0x75, 0x23, 0x8e, 0xb3, 0x26, 0xb6, 0x09, 0xd7, + 0x95, 0x62, 0x6d, 0xba, 0xf4, 0xef, 0xf1, 0x1f, 0xff, 0x9e, 0x40, 0x24, + 0xdb, 0x0b, 0xed, 0xf0, 0x13, 0x7e, 0xec, 0x1c, 0xb5, 0xee, 0xf7, 0x3d, + 0x5b, 0x33, 0x08, 0xb5, 0x46, 0xfa, 0x82, 0x86, 0x5c, 0x98, 0x31, 0xf8, + 0x1c, 0xc7, 0x2d, 0xe1, 0x58, 0x82, 0xa6, 0x27, 0x96, 0x0d, 0x76, 0xe1, + 0xd7, 0x1c, 0x98, 0x5a, 0x27, 0x5e, 0x6f, 0xb0, 0x50, 0xd4, 0xef, 0x40, + 0x40, 0x0e, 0x54, 0x9c, 0x59, 0x50, 0xf1, 0x01, 0x34, 0x3f, 0x24, 0xbe, + 0x61, 0x80, 0xd8, 0x34, 0x5c, 0xa8, 0x54, 0xee, 0xe9, 0xf3, 0xb4, 0xf4, + 0xfb, 0x06, 0x8e, 0x21, 0x20, 0x81, 0xa9, 0x48, 0x65, 0x81, 0x54, 0x10, + 0xa0, 0x0c, 0x3c, 0x30, 0xa0, 0x1c, 0x32, 0xc7, 0xd1, 0xd9, 0x46, 0xbe, + 0x2b, 0xf3, 0xee, 0xb8, 0xce, 0xfa, 0xa1, 0xa6, 0xda, 0x20, 0x08, 0xde, + 0x96, 0xf8, 0x37, 0x6c, 0xb7, 0xe9, 0x60, 0xc4, 0xe2, 0xe2, 0x12, 0x02, + 0xbf, 0x40, 0xc7, 0x32, 0x06, 0x8a, 0x6e, 0x52, 0x2b, 0x36, 0xee, 0x33, + 0x94, 0x67, 0x77, 0x8d, 0xef, 0xa3, 0x4f, 0x84, 0x54, 0xe6, 0x41, 0xb3, + 0x34, 0xe9, 0xc4, 0xf8, 0x49, 0x5b, 0x4d, 0xd7, 0x61, 0x4d, 0xc5, 0xd0, + 0x73, 0xf3, 0x48, 0x98, 0x2f, 0xd8, 0x29, 0x51, 0x15, 0x53, 0xd5, 0x92, + 0x0a, 0x17, 0x2f, 0x4a, 0x13, 0x44, 0xa8, 0x85, 0x20, 0x4c, 0x08, 0xab, + 0xed, 0xb6, 0x8e, 0x6a, 0x09, 0x3b, 0x9d, 0xa0, 0xae, 0xd2, 0xc9, 0x0c, + 0xd4, 0x1a, 0xf0, 0x12, 0x9a, 0x40, 0x6d, 0xa0, 0xcd, 0x23, 0x7a, 0xa1, + 0x4d, 0x4f, 0x67, 0xd2, 0x30, 0x4b, 0x89, 0x0d, 0x71, 0x76, 0x9c, 0x03, + 0x11, 0x31, 0xcc, 0xbb, 0xb3, 0x69, 0x3a, 0x22, 0x8c, 0xce, 0xb2, 0x81, + 0x52, 0x9b, 0x36, 0x84, 0x2d, 0x16, 0xf0, 0x38, 0x25, 0xf2, 0x12, 0xcc, + 0xcf, 0x4b, 0x7f, 0xf3, 0xb2, 0x16, 0x8e, 0x2d, 0x65, 0x72, 0x1d, 0x31, + 0xa5, 0x64, 0x9a, 0xef, 0x19, 0x3f, 0x08, 0xf9, 0x64, 0x54, 0x8d, 0x2d, + 0x0b, 0xba, 0x31, 0x5f, 0x66, 0x41, 0x8b, 0x20, 0x21, 0x38, 0x68, 0xc7, + 0x42, 0xd1, 0x8e, 0x9c, 0x90, 0x46, 0x41, 0xb6, 0x06, 0x40, 0xa2, 0x33, + 0x02, 0x26, 0xe1, 0xa9, 0x09, 0x86, 0xe8, 0x11, 0xf1, 0x59, 0x78, 0xc7, + 0xe9, 0xa5, 0x54, 0x3a, 0x23, 0x76, 0x8f, 0xbf, 0xe3, 0x0a, 0xec, 0x4b, + 0xab, 0x00, 0x44, 0x4e, 0x24, 0x52, 0x06, 0x49, 0x38, 0x92, 0xe0, 0x22, + 0xfe, 0xe7, 0xcd, 0x12, 0xb9, 0x2c, 0xc1, 0xb9, 0xfa, 0x1b, 0xa1, 0x0c, + 0x27, 0x66, 0x4c, 0x62, 0xfb, 0x96, 0x28, 0x6b, 0x88, 0xe3, 0xac, 0xaf, + 0x21, 0x61, 0x07, 0xf1, 0xdb, 0x18, 0x12, 0xdb, 0x57, 0x26, 0xbf, 0xd3, + 0x8b, 0x78, 0x63, 0x66, 0x66, 0xd6, 0x38, 0xd8, 0x70, 0xd3, 0xfa, 0x82, + 0xf5, 0x15, 0x22, 0x80, 0x06, 0x05, 0xd1, 0x99, 0x27, 0x92, 0x12, 0x0b, + 0x64, 0x6d, 0x59, 0x96, 0xc4, 0xe7, 0x66, 0x9d, 0x30, 0x91, 0x17, 0x91, + 0xde, 0xa6, 0x1a, 0x60, 0x30, 0xab, 0x4b, 0x26, 0x90, 0x01, 0xe4, 0x26, + 0x89, 0x8f, 0xe3, 0x0c, 0xc2, 0x8a, 0x80, 0xbc, 0xe2, 0x80, 0x24, 0x0a, + 0x26, 0x36, 0x4e, 0x24, 0x55, 0xa1, 0xdc, 0x27, 0x0f, 0x56, 0x6d, 0x86, + 0xaa, 0xb6, 0xb8, 0xac, 0xe6, 0xb0, 0xb5, 0x24, 0x77, 0x7b, 0x32, 0xc6, + 0xeb, 0x9a, 0xaa, 0x70, 0x9d, 0x73, 0x36, 0xbb, 0x24, 0xce, 0x3f, 0xb8, + 0x7f, 0x8f, 0x10, 0x5e, 0xe3, 0x7a, 0x77, 0x73, 0x06, 0x18, 0x93, 0x4b, + 0x06, 0x68, 0xf3, 0xe3, 0x44, 0xc1, 0x58, 0x0a, 0xe8, 0xa4, 0x56, 0xab, + 0xe6, 0x6d, 0x41, 0x8a, 0x2f, 0x4a, 0x3e, 0x69, 0xc8, 0xce, 0x10, 0xc4, + 0x39, 0xce, 0xae, 0x5d, 0xbb, 0x1c, 0xa2, 0xc3, 0x6e, 0xb9, 0xa0, 0xc8, + 0x09, 0x13, 0x82, 0xf2, 0x45, 0xee, 0x59, 0xfb, 0xcf, 0x8b, 0x68, 0xfb, + 0x96, 0xc8, 0xe9, 0x18, 0x40, 0x73, 0x5f, 0xec, 0x7b, 0x87, 0xa9, 0x68, + 0xa7, 0x4b, 0xd8, 0x5e, 0x1a, 0xd8, 0x28, 0x39, 0xba, 0x59, 0x02, 0x73, + 0xb3, 0xf3, 0xc3, 0x9b, 0x63, 0x66, 0x08, 0x61, 0xb9, 0x72, 0xf9, 0x8a, + 0x72, 0x45, 0x73, 0xdd, 0x4d, 0x9d, 0xb0, 0xa0, 0x37, 0x47, 0xa7, 0x5f, + 0x88, 0xf6, 0x34, 0x72, 0xb2, 0x5a, 0x80, 0x78, 0x22, 0x9d, 0x4e, 0x54, + 0x96, 0x97, 0x0a, 0xd6, 0x62, 0x98, 0xba, 0xb8, 0xa4, 0xa2, 0xad, 0x16, + 0x58, 0x5f, 0xdb, 0xa6, 0x01, 0xf1, 0x18, 0x80, 0x58, 0x15, 0xa6, 0x43, + 0x90, 0x10, 0x6d, 0x97, 0xe5, 0x24, 0x5f, 0x64, 0x00, 0xd4, 0x2c, 0xc7, + 0xc0, 0x85, 0x7c, 0xd1, 0xd8, 0xbf, 0x6b, 0x96, 0x35, 0xc6, 0x8b, 0xdf, + 0xcc, 0xaa, 0x00, 0x89, 0xd7, 0xc4, 0x3f, 0xc6, 0x29, 0xbb, 0xf7, 0xec, + 0xd3, 0xf5, 0x8b, 0x2d, 0xf8, 0x00, 0x3e, 0x2f, 0x11, 0x53, 0xd0, 0x0c, + 0x74, 0x26, 0xc0, 0x68, 0x00, 0xe1, 0x28, 0x4d, 0x31, 0x41, 0x0a, 0x89, + 0x6f, 0x63, 0x01, 0x1b, 0x07, 0x18, 0x93, 0x1e, 0x25, 0xe4, 0x36, 0x34, + 0x41, 0xfc, 0x02, 0x93, 0x48, 0xd4, 0x00, 0x03, 0x3f, 0x25, 0x1a, 0xc6, + 0x97, 0x19, 0x01, 0x67, 0x68, 0x72, 0x18, 0x80, 0x08, 0x0e, 0x76, 0x3c, + 0xb5, 0x5d, 0x18, 0xa5, 0x9b, 0xc9, 0xb2, 0x36, 0x3b, 0x8c, 0x39, 0xd0, + 0xae, 0xd5, 0xb6, 0xd8, 0x77, 0x6d, 0x72, 0xaa, 0xab, 0x9b, 0x88, 0xbe, + 0xeb, 0x4a, 0x34, 0xcb, 0x02, 0x4b, 0xdf, 0xc0, 0x8e, 0x2d, 0xd9, 0x7f, + 0x9b, 0xae, 0x20, 0x14, 0x25, 0x6a, 0x12, 0x94, 0x27, 0x1a, 0x91, 0x20, + 0x2d, 0xc2, 0x0c, 0xe0, 0x66, 0x10, 0x84, 0xcc, 0x07, 0xb9, 0xf0, 0x7b, + 0x11, 0xed, 0x18, 0xc8, 0x5a, 0xc2, 0x13, 0xd6, 0xc7, 0x12, 0x9f, 0x61, + 0x5b, 0x32, 0x8e, 0xf6, 0x89, 0x76, 0x6a, 0x70, 0x70, 0x50, 0xd4, 0x85, + 0x17, 0xa0, 0xed, 0x27, 0x47, 0x79, 0x51, 0x5c, 0x24, 0x07, 0x07, 0xcc, + 0xd2, 0xa4, 0x44, 0xc0, 0xae, 0x04, 0x59, 0xce, 0xb6, 0x48, 0xa3, 0x7d, + 0x40, 0xda, 0xd6, 0x20, 0x46, 0x08, 0xfb, 0xc0, 0x3a, 0xef, 0xa4, 0xa3, + 0x6d, 0xcf, 0x75, 0xdb, 0x78, 0xc0, 0xaf, 0xcb, 0xf7, 0xcc, 0xc6, 0x74, + 0x34, 0x4d, 0x04, 0x83, 0x39, 0x4b, 0x79, 0x6d, 0x2e, 0x1c, 0x49, 0x99, + 0x44, 0xa0, 0x14, 0xc4, 0x23, 0x50, 0x60, 0xc0, 0x67, 0xcd, 0xca, 0xa6, + 0x0c, 0x70, 0x5c, 0x49, 0xbb, 0xaf, 0xd6, 0x2b, 0x02, 0xad, 0x1d, 0xcf, + 0xc4, 0x02, 0xd8, 0x18, 0x0d, 0x43, 0x13, 0x8a, 0x6c, 0xd3, 0xa1, 0xd9, + 0xb6, 0xc1, 0x18, 0xfd, 0x00, 0xad, 0x0a, 0x7d, 0x2b, 0xef, 0x23, 0x9e, + 0x96, 0xf6, 0xe3, 0x31, 0x00, 0x3f, 0x60, 0x29, 0x92, 0x27, 0x12, 0x09, + 0x91, 0xf8, 0x56, 0x95, 0x88, 0x6b, 0x71, 0x91, 0x62, 0xa1, 0x54, 0xf6, + 0x75, 0x0a, 0xc2, 0xd7, 0x51, 0xe0, 0x2d, 0x33, 0xc0, 0x12, 0x9d, 0x04, + 0x6b, 0xc8, 0xdf, 0x09, 0xa8, 0x76, 0x06, 0x50, 0x95, 0xf5, 0x00, 0x96, + 0xf9, 0xf8, 0x60, 0x8e, 0x2e, 0x37, 0xcb, 0xc3, 0x4b, 0x74, 0x6c, 0x82, + 0x3a, 0x46, 0xb1, 0x2d, 0xc7, 0xe8, 0x46, 0x30, 0x52, 0x4c, 0x89, 0xdb, + 0x62, 0x28, 0x73, 0x43, 0x0c, 0x10, 0x6b, 0xd5, 0x1a, 0x1e, 0xbc, 0x8a, + 0xfd, 0x66, 0x24, 0xc9, 0x26, 0x89, 0x26, 0x0c, 0x13, 0x25, 0x97, 0x14, + 0x83, 0xb3, 0x61, 0xb1, 0x87, 0xcf, 0x4b, 0xc4, 0xb3, 0x52, 0x09, 0x44, + 0x83, 0xa2, 0x68, 0x98, 0xc1, 0x18, 0xe0, 0x39, 0xee, 0xa1, 0x08, 0x53, + 0x9d, 0xa4, 0xd4, 0xd3, 0xfe, 0x5b, 0x34, 0xc4, 0x60, 0x8c, 0x0f, 0x39, + 0x3f, 0x3f, 0xbf, 0xd6, 0x04, 0x19, 0x75, 0x88, 0x10, 0x10, 0xed, 0x3f, + 0x2f, 0x40, 0x9b, 0x25, 0x94, 0x37, 0xce, 0x84, 0xf6, 0x8d, 0xd9, 0xca, + 0x28, 0x02, 0x94, 0x87, 0x76, 0x6f, 0x52, 0xda, 0x75, 0xcb, 0x89, 0x2d, + 0xae, 0xf0, 0x7a, 0xf9, 0x5c, 0x56, 0xde, 0x49, 0x44, 0xe6, 0x68, 0x98, + 0x38, 0x5b, 0xad, 0xac, 0x48, 0x79, 0x93, 0x84, 0x6e, 0x06, 0xcd, 0xb6, + 0x28, 0xb8, 0x33, 0x60, 0x0a, 0xdb, 0x2d, 0x98, 0x8e, 0x58, 0x8d, 0x54, + 0x92, 0xa9, 0xcc, 0x37, 0x15, 0x0a, 0x79, 0x10, 0xbc, 0x2c, 0xe7, 0x55, + 0xc1, 0x08, 0xd6, 0x2b, 0xea, 0x35, 0x5d, 0xbb, 0xc8, 0xe7, 0x72, 0x1a, + 0xdf, 0xbb, 0xee, 0xe6, 0x37, 0xcf, 0xaa, 0x14, 0x4c, 0xb0, 0x80, 0x0f, + 0xf3, 0x1d, 0x5f, 0xa7, 0x64, 0x1c, 0x1e, 0x07, 0x14, 0xcf, 0xd1, 0x57, + 0x5a, 0xb3, 0x4d, 0x1a, 0x92, 0x01, 0xf4, 0x05, 0x14, 0xff, 0x9e, 0x9e, + 0x1e, 0x07, 0x50, 0x34, 0xaa, 0x0b, 0xf8, 0x36, 0x0d, 0x6d, 0xed, 0x93, + 0x6d, 0x29, 0xe4, 0xbb, 0xf5, 0x01, 0xe6, 0x42, 0x84, 0x56, 0x60, 0x40, + 0x46, 0x1a, 0x55, 0x5d, 0xf6, 0x5f, 0x11, 0x13, 0x6f, 0xb5, 0x0d, 0xc5, + 0x94, 0x01, 0x1b, 0x8d, 0x40, 0x11, 0xc6, 0xf6, 0xf5, 0xf6, 0x4a, 0x3d, + 0x99, 0xc4, 0x64, 0xb2, 0x6e, 0x66, 0x66, 0x06, 0x0e, 0xac, 0x26, 0x8c, + 0x09, 0x4d, 0x7a, 0xdb, 0xe6, 0xe7, 0x2d, 0x31, 0x6f, 0xca, 0xa3, 0xe0, + 0xba, 0x64, 0x26, 0x63, 0x90, 0xe5, 0xe5, 0x4a, 0x64, 0xce, 0xc8, 0x0c, + 0xc1, 0xfe, 0xe5, 0x1e, 0xd1, 0x94, 0x62, 0xfe, 0x71, 0x7a, 0x56, 0x35, + 0x3b, 0x37, 0xaf, 0x4d, 0xdb, 0x56, 0x3a, 0x23, 0x18, 0x74, 0xb1, 0x97, + 0xd4, 0x68, 0x92, 0x6c, 0x64, 0x36, 0x8e, 0xa7, 0x53, 0xc9, 0x0c, 0x88, + 0x9d, 0x65, 0x2d, 0x98, 0x42, 0xcb, 0x9f, 0x25, 0x0a, 0x62, 0x4e, 0x88, + 0x66, 0x28, 0xde, 0x83, 0x4a, 0xf0, 0xe3, 0xc7, 0xaa, 0x45, 0x92, 0xab, + 0xb0, 0x59, 0x50, 0xeb, 0x40, 0x0c, 0x96, 0xa5, 0x1f, 0x48, 0x30, 0x06, + 0xa0, 0xa4, 0x4a, 0xf6, 0x4f, 0xca, 0x70, 0xde, 0x26, 0xe1, 0xbb, 0xae, + 0xe5, 0x8a, 0x4d, 0x06, 0x61, 0x19, 0x0d, 0xf7, 0xf4, 0x94, 0x18, 0xb2, + 0x4b, 0xfd, 0x75, 0x72, 0x62, 0x4a, 0xad, 0x56, 0x57, 0x5b, 0xb6, 0xbe, + 0x0b, 0xa1, 0xc3, 0x5b, 0x6c, 0x6f, 0x59, 0xaf, 0xb8, 0x42, 0xa6, 0xb0, + 0x48, 0xc4, 0x8d, 0xcc, 0x60, 0x04, 0x5f, 0x59, 0x59, 0x8a, 0xfa, 0x42, + 0x9d, 0x2d, 0x08, 0x12, 0x6b, 0x1d, 0x8c, 0xea, 0x6d, 0x37, 0x0b, 0xfd, + 0x21, 0x13, 0x8f, 0xa6, 0xb6, 0xc0, 0xa6, 0x05, 0x1b, 0x0b, 0x30, 0x73, + 0xe0, 0xd9, 0xba, 0x00, 0x73, 0x6b, 0x40, 0x5d, 0x12, 0x0b, 0x30, 0x3b, + 0xbb, 0x06, 0x05, 0xb1, 0xdf, 0x9f, 0x01, 0x03, 0x1d, 0x07, 0x4f, 0xb6, + 0xd2, 0xcf, 0x77, 0x16, 0x62, 0xd8, 0x0d, 0xc7, 0x9b, 0x4e, 0xc3, 0xd6, + 0xb1, 0x45, 0x83, 0x66, 0x28, 0xc3, 0x62, 0x4a, 0x97, 0x1c, 0xbd, 0x13, + 0x49, 0x7c, 0x43, 0x54, 0x9c, 0x12, 0xcf, 0xd7, 0x1c, 0x24, 0x6d, 0x71, + 0x69, 0x49, 0x1c, 0x2d, 0xbf, 0xcf, 0xeb, 0x6d, 0x44, 0xec, 0xed, 0x6e, + 0xf4, 0x8a, 0x27, 0xc4, 0x44, 0xfb, 0xe0, 0x84, 0x6f, 0x56, 0xbb, 0x5c, + 0x2d, 0xa8, 0x72, 0x6f, 0x14, 0xc4, 0x65, 0x3c, 0x8f, 0xc4, 0x01, 0xac, + 0x43, 0xa4, 0xd3, 0xc9, 0x85, 0xb9, 0xd9, 0x82, 0x45, 0x42, 0xd6, 0x84, + 0xb3, 0x35, 0x85, 0x8f, 0x43, 0x1f, 0x6b, 0xba, 0x4e, 0xe4, 0xdd, 0x8f, + 0xc7, 0x00, 0x16, 0x22, 0x11, 0xff, 0x9b, 0x52, 0x64, 0xc4, 0x00, 0xe6, + 0x38, 0x60, 0xdf, 0xb2, 0x94, 0xe2, 0xf1, 0xb1, 0x31, 0x67, 0x7a, 0xf2, + 0x86, 0x14, 0xa3, 0x1f, 0x7c, 0xe4, 0x51, 0x48, 0x75, 0xaf, 0x10, 0x3a, + 0x9e, 0x36, 0xa0, 0xea, 0x93, 0xb8, 0xc3, 0xc3, 0xbb, 0x45, 0xb5, 0x27, + 0xa7, 0xa6, 0x25, 0xb7, 0xef, 0x18, 0x09, 0x52, 0xbf, 0x06, 0x62, 0x6f, + 0x45, 0x4b, 0x5c, 0xd7, 0xbd, 0xa5, 0xef, 0x15, 0x0a, 0x45, 0x72, 0x42, + 0x8d, 0x5c, 0xba, 0xa4, 0x3e, 0xfa, 0xf0, 0x3d, 0xc5, 0x26, 0xb5, 0x7d, + 0x07, 0x0e, 0x52, 0xcb, 0x9d, 0x89, 0xeb, 0xd7, 0x0a, 0x8c, 0xc2, 0x48, + 0x43, 0x9a, 0x21, 0x32, 0x80, 0x26, 0x88, 0xf4, 0xa5, 0x8f, 0x8d, 0xc7, + 0x02, 0x22, 0x0e, 0x0f, 0x3d, 0xf4, 0x90, 0xe4, 0xc5, 0x49, 0x34, 0x5e, + 0xc0, 0x3a, 0x0e, 0x5b, 0x0f, 0x20, 0x13, 0xf0, 0x59, 0x36, 0x09, 0xfb, + 0x96, 0x44, 0xb0, 0x31, 0x76, 0xfa, 0xa4, 0x7a, 0xf0, 0x81, 0x07, 0xd4, + 0x8d, 0xeb, 0xd7, 0xd5, 0xe5, 0x4b, 0x17, 0xd5, 0xce, 0x9d, 0xbb, 0x84, + 0x01, 0x36, 0x94, 0x67, 0x57, 0xc4, 0xce, 0x1d, 0x83, 0x52, 0xf0, 0x98, + 0x80, 0x99, 0x99, 0x9d, 0x9b, 0xd3, 0x28, 0x81, 0x29, 0xdb, 0xb5, 0x91, + 0xda, 0xa7, 0xaf, 0x3d, 0x11, 0xcf, 0xc8, 0xac, 0xef, 0x0a, 0xc0, 0xc2, + 0x47, 0x1f, 0xbe, 0xaf, 0xee, 0x3d, 0x7e, 0x5c, 0x4d, 0x4d, 0x4e, 0xaa, + 0x6b, 0xe3, 0xe3, 0xa1, 0xc9, 0xfb, 0x97, 0xac, 0xf5, 0x30, 0x89, 0x4c, + 0xa9, 0xda, 0xb2, 0xd7, 0xaa, 0xb3, 0x09, 0x22, 0xd2, 0x47, 0xe6, 0xab, + 0x4d, 0x19, 0xd2, 0x56, 0x73, 0x24, 0x18, 0xb3, 0x99, 0x50, 0xda, 0xb5, + 0x34, 0x0b, 0x31, 0x40, 0x15, 0xfb, 0x0f, 0x1e, 0x52, 0xa3, 0xa3, 0x63, + 0x42, 0xc4, 0xbb, 0x0e, 0x1d, 0x01, 0xf1, 0xeb, 0xa2, 0xda, 0xd2, 0x5d, + 0x86, 0x9f, 0x3a, 0x7a, 0xd7, 0x9d, 0x60, 0x42, 0x43, 0x5d, 0xbc, 0x38, + 0x22, 0x66, 0x28, 0x65, 0xcc, 0x4c, 0x68, 0xfa, 0x7d, 0x3e, 0xf5, 0xfd, + 0xa1, 0x78, 0x8e, 0x62, 0xa9, 0xa8, 0x1c, 0x38, 0xf7, 0xbd, 0xfb, 0x0f, + 0xa8, 0xf3, 0xe7, 0x2f, 0x08, 0x52, 0xdb, 0xb5, 0x7b, 0x8f, 0x36, 0x47, + 0xbe, 0x47, 0x06, 0xf8, 0xb6, 0x24, 0x69, 0x13, 0x72, 0x69, 0x29, 0xda, + 0x38, 0x1c, 0x69, 0x14, 0x69, 0x81, 0x6f, 0xed, 0x11, 0xcd, 0x85, 0xed, + 0xde, 0xe2, 0xc9, 0xec, 0x09, 0x32, 0x1a, 0x20, 0x2f, 0x30, 0xa8, 0xd0, + 0xd7, 0x5f, 0x64, 0x73, 0x96, 0x3a, 0x72, 0xf8, 0x0e, 0x44, 0x8f, 0x03, + 0x62, 0xf7, 0x58, 0xd3, 0x95, 0x00, 0x0a, 0xc4, 0xa7, 0x83, 0x3e, 0x76, + 0xf7, 0x9d, 0x6a, 0x74, 0xfc, 0x9a, 0xba, 0x06, 0xed, 0x20, 0xe1, 0xe3, + 0x11, 0xe6, 0x6f, 0x43, 0xe3, 0xae, 0xa4, 0x30, 0x00, 0x2a, 0x8a, 0xc5, + 0x82, 0xaa, 0x42, 0xc8, 0xee, 0xbd, 0xef, 0x7e, 0x20, 0x9f, 0xb4, 0x74, + 0xc9, 0x4d, 0x4e, 0x4e, 0xe8, 0x2e, 0x0e, 0xcf, 0x2f, 0x98, 0xe6, 0x05, + 0x09, 0xc4, 0x6c, 0x2c, 0x45, 0x4d, 0x20, 0xad, 0x8d, 0xaf, 0x6d, 0x77, + 0xc2, 0xe4, 0x48, 0x2c, 0x06, 0x70, 0xac, 0xe4, 0xdb, 0x82, 0x0c, 0x20, + 0x54, 0x81, 0x0e, 0x57, 0xc2, 0x70, 0x61, 0x5a, 0x45, 0xa3, 0x16, 0x04, + 0x22, 0xb6, 0x12, 0x76, 0xdf, 0xf1, 0x63, 0xea, 0xc4, 0xc9, 0x53, 0x70, + 0xb4, 0x0b, 0x2a, 0x87, 0x73, 0x2d, 0x76, 0xff, 0x6d, 0xea, 0x98, 0xd6, + 0xcf, 0x12, 0x4a, 0xde, 0x87, 0x35, 0x8f, 0xd1, 0x31, 0x9d, 0x5e, 0xae, + 0x37, 0xea, 0x51, 0x47, 0x06, 0x68, 0xc4, 0xc2, 0x0c, 0xc7, 0x53, 0x38, + 0x06, 0xbe, 0xbb, 0xa6, 0xd9, 0x59, 0x90, 0x10, 0xa1, 0xb6, 0x2d, 0xce, + 0xf8, 0x36, 0x08, 0x03, 0x34, 0x62, 0xdb, 0x88, 0xa8, 0x08, 0x09, 0x1f, + 0xcb, 0x84, 0x8a, 0x2d, 0xc3, 0x56, 0xa6, 0x84, 0xc3, 0xa8, 0x85, 0x30, + 0x43, 0x8e, 0x6e, 0xc7, 0xf3, 0xc4, 0xfc, 0xd0, 0x7f, 0x3c, 0xfe, 0xc8, + 0x43, 0xea, 0xad, 0xb7, 0xdf, 0x55, 0x0b, 0x8b, 0x4b, 0x12, 0xcd, 0x6e, + 0xda, 0xe6, 0x71, 0x93, 0x2a, 0xdf, 0x99, 0x93, 0xef, 0x64, 0xac, 0x6d, + 0x63, 0xec, 0x2c, 0x77, 0x6e, 0xf7, 0x4b, 0x7e, 0xdb, 0xd1, 0xc5, 0xf9, + 0x72, 0xb9, 0x64, 0x1a, 0xd2, 0x7c, 0x29, 0x34, 0x21, 0x22, 0x76, 0xd8, + 0x48, 0x0e, 0x64, 0x94, 0x85, 0x26, 0xb0, 0x77, 0xd6, 0xb3, 0x7e, 0x80, + 0xf4, 0x34, 0x26, 0x49, 0x9c, 0x31, 0x40, 0x8f, 0xb4, 0x81, 0xfa, 0x56, + 0xfa, 0xad, 0x4d, 0xa2, 0x9d, 0xb2, 0x39, 0x6c, 0x03, 0xa1, 0xa4, 0x39, + 0x17, 0xbf, 0x5a, 0xcc, 0xe8, 0x20, 0x4c, 0x22, 0x3f, 0x89, 0x04, 0xa5, + 0xaa, 0x94, 0x50, 0x4f, 0x3d, 0xf9, 0xb8, 0x7a, 0xe7, 0xbd, 0x0f, 0xd4, + 0xe2, 0xf2, 0xb2, 0x10, 0xdf, 0x36, 0x39, 0x6d, 0x57, 0x8e, 0x28, 0x4e, + 0x74, 0x0d, 0x6d, 0x9b, 0x92, 0xbe, 0xd0, 0x1a, 0x16, 0x4a, 0x5d, 0x58, + 0x22, 0x52, 0xd3, 0x04, 0x10, 0x3f, 0xf7, 0x76, 0xe3, 0x89, 0x6e, 0x09, + 0x14, 0xdb, 0x34, 0x40, 0x90, 0xc1, 0xdf, 0xd6, 0xc1, 0x98, 0xae, 0x09, + 0x10, 0x0d, 0x81, 0x86, 0x69, 0x10, 0x39, 0x47, 0xd2, 0xc5, 0x13, 0x9a, + 0x24, 0xbe, 0xed, 0x0f, 0xa2, 0x99, 0x27, 0xf8, 0x69, 0x33, 0x41, 0xec, + 0x84, 0x23, 0x77, 0x6c, 0x2d, 0xd8, 0x44, 0xc0, 0x74, 0xc0, 0x29, 0x68, + 0x52, 0x81, 0xed, 0x88, 0x52, 0x03, 0xf0, 0x75, 0xc0, 0xb4, 0x0a, 0x7b, + 0xf7, 0xcc, 0xef, 0x7c, 0x56, 0x5d, 0xbe, 0x32, 0x2a, 0x28, 0x20, 0x0b, + 0xbc, 0xaf, 0x0b, 0x15, 0xee, 0x36, 0xd9, 0xda, 0x66, 0x14, 0x4f, 0x54, + 0x2a, 0xcb, 0xd2, 0xe8, 0xdb, 0x84, 0xc6, 0x09, 0xc9, 0x6d, 0x72, 0x4d, + 0x4a, 0x90, 0xa1, 0xa4, 0x37, 0x6c, 0xe3, 0x2f, 0xb5, 0x93, 0xf7, 0xca, + 0xa8, 0xdd, 0x66, 0x45, 0x37, 0x6b, 0x39, 0xb9, 0x29, 0xe8, 0xca, 0x67, + 0x5f, 0xad, 0x4a, 0x03, 0x9a, 0x6b, 0xf2, 0x55, 0x6c, 0x5f, 0xf7, 0x5d, + 0x1d, 0x8c, 0x71, 0x28, 0x17, 0x9b, 0xb4, 0x8c, 0xf0, 0x4a, 0x3c, 0x60, + 0xd2, 0x3a, 0x36, 0x25, 0xdd, 0x9e, 0x0b, 0x1a, 0x1e, 0x1e, 0x76, 0x6c, + 0x31, 0xc6, 0xda, 0x7d, 0xe3, 0x03, 0x6c, 0x0c, 0x00, 0xf4, 0x93, 0xcc, + 0x4b, 0x37, 0x1c, 0xe2, 0x77, 0x46, 0x7d, 0xcc, 0xd3, 0x1c, 0x3e, 0x74, + 0x50, 0xb4, 0xe1, 0xe3, 0x73, 0xe7, 0x15, 0x47, 0xc8, 0x6c, 0x07, 0xf1, + 0x2d, 0xe1, 0x1b, 0xd2, 0x32, 0x92, 0xe7, 0xc0, 0x20, 0x09, 0xfa, 0x72, + 0x99, 0x8c, 0xea, 0x61, 0x6b, 0xa2, 0x69, 0xa6, 0xea, 0xcc, 0xdf, 0xdb, + 0x4c, 0x2a, 0x5b, 0x64, 0x6a, 0xa6, 0xf1, 0xcb, 0x75, 0x42, 0x09, 0x14, + 0x49, 0xf6, 0xc5, 0xa5, 0x65, 0x89, 0x56, 0xb7, 0x52, 0xf5, 0xda, 0xec, + 0xfe, 0xc8, 0xe0, 0x85, 0xc5, 0x45, 0xfc, 0x4e, 0x0d, 0x31, 0x8d, 0xae, + 0x8a, 0x31, 0xd6, 0xf1, 0x80, 0x10, 0x19, 0x5c, 0x66, 0xb3, 0x39, 0x77, + 0x66, 0x7a, 0xaa, 0x68, 0xfc, 0xa7, 0xd0, 0x90, 0x4c, 0xb0, 0xc1, 0x98, + 0x05, 0x3b, 0x74, 0xc8, 0x3e, 0x7b, 0xd7, 0x69, 0xc3, 0x59, 0x88, 0x37, + 0x15, 0x1b, 0x51, 0x13, 0x32, 0x82, 0x5f, 0xe4, 0x46, 0x7b, 0x06, 0x89, + 0xca, 0xd8, 0xf4, 0x83, 0x4e, 0xc9, 0xfa, 0x6a, 0xdf, 0xf0, 0xb0, 0x3a, + 0x79, 0xfa, 0xb4, 0x38, 0x9e, 0x5b, 0x0d, 0x6a, 0x3a, 0x1f, 0x8e, 0x84, + 0x63, 0xb0, 0x77, 0xf0, 0xc0, 0x7e, 0x69, 0x71, 0x67, 0x8e, 0xa6, 0x58, + 0x2a, 0x19, 0x4d, 0x08, 0xa3, 0x0c, 0xe7, 0x7a, 0x03, 0xf8, 0x1c, 0xd3, + 0xbc, 0xc5, 0x6b, 0xb0, 0x70, 0x4e, 0xf9, 0xef, 0xeb, 0xed, 0x51, 0x07, + 0xf6, 0xef, 0x53, 0xe7, 0x2f, 0x5c, 0x92, 0x58, 0x67, 0x2b, 0xb9, 0xff, + 0x8d, 0x5e, 0x44, 0x77, 0xb3, 0xb3, 0x73, 0x6a, 0x66, 0x7a, 0x46, 0x15, + 0xf3, 0x05, 0x44, 0xd3, 0x55, 0x01, 0x23, 0x09, 0xd3, 0x25, 0x92, 0xc6, + 0xef, 0x57, 0x6b, 0x35, 0x76, 0x4b, 0x7b, 0x96, 0x86, 0x7c, 0xc5, 0x7b, + 0x84, 0x18, 0x49, 0xb3, 0x29, 0xd9, 0xb5, 0x31, 0x00, 0xeb, 0x00, 0xb6, + 0x21, 0xcb, 0x56, 0xc0, 0xa8, 0xb9, 0xb8, 0x51, 0x42, 0xd0, 0x1c, 0x88, + 0x9c, 0xf6, 0x93, 0x5a, 0xc5, 0xd8, 0x82, 0xde, 0x8b, 0x87, 0x9a, 0x9b, + 0x9f, 0x53, 0xf3, 0x0b, 0x8b, 0x8a, 0x8e, 0xc7, 0x32, 0xe0, 0x56, 0x37, + 0xdd, 0x56, 0xde, 0x94, 0x5e, 0xd2, 0x07, 0xee, 0x3b, 0xae, 0x66, 0x66, + 0xa6, 0xa5, 0x67, 0x27, 0x2e, 0xd9, 0xda, 0xc4, 0xb4, 0xba, 0x98, 0xbb, + 0x6d, 0x2d, 0x3f, 0xd1, 0x90, 0xf1, 0x5c, 0xac, 0x5c, 0x5d, 0xbb, 0x7e, + 0x43, 0xa2, 0xf0, 0x87, 0x1f, 0xbc, 0x5f, 0x3a, 0xad, 0xc9, 0x48, 0xcf, + 0xbb, 0x9d, 0x7b, 0xf5, 0xc4, 0x07, 0xf0, 0xba, 0xc5, 0x42, 0x4e, 0x62, + 0x4a, 0x9b, 0xa2, 0xf7, 0x3c, 0x3f, 0x64, 0x9e, 0x08, 0x87, 0xca, 0x56, + 0x88, 0xad, 0x13, 0xb6, 0xc5, 0x19, 0x8b, 0x88, 0xda, 0x60, 0xa8, 0x75, + 0x10, 0xa6, 0x91, 0x28, 0x92, 0x7e, 0x5e, 0x04, 0x98, 0xb5, 0x58, 0xea, + 0xe9, 0x8d, 0x0a, 0x31, 0x92, 0xa7, 0x07, 0x31, 0xa6, 0x20, 0x01, 0xba, + 0xa7, 0xde, 0xdd, 0x96, 0xe6, 0x1d, 0x6a, 0xd2, 0x60, 0x7f, 0xaf, 0x3a, + 0x73, 0xe6, 0xac, 0xa4, 0x8b, 0xe3, 0x0d, 0xb6, 0x37, 0x1b, 0x39, 0xb7, + 0x5a, 0x5a, 0xf4, 0xb8, 0x83, 0xeb, 0x20, 0xd6, 0xca, 0xca, 0xaa, 0xda, + 0xb5, 0x63, 0x40, 0x5d, 0x19, 0xbb, 0x7a, 0xdb, 0xc1, 0x38, 0xcd, 0xd9, + 0x12, 0x02, 0x31, 0xd7, 0x09, 0xc4, 0x2a, 0x08, 0x53, 0xc5, 0x37, 0x3a, + 0x4a, 0x83, 0x15, 0x3f, 0xcf, 0x26, 0x06, 0x9a, 0x20, 0x26, 0xe4, 0x0c, + 0xa0, 0x71, 0xb4, 0x92, 0xba, 0x8e, 0x19, 0x1f, 0xe1, 0xf8, 0x54, 0x09, + 0x66, 0xe7, 0x58, 0x19, 0x22, 0x03, 0x88, 0x82, 0x78, 0xa2, 0xab, 0x53, + 0xa2, 0xcc, 0x65, 0xb0, 0x10, 0x53, 0x18, 0xca, 0xe5, 0x1d, 0x69, 0x42, + 0x85, 0x19, 0xa2, 0x54, 0xcd, 0xcf, 0xcd, 0xa9, 0x62, 0xb9, 0x57, 0xb7, + 0x1e, 0x6e, 0xd2, 0x57, 0xbf, 0x55, 0x78, 0xb7, 0x00, 0x8d, 0xba, 0x78, + 0x71, 0x55, 0xb1, 0xed, 0xa5, 0x8d, 0xf8, 0xdb, 0x00, 0x63, 0xc9, 0xdc, + 0x4a, 0x65, 0x05, 0x66, 0x63, 0x4a, 0x35, 0x70, 0xff, 0xf9, 0x42, 0x71, + 0xd3, 0x36, 0xc4, 0xcd, 0xae, 0x49, 0x81, 0x9c, 0x9a, 0xb8, 0xae, 0x92, + 0xb8, 0xdf, 0x4c, 0x26, 0xc7, 0xc1, 0x61, 0x10, 0x48, 0xdf, 0xc6, 0x02, + 0x05, 0xfa, 0x4e, 0x53, 0x88, 0x11, 0x57, 0x60, 0xa2, 0x62, 0xc7, 0x0a, + 0x3b, 0x1b, 0x97, 0xdd, 0xb8, 0x06, 0xc4, 0x1d, 0x70, 0x0c, 0xff, 0x93, + 0x83, 0x25, 0xc2, 0x4b, 0xc2, 0x2f, 0xe6, 0x82, 0x68, 0x9b, 0xe9, 0x84, + 0x9c, 0xdb, 0x30, 0x39, 0x9d, 0x1b, 0x5f, 0x1f, 0x7d, 0xf0, 0xbe, 0x20, + 0x1c, 0x8d, 0x58, 0xa2, 0x0a, 0xef, 0xb6, 0x6c, 0x94, 0x50, 0x56, 0xd9, + 0x6a, 0xb5, 0xba, 0xfa, 0xe8, 0xc3, 0x0f, 0x4c, 0x2b, 0xca, 0xed, 0x99, + 0x4d, 0x26, 0x15, 0x99, 0x4d, 0xe5, 0x18, 0x31, 0x5e, 0xdb, 0xd1, 0x1d, + 0x12, 0x0e, 0x4b, 0x93, 0xf0, 0x13, 0x39, 0x98, 0xee, 0xb4, 0x9d, 0x43, + 0xc3, 0xb6, 0xa8, 0xd0, 0x0f, 0xb0, 0x40, 0x4f, 0x9f, 0x2b, 0x4e, 0xd8, + 0xc6, 0x00, 0x84, 0xa0, 0x7c, 0xa7, 0x0f, 0x68, 0x05, 0x61, 0xba, 0xc5, + 0xae, 0x55, 0x88, 0x71, 0xc3, 0x64, 0x2a, 0xe9, 0x4c, 0x43, 0x8a, 0x18, + 0x05, 0xba, 0xdb, 0x24, 0xfd, 0xe2, 0x60, 0x61, 0xff, 0x79, 0x5d, 0x9d, + 0x32, 0x66, 0xd1, 0xa2, 0xbe, 0xad, 0x81, 0x14, 0x25, 0x96, 0xc1, 0x12, + 0x73, 0x36, 0xf4, 0x2f, 0x9d, 0x7e, 0xe3, 0x56, 0x5e, 0x34, 0xbf, 0xf4, + 0x5b, 0x37, 0x6e, 0x5c, 0x57, 0x87, 0xef, 0xbc, 0x5b, 0xfc, 0x0a, 0xcd, + 0x10, 0x6b, 0x0c, 0xac, 0x0b, 0xc0, 0x72, 0xe4, 0x4d, 0x5f, 0x95, 0x6b, + 0x91, 0x90, 0xc9, 0x90, 0x4a, 0x83, 0x2e, 0xc1, 0x82, 0x4f, 0x35, 0x20, + 0x27, 0xf8, 0x62, 0xe8, 0x6c, 0x1d, 0xb0, 0x2e, 0xc8, 0x4b, 0xf0, 0xc0, + 0xfa, 0x66, 0x5e, 0x33, 0x40, 0x47, 0x7c, 0xec, 0x7e, 0x4e, 0x53, 0xcd, + 0x5c, 0xaf, 0x4d, 0x82, 0x6f, 0x87, 0x38, 0xe9, 0x4c, 0x16, 0xd1, 0xf8, + 0x90, 0x1a, 0x1f, 0x1b, 0x95, 0xf7, 0x95, 0xd5, 0x15, 0xe5, 0x38, 0x6a, + 0x7b, 0xfa, 0x42, 0x4d, 0x93, 0x2f, 0x4d, 0xc3, 0xf8, 0xd8, 0x98, 0xda, + 0xbb, 0x77, 0x9f, 0x30, 0x79, 0x2b, 0x63, 0xce, 0x36, 0x2c, 0xd0, 0xcb, + 0x9c, 0x13, 0x81, 0x9a, 0x03, 0x22, 0xf2, 0x58, 0xb9, 0x73, 0x75, 0x90, + 0x9a, 0x90, 0x82, 0x4d, 0x26, 0x05, 0xba, 0xe6, 0xe3, 0x3e, 0xc0, 0xfa, + 0x01, 0xd6, 0x5c, 0x08, 0x36, 0x98, 0x79, 0x10, 0x27, 0xcc, 0x71, 0x52, + 0x34, 0x41, 0xf6, 0x65, 0xb2, 0xa1, 0x92, 0x48, 0x02, 0xd7, 0x10, 0x84, + 0xf9, 0x05, 0x16, 0x9c, 0xf5, 0x20, 0x35, 0x3d, 0x9c, 0x87, 0x70, 0x31, + 0x8e, 0x24, 0x6e, 0xb7, 0x25, 0x85, 0x08, 0xe7, 0xfe, 0x87, 0x1e, 0x56, + 0xd7, 0x46, 0x2f, 0xab, 0xf9, 0xf9, 0x59, 0x68, 0x58, 0xd9, 0x54, 0xdb, + 0x5a, 0x35, 0xdf, 0x5b, 0xac, 0xfb, 0x9b, 0x96, 0x51, 0x47, 0xec, 0x7f, + 0x31, 0x9f, 0x53, 0x7b, 0x0f, 0x1c, 0x92, 0x0e, 0x88, 0x9b, 0x2d, 0xc4, + 0x74, 0xb4, 0xee, 0x08, 0xc1, 0x03, 0x3b, 0xc6, 0xd8, 0x96, 0x25, 0x39, + 0x6e, 0x02, 0xe6, 0x0d, 0x30, 0xd8, 0x9f, 0x9f, 0x9d, 0x61, 0x30, 0xe6, + 0x9a, 0xe2, 0x8c, 0x67, 0x7a, 0xab, 0x22, 0xb4, 0x89, 0xf8, 0x4b, 0x89, + 0x13, 0x36, 0xa9, 0x07, 0x47, 0x99, 0x59, 0x4e, 0x58, 0x88, 0x91, 0xe9, + 0x51, 0xf0, 0x45, 0x70, 0x29, 0x0b, 0x27, 0x93, 0x95, 0x20, 0x0c, 0x56, + 0x89, 0x21, 0x77, 0x36, 0x97, 0x15, 0x2d, 0x88, 0xdb, 0xd0, 0xed, 0x78, + 0xe5, 0xf3, 0x45, 0x75, 0xe7, 0xd1, 0x63, 0x08, 0xba, 0x52, 0x50, 0xe1, + 0x64, 0xab, 0x83, 0xc1, 0x8c, 0x19, 0x68, 0xf5, 0xab, 0xaf, 0x6d, 0x84, + 0x73, 0x3a, 0x8b, 0xe7, 0xb6, 0xc5, 0xc5, 0xa4, 0x45, 0x12, 0x10, 0x9c, + 0xbe, 0xde, 0x32, 0xee, 0xfd, 0x1e, 0xc4, 0x07, 0xad, 0x31, 0xc2, 0xb7, + 0xf3, 0xa2, 0x00, 0x12, 0xde, 0x12, 0xf7, 0x7b, 0x66, 0xde, 0x09, 0xdf, + 0x04, 0x7b, 0x8c, 0x43, 0x10, 0xb9, 0x17, 0xad, 0x1f, 0x35, 0x88, 0x52, + 0xd2, 0xfd, 0xb4, 0x34, 0xd4, 0x02, 0xf1, 0x01, 0xb1, 0x66, 0x21, 0x71, + 0x0e, 0xb6, 0xaf, 0x9d, 0xd2, 0x6f, 0x10, 0x50, 0x9e, 0x59, 0x25, 0xda, + 0x35, 0x09, 0x34, 0xf0, 0x30, 0xfd, 0x03, 0x3b, 0xd4, 0x99, 0x93, 0x1f, + 0xa9, 0xba, 0x68, 0x81, 0xa7, 0xb6, 0xf3, 0x45, 0xe2, 0x24, 0xd2, 0x39, + 0x75, 0xe8, 0xc0, 0x3e, 0x89, 0x7a, 0x67, 0xa0, 0xde, 0x2c, 0x63, 0xb2, + 0x60, 0x1f, 0x9a, 0x16, 0x14, 0xb0, 0xdd, 0x0c, 0xf8, 0x88, 0x77, 0x46, + 0xe8, 0x16, 0xc8, 0xd0, 0xf4, 0x15, 0xb1, 0xe0, 0x9e, 0x93, 0xc6, 0xdb, + 0x92, 0x8c, 0x68, 0x5f, 0x01, 0x02, 0x3a, 0x7f, 0x69, 0x44, 0x05, 0xab, + 0xf5, 0x35, 0x5d, 0xd8, 0xb7, 0x8a, 0xda, 0xf8, 0x3b, 0xd4, 0xd6, 0xfe, + 0xfe, 0x81, 0xb6, 0x7c, 0x90, 0x97, 0x48, 0x84, 0xd2, 0x57, 0x1b, 0x86, + 0xe5, 0xb8, 0x13, 0x26, 0x6d, 0x29, 0xec, 0x24, 0xbc, 0xf5, 0xb9, 0xbe, + 0x19, 0x38, 0x20, 0xd1, 0x19, 0x3d, 0xb4, 0x49, 0x49, 0x8b, 0xda, 0x70, + 0x23, 0x03, 0x0a, 0xc5, 0x72, 0x8a, 0x1e, 0xdf, 0x37, 0x23, 0x14, 0x59, + 0x01, 0x3b, 0x7d, 0xe2, 0x43, 0x71, 0x66, 0xfd, 0x03, 0x83, 0xeb, 0x8e, + 0xdb, 0xba, 0x55, 0x87, 0x3c, 0x8d, 0xf8, 0xa2, 0x8a, 0xe8, 0xf2, 0xee, + 0xbb, 0xee, 0x90, 0xe2, 0x8e, 0x84, 0xfe, 0x08, 0xf8, 0xc8, 0x0c, 0xd6, + 0x93, 0xf9, 0x19, 0x03, 0xad, 0x66, 0xd0, 0x0a, 0xcc, 0x48, 0x00, 0x16, + 0x8b, 0x98, 0x9b, 0x67, 0x0a, 0xa3, 0xb7, 0xa7, 0x2c, 0x75, 0x5b, 0x9e, + 0x7b, 0x71, 0x64, 0x44, 0x9d, 0x3d, 0x77, 0x41, 0xe2, 0x00, 0xdb, 0x03, + 0x7a, 0xbb, 0x3e, 0x8b, 0x84, 0x5e, 0x02, 0x12, 0x5c, 0x5d, 0xa9, 0xa8, + 0xa1, 0xe3, 0xf7, 0x49, 0xd0, 0xe7, 0x99, 0x26, 0x32, 0x60, 0x49, 0x65, + 0xba, 0x47, 0x58, 0x17, 0xf0, 0x69, 0x51, 0xe8, 0x80, 0x09, 0x43, 0xf9, + 0xa2, 0x06, 0x90, 0xee, 0x02, 0x38, 0xfa, 0xfa, 0xfa, 0xa2, 0x18, 0x80, + 0xbd, 0x2b, 0x66, 0x58, 0xa5, 0x6b, 0x66, 0xbf, 0xe2, 0x4c, 0x29, 0x85, + 0x1d, 0xbb, 0x86, 0xf8, 0x97, 0x44, 0xbc, 0x14, 0xb3, 0x12, 0x1e, 0x8e, + 0x4c, 0xb8, 0x36, 0x3e, 0xa6, 0x76, 0xec, 0x1c, 0xba, 0x2d, 0x67, 0xb6, + 0x9e, 0x74, 0x55, 0x40, 0xac, 0x37, 0xdf, 0x7e, 0x57, 0x9d, 0x3e, 0xf3, + 0xb1, 0xda, 0xbd, 0x7b, 0x48, 0xed, 0x1e, 0xda, 0x85, 0x6d, 0xe7, 0x9a, + 0x22, 0x7e, 0x68, 0xb3, 0xa1, 0xb1, 0xdf, 0x67, 0x51, 0x64, 0x7a, 0x66, + 0x56, 0x9d, 0x3e, 0x7b, 0x4e, 0x8d, 0x5f, 0xbd, 0x26, 0x1d, 0x18, 0x3a, + 0x53, 0xe9, 0x6f, 0x1f, 0xa2, 0xc2, 0x7d, 0x8c, 0x5c, 0xba, 0xa0, 0x4a, + 0xa5, 0xb2, 0x1a, 0xdc, 0xb1, 0x13, 0xc2, 0xd0, 0x10, 0x53, 0xe9, 0x9b, + 0x44, 0xa5, 0x20, 0x1c, 0x80, 0x17, 0xfa, 0x50, 0x56, 0x16, 0x6d, 0x5a, + 0xda, 0xa6, 0xfb, 0xe9, 0x8c, 0x29, 0xf8, 0xbe, 0xb6, 0xbd, 0x79, 0x51, + 0x07, 0xaa, 0x8d, 0x85, 0x4c, 0x36, 0x08, 0x6b, 0x34, 0x6a, 0xc5, 0x6c, + 0x26, 0xab, 0x9b, 0x8f, 0xfc, 0x44, 0xd4, 0x88, 0x74, 0xe8, 0xf0, 0x11, + 0x35, 0x06, 0x87, 0xc9, 0x4a, 0x50, 0x06, 0x9f, 0x33, 0x3d, 0xbc, 0x9d, + 0x4c, 0x48, 0x24, 0x74, 0x53, 0x15, 0x33, 0xae, 0x67, 0x3f, 0x3e, 0x27, + 0x09, 0x3f, 0x06, 0x81, 0xd9, 0x5c, 0x46, 0x8a, 0x3d, 0xbc, 0x27, 0x7e, + 0xee, 0x98, 0x56, 0x71, 0x36, 0x59, 0x55, 0x20, 0x8d, 0xcb, 0x30, 0x35, + 0x92, 0x39, 0xad, 0xd6, 0x75, 0x14, 0x0c, 0xc2, 0x33, 0x6b, 0x19, 0x6e, + 0x63, 0x4a, 0x9a, 0x02, 0x42, 0x10, 0x32, 0x07, 0x0b, 0x70, 0xf0, 0xd0, + 0x61, 0x49, 0xc1, 0xb3, 0x04, 0xeb, 0x99, 0xb1, 0x02, 0x44, 0xf0, 0x8c, + 0x05, 0x7c, 0x3f, 0x99, 0x67, 0x30, 0xc6, 0xea, 0xa2, 0xa5, 0x29, 0xb5, + 0x80, 0x96, 0x86, 0x83, 0x35, 0x24, 0xe7, 0x66, 0x47, 0xc2, 0x98, 0x08, + 0xd8, 0xd5, 0xe9, 0x6e, 0x1d, 0x84, 0xc9, 0x00, 0xbd, 0xd0, 0x29, 0xa7, + 0xb3, 0x19, 0x99, 0xba, 0x8b, 0x1c, 0xb3, 0x69, 0xdd, 0x01, 0x70, 0xbd, + 0xba, 0x5a, 0x51, 0xb3, 0xd3, 0x93, 0x2a, 0xb7, 0x77, 0xbf, 0xf1, 0x35, + 0xdb, 0xff, 0xd2, 0x92, 0x9b, 0x88, 0x90, 0x07, 0x87, 0x14, 0xcd, 0xcf, + 0x2f, 0x0a, 0x6a, 0x8a, 0xd0, 0x91, 0xd3, 0x6a, 0xca, 0xb5, 0xb6, 0x98, + 0x44, 0x89, 0xd7, 0x01, 0x9c, 0x6d, 0x2b, 0xd0, 0xe8, 0x89, 0xa4, 0xa6, + 0xa7, 0xae, 0xaa, 0x22, 0x4c, 0xdd, 0xd0, 0xf0, 0x1e, 0xf1, 0x3d, 0x36, + 0x78, 0xb4, 0xbd, 0x4d, 0xd2, 0xbe, 0x93, 0x49, 0x73, 0x66, 0x99, 0x5c, + 0xb9, 0x5c, 0x96, 0xb2, 0xae, 0x69, 0x55, 0x17, 0x45, 0xa0, 0xb0, 0x4b, + 0xf9, 0x92, 0x63, 0x74, 0xd9, 0xb1, 0xa5, 0xf4, 0xc0, 0xe2, 0x28, 0x0b, + 0x6a, 0x07, 0x64, 0x10, 0x82, 0xa6, 0xa3, 0x42, 0x4c, 0xab, 0xd8, 0x41, + 0x7f, 0x30, 0x34, 0xbc, 0x57, 0x55, 0x16, 0xe7, 0xe1, 0xe0, 0x96, 0x55, + 0x26, 0x9b, 0x37, 0xc9, 0xb2, 0x4f, 0xee, 0x65, 0x13, 0x61, 0x37, 0x53, + 0x41, 0xdb, 0xee, 0xaa, 0x18, 0x65, 0xb3, 0x56, 0x5d, 0x55, 0x0e, 0x60, + 0x2c, 0x9f, 0x9f, 0x69, 0x93, 0xd6, 0x34, 0x07, 0x1a, 0x19, 0x59, 0xa1, + 0xc9, 0x98, 0x58, 0xc0, 0x0a, 0xb5, 0x45, 0x42, 0x34, 0x3f, 0x74, 0xc4, + 0x04, 0x3f, 0x3e, 0x89, 0x6f, 0x63, 0x00, 0x6b, 0x9b, 0xe8, 0x83, 0xc9, + 0x25, 0x9c, 0x94, 0x4a, 0x40, 0x8d, 0xd2, 0xe9, 0x54, 0x34, 0x22, 0x3c, + 0x0e, 0xdd, 0x92, 0xb0, 0x73, 0x39, 0x48, 0x1a, 0xcd, 0x4f, 0x08, 0x1b, + 0x88, 0xcb, 0x1b, 0x04, 0xf8, 0xf7, 0x3b, 0x59, 0xd3, 0x27, 0x51, 0x8a, + 0x6c, 0x75, 0x70, 0x03, 0xff, 0x3b, 0x81, 0x1a, 0x18, 0x1c, 0x54, 0x8d, + 0xd0, 0x35, 0x21, 0x46, 0x7b, 0xe5, 0xce, 0x33, 0x5d, 0x72, 0x60, 0x40, + 0x72, 0x7a, 0x72, 0xa2, 0x10, 0x1b, 0xb0, 0x27, 0x73, 0x47, 0xb0, 0x3d, + 0x85, 0xc2, 0x2e, 0x0c, 0xa0, 0x37, 0x26, 0x24, 0xa2, 0x19, 0xb2, 0xcd, + 0xb8, 0x06, 0x36, 0x11, 0x82, 0x66, 0x52, 0xe9, 0xa4, 0x1d, 0x11, 0xe3, + 0xb8, 0x06, 0x86, 0xb6, 0xe1, 0x70, 0x30, 0xa6, 0xb7, 0x54, 0x14, 0x47, + 0xbc, 0x5a, 0x6b, 0xaa, 0xc6, 0x36, 0x55, 0xc4, 0x7e, 0x13, 0x5b, 0x51, + 0xf8, 0xec, 0x69, 0xc4, 0x27, 0xc9, 0x42, 0x4e, 0xcd, 0x2f, 0xaf, 0xb0, + 0x12, 0xaf, 0xdc, 0x35, 0xe9, 0x09, 0x4f, 0xca, 0x92, 0x7c, 0x67, 0xea, + 0xfb, 0xf2, 0xa5, 0xa5, 0xa8, 0x30, 0x63, 0x21, 0x3e, 0xa1, 0xe8, 0xf2, + 0xf2, 0xb2, 0x8c, 0x44, 0xf2, 0x39, 0x70, 0x8c, 0x45, 0x19, 0xfa, 0x00, + 0xda, 0x27, 0x6a, 0x81, 0x32, 0xf3, 0x43, 0x80, 0x01, 0x08, 0x01, 0xc0, + 0x46, 0xd3, 0x5e, 0x62, 0x07, 0x5d, 0xc7, 0x83, 0x1f, 0x66, 0x16, 0x57, + 0xeb, 0x4d, 0xb5, 0x73, 0xa0, 0x4f, 0x1c, 0xd3, 0xec, 0xc2, 0x92, 0x60, + 0xf6, 0xed, 0x2a, 0x01, 0xfe, 0x46, 0xb4, 0xa1, 0x70, 0x6e, 0x21, 0x3c, + 0x7f, 0x4f, 0x29, 0x0f, 0xe7, 0x9f, 0x51, 0x93, 0x33, 0x73, 0xaa, 0x56, + 0x6f, 0x74, 0x15, 0x34, 0x33, 0xa9, 0x86, 0x64, 0x0c, 0x38, 0x02, 0x1f, + 0xb1, 0x40, 0x29, 0x16, 0x88, 0xc9, 0x34, 0xa0, 0x84, 0xa4, 0x69, 0x19, + 0xcc, 0x11, 0x28, 0x9f, 0xcd, 0xa2, 0xfc, 0x83, 0x07, 0xe3, 0x5d, 0x10, + 0xd4, 0x00, 0xc0, 0xb7, 0x42, 0x26, 0x97, 0x4f, 0x11, 0x6d, 0x68, 0x78, + 0xb5, 0x76, 0x18, 0x0f, 0x09, 0xbd, 0xcc, 0xee, 0x66, 0x38, 0xc6, 0x3d, + 0x80, 0x89, 0xc4, 0xde, 0x93, 0xd3, 0xb3, 0xd2, 0x1d, 0x61, 0xcb, 0x86, + 0x9f, 0x46, 0x46, 0xd8, 0xfb, 0x26, 0xf1, 0xf3, 0x00, 0x21, 0x83, 0x7d, + 0xbd, 0xf0, 0x73, 0x69, 0x75, 0xed, 0xc6, 0x94, 0x9a, 0x5f, 0x5c, 0x5a, + 0xd7, 0x17, 0xd9, 0x2e, 0x09, 0x82, 0x16, 0x38, 0x61, 0x5e, 0x84, 0x43, + 0x96, 0x64, 0x52, 0x5b, 0x3b, 0x5c, 0x89, 0x1a, 0x40, 0x53, 0x4f, 0xc1, + 0xe7, 0xac, 0x4e, 0x72, 0x80, 0x36, 0x89, 0xf0, 0xc8, 0x8e, 0xee, 0xe6, + 0x06, 0x35, 0x29, 0xf4, 0x0d, 0x0c, 0xfa, 0x84, 0x9f, 0x52, 0x8b, 0x75, + 0xbb, 0x0f, 0xc8, 0x20, 0x2a, 0x98, 0x5b, 0x58, 0x10, 0x15, 0xdd, 0xbf, + 0x6f, 0x8f, 0xda, 0x0f, 0x98, 0x38, 0x09, 0x1c, 0x3e, 0x05, 0x46, 0x30, + 0x60, 0xda, 0xee, 0x68, 0xf9, 0xd7, 0xf1, 0xb2, 0x83, 0x36, 0x06, 0xfa, + 0x7a, 0xd4, 0x40, 0x7f, 0xaf, 0x24, 0xef, 0x58, 0xc8, 0x99, 0x98, 0x9e, + 0x56, 0x7a, 0xfa, 0xa4, 0xf5, 0x9d, 0xb4, 0x1d, 0x31, 0x23, 0xb1, 0x40, + 0x32, 0xc9, 0x58, 0x20, 0x19, 0x9b, 0xf4, 0xc4, 0xb5, 0x80, 0x47, 0xda, + 0x40, 0xcd, 0xb4, 0x34, 0x4e, 0x6c, 0xca, 0x61, 0xdb, 0xc7, 0x42, 0x8e, + 0x15, 0xd9, 0xe9, 0xe0, 0xca, 0x34, 0x2d, 0xbe, 0xe4, 0xbb, 0xd7, 0x1b, + 0x90, 0x91, 0x84, 0xe5, 0x9a, 0x43, 0xb4, 0x7a, 0xee, 0xc2, 0x88, 0x3a, + 0xb8, 0x6f, 0x58, 0x0d, 0xed, 0x1c, 0x54, 0x85, 0x7c, 0x4e, 0x4d, 0x4e, + 0xcd, 0x48, 0x41, 0x7c, 0x3b, 0xfb, 0x84, 0x3e, 0xc9, 0x57, 0x60, 0xe6, + 0xa5, 0x28, 0xc0, 0xce, 0x53, 0xea, 0x4b, 0x25, 0xf6, 0xcc, 0x36, 0xd5, + 0x85, 0x91, 0x2b, 0x6a, 0x76, 0x6e, 0x61, 0xc3, 0x81, 0xe6, 0xda, 0x2c, + 0x87, 0x76, 0x12, 0x2b, 0x87, 0x51, 0x79, 0x2a, 0x91, 0xcc, 0x43, 0x90, + 0x33, 0xcc, 0xff, 0x5b, 0xda, 0xda, 0xf1, 0x02, 0xcc, 0x07, 0x89, 0x06, + 0xb8, 0x5a, 0xac, 0x5b, 0x53, 0x13, 0x30, 0x19, 0xa7, 0x99, 0x50, 0xa6, + 0xcd, 0xe3, 0xbc, 0xac, 0x76, 0x1e, 0xe8, 0x8d, 0x50, 0x06, 0x4d, 0x15, + 0x0b, 0x14, 0x67, 0xce, 0x5d, 0x54, 0x43, 0xbb, 0x06, 0x55, 0x6f, 0xb9, + 0x04, 0x46, 0x0c, 0xc0, 0x1c, 0x65, 0xd4, 0xdc, 0xfc, 0x12, 0x82, 0xaa, + 0x9a, 0x44, 0xae, 0xee, 0x6f, 0x60, 0xa7, 0x9c, 0x35, 0x93, 0x19, 0x20, + 0xbe, 0x52, 0xb1, 0x20, 0x1b, 0xa1, 0xe4, 0xcc, 0xec, 0xbc, 0x1a, 0xbb, + 0x7a, 0x9d, 0x45, 0x76, 0xc5, 0x29, 0xb2, 0x37, 0xb2, 0xa6, 0xba, 0x7e, + 0x1d, 0x8a, 0x73, 0x94, 0xb4, 0x34, 0xe7, 0x2d, 0x4a, 0xa7, 0xb3, 0x04, + 0x33, 0x70, 0xc8, 0x5e, 0x3c, 0x18, 0x33, 0xa5, 0x5f, 0x1d, 0x09, 0x93, + 0x1b, 0x76, 0x6a, 0x1a, 0x99, 0x68, 0xa2, 0xd1, 0xf0, 0xea, 0x7a, 0x96, + 0xc4, 0x22, 0x33, 0x7d, 0x76, 0x9a, 0x18, 0x3d, 0x83, 0xd5, 0xaa, 0x54, + 0x95, 0xd6, 0x63, 0x82, 0x1d, 0xb4, 0x31, 0x3a, 0x7e, 0x1d, 0x44, 0x5f, + 0x54, 0xfd, 0x3d, 0x65, 0x38, 0xae, 0xb4, 0x4a, 0x82, 0x39, 0x4c, 0x2f, + 0x2c, 0x57, 0x56, 0xf1, 0x30, 0xf5, 0x68, 0x62, 0xbe, 0xbf, 0xcf, 0xb6, + 0x45, 0x3b, 0xf2, 0x52, 0x46, 0xfb, 0x27, 0x13, 0x02, 0xa9, 0x73, 0x59, + 0x11, 0x38, 0x11, 0x96, 0xab, 0xd7, 0x27, 0x44, 0xab, 0x6d, 0x2b, 0x8a, + 0x4d, 0x8f, 0x6f, 0x54, 0xf6, 0x64, 0x16, 0x94, 0x53, 0xf1, 0xb0, 0x64, + 0xcb, 0x04, 0x26, 0x22, 0xf6, 0x14, 0xa2, 0xde, 0x3c, 0xc0, 0x8e, 0x00, + 0x1b, 0xd3, 0x21, 0x67, 0x73, 0x41, 0x8e, 0x6f, 0x7a, 0x15, 0x1d, 0x03, + 0x95, 0x6c, 0x35, 0x8c, 0xa9, 0x09, 0xf0, 0x25, 0x99, 0xb7, 0x17, 0xe5, + 0x64, 0x49, 0xef, 0xbc, 0xfd, 0xb6, 0x3a, 0x7a, 0xcf, 0x31, 0xb5, 0x03, + 0x51, 0x30, 0x27, 0x2f, 0x5d, 0x77, 0x7a, 0x2f, 0x16, 0x27, 0x12, 0x9e, + 0xd4, 0x60, 0x47, 0x57, 0x38, 0x5d, 0x59, 0x4e, 0x15, 0x72, 0x19, 0x0d, + 0xe1, 0xa4, 0xa7, 0xa8, 0x21, 0x12, 0xc5, 0x77, 0x0e, 0x59, 0x0a, 0x4c, + 0x43, 0x55, 0x67, 0x86, 0xf3, 0x93, 0x22, 0xb8, 0x32, 0x81, 0x13, 0x91, + 0x0d, 0x05, 0x23, 0x95, 0xd2, 0x53, 0xac, 0x51, 0x78, 0x98, 0x02, 0x27, + 0x92, 0x5b, 0x80, 0xd9, 0x6c, 0xca, 0x44, 0x84, 0x76, 0x76, 0x94, 0xf5, + 0x47, 0x02, 0x09, 0xf1, 0xd3, 0x69, 0x29, 0x26, 0xfd, 0xec, 0xb5, 0xd7, + 0xd4, 0xee, 0xe1, 0xdd, 0xea, 0xc8, 0x91, 0x3b, 0xe5, 0xfa, 0xa0, 0x5d, + 0xf2, 0xc6, 0xf5, 0xb9, 0xb6, 0x60, 0xcc, 0xb6, 0xa8, 0x48, 0x22, 0xd4, + 0x06, 0x61, 0xb6, 0x35, 0xdd, 0x22, 0x21, 0xa8, 0x4d, 0xda, 0x4f, 0xa4, + 0x72, 0xf9, 0x7c, 0x41, 0x5d, 0xbf, 0x76, 0xdd, 0x79, 0xf9, 0xa7, 0x2f, + 0x49, 0x47, 0xf0, 0x3b, 0x6f, 0xfd, 0x52, 0xfd, 0xe1, 0x57, 0xff, 0x95, + 0x1a, 0xda, 0xbd, 0x3b, 0x9a, 0xf5, 0x70, 0xa3, 0x34, 0x02, 0x1f, 0x98, + 0xdd, 0x03, 0x94, 0x7e, 0x06, 0x74, 0x59, 0x30, 0x81, 0xb9, 0xf9, 0x7c, + 0x2e, 0x23, 0xea, 0xdc, 0x90, 0x51, 0x8c, 0xba, 0x8d, 0x84, 0x4d, 0xbe, + 0x64, 0x48, 0x3c, 0xa2, 0x5e, 0xaf, 0x74, 0xe8, 0x74, 0x0c, 0x02, 0x0e, + 0x3b, 0x09, 0x1d, 0xda, 0x11, 0xfa, 0x61, 0xd4, 0x2f, 0x64, 0x83, 0xc9, + 0x84, 0xf4, 0x72, 0x32, 0xb2, 0xd7, 0x63, 0xdc, 0x42, 0x9d, 0x92, 0x57, + 0xf3, 0x20, 0x3a, 0x7b, 0x7c, 0x08, 0xad, 0x3d, 0xc3, 0xa0, 0xcd, 0xc6, + 0x33, 0x48, 0x62, 0x0e, 0xcc, 0xe3, 0x74, 0x6c, 0xdf, 0xfb, 0x3f, 0x7f, + 0xaa, 0xf6, 0xee, 0xd9, 0xa3, 0xde, 0x7d, 0xeb, 0x4d, 0xb5, 0x30, 0x3f, + 0xaf, 0xee, 0xba, 0xfb, 0x28, 0xd3, 0x11, 0x2e, 0x34, 0xa0, 0x68, 0x27, + 0xee, 0xb0, 0x33, 0x91, 0x51, 0xe8, 0x25, 0xf3, 0x60, 0x4d, 0x10, 0x3f, + 0xa0, 0x6a, 0x98, 0x3a, 0x00, 0x93, 0x45, 0xd9, 0x54, 0x2a, 0x99, 0xa5, + 0xf4, 0x9e, 0x3a, 0x79, 0x4a, 0x3a, 0xd4, 0x9e, 0x7e, 0xfa, 0x19, 0xf5, + 0xa3, 0x17, 0x7f, 0xa8, 0x46, 0x46, 0x2e, 0xaa, 0x03, 0x07, 0x0f, 0xca, + 0xb0, 0xcf, 0xcd, 0x24, 0xd6, 0x89, 0x99, 0x25, 0x66, 0x5d, 0x99, 0x5c, + 0xe3, 0x83, 0xa5, 0xd9, 0x3e, 0x68, 0x24, 0x2f, 0x9b, 0xf6, 0xa2, 0xa6, + 0x57, 0xda, 0x50, 0x4a, 0x61, 0x5d, 0x06, 0xd8, 0x35, 0x84, 0x31, 0x0d, + 0xd3, 0x88, 0x25, 0x8d, 0x59, 0xfc, 0x17, 0x84, 0x6b, 0x4a, 0x64, 0xcc, + 0xff, 0xcb, 0x7c, 0x0f, 0x66, 0xf6, 0x46, 0x5d, 0x3e, 0xd5, 0x09, 0x3d, + 0x81, 0x85, 0xd2, 0xb1, 0xd0, 0xea, 0x1b, 0x6a, 0x1a, 0x86, 0xaf, 0xd4, + 0xa0, 0x8d, 0xec, 0xa4, 0xab, 0x6b, 0xb3, 0xe8, 0x9a, 0xe2, 0x4d, 0x3c, + 0x87, 0xb4, 0x69, 0x61, 0x86, 0xb3, 0x45, 0x2e, 0x2f, 0xa9, 0xe9, 0xa9, + 0x49, 0x75, 0xff, 0x7d, 0xf7, 0xc9, 0xdc, 0x77, 0xd3, 0x53, 0x53, 0x82, + 0x1c, 0x25, 0x16, 0x08, 0x82, 0x82, 0x9d, 0xca, 0xdf, 0x58, 0x17, 0xdb, + 0x02, 0xa4, 0xc4, 0x09, 0xdb, 0x21, 0xf4, 0x66, 0x5c, 0x98, 0xc4, 0x04, + 0x64, 0x40, 0x6f, 0xff, 0x40, 0x8a, 0x70, 0xec, 0x38, 0x2e, 0x7a, 0xf9, + 0xf2, 0x25, 0xf5, 0xca, 0x2b, 0x7f, 0xab, 0xb2, 0xf9, 0xa2, 0xf4, 0xc4, + 0xd3, 0x17, 0xd8, 0x96, 0x94, 0x9b, 0x4d, 0x0f, 0x90, 0xa0, 0x4b, 0x20, + 0x72, 0x85, 0xcc, 0xf0, 0xb4, 0x09, 0x60, 0x8d, 0x39, 0x93, 0x49, 0xc9, + 0xc8, 0x49, 0xa6, 0xbd, 0x29, 0x55, 0x74, 0x64, 0x2a, 0x36, 0xc9, 0x52, + 0x60, 0x24, 0x5b, 0x90, 0x4a, 0xcc, 0x24, 0x84, 0x66, 0xbc, 0x99, 0x92, + 0x64, 0x5c, 0x6b, 0x12, 0x27, 0x3d, 0x06, 0x39, 0xd0, 0x73, 0xd4, 0xe1, + 0xb7, 0x56, 0xed, 0x06, 0x29, 0x5f, 0x85, 0x1f, 0x92, 0x89, 0x66, 0x83, + 0xd6, 0xcc, 0x8a, 0xee, 0x2d, 0xa6, 0x33, 0x38, 0x46, 0x6e, 0x78, 0xef, + 0x3e, 0xf5, 0xcc, 0xe7, 0x7e, 0x4f, 0x88, 0x5f, 0x2a, 0xf7, 0xa8, 0xa7, + 0x9e, 0xfe, 0x07, 0xb2, 0xf8, 0x03, 0x04, 0xd8, 0x81, 0x3e, 0x17, 0x4d, + 0xb3, 0x73, 0xdb, 0x9c, 0x11, 0xd2, 0x89, 0x12, 0xbf, 0x10, 0x99, 0x60, + 0xf2, 0xd4, 0x2c, 0xb5, 0x15, 0x76, 0x0f, 0xef, 0x4d, 0xf2, 0x61, 0xe8, + 0x7c, 0xff, 0xfd, 0x7f, 0xf8, 0x7a, 0x44, 0x90, 0xba, 0x8c, 0xdf, 0x6d, + 0x98, 0xb1, 0xb2, 0xb7, 0x50, 0xca, 0x73, 0x5a, 0x93, 0x65, 0xd7, 0xd8, + 0xcb, 0x89, 0x6d, 0x09, 0xa1, 0xbd, 0xce, 0x22, 0x26, 0xc4, 0x57, 0x64, + 0xa5, 0xbd, 0x30, 0x23, 0xce, 0x9f, 0xc8, 0x24, 0x95, 0xd2, 0xbd, 0x42, + 0x1b, 0x41, 0x59, 0x19, 0x1e, 0xc5, 0x31, 0xc6, 0x10, 0x8e, 0x95, 0x95, + 0xaa, 0x14, 0xf6, 0xe9, 0x87, 0x68, 0xfe, 0x48, 0xf4, 0x6a, 0xbd, 0x26, + 0x0c, 0x89, 0x0f, 0x18, 0xf1, 0xb6, 0x69, 0xa4, 0x3f, 0x27, 0xa7, 0xfd, + 0xca, 0xb3, 0xff, 0x8c, 0xcb, 0x88, 0x88, 0x80, 0x4c, 0x42, 0x1b, 0xae, + 0x8e, 0x8f, 0x4b, 0xb3, 0x01, 0xd0, 0x4c, 0x11, 0x50, 0xd4, 0x37, 0x76, + 0xdf, 0x35, 0x5a, 0xd8, 0x36, 0x42, 0x46, 0x39, 0x31, 0x96, 0x93, 0x33, + 0x38, 0xb1, 0x58, 0x2a, 0x97, 0xa5, 0x04, 0x48, 0x6d, 0x67, 0x49, 0xcf, + 0x8f, 0x8d, 0x71, 0x75, 0x8c, 0xed, 0xdc, 0x8e, 0x9b, 0xb7, 0xcd, 0x0f, + 0x34, 0x33, 0xcb, 0x95, 0x86, 0xf8, 0x0c, 0xa5, 0xe6, 0xa2, 0x31, 0xc2, + 0x34, 0x29, 0x49, 0x3f, 0x21, 0x93, 0x64, 0x48, 0x98, 0x6f, 0xea, 0xd0, + 0x36, 0x5a, 0xb5, 0xfd, 0xa2, 0xe2, 0x4f, 0xea, 0x7a, 0x6c, 0x70, 0xdc, + 0x6c, 0x75, 0xb6, 0x33, 0x5a, 0x18, 0x1c, 0xaa, 0x6d, 0x9b, 0x8c, 0x4b, + 0x5e, 0x4b, 0x08, 0x46, 0x23, 0x38, 0x6a, 0x26, 0xf3, 0x90, 0xda, 0x05, + 0x30, 0x28, 0xcc, 0x2f, 0xa7, 0x2f, 0x58, 0xbb, 0x42, 0x47, 0x9b, 0x2a, + 0x99, 0xa8, 0x95, 0x0f, 0x00, 0x13, 0x50, 0xc8, 0x17, 0xf2, 0x32, 0x29, + 0x77, 0x0e, 0x7e, 0x40, 0x46, 0xc7, 0x78, 0xbe, 0xea, 0x66, 0x18, 0x6f, + 0x4d, 0x86, 0x9c, 0xae, 0x87, 0x9c, 0x6e, 0xc8, 0x05, 0xb7, 0x5d, 0xc7, + 0x03, 0xd5, 0x1a, 0x55, 0x10, 0x6c, 0xb5, 0x3b, 0xd5, 0x62, 0x35, 0x01, + 0x3a, 0xdc, 0xe4, 0x3a, 0xe6, 0x71, 0xfd, 0x0e, 0x8b, 0x9b, 0x67, 0xc5, + 0x7a, 0x97, 0xb1, 0xeb, 0x28, 0x14, 0x10, 0x7c, 0xad, 0xae, 0xca, 0xcc, + 0xbf, 0x39, 0x58, 0x14, 0x58, 0xd9, 0x94, 0x5d, 0x87, 0x46, 0xaa, 0x76, + 0x14, 0xfc, 0x78, 0x6f, 0x68, 0x7c, 0xe9, 0x0e, 0x9a, 0xa1, 0x54, 0x81, + 0x85, 0x18, 0x5c, 0x71, 0x61, 0x76, 0x46, 0x2d, 0xcf, 0xcf, 0x75, 0xf9, + 0xd1, 0x70, 0x0d, 0x02, 0x69, 0xcd, 0xbe, 0xa7, 0x62, 0x55, 0xa8, 0xf6, + 0x63, 0x51, 0x34, 0xb3, 0x6e, 0x71, 0x3c, 0xec, 0xca, 0x2c, 0xa7, 0x1b, + 0x0f, 0xc3, 0xf5, 0xbe, 0xd9, 0x9d, 0x4b, 0xad, 0xfb, 0x71, 0xd6, 0x88, + 0x82, 0x63, 0xc6, 0x1b, 0x74, 0xb4, 0x58, 0x74, 0xb9, 0x4d, 0xa7, 0xe3, + 0xf6, 0x3b, 0xae, 0xe5, 0xe8, 0x85, 0x1e, 0x48, 0xe8, 0x3c, 0xe3, 0xa7, + 0x72, 0xd9, 0xbb, 0x7a, 0xf5, 0x6a, 0x82, 0xab, 0x9e, 0x68, 0xad, 0x0c, + 0xb8, 0x3a, 0x13, 0x83, 0xdb, 0xd0, 0x67, 0x5b, 0x85, 0x6d, 0xd7, 0x66, + 0xc4, 0x4b, 0xf3, 0xc4, 0x46, 0xa2, 0xc9, 0xc9, 0xc9, 0xe9, 0x57, 0x5e, + 0x7d, 0xb5, 0x7e, 0xf1, 0xe2, 0xc5, 0x04, 0x7b, 0xf5, 0xd9, 0x7a, 0x67, + 0x1b, 0xb1, 0xec, 0x5c, 0xd1, 0xb6, 0x08, 0xe1, 0x38, 0x6e, 0x6c, 0xdf, + 0x69, 0xfb, 0x9b, 0x39, 0x14, 0xa9, 0x68, 0x39, 0xf1, 0xe9, 0x07, 0x74, + 0x4e, 0x49, 0x4a, 0x89, 0xf5, 0x46, 0xf4, 0xe0, 0xf6, 0x3b, 0xad, 0x87, + 0xde, 0xa6, 0x98, 0x20, 0x86, 0xff, 0x69, 0x46, 0x59, 0xbb, 0x0d, 0x8d, + 0x23, 0x6f, 0x0d, 0x6b, 0x0a, 0xa5, 0xac, 0x29, 0x93, 0x7b, 0xdb, 0x0e, + 0x0b, 0x56, 0xdd, 0xc2, 0x38, 0xac, 0xdd, 0xec, 0xef, 0x50, 0xcf, 0xd2, + 0x42, 0x73, 0x58, 0x6f, 0x98, 0x09, 0xca, 0xab, 0xea, 0x9d, 0x77, 0xde, + 0xb9, 0xb1, 0x6b, 0xd7, 0x2e, 0x2e, 0xe6, 0x20, 0xab, 0x30, 0x71, 0x41, + 0x1a, 0x12, 0x5f, 0xe2, 0x0c, 0xee, 0xf0, 0x03, 0xde, 0x81, 0x5d, 0xaa, + 0x89, 0x0a, 0x51, 0x2a, 0x95, 0xc6, 0x2e, 0x9c, 0xbf, 0x70, 0x7d, 0x61, + 0xa9, 0xb2, 0x87, 0xe3, 0x07, 0xd8, 0xfd, 0xc0, 0x4c, 0x67, 0x2a, 0x91, + 0x12, 0x78, 0x65, 0xd3, 0xd3, 0x26, 0xf3, 0x17, 0x6d, 0x32, 0x64, 0x5f, + 0x82, 0x1a, 0x5f, 0xfa, 0xe8, 0xd9, 0xe5, 0xbc, 0xbc, 0xb8, 0x28, 0x61, + 0x39, 0x71, 0x37, 0xcd, 0x98, 0xed, 0xcb, 0xe4, 0xf4, 0xc5, 0x43, 0x43, + 0xbb, 0x85, 0x01, 0x51, 0xc5, 0xcd, 0xcc, 0xc2, 0xb5, 0x5d, 0x53, 0xe1, + 0x08, 0xdd, 0x83, 0x30, 0x1a, 0x42, 0x7b, 0x75, 0x6c, 0x5c, 0xda, 0xea, + 0x75, 0x2a, 0xbd, 0x21, 0x4e, 0x59, 0x66, 0x54, 0x01, 0xe1, 0x39, 0xc1, + 0x60, 0x2e, 0x97, 0x97, 0xc9, 0x3c, 0x9a, 0xc6, 0x9f, 0x34, 0xc4, 0x9f, + 0x58, 0x48, 0x5c, 0x37, 0xf3, 0x4f, 0x34, 0x64, 0xa4, 0x8e, 0x85, 0xc8, + 0xd2, 0xa1, 0x01, 0x21, 0xe5, 0x80, 0x8d, 0x26, 0x4c, 0xcb, 0x12, 0x4c, + 0x0b, 0x21, 0x29, 0xe7, 0xbb, 0xbe, 0x3e, 0x3e, 0x36, 0x0b, 0x60, 0x71, + 0x02, 0x42, 0xb8, 0xcc, 0xd5, 0x35, 0xb8, 0x91, 0xce, 0xb4, 0x38, 0x70, + 0xca, 0x21, 0x07, 0x68, 0xd8, 0x95, 0x83, 0x64, 0xb5, 0x20, 0x10, 0x27, + 0xe0, 0xcc, 0xbb, 0x20, 0xfa, 0x8d, 0xca, 0xca, 0xca, 0xf4, 0xea, 0x4a, + 0x65, 0x8f, 0x99, 0x18, 0x51, 0x2d, 0x2d, 0x2e, 0xe8, 0x6a, 0x8f, 0xe7, + 0xb5, 0xf5, 0xf5, 0xdb, 0x39, 0x94, 0x3d, 0xd3, 0x1d, 0x66, 0xe1, 0x29, + 0x19, 0xf6, 0xd6, 0x9b, 0xbf, 0x52, 0xbf, 0xf8, 0xbb, 0xd7, 0xdb, 0x26, + 0x45, 0xb5, 0xfb, 0xc7, 0xee, 0x39, 0xae, 0xfe, 0xf0, 0x5f, 0x7c, 0xd5, + 0x0c, 0xed, 0xd4, 0xd3, 0x3f, 0x3a, 0x26, 0xe3, 0x1a, 0x99, 0x83, 0x6d, + 0xa9, 0xe2, 0x72, 0x7a, 0x9b, 0x40, 0x86, 0xd1, 0x7e, 0xf7, 0x7f, 0xfd, + 0x89, 0x3a, 0xf1, 0xd1, 0x87, 0x5d, 0xef, 0xe7, 0x77, 0x3f, 0xf7, 0x0f, + 0xd5, 0x13, 0x9f, 0xf9, 0x2c, 0x08, 0xb7, 0xa0, 0x17, 0xf3, 0x91, 0x78, + 0xa1, 0x19, 0x49, 0x75, 0xd3, 0x74, 0xc1, 0x35, 0xa3, 0x39, 0x89, 0x1a, + 0x66, 0xe6, 0x97, 0xc0, 0x1c, 0x6f, 0x0a, 0x3a, 0xe4, 0xf3, 0x2c, 0x2e, + 0x2d, 0x4a, 0x4a, 0x02, 0xbf, 0x39, 0x3d, 0x30, 0xd0, 0x7f, 0xce, 0x4b, + 0x26, 0x97, 0xb8, 0xb0, 0x0f, 0x57, 0x63, 0x0a, 0xf5, 0x3c, 0x36, 0x5c, + 0x99, 0x2f, 0xe4, 0x6a, 0x49, 0xbd, 0xe0, 0x4e, 0x86, 0xfd, 0x9f, 0x9c, + 0xeb, 0x06, 0xc4, 0xe7, 0xdf, 0xfd, 0x38, 0x67, 0x10, 0x9a, 0xf1, 0xec, + 0x03, 0x0f, 0x3e, 0xf8, 0x04, 0xa5, 0x36, 0x29, 0xaa, 0xeb, 0xb6, 0x9b, + 0x1b, 0x65, 0x66, 0xa6, 0x5a, 0x63, 0x8e, 0x5a, 0x9f, 0x59, 0xcd, 0x10, + 0x8c, 0x1e, 0xff, 0x9c, 0x53, 0x3f, 0xca, 0xcd, 0x37, 0xd6, 0x5c, 0x2f, + 0x9a, 0xfd, 0xca, 0xd9, 0xb2, 0x85, 0x59, 0x13, 0x19, 0x47, 0xf5, 0xfa, + 0xa8, 0x44, 0x2a, 0xf3, 0xe4, 0x44, 0x9d, 0x6b, 0x81, 0x69, 0x69, 0x91, + 0xff, 0x4c, 0x80, 0xa7, 0x25, 0xbc, 0xa9, 0x8f, 0x9b, 0x63, 0x1a, 0x44, + 0xad, 0x35, 0x35, 0x71, 0xd3, 0x65, 0x81, 0x82, 0x35, 0x4b, 0xba, 0x75, + 0xb3, 0x8e, 0xdd, 0xc0, 0x39, 0x79, 0xfa, 0xd4, 0x87, 0x88, 0xc0, 0xfe, + 0x1c, 0xbf, 0x7b, 0x15, 0x52, 0x3f, 0x83, 0x73, 0xa6, 0x81, 0x88, 0xe6, + 0xf1, 0xf7, 0x12, 0xde, 0x2b, 0xbe, 0x91, 0x00, 0x2e, 0xbb, 0x14, 0xea, + 0x6c, 0x74, 0x28, 0x4b, 0xf5, 0x31, 0x3b, 0x31, 0x3f, 0xbf, 0x50, 0x3f, + 0x75, 0xe6, 0xac, 0x2a, 0x23, 0xb0, 0x18, 0x80, 0x09, 0xca, 0xc9, 0xd4, + 0x94, 0x3e, 0x73, 0xdc, 0x66, 0x8e, 0x1c, 0x53, 0xff, 0x94, 0xae, 0xb9, + 0x98, 0x39, 0xe2, 0xdf, 0x31, 0xb3, 0xe4, 0x59, 0xd3, 0x24, 0x9b, 0x81, + 0x93, 0xd1, 0xf9, 0x09, 0x7d, 0x1d, 0xaf, 0x35, 0x0b, 0x57, 0x1c, 0x66, + 0xde, 0x4c, 0xf1, 0xa4, 0x15, 0x15, 0xbb, 0x6b, 0xe6, 0x0b, 0x35, 0xce, + 0x4f, 0x9b, 0x0b, 0x4a, 0xab, 0x19, 0x69, 0x69, 0xe1, 0xab, 0x36, 0x23, + 0x8d, 0x28, 0x25, 0xd2, 0x94, 0x68, 0xbc, 0x6e, 0x4c, 0x90, 0x8e, 0xcc, + 0x65, 0xdf, 0x30, 0x49, 0xcc, 0x0f, 0x4d, 0x51, 0xb3, 0x65, 0x86, 0xf8, + 0x39, 0xe3, 0x90, 0x4a, 0xa5, 0xaa, 0x26, 0x27, 0x26, 0x9c, 0xb9, 0xb9, + 0x59, 0x35, 0x35, 0x31, 0x59, 0x2b, 0x97, 0x4b, 0x66, 0xf9, 0x31, 0xbd, + 0x0c, 0x19, 0xd7, 0x23, 0xb3, 0x6b, 0x52, 0xd2, 0x09, 0x93, 0xe8, 0x06, + 0xb0, 0x84, 0xb2, 0x56, 0x22, 0xcd, 0x10, 0x19, 0x01, 0x0d, 0xa8, 0x11, + 0xff, 0xb3, 0x26, 0x4c, 0x53, 0x65, 0x97, 0xfd, 0xb0, 0x13, 0x77, 0x5b, + 0xe2, 0x4a, 0x7e, 0xc5, 0xf6, 0xc4, 0x74, 0xf8, 0x84, 0xf5, 0xb6, 0xe8, + 0xfb, 0xc6, 0x64, 0xd9, 0xcd, 0x8d, 0x99, 0xb7, 0xad, 0x31, 0x40, 0x63, + 0xee, 0x38, 0x30, 0xd0, 0x51, 0xba, 0x1f, 0xcd, 0xed, 0xd9, 0x30, 0x33, + 0xb7, 0x2b, 0x13, 0x6b, 0x74, 0x6e, 0x12, 0x33, 0x18, 0xe2, 0xdb, 0xad, + 0x19, 0x27, 0xba, 0x25, 0xb0, 0xfd, 0xcc, 0x7c, 0x4e, 0x66, 0xe8, 0xef, + 0xeb, 0xd4, 0x46, 0xc3, 0xa4, 0x34, 0xd8, 0x97, 0x44, 0xf3, 0xc3, 0xc1, + 0x85, 0x35, 0x1c, 0xe4, 0xaa, 0x7b, 0x81, 0x7e, 0x35, 0xad, 0x13, 0xa6, + 0xc0, 0x1b, 0xa1, 0x77, 0xb9, 0xd0, 0x18, 0x9d, 0x90, 0x5d, 0x29, 0x8e, + 0xcb, 0xc4, 0xc9, 0x7a, 0x89, 0xb0, 0x69, 0x2c, 0x16, 0xe8, 0x05, 0x19, + 0x64, 0x66, 0xd8, 0x84, 0x8c, 0x86, 0x1c, 0xbd, 0x3c, 0xa2, 0xbe, 0xf7, + 0xa7, 0xff, 0x5b, 0x6e, 0x40, 0x46, 0x1e, 0xca, 0xd4, 0x95, 0x6e, 0x87, + 0x39, 0xb2, 0x66, 0xe5, 0x93, 0x29, 0x17, 0xd2, 0x4f, 0x30, 0xcf, 0x72, + 0xed, 0xea, 0x55, 0xf5, 0x95, 0x7f, 0xfc, 0x25, 0xf8, 0x99, 0x9f, 0x29, + 0x26, 0x0e, 0x39, 0x62, 0xff, 0x17, 0xaf, 0xff, 0x4c, 0xcd, 0xcd, 0xcc, + 0xa8, 0x13, 0x1f, 0xbe, 0x2f, 0x00, 0xe0, 0x57, 0x6f, 0xfc, 0x5c, 0xaf, + 0x2f, 0x60, 0xd7, 0x3c, 0xb0, 0x9b, 0x9e, 0x78, 0x3b, 0xd2, 0x38, 0xd9, + 0xf7, 0xdc, 0xc8, 0x87, 0xb9, 0x66, 0xae, 0x68, 0xfb, 0xb9, 0x7c, 0xc7, + 0xc4, 0x19, 0x72, 0xbe, 0x99, 0x31, 0x2c, 0x6a, 0x50, 0x36, 0xdf, 0xb1, + 0x53, 0x35, 0xd3, 0x8f, 0x85, 0xcd, 0x00, 0x3c, 0x81, 0x2e, 0x69, 0x9a, + 0x06, 0x30, 0x3b, 0x22, 0xfd, 0x78, 0xd7, 0x30, 0xd4, 0x3c, 0x90, 0x20, + 0x21, 0xb3, 0x56, 0xa2, 0x68, 0x00, 0xeb, 0x31, 0x38, 0x5e, 0xe3, 0x58, + 0xb0, 0x37, 0xdf, 0xf8, 0x85, 0x1e, 0x5d, 0x52, 0xad, 0xa9, 0x47, 0x1e, + 0x7b, 0x4c, 0x90, 0x02, 0x67, 0xb8, 0x22, 0xd7, 0xe5, 0x47, 0x02, 0x3a, + 0xb8, 0x9c, 0x19, 0x9a, 0x93, 0x90, 0x14, 0x6f, 0x9b, 0x19, 0x32, 0xa8, + 0x28, 0x11, 0x33, 0x41, 0x32, 0x9d, 0x98, 0x9d, 0x81, 0xdd, 0x8f, 0x69, + 0x80, 0xe3, 0x46, 0x9a, 0x10, 0xa1, 0xa0, 0xd0, 0xba, 0x52, 0x4d, 0xfc, + 0x55, 0xa0, 0x0c, 0x4e, 0x73, 0x4f, 0x06, 0x13, 0xe6, 0x71, 0xe6, 0x43, + 0x6a, 0x28, 0xbb, 0xb6, 0x4f, 0xc2, 0xc1, 0x7e, 0xe7, 0xdb, 0x7f, 0x2c, + 0xcc, 0xe0, 0x74, 0x0a, 0xbc, 0x57, 0x8e, 0x60, 0x79, 0xf4, 0xf1, 0xc7, + 0xd5, 0x7f, 0xfc, 0x4f, 0xff, 0x59, 0x13, 0x97, 0xdd, 0x1d, 0x74, 0xc0, + 0x30, 0x25, 0x8e, 0x4b, 0x1f, 0xd4, 0x90, 0x05, 0x00, 0xf5, 0x84, 0x7e, + 0x1c, 0x80, 0xb7, 0xaa, 0xc7, 0x3c, 0x83, 0x69, 0x9c, 0xe9, 0x45, 0xfb, + 0x0d, 0x4f, 0xad, 0xc2, 0x50, 0x24, 0xe9, 0x07, 0xeb, 0xda, 0xd1, 0x5a, + 0x48, 0xcb, 0xd4, 0x7a, 0xe8, 0xea, 0x49, 0xac, 0x42, 0x93, 0x5b, 0xf2, + 0x5c, 0x9d, 0x41, 0x80, 0xbc, 0x57, 0x41, 0x52, 0x76, 0x63, 0x51, 0xfa, + 0x9b, 0x66, 0x15, 0x56, 0x31, 0xf7, 0x5c, 0x8f, 0xd8, 0x9f, 0x9f, 0x9f, + 0x0f, 0x65, 0x25, 0x42, 0x30, 0xc1, 0x9a, 0x1e, 0xae, 0x04, 0xc7, 0x9c, + 0x1c, 0x17, 0xaa, 0xe4, 0xc5, 0xd8, 0x84, 0x6b, 0xa3, 0x52, 0x12, 0xbe, + 0xaf, 0xaf, 0xdf, 0xa8, 0x73, 0x43, 0x9c, 0x0f, 0xfd, 0x01, 0xd1, 0x0e, + 0x47, 0xb8, 0x88, 0xb3, 0x76, 0xdc, 0x68, 0x22, 0xbb, 0x35, 0x23, 0x0c, + 0x6d, 0x1c, 0x21, 0xd2, 0xa4, 0x27, 0xd8, 0xb3, 0x93, 0x7a, 0x5b, 0x26, + 0xb4, 0x32, 0x91, 0x8e, 0x6a, 0x91, 0x5e, 0x19, 0xf3, 0x52, 0x05, 0x31, + 0x9f, 0x50, 0x8f, 0x3c, 0xfa, 0x58, 0xdb, 0x32, 0x59, 0xb6, 0x23, 0x8e, + 0xad, 0x92, 0x57, 0x63, 0xd3, 0x03, 0x5b, 0x84, 0x73, 0xf1, 0xc2, 0x05, + 0x61, 0xc6, 0xff, 0xfd, 0xd1, 0x8b, 0xea, 0x07, 0x7f, 0xf6, 0x5d, 0xe5, + 0xa6, 0xb2, 0xd2, 0xdf, 0x53, 0x6f, 0x84, 0x52, 0x46, 0xe4, 0xd6, 0x60, + 0x83, 0xad, 0x0a, 0xd4, 0xb3, 0x5f, 0xfd, 0xd7, 0x92, 0xdb, 0x9f, 0xc5, + 0xb3, 0x3e, 0xf5, 0xf4, 0x33, 0x6a, 0x64, 0xe4, 0x92, 0x3a, 0x7b, 0xea, + 0xa4, 0x3a, 0x7c, 0xe4, 0xb0, 0xfa, 0xeb, 0x1f, 0xfc, 0x95, 0x64, 0x06, + 0x3e, 0xff, 0xf9, 0x7f, 0x24, 0xeb, 0x1c, 0x7c, 0xfc, 0xf1, 0xc7, 0xea, + 0x4b, 0x5f, 0xfa, 0xa2, 0x00, 0x8a, 0x1f, 0xfe, 0xf0, 0x87, 0xea, 0xa1, + 0x07, 0x1f, 0x54, 0x47, 0xee, 0x38, 0xa2, 0x2e, 0x9c, 0x3b, 0x2b, 0x0c, + 0xc5, 0x3d, 0x72, 0xb1, 0x4f, 0x61, 0x00, 0xee, 0x9d, 0x76, 0x5f, 0x2c, + 0x0c, 0xb5, 0x40, 0x52, 0x11, 0x06, 0x82, 0x06, 0x99, 0x4c, 0xc6, 0x62, + 0x54, 0x12, 0xbf, 0x21, 0x49, 0x3e, 0x59, 0x25, 0xb4, 0x7d, 0x99, 0xa9, + 0xa0, 0xd9, 0x2a, 0xb2, 0x4b, 0x62, 0x8b, 0x7d, 0x40, 0x90, 0xe8, 0xb7, + 0x7f, 0xf5, 0x86, 0x1a, 0x1d, 0x1b, 0x53, 0x85, 0x52, 0x8f, 0x9c, 0xd3, + 0x1e, 0xf2, 0x87, 0x9b, 0xfe, 0x4d, 0xe2, 0xb1, 0xe3, 0xac, 0x01, 0x2c, + 0x9d, 0xe4, 0x9c, 0x14, 0x5e, 0xc2, 0x4c, 0x23, 0xe9, 0xb4, 0xd5, 0x17, + 0x96, 0x17, 0xe7, 0x45, 0xf3, 0x3e, 0xfb, 0xd4, 0xef, 0xe8, 0xc5, 0x9e, + 0xc3, 0xb0, 0x05, 0x85, 0x62, 0x6c, 0x73, 0xa2, 0x35, 0x24, 0x35, 0x03, + 0x38, 0xa1, 0x1e, 0x13, 0x7d, 0x9c, 0xc9, 0xe5, 0x91, 0xf2, 0xa4, 0x7a, + 0x7b, 0xbc, 0xae, 0x8e, 0x0e, 0xe7, 0xd5, 0xf9, 0x1b, 0xcb, 0xaa, 0x94, + 0x4d, 0xaa, 0x94, 0x1f, 0xaa, 0xa9, 0xc5, 0x86, 0xba, 0x6b, 0x28, 0xab, + 0xe6, 0x97, 0x56, 0xd4, 0x8b, 0x7f, 0xf5, 0x82, 0x9a, 0x82, 0x40, 0x3d, + 0xf4, 0xf0, 0xc3, 0xea, 0x4f, 0xfe, 0xf8, 0x5b, 0xea, 0xa9, 0xa7, 0x3e, + 0x23, 0xcd, 0x97, 0xe7, 0xcf, 0x9f, 0x53, 0x47, 0x8e, 0xdc, 0x21, 0x55, + 0x3e, 0x0e, 0x2a, 0xbc, 0x7e, 0xed, 0xaa, 0xca, 0x40, 0xf3, 0x89, 0xaa, + 0xa8, 0x69, 0xbc, 0xe7, 0x1d, 0x83, 0x83, 0xc2, 0x40, 0x26, 0xe2, 0x60, + 0x15, 0xaa, 0x60, 0x82, 0xf5, 0x03, 0x7c, 0xa0, 0x40, 0x4f, 0xa2, 0x12, + 0x84, 0x5c, 0x71, 0xd5, 0xe7, 0x8a, 0xcf, 0x0b, 0x0b, 0x0b, 0x21, 0xb9, + 0x03, 0x4d, 0x10, 0x37, 0xcd, 0x93, 0xb9, 0x54, 0x00, 0x38, 0xb2, 0x0a, + 0x49, 0x0e, 0xb8, 0x8a, 0x36, 0x1f, 0x84, 0x4e, 0xc5, 0xb5, 0x7d, 0x8f, + 0xe9, 0x54, 0x34, 0x00, 0x82, 0xaf, 0xfd, 0xfb, 0x0f, 0xa8, 0xcf, 0xfd, + 0xde, 0xef, 0xab, 0xc7, 0x9f, 0xfc, 0x0c, 0x1c, 0x50, 0xc7, 0x7a, 0x5c, + 0xce, 0xd6, 0x70, 0xe4, 0x2f, 0x7f, 0xf1, 0x73, 0xf5, 0xf3, 0x9f, 0xbd, + 0xa6, 0xfe, 0xe0, 0x9f, 0x7e, 0x45, 0xdd, 0x71, 0xc7, 0x5d, 0x6d, 0x29, + 0x67, 0xfe, 0x0e, 0x25, 0xef, 0x85, 0xe7, 0xbf, 0x2f, 0x76, 0x9e, 0x79, + 0x94, 0xf8, 0xe4, 0x1c, 0x9c, 0x4c, 0x56, 0x0a, 0x39, 0x1d, 0xe9, 0x8e, + 0xb0, 0x2d, 0xed, 0xa1, 0x64, 0xb1, 0xb9, 0x6f, 0xff, 0x6c, 0x4a, 0x25, + 0x32, 0x49, 0x75, 0xee, 0xda, 0xb2, 0xaa, 0x71, 0xe1, 0x4e, 0x83, 0x7c, + 0x29, 0x93, 0xef, 0x5e, 0x9a, 0x53, 0x5f, 0xff, 0x82, 0x26, 0x68, 0x1e, + 0x1a, 0xc3, 0xa9, 0xfc, 0x39, 0x0d, 0xcd, 0x67, 0x3f, 0xfb, 0x94, 0x2c, + 0x7b, 0x42, 0x27, 0xbc, 0x77, 0xef, 0x1e, 0x59, 0xe5, 0xe9, 0xc7, 0x3f, + 0xfe, 0xb1, 0x5c, 0xf3, 0xee, 0xa3, 0x47, 0xa3, 0xca, 0x19, 0x83, 0x4b, + 0x7e, 0xf6, 0xfd, 0xbf, 0xf8, 0x0b, 0x99, 0x3b, 0x23, 0x9d, 0xc9, 0xac, + 0x92, 0x01, 0xac, 0xc5, 0xd3, 0x14, 0x41, 0x68, 0x9a, 0xc6, 0xc4, 0x6b, + 0xab, 0x43, 0x2e, 0x30, 0x22, 0x23, 0xec, 0xe4, 0xd2, 0xdc, 0x3c, 0x09, + 0x8c, 0xa8, 0x4b, 0x76, 0xba, 0xd1, 0x58, 0x81, 0x49, 0x09, 0x86, 0x87, + 0x87, 0x5d, 0xb3, 0x34, 0xb9, 0xca, 0xc1, 0xf1, 0xb1, 0x4e, 0x3c, 0x3c, + 0xbc, 0x47, 0x52, 0xc5, 0x1f, 0x9f, 0x39, 0xad, 0xde, 0xf8, 0xc5, 0xdf, + 0x71, 0x98, 0x53, 0x3d, 0x93, 0x4a, 0x38, 0xb9, 0x14, 0xee, 0xa4, 0xe1, + 0x6d, 0xb9, 0x03, 0xc2, 0x9a, 0x95, 0x47, 0x1e, 0x7e, 0x44, 0xad, 0x2c, + 0xce, 0xd7, 0xff, 0xe6, 0xff, 0xbd, 0x54, 0x7b, 0xec, 0xe1, 0x87, 0x32, + 0x7b, 0xf0, 0x9b, 0x27, 0xa1, 0xf6, 0x76, 0x2d, 0x18, 0xf2, 0x39, 0x9b, + 0xf4, 0xc2, 0xbe, 0xde, 0x9e, 0xc6, 0x9b, 0xbf, 0xfa, 0xa5, 0xf7, 0xe3, + 0x1f, 0xbd, 0xe8, 0x7e, 0xf3, 0xbf, 0xfe, 0x37, 0x19, 0x93, 0xbb, 0x6b, + 0xd7, 0x4e, 0xb9, 0x17, 0x89, 0x78, 0xc3, 0x40, 0xcc, 0x60, 0x2a, 0xdd, + 0x9a, 0xb1, 0x65, 0x01, 0x81, 0x95, 0x5d, 0xd6, 0x9c, 0x88, 0xe5, 0xdf, + 0xfc, 0xfe, 0x6e, 0xf5, 0xc1, 0x44, 0x42, 0xdd, 0xb7, 0x27, 0xad, 0x4e, + 0x8c, 0x2e, 0xa9, 0x5d, 0x3d, 0x5c, 0xb7, 0x2c, 0x94, 0xce, 0xbe, 0x5d, + 0xe5, 0xa4, 0x62, 0x63, 0x35, 0x4d, 0xa5, 0xfd, 0x0e, 0xa1, 0xf7, 0x0f, + 0x7e, 0xf0, 0x83, 0xa8, 0xe6, 0x7b, 0xee, 0xdc, 0x39, 0xf5, 0xad, 0x6f, + 0x7d, 0x4b, 0x5d, 0x1a, 0x19, 0x91, 0x99, 0x62, 0xbe, 0xff, 0xfd, 0xef, + 0xeb, 0xcc, 0x27, 0xfc, 0xc6, 0x7b, 0xef, 0xbd, 0xa7, 0xbe, 0xfd, 0x9d, + 0xef, 0xa8, 0x2b, 0xa3, 0xa3, 0x32, 0x16, 0xad, 0x02, 0x18, 0x49, 0x57, + 0xc5, 0x29, 0x23, 0x48, 0x5b, 0xce, 0x64, 0x46, 0x61, 0xa7, 0x4c, 0x51, + 0xf8, 0xd9, 0x30, 0x14, 0x02, 0x8a, 0x8a, 0xf4, 0x9b, 0x15, 0x40, 0xe9, + 0xb1, 0xeb, 0x78, 0xaf, 0xe2, 0xa9, 0x97, 0xd3, 0xe9, 0x4c, 0xf3, 0xee, + 0xbb, 0xee, 0xf4, 0xf5, 0x02, 0x6c, 0x81, 0x78, 0x7d, 0x9a, 0x20, 0xaa, + 0x19, 0x61, 0x17, 0x3b, 0x84, 0xf7, 0xef, 0xdd, 0xcb, 0x94, 0xc3, 0xf5, + 0xbf, 0xfc, 0xcb, 0x17, 0xe6, 0xff, 0xec, 0xcf, 0xfe, 0x3c, 0x6f, 0x66, + 0xdd, 0x0d, 0x62, 0x46, 0x26, 0xec, 0x36, 0xa9, 0x9f, 0x35, 0x2b, 0x5c, + 0xf6, 0xef, 0xbf, 0xfc, 0xd1, 0x1f, 0xed, 0xc1, 0x75, 0xe7, 0x21, 0x41, + 0x67, 0x70, 0xf8, 0xfe, 0x97, 0x7e, 0xfa, 0xd3, 0xc4, 0xff, 0xfc, 0xce, + 0x77, 0xae, 0xd3, 0x3f, 0x99, 0x69, 0x09, 0xd8, 0xd2, 0x17, 0x80, 0x28, + 0x2b, 0xbb, 0xf1, 0x2a, 0x95, 0x8a, 0x45, 0x42, 0x64, 0xbe, 0x7a, 0x10, + 0xa7, 0x90, 0x60, 0xcb, 0x80, 0x7f, 0x1c, 0xfc, 0x76, 0xfc, 0xde, 0x7b, + 0x15, 0xa7, 0x83, 0xe1, 0xda, 0x63, 0x5c, 0xb5, 0xe9, 0xf4, 0xe9, 0xd3, + 0x52, 0xcd, 0x63, 0x31, 0x26, 0x9d, 0x4a, 0xa8, 0xd7, 0xc7, 0x5c, 0x95, + 0x2a, 0xf6, 0xab, 0xd3, 0xb3, 0x4d, 0xb5, 0x9a, 0x4c, 0xab, 0xab, 0x55, + 0x47, 0x02, 0x2e, 0xde, 0xec, 0xe4, 0x8d, 0x8a, 0x3a, 0x98, 0xf2, 0x44, + 0xda, 0x29, 0x68, 0x4c, 0x39, 0x70, 0x0c, 0xc0, 0xc9, 0x13, 0x27, 0x44, + 0xfb, 0x8f, 0xde, 0x7d, 0x37, 0x4c, 0xd3, 0xb4, 0xac, 0x45, 0x73, 0xe8, + 0xe0, 0x41, 0xb5, 0x13, 0x74, 0xf8, 0xe0, 0xfd, 0xf7, 0xc5, 0x69, 0x73, + 0x7d, 0xb4, 0xab, 0x40, 0x65, 0x7f, 0xfb, 0xf2, 0xcb, 0x32, 0x8a, 0x14, + 0x42, 0xc1, 0x35, 0xe6, 0x2b, 0x94, 0x31, 0x0a, 0x34, 0x19, 0x40, 0xeb, + 0xc2, 0x4c, 0x03, 0x7d, 0xed, 0xdc, 0xdc, 0x5c, 0xc0, 0x41, 0xda, 0x6c, + 0x9b, 0xe0, 0xb2, 0xe4, 0x9c, 0x9f, 0x8c, 0x6b, 0x21, 0xe6, 0xd8, 0x11, + 0xcd, 0x19, 0x12, 0x61, 0x9a, 0x9e, 0x38, 0x7e, 0xff, 0x03, 0x5f, 0xdf, + 0xb1, 0x63, 0x67, 0x86, 0xfd, 0xf8, 0x4c, 0x4d, 0x67, 0xa0, 0x01, 0x29, + 0x4e, 0x5e, 0xdd, 0xa8, 0xaa, 0x15, 0x88, 0x0a, 0x61, 0x5a, 0x1f, 0x8e, + 0xbf, 0xf2, 0xca, 0xcb, 0x6f, 0x8d, 0x8f, 0x8d, 0xbd, 0x67, 0xa6, 0xec, + 0x25, 0x07, 0xb8, 0xa8, 0x65, 0xd3, 0x10, 0x5f, 0x54, 0xce, 0xda, 0xe4, + 0x16, 0x0f, 0x1c, 0xbb, 0x46, 0x58, 0x01, 0xd2, 0x70, 0x3f, 0xce, 0x9f, + 0xc3, 0xfe, 0xe9, 0x72, 0xb9, 0xfc, 0x10, 0x7b, 0x66, 0xb0, 0x9d, 0x80, + 0xc4, 0x51, 0x1b, 0xb9, 0x7e, 0x99, 0xc7, 0x96, 0x6e, 0x32, 0xeb, 0x89, + 0x27, 0x3f, 0xf3, 0xbb, 0x47, 0x8f, 0x1d, 0xdb, 0x9d, 0x48, 0xa5, 0x05, + 0x49, 0xbd, 0xff, 0xce, 0x5b, 0xea, 0xd1, 0x27, 0x3e, 0xa3, 0xf6, 0x4b, + 0xaf, 0x7e, 0x46, 0xbd, 0xf7, 0xd6, 0x9b, 0xea, 0x00, 0xf6, 0xc7, 0xae, + 0x5c, 0xc1, 0xb1, 0x83, 0xea, 0xcc, 0xc9, 0x93, 0xea, 0xd8, 0xf1, 0x7b, + 0x65, 0x9d, 0xb3, 0x0f, 0xdf, 0x7d, 0x5b, 0xbd, 0xfd, 0xce, 0xbb, 0x32, + 0x7f, 0x44, 0x4d, 0x8a, 0x4a, 0x2a, 0xaa, 0x8a, 0x51, 0x63, 0x96, 0x96, + 0x96, 0xd5, 0x63, 0x8f, 0x3f, 0xa6, 0xce, 0x9d, 0x3d, 0x23, 0xc8, 0xaf, + 0x54, 0xee, 0x55, 0x6f, 0xbf, 0xf9, 0x4b, 0x33, 0x59, 0xad, 0xaf, 0x7a, + 0xfb, 0x64, 0x74, 0xa3, 0xd4, 0x47, 0x06, 0x06, 0x07, 0x44, 0x28, 0x59, + 0x05, 0x23, 0xea, 0xe2, 0xec, 0x90, 0xdc, 0xb7, 0x6b, 0xdf, 0x2c, 0x2c, + 0x2e, 0x36, 0x5e, 0x79, 0xf5, 0x95, 0xff, 0x5e, 0xcc, 0xe7, 0x5f, 0xc5, + 0xb5, 0x17, 0x70, 0xee, 0x22, 0xae, 0x03, 0x59, 0xad, 0xac, 0x70, 0x11, + 0x68, 0xdc, 0x6b, 0x8d, 0x23, 0xf5, 0x32, 0x60, 0x00, 0x57, 0x4b, 0x4d, + 0xb2, 0x10, 0x8f, 0x83, 0x59, 0x9c, 0x9c, 0x65, 0x1d, 0x13, 0x50, 0xef, + 0xfe, 0xfe, 0x81, 0xc1, 0x7f, 0x8b, 0x8b, 0x1d, 0x20, 0x66, 0x4d, 0xa6, + 0x52, 0x0e, 0x47, 0x4b, 0xd2, 0x0c, 0x31, 0xd1, 0xc6, 0x4c, 0x2a, 0x73, + 0x1e, 0x34, 0x59, 0x4b, 0x4b, 0x8b, 0x2f, 0x97, 0x8b, 0xc5, 0xd7, 0x39, + 0xbb, 0x19, 0x89, 0x4f, 0x2e, 0x53, 0xa3, 0x88, 0xa8, 0xf8, 0x5d, 0xda, + 0x3b, 0xbe, 0xdb, 0x76, 0x46, 0xd6, 0x47, 0x4d, 0x3f, 0x12, 0xaf, 0x93, + 0x85, 0x29, 0x1c, 0xc2, 0x77, 0xb8, 0x16, 0x3b, 0xf8, 0xbe, 0xc0, 0x35, + 0x52, 0x82, 0x1d, 0x3b, 0x76, 0x4c, 0x40, 0xe2, 0x1b, 0xa6, 0x93, 0x40, + 0x16, 0xc7, 0x84, 0xed, 0x2f, 0xe1, 0xa2, 0x5f, 0x2a, 0x14, 0x4b, 0xc7, + 0xed, 0x22, 0x3c, 0x88, 0x34, 0x39, 0x69, 0x76, 0x34, 0xe7, 0x34, 0x4d, + 0x05, 0x6d, 0x35, 0xa3, 0x6d, 0x06, 0x53, 0x84, 0xc5, 0xac, 0x88, 0xe9, + 0x8c, 0xaf, 0x1e, 0x29, 0x23, 0x20, 0x84, 0x25, 0xcb, 0xa0, 0x35, 0x98, + 0x4f, 0xba, 0x33, 0xf0, 0xce, 0x56, 0xcb, 0xa4, 0x39, 0x87, 0xe6, 0xd1, + 0x5e, 0x2f, 0x3e, 0x3f, 0x35, 0xc1, 0x47, 0xd3, 0x2c, 0xc9, 0xc8, 0xdc, + 0x10, 0x9c, 0x67, 0x68, 0x13, 0x75, 0xa0, 0x2d, 0xf3, 0x6a, 0x14, 0xa0, + 0xf1, 0x2b, 0x23, 0x97, 0xfe, 0x47, 0xb1, 0x58, 0xfc, 0x15, 0x9e, 0x67, + 0x11, 0x9f, 0x2f, 0xe3, 0xfc, 0x15, 0x7c, 0x06, 0x65, 0xac, 0x72, 0xa5, + 0x55, 0x19, 0x9c, 0x97, 0xc2, 0x83, 0xb2, 0x4b, 0x5a, 0xb4, 0xc0, 0x2c, + 0x57, 0xce, 0xb5, 0xa2, 0x72, 0xe0, 0xd2, 0x3e, 0x30, 0xe5, 0x29, 0x7c, + 0xf1, 0x0e, 0x9e, 0x67, 0x97, 0xe5, 0x88, 0xd2, 0xde, 0xc6, 0x8e, 0x80, + 0x70, 0xb3, 0x30, 0x1d, 0x1f, 0x41, 0x6d, 0x2f, 0x82, 0x19, 0x2b, 0x74, + 0x38, 0x1c, 0x1e, 0x4b, 0xe2, 0xd3, 0x6c, 0x90, 0xf8, 0x06, 0xe6, 0x86, + 0x31, 0x78, 0xe8, 0x18, 0xa9, 0x73, 0x4c, 0x47, 0x5e, 0xc2, 0xb4, 0x81, + 0x04, 0x46, 0xe2, 0x59, 0x1e, 0x6d, 0x9a, 0xf3, 0x3c, 0x3b, 0x71, 0x14, + 0x4b, 0xa5, 0xa3, 0xa3, 0xa3, 0x77, 0x83, 0x61, 0x77, 0x71, 0x79, 0x5d, + 0x73, 0x1b, 0xf1, 0x61, 0xf1, 0xdd, 0x96, 0x51, 0x5f, 0x77, 0xf2, 0xa6, + 0x0d, 0x57, 0x50, 0xed, 0x58, 0x22, 0xab, 0xe3, 0xb8, 0xf1, 0xf5, 0x3a, + 0xb9, 0xc6, 0x53, 0xb8, 0xf1, 0x99, 0xb1, 0x11, 0x45, 0xd2, 0xee, 0x73, + 0xa5, 0xed, 0xd7, 0xe1, 0x1b, 0x2e, 0x52, 0xf2, 0x71, 0x9b, 0x2b, 0x94, + 0x7e, 0x12, 0x1f, 0x82, 0x55, 0x83, 0xb6, 0xc8, 0xbc, 0x35, 0x49, 0x68, + 0x81, 0x87, 0x93, 0xf8, 0x70, 0x49, 0x7c, 0x48, 0x26, 0x90, 0xd8, 0x7c, + 0x38, 0xf6, 0xb3, 0x0c, 0x70, 0xc6, 0x5c, 0xbc, 0x73, 0xca, 0x3f, 0xae, + 0x10, 0xe4, 0xeb, 0x74, 0x76, 0xb4, 0x06, 0x7b, 0xd3, 0x98, 0x9b, 0x05, + 0x48, 0xef, 0xb2, 0xd2, 0xeb, 0xe9, 0x8a, 0xb3, 0x21, 0xec, 0x62, 0x6a, + 0x83, 0xd2, 0xdc, 0x59, 0x8e, 0xb3, 0x9d, 0x76, 0xa6, 0x2d, 0x5e, 0xd9, + 0xae, 0x01, 0xfb, 0x99, 0xed, 0x20, 0x30, 0xad, 0x7c, 0x9e, 0x59, 0x44, + 0x88, 0xe6, 0x8d, 0x9a, 0xca, 0x22, 0x37, 0x27, 0x7c, 0x4e, 0x48, 0x63, + 0x6a, 0x10, 0x44, 0xeb, 0xd8, 0x9b, 0x59, 0x6a, 0xe3, 0x0c, 0x70, 0x2c, + 0xf1, 0xe2, 0xa8, 0xad, 0x73, 0x3f, 0x4e, 0xe8, 0x66, 0x6c, 0xbc, 0x8f, + 0xcd, 0x21, 0xc5, 0xbf, 0x63, 0x53, 0x37, 0xe6, 0x6f, 0x4b, 0x74, 0xa1, + 0x03, 0xb3, 0x0c, 0x5c, 0x4b, 0x98, 0x95, 0x5e, 0x7c, 0xb4, 0x80, 0x7b, + 0x9e, 0xc4, 0x35, 0x16, 0xb1, 0x2f, 0x92, 0x4f, 0x58, 0x0a, 0x2d, 0xae, + 0x53, 0xfa, 0xe1, 0xa3, 0xa4, 0x35, 0x82, 0x85, 0x5e, 0x2e, 0xb7, 0xca, + 0xe1, 0x4a, 0x3e, 0x38, 0x93, 0xe0, 0x0c, 0x59, 0x64, 0x02, 0x47, 0x78, + 0x70, 0x00, 0x3d, 0xa5, 0x9f, 0x0f, 0x8e, 0x97, 0x6f, 0x56, 0x09, 0x75, + 0x8d, 0xe4, 0x5b, 0xfb, 0x2e, 0xc4, 0x36, 0x84, 0x17, 0xbc, 0x8b, 0xeb, + 0xc8, 0x31, 0x63, 0x7a, 0x02, 0x96, 0xe3, 0xba, 0x48, 0x98, 0xd5, 0xa0, + 0x88, 0xf8, 0x54, 0x5d, 0x33, 0x51, 0x87, 0x30, 0xc0, 0x76, 0x93, 0xd9, + 0x65, 0x75, 0x69, 0x86, 0xcc, 0x7a, 0x8d, 0xb2, 0x6f, 0xca, 0xaa, 0x9e, + 0x19, 0xd3, 0x66, 0x87, 0xd7, 0x46, 0x2b, 0x16, 0x19, 0x07, 0xee, 0xc4, + 0xe7, 0x17, 0xb2, 0xfb, 0x37, 0x7b, 0x2c, 0x30, 0xce, 0xc2, 0x0c, 0x4a, + 0xb4, 0xb5, 0x13, 0xf2, 0xa3, 0x69, 0xf2, 0x3c, 0xd4, 0x7a, 0x09, 0x60, + 0x71, 0x8b, 0x88, 0xa1, 0x88, 0xee, 0xab, 0x8c, 0x84, 0x57, 0x71, 0xff, + 0x55, 0x32, 0x86, 0xd2, 0x8f, 0xfd, 0x06, 0xa4, 0x9f, 0x17, 0x6d, 0xfa, + 0xcf, 0x3c, 0xf3, 0x8c, 0x2c, 0x38, 0x4f, 0x8f, 0xcd, 0x87, 0xe7, 0xd0, + 0x19, 0x3a, 0x32, 0x93, 0x28, 0x6a, 0x32, 0x8f, 0x81, 0x57, 0x9d, 0x8c, + 0x51, 0xad, 0xc9, 0x3b, 0x64, 0xd2, 0xbe, 0x20, 0x88, 0x1a, 0x74, 0x9a, + 0x96, 0xf0, 0xd4, 0x08, 0x4a, 0x3f, 0xf1, 0x2e, 0xb4, 0x2a, 0xc0, 0x0f, + 0x4a, 0x92, 0xcf, 0xde, 0x3c, 0x8e, 0x85, 0xb6, 0x23, 0xc0, 0xcc, 0x8e, + 0x25, 0xe3, 0xce, 0xec, 0x31, 0x57, 0xaf, 0xc6, 0x27, 0xad, 0x1b, 0xec, + 0x1c, 0x63, 0x27, 0x81, 0x1d, 0x36, 0xc5, 0xd1, 0xe6, 0x64, 0x82, 0x99, + 0x46, 0x33, 0x61, 0x97, 0x57, 0x74, 0x75, 0x0e, 0xc5, 0x36, 0x17, 0x47, + 0x13, 0x4f, 0xc5, 0x99, 0x6c, 0xae, 0xbb, 0x2e, 0xb1, 0xed, 0x67, 0xdd, + 0xcc, 0x96, 0x9d, 0xc5, 0x2b, 0x26, 0x38, 0xa1, 0x69, 0x8f, 0xb1, 0x45, + 0xac, 0xc0, 0x64, 0x39, 0x1b, 0x06, 0x6a, 0x72, 0x39, 0x73, 0xfa, 0xc1, + 0x2a, 0x4d, 0x0d, 0x2c, 0x0b, 0xa3, 0xe1, 0x3a, 0x68, 0x42, 0x74, 0xd9, + 0x24, 0xad, 0x79, 0x79, 0xd2, 0x5e, 0xec, 0x2b, 0x76, 0x38, 0x7d, 0xb1, + 0x4b, 0x53, 0x64, 0x16, 0x20, 0xf6, 0x38, 0xd4, 0x9e, 0x88, 0x03, 0x5f, + 0xa0, 0x6f, 0xe0, 0x31, 0xee, 0x7b, 0xd6, 0x54, 0x50, 0x4a, 0xf9, 0xe3, + 0x64, 0x14, 0xb5, 0xc0, 0x38, 0x5d, 0xc2, 0xd9, 0x28, 0xe4, 0xa6, 0x3d, + 0x97, 0x99, 0xd6, 0x0d, 0x02, 0xb2, 0x4e, 0x38, 0x26, 0x61, 0x8e, 0x5d, + 0x76, 0xd0, 0x36, 0x2a, 0x75, 0xbe, 0x33, 0x8a, 0x37, 0x13, 0x09, 0xda, + 0x09, 0x64, 0x3d, 0xc3, 0x10, 0x71, 0x0b, 0x64, 0x8a, 0x9d, 0xe1, 0xc5, + 0xde, 0x9b, 0x65, 0x66, 0xe7, 0x72, 0x21, 0x76, 0xdd, 0xe2, 0x5b, 0xf9, + 0x3b, 0xbe, 0x1f, 0x33, 0xa7, 0xa1, 0x59, 0x23, 0x33, 0x4a, 0x2f, 0x50, + 0xf3, 0x19, 0x4f, 0x51, 0x70, 0x71, 0x9f, 0x75, 0xdc, 0x03, 0xdf, 0x65, + 0x7d, 0x79, 0x42, 0x7c, 0x58, 0x82, 0x26, 0x4d, 0x0f, 0x68, 0x1e, 0x50, + 0xf0, 0xa9, 0xbe, 0xd4, 0x00, 0x65, 0x0e, 0x10, 0x3f, 0x4b, 0xa5, 0x86, + 0x1b, 0xb9, 0x6a, 0x1c, 0x21, 0xc7, 0x35, 0x89, 0x8d, 0xb5, 0x23, 0x2a, + 0xad, 0x44, 0x9b, 0xe2, 0xb2, 0x24, 0xf1, 0xf8, 0x4e, 0x61, 0xa7, 0xdd, + 0x67, 0xa2, 0x89, 0x34, 0xe1, 0x06, 0xf3, 0x16, 0xea, 0x80, 0x26, 0x11, + 0x76, 0x3c, 0xa0, 0x13, 0x7f, 0x30, 0xce, 0xda, 0x65, 0x67, 0x15, 0x8f, + 0x99, 0x10, 0x71, 0xb2, 0x70, 0x5e, 0x32, 0xbe, 0x8a, 0x50, 0x94, 0x03, + 0x1d, 0xd8, 0x3c, 0x66, 0x99, 0x62, 0x16, 0xcc, 0x94, 0x36, 0xfb, 0xb8, + 0x29, 0x8b, 0x4f, 0xd4, 0x4d, 0x34, 0x13, 0x0f, 0x0e, 0xf9, 0xf7, 0xda, + 0x31, 0x01, 0xcd, 0x35, 0x83, 0x02, 0xd7, 0x73, 0xce, 0x55, 0xdd, 0x1b, + 0x1b, 0x9a, 0xb6, 0x9e, 0x10, 0x02, 0x4b, 0x2d, 0x60, 0x52, 0x53, 0x32, + 0xc9, 0xd6, 0x2c, 0x4b, 0x56, 0x19, 0x2f, 0x12, 0x9e, 0x80, 0xc4, 0x12, + 0x9f, 0x41, 0x98, 0x40, 0xf4, 0x18, 0x7a, 0x70, 0xac, 0x26, 0x70, 0x9f, + 0xd1, 0x2f, 0x1f, 0x12, 0x98, 0xdc, 0x9d, 0x98, 0x98, 0x90, 0x85, 0x9d, + 0x6d, 0x5f, 0xa3, 0x99, 0xd6, 0x2c, 0xb4, 0xd2, 0xc0, 0x7d, 0x4a, 0x3b, + 0xf0, 0x71, 0xc8, 0x0b, 0xe3, 0xc7, 0xa8, 0x09, 0x21, 0x08, 0xda, 0x86, + 0x7c, 0xe2, 0xfb, 0xf1, 0x55, 0xe5, 0x18, 0x34, 0xc5, 0x08, 0xe3, 0xc4, + 0x1b, 0xc5, 0xf8, 0xce, 0xc1, 0xe4, 0xdc, 0xe7, 0xe0, 0x36, 0x7e, 0x8f, + 0xa3, 0xfa, 0xd9, 0xe0, 0xc4, 0x4e, 0x3e, 0x32, 0x83, 0x4c, 0xb1, 0x2b, + 0x53, 0x70, 0x3f, 0xae, 0x41, 0x7c, 0xd9, 0x59, 0x6a, 0xbb, 0xbd, 0x36, + 0xfa, 0x6c, 0xb3, 0x73, 0x70, 0x3c, 0xa2, 0x01, 0xee, 0x29, 0x04, 0x6c, + 0xb7, 0x70, 0x3b, 0x60, 0x70, 0x4b, 0xcd, 0xb0, 0x96, 0xe0, 0xda, 0xb5, + 0x6b, 0x81, 0x31, 0x3b, 0x42, 0xfc, 0xe7, 0x9f, 0x7f, 0x5e, 0x33, 0x60, + 0x2b, 0xcb, 0xf7, 0x7d, 0x12, 0x29, 0x7d, 0xfe, 0xef, 0xb9, 0xe7, 0x9e, + 0x73, 0x5e, 0x7b, 0xed, 0x35, 0x17, 0x37, 0xe4, 0xc2, 0x37, 0x70, 0x44, + 0x8e, 0x98, 0x3d, 0x10, 0xd1, 0x2e, 0x1c, 0xcd, 0x21, 0xfb, 0xb4, 0xf5, + 0xb2, 0x71, 0xfe, 0x10, 0x22, 0x30, 0xe3, 0x70, 0x1d, 0xb3, 0x3c, 0xb9, + 0x68, 0x1f, 0xf6, 0xa9, 0xfa, 0x8c, 0x34, 0xeb, 0x26, 0xff, 0x5e, 0x07, + 0x93, 0xea, 0x20, 0x92, 0x38, 0x31, 0x9a, 0x02, 0x5c, 0xbf, 0x01, 0xed, + 0x0d, 0xce, 0x9f, 0x3f, 0x1f, 0x18, 0xd8, 0x18, 0xef, 0xcd, 0xfa, 0xb5, + 0x8f, 0xa3, 0x22, 0xed, 0xff, 0xbf, 0x00, 0x03, 0x00, 0x15, 0x76, 0xbf, + 0x05, 0x98, 0xf3, 0xf7, 0xe9, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, + 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __device_generic_png_len = 12713; +unsigned char __device_hfsplus_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe2, 0x98, 0x77, 0x38, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x2a, 0x68, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x9d, 0x07, 0x98, + 0x54, 0x55, 0xb6, 0x85, 0x87, 0xf7, 0xe6, 0x39, 0xea, 0x73, 0xc6, 0x9c, + 0x73, 0x56, 0xcc, 0x62, 0x02, 0xc9, 0x39, 0xa7, 0x86, 0x26, 0x35, 0x59, + 0x92, 0x82, 0x08, 0x18, 0x01, 0x11, 0x30, 0x80, 0x0a, 0x8e, 0x01, 0x50, + 0x50, 0x54, 0x50, 0x50, 0x30, 0x30, 0x06, 0x10, 0xb3, 0x60, 0xc0, 0x38, + 0x3a, 0x06, 0x1c, 0xc5, 0x88, 0x91, 0x0c, 0x4d, 0x07, 0x3a, 0x50, 0xf7, + 0xad, 0xff, 0xd6, 0xdd, 0xc5, 0xe9, 0xc3, 0xad, 0x86, 0x6e, 0x5a, 0xe7, + 0x39, 0x63, 0x7d, 0xdf, 0xf9, 0x6e, 0xc5, 0x5b, 0xb7, 0xd6, 0xda, 0x7b, + 0xed, 0x7d, 0xf6, 0x09, 0xf5, 0x87, 0x20, 0x08, 0xfe, 0x60, 0xed, 0xb7, + 0x78, 0xd3, 0x75, 0x57, 0xa2, 0xe9, 0xee, 0x7f, 0xb5, 0x6f, 0xdf, 0xfe, + 0xbf, 0xaf, 0xb9, 0xe6, 0x9a, 0x3f, 0xf6, 0xed, 0xdb, 0xf7, 0x7f, 0x6e, + 0xbf, 0xfd, 0xf6, 0x3f, 0x0d, 0x19, 0x32, 0x64, 0x97, 0x4b, 0x2f, 0xbd, + 0xf4, 0x7f, 0x2f, 0xbf, 0xfc, 0xf2, 0x3f, 0x5f, 0x71, 0xc5, 0x15, 0xbb, + 0xeb, 0xb5, 0x3d, 0xae, 0xbc, 0xf2, 0xca, 0x3d, 0xf5, 0xfc, 0x5e, 0x1c, + 0x79, 0x3c, 0x68, 0xd0, 0xa0, 0xbf, 0x5c, 0x78, 0xe1, 0x85, 0xbb, 0xe9, + 0xfe, 0xae, 0x3d, 0x7a, 0xf4, 0xd8, 0x59, 0xe7, 0xd8, 0x89, 0x73, 0x70, + 0x2e, 0xce, 0x19, 0x9d, 0xbb, 0x22, 0xaf, 0xb7, 0x44, 0xfb, 0xc3, 0x6f, + 0x99, 0x00, 0x03, 0x5f, 0x80, 0xfd, 0xd7, 0xdc, 0xb9, 0x73, 0xff, 0x1b, + 0xe0, 0x05, 0x68, 0x08, 0x3c, 0xa0, 0x02, 0x3a, 0x60, 0x5f, 0x75, 0xd5, + 0x55, 0xfb, 0x0e, 0x1f, 0x3e, 0x7c, 0xff, 0xeb, 0xaf, 0xbf, 0xfe, 0xc0, + 0x11, 0x23, 0x46, 0x1c, 0x4c, 0x13, 0x29, 0x07, 0x5d, 0x76, 0xd9, 0x65, + 0x07, 0xf0, 0x1a, 0xef, 0xd1, 0x67, 0x77, 0x87, 0x2c, 0x97, 0x04, 0xce, + 0x1b, 0x11, 0x50, 0xe9, 0x77, 0x02, 0x4a, 0xde, 0x52, 0x56, 0x0f, 0x48, + 0x91, 0xc5, 0xee, 0x04, 0x78, 0x80, 0xa8, 0xc7, 0x7f, 0x51, 0xdb, 0x0b, + 0xd0, 0x23, 0xc0, 0x0f, 0x1f, 0x39, 0x72, 0xe4, 0xd1, 0x02, 0xfb, 0x38, + 0x1d, 0x8f, 0x8f, 0xda, 0xb1, 0xf2, 0x82, 0xa3, 0x44, 0xd2, 0x61, 0x90, + 0x21, 0xe2, 0xf6, 0xbd, 0xe4, 0x92, 0x4b, 0xf6, 0x30, 0x12, 0x20, 0xf3, + 0x97, 0xf0, 0x82, 0x7f, 0x0b, 0x02, 0x7c, 0xc9, 0x51, 0xdb, 0x09, 0xab, + 0xd7, 0x71, 0x37, 0xa4, 0xe5, 0x86, 0x1b, 0x6e, 0xd8, 0xf7, 0xba, 0xeb, + 0xae, 0x3b, 0xf8, 0xda, 0x6b, 0xaf, 0x3d, 0x52, 0xed, 0x78, 0x3d, 0x7f, + 0xf2, 0xd5, 0x57, 0x5f, 0x7d, 0x86, 0x88, 0x38, 0x47, 0xcf, 0x9f, 0xa7, + 0xc7, 0xe7, 0xe8, 0x71, 0x15, 0x81, 0x7f, 0x9a, 0xc0, 0x3f, 0x11, 0x22, + 0x74, 0x3c, 0x04, 0x6f, 0x88, 0xa4, 0x6a, 0x57, 0x3c, 0xe9, 0x97, 0xf0, + 0x82, 0xdf, 0x3c, 0x01, 0x71, 0xe0, 0x03, 0xd8, 0x8d, 0x37, 0xde, 0xf8, + 0x67, 0xac, 0x5e, 0xed, 0x00, 0x2c, 0x3e, 0x02, 0xfe, 0x54, 0x01, 0x7e, + 0x8e, 0xee, 0xd7, 0x94, 0xfc, 0xd4, 0xd3, 0xe3, 0x86, 0x63, 0xc6, 0x8c, + 0x69, 0x24, 0xeb, 0x6f, 0xac, 0xcf, 0x77, 0xa8, 0x59, 0xb3, 0x66, 0xaf, + 0xcc, 0xcc, 0xcc, 0xfa, 0xf2, 0x94, 0x93, 0x45, 0xe0, 0x31, 0x6a, 0x07, + 0x8b, 0x84, 0xbd, 0x89, 0x19, 0xae, 0x17, 0x38, 0x71, 0xe6, 0x3f, 0x9b, + 0x00, 0x03, 0xc2, 0x07, 0x1f, 0xc9, 0x19, 0x36, 0x6c, 0xd8, 0x3e, 0x3a, + 0x1e, 0xa4, 0x76, 0x94, 0xac, 0xfb, 0x24, 0x01, 0x7f, 0x96, 0xc0, 0xae, + 0x25, 0x6f, 0x68, 0xac, 0xfb, 0xad, 0xd4, 0xda, 0x77, 0xed, 0xda, 0x75, + 0x50, 0xc7, 0x8e, 0x1d, 0xa7, 0xdf, 0x76, 0xdb, 0x6d, 0xef, 0xbd, 0xf8, + 0xe2, 0x8b, 0x2b, 0x96, 0x2e, 0x5d, 0x5a, 0x7c, 0xcb, 0x2d, 0xb7, 0x2c, + 0xbe, 0xf8, 0xe2, 0x8b, 0xab, 0x8d, 0x1d, 0x3b, 0xf6, 0x24, 0x79, 0xc2, + 0x11, 0x83, 0x07, 0x0f, 0xde, 0x1f, 0x29, 0xe2, 0xbc, 0xc8, 0x1a, 0xb1, + 0xa5, 0x22, 0x65, 0xe8, 0xb7, 0x4c, 0x40, 0x2a, 0xe0, 0xfa, 0xe0, 0xab, + 0xed, 0x83, 0xe4, 0x8c, 0x1b, 0x37, 0xee, 0x18, 0xac, 0x5e, 0xa0, 0x57, + 0x95, 0xc5, 0x37, 0x90, 0x57, 0xb4, 0x1e, 0x3f, 0x7e, 0x7c, 0x67, 0x59, + 0xf3, 0x95, 0xfd, 0xfb, 0xf7, 0x7f, 0xe6, 0xd9, 0x67, 0x9f, 0x5d, 0xb3, + 0x61, 0xc3, 0x86, 0x80, 0x5b, 0x71, 0x71, 0x71, 0x82, 0xe3, 0xa2, 0x45, + 0x8b, 0x7e, 0xe8, 0xd4, 0xa9, 0x53, 0x6b, 0x79, 0xc1, 0x99, 0x43, 0x87, + 0x0e, 0x3d, 0x0e, 0x2f, 0x20, 0x28, 0x13, 0xc4, 0x4d, 0x86, 0x7e, 0x27, + 0xc0, 0x01, 0x1f, 0x8b, 0x34, 0xcd, 0x27, 0x85, 0x8c, 0x2c, 0xff, 0x10, + 0x82, 0xaa, 0x40, 0x3f, 0x5d, 0x80, 0x57, 0x97, 0xe4, 0x34, 0xd5, 0x31, + 0x53, 0x9e, 0xd0, 0x5f, 0x56, 0x3f, 0x77, 0xe1, 0xc2, 0x85, 0x6b, 0x0b, + 0x0a, 0x0a, 0x82, 0x44, 0x22, 0x01, 0xf0, 0xc1, 0xc6, 0x8d, 0x1b, 0x13, + 0x6b, 0xd6, 0xac, 0xd9, 0xac, 0x63, 0x30, 0x6b, 0xd6, 0xac, 0xcf, 0xbb, + 0x75, 0xeb, 0xd6, 0x4e, 0x1e, 0x50, 0x95, 0x78, 0x20, 0x12, 0x0e, 0x95, + 0xf4, 0xec, 0x83, 0x0c, 0x91, 0xca, 0xfe, 0x4e, 0x80, 0xa7, 0xfb, 0xe8, + 0xb2, 0x40, 0xd9, 0x19, 0x80, 0x64, 0xe9, 0x7b, 0x93, 0xe5, 0x60, 0xf9, + 0x80, 0xaf, 0xc7, 0x35, 0x6e, 0xbe, 0xf9, 0xe6, 0x16, 0x6a, 0x9d, 0x65, + 0xf1, 0xc3, 0xe5, 0x15, 0x1f, 0x09, 0xe8, 0xd0, 0xe2, 0x37, 0x6d, 0xda, + 0x14, 0xac, 0x5f, 0xbf, 0x3e, 0xc0, 0x03, 0xd6, 0xad, 0x5b, 0x17, 0xac, + 0x5e, 0xbd, 0x3a, 0xc1, 0x71, 0xc2, 0x84, 0x09, 0x6f, 0xcb, 0xda, 0xdb, + 0x89, 0xac, 0x5a, 0xc4, 0x02, 0x11, 0x7a, 0x38, 0x19, 0x91, 0xc5, 0x01, + 0x2f, 0x10, 0xff, 0x47, 0x12, 0x50, 0x42, 0x7a, 0xb0, 0x4a, 0x52, 0x45, + 0xb2, 0x1d, 0xf2, 0x7a, 0x59, 0xfb, 0xd1, 0xb2, 0xde, 0xd3, 0xb0, 0x7c, + 0xc0, 0xd7, 0x31, 0xab, 0x4b, 0x97, 0x2e, 0xe3, 0x1e, 0x78, 0xe0, 0x81, + 0x9f, 0x00, 0xbe, 0xa8, 0xa8, 0x28, 0x05, 0xbc, 0x81, 0xbf, 0x76, 0xed, + 0xda, 0x90, 0x80, 0x1f, 0x7f, 0xfc, 0x31, 0x90, 0xfe, 0x3f, 0x29, 0xb0, + 0xdb, 0xca, 0x83, 0x6a, 0x2b, 0x03, 0x3a, 0x45, 0xfa, 0x7f, 0x84, 0x4f, + 0xc0, 0x7f, 0xb4, 0x07, 0x98, 0xf5, 0x9b, 0xf4, 0xa0, 0xfb, 0x02, 0x79, + 0x77, 0x72, 0x7c, 0xdd, 0x3f, 0x42, 0x24, 0x9c, 0x2c, 0x4b, 0xaf, 0x26, + 0xeb, 0x6f, 0xae, 0xd6, 0x45, 0x7a, 0x3e, 0x6e, 0xde, 0xbc, 0x79, 0xab, + 0x01, 0x3f, 0x37, 0x37, 0x37, 0x61, 0xe0, 0x73, 0x74, 0xc0, 0x0f, 0xef, + 0x7f, 0xfc, 0xf1, 0xc7, 0x41, 0xf3, 0xe6, 0xcd, 0xa7, 0x40, 0x80, 0xb2, + 0x9f, 0x5a, 0x10, 0xe0, 0x7a, 0xc0, 0xef, 0x31, 0x20, 0xb2, 0x7e, 0x93, + 0x1e, 0x2c, 0x12, 0x60, 0xd0, 0x7d, 0x49, 0xcf, 0xa1, 0x02, 0xe7, 0x04, + 0xd2, 0x4c, 0x91, 0xd0, 0x48, 0xa4, 0x74, 0xec, 0xd7, 0xaf, 0xdf, 0xc8, + 0xd9, 0xb3, 0x67, 0xff, 0x08, 0xf8, 0xe8, 0xbc, 0x59, 0x3d, 0xe0, 0x03, + 0x3c, 0x0d, 0x49, 0xfa, 0xf9, 0xe7, 0x9f, 0x83, 0xec, 0xec, 0xec, 0xe0, + 0x89, 0x27, 0x9e, 0x58, 0xa3, 0xac, 0xe8, 0xaa, 0x51, 0xa3, 0x46, 0xb5, + 0x11, 0xf8, 0xd5, 0x15, 0x57, 0x4e, 0x92, 0x47, 0x1c, 0x46, 0x2a, 0xfa, + 0x7b, 0x10, 0x4e, 0x63, 0xfd, 0xd4, 0x6f, 0x64, 0xfd, 0xa1, 0xf4, 0xd0, + 0xb9, 0xd2, 0xb1, 0xae, 0x62, 0x40, 0x86, 0x9e, 0xbf, 0x50, 0x12, 0xf4, + 0xf1, 0xe6, 0xcd, 0x9b, 0x83, 0x9c, 0x9c, 0x9c, 0x04, 0x00, 0xbb, 0x92, + 0x63, 0xe0, 0x63, 0xfd, 0x2b, 0x56, 0xac, 0x48, 0xac, 0x5a, 0xb5, 0x2a, + 0xd0, 0xe7, 0xdf, 0xbc, 0xe8, 0xa2, 0x8b, 0xfa, 0x4a, 0x7e, 0x5a, 0x4a, + 0xd2, 0xce, 0x15, 0xb1, 0x27, 0x90, 0x05, 0xf5, 0xee, 0xdd, 0x7b, 0x2f, + 0x05, 0xef, 0xff, 0x25, 0x0d, 0xad, 0xe8, 0xde, 0xf0, 0x6f, 0x85, 0x80, + 0x4a, 0x6e, 0xce, 0xef, 0x5b, 0xbf, 0xc0, 0x3e, 0x8c, 0x5c, 0x5f, 0xc7, + 0x6a, 0xb2, 0xfc, 0x16, 0xf2, 0x80, 0x6e, 0xb2, 0xfe, 0x79, 0x80, 0x8a, + 0xe6, 0x93, 0xdd, 0xa4, 0x03, 0x1f, 0xeb, 0xc7, 0x23, 0xde, 0x7e, 0xfb, + 0xed, 0xa2, 0x46, 0x8d, 0x1a, 0xdd, 0x29, 0xcd, 0xef, 0x2a, 0x02, 0x1a, + 0x8a, 0x80, 0x2a, 0x74, 0xc6, 0xf4, 0xf8, 0x40, 0xfa, 0x01, 0xfa, 0xce, + 0x5d, 0xdd, 0x8e, 0xd8, 0xbf, 0x6b, 0x4f, 0xb8, 0x52, 0x5c, 0xf3, 0x2b, + 0x9c, 0x51, 0x71, 0x2c, 0xb4, 0x7e, 0x7a, 0xba, 0x02, 0xeb, 0x18, 0xf2, + 0x76, 0x75, 0xb4, 0xea, 0xd1, 0xc1, 0x52, 0x1a, 0x39, 0xfa, 0xe5, 0x97, + 0x5f, 0xde, 0x10, 0x49, 0x0f, 0x1e, 0x50, 0x42, 0x76, 0x00, 0x1e, 0x72, + 0x68, 0x22, 0x20, 0xc1, 0x73, 0xf2, 0x9c, 0x0f, 0xfb, 0xf4, 0xe9, 0x33, + 0x54, 0xd2, 0x93, 0x79, 0xd9, 0x65, 0x97, 0xd5, 0xb2, 0x00, 0xac, 0xec, + 0x69, 0x3f, 0x05, 0xf1, 0xbf, 0x40, 0x78, 0x95, 0x2a, 0x55, 0xfe, 0xad, + 0x08, 0x48, 0x01, 0xeb, 0x36, 0x40, 0x8e, 0x6b, 0x64, 0x3d, 0xae, 0xf5, + 0xa3, 0xc9, 0x68, 0x33, 0x79, 0xba, 0x2c, 0xf6, 0x44, 0x79, 0x40, 0x55, + 0x81, 0xdf, 0x42, 0x24, 0x74, 0x57, 0x3c, 0x58, 0x44, 0x9a, 0x59, 0x58, + 0x58, 0x98, 0xc8, 0xcb, 0xcb, 0x0b, 0xf5, 0x1d, 0xeb, 0x37, 0xab, 0x07, + 0xf8, 0x95, 0x2b, 0x57, 0x06, 0x64, 0x3d, 0x10, 0xa4, 0x0e, 0x59, 0x4e, + 0x83, 0x06, 0x0d, 0x26, 0xa9, 0xd7, 0xdb, 0x5b, 0xa0, 0x37, 0x53, 0x56, + 0x75, 0xee, 0xc0, 0x81, 0x03, 0x4f, 0xa0, 0x1e, 0x24, 0x49, 0x0a, 0xf5, + 0xdf, 0x27, 0xe0, 0xb7, 0x2a, 0x41, 0xb1, 0x60, 0x1b, 0xb8, 0xd6, 0xd0, + 0xf8, 0x48, 0xe7, 0xff, 0xe8, 0x36, 0x2b, 0x2f, 0x47, 0x72, 0xb0, 0x3b, + 0x65, 0x02, 0x81, 0x75, 0xa4, 0x48, 0x38, 0x4d, 0x5e, 0x50, 0x5b, 0x84, + 0xb4, 0x55, 0x10, 0x1d, 0xf9, 0xca, 0x2b, 0xaf, 0x84, 0xd6, 0x6f, 0xe0, + 0x9b, 0xe4, 0x18, 0xf0, 0xd2, 0xfc, 0x54, 0x7b, 0xf7, 0xdd, 0x77, 0x03, + 0x7d, 0x66, 0x81, 0x74, 0x7e, 0x88, 0xce, 0xd7, 0x41, 0x04, 0xd4, 0xd5, + 0x77, 0x9c, 0x81, 0xfc, 0xf4, 0xea, 0xd5, 0xeb, 0x20, 0xf4, 0x5f, 0xd7, + 0xb4, 0x5b, 0xed, 0xda, 0xb5, 0x53, 0x04, 0x58, 0x0c, 0xa8, 0x08, 0x4f, + 0xf8, 0xb5, 0x08, 0x28, 0x01, 0xba, 0x01, 0x6e, 0x20, 0x03, 0x6c, 0xa4, + 0xaf, 0x3b, 0x45, 0xc1, 0x75, 0x27, 0x80, 0xf6, 0x5b, 0x54, 0x10, 0xdb, + 0x15, 0xed, 0xc7, 0x32, 0x25, 0x0f, 0x07, 0xeb, 0x48, 0xb9, 0xe0, 0x2c, + 0x49, 0x50, 0x23, 0xc9, 0x46, 0xc7, 0x0b, 0x2e, 0xb8, 0xe0, 0x11, 0x00, + 0x27, 0xf8, 0x2a, 0xed, 0x2c, 0x61, 0xf5, 0x00, 0x0e, 0x01, 0xdc, 0xff, + 0xe7, 0x3f, 0xff, 0x99, 0x78, 0xfd, 0xf5, 0xd7, 0x03, 0x59, 0xfa, 0xfb, + 0x59, 0x59, 0x59, 0xa3, 0x95, 0xed, 0x5c, 0x80, 0xf5, 0x53, 0x07, 0xd2, + 0x73, 0xa7, 0xa8, 0x1d, 0x29, 0xcb, 0x3f, 0x60, 0xc0, 0x80, 0x01, 0x7b, + 0xe2, 0x01, 0xba, 0xb6, 0x5d, 0xdc, 0xc1, 0x19, 0x7e, 0x43, 0x45, 0x10, + 0xf1, 0x4b, 0x13, 0xb0, 0x15, 0xf0, 0x2e, 0xe8, 0x00, 0x6d, 0x23, 0x55, + 0x68, 0xfa, 0xd4, 0xa9, 0x53, 0x77, 0x8d, 0xea, 0xf7, 0xbb, 0xf9, 0x0d, + 0x10, 0xa2, 0x5c, 0xfc, 0x2f, 0x58, 0xa5, 0x80, 0xde, 0x5f, 0x47, 0x72, + 0xf4, 0xca, 0x02, 0xae, 0xaa, 0x74, 0xbb, 0xb9, 0xc0, 0xea, 0x39, 0x6d, + 0xda, 0xb4, 0xa5, 0x58, 0x7f, 0x7e, 0x7e, 0x7e, 0x98, 0xf3, 0x03, 0xb8, + 0x35, 0x02, 0xee, 0x17, 0x5f, 0x7c, 0x11, 0xbc, 0xf4, 0xd2, 0x4b, 0x09, + 0xc9, 0x4e, 0x20, 0xa9, 0xfa, 0xa2, 0x4d, 0x9b, 0x36, 0x13, 0x75, 0xee, + 0xc1, 0x02, 0xbc, 0x83, 0x3c, 0xa0, 0x81, 0x08, 0x3d, 0x57, 0xed, 0x24, + 0x08, 0x20, 0x00, 0x23, 0x73, 0x36, 0x38, 0x13, 0x95, 0x3b, 0xfe, 0x14, + 0x5d, 0xfb, 0x56, 0x44, 0x94, 0x87, 0x84, 0x5f, 0x8c, 0x80, 0x38, 0xe0, + 0x7d, 0xd0, 0x6d, 0x78, 0x30, 0x2a, 0xa0, 0x11, 0x50, 0xf7, 0xa2, 0x9c, + 0x40, 0xa3, 0xa0, 0x46, 0x23, 0xcb, 0xb1, 0xe7, 0x68, 0x74, 0x8a, 0xb0, + 0xcc, 0x9e, 0x3d, 0x7b, 0x1e, 0x2a, 0x8f, 0x38, 0x56, 0x40, 0x9d, 0xa6, + 0x8c, 0xa7, 0xa6, 0x8e, 0x2d, 0x9b, 0x36, 0x6d, 0x7a, 0xe5, 0xa2, 0x45, + 0x8b, 0xb2, 0x21, 0x00, 0xe9, 0xc1, 0xfa, 0x01, 0x7e, 0xf9, 0xf2, 0xe5, + 0xc1, 0x27, 0x9f, 0x7c, 0x82, 0xd6, 0x07, 0xf7, 0xdf, 0x7f, 0x7f, 0xb0, + 0x60, 0xc1, 0x82, 0x40, 0xbd, 0xe5, 0xaf, 0xe9, 0x74, 0x29, 0xf0, 0x5e, + 0x25, 0x4f, 0xea, 0x25, 0xcb, 0x6f, 0x83, 0xfc, 0x40, 0x00, 0x1e, 0x80, + 0x04, 0xd1, 0x07, 0x60, 0x94, 0x8c, 0x5a, 0x10, 0xd7, 0xc7, 0xb5, 0x92, + 0x8e, 0xc6, 0x11, 0x51, 0x5e, 0x6f, 0xf8, 0x25, 0x08, 0xa8, 0xe4, 0x0f, + 0x0d, 0x2a, 0x23, 0xb1, 0x6a, 0xe5, 0xce, 0x56, 0xab, 0xa7, 0xf7, 0x1a, + 0x01, 0xbe, 0x2f, 0x99, 0x0c, 0xa5, 0x63, 0x3d, 0x7f, 0x88, 0x9e, 0x3f, + 0x4c, 0xc1, 0xf4, 0x70, 0x7a, 0xb5, 0x34, 0xee, 0x53, 0xcf, 0x27, 0xd5, + 0x64, 0xb4, 0x8a, 0x46, 0x76, 0x22, 0xd0, 0x8f, 0x15, 0x70, 0x27, 0xab, + 0x9d, 0x23, 0xd0, 0xea, 0xe9, 0x71, 0x5b, 0xa5, 0x91, 0x93, 0x3e, 0xff, + 0xfc, 0xf3, 0xb0, 0xd6, 0x43, 0x80, 0xfd, 0xf0, 0xc3, 0x0f, 0x03, 0xc5, + 0x83, 0x40, 0x9d, 0xb1, 0xe0, 0xb6, 0xdb, 0x6e, 0x0b, 0x66, 0xcc, 0x98, + 0x11, 0xbc, 0xf8, 0xe2, 0x8b, 0x81, 0xac, 0xfa, 0x33, 0x81, 0x3f, 0x5d, + 0x5e, 0x34, 0x56, 0x5e, 0x33, 0x88, 0xd4, 0x53, 0xad, 0xb5, 0xc8, 0x6e, + 0x20, 0xc0, 0xcf, 0xd7, 0xb1, 0x8a, 0x8c, 0xe3, 0x64, 0xaa, 0xa1, 0xc4, + 0x18, 0x8a, 0x7b, 0xf4, 0x35, 0xdc, 0xe1, 0x4a, 0x3c, 0xb2, 0x34, 0x22, + 0xb6, 0x97, 0x84, 0x8a, 0x26, 0x20, 0x76, 0x40, 0x3c, 0xaa, 0xa1, 0x84, + 0xc0, 0xff, 0xf5, 0xaf, 0x7f, 0xc5, 0xd2, 0xf7, 0xb9, 0xe9, 0xa6, 0x9b, + 0x0e, 0x00, 0x70, 0x75, 0x9a, 0x8e, 0xa0, 0x78, 0xa6, 0xfb, 0xc7, 0x4f, + 0x98, 0x30, 0xa1, 0xb2, 0x3a, 0x4f, 0x27, 0x2b, 0x8f, 0x3f, 0x55, 0x44, + 0x50, 0xcf, 0x39, 0x2d, 0xba, 0x7f, 0x4a, 0x34, 0x8a, 0x45, 0xae, 0x5f, + 0x39, 0x02, 0xe7, 0x34, 0x59, 0xea, 0x59, 0x22, 0xa0, 0x86, 0x08, 0x68, + 0xaa, 0xef, 0xa1, 0xbe, 0xff, 0xd8, 0x7d, 0xf7, 0xdd, 0x17, 0xcc, 0x99, + 0x33, 0x27, 0x31, 0x69, 0xd2, 0xa4, 0x40, 0x19, 0x51, 0x30, 0x7a, 0xf4, + 0xe8, 0xe0, 0xce, 0x3b, 0xef, 0x44, 0x76, 0x82, 0xa7, 0x9e, 0x7a, 0x2a, + 0x57, 0x29, 0xe5, 0x12, 0xc9, 0xce, 0x74, 0x59, 0xfe, 0x78, 0x7d, 0xee, + 0x0a, 0xc9, 0xce, 0x85, 0x3a, 0x57, 0x37, 0xb5, 0xf6, 0xc8, 0x98, 0x82, + 0x79, 0x7d, 0x01, 0x5d, 0x43, 0xd6, 0x7e, 0x1e, 0xa9, 0xad, 0xbe, 0xf3, + 0x14, 0x3d, 0x3e, 0x81, 0x54, 0x97, 0xb2, 0x04, 0xc5, 0x3e, 0x82, 0x3f, + 0xc6, 0xe3, 0x12, 0x11, 0x19, 0x58, 0x9c, 0x37, 0xfc, 0x3a, 0x04, 0xb8, + 0x56, 0x6f, 0xe9, 0x22, 0xd6, 0x71, 0xcb, 0x2d, 0xb7, 0x84, 0x43, 0x83, + 0x06, 0xbc, 0x8e, 0x07, 0x62, 0xe5, 0x11, 0xe8, 0x27, 0x02, 0xb2, 0x8e, + 0x67, 0x09, 0xf8, 0xaa, 0x22, 0xa5, 0x86, 0xee, 0xd7, 0xd1, 0xfd, 0xba, + 0x13, 0x27, 0x4e, 0xac, 0x47, 0xd3, 0xfb, 0xeb, 0xf2, 0x9c, 0xde, 0x57, + 0x93, 0xea, 0x26, 0x75, 0x1e, 0x3a, 0x5c, 0x94, 0x0a, 0x64, 0xb5, 0xb5, + 0xf5, 0x1d, 0x0d, 0xd5, 0xda, 0x8a, 0x88, 0x2e, 0x7a, 0xee, 0x45, 0x91, + 0x48, 0x41, 0x2d, 0xa1, 0xf7, 0x06, 0x0f, 0x3e, 0xf8, 0x60, 0xf0, 0xea, + 0xab, 0xaf, 0x06, 0x2f, 0xbc, 0xf0, 0x42, 0xbe, 0x00, 0xfc, 0xac, 0x4e, + 0x9d, 0x3a, 0x4f, 0x33, 0x00, 0x23, 0xf0, 0x6f, 0xd5, 0x67, 0xc6, 0x08, + 0xb8, 0x2b, 0x44, 0xe6, 0xc5, 0x6a, 0xfd, 0x04, 0x6c, 0x77, 0x81, 0xdd, + 0x59, 0x9f, 0x6b, 0x27, 0xe2, 0x5a, 0xa9, 0x35, 0x51, 0x7a, 0x5b, 0x9f, + 0xaa, 0xa8, 0xbe, 0xef, 0x3c, 0x86, 0x2c, 0x21, 0x83, 0xf1, 0x63, 0x7d, + 0x6f, 0x38, 0x64, 0x09, 0x11, 0x78, 0x04, 0x71, 0x09, 0x03, 0x43, 0x5a, + 0xad, 0xb3, 0x66, 0x15, 0xd3, 0x6d, 0x91, 0x50, 0x21, 0x04, 0xc4, 0xcd, + 0x46, 0xe0, 0x62, 0x08, 0xaa, 0xe8, 0x3b, 0xda, 0x8d, 0xc5, 0x03, 0xbc, + 0x3a, 0x3c, 0xd4, 0xe9, 0x4f, 0x16, 0x50, 0x55, 0xf4, 0xb8, 0x9a, 0x40, + 0xae, 0x23, 0x79, 0x68, 0xac, 0x63, 0x73, 0x1d, 0xdb, 0xe8, 0x73, 0xed, + 0x6e, 0xbd, 0xf5, 0xd6, 0x0e, 0x22, 0xae, 0x23, 0x8d, 0xfb, 0x7a, 0xad, + 0xbd, 0x88, 0x68, 0xcb, 0x80, 0x8a, 0x3e, 0xd7, 0x52, 0xe0, 0xb4, 0x10, + 0x10, 0xcd, 0x65, 0x99, 0x2d, 0x65, 0x95, 0x6d, 0x05, 0x44, 0x96, 0xbc, + 0xa1, 0xa7, 0x80, 0x79, 0xea, 0xa3, 0x8f, 0x3e, 0x0a, 0x96, 0x2c, 0x59, + 0x92, 0x58, 0xbc, 0x78, 0x71, 0x01, 0x15, 0x50, 0x49, 0xcc, 0xfb, 0x02, + 0x7e, 0x7e, 0x46, 0x46, 0xc6, 0x2c, 0xa5, 0x95, 0xf7, 0xe8, 0x31, 0xf9, + 0xfe, 0x04, 0x59, 0xfb, 0xf5, 0x22, 0xe5, 0x6a, 0x9d, 0xe7, 0x0a, 0x01, + 0x3b, 0x54, 0x9e, 0x32, 0x48, 0xe7, 0x1d, 0xa0, 0xeb, 0xeb, 0xa3, 0xeb, + 0xeb, 0xa1, 0x96, 0x25, 0x23, 0xe9, 0xa0, 0xc7, 0x6d, 0xf9, 0x3e, 0x1d, + 0x1b, 0x42, 0x06, 0x25, 0x0a, 0x79, 0xc6, 0xe9, 0x94, 0x29, 0x90, 0x27, + 0x4a, 0x15, 0x71, 0x03, 0xf8, 0x51, 0xb2, 0xb1, 0x4d, 0x39, 0xda, 0x61, + 0x02, 0xe2, 0xc0, 0x47, 0xeb, 0x65, 0xc5, 0x64, 0x33, 0x7b, 0xa0, 0xf1, + 0x02, 0x92, 0x01, 0xf1, 0xa3, 0x05, 0xf8, 0x49, 0x00, 0xaf, 0x56, 0x5d, + 0x40, 0x37, 0xbc, 0xe3, 0x8e, 0x3b, 0x5a, 0x0a, 0xe0, 0xf6, 0x3a, 0x66, + 0xe9, 0xb5, 0x7e, 0x02, 0x66, 0x78, 0xe7, 0xce, 0x9d, 0x27, 0xaa, 0x27, + 0x3b, 0x4d, 0xfa, 0x3c, 0x43, 0xed, 0x7e, 0xc9, 0xca, 0x54, 0xc9, 0xc6, + 0x04, 0x5e, 0xd3, 0x7b, 0x06, 0xe8, 0xbc, 0xbd, 0x05, 0x4c, 0x0f, 0x9d, + 0xb7, 0xbb, 0x02, 0x69, 0x0f, 0x01, 0xd2, 0x4b, 0x60, 0xf6, 0x15, 0x01, + 0x83, 0xa5, 0xeb, 0x37, 0xea, 0xfb, 0x9f, 0x11, 0x08, 0x2f, 0xd6, 0xac, + 0x59, 0xf3, 0x09, 0x05, 0xe5, 0xd9, 0xb2, 0xc6, 0x19, 0x02, 0xfe, 0x3e, + 0xc9, 0xcd, 0x74, 0xc9, 0xcc, 0x5d, 0xb2, 0xdc, 0x3b, 0xf4, 0x99, 0x5b, + 0x65, 0xf1, 0x13, 0x05, 0xe4, 0x04, 0xc5, 0x8e, 0xc9, 0x99, 0x99, 0x99, + 0xf7, 0xe9, 0x3b, 0x1e, 0xd2, 0x67, 0xe7, 0x09, 0xc8, 0x27, 0x45, 0xd2, + 0x63, 0xba, 0x86, 0xfb, 0xf5, 0xfc, 0x2d, 0xf2, 0xac, 0x2b, 0xf5, 0x3b, + 0x2e, 0x10, 0x21, 0x9d, 0x75, 0x6c, 0xab, 0xd6, 0x54, 0x9f, 0xab, 0x03, + 0x11, 0x02, 0xfc, 0x54, 0xe2, 0x04, 0xc1, 0x1a, 0x6f, 0xb0, 0x94, 0x35, + 0xcd, 0x2c, 0x8a, 0x4a, 0x15, 0x4e, 0x40, 0x3a, 0xf0, 0x6d, 0x36, 0x82, + 0x2e, 0x7a, 0x7f, 0xac, 0x5e, 0x16, 0x7c, 0x9c, 0x3c, 0x80, 0xd1, 0xa9, + 0x6a, 0x02, 0xbc, 0x81, 0xac, 0xb9, 0xb5, 0x08, 0xe8, 0xa4, 0xe7, 0xfb, + 0xe8, 0x87, 0xdf, 0xa4, 0x1f, 0xf0, 0x8c, 0xe4, 0x62, 0xd9, 0x1b, 0x6f, + 0xbc, 0xb1, 0x7e, 0xd9, 0xb2, 0x65, 0x85, 0xe4, 0xeb, 0xe4, 0xee, 0x34, + 0x82, 0xa9, 0x72, 0xf6, 0x82, 0x45, 0x8b, 0x17, 0xad, 0x9b, 0x31, 0xe3, + 0xfe, 0xcf, 0x65, 0x6d, 0xcf, 0x8a, 0x94, 0xdb, 0xe4, 0x0d, 0x97, 0x89, + 0x04, 0x2c, 0x77, 0x98, 0x2c, 0xf3, 0x72, 0x91, 0x30, 0x5c, 0x00, 0x5c, + 0x2b, 0xb0, 0x27, 0xe8, 0xf5, 0x49, 0xdd, 0xbb, 0x77, 0x9f, 0x2a, 0xd0, + 0xef, 0x16, 0x40, 0xf7, 0xe8, 0xb5, 0xbb, 0x05, 0xfc, 0xdd, 0x92, 0xa8, + 0x7b, 0xf4, 0x5d, 0x33, 0x05, 0xec, 0x7c, 0x1d, 0xdf, 0x55, 0xbc, 0x58, + 0xae, 0x20, 0x9d, 0xad, 0xc0, 0x5d, 0xc4, 0x77, 0x52, 0x2f, 0x52, 0xfa, + 0x1a, 0x66, 0x50, 0x3c, 0xfe, 0xec, 0xb3, 0xcf, 0x8a, 0x14, 0xb4, 0xd7, + 0x4e, 0x9e, 0x3c, 0xf9, 0x63, 0x19, 0xc6, 0x5c, 0x9d, 0x7b, 0xb8, 0x7e, + 0x5b, 0xb7, 0x51, 0xa3, 0x46, 0xb5, 0x47, 0xa2, 0x88, 0x15, 0xd4, 0x8c, + 0x44, 0xda, 0x89, 0x24, 0x06, 0x6e, 0xbf, 0x61, 0x7b, 0xa7, 0xb2, 0xec, + 0x08, 0x01, 0x69, 0xc1, 0x97, 0x85, 0xee, 0x89, 0xe4, 0x10, 0x60, 0xd1, + 0x79, 0x34, 0x5e, 0x80, 0xd7, 0x92, 0xa5, 0x37, 0xd7, 0x11, 0x49, 0xe9, + 0xa3, 0xce, 0xcf, 0x64, 0x49, 0xce, 0x3f, 0x74, 0xcb, 0xa7, 0x6c, 0xb0, + 0x3d, 0x37, 0x86, 0x10, 0x01, 0xe7, 0xad, 0xb7, 0xde, 0xca, 0xd7, 0xb9, + 0x3f, 0xd1, 0x39, 0x1e, 0xd6, 0xf7, 0xdd, 0x24, 0x4f, 0x18, 0x27, 0x50, + 0xc6, 0x4b, 0x4e, 0x26, 0xa8, 0xdd, 0x2e, 0x42, 0x26, 0x0b, 0x9c, 0xbb, + 0x04, 0xce, 0xdd, 0xb2, 0xf4, 0x7b, 0x45, 0xc2, 0xec, 0x4e, 0x9d, 0x3a, + 0x3d, 0x27, 0x8b, 0xfd, 0x58, 0xd7, 0xba, 0xfa, 0xcb, 0x2f, 0xbf, 0x2c, + 0x2e, 0x2c, 0x28, 0xd8, 0xea, 0xfc, 0x85, 0x85, 0x45, 0x41, 0xae, 0x7a, + 0xcf, 0x61, 0x13, 0x11, 0xf9, 0xf9, 0x05, 0x01, 0x43, 0x97, 0x74, 0xe8, + 0xbe, 0xfb, 0xee, 0xbb, 0xe0, 0xe9, 0xa7, 0x17, 0xac, 0x19, 0x38, 0x70, + 0xd0, 0xf3, 0x22, 0x78, 0x84, 0xbe, 0xaf, 0x8b, 0x5a, 0x2b, 0x7d, 0x47, + 0x5d, 0xb5, 0xb3, 0x25, 0x49, 0xf4, 0x47, 0x52, 0x83, 0xf8, 0xa4, 0xab, + 0xdb, 0x33, 0x95, 0xa5, 0xdc, 0x04, 0xc4, 0x0d, 0x0b, 0xba, 0xe0, 0x4b, + 0x2a, 0x8e, 0x44, 0x72, 0x04, 0xf8, 0x39, 0xba, 0x5f, 0x1f, 0x0d, 0xd7, + 0xfd, 0x6e, 0x72, 0xe9, 0xb1, 0xb2, 0xdc, 0xf7, 0x04, 0x42, 0x91, 0xfd, + 0x70, 0x7a, 0xad, 0x0c, 0x8a, 0x17, 0x16, 0x16, 0x86, 0xd5, 0x4b, 0x1a, + 0x63, 0xb5, 0xb4, 0x42, 0xdd, 0xa7, 0x89, 0xa5, 0x20, 0x2f, 0x7f, 0x53, + 0xa2, 0x20, 0x02, 0x0e, 0xd2, 0xa4, 0xf7, 0xc5, 0xca, 0x76, 0x96, 0x4b, + 0xaa, 0x5e, 0x91, 0x94, 0xcc, 0x11, 0xf0, 0xf7, 0xc9, 0x23, 0xa6, 0xeb, + 0x3a, 0xee, 0x97, 0xd5, 0x3f, 0x2c, 0x10, 0x00, 0xfd, 0x13, 0x65, 0x45, + 0x6b, 0xd4, 0x01, 0x2b, 0xe6, 0xbc, 0x76, 0xe3, 0xdc, 0x3a, 0x47, 0x82, + 0x42, 0xdd, 0x46, 0xda, 0xc6, 0xe8, 0x98, 0x93, 0xab, 0xfb, 0xb9, 0x22, + 0x3a, 0x27, 0xc8, 0xd6, 0x73, 0x1b, 0x36, 0x64, 0x07, 0x1b, 0xb2, 0x37, + 0x26, 0xf0, 0x8c, 0xa2, 0xa2, 0x62, 0xf5, 0x2b, 0x56, 0x11, 0xdc, 0xd7, + 0xb4, 0x6e, 0xdd, 0x7a, 0x96, 0xbc, 0xaa, 0xb7, 0x08, 0x6e, 0xa3, 0xef, + 0xa8, 0x2f, 0x02, 0xce, 0xc6, 0x13, 0x48, 0x93, 0x89, 0x09, 0x64, 0x48, + 0x64, 0x47, 0xdb, 0x2a, 0x61, 0x97, 0x8b, 0x00, 0xb7, 0x34, 0x4c, 0x8e, + 0x4f, 0xc0, 0x45, 0xf3, 0x91, 0x1d, 0x03, 0x5f, 0xba, 0x7f, 0x92, 0x2c, + 0xfd, 0x3c, 0xb4, 0x7e, 0xca, 0x94, 0x29, 0xe8, 0x7c, 0x6f, 0xb9, 0xe5, + 0x4c, 0xa5, 0x83, 0xeb, 0xb0, 0x64, 0x1a, 0x3f, 0x88, 0x06, 0x01, 0x49, + 0x12, 0xd2, 0x34, 0xbd, 0x56, 0x54, 0xb4, 0x59, 0x16, 0x5a, 0x1c, 0x36, + 0x11, 0x11, 0xe4, 0xe5, 0xe5, 0x87, 0x9f, 0x81, 0xb4, 0xef, 0xbf, 0xff, + 0x81, 0xd9, 0x0c, 0xf9, 0x0a, 0xba, 0xab, 0xe4, 0x55, 0xcb, 0x45, 0xf6, + 0xf2, 0x47, 0x1f, 0x7d, 0x74, 0xad, 0xa4, 0x65, 0x2b, 0xd0, 0x01, 0x32, + 0x2f, 0x6c, 0x9b, 0xc2, 0x63, 0x6e, 0x5e, 0xfe, 0x16, 0xab, 0x57, 0xcb, + 0x51, 0xe3, 0xdc, 0x9b, 0x36, 0x15, 0x84, 0x86, 0xc0, 0xf9, 0xb3, 0xb3, + 0x37, 0x86, 0x52, 0xf8, 0xe9, 0xa7, 0x9f, 0x06, 0xf2, 0x58, 0xa4, 0x29, + 0x78, 0xf3, 0xcd, 0x37, 0x03, 0x91, 0xbc, 0x44, 0xe4, 0x0f, 0x92, 0xb7, + 0xb5, 0x16, 0x19, 0x75, 0xf4, 0xf8, 0x4c, 0x49, 0xdb, 0xb1, 0x71, 0x33, + 0x29, 0xd2, 0x79, 0x41, 0x79, 0x08, 0xd8, 0x6a, 0x3a, 0x48, 0x94, 0xed, + 0xec, 0x81, 0xe6, 0x23, 0x3b, 0x58, 0x3e, 0xe0, 0x2b, 0xd8, 0x36, 0x42, + 0x72, 0x44, 0x46, 0x7f, 0x59, 0xc7, 0xc2, 0x6f, 0xbe, 0xf9, 0xa6, 0xd8, + 0xc6, 0x65, 0x01, 0x23, 0x04, 0x3d, 0x05, 0x7c, 0x71, 0x5a, 0x02, 0x20, + 0xc9, 0xc0, 0xa7, 0x15, 0xd0, 0x0a, 0x00, 0x73, 0x93, 0xe4, 0x21, 0x2f, + 0x94, 0x09, 0xce, 0xc9, 0x11, 0xcf, 0x70, 0x41, 0x2f, 0x28, 0x28, 0x0c, + 0xcb, 0xd1, 0x80, 0xcb, 0xfb, 0x43, 0x02, 0x04, 0x70, 0x4e, 0x5e, 0x12, + 0x7c, 0x23, 0x62, 0x6b, 0xd0, 0xb3, 0x45, 0xec, 0xf7, 0x8a, 0x3f, 0x9f, + 0xe1, 0x69, 0xe1, 0x70, 0x25, 0x9d, 0xbc, 0xaf, 0xbf, 0xfe, 0x3a, 0x6c, + 0x94, 0x35, 0x7e, 0xf8, 0xe1, 0x87, 0x40, 0xbf, 0x77, 0x29, 0xf3, 0x8b, + 0x14, 0x98, 0x9b, 0x09, 0xf4, 0x1a, 0xf4, 0x51, 0x90, 0x22, 0x1d, 0xf7, + 0x33, 0x2f, 0x28, 0x6d, 0x42, 0x57, 0x99, 0x09, 0xf0, 0x47, 0xa5, 0xa2, + 0x3c, 0x9f, 0x54, 0x73, 0x5f, 0x02, 0x2e, 0x9a, 0xaf, 0xe7, 0xce, 0x51, + 0x6b, 0x28, 0x79, 0xc8, 0x94, 0x37, 0x5c, 0x28, 0x37, 0x5d, 0x4c, 0x81, + 0x2c, 0x69, 0xf5, 0x45, 0xe1, 0xb1, 0xa4, 0xc5, 0x17, 0xa7, 0xb9, 0x9f, + 0x6c, 0x49, 0xe0, 0x8b, 0xb6, 0x10, 0x50, 0x50, 0x1c, 0x02, 0x4b, 0x03, + 0x34, 0x40, 0xa7, 0xf2, 0x09, 0xd0, 0x58, 0xeb, 0x7a, 0xc9, 0xc6, 0xba, + 0xf5, 0x1b, 0x42, 0x59, 0xc9, 0xcb, 0xcb, 0x4f, 0x01, 0x9c, 0x9b, 0x97, + 0x04, 0x3b, 0x3f, 0xf2, 0x00, 0x8e, 0x61, 0xd9, 0x3a, 0x92, 0x3d, 0x3e, + 0x8f, 0xa5, 0x7f, 0xf6, 0xd9, 0xe7, 0x02, 0xfc, 0x13, 0x82, 0x7f, 0xf0, + 0xd5, 0x57, 0x5f, 0x49, 0xff, 0xbf, 0x0f, 0xc1, 0xa6, 0x41, 0x0a, 0xed, + 0xdb, 0x6f, 0xbf, 0xe5, 0x71, 0x82, 0x60, 0x2d, 0xaf, 0xff, 0x58, 0x01, + 0x9a, 0x8c, 0xac, 0xae, 0x3c, 0x20, 0x35, 0x90, 0xa3, 0xc0, 0xbd, 0xe7, + 0xb6, 0x46, 0xd2, 0xca, 0x44, 0x80, 0x2f, 0x3d, 0x51, 0x0f, 0x77, 0x37, + 0xf2, 0x7c, 0x52, 0x4d, 0x1d, 0x8f, 0x93, 0x04, 0x54, 0x91, 0xdc, 0xd4, + 0xbd, 0xeb, 0xae, 0xbb, 0xda, 0xe9, 0xd8, 0x57, 0x17, 0xf5, 0x32, 0xb5, + 0xf8, 0x48, 0xe7, 0x83, 0xcd, 0x91, 0xf4, 0x84, 0x60, 0x46, 0x12, 0x54, + 0x14, 0x81, 0x5e, 0x14, 0x4b, 0x40, 0x32, 0x16, 0x24, 0x2d, 0xd3, 0x88, + 0xa0, 0x15, 0x44, 0x24, 0x24, 0x09, 0xd8, 0xd2, 0x0a, 0x52, 0xa4, 0x58, + 0x4b, 0x5a, 0xfe, 0x96, 0xc6, 0x73, 0x7c, 0x96, 0xf3, 0x6f, 0xd2, 0xe7, + 0x57, 0x29, 0xdb, 0x5a, 0xf6, 0xc5, 0x17, 0x61, 0xbd, 0x08, 0x79, 0x91, + 0xa7, 0xa6, 0x00, 0x77, 0x41, 0xf7, 0x1b, 0x81, 0x59, 0xc7, 0x04, 0xb5, + 0x26, 0x59, 0xfc, 0xf3, 0xfa, 0xad, 0x8d, 0x25, 0x47, 0x55, 0x19, 0x4b, + 0x90, 0xf4, 0x1c, 0x82, 0x0c, 0x51, 0xca, 0x2e, 0x6d, 0x2c, 0xb9, 0xcc, + 0x04, 0x44, 0xc5, 0xb5, 0x94, 0xf4, 0xd0, 0xc3, 0x8d, 0x32, 0x9e, 0xa3, + 0x24, 0x3b, 0xa7, 0x29, 0xcd, 0xac, 0x49, 0x87, 0x4a, 0xd6, 0xdf, 0x4b, + 0x5f, 0x3c, 0xef, 0xa7, 0x9f, 0x7e, 0x4a, 0x4d, 0x80, 0x0a, 0xad, 0x19, + 0xa9, 0x28, 0x4c, 0xba, 0xb9, 0x6b, 0xd5, 0x90, 0x51, 0x58, 0x6c, 0x64, + 0x24, 0x8f, 0x25, 0x5a, 0x4a, 0x86, 0x0a, 0x53, 0x0d, 0xf0, 0x93, 0x04, + 0x14, 0xc4, 0x10, 0xe0, 0x13, 0x13, 0x59, 0xbb, 0xbe, 0x73, 0xf3, 0xe6, + 0x44, 0x28, 0x5d, 0x80, 0x8b, 0xae, 0x2f, 0x55, 0x43, 0x56, 0xb0, 0x7e, + 0xae, 0x37, 0x1d, 0xe8, 0x00, 0x6e, 0x0d, 0xd0, 0x69, 0xf6, 0x39, 0xc5, + 0x86, 0x44, 0xdb, 0xb6, 0x6d, 0xaf, 0x17, 0x11, 0x55, 0xe5, 0x05, 0x27, + 0x4b, 0xff, 0x0f, 0xb5, 0xc1, 0x9c, 0x8a, 0x22, 0xa0, 0xc4, 0x98, 0x2c, + 0x59, 0x0f, 0xb5, 0x1d, 0xe9, 0xfc, 0x3e, 0x48, 0x0f, 0x75, 0x1c, 0x91, + 0x51, 0x55, 0x04, 0xd0, 0xa3, 0xed, 0x2a, 0xef, 0x98, 0xac, 0x8b, 0xda, + 0x64, 0x9a, 0x0f, 0x88, 0x9b, 0x0a, 0x8a, 0xd4, 0x04, 0x5c, 0x61, 0xb2, + 0x6d, 0x21, 0x21, 0x49, 0x84, 0x79, 0x43, 0x61, 0x98, 0xfd, 0x6c, 0x4e, + 0x1e, 0x8b, 0x23, 0x72, 0x22, 0xed, 0x2f, 0x2c, 0x2a, 0x72, 0x08, 0x28, + 0x8c, 0xf7, 0x02, 0x1e, 0x5b, 0x13, 0x11, 0xa4, 0x93, 0x5c, 0x03, 0x5e, + 0xc8, 0x08, 0xd8, 0xd7, 0x5f, 0x7f, 0x13, 0x4a, 0x0c, 0x9a, 0x0e, 0xd8, + 0xc8, 0x08, 0xc0, 0x03, 0x64, 0x69, 0x96, 0xef, 0x82, 0x8f, 0x04, 0xe1, + 0x29, 0x48, 0xd4, 0x9a, 0x35, 0x6b, 0x12, 0x7c, 0x5e, 0xb2, 0x73, 0x37, + 0x04, 0xc8, 0xf2, 0x4f, 0xa9, 0x70, 0x02, 0x7c, 0xed, 0xb7, 0xc9, 0x50, + 0xd4, 0x76, 0x28, 0x2f, 0xd0, 0xc3, 0x25, 0xdd, 0x24, 0xe8, 0xca, 0x0d, + 0x2f, 0xd7, 0xfb, 0xbe, 0xb3, 0x39, 0x97, 0xfc, 0xf8, 0x94, 0x55, 0x16, + 0xb8, 0xc0, 0x15, 0x96, 0xf4, 0x84, 0xa2, 0x92, 0x80, 0x97, 0x6c, 0xce, + 0x7b, 0x0a, 0x8b, 0x4a, 0x9c, 0xa3, 0x84, 0x27, 0x70, 0x5f, 0xe7, 0xdc, + 0x14, 0x3d, 0x97, 0x94, 0xb1, 0x44, 0x98, 0x4e, 0x2a, 0xf5, 0x0d, 0x03, + 0x2a, 0x47, 0x40, 0x8f, 0xc6, 0x84, 0x53, 0xe0, 0x1b, 0x01, 0x71, 0xc0, + 0x9b, 0xc5, 0xd3, 0x0c, 0x78, 0xc6, 0x16, 0x90, 0x57, 0x49, 0x57, 0x61, + 0xcf, 0x9e, 0x3d, 0xff, 0xd6, 0xaa, 0x55, 0xab, 0xae, 0x02, 0xbc, 0xba, + 0xda, 0x89, 0x48, 0x90, 0x8d, 0xa6, 0x55, 0x04, 0x01, 0xa9, 0xcc, 0xc7, + 0xb5, 0xfe, 0x68, 0xde, 0xfd, 0xe1, 0x54, 0x30, 0x29, 0x2f, 0xd0, 0xc3, + 0x45, 0x7a, 0x94, 0x11, 0x3c, 0x47, 0x40, 0xdb, 0xbc, 0x39, 0x99, 0xc1, + 0x94, 0x90, 0x87, 0x08, 0x98, 0x82, 0x02, 0xd7, 0x0b, 0x4a, 0x06, 0xd9, + 0x54, 0xb0, 0x2d, 0x2a, 0x2e, 0xe1, 0x21, 0x5b, 0x02, 0xf0, 0x96, 0x40, + 0xbc, 0x45, 0x8a, 0x0a, 0x53, 0xe7, 0xb4, 0xac, 0x08, 0xe9, 0xcb, 0x51, + 0x5e, 0xff, 0xe5, 0x97, 0x5f, 0x85, 0xc0, 0x03, 0x1a, 0xa0, 0xdb, 0x38, + 0x01, 0xe0, 0xbb, 0x04, 0xf8, 0xe0, 0xbb, 0xd6, 0x6e, 0x16, 0x6f, 0xe0, + 0xe3, 0x3d, 0x80, 0xff, 0xda, 0x6b, 0xaf, 0xe5, 0x35, 0x6c, 0xd8, 0x70, + 0x6e, 0x46, 0x46, 0xc6, 0x45, 0xf2, 0xfa, 0xd6, 0x02, 0xff, 0x6c, 0x4a, + 0xe5, 0x0c, 0x67, 0x12, 0x84, 0xf5, 0x5a, 0x18, 0x84, 0x6b, 0xd7, 0xae, + 0x5d, 0x7e, 0x02, 0xe2, 0xe6, 0xe3, 0xa0, 0xfd, 0xae, 0xf5, 0x93, 0xf5, + 0xe8, 0x71, 0x27, 0x7d, 0xf9, 0xf5, 0x4b, 0x96, 0x2c, 0xd9, 0x98, 0xec, + 0x59, 0x16, 0x86, 0x1d, 0xa8, 0x7c, 0x8f, 0x80, 0x4d, 0x0e, 0x01, 0x25, + 0xe5, 0xc8, 0x6b, 0xc8, 0x4d, 0x71, 0x1a, 0x12, 0xf0, 0x82, 0x12, 0x52, + 0x14, 0x3d, 0x0e, 0xfb, 0x15, 0x41, 0x98, 0xf5, 0x7c, 0xf3, 0xcd, 0xb7, + 0x91, 0xc5, 0x87, 0x32, 0x11, 0x02, 0x66, 0xe3, 0xc2, 0x36, 0x36, 0x1c, + 0x07, 0xbe, 0x6b, 0xf1, 0x2e, 0xf0, 0xe8, 0x3d, 0xe0, 0x13, 0xa8, 0x39, + 0xcf, 0x2b, 0xaf, 0xbc, 0x92, 0x57, 0xaf, 0x5e, 0xbd, 0xb9, 0x1d, 0x3b, + 0x76, 0xbc, 0x54, 0x86, 0xc9, 0xfc, 0xd3, 0xda, 0xfa, 0xfd, 0xa7, 0xa9, + 0x6f, 0x70, 0xa4, 0x7a, 0xde, 0xfb, 0x0b, 0xf8, 0xdd, 0x19, 0xca, 0x74, + 0x4b, 0x12, 0xe5, 0xea, 0x07, 0xf8, 0x73, 0x31, 0xa3, 0x61, 0xc2, 0x50, + 0xfb, 0xc9, 0xf9, 0x15, 0x84, 0xcf, 0xc7, 0xfa, 0xa5, 0xff, 0xbd, 0xc7, + 0x8e, 0x1d, 0xbb, 0x38, 0x9a, 0x79, 0x9c, 0x48, 0xea, 0x6f, 0x94, 0x7d, + 0xb8, 0x01, 0xb2, 0x60, 0x6b, 0x29, 0xda, 0x8a, 0x08, 0x03, 0xbf, 0xa8, + 0xd8, 0x03, 0xd9, 0xfa, 0x01, 0x25, 0xdf, 0x8f, 0xa7, 0x25, 0xa2, 0xce, + 0xd6, 0x8f, 0x3f, 0xfe, 0x14, 0x02, 0x8f, 0x95, 0xae, 0x5e, 0xbd, 0x26, + 0xac, 0xf1, 0x90, 0x06, 0xdb, 0x54, 0x14, 0x77, 0x88, 0xd2, 0x0f, 0xba, + 0x71, 0xe0, 0x5b, 0xee, 0x6f, 0x96, 0xcf, 0x67, 0xde, 0x79, 0xe7, 0x9d, + 0xa2, 0x66, 0xcd, 0x9a, 0x3d, 0x4d, 0x59, 0x82, 0x4a, 0xac, 0x2c, 0xbf, + 0xb1, 0xa4, 0xe6, 0x9c, 0x01, 0x03, 0x06, 0x1c, 0x2f, 0x02, 0x52, 0xb3, + 0x29, 0x18, 0xcc, 0xdf, 0xd1, 0x8e, 0x58, 0x89, 0xe0, 0x4b, 0xc7, 0x82, + 0x65, 0x3b, 0x51, 0xa7, 0xeb, 0x28, 0xb5, 0x33, 0xd4, 0xea, 0x53, 0x36, + 0xd6, 0x85, 0x8c, 0x5e, 0xbc, 0x78, 0xf1, 0xfa, 0x68, 0x4c, 0x36, 0xea, + 0xe4, 0x44, 0xa9, 0xa0, 0xef, 0x09, 0xbe, 0x1c, 0x15, 0xf8, 0x20, 0x17, + 0x39, 0xde, 0x60, 0x1e, 0xe0, 0x7a, 0x48, 0xe4, 0x19, 0x45, 0xc9, 0xd4, + 0x96, 0x1b, 0x63, 0xc0, 0x4b, 0x97, 0x7e, 0x1a, 0xa6, 0x93, 0x58, 0x77, + 0xb6, 0x02, 0xae, 0x4d, 0x47, 0xb1, 0xc1, 0x79, 0x57, 0x7a, 0x5c, 0xcb, + 0xf7, 0xb3, 0x1b, 0x1f, 0x78, 0xe2, 0xc6, 0xb2, 0x65, 0xcb, 0x52, 0x8f, + 0xa5, 0xf9, 0x4b, 0x04, 0xfe, 0xb5, 0x02, 0x7a, 0xc0, 0xe0, 0xc1, 0x83, + 0x5b, 0x2a, 0xf3, 0xa9, 0xce, 0x50, 0xa6, 0x59, 0x3f, 0x9d, 0x30, 0x26, + 0x10, 0xec, 0x70, 0x29, 0xc2, 0x1b, 0xe1, 0x0a, 0xe5, 0x87, 0xe0, 0xcb, + 0x02, 0x08, 0x46, 0xb1, 0xa4, 0xff, 0xe7, 0x92, 0xf9, 0xc8, 0x03, 0x7a, + 0x88, 0x9c, 0xc7, 0x01, 0x01, 0xed, 0x0f, 0x7b, 0xa9, 0x79, 0x49, 0x02, + 0xf2, 0x4a, 0x80, 0xef, 0x7b, 0x42, 0x0c, 0x11, 0x25, 0xa4, 0xa9, 0xc8, + 0x0b, 0xc4, 0x85, 0xa9, 0x60, 0x8c, 0xb5, 0x9b, 0xd4, 0x21, 0x37, 0x94, + 0x09, 0xb0, 0x5a, 0x3a, 0x63, 0x36, 0x1d, 0xc5, 0x9d, 0x05, 0x67, 0x33, + 0x23, 0x7c, 0xf0, 0x7d, 0xbd, 0x37, 0x9d, 0x37, 0xe0, 0x69, 0x04, 0x5c, + 0x52, 0x56, 0x3e, 0x2b, 0xc9, 0xfd, 0xb6, 0x4b, 0x97, 0x2e, 0x7f, 0x15, + 0xe8, 0xfa, 0xc9, 0x43, 0x32, 0xa3, 0xb1, 0xe4, 0x33, 0x19, 0xa3, 0x76, + 0xa7, 0xb2, 0x10, 0x7c, 0xb7, 0x35, 0x99, 0x6b, 0xbb, 0x09, 0x88, 0x93, + 0x1f, 0x06, 0x56, 0x18, 0xc5, 0x52, 0x87, 0x2b, 0x43, 0x01, 0x79, 0xe0, + 0xbd, 0xf7, 0xde, 0xfb, 0x59, 0x54, 0x28, 0x4b, 0xd0, 0xcd, 0xcf, 0xc9, + 0x4d, 0x76, 0xf7, 0xb7, 0x48, 0x90, 0x27, 0x45, 0xe9, 0x3c, 0xa1, 0x84, + 0xa5, 0x17, 0x6d, 0x95, 0x09, 0x21, 0x37, 0x94, 0x30, 0xb8, 0xd9, 0xac, + 0x66, 0xc0, 0x01, 0xec, 0x9c, 0xdc, 0x9c, 0x12, 0x33, 0x9f, 0x6d, 0x26, + 0x9c, 0x2b, 0x3b, 0x56, 0x46, 0x70, 0x03, 0xae, 0x81, 0xef, 0x5a, 0xbc, + 0x59, 0x3d, 0x8d, 0x5e, 0x31, 0x24, 0x29, 0xe8, 0x16, 0x36, 0x6a, 0xd4, + 0xe8, 0x11, 0x69, 0xfd, 0x55, 0x92, 0x18, 0x8c, 0xae, 0xb1, 0x64, 0xe7, + 0x3c, 0x32, 0x1f, 0x59, 0xfc, 0x61, 0xf2, 0x8c, 0x7d, 0x99, 0x49, 0xe7, + 0x6b, 0x7f, 0xb9, 0xcb, 0xd1, 0x5e, 0xdd, 0x67, 0x67, 0x86, 0xdf, 0x64, + 0xf5, 0xfb, 0xb1, 0xf6, 0xca, 0xe4, 0x87, 0x91, 0xab, 0x3e, 0x7d, 0xfa, + 0xdc, 0xf0, 0xde, 0x7b, 0xef, 0xe5, 0x02, 0x4a, 0x4e, 0x6e, 0x6e, 0xb0, + 0x31, 0x27, 0x2f, 0xd8, 0x98, 0xeb, 0xd6, 0x5b, 0x7c, 0x12, 0xfc, 0xcc, + 0x68, 0xeb, 0x98, 0x50, 0x52, 0x7a, 0xa2, 0x9e, 0x73, 0x64, 0xf5, 0x90, + 0x00, 0x60, 0xef, 0x7f, 0xf0, 0x41, 0x08, 0x5e, 0x4e, 0x58, 0xc5, 0xdc, + 0x18, 0x82, 0x1f, 0x37, 0x0d, 0x31, 0x5d, 0xd0, 0x75, 0x2d, 0xdf, 0xc0, + 0x77, 0x25, 0x07, 0xcd, 0xa7, 0x31, 0x8f, 0x88, 0xf7, 0x8e, 0x19, 0x33, + 0xe6, 0x9f, 0xb2, 0xf2, 0x71, 0xb2, 0xfa, 0x8b, 0x04, 0x7e, 0x1b, 0xc9, + 0x4f, 0x4d, 0x11, 0x70, 0xaa, 0x80, 0x3f, 0x8a, 0xa9, 0x32, 0xf2, 0x82, + 0x3d, 0x4c, 0x7a, 0xbc, 0xcc, 0xa7, 0x5c, 0x04, 0x94, 0xd0, 0x7f, 0xea, + 0x3e, 0xcc, 0x66, 0x88, 0x16, 0x42, 0x1c, 0x2b, 0xf0, 0xcf, 0x56, 0xa7, + 0xab, 0xa9, 0x7a, 0xc0, 0x94, 0x99, 0x67, 0xaf, 0x5d, 0xbb, 0x26, 0x4a, + 0xfd, 0xf2, 0x82, 0x6c, 0x01, 0xc2, 0xd1, 0x2d, 0x7a, 0xe5, 0x97, 0x1a, + 0x0b, 0x4a, 0xe9, 0x1f, 0x14, 0x16, 0x45, 0x9d, 0xb4, 0xa4, 0xd5, 0x03, + 0x34, 0x1d, 0xa9, 0x7f, 0xfc, 0xe3, 0xc3, 0xb0, 0x8c, 0x40, 0x1d, 0x68, + 0x43, 0xf6, 0x86, 0xad, 0x16, 0x5d, 0xb8, 0xba, 0xbf, 0xbd, 0xe0, 0xbb, + 0x96, 0xef, 0x80, 0x1f, 0xbe, 0xfe, 0xd6, 0x5b, 0x6f, 0x6d, 0x6e, 0xde, + 0xbc, 0xf9, 0xe3, 0xd2, 0xfa, 0xcb, 0x99, 0x49, 0x21, 0xf0, 0x1b, 0x91, + 0x76, 0x32, 0x39, 0x8c, 0x49, 0x62, 0x65, 0x91, 0x9e, 0x32, 0x13, 0x60, + 0x13, 0x62, 0x4d, 0xff, 0x25, 0x39, 0x27, 0x30, 0x90, 0x2e, 0x02, 0x5a, + 0x91, 0xfd, 0x88, 0x94, 0xd7, 0xd0, 0x7e, 0x01, 0x9a, 0xc8, 0x4e, 0xd5, + 0xd3, 0x93, 0x24, 0xe4, 0xe6, 0x26, 0x8b, 0x61, 0x79, 0x79, 0x25, 0xeb, + 0x31, 0x5b, 0x95, 0x10, 0xb6, 0xca, 0x8a, 0x92, 0x41, 0xb6, 0x30, 0x2a, + 0x59, 0x73, 0x43, 0x3e, 0x94, 0x81, 0x84, 0xa0, 0x40, 0x84, 0x4d, 0x3f, + 0x0c, 0xa7, 0x9f, 0x7b, 0xd2, 0x63, 0xf9, 0xbe, 0xe9, 0xbe, 0x9f, 0xf1, + 0xf8, 0xc1, 0x16, 0x9d, 0x37, 0xc9, 0x31, 0xf0, 0x49, 0x39, 0x91, 0x38, + 0xc8, 0x9a, 0x3e, 0x7d, 0xfa, 0x4a, 0x05, 0xde, 0x5b, 0xd4, 0x09, 0x1d, + 0x28, 0xf0, 0x33, 0xcc, 0xfa, 0x05, 0x7e, 0x6a, 0x12, 0xef, 0xf6, 0x4a, + 0xcf, 0x76, 0x11, 0x10, 0xd7, 0xfb, 0x65, 0xa6, 0x98, 0x08, 0x38, 0x94, + 0x65, 0x9c, 0xcc, 0x52, 0x10, 0xf8, 0x19, 0xf2, 0x86, 0x41, 0x33, 0x67, + 0xce, 0xfc, 0x22, 0x69, 0x9d, 0x39, 0x89, 0x0d, 0x0a, 0x82, 0x1b, 0xb2, + 0x73, 0xc2, 0x81, 0x0d, 0xa4, 0x28, 0x27, 0x37, 0x2f, 0xe9, 0x05, 0x5b, + 0x11, 0xe0, 0x7b, 0x82, 0x4b, 0x80, 0x81, 0x5f, 0x94, 0xaa, 0x25, 0x7d, + 0x21, 0xcb, 0x7c, 0x63, 0xc9, 0x92, 0x10, 0x2c, 0xab, 0x7e, 0x42, 0x82, + 0x4d, 0x3f, 0x37, 0xe9, 0xf1, 0x27, 0xe1, 0xba, 0x9d, 0xad, 0x38, 0xcb, + 0x37, 0xeb, 0x87, 0x00, 0x03, 0xde, 0xc0, 0x87, 0xe8, 0xa5, 0x4b, 0x97, + 0x26, 0x78, 0xaf, 0xb2, 0xbf, 0x0f, 0x64, 0xf1, 0x57, 0x0f, 0x1b, 0x36, + 0xec, 0x82, 0xa1, 0x43, 0x87, 0x36, 0x15, 0x01, 0xe7, 0x0a, 0xec, 0x13, + 0xcc, 0xfa, 0x6d, 0x14, 0x6c, 0x7b, 0xa4, 0xa7, 0x4c, 0x04, 0xa0, 0xff, + 0x51, 0x77, 0x7a, 0xb7, 0x68, 0x09, 0x28, 0x13, 0xa5, 0x4e, 0x95, 0xd5, + 0xd7, 0x91, 0x2c, 0x65, 0x4a, 0x0b, 0x87, 0x3f, 0xff, 0xfc, 0xf3, 0xab, + 0x93, 0x41, 0x91, 0x52, 0x30, 0x80, 0x6c, 0x0c, 0x3d, 0x20, 0x3b, 0x8c, + 0x05, 0x79, 0x61, 0x40, 0xce, 0xb3, 0x80, 0x9c, 0x9f, 0x3e, 0x2b, 0xda, + 0x22, 0x41, 0xc9, 0x91, 0xb0, 0x64, 0x4a, 0xbb, 0x29, 0xcc, 0x70, 0x5e, + 0x7b, 0xfd, 0xf5, 0xe0, 0x07, 0x81, 0x48, 0x8a, 0x6b, 0xc0, 0xd3, 0xb0, + 0x7e, 0x37, 0xf0, 0xda, 0x44, 0xdc, 0xd2, 0x2c, 0xdf, 0xcd, 0x76, 0x2c, + 0xcb, 0x31, 0xcb, 0x37, 0xe0, 0xc3, 0x42, 0xdd, 0xd2, 0xa5, 0x29, 0x49, + 0x92, 0x85, 0x2f, 0x94, 0xf4, 0x5c, 0x2a, 0x02, 0x98, 0xc8, 0x55, 0x5f, + 0xed, 0x4c, 0x11, 0x70, 0x34, 0xda, 0x4f, 0xda, 0xb9, 0xad, 0x4e, 0xd7, + 0x0e, 0x11, 0x40, 0x06, 0x64, 0xe5, 0x07, 0x96, 0xfc, 0xb3, 0x0a, 0x51, + 0xc7, 0xfa, 0x92, 0xa1, 0x8e, 0x0a, 0x40, 0xe3, 0x3f, 0xf8, 0xe0, 0x83, + 0x3c, 0xc0, 0x5a, 0xbb, 0x4e, 0x9d, 0x1e, 0x91, 0xb0, 0x7e, 0x43, 0xd2, + 0x0b, 0xb2, 0x43, 0x2f, 0xc8, 0xdd, 0x22, 0x43, 0xf9, 0x71, 0x5e, 0x50, + 0xb2, 0x87, 0x6c, 0xc1, 0x97, 0x1b, 0x35, 0x9c, 0x37, 0xdf, 0x7c, 0x2b, + 0x78, 0xe3, 0x8d, 0x37, 0x82, 0x95, 0x02, 0xd5, 0x05, 0x3f, 0x25, 0x3d, + 0x51, 0x47, 0xcb, 0x95, 0x1e, 0xbf, 0xce, 0xe3, 0xa6, 0x9b, 0x6e, 0x07, + 0xcb, 0xcd, 0x74, 0x7c, 0xf0, 0xe9, 0x4f, 0xd0, 0xa1, 0xe3, 0x3c, 0x32, + 0x00, 0xf4, 0xff, 0x21, 0x59, 0x3e, 0xf3, 0x88, 0x48, 0x3d, 0x6b, 0xcb, + 0x03, 0x42, 0xf9, 0x21, 0xf3, 0x51, 0x60, 0xfe, 0xb3, 0x75, 0xba, 0xca, + 0xb2, 0x82, 0x66, 0xbb, 0x09, 0xa0, 0xf6, 0x1f, 0x4d, 0x40, 0x0a, 0x33, + 0x20, 0x11, 0x70, 0xa6, 0x52, 0xd0, 0x86, 0x22, 0xa5, 0x4b, 0x66, 0x66, + 0xe6, 0x24, 0x59, 0x52, 0x31, 0xfd, 0xa1, 0xd5, 0x6b, 0xd6, 0x85, 0x24, + 0xe0, 0x05, 0xeb, 0x37, 0x30, 0x40, 0x92, 0x24, 0x20, 0x25, 0x43, 0xf9, + 0x71, 0x5e, 0xb0, 0x25, 0x0d, 0x2d, 0x8c, 0xb4, 0x9f, 0xdb, 0xaa, 0x55, + 0xab, 0xc3, 0xa9, 0x85, 0x80, 0x0f, 0xb0, 0x0c, 0x8e, 0x03, 0xb8, 0x49, + 0x8f, 0xbf, 0xec, 0x28, 0x4e, 0x7a, 0xfc, 0xa0, 0xeb, 0x67, 0x3b, 0xae, + 0xec, 0x00, 0x3e, 0xcd, 0x2c, 0x1f, 0xed, 0xa7, 0xe1, 0x5d, 0x4b, 0x96, + 0x2c, 0x29, 0x68, 0xd9, 0xb2, 0x25, 0x53, 0x5b, 0x2e, 0x52, 0xcb, 0x60, + 0xf4, 0x8b, 0xb2, 0x33, 0xa9, 0x27, 0xbd, 0x5e, 0x0b, 0xbe, 0xe9, 0x6a, + 0x3e, 0xe5, 0x26, 0xc0, 0x52, 0x50, 0x23, 0x80, 0xd5, 0x88, 0xcc, 0xf1, + 0x51, 0x06, 0x54, 0x85, 0x65, 0xff, 0x22, 0xa0, 0x6b, 0x56, 0x56, 0xd6, + 0x74, 0x2c, 0x8d, 0x8c, 0x65, 0xd5, 0x6a, 0xc0, 0x80, 0x00, 0x79, 0x01, + 0xb1, 0x60, 0x63, 0x4e, 0x98, 0x22, 0xe6, 0xe4, 0x26, 0x63, 0x81, 0x1b, + 0x8c, 0x37, 0x95, 0x20, 0x60, 0x4b, 0x21, 0xcd, 0x82, 0xad, 0x64, 0x2d, + 0x04, 0x1f, 0x80, 0x93, 0xa3, 0x5d, 0xe9, 0xc1, 0xf7, 0xd7, 0x00, 0xc4, + 0x81, 0xef, 0xea, 0x7e, 0x3a, 0xd9, 0x71, 0x81, 0xc7, 0xfa, 0xf1, 0x02, + 0x88, 0x57, 0xfe, 0x9f, 0x2f, 0x90, 0xa7, 0x28, 0x0e, 0x0c, 0x90, 0x07, + 0xb4, 0x89, 0xe6, 0x90, 0x56, 0x66, 0x86, 0x5c, 0xdc, 0x1a, 0xb2, 0x0a, + 0x99, 0x1b, 0x6a, 0x04, 0x90, 0x52, 0x41, 0x00, 0x25, 0x08, 0x66, 0x0b, + 0xeb, 0xb9, 0x63, 0xd8, 0x7b, 0x41, 0x04, 0x34, 0x95, 0x17, 0x74, 0x93, + 0x0b, 0x3e, 0xc0, 0x8f, 0xce, 0x17, 0x90, 0x78, 0xc0, 0x9a, 0xb5, 0xeb, + 0x93, 0x5e, 0x10, 0xce, 0x28, 0xb0, 0x6c, 0x28, 0x37, 0x1c, 0xf0, 0x4e, + 0x06, 0xe3, 0xfc, 0xd8, 0x54, 0x94, 0x23, 0x37, 0x06, 0xd9, 0x17, 0x2c, + 0x78, 0x86, 0x1f, 0x1d, 0x02, 0x6c, 0x80, 0xfb, 0xe0, 0xfb, 0xba, 0xef, + 0xa6, 0x9c, 0x46, 0x80, 0x0b, 0xbe, 0x5b, 0xcd, 0x74, 0x65, 0x07, 0xe0, + 0x5d, 0xf0, 0x01, 0x9e, 0x46, 0xdc, 0xc1, 0x1b, 0x30, 0x0a, 0xaa, 0x9e, + 0xf2, 0xf4, 0xc9, 0x23, 0x47, 0x8e, 0xec, 0x27, 0xd0, 0x5b, 0x97, 0x46, + 0x40, 0x85, 0x4d, 0xce, 0xf5, 0x4b, 0xd0, 0xd1, 0xd6, 0x2d, 0x07, 0xb0, + 0x0d, 0x80, 0xb2, 0xa0, 0xb3, 0x05, 0x7e, 0x53, 0x79, 0x40, 0x77, 0x11, + 0x30, 0x0b, 0xcb, 0x23, 0xd0, 0xae, 0x5a, 0xbd, 0x76, 0x0b, 0x01, 0xeb, + 0xb3, 0xa3, 0x60, 0x2c, 0xe0, 0x72, 0x73, 0xc3, 0x51, 0xa8, 0xbc, 0x68, + 0xd6, 0x41, 0x7e, 0x24, 0x45, 0x6e, 0x3a, 0xca, 0xed, 0xdb, 0x6f, 0x97, + 0x07, 0x4f, 0x3e, 0xf9, 0x64, 0xb0, 0x68, 0xf1, 0x62, 0x9d, 0x63, 0x0b, + 0xf8, 0xae, 0xee, 0xfb, 0xe0, 0xbb, 0x1d, 0x2e, 0x3f, 0xf0, 0xba, 0x96, + 0x9f, 0x4e, 0x76, 0x7c, 0xf0, 0x99, 0x55, 0xad, 0x98, 0x16, 0xbc, 0xff, + 0xfe, 0xfb, 0xe1, 0xeb, 0x64, 0x60, 0xea, 0x03, 0x6c, 0x6a, 0xd3, 0xa6, + 0xcd, 0x34, 0xa5, 0xe1, 0xfd, 0x7d, 0x0f, 0x60, 0xe8, 0xb1, 0xbc, 0xab, + 0x28, 0xb7, 0xdb, 0x03, 0x8c, 0x00, 0x3c, 0x20, 0x8e, 0x00, 0x2c, 0x0f, + 0x89, 0x59, 0xb9, 0x4a, 0x96, 0xb8, 0x56, 0x5e, 0xb0, 0x6e, 0x7d, 0x52, + 0x86, 0x20, 0x20, 0x3b, 0x27, 0x8a, 0x03, 0x46, 0x42, 0x7e, 0x89, 0x0a, + 0x29, 0xf7, 0xb9, 0x51, 0xcf, 0x79, 0xec, 0xf1, 0x79, 0xe1, 0x14, 0x72, + 0x2c, 0xda, 0x82, 0xac, 0x0b, 0x7c, 0x1c, 0xf8, 0x71, 0x59, 0x8f, 0x59, + 0xbf, 0x9f, 0xf1, 0x98, 0xec, 0xb8, 0x7a, 0xef, 0x4a, 0x0e, 0x56, 0x6f, + 0xe0, 0xab, 0x67, 0x1f, 0x92, 0xc3, 0xd8, 0x82, 0x5e, 0x2f, 0x6e, 0xd6, + 0xac, 0xd9, 0x4c, 0x24, 0x48, 0x24, 0x64, 0x08, 0x87, 0x70, 0x06, 0xc4, + 0x8e, 0xae, 0x23, 0x2e, 0xb7, 0x04, 0xa9, 0x85, 0x12, 0x04, 0x01, 0xdd, + 0xba, 0x75, 0x9b, 0xc9, 0x0f, 0x07, 0xe4, 0x95, 0x2b, 0xd7, 0x44, 0x81, + 0x58, 0x5e, 0x40, 0x59, 0x40, 0x32, 0x14, 0x7a, 0x40, 0x4e, 0x52, 0x86, + 0x72, 0x1d, 0x0f, 0x08, 0x67, 0x33, 0xe8, 0xc8, 0x6d, 0xf9, 0xf2, 0xef, + 0x82, 0x47, 0x1e, 0x79, 0x34, 0x78, 0xe6, 0x99, 0x67, 0x42, 0x19, 0x31, + 0xc0, 0xdd, 0x4c, 0xc7, 0x2f, 0x33, 0xc4, 0x59, 0x7e, 0x5c, 0xd0, 0x75, + 0xc1, 0x77, 0x7b, 0xb7, 0x6e, 0xa6, 0x83, 0xd5, 0x03, 0x3e, 0xc0, 0xff, + 0xfd, 0xef, 0x7f, 0x0f, 0x1b, 0xeb, 0xc7, 0xf0, 0x0c, 0xae, 0x13, 0x52, + 0x3b, 0x75, 0xea, 0x34, 0x4f, 0xe0, 0x0f, 0x54, 0xeb, 0xc0, 0x9a, 0x34, + 0xa6, 0xc8, 0xbb, 0x5b, 0x19, 0xd8, 0x66, 0x1e, 0x65, 0xd9, 0x4b, 0xa2, + 0x5c, 0x41, 0xd8, 0x21, 0xa0, 0xf1, 0xf8, 0xf1, 0xe3, 0xbb, 0x75, 0xec, + 0xd8, 0xf1, 0x1e, 0xfd, 0xd8, 0x04, 0x9d, 0xae, 0x15, 0x2b, 0x57, 0x27, + 0x3d, 0x40, 0x6d, 0x9d, 0x64, 0x28, 0x24, 0x20, 0x3b, 0x29, 0x43, 0xf4, + 0x8a, 0xb7, 0x48, 0x50, 0x72, 0x72, 0x15, 0x99, 0x13, 0xf5, 0xfb, 0xb9, + 0x73, 0xe6, 0x06, 0xf3, 0xe6, 0xfd, 0x2d, 0x04, 0xd0, 0xc0, 0xf6, 0xc1, + 0x77, 0xad, 0x3e, 0x6e, 0xe1, 0x9d, 0x9b, 0xef, 0xbb, 0xba, 0x6f, 0xb9, + 0xbe, 0x0f, 0x7e, 0x9c, 0xe4, 0x00, 0x3c, 0x96, 0x0f, 0xf8, 0x6f, 0xbf, + 0xfd, 0x76, 0xf8, 0xba, 0xbe, 0x3b, 0x9c, 0x19, 0x27, 0xc0, 0x5f, 0xd5, + 0xef, 0x1f, 0xa2, 0x96, 0x25, 0xc0, 0x1b, 0xb0, 0x90, 0x43, 0x06, 0x79, + 0x34, 0x73, 0x42, 0xa3, 0xfd, 0xe8, 0x76, 0x29, 0xeb, 0x5a, 0xe2, 0x32, + 0xa7, 0xa1, 0xcc, 0x7d, 0x64, 0xbf, 0x35, 0x3d, 0x77, 0xa6, 0x32, 0xa1, + 0x86, 0x22, 0xa1, 0x6b, 0x46, 0x46, 0xc6, 0x1d, 0x9f, 0x2e, 0x5d, 0x5a, + 0x48, 0x80, 0xfd, 0x79, 0xc5, 0x2a, 0x79, 0x40, 0x32, 0x0e, 0x30, 0x37, + 0x67, 0x83, 0x11, 0xa0, 0x00, 0x6a, 0xa9, 0xa8, 0x81, 0x4f, 0x45, 0x73, + 0xd5, 0xea, 0x35, 0xc1, 0xdc, 0x47, 0x1e, 0x09, 0x1e, 0x7a, 0xe8, 0xa1, + 0x30, 0x3b, 0xb1, 0x25, 0xa5, 0xae, 0xdc, 0xc4, 0x49, 0x8e, 0x5f, 0x64, + 0x73, 0x83, 0xae, 0x9f, 0x72, 0xba, 0xb5, 0x1d, 0x57, 0x76, 0x5c, 0xf0, + 0x0d, 0x78, 0x03, 0x5f, 0x9a, 0x1f, 0xce, 0x7e, 0xe3, 0x31, 0x53, 0x4f, + 0xf0, 0xd2, 0x49, 0x93, 0x26, 0x7d, 0x21, 0x12, 0x46, 0x88, 0x80, 0x5e, + 0x02, 0xbc, 0x19, 0x8b, 0x38, 0x6c, 0x35, 0x3d, 0x71, 0x80, 0x4a, 0x41, + 0x59, 0xb7, 0x36, 0x2b, 0x73, 0x47, 0x8c, 0x19, 0x5f, 0xec, 0xa9, 0xc6, + 0xb6, 0x00, 0x63, 0xc6, 0x8c, 0x69, 0xc0, 0x3c, 0x7a, 0xdd, 0x6e, 0x7a, + 0xe7, 0x9d, 0x77, 0x72, 0xe9, 0x64, 0x19, 0x01, 0x6b, 0xd7, 0x26, 0xd3, + 0xd1, 0xf5, 0x04, 0x62, 0x02, 0x28, 0xb3, 0xd3, 0x52, 0x69, 0x68, 0x7e, + 0xd8, 0xd1, 0x42, 0xdb, 0x1f, 0x7b, 0xfc, 0xf1, 0xe0, 0xde, 0x7b, 0xef, + 0x0d, 0xa5, 0x20, 0x3b, 0x3b, 0xd9, 0xa1, 0x2a, 0x0d, 0x7c, 0xbf, 0xc2, + 0xe9, 0x0e, 0xae, 0xc4, 0x81, 0xef, 0x4a, 0x8f, 0x05, 0x5c, 0xbe, 0x0b, + 0x02, 0x5c, 0xf0, 0x4d, 0x72, 0xb0, 0x7a, 0x03, 0x5f, 0xb9, 0x7f, 0xd8, + 0x20, 0x8c, 0xdb, 0xab, 0xaf, 0xbe, 0x9a, 0xa3, 0xde, 0xf0, 0x6d, 0x04, + 0x62, 0x59, 0x7e, 0x86, 0x48, 0xa8, 0x49, 0x67, 0xcc, 0x66, 0xc2, 0x61, + 0xa0, 0xae, 0x17, 0x54, 0x58, 0x2d, 0xc8, 0x4a, 0x11, 0xe8, 0x1c, 0xeb, + 0xa4, 0xd8, 0xca, 0x4b, 0x04, 0x9c, 0xc6, 0xbe, 0x0c, 0xec, 0x40, 0x35, + 0x60, 0xc0, 0x80, 0x51, 0xd2, 0xee, 0x55, 0xa4, 0xa1, 0x3f, 0xfd, 0xbc, + 0x52, 0x00, 0x61, 0xa5, 0xeb, 0xb6, 0xa4, 0xa2, 0x10, 0xe0, 0x04, 0x60, + 0x9b, 0x18, 0xb5, 0x60, 0xfe, 0x82, 0x70, 0xf9, 0xd0, 0x1b, 0x6f, 0x2c, + 0x09, 0x81, 0xc6, 0xb2, 0x0d, 0xf4, 0x74, 0xc0, 0xc7, 0x65, 0x3b, 0x2e, + 0xf8, 0x71, 0xd5, 0x4d, 0x37, 0xdd, 0x74, 0xc1, 0x47, 0xf3, 0x0d, 0x7c, + 0x1a, 0xe0, 0x03, 0xbc, 0x81, 0x4f, 0x1f, 0x84, 0x54, 0x18, 0x69, 0x42, + 0x3a, 0xb9, 0x26, 0xa5, 0x9c, 0xcf, 0x08, 0xf8, 0x21, 0xc2, 0xa2, 0xab, + 0x5a, 0x23, 0x26, 0xe5, 0xfa, 0x3b, 0x6b, 0x61, 0xac, 0xfe, 0x9a, 0xe2, + 0x0a, 0x21, 0x80, 0x93, 0x47, 0x2b, 0x18, 0xd9, 0x9b, 0xe1, 0x14, 0xf6, + 0x60, 0x53, 0x26, 0xd4, 0x41, 0xec, 0x5f, 0x3a, 0x63, 0xc6, 0x8c, 0xaf, + 0xc8, 0x68, 0xe4, 0x01, 0x89, 0x55, 0xe6, 0x01, 0x16, 0x03, 0x36, 0x6e, + 0x91, 0x9f, 0xdc, 0x50, 0xf7, 0x13, 0xe1, 0xd2, 0xa1, 0xdb, 0x6e, 0xbb, + 0x3d, 0x98, 0x3f, 0x7f, 0x7e, 0x0a, 0x54, 0x00, 0xf7, 0x83, 0x6c, 0x3a, + 0xd9, 0x49, 0x37, 0xac, 0xe8, 0x16, 0xd8, 0x4a, 0x93, 0x1e, 0x37, 0xe0, + 0x22, 0x33, 0x54, 0x58, 0x5d, 0xab, 0x07, 0x7c, 0xd6, 0x11, 0x43, 0x00, + 0xcf, 0x73, 0x3e, 0x6e, 0xfa, 0x9d, 0xdf, 0xab, 0xe7, 0x3b, 0x46, 0x32, + 0xd4, 0x97, 0xd5, 0x39, 0x6a, 0x35, 0x59, 0xa8, 0xc1, 0x6a, 0x19, 0x77, + 0x7f, 0x39, 0x5f, 0x8a, 0xca, 0x3b, 0x20, 0xe3, 0x6e, 0x8a, 0xb7, 0x53, + 0xb4, 0x56, 0x76, 0x2f, 0xb6, 0x07, 0x60, 0xb1, 0x9c, 0x5a, 0x75, 0x11, + 0x90, 0x31, 0x62, 0xc4, 0x88, 0x81, 0xe3, 0xc6, 0xdd, 0xf0, 0x36, 0x41, + 0x76, 0xc5, 0xaa, 0x35, 0x89, 0x54, 0x5f, 0x20, 0x8c, 0x01, 0xc9, 0xa2, + 0x5c, 0xb2, 0x27, 0x9c, 0x1b, 0x06, 0x5d, 0x00, 0xb8, 0xf5, 0xd6, 0x5b, + 0x83, 0x99, 0x33, 0x67, 0x86, 0xa0, 0x01, 0x6a, 0x1c, 0xe8, 0x2e, 0xf0, + 0xee, 0xa8, 0x96, 0x5b, 0xdb, 0xf7, 0x87, 0x14, 0xd3, 0x59, 0xfe, 0xf6, + 0x82, 0x6f, 0xc0, 0x63, 0x20, 0x80, 0x6f, 0x0d, 0xa9, 0xa2, 0x3f, 0x00, + 0xe9, 0x9d, 0x3b, 0x77, 0x7e, 0x52, 0x12, 0xc4, 0x70, 0x64, 0x77, 0x11, + 0xd0, 0x44, 0x78, 0x10, 0x0b, 0x2a, 0x33, 0x35, 0x1d, 0x85, 0xb0, 0xf1, + 0x60, 0x5b, 0xb8, 0x57, 0x1a, 0x09, 0x65, 0x1a, 0x90, 0x81, 0x59, 0x56, + 0x80, 0xb0, 0x52, 0x90, 0x95, 0x83, 0x2c, 0x5e, 0x93, 0x47, 0xb4, 0x1c, + 0x35, 0x6a, 0x54, 0x1f, 0x59, 0xc5, 0x53, 0x14, 0xcb, 0x56, 0xaf, 0x5e, + 0x17, 0x75, 0xc6, 0xd6, 0x25, 0x3b, 0x62, 0xd9, 0x1b, 0x93, 0x73, 0xee, + 0xd5, 0x18, 0xcd, 0x02, 0xb8, 0xc9, 0x93, 0xa7, 0x84, 0xd6, 0x0f, 0x18, + 0xab, 0xc2, 0xcf, 0xac, 0x4e, 0x81, 0xed, 0x36, 0x57, 0x72, 0xfc, 0xba, + 0x7e, 0x1c, 0xf8, 0x6e, 0xc6, 0x13, 0x67, 0xf9, 0x26, 0x3b, 0x6e, 0xd0, + 0x75, 0x03, 0xae, 0x81, 0x6f, 0x04, 0x58, 0x5b, 0xac, 0x4e, 0x21, 0xe4, + 0x70, 0x6e, 0x6e, 0x73, 0xe7, 0xce, 0x5d, 0xa5, 0xa4, 0xe4, 0x26, 0x19, + 0x24, 0x65, 0x89, 0x4c, 0x11, 0x50, 0x8f, 0xd5, 0xfa, 0xf2, 0x80, 0xe3, + 0xe9, 0x98, 0xb1, 0xae, 0x98, 0xb1, 0x01, 0x5b, 0x1f, 0xb0, 0x23, 0xb3, + 0x22, 0x62, 0x67, 0x44, 0xd0, 0x1b, 0x96, 0x05, 0x1c, 0x2b, 0x19, 0x3a, + 0x5b, 0x41, 0xb8, 0x89, 0x08, 0xe9, 0xd9, 0xb6, 0x6d, 0xdb, 0xbb, 0xf5, + 0x63, 0x8b, 0x29, 0x3d, 0xac, 0x54, 0x2a, 0x4a, 0x3f, 0x20, 0x29, 0x3f, + 0x49, 0x02, 0x6c, 0x36, 0x32, 0x2b, 0x17, 0xf5, 0x99, 0xb0, 0xb3, 0x65, + 0xa0, 0xfa, 0x80, 0xfb, 0xc0, 0x6f, 0x0b, 0x7c, 0x5f, 0x76, 0xdc, 0xa0, + 0xeb, 0xe7, 0xfa, 0x3e, 0xf8, 0xa6, 0xfb, 0x00, 0x6c, 0xe0, 0x63, 0xf1, + 0x3e, 0x01, 0x3c, 0xc7, 0x67, 0x90, 0x49, 0x4a, 0x13, 0x02, 0xfa, 0xef, + 0x02, 0x9f, 0x55, 0x96, 0x7d, 0x90, 0xa2, 0x68, 0xc5, 0xe6, 0x19, 0xb6, + 0x3e, 0x80, 0x02, 0x1d, 0x31, 0x33, 0xcd, 0x00, 0x4d, 0xa5, 0x72, 0x8d, + 0x09, 0xbb, 0x15, 0x51, 0x32, 0x21, 0xb5, 0x33, 0x64, 0xfd, 0x0d, 0xd4, + 0x2b, 0xce, 0xd2, 0x6b, 0xd7, 0x3d, 0xfb, 0xec, 0x73, 0x6b, 0x91, 0x1a, + 0x32, 0xa1, 0x35, 0xeb, 0x9c, 0x4e, 0x98, 0x1a, 0xd2, 0xf3, 0xc2, 0x0b, + 0x2f, 0x06, 0xd7, 0x8c, 0x1e, 0x1d, 0x2e, 0x98, 0xa6, 0xe3, 0x05, 0x90, + 0x3e, 0xe8, 0xee, 0x56, 0x32, 0x2e, 0xf0, 0xdb, 0x02, 0xdf, 0xad, 0xeb, + 0xfb, 0x19, 0x8f, 0x9f, 0xeb, 0x9b, 0xec, 0xb8, 0xe0, 0xbb, 0x9a, 0x6f, + 0x04, 0x00, 0x3c, 0x6d, 0xd1, 0xa2, 0x45, 0xe1, 0x91, 0xd7, 0x39, 0x0f, + 0x52, 0x44, 0x6a, 0x2a, 0x29, 0x7a, 0x46, 0xd6, 0x3f, 0x54, 0xc6, 0xd8, + 0x8b, 0xa9, 0x29, 0xc2, 0xa6, 0x06, 0x2b, 0xf7, 0x75, 0x3c, 0x9a, 0xe9, + 0xe9, 0xd4, 0x88, 0xfc, 0x9d, 0x56, 0xfc, 0xa0, 0x5c, 0xa6, 0x59, 0x11, + 0x16, 0x88, 0xd9, 0x3e, 0x80, 0x45, 0xcb, 0x04, 0x62, 0x96, 0x6e, 0x2a, + 0x18, 0xb3, 0xcf, 0xc2, 0x30, 0xe5, 0xc9, 0x4b, 0x19, 0x05, 0x53, 0x6e, + 0x9f, 0xa0, 0x8e, 0x13, 0x56, 0x43, 0xd5, 0x58, 0xdd, 0xf2, 0xb9, 0x24, + 0xe1, 0xda, 0xeb, 0xae, 0x0b, 0xc6, 0x8f, 0xbf, 0x31, 0xf8, 0x87, 0x7e, + 0x84, 0x4d, 0x8a, 0xf5, 0x27, 0x4b, 0xf9, 0xbb, 0x99, 0x00, 0x7a, 0xdc, + 0xec, 0x35, 0x7f, 0xe2, 0x54, 0x1c, 0xf8, 0x56, 0xdf, 0xf1, 0x7b, 0xb9, + 0x6e, 0xba, 0x69, 0x96, 0x0f, 0x01, 0x96, 0xf5, 0x18, 0xf8, 0x06, 0x3c, + 0xcd, 0x9e, 0xe3, 0xbd, 0x9c, 0x9b, 0x9b, 0xce, 0x5b, 0xd8, 0xba, 0x75, + 0xeb, 0x47, 0x19, 0x23, 0x60, 0x90, 0x46, 0xf8, 0x84, 0x9b, 0x7d, 0x50, + 0xa6, 0x26, 0x35, 0x65, 0xa0, 0xc6, 0x36, 0x7b, 0xb2, 0x78, 0xe0, 0x7b, + 0xc1, 0x76, 0x4d, 0xcc, 0x72, 0xe7, 0x05, 0x45, 0x7b, 0x25, 0xec, 0x85, + 0xd6, 0xb1, 0xaf, 0xa6, 0x24, 0xa9, 0x1a, 0xeb, 0xa4, 0x74, 0xbf, 0xbf, + 0x6e, 0xf3, 0x57, 0xac, 0x58, 0x19, 0xa6, 0xa0, 0xa1, 0x07, 0x84, 0x15, + 0xcc, 0xbc, 0x70, 0x68, 0x72, 0xca, 0x94, 0x3b, 0x83, 0x2b, 0xae, 0xb8, + 0x52, 0x59, 0xcf, 0x82, 0xb0, 0xda, 0x69, 0x04, 0xa4, 0x6b, 0xa5, 0x4d, + 0x98, 0xf5, 0x07, 0x55, 0xfc, 0x5c, 0xbf, 0x2c, 0x19, 0x8f, 0xab, 0xfb, + 0x66, 0xfd, 0x06, 0xba, 0x4f, 0x82, 0xdd, 0xe7, 0x33, 0x46, 0x82, 0xce, + 0xb9, 0x49, 0x24, 0x3c, 0xc2, 0x8a, 0x7b, 0x76, 0x6b, 0x61, 0xa0, 0x9e, + 0x19, 0x72, 0x0c, 0x55, 0x32, 0x43, 0xda, 0xf6, 0x1c, 0x4d, 0xb7, 0xe1, + 0x53, 0xb9, 0x66, 0xc6, 0xc1, 0x2a, 0x2e, 0x46, 0x1c, 0x20, 0x0f, 0xd6, + 0x17, 0x37, 0xd1, 0xf3, 0x3d, 0x1b, 0x37, 0x6e, 0x3c, 0x49, 0x3f, 0x70, + 0x13, 0x9a, 0x4f, 0x67, 0x6c, 0x9d, 0x48, 0x28, 0xde, 0x9c, 0x08, 0x16, + 0x2e, 0x7c, 0x36, 0x18, 0x32, 0x64, 0x68, 0x70, 0xfb, 0xed, 0x77, 0x08, + 0xa8, 0x2f, 0x43, 0xf0, 0x4c, 0x56, 0xdc, 0x66, 0xd6, 0xee, 0x5b, 0x7d, + 0x5c, 0x4d, 0xdf, 0x1f, 0xd1, 0x72, 0xcb, 0x0c, 0xe9, 0x2a, 0x9b, 0xe9, + 0xa4, 0xc7, 0xcd, 0x76, 0x5c, 0xf0, 0x5d, 0xe0, 0x7d, 0x22, 0xf8, 0x1c, + 0xf2, 0x46, 0xa1, 0x4e, 0xdf, 0x59, 0xd4, 0xbd, 0x7b, 0xf7, 0x85, 0xbd, + 0x7a, 0xf5, 0xba, 0x90, 0x4d, 0x3f, 0x84, 0x53, 0x1d, 0x81, 0x7f, 0x3a, + 0xc3, 0x95, 0x94, 0x29, 0xcc, 0x0b, 0xe2, 0xaa, 0xa5, 0x65, 0x9a, 0x1b, + 0x6a, 0x45, 0x39, 0x22, 0x3c, 0x3d, 0x3f, 0x72, 0x5f, 0x9d, 0xfc, 0x74, + 0x7d, 0x69, 0x3d, 0xdd, 0x67, 0x7f, 0xce, 0x11, 0xd3, 0xa7, 0x4f, 0xff, + 0x86, 0xb2, 0xf4, 0x4a, 0xa5, 0xa3, 0x0c, 0xbc, 0x7c, 0xf5, 0xf5, 0x37, + 0xc1, 0xf0, 0x11, 0x23, 0x58, 0xd0, 0x16, 0xba, 0x31, 0xa0, 0x01, 0xa4, + 0x59, 0xb7, 0x35, 0xd7, 0xe2, 0xd3, 0x4d, 0x13, 0x8f, 0x1b, 0xcb, 0x2d, + 0x0d, 0x7c, 0xbf, 0xb2, 0x69, 0x96, 0xef, 0x77, 0xb6, 0xdc, 0xc0, 0x9b, + 0x0e, 0x7c, 0x23, 0xc0, 0x7d, 0xcc, 0xe7, 0x38, 0xb7, 0x75, 0x12, 0x27, + 0x4e, 0x9c, 0xf8, 0x49, 0xed, 0xda, 0xb5, 0xaf, 0xe9, 0xd7, 0xaf, 0x5f, + 0x53, 0x05, 0xe1, 0xaa, 0x8a, 0x01, 0x27, 0xb2, 0xab, 0x4b, 0x69, 0xeb, + 0x04, 0xca, 0x34, 0x3b, 0xda, 0x8d, 0x03, 0xd1, 0x49, 0x39, 0x39, 0x5b, + 0x3b, 0x56, 0x67, 0xbf, 0x06, 0x69, 0xde, 0x45, 0x7d, 0xfa, 0xf4, 0x79, + 0x8e, 0xa5, 0x9c, 0xc8, 0x10, 0xbd, 0xde, 0xa9, 0xd3, 0xa6, 0x05, 0x7a, + 0x2e, 0xb8, 0xfb, 0xee, 0xbb, 0x43, 0xc0, 0x00, 0xce, 0xac, 0x7a, 0x5b, + 0x0b, 0x22, 0xe2, 0x26, 0xcb, 0xc6, 0x05, 0x5c, 0x1f, 0x7c, 0x23, 0xc0, + 0x05, 0xdf, 0xcf, 0x78, 0x2c, 0xed, 0x2c, 0x2d, 0xf5, 0x74, 0x65, 0xc7, + 0x3d, 0x32, 0x4c, 0x6a, 0x24, 0xf0, 0x5e, 0xce, 0x85, 0xec, 0x51, 0x3e, + 0xd1, 0xb9, 0x37, 0x75, 0xea, 0xd4, 0x89, 0x15, 0xf8, 0x35, 0xa9, 0x96, + 0x32, 0x66, 0x4c, 0xb5, 0xd4, 0xdd, 0x77, 0xce, 0xad, 0x96, 0x96, 0x69, + 0x7d, 0x80, 0xcd, 0x0f, 0xc2, 0x9d, 0x70, 0x2b, 0xe6, 0x41, 0x0a, 0x5c, + 0x26, 0x25, 0x31, 0x2b, 0xb8, 0x89, 0x18, 0xef, 0x55, 0xb7, 0x6e, 0xdd, + 0xdb, 0x5f, 0x7b, 0xfd, 0xf5, 0x3c, 0xa6, 0xf1, 0xbc, 0xae, 0x1f, 0xd7, + 0xaf, 0x5f, 0xff, 0x60, 0xd8, 0xb0, 0x4b, 0xc3, 0x1f, 0x0f, 0x50, 0x80, + 0x98, 0x6e, 0xcd, 0x55, 0x3a, 0xf0, 0x7d, 0xbd, 0xf7, 0x2d, 0x9f, 0x1f, + 0xef, 0x83, 0x1f, 0x57, 0x5a, 0xb6, 0x7c, 0xdf, 0xb5, 0x7e, 0x3f, 0xf0, + 0xba, 0x01, 0xd7, 0xb5, 0x76, 0x6b, 0x2e, 0xf8, 0xee, 0x7d, 0x9a, 0x08, + 0x0f, 0x17, 0xed, 0xb1, 0xfd, 0x81, 0xb2, 0xa1, 0x70, 0xc1, 0x5e, 0xba, + 0x59, 0x13, 0x16, 0x07, 0xca, 0x4c, 0x80, 0x2b, 0x43, 0x4c, 0x46, 0x62, + 0x36, 0xb0, 0x1e, 0x9f, 0x2e, 0x57, 0xab, 0x2b, 0x02, 0x3a, 0x67, 0x64, + 0x64, 0x5c, 0x31, 0x7e, 0xfc, 0xf8, 0x4f, 0x18, 0x47, 0x1d, 0x3d, 0x7a, + 0x74, 0x42, 0xef, 0x0b, 0xee, 0xbb, 0xef, 0xfe, 0x14, 0x58, 0x00, 0xea, + 0xae, 0xb5, 0x4a, 0xd7, 0xfc, 0x85, 0x11, 0x6e, 0xb0, 0xdd, 0xde, 0x11, + 0x2d, 0x03, 0xdf, 0xef, 0x70, 0xf9, 0x04, 0x98, 0x04, 0xb9, 0x04, 0xa4, + 0x03, 0xdf, 0x40, 0xb7, 0xfb, 0xb4, 0x97, 0x5f, 0x7e, 0x99, 0x1d, 0x59, + 0xc2, 0xeb, 0x10, 0xe9, 0x39, 0x75, 0xea, 0xd4, 0x19, 0xce, 0x74, 0x75, + 0x19, 0xe7, 0xd9, 0x3a, 0x1e, 0x43, 0x1c, 0xd8, 0x51, 0x02, 0x52, 0x32, + 0xc4, 0xa8, 0x3f, 0x32, 0xc4, 0x2c, 0x80, 0x6e, 0xdd, 0xba, 0xed, 0xdd, + 0xb1, 0x63, 0xc7, 0x43, 0x05, 0x72, 0xe5, 0xac, 0xac, 0xac, 0x6a, 0xac, + 0x10, 0xe9, 0xd0, 0xa1, 0xc3, 0x00, 0x91, 0x30, 0xfb, 0xc1, 0x59, 0xb3, + 0x12, 0x5d, 0xbb, 0x75, 0x63, 0x4f, 0xb6, 0xd0, 0xfa, 0x01, 0x08, 0x00, + 0xdd, 0xa5, 0x3e, 0xae, 0xb4, 0xb8, 0xf7, 0xfd, 0x15, 0x29, 0xbe, 0xec, + 0xf8, 0xd6, 0xef, 0x67, 0x3c, 0x80, 0xbf, 0xbd, 0x04, 0xf8, 0xb9, 0xbf, + 0x2f, 0x3f, 0x3e, 0xf8, 0x2e, 0xe8, 0xec, 0x41, 0x44, 0xa3, 0x53, 0xa9, + 0x96, 0x20, 0x91, 0x98, 0x35, 0x6b, 0xd6, 0xb2, 0x76, 0xed, 0xda, 0x5d, + 0x28, 0x45, 0x68, 0x26, 0x3c, 0x2a, 0x8e, 0x00, 0x37, 0x1d, 0x45, 0x86, + 0x9a, 0x37, 0x6f, 0xce, 0xbf, 0x0c, 0xed, 0xa1, 0x1e, 0xf0, 0x81, 0x02, + 0xff, 0x18, 0x75, 0x4a, 0xaa, 0x88, 0x88, 0x86, 0x1d, 0x3b, 0x76, 0xee, + 0xd1, 0xa4, 0x49, 0x93, 0x31, 0x7a, 0xfe, 0xfb, 0xac, 0xac, 0xae, 0x61, + 0xb5, 0x13, 0xf0, 0x8d, 0x00, 0x03, 0xd6, 0x40, 0x37, 0xb0, 0x7d, 0x02, + 0xdc, 0x29, 0x83, 0x6e, 0x9e, 0xbf, 0x2d, 0xdd, 0x77, 0x03, 0xaf, 0x2b, + 0x3f, 0x04, 0x60, 0x08, 0x70, 0x49, 0xf0, 0x63, 0x80, 0xdf, 0x07, 0xf0, + 0x09, 0x30, 0xc0, 0x1d, 0xd0, 0xc3, 0x86, 0xf5, 0xf3, 0x79, 0x02, 0xb1, + 0x64, 0xe7, 0x59, 0xe1, 0xd2, 0x43, 0xd6, 0xdf, 0x44, 0xea, 0x10, 0x4a, + 0x90, 0x1e, 0xa6, 0x08, 0xf0, 0x62, 0x40, 0xa5, 0x32, 0xaf, 0x92, 0xb4, + 0x60, 0xcc, 0x24, 0xa4, 0x96, 0x2d, 0x5b, 0xfe, 0x59, 0x60, 0xef, 0x2b, + 0xb0, 0x0f, 0xd7, 0xc9, 0x4f, 0x91, 0x37, 0xd4, 0x50, 0x00, 0xca, 0x90, + 0x05, 0x0c, 0xaa, 0x5a, 0xb5, 0xea, 0x02, 0xa5, 0xa6, 0xa1, 0xa5, 0x21, + 0x09, 0x58, 0x2a, 0x04, 0x98, 0x35, 0x73, 0x34, 0x90, 0x7d, 0xb0, 0xfd, + 0x85, 0x11, 0x71, 0x53, 0x48, 0xdc, 0x32, 0x43, 0x9c, 0xf5, 0xbb, 0x79, + 0xbf, 0x65, 0x40, 0x3e, 0x01, 0x71, 0x95, 0x4f, 0xf3, 0x02, 0x1f, 0x78, + 0x03, 0xda, 0x6f, 0x4c, 0x9d, 0x61, 0x2f, 0x3a, 0x7e, 0x83, 0x8c, 0xa1, + 0xe0, 0xfc, 0xf3, 0xcf, 0xbf, 0x43, 0xb1, 0xb1, 0x8b, 0xe2, 0x40, 0x3d, + 0x91, 0x70, 0x3a, 0x12, 0xed, 0x6f, 0xfe, 0x5a, 0xe6, 0x2c, 0x28, 0x4e, + 0x86, 0xf0, 0x02, 0x16, 0xa0, 0x35, 0x6b, 0xd6, 0x6c, 0x4f, 0x11, 0x71, + 0x90, 0x3a, 0x23, 0xc7, 0x49, 0x7e, 0xce, 0x96, 0x37, 0x34, 0x96, 0x34, + 0xf5, 0x6a, 0xd0, 0xa0, 0xc1, 0x8d, 0x53, 0xa7, 0x4e, 0x5d, 0x45, 0x76, + 0x03, 0x10, 0x00, 0x67, 0xb3, 0x12, 0xac, 0xc5, 0x81, 0xee, 0x4f, 0x11, + 0x37, 0xab, 0x8f, 0x9b, 0x46, 0xe2, 0x4e, 0xa0, 0x4a, 0x47, 0x80, 0x4b, + 0x82, 0xf5, 0x7e, 0xfd, 0x01, 0x97, 0xb8, 0x4c, 0xc8, 0x25, 0xc0, 0x05, + 0x1f, 0xc0, 0x9f, 0x7b, 0xee, 0xb9, 0xd4, 0x11, 0xf0, 0xf5, 0xbe, 0x04, + 0x83, 0x4b, 0xd3, 0xa6, 0x4d, 0x5b, 0x26, 0xf9, 0xbd, 0x4c, 0x5e, 0x90, + 0xa9, 0x78, 0x58, 0x93, 0x3d, 0xed, 0xa4, 0x0c, 0x87, 0xcb, 0x28, 0xf7, + 0x61, 0xe6, 0x5c, 0xb9, 0xd3, 0xd0, 0x74, 0xc1, 0x58, 0x56, 0xbe, 0x8b, + 0x3c, 0xe0, 0x2f, 0x6d, 0xda, 0xb4, 0xd9, 0xaf, 0x45, 0x8b, 0x16, 0x47, + 0xea, 0xcb, 0x4f, 0x55, 0x4f, 0xb9, 0x96, 0x48, 0xc8, 0x14, 0x19, 0x83, + 0xc5, 0xfe, 0x73, 0xa4, 0x9a, 0x80, 0x84, 0xc5, 0x9a, 0x35, 0x5b, 0xf3, + 0x01, 0x37, 0xd0, 0xdd, 0xe9, 0x23, 0xbe, 0xec, 0xf8, 0x03, 0xea, 0x6e, + 0xe0, 0x75, 0xe5, 0xc7, 0x27, 0xc0, 0x64, 0xc8, 0x3c, 0x21, 0xae, 0x27, + 0x6c, 0x04, 0xb8, 0x12, 0x64, 0x5a, 0xef, 0x82, 0x6f, 0x0d, 0xf0, 0x39, + 0x62, 0x18, 0x94, 0x50, 0x84, 0xc3, 0xa3, 0xfa, 0xed, 0x7d, 0x65, 0xf9, + 0x2d, 0xf5, 0xdb, 0xcf, 0x93, 0xc5, 0x97, 0x98, 0xb8, 0x5b, 0xee, 0x8e, + 0x58, 0x3a, 0x2f, 0x10, 0xf8, 0x7f, 0xc2, 0x0b, 0x1a, 0x35, 0x6a, 0xc4, + 0xbc, 0xf8, 0x83, 0xe5, 0x66, 0xc7, 0xcb, 0xfa, 0xcf, 0x11, 0xdb, 0x4d, + 0xd4, 0x7a, 0xcb, 0x3b, 0xc6, 0xcf, 0x9b, 0x37, 0x6f, 0x05, 0x95, 0x4e, + 0x40, 0x32, 0x2b, 0xa6, 0xb9, 0xe0, 0x96, 0xd6, 0xd2, 0xcd, 0xdb, 0xf4, + 0xb3, 0x1e, 0xb7, 0xf9, 0x29, 0x68, 0x3a, 0x02, 0xd2, 0x75, 0xc6, 0xd2, + 0xc9, 0x8f, 0x0b, 0xfc, 0xc2, 0x85, 0x0b, 0xc3, 0xc6, 0x7b, 0xa8, 0xf2, + 0xce, 0x99, 0x33, 0xe7, 0x07, 0x19, 0xe1, 0x18, 0x49, 0x4f, 0x37, 0x11, + 0x50, 0x5f, 0x9a, 0x7f, 0xa6, 0xaf, 0xff, 0x71, 0x03, 0xf6, 0xe5, 0xda, + 0x2d, 0xc5, 0x82, 0xb1, 0x79, 0x41, 0xfd, 0xfa, 0xf5, 0x77, 0x17, 0xc3, + 0xfb, 0xe9, 0x39, 0x16, 0xa8, 0xb1, 0x5a, 0xa4, 0x96, 0x58, 0x67, 0x17, + 0xc3, 0x8b, 0x33, 0x33, 0x33, 0x9f, 0x20, 0xa7, 0xc7, 0xb2, 0x01, 0xcf, + 0xac, 0xd8, 0xcd, 0x64, 0x5c, 0x62, 0xfc, 0xe6, 0xa7, 0x9b, 0x80, 0xef, + 0x5a, 0xbf, 0x3b, 0x93, 0xcd, 0x9d, 0xd1, 0xe6, 0x7a, 0x82, 0x5b, 0x84, + 0x73, 0x03, 0xb2, 0x4b, 0x42, 0x9c, 0x07, 0x18, 0x01, 0xbe, 0xf5, 0x03, + 0x3c, 0xd3, 0x67, 0xb8, 0x8f, 0xf6, 0x13, 0x7c, 0x15, 0x07, 0xff, 0x26, + 0x03, 0xa4, 0x23, 0x4a, 0x29, 0xa2, 0xba, 0x8e, 0x27, 0x31, 0x6f, 0xd4, + 0xe4, 0x27, 0xdd, 0x6a, 0xc9, 0x72, 0xef, 0x17, 0xe4, 0x7b, 0x81, 0xc0, + 0xdf, 0x4b, 0xd6, 0x1f, 0x7a, 0x01, 0xf9, 0xaf, 0x2c, 0x81, 0xb5, 0x53, + 0x3d, 0xf5, 0xfc, 0x98, 0x49, 0x93, 0x26, 0x2d, 0x63, 0xa8, 0x51, 0x60, + 0x25, 0x5c, 0x29, 0x31, 0x80, 0x5d, 0xa0, 0xd3, 0xb5, 0x74, 0x13, 0x67, + 0xdd, 0xe6, 0x7a, 0x43, 0x5c, 0x36, 0xe4, 0x06, 0x64, 0xb7, 0x2c, 0xe1, + 0x8f, 0x05, 0x18, 0x01, 0xc8, 0x8f, 0x59, 0xbf, 0xab, 0xf9, 0x80, 0x4f, + 0x53, 0x4c, 0x49, 0xb0, 0x70, 0x44, 0xbd, 0xfc, 0x6f, 0xb0, 0x7e, 0x76, + 0x4c, 0x11, 0xe8, 0x0d, 0x75, 0x3c, 0x8b, 0x05, 0x7b, 0x4a, 0x4a, 0xc2, + 0xc5, 0xda, 0xa5, 0xad, 0x96, 0x2c, 0xef, 0x8e, 0x59, 0x25, 0x62, 0x01, + 0xee, 0x45, 0x2c, 0xc0, 0x0b, 0xf4, 0xc5, 0x47, 0xe8, 0x0b, 0x59, 0xae, + 0x59, 0x43, 0xfa, 0xd7, 0x86, 0xf2, 0x44, 0xbd, 0x7a, 0xf5, 0xee, 0x91, + 0xe5, 0xe5, 0x53, 0xef, 0x01, 0x9c, 0x6d, 0x81, 0x1d, 0x07, 0xbe, 0x3b, + 0x7f, 0x93, 0xe6, 0x7a, 0x40, 0x1c, 0x09, 0x10, 0x60, 0x2d, 0x8e, 0x08, + 0xbf, 0x34, 0xe1, 0x0e, 0x45, 0x9a, 0x04, 0xf9, 0xf2, 0x63, 0x96, 0x4f, + 0xe3, 0x35, 0xa6, 0xd0, 0xb0, 0xaf, 0x5c, 0xcd, 0x9a, 0x35, 0x1f, 0x74, + 0xad, 0x5f, 0x04, 0x9c, 0xcc, 0xb6, 0xca, 0xb6, 0x60, 0xaf, 0xb4, 0xad, + 0xef, 0x77, 0x88, 0x00, 0xdf, 0x0b, 0x60, 0x1b, 0xd6, 0x61, 0x5f, 0xd6, + 0x5f, 0x45, 0x51, 0xbf, 0xbe, 0x3a, 0x62, 0x59, 0xdd, 0xbb, 0x77, 0xbf, + 0x5c, 0xc7, 0x70, 0xcf, 0x20, 0x03, 0xcf, 0x2c, 0xba, 0x2c, 0x96, 0x6f, + 0xcd, 0x48, 0xb0, 0x96, 0x8e, 0x08, 0xd7, 0x23, 0xdc, 0x8e, 0x99, 0xdf, + 0x39, 0x4b, 0x47, 0x80, 0xf5, 0x70, 0x5d, 0xe9, 0x61, 0xdb, 0x63, 0xbc, + 0x41, 0xf1, 0x29, 0xdc, 0x62, 0x6d, 0xd8, 0xb0, 0x61, 0xef, 0x2a, 0xed, + 0xbe, 0x4a, 0xe0, 0x77, 0x95, 0xb1, 0x35, 0x20, 0xf7, 0x77, 0xad, 0xbf, + 0x42, 0xb6, 0x2a, 0xd8, 0x9e, 0x58, 0x00, 0xcb, 0x78, 0x01, 0xac, 0xa3, + 0x7d, 0x6c, 0xaa, 0x4d, 0x45, 0x90, 0x1d, 0xc9, 0xf9, 0x5b, 0x10, 0xbd, + 0x6f, 0xdc, 0x83, 0x0f, 0x3e, 0xf8, 0x1d, 0x33, 0x9c, 0xd9, 0xda, 0x05, + 0x20, 0x5d, 0xcb, 0xb6, 0xe6, 0x3f, 0xe7, 0x02, 0x6f, 0xe0, 0xc7, 0x3d, + 0x07, 0xa9, 0x34, 0xdf, 0x3b, 0x7c, 0x12, 0xe2, 0x66, 0xbf, 0xb9, 0x32, + 0xe4, 0x4b, 0x90, 0x2f, 0x3d, 0xdc, 0xe7, 0xb3, 0xdc, 0x1e, 0x7b, 0xec, + 0xb1, 0x95, 0x8a, 0x7f, 0xb7, 0xe8, 0xb7, 0xf7, 0x93, 0xc5, 0xb7, 0xd0, + 0x6f, 0xaf, 0x26, 0x63, 0x3b, 0xc9, 0x96, 0xab, 0xa2, 0xfd, 0xdb, 0xfa, + 0xe3, 0x87, 0x1d, 0xde, 0xb6, 0xd2, 0xed, 0x17, 0xa0, 0x75, 0xf4, 0x8e, + 0x89, 0xfc, 0xf2, 0x80, 0xa3, 0xa2, 0xe1, 0xb9, 0x5a, 0x6a, 0xed, 0x74, + 0x41, 0x17, 0xeb, 0x62, 0x67, 0xb0, 0x4b, 0x22, 0x41, 0x0b, 0x10, 0x00, + 0x2b, 0x8e, 0x00, 0x6b, 0xe9, 0x48, 0xb0, 0xe7, 0xfc, 0xd7, 0x7c, 0xcf, + 0x48, 0xd7, 0x4b, 0x76, 0x3d, 0xc1, 0x1f, 0x94, 0x37, 0x02, 0x2c, 0x00, + 0x1b, 0x01, 0x58, 0x3f, 0x47, 0xde, 0x47, 0xd6, 0xa3, 0xb8, 0x55, 0xa4, + 0xdf, 0x33, 0x47, 0x41, 0xf6, 0x12, 0xfd, 0xb6, 0x0e, 0x02, 0xbb, 0x0e, + 0x1d, 0x2f, 0x11, 0x10, 0x66, 0x3e, 0xa5, 0x2c, 0x57, 0xad, 0xd0, 0x8d, + 0x5b, 0x4b, 0xc4, 0x02, 0x22, 0xbd, 0x95, 0xaa, 0x6d, 0x6f, 0x7f, 0xf6, + 0x77, 0x8e, 0xb6, 0x85, 0xef, 0x8a, 0x14, 0xe9, 0x42, 0x5f, 0x40, 0x8a, + 0xc8, 0x1e, 0x00, 0xc3, 0x07, 0xb4, 0x34, 0x42, 0x5c, 0x52, 0xec, 0xbe, + 0xfb, 0xbc, 0x7f, 0x0e, 0xbf, 0xaf, 0x10, 0x47, 0x82, 0xeb, 0x05, 0x10, + 0x60, 0x12, 0xe4, 0x13, 0xc0, 0x91, 0xf7, 0xf0, 0x7f, 0x63, 0x10, 0xa0, + 0xdf, 0xb9, 0x44, 0x19, 0xde, 0xf0, 0xa8, 0xec, 0xd0, 0x88, 0xc4, 0xc3, + 0xf6, 0x89, 0xa0, 0x46, 0x66, 0x99, 0xcf, 0x0e, 0xaf, 0x94, 0x2f, 0xcb, + 0xbf, 0xda, 0x45, 0x91, 0x7e, 0x17, 0x02, 0x0f, 0x35, 0x70, 0xdb, 0xdf, + 0x5f, 0xed, 0x3c, 0xf5, 0x0e, 0x9b, 0x8a, 0x8c, 0xde, 0xd2, 0xc6, 0xd1, + 0x4a, 0xc5, 0x3e, 0x64, 0x66, 0x81, 0x80, 0x4b, 0x20, 0x09, 0xbe, 0xac, + 0x94, 0x46, 0x80, 0xc5, 0x8d, 0xb8, 0xfb, 0x71, 0xcd, 0x02, 0xb7, 0x11, + 0xe1, 0x07, 0x65, 0x7f, 0x88, 0x12, 0x19, 0x32, 0x0f, 0x20, 0x00, 0x03, + 0x3c, 0x47, 0x48, 0x52, 0xa7, 0xd2, 0xe6, 0x88, 0x7e, 0xdd, 0xb4, 0x69, + 0xd3, 0x71, 0xfa, 0x7d, 0xfd, 0x04, 0x7c, 0x73, 0xb5, 0x6a, 0x04, 0x5e, + 0x12, 0x10, 0xca, 0x0e, 0xb6, 0x4b, 0xca, 0xf6, 0xac, 0x17, 0xa8, 0x88, + 0xbd, 0xa3, 0x2b, 0xf9, 0x03, 0x36, 0x04, 0x1e, 0xc6, 0x0b, 0xa2, 0x7d, + 0xfe, 0x8f, 0x62, 0x2d, 0x2d, 0x83, 0x36, 0x4a, 0x4d, 0x5b, 0xe9, 0x02, + 0x07, 0xb4, 0x6a, 0xd5, 0xea, 0xa6, 0xbb, 0xee, 0xba, 0xeb, 0x6b, 0x52, + 0x38, 0x96, 0x80, 0x02, 0x86, 0x6d, 0x37, 0x10, 0x07, 0x7a, 0x69, 0x41, + 0x9a, 0xf7, 0xfb, 0x73, 0x7e, 0x2c, 0xf7, 0xe7, 0x3e, 0xcf, 0xf3, 0x3a, + 0x04, 0x98, 0x4c, 0xf9, 0xe3, 0x05, 0x78, 0x41, 0x1c, 0x01, 0x78, 0x00, + 0x92, 0xc4, 0x7b, 0x0d, 0xfc, 0xf9, 0xf3, 0xe7, 0xaf, 0xad, 0x55, 0xab, + 0xd6, 0x14, 0x79, 0xf3, 0x45, 0x6a, 0x19, 0x02, 0xbf, 0x16, 0x5b, 0xd4, + 0x20, 0x3d, 0x92, 0x9c, 0xd4, 0x46, 0x7d, 0xdb, 0x3b, 0x49, 0xb7, 0xa2, + 0x76, 0x4f, 0xdf, 0x4a, 0x8a, 0x28, 0x57, 0xd3, 0x05, 0x67, 0xd0, 0x86, + 0x92, 0xac, 0x80, 0x3f, 0x83, 0xb9, 0x33, 0x3a, 0x66, 0xa8, 0x0d, 0x14, + 0x49, 0xb7, 0xcf, 0x9e, 0x3d, 0x3b, 0xfc, 0x7b, 0x41, 0x3c, 0x01, 0x20, + 0x00, 0xc6, 0x82, 0xf3, 0xb6, 0x32, 0x23, 0xde, 0xe7, 0x02, 0x69, 0x9f, + 0xa5, 0x4f, 0xe1, 0x16, 0xfd, 0x78, 0x3f, 0xe0, 0x43, 0x04, 0xef, 0x71, + 0xe3, 0x0e, 0xc4, 0x40, 0x92, 0x4f, 0x80, 0x4d, 0x47, 0xe4, 0xbc, 0xf4, + 0xc6, 0x91, 0x1d, 0xae, 0x53, 0xaf, 0xe7, 0x0a, 0xfc, 0x99, 0xca, 0x7a, + 0x2e, 0x91, 0xd4, 0x74, 0xd0, 0xef, 0xa8, 0x4b, 0x8f, 0x37, 0x1a, 0x94, + 0x3a, 0x38, 0x4e, 0x7a, 0xb6, 0xb5, 0x5e, 0xac, 0x42, 0x09, 0x70, 0x77, + 0xd2, 0xc5, 0x05, 0x99, 0x0d, 0x40, 0x4f, 0x90, 0xed, 0xbb, 0x88, 0x07, + 0x8c, 0x10, 0x31, 0x52, 0xa4, 0xd6, 0x5e, 0xe4, 0x0c, 0xae, 0x5b, 0xb7, + 0xee, 0x94, 0x47, 0x1f, 0x7d, 0x74, 0x05, 0x3f, 0x8e, 0xf5, 0x05, 0x56, + 0x48, 0x33, 0xa0, 0xe2, 0x34, 0xdd, 0xe4, 0xc4, 0x16, 0xd0, 0x11, 0x4b, + 0xe8, 0x5f, 0x30, 0x12, 0x45, 0xe1, 0x0f, 0xd0, 0xa3, 0xf1, 0x81, 0x30, + 0xd3, 0xe2, 0x75, 0x1b, 0xf4, 0xa7, 0xcc, 0x6d, 0x92, 0x64, 0xc5, 0x41, + 0x5b, 0x37, 0xe0, 0xca, 0x94, 0x6d, 0x57, 0x49, 0x1d, 0x8b, 0xbf, 0x3f, + 0xe4, 0xfa, 0x24, 0x41, 0xb9, 0xea, 0xcf, 0x3c, 0xa4, 0xdf, 0x35, 0x94, + 0x6a, 0x27, 0xe5, 0x06, 0x74, 0x9f, 0x7a, 0x0f, 0xe3, 0xbe, 0xee, 0x26, + 0x1d, 0x31, 0xd2, 0xf3, 0x8b, 0x13, 0xb0, 0x55, 0xdf, 0xc0, 0xb2, 0x22, + 0xf4, 0x90, 0x8b, 0x8b, 0xa6, 0x68, 0x9c, 0x20, 0x77, 0x3d, 0x0b, 0x12, + 0x44, 0x48, 0x26, 0x99, 0x51, 0x9d, 0x3a, 0x75, 0x26, 0xcf, 0x98, 0x31, + 0xe3, 0x3b, 0xfb, 0xd7, 0x23, 0x7e, 0xb8, 0x9b, 0x3e, 0xba, 0xf2, 0x61, + 0x9e, 0xc1, 0x7b, 0x00, 0x9d, 0x02, 0x18, 0x12, 0x36, 0x77, 0xee, 0xdc, + 0x0d, 0x63, 0xc7, 0x8e, 0xfd, 0x56, 0x56, 0xf8, 0x91, 0xac, 0xf3, 0x4d, + 0x79, 0xd7, 0x2b, 0x22, 0xf7, 0x25, 0x1d, 0x17, 0x75, 0xe8, 0xd0, 0xe1, + 0xdd, 0x91, 0x23, 0x47, 0x7e, 0x39, 0x67, 0xce, 0x9c, 0xf5, 0xf2, 0xb2, + 0xcd, 0x90, 0x04, 0x19, 0xd1, 0x54, 0xc6, 0x70, 0x03, 0x0e, 0xce, 0xe5, + 0xce, 0xce, 0x60, 0x9e, 0x52, 0x6e, 0x38, 0x8f, 0x35, 0xb9, 0x0f, 0xd1, + 0xd3, 0x4f, 0x3f, 0xbd, 0x5a, 0x9d, 0xad, 0x19, 0x3a, 0xf7, 0x30, 0x5d, + 0x73, 0x96, 0x7e, 0x43, 0x03, 0x86, 0x61, 0x75, 0xac, 0x4c, 0xb5, 0x13, + 0xdd, 0xb7, 0xf9, 0xa0, 0xf4, 0x89, 0xe2, 0xe6, 0xff, 0xfc, 0xaa, 0xff, + 0xa0, 0x61, 0x33, 0xe9, 0xdc, 0xbf, 0x9c, 0x8a, 0x2e, 0xf2, 0x30, 0x97, + 0x04, 0xc5, 0x86, 0xf6, 0xb2, 0xa6, 0x8b, 0x04, 0xd4, 0x4d, 0xf2, 0x96, + 0xf7, 0x04, 0x4e, 0x91, 0xed, 0x25, 0x4d, 0xa6, 0x61, 0x2b, 0x60, 0xc8, + 0x9a, 0xf2, 0xa3, 0xa5, 0x4c, 0x74, 0x7e, 0x00, 0x49, 0xd9, 0xca, 0xa6, + 0x31, 0x63, 0xc6, 0x7c, 0xa9, 0x54, 0xf0, 0x79, 0x81, 0xfd, 0x40, 0xcb, + 0x96, 0x2d, 0xef, 0x68, 0xd3, 0xa6, 0xcd, 0xcd, 0x6c, 0x1d, 0xa9, 0xec, + 0xe4, 0x5a, 0x4a, 0x20, 0x1c, 0xf5, 0x78, 0x7c, 0xf3, 0xe6, 0xcd, 0x6f, + 0x95, 0x51, 0xdc, 0x27, 0x10, 0xe7, 0xeb, 0x3b, 0x3f, 0x7c, 0xf8, 0xe1, + 0x87, 0xd7, 0x41, 0xe8, 0xaa, 0x68, 0xe1, 0xb7, 0x6d, 0xa5, 0xec, 0xdf, + 0xe4, 0x01, 0xc5, 0xfa, 0x8e, 0x8f, 0x6a, 0xd4, 0xa8, 0x71, 0xbb, 0x80, + 0xbe, 0x58, 0xd6, 0xce, 0xae, 0x30, 0xf5, 0x0d, 0x7c, 0x82, 0xae, 0x4d, + 0xbe, 0x32, 0xdd, 0xdf, 0x5e, 0xe9, 0xf9, 0xc5, 0xfe, 0x43, 0xc6, 0x95, + 0x22, 0x2e, 0x86, 0x8b, 0xe2, 0xe2, 0xc8, 0x8b, 0x5d, 0x12, 0xd8, 0xe0, + 0x88, 0x3e, 0x82, 0x00, 0x69, 0x2d, 0x12, 0xfa, 0xb4, 0x68, 0xd1, 0x62, + 0xb8, 0x80, 0x9c, 0x35, 0x71, 0xe2, 0xc4, 0xa5, 0xd2, 0xf5, 0x1c, 0xba, + 0xf9, 0x2e, 0x28, 0x00, 0x25, 0xb9, 0x28, 0x94, 0xb5, 0xaf, 0xd0, 0x8f, + 0x7e, 0xa7, 0x7a, 0xf5, 0xea, 0xb3, 0xf4, 0x99, 0x9b, 0x65, 0xe1, 0xa3, + 0xa4, 0xbd, 0x97, 0xb1, 0x87, 0x33, 0x59, 0x09, 0x13, 0x03, 0xa8, 0xc9, + 0xe8, 0xd8, 0x5d, 0x60, 0x91, 0x22, 0xf6, 0xa1, 0x1c, 0xa2, 0x6b, 0x18, + 0x96, 0x91, 0x91, 0x31, 0x42, 0x84, 0xdc, 0x20, 0xaf, 0x9b, 0x2a, 0x4b, + 0x5d, 0x78, 0xdd, 0x75, 0xd7, 0x2d, 0x53, 0x86, 0x93, 0x2d, 0xa0, 0x37, + 0xdb, 0x42, 0x40, 0x40, 0x57, 0x1c, 0x58, 0x37, 0x7e, 0xfc, 0xf8, 0x8f, + 0x75, 0x3d, 0xb3, 0x45, 0xde, 0x48, 0x05, 0xd8, 0xbe, 0x3a, 0x67, 0x06, + 0xf3, 0x7d, 0x30, 0x1e, 0xf6, 0x06, 0x02, 0x7c, 0xf2, 0x7d, 0x82, 0x6e, + 0xba, 0xff, 0x19, 0xfb, 0x97, 0xfe, 0x89, 0x4f, 0x69, 0x24, 0x20, 0x47, + 0x04, 0x2e, 0x3a, 0x6a, 0x7a, 0x7c, 0x3e, 0x85, 0x3b, 0x81, 0xd4, 0x49, + 0x29, 0x6a, 0x7f, 0x88, 0x38, 0xff, 0xfc, 0xf3, 0x27, 0x35, 0x6e, 0xdc, + 0xf8, 0x31, 0x81, 0xf8, 0x92, 0xe2, 0xc6, 0xeb, 0x7a, 0xcf, 0x22, 0x81, + 0x37, 0xbf, 0x6a, 0xd5, 0xaa, 0x33, 0xa4, 0xc3, 0x13, 0x00, 0x92, 0x0e, + 0x90, 0x00, 0xa1, 0xf6, 0xde, 0x85, 0xc0, 0x1e, 0xd5, 0xe0, 0x9b, 0xea, + 0x3b, 0x1a, 0x47, 0x25, 0x81, 0x06, 0x02, 0x8d, 0xc2, 0x58, 0x93, 0x28, + 0x55, 0xa4, 0x2e, 0xd5, 0x49, 0xad, 0xa7, 0x08, 0x1b, 0xc8, 0xc0, 0x49, + 0xb3, 0x66, 0xcd, 0xc6, 0xf0, 0x5d, 0x22, 0x13, 0xa0, 0xe7, 0xb1, 0x15, + 0x4d, 0xb5, 0x6a, 0xd5, 0x66, 0xea, 0xb9, 0x5b, 0x94, 0x66, 0x5e, 0x25, + 0x0f, 0xea, 0xcf, 0x44, 0x03, 0x86, 0x17, 0xa9, 0xf1, 0x90, 0x48, 0x90, + 0xeb, 0x23, 0x3b, 0x58, 0xfe, 0x36, 0xc0, 0xff, 0x97, 0x11, 0x50, 0x2a, + 0x09, 0xc8, 0x11, 0x31, 0x81, 0xac, 0x81, 0x7a, 0x39, 0x65, 0x5b, 0x82, + 0x99, 0x3c, 0x82, 0xad, 0x5f, 0x9a, 0x88, 0x8c, 0x0e, 0x7a, 0x5f, 0x0f, + 0x59, 0x76, 0x3f, 0x49, 0xca, 0xc5, 0x6a, 0x43, 0x64, 0xb5, 0x97, 0xe8, + 0x3c, 0x03, 0x01, 0x04, 0x00, 0xf5, 0x1e, 0x80, 0x6c, 0x45, 0x07, 0x48, + 0xc7, 0xba, 0x02, 0xbd, 0x86, 0x80, 0xae, 0xca, 0x20, 0xb8, 0xac, 0xb5, + 0x4a, 0x56, 0x56, 0xd6, 0x99, 0x34, 0xc6, 0xa9, 0x75, 0xae, 0xb3, 0xd4, + 0xce, 0xd5, 0xf3, 0xe7, 0xeb, 0xbd, 0xb5, 0x21, 0x46, 0xdf, 0xdf, 0x1c, + 0x8b, 0xe6, 0x7f, 0x67, 0x74, 0xeb, 0xa5, 0xef, 0xea, 0xcb, 0xf7, 0x49, + 0xe3, 0xfb, 0xc9, 0x08, 0xd8, 0xe5, 0x9d, 0xfd, 0x3f, 0xdb, 0x01, 0x3c, + 0xd7, 0xc5, 0xf5, 0x31, 0xba, 0x25, 0x32, 0x8e, 0x21, 0xa1, 0xc0, 0x88, + 0x30, 0xa6, 0x1d, 0x05, 0xff, 0x97, 0xfe, 0x23, 0xb7, 0x58, 0x12, 0x88, + 0x09, 0x64, 0x0b, 0xf4, 0x96, 0xc9, 0x9b, 0xe9, 0xac, 0xd9, 0x5f, 0x52, + 0xe1, 0xde, 0x78, 0x44, 0x34, 0xb5, 0xaf, 0x21, 0x33, 0x0b, 0x74, 0x6c, + 0x41, 0xe3, 0x9f, 0x92, 0x00, 0x9c, 0xd7, 0xf8, 0xe7, 0x24, 0x46, 0x9c, + 0x28, 0x7c, 0x09, 0x48, 0x72, 0xf0, 0x93, 0xe4, 0x11, 0x27, 0x08, 0xf0, + 0x63, 0x05, 0xe4, 0xd1, 0x22, 0xec, 0x28, 0x1a, 0xf7, 0x99, 0x30, 0x40, + 0x89, 0x9c, 0x99, 0x1b, 0x02, 0xed, 0x14, 0x59, 0xff, 0x19, 0x00, 0x4a, + 0xe7, 0x89, 0xc9, 0x53, 0x3a, 0x77, 0x1d, 0x48, 0xa1, 0x8c, 0x4c, 0x70, + 0x65, 0x2c, 0x37, 0x32, 0x86, 0xf3, 0x28, 0x28, 0x72, 0x5d, 0x78, 0x2b, + 0xd7, 0xc9, 0xf5, 0x92, 0xd5, 0x61, 0x44, 0x18, 0xd3, 0x8e, 0x82, 0xff, + 0xab, 0xfd, 0x93, 0x9e, 0x4b, 0x02, 0x59, 0x02, 0xa9, 0x1a, 0xf9, 0x32, + 0x2e, 0x1c, 0x15, 0xad, 0xd8, 0xe8, 0xee, 0x70, 0x2c, 0x2c, 0xda, 0x7f, + 0x87, 0xbd, 0x97, 0x19, 0xd0, 0xae, 0x02, 0x29, 0x34, 0xf2, 0xed, 0x68, + 0xbe, 0xe5, 0x29, 0x04, 0x40, 0x7d, 0xe6, 0x78, 0x3a, 0x3f, 0xb2, 0xd8, + 0x23, 0x98, 0x1a, 0x43, 0xf5, 0x51, 0xe7, 0x3d, 0x40, 0xc1, 0x78, 0x7f, + 0x86, 0x48, 0x69, 0xdc, 0x8f, 0x9e, 0x3b, 0x48, 0x04, 0x1c, 0xc2, 0xe4, + 0x01, 0x7d, 0xe7, 0x51, 0x10, 0x45, 0xfa, 0x18, 0x15, 0xce, 0x28, 0x9d, + 0x9f, 0x4a, 0x67, 0x8a, 0xc6, 0xce, 0x87, 0x78, 0x25, 0x52, 0x83, 0x87, + 0x22, 0x37, 0x5c, 0x1f, 0xd7, 0xc9, 0xf5, 0x72, 0xdd, 0x18, 0x91, 0x1f, + 0x70, 0xff, 0xdf, 0xfd, 0x93, 0x5e, 0x69, 0xff, 0x2d, 0x16, 0x15, 0xa8, + 0x76, 0xa6, 0xc7, 0x8c, 0x37, 0x18, 0x11, 0x04, 0x35, 0x6a, 0x29, 0x04, + 0x6a, 0x66, 0x13, 0xd0, 0x8b, 0x06, 0x04, 0x5a, 0xb4, 0x27, 0xdb, 0x91, + 0x00, 0xe2, 0x02, 0xae, 0xb6, 0xaf, 0xc0, 0xde, 0x9b, 0xc9, 0x01, 0xa4, + 0xbc, 0x54, 0x64, 0x69, 0xe7, 0x9e, 0x7b, 0x6e, 0x78, 0x64, 0xb4, 0xae, + 0x75, 0xeb, 0xd6, 0xc8, 0xc5, 0x5e, 0xd2, 0xf8, 0x7d, 0x18, 0xb3, 0x90, + 0x57, 0x1c, 0xc8, 0xe0, 0x11, 0xe7, 0xe1, 0x7c, 0x51, 0x40, 0x0d, 0x1b, + 0x8f, 0xc9, 0xeb, 0x01, 0x3d, 0x1a, 0x4e, 0xdc, 0x87, 0xeb, 0xe3, 0x3a, + 0xa3, 0x38, 0xb6, 0xb3, 0xfb, 0x9f, 0x92, 0x3b, 0x02, 0xfe, 0xaf, 0xfe, + 0x67, 0x9e, 0xf6, 0xef, 0xa9, 0xbe, 0x37, 0x40, 0x44, 0x64, 0x59, 0xd4, + 0x50, 0xf6, 0xc2, 0xcd, 0xa3, 0x38, 0xb1, 0x1f, 0x7b, 0x70, 0xd2, 0xb8, + 0xcf, 0x73, 0xbc, 0xc6, 0x7b, 0xd0, 0x60, 0x40, 0x61, 0x6a, 0x0c, 0x9f, + 0x67, 0x9e, 0x12, 0xc3, 0xa3, 0x10, 0x4b, 0x3b, 0xe2, 0x88, 0x23, 0xc2, + 0x23, 0xcf, 0xd9, 0x77, 0xa0, 0xd9, 0x90, 0x02, 0x51, 0x11, 0x61, 0x8c, + 0xe2, 0xed, 0x1d, 0x9d, 0x33, 0x3c, 0x37, 0x8d, 0x1e, 0x7c, 0x14, 0x60, + 0x77, 0xe7, 0xba, 0xf8, 0x6c, 0x54, 0x6e, 0xff, 0x53, 0xd4, 0xd3, 0xff, + 0xe3, 0x8e, 0xfe, 0x87, 0xe4, 0xbf, 0xe2, 0xef, 0x6c, 0x2b, 0xf9, 0xde, + 0xc0, 0x0f, 0x89, 0xdc, 0x78, 0xa7, 0xa8, 0x7c, 0x91, 0x02, 0x8a, 0x1f, + 0x0e, 0x58, 0x80, 0x4c, 0xe3, 0x3e, 0xcf, 0xf1, 0x9a, 0x0b, 0x78, 0x34, + 0x4b, 0x6f, 0xa7, 0xca, 0x95, 0x2b, 0xef, 0x14, 0x4d, 0x7a, 0x62, 0xce, + 0x52, 0xaa, 0xf1, 0x9c, 0x7d, 0x07, 0x00, 0xda, 0xf7, 0x20, 0x23, 0xf6, + 0x5d, 0x34, 0x88, 0xb4, 0xfb, 0x51, 0xb2, 0x40, 0x27, 0x72, 0x97, 0xe8, + 0xfd, 0x3b, 0x19, 0xf0, 0xbf, 0xf4, 0xdf, 0xd9, 0xfe, 0x1f, 0x3e, 0x38, + 0x36, 0xc3, 0x05, 0x32, 0xae, 0x90, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, + 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __device_hfsplus_png_len = 10950; +unsigned char __device_ntfs_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe2, 0x98, 0x77, 0x38, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x39, 0xdb, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xdd, 0xbd, 0x59, 0xac, + 0xa5, 0xd7, 0x75, 0x26, 0xf6, 0xad, 0xb5, 0xf7, 0x3f, 0x9c, 0xe9, 0x9e, + 0x3b, 0xd4, 0x1d, 0x6a, 0x60, 0x55, 0xb1, 0x58, 0x55, 0x64, 0x15, 0x29, + 0x89, 0xb4, 0x24, 0x4a, 0x94, 0xe8, 0x6e, 0xd9, 0x72, 0xdc, 0xed, 0x01, + 0x6d, 0x20, 0x88, 0x00, 0x27, 0xee, 0x04, 0x68, 0x20, 0x48, 0x1e, 0xf2, + 0x90, 0x87, 0xbc, 0x05, 0x01, 0x0c, 0xe7, 0xa1, 0x5f, 0x83, 0x3c, 0x24, + 0x40, 0x10, 0xb8, 0x11, 0xc0, 0xe8, 0x06, 0xec, 0x76, 0xd2, 0x6e, 0xc7, + 0x71, 0x27, 0x6e, 0xa5, 0x25, 0x4b, 0x96, 0x44, 0xc9, 0xd4, 0x48, 0x91, + 0x2c, 0x56, 0x15, 0xeb, 0xd6, 0xad, 0x5b, 0x55, 0x77, 0x1e, 0xcf, 0xf4, + 0x0f, 0x7b, 0xaf, 0x95, 0x87, 0xfd, 0xff, 0xe7, 0x9c, 0x5b, 0x2c, 0x8a, + 0x14, 0x49, 0x49, 0xee, 0xdc, 0xe2, 0xe1, 0x39, 0xf7, 0xdc, 0xe9, 0x9c, + 0x35, 0x7c, 0x6b, 0xed, 0xb5, 0xbe, 0xb5, 0x7e, 0xc2, 0x87, 0xf8, 0x50, + 0x55, 0x7c, 0x94, 0x1f, 0x44, 0x44, 0x00, 0xf0, 0xcc, 0x33, 0xcf, 0xd0, + 0xf1, 0xf1, 0x31, 0x75, 0xbb, 0x5d, 0x2a, 0x8a, 0xc2, 0x54, 0x5f, 0xe3, + 0x38, 0x8e, 0x89, 0x88, 0xd8, 0x7b, 0x4f, 0xc6, 0x18, 0x9a, 0xfe, 0x59, + 0xe7, 0x9c, 0x5a, 0x6b, 0x55, 0x55, 0xa5, 0x2c, 0x4b, 0x15, 0x11, 0x01, + 0x80, 0x38, 0x8e, 0xfd, 0xd1, 0xd1, 0x91, 0xce, 0xcc, 0xcc, 0xe8, 0x8d, + 0x1b, 0x37, 0xb4, 0x7a, 0xdd, 0x1f, 0xed, 0x0b, 0xff, 0xe0, 0xef, 0x17, + 0xf4, 0x8b, 0x56, 0x00, 0x11, 0xd1, 0xd5, 0xab, 0x57, 0xa9, 0xdf, 0xef, + 0x53, 0x1c, 0xc7, 0xdc, 0x68, 0x34, 0x8c, 0xf7, 0x3e, 0x22, 0xa2, 0x98, + 0x99, 0x63, 0x66, 0x6e, 0x10, 0x51, 0x0c, 0x20, 0x25, 0xa2, 0x48, 0x55, + 0x2d, 0x11, 0x59, 0x00, 0x46, 0x55, 0xb9, 0xfa, 0x1d, 0x02, 0xc0, 0xab, + 0xaa, 0x23, 0x22, 0xa7, 0xaa, 0x25, 0x80, 0x4c, 0x55, 0x0b, 0x00, 0x43, + 0xef, 0x7d, 0x29, 0x22, 0x85, 0x31, 0xa6, 0x1c, 0x8d, 0x46, 0x3e, 0xcf, + 0x73, 0x69, 0xb7, 0xdb, 0x7a, 0xeb, 0xd6, 0x2d, 0xfd, 0x45, 0x2a, 0xe3, + 0x17, 0xa6, 0x00, 0x22, 0xa2, 0xcb, 0x97, 0x2f, 0x53, 0xbf, 0xdf, 0xa7, + 0xf6, 0xcc, 0x8c, 0x31, 0x44, 0x96, 0x99, 0x53, 0x00, 0x4d, 0x22, 0x6a, + 0x33, 0x73, 0x17, 0x51, 0x7a, 0x2a, 0x17, 0x7b, 0xba, 0x80, 0x5d, 0xce, + 0x3d, 0x9f, 0x1a, 0xe4, 0x6e, 0x81, 0x6c, 0x34, 0xe3, 0x05, 0xcd, 0xac, + 0x70, 0xa9, 0x08, 0x45, 0x0a, 0xb5, 0x00, 0x40, 0x20, 0x67, 0x2c, 0x8a, + 0xd4, 0x9a, 0x8c, 0x0d, 0x06, 0x5a, 0x16, 0xc7, 0x33, 0x8d, 0x68, 0xdf, + 0xa8, 0xdb, 0x69, 0x18, 0xd9, 0x8a, 0xc8, 0x6d, 0xb2, 0x2f, 0x76, 0xcb, + 0xb2, 0x3c, 0x26, 0xa2, 0x5e, 0x59, 0x96, 0x43, 0x66, 0xce, 0x45, 0xd5, + 0xf5, 0x7b, 0x3d, 0xdf, 0x6a, 0xb5, 0xf4, 0xf6, 0xed, 0xdb, 0x3f, 0x77, + 0x65, 0xfc, 0xdc, 0x15, 0x50, 0x0b, 0x5e, 0x95, 0xd8, 0x39, 0x17, 0x45, + 0x91, 0x49, 0x8d, 0x31, 0x1d, 0x22, 0x9a, 0x8d, 0x92, 0xe6, 0x4a, 0x46, + 0xc9, 0xa5, 0x5e, 0xc1, 0x4f, 0x8d, 0x84, 0x2e, 0x8c, 0x4a, 0x3a, 0x5d, + 0x0a, 0xe6, 0xd4, 0x4b, 0x03, 0xaa, 0x09, 0x40, 0x11, 0x98, 0x2c, 0x88, + 0x0d, 0x8c, 0x65, 0x36, 0xcc, 0x4c, 0x01, 0x86, 0xbc, 0x38, 0x55, 0x11, + 0x81, 0xf3, 0x02, 0x15, 0x0f, 0x55, 0x07, 0x68, 0x09, 0xa2, 0x9c, 0x2c, + 0x8f, 0x12, 0xcb, 0xfb, 0xa9, 0xd1, 0x8d, 0xb6, 0xd1, 0xbb, 0x2d, 0xeb, + 0x6e, 0xc7, 0x3a, 0x5a, 0x75, 0x45, 0xbe, 0xad, 0xaa, 0x87, 0xce, 0xb9, + 0x9e, 0x73, 0x92, 0x99, 0xc8, 0x94, 0xea, 0xbd, 0xdc, 0xb9, 0x73, 0xe7, + 0xe7, 0xa6, 0x88, 0x9f, 0x9b, 0x02, 0x88, 0x88, 0x2e, 0x5d, 0xba, 0x44, + 0x79, 0x51, 0x98, 0xc8, 0xda, 0x38, 0x8e, 0xe3, 0x16, 0x11, 0xcd, 0x9b, + 0x38, 0x3d, 0x93, 0x53, 0xe3, 0xda, 0x61, 0x61, 0x9e, 0xeb, 0x3b, 0x7e, + 0xba, 0xf0, 0x58, 0x56, 0x2f, 0x1d, 0xa8, 0x36, 0x10, 0xc5, 0x49, 0xda, + 0x68, 0x46, 0xf3, 0xdd, 0x19, 0x9e, 0x9b, 0x99, 0xa5, 0x6e, 0xbb, 0x43, + 0x33, 0x9d, 0x16, 0x35, 0x9b, 0x0d, 0x8a, 0x6c, 0x0c, 0x6b, 0x2d, 0x45, + 0xc6, 0x00, 0x00, 0x0a, 0xe7, 0xe0, 0xbd, 0xd7, 0xa2, 0xcc, 0x31, 0x18, + 0x8e, 0xf4, 0xb8, 0xd7, 0xd7, 0xa3, 0x5e, 0x4f, 0xf7, 0x8f, 0x0f, 0xf5, + 0xe0, 0xa8, 0x27, 0xc5, 0x68, 0x58, 0xc2, 0xbb, 0x1c, 0x4c, 0x23, 0x36, + 0xdc, 0x6b, 0x58, 0xdd, 0xe8, 0x44, 0xfa, 0xd6, 0x4c, 0xe4, 0x5e, 0x8b, + 0xdc, 0xe0, 0x86, 0x77, 0xe5, 0x86, 0xf7, 0xfe, 0xa0, 0x2c, 0xcb, 0x81, + 0xf3, 0xbe, 0x88, 0xa3, 0xc8, 0xff, 0x3c, 0x14, 0xf1, 0x33, 0x57, 0x00, + 0x11, 0xd1, 0xc5, 0x8b, 0x17, 0xa9, 0x70, 0xce, 0xc4, 0xd6, 0xa6, 0xd6, + 0xda, 0x16, 0x11, 0x2d, 0xdb, 0xc6, 0xcc, 0xe5, 0x23, 0x49, 0x7e, 0xe9, + 0x30, 0xb7, 0x2f, 0x64, 0x1e, 0xe7, 0xc5, 0xf9, 0x39, 0x80, 0x9a, 0x51, + 0xb3, 0x99, 0xac, 0x9c, 0x5a, 0x34, 0x4f, 0x9c, 0x3e, 0x6d, 0xce, 0x2c, + 0x2f, 0xd3, 0xa9, 0xf9, 0x79, 0x6a, 0xa6, 0x0d, 0x8a, 0xa3, 0x08, 0x44, + 0x14, 0xfe, 0x5e, 0x75, 0x5f, 0x45, 0xd3, 0xf1, 0x1b, 0x19, 0xdf, 0xab, + 0x82, 0x88, 0x20, 0x22, 0x28, 0xcb, 0x12, 0xbd, 0xd1, 0x50, 0x77, 0xf6, + 0xf7, 0xf5, 0xe1, 0xe6, 0xa6, 0xae, 0x6f, 0x6c, 0xfa, 0xed, 0xbd, 0x5d, + 0xef, 0xb3, 0x51, 0x0e, 0xc2, 0xd0, 0x58, 0x73, 0xd0, 0x8a, 0xf4, 0xee, + 0x7c, 0x2c, 0xdf, 0xeb, 0xf0, 0xe8, 0x7b, 0xd9, 0xe0, 0x78, 0x55, 0x55, + 0xb7, 0x44, 0xa4, 0x9f, 0x15, 0x45, 0x9e, 0x44, 0x91, 0x5f, 0x5d, 0x5d, + 0xfd, 0x99, 0x29, 0xe2, 0x67, 0xaa, 0x00, 0x22, 0xa2, 0xc5, 0xc5, 0x45, + 0x6e, 0xb7, 0x3b, 0x09, 0x33, 0xcd, 0x10, 0xd1, 0xb2, 0x69, 0x76, 0xaf, + 0x1d, 0xfa, 0xc6, 0xe7, 0x0f, 0x72, 0x7a, 0xa1, 0xf0, 0x38, 0x03, 0x2f, + 0x5d, 0x8e, 0x93, 0xc6, 0xf2, 0xe2, 0xb2, 0xbd, 0x7a, 0xe9, 0x12, 0x5f, + 0x3c, 0x7b, 0x96, 0x17, 0xba, 0x5d, 0x8a, 0x6c, 0x04, 0x05, 0xe0, 0xc5, + 0x43, 0x44, 0x21, 0x2a, 0xef, 0xfc, 0xfd, 0x53, 0x2f, 0x5d, 0xa7, 0xfe, + 0x3f, 0xfd, 0x1d, 0x4c, 0x04, 0x66, 0x86, 0x31, 0x0c, 0x52, 0x20, 0x2f, + 0x0a, 0xec, 0x1e, 0x1c, 0xe8, 0x9d, 0xf5, 0x7b, 0x72, 0xf3, 0xee, 0xaa, + 0xec, 0xee, 0xed, 0x39, 0xb8, 0x62, 0x44, 0xd6, 0x1c, 0x25, 0x96, 0xee, + 0x2f, 0x24, 0xf2, 0xea, 0x2c, 0x0d, 0xbf, 0x99, 0x0f, 0x8f, 0x6e, 0xa9, + 0xea, 0xa6, 0x00, 0xbd, 0xfe, 0x71, 0x2f, 0xdf, 0xd9, 0xd9, 0x96, 0x9f, + 0x85, 0x12, 0x7e, 0x26, 0x0a, 0x20, 0x22, 0xba, 0x70, 0xe1, 0x02, 0x39, + 0xe7, 0x23, 0x6b, 0x4d, 0xdb, 0x18, 0xb3, 0x14, 0x37, 0x67, 0x9e, 0x3e, + 0xd4, 0xf6, 0x17, 0xf6, 0x0b, 0x7e, 0xb1, 0x28, 0xf5, 0x2c, 0x14, 0xdd, + 0xa8, 0x91, 0x26, 0x97, 0x9e, 0xb8, 0x18, 0x5d, 0xbb, 0x7c, 0x99, 0xcf, + 0x2e, 0x2d, 0x51, 0x1c, 0xc7, 0xf0, 0xde, 0xc3, 0x79, 0x3f, 0xf5, 0x7b, + 0x09, 0x44, 0x1f, 0xee, 0x4d, 0x86, 0x5f, 0x35, 0xf1, 0x14, 0x6b, 0x2c, + 0x0c, 0x33, 0x46, 0x79, 0x86, 0xf5, 0x8d, 0x4d, 0x7d, 0xe3, 0xf6, 0x2d, + 0xb9, 0xf7, 0xf0, 0x7e, 0xe9, 0xf3, 0x3c, 0x07, 0xd3, 0x51, 0x1a, 0xf1, + 0xfa, 0x52, 0xc3, 0x7f, 0x6b, 0x46, 0xfb, 0x7f, 0x3d, 0xec, 0x1f, 0xdd, + 0x72, 0xce, 0xef, 0x7a, 0xf1, 0xfd, 0xc8, 0xda, 0xf2, 0xee, 0xdd, 0xbb, + 0x1f, 0xa9, 0x37, 0x7c, 0xe4, 0x0a, 0x20, 0x22, 0x3a, 0x7f, 0xfe, 0xa2, + 0x11, 0xf5, 0x0d, 0x6b, 0xcc, 0x5c, 0xd2, 0x68, 0x5c, 0xcc, 0xe2, 0xf9, + 0xbf, 0xb7, 0x39, 0x34, 0xbf, 0x9a, 0x3b, 0x7d, 0x12, 0x82, 0x39, 0x9b, + 0xa6, 0xe9, 0x95, 0x0b, 0x4f, 0xd9, 0x67, 0xaf, 0x5c, 0xe6, 0xc5, 0xf9, + 0x39, 0x52, 0x25, 0x94, 0xce, 0x41, 0x55, 0x2b, 0x61, 0xd3, 0xcf, 0x34, + 0xf0, 0x29, 0x14, 0x50, 0x80, 0x99, 0x10, 0x59, 0x0b, 0x11, 0xc1, 0xe6, + 0xee, 0x8e, 0xbe, 0x76, 0xf3, 0x96, 0xdc, 0xbd, 0xbf, 0xe6, 0xa4, 0x28, + 0x46, 0x64, 0xe8, 0xa0, 0x93, 0x98, 0xb7, 0x57, 0xd2, 0xe2, 0xcb, 0x34, + 0xdc, 0xfd, 0x46, 0x59, 0x96, 0x6b, 0xce, 0xb9, 0x43, 0x25, 0x1a, 0xad, + 0xaf, 0xad, 0xf9, 0x8f, 0x4a, 0x09, 0x1f, 0x99, 0x02, 0x88, 0x88, 0xce, + 0x9d, 0x3b, 0x47, 0x4e, 0x24, 0xb2, 0xcc, 0x6d, 0x63, 0xcc, 0x4a, 0xa3, + 0xbb, 0xf8, 0xc2, 0xb6, 0x6b, 0xfd, 0xd6, 0x41, 0xa6, 0xcf, 0xab, 0xea, + 0x12, 0xd8, 0x34, 0xcf, 0x9d, 0x7e, 0x22, 0x7a, 0xfe, 0x99, 0x67, 0x78, + 0x71, 0x7e, 0x9e, 0x44, 0x01, 0xe7, 0xdc, 0x09, 0x0c, 0xff, 0x79, 0x7f, + 0xd4, 0x31, 0x25, 0xb2, 0x16, 0x50, 0xc5, 0xc3, 0xed, 0x2d, 0xfd, 0xc1, + 0x8d, 0x1b, 0xb2, 0xbd, 0xb3, 0x51, 0x42, 0x75, 0x68, 0x98, 0xb6, 0x17, + 0x9b, 0x78, 0x75, 0x9e, 0x7b, 0x7f, 0x31, 0x3a, 0x3e, 0x78, 0xcd, 0x39, + 0xd9, 0x2c, 0x8a, 0xac, 0x17, 0xc7, 0xb1, 0x5f, 0x5f, 0x5f, 0xff, 0xd0, + 0xde, 0xf0, 0x91, 0x28, 0x80, 0x88, 0x68, 0x61, 0x61, 0x81, 0xd3, 0x34, + 0x8d, 0x99, 0xb9, 0x9b, 0x24, 0xc9, 0x93, 0xbe, 0xbd, 0xf2, 0xc5, 0x87, + 0x43, 0xf3, 0x0f, 0xf3, 0x12, 0x4f, 0x42, 0xb5, 0xdb, 0xec, 0xcc, 0xa4, + 0x9f, 0xb8, 0x7a, 0x8d, 0x2f, 0x9e, 0x3d, 0x4b, 0x20, 0x1a, 0x0b, 0xfe, + 0x04, 0xbe, 0x7c, 0x90, 0xb7, 0x42, 0x8f, 0x7d, 0xf8, 0x81, 0x0d, 0x29, + 0xb2, 0x11, 0xbc, 0x77, 0xb8, 0xb5, 0xb6, 0xa6, 0x3f, 0xbe, 0xfd, 0x96, + 0x14, 0xd9, 0x30, 0x03, 0xd1, 0x51, 0x2b, 0xa2, 0xb7, 0xcf, 0xb5, 0xdc, + 0x5f, 0xe4, 0xfb, 0xf7, 0xff, 0x5a, 0x55, 0xef, 0xaa, 0xea, 0x91, 0x88, + 0x14, 0xf7, 0xef, 0xdf, 0xff, 0x50, 0x4a, 0xf8, 0xd0, 0x0a, 0x00, 0x40, + 0x0b, 0x0b, 0x0b, 0x9c, 0x24, 0x49, 0x6a, 0xad, 0x3d, 0xd5, 0x68, 0x75, + 0xae, 0x1f, 0x47, 0x8b, 0xbf, 0xb3, 0xd5, 0x97, 0x5f, 0x16, 0xc5, 0x69, + 0xb0, 0x69, 0x9d, 0x5b, 0x39, 0x6b, 0x3f, 0x76, 0xf5, 0x2a, 0xb7, 0x1b, + 0x2d, 0x14, 0xae, 0x0c, 0x82, 0x3e, 0x61, 0xf1, 0xfa, 0x28, 0x46, 0xfc, + 0x54, 0x82, 0x7f, 0xdc, 0x13, 0xf4, 0xe1, 0x0c, 0x0a, 0x91, 0xb5, 0x38, + 0x3c, 0x3e, 0xc6, 0x0f, 0x6e, 0xde, 0x90, 0x9d, 0xdd, 0xad, 0xe0, 0x0d, + 0x86, 0x1e, 0x9e, 0x6b, 0xeb, 0x57, 0x5a, 0xe5, 0xee, 0x9f, 0xf7, 0x8e, + 0x8f, 0xdf, 0x22, 0xa2, 0xdd, 0x7e, 0xbf, 0x9f, 0xef, 0xef, 0xef, 0x7f, + 0xe0, 0x00, 0xfd, 0x61, 0x15, 0x40, 0xf3, 0xf3, 0xf3, 0x9c, 0xa4, 0x69, + 0xd3, 0x30, 0x2f, 0xcf, 0x2c, 0x2c, 0x7f, 0x6a, 0xc3, 0xb5, 0xbf, 0x74, + 0x30, 0x90, 0x17, 0xc0, 0x7c, 0xca, 0xd8, 0xa4, 0xf1, 0xcc, 0xc5, 0xa7, + 0xcc, 0xa5, 0x27, 0xce, 0x91, 0x28, 0x20, 0x22, 0x53, 0x99, 0x8b, 0x3e, + 0x46, 0xe6, 0xfa, 0xfe, 0x94, 0x40, 0xef, 0x96, 0x0b, 0x7d, 0x34, 0xf1, + 0x43, 0xa1, 0x50, 0x05, 0xac, 0x35, 0x50, 0xf1, 0xb8, 0x71, 0xf7, 0xae, + 0xde, 0xb9, 0xbf, 0xe6, 0xd5, 0x97, 0x23, 0x82, 0xee, 0x9c, 0x9e, 0xb1, + 0xaf, 0x76, 0xdd, 0xee, 0x1f, 0xf7, 0x8f, 0x0e, 0x7e, 0xe8, 0xbd, 0xdf, + 0xce, 0xb2, 0x6c, 0xf8, 0x41, 0x95, 0xf0, 0x61, 0x14, 0x40, 0x73, 0x73, + 0x73, 0xdc, 0x68, 0x36, 0x5b, 0x4c, 0x74, 0x7a, 0x66, 0xf1, 0xec, 0xe7, + 0xd7, 0x46, 0xe9, 0xef, 0x0e, 0x32, 0xbd, 0x0e, 0xe6, 0xb9, 0x24, 0x6d, + 0x26, 0x1f, 0xbf, 0xf2, 0x8c, 0x39, 0x35, 0x3b, 0x87, 0xd2, 0x95, 0x53, + 0x70, 0xa3, 0x8f, 0x08, 0x58, 0xa7, 0x32, 0x95, 0xf7, 0xeb, 0x06, 0x8f, + 0x88, 0x9c, 0x1e, 0x79, 0x9e, 0x3e, 0x22, 0x65, 0x54, 0xde, 0x60, 0x8d, + 0xc1, 0x83, 0x9d, 0x6d, 0xbc, 0x71, 0xe7, 0x96, 0x77, 0x79, 0x9e, 0x43, + 0x65, 0xff, 0x54, 0xdb, 0xbe, 0xb6, 0x62, 0x8e, 0xfe, 0xc5, 0xe1, 0xde, + 0xd6, 0x77, 0x00, 0x6c, 0x0e, 0x87, 0xc3, 0xc1, 0x07, 0x51, 0xc2, 0x07, + 0x55, 0xc0, 0x58, 0xf8, 0x04, 0x9c, 0xed, 0xae, 0x5c, 0xf8, 0xfb, 0xf7, + 0x86, 0xe9, 0xef, 0xf6, 0x33, 0xf7, 0x34, 0x98, 0x67, 0xdb, 0xcd, 0x99, + 0xf8, 0xd9, 0xcb, 0x57, 0xb8, 0xdd, 0x68, 0xc2, 0x79, 0x37, 0xb6, 0x51, + 0x9d, 0x16, 0xae, 0x3e, 0x46, 0xd0, 0xf5, 0xe1, 0xea, 0x7d, 0x2a, 0x80, + 0x1e, 0x8d, 0x21, 0x27, 0x14, 0x40, 0x1f, 0x99, 0x4f, 0x28, 0x14, 0x91, + 0x89, 0xb0, 0x7f, 0x7c, 0x84, 0xd7, 0xef, 0xdc, 0x92, 0xbc, 0x18, 0x16, + 0xf0, 0x72, 0x38, 0xd7, 0xb2, 0x6f, 0x9c, 0xb5, 0xfd, 0x7f, 0x7e, 0xb8, + 0xfb, 0xf0, 0x9b, 0x00, 0x1e, 0x0e, 0x06, 0x83, 0xc1, 0xc1, 0xc1, 0xc1, + 0x4f, 0xa5, 0x84, 0x0f, 0xa2, 0x00, 0x9a, 0x9d, 0x9d, 0xe5, 0x38, 0x4d, + 0x9b, 0x86, 0xe8, 0xcc, 0xc2, 0xb9, 0x4b, 0xbf, 0x72, 0xb7, 0x17, 0xff, + 0x5e, 0x3f, 0xf3, 0x57, 0x60, 0xcc, 0x6c, 0xbb, 0xdd, 0x89, 0xae, 0x5f, + 0xbc, 0xcc, 0x49, 0x14, 0xc3, 0x79, 0x0f, 0xe2, 0x60, 0xf5, 0xa4, 0xef, + 0x84, 0x9a, 0x71, 0x06, 0xa5, 0x93, 0x67, 0x75, 0xac, 0x9c, 0xf7, 0x50, + 0x40, 0xf8, 0x6f, 0xa2, 0xdc, 0xe9, 0x93, 0xf0, 0x23, 0xd0, 0xa4, 0xd3, + 0x4a, 0xd1, 0xe9, 0xdf, 0xf2, 0xfe, 0x8d, 0x55, 0x00, 0x44, 0xc6, 0xa0, + 0x37, 0x1c, 0xe2, 0x8d, 0xbb, 0xb7, 0x25, 0xcf, 0xb3, 0x12, 0xce, 0x1d, + 0xce, 0xb5, 0xa2, 0x37, 0xcf, 0xc6, 0xbd, 0x3f, 0xda, 0xdf, 0xba, 0xff, + 0x37, 0xaa, 0xba, 0x91, 0x65, 0xd9, 0xf0, 0xa7, 0x51, 0xc2, 0x4f, 0xab, + 0x00, 0x9a, 0x9b, 0x9b, 0xe3, 0x34, 0x4d, 0x1b, 0x44, 0x74, 0x7a, 0x6e, + 0xe5, 0xfc, 0x2f, 0xdf, 0xcb, 0x5a, 0xff, 0x59, 0x6f, 0x54, 0x3e, 0x03, + 0x63, 0x67, 0x5b, 0xcd, 0x56, 0xf4, 0xf4, 0xf9, 0x27, 0x39, 0xb6, 0x11, + 0xbc, 0xc8, 0x49, 0x01, 0x8c, 0x5f, 0x8f, 0x9e, 0xf0, 0x82, 0x20, 0xf0, + 0x47, 0xbe, 0xa6, 0x78, 0x17, 0x4f, 0xa0, 0xc7, 0x18, 0x38, 0x8d, 0x71, + 0x68, 0xe2, 0x11, 0xf4, 0x98, 0x14, 0x89, 0x3e, 0x7c, 0xa6, 0x04, 0xc0, + 0x1a, 0x83, 0xc1, 0x68, 0x84, 0x1b, 0xf7, 0x56, 0xa5, 0x28, 0x82, 0x12, + 0x16, 0x3b, 0xf1, 0x8f, 0x4f, 0xdb, 0x83, 0xff, 0x6d, 0x67, 0xf3, 0xe1, + 0xb7, 0x00, 0x6c, 0x8c, 0x46, 0xa3, 0xfc, 0xf0, 0xf0, 0xf0, 0x7d, 0x29, + 0x81, 0x88, 0x60, 0xdf, 0xef, 0x0b, 0x38, 0x7d, 0xfa, 0x34, 0x89, 0x48, + 0x0c, 0xe0, 0xd4, 0xdc, 0xe2, 0xe9, 0x4f, 0x3e, 0xcc, 0x9b, 0xbf, 0xdb, + 0x1b, 0x96, 0x4f, 0xc3, 0xda, 0xd9, 0x34, 0x69, 0x44, 0x4f, 0x9d, 0x7e, + 0x82, 0x49, 0x81, 0x3c, 0xcf, 0x43, 0xdd, 0xe6, 0x11, 0x78, 0x39, 0x09, + 0x33, 0xb5, 0xe0, 0xf5, 0x9d, 0x0a, 0x52, 0xbc, 0x03, 0xb4, 0x1e, 0x55, + 0x82, 0xd2, 0x63, 0x84, 0x0f, 0x9a, 0x12, 0x34, 0x9d, 0x84, 0xa7, 0x77, + 0x9c, 0x33, 0x3e, 0x18, 0xf6, 0xba, 0xb2, 0x44, 0x62, 0x2d, 0x9e, 0x3a, + 0x73, 0x8e, 0x6f, 0xdd, 0xbf, 0x17, 0x39, 0x42, 0x77, 0xa7, 0x57, 0x3c, + 0x6b, 0x67, 0xe7, 0xff, 0xe3, 0xb9, 0xf9, 0x7c, 0xb8, 0xbf, 0xb7, 0xeb, + 0x92, 0x24, 0xd9, 0x5e, 0x5e, 0x5e, 0xce, 0xdf, 0x6f, 0x62, 0xfd, 0x7e, + 0x15, 0x40, 0xce, 0xb9, 0xc8, 0x18, 0xd3, 0x9d, 0x9d, 0x3f, 0x75, 0x6d, + 0x8f, 0xe6, 0xbe, 0x74, 0xd0, 0xcf, 0xae, 0x23, 0x8e, 0x67, 0x23, 0x1b, + 0x47, 0x17, 0x96, 0x4f, 0x33, 0x13, 0x50, 0x94, 0xc5, 0x23, 0x79, 0x8e, + 0x3e, 0x46, 0x01, 0x53, 0xc2, 0xd7, 0x1a, 0x0a, 0x14, 0x04, 0x40, 0x54, + 0x21, 0x0a, 0x78, 0x11, 0x88, 0xd6, 0x5f, 0x99, 0x88, 0x9e, 0x08, 0x30, + 0x04, 0x58, 0x22, 0x30, 0x4f, 0xff, 0x64, 0x0d, 0x4b, 0x54, 0x29, 0xe4, + 0x5d, 0x14, 0xa0, 0xef, 0xe6, 0x0d, 0xf4, 0xbe, 0x0f, 0x22, 0xa5, 0x77, + 0x48, 0xac, 0xc5, 0xf9, 0xa5, 0x15, 0xbe, 0xbb, 0xf5, 0x20, 0x96, 0x48, + 0x67, 0x37, 0x0e, 0xb3, 0x8f, 0x27, 0xa7, 0x4e, 0x7f, 0xa9, 0xd3, 0xc9, + 0x7b, 0xbd, 0x5e, 0x2f, 0xf3, 0xde, 0xef, 0x13, 0xd1, 0xfb, 0x3a, 0x23, + 0xbc, 0x1f, 0x05, 0xd0, 0xe9, 0xd3, 0xa7, 0x8d, 0xf7, 0xbe, 0x6d, 0xad, + 0x7d, 0x72, 0x94, 0x2e, 0xff, 0xce, 0xe6, 0x5e, 0xf6, 0x02, 0xa2, 0x78, + 0x8e, 0xc8, 0xc4, 0x67, 0x16, 0x16, 0x39, 0x62, 0x46, 0x5e, 0x14, 0xa8, + 0x8a, 0x91, 0x53, 0x96, 0x2f, 0x8f, 0x64, 0x3b, 0x13, 0xe1, 0x07, 0xd1, + 0x29, 0x44, 0x80, 0x52, 0x04, 0x4e, 0x00, 0xc3, 0x40, 0x3b, 0x22, 0x2c, + 0xc4, 0x84, 0xb6, 0x15, 0x34, 0x0d, 0x90, 0x72, 0xf8, 0x0d, 0x85, 0x10, + 0x7a, 0x0e, 0x38, 0x28, 0x15, 0x87, 0xa5, 0x22, 0x2b, 0x00, 0x4b, 0x40, + 0x6c, 0x82, 0xc0, 0x75, 0x2c, 0xf4, 0x29, 0x4f, 0x38, 0x01, 0x49, 0x27, + 0x63, 0x08, 0x3e, 0x44, 0xfa, 0xea, 0x00, 0x34, 0xe3, 0x18, 0x2b, 0x73, + 0x0b, 0xfc, 0x70, 0x6f, 0x27, 0x86, 0xb1, 0xf3, 0xeb, 0x07, 0xf9, 0x8b, + 0x57, 0x16, 0xce, 0xef, 0xa0, 0xf7, 0xfa, 0x31, 0x33, 0x97, 0xb3, 0xb3, + 0xb3, 0x47, 0x44, 0xf4, 0x9e, 0x50, 0xf4, 0x9e, 0x0a, 0x58, 0x59, 0x59, + 0xa1, 0xb2, 0x74, 0x0d, 0x63, 0x78, 0xa5, 0x7d, 0xfa, 0xca, 0x17, 0x6f, + 0x1f, 0x14, 0xbf, 0x0c, 0x63, 0x4f, 0x81, 0x38, 0x39, 0x35, 0x33, 0xc7, + 0x0d, 0x1b, 0x8d, 0x85, 0x7f, 0x12, 0xca, 0xf5, 0x1d, 0x1e, 0xa0, 0x2a, + 0x21, 0xbd, 0x43, 0x10, 0x7a, 0x21, 0x8a, 0x94, 0x09, 0xa7, 0x1b, 0x84, + 0xab, 0x1d, 0xc6, 0x53, 0x0d, 0xc5, 0x29, 0xe3, 0xd1, 0x35, 0x82, 0x84, + 0x15, 0x06, 0x00, 0x8f, 0x8d, 0x97, 0xe0, 0x40, 0x18, 0x29, 0x61, 0xa7, + 0x64, 0xdc, 0x18, 0x12, 0x7e, 0x70, 0xe8, 0x71, 0x7f, 0x18, 0xe2, 0x4d, + 0x6a, 0xb9, 0x0a, 0xad, 0x34, 0x65, 0xf5, 0x74, 0x22, 0x30, 0x3f, 0x2e, + 0x4b, 0xfa, 0xe9, 0x8f, 0xde, 0xe1, 0xbd, 0x78, 0x00, 0x9d, 0xb4, 0x81, + 0xd9, 0xf6, 0x0c, 0x1f, 0xf6, 0x8f, 0x13, 0xef, 0xfd, 0xd2, 0xbd, 0x63, + 0xfd, 0xd5, 0xa7, 0x9e, 0xb8, 0xbc, 0xbe, 0xb3, 0x7e, 0xbb, 0x17, 0xa7, + 0x69, 0xb1, 0xb2, 0xb2, 0x32, 0x7c, 0x2f, 0xd7, 0x7a, 0x2f, 0x05, 0x90, + 0xf7, 0x3e, 0x62, 0xa6, 0xb9, 0x53, 0x67, 0x2f, 0xfc, 0xd2, 0xfa, 0x80, + 0x7f, 0xc3, 0x79, 0x39, 0x0d, 0x6b, 0x1b, 0xad, 0xb4, 0x69, 0x66, 0xd2, + 0x14, 0x45, 0x59, 0x3e, 0x26, 0x7f, 0x9f, 0xc0, 0xcb, 0x58, 0x11, 0x1a, + 0x14, 0x40, 0x50, 0x38, 0x51, 0x2c, 0xc4, 0x8c, 0xe7, 0xe7, 0x18, 0x1f, + 0x6f, 0x03, 0xe7, 0x53, 0x8f, 0x0e, 0x97, 0x20, 0x0d, 0x19, 0x0d, 0x11, + 0x81, 0x98, 0x41, 0xc4, 0x20, 0xa6, 0xa9, 0x7a, 0x3f, 0x30, 0x07, 0xc5, + 0xb9, 0x54, 0xf1, 0x42, 0x07, 0xf8, 0x8d, 0x05, 0x83, 0x1f, 0xf4, 0x0d, + 0xfe, 0x6a, 0xcb, 0xe1, 0xd6, 0x71, 0x81, 0x84, 0x09, 0x96, 0xb9, 0xca, + 0x7c, 0x68, 0xaa, 0x9a, 0x4a, 0xef, 0xef, 0x9c, 0x40, 0xef, 0x4f, 0x09, + 0xf5, 0xb7, 0x79, 0x0f, 0xcc, 0x35, 0x9b, 0x18, 0xe5, 0x99, 0xc9, 0x55, + 0xd3, 0x61, 0x56, 0x9e, 0xd9, 0x4e, 0x9b, 0xbf, 0xb5, 0xb8, 0xb4, 0xbc, + 0xb6, 0xb3, 0xb5, 0xd9, 0xf3, 0x22, 0x25, 0x11, 0x15, 0x3f, 0xc9, 0x0b, + 0xec, 0x7b, 0x65, 0x3d, 0x00, 0xda, 0x33, 0x33, 0x33, 0x4f, 0xf6, 0x68, + 0xee, 0x37, 0x8e, 0x87, 0xc3, 0x8b, 0x88, 0xe2, 0xa6, 0xb1, 0xd6, 0xcc, + 0x35, 0x9b, 0x70, 0xbe, 0x9c, 0x82, 0x9c, 0xc7, 0x04, 0xdd, 0x0a, 0xef, + 0x6b, 0xdc, 0x67, 0x28, 0x06, 0xce, 0xe3, 0x13, 0xb3, 0x31, 0xfe, 0xcb, + 0xb3, 0x8c, 0xb6, 0x16, 0x60, 0x02, 0x44, 0x08, 0xa2, 0xa1, 0x6e, 0x6f, + 0x38, 0xe0, 0x3b, 0x33, 0x8d, 0x85, 0x4f, 0xc4, 0x60, 0x9e, 0xce, 0x76, + 0xc2, 0x9f, 0x58, 0x8c, 0x14, 0xbf, 0xd9, 0x50, 0x7c, 0x6e, 0x2e, 0xc1, + 0xbf, 0xdd, 0xb5, 0xf8, 0x3f, 0xee, 0x0d, 0x71, 0x9c, 0x97, 0x48, 0x2a, + 0x6f, 0x98, 0x86, 0xa3, 0x13, 0x01, 0xfa, 0xdd, 0x24, 0x4f, 0x3f, 0xbd, + 0x47, 0x30, 0x11, 0xe6, 0x9a, 0x2d, 0x6c, 0xb9, 0xd2, 0x68, 0x14, 0x35, + 0xb7, 0x8e, 0xb2, 0xcb, 0x33, 0x8b, 0x8b, 0xbf, 0x41, 0xb4, 0x75, 0x1f, + 0xc0, 0xa0, 0xdb, 0xed, 0xba, 0x9f, 0x04, 0x45, 0xef, 0xaa, 0x80, 0xa5, + 0xa5, 0x25, 0x02, 0x28, 0x21, 0xc2, 0x52, 0xba, 0x78, 0xe1, 0x97, 0xef, + 0xee, 0x64, 0x2f, 0xc0, 0xd8, 0x2e, 0x88, 0xa3, 0x6e, 0x9a, 0x12, 0xa9, + 0xc0, 0x39, 0x3d, 0x69, 0xfd, 0x04, 0x40, 0xa8, 0x3e, 0xd0, 0x4f, 0xb2, + 0x9d, 0x4a, 0x09, 0xac, 0x8a, 0xd2, 0x79, 0x7c, 0x6a, 0xae, 0x85, 0x25, + 0xeb, 0x70, 0x38, 0x12, 0x44, 0xd6, 0xc2, 0x30, 0x81, 0x2a, 0xe1, 0x1b, + 0x66, 0xb0, 0x09, 0x8d, 0x14, 0x66, 0x4c, 0x79, 0x41, 0xa5, 0x80, 0x47, + 0x4a, 0x11, 0x5e, 0x81, 0x59, 0x23, 0xf8, 0xc7, 0xe7, 0x18, 0x9f, 0x5f, + 0x9a, 0xc7, 0x3f, 0x7d, 0xed, 0x10, 0x6f, 0x1f, 0x8c, 0x90, 0x46, 0x16, + 0x0a, 0x40, 0x14, 0xef, 0x38, 0x23, 0xfc, 0xa4, 0xec, 0xe8, 0x1d, 0xc9, + 0xe7, 0x63, 0xce, 0x10, 0xe3, 0xe7, 0x2a, 0x44, 0x8a, 0x88, 0xd1, 0x4e, + 0x1a, 0xd4, 0xcb, 0x86, 0x11, 0x88, 0x66, 0x1f, 0x1c, 0xcb, 0x67, 0xaf, + 0x9c, 0xbf, 0xf2, 0xc6, 0xe6, 0xda, 0xcd, 0xdd, 0x38, 0x4d, 0xb3, 0xe5, + 0x34, 0xcd, 0xde, 0x0d, 0x8a, 0xec, 0x4f, 0x80, 0x1e, 0xc3, 0xcc, 0x33, + 0x2b, 0x67, 0xcf, 0x3f, 0xbd, 0x31, 0x34, 0xbf, 0xea, 0x5c, 0xb9, 0x84, + 0xc8, 0xa6, 0x49, 0x14, 0x73, 0x62, 0x0c, 0x4a, 0xef, 0xde, 0xd9, 0x93, + 0x9a, 0xf6, 0x06, 0xd5, 0x50, 0xdc, 0x82, 0x56, 0x87, 0x2e, 0x85, 0x13, + 0x41, 0x4a, 0x8a, 0xcb, 0x4d, 0x46, 0x51, 0x78, 0x44, 0x6c, 0x60, 0x99, + 0x60, 0x4c, 0x2d, 0x74, 0x03, 0x53, 0x0b, 0xdf, 0x10, 0xb8, 0x12, 0x3e, + 0x13, 0xc2, 0xa1, 0x6e, 0x9c, 0xe1, 0x9c, 0x2c, 0xa0, 0xa9, 0x12, 0x0a, + 0x51, 0x5c, 0x5f, 0x9c, 0x45, 0x83, 0x8f, 0xc2, 0x6b, 0xf3, 0x0e, 0xce, + 0x2b, 0x92, 0x34, 0x02, 0x40, 0x90, 0x9f, 0x28, 0xe8, 0xf7, 0xef, 0x01, + 0x75, 0x60, 0xd7, 0xa9, 0x93, 0x89, 0x90, 0x47, 0x2b, 0xb2, 0x18, 0x15, + 0x96, 0x1d, 0x90, 0x0e, 0xb3, 0x62, 0x69, 0xbf, 0xd5, 0xfc, 0xe2, 0xa9, + 0xf9, 0xf9, 0xd7, 0x77, 0xf7, 0xf7, 0x8f, 0x9c, 0x73, 0xe5, 0xbb, 0x65, + 0x45, 0xf6, 0xdd, 0xac, 0x5f, 0x44, 0x52, 0x22, 0x5a, 0x2e, 0x92, 0xf9, + 0xbf, 0xb7, 0xbb, 0x35, 0x7a, 0x12, 0x51, 0xd4, 0x24, 0x26, 0x6e, 0x45, + 0x11, 0x54, 0xe4, 0x44, 0x8a, 0x38, 0x09, 0xb2, 0x93, 0x0c, 0x27, 0x04, + 0xdc, 0x2a, 0xf5, 0xac, 0xb0, 0x7f, 0xe4, 0x1c, 0x9e, 0xee, 0xa6, 0x78, + 0x22, 0x26, 0xf8, 0xa1, 0x22, 0xb2, 0x26, 0x58, 0x3c, 0x73, 0x65, 0xf9, + 0x01, 0x86, 0x98, 0x09, 0x6c, 0xc2, 0xf3, 0x54, 0xc3, 0x51, 0x65, 0xfd, + 0x8f, 0xf6, 0x0e, 0x14, 0x80, 0xf7, 0x82, 0x66, 0x6a, 0x70, 0xb3, 0xe7, + 0xf1, 0xfa, 0xce, 0x11, 0xd8, 0x39, 0x9c, 0xbe, 0x7c, 0x1a, 0xed, 0x56, + 0x03, 0x6f, 0xfe, 0x60, 0x15, 0x64, 0x0c, 0x6c, 0x6c, 0x26, 0x09, 0xd8, + 0x4f, 0x2a, 0x04, 0xbe, 0x0b, 0x44, 0x4d, 0x12, 0x2a, 0x82, 0xf7, 0x12, + 0x5e, 0x5b, 0x15, 0xaf, 0x14, 0x00, 0x33, 0xa3, 0x1d, 0x47, 0x38, 0xcc, + 0x1c, 0xc3, 0x9a, 0xe6, 0xe6, 0x71, 0x7e, 0x75, 0x7e, 0xf1, 0xcc, 0xcb, + 0xd8, 0xdf, 0xbf, 0xc7, 0x6c, 0x06, 0xcb, 0xcb, 0xcb, 0xfe, 0x71, 0x5e, + 0x60, 0xdf, 0xcd, 0xfa, 0xad, 0xb5, 0x9d, 0x95, 0x73, 0x17, 0xae, 0xad, + 0xf5, 0xf1, 0x92, 0x82, 0xe7, 0x00, 0x13, 0x25, 0x36, 0x26, 0x4b, 0x04, + 0xaf, 0x8f, 0x7b, 0x17, 0x27, 0xf1, 0xbe, 0x16, 0xbc, 0xaa, 0x07, 0x44, + 0x41, 0xa4, 0x28, 0x5c, 0x89, 0x8f, 0x75, 0x67, 0xd0, 0x26, 0x45, 0x8f, + 0x02, 0xdc, 0x98, 0xaa, 0x67, 0x1b, 0xbc, 0x60, 0x72, 0xcf, 0xb5, 0x22, + 0x2a, 0x25, 0x8c, 0xe3, 0xc1, 0x23, 0x32, 0xd2, 0xca, 0x14, 0x3b, 0xcd, + 0x26, 0xbe, 0xbb, 0x76, 0x88, 0xa3, 0xc1, 0x10, 0x73, 0xad, 0x14, 0xbf, + 0xf3, 0xa5, 0xcf, 0xc2, 0xcf, 0xa5, 0xe8, 0x9e, 0xe9, 0xe2, 0xc6, 0xb7, + 0x6e, 0x61, 0x6f, 0xf7, 0x08, 0x26, 0xb2, 0x30, 0xd6, 0x4c, 0x9d, 0xc2, + 0x27, 0x0a, 0xd0, 0x47, 0xc5, 0x4f, 0x27, 0xfd, 0xbb, 0xce, 0xa8, 0x99, + 0x08, 0x9d, 0x6e, 0x03, 0xd9, 0xa8, 0x44, 0xe9, 0xa4, 0x4a, 0x16, 0x82, + 0x52, 0x22, 0xc3, 0x88, 0x8c, 0xa5, 0xd2, 0x23, 0x2a, 0xcb, 0x72, 0x7e, + 0x6b, 0x14, 0xbf, 0xbc, 0xb8, 0xb4, 0xf4, 0x9d, 0xed, 0xad, 0xad, 0xdd, + 0xb2, 0x2c, 0xf3, 0xc7, 0x79, 0x81, 0x7d, 0x3c, 0xf6, 0x23, 0x51, 0xd5, + 0xc5, 0x3c, 0x9a, 0xfd, 0xfc, 0xe1, 0x7e, 0x76, 0x06, 0x36, 0x4a, 0x89, + 0x0d, 0xa7, 0xd6, 0x42, 0x4e, 0x14, 0xcd, 0xf0, 0x98, 0x54, 0xb3, 0x56, + 0x80, 0x04, 0x4f, 0x51, 0x01, 0x54, 0x40, 0xa2, 0xb0, 0x50, 0x7c, 0xac, + 0x9b, 0x00, 0xde, 0xc3, 0x3e, 0x22, 0x7c, 0x63, 0xcc, 0x58, 0xf8, 0xd6, + 0x86, 0xfb, 0xb1, 0xe0, 0x99, 0x00, 0xae, 0xac, 0x9f, 0x26, 0xa1, 0x54, + 0xab, 0x3a, 0x93, 0x65, 0x82, 0x67, 0x8b, 0xef, 0x3c, 0xd8, 0x87, 0x2b, + 0x4b, 0x2c, 0x2d, 0x2f, 0xe3, 0xcc, 0xd9, 0x79, 0xdc, 0x3a, 0xda, 0xc6, + 0xc5, 0xcf, 0x9c, 0xc3, 0xe2, 0x53, 0xa7, 0xb0, 0xfa, 0xea, 0x5d, 0xac, + 0xfe, 0x68, 0x0d, 0xc7, 0x47, 0x83, 0x60, 0xb1, 0xd6, 0x80, 0x2b, 0x58, + 0x9b, 0x3e, 0x87, 0x89, 0xd6, 0xb0, 0x56, 0x41, 0x68, 0xd5, 0xbe, 0xb4, + 0x49, 0x84, 0x64, 0x26, 0x86, 0x9d, 0x4d, 0xf1, 0xfc, 0xa7, 0x9f, 0xc3, + 0xdd, 0xef, 0xdd, 0xc5, 0xdb, 0x6f, 0x3e, 0x40, 0xdc, 0x88, 0x2b, 0x23, + 0x20, 0xb0, 0x2a, 0xd2, 0x28, 0x42, 0x29, 0xc2, 0xb0, 0x26, 0xdd, 0xed, + 0x17, 0xe7, 0x97, 0x16, 0x97, 0x5f, 0xc2, 0xd6, 0xd6, 0x6d, 0x63, 0xec, + 0xf1, 0xe3, 0xbc, 0xe0, 0x51, 0x05, 0x90, 0x31, 0x86, 0xbd, 0xf7, 0xcd, + 0xb3, 0x4f, 0x5c, 0xb8, 0x74, 0x2f, 0xa3, 0x17, 0xa0, 0xd4, 0x05, 0xb1, + 0x8d, 0xad, 0x25, 0xe6, 0x77, 0x5a, 0x7f, 0xfd, 0x29, 0x8d, 0x85, 0x5f, + 0x3d, 0x29, 0x7a, 0xe2, 0xf3, 0xc2, 0x79, 0x2c, 0xa6, 0x06, 0x57, 0x5a, + 0x11, 0x9c, 0xcb, 0x61, 0x4d, 0xc0, 0x7b, 0x6b, 0x6a, 0x45, 0x84, 0x58, + 0x60, 0x2c, 0x83, 0x2d, 0x83, 0x0c, 0x83, 0xd8, 0x04, 0x0b, 0x63, 0x06, + 0x38, 0x64, 0x43, 0x93, 0x52, 0x0f, 0x85, 0xb4, 0x55, 0x15, 0x0d, 0x26, + 0x6c, 0x0e, 0x81, 0xd7, 0xb7, 0x0f, 0x60, 0xc4, 0xe1, 0xc2, 0xa5, 0x33, + 0xb0, 0xad, 0x14, 0xa6, 0xc7, 0x68, 0xc5, 0x0a, 0xb3, 0x98, 0xe0, 0x99, + 0x5f, 0xbb, 0x8a, 0x73, 0x1f, 0x3b, 0x83, 0x87, 0x6f, 0x6d, 0x60, 0xeb, + 0xed, 0x2d, 0x1c, 0xee, 0x1c, 0x23, 0x1b, 0x15, 0xf0, 0x5e, 0xa0, 0x32, + 0xae, 0x7f, 0x04, 0x06, 0x05, 0x33, 0xa2, 0xc8, 0x20, 0x6a, 0x26, 0x30, + 0xad, 0x18, 0xb6, 0x93, 0x80, 0x3b, 0x31, 0xd0, 0x88, 0x90, 0xcc, 0x74, + 0x50, 0x98, 0x18, 0x07, 0x87, 0x7d, 0x80, 0x14, 0x32, 0x8e, 0xf2, 0x02, + 0x21, 0x86, 0x25, 0x86, 0x65, 0x43, 0x0e, 0x6a, 0x5d, 0x51, 0xcc, 0x1e, + 0x14, 0xf6, 0xc5, 0xc5, 0xc5, 0x53, 0x5f, 0xdb, 0xde, 0xde, 0xd9, 0x26, + 0xe2, 0xe2, 0x51, 0x2f, 0x38, 0xa1, 0x80, 0xe5, 0xe5, 0x65, 0x2a, 0x8a, + 0x22, 0x32, 0xc6, 0xcc, 0x97, 0x71, 0xf7, 0x53, 0x87, 0xdb, 0xd9, 0x19, + 0x58, 0x93, 0x80, 0x98, 0xad, 0x31, 0xf0, 0xa2, 0x8f, 0x2d, 0x52, 0x8d, + 0xc1, 0x55, 0xa7, 0x1e, 0x4f, 0xe5, 0xde, 0x8c, 0x10, 0x24, 0xaf, 0xce, + 0xa4, 0x58, 0xb4, 0x84, 0xac, 0x54, 0x44, 0x3c, 0x05, 0x41, 0xd6, 0xc2, + 0x46, 0x11, 0xac, 0xb5, 0x95, 0xe0, 0xb5, 0xba, 0x39, 0xc0, 0x38, 0x80, + 0x1d, 0x40, 0x0e, 0xa0, 0x12, 0x4a, 0x0e, 0x81, 0x0a, 0xea, 0xa0, 0x1a, + 0xf0, 0x3f, 0x8d, 0x12, 0x7c, 0xff, 0x81, 0xc1, 0xfd, 0xa3, 0x01, 0x22, + 0x0b, 0x5c, 0x7e, 0xa6, 0x05, 0xa7, 0x1b, 0x88, 0x4d, 0x1f, 0xc4, 0x09, + 0x8c, 0xb1, 0x88, 0x0c, 0x60, 0xcf, 0xcc, 0xa1, 0x71, 0xaa, 0x8b, 0x33, + 0x9f, 0x78, 0x12, 0x83, 0xfd, 0x3e, 0x7a, 0xbb, 0x47, 0xe8, 0x1f, 0xf4, + 0x90, 0x8d, 0x0a, 0x40, 0x14, 0xa5, 0xf7, 0x40, 0x64, 0x41, 0xb1, 0x81, + 0x44, 0x06, 0xa5, 0x01, 0x1c, 0x03, 0xde, 0x18, 0x88, 0x35, 0x70, 0x2a, + 0x68, 0x37, 0x9a, 0xc8, 0x0e, 0x7a, 0x38, 0xdc, 0x3d, 0x02, 0x98, 0x02, + 0x65, 0x86, 0xf8, 0x44, 0xb1, 0x30, 0xb6, 0x16, 0xae, 0xf0, 0x0c, 0x63, + 0x92, 0x9d, 0x5e, 0x79, 0x7e, 0x61, 0x6e, 0xe9, 0x05, 0xde, 0xdd, 0xbb, + 0x55, 0x3a, 0xd7, 0x5b, 0x5a, 0x5a, 0x92, 0x69, 0x2f, 0x38, 0xa1, 0x80, + 0x3c, 0xcf, 0x29, 0x8a, 0xa2, 0x74, 0x61, 0x61, 0xe1, 0x4c, 0xcf, 0xc5, + 0x2f, 0x78, 0x9f, 0x77, 0x11, 0x45, 0x91, 0x35, 0x86, 0x98, 0x18, 0x82, + 0x77, 0x51, 0xc0, 0x54, 0x1c, 0x08, 0xe4, 0x28, 0xae, 0x84, 0x14, 0x1e, + 0xd7, 0x5d, 0xa6, 0x4f, 0xcd, 0xb7, 0x10, 0xa9, 0x22, 0x37, 0x16, 0x26, + 0x8a, 0x61, 0x2d, 0xc3, 0x30, 0x60, 0xb4, 0x00, 0xbb, 0x1e, 0x44, 0x06, + 0x20, 0x33, 0x04, 0xcc, 0x08, 0x64, 0x47, 0x20, 0xca, 0x41, 0xea, 0x40, + 0xe4, 0x40, 0xc6, 0x43, 0x59, 0x01, 0x56, 0x54, 0xa6, 0x5f, 0x99, 0xac, + 0x82, 0x68, 0x06, 0x7f, 0xb3, 0x3a, 0x83, 0x32, 0x73, 0x98, 0x3b, 0x6d, + 0x70, 0xfe, 0xd2, 0x2a, 0x46, 0xf9, 0x2b, 0x30, 0x26, 0x83, 0xc2, 0x82, + 0x88, 0x61, 0x6c, 0x82, 0x18, 0x4d, 0x00, 0x5d, 0xa0, 0x3d, 0x0b, 0x4e, + 0x5a, 0x48, 0x4e, 0x2d, 0x60, 0xa6, 0x58, 0x42, 0x56, 0x78, 0xe4, 0x45, + 0x89, 0xbc, 0xcc, 0x51, 0x94, 0x25, 0xf2, 0xd2, 0x41, 0x9c, 0x00, 0x5e, + 0x40, 0x5e, 0x21, 0x55, 0x5a, 0xad, 0xaa, 0xe8, 0x24, 0x29, 0x8e, 0xee, + 0x6d, 0xa1, 0xc8, 0x0a, 0xd8, 0x24, 0x81, 0xbc, 0x23, 0xb1, 0xd1, 0x9a, + 0x8f, 0x44, 0xa2, 0x1c, 0x65, 0x85, 0x9b, 0x1d, 0x50, 0xf3, 0x93, 0x00, + 0xbe, 0x66, 0x98, 0xb7, 0xf3, 0x3c, 0x2f, 0xde, 0x0d, 0x82, 0x28, 0x4d, + 0x53, 0x23, 0x22, 0x9d, 0xc6, 0xdc, 0xca, 0xb5, 0xb5, 0x83, 0xfc, 0x3c, + 0xd8, 0x34, 0x40, 0xc4, 0xc6, 0xd8, 0x71, 0x66, 0xff, 0xee, 0x1a, 0x98, + 0x3e, 0x6d, 0xea, 0x38, 0x2e, 0x13, 0x85, 0x7a, 0xcf, 0x4c, 0x1c, 0xe1, + 0xe3, 0x73, 0x6d, 0xb8, 0x32, 0x07, 0x17, 0x43, 0x68, 0xbe, 0x03, 0x8f, + 0x3e, 0xc0, 0x03, 0xc0, 0x8e, 0xa0, 0x49, 0x0e, 0x4a, 0x05, 0x86, 0x15, + 0x64, 0x01, 0x8a, 0x09, 0x1c, 0x11, 0x28, 0x42, 0xb8, 0x67, 0x00, 0xa6, + 0x8a, 0x07, 0x34, 0x29, 0x35, 0xc5, 0xac, 0x38, 0xdc, 0x6f, 0xe3, 0x3b, + 0x9b, 0xe1, 0x89, 0xf3, 0x17, 0x9b, 0x58, 0x58, 0x8a, 0xb0, 0x33, 0x52, + 0x34, 0x22, 0x82, 0x93, 0x11, 0x08, 0x05, 0x88, 0x72, 0x28, 0x32, 0x38, + 0x78, 0x18, 0x35, 0x30, 0x68, 0x82, 0xb5, 0x0d, 0x96, 0x59, 0x58, 0x59, + 0x80, 0xea, 0x1c, 0x40, 0x6d, 0x30, 0xa5, 0x60, 0x12, 0x18, 0x2a, 0x40, + 0x54, 0xa2, 0x84, 0x87, 0x7a, 0x85, 0x57, 0x45, 0x1c, 0x45, 0x48, 0x60, + 0x70, 0xff, 0xe1, 0xde, 0xb8, 0x7f, 0xa1, 0x5a, 0xbf, 0x9e, 0x49, 0x8a, + 0xc5, 0xc4, 0x30, 0xc6, 0x42, 0xc4, 0x33, 0x40, 0x8d, 0xfd, 0x11, 0xae, + 0x5c, 0xb8, 0xf0, 0xe4, 0x95, 0xfb, 0x77, 0xef, 0xbc, 0x6d, 0x8c, 0x1d, + 0x4c, 0x1f, 0xcc, 0xec, 0x34, 0xfc, 0x88, 0x88, 0x25, 0xa2, 0xb9, 0x0c, + 0xe9, 0x73, 0xc3, 0x6c, 0x30, 0x07, 0x1b, 0x59, 0x62, 0x43, 0x44, 0x0c, + 0xff, 0x2e, 0xd2, 0x1f, 0x83, 0x0c, 0x3f, 0x9a, 0x11, 0x05, 0x45, 0x90, + 0x12, 0x46, 0x02, 0x3c, 0xd5, 0x52, 0xac, 0x1c, 0xdf, 0x46, 0x7f, 0x6f, + 0x1b, 0x6c, 0x33, 0x20, 0x76, 0x88, 0x1b, 0x04, 0x6e, 0x11, 0x38, 0x26, + 0x70, 0xd3, 0xc0, 0xa4, 0x0c, 0x4a, 0x00, 0xae, 0x6f, 0x91, 0x82, 0x22, + 0x05, 0x19, 0x05, 0x0c, 0x40, 0xe6, 0x84, 0xb7, 0x43, 0x44, 0xd1, 0x8c, + 0x2c, 0x7e, 0xf8, 0xa6, 0xc5, 0xdd, 0xe3, 0x12, 0x6c, 0x80, 0x2b, 0xcf, + 0x74, 0x90, 0xa6, 0x0c, 0x3b, 0x4a, 0x60, 0x6d, 0x84, 0x52, 0x22, 0x30, + 0xc5, 0x60, 0x9f, 0x80, 0xa9, 0x01, 0xa2, 0x0c, 0x84, 0x1c, 0x8a, 0x21, + 0xbc, 0x0e, 0x50, 0xca, 0x06, 0x20, 0x04, 0x2f, 0x11, 0xbc, 0x74, 0xe0, + 0x69, 0x1e, 0xca, 0x8b, 0x20, 0x9e, 0x85, 0xe1, 0x06, 0x84, 0x0d, 0x44, + 0x1d, 0x9c, 0xcb, 0xd1, 0x4c, 0x53, 0xc8, 0xa0, 0xc0, 0xe1, 0xde, 0x31, + 0xc8, 0x5a, 0x28, 0x78, 0xdc, 0x0c, 0x9a, 0xfe, 0xf0, 0xaa, 0x60, 0x36, + 0xe1, 0xf0, 0x62, 0xd8, 0x1e, 0xf6, 0xf3, 0xb9, 0x73, 0xcb, 0x33, 0xcf, + 0x11, 0xd1, 0xb7, 0x8d, 0xb1, 0x07, 0x2b, 0x2b, 0x2b, 0xe3, 0x60, 0x3c, + 0x56, 0x40, 0x96, 0x65, 0x94, 0x24, 0x49, 0xba, 0xb2, 0xb2, 0xb2, 0xbc, + 0xe7, 0xf8, 0x2a, 0x14, 0x4d, 0x22, 0x66, 0x32, 0xf6, 0x27, 0x94, 0x6b, + 0x09, 0x4a, 0x04, 0xae, 0x8f, 0xfc, 0x1a, 0x82, 0x51, 0x90, 0x7f, 0x5d, + 0xa1, 0x04, 0x1c, 0x18, 0xcf, 0xc6, 0xc7, 0x48, 0x0f, 0x37, 0x70, 0xec, + 0x04, 0x51, 0xc3, 0x20, 0x6a, 0x44, 0xb0, 0x4d, 0x02, 0x37, 0x10, 0x6e, + 0x29, 0x40, 0xa9, 0x4e, 0x84, 0x9f, 0x04, 0xe1, 0xb3, 0x0d, 0xaf, 0x92, + 0x6c, 0x25, 0x7c, 0x9e, 0x64, 0x88, 0xa2, 0x8a, 0x98, 0x12, 0x7c, 0x67, + 0x8d, 0x30, 0x2a, 0x14, 0x33, 0x6d, 0xc2, 0x33, 0xd7, 0x66, 0x00, 0x28, + 0x62, 0x93, 0x40, 0x49, 0x10, 0x5e, 0x5d, 0x75, 0x98, 0xf3, 0x0a, 0x20, + 0xa9, 0xce, 0x29, 0x05, 0x54, 0xa9, 0xba, 0xa1, 0xa2, 0x40, 0x1e, 0xc2, + 0xf9, 0x7d, 0x88, 0xbc, 0x0d, 0xc7, 0x29, 0x1c, 0xcd, 0x41, 0x78, 0x09, + 0x24, 0x0b, 0x20, 0x24, 0xe8, 0x24, 0x1d, 0xf4, 0xee, 0xef, 0x23, 0x1f, + 0x15, 0x60, 0x13, 0x05, 0xe1, 0xd3, 0xc9, 0x22, 0xe0, 0x74, 0x1a, 0x4b, + 0x64, 0x00, 0x16, 0xf6, 0x65, 0xd9, 0x1c, 0xf8, 0xf4, 0x5a, 0x92, 0x24, + 0x8b, 0x59, 0x96, 0xdd, 0x1f, 0x0e, 0x47, 0xf9, 0xa3, 0x10, 0x44, 0xc6, + 0x18, 0x06, 0xd0, 0x8c, 0xda, 0x73, 0x4f, 0x1e, 0x1d, 0x97, 0x2b, 0x60, + 0x4a, 0x40, 0xc4, 0xc4, 0x01, 0xfb, 0xf9, 0x71, 0xed, 0x34, 0xe2, 0x49, + 0xd1, 0x6b, 0xca, 0x01, 0x04, 0x32, 0x7e, 0x5e, 0x94, 0x60, 0x98, 0xf0, + 0xa9, 0x66, 0x0e, 0x55, 0x86, 0x4d, 0x09, 0x36, 0x26, 0x98, 0x08, 0xe0, + 0xb8, 0x12, 0x78, 0x4a, 0xe3, 0xc7, 0x26, 0x0d, 0xcf, 0x53, 0xac, 0xa0, + 0x18, 0xe0, 0x08, 0xa0, 0x08, 0xc1, 0x03, 0xa6, 0x15, 0xa0, 0x40, 0x64, + 0x80, 0x7c, 0x2f, 0xc5, 0xb7, 0xd7, 0x15, 0x50, 0xc2, 0xf2, 0xe9, 0x08, + 0x17, 0x2e, 0xb6, 0x21, 0xde, 0x21, 0x8d, 0x52, 0x78, 0x75, 0x60, 0x30, + 0xb8, 0x7e, 0xad, 0xe3, 0xd7, 0x28, 0x90, 0x48, 0x20, 0xea, 0xe0, 0x45, + 0xe1, 0x3d, 0xc1, 0x0b, 0xe0, 0xc5, 0xc2, 0xdb, 0x60, 0xc1, 0x5e, 0x0a, + 0x94, 0xfe, 0x21, 0xbc, 0x7f, 0x88, 0x42, 0x13, 0xa8, 0x59, 0x40, 0x4c, + 0x9f, 0xc4, 0xc6, 0xe6, 0x01, 0x54, 0x08, 0x14, 0x55, 0x2f, 0xa8, 0x96, + 0x01, 0x4d, 0xb7, 0x91, 0x08, 0xa2, 0x00, 0x19, 0x03, 0x15, 0xc7, 0x00, + 0x25, 0x87, 0xb9, 0x3e, 0xf1, 0xc4, 0xe2, 0xf2, 0xf9, 0x07, 0xeb, 0x6b, + 0x37, 0xd2, 0x34, 0xed, 0x57, 0xd3, 0x40, 0x3a, 0xf6, 0x80, 0x28, 0x8a, + 0x8c, 0xaa, 0xb6, 0x35, 0x6e, 0x5d, 0xee, 0x0f, 0x07, 0x1d, 0xb0, 0x31, + 0x20, 0x26, 0x22, 0x86, 0x4c, 0x21, 0x7c, 0xf8, 0x5b, 0xe1, 0x0f, 0x13, + 0xea, 0x93, 0x60, 0x95, 0x9e, 0x12, 0xa0, 0x4a, 0xc1, 0xea, 0x48, 0x41, + 0x20, 0x94, 0x60, 0x9c, 0x8e, 0x0a, 0x5c, 0x8d, 0x73, 0x14, 0x99, 0x54, + 0xc2, 0x27, 0x98, 0xb1, 0xa5, 0x13, 0x28, 0x9e, 0x58, 0x3e, 0xc5, 0x0a, + 0x4a, 0x2a, 0xe1, 0xc7, 0x08, 0xf7, 0x46, 0x83, 0x17, 0xf0, 0xe4, 0x44, + 0x2a, 0x0a, 0x34, 0x62, 0xc6, 0xea, 0x46, 0x8c, 0xd7, 0xf7, 0x14, 0xcc, + 0xc0, 0xa5, 0xa7, 0x9b, 0x98, 0x9f, 0x6f, 0x60, 0x98, 0x0d, 0x11, 0xdb, + 0x14, 0x5e, 0xca, 0xf0, 0x5a, 0x1d, 0x8d, 0xbd, 0x58, 0x35, 0xa4, 0x8e, + 0x6a, 0x14, 0x62, 0x05, 0x22, 0x02, 0x2f, 0x80, 0x13, 0xc0, 0x79, 0x85, + 0x15, 0xc0, 0x0a, 0xe0, 0x0c, 0xc3, 0x1a, 0x0e, 0xfd, 0x0a, 0x57, 0x20, + 0x8a, 0xf7, 0x20, 0xd9, 0xeb, 0x38, 0xd8, 0x35, 0x80, 0xb1, 0x95, 0x85, + 0x33, 0xc0, 0x0c, 0x25, 0x3e, 0x71, 0x7e, 0xf6, 0xd5, 0x59, 0x89, 0x89, + 0xe1, 0x43, 0x2d, 0xc5, 0xf4, 0xb3, 0xb2, 0x63, 0x4f, 0x75, 0x2f, 0x31, + 0x73, 0xa7, 0x2c, 0xcb, 0xfd, 0xaa, 0xa2, 0x1d, 0x3c, 0x60, 0x65, 0x65, + 0x85, 0xbc, 0xf7, 0x51, 0xa3, 0xd1, 0x98, 0x1d, 0x94, 0x7c, 0x51, 0x9d, + 0x34, 0x28, 0xb6, 0x86, 0xc6, 0x80, 0xab, 0x10, 0x00, 0x06, 0xe1, 0x8f, + 0x4e, 0x5b, 0xbe, 0xaf, 0xdb, 0xdb, 0xd5, 0x29, 0x35, 0x14, 0x2d, 0x05, + 0x10, 0x02, 0x2b, 0xa1, 0x50, 0xc6, 0x73, 0xcd, 0x02, 0x8b, 0x54, 0xa0, + 0x47, 0x40, 0x1a, 0x11, 0x38, 0x0a, 0x96, 0x1d, 0x04, 0xac, 0x13, 0x41, + 0x47, 0x5a, 0x59, 0x7f, 0xad, 0x0c, 0x80, 0xad, 0x82, 0x22, 0x1a, 0x7b, + 0x00, 0x99, 0xc9, 0x01, 0xa4, 0x61, 0x12, 0xbc, 0xfa, 0xb6, 0xc5, 0x76, + 0xee, 0xd1, 0x48, 0x08, 0x4f, 0x5f, 0x9f, 0x41, 0x23, 0x4e, 0x51, 0x14, + 0x25, 0x18, 0x06, 0x8e, 0x38, 0x18, 0x83, 0x25, 0xc0, 0x57, 0x41, 0xd3, + 0x54, 0x4a, 0x80, 0x20, 0x36, 0x0e, 0xce, 0xe6, 0x88, 0xbc, 0x22, 0x76, + 0x04, 0x57, 0xa5, 0x9d, 0xb6, 0xba, 0x39, 0xd6, 0xaa, 0x0c, 0x02, 0xcc, + 0xa4, 0x33, 0x18, 0x6d, 0x1b, 0x8c, 0xfa, 0x04, 0x32, 0x06, 0xbe, 0x92, + 0x03, 0x91, 0x19, 0x7b, 0x97, 0x56, 0x0d, 0x7c, 0x45, 0xe8, 0x51, 0x68, + 0xed, 0x19, 0x6c, 0x38, 0x2b, 0x5c, 0xa3, 0x40, 0xeb, 0x49, 0x00, 0x33, + 0xc6, 0x98, 0x68, 0x79, 0x79, 0xb9, 0xdc, 0xda, 0xda, 0x0a, 0x1e, 0x30, + 0x1a, 0x8d, 0x28, 0x49, 0x92, 0x78, 0x79, 0x79, 0x65, 0x61, 0xa3, 0x90, + 0x15, 0x00, 0x49, 0x95, 0x4b, 0x9d, 0xac, 0x3c, 0x12, 0x43, 0xc9, 0xbc, + 0xa3, 0xf3, 0xc4, 0x63, 0xfc, 0x0b, 0x56, 0x0f, 0xa5, 0xb1, 0x77, 0x30, + 0x11, 0x3e, 0xd9, 0xcc, 0xc0, 0x12, 0x58, 0x12, 0x6c, 0x01, 0xb6, 0x01, + 0x56, 0x28, 0xa2, 0x20, 0xe0, 0xfa, 0xb9, 0x13, 0x8f, 0x2b, 0xe1, 0xc7, + 0x14, 0xf0, 0x7f, 0x2a, 0x06, 0x00, 0xc1, 0x2b, 0xe4, 0x28, 0xc5, 0x37, + 0xee, 0x30, 0xbc, 0x08, 0xba, 0xf3, 0x06, 0x4f, 0x3f, 0x33, 0x0f, 0x86, + 0x41, 0x64, 0xa2, 0x09, 0xa5, 0x5d, 0xeb, 0xda, 0x6c, 0x28, 0x8d, 0x88, + 0x0a, 0xbc, 0xf1, 0xb0, 0xea, 0xe1, 0x39, 0x46, 0x6c, 0x3c, 0x9c, 0x75, + 0x70, 0x16, 0x88, 0x3c, 0x50, 0x3a, 0xc0, 0x1a, 0xc0, 0x98, 0xd0, 0xa1, + 0x33, 0xa4, 0x88, 0x2c, 0xa3, 0x69, 0x53, 0xec, 0x6e, 0x2b, 0xd4, 0x47, + 0x30, 0x71, 0x90, 0x83, 0xb2, 0x81, 0x4c, 0x19, 0xa3, 0x56, 0x65, 0xf2, + 0x7a, 0x96, 0x81, 0x54, 0xc3, 0x21, 0x52, 0xc0, 0xea, 0x35, 0x19, 0x2a, + 0x9f, 0x9b, 0x9d, 0x9d, 0x9d, 0xdb, 0xdb, 0xdb, 0x8b, 0x8a, 0xa2, 0xa0, + 0xda, 0x03, 0x28, 0x4d, 0x53, 0x22, 0xa2, 0x24, 0x6e, 0xcd, 0x9c, 0x1e, + 0x1c, 0xc8, 0x1c, 0x98, 0x6d, 0x98, 0x4b, 0x9c, 0x88, 0x16, 0x1c, 0x34, + 0xad, 0xc4, 0xe3, 0x8a, 0x60, 0x5d, 0x8c, 0xaa, 0xd5, 0x44, 0x53, 0x39, + 0x31, 0x51, 0xb0, 0xb4, 0x39, 0xe3, 0xf0, 0x5c, 0x32, 0x44, 0x5e, 0x4a, + 0x80, 0x1e, 0x4b, 0xe3, 0xc0, 0xaa, 0x56, 0x21, 0x16, 0x40, 0x04, 0x50, + 0x2c, 0xa0, 0x14, 0xd0, 0xea, 0x46, 0x91, 0x02, 0x96, 0x42, 0xe6, 0x53, + 0x2b, 0xa0, 0xf2, 0x02, 0x05, 0x90, 0xc4, 0x84, 0x9d, 0xb7, 0x12, 0x7c, + 0x7f, 0x33, 0xd4, 0x8b, 0xce, 0x5e, 0x30, 0x78, 0xe2, 0xcc, 0x2c, 0x42, + 0x15, 0x20, 0x0e, 0x53, 0x4a, 0x75, 0xba, 0x4a, 0x1a, 0x70, 0x9f, 0x3d, + 0x44, 0x04, 0xc2, 0x0e, 0x9e, 0x3d, 0x3c, 0x7b, 0x58, 0xb6, 0xb0, 0xc6, + 0xc1, 0x1a, 0x8c, 0x6f, 0x86, 0xab, 0x9b, 0x21, 0x10, 0x09, 0x92, 0x24, + 0x06, 0xe5, 0x11, 0x8e, 0x77, 0x19, 0xc4, 0x76, 0x2c, 0x0b, 0x54, 0x1e, + 0xa0, 0x34, 0x55, 0x6d, 0xad, 0x02, 0x14, 0x41, 0xa0, 0x04, 0x10, 0x1b, + 0x68, 0xc0, 0x2b, 0x7b, 0x3c, 0xf2, 0xa7, 0xce, 0xb5, 0xdb, 0xcb, 0x07, + 0x07, 0x07, 0x49, 0x9a, 0xa6, 0x84, 0xf0, 0xb6, 0x00, 0xe7, 0x9c, 0x31, + 0xc6, 0x24, 0x88, 0x1a, 0xcb, 0x59, 0x91, 0x35, 0xc0, 0xc1, 0xcc, 0xa9, + 0x8e, 0x78, 0x63, 0xd8, 0xa9, 0x85, 0xcf, 0x63, 0xeb, 0xa6, 0xa9, 0x26, + 0x37, 0x4d, 0x75, 0xc4, 0x0c, 0x01, 0x19, 0x18, 0x57, 0xe3, 0x02, 0x67, + 0x39, 0x43, 0xee, 0x01, 0x1b, 0x13, 0x84, 0x00, 0xb1, 0x40, 0x9c, 0x12, + 0x1a, 0x0d, 0x42, 0x92, 0x84, 0x5a, 0x8e, 0xf1, 0x16, 0xe8, 0x29, 0x28, + 0x53, 0x20, 0x55, 0x68, 0x5b, 0xe0, 0xbb, 0x80, 0x34, 0x2b, 0xfc, 0xd7, + 0xda, 0x03, 0x14, 0x4a, 0x8a, 0xd4, 0x58, 0x7c, 0xeb, 0x76, 0x82, 0xf5, + 0x01, 0x21, 0xb1, 0xc0, 0x95, 0x6b, 0x6d, 0xcc, 0x75, 0x66, 0x90, 0xe7, + 0x1e, 0x96, 0xa3, 0xd0, 0xd4, 0x57, 0x40, 0xb9, 0x2a, 0x0a, 0xb2, 0x40, + 0x58, 0xe0, 0x8d, 0xc0, 0x20, 0x82, 0xe5, 0x12, 0x96, 0x4d, 0x50, 0x00, + 0x33, 0xac, 0x11, 0x58, 0x43, 0x13, 0xcb, 0xe7, 0x40, 0x00, 0x20, 0x52, + 0x34, 0xe3, 0x14, 0xd9, 0x36, 0x21, 0x1f, 0xd8, 0x10, 0x1a, 0xa9, 0xca, + 0x89, 0x79, 0x92, 0x19, 0x30, 0x4d, 0xcf, 0x22, 0x84, 0xec, 0x30, 0x78, + 0x80, 0x05, 0xd8, 0x10, 0xc8, 0x9b, 0xac, 0xf0, 0xad, 0xa8, 0xdb, 0x5e, + 0x26, 0xa2, 0xb4, 0x9a, 0xf0, 0xf4, 0x16, 0x00, 0xac, 0xb5, 0x44, 0x44, + 0x89, 0x83, 0x3d, 0x95, 0x15, 0x65, 0x52, 0x47, 0x3b, 0xe2, 0x00, 0xba, + 0x34, 0x56, 0x42, 0x15, 0x60, 0xa7, 0x4a, 0xb1, 0xd3, 0x39, 0x10, 0x55, + 0xe1, 0x9a, 0x40, 0x30, 0x44, 0x70, 0x4a, 0x78, 0x3e, 0x19, 0x22, 0xce, + 0x4b, 0x8c, 0x40, 0xe8, 0xb6, 0x08, 0xb3, 0x33, 0x40, 0x64, 0x81, 0xe1, + 0x01, 0xe1, 0xfe, 0x03, 0x8b, 0xad, 0x01, 0x63, 0x7b, 0xc4, 0x38, 0x2a, + 0x18, 0xde, 0x87, 0x83, 0xd5, 0x62, 0xe2, 0x71, 0xb6, 0xed, 0xf1, 0xc4, + 0x92, 0xc3, 0xa9, 0x0b, 0x0e, 0xd1, 0x75, 0xc0, 0x5d, 0x20, 0x68, 0xaa, + 0xa0, 0x52, 0x01, 0x16, 0xd8, 0x2c, 0xc2, 0xb7, 0x6e, 0x5a, 0xf4, 0xc5, + 0x60, 0xbe, 0xad, 0xb8, 0xfe, 0xec, 0x1c, 0x12, 0xdb, 0x80, 0x2b, 0x47, + 0x20, 0x45, 0xd5, 0xe4, 0x0f, 0xd0, 0x23, 0x1a, 0x82, 0xad, 0x61, 0x0f, + 0x2b, 0x0e, 0x9e, 0x2c, 0x0c, 0x45, 0x30, 0x54, 0xc2, 0xb0, 0x09, 0x43, + 0x1b, 0xa6, 0x80, 0xa9, 0xb0, 0xbf, 0x2a, 0x3d, 0x81, 0x29, 0x40, 0x51, + 0xcc, 0x29, 0xf6, 0xf6, 0x18, 0x52, 0x44, 0x30, 0x36, 0xc8, 0x44, 0xd9, + 0xbe, 0x23, 0x0b, 0x22, 0x45, 0x55, 0xac, 0xd4, 0x71, 0x3b, 0x96, 0xd9, + 0x42, 0xc8, 0x40, 0x99, 0x28, 0x77, 0x3e, 0x41, 0x94, 0x2c, 0x10, 0x51, + 0xe2, 0xbd, 0x1f, 0x43, 0x10, 0x44, 0x84, 0x8c, 0x31, 0xa9, 0x72, 0xb4, + 0xa0, 0x22, 0x11, 0x22, 0xcb, 0xa1, 0x10, 0x66, 0x02, 0xe8, 0x72, 0x9d, + 0xd9, 0x54, 0x41, 0x98, 0x4d, 0x95, 0x11, 0x55, 0x58, 0x3f, 0xd5, 0xa2, + 0x20, 0x10, 0x48, 0x43, 0x34, 0x68, 0xb2, 0xc7, 0xcb, 0x9d, 0x1e, 0x16, + 0x1a, 0x8a, 0x6e, 0x44, 0x38, 0x70, 0x16, 0x7f, 0xb5, 0x96, 0xe2, 0xbb, + 0x87, 0x31, 0xde, 0x18, 0x46, 0xb8, 0x5f, 0x18, 0x1c, 0x78, 0xa0, 0xd0, + 0x10, 0xe4, 0x41, 0x21, 0x73, 0xb0, 0xcc, 0xe8, 0x90, 0xe2, 0xec, 0x9b, + 0x0e, 0xcf, 0x27, 0x39, 0xfe, 0x83, 0xc5, 0x01, 0x3e, 0xfb, 0xb1, 0x0c, + 0xb3, 0x7f, 0x4f, 0xe1, 0x9e, 0x01, 0x4c, 0x02, 0xf4, 0xee, 0x35, 0xf0, + 0xad, 0xf5, 0x08, 0xcc, 0x84, 0x53, 0xa7, 0x15, 0x57, 0x2e, 0x9d, 0x02, + 0xc1, 0xc2, 0xb0, 0x09, 0x95, 0x0a, 0x84, 0x4a, 0x2c, 0x93, 0xc0, 0xb2, + 0x81, 0x67, 0x13, 0x4e, 0xc0, 0x6c, 0xc0, 0xc2, 0x30, 0x64, 0xc0, 0x64, + 0xc0, 0x30, 0x30, 0x64, 0x60, 0x2b, 0xab, 0xe7, 0xa9, 0x1b, 0x11, 0x10, + 0x45, 0x16, 0xe4, 0x52, 0x0c, 0xf7, 0x0c, 0x88, 0x82, 0x07, 0x68, 0x6d, + 0xfd, 0x6c, 0xc6, 0x4d, 0x22, 0x41, 0x5d, 0x11, 0x95, 0x10, 0xe4, 0x55, + 0x41, 0x24, 0xd0, 0xba, 0x98, 0x68, 0x2c, 0x97, 0xde, 0x59, 0x21, 0xbb, + 0x00, 0xa0, 0xf6, 0x80, 0xa0, 0x80, 0x6a, 0xea, 0x3c, 0x1e, 0x15, 0x32, + 0x03, 0x25, 0x1b, 0x84, 0x6f, 0xc7, 0x87, 0x8c, 0x20, 0x7c, 0xae, 0x7a, + 0xb3, 0x5c, 0xa5, 0x60, 0x34, 0x0e, 0xbe, 0xe3, 0x50, 0xad, 0x54, 0x65, + 0x41, 0x80, 0x80, 0xd0, 0x64, 0x41, 0x73, 0x86, 0xf0, 0x9d, 0xfe, 0x0c, + 0xfe, 0xcf, 0xf5, 0x19, 0xfc, 0x6d, 0x3f, 0xc1, 0x83, 0x02, 0x28, 0xa4, + 0x84, 0x91, 0x12, 0x96, 0x1c, 0x22, 0x6b, 0xd0, 0x64, 0x9e, 0x6a, 0x74, + 0x7b, 0xb8, 0x32, 0xc3, 0xa1, 0x12, 0xf6, 0xa3, 0x04, 0xaf, 0xf1, 0x3c, + 0xfe, 0xd5, 0xc6, 0x02, 0x7e, 0x69, 0x73, 0x88, 0xdf, 0xfb, 0xde, 0x01, + 0x7e, 0xed, 0xf3, 0x7d, 0x2c, 0xfe, 0x0e, 0xe3, 0xc7, 0x77, 0x53, 0xdc, + 0x38, 0xb4, 0x88, 0x8c, 0xe2, 0xe2, 0xe5, 0x04, 0x67, 0x16, 0x17, 0xa0, + 0x42, 0x21, 0x7c, 0x29, 0x60, 0x54, 0x21, 0x24, 0x60, 0xf2, 0x60, 0x0a, + 0x42, 0xf6, 0xcc, 0x60, 0x09, 0x8f, 0x99, 0x83, 0x32, 0x0c, 0x31, 0xb8, + 0x7a, 0x5f, 0xcc, 0x52, 0xb5, 0x45, 0x2b, 0x36, 0x06, 0x09, 0x92, 0xa8, + 0x85, 0x7c, 0xdf, 0x20, 0x3f, 0xaa, 0xe0, 0xa7, 0xca, 0x10, 0x88, 0x43, + 0x10, 0x46, 0x95, 0xa6, 0xf3, 0xb8, 0x08, 0x10, 0xb0, 0x28, 0x28, 0xa2, + 0x7a, 0x53, 0x6c, 0xc1, 0xec, 0x20, 0x9e, 0xad, 0xa7, 0xa8, 0x0b, 0x20, + 0xb2, 0xd6, 0x06, 0x0f, 0x58, 0x59, 0x59, 0x21, 0x55, 0x35, 0x44, 0x64, + 0x33, 0x27, 0x4d, 0x10, 0x4c, 0x28, 0x3f, 0xd4, 0xe9, 0x15, 0x8d, 0x05, + 0x5f, 0xc7, 0x01, 0x1e, 0xc3, 0x4f, 0x65, 0xfd, 0x15, 0xd5, 0x24, 0xb8, + 0x61, 0x0d, 0x41, 0x40, 0xa1, 0x06, 0xff, 0xcd, 0xcd, 0xf3, 0xe8, 0x65, + 0x25, 0x06, 0xde, 0x21, 0x35, 0x82, 0x99, 0x4e, 0x8a, 0xa4, 0x33, 0x8f, + 0xf6, 0xc2, 0x69, 0xb4, 0x17, 0x56, 0xd0, 0x9a, 0x5b, 0x40, 0x67, 0x66, + 0x06, 0x8d, 0x46, 0x8c, 0x28, 0x32, 0x50, 0x97, 0x23, 0xeb, 0x1f, 0x60, + 0x6f, 0x7d, 0x15, 0x1b, 0x6f, 0xbf, 0x85, 0xed, 0x87, 0x0f, 0x90, 0x95, + 0x1e, 0xdf, 0x68, 0x76, 0xf0, 0xdd, 0xc3, 0x59, 0xbc, 0xfc, 0xe7, 0x47, + 0xf8, 0x6f, 0xef, 0xee, 0xe2, 0x3b, 0x51, 0x8c, 0x03, 0x44, 0x88, 0x93, + 0x12, 0x4f, 0x3f, 0xd3, 0x46, 0xa7, 0xd1, 0x41, 0x9e, 0x0b, 0x4c, 0x85, + 0xc9, 0xca, 0x0c, 0x56, 0x06, 0xa9, 0x01, 0x91, 0x0f, 0xed, 0xcd, 0xea, + 0x3d, 0x51, 0x95, 0x9e, 0xd6, 0x2d, 0x4f, 0x92, 0x3a, 0xa6, 0x4d, 0xce, + 0x54, 0x44, 0x04, 0x66, 0x85, 0xe5, 0x06, 0x0e, 0xf6, 0x19, 0x52, 0x26, + 0x30, 0xb6, 0x4a, 0xd1, 0x2a, 0x58, 0x09, 0x49, 0x49, 0x80, 0x5b, 0xad, + 0x4e, 0xe6, 0xa1, 0x00, 0xa6, 0x98, 0x8a, 0xca, 0xd5, 0xf7, 0x59, 0x52, + 0x75, 0xc6, 0xc3, 0xb4, 0xab, 0x49, 0x7f, 0x3e, 0x7b, 0xf6, 0x6c, 0x08, + 0xc2, 0xd5, 0x60, 0x42, 0xa4, 0xe0, 0x14, 0x64, 0x38, 0xc0, 0x4c, 0x7d, + 0xd8, 0xaa, 0x9b, 0xe2, 0x95, 0xf0, 0x6b, 0xfc, 0xaf, 0xfe, 0x71, 0x3d, + 0xdb, 0xa5, 0x93, 0x74, 0xb4, 0x0e, 0x45, 0xec, 0x4b, 0x0c, 0x44, 0x11, + 0x75, 0x66, 0xb0, 0xdc, 0x5d, 0x41, 0xba, 0x78, 0x11, 0xed, 0xa5, 0x73, + 0x98, 0x59, 0x38, 0x85, 0x6e, 0xa7, 0x85, 0x6e, 0xab, 0x81, 0x4e, 0xc3, + 0xa2, 0x9d, 0x1a, 0x74, 0x1a, 0x11, 0x5a, 0x69, 0x84, 0x66, 0x23, 0x41, + 0xd2, 0x4c, 0xc1, 0x96, 0x91, 0x0f, 0x7a, 0x78, 0x70, 0xfb, 0x06, 0x5e, + 0xfd, 0xda, 0x57, 0xf1, 0xbd, 0x57, 0xbe, 0x8d, 0xde, 0x70, 0x84, 0x7f, + 0xd7, 0x3a, 0x85, 0xd7, 0xdf, 0x9a, 0x0d, 0x99, 0x10, 0x33, 0x3a, 0x5d, + 0xe0, 0xe3, 0xd7, 0x96, 0xc1, 0x14, 0x03, 0xc8, 0xc0, 0xcc, 0x90, 0xb1, + 0x40, 0x2b, 0x63, 0xc1, 0xc4, 0x63, 0xeb, 0xe4, 0x81, 0xeb, 0x78, 0x06, + 0x0e, 0xff, 0xaf, 0x5a, 0x9e, 0x35, 0xf6, 0x13, 0x14, 0xc6, 0x18, 0x90, + 0x4b, 0x30, 0xda, 0xb7, 0x50, 0x8d, 0x43, 0x37, 0xad, 0x4a, 0xc7, 0x88, + 0x0d, 0xb4, 0xc2, 0xff, 0x9a, 0x09, 0xcb, 0x14, 0xa0, 0x07, 0x2a, 0x95, + 0x4b, 0x50, 0x68, 0x46, 0x55, 0x6d, 0x57, 0x01, 0x1b, 0x27, 0x48, 0x55, + 0x35, 0x12, 0x11, 0x22, 0x22, 0x58, 0xaa, 0x4a, 0xa7, 0xcc, 0x4c, 0x9e, + 0x38, 0xaa, 0x3a, 0x20, 0x04, 0x9a, 0x82, 0x9d, 0x31, 0xf6, 0xd7, 0xd6, + 0x53, 0x41, 0xcd, 0x14, 0xc3, 0x77, 0x1c, 0x07, 0xea, 0x6c, 0x40, 0x15, + 0xd2, 0x59, 0x41, 0xb4, 0x70, 0x01, 0x8d, 0xc5, 0x73, 0x88, 0x67, 0x4f, + 0x21, 0x6d, 0x35, 0xd0, 0x4e, 0x0d, 0x5a, 0x89, 0x41, 0x1a, 0x09, 0x22, + 0xca, 0x61, 0xd5, 0x83, 0xbd, 0x05, 0x3b, 0x81, 0x29, 0x3d, 0xac, 0x71, + 0x68, 0x98, 0x1c, 0x0d, 0x44, 0x88, 0x67, 0x12, 0x5c, 0x79, 0xf9, 0x25, + 0x7c, 0xf1, 0x0b, 0x9f, 0xc7, 0x9d, 0x1b, 0x37, 0xf0, 0xbf, 0xff, 0xf1, + 0x9f, 0xe0, 0x1b, 0x5f, 0x7f, 0x05, 0xbb, 0x26, 0x42, 0x9a, 0xc6, 0xa0, + 0x02, 0x38, 0xff, 0x14, 0xa3, 0x35, 0xef, 0x91, 0x98, 0x18, 0x05, 0x3b, + 0x94, 0x92, 0x63, 0x3a, 0x32, 0xd5, 0xc2, 0x9f, 0xfe, 0x37, 0xe6, 0x56, + 0xd3, 0xa4, 0xc9, 0x4e, 0xd3, 0x7d, 0x5f, 0x0a, 0x67, 0x07, 0xa6, 0x18, + 0x28, 0x53, 0xb8, 0x41, 0x02, 0x32, 0x71, 0x88, 0x89, 0x35, 0xfc, 0x54, + 0xe7, 0x21, 0x9d, 0x62, 0xb2, 0xd6, 0x25, 0x9b, 0xfa, 0x40, 0x46, 0xd5, + 0x01, 0x36, 0xa4, 0xaa, 0x4c, 0x00, 0xb3, 0xb2, 0x49, 0x98, 0x99, 0xeb, + 0xc5, 0x24, 0x76, 0x8a, 0xb2, 0x61, 0x0c, 0x1b, 0x0b, 0x54, 0xf0, 0xc3, + 0x95, 0x8b, 0xbe, 0x43, 0xf8, 0x21, 0xe5, 0x62, 0x4c, 0x4e, 0xbe, 0xa8, + 0x9a, 0xee, 0xf5, 0x51, 0x4c, 0xc5, 0x23, 0x6a, 0x76, 0xd0, 0x7e, 0xf6, + 0x57, 0x20, 0x71, 0x8a, 0xa8, 0x11, 0x41, 0x22, 0x03, 0x35, 0x32, 0x55, + 0x93, 0x99, 0x94, 0x32, 0xea, 0x2c, 0x0b, 0x55, 0xc0, 0xaa, 0x3b, 0x61, + 0x2c, 0x1e, 0x3a, 0xec, 0x81, 0x22, 0xc6, 0xf3, 0xcf, 0x3d, 0x8d, 0x4f, + 0x3f, 0xff, 0xfb, 0xf8, 0xfa, 0x57, 0xbe, 0x86, 0xff, 0xe5, 0x0f, 0xff, + 0x39, 0xee, 0x6f, 0xee, 0x20, 0x4a, 0x22, 0x6c, 0x3c, 0x34, 0xf8, 0xa7, + 0x7f, 0xf8, 0x6d, 0xfc, 0x87, 0xff, 0x60, 0x0f, 0xff, 0xf0, 0xf9, 0x4f, + 0xa2, 0x19, 0x37, 0x31, 0xcc, 0xb3, 0xca, 0x12, 0x1f, 0xe9, 0xb5, 0xd3, + 0xe3, 0x07, 0x02, 0xc7, 0x85, 0xf4, 0x49, 0x3b, 0x1b, 0x4c, 0x8a, 0xd9, + 0x4e, 0x13, 0xbd, 0xc3, 0x08, 0xf9, 0x30, 0x05, 0x47, 0x53, 0xf8, 0x5f, + 0xc1, 0x19, 0x88, 0xc6, 0xd5, 0xd0, 0x9a, 0x90, 0x20, 0x50, 0x80, 0x0c, + 0xb8, 0xea, 0xd6, 0xb1, 0xd6, 0x75, 0x33, 0x03, 0x90, 0xa1, 0x28, 0xa4, + 0x9c, 0x5c, 0x37, 0xc5, 0xf8, 0x1d, 0xa5, 0xfd, 0x29, 0xd7, 0x9c, 0x14, + 0xdc, 0x78, 0x7c, 0x16, 0x60, 0xc6, 0x09, 0x57, 0x7e, 0x07, 0xfb, 0x92, + 0x08, 0x2a, 0x0e, 0x8d, 0xee, 0x12, 0x3a, 0xdd, 0x2e, 0x88, 0xe4, 0x31, + 0x4d, 0x8b, 0xf7, 0x39, 0x12, 0x46, 0x08, 0x4a, 0x21, 0xc6, 0xa8, 0xdf, + 0xc7, 0xb0, 0xdf, 0xc3, 0x3f, 0xfa, 0x47, 0xbf, 0x8a, 0x97, 0xbf, 0xf0, + 0x05, 0x64, 0x59, 0x01, 0xb6, 0x84, 0xc3, 0x9d, 0x04, 0x0f, 0xbf, 0x73, + 0x01, 0xff, 0xe3, 0xff, 0x74, 0x0f, 0xff, 0xdd, 0x3f, 0xfb, 0xd7, 0xf8, + 0xc6, 0xcd, 0x1f, 0x42, 0x28, 0x47, 0x33, 0x8e, 0x61, 0x98, 0x21, 0xaa, + 0xf0, 0x5e, 0xab, 0x6a, 0x67, 0xb8, 0xd5, 0x42, 0x96, 0x71, 0x15, 0x34, + 0xa4, 0x8c, 0xc6, 0x28, 0x92, 0x88, 0xd1, 0x4a, 0x23, 0x34, 0x6c, 0x82, + 0x83, 0x8d, 0x11, 0x76, 0xd7, 0x0a, 0xa8, 0x34, 0xc0, 0x1c, 0xf2, 0xff, + 0xd0, 0x1e, 0x35, 0x13, 0x63, 0xa1, 0x3a, 0x96, 0x54, 0xc1, 0x7c, 0x5c, + 0x23, 0x33, 0x13, 0x59, 0x3e, 0x52, 0xbe, 0xa9, 0x3f, 0x98, 0x79, 0xe2, + 0x01, 0x44, 0xe4, 0x0d, 0xb3, 0xab, 0xaa, 0x68, 0x27, 0x84, 0x3f, 0xfe, + 0xe5, 0x75, 0x71, 0x97, 0x29, 0x68, 0x76, 0x6a, 0xf2, 0xe8, 0x51, 0x8a, + 0x4a, 0x6b, 0xee, 0x34, 0x0a, 0xe7, 0x26, 0x6d, 0x1c, 0x9d, 0x0c, 0x3b, + 0xe8, 0x34, 0x75, 0x4b, 0xa7, 0x3e, 0xaf, 0x85, 0x52, 0xe7, 0xd3, 0x3a, + 0x65, 0x5d, 0x1c, 0x88, 0x5b, 0xaf, 0xdf, 0xde, 0xc5, 0x2b, 0xdf, 0x7b, + 0x63, 0x4c, 0xe8, 0xea, 0xb6, 0x81, 0xed, 0x23, 0x42, 0x7b, 0xef, 0x09, + 0x7c, 0xf7, 0xdf, 0xf4, 0xf1, 0xda, 0x77, 0x5f, 0xc3, 0x27, 0x3e, 0x79, + 0x13, 0x5f, 0xf8, 0xd4, 0x79, 0x3c, 0x7b, 0x61, 0x05, 0xdd, 0x66, 0x03, + 0x49, 0x42, 0xc8, 0x4b, 0x05, 0x15, 0x0e, 0xaa, 0x04, 0x89, 0x2a, 0xcb, + 0x65, 0x06, 0x19, 0x0b, 0x14, 0x31, 0x8a, 0x4c, 0x30, 0x1a, 0xc4, 0xd8, + 0xdc, 0x22, 0x6c, 0xac, 0x33, 0xf6, 0xd6, 0x1b, 0x18, 0xec, 0xcc, 0xc1, + 0xc8, 0xc2, 0xc4, 0xfa, 0xd9, 0x56, 0x82, 0x0d, 0x4a, 0xa8, 0x01, 0x4d, + 0xab, 0x24, 0xc4, 0x43, 0xc1, 0x55, 0xf4, 0x95, 0x9a, 0x13, 0xc5, 0x5a, + 0x05, 0x7f, 0x07, 0x10, 0xa9, 0xf3, 0xde, 0x01, 0x10, 0xae, 0xca, 0x3c, + 0xd6, 0x18, 0x03, 0xef, 0xbd, 0x12, 0x91, 0x12, 0x69, 0x01, 0x62, 0x21, + 0x66, 0x25, 0x62, 0x1a, 0xc3, 0x0e, 0x4d, 0x29, 0xa0, 0xc2, 0x53, 0x9e, + 0xf6, 0xd9, 0xea, 0xb9, 0x60, 0x59, 0x1e, 0x51, 0xd2, 0x40, 0xa3, 0x7b, + 0x0a, 0x87, 0x45, 0x19, 0x3a, 0x58, 0xb5, 0x7b, 0x4a, 0xed, 0xe2, 0x3a, + 0x25, 0xe4, 0xba, 0x42, 0x39, 0xb1, 0x46, 0x91, 0x69, 0x65, 0x28, 0x44, + 0x43, 0xb5, 0x95, 0x4d, 0x84, 0xb5, 0x07, 0x0f, 0xb0, 0xf5, 0xf0, 0x1e, + 0x72, 0x89, 0xf1, 0x9f, 0xbf, 0x74, 0x8c, 0xff, 0xfa, 0x4b, 0x2f, 0xe1, + 0xbf, 0xff, 0x93, 0x1e, 0xfe, 0xf4, 0xab, 0x6f, 0xc3, 0x8f, 0x52, 0xe0, + 0xe1, 0x39, 0xfc, 0xed, 0xc6, 0x00, 0xaf, 0x7e, 0xed, 0x0e, 0x56, 0x2e, + 0xac, 0xe2, 0x99, 0x2b, 0x5d, 0x5c, 0xbe, 0x30, 0x87, 0xe5, 0x53, 0x4d, + 0x24, 0x71, 0x80, 0x88, 0xac, 0x54, 0xf4, 0x33, 0xc1, 0xfe, 0xb1, 0x60, + 0xef, 0x40, 0xb1, 0xb9, 0x0d, 0x6c, 0x6f, 0x24, 0x38, 0xda, 0x31, 0xc8, + 0x0e, 0x1a, 0x70, 0xa3, 0x0e, 0xbc, 0xcc, 0x20, 0x4d, 0x62, 0xb0, 0xa5, + 0x71, 0xe6, 0xc3, 0x55, 0x19, 0x42, 0xab, 0xc3, 0x68, 0xcd, 0x98, 0x23, + 0x0a, 0xef, 0xcf, 0x54, 0xef, 0x2b, 0x00, 0x7f, 0x45, 0x4c, 0xa8, 0xda, + 0xb4, 0x44, 0xa4, 0x6c, 0x58, 0x22, 0xe6, 0x9c, 0x88, 0xc4, 0x39, 0xa7, + 0xc6, 0x98, 0x49, 0x43, 0x86, 0x99, 0xcb, 0xc4, 0x9a, 0x1c, 0xc4, 0x9e, + 0x94, 0x27, 0xb8, 0x3c, 0x01, 0xa4, 0x09, 0x4f, 0x73, 0xca, 0x91, 0x6a, + 0x2b, 0x1d, 0x33, 0x6c, 0xbc, 0x43, 0xa3, 0xbb, 0x0c, 0x8a, 0x5b, 0x28, + 0x47, 0x19, 0x4c, 0x12, 0x4d, 0x91, 0xe5, 0x74, 0x3c, 0x03, 0x20, 0xb5, + 0xd0, 0x55, 0x43, 0x4d, 0x5e, 0xb4, 0xaa, 0xc3, 0x07, 0x06, 0x9d, 0xf7, + 0x0a, 0x31, 0x0a, 0x2f, 0x04, 0xae, 0x66, 0x9c, 0xbc, 0x32, 0x5e, 0x7f, + 0xe3, 0x16, 0xfa, 0xc7, 0x3d, 0xb4, 0x53, 0xe0, 0xb7, 0x3e, 0xd5, 0xc3, + 0xb9, 0x17, 0xae, 0xe1, 0x7f, 0xbe, 0x38, 0xc0, 0x7f, 0xf4, 0x72, 0x07, + 0xff, 0xc3, 0x9f, 0xde, 0xc5, 0x37, 0x5f, 0xdf, 0x83, 0x2f, 0x63, 0x24, + 0xc5, 0x22, 0x36, 0x77, 0x1d, 0xee, 0x7f, 0x2f, 0xc3, 0xff, 0x9b, 0xac, + 0xc3, 0x36, 0x04, 0x51, 0x02, 0x44, 0x71, 0x50, 0x74, 0x99, 0x03, 0xbe, + 0x24, 0xf8, 0xdc, 0x42, 0xf2, 0x19, 0x78, 0x9f, 0x40, 0x35, 0x01, 0xd9, + 0x04, 0xdd, 0x26, 0xe3, 0x62, 0x77, 0x80, 0x8d, 0x4c, 0x31, 0x90, 0x76, + 0x38, 0xdc, 0x99, 0xba, 0x42, 0x38, 0x9d, 0x9e, 0xd7, 0xef, 0x5f, 0xab, + 0x3a, 0x98, 0x04, 0xec, 0x67, 0x80, 0x45, 0xaa, 0x33, 0x82, 0x82, 0x11, + 0x1a, 0x3f, 0x86, 0xd8, 0x1b, 0x92, 0x11, 0x11, 0x95, 0xc6, 0x18, 0x25, + 0x22, 0xd8, 0xfb, 0xf7, 0xef, 0xeb, 0xb9, 0x73, 0xe7, 0x3c, 0x80, 0xb2, + 0x99, 0x44, 0x7d, 0x36, 0x2c, 0x44, 0x21, 0x9b, 0xaf, 0xf1, 0x8c, 0xa7, + 0xb2, 0x21, 0x9e, 0xb2, 0xfe, 0xca, 0xf8, 0x27, 0xd4, 0x14, 0x0a, 0x0c, + 0xe8, 0xce, 0xdc, 0x0a, 0x4a, 0x05, 0x54, 0x2a, 0x76, 0x5c, 0x20, 0xdb, + 0x40, 0x14, 0x70, 0xa2, 0x61, 0x00, 0x43, 0xb8, 0x12, 0x76, 0xad, 0x80, + 0xb0, 0xee, 0xc7, 0x79, 0x41, 0xe9, 0x04, 0xa5, 0x15, 0x58, 0x21, 0x30, + 0x49, 0xf5, 0xb7, 0x81, 0xe3, 0x61, 0x89, 0xd7, 0x5f, 0xff, 0x31, 0xf2, + 0x92, 0x70, 0x79, 0xe9, 0x08, 0xd7, 0x2f, 0x9f, 0x45, 0x99, 0xb7, 0xe1, + 0xac, 0xe2, 0xd7, 0x7f, 0xe5, 0x09, 0xbc, 0xfc, 0x42, 0x03, 0xff, 0xee, + 0x3b, 0xdb, 0xf8, 0x93, 0xaf, 0xec, 0xe0, 0x5b, 0x6f, 0x1c, 0x63, 0x73, + 0x4f, 0xe0, 0x7d, 0x03, 0x54, 0xa4, 0x70, 0xc7, 0xc0, 0x48, 0x75, 0xd2, + 0xdb, 0x56, 0x0a, 0xc1, 0xd2, 0x30, 0x9a, 0x89, 0xc1, 0xe2, 0x9c, 0xe2, + 0xe9, 0x53, 0x23, 0x3c, 0xbf, 0xb4, 0x8d, 0x17, 0x57, 0xf6, 0x30, 0xdb, + 0x74, 0xf8, 0x5f, 0xdf, 0x7e, 0x0e, 0x7f, 0x76, 0x63, 0x1e, 0xb1, 0x25, + 0x68, 0x55, 0xa6, 0x55, 0x9a, 0x9c, 0x7e, 0x6b, 0x12, 0x82, 0x22, 0x58, + 0x3b, 0x55, 0x51, 0x95, 0x35, 0x50, 0x64, 0x09, 0x00, 0xab, 0x80, 0x89, + 0x21, 0xc4, 0x6a, 0xd8, 0xf8, 0x84, 0xb5, 0x0f, 0xc0, 0x11, 0x91, 0xac, + 0xaf, 0xaf, 0x87, 0x72, 0xb4, 0xf7, 0x5e, 0xad, 0xb5, 0x65, 0xcc, 0x7a, + 0x6c, 0x88, 0x1c, 0x11, 0x26, 0x79, 0xfe, 0x34, 0x04, 0x11, 0x4d, 0xf8, + 0xfa, 0x4a, 0xe3, 0xf6, 0x63, 0xad, 0x04, 0x55, 0x81, 0xb1, 0x16, 0xad, + 0xd9, 0x25, 0x1c, 0xe5, 0x79, 0xb0, 0x0a, 0x91, 0xaa, 0x34, 0x1b, 0x4a, + 0x03, 0x4e, 0x19, 0xae, 0x52, 0x44, 0x29, 0x02, 0xe7, 0x79, 0xfc, 0xb8, + 0xf4, 0x8a, 0xd2, 0x29, 0x4a, 0x23, 0x28, 0x4a, 0x0f, 0x6b, 0xaa, 0x43, + 0x0c, 0x04, 0x91, 0x8d, 0xf0, 0x60, 0x73, 0x17, 0xf7, 0x56, 0xdf, 0x86, + 0x22, 0xc2, 0xf3, 0x17, 0xfa, 0x58, 0x3a, 0xf3, 0x12, 0x46, 0xce, 0x01, + 0xf0, 0x18, 0x94, 0x0d, 0x98, 0xd6, 0x12, 0x7e, 0xfb, 0xd7, 0x52, 0xfc, + 0xe6, 0xe7, 0x67, 0xf0, 0xf6, 0xdd, 0x43, 0xbc, 0xfa, 0xfa, 0x11, 0x7e, + 0xbc, 0x3a, 0xc4, 0x9d, 0x8d, 0x02, 0x07, 0x3d, 0x17, 0xc8, 0xc4, 0xaa, + 0x30, 0x24, 0xe8, 0x36, 0x04, 0x2b, 0x9d, 0x02, 0x17, 0xe7, 0x33, 0x5c, + 0x59, 0x1c, 0xe0, 0xd2, 0xdc, 0x31, 0x96, 0xda, 0x03, 0x34, 0xe2, 0x0c, + 0xde, 0x3b, 0xfc, 0xf5, 0xc3, 0xe7, 0xb0, 0xa7, 0x67, 0x83, 0xd7, 0x9b, + 0x08, 0xa0, 0x20, 0xfc, 0x50, 0x21, 0xe6, 0x13, 0x0d, 0x1e, 0x02, 0x05, + 0xc6, 0x86, 0x54, 0x42, 0x47, 0x75, 0x98, 0xa8, 0x82, 0x7c, 0x5d, 0x39, + 0x8e, 0x2d, 0x3b, 0x86, 0x3f, 0x04, 0x50, 0x78, 0xef, 0x27, 0x3d, 0xe1, + 0x28, 0x8a, 0x14, 0x40, 0x96, 0x5a, 0xdd, 0x8f, 0x23, 0x5b, 0x8a, 0x92, + 0x50, 0x38, 0x91, 0x4d, 0xd2, 0xd0, 0x71, 0xe5, 0xb3, 0x2a, 0xbc, 0xb1, + 0x06, 0xba, 0x1e, 0x4d, 0x46, 0x7f, 0x54, 0x3c, 0x1a, 0xcd, 0x19, 0xd8, + 0xc6, 0x0c, 0xf2, 0x5e, 0x06, 0x32, 0x76, 0x5c, 0x17, 0x0f, 0x5e, 0x20, + 0x28, 0x45, 0x51, 0x7a, 0x85, 0xb3, 0xa1, 0x60, 0x56, 0x7a, 0x0d, 0x96, + 0xef, 0x18, 0x05, 0x7b, 0x44, 0x86, 0x60, 0x0d, 0x81, 0xd9, 0x8f, 0x99, + 0x6b, 0xca, 0x0a, 0x49, 0x18, 0x37, 0x6f, 0xad, 0xe2, 0x70, 0x7f, 0x0f, + 0xb1, 0x65, 0x7c, 0xfe, 0x1a, 0x80, 0xd6, 0x79, 0x48, 0x31, 0x02, 0xc3, + 0x83, 0x11, 0xe0, 0xea, 0xd8, 0x75, 0xc0, 0x30, 0x78, 0xf2, 0x52, 0x84, + 0x2b, 0x97, 0x12, 0xa0, 0xe8, 0xc1, 0x8d, 0xfa, 0xc8, 0x86, 0x23, 0x94, + 0xc5, 0x00, 0xea, 0x73, 0x18, 0x64, 0x88, 0xcd, 0x08, 0xc6, 0x0c, 0x60, + 0x4d, 0x1f, 0xe2, 0x1d, 0x8a, 0x5c, 0x50, 0x64, 0x80, 0xcb, 0x19, 0x7b, + 0xfb, 0x2d, 0x6c, 0x0c, 0xe6, 0xb1, 0xb6, 0x6f, 0x11, 0x59, 0xd4, 0xcd, + 0x89, 0x2a, 0x29, 0x31, 0x53, 0x8c, 0xe9, 0x50, 0xae, 0x1e, 0x93, 0x90, + 0xc7, 0x1c, 0x5f, 0xa9, 0x0e, 0xa5, 0x5c, 0x35, 0x67, 0x08, 0xaa, 0x90, + 0x24, 0x32, 0xce, 0xc8, 0x68, 0x9f, 0x88, 0xb2, 0x7a, 0xa9, 0xa0, 0x05, + 0x80, 0xb2, 0x2c, 0xd5, 0x5a, 0x9b, 0x1b, 0x5f, 0xec, 0x34, 0xe2, 0x38, + 0xef, 0xe7, 0xaa, 0x13, 0x0f, 0x30, 0x81, 0x66, 0x41, 0x93, 0x59, 0xac, + 0x89, 0xd0, 0x39, 0xd4, 0xbd, 0xab, 0xa7, 0xc4, 0x7b, 0x74, 0x66, 0x17, + 0xe1, 0xc4, 0xc0, 0x95, 0x0e, 0x86, 0x4d, 0x08, 0x44, 0x22, 0x20, 0x09, + 0x3c, 0x1b, 0x6f, 0x04, 0x85, 0x08, 0x4a, 0x2f, 0x28, 0x0d, 0xa1, 0xf4, + 0x84, 0xc2, 0x13, 0x22, 0x2f, 0x30, 0x9e, 0x60, 0x5d, 0xa8, 0x5a, 0xd6, + 0x87, 0x24, 0x05, 0x20, 0x96, 0x61, 0x0b, 0xc1, 0x9b, 0x6f, 0xbc, 0x89, + 0x51, 0xe6, 0xb0, 0xd8, 0x2d, 0xf1, 0xe2, 0xf5, 0x39, 0x08, 0xba, 0x80, + 0x64, 0x55, 0xf4, 0x11, 0x40, 0x1d, 0xac, 0xe6, 0x80, 0xe6, 0xc8, 0x4b, + 0x60, 0x24, 0x31, 0x18, 0x4d, 0x50, 0xa2, 0x30, 0x31, 0x21, 0x1a, 0xe7, + 0x9f, 0x1e, 0x22, 0x05, 0x9c, 0x18, 0x94, 0x2e, 0x86, 0x94, 0x0c, 0x71, + 0x25, 0xb4, 0xf4, 0x30, 0xde, 0xe3, 0x28, 0xeb, 0xe2, 0xe1, 0x68, 0x1e, + 0x07, 0x03, 0x83, 0x28, 0xaa, 0x7b, 0x21, 0x53, 0xe5, 0xe7, 0xf1, 0xcc, + 0x99, 0x42, 0x61, 0x82, 0x77, 0x4b, 0x38, 0xf1, 0x56, 0xa1, 0x60, 0x7c, + 0x46, 0x92, 0x2a, 0x71, 0x81, 0xb2, 0xa6, 0x31, 0xe5, 0xe4, 0xf3, 0x1d, + 0x00, 0x79, 0x9a, 0xa6, 0x13, 0x0f, 0x48, 0x92, 0xc4, 0xab, 0xea, 0x48, + 0x8a, 0xfe, 0x56, 0xab, 0x31, 0x3f, 0xea, 0x65, 0xb9, 0xe7, 0x00, 0x6d, + 0xc4, 0xcc, 0x13, 0xd6, 0x03, 0xd1, 0x58, 0xf6, 0x4a, 0x15, 0xe6, 0x29, + 0x8d, 0x31, 0x88, 0x98, 0x30, 0x33, 0xb7, 0x84, 0x61, 0x9e, 0x87, 0x83, + 0x59, 0xfd, 0xc2, 0x54, 0xa1, 0xa2, 0x20, 0x51, 0xa8, 0x17, 0x14, 0x2c, + 0x28, 0xbc, 0x20, 0xf6, 0x84, 0x82, 0x09, 0x91, 0x23, 0x58, 0x16, 0x30, + 0x13, 0x0c, 0xf9, 0xa9, 0x13, 0xaa, 0x0b, 0xb4, 0xc1, 0xd4, 0x62, 0xb0, + 0x77, 0x8c, 0x3b, 0xb7, 0xdf, 0x42, 0xa9, 0x11, 0xae, 0x9d, 0xde, 0xc5, + 0x53, 0x17, 0x9e, 0x45, 0x96, 0x03, 0x2a, 0x45, 0xd5, 0x0c, 0x72, 0x20, + 0x2d, 0x00, 0x2d, 0x00, 0x29, 0x40, 0x9a, 0xc3, 0x22, 0x03, 0x34, 0x03, + 0xa4, 0x00, 0xd4, 0x41, 0xd4, 0x83, 0x44, 0xa0, 0xea, 0x40, 0xe2, 0x40, + 0x52, 0x40, 0x9c, 0x03, 0x39, 0x0f, 0x78, 0x01, 0x44, 0xe0, 0x4b, 0xe0, + 0x20, 0xef, 0x62, 0xbd, 0xd7, 0xc6, 0xc8, 0x85, 0xf8, 0x20, 0xd5, 0xc1, + 0xb0, 0xee, 0x89, 0x86, 0x8e, 0x57, 0x9d, 0x54, 0x87, 0xf6, 0x0b, 0x71, + 0x88, 0x79, 0x04, 0xae, 0x3c, 0x41, 0x03, 0x54, 0x55, 0x4b, 0xbe, 0x00, + 0xf5, 0x9d, 0xd8, 0xf4, 0x5d, 0x36, 0xd8, 0x42, 0xd8, 0xe8, 0x38, 0xf6, + 0x00, 0x1d, 0x0c, 0x06, 0x9a, 0xa6, 0x69, 0x39, 0xea, 0x1d, 0x6e, 0xce, + 0x36, 0x17, 0xf7, 0x37, 0xf7, 0xf5, 0x3c, 0x05, 0x76, 0x15, 0x51, 0xdd, + 0x70, 0x1e, 0xd7, 0xbd, 0xab, 0x31, 0x7e, 0xad, 0x78, 0x9a, 0x24, 0x55, + 0x93, 0x5c, 0x90, 0xa4, 0x4d, 0xa4, 0xcd, 0x39, 0xec, 0x1d, 0x67, 0x60, + 0x05, 0xaa, 0xdc, 0x12, 0xea, 0x7d, 0xd5, 0x9a, 0x0b, 0x9f, 0x97, 0x22, + 0xc8, 0xbc, 0x20, 0xf2, 0x0c, 0xcb, 0x0a, 0xe3, 0xa4, 0x82, 0x9c, 0xba, + 0x0a, 0x59, 0xd3, 0x4e, 0x0c, 0xbc, 0x08, 0xd8, 0x5a, 0xac, 0xdf, 0x5d, + 0xc7, 0xf6, 0xd6, 0x43, 0xc0, 0x30, 0x3e, 0x73, 0xb5, 0x40, 0xd2, 0x3d, + 0x8b, 0x5e, 0x79, 0x0c, 0x83, 0x6a, 0xf6, 0x41, 0x1d, 0x48, 0x4b, 0x84, + 0x8d, 0x95, 0x05, 0x08, 0xc1, 0x13, 0xa0, 0x39, 0x48, 0xf3, 0xa0, 0x08, + 0xe4, 0x00, 0xc2, 0xe7, 0xaa, 0x39, 0x20, 0x0e, 0xea, 0x14, 0xea, 0x04, + 0xea, 0x14, 0xe4, 0x05, 0xc3, 0xdc, 0x60, 0xb7, 0x98, 0xc7, 0x9d, 0xfd, + 0x34, 0x58, 0x2e, 0x87, 0xb2, 0x75, 0xb0, 0xfe, 0x09, 0x13, 0x22, 0x90, + 0xf3, 0xc2, 0x78, 0x20, 0xa4, 0xaa, 0x87, 0x52, 0xd5, 0x0f, 0x66, 0x0e, + 0x86, 0x53, 0x91, 0x87, 0x09, 0xa4, 0x44, 0xe4, 0x5a, 0xb1, 0xec, 0xee, + 0x6f, 0x1d, 0xec, 0x10, 0x51, 0x3e, 0x1c, 0x0e, 0x75, 0xcc, 0x8a, 0xe8, + 0x74, 0x3a, 0xea, 0x9c, 0x2b, 0xee, 0xdf, 0xbf, 0xbf, 0x7b, 0xfe, 0x13, + 0xcf, 0x6c, 0x30, 0xe1, 0x1a, 0x01, 0x4d, 0x52, 0x9d, 0x04, 0x14, 0x4c, + 0xb8, 0xf0, 0xd3, 0x1c, 0x94, 0x5a, 0x39, 0x2a, 0x82, 0xce, 0xec, 0x02, + 0x40, 0x31, 0x8a, 0x7c, 0x00, 0x8e, 0xa3, 0xe0, 0xa2, 0x12, 0xc8, 0xaf, + 0x2a, 0x02, 0xf2, 0x02, 0x70, 0xe8, 0x4e, 0xe5, 0x2c, 0x88, 0x9c, 0x84, + 0x91, 0x53, 0x02, 0x4c, 0x75, 0xb2, 0x1e, 0x0f, 0xae, 0x56, 0x61, 0xa3, + 0x74, 0x40, 0x64, 0x15, 0x77, 0x6e, 0xdd, 0x42, 0x7f, 0x98, 0xa1, 0x9d, + 0x00, 0x2f, 0x3f, 0x9b, 0x02, 0xa6, 0x0d, 0x14, 0x07, 0x81, 0xfc, 0x85, + 0x40, 0x83, 0x57, 0x04, 0x25, 0xa0, 0xf6, 0x04, 0xcd, 0x01, 0xc9, 0x01, + 0x64, 0x13, 0xc1, 0x4b, 0x06, 0xad, 0x94, 0x22, 0xa5, 0x87, 0x96, 0x02, + 0xf5, 0x0a, 0xf5, 0x0a, 0x16, 0x8f, 0xe3, 0xac, 0x8d, 0x8d, 0x6c, 0x1e, + 0x1b, 0xc7, 0x16, 0x36, 0xaa, 0x3b, 0x5f, 0x0c, 0x22, 0x3b, 0x3e, 0x95, + 0xd7, 0xd3, 0xf9, 0xa4, 0x81, 0x1b, 0x1a, 0xac, 0x1f, 0xe3, 0xfb, 0x80, + 0x41, 0x0c, 0xa8, 0xaf, 0x4b, 0x1c, 0x92, 0x58, 0xce, 0x1b, 0x9c, 0xad, + 0xef, 0x0e, 0x87, 0x87, 0x00, 0x5c, 0xab, 0xd5, 0x9a, 0x40, 0xd0, 0x9d, + 0x3b, 0x77, 0xf4, 0xe2, 0xc5, 0x8b, 0xa5, 0x88, 0x1c, 0x37, 0x4d, 0x71, + 0xb7, 0x95, 0xc4, 0x23, 0xa7, 0x3a, 0x63, 0x00, 0x33, 0x5d, 0x52, 0x7d, + 0xe7, 0x54, 0xcf, 0x64, 0x6a, 0x45, 0x89, 0xd0, 0x9d, 0x5b, 0xc4, 0x28, + 0x2b, 0x21, 0xde, 0xc3, 0x88, 0x81, 0x4a, 0x38, 0x6d, 0xc2, 0x4f, 0x5a, + 0x82, 0xec, 0x3d, 0xc0, 0x04, 0xc7, 0x84, 0x11, 0x87, 0xb2, 0x35, 0x9f, + 0xa0, 0x9e, 0xd7, 0x43, 0x1d, 0x55, 0xbe, 0x6e, 0x19, 0x66, 0x98, 0xe1, + 0xee, 0xea, 0x4d, 0x14, 0x62, 0xf0, 0xd4, 0xc2, 0x11, 0x9e, 0x7d, 0x6a, + 0x01, 0x45, 0xe9, 0xc0, 0x3a, 0xa8, 0xa3, 0x0f, 0x48, 0x43, 0x0c, 0x00, + 0xca, 0x0a, 0x72, 0xc2, 0x8d, 0x90, 0x55, 0x16, 0x9f, 0x55, 0xc2, 0xcf, + 0x40, 0x9a, 0x41, 0x9d, 0x0b, 0xc2, 0x77, 0x02, 0x2d, 0x3d, 0xc4, 0x09, + 0xc8, 0x09, 0x0e, 0x8a, 0x0e, 0xd6, 0x7a, 0x33, 0xe8, 0xe5, 0x06, 0x71, + 0x14, 0x2c, 0x9f, 0x8c, 0xad, 0x0a, 0x71, 0xe6, 0x1d, 0x3b, 0x8e, 0x48, + 0x69, 0x9c, 0x73, 0x6a, 0x35, 0xd5, 0x29, 0x01, 0xbb, 0x21, 0xe2, 0x43, + 0xda, 0x2b, 0x90, 0x56, 0x62, 0x46, 0xc6, 0x0f, 0x56, 0x89, 0xe8, 0xb8, + 0x28, 0x8a, 0xf2, 0xc1, 0x83, 0x07, 0x27, 0x99, 0x71, 0x45, 0x51, 0xf8, + 0x34, 0x4d, 0x7b, 0x9a, 0x1d, 0xde, 0x9e, 0xed, 0x2c, 0xf5, 0xb6, 0x0e, + 0xcb, 0x53, 0x71, 0x04, 0x55, 0x55, 0xa2, 0x31, 0x3b, 0xa2, 0x3a, 0x7c, + 0x54, 0x6f, 0x3a, 0x50, 0x12, 0x0d, 0xd4, 0x87, 0x34, 0xb1, 0xdd, 0x9a, + 0xc7, 0xd6, 0xf1, 0x08, 0x5c, 0x8f, 0x25, 0x49, 0x70, 0x6b, 0x25, 0x0f, + 0xf5, 0x0c, 0xb0, 0x0f, 0x96, 0xc3, 0xe1, 0xb9, 0xbc, 0x3a, 0x5d, 0xd3, + 0x23, 0x03, 0x17, 0xa2, 0x0a, 0xaf, 0x80, 0x33, 0x82, 0x84, 0x62, 0x94, + 0xbb, 0x7b, 0xd8, 0xda, 0xbc, 0x0f, 0xc7, 0x31, 0x3e, 0x79, 0x71, 0x88, + 0xa5, 0xa5, 0x8b, 0x18, 0x14, 0xc7, 0x60, 0x14, 0xd5, 0xf9, 0x4f, 0x00, + 0xf5, 0xd5, 0xad, 0x04, 0x50, 0x56, 0xf1, 0x20, 0x07, 0xa1, 0xa8, 0xe0, + 0x66, 0x04, 0xc8, 0x28, 0x08, 0xdf, 0x17, 0x90, 0xd2, 0x43, 0x4a, 0x09, + 0x37, 0xa7, 0x80, 0xf3, 0x28, 0x0a, 0xc2, 0x41, 0x39, 0x8b, 0xb5, 0xa3, + 0x16, 0xbc, 0x72, 0xa0, 0x17, 0x1a, 0x3b, 0x6e, 0xc4, 0x6b, 0x8d, 0xff, + 0xd5, 0x41, 0x57, 0x49, 0xab, 0xee, 0x5b, 0xa5, 0x8d, 0x1a, 0x89, 0x24, + 0x90, 0x00, 0xc2, 0x48, 0x2e, 0xa9, 0x80, 0x7c, 0xb7, 0x61, 0x8f, 0xdd, + 0xe0, 0xe0, 0x0e, 0x80, 0x5e, 0x92, 0x24, 0xfe, 0x51, 0x66, 0x5c, 0xbd, + 0x6b, 0x79, 0xb4, 0xb3, 0x79, 0xff, 0xee, 0xc2, 0x99, 0x33, 0x1b, 0x5b, + 0x07, 0xc5, 0x19, 0x02, 0x62, 0x11, 0x35, 0x76, 0x7a, 0xf6, 0x96, 0xc6, + 0xdc, 0x8b, 0x71, 0xb7, 0xcc, 0x2b, 0xd0, 0x6e, 0xcf, 0xc0, 0x46, 0x0d, + 0x0c, 0x47, 0xfb, 0x21, 0x7d, 0x14, 0x99, 0x7c, 0xbf, 0x10, 0x20, 0x1e, + 0xf0, 0x04, 0x25, 0x3f, 0xee, 0xa8, 0x29, 0x39, 0x64, 0xf5, 0xaf, 0x1d, + 0x43, 0x8f, 0x8e, 0x0b, 0x68, 0xa5, 0x01, 0xd8, 0xc6, 0xd8, 0xbf, 0xbf, + 0x86, 0xa3, 0x7e, 0x1f, 0xb1, 0x65, 0xfc, 0xf2, 0x75, 0x05, 0xe2, 0x26, + 0x74, 0x78, 0x58, 0x97, 0x62, 0x2b, 0xbf, 0x0f, 0x94, 0x75, 0xa8, 0x03, + 0x61, 0x02, 0x43, 0xaa, 0x45, 0xc0, 0x7f, 0x1d, 0x01, 0x3a, 0x82, 0xfa, + 0x0c, 0x5a, 0x38, 0x68, 0xee, 0xa1, 0x65, 0xb8, 0x49, 0x29, 0x60, 0xe7, + 0xd1, 0xcb, 0x13, 0xec, 0xe4, 0x73, 0x58, 0x3f, 0x4c, 0x11, 0xd9, 0xaa, + 0xde, 0xc3, 0xa6, 0x2a, 0x45, 0x98, 0xa9, 0x0e, 0x61, 0x2d, 0x7c, 0x9d, + 0x0c, 0xdf, 0x93, 0x8e, 0xcb, 0xd8, 0x44, 0x1c, 0x4a, 0x2c, 0xe1, 0x0c, + 0x20, 0x0c, 0xcd, 0x67, 0xa2, 0x72, 0x6d, 0x67, 0x7d, 0xf7, 0x1e, 0x80, + 0xd1, 0x60, 0x30, 0xd0, 0x60, 0xd9, 0x53, 0xbb, 0x22, 0x9a, 0xcd, 0xa6, + 0x02, 0xc8, 0xf6, 0xf7, 0xf7, 0xb7, 0xae, 0x3e, 0x59, 0xbc, 0x95, 0x44, + 0x74, 0x4d, 0x44, 0x5b, 0xac, 0x6a, 0xaa, 0xc4, 0xbf, 0xda, 0x7e, 0x52, + 0x17, 0xe0, 0xb8, 0xf6, 0x7e, 0x28, 0x80, 0xd9, 0xd9, 0x53, 0x28, 0x9c, + 0xc2, 0x3b, 0x07, 0x1b, 0x47, 0x21, 0xf8, 0xd6, 0x99, 0x53, 0x25, 0x78, + 0xad, 0x60, 0x66, 0x1a, 0x6e, 0x3c, 0x80, 0xe1, 0x94, 0xe5, 0x8b, 0x0d, + 0x25, 0x09, 0x27, 0x0a, 0xeb, 0x80, 0x24, 0x76, 0xd8, 0x58, 0x5f, 0x45, + 0xe6, 0x19, 0xcb, 0xdd, 0x11, 0x5e, 0x7c, 0xba, 0x01, 0xf5, 0x25, 0x48, + 0x07, 0xe1, 0x35, 0x68, 0x3d, 0x75, 0x5f, 0x79, 0x00, 0x1c, 0x08, 0xae, + 0x12, 0x7c, 0x19, 0xd2, 0x54, 0xad, 0xb2, 0x21, 0x9f, 0x43, 0x0b, 0x0f, + 0xc9, 0xa7, 0xac, 0xbf, 0x14, 0x68, 0x29, 0x80, 0xf3, 0x38, 0x2e, 0x3b, + 0x58, 0x1f, 0xce, 0x63, 0x77, 0x10, 0x21, 0x8a, 0x18, 0x64, 0xa2, 0xea, + 0x10, 0xc6, 0x50, 0x0e, 0xe9, 0xf8, 0x78, 0x94, 0x49, 0xa7, 0x09, 0x58, + 0x98, 0x90, 0x93, 0x45, 0x83, 0x68, 0xaa, 0xed, 0x8f, 0x5e, 0x44, 0x1a, + 0x09, 0x0f, 0x1b, 0xe8, 0xbd, 0x59, 0x96, 0xe5, 0x1e, 0x11, 0x15, 0x9d, + 0x4e, 0x67, 0x5c, 0xbb, 0x1c, 0x97, 0xa3, 0xef, 0xdc, 0xb9, 0xa3, 0xcc, + 0xec, 0x00, 0x1c, 0x46, 0xe5, 0xe1, 0x6b, 0x0b, 0x33, 0xcd, 0x83, 0x52, + 0xbc, 0x03, 0x54, 0x45, 0x74, 0x5c, 0x7c, 0x9a, 0xae, 0x90, 0xd6, 0xd4, + 0x3c, 0x32, 0x11, 0xe6, 0xba, 0x0b, 0xe8, 0x0f, 0xf3, 0xa0, 0x1c, 0x11, + 0xa8, 0xf3, 0x20, 0xe7, 0xc0, 0xce, 0x07, 0x52, 0x56, 0x5d, 0x74, 0x9b, + 0x2a, 0xc2, 0xb1, 0x08, 0x8c, 0xf7, 0x80, 0x73, 0x18, 0x39, 0x87, 0x7e, + 0xe9, 0xd1, 0x2f, 0x3d, 0x86, 0xa5, 0x60, 0x58, 0x7a, 0x0c, 0xbd, 0x22, + 0xeb, 0xf7, 0xb1, 0xb3, 0xfd, 0x00, 0x8e, 0x1b, 0xb8, 0x76, 0x7a, 0x80, + 0x27, 0xcf, 0xb4, 0x91, 0x17, 0x47, 0x60, 0x1d, 0x82, 0x64, 0x00, 0xd2, + 0x01, 0x48, 0xfb, 0x20, 0x1d, 0x02, 0xd5, 0x4d, 0x65, 0x00, 0xf8, 0x01, + 0x20, 0x7d, 0xa8, 0x0e, 0x40, 0x32, 0x04, 0x5c, 0x06, 0xcd, 0xa7, 0x85, + 0xef, 0xa1, 0x85, 0x8c, 0xe3, 0x80, 0x2b, 0x09, 0xfb, 0xe5, 0x2c, 0x6e, + 0x1f, 0x74, 0x90, 0x89, 0x81, 0xad, 0xda, 0x8f, 0x34, 0x86, 0xa1, 0xe0, + 0x0d, 0x3c, 0x3e, 0x13, 0xd4, 0x9d, 0xfb, 0x09, 0x75, 0x07, 0x53, 0x07, + 0x56, 0xa9, 0xe0, 0xc7, 0x8b, 0xba, 0xf9, 0xb6, 0xd9, 0xf7, 0xc3, 0x9d, + 0xd7, 0x88, 0xe8, 0xa0, 0x28, 0x8a, 0xf2, 0xf6, 0xed, 0xdb, 0x8f, 0x1d, + 0xd0, 0xd0, 0x7e, 0xbf, 0xef, 0x1b, 0x8d, 0x46, 0xef, 0xfe, 0xda, 0xdb, + 0x37, 0x56, 0x2e, 0x9d, 0xbe, 0xbb, 0x75, 0xa8, 0xa7, 0x09, 0x1a, 0xab, + 0x88, 0x99, 0x66, 0xc3, 0x4d, 0xd6, 0x68, 0x04, 0x38, 0x6a, 0x34, 0x9a, + 0x48, 0x93, 0x16, 0x8e, 0x37, 0xf7, 0xc0, 0xd5, 0x40, 0xb6, 0x8f, 0x63, + 0xe4, 0x69, 0x8c, 0x61, 0x64, 0x91, 0x31, 0x87, 0x0a, 0xa7, 0x78, 0x68, + 0x56, 0x56, 0xe5, 0x6d, 0x8b, 0x28, 0x8a, 0x90, 0x46, 0x16, 0xcd, 0x04, + 0x88, 0x89, 0x50, 0x00, 0x70, 0xaa, 0x28, 0xab, 0x15, 0x06, 0x69, 0x9a, + 0x60, 0x70, 0xb8, 0x83, 0xde, 0xb0, 0x0f, 0xd8, 0x08, 0x9f, 0xbb, 0x5a, + 0x20, 0x6e, 0xcf, 0x60, 0x38, 0x3a, 0x80, 0x99, 0x10, 0x71, 0x02, 0xef, + 0x07, 0x75, 0x10, 0x0e, 0x30, 0x54, 0xc3, 0x0f, 0x49, 0x09, 0x75, 0x2e, + 0x58, 0x7a, 0xe1, 0xab, 0xfb, 0x70, 0x93, 0x22, 0x64, 0x41, 0x28, 0x3d, + 0xb2, 0x32, 0xc6, 0x76, 0x31, 0x8b, 0xbb, 0x47, 0xcd, 0x40, 0x3c, 0xe0, + 0x28, 0x14, 0xe0, 0x38, 0xc4, 0x00, 0xad, 0xfb, 0x22, 0x55, 0x0f, 0xbc, + 0x2e, 0x41, 0x6b, 0xc5, 0x1d, 0x1a, 0xa7, 0x9f, 0x95, 0x57, 0xaa, 0x17, + 0x00, 0x2a, 0xc6, 0x60, 0x34, 0x1b, 0x0d, 0x6e, 0x3e, 0xbc, 0xb3, 0xf1, + 0xb6, 0xaa, 0x0e, 0xca, 0xb2, 0x94, 0x77, 0x1d, 0x51, 0xea, 0x74, 0x3a, + 0x5a, 0x96, 0x2e, 0xeb, 0xf7, 0xfb, 0x1b, 0xe7, 0xed, 0xe0, 0xbb, 0xed, + 0x46, 0x72, 0x3d, 0xf3, 0xd2, 0xb4, 0x46, 0x19, 0x02, 0x22, 0x5b, 0x67, + 0x42, 0x01, 0xe3, 0x98, 0x42, 0x0d, 0x67, 0xb1, 0xd3, 0x85, 0x0a, 0xc1, + 0x19, 0x06, 0x66, 0xe7, 0xd0, 0x33, 0x8c, 0x91, 0x77, 0x70, 0xf9, 0x10, + 0xd4, 0x1b, 0x22, 0x2e, 0x33, 0x18, 0x9f, 0x07, 0x4f, 0x80, 0x42, 0x89, + 0xe0, 0x88, 0xe1, 0x4c, 0x8c, 0x9e, 0x6d, 0xe2, 0x30, 0x9d, 0x41, 0xd4, + 0xea, 0xa2, 0x3b, 0xd3, 0x46, 0xab, 0x11, 0x43, 0x55, 0x31, 0x02, 0x70, + 0x2a, 0x8e, 0x71, 0xbc, 0xbb, 0x81, 0xa1, 0x32, 0x66, 0x9a, 0x0e, 0x9f, + 0x7f, 0x1a, 0xc1, 0xc2, 0xfd, 0x21, 0x54, 0xed, 0x54, 0x3b, 0x47, 0x02, + 0x98, 0x55, 0x10, 0xa4, 0xea, 0x00, 0x71, 0xe1, 0xc4, 0xeb, 0x04, 0x52, + 0x5b, 0x7a, 0x85, 0xf7, 0x5a, 0x56, 0xc2, 0x2f, 0x3c, 0xa4, 0x04, 0xd8, + 0x29, 0xfa, 0x65, 0x13, 0x1b, 0xf9, 0x2c, 0x36, 0x87, 0x4d, 0x44, 0x31, + 0x43, 0xd9, 0x22, 0x74, 0x68, 0x43, 0x26, 0xc4, 0x6c, 0x26, 0xd4, 0xb3, + 0x9a, 0xf5, 0x30, 0x1e, 0x02, 0xaa, 0x9b, 0xf0, 0x0a, 0x62, 0x03, 0x5f, + 0x96, 0xe1, 0x68, 0xe8, 0xd5, 0x75, 0x1b, 0x74, 0x18, 0x17, 0xbb, 0xaf, + 0xaa, 0xea, 0xb6, 0x88, 0xe6, 0x9b, 0x9b, 0x9b, 0xf2, 0xae, 0x43, 0x7a, + 0xb7, 0x6e, 0xdd, 0xd2, 0xab, 0x57, 0x9f, 0x29, 0x55, 0xfd, 0xc1, 0x70, + 0x7f, 0xed, 0xfb, 0x67, 0x17, 0x3e, 0xf1, 0x2b, 0x37, 0x36, 0xb2, 0xf9, + 0x28, 0xe1, 0x48, 0xbc, 0x37, 0x36, 0x14, 0x46, 0x2a, 0x37, 0x0b, 0xcd, + 0x78, 0x12, 0xc1, 0xe2, 0xd2, 0x22, 0x8e, 0x1a, 0x29, 0x8e, 0x9b, 0x31, + 0x74, 0xd4, 0x03, 0x86, 0xc7, 0x68, 0x95, 0x19, 0x22, 0x2d, 0x43, 0x29, + 0x99, 0x28, 0xc0, 0x35, 0x13, 0x94, 0x2b, 0xdc, 0x26, 0x0f, 0xc5, 0x08, + 0xf0, 0x23, 0xb8, 0xe1, 0x01, 0x46, 0xa3, 0x14, 0xfb, 0x47, 0xb3, 0x38, + 0xee, 0x2c, 0x60, 0x6e, 0xae, 0x8b, 0x28, 0x8d, 0x61, 0x5c, 0x81, 0xa3, + 0xc3, 0x5d, 0xe4, 0xdc, 0xc2, 0xb3, 0x0b, 0x0f, 0xf1, 0xf1, 0x0b, 0x8a, + 0x32, 0xdf, 0x03, 0xeb, 0x10, 0x2a, 0x66, 0x6a, 0x40, 0x44, 0xc6, 0x81, + 0x58, 0xab, 0x92, 0x87, 0xfa, 0x70, 0xc0, 0x12, 0x27, 0x53, 0xe9, 0x66, + 0xb8, 0x0f, 0x0a, 0xf1, 0xd0, 0x52, 0x21, 0x25, 0x01, 0x0e, 0x38, 0xd2, + 0x0e, 0xee, 0xf6, 0xba, 0x38, 0x2e, 0x22, 0x34, 0x12, 0x0b, 0x35, 0xb6, + 0xe6, 0xf3, 0x80, 0xea, 0x3a, 0x50, 0xe5, 0xf1, 0x5a, 0xb3, 0x1e, 0x6a, + 0xec, 0x17, 0xad, 0xa6, 0x82, 0x42, 0x47, 0x58, 0xbc, 0x80, 0x42, 0x19, + 0x20, 0x5b, 0x69, 0xbb, 0xd5, 0xe3, 0x07, 0x0f, 0x7e, 0x00, 0xe0, 0x30, + 0x8a, 0x6c, 0xf9, 0x5e, 0x73, 0xc2, 0x0a, 0x88, 0x38, 0x27, 0x83, 0xbb, + 0x77, 0xef, 0xad, 0x5e, 0x7f, 0xf1, 0xca, 0xab, 0xeb, 0x89, 0xbd, 0xe0, + 0xbc, 0x4b, 0x2d, 0x1b, 0x86, 0x82, 0xc8, 0x98, 0xa9, 0x8d, 0x2f, 0x04, + 0x6b, 0x09, 0x9b, 0x07, 0xc7, 0x38, 0xde, 0x3a, 0x44, 0xd4, 0xeb, 0x21, + 0xae, 0x4a, 0x0a, 0x9a, 0xc6, 0xd5, 0x30, 0x44, 0x45, 0x0e, 0x18, 0x8f, + 0xf7, 0x57, 0xbc, 0x31, 0x9e, 0x4c, 0xa7, 0x1b, 0x08, 0x3a, 0x10, 0xb4, + 0xf5, 0x00, 0xc3, 0xe3, 0x3e, 0x76, 0x07, 0x5d, 0xa4, 0xb3, 0xcb, 0xb8, + 0xc4, 0x09, 0x36, 0xf3, 0x21, 0x4a, 0xdb, 0xc2, 0x2f, 0x5d, 0x18, 0x62, + 0xae, 0xa3, 0x18, 0x0c, 0x0f, 0xc6, 0x15, 0xd9, 0xe9, 0x21, 0x41, 0x55, + 0x00, 0x5e, 0xc7, 0x87, 0x3e, 0x75, 0x0a, 0x78, 0x0d, 0x0a, 0x70, 0x02, + 0x94, 0xd3, 0xca, 0x50, 0x48, 0xa9, 0x01, 0xa9, 0x4a, 0x45, 0xe9, 0x0c, + 0x0e, 0xb4, 0x8b, 0x3b, 0xc7, 0xb3, 0xf0, 0x6c, 0x41, 0x36, 0x82, 0x1a, + 0x3b, 0x26, 0x5f, 0x05, 0x05, 0x4c, 0xf1, 0xe2, 0xa1, 0x15, 0x59, 0x0d, + 0x10, 0x5f, 0x71, 0x26, 0x29, 0x14, 0xe4, 0xbc, 0x08, 0x00, 0xd5, 0xd2, + 0x8b, 0x6b, 0xa7, 0x38, 0x6c, 0xcb, 0xee, 0x2b, 0x77, 0x8f, 0x87, 0xeb, + 0x44, 0xdc, 0x0f, 0xa1, 0xe1, 0x3d, 0xe6, 0x84, 0x6f, 0xde, 0xbc, 0xa9, + 0x17, 0x2e, 0x3c, 0x59, 0x10, 0x99, 0xad, 0x62, 0xef, 0xee, 0xb7, 0xce, + 0x2d, 0x7e, 0xec, 0xc5, 0x5b, 0x1b, 0x45, 0xd7, 0x46, 0x89, 0xf5, 0xde, + 0x9b, 0x28, 0x8a, 0xc7, 0x8d, 0x6d, 0x05, 0x81, 0x8d, 0xc1, 0x61, 0x6f, + 0x08, 0x43, 0x84, 0x46, 0x23, 0x9d, 0xec, 0x6f, 0x1b, 0xa7, 0xad, 0x93, + 0x66, 0xf8, 0xb8, 0xe7, 0xcc, 0x93, 0xaf, 0x8d, 0xd9, 0xa4, 0xd5, 0xe0, + 0x5d, 0x93, 0x3c, 0x12, 0xd7, 0xc3, 0xe8, 0xd8, 0xe1, 0x81, 0x8f, 0x31, + 0xe2, 0x04, 0x51, 0xe2, 0xf0, 0xd2, 0x53, 0x39, 0x50, 0x16, 0x70, 0xfd, + 0x0c, 0xc6, 0x46, 0xef, 0x5c, 0x0e, 0x22, 0x08, 0x69, 0x9f, 0x54, 0x4a, + 0x98, 0xf2, 0x02, 0x75, 0x12, 0x94, 0x51, 0x7b, 0x42, 0x15, 0x26, 0xc4, + 0x11, 0xa8, 0xf4, 0x18, 0x69, 0x1b, 0x1b, 0xe5, 0x1c, 0xd6, 0xfa, 0x33, + 0x88, 0x22, 0x0b, 0x35, 0x27, 0xf1, 0x9f, 0xaa, 0xf6, 0xe3, 0x24, 0xfd, + 0xa9, 0xfe, 0x1e, 0x85, 0x69, 0xce, 0xe0, 0x01, 0x1c, 0x28, 0x90, 0xce, + 0x05, 0x35, 0xa9, 0x64, 0x2b, 0xed, 0x72, 0x75, 0xb0, 0xb9, 0xfa, 0x1d, + 0x22, 0xda, 0xc9, 0xb2, 0x51, 0xb9, 0xb6, 0xb6, 0xf6, 0xbe, 0x26, 0xe5, + 0x35, 0x4d, 0x63, 0xaf, 0x40, 0xff, 0xce, 0xea, 0xea, 0xcd, 0x6b, 0x9f, + 0x7a, 0xf2, 0x9b, 0x1b, 0x69, 0x7a, 0x26, 0x77, 0x3e, 0xb1, 0x1c, 0xb1, + 0x88, 0x92, 0xb1, 0x61, 0x40, 0x81, 0x2b, 0xa1, 0x9a, 0xf1, 0xae, 0x9e, + 0x49, 0x8a, 0x49, 0x63, 0xc6, 0xc0, 0x98, 0x68, 0x83, 0x13, 0xcc, 0x27, + 0x9e, 0x2c, 0xdf, 0xd3, 0xf1, 0x4a, 0xcb, 0x40, 0xa4, 0xe5, 0x48, 0xd0, + 0x52, 0x87, 0x43, 0x3f, 0x40, 0x69, 0x67, 0x70, 0x76, 0xee, 0x21, 0x5e, + 0xba, 0x70, 0x84, 0xec, 0xb8, 0x07, 0xcd, 0x3c, 0xc4, 0xd0, 0x3b, 0x37, + 0x2e, 0x56, 0x8d, 0x9f, 0xa0, 0x04, 0x8c, 0x15, 0x00, 0x1f, 0x2c, 0x1f, + 0x4e, 0x21, 0xbe, 0xb2, 0x7a, 0x5f, 0x2b, 0x00, 0xe0, 0x52, 0xd1, 0xb3, + 0x2d, 0xac, 0x8f, 0xe6, 0x71, 0x50, 0xb6, 0x10, 0xc5, 0xd1, 0x09, 0x05, + 0x4c, 0x13, 0x70, 0xc7, 0xed, 0x47, 0xa9, 0xca, 0x9d, 0x54, 0x41, 0x4f, + 0xa5, 0x08, 0x2d, 0x05, 0xaa, 0xd0, 0xd2, 0x49, 0x39, 0x9b, 0xea, 0xfe, + 0xac, 0xdf, 0xfc, 0xda, 0xdd, 0xc3, 0xfe, 0x1d, 0x55, 0x1a, 0xa4, 0x69, + 0xea, 0xdf, 0xf7, 0xae, 0x88, 0xb7, 0xde, 0x7a, 0x4b, 0x2f, 0x5c, 0xb8, + 0x90, 0x37, 0x9b, 0xcd, 0xcd, 0xe3, 0x8d, 0xb7, 0xbe, 0x7e, 0x69, 0xe9, + 0xd3, 0x2f, 0xfc, 0xe8, 0x41, 0xd9, 0xb5, 0x9c, 0x44, 0xe2, 0xbc, 0x31, + 0x51, 0x3c, 0xa6, 0x91, 0xf0, 0x74, 0xb7, 0x9f, 0x27, 0x63, 0x4b, 0x74, + 0x42, 0xd0, 0x15, 0xe4, 0xd4, 0xab, 0xc6, 0x28, 0x0c, 0xf5, 0x69, 0x7d, + 0xaa, 0xa6, 0xe9, 0x89, 0x7b, 0x09, 0xb5, 0x1d, 0x11, 0xb0, 0x3a, 0x68, + 0xa9, 0x48, 0x5b, 0x2d, 0xac, 0xde, 0xe9, 0xc1, 0x36, 0x77, 0xd0, 0x9e, + 0xb5, 0x40, 0xe9, 0xc6, 0x2b, 0x0a, 0x68, 0x7a, 0x3a, 0x5f, 0xaa, 0x1e, + 0x45, 0x9d, 0x85, 0x54, 0x35, 0x1e, 0xf1, 0x1a, 0x92, 0x23, 0x09, 0xe7, + 0x41, 0x2d, 0x2b, 0x05, 0x94, 0x0a, 0x45, 0x84, 0x03, 0x9e, 0xc7, 0xdd, + 0xe1, 0x3c, 0x0a, 0x4e, 0xd1, 0x8a, 0x0c, 0xd4, 0xc4, 0x93, 0x14, 0xb4, + 0x2a, 0xc0, 0x11, 0x78, 0x4c, 0xbe, 0xad, 0xe1, 0x27, 0xec, 0x9e, 0x0e, + 0x1c, 0x50, 0x11, 0xc0, 0x3b, 0x87, 0xe0, 0x87, 0x32, 0x3c, 0xd3, 0x1a, + 0xbc, 0xb1, 0xbb, 0x76, 0xe7, 0x1b, 0xd6, 0xda, 0xed, 0xc1, 0x60, 0x90, + 0xaf, 0xae, 0xae, 0xfe, 0x54, 0xdb, 0x52, 0xb4, 0xd1, 0x68, 0x78, 0x55, + 0xea, 0x6d, 0x6c, 0x6c, 0xdc, 0xbc, 0xbe, 0xbc, 0xf3, 0xe5, 0xc5, 0xce, + 0xd2, 0xb9, 0xfd, 0xac, 0x4c, 0xd2, 0x46, 0xd2, 0xf0, 0x5e, 0xd8, 0x26, + 0x71, 0x25, 0x74, 0x9e, 0x34, 0x6c, 0xd8, 0x4c, 0x94, 0xc0, 0x3c, 0xa1, + 0x4d, 0xd4, 0x93, 0xee, 0xe3, 0x89, 0xf7, 0x8a, 0xbe, 0x4d, 0xd3, 0x50, + 0x34, 0x95, 0xd1, 0xa8, 0x54, 0x1d, 0x34, 0x8f, 0x34, 0x72, 0x78, 0x58, + 0x9e, 0xc5, 0x7f, 0xf5, 0xfd, 0x7f, 0x82, 0x2f, 0xcd, 0x7d, 0x15, 0xbf, + 0x75, 0xe6, 0x07, 0xb8, 0xb8, 0x34, 0x40, 0x1c, 0x33, 0xe0, 0x29, 0x08, + 0xf4, 0xd1, 0x41, 0x71, 0xd1, 0x60, 0xe5, 0x15, 0x2c, 0x55, 0xc9, 0x11, + 0xa4, 0xce, 0x50, 0x7d, 0xf8, 0xfb, 0x1a, 0x0b, 0xb4, 0xd5, 0x84, 0x35, + 0x6d, 0xdc, 0x19, 0x2c, 0x80, 0xe3, 0x04, 0x1a, 0x31, 0x88, 0xa3, 0xaa, + 0xfd, 0x68, 0xc1, 0xa8, 0xd2, 0x4f, 0x0d, 0x03, 0x18, 0xe3, 0x2e, 0x1f, + 0x26, 0x46, 0xa6, 0xc4, 0xf0, 0xa5, 0x03, 0x81, 0xa4, 0xf0, 0x3e, 0x5b, + 0x69, 0xcb, 0x56, 0x73, 0xb4, 0xf6, 0x6f, 0xf7, 0x46, 0xf9, 0x5d, 0x55, + 0xf4, 0xe3, 0x38, 0x7e, 0xd7, 0x8d, 0xeb, 0x3f, 0x69, 0x41, 0x0b, 0x9d, + 0x3d, 0x7b, 0x96, 0x5b, 0xad, 0xd6, 0x6c, 0x92, 0x24, 0xd7, 0x9e, 0xfc, + 0xe4, 0x6f, 0xfc, 0x17, 0xdf, 0x5e, 0xe7, 0x2f, 0x9a, 0xa4, 0xb5, 0xc0, + 0x26, 0x8e, 0xa3, 0x46, 0x33, 0x40, 0x11, 0xd7, 0x84, 0xdd, 0xc9, 0x5a, + 0x01, 0xaa, 0xe6, 0xa6, 0xb4, 0xda, 0xf3, 0x20, 0x54, 0x51, 0x8f, 0x89, + 0xa1, 0x86, 0xaa, 0x9c, 0xba, 0xca, 0x8a, 0xaa, 0x38, 0x20, 0x34, 0x19, + 0xa0, 0x1b, 0xef, 0x9a, 0x50, 0x0f, 0x52, 0x0f, 0x88, 0x0b, 0x9d, 0x33, + 0xe7, 0x70, 0x8d, 0x6e, 0xe1, 0x37, 0xbb, 0xaf, 0xe0, 0xef, 0x9f, 0xbe, + 0x81, 0x0b, 0xf3, 0xc7, 0x48, 0x23, 0x05, 0x1c, 0xc3, 0x17, 0x95, 0x80, + 0xeb, 0xb2, 0x50, 0x55, 0x9d, 0xd0, 0xc9, 0xdc, 0x50, 0x80, 0x09, 0x43, + 0x10, 0x06, 0x06, 0x62, 0xf0, 0x60, 0x38, 0x83, 0x1f, 0x1e, 0x3c, 0x81, + 0xaf, 0x1f, 0x3d, 0x8f, 0xef, 0x67, 0xd7, 0x01, 0x4e, 0xc2, 0x41, 0x8b, + 0xa3, 0x71, 0xe6, 0x53, 0xff, 0xa3, 0x31, 0xed, 0x53, 0x21, 0x12, 0x2e, + 0x55, 0x03, 0xf1, 0x50, 0xf1, 0x28, 0xf3, 0x0c, 0x65, 0x96, 0xa9, 0x2f, + 0xf3, 0xc2, 0xca, 0x60, 0xf7, 0xd9, 0xe6, 0x83, 0x7f, 0xb3, 0xfe, 0xe6, + 0x2b, 0x7f, 0x28, 0xa2, 0x37, 0x8f, 0x8e, 0x0e, 0x8f, 0x1e, 0x3c, 0x78, + 0xf0, 0xd8, 0x85, 0x4d, 0xef, 0xb5, 0xb6, 0x52, 0x1f, 0x3c, 0x78, 0x20, + 0x97, 0x2f, 0x5f, 0xed, 0x8b, 0xc8, 0x9a, 0xee, 0xbd, 0xf9, 0x97, 0x57, + 0x96, 0x5e, 0xb8, 0xf8, 0xe6, 0x76, 0xd1, 0x68, 0xb6, 0x22, 0xe3, 0x9c, + 0xb3, 0x26, 0xaa, 0xe9, 0x7a, 0x5c, 0xbd, 0xf0, 0x9a, 0xb8, 0x54, 0xb3, + 0xdc, 0x68, 0x42, 0xcf, 0x66, 0x3e, 0xe1, 0x09, 0x35, 0x24, 0xe9, 0xd4, + 0x22, 0xa6, 0x50, 0x47, 0x99, 0xd4, 0x77, 0x58, 0x7d, 0xd5, 0xd0, 0xf1, + 0x48, 0xa5, 0x80, 0x0a, 0xe1, 0xa6, 0xbb, 0x8e, 0x9b, 0x47, 0x97, 0xf1, + 0x67, 0x47, 0x6b, 0x78, 0xa9, 0xf9, 0x1a, 0x5e, 0x9c, 0xbf, 0x8d, 0x2b, + 0xf3, 0xdb, 0x58, 0x6a, 0x0e, 0xd1, 0x48, 0x1d, 0x8c, 0x68, 0x38, 0x12, + 0x48, 0xa8, 0xd7, 0x7b, 0x0f, 0x94, 0xc2, 0x28, 0x94, 0x71, 0x58, 0xa4, + 0xd8, 0x18, 0xce, 0xe0, 0xd6, 0xd1, 0x32, 0x7e, 0x70, 0x7c, 0x01, 0x3f, + 0x1a, 0x5c, 0xc6, 0x43, 0x7f, 0x1a, 0x62, 0x52, 0x34, 0x22, 0xc0, 0x8c, + 0x31, 0x3f, 0xf0, 0x7f, 0xea, 0x11, 0xd7, 0xb1, 0xf5, 0x8f, 0xfb, 0xbb, + 0x3a, 0xb6, 0x7c, 0x51, 0x17, 0x02, 0xaf, 0x8a, 0xf7, 0xae, 0x1c, 0x5e, + 0xee, 0x0c, 0xde, 0x1a, 0x6d, 0xbe, 0xf9, 0x97, 0x44, 0x74, 0xbf, 0x28, + 0xb2, 0xc1, 0xbb, 0x09, 0xff, 0xfd, 0xee, 0x8c, 0xd3, 0x24, 0x89, 0x4a, + 0x80, 0x0e, 0x56, 0x57, 0x57, 0x7f, 0x74, 0xfd, 0xf9, 0x95, 0xbf, 0xd8, + 0x9f, 0x39, 0x37, 0xbf, 0x3b, 0x2c, 0x2f, 0xa4, 0x36, 0x69, 0x38, 0xe7, + 0x4c, 0x6c, 0xa3, 0x71, 0xb5, 0x30, 0x94, 0x25, 0x2a, 0xd2, 0x2a, 0x57, + 0xd0, 0x63, 0x26, 0x94, 0x43, 0x35, 0x5c, 0xc5, 0x83, 0x89, 0x02, 0x98, + 0x08, 0x52, 0x0d, 0xc2, 0xe9, 0x89, 0xd5, 0x6e, 0x5a, 0x95, 0x98, 0x83, + 0x95, 0x41, 0x23, 0x90, 0x38, 0xb4, 0x6c, 0x01, 0x8d, 0x09, 0xf7, 0xdc, + 0xd3, 0x58, 0xcd, 0x2e, 0xe3, 0xcf, 0xd6, 0x8f, 0xb1, 0x72, 0x7f, 0x1b, + 0x4f, 0x44, 0x9b, 0x78, 0x22, 0xdd, 0xc1, 0x62, 0x7c, 0x88, 0x96, 0xcd, + 0xc7, 0x68, 0x36, 0x74, 0x11, 0xf6, 0x8a, 0x0e, 0x1e, 0x64, 0x73, 0xb8, + 0x9f, 0x9f, 0xc2, 0x46, 0x39, 0x8f, 0x03, 0xe9, 0xa2, 0xa4, 0x14, 0xb1, + 0x25, 0xa4, 0x71, 0xd8, 0x86, 0x12, 0xe6, 0x61, 0xab, 0x8c, 0x87, 0xcc, + 0x98, 0x3a, 0x59, 0xc1, 0x7c, 0x55, 0xfd, 0x9c, 0xda, 0x1a, 0x57, 0x91, + 0x05, 0x7c, 0x51, 0x82, 0xa0, 0xbe, 0x70, 0x3e, 0x3b, 0xdd, 0x72, 0x0f, + 0xda, 0xc3, 0x1b, 0x7f, 0xbe, 0x7e, 0x70, 0xfc, 0x86, 0x2a, 0x0e, 0xe3, + 0x38, 0x2e, 0xdf, 0x6b, 0x6b, 0xe2, 0xfb, 0xd9, 0x92, 0x46, 0x4f, 0x3c, + 0xf1, 0x04, 0x77, 0xbb, 0xb3, 0x5d, 0x22, 0x5c, 0xb9, 0xfa, 0xe9, 0x7f, + 0xf0, 0x8f, 0xbf, 0xbb, 0xdd, 0xf9, 0xad, 0x92, 0x9b, 0xcb, 0x36, 0x4e, + 0x53, 0x9b, 0xa6, 0x6c, 0xd3, 0x30, 0xd5, 0x44, 0xc6, 0x4c, 0xea, 0x23, + 0x95, 0xf0, 0x85, 0x69, 0xac, 0x1c, 0xad, 0x88, 0xf7, 0x52, 0xc1, 0x53, + 0xad, 0x08, 0x9a, 0xca, 0x8a, 0xea, 0x98, 0x40, 0xf5, 0xa8, 0x77, 0x85, + 0x27, 0xa2, 0x3e, 0x14, 0xb8, 0x24, 0x80, 0x39, 0x89, 0x83, 0x7a, 0x07, + 0x2f, 0x82, 0xd2, 0x87, 0x11, 0x53, 0x71, 0x1e, 0x24, 0x3e, 0x04, 0xef, + 0x8a, 0x8d, 0xe1, 0xc9, 0x40, 0x74, 0x12, 0x8f, 0x22, 0xd2, 0x30, 0x8c, + 0x41, 0x81, 0x96, 0xa2, 0x95, 0xb5, 0xd7, 0x35, 0x1e, 0xae, 0xa8, 0x84, + 0x5c, 0x0d, 0x9a, 0xd4, 0xb0, 0xc3, 0x55, 0x80, 0x27, 0x55, 0x90, 0x04, + 0xcf, 0x2c, 0x46, 0x43, 0x48, 0x91, 0x4b, 0x9e, 0x8d, 0xb2, 0x16, 0x0d, + 0x36, 0xaf, 0xf2, 0x5b, 0xff, 0xea, 0xde, 0xcd, 0xef, 0xff, 0xb1, 0x08, + 0x6e, 0x1d, 0x1e, 0xee, 0xf7, 0xee, 0xdf, 0xbf, 0xff, 0x13, 0xad, 0xff, + 0xfd, 0x6e, 0xce, 0xd5, 0xf5, 0xf5, 0x75, 0x49, 0x92, 0xa4, 0x97, 0xa6, + 0xe9, 0xda, 0xe6, 0x5b, 0xdf, 0xfa, 0xf3, 0x8f, 0x3f, 0xf3, 0xab, 0xa7, + 0x5e, 0xdd, 0x2c, 0x5e, 0x16, 0x89, 0x4e, 0x89, 0x93, 0x58, 0x9c, 0x67, + 0x4e, 0xa2, 0xc9, 0xc8, 0x0e, 0x4f, 0xe6, 0x67, 0x27, 0x9c, 0xef, 0xfa, + 0x39, 0x02, 0x0c, 0x9f, 0xf4, 0x92, 0x6a, 0x2b, 0x56, 0x1d, 0xa0, 0x83, + 0x12, 0xb4, 0x4a, 0x6c, 0x2d, 0x48, 0x05, 0x5c, 0x83, 0x7b, 0x85, 0xbb, + 0xa8, 0x6e, 0x2c, 0x0e, 0x51, 0x8d, 0xc7, 0x6a, 0xa0, 0x22, 0x10, 0x8d, + 0x43, 0xf0, 0xd5, 0xba, 0x64, 0x5c, 0xf7, 0x70, 0x83, 0x5a, 0x45, 0x19, + 0x52, 0x67, 0x36, 0xd3, 0xdc, 0x57, 0x70, 0x35, 0xff, 0x16, 0x1a, 0x2d, + 0xe3, 0x9d, 0x20, 0x52, 0x67, 0x3b, 0xf5, 0x13, 0x0c, 0x57, 0xe6, 0x50, + 0xaf, 0xe2, 0xbc, 0x2f, 0x62, 0xca, 0xf7, 0x2f, 0x27, 0x0f, 0xbe, 0xfe, + 0xe0, 0xc6, 0x8f, 0xfe, 0x82, 0x99, 0xd7, 0x86, 0xc3, 0xfe, 0xe0, 0xbd, + 0x84, 0xff, 0xd3, 0x6e, 0xce, 0xd5, 0x34, 0x4d, 0xbd, 0xf7, 0x7a, 0xd4, + 0xeb, 0xf5, 0x6e, 0xce, 0x6e, 0xbc, 0xfa, 0x2f, 0x9f, 0x3b, 0xfd, 0xb9, + 0xee, 0x6b, 0x5b, 0xd9, 0x0b, 0xc6, 0xc6, 0xb3, 0xbe, 0xf4, 0x31, 0x5b, + 0xcf, 0xd6, 0x44, 0x93, 0xa2, 0xd5, 0x58, 0xf8, 0x95, 0xf5, 0x8f, 0x03, + 0x73, 0x78, 0xf3, 0x98, 0x8a, 0x0f, 0x27, 0x17, 0x33, 0xf1, 0x78, 0x3d, + 0x59, 0xbd, 0xf5, 0xbb, 0xea, 0x69, 0x8f, 0x61, 0x49, 0x2b, 0x25, 0xa8, + 0xf7, 0x13, 0x88, 0xaa, 0x2c, 0x3e, 0x08, 0xdd, 0x8f, 0x09, 0xb8, 0xaa, + 0x13, 0xbe, 0x8e, 0x54, 0x4a, 0xe0, 0x6a, 0x95, 0x02, 0x4d, 0x4d, 0x00, + 0x61, 0x9a, 0xce, 0x3e, 0xb5, 0x6f, 0x90, 0x44, 0x01, 0x92, 0x31, 0xf7, + 0x20, 0x5c, 0x01, 0xa4, 0x80, 0x3a, 0x2f, 0xa2, 0x65, 0x41, 0x3e, 0x3f, + 0xb8, 0xda, 0xdc, 0xf9, 0x6e, 0xb6, 0xfe, 0xfd, 0x3f, 0x05, 0x70, 0x5b, + 0x44, 0x8e, 0xdf, 0x2d, 0xe7, 0xff, 0xa0, 0x10, 0x34, 0xfe, 0xde, 0x0b, + 0x17, 0x2e, 0xf0, 0xdc, 0xdc, 0x5c, 0x02, 0xe0, 0xf4, 0xc5, 0x27, 0x2f, + 0xbd, 0x74, 0x3c, 0xf7, 0xe9, 0x7f, 0xf2, 0xe6, 0x5e, 0xfc, 0x6c, 0xa3, + 0xd9, 0x9e, 0xe5, 0xa8, 0x11, 0xd9, 0x46, 0xca, 0x1c, 0x27, 0x63, 0xcb, + 0x96, 0x3a, 0xf0, 0x1a, 0x03, 0x35, 0x95, 0xf0, 0x6b, 0x65, 0x70, 0x18, + 0x78, 0x0e, 0xc3, 0x0b, 0x54, 0xed, 0x09, 0xe2, 0x8a, 0x0b, 0x84, 0xf1, + 0x56, 0x94, 0xe9, 0xb9, 0x83, 0x71, 0x03, 0x5c, 0x2b, 0x81, 0xd7, 0x8a, + 0xa8, 0xa8, 0x26, 0x93, 0x4d, 0x57, 0x32, 0xde, 0x96, 0x58, 0x7b, 0x82, + 0x56, 0x64, 0xb2, 0x89, 0x62, 0x26, 0x9d, 0xad, 0x5a, 0xe8, 0x7c, 0xe2, + 0x71, 0x60, 0x71, 0x04, 0x22, 0x41, 0xa8, 0x79, 0x91, 0x08, 0x5c, 0x5e, + 0x40, 0xf2, 0x42, 0xb4, 0xc8, 0x4a, 0x97, 0x0f, 0x0e, 0x9f, 0x4a, 0x37, + 0x7e, 0x60, 0x1e, 0x7e, 0xf3, 0x9f, 0xed, 0xee, 0x1f, 0xbe, 0xaa, 0xaa, + 0x9b, 0x22, 0x92, 0xfd, 0xe8, 0x47, 0x3f, 0xd2, 0x8f, 0x7c, 0x79, 0x37, + 0x00, 0x5d, 0x5b, 0x5b, 0x13, 0x00, 0x79, 0xb7, 0xdb, 0xdd, 0x5e, 0xbb, + 0xbb, 0xfa, 0x9d, 0x8b, 0x26, 0x8a, 0xaf, 0x2e, 0xfc, 0xd2, 0x7f, 0x7a, + 0xeb, 0x20, 0xbb, 0xd6, 0x30, 0x76, 0xd6, 0x17, 0x36, 0x52, 0x66, 0x36, + 0x49, 0x32, 0x69, 0xc6, 0xd4, 0x27, 0xe2, 0xe9, 0xe1, 0xee, 0x6a, 0xdd, + 0x01, 0xd1, 0xf4, 0x42, 0x3e, 0x9e, 0x4a, 0x63, 0x31, 0x59, 0xd8, 0x4a, + 0x93, 0xed, 0xb9, 0x61, 0xf2, 0x44, 0x02, 0x23, 0x43, 0x6b, 0x65, 0xc8, + 0x58, 0xe8, 0xd3, 0xab, 0xc6, 0xa4, 0x3a, 0x17, 0x88, 0x6a, 0x95, 0x11, + 0x4d, 0x08, 0xbf, 0xb5, 0x67, 0xd4, 0x87, 0xb6, 0x3a, 0xc8, 0x9e, 0xa0, + 0x6b, 0x8f, 0x4f, 0xbb, 0x3c, 0x5e, 0xbf, 0x53, 0x96, 0x0e, 0xea, 0xbc, + 0xa8, 0x2f, 0x4b, 0x71, 0xf9, 0xe1, 0x53, 0x8d, 0x9d, 0xd7, 0x92, 0xad, + 0x6f, 0xff, 0xd1, 0xe6, 0xfe, 0xe1, 0xf7, 0x95, 0x68, 0xfb, 0x60, 0x7f, + 0x3f, 0x5f, 0x5b, 0x5b, 0xfb, 0xa9, 0xae, 0x2b, 0xf3, 0x81, 0x2e, 0xe0, + 0x70, 0xf1, 0xe2, 0x45, 0x9e, 0x9d, 0x9b, 0x6b, 0x19, 0xe6, 0x33, 0x17, + 0x2e, 0x5d, 0xfe, 0xdc, 0xf1, 0xdc, 0xa7, 0x7f, 0xef, 0xad, 0x83, 0xc6, + 0xf5, 0x38, 0x6d, 0xcd, 0x22, 0x49, 0x63, 0x4e, 0x12, 0xb6, 0x49, 0x0c, + 0xad, 0x83, 0xb2, 0x99, 0xb6, 0xfc, 0x10, 0x8c, 0x89, 0x0d, 0xc8, 0x50, + 0xbd, 0x92, 0x22, 0x8c, 0x3e, 0x19, 0x53, 0x79, 0x02, 0x4d, 0x9e, 0xab, + 0xa9, 0xf2, 0x35, 0x01, 0x56, 0x27, 0xe7, 0x84, 0x9a, 0x1a, 0x88, 0x29, + 0xc1, 0x4f, 0xd3, 0xdc, 0xc7, 0x8f, 0x65, 0x6a, 0x47, 0x84, 0xe8, 0x94, + 0x02, 0x2a, 0xc8, 0x92, 0x6a, 0x6b, 0xbb, 0x54, 0xd3, 0xed, 0x22, 0x53, + 0x8f, 0xab, 0x7e, 0x71, 0x96, 0x43, 0xcb, 0x52, 0x24, 0xcf, 0x0b, 0x2a, + 0x06, 0x07, 0x97, 0xec, 0xfd, 0x1f, 0xa5, 0x5b, 0xaf, 0xfc, 0xd1, 0xd6, + 0xce, 0xde, 0xdf, 0x16, 0xce, 0x6d, 0xf4, 0x8e, 0x8e, 0x86, 0x77, 0xef, + 0xde, 0xfd, 0x99, 0x5f, 0xc0, 0x61, 0xfc, 0xb3, 0x4f, 0x3e, 0xf9, 0x24, + 0xcf, 0xcf, 0xcf, 0xb7, 0x00, 0xac, 0x3c, 0xf1, 0xc4, 0x85, 0x4f, 0x17, + 0x2b, 0x9f, 0xfb, 0x4f, 0xde, 0x38, 0x6c, 0x7f, 0x5c, 0x93, 0xe6, 0xbc, + 0x49, 0x1b, 0x09, 0xe2, 0xc8, 0x44, 0x49, 0x02, 0xb6, 0x16, 0xc2, 0x54, + 0x41, 0x90, 0x19, 0xc3, 0x12, 0x9b, 0xb0, 0x17, 0x8e, 0x8d, 0xa9, 0x20, + 0xc8, 0x9c, 0x80, 0x21, 0xaa, 0x15, 0x53, 0xc1, 0x11, 0xa9, 0x8e, 0x95, + 0x50, 0xef, 0x8a, 0x03, 0x26, 0x56, 0x5f, 0x93, 0x85, 0xeb, 0x61, 0x39, + 0x99, 0x32, 0xe8, 0x5a, 0xf0, 0x41, 0x11, 0xa1, 0x6c, 0x50, 0x33, 0xf6, + 0x6a, 0xda, 0xcc, 0x04, 0x6e, 0xb4, 0xca, 0x7a, 0x82, 0x12, 0xd4, 0x79, + 0x94, 0x79, 0x0e, 0x94, 0x85, 0x77, 0x59, 0x9e, 0x47, 0x65, 0x7f, 0xff, + 0x32, 0xaf, 0x7d, 0x97, 0x1f, 0xbc, 0xf2, 0x2f, 0xb6, 0xf7, 0x0e, 0xbe, + 0x5f, 0x7a, 0xbf, 0xd9, 0x3f, 0x3e, 0x1e, 0xae, 0xae, 0xae, 0x7e, 0xa0, + 0x4b, 0x98, 0xd8, 0x0f, 0xa8, 0x00, 0x5d, 0x5d, 0x5d, 0x95, 0x6a, 0x35, + 0xef, 0xc6, 0xfa, 0xfa, 0xda, 0x2b, 0xa7, 0xcb, 0x7c, 0xf4, 0xfc, 0xf9, + 0xcf, 0x7f, 0xe9, 0xc7, 0x7d, 0x7a, 0x71, 0x98, 0xd1, 0x62, 0x4c, 0xd4, + 0xc8, 0x89, 0x4d, 0xcc, 0x44, 0x6c, 0xa2, 0x13, 0x73, 0xf4, 0x13, 0xab, + 0x9e, 0x8c, 0x78, 0xd7, 0xa4, 0x56, 0x1a, 0xcf, 0x1f, 0xd4, 0xd3, 0x99, + 0xd5, 0x2c, 0x17, 0x42, 0x16, 0xc2, 0xd3, 0x0b, 0xa1, 0xaa, 0x02, 0x59, + 0xbd, 0x4e, 0x4c, 0xab, 0xc7, 0x81, 0x95, 0x5c, 0xc1, 0x0f, 0x11, 0x48, + 0x04, 0xe2, 0xc3, 0xcf, 0x87, 0x1d, 0x6f, 0x01, 0x73, 0xa4, 0xde, 0xf3, + 0xa3, 0x02, 0x25, 0x09, 0x09, 0x40, 0xc5, 0x74, 0x06, 0x14, 0xa5, 0x77, + 0xf0, 0x45, 0xa9, 0xf0, 0xce, 0x97, 0x79, 0x91, 0x75, 0xd0, 0xdf, 0x7e, + 0x8a, 0xde, 0xfa, 0x9b, 0xe2, 0xee, 0xdf, 0xfe, 0xcb, 0xbd, 0xde, 0xe0, + 0x75, 0x63, 0xcc, 0xce, 0xe1, 0xe1, 0xe1, 0xe8, 0x83, 0x08, 0xff, 0xc3, + 0x40, 0xd0, 0x89, 0x9f, 0x7f, 0xea, 0xa9, 0xa7, 0x78, 0x7e, 0x7e, 0x3e, + 0x11, 0x91, 0x53, 0xed, 0x76, 0xfb, 0xe9, 0xa5, 0x67, 0x5e, 0xfe, 0xed, + 0xb7, 0xe4, 0xe2, 0x17, 0xb7, 0x5d, 0x72, 0x26, 0x69, 0x36, 0x9b, 0x14, + 0x25, 0x11, 0xc7, 0x31, 0x9b, 0x38, 0x1a, 0x07, 0x63, 0x1a, 0x7b, 0x80, + 0xa9, 0xd6, 0x53, 0x56, 0x9e, 0x50, 0x3f, 0x57, 0x05, 0xe5, 0xf1, 0xe2, + 0xd6, 0x8a, 0xba, 0xc2, 0x98, 0xca, 0x8a, 0xa6, 0x2b, 0xa1, 0x53, 0x15, + 0xd1, 0x8a, 0x10, 0x32, 0x99, 0x41, 0x00, 0x8d, 0xe1, 0x47, 0xbc, 0x54, + 0x65, 0x84, 0x60, 0xfd, 0xe3, 0xcf, 0x7d, 0x45, 0xa1, 0x0c, 0x17, 0x2f, + 0x80, 0x7a, 0x0f, 0x57, 0x14, 0x40, 0x59, 0x08, 0x0a, 0x57, 0xba, 0x6c, + 0x34, 0x5c, 0xc2, 0xfe, 0x83, 0x0b, 0xc3, 0x1f, 0xfe, 0xdf, 0x3b, 0x77, + 0x7e, 0xf4, 0x7f, 0x39, 0xa7, 0xb7, 0x55, 0xfd, 0xfe, 0xee, 0xee, 0x6e, + 0xfe, 0xa1, 0x84, 0xff, 0x21, 0x3c, 0xa0, 0x1e, 0x1d, 0x52, 0x22, 0x92, + 0xf9, 0xf9, 0xf9, 0x8c, 0xd9, 0x6e, 0x8f, 0x46, 0x59, 0x7e, 0xef, 0x07, + 0x5f, 0x3e, 0xbe, 0xf6, 0xcc, 0xf3, 0xf7, 0xbb, 0x9d, 0x8f, 0xff, 0xf6, + 0x6a, 0xa6, 0x97, 0x21, 0xda, 0x65, 0x42, 0xea, 0x40, 0x6c, 0x62, 0x90, + 0x31, 0x53, 0xa3, 0xa3, 0xf5, 0x18, 0xd8, 0x78, 0x46, 0xb7, 0x1e, 0xf4, + 0x7e, 0x64, 0xa4, 0x74, 0xea, 0xfb, 0x50, 0xcf, 0x27, 0x4c, 0xed, 0xcb, + 0x54, 0x4c, 0x09, 0x5f, 0x2b, 0x45, 0x4d, 0x4d, 0x4f, 0xcb, 0x78, 0x73, + 0xc9, 0xd4, 0xd5, 0x39, 0xea, 0x6a, 0x2a, 0x4d, 0x28, 0x36, 0xaa, 0x61, + 0x73, 0xa2, 0x14, 0xa5, 0xc2, 0x95, 0xa2, 0x85, 0xcb, 0xa2, 0x72, 0x70, + 0xf8, 0x14, 0xad, 0xdf, 0x9c, 0xdb, 0x79, 0xf5, 0x5f, 0x6f, 0x3e, 0xb8, + 0xf7, 0x4d, 0xb6, 0x76, 0x4d, 0xb5, 0x38, 0x56, 0xd5, 0xe2, 0xa3, 0xb8, + 0xd2, 0xaa, 0xfd, 0x90, 0x1e, 0x50, 0x2b, 0x01, 0x2f, 0xbe, 0xf8, 0x62, + 0x31, 0x18, 0x0c, 0xf6, 0x9b, 0xed, 0x76, 0xb9, 0xf6, 0xd6, 0x0f, 0x7b, + 0xcb, 0xcb, 0x9b, 0x77, 0xe7, 0xce, 0x7e, 0xfa, 0xb7, 0xdf, 0xc6, 0xb9, + 0x17, 0x77, 0x33, 0x5d, 0x32, 0x8a, 0xa6, 0x40, 0xa2, 0x82, 0x88, 0x63, + 0x05, 0x25, 0x31, 0x83, 0xe9, 0xe4, 0xf5, 0x8e, 0xa6, 0x77, 0x62, 0x8f, + 0xcf, 0x6f, 0x95, 0xe0, 0xa9, 0x7a, 0x4c, 0x53, 0xe3, 0xb1, 0x27, 0x36, + 0x54, 0xd1, 0xe4, 0xc2, 0x40, 0x81, 0x99, 0x36, 0xf5, 0xbd, 0x90, 0xea, + 0x73, 0xae, 0x26, 0x59, 0xb4, 0xa2, 0xce, 0x06, 0x5f, 0x72, 0x00, 0x72, + 0xef, 0xe1, 0x4a, 0xaf, 0x28, 0x0b, 0x51, 0xe7, 0x4a, 0x2d, 0xf2, 0xe1, + 0x92, 0x1c, 0x6c, 0x9d, 0xcf, 0xde, 0xfc, 0x86, 0x3c, 0xfc, 0xfe, 0x5f, + 0x6e, 0x1f, 0xf5, 0xdf, 0x54, 0x60, 0xb3, 0x77, 0x74, 0x34, 0x48, 0xd3, + 0xd4, 0xbf, 0xfa, 0xea, 0xab, 0x1f, 0xc9, 0x85, 0x3d, 0x3f, 0xb4, 0x02, + 0x6a, 0x25, 0x84, 0xbe, 0x0a, 0xe9, 0x67, 0x3e, 0xf3, 0x99, 0x63, 0x25, + 0x2a, 0x76, 0x76, 0x76, 0x7a, 0x66, 0xff, 0xff, 0x79, 0xf0, 0xdc, 0xe5, + 0xe7, 0x7e, 0xbc, 0xd5, 0x7e, 0xf6, 0xd7, 0xd6, 0xfc, 0xfc, 0x95, 0x7e, + 0xde, 0x98, 0x63, 0x50, 0xc3, 0xab, 0xd8, 0x1c, 0xe0, 0x54, 0x2d, 0x35, + 0xe2, 0x30, 0x29, 0xc8, 0x8f, 0x60, 0xe2, 0xb4, 0xa0, 0x69, 0xac, 0x88, + 0xc9, 0x78, 0x2c, 0xa6, 0xbc, 0xa0, 0x0e, 0x0b, 0x52, 0x65, 0x4b, 0x5c, + 0x6d, 0x32, 0xd4, 0xaa, 0x81, 0x42, 0x53, 0x17, 0xd3, 0x1a, 0x2f, 0x17, + 0x21, 0x45, 0x01, 0x45, 0xee, 0x04, 0x79, 0xe9, 0x54, 0x8a, 0x52, 0xd4, + 0x79, 0x27, 0x79, 0x3e, 0xea, 0xba, 0xe3, 0x83, 0x27, 0xca, 0xf5, 0x37, + 0xe7, 0xb6, 0xbf, 0xff, 0x57, 0x7b, 0x9b, 0xf7, 0xbf, 0xed, 0xbd, 0xde, + 0x57, 0xd5, 0x43, 0xa8, 0x66, 0x3f, 0xfe, 0xf1, 0x8f, 0xfd, 0x47, 0x7a, + 0x45, 0xd5, 0x0f, 0x29, 0xf8, 0xc7, 0xe1, 0x1a, 0x7d, 0xf6, 0xb3, 0x9f, + 0xa5, 0x2c, 0xcb, 0xa2, 0x66, 0xb3, 0xd9, 0x62, 0xe6, 0x53, 0xdd, 0x99, + 0xf6, 0xe5, 0xf4, 0xdc, 0xc7, 0x7f, 0x79, 0xbd, 0x75, 0xe5, 0xe5, 0x0d, + 0xcc, 0x9e, 0x1f, 0x70, 0xa3, 0x8b, 0x24, 0x4e, 0x4d, 0x14, 0x5b, 0x13, + 0xc7, 0x9c, 0x44, 0x11, 0x35, 0x93, 0x08, 0xa9, 0x35, 0x88, 0xac, 0x09, + 0xdb, 0x5d, 0xea, 0x59, 0x61, 0xc3, 0xe3, 0xe9, 0xf5, 0x7a, 0x3c, 0xea, + 0xd1, 0xd1, 0xd8, 0x3a, 0xf3, 0xf1, 0x15, 0xf2, 0x8c, 0xe7, 0xd0, 0x30, + 0xe1, 0x20, 0x89, 0x84, 0xf9, 0x85, 0xd2, 0x79, 0xe4, 0x4e, 0x30, 0x2c, + 0x4a, 0x94, 0x45, 0xa1, 0xea, 0xbc, 0xb8, 0x22, 0x77, 0x5a, 0x14, 0xd9, + 0x8c, 0xef, 0x1f, 0xad, 0x14, 0x9b, 0xab, 0xa7, 0x0f, 0x7e, 0xfc, 0xd7, + 0xd9, 0xc6, 0x8d, 0x6f, 0xf6, 0x47, 0xe5, 0xaa, 0xf7, 0x7e, 0x77, 0x34, + 0x1a, 0x0d, 0xd2, 0x34, 0x2d, 0xbf, 0xfd, 0xed, 0x6f, 0xff, 0xdd, 0xbe, + 0x9c, 0xed, 0xa3, 0x8a, 0xb8, 0x7a, 0xf5, 0x2a, 0x9f, 0x5a, 0x5c, 0x4c, + 0x08, 0xdc, 0x51, 0xf5, 0x4b, 0x8b, 0x8b, 0x8b, 0x4f, 0xd1, 0xca, 0xb5, + 0x97, 0x36, 0x3b, 0x57, 0x3e, 0x73, 0x9f, 0x66, 0x9f, 0x18, 0x50, 0x63, + 0x56, 0xa2, 0xa4, 0x61, 0x92, 0xd8, 0x72, 0x14, 0x71, 0x14, 0x59, 0x6e, + 0x44, 0x11, 0x35, 0x22, 0x8b, 0x46, 0x6c, 0x11, 0xdb, 0xb0, 0xb7, 0xcd, + 0x72, 0xd8, 0xc7, 0x30, 0xee, 0x6a, 0xea, 0x89, 0x19, 0x89, 0xf1, 0x64, + 0x7a, 0xc5, 0x8b, 0x18, 0x8f, 0xba, 0x7a, 0x55, 0x94, 0x02, 0x14, 0x5e, + 0x90, 0x15, 0x0e, 0x23, 0xe7, 0x91, 0x17, 0x85, 0x3a, 0xe7, 0x45, 0x9c, + 0x17, 0x57, 0x14, 0xce, 0x94, 0xd9, 0xa8, 0xed, 0xfa, 0x87, 0x2b, 0xd9, + 0x83, 0xbb, 0xa7, 0x0f, 0x6f, 0x7c, 0xcb, 0x6d, 0xdd, 0xfc, 0x76, 0x6f, + 0x90, 0xad, 0x32, 0xf3, 0x76, 0xe1, 0x5c, 0x7f, 0x77, 0x7b, 0x3b, 0xbf, + 0x75, 0xeb, 0xd6, 0xbf, 0x3f, 0x17, 0x74, 0x7e, 0x54, 0x09, 0x9f, 0xfb, + 0xdc, 0xe7, 0x68, 0x30, 0x18, 0x98, 0x76, 0xbb, 0x9d, 0x30, 0x73, 0x9b, + 0x88, 0x4e, 0xcd, 0x76, 0x67, 0x2e, 0xda, 0x95, 0x2b, 0x2f, 0xec, 0xb4, + 0x9f, 0xfc, 0xe4, 0x76, 0x7a, 0xe6, 0xa9, 0x43, 0x6e, 0xce, 0x67, 0x36, + 0x6d, 0x4a, 0x9c, 0x26, 0xd6, 0x58, 0x63, 0xac, 0x31, 0x36, 0x62, 0x4a, + 0x4c, 0x44, 0x71, 0x64, 0x29, 0xb1, 0x8c, 0x98, 0x19, 0x09, 0x03, 0x11, + 0x33, 0x22, 0xaa, 0xaa, 0xdc, 0x35, 0x23, 0x54, 0x02, 0xc5, 0xd1, 0x09, + 0x50, 0x54, 0xd7, 0xa6, 0xc9, 0xab, 0x5b, 0xe9, 0xbc, 0x3a, 0xef, 0x54, + 0x9c, 0xa8, 0x73, 0xde, 0x3b, 0xe7, 0x3d, 0xbb, 0x3c, 0x4f, 0xca, 0xe1, + 0xb0, 0x5b, 0xee, 0xef, 0x2f, 0xf5, 0xd6, 0x6f, 0x9e, 0x3a, 0xba, 0xfd, + 0x6a, 0xb1, 0xb3, 0xfa, 0xc3, 0xfe, 0x30, 0xbf, 0x27, 0xc0, 0x8e, 0x8a, + 0x0c, 0xfa, 0xbd, 0x5e, 0xde, 0x68, 0x34, 0xfc, 0x2b, 0xaf, 0xbc, 0xf2, + 0xef, 0xe7, 0x25, 0xcd, 0x1f, 0x55, 0xc4, 0x4b, 0x2f, 0xbd, 0x44, 0xa3, + 0x51, 0x6e, 0x5a, 0x9d, 0x56, 0x44, 0xaa, 0x6d, 0x6b, 0xed, 0x6c, 0x14, + 0xd9, 0x95, 0x85, 0xe5, 0xb3, 0x57, 0x7a, 0xb3, 0x17, 0x9f, 0xdb, 0x6b, + 0x9e, 0xb9, 0xb6, 0xdf, 0x58, 0x39, 0xd7, 0xe3, 0xc6, 0x4c, 0xce, 0x71, + 0xc3, 0xdb, 0x24, 0x21, 0x1b, 0x47, 0x60, 0x66, 0xb6, 0xa1, 0x2e, 0xc1, + 0x5c, 0x8d, 0x0c, 0x86, 0x03, 0x1a, 0xd5, 0x41, 0xb4, 0xda, 0xe8, 0xae, + 0x22, 0x12, 0x1a, 0x9a, 0xa2, 0xaa, 0xaa, 0x2a, 0xaa, 0x4a, 0xa2, 0xc2, + 0xae, 0x28, 0xd9, 0x65, 0x79, 0xe2, 0xb3, 0x51, 0xab, 0xec, 0x1f, 0xcf, + 0x0f, 0x37, 0xee, 0xcd, 0x1d, 0xad, 0xbe, 0xd1, 0x3c, 0x58, 0x7b, 0xed, + 0xf0, 0x60, 0xef, 0xed, 0xa2, 0x28, 0xb7, 0x55, 0xf5, 0x90, 0x98, 0xfb, + 0xbd, 0xe3, 0xe3, 0xb2, 0xd5, 0x6a, 0xf9, 0x6f, 0x7c, 0xe3, 0x1b, 0x3f, + 0x33, 0xc1, 0xff, 0xdc, 0x15, 0x30, 0xad, 0x88, 0x97, 0x5f, 0x7e, 0x99, + 0x98, 0x99, 0xf3, 0xa2, 0x88, 0x92, 0x38, 0x49, 0x8c, 0xe1, 0x0e, 0x11, + 0x75, 0x93, 0xd8, 0x2e, 0x76, 0x4f, 0xad, 0x9c, 0xcf, 0x3a, 0x67, 0x2e, + 0xf5, 0x5b, 0x4b, 0x4f, 0xf6, 0x1a, 0x8b, 0xe7, 0x8e, 0xa2, 0xee, 0xa9, + 0xc2, 0x36, 0x5a, 0x39, 0x45, 0x49, 0x69, 0x23, 0x2b, 0x64, 0xad, 0x67, + 0x63, 0xa5, 0x6e, 0x3a, 0xd4, 0xb4, 0x79, 0x09, 0x44, 0x28, 0x86, 0x08, + 0x8b, 0x38, 0x56, 0xe7, 0xac, 0x94, 0x2e, 0xf1, 0x45, 0xde, 0x74, 0xfd, + 0x7e, 0x7b, 0x74, 0xb0, 0xdb, 0x1e, 0x6d, 0xad, 0xb7, 0x06, 0x9b, 0xab, + 0xf1, 0xf1, 0xd6, 0x9d, 0xde, 0xc1, 0xde, 0x3d, 0xe7, 0x65, 0x4f, 0x55, + 0x0f, 0xca, 0xd2, 0x0d, 0xc8, 0x70, 0xa6, 0xd5, 0x04, 0xfb, 0xd7, 0xbf, + 0xfe, 0xf5, 0x9f, 0xb9, 0xe0, 0x7f, 0x61, 0x0a, 0x98, 0x56, 0x04, 0x00, + 0x5c, 0xbb, 0x76, 0x8d, 0x9b, 0xad, 0x16, 0xb7, 0x66, 0x66, 0x22, 0xa3, + 0x1a, 0x1b, 0x63, 0x1a, 0x44, 0xd4, 0x01, 0x30, 0xd3, 0x6e, 0x26, 0x73, + 0x49, 0x7b, 0x76, 0xc9, 0xb7, 0x16, 0x56, 0xca, 0xb4, 0xbb, 0x90, 0x47, + 0xed, 0x85, 0x22, 0xed, 0x74, 0x73, 0x4e, 0x5a, 0x62, 0x92, 0x86, 0x23, + 0x93, 0x78, 0x63, 0x2d, 0xa0, 0xb0, 0xbe, 0x74, 0xa4, 0x3e, 0xb7, 0xc5, + 0x68, 0x14, 0xfb, 0xbc, 0x1f, 0x17, 0xbd, 0xc3, 0xb8, 0xe8, 0xed, 0xc7, + 0xa3, 0xc3, 0x1d, 0x3b, 0x3a, 0xdc, 0x1a, 0x1e, 0x1f, 0xec, 0x0c, 0x73, + 0x77, 0x28, 0x22, 0xc7, 0x00, 0x7a, 0x22, 0x32, 0x52, 0xa2, 0xa2, 0xd7, + 0xeb, 0x95, 0xa3, 0xc1, 0x40, 0xde, 0x7c, 0xf3, 0x4d, 0x99, 0xca, 0xe6, + 0x7e, 0x6e, 0x1f, 0xbf, 0x30, 0x05, 0x3c, 0xaa, 0x8c, 0x2f, 0x7c, 0xe1, + 0x0b, 0xb4, 0xbd, 0xbd, 0x4d, 0xcb, 0xcb, 0xcb, 0x34, 0x1a, 0x8d, 0x4c, + 0xab, 0xd5, 0x8a, 0x88, 0xc8, 0xaa, 0x6a, 0x0a, 0x20, 0x8d, 0xe3, 0x38, + 0x76, 0xce, 0xa5, 0x00, 0x22, 0x66, 0x8e, 0x88, 0xc8, 0x8a, 0x88, 0xe1, + 0x6a, 0xe1, 0x82, 0x88, 0x08, 0x33, 0x7b, 0x55, 0x75, 0x22, 0x52, 0x02, + 0x28, 0x99, 0x39, 0x53, 0xd5, 0x9c, 0x88, 0x32, 0xe7, 0x5c, 0x0e, 0xc0, + 0xf5, 0xfb, 0xfd, 0xb2, 0xd5, 0x6a, 0xf9, 0xad, 0xad, 0x2d, 0x7d, 0xfd, + 0xf5, 0xd7, 0x7f, 0x21, 0x42, 0xff, 0x3b, 0xa7, 0x80, 0xc7, 0x79, 0xc6, + 0x17, 0xbf, 0xf8, 0x45, 0xda, 0xda, 0xda, 0xa2, 0x6a, 0x9b, 0x17, 0x8f, + 0x46, 0x23, 0x32, 0xc6, 0x70, 0xb5, 0xea, 0x91, 0xcb, 0xb2, 0x24, 0x22, + 0x42, 0x14, 0x45, 0x54, 0x4d, 0xf7, 0xe8, 0xd4, 0xbc, 0xb3, 0x8c, 0x46, + 0x23, 0x55, 0x55, 0x69, 0x34, 0x1a, 0xaa, 0xaa, 0xb2, 0xb5, 0xb5, 0xa5, + 0x8b, 0x8b, 0x8b, 0xfa, 0x95, 0xaf, 0x7c, 0x45, 0x7f, 0xd1, 0x42, 0xff, + 0x3b, 0xad, 0x80, 0x77, 0x53, 0xc8, 0xf4, 0xc7, 0xaf, 0xff, 0xfa, 0xaf, + 0x53, 0x7d, 0xe9, 0xf1, 0x47, 0x5f, 0x8b, 0xaa, 0xe2, 0xcb, 0x5f, 0xfe, + 0xb2, 0xbe, 0xcb, 0x41, 0xf1, 0xef, 0xdc, 0xc7, 0x7b, 0x29, 0x60, 0xfc, + 0xb5, 0xdf, 0xff, 0xfd, 0xdf, 0xa7, 0x37, 0xde, 0x78, 0x83, 0x76, 0x76, + 0x76, 0xe8, 0xab, 0x5f, 0xfd, 0x2a, 0x5d, 0xbf, 0x7e, 0x9d, 0x8a, 0xa2, + 0xa0, 0x73, 0xe7, 0xce, 0x51, 0x9e, 0xe7, 0x54, 0x14, 0x05, 0x2d, 0x2c, + 0x2c, 0xd4, 0xd6, 0x48, 0x8b, 0x8b, 0x8b, 0xc8, 0xf3, 0x9c, 0xf0, 0xff, + 0xb3, 0x8f, 0x24, 0x49, 0x74, 0x67, 0x67, 0x07, 0x71, 0x1c, 0x6b, 0x1c, + 0xc7, 0xba, 0xb7, 0xb7, 0xa7, 0x49, 0x92, 0xe8, 0xfd, 0xfb, 0xf7, 0x35, + 0x8e, 0x63, 0x6d, 0x34, 0x1a, 0xda, 0xe9, 0x74, 0x74, 0x71, 0x71, 0x51, + 0xaf, 0x5f, 0xbf, 0xae, 0x7f, 0xf0, 0x07, 0x7f, 0x30, 0x45, 0xf9, 0x7b, + 0xfc, 0x6a, 0xa4, 0xff, 0x0f, 0x5e, 0x58, 0xf3, 0x5a, 0x67, 0x6b, 0x35, + 0xdb, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, + 0x82 +}; +unsigned int __device_ntfs_png_len = 14905; +unsigned char __device_scroll_next_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x00, 0xae, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xc5, 0x96, 0xd1, 0x11, + 0x80, 0x20, 0x08, 0x40, 0x19, 0xa1, 0x91, 0x1c, 0xc1, 0x11, 0x6c, 0x93, + 0x36, 0x68, 0x04, 0x47, 0x6a, 0x04, 0x47, 0x21, 0xea, 0xfc, 0xf0, 0x3c, + 0xf1, 0x20, 0xc5, 0x3e, 0xde, 0x57, 0xca, 0x0b, 0x21, 0x09, 0x10, 0x11, + 0x38, 0xc2, 0x1e, 0x3c, 0x11, 0x89, 0x44, 0x60, 0x45, 0xca, 0xcf, 0x7c, + 0x2f, 0x06, 0x17, 0xd8, 0x31, 0x41, 0x39, 0x9e, 0xb5, 0x4e, 0x24, 0xa0, + 0x85, 0xa7, 0x22, 0x70, 0xcd, 0xd9, 0x15, 0xe4, 0x94, 0x71, 0x90, 0xd8, + 0x14, 0x0c, 0xbe, 0x39, 0x9b, 0x49, 0x79, 0xe6, 0xbd, 0x0d, 0x17, 0x71, + 0x14, 0x5c, 0x02, 0x89, 0x2b, 0x05, 0x92, 0x82, 0x86, 0x22, 0xdb, 0x4d, + 0x20, 0x49, 0xaf, 0x20, 0xb7, 0xa2, 0x34, 0x75, 0xad, 0xc4, 0x7f, 0x29, + 0xac, 0x46, 0x12, 0x41, 0xd9, 0xef, 0x5a, 0x49, 0x82, 0x96, 0xb5, 0x2a, + 0x68, 0x93, 0xaa, 0xbd, 0x59, 0x09, 0x70, 0xd5, 0xd7, 0xc2, 0x49, 0x7e, + 0x11, 0x4c, 0x3f, 0x22, 0xf3, 0x22, 0x9b, 0xb7, 0xa9, 0xed, 0x87, 0x66, + 0x7e, 0x55, 0x2c, 0xb9, 0xec, 0xcc, 0xaf, 0xeb, 0x25, 0x03, 0x67, 0xc9, + 0xc8, 0x5c, 0x32, 0xf4, 0x67, 0xff, 0xb6, 0xdc, 0xaa, 0xbb, 0x0a, 0x66, + 0xe5, 0x7b, 0x37, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, + 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __device_scroll_next_png_len = 268; +unsigned char __device_scroll_prev_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x00, 0xb1, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xc5, 0x96, 0xdb, 0x0d, + 0x80, 0x20, 0x0c, 0x45, 0x19, 0xc1, 0x91, 0x18, 0x81, 0x11, 0x70, 0x13, + 0x37, 0x60, 0x04, 0x46, 0x72, 0x04, 0x46, 0xa9, 0x95, 0xd4, 0x84, 0xa8, + 0x85, 0x1a, 0x28, 0x7e, 0x9c, 0x2f, 0xe1, 0x5e, 0xfb, 0xb0, 0xd5, 0x00, + 0x80, 0xe1, 0xf0, 0xab, 0x77, 0x48, 0x44, 0x12, 0x02, 0x37, 0x12, 0x3d, + 0x73, 0x35, 0x0d, 0x4e, 0xd8, 0x32, 0xa2, 0x1c, 0xe7, 0x59, 0x2b, 0x32, + 0xc0, 0x83, 0xe1, 0x83, 0xf0, 0x9d, 0x50, 0x35, 0xa0, 0x90, 0xa1, 0x93, + 0xf8, 0x6a, 0xd0, 0xf9, 0xe6, 0x6c, 0x24, 0x65, 0xce, 0x5b, 0x97, 0x76, + 0x64, 0x2b, 0xd8, 0x1b, 0xe7, 0x6d, 0x69, 0x90, 0x04, 0xe2, 0x4b, 0x11, + 0xad, 0x97, 0x14, 0x3e, 0x1b, 0x50, 0x2b, 0x8e, 0x16, 0xbf, 0x70, 0xad, + 0xc2, 0xf6, 0x88, 0xe7, 0x82, 0xd7, 0xd2, 0xd3, 0x2b, 0x9e, 0xd3, 0x64, + 0x24, 0xe2, 0x64, 0xb0, 0x09, 0x78, 0x64, 0xc3, 0x48, 0xc4, 0xa5, 0xbc, + 0x75, 0xe3, 0x2f, 0x06, 0xc3, 0x53, 0xa4, 0x5e, 0x64, 0xf5, 0x36, 0xd5, + 0xfd, 0xd0, 0xd4, 0x47, 0xc5, 0x94, 0x61, 0xa7, 0x3e, 0xae, 0xa7, 0x2c, + 0x9c, 0x29, 0x2b, 0x73, 0xca, 0xd2, 0x1f, 0xfd, 0xdb, 0x72, 0x00, 0x0f, + 0x52, 0x0a, 0x66, 0x31, 0x1b, 0xc9, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x49, + 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __device_scroll_prev_png_len = 271; +unsigned char __device_selection_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x70, + 0x08, 0x03, 0x00, 0x00, 0x00, 0xf1, 0x3e, 0x04, 0x79, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x01, 0x08, 0x50, 0x4c, 0x54, 0x45, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0x42, 0x42, 0x42, 0x43, 0x43, 0x43, + 0x45, 0x45, 0x45, 0x42, 0x42, 0x42, 0x44, 0x44, 0x44, 0x42, 0x42, 0x42, + 0x46, 0x46, 0x46, 0x43, 0x43, 0x43, 0x45, 0x45, 0x45, 0x42, 0x42, 0x42, + 0x44, 0x44, 0x44, 0x46, 0x46, 0x46, 0x44, 0x44, 0x44, 0x45, 0x45, 0x45, + 0x47, 0x47, 0x47, 0x50, 0x50, 0x50, 0x51, 0x51, 0x51, 0xfd, 0xfd, 0xfd, + 0x59, 0x59, 0x59, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, + 0x87, 0x87, 0x87, 0x85, 0x85, 0x85, 0x8c, 0x8c, 0x8c, 0x96, 0x96, 0x96, + 0x94, 0x94, 0x94, 0x9b, 0x9b, 0x9b, 0xfc, 0xfc, 0xfc, 0xa1, 0xa1, 0xa1, + 0xfd, 0xfd, 0xfd, 0xa2, 0xa2, 0xa2, 0xfd, 0xfd, 0xfd, 0xad, 0xad, 0xad, + 0xb4, 0xb4, 0xb4, 0xfc, 0xfc, 0xfc, 0xc4, 0xc4, 0xc4, 0xc7, 0xc7, 0xc7, + 0xce, 0xce, 0xce, 0xdd, 0xdd, 0xdd, 0xe5, 0xe5, 0xe5, 0xe8, 0xe8, 0xe8, + 0xfc, 0xfc, 0xfc, 0xe8, 0xe8, 0xe8, 0xed, 0xed, 0xed, 0xfc, 0xfc, 0xfc, + 0xf6, 0xf6, 0xf6, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, + 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, + 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3e, 0xfa, 0xfb, 0x5b, 0x00, 0x00, + 0x00, 0x57, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x01, 0x02, 0x03, 0x05, 0x07, + 0x09, 0x1c, 0x31, 0x36, 0x43, 0x45, 0x58, 0x61, 0x68, 0x78, 0x7a, 0x95, + 0x96, 0x97, 0x9b, 0x9c, 0x9c, 0x9d, 0x9d, 0x9e, 0x9f, 0xa0, 0xa0, 0xa1, + 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, 0xa2, 0xa4, 0xa4, 0xa6, 0xa8, 0xab, 0xb2, + 0xb3, 0xb4, 0xb6, 0xb7, 0xb8, 0xb9, 0xbb, 0xbc, 0xbc, 0xbd, 0xbf, 0xc0, + 0xc3, 0xc7, 0xc8, 0xcb, 0xcc, 0xd4, 0xd5, 0xd5, 0xd5, 0xd6, 0xd7, 0xd8, + 0xdc, 0xdd, 0xe1, 0xe4, 0xe5, 0xe6, 0xe8, 0xe9, 0xed, 0xef, 0xf1, 0xf3, + 0xf4, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfd, 0xfe, 0xd3, 0xcd, 0xb1, + 0xf6, 0x00, 0x00, 0x01, 0xae, 0x49, 0x44, 0x41, 0x54, 0x68, 0xde, 0xed, + 0xdb, 0x59, 0x56, 0xc2, 0x40, 0x10, 0x85, 0xe1, 0xdb, 0xc1, 0x19, 0x1c, + 0x90, 0x34, 0x28, 0xda, 0x48, 0x47, 0x1c, 0x00, 0x15, 0x14, 0x19, 0x9c, + 0x07, 0x88, 0x03, 0x20, 0x09, 0xb1, 0x03, 0xfb, 0xdf, 0x89, 0x0f, 0x78, + 0x3c, 0x2c, 0x20, 0xa9, 0x07, 0x4f, 0xdd, 0x0d, 0x7c, 0xa7, 0xde, 0xff, + 0x02, 0x66, 0x4b, 0x08, 0x2c, 0xac, 0x6c, 0x9d, 0x5c, 0x3d, 0xba, 0x11, + 0xef, 0xf1, 0xea, 0x64, 0x6b, 0x65, 0x01, 0x22, 0x81, 0xf9, 0x09, 0x0b, + 0x4b, 0xeb, 0x75, 0x77, 0x1c, 0x9a, 0xef, 0x20, 0xe2, 0x7d, 0x9b, 0x70, + 0xec, 0xd6, 0xd7, 0x97, 0x60, 0x89, 0x39, 0x2f, 0x81, 0xe4, 0xb5, 0x3f, + 0x09, 0x3e, 0x9f, 0x6e, 0x5b, 0x8d, 0xcb, 0x48, 0xd7, 0x68, 0xdd, 0x3e, + 0x7d, 0x06, 0x13, 0xff, 0x3a, 0x89, 0xc4, 0x9f, 0x28, 0x84, 0xd8, 0x1c, + 0x9a, 0xd1, 0xc3, 0x59, 0x49, 0x66, 0xed, 0xc8, 0x97, 0x95, 0xa5, 0xb3, + 0x87, 0x91, 0x19, 0x6e, 0x0a, 0xf1, 0x2b, 0x0a, 0x2c, 0x6e, 0x7b, 0x7e, + 0xaf, 0x22, 0x77, 0xf6, 0xb5, 0x76, 0x22, 0x9f, 0xd6, 0xfb, 0x3b, 0xb2, + 0xd2, 0xf3, 0xbd, 0xed, 0x45, 0xcc, 0x44, 0x0b, 0x69, 0xe3, 0xdd, 0xe5, + 0x73, 0x8e, 0x2e, 0xa8, 0x58, 0x56, 0xd0, 0x4e, 0x2e, 0x7f, 0xe7, 0x99, + 0x34, 0xac, 0x99, 0xb7, 0x31, 0xf2, 0x6e, 0xec, 0x03, 0xad, 0x62, 0x9c, + 0x3e, 0xb0, 0x6f, 0xbc, 0xd1, 0x06, 0x2c, 0xc0, 0xc2, 0xea, 0x47, 0x70, + 0x6f, 0xeb, 0xa2, 0x8a, 0x75, 0x45, 0x6d, 0xdf, 0x07, 0x1f, 0xab, 0xb0, + 0x20, 0x70, 0x1a, 0xba, 0x87, 0x2a, 0x66, 0x4f, 0xa9, 0xa2, 0x3a, 0x74, + 0xc3, 0x53, 0x08, 0x60, 0x6d, 0xe0, 0x9d, 0x4b, 0x47, 0xc5, 0x3e, 0x47, + 0x9e, 0x7b, 0x83, 0x35, 0x00, 0x47, 0xd3, 0xd7, 0x5d, 0xad, 0x08, 0xa6, + 0x77, 0x5f, 0xa7, 0x47, 0xc0, 0xf2, 0x8b, 0xa9, 0x49, 0x1a, 0x50, 0xd6, + 0xcc, 0xcb, 0x32, 0x52, 0x5f, 0xfd, 0xe3, 0xbd, 0x02, 0x05, 0x58, 0xd8, + 0x3b, 0xee, 0x7f, 0xa5, 0x90, 0x99, 0x3c, 0xd3, 0x1c, 0xa8, 0x94, 0x96, + 0xcf, 0x93, 0x0c, 0xca, 0x61, 0xc7, 0x76, 0x68, 0x40, 0xc7, 0xee, 0x84, + 0x65, 0xb4, 0x4d, 0x93, 0xee, 0xc2, 0xa6, 0x69, 0xa3, 0x3b, 0xbe, 0xa0, + 0x03, 0x2f, 0xc6, 0x5d, 0xbc, 0xfb, 0xd5, 0x1c, 0x15, 0x98, 0xab, 0xfa, + 0xef, 0x78, 0xa3, 0x05, 0xdf, 0x18, 0x64, 0x90, 0x41, 0x06, 0x19, 0x64, + 0x90, 0x41, 0x06, 0x19, 0x64, 0x90, 0x41, 0x06, 0x19, 0x64, 0x90, 0x41, + 0x06, 0x19, 0x64, 0x90, 0x41, 0x06, 0x19, 0x64, 0x90, 0x41, 0x06, 0x19, + 0x64, 0x90, 0x41, 0x06, 0x19, 0x64, 0x90, 0x41, 0x06, 0xff, 0x33, 0x48, + 0x1e, 0x7f, 0x90, 0xe7, 0x2d, 0xe4, 0x01, 0x0f, 0x79, 0xa2, 0x44, 0x1e, + 0x61, 0x91, 0x67, 0x66, 0xe4, 0x21, 0x1d, 0x79, 0x2a, 0x48, 0x1e, 0x43, + 0x92, 0xe7, 0x9e, 0xe4, 0x41, 0x2b, 0x79, 0xb2, 0x4b, 0x1f, 0x25, 0xd3, + 0x67, 0xd7, 0xe4, 0x61, 0x39, 0x7d, 0x3a, 0x4f, 0xff, 0x1c, 0x40, 0xf9, + 0xfe, 0xf0, 0x03, 0xa0, 0x97, 0x1a, 0xeb, 0x1c, 0x2d, 0xd7, 0xa6, 0x00, + 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __device_selection_png_len = 899; +unsigned char __font_console_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x02, 0xf8, 0x00, 0x00, 0x00, 0x0e, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x5a, 0x76, 0x68, 0xce, 0x00, 0x00, 0x0d, + 0x72, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x5d, 0x7f, 0x64, 0x9d, + 0x49, 0x17, 0x6e, 0x23, 0x22, 0xae, 0x8a, 0xa8, 0xa8, 0xa8, 0x58, 0x11, + 0x51, 0xb1, 0xaa, 0x22, 0xaa, 0x2a, 0xaa, 0x2a, 0xaa, 0x56, 0x54, 0xac, + 0x88, 0xa8, 0x58, 0x55, 0x51, 0x51, 0xab, 0xaa, 0xaa, 0x6a, 0xd5, 0x2a, + 0xb5, 0x3e, 0x2b, 0xaa, 0x22, 0xaa, 0xaa, 0x56, 0x55, 0x45, 0x55, 0x55, + 0x45, 0x55, 0x44, 0x44, 0x44, 0x44, 0x54, 0x45, 0x55, 0x5c, 0x51, 0x11, + 0x51, 0x71, 0x45, 0x45, 0x54, 0x44, 0x5d, 0x11, 0x11, 0xcf, 0xfe, 0xf1, + 0x3d, 0xf3, 0x7d, 0xb3, 0xb3, 0x67, 0x66, 0xde, 0x1f, 0xf7, 0x36, 0x49, + 0x3b, 0xf3, 0xcf, 0xbd, 0xb9, 0xe7, 0x9d, 0xf7, 0x9d, 0x77, 0x66, 0xce, + 0x39, 0xcf, 0x79, 0xce, 0x79, 0xdf, 0xec, 0xd9, 0xe3, 0x68, 0xd8, 0xb3, + 0x07, 0x41, 0x1e, 0xe4, 0x41, 0x1e, 0xe4, 0x41, 0x1e, 0xe4, 0x41, 0x1e, + 0xe4, 0x41, 0x1e, 0xe4, 0x41, 0xfe, 0x6d, 0xc8, 0x43, 0x0b, 0x2d, 0xb4, + 0xd0, 0x42, 0x0b, 0x2d, 0xb4, 0xd0, 0x42, 0x0b, 0x2d, 0xb4, 0xd0, 0x92, + 0x37, 0x00, 0xd8, 0xa5, 0xe3, 0x2e, 0x09, 0xab, 0x17, 0x5a, 0x68, 0xa1, + 0x85, 0x16, 0xda, 0x36, 0xf9, 0xa0, 0x16, 0xfc, 0xb7, 0x35, 0x27, 0xec, + 0xff, 0x04, 0x40, 0x6b, 0x98, 0xc9, 0xd0, 0x42, 0x0b, 0x00, 0xdc, 0x2a, + 0xb3, 0x1d, 0x03, 0xa0, 0x0b, 0xc0, 0x63, 0xf5, 0x69, 0xc8, 0x9a, 0x01, + 0xbc, 0xc3, 0xff, 0xdb, 0xbc, 0x26, 0xfb, 0x19, 0xc0, 0x17, 0x00, 0xed, + 0xda, 0xb1, 0xe3, 0x46, 0xff, 0x1e, 0x00, 0x2b, 0x00, 0x3e, 0xa9, 0xe3, + 0x92, 0x04, 0x10, 0x00, 0xaa, 0x01, 0x3c, 0xb2, 0xc8, 0x1e, 0x01, 0xa8, + 0xb7, 0xc8, 0x86, 0x01, 0xb4, 0x72, 0xec, 0x67, 0x00, 0xbc, 0xde, 0xa1, + 0xeb, 0x57, 0x06, 0x60, 0x01, 0x40, 0xa5, 0xf1, 0x7b, 0x05, 0x80, 0x21, + 0x00, 0x93, 0x00, 0x5e, 0x03, 0xd8, 0x27, 0xac, 0xcf, 0x20, 0x80, 0x2d, + 0xcb, 0x79, 0x57, 0x78, 0xef, 0xeb, 0x3c, 0x47, 0x93, 0x21, 0x5f, 0xa6, + 0x3c, 0x0f, 0x60, 0x02, 0xc0, 0x71, 0xc7, 0x18, 0xaf, 0x48, 0xeb, 0x04, + 0xa3, 0x09, 0xf2, 0x1e, 0x00, 0x39, 0x8a, 0x97, 0x5d, 0x7d, 0xcd, 0xfb, + 0xa0, 0x73, 0xfc, 0x00, 0x60, 0x13, 0xc0, 0x8c, 0xe9, 0x24, 0x01, 0x1c, + 0xe2, 0xfe, 0x5c, 0x07, 0xf0, 0xca, 0x9c, 0x9f, 0x5d, 0xa0, 0xb7, 0xbf, + 0x02, 0xf8, 0x0c, 0x60, 0x09, 0x40, 0x8f, 0x20, 0xbf, 0x40, 0xd9, 0x1a, + 0x80, 0xbb, 0x96, 0x73, 0x34, 0x71, 0xee, 0x1a, 0x1d, 0x6b, 0xb3, 0xc5, + 0x79, 0x6c, 0x35, 0xe4, 0xb5, 0xd4, 0x91, 0x3c, 0x8f, 0x1b, 0x17, 0xfa, + 0x6f, 0x01, 0x98, 0x07, 0xd0, 0xed, 0x5b, 0x7b, 0x73, 0xfd, 0x23, 0xc8, + 0xcd, 0xeb, 0x7f, 0x70, 0xd9, 0x05, 0xdf, 0xfe, 0x8b, 0x6b, 0x23, 0x85, + 0xf3, 0x5f, 0x01, 0x70, 0x2b, 0x86, 0x5d, 0x02, 0x80, 0x4e, 0x7e, 0x6f, + 0xb3, 0xdc, 0xff, 0x15, 0xc7, 0xf5, 0x2a, 0x01, 0x8c, 0x50, 0x37, 0x87, + 0x05, 0xfd, 0x57, 0x6d, 0x03, 0xc0, 0x34, 0x80, 0x13, 0x8e, 0xfe, 0x23, + 0x8e, 0xfe, 0x6a, 0xfd, 0xcf, 0x0a, 0x7b, 0x67, 0x4c, 0x9b, 0xff, 0x05, + 0xd7, 0xda, 0x99, 0xf3, 0xec, 0x5b, 0x1f, 0x00, 0x8b, 0x00, 0x6a, 0xf8, + 0xfd, 0x07, 0x00, 0x8b, 0x82, 0x7d, 0x2a, 0xd3, 0xfe, 0x5e, 0x33, 0xe4, + 0xe3, 0x4a, 0xe7, 0x2d, 0xfe, 0xe5, 0x9d, 0xb2, 0x69, 0xbc, 0x97, 0xe9, + 0x38, 0xf6, 0xc5, 0x3c, 0x4e, 0x98, 0xdb, 0x45, 0x7d, 0x7c, 0x51, 0xfb, + 0x1a, 0xf2, 0x09, 0x00, 0xbf, 0x01, 0x18, 0x4b, 0x68, 0x23, 0x32, 0x36, + 0xdf, 0xf7, 0xb5, 0x89, 0xb9, 0xa4, 0xe7, 0xa3, 0x9d, 0xfb, 0x04, 0x20, + 0x57, 0x8c, 0xeb, 0x01, 0x98, 0x4c, 0x22, 0x8f, 0xa8, 0xdf, 0xd8, 0xad, + 0x04, 0xe7, 0x76, 0xaf, 0xfb, 0x2e, 0xba, 0xbf, 0x6e, 0x13, 0x9b, 0xc4, + 0xc0, 0xd7, 0xcb, 0x92, 0x6f, 0xfc, 0x9a, 0x00, 0x7f, 0x4d, 0x32, 0x9e, + 0x9a, 0xfc, 0x1e, 0x41, 0xd8, 0x3d, 0x13, 0x64, 0x10, 0x5c, 0x74, 0x58, + 0x9c, 0xe3, 0x20, 0x80, 0x23, 0x00, 0x5e, 0xf1, 0xef, 0x51, 0x00, 0x27, + 0x8d, 0x63, 0xf2, 0x00, 0x1a, 0x01, 0x34, 0x00, 0x18, 0xf2, 0x8d, 0xd1, + 0x22, 0x2b, 0xa5, 0x91, 0xac, 0x77, 0x80, 0xff, 0x29, 0x00, 0x55, 0x82, + 0x6c, 0x3f, 0x01, 0x32, 0xe8, 0x40, 0xf7, 0xef, 0xc4, 0x0d, 0x4c, 0x20, + 0x77, 0x5f, 0xf8, 0xbd, 0x4f, 0x01, 0x04, 0x00, 0x97, 0x01, 0xdc, 0x31, + 0xe4, 0x23, 0x00, 0x0e, 0x47, 0x30, 0x54, 0x19, 0x82, 0x97, 0x05, 0x8b, + 0xbc, 0x9c, 0x00, 0x65, 0xc5, 0x22, 0x3f, 0xce, 0xf5, 0x45, 0xcc, 0xbd, + 0xd7, 0x0a, 0x20, 0x0b, 0xe0, 0x50, 0x84, 0x39, 0x38, 0x6d, 0xee, 0x11, + 0x2a, 0x4f, 0x3b, 0x03, 0xa0, 0x76, 0x00, 0x9f, 0x4c, 0xc3, 0x4d, 0xe7, + 0x51, 0xc6, 0x00, 0xf5, 0x41, 0x91, 0xd6, 0xe7, 0xa4, 0x09, 0x2e, 0x62, + 0xf4, 0x1d, 0x37, 0xf5, 0x42, 0x93, 0xdd, 0xe7, 0x1e, 0x6d, 0x06, 0xf0, + 0x45, 0x08, 0xde, 0x16, 0xa8, 0x3b, 0xd5, 0xd4, 0x81, 0xab, 0x96, 0xc0, + 0x6b, 0x43, 0x07, 0x92, 0x42, 0x70, 0x5f, 0xca, 0xf5, 0xfd, 0x6c, 0xc8, + 0x67, 0xd8, 0xbf, 0xdc, 0x43, 0x0e, 0x34, 0x12, 0xe4, 0x77, 0xc6, 0x75, + 0x90, 0x1e, 0xf9, 0x0c, 0x80, 0x1b, 0x00, 0x32, 0x51, 0xfa, 0x3b, 0x48, + 0x0a, 0x24, 0xb1, 0x91, 0x06, 0x58, 0xfd, 0x07, 0xb8, 0x8f, 0x01, 0x00, + 0x9e, 0x6a, 0x44, 0x83, 0x04, 0xf0, 0xe7, 0x54, 0x26, 0x51, 0x90, 0xdf, + 0x03, 0x70, 0x9d, 0xdf, 0xaf, 0x02, 0xe8, 0xb7, 0xcc, 0xbf, 0xda, 0xdf, + 0x9f, 0x3c, 0xfd, 0xef, 0x39, 0xd6, 0xbf, 0x55, 0x58, 0xff, 0x1c, 0x80, + 0x5f, 0x6c, 0xf3, 0x1f, 0x77, 0xde, 0x85, 0xbf, 0x07, 0x00, 0x74, 0x69, + 0x44, 0xd2, 0x80, 0x00, 0x7e, 0x6b, 0x35, 0x1b, 0x35, 0x27, 0xe8, 0xdd, + 0xa8, 0xc3, 0xbf, 0xf4, 0x00, 0x78, 0xc8, 0xef, 0x0f, 0x01, 0x5c, 0xf4, + 0x80, 0xcc, 0xbe, 0x98, 0xf7, 0xf7, 0x20, 0x8a, 0xf3, 0x76, 0xf4, 0x3f, + 0xa5, 0x8d, 0x7f, 0xcc, 0x0c, 0xd0, 0x76, 0x1b, 0x30, 0x4b, 0x01, 0xf0, + 0xd7, 0x01, 0x54, 0xef, 0x34, 0x60, 0x19, 0x23, 0x80, 0x08, 0x00, 0xff, + 0xdb, 0xbe, 0xbf, 0x0d, 0x45, 0x44, 0x24, 0xc0, 0xd7, 0x35, 0x00, 0x36, + 0x8a, 0x3d, 0xc0, 0x2f, 0x0e, 0xd9, 0x4b, 0xfd, 0xd3, 0xc7, 0xd0, 0x08, + 0x0c, 0xcc, 0x09, 0x8b, 0x73, 0x7c, 0xa5, 0x00, 0x3e, 0x8f, 0x19, 0x13, + 0x8e, 0x99, 0x02, 0x70, 0x16, 0xc0, 0x7b, 0x00, 0x1d, 0xbe, 0x31, 0x5a, + 0x64, 0x97, 0x01, 0xfc, 0xee, 0xb9, 0xff, 0x56, 0x33, 0xfb, 0xc0, 0xdf, + 0xab, 0x08, 0x82, 0x41, 0x07, 0x51, 0xb5, 0x43, 0x01, 0xfe, 0x7b, 0x09, + 0x04, 0x13, 0x54, 0x29, 0x06, 0xec, 0xa0, 0xe9, 0x00, 0x63, 0x02, 0x9c, + 0x8c, 0x14, 0x48, 0xd1, 0xf9, 0xd7, 0x01, 0xb8, 0x05, 0x60, 0xd8, 0x32, + 0x87, 0xd3, 0x00, 0x0e, 0x24, 0x00, 0xf8, 0x63, 0x00, 0x5a, 0x22, 0xce, + 0xc1, 0x2b, 0x00, 0x3f, 0x09, 0xe0, 0xb8, 0x83, 0x01, 0x48, 0x97, 0xc0, + 0xe0, 0x6d, 0x28, 0x70, 0xca, 0x63, 0xd6, 0x0a, 0xcc, 0xf0, 0x9c, 0xe4, + 0x18, 0x06, 0x3d, 0x0c, 0xb9, 0x2b, 0x83, 0xd1, 0xc8, 0xfe, 0x63, 0x0e, + 0xa0, 0xdf, 0x06, 0xe0, 0x9d, 0xf1, 0xdb, 0x0b, 0x82, 0xaf, 0x5b, 0x3c, + 0x75, 0x2f, 0x80, 0xac, 0xa4, 0x3b, 0x00, 0xfe, 0x92, 0x74, 0xc8, 0x00, + 0x78, 0xed, 0x00, 0xde, 0x1b, 0xec, 0xed, 0x4c, 0x54, 0xc3, 0xce, 0x00, + 0xec, 0x6d, 0xa1, 0x00, 0x3e, 0xaf, 0x9f, 0x8d, 0xd3, 0xbf, 0x58, 0x00, + 0x5f, 0x02, 0xf7, 0x31, 0x00, 0xfe, 0x73, 0xee, 0xd1, 0x01, 0x0b, 0xc0, + 0x1f, 0xd0, 0xb2, 0x9c, 0xa6, 0x7c, 0x01, 0xc0, 0x0f, 0x9a, 0xa3, 0x58, + 0xf0, 0x04, 0x68, 0xb9, 0x84, 0xfd, 0x55, 0x80, 0x30, 0x2d, 0x10, 0x38, + 0xa7, 0x53, 0x00, 0x58, 0x1f, 0xc0, 0xbf, 0xe8, 0x02, 0xe0, 0x04, 0xd0, + 0x8a, 0xa1, 0x3f, 0x00, 0x60, 0xc2, 0x12, 0x20, 0xdf, 0x90, 0x02, 0x6c, + 0x00, 0xfb, 0x78, 0x0f, 0xd5, 0xfc, 0xb4, 0x05, 0x8a, 0x07, 0x49, 0x34, + 0x64, 0x62, 0xde, 0xdf, 0x21, 0x9f, 0x8e, 0x78, 0xfa, 0xeb, 0x19, 0x88, + 0xc4, 0x24, 0x81, 0xe3, 0xba, 0xf3, 0x5a, 0x86, 0x26, 0x67, 0xfa, 0x58, + 0xca, 0x6e, 0x02, 0x58, 0xe5, 0xb1, 0x8d, 0x02, 0xb1, 0x73, 0x5f, 0xcb, + 0xf4, 0x2e, 0x08, 0xf7, 0x3f, 0xcb, 0x4c, 0xfd, 0x2d, 0x61, 0x7d, 0xab, + 0xe9, 0x57, 0x55, 0x86, 0xa9, 0x2e, 0x8e, 0x7d, 0xa4, 0x7d, 0xfb, 0xcc, + 0x20, 0x78, 0x58, 0x08, 0x60, 0xc1, 0x2c, 0x5f, 0x3f, 0x4b, 0x95, 0x8e, + 0xc5, 0x61, 0xd8, 0xa3, 0xc8, 0xb5, 0xef, 0x57, 0x25, 0x1b, 0xe0, 0xdb, + 0xff, 0x1c, 0xf7, 0x4d, 0x00, 0x1f, 0x01, 0xfc, 0x1c, 0x73, 0xfc, 0x35, + 0x24, 0xa9, 0x36, 0xf8, 0x79, 0xd0, 0xb3, 0x7e, 0x47, 0x84, 0xf5, 0xc9, + 0xda, 0xd6, 0x47, 0x3b, 0x47, 0x17, 0xb3, 0xc0, 0x59, 0x43, 0x76, 0x8e, + 0x24, 0xcb, 0x3a, 0x8f, 0xfb, 0xe8, 0xf3, 0x71, 0x31, 0xf5, 0x7f, 0x46, + 0xe1, 0x1a, 0x12, 0x59, 0x4b, 0x00, 0x4a, 0x75, 0x62, 0x57, 0xe9, 0x24, + 0x33, 0x66, 0x26, 0x01, 0xf1, 0x5c, 0xcd, 0x29, 0x6d, 0xec, 0x73, 0xe1, + 0xfc, 0x75, 0x1a, 0x4e, 0xc9, 0x19, 0xe7, 0x37, 0x9b, 0x8d, 0xc0, 0xdc, + 0x4a, 0x49, 0x54, 0x6d, 0x15, 0xb5, 0x1c, 0xdc, 0x07, 0x60, 0x1c, 0xfd, + 0xca, 0xb9, 0x79, 0x32, 0xfc, 0x2c, 0x11, 0x98, 0xdb, 0xac, 0x2a, 0x71, + 0x31, 0x64, 0xed, 0xdc, 0x58, 0x1d, 0x36, 0x76, 0x02, 0xc0, 0x25, 0xf6, + 0xbd, 0xcc, 0xbf, 0x8f, 0x00, 0x58, 0x8a, 0x39, 0xc6, 0x69, 0x00, 0x3f, + 0x46, 0x38, 0x2e, 0x67, 0x1a, 0x70, 0x96, 0xb5, 0xa8, 0x1a, 0xc8, 0xd3, + 0x66, 0x89, 0x4e, 0x14, 0x80, 0xf6, 0x15, 0xc0, 0x7d, 0x8b, 0xad, 0x74, + 0x88, 0x8a, 0x5f, 0xc2, 0x40, 0xa9, 0xc4, 0x16, 0x29, 0x46, 0x04, 0x38, + 0x17, 0x01, 0xfc, 0xe5, 0x50, 0xe0, 0x45, 0xd3, 0xc0, 0x50, 0x3e, 0xac, + 0x80, 0xa9, 0xc5, 0x80, 0x7c, 0xa2, 0x81, 0x98, 0x13, 0x0c, 0xd8, 0x1a, + 0x80, 0x3f, 0x99, 0xc9, 0x79, 0x6f, 0x5b, 0x47, 0xa6, 0xef, 0xe7, 0x2c, + 0xc1, 0xc5, 0x07, 0xee, 0xb3, 0x79, 0x00, 0x07, 0x0c, 0xf9, 0x2c, 0xf7, + 0x58, 0x39, 0x0d, 0x21, 0x24, 0xa6, 0x08, 0xc0, 0x94, 0x67, 0x6e, 0xa6, + 0x1c, 0x8a, 0xdb, 0x5d, 0xa0, 0x75, 0xbe, 0x20, 0x19, 0x12, 0x1a, 0xd9, + 0x9c, 0x39, 0x37, 0x34, 0x86, 0x07, 0x79, 0x8f, 0xf3, 0x64, 0x03, 0x37, + 0x2c, 0xf3, 0x5f, 0x67, 0x3a, 0x47, 0x61, 0x7f, 0x2f, 0x29, 0xb6, 0x54, + 0xbb, 0xee, 0xd3, 0x18, 0x00, 0xbf, 0x1c, 0xc0, 0x7a, 0x4c, 0x07, 0xee, + 0x2a, 0xef, 0x88, 0x74, 0xfd, 0x28, 0xfa, 0x99, 0x06, 0xe0, 0x13, 0xdc, + 0x8f, 0x26, 0x34, 0xec, 0x20, 0x30, 0xc8, 0x93, 0x4d, 0x96, 0xee, 0xbf, + 0x51, 0xd9, 0x67, 0x41, 0xbe, 0xa1, 0xb1, 0xfb, 0xff, 0xd2, 0x6f, 0xed, + 0xb6, 0x37, 0x69, 0x07, 0x9b, 0x13, 0xf6, 0x5f, 0x07, 0xf0, 0x87, 0x50, + 0xc2, 0xd3, 0xc4, 0xf3, 0xf6, 0x99, 0xb2, 0x02, 0x01, 0xfc, 0x06, 0x00, + 0xb3, 0xfc, 0xfe, 0xc1, 0x24, 0x31, 0x38, 0xf7, 0x37, 0xa9, 0x67, 0x47, + 0x01, 0x3c, 0xb3, 0x04, 0xd9, 0x70, 0x04, 0xc7, 0x0f, 0x69, 0x1f, 0x1f, + 0xba, 0x08, 0x24, 0xb3, 0x3c, 0x29, 0x46, 0x20, 0x3a, 0xe4, 0x0b, 0x82, + 0x76, 0x00, 0x41, 0x54, 0xc2, 0x79, 0x92, 0x4a, 0x20, 0x7f, 0xd7, 0x32, + 0xb4, 0x13, 0xc2, 0xdc, 0x5d, 0x06, 0x50, 0x61, 0x39, 0xef, 0x28, 0xed, + 0x77, 0x39, 0xf7, 0x39, 0x04, 0x52, 0xe6, 0x9c, 0x96, 0x61, 0x9d, 0x88, + 0xb9, 0x7f, 0x3e, 0x03, 0x38, 0xc6, 0xb5, 0xcf, 0x59, 0xf4, 0xeb, 0x05, + 0x03, 0x89, 0x33, 0x8e, 0x0c, 0x74, 0x22, 0xa2, 0x41, 0x0b, 0x80, 0xaf, + 0x02, 0xb8, 0x9d, 0xa4, 0x3f, 0xef, 0x5b, 0x7d, 0x66, 0xe3, 0x8c, 0x9f, + 0xf8, 0x44, 0xcd, 0xef, 0x5d, 0x55, 0x0d, 0x61, 0xf4, 0xbf, 0x4e, 0xf9, + 0x1f, 0x02, 0xc1, 0x35, 0x42, 0xe2, 0x47, 0x5c, 0x1f, 0xed, 0x1c, 0x8f, + 0xa4, 0xf2, 0x55, 0xfa, 0xd5, 0x9f, 0x74, 0x50, 0x5c, 0x60, 0xfd, 0xbf, + 0xa1, 0xc8, 0x59, 0x66, 0xd0, 0xcc, 0x0c, 0x63, 0x16, 0x40, 0x83, 0x46, + 0x84, 0xbd, 0x15, 0xfc, 0x7f, 0x56, 0xd9, 0x11, 0x93, 0xa0, 0xe5, 0xdc, + 0x5c, 0xd3, 0xbe, 0xf7, 0x5b, 0xc6, 0x59, 0xca, 0xb9, 0x3a, 0x61, 0xb1, + 0x2f, 0xf3, 0x29, 0x01, 0x7e, 0x16, 0xc0, 0xa9, 0x62, 0x2a, 0x78, 0x7f, + 0xc2, 0x7e, 0xcd, 0x8a, 0x65, 0x70, 0xb1, 0x0b, 0xdc, 0x24, 0x13, 0x52, + 0x0a, 0x54, 0xb1, 0xf7, 0x1a, 0xe0, 0x6f, 0xd7, 0x22, 0xae, 0x39, 0x46, + 0xe9, 0x13, 0xac, 0x27, 0x7f, 0x26, 0x31, 0xa1, 0x9e, 0x31, 0xae, 0xdb, + 0x4a, 0x08, 0x8c, 0xe3, 0xde, 0x00, 0x38, 0xfa, 0xb5, 0x53, 0x50, 0x69, + 0x83, 0x03, 0x15, 0x84, 0x78, 0x00, 0xfe, 0x44, 0x1a, 0x80, 0x4f, 0x23, + 0x3a, 0xe3, 0x28, 0x51, 0xaa, 0x61, 0x9d, 0xe8, 0x88, 0xf1, 0xfb, 0x7f, + 0x54, 0x09, 0x80, 0x47, 0xd1, 0x4b, 0x18, 0x40, 0x98, 0x06, 0x6e, 0x93, + 0x0e, 0x26, 0x43, 0x20, 0x3e, 0x6d, 0xe9, 0xff, 0xa7, 0x52, 0x54, 0xe3, + 0xf7, 0x41, 0x4d, 0x81, 0x2f, 0x09, 0x06, 0xb0, 0x89, 0xca, 0x95, 0xa7, + 0x81, 0x84, 0xed, 0x1e, 0x13, 0xae, 0xcd, 0x59, 0x00, 0x6f, 0xe9, 0xe4, + 0x8f, 0x27, 0x64, 0xf0, 0x8f, 0xb3, 0xff, 0xb4, 0xc9, 0xf0, 0x68, 0x46, + 0xb6, 0x5e, 0xf8, 0x7d, 0x93, 0xf3, 0xba, 0xae, 0xd8, 0x37, 0xa1, 0x8c, + 0xa7, 0x41, 0x31, 0x8c, 0x52, 0x29, 0x94, 0xe6, 0xc0, 0x2a, 0xe9, 0x20, + 0x5e, 0x6b, 0xb2, 0xce, 0x04, 0x00, 0x3f, 0x5f, 0x40, 0x06, 0xff, 0x1f, + 0xd7, 0x4f, 0xc2, 0x10, 0x15, 0x08, 0xe0, 0xdf, 0x22, 0x53, 0x74, 0x36, + 0x21, 0xc0, 0x3f, 0xc6, 0xcf, 0x06, 0xdb, 0x78, 0x69, 0x63, 0x8f, 0x26, + 0x01, 0xf8, 0x9e, 0xeb, 0x9b, 0xfd, 0xd7, 0x2d, 0xd7, 0x7f, 0x02, 0xe0, + 0x9c, 0xe3, 0x3c, 0xdd, 0x74, 0xa0, 0x2d, 0x85, 0x74, 0xf0, 0xfc, 0x6d, + 0x99, 0x73, 0xb3, 0x2c, 0xc8, 0x4e, 0x13, 0x00, 0x29, 0xa6, 0xb2, 0x2f, + 0x01, 0xc0, 0x57, 0xcf, 0xa0, 0x34, 0x39, 0x74, 0xf8, 0x65, 0x8a, 0x7d, + 0x7a, 0xda, 0x55, 0x5e, 0xba, 0x9d, 0x00, 0x1f, 0x40, 0x3d, 0x33, 0x44, + 0xf3, 0xb4, 0x23, 0x3e, 0xfd, 0x31, 0x01, 0xd4, 0xb3, 0x08, 0xbe, 0xb7, + 0xd2, 0x71, 0xbe, 0xbc, 0x61, 0xfe, 0x36, 0x62, 0xee, 0x9f, 0x9c, 0x06, + 0xf0, 0x57, 0x2c, 0xfa, 0x55, 0x9e, 0x56, 0xff, 0x3d, 0x00, 0xfd, 0x9a, + 0x94, 0xfd, 0x8f, 0x19, 0x20, 0xc0, 0xa6, 0x0f, 0xae, 0xf1, 0x73, 0xfe, + 0xaa, 0x34, 0x30, 0x9b, 0x77, 0xd8, 0xdf, 0x4a, 0x41, 0xbf, 0x9d, 0xeb, + 0x23, 0x8d, 0xc1, 0x90, 0x75, 0x30, 0xf0, 0xbe, 0x6d, 0x0b, 0xf2, 0x52, + 0x02, 0xfc, 0x1a, 0xcd, 0x3f, 0xfd, 0x0b, 0x9f, 0x91, 0x3c, 0x3c, 0xc3, + 0x67, 0x40, 0xcf, 0x4b, 0xfe, 0x88, 0x63, 0xcc, 0x4b, 0x15, 0x20, 0x24, + 0xc0, 0x26, 0xf8, 0x7d, 0xce, 0x61, 0x03, 0xac, 0xe5, 0x7b, 0x9c, 0x9f, + 0xb6, 0x94, 0x00, 0xbf, 0x49, 0x58, 0xbb, 0x4e, 0xfa, 0xfd, 0x7e, 0x62, + 0x80, 0x7d, 0x66, 0x89, 0x75, 0xb1, 0x8d, 0x03, 0xe2, 0x30, 0x64, 0x04, + 0xe8, 0x12, 0x4b, 0x38, 0x46, 0x90, 0xff, 0xca, 0xa8, 0xc9, 0x5f, 0x56, + 0x6c, 0x2a, 0xe5, 0xe3, 0x00, 0x6e, 0x24, 0x18, 0xe7, 0xba, 0xaf, 0x46, + 0x74, 0x3b, 0x01, 0x7e, 0x01, 0x0c, 0xf4, 0x7b, 0x87, 0x7c, 0x41, 0xb1, + 0xea, 0x49, 0x4b, 0x74, 0x98, 0x21, 0x98, 0x35, 0xd3, 0xa7, 0x51, 0x32, + 0x41, 0x64, 0xd6, 0xa2, 0xee, 0x91, 0x72, 0x01, 0xa0, 0xcc, 0x2b, 0xc0, + 0x4d, 0x96, 0x47, 0x62, 0xa0, 0xcb, 0x98, 0x3d, 0xa8, 0x74, 0xad, 0xbd, + 0xc4, 0x20, 0x1b, 0xc7, 0xb6, 0xda, 0x18, 0x9e, 0x02, 0xac, 0xd3, 0x19, + 0x1b, 0x3b, 0x15, 0xa1, 0xef, 0x84, 0x99, 0xfd, 0x8a, 0xd8, 0x2f, 0x4f, + 0xa3, 0xb0, 0xc9, 0x14, 0x7a, 0x8f, 0x90, 0x81, 0xba, 0x68, 0x2c, 0xcd, + 0x45, 0x87, 0x83, 0x28, 0xd3, 0xe7, 0x8f, 0x4e, 0x35, 0x6e, 0x89, 0xce, + 0x74, 0x01, 0x01, 0x7e, 0x93, 0xc4, 0x78, 0x15, 0x03, 0xe0, 0x13, 0xfc, + 0xba, 0x4a, 0x74, 0xf6, 0xd1, 0x7e, 0xd4, 0xa6, 0xb9, 0x3f, 0x07, 0xc0, + 0x3f, 0x4b, 0x72, 0x23, 0x51, 0x89, 0x8e, 0xe3, 0xfa, 0xf3, 0x46, 0xff, + 0x45, 0xcb, 0xf5, 0x33, 0x0c, 0x30, 0x6b, 0x1d, 0xe7, 0xaa, 0xb3, 0x3d, + 0x68, 0xe6, 0x98, 0xf7, 0x2d, 0xad, 0x44, 0xae, 0x14, 0xc0, 0xa6, 0x85, + 0x3d, 0x1f, 0xb0, 0x94, 0x90, 0x1d, 0xa4, 0x63, 0x9e, 0x65, 0x89, 0xc2, + 0x75, 0xe1, 0x98, 0x71, 0x06, 0x61, 0xe3, 0x09, 0x00, 0x48, 0x86, 0x81, + 0x6f, 0x75, 0x01, 0x18, 0xba, 0x43, 0x3b, 0xd0, 0x7f, 0xcc, 0x91, 0x40, + 0xa9, 0xa7, 0x7d, 0xf4, 0xed, 0xc7, 0x37, 0xc6, 0xdf, 0x2f, 0x3c, 0xe7, + 0xff, 0xe2, 0x01, 0xf8, 0x6b, 0x11, 0xc9, 0x37, 0x38, 0x82, 0x7c, 0xd0, + 0xbe, 0x75, 0x26, 0x09, 0x20, 0x0b, 0x00, 0xf0, 0x7b, 0xa9, 0x1b, 0x35, + 0x49, 0xfa, 0xfb, 0x00, 0xbe, 0xe7, 0xef, 0xbc, 0xe6, 0xdf, 0x32, 0x02, + 0x81, 0x63, 0x02, 0xfc, 0x2f, 0x42, 0xff, 0x0a, 0x1f, 0xc0, 0xf7, 0xcc, + 0x8d, 0x62, 0xff, 0x3f, 0x00, 0xb8, 0x94, 0x14, 0xe0, 0xd3, 0xbf, 0xc0, + 0xe2, 0xff, 0xda, 0x54, 0x26, 0x4f, 0x00, 0xde, 0xbd, 0xda, 0x4b, 0x34, + 0x6e, 0xc7, 0x01, 0xf8, 0x94, 0x8f, 0x32, 0x8b, 0x94, 0xb5, 0xc8, 0xaf, + 0xb8, 0x08, 0x70, 0xda, 0xe6, 0xa9, 0x94, 0xf6, 0x61, 0x44, 0x78, 0x81, + 0xc1, 0x5d, 0xfa, 0x95, 0xa3, 0xfc, 0x3e, 0xe4, 0x22, 0x59, 0x7c, 0x0a, + 0x34, 0x95, 0xb0, 0xdf, 0x0b, 0x4e, 0xfe, 0x0b, 0x57, 0x14, 0xa3, 0xca, + 0x6c, 0x4c, 0x30, 0x6a, 0x3c, 0x04, 0xa5, 0x00, 0xfe, 0xa0, 0xe6, 0x7c, + 0xae, 0x70, 0x03, 0xd5, 0x31, 0x8d, 0x7a, 0x37, 0xee, 0x9b, 0x4e, 0x62, + 0x94, 0xe8, 0x2c, 0x45, 0x09, 0x04, 0x12, 0xce, 0xd3, 0x64, 0xca, 0xfe, + 0xb6, 0x12, 0x90, 0xfb, 0x00, 0x2e, 0x38, 0xfa, 0xf5, 0x2b, 0xa5, 0x63, + 0x8a, 0xeb, 0x4e, 0x4c, 0x05, 0x6c, 0xa3, 0xf3, 0xac, 0xf5, 0x8c, 0x2f, + 0x43, 0x16, 0xef, 0x65, 0x42, 0x43, 0x59, 0xc2, 0xfd, 0x61, 0xa6, 0x80, + 0x7b, 0xb5, 0x14, 0xdd, 0x31, 0xf3, 0x2d, 0x29, 0xfc, 0xfd, 0xbc, 0x54, + 0x3a, 0x44, 0xd9, 0x0c, 0x53, 0x6f, 0x19, 0x1a, 0xa1, 0x19, 0xcb, 0x71, + 0x87, 0x6d, 0x6f, 0x7a, 0x89, 0xb2, 0x7e, 0x69, 0xd7, 0xb7, 0x48, 0x7b, + 0xe3, 0x2d, 0x83, 0x96, 0x61, 0x0d, 0x04, 0x99, 0x35, 0xae, 0x03, 0xca, + 0x68, 0xd0, 0xc8, 0x0d, 0x58, 0x1c, 0x50, 0x05, 0x41, 0x92, 0x09, 0xd0, + 0x67, 0xa9, 0xa3, 0x65, 0x1e, 0x07, 0x76, 0x84, 0x63, 0x38, 0x57, 0x28, + 0x80, 0xaf, 0xdd, 0xe3, 0x75, 0xcd, 0x46, 0x14, 0x0b, 0xe0, 0xb7, 0xd9, + 0x4a, 0x00, 0xb4, 0xef, 0x3f, 0x12, 0x64, 0x96, 0x15, 0x1a, 0xe0, 0x6b, + 0x73, 0x2d, 0x3d, 0x64, 0xab, 0x32, 0x54, 0xd6, 0x87, 0x64, 0x1d, 0xd7, + 0xef, 0x33, 0xfa, 0x3f, 0x75, 0x5c, 0xbf, 0x91, 0xf7, 0x57, 0x2a, 0x9c, + 0x67, 0x1f, 0xf5, 0x77, 0x2e, 0xa6, 0xde, 0x67, 0xc9, 0x80, 0x96, 0x33, + 0x00, 0x9d, 0xb5, 0x38, 0xd8, 0x4d, 0xe9, 0x21, 0x70, 0xca, 0x57, 0x99, + 0xc1, 0xdb, 0x04, 0xf0, 0x8b, 0xe0, 0x5f, 0xc6, 0x34, 0xa0, 0x7f, 0x32, + 0xe6, 0xf8, 0xfa, 0x00, 0xfc, 0x9a, 0x96, 0xe0, 0x61, 0x20, 0xfd, 0x60, + 0x07, 0x02, 0xfc, 0x35, 0xea, 0xe6, 0x7e, 0xde, 0xab, 0xc4, 0x20, 0xdf, + 0xe4, 0xfa, 0x74, 0x0a, 0x19, 0xd0, 0x47, 0x2c, 0xa3, 0xb0, 0x95, 0xe8, + 0x0c, 0xd3, 0x6e, 0x94, 0x33, 0xc3, 0x6b, 0x9e, 0xff, 0x09, 0x03, 0x8c, + 0xca, 0x84, 0x7e, 0x23, 0x6b, 0x63, 0x5d, 0xbf, 0x16, 0xc0, 0xd7, 0xc8, + 0x86, 0x49, 0x9f, 0x1d, 0x2c, 0x02, 0xc0, 0x7f, 0xad, 0x3d, 0x84, 0x7e, + 0xde, 0x52, 0xa2, 0xa3, 0xf4, 0xab, 0x57, 0x20, 0x78, 0x46, 0xb8, 0x3e, + 0x65, 0x3c, 0x0e, 0x49, 0xf6, 0x26, 0xfd, 0xf7, 0x61, 0x47, 0x8d, 0x7a, + 0xde, 0x92, 0x65, 0xce, 0x91, 0x40, 0xac, 0x66, 0x16, 0x14, 0x16, 0xdd, + 0x59, 0x01, 0xf0, 0x9b, 0x20, 0xbb, 0x49, 0x12, 0x6f, 0x94, 0xf7, 0x6a, + 0xea, 0x7f, 0x15, 0xed, 0xa6, 0x58, 0xa2, 0xc3, 0x63, 0x2e, 0xd0, 0x86, + 0x5c, 0xb7, 0x10, 0x73, 0x43, 0xae, 0xfa, 0x78, 0x93, 0xf8, 0x4a, 0xb8, + 0xbf, 0xf2, 0xbe, 0x32, 0xa7, 0xb4, 0x8a, 0x9e, 0x94, 0x5d, 0xcc, 0xf1, + 0xe1, 0xa6, 0x9c, 0x59, 0xdf, 0xac, 0x81, 0x66, 0xd5, 0x46, 0x04, 0x80, + 0xa1, 0x3f, 0x44, 0xa4, 0x4a, 0x74, 0xda, 0x34, 0x50, 0xf0, 0x86, 0x69, + 0xe4, 0x79, 0xca, 0xdb, 0x5d, 0x6f, 0xcc, 0xb1, 0x8c, 0xf1, 0xb2, 0xed, + 0xe1, 0x17, 0x23, 0x0a, 0x7b, 0x5c, 0xc4, 0xf9, 0x5d, 0x2c, 0xf4, 0xfa, + 0x30, 0x22, 0x5f, 0x70, 0xbd, 0x86, 0x8d, 0xc7, 0xa8, 0xd7, 0x64, 0x0e, + 0x99, 0x86, 0x38, 0x42, 0x0d, 0xf4, 0xa6, 0x47, 0xae, 0x5e, 0x5f, 0xb9, + 0xca, 0x07, 0x35, 0x2b, 0xe2, 0x6e, 0x74, 0x66, 0x6a, 0xb6, 0x08, 0xd6, + 0xcc, 0xfd, 0x51, 0xc1, 0xda, 0xfb, 0x77, 0xac, 0xb7, 0x6c, 0xb7, 0x80, + 0xbc, 0x46, 0xcb, 0xf5, 0x8e, 0xb0, 0xef, 0x26, 0x3f, 0xcd, 0x87, 0x8c, + 0x56, 0xb4, 0xfa, 0xf2, 0x6b, 0x49, 0x03, 0xe0, 0xb4, 0xeb, 0x5b, 0x0c, + 0xdd, 0xa5, 0xc1, 0x5f, 0x30, 0xef, 0xd9, 0x1c, 0xb7, 0x91, 0xe1, 0xf9, + 0x68, 0xd9, 0x1f, 0x1b, 0xcc, 0xb4, 0x99, 0xeb, 0x53, 0xcf, 0xdf, 0xd7, + 0x3d, 0xaf, 0xc9, 0x5c, 0xb0, 0x94, 0xe7, 0x79, 0x6b, 0xf0, 0x3d, 0xf7, + 0x5e, 0xc9, 0x07, 0x2d, 0x57, 0xb8, 0x8f, 0xee, 0xc4, 0x75, 0xf0, 0x9e, + 0xf2, 0xa8, 0x05, 0x8a, 0x72, 0x12, 0x81, 0x21, 0x9c, 0xbf, 0x4b, 0x0f, + 0x36, 0xe3, 0xde, 0x9f, 0x07, 0xe0, 0x5f, 0x12, 0xe4, 0xfb, 0x7d, 0xaf, + 0xb9, 0xf4, 0xcc, 0x5f, 0x05, 0xcb, 0xd8, 0x26, 0xa9, 0x23, 0x87, 0x3c, + 0xe3, 0xb9, 0x0a, 0xa0, 0x57, 0xd0, 0xff, 0x3c, 0xaf, 0xdf, 0x10, 0x13, + 0xe0, 0x34, 0x6b, 0xaf, 0xb1, 0x9d, 0x93, 0x00, 0xb8, 0xeb, 0x35, 0xae, + 0x9a, 0xfe, 0xb7, 0x53, 0x87, 0x5b, 0x1c, 0xfe, 0xc5, 0xfa, 0x90, 0xaa, + 0x63, 0x7c, 0x9b, 0x85, 0x78, 0x86, 0x83, 0x20, 0xe0, 0xa3, 0x0d, 0xc8, + 0x6e, 0x23, 0xc0, 0xef, 0x21, 0xc8, 0x5f, 0x92, 0x5e, 0x63, 0xcc, 0x5b, + 0xbe, 0x4d, 0xbf, 0x3c, 0x23, 0xe8, 0x7f, 0x46, 0xd3, 0x3f, 0xe9, 0x35, + 0xc6, 0x0d, 0x5c, 0xdf, 0x35, 0xf5, 0x8c, 0x93, 0x10, 0x18, 0x3e, 0xa6, + 0xff, 0x70, 0x3d, 0xc4, 0x68, 0x9b, 0xf7, 0x87, 0xc6, 0xab, 0x5c, 0x07, + 0xb7, 0x03, 0xe0, 0xf3, 0x7b, 0xb7, 0x83, 0x68, 0x72, 0xea, 0x7f, 0x0a, + 0x80, 0x5f, 0xc3, 0x3d, 0x3e, 0xc9, 0xcf, 0x83, 0x8e, 0xf5, 0xcb, 0x0a, + 0xeb, 0xd7, 0x40, 0xbd, 0x13, 0xd7, 0xc7, 0x37, 0x37, 0x1a, 0xbe, 0xcb, + 0x93, 0x48, 0x6d, 0x77, 0x64, 0x5a, 0xd6, 0x00, 0xac, 0x1a, 0xbf, 0xb7, + 0x30, 0x48, 0x79, 0x62, 0x7b, 0x9b, 0x1f, 0x6d, 0xfc, 0xbc, 0x94, 0x21, + 0xa1, 0x8f, 0xcb, 0xd1, 0x0e, 0xae, 0x9b, 0x65, 0xb0, 0x24, 0x9e, 0x3b, + 0x34, 0x26, 0xff, 0xb9, 0xc5, 0x06, 0x6e, 0x58, 0x9e, 0xbd, 0x5b, 0x2d, + 0x90, 0xfe, 0xa7, 0x92, 0xef, 0xf8, 0xb6, 0x9d, 0x37, 0x10, 0xe1, 0x35, + 0x99, 0x07, 0xa8, 0x20, 0x55, 0x45, 0xba, 0xfe, 0x70, 0xd2, 0x7f, 0x52, + 0x12, 0xda, 0xff, 0xd8, 0x81, 0xa3, 0xae, 0x14, 0xe8, 0x36, 0x8f, 0x6f, + 0xc7, 0xae, 0x2f, 0xd9, 0x35, 0xf5, 0xbf, 0x0a, 0x56, 0xc3, 0x6e, 0x0a, + 0xcd, 0xb1, 0x57, 0x66, 0x6c, 0x00, 0x3d, 0xb4, 0xe2, 0xfa, 0xb7, 0xef, + 0xfd, 0x35, 0x8a, 0x29, 0xe6, 0xed, 0x2d, 0x5f, 0x1e, 0xa0, 0x5e, 0xe3, + 0xba, 0x5c, 0x84, 0x6b, 0xd4, 0x9a, 0xf5, 0xd1, 0xdf, 0xea, 0xbe, 0xfc, + 0x1e, 0xf7, 0x21, 0x83, 0xdc, 0xfb, 0x29, 0xcf, 0xb1, 0x6a, 0xc3, 0x97, + 0x11, 0x82, 0xa4, 0xfa, 0xe0, 0x9b, 0xd3, 0x2f, 0x62, 0xa2, 0x7f, 0x74, + 0x15, 0x5a, 0x68, 0xa1, 0x85, 0xf6, 0x9d, 0xd8, 0xc8, 0x53, 0xdb, 0x99, + 0x89, 0xda, 0xed, 0x00, 0x3f, 0xc5, 0x4b, 0x12, 0x10, 0x00, 0x7e, 0xe2, + 0x79, 0xef, 0x66, 0x66, 0x77, 0x83, 0x25, 0xbc, 0xcd, 0x05, 0x3e, 0x7f, + 0x8e, 0x59, 0xce, 0xae, 0x00, 0xf0, 0xbf, 0xc9, 0xfd, 0xf3, 0x91, 0x99, + 0x87, 0x4c, 0xca, 0xf3, 0xb4, 0x4b, 0xcf, 0x97, 0x46, 0x04, 0xf8, 0xce, + 0x7f, 0xe2, 0x6a, 0x6b, 0x7b, 0x83, 0xfa, 0x87, 0x16, 0x5a, 0x68, 0xa1, + 0x85, 0x16, 0xda, 0xb7, 0x19, 0x54, 0x58, 0x9d, 0xff, 0xde, 0xbd, 0xc1, + 0xff, 0x87, 0x16, 0xda, 0x0e, 0xd2, 0xd5, 0x42, 0xeb, 0xe4, 0xdf, 0xd9, + 0x56, 0x04, 0x36, 0xef, 0x0c, 0x39, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x49, + 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __font_console_png_len = 3499; +unsigned char __font_small_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x03, 0x6a, 0x00, 0x00, 0x00, 0x10, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x67, 0x7a, 0x8c, 0x31, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x18, 0x06, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x5d, 0x0f, 0x64, + 0x96, 0xdf, 0x17, 0xff, 0x7a, 0xcd, 0xcc, 0x4c, 0x32, 0x33, 0x33, 0x33, + 0x99, 0x99, 0x99, 0x24, 0x93, 0x99, 0xc9, 0x24, 0x99, 0xc9, 0x64, 0x92, + 0x49, 0x32, 0x99, 0x4c, 0x92, 0x24, 0x49, 0x92, 0x48, 0x26, 0x99, 0x4c, + 0xbe, 0x92, 0xaf, 0x64, 0x66, 0x32, 0x49, 0x92, 0x64, 0x92, 0xaf, 0x24, + 0x99, 0x24, 0x99, 0xc9, 0x64, 0x32, 0x99, 0x99, 0x64, 0x26, 0x33, 0x33, + 0xaf, 0xd7, 0xf3, 0x7b, 0x9f, 0x7c, 0x6e, 0x7d, 0x76, 0x76, 0xee, 0x7d, + 0xee, 0xfb, 0x67, 0x7f, 0xfa, 0xfe, 0x9e, 0xab, 0xab, 0xbd, 0xf7, 0xbd, + 0xcf, 0xb9, 0xff, 0xce, 0x3d, 0xf7, 0x7c, 0xce, 0x39, 0xf7, 0x79, 0xff, + 0x0a, 0x82, 0xe0, 0xaf, 0x35, 0xf9, 0xaf, 0xf0, 0xdf, 0xea, 0xa4, 0x95, + 0xb9, 0xca, 0x73, 0xa9, 0x9b, 0x09, 0xcd, 0x5c, 0x9e, 0x93, 0xf5, 0xb3, + 0x19, 0x63, 0x54, 0x9b, 0xb9, 0x8e, 0x39, 0xd3, 0xb6, 0x73, 0xe9, 0x6b, + 0x26, 0xf5, 0xf2, 0xbd, 0x96, 0x71, 0xbd, 0xdc, 0xf7, 0xd8, 0x66, 0xd4, + 0xcb, 0x66, 0xaf, 0x6e, 0xa6, 0xcc, 0xc8, 0x77, 0xdb, 0xf9, 0x9e, 0xa3, + 0xf5, 0xe0, 0x9f, 0xcd, 0x1c, 0xfb, 0x46, 0xc8, 0xff, 0x3f, 0x85, 0xee, + 0x56, 0xe7, 0xe5, 0x8d, 0x6e, 0x67, 0xa3, 0xcf, 0xc6, 0x7c, 0xcf, 0x6f, + 0x2e, 0xf2, 0xfa, 0x4f, 0x3e, 0x8b, 0x37, 0xaa, 0xbd, 0xf5, 0x5c, 0xc3, + 0xf5, 0xd6, 0x31, 0xb7, 0x6a, 0xbd, 0x7c, 0xf0, 0xd3, 0x66, 0xca, 0xb1, + 0xad, 0xac, 0xeb, 0xf8, 0xe2, 0x89, 0xac, 0xfa, 0xa6, 0x01, 0xb5, 0x38, + 0xc5, 0x29, 0x4e, 0x71, 0x8a, 0x53, 0x9c, 0xe2, 0x14, 0xa7, 0x38, 0xc5, + 0x29, 0x4e, 0x71, 0x8a, 0xd3, 0x26, 0xa6, 0x18, 0xa8, 0xc5, 0x29, 0x4e, + 0x71, 0x8a, 0x53, 0x9c, 0xe2, 0x14, 0xa7, 0x38, 0x65, 0xac, 0x3f, 0x55, + 0xa6, 0x73, 0x4f, 0xf8, 0x7f, 0x3c, 0x1b, 0x71, 0x8a, 0x53, 0x9c, 0x36, + 0x1c, 0xa8, 0xa5, 0xff, 0x6e, 0x48, 0xe7, 0xcb, 0xe9, 0x7c, 0x84, 0xca, + 0x4e, 0xa7, 0x73, 0x73, 0x3a, 0xef, 0x4c, 0xe7, 0x4b, 0x0a, 0xbd, 0xa2, + 0x74, 0x3e, 0x9c, 0xce, 0x25, 0xe9, 0x5c, 0x91, 0xce, 0x87, 0x1c, 0x6d, + 0x1f, 0xd1, 0x68, 0x88, 0xef, 0x07, 0xd1, 0x87, 0x42, 0x2a, 0xdf, 0x85, + 0xf2, 0x02, 0xc7, 0xb3, 0xc5, 0xe9, 0x7c, 0x21, 0x9d, 0x87, 0xd3, 0xf9, + 0x4e, 0x3a, 0x1f, 0x73, 0xd4, 0xfd, 0x39, 0x26, 0x51, 0x76, 0x26, 0x9d, + 0xa7, 0xc2, 0xb6, 0xa8, 0xec, 0x55, 0x3a, 0xbf, 0x70, 0xd0, 0x39, 0xe0, + 0x6a, 0x67, 0x13, 0xd6, 0xb6, 0x10, 0x73, 0x57, 0xae, 0x7c, 0xb7, 0x0f, + 0xf3, 0x72, 0x2f, 0x9d, 0x3b, 0x2d, 0xcf, 0x6f, 0x4b, 0xe7, 0xf6, 0x70, + 0x8d, 0x40, 0x67, 0x97, 0x52, 0x67, 0x7f, 0x3a, 0x5f, 0x4b, 0xe7, 0xa1, + 0x74, 0xfe, 0x27, 0x5c, 0x7b, 0x0b, 0xad, 0x8e, 0x74, 0xee, 0xc7, 0x7a, + 0x84, 0xf5, 0xba, 0x23, 0xd6, 0xaf, 0x02, 0x6d, 0xda, 0xda, 0x3d, 0x4e, + 0xdf, 0x9b, 0xdc, 0xe5, 0x18, 0xc7, 0xb9, 0x74, 0xbe, 0x9f, 0xce, 0x7f, + 0xcb, 0x35, 0xc2, 0x61, 0x7b, 0xd9, 0x92, 0x2b, 0x95, 0x39, 0xed, 0x05, + 0xad, 0x90, 0x07, 0xcf, 0x87, 0xf4, 0x2d, 0xed, 0x1e, 0xc3, 0x58, 0x6f, + 0x4b, 0xfe, 0xfa, 0x83, 0xe4, 0x43, 0x38, 0xde, 0xa3, 0xe0, 0x95, 0x70, + 0x8d, 0xcf, 0xf2, 0x5e, 0x74, 0x3c, 0x57, 0xae, 0xf1, 0x9d, 0x63, 0xff, + 0x85, 0x73, 0x7d, 0xce, 0x51, 0xe7, 0x1c, 0xad, 0xc9, 0x25, 0x28, 0x47, + 0xd5, 0x96, 0xba, 0x05, 0xe0, 0x8f, 0xbb, 0xe8, 0xf3, 0x45, 0x59, 0x97, + 0xe8, 0x5d, 0xc2, 0xdf, 0x5d, 0xe9, 0x5c, 0xe6, 0xd1, 0xf6, 0xaf, 0x9c, + 0x69, 0x1d, 0xea, 0xdb, 0x51, 0xf0, 0xe1, 0x30, 0xf6, 0x44, 0xb8, 0x37, + 0x12, 0x16, 0x7a, 0x3b, 0xa8, 0xac, 0x05, 0x65, 0x47, 0x5d, 0xf5, 0xa2, + 0xbe, 0xb3, 0xd0, 0x3e, 0x81, 0xb2, 0x6e, 0x1f, 0x1a, 0x96, 0x3a, 0x17, + 0x44, 0x79, 0x1d, 0xcd, 0xc5, 0x01, 0xa5, 0xfe, 0x21, 0xe5, 0xac, 0x39, + 0x2a, 0x68, 0x94, 0x40, 0x16, 0xdf, 0x87, 0xac, 0x0a, 0xf7, 0x5e, 0xb1, + 0xe7, 0x3a, 0x9d, 0x4a, 0xe7, 0x1a, 0x4b, 0x5d, 0x49, 0xf7, 0x94, 0x27, + 0x5d, 0xc3, 0x7b, 0x15, 0x4a, 0xbd, 0x04, 0xe4, 0xda, 0x3d, 0xf0, 0xdd, + 0xf5, 0x70, 0x6d, 0x45, 0x9d, 0xf3, 0x0e, 0x59, 0x73, 0xce, 0x63, 0x9d, + 0x8c, 0xdc, 0xdb, 0x83, 0xcf, 0xa7, 0xf0, 0xb9, 0x5e, 0x3c, 0x5b, 0x23, + 0x69, 0xa6, 0xff, 0x3e, 0x88, 0xb2, 0xbd, 0x54, 0xd6, 0xa9, 0xac, 0x4f, + 0xbb, 0x52, 0xaf, 0x15, 0x65, 0x27, 0x44, 0x3b, 0x86, 0x6f, 0x5a, 0xa9, + 0xec, 0x02, 0xf7, 0x51, 0x29, 0x6f, 0xa2, 0xb2, 0x7a, 0xc7, 0x7c, 0x9c, + 0x14, 0xcf, 0x4f, 0x53, 0xbe, 0x44, 0xf3, 0x59, 0x6f, 0x59, 0xb7, 0x9d, + 0xe2, 0x99, 0x0e, 0x87, 0xbc, 0x08, 0xfb, 0xd6, 0x93, 0xa5, 0x8c, 0x7c, + 0x18, 0xea, 0x06, 0x59, 0x3c, 0x97, 0xa0, 0xbe, 0x15, 0xae, 0x83, 0xec, + 0xfe, 0x1b, 0xb4, 0xbb, 0x72, 0x00, 0xa1, 0x4f, 0xa0, 0x07, 0x4d, 0xdb, + 0xe6, 0x39, 0x1f, 0x63, 0x74, 0xd5, 0xb3, 0x7d, 0x97, 0x0f, 0xda, 0x71, + 0x72, 0xae, 0x5d, 0xa8, 0x83, 0x55, 0xc7, 0x73, 0x66, 0x9d, 0x9f, 0x2a, + 0xda, 0x1f, 0x6f, 0xa8, 0x3c, 0x94, 0x5d, 0x2f, 0xe9, 0xf3, 0x25, 0xf0, + 0xde, 0x58, 0x28, 0x83, 0xd7, 0x03, 0xa8, 0x85, 0x8a, 0x66, 0x98, 0x9e, + 0x08, 0x61, 0x79, 0x11, 0x07, 0x52, 0xd2, 0xa2, 0xb8, 0xaf, 0x00, 0xb0, + 0x85, 0x1d, 0x7c, 0x67, 0x69, 0x77, 0x37, 0x0e, 0xc9, 0x97, 0x50, 0x54, + 0xca, 0xc5, 0xf7, 0xe1, 0x61, 0x91, 0x4a, 0xe7, 0x1b, 0xe9, 0x3c, 0x1b, + 0x2a, 0xbc, 0xf4, 0x5d, 0xf8, 0xcc, 0xcd, 0x88, 0x71, 0x3d, 0x47, 0xdf, + 0x17, 0x91, 0x67, 0x1c, 0x75, 0x7f, 0x8e, 0x49, 0x80, 0xcd, 0xef, 0xe9, + 0xfc, 0x49, 0xd4, 0xbb, 0x0c, 0x9a, 0x1d, 0xca, 0x98, 0x6b, 0xa1, 0x70, + 0xf6, 0x7b, 0x00, 0xd4, 0x6a, 0x5f, 0x25, 0x36, 0x47, 0x46, 0x6a, 0x4b, + 0xe7, 0x25, 0x45, 0xf0, 0xf5, 0x04, 0x6b, 0xd3, 0x75, 0xe5, 0xf9, 0x47, + 0xa2, 0x4e, 0x8f, 0x02, 0x86, 0xb5, 0x74, 0x53, 0xa1, 0x35, 0xa9, 0xd4, + 0x1b, 0x76, 0xf4, 0x7d, 0xc4, 0xd6, 0x2e, 0xbe, 0x7f, 0xa3, 0xd0, 0x7b, + 0x66, 0xd9, 0x4c, 0xd3, 0xf8, 0x3e, 0x85, 0xbc, 0x28, 0xea, 0x34, 0x05, + 0xf6, 0xd4, 0x64, 0xe1, 0xab, 0x15, 0xcc, 0x6d, 0x98, 0x26, 0x14, 0x45, + 0xfb, 0x01, 0xbe, 0x5b, 0x0e, 0xf7, 0x09, 0xda, 0xed, 0xfa, 0x03, 0x85, + 0xd1, 0x2e, 0x65, 0x4e, 0x1e, 0x3b, 0x0e, 0xc4, 0x50, 0x71, 0xfa, 0x4a, + 0x75, 0x67, 0x42, 0x70, 0x17, 0x21, 0xec, 0x52, 0x54, 0xbf, 0xc1, 0x52, + 0xef, 0xbb, 0xd2, 0x8f, 0x70, 0x0d, 0xda, 0x14, 0xe5, 0xe2, 0x93, 0x52, + 0x77, 0xd2, 0x83, 0xde, 0x32, 0xcb, 0x81, 0x88, 0xba, 0x01, 0xaf, 0xb9, + 0x67, 0x9d, 0x50, 0x2e, 0x8c, 0x5b, 0xea, 0x9d, 0xb1, 0xb4, 0xd9, 0xa6, + 0xc8, 0x9f, 0x51, 0x57, 0xbd, 0xa8, 0xef, 0x64, 0x39, 0x94, 0xd4, 0x30, + 0xcd, 0xcb, 0xf9, 0x77, 0xd1, 0xb7, 0x8c, 0x9d, 0x15, 0xf6, 0xfb, 0x54, + 0x3e, 0xa0, 0xd4, 0x5f, 0x30, 0x46, 0x0e, 0x3a, 0x6b, 0x46, 0x05, 0xd0, + 0x9b, 0x51, 0xe6, 0xea, 0x8b, 0x06, 0xd2, 0x2d, 0x6b, 0x90, 0x54, 0xc0, + 0x9f, 0x8d, 0xee, 0xb4, 0x05, 0xf0, 0x6a, 0x74, 0x97, 0x14, 0xd9, 0x30, + 0xe4, 0xc1, 0x03, 0x0b, 0x0e, 0x59, 0xf3, 0xdd, 0x83, 0x07, 0x8c, 0xdc, + 0x3b, 0x8b, 0xcf, 0xf7, 0xf0, 0xf9, 0x8e, 0x78, 0xf6, 0x26, 0xca, 0x1f, + 0x09, 0xe0, 0x17, 0xa6, 0x87, 0x54, 0x66, 0xf8, 0xf1, 0x05, 0x95, 0xbd, + 0x46, 0xd9, 0x11, 0xb1, 0xaf, 0x16, 0x51, 0xbe, 0x17, 0x65, 0x7b, 0xe9, + 0x8c, 0xad, 0xa2, 0xba, 0x37, 0x50, 0xfe, 0xc9, 0x8c, 0x9d, 0xce, 0x9c, + 0x90, 0xc7, 0x4a, 0xa9, 0x6e, 0x97, 0x63, 0x3e, 0x26, 0xc4, 0x98, 0xcc, + 0x9e, 0xef, 0x37, 0x0a, 0x4f, 0xd8, 0x6f, 0x9b, 0x2e, 0x80, 0x3e, 0x87, + 0x75, 0x3f, 0xe2, 0x59, 0x9b, 0x21, 0x8f, 0xd7, 0xed, 0x5c, 0x96, 0xc6, + 0xac, 0xd0, 0x88, 0x7b, 0x3a, 0x0b, 0x10, 0x63, 0xd2, 0x7a, 0x00, 0xb5, + 0x11, 0xdb, 0xf9, 0xe9, 0xf9, 0xfc, 0x20, 0x9e, 0xff, 0x08, 0x3e, 0xab, + 0xca, 0x12, 0xa8, 0x45, 0x8e, 0x11, 0xf5, 0x96, 0x91, 0x0b, 0x7d, 0xbe, + 0xcb, 0x90, 0xf6, 0xba, 0xcd, 0xf3, 0x7f, 0x18, 0x88, 0x4c, 0x68, 0x3a, + 0x50, 0x9c, 0xd6, 0xec, 0x8f, 0x0f, 0x6c, 0x94, 0x85, 0x81, 0x6e, 0x4c, + 0x18, 0xc8, 0x46, 0xe8, 0xcc, 0x4b, 0x6c, 0x05, 0xa0, 0xf6, 0x0b, 0x9c, + 0x85, 0x8a, 0x33, 0x1f, 0xd0, 0x8a, 0x20, 0x77, 0x09, 0xe5, 0x3b, 0x46, + 0xb9, 0xc2, 0xa1, 0x33, 0x4b, 0xe0, 0x23, 0x14, 0xf6, 0xdb, 0x23, 0x36, + 0xa6, 0x51, 0xfe, 0xca, 0x8d, 0x35, 0x3a, 0x03, 0xa0, 0x76, 0x14, 0xcf, + 0x5e, 0x51, 0x0e, 0xf8, 0x30, 0x3d, 0x55, 0xbc, 0x3b, 0x73, 0xe9, 0xfc, + 0x1e, 0x07, 0xdf, 0x9c, 0xb4, 0x2e, 0x8b, 0xfa, 0x21, 0xb2, 0xfe, 0x7b, + 0x03, 0x18, 0x69, 0x20, 0x04, 0x16, 0xca, 0xa1, 0x62, 0x94, 0x85, 0x03, + 0xb0, 0x64, 0x1b, 0x30, 0x51, 0xa5, 0x58, 0x4b, 0xbb, 0xe9, 0xe0, 0xd6, + 0x80, 0xda, 0x08, 0x40, 0x77, 0x09, 0x3c, 0x47, 0x3f, 0x95, 0x18, 0xa5, + 0x2f, 0x87, 0x70, 0x70, 0x16, 0x83, 0x91, 0x7f, 0x1e, 0xba, 0x96, 0x7e, + 0xef, 0xa3, 0x43, 0x3d, 0x0a, 0xa8, 0x1d, 0xa2, 0xdc, 0xa4, 0xd4, 0x7b, + 0x62, 0x14, 0x19, 0xb4, 0x5d, 0x24, 0xad, 0x1a, 0x21, 0x2f, 0x09, 0x3a, + 0x97, 0x69, 0x53, 0x15, 0x09, 0xcf, 0x9c, 0x49, 0x75, 0x78, 0xce, 0x28, + 0x2f, 0xbb, 0x85, 0x11, 0x22, 0x4c, 0xdf, 0x50, 0xa7, 0x89, 0x3e, 0x4b, + 0x40, 0x57, 0x8a, 0x79, 0x29, 0x72, 0x95, 0x39, 0xd6, 0xb8, 0x00, 0x9e, + 0xe7, 0xe3, 0x59, 0xf0, 0x47, 0xb8, 0x8f, 0xf7, 0x45, 0xd4, 0xa9, 0x05, + 0xf8, 0x2a, 0x83, 0x55, 0x3d, 0xd0, 0xf6, 0x3d, 0x01, 0xfb, 0x2f, 0xd8, + 0x3f, 0x15, 0xc8, 0xdd, 0x50, 0x8a, 0xef, 0x39, 0xbc, 0x15, 0x46, 0xa1, + 0x0e, 0xd3, 0xd5, 0x08, 0x30, 0x10, 0x7a, 0x10, 0xf6, 0xa4, 0xf3, 0xbf, + 0x52, 0x36, 0xa1, 0xde, 0x2b, 0x52, 0xba, 0x3b, 0xd0, 0xff, 0xd0, 0x6b, + 0x30, 0x64, 0xa1, 0x77, 0x0b, 0x34, 0x9f, 0xd2, 0xda, 0x1e, 0x77, 0xd4, + 0xed, 0x36, 0x39, 0x8b, 0x3a, 0xa6, 0xcf, 0x5f, 0xb1, 0x66, 0xb5, 0xf0, + 0x92, 0xf5, 0x2b, 0x7b, 0x6b, 0x43, 0x80, 0x1a, 0xfa, 0x99, 0x02, 0xf0, + 0x68, 0xf6, 0xa5, 0xe1, 0x00, 0x32, 0x43, 0x24, 0x1b, 0x16, 0x23, 0x80, + 0x5a, 0x40, 0x9e, 0x11, 0x0d, 0xa8, 0xbd, 0x47, 0xd9, 0x18, 0xd6, 0xbc, + 0x99, 0x80, 0xc5, 0x4b, 0x47, 0x3f, 0xae, 0x60, 0xcd, 0x5f, 0x98, 0x7d, + 0x27, 0xea, 0xb9, 0xe8, 0xbe, 0x8a, 0xa0, 0xdb, 0x05, 0x0b, 0x6a, 0xc0, + 0x3c, 0x0d, 0xd9, 0x60, 0xe6, 0xb1, 0x1d, 0x6b, 0xdb, 0x0e, 0x05, 0x37, + 0x21, 0xce, 0x96, 0x6e, 0xe2, 0xfb, 0x00, 0x5e, 0xea, 0x6e, 0x09, 0x24, + 0x3c, 0x81, 0x5a, 0x1b, 0x3e, 0xcf, 0x8a, 0x67, 0xa7, 0x14, 0xb0, 0xd5, + 0x62, 0xf6, 0x06, 0xad, 0x91, 0x31, 0x22, 0xcd, 0xd3, 0xd9, 0x69, 0x0c, + 0x50, 0xd5, 0x96, 0xbd, 0x3a, 0x01, 0x39, 0x6a, 0x14, 0xb9, 0xf3, 0xca, + 0xb9, 0x60, 0x80, 0xf0, 0x19, 0x9c, 0x0d, 0x73, 0x66, 0xff, 0x8a, 0xba, + 0x3b, 0x78, 0xbf, 0xc0, 0x68, 0x90, 0xb2, 0xd0, 0x0d, 0x14, 0x23, 0x5b, + 0xd8, 0xa7, 0xf1, 0x08, 0x19, 0x76, 0xd7, 0x06, 0xd4, 0xb0, 0xa7, 0x52, + 0xf8, 0x7f, 0x10, 0x7f, 0x77, 0xe4, 0xe9, 0xfc, 0x2d, 0xc2, 0x59, 0xb0, + 0x1f, 0x7c, 0x56, 0xe8, 0x02, 0x10, 0xf0, 0x2e, 0x36, 0xdb, 0x14, 0x39, + 0xd4, 0x69, 0xc2, 0xf9, 0x58, 0x6e, 0xa9, 0x53, 0x03, 0x00, 0x5d, 0xe0, + 0x02, 0x6a, 0xe8, 0x5b, 0x0b, 0x72, 0x91, 0xf2, 0x7d, 0x28, 0xef, 0xdf, + 0x19, 0x79, 0x68, 0x0b, 0xed, 0x84, 0xd1, 0xb9, 0x19, 0xed, 0x6d, 0x57, + 0xce, 0x32, 0x39, 0xc6, 0x3a, 0xb4, 0x59, 0x60, 0x01, 0xd6, 0x95, 0x0e, + 0xd0, 0x5d, 0x19, 0x05, 0xc0, 0xa8, 0x0f, 0xa5, 0x3e, 0x40, 0x8d, 0xe9, + 0xc2, 0x28, 0xd9, 0x20, 0x8c, 0x94, 0x7b, 0xa2, 0xfa, 0xe3, 0x1a, 0x93, + 0x98, 0xeb, 0xbd, 0x0e, 0xaf, 0x3d, 0xd3, 0x8b, 0xe2, 0x03, 0xe7, 0x9c, + 0x5b, 0xe8, 0xed, 0xb6, 0x38, 0x4b, 0x0e, 0xe0, 0x7f, 0x39, 0x2f, 0xe5, + 0x64, 0x5c, 0xef, 0x88, 0x6a, 0xc3, 0xa1, 0xcb, 0x94, 0xa1, 0xac, 0x40, + 0xe8, 0x5b, 0x95, 0x3c, 0x17, 0x90, 0x9f, 0xbf, 0xca, 0x20, 0x33, 0x2a, + 0x69, 0x5d, 0xb7, 0x29, 0xb4, 0x0d, 0x9d, 0x12, 0x61, 0x0c, 0x95, 0xed, + 0x95, 0x7b, 0xf6, 0xa1, 0xc8, 0x8c, 0x49, 0xe4, 0x42, 0xcb, 0x3a, 0x18, + 0xbd, 0x58, 0x46, 0xe3, 0xad, 0x02, 0x6a, 0x54, 0x6e, 0x64, 0x62, 0xd9, + 0xa6, 0x01, 0x35, 0x08, 0xba, 0x19, 0x1c, 0xce, 0x4b, 0xf8, 0x3b, 0x09, + 0x65, 0x77, 0x46, 0x08, 0x9b, 0xd0, 0x2a, 0xf6, 0x19, 0x42, 0x76, 0x00, + 0x8c, 0x24, 0x95, 0xa3, 0x50, 0xe9, 0xff, 0x42, 0x80, 0xc3, 0x1c, 0x2e, + 0x1f, 0xa5, 0x00, 0x8f, 0xb0, 0x06, 0x9c, 0xf6, 0xa8, 0x2b, 0x81, 0xda, + 0x43, 0x3c, 0xdb, 0x62, 0x99, 0xec, 0x15, 0x85, 0xb1, 0x0f, 0xdb, 0x0e, + 0x98, 0x4d, 0x04, 0x6a, 0x93, 0x8a, 0xa5, 0x7e, 0xbf, 0x51, 0x16, 0x85, + 0x87, 0x32, 0x90, 0xa1, 0x26, 0x0a, 0xd8, 0xe9, 0x89, 0x68, 0x6f, 0x27, + 0x79, 0xae, 0x5c, 0x61, 0x8d, 0x07, 0x59, 0x61, 0x50, 0x80, 0x47, 0xd8, + 0xef, 0x51, 0x57, 0xbb, 0xa4, 0xb0, 0x74, 0x42, 0xe9, 0xad, 0x54, 0xea, + 0x6c, 0x03, 0x0f, 0x2e, 0x62, 0xb3, 0x36, 0xfb, 0xdc, 0x25, 0x40, 0xb8, + 0x62, 0x20, 0x8d, 0x0c, 0x10, 0xf8, 0x46, 0xf9, 0x2c, 0x27, 0xd0, 0x9b, + 0x12, 0x02, 0xeb, 0x38, 0xea, 0xfc, 0x4b, 0x65, 0x2b, 0x96, 0x4d, 0x6d, + 0xc6, 0xd8, 0xed, 0x2a, 0xb3, 0x1c, 0xc8, 0x37, 0x01, 0xfe, 0xc2, 0xd4, + 0x47, 0xdf, 0x35, 0x62, 0x9d, 0xb5, 0x5c, 0x4b, 0xf5, 0x8c, 0x22, 0xfb, + 0x19, 0x60, 0xac, 0x34, 0x62, 0x5e, 0x1a, 0x35, 0xcb, 0x3f, 0xbe, 0x3b, + 0x0d, 0xe5, 0xb0, 0x0c, 0xf3, 0xd2, 0x8c, 0xf9, 0xaf, 0xc6, 0x41, 0x16, + 0x2a, 0x6a, 0xed, 0xca, 0x73, 0x6f, 0x8d, 0x17, 0xd6, 0x58, 0xe1, 0x23, + 0xc0, 0x40, 0x9b, 0xf0, 0x18, 0x3c, 0xa6, 0x3a, 0x0d, 0x74, 0x20, 0x37, + 0x47, 0x8c, 0x45, 0x53, 0x82, 0x07, 0xb5, 0x3e, 0x64, 0x08, 0x56, 0xda, + 0x2c, 0xdf, 0x7b, 0xf7, 0x6d, 0x03, 0x81, 0xda, 0xdf, 0xd8, 0x1f, 0x49, + 0x6d, 0x6d, 0xb2, 0x18, 0xfb, 0x04, 0x64, 0x7f, 0x09, 0x8c, 0x3c, 0x01, + 0xc9, 0x61, 0x9b, 0x47, 0xed, 0x1b, 0x0e, 0xc8, 0x55, 0x40, 0x4d, 0x78, + 0x72, 0x99, 0x67, 0xf7, 0x50, 0x79, 0x75, 0x04, 0x8f, 0xb0, 0xa7, 0x7c, + 0x7b, 0x06, 0x74, 0x77, 0x44, 0xd0, 0xed, 0x97, 0x11, 0x01, 0x00, 0x1c, + 0x01, 0xea, 0xfa, 0xc8, 0x98, 0x4a, 0x6a, 0xaf, 0x3c, 0x03, 0x1e, 0x90, + 0x40, 0x2d, 0x41, 0x06, 0xad, 0x66, 0x21, 0x87, 0x97, 0x14, 0x45, 0xc4, + 0x18, 0x44, 0xd8, 0xf0, 0x62, 0x8c, 0x14, 0xb5, 0x64, 0x64, 0x9a, 0xb3, + 0x18, 0x40, 0x8d, 0x77, 0xca, 0x80, 0xdd, 0x71, 0x4d, 0xa1, 0x24, 0x4f, + 0xd9, 0x3c, 0xc9, 0xd3, 0x8f, 0x51, 0xd6, 0x64, 0x92, 0x49, 0xcf, 0x95, + 0xef, 0x34, 0xa0, 0x56, 0x8f, 0xf2, 0x8a, 0x4c, 0x81, 0x1a, 0xce, 0x8d, + 0x05, 0x36, 0xdc, 0x41, 0x0e, 0x2e, 0x68, 0xe1, 0xf6, 0x59, 0x9c, 0xbf, + 0xd2, 0x13, 0xfb, 0x4d, 0x84, 0x7d, 0x32, 0x80, 0xf8, 0x87, 0xfe, 0x1e, + 0x53, 0x94, 0xe2, 0x0e, 0x41, 0x2f, 0x25, 0xc3, 0x7a, 0xd1, 0x77, 0xa3, + 0x83, 0x4c, 0x92, 0xd1, 0x4a, 0x1a, 0x81, 0x3a, 0x85, 0x67, 0xf7, 0x1b, + 0x7b, 0xc2, 0x49, 0x47, 0x91, 0xa9, 0x50, 0x01, 0xc9, 0x29, 0xf2, 0x9e, + 0xae, 0x69, 0x4f, 0x8c, 0xf1, 0x8e, 0x18, 0x63, 0xc2, 0x13, 0x4c, 0xa9, + 0xdf, 0x29, 0x20, 0x70, 0x0f, 0x45, 0x50, 0x35, 0x79, 0x3c, 0x5f, 0x48, + 0xe5, 0x83, 0x1c, 0x5d, 0x24, 0xa2, 0x01, 0x86, 0x1d, 0xfd, 0xb1, 0x8e, + 0xc9, 0x32, 0xd7, 0x8b, 0xca, 0xd5, 0x8b, 0x4c, 0xf8, 0x20, 0xd3, 0x39, + 0x1f, 0x90, 0x86, 0x2d, 0xc8, 0x67, 0x19, 0xd9, 0xb1, 0xa4, 0xe8, 0x8e, + 0x32, 0x1d, 0x16, 0xa0, 0xec, 0x67, 0x14, 0x0a, 0x95, 0x3d, 0x93, 0xfb, + 0x8c, 0xe6, 0xf1, 0x94, 0x62, 0x28, 0x6b, 0x11, 0xbc, 0xfb, 0x2b, 0x1a, + 0x8b, 0xf6, 0xec, 0x49, 0x7c, 0x1e, 0xc5, 0xe7, 0x7d, 0x8a, 0x1e, 0xf9, + 0x11, 0x63, 0x6e, 0x27, 0x99, 0x54, 0xa0, 0x9c, 0xeb, 0xbd, 0x54, 0x66, + 0xe4, 0xd8, 0x1e, 0xa1, 0xc3, 0x6b, 0xa9, 0xd5, 0xb2, 0xbf, 0x8d, 0x2c, + 0xde, 0xe5, 0x09, 0xd4, 0x26, 0x5d, 0xf2, 0x3e, 0x17, 0xa0, 0xd6, 0x09, + 0xc2, 0x0f, 0x84, 0xb0, 0x2f, 0xc0, 0xc4, 0x14, 0x0b, 0x2f, 0xc8, 0x25, + 0x30, 0x91, 0xb9, 0x0b, 0xf4, 0xd3, 0x42, 0xae, 0x84, 0x15, 0xa6, 0x20, + 0x74, 0xc2, 0x09, 0xbc, 0x6b, 0xe9, 0x57, 0x33, 0x0e, 0x95, 0x11, 0x30, + 0x7a, 0x1f, 0x0e, 0xf3, 0xaf, 0x51, 0xee, 0x6b, 0x6c, 0xd8, 0xef, 0x14, + 0x2a, 0xd1, 0x42, 0x82, 0xf9, 0x89, 0xb4, 0x2e, 0x98, 0x31, 0xd1, 0xe7, + 0x2f, 0x78, 0xb6, 0x44, 0xa1, 0xfd, 0x4c, 0x59, 0xe0, 0xab, 0x58, 0x84, + 0x61, 0x7c, 0x1f, 0x6e, 0xb0, 0xc1, 0xcd, 0x04, 0x6a, 0x50, 0x90, 0x57, + 0x29, 0x23, 0x28, 0x3f, 0x89, 0xf2, 0x77, 0x4a, 0xe8, 0xc7, 0xcd, 0x1c, + 0x81, 0xda, 0x45, 0x09, 0x50, 0xc4, 0xf7, 0xd7, 0x30, 0x3f, 0x3f, 0x00, + 0x78, 0xf7, 0x59, 0x68, 0x2c, 0x03, 0x88, 0xf8, 0x00, 0x35, 0x0e, 0x71, + 0xea, 0x55, 0x78, 0x88, 0xc3, 0x5f, 0xcd, 0x01, 0x77, 0xc3, 0x31, 0x86, + 0x12, 0xaa, 0x5b, 0x67, 0x51, 0x40, 0xe6, 0x01, 0x3c, 0xa6, 0xa1, 0x0c, + 0x9d, 0x55, 0x0e, 0x55, 0xe3, 0x39, 0x29, 0xc0, 0x58, 0x4c, 0x3a, 0x9a, + 0x2d, 0x50, 0x23, 0xef, 0xd9, 0x4b, 0x13, 0xc2, 0x89, 0x3d, 0xb4, 0x37, + 0x62, 0x6e, 0x02, 0x8b, 0x67, 0x23, 0x01, 0x0f, 0xe2, 0x53, 0xcc, 0xdf, + 0x0a, 0xf6, 0x5b, 0xab, 0x45, 0xb1, 0xfc, 0xc2, 0x4a, 0xa2, 0x62, 0xec, + 0x38, 0x04, 0x6b, 0xfa, 0x04, 0x68, 0xcd, 0x60, 0xad, 0xdb, 0x20, 0x88, + 0x1f, 0x89, 0x67, 0xaa, 0x68, 0x1c, 0xc5, 0xb4, 0x67, 0x1b, 0x1c, 0x4a, + 0xcf, 0x17, 0xd0, 0x4f, 0x61, 0x1d, 0x9a, 0x14, 0x80, 0xfc, 0x3d, 0x4b, + 0x20, 0xd4, 0x4a, 0xf3, 0x54, 0xac, 0xd4, 0x9d, 0x05, 0x18, 0x9d, 0x52, + 0xc6, 0xe2, 0xac, 0x43, 0x7d, 0x9b, 0x17, 0x86, 0x0d, 0x03, 0xa0, 0x77, + 0x7b, 0xd0, 0x9b, 0xcf, 0x33, 0x50, 0x33, 0xfb, 0xe1, 0x78, 0xb6, 0x00, + 0x54, 0xd4, 0x31, 0x1e, 0x97, 0x93, 0x00, 0xe0, 0x73, 0x14, 0x3d, 0xa1, + 0x01, 0xb5, 0x3e, 0xf2, 0x28, 0x49, 0xa0, 0x76, 0x5c, 0xf3, 0x86, 0xe1, + 0xbb, 0x25, 0x4b, 0x08, 0xba, 0xa1, 0x7b, 0x18, 0x40, 0xa4, 0x9f, 0x00, + 0x4b, 0x22, 0x0f, 0x74, 0x2f, 0x83, 0xf6, 0x67, 0xc5, 0x5b, 0x95, 0x20, + 0x8b, 0x69, 0x0a, 0x8a, 0xc0, 0x2d, 0xc7, 0x1d, 0xb9, 0xbc, 0x00, 0x35, + 0xa1, 0x0c, 0xdd, 0xa2, 0xf3, 0x28, 0x90, 0x3c, 0x8a, 0xef, 0x3e, 0x90, + 0x95, 0xfc, 0x02, 0x45, 0x56, 0x04, 0x58, 0x83, 0x5e, 0x5b, 0x18, 0x39, + 0xc9, 0xd4, 0x14, 0x8d, 0xd3, 0x15, 0xa9, 0xf2, 0x4a, 0xc8, 0x9e, 0x96, + 0x88, 0x3d, 0x79, 0x89, 0xc2, 0xa5, 0x4b, 0x7d, 0x80, 0x1a, 0xca, 0xbf, + 0xca, 0xbb, 0x73, 0x9e, 0x40, 0xad, 0xd8, 0xe2, 0x4d, 0x2a, 0xf6, 0x89, + 0x66, 0xf0, 0x90, 0x31, 0xb7, 0x20, 0x13, 0xf7, 0x91, 0x3e, 0xf4, 0xda, + 0xa2, 0x50, 0xbf, 0x86, 0x67, 0xff, 0x2b, 0x7b, 0x9a, 0xc9, 0x4b, 0x60, + 0x78, 0x73, 0x08, 0x3c, 0xfc, 0x0f, 0xf3, 0x16, 0x64, 0x69, 0x92, 0xf6, + 0xd5, 0x4d, 0xed, 0xea, 0x00, 0x68, 0x2d, 0x43, 0x3e, 0xf7, 0x20, 0x27, + 0x8d, 0xc1, 0x84, 0xea, 0xf5, 0x52, 0x5f, 0x1e, 0x40, 0xf9, 0x4c, 0x08, + 0xfd, 0xc2, 0xb4, 0x77, 0xc3, 0xd1, 0x1e, 0x8f, 0xf1, 0x23, 0xbc, 0xd2, + 0x8b, 0x0a, 0x5f, 0xe7, 0x0a, 0xd4, 0x76, 0x62, 0x0c, 0x4b, 0x0a, 0xe8, + 0xf4, 0x01, 0x6a, 0x6f, 0xb1, 0x5e, 0x86, 0xaf, 0x3f, 0x61, 0xcc, 0x29, + 0x69, 0x14, 0xca, 0x60, 0x4c, 0x66, 0xae, 0x53, 0xd0, 0x7d, 0x8c, 0xf7, + 0x76, 0x45, 0xdc, 0x3b, 0xf5, 0xe5, 0x03, 0xdf, 0x35, 0x4e, 0x08, 0x10, + 0x7e, 0x87, 0x23, 0x55, 0xa0, 0x43, 0x04, 0x88, 0x80, 0x69, 0xc5, 0xbe, + 0x97, 0x60, 0xf4, 0x2c, 0x19, 0x81, 0x07, 0x31, 0x17, 0x0d, 0x0a, 0x50, + 0x5b, 0x8a, 0x00, 0x6a, 0xfb, 0x58, 0x27, 0x24, 0xbd, 0x74, 0x5a, 0xd1, + 0xd9, 0x7f, 0x45, 0x34, 0x10, 0x90, 0x1a, 0xc4, 0xe7, 0x79, 0x73, 0xa5, + 0x4a, 0x3c, 0x37, 0x44, 0x38, 0x63, 0x1a, 0x75, 0x24, 0x70, 0x6a, 0xe1, + 0xbd, 0x87, 0x79, 0x0c, 0xd3, 0x94, 0x62, 0x4c, 0xbd, 0x8e, 0xfc, 0x88, + 0xf0, 0x43, 0x9d, 0x65, 0x7f, 0x9b, 0x73, 0xa0, 0xde, 0x13, 0xa8, 0x8d, + 0x3b, 0xf4, 0x9b, 0x32, 0x18, 0x16, 0x8b, 0xa5, 0x67, 0xd3, 0x07, 0xa8, + 0x99, 0xc9, 0xeb, 0xf7, 0x14, 0x4c, 0xc6, 0x6a, 0x5c, 0x01, 0x8b, 0xea, + 0x8c, 0xa5, 0x9e, 0x8c, 0xe5, 0xff, 0x6e, 0x51, 0xfe, 0x9a, 0xb0, 0x09, + 0x8e, 0x02, 0x4c, 0x4d, 0x43, 0x48, 0x1d, 0x87, 0x02, 0x33, 0xaf, 0x5c, + 0x60, 0x2f, 0x00, 0x93, 0x27, 0x49, 0x38, 0x7e, 0xc3, 0xe2, 0x0c, 0xe3, + 0x73, 0x4d, 0xc4, 0x38, 0x96, 0x1d, 0x61, 0x79, 0x06, 0x9d, 0x1f, 0x12, + 0x42, 0xab, 0xc0, 0xdc, 0x51, 0x33, 0x1e, 0x0f, 0x65, 0xcc, 0x13, 0x64, + 0x75, 0x9e, 0xa7, 0xcf, 0x17, 0x23, 0xfa, 0xb3, 0x17, 0x8c, 0x63, 0x72, + 0xad, 0xc7, 0x5a, 0xf4, 0x1a, 0x8f, 0xa4, 0xe2, 0xf9, 0xf8, 0x29, 0x98, + 0x94, 0x83, 0x7e, 0x20, 0x5b, 0xa0, 0x86, 0xcd, 0x9f, 0xc4, 0x5a, 0xda, + 0x94, 0x93, 0xc7, 0x50, 0xdc, 0xcd, 0x06, 0xb8, 0xa8, 0x28, 0x2f, 0x8b, + 0x46, 0xa8, 0x44, 0x00, 0xb5, 0x9b, 0x18, 0xcb, 0x61, 0xb1, 0xa9, 0xca, + 0x15, 0xef, 0xa1, 0x11, 0x4a, 0xa7, 0xe9, 0xc0, 0xb3, 0x59, 0x49, 0x4e, + 0x47, 0x80, 0x4d, 0x03, 0x24, 0x67, 0x01, 0x1a, 0x92, 0x12, 0x74, 0x83, + 0x57, 0xbf, 0x12, 0x58, 0x9b, 0x77, 0x84, 0xd5, 0xb5, 0x00, 0xfc, 0xed, + 0x70, 0x95, 0x09, 0x6b, 0xf3, 0x18, 0x0e, 0x58, 0x5b, 0x18, 0x45, 0x3d, + 0xf6, 0x8e, 0x96, 0x6d, 0x2f, 0xe0, 0x28, 0x87, 0xe2, 0xf6, 0x59, 0x7a, + 0xe8, 0x84, 0x9b, 0xff, 0xb6, 0xf2, 0x6c, 0x95, 0x51, 0x86, 0xc1, 0x77, + 0x3f, 0x40, 0xef, 0x30, 0x85, 0xd8, 0xb5, 0x28, 0xf7, 0xc4, 0xce, 0xb1, + 0x42, 0x49, 0x7b, 0xeb, 0xaa, 0x43, 0x69, 0x9d, 0x85, 0x1c, 0x30, 0x9e, + 0xa0, 0xd3, 0x8a, 0x11, 0x62, 0x3a, 0x4b, 0xa0, 0xb6, 0x9b, 0xd6, 0xa9, + 0x4c, 0xa9, 0x9b, 0xa2, 0x76, 0xdf, 0x58, 0xe8, 0xa9, 0x75, 0xb4, 0xbe, + 0x11, 0x7f, 0xaf, 0x09, 0xe5, 0xb3, 0xd0, 0x4b, 0xad, 0x13, 0x50, 0x3b, + 0x92, 0x27, 0xa0, 0xd6, 0x00, 0x25, 0xdb, 0x00, 0xfa, 0x7e, 0x0a, 0x73, + 0x1e, 0xb0, 0xd4, 0x9f, 0xc6, 0x33, 0x27, 0x04, 0x50, 0xeb, 0x75, 0x78, + 0xdd, 0xbf, 0x4b, 0xa0, 0x64, 0xf1, 0x60, 0xac, 0xb9, 0x33, 0xeb, 0x49, + 0xb7, 0xcb, 0x83, 0x6e, 0x9f, 0x25, 0x94, 0xe8, 0x9d, 0xa8, 0xb7, 0x68, + 0x31, 0xf8, 0xe4, 0x13, 0xa8, 0xb5, 0x89, 0x90, 0xc6, 0x71, 0x6d, 0x7e, + 0x04, 0x68, 0x31, 0xca, 0xc8, 0x14, 0x85, 0x3b, 0xde, 0xa6, 0x3d, 0x78, + 0xd9, 0xd2, 0xa7, 0x32, 0x52, 0x4a, 0x17, 0x5d, 0xd6, 0x61, 0xac, 0x6f, + 0x32, 0xea, 0x3e, 0x32, 0xc9, 0x3c, 0xc3, 0xe7, 0x2d, 0x96, 0x3a, 0x36, + 0xa0, 0xf6, 0x0f, 0xdf, 0xbb, 0xcb, 0x24, 0xf4, 0x71, 0x9d, 0x8d, 0xa5, + 0x55, 0x08, 0xfd, 0xbc, 0x41, 0x7d, 0x58, 0xb0, 0x28, 0xd4, 0x0d, 0x82, + 0x3f, 0x35, 0xd9, 0x31, 0xe1, 0x68, 0xcb, 0xec, 0x9f, 0x31, 0x05, 0x94, + 0xf7, 0x28, 0xb4, 0xde, 0x43, 0x3e, 0x1f, 0xa6, 0x30, 0xd9, 0x03, 0x16, + 0x83, 0x9f, 0x26, 0x5b, 0x7a, 0x14, 0x3d, 0xe2, 0x5d, 0x04, 0x68, 0xd8, + 0x2d, 0xe4, 0x5e, 0x6f, 0x1e, 0x81, 0x9a, 0x89, 0x74, 0x6a, 0xb7, 0x78, + 0x82, 0xa3, 0x80, 0x9a, 0x99, 0x7f, 0xa3, 0x9f, 0x1c, 0x14, 0x7b, 0xa9, + 0x35, 0x8b, 0x31, 0x9d, 0x54, 0xc0, 0xf9, 0xa8, 0xbc, 0x93, 0x9c, 0x01, + 0x1f, 0xf8, 0xae, 0x31, 0xd3, 0xd3, 0xd6, 0xae, 0x93, 0x40, 0xe6, 0x05, + 0x18, 0x6a, 0x0a, 0x1d, 0x51, 0x69, 0xda, 0x95, 0x92, 0x52, 0xb9, 0x1f, + 0x35, 0xa0, 0x86, 0xf2, 0x59, 0xec, 0xeb, 0x52, 0x3a, 0xf3, 0x6f, 0x28, + 0x6b, 0xb4, 0x04, 0x99, 0x52, 0x82, 0xfa, 0x13, 0x70, 0x80, 0xd4, 0x4b, + 0xe7, 0x82, 0x08, 0x61, 0x9c, 0xa5, 0xf1, 0x5e, 0x75, 0x44, 0x97, 0xa5, + 0xb0, 0x27, 0x8d, 0x8e, 0x77, 0xdd, 0x21, 0xe3, 0xa6, 0x35, 0x7d, 0x8d, + 0x3c, 0x79, 0x4f, 0xe4, 0x3d, 0x5c, 0x0f, 0xa0, 0xd6, 0x47, 0x1e, 0xbf, + 0xcb, 0x42, 0x0f, 0x5a, 0x21, 0x99, 0x7a, 0x1f, 0xeb, 0xff, 0xe0, 0xd7, + 0xb9, 0x19, 0x01, 0xd4, 0xca, 0xb0, 0x98, 0xc7, 0x23, 0x04, 0x52, 0x3d, + 0x36, 0xfe, 0x14, 0x26, 0xe3, 0x3d, 0xac, 0xa9, 0x8b, 0xf8, 0x5b, 0xdb, + 0x3c, 0x6d, 0xb0, 0xe4, 0x7f, 0x23, 0x61, 0xbe, 0xd3, 0xd1, 0xc6, 0x39, + 0x0c, 0xb0, 0x14, 0x83, 0xea, 0x83, 0xe5, 0x61, 0x95, 0xe7, 0x83, 0xd0, + 0xf3, 0x0b, 0x21, 0xa4, 0x27, 0xd0, 0x9f, 0x4f, 0x1e, 0x02, 0x76, 0xc9, + 0x71, 0x0f, 0x67, 0x88, 0x37, 0xb2, 0x32, 0x0f, 0xb6, 0x98, 0xe6, 0xeb, + 0x04, 0xb4, 0xe6, 0x8d, 0xc5, 0x1d, 0xb9, 0x3b, 0xa2, 0x3f, 0xc7, 0xc4, + 0xe1, 0xdf, 0xe4, 0x31, 0x86, 0xc7, 0xf2, 0x82, 0x39, 0xca, 0xcd, 0xfd, + 0xbb, 0x71, 0x25, 0xd4, 0xf3, 0x4a, 0x36, 0x40, 0x0d, 0x34, 0x0d, 0x48, + 0xdb, 0xe5, 0xd1, 0xb7, 0xc3, 0xe4, 0x05, 0x63, 0x85, 0xd8, 0xdc, 0x4f, + 0xb8, 0x41, 0x5e, 0x4a, 0x13, 0x9a, 0xd3, 0xe1, 0xa0, 0x97, 0x90, 0x02, + 0xd6, 0x16, 0xce, 0x44, 0xa0, 0xce, 0xa6, 0x88, 0x4c, 0x48, 0x37, 0xbf, + 0x08, 0x6f, 0x32, 0x9e, 0x9c, 0x62, 0xb4, 0x6b, 0x04, 0xf9, 0x7e, 0xa5, + 0xee, 0x10, 0xf8, 0xff, 0x7e, 0xf0, 0xfb, 0x05, 0x17, 0xfb, 0x73, 0x38, + 0xf8, 0x87, 0x08, 0xfc, 0x5d, 0x77, 0x00, 0xe2, 0x76, 0x71, 0xef, 0x83, + 0xf3, 0x1e, 0x87, 0x17, 0xfa, 0x0e, 0xbc, 0xd7, 0xc9, 0x60, 0xed, 0x1b, + 0xe8, 0xde, 0x61, 0x2c, 0xdb, 0x2c, 0x0a, 0xea, 0x17, 0x0a, 0x0b, 0x7b, + 0x4b, 0xa1, 0xa7, 0x06, 0xa8, 0xb5, 0xc9, 0xbb, 0x24, 0x14, 0xf6, 0xf8, + 0x1c, 0xd6, 0xc6, 0x27, 0xb6, 0xf0, 0x47, 0x25, 0xfc, 0xac, 0x9d, 0x04, + 0x5b, 0x42, 0x84, 0x42, 0xac, 0xd8, 0x40, 0x6c, 0x84, 0x12, 0x7c, 0x42, + 0xd2, 0xcc, 0x63, 0xe8, 0xe3, 0x9a, 0xbe, 0xc1, 0xda, 0x78, 0x37, 0x02, + 0xa8, 0xad, 0x67, 0xe8, 0xe3, 0x6b, 0xea, 0xd3, 0xfe, 0x3c, 0x00, 0xb5, + 0x3a, 0x3a, 0x8c, 0xcc, 0x67, 0x17, 0x50, 0xab, 0x23, 0x19, 0xfe, 0x4a, + 0x00, 0x35, 0xe3, 0x95, 0x5e, 0x16, 0xd1, 0x0e, 0x25, 0x04, 0x58, 0xf7, + 0x5a, 0xfa, 0xf1, 0x1e, 0x0a, 0xd1, 0x03, 0x25, 0xcc, 0xe8, 0x90, 0xf4, + 0xb2, 0x65, 0x40, 0xf7, 0x36, 0x85, 0x3a, 0x2d, 0x07, 0xf6, 0xb7, 0x0d, + 0x56, 0x62, 0xaf, 0xcd, 0x3a, 0x0c, 0x0f, 0x3e, 0x40, 0x6d, 0x4e, 0x91, + 0x69, 0x63, 0x4a, 0x28, 0x11, 0x87, 0x3f, 0x76, 0x69, 0x61, 0x8f, 0x54, + 0xb7, 0xdb, 0x9c, 0x8f, 0x50, 0x6e, 0x1f, 0x90, 0x52, 0x3e, 0x46, 0x72, + 0xea, 0x80, 0xa5, 0x4f, 0xc3, 0x34, 0xfe, 0x55, 0xd1, 0x36, 0x96, 0xfa, + 0x53, 0x51, 0x20, 0x09, 0x67, 0xfa, 0x8c, 0x4b, 0x2e, 0x47, 0x00, 0xb5, + 0x4e, 0x8c, 0x3f, 0xb1, 0x55, 0x80, 0x1a, 0x78, 0x7b, 0x91, 0x42, 0xcb, + 0x3f, 0x2a, 0xa1, 0x62, 0xac, 0x50, 0x97, 0x08, 0xb9, 0x36, 0xa9, 0xec, + 0xfb, 0x47, 0x8e, 0xf6, 0x4c, 0xe8, 0xd8, 0x43, 0xa1, 0x03, 0x48, 0x25, + 0xfe, 0xb2, 0x23, 0xda, 0xe2, 0x78, 0x06, 0x40, 0x4d, 0x6b, 0xef, 0x49, + 0x04, 0x68, 0x28, 0x16, 0x3c, 0x74, 0x3a, 0x8f, 0x40, 0xcd, 0x9c, 0x8b, + 0xa5, 0x59, 0x02, 0xb5, 0x22, 0xb1, 0xe7, 0xea, 0x44, 0x98, 0xde, 0xfe, + 0x2c, 0xc6, 0x64, 0xe6, 0x7a, 0x44, 0x31, 0x8a, 0x5f, 0xcf, 0x82, 0x0f, + 0x7c, 0xd7, 0x98, 0xe9, 0x69, 0xe7, 0x75, 0x61, 0xf0, 0xfb, 0xa5, 0x68, + 0x01, 0xdd, 0xe9, 0x2e, 0xcb, 0x02, 0xa8, 0x2d, 0x29, 0x20, 0xb4, 0x4b, + 0xf1, 0x2c, 0x07, 0x00, 0xf7, 0x6f, 0x1c, 0x5e, 0xa5, 0x7f, 0x29, 0xc2, + 0xc2, 0xd4, 0x4f, 0x91, 0xe7, 0xbf, 0xdf, 0xc2, 0xfb, 0xb7, 0xc9, 0xe8, + 0x68, 0x33, 0x44, 0x1b, 0x1a, 0x17, 0xc9, 0xe0, 0x5d, 0xaf, 0xd4, 0x2b, + 0x22, 0x83, 0xc3, 0x55, 0x87, 0xb1, 0x7e, 0x91, 0xef, 0x64, 0x7b, 0x02, + 0xb5, 0x2e, 0x83, 0x2d, 0x04, 0x00, 0x7f, 0x0c, 0xf0, 0xd8, 0x06, 0xfd, + 0xe9, 0x1b, 0x01, 0xba, 0x46, 0x1f, 0xa0, 0x56, 0x0e, 0xaf, 0xc4, 0x4e, + 0x0f, 0xcb, 0xd1, 0x00, 0x04, 0xd2, 0x04, 0xfe, 0xfe, 0x81, 0x10, 0xad, + 0x81, 0x5f, 0x8d, 0xfd, 0x66, 0xa2, 0x62, 0x3a, 0x34, 0xfa, 0xc9, 0x85, + 0xdb, 0x69, 0xa1, 0xbf, 0x0d, 0x87, 0x65, 0x3b, 0xdd, 0x3b, 0xd8, 0x0b, + 0xcf, 0x9d, 0x8c, 0x9d, 0x6d, 0x25, 0xe1, 0x98, 0x80, 0xa7, 0xeb, 0x35, + 0x31, 0xe4, 0x11, 0x0f, 0x21, 0x6b, 0xbc, 0x0a, 0xda, 0xa6, 0x7f, 0xa1, + 0xc5, 0xa5, 0x66, 0x28, 0xc4, 0xad, 0xa1, 0x8f, 0xf0, 0x16, 0x86, 0x1b, + 0xb2, 0x4a, 0x58, 0x0d, 0x76, 0x51, 0x2e, 0x72, 0x3d, 0x43, 0xc0, 0xa5, + 0xc3, 0x72, 0x80, 0x98, 0x83, 0xbc, 0x90, 0xac, 0x0d, 0x81, 0xe3, 0x9e, + 0x8a, 0xcb, 0xb3, 0x75, 0x1c, 0x1b, 0xe4, 0x9b, 0x8d, 0x4f, 0xe4, 0x7d, + 0x35, 0x8c, 0x27, 0x90, 0xf3, 0x48, 0xa1, 0x93, 0x5a, 0xba, 0x27, 0x04, + 0x4d, 0x99, 0x50, 0xb2, 0x96, 0x15, 0x81, 0x5a, 0x4c, 0xe5, 0x35, 0x42, + 0xb0, 0x9d, 0xb3, 0x78, 0x2e, 0x8d, 0xd7, 0x46, 0xbb, 0x77, 0x61, 0xdc, + 0xf8, 0x9f, 0xa9, 0xec, 0xb9, 0xeb, 0x7e, 0x1f, 0xed, 0xa3, 0x25, 0x73, + 0x7f, 0x47, 0x51, 0x1c, 0xcf, 0x8b, 0xb0, 0x82, 0x35, 0x65, 0x22, 0x5c, + 0xee, 0x0e, 0xdd, 0x8d, 0x7b, 0x85, 0x7d, 0x54, 0x94, 0x45, 0xe8, 0x63, + 0x19, 0x0c, 0x20, 0x13, 0x74, 0xd0, 0x5d, 0xb5, 0xdc, 0xf7, 0x33, 0x21, + 0x7a, 0x09, 0x0b, 0x80, 0x5d, 0xa0, 0xc3, 0x64, 0x8e, 0x2e, 0xbe, 0x1b, + 0xa0, 0x36, 0x22, 0xda, 0xae, 0x0c, 0x56, 0xbf, 0xed, 0x51, 0xa6, 0xfa, + 0x08, 0xa0, 0xd6, 0x28, 0x0f, 0x23, 0x11, 0xb6, 0x7a, 0x5d, 0xce, 0x5b, + 0x04, 0xbd, 0x06, 0xf2, 0x82, 0x8e, 0xe4, 0x00, 0x56, 0x6c, 0x40, 0x8d, + 0xfb, 0xd6, 0x27, 0x84, 0xf7, 0x66, 0x01, 0xb5, 0x36, 0xba, 0x13, 0xf1, + 0x23, 0xd0, 0x2f, 0x9c, 0x67, 0x0a, 0xd4, 0x6a, 0xb0, 0xae, 0x6f, 0xe9, + 0xd0, 0x72, 0x01, 0xb5, 0x42, 0x61, 0x11, 0x1d, 0x25, 0x19, 0x61, 0xf6, + 0xee, 0x09, 0xc5, 0x0b, 0xbb, 0xa0, 0xc8, 0x41, 0x9f, 0xbe, 0x32, 0xdd, + 0x63, 0x0a, 0xdd, 0x79, 0x45, 0x51, 0x94, 0xbc, 0xf2, 0x44, 0x51, 0xc0, + 0x8a, 0x64, 0x28, 0x37, 0x29, 0x65, 0x37, 0xb2, 0x04, 0x6a, 0x46, 0x61, + 0xb8, 0x48, 0x72, 0x6f, 0xde, 0x12, 0x9e, 0x79, 0x9f, 0xa2, 0x47, 0xac, + 0x4a, 0x3d, 0x59, 0xa7, 0x97, 0xc4, 0x5d, 0xb7, 0x5b, 0x14, 0xa6, 0x95, + 0xb2, 0x28, 0x78, 0xfb, 0x88, 0x57, 0x1a, 0xc9, 0x38, 0xb6, 0x2f, 0x47, + 0xa0, 0xf6, 0x9c, 0x8d, 0xab, 0x59, 0x00, 0x35, 0x73, 0x17, 0xb9, 0x79, + 0x0b, 0x01, 0xb5, 0x0b, 0xac, 0x54, 0xd3, 0xbd, 0xc1, 0xe5, 0x08, 0xcf, + 0xcc, 0x19, 0x0e, 0x01, 0x13, 0x06, 0xa4, 0xcf, 0x8e, 0xf6, 0x4c, 0x48, + 0xef, 0x07, 0x45, 0xd1, 0xee, 0x51, 0x68, 0xbd, 0x84, 0xb2, 0x6d, 0x72, + 0x85, 0xb2, 0x9f, 0x5c, 0x40, 0xed, 0x08, 0x03, 0x89, 0xe0, 0xf7, 0x2b, + 0xf0, 0x5d, 0xa0, 0xa1, 0x70, 0x1d, 0x81, 0xda, 0x3d, 0x0a, 0x61, 0x2c, + 0xca, 0x02, 0xa8, 0x15, 0x0a, 0xa0, 0x56, 0xe3, 0x09, 0xd4, 0x5c, 0x63, + 0x3a, 0xa1, 0xac, 0xc9, 0x1b, 0x8b, 0xa1, 0xc5, 0x87, 0x0f, 0x7c, 0xd7, + 0xd8, 0xf7, 0x6d, 0x98, 0xe5, 0xf0, 0xa6, 0x8d, 0x59, 0x80, 0xfa, 0xb8, + 0x2d, 0x64, 0x99, 0x8c, 0xb0, 0x29, 0xcc, 0x23, 0x87, 0x7e, 0x4b, 0xa0, + 0xd6, 0x48, 0x06, 0xb4, 0x54, 0x60, 0x79, 0xf9, 0x0f, 0x85, 0x6c, 0x9b, + 0x9f, 0x83, 0xd8, 0x8e, 0xfa, 0x5f, 0x65, 0x14, 0x9b, 0xd0, 0x87, 0xf8, + 0x0d, 0xdc, 0xcf, 0x1c, 0x63, 0x4d, 0x42, 0xb7, 0x5f, 0x71, 0xf4, 0xe1, + 0xb1, 0x0d, 0x80, 0x29, 0xe7, 0xf9, 0x77, 0x76, 0x02, 0x78, 0x00, 0xb5, + 0xf7, 0x9a, 0x93, 0xc7, 0x12, 0x7e, 0xbd, 0x4d, 0x16, 0x64, 0xf4, 0x32, + 0x91, 0x88, 0xce, 0x8f, 0xe3, 0xc0, 0x33, 0xd6, 0xc9, 0x66, 0x0b, 0x12, + 0x9f, 0xc7, 0xc1, 0xf2, 0x08, 0x1b, 0xcb, 0x78, 0xe2, 0x6a, 0x2d, 0x74, + 0xfb, 0x28, 0xc6, 0xb5, 0x92, 0xd0, 0x76, 0xab, 0x44, 0xfc, 0x38, 0x30, + 0xe7, 0xc8, 0x6a, 0x78, 0x39, 0x58, 0xfd, 0xba, 0xee, 0x4b, 0x1e, 0xe3, + 0x18, 0xb4, 0x79, 0x3f, 0x70, 0x10, 0x2e, 0x06, 0xd9, 0xbc, 0x62, 0xd3, + 0x0f, 0xa8, 0x7d, 0x74, 0x85, 0xe6, 0xf9, 0x3c, 0x03, 0xc0, 0xb1, 0xe2, + 0x08, 0x8d, 0x7b, 0x4d, 0x9e, 0x8c, 0x21, 0xda, 0x1c, 0x12, 0x50, 0x9d, + 0x81, 0x52, 0x32, 0x47, 0xae, 0xf2, 0x27, 0x74, 0xe7, 0x6f, 0x1b, 0x29, + 0xdb, 0x33, 0x60, 0x44, 0x93, 0x2b, 0x88, 0x4e, 0x13, 0xd6, 0x60, 0x00, + 0x4c, 0x3c, 0x4e, 0x21, 0xaf, 0x2c, 0x38, 0xab, 0x83, 0xd5, 0x2f, 0xbe, + 0x30, 0x1e, 0x97, 0x5b, 0xac, 0xb8, 0x63, 0xd3, 0x2d, 0x06, 0xbf, 0x7f, + 0xab, 0xe8, 0x23, 0x29, 0x29, 0x45, 0x16, 0x05, 0xe6, 0x29, 0x78, 0x73, + 0x09, 0x73, 0x53, 0xab, 0xcc, 0x8b, 0x79, 0xa5, 0xfe, 0x35, 0xc7, 0x66, + 0x5f, 0xa1, 0xb8, 0xfc, 0x8b, 0xf4, 0xb9, 0x51, 0xb1, 0x3c, 0x5f, 0x41, + 0x9d, 0x49, 0x47, 0xb8, 0x94, 0xf7, 0x1d, 0x35, 0xc5, 0xf2, 0x73, 0x82, + 0x94, 0xb9, 0x01, 0xd1, 0xcf, 0x6a, 0x4b, 0xde, 0x2e, 0x0e, 0x8d, 0x24, + 0x42, 0x16, 0x3a, 0x1c, 0x16, 0xe9, 0x84, 0x76, 0x77, 0x4b, 0xd9, 0x17, + 0x2d, 0x38, 0xf0, 0xbf, 0x83, 0x9f, 0x66, 0x30, 0xdf, 0xb3, 0xc6, 0x1b, + 0x4e, 0xf5, 0xcf, 0xd2, 0xc1, 0xca, 0x6b, 0xfe, 0x52, 0xb3, 0x66, 0x91, + 0x50, 0x7c, 0x05, 0xb9, 0x31, 0xab, 0x79, 0xdf, 0x88, 0x6e, 0x80, 0xf1, + 0xdd, 0xc7, 0x7e, 0xb3, 0xbd, 0x9e, 0x7f, 0x26, 0x58, 0xfb, 0x73, 0x02, + 0x95, 0x8e, 0xba, 0x93, 0x94, 0xab, 0x32, 0x04, 0x09, 0x67, 0xc5, 0x45, + 0xf1, 0x7b, 0x24, 0xbc, 0x37, 0x05, 0xa8, 0x89, 0xc3, 0xe9, 0x9b, 0x12, + 0xb2, 0x9d, 0xc9, 0xd8, 0xeb, 0xc8, 0x18, 0x54, 0xee, 0x03, 0xd4, 0x84, + 0xa5, 0x58, 0x8e, 0xed, 0x3a, 0x79, 0xde, 0x1f, 0x63, 0x0f, 0xa7, 0x1c, + 0x86, 0x96, 0xc8, 0x35, 0x10, 0x74, 0x57, 0xc0, 0x4b, 0x4c, 0xf7, 0xb4, + 0x87, 0x37, 0xb7, 0x85, 0xfa, 0x55, 0x25, 0x2c, 0xcc, 0x93, 0x90, 0x4b, + 0x8f, 0x28, 0x52, 0xa4, 0x23, 0x4b, 0xa0, 0x76, 0x9e, 0xbc, 0x57, 0x23, + 0x11, 0x72, 0xae, 0x4d, 0x18, 0x3a, 0x5c, 0xc0, 0x68, 0x81, 0xea, 0x35, + 0x0b, 0xc5, 0x5b, 0x05, 0x04, 0xc1, 0xef, 0x97, 0x3c, 0xfd, 0x9a, 0x7b, + 0x52, 0x26, 0x3f, 0x05, 0xf6, 0x37, 0xde, 0x39, 0x81, 0x1a, 0x29, 0x9f, + 0x1a, 0x8f, 0x7d, 0xf0, 0x01, 0x6a, 0x24, 0xcb, 0xae, 0x6d, 0x21, 0xa0, + 0x76, 0x8a, 0x0c, 0xc6, 0xdd, 0x74, 0x96, 0xd9, 0x80, 0xda, 0x38, 0xee, + 0x31, 0x7d, 0x53, 0x42, 0x5b, 0x4b, 0x69, 0xcd, 0x9e, 0x03, 0x04, 0x3e, + 0x16, 0x91, 0x44, 0xe5, 0x64, 0x80, 0xb8, 0x2f, 0xae, 0x97, 0xf4, 0x08, + 0x5a, 0x3f, 0xc0, 0xef, 0x37, 0x11, 0x0d, 0x73, 0x15, 0xe1, 0xca, 0xdb, + 0x32, 0x00, 0x6a, 0xac, 0xa8, 0xbe, 0x43, 0x08, 0x5e, 0x72, 0x13, 0x81, + 0x5a, 0x31, 0x19, 0xd1, 0x1f, 0x6f, 0x11, 0xa0, 0x56, 0x4a, 0xc6, 0x8c, + 0xbb, 0x74, 0x15, 0x67, 0x49, 0xe8, 0x47, 0xbe, 0x7c, 0xe0, 0xbb, 0xc6, + 0x4e, 0xa0, 0x06, 0x70, 0x36, 0x8c, 0xd0, 0xcc, 0x63, 0xa4, 0x8f, 0x75, + 0x5a, 0x9c, 0x12, 0xef, 0xa1, 0x13, 0x97, 0x29, 0x67, 0xbe, 0xe1, 0xc9, + 0x51, 0x97, 0xec, 0x09, 0x56, 0xbf, 0x9c, 0xe4, 0xa2, 0x65, 0xcf, 0xf0, + 0x55, 0x95, 0x11, 0xe1, 0x34, 0x49, 0x49, 0xc7, 0x09, 0xc6, 0x69, 0x42, + 0x3f, 0x0f, 0x92, 0x5e, 0xdb, 0x1d, 0xe1, 0x70, 0x50, 0xfb, 0x40, 0xa1, + 0xaa, 0x29, 0xe8, 0x82, 0x83, 0xc8, 0xb6, 0x3b, 0x6a, 0x6f, 0x35, 0xa7, + 0x4d, 0x10, 0xfd, 0x32, 0x91, 0x8a, 0x6c, 0x04, 0x4a, 0x5e, 0x80, 0x1a, + 0x81, 0xb3, 0xa6, 0xe0, 0xf7, 0x6f, 0xa9, 0x15, 0x5a, 0xdc, 0xae, 0xf7, + 0xc5, 0x3d, 0x93, 0x71, 0x87, 0x20, 0xaf, 0x04, 0x63, 0x37, 0x0a, 0x57, + 0x6a, 0x12, 0x4c, 0xfb, 0xd0, 0x12, 0xc6, 0x35, 0x25, 0xee, 0xc0, 0xf5, + 0x41, 0xb9, 0x4f, 0x05, 0x8e, 0xdf, 0x38, 0x13, 0x61, 0x4a, 0x37, 0x2d, + 0x96, 0x81, 0xe1, 0x1c, 0x85, 0xb8, 0x0b, 0xa8, 0x4d, 0xda, 0x5c, 0xc3, + 0x19, 0x00, 0xb5, 0x3e, 0xdb, 0x1d, 0x2b, 0x9a, 0x53, 0xbe, 0x4b, 0xf1, + 0x59, 0xf3, 0x86, 0x05, 0xab, 0xdf, 0x84, 0xb4, 0x46, 0x09, 0x20, 0xe5, + 0x44, 0x4b, 0xd5, 0xc2, 0x8a, 0x3b, 0x2f, 0xbe, 0x9f, 0x08, 0xa2, 0x2f, + 0x97, 0xab, 0x9e, 0x3c, 0xf0, 0xda, 0x3b, 0xe1, 0x91, 0x99, 0xd4, 0xc2, + 0xfa, 0x50, 0x97, 0xdd, 0xfc, 0xf3, 0x16, 0x41, 0x52, 0x06, 0x9e, 0x4d, + 0x06, 0x8e, 0xb7, 0xb6, 0x41, 0xb1, 0xe0, 0xb1, 0x2c, 0x05, 0xfa, 0x0f, + 0x1b, 0xb3, 0x57, 0x6b, 0x05, 0x20, 0x35, 0xe1, 0x09, 0xd4, 0x46, 0x6d, + 0xe1, 0xb5, 0x96, 0x3e, 0xed, 0x8a, 0x52, 0x4e, 0x2d, 0xcf, 0x1d, 0x0d, + 0x3c, 0x7e, 0x1b, 0xc7, 0x13, 0xa8, 0x5d, 0xc3, 0x9a, 0x14, 0xc2, 0xc3, + 0xde, 0x0b, 0x6b, 0x57, 0x2f, 0x40, 0x60, 0x81, 0x45, 0xc8, 0x9d, 0xb6, + 0x84, 0x66, 0xd9, 0xde, 0xbc, 0x18, 0x90, 0x55, 0x7f, 0xd4, 0x72, 0xff, + 0xe7, 0xa4, 0xf0, 0xd2, 0xac, 0x28, 0xf7, 0x08, 0x99, 0xde, 0x32, 0xe4, + 0xc5, 0x9d, 0x40, 0xff, 0x21, 0x63, 0xdb, 0xdd, 0xa7, 0x9a, 0x2c, 0x40, + 0x82, 0xec, 0x9b, 0x31, 0x80, 0xf8, 0xbc, 0x9a, 0x3d, 0x12, 0xa8, 0x19, + 0xf9, 0x1d, 0xfc, 0xfe, 0xed, 0xa1, 0x35, 0x46, 0x1f, 0xe5, 0x99, 0x42, + 0x0a, 0x3d, 0xfc, 0x22, 0xee, 0x79, 0x66, 0x32, 0xf6, 0x3a, 0x07, 0x28, + 0x72, 0x01, 0xb5, 0xe2, 0x40, 0x79, 0x51, 0x0a, 0x8d, 0x79, 0x41, 0xec, + 0xdf, 0x73, 0xd9, 0x86, 0x69, 0x52, 0xdd, 0x4b, 0x8a, 0x4c, 0x3a, 0xeb, + 0x4b, 0x97, 0xe4, 0x67, 0x3f, 0x19, 0x4e, 0x9e, 0xd3, 0x9c, 0x1b, 0xbe, + 0xeb, 0x77, 0xc8, 0xe0, 0x28, 0xa0, 0x96, 0x80, 0x82, 0x97, 0xa4, 0xba, + 0x53, 0x16, 0x0b, 0x77, 0x01, 0x8d, 0x67, 0xc9, 0x15, 0xfa, 0x4b, 0xc6, + 0x90, 0x15, 0x52, 0x34, 0xab, 0xa9, 0x8d, 0x61, 0xcb, 0x7c, 0x19, 0x45, + 0x32, 0x41, 0xfd, 0x7b, 0xef, 0x32, 0x80, 0x7a, 0x00, 0x35, 0x57, 0x14, + 0xc5, 0x62, 0x06, 0x40, 0xed, 0x72, 0x60, 0xff, 0xcd, 0xd6, 0xcd, 0x00, + 0x6a, 0x25, 0x74, 0x2e, 0x27, 0x29, 0x24, 0xd8, 0x06, 0xd4, 0xf8, 0xc5, + 0x15, 0xcf, 0x14, 0x79, 0xb9, 0x57, 0xe8, 0x34, 0xcb, 0xc1, 0xda, 0xb7, + 0x9e, 0x9e, 0x20, 0xc3, 0xe1, 0x5b, 0x3a, 0x47, 0xe4, 0xf9, 0xd9, 0x4a, + 0xf7, 0x48, 0x8d, 0x62, 0xfa, 0x36, 0x13, 0x8f, 0x9a, 0xe8, 0xd3, 0x12, + 0x3c, 0xf3, 0x4f, 0xa5, 0x67, 0x66, 0x03, 0x81, 0x5a, 0x21, 0x0c, 0xc7, + 0x93, 0x8a, 0xbc, 0xd9, 0x14, 0xa0, 0x46, 0xe0, 0x83, 0x0d, 0x81, 0x73, + 0x8a, 0x47, 0x25, 0x13, 0x3e, 0x88, 0x5c, 0x63, 0x0f, 0xa0, 0xd6, 0x12, + 0xac, 0xfd, 0x3d, 0xc7, 0x27, 0x4a, 0x5b, 0xad, 0xd0, 0xd3, 0x53, 0x52, + 0xe6, 0xd3, 0x59, 0x96, 0x24, 0xa7, 0xc8, 0xbf, 0x0e, 0xa0, 0x76, 0x85, + 0x78, 0xad, 0xca, 0xc2, 0x4f, 0xc5, 0x44, 0xef, 0xac, 0xd0, 0x41, 0x3f, + 0x39, 0x68, 0x1a, 0x50, 0x57, 0x8b, 0x7d, 0xb1, 0x60, 0x39, 0xc7, 0x0f, + 0x6a, 0xfa, 0xa9, 0x87, 0x2c, 0x8a, 0x7a, 0xeb, 0x63, 0xa3, 0x27, 0x50, + 0x9b, 0x72, 0xc9, 0xfb, 0xac, 0x81, 0xda, 0x06, 0x08, 0xb3, 0x9e, 0x20, + 0xe2, 0x45, 0x25, 0x70, 0x7f, 0xd6, 0x5b, 0x0e, 0xba, 0x1d, 0x11, 0xcf, + 0xee, 0xc0, 0xe2, 0x25, 0x32, 0xec, 0x57, 0x02, 0x82, 0x4c, 0xbe, 0x99, + 0xa6, 0x5f, 0xbb, 0xc3, 0x90, 0xc7, 0xf9, 0x30, 0x1e, 0xaa, 0x5c, 0x81, + 0x60, 0x68, 0x65, 0xb8, 0xe0, 0x51, 0xaf, 0x3a, 0x88, 0x78, 0xb1, 0x4a, + 0x9e, 0xc7, 0x57, 0x0d, 0xe5, 0xbd, 0x22, 0x8f, 0xf3, 0xd5, 0xe0, 0x09, + 0x36, 0x2a, 0x00, 0x18, 0x0b, 0xf2, 0xd0, 0x6e, 0x02, 0x7c, 0x55, 0x1f, + 0x11, 0x5a, 0x50, 0x8d, 0x3a, 0xc5, 0x19, 0xd2, 0x9f, 0xe7, 0x0b, 0xc8, + 0x7f, 0x42, 0xc2, 0xa1, 0x37, 0x86, 0xc3, 0xa3, 0x99, 0x94, 0xc7, 0x4e, + 0x80, 0x80, 0xa2, 0x4d, 0xe8, 0x93, 0x99, 0xff, 0xa2, 0x2d, 0x38, 0x5f, + 0xa6, 0x6f, 0xdb, 0xf2, 0x48, 0xd3, 0xe4, 0x06, 0x8a, 0xdb, 0x4f, 0x06, + 0xd9, 0xfc, 0x6e, 0xcb, 0xd6, 0x9a, 0xab, 0x02, 0xec, 0xb7, 0x9a, 0x5c, + 0x22, 0x19, 0x2c, 0xfb, 0x78, 0x07, 0xdd, 0xa1, 0x18, 0xc8, 0x63, 0x5f, + 0x33, 0xde, 0xf7, 0x0e, 0x9a, 0xc5, 0x58, 0xd3, 0xea, 0xbf, 0xfe, 0x8f, + 0x13, 0xf1, 0xf3, 0xa8, 0x02, 0x3e, 0x1a, 0xa5, 0xd5, 0x1d, 0xeb, 0x30, + 0x4a, 0x8a, 0x72, 0xd7, 0x26, 0xf4, 0xb9, 0x2e, 0x70, 0xfc, 0xe6, 0xab, + 0x62, 0x2c, 0xdc, 0xe1, 0x29, 0x37, 0x8a, 0x1c, 0xfa, 0x52, 0xad, 0x67, + 0x7b, 0x3b, 0x40, 0xab, 0x24, 0x5b, 0x19, 0x26, 0x80, 0xe9, 0xac, 0xef, + 0x1d, 0xfa, 0x0c, 0xdb, 0x31, 0x06, 0xe1, 0x95, 0x3f, 0x98, 0x77, 0x6b, + 0x1c, 0x11, 0x63, 0x12, 0x70, 0x3a, 0xf9, 0x80, 0xd7, 0x38, 0xc8, 0xe1, + 0x47, 0xcd, 0x49, 0x1f, 0x2b, 0xcd, 0x61, 0x5c, 0x65, 0x1b, 0xa9, 0x43, + 0xe6, 0xb8, 0x06, 0x95, 0xf2, 0x05, 0x38, 0x39, 0xd2, 0x33, 0x46, 0xf6, + 0x41, 0x61, 0xc4, 0x93, 0x3f, 0x78, 0xdd, 0x00, 0x0f, 0x7b, 0xd2, 0xe6, + 0xc0, 0xda, 0xea, 0x40, 0xad, 0xcb, 0xf6, 0x02, 0x8b, 0x2d, 0xb0, 0xa8, + 0x87, 0x21, 0xe4, 0x77, 0x52, 0xd9, 0x03, 0xed, 0x05, 0x1d, 0x79, 0x6c, + 0xb3, 0x05, 0x16, 0xcb, 0x8a, 0x1c, 0xe9, 0xec, 0xce, 0xa7, 0x02, 0x18, + 0xa7, 0x0d, 0x17, 0xe8, 0x93, 0x51, 0xf7, 0x42, 0xb7, 0x68, 0xdf, 0x8b, + 0x61, 0xbd, 0x5e, 0x21, 0xef, 0xe4, 0x02, 0xac, 0xf1, 0x89, 0x78, 0x75, + 0xd7, 0x7d, 0xfe, 0x4d, 0x1e, 0xa1, 0x83, 0xff, 0x56, 0x3c, 0x33, 0x5e, + 0x73, 0xf7, 0x10, 0xa1, 0x77, 0x07, 0xe3, 0xd9, 0xd8, 0xb2, 0x6b, 0x34, + 0x4a, 0x59, 0xbb, 0x2f, 0xdd, 0x18, 0xac, 0xfe, 0x59, 0x8d, 0x5a, 0xf1, + 0x4c, 0x6b, 0x16, 0x6d, 0xd6, 0x28, 0xb9, 0x2a, 0x5e, 0x8d, 0x5f, 0x8a, + 0xaa, 0xf9, 0xcd, 0xd3, 0x39, 0x9f, 0x7b, 0x86, 0x59, 0xc8, 0xb3, 0xfd, + 0x74, 0x0f, 0xeb, 0xf9, 0x7f, 0x74, 0x1e, 0xbd, 0xee, 0x94, 0x59, 0x9e, + 0xcd, 0x1a, 0xa8, 0xfd, 0x9f, 0xf1, 0xea, 0x6d, 0xf2, 0x68, 0x1d, 0xcb, + 0x13, 0xcd, 0xbd, 0x14, 0xc5, 0x30, 0xed, 0x00, 0x6a, 0xfd, 0x64, 0x64, + 0xba, 0x9a, 0xeb, 0xe1, 0xbe, 0xe1, 0x40, 0x2d, 0x4e, 0x71, 0x8a, 0xd3, + 0x7f, 0x52, 0x28, 0x96, 0x20, 0x04, 0x7a, 0x4f, 0x3e, 0x3c, 0x98, 0x71, + 0xca, 0x58, 0x96, 0x9f, 0x84, 0x97, 0x28, 0x06, 0x1d, 0x71, 0x8a, 0x53, + 0x6e, 0x7b, 0x4a, 0x4b, 0x53, 0xf1, 0xcc, 0xfc, 0x0a, 0x9d, 0x1f, 0x45, + 0x78, 0xe0, 0x4b, 0xdc, 0x9d, 0x2b, 0xcc, 0x23, 0x7d, 0xf3, 0x46, 0xcf, + 0x0f, 0x30, 0x92, 0x57, 0xfc, 0x87, 0xe7, 0xf2, 0x99, 0x16, 0xea, 0xe8, + 0xf1, 0xdc, 0x05, 0x3c, 0x77, 0x20, 0xe6, 0x48, 0xe7, 0x3c, 0x3d, 0x42, + 0xc4, 0xcf, 0xa5, 0x3c, 0xd3, 0x4d, 0xc0, 0x53, 0x57, 0xe9, 0x00, 0x6a, + 0xdb, 0xe1, 0xbd, 0xcc, 0x3a, 0xc2, 0xe2, 0x7f, 0xfe, 0xdd, 0x3c, 0x71, + 0xe4, 0x09, 0x52, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, + 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __font_small_png_len = 6244; +unsigned char __logo_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xc3, 0x3e, 0x61, 0xcb, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x43, 0x8f, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0xbd, 0x77, 0xbc, + 0x65, 0xd9, 0x55, 0xdf, 0xf9, 0x5d, 0x7b, 0x9f, 0x74, 0xd3, 0x8b, 0xf5, + 0x2a, 0x57, 0x75, 0x0e, 0xea, 0x6e, 0xe5, 0xd0, 0xca, 0x12, 0xd0, 0x08, + 0x2c, 0x82, 0x64, 0x82, 0x4d, 0x86, 0xc1, 0x26, 0x18, 0xc6, 0x60, 0xe3, + 0xc1, 0x1e, 0xd9, 0x63, 0xcc, 0x80, 0x6c, 0xc0, 0x06, 0x8f, 0x07, 0x6c, + 0x61, 0x60, 0xc0, 0xc6, 0xd8, 0x46, 0x20, 0x8c, 0x0d, 0xc8, 0x48, 0x02, + 0x21, 0x24, 0x84, 0x72, 0xe8, 0x28, 0x75, 0x50, 0x75, 0x75, 0x57, 0x4e, + 0x2f, 0xdf, 0x74, 0xd2, 0xde, 0x6b, 0xfe, 0xd8, 0xe7, 0xbc, 0xfb, 0x5a, + 0x20, 0xac, 0x56, 0x57, 0xab, 0x5b, 0x50, 0x47, 0x9f, 0xab, 0xea, 0x77, + 0xdf, 0x7d, 0xf7, 0x9e, 0x7b, 0xf6, 0xda, 0x6b, 0xfd, 0xd6, 0x6f, 0xfd, + 0xd6, 0x3a, 0xa2, 0xaa, 0x5c, 0x39, 0xfe, 0xea, 0x1e, 0xe6, 0xca, 0x25, + 0xb8, 0x62, 0x00, 0x57, 0x8e, 0x2b, 0x06, 0x70, 0xe5, 0xb8, 0x62, 0x00, + 0x57, 0x8e, 0xbf, 0x92, 0x47, 0xf4, 0x64, 0x7f, 0xc0, 0xf1, 0x13, 0x1f, + 0xe2, 0xf4, 0xd9, 0x4f, 0xe0, 0x15, 0x7a, 0x83, 0x29, 0xe7, 0x2e, 0x3c, + 0xca, 0xe6, 0xd6, 0x31, 0x1e, 0x5d, 0x7b, 0x37, 0xbd, 0x7d, 0x9b, 0x1c, + 0x5c, 0x58, 0xa4, 0x1b, 0xc5, 0x1c, 0x39, 0x70, 0x14, 0x18, 0xb2, 0x3e, + 0x79, 0x88, 0x8d, 0xa1, 0x61, 0x7e, 0x2e, 0x25, 0x16, 0x4f, 0x12, 0x1b, + 0xfa, 0xe9, 0x02, 0xea, 0x63, 0x46, 0xe5, 0x45, 0xaa, 0x2a, 0x42, 0xd5, + 0xb0, 0x34, 0x98, 0x27, 0x2f, 0xd7, 0xe9, 0xa7, 0xfb, 0xe8, 0x64, 0x7b, + 0x0f, 0xad, 0x8e, 0xee, 0x79, 0x51, 0x5e, 0xb8, 0xe7, 0x8b, 0x26, 0xf3, + 0x56, 0x5c, 0x16, 0xc7, 0x5a, 0xc6, 0x51, 0xe7, 0xbc, 0x98, 0xf8, 0xe1, + 0xb2, 0x8e, 0x3e, 0xf0, 0xe0, 0xd9, 0x33, 0x27, 0x8c, 0xaa, 0x8f, 0x63, + 0x4b, 0x0d, 0xd4, 0xb5, 0x63, 0xb1, 0x37, 0xcf, 0x62, 0xba, 0x97, 0x8d, + 0xe1, 0x06, 0x9b, 0xe3, 0x55, 0xe6, 0xe7, 0xe1, 0xe8, 0xca, 0x1c, 0xdd, + 0x8e, 0x05, 0xdf, 0x45, 0x35, 0x65, 0x98, 0x6f, 0xb0, 0xb6, 0x35, 0xa5, + 0x56, 0x4f, 0x3f, 0xb5, 0x64, 0xb1, 0xa3, 0xdf, 0xe9, 0xb2, 0x35, 0x16, + 0xf2, 0x3a, 0x27, 0xb6, 0x25, 0x55, 0xd9, 0xc5, 0x46, 0x31, 0x46, 0x2c, + 0xc3, 0xbc, 0xe0, 0xd0, 0xe2, 0xd5, 0x9c, 0x1f, 0x3e, 0xc0, 0x62, 0xaf, + 0x47, 0x27, 0xb1, 0x74, 0xe2, 0x65, 0xbc, 0x8e, 0x71, 0x65, 0x4e, 0x9c, + 0x40, 0xe1, 0x3a, 0x38, 0x2d, 0x18, 0x8d, 0xa7, 0xd4, 0xde, 0x10, 0xc5, + 0x96, 0x92, 0x21, 0xfd, 0x38, 0x21, 0x8d, 0x0e, 0xd0, 0x49, 0xaf, 0x42, + 0xd5, 0x7d, 0xce, 0xd7, 0xfc, 0x86, 0x3d, 0x7f, 0xfc, 0xf4, 0x31, 0x80, + 0x27, 0xeb, 0x10, 0x31, 0xa8, 0xca, 0x17, 0x8d, 0xa6, 0x17, 0xbf, 0xa3, + 0x76, 0x97, 0x5e, 0xeb, 0xca, 0x72, 0x0f, 0x2e, 0xa5, 0x72, 0x53, 0x88, + 0x0c, 0xae, 0x30, 0x8c, 0xf3, 0x0a, 0x25, 0x65, 0x9c, 0x4f, 0xd7, 0x5d, + 0x25, 0x0f, 0x17, 0x5e, 0xeb, 0xca, 0xf9, 0xad, 0x28, 0x92, 0x8f, 0x88, + 0xf0, 0x3e, 0x23, 0x72, 0xa7, 0x35, 0xe6, 0xe2, 0x15, 0x0f, 0xf0, 0x05, + 0xb5, 0xf0, 0x82, 0xf3, 0xfe, 0x55, 0xc3, 0xf1, 0xd6, 0x3f, 0xf2, 0x3a, + 0xfe, 0x6b, 0x06, 0xcf, 0xda, 0x16, 0x14, 0x95, 0x25, 0x8d, 0x2b, 0x6c, + 0x64, 0x18, 0xe7, 0x19, 0xe7, 0x37, 0xc7, 0x4c, 0xcb, 0x29, 0xce, 0x8d, + 0x40, 0xfd, 0x92, 0x2a, 0x4b, 0xa5, 0x03, 0xef, 0x94, 0xd8, 0xf0, 0xe5, + 0x69, 0x06, 0xd4, 0xc5, 0xc5, 0x44, 0xf3, 0xb7, 0xa8, 0xfa, 0x9f, 0x12, + 0x38, 0x75, 0xc5, 0x00, 0x9e, 0xde, 0x4b, 0x8f, 0x08, 0x87, 0x8a, 0xd2, + 0xff, 0x68, 0x9e, 0x57, 0xdf, 0x99, 0x0c, 0xbc, 0xe9, 0xa6, 0x03, 0xca, + 0xba, 0x64, 0x5c, 0x4c, 0xc9, 0x62, 0xf0, 0x62, 0xb8, 0xb0, 0x56, 0x72, + 0x69, 0x6b, 0x8b, 0xa2, 0x84, 0x24, 0x12, 0xa6, 0x85, 0x47, 0x3d, 0x44, + 0x11, 0x38, 0xc0, 0x18, 0x28, 0x55, 0xa9, 0xc6, 0x30, 0x99, 0x4e, 0xf7, + 0xae, 0x8f, 0x4e, 0x7c, 0x7f, 0x27, 0x35, 0x5f, 0x95, 0x59, 0xbe, 0x4d, + 0x84, 0xf7, 0x5c, 0x01, 0x81, 0x4f, 0xcb, 0xa5, 0x37, 0xa8, 0x56, 0xdf, + 0xb6, 0xba, 0x91, 0x7f, 0xe8, 0xd4, 0xc5, 0xd1, 0xdf, 0x76, 0xbe, 0x30, + 0xa2, 0x96, 0xed, 0x91, 0xe1, 0xf4, 0x05, 0x50, 0x9f, 0x21, 0x36, 0xe3, + 0xc4, 0xf9, 0x82, 0xb3, 0xab, 0x8e, 0xa2, 0x06, 0xe7, 0xa1, 0xa8, 0xb5, + 0x7d, 0x03, 0x2a, 0x07, 0x91, 0x81, 0xc4, 0x0a, 0x68, 0xf8, 0xe6, 0x0a, + 0x68, 0x61, 0xa8, 0x0a, 0x8e, 0x4e, 0x2b, 0x79, 0x1b, 0x44, 0xbf, 0x6c, + 0x8d, 0x7c, 0x31, 0x68, 0x84, 0x5c, 0x31, 0x80, 0xa7, 0xcb, 0xb1, 0xbf, + 0x76, 0xa3, 0x5f, 0x9f, 0x14, 0x9b, 0xbf, 0x5a, 0x57, 0xdd, 0x43, 0xfd, + 0xac, 0xc7, 0x5c, 0x37, 0x65, 0x7d, 0x34, 0xe6, 0xbe, 0x13, 0x1b, 0x9c, + 0x5d, 0x9f, 0x52, 0x13, 0x71, 0x6a, 0x35, 0x67, 0x52, 0x79, 0x54, 0xa0, + 0xcc, 0xc3, 0x1f, 0xaa, 0x82, 0xd7, 0x66, 0xbd, 0x05, 0x7c, 0x05, 0x65, + 0xa1, 0x54, 0x15, 0xe4, 0x39, 0xd4, 0x1e, 0x26, 0x95, 0x67, 0x3c, 0xf1, + 0x4c, 0xa7, 0xda, 0xb9, 0xb0, 0x66, 0xbe, 0xf3, 0xfc, 0x1a, 0x7f, 0x54, + 0x15, 0xe9, 0x47, 0xbc, 0x73, 0x7f, 0x1b, 0xa4, 0x23, 0x7f, 0xc9, 0x2d, + 0xc1, 0x3c, 0xcd, 0x4f, 0xee, 0x8b, 0xac, 0xf8, 0xf7, 0x6e, 0x8f, 0xb7, + 0xbe, 0x61, 0x7b, 0xe4, 0xd8, 0x1e, 0x41, 0x37, 0x86, 0xb2, 0x82, 0xf5, + 0x2d, 0x61, 0x32, 0x15, 0x8e, 0x1e, 0x5a, 0xa4, 0xaa, 0x2d, 0xa3, 0x61, + 0x44, 0x5d, 0x42, 0x95, 0x0b, 0xc6, 0x80, 0x00, 0x75, 0xbd, 0xe3, 0x42, + 0x28, 0x3d, 0x0c, 0x73, 0x18, 0x4d, 0x41, 0xd4, 0xd2, 0x49, 0xe7, 0x89, + 0x58, 0x41, 0xfc, 0x02, 0x45, 0x1e, 0x31, 0x19, 0xc3, 0xda, 0xb0, 0xe4, + 0xbe, 0x93, 0x5b, 0x9c, 0xba, 0x98, 0x3f, 0x67, 0x7b, 0xb4, 0xf9, 0x4b, + 0x55, 0xb9, 0xfa, 0x61, 0xef, 0xab, 0x6f, 0x56, 0xe4, 0x2f, 0xad, 0x15, + 0x3c, 0x2d, 0x31, 0x80, 0xaa, 0x52, 0x55, 0xee, 0x07, 0x06, 0x1d, 0xf3, + 0x2f, 0xa7, 0x53, 0x4d, 0x2f, 0xac, 0x2b, 0x17, 0x37, 0x72, 0x44, 0xa0, + 0x93, 0xc2, 0xe6, 0x3a, 0x6c, 0x6f, 0x5b, 0x06, 0x3d, 0xc3, 0x34, 0x2f, + 0x39, 0x7b, 0x71, 0x0c, 0x16, 0xbc, 0x83, 0x28, 0x0b, 0x5b, 0xbe, 0xaa, + 0xa0, 0xac, 0x41, 0x2b, 0x58, 0xe8, 0x5f, 0xcb, 0xfe, 0xe5, 0xdb, 0x39, + 0xb8, 0xf8, 0x22, 0xf6, 0x2d, 0xdf, 0xcc, 0xa0, 0x73, 0x90, 0x4e, 0xba, + 0x40, 0x14, 0xa5, 0x78, 0x5f, 0x31, 0x29, 0x36, 0xd8, 0xdc, 0x3e, 0xc9, + 0xd6, 0xe4, 0xa3, 0x3c, 0x7c, 0xe1, 0xad, 0x1c, 0x3f, 0xfb, 0x51, 0xd2, + 0x6b, 0xc0, 0xfb, 0xfc, 0x36, 0x63, 0x3a, 0xff, 0x59, 0xbd, 0x7e, 0x37, + 0xa2, 0x3f, 0x02, 0x7f, 0x16, 0x23, 0xcc, 0x4c, 0x43, 0x00, 0x69, 0xbc, + 0x8d, 0x01, 0x82, 0xd9, 0x84, 0x47, 0x13, 0x76, 0xae, 0x18, 0xc0, 0x67, + 0xb1, 0xeb, 0x45, 0xe8, 0x66, 0xbd, 0x9f, 0x99, 0x4c, 0xa6, 0x3f, 0x14, + 0x79, 0x25, 0x2f, 0xd0, 0xb5, 0x6d, 0xa4, 0xa8, 0x60, 0xcf, 0x1c, 0xe4, + 0x05, 0xac, 0x6f, 0xc0, 0x70, 0xec, 0x58, 0xd9, 0xdb, 0x65, 0x34, 0x52, + 0x6a, 0x05, 0xa9, 0xc2, 0x8e, 0xd7, 0x3a, 0xbc, 0xa6, 0x17, 0xef, 0xe1, + 0x99, 0x07, 0xff, 0x3a, 0xb7, 0x5e, 0xfd, 0xf5, 0x5c, 0x75, 0xe0, 0xc5, + 0xf4, 0xba, 0x83, 0xcf, 0xf8, 0x99, 0x4b, 0x1c, 0xe6, 0xf0, 0xbe, 0x67, + 0x02, 0x5f, 0xc1, 0x0b, 0x8b, 0x37, 0xf0, 0x89, 0x47, 0xfe, 0x1b, 0x0f, + 0x5f, 0x7c, 0x03, 0xfd, 0xb9, 0x13, 0x0c, 0xb2, 0x82, 0x4e, 0x64, 0x5e, + 0xb9, 0x3e, 0x76, 0xef, 0xcc, 0xa2, 0xf8, 0x67, 0x49, 0xf4, 0x1f, 0x83, + 0x16, 0x20, 0x1d, 0xaf, 0xdc, 0x5c, 0xd5, 0xdc, 0xaa, 0xf8, 0x1b, 0x63, + 0x5b, 0x1f, 0xf0, 0xea, 0x17, 0xac, 0x48, 0x67, 0x63, 0xbc, 0x8e, 0xf8, + 0x6e, 0x31, 0xc9, 0xbd, 0x8f, 0x24, 0x5a, 0x8b, 0x65, 0xfa, 0x51, 0x63, + 0xf8, 0xa0, 0x08, 0xf7, 0x5d, 0x31, 0x80, 0xbf, 0x10, 0xe5, 0x4b, 0x56, + 0x97, 0xd1, 0x2f, 0x4e, 0x26, 0xe6, 0x5b, 0xbd, 0xaa, 0xae, 0x6e, 0x96, + 0xba, 0x39, 0x46, 0xb6, 0x27, 0x30, 0xe8, 0x04, 0x24, 0xbf, 0xba, 0x0e, + 0xa3, 0x09, 0x74, 0xbb, 0x50, 0xfa, 0x02, 0xe7, 0x22, 0xaa, 0x02, 0xac, + 0x85, 0x69, 0x0e, 0x9d, 0x78, 0x2f, 0x2f, 0xbb, 0xe1, 0xfb, 0xb8, 0xfd, + 0x96, 0xef, 0x62, 0x79, 0xf1, 0xe0, 0xe3, 0x3e, 0x8b, 0x24, 0x4d, 0x78, + 0xee, 0xcd, 0xdf, 0xc8, 0x81, 0xe5, 0xe7, 0xf3, 0xd1, 0x87, 0x5f, 0xcf, + 0xc5, 0xe2, 0x7e, 0xb2, 0x58, 0x89, 0x2d, 0xd1, 0x68, 0x52, 0xfd, 0x50, + 0x37, 0x91, 0x67, 0x19, 0x89, 0x1f, 0x4e, 0x63, 0xf7, 0xea, 0x49, 0x51, + 0xdd, 0xb0, 0x3d, 0xf1, 0xa6, 0x76, 0x53, 0xa6, 0x39, 0xcc, 0x77, 0x0d, + 0x83, 0xc4, 0xb2, 0x36, 0x9c, 0xa0, 0x3e, 0x66, 0x6b, 0xa8, 0x5c, 0x92, + 0x1c, 0x63, 0xd7, 0xbf, 0x67, 0xef, 0x7c, 0xa7, 0x5c, 0xec, 0x47, 0x1f, + 0x4f, 0x4c, 0xfa, 0x56, 0xf1, 0xfc, 0x57, 0x41, 0x1e, 0xf9, 0x2b, 0x63, + 0x00, 0xaa, 0x8a, 0x73, 0x35, 0xce, 0x95, 0x54, 0x75, 0x4e, 0x59, 0x4d, + 0x28, 0xca, 0x6d, 0x12, 0x07, 0x22, 0x35, 0x42, 0x82, 0x11, 0xd7, 0x2d, + 0xaa, 0xe9, 0xaf, 0x6f, 0x8c, 0xca, 0xaf, 0x3e, 0xbf, 0x59, 0xfa, 0xa5, + 0xae, 0x61, 0x9c, 0x1b, 0x86, 0x79, 0x48, 0xe3, 0xe2, 0x08, 0x8a, 0x1c, + 0x86, 0x13, 0xc0, 0xc3, 0xc2, 0xa2, 0x50, 0x55, 0x9e, 0xaa, 0xf2, 0xd8, + 0x18, 0xc6, 0x43, 0xb8, 0xf5, 0xf0, 0xb7, 0xf1, 0x9a, 0x17, 0xfe, 0x18, + 0x2b, 0xcb, 0x57, 0x3d, 0x71, 0xe4, 0xb9, 0x72, 0x23, 0xd7, 0x6c, 0xff, + 0x38, 0xef, 0x7e, 0xf0, 0xeb, 0x58, 0x18, 0x08, 0x46, 0x3c, 0xea, 0x3d, + 0x1b, 0x43, 0xb9, 0x03, 0xc6, 0x77, 0x24, 0x36, 0x83, 0x4a, 0x51, 0xaf, + 0x78, 0x27, 0x8c, 0x2a, 0x65, 0x63, 0x54, 0xd3, 0x49, 0x1c, 0xce, 0x1b, + 0xa6, 0xe5, 0x04, 0x6b, 0xa0, 0x93, 0xa4, 0x8c, 0xc6, 0x09, 0xab, 0xdb, + 0xa3, 0x64, 0xb9, 0xd7, 0x7d, 0xf1, 0xe2, 0xc0, 0xbd, 0x38, 0x4b, 0x8b, + 0x1f, 0x4a, 0x93, 0xe4, 0xd7, 0xbc, 0x77, 0x3f, 0x27, 0x98, 0x87, 0xff, + 0x52, 0x1b, 0x80, 0xf7, 0x0e, 0x6b, 0xed, 0xb5, 0xcb, 0x4b, 0x57, 0xbd, + 0x76, 0xcf, 0x9e, 0xe5, 0x67, 0x1f, 0xde, 0xff, 0xaa, 0x3d, 0x45, 0xb1, + 0xdd, 0x7f, 0xc6, 0xfa, 0xeb, 0xa3, 0x93, 0x6b, 0xef, 0xde, 0x9e, 0x6e, + 0x7f, 0xfc, 0x6c, 0xba, 0x30, 0xba, 0xe7, 0xe2, 0xf6, 0xf1, 0x3b, 0xa6, + 0xf9, 0xf8, 0xab, 0x63, 0x1b, 0x7b, 0x9c, 0xf3, 0x9b, 0x63, 0x6f, 0xf2, + 0x12, 0x31, 0x02, 0xbd, 0x5e, 0x58, 0xf4, 0xad, 0x31, 0x4c, 0xa7, 0x30, + 0x19, 0x43, 0xed, 0x94, 0x72, 0x02, 0x65, 0x5d, 0x51, 0xe5, 0x73, 0xbc, + 0xf6, 0xb9, 0x3f, 0xc7, 0xcb, 0x9f, 0xff, 0x6d, 0x97, 0xf5, 0xdc, 0x6f, + 0x38, 0xf2, 0x15, 0xdc, 0x7d, 0xfa, 0x3a, 0x46, 0xc5, 0xc3, 0x18, 0x20, + 0x32, 0x8e, 0xb2, 0x12, 0xb6, 0x26, 0x9e, 0xf9, 0x8e, 0x50, 0x01, 0xa7, + 0x2f, 0x40, 0x96, 0x79, 0x16, 0x7a, 0x96, 0x90, 0x9a, 0x0a, 0xce, 0x83, + 0xc3, 0x61, 0x0d, 0x78, 0x5f, 0x50, 0xd7, 0x11, 0xc6, 0x08, 0xab, 0xc3, + 0x29, 0x5b, 0xe3, 0x88, 0x6e, 0x26, 0x4b, 0x73, 0x99, 0xf9, 0xc1, 0x6e, + 0xaf, 0xfb, 0x2d, 0xc6, 0xb8, 0x37, 0x00, 0xbf, 0xf4, 0x97, 0xd5, 0x00, + 0xcc, 0x9e, 0xe5, 0xab, 0x7e, 0xf8, 0xe0, 0xfe, 0x67, 0x7c, 0x6f, 0xb7, + 0xb3, 0xb8, 0x6f, 0x17, 0x5a, 0x32, 0xd7, 0x5d, 0xf5, 0x6a, 0xf3, 0xec, + 0xf1, 0xdf, 0x89, 0x3e, 0xf5, 0xc8, 0x07, 0x39, 0xb6, 0xf9, 0x3a, 0xb6, + 0x46, 0x1e, 0x6b, 0xd4, 0x3b, 0xef, 0x71, 0xe2, 0x8d, 0x7a, 0xc8, 0x62, + 0x24, 0x8a, 0xc1, 0x28, 0x38, 0x07, 0xc3, 0x69, 0xc8, 0x00, 0x00, 0x6a, + 0x07, 0x62, 0xa0, 0x9a, 0xec, 0xe5, 0x6f, 0xbe, 0xfa, 0xb7, 0xb8, 0xf5, + 0xfa, 0x57, 0x5c, 0xf6, 0x93, 0x4f, 0x92, 0x8c, 0xc3, 0xcb, 0x2f, 0xe6, + 0x81, 0xb3, 0x0f, 0x13, 0xa7, 0xe1, 0x39, 0x1b, 0x0b, 0x65, 0x05, 0xab, + 0xd5, 0x94, 0x28, 0x81, 0x4e, 0x17, 0x46, 0x23, 0x28, 0xab, 0xe0, 0x21, + 0xa2, 0x58, 0x49, 0x62, 0xb0, 0x6a, 0xb1, 0x36, 0x66, 0x52, 0xe4, 0xc4, + 0xb6, 0x26, 0x12, 0x01, 0x51, 0x0c, 0xc2, 0x70, 0x5a, 0x63, 0xcc, 0x08, + 0x1b, 0x77, 0x97, 0x2b, 0x2d, 0x7f, 0x71, 0x9e, 0xb9, 0x57, 0x68, 0xe4, + 0xff, 0x3e, 0xb0, 0xf6, 0x97, 0x29, 0x0d, 0xec, 0x8d, 0x46, 0xa3, 0x37, + 0xcd, 0xf5, 0x0f, 0xfe, 0xa3, 0x6e, 0x67, 0x31, 0x03, 0x36, 0x81, 0x21, + 0xca, 0xb8, 0xac, 0x98, 0xae, 0x6f, 0xd5, 0xd3, 0xd5, 0xb5, 0xf1, 0x78, + 0xcb, 0xff, 0xeb, 0x69, 0xe5, 0xd7, 0x73, 0x48, 0xaa, 0x2c, 0x8a, 0x28, + 0x2b, 0xc5, 0x3b, 0x54, 0x6b, 0x64, 0xae, 0x87, 0x46, 0x0d, 0x92, 0x2e, + 0xab, 0x40, 0xee, 0xf8, 0x86, 0xe4, 0x99, 0x4e, 0xa1, 0x2c, 0xba, 0x7c, + 0xdd, 0xcb, 0x7f, 0xe3, 0x49, 0x59, 0xfc, 0xf6, 0x58, 0xe8, 0x3d, 0x9b, + 0xaa, 0x0e, 0xf8, 0x23, 0xb2, 0xa0, 0xe2, 0xa9, 0xbd, 0xa7, 0xa8, 0x95, + 0x3c, 0x17, 0x56, 0x96, 0x83, 0x49, 0x4f, 0x26, 0x20, 0xa2, 0x64, 0x31, + 0xf4, 0x52, 0xe8, 0x25, 0xca, 0x5c, 0x2a, 0x24, 0x91, 0xc1, 0x29, 0xd4, + 0x5e, 0x89, 0x0d, 0x74, 0x3a, 0x25, 0xbd, 0xcc, 0x93, 0x97, 0x15, 0x5b, + 0xe3, 0x6d, 0x3a, 0x06, 0xbc, 0x1b, 0x7f, 0x6b, 0xe4, 0xbb, 0x6f, 0x37, + 0xc6, 0x1c, 0xfa, 0xcb, 0x62, 0x00, 0xf2, 0x3f, 0xff, 0xe7, 0x5b, 0xff, + 0xcd, 0xf3, 0x9e, 0xf7, 0xdc, 0xef, 0x39, 0x77, 0xee, 0xec, 0x10, 0xa8, + 0xdb, 0x3c, 0xa9, 0x76, 0xc8, 0xb4, 0x70, 0x8c, 0x47, 0xca, 0xf9, 0xed, + 0x9f, 0x95, 0xe3, 0xab, 0x6f, 0x91, 0xe1, 0x44, 0x64, 0xb9, 0x17, 0x9b, + 0xda, 0xd5, 0xb2, 0x36, 0x54, 0xf5, 0x1e, 0x59, 0x5c, 0x80, 0xd8, 0x82, + 0xf7, 0xe1, 0x0f, 0x55, 0x00, 0x0d, 0xe4, 0x8e, 0x00, 0xc3, 0x6d, 0x78, + 0xce, 0xe1, 0x1f, 0xe1, 0x59, 0x37, 0xbf, 0xfa, 0x49, 0xbd, 0x40, 0x59, + 0x7c, 0x98, 0xba, 0x0e, 0x06, 0xa7, 0x1a, 0xa8, 0xe4, 0x24, 0x85, 0x4a, + 0xa1, 0xa8, 0x3d, 0x28, 0xec, 0xdd, 0x0b, 0x55, 0xad, 0x81, 0x7d, 0xac, + 0x60, 0x6d, 0x1b, 0xce, 0x6d, 0x78, 0x8e, 0x9f, 0x9f, 0xb2, 0x3d, 0xf2, + 0x8c, 0xc6, 0x50, 0x94, 0xe1, 0x6f, 0x5c, 0x65, 0xd9, 0x33, 0xc8, 0xd8, + 0x33, 0xb0, 0x54, 0x35, 0x5c, 0xda, 0x9a, 0x92, 0x97, 0x63, 0x70, 0xbc, + 0xc0, 0xd7, 0xe6, 0xf7, 0xbd, 0xd7, 0x43, 0x60, 0x10, 0xf9, 0xdc, 0x1f, + 0x4f, 0x87, 0x10, 0xf0, 0x75, 0xef, 0x7f, 0xff, 0xfb, 0xbf, 0xe9, 0x4b, + 0x5f, 0xf3, 0x9a, 0xf5, 0xfd, 0xfb, 0xf7, 0x7b, 0xc0, 0x02, 0xa2, 0x8a, + 0x14, 0xb5, 0x32, 0x1e, 0x39, 0x56, 0x37, 0xff, 0x48, 0xce, 0x8e, 0xdf, + 0x28, 0x91, 0x24, 0x24, 0xa9, 0x37, 0xe3, 0xe2, 0xbc, 0x6c, 0x0c, 0x55, + 0xf3, 0x12, 0x89, 0x6d, 0xb0, 0xcc, 0xbc, 0x42, 0xca, 0x2a, 0x20, 0x7c, + 0x14, 0xca, 0x22, 0x5c, 0xfc, 0xd1, 0x08, 0x3a, 0xdc, 0xc0, 0x8b, 0x6f, + 0xfb, 0xbb, 0x78, 0x0d, 0x2c, 0xdf, 0x13, 0x39, 0xde, 0xfb, 0xa7, 0xef, + 0xa5, 0xdb, 0xe9, 0xf0, 0xfc, 0xe7, 0xbf, 0xe0, 0xcf, 0x5e, 0x20, 0xdb, + 0xa7, 0xae, 0xa0, 0x2e, 0x85, 0x4a, 0x62, 0xaa, 0xaa, 0x24, 0x49, 0x20, + 0xeb, 0x40, 0x55, 0x82, 0x27, 0x60, 0x94, 0x38, 0x0d, 0x5e, 0x00, 0x42, + 0xb8, 0x52, 0x02, 0xd3, 0x88, 0x0f, 0xa1, 0x6a, 0x32, 0x85, 0xda, 0x0b, + 0xb9, 0x78, 0xf2, 0xba, 0xa6, 0xdf, 0x75, 0x0c, 0x32, 0x61, 0x5a, 0x46, + 0x5c, 0xda, 0x76, 0x1c, 0x8c, 0x22, 0x6c, 0xce, 0xb3, 0x92, 0x5e, 0xfd, + 0x96, 0xda, 0x9d, 0xfb, 0xd2, 0xd1, 0xf4, 0xc2, 0xf8, 0x73, 0xe6, 0x9f, + 0x96, 0x9f, 0x5a, 0x03, 0x18, 0x00, 0x7f, 0xe7, 0x8d, 0x6f, 0xfc, 0xe7, + 0x17, 0x45, 0xa4, 0x06, 0x92, 0x66, 0xf1, 0x29, 0x2a, 0x98, 0x4e, 0x2b, + 0xd9, 0xdc, 0xbc, 0x24, 0x6b, 0xe5, 0x1b, 0x71, 0x6e, 0x22, 0xd3, 0xc2, + 0x90, 0xc5, 0x90, 0x97, 0xa2, 0xc3, 0x42, 0xc5, 0x2b, 0xa4, 0x11, 0x82, + 0xc0, 0xb4, 0x44, 0xab, 0x1a, 0xb1, 0x16, 0x26, 0x05, 0x44, 0x69, 0x08, + 0x01, 0x55, 0x05, 0xfb, 0x7a, 0x5f, 0x49, 0x9a, 0x76, 0x99, 0x16, 0x9e, + 0x34, 0x32, 0x58, 0x13, 0x2e, 0xf4, 0xe3, 0xcc, 0x4f, 0x78, 0xc3, 0x1b, + 0xde, 0xc0, 0x4f, 0xfe, 0xe4, 0x4f, 0x61, 0xad, 0xe1, 0xbf, 0xfd, 0xb7, + 0xdf, 0xe6, 0x75, 0xaf, 0x7b, 0xdd, 0x63, 0x5e, 0xe1, 0x9c, 0x61, 0x92, + 0x43, 0x2f, 0x8b, 0x48, 0x6d, 0x82, 0x2b, 0x1d, 0x15, 0x8e, 0x52, 0x21, + 0x4d, 0x83, 0x71, 0xe6, 0x05, 0xcc, 0x2d, 0xc0, 0x99, 0x47, 0x21, 0x2f, + 0xc1, 0x46, 0x90, 0x25, 0x90, 0xc5, 0xc1, 0x08, 0x44, 0x42, 0xd8, 0x4a, + 0x63, 0xc1, 0xab, 0x32, 0xca, 0x6b, 0x26, 0x05, 0x2c, 0x0e, 0x0c, 0x7b, + 0xe7, 0x13, 0xbc, 0xce, 0xb3, 0x3a, 0xdc, 0xa4, 0x9b, 0x78, 0x14, 0x7d, + 0x49, 0xa6, 0xa3, 0x7f, 0x07, 0xf1, 0x77, 0x18, 0x52, 0x9e, 0x6c, 0x06, + 0xe9, 0xc9, 0x30, 0x80, 0x57, 0x00, 0xd7, 0x89, 0x48, 0xde, 0xbe, 0xbf, + 0x02, 0x95, 0x43, 0x8a, 0xb2, 0x96, 0xc9, 0x50, 0xe5, 0xfc, 0xe8, 0x17, + 0xf1, 0xf1, 0xbd, 0x06, 0x9f, 0x4a, 0x51, 0x94, 0x9a, 0x59, 0x61, 0x34, + 0xf5, 0x54, 0x15, 0x1a, 0x09, 0xa6, 0xdb, 0x09, 0xc6, 0x32, 0x1a, 0x23, + 0x51, 0x14, 0x18, 0x3e, 0xd7, 0xc4, 0xe1, 0xca, 0x43, 0x9a, 0xc1, 0xf9, + 0xad, 0x0f, 0x73, 0xf6, 0xdc, 0x49, 0x0e, 0x1e, 0x3c, 0x4a, 0x41, 0x88, + 0xcf, 0x11, 0x60, 0xa5, 0x09, 0x36, 0x9f, 0x55, 0x86, 0xa2, 0xbc, 0xfd, + 0xed, 0xef, 0x68, 0x16, 0xda, 0x63, 0xed, 0x9f, 0xb5, 0xa0, 0xf5, 0xad, + 0x73, 0x94, 0x05, 0x6c, 0x8c, 0x2a, 0x62, 0xab, 0xa8, 0x0a, 0xdb, 0x13, + 0xe8, 0x74, 0x85, 0x5a, 0x94, 0xd2, 0x85, 0x05, 0x5f, 0xdc, 0x03, 0xe7, + 0xce, 0x86, 0x74, 0x34, 0xeb, 0x86, 0x05, 0xcf, 0x14, 0xd2, 0x24, 0x00, + 0x56, 0xef, 0x60, 0x32, 0xf5, 0x88, 0x11, 0x62, 0x1b, 0x0a, 0x53, 0x45, + 0x21, 0x6c, 0x8e, 0x3c, 0x4b, 0x83, 0x11, 0x73, 0x59, 0xcc, 0xfa, 0x70, + 0x4c, 0x64, 0x2b, 0x44, 0xdc, 0xb7, 0xcf, 0xf7, 0xae, 0x79, 0x57, 0x2f, + 0xbb, 0xf6, 0x3f, 0xa9, 0xd6, 0x5f, 0x70, 0x06, 0xf0, 0xf2, 0x5d, 0x4b, + 0x20, 0x80, 0x38, 0x87, 0x94, 0x95, 0x97, 0xb2, 0x30, 0x6c, 0x8c, 0x3e, + 0xae, 0x9b, 0xf5, 0x9b, 0xc4, 0xd4, 0x5e, 0x8a, 0x4a, 0xa5, 0xac, 0x55, + 0xca, 0x1a, 0x83, 0x05, 0x2b, 0x46, 0xe2, 0xd4, 0xe3, 0x1d, 0x5a, 0xd6, + 0x88, 0x36, 0xe0, 0x2f, 0xb6, 0x61, 0xd1, 0x03, 0xd0, 0x82, 0x4e, 0x06, + 0x67, 0xd7, 0xdf, 0xc7, 0x2f, 0xfe, 0xce, 0x97, 0xf2, 0xda, 0x97, 0xfd, + 0x18, 0xcf, 0xb9, 0xe9, 0xf5, 0xcc, 0xcd, 0xa5, 0x78, 0x0d, 0xd6, 0x66, + 0x0c, 0x9f, 0x95, 0xf7, 0x34, 0xc6, 0xf0, 0x2b, 0xbf, 0xf2, 0x2b, 0xfc, + 0xe6, 0x6f, 0xfe, 0x26, 0x2f, 0x79, 0xc9, 0x4b, 0xf8, 0xca, 0xaf, 0xfc, + 0xaa, 0xc7, 0xfc, 0x7e, 0x6d, 0xe3, 0x24, 0x1f, 0xfd, 0xd4, 0xff, 0x4b, + 0x2f, 0x11, 0x52, 0x93, 0xb2, 0x35, 0xce, 0x31, 0x26, 0xa6, 0x93, 0x74, + 0x19, 0x0e, 0xa7, 0x24, 0x19, 0xc4, 0x31, 0x48, 0x06, 0x71, 0x07, 0x96, + 0xf7, 0xc2, 0xc6, 0x6a, 0x30, 0x88, 0x5a, 0x02, 0x66, 0xb0, 0x36, 0xd0, + 0xd7, 0xe3, 0x02, 0xf2, 0x0a, 0xa2, 0x48, 0x71, 0x0e, 0x92, 0x04, 0x9c, + 0xaf, 0x29, 0x5d, 0xcd, 0x30, 0x9f, 0x72, 0xc3, 0x81, 0x65, 0x22, 0x3b, + 0xc7, 0xf6, 0x74, 0x42, 0x1c, 0xd5, 0x64, 0xe9, 0xd9, 0x9f, 0x8c, 0x35, + 0x7f, 0x9b, 0x20, 0x97, 0x9e, 0x4c, 0x1f, 0x20, 0x97, 0xb9, 0x2f, 0xc0, + 0x00, 0xbf, 0x01, 0x3c, 0xbf, 0x01, 0x7e, 0x89, 0xf7, 0x44, 0x65, 0x4d, + 0xe4, 0x2a, 0xcc, 0x89, 0xd3, 0xa7, 0xed, 0xf1, 0xb5, 0xbf, 0x6b, 0x2f, + 0x4d, 0xff, 0x87, 0x8d, 0x24, 0x8a, 0xc6, 0xb9, 0xca, 0x38, 0x77, 0xb2, + 0x3c, 0x2f, 0xa6, 0x76, 0x22, 0xdb, 0x23, 0x95, 0x85, 0x01, 0xa2, 0x5e, + 0x75, 0x52, 0x60, 0x36, 0xb7, 0xc3, 0x42, 0xce, 0xf5, 0x61, 0x38, 0x0a, + 0xc6, 0x50, 0x16, 0xe1, 0xc2, 0xba, 0x1a, 0x56, 0xd7, 0xc2, 0x82, 0x5f, + 0x77, 0xf8, 0x45, 0x3c, 0xe7, 0xfa, 0x6f, 0xe0, 0x19, 0xd7, 0xbe, 0x96, + 0xfd, 0x2b, 0x37, 0xd2, 0xeb, 0x3c, 0x31, 0x50, 0x30, 0x1a, 0x6d, 0xf2, + 0xc9, 0x93, 0xbf, 0xcd, 0x7d, 0xe7, 0xde, 0xc8, 0xc9, 0xd3, 0x8f, 0xe0, + 0x4a, 0x21, 0xcb, 0xc0, 0x44, 0x4a, 0x27, 0x31, 0xf4, 0xbb, 0x96, 0xd2, + 0x55, 0xa8, 0x04, 0x03, 0x18, 0x0c, 0x20, 0xed, 0x87, 0xd8, 0xff, 0x91, + 0xf7, 0x87, 0xf7, 0x48, 0xd3, 0x60, 0x88, 0x59, 0x1a, 0xf0, 0x42, 0x91, + 0x07, 0xfc, 0x62, 0x0c, 0xa4, 0x89, 0x90, 0xd7, 0x8a, 0x3a, 0xe8, 0x77, + 0x05, 0x6b, 0x84, 0x85, 0x5e, 0x87, 0xc3, 0xcb, 0x31, 0x17, 0xb6, 0x46, + 0xf4, 0xbb, 0x8b, 0xf4, 0x32, 0x61, 0xbe, 0xd7, 0xfb, 0x71, 0xf1, 0x9d, + 0x1f, 0x51, 0xfc, 0xe3, 0x3a, 0xff, 0x9b, 0x0f, 0xdd, 0xff, 0x94, 0x19, + 0x40, 0x0f, 0xf8, 0x1d, 0xe0, 0x9a, 0x00, 0x7f, 0x48, 0x00, 0x7b, 0x61, + 0xed, 0xbc, 0x7d, 0xcf, 0x47, 0x7e, 0x3e, 0xba, 0xf3, 0xe1, 0x5f, 0xb6, + 0xcf, 0xb8, 0xf5, 0x8c, 0xc9, 0x73, 0xb1, 0xb1, 0x95, 0x78, 0x7b, 0x02, + 0x2a, 0x5e, 0xf6, 0x2f, 0x44, 0x76, 0x6d, 0xcb, 0x89, 0x8a, 0x92, 0x58, + 0x91, 0xda, 0x29, 0x65, 0x85, 0x8c, 0xf3, 0x70, 0xc1, 0x68, 0x98, 0xc0, + 0xe1, 0x38, 0x64, 0x05, 0x0a, 0xe4, 0x0d, 0x29, 0x34, 0x9d, 0x04, 0x3f, + 0x13, 0x25, 0xd0, 0x4b, 0xbb, 0x1c, 0x5c, 0xb9, 0x8d, 0xa3, 0xfb, 0x5f, + 0xc4, 0xe1, 0x3d, 0xcf, 0x67, 0xdf, 0x9e, 0x9b, 0x58, 0xe8, 0x1f, 0xa2, + 0x97, 0x2d, 0x11, 0xc7, 0x19, 0xd6, 0x44, 0x3b, 0x9e, 0x41, 0x15, 0xbc, + 0xf7, 0xd4, 0xae, 0xa0, 0x28, 0x37, 0xd9, 0x1c, 0x9d, 0xe4, 0xe2, 0xc6, + 0x83, 0x3c, 0x7a, 0xe1, 0x3d, 0x7c, 0xea, 0xcc, 0x3b, 0xa9, 0xec, 0x49, + 0xe6, 0xe6, 0xe1, 0xdc, 0xa3, 0x01, 0x64, 0x66, 0x9d, 0xb0, 0x80, 0xaa, + 0x90, 0x24, 0xc2, 0xf2, 0x5c, 0x97, 0x34, 0x4e, 0xd9, 0xce, 0xb7, 0x40, + 0x1c, 0xdd, 0x01, 0x0c, 0x16, 0xe0, 0x91, 0x4f, 0xc1, 0xb1, 0x07, 0x60, + 0x71, 0x39, 0x78, 0x2a, 0x80, 0x38, 0x09, 0xe1, 0x2b, 0xb1, 0x29, 0x0b, + 0x73, 0x11, 0xd3, 0x62, 0x0c, 0xc6, 0x50, 0x54, 0xe1, 0x44, 0x22, 0x2b, + 0x58, 0xeb, 0x39, 0xb8, 0x24, 0xf4, 0xb2, 0x2e, 0x65, 0x35, 0x87, 0x8d, + 0xb7, 0x58, 0xec, 0x77, 0x56, 0x7b, 0x49, 0xe7, 0x99, 0x0a, 0xe7, 0x1f, + 0xcf, 0x22, 0x3c, 0xe3, 0xd0, 0xa9, 0xa7, 0x2c, 0x04, 0x98, 0x16, 0xf1, + 0x03, 0x56, 0xbd, 0xe7, 0x4f, 0xef, 0xf9, 0x05, 0xf3, 0x87, 0x1f, 0xfe, + 0x09, 0x79, 0xf4, 0xf4, 0x29, 0xae, 0xbf, 0x09, 0xbc, 0x62, 0x04, 0x6c, + 0x59, 0xab, 0x96, 0xa5, 0x4a, 0x92, 0x60, 0xb6, 0xc7, 0x75, 0xc0, 0x09, + 0x25, 0xa8, 0x55, 0x5a, 0xd0, 0x28, 0x26, 0x2c, 0x72, 0x96, 0x86, 0x45, + 0x88, 0x2c, 0x94, 0x8d, 0x56, 0x32, 0xc9, 0xc0, 0xd8, 0x60, 0x20, 0x93, + 0x11, 0x54, 0x39, 0x54, 0xd1, 0x84, 0x13, 0x17, 0x3e, 0xcc, 0xc9, 0xd5, + 0x0f, 0x23, 0x12, 0xe2, 0x6f, 0xaf, 0x33, 0x47, 0x1a, 0x2d, 0xd1, 0xc9, + 0x16, 0x48, 0x6c, 0x86, 0x91, 0x04, 0x31, 0x82, 0x48, 0x85, 0xf3, 0x25, + 0xa5, 0xdf, 0x66, 0x92, 0xaf, 0x52, 0xba, 0x75, 0xaa, 0x06, 0xb0, 0xc5, + 0x36, 0x80, 0xb8, 0xc9, 0x26, 0x4c, 0x47, 0x90, 0xf6, 0x02, 0xf0, 0xb4, + 0x16, 0xc4, 0x82, 0x95, 0x98, 0xad, 0x51, 0xc5, 0x5c, 0xd7, 0xe2, 0x9c, + 0xe0, 0x15, 0xca, 0x89, 0xb0, 0x59, 0x2b, 0xfb, 0x0e, 0xc0, 0xc5, 0x73, + 0x61, 0xc7, 0xc7, 0x71, 0x30, 0xdc, 0xaa, 0x0e, 0xef, 0x3b, 0x2c, 0x4b, + 0x8c, 0xa9, 0xb1, 0x11, 0x58, 0xef, 0x11, 0x20, 0xaf, 0xc1, 0x9a, 0x84, + 0x24, 0xb2, 0x5c, 0xdc, 0x9e, 0x70, 0x24, 0xaa, 0x48, 0xa2, 0x8a, 0x61, + 0x5e, 0xd3, 0xcf, 0xdc, 0x1e, 0x97, 0x96, 0x5f, 0x23, 0xf8, 0x37, 0x7d, + 0xa1, 0x60, 0x80, 0x1c, 0x18, 0x03, 0x66, 0x63, 0xfb, 0x11, 0xfd, 0x8d, + 0x3f, 0xfa, 0x1e, 0x73, 0xdf, 0x23, 0x7f, 0x28, 0xbe, 0x46, 0x96, 0x16, + 0x61, 0xdf, 0x7e, 0x4c, 0x5d, 0x89, 0x89, 0x23, 0x58, 0x1f, 0xaa, 0xaa, + 0x60, 0x6a, 0x17, 0xaa, 0x78, 0xc6, 0x02, 0x15, 0xd2, 0x8a, 0x37, 0xe2, + 0x08, 0x8a, 0x3a, 0x30, 0x6d, 0xa2, 0xe1, 0x02, 0x46, 0x51, 0x70, 0x2b, + 0xde, 0x03, 0x0e, 0xac, 0x06, 0x6c, 0xe0, 0x3d, 0x8c, 0x47, 0x01, 0x80, + 0xa5, 0x1d, 0x88, 0x14, 0xa2, 0x38, 0x18, 0xd4, 0x44, 0xb6, 0x99, 0x9a, + 0x6d, 0x36, 0xc6, 0x33, 0x64, 0x12, 0x27, 0x8d, 0x67, 0xd9, 0xf5, 0xba, + 0x34, 0x85, 0x98, 0xd9, 0xf3, 0xb5, 0x83, 0xb5, 0x55, 0xe8, 0x76, 0x0c, + 0x36, 0x0d, 0x64, 0x44, 0xe5, 0x21, 0x12, 0x98, 0x94, 0x25, 0x62, 0xc0, + 0x8d, 0x3c, 0x73, 0xfd, 0x98, 0x51, 0x5e, 0x93, 0x17, 0x02, 0xa5, 0x12, + 0x59, 0xb8, 0xe9, 0x56, 0x78, 0xe0, 0xbe, 0x90, 0xfb, 0xd3, 0x18, 0xae, + 0x18, 0xc0, 0x2b, 0x1b, 0x43, 0x47, 0xb7, 0x03, 0x49, 0x14, 0x9e, 0x0b, + 0x1f, 0xa7, 0x44, 0xc6, 0xb0, 0x9d, 0xc3, 0x28, 0xf7, 0x2c, 0xf6, 0x47, + 0xa8, 0x87, 0xe1, 0xb8, 0x20, 0x8e, 0xcc, 0xb7, 0x66, 0x69, 0xf9, 0xef, + 0x55, 0xd5, 0xcb, 0x17, 0x80, 0x01, 0x54, 0xc0, 0x99, 0x73, 0xab, 0xf7, + 0x3e, 0xf7, 0xbf, 0xbc, 0xeb, 0xab, 0x8b, 0x8b, 0xab, 0x8f, 0x92, 0x46, + 0x41, 0x84, 0xb1, 0xb0, 0x1f, 0xb1, 0x06, 0xf5, 0x15, 0x52, 0x06, 0x37, + 0x2e, 0xc6, 0x60, 0xd4, 0x87, 0x94, 0x6f, 0x32, 0x41, 0x7c, 0x58, 0x68, + 0xd1, 0xe6, 0x9b, 0x76, 0x33, 0xd8, 0xda, 0x0e, 0x2e, 0x3f, 0xb6, 0x8f, + 0x05, 0x77, 0xc6, 0x80, 0xda, 0xe0, 0x96, 0xe3, 0x24, 0xec, 0xb6, 0xe1, + 0x16, 0xe4, 0x93, 0xf0, 0xb3, 0x35, 0x01, 0x8c, 0xb9, 0x2a, 0xe4, 0xe8, + 0xb6, 0xf9, 0x7b, 0x1b, 0x85, 0x05, 0xf6, 0x2e, 0x2c, 0x4e, 0x35, 0x05, + 0x13, 0x85, 0x1d, 0x9e, 0x24, 0xe1, 0x79, 0x63, 0x42, 0x88, 0xa9, 0x6a, + 0x48, 0x7a, 0x1e, 0x91, 0xf0, 0x77, 0x71, 0x3c, 0xfb, 0x5b, 0x2b, 0x50, + 0xb8, 0x9a, 0x8b, 0x1b, 0x35, 0x59, 0x0a, 0x79, 0xe9, 0x49, 0x22, 0xd8, + 0xde, 0x12, 0x7a, 0x3d, 0xb8, 0xe9, 0x56, 0xe5, 0xf8, 0xb1, 0x60, 0x48, + 0x28, 0xa4, 0x1e, 0xd2, 0x18, 0x72, 0x0d, 0x5e, 0xcc, 0x08, 0xf4, 0xd3, + 0xf0, 0x7d, 0xf2, 0xb2, 0x64, 0xc3, 0x97, 0xc4, 0x91, 0xb0, 0x3e, 0xf2, + 0xc4, 0x51, 0x41, 0x64, 0x2d, 0x95, 0x8b, 0xa9, 0xbd, 0xbe, 0x48, 0xa5, + 0xf7, 0x22, 0x31, 0xe6, 0x83, 0x4f, 0x46, 0x4a, 0x78, 0xd9, 0x99, 0xc0, + 0xca, 0x4d, 0x3f, 0xfc, 0x5b, 0xef, 0xfd, 0xc6, 0xe8, 0xe2, 0xe6, 0xa3, + 0xd2, 0xef, 0x88, 0x29, 0x72, 0xc4, 0x18, 0x64, 0xef, 0x7e, 0x4c, 0x55, + 0x60, 0xbc, 0x42, 0x51, 0x29, 0xa2, 0x88, 0x2a, 0x1a, 0xc7, 0x68, 0xed, + 0x10, 0x4f, 0x00, 0x76, 0xaa, 0xe0, 0x25, 0x5c, 0xb8, 0x22, 0x0f, 0xbb, + 0x24, 0x4e, 0xc2, 0x02, 0xd5, 0xae, 0xd9, 0xfd, 0xcd, 0x66, 0x56, 0x07, + 0xea, 0xc3, 0x05, 0xb6, 0x16, 0xfa, 0x83, 0xe0, 0x11, 0x8a, 0x1c, 0x36, + 0xd6, 0x42, 0xd1, 0xa8, 0x2c, 0x82, 0x51, 0x54, 0x45, 0xd8, 0xe9, 0x45, + 0x0e, 0x65, 0xb9, 0xeb, 0x02, 0xd8, 0x19, 0xce, 0x28, 0x8b, 0xb0, 0x20, + 0xc6, 0x06, 0xd7, 0xdf, 0xef, 0x87, 0x94, 0x2e, 0x4a, 0x76, 0x65, 0x96, + 0x12, 0xc2, 0x80, 0xd2, 0x88, 0x3d, 0x4c, 0x43, 0x53, 0xbb, 0x86, 0xa2, + 0xce, 0x95, 0xcd, 0x4d, 0x05, 0x0f, 0x47, 0xae, 0x0a, 0x06, 0xa8, 0xcc, + 0xf0, 0x4b, 0x1a, 0x05, 0x43, 0x70, 0x8d, 0x54, 0x2d, 0x89, 0x61, 0xa9, + 0x9f, 0x62, 0xac, 0x0d, 0xf2, 0x35, 0x1f, 0xb1, 0x3a, 0x54, 0xd2, 0x68, + 0x8e, 0xc8, 0x5a, 0x2e, 0x6e, 0x0c, 0x4d, 0x59, 0xfb, 0x6f, 0x31, 0xa6, + 0x83, 0xc8, 0x67, 0xf7, 0x78, 0x5c, 0x1e, 0xe0, 0x5d, 0x77, 0x7f, 0xc7, + 0x65, 0xcc, 0x29, 0x84, 0xa2, 0xdc, 0x78, 0xe7, 0xf6, 0xe4, 0x13, 0xff, + 0x30, 0x35, 0x74, 0xc7, 0xb9, 0xe2, 0x1d, 0xb2, 0xb8, 0x8c, 0x64, 0x19, + 0x4c, 0xb6, 0x21, 0xb6, 0x48, 0x55, 0xc3, 0xb4, 0x80, 0xac, 0x23, 0x24, + 0x56, 0x64, 0x52, 0xf8, 0xb0, 0x03, 0xe3, 0xc0, 0x64, 0x56, 0xcd, 0x05, + 0xcd, 0x52, 0xa8, 0x35, 0x2c, 0xb2, 0xb5, 0x61, 0xd7, 0xb4, 0xf1, 0xd4, + 0x6b, 0x58, 0x18, 0xf5, 0xcd, 0x85, 0xed, 0x04, 0x43, 0x49, 0x53, 0xc8, + 0xb2, 0xb0, 0xf8, 0xf9, 0x14, 0xea, 0x66, 0x67, 0xd7, 0x55, 0xd8, 0xc5, + 0x51, 0x14, 0x16, 0xd8, 0xbb, 0x66, 0xb1, 0x0d, 0xb8, 0x3c, 0x80, 0x3c, + 0x24, 0xbc, 0x2e, 0x9f, 0x40, 0x9c, 0x85, 0xf7, 0xd1, 0x50, 0xc3, 0xc1, + 0x26, 0xcd, 0xe7, 0xba, 0xe0, 0x09, 0x02, 0x88, 0x0c, 0x9f, 0x1f, 0x37, + 0x9e, 0xa3, 0x6c, 0x3e, 0x23, 0xaf, 0xa0, 0x5e, 0x87, 0x03, 0x07, 0x60, + 0xcf, 0x5e, 0x58, 0x5b, 0x0b, 0xe7, 0x35, 0x9e, 0x42, 0xbf, 0xdb, 0x80, + 0x5a, 0x0b, 0xce, 0x09, 0x49, 0xac, 0xf4, 0xd2, 0x88, 0x2c, 0x83, 0x71, + 0x5e, 0x62, 0x4d, 0x20, 0x93, 0x86, 0xb9, 0xb2, 0x38, 0x10, 0x9c, 0x26, + 0x8c, 0xc6, 0xf5, 0xd7, 0x5a, 0x33, 0xfd, 0x67, 0x4f, 0x46, 0xb1, 0x28, + 0xfa, 0xd4, 0xc5, 0x5f, 0xbd, 0xbc, 0x2e, 0xc5, 0x72, 0x62, 0x30, 0xc7, + 0xef, 0xd6, 0x25, 0xdf, 0x35, 0x9d, 0x30, 0x76, 0x1e, 0xf6, 0x1e, 0x40, + 0xd4, 0x23, 0xae, 0x0e, 0x9a, 0x29, 0x63, 0x44, 0x92, 0x18, 0xe9, 0xc6, + 0x09, 0x45, 0x51, 0x05, 0x3a, 0xd7, 0x84, 0x45, 0x6f, 0x28, 0x7f, 0xa2, + 0xb8, 0x39, 0xc1, 0x08, 0x8a, 0x22, 0xc4, 0xdf, 0x76, 0xe7, 0xdb, 0x28, + 0x2c, 0x14, 0x12, 0x30, 0x81, 0x10, 0x5c, 0xbe, 0xda, 0x10, 0x83, 0x3a, + 0x51, 0x58, 0x94, 0xba, 0x6e, 0x3c, 0xc0, 0xb4, 0x49, 0xcd, 0xb2, 0xd9, + 0xa2, 0xd7, 0x75, 0xf8, 0x1b, 0xd7, 0xb8, 0xe8, 0xa2, 0xe1, 0xfa, 0x6d, + 0xe3, 0xe6, 0xd3, 0x4e, 0xd8, 0xe9, 0x34, 0x54, 0xb3, 0xd0, 0x78, 0x1b, + 0x66, 0x80, 0xb0, 0xb1, 0xf9, 0xf0, 0xbc, 0xcc, 0xb0, 0x09, 0x1a, 0x18, + 0xc0, 0xed, 0x2d, 0x58, 0xd9, 0x17, 0xb0, 0x84, 0xba, 0x60, 0x78, 0x45, + 0x83, 0x37, 0x70, 0xe0, 0xc4, 0x90, 0xa4, 0x5d, 0x56, 0x47, 0x43, 0xe6, + 0xbb, 0x86, 0x6e, 0x06, 0xb1, 0x89, 0xf0, 0x5e, 0x19, 0x4e, 0xb6, 0x49, + 0x63, 0x61, 0xbe, 0x3b, 0xa0, 0x72, 0x66, 0xbf, 0x20, 0xaf, 0x89, 0x63, + 0xf9, 0xf5, 0xcb, 0xdd, 0xcd, 0x7f, 0xd9, 0x89, 0x20, 0xef, 0x20, 0xcd, + 0xf8, 0x69, 0x63, 0x79, 0x8d, 0xc0, 0xd1, 0x5e, 0x9f, 0x72, 0x6e, 0x20, + 0x32, 0x19, 0x2b, 0xc6, 0x42, 0x1c, 0x29, 0xbe, 0xb4, 0xa8, 0x83, 0xd1, + 0xb4, 0x10, 0x6b, 0x10, 0xef, 0x11, 0xef, 0x90, 0x16, 0x2c, 0xa9, 0x0b, + 0xee, 0x5a, 0x1a, 0x04, 0xed, 0x5c, 0x58, 0x50, 0x57, 0x37, 0xa0, 0xad, + 0xd9, 0x69, 0xde, 0x37, 0x8b, 0xd3, 0xec, 0x68, 0xaf, 0xe1, 0x75, 0x6d, + 0xd1, 0xc6, 0xd8, 0xf0, 0xfa, 0x96, 0xb7, 0xaf, 0xeb, 0xa0, 0x06, 0x2e, + 0x9a, 0xf4, 0x32, 0x8a, 0x1b, 0xef, 0x12, 0x85, 0x05, 0x4c, 0xd2, 0xf0, + 0x9c, 0x34, 0xb4, 0x72, 0xbb, 0xcb, 0xd9, 0x15, 0x9e, 0x5a, 0xa2, 0x89, + 0xe6, 0x77, 0xd6, 0x86, 0xf3, 0x33, 0xcd, 0xdf, 0xb8, 0x3a, 0x3c, 0xa7, + 0x40, 0x31, 0xb5, 0x41, 0x2b, 0xb0, 0xa8, 0x6c, 0xac, 0x37, 0xd4, 0x71, + 0x63, 0xd0, 0xdd, 0x2c, 0x54, 0x0f, 0x4b, 0x2d, 0x51, 0x15, 0x36, 0xc6, + 0xca, 0x62, 0x2f, 0x62, 0xae, 0x97, 0x80, 0x28, 0x9b, 0xe3, 0x9c, 0xaa, + 0xea, 0xe3, 0xb5, 0xc6, 0xd8, 0x88, 0xbc, 0xd0, 0x3b, 0x54, 0xfd, 0xaf, + 0x5f, 0xee, 0x79, 0x0e, 0xd1, 0xfe, 0xb9, 0x95, 0xcb, 0x0f, 0x2c, 0x0c, + 0x17, 0x96, 0x12, 0xff, 0x7f, 0xde, 0x35, 0x59, 0x7b, 0xf3, 0xfc, 0x3c, + 0x71, 0x37, 0xb2, 0x3a, 0x74, 0xb5, 0x74, 0x92, 0x48, 0xf2, 0xd2, 0x31, + 0x2d, 0x9d, 0x78, 0x20, 0x11, 0xa4, 0xf6, 0x0d, 0xf2, 0x6f, 0x16, 0x4c, + 0x7d, 0xb3, 0xbb, 0x4d, 0x78, 0x48, 0xf3, 0xbb, 0xd6, 0x65, 0x3b, 0xcf, + 0x8e, 0xd8, 0xb2, 0x8d, 0xc3, 0xda, 0x4a, 0xbf, 0xcd, 0x6c, 0x97, 0xda, + 0x28, 0x2c, 0xa6, 0xf7, 0x61, 0x81, 0xd2, 0x4e, 0xa8, 0x23, 0xd0, 0xb8, + 0x71, 0x63, 0x1b, 0xf4, 0xdf, 0xdf, 0xb5, 0xe3, 0x9b, 0x40, 0x6f, 0x6d, + 0x78, 0xcf, 0xaa, 0x0c, 0xff, 0x5d, 0x37, 0x80, 0xb1, 0x2d, 0x45, 0xb3, + 0xcb, 0xc0, 0xbc, 0x0b, 0xa1, 0x28, 0x54, 0x7f, 0x1a, 0xa3, 0x6a, 0x8c, + 0xa3, 0x12, 0x4f, 0x5e, 0x28, 0x8b, 0x8b, 0x30, 0x1a, 0x86, 0xe7, 0xdb, + 0x8c, 0xa7, 0x74, 0x10, 0x47, 0x82, 0xaf, 0x3d, 0x48, 0x20, 0x85, 0x2e, + 0x6e, 0x55, 0x20, 0x13, 0x7a, 0x99, 0xd0, 0x49, 0x0d, 0xdb, 0xd3, 0x9c, + 0x7e, 0xb7, 0x4f, 0x1c, 0x39, 0xa6, 0xe5, 0xe4, 0x65, 0x51, 0x42, 0xaa, + 0x68, 0x71, 0x59, 0x0d, 0x60, 0xb9, 0xb7, 0x74, 0xf9, 0xe9, 0x45, 0x11, + 0xaa, 0xa4, 0x7c, 0xdb, 0xb5, 0x87, 0x8b, 0x1f, 0x9b, 0x5b, 0xf4, 0xff, + 0x0c, 0xe3, 0x5d, 0x27, 0x55, 0xf2, 0xa9, 0xc3, 0x89, 0x30, 0xd7, 0x89, + 0xd9, 0x1c, 0x95, 0x62, 0x2c, 0x52, 0x15, 0x60, 0x0c, 0x62, 0xe2, 0xb0, + 0x83, 0x5d, 0x1d, 0x76, 0x52, 0xeb, 0x62, 0x77, 0x10, 0x7f, 0xf3, 0x3b, + 0x13, 0x85, 0x87, 0xfa, 0x59, 0xb8, 0x68, 0x43, 0x85, 0x7a, 0x50, 0x33, + 0x33, 0x08, 0x68, 0xde, 0x8b, 0x5d, 0x0b, 0xeb, 0xc1, 0x76, 0xc2, 0x1f, + 0xc6, 0x71, 0x58, 0x3c, 0xd7, 0x88, 0x4b, 0x82, 0x82, 0x27, 0xfc, 0x6c, + 0xdb, 0xd4, 0x4d, 0x66, 0xc6, 0x52, 0xe6, 0x21, 0xa4, 0x14, 0x0d, 0x58, + 0xec, 0xf4, 0x82, 0x77, 0xd1, 0x26, 0x9d, 0x8c, 0xa2, 0x99, 0xb7, 0x30, + 0x16, 0x6a, 0x55, 0x5c, 0x6d, 0xd9, 0x33, 0x1f, 0x71, 0xda, 0x16, 0xa8, + 0x9f, 0x85, 0x13, 0x0b, 0x38, 0x75, 0x6c, 0x4f, 0x1d, 0x02, 0x2c, 0x0e, + 0x22, 0x26, 0x85, 0x63, 0x52, 0x54, 0x18, 0x03, 0x83, 0x2c, 0x61, 0x73, + 0x52, 0x32, 0x9c, 0x8c, 0x58, 0x1a, 0x58, 0xd4, 0xf5, 0xae, 0x2f, 0xab, + 0xfa, 0x16, 0x6b, 0xcc, 0x9d, 0x97, 0xd5, 0x00, 0x24, 0x2e, 0x9f, 0x14, + 0x03, 0xb0, 0xc6, 0x71, 0xe4, 0xc8, 0xe0, 0x67, 0xb6, 0xf3, 0xb5, 0x2f, + 0x31, 0xae, 0xf7, 0xc5, 0xea, 0xb5, 0x28, 0x7d, 0x41, 0x6c, 0x44, 0x46, + 0x13, 0x27, 0x62, 0x90, 0xba, 0x42, 0xbd, 0x22, 0x91, 0x09, 0xbb, 0xde, + 0xb5, 0x01, 0xbd, 0x01, 0x5d, 0x2d, 0x63, 0x07, 0x0d, 0x88, 0x8b, 0xc3, + 0x05, 0xac, 0xdd, 0x63, 0x53, 0xc2, 0xa8, 0x09, 0x07, 0xda, 0xb8, 0xe6, + 0xd6, 0x15, 0xb7, 0xb8, 0xc2, 0x44, 0xcd, 0xdb, 0x6a, 0xb8, 0xf2, 0xd2, + 0x60, 0x87, 0xac, 0xdb, 0x10, 0x36, 0xc9, 0xee, 0x93, 0x0f, 0x20, 0xcd, + 0x98, 0xc6, 0xf3, 0x34, 0x40, 0xcf, 0x37, 0x04, 0x54, 0x59, 0xc2, 0xb9, + 0x53, 0x70, 0xf6, 0x24, 0xdc, 0xf4, 0x4c, 0xd8, 0x7b, 0x00, 0x06, 0xf3, + 0x6d, 0x71, 0x29, 0xc8, 0xd0, 0x85, 0x40, 0x42, 0x95, 0x35, 0x54, 0x95, + 0x67, 0x38, 0xa9, 0xc3, 0x79, 0xfb, 0xc7, 0x7a, 0x2c, 0xd7, 0xe2, 0x0b, + 0x03, 0xa3, 0xbc, 0x0e, 0x55, 0xd1, 0x1c, 0x22, 0x2b, 0x74, 0x62, 0xcf, + 0x20, 0x55, 0xa2, 0xc8, 0x20, 0x26, 0xa1, 0x13, 0xc5, 0x36, 0x96, 0xb9, + 0x17, 0x66, 0x51, 0x76, 0xe7, 0xe5, 0x0c, 0x03, 0x91, 0x44, 0x8e, 0x27, + 0xe3, 0x88, 0xac, 0x30, 0x48, 0xa2, 0x85, 0x8d, 0x21, 0x57, 0x6f, 0x0c, + 0xb7, 0xdc, 0x24, 0xf7, 0x82, 0x62, 0x2a, 0xe7, 0xc5, 0x81, 0xf8, 0x3a, + 0xa4, 0x7b, 0x62, 0x66, 0xdd, 0x3b, 0xad, 0xe8, 0x63, 0x77, 0x63, 0x87, + 0xd3, 0x19, 0x38, 0x93, 0xc6, 0xe5, 0xdb, 0x66, 0xf1, 0x7d, 0xf3, 0xfa, + 0xba, 0x59, 0xec, 0xc8, 0x36, 0xef, 0xd5, 0x2c, 0x60, 0xeb, 0x3d, 0xda, + 0x8b, 0xde, 0x2e, 0xaa, 0x73, 0x33, 0x72, 0xa6, 0x05, 0x9b, 0xa6, 0x69, + 0x15, 0x8b, 0x22, 0x70, 0x0d, 0x48, 0x6c, 0x53, 0xcc, 0x59, 0x69, 0x38, + 0xfc, 0x7b, 0xfe, 0x74, 0x20, 0x9d, 0x4e, 0x1e, 0x87, 0xfe, 0x3c, 0x64, + 0xbd, 0xf0, 0xfe, 0x71, 0x1c, 0xbe, 0x43, 0xdc, 0x78, 0x95, 0xd8, 0x82, + 0x47, 0x99, 0x14, 0x8e, 0x24, 0x69, 0xea, 0x18, 0x0d, 0x98, 0x74, 0x0a, + 0xae, 0x0c, 0xaf, 0xe9, 0x25, 0x50, 0x54, 0x02, 0xa9, 0x20, 0xc6, 0x33, + 0x9c, 0x2a, 0x0b, 0xdd, 0x94, 0x41, 0xb7, 0xc3, 0xa4, 0x70, 0xe4, 0x85, + 0xc7, 0x9a, 0x92, 0xa2, 0x9e, 0xbe, 0xac, 0x88, 0x8b, 0x5f, 0x54, 0x91, + 0xcb, 0x56, 0x26, 0x8e, 0x46, 0xd3, 0xd1, 0x93, 0x56, 0x69, 0xb2, 0x62, + 0x9e, 0x27, 0xd8, 0xa3, 0x4e, 0xeb, 0xca, 0x18, 0x6c, 0x93, 0xef, 0x07, + 0x03, 0x0e, 0xa4, 0x8c, 0xf8, 0x2a, 0x80, 0xbd, 0x7a, 0x57, 0x5a, 0x66, + 0x9b, 0x1d, 0xec, 0x1b, 0xf5, 0x4f, 0x14, 0xed, 0x62, 0x0b, 0x9b, 0xc5, + 0x6c, 0x73, 0x70, 0x69, 0x5c, 0xaa, 0x77, 0xc1, 0x4b, 0x98, 0x26, 0x7e, + 0xef, 0x4e, 0xf5, 0x90, 0xe0, 0xd2, 0x5b, 0xf0, 0x68, 0x65, 0x96, 0xd7, + 0xc7, 0x49, 0xc8, 0x12, 0x92, 0x86, 0x6e, 0xf6, 0x7e, 0x86, 0x15, 0xda, + 0x6a, 0x5e, 0x55, 0x85, 0xf7, 0x4a, 0x52, 0xf8, 0xe4, 0x9d, 0xe1, 0x35, + 0xd7, 0xdc, 0x04, 0x97, 0xce, 0x07, 0x43, 0x98, 0x5f, 0x0c, 0xe7, 0x68, + 0xa3, 0x46, 0x0c, 0xd2, 0xb4, 0xa4, 0xf9, 0x3a, 0xe4, 0xf9, 0x49, 0x1c, + 0xbe, 0x93, 0x69, 0x3c, 0x5d, 0xd6, 0x99, 0x85, 0x19, 0x63, 0x1a, 0xe6, + 0x33, 0x56, 0xf2, 0x5c, 0x9b, 0xca, 0xa1, 0xb0, 0x39, 0x76, 0x64, 0x89, + 0x52, 0x94, 0x25, 0x79, 0x15, 0xba, 0x9d, 0xba, 0xbd, 0xee, 0x0b, 0x7a, + 0x66, 0x90, 0x2a, 0xfe, 0xb2, 0xe1, 0x80, 0x68, 0x5a, 0x6d, 0x3f, 0x29, + 0x8b, 0xaf, 0x28, 0x56, 0xb3, 0x57, 0x39, 0x6f, 0xb3, 0xda, 0xe9, 0x48, + 0x44, 0x42, 0x5c, 0x77, 0x4a, 0x51, 0x22, 0x08, 0x12, 0x37, 0xf1, 0x5c, + 0x64, 0xb6, 0x7b, 0x5b, 0xe3, 0xd6, 0x06, 0xf8, 0xd9, 0x26, 0xa6, 0xb7, + 0xf1, 0xb8, 0x76, 0xbb, 0x3c, 0x40, 0xdd, 0xec, 0x28, 0x6d, 0x2e, 0x7e, + 0x3d, 0x03, 0x86, 0x46, 0xc2, 0x6e, 0xb4, 0x36, 0x3c, 0x4f, 0x43, 0xba, + 0x34, 0x27, 0x87, 0x89, 0x66, 0x08, 0x3f, 0x8a, 0x66, 0x46, 0xd4, 0xa6, + 0x76, 0xbe, 0x09, 0x1d, 0x75, 0x83, 0xfe, 0xe3, 0x14, 0x1e, 0xb8, 0x3b, + 0xb8, 0xfe, 0xe7, 0xbc, 0x38, 0x60, 0x02, 0x34, 0x70, 0x0c, 0x2d, 0x11, + 0xd5, 0x02, 0x50, 0x6d, 0xbc, 0x50, 0xc0, 0x2d, 0x82, 0xf3, 0x1a, 0x8c, + 0xa2, 0xf1, 0x3c, 0x6d, 0xd6, 0xd0, 0x7e, 0x7e, 0xd5, 0x60, 0x9b, 0x34, + 0x06, 0xe7, 0x85, 0x7e, 0x6a, 0xa9, 0x75, 0xca, 0xc6, 0x18, 0x62, 0x1b, + 0x63, 0x4d, 0xca, 0x38, 0x9f, 0xd2, 0xef, 0xa6, 0xd7, 0xaa, 0x2b, 0x8f, + 0xa8, 0x77, 0xc7, 0x2e, 0x9b, 0x01, 0xc4, 0x74, 0x9e, 0x14, 0x03, 0x30, + 0x82, 0x29, 0x6a, 0x5e, 0xae, 0xde, 0x55, 0xb5, 0x13, 0xf1, 0x8d, 0xeb, + 0x77, 0x2e, 0xcc, 0x76, 0xb0, 0x11, 0x62, 0x23, 0xc1, 0xd7, 0x2a, 0x45, + 0x1e, 0xe2, 0x7f, 0x4b, 0xf6, 0xec, 0x80, 0xc1, 0x86, 0xab, 0xac, 0xab, + 0x26, 0x0e, 0xcb, 0x6c, 0xe7, 0xbb, 0x46, 0x6a, 0x25, 0x6d, 0x6d, 0xa0, + 0x59, 0x54, 0xa3, 0x61, 0xe1, 0x7d, 0x93, 0xde, 0xe9, 0x2e, 0x5c, 0xd1, + 0xa6, 0x90, 0x3b, 0x29, 0x9e, 0x7b, 0x6c, 0xca, 0xd7, 0x86, 0x82, 0xda, + 0x85, 0x05, 0xaf, 0xca, 0x86, 0xe8, 0x49, 0xe1, 0xfe, 0x3b, 0xe1, 0xce, + 0x0f, 0xc0, 0x4b, 0xef, 0x80, 0x5e, 0x3f, 0xa8, 0x80, 0xa2, 0x24, 0x70, + 0x0b, 0xad, 0xd7, 0xa9, 0x9b, 0xaa, 0x65, 0xdb, 0x7d, 0x2c, 0xd2, 0xee, + 0x72, 0xc1, 0x1a, 0xdd, 0x31, 0xe2, 0x36, 0x85, 0x94, 0x86, 0xd8, 0xb2, + 0x36, 0x80, 0xc2, 0xaa, 0x0e, 0xee, 0xb1, 0x36, 0x35, 0xfd, 0xcc, 0x10, + 0x47, 0xe1, 0xcb, 0x78, 0xf5, 0x18, 0xc9, 0xa8, 0x9c, 0xcb, 0xfa, 0x71, + 0xf7, 0x3a, 0x81, 0x63, 0x97, 0x0b, 0x05, 0x44, 0x83, 0x4e, 0xef, 0x49, + 0x50, 0x19, 0x00, 0x70, 0x5d, 0x5e, 0x0e, 0x6f, 0x29, 0x2a, 0x2d, 0x05, + 0x28, 0x6b, 0xc4, 0x18, 0x48, 0x53, 0x11, 0x45, 0x25, 0x89, 0x45, 0xc4, + 0x23, 0xde, 0x8b, 0x3a, 0x55, 0xb1, 0x71, 0xc8, 0xff, 0xbd, 0x06, 0x46, + 0x2d, 0x6a, 0xc0, 0x5a, 0x91, 0x37, 0x1e, 0xa2, 0xc9, 0xd9, 0x45, 0x9a, + 0x1d, 0x64, 0x67, 0x22, 0x51, 0x0d, 0x75, 0x96, 0xa0, 0x0d, 0x6c, 0x71, + 0x84, 0x9d, 0x9d, 0x4b, 0x9b, 0x45, 0xec, 0x84, 0x0e, 0x99, 0xe5, 0xf0, + 0x10, 0x8c, 0xc9, 0xd8, 0xf0, 0xf9, 0xad, 0xf7, 0x68, 0xd9, 0xc8, 0x34, + 0x83, 0xfb, 0xef, 0x86, 0x3f, 0x79, 0x07, 0xbc, 0xe4, 0x8b, 0x61, 0xe5, + 0x40, 0x20, 0x8d, 0xb2, 0x0e, 0xf8, 0x24, 0x84, 0x85, 0x56, 0x8a, 0xd6, + 0x7a, 0xab, 0x34, 0x06, 0x6f, 0x02, 0x0d, 0xec, 0xbc, 0x86, 0xcc, 0x42, + 0x67, 0xac, 0xa5, 0xd8, 0x06, 0x28, 0x46, 0x82, 0x58, 0xa8, 0x2a, 0x25, + 0x69, 0x58, 0xca, 0x49, 0x11, 0x8a, 0x5c, 0x91, 0xed, 0x30, 0xc8, 0x0c, + 0x93, 0x22, 0x27, 0xaf, 0x2a, 0x62, 0x9b, 0xe1, 0x9c, 0x92, 0x97, 0x1b, + 0x37, 0xd8, 0xd8, 0xbd, 0xe3, 0x72, 0xe1, 0xc0, 0xc8, 0x3c, 0x09, 0x9a, + 0x20, 0x11, 0x61, 0x9a, 0xe7, 0xaf, 0x1c, 0x8e, 0x8b, 0xa5, 0xca, 0xf9, + 0xb1, 0xa2, 0xb6, 0xd9, 0xcd, 0x0d, 0x8e, 0x13, 0xc1, 0x0b, 0xb9, 0xf3, + 0x81, 0x91, 0xb3, 0x81, 0x6e, 0x45, 0x66, 0xf9, 0x7c, 0x8b, 0xaa, 0xad, + 0x0d, 0x0f, 0xaf, 0x33, 0xb6, 0x4d, 0x76, 0xe5, 0xfb, 0xed, 0x2e, 0x6b, + 0x7f, 0x7e, 0x4c, 0x6e, 0xd8, 0xbc, 0xb6, 0x05, 0x78, 0x48, 0xf0, 0x2c, + 0x69, 0x37, 0xe4, 0xec, 0x3b, 0x8a, 0x63, 0x1f, 0xbc, 0x86, 0x36, 0x4d, + 0xa5, 0xed, 0xee, 0xec, 0xf4, 0xe0, 0x9e, 0x0f, 0xc1, 0x1f, 0xfd, 0x2e, + 0x3c, 0xfb, 0x45, 0x70, 0xcd, 0x0d, 0x21, 0x24, 0x24, 0xe9, 0xcc, 0xeb, + 0xa4, 0xe9, 0x0c, 0x67, 0xcc, 0xea, 0x21, 0xcd, 0xf7, 0x69, 0x4e, 0xc5, + 0xfb, 0x26, 0xc3, 0x31, 0x33, 0x69, 0x9b, 0x48, 0xc8, 0x28, 0xb2, 0x4c, + 0x67, 0x46, 0x48, 0x84, 0x35, 0x0e, 0x41, 0x19, 0xe5, 0x05, 0x49, 0xec, + 0x71, 0xea, 0x71, 0x2e, 0x62, 0x5a, 0xe5, 0xf4, 0xeb, 0x04, 0xa3, 0x0b, + 0x37, 0x67, 0x32, 0xe0, 0xf1, 0x8a, 0x44, 0x3e, 0xa3, 0x01, 0x64, 0x51, + 0xff, 0x49, 0x20, 0x82, 0x84, 0xed, 0xe1, 0xf4, 0x4b, 0xea, 0x5a, 0xb4, + 0x2a, 0x31, 0xce, 0xab, 0xd8, 0x08, 0x6c, 0x14, 0xd1, 0x31, 0x29, 0xc3, + 0x6a, 0x4c, 0x55, 0x2b, 0x49, 0x32, 0x4b, 0xcf, 0x76, 0xc8, 0x9d, 0x26, + 0x76, 0x62, 0x82, 0x3b, 0xf5, 0x0d, 0x21, 0xd3, 0xa2, 0x79, 0x63, 0x67, + 0x3b, 0x7e, 0xa7, 0xfb, 0x96, 0x26, 0x3c, 0x34, 0x8b, 0x69, 0xec, 0xac, + 0x97, 0x20, 0x6d, 0xde, 0xa3, 0xdd, 0x31, 0x51, 0xbc, 0x0b, 0x1c, 0x36, + 0x0b, 0xdf, 0x7a, 0x04, 0x63, 0x66, 0x0c, 0x64, 0x6c, 0xe1, 0xa1, 0x0f, + 0xee, 0xe3, 0x8f, 0x7f, 0xef, 0x12, 0x57, 0xdd, 0xe0, 0x79, 0xf6, 0xed, + 0x33, 0x30, 0x69, 0x77, 0x79, 0x97, 0xa8, 0xa9, 0xf9, 0xab, 0x07, 0x93, + 0xec, 0xfa, 0x0e, 0x1e, 0xba, 0x99, 0xa5, 0xae, 0x43, 0x9e, 0xef, 0x1a, + 0x20, 0x19, 0x37, 0x65, 0xe0, 0xc0, 0x7e, 0x29, 0xd3, 0x3c, 0x18, 0x51, + 0x5d, 0x81, 0x49, 0x6a, 0x62, 0x63, 0x28, 0x6a, 0x28, 0x0a, 0xc7, 0x24, + 0x81, 0x4e, 0x0c, 0x9e, 0x1a, 0xd5, 0x28, 0x84, 0x46, 0x35, 0x47, 0x4b, + 0xef, 0x51, 0xbd, 0x4c, 0x06, 0x30, 0x9c, 0x6c, 0x5e, 0x7e, 0x00, 0x28, + 0xba, 0x32, 0x99, 0x16, 0x2f, 0x74, 0x5e, 0x73, 0x0d, 0x2e, 0x55, 0x6a, + 0x8f, 0x98, 0x30, 0xdf, 0x47, 0x5a, 0xa2, 0xc7, 0xd8, 0x06, 0x68, 0x55, + 0x41, 0xf1, 0xdb, 0x56, 0xe3, 0x68, 0x16, 0xb7, 0x28, 0x1a, 0x74, 0x6d, + 0x67, 0x05, 0x20, 0x1a, 0x84, 0x6d, 0xcd, 0x63, 0x87, 0x3f, 0x18, 0x3b, + 0xcb, 0xfd, 0x65, 0xd7, 0x73, 0xad, 0xc7, 0x68, 0xe3, 0xbd, 0xb1, 0x50, + 0x97, 0x61, 0xe1, 0x8c, 0xdd, 0x85, 0x25, 0x1a, 0x17, 0x2d, 0x16, 0xc4, + 0xc7, 0x9c, 0xbf, 0xf7, 0x65, 0x7c, 0xf0, 0x5d, 0xc7, 0x59, 0x3e, 0xe0, + 0x79, 0xf9, 0x1d, 0x21, 0xc5, 0x6b, 0x43, 0x45, 0xbb, 0xf0, 0xc8, 0x2c, + 0x95, 0xdc, 0xa9, 0x63, 0xe8, 0x0c, 0x53, 0x74, 0x12, 0xc3, 0xd8, 0xbb, + 0x1d, 0xf0, 0x8a, 0x86, 0xf7, 0x77, 0x35, 0x74, 0x32, 0xa1, 0xac, 0x14, + 0xdb, 0xa4, 0x9c, 0x06, 0x21, 0xf2, 0x42, 0x55, 0x7b, 0xc4, 0x40, 0xad, + 0x42, 0x59, 0x19, 0x3a, 0xb1, 0x62, 0xc5, 0x53, 0xd5, 0x8e, 0xda, 0x3b, + 0xf0, 0x72, 0xa0, 0x2c, 0x73, 0xa3, 0x5c, 0x1e, 0x7d, 0x40, 0x24, 0x1a, + 0x5f, 0x66, 0xf0, 0x67, 0x98, 0x94, 0xf9, 0xed, 0x55, 0x25, 0x07, 0xa6, + 0xb9, 0x2b, 0xbc, 0x57, 0x5b, 0x94, 0xe0, 0x3c, 0x52, 0xb9, 0x4a, 0xd0, + 0x2a, 0x28, 0x77, 0x15, 0x29, 0x0b, 0x88, 0x23, 0x54, 0x02, 0x70, 0x92, + 0xdd, 0xb9, 0x78, 0x55, 0x06, 0x84, 0xdd, 0xb2, 0x70, 0x6d, 0xda, 0xa4, + 0xbb, 0x16, 0x5f, 0x08, 0x0b, 0xd7, 0x16, 0x93, 0xda, 0x1d, 0xea, 0xb5, + 0x71, 0xb9, 0xcc, 0xe2, 0xb3, 0x73, 0x61, 0xa1, 0xea, 0x06, 0x04, 0xb6, + 0x4a, 0xdd, 0x96, 0xb7, 0xaf, 0x5b, 0xc2, 0x68, 0xba, 0x97, 0xd1, 0xb1, + 0xaf, 0xe4, 0xce, 0x0f, 0x3f, 0x88, 0xeb, 0x9c, 0xe4, 0x95, 0x77, 0x40, + 0x6f, 0xae, 0xc9, 0x0a, 0xe4, 0xb1, 0x65, 0xe1, 0x1d, 0x4c, 0xd7, 0x00, + 0xcc, 0x9d, 0x12, 0x71, 0x13, 0x4e, 0x86, 0xd3, 0x6a, 0xc7, 0x8b, 0xd5, + 0xe5, 0x0c, 0x2c, 0x7a, 0x1f, 0xe2, 0x7e, 0x48, 0x0d, 0x85, 0xda, 0x85, + 0x2c, 0xa1, 0x2c, 0x21, 0x8a, 0x84, 0x41, 0xd6, 0xe7, 0xd2, 0x68, 0x48, + 0x5d, 0x83, 0x68, 0x4c, 0x1a, 0x97, 0x38, 0x8d, 0x88, 0x4c, 0x87, 0xda, + 0x4d, 0x56, 0x22, 0x6b, 0xfa, 0x82, 0x6c, 0x5f, 0x0e, 0x2e, 0x20, 0x32, + 0xe6, 0xf2, 0x1a, 0x80, 0x18, 0x83, 0xcb, 0x27, 0x5f, 0x8a, 0xda, 0xa8, + 0x72, 0x5a, 0xb4, 0xa0, 0x87, 0x26, 0x2f, 0x36, 0x36, 0xec, 0xa6, 0xda, + 0xa1, 0xaa, 0x48, 0x59, 0x85, 0x62, 0xd0, 0xce, 0xce, 0x6f, 0x76, 0x6b, + 0xfb, 0xdd, 0xda, 0x22, 0x4e, 0xeb, 0xd6, 0x77, 0x93, 0x3a, 0x4d, 0xb6, + 0xb1, 0x13, 0x63, 0xdb, 0xdf, 0x5b, 0xd3, 0x78, 0x0f, 0x3b, 0x8b, 0xc3, + 0x36, 0x6a, 0x40, 0xe6, 0xa7, 0x79, 0x4e, 0xbf, 0x8b, 0x6e, 0x66, 0xf3, + 0xe5, 0x6c, 0x1d, 0xbb, 0x9d, 0x07, 0x8f, 0x7d, 0x82, 0xf3, 0xd3, 0xf7, + 0xf1, 0x8a, 0x2f, 0x85, 0xbd, 0x87, 0x67, 0xe0, 0xb0, 0x05, 0x79, 0x51, + 0x34, 0xdb, 0xfd, 0xd6, 0xcc, 0xbc, 0x90, 0xee, 0xaa, 0x0e, 0x9a, 0x5d, + 0x33, 0x21, 0x54, 0x83, 0xe1, 0xc5, 0x69, 0xe3, 0x65, 0x1a, 0x0d, 0x41, + 0x1c, 0xcd, 0x5e, 0x54, 0xd7, 0x20, 0x71, 0xf0, 0x00, 0x93, 0x22, 0xa7, + 0x63, 0x05, 0xef, 0x3d, 0xa3, 0xc2, 0x31, 0xe8, 0x09, 0xa2, 0x8e, 0xbc, + 0x9a, 0x32, 0x27, 0x0b, 0x4b, 0x7b, 0xfa, 0x37, 0x2e, 0x1a, 0x89, 0xb6, + 0xb9, 0x0c, 0x48, 0x30, 0xaa, 0xdd, 0xf8, 0x32, 0x97, 0x03, 0xe9, 0x16, + 0x55, 0xf1, 0xf2, 0x69, 0x49, 0x99, 0x46, 0xb1, 0x94, 0x5a, 0x1b, 0x5f, + 0xaa, 0x49, 0x53, 0xa4, 0x2c, 0x90, 0x38, 0x48, 0xb0, 0x64, 0xfd, 0x12, + 0x2c, 0xec, 0xf9, 0x34, 0x8e, 0x3e, 0x0e, 0x17, 0xc2, 0x6b, 0x00, 0x5a, + 0x2d, 0x35, 0x1c, 0xc7, 0xbb, 0x80, 0x5f, 0x63, 0x00, 0xf8, 0x19, 0xf8, + 0x12, 0x99, 0x29, 0x5b, 0xa4, 0x71, 0xa9, 0x51, 0xb3, 0xb3, 0x77, 0x1b, + 0x95, 0x97, 0x59, 0x61, 0x29, 0x8a, 0x43, 0x2a, 0xa7, 0x1e, 0x06, 0xd1, + 0x35, 0xcc, 0xf9, 0x6f, 0x60, 0x3c, 0xbe, 0x81, 0x0f, 0x1d, 0x7b, 0x0b, + 0xf7, 0x9f, 0x7d, 0x3b, 0x2f, 0x7b, 0x0d, 0x1c, 0xbd, 0x3e, 0x84, 0x25, + 0x23, 0xc1, 0x3b, 0xb4, 0xef, 0xd5, 0x12, 0x56, 0x6d, 0x76, 0xd1, 0x1a, + 0xc1, 0x6e, 0x3c, 0x33, 0x23, 0x78, 0x42, 0x7d, 0xbf, 0xad, 0x11, 0xb4, + 0xa9, 0x60, 0x37, 0xb5, 0x58, 0x2b, 0x4c, 0xa7, 0x0e, 0xb1, 0x50, 0xd7, + 0x8a, 0xab, 0x5d, 0x10, 0x88, 0x9a, 0x8a, 0x4e, 0x62, 0xa9, 0x9c, 0xe2, + 0xbc, 0x20, 0x74, 0x30, 0xa6, 0xa4, 0xac, 0x2a, 0xc0, 0x0f, 0x4e, 0xad, + 0xdf, 0xb9, 0xaf, 0xf6, 0xe5, 0x89, 0xcf, 0xb4, 0x04, 0x47, 0x1f, 0x47, + 0x79, 0x27, 0xf2, 0xd4, 0x97, 0x11, 0xfd, 0x83, 0xf7, 0x72, 0xcb, 0xf6, + 0x38, 0xbf, 0x7a, 0x5a, 0x51, 0xda, 0xd8, 0xd8, 0x4f, 0xdd, 0x25, 0xf6, + 0xbd, 0xbf, 0x6f, 0xd3, 0x17, 0xbc, 0xca, 0xfb, 0xdb, 0x9e, 0xef, 0xa9, + 0x2b, 0xe4, 0x4f, 0xff, 0x30, 0x96, 0x8f, 0xbd, 0x57, 0xe4, 0xc5, 0x5f, + 0xec, 0xf4, 0xa5, 0x5f, 0xea, 0x02, 0x00, 0x32, 0xb3, 0x5d, 0xbc, 0x43, + 0x0a, 0x31, 0x03, 0x84, 0x2d, 0x32, 0x67, 0x17, 0xf8, 0x6b, 0x77, 0x77, + 0x1b, 0x77, 0xdb, 0xd7, 0x57, 0x45, 0x10, 0x8d, 0xb6, 0x46, 0x52, 0x36, + 0x02, 0xcd, 0x36, 0x7d, 0xac, 0x5d, 0xd0, 0x1b, 0xc6, 0xac, 0xb0, 0x12, + 0x7f, 0x0d, 0x4b, 0xf1, 0x6b, 0x19, 0x0d, 0x1d, 0x1f, 0x3f, 0xf6, 0x07, + 0x3c, 0xb2, 0xfa, 0x2e, 0x5e, 0xfe, 0x65, 0x70, 0xcd, 0x8d, 0xc1, 0x6d, + 0xb7, 0xc6, 0xd9, 0xd2, 0xd0, 0xbb, 0x2b, 0x97, 0x34, 0x04, 0x54, 0xeb, + 0x89, 0x5a, 0x02, 0xc8, 0x34, 0x6e, 0x9f, 0x3a, 0x78, 0xbf, 0x62, 0x1a, + 0xdc, 0xbb, 0xb1, 0xa1, 0xea, 0x58, 0x97, 0x30, 0x6a, 0xc0, 0x61, 0xe0, + 0xbc, 0xc3, 0xdf, 0x45, 0x62, 0x51, 0x89, 0x19, 0x8f, 0x73, 0x8c, 0xb8, + 0xd0, 0xec, 0x62, 0x3a, 0x54, 0x75, 0xcc, 0xb8, 0x98, 0xb2, 0x38, 0xb0, + 0xb8, 0x5a, 0xe9, 0xa4, 0xfd, 0xc3, 0x8a, 0xfb, 0xf0, 0xe5, 0xc8, 0x04, + 0xa3, 0xc2, 0x5d, 0x46, 0x26, 0x50, 0xc0, 0xbb, 0xe8, 0xb9, 0x75, 0x6d, + 0x3a, 0x4a, 0x3d, 0xde, 0xde, 0x54, 0xb9, 0xf7, 0x63, 0x9d, 0x74, 0x63, + 0x53, 0xec, 0xd9, 0x93, 0x35, 0xcf, 0x7a, 0x61, 0xe1, 0xcf, 0x9f, 0x8b, + 0x38, 0x77, 0x26, 0x93, 0xa5, 0x7d, 0xca, 0xe6, 0x86, 0x47, 0x75, 0x12, + 0xe8, 0xd8, 0x71, 0xc3, 0xf7, 0xb7, 0x22, 0x0d, 0x79, 0x6c, 0x73, 0x87, + 0x30, 0x0b, 0x0b, 0x3b, 0x64, 0x50, 0xa3, 0xcd, 0xd3, 0x16, 0x0b, 0x00, + 0xe2, 0x66, 0xb1, 0x56, 0x35, 0xb8, 0x6f, 0x9a, 0xac, 0xc1, 0x03, 0xd3, + 0x31, 0xf4, 0x93, 0xbd, 0xac, 0xa4, 0x5f, 0x4d, 0xa7, 0x7e, 0x35, 0x69, + 0xb4, 0x9f, 0xf1, 0x78, 0x83, 0x8f, 0x7f, 0xfc, 0x4f, 0xb9, 0xf3, 0xf8, + 0x9b, 0xb9, 0xfd, 0x35, 0x05, 0x57, 0x5f, 0xd7, 0xb0, 0x87, 0x32, 0x0b, + 0x1d, 0xb2, 0xab, 0xf5, 0xcc, 0xc8, 0xa7, 0x79, 0x03, 0x79, 0x2c, 0x0f, + 0xd1, 0x96, 0xb0, 0x6d, 0xe3, 0xb5, 0xb6, 0x36, 0x66, 0x6c, 0x64, 0x31, + 0x99, 0xd5, 0x0d, 0xda, 0xf0, 0x60, 0x1a, 0xd5, 0xd1, 0xd4, 0x3b, 0x2a, + 0xef, 0xe8, 0x64, 0xc1, 0x3b, 0x0d, 0x7a, 0x30, 0xc9, 0xc7, 0x94, 0x75, + 0x44, 0x14, 0x19, 0x12, 0x9b, 0x91, 0xd7, 0x39, 0xdd, 0xee, 0xf2, 0xbc, + 0x15, 0x8b, 0x5e, 0x0e, 0x0c, 0x30, 0x48, 0x97, 0x2f, 0xab, 0x07, 0xb8, + 0xb4, 0x39, 0x7e, 0x41, 0x1a, 0xa9, 0x4e, 0xab, 0x5a, 0xb6, 0xb7, 0x62, + 0xdb, 0xed, 0x5b, 0xb9, 0xea, 0x46, 0xd1, 0xa5, 0x7d, 0x4e, 0xeb, 0x1a, + 0xb6, 0xd6, 0xad, 0x2c, 0x2e, 0x43, 0xbd, 0x60, 0x58, 0x58, 0xd6, 0x10, + 0xd2, 0xfd, 0x8c, 0x03, 0x68, 0xc3, 0x9a, 0xe8, 0x0c, 0xf4, 0xb9, 0x5d, + 0xd5, 0xbf, 0x56, 0x8c, 0xd1, 0x16, 0x66, 0xda, 0x6b, 0xa0, 0x8d, 0x0f, + 0x76, 0x7e, 0xa6, 0xf8, 0x49, 0xd2, 0xb0, 0xfb, 0x7c, 0x93, 0x1e, 0xc6, + 0xd5, 0x55, 0x5c, 0xbd, 0xf8, 0x37, 0x38, 0xba, 0xf4, 0x55, 0xc4, 0x76, + 0x0f, 0x67, 0xcf, 0x1f, 0xe7, 0xd4, 0xa9, 0x4f, 0x71, 0xef, 0x7d, 0x1f, + 0xe2, 0xf8, 0xda, 0x5b, 0xb8, 0xfd, 0x35, 0x63, 0xf6, 0x1e, 0x08, 0x6e, + 0x3f, 0x8a, 0x66, 0x40, 0xd2, 0x46, 0xbb, 0x80, 0x26, 0x33, 0xdd, 0x02, + 0x3a, 0x43, 0xf6, 0xed, 0x77, 0x68, 0x69, 0x08, 0x91, 0x40, 0xfe, 0x0c, + 0x47, 0xb0, 0xbe, 0xd6, 0x84, 0x8b, 0x86, 0xd4, 0xda, 0xc1, 0x02, 0x0d, + 0xe1, 0x54, 0x97, 0x0d, 0x3f, 0x90, 0x40, 0xb7, 0x03, 0x2e, 0x12, 0x62, + 0x63, 0xa9, 0x43, 0x7a, 0x40, 0x62, 0x12, 0xe6, 0x7b, 0x11, 0x22, 0x4a, + 0x12, 0x59, 0x90, 0xb2, 0x87, 0xd1, 0xcb, 0x32, 0xc0, 0x2e, 0xda, 0x18, + 0x8f, 0x2e, 0x63, 0x06, 0x20, 0xd1, 0x78, 0x5a, 0xde, 0xb8, 0x31, 0x76, + 0x75, 0x2f, 0xeb, 0xd2, 0xeb, 0x39, 0x5d, 0x5c, 0xae, 0x5c, 0x6f, 0x60, + 0xe4, 0xea, 0xeb, 0x4b, 0x75, 0x1e, 0xe9, 0x0f, 0xbc, 0x2e, 0xee, 0xa9, + 0xb5, 0xaa, 0x8c, 0x1c, 0xb9, 0xa6, 0x54, 0x40, 0xda, 0xdd, 0xd1, 0xe8, + 0x02, 0x77, 0x52, 0x25, 0x76, 0xb9, 0xde, 0x1d, 0x0f, 0xe3, 0x67, 0x8b, + 0x1c, 0x35, 0xaf, 0x6b, 0xeb, 0x00, 0x6d, 0x25, 0xb1, 0x75, 0xb7, 0xd3, + 0x3c, 0xb8, 0x7f, 0x53, 0x1c, 0xe1, 0xb6, 0xab, 0xbe, 0x8b, 0x6b, 0xf6, + 0x7d, 0x35, 0x8b, 0x0b, 0x87, 0xa9, 0xaa, 0x21, 0xab, 0x6b, 0x17, 0x39, + 0xf9, 0xe8, 0x29, 0xde, 0xf5, 0xde, 0xff, 0x02, 0x8b, 0xef, 0xe7, 0xc5, + 0x5f, 0xee, 0xe9, 0x0d, 0x76, 0x15, 0x94, 0x68, 0xf2, 0xfb, 0x16, 0xf1, + 0xef, 0x66, 0x14, 0x3f, 0xad, 0xda, 0xb8, 0x43, 0x28, 0xe9, 0x0c, 0x94, + 0xb6, 0xde, 0x60, 0xf5, 0x42, 0x28, 0x36, 0x09, 0x33, 0x23, 0x6a, 0x99, + 0xce, 0xaa, 0x0a, 0xde, 0x41, 0x08, 0x3f, 0xcf, 0x2f, 0x82, 0xe9, 0x36, + 0x20, 0xb6, 0x74, 0x78, 0x09, 0x0d, 0xa5, 0xbd, 0x34, 0x62, 0x5a, 0x4d, + 0xa9, 0xbd, 0x32, 0xe8, 0x2d, 0xe1, 0x1d, 0x0b, 0x55, 0x2b, 0x8e, 0x7c, + 0xa2, 0x06, 0x90, 0x98, 0xcb, 0x47, 0x05, 0xab, 0xea, 0x40, 0x71, 0x7b, + 0x5d, 0xed, 0x7d, 0x2c, 0x1d, 0xc4, 0x6e, 0xf8, 0xab, 0x6f, 0x94, 0x2a, + 0xb6, 0x6a, 0x3a, 0x5d, 0x2f, 0xae, 0xc6, 0xce, 0x2d, 0xd6, 0x78, 0xaf, + 0x3e, 0xc9, 0x30, 0xcb, 0x2b, 0x35, 0x79, 0xbe, 0xab, 0x44, 0xdb, 0x28, + 0x78, 0x76, 0xbb, 0xf0, 0xdd, 0x64, 0x8f, 0xfa, 0x59, 0x9a, 0xd8, 0x16, + 0x6c, 0x5a, 0x31, 0x47, 0x4b, 0x09, 0x57, 0x4d, 0xeb, 0x58, 0xe4, 0xfb, + 0x2c, 0xa7, 0x5f, 0xcc, 0xa1, 0x23, 0x5f, 0xc5, 0xc7, 0xfe, 0xf4, 0x22, + 0xd7, 0xbc, 0xf0, 0xeb, 0x39, 0x70, 0x60, 0x89, 0xbc, 0x98, 0xb0, 0xb6, + 0xbe, 0xce, 0x87, 0x3e, 0xf0, 0x11, 0x3e, 0xf2, 0x89, 0xff, 0xc0, 0x9e, + 0xdb, 0x3e, 0xc6, 0x35, 0x37, 0x35, 0xa1, 0xb8, 0x9a, 0xf1, 0x08, 0x3b, + 0x21, 0xa6, 0xc9, 0xfb, 0x45, 0x67, 0x1e, 0xaa, 0xd5, 0x1b, 0xee, 0xd6, + 0x0c, 0x18, 0x3b, 0xcb, 0x56, 0x5a, 0x0f, 0x84, 0xc0, 0xfa, 0x6a, 0x30, + 0xc2, 0x76, 0xbd, 0xda, 0xb1, 0xb5, 0x45, 0x1e, 0x5e, 0x93, 0x65, 0x81, + 0x99, 0xec, 0x76, 0x1b, 0xd5, 0x12, 0xe0, 0x9c, 0x52, 0x54, 0x21, 0xa3, + 0x9a, 0xef, 0x59, 0x36, 0xc6, 0x23, 0x6c, 0xe4, 0x59, 0xea, 0x67, 0x4c, + 0x8a, 0x09, 0xdd, 0xee, 0x60, 0x21, 0x89, 0xd3, 0xcb, 0x13, 0x02, 0xa2, + 0xcb, 0x38, 0x03, 0x51, 0x45, 0xe7, 0x13, 0x9b, 0x74, 0xa1, 0xf2, 0x67, + 0x2e, 0xad, 0x49, 0x0d, 0x1c, 0x39, 0x6c, 0x75, 0x3a, 0x45, 0xc7, 0x93, + 0x30, 0x3e, 0x2f, 0xcd, 0x94, 0xfd, 0x87, 0x6b, 0x8c, 0x99, 0x11, 0x3d, + 0xa6, 0x89, 0xb5, 0x3b, 0x15, 0x32, 0x9d, 0x15, 0x72, 0x7c, 0xab, 0x5d, + 0x37, 0xbb, 0xf8, 0x7b, 0x1f, 0x44, 0xa2, 0xad, 0x40, 0x54, 0x35, 0x20, + 0x6d, 0x71, 0xd0, 0xb7, 0xb7, 0x71, 0x74, 0xf9, 0xab, 0xb8, 0x7a, 0xdf, + 0x57, 0xb0, 0xb2, 0x7c, 0x0b, 0xbd, 0x7e, 0x97, 0x7a, 0xf2, 0x4e, 0x3e, + 0x75, 0xec, 0x2e, 0xb2, 0xce, 0x73, 0x39, 0xf6, 0xd0, 0x23, 0x7c, 0xe8, + 0x23, 0x6f, 0xe7, 0xf4, 0xf0, 0xbf, 0x72, 0xd5, 0x0b, 0xcf, 0xb3, 0xbc, + 0x37, 0xec, 0xd0, 0x56, 0x73, 0xb0, 0x53, 0x3c, 0x62, 0xe6, 0xfe, 0x5b, + 0x4c, 0x62, 0x6d, 0xa0, 0x79, 0x5b, 0x84, 0x6f, 0x6d, 0x93, 0x46, 0x36, + 0x0b, 0xde, 0xd6, 0x29, 0xea, 0x06, 0xed, 0x6f, 0x6f, 0xc2, 0xd6, 0x5a, + 0x23, 0x19, 0x6f, 0x52, 0x50, 0xef, 0x66, 0xa5, 0xe5, 0xfe, 0x5c, 0xd3, + 0xd7, 0x10, 0xcd, 0xbe, 0x47, 0xd1, 0x64, 0x0c, 0x6a, 0x60, 0x69, 0x2e, + 0x43, 0xb1, 0x44, 0x76, 0x12, 0xa6, 0xa3, 0x78, 0x8f, 0x73, 0x82, 0x8a, + 0xed, 0xda, 0x24, 0x45, 0xfd, 0x65, 0x30, 0x80, 0xd2, 0x5d, 0x56, 0x89, + 0x19, 0x9b, 0xa3, 0x09, 0x65, 0xad, 0x18, 0x8b, 0x50, 0x21, 0xa3, 0xb1, + 0xa7, 0x28, 0x54, 0xc4, 0x84, 0x79, 0x3f, 0xae, 0x86, 0xb2, 0x44, 0xe2, + 0x08, 0x8d, 0x9a, 0x39, 0x00, 0xb5, 0x9f, 0xa1, 0x68, 0xbf, 0x2b, 0x9f, + 0x6f, 0x99, 0x3c, 0xdd, 0x85, 0x09, 0xda, 0xb8, 0xd9, 0x56, 0x04, 0xb5, + 0x82, 0x6a, 0x92, 0xb0, 0xd2, 0xfb, 0x72, 0xae, 0x3f, 0xf4, 0x75, 0x5c, + 0x73, 0xf8, 0x8b, 0x98, 0x9f, 0x5f, 0x21, 0xcd, 0x04, 0x70, 0xd4, 0xae, + 0xe4, 0xc0, 0x81, 0x43, 0xbc, 0xf9, 0xbf, 0xbc, 0x99, 0x47, 0x8e, 0x3f, + 0xc2, 0xf1, 0xf3, 0xbf, 0x43, 0xb4, 0xf7, 0x03, 0xdc, 0xf4, 0x2c, 0xc5, + 0x4a, 0x68, 0x2b, 0x8b, 0xd3, 0x59, 0x39, 0xb8, 0x8d, 0xf7, 0x6d, 0x71, + 0xc7, 0xbb, 0x46, 0x9e, 0x18, 0xb5, 0x42, 0x97, 0x99, 0x61, 0x48, 0x23, + 0x23, 0x8f, 0x6c, 0x00, 0xa3, 0x75, 0xdd, 0x88, 0x58, 0x9b, 0x90, 0x76, + 0xf2, 0x58, 0x08, 0x47, 0xae, 0xa9, 0x3b, 0xe4, 0x93, 0xf0, 0x1d, 0xe6, + 0x97, 0x42, 0x31, 0x29, 0x4a, 0x66, 0x32, 0xf5, 0xd6, 0xbb, 0x18, 0x1b, + 0xb0, 0x43, 0x9e, 0xc3, 0xb9, 0xd5, 0x09, 0xfb, 0xf6, 0xc4, 0x74, 0xbb, + 0x4d, 0x65, 0x50, 0x14, 0x11, 0xcb, 0x24, 0x9f, 0xc8, 0xb4, 0xf8, 0x0b, + 0xc0, 0xfb, 0xfe, 0xc7, 0x61, 0x00, 0xe3, 0x62, 0x72, 0x19, 0x93, 0x00, + 0x29, 0xac, 0x88, 0x8b, 0xad, 0x95, 0xbc, 0x08, 0x69, 0x4e, 0x5e, 0x04, + 0x9d, 0x4f, 0x96, 0xa0, 0x28, 0x92, 0x17, 0x61, 0xa7, 0x35, 0xb4, 0xae, + 0xaa, 0x0f, 0x86, 0x51, 0xd5, 0x4d, 0x29, 0x75, 0x57, 0x6a, 0xb7, 0x3b, + 0xd7, 0x6f, 0xf3, 0xff, 0xa2, 0x71, 0xa7, 0x2e, 0x87, 0xd8, 0x1d, 0xe6, + 0xe1, 0xfb, 0x22, 0x96, 0xb2, 0x57, 0xf2, 0xba, 0x6f, 0xfd, 0x11, 0xae, + 0xbe, 0xfa, 0x28, 0x62, 0x6b, 0x68, 0x46, 0xba, 0x4d, 0x26, 0x13, 0xce, + 0x9d, 0xb9, 0xc4, 0x5d, 0x1f, 0xbf, 0x9b, 0xe3, 0xe7, 0xde, 0xc6, 0x76, + 0xef, 0x41, 0x0e, 0x3f, 0xbf, 0x20, 0xcd, 0x42, 0x2f, 0x61, 0x94, 0xed, + 0x52, 0x06, 0xc7, 0xbb, 0x8c, 0x6f, 0x57, 0x8b, 0xb9, 0xab, 0x03, 0x4d, + 0x4d, 0x13, 0x02, 0x5a, 0x52, 0xab, 0x15, 0x7e, 0xb8, 0xa6, 0xf0, 0xa3, + 0x1a, 0x3c, 0x5a, 0xd9, 0xf4, 0x21, 0x9c, 0x3c, 0x16, 0xc4, 0x22, 0xed, + 0xee, 0x9f, 0x8c, 0x42, 0x36, 0xb1, 0x72, 0xb0, 0xe9, 0x6b, 0x8c, 0x66, + 0xba, 0x86, 0x16, 0xdc, 0xb6, 0x19, 0x45, 0x0b, 0x6a, 0xab, 0x0a, 0x4e, + 0x9f, 0xab, 0x48, 0x33, 0xd8, 0xbb, 0x47, 0x98, 0xef, 0x2a, 0x88, 0x0b, + 0xdf, 0xdf, 0x73, 0x79, 0x40, 0xa0, 0x07, 0x7c, 0x6d, 0x66, 0xe5, 0xab, + 0x27, 0x76, 0x6c, 0x78, 0xf5, 0x6b, 0x69, 0x14, 0xef, 0xdd, 0x1e, 0xbb, + 0x5a, 0x24, 0x48, 0xbf, 0x1a, 0xe6, 0x4b, 0xeb, 0xb2, 0x49, 0xa5, 0x02, + 0x62, 0x17, 0xe7, 0x02, 0xfd, 0xeb, 0xdc, 0x8c, 0xe1, 0x6b, 0x2f, 0x7a, + 0xbb, 0xc3, 0xda, 0xb4, 0xab, 0xf6, 0x30, 0xde, 0x02, 0x97, 0x27, 0xf4, + 0xa3, 0x17, 0x72, 0xfd, 0xfe, 0xaf, 0xe1, 0xaa, 0x83, 0xaf, 0xe6, 0xbd, + 0xa3, 0xf7, 0xf1, 0xc9, 0x4f, 0xdc, 0xcd, 0xf6, 0xe8, 0x3c, 0x98, 0x03, + 0x14, 0x45, 0x41, 0x91, 0x17, 0xac, 0xae, 0x6e, 0xf2, 0xe0, 0x27, 0x1f, + 0xe0, 0x9e, 0x07, 0xde, 0xca, 0x16, 0xbf, 0xc7, 0xb3, 0xbf, 0xfc, 0x22, + 0x49, 0xa7, 0xf9, 0x9a, 0x4d, 0x1c, 0xd6, 0x5d, 0x62, 0xd1, 0x56, 0xd4, + 0xd1, 0xf6, 0x21, 0x48, 0xe3, 0xe6, 0xd5, 0xce, 0xd8, 0x3b, 0x74, 0x26, + 0x3c, 0xad, 0xeb, 0x59, 0x77, 0xd2, 0x78, 0x1a, 0x16, 0xab, 0xaa, 0x02, + 0x3e, 0x38, 0x7f, 0x1a, 0xce, 0x9f, 0x99, 0x71, 0x08, 0x75, 0x15, 0x70, + 0x40, 0x9a, 0x35, 0x5e, 0x8c, 0x59, 0xb5, 0xb3, 0x15, 0xc4, 0xb4, 0x27, + 0xe3, 0xfd, 0x8c, 0xc4, 0x6a, 0x35, 0x0d, 0x55, 0x0d, 0xe7, 0x2e, 0x28, + 0xe3, 0x49, 0xcd, 0xf5, 0x47, 0x94, 0x95, 0xc5, 0x85, 0xda, 0x58, 0xc1, + 0xfb, 0x27, 0x3e, 0xc5, 0x38, 0x8a, 0xeb, 0x23, 0xf4, 0x97, 0x27, 0xb8, + 0x2a, 0xc2, 0xbb, 0x27, 0xd6, 0x29, 0x66, 0x8c, 0xe4, 0x55, 0xb5, 0xf6, + 0xce, 0x0b, 0xc3, 0xc9, 0x0b, 0x44, 0xd9, 0x6a, 0x15, 0x3b, 0x75, 0x28, + 0xb1, 0x86, 0x8a, 0x6f, 0x53, 0x1b, 0x6f, 0x73, 0xea, 0xdd, 0x95, 0xb8, + 0xb2, 0x0c, 0xf9, 0x71, 0x0b, 0xa8, 0xda, 0x3e, 0x83, 0x72, 0x0a, 0x51, + 0xb5, 0x87, 0x3d, 0xc9, 0xab, 0x38, 0x7a, 0xd5, 0xeb, 0xd8, 0xb7, 0xfc, + 0x4c, 0x06, 0x83, 0x01, 0x9d, 0x6e, 0xc4, 0xcb, 0x5f, 0xf5, 0x12, 0x1e, + 0x7c, 0xe8, 0x6e, 0xee, 0xfa, 0xf8, 0xc7, 0x59, 0x58, 0x58, 0x66, 0x7b, + 0x6b, 0xcc, 0x23, 0xc7, 0x8f, 0xf1, 0xc0, 0xf1, 0x3f, 0x62, 0xcb, 0xbd, + 0x83, 0xc1, 0xc1, 0x93, 0x1c, 0x5a, 0x0c, 0x17, 0xb5, 0x6d, 0x26, 0x31, + 0x86, 0x1d, 0xea, 0xb0, 0xd5, 0x1a, 0xec, 0x28, 0x79, 0xeb, 0x19, 0x2e, + 0xd9, 0xdd, 0xfe, 0xd5, 0xd6, 0xf2, 0xdb, 0xf3, 0xf4, 0x2e, 0x00, 0xce, + 0xb6, 0xe3, 0xc8, 0x35, 0x00, 0x72, 0xf3, 0x12, 0x3c, 0xfa, 0xe0, 0x2c, + 0x6c, 0xd5, 0x3e, 0xbc, 0x67, 0x9a, 0x35, 0x5d, 0x43, 0xcd, 0x90, 0x8b, + 0x58, 0x80, 0x08, 0x4c, 0xbd, 0xab, 0x37, 0x61, 0x97, 0x61, 0x88, 0x69, + 0xf0, 0x85, 0x6b, 0x9a, 0x37, 0x62, 0xd8, 0x1a, 0xc1, 0xbd, 0xc7, 0x46, + 0x8c, 0x4b, 0x77, 0x20, 0x49, 0x94, 0x61, 0x5e, 0x53, 0xfc, 0x39, 0x11, + 0xfc, 0xf9, 0x47, 0x1f, 0x87, 0x01, 0xbc, 0xff, 0xd7, 0x5e, 0xc4, 0xe1, + 0xe7, 0x3d, 0xc0, 0xe2, 0xd5, 0xa7, 0xe8, 0xaf, 0x0c, 0x71, 0x95, 0xdd, + 0x31, 0x84, 0xc7, 0x6d, 0x5c, 0x22, 0x18, 0x5b, 0xfe, 0x5c, 0xb7, 0x13, + 0xdd, 0x61, 0x85, 0x17, 0x8d, 0xc7, 0xce, 0xab, 0x17, 0xaf, 0x5e, 0x7d, + 0xed, 0x55, 0x4d, 0xcb, 0xf0, 0x19, 0xd0, 0x46, 0x52, 0x45, 0xd3, 0x56, + 0x45, 0x03, 0xfa, 0xf2, 0xa2, 0x41, 0xdd, 0x0e, 0xa4, 0xec, 0x93, 0xf8, + 0x5b, 0xd8, 0x93, 0xbc, 0x8a, 0xbd, 0x7b, 0x6e, 0x67, 0x71, 0xfe, 0x30, + 0x71, 0x2c, 0x20, 0x05, 0xe3, 0x49, 0xc5, 0x64, 0x2a, 0x18, 0x11, 0xf6, + 0xec, 0xd9, 0xcf, 0x7b, 0xde, 0xf5, 0x5e, 0x86, 0xdb, 0xdb, 0x6c, 0x4c, + 0xee, 0x65, 0x62, 0xdf, 0xcd, 0xdc, 0xa1, 0x0b, 0x1c, 0x58, 0x08, 0x61, + 0xa5, 0xae, 0x9a, 0x9b, 0x45, 0x34, 0x00, 0xb2, 0xcd, 0xd7, 0x5d, 0xd3, + 0xe6, 0x65, 0x24, 0xb4, 0xa0, 0x59, 0xd3, 0x84, 0xa2, 0x64, 0x96, 0x71, + 0xb4, 0x1e, 0xa9, 0xad, 0x46, 0x56, 0x65, 0xb3, 0xf0, 0x2e, 0xe4, 0xef, + 0xde, 0x43, 0x39, 0x09, 0x6e, 0x7f, 0xf3, 0x22, 0x9c, 0x3e, 0x36, 0x0b, + 0x15, 0x55, 0x33, 0xd3, 0x30, 0x49, 0x66, 0x9a, 0x83, 0xaa, 0x02, 0x33, + 0x09, 0x5e, 0x26, 0x4d, 0xc1, 0x35, 0xcd, 0x28, 0xce, 0x07, 0x1c, 0xd1, + 0x86, 0xc7, 0xdd, 0x65, 0xe7, 0x9d, 0x7a, 0x45, 0x63, 0xa0, 0x27, 0xce, + 0x4e, 0xff, 0x7a, 0xbf, 0xc7, 0x9b, 0x88, 0xf8, 0xa1, 0x49, 0x4e, 0xfe, + 0x44, 0x4a, 0x02, 0x51, 0x3e, 0x4a, 0xb8, 0xf7, 0xf7, 0x6f, 0x43, 0xb2, + 0x43, 0x1c, 0x7e, 0xf6, 0x49, 0x0e, 0x3d, 0xe7, 0x61, 0x7a, 0xcb, 0x53, + 0xd4, 0xcd, 0x72, 0xeb, 0xc7, 0x55, 0x0a, 0x50, 0xce, 0xdb, 0xd8, 0x7e, + 0x45, 0x54, 0xf2, 0x5d, 0x18, 0x7d, 0xf9, 0x52, 0x2f, 0x3d, 0x5a, 0x94, + 0x7e, 0xef, 0xea, 0x56, 0xb9, 0xe8, 0x8a, 0x99, 0x7e, 0x2f, 0x4b, 0xd1, + 0xb2, 0x42, 0xea, 0x7c, 0x56, 0xbb, 0x8f, 0xb0, 0x64, 0xf6, 0x10, 0xf5, + 0xf0, 0x30, 0x0f, 0xdd, 0x5d, 0x71, 0x60, 0xf9, 0x76, 0x5e, 0xf8, 0xea, + 0xaf, 0xc3, 0x18, 0x8b, 0x6a, 0x41, 0xed, 0xc6, 0xe4, 0x65, 0x85, 0xab, + 0x6b, 0x6a, 0xa7, 0x14, 0xd3, 0x9a, 0xe1, 0x70, 0x8b, 0xad, 0xe1, 0x69, + 0x2e, 0x14, 0xef, 0xe0, 0xd8, 0xf0, 0x77, 0x38, 0x74, 0x7d, 0xc9, 0x9e, + 0x85, 0x70, 0xd5, 0xbc, 0x6f, 0xe8, 0xdc, 0xe8, 0xb1, 0x4a, 0xa1, 0x96, + 0x47, 0x68, 0x35, 0xff, 0xad, 0x20, 0xb5, 0xdd, 0xed, 0x6d, 0xa1, 0x47, + 0xdd, 0xae, 0x32, 0xae, 0x69, 0x1a, 0x4b, 0x9b, 0xf4, 0xad, 0x2a, 0x67, + 0x7a, 0x3e, 0x4f, 0xc8, 0xe7, 0x57, 0x4f, 0x85, 0x21, 0x50, 0xbe, 0x6e, + 0x06, 0x25, 0x98, 0x19, 0x49, 0x94, 0xf5, 0x82, 0x36, 0xb0, 0xae, 0x82, + 0xb1, 0x75, 0xe3, 0xd0, 0xfb, 0x98, 0x4f, 0x03, 0x1e, 0x51, 0xc2, 0xe2, + 0xb7, 0xa0, 0xb0, 0x6d, 0x6c, 0x89, 0xa2, 0x60, 0x40, 0x71, 0x12, 0xda, + 0xde, 0x6d, 0x0c, 0x45, 0x8e, 0x01, 0xfe, 0x4e, 0xb7, 0x47, 0xd7, 0x1a, + 0xbe, 0xe3, 0x09, 0x56, 0x03, 0x95, 0xb8, 0x53, 0x51, 0xe4, 0x29, 0x8f, + 0xbc, 0xff, 0x56, 0x4e, 0xdd, 0x7d, 0x98, 0xfd, 0x37, 0xad, 0x73, 0xf0, + 0xd6, 0x13, 0x2c, 0x1e, 0x0d, 0xf7, 0x53, 0x72, 0x95, 0x3c, 0x0e, 0x20, + 0x08, 0xde, 0xfb, 0xd5, 0xc8, 0xca, 0x4f, 0xc4, 0x19, 0x3c, 0x7a, 0x26, + 0x4f, 0xfc, 0x78, 0xf9, 0x9f, 0xbe, 0xe8, 0xd9, 0x5f, 0xff, 0x7f, 0x6d, + 0x4f, 0x56, 0xeb, 0xaa, 0x1a, 0x69, 0x55, 0x4f, 0x65, 0x7d, 0x6d, 0x83, + 0x83, 0xcb, 0x57, 0x93, 0x44, 0x0b, 0x18, 0x5d, 0xc2, 0xb0, 0x4c, 0x16, + 0xed, 0xa5, 0x9b, 0x1e, 0x62, 0x94, 0x54, 0xac, 0x75, 0x3f, 0xc0, 0xea, + 0xa5, 0x35, 0x90, 0x82, 0x69, 0x9e, 0x53, 0x96, 0x25, 0x65, 0x59, 0x51, + 0xe4, 0x15, 0xa3, 0xed, 0x21, 0x6b, 0x1b, 0x67, 0x39, 0xbf, 0x76, 0x0f, + 0xc3, 0xfa, 0x6e, 0xb2, 0xa5, 0x53, 0xbc, 0xfa, 0x6b, 0x43, 0x5a, 0xd5, + 0x66, 0x13, 0x6d, 0xda, 0xd6, 0x22, 0xeb, 0x1d, 0x1a, 0xd9, 0x04, 0xc9, + 0x95, 0x6a, 0x13, 0x6b, 0x9b, 0x9a, 0xc3, 0x8e, 0x76, 0x40, 0x66, 0xc4, + 0x4e, 0xab, 0x0e, 0xaa, 0xaa, 0xb0, 0x19, 0xaa, 0x32, 0xfc, 0xb7, 0xfa, + 0x70, 0x1b, 0x89, 0xb2, 0x0a, 0x99, 0xf8, 0x68, 0x13, 0xd6, 0x2e, 0x86, + 0x9f, 0xa5, 0xa9, 0x7e, 0xee, 0xe8, 0x1d, 0x6c, 0x7b, 0x1e, 0xa1, 0xfb, + 0x27, 0x89, 0x43, 0xf8, 0x49, 0x3a, 0x41, 0x40, 0x12, 0xef, 0xc2, 0x3d, + 0xa2, 0x21, 0x6d, 0x6c, 0x4b, 0xd6, 0xd6, 0x36, 0xad, 0xed, 0x71, 0x08, + 0x21, 0xf3, 0x8b, 0xa1, 0x03, 0xba, 0x9d, 0x69, 0x30, 0x15, 0xbe, 0xbd, + 0xd7, 0xe3, 0x7d, 0x83, 0x1e, 0xbf, 0xf4, 0xb9, 0x7a, 0x81, 0x68, 0x56, + 0xc6, 0xf5, 0x44, 0x59, 0x49, 0x35, 0x49, 0x38, 0x7b, 0xcf, 0xf5, 0x5c, + 0xb8, 0xff, 0x1a, 0x7a, 0x07, 0x8e, 0x73, 0xc3, 0xcb, 0x4e, 0xb0, 0x74, + 0xf4, 0x52, 0xa3, 0xc2, 0xfd, 0x2c, 0x0c, 0xa1, 0x41, 0xd0, 0x5b, 0xdb, + 0xf0, 0xc9, 0xfb, 0xe1, 0xf4, 0xa3, 0x26, 0xce, 0xa2, 0xc9, 0xeb, 0x6f, + 0x3d, 0xf8, 0x1c, 0xfd, 0x92, 0x97, 0xfe, 0x4d, 0x5d, 0xdf, 0x3c, 0x6f, + 0x5c, 0x5d, 0xeb, 0x9d, 0xc3, 0x8f, 0x9b, 0xe5, 0x64, 0x2f, 0x07, 0x0e, + 0x1e, 0x44, 0xbd, 0x47, 0x71, 0x88, 0x28, 0xc6, 0x28, 0xf3, 0xf3, 0x25, + 0x57, 0x5f, 0x3a, 0xc8, 0x7b, 0xde, 0xfd, 0x10, 0x0f, 0xde, 0xff, 0x00, + 0x83, 0xb9, 0x05, 0xd6, 0x57, 0xd7, 0x59, 0xdf, 0x3c, 0xc7, 0xea, 0xe6, + 0xa7, 0xd8, 0x98, 0xdc, 0x87, 0xed, 0x9f, 0x60, 0xf1, 0x60, 0xc9, 0x4d, + 0x87, 0xa0, 0xdb, 0x6f, 0x16, 0x52, 0x77, 0xe9, 0x04, 0x76, 0xc9, 0xba, + 0xcd, 0xae, 0x4a, 0xe2, 0xee, 0x92, 0xf2, 0x0e, 0xc8, 0x8c, 0x66, 0xf9, + 0xb9, 0x98, 0x19, 0x99, 0x94, 0x4f, 0x1b, 0x03, 0x28, 0x67, 0x5c, 0x01, + 0x0a, 0xd6, 0x08, 0x62, 0x20, 0x4d, 0x94, 0xf1, 0xb6, 0x50, 0x8c, 0x21, + 0xce, 0x14, 0x57, 0x87, 0xdd, 0x4d, 0x13, 0xf7, 0x23, 0x13, 0x62, 0x78, + 0x6b, 0x04, 0x36, 0x9a, 0xcd, 0x1f, 0x98, 0x8c, 0x21, 0xa9, 0x76, 0x49, + 0xe1, 0x9b, 0xda, 0x40, 0x7f, 0x31, 0xbc, 0xa6, 0x68, 0x3c, 0xc3, 0xea, + 0x85, 0x30, 0xf7, 0xa0, 0x6d, 0x41, 0xbb, 0xfe, 0x56, 0xb8, 0xfe, 0xe6, + 0xe0, 0x11, 0xb2, 0x0c, 0x96, 0x17, 0xe2, 0x3d, 0x4f, 0x04, 0xbf, 0x47, + 0x7f, 0xb6, 0x9e, 0xaf, 0x44, 0x69, 0x05, 0xaa, 0x9c, 0x7f, 0xf0, 0x00, + 0xc3, 0xd3, 0x57, 0xb1, 0xef, 0xfa, 0x8b, 0x2c, 0x3f, 0xeb, 0x2e, 0xb2, + 0x95, 0x21, 0xff, 0x2b, 0xda, 0x40, 0x09, 0xee, 0xfc, 0xec, 0x45, 0x25, + 0xc9, 0xe0, 0xe6, 0x67, 0xea, 0x73, 0x1e, 0x7d, 0xb0, 0xb8, 0xf5, 0x57, + 0xde, 0xf2, 0x8f, 0xea, 0x5e, 0x67, 0x4e, 0x9e, 0xf3, 0xac, 0x57, 0x50, + 0xbb, 0x82, 0x67, 0xdc, 0x72, 0x1d, 0xc7, 0x8f, 0x3f, 0x4c, 0x7f, 0x70, + 0x04, 0x57, 0x2b, 0xce, 0x9b, 0x30, 0x55, 0xdc, 0x7b, 0xac, 0xc6, 0xf4, + 0x7b, 0x4b, 0x54, 0x55, 0xc5, 0x1f, 0xbc, 0xf3, 0xbf, 0x73, 0xe4, 0xea, + 0x15, 0xd6, 0xc7, 0xf7, 0x40, 0x7a, 0x82, 0xc1, 0x4a, 0xce, 0x35, 0xb7, + 0x86, 0xdd, 0x10, 0xc7, 0xb3, 0x46, 0x8b, 0xb6, 0x58, 0x63, 0x75, 0x56, + 0xfc, 0x69, 0x59, 0xbc, 0x36, 0xd6, 0x3b, 0xd7, 0xb8, 0x64, 0x37, 0xfb, + 0xbd, 0x48, 0x08, 0x13, 0x2d, 0xf3, 0x58, 0x15, 0x01, 0xe4, 0xb5, 0x3a, + 0x04, 0x57, 0x35, 0x53, 0x3e, 0x9b, 0xca, 0x60, 0x12, 0x43, 0x14, 0xf9, + 0x8d, 0xa4, 0x6b, 0xdf, 0x30, 0x9f, 0x2d, 0x8f, 0x47, 0xd1, 0xf8, 0x4d, + 0xc3, 0x61, 0x3e, 0xa8, 0xb6, 0x41, 0xe2, 0x60, 0x84, 0xce, 0x35, 0xb3, + 0x0b, 0x1a, 0x4d, 0x82, 0xb5, 0x61, 0xb7, 0xab, 0x36, 0x32, 0x37, 0x37, + 0x53, 0x33, 0xb7, 0x86, 0x68, 0x77, 0x19, 0x64, 0xda, 0x81, 0x4e, 0x3f, + 0x34, 0x90, 0xc6, 0x11, 0x6c, 0xad, 0x1b, 0xee, 0xfb, 0xa8, 0xc1, 0x26, + 0x35, 0xfb, 0x0f, 0x85, 0xdf, 0xc5, 0x11, 0xcc, 0xf5, 0xe5, 0xe7, 0x3b, + 0x69, 0xf4, 0x13, 0x79, 0xee, 0x2e, 0x9f, 0x01, 0xec, 0xf6, 0xe5, 0x51, + 0x52, 0x63, 0x4c, 0xc2, 0x85, 0x87, 0x0e, 0x73, 0xea, 0xc1, 0x0e, 0x87, + 0x5e, 0xf9, 0x51, 0xe6, 0x0f, 0xad, 0x87, 0xa1, 0x07, 0x2a, 0x7f, 0x61, + 0x51, 0x68, 0xdf, 0xfe, 0x86, 0xd9, 0x53, 0x9c, 0x17, 0xaf, 0x92, 0x6e, + 0xf1, 0x4b, 0xbf, 0xfd, 0xb7, 0x78, 0xf9, 0x23, 0xdf, 0xac, 0x2f, 0x7b, + 0xde, 0xd7, 0xcb, 0xde, 0x95, 0x6b, 0x88, 0xec, 0x59, 0xce, 0x9c, 0x3e, + 0xcf, 0xd5, 0x57, 0x5f, 0x47, 0x55, 0x95, 0x14, 0x45, 0x49, 0x3e, 0x1e, + 0x72, 0xea, 0xcc, 0xa7, 0x78, 0xf0, 0xf8, 0xbb, 0x28, 0xd2, 0x0f, 0x62, + 0x7a, 0x6b, 0xe4, 0x03, 0x38, 0x72, 0x3d, 0xcc, 0x2d, 0x06, 0x02, 0xa5, + 0xbd, 0x50, 0x22, 0xb3, 0xb9, 0x80, 0xbb, 0x5b, 0xae, 0x5a, 0xea, 0xb8, + 0x2d, 0x11, 0x9b, 0x68, 0x16, 0x16, 0x76, 0xc4, 0x26, 0x4d, 0x4a, 0x57, + 0x94, 0xb3, 0xbe, 0xc3, 0xb2, 0x08, 0x8b, 0x5e, 0x34, 0xc3, 0x24, 0xaa, + 0x3a, 0x18, 0x44, 0xcb, 0xed, 0x67, 0xb1, 0xb0, 0xb2, 0x4f, 0xdf, 0x61, + 0x2c, 0xff, 0x60, 0x34, 0xe1, 0x13, 0x69, 0x92, 0xb2, 0x7c, 0x54, 0xcf, + 0x4d, 0xcb, 0xfa, 0x2d, 0xa3, 0x49, 0x1d, 0x30, 0x4e, 0xa3, 0x0d, 0x54, + 0x07, 0x26, 0x12, 0xaa, 0x4a, 0xf1, 0x79, 0x33, 0xc3, 0xa0, 0x37, 0xeb, + 0x37, 0xb0, 0xbb, 0xe8, 0x6f, 0xf5, 0xb3, 0xae, 0x62, 0x1a, 0x29, 0x5c, + 0x1c, 0x83, 0x66, 0x61, 0x44, 0x4e, 0x9c, 0xc0, 0xad, 0x2f, 0x50, 0x56, + 0x0e, 0x87, 0x6b, 0x10, 0xc7, 0x30, 0x3f, 0x27, 0x3f, 0x9f, 0x24, 0xe6, + 0x7f, 0xf7, 0x4f, 0x50, 0x1a, 0xf8, 0xbf, 0xd6, 0x04, 0x8b, 0x12, 0xa5, + 0x25, 0xe5, 0x28, 0xe1, 0xd1, 0xb7, 0xbf, 0x88, 0x9b, 0x5e, 0xfd, 0x28, + 0xd7, 0xbe, 0xf8, 0x21, 0x8c, 0xf5, 0xd4, 0xa5, 0xfc, 0xc5, 0x86, 0x10, + 0xfe, 0xef, 0x1e, 0x83, 0xdc, 0x95, 0x26, 0xfe, 0x79, 0xab, 0x97, 0xa6, + 0xe5, 0xdd, 0x27, 0xff, 0x3f, 0xfb, 0x89, 0x13, 0xbf, 0x2e, 0xfb, 0xf7, + 0xdc, 0xa2, 0xbe, 0x4c, 0x64, 0x5a, 0x8c, 0x79, 0xde, 0x2d, 0x7f, 0x8d, + 0xb2, 0xae, 0xd9, 0xda, 0x3a, 0xc7, 0xb9, 0xd5, 0x07, 0x58, 0xdb, 0x7a, + 0x88, 0x6c, 0xb0, 0xcd, 0xcd, 0x2f, 0x0e, 0x7d, 0x77, 0x49, 0xd6, 0xe4, + 0xed, 0xbb, 0x19, 0xba, 0x5d, 0x64, 0x8d, 0x32, 0x5b, 0xdc, 0x28, 0x9a, + 0x55, 0x0f, 0xdb, 0xf4, 0x4c, 0x77, 0x69, 0x09, 0x5d, 0x13, 0x5f, 0x5b, + 0x99, 0x59, 0xdd, 0x90, 0x2a, 0x2d, 0xb8, 0xab, 0x5d, 0x28, 0xd9, 0xd6, + 0x8d, 0x51, 0xa8, 0x0f, 0x9f, 0xd7, 0x9f, 0x93, 0x8d, 0xfd, 0x07, 0xcc, + 0x8f, 0xa6, 0x7d, 0xf7, 0x73, 0x45, 0x8e, 0x7a, 0xa7, 0x6c, 0x6c, 0x0d, + 0x19, 0x8e, 0xfd, 0x1f, 0x2d, 0x2f, 0x2e, 0xbe, 0x6e, 0x7d, 0x79, 0xfd, + 0xf7, 0x2e, 0x9e, 0x77, 0xf3, 0xbe, 0xc9, 0x3a, 0xea, 0x12, 0x8a, 0x89, + 0x86, 0xb1, 0x70, 0x2d, 0x6f, 0x90, 0x37, 0x6a, 0xa2, 0x46, 0x1c, 0xda, + 0x32, 0x84, 0x3b, 0x2d, 0xe5, 0x6d, 0x69, 0xb8, 0x11, 0x92, 0x4c, 0x26, + 0xa1, 0xfb, 0x28, 0xeb, 0x7a, 0x0e, 0x5f, 0x13, 0xae, 0x45, 0x27, 0x45, + 0xfb, 0x7d, 0xfe, 0x85, 0x17, 0xfd, 0xbf, 0x6a, 0xe7, 0xf1, 0xea, 0xf1, + 0x4f, 0xc0, 0x0a, 0x3e, 0x6b, 0x51, 0xb8, 0x18, 0x0f, 0xc6, 0x73, 0xea, + 0xa3, 0xb7, 0xb1, 0x75, 0x7a, 0x2f, 0xd7, 0xbe, 0xf0, 0x21, 0x8e, 0x3e, + 0xeb, 0x12, 0x51, 0xec, 0xa8, 0x4a, 0xd3, 0x34, 0xf6, 0xfd, 0xb9, 0xde, + 0x60, 0xb2, 0x30, 0x97, 0xfc, 0xfd, 0xaa, 0xcc, 0xdf, 0x16, 0x45, 0xda, + 0x5d, 0x5c, 0xc2, 0x4d, 0xa7, 0x63, 0xb6, 0xa6, 0x1f, 0x09, 0x3a, 0xbc, + 0x18, 0xde, 0x73, 0xdf, 0x5d, 0xd0, 0x0c, 0x4c, 0x4a, 0x33, 0x58, 0x39, + 0x1a, 0x9a, 0x2f, 0x92, 0xce, 0x2c, 0x4d, 0xdb, 0x21, 0x6c, 0x64, 0xd6, + 0xae, 0xdd, 0x0e, 0x8f, 0xda, 0x69, 0x0e, 0x61, 0x26, 0xf0, 0x34, 0x26, + 0xec, 0xe8, 0xb6, 0x09, 0x63, 0x77, 0xa1, 0xa8, 0x2c, 0x67, 0xb1, 0xbd, + 0x6e, 0xf3, 0xf9, 0x66, 0xf1, 0xab, 0x6a, 0x36, 0xd6, 0xc5, 0x3b, 0x98, + 0x9f, 0x13, 0x96, 0x96, 0xcd, 0xdb, 0xe6, 0xe6, 0xf8, 0x07, 0x26, 0xf2, + 0xf7, 0xab, 0x0f, 0x7f, 0x3f, 0x19, 0x79, 0x46, 0xd5, 0x90, 0x0b, 0x6b, + 0xd8, 0x7c, 0xab, 0x38, 0x14, 0x45, 0xea, 0xba, 0xf3, 0x30, 0x19, 0x36, + 0x64, 0x4e, 0x14, 0x8c, 0xa8, 0xe5, 0x0d, 0xda, 0xee, 0xe5, 0x32, 0x6f, + 0x48, 0x2e, 0x42, 0x1a, 0x58, 0x56, 0x8f, 0xd5, 0x17, 0xc4, 0x71, 0x38, + 0xef, 0x4b, 0x67, 0x83, 0xa7, 0x38, 0x74, 0x15, 0xec, 0xdd, 0x1f, 0xae, + 0x45, 0xa7, 0x03, 0x47, 0xf6, 0xa5, 0x0f, 0x2f, 0xcd, 0x0d, 0xfe, 0x59, + 0x50, 0x3d, 0x09, 0x91, 0x35, 0x78, 0xaf, 0x9f, 0xb3, 0x3c, 0x30, 0x7a, + 0x7c, 0x69, 0xbe, 0x62, 0x22, 0xc7, 0xc5, 0x47, 0x17, 0x38, 0xfd, 0xe0, + 0x73, 0xd9, 0x7b, 0xf5, 0x16, 0x37, 0xbf, 0xe2, 0x51, 0x0e, 0x3d, 0xe3, + 0x22, 0x71, 0x56, 0xe3, 0x2a, 0x83, 0x77, 0xf2, 0x67, 0xbc, 0x80, 0x88, + 0xfe, 0xc9, 0x81, 0xfd, 0xf6, 0xf5, 0x71, 0xa4, 0xbf, 0xba, 0xba, 0xe9, + 0x0e, 0xa4, 0x19, 0x7e, 0x6e, 0x0e, 0x29, 0x0a, 0xd4, 0x18, 0x64, 0xa7, + 0x37, 0xa0, 0xd9, 0xd1, 0x49, 0x33, 0xc5, 0xcb, 0xee, 0x12, 0x57, 0xb4, + 0xbb, 0xbf, 0xdd, 0xe5, 0xed, 0x80, 0x08, 0xb7, 0x3b, 0x9e, 0x37, 0xe3, + 0x65, 0x5a, 0x8a, 0xb6, 0x65, 0x1e, 0x8b, 0x86, 0xb0, 0x69, 0x77, 0x7c, + 0x55, 0x35, 0x33, 0x83, 0x9a, 0xfb, 0x0c, 0xb5, 0xb1, 0xb8, 0xaa, 0x67, + 0x22, 0x92, 0x6e, 0x17, 0xb2, 0x1e, 0xef, 0x3e, 0xb0, 0xcf, 0xfc, 0x4c, + 0xbf, 0x9b, 0xbd, 0xb5, 0xac, 0x72, 0xd4, 0x07, 0x41, 0x49, 0x3e, 0xdd, + 0x09, 0x35, 0x2f, 0xed, 0xc6, 0xfc, 0x0b, 0xe9, 0xd6, 0xaf, 0x1a, 0x6d, + 0x86, 0xe7, 0xbb, 0x73, 0xa1, 0x3b, 0xa9, 0xf4, 0x33, 0xf5, 0x92, 0xf7, + 0x01, 0xd4, 0xd5, 0x75, 0x23, 0x6f, 0x6b, 0x0c, 0x61, 0x77, 0x37, 0x52, + 0xdc, 0xb4, 0x98, 0x6d, 0x6d, 0x84, 0xf3, 0xda, 0x7b, 0x00, 0xf6, 0x1d, + 0x0a, 0x99, 0x4d, 0x9a, 0xc2, 0xa0, 0x0f, 0x91, 0x5a, 0xba, 0x51, 0x72, + 0xef, 0x4a, 0x7f, 0xce, 0x4d, 0x72, 0xb8, 0xb4, 0x56, 0xb2, 0xb6, 0x35, + 0x0d, 0x12, 0xfa, 0x78, 0x56, 0x20, 0xe3, 0xb6, 0x27, 0xc9, 0x00, 0x66, + 0xf4, 0xa1, 0x43, 0x71, 0xac, 0x9e, 0x9c, 0xe7, 0xfd, 0x6f, 0x7e, 0x1e, + 0xf3, 0x7b, 0xc7, 0xec, 0xbf, 0xe9, 0x04, 0x37, 0xbf, 0xf4, 0x2c, 0xfd, + 0xe5, 0x9c, 0xba, 0x7c, 0xac, 0x21, 0x04, 0xf0, 0x23, 0x7f, 0x78, 0xc3, + 0x91, 0xc1, 0x2b, 0xb3, 0x64, 0xf4, 0x6f, 0xcf, 0x5e, 0xac, 0xbe, 0xcc, + 0x87, 0x2f, 0xae, 0xd6, 0x06, 0xa0, 0x14, 0x26, 0x6c, 0x84, 0x5c, 0x59, + 0x76, 0x37, 0x87, 0x38, 0x28, 0xdc, 0x8c, 0x04, 0x69, 0x77, 0x88, 0xe6, + 0xb3, 0x0a, 0x62, 0xfb, 0x19, 0x2d, 0x5b, 0xe7, 0x7c, 0xe8, 0xbc, 0x55, + 0xc2, 0xee, 0x2b, 0x8a, 0xa6, 0x79, 0xb4, 0x0e, 0x46, 0x51, 0x36, 0xe9, + 0x5d, 0xdb, 0x92, 0xde, 0x62, 0x00, 0x68, 0x26, 0x7f, 0xce, 0xcb, 0x7b, + 0x6c, 0xa6, 0x3f, 0x9d, 0xf5, 0xf9, 0x9f, 0x48, 0x28, 0xba, 0xc9, 0x63, + 0x5b, 0xd6, 0x8c, 0x28, 0xff, 0xb4, 0xae, 0xf9, 0x27, 0x49, 0x4c, 0x6c, + 0xfa, 0x61, 0x91, 0x86, 0x5b, 0xb0, 0x75, 0x09, 0xba, 0x03, 0xe8, 0xf7, + 0x85, 0xb2, 0x10, 0x86, 0x23, 0xbf, 0x03, 0x40, 0xeb, 0x72, 0xe6, 0xcd, + 0x4c, 0x32, 0xe3, 0x25, 0xd4, 0xc3, 0xf6, 0x46, 0x38, 0xc7, 0x85, 0x15, + 0x38, 0x78, 0x14, 0xe6, 0xe6, 0x43, 0x66, 0xd0, 0xef, 0x87, 0x1e, 0x85, + 0x07, 0x3f, 0x21, 0x6c, 0xae, 0x3b, 0xae, 0xbb, 0x6e, 0xb4, 0xfa, 0x51, + 0x19, 0xb2, 0xb1, 0x15, 0xce, 0x3b, 0xcb, 0xc0, 0x49, 0x33, 0x1c, 0xab, + 0x7e, 0xfc, 0xe4, 0xdd, 0x13, 0xea, 0x0b, 0x8a, 0x62, 0x87, 0xb1, 0x30, + 0x5c, 0xed, 0x71, 0xf6, 0xf8, 0xb5, 0x7c, 0xea, 0x43, 0x07, 0xb9, 0xf1, + 0x25, 0xe7, 0xb8, 0xe9, 0x25, 0x67, 0xe8, 0x2f, 0x05, 0x43, 0xd0, 0xc6, + 0x10, 0x82, 0xb5, 0xcb, 0xb1, 0x95, 0xc5, 0xec, 0x2b, 0xac, 0xb5, 0xdf, + 0x9b, 0xe7, 0xfc, 0xc8, 0xfa, 0x66, 0xb1, 0xb7, 0x2c, 0x0c, 0x0e, 0x87, + 0xf7, 0x30, 0xe8, 0xa4, 0x18, 0x31, 0x6c, 0x0c, 0x27, 0x24, 0x32, 0xeb, + 0xea, 0x81, 0x59, 0xc3, 0xc8, 0xb4, 0x9c, 0xe9, 0xfb, 0x9d, 0x9b, 0xe5, + 0xfd, 0x4e, 0x67, 0xc2, 0xcb, 0xba, 0x0e, 0x17, 0xad, 0x28, 0xc3, 0xa0, + 0xc9, 0xba, 0xc9, 0xe3, 0x77, 0xc7, 0x7c, 0xe7, 0x66, 0xb2, 0xaf, 0x16, + 0x57, 0xa4, 0x3d, 0x3e, 0x36, 0xe8, 0xf3, 0x93, 0x1d, 0xcb, 0x6f, 0x4f, + 0x1d, 0x7e, 0x47, 0x9d, 0x84, 0xc7, 0x88, 0xb6, 0x20, 0x73, 0xd9, 0xd5, + 0xfc, 0xb2, 0xc0, 0xeb, 0x6c, 0x3c, 0x9b, 0x57, 0x54, 0x45, 0x21, 0x67, + 0xaf, 0x1d, 0x77, 0x47, 0xda, 0x7d, 0x4f, 0xa7, 0x5b, 0xfc, 0x40, 0x5d, + 0x7b, 0xd2, 0x54, 0x70, 0xcd, 0xc9, 0x45, 0xf1, 0x63, 0xa7, 0x90, 0x38, + 0x17, 0x3c, 0x8a, 0xf3, 0xb0, 0xb0, 0x0c, 0xfb, 0x0f, 0x85, 0xa9, 0xe3, + 0x69, 0x16, 0x1e, 0x83, 0x41, 0xf0, 0x1c, 0x1f, 0xff, 0x28, 0x8c, 0xb6, + 0x95, 0xa4, 0x03, 0xc7, 0x1e, 0xd1, 0x6f, 0xc9, 0x3a, 0x6c, 0x26, 0x29, + 0x3f, 0x9a, 0x25, 0x4c, 0xe2, 0x38, 0x84, 0xce, 0x38, 0x9a, 0xcd, 0x4b, + 0xfa, 0xbc, 0x19, 0xc0, 0xac, 0x66, 0xee, 0x49, 0x3a, 0x35, 0xf9, 0x30, + 0xe6, 0xe3, 0x6f, 0xbb, 0x8e, 0x63, 0x1f, 0x3e, 0xc2, 0x75, 0x2f, 0x3a, + 0xc9, 0x4d, 0x2f, 0x3e, 0xcb, 0xdc, 0x72, 0x8e, 0x77, 0x76, 0x27, 0x45, + 0x74, 0x5e, 0x5d, 0xb7, 0x93, 0xfe, 0xbb, 0x23, 0xfb, 0x17, 0xde, 0x7a, + 0xe6, 0xc2, 0xea, 0x0f, 0xb9, 0x32, 0xfa, 0x96, 0xd1, 0xd8, 0x2f, 0x8d, + 0x26, 0x39, 0x1b, 0xeb, 0x79, 0xe8, 0xb4, 0xb1, 0x61, 0x3e, 0x7f, 0x64, + 0x85, 0x1a, 0x1f, 0x86, 0x43, 0xba, 0xa6, 0x5e, 0xbf, 0x0b, 0x28, 0xed, + 0xe8, 0xfe, 0x9a, 0xc1, 0x8e, 0xc1, 0xd3, 0x18, 0xaa, 0x4a, 0x99, 0x54, + 0x21, 0x2f, 0x2f, 0xca, 0xe0, 0xd2, 0x5d, 0x13, 0xbb, 0xdb, 0x2a, 0x9b, + 0x6d, 0x53, 0xae, 0x0c, 0x17, 0x25, 0x7c, 0xa8, 0xd3, 0xe5, 0x97, 0x6c, + 0xc6, 0x9b, 0x0d, 0xe4, 0xa2, 0xc1, 0x8d, 0x07, 0x90, 0xa9, 0x40, 0xd9, + 0x2e, 0xdc, 0x52, 0x59, 0xf0, 0xbb, 0xea, 0x79, 0x69, 0x9c, 0xce, 0xb8, + 0x03, 0xef, 0xc1, 0x7a, 0x48, 0x6c, 0xfc, 0xf6, 0x38, 0xa9, 0xbe, 0x67, + 0xb1, 0xdb, 0x3f, 0x39, 0x37, 0x88, 0x07, 0xc5, 0x64, 0xf8, 0xbf, 0x91, + 0x29, 0xae, 0x36, 0x14, 0xa5, 0xa7, 0xd3, 0x11, 0x92, 0x24, 0x74, 0x03, + 0x8d, 0xb7, 0x83, 0x47, 0x99, 0x5b, 0x0c, 0x0b, 0x3f, 0xbf, 0x1c, 0x76, + 0x73, 0x9c, 0x84, 0xfb, 0x0f, 0xf4, 0xba, 0x70, 0xea, 0x11, 0x78, 0xe8, + 0x81, 0x60, 0xec, 0x59, 0x6f, 0x87, 0x33, 0xe8, 0xe0, 0xf9, 0x61, 0x3c, + 0xaf, 0x14, 0xe1, 0xfb, 0x81, 0x8f, 0x3d, 0xb9, 0x59, 0xc0, 0xe3, 0x29, + 0x06, 0x59, 0x25, 0x49, 0x6a, 0x8a, 0x71, 0xc2, 0x47, 0xdf, 0x7a, 0x0d, + 0x0f, 0x7d, 0xf0, 0x10, 0x37, 0xdc, 0x7e, 0x86, 0x43, 0x37, 0xaf, 0x31, + 0xd8, 0x3b, 0x22, 0x49, 0x3c, 0xd3, 0x12, 0x7c, 0xa5, 0xa8, 0xca, 0x89, + 0x6e, 0xd6, 0xfd, 0xc1, 0xde, 0x62, 0xf6, 0xaf, 0x4f, 0x9d, 0xbf, 0xf0, + 0xad, 0xb5, 0x8b, 0xbe, 0xc9, 0x55, 0xee, 0x19, 0x79, 0x69, 0x88, 0xe2, + 0x98, 0xcc, 0x2a, 0x65, 0x55, 0x32, 0xce, 0x83, 0x7e, 0xbe, 0xae, 0x95, + 0xc9, 0x78, 0xa6, 0xfe, 0x69, 0x45, 0x24, 0xed, 0x20, 0x87, 0xb6, 0x86, + 0x3f, 0x55, 0xbf, 0x83, 0x03, 0xea, 0xc6, 0xcd, 0xb7, 0x03, 0xa4, 0xda, + 0x96, 0xad, 0x38, 0x6a, 0x9a, 0x3a, 0x15, 0x46, 0x1b, 0xb2, 0xed, 0xa6, + 0x7c, 0xb7, 0x9b, 0xcf, 0x3e, 0x11, 0x25, 0x06, 0x1b, 0xc1, 0x46, 0x5e, + 0x50, 0x38, 0xc7, 0xe2, 0x1e, 0xe5, 0xe0, 0x2d, 0xd2, 0xd4, 0x02, 0x24, + 0x9d, 0x4c, 0xf4, 0xbf, 0xd6, 0x15, 0x2f, 0x15, 0x01, 0x5f, 0xce, 0x2a, + 0x80, 0xea, 0x78, 0x8f, 0xc0, 0xcf, 0xf4, 0x3a, 0xd9, 0xef, 0x59, 0x53, + 0xe3, 0x55, 0x59, 0x5c, 0xc8, 0xbe, 0xb7, 0xd6, 0xc9, 0x60, 0x75, 0xd5, + 0x7d, 0x5d, 0x2e, 0x9e, 0x5e, 0x12, 0x8c, 0x69, 0x7b, 0x2b, 0x18, 0xcc, + 0x60, 0x31, 0x4c, 0x10, 0x5b, 0x58, 0x0e, 0x21, 0xc3, 0x36, 0xe7, 0xb4, + 0x30, 0x07, 0xc5, 0x48, 0xf8, 0xf0, 0x9f, 0x28, 0x9b, 0x9b, 0x0d, 0x9b, + 0x18, 0xcf, 0xd4, 0xc6, 0x6d, 0xf3, 0x8c, 0x77, 0xdc, 0x5e, 0xd7, 0xfc, + 0x71, 0xec, 0xf9, 0x01, 0x0c, 0xff, 0xf1, 0x73, 0xde, 0xbc, 0xb7, 0x3f, + 0xf3, 0x59, 0x38, 0xef, 0x70, 0xce, 0x21, 0x12, 0x9a, 0x11, 0x6c, 0x33, + 0xec, 0xa6, 0xaa, 0x2a, 0xe2, 0x28, 0x46, 0x44, 0xa8, 0xab, 0x1a, 0xef, + 0x3d, 0x49, 0x9a, 0xe0, 0x9c, 0xc3, 0x37, 0xb3, 0x6e, 0xc5, 0x98, 0x30, + 0x13, 0xa8, 0xae, 0x9a, 0x76, 0x6e, 0xc1, 0x5a, 0x41, 0x4c, 0x45, 0x5d, + 0x46, 0x9c, 0xbe, 0x7f, 0x91, 0x7b, 0xde, 0x37, 0xc7, 0xa5, 0xd3, 0x11, + 0x59, 0x26, 0x24, 0xdd, 0x8a, 0x28, 0x53, 0x06, 0xbd, 0x8c, 0xbc, 0x2c, + 0x49, 0xe2, 0x64, 0x6b, 0x3c, 0x1d, 0xfe, 0xc9, 0x7c, 0xbf, 0xf7, 0xcb, + 0x59, 0x6a, 0x3f, 0x9c, 0x46, 0x49, 0x8d, 0x33, 0x7b, 0xc7, 0x23, 0x37, + 0x50, 0x6f, 0xa9, 0x0b, 0x18, 0x0e, 0x7d, 0x20, 0x64, 0x8a, 0x59, 0xd7, + 0xee, 0x4e, 0x51, 0xa6, 0x9e, 0xc5, 0xf7, 0x96, 0xc0, 0x69, 0xd5, 0x37, + 0x6d, 0x1a, 0xd7, 0x76, 0x00, 0xa5, 0x49, 0xb8, 0xd0, 0x65, 0x01, 0xab, + 0x67, 0xe0, 0xd4, 0xc3, 0x70, 0xee, 0x14, 0x9d, 0xad, 0x0d, 0xbe, 0xae, + 0x9a, 0xda, 0xa3, 0x91, 0xc6, 0xa7, 0x12, 0x93, 0x5e, 0xdc, 0xda, 0xaa, + 0x98, 0x4e, 0xc3, 0x67, 0xf6, 0xe6, 0x95, 0x28, 0x51, 0x2a, 0xa7, 0x71, + 0xed, 0xf8, 0x5b, 0x0f, 0xde, 0xcb, 0xd1, 0x07, 0xef, 0x0d, 0x23, 0xe0, + 0xf2, 0x11, 0x0f, 0xa8, 0xe7, 0x6f, 0x65, 0x19, 0x6f, 0x30, 0x86, 0x87, + 0x0c, 0x09, 0x67, 0xce, 0xd6, 0x5c, 0x5a, 0x2d, 0x99, 0xe4, 0xb5, 0xeb, + 0x74, 0xf5, 0xb7, 0x0e, 0xec, 0x8b, 0x16, 0xcb, 0xc2, 0xbd, 0x70, 0x38, + 0x42, 0xca, 0x12, 0x7a, 0x03, 0x38, 0x70, 0x04, 0x0e, 0x1c, 0x0e, 0xc2, + 0x90, 0x4e, 0xbf, 0xc9, 0xeb, 0x07, 0x61, 0xb1, 0x4f, 0x3d, 0x02, 0x77, + 0x7d, 0x04, 0xb6, 0xb6, 0x02, 0xae, 0x48, 0x3b, 0xb3, 0xac, 0x65, 0x87, + 0xb6, 0x36, 0x3b, 0xfa, 0xc8, 0xd4, 0x2b, 0xaf, 0x8f, 0x22, 0x3a, 0x51, + 0xc2, 0xbb, 0x9c, 0x0f, 0x2a, 0xb1, 0x3b, 0x9e, 0xf7, 0xa3, 0x4f, 0xad, + 0x01, 0x18, 0x31, 0x78, 0xef, 0x30, 0x56, 0x30, 0x91, 0xa3, 0xae, 0x6b, + 0xce, 0x1d, 0xb7, 0xdc, 0xff, 0xa1, 0x3e, 0xc7, 0xef, 0x1e, 0xb0, 0x7e, + 0x21, 0xc5, 0x88, 0x30, 0x1e, 0x39, 0x16, 0x96, 0x22, 0xc6, 0xf9, 0x90, + 0xac, 0x13, 0xd7, 0xc6, 0xc8, 0x43, 0x79, 0x51, 0xfd, 0x77, 0xf5, 0xf2, + 0xab, 0x49, 0x94, 0xbd, 0xdf, 0xd7, 0xc9, 0x49, 0x57, 0xe1, 0x0c, 0xd2, + 0x57, 0xaf, 0x5d, 0xef, 0x05, 0xef, 0x74, 0xa7, 0x50, 0xb5, 0x33, 0x8d, + 0xa3, 0xde, 0xd5, 0x1d, 0x0c, 0x18, 0x64, 0x68, 0x2d, 0x17, 0xad, 0xe5, + 0xe1, 0x2c, 0x95, 0x8f, 0xed, 0x59, 0x8a, 0xdf, 0x32, 0x37, 0xc7, 0xff, + 0x9d, 0x97, 0x7a, 0xdb, 0xc6, 0x45, 0x0e, 0x6e, 0xad, 0x05, 0x43, 0xe9, + 0x0d, 0xc2, 0x22, 0x44, 0x29, 0xbd, 0x69, 0xed, 0x6e, 0x1f, 0x4e, 0x8a, + 0xef, 0x52, 0xf4, 0xa8, 0xb1, 0xfe, 0x98, 0x58, 0xbf, 0x6a, 0x04, 0x2e, + 0xad, 0xc2, 0xf2, 0x92, 0x30, 0x98, 0xa7, 0x4e, 0x13, 0x3e, 0x18, 0x25, + 0x7c, 0xc3, 0xb1, 0xfb, 0xe9, 0x9e, 0x3b, 0xc1, 0xfb, 0x93, 0x84, 0x2f, + 0xb3, 0x31, 0x77, 0x8a, 0x84, 0x9b, 0x45, 0x9c, 0x3c, 0x5d, 0x33, 0x1a, + 0x7a, 0xaa, 0xda, 0x73, 0x61, 0xad, 0xe2, 0xe2, 0xaa, 0x5b, 0x1c, 0x8f, + 0xfd, 0xd1, 0xbc, 0xd4, 0x3b, 0x7a, 0x03, 0xec, 0xde, 0x43, 0x01, 0xdd, + 0x2f, 0xee, 0x09, 0xbb, 0x3e, 0xc9, 0x42, 0x6a, 0x97, 0xa5, 0x41, 0xeb, + 0x70, 0xff, 0xdd, 0xf0, 0xc8, 0x43, 0x0d, 0x69, 0x94, 0x86, 0xc7, 0xe2, + 0x02, 0x5c, 0x77, 0x4d, 0x76, 0xd7, 0xda, 0xba, 0xfe, 0xf2, 0x78, 0xa4, + 0x37, 0xd7, 0x15, 0xbd, 0x76, 0x76, 0x42, 0xdb, 0x02, 0x2f, 0xf0, 0x72, + 0x15, 0xe6, 0xe3, 0x98, 0x77, 0x74, 0x12, 0x78, 0xd5, 0xb3, 0x7e, 0xf4, + 0xa9, 0x09, 0x01, 0x7f, 0x11, 0x33, 0x18, 0xa7, 0xa1, 0xff, 0x6b, 0xb8, + 0x9e, 0xb0, 0xfa, 0x27, 0x09, 0x77, 0xfd, 0x71, 0x81, 0x1a, 0xcb, 0xf2, + 0x3e, 0x25, 0xe9, 0x1f, 0x60, 0xdf, 0xd1, 0x82, 0xb9, 0x65, 0x47, 0x36, + 0xe7, 0x10, 0x63, 0x57, 0xd3, 0x8e, 0xfb, 0x9d, 0x6e, 0x27, 0xfb, 0x1d, + 0xaf, 0x19, 0x89, 0xca, 0xc1, 0x7e, 0xb7, 0x73, 0x4d, 0x51, 0x0d, 0x8f, + 0x94, 0x15, 0x87, 0x44, 0xa6, 0x5d, 0x1b, 0xab, 0x8e, 0xa6, 0x4e, 0x9c, + 0xf3, 0xa5, 0x83, 0x69, 0x3e, 0x65, 0xbc, 0x38, 0xc7, 0xc5, 0x38, 0x91, + 0xf3, 0x11, 0xf6, 0xd2, 0xb0, 0xf6, 0x5b, 0xea, 0xfd, 0xe6, 0xe6, 0x39, + 0xab, 0x66, 0x1a, 0x53, 0xaa, 0x63, 0xdf, 0xf5, 0xfc, 0x92, 0x7a, 0x9e, + 0x1f, 0xa5, 0x21, 0x5f, 0xcf, 0xa7, 0x50, 0x4f, 0x83, 0x28, 0x33, 0xed, + 0x72, 0xbe, 0xac, 0x58, 0xda, 0x9a, 0xe6, 0x7f, 0x3b, 0x2a, 0xf9, 0xc6, + 0x24, 0x91, 0x37, 0xa6, 0x19, 0x3f, 0x5d, 0x78, 0xea, 0x7b, 0xfe, 0x60, + 0x85, 0x4e, 0x6a, 0x58, 0xb9, 0xed, 0xd2, 0xfd, 0xfb, 0xae, 0x76, 0xdf, + 0xf8, 0xba, 0x6f, 0xe6, 0xb7, 0xef, 0x7c, 0x9f, 0xd4, 0xe7, 0x4f, 0x89, + 0x3f, 0xf1, 0xa8, 0xa7, 0xd3, 0x09, 0x0b, 0x52, 0xaa, 0x0f, 0xd3, 0xdf, + 0x2d, 0x2f, 0x58, 0xec, 0xf2, 0x4d, 0x73, 0x73, 0x7c, 0x6d, 0x7f, 0xde, + 0x1f, 0x1c, 0xcc, 0xcd, 0x26, 0x8a, 0x75, 0xbb, 0x4d, 0x81, 0xa7, 0x0d, + 0x43, 0x35, 0x3c, 0x72, 0x3f, 0x1c, 0x3f, 0xb6, 0x6b, 0x5a, 0x59, 0x14, + 0xf0, 0x4e, 0xd6, 0x81, 0x95, 0x3d, 0xdd, 0x0f, 0xdc, 0x72, 0xd3, 0xde, + 0x6f, 0x5c, 0x5b, 0x5f, 0x3b, 0x71, 0x6c, 0x32, 0xfc, 0x85, 0x18, 0xf3, + 0x43, 0xdb, 0x1b, 0xfe, 0xbb, 0x36, 0xd7, 0xe8, 0x75, 0x7a, 0xb0, 0xb4, + 0xd2, 0x54, 0x1d, 0xa7, 0xfc, 0xbd, 0x2c, 0xe5, 0x7c, 0x37, 0xe1, 0xa7, + 0x9e, 0x32, 0x0c, 0xf0, 0x59, 0xe3, 0x84, 0x4c, 0xc3, 0xdc, 0xde, 0x4a, + 0x39, 0x77, 0x02, 0x44, 0x3a, 0xdc, 0xff, 0xe1, 0x00, 0x26, 0xa3, 0xb8, + 0xc3, 0x60, 0xc1, 0x62, 0xbb, 0x63, 0x46, 0x93, 0x09, 0x55, 0xee, 0x59, + 0xd8, 0x63, 0xcf, 0x1e, 0xba, 0x36, 0x3a, 0x9b, 0x17, 0xe1, 0xfe, 0x53, + 0xaa, 0x96, 0x38, 0x56, 0x2a, 0x1f, 0xe1, 0x9c, 0xf2, 0xe8, 0x03, 0x35, + 0xc3, 0x61, 0x1d, 0x78, 0x7a, 0x2b, 0x01, 0xe0, 0x45, 0x31, 0xbe, 0x82, + 0xad, 0x8b, 0x31, 0x45, 0x5e, 0xe1, 0xd5, 0xf2, 0x92, 0xaf, 0x8c, 0x7e, + 0xe1, 0xda, 0xe7, 0x56, 0x7f, 0xa3, 0x2a, 0xf4, 0x8b, 0xf3, 0x6d, 0xb8, + 0x70, 0x12, 0xd6, 0x2e, 0x08, 0xdd, 0xae, 0x7d, 0xef, 0xe2, 0x7c, 0xf4, + 0x7a, 0xf5, 0x0c, 0xbc, 0xf1, 0xaf, 0x19, 0xec, 0x2b, 0x7f, 0x26, 0xc9, + 0xf4, 0x27, 0xaa, 0x9a, 0x57, 0x10, 0xf3, 0x2d, 0x55, 0x1e, 0x6d, 0x9c, + 0xf8, 0xc8, 0x22, 0x1f, 0x79, 0x60, 0x83, 0x83, 0x37, 0xb8, 0x3f, 0x7c, + 0xe9, 0x2b, 0xe4, 0xff, 0xb8, 0xea, 0x3a, 0xfd, 0xf7, 0xa3, 0x21, 0x7f, + 0x52, 0xac, 0xc9, 0x0f, 0x21, 0x9a, 0x47, 0x11, 0x47, 0x22, 0xe1, 0x25, + 0x49, 0xca, 0xcb, 0xfa, 0x7d, 0x9e, 0xd5, 0x9f, 0x43, 0x3a, 0xdd, 0xb0, + 0x88, 0x69, 0x67, 0x86, 0xec, 0xa3, 0x24, 0xd4, 0x13, 0xe2, 0x18, 0x36, + 0x2f, 0x09, 0x0f, 0xdc, 0xa7, 0x6c, 0xae, 0xcf, 0x4a, 0xd0, 0x69, 0x23, + 0x53, 0xeb, 0x0e, 0xc2, 0xb8, 0xda, 0xd2, 0xd7, 0xff, 0x66, 0x63, 0x7b, + 0xfb, 0x84, 0xb5, 0x25, 0xea, 0x39, 0xd5, 0x9d, 0x93, 0xbf, 0x5f, 0x96, + 0xfc, 0xd2, 0xda, 0x1a, 0x7f, 0xef, 0xd2, 0x39, 0xbe, 0xf1, 0xd2, 0x19, + 0xfa, 0x37, 0x3e, 0x3b, 0x8c, 0xa4, 0xf5, 0x8e, 0x9f, 0xa8, 0xe0, 0x6e, + 0xe0, 0xed, 0x4f, 0x2b, 0x03, 0x50, 0x55, 0x66, 0xa3, 0xcd, 0x74, 0xe7, + 0x67, 0xc5, 0x63, 0xa3, 0x30, 0x19, 0x2b, 0xc9, 0x1c, 0xde, 0x2b, 0xde, + 0x1b, 0xc6, 0x5b, 0x98, 0xed, 0xd3, 0x62, 0xb7, 0x27, 0x2e, 0x56, 0xe7, + 0xb3, 0x0b, 0x27, 0x34, 0xbd, 0xf7, 0x43, 0x1b, 0xb1, 0x18, 0x93, 0xd4, + 0x2e, 0x4f, 0xad, 0xd8, 0xd4, 0x18, 0x49, 0xa3, 0x38, 0x4e, 0x93, 0x24, + 0x4e, 0x8b, 0x22, 0x4f, 0x2a, 0x67, 0x3b, 0xa8, 0x74, 0xad, 0x31, 0x1d, + 0x6b, 0x4c, 0x16, 0xc5, 0x51, 0x6a, 0x8d, 0x74, 0x92, 0xd8, 0x74, 0x92, + 0x5e, 0xd2, 0x11, 0x23, 0xdd, 0x4f, 0xfc, 0x51, 0x9c, 0x9c, 0xbb, 0xd7, + 0x1c, 0x8a, 0x12, 0x83, 0xd6, 0x86, 0x81, 0x37, 0xcc, 0xf7, 0x23, 0xac, + 0x89, 0x6f, 0xd1, 0x4d, 0x7e, 0x03, 0x64, 0x64, 0xac, 0x54, 0xf9, 0x64, + 0x1b, 0x73, 0xf5, 0x69, 0x7a, 0x03, 0x7d, 0x6d, 0x9c, 0xf2, 0x9b, 0x55, + 0xc4, 0x8f, 0x25, 0x99, 0x5e, 0x4a, 0xad, 0x7d, 0xd9, 0xfa, 0x25, 0xbe, + 0xe6, 0xdd, 0x6f, 0xd7, 0xa3, 0x59, 0x07, 0xa2, 0x48, 0x6f, 0x59, 0xd9, + 0xcb, 0xdb, 0xdb, 0xdd, 0x1c, 0x37, 0x65, 0xdb, 0x4e, 0x37, 0x2c, 0x5e, + 0xa7, 0x1b, 0x7e, 0xce, 0xb2, 0xb0, 0xa3, 0x93, 0x14, 0x7a, 0x19, 0xab, + 0x51, 0xc2, 0x1b, 0xb7, 0xd7, 0xb9, 0x6b, 0xfd, 0x82, 0xbe, 0xae, 0xdf, + 0xb3, 0xcf, 0xcd, 0x62, 0xae, 0xaa, 0x9c, 0x5e, 0x33, 0x9e, 0xfa, 0x9d, + 0xde, 0x87, 0x51, 0x33, 0xf9, 0x7c, 0x71, 0xb1, 0xfc, 0xe6, 0x61, 0xb1, + 0xfe, 0x9b, 0x26, 0x86, 0x8d, 0x75, 0xf0, 0x95, 0xa7, 0xac, 0xf9, 0x64, + 0xdc, 0x91, 0xef, 0x9e, 0xeb, 0x67, 0x3a, 0x58, 0x98, 0x7e, 0xf7, 0xd2, + 0x4a, 0x30, 0x98, 0x41, 0x5f, 0x64, 0xcf, 0xe2, 0xe0, 0x8e, 0xcb, 0x66, + 0x00, 0xbb, 0xe7, 0xd1, 0xcd, 0x16, 0x4d, 0x1f, 0xb3, 0xa0, 0xcd, 0xbf, + 0xa2, 0xaa, 0x09, 0x4a, 0x82, 0x6a, 0x02, 0xda, 0x01, 0xba, 0x40, 0x07, + 0x91, 0x4e, 0x14, 0x45, 0xdd, 0x24, 0x49, 0x06, 0x20, 0x73, 0x82, 0xf4, + 0x8c, 0x6a, 0xcf, 0x88, 0xe9, 0xc5, 0x49, 0x3c, 0x50, 0xaf, 0x03, 0x44, + 0x06, 0x69, 0x92, 0xf4, 0x9d, 0x73, 0x1d, 0x85, 0xae, 0x40, 0x27, 0xc9, + 0x92, 0x74, 0x49, 0xe7, 0x3a, 0xaa, 0x74, 0x40, 0x33, 0xef, 0x35, 0x42, + 0x34, 0x42, 0xb1, 0x88, 0x58, 0x6b, 0x8c, 0x35, 0x0d, 0xfe, 0x30, 0xc6, + 0x60, 0x4d, 0xb8, 0x67, 0x9e, 0xaa, 0x36, 0xe2, 0x4a, 0xc3, 0xec, 0xf7, + 0x16, 0x31, 0x41, 0x3d, 0x04, 0x06, 0x83, 0x60, 0x6c, 0x68, 0xce, 0xb4, + 0xd6, 0x22, 0xc6, 0x2c, 0x8b, 0x70, 0x87, 0x35, 0x82, 0x35, 0x16, 0x5f, + 0x1f, 0xe2, 0xd4, 0x99, 0x94, 0xe9, 0xfc, 0x31, 0xf6, 0x2f, 0x73, 0x87, + 0x5e, 0x35, 0xbc, 0x43, 0x37, 0xae, 0x2e, 0xfa, 0x93, 0x1b, 0xd3, 0xe1, + 0xe4, 0x51, 0x92, 0xc5, 0x4d, 0xfa, 0x73, 0xb3, 0xb1, 0xb4, 0x51, 0x33, + 0x9b, 0x38, 0x49, 0xc2, 0x6e, 0xef, 0xf5, 0x9a, 0x1d, 0xdf, 0x69, 0x44, + 0x1d, 0x31, 0x24, 0x09, 0xda, 0xef, 0xcb, 0xaf, 0xf7, 0xbb, 0xf2, 0x23, + 0xa5, 0xf3, 0x0f, 0x47, 0x11, 0xf4, 0xfa, 0xf2, 0x9e, 0xf9, 0xf9, 0x98, + 0x3a, 0x8f, 0x7b, 0xa7, 0xcf, 0x55, 0x3f, 0x3b, 0x1a, 0xe6, 0xdf, 0x89, + 0x0f, 0x5e, 0x22, 0xeb, 0x04, 0x03, 0x52, 0xe5, 0x4b, 0xd3, 0xa8, 0x73, + 0xdd, 0x43, 0x0f, 0xe4, 0x0f, 0x7b, 0xaf, 0x8c, 0x27, 0x7a, 0x6d, 0xa7, + 0xcb, 0x1d, 0x2b, 0x7b, 0xf4, 0x75, 0x07, 0x0f, 0xe5, 0x5f, 0xd4, 0x1f, + 0x84, 0xd7, 0xcf, 0xf5, 0x29, 0x0e, 0xee, 0x59, 0x7c, 0xe3, 0x9e, 0xf9, + 0x6b, 0xff, 0xd5, 0x13, 0x09, 0x01, 0xad, 0xfe, 0x56, 0x44, 0xc4, 0xc6, + 0x51, 0x9c, 0x18, 0x63, 0x52, 0x63, 0xa4, 0x93, 0xa6, 0x69, 0x2f, 0x8a, + 0xe3, 0x41, 0x6c, 0xa3, 0xf9, 0xa8, 0x63, 0x17, 0x7c, 0x96, 0x2d, 0xa3, + 0xba, 0x24, 0x22, 0xcb, 0x88, 0xcc, 0x67, 0x9d, 0x6c, 0x49, 0x90, 0x25, + 0x84, 0x39, 0x60, 0xa0, 0x4a, 0xcf, 0x7b, 0xdf, 0xf5, 0xaa, 0x1d, 0x55, + 0x4d, 0xb5, 0xb9, 0x3d, 0x8d, 0xf7, 0x7e, 0x47, 0xcf, 0xee, 0xd5, 0xe3, + 0x9c, 0xc7, 0x35, 0x10, 0xd7, 0x7b, 0x8f, 0xf3, 0x0e, 0xaf, 0x1e, 0x51, + 0xd9, 0x31, 0xb6, 0x50, 0xc8, 0xd1, 0x1d, 0x55, 0x87, 0x20, 0xb3, 0x05, + 0x95, 0xf0, 0x6f, 0x98, 0x42, 0x66, 0x9a, 0x14, 0x51, 0x9a, 0xbb, 0x82, + 0x18, 0x8c, 0x09, 0xe2, 0x0d, 0x6b, 0x2d, 0xd6, 0x1a, 0xac, 0x8d, 0x30, + 0x62, 0x76, 0x68, 0x58, 0x45, 0x49, 0xe2, 0x70, 0x6f, 0x5f, 0x55, 0x98, + 0xe6, 0x05, 0x69, 0x1c, 0x91, 0xc4, 0xcf, 0xe0, 0xc4, 0x23, 0x39, 0xf1, + 0xf5, 0xa7, 0xe9, 0x5e, 0x33, 0xa4, 0xb3, 0x95, 0xa4, 0x5b, 0xe7, 0x17, + 0x88, 0x36, 0x13, 0x4e, 0xdf, 0x73, 0x9c, 0xed, 0x5e, 0xc5, 0xca, 0x21, + 0xe8, 0x1e, 0xda, 0x0a, 0xf7, 0x11, 0x6c, 0x1a, 0x3b, 0xb2, 0x2c, 0xfc, + 0x77, 0xd6, 0x0b, 0x1e, 0x21, 0x4b, 0xa1, 0xdb, 0x93, 0x77, 0xc6, 0x89, + 0xbe, 0x31, 0x8b, 0xe5, 0x3d, 0x65, 0x09, 0xc7, 0x8f, 0xc3, 0xc5, 0xb3, + 0x90, 0x58, 0x50, 0xe7, 0xe9, 0x64, 0x93, 0xf1, 0xde, 0xfd, 0xfe, 0xdf, + 0x4f, 0x0b, 0xbe, 0x3d, 0x2f, 0xb0, 0x69, 0x0a, 0xdd, 0x5e, 0xd0, 0x39, + 0x94, 0x05, 0x9d, 0xbb, 0xef, 0xaa, 0xfe, 0xee, 0xf6, 0xb6, 0xbe, 0xff, + 0xc0, 0x01, 0xbe, 0x75, 0x71, 0x99, 0x57, 0x2d, 0x2e, 0x33, 0x08, 0xde, + 0x25, 0x4c, 0x59, 0x59, 0x18, 0xd8, 0xdf, 0x5b, 0xe8, 0xa7, 0xff, 0x3c, + 0x4d, 0x92, 0x0f, 0x3d, 0x5e, 0x61, 0x48, 0x64, 0x8c, 0x31, 0x69, 0x92, + 0x92, 0xc4, 0xb1, 0x41, 0xc4, 0xa2, 0xc4, 0x88, 0xa4, 0x46, 0xe8, 0x74, + 0xd3, 0x4e, 0x4f, 0x84, 0x81, 0x88, 0xcc, 0x4b, 0xb7, 0x37, 0xaf, 0xaa, + 0x8b, 0xaa, 0xba, 0x20, 0xc8, 0x02, 0xc2, 0x82, 0xaa, 0xce, 0xa3, 0x3a, + 0xef, 0x55, 0xe7, 0x80, 0xbe, 0x42, 0x47, 0x55, 0x33, 0x94, 0x54, 0xf1, + 0x89, 0x7a, 0x55, 0xaf, 0x5a, 0xaa, 0xf7, 0xde, 0x18, 0x6b, 0x54, 0xbd, + 0xa8, 0xaa, 0x51, 0xd4, 0x78, 0xaf, 0xd2, 0x2c, 0xaa, 0xd4, 0x2e, 0x0c, + 0x78, 0xf1, 0xde, 0x37, 0xde, 0x25, 0x2c, 0x8d, 0x34, 0xfd, 0x56, 0xa1, + 0xfb, 0x37, 0x2c, 0xf4, 0x6c, 0x34, 0x8c, 0x34, 0x46, 0xa4, 0x0d, 0xe7, + 0x2e, 0x24, 0x71, 0x44, 0x92, 0x24, 0x58, 0x63, 0x28, 0xaa, 0x82, 0xba, + 0xae, 0xc8, 0xa7, 0x53, 0x6a, 0x57, 0xd1, 0xcd, 0x7a, 0xec, 0x59, 0x5a, + 0xa6, 0xa8, 0x6a, 0xd2, 0x24, 0x25, 0x4b, 0x32, 0x86, 0xe3, 0xd0, 0x1a, + 0x9f, 0x26, 0x11, 0x91, 0x8d, 0xf0, 0x28, 0x5b, 0xdb, 0xdb, 0x64, 0x71, + 0x4a, 0x1a, 0x39, 0xb6, 0xb6, 0x6e, 0xc6, 0x9e, 0x38, 0xc0, 0x9e, 0xdb, + 0xb6, 0x19, 0x66, 0x2b, 0x24, 0x7b, 0x12, 0x54, 0x2a, 0x2e, 0xae, 0xce, + 0xe3, 0x37, 0x2c, 0x6e, 0x79, 0x48, 0xd2, 0xd9, 0xa2, 0x3b, 0x08, 0x8b, + 0xdf, 0x6d, 0xe2, 0x7d, 0xd6, 0x0d, 0x95, 0xbb, 0x34, 0x61, 0x7b, 0x6b, + 0x4b, 0xbe, 0xfb, 0xdc, 0x59, 0x7e, 0x63, 0x73, 0x1d, 0xea, 0x52, 0x39, + 0x73, 0x4a, 0x79, 0xe4, 0x91, 0x40, 0x7f, 0x77, 0x33, 0xa5, 0xae, 0x4b, + 0xe6, 0x16, 0xe0, 0xa5, 0x2f, 0xee, 0x7c, 0xe4, 0xc0, 0xa1, 0xf2, 0x7d, + 0x17, 0x2e, 0xb8, 0x57, 0xaa, 0x0f, 0x00, 0x75, 0x3a, 0x85, 0x75, 0x20, + 0xe9, 0xd4, 0x3f, 0x78, 0xf3, 0x6d, 0xfc, 0x60, 0x7f, 0x6e, 0x86, 0x29, + 0xba, 0x99, 0xe4, 0x36, 0x92, 0xb7, 0x0d, 0x3a, 0xe6, 0xdf, 0x76, 0xd2, + 0xe8, 0x5d, 0x56, 0x2c, 0x9f, 0xcb, 0x04, 0xd1, 0xc8, 0x06, 0xe5, 0x61, + 0x28, 0xaa, 0x89, 0x18, 0x11, 0x8c, 0x57, 0x15, 0x41, 0x54, 0x55, 0x1d, + 0x50, 0x02, 0x53, 0x94, 0x58, 0x95, 0x18, 0xb0, 0x5e, 0xbd, 0x15, 0x15, + 0x63, 0x8c, 0x88, 0x8a, 0x31, 0xbb, 0x24, 0x77, 0xba, 0xcb, 0x93, 0x98, + 0xf0, 0xc6, 0x62, 0x5a, 0x5d, 0xa3, 0x73, 0xce, 0xaa, 0x2a, 0x62, 0x44, + 0x55, 0x55, 0x9c, 0xf7, 0xd4, 0x75, 0x4d, 0x9a, 0xa0, 0xce, 0x85, 0x89, + 0x27, 0xaa, 0x8a, 0x69, 0x1a, 0xeb, 0xe2, 0x28, 0xc2, 0x79, 0x8f, 0xab, + 0x83, 0xbc, 0xb8, 0xaa, 0x2b, 0x8a, 0xaa, 0x02, 0x51, 0x92, 0x34, 0xa5, + 0xd3, 0xed, 0x62, 0x6c, 0xc4, 0x64, 0x32, 0xa5, 0x28, 0x0a, 0x8c, 0x31, + 0x0c, 0xfa, 0x3d, 0x3a, 0x59, 0xc6, 0xf6, 0x68, 0xc4, 0x74, 0x3a, 0x02, + 0x3c, 0x5a, 0x47, 0x74, 0xb3, 0x8c, 0x24, 0x49, 0xc8, 0xb2, 0x0e, 0x82, + 0xa0, 0x08, 0x59, 0x1a, 0xd2, 0x51, 0x05, 0x5c, 0x1d, 0x21, 0x0a, 0xfb, + 0xe6, 0x0f, 0xb2, 0x95, 0xaf, 0x71, 0xcf, 0xd9, 0x0f, 0x43, 0x56, 0xb0, + 0x37, 0xfb, 0x12, 0x92, 0x47, 0xf6, 0x33, 0x17, 0x8f, 0xa8, 0xcd, 0x26, + 0x1b, 0x1b, 0x5b, 0x0c, 0xab, 0x0d, 0x56, 0xae, 0x2d, 0x59, 0x7a, 0xc6, + 0x98, 0xc5, 0xe5, 0xe0, 0xf2, 0x3b, 0x8d, 0xdb, 0xef, 0x0d, 0x60, 0x6e, + 0x0e, 0xaa, 0xd5, 0x25, 0x3e, 0xf0, 0x07, 0x99, 0xfb, 0xc4, 0xc9, 0xd5, + 0xbd, 0x53, 0x5b, 0xde, 0xd8, 0x4d, 0x79, 0xc8, 0x79, 0xa5, 0xdb, 0x9d, + 0xa9, 0x94, 0x1a, 0xf5, 0xd4, 0x60, 0x6b, 0x8b, 0x3d, 0x7f, 0xfc, 0xee, + 0xfc, 0xba, 0xc5, 0x05, 0x95, 0x56, 0x0f, 0xd8, 0xeb, 0x07, 0x0f, 0xd0, + 0xeb, 0x87, 0x05, 0xb7, 0x51, 0x48, 0x0b, 0x7b, 0x3d, 0x39, 0x1d, 0xc7, + 0xfc, 0x66, 0xaf, 0xc3, 0x7f, 0xac, 0x6a, 0xb9, 0xd7, 0x9a, 0xa0, 0x43, + 0xfc, 0x5c, 0x45, 0x41, 0x51, 0x9c, 0x24, 0x20, 0x2a, 0xa2, 0x12, 0xee, + 0x20, 0x26, 0xa8, 0x09, 0xf7, 0xa7, 0xf1, 0xaa, 0x38, 0xc2, 0x2d, 0xf0, + 0xca, 0xc0, 0x87, 0x92, 0x8b, 0x98, 0xd4, 0x18, 0x33, 0xb1, 0xd6, 0xa6, + 0x22, 0x92, 0xaa, 0xea, 0x44, 0x55, 0x63, 0xef, 0x7d, 0x0c, 0x1a, 0x03, + 0x89, 0x88, 0xa9, 0xf0, 0x1a, 0x57, 0xae, 0xb6, 0x65, 0x59, 0xfa, 0xaa, + 0x2c, 0xbd, 0x8d, 0x22, 0x93, 0x24, 0x89, 0x26, 0x71, 0xac, 0x8a, 0x4a, + 0xed, 0x9c, 0x0a, 0xb2, 0x13, 0x16, 0x6a, 0x57, 0x23, 0x84, 0x5d, 0x6e, + 0x1a, 0xf7, 0x1d, 0xb8, 0x88, 0x1a, 0x8d, 0xa2, 0xc0, 0x4f, 0x58, 0x43, + 0xdc, 0x34, 0x06, 0xa6, 0x59, 0x4a, 0xb7, 0xdb, 0xa5, 0x76, 0x0e, 0xd3, + 0xed, 0x30, 0xe8, 0xf6, 0x88, 0x23, 0x1b, 0xd2, 0xb1, 0x22, 0x27, 0x89, + 0x0c, 0x49, 0x7f, 0x8e, 0x28, 0x8a, 0x30, 0x4d, 0xa7, 0xad, 0xf7, 0xf8, + 0xb2, 0x28, 0x47, 0xaa, 0x5c, 0x44, 0xb8, 0x68, 0x8d, 0x39, 0x5b, 0xd6, + 0xee, 0xd1, 0xa4, 0x23, 0x17, 0xb2, 0xfd, 0xa7, 0xbe, 0xb7, 0xf6, 0xc5, + 0x75, 0x5b, 0xc5, 0x84, 0xb3, 0xd1, 0x27, 0xd8, 0xf7, 0xa2, 0x21, 0x87, + 0xae, 0xe2, 0xe1, 0xc9, 0xf9, 0xf7, 0x76, 0x86, 0xe7, 0x6f, 0x3b, 0x88, + 0xc2, 0xf9, 0xf1, 0x19, 0xb6, 0x06, 0xf7, 0x70, 0xcd, 0xf5, 0x05, 0x07, + 0x8e, 0xc2, 0x60, 0xae, 0x71, 0xd5, 0x3d, 0x48, 0xba, 0x41, 0xaf, 0xd7, + 0xad, 0xf7, 0xb0, 0xf5, 0xd1, 0x67, 0x71, 0xfc, 0xce, 0x39, 0xca, 0xb5, + 0x7c, 0xf1, 0x50, 0xbd, 0xf1, 0xb3, 0x05, 0xab, 0xd3, 0x61, 0x7d, 0xe6, + 0x8f, 0xb5, 0x97, 0xbf, 0xbf, 0xdf, 0xe3, 0x48, 0xb7, 0xc3, 0xbc, 0x08, + 0x03, 0x6b, 0x58, 0xb1, 0x96, 0xbd, 0x69, 0xc6, 0xde, 0x34, 0xd5, 0x6e, + 0xda, 0x99, 0xc5, 0xfe, 0xac, 0xdb, 0xf0, 0x04, 0x4d, 0x56, 0x90, 0x26, + 0x7c, 0x72, 0xbe, 0x17, 0xff, 0x4b, 0x6f, 0x78, 0x6b, 0x5e, 0xd6, 0x6b, + 0x5e, 0x1f, 0x3b, 0x14, 0xfb, 0x73, 0xa6, 0x82, 0xd5, 0xb9, 0x66, 0x92, + 0x86, 0xaa, 0x88, 0xa8, 0x0f, 0xcd, 0xda, 0x1e, 0xd5, 0x5a, 0x8c, 0xa9, + 0x80, 0x48, 0x44, 0x4a, 0x63, 0xed, 0x34, 0x8e, 0xe3, 0xc8, 0x84, 0x99, + 0x32, 0x91, 0x31, 0x26, 0x56, 0xaf, 0x89, 0xf7, 0x3e, 0x72, 0xde, 0x25, + 0x22, 0x92, 0xc4, 0x71, 0x52, 0x00, 0x49, 0x55, 0x57, 0xf1, 0xa4, 0x9c, + 0x56, 0xe3, 0xf1, 0xd8, 0xa2, 0x98, 0x6e, 0xaf, 0x6b, 0x7b, 0xbd, 0x9e, + 0x46, 0x51, 0xa4, 0xce, 0x7b, 0xdd, 0x91, 0xed, 0x80, 0x44, 0x36, 0x52, + 0x57, 0x3b, 0x63, 0x6b, 0x83, 0xf7, 0x3e, 0xec, 0xfe, 0x66, 0xf1, 0x93, + 0x38, 0x22, 0x4d, 0xd3, 0x80, 0x11, 0x50, 0xac, 0xb1, 0x0d, 0xb0, 0xa3, + 0xc9, 0x18, 0x94, 0x28, 0xb6, 0x48, 0x9c, 0x36, 0x46, 0x43, 0x2e, 0x62, + 0x56, 0xeb, 0xba, 0x5e, 0xf3, 0xea, 0xcf, 0xa3, 0x9c, 0x71, 0xce, 0x9f, + 0x74, 0x75, 0x79, 0x46, 0xc4, 0x9c, 0x1e, 0x6e, 0x8f, 0x2e, 0x56, 0xce, + 0x5d, 0x10, 0x91, 0xf5, 0x28, 0xb2, 0xd3, 0x7e, 0xb7, 0x43, 0x55, 0xd6, + 0xd8, 0xac, 0xa6, 0xba, 0xf6, 0x9d, 0xbf, 0xee, 0x6d, 0xf5, 0x4d, 0x59, + 0xc5, 0x4b, 0x6f, 0x4d, 0x99, 0xef, 0x76, 0xec, 0xfb, 0x1d, 0xfa, 0xff, + 0xdc, 0xb7, 0x76, 0xec, 0xab, 0x36, 0xb2, 0x63, 0xff, 0x41, 0x3c, 0xc4, + 0xd7, 0xc0, 0xad, 0xbd, 0xe6, 0x56, 0x32, 0x9d, 0xc0, 0x1f, 0x24, 0x09, + 0x74, 0xfb, 0x3c, 0xda, 0x33, 0x4b, 0x9b, 0xe5, 0xa7, 0x5e, 0x78, 0xdb, + 0xc5, 0xe3, 0x57, 0x45, 0xbe, 0x4e, 0xd9, 0xb3, 0x38, 0xa4, 0xdf, 0xcd, + 0x71, 0x7e, 0x01, 0xd1, 0x6b, 0x3b, 0xa7, 0xce, 0x9d, 0x7d, 0xed, 0x23, + 0x67, 0xee, 0x79, 0xed, 0xd6, 0xf2, 0x06, 0x7b, 0xf6, 0x06, 0x8f, 0x11, + 0x35, 0xc0, 0xb1, 0x7d, 0xaf, 0xac, 0xc1, 0x10, 0xdd, 0x7e, 0x73, 0xf7, + 0x93, 0x66, 0xa2, 0x99, 0x2a, 0xa4, 0xa9, 0x7c, 0xcc, 0x18, 0x7e, 0xb5, + 0x6a, 0xe6, 0x0e, 0x5e, 0xb6, 0x41, 0x91, 0xc6, 0x5a, 0x44, 0x44, 0x8d, + 0x31, 0x22, 0x22, 0x5e, 0x44, 0x04, 0xc5, 0x89, 0x88, 0x88, 0x60, 0x54, + 0x55, 0x14, 0x44, 0xbd, 0x17, 0xef, 0x6a, 0xe3, 0xbd, 0x04, 0xac, 0xe0, + 0xd4, 0x3a, 0xef, 0xe3, 0xda, 0xd5, 0xb6, 0xae, 0xeb, 0x54, 0x8c, 0x24, + 0x18, 0x8d, 0xd3, 0x6e, 0x27, 0x89, 0x8c, 0x26, 0xa6, 0xb4, 0x51, 0x14, + 0x45, 0x35, 0xde, 0x47, 0xea, 0xbd, 0xcf, 0xa7, 0x53, 0x9f, 0x44, 0xb1, + 0x49, 0x93, 0x04, 0x31, 0xd6, 0x9b, 0x48, 0x8c, 0x08, 0x2a, 0x62, 0xc4, + 0x7b, 0x4f, 0x9c, 0x24, 0x68, 0x20, 0x52, 0x02, 0x72, 0x6f, 0x62, 0x7c, + 0xed, 0x6a, 0x8c, 0x18, 0xc4, 0xd8, 0x89, 0x11, 0x59, 0xab, 0xeb, 0x7a, + 0xd5, 0x39, 0x77, 0x4e, 0xd0, 0x73, 0x55, 0xed, 0xce, 0x0a, 0x9c, 0xb5, + 0xd6, 0x9e, 0xb7, 0x51, 0x74, 0x11, 0xe5, 0x82, 0xf3, 0xe5, 0x9a, 0x08, + 0xa3, 0xda, 0xb9, 0x5a, 0x50, 0xea, 0x66, 0x42, 0x63, 0x14, 0x45, 0xf8, + 0x86, 0x2e, 0x0c, 0x1a, 0x05, 0x69, 0x48, 0xaa, 0x10, 0x6e, 0x44, 0x93, + 0x33, 0x49, 0x54, 0xfd, 0xab, 0xfe, 0x00, 0xe6, 0x7b, 0x96, 0xa2, 0xb0, + 0xac, 0x6e, 0xd4, 0x2c, 0x2d, 0xf0, 0xab, 0x07, 0x0f, 0xd2, 0xad, 0x6b, + 0xfe, 0xa9, 0x81, 0xfd, 0xe8, 0xce, 0x8d, 0xaa, 0xaa, 0xb8, 0xc3, 0xfb, + 0xd2, 0x94, 0xff, 0x9c, 0x65, 0xfc, 0x36, 0x27, 0xae, 0x1f, 0x4e, 0x1f, + 0x7a, 0xee, 0x2d, 0x36, 0xde, 0x7e, 0xd9, 0xa5, 0xed, 0x73, 0x77, 0x88, + 0xc8, 0x2b, 0x6b, 0xe7, 0xf6, 0xa4, 0x71, 0xcc, 0xe2, 0xe2, 0x00, 0xe7, + 0x57, 0xb8, 0x70, 0xcf, 0x51, 0x2e, 0xac, 0x0a, 0x73, 0xf3, 0x9b, 0x2c, + 0xec, 0xf1, 0x74, 0x9b, 0x7b, 0x12, 0xf5, 0x07, 0x41, 0xf0, 0x91, 0x24, + 0xe4, 0xbd, 0x9e, 0x7d, 0xb0, 0x2e, 0xfd, 0x33, 0x47, 0x9b, 0x6a, 0x36, + 0x9a, 0x46, 0x96, 0x4e, 0x17, 0x10, 0x7d, 0xa9, 0xa8, 0xef, 0x00, 0xd3, + 0x58, 0x2c, 0x91, 0x28, 0x1e, 0x79, 0xc2, 0x5e, 0x20, 0x4a, 0xd3, 0x74, + 0x27, 0x39, 0x57, 0x15, 0x51, 0x75, 0x1e, 0xd4, 0x21, 0x06, 0xaf, 0x4a, + 0xed, 0x1c, 0xb5, 0xab, 0x1b, 0xd9, 0x91, 0x8a, 0xb5, 0x91, 0x58, 0x6b, + 0x8c, 0x31, 0xc6, 0x44, 0x36, 0x8a, 0x93, 0x38, 0x4e, 0xbc, 0xd7, 0x44, + 0xbd, 0x8f, 0xad, 0xd8, 0xd8, 0xd4, 0x9a, 0x19, 0x89, 0xd2, 0xb9, 0x6e, + 0x3f, 0x1a, 0x74, 0x7a, 0x31, 0xe0, 0x54, 0x31, 0xce, 0xbb, 0xa8, 0xd1, + 0x3e, 0x26, 0xa8, 0x12, 0x37, 0x37, 0x49, 0x12, 0x81, 0x6e, 0x27, 0xc3, + 0x18, 0x33, 0x74, 0x75, 0xbd, 0xe1, 0xbc, 0x5e, 0x10, 0xe1, 0x0c, 0xca, + 0xa9, 0xaa, 0x2c, 0x4f, 0x46, 0xc6, 0x9e, 0x51, 0xf5, 0xa7, 0xab, 0xaa, + 0x3c, 0x93, 0x75, 0x7b, 0x1b, 0x55, 0x5d, 0x6f, 0x55, 0x75, 0xed, 0x23, + 0x03, 0xea, 0x3d, 0x55, 0x5d, 0x93, 0xa6, 0x69, 0xb8, 0x35, 0xf9, 0x9f, + 0x61, 0x20, 0xa5, 0x75, 0x34, 0x9f, 0x25, 0x5f, 0xd1, 0x74, 0xf0, 0xee, + 0x12, 0x6b, 0x6a, 0x98, 0xc7, 0xf6, 0xa6, 0x38, 0xe5, 0x7f, 0xf4, 0xfb, + 0xbc, 0xde, 0xc3, 0x92, 0x81, 0x63, 0x62, 0xb9, 0x2f, 0x49, 0xb8, 0x6f, + 0x56, 0xea, 0x76, 0x60, 0x8b, 0x7b, 0xf2, 0x62, 0x72, 0xcf, 0x74, 0x32, + 0xfd, 0xf9, 0xb2, 0xac, 0xf7, 0x7b, 0x63, 0x5e, 0x97, 0x75, 0xcb, 0x9f, + 0x76, 0x6b, 0x51, 0xdf, 0xda, 0x84, 0x7a, 0xee, 0x22, 0x07, 0x6e, 0xda, + 0xe4, 0xd0, 0x35, 0x9e, 0xb9, 0xc5, 0x40, 0x43, 0xf7, 0xe7, 0x19, 0x26, + 0x09, 0x77, 0x77, 0x62, 0xfb, 0x36, 0xac, 0xfc, 0xee, 0x68, 0x28, 0x0f, + 0x9e, 0x3a, 0xae, 0xef, 0x2d, 0x2a, 0xbd, 0xbd, 0xd3, 0x09, 0xde, 0xc0, + 0x85, 0x22, 0xd6, 0xd5, 0xfb, 0xe6, 0xd3, 0x1b, 0x23, 0x23, 0x77, 0xcf, + 0xc4, 0xb7, 0x9e, 0xc2, 0xd5, 0x44, 0xc6, 0xec, 0x64, 0x42, 0xf2, 0x38, + 0x7b, 0xc5, 0xa2, 0xba, 0x2c, 0x55, 0xa4, 0x69, 0xbf, 0xd7, 0x66, 0x74, + 0xa2, 0x08, 0x91, 0x88, 0x46, 0xd6, 0xaa, 0xb5, 0x56, 0x53, 0x4d, 0xbc, + 0xd7, 0xa0, 0xfe, 0x6b, 0x3c, 0x85, 0xb1, 0xd6, 0x5a, 0x81, 0x08, 0x91, + 0xd8, 0x88, 0x44, 0x0a, 0xa9, 0x73, 0xae, 0xa3, 0xaa, 0x95, 0x57, 0xaf, + 0x22, 0x12, 0x19, 0x31, 0x99, 0x47, 0xbb, 0xa8, 0x46, 0x69, 0x14, 0xd7, + 0xd6, 0xda, 0x55, 0x54, 0xd7, 0x05, 0xce, 0x8a, 0x98, 0x93, 0x46, 0xf4, + 0x11, 0x45, 0x4e, 0xa8, 0xea, 0x23, 0xde, 0xbb, 0x73, 0x46, 0x64, 0x3d, + 0x8a, 0xe3, 0x2d, 0xaf, 0x35, 0xde, 0xf9, 0x46, 0x53, 0xd8, 0xec, 0xd0, + 0x4f, 0x5b, 0xd8, 0x9d, 0x94, 0x50, 0xe4, 0xf3, 0xc0, 0x64, 0x81, 0x2a, + 0x67, 0xc5, 0xf2, 0xa6, 0x30, 0xd1, 0x62, 0x66, 0x30, 0x9f, 0xfe, 0xf1, + 0x22, 0xa1, 0xa1, 0xb0, 0x3b, 0x3f, 0x39, 0xbf, 0xf8, 0xc2, 0x4f, 0xfc, + 0xc2, 0xea, 0xd6, 0xf0, 0x3b, 0x2e, 0x9c, 0x9a, 0x7b, 0xb1, 0x8f, 0x72, + 0xae, 0x7b, 0xd5, 0x16, 0xcb, 0x2b, 0xe1, 0x0e, 0xa3, 0x83, 0x01, 0x14, + 0x17, 0xf7, 0x73, 0xf1, 0xe1, 0xde, 0x3f, 0x59, 0x3c, 0x58, 0xfc, 0x5c, + 0xb6, 0xb7, 0x26, 0x5e, 0xda, 0xc0, 0x8d, 0x61, 0xd0, 0x35, 0xff, 0xa9, + 0xdc, 0x2e, 0x6e, 0xdf, 0x2d, 0x74, 0x29, 0x2b, 0xec, 0xfa, 0xb8, 0x78, + 0x7e, 0x1a, 0xcb, 0xdd, 0x3b, 0x3a, 0x85, 0xe6, 0xc3, 0x2b, 0x57, 0x33, + 0xa9, 0x3c, 0xa9, 0x8f, 0x89, 0xed, 0xe3, 0xeb, 0xf6, 0x8e, 0x92, 0xd6, + 0x03, 0x04, 0xf9, 0x95, 0x7a, 0x8f, 0x68, 0xb8, 0x99, 0x9f, 0xaa, 0x57, + 0x75, 0x5e, 0xd5, 0xab, 0x57, 0x55, 0x55, 0xd3, 0x5c, 0xf8, 0x10, 0x1d, + 0x34, 0x42, 0x4c, 0xea, 0x9c, 0x2b, 0xac, 0x31, 0x95, 0x88, 0x14, 0x5e, + 0xfd, 0xd8, 0xab, 0x16, 0x02, 0x67, 0x8c, 0xb1, 0x23, 0x23, 0x72, 0x09, + 0xaf, 0x17, 0x9d, 0x77, 0xa7, 0xa2, 0x28, 0x39, 0x2b, 0xc2, 0x25, 0x63, + 0xec, 0x9a, 0xaa, 0x96, 0xb3, 0x61, 0x2a, 0x7a, 0x59, 0x06, 0x1d, 0x7c, + 0x5e, 0x8e, 0xcf, 0xf2, 0x34, 0xbd, 0x17, 0x3a, 0x0b, 0x39, 0xcf, 0x78, + 0xce, 0x98, 0xf3, 0xab, 0xc5, 0x37, 0x5c, 0x38, 0x74, 0xe1, 0x1f, 0xc6, + 0x96, 0x1b, 0x3b, 0x09, 0x67, 0x3b, 0xa9, 0x3c, 0x1b, 0x67, 0x6f, 0x1b, + 0x3e, 0x74, 0xab, 0x5d, 0xbd, 0xf7, 0x59, 0xd4, 0x75, 0xf5, 0x8f, 0x8b, + 0xe3, 0x9c, 0x5b, 0x8f, 0xe5, 0xb7, 0xd2, 0x95, 0xb3, 0x1c, 0x78, 0xee, + 0x7d, 0x24, 0x73, 0xfa, 0xdb, 0x9b, 0x5b, 0xd5, 0x8f, 0x3b, 0xe7, 0x97, + 0xda, 0x22, 0x97, 0x57, 0x18, 0x4e, 0xdd, 0x8b, 0x27, 0x25, 0xbf, 0xf2, + 0x99, 0x3e, 0x77, 0x92, 0x17, 0x6c, 0x0e, 0xd7, 0x1f, 0xe7, 0x7c, 0x80, + 0xb2, 0x24, 0xb2, 0x11, 0x4e, 0xbd, 0x7a, 0xe7, 0x1a, 0x56, 0x4d, 0x5c, + 0xad, 0x08, 0x8a, 0x1a, 0x23, 0x3e, 0x89, 0x22, 0x1f, 0x78, 0x9c, 0x76, + 0xf0, 0x1a, 0xde, 0x2b, 0xa5, 0x41, 0x37, 0x23, 0x63, 0x1e, 0x31, 0x46, + 0x2a, 0x44, 0x26, 0x96, 0x68, 0xa2, 0xea, 0x87, 0xd6, 0x9a, 0xb1, 0x2a, + 0xde, 0x35, 0xc8, 0xbe, 0xfd, 0xdf, 0x5f, 0xa5, 0x43, 0xbd, 0x04, 0x69, + 0x9c, 0x37, 0x27, 0xe2, 0xc8, 0x7f, 0x7f, 0x1c, 0x87, 0xbb, 0xa0, 0x74, + 0x3b, 0x1a, 0xaf, 0x7e, 0xf2, 0xf0, 0xb3, 0xa7, 0x9f, 0x7a, 0xd1, 0x3f, + 0x3f, 0x7c, 0xa4, 0xfb, 0x1a, 0x1b, 0xc9, 0xfe, 0xad, 0xad, 0xed, 0xdf, + 0x74, 0x85, 0xfb, 0xe1, 0xf5, 0xe3, 0xfb, 0x7f, 0x66, 0x5a, 0x6c, 0x73, + 0xe8, 0xf9, 0x8f, 0x9c, 0xcf, 0x92, 0xf4, 0x77, 0x47, 0xe5, 0xf4, 0x3b, + 0x3a, 0xed, 0x4d, 0xab, 0xc2, 0x40, 0xac, 0x17, 0xf4, 0x53, 0xac, 0x0f, + 0xd9, 0xd9, 0x13, 0xb3, 0xd2, 0x5d, 0x4c, 0xa0, 0x7a, 0xf5, 0x88, 0xb1, + 0xd2, 0x49, 0x53, 0x50, 0x55, 0xe7, 0x6a, 0x62, 0x91, 0xa6, 0xd7, 0x46, + 0xc5, 0x39, 0xe7, 0xbc, 0xd7, 0x2a, 0x89, 0x93, 0x89, 0x77, 0x15, 0x26, + 0xb2, 0xde, 0x88, 0xf1, 0xad, 0xaa, 0x46, 0x4c, 0xc8, 0xab, 0x1f, 0x33, + 0xb0, 0xe9, 0xca, 0xf1, 0x18, 0x6c, 0xd1, 0x3e, 0x10, 0x2a, 0x21, 0xfa, + 0xa8, 0x77, 0xd5, 0x97, 0xf9, 0xaa, 0xfa, 0x81, 0x5e, 0x67, 0xf0, 0xc6, + 0xde, 0xbe, 0xfd, 0x83, 0xd1, 0x70, 0xf8, 0xd3, 0x93, 0xe9, 0xb4, 0x7b, + 0xe6, 0xfe, 0x3d, 0x3f, 0x1e, 0x2d, 0x6c, 0x12, 0x2d, 0x5d, 0xfc, 0x0f, + 0xbe, 0xe6, 0xdb, 0xd1, 0xa6, 0x71, 0x3f, 0xcc, 0x1f, 0xb8, 0x51, 0x2d, + 0x47, 0x54, 0x79, 0xf4, 0xb2, 0x15, 0xe7, 0x76, 0x84, 0x01, 0xc6, 0x68, + 0x1c, 0x45, 0x5a, 0x56, 0xa5, 0xaa, 0xa2, 0x21, 0x04, 0x38, 0x8f, 0xe2, + 0xbc, 0xf3, 0xce, 0x7b, 0x5f, 0x13, 0x26, 0xdf, 0xd5, 0x12, 0x6e, 0xf4, + 0x79, 0xe5, 0x78, 0x22, 0xb1, 0x44, 0x84, 0xc8, 0x46, 0x3f, 0x2b, 0x4e, + 0xbf, 0x2c, 0x8d, 0xd2, 0x13, 0x59, 0xda, 0x61, 0xef, 0xde, 0x95, 0x1f, + 0x4b, 0x92, 0xe4, 0x87, 0xcf, 0xde, 0x7b, 0x90, 0x72, 0xca, 0xfb, 0x55, + 0xe5, 0xce, 0xda, 0xcd, 0x6e, 0x8c, 0x51, 0xd6, 0xf4, 0xbc, 0xe3, 0xb9, + 0xa6, 0xd9, 0x9a, 0x9f, 0xe9, 0xf1, 0x39, 0x19, 0xc0, 0xa7, 0x17, 0x7f, + 0xae, 0x1c, 0x9f, 0x9f, 0x2a, 0xa9, 0x35, 0xe6, 0x03, 0xb1, 0x35, 0xaf, + 0x89, 0x6d, 0x74, 0x6f, 0x12, 0x25, 0x1c, 0x39, 0xbc, 0xef, 0xa7, 0x86, + 0xab, 0xf1, 0xdf, 0x3c, 0xf3, 0xc9, 0xa5, 0x5a, 0x55, 0x7f, 0xad, 0xed, + 0x58, 0x6e, 0xb3, 0x93, 0x08, 0x5e, 0x90, 0x45, 0x90, 0xd9, 0xcf, 0xfc, + 0xf8, 0x9c, 0x0d, 0xe0, 0xca, 0xf1, 0x54, 0xf8, 0x02, 0xc5, 0x18, 0xf3, + 0xd0, 0xa1, 0xc3, 0x87, 0xbf, 0xa2, 0xdf, 0xed, 0xde, 0xdf, 0xeb, 0x74, + 0x64, 0x79, 0x79, 0xee, 0x97, 0x2f, 0x3d, 0xb4, 0x74, 0x5b, 0x3e, 0x8a, + 0x7f, 0x0d, 0xd8, 0x92, 0x5d, 0xd1, 0x3d, 0xaf, 0x79, 0xd6, 0xc4, 0xc1, + 0xf4, 0x2f, 0x78, 0x5c, 0x31, 0x80, 0x2f, 0x28, 0xb0, 0xe8, 0xf1, 0x5e, + 0x89, 0x93, 0xe4, 0xd4, 0xca, 0x9e, 0x95, 0xaf, 0x4d, 0xa2, 0xe8, 0x4c, + 0xbf, 0xdf, 0xe9, 0x59, 0xdf, 0x7d, 0x13, 0x97, 0x8e, 0xae, 0xd9, 0x88, + 0xf7, 0xb6, 0x0d, 0x33, 0x4d, 0x0f, 0xe1, 0xcd, 0x75, 0x4d, 0xb7, 0x72, + 0x61, 0x62, 0xd9, 0x9f, 0xf7, 0xb8, 0x62, 0x00, 0x5f, 0x20, 0xee, 0x1f, + 0x20, 0xeb, 0xf6, 0x88, 0xd3, 0x94, 0xda, 0x7b, 0xa2, 0x24, 0xbe, 0x7f, + 0x65, 0x65, 0xcf, 0x77, 0xce, 0xf7, 0xfb, 0xba, 0xb0, 0x38, 0x78, 0x85, + 0x6e, 0x1f, 0xf9, 0x76, 0xd1, 0xe8, 0xcd, 0xbb, 0xc1, 0xbd, 0xf7, 0x1c, + 0x11, 0xe1, 0xb0, 0x6d, 0x46, 0xd1, 0xfe, 0x79, 0x8f, 0x2b, 0x06, 0xf0, + 0x34, 0x3f, 0xbc, 0x7a, 0xe2, 0x38, 0x66, 0x6e, 0x7e, 0x81, 0xa5, 0x03, + 0x07, 0xe9, 0x2e, 0x2c, 0x86, 0xbb, 0xa4, 0x27, 0x31, 0x4b, 0x07, 0x0e, + 0xfe, 0xc1, 0xe2, 0xf2, 0xf2, 0x2f, 0x2e, 0x2c, 0xf4, 0x48, 0xfd, 0xca, + 0x4f, 0xe8, 0xc6, 0x55, 0x8f, 0x4a, 0xc4, 0xe6, 0x8e, 0x1c, 0xdc, 0x93, + 0x46, 0x86, 0x5b, 0xc2, 0x20, 0xe9, 0x3f, 0xff, 0x71, 0xc5, 0x00, 0x9e, + 0xe6, 0x5c, 0x92, 0xb5, 0x86, 0x7d, 0x07, 0x0e, 0x71, 0xe0, 0xc8, 0x55, + 0xb8, 0xda, 0x53, 0x55, 0x35, 0xce, 0x79, 0xea, 0xda, 0x53, 0xd7, 0x8e, + 0xbd, 0x07, 0x0e, 0xfe, 0x93, 0xf9, 0x41, 0xff, 0x64, 0x1c, 0x99, 0x03, + 0xd1, 0xd6, 0x2d, 0xb7, 0x66, 0x69, 0xef, 0x7d, 0x6d, 0xf3, 0xab, 0x7a, + 0x18, 0x4f, 0xb9, 0x71, 0x38, 0x86, 0xe1, 0xe4, 0xcf, 0x7f, 0x3c, 0x5e, + 0x1e, 0xe0, 0xca, 0xf1, 0x79, 0xe6, 0x04, 0xe6, 0xcc, 0x8d, 0xa8, 0xf3, + 0x9c, 0x7c, 0xf8, 0xcf, 0xbf, 0xfd, 0x9f, 0x31, 0x66, 0x6d, 0x7e, 0x30, + 0xf7, 0x0f, 0x27, 0xd3, 0x8b, 0x6f, 0xce, 0x2f, 0xec, 0xfd, 0xeb, 0x2b, + 0xd3, 0x83, 0xef, 0x9e, 0xca, 0xa7, 0xbe, 0xc2, 0x34, 0x85, 0x1f, 0x2b, + 0xdc, 0xd4, 0xde, 0xa4, 0xfa, 0x89, 0x1e, 0x57, 0x0c, 0xe0, 0xf3, 0x79, + 0x18, 0xa8, 0x87, 0x5d, 0x36, 0x1f, 0x59, 0xa4, 0x9a, 0x9e, 0x45, 0xcc, + 0x67, 0x40, 0x6c, 0x22, 0x78, 0xaf, 0xbf, 0xd1, 0xeb, 0x74, 0xbe, 0x2f, + 0x8b, 0x7a, 0x77, 0xc8, 0xf6, 0x81, 0x8b, 0xd1, 0xca, 0xa7, 0xd4, 0x97, + 0x48, 0x73, 0x77, 0xb3, 0xeb, 0xcd, 0x65, 0x22, 0x56, 0xaf, 0x18, 0xc0, + 0xe7, 0x71, 0xf1, 0xb5, 0x8c, 0xb9, 0xf8, 0xa7, 0x7f, 0x8d, 0x72, 0x14, + 0x21, 0x36, 0xff, 0x8b, 0xe3, 0x04, 0x4a, 0x92, 0xa4, 0x3f, 0x97, 0x65, + 0xf1, 0x2b, 0x27, 0x17, 0x97, 0xbe, 0xcd, 0xae, 0x34, 0xb2, 0xaa, 0x30, + 0x92, 0xf6, 0x88, 0x17, 0x7a, 0xaa, 0x8c, 0xaf, 0x18, 0xc0, 0x17, 0xc8, + 0x21, 0x06, 0xf4, 0xd1, 0x17, 0x92, 0xb8, 0x83, 0xa4, 0x73, 0x9f, 0xdd, + 0x1d, 0xdb, 0xbd, 0xd7, 0xdf, 0x77, 0xbe, 0x78, 0x98, 0xd1, 0xde, 0xeb, + 0xa2, 0xaa, 0x83, 0xd8, 0x69, 0x3b, 0x3e, 0x77, 0x21, 0x4d, 0x58, 0x84, + 0x2b, 0x06, 0xf0, 0x85, 0xb1, 0xf8, 0x11, 0xd4, 0x17, 0x57, 0xa8, 0x8f, + 0xdf, 0x86, 0x98, 0xa2, 0x19, 0x25, 0xf6, 0x59, 0xfc, 0x9d, 0x30, 0x19, + 0x8e, 0x87, 0xef, 0xb0, 0x93, 0xe4, 0xfb, 0xe6, 0x47, 0xcb, 0xe8, 0xdc, + 0xe9, 0x76, 0xe2, 0xc9, 0x5c, 0x5e, 0xb0, 0x47, 0x95, 0xd3, 0x57, 0x0c, + 0xe0, 0x69, 0x8c, 0xf7, 0x45, 0x3c, 0xd8, 0x1a, 0xad, 0x23, 0xea, 0x87, + 0x6e, 0xa7, 0x18, 0x8f, 0xc3, 0x30, 0xeb, 0xc7, 0x91, 0x32, 0x88, 0x31, + 0xbf, 0x27, 0xd2, 0xf9, 0x3e, 0x1d, 0x1e, 0xc4, 0x2c, 0x9c, 0x0e, 0x62, + 0x15, 0x8f, 0x55, 0xe5, 0xb0, 0x08, 0x77, 0x5d, 0x31, 0x80, 0xa7, 0x6b, + 0xc8, 0x97, 0x04, 0x5f, 0x75, 0x91, 0x32, 0xc6, 0x9c, 0x78, 0x1e, 0x1d, + 0x73, 0x03, 0xfd, 0xbd, 0x05, 0x8f, 0xf7, 0x46, 0x2f, 0xea, 0xf5, 0x7d, + 0xf5, 0x44, 0x4e, 0xa6, 0xe5, 0xe1, 0xa3, 0x95, 0xf9, 0x30, 0x65, 0x93, + 0x09, 0x44, 0xc2, 0xe1, 0xcb, 0xa1, 0x85, 0xb9, 0x62, 0x00, 0x4f, 0xc2, + 0x11, 0xa5, 0x60, 0xf5, 0x5a, 0x1e, 0xfe, 0x83, 0xeb, 0x50, 0x27, 0x68, + 0x9d, 0x91, 0x9b, 0x09, 0x7c, 0x0e, 0xe3, 0xfc, 0x04, 0x86, 0xe3, 0x62, + 0xfa, 0x7b, 0xc9, 0x5a, 0xe7, 0xfb, 0xd3, 0x6b, 0x52, 0xbc, 0x16, 0x18, + 0x85, 0xa2, 0xe6, 0xd0, 0xe5, 0x28, 0xc9, 0x5e, 0x31, 0x80, 0xcb, 0x7c, + 0x78, 0xc0, 0xa6, 0x19, 0xa3, 0xd1, 0x14, 0x1d, 0xb6, 0xc2, 0xd3, 0x27, + 0x70, 0x5f, 0x26, 0x11, 0x5c, 0xed, 0x7e, 0x63, 0xe3, 0x52, 0xfc, 0x7d, + 0xfb, 0xf3, 0x81, 0x48, 0x52, 0x04, 0x95, 0xb0, 0x65, 0x6f, 0x76, 0x19, + 0xb8, 0x80, 0x2b, 0x06, 0x70, 0xb9, 0x5c, 0xbe, 0x11, 0xca, 0xda, 0xb1, + 0x39, 0xce, 0x77, 0xee, 0x86, 0x21, 0x8f, 0x49, 0xeb, 0x3e, 0x77, 0x2c, + 0x61, 0xc5, 0x7c, 0xcc, 0xd5, 0xd1, 0xa3, 0x6e, 0x3c, 0x7f, 0x8d, 0xe9, + 0xac, 0x3a, 0xad, 0xb1, 0x5e, 0x99, 0xaf, 0xae, 0x10, 0x41, 0x4f, 0x13, + 0x94, 0x6f, 0xa1, 0x28, 0x3d, 0xa3, 0xb2, 0x26, 0xed, 0x74, 0x76, 0x24, + 0xed, 0x97, 0xef, 0x03, 0x98, 0xe4, 0x43, 0xff, 0xf1, 0x7a, 0xb8, 0x78, + 0x8d, 0x59, 0x0e, 0x75, 0xa4, 0xba, 0x66, 0xbe, 0xbc, 0x0c, 0x77, 0x0d, + 0xb9, 0x62, 0x00, 0x97, 0x21, 0xbf, 0x2f, 0x36, 0x7a, 0x9c, 0xba, 0xef, + 0x20, 0x45, 0x35, 0x44, 0x9c, 0x7b, 0x12, 0x3e, 0x04, 0x9c, 0xda, 0xf7, + 0x97, 0xc3, 0xde, 0xd7, 0x66, 0x4d, 0x3b, 0xa4, 0xf7, 0xcc, 0xa1, 0x9f, + 0x71, 0x3e, 0xe7, 0x15, 0x03, 0xf8, 0xbc, 0xb9, 0xfe, 0x18, 0x2e, 0x7e, + 0xf8, 0x66, 0xf2, 0xf3, 0x7b, 0xb0, 0x59, 0xce, 0x93, 0x22, 0x70, 0x56, + 0x88, 0x8c, 0xb9, 0xd3, 0x8d, 0x07, 0x5e, 0xbc, 0xf1, 0xaa, 0x5e, 0x45, + 0x48, 0x1b, 0xa5, 0xad, 0x5e, 0x31, 0x80, 0xa7, 0xd0, 0xf5, 0x97, 0x1b, + 0x0b, 0x54, 0xe7, 0x6f, 0xa5, 0x37, 0x6f, 0x40, 0x3a, 0x4f, 0x22, 0xad, + 0x60, 0x1e, 0xd4, 0xba, 0x77, 0x91, 0x3a, 0x59, 0x40, 0x72, 0xe7, 0x3d, + 0x96, 0x88, 0x08, 0xa8, 0xae, 0x18, 0xc0, 0x53, 0xc6, 0xf5, 0x08, 0x93, + 0x47, 0x6e, 0xc6, 0xfa, 0x39, 0x24, 0x2d, 0x9f, 0xdc, 0x8f, 0xf2, 0x9c, + 0x17, 0x06, 0x0f, 0x4b, 0xd5, 0x7b, 0x81, 0xa4, 0x79, 0xd1, 0xdc, 0x30, + 0x3d, 0xb9, 0x62, 0x00, 0x4f, 0xd5, 0xee, 0x8f, 0x61, 0x7c, 0x66, 0x3f, + 0x97, 0xee, 0x7a, 0x06, 0x26, 0x5e, 0x87, 0xfc, 0x49, 0x4e, 0x2f, 0xbd, + 0xfa, 0x85, 0xc1, 0xe2, 0xbd, 0xd6, 0x2f, 0x3c, 0xaf, 0xd4, 0xb5, 0x4a, + 0x15, 0x77, 0xa5, 0x1c, 0xfc, 0x94, 0xad, 0x3e, 0xa8, 0x13, 0xaa, 0x13, + 0xcf, 0xa5, 0xdb, 0x8d, 0x91, 0xa8, 0x79, 0xf2, 0xc9, 0xf4, 0x00, 0xaa, + 0xa8, 0x9a, 0x07, 0x4d, 0xdd, 0x2b, 0x54, 0x28, 0x14, 0x72, 0x55, 0xfc, + 0x15, 0x03, 0x78, 0x4a, 0x90, 0x1f, 0xe8, 0xa9, 0xe7, 0xd3, 0x2f, 0x9e, + 0xcd, 0x60, 0xa5, 0x7c, 0xc2, 0x48, 0xfc, 0xb3, 0xb4, 0x39, 0xea, 0xc2, + 0x3e, 0xe4, 0xf2, 0xce, 0x48, 0xfb, 0x54, 0xaa, 0x4c, 0xac, 0x7d, 0xe2, + 0x90, 0xf3, 0x8a, 0x01, 0x7c, 0x0e, 0xc0, 0xcf, 0x5d, 0xda, 0xc7, 0xe8, + 0xae, 0xe7, 0x20, 0xe6, 0xfc, 0xe5, 0xba, 0xe1, 0xe6, 0x67, 0xf7, 0xd9, + 0x3e, 0x3b, 0x31, 0x38, 0xd0, 0x5f, 0x47, 0x49, 0x10, 0x86, 0xd6, 0x52, + 0x71, 0x85, 0x09, 0xfc, 0xfc, 0xee, 0x7c, 0x57, 0x09, 0x93, 0x7b, 0x5e, + 0x44, 0x55, 0x97, 0x8f, 0xaf, 0xb2, 0x77, 0x59, 0x80, 0x80, 0xac, 0xf7, + 0x8a, 0xe4, 0xbc, 0xc0, 0xb2, 0x57, 0x2e, 0x4d, 0x72, 0xdc, 0x15, 0x0f, + 0xf0, 0xf9, 0x02, 0xfc, 0x06, 0xc4, 0x47, 0x74, 0x1e, 0xfd, 0x6a, 0x3a, + 0xd9, 0xf5, 0xd0, 0x2b, 0x3f, 0xff, 0x27, 0xe1, 0x92, 0x2d, 0xcf, 0xc6, + 0x39, 0x20, 0xf6, 0xca, 0xf9, 0xfa, 0x0a, 0x08, 0x7c, 0xb2, 0xb3, 0x3c, + 0x8f, 0x37, 0xe1, 0xfe, 0xc1, 0xc9, 0xe6, 0xb5, 0x70, 0xec, 0xa5, 0x30, + 0x3d, 0x00, 0xb6, 0x00, 0xff, 0x14, 0x74, 0x3b, 0xab, 0x4e, 0xc5, 0x27, + 0x67, 0xf0, 0x2c, 0xc4, 0x96, 0x8b, 0xfd, 0xf4, 0x4a, 0x31, 0xe8, 0x49, + 0x5c, 0x7c, 0x47, 0x5c, 0xec, 0x63, 0x30, 0x3a, 0x40, 0x96, 0xcf, 0x91, + 0x5e, 0x7a, 0x01, 0xc6, 0x67, 0xa8, 0x2d, 0x81, 0xf8, 0x29, 0x3a, 0xab, + 0x48, 0x45, 0x93, 0x33, 0xc0, 0x01, 0x0f, 0x67, 0x2a, 0x77, 0xc5, 0x03, + 0x3c, 0x59, 0xcb, 0x8f, 0xaa, 0xc7, 0x1c, 0xff, 0x62, 0xe6, 0x36, 0xae, + 0x47, 0x4d, 0x89, 0x37, 0x35, 0x8e, 0x29, 0xb8, 0xa7, 0xf0, 0xb4, 0xbc, + 0x60, 0x6a, 0x73, 0x16, 0x35, 0x17, 0x9d, 0xfa, 0xd3, 0xbb, 0xef, 0x78, + 0x72, 0xc5, 0x00, 0x2e, 0x27, 0xda, 0x36, 0x8a, 0x39, 0x7d, 0x07, 0x49, + 0x7e, 0xdd, 0xae, 0x58, 0xff, 0x34, 0xb8, 0x54, 0x1a, 0xe1, 0xac, 0xb9, + 0xe0, 0x3d, 0xe7, 0xd5, 0x72, 0x21, 0x0c, 0x56, 0xbc, 0x62, 0x00, 0x97, + 0xf7, 0xb0, 0xe0, 0xcb, 0x2e, 0x7a, 0xf6, 0xf9, 0x98, 0x98, 0xd9, 0x4d, + 0x8b, 0x9e, 0x0e, 0x86, 0xa9, 0x06, 0xa7, 0x66, 0x1d, 0x38, 0xaf, 0x86, + 0xd1, 0x15, 0x49, 0xd8, 0x93, 0xb0, 0xf8, 0x52, 0xa5, 0x8c, 0xee, 0xf9, + 0x4a, 0xea, 0x2d, 0x01, 0x33, 0x7d, 0x9a, 0x45, 0x26, 0x8f, 0x66, 0xba, + 0x65, 0x0c, 0xab, 0x83, 0x4b, 0xaf, 0xaa, 0x4d, 0xb1, 0x32, 0x9b, 0x58, + 0x75, 0xc5, 0x00, 0x9e, 0x58, 0xcc, 0x27, 0x9a, 0x22, 0xc3, 0x3d, 0xd4, + 0x8f, 0x7e, 0x19, 0x8c, 0x56, 0x20, 0xde, 0x7e, 0xfa, 0x85, 0x26, 0xb5, + 0x78, 0x33, 0x9d, 0x58, 0x4d, 0xd7, 0x37, 0x1f, 0x3c, 0xa0, 0xe5, 0xf6, + 0x3c, 0x98, 0x2b, 0x06, 0xf0, 0x84, 0x0f, 0x63, 0x2c, 0xd1, 0xe9, 0x97, + 0x22, 0xab, 0xd7, 0x52, 0x56, 0x19, 0x98, 0xcd, 0x70, 0x33, 0xbe, 0xa7, + 0x21, 0x19, 0xa1, 0x3a, 0x29, 0xe3, 0x6a, 0x65, 0x73, 0x6b, 0x2a, 0x7e, + 0x5a, 0xaf, 0x62, 0xae, 0x80, 0xc0, 0x27, 0xb4, 0xa7, 0x30, 0xb1, 0x23, + 0x49, 0x15, 0x73, 0xf1, 0x06, 0x54, 0x1c, 0x12, 0x4f, 0x9e, 0xbe, 0xa7, + 0xab, 0x06, 0xa0, 0x92, 0xf5, 0xeb, 0x46, 0x59, 0x9c, 0x39, 0x91, 0xfa, + 0x09, 0x4f, 0x5f, 0x8b, 0xfe, 0x0a, 0xaf, 0x3d, 0xa0, 0xd4, 0x65, 0xc1, + 0xfa, 0xc5, 0x02, 0x74, 0xf4, 0x85, 0x72, 0xe6, 0x3e, 0xcb, 0x0e, 0x4f, + 0xc3, 0x4d, 0xf1, 0xa2, 0x3f, 0x3b, 0xa9, 0xf2, 0x8a, 0x01, 0x7c, 0xb6, + 0xbb, 0x49, 0x28, 0x8b, 0x1c, 0x5f, 0x7b, 0xd0, 0xe4, 0x0b, 0x09, 0xad, + 0xe0, 0x63, 0x2d, 0x15, 0x1f, 0xe6, 0x30, 0x5e, 0x31, 0x80, 0xcf, 0x65, + 0xf7, 0x0b, 0xde, 0x57, 0xe4, 0x55, 0x19, 0xc6, 0xd2, 0x7f, 0x21, 0xcd, + 0xb0, 0x54, 0x55, 0x55, 0x5f, 0x5b, 0x6b, 0x94, 0xe8, 0x89, 0x33, 0x92, + 0x7f, 0x25, 0x0d, 0x40, 0xbd, 0x43, 0xf1, 0xa8, 0xc8, 0x17, 0xce, 0x98, + 0xda, 0x1d, 0x0f, 0xa0, 0x38, 0xe7, 0x7c, 0x9c, 0x44, 0xcd, 0x8d, 0x35, + 0x9e, 0xd8, 0xf1, 0xff, 0x03, 0xb4, 0xd6, 0x3d, 0xfc, 0x03, 0x30, 0x88, + 0xaf, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, + 0x82 +}; +unsigned int __logo_png_len = 17389; +unsigned char __menu_boot_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x06, 0x75, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x7d, 0x94, 0x6b, 0x8c, + 0xd4, 0x57, 0x19, 0xc6, 0x7f, 0xe7, 0x9c, 0xff, 0x65, 0xfe, 0x33, 0x3b, + 0xcc, 0x30, 0x33, 0x7b, 0x63, 0x59, 0xd6, 0x85, 0x65, 0xbb, 0xb2, 0xc5, + 0x62, 0xb9, 0x18, 0x2b, 0x28, 0x21, 0x81, 0x16, 0x8d, 0x52, 0x6c, 0x1a, + 0x6d, 0x6c, 0x2a, 0xfa, 0xa1, 0x69, 0xd2, 0x34, 0x48, 0xab, 0xa8, 0x5f, + 0xfc, 0xa4, 0x1f, 0xda, 0x04, 0x69, 0x83, 0xa6, 0x97, 0x28, 0x16, 0xc2, + 0x07, 0x4a, 0x0b, 0x15, 0x93, 0x6a, 0x01, 0x7b, 0x31, 0x62, 0x6a, 0x1a, + 0x6a, 0x00, 0x81, 0xdd, 0x6e, 0x61, 0x2d, 0x74, 0xd9, 0x5d, 0x76, 0xf6, + 0x36, 0x3b, 0x3b, 0x97, 0xff, 0xed, 0x1c, 0x3f, 0x2c, 0x97, 0x5e, 0xa2, + 0x4f, 0x72, 0xbe, 0xbe, 0xbf, 0x37, 0xcf, 0xf3, 0xbc, 0x47, 0x7c, 0x34, + 0x3a, 0x04, 0x40, 0xad, 0x5e, 0x23, 0x0a, 0x23, 0xa4, 0x92, 0x28, 0x65, + 0x11, 0x47, 0x11, 0xc2, 0x88, 0x05, 0x8e, 0xb4, 0xee, 0xce, 0xa4, 0xe6, + 0xad, 0x4d, 0xd8, 0x6e, 0x37, 0x46, 0xe7, 0x0d, 0x00, 0x4c, 0x54, 0xfc, + 0xfa, 0xc0, 0x74, 0xb9, 0x74, 0xb2, 0xae, 0x83, 0x63, 0x31, 0x7a, 0x58, + 0x59, 0x92, 0x28, 0x8c, 0x88, 0xc2, 0x08, 0x65, 0x2b, 0x12, 0x09, 0x0f, + 0x00, 0xf1, 0x69, 0x80, 0x90, 0x02, 0x29, 0x54, 0x6b, 0x83, 0xe3, 0xfd, + 0xa8, 0x90, 0xc9, 0x3f, 0x34, 0x11, 0xcd, 0xb4, 0xbc, 0x57, 0xec, 0xe3, + 0xdc, 0xf8, 0x20, 0x93, 0xb5, 0x19, 0x00, 0x72, 0xde, 0x3c, 0x7a, 0xf3, + 0x9d, 0xdc, 0xd9, 0xd8, 0xc3, 0x7c, 0x91, 0x1a, 0xbd, 0x36, 0x59, 0xdc, + 0x5f, 0x0a, 0x2b, 0x4f, 0xeb, 0x38, 0x1e, 0x89, 0xa3, 0xf8, 0x7f, 0x03, + 0x82, 0x20, 0xc4, 0x96, 0xd6, 0xa6, 0x8e, 0xa6, 0xb6, 0x3d, 0x23, 0xd1, + 0x54, 0xf7, 0x6f, 0x4e, 0x1f, 0xe2, 0x70, 0xff, 0x9b, 0x14, 0x6b, 0x25, + 0x22, 0xa3, 0x51, 0x42, 0x01, 0x10, 0x9b, 0x18, 0x4b, 0x48, 0x1a, 0xbd, + 0x0c, 0xf7, 0xf5, 0x6c, 0xe0, 0xd1, 0x3b, 0xee, 0xa7, 0xa0, 0x1b, 0x06, + 0x2e, 0x8e, 0x5e, 0x7e, 0x2c, 0x8c, 0x83, 0xe3, 0x96, 0x63, 0x7f, 0x16, + 0x50, 0xad, 0x55, 0x51, 0x46, 0x3e, 0xd8, 0xd9, 0xda, 0xf1, 0xc2, 0xcb, + 0x1f, 0xbe, 0xe1, 0x3d, 0xf1, 0xe6, 0x6e, 0x8a, 0xf5, 0x32, 0xed, 0x99, + 0x16, 0xd2, 0x6e, 0x0a, 0xa5, 0x14, 0x42, 0xcc, 0xf9, 0x63, 0x0c, 0xc4, + 0x71, 0x4c, 0xd9, 0xaf, 0x70, 0x79, 0x7a, 0x98, 0x66, 0x2f, 0xc3, 0xae, + 0x0d, 0x3b, 0xb8, 0x77, 0xc1, 0xba, 0x5a, 0xff, 0x95, 0x0f, 0x1e, 0x8e, + 0xa4, 0x3e, 0xe0, 0x79, 0xc9, 0x5b, 0x00, 0x83, 0x21, 0xac, 0x87, 0x1b, + 0x3b, 0x5b, 0xda, 0x8f, 0x3e, 0x73, 0xfe, 0x90, 0xf7, 0xf8, 0xdb, 0x4f, + 0xb3, 0x70, 0x5e, 0xb3, 0x69, 0x4c, 0xe7, 0x05, 0xc2, 0x80, 0x30, 0x08, + 0x01, 0xd7, 0xe7, 0x63, 0x00, 0x63, 0x04, 0x5a, 0x6b, 0x1c, 0x61, 0x73, + 0x65, 0x7a, 0x94, 0x6b, 0xb3, 0x13, 0xec, 0x5e, 0xbf, 0x9d, 0x47, 0xba, + 0xee, 0xad, 0xf5, 0x5f, 0xbd, 0xb8, 0xc5, 0x4a, 0x38, 0x27, 0x04, 0x62, + 0x0e, 0x10, 0x45, 0x51, 0xd3, 0xc2, 0x6c, 0xcb, 0x3b, 0x47, 0x86, 0xde, + 0x5e, 0xfc, 0x9d, 0xd7, 0x7f, 0xc1, 0x92, 0x5c, 0x3b, 0xf9, 0x64, 0x83, + 0xb1, 0x84, 0x16, 0x09, 0x01, 0xb6, 0x04, 0xfb, 0x63, 0x00, 0x0d, 0x54, + 0x22, 0x9f, 0x05, 0x0d, 0xed, 0x6c, 0x5f, 0xf1, 0x43, 0xf6, 0xf6, 0xfd, + 0x89, 0xa3, 0x97, 0xfe, 0xce, 0xe8, 0x4c, 0x91, 0x83, 0x9b, 0x7f, 0xc9, + 0xe6, 0xfc, 0x9a, 0xc1, 0xff, 0x4c, 0x0d, 0x7d, 0xd9, 0xb2, 0xec, 0x31, + 0x31, 0x34, 0x7a, 0x95, 0x84, 0x74, 0x9e, 0xac, 0x38, 0xc1, 0xce, 0x35, + 0x87, 0x7f, 0x80, 0x6b, 0x3b, 0x2c, 0x49, 0x17, 0xf0, 0x64, 0x64, 0x3c, + 0x89, 0x70, 0x25, 0x28, 0x69, 0x50, 0x82, 0x9b, 0x16, 0x45, 0x3a, 0x46, + 0x0a, 0x87, 0x9f, 0xac, 0xdc, 0x49, 0x6f, 0xa1, 0x97, 0xe9, 0xa0, 0xcc, + 0x93, 0xff, 0x7a, 0x91, 0x7d, 0xfd, 0x7f, 0x41, 0xc7, 0x9a, 0x77, 0xb6, + 0xfe, 0x0e, 0x51, 0x0a, 0x9e, 0xaa, 0x10, 0xfc, 0x54, 0xa2, 0x4d, 0x6b, + 0x2e, 0x9d, 0xdd, 0xf6, 0xeb, 0x73, 0x2f, 0x31, 0x1b, 0x97, 0x59, 0x9e, + 0xc9, 0xd1, 0x68, 0x45, 0xe4, 0x1d, 0xc3, 0x7c, 0xd7, 0x90, 0x49, 0x18, + 0xb2, 0x0e, 0x64, 0x5c, 0x41, 0xc6, 0x91, 0xcc, 0x73, 0x04, 0x29, 0x3b, + 0xe6, 0x7b, 0x3d, 0xf7, 0xd3, 0x5b, 0xe8, 0x05, 0x20, 0xeb, 0xa4, 0x59, + 0xdd, 0xf8, 0x05, 0x16, 0xa5, 0xd2, 0x94, 0xe3, 0x19, 0x9e, 0xe9, 0x7b, + 0x99, 0xa6, 0x6c, 0xe3, 0x36, 0x62, 0xdd, 0x6a, 0xb9, 0xca, 0xb9, 0x67, + 0x34, 0x9c, 0x6e, 0xfa, 0xe7, 0xf0, 0x09, 0xee, 0xca, 0x37, 0x93, 0x73, + 0x0c, 0xae, 0x9a, 0x7b, 0x8e, 0xb4, 0xb0, 0xa5, 0xc2, 0x92, 0x16, 0x4a, + 0x28, 0x04, 0x02, 0x3f, 0xae, 0xb3, 0xa2, 0xb0, 0x92, 0x0d, 0x8b, 0x36, + 0x73, 0x43, 0xfd, 0x53, 0x43, 0xec, 0x39, 0xfd, 0x7b, 0x16, 0x79, 0x92, + 0x94, 0x6c, 0xe6, 0xe4, 0xf0, 0x09, 0xc6, 0x97, 0x7d, 0xb7, 0xc9, 0x13, + 0xee, 0x3d, 0xb2, 0xc1, 0x4d, 0xad, 0x3d, 0x33, 0x79, 0x9e, 0x4e, 0x6f, + 0x8c, 0x55, 0x05, 0x8b, 0x84, 0x65, 0x68, 0xb0, 0x05, 0x0d, 0x96, 0x4b, + 0xd2, 0x72, 0x48, 0x59, 0x49, 0x1c, 0xa1, 0xc0, 0x44, 0x84, 0x51, 0x85, + 0xb4, 0x9d, 0xe4, 0x9b, 0x4b, 0x1e, 0xb8, 0x59, 0xd9, 0x6a, 0x14, 0xf0, + 0xab, 0x77, 0x9f, 0xa5, 0x3d, 0x35, 0xcb, 0xfc, 0x84, 0xcd, 0xea, 0x46, + 0x9b, 0x4e, 0x77, 0x8c, 0x73, 0xd3, 0x03, 0xa4, 0xbd, 0xf4, 0x5a, 0xe9, + 0x38, 0x89, 0xee, 0xa1, 0xf2, 0x25, 0x72, 0x4e, 0xc4, 0xe2, 0x74, 0x4c, + 0xce, 0x81, 0xa4, 0x4a, 0x72, 0xdf, 0xd2, 0x6d, 0x2c, 0xcd, 0xf6, 0x32, + 0x5d, 0x1d, 0xa1, 0x16, 0x4c, 0x12, 0x86, 0x33, 0x84, 0xd1, 0x0c, 0xeb, + 0xda, 0x36, 0x91, 0xf7, 0x9a, 0x6f, 0x6e, 0xff, 0xdc, 0xd9, 0x23, 0x84, + 0xd1, 0x25, 0x3a, 0xd3, 0x4d, 0x64, 0x1d, 0x43, 0x57, 0x3a, 0x22, 0xe7, + 0x44, 0x0c, 0x95, 0x07, 0x71, 0x9d, 0x44, 0xb7, 0xa5, 0x8d, 0xc9, 0xfb, + 0x51, 0x09, 0xcf, 0x12, 0x38, 0x4a, 0xd3, 0xea, 0x95, 0x69, 0x6a, 0x58, + 0xc3, 0xea, 0xd6, 0xaf, 0xf2, 0xf9, 0xc2, 0x17, 0x41, 0x87, 0x0c, 0x4e, + 0x9d, 0xc2, 0x56, 0x16, 0x1d, 0x99, 0xe5, 0x7c, 0x65, 0xe1, 0x2d, 0x6b, + 0xde, 0xbd, 0xf6, 0x01, 0xc7, 0x06, 0x0f, 0x71, 0x67, 0x21, 0x89, 0x25, + 0x25, 0x1d, 0x09, 0x1f, 0x57, 0x19, 0x92, 0xb6, 0xc2, 0xd7, 0x25, 0x30, + 0xe4, 0xa5, 0x31, 0x60, 0x2b, 0xb0, 0x04, 0x68, 0x23, 0xf0, 0x94, 0xcf, + 0xba, 0xb6, 0xb5, 0x00, 0x34, 0xd8, 0x69, 0x1e, 0xb8, 0x7d, 0x3b, 0x5f, + 0x6a, 0xdb, 0x44, 0x36, 0x91, 0x64, 0x7d, 0xc7, 0x56, 0x94, 0xb4, 0xaf, + 0x5b, 0x13, 0xf2, 0xdb, 0x33, 0x7b, 0xb9, 0x23, 0xe7, 0x62, 0x51, 0x46, + 0xc6, 0xa7, 0xb0, 0xe5, 0x2c, 0x1a, 0x89, 0x12, 0x06, 0x5b, 0x19, 0x40, + 0x20, 0xa5, 0x90, 0x13, 0x39, 0x37, 0x4b, 0x64, 0xc0, 0x60, 0x98, 0xaa, + 0x0d, 0x71, 0x6a, 0xf8, 0x25, 0x22, 0x1d, 0x02, 0xe0, 0x48, 0x87, 0x4d, + 0x8b, 0xbf, 0xcf, 0x37, 0xba, 0x1e, 0xa5, 0x2d, 0xdd, 0x73, 0x73, 0xfb, + 0x7d, 0x7d, 0x7f, 0xc6, 0xe3, 0x02, 0xad, 0xc9, 0x71, 0x5c, 0xf9, 0x3e, + 0x71, 0x3c, 0xc6, 0x74, 0x6d, 0x04, 0x6d, 0x34, 0xb1, 0x31, 0xe4, 0x9c, + 0x0c, 0x48, 0x31, 0x21, 0xc3, 0xd8, 0x1f, 0x58, 0x94, 0x5e, 0x8a, 0xc1, + 0x63, 0xd6, 0x1f, 0x27, 0x88, 0x2a, 0xbc, 0x37, 0xbc, 0x8f, 0x3f, 0xbe, + 0xff, 0x73, 0x42, 0x1d, 0x00, 0x60, 0x49, 0x8b, 0xce, 0xec, 0x0a, 0xe4, + 0xf5, 0x60, 0x2f, 0x96, 0x8a, 0x1c, 0x1f, 0x7c, 0x96, 0xf6, 0xc4, 0x79, + 0x2a, 0xc1, 0x25, 0x20, 0x42, 0x60, 0x51, 0x0f, 0x67, 0x98, 0xf5, 0x8b, + 0x68, 0xe3, 0xd1, 0x91, 0x5e, 0x8a, 0x1f, 0xd6, 0x07, 0x64, 0x35, 0xa8, + 0x9e, 0xec, 0xca, 0xf6, 0x92, 0xb0, 0x5a, 0x99, 0xac, 0x8d, 0x20, 0x84, + 0xc4, 0x51, 0x49, 0x4e, 0x8f, 0x1c, 0xe0, 0xd5, 0xfe, 0x9d, 0x04, 0x71, + 0x9d, 0x4f, 0xeb, 0xf9, 0xb3, 0x7b, 0x69, 0x71, 0xfe, 0x8d, 0x14, 0x06, + 0x50, 0x80, 0x40, 0x08, 0x81, 0x00, 0x8a, 0xd5, 0x51, 0x3c, 0xbb, 0x85, + 0x25, 0xe9, 0x1e, 0xaa, 0x7e, 0xe5, 0xa4, 0x8c, 0x4d, 0x74, 0x2c, 0xa3, + 0x32, 0xc5, 0x95, 0xcd, 0x9b, 0x99, 0xf1, 0x05, 0xa0, 0x11, 0x42, 0xe2, + 0xaa, 0x14, 0x67, 0x47, 0x0f, 0x72, 0xa4, 0xff, 0xc7, 0xf8, 0x51, 0xf5, + 0xe6, 0xf0, 0xbf, 0x5d, 0xbd, 0xc0, 0xc5, 0xf1, 0x83, 0x2c, 0x4a, 0xd9, + 0xc4, 0x46, 0x7e, 0x92, 0x2c, 0xa0, 0xe4, 0xc3, 0xaa, 0xd6, 0xaf, 0xe3, + 0x99, 0x86, 0xb1, 0x98, 0xf0, 0x75, 0x29, 0xa5, 0x18, 0xae, 0x54, 0xca, + 0x7f, 0x58, 0xdf, 0xbe, 0x95, 0x5c, 0x72, 0x15, 0x7e, 0x14, 0x1b, 0x8c, + 0x31, 0x20, 0x70, 0x55, 0xca, 0x9c, 0xbb, 0xf6, 0x8a, 0x39, 0xdc, 0xf7, + 0x84, 0xf1, 0xe3, 0xaa, 0xd1, 0x06, 0xb3, 0xff, 0xfc, 0xf3, 0xa6, 0xab, + 0x61, 0xcc, 0x68, 0x2c, 0x73, 0x4b, 0x18, 0xd0, 0xa6, 0x1a, 0xc5, 0x26, + 0x97, 0x5a, 0xc5, 0xfa, 0xb6, 0x6f, 0x51, 0x2a, 0x4f, 0xbd, 0xa8, 0x2c, + 0x35, 0x22, 0x85, 0x10, 0xf8, 0xb1, 0xbf, 0x2b, 0x2d, 0x32, 0x83, 0x5b, + 0x7a, 0x76, 0x20, 0xd5, 0x62, 0x11, 0xea, 0x50, 0x08, 0x0c, 0x42, 0x48, + 0xe1, 0x5a, 0x0d, 0xa2, 0xaf, 0xf8, 0xaa, 0x78, 0x6d, 0xe0, 0x67, 0xe2, + 0x40, 0xff, 0x6b, 0xa2, 0x52, 0xff, 0xab, 0xc8, 0x27, 0x5c, 0x61, 0x10, + 0x1f, 0x93, 0x16, 0x7e, 0x1c, 0x09, 0x29, 0x3b, 0xc5, 0xb7, 0x6f, 0x7b, + 0x9c, 0x44, 0x98, 0x1c, 0x0c, 0x74, 0x6d, 0x97, 0x94, 0x12, 0x31, 0x31, + 0x35, 0x0e, 0x40, 0x18, 0x86, 0x1b, 0x0b, 0x99, 0xe6, 0xa3, 0x67, 0x26, + 0xdf, 0xf0, 0x8e, 0x0f, 0x3e, 0x45, 0xd5, 0x1f, 0x30, 0x96, 0x14, 0xe2, + 0x46, 0xb0, 0xda, 0x84, 0x4c, 0xf8, 0x49, 0xb2, 0x76, 0x88, 0xad, 0xae, + 0xfb, 0x81, 0x41, 0x9b, 0x98, 0x50, 0x1b, 0x5c, 0xbb, 0x9b, 0xcd, 0x5d, + 0x3b, 0xb9, 0x3d, 0xfd, 0xb5, 0xda, 0x70, 0xf1, 0xca, 0x16, 0x3b, 0x61, + 0x9d, 0x00, 0x71, 0x0b, 0xe0, 0xfb, 0x75, 0x24, 0xea, 0xc1, 0x42, 0xae, + 0xf9, 0x85, 0xcb, 0x95, 0xd3, 0xde, 0x5b, 0x1f, 0x3e, 0xc7, 0x47, 0xa5, + 0x7f, 0xa0, 0x75, 0xf9, 0xfa, 0x4f, 0x3a, 0xd7, 0x6f, 0x83, 0x42, 0x9b, + 0xb9, 0xc1, 0xda, 0x08, 0x84, 0x48, 0xb3, 0x30, 0x7b, 0x17, 0x1b, 0x3e, + 0xf7, 0x08, 0x0b, 0xdd, 0xe5, 0xb5, 0x91, 0x6b, 0x97, 0x1f, 0x8e, 0xd1, + 0x07, 0xdc, 0x84, 0x3b, 0x17, 0xcb, 0x0d, 0x40, 0x10, 0xf8, 0x44, 0x61, + 0x84, 0x65, 0xd9, 0x9b, 0x72, 0xf3, 0x1a, 0xf7, 0x04, 0xaa, 0xdc, 0x7d, + 0x61, 0xe2, 0x2d, 0xfa, 0x8a, 0x27, 0x18, 0xaf, 0x0e, 0x50, 0x09, 0x8a, + 0xc4, 0xd7, 0x6b, 0xab, 0xa4, 0x43, 0xd2, 0x6e, 0xa4, 0x90, 0xba, 0x8d, + 0x65, 0x8d, 0x1b, 0x59, 0x96, 0x5b, 0x8f, 0x08, 0x12, 0x03, 0xc5, 0xc9, + 0x91, 0xc7, 0xc2, 0x28, 0x3c, 0xae, 0x2c, 0x85, 0xe3, 0x3a, 0x9f, 0x05, + 0xc4, 0x51, 0x8c, 0xb2, 0x14, 0x4a, 0xaa, 0x16, 0x5b, 0xb9, 0x3b, 0x92, + 0xc9, 0xf4, 0x43, 0xb1, 0xa8, 0xb7, 0x4c, 0xd4, 0xaf, 0x50, 0xf2, 0xaf, + 0x12, 0xc4, 0x95, 0xb9, 0xe3, 0x53, 0x29, 0xb2, 0x6e, 0x1b, 0xf3, 0xdd, + 0x76, 0x64, 0xec, 0x8c, 0x96, 0xcb, 0xa5, 0xfd, 0x7e, 0x5c, 0xdb, 0x1d, + 0xeb, 0x68, 0x34, 0x0c, 0x42, 0xa4, 0xfa, 0x3f, 0x00, 0xcb, 0xb2, 0x50, + 0x96, 0x45, 0x1c, 0xc5, 0x80, 0x5c, 0xa0, 0x84, 0xba, 0xdb, 0x73, 0xbd, + 0xb5, 0x4a, 0x39, 0xdd, 0x5a, 0xc7, 0x79, 0x84, 0x40, 0x20, 0x26, 0xa2, + 0xd0, 0x1f, 0xa8, 0xd4, 0x2b, 0x27, 0xb5, 0x09, 0x8f, 0x69, 0xf4, 0xb0, + 0x52, 0x8a, 0x30, 0x0c, 0x08, 0x82, 0xe0, 0x13, 0x80, 0xff, 0x02, 0xd0, + 0xd4, 0x0f, 0x3a, 0x64, 0x36, 0x37, 0xea, 0x00, 0x00, 0x00, 0x00, 0x49, + 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __menu_boot_png_len = 1747; +unsigned char __menu_help_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x06, 0x51, 0x49, 0x44, 0x41, 0x54, 0x48, 0x4b, 0x7d, 0x95, 0x69, 0x8c, + 0x95, 0x57, 0x1d, 0x87, 0x9f, 0xb3, 0xbc, 0x77, 0x99, 0x7b, 0xe7, 0xae, + 0xdc, 0xd9, 0x98, 0x32, 0x63, 0x29, 0x63, 0xa9, 0xd0, 0x80, 0xcc, 0x00, + 0x8d, 0xd3, 0x98, 0x5a, 0x63, 0x69, 0x34, 0x31, 0x2e, 0x15, 0x97, 0x80, + 0xb1, 0x4d, 0x2a, 0x24, 0x10, 0x13, 0x45, 0x6b, 0x13, 0xdb, 0xd0, 0x68, + 0xda, 0x26, 0xc5, 0x44, 0x23, 0xb5, 0xa4, 0x36, 0xa6, 0x5f, 0xd4, 0x16, + 0x6c, 0xd4, 0x20, 0xd4, 0x60, 0xeb, 0x16, 0x54, 0xca, 0x84, 0x0e, 0x29, + 0x8b, 0x2d, 0x30, 0x14, 0x66, 0x86, 0x99, 0x3b, 0xc3, 0x2c, 0x77, 0xee, + 0xcc, 0x5d, 0xde, 0xed, 0x1c, 0x3f, 0xdc, 0xe9, 0x10, 0x6c, 0xea, 0x49, + 0xce, 0x97, 0x93, 0xff, 0xfb, 0x3c, 0xef, 0xf9, 0x9f, 0xdf, 0x7b, 0x5e, + 0x31, 0x72, 0x6d, 0x1c, 0x80, 0x5a, 0xad, 0x4e, 0xe0, 0xfb, 0x28, 0xa9, + 0x50, 0x5a, 0x13, 0x06, 0x3e, 0x08, 0xd6, 0x47, 0xb4, 0xdc, 0x95, 0x4a, + 0x25, 0xfa, 0x63, 0xb1, 0x48, 0x9b, 0x31, 0x36, 0x0a, 0x16, 0xc0, 0xad, + 0xd6, 0xdc, 0xe2, 0xdc, 0xdc, 0xc2, 0x71, 0xd7, 0x0d, 0xf7, 0x87, 0xd6, + 0x0e, 0x2a, 0xa9, 0x09, 0x02, 0x9f, 0x20, 0xf0, 0x51, 0xca, 0x21, 0x16, + 0x8f, 0x01, 0x20, 0xfe, 0x57, 0x20, 0x85, 0x42, 0x2a, 0xb1, 0x2e, 0x11, + 0x8f, 0x1c, 0xc8, 0xe7, 0x33, 0x7d, 0x33, 0x65, 0x4f, 0x9e, 0x39, 0x57, + 0xe4, 0xc2, 0xd0, 0x24, 0xa5, 0x52, 0x0d, 0x80, 0x4c, 0x3a, 0xce, 0xaa, + 0xdb, 0x5a, 0x58, 0xbb, 0xba, 0x95, 0x74, 0x52, 0x99, 0xc9, 0xc9, 0xe9, + 0x81, 0xf2, 0x82, 0xb7, 0xc3, 0x98, 0xf0, 0x74, 0x18, 0x06, 0x1f, 0x2c, + 0xf0, 0x5d, 0x0f, 0xc7, 0x51, 0x8f, 0xde, 0xb2, 0xbc, 0x65, 0xef, 0xe4, + 0xac, 0x1f, 0x79, 0xf1, 0x37, 0x27, 0x39, 0xfa, 0xe7, 0xb3, 0xcc, 0xce, + 0x54, 0x31, 0x58, 0x94, 0x94, 0x00, 0x84, 0xa1, 0x41, 0x4a, 0x41, 0x2e, + 0xdb, 0xc4, 0xfd, 0x9f, 0x5a, 0xc3, 0xd7, 0xb7, 0xf6, 0x91, 0x4d, 0xe2, + 0xbd, 0x7b, 0x65, 0x6c, 0xaf, 0xe7, 0x87, 0x4f, 0x69, 0x27, 0xf2, 0x7e, + 0x41, 0xb5, 0x5a, 0x43, 0x09, 0x9e, 0xeb, 0xee, 0xea, 0xd8, 0x71, 0xf8, + 0xb5, 0x8b, 0x3c, 0xb1, 0xef, 0x28, 0x73, 0xe5, 0x3a, 0xed, 0xed, 0x19, + 0xe2, 0xf1, 0x08, 0x46, 0x80, 0xb1, 0x00, 0x16, 0x21, 0x04, 0x12, 0x70, + 0xab, 0x1e, 0xe3, 0x63, 0x25, 0xd2, 0xe9, 0x38, 0x8f, 0xef, 0xd9, 0xc2, + 0x96, 0x8f, 0x77, 0xf3, 0xce, 0x85, 0xab, 0x07, 0x42, 0x23, 0x76, 0xc6, + 0x9b, 0xe2, 0x00, 0xa8, 0x6f, 0x7f, 0x67, 0x0f, 0xd6, 0x02, 0xd6, 0x3c, + 0xf2, 0xa1, 0xae, 0xf6, 0xef, 0xbf, 0xf0, 0xf2, 0x20, 0x8f, 0x3c, 0x79, + 0x98, 0x54, 0x26, 0xc1, 0xf2, 0xae, 0x3c, 0x81, 0x96, 0x34, 0xa5, 0x9b, + 0x58, 0xb9, 0xb2, 0xc0, 0xea, 0x9e, 0x56, 0x56, 0x76, 0x17, 0x48, 0x25, + 0x63, 0x54, 0xeb, 0x01, 0x35, 0x6b, 0x69, 0x69, 0x4f, 0xe3, 0x79, 0x21, + 0x07, 0xff, 0x30, 0x48, 0x26, 0x93, 0xe1, 0x13, 0x1f, 0x5b, 0xd5, 0x3b, + 0x5b, 0x2a, 0xd7, 0xa5, 0xd2, 0xff, 0x14, 0x02, 0xc4, 0xc8, 0xe8, 0x38, + 0x41, 0x18, 0xdc, 0xb1, 0xbc, 0x35, 0x7b, 0xfa, 0x8f, 0x7f, 0xbf, 0xe2, + 0xec, 0xfc, 0xc1, 0x2b, 0x74, 0x77, 0xe5, 0x69, 0x4a, 0x35, 0x51, 0x09, + 0x42, 0x3e, 0x73, 0x77, 0x0f, 0x5f, 0xbb, 0x7f, 0x2d, 0x2b, 0xda, 0xd2, + 0x68, 0xd5, 0x68, 0x91, 0x09, 0x0d, 0x13, 0x93, 0xf3, 0xfc, 0xfe, 0xe8, + 0x5b, 0xfc, 0xea, 0xd8, 0x59, 0x9c, 0x64, 0x8c, 0x5a, 0xb9, 0xca, 0xd5, + 0x2b, 0x33, 0xfc, 0xfc, 0x47, 0x9f, 0xe7, 0xde, 0x8d, 0xad, 0xfe, 0x95, + 0x6b, 0xd3, 0xeb, 0x1c, 0xed, 0x9c, 0x17, 0xa3, 0xd7, 0xc6, 0x89, 0x45, + 0xd4, 0x89, 0x8a, 0xaf, 0x37, 0x6d, 0x79, 0xe8, 0x45, 0x54, 0xd4, 0x21, + 0x5b, 0x68, 0xa6, 0x54, 0x0f, 0xf8, 0xdc, 0x3d, 0x1f, 0xe6, 0x89, 0x6f, + 0xf4, 0xf3, 0xff, 0xc6, 0xa1, 0x97, 0x4f, 0xf2, 0xe4, 0xc1, 0x01, 0x9a, + 0x0b, 0x49, 0x4a, 0xc5, 0x32, 0xa1, 0x17, 0x70, 0xe4, 0xf9, 0xed, 0x58, + 0xbf, 0xfc, 0x46, 0xcd, 0x33, 0x9b, 0x25, 0xd8, 0x75, 0xd9, 0x4c, 0xaa, + 0xef, 0xc0, 0xc1, 0x53, 0x4c, 0x56, 0x3d, 0x9a, 0x5b, 0x52, 0x94, 0xad, + 0x25, 0x57, 0x48, 0xb2, 0xe3, 0xb3, 0xeb, 0x6f, 0x82, 0x5d, 0xbc, 0x34, + 0xc9, 0xe9, 0x8b, 0x13, 0x84, 0xa1, 0x5d, 0x5a, 0xfb, 0xe2, 0x17, 0x36, + 0xb0, 0xb6, 0x35, 0xc5, 0x8c, 0x1b, 0xd2, 0xdc, 0x9a, 0x66, 0xb2, 0xea, + 0xf2, 0x8b, 0x57, 0x06, 0x69, 0x29, 0x64, 0xfb, 0xac, 0x09, 0xd7, 0xc9, + 0xa8, 0xa3, 0x76, 0x5f, 0x2f, 0xb9, 0xf2, 0xd0, 0x89, 0xcb, 0xe4, 0x3b, + 0x73, 0xf8, 0x4a, 0x52, 0xb7, 0x82, 0xde, 0xd5, 0xed, 0xb4, 0xe7, 0x12, + 0x4b, 0xa0, 0xc1, 0x13, 0x43, 0x6c, 0xff, 0xe1, 0x11, 0xb6, 0xed, 0xff, + 0x1b, 0x7f, 0x3d, 0x7b, 0x6d, 0x69, 0x5d, 0x68, 0xc5, 0xed, 0x5d, 0x79, + 0x5c, 0x37, 0xc0, 0x53, 0x92, 0x7c, 0x67, 0x9e, 0xdf, 0x9e, 0xb8, 0x4c, + 0x69, 0x21, 0x94, 0xf1, 0x88, 0xda, 0xad, 0x9b, 0x13, 0xb1, 0xfe, 0x63, + 0x6f, 0x16, 0x19, 0x93, 0x11, 0x56, 0xb5, 0xa7, 0x30, 0x95, 0x2a, 0x91, + 0x88, 0xe6, 0xca, 0xf5, 0x0a, 0xcf, 0x1e, 0x3d, 0x4b, 0xae, 0x39, 0x4a, + 0x36, 0x19, 0xe3, 0x77, 0x47, 0xcf, 0x72, 0x6a, 0xb6, 0xc6, 0xca, 0x6c, + 0x82, 0xd6, 0x4c, 0x23, 0x21, 0xef, 0x8d, 0xd9, 0x79, 0x17, 0x19, 0x6d, + 0x24, 0x2d, 0xde, 0x9e, 0xe7, 0xe2, 0x58, 0x99, 0x37, 0x2f, 0x4e, 0x71, + 0x57, 0x4f, 0xaa, 0x5f, 0x47, 0xa3, 0x91, 0xb6, 0x33, 0xc3, 0xb3, 0x04, + 0x11, 0x07, 0x9d, 0x4d, 0x63, 0x82, 0x90, 0x08, 0x86, 0x0b, 0x13, 0x65, + 0xfe, 0x71, 0xe8, 0x14, 0xd3, 0x15, 0xaf, 0x11, 0x4f, 0x37, 0xe0, 0x96, + 0x8e, 0x0c, 0x07, 0x1e, 0xbe, 0x9b, 0xb5, 0x5d, 0xf9, 0x25, 0xf8, 0x7f, + 0x4e, 0x0f, 0x73, 0x7c, 0x78, 0x86, 0xa6, 0x5c, 0x12, 0x2b, 0x04, 0x2a, + 0x9b, 0xc2, 0xbf, 0x5e, 0xe3, 0xcc, 0x48, 0x89, 0x7b, 0xef, 0x5c, 0xd6, + 0xa6, 0x31, 0x36, 0x3a, 0x5d, 0xf1, 0x50, 0x5a, 0x21, 0x1d, 0x0d, 0xf9, + 0x0c, 0xde, 0x4c, 0x89, 0x91, 0xa9, 0x05, 0x4a, 0xf5, 0x00, 0x84, 0x04, + 0x63, 0x58, 0x79, 0x6b, 0x0b, 0x87, 0xbf, 0xf7, 0x49, 0x56, 0x77, 0xa4, + 0x97, 0xe0, 0x43, 0xef, 0x8c, 0xb3, 0xed, 0x99, 0x63, 0x9c, 0x0b, 0x2c, + 0x3d, 0x52, 0xe1, 0xe4, 0x52, 0x48, 0x47, 0xa3, 0x1c, 0xc5, 0x74, 0xc5, + 0x03, 0x88, 0x4a, 0xcb, 0xe2, 0xed, 0x22, 0x04, 0x12, 0x8b, 0xa7, 0x1c, + 0x86, 0x02, 0x87, 0x52, 0x00, 0x28, 0x05, 0x5a, 0xa1, 0xe3, 0x51, 0x9e, + 0x7d, 0xe8, 0xae, 0x9b, 0xe0, 0xff, 0xfe, 0xd7, 0x25, 0xee, 0x7b, 0xfc, + 0x08, 0xa7, 0x2a, 0x21, 0x75, 0xe9, 0x70, 0x29, 0xd0, 0x78, 0xca, 0x41, + 0xda, 0x06, 0x0b, 0x21, 0x10, 0x02, 0xa4, 0x90, 0xc2, 0xcd, 0xa7, 0xe2, + 0x84, 0xa1, 0x21, 0x34, 0x96, 0xe1, 0xe9, 0x0a, 0x55, 0x23, 0xa0, 0xb0, + 0x0c, 0xd2, 0x29, 0x50, 0x0e, 0xdd, 0x9d, 0x59, 0xee, 0x5b, 0xdb, 0xb1, + 0x04, 0xbf, 0xfa, 0xf6, 0x18, 0x5b, 0xf7, 0xbd, 0xce, 0x90, 0x13, 0x83, + 0xd6, 0x3c, 0x2c, 0xcb, 0x51, 0x35, 0x82, 0xe1, 0xe9, 0x0a, 0xa1, 0xb1, + 0x84, 0x41, 0x48, 0xae, 0x39, 0x0a, 0x08, 0x57, 0xfb, 0x7e, 0x50, 0x5c, + 0xd3, 0x95, 0x4b, 0x69, 0x6b, 0x28, 0x96, 0x5d, 0xe6, 0x2a, 0x2e, 0x28, + 0x09, 0x02, 0x48, 0x24, 0x20, 0x12, 0x83, 0x64, 0x82, 0x57, 0xdf, 0x9e, + 0x42, 0x4b, 0x81, 0x52, 0x92, 0x3f, 0xbd, 0x7e, 0x89, 0x91, 0x64, 0x06, + 0x96, 0xa5, 0xc0, 0x5a, 0x08, 0x43, 0x30, 0x86, 0xb9, 0x8a, 0x47, 0x31, + 0xaa, 0xd0, 0xd6, 0xf0, 0x91, 0x15, 0x39, 0xea, 0xae, 0x5f, 0xd4, 0x95, + 0xaa, 0x7b, 0x7c, 0x73, 0x4f, 0xa1, 0x27, 0x17, 0x53, 0x8c, 0x5d, 0x9f, + 0x6f, 0xb4, 0x05, 0xc0, 0x18, 0x10, 0x21, 0x28, 0x41, 0xc9, 0x33, 0x3c, + 0xf3, 0xda, 0x10, 0x2c, 0x5e, 0x78, 0x13, 0x53, 0x1e, 0x22, 0xdd, 0x84, + 0xb5, 0xb6, 0x51, 0x67, 0x6f, 0x7c, 0x17, 0x63, 0xd7, 0x17, 0x58, 0x1e, + 0xd7, 0xf4, 0xdd, 0x96, 0x67, 0xbe, 0x3a, 0x77, 0x5c, 0xba, 0x81, 0xd9, + 0xdf, 0x9a, 0x89, 0x99, 0x07, 0x36, 0x76, 0x63, 0xca, 0x55, 0xc0, 0x36, + 0x6e, 0x35, 0xbb, 0x28, 0xa9, 0x07, 0xf4, 0x77, 0x65, 0x38, 0xb6, 0xb3, + 0x8f, 0x63, 0x3b, 0x37, 0xf2, 0xea, 0x37, 0x7b, 0x79, 0x7a, 0x43, 0x01, + 0x35, 0x5d, 0x6e, 0x80, 0x8d, 0x05, 0x7b, 0x43, 0x62, 0xe6, 0xaa, 0x3c, + 0xb0, 0xa9, 0x9b, 0x42, 0x42, 0x19, 0x37, 0xb0, 0x3f, 0x93, 0x42, 0x88, + 0xc1, 0xf9, 0xf9, 0xca, 0xc0, 0xb7, 0x3e, 0x7d, 0x07, 0x2d, 0xd9, 0x18, + 0xb8, 0x7e, 0xa3, 0xd8, 0x9a, 0x86, 0xc0, 0x84, 0x48, 0x2c, 0x5a, 0xc9, + 0xa5, 0x19, 0x51, 0x12, 0x4c, 0xb8, 0x38, 0x17, 0xeb, 0xac, 0x85, 0xba, + 0x47, 0x4b, 0x2e, 0xca, 0xee, 0x2d, 0xb7, 0x33, 0x55, 0x2a, 0x0f, 0x08, + 0xa5, 0x4f, 0x4b, 0x21, 0x24, 0x15, 0x37, 0x78, 0x70, 0x45, 0x36, 0xea, + 0xff, 0x64, 0x7b, 0x1f, 0x78, 0x3e, 0xf8, 0x41, 0xe3, 0xcd, 0x4c, 0x63, + 0x17, 0x02, 0xb3, 0xd4, 0x02, 0x68, 0x84, 0xa4, 0x01, 0xb6, 0x60, 0xc3, + 0x06, 0xdc, 0x0f, 0xc0, 0xf3, 0xf9, 0xe9, 0xb6, 0x4d, 0xb4, 0x27, 0x84, + 0xbf, 0x50, 0x0f, 0x1e, 0x14, 0x52, 0xa0, 0x11, 0x02, 0xa9, 0xd4, 0xf9, + 0xe2, 0xd4, 0xdc, 0x63, 0x5f, 0xd9, 0xbc, 0xe2, 0xe9, 0xb1, 0x52, 0x9d, + 0x3d, 0x2f, 0x0d, 0x36, 0x1e, 0x8e, 0x68, 0x50, 0xf0, 0xc6, 0xe5, 0x69, + 0xbe, 0xfa, 0xcb, 0x01, 0xac, 0xb5, 0x28, 0x25, 0x19, 0x1d, 0x9d, 0x25, + 0x6c, 0x8e, 0x2f, 0xee, 0xc0, 0x82, 0x17, 0x40, 0x10, 0xf0, 0xe3, 0x6d, + 0xbd, 0x6c, 0xed, 0x6d, 0xe3, 0xd2, 0xc8, 0xc4, 0x63, 0x3a, 0x12, 0x39, + 0x2f, 0x00, 0x31, 0x39, 0x35, 0x03, 0x40, 0xbd, 0x5e, 0x47, 0x2b, 0xf9, + 0x5c, 0x7b, 0x6b, 0x7e, 0xc7, 0xaf, 0x4f, 0x5e, 0xe3, 0xbb, 0x2f, 0x0d, + 0x32, 0x36, 0x55, 0x85, 0xa8, 0x6e, 0x24, 0x2a, 0xb8, 0x71, 0x90, 0x28, + 0x09, 0x5a, 0x80, 0x6f, 0xc0, 0x0b, 0xe8, 0x58, 0xd6, 0xc4, 0xbe, 0x2f, + 0xaf, 0x67, 0xeb, 0x47, 0x5b, 0xb9, 0x3c, 0x3c, 0x7e, 0xc0, 0x37, 0x76, + 0x67, 0x2c, 0xb6, 0xf8, 0x47, 0x7b, 0x4f, 0xe0, 0xba, 0x2e, 0x41, 0x10, + 0x10, 0x71, 0xf4, 0xa3, 0x1d, 0x85, 0xec, 0xde, 0x77, 0x4b, 0x7e, 0x64, + 0xff, 0x5f, 0x86, 0x38, 0x78, 0x6a, 0x94, 0xd1, 0xd9, 0x1a, 0xb8, 0xc1, + 0x8d, 0xb4, 0x08, 0x01, 0x51, 0x45, 0x67, 0xae, 0x89, 0x2f, 0x6d, 0xe8, + 0x64, 0xd7, 0x3d, 0xb7, 0xd2, 0x99, 0x10, 0xde, 0x70, 0x71, 0x6a, 0x6f, + 0xdd, 0xf3, 0x9f, 0x52, 0x4a, 0x13, 0x8d, 0x46, 0xdf, 0x2f, 0x08, 0xc3, + 0x10, 0xa9, 0x34, 0x5a, 0xc9, 0x3b, 0x13, 0x51, 0xfd, 0x7c, 0xaa, 0x39, + 0xd1, 0x37, 0xb1, 0x10, 0xca, 0x93, 0x57, 0x4b, 0x9c, 0x2b, 0x2e, 0x30, + 0x5b, 0xf5, 0x01, 0xc8, 0x36, 0x39, 0xac, 0x69, 0x4b, 0xd2, 0xdb, 0x95, + 0xa6, 0x25, 0x2e, 0xcd, 0xcc, 0x5c, 0x79, 0xa0, 0x5c, 0xf3, 0x1f, 0x0e, + 0x82, 0xe0, 0xad, 0xc0, 0xf7, 0x91, 0x4a, 0x7d, 0xb0, 0x40, 0x69, 0x8d, + 0xd6, 0x1a, 0x13, 0x06, 0x48, 0x29, 0xd6, 0x47, 0x95, 0xd8, 0xd5, 0x1c, + 0x8f, 0xf5, 0x6b, 0x47, 0xb5, 0x61, 0x6c, 0xb4, 0x71, 0xc2, 0xb8, 0xae, + 0xe7, 0x17, 0xe7, 0x2a, 0xd5, 0xe3, 0xae, 0x6f, 0xf7, 0x87, 0xc6, 0x0c, + 0xa2, 0x14, 0xbe, 0xe7, 0xe3, 0x7b, 0xde, 0x4d, 0x82, 0xff, 0x02, 0x02, + 0xf8, 0x13, 0x7b, 0x68, 0x18, 0xc9, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x49, + 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __menu_help_png_len = 1711; +unsigned char __menu_ignore_caches_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, + 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x0a, 0x4f, 0x69, 0x43, + 0x43, 0x50, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x73, 0x68, 0x6f, 0x70, 0x20, + 0x49, 0x43, 0x43, 0x20, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x00, + 0x00, 0x78, 0xda, 0x9d, 0x53, 0x67, 0x54, 0x53, 0xe9, 0x16, 0x3d, 0xf7, + 0xde, 0xf4, 0x42, 0x4b, 0x88, 0x80, 0x94, 0x4b, 0x6f, 0x52, 0x15, 0x08, + 0x20, 0x52, 0x42, 0x8b, 0x80, 0x14, 0x91, 0x26, 0x2a, 0x21, 0x09, 0x10, + 0x4a, 0x88, 0x21, 0xa1, 0xd9, 0x15, 0x51, 0xc1, 0x11, 0x45, 0x45, 0x04, + 0x1b, 0xc8, 0xa0, 0x88, 0x03, 0x8e, 0x8e, 0x80, 0x8c, 0x15, 0x51, 0x2c, + 0x0c, 0x8a, 0x0a, 0xd8, 0x07, 0xe4, 0x21, 0xa2, 0x8e, 0x83, 0xa3, 0x88, + 0x8a, 0xca, 0xfb, 0xe1, 0x7b, 0xa3, 0x6b, 0xd6, 0xbc, 0xf7, 0xe6, 0xcd, + 0xfe, 0xb5, 0xd7, 0x3e, 0xe7, 0xac, 0xf3, 0x9d, 0xb3, 0xcf, 0x07, 0xc0, + 0x08, 0x0c, 0x96, 0x48, 0x33, 0x51, 0x35, 0x80, 0x0c, 0xa9, 0x42, 0x1e, + 0x11, 0xe0, 0x83, 0xc7, 0xc4, 0xc6, 0xe1, 0xe4, 0x2e, 0x40, 0x81, 0x0a, + 0x24, 0x70, 0x00, 0x10, 0x08, 0xb3, 0x64, 0x21, 0x73, 0xfd, 0x23, 0x01, + 0x00, 0xf8, 0x7e, 0x3c, 0x3c, 0x2b, 0x22, 0xc0, 0x07, 0xbe, 0x00, 0x01, + 0x78, 0xd3, 0x0b, 0x08, 0x00, 0xc0, 0x4d, 0x9b, 0xc0, 0x30, 0x1c, 0x87, + 0xff, 0x0f, 0xea, 0x42, 0x99, 0x5c, 0x01, 0x80, 0x84, 0x01, 0xc0, 0x74, + 0x91, 0x38, 0x4b, 0x08, 0x80, 0x14, 0x00, 0x40, 0x7a, 0x8e, 0x42, 0xa6, + 0x00, 0x40, 0x46, 0x01, 0x80, 0x9d, 0x98, 0x26, 0x53, 0x00, 0xa0, 0x04, + 0x00, 0x60, 0xcb, 0x63, 0x62, 0xe3, 0x00, 0x50, 0x2d, 0x00, 0x60, 0x27, + 0x7f, 0xe6, 0xd3, 0x00, 0x80, 0x9d, 0xf8, 0x99, 0x7b, 0x01, 0x00, 0x5b, + 0x94, 0x21, 0x15, 0x01, 0xa0, 0x91, 0x00, 0x20, 0x13, 0x65, 0x88, 0x44, + 0x00, 0x68, 0x3b, 0x00, 0xac, 0xcf, 0x56, 0x8a, 0x45, 0x00, 0x58, 0x30, + 0x00, 0x14, 0x66, 0x4b, 0xc4, 0x39, 0x00, 0xd8, 0x2d, 0x00, 0x30, 0x49, + 0x57, 0x66, 0x48, 0x00, 0xb0, 0xb7, 0x00, 0xc0, 0xce, 0x10, 0x0b, 0xb2, + 0x00, 0x08, 0x0c, 0x00, 0x30, 0x51, 0x88, 0x85, 0x29, 0x00, 0x04, 0x7b, + 0x00, 0x60, 0xc8, 0x23, 0x23, 0x78, 0x00, 0x84, 0x99, 0x00, 0x14, 0x46, + 0xf2, 0x57, 0x3c, 0xf1, 0x2b, 0xae, 0x10, 0xe7, 0x2a, 0x00, 0x00, 0x78, + 0x99, 0xb2, 0x3c, 0xb9, 0x24, 0x39, 0x45, 0x81, 0x5b, 0x08, 0x2d, 0x71, + 0x07, 0x57, 0x57, 0x2e, 0x1e, 0x28, 0xce, 0x49, 0x17, 0x2b, 0x14, 0x36, + 0x61, 0x02, 0x61, 0x9a, 0x40, 0x2e, 0xc2, 0x79, 0x99, 0x19, 0x32, 0x81, + 0x34, 0x0f, 0xe0, 0xf3, 0xcc, 0x00, 0x00, 0xa0, 0x91, 0x15, 0x11, 0xe0, + 0x83, 0xf3, 0xfd, 0x78, 0xce, 0x0e, 0xae, 0xce, 0xce, 0x36, 0x8e, 0xb6, + 0x0e, 0x5f, 0x2d, 0xea, 0xbf, 0x06, 0xff, 0x22, 0x62, 0x62, 0xe3, 0xfe, + 0xe5, 0xcf, 0xab, 0x70, 0x40, 0x00, 0x00, 0xe1, 0x74, 0x7e, 0xd1, 0xfe, + 0x2c, 0x2f, 0xb3, 0x1a, 0x80, 0x3b, 0x06, 0x80, 0x6d, 0xfe, 0xa2, 0x25, + 0xee, 0x04, 0x68, 0x5e, 0x0b, 0xa0, 0x75, 0xf7, 0x8b, 0x66, 0xb2, 0x0f, + 0x40, 0xb5, 0x00, 0xa0, 0xe9, 0xda, 0x57, 0xf3, 0x70, 0xf8, 0x7e, 0x3c, + 0x3c, 0x45, 0xa1, 0x90, 0xb9, 0xd9, 0xd9, 0xe5, 0xe4, 0xe4, 0xd8, 0x4a, + 0xc4, 0x42, 0x5b, 0x61, 0xca, 0x57, 0x7d, 0xfe, 0x67, 0xc2, 0x5f, 0xc0, + 0x57, 0xfd, 0x6c, 0xf9, 0x7e, 0x3c, 0xfc, 0xf7, 0xf5, 0xe0, 0xbe, 0xe2, + 0x24, 0x81, 0x32, 0x5d, 0x81, 0x47, 0x04, 0xf8, 0xe0, 0xc2, 0xcc, 0xf4, + 0x4c, 0xa5, 0x1c, 0xcf, 0x92, 0x09, 0x84, 0x62, 0xdc, 0xe6, 0x8f, 0x47, + 0xfc, 0xb7, 0x0b, 0xff, 0xfc, 0x1d, 0xd3, 0x22, 0xc4, 0x49, 0x62, 0xb9, + 0x58, 0x2a, 0x14, 0xe3, 0x51, 0x12, 0x71, 0x8e, 0x44, 0x9a, 0x8c, 0xf3, + 0x32, 0xa5, 0x22, 0x89, 0x42, 0x92, 0x29, 0xc5, 0x25, 0xd2, 0xff, 0x64, + 0xe2, 0xdf, 0x2c, 0xfb, 0x03, 0x3e, 0xdf, 0x35, 0x00, 0xb0, 0x6a, 0x3e, + 0x01, 0x7b, 0x91, 0x2d, 0xa8, 0x5d, 0x63, 0x03, 0xf6, 0x4b, 0x27, 0x10, + 0x58, 0x74, 0xc0, 0xe2, 0xf7, 0x00, 0x00, 0xf2, 0xbb, 0x6f, 0xc1, 0xd4, + 0x28, 0x08, 0x03, 0x80, 0x68, 0x83, 0xe1, 0xcf, 0x77, 0xff, 0xef, 0x3f, + 0xfd, 0x47, 0xa0, 0x25, 0x00, 0x80, 0x66, 0x49, 0x92, 0x71, 0x00, 0x00, + 0x5e, 0x44, 0x24, 0x2e, 0x54, 0xca, 0xb3, 0x3f, 0xc7, 0x08, 0x00, 0x00, + 0x44, 0xa0, 0x81, 0x2a, 0xb0, 0x41, 0x1b, 0xf4, 0xc1, 0x18, 0x2c, 0xc0, + 0x06, 0x1c, 0xc1, 0x05, 0xdc, 0xc1, 0x0b, 0xfc, 0x60, 0x36, 0x84, 0x42, + 0x24, 0xc4, 0xc2, 0x42, 0x10, 0x42, 0x0a, 0x64, 0x80, 0x1c, 0x72, 0x60, + 0x29, 0xac, 0x82, 0x42, 0x28, 0x86, 0xcd, 0xb0, 0x1d, 0x2a, 0x60, 0x2f, + 0xd4, 0x40, 0x1d, 0x34, 0xc0, 0x51, 0x68, 0x86, 0x93, 0x70, 0x0e, 0x2e, + 0xc2, 0x55, 0xb8, 0x0e, 0x3d, 0x70, 0x0f, 0xfa, 0x61, 0x08, 0x9e, 0xc1, + 0x28, 0xbc, 0x81, 0x09, 0x04, 0x41, 0xc8, 0x08, 0x13, 0x61, 0x21, 0xda, + 0x88, 0x01, 0x62, 0x8a, 0x58, 0x23, 0x8e, 0x08, 0x17, 0x99, 0x85, 0xf8, + 0x21, 0xc1, 0x48, 0x04, 0x12, 0x8b, 0x24, 0x20, 0xc9, 0x88, 0x14, 0x51, + 0x22, 0x4b, 0x91, 0x35, 0x48, 0x31, 0x52, 0x8a, 0x54, 0x20, 0x55, 0x48, + 0x1d, 0xf2, 0x3d, 0x72, 0x02, 0x39, 0x87, 0x5c, 0x46, 0xba, 0x91, 0x3b, + 0xc8, 0x00, 0x32, 0x82, 0xfc, 0x86, 0xbc, 0x47, 0x31, 0x94, 0x81, 0xb2, + 0x51, 0x3d, 0xd4, 0x0c, 0xb5, 0x43, 0xb9, 0xa8, 0x37, 0x1a, 0x84, 0x46, + 0xa2, 0x0b, 0xd0, 0x64, 0x74, 0x31, 0x9a, 0x8f, 0x16, 0xa0, 0x9b, 0xd0, + 0x72, 0xb4, 0x1a, 0x3d, 0x8c, 0x36, 0xa1, 0xe7, 0xd0, 0xab, 0x68, 0x0f, + 0xda, 0x8f, 0x3e, 0x43, 0xc7, 0x30, 0xc0, 0xe8, 0x18, 0x07, 0x33, 0xc4, + 0x6c, 0x30, 0x2e, 0xc6, 0xc3, 0x42, 0xb1, 0x38, 0x2c, 0x09, 0x93, 0x63, + 0xcb, 0xb1, 0x22, 0xac, 0x0c, 0xab, 0xc6, 0x1a, 0xb0, 0x56, 0xac, 0x03, + 0xbb, 0x89, 0xf5, 0x63, 0xcf, 0xb1, 0x77, 0x04, 0x12, 0x81, 0x45, 0xc0, + 0x09, 0x36, 0x04, 0x77, 0x42, 0x20, 0x61, 0x1e, 0x41, 0x48, 0x58, 0x4c, + 0x58, 0x4e, 0xd8, 0x48, 0xa8, 0x20, 0x1c, 0x24, 0x34, 0x11, 0xda, 0x09, + 0x37, 0x09, 0x03, 0x84, 0x51, 0xc2, 0x27, 0x22, 0x93, 0xa8, 0x4b, 0xb4, + 0x26, 0xba, 0x11, 0xf9, 0xc4, 0x18, 0x62, 0x32, 0x31, 0x87, 0x58, 0x48, + 0x2c, 0x23, 0xd6, 0x12, 0x8f, 0x13, 0x2f, 0x10, 0x7b, 0x88, 0x43, 0xc4, + 0x37, 0x24, 0x12, 0x89, 0x43, 0x32, 0x27, 0xb9, 0x90, 0x02, 0x49, 0xb1, + 0xa4, 0x54, 0xd2, 0x12, 0xd2, 0x46, 0xd2, 0x6e, 0x52, 0x23, 0xe9, 0x2c, + 0xa9, 0x9b, 0x34, 0x48, 0x1a, 0x23, 0x93, 0xc9, 0xda, 0x64, 0x6b, 0xb2, + 0x07, 0x39, 0x94, 0x2c, 0x20, 0x2b, 0xc8, 0x85, 0xe4, 0x9d, 0xe4, 0xc3, + 0xe4, 0x33, 0xe4, 0x1b, 0xe4, 0x21, 0xf2, 0x5b, 0x0a, 0x9d, 0x62, 0x40, + 0x71, 0xa4, 0xf8, 0x53, 0xe2, 0x28, 0x52, 0xca, 0x6a, 0x4a, 0x19, 0xe5, + 0x10, 0xe5, 0x34, 0xe5, 0x06, 0x65, 0x98, 0x32, 0x41, 0x55, 0xa3, 0x9a, + 0x52, 0xdd, 0xa8, 0xa1, 0x54, 0x11, 0x35, 0x8f, 0x5a, 0x42, 0xad, 0xa1, + 0xb6, 0x52, 0xaf, 0x51, 0x87, 0xa8, 0x13, 0x34, 0x75, 0x9a, 0x39, 0xcd, + 0x83, 0x16, 0x49, 0x4b, 0xa5, 0xad, 0xa2, 0x95, 0xd3, 0x1a, 0x68, 0x17, + 0x68, 0xf7, 0x69, 0xaf, 0xe8, 0x74, 0xba, 0x11, 0xdd, 0x95, 0x1e, 0x4e, + 0x97, 0xd0, 0x57, 0xd2, 0xcb, 0xe9, 0x47, 0xe8, 0x97, 0xe8, 0x03, 0xf4, + 0x77, 0x0c, 0x0d, 0x86, 0x15, 0x83, 0xc7, 0x88, 0x67, 0x28, 0x19, 0x9b, + 0x18, 0x07, 0x18, 0x67, 0x19, 0x77, 0x18, 0xaf, 0x98, 0x4c, 0xa6, 0x19, + 0xd3, 0x8b, 0x19, 0xc7, 0x54, 0x30, 0x37, 0x31, 0xeb, 0x98, 0xe7, 0x99, + 0x0f, 0x99, 0x6f, 0x55, 0x58, 0x2a, 0xb6, 0x2a, 0x7c, 0x15, 0x91, 0xca, + 0x0a, 0x95, 0x4a, 0x95, 0x26, 0x95, 0x1b, 0x2a, 0x2f, 0x54, 0xa9, 0xaa, + 0xa6, 0xaa, 0xde, 0xaa, 0x0b, 0x55, 0xf3, 0x55, 0xcb, 0x54, 0x8f, 0xa9, + 0x5e, 0x53, 0x7d, 0xae, 0x46, 0x55, 0x33, 0x53, 0xe3, 0xa9, 0x09, 0xd4, + 0x96, 0xab, 0x55, 0xaa, 0x9d, 0x50, 0xeb, 0x53, 0x1b, 0x53, 0x67, 0xa9, + 0x3b, 0xa8, 0x87, 0xaa, 0x67, 0xa8, 0x6f, 0x54, 0x3f, 0xa4, 0x7e, 0x59, + 0xfd, 0x89, 0x06, 0x59, 0xc3, 0x4c, 0xc3, 0x4f, 0x43, 0xa4, 0x51, 0xa0, + 0xb1, 0x5f, 0xe3, 0xbc, 0xc6, 0x20, 0x0b, 0x63, 0x19, 0xb3, 0x78, 0x2c, + 0x21, 0x6b, 0x0d, 0xab, 0x86, 0x75, 0x81, 0x35, 0xc4, 0x26, 0xb1, 0xcd, + 0xd9, 0x7c, 0x76, 0x2a, 0xbb, 0x98, 0xfd, 0x1d, 0xbb, 0x8b, 0x3d, 0xaa, + 0xa9, 0xa1, 0x39, 0x43, 0x33, 0x4a, 0x33, 0x57, 0xb3, 0x52, 0xf3, 0x94, + 0x66, 0x3f, 0x07, 0xe3, 0x98, 0x71, 0xf8, 0x9c, 0x74, 0x4e, 0x09, 0xe7, + 0x28, 0xa7, 0x97, 0xf3, 0x7e, 0x8a, 0xde, 0x14, 0xef, 0x29, 0xe2, 0x29, + 0x1b, 0xa6, 0x34, 0x4c, 0xb9, 0x31, 0x65, 0x5c, 0x6b, 0xaa, 0x96, 0x97, + 0x96, 0x58, 0xab, 0x48, 0xab, 0x51, 0xab, 0x47, 0xeb, 0xbd, 0x36, 0xae, + 0xed, 0xa7, 0x9d, 0xa6, 0xbd, 0x45, 0xbb, 0x59, 0xfb, 0x81, 0x0e, 0x41, + 0xc7, 0x4a, 0x27, 0x5c, 0x27, 0x47, 0x67, 0x8f, 0xce, 0x05, 0x9d, 0xe7, + 0x53, 0xd9, 0x53, 0xdd, 0xa7, 0x0a, 0xa7, 0x16, 0x4d, 0x3d, 0x3a, 0xf5, + 0xae, 0x2e, 0xaa, 0x6b, 0xa5, 0x1b, 0xa1, 0xbb, 0x44, 0x77, 0xbf, 0x6e, + 0xa7, 0xee, 0x98, 0x9e, 0xbe, 0x5e, 0x80, 0x9e, 0x4c, 0x6f, 0xa7, 0xde, + 0x79, 0xbd, 0xe7, 0xfa, 0x1c, 0x7d, 0x2f, 0xfd, 0x54, 0xfd, 0x6d, 0xfa, + 0xa7, 0xf5, 0x47, 0x0c, 0x58, 0x06, 0xb3, 0x0c, 0x24, 0x06, 0xdb, 0x0c, + 0xce, 0x18, 0x3c, 0xc5, 0x35, 0x71, 0x6f, 0x3c, 0x1d, 0x2f, 0xc7, 0xdb, + 0xf1, 0x51, 0x43, 0x5d, 0xc3, 0x40, 0x43, 0xa5, 0x61, 0x95, 0x61, 0x97, + 0xe1, 0x84, 0x91, 0xb9, 0xd1, 0x3c, 0xa3, 0xd5, 0x46, 0x8d, 0x46, 0x0f, + 0x8c, 0x69, 0xc6, 0x5c, 0xe3, 0x24, 0xe3, 0x6d, 0xc6, 0x6d, 0xc6, 0xa3, + 0x26, 0x06, 0x26, 0x21, 0x26, 0x4b, 0x4d, 0xea, 0x4d, 0xee, 0x9a, 0x52, + 0x4d, 0xb9, 0xa6, 0x29, 0xa6, 0x3b, 0x4c, 0x3b, 0x4c, 0xc7, 0xcd, 0xcc, + 0xcd, 0xa2, 0xcd, 0xd6, 0x99, 0x35, 0x9b, 0x3d, 0x31, 0xd7, 0x32, 0xe7, + 0x9b, 0xe7, 0x9b, 0xd7, 0x9b, 0xdf, 0xb7, 0x60, 0x5a, 0x78, 0x5a, 0x2c, + 0xb6, 0xa8, 0xb6, 0xb8, 0x65, 0x49, 0xb2, 0xe4, 0x5a, 0xa6, 0x59, 0xee, + 0xb6, 0xbc, 0x6e, 0x85, 0x5a, 0x39, 0x59, 0xa5, 0x58, 0x55, 0x5a, 0x5d, + 0xb3, 0x46, 0xad, 0x9d, 0xad, 0x25, 0xd6, 0xbb, 0xad, 0xbb, 0xa7, 0x11, + 0xa7, 0xb9, 0x4e, 0x93, 0x4e, 0xab, 0x9e, 0xd6, 0x67, 0xc3, 0xb0, 0xf1, + 0xb6, 0xc9, 0xb6, 0xa9, 0xb7, 0x19, 0xb0, 0xe5, 0xd8, 0x06, 0xdb, 0xae, + 0xb6, 0x6d, 0xb6, 0x7d, 0x61, 0x67, 0x62, 0x17, 0x67, 0xb7, 0xc5, 0xae, + 0xc3, 0xee, 0x93, 0xbd, 0x93, 0x7d, 0xba, 0x7d, 0x8d, 0xfd, 0x3d, 0x07, + 0x0d, 0x87, 0xd9, 0x0e, 0xab, 0x1d, 0x5a, 0x1d, 0x7e, 0x73, 0xb4, 0x72, + 0x14, 0x3a, 0x56, 0x3a, 0xde, 0x9a, 0xce, 0x9c, 0xee, 0x3f, 0x7d, 0xc5, + 0xf4, 0x96, 0xe9, 0x2f, 0x67, 0x58, 0xcf, 0x10, 0xcf, 0xd8, 0x33, 0xe3, + 0xb6, 0x13, 0xcb, 0x29, 0xc4, 0x69, 0x9d, 0x53, 0x9b, 0xd3, 0x47, 0x67, + 0x17, 0x67, 0xb9, 0x73, 0x83, 0xf3, 0x88, 0x8b, 0x89, 0x4b, 0x82, 0xcb, + 0x2e, 0x97, 0x3e, 0x2e, 0x9b, 0x1b, 0xc6, 0xdd, 0xc8, 0xbd, 0xe4, 0x4a, + 0x74, 0xf5, 0x71, 0x5d, 0xe1, 0x7a, 0xd2, 0xf5, 0x9d, 0x9b, 0xb3, 0x9b, + 0xc2, 0xed, 0xa8, 0xdb, 0xaf, 0xee, 0x36, 0xee, 0x69, 0xee, 0x87, 0xdc, + 0x9f, 0xcc, 0x34, 0x9f, 0x29, 0x9e, 0x59, 0x33, 0x73, 0xd0, 0xc3, 0xc8, + 0x43, 0xe0, 0x51, 0xe5, 0xd1, 0x3f, 0x0b, 0x9f, 0x95, 0x30, 0x6b, 0xdf, + 0xac, 0x7e, 0x4f, 0x43, 0x4f, 0x81, 0x67, 0xb5, 0xe7, 0x23, 0x2f, 0x63, + 0x2f, 0x91, 0x57, 0xad, 0xd7, 0xb0, 0xb7, 0xa5, 0x77, 0xaa, 0xf7, 0x61, + 0xef, 0x17, 0x3e, 0xf6, 0x3e, 0x72, 0x9f, 0xe3, 0x3e, 0xe3, 0x3c, 0x37, + 0xde, 0x32, 0xde, 0x59, 0x5f, 0xcc, 0x37, 0xc0, 0xb7, 0xc8, 0xb7, 0xcb, + 0x4f, 0xc3, 0x6f, 0x9e, 0x5f, 0x85, 0xdf, 0x43, 0x7f, 0x23, 0xff, 0x64, + 0xff, 0x7a, 0xff, 0xd1, 0x00, 0xa7, 0x80, 0x25, 0x01, 0x67, 0x03, 0x89, + 0x81, 0x41, 0x81, 0x5b, 0x02, 0xfb, 0xf8, 0x7a, 0x7c, 0x21, 0xbf, 0x8e, + 0x3f, 0x3a, 0xdb, 0x65, 0xf6, 0xb2, 0xd9, 0xed, 0x41, 0x8c, 0xa0, 0xb9, + 0x41, 0x15, 0x41, 0x8f, 0x82, 0xad, 0x82, 0xe5, 0xc1, 0xad, 0x21, 0x68, + 0xc8, 0xec, 0x90, 0xad, 0x21, 0xf7, 0xe7, 0x98, 0xce, 0x91, 0xce, 0x69, + 0x0e, 0x85, 0x50, 0x7e, 0xe8, 0xd6, 0xd0, 0x07, 0x61, 0xe6, 0x61, 0x8b, + 0xc3, 0x7e, 0x0c, 0x27, 0x85, 0x87, 0x85, 0x57, 0x86, 0x3f, 0x8e, 0x70, + 0x88, 0x58, 0x1a, 0xd1, 0x31, 0x97, 0x35, 0x77, 0xd1, 0xdc, 0x43, 0x73, + 0xdf, 0x44, 0xfa, 0x44, 0x96, 0x44, 0xde, 0x9b, 0x67, 0x31, 0x4f, 0x39, + 0xaf, 0x2d, 0x4a, 0x35, 0x2a, 0x3e, 0xaa, 0x2e, 0x6a, 0x3c, 0xda, 0x37, + 0xba, 0x34, 0xba, 0x3f, 0xc6, 0x2e, 0x66, 0x59, 0xcc, 0xd5, 0x58, 0x9d, + 0x58, 0x49, 0x6c, 0x4b, 0x1c, 0x39, 0x2e, 0x2a, 0xae, 0x36, 0x6e, 0x6c, + 0xbe, 0xdf, 0xfc, 0xed, 0xf3, 0x87, 0xe2, 0x9d, 0xe2, 0x0b, 0xe3, 0x7b, + 0x17, 0x98, 0x2f, 0xc8, 0x5d, 0x70, 0x79, 0xa1, 0xce, 0xc2, 0xf4, 0x85, + 0xa7, 0x16, 0xa9, 0x2e, 0x12, 0x2c, 0x3a, 0x96, 0x40, 0x4c, 0x88, 0x4e, + 0x38, 0x94, 0xf0, 0x41, 0x10, 0x2a, 0xa8, 0x16, 0x8c, 0x25, 0xf2, 0x13, + 0x77, 0x25, 0x8e, 0x0a, 0x79, 0xc2, 0x1d, 0xc2, 0x67, 0x22, 0x2f, 0xd1, + 0x36, 0xd1, 0x88, 0xd8, 0x43, 0x5c, 0x2a, 0x1e, 0x4e, 0xf2, 0x48, 0x2a, + 0x4d, 0x7a, 0x92, 0xec, 0x91, 0xbc, 0x35, 0x79, 0x24, 0xc5, 0x33, 0xa5, + 0x2c, 0xe5, 0xb9, 0x84, 0x27, 0xa9, 0x90, 0xbc, 0x4c, 0x0d, 0x4c, 0xdd, + 0x9b, 0x3a, 0x9e, 0x16, 0x9a, 0x76, 0x20, 0x6d, 0x32, 0x3d, 0x3a, 0xbd, + 0x31, 0x83, 0x92, 0x91, 0x90, 0x71, 0x42, 0xaa, 0x21, 0x4d, 0x93, 0xb6, + 0x67, 0xea, 0x67, 0xe6, 0x66, 0x76, 0xcb, 0xac, 0x65, 0x85, 0xb2, 0xfe, + 0xc5, 0x6e, 0x8b, 0xb7, 0x2f, 0x1e, 0x95, 0x07, 0xc9, 0x6b, 0xb3, 0x90, + 0xac, 0x05, 0x59, 0x2d, 0x0a, 0xb6, 0x42, 0xa6, 0xe8, 0x54, 0x5a, 0x28, + 0xd7, 0x2a, 0x07, 0xb2, 0x67, 0x65, 0x57, 0x66, 0xbf, 0xcd, 0x89, 0xca, + 0x39, 0x96, 0xab, 0x9e, 0x2b, 0xcd, 0xed, 0xcc, 0xb3, 0xca, 0xdb, 0x90, + 0x37, 0x9c, 0xef, 0x9f, 0xff, 0xed, 0x12, 0xc2, 0x12, 0xe1, 0x92, 0xb6, + 0xa5, 0x86, 0x4b, 0x57, 0x2d, 0x1d, 0x58, 0xe6, 0xbd, 0xac, 0x6a, 0x39, + 0xb2, 0x3c, 0x71, 0x79, 0xdb, 0x0a, 0xe3, 0x15, 0x05, 0x2b, 0x86, 0x56, + 0x06, 0xac, 0x3c, 0xb8, 0x8a, 0xb6, 0x2a, 0x6d, 0xd5, 0x4f, 0xab, 0xed, + 0x57, 0x97, 0xae, 0x7e, 0xbd, 0x26, 0x7a, 0x4d, 0x6b, 0x81, 0x5e, 0xc1, + 0xca, 0x82, 0xc1, 0xb5, 0x01, 0x6b, 0xeb, 0x0b, 0x55, 0x0a, 0xe5, 0x85, + 0x7d, 0xeb, 0xdc, 0xd7, 0xed, 0x5d, 0x4f, 0x58, 0x2f, 0x59, 0xdf, 0xb5, + 0x61, 0xfa, 0x86, 0x9d, 0x1b, 0x3e, 0x15, 0x89, 0x8a, 0xae, 0x14, 0xdb, + 0x17, 0x97, 0x15, 0x7f, 0xd8, 0x28, 0xdc, 0x78, 0xe5, 0x1b, 0x87, 0x6f, + 0xca, 0xbf, 0x99, 0xdc, 0x94, 0xb4, 0xa9, 0xab, 0xc4, 0xb9, 0x64, 0xcf, + 0x66, 0xd2, 0x66, 0xe9, 0xe6, 0xde, 0x2d, 0x9e, 0x5b, 0x0e, 0x96, 0xaa, + 0x97, 0xe6, 0x97, 0x0e, 0x6e, 0x0d, 0xd9, 0xda, 0xb4, 0x0d, 0xdf, 0x56, + 0xb4, 0xed, 0xf5, 0xf6, 0x45, 0xdb, 0x2f, 0x97, 0xcd, 0x28, 0xdb, 0xbb, + 0x83, 0xb6, 0x43, 0xb9, 0xa3, 0xbf, 0x3c, 0xb8, 0xbc, 0x65, 0xa7, 0xc9, + 0xce, 0xcd, 0x3b, 0x3f, 0x54, 0xa4, 0x54, 0xf4, 0x54, 0xfa, 0x54, 0x36, + 0xee, 0xd2, 0xdd, 0xb5, 0x61, 0xd7, 0xf8, 0x6e, 0xd1, 0xee, 0x1b, 0x7b, + 0xbc, 0xf6, 0x34, 0xec, 0xd5, 0xdb, 0x5b, 0xbc, 0xf7, 0xfd, 0x3e, 0xc9, + 0xbe, 0xdb, 0x55, 0x01, 0x55, 0x4d, 0xd5, 0x66, 0xd5, 0x65, 0xfb, 0x49, + 0xfb, 0xb3, 0xf7, 0x3f, 0xae, 0x89, 0xaa, 0xe9, 0xf8, 0x96, 0xfb, 0x6d, + 0x5d, 0xad, 0x4e, 0x6d, 0x71, 0xed, 0xc7, 0x03, 0xd2, 0x03, 0xfd, 0x07, + 0x23, 0x0e, 0xb6, 0xd7, 0xb9, 0xd4, 0xd5, 0x1d, 0xd2, 0x3d, 0x54, 0x52, + 0x8f, 0xd6, 0x2b, 0xeb, 0x47, 0x0e, 0xc7, 0x1f, 0xbe, 0xfe, 0x9d, 0xef, + 0x77, 0x2d, 0x0d, 0x36, 0x0d, 0x55, 0x8d, 0x9c, 0xc6, 0xe2, 0x23, 0x70, + 0x44, 0x79, 0xe4, 0xe9, 0xf7, 0x09, 0xdf, 0xf7, 0x1e, 0x0d, 0x3a, 0xda, + 0x76, 0x8c, 0x7b, 0xac, 0xe1, 0x07, 0xd3, 0x1f, 0x76, 0x1d, 0x67, 0x1d, + 0x2f, 0x6a, 0x42, 0x9a, 0xf2, 0x9a, 0x46, 0x9b, 0x53, 0x9a, 0xfb, 0x5b, + 0x62, 0x5b, 0xba, 0x4f, 0xcc, 0x3e, 0xd1, 0xd6, 0xea, 0xde, 0x7a, 0xfc, + 0x47, 0xdb, 0x1f, 0x0f, 0x9c, 0x34, 0x3c, 0x59, 0x79, 0x4a, 0xf3, 0x54, + 0xc9, 0x69, 0xda, 0xe9, 0x82, 0xd3, 0x93, 0x67, 0xf2, 0xcf, 0x8c, 0x9d, + 0x95, 0x9d, 0x7d, 0x7e, 0x2e, 0xf9, 0xdc, 0x60, 0xdb, 0xa2, 0xb6, 0x7b, + 0xe7, 0x63, 0xce, 0xdf, 0x6a, 0x0f, 0x6f, 0xef, 0xba, 0x10, 0x74, 0xe1, + 0xd2, 0x45, 0xff, 0x8b, 0xe7, 0x3b, 0xbc, 0x3b, 0xce, 0x5c, 0xf2, 0xb8, + 0x74, 0xf2, 0xb2, 0xdb, 0xe5, 0x13, 0x57, 0xb8, 0x57, 0x9a, 0xaf, 0x3a, + 0x5f, 0x6d, 0xea, 0x74, 0xea, 0x3c, 0xfe, 0x93, 0xd3, 0x4f, 0xc7, 0xbb, + 0x9c, 0xbb, 0x9a, 0xae, 0xb9, 0x5c, 0x6b, 0xb9, 0xee, 0x7a, 0xbd, 0xb5, + 0x7b, 0x66, 0xf7, 0xe9, 0x1b, 0x9e, 0x37, 0xce, 0xdd, 0xf4, 0xbd, 0x79, + 0xf1, 0x16, 0xff, 0xd6, 0xd5, 0x9e, 0x39, 0x3d, 0xdd, 0xbd, 0xf3, 0x7a, + 0x6f, 0xf7, 0xc5, 0xf7, 0xf5, 0xdf, 0x16, 0xdd, 0x7e, 0x72, 0x27, 0xfd, + 0xce, 0xcb, 0xbb, 0xd9, 0x77, 0x27, 0xee, 0xad, 0xbc, 0x4f, 0xbc, 0x5f, + 0xf4, 0x40, 0xed, 0x41, 0xd9, 0x43, 0xdd, 0x87, 0xd5, 0x3f, 0x5b, 0xfe, + 0xdc, 0xd8, 0xef, 0xdc, 0x7f, 0x6a, 0xc0, 0x77, 0xa0, 0xf3, 0xd1, 0xdc, + 0x47, 0xf7, 0x06, 0x85, 0x83, 0xcf, 0xfe, 0x91, 0xf5, 0x8f, 0x0f, 0x43, + 0x05, 0x8f, 0x99, 0x8f, 0xcb, 0x86, 0x0d, 0x86, 0xeb, 0x9e, 0x38, 0x3e, + 0x39, 0x39, 0xe2, 0x3f, 0x72, 0xfd, 0xe9, 0xfc, 0xa7, 0x43, 0xcf, 0x64, + 0xcf, 0x26, 0x9e, 0x17, 0xfe, 0xa2, 0xfe, 0xcb, 0xae, 0x17, 0x16, 0x2f, + 0x7e, 0xf8, 0xd5, 0xeb, 0xd7, 0xce, 0xd1, 0x98, 0xd1, 0xa1, 0x97, 0xf2, + 0x97, 0x93, 0xbf, 0x6d, 0x7c, 0xa5, 0xfd, 0xea, 0xc0, 0xeb, 0x19, 0xaf, + 0xdb, 0xc6, 0xc2, 0xc6, 0x1e, 0xbe, 0xc9, 0x78, 0x33, 0x31, 0x5e, 0xf4, + 0x56, 0xfb, 0xed, 0xc1, 0x77, 0xdc, 0x77, 0x1d, 0xef, 0xa3, 0xdf, 0x0f, + 0x4f, 0xe4, 0x7c, 0x20, 0x7f, 0x28, 0xff, 0x68, 0xf9, 0xb1, 0xf5, 0x53, + 0xd0, 0xa7, 0xfb, 0x93, 0x19, 0x93, 0x93, 0xff, 0x04, 0x03, 0x98, 0xf3, + 0xfc, 0x63, 0x33, 0x2d, 0xdb, 0x00, 0x00, 0x00, 0x20, 0x63, 0x48, 0x52, + 0x4d, 0x00, 0x00, 0x7a, 0x25, 0x00, 0x00, 0x80, 0x83, 0x00, 0x00, 0xf9, + 0xff, 0x00, 0x00, 0x80, 0xe9, 0x00, 0x00, 0x75, 0x30, 0x00, 0x00, 0xea, + 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00, 0x00, 0x17, 0x6f, 0x92, 0x5f, 0xc5, + 0x46, 0x00, 0x00, 0x04, 0xfe, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x84, + 0x95, 0x5b, 0x68, 0x5c, 0x55, 0x14, 0x86, 0xbf, 0xbd, 0xcf, 0x99, 0xcb, + 0xc9, 0x6d, 0x92, 0x36, 0x99, 0x4e, 0x2f, 0x26, 0xe9, 0x25, 0x46, 0xaa, + 0x60, 0x15, 0x2f, 0xb5, 0xa0, 0x68, 0xd4, 0xaa, 0xc5, 0xd6, 0xaa, 0xf5, + 0x02, 0x0a, 0x82, 0xa8, 0x28, 0xde, 0x1e, 0x34, 0xa0, 0x0f, 0x82, 0x3e, + 0x08, 0xa2, 0x4f, 0xa2, 0x28, 0x54, 0x11, 0xc5, 0x0a, 0x82, 0x52, 0x31, + 0xb6, 0xf5, 0xde, 0x5a, 0xd0, 0xa0, 0x2d, 0x8a, 0xb5, 0x2d, 0x12, 0xab, + 0xb5, 0xa9, 0x93, 0x9a, 0xd6, 0x5c, 0x3b, 0xe3, 0x99, 0xcb, 0xd9, 0x7b, + 0x2f, 0x1f, 0x26, 0x33, 0x4d, 0xda, 0xb4, 0x2e, 0x58, 0x2f, 0x73, 0x58, + 0xf3, 0xaf, 0xff, 0x5f, 0xeb, 0x5f, 0x5b, 0x89, 0x08, 0x3f, 0xef, 0x1f, + 0xf8, 0x2a, 0x93, 0x6e, 0x5d, 0x0a, 0x58, 0xc5, 0xa9, 0x21, 0x80, 0x73, + 0x0e, 0x71, 0x0e, 0x01, 0xff, 0xe8, 0x3f, 0x63, 0xc3, 0xf9, 0x30, 0xbc, + 0x2f, 0x2c, 0x16, 0xf7, 0x39, 0xe7, 0x88, 0xfb, 0x3e, 0x32, 0x4b, 0xdd, + 0xea, 0x2b, 0x2e, 0xc3, 0x07, 0x68, 0x6a, 0x6c, 0xc8, 0x64, 0xda, 0xe6, + 0x76, 0xf2, 0x3f, 0x61, 0xac, 0x45, 0x9c, 0x90, 0x4c, 0x26, 0x3a, 0x26, + 0x26, 0x73, 0x6f, 0xfd, 0x7e, 0xe8, 0xf0, 0x7a, 0x11, 0x39, 0x72, 0xa6, + 0x1a, 0x0d, 0xa0, 0xc0, 0x30, 0xd5, 0xe5, 0x99, 0x52, 0x01, 0x4e, 0x04, + 0xad, 0x35, 0xad, 0x73, 0x9a, 0x2f, 0x5e, 0xde, 0xb5, 0xf4, 0x5d, 0xa0, + 0xc1, 0x39, 0x07, 0x80, 0x52, 0x0a, 0xa5, 0xa8, 0x25, 0x50, 0x61, 0x50, + 0x43, 0xd3, 0xfa, 0xff, 0x48, 0x20, 0x80, 0xa7, 0x34, 0x56, 0x1c, 0xed, + 0x0b, 0x33, 0x3d, 0x82, 0x6c, 0x1a, 0xcc, 0x1e, 0x59, 0x1f, 0x16, 0x4a, + 0x58, 0x67, 0x50, 0xcc, 0x14, 0x79, 0x06, 0x40, 0xb5, 0x93, 0x6a, 0x8c, + 0x8e, 0x8e, 0xb2, 0x65, 0xcb, 0x27, 0x8c, 0x8c, 0x8c, 0xb2, 0x62, 0xc5, + 0xf9, 0xf4, 0xf4, 0x5c, 0x8d, 0x52, 0x0a, 0xcf, 0xf3, 0xc8, 0x1d, 0x0f, + 0x51, 0xc0, 0x9c, 0x54, 0xea, 0xa6, 0x42, 0xa1, 0xb8, 0xe9, 0x8f, 0xc1, + 0xec, 0xdd, 0xe5, 0xc8, 0xa0, 0x94, 0x9a, 0x45, 0x22, 0xad, 0x6a, 0x0c, + 0xa6, 0xe7, 0x3b, 0xef, 0xbc, 0x0d, 0x28, 0xd6, 0xad, 0x5b, 0x47, 0x6b, + 0x6b, 0x1b, 0x9e, 0xe7, 0x61, 0x8d, 0x21, 0x91, 0x88, 0x51, 0x5f, 0x97, + 0xa4, 0x54, 0x8e, 0x98, 0xcc, 0xe5, 0x89, 0xc5, 0x62, 0x77, 0xc5, 0x63, + 0xb1, 0x17, 0x41, 0xce, 0x2c, 0xd1, 0xc9, 0x0c, 0x06, 0x06, 0x06, 0x78, + 0xe2, 0x89, 0x1b, 0xe9, 0xea, 0xea, 0x02, 0xc0, 0x5a, 0x8b, 0xd2, 0x1a, + 0x11, 0x48, 0xc4, 0xe3, 0x68, 0xad, 0x89, 0x8c, 0x25, 0x16, 0x8f, 0x53, + 0x57, 0x17, 0x9c, 0x97, 0xcb, 0xff, 0xcb, 0x49, 0x0a, 0x9d, 0x7e, 0x06, + 0x03, 0x03, 0x03, 0x00, 0x64, 0xb3, 0x59, 0x94, 0xd2, 0x74, 0x77, 0x77, + 0x57, 0xbb, 0x20, 0x8a, 0x0c, 0x22, 0x82, 0x9b, 0x4a, 0x11, 0x07, 0x10, + 0x55, 0x5a, 0x9f, 0x65, 0x8b, 0xa6, 0x33, 0xa8, 0x66, 0x5f, 0x5f, 0x1f, + 0x00, 0xfd, 0xfd, 0xfd, 0xf4, 0xf5, 0xf5, 0xe1, 0x9c, 0xc3, 0x4e, 0xad, + 0x29, 0x54, 0xff, 0x58, 0x40, 0x04, 0x11, 0x66, 0xf5, 0xc1, 0x29, 0x00, + 0xd3, 0xf5, 0xef, 0xed, 0xed, 0x05, 0xe0, 0x8e, 0x3b, 0xee, 0xa4, 0xb7, + 0xb7, 0x17, 0xad, 0x35, 0x9e, 0xe7, 0xe1, 0xc4, 0x21, 0x72, 0x62, 0xa5, + 0x2a, 0x18, 0x52, 0x63, 0x34, 0xeb, 0x0c, 0xaa, 0x05, 0x27, 0xcf, 0xa0, + 0xf2, 0xcd, 0xd5, 0x7e, 0x97, 0xa9, 0x6e, 0x3d, 0xab, 0x50, 0x46, 0x61, + 0x8d, 0x25, 0x26, 0x42, 0xa0, 0xe3, 0xd4, 0xe9, 0x98, 0x6a, 0x4e, 0xc6, + 0x09, 0x12, 0x7a, 0x0a, 0x79, 0x1a, 0x40, 0x55, 0x96, 0x33, 0xf9, 0x40, + 0x44, 0xf0, 0x3c, 0x8f, 0x72, 0xbe, 0xc8, 0xce, 0xa1, 0x1f, 0xf9, 0xec, + 0xf0, 0x2e, 0x06, 0x73, 0x7f, 0xa3, 0xb5, 0xe6, 0xec, 0xe6, 0x76, 0xae, + 0x5d, 0x70, 0xd1, 0xca, 0x73, 0x5b, 0x3a, 0x5e, 0xf9, 0x6b, 0xf8, 0xc8, + 0xe3, 0x91, 0x8b, 0x5c, 0x75, 0x5d, 0x6b, 0x00, 0x5a, 0xeb, 0x59, 0x19, + 0x28, 0xa5, 0x6b, 0xc0, 0xc3, 0x47, 0x87, 0x79, 0xf6, 0xc7, 0x37, 0xd8, + 0x7c, 0xe8, 0x3b, 0x62, 0x7e, 0x9c, 0x20, 0x96, 0x00, 0x05, 0xfd, 0x23, + 0xbf, 0xb2, 0x71, 0xe0, 0xe3, 0xb6, 0xfb, 0xcf, 0x5d, 0xfb, 0xc8, 0x23, + 0x8b, 0x6f, 0x5e, 0x3a, 0x94, 0x1d, 0xda, 0x60, 0xc4, 0x86, 0xd3, 0x00, + 0x84, 0x42, 0xb1, 0x4c, 0x90, 0x8c, 0x9f, 0xd6, 0xbe, 0xa5, 0xb0, 0xc8, + 0x93, 0xbb, 0x5f, 0x66, 0xeb, 0xd0, 0x6e, 0xba, 0xd3, 0x8b, 0x08, 0x7c, + 0xf0, 0x95, 0xc3, 0x8a, 0xc5, 0xd7, 0x8d, 0xac, 0xe9, 0x58, 0xcd, 0x6b, + 0x7b, 0x3e, 0xa4, 0x48, 0x74, 0xc3, 0x53, 0x9d, 0x77, 0xbe, 0x7a, 0x68, + 0xe8, 0xf0, 0xbd, 0x35, 0x00, 0x2b, 0x0e, 0x63, 0x0d, 0x61, 0xe8, 0x2a, + 0x3a, 0xe3, 0x50, 0xda, 0x03, 0x20, 0x2c, 0x16, 0x29, 0x1d, 0x2f, 0xf1, + 0xee, 0x1f, 0xdb, 0xf8, 0x6c, 0xf8, 0x7b, 0x56, 0x2d, 0xe8, 0x20, 0xe5, + 0x1b, 0xea, 0x7d, 0x45, 0x5c, 0x43, 0x68, 0x8a, 0xdc, 0xd2, 0xb5, 0x81, + 0xb5, 0x4b, 0x6e, 0x66, 0x41, 0x43, 0x1b, 0x0f, 0x6c, 0x7f, 0x8e, 0xab, + 0xe7, 0x5f, 0x7c, 0x6b, 0x77, 0x43, 0xfa, 0x4d, 0xa0, 0x5f, 0x57, 0x25, + 0x8a, 0x8c, 0xc5, 0x38, 0x8b, 0x15, 0x87, 0x93, 0x8a, 0xa9, 0x1e, 0x7a, + 0xf8, 0x51, 0xe6, 0xa5, 0xe7, 0x93, 0x8b, 0x0a, 0xfc, 0x30, 0xf6, 0x25, + 0x97, 0xb6, 0x35, 0xb2, 0x28, 0x88, 0xc8, 0x04, 0x42, 0x26, 0x08, 0xa8, + 0xf7, 0xe1, 0xf2, 0xf9, 0x2b, 0x59, 0xbb, 0x64, 0x3d, 0xe3, 0xa5, 0x90, + 0x1d, 0x83, 0x5f, 0xb2, 0xaa, 0x2d, 0xe0, 0x87, 0xf1, 0xed, 0x4d, 0x4d, + 0x2d, 0x2d, 0xf7, 0xd5, 0x18, 0x18, 0xe3, 0x88, 0x8c, 0x11, 0x11, 0x6f, + 0x86, 0x4d, 0x3a, 0x3a, 0x17, 0xe3, 0x8c, 0xe3, 0x9f, 0xe2, 0x18, 0x29, + 0x3f, 0xcb, 0xe2, 0xb4, 0x63, 0x71, 0xf3, 0x95, 0xd4, 0xc7, 0x02, 0xbe, + 0x19, 0xfc, 0x80, 0xc6, 0x58, 0x13, 0x6b, 0x96, 0xdc, 0x0e, 0x28, 0x36, + 0xee, 0xdd, 0x84, 0x96, 0x2c, 0xab, 0x17, 0x06, 0x4c, 0x44, 0xbf, 0x23, + 0x49, 0x7f, 0xf9, 0x8c, 0x21, 0x47, 0x91, 0x51, 0x4e, 0x4e, 0xb5, 0x8b, + 0x33, 0x0e, 0x27, 0x11, 0xbe, 0x32, 0xa4, 0x93, 0xc2, 0x55, 0xed, 0x97, + 0x93, 0xa9, 0x3f, 0x07, 0x5f, 0x59, 0x9a, 0xe2, 0xf5, 0x64, 0x1a, 0x3a, + 0xd8, 0x39, 0xf4, 0x0b, 0x07, 0x47, 0xb7, 0xd1, 0xd9, 0x30, 0x41, 0x93, + 0x1f, 0x90, 0x37, 0x09, 0x3c, 0x4f, 0xc5, 0xa7, 0x01, 0x58, 0x31, 0xd6, + 0x8a, 0x13, 0x51, 0x27, 0x8e, 0x72, 0x25, 0xac, 0x11, 0x1a, 0xfd, 0x26, + 0x52, 0x89, 0xb9, 0x8c, 0xfc, 0xfb, 0x13, 0x9f, 0x1e, 0x78, 0x96, 0xdb, + 0x96, 0xbf, 0xce, 0x9a, 0xa5, 0xf7, 0x20, 0xe2, 0x98, 0x28, 0x95, 0xe9, + 0x3b, 0xf0, 0x22, 0x67, 0x05, 0xfb, 0xb0, 0xd6, 0x70, 0x2c, 0x6c, 0xa4, + 0xa5, 0xbe, 0x07, 0xcf, 0xea, 0xe1, 0x9a, 0x93, 0x8d, 0x75, 0xaa, 0x5c, + 0x8e, 0x54, 0xa9, 0x54, 0xa2, 0x92, 0x65, 0x4a, 0xa5, 0x88, 0x52, 0x39, + 0xa2, 0x6c, 0x0c, 0xbe, 0x04, 0x2c, 0x4b, 0xad, 0x64, 0xa4, 0x38, 0xce, + 0xc1, 0xb1, 0xaf, 0x79, 0x6f, 0xef, 0xfd, 0xe4, 0xca, 0xa3, 0x28, 0xa5, + 0xd9, 0x7c, 0xe0, 0x7d, 0x6c, 0xf9, 0x0b, 0xb4, 0x12, 0x14, 0x1e, 0xa3, + 0x85, 0x11, 0xce, 0x6e, 0x5e, 0x45, 0x54, 0x8c, 0xb6, 0xd5, 0x00, 0x9c, + 0x73, 0xca, 0x58, 0x87, 0xb1, 0x52, 0x19, 0xb0, 0x54, 0x9e, 0x47, 0x63, + 0x2c, 0xce, 0x59, 0x8e, 0x87, 0x39, 0x2e, 0x99, 0x7b, 0x13, 0x73, 0xeb, + 0x2f, 0x02, 0x3c, 0xfe, 0x9a, 0xdc, 0xc9, 0x07, 0xfb, 0x1f, 0xe4, 0xe7, + 0x63, 0xfb, 0xd8, 0x33, 0xfc, 0x16, 0x6d, 0xc9, 0x24, 0x4e, 0x14, 0x61, + 0x94, 0x63, 0x51, 0x73, 0x0f, 0x2b, 0x52, 0xd7, 0xec, 0x9e, 0xcc, 0x8f, + 0x6f, 0x3c, 0xb1, 0xa6, 0xd6, 0xc5, 0x23, 0x63, 0x6a, 0xcf, 0xde, 0xb4, + 0xf5, 0x17, 0x05, 0xca, 0xba, 0x32, 0x3a, 0xd7, 0xc0, 0x86, 0xae, 0x17, + 0xd8, 0x72, 0xf0, 0x69, 0x46, 0xf2, 0xbb, 0xf8, 0x73, 0x62, 0x07, 0xbf, + 0x8d, 0xef, 0xa5, 0x51, 0x87, 0x44, 0xce, 0x11, 0xb9, 0x3c, 0x0b, 0x5b, + 0xae, 0x62, 0xdd, 0x92, 0xe7, 0x8f, 0x16, 0xc6, 0x0b, 0xcf, 0x18, 0x1b, + 0x95, 0x01, 0x94, 0x88, 0xb0, 0x75, 0xfb, 0xb7, 0x4f, 0xfb, 0x9e, 0x37, + 0x0f, 0xb0, 0xa7, 0x3b, 0x15, 0xd6, 0x39, 0xb7, 0x60, 0x4e, 0x3a, 0x98, + 0xdf, 0x5e, 0x77, 0xdd, 0x9e, 0x89, 0xcd, 0xcb, 0x0e, 0x8c, 0x7d, 0x4d, + 0xbe, 0x94, 0x45, 0x2b, 0x9f, 0xa6, 0xc4, 0x42, 0xba, 0x5b, 0xaf, 0xe7, + 0x82, 0xd6, 0x0d, 0xfb, 0x0b, 0x63, 0xd1, 0x33, 0x99, 0x45, 0xe9, 0x8f, + 0x6a, 0x97, 0x40, 0x44, 0xf8, 0xf8, 0xf3, 0x1d, 0x33, 0xde, 0xdc, 0x19, + 0xb7, 0x77, 0xda, 0x89, 0x4f, 0x35, 0x04, 0x74, 0xa4, 0x33, 0xcb, 0x5a, + 0x5a, 0x5a, 0x1f, 0x93, 0x58, 0xe9, 0xc2, 0x82, 0x4c, 0xce, 0xd3, 0xca, + 0x73, 0x81, 0x4e, 0x0d, 0xab, 0x28, 0xbe, 0xab, 0x1c, 0x15, 0x5e, 0x0a, + 0x0b, 0xf9, 0x63, 0xed, 0x9d, 0x1d, 0xb5, 0xf2, 0xff, 0x06, 0x00, 0x8d, + 0xbc, 0xb5, 0x16, 0x82, 0x03, 0xcb, 0x41, 0x00, 0x00, 0x00, 0x00, 0x49, + 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __menu_ignore_caches_png_len = 4051; +unsigned char __menu_ignore_caches_disabled_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, + 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x0a, 0x4f, 0x69, 0x43, + 0x43, 0x50, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x73, 0x68, 0x6f, 0x70, 0x20, + 0x49, 0x43, 0x43, 0x20, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x00, + 0x00, 0x78, 0xda, 0x9d, 0x53, 0x67, 0x54, 0x53, 0xe9, 0x16, 0x3d, 0xf7, + 0xde, 0xf4, 0x42, 0x4b, 0x88, 0x80, 0x94, 0x4b, 0x6f, 0x52, 0x15, 0x08, + 0x20, 0x52, 0x42, 0x8b, 0x80, 0x14, 0x91, 0x26, 0x2a, 0x21, 0x09, 0x10, + 0x4a, 0x88, 0x21, 0xa1, 0xd9, 0x15, 0x51, 0xc1, 0x11, 0x45, 0x45, 0x04, + 0x1b, 0xc8, 0xa0, 0x88, 0x03, 0x8e, 0x8e, 0x80, 0x8c, 0x15, 0x51, 0x2c, + 0x0c, 0x8a, 0x0a, 0xd8, 0x07, 0xe4, 0x21, 0xa2, 0x8e, 0x83, 0xa3, 0x88, + 0x8a, 0xca, 0xfb, 0xe1, 0x7b, 0xa3, 0x6b, 0xd6, 0xbc, 0xf7, 0xe6, 0xcd, + 0xfe, 0xb5, 0xd7, 0x3e, 0xe7, 0xac, 0xf3, 0x9d, 0xb3, 0xcf, 0x07, 0xc0, + 0x08, 0x0c, 0x96, 0x48, 0x33, 0x51, 0x35, 0x80, 0x0c, 0xa9, 0x42, 0x1e, + 0x11, 0xe0, 0x83, 0xc7, 0xc4, 0xc6, 0xe1, 0xe4, 0x2e, 0x40, 0x81, 0x0a, + 0x24, 0x70, 0x00, 0x10, 0x08, 0xb3, 0x64, 0x21, 0x73, 0xfd, 0x23, 0x01, + 0x00, 0xf8, 0x7e, 0x3c, 0x3c, 0x2b, 0x22, 0xc0, 0x07, 0xbe, 0x00, 0x01, + 0x78, 0xd3, 0x0b, 0x08, 0x00, 0xc0, 0x4d, 0x9b, 0xc0, 0x30, 0x1c, 0x87, + 0xff, 0x0f, 0xea, 0x42, 0x99, 0x5c, 0x01, 0x80, 0x84, 0x01, 0xc0, 0x74, + 0x91, 0x38, 0x4b, 0x08, 0x80, 0x14, 0x00, 0x40, 0x7a, 0x8e, 0x42, 0xa6, + 0x00, 0x40, 0x46, 0x01, 0x80, 0x9d, 0x98, 0x26, 0x53, 0x00, 0xa0, 0x04, + 0x00, 0x60, 0xcb, 0x63, 0x62, 0xe3, 0x00, 0x50, 0x2d, 0x00, 0x60, 0x27, + 0x7f, 0xe6, 0xd3, 0x00, 0x80, 0x9d, 0xf8, 0x99, 0x7b, 0x01, 0x00, 0x5b, + 0x94, 0x21, 0x15, 0x01, 0xa0, 0x91, 0x00, 0x20, 0x13, 0x65, 0x88, 0x44, + 0x00, 0x68, 0x3b, 0x00, 0xac, 0xcf, 0x56, 0x8a, 0x45, 0x00, 0x58, 0x30, + 0x00, 0x14, 0x66, 0x4b, 0xc4, 0x39, 0x00, 0xd8, 0x2d, 0x00, 0x30, 0x49, + 0x57, 0x66, 0x48, 0x00, 0xb0, 0xb7, 0x00, 0xc0, 0xce, 0x10, 0x0b, 0xb2, + 0x00, 0x08, 0x0c, 0x00, 0x30, 0x51, 0x88, 0x85, 0x29, 0x00, 0x04, 0x7b, + 0x00, 0x60, 0xc8, 0x23, 0x23, 0x78, 0x00, 0x84, 0x99, 0x00, 0x14, 0x46, + 0xf2, 0x57, 0x3c, 0xf1, 0x2b, 0xae, 0x10, 0xe7, 0x2a, 0x00, 0x00, 0x78, + 0x99, 0xb2, 0x3c, 0xb9, 0x24, 0x39, 0x45, 0x81, 0x5b, 0x08, 0x2d, 0x71, + 0x07, 0x57, 0x57, 0x2e, 0x1e, 0x28, 0xce, 0x49, 0x17, 0x2b, 0x14, 0x36, + 0x61, 0x02, 0x61, 0x9a, 0x40, 0x2e, 0xc2, 0x79, 0x99, 0x19, 0x32, 0x81, + 0x34, 0x0f, 0xe0, 0xf3, 0xcc, 0x00, 0x00, 0xa0, 0x91, 0x15, 0x11, 0xe0, + 0x83, 0xf3, 0xfd, 0x78, 0xce, 0x0e, 0xae, 0xce, 0xce, 0x36, 0x8e, 0xb6, + 0x0e, 0x5f, 0x2d, 0xea, 0xbf, 0x06, 0xff, 0x22, 0x62, 0x62, 0xe3, 0xfe, + 0xe5, 0xcf, 0xab, 0x70, 0x40, 0x00, 0x00, 0xe1, 0x74, 0x7e, 0xd1, 0xfe, + 0x2c, 0x2f, 0xb3, 0x1a, 0x80, 0x3b, 0x06, 0x80, 0x6d, 0xfe, 0xa2, 0x25, + 0xee, 0x04, 0x68, 0x5e, 0x0b, 0xa0, 0x75, 0xf7, 0x8b, 0x66, 0xb2, 0x0f, + 0x40, 0xb5, 0x00, 0xa0, 0xe9, 0xda, 0x57, 0xf3, 0x70, 0xf8, 0x7e, 0x3c, + 0x3c, 0x45, 0xa1, 0x90, 0xb9, 0xd9, 0xd9, 0xe5, 0xe4, 0xe4, 0xd8, 0x4a, + 0xc4, 0x42, 0x5b, 0x61, 0xca, 0x57, 0x7d, 0xfe, 0x67, 0xc2, 0x5f, 0xc0, + 0x57, 0xfd, 0x6c, 0xf9, 0x7e, 0x3c, 0xfc, 0xf7, 0xf5, 0xe0, 0xbe, 0xe2, + 0x24, 0x81, 0x32, 0x5d, 0x81, 0x47, 0x04, 0xf8, 0xe0, 0xc2, 0xcc, 0xf4, + 0x4c, 0xa5, 0x1c, 0xcf, 0x92, 0x09, 0x84, 0x62, 0xdc, 0xe6, 0x8f, 0x47, + 0xfc, 0xb7, 0x0b, 0xff, 0xfc, 0x1d, 0xd3, 0x22, 0xc4, 0x49, 0x62, 0xb9, + 0x58, 0x2a, 0x14, 0xe3, 0x51, 0x12, 0x71, 0x8e, 0x44, 0x9a, 0x8c, 0xf3, + 0x32, 0xa5, 0x22, 0x89, 0x42, 0x92, 0x29, 0xc5, 0x25, 0xd2, 0xff, 0x64, + 0xe2, 0xdf, 0x2c, 0xfb, 0x03, 0x3e, 0xdf, 0x35, 0x00, 0xb0, 0x6a, 0x3e, + 0x01, 0x7b, 0x91, 0x2d, 0xa8, 0x5d, 0x63, 0x03, 0xf6, 0x4b, 0x27, 0x10, + 0x58, 0x74, 0xc0, 0xe2, 0xf7, 0x00, 0x00, 0xf2, 0xbb, 0x6f, 0xc1, 0xd4, + 0x28, 0x08, 0x03, 0x80, 0x68, 0x83, 0xe1, 0xcf, 0x77, 0xff, 0xef, 0x3f, + 0xfd, 0x47, 0xa0, 0x25, 0x00, 0x80, 0x66, 0x49, 0x92, 0x71, 0x00, 0x00, + 0x5e, 0x44, 0x24, 0x2e, 0x54, 0xca, 0xb3, 0x3f, 0xc7, 0x08, 0x00, 0x00, + 0x44, 0xa0, 0x81, 0x2a, 0xb0, 0x41, 0x1b, 0xf4, 0xc1, 0x18, 0x2c, 0xc0, + 0x06, 0x1c, 0xc1, 0x05, 0xdc, 0xc1, 0x0b, 0xfc, 0x60, 0x36, 0x84, 0x42, + 0x24, 0xc4, 0xc2, 0x42, 0x10, 0x42, 0x0a, 0x64, 0x80, 0x1c, 0x72, 0x60, + 0x29, 0xac, 0x82, 0x42, 0x28, 0x86, 0xcd, 0xb0, 0x1d, 0x2a, 0x60, 0x2f, + 0xd4, 0x40, 0x1d, 0x34, 0xc0, 0x51, 0x68, 0x86, 0x93, 0x70, 0x0e, 0x2e, + 0xc2, 0x55, 0xb8, 0x0e, 0x3d, 0x70, 0x0f, 0xfa, 0x61, 0x08, 0x9e, 0xc1, + 0x28, 0xbc, 0x81, 0x09, 0x04, 0x41, 0xc8, 0x08, 0x13, 0x61, 0x21, 0xda, + 0x88, 0x01, 0x62, 0x8a, 0x58, 0x23, 0x8e, 0x08, 0x17, 0x99, 0x85, 0xf8, + 0x21, 0xc1, 0x48, 0x04, 0x12, 0x8b, 0x24, 0x20, 0xc9, 0x88, 0x14, 0x51, + 0x22, 0x4b, 0x91, 0x35, 0x48, 0x31, 0x52, 0x8a, 0x54, 0x20, 0x55, 0x48, + 0x1d, 0xf2, 0x3d, 0x72, 0x02, 0x39, 0x87, 0x5c, 0x46, 0xba, 0x91, 0x3b, + 0xc8, 0x00, 0x32, 0x82, 0xfc, 0x86, 0xbc, 0x47, 0x31, 0x94, 0x81, 0xb2, + 0x51, 0x3d, 0xd4, 0x0c, 0xb5, 0x43, 0xb9, 0xa8, 0x37, 0x1a, 0x84, 0x46, + 0xa2, 0x0b, 0xd0, 0x64, 0x74, 0x31, 0x9a, 0x8f, 0x16, 0xa0, 0x9b, 0xd0, + 0x72, 0xb4, 0x1a, 0x3d, 0x8c, 0x36, 0xa1, 0xe7, 0xd0, 0xab, 0x68, 0x0f, + 0xda, 0x8f, 0x3e, 0x43, 0xc7, 0x30, 0xc0, 0xe8, 0x18, 0x07, 0x33, 0xc4, + 0x6c, 0x30, 0x2e, 0xc6, 0xc3, 0x42, 0xb1, 0x38, 0x2c, 0x09, 0x93, 0x63, + 0xcb, 0xb1, 0x22, 0xac, 0x0c, 0xab, 0xc6, 0x1a, 0xb0, 0x56, 0xac, 0x03, + 0xbb, 0x89, 0xf5, 0x63, 0xcf, 0xb1, 0x77, 0x04, 0x12, 0x81, 0x45, 0xc0, + 0x09, 0x36, 0x04, 0x77, 0x42, 0x20, 0x61, 0x1e, 0x41, 0x48, 0x58, 0x4c, + 0x58, 0x4e, 0xd8, 0x48, 0xa8, 0x20, 0x1c, 0x24, 0x34, 0x11, 0xda, 0x09, + 0x37, 0x09, 0x03, 0x84, 0x51, 0xc2, 0x27, 0x22, 0x93, 0xa8, 0x4b, 0xb4, + 0x26, 0xba, 0x11, 0xf9, 0xc4, 0x18, 0x62, 0x32, 0x31, 0x87, 0x58, 0x48, + 0x2c, 0x23, 0xd6, 0x12, 0x8f, 0x13, 0x2f, 0x10, 0x7b, 0x88, 0x43, 0xc4, + 0x37, 0x24, 0x12, 0x89, 0x43, 0x32, 0x27, 0xb9, 0x90, 0x02, 0x49, 0xb1, + 0xa4, 0x54, 0xd2, 0x12, 0xd2, 0x46, 0xd2, 0x6e, 0x52, 0x23, 0xe9, 0x2c, + 0xa9, 0x9b, 0x34, 0x48, 0x1a, 0x23, 0x93, 0xc9, 0xda, 0x64, 0x6b, 0xb2, + 0x07, 0x39, 0x94, 0x2c, 0x20, 0x2b, 0xc8, 0x85, 0xe4, 0x9d, 0xe4, 0xc3, + 0xe4, 0x33, 0xe4, 0x1b, 0xe4, 0x21, 0xf2, 0x5b, 0x0a, 0x9d, 0x62, 0x40, + 0x71, 0xa4, 0xf8, 0x53, 0xe2, 0x28, 0x52, 0xca, 0x6a, 0x4a, 0x19, 0xe5, + 0x10, 0xe5, 0x34, 0xe5, 0x06, 0x65, 0x98, 0x32, 0x41, 0x55, 0xa3, 0x9a, + 0x52, 0xdd, 0xa8, 0xa1, 0x54, 0x11, 0x35, 0x8f, 0x5a, 0x42, 0xad, 0xa1, + 0xb6, 0x52, 0xaf, 0x51, 0x87, 0xa8, 0x13, 0x34, 0x75, 0x9a, 0x39, 0xcd, + 0x83, 0x16, 0x49, 0x4b, 0xa5, 0xad, 0xa2, 0x95, 0xd3, 0x1a, 0x68, 0x17, + 0x68, 0xf7, 0x69, 0xaf, 0xe8, 0x74, 0xba, 0x11, 0xdd, 0x95, 0x1e, 0x4e, + 0x97, 0xd0, 0x57, 0xd2, 0xcb, 0xe9, 0x47, 0xe8, 0x97, 0xe8, 0x03, 0xf4, + 0x77, 0x0c, 0x0d, 0x86, 0x15, 0x83, 0xc7, 0x88, 0x67, 0x28, 0x19, 0x9b, + 0x18, 0x07, 0x18, 0x67, 0x19, 0x77, 0x18, 0xaf, 0x98, 0x4c, 0xa6, 0x19, + 0xd3, 0x8b, 0x19, 0xc7, 0x54, 0x30, 0x37, 0x31, 0xeb, 0x98, 0xe7, 0x99, + 0x0f, 0x99, 0x6f, 0x55, 0x58, 0x2a, 0xb6, 0x2a, 0x7c, 0x15, 0x91, 0xca, + 0x0a, 0x95, 0x4a, 0x95, 0x26, 0x95, 0x1b, 0x2a, 0x2f, 0x54, 0xa9, 0xaa, + 0xa6, 0xaa, 0xde, 0xaa, 0x0b, 0x55, 0xf3, 0x55, 0xcb, 0x54, 0x8f, 0xa9, + 0x5e, 0x53, 0x7d, 0xae, 0x46, 0x55, 0x33, 0x53, 0xe3, 0xa9, 0x09, 0xd4, + 0x96, 0xab, 0x55, 0xaa, 0x9d, 0x50, 0xeb, 0x53, 0x1b, 0x53, 0x67, 0xa9, + 0x3b, 0xa8, 0x87, 0xaa, 0x67, 0xa8, 0x6f, 0x54, 0x3f, 0xa4, 0x7e, 0x59, + 0xfd, 0x89, 0x06, 0x59, 0xc3, 0x4c, 0xc3, 0x4f, 0x43, 0xa4, 0x51, 0xa0, + 0xb1, 0x5f, 0xe3, 0xbc, 0xc6, 0x20, 0x0b, 0x63, 0x19, 0xb3, 0x78, 0x2c, + 0x21, 0x6b, 0x0d, 0xab, 0x86, 0x75, 0x81, 0x35, 0xc4, 0x26, 0xb1, 0xcd, + 0xd9, 0x7c, 0x76, 0x2a, 0xbb, 0x98, 0xfd, 0x1d, 0xbb, 0x8b, 0x3d, 0xaa, + 0xa9, 0xa1, 0x39, 0x43, 0x33, 0x4a, 0x33, 0x57, 0xb3, 0x52, 0xf3, 0x94, + 0x66, 0x3f, 0x07, 0xe3, 0x98, 0x71, 0xf8, 0x9c, 0x74, 0x4e, 0x09, 0xe7, + 0x28, 0xa7, 0x97, 0xf3, 0x7e, 0x8a, 0xde, 0x14, 0xef, 0x29, 0xe2, 0x29, + 0x1b, 0xa6, 0x34, 0x4c, 0xb9, 0x31, 0x65, 0x5c, 0x6b, 0xaa, 0x96, 0x97, + 0x96, 0x58, 0xab, 0x48, 0xab, 0x51, 0xab, 0x47, 0xeb, 0xbd, 0x36, 0xae, + 0xed, 0xa7, 0x9d, 0xa6, 0xbd, 0x45, 0xbb, 0x59, 0xfb, 0x81, 0x0e, 0x41, + 0xc7, 0x4a, 0x27, 0x5c, 0x27, 0x47, 0x67, 0x8f, 0xce, 0x05, 0x9d, 0xe7, + 0x53, 0xd9, 0x53, 0xdd, 0xa7, 0x0a, 0xa7, 0x16, 0x4d, 0x3d, 0x3a, 0xf5, + 0xae, 0x2e, 0xaa, 0x6b, 0xa5, 0x1b, 0xa1, 0xbb, 0x44, 0x77, 0xbf, 0x6e, + 0xa7, 0xee, 0x98, 0x9e, 0xbe, 0x5e, 0x80, 0x9e, 0x4c, 0x6f, 0xa7, 0xde, + 0x79, 0xbd, 0xe7, 0xfa, 0x1c, 0x7d, 0x2f, 0xfd, 0x54, 0xfd, 0x6d, 0xfa, + 0xa7, 0xf5, 0x47, 0x0c, 0x58, 0x06, 0xb3, 0x0c, 0x24, 0x06, 0xdb, 0x0c, + 0xce, 0x18, 0x3c, 0xc5, 0x35, 0x71, 0x6f, 0x3c, 0x1d, 0x2f, 0xc7, 0xdb, + 0xf1, 0x51, 0x43, 0x5d, 0xc3, 0x40, 0x43, 0xa5, 0x61, 0x95, 0x61, 0x97, + 0xe1, 0x84, 0x91, 0xb9, 0xd1, 0x3c, 0xa3, 0xd5, 0x46, 0x8d, 0x46, 0x0f, + 0x8c, 0x69, 0xc6, 0x5c, 0xe3, 0x24, 0xe3, 0x6d, 0xc6, 0x6d, 0xc6, 0xa3, + 0x26, 0x06, 0x26, 0x21, 0x26, 0x4b, 0x4d, 0xea, 0x4d, 0xee, 0x9a, 0x52, + 0x4d, 0xb9, 0xa6, 0x29, 0xa6, 0x3b, 0x4c, 0x3b, 0x4c, 0xc7, 0xcd, 0xcc, + 0xcd, 0xa2, 0xcd, 0xd6, 0x99, 0x35, 0x9b, 0x3d, 0x31, 0xd7, 0x32, 0xe7, + 0x9b, 0xe7, 0x9b, 0xd7, 0x9b, 0xdf, 0xb7, 0x60, 0x5a, 0x78, 0x5a, 0x2c, + 0xb6, 0xa8, 0xb6, 0xb8, 0x65, 0x49, 0xb2, 0xe4, 0x5a, 0xa6, 0x59, 0xee, + 0xb6, 0xbc, 0x6e, 0x85, 0x5a, 0x39, 0x59, 0xa5, 0x58, 0x55, 0x5a, 0x5d, + 0xb3, 0x46, 0xad, 0x9d, 0xad, 0x25, 0xd6, 0xbb, 0xad, 0xbb, 0xa7, 0x11, + 0xa7, 0xb9, 0x4e, 0x93, 0x4e, 0xab, 0x9e, 0xd6, 0x67, 0xc3, 0xb0, 0xf1, + 0xb6, 0xc9, 0xb6, 0xa9, 0xb7, 0x19, 0xb0, 0xe5, 0xd8, 0x06, 0xdb, 0xae, + 0xb6, 0x6d, 0xb6, 0x7d, 0x61, 0x67, 0x62, 0x17, 0x67, 0xb7, 0xc5, 0xae, + 0xc3, 0xee, 0x93, 0xbd, 0x93, 0x7d, 0xba, 0x7d, 0x8d, 0xfd, 0x3d, 0x07, + 0x0d, 0x87, 0xd9, 0x0e, 0xab, 0x1d, 0x5a, 0x1d, 0x7e, 0x73, 0xb4, 0x72, + 0x14, 0x3a, 0x56, 0x3a, 0xde, 0x9a, 0xce, 0x9c, 0xee, 0x3f, 0x7d, 0xc5, + 0xf4, 0x96, 0xe9, 0x2f, 0x67, 0x58, 0xcf, 0x10, 0xcf, 0xd8, 0x33, 0xe3, + 0xb6, 0x13, 0xcb, 0x29, 0xc4, 0x69, 0x9d, 0x53, 0x9b, 0xd3, 0x47, 0x67, + 0x17, 0x67, 0xb9, 0x73, 0x83, 0xf3, 0x88, 0x8b, 0x89, 0x4b, 0x82, 0xcb, + 0x2e, 0x97, 0x3e, 0x2e, 0x9b, 0x1b, 0xc6, 0xdd, 0xc8, 0xbd, 0xe4, 0x4a, + 0x74, 0xf5, 0x71, 0x5d, 0xe1, 0x7a, 0xd2, 0xf5, 0x9d, 0x9b, 0xb3, 0x9b, + 0xc2, 0xed, 0xa8, 0xdb, 0xaf, 0xee, 0x36, 0xee, 0x69, 0xee, 0x87, 0xdc, + 0x9f, 0xcc, 0x34, 0x9f, 0x29, 0x9e, 0x59, 0x33, 0x73, 0xd0, 0xc3, 0xc8, + 0x43, 0xe0, 0x51, 0xe5, 0xd1, 0x3f, 0x0b, 0x9f, 0x95, 0x30, 0x6b, 0xdf, + 0xac, 0x7e, 0x4f, 0x43, 0x4f, 0x81, 0x67, 0xb5, 0xe7, 0x23, 0x2f, 0x63, + 0x2f, 0x91, 0x57, 0xad, 0xd7, 0xb0, 0xb7, 0xa5, 0x77, 0xaa, 0xf7, 0x61, + 0xef, 0x17, 0x3e, 0xf6, 0x3e, 0x72, 0x9f, 0xe3, 0x3e, 0xe3, 0x3c, 0x37, + 0xde, 0x32, 0xde, 0x59, 0x5f, 0xcc, 0x37, 0xc0, 0xb7, 0xc8, 0xb7, 0xcb, + 0x4f, 0xc3, 0x6f, 0x9e, 0x5f, 0x85, 0xdf, 0x43, 0x7f, 0x23, 0xff, 0x64, + 0xff, 0x7a, 0xff, 0xd1, 0x00, 0xa7, 0x80, 0x25, 0x01, 0x67, 0x03, 0x89, + 0x81, 0x41, 0x81, 0x5b, 0x02, 0xfb, 0xf8, 0x7a, 0x7c, 0x21, 0xbf, 0x8e, + 0x3f, 0x3a, 0xdb, 0x65, 0xf6, 0xb2, 0xd9, 0xed, 0x41, 0x8c, 0xa0, 0xb9, + 0x41, 0x15, 0x41, 0x8f, 0x82, 0xad, 0x82, 0xe5, 0xc1, 0xad, 0x21, 0x68, + 0xc8, 0xec, 0x90, 0xad, 0x21, 0xf7, 0xe7, 0x98, 0xce, 0x91, 0xce, 0x69, + 0x0e, 0x85, 0x50, 0x7e, 0xe8, 0xd6, 0xd0, 0x07, 0x61, 0xe6, 0x61, 0x8b, + 0xc3, 0x7e, 0x0c, 0x27, 0x85, 0x87, 0x85, 0x57, 0x86, 0x3f, 0x8e, 0x70, + 0x88, 0x58, 0x1a, 0xd1, 0x31, 0x97, 0x35, 0x77, 0xd1, 0xdc, 0x43, 0x73, + 0xdf, 0x44, 0xfa, 0x44, 0x96, 0x44, 0xde, 0x9b, 0x67, 0x31, 0x4f, 0x39, + 0xaf, 0x2d, 0x4a, 0x35, 0x2a, 0x3e, 0xaa, 0x2e, 0x6a, 0x3c, 0xda, 0x37, + 0xba, 0x34, 0xba, 0x3f, 0xc6, 0x2e, 0x66, 0x59, 0xcc, 0xd5, 0x58, 0x9d, + 0x58, 0x49, 0x6c, 0x4b, 0x1c, 0x39, 0x2e, 0x2a, 0xae, 0x36, 0x6e, 0x6c, + 0xbe, 0xdf, 0xfc, 0xed, 0xf3, 0x87, 0xe2, 0x9d, 0xe2, 0x0b, 0xe3, 0x7b, + 0x17, 0x98, 0x2f, 0xc8, 0x5d, 0x70, 0x79, 0xa1, 0xce, 0xc2, 0xf4, 0x85, + 0xa7, 0x16, 0xa9, 0x2e, 0x12, 0x2c, 0x3a, 0x96, 0x40, 0x4c, 0x88, 0x4e, + 0x38, 0x94, 0xf0, 0x41, 0x10, 0x2a, 0xa8, 0x16, 0x8c, 0x25, 0xf2, 0x13, + 0x77, 0x25, 0x8e, 0x0a, 0x79, 0xc2, 0x1d, 0xc2, 0x67, 0x22, 0x2f, 0xd1, + 0x36, 0xd1, 0x88, 0xd8, 0x43, 0x5c, 0x2a, 0x1e, 0x4e, 0xf2, 0x48, 0x2a, + 0x4d, 0x7a, 0x92, 0xec, 0x91, 0xbc, 0x35, 0x79, 0x24, 0xc5, 0x33, 0xa5, + 0x2c, 0xe5, 0xb9, 0x84, 0x27, 0xa9, 0x90, 0xbc, 0x4c, 0x0d, 0x4c, 0xdd, + 0x9b, 0x3a, 0x9e, 0x16, 0x9a, 0x76, 0x20, 0x6d, 0x32, 0x3d, 0x3a, 0xbd, + 0x31, 0x83, 0x92, 0x91, 0x90, 0x71, 0x42, 0xaa, 0x21, 0x4d, 0x93, 0xb6, + 0x67, 0xea, 0x67, 0xe6, 0x66, 0x76, 0xcb, 0xac, 0x65, 0x85, 0xb2, 0xfe, + 0xc5, 0x6e, 0x8b, 0xb7, 0x2f, 0x1e, 0x95, 0x07, 0xc9, 0x6b, 0xb3, 0x90, + 0xac, 0x05, 0x59, 0x2d, 0x0a, 0xb6, 0x42, 0xa6, 0xe8, 0x54, 0x5a, 0x28, + 0xd7, 0x2a, 0x07, 0xb2, 0x67, 0x65, 0x57, 0x66, 0xbf, 0xcd, 0x89, 0xca, + 0x39, 0x96, 0xab, 0x9e, 0x2b, 0xcd, 0xed, 0xcc, 0xb3, 0xca, 0xdb, 0x90, + 0x37, 0x9c, 0xef, 0x9f, 0xff, 0xed, 0x12, 0xc2, 0x12, 0xe1, 0x92, 0xb6, + 0xa5, 0x86, 0x4b, 0x57, 0x2d, 0x1d, 0x58, 0xe6, 0xbd, 0xac, 0x6a, 0x39, + 0xb2, 0x3c, 0x71, 0x79, 0xdb, 0x0a, 0xe3, 0x15, 0x05, 0x2b, 0x86, 0x56, + 0x06, 0xac, 0x3c, 0xb8, 0x8a, 0xb6, 0x2a, 0x6d, 0xd5, 0x4f, 0xab, 0xed, + 0x57, 0x97, 0xae, 0x7e, 0xbd, 0x26, 0x7a, 0x4d, 0x6b, 0x81, 0x5e, 0xc1, + 0xca, 0x82, 0xc1, 0xb5, 0x01, 0x6b, 0xeb, 0x0b, 0x55, 0x0a, 0xe5, 0x85, + 0x7d, 0xeb, 0xdc, 0xd7, 0xed, 0x5d, 0x4f, 0x58, 0x2f, 0x59, 0xdf, 0xb5, + 0x61, 0xfa, 0x86, 0x9d, 0x1b, 0x3e, 0x15, 0x89, 0x8a, 0xae, 0x14, 0xdb, + 0x17, 0x97, 0x15, 0x7f, 0xd8, 0x28, 0xdc, 0x78, 0xe5, 0x1b, 0x87, 0x6f, + 0xca, 0xbf, 0x99, 0xdc, 0x94, 0xb4, 0xa9, 0xab, 0xc4, 0xb9, 0x64, 0xcf, + 0x66, 0xd2, 0x66, 0xe9, 0xe6, 0xde, 0x2d, 0x9e, 0x5b, 0x0e, 0x96, 0xaa, + 0x97, 0xe6, 0x97, 0x0e, 0x6e, 0x0d, 0xd9, 0xda, 0xb4, 0x0d, 0xdf, 0x56, + 0xb4, 0xed, 0xf5, 0xf6, 0x45, 0xdb, 0x2f, 0x97, 0xcd, 0x28, 0xdb, 0xbb, + 0x83, 0xb6, 0x43, 0xb9, 0xa3, 0xbf, 0x3c, 0xb8, 0xbc, 0x65, 0xa7, 0xc9, + 0xce, 0xcd, 0x3b, 0x3f, 0x54, 0xa4, 0x54, 0xf4, 0x54, 0xfa, 0x54, 0x36, + 0xee, 0xd2, 0xdd, 0xb5, 0x61, 0xd7, 0xf8, 0x6e, 0xd1, 0xee, 0x1b, 0x7b, + 0xbc, 0xf6, 0x34, 0xec, 0xd5, 0xdb, 0x5b, 0xbc, 0xf7, 0xfd, 0x3e, 0xc9, + 0xbe, 0xdb, 0x55, 0x01, 0x55, 0x4d, 0xd5, 0x66, 0xd5, 0x65, 0xfb, 0x49, + 0xfb, 0xb3, 0xf7, 0x3f, 0xae, 0x89, 0xaa, 0xe9, 0xf8, 0x96, 0xfb, 0x6d, + 0x5d, 0xad, 0x4e, 0x6d, 0x71, 0xed, 0xc7, 0x03, 0xd2, 0x03, 0xfd, 0x07, + 0x23, 0x0e, 0xb6, 0xd7, 0xb9, 0xd4, 0xd5, 0x1d, 0xd2, 0x3d, 0x54, 0x52, + 0x8f, 0xd6, 0x2b, 0xeb, 0x47, 0x0e, 0xc7, 0x1f, 0xbe, 0xfe, 0x9d, 0xef, + 0x77, 0x2d, 0x0d, 0x36, 0x0d, 0x55, 0x8d, 0x9c, 0xc6, 0xe2, 0x23, 0x70, + 0x44, 0x79, 0xe4, 0xe9, 0xf7, 0x09, 0xdf, 0xf7, 0x1e, 0x0d, 0x3a, 0xda, + 0x76, 0x8c, 0x7b, 0xac, 0xe1, 0x07, 0xd3, 0x1f, 0x76, 0x1d, 0x67, 0x1d, + 0x2f, 0x6a, 0x42, 0x9a, 0xf2, 0x9a, 0x46, 0x9b, 0x53, 0x9a, 0xfb, 0x5b, + 0x62, 0x5b, 0xba, 0x4f, 0xcc, 0x3e, 0xd1, 0xd6, 0xea, 0xde, 0x7a, 0xfc, + 0x47, 0xdb, 0x1f, 0x0f, 0x9c, 0x34, 0x3c, 0x59, 0x79, 0x4a, 0xf3, 0x54, + 0xc9, 0x69, 0xda, 0xe9, 0x82, 0xd3, 0x93, 0x67, 0xf2, 0xcf, 0x8c, 0x9d, + 0x95, 0x9d, 0x7d, 0x7e, 0x2e, 0xf9, 0xdc, 0x60, 0xdb, 0xa2, 0xb6, 0x7b, + 0xe7, 0x63, 0xce, 0xdf, 0x6a, 0x0f, 0x6f, 0xef, 0xba, 0x10, 0x74, 0xe1, + 0xd2, 0x45, 0xff, 0x8b, 0xe7, 0x3b, 0xbc, 0x3b, 0xce, 0x5c, 0xf2, 0xb8, + 0x74, 0xf2, 0xb2, 0xdb, 0xe5, 0x13, 0x57, 0xb8, 0x57, 0x9a, 0xaf, 0x3a, + 0x5f, 0x6d, 0xea, 0x74, 0xea, 0x3c, 0xfe, 0x93, 0xd3, 0x4f, 0xc7, 0xbb, + 0x9c, 0xbb, 0x9a, 0xae, 0xb9, 0x5c, 0x6b, 0xb9, 0xee, 0x7a, 0xbd, 0xb5, + 0x7b, 0x66, 0xf7, 0xe9, 0x1b, 0x9e, 0x37, 0xce, 0xdd, 0xf4, 0xbd, 0x79, + 0xf1, 0x16, 0xff, 0xd6, 0xd5, 0x9e, 0x39, 0x3d, 0xdd, 0xbd, 0xf3, 0x7a, + 0x6f, 0xf7, 0xc5, 0xf7, 0xf5, 0xdf, 0x16, 0xdd, 0x7e, 0x72, 0x27, 0xfd, + 0xce, 0xcb, 0xbb, 0xd9, 0x77, 0x27, 0xee, 0xad, 0xbc, 0x4f, 0xbc, 0x5f, + 0xf4, 0x40, 0xed, 0x41, 0xd9, 0x43, 0xdd, 0x87, 0xd5, 0x3f, 0x5b, 0xfe, + 0xdc, 0xd8, 0xef, 0xdc, 0x7f, 0x6a, 0xc0, 0x77, 0xa0, 0xf3, 0xd1, 0xdc, + 0x47, 0xf7, 0x06, 0x85, 0x83, 0xcf, 0xfe, 0x91, 0xf5, 0x8f, 0x0f, 0x43, + 0x05, 0x8f, 0x99, 0x8f, 0xcb, 0x86, 0x0d, 0x86, 0xeb, 0x9e, 0x38, 0x3e, + 0x39, 0x39, 0xe2, 0x3f, 0x72, 0xfd, 0xe9, 0xfc, 0xa7, 0x43, 0xcf, 0x64, + 0xcf, 0x26, 0x9e, 0x17, 0xfe, 0xa2, 0xfe, 0xcb, 0xae, 0x17, 0x16, 0x2f, + 0x7e, 0xf8, 0xd5, 0xeb, 0xd7, 0xce, 0xd1, 0x98, 0xd1, 0xa1, 0x97, 0xf2, + 0x97, 0x93, 0xbf, 0x6d, 0x7c, 0xa5, 0xfd, 0xea, 0xc0, 0xeb, 0x19, 0xaf, + 0xdb, 0xc6, 0xc2, 0xc6, 0x1e, 0xbe, 0xc9, 0x78, 0x33, 0x31, 0x5e, 0xf4, + 0x56, 0xfb, 0xed, 0xc1, 0x77, 0xdc, 0x77, 0x1d, 0xef, 0xa3, 0xdf, 0x0f, + 0x4f, 0xe4, 0x7c, 0x20, 0x7f, 0x28, 0xff, 0x68, 0xf9, 0xb1, 0xf5, 0x53, + 0xd0, 0xa7, 0xfb, 0x93, 0x19, 0x93, 0x93, 0xff, 0x04, 0x03, 0x98, 0xf3, + 0xfc, 0x63, 0x33, 0x2d, 0xdb, 0x00, 0x00, 0x00, 0x20, 0x63, 0x48, 0x52, + 0x4d, 0x00, 0x00, 0x7a, 0x25, 0x00, 0x00, 0x80, 0x83, 0x00, 0x00, 0xf9, + 0xff, 0x00, 0x00, 0x80, 0xe9, 0x00, 0x00, 0x75, 0x30, 0x00, 0x00, 0xea, + 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00, 0x00, 0x17, 0x6f, 0x92, 0x5f, 0xc5, + 0x46, 0x00, 0x00, 0x04, 0xf0, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x84, + 0x95, 0x5b, 0x6c, 0x54, 0x55, 0x14, 0x86, 0xbf, 0xbd, 0xcf, 0x99, 0xcb, + 0xe9, 0x4c, 0x3b, 0x6d, 0x69, 0xc7, 0x29, 0xad, 0x2d, 0x45, 0x6b, 0x0d, + 0x26, 0x8a, 0x46, 0x01, 0x49, 0x30, 0x82, 0x4a, 0x4c, 0x23, 0xa8, 0x04, + 0x95, 0x27, 0x7d, 0xd2, 0x68, 0xd4, 0x27, 0x6d, 0xa2, 0x6f, 0xfa, 0x60, + 0x62, 0x7c, 0xf3, 0x45, 0x13, 0x4d, 0x8c, 0x44, 0x4d, 0x88, 0x1a, 0x12, + 0x2a, 0xe2, 0x2d, 0x52, 0x49, 0x94, 0x28, 0x04, 0x23, 0xa2, 0x31, 0xb5, + 0x80, 0x14, 0xa6, 0x58, 0xb1, 0x57, 0x66, 0x98, 0xdb, 0xd9, 0x7b, 0x2f, + 0x1f, 0xa6, 0x33, 0xb4, 0x50, 0x70, 0x25, 0xeb, 0x65, 0x4e, 0xd6, 0xfc, + 0xeb, 0xff, 0xd7, 0xbf, 0xd6, 0x56, 0x22, 0xc2, 0x2f, 0xbf, 0x8f, 0x3c, + 0x9e, 0x49, 0xb7, 0xb5, 0x02, 0x4e, 0x71, 0x79, 0x08, 0xe0, 0x9c, 0x43, + 0x9c, 0x43, 0x40, 0xff, 0xf3, 0xef, 0x74, 0x3e, 0x5f, 0x28, 0x0c, 0x15, + 0x4a, 0xa5, 0x73, 0xce, 0x39, 0xa2, 0xbe, 0x8f, 0x2c, 0x51, 0xb7, 0xf9, + 0xae, 0x3b, 0xf1, 0x01, 0x9a, 0x1a, 0x93, 0xc9, 0x4c, 0xfb, 0xb2, 0x66, + 0xfe, 0x27, 0x8c, 0xb5, 0x88, 0x13, 0xe2, 0xf1, 0x58, 0xf3, 0xec, 0x5c, + 0xee, 0xc1, 0xe3, 0xa7, 0x4e, 0xef, 0x12, 0x91, 0xdc, 0xd5, 0x6a, 0x34, + 0x80, 0x02, 0xc7, 0x7c, 0x97, 0x57, 0x4b, 0x05, 0x38, 0x11, 0xb4, 0xd6, + 0xb4, 0xb5, 0x36, 0x77, 0xae, 0xea, 0xbb, 0x6e, 0x1b, 0x10, 0x75, 0xce, + 0x01, 0xa0, 0x94, 0x42, 0x29, 0xea, 0x09, 0x54, 0x19, 0xd4, 0xd1, 0xb4, + 0xfe, 0x3f, 0x12, 0x08, 0xe0, 0x29, 0x8d, 0x15, 0x47, 0x77, 0x67, 0xa6, + 0x57, 0x90, 0x6d, 0x63, 0xd9, 0xb3, 0xbb, 0x0a, 0xc5, 0x32, 0xd6, 0x19, + 0x14, 0x8b, 0x45, 0x5e, 0x04, 0x50, 0xeb, 0xa4, 0x16, 0x53, 0x53, 0x53, + 0xec, 0xdd, 0xfb, 0x19, 0x93, 0x93, 0x53, 0xac, 0x5e, 0x7d, 0x0b, 0x9b, + 0x36, 0xdd, 0x83, 0x52, 0x0a, 0xcf, 0xf3, 0xc8, 0x9d, 0x2f, 0xa0, 0x80, + 0xd6, 0x54, 0xea, 0xc6, 0x62, 0xb1, 0xb4, 0xed, 0xc4, 0x58, 0x76, 0x77, + 0x25, 0x34, 0x28, 0xa5, 0x96, 0x90, 0x48, 0xab, 0x3a, 0x83, 0x85, 0xb9, + 0x73, 0xe7, 0xfb, 0x80, 0x62, 0xeb, 0xd6, 0xad, 0xb4, 0xb5, 0xb5, 0xe3, + 0x79, 0x1e, 0xd6, 0x18, 0x62, 0xb1, 0x08, 0x89, 0x86, 0x38, 0xe5, 0x4a, + 0xc8, 0x5c, 0x2e, 0x4f, 0x24, 0x12, 0xb9, 0x39, 0x1a, 0x89, 0xdc, 0x07, + 0x72, 0x75, 0x89, 0x2e, 0x65, 0x30, 0x32, 0x32, 0xc2, 0x0b, 0x2f, 0x3c, + 0x40, 0x5f, 0x5f, 0x1f, 0x00, 0xd6, 0x5a, 0x94, 0xd6, 0x88, 0x40, 0x2c, + 0x1a, 0x45, 0x6b, 0x4d, 0x68, 0x2c, 0x91, 0x68, 0x94, 0x86, 0x86, 0x20, + 0x9d, 0xcb, 0x5f, 0xe0, 0x12, 0x85, 0xae, 0x3c, 0x83, 0x91, 0x91, 0x11, + 0x00, 0xb2, 0xd9, 0x2c, 0x4a, 0x69, 0xfa, 0xfb, 0xfb, 0x6b, 0x5d, 0x10, + 0x86, 0x06, 0x11, 0xc1, 0xcd, 0xa7, 0x48, 0xd5, 0x23, 0xd5, 0xd6, 0x97, + 0x70, 0xd1, 0x42, 0x06, 0xb5, 0x1c, 0x1a, 0x1a, 0x02, 0xe0, 0xe0, 0xc1, + 0x83, 0x0c, 0x0d, 0x0d, 0xe1, 0x9c, 0xc3, 0xce, 0xdb, 0x14, 0x6a, 0x7f, + 0x2c, 0x20, 0x82, 0x08, 0x4b, 0xee, 0xc1, 0x65, 0x00, 0x0b, 0xf5, 0x1f, + 0x1c, 0x1c, 0x04, 0xe0, 0xb1, 0xc7, 0x76, 0x30, 0x38, 0x38, 0x88, 0xd6, + 0x1a, 0xcf, 0xf3, 0x70, 0xe2, 0x10, 0xb9, 0x68, 0xa9, 0x2a, 0x86, 0xd4, + 0x19, 0x2d, 0x39, 0x83, 0x5a, 0xc1, 0xa5, 0x33, 0xa8, 0x7e, 0x73, 0xf5, + 0xdf, 0x65, 0xbe, 0x5b, 0xcf, 0x2a, 0x94, 0x51, 0x58, 0x63, 0x89, 0x88, + 0x10, 0xe8, 0x28, 0x0d, 0x3a, 0x42, 0x73, 0x3c, 0x4a, 0x10, 0xd3, 0xf3, + 0xc8, 0x0b, 0x00, 0x6a, 0xb2, 0x5c, 0x6d, 0x0f, 0x44, 0x04, 0xcf, 0xf3, + 0xa8, 0xe4, 0x4b, 0x1c, 0x18, 0x3f, 0xc2, 0x97, 0xa7, 0x0f, 0x31, 0x96, + 0xfb, 0x1b, 0xad, 0x35, 0x37, 0x34, 0x77, 0x73, 0xdf, 0xf2, 0xdb, 0xbb, + 0x6e, 0x6a, 0xe9, 0x19, 0x38, 0x33, 0x71, 0xf6, 0x8b, 0xd0, 0x85, 0x52, + 0xb3, 0x6b, 0x1d, 0x40, 0x6b, 0xbd, 0x24, 0x03, 0xa5, 0x74, 0x1d, 0x78, + 0xe2, 0x9f, 0x09, 0x5e, 0x39, 0xf2, 0x2e, 0xbb, 0x4f, 0xfd, 0x40, 0xc4, + 0x8f, 0x12, 0x44, 0x62, 0xa0, 0xe0, 0xe0, 0xe4, 0x1f, 0xbc, 0x33, 0xb2, + 0x27, 0xf1, 0xe4, 0x4d, 0x5b, 0xd6, 0x3c, 0xd7, 0xfb, 0x70, 0xcb, 0x78, + 0x76, 0xfc, 0x63, 0x23, 0x36, 0x5c, 0x00, 0x20, 0x14, 0x4b, 0x15, 0x82, + 0x78, 0xf4, 0x8a, 0xeb, 0x5b, 0x2e, 0x94, 0x78, 0xf1, 0xf0, 0x9b, 0x7c, + 0x3e, 0x7e, 0x98, 0xfe, 0x74, 0x17, 0x81, 0x0f, 0xbe, 0x72, 0x58, 0xb1, + 0xf8, 0xba, 0x91, 0x81, 0x9e, 0xcd, 0xbc, 0x75, 0xf4, 0x53, 0x4a, 0x84, + 0x7d, 0x2f, 0xad, 0xd8, 0x31, 0x70, 0x6a, 0xfc, 0xf4, 0x9e, 0x3a, 0x80, + 0x15, 0x87, 0xb1, 0x86, 0x42, 0xc1, 0x55, 0x75, 0xc6, 0xa1, 0xb4, 0x07, + 0x40, 0xa1, 0x54, 0xa2, 0x7c, 0xbe, 0xcc, 0x07, 0x27, 0xf6, 0xf1, 0xe5, + 0xc4, 0x8f, 0xac, 0x5f, 0xde, 0x43, 0xca, 0x37, 0x24, 0x7c, 0x45, 0x54, + 0x43, 0xc1, 0x94, 0xd8, 0xd6, 0xb7, 0x9d, 0x2d, 0x2b, 0x1f, 0x66, 0x79, + 0xb2, 0x9d, 0xa7, 0xf6, 0xbf, 0xca, 0x3d, 0x1d, 0x77, 0xac, 0xea, 0x4f, + 0xa6, 0x7f, 0x06, 0xce, 0xe8, 0x9a, 0x44, 0xa1, 0xb1, 0x18, 0x67, 0xb1, + 0xe2, 0x70, 0x52, 0x5d, 0xaa, 0x67, 0x9e, 0x7d, 0x9e, 0x6b, 0xd2, 0x1d, + 0xe4, 0xc2, 0x22, 0x3f, 0x4d, 0x7f, 0xc3, 0xda, 0xf6, 0x46, 0xba, 0x82, + 0x90, 0x4c, 0x20, 0x64, 0x82, 0x80, 0x84, 0x0f, 0x1b, 0x3a, 0xd6, 0xb1, + 0x65, 0xe5, 0x43, 0xcc, 0x94, 0x0b, 0x0c, 0x8f, 0x7d, 0xc3, 0xfa, 0xf6, + 0x80, 0x9f, 0x66, 0xf6, 0xc7, 0x9a, 0x5a, 0x5a, 0x6e, 0xab, 0x33, 0x30, + 0xc6, 0x11, 0x1a, 0x23, 0x22, 0xde, 0xa2, 0x35, 0xe9, 0x59, 0xd1, 0x8b, + 0x33, 0x8e, 0x7f, 0x4b, 0xd3, 0xa4, 0xfc, 0x2c, 0xbd, 0x69, 0x47, 0x6f, + 0xf3, 0xdd, 0x24, 0x22, 0x01, 0xdf, 0x8d, 0x7d, 0x42, 0x63, 0xa4, 0x89, + 0x81, 0x95, 0x8f, 0x02, 0x8a, 0x77, 0x8e, 0x7d, 0x88, 0x96, 0x2c, 0x9b, + 0x3b, 0x03, 0x66, 0xc3, 0xe3, 0x48, 0xdc, 0x6f, 0x5f, 0x34, 0xe4, 0x30, + 0x34, 0xca, 0xc9, 0xe5, 0xeb, 0xe2, 0x8c, 0xc3, 0x49, 0x88, 0xaf, 0x0c, + 0xe9, 0xb8, 0xb0, 0xb1, 0x7b, 0x03, 0x99, 0xc4, 0x8d, 0xf8, 0xca, 0xd2, + 0x14, 0x4d, 0x90, 0x49, 0xf6, 0x70, 0x60, 0xfc, 0x57, 0x4e, 0x4e, 0xed, + 0x63, 0x45, 0x72, 0x96, 0x26, 0x3f, 0x20, 0x6f, 0x62, 0x78, 0x9e, 0xf2, + 0x16, 0x00, 0x58, 0x8c, 0xb5, 0xe2, 0x44, 0xd4, 0xc5, 0xa3, 0x5c, 0x0d, + 0x6b, 0x84, 0x46, 0xbf, 0x89, 0x54, 0x6c, 0x19, 0x93, 0x17, 0x7e, 0xe6, + 0x8b, 0xd1, 0x57, 0x78, 0x64, 0xd5, 0xdb, 0x0c, 0x5c, 0xf7, 0x04, 0x22, + 0x8e, 0xd9, 0x72, 0x85, 0xa1, 0xd1, 0x37, 0xb8, 0x36, 0xf8, 0x0d, 0x6b, + 0x0d, 0xe7, 0x0a, 0x8d, 0xb4, 0x24, 0x36, 0xe1, 0x59, 0x9d, 0xaf, 0x6f, + 0xb2, 0xb1, 0x8e, 0x4a, 0x25, 0x54, 0xe5, 0x72, 0x99, 0x6a, 0x56, 0x28, + 0x97, 0x43, 0xca, 0x95, 0x90, 0x8a, 0x31, 0xf8, 0x12, 0x70, 0x7d, 0x6a, + 0x1d, 0x93, 0xa5, 0x19, 0x4e, 0x4e, 0x7f, 0xcb, 0x47, 0xc7, 0x9e, 0x24, + 0x57, 0x99, 0x42, 0x29, 0xcd, 0xee, 0xd1, 0x5d, 0xd8, 0xca, 0xd7, 0x68, + 0x25, 0x28, 0x3c, 0xa6, 0x8a, 0x93, 0xdc, 0xd0, 0xbc, 0x9e, 0xb0, 0x14, + 0x8e, 0xd6, 0x01, 0x9c, 0x73, 0xca, 0x58, 0x87, 0xb1, 0x52, 0x1d, 0xb0, + 0x54, 0x9f, 0x47, 0x63, 0x2c, 0xce, 0x59, 0xce, 0x17, 0x72, 0xac, 0x59, + 0xf6, 0x20, 0xcb, 0x12, 0xb7, 0x03, 0x1e, 0x67, 0xe6, 0x0e, 0xf0, 0xc9, + 0xef, 0x4f, 0xf3, 0xcb, 0xb9, 0xdf, 0x38, 0x3a, 0xf1, 0x1e, 0xed, 0xf1, + 0x38, 0x4e, 0x14, 0x85, 0x30, 0x47, 0x57, 0xf3, 0x26, 0x56, 0xa7, 0xee, + 0x1d, 0x9f, 0xcb, 0xcf, 0x1c, 0xb9, 0x68, 0x53, 0xeb, 0xbc, 0xd0, 0x98, + 0xfa, 0xb3, 0xb7, 0xc0, 0xfe, 0xa2, 0x40, 0x59, 0x57, 0x41, 0xe7, 0x92, + 0x6c, 0xef, 0x7b, 0x9d, 0xbd, 0x27, 0x5f, 0x66, 0x32, 0x7f, 0x88, 0xbf, + 0x66, 0x87, 0xf9, 0x73, 0xe6, 0x18, 0x8d, 0xba, 0x40, 0xe8, 0x1c, 0xa1, + 0xcb, 0xd3, 0xd9, 0xb2, 0x91, 0xad, 0x2b, 0x5f, 0xcb, 0x17, 0x67, 0x8a, + 0xc3, 0xc6, 0x86, 0x16, 0x40, 0x89, 0x08, 0x9f, 0xef, 0xff, 0x7e, 0x83, + 0xef, 0x79, 0x09, 0xae, 0x7c, 0x14, 0xb1, 0xce, 0xc9, 0xf2, 0xd6, 0xb4, + 0xdf, 0xd1, 0xdd, 0x70, 0xfd, 0xd1, 0xd9, 0xdd, 0xad, 0xa3, 0xd3, 0xdf, + 0x92, 0x2f, 0x67, 0xd1, 0xca, 0xa7, 0x29, 0xd6, 0x49, 0x7f, 0xdb, 0xfd, + 0xdc, 0xda, 0xb6, 0xfd, 0x5c, 0x71, 0x3a, 0x1c, 0xce, 0x74, 0xa5, 0xff, + 0xa8, 0x5f, 0x02, 0x11, 0x61, 0xcf, 0x57, 0xc3, 0x8b, 0xde, 0xdc, 0x45, + 0x30, 0x0b, 0x4e, 0x7c, 0x2a, 0x19, 0xd0, 0x93, 0xce, 0xb4, 0xb6, 0xb4, + 0xb4, 0xad, 0x95, 0x48, 0xb9, 0xa3, 0x28, 0x73, 0x49, 0xad, 0x3c, 0x09, + 0x74, 0x2a, 0xaf, 0xc2, 0xe8, 0x78, 0x25, 0x2c, 0xfe, 0x50, 0x28, 0xe6, + 0x2f, 0x74, 0xaf, 0xe8, 0xa9, 0x97, 0xff, 0x37, 0x00, 0xf5, 0x56, 0xb3, + 0x38, 0x3d, 0x01, 0xdc, 0x06, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, + 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __menu_ignore_caches_disabled_png_len = 4037; +unsigned char __menu_memory_info_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x06, 0x04, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x75, 0x95, 0x4d, 0x6c, + 0x9c, 0x47, 0x19, 0xc7, 0x7f, 0xcf, 0xcc, 0xbc, 0xef, 0xbb, 0x1f, 0xf6, + 0x7a, 0xd7, 0xeb, 0xef, 0x38, 0x89, 0x09, 0xad, 0x05, 0x25, 0x3d, 0x00, + 0x49, 0xda, 0x4a, 0x91, 0x22, 0x84, 0x48, 0x53, 0x81, 0x84, 0x7a, 0x28, + 0x01, 0xa9, 0x09, 0x95, 0x90, 0x42, 0x0f, 0x44, 0x40, 0x5b, 0x24, 0x04, + 0xa8, 0x15, 0x3d, 0x37, 0x6a, 0xa2, 0x80, 0x54, 0xb5, 0x07, 0x4a, 0x55, + 0x95, 0xa8, 0xc0, 0x21, 0x42, 0xaa, 0x88, 0x5b, 0xb8, 0x90, 0x43, 0x88, + 0x68, 0x73, 0x08, 0x3d, 0xe0, 0x24, 0x4e, 0x62, 0x37, 0xeb, 0xed, 0xda, + 0xeb, 0xac, 0xd7, 0xfb, 0xf5, 0x7e, 0xcd, 0x70, 0x58, 0x37, 0x4e, 0x29, + 0x79, 0xa4, 0xd1, 0x8c, 0x66, 0x46, 0xff, 0xdf, 0x3c, 0xf3, 0x7f, 0x34, + 0x23, 0x4b, 0xb7, 0x96, 0x01, 0xe8, 0x76, 0x7b, 0x24, 0x71, 0x8c, 0x56, + 0x1a, 0x6d, 0x0c, 0x69, 0x12, 0x83, 0x30, 0xe5, 0x1b, 0xf5, 0x68, 0xa1, + 0x90, 0xdf, 0x9f, 0xc9, 0xf8, 0xb3, 0xd6, 0xba, 0x32, 0x38, 0x80, 0x7a, + 0xa7, 0x1b, 0xce, 0xaf, 0xaf, 0xb7, 0xce, 0x87, 0x61, 0x7a, 0x2e, 0x75, + 0xae, 0xa2, 0x95, 0x21, 0x49, 0x62, 0x92, 0x24, 0x46, 0x6b, 0x8f, 0x4c, + 0x36, 0x03, 0x80, 0xfc, 0x2f, 0x40, 0x89, 0x46, 0x69, 0x99, 0xcc, 0x67, + 0xfd, 0x9f, 0x94, 0xcb, 0xc5, 0xa3, 0x6b, 0xcd, 0x68, 0xe2, 0xf2, 0x87, + 0x55, 0xe6, 0xaf, 0xd5, 0x68, 0x34, 0xba, 0x00, 0x14, 0x87, 0xb2, 0xdc, + 0x7f, 0xdf, 0x18, 0x0f, 0x7e, 0x71, 0x9c, 0xa1, 0x01, 0x5d, 0xad, 0xd5, + 0xea, 0x6f, 0x34, 0x5b, 0xd1, 0x49, 0x6b, 0xd3, 0xe5, 0x34, 0x4d, 0xee, + 0x0d, 0x88, 0xc3, 0x08, 0xcf, 0xd3, 0x07, 0xb7, 0x6f, 0x1b, 0x3b, 0x5d, + 0xbb, 0x1d, 0xcf, 0xbe, 0xfe, 0x87, 0x8b, 0xbc, 0xf3, 0xee, 0xbf, 0xb9, + 0xbd, 0xd6, 0xc1, 0xe2, 0xd0, 0x4a, 0x01, 0x90, 0xa6, 0x16, 0xa5, 0x84, + 0xe1, 0x52, 0x8e, 0xc7, 0x0e, 0xee, 0xe6, 0xfb, 0x87, 0xf7, 0x52, 0x1a, + 0x60, 0xfe, 0xfa, 0x8d, 0xca, 0xf1, 0x28, 0x4e, 0xe7, 0x8c, 0xe7, 0x7f, + 0x16, 0xd0, 0xe9, 0x74, 0xd1, 0xc2, 0x93, 0x33, 0x3b, 0xa7, 0x5e, 0xfd, + 0xcb, 0x7b, 0x57, 0xb2, 0xbf, 0x7e, 0xe9, 0x1d, 0xd6, 0x9b, 0x3d, 0xa6, + 0x26, 0x8b, 0xe4, 0xf2, 0x01, 0x61, 0x6a, 0x11, 0xe1, 0x4e, 0xf8, 0x5a, + 0xd3, 0x69, 0xf5, 0x58, 0xae, 0x34, 0x18, 0x1a, 0xca, 0xf2, 0xfc, 0x73, + 0x87, 0x38, 0x74, 0x60, 0xa6, 0xfb, 0x9f, 0xf9, 0x9b, 0xc7, 0x52, 0x2b, + 0x6f, 0x66, 0x73, 0xd9, 0x2d, 0x80, 0x73, 0x10, 0x47, 0xe1, 0x37, 0x66, + 0x76, 0x4c, 0x9c, 0x7d, 0xed, 0xcc, 0xa5, 0xec, 0x8b, 0x2f, 0x9f, 0x63, + 0x72, 0x62, 0xc8, 0x95, 0x47, 0x07, 0x25, 0x71, 0xe0, 0x07, 0x86, 0x7d, + 0x0f, 0x4e, 0xe3, 0x19, 0x05, 0x22, 0x44, 0xbd, 0x98, 0x0b, 0xef, 0xdf, + 0xc4, 0x6a, 0xc1, 0x38, 0x58, 0x5d, 0x69, 0x52, 0xad, 0xae, 0xf3, 0xfc, + 0x33, 0x8f, 0x71, 0xe4, 0xf1, 0x07, 0xba, 0xf3, 0x57, 0x97, 0xbe, 0xed, + 0xf9, 0x99, 0x77, 0x45, 0xc0, 0xe0, 0x20, 0x4d, 0x93, 0xb1, 0xed, 0x53, + 0x23, 0xaf, 0x9c, 0xfd, 0xdb, 0xd5, 0xec, 0x0b, 0xa7, 0xe6, 0x98, 0xf9, + 0xdc, 0x08, 0xf9, 0xa1, 0x3c, 0x1d, 0x1c, 0x61, 0xea, 0x18, 0x2f, 0xe4, + 0xf8, 0xf9, 0xb1, 0x03, 0x64, 0x7d, 0xd3, 0xcf, 0xb6, 0xd1, 0xe1, 0xf1, + 0x7f, 0x5e, 0x63, 0xc3, 0x0f, 0x08, 0x1c, 0x14, 0x27, 0x8b, 0x98, 0x9c, + 0xcf, 0x0b, 0x27, 0xe7, 0x18, 0x1d, 0x19, 0xc8, 0x7e, 0x7d, 0xdf, 0xf8, + 0x2b, 0x37, 0x6e, 0xd5, 0x1f, 0xf1, 0x8c, 0x57, 0x53, 0x22, 0x30, 0x98, + 0x0b, 0x9e, 0x5d, 0x5e, 0x8b, 0x76, 0xfd, 0xf2, 0xe4, 0x1c, 0xa3, 0xdb, + 0x86, 0x09, 0x4a, 0x03, 0xb4, 0x44, 0xe8, 0x6a, 0x4d, 0xcf, 0x28, 0x12, + 0xa3, 0x09, 0x8c, 0xbe, 0x73, 0x3d, 0x81, 0x56, 0x58, 0x51, 0xf4, 0x8c, + 0xa1, 0x63, 0x14, 0x2d, 0x11, 0x82, 0xe1, 0x01, 0x46, 0xb7, 0x15, 0xf9, + 0xd5, 0xa9, 0x39, 0xd6, 0xda, 0xb2, 0x6b, 0x30, 0xef, 0x3f, 0xeb, 0xc4, + 0x61, 0xc0, 0x4d, 0x96, 0x8a, 0x85, 0xa7, 0x4e, 0xfc, 0xf6, 0x1f, 0xd4, + 0x3a, 0x11, 0xb3, 0xdb, 0xcb, 0xb4, 0x01, 0xab, 0x15, 0x28, 0x41, 0xa3, + 0x69, 0x46, 0x09, 0x2f, 0xbe, 0x75, 0x11, 0x5f, 0x0b, 0x20, 0x84, 0xdd, + 0x88, 0x56, 0x3e, 0x83, 0x32, 0x1a, 0x6b, 0x15, 0xb1, 0xb2, 0x24, 0xce, + 0x31, 0x38, 0x56, 0x60, 0x7e, 0x7e, 0x99, 0xd7, 0xfe, 0x7c, 0x89, 0x5f, + 0xfc, 0x60, 0xcf, 0x53, 0x37, 0x96, 0x6a, 0x27, 0x55, 0xe0, 0xe9, 0x43, + 0x2b, 0x8d, 0x70, 0xec, 0x8f, 0x17, 0x16, 0x28, 0x4f, 0x0f, 0x13, 0x6b, + 0x85, 0x33, 0x1a, 0x8c, 0x42, 0xb4, 0x46, 0x8c, 0xc6, 0x29, 0xc5, 0xe2, + 0xea, 0x06, 0x37, 0x6a, 0x1b, 0xdc, 0xa8, 0x35, 0x59, 0x5a, 0x6b, 0xe1, + 0x7c, 0x83, 0x32, 0x1a, 0x31, 0x0a, 0x8c, 0xc2, 0x6a, 0x45, 0xa4, 0x15, + 0xe5, 0xe9, 0x32, 0x7f, 0xba, 0xb0, 0x40, 0xa3, 0x95, 0x8e, 0x65, 0x7d, + 0x7d, 0xc8, 0x0c, 0xe6, 0x33, 0xfb, 0xe7, 0x3e, 0xa8, 0x52, 0x51, 0x3e, + 0xf7, 0x4f, 0x16, 0xb0, 0xed, 0x0e, 0x68, 0x85, 0x28, 0x85, 0xd2, 0x8a, + 0x6e, 0x62, 0x29, 0x64, 0x7c, 0x4e, 0xff, 0xf0, 0x00, 0xf9, 0xac, 0x07, + 0x40, 0xab, 0xde, 0xe2, 0x5b, 0xcf, 0xbc, 0x4d, 0x6b, 0x64, 0x90, 0xac, + 0x56, 0xd8, 0x34, 0x45, 0xc4, 0x61, 0x5d, 0x4a, 0x76, 0xb2, 0xcc, 0x95, + 0x4a, 0x93, 0x0f, 0xae, 0xac, 0xf2, 0xc8, 0x6c, 0x61, 0xbf, 0x0a, 0x02, + 0x7f, 0xf6, 0xf2, 0xe2, 0x6d, 0x12, 0xdf, 0xc3, 0x94, 0x86, 0x70, 0x41, + 0x80, 0x68, 0x05, 0x5a, 0x51, 0xef, 0xc4, 0x5c, 0xaf, 0xb5, 0xb8, 0xba, + 0xd2, 0x26, 0x71, 0xee, 0x8e, 0x07, 0x22, 0x42, 0xad, 0xd9, 0x63, 0xa1, + 0xda, 0xa2, 0xde, 0x89, 0x41, 0x6b, 0x44, 0x29, 0x5c, 0xe0, 0xa3, 0x4b, + 0x05, 0x62, 0xcf, 0xe3, 0xf2, 0x52, 0x83, 0x5c, 0xc6, 0x9f, 0x55, 0x58, + 0x57, 0xae, 0xb7, 0x23, 0xb4, 0xd1, 0x28, 0xcf, 0xa0, 0xca, 0x45, 0x22, + 0x51, 0x2c, 0xd4, 0x5a, 0x5c, 0x5f, 0x6d, 0xd3, 0x09, 0x53, 0xac, 0x52, + 0x6c, 0xc9, 0x83, 0x73, 0x0e, 0xab, 0x14, 0xdd, 0x28, 0xe5, 0xfa, 0x4a, + 0x9b, 0x85, 0x5a, 0x8b, 0x48, 0x29, 0x54, 0xb9, 0x88, 0xf2, 0x0c, 0xda, + 0xd3, 0xd4, 0xdb, 0x11, 0x40, 0xd9, 0x38, 0x36, 0x5f, 0x17, 0x11, 0x14, + 0x8e, 0x9e, 0xf6, 0xb8, 0x96, 0x78, 0x74, 0x12, 0x40, 0x6b, 0x50, 0x20, + 0x77, 0x55, 0xd0, 0x9d, 0x50, 0x0a, 0x7c, 0x03, 0x69, 0x4a, 0x23, 0x86, + 0x28, 0xf1, 0xf8, 0xbc, 0xf6, 0xc8, 0xb9, 0xbe, 0x16, 0x22, 0x88, 0x80, + 0x12, 0x25, 0xf5, 0x72, 0x21, 0x4b, 0x9a, 0x5a, 0x52, 0xeb, 0x58, 0xac, + 0xb7, 0xe9, 0x58, 0x81, 0xd1, 0x11, 0x18, 0x2a, 0x40, 0x10, 0xc0, 0x3d, + 0x01, 0x3e, 0x0c, 0x0d, 0xc1, 0x68, 0x99, 0x8e, 0x15, 0x16, 0xeb, 0x6d, + 0x52, 0xeb, 0x48, 0x93, 0x94, 0xe1, 0xc1, 0x00, 0x90, 0xba, 0x8a, 0xe3, + 0x64, 0x7e, 0xf7, 0xce, 0x61, 0x8c, 0xb3, 0x54, 0x9b, 0x21, 0xeb, 0xed, + 0xb0, 0x9f, 0x93, 0x00, 0xf9, 0x3c, 0x14, 0x8b, 0x30, 0x30, 0x48, 0x7f, + 0xe2, 0xce, 0x1d, 0x41, 0x26, 0x03, 0xc5, 0x12, 0xe4, 0x72, 0xfd, 0x13, + 0x3b, 0xc7, 0x7a, 0x3b, 0xa2, 0xba, 0xd1, 0xc3, 0x38, 0xcb, 0x97, 0x76, + 0x0c, 0xd3, 0x0b, 0xe3, 0x79, 0xd5, 0xee, 0x84, 0xe7, 0x1f, 0x9e, 0x1d, + 0x65, 0x38, 0xa3, 0xa9, 0xac, 0x6c, 0x6c, 0x89, 0x58, 0x0b, 0x36, 0xed, + 0xc3, 0xb4, 0xfe, 0x94, 0xfe, 0xa6, 0xd3, 0x5b, 0xfb, 0xee, 0x2a, 0x80, + 0xca, 0x4a, 0x8b, 0x72, 0xd6, 0xb0, 0xf7, 0xbe, 0x32, 0x1b, 0x9d, 0xde, + 0x79, 0x15, 0x26, 0xf6, 0xdc, 0x78, 0x31, 0xb3, 0xf2, 0xc4, 0xbe, 0x19, + 0x6c, 0xb3, 0xd3, 0x17, 0xb4, 0xae, 0x6f, 0x8c, 0xb5, 0xfd, 0xb1, 0xb5, + 0xfc, 0xdf, 0xf8, 0x64, 0xdd, 0x6d, 0x41, 0xec, 0x7a, 0x87, 0x27, 0x1e, + 0x9a, 0x61, 0x34, 0xaf, 0x6b, 0x61, 0xe2, 0xfe, 0xaa, 0x44, 0xa4, 0xb2, + 0xb1, 0xd1, 0xfe, 0xdd, 0x8f, 0xbf, 0xf9, 0x00, 0x63, 0xa5, 0x0c, 0x84, + 0xb1, 0xc3, 0x39, 0x87, 0xb3, 0x60, 0xad, 0x23, 0x4d, 0x1d, 0x36, 0x75, + 0xd2, 0x47, 0x3a, 0xc0, 0x89, 0xe0, 0xc4, 0x5a, 0x87, 0x4d, 0x1d, 0xd6, + 0xf6, 0x9b, 0x73, 0x8e, 0x5e, 0xe4, 0xc6, 0x86, 0x03, 0x8e, 0x1f, 0xfa, + 0x02, 0xab, 0x8d, 0xe6, 0xeb, 0xa2, 0xcd, 0xb2, 0x12, 0x51, 0xb4, 0xc3, + 0xe4, 0xc4, 0x8e, 0x52, 0xb0, 0x70, 0xf2, 0xe8, 0x5e, 0x88, 0x62, 0x21, + 0x4e, 0xa4, 0x7f, 0x72, 0x04, 0x67, 0x45, 0x9c, 0x13, 0x4f, 0x2b, 0xd9, + 0x34, 0x42, 0x3c, 0x25, 0x82, 0x73, 0x9b, 0x2d, 0xed, 0xf7, 0x71, 0x22, + 0x44, 0xb1, 0x9c, 0x3a, 0xf2, 0x10, 0x93, 0x79, 0x59, 0x68, 0xf5, 0x92, + 0x13, 0xa2, 0x04, 0x83, 0x08, 0x4a, 0xeb, 0x5a, 0x75, 0x75, 0xfd, 0xe9, + 0xef, 0x3d, 0xbc, 0xe3, 0x6c, 0xa5, 0xd1, 0xcb, 0x3e, 0x77, 0xe6, 0x52, + 0x3f, 0x75, 0xdf, 0x80, 0xc0, 0x5a, 0x2b, 0xe4, 0xe8, 0xef, 0xff, 0x45, + 0xa0, 0x15, 0x08, 0xc4, 0xdd, 0x98, 0x4a, 0x26, 0xd3, 0xf7, 0xc8, 0x3a, + 0x88, 0x12, 0x48, 0x12, 0x4e, 0x1c, 0xd9, 0xc3, 0xe1, 0x3d, 0x13, 0xdd, + 0xab, 0x4b, 0x1f, 0x3f, 0x6d, 0x7c, 0xbf, 0x26, 0x80, 0xd4, 0x56, 0xd7, + 0x00, 0xe8, 0xf5, 0x7a, 0x18, 0xad, 0x9e, 0x9c, 0x1c, 0x2f, 0xbf, 0xfa, + 0xd6, 0xc5, 0x5b, 0xd9, 0x9f, 0x9d, 0xb9, 0x44, 0x65, 0xb5, 0x03, 0x81, + 0x01, 0x25, 0x10, 0xdf, 0xe5, 0x83, 0x00, 0xbe, 0xee, 0xcf, 0x45, 0x09, + 0x53, 0x23, 0x39, 0x5e, 0xfa, 0xee, 0x97, 0x39, 0xfc, 0x95, 0xf1, 0xee, + 0xc2, 0xe2, 0xf2, 0xb1, 0xd8, 0xba, 0x37, 0x33, 0x99, 0xcd, 0x1f, 0xed, + 0x13, 0x40, 0x18, 0x86, 0x24, 0x49, 0x82, 0xef, 0x99, 0x83, 0x53, 0xa3, + 0xa5, 0xd3, 0xd7, 0x1b, 0xf1, 0xec, 0x6f, 0xfe, 0x7e, 0x8d, 0xb7, 0xdf, + 0xff, 0x88, 0x8f, 0x6e, 0x77, 0x21, 0x4c, 0xb6, 0xaa, 0x45, 0x04, 0x02, + 0xcd, 0xf4, 0x70, 0x8e, 0xef, 0x7c, 0x75, 0x9a, 0x1f, 0x7d, 0x6d, 0x17, + 0xd3, 0x79, 0x99, 0x5f, 0xac, 0xae, 0x1e, 0xef, 0x45, 0xf1, 0x9c, 0xd6, + 0x86, 0x20, 0x08, 0x3e, 0x0b, 0x48, 0xd3, 0x14, 0xa5, 0x0d, 0x46, 0xab, + 0x89, 0x7c, 0x60, 0x7e, 0x5a, 0x18, 0xcc, 0x1f, 0xfd, 0xb8, 0x95, 0x4e, + 0x5c, 0xbc, 0xd9, 0xe0, 0xc3, 0x6a, 0x8b, 0xdb, 0x9d, 0x18, 0x80, 0x52, + 0xce, 0x63, 0xf7, 0xc4, 0x00, 0x7b, 0x76, 0x0e, 0x31, 0x96, 0x55, 0xd5, + 0xb5, 0xf5, 0xe6, 0x1b, 0xcd, 0x6e, 0xfc, 0x72, 0x92, 0x24, 0xd5, 0x24, + 0x8e, 0x51, 0x5a, 0xdf, 0x1b, 0xa0, 0x8d, 0xc1, 0x18, 0x83, 0x4d, 0x13, + 0x94, 0x92, 0xa9, 0x40, 0xcb, 0xa3, 0x83, 0xd9, 0xcc, 0x7e, 0xe3, 0xe9, + 0x59, 0xac, 0x2b, 0x6f, 0xd6, 0x7f, 0x3d, 0x8c, 0xe2, 0xf9, 0xf5, 0x76, + 0xe7, 0x7c, 0x18, 0xbb, 0x73, 0xa9, 0xb5, 0x15, 0xb4, 0x26, 0x8e, 0x62, + 0xe2, 0x28, 0xfa, 0x14, 0xe0, 0xbf, 0x8c, 0x57, 0xfe, 0x67, 0x64, 0x5b, + 0x5d, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, + 0x60, 0x82 +}; +unsigned int __menu_memory_info_png_len = 1634; +unsigned char __menu_selection_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x20, + 0x08, 0x03, 0x00, 0x00, 0x00, 0x8c, 0xe4, 0xa2, 0x55, 0x00, 0x00, 0x00, + 0x4e, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7, 0x30, + 0x30, 0x30, 0x3e, 0x3e, 0x3e, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x3a, + 0x3a, 0x3a, 0x3b, 0x3b, 0x3b, 0x3c, 0x3c, 0x3c, 0x3d, 0x3d, 0x3d, 0x3b, + 0x3b, 0x3b, 0x45, 0x45, 0x45, 0x47, 0x47, 0x47, 0xe4, 0xe4, 0xe4, 0xe2, + 0xe2, 0xe2, 0xbd, 0xbd, 0xbd, 0xbe, 0xbe, 0xbe, 0xc4, 0xc4, 0xc4, 0xc4, + 0xc4, 0xc4, 0xc7, 0xc7, 0xc7, 0x90, 0x90, 0x90, 0x92, 0x92, 0x92, 0x17, + 0x03, 0x82, 0x82, 0x00, 0x00, 0x00, 0x1a, 0x74, 0x52, 0x4e, 0x53, 0x00, + 0x04, 0x07, 0x64, 0x6b, 0x99, 0x9b, 0x9f, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, + 0xa2, 0xa3, 0xac, 0xad, 0xb0, 0xb7, 0xbf, 0xbf, 0xbf, 0xc1, 0xc2, 0xd2, + 0xd2, 0xbe, 0x41, 0xee, 0xd4, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, + 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, + 0x9c, 0x18, 0x00, 0x00, 0x00, 0x75, 0x49, 0x44, 0x41, 0x54, 0x58, 0xc3, + 0xed, 0xd8, 0xcb, 0x11, 0x80, 0x20, 0x00, 0x43, 0xc1, 0x80, 0xf2, 0x51, + 0x50, 0x50, 0x51, 0xa1, 0xff, 0x46, 0xad, 0xc2, 0x43, 0x66, 0x92, 0x0a, + 0xf6, 0x9a, 0x07, 0x98, 0xf9, 0x7c, 0x1f, 0x9a, 0xbd, 0xe7, 0x6c, 0x00, + 0xeb, 0x7a, 0xc9, 0x79, 0x23, 0x59, 0xce, 0xa5, 0x3b, 0x8b, 0x69, 0xf8, + 0x10, 0x89, 0x16, 0xfc, 0x98, 0x70, 0xd4, 0xb0, 0x50, 0x2d, 0xd4, 0x03, + 0xf7, 0x1e, 0xb9, 0xd0, 0x71, 0xbf, 0x71, 0xad, 0x6c, 0xe8, 0xf5, 0x42, + 0x4b, 0x6c, 0xe8, 0xd4, 0x84, 0x16, 0x5a, 0x68, 0xa1, 0x85, 0x16, 0x5a, + 0x68, 0xa1, 0x85, 0x16, 0x5a, 0x68, 0xa1, 0x85, 0xfe, 0x07, 0x4d, 0x79, + 0x6c, 0x29, 0x13, 0x02, 0x65, 0xac, 0xa1, 0xcc, 0x62, 0x94, 0x01, 0x92, + 0x31, 0xf5, 0x7e, 0xf4, 0xbe, 0xe2, 0x81, 0x65, 0xcf, 0x94, 0xde, 0x00, + 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __menu_selection_png_len = 323; +unsigned char __menu_single_user_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, + 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x0a, 0x4f, 0x69, 0x43, + 0x43, 0x50, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x73, 0x68, 0x6f, 0x70, 0x20, + 0x49, 0x43, 0x43, 0x20, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x00, + 0x00, 0x78, 0xda, 0x9d, 0x53, 0x67, 0x54, 0x53, 0xe9, 0x16, 0x3d, 0xf7, + 0xde, 0xf4, 0x42, 0x4b, 0x88, 0x80, 0x94, 0x4b, 0x6f, 0x52, 0x15, 0x08, + 0x20, 0x52, 0x42, 0x8b, 0x80, 0x14, 0x91, 0x26, 0x2a, 0x21, 0x09, 0x10, + 0x4a, 0x88, 0x21, 0xa1, 0xd9, 0x15, 0x51, 0xc1, 0x11, 0x45, 0x45, 0x04, + 0x1b, 0xc8, 0xa0, 0x88, 0x03, 0x8e, 0x8e, 0x80, 0x8c, 0x15, 0x51, 0x2c, + 0x0c, 0x8a, 0x0a, 0xd8, 0x07, 0xe4, 0x21, 0xa2, 0x8e, 0x83, 0xa3, 0x88, + 0x8a, 0xca, 0xfb, 0xe1, 0x7b, 0xa3, 0x6b, 0xd6, 0xbc, 0xf7, 0xe6, 0xcd, + 0xfe, 0xb5, 0xd7, 0x3e, 0xe7, 0xac, 0xf3, 0x9d, 0xb3, 0xcf, 0x07, 0xc0, + 0x08, 0x0c, 0x96, 0x48, 0x33, 0x51, 0x35, 0x80, 0x0c, 0xa9, 0x42, 0x1e, + 0x11, 0xe0, 0x83, 0xc7, 0xc4, 0xc6, 0xe1, 0xe4, 0x2e, 0x40, 0x81, 0x0a, + 0x24, 0x70, 0x00, 0x10, 0x08, 0xb3, 0x64, 0x21, 0x73, 0xfd, 0x23, 0x01, + 0x00, 0xf8, 0x7e, 0x3c, 0x3c, 0x2b, 0x22, 0xc0, 0x07, 0xbe, 0x00, 0x01, + 0x78, 0xd3, 0x0b, 0x08, 0x00, 0xc0, 0x4d, 0x9b, 0xc0, 0x30, 0x1c, 0x87, + 0xff, 0x0f, 0xea, 0x42, 0x99, 0x5c, 0x01, 0x80, 0x84, 0x01, 0xc0, 0x74, + 0x91, 0x38, 0x4b, 0x08, 0x80, 0x14, 0x00, 0x40, 0x7a, 0x8e, 0x42, 0xa6, + 0x00, 0x40, 0x46, 0x01, 0x80, 0x9d, 0x98, 0x26, 0x53, 0x00, 0xa0, 0x04, + 0x00, 0x60, 0xcb, 0x63, 0x62, 0xe3, 0x00, 0x50, 0x2d, 0x00, 0x60, 0x27, + 0x7f, 0xe6, 0xd3, 0x00, 0x80, 0x9d, 0xf8, 0x99, 0x7b, 0x01, 0x00, 0x5b, + 0x94, 0x21, 0x15, 0x01, 0xa0, 0x91, 0x00, 0x20, 0x13, 0x65, 0x88, 0x44, + 0x00, 0x68, 0x3b, 0x00, 0xac, 0xcf, 0x56, 0x8a, 0x45, 0x00, 0x58, 0x30, + 0x00, 0x14, 0x66, 0x4b, 0xc4, 0x39, 0x00, 0xd8, 0x2d, 0x00, 0x30, 0x49, + 0x57, 0x66, 0x48, 0x00, 0xb0, 0xb7, 0x00, 0xc0, 0xce, 0x10, 0x0b, 0xb2, + 0x00, 0x08, 0x0c, 0x00, 0x30, 0x51, 0x88, 0x85, 0x29, 0x00, 0x04, 0x7b, + 0x00, 0x60, 0xc8, 0x23, 0x23, 0x78, 0x00, 0x84, 0x99, 0x00, 0x14, 0x46, + 0xf2, 0x57, 0x3c, 0xf1, 0x2b, 0xae, 0x10, 0xe7, 0x2a, 0x00, 0x00, 0x78, + 0x99, 0xb2, 0x3c, 0xb9, 0x24, 0x39, 0x45, 0x81, 0x5b, 0x08, 0x2d, 0x71, + 0x07, 0x57, 0x57, 0x2e, 0x1e, 0x28, 0xce, 0x49, 0x17, 0x2b, 0x14, 0x36, + 0x61, 0x02, 0x61, 0x9a, 0x40, 0x2e, 0xc2, 0x79, 0x99, 0x19, 0x32, 0x81, + 0x34, 0x0f, 0xe0, 0xf3, 0xcc, 0x00, 0x00, 0xa0, 0x91, 0x15, 0x11, 0xe0, + 0x83, 0xf3, 0xfd, 0x78, 0xce, 0x0e, 0xae, 0xce, 0xce, 0x36, 0x8e, 0xb6, + 0x0e, 0x5f, 0x2d, 0xea, 0xbf, 0x06, 0xff, 0x22, 0x62, 0x62, 0xe3, 0xfe, + 0xe5, 0xcf, 0xab, 0x70, 0x40, 0x00, 0x00, 0xe1, 0x74, 0x7e, 0xd1, 0xfe, + 0x2c, 0x2f, 0xb3, 0x1a, 0x80, 0x3b, 0x06, 0x80, 0x6d, 0xfe, 0xa2, 0x25, + 0xee, 0x04, 0x68, 0x5e, 0x0b, 0xa0, 0x75, 0xf7, 0x8b, 0x66, 0xb2, 0x0f, + 0x40, 0xb5, 0x00, 0xa0, 0xe9, 0xda, 0x57, 0xf3, 0x70, 0xf8, 0x7e, 0x3c, + 0x3c, 0x45, 0xa1, 0x90, 0xb9, 0xd9, 0xd9, 0xe5, 0xe4, 0xe4, 0xd8, 0x4a, + 0xc4, 0x42, 0x5b, 0x61, 0xca, 0x57, 0x7d, 0xfe, 0x67, 0xc2, 0x5f, 0xc0, + 0x57, 0xfd, 0x6c, 0xf9, 0x7e, 0x3c, 0xfc, 0xf7, 0xf5, 0xe0, 0xbe, 0xe2, + 0x24, 0x81, 0x32, 0x5d, 0x81, 0x47, 0x04, 0xf8, 0xe0, 0xc2, 0xcc, 0xf4, + 0x4c, 0xa5, 0x1c, 0xcf, 0x92, 0x09, 0x84, 0x62, 0xdc, 0xe6, 0x8f, 0x47, + 0xfc, 0xb7, 0x0b, 0xff, 0xfc, 0x1d, 0xd3, 0x22, 0xc4, 0x49, 0x62, 0xb9, + 0x58, 0x2a, 0x14, 0xe3, 0x51, 0x12, 0x71, 0x8e, 0x44, 0x9a, 0x8c, 0xf3, + 0x32, 0xa5, 0x22, 0x89, 0x42, 0x92, 0x29, 0xc5, 0x25, 0xd2, 0xff, 0x64, + 0xe2, 0xdf, 0x2c, 0xfb, 0x03, 0x3e, 0xdf, 0x35, 0x00, 0xb0, 0x6a, 0x3e, + 0x01, 0x7b, 0x91, 0x2d, 0xa8, 0x5d, 0x63, 0x03, 0xf6, 0x4b, 0x27, 0x10, + 0x58, 0x74, 0xc0, 0xe2, 0xf7, 0x00, 0x00, 0xf2, 0xbb, 0x6f, 0xc1, 0xd4, + 0x28, 0x08, 0x03, 0x80, 0x68, 0x83, 0xe1, 0xcf, 0x77, 0xff, 0xef, 0x3f, + 0xfd, 0x47, 0xa0, 0x25, 0x00, 0x80, 0x66, 0x49, 0x92, 0x71, 0x00, 0x00, + 0x5e, 0x44, 0x24, 0x2e, 0x54, 0xca, 0xb3, 0x3f, 0xc7, 0x08, 0x00, 0x00, + 0x44, 0xa0, 0x81, 0x2a, 0xb0, 0x41, 0x1b, 0xf4, 0xc1, 0x18, 0x2c, 0xc0, + 0x06, 0x1c, 0xc1, 0x05, 0xdc, 0xc1, 0x0b, 0xfc, 0x60, 0x36, 0x84, 0x42, + 0x24, 0xc4, 0xc2, 0x42, 0x10, 0x42, 0x0a, 0x64, 0x80, 0x1c, 0x72, 0x60, + 0x29, 0xac, 0x82, 0x42, 0x28, 0x86, 0xcd, 0xb0, 0x1d, 0x2a, 0x60, 0x2f, + 0xd4, 0x40, 0x1d, 0x34, 0xc0, 0x51, 0x68, 0x86, 0x93, 0x70, 0x0e, 0x2e, + 0xc2, 0x55, 0xb8, 0x0e, 0x3d, 0x70, 0x0f, 0xfa, 0x61, 0x08, 0x9e, 0xc1, + 0x28, 0xbc, 0x81, 0x09, 0x04, 0x41, 0xc8, 0x08, 0x13, 0x61, 0x21, 0xda, + 0x88, 0x01, 0x62, 0x8a, 0x58, 0x23, 0x8e, 0x08, 0x17, 0x99, 0x85, 0xf8, + 0x21, 0xc1, 0x48, 0x04, 0x12, 0x8b, 0x24, 0x20, 0xc9, 0x88, 0x14, 0x51, + 0x22, 0x4b, 0x91, 0x35, 0x48, 0x31, 0x52, 0x8a, 0x54, 0x20, 0x55, 0x48, + 0x1d, 0xf2, 0x3d, 0x72, 0x02, 0x39, 0x87, 0x5c, 0x46, 0xba, 0x91, 0x3b, + 0xc8, 0x00, 0x32, 0x82, 0xfc, 0x86, 0xbc, 0x47, 0x31, 0x94, 0x81, 0xb2, + 0x51, 0x3d, 0xd4, 0x0c, 0xb5, 0x43, 0xb9, 0xa8, 0x37, 0x1a, 0x84, 0x46, + 0xa2, 0x0b, 0xd0, 0x64, 0x74, 0x31, 0x9a, 0x8f, 0x16, 0xa0, 0x9b, 0xd0, + 0x72, 0xb4, 0x1a, 0x3d, 0x8c, 0x36, 0xa1, 0xe7, 0xd0, 0xab, 0x68, 0x0f, + 0xda, 0x8f, 0x3e, 0x43, 0xc7, 0x30, 0xc0, 0xe8, 0x18, 0x07, 0x33, 0xc4, + 0x6c, 0x30, 0x2e, 0xc6, 0xc3, 0x42, 0xb1, 0x38, 0x2c, 0x09, 0x93, 0x63, + 0xcb, 0xb1, 0x22, 0xac, 0x0c, 0xab, 0xc6, 0x1a, 0xb0, 0x56, 0xac, 0x03, + 0xbb, 0x89, 0xf5, 0x63, 0xcf, 0xb1, 0x77, 0x04, 0x12, 0x81, 0x45, 0xc0, + 0x09, 0x36, 0x04, 0x77, 0x42, 0x20, 0x61, 0x1e, 0x41, 0x48, 0x58, 0x4c, + 0x58, 0x4e, 0xd8, 0x48, 0xa8, 0x20, 0x1c, 0x24, 0x34, 0x11, 0xda, 0x09, + 0x37, 0x09, 0x03, 0x84, 0x51, 0xc2, 0x27, 0x22, 0x93, 0xa8, 0x4b, 0xb4, + 0x26, 0xba, 0x11, 0xf9, 0xc4, 0x18, 0x62, 0x32, 0x31, 0x87, 0x58, 0x48, + 0x2c, 0x23, 0xd6, 0x12, 0x8f, 0x13, 0x2f, 0x10, 0x7b, 0x88, 0x43, 0xc4, + 0x37, 0x24, 0x12, 0x89, 0x43, 0x32, 0x27, 0xb9, 0x90, 0x02, 0x49, 0xb1, + 0xa4, 0x54, 0xd2, 0x12, 0xd2, 0x46, 0xd2, 0x6e, 0x52, 0x23, 0xe9, 0x2c, + 0xa9, 0x9b, 0x34, 0x48, 0x1a, 0x23, 0x93, 0xc9, 0xda, 0x64, 0x6b, 0xb2, + 0x07, 0x39, 0x94, 0x2c, 0x20, 0x2b, 0xc8, 0x85, 0xe4, 0x9d, 0xe4, 0xc3, + 0xe4, 0x33, 0xe4, 0x1b, 0xe4, 0x21, 0xf2, 0x5b, 0x0a, 0x9d, 0x62, 0x40, + 0x71, 0xa4, 0xf8, 0x53, 0xe2, 0x28, 0x52, 0xca, 0x6a, 0x4a, 0x19, 0xe5, + 0x10, 0xe5, 0x34, 0xe5, 0x06, 0x65, 0x98, 0x32, 0x41, 0x55, 0xa3, 0x9a, + 0x52, 0xdd, 0xa8, 0xa1, 0x54, 0x11, 0x35, 0x8f, 0x5a, 0x42, 0xad, 0xa1, + 0xb6, 0x52, 0xaf, 0x51, 0x87, 0xa8, 0x13, 0x34, 0x75, 0x9a, 0x39, 0xcd, + 0x83, 0x16, 0x49, 0x4b, 0xa5, 0xad, 0xa2, 0x95, 0xd3, 0x1a, 0x68, 0x17, + 0x68, 0xf7, 0x69, 0xaf, 0xe8, 0x74, 0xba, 0x11, 0xdd, 0x95, 0x1e, 0x4e, + 0x97, 0xd0, 0x57, 0xd2, 0xcb, 0xe9, 0x47, 0xe8, 0x97, 0xe8, 0x03, 0xf4, + 0x77, 0x0c, 0x0d, 0x86, 0x15, 0x83, 0xc7, 0x88, 0x67, 0x28, 0x19, 0x9b, + 0x18, 0x07, 0x18, 0x67, 0x19, 0x77, 0x18, 0xaf, 0x98, 0x4c, 0xa6, 0x19, + 0xd3, 0x8b, 0x19, 0xc7, 0x54, 0x30, 0x37, 0x31, 0xeb, 0x98, 0xe7, 0x99, + 0x0f, 0x99, 0x6f, 0x55, 0x58, 0x2a, 0xb6, 0x2a, 0x7c, 0x15, 0x91, 0xca, + 0x0a, 0x95, 0x4a, 0x95, 0x26, 0x95, 0x1b, 0x2a, 0x2f, 0x54, 0xa9, 0xaa, + 0xa6, 0xaa, 0xde, 0xaa, 0x0b, 0x55, 0xf3, 0x55, 0xcb, 0x54, 0x8f, 0xa9, + 0x5e, 0x53, 0x7d, 0xae, 0x46, 0x55, 0x33, 0x53, 0xe3, 0xa9, 0x09, 0xd4, + 0x96, 0xab, 0x55, 0xaa, 0x9d, 0x50, 0xeb, 0x53, 0x1b, 0x53, 0x67, 0xa9, + 0x3b, 0xa8, 0x87, 0xaa, 0x67, 0xa8, 0x6f, 0x54, 0x3f, 0xa4, 0x7e, 0x59, + 0xfd, 0x89, 0x06, 0x59, 0xc3, 0x4c, 0xc3, 0x4f, 0x43, 0xa4, 0x51, 0xa0, + 0xb1, 0x5f, 0xe3, 0xbc, 0xc6, 0x20, 0x0b, 0x63, 0x19, 0xb3, 0x78, 0x2c, + 0x21, 0x6b, 0x0d, 0xab, 0x86, 0x75, 0x81, 0x35, 0xc4, 0x26, 0xb1, 0xcd, + 0xd9, 0x7c, 0x76, 0x2a, 0xbb, 0x98, 0xfd, 0x1d, 0xbb, 0x8b, 0x3d, 0xaa, + 0xa9, 0xa1, 0x39, 0x43, 0x33, 0x4a, 0x33, 0x57, 0xb3, 0x52, 0xf3, 0x94, + 0x66, 0x3f, 0x07, 0xe3, 0x98, 0x71, 0xf8, 0x9c, 0x74, 0x4e, 0x09, 0xe7, + 0x28, 0xa7, 0x97, 0xf3, 0x7e, 0x8a, 0xde, 0x14, 0xef, 0x29, 0xe2, 0x29, + 0x1b, 0xa6, 0x34, 0x4c, 0xb9, 0x31, 0x65, 0x5c, 0x6b, 0xaa, 0x96, 0x97, + 0x96, 0x58, 0xab, 0x48, 0xab, 0x51, 0xab, 0x47, 0xeb, 0xbd, 0x36, 0xae, + 0xed, 0xa7, 0x9d, 0xa6, 0xbd, 0x45, 0xbb, 0x59, 0xfb, 0x81, 0x0e, 0x41, + 0xc7, 0x4a, 0x27, 0x5c, 0x27, 0x47, 0x67, 0x8f, 0xce, 0x05, 0x9d, 0xe7, + 0x53, 0xd9, 0x53, 0xdd, 0xa7, 0x0a, 0xa7, 0x16, 0x4d, 0x3d, 0x3a, 0xf5, + 0xae, 0x2e, 0xaa, 0x6b, 0xa5, 0x1b, 0xa1, 0xbb, 0x44, 0x77, 0xbf, 0x6e, + 0xa7, 0xee, 0x98, 0x9e, 0xbe, 0x5e, 0x80, 0x9e, 0x4c, 0x6f, 0xa7, 0xde, + 0x79, 0xbd, 0xe7, 0xfa, 0x1c, 0x7d, 0x2f, 0xfd, 0x54, 0xfd, 0x6d, 0xfa, + 0xa7, 0xf5, 0x47, 0x0c, 0x58, 0x06, 0xb3, 0x0c, 0x24, 0x06, 0xdb, 0x0c, + 0xce, 0x18, 0x3c, 0xc5, 0x35, 0x71, 0x6f, 0x3c, 0x1d, 0x2f, 0xc7, 0xdb, + 0xf1, 0x51, 0x43, 0x5d, 0xc3, 0x40, 0x43, 0xa5, 0x61, 0x95, 0x61, 0x97, + 0xe1, 0x84, 0x91, 0xb9, 0xd1, 0x3c, 0xa3, 0xd5, 0x46, 0x8d, 0x46, 0x0f, + 0x8c, 0x69, 0xc6, 0x5c, 0xe3, 0x24, 0xe3, 0x6d, 0xc6, 0x6d, 0xc6, 0xa3, + 0x26, 0x06, 0x26, 0x21, 0x26, 0x4b, 0x4d, 0xea, 0x4d, 0xee, 0x9a, 0x52, + 0x4d, 0xb9, 0xa6, 0x29, 0xa6, 0x3b, 0x4c, 0x3b, 0x4c, 0xc7, 0xcd, 0xcc, + 0xcd, 0xa2, 0xcd, 0xd6, 0x99, 0x35, 0x9b, 0x3d, 0x31, 0xd7, 0x32, 0xe7, + 0x9b, 0xe7, 0x9b, 0xd7, 0x9b, 0xdf, 0xb7, 0x60, 0x5a, 0x78, 0x5a, 0x2c, + 0xb6, 0xa8, 0xb6, 0xb8, 0x65, 0x49, 0xb2, 0xe4, 0x5a, 0xa6, 0x59, 0xee, + 0xb6, 0xbc, 0x6e, 0x85, 0x5a, 0x39, 0x59, 0xa5, 0x58, 0x55, 0x5a, 0x5d, + 0xb3, 0x46, 0xad, 0x9d, 0xad, 0x25, 0xd6, 0xbb, 0xad, 0xbb, 0xa7, 0x11, + 0xa7, 0xb9, 0x4e, 0x93, 0x4e, 0xab, 0x9e, 0xd6, 0x67, 0xc3, 0xb0, 0xf1, + 0xb6, 0xc9, 0xb6, 0xa9, 0xb7, 0x19, 0xb0, 0xe5, 0xd8, 0x06, 0xdb, 0xae, + 0xb6, 0x6d, 0xb6, 0x7d, 0x61, 0x67, 0x62, 0x17, 0x67, 0xb7, 0xc5, 0xae, + 0xc3, 0xee, 0x93, 0xbd, 0x93, 0x7d, 0xba, 0x7d, 0x8d, 0xfd, 0x3d, 0x07, + 0x0d, 0x87, 0xd9, 0x0e, 0xab, 0x1d, 0x5a, 0x1d, 0x7e, 0x73, 0xb4, 0x72, + 0x14, 0x3a, 0x56, 0x3a, 0xde, 0x9a, 0xce, 0x9c, 0xee, 0x3f, 0x7d, 0xc5, + 0xf4, 0x96, 0xe9, 0x2f, 0x67, 0x58, 0xcf, 0x10, 0xcf, 0xd8, 0x33, 0xe3, + 0xb6, 0x13, 0xcb, 0x29, 0xc4, 0x69, 0x9d, 0x53, 0x9b, 0xd3, 0x47, 0x67, + 0x17, 0x67, 0xb9, 0x73, 0x83, 0xf3, 0x88, 0x8b, 0x89, 0x4b, 0x82, 0xcb, + 0x2e, 0x97, 0x3e, 0x2e, 0x9b, 0x1b, 0xc6, 0xdd, 0xc8, 0xbd, 0xe4, 0x4a, + 0x74, 0xf5, 0x71, 0x5d, 0xe1, 0x7a, 0xd2, 0xf5, 0x9d, 0x9b, 0xb3, 0x9b, + 0xc2, 0xed, 0xa8, 0xdb, 0xaf, 0xee, 0x36, 0xee, 0x69, 0xee, 0x87, 0xdc, + 0x9f, 0xcc, 0x34, 0x9f, 0x29, 0x9e, 0x59, 0x33, 0x73, 0xd0, 0xc3, 0xc8, + 0x43, 0xe0, 0x51, 0xe5, 0xd1, 0x3f, 0x0b, 0x9f, 0x95, 0x30, 0x6b, 0xdf, + 0xac, 0x7e, 0x4f, 0x43, 0x4f, 0x81, 0x67, 0xb5, 0xe7, 0x23, 0x2f, 0x63, + 0x2f, 0x91, 0x57, 0xad, 0xd7, 0xb0, 0xb7, 0xa5, 0x77, 0xaa, 0xf7, 0x61, + 0xef, 0x17, 0x3e, 0xf6, 0x3e, 0x72, 0x9f, 0xe3, 0x3e, 0xe3, 0x3c, 0x37, + 0xde, 0x32, 0xde, 0x59, 0x5f, 0xcc, 0x37, 0xc0, 0xb7, 0xc8, 0xb7, 0xcb, + 0x4f, 0xc3, 0x6f, 0x9e, 0x5f, 0x85, 0xdf, 0x43, 0x7f, 0x23, 0xff, 0x64, + 0xff, 0x7a, 0xff, 0xd1, 0x00, 0xa7, 0x80, 0x25, 0x01, 0x67, 0x03, 0x89, + 0x81, 0x41, 0x81, 0x5b, 0x02, 0xfb, 0xf8, 0x7a, 0x7c, 0x21, 0xbf, 0x8e, + 0x3f, 0x3a, 0xdb, 0x65, 0xf6, 0xb2, 0xd9, 0xed, 0x41, 0x8c, 0xa0, 0xb9, + 0x41, 0x15, 0x41, 0x8f, 0x82, 0xad, 0x82, 0xe5, 0xc1, 0xad, 0x21, 0x68, + 0xc8, 0xec, 0x90, 0xad, 0x21, 0xf7, 0xe7, 0x98, 0xce, 0x91, 0xce, 0x69, + 0x0e, 0x85, 0x50, 0x7e, 0xe8, 0xd6, 0xd0, 0x07, 0x61, 0xe6, 0x61, 0x8b, + 0xc3, 0x7e, 0x0c, 0x27, 0x85, 0x87, 0x85, 0x57, 0x86, 0x3f, 0x8e, 0x70, + 0x88, 0x58, 0x1a, 0xd1, 0x31, 0x97, 0x35, 0x77, 0xd1, 0xdc, 0x43, 0x73, + 0xdf, 0x44, 0xfa, 0x44, 0x96, 0x44, 0xde, 0x9b, 0x67, 0x31, 0x4f, 0x39, + 0xaf, 0x2d, 0x4a, 0x35, 0x2a, 0x3e, 0xaa, 0x2e, 0x6a, 0x3c, 0xda, 0x37, + 0xba, 0x34, 0xba, 0x3f, 0xc6, 0x2e, 0x66, 0x59, 0xcc, 0xd5, 0x58, 0x9d, + 0x58, 0x49, 0x6c, 0x4b, 0x1c, 0x39, 0x2e, 0x2a, 0xae, 0x36, 0x6e, 0x6c, + 0xbe, 0xdf, 0xfc, 0xed, 0xf3, 0x87, 0xe2, 0x9d, 0xe2, 0x0b, 0xe3, 0x7b, + 0x17, 0x98, 0x2f, 0xc8, 0x5d, 0x70, 0x79, 0xa1, 0xce, 0xc2, 0xf4, 0x85, + 0xa7, 0x16, 0xa9, 0x2e, 0x12, 0x2c, 0x3a, 0x96, 0x40, 0x4c, 0x88, 0x4e, + 0x38, 0x94, 0xf0, 0x41, 0x10, 0x2a, 0xa8, 0x16, 0x8c, 0x25, 0xf2, 0x13, + 0x77, 0x25, 0x8e, 0x0a, 0x79, 0xc2, 0x1d, 0xc2, 0x67, 0x22, 0x2f, 0xd1, + 0x36, 0xd1, 0x88, 0xd8, 0x43, 0x5c, 0x2a, 0x1e, 0x4e, 0xf2, 0x48, 0x2a, + 0x4d, 0x7a, 0x92, 0xec, 0x91, 0xbc, 0x35, 0x79, 0x24, 0xc5, 0x33, 0xa5, + 0x2c, 0xe5, 0xb9, 0x84, 0x27, 0xa9, 0x90, 0xbc, 0x4c, 0x0d, 0x4c, 0xdd, + 0x9b, 0x3a, 0x9e, 0x16, 0x9a, 0x76, 0x20, 0x6d, 0x32, 0x3d, 0x3a, 0xbd, + 0x31, 0x83, 0x92, 0x91, 0x90, 0x71, 0x42, 0xaa, 0x21, 0x4d, 0x93, 0xb6, + 0x67, 0xea, 0x67, 0xe6, 0x66, 0x76, 0xcb, 0xac, 0x65, 0x85, 0xb2, 0xfe, + 0xc5, 0x6e, 0x8b, 0xb7, 0x2f, 0x1e, 0x95, 0x07, 0xc9, 0x6b, 0xb3, 0x90, + 0xac, 0x05, 0x59, 0x2d, 0x0a, 0xb6, 0x42, 0xa6, 0xe8, 0x54, 0x5a, 0x28, + 0xd7, 0x2a, 0x07, 0xb2, 0x67, 0x65, 0x57, 0x66, 0xbf, 0xcd, 0x89, 0xca, + 0x39, 0x96, 0xab, 0x9e, 0x2b, 0xcd, 0xed, 0xcc, 0xb3, 0xca, 0xdb, 0x90, + 0x37, 0x9c, 0xef, 0x9f, 0xff, 0xed, 0x12, 0xc2, 0x12, 0xe1, 0x92, 0xb6, + 0xa5, 0x86, 0x4b, 0x57, 0x2d, 0x1d, 0x58, 0xe6, 0xbd, 0xac, 0x6a, 0x39, + 0xb2, 0x3c, 0x71, 0x79, 0xdb, 0x0a, 0xe3, 0x15, 0x05, 0x2b, 0x86, 0x56, + 0x06, 0xac, 0x3c, 0xb8, 0x8a, 0xb6, 0x2a, 0x6d, 0xd5, 0x4f, 0xab, 0xed, + 0x57, 0x97, 0xae, 0x7e, 0xbd, 0x26, 0x7a, 0x4d, 0x6b, 0x81, 0x5e, 0xc1, + 0xca, 0x82, 0xc1, 0xb5, 0x01, 0x6b, 0xeb, 0x0b, 0x55, 0x0a, 0xe5, 0x85, + 0x7d, 0xeb, 0xdc, 0xd7, 0xed, 0x5d, 0x4f, 0x58, 0x2f, 0x59, 0xdf, 0xb5, + 0x61, 0xfa, 0x86, 0x9d, 0x1b, 0x3e, 0x15, 0x89, 0x8a, 0xae, 0x14, 0xdb, + 0x17, 0x97, 0x15, 0x7f, 0xd8, 0x28, 0xdc, 0x78, 0xe5, 0x1b, 0x87, 0x6f, + 0xca, 0xbf, 0x99, 0xdc, 0x94, 0xb4, 0xa9, 0xab, 0xc4, 0xb9, 0x64, 0xcf, + 0x66, 0xd2, 0x66, 0xe9, 0xe6, 0xde, 0x2d, 0x9e, 0x5b, 0x0e, 0x96, 0xaa, + 0x97, 0xe6, 0x97, 0x0e, 0x6e, 0x0d, 0xd9, 0xda, 0xb4, 0x0d, 0xdf, 0x56, + 0xb4, 0xed, 0xf5, 0xf6, 0x45, 0xdb, 0x2f, 0x97, 0xcd, 0x28, 0xdb, 0xbb, + 0x83, 0xb6, 0x43, 0xb9, 0xa3, 0xbf, 0x3c, 0xb8, 0xbc, 0x65, 0xa7, 0xc9, + 0xce, 0xcd, 0x3b, 0x3f, 0x54, 0xa4, 0x54, 0xf4, 0x54, 0xfa, 0x54, 0x36, + 0xee, 0xd2, 0xdd, 0xb5, 0x61, 0xd7, 0xf8, 0x6e, 0xd1, 0xee, 0x1b, 0x7b, + 0xbc, 0xf6, 0x34, 0xec, 0xd5, 0xdb, 0x5b, 0xbc, 0xf7, 0xfd, 0x3e, 0xc9, + 0xbe, 0xdb, 0x55, 0x01, 0x55, 0x4d, 0xd5, 0x66, 0xd5, 0x65, 0xfb, 0x49, + 0xfb, 0xb3, 0xf7, 0x3f, 0xae, 0x89, 0xaa, 0xe9, 0xf8, 0x96, 0xfb, 0x6d, + 0x5d, 0xad, 0x4e, 0x6d, 0x71, 0xed, 0xc7, 0x03, 0xd2, 0x03, 0xfd, 0x07, + 0x23, 0x0e, 0xb6, 0xd7, 0xb9, 0xd4, 0xd5, 0x1d, 0xd2, 0x3d, 0x54, 0x52, + 0x8f, 0xd6, 0x2b, 0xeb, 0x47, 0x0e, 0xc7, 0x1f, 0xbe, 0xfe, 0x9d, 0xef, + 0x77, 0x2d, 0x0d, 0x36, 0x0d, 0x55, 0x8d, 0x9c, 0xc6, 0xe2, 0x23, 0x70, + 0x44, 0x79, 0xe4, 0xe9, 0xf7, 0x09, 0xdf, 0xf7, 0x1e, 0x0d, 0x3a, 0xda, + 0x76, 0x8c, 0x7b, 0xac, 0xe1, 0x07, 0xd3, 0x1f, 0x76, 0x1d, 0x67, 0x1d, + 0x2f, 0x6a, 0x42, 0x9a, 0xf2, 0x9a, 0x46, 0x9b, 0x53, 0x9a, 0xfb, 0x5b, + 0x62, 0x5b, 0xba, 0x4f, 0xcc, 0x3e, 0xd1, 0xd6, 0xea, 0xde, 0x7a, 0xfc, + 0x47, 0xdb, 0x1f, 0x0f, 0x9c, 0x34, 0x3c, 0x59, 0x79, 0x4a, 0xf3, 0x54, + 0xc9, 0x69, 0xda, 0xe9, 0x82, 0xd3, 0x93, 0x67, 0xf2, 0xcf, 0x8c, 0x9d, + 0x95, 0x9d, 0x7d, 0x7e, 0x2e, 0xf9, 0xdc, 0x60, 0xdb, 0xa2, 0xb6, 0x7b, + 0xe7, 0x63, 0xce, 0xdf, 0x6a, 0x0f, 0x6f, 0xef, 0xba, 0x10, 0x74, 0xe1, + 0xd2, 0x45, 0xff, 0x8b, 0xe7, 0x3b, 0xbc, 0x3b, 0xce, 0x5c, 0xf2, 0xb8, + 0x74, 0xf2, 0xb2, 0xdb, 0xe5, 0x13, 0x57, 0xb8, 0x57, 0x9a, 0xaf, 0x3a, + 0x5f, 0x6d, 0xea, 0x74, 0xea, 0x3c, 0xfe, 0x93, 0xd3, 0x4f, 0xc7, 0xbb, + 0x9c, 0xbb, 0x9a, 0xae, 0xb9, 0x5c, 0x6b, 0xb9, 0xee, 0x7a, 0xbd, 0xb5, + 0x7b, 0x66, 0xf7, 0xe9, 0x1b, 0x9e, 0x37, 0xce, 0xdd, 0xf4, 0xbd, 0x79, + 0xf1, 0x16, 0xff, 0xd6, 0xd5, 0x9e, 0x39, 0x3d, 0xdd, 0xbd, 0xf3, 0x7a, + 0x6f, 0xf7, 0xc5, 0xf7, 0xf5, 0xdf, 0x16, 0xdd, 0x7e, 0x72, 0x27, 0xfd, + 0xce, 0xcb, 0xbb, 0xd9, 0x77, 0x27, 0xee, 0xad, 0xbc, 0x4f, 0xbc, 0x5f, + 0xf4, 0x40, 0xed, 0x41, 0xd9, 0x43, 0xdd, 0x87, 0xd5, 0x3f, 0x5b, 0xfe, + 0xdc, 0xd8, 0xef, 0xdc, 0x7f, 0x6a, 0xc0, 0x77, 0xa0, 0xf3, 0xd1, 0xdc, + 0x47, 0xf7, 0x06, 0x85, 0x83, 0xcf, 0xfe, 0x91, 0xf5, 0x8f, 0x0f, 0x43, + 0x05, 0x8f, 0x99, 0x8f, 0xcb, 0x86, 0x0d, 0x86, 0xeb, 0x9e, 0x38, 0x3e, + 0x39, 0x39, 0xe2, 0x3f, 0x72, 0xfd, 0xe9, 0xfc, 0xa7, 0x43, 0xcf, 0x64, + 0xcf, 0x26, 0x9e, 0x17, 0xfe, 0xa2, 0xfe, 0xcb, 0xae, 0x17, 0x16, 0x2f, + 0x7e, 0xf8, 0xd5, 0xeb, 0xd7, 0xce, 0xd1, 0x98, 0xd1, 0xa1, 0x97, 0xf2, + 0x97, 0x93, 0xbf, 0x6d, 0x7c, 0xa5, 0xfd, 0xea, 0xc0, 0xeb, 0x19, 0xaf, + 0xdb, 0xc6, 0xc2, 0xc6, 0x1e, 0xbe, 0xc9, 0x78, 0x33, 0x31, 0x5e, 0xf4, + 0x56, 0xfb, 0xed, 0xc1, 0x77, 0xdc, 0x77, 0x1d, 0xef, 0xa3, 0xdf, 0x0f, + 0x4f, 0xe4, 0x7c, 0x20, 0x7f, 0x28, 0xff, 0x68, 0xf9, 0xb1, 0xf5, 0x53, + 0xd0, 0xa7, 0xfb, 0x93, 0x19, 0x93, 0x93, 0xff, 0x04, 0x03, 0x98, 0xf3, + 0xfc, 0x63, 0x33, 0x2d, 0xdb, 0x00, 0x00, 0x00, 0x20, 0x63, 0x48, 0x52, + 0x4d, 0x00, 0x00, 0x7a, 0x25, 0x00, 0x00, 0x80, 0x83, 0x00, 0x00, 0xf9, + 0xff, 0x00, 0x00, 0x80, 0xe9, 0x00, 0x00, 0x75, 0x30, 0x00, 0x00, 0xea, + 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00, 0x00, 0x17, 0x6f, 0x92, 0x5f, 0xc5, + 0x46, 0x00, 0x00, 0x05, 0x3d, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x84, + 0x95, 0x5b, 0x6c, 0x5c, 0xd5, 0x15, 0x86, 0xbf, 0xbd, 0xcf, 0x99, 0xcb, + 0xf1, 0x6d, 0xec, 0x8c, 0x3d, 0x4c, 0x62, 0xc7, 0xce, 0xcd, 0x76, 0x15, + 0x2a, 0xb9, 0x8c, 0xb8, 0xa4, 0x91, 0xa8, 0x4a, 0xda, 0x86, 0x12, 0x29, + 0x10, 0xda, 0xb4, 0xaa, 0x54, 0x09, 0xa2, 0x16, 0xaa, 0x8a, 0xa0, 0xf6, + 0xad, 0x22, 0x48, 0x50, 0x78, 0x40, 0x42, 0x40, 0x79, 0x69, 0x05, 0x52, + 0x5a, 0xa1, 0x5a, 0xa4, 0x12, 0x88, 0x2a, 0x28, 0x11, 0xa4, 0x5c, 0x63, + 0x22, 0xb5, 0xa8, 0x04, 0x51, 0x39, 0x4d, 0xa2, 0x92, 0x86, 0xa6, 0x49, + 0xc6, 0x4e, 0x9d, 0xf8, 0x1e, 0x4f, 0xce, 0xcc, 0x9c, 0xb3, 0xf7, 0x5e, + 0x7d, 0x70, 0x66, 0x62, 0x63, 0x43, 0x96, 0xb4, 0x1e, 0xd7, 0xfe, 0xf7, + 0xbf, 0xfe, 0xb5, 0xd6, 0xaf, 0x44, 0x84, 0xe1, 0x93, 0xa7, 0xde, 0xcb, + 0xe7, 0xda, 0xd7, 0x03, 0x56, 0xb1, 0x34, 0x04, 0x70, 0xce, 0x21, 0xce, + 0x21, 0xe0, 0x5f, 0x1c, 0x9f, 0x1a, 0x2b, 0x85, 0xe1, 0x03, 0x61, 0xa5, + 0x72, 0xc2, 0x39, 0x47, 0xd2, 0xf7, 0x91, 0x65, 0xea, 0xb6, 0x7e, 0xe3, + 0xeb, 0xf8, 0x00, 0x2d, 0xcd, 0x4d, 0xf9, 0x7c, 0x47, 0x76, 0x0d, 0xd7, + 0x09, 0x63, 0x2d, 0xe2, 0x84, 0x74, 0x3a, 0xd5, 0x33, 0x33, 0x3b, 0xf7, + 0xd2, 0x67, 0x67, 0xcf, 0xef, 0x10, 0x91, 0x0b, 0x5f, 0x56, 0xa3, 0x01, + 0x14, 0x18, 0xae, 0xfe, 0xf2, 0xcb, 0x52, 0x01, 0x4e, 0x04, 0xad, 0x35, + 0xed, 0x2b, 0x5a, 0x6f, 0xd9, 0xd8, 0xbb, 0xfe, 0x65, 0xa0, 0xc9, 0x39, + 0x07, 0x80, 0x52, 0x0a, 0xa5, 0xa8, 0x27, 0x30, 0xcf, 0xa0, 0x8e, 0xa6, + 0xf5, 0xf5, 0x48, 0x20, 0x80, 0xa7, 0x34, 0x56, 0x1c, 0xdd, 0x9d, 0xf9, + 0x2d, 0x82, 0xec, 0x3b, 0x37, 0x72, 0x61, 0x47, 0x58, 0xae, 0x62, 0x9d, + 0x41, 0xa1, 0x96, 0x32, 0xa8, 0xc5, 0xf5, 0x18, 0x58, 0x6b, 0x51, 0x4a, + 0xe1, 0x79, 0x1e, 0x61, 0x58, 0x61, 0x7a, 0xf6, 0x32, 0x2b, 0x32, 0x99, + 0x7b, 0x72, 0xd9, 0x15, 0xfb, 0xac, 0xb5, 0x44, 0x91, 0x21, 0x8a, 0xaf, + 0x65, 0x9d, 0x81, 0xd2, 0x6a, 0x59, 0x06, 0xc5, 0x62, 0x91, 0x30, 0x0c, + 0x69, 0x6f, 0xcf, 0x92, 0xcd, 0xb6, 0x03, 0x10, 0x45, 0x11, 0xa9, 0x54, + 0x82, 0xc6, 0x86, 0x34, 0xd5, 0x28, 0xe6, 0x8a, 0xa9, 0x90, 0x48, 0x24, + 0x7e, 0x9c, 0x4c, 0x24, 0x2e, 0x44, 0x71, 0xfc, 0x2b, 0xa5, 0x16, 0x33, + 0xf0, 0x3f, 0xcf, 0x00, 0x20, 0x0c, 0x43, 0x9e, 0x7f, 0xfe, 0x37, 0x00, + 0x04, 0x41, 0x03, 0x93, 0x93, 0x13, 0xec, 0xda, 0xb5, 0x8b, 0xde, 0xde, + 0x3e, 0x94, 0xd6, 0x88, 0x40, 0x2a, 0x99, 0x44, 0x6b, 0x4d, 0x6c, 0x2c, + 0x89, 0x64, 0x92, 0x86, 0x86, 0xe0, 0xab, 0x73, 0xa5, 0x2b, 0x7c, 0xae, + 0x43, 0xcb, 0x6b, 0x30, 0x34, 0x74, 0x18, 0x80, 0xc7, 0x1f, 0xff, 0xf5, + 0x52, 0x11, 0x9c, 0x23, 0x8e, 0x0d, 0x22, 0x82, 0xbb, 0x9a, 0x22, 0x0e, + 0x20, 0x9e, 0x57, 0x97, 0xeb, 0x6b, 0xd0, 0xd9, 0xd9, 0x45, 0xb1, 0x58, + 0xe4, 0xe0, 0xc1, 0x03, 0x8c, 0x8f, 0x8f, 0x2f, 0xd2, 0x40, 0x9c, 0x00, + 0xb5, 0x87, 0x05, 0x44, 0x10, 0x61, 0xd9, 0x3d, 0x58, 0x02, 0xa0, 0xb5, + 0x46, 0x6b, 0x4d, 0xa1, 0x50, 0xe0, 0xa1, 0x87, 0x76, 0x33, 0x3c, 0x3c, + 0xcc, 0xa3, 0x8f, 0xee, 0x61, 0x70, 0x70, 0x90, 0x4a, 0xa5, 0x82, 0xe7, + 0x79, 0x38, 0x71, 0x88, 0x5c, 0x1b, 0xa9, 0x79, 0x0c, 0xa9, 0x33, 0x5a, + 0x76, 0x4c, 0x6b, 0x05, 0x35, 0x0d, 0x00, 0x06, 0x06, 0x06, 0x18, 0x18, + 0x18, 0xa0, 0x58, 0x2c, 0x32, 0x38, 0xf8, 0x47, 0x5e, 0x7d, 0xf5, 0x15, + 0xee, 0xbb, 0xef, 0x7e, 0x44, 0xc0, 0xb3, 0x0a, 0x65, 0x14, 0xd6, 0x58, + 0x12, 0x22, 0x04, 0x3a, 0x49, 0x83, 0x4e, 0xa8, 0xd6, 0x74, 0x92, 0x20, + 0xa5, 0xaf, 0x22, 0x2f, 0x00, 0xa8, 0xb5, 0xa0, 0xa6, 0x41, 0xb1, 0x58, + 0x24, 0x9b, 0xcd, 0x92, 0x4e, 0xa7, 0x59, 0xbd, 0x7a, 0x35, 0x7d, 0x7d, + 0xfd, 0x4c, 0x4e, 0x4e, 0xe0, 0x79, 0x1e, 0x51, 0xa9, 0xc2, 0x91, 0xd1, + 0x4f, 0x78, 0xeb, 0xfc, 0x51, 0xce, 0xcd, 0xfd, 0x0f, 0xad, 0x35, 0x7d, + 0xad, 0xdd, 0x7c, 0x67, 0xd5, 0xcd, 0x9b, 0x6e, 0x6c, 0xeb, 0xf9, 0x6d, + 0x71, 0xec, 0xc2, 0x2f, 0x63, 0x17, 0xbb, 0xda, 0x34, 0xd5, 0x01, 0xb4, + 0xd6, 0x75, 0x06, 0xe3, 0xe3, 0xe3, 0x3c, 0xf7, 0xdc, 0xb3, 0x64, 0xb3, + 0xd9, 0xab, 0x53, 0x55, 0x66, 0xf7, 0xee, 0xdd, 0x8c, 0x5d, 0x1c, 0xe3, + 0x89, 0x4f, 0x7e, 0xcf, 0xfe, 0xb3, 0x7f, 0x23, 0xe1, 0x27, 0x09, 0x12, + 0x29, 0x50, 0xf0, 0xe1, 0xc4, 0xbf, 0xd8, 0x7b, 0xea, 0x40, 0xc7, 0x83, + 0x37, 0x6e, 0x7f, 0xf8, 0xe1, 0xb5, 0xf7, 0xae, 0x1f, 0x1d, 0x19, 0xdd, + 0x69, 0xc4, 0x86, 0x0b, 0x00, 0x84, 0x72, 0x25, 0x22, 0x48, 0x27, 0x01, + 0x28, 0x14, 0x0a, 0x14, 0x0a, 0x05, 0x3e, 0x3d, 0xf5, 0x29, 0x0a, 0x45, + 0x7f, 0x5f, 0x3f, 0xd5, 0xb0, 0xc2, 0x4f, 0x87, 0x9e, 0xe4, 0xcd, 0xd1, + 0x8f, 0xe9, 0xcf, 0x75, 0x11, 0xf8, 0xe0, 0x2b, 0x87, 0x15, 0x8b, 0xaf, + 0x9b, 0xd9, 0xd6, 0xb3, 0x95, 0x17, 0x8e, 0xfd, 0x99, 0x0a, 0xf1, 0x5d, + 0x8f, 0xac, 0xf9, 0xd1, 0xef, 0xce, 0x8e, 0x9e, 0xff, 0x49, 0x1d, 0xc0, + 0x8a, 0xc3, 0x58, 0x43, 0x18, 0xba, 0x79, 0xc1, 0x70, 0x28, 0xed, 0xd1, + 0xdd, 0xb3, 0x16, 0x6b, 0x2d, 0xd5, 0xcb, 0x55, 0x5e, 0xfe, 0xcf, 0x21, + 0xde, 0x1a, 0xfb, 0x3b, 0x9b, 0x57, 0xf5, 0x90, 0xf1, 0x0d, 0x8d, 0xbe, + 0x22, 0xa9, 0x21, 0x34, 0x15, 0xbe, 0xd7, 0xbb, 0x93, 0xed, 0xeb, 0xee, + 0x65, 0x55, 0x53, 0x07, 0x3f, 0x3b, 0xfc, 0x24, 0xdf, 0x5a, 0x79, 0xcb, + 0xf7, 0xfb, 0x9b, 0x72, 0x7f, 0x00, 0x3e, 0xd4, 0xb5, 0x16, 0xc5, 0xc6, + 0x62, 0x9c, 0xc5, 0x8a, 0xc3, 0x09, 0x58, 0x6b, 0x89, 0x8d, 0xc1, 0xc4, + 0x96, 0xb9, 0xb8, 0xcc, 0x47, 0x53, 0xef, 0x72, 0x5b, 0x47, 0x33, 0x5d, + 0x41, 0x4c, 0x3e, 0x10, 0xf2, 0x41, 0x40, 0xa3, 0x0f, 0xb7, 0xaf, 0xdc, + 0xc4, 0xf6, 0x75, 0x3b, 0x98, 0xae, 0x86, 0x0c, 0x9d, 0x7b, 0x97, 0xcd, + 0x1d, 0x01, 0x1f, 0x4d, 0x1f, 0x6e, 0x69, 0x69, 0x6b, 0x7b, 0xa0, 0xce, + 0xc0, 0x18, 0x47, 0x6c, 0x8c, 0x88, 0x78, 0x4b, 0xec, 0xc0, 0x19, 0xc7, + 0x44, 0x65, 0x8a, 0x8c, 0x3f, 0xc2, 0xda, 0x9c, 0x63, 0x6d, 0xeb, 0x37, + 0x69, 0x4c, 0x04, 0x7c, 0x70, 0xee, 0x35, 0x9a, 0x13, 0x2d, 0x6c, 0x5b, + 0xf7, 0x43, 0x40, 0xb1, 0xf7, 0xf8, 0x3e, 0xb4, 0x8c, 0xb0, 0xb5, 0x33, + 0x60, 0x26, 0xfe, 0x0c, 0x49, 0xfb, 0x1b, 0x17, 0x89, 0x1c, 0xc7, 0x46, + 0x39, 0x59, 0xba, 0x2e, 0xce, 0x38, 0x9c, 0xc4, 0xf8, 0xca, 0x90, 0x4b, + 0x0b, 0x77, 0x74, 0xdf, 0x4e, 0xbe, 0xf1, 0x2b, 0xf8, 0xca, 0xd2, 0x92, + 0x6c, 0x24, 0xdf, 0xd4, 0xc3, 0x91, 0xd1, 0x7f, 0x72, 0x66, 0xf2, 0x10, + 0x6b, 0x9a, 0x66, 0x68, 0xf1, 0x03, 0x4a, 0x26, 0x85, 0xe7, 0xa9, 0xe4, + 0x02, 0x00, 0x2b, 0xc6, 0x5a, 0x71, 0x22, 0xea, 0xda, 0x51, 0x9e, 0x0f, + 0x6b, 0x84, 0x66, 0xbf, 0x85, 0x4c, 0x2a, 0xcb, 0xc4, 0x95, 0x7f, 0xf0, + 0x97, 0xd3, 0x4f, 0xf0, 0x83, 0x8d, 0x2f, 0xb2, 0x6d, 0xfd, 0xfd, 0x88, + 0x38, 0x66, 0xaa, 0x11, 0x07, 0x4f, 0x3f, 0xc3, 0xea, 0xe0, 0x04, 0xd6, + 0x1a, 0x2e, 0x85, 0xcd, 0xb4, 0x35, 0x6e, 0xc1, 0xb3, 0x7a, 0xac, 0xbe, + 0xc9, 0xc6, 0x3a, 0x15, 0x45, 0xb1, 0xaa, 0x56, 0xab, 0xcc, 0x67, 0x44, + 0xb5, 0x1a, 0x53, 0x8d, 0x62, 0x22, 0x63, 0xf0, 0x25, 0x60, 0x43, 0x66, + 0x13, 0x13, 0x95, 0x69, 0xce, 0x4c, 0xbd, 0xcf, 0x9f, 0x8e, 0x3f, 0xc8, + 0x5c, 0x34, 0x89, 0x52, 0x9a, 0xfd, 0xa7, 0x5f, 0xc1, 0x46, 0xef, 0xa0, + 0x95, 0xa0, 0xf0, 0x98, 0x2c, 0x4f, 0xd0, 0xd7, 0xba, 0x99, 0xb8, 0x12, + 0x1f, 0xaa, 0x03, 0x38, 0xe7, 0x94, 0xb1, 0x0e, 0x63, 0x65, 0x5e, 0x60, + 0x99, 0xb7, 0x47, 0x63, 0x2c, 0xce, 0x59, 0x2e, 0x87, 0x73, 0xdc, 0x9a, + 0xbd, 0x87, 0x6c, 0xe3, 0xcd, 0x80, 0x47, 0x71, 0xf6, 0x08, 0xaf, 0x9d, + 0xfc, 0x39, 0xc3, 0x97, 0x4e, 0x70, 0x6c, 0xec, 0x25, 0x3a, 0xd2, 0x69, + 0x9c, 0x28, 0xc2, 0x78, 0x8e, 0xae, 0xd6, 0x2d, 0x7c, 0x2d, 0xf3, 0xed, + 0x8f, 0x67, 0x4b, 0xd3, 0x7b, 0xaf, 0x8d, 0xa9, 0x75, 0xc9, 0xd8, 0x98, + 0xba, 0xed, 0x2d, 0x70, 0x2f, 0x51, 0xa0, 0xac, 0x8b, 0xd0, 0x73, 0x4d, + 0xec, 0xec, 0x7d, 0x9a, 0x37, 0xce, 0xec, 0x61, 0xa2, 0x74, 0x94, 0xff, + 0xce, 0x0c, 0xf1, 0xef, 0xe9, 0xe3, 0x34, 0xeb, 0x90, 0xd8, 0x39, 0x62, + 0x57, 0xa2, 0xb3, 0xed, 0x0e, 0xee, 0x5e, 0xf7, 0xd4, 0xc5, 0xf2, 0x74, + 0xf9, 0x31, 0x63, 0xe3, 0x08, 0x40, 0x89, 0x08, 0x6f, 0x1e, 0xfe, 0xeb, + 0x1e, 0xdf, 0xf3, 0x6e, 0x00, 0xec, 0x17, 0x59, 0xa5, 0x75, 0xce, 0xad, + 0x5a, 0x91, 0x0b, 0x56, 0x76, 0x37, 0xdc, 0x79, 0x6c, 0x66, 0xff, 0x86, + 0xd3, 0x53, 0xef, 0x53, 0xaa, 0x8e, 0xa0, 0x95, 0x4f, 0x4b, 0xaa, 0x93, + 0xfe, 0xf6, 0xef, 0x72, 0x53, 0xfb, 0xce, 0x93, 0xe5, 0xa9, 0xf8, 0xb1, + 0x7c, 0x57, 0xee, 0xf5, 0x5a, 0x9d, 0x12, 0x11, 0x0e, 0xbc, 0x3d, 0xb4, + 0xc8, 0x73, 0x17, 0xdd, 0xde, 0x05, 0x27, 0x3e, 0xd3, 0x14, 0xd0, 0x93, + 0xcb, 0x6f, 0x68, 0x6b, 0x6b, 0xff, 0x85, 0x24, 0xaa, 0x85, 0xb2, 0xcc, + 0xde, 0xa0, 0x95, 0xe7, 0x02, 0x9d, 0x19, 0x53, 0x71, 0xf2, 0x68, 0x14, + 0x97, 0x9f, 0x0d, 0xcb, 0xa5, 0x4b, 0xdd, 0x6b, 0x7a, 0xea, 0xe5, 0xff, + 0x1f, 0x00, 0x4a, 0xf8, 0xed, 0xdd, 0xad, 0xc6, 0xc6, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __menu_single_user_png_len = 4114; +unsigned char __menu_single_user_disabled_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, + 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x0a, 0x4f, 0x69, 0x43, + 0x43, 0x50, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x73, 0x68, 0x6f, 0x70, 0x20, + 0x49, 0x43, 0x43, 0x20, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x00, + 0x00, 0x78, 0xda, 0x9d, 0x53, 0x67, 0x54, 0x53, 0xe9, 0x16, 0x3d, 0xf7, + 0xde, 0xf4, 0x42, 0x4b, 0x88, 0x80, 0x94, 0x4b, 0x6f, 0x52, 0x15, 0x08, + 0x20, 0x52, 0x42, 0x8b, 0x80, 0x14, 0x91, 0x26, 0x2a, 0x21, 0x09, 0x10, + 0x4a, 0x88, 0x21, 0xa1, 0xd9, 0x15, 0x51, 0xc1, 0x11, 0x45, 0x45, 0x04, + 0x1b, 0xc8, 0xa0, 0x88, 0x03, 0x8e, 0x8e, 0x80, 0x8c, 0x15, 0x51, 0x2c, + 0x0c, 0x8a, 0x0a, 0xd8, 0x07, 0xe4, 0x21, 0xa2, 0x8e, 0x83, 0xa3, 0x88, + 0x8a, 0xca, 0xfb, 0xe1, 0x7b, 0xa3, 0x6b, 0xd6, 0xbc, 0xf7, 0xe6, 0xcd, + 0xfe, 0xb5, 0xd7, 0x3e, 0xe7, 0xac, 0xf3, 0x9d, 0xb3, 0xcf, 0x07, 0xc0, + 0x08, 0x0c, 0x96, 0x48, 0x33, 0x51, 0x35, 0x80, 0x0c, 0xa9, 0x42, 0x1e, + 0x11, 0xe0, 0x83, 0xc7, 0xc4, 0xc6, 0xe1, 0xe4, 0x2e, 0x40, 0x81, 0x0a, + 0x24, 0x70, 0x00, 0x10, 0x08, 0xb3, 0x64, 0x21, 0x73, 0xfd, 0x23, 0x01, + 0x00, 0xf8, 0x7e, 0x3c, 0x3c, 0x2b, 0x22, 0xc0, 0x07, 0xbe, 0x00, 0x01, + 0x78, 0xd3, 0x0b, 0x08, 0x00, 0xc0, 0x4d, 0x9b, 0xc0, 0x30, 0x1c, 0x87, + 0xff, 0x0f, 0xea, 0x42, 0x99, 0x5c, 0x01, 0x80, 0x84, 0x01, 0xc0, 0x74, + 0x91, 0x38, 0x4b, 0x08, 0x80, 0x14, 0x00, 0x40, 0x7a, 0x8e, 0x42, 0xa6, + 0x00, 0x40, 0x46, 0x01, 0x80, 0x9d, 0x98, 0x26, 0x53, 0x00, 0xa0, 0x04, + 0x00, 0x60, 0xcb, 0x63, 0x62, 0xe3, 0x00, 0x50, 0x2d, 0x00, 0x60, 0x27, + 0x7f, 0xe6, 0xd3, 0x00, 0x80, 0x9d, 0xf8, 0x99, 0x7b, 0x01, 0x00, 0x5b, + 0x94, 0x21, 0x15, 0x01, 0xa0, 0x91, 0x00, 0x20, 0x13, 0x65, 0x88, 0x44, + 0x00, 0x68, 0x3b, 0x00, 0xac, 0xcf, 0x56, 0x8a, 0x45, 0x00, 0x58, 0x30, + 0x00, 0x14, 0x66, 0x4b, 0xc4, 0x39, 0x00, 0xd8, 0x2d, 0x00, 0x30, 0x49, + 0x57, 0x66, 0x48, 0x00, 0xb0, 0xb7, 0x00, 0xc0, 0xce, 0x10, 0x0b, 0xb2, + 0x00, 0x08, 0x0c, 0x00, 0x30, 0x51, 0x88, 0x85, 0x29, 0x00, 0x04, 0x7b, + 0x00, 0x60, 0xc8, 0x23, 0x23, 0x78, 0x00, 0x84, 0x99, 0x00, 0x14, 0x46, + 0xf2, 0x57, 0x3c, 0xf1, 0x2b, 0xae, 0x10, 0xe7, 0x2a, 0x00, 0x00, 0x78, + 0x99, 0xb2, 0x3c, 0xb9, 0x24, 0x39, 0x45, 0x81, 0x5b, 0x08, 0x2d, 0x71, + 0x07, 0x57, 0x57, 0x2e, 0x1e, 0x28, 0xce, 0x49, 0x17, 0x2b, 0x14, 0x36, + 0x61, 0x02, 0x61, 0x9a, 0x40, 0x2e, 0xc2, 0x79, 0x99, 0x19, 0x32, 0x81, + 0x34, 0x0f, 0xe0, 0xf3, 0xcc, 0x00, 0x00, 0xa0, 0x91, 0x15, 0x11, 0xe0, + 0x83, 0xf3, 0xfd, 0x78, 0xce, 0x0e, 0xae, 0xce, 0xce, 0x36, 0x8e, 0xb6, + 0x0e, 0x5f, 0x2d, 0xea, 0xbf, 0x06, 0xff, 0x22, 0x62, 0x62, 0xe3, 0xfe, + 0xe5, 0xcf, 0xab, 0x70, 0x40, 0x00, 0x00, 0xe1, 0x74, 0x7e, 0xd1, 0xfe, + 0x2c, 0x2f, 0xb3, 0x1a, 0x80, 0x3b, 0x06, 0x80, 0x6d, 0xfe, 0xa2, 0x25, + 0xee, 0x04, 0x68, 0x5e, 0x0b, 0xa0, 0x75, 0xf7, 0x8b, 0x66, 0xb2, 0x0f, + 0x40, 0xb5, 0x00, 0xa0, 0xe9, 0xda, 0x57, 0xf3, 0x70, 0xf8, 0x7e, 0x3c, + 0x3c, 0x45, 0xa1, 0x90, 0xb9, 0xd9, 0xd9, 0xe5, 0xe4, 0xe4, 0xd8, 0x4a, + 0xc4, 0x42, 0x5b, 0x61, 0xca, 0x57, 0x7d, 0xfe, 0x67, 0xc2, 0x5f, 0xc0, + 0x57, 0xfd, 0x6c, 0xf9, 0x7e, 0x3c, 0xfc, 0xf7, 0xf5, 0xe0, 0xbe, 0xe2, + 0x24, 0x81, 0x32, 0x5d, 0x81, 0x47, 0x04, 0xf8, 0xe0, 0xc2, 0xcc, 0xf4, + 0x4c, 0xa5, 0x1c, 0xcf, 0x92, 0x09, 0x84, 0x62, 0xdc, 0xe6, 0x8f, 0x47, + 0xfc, 0xb7, 0x0b, 0xff, 0xfc, 0x1d, 0xd3, 0x22, 0xc4, 0x49, 0x62, 0xb9, + 0x58, 0x2a, 0x14, 0xe3, 0x51, 0x12, 0x71, 0x8e, 0x44, 0x9a, 0x8c, 0xf3, + 0x32, 0xa5, 0x22, 0x89, 0x42, 0x92, 0x29, 0xc5, 0x25, 0xd2, 0xff, 0x64, + 0xe2, 0xdf, 0x2c, 0xfb, 0x03, 0x3e, 0xdf, 0x35, 0x00, 0xb0, 0x6a, 0x3e, + 0x01, 0x7b, 0x91, 0x2d, 0xa8, 0x5d, 0x63, 0x03, 0xf6, 0x4b, 0x27, 0x10, + 0x58, 0x74, 0xc0, 0xe2, 0xf7, 0x00, 0x00, 0xf2, 0xbb, 0x6f, 0xc1, 0xd4, + 0x28, 0x08, 0x03, 0x80, 0x68, 0x83, 0xe1, 0xcf, 0x77, 0xff, 0xef, 0x3f, + 0xfd, 0x47, 0xa0, 0x25, 0x00, 0x80, 0x66, 0x49, 0x92, 0x71, 0x00, 0x00, + 0x5e, 0x44, 0x24, 0x2e, 0x54, 0xca, 0xb3, 0x3f, 0xc7, 0x08, 0x00, 0x00, + 0x44, 0xa0, 0x81, 0x2a, 0xb0, 0x41, 0x1b, 0xf4, 0xc1, 0x18, 0x2c, 0xc0, + 0x06, 0x1c, 0xc1, 0x05, 0xdc, 0xc1, 0x0b, 0xfc, 0x60, 0x36, 0x84, 0x42, + 0x24, 0xc4, 0xc2, 0x42, 0x10, 0x42, 0x0a, 0x64, 0x80, 0x1c, 0x72, 0x60, + 0x29, 0xac, 0x82, 0x42, 0x28, 0x86, 0xcd, 0xb0, 0x1d, 0x2a, 0x60, 0x2f, + 0xd4, 0x40, 0x1d, 0x34, 0xc0, 0x51, 0x68, 0x86, 0x93, 0x70, 0x0e, 0x2e, + 0xc2, 0x55, 0xb8, 0x0e, 0x3d, 0x70, 0x0f, 0xfa, 0x61, 0x08, 0x9e, 0xc1, + 0x28, 0xbc, 0x81, 0x09, 0x04, 0x41, 0xc8, 0x08, 0x13, 0x61, 0x21, 0xda, + 0x88, 0x01, 0x62, 0x8a, 0x58, 0x23, 0x8e, 0x08, 0x17, 0x99, 0x85, 0xf8, + 0x21, 0xc1, 0x48, 0x04, 0x12, 0x8b, 0x24, 0x20, 0xc9, 0x88, 0x14, 0x51, + 0x22, 0x4b, 0x91, 0x35, 0x48, 0x31, 0x52, 0x8a, 0x54, 0x20, 0x55, 0x48, + 0x1d, 0xf2, 0x3d, 0x72, 0x02, 0x39, 0x87, 0x5c, 0x46, 0xba, 0x91, 0x3b, + 0xc8, 0x00, 0x32, 0x82, 0xfc, 0x86, 0xbc, 0x47, 0x31, 0x94, 0x81, 0xb2, + 0x51, 0x3d, 0xd4, 0x0c, 0xb5, 0x43, 0xb9, 0xa8, 0x37, 0x1a, 0x84, 0x46, + 0xa2, 0x0b, 0xd0, 0x64, 0x74, 0x31, 0x9a, 0x8f, 0x16, 0xa0, 0x9b, 0xd0, + 0x72, 0xb4, 0x1a, 0x3d, 0x8c, 0x36, 0xa1, 0xe7, 0xd0, 0xab, 0x68, 0x0f, + 0xda, 0x8f, 0x3e, 0x43, 0xc7, 0x30, 0xc0, 0xe8, 0x18, 0x07, 0x33, 0xc4, + 0x6c, 0x30, 0x2e, 0xc6, 0xc3, 0x42, 0xb1, 0x38, 0x2c, 0x09, 0x93, 0x63, + 0xcb, 0xb1, 0x22, 0xac, 0x0c, 0xab, 0xc6, 0x1a, 0xb0, 0x56, 0xac, 0x03, + 0xbb, 0x89, 0xf5, 0x63, 0xcf, 0xb1, 0x77, 0x04, 0x12, 0x81, 0x45, 0xc0, + 0x09, 0x36, 0x04, 0x77, 0x42, 0x20, 0x61, 0x1e, 0x41, 0x48, 0x58, 0x4c, + 0x58, 0x4e, 0xd8, 0x48, 0xa8, 0x20, 0x1c, 0x24, 0x34, 0x11, 0xda, 0x09, + 0x37, 0x09, 0x03, 0x84, 0x51, 0xc2, 0x27, 0x22, 0x93, 0xa8, 0x4b, 0xb4, + 0x26, 0xba, 0x11, 0xf9, 0xc4, 0x18, 0x62, 0x32, 0x31, 0x87, 0x58, 0x48, + 0x2c, 0x23, 0xd6, 0x12, 0x8f, 0x13, 0x2f, 0x10, 0x7b, 0x88, 0x43, 0xc4, + 0x37, 0x24, 0x12, 0x89, 0x43, 0x32, 0x27, 0xb9, 0x90, 0x02, 0x49, 0xb1, + 0xa4, 0x54, 0xd2, 0x12, 0xd2, 0x46, 0xd2, 0x6e, 0x52, 0x23, 0xe9, 0x2c, + 0xa9, 0x9b, 0x34, 0x48, 0x1a, 0x23, 0x93, 0xc9, 0xda, 0x64, 0x6b, 0xb2, + 0x07, 0x39, 0x94, 0x2c, 0x20, 0x2b, 0xc8, 0x85, 0xe4, 0x9d, 0xe4, 0xc3, + 0xe4, 0x33, 0xe4, 0x1b, 0xe4, 0x21, 0xf2, 0x5b, 0x0a, 0x9d, 0x62, 0x40, + 0x71, 0xa4, 0xf8, 0x53, 0xe2, 0x28, 0x52, 0xca, 0x6a, 0x4a, 0x19, 0xe5, + 0x10, 0xe5, 0x34, 0xe5, 0x06, 0x65, 0x98, 0x32, 0x41, 0x55, 0xa3, 0x9a, + 0x52, 0xdd, 0xa8, 0xa1, 0x54, 0x11, 0x35, 0x8f, 0x5a, 0x42, 0xad, 0xa1, + 0xb6, 0x52, 0xaf, 0x51, 0x87, 0xa8, 0x13, 0x34, 0x75, 0x9a, 0x39, 0xcd, + 0x83, 0x16, 0x49, 0x4b, 0xa5, 0xad, 0xa2, 0x95, 0xd3, 0x1a, 0x68, 0x17, + 0x68, 0xf7, 0x69, 0xaf, 0xe8, 0x74, 0xba, 0x11, 0xdd, 0x95, 0x1e, 0x4e, + 0x97, 0xd0, 0x57, 0xd2, 0xcb, 0xe9, 0x47, 0xe8, 0x97, 0xe8, 0x03, 0xf4, + 0x77, 0x0c, 0x0d, 0x86, 0x15, 0x83, 0xc7, 0x88, 0x67, 0x28, 0x19, 0x9b, + 0x18, 0x07, 0x18, 0x67, 0x19, 0x77, 0x18, 0xaf, 0x98, 0x4c, 0xa6, 0x19, + 0xd3, 0x8b, 0x19, 0xc7, 0x54, 0x30, 0x37, 0x31, 0xeb, 0x98, 0xe7, 0x99, + 0x0f, 0x99, 0x6f, 0x55, 0x58, 0x2a, 0xb6, 0x2a, 0x7c, 0x15, 0x91, 0xca, + 0x0a, 0x95, 0x4a, 0x95, 0x26, 0x95, 0x1b, 0x2a, 0x2f, 0x54, 0xa9, 0xaa, + 0xa6, 0xaa, 0xde, 0xaa, 0x0b, 0x55, 0xf3, 0x55, 0xcb, 0x54, 0x8f, 0xa9, + 0x5e, 0x53, 0x7d, 0xae, 0x46, 0x55, 0x33, 0x53, 0xe3, 0xa9, 0x09, 0xd4, + 0x96, 0xab, 0x55, 0xaa, 0x9d, 0x50, 0xeb, 0x53, 0x1b, 0x53, 0x67, 0xa9, + 0x3b, 0xa8, 0x87, 0xaa, 0x67, 0xa8, 0x6f, 0x54, 0x3f, 0xa4, 0x7e, 0x59, + 0xfd, 0x89, 0x06, 0x59, 0xc3, 0x4c, 0xc3, 0x4f, 0x43, 0xa4, 0x51, 0xa0, + 0xb1, 0x5f, 0xe3, 0xbc, 0xc6, 0x20, 0x0b, 0x63, 0x19, 0xb3, 0x78, 0x2c, + 0x21, 0x6b, 0x0d, 0xab, 0x86, 0x75, 0x81, 0x35, 0xc4, 0x26, 0xb1, 0xcd, + 0xd9, 0x7c, 0x76, 0x2a, 0xbb, 0x98, 0xfd, 0x1d, 0xbb, 0x8b, 0x3d, 0xaa, + 0xa9, 0xa1, 0x39, 0x43, 0x33, 0x4a, 0x33, 0x57, 0xb3, 0x52, 0xf3, 0x94, + 0x66, 0x3f, 0x07, 0xe3, 0x98, 0x71, 0xf8, 0x9c, 0x74, 0x4e, 0x09, 0xe7, + 0x28, 0xa7, 0x97, 0xf3, 0x7e, 0x8a, 0xde, 0x14, 0xef, 0x29, 0xe2, 0x29, + 0x1b, 0xa6, 0x34, 0x4c, 0xb9, 0x31, 0x65, 0x5c, 0x6b, 0xaa, 0x96, 0x97, + 0x96, 0x58, 0xab, 0x48, 0xab, 0x51, 0xab, 0x47, 0xeb, 0xbd, 0x36, 0xae, + 0xed, 0xa7, 0x9d, 0xa6, 0xbd, 0x45, 0xbb, 0x59, 0xfb, 0x81, 0x0e, 0x41, + 0xc7, 0x4a, 0x27, 0x5c, 0x27, 0x47, 0x67, 0x8f, 0xce, 0x05, 0x9d, 0xe7, + 0x53, 0xd9, 0x53, 0xdd, 0xa7, 0x0a, 0xa7, 0x16, 0x4d, 0x3d, 0x3a, 0xf5, + 0xae, 0x2e, 0xaa, 0x6b, 0xa5, 0x1b, 0xa1, 0xbb, 0x44, 0x77, 0xbf, 0x6e, + 0xa7, 0xee, 0x98, 0x9e, 0xbe, 0x5e, 0x80, 0x9e, 0x4c, 0x6f, 0xa7, 0xde, + 0x79, 0xbd, 0xe7, 0xfa, 0x1c, 0x7d, 0x2f, 0xfd, 0x54, 0xfd, 0x6d, 0xfa, + 0xa7, 0xf5, 0x47, 0x0c, 0x58, 0x06, 0xb3, 0x0c, 0x24, 0x06, 0xdb, 0x0c, + 0xce, 0x18, 0x3c, 0xc5, 0x35, 0x71, 0x6f, 0x3c, 0x1d, 0x2f, 0xc7, 0xdb, + 0xf1, 0x51, 0x43, 0x5d, 0xc3, 0x40, 0x43, 0xa5, 0x61, 0x95, 0x61, 0x97, + 0xe1, 0x84, 0x91, 0xb9, 0xd1, 0x3c, 0xa3, 0xd5, 0x46, 0x8d, 0x46, 0x0f, + 0x8c, 0x69, 0xc6, 0x5c, 0xe3, 0x24, 0xe3, 0x6d, 0xc6, 0x6d, 0xc6, 0xa3, + 0x26, 0x06, 0x26, 0x21, 0x26, 0x4b, 0x4d, 0xea, 0x4d, 0xee, 0x9a, 0x52, + 0x4d, 0xb9, 0xa6, 0x29, 0xa6, 0x3b, 0x4c, 0x3b, 0x4c, 0xc7, 0xcd, 0xcc, + 0xcd, 0xa2, 0xcd, 0xd6, 0x99, 0x35, 0x9b, 0x3d, 0x31, 0xd7, 0x32, 0xe7, + 0x9b, 0xe7, 0x9b, 0xd7, 0x9b, 0xdf, 0xb7, 0x60, 0x5a, 0x78, 0x5a, 0x2c, + 0xb6, 0xa8, 0xb6, 0xb8, 0x65, 0x49, 0xb2, 0xe4, 0x5a, 0xa6, 0x59, 0xee, + 0xb6, 0xbc, 0x6e, 0x85, 0x5a, 0x39, 0x59, 0xa5, 0x58, 0x55, 0x5a, 0x5d, + 0xb3, 0x46, 0xad, 0x9d, 0xad, 0x25, 0xd6, 0xbb, 0xad, 0xbb, 0xa7, 0x11, + 0xa7, 0xb9, 0x4e, 0x93, 0x4e, 0xab, 0x9e, 0xd6, 0x67, 0xc3, 0xb0, 0xf1, + 0xb6, 0xc9, 0xb6, 0xa9, 0xb7, 0x19, 0xb0, 0xe5, 0xd8, 0x06, 0xdb, 0xae, + 0xb6, 0x6d, 0xb6, 0x7d, 0x61, 0x67, 0x62, 0x17, 0x67, 0xb7, 0xc5, 0xae, + 0xc3, 0xee, 0x93, 0xbd, 0x93, 0x7d, 0xba, 0x7d, 0x8d, 0xfd, 0x3d, 0x07, + 0x0d, 0x87, 0xd9, 0x0e, 0xab, 0x1d, 0x5a, 0x1d, 0x7e, 0x73, 0xb4, 0x72, + 0x14, 0x3a, 0x56, 0x3a, 0xde, 0x9a, 0xce, 0x9c, 0xee, 0x3f, 0x7d, 0xc5, + 0xf4, 0x96, 0xe9, 0x2f, 0x67, 0x58, 0xcf, 0x10, 0xcf, 0xd8, 0x33, 0xe3, + 0xb6, 0x13, 0xcb, 0x29, 0xc4, 0x69, 0x9d, 0x53, 0x9b, 0xd3, 0x47, 0x67, + 0x17, 0x67, 0xb9, 0x73, 0x83, 0xf3, 0x88, 0x8b, 0x89, 0x4b, 0x82, 0xcb, + 0x2e, 0x97, 0x3e, 0x2e, 0x9b, 0x1b, 0xc6, 0xdd, 0xc8, 0xbd, 0xe4, 0x4a, + 0x74, 0xf5, 0x71, 0x5d, 0xe1, 0x7a, 0xd2, 0xf5, 0x9d, 0x9b, 0xb3, 0x9b, + 0xc2, 0xed, 0xa8, 0xdb, 0xaf, 0xee, 0x36, 0xee, 0x69, 0xee, 0x87, 0xdc, + 0x9f, 0xcc, 0x34, 0x9f, 0x29, 0x9e, 0x59, 0x33, 0x73, 0xd0, 0xc3, 0xc8, + 0x43, 0xe0, 0x51, 0xe5, 0xd1, 0x3f, 0x0b, 0x9f, 0x95, 0x30, 0x6b, 0xdf, + 0xac, 0x7e, 0x4f, 0x43, 0x4f, 0x81, 0x67, 0xb5, 0xe7, 0x23, 0x2f, 0x63, + 0x2f, 0x91, 0x57, 0xad, 0xd7, 0xb0, 0xb7, 0xa5, 0x77, 0xaa, 0xf7, 0x61, + 0xef, 0x17, 0x3e, 0xf6, 0x3e, 0x72, 0x9f, 0xe3, 0x3e, 0xe3, 0x3c, 0x37, + 0xde, 0x32, 0xde, 0x59, 0x5f, 0xcc, 0x37, 0xc0, 0xb7, 0xc8, 0xb7, 0xcb, + 0x4f, 0xc3, 0x6f, 0x9e, 0x5f, 0x85, 0xdf, 0x43, 0x7f, 0x23, 0xff, 0x64, + 0xff, 0x7a, 0xff, 0xd1, 0x00, 0xa7, 0x80, 0x25, 0x01, 0x67, 0x03, 0x89, + 0x81, 0x41, 0x81, 0x5b, 0x02, 0xfb, 0xf8, 0x7a, 0x7c, 0x21, 0xbf, 0x8e, + 0x3f, 0x3a, 0xdb, 0x65, 0xf6, 0xb2, 0xd9, 0xed, 0x41, 0x8c, 0xa0, 0xb9, + 0x41, 0x15, 0x41, 0x8f, 0x82, 0xad, 0x82, 0xe5, 0xc1, 0xad, 0x21, 0x68, + 0xc8, 0xec, 0x90, 0xad, 0x21, 0xf7, 0xe7, 0x98, 0xce, 0x91, 0xce, 0x69, + 0x0e, 0x85, 0x50, 0x7e, 0xe8, 0xd6, 0xd0, 0x07, 0x61, 0xe6, 0x61, 0x8b, + 0xc3, 0x7e, 0x0c, 0x27, 0x85, 0x87, 0x85, 0x57, 0x86, 0x3f, 0x8e, 0x70, + 0x88, 0x58, 0x1a, 0xd1, 0x31, 0x97, 0x35, 0x77, 0xd1, 0xdc, 0x43, 0x73, + 0xdf, 0x44, 0xfa, 0x44, 0x96, 0x44, 0xde, 0x9b, 0x67, 0x31, 0x4f, 0x39, + 0xaf, 0x2d, 0x4a, 0x35, 0x2a, 0x3e, 0xaa, 0x2e, 0x6a, 0x3c, 0xda, 0x37, + 0xba, 0x34, 0xba, 0x3f, 0xc6, 0x2e, 0x66, 0x59, 0xcc, 0xd5, 0x58, 0x9d, + 0x58, 0x49, 0x6c, 0x4b, 0x1c, 0x39, 0x2e, 0x2a, 0xae, 0x36, 0x6e, 0x6c, + 0xbe, 0xdf, 0xfc, 0xed, 0xf3, 0x87, 0xe2, 0x9d, 0xe2, 0x0b, 0xe3, 0x7b, + 0x17, 0x98, 0x2f, 0xc8, 0x5d, 0x70, 0x79, 0xa1, 0xce, 0xc2, 0xf4, 0x85, + 0xa7, 0x16, 0xa9, 0x2e, 0x12, 0x2c, 0x3a, 0x96, 0x40, 0x4c, 0x88, 0x4e, + 0x38, 0x94, 0xf0, 0x41, 0x10, 0x2a, 0xa8, 0x16, 0x8c, 0x25, 0xf2, 0x13, + 0x77, 0x25, 0x8e, 0x0a, 0x79, 0xc2, 0x1d, 0xc2, 0x67, 0x22, 0x2f, 0xd1, + 0x36, 0xd1, 0x88, 0xd8, 0x43, 0x5c, 0x2a, 0x1e, 0x4e, 0xf2, 0x48, 0x2a, + 0x4d, 0x7a, 0x92, 0xec, 0x91, 0xbc, 0x35, 0x79, 0x24, 0xc5, 0x33, 0xa5, + 0x2c, 0xe5, 0xb9, 0x84, 0x27, 0xa9, 0x90, 0xbc, 0x4c, 0x0d, 0x4c, 0xdd, + 0x9b, 0x3a, 0x9e, 0x16, 0x9a, 0x76, 0x20, 0x6d, 0x32, 0x3d, 0x3a, 0xbd, + 0x31, 0x83, 0x92, 0x91, 0x90, 0x71, 0x42, 0xaa, 0x21, 0x4d, 0x93, 0xb6, + 0x67, 0xea, 0x67, 0xe6, 0x66, 0x76, 0xcb, 0xac, 0x65, 0x85, 0xb2, 0xfe, + 0xc5, 0x6e, 0x8b, 0xb7, 0x2f, 0x1e, 0x95, 0x07, 0xc9, 0x6b, 0xb3, 0x90, + 0xac, 0x05, 0x59, 0x2d, 0x0a, 0xb6, 0x42, 0xa6, 0xe8, 0x54, 0x5a, 0x28, + 0xd7, 0x2a, 0x07, 0xb2, 0x67, 0x65, 0x57, 0x66, 0xbf, 0xcd, 0x89, 0xca, + 0x39, 0x96, 0xab, 0x9e, 0x2b, 0xcd, 0xed, 0xcc, 0xb3, 0xca, 0xdb, 0x90, + 0x37, 0x9c, 0xef, 0x9f, 0xff, 0xed, 0x12, 0xc2, 0x12, 0xe1, 0x92, 0xb6, + 0xa5, 0x86, 0x4b, 0x57, 0x2d, 0x1d, 0x58, 0xe6, 0xbd, 0xac, 0x6a, 0x39, + 0xb2, 0x3c, 0x71, 0x79, 0xdb, 0x0a, 0xe3, 0x15, 0x05, 0x2b, 0x86, 0x56, + 0x06, 0xac, 0x3c, 0xb8, 0x8a, 0xb6, 0x2a, 0x6d, 0xd5, 0x4f, 0xab, 0xed, + 0x57, 0x97, 0xae, 0x7e, 0xbd, 0x26, 0x7a, 0x4d, 0x6b, 0x81, 0x5e, 0xc1, + 0xca, 0x82, 0xc1, 0xb5, 0x01, 0x6b, 0xeb, 0x0b, 0x55, 0x0a, 0xe5, 0x85, + 0x7d, 0xeb, 0xdc, 0xd7, 0xed, 0x5d, 0x4f, 0x58, 0x2f, 0x59, 0xdf, 0xb5, + 0x61, 0xfa, 0x86, 0x9d, 0x1b, 0x3e, 0x15, 0x89, 0x8a, 0xae, 0x14, 0xdb, + 0x17, 0x97, 0x15, 0x7f, 0xd8, 0x28, 0xdc, 0x78, 0xe5, 0x1b, 0x87, 0x6f, + 0xca, 0xbf, 0x99, 0xdc, 0x94, 0xb4, 0xa9, 0xab, 0xc4, 0xb9, 0x64, 0xcf, + 0x66, 0xd2, 0x66, 0xe9, 0xe6, 0xde, 0x2d, 0x9e, 0x5b, 0x0e, 0x96, 0xaa, + 0x97, 0xe6, 0x97, 0x0e, 0x6e, 0x0d, 0xd9, 0xda, 0xb4, 0x0d, 0xdf, 0x56, + 0xb4, 0xed, 0xf5, 0xf6, 0x45, 0xdb, 0x2f, 0x97, 0xcd, 0x28, 0xdb, 0xbb, + 0x83, 0xb6, 0x43, 0xb9, 0xa3, 0xbf, 0x3c, 0xb8, 0xbc, 0x65, 0xa7, 0xc9, + 0xce, 0xcd, 0x3b, 0x3f, 0x54, 0xa4, 0x54, 0xf4, 0x54, 0xfa, 0x54, 0x36, + 0xee, 0xd2, 0xdd, 0xb5, 0x61, 0xd7, 0xf8, 0x6e, 0xd1, 0xee, 0x1b, 0x7b, + 0xbc, 0xf6, 0x34, 0xec, 0xd5, 0xdb, 0x5b, 0xbc, 0xf7, 0xfd, 0x3e, 0xc9, + 0xbe, 0xdb, 0x55, 0x01, 0x55, 0x4d, 0xd5, 0x66, 0xd5, 0x65, 0xfb, 0x49, + 0xfb, 0xb3, 0xf7, 0x3f, 0xae, 0x89, 0xaa, 0xe9, 0xf8, 0x96, 0xfb, 0x6d, + 0x5d, 0xad, 0x4e, 0x6d, 0x71, 0xed, 0xc7, 0x03, 0xd2, 0x03, 0xfd, 0x07, + 0x23, 0x0e, 0xb6, 0xd7, 0xb9, 0xd4, 0xd5, 0x1d, 0xd2, 0x3d, 0x54, 0x52, + 0x8f, 0xd6, 0x2b, 0xeb, 0x47, 0x0e, 0xc7, 0x1f, 0xbe, 0xfe, 0x9d, 0xef, + 0x77, 0x2d, 0x0d, 0x36, 0x0d, 0x55, 0x8d, 0x9c, 0xc6, 0xe2, 0x23, 0x70, + 0x44, 0x79, 0xe4, 0xe9, 0xf7, 0x09, 0xdf, 0xf7, 0x1e, 0x0d, 0x3a, 0xda, + 0x76, 0x8c, 0x7b, 0xac, 0xe1, 0x07, 0xd3, 0x1f, 0x76, 0x1d, 0x67, 0x1d, + 0x2f, 0x6a, 0x42, 0x9a, 0xf2, 0x9a, 0x46, 0x9b, 0x53, 0x9a, 0xfb, 0x5b, + 0x62, 0x5b, 0xba, 0x4f, 0xcc, 0x3e, 0xd1, 0xd6, 0xea, 0xde, 0x7a, 0xfc, + 0x47, 0xdb, 0x1f, 0x0f, 0x9c, 0x34, 0x3c, 0x59, 0x79, 0x4a, 0xf3, 0x54, + 0xc9, 0x69, 0xda, 0xe9, 0x82, 0xd3, 0x93, 0x67, 0xf2, 0xcf, 0x8c, 0x9d, + 0x95, 0x9d, 0x7d, 0x7e, 0x2e, 0xf9, 0xdc, 0x60, 0xdb, 0xa2, 0xb6, 0x7b, + 0xe7, 0x63, 0xce, 0xdf, 0x6a, 0x0f, 0x6f, 0xef, 0xba, 0x10, 0x74, 0xe1, + 0xd2, 0x45, 0xff, 0x8b, 0xe7, 0x3b, 0xbc, 0x3b, 0xce, 0x5c, 0xf2, 0xb8, + 0x74, 0xf2, 0xb2, 0xdb, 0xe5, 0x13, 0x57, 0xb8, 0x57, 0x9a, 0xaf, 0x3a, + 0x5f, 0x6d, 0xea, 0x74, 0xea, 0x3c, 0xfe, 0x93, 0xd3, 0x4f, 0xc7, 0xbb, + 0x9c, 0xbb, 0x9a, 0xae, 0xb9, 0x5c, 0x6b, 0xb9, 0xee, 0x7a, 0xbd, 0xb5, + 0x7b, 0x66, 0xf7, 0xe9, 0x1b, 0x9e, 0x37, 0xce, 0xdd, 0xf4, 0xbd, 0x79, + 0xf1, 0x16, 0xff, 0xd6, 0xd5, 0x9e, 0x39, 0x3d, 0xdd, 0xbd, 0xf3, 0x7a, + 0x6f, 0xf7, 0xc5, 0xf7, 0xf5, 0xdf, 0x16, 0xdd, 0x7e, 0x72, 0x27, 0xfd, + 0xce, 0xcb, 0xbb, 0xd9, 0x77, 0x27, 0xee, 0xad, 0xbc, 0x4f, 0xbc, 0x5f, + 0xf4, 0x40, 0xed, 0x41, 0xd9, 0x43, 0xdd, 0x87, 0xd5, 0x3f, 0x5b, 0xfe, + 0xdc, 0xd8, 0xef, 0xdc, 0x7f, 0x6a, 0xc0, 0x77, 0xa0, 0xf3, 0xd1, 0xdc, + 0x47, 0xf7, 0x06, 0x85, 0x83, 0xcf, 0xfe, 0x91, 0xf5, 0x8f, 0x0f, 0x43, + 0x05, 0x8f, 0x99, 0x8f, 0xcb, 0x86, 0x0d, 0x86, 0xeb, 0x9e, 0x38, 0x3e, + 0x39, 0x39, 0xe2, 0x3f, 0x72, 0xfd, 0xe9, 0xfc, 0xa7, 0x43, 0xcf, 0x64, + 0xcf, 0x26, 0x9e, 0x17, 0xfe, 0xa2, 0xfe, 0xcb, 0xae, 0x17, 0x16, 0x2f, + 0x7e, 0xf8, 0xd5, 0xeb, 0xd7, 0xce, 0xd1, 0x98, 0xd1, 0xa1, 0x97, 0xf2, + 0x97, 0x93, 0xbf, 0x6d, 0x7c, 0xa5, 0xfd, 0xea, 0xc0, 0xeb, 0x19, 0xaf, + 0xdb, 0xc6, 0xc2, 0xc6, 0x1e, 0xbe, 0xc9, 0x78, 0x33, 0x31, 0x5e, 0xf4, + 0x56, 0xfb, 0xed, 0xc1, 0x77, 0xdc, 0x77, 0x1d, 0xef, 0xa3, 0xdf, 0x0f, + 0x4f, 0xe4, 0x7c, 0x20, 0x7f, 0x28, 0xff, 0x68, 0xf9, 0xb1, 0xf5, 0x53, + 0xd0, 0xa7, 0xfb, 0x93, 0x19, 0x93, 0x93, 0xff, 0x04, 0x03, 0x98, 0xf3, + 0xfc, 0x63, 0x33, 0x2d, 0xdb, 0x00, 0x00, 0x00, 0x20, 0x63, 0x48, 0x52, + 0x4d, 0x00, 0x00, 0x7a, 0x25, 0x00, 0x00, 0x80, 0x83, 0x00, 0x00, 0xf9, + 0xff, 0x00, 0x00, 0x80, 0xe9, 0x00, 0x00, 0x75, 0x30, 0x00, 0x00, 0xea, + 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00, 0x00, 0x17, 0x6f, 0x92, 0x5f, 0xc5, + 0x46, 0x00, 0x00, 0x05, 0x2f, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x84, + 0x95, 0xdd, 0x6f, 0x5c, 0xd5, 0x15, 0xc5, 0x7f, 0xe7, 0xdc, 0x3b, 0x1f, + 0xd7, 0x33, 0xf6, 0xd8, 0x1e, 0x7b, 0x34, 0x89, 0x1d, 0x3b, 0x0e, 0xd8, + 0x46, 0x41, 0xaa, 0xdb, 0x11, 0x05, 0x1a, 0x29, 0x55, 0xa1, 0x6d, 0x54, + 0x59, 0x4a, 0x81, 0x28, 0xad, 0xfa, 0x14, 0x22, 0x21, 0x50, 0x45, 0xfa, + 0x07, 0x14, 0x1e, 0x28, 0x3c, 0x54, 0xaa, 0x5a, 0xca, 0x63, 0x2b, 0x51, + 0xa9, 0xaa, 0xd5, 0x56, 0x0a, 0xa5, 0x8a, 0x94, 0xa8, 0x7c, 0xb4, 0x11, + 0x71, 0x23, 0x95, 0xaa, 0x80, 0x82, 0x9c, 0x06, 0x04, 0xa9, 0x69, 0x48, + 0x32, 0x36, 0x98, 0xf8, 0x3b, 0x33, 0xb9, 0x33, 0x73, 0xef, 0x39, 0x67, + 0xf7, 0x61, 0x32, 0x13, 0x1b, 0xbb, 0x64, 0x4b, 0xfb, 0x71, 0x9f, 0x75, + 0xd6, 0x5e, 0x6b, 0xef, 0xad, 0x44, 0x84, 0x99, 0xf7, 0x2f, 0x1e, 0x29, + 0x16, 0xfa, 0x7a, 0x01, 0xa7, 0xd8, 0x1a, 0x02, 0x38, 0xe7, 0x10, 0xe7, + 0x10, 0xd0, 0x9f, 0x2d, 0xae, 0x54, 0xab, 0x61, 0x78, 0x2a, 0xac, 0xd7, + 0xaf, 0x39, 0xe7, 0x48, 0xfa, 0x3e, 0xb2, 0x4d, 0xdd, 0x81, 0xaf, 0x7f, + 0x0d, 0x1f, 0xa0, 0xab, 0x33, 0x9b, 0x2d, 0xf6, 0xe7, 0xbb, 0xb9, 0x4d, + 0x18, 0x6b, 0x11, 0x27, 0xa4, 0xd3, 0xa9, 0xee, 0xb5, 0xf5, 0xca, 0x43, + 0x1f, 0x5d, 0xbe, 0x7a, 0x5c, 0x44, 0x2a, 0x5f, 0x54, 0xa3, 0x01, 0x14, + 0x38, 0x6e, 0xfe, 0xf2, 0x8b, 0x52, 0x01, 0x4e, 0x04, 0xad, 0x35, 0x7d, + 0xbd, 0xdd, 0x03, 0x7b, 0x47, 0xef, 0x38, 0x04, 0x24, 0x9d, 0x73, 0x00, + 0x28, 0xa5, 0x50, 0x8a, 0x76, 0x02, 0x4d, 0x06, 0x6d, 0x34, 0xad, 0x6f, + 0x47, 0x02, 0x01, 0x3c, 0xa5, 0xb1, 0xe2, 0x18, 0x1a, 0x28, 0x8e, 0x08, + 0x72, 0xe8, 0xca, 0xdc, 0x27, 0xc7, 0xc3, 0x5a, 0x03, 0xeb, 0x0c, 0x0a, + 0xb5, 0x95, 0x41, 0x2b, 0x6e, 0xc7, 0xc0, 0x5a, 0x8b, 0x52, 0x0a, 0xcf, + 0xf3, 0x08, 0xc3, 0x3a, 0xab, 0xeb, 0xd7, 0xe9, 0xcd, 0xe5, 0xee, 0x2a, + 0xe4, 0x7b, 0x0f, 0x59, 0x6b, 0x89, 0x22, 0x43, 0x14, 0xdf, 0xca, 0x36, + 0x03, 0xa5, 0xd5, 0xb6, 0x0c, 0xca, 0xe5, 0x32, 0x61, 0x18, 0xd2, 0xd7, + 0x97, 0x27, 0x9f, 0xef, 0x03, 0x20, 0x8a, 0x22, 0x52, 0xa9, 0x04, 0x99, + 0x8e, 0x34, 0x8d, 0x28, 0xe6, 0x86, 0xa9, 0x93, 0x48, 0x24, 0xbe, 0x94, + 0x4c, 0x24, 0x2a, 0x51, 0x1c, 0x9f, 0x56, 0x6a, 0x33, 0x03, 0xff, 0xf3, + 0x0c, 0x00, 0xc2, 0x30, 0xe4, 0x85, 0x17, 0x7e, 0x09, 0x40, 0x10, 0x74, + 0xb0, 0xbc, 0xbc, 0xc4, 0xd1, 0xa3, 0x47, 0x19, 0x1d, 0x1d, 0x43, 0x69, + 0x8d, 0x08, 0xa4, 0x92, 0x49, 0xb4, 0xd6, 0xc4, 0xc6, 0x92, 0x48, 0x26, + 0xe9, 0xe8, 0x08, 0x0a, 0x95, 0xea, 0x0d, 0x3e, 0xd7, 0xa1, 0xed, 0x35, + 0x98, 0x9e, 0x3e, 0x03, 0xc0, 0x33, 0xcf, 0xfc, 0x64, 0xab, 0x08, 0xce, + 0x11, 0xc7, 0x06, 0x11, 0xc1, 0xdd, 0x4c, 0x91, 0xa6, 0x47, 0x9a, 0xea, + 0x72, 0x7b, 0x0d, 0x06, 0x06, 0x06, 0x29, 0x97, 0xcb, 0x9c, 0x3a, 0x75, + 0x92, 0xc5, 0xc5, 0xc5, 0x4d, 0x1a, 0x88, 0x13, 0xa0, 0xf5, 0xb0, 0x80, + 0x08, 0x22, 0x6c, 0x3b, 0x07, 0x5b, 0x00, 0xb4, 0xd6, 0x68, 0xad, 0x29, + 0x95, 0x4a, 0x3c, 0xf9, 0xe4, 0x31, 0x66, 0x66, 0x66, 0x78, 0xfa, 0xe9, + 0xa7, 0x98, 0x9a, 0x9a, 0xa2, 0x5e, 0xaf, 0xe3, 0x79, 0x1e, 0x4e, 0x1c, + 0x22, 0xb7, 0x2c, 0xd5, 0xc4, 0x90, 0x36, 0xa3, 0x6d, 0x6d, 0xda, 0x2a, + 0x68, 0x69, 0x00, 0x30, 0x31, 0x31, 0xc1, 0xc4, 0xc4, 0x04, 0xe5, 0x72, + 0x99, 0xa9, 0xa9, 0xdf, 0xf1, 0xd2, 0x4b, 0xc7, 0x39, 0x72, 0xe4, 0x51, + 0x44, 0xc0, 0xb3, 0x0a, 0x65, 0x14, 0xd6, 0x58, 0x12, 0x22, 0x04, 0x3a, + 0x49, 0x87, 0x4e, 0xd0, 0x9d, 0x4e, 0x12, 0xa4, 0xf4, 0x4d, 0xe4, 0x0d, + 0x00, 0xad, 0x16, 0xb4, 0x34, 0x28, 0x97, 0xcb, 0xe4, 0xf3, 0x79, 0xd2, + 0xe9, 0x34, 0xbb, 0x76, 0xed, 0x62, 0x6c, 0x6c, 0x9c, 0xe5, 0xe5, 0x25, + 0x3c, 0xcf, 0x23, 0xaa, 0xd6, 0x39, 0x3b, 0x7f, 0x8e, 0xd7, 0xaf, 0xbe, + 0xcd, 0x95, 0xca, 0xa7, 0x68, 0xad, 0x19, 0xeb, 0x1e, 0xe2, 0xdb, 0x3b, + 0xef, 0x19, 0xbc, 0xbb, 0x67, 0x78, 0xb2, 0xbc, 0xf0, 0xc9, 0x6b, 0xb1, + 0x8b, 0xa5, 0xe5, 0xa6, 0x36, 0x80, 0xd6, 0xba, 0xcd, 0x60, 0x71, 0x71, + 0x91, 0xe7, 0x9f, 0xff, 0x05, 0xf9, 0x7c, 0xfe, 0xa6, 0xab, 0x6a, 0x1c, + 0x3b, 0x76, 0x8c, 0x85, 0xcf, 0x16, 0x78, 0xf6, 0xdc, 0x6f, 0x38, 0x71, + 0xf9, 0x4d, 0x12, 0x7e, 0x92, 0x20, 0x91, 0x02, 0x05, 0xff, 0x5c, 0xfa, + 0x80, 0x17, 0x2f, 0x9e, 0xcc, 0x3c, 0x7e, 0xf7, 0xc1, 0x7b, 0x7f, 0x34, + 0xf2, 0x48, 0xcf, 0xfc, 0xdc, 0xfc, 0x9f, 0x8c, 0xd8, 0x78, 0x03, 0x80, + 0x50, 0xab, 0x47, 0x04, 0xe9, 0x24, 0x00, 0xa5, 0x52, 0x89, 0x52, 0xa9, + 0xc4, 0x87, 0x17, 0x3f, 0x44, 0xa1, 0x18, 0x1f, 0x1b, 0xa7, 0x11, 0xd6, + 0x79, 0x6c, 0xfa, 0x39, 0x5e, 0x99, 0x7f, 0x87, 0xf1, 0xc2, 0x20, 0x81, + 0x0f, 0xbe, 0x72, 0x58, 0xb1, 0xf8, 0xba, 0x93, 0xc9, 0xe1, 0x03, 0xfc, + 0xea, 0xfc, 0x9f, 0xa9, 0x13, 0x8f, 0xfe, 0x78, 0xf7, 0x0f, 0x26, 0x2f, + 0xcf, 0x5f, 0x3d, 0xd9, 0x06, 0xb0, 0xe2, 0x30, 0xd6, 0x10, 0x86, 0xae, + 0x29, 0x18, 0x0e, 0xa5, 0x3d, 0x86, 0x86, 0x47, 0xb0, 0xd6, 0xd2, 0xb8, + 0xde, 0xe0, 0xf7, 0xff, 0x7d, 0x95, 0xd7, 0x17, 0xfe, 0xc5, 0xbe, 0x9d, + 0xc3, 0xe4, 0x7c, 0x43, 0xc6, 0x57, 0x24, 0x35, 0x84, 0xa6, 0xce, 0xa1, + 0xd1, 0xc3, 0x1c, 0xdc, 0xf3, 0x08, 0x3b, 0xb3, 0xfd, 0x3c, 0x71, 0xe6, + 0x39, 0xbe, 0xb9, 0xe3, 0xab, 0x7b, 0xc7, 0xb3, 0x85, 0x77, 0x81, 0xb2, + 0x6e, 0xb5, 0x28, 0x36, 0x16, 0xe3, 0x2c, 0x56, 0x1c, 0x4e, 0xc0, 0x5a, + 0x4b, 0x6c, 0x0c, 0x26, 0xb6, 0x54, 0xe2, 0x1a, 0x6f, 0xad, 0x9c, 0xe6, + 0xbe, 0xfe, 0x4e, 0x06, 0x83, 0x98, 0x62, 0x20, 0x14, 0x83, 0x80, 0x8c, + 0x0f, 0xfb, 0x77, 0xdc, 0xcf, 0xc1, 0x3d, 0x0f, 0xb3, 0xda, 0x08, 0x99, + 0xbe, 0x72, 0x9a, 0x7d, 0xfd, 0x01, 0x6f, 0xad, 0x9e, 0x49, 0x75, 0xf5, + 0xf4, 0x94, 0xda, 0x0c, 0x8c, 0x71, 0xc4, 0xc6, 0x88, 0x88, 0xb7, 0xe5, + 0x1c, 0x38, 0xe3, 0x58, 0xaa, 0xaf, 0x90, 0xf3, 0xe7, 0x18, 0x29, 0x38, + 0x46, 0xba, 0xbf, 0x41, 0x26, 0x11, 0xf0, 0xf7, 0x2b, 0x2f, 0xd3, 0x99, + 0xe8, 0x62, 0x72, 0xcf, 0xf7, 0x01, 0xc5, 0x8b, 0x17, 0xfe, 0x80, 0x96, + 0x39, 0x0e, 0x0c, 0x04, 0xac, 0xc5, 0x1f, 0x21, 0x69, 0xbf, 0x7f, 0x93, + 0xc8, 0x71, 0x6c, 0x94, 0x93, 0xad, 0xe3, 0xe2, 0x8c, 0xc3, 0x49, 0x8c, + 0xaf, 0x0c, 0x85, 0xb4, 0xf0, 0xc0, 0xd0, 0x7e, 0x8a, 0x99, 0xbb, 0xf0, + 0x95, 0xa5, 0x2b, 0x99, 0xa1, 0x98, 0x1d, 0xe6, 0xec, 0xfc, 0xbf, 0xb9, + 0xb4, 0xfc, 0x2a, 0xbb, 0xb3, 0x6b, 0x74, 0xf9, 0x01, 0x55, 0x93, 0xc2, + 0xf3, 0x94, 0xb7, 0x01, 0xc0, 0x62, 0xac, 0x15, 0x27, 0xa2, 0x6e, 0x2d, + 0xe5, 0x66, 0x58, 0x23, 0x74, 0xfa, 0x5d, 0xe4, 0x52, 0x79, 0x96, 0x6e, + 0xbc, 0xcb, 0x6b, 0xb3, 0xcf, 0xf2, 0xbd, 0xbd, 0xbf, 0x66, 0xf2, 0x8e, + 0x47, 0x11, 0x71, 0xac, 0x35, 0x22, 0x4e, 0xcd, 0xfe, 0x9c, 0x5d, 0xc1, + 0x7b, 0x58, 0x6b, 0xb8, 0x16, 0x76, 0xd2, 0x93, 0x79, 0x10, 0xcf, 0xea, + 0x6a, 0x7b, 0x92, 0x8d, 0x75, 0x44, 0x51, 0xac, 0x1a, 0x8d, 0x06, 0xcd, + 0x8c, 0x68, 0x34, 0x62, 0x1a, 0x51, 0x4c, 0x64, 0x0c, 0xbe, 0x04, 0xdc, + 0x99, 0xbb, 0x9f, 0xa5, 0xfa, 0x2a, 0x97, 0x56, 0xde, 0xe0, 0x8f, 0x17, + 0x1e, 0xa7, 0x12, 0x2d, 0xa3, 0x94, 0xe6, 0xc4, 0xec, 0x71, 0x6c, 0xf4, + 0x37, 0xb4, 0x12, 0x14, 0x1e, 0xcb, 0xb5, 0x25, 0xc6, 0xba, 0xf7, 0x11, + 0xd7, 0xe3, 0xd9, 0x36, 0x80, 0x73, 0x4e, 0x19, 0xeb, 0x30, 0x56, 0x9a, + 0x02, 0x4b, 0xf3, 0x3c, 0x1a, 0x63, 0x71, 0xce, 0x72, 0x3d, 0xac, 0x70, + 0x6f, 0xfe, 0x21, 0xf2, 0x99, 0x7b, 0x00, 0x8f, 0xf2, 0xfa, 0x59, 0x5e, + 0x7e, 0xff, 0x87, 0xcc, 0x5c, 0x7b, 0x8f, 0xf3, 0x0b, 0xbf, 0xa5, 0x3f, + 0x9d, 0xc6, 0x89, 0x22, 0x8c, 0x2b, 0x0c, 0x76, 0x3f, 0xc8, 0x97, 0x73, + 0xdf, 0x9a, 0x5f, 0xaf, 0xae, 0x9e, 0xbb, 0x65, 0x53, 0xeb, 0xbc, 0xd8, + 0x98, 0xf6, 0xd9, 0xdb, 0x70, 0xbd, 0x44, 0x81, 0xb2, 0x2e, 0x42, 0x57, + 0xb2, 0x1c, 0x1e, 0xfd, 0x19, 0x7f, 0xb9, 0xf4, 0x14, 0x4b, 0xd5, 0xb7, + 0xf9, 0x78, 0x6d, 0x9a, 0xff, 0xac, 0x5e, 0xa0, 0x53, 0x87, 0xc4, 0xce, + 0x11, 0xbb, 0x2a, 0x03, 0x3d, 0x0f, 0xf0, 0xdd, 0x3d, 0x3f, 0xad, 0xd6, + 0x56, 0x6b, 0xd3, 0xc6, 0xc6, 0x16, 0x40, 0x89, 0x08, 0xaf, 0x9c, 0xf9, + 0xc7, 0x7e, 0xdf, 0xf3, 0x32, 0xfc, 0xff, 0xa5, 0x88, 0x75, 0x4e, 0x76, + 0xf6, 0x16, 0xfc, 0x1d, 0x43, 0x1d, 0x77, 0x9e, 0x5f, 0x3b, 0xd1, 0x3b, + 0xbb, 0xf2, 0x06, 0xd5, 0xc6, 0x1c, 0x5a, 0xf9, 0x74, 0xa5, 0x06, 0x18, + 0xef, 0xfb, 0x0e, 0x5f, 0xe9, 0x3b, 0x7c, 0xad, 0xb6, 0x12, 0x4f, 0x17, + 0x07, 0x0b, 0x1f, 0xb4, 0xea, 0x94, 0x88, 0x70, 0xf2, 0xaf, 0xd3, 0x9b, + 0x6e, 0xee, 0x26, 0x98, 0x0d, 0x2b, 0x3e, 0x97, 0x0d, 0x18, 0x2e, 0x14, + 0x7b, 0x7b, 0x7a, 0xfa, 0xee, 0x93, 0x44, 0x63, 0x47, 0x4d, 0xd6, 0xb3, + 0x5a, 0x79, 0x12, 0xe8, 0x5c, 0x55, 0xc5, 0xc9, 0xf9, 0x28, 0xae, 0xbd, + 0x19, 0xd6, 0xaa, 0x37, 0x86, 0x76, 0x0f, 0xb7, 0xcb, 0xff, 0x37, 0x00, + 0x6e, 0xcd, 0xec, 0x44, 0x64, 0x7e, 0xb4, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __menu_single_user_disabled_png_len = 4100; +unsigned char __menu_verbose_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, + 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x0a, 0x4f, 0x69, 0x43, + 0x43, 0x50, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x73, 0x68, 0x6f, 0x70, 0x20, + 0x49, 0x43, 0x43, 0x20, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x00, + 0x00, 0x78, 0xda, 0x9d, 0x53, 0x67, 0x54, 0x53, 0xe9, 0x16, 0x3d, 0xf7, + 0xde, 0xf4, 0x42, 0x4b, 0x88, 0x80, 0x94, 0x4b, 0x6f, 0x52, 0x15, 0x08, + 0x20, 0x52, 0x42, 0x8b, 0x80, 0x14, 0x91, 0x26, 0x2a, 0x21, 0x09, 0x10, + 0x4a, 0x88, 0x21, 0xa1, 0xd9, 0x15, 0x51, 0xc1, 0x11, 0x45, 0x45, 0x04, + 0x1b, 0xc8, 0xa0, 0x88, 0x03, 0x8e, 0x8e, 0x80, 0x8c, 0x15, 0x51, 0x2c, + 0x0c, 0x8a, 0x0a, 0xd8, 0x07, 0xe4, 0x21, 0xa2, 0x8e, 0x83, 0xa3, 0x88, + 0x8a, 0xca, 0xfb, 0xe1, 0x7b, 0xa3, 0x6b, 0xd6, 0xbc, 0xf7, 0xe6, 0xcd, + 0xfe, 0xb5, 0xd7, 0x3e, 0xe7, 0xac, 0xf3, 0x9d, 0xb3, 0xcf, 0x07, 0xc0, + 0x08, 0x0c, 0x96, 0x48, 0x33, 0x51, 0x35, 0x80, 0x0c, 0xa9, 0x42, 0x1e, + 0x11, 0xe0, 0x83, 0xc7, 0xc4, 0xc6, 0xe1, 0xe4, 0x2e, 0x40, 0x81, 0x0a, + 0x24, 0x70, 0x00, 0x10, 0x08, 0xb3, 0x64, 0x21, 0x73, 0xfd, 0x23, 0x01, + 0x00, 0xf8, 0x7e, 0x3c, 0x3c, 0x2b, 0x22, 0xc0, 0x07, 0xbe, 0x00, 0x01, + 0x78, 0xd3, 0x0b, 0x08, 0x00, 0xc0, 0x4d, 0x9b, 0xc0, 0x30, 0x1c, 0x87, + 0xff, 0x0f, 0xea, 0x42, 0x99, 0x5c, 0x01, 0x80, 0x84, 0x01, 0xc0, 0x74, + 0x91, 0x38, 0x4b, 0x08, 0x80, 0x14, 0x00, 0x40, 0x7a, 0x8e, 0x42, 0xa6, + 0x00, 0x40, 0x46, 0x01, 0x80, 0x9d, 0x98, 0x26, 0x53, 0x00, 0xa0, 0x04, + 0x00, 0x60, 0xcb, 0x63, 0x62, 0xe3, 0x00, 0x50, 0x2d, 0x00, 0x60, 0x27, + 0x7f, 0xe6, 0xd3, 0x00, 0x80, 0x9d, 0xf8, 0x99, 0x7b, 0x01, 0x00, 0x5b, + 0x94, 0x21, 0x15, 0x01, 0xa0, 0x91, 0x00, 0x20, 0x13, 0x65, 0x88, 0x44, + 0x00, 0x68, 0x3b, 0x00, 0xac, 0xcf, 0x56, 0x8a, 0x45, 0x00, 0x58, 0x30, + 0x00, 0x14, 0x66, 0x4b, 0xc4, 0x39, 0x00, 0xd8, 0x2d, 0x00, 0x30, 0x49, + 0x57, 0x66, 0x48, 0x00, 0xb0, 0xb7, 0x00, 0xc0, 0xce, 0x10, 0x0b, 0xb2, + 0x00, 0x08, 0x0c, 0x00, 0x30, 0x51, 0x88, 0x85, 0x29, 0x00, 0x04, 0x7b, + 0x00, 0x60, 0xc8, 0x23, 0x23, 0x78, 0x00, 0x84, 0x99, 0x00, 0x14, 0x46, + 0xf2, 0x57, 0x3c, 0xf1, 0x2b, 0xae, 0x10, 0xe7, 0x2a, 0x00, 0x00, 0x78, + 0x99, 0xb2, 0x3c, 0xb9, 0x24, 0x39, 0x45, 0x81, 0x5b, 0x08, 0x2d, 0x71, + 0x07, 0x57, 0x57, 0x2e, 0x1e, 0x28, 0xce, 0x49, 0x17, 0x2b, 0x14, 0x36, + 0x61, 0x02, 0x61, 0x9a, 0x40, 0x2e, 0xc2, 0x79, 0x99, 0x19, 0x32, 0x81, + 0x34, 0x0f, 0xe0, 0xf3, 0xcc, 0x00, 0x00, 0xa0, 0x91, 0x15, 0x11, 0xe0, + 0x83, 0xf3, 0xfd, 0x78, 0xce, 0x0e, 0xae, 0xce, 0xce, 0x36, 0x8e, 0xb6, + 0x0e, 0x5f, 0x2d, 0xea, 0xbf, 0x06, 0xff, 0x22, 0x62, 0x62, 0xe3, 0xfe, + 0xe5, 0xcf, 0xab, 0x70, 0x40, 0x00, 0x00, 0xe1, 0x74, 0x7e, 0xd1, 0xfe, + 0x2c, 0x2f, 0xb3, 0x1a, 0x80, 0x3b, 0x06, 0x80, 0x6d, 0xfe, 0xa2, 0x25, + 0xee, 0x04, 0x68, 0x5e, 0x0b, 0xa0, 0x75, 0xf7, 0x8b, 0x66, 0xb2, 0x0f, + 0x40, 0xb5, 0x00, 0xa0, 0xe9, 0xda, 0x57, 0xf3, 0x70, 0xf8, 0x7e, 0x3c, + 0x3c, 0x45, 0xa1, 0x90, 0xb9, 0xd9, 0xd9, 0xe5, 0xe4, 0xe4, 0xd8, 0x4a, + 0xc4, 0x42, 0x5b, 0x61, 0xca, 0x57, 0x7d, 0xfe, 0x67, 0xc2, 0x5f, 0xc0, + 0x57, 0xfd, 0x6c, 0xf9, 0x7e, 0x3c, 0xfc, 0xf7, 0xf5, 0xe0, 0xbe, 0xe2, + 0x24, 0x81, 0x32, 0x5d, 0x81, 0x47, 0x04, 0xf8, 0xe0, 0xc2, 0xcc, 0xf4, + 0x4c, 0xa5, 0x1c, 0xcf, 0x92, 0x09, 0x84, 0x62, 0xdc, 0xe6, 0x8f, 0x47, + 0xfc, 0xb7, 0x0b, 0xff, 0xfc, 0x1d, 0xd3, 0x22, 0xc4, 0x49, 0x62, 0xb9, + 0x58, 0x2a, 0x14, 0xe3, 0x51, 0x12, 0x71, 0x8e, 0x44, 0x9a, 0x8c, 0xf3, + 0x32, 0xa5, 0x22, 0x89, 0x42, 0x92, 0x29, 0xc5, 0x25, 0xd2, 0xff, 0x64, + 0xe2, 0xdf, 0x2c, 0xfb, 0x03, 0x3e, 0xdf, 0x35, 0x00, 0xb0, 0x6a, 0x3e, + 0x01, 0x7b, 0x91, 0x2d, 0xa8, 0x5d, 0x63, 0x03, 0xf6, 0x4b, 0x27, 0x10, + 0x58, 0x74, 0xc0, 0xe2, 0xf7, 0x00, 0x00, 0xf2, 0xbb, 0x6f, 0xc1, 0xd4, + 0x28, 0x08, 0x03, 0x80, 0x68, 0x83, 0xe1, 0xcf, 0x77, 0xff, 0xef, 0x3f, + 0xfd, 0x47, 0xa0, 0x25, 0x00, 0x80, 0x66, 0x49, 0x92, 0x71, 0x00, 0x00, + 0x5e, 0x44, 0x24, 0x2e, 0x54, 0xca, 0xb3, 0x3f, 0xc7, 0x08, 0x00, 0x00, + 0x44, 0xa0, 0x81, 0x2a, 0xb0, 0x41, 0x1b, 0xf4, 0xc1, 0x18, 0x2c, 0xc0, + 0x06, 0x1c, 0xc1, 0x05, 0xdc, 0xc1, 0x0b, 0xfc, 0x60, 0x36, 0x84, 0x42, + 0x24, 0xc4, 0xc2, 0x42, 0x10, 0x42, 0x0a, 0x64, 0x80, 0x1c, 0x72, 0x60, + 0x29, 0xac, 0x82, 0x42, 0x28, 0x86, 0xcd, 0xb0, 0x1d, 0x2a, 0x60, 0x2f, + 0xd4, 0x40, 0x1d, 0x34, 0xc0, 0x51, 0x68, 0x86, 0x93, 0x70, 0x0e, 0x2e, + 0xc2, 0x55, 0xb8, 0x0e, 0x3d, 0x70, 0x0f, 0xfa, 0x61, 0x08, 0x9e, 0xc1, + 0x28, 0xbc, 0x81, 0x09, 0x04, 0x41, 0xc8, 0x08, 0x13, 0x61, 0x21, 0xda, + 0x88, 0x01, 0x62, 0x8a, 0x58, 0x23, 0x8e, 0x08, 0x17, 0x99, 0x85, 0xf8, + 0x21, 0xc1, 0x48, 0x04, 0x12, 0x8b, 0x24, 0x20, 0xc9, 0x88, 0x14, 0x51, + 0x22, 0x4b, 0x91, 0x35, 0x48, 0x31, 0x52, 0x8a, 0x54, 0x20, 0x55, 0x48, + 0x1d, 0xf2, 0x3d, 0x72, 0x02, 0x39, 0x87, 0x5c, 0x46, 0xba, 0x91, 0x3b, + 0xc8, 0x00, 0x32, 0x82, 0xfc, 0x86, 0xbc, 0x47, 0x31, 0x94, 0x81, 0xb2, + 0x51, 0x3d, 0xd4, 0x0c, 0xb5, 0x43, 0xb9, 0xa8, 0x37, 0x1a, 0x84, 0x46, + 0xa2, 0x0b, 0xd0, 0x64, 0x74, 0x31, 0x9a, 0x8f, 0x16, 0xa0, 0x9b, 0xd0, + 0x72, 0xb4, 0x1a, 0x3d, 0x8c, 0x36, 0xa1, 0xe7, 0xd0, 0xab, 0x68, 0x0f, + 0xda, 0x8f, 0x3e, 0x43, 0xc7, 0x30, 0xc0, 0xe8, 0x18, 0x07, 0x33, 0xc4, + 0x6c, 0x30, 0x2e, 0xc6, 0xc3, 0x42, 0xb1, 0x38, 0x2c, 0x09, 0x93, 0x63, + 0xcb, 0xb1, 0x22, 0xac, 0x0c, 0xab, 0xc6, 0x1a, 0xb0, 0x56, 0xac, 0x03, + 0xbb, 0x89, 0xf5, 0x63, 0xcf, 0xb1, 0x77, 0x04, 0x12, 0x81, 0x45, 0xc0, + 0x09, 0x36, 0x04, 0x77, 0x42, 0x20, 0x61, 0x1e, 0x41, 0x48, 0x58, 0x4c, + 0x58, 0x4e, 0xd8, 0x48, 0xa8, 0x20, 0x1c, 0x24, 0x34, 0x11, 0xda, 0x09, + 0x37, 0x09, 0x03, 0x84, 0x51, 0xc2, 0x27, 0x22, 0x93, 0xa8, 0x4b, 0xb4, + 0x26, 0xba, 0x11, 0xf9, 0xc4, 0x18, 0x62, 0x32, 0x31, 0x87, 0x58, 0x48, + 0x2c, 0x23, 0xd6, 0x12, 0x8f, 0x13, 0x2f, 0x10, 0x7b, 0x88, 0x43, 0xc4, + 0x37, 0x24, 0x12, 0x89, 0x43, 0x32, 0x27, 0xb9, 0x90, 0x02, 0x49, 0xb1, + 0xa4, 0x54, 0xd2, 0x12, 0xd2, 0x46, 0xd2, 0x6e, 0x52, 0x23, 0xe9, 0x2c, + 0xa9, 0x9b, 0x34, 0x48, 0x1a, 0x23, 0x93, 0xc9, 0xda, 0x64, 0x6b, 0xb2, + 0x07, 0x39, 0x94, 0x2c, 0x20, 0x2b, 0xc8, 0x85, 0xe4, 0x9d, 0xe4, 0xc3, + 0xe4, 0x33, 0xe4, 0x1b, 0xe4, 0x21, 0xf2, 0x5b, 0x0a, 0x9d, 0x62, 0x40, + 0x71, 0xa4, 0xf8, 0x53, 0xe2, 0x28, 0x52, 0xca, 0x6a, 0x4a, 0x19, 0xe5, + 0x10, 0xe5, 0x34, 0xe5, 0x06, 0x65, 0x98, 0x32, 0x41, 0x55, 0xa3, 0x9a, + 0x52, 0xdd, 0xa8, 0xa1, 0x54, 0x11, 0x35, 0x8f, 0x5a, 0x42, 0xad, 0xa1, + 0xb6, 0x52, 0xaf, 0x51, 0x87, 0xa8, 0x13, 0x34, 0x75, 0x9a, 0x39, 0xcd, + 0x83, 0x16, 0x49, 0x4b, 0xa5, 0xad, 0xa2, 0x95, 0xd3, 0x1a, 0x68, 0x17, + 0x68, 0xf7, 0x69, 0xaf, 0xe8, 0x74, 0xba, 0x11, 0xdd, 0x95, 0x1e, 0x4e, + 0x97, 0xd0, 0x57, 0xd2, 0xcb, 0xe9, 0x47, 0xe8, 0x97, 0xe8, 0x03, 0xf4, + 0x77, 0x0c, 0x0d, 0x86, 0x15, 0x83, 0xc7, 0x88, 0x67, 0x28, 0x19, 0x9b, + 0x18, 0x07, 0x18, 0x67, 0x19, 0x77, 0x18, 0xaf, 0x98, 0x4c, 0xa6, 0x19, + 0xd3, 0x8b, 0x19, 0xc7, 0x54, 0x30, 0x37, 0x31, 0xeb, 0x98, 0xe7, 0x99, + 0x0f, 0x99, 0x6f, 0x55, 0x58, 0x2a, 0xb6, 0x2a, 0x7c, 0x15, 0x91, 0xca, + 0x0a, 0x95, 0x4a, 0x95, 0x26, 0x95, 0x1b, 0x2a, 0x2f, 0x54, 0xa9, 0xaa, + 0xa6, 0xaa, 0xde, 0xaa, 0x0b, 0x55, 0xf3, 0x55, 0xcb, 0x54, 0x8f, 0xa9, + 0x5e, 0x53, 0x7d, 0xae, 0x46, 0x55, 0x33, 0x53, 0xe3, 0xa9, 0x09, 0xd4, + 0x96, 0xab, 0x55, 0xaa, 0x9d, 0x50, 0xeb, 0x53, 0x1b, 0x53, 0x67, 0xa9, + 0x3b, 0xa8, 0x87, 0xaa, 0x67, 0xa8, 0x6f, 0x54, 0x3f, 0xa4, 0x7e, 0x59, + 0xfd, 0x89, 0x06, 0x59, 0xc3, 0x4c, 0xc3, 0x4f, 0x43, 0xa4, 0x51, 0xa0, + 0xb1, 0x5f, 0xe3, 0xbc, 0xc6, 0x20, 0x0b, 0x63, 0x19, 0xb3, 0x78, 0x2c, + 0x21, 0x6b, 0x0d, 0xab, 0x86, 0x75, 0x81, 0x35, 0xc4, 0x26, 0xb1, 0xcd, + 0xd9, 0x7c, 0x76, 0x2a, 0xbb, 0x98, 0xfd, 0x1d, 0xbb, 0x8b, 0x3d, 0xaa, + 0xa9, 0xa1, 0x39, 0x43, 0x33, 0x4a, 0x33, 0x57, 0xb3, 0x52, 0xf3, 0x94, + 0x66, 0x3f, 0x07, 0xe3, 0x98, 0x71, 0xf8, 0x9c, 0x74, 0x4e, 0x09, 0xe7, + 0x28, 0xa7, 0x97, 0xf3, 0x7e, 0x8a, 0xde, 0x14, 0xef, 0x29, 0xe2, 0x29, + 0x1b, 0xa6, 0x34, 0x4c, 0xb9, 0x31, 0x65, 0x5c, 0x6b, 0xaa, 0x96, 0x97, + 0x96, 0x58, 0xab, 0x48, 0xab, 0x51, 0xab, 0x47, 0xeb, 0xbd, 0x36, 0xae, + 0xed, 0xa7, 0x9d, 0xa6, 0xbd, 0x45, 0xbb, 0x59, 0xfb, 0x81, 0x0e, 0x41, + 0xc7, 0x4a, 0x27, 0x5c, 0x27, 0x47, 0x67, 0x8f, 0xce, 0x05, 0x9d, 0xe7, + 0x53, 0xd9, 0x53, 0xdd, 0xa7, 0x0a, 0xa7, 0x16, 0x4d, 0x3d, 0x3a, 0xf5, + 0xae, 0x2e, 0xaa, 0x6b, 0xa5, 0x1b, 0xa1, 0xbb, 0x44, 0x77, 0xbf, 0x6e, + 0xa7, 0xee, 0x98, 0x9e, 0xbe, 0x5e, 0x80, 0x9e, 0x4c, 0x6f, 0xa7, 0xde, + 0x79, 0xbd, 0xe7, 0xfa, 0x1c, 0x7d, 0x2f, 0xfd, 0x54, 0xfd, 0x6d, 0xfa, + 0xa7, 0xf5, 0x47, 0x0c, 0x58, 0x06, 0xb3, 0x0c, 0x24, 0x06, 0xdb, 0x0c, + 0xce, 0x18, 0x3c, 0xc5, 0x35, 0x71, 0x6f, 0x3c, 0x1d, 0x2f, 0xc7, 0xdb, + 0xf1, 0x51, 0x43, 0x5d, 0xc3, 0x40, 0x43, 0xa5, 0x61, 0x95, 0x61, 0x97, + 0xe1, 0x84, 0x91, 0xb9, 0xd1, 0x3c, 0xa3, 0xd5, 0x46, 0x8d, 0x46, 0x0f, + 0x8c, 0x69, 0xc6, 0x5c, 0xe3, 0x24, 0xe3, 0x6d, 0xc6, 0x6d, 0xc6, 0xa3, + 0x26, 0x06, 0x26, 0x21, 0x26, 0x4b, 0x4d, 0xea, 0x4d, 0xee, 0x9a, 0x52, + 0x4d, 0xb9, 0xa6, 0x29, 0xa6, 0x3b, 0x4c, 0x3b, 0x4c, 0xc7, 0xcd, 0xcc, + 0xcd, 0xa2, 0xcd, 0xd6, 0x99, 0x35, 0x9b, 0x3d, 0x31, 0xd7, 0x32, 0xe7, + 0x9b, 0xe7, 0x9b, 0xd7, 0x9b, 0xdf, 0xb7, 0x60, 0x5a, 0x78, 0x5a, 0x2c, + 0xb6, 0xa8, 0xb6, 0xb8, 0x65, 0x49, 0xb2, 0xe4, 0x5a, 0xa6, 0x59, 0xee, + 0xb6, 0xbc, 0x6e, 0x85, 0x5a, 0x39, 0x59, 0xa5, 0x58, 0x55, 0x5a, 0x5d, + 0xb3, 0x46, 0xad, 0x9d, 0xad, 0x25, 0xd6, 0xbb, 0xad, 0xbb, 0xa7, 0x11, + 0xa7, 0xb9, 0x4e, 0x93, 0x4e, 0xab, 0x9e, 0xd6, 0x67, 0xc3, 0xb0, 0xf1, + 0xb6, 0xc9, 0xb6, 0xa9, 0xb7, 0x19, 0xb0, 0xe5, 0xd8, 0x06, 0xdb, 0xae, + 0xb6, 0x6d, 0xb6, 0x7d, 0x61, 0x67, 0x62, 0x17, 0x67, 0xb7, 0xc5, 0xae, + 0xc3, 0xee, 0x93, 0xbd, 0x93, 0x7d, 0xba, 0x7d, 0x8d, 0xfd, 0x3d, 0x07, + 0x0d, 0x87, 0xd9, 0x0e, 0xab, 0x1d, 0x5a, 0x1d, 0x7e, 0x73, 0xb4, 0x72, + 0x14, 0x3a, 0x56, 0x3a, 0xde, 0x9a, 0xce, 0x9c, 0xee, 0x3f, 0x7d, 0xc5, + 0xf4, 0x96, 0xe9, 0x2f, 0x67, 0x58, 0xcf, 0x10, 0xcf, 0xd8, 0x33, 0xe3, + 0xb6, 0x13, 0xcb, 0x29, 0xc4, 0x69, 0x9d, 0x53, 0x9b, 0xd3, 0x47, 0x67, + 0x17, 0x67, 0xb9, 0x73, 0x83, 0xf3, 0x88, 0x8b, 0x89, 0x4b, 0x82, 0xcb, + 0x2e, 0x97, 0x3e, 0x2e, 0x9b, 0x1b, 0xc6, 0xdd, 0xc8, 0xbd, 0xe4, 0x4a, + 0x74, 0xf5, 0x71, 0x5d, 0xe1, 0x7a, 0xd2, 0xf5, 0x9d, 0x9b, 0xb3, 0x9b, + 0xc2, 0xed, 0xa8, 0xdb, 0xaf, 0xee, 0x36, 0xee, 0x69, 0xee, 0x87, 0xdc, + 0x9f, 0xcc, 0x34, 0x9f, 0x29, 0x9e, 0x59, 0x33, 0x73, 0xd0, 0xc3, 0xc8, + 0x43, 0xe0, 0x51, 0xe5, 0xd1, 0x3f, 0x0b, 0x9f, 0x95, 0x30, 0x6b, 0xdf, + 0xac, 0x7e, 0x4f, 0x43, 0x4f, 0x81, 0x67, 0xb5, 0xe7, 0x23, 0x2f, 0x63, + 0x2f, 0x91, 0x57, 0xad, 0xd7, 0xb0, 0xb7, 0xa5, 0x77, 0xaa, 0xf7, 0x61, + 0xef, 0x17, 0x3e, 0xf6, 0x3e, 0x72, 0x9f, 0xe3, 0x3e, 0xe3, 0x3c, 0x37, + 0xde, 0x32, 0xde, 0x59, 0x5f, 0xcc, 0x37, 0xc0, 0xb7, 0xc8, 0xb7, 0xcb, + 0x4f, 0xc3, 0x6f, 0x9e, 0x5f, 0x85, 0xdf, 0x43, 0x7f, 0x23, 0xff, 0x64, + 0xff, 0x7a, 0xff, 0xd1, 0x00, 0xa7, 0x80, 0x25, 0x01, 0x67, 0x03, 0x89, + 0x81, 0x41, 0x81, 0x5b, 0x02, 0xfb, 0xf8, 0x7a, 0x7c, 0x21, 0xbf, 0x8e, + 0x3f, 0x3a, 0xdb, 0x65, 0xf6, 0xb2, 0xd9, 0xed, 0x41, 0x8c, 0xa0, 0xb9, + 0x41, 0x15, 0x41, 0x8f, 0x82, 0xad, 0x82, 0xe5, 0xc1, 0xad, 0x21, 0x68, + 0xc8, 0xec, 0x90, 0xad, 0x21, 0xf7, 0xe7, 0x98, 0xce, 0x91, 0xce, 0x69, + 0x0e, 0x85, 0x50, 0x7e, 0xe8, 0xd6, 0xd0, 0x07, 0x61, 0xe6, 0x61, 0x8b, + 0xc3, 0x7e, 0x0c, 0x27, 0x85, 0x87, 0x85, 0x57, 0x86, 0x3f, 0x8e, 0x70, + 0x88, 0x58, 0x1a, 0xd1, 0x31, 0x97, 0x35, 0x77, 0xd1, 0xdc, 0x43, 0x73, + 0xdf, 0x44, 0xfa, 0x44, 0x96, 0x44, 0xde, 0x9b, 0x67, 0x31, 0x4f, 0x39, + 0xaf, 0x2d, 0x4a, 0x35, 0x2a, 0x3e, 0xaa, 0x2e, 0x6a, 0x3c, 0xda, 0x37, + 0xba, 0x34, 0xba, 0x3f, 0xc6, 0x2e, 0x66, 0x59, 0xcc, 0xd5, 0x58, 0x9d, + 0x58, 0x49, 0x6c, 0x4b, 0x1c, 0x39, 0x2e, 0x2a, 0xae, 0x36, 0x6e, 0x6c, + 0xbe, 0xdf, 0xfc, 0xed, 0xf3, 0x87, 0xe2, 0x9d, 0xe2, 0x0b, 0xe3, 0x7b, + 0x17, 0x98, 0x2f, 0xc8, 0x5d, 0x70, 0x79, 0xa1, 0xce, 0xc2, 0xf4, 0x85, + 0xa7, 0x16, 0xa9, 0x2e, 0x12, 0x2c, 0x3a, 0x96, 0x40, 0x4c, 0x88, 0x4e, + 0x38, 0x94, 0xf0, 0x41, 0x10, 0x2a, 0xa8, 0x16, 0x8c, 0x25, 0xf2, 0x13, + 0x77, 0x25, 0x8e, 0x0a, 0x79, 0xc2, 0x1d, 0xc2, 0x67, 0x22, 0x2f, 0xd1, + 0x36, 0xd1, 0x88, 0xd8, 0x43, 0x5c, 0x2a, 0x1e, 0x4e, 0xf2, 0x48, 0x2a, + 0x4d, 0x7a, 0x92, 0xec, 0x91, 0xbc, 0x35, 0x79, 0x24, 0xc5, 0x33, 0xa5, + 0x2c, 0xe5, 0xb9, 0x84, 0x27, 0xa9, 0x90, 0xbc, 0x4c, 0x0d, 0x4c, 0xdd, + 0x9b, 0x3a, 0x9e, 0x16, 0x9a, 0x76, 0x20, 0x6d, 0x32, 0x3d, 0x3a, 0xbd, + 0x31, 0x83, 0x92, 0x91, 0x90, 0x71, 0x42, 0xaa, 0x21, 0x4d, 0x93, 0xb6, + 0x67, 0xea, 0x67, 0xe6, 0x66, 0x76, 0xcb, 0xac, 0x65, 0x85, 0xb2, 0xfe, + 0xc5, 0x6e, 0x8b, 0xb7, 0x2f, 0x1e, 0x95, 0x07, 0xc9, 0x6b, 0xb3, 0x90, + 0xac, 0x05, 0x59, 0x2d, 0x0a, 0xb6, 0x42, 0xa6, 0xe8, 0x54, 0x5a, 0x28, + 0xd7, 0x2a, 0x07, 0xb2, 0x67, 0x65, 0x57, 0x66, 0xbf, 0xcd, 0x89, 0xca, + 0x39, 0x96, 0xab, 0x9e, 0x2b, 0xcd, 0xed, 0xcc, 0xb3, 0xca, 0xdb, 0x90, + 0x37, 0x9c, 0xef, 0x9f, 0xff, 0xed, 0x12, 0xc2, 0x12, 0xe1, 0x92, 0xb6, + 0xa5, 0x86, 0x4b, 0x57, 0x2d, 0x1d, 0x58, 0xe6, 0xbd, 0xac, 0x6a, 0x39, + 0xb2, 0x3c, 0x71, 0x79, 0xdb, 0x0a, 0xe3, 0x15, 0x05, 0x2b, 0x86, 0x56, + 0x06, 0xac, 0x3c, 0xb8, 0x8a, 0xb6, 0x2a, 0x6d, 0xd5, 0x4f, 0xab, 0xed, + 0x57, 0x97, 0xae, 0x7e, 0xbd, 0x26, 0x7a, 0x4d, 0x6b, 0x81, 0x5e, 0xc1, + 0xca, 0x82, 0xc1, 0xb5, 0x01, 0x6b, 0xeb, 0x0b, 0x55, 0x0a, 0xe5, 0x85, + 0x7d, 0xeb, 0xdc, 0xd7, 0xed, 0x5d, 0x4f, 0x58, 0x2f, 0x59, 0xdf, 0xb5, + 0x61, 0xfa, 0x86, 0x9d, 0x1b, 0x3e, 0x15, 0x89, 0x8a, 0xae, 0x14, 0xdb, + 0x17, 0x97, 0x15, 0x7f, 0xd8, 0x28, 0xdc, 0x78, 0xe5, 0x1b, 0x87, 0x6f, + 0xca, 0xbf, 0x99, 0xdc, 0x94, 0xb4, 0xa9, 0xab, 0xc4, 0xb9, 0x64, 0xcf, + 0x66, 0xd2, 0x66, 0xe9, 0xe6, 0xde, 0x2d, 0x9e, 0x5b, 0x0e, 0x96, 0xaa, + 0x97, 0xe6, 0x97, 0x0e, 0x6e, 0x0d, 0xd9, 0xda, 0xb4, 0x0d, 0xdf, 0x56, + 0xb4, 0xed, 0xf5, 0xf6, 0x45, 0xdb, 0x2f, 0x97, 0xcd, 0x28, 0xdb, 0xbb, + 0x83, 0xb6, 0x43, 0xb9, 0xa3, 0xbf, 0x3c, 0xb8, 0xbc, 0x65, 0xa7, 0xc9, + 0xce, 0xcd, 0x3b, 0x3f, 0x54, 0xa4, 0x54, 0xf4, 0x54, 0xfa, 0x54, 0x36, + 0xee, 0xd2, 0xdd, 0xb5, 0x61, 0xd7, 0xf8, 0x6e, 0xd1, 0xee, 0x1b, 0x7b, + 0xbc, 0xf6, 0x34, 0xec, 0xd5, 0xdb, 0x5b, 0xbc, 0xf7, 0xfd, 0x3e, 0xc9, + 0xbe, 0xdb, 0x55, 0x01, 0x55, 0x4d, 0xd5, 0x66, 0xd5, 0x65, 0xfb, 0x49, + 0xfb, 0xb3, 0xf7, 0x3f, 0xae, 0x89, 0xaa, 0xe9, 0xf8, 0x96, 0xfb, 0x6d, + 0x5d, 0xad, 0x4e, 0x6d, 0x71, 0xed, 0xc7, 0x03, 0xd2, 0x03, 0xfd, 0x07, + 0x23, 0x0e, 0xb6, 0xd7, 0xb9, 0xd4, 0xd5, 0x1d, 0xd2, 0x3d, 0x54, 0x52, + 0x8f, 0xd6, 0x2b, 0xeb, 0x47, 0x0e, 0xc7, 0x1f, 0xbe, 0xfe, 0x9d, 0xef, + 0x77, 0x2d, 0x0d, 0x36, 0x0d, 0x55, 0x8d, 0x9c, 0xc6, 0xe2, 0x23, 0x70, + 0x44, 0x79, 0xe4, 0xe9, 0xf7, 0x09, 0xdf, 0xf7, 0x1e, 0x0d, 0x3a, 0xda, + 0x76, 0x8c, 0x7b, 0xac, 0xe1, 0x07, 0xd3, 0x1f, 0x76, 0x1d, 0x67, 0x1d, + 0x2f, 0x6a, 0x42, 0x9a, 0xf2, 0x9a, 0x46, 0x9b, 0x53, 0x9a, 0xfb, 0x5b, + 0x62, 0x5b, 0xba, 0x4f, 0xcc, 0x3e, 0xd1, 0xd6, 0xea, 0xde, 0x7a, 0xfc, + 0x47, 0xdb, 0x1f, 0x0f, 0x9c, 0x34, 0x3c, 0x59, 0x79, 0x4a, 0xf3, 0x54, + 0xc9, 0x69, 0xda, 0xe9, 0x82, 0xd3, 0x93, 0x67, 0xf2, 0xcf, 0x8c, 0x9d, + 0x95, 0x9d, 0x7d, 0x7e, 0x2e, 0xf9, 0xdc, 0x60, 0xdb, 0xa2, 0xb6, 0x7b, + 0xe7, 0x63, 0xce, 0xdf, 0x6a, 0x0f, 0x6f, 0xef, 0xba, 0x10, 0x74, 0xe1, + 0xd2, 0x45, 0xff, 0x8b, 0xe7, 0x3b, 0xbc, 0x3b, 0xce, 0x5c, 0xf2, 0xb8, + 0x74, 0xf2, 0xb2, 0xdb, 0xe5, 0x13, 0x57, 0xb8, 0x57, 0x9a, 0xaf, 0x3a, + 0x5f, 0x6d, 0xea, 0x74, 0xea, 0x3c, 0xfe, 0x93, 0xd3, 0x4f, 0xc7, 0xbb, + 0x9c, 0xbb, 0x9a, 0xae, 0xb9, 0x5c, 0x6b, 0xb9, 0xee, 0x7a, 0xbd, 0xb5, + 0x7b, 0x66, 0xf7, 0xe9, 0x1b, 0x9e, 0x37, 0xce, 0xdd, 0xf4, 0xbd, 0x79, + 0xf1, 0x16, 0xff, 0xd6, 0xd5, 0x9e, 0x39, 0x3d, 0xdd, 0xbd, 0xf3, 0x7a, + 0x6f, 0xf7, 0xc5, 0xf7, 0xf5, 0xdf, 0x16, 0xdd, 0x7e, 0x72, 0x27, 0xfd, + 0xce, 0xcb, 0xbb, 0xd9, 0x77, 0x27, 0xee, 0xad, 0xbc, 0x4f, 0xbc, 0x5f, + 0xf4, 0x40, 0xed, 0x41, 0xd9, 0x43, 0xdd, 0x87, 0xd5, 0x3f, 0x5b, 0xfe, + 0xdc, 0xd8, 0xef, 0xdc, 0x7f, 0x6a, 0xc0, 0x77, 0xa0, 0xf3, 0xd1, 0xdc, + 0x47, 0xf7, 0x06, 0x85, 0x83, 0xcf, 0xfe, 0x91, 0xf5, 0x8f, 0x0f, 0x43, + 0x05, 0x8f, 0x99, 0x8f, 0xcb, 0x86, 0x0d, 0x86, 0xeb, 0x9e, 0x38, 0x3e, + 0x39, 0x39, 0xe2, 0x3f, 0x72, 0xfd, 0xe9, 0xfc, 0xa7, 0x43, 0xcf, 0x64, + 0xcf, 0x26, 0x9e, 0x17, 0xfe, 0xa2, 0xfe, 0xcb, 0xae, 0x17, 0x16, 0x2f, + 0x7e, 0xf8, 0xd5, 0xeb, 0xd7, 0xce, 0xd1, 0x98, 0xd1, 0xa1, 0x97, 0xf2, + 0x97, 0x93, 0xbf, 0x6d, 0x7c, 0xa5, 0xfd, 0xea, 0xc0, 0xeb, 0x19, 0xaf, + 0xdb, 0xc6, 0xc2, 0xc6, 0x1e, 0xbe, 0xc9, 0x78, 0x33, 0x31, 0x5e, 0xf4, + 0x56, 0xfb, 0xed, 0xc1, 0x77, 0xdc, 0x77, 0x1d, 0xef, 0xa3, 0xdf, 0x0f, + 0x4f, 0xe4, 0x7c, 0x20, 0x7f, 0x28, 0xff, 0x68, 0xf9, 0xb1, 0xf5, 0x53, + 0xd0, 0xa7, 0xfb, 0x93, 0x19, 0x93, 0x93, 0xff, 0x04, 0x03, 0x98, 0xf3, + 0xfc, 0x63, 0x33, 0x2d, 0xdb, 0x00, 0x00, 0x00, 0x20, 0x63, 0x48, 0x52, + 0x4d, 0x00, 0x00, 0x7a, 0x25, 0x00, 0x00, 0x80, 0x83, 0x00, 0x00, 0xf9, + 0xff, 0x00, 0x00, 0x80, 0xe9, 0x00, 0x00, 0x75, 0x30, 0x00, 0x00, 0xea, + 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00, 0x00, 0x17, 0x6f, 0x92, 0x5f, 0xc5, + 0x46, 0x00, 0x00, 0x05, 0x3f, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x84, + 0x95, 0x5b, 0x6c, 0x5c, 0x57, 0x15, 0x86, 0xbf, 0xbd, 0xcf, 0x99, 0x99, + 0x73, 0xec, 0xb1, 0xc7, 0xd7, 0xe9, 0xc4, 0xf1, 0x25, 0x57, 0x1b, 0xa5, + 0x28, 0x4a, 0xa3, 0x16, 0xdc, 0xb1, 0x8a, 0xa8, 0x0b, 0x01, 0x22, 0x25, + 0x4d, 0x21, 0x04, 0x24, 0x1e, 0x90, 0x50, 0x8b, 0x78, 0xa8, 0xe0, 0x85, + 0x07, 0xfa, 0x50, 0xa9, 0x3c, 0x20, 0xa1, 0xf2, 0x84, 0x80, 0x44, 0x0a, + 0xa8, 0x2f, 0x0d, 0x52, 0x4b, 0x50, 0x50, 0x11, 0x0d, 0x85, 0x24, 0x0e, + 0x91, 0x12, 0x93, 0x26, 0x6a, 0xe4, 0x90, 0x44, 0xc8, 0xd8, 0x84, 0x38, + 0xb6, 0x83, 0x93, 0x38, 0xbe, 0xc4, 0xd3, 0xb9, 0x9d, 0xbd, 0xf7, 0xe2, + 0x61, 0x32, 0x63, 0x1b, 0x27, 0xcd, 0x92, 0xfe, 0xc7, 0xb5, 0xff, 0xf5, + 0xaf, 0x7f, 0xad, 0xbd, 0x94, 0x88, 0x30, 0x72, 0x6d, 0xf4, 0x64, 0x26, + 0xdd, 0xb6, 0x19, 0xb0, 0x8a, 0xb5, 0x21, 0x80, 0x73, 0x0e, 0x71, 0x0e, + 0x01, 0xff, 0xf6, 0xdd, 0xb9, 0x99, 0x5c, 0x3e, 0xff, 0x72, 0xbe, 0x58, + 0xbc, 0xea, 0x9c, 0x23, 0xee, 0xfb, 0xc8, 0x43, 0xf2, 0x76, 0x7d, 0xee, + 0x59, 0x7c, 0x80, 0xc6, 0x86, 0x64, 0x26, 0xd3, 0xde, 0xba, 0x81, 0xc7, + 0x84, 0xb1, 0x16, 0x71, 0x42, 0x10, 0x24, 0x7a, 0x16, 0x16, 0x97, 0xde, + 0x1a, 0xbf, 0x71, 0x73, 0x9f, 0x88, 0xdc, 0xfa, 0xa4, 0x1c, 0x0d, 0xa0, + 0xc0, 0xf0, 0xa0, 0xca, 0x4f, 0x82, 0x02, 0x9c, 0x08, 0x5a, 0x6b, 0xda, + 0x5a, 0x9a, 0x9e, 0xd9, 0xb6, 0x75, 0xf3, 0xdb, 0x40, 0xd2, 0x39, 0x07, + 0x80, 0x52, 0x0a, 0xa5, 0xa8, 0x01, 0xa8, 0x28, 0xa8, 0xb1, 0x69, 0xfd, + 0x38, 0x11, 0x08, 0xe0, 0x29, 0x8d, 0x15, 0x47, 0xf7, 0xfa, 0xcc, 0xa0, + 0x20, 0x47, 0x26, 0xa6, 0x6e, 0xed, 0xcb, 0x17, 0x4a, 0x58, 0x67, 0x50, + 0xa8, 0xb5, 0x0a, 0xaa, 0xf1, 0x38, 0x05, 0xd6, 0x5a, 0x94, 0x52, 0x78, + 0x9e, 0x47, 0x3e, 0x5f, 0x64, 0x7e, 0xf1, 0x3e, 0x2d, 0xa9, 0xd4, 0x8b, + 0xe9, 0xd6, 0x96, 0x23, 0xd6, 0x5a, 0xca, 0x65, 0x43, 0x39, 0x5a, 0xc6, + 0x72, 0x8b, 0xb4, 0xaa, 0x29, 0x28, 0x16, 0x8b, 0x8c, 0x8d, 0x8d, 0xa1, + 0xb5, 0x5e, 0x85, 0x62, 0xb1, 0xc8, 0xf8, 0xf8, 0x38, 0xd6, 0x18, 0x12, + 0x89, 0x18, 0xf5, 0x75, 0x01, 0xa5, 0x72, 0xc4, 0xe2, 0x52, 0x8e, 0x58, + 0x2c, 0xf6, 0xad, 0x78, 0x2c, 0xf6, 0x26, 0xc8, 0x9a, 0x16, 0xad, 0x51, + 0x10, 0x04, 0x01, 0x07, 0x0f, 0xfe, 0x8a, 0xb3, 0x67, 0xcf, 0xae, 0xaa, + 0xfe, 0xdd, 0x77, 0xdf, 0xe1, 0xe4, 0xc9, 0x13, 0x28, 0xad, 0x11, 0x81, + 0x44, 0x3c, 0x4e, 0x18, 0x24, 0x08, 0x82, 0x04, 0xc9, 0x64, 0x92, 0xba, + 0xba, 0xf0, 0xd3, 0xe2, 0xa4, 0xd2, 0xc3, 0x2a, 0xfe, 0x9f, 0xa0, 0x5a, + 0x6d, 0x36, 0x3b, 0xc0, 0xf9, 0xf3, 0x7f, 0x5f, 0x55, 0xfd, 0xc8, 0xc8, + 0x08, 0xd9, 0xec, 0x00, 0x5a, 0xeb, 0xca, 0xc8, 0x8a, 0xe0, 0x1e, 0x40, + 0xc4, 0x01, 0x44, 0x95, 0xd2, 0x59, 0xc6, 0xa3, 0x3c, 0x18, 0x1c, 0x1c, + 0x64, 0x74, 0x74, 0x94, 0xbb, 0x77, 0xef, 0xe2, 0x9c, 0xe3, 0xd2, 0xa5, + 0x4b, 0x84, 0x61, 0xc8, 0xf6, 0xed, 0xdb, 0x11, 0x57, 0x29, 0xaf, 0xf2, + 0xb0, 0x80, 0x08, 0x22, 0x3c, 0x74, 0x0f, 0x1e, 0xa9, 0xa0, 0xbd, 0xbd, + 0x9d, 0xae, 0xae, 0x2e, 0x86, 0x86, 0x86, 0xd0, 0x5a, 0x33, 0x34, 0x74, + 0x8a, 0x81, 0x81, 0x01, 0x3c, 0xcf, 0xc3, 0x89, 0x43, 0x64, 0x79, 0xa4, + 0x2a, 0x1c, 0x52, 0x53, 0xf4, 0x50, 0x0f, 0xaa, 0x09, 0x2b, 0x7b, 0x3e, + 0x38, 0xf8, 0x02, 0xc3, 0xc3, 0xe7, 0x98, 0x98, 0x98, 0x60, 0x72, 0x72, + 0x92, 0xfe, 0xfe, 0x67, 0xb1, 0xd6, 0x22, 0x02, 0x9e, 0x55, 0xc4, 0x8c, + 0x42, 0x1b, 0x4b, 0x4c, 0x84, 0xa4, 0x8e, 0x53, 0xa7, 0x63, 0xaa, 0x29, + 0x88, 0xd3, 0x5a, 0x17, 0xa3, 0xb5, 0xce, 0xa7, 0x35, 0xf4, 0x97, 0xf7, + 0xa0, 0xfa, 0xe8, 0xca, 0x3d, 0xd8, 0xb9, 0x73, 0x27, 0x47, 0x8f, 0xfe, + 0x8e, 0x43, 0x87, 0x0e, 0xd2, 0xdb, 0xdb, 0x47, 0x4b, 0x4b, 0x0b, 0x9e, + 0xe7, 0x51, 0xce, 0x15, 0x39, 0x33, 0xfd, 0x11, 0x1f, 0xdc, 0xbc, 0xc0, + 0xc4, 0xd2, 0x7f, 0xd1, 0x5a, 0xd3, 0xdb, 0xd4, 0xcd, 0x17, 0x3b, 0x9e, + 0xee, 0x7f, 0xb2, 0xb9, 0xe7, 0x17, 0x93, 0x33, 0xb7, 0x7e, 0x10, 0xb9, + 0xc8, 0xa9, 0x07, 0x12, 0x6a, 0x04, 0x55, 0xf3, 0xaa, 0x11, 0x04, 0x01, + 0x3b, 0x76, 0x3c, 0xc5, 0xf0, 0xf0, 0x39, 0xf6, 0xee, 0xdd, 0x8b, 0xe7, + 0x79, 0xcc, 0xdc, 0x9e, 0xe1, 0x8d, 0x8f, 0x7e, 0xcd, 0xb1, 0x1b, 0xe7, + 0x88, 0xf9, 0x71, 0xc2, 0x58, 0x02, 0x14, 0x0c, 0xcf, 0xfe, 0x93, 0xc3, + 0xa3, 0xef, 0xb5, 0xbf, 0xf2, 0xe4, 0x9e, 0x57, 0x5f, 0xdd, 0xf8, 0xd2, + 0xe6, 0xe9, 0xa9, 0xe9, 0xfd, 0x46, 0x6c, 0x7e, 0x05, 0x81, 0x50, 0x28, + 0x96, 0x09, 0x83, 0xf8, 0x2a, 0x83, 0x0e, 0x7c, 0xe3, 0x00, 0xd9, 0x6c, + 0x96, 0xbe, 0xde, 0x3e, 0x4a, 0x1f, 0x17, 0xf9, 0xe1, 0xc5, 0x9f, 0xf3, + 0xfe, 0xf4, 0x45, 0xfa, 0xd2, 0x9d, 0x84, 0x3e, 0xf8, 0xca, 0x61, 0xc5, + 0xe2, 0xeb, 0x06, 0x76, 0xf7, 0xec, 0xe2, 0xe0, 0xe5, 0xdf, 0x53, 0x24, + 0xfa, 0xca, 0x8f, 0x36, 0x7c, 0xf3, 0x97, 0x37, 0xa6, 0x6f, 0x7e, 0xa7, + 0x46, 0x60, 0xc5, 0x61, 0xac, 0x21, 0x9f, 0xaf, 0x8c, 0x9f, 0xe0, 0x50, + 0xda, 0x43, 0x69, 0x9f, 0x8e, 0xce, 0x2e, 0x4a, 0xf7, 0x4b, 0xbc, 0xfd, + 0xef, 0xe3, 0x7c, 0x30, 0x73, 0x9e, 0x6c, 0x47, 0x0f, 0x29, 0xdf, 0x50, + 0xef, 0x2b, 0xe2, 0x1a, 0xf2, 0xa6, 0xc8, 0x57, 0xb7, 0xee, 0x67, 0xcf, + 0xa6, 0x97, 0xe8, 0x48, 0xb6, 0xf3, 0xdd, 0xa1, 0x1f, 0xf3, 0xc2, 0xba, + 0x67, 0xbe, 0xd6, 0x97, 0x4c, 0xff, 0x06, 0x18, 0xd6, 0xd5, 0x16, 0x45, + 0xc6, 0x62, 0x9c, 0xc5, 0x8a, 0xc3, 0x09, 0x58, 0x6b, 0x89, 0x8c, 0xc1, + 0x44, 0x96, 0xa5, 0xa8, 0xc0, 0x87, 0x73, 0x27, 0xf8, 0x6c, 0x7b, 0x03, + 0x9d, 0x61, 0x44, 0x26, 0x14, 0x32, 0x61, 0x48, 0xbd, 0x0f, 0xcf, 0xad, + 0xeb, 0x67, 0xcf, 0xa6, 0x7d, 0xcc, 0x97, 0xf2, 0x9c, 0x9e, 0x38, 0x41, + 0xb6, 0x3d, 0xe4, 0xc3, 0xf9, 0xa1, 0xc6, 0xc6, 0xe6, 0xe6, 0x97, 0x6b, + 0x0a, 0x8c, 0x71, 0x44, 0xc6, 0x88, 0x88, 0xb7, 0xe6, 0x1c, 0x38, 0xe3, + 0x98, 0x2d, 0xce, 0x91, 0xf2, 0xa7, 0xd8, 0x98, 0x76, 0x6c, 0x6c, 0xfa, + 0x3c, 0xf5, 0xb1, 0x90, 0xbf, 0x4d, 0x1c, 0xa5, 0x21, 0xd6, 0xc8, 0xee, + 0x4d, 0x07, 0x00, 0xc5, 0xe1, 0x2b, 0x47, 0xd0, 0x32, 0xc5, 0xae, 0xf5, + 0x21, 0x0b, 0xd1, 0x38, 0x12, 0xf8, 0xdb, 0x56, 0x99, 0x1c, 0x45, 0x46, + 0x39, 0x59, 0xbb, 0x2e, 0xce, 0x38, 0x9c, 0x44, 0xf8, 0xca, 0x90, 0x0e, + 0x84, 0xe7, 0xbb, 0x9f, 0x23, 0x53, 0xff, 0x29, 0x7c, 0x65, 0x69, 0x8c, + 0xd7, 0x93, 0x49, 0xf6, 0x70, 0x66, 0xfa, 0x1f, 0x5c, 0xbf, 0x77, 0x9c, + 0x0d, 0xc9, 0x05, 0x1a, 0xfd, 0x90, 0x9c, 0x49, 0xe0, 0x79, 0x2a, 0xbe, + 0x82, 0xc0, 0x8a, 0xb1, 0x56, 0x9c, 0x88, 0x5a, 0xfe, 0x94, 0x2b, 0x61, + 0x8d, 0xd0, 0xe0, 0x37, 0x92, 0x4a, 0xb4, 0x32, 0xfb, 0xf1, 0x25, 0xfe, + 0x3c, 0xf6, 0x06, 0x5f, 0xdf, 0x76, 0x88, 0xdd, 0x9b, 0xbf, 0x8d, 0x88, + 0x63, 0xa1, 0x54, 0xe6, 0x8f, 0x63, 0x6f, 0xd2, 0x15, 0x5e, 0xc5, 0x5a, + 0xc3, 0x9d, 0x7c, 0x03, 0xcd, 0xf5, 0x83, 0x78, 0x56, 0xcf, 0xd4, 0x16, + 0xcd, 0x58, 0xa7, 0xca, 0xe5, 0x48, 0x95, 0x4a, 0x25, 0x2a, 0x28, 0x53, + 0x2a, 0x45, 0x94, 0xca, 0x11, 0x65, 0x63, 0xf0, 0x25, 0x64, 0x4b, 0xaa, + 0x9f, 0xd9, 0xe2, 0x3c, 0xd7, 0xe7, 0x4e, 0xf1, 0xdb, 0x2b, 0xaf, 0xb0, + 0x54, 0xbe, 0x87, 0x52, 0x9a, 0x63, 0x63, 0xef, 0x60, 0xcb, 0x7f, 0x45, + 0x2b, 0x41, 0xe1, 0x71, 0xaf, 0x30, 0x4b, 0x6f, 0x53, 0x96, 0xa8, 0x18, + 0x1d, 0xaf, 0x11, 0x38, 0xe7, 0x94, 0xb1, 0x0e, 0x63, 0xa5, 0x62, 0xb0, + 0x54, 0xce, 0xa3, 0x31, 0x16, 0xe7, 0x2c, 0xf7, 0xf3, 0x4b, 0x7c, 0xa6, + 0xf5, 0x45, 0x5a, 0xeb, 0x9f, 0x06, 0x3c, 0x26, 0x17, 0xcf, 0x70, 0xf4, + 0xda, 0xf7, 0x18, 0xb9, 0x73, 0x95, 0xcb, 0x33, 0x6f, 0xd1, 0x1e, 0x04, + 0x38, 0x51, 0xe4, 0xa3, 0x25, 0x3a, 0x9b, 0x06, 0xd9, 0x91, 0xfa, 0xc2, + 0xc5, 0xc5, 0xdc, 0xfc, 0xe1, 0xe5, 0x31, 0xb5, 0x2e, 0x1e, 0x19, 0x53, + 0x3b, 0x7b, 0x2b, 0xae, 0x97, 0x28, 0x50, 0xd6, 0x95, 0xd1, 0x4b, 0x49, + 0xf6, 0x6f, 0xfd, 0x29, 0x7f, 0xba, 0xfe, 0x1a, 0xb3, 0xb9, 0x0b, 0xfc, + 0x67, 0xe1, 0x34, 0xff, 0x9a, 0xbf, 0x42, 0x83, 0xce, 0x13, 0x39, 0x47, + 0xe4, 0x72, 0xac, 0x6f, 0x7e, 0x9e, 0xbd, 0x9b, 0x7e, 0x72, 0xbb, 0x30, + 0x5f, 0x78, 0xdd, 0xd8, 0xa8, 0x0c, 0xa0, 0x44, 0x84, 0xf7, 0x87, 0xce, + 0xbe, 0xe6, 0x7b, 0xde, 0x13, 0x80, 0x7d, 0xd4, 0xa9, 0xb4, 0xce, 0xb9, + 0x8e, 0x96, 0x74, 0xb8, 0xae, 0xbb, 0xee, 0x4b, 0x97, 0x17, 0x8e, 0x6d, + 0x19, 0x9b, 0x3b, 0x45, 0xae, 0x34, 0x85, 0x56, 0x3e, 0x8d, 0x89, 0xf5, + 0xf4, 0xb5, 0x7d, 0x99, 0xa7, 0xda, 0xf6, 0x5f, 0x2b, 0xcc, 0x45, 0xaf, + 0x67, 0x3a, 0xd3, 0x7f, 0xa8, 0xe6, 0x29, 0x11, 0xe1, 0xbd, 0xbf, 0x9c, + 0x5e, 0x75, 0x73, 0x57, 0xfd, 0xbd, 0xaa, 0xf6, 0xb5, 0x93, 0x4a, 0x86, + 0xf4, 0xa4, 0x33, 0x5b, 0x9a, 0x9b, 0xdb, 0xbe, 0x2f, 0xb1, 0xd2, 0xce, + 0x82, 0x2c, 0x3e, 0xa1, 0x95, 0xe7, 0x42, 0x9d, 0x9a, 0x51, 0x51, 0xfc, + 0x42, 0x39, 0x2a, 0xfc, 0x2c, 0x5f, 0xc8, 0xdd, 0xe9, 0xde, 0xd0, 0x53, + 0x4b, 0xff, 0xdf, 0x00, 0x4f, 0x48, 0xee, 0x4a, 0x0f, 0x4b, 0xd9, 0x47, + 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __menu_verbose_png_len = 4116; +unsigned char __menu_verbose_disabled_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, + 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x0a, 0x4f, 0x69, 0x43, + 0x43, 0x50, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x73, 0x68, 0x6f, 0x70, 0x20, + 0x49, 0x43, 0x43, 0x20, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x00, + 0x00, 0x78, 0xda, 0x9d, 0x53, 0x67, 0x54, 0x53, 0xe9, 0x16, 0x3d, 0xf7, + 0xde, 0xf4, 0x42, 0x4b, 0x88, 0x80, 0x94, 0x4b, 0x6f, 0x52, 0x15, 0x08, + 0x20, 0x52, 0x42, 0x8b, 0x80, 0x14, 0x91, 0x26, 0x2a, 0x21, 0x09, 0x10, + 0x4a, 0x88, 0x21, 0xa1, 0xd9, 0x15, 0x51, 0xc1, 0x11, 0x45, 0x45, 0x04, + 0x1b, 0xc8, 0xa0, 0x88, 0x03, 0x8e, 0x8e, 0x80, 0x8c, 0x15, 0x51, 0x2c, + 0x0c, 0x8a, 0x0a, 0xd8, 0x07, 0xe4, 0x21, 0xa2, 0x8e, 0x83, 0xa3, 0x88, + 0x8a, 0xca, 0xfb, 0xe1, 0x7b, 0xa3, 0x6b, 0xd6, 0xbc, 0xf7, 0xe6, 0xcd, + 0xfe, 0xb5, 0xd7, 0x3e, 0xe7, 0xac, 0xf3, 0x9d, 0xb3, 0xcf, 0x07, 0xc0, + 0x08, 0x0c, 0x96, 0x48, 0x33, 0x51, 0x35, 0x80, 0x0c, 0xa9, 0x42, 0x1e, + 0x11, 0xe0, 0x83, 0xc7, 0xc4, 0xc6, 0xe1, 0xe4, 0x2e, 0x40, 0x81, 0x0a, + 0x24, 0x70, 0x00, 0x10, 0x08, 0xb3, 0x64, 0x21, 0x73, 0xfd, 0x23, 0x01, + 0x00, 0xf8, 0x7e, 0x3c, 0x3c, 0x2b, 0x22, 0xc0, 0x07, 0xbe, 0x00, 0x01, + 0x78, 0xd3, 0x0b, 0x08, 0x00, 0xc0, 0x4d, 0x9b, 0xc0, 0x30, 0x1c, 0x87, + 0xff, 0x0f, 0xea, 0x42, 0x99, 0x5c, 0x01, 0x80, 0x84, 0x01, 0xc0, 0x74, + 0x91, 0x38, 0x4b, 0x08, 0x80, 0x14, 0x00, 0x40, 0x7a, 0x8e, 0x42, 0xa6, + 0x00, 0x40, 0x46, 0x01, 0x80, 0x9d, 0x98, 0x26, 0x53, 0x00, 0xa0, 0x04, + 0x00, 0x60, 0xcb, 0x63, 0x62, 0xe3, 0x00, 0x50, 0x2d, 0x00, 0x60, 0x27, + 0x7f, 0xe6, 0xd3, 0x00, 0x80, 0x9d, 0xf8, 0x99, 0x7b, 0x01, 0x00, 0x5b, + 0x94, 0x21, 0x15, 0x01, 0xa0, 0x91, 0x00, 0x20, 0x13, 0x65, 0x88, 0x44, + 0x00, 0x68, 0x3b, 0x00, 0xac, 0xcf, 0x56, 0x8a, 0x45, 0x00, 0x58, 0x30, + 0x00, 0x14, 0x66, 0x4b, 0xc4, 0x39, 0x00, 0xd8, 0x2d, 0x00, 0x30, 0x49, + 0x57, 0x66, 0x48, 0x00, 0xb0, 0xb7, 0x00, 0xc0, 0xce, 0x10, 0x0b, 0xb2, + 0x00, 0x08, 0x0c, 0x00, 0x30, 0x51, 0x88, 0x85, 0x29, 0x00, 0x04, 0x7b, + 0x00, 0x60, 0xc8, 0x23, 0x23, 0x78, 0x00, 0x84, 0x99, 0x00, 0x14, 0x46, + 0xf2, 0x57, 0x3c, 0xf1, 0x2b, 0xae, 0x10, 0xe7, 0x2a, 0x00, 0x00, 0x78, + 0x99, 0xb2, 0x3c, 0xb9, 0x24, 0x39, 0x45, 0x81, 0x5b, 0x08, 0x2d, 0x71, + 0x07, 0x57, 0x57, 0x2e, 0x1e, 0x28, 0xce, 0x49, 0x17, 0x2b, 0x14, 0x36, + 0x61, 0x02, 0x61, 0x9a, 0x40, 0x2e, 0xc2, 0x79, 0x99, 0x19, 0x32, 0x81, + 0x34, 0x0f, 0xe0, 0xf3, 0xcc, 0x00, 0x00, 0xa0, 0x91, 0x15, 0x11, 0xe0, + 0x83, 0xf3, 0xfd, 0x78, 0xce, 0x0e, 0xae, 0xce, 0xce, 0x36, 0x8e, 0xb6, + 0x0e, 0x5f, 0x2d, 0xea, 0xbf, 0x06, 0xff, 0x22, 0x62, 0x62, 0xe3, 0xfe, + 0xe5, 0xcf, 0xab, 0x70, 0x40, 0x00, 0x00, 0xe1, 0x74, 0x7e, 0xd1, 0xfe, + 0x2c, 0x2f, 0xb3, 0x1a, 0x80, 0x3b, 0x06, 0x80, 0x6d, 0xfe, 0xa2, 0x25, + 0xee, 0x04, 0x68, 0x5e, 0x0b, 0xa0, 0x75, 0xf7, 0x8b, 0x66, 0xb2, 0x0f, + 0x40, 0xb5, 0x00, 0xa0, 0xe9, 0xda, 0x57, 0xf3, 0x70, 0xf8, 0x7e, 0x3c, + 0x3c, 0x45, 0xa1, 0x90, 0xb9, 0xd9, 0xd9, 0xe5, 0xe4, 0xe4, 0xd8, 0x4a, + 0xc4, 0x42, 0x5b, 0x61, 0xca, 0x57, 0x7d, 0xfe, 0x67, 0xc2, 0x5f, 0xc0, + 0x57, 0xfd, 0x6c, 0xf9, 0x7e, 0x3c, 0xfc, 0xf7, 0xf5, 0xe0, 0xbe, 0xe2, + 0x24, 0x81, 0x32, 0x5d, 0x81, 0x47, 0x04, 0xf8, 0xe0, 0xc2, 0xcc, 0xf4, + 0x4c, 0xa5, 0x1c, 0xcf, 0x92, 0x09, 0x84, 0x62, 0xdc, 0xe6, 0x8f, 0x47, + 0xfc, 0xb7, 0x0b, 0xff, 0xfc, 0x1d, 0xd3, 0x22, 0xc4, 0x49, 0x62, 0xb9, + 0x58, 0x2a, 0x14, 0xe3, 0x51, 0x12, 0x71, 0x8e, 0x44, 0x9a, 0x8c, 0xf3, + 0x32, 0xa5, 0x22, 0x89, 0x42, 0x92, 0x29, 0xc5, 0x25, 0xd2, 0xff, 0x64, + 0xe2, 0xdf, 0x2c, 0xfb, 0x03, 0x3e, 0xdf, 0x35, 0x00, 0xb0, 0x6a, 0x3e, + 0x01, 0x7b, 0x91, 0x2d, 0xa8, 0x5d, 0x63, 0x03, 0xf6, 0x4b, 0x27, 0x10, + 0x58, 0x74, 0xc0, 0xe2, 0xf7, 0x00, 0x00, 0xf2, 0xbb, 0x6f, 0xc1, 0xd4, + 0x28, 0x08, 0x03, 0x80, 0x68, 0x83, 0xe1, 0xcf, 0x77, 0xff, 0xef, 0x3f, + 0xfd, 0x47, 0xa0, 0x25, 0x00, 0x80, 0x66, 0x49, 0x92, 0x71, 0x00, 0x00, + 0x5e, 0x44, 0x24, 0x2e, 0x54, 0xca, 0xb3, 0x3f, 0xc7, 0x08, 0x00, 0x00, + 0x44, 0xa0, 0x81, 0x2a, 0xb0, 0x41, 0x1b, 0xf4, 0xc1, 0x18, 0x2c, 0xc0, + 0x06, 0x1c, 0xc1, 0x05, 0xdc, 0xc1, 0x0b, 0xfc, 0x60, 0x36, 0x84, 0x42, + 0x24, 0xc4, 0xc2, 0x42, 0x10, 0x42, 0x0a, 0x64, 0x80, 0x1c, 0x72, 0x60, + 0x29, 0xac, 0x82, 0x42, 0x28, 0x86, 0xcd, 0xb0, 0x1d, 0x2a, 0x60, 0x2f, + 0xd4, 0x40, 0x1d, 0x34, 0xc0, 0x51, 0x68, 0x86, 0x93, 0x70, 0x0e, 0x2e, + 0xc2, 0x55, 0xb8, 0x0e, 0x3d, 0x70, 0x0f, 0xfa, 0x61, 0x08, 0x9e, 0xc1, + 0x28, 0xbc, 0x81, 0x09, 0x04, 0x41, 0xc8, 0x08, 0x13, 0x61, 0x21, 0xda, + 0x88, 0x01, 0x62, 0x8a, 0x58, 0x23, 0x8e, 0x08, 0x17, 0x99, 0x85, 0xf8, + 0x21, 0xc1, 0x48, 0x04, 0x12, 0x8b, 0x24, 0x20, 0xc9, 0x88, 0x14, 0x51, + 0x22, 0x4b, 0x91, 0x35, 0x48, 0x31, 0x52, 0x8a, 0x54, 0x20, 0x55, 0x48, + 0x1d, 0xf2, 0x3d, 0x72, 0x02, 0x39, 0x87, 0x5c, 0x46, 0xba, 0x91, 0x3b, + 0xc8, 0x00, 0x32, 0x82, 0xfc, 0x86, 0xbc, 0x47, 0x31, 0x94, 0x81, 0xb2, + 0x51, 0x3d, 0xd4, 0x0c, 0xb5, 0x43, 0xb9, 0xa8, 0x37, 0x1a, 0x84, 0x46, + 0xa2, 0x0b, 0xd0, 0x64, 0x74, 0x31, 0x9a, 0x8f, 0x16, 0xa0, 0x9b, 0xd0, + 0x72, 0xb4, 0x1a, 0x3d, 0x8c, 0x36, 0xa1, 0xe7, 0xd0, 0xab, 0x68, 0x0f, + 0xda, 0x8f, 0x3e, 0x43, 0xc7, 0x30, 0xc0, 0xe8, 0x18, 0x07, 0x33, 0xc4, + 0x6c, 0x30, 0x2e, 0xc6, 0xc3, 0x42, 0xb1, 0x38, 0x2c, 0x09, 0x93, 0x63, + 0xcb, 0xb1, 0x22, 0xac, 0x0c, 0xab, 0xc6, 0x1a, 0xb0, 0x56, 0xac, 0x03, + 0xbb, 0x89, 0xf5, 0x63, 0xcf, 0xb1, 0x77, 0x04, 0x12, 0x81, 0x45, 0xc0, + 0x09, 0x36, 0x04, 0x77, 0x42, 0x20, 0x61, 0x1e, 0x41, 0x48, 0x58, 0x4c, + 0x58, 0x4e, 0xd8, 0x48, 0xa8, 0x20, 0x1c, 0x24, 0x34, 0x11, 0xda, 0x09, + 0x37, 0x09, 0x03, 0x84, 0x51, 0xc2, 0x27, 0x22, 0x93, 0xa8, 0x4b, 0xb4, + 0x26, 0xba, 0x11, 0xf9, 0xc4, 0x18, 0x62, 0x32, 0x31, 0x87, 0x58, 0x48, + 0x2c, 0x23, 0xd6, 0x12, 0x8f, 0x13, 0x2f, 0x10, 0x7b, 0x88, 0x43, 0xc4, + 0x37, 0x24, 0x12, 0x89, 0x43, 0x32, 0x27, 0xb9, 0x90, 0x02, 0x49, 0xb1, + 0xa4, 0x54, 0xd2, 0x12, 0xd2, 0x46, 0xd2, 0x6e, 0x52, 0x23, 0xe9, 0x2c, + 0xa9, 0x9b, 0x34, 0x48, 0x1a, 0x23, 0x93, 0xc9, 0xda, 0x64, 0x6b, 0xb2, + 0x07, 0x39, 0x94, 0x2c, 0x20, 0x2b, 0xc8, 0x85, 0xe4, 0x9d, 0xe4, 0xc3, + 0xe4, 0x33, 0xe4, 0x1b, 0xe4, 0x21, 0xf2, 0x5b, 0x0a, 0x9d, 0x62, 0x40, + 0x71, 0xa4, 0xf8, 0x53, 0xe2, 0x28, 0x52, 0xca, 0x6a, 0x4a, 0x19, 0xe5, + 0x10, 0xe5, 0x34, 0xe5, 0x06, 0x65, 0x98, 0x32, 0x41, 0x55, 0xa3, 0x9a, + 0x52, 0xdd, 0xa8, 0xa1, 0x54, 0x11, 0x35, 0x8f, 0x5a, 0x42, 0xad, 0xa1, + 0xb6, 0x52, 0xaf, 0x51, 0x87, 0xa8, 0x13, 0x34, 0x75, 0x9a, 0x39, 0xcd, + 0x83, 0x16, 0x49, 0x4b, 0xa5, 0xad, 0xa2, 0x95, 0xd3, 0x1a, 0x68, 0x17, + 0x68, 0xf7, 0x69, 0xaf, 0xe8, 0x74, 0xba, 0x11, 0xdd, 0x95, 0x1e, 0x4e, + 0x97, 0xd0, 0x57, 0xd2, 0xcb, 0xe9, 0x47, 0xe8, 0x97, 0xe8, 0x03, 0xf4, + 0x77, 0x0c, 0x0d, 0x86, 0x15, 0x83, 0xc7, 0x88, 0x67, 0x28, 0x19, 0x9b, + 0x18, 0x07, 0x18, 0x67, 0x19, 0x77, 0x18, 0xaf, 0x98, 0x4c, 0xa6, 0x19, + 0xd3, 0x8b, 0x19, 0xc7, 0x54, 0x30, 0x37, 0x31, 0xeb, 0x98, 0xe7, 0x99, + 0x0f, 0x99, 0x6f, 0x55, 0x58, 0x2a, 0xb6, 0x2a, 0x7c, 0x15, 0x91, 0xca, + 0x0a, 0x95, 0x4a, 0x95, 0x26, 0x95, 0x1b, 0x2a, 0x2f, 0x54, 0xa9, 0xaa, + 0xa6, 0xaa, 0xde, 0xaa, 0x0b, 0x55, 0xf3, 0x55, 0xcb, 0x54, 0x8f, 0xa9, + 0x5e, 0x53, 0x7d, 0xae, 0x46, 0x55, 0x33, 0x53, 0xe3, 0xa9, 0x09, 0xd4, + 0x96, 0xab, 0x55, 0xaa, 0x9d, 0x50, 0xeb, 0x53, 0x1b, 0x53, 0x67, 0xa9, + 0x3b, 0xa8, 0x87, 0xaa, 0x67, 0xa8, 0x6f, 0x54, 0x3f, 0xa4, 0x7e, 0x59, + 0xfd, 0x89, 0x06, 0x59, 0xc3, 0x4c, 0xc3, 0x4f, 0x43, 0xa4, 0x51, 0xa0, + 0xb1, 0x5f, 0xe3, 0xbc, 0xc6, 0x20, 0x0b, 0x63, 0x19, 0xb3, 0x78, 0x2c, + 0x21, 0x6b, 0x0d, 0xab, 0x86, 0x75, 0x81, 0x35, 0xc4, 0x26, 0xb1, 0xcd, + 0xd9, 0x7c, 0x76, 0x2a, 0xbb, 0x98, 0xfd, 0x1d, 0xbb, 0x8b, 0x3d, 0xaa, + 0xa9, 0xa1, 0x39, 0x43, 0x33, 0x4a, 0x33, 0x57, 0xb3, 0x52, 0xf3, 0x94, + 0x66, 0x3f, 0x07, 0xe3, 0x98, 0x71, 0xf8, 0x9c, 0x74, 0x4e, 0x09, 0xe7, + 0x28, 0xa7, 0x97, 0xf3, 0x7e, 0x8a, 0xde, 0x14, 0xef, 0x29, 0xe2, 0x29, + 0x1b, 0xa6, 0x34, 0x4c, 0xb9, 0x31, 0x65, 0x5c, 0x6b, 0xaa, 0x96, 0x97, + 0x96, 0x58, 0xab, 0x48, 0xab, 0x51, 0xab, 0x47, 0xeb, 0xbd, 0x36, 0xae, + 0xed, 0xa7, 0x9d, 0xa6, 0xbd, 0x45, 0xbb, 0x59, 0xfb, 0x81, 0x0e, 0x41, + 0xc7, 0x4a, 0x27, 0x5c, 0x27, 0x47, 0x67, 0x8f, 0xce, 0x05, 0x9d, 0xe7, + 0x53, 0xd9, 0x53, 0xdd, 0xa7, 0x0a, 0xa7, 0x16, 0x4d, 0x3d, 0x3a, 0xf5, + 0xae, 0x2e, 0xaa, 0x6b, 0xa5, 0x1b, 0xa1, 0xbb, 0x44, 0x77, 0xbf, 0x6e, + 0xa7, 0xee, 0x98, 0x9e, 0xbe, 0x5e, 0x80, 0x9e, 0x4c, 0x6f, 0xa7, 0xde, + 0x79, 0xbd, 0xe7, 0xfa, 0x1c, 0x7d, 0x2f, 0xfd, 0x54, 0xfd, 0x6d, 0xfa, + 0xa7, 0xf5, 0x47, 0x0c, 0x58, 0x06, 0xb3, 0x0c, 0x24, 0x06, 0xdb, 0x0c, + 0xce, 0x18, 0x3c, 0xc5, 0x35, 0x71, 0x6f, 0x3c, 0x1d, 0x2f, 0xc7, 0xdb, + 0xf1, 0x51, 0x43, 0x5d, 0xc3, 0x40, 0x43, 0xa5, 0x61, 0x95, 0x61, 0x97, + 0xe1, 0x84, 0x91, 0xb9, 0xd1, 0x3c, 0xa3, 0xd5, 0x46, 0x8d, 0x46, 0x0f, + 0x8c, 0x69, 0xc6, 0x5c, 0xe3, 0x24, 0xe3, 0x6d, 0xc6, 0x6d, 0xc6, 0xa3, + 0x26, 0x06, 0x26, 0x21, 0x26, 0x4b, 0x4d, 0xea, 0x4d, 0xee, 0x9a, 0x52, + 0x4d, 0xb9, 0xa6, 0x29, 0xa6, 0x3b, 0x4c, 0x3b, 0x4c, 0xc7, 0xcd, 0xcc, + 0xcd, 0xa2, 0xcd, 0xd6, 0x99, 0x35, 0x9b, 0x3d, 0x31, 0xd7, 0x32, 0xe7, + 0x9b, 0xe7, 0x9b, 0xd7, 0x9b, 0xdf, 0xb7, 0x60, 0x5a, 0x78, 0x5a, 0x2c, + 0xb6, 0xa8, 0xb6, 0xb8, 0x65, 0x49, 0xb2, 0xe4, 0x5a, 0xa6, 0x59, 0xee, + 0xb6, 0xbc, 0x6e, 0x85, 0x5a, 0x39, 0x59, 0xa5, 0x58, 0x55, 0x5a, 0x5d, + 0xb3, 0x46, 0xad, 0x9d, 0xad, 0x25, 0xd6, 0xbb, 0xad, 0xbb, 0xa7, 0x11, + 0xa7, 0xb9, 0x4e, 0x93, 0x4e, 0xab, 0x9e, 0xd6, 0x67, 0xc3, 0xb0, 0xf1, + 0xb6, 0xc9, 0xb6, 0xa9, 0xb7, 0x19, 0xb0, 0xe5, 0xd8, 0x06, 0xdb, 0xae, + 0xb6, 0x6d, 0xb6, 0x7d, 0x61, 0x67, 0x62, 0x17, 0x67, 0xb7, 0xc5, 0xae, + 0xc3, 0xee, 0x93, 0xbd, 0x93, 0x7d, 0xba, 0x7d, 0x8d, 0xfd, 0x3d, 0x07, + 0x0d, 0x87, 0xd9, 0x0e, 0xab, 0x1d, 0x5a, 0x1d, 0x7e, 0x73, 0xb4, 0x72, + 0x14, 0x3a, 0x56, 0x3a, 0xde, 0x9a, 0xce, 0x9c, 0xee, 0x3f, 0x7d, 0xc5, + 0xf4, 0x96, 0xe9, 0x2f, 0x67, 0x58, 0xcf, 0x10, 0xcf, 0xd8, 0x33, 0xe3, + 0xb6, 0x13, 0xcb, 0x29, 0xc4, 0x69, 0x9d, 0x53, 0x9b, 0xd3, 0x47, 0x67, + 0x17, 0x67, 0xb9, 0x73, 0x83, 0xf3, 0x88, 0x8b, 0x89, 0x4b, 0x82, 0xcb, + 0x2e, 0x97, 0x3e, 0x2e, 0x9b, 0x1b, 0xc6, 0xdd, 0xc8, 0xbd, 0xe4, 0x4a, + 0x74, 0xf5, 0x71, 0x5d, 0xe1, 0x7a, 0xd2, 0xf5, 0x9d, 0x9b, 0xb3, 0x9b, + 0xc2, 0xed, 0xa8, 0xdb, 0xaf, 0xee, 0x36, 0xee, 0x69, 0xee, 0x87, 0xdc, + 0x9f, 0xcc, 0x34, 0x9f, 0x29, 0x9e, 0x59, 0x33, 0x73, 0xd0, 0xc3, 0xc8, + 0x43, 0xe0, 0x51, 0xe5, 0xd1, 0x3f, 0x0b, 0x9f, 0x95, 0x30, 0x6b, 0xdf, + 0xac, 0x7e, 0x4f, 0x43, 0x4f, 0x81, 0x67, 0xb5, 0xe7, 0x23, 0x2f, 0x63, + 0x2f, 0x91, 0x57, 0xad, 0xd7, 0xb0, 0xb7, 0xa5, 0x77, 0xaa, 0xf7, 0x61, + 0xef, 0x17, 0x3e, 0xf6, 0x3e, 0x72, 0x9f, 0xe3, 0x3e, 0xe3, 0x3c, 0x37, + 0xde, 0x32, 0xde, 0x59, 0x5f, 0xcc, 0x37, 0xc0, 0xb7, 0xc8, 0xb7, 0xcb, + 0x4f, 0xc3, 0x6f, 0x9e, 0x5f, 0x85, 0xdf, 0x43, 0x7f, 0x23, 0xff, 0x64, + 0xff, 0x7a, 0xff, 0xd1, 0x00, 0xa7, 0x80, 0x25, 0x01, 0x67, 0x03, 0x89, + 0x81, 0x41, 0x81, 0x5b, 0x02, 0xfb, 0xf8, 0x7a, 0x7c, 0x21, 0xbf, 0x8e, + 0x3f, 0x3a, 0xdb, 0x65, 0xf6, 0xb2, 0xd9, 0xed, 0x41, 0x8c, 0xa0, 0xb9, + 0x41, 0x15, 0x41, 0x8f, 0x82, 0xad, 0x82, 0xe5, 0xc1, 0xad, 0x21, 0x68, + 0xc8, 0xec, 0x90, 0xad, 0x21, 0xf7, 0xe7, 0x98, 0xce, 0x91, 0xce, 0x69, + 0x0e, 0x85, 0x50, 0x7e, 0xe8, 0xd6, 0xd0, 0x07, 0x61, 0xe6, 0x61, 0x8b, + 0xc3, 0x7e, 0x0c, 0x27, 0x85, 0x87, 0x85, 0x57, 0x86, 0x3f, 0x8e, 0x70, + 0x88, 0x58, 0x1a, 0xd1, 0x31, 0x97, 0x35, 0x77, 0xd1, 0xdc, 0x43, 0x73, + 0xdf, 0x44, 0xfa, 0x44, 0x96, 0x44, 0xde, 0x9b, 0x67, 0x31, 0x4f, 0x39, + 0xaf, 0x2d, 0x4a, 0x35, 0x2a, 0x3e, 0xaa, 0x2e, 0x6a, 0x3c, 0xda, 0x37, + 0xba, 0x34, 0xba, 0x3f, 0xc6, 0x2e, 0x66, 0x59, 0xcc, 0xd5, 0x58, 0x9d, + 0x58, 0x49, 0x6c, 0x4b, 0x1c, 0x39, 0x2e, 0x2a, 0xae, 0x36, 0x6e, 0x6c, + 0xbe, 0xdf, 0xfc, 0xed, 0xf3, 0x87, 0xe2, 0x9d, 0xe2, 0x0b, 0xe3, 0x7b, + 0x17, 0x98, 0x2f, 0xc8, 0x5d, 0x70, 0x79, 0xa1, 0xce, 0xc2, 0xf4, 0x85, + 0xa7, 0x16, 0xa9, 0x2e, 0x12, 0x2c, 0x3a, 0x96, 0x40, 0x4c, 0x88, 0x4e, + 0x38, 0x94, 0xf0, 0x41, 0x10, 0x2a, 0xa8, 0x16, 0x8c, 0x25, 0xf2, 0x13, + 0x77, 0x25, 0x8e, 0x0a, 0x79, 0xc2, 0x1d, 0xc2, 0x67, 0x22, 0x2f, 0xd1, + 0x36, 0xd1, 0x88, 0xd8, 0x43, 0x5c, 0x2a, 0x1e, 0x4e, 0xf2, 0x48, 0x2a, + 0x4d, 0x7a, 0x92, 0xec, 0x91, 0xbc, 0x35, 0x79, 0x24, 0xc5, 0x33, 0xa5, + 0x2c, 0xe5, 0xb9, 0x84, 0x27, 0xa9, 0x90, 0xbc, 0x4c, 0x0d, 0x4c, 0xdd, + 0x9b, 0x3a, 0x9e, 0x16, 0x9a, 0x76, 0x20, 0x6d, 0x32, 0x3d, 0x3a, 0xbd, + 0x31, 0x83, 0x92, 0x91, 0x90, 0x71, 0x42, 0xaa, 0x21, 0x4d, 0x93, 0xb6, + 0x67, 0xea, 0x67, 0xe6, 0x66, 0x76, 0xcb, 0xac, 0x65, 0x85, 0xb2, 0xfe, + 0xc5, 0x6e, 0x8b, 0xb7, 0x2f, 0x1e, 0x95, 0x07, 0xc9, 0x6b, 0xb3, 0x90, + 0xac, 0x05, 0x59, 0x2d, 0x0a, 0xb6, 0x42, 0xa6, 0xe8, 0x54, 0x5a, 0x28, + 0xd7, 0x2a, 0x07, 0xb2, 0x67, 0x65, 0x57, 0x66, 0xbf, 0xcd, 0x89, 0xca, + 0x39, 0x96, 0xab, 0x9e, 0x2b, 0xcd, 0xed, 0xcc, 0xb3, 0xca, 0xdb, 0x90, + 0x37, 0x9c, 0xef, 0x9f, 0xff, 0xed, 0x12, 0xc2, 0x12, 0xe1, 0x92, 0xb6, + 0xa5, 0x86, 0x4b, 0x57, 0x2d, 0x1d, 0x58, 0xe6, 0xbd, 0xac, 0x6a, 0x39, + 0xb2, 0x3c, 0x71, 0x79, 0xdb, 0x0a, 0xe3, 0x15, 0x05, 0x2b, 0x86, 0x56, + 0x06, 0xac, 0x3c, 0xb8, 0x8a, 0xb6, 0x2a, 0x6d, 0xd5, 0x4f, 0xab, 0xed, + 0x57, 0x97, 0xae, 0x7e, 0xbd, 0x26, 0x7a, 0x4d, 0x6b, 0x81, 0x5e, 0xc1, + 0xca, 0x82, 0xc1, 0xb5, 0x01, 0x6b, 0xeb, 0x0b, 0x55, 0x0a, 0xe5, 0x85, + 0x7d, 0xeb, 0xdc, 0xd7, 0xed, 0x5d, 0x4f, 0x58, 0x2f, 0x59, 0xdf, 0xb5, + 0x61, 0xfa, 0x86, 0x9d, 0x1b, 0x3e, 0x15, 0x89, 0x8a, 0xae, 0x14, 0xdb, + 0x17, 0x97, 0x15, 0x7f, 0xd8, 0x28, 0xdc, 0x78, 0xe5, 0x1b, 0x87, 0x6f, + 0xca, 0xbf, 0x99, 0xdc, 0x94, 0xb4, 0xa9, 0xab, 0xc4, 0xb9, 0x64, 0xcf, + 0x66, 0xd2, 0x66, 0xe9, 0xe6, 0xde, 0x2d, 0x9e, 0x5b, 0x0e, 0x96, 0xaa, + 0x97, 0xe6, 0x97, 0x0e, 0x6e, 0x0d, 0xd9, 0xda, 0xb4, 0x0d, 0xdf, 0x56, + 0xb4, 0xed, 0xf5, 0xf6, 0x45, 0xdb, 0x2f, 0x97, 0xcd, 0x28, 0xdb, 0xbb, + 0x83, 0xb6, 0x43, 0xb9, 0xa3, 0xbf, 0x3c, 0xb8, 0xbc, 0x65, 0xa7, 0xc9, + 0xce, 0xcd, 0x3b, 0x3f, 0x54, 0xa4, 0x54, 0xf4, 0x54, 0xfa, 0x54, 0x36, + 0xee, 0xd2, 0xdd, 0xb5, 0x61, 0xd7, 0xf8, 0x6e, 0xd1, 0xee, 0x1b, 0x7b, + 0xbc, 0xf6, 0x34, 0xec, 0xd5, 0xdb, 0x5b, 0xbc, 0xf7, 0xfd, 0x3e, 0xc9, + 0xbe, 0xdb, 0x55, 0x01, 0x55, 0x4d, 0xd5, 0x66, 0xd5, 0x65, 0xfb, 0x49, + 0xfb, 0xb3, 0xf7, 0x3f, 0xae, 0x89, 0xaa, 0xe9, 0xf8, 0x96, 0xfb, 0x6d, + 0x5d, 0xad, 0x4e, 0x6d, 0x71, 0xed, 0xc7, 0x03, 0xd2, 0x03, 0xfd, 0x07, + 0x23, 0x0e, 0xb6, 0xd7, 0xb9, 0xd4, 0xd5, 0x1d, 0xd2, 0x3d, 0x54, 0x52, + 0x8f, 0xd6, 0x2b, 0xeb, 0x47, 0x0e, 0xc7, 0x1f, 0xbe, 0xfe, 0x9d, 0xef, + 0x77, 0x2d, 0x0d, 0x36, 0x0d, 0x55, 0x8d, 0x9c, 0xc6, 0xe2, 0x23, 0x70, + 0x44, 0x79, 0xe4, 0xe9, 0xf7, 0x09, 0xdf, 0xf7, 0x1e, 0x0d, 0x3a, 0xda, + 0x76, 0x8c, 0x7b, 0xac, 0xe1, 0x07, 0xd3, 0x1f, 0x76, 0x1d, 0x67, 0x1d, + 0x2f, 0x6a, 0x42, 0x9a, 0xf2, 0x9a, 0x46, 0x9b, 0x53, 0x9a, 0xfb, 0x5b, + 0x62, 0x5b, 0xba, 0x4f, 0xcc, 0x3e, 0xd1, 0xd6, 0xea, 0xde, 0x7a, 0xfc, + 0x47, 0xdb, 0x1f, 0x0f, 0x9c, 0x34, 0x3c, 0x59, 0x79, 0x4a, 0xf3, 0x54, + 0xc9, 0x69, 0xda, 0xe9, 0x82, 0xd3, 0x93, 0x67, 0xf2, 0xcf, 0x8c, 0x9d, + 0x95, 0x9d, 0x7d, 0x7e, 0x2e, 0xf9, 0xdc, 0x60, 0xdb, 0xa2, 0xb6, 0x7b, + 0xe7, 0x63, 0xce, 0xdf, 0x6a, 0x0f, 0x6f, 0xef, 0xba, 0x10, 0x74, 0xe1, + 0xd2, 0x45, 0xff, 0x8b, 0xe7, 0x3b, 0xbc, 0x3b, 0xce, 0x5c, 0xf2, 0xb8, + 0x74, 0xf2, 0xb2, 0xdb, 0xe5, 0x13, 0x57, 0xb8, 0x57, 0x9a, 0xaf, 0x3a, + 0x5f, 0x6d, 0xea, 0x74, 0xea, 0x3c, 0xfe, 0x93, 0xd3, 0x4f, 0xc7, 0xbb, + 0x9c, 0xbb, 0x9a, 0xae, 0xb9, 0x5c, 0x6b, 0xb9, 0xee, 0x7a, 0xbd, 0xb5, + 0x7b, 0x66, 0xf7, 0xe9, 0x1b, 0x9e, 0x37, 0xce, 0xdd, 0xf4, 0xbd, 0x79, + 0xf1, 0x16, 0xff, 0xd6, 0xd5, 0x9e, 0x39, 0x3d, 0xdd, 0xbd, 0xf3, 0x7a, + 0x6f, 0xf7, 0xc5, 0xf7, 0xf5, 0xdf, 0x16, 0xdd, 0x7e, 0x72, 0x27, 0xfd, + 0xce, 0xcb, 0xbb, 0xd9, 0x77, 0x27, 0xee, 0xad, 0xbc, 0x4f, 0xbc, 0x5f, + 0xf4, 0x40, 0xed, 0x41, 0xd9, 0x43, 0xdd, 0x87, 0xd5, 0x3f, 0x5b, 0xfe, + 0xdc, 0xd8, 0xef, 0xdc, 0x7f, 0x6a, 0xc0, 0x77, 0xa0, 0xf3, 0xd1, 0xdc, + 0x47, 0xf7, 0x06, 0x85, 0x83, 0xcf, 0xfe, 0x91, 0xf5, 0x8f, 0x0f, 0x43, + 0x05, 0x8f, 0x99, 0x8f, 0xcb, 0x86, 0x0d, 0x86, 0xeb, 0x9e, 0x38, 0x3e, + 0x39, 0x39, 0xe2, 0x3f, 0x72, 0xfd, 0xe9, 0xfc, 0xa7, 0x43, 0xcf, 0x64, + 0xcf, 0x26, 0x9e, 0x17, 0xfe, 0xa2, 0xfe, 0xcb, 0xae, 0x17, 0x16, 0x2f, + 0x7e, 0xf8, 0xd5, 0xeb, 0xd7, 0xce, 0xd1, 0x98, 0xd1, 0xa1, 0x97, 0xf2, + 0x97, 0x93, 0xbf, 0x6d, 0x7c, 0xa5, 0xfd, 0xea, 0xc0, 0xeb, 0x19, 0xaf, + 0xdb, 0xc6, 0xc2, 0xc6, 0x1e, 0xbe, 0xc9, 0x78, 0x33, 0x31, 0x5e, 0xf4, + 0x56, 0xfb, 0xed, 0xc1, 0x77, 0xdc, 0x77, 0x1d, 0xef, 0xa3, 0xdf, 0x0f, + 0x4f, 0xe4, 0x7c, 0x20, 0x7f, 0x28, 0xff, 0x68, 0xf9, 0xb1, 0xf5, 0x53, + 0xd0, 0xa7, 0xfb, 0x93, 0x19, 0x93, 0x93, 0xff, 0x04, 0x03, 0x98, 0xf3, + 0xfc, 0x63, 0x33, 0x2d, 0xdb, 0x00, 0x00, 0x00, 0x20, 0x63, 0x48, 0x52, + 0x4d, 0x00, 0x00, 0x7a, 0x25, 0x00, 0x00, 0x80, 0x83, 0x00, 0x00, 0xf9, + 0xff, 0x00, 0x00, 0x80, 0xe9, 0x00, 0x00, 0x75, 0x30, 0x00, 0x00, 0xea, + 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00, 0x00, 0x17, 0x6f, 0x92, 0x5f, 0xc5, + 0x46, 0x00, 0x00, 0x05, 0x30, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x84, + 0x95, 0x4d, 0x6c, 0x94, 0xd7, 0x15, 0x86, 0x9f, 0x7b, 0xbf, 0x6f, 0x7e, + 0x3e, 0xcf, 0xd8, 0x63, 0x8f, 0x3d, 0xa3, 0xc1, 0xbf, 0x40, 0x82, 0x1d, + 0x11, 0x09, 0x11, 0x94, 0x26, 0x64, 0x2c, 0xaa, 0xc6, 0x69, 0x50, 0x64, + 0x09, 0xd2, 0x20, 0x42, 0xbb, 0x6a, 0x57, 0xa9, 0xba, 0xe8, 0xb2, 0x8b, + 0x76, 0x97, 0x2e, 0x2a, 0x55, 0xdd, 0x75, 0x51, 0x90, 0x52, 0xa9, 0x9b, + 0xb6, 0x12, 0x09, 0x15, 0x12, 0x51, 0xf3, 0xd3, 0x12, 0xec, 0x22, 0x81, + 0x4b, 0x12, 0x61, 0x99, 0x92, 0x28, 0x72, 0xed, 0x12, 0x8c, 0xed, 0xd4, + 0x01, 0xe3, 0x1f, 0x66, 0x98, 0xbf, 0xef, 0xde, 0x7b, 0xba, 0x18, 0x66, + 0x6c, 0xd7, 0x10, 0x8e, 0xf4, 0x2e, 0xcf, 0x7d, 0xcf, 0x7b, 0xde, 0x73, + 0xee, 0x51, 0x22, 0xc2, 0xd4, 0xe7, 0xd3, 0x3f, 0xcc, 0x65, 0xbb, 0xd2, + 0x80, 0x53, 0x6c, 0x0f, 0x01, 0x9c, 0x73, 0x88, 0x73, 0x08, 0xe8, 0xaf, + 0xef, 0xac, 0x14, 0x8b, 0xa5, 0xd2, 0xbb, 0xa5, 0x4a, 0xe5, 0xb6, 0x73, + 0x8e, 0xa8, 0xef, 0x23, 0x0f, 0xc9, 0x3b, 0xfc, 0xed, 0x17, 0xf0, 0x01, + 0xda, 0x5a, 0x93, 0xc9, 0x5c, 0xa6, 0xb3, 0x9d, 0xc7, 0x84, 0xb1, 0x16, + 0x71, 0x42, 0x3c, 0x1e, 0x6b, 0x5f, 0x5b, 0x2f, 0xbc, 0x3a, 0x7b, 0xf3, + 0xd6, 0x69, 0x11, 0x29, 0x7c, 0x53, 0x8e, 0x06, 0x50, 0xe0, 0x78, 0x50, + 0xe5, 0x37, 0x41, 0x01, 0x4e, 0x04, 0xad, 0x35, 0x5d, 0xe9, 0xf6, 0x9e, + 0xbd, 0x7b, 0x9e, 0x38, 0x06, 0x44, 0x9d, 0x73, 0x00, 0x28, 0xa5, 0x50, + 0x8a, 0x26, 0x80, 0xba, 0x82, 0x26, 0x9b, 0xd6, 0x8f, 0x13, 0x81, 0x00, + 0x9e, 0xd2, 0x58, 0x71, 0xf4, 0xf7, 0xe4, 0x76, 0x09, 0x72, 0x6c, 0x6e, + 0xe1, 0xab, 0xd3, 0xa5, 0x72, 0x15, 0xeb, 0x0c, 0x0a, 0xb5, 0x5d, 0x41, + 0x23, 0x1e, 0xa7, 0xc0, 0x5a, 0x8b, 0x52, 0x0a, 0xcf, 0xf3, 0x28, 0x95, + 0x2a, 0xac, 0xae, 0xdf, 0x23, 0x9d, 0x4a, 0x3d, 0x95, 0xed, 0x4c, 0x1f, + 0xb3, 0xd6, 0x52, 0xab, 0x19, 0x6a, 0xe1, 0x06, 0x36, 0x5a, 0xa4, 0x55, + 0x53, 0x41, 0xa5, 0x52, 0x61, 0x66, 0x66, 0x06, 0xad, 0xf5, 0x16, 0x54, + 0x2a, 0x15, 0x66, 0x67, 0x67, 0xb1, 0xc6, 0x10, 0x8b, 0x45, 0x48, 0xb4, + 0xc4, 0xa9, 0xd6, 0x42, 0xd6, 0x0b, 0x45, 0x22, 0x91, 0xc8, 0xbe, 0x68, + 0x24, 0xf2, 0x32, 0xc8, 0xb6, 0x16, 0x6d, 0x53, 0x10, 0x8f, 0xc7, 0x39, + 0x79, 0xf2, 0x77, 0x5c, 0xba, 0x74, 0x69, 0x4b, 0xf5, 0x6f, 0xbf, 0x7d, + 0x9a, 0x8f, 0x3e, 0x3a, 0x8f, 0xd2, 0x1a, 0x11, 0x88, 0x45, 0xa3, 0x04, + 0xf1, 0x18, 0xf1, 0x78, 0x8c, 0x64, 0x32, 0x49, 0x4b, 0x4b, 0x90, 0x15, + 0x27, 0xf5, 0x1e, 0x36, 0xf0, 0xff, 0x04, 0x8d, 0x6a, 0xf3, 0xf9, 0x61, + 0xae, 0x5c, 0xf9, 0xe7, 0x96, 0xea, 0xa7, 0xa6, 0xa6, 0xc8, 0xe7, 0x87, + 0xd1, 0x5a, 0xd7, 0x47, 0x56, 0x04, 0xf7, 0x00, 0x22, 0xf5, 0x19, 0xa9, + 0x97, 0xce, 0x06, 0x1e, 0xe5, 0xc1, 0xc8, 0xc8, 0x08, 0xd3, 0xd3, 0xd3, + 0xdc, 0xb9, 0x73, 0x07, 0xe7, 0x1c, 0x93, 0x93, 0x93, 0x04, 0x41, 0xc0, + 0xbe, 0x7d, 0xfb, 0x10, 0x57, 0x2f, 0xaf, 0xfe, 0xb0, 0x80, 0x08, 0x22, + 0x3c, 0x74, 0x0f, 0x1e, 0xa9, 0x20, 0x93, 0xc9, 0xd0, 0xd7, 0xd7, 0xc7, + 0xd8, 0xd8, 0x18, 0x5a, 0x6b, 0xc6, 0xc6, 0x2e, 0x30, 0x3c, 0x3c, 0x8c, + 0xe7, 0x79, 0x38, 0x71, 0x88, 0x6c, 0x8c, 0x54, 0x9d, 0x43, 0x9a, 0x8a, + 0x1e, 0xea, 0x41, 0x23, 0x61, 0x73, 0xcf, 0x47, 0x46, 0x5e, 0x62, 0x62, + 0xe2, 0x32, 0x73, 0x73, 0x73, 0xcc, 0xcf, 0xcf, 0x73, 0xf0, 0xe0, 0x0b, + 0x58, 0x6b, 0x11, 0x01, 0xcf, 0x2a, 0x22, 0x46, 0xa1, 0x8d, 0x25, 0x22, + 0x42, 0x52, 0x47, 0x69, 0xd1, 0x11, 0xda, 0xe3, 0x51, 0x3a, 0x5b, 0x22, + 0x74, 0xb6, 0xf8, 0x74, 0x06, 0xfe, 0xc6, 0x1e, 0x34, 0x1e, 0xdd, 0xbc, + 0x07, 0x07, 0x0e, 0x1c, 0xe0, 0xcc, 0x99, 0x77, 0x38, 0x75, 0xea, 0x24, + 0x83, 0x83, 0x43, 0xa4, 0xd3, 0x69, 0x3c, 0xcf, 0xa3, 0x56, 0xac, 0x70, + 0x71, 0xf1, 0x2a, 0x1f, 0xde, 0xfa, 0x84, 0xb9, 0xc2, 0x7f, 0xd1, 0x5a, + 0x33, 0xd8, 0xde, 0xcf, 0xcb, 0xdd, 0xcf, 0xf6, 0x3e, 0xdd, 0x31, 0x30, + 0x3a, 0xbf, 0xf4, 0xd5, 0x07, 0xa1, 0x0b, 0x45, 0x3d, 0x90, 0xd0, 0x24, + 0x68, 0x98, 0xd7, 0x88, 0x78, 0x3c, 0xce, 0xfe, 0xfd, 0xcf, 0x30, 0x31, + 0x71, 0x99, 0xa3, 0x47, 0x8f, 0xe2, 0x79, 0x1e, 0x4b, 0x5f, 0x2f, 0xf1, + 0xe6, 0xd5, 0xdf, 0x73, 0xf6, 0xe6, 0x65, 0x22, 0x7e, 0x94, 0x20, 0x12, + 0x03, 0x05, 0x13, 0xcb, 0x5f, 0xf0, 0xd6, 0xf4, 0xb9, 0xc4, 0x1b, 0x4f, + 0x1f, 0x79, 0xee, 0xa7, 0xbb, 0x5e, 0xeb, 0x58, 0x5c, 0x58, 0x7c, 0xc7, + 0x88, 0x0d, 0x37, 0x11, 0x08, 0xe5, 0x4a, 0x8d, 0x20, 0x1e, 0xdd, 0x62, + 0xd0, 0x89, 0xef, 0x9f, 0x20, 0x9f, 0xcf, 0x33, 0x34, 0x38, 0x44, 0xf5, + 0x7e, 0x85, 0x9f, 0x7d, 0xfa, 0x5b, 0xde, 0x5b, 0xfc, 0x94, 0xa1, 0x6c, + 0x2f, 0x81, 0x0f, 0xbe, 0x72, 0x58, 0xb1, 0xf8, 0xba, 0x95, 0xd1, 0x81, + 0xc3, 0x9c, 0xbc, 0xf6, 0x17, 0x2a, 0x84, 0x7b, 0x7e, 0xbe, 0xf3, 0x07, + 0xa3, 0x37, 0x17, 0x6f, 0x9d, 0x6b, 0x12, 0x58, 0x71, 0x18, 0x6b, 0x28, + 0x95, 0xea, 0xe3, 0x27, 0x38, 0x94, 0xf6, 0x50, 0xda, 0xa7, 0xbb, 0xb7, + 0x8f, 0xea, 0xbd, 0x2a, 0x7f, 0xfc, 0xcf, 0xfb, 0x7c, 0xb8, 0x74, 0x85, + 0x7c, 0xf7, 0x00, 0x29, 0xdf, 0x90, 0xf0, 0x15, 0x51, 0x0d, 0x25, 0x53, + 0xe1, 0xd8, 0x9e, 0xe3, 0x1c, 0xd9, 0xfd, 0x1a, 0xdd, 0xc9, 0x0c, 0x3f, + 0x1e, 0xfb, 0x25, 0x2f, 0xed, 0xf8, 0xd6, 0xde, 0xa1, 0x64, 0x76, 0x12, + 0x98, 0xd7, 0x8d, 0x16, 0x85, 0xc6, 0x62, 0x9c, 0xc5, 0x8a, 0xc3, 0x09, + 0x58, 0x6b, 0x09, 0x8d, 0xc1, 0x84, 0x96, 0x42, 0x58, 0xe6, 0xe3, 0x95, + 0xf3, 0x3c, 0x9f, 0x69, 0xa5, 0x37, 0x08, 0xc9, 0x05, 0x42, 0x2e, 0x08, + 0x48, 0xf8, 0x70, 0x68, 0xc7, 0x41, 0x8e, 0xec, 0xfe, 0x1e, 0xab, 0xd5, + 0x12, 0xe3, 0x73, 0xe7, 0xc9, 0x67, 0x02, 0x3e, 0x5e, 0x1d, 0x8b, 0xb5, + 0x75, 0x74, 0x1c, 0x68, 0x2a, 0x30, 0xc6, 0x11, 0x1a, 0x23, 0x22, 0xde, + 0xb6, 0x73, 0xe0, 0x8c, 0x63, 0xb9, 0xb2, 0x42, 0xca, 0x5f, 0x60, 0x57, + 0xd6, 0xb1, 0xab, 0xfd, 0x3b, 0x24, 0x22, 0x01, 0xff, 0x98, 0x3b, 0x43, + 0x6b, 0xa4, 0x8d, 0xd1, 0xdd, 0x27, 0x00, 0xc5, 0x5b, 0xd7, 0xff, 0x84, + 0x96, 0x05, 0x0e, 0xf7, 0x04, 0xac, 0x85, 0xb3, 0x48, 0xdc, 0xcf, 0x6c, + 0x31, 0x39, 0x0c, 0x8d, 0x72, 0xb2, 0x7d, 0x5d, 0x9c, 0x71, 0x38, 0x09, + 0xf1, 0x95, 0x21, 0x1b, 0x17, 0x5e, 0xec, 0x3f, 0x44, 0x2e, 0xf1, 0x14, + 0xbe, 0xb2, 0xb4, 0x45, 0x13, 0xe4, 0x92, 0x03, 0x5c, 0x5c, 0xfc, 0x17, + 0x37, 0xee, 0xbe, 0xcf, 0xce, 0xe4, 0x1a, 0x6d, 0x7e, 0x40, 0xd1, 0xc4, + 0xf0, 0x3c, 0xe5, 0x6d, 0x22, 0xb0, 0x18, 0x6b, 0xc5, 0x89, 0xa8, 0x8d, + 0x4f, 0xb9, 0x1e, 0xd6, 0x08, 0xad, 0x7e, 0x1b, 0xa9, 0x58, 0x27, 0xcb, + 0xf7, 0x27, 0xf9, 0x60, 0xe6, 0x4d, 0x5e, 0xdf, 0x7b, 0x8a, 0xd1, 0x27, + 0x7e, 0x84, 0x88, 0x63, 0xad, 0x5a, 0xe3, 0xdd, 0x99, 0xdf, 0xd0, 0x17, + 0x7c, 0x86, 0xb5, 0x86, 0xdb, 0xa5, 0x56, 0x3a, 0x12, 0x23, 0x78, 0x56, + 0x17, 0x9b, 0x8b, 0x66, 0xac, 0xa3, 0x56, 0x0b, 0x55, 0xb5, 0x5a, 0xa5, + 0x8e, 0x1a, 0xd5, 0x6a, 0x48, 0xb5, 0x16, 0x52, 0x33, 0x06, 0x5f, 0x02, + 0x9e, 0x4c, 0x1d, 0x64, 0xb9, 0xb2, 0xca, 0x8d, 0x95, 0x0b, 0xfc, 0xf9, + 0xfa, 0x1b, 0x14, 0x6a, 0x77, 0x51, 0x4a, 0x73, 0x76, 0xe6, 0x34, 0xb6, + 0xf6, 0x77, 0xb4, 0x12, 0x14, 0x1e, 0x77, 0xcb, 0xcb, 0x0c, 0xb6, 0xe7, + 0x09, 0x2b, 0xe1, 0x4c, 0x93, 0xc0, 0x39, 0xa7, 0x8c, 0x75, 0x18, 0x2b, + 0x75, 0x83, 0xa5, 0x7e, 0x1e, 0x8d, 0xb1, 0x38, 0x67, 0xb9, 0x57, 0x2a, + 0xf0, 0x5c, 0xe7, 0xab, 0x74, 0x26, 0x9e, 0x05, 0x3c, 0xe6, 0xd7, 0x2f, + 0x72, 0xe6, 0xf3, 0x9f, 0x30, 0x75, 0xfb, 0x33, 0xae, 0x2d, 0xfd, 0x81, + 0x4c, 0x3c, 0x8e, 0x13, 0x45, 0x29, 0x2c, 0xd0, 0xdb, 0x3e, 0xc2, 0xfe, + 0xd4, 0x77, 0x17, 0xd7, 0x8b, 0xab, 0x57, 0x37, 0xc6, 0xd4, 0x3a, 0x2f, + 0x34, 0xa6, 0x79, 0xf6, 0x36, 0x5d, 0x2f, 0x51, 0xa0, 0xac, 0xab, 0xa1, + 0x0b, 0x49, 0x8e, 0xef, 0xf9, 0x35, 0x7f, 0xbd, 0xf1, 0x0b, 0x96, 0x8b, + 0x9f, 0xf0, 0xe5, 0xda, 0x38, 0xff, 0x5e, 0xbd, 0x4e, 0xab, 0x2e, 0x11, + 0x3a, 0x47, 0xe8, 0x8a, 0xf4, 0x74, 0xbc, 0xc8, 0xd1, 0xdd, 0xbf, 0x2a, + 0x96, 0x57, 0xcb, 0xe3, 0xc6, 0x86, 0x16, 0x40, 0x89, 0x08, 0xef, 0x8d, + 0x5d, 0x3a, 0xe4, 0x7b, 0x5e, 0x82, 0x47, 0x7f, 0x8a, 0x58, 0xe7, 0xa4, + 0x3b, 0x9d, 0xf5, 0x77, 0xf4, 0xb7, 0x3c, 0x79, 0x6d, 0xed, 0x6c, 0x7a, + 0x66, 0xe5, 0x02, 0xc5, 0xea, 0x02, 0x5a, 0xf9, 0xb4, 0xc5, 0x7a, 0x18, + 0xea, 0x7a, 0x85, 0x67, 0xba, 0x8e, 0xdf, 0x2e, 0xaf, 0x84, 0xe3, 0xb9, + 0xde, 0xec, 0x17, 0x8d, 0x3c, 0x25, 0x22, 0x9c, 0xfb, 0xdb, 0xf8, 0x96, + 0x9b, 0xbb, 0x85, 0x46, 0x35, 0xbf, 0x76, 0x52, 0xc9, 0x80, 0x81, 0x6c, + 0x2e, 0xdd, 0xd1, 0xd1, 0xf5, 0xbc, 0x44, 0xaa, 0x3b, 0xca, 0xb2, 0x9e, + 0xd4, 0xca, 0x93, 0x40, 0xa7, 0x8a, 0x2a, 0x8c, 0x2e, 0xd6, 0xc2, 0xf2, + 0xe5, 0x52, 0xb9, 0x78, 0xbf, 0x7f, 0xe7, 0x40, 0x33, 0xfd, 0x7f, 0x03, + 0x00, 0x61, 0xb4, 0xec, 0x1a, 0xd6, 0xc7, 0x88, 0x36, 0x00, 0x00, 0x00, + 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __menu_verbose_disabled_png_len = 4101; +unsigned char __menu_video_info_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x05, 0xdb, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xb5, 0x96, 0xcb, 0x8f, + 0x9c, 0x57, 0x11, 0xc5, 0x7f, 0x75, 0xef, 0xfd, 0x1e, 0xfd, 0x9a, 0x9e, + 0x99, 0xf6, 0xbc, 0xfc, 0x20, 0xb1, 0x89, 0x91, 0x8c, 0x25, 0x4f, 0x30, + 0xc6, 0x04, 0xd9, 0x02, 0x02, 0x8a, 0xc9, 0x32, 0xe2, 0xb1, 0x42, 0xe2, + 0x8f, 0x60, 0xc1, 0x02, 0x05, 0xf1, 0x3f, 0xa0, 0x6c, 0x58, 0xb0, 0x83, + 0x15, 0x42, 0x02, 0x11, 0x56, 0x11, 0xb0, 0xb0, 0xc0, 0x66, 0x43, 0x64, + 0x88, 0xe3, 0x04, 0xa3, 0x71, 0x82, 0x87, 0x79, 0xf5, 0x74, 0xcf, 0x4c, + 0xf7, 0x7c, 0xdd, 0xdf, 0xe3, 0xde, 0x5b, 0x2c, 0x66, 0xc3, 0x02, 0xb1, + 0x4b, 0x6d, 0x4e, 0xad, 0xaa, 0xa4, 0x3a, 0x3a, 0xa7, 0x8e, 0xa8, 0x2a, + 0x9f, 0x64, 0xb9, 0xbd, 0xfd, 0xfd, 0x3b, 0x4f, 0x3f, 0x7c, 0xf2, 0xe3, + 0xd4, 0xb1, 0xef, 0x5c, 0xb2, 0x8f, 0xb2, 0xed, 0x92, 0x74, 0x38, 0x9f, + 0x97, 0xfb, 0x51, 0xd9, 0x3f, 0x99, 0x4c, 0x46, 0x83, 0xc1, 0xb9, 0xe3, + 0xbc, 0xd5, 0xaa, 0xd2, 0x34, 0x0d, 0x59, 0x96, 0x11, 0x63, 0xa4, 0xae, + 0x6b, 0xca, 0xf9, 0x1c, 0x44, 0x28, 0x8a, 0x82, 0x3c, 0xcf, 0xf1, 0xde, + 0x23, 0x22, 0x44, 0x55, 0x16, 0x7a, 0x3d, 0xaa, 0xaa, 0xc2, 0xe5, 0x89, + 0xb9, 0xf2, 0xce, 0xdf, 0xa6, 0xaf, 0x1d, 0xd5, 0x5d, 0x5e, 0x58, 0x37, + 0x6c, 0x0c, 0x72, 0x56, 0xfa, 0x19, 0x8b, 0xfd, 0x45, 0x16, 0x32, 0x5b, + 0x6d, 0x5c, 0xb8, 0x58, 0xa4, 0x96, 0x43, 0x2b, 0x66, 0x64, 0x9d, 0x3d, + 0xb0, 0xc6, 0x8e, 0x7c, 0x08, 0xbb, 0x95, 0x61, 0x97, 0xe0, 0x0f, 0x7c, + 0x8c, 0x43, 0x63, 0xe4, 0x10, 0xd5, 0x91, 0xaa, 0x9e, 0x00, 0x95, 0xaa, + 0x06, 0x11, 0x41, 0x44, 0x70, 0x42, 0xcc, 0xb6, 0xc6, 0x96, 0xf7, 0xc6, + 0xcb, 0xbc, 0x37, 0x4d, 0x59, 0x3a, 0x4a, 0xe8, 0x2e, 0xe6, 0x74, 0x7b, + 0x29, 0xb9, 0xd3, 0xcc, 0x56, 0x31, 0xeb, 0xd8, 0xb0, 0x7c, 0x61, 0x1d, + 0xba, 0x49, 0xa4, 0x2b, 0x91, 0x5e, 0xa2, 0x74, 0xac, 0xa3, 0x9d, 0xf5, + 0xc8, 0x8d, 0x6a, 0xa7, 0xd3, 0xa9, 0x89, 0x61, 0x1a, 0x7c, 0x33, 0x8e, + 0x21, 0x8c, 0x6a, 0x1f, 0x86, 0xf3, 0xf9, 0xfc, 0xa0, 0xae, 0xeb, 0x5f, + 0x38, 0x55, 0xb5, 0x69, 0x6a, 0x49, 0x73, 0x87, 0x73, 0x8e, 0xbc, 0xd3, + 0xa5, 0xbd, 0xd0, 0xa1, 0xd5, 0x6f, 0xa3, 0xd1, 0x32, 0xb7, 0x11, 0x33, + 0x30, 0x3c, 0x4b, 0x21, 0xf8, 0x80, 0xfa, 0x88, 0x96, 0x1e, 0xa2, 0xc7, + 0x85, 0x1a, 0x17, 0x83, 0xa4, 0xf8, 0x2c, 0xd3, 0x26, 0xcb, 0xb0, 0xe7, + 0x9c, 0x2f, 0xd9, 0x68, 0x59, 0x36, 0xe4, 0x84, 0x83, 0x83, 0x83, 0x47, + 0x0e, 0xd4, 0xa8, 0x38, 0x50, 0x83, 0x06, 0x43, 0x88, 0x06, 0x35, 0x86, + 0xa6, 0x51, 0x12, 0x17, 0x59, 0x5c, 0x31, 0x88, 0x01, 0x3c, 0x58, 0x2c, + 0x62, 0x2d, 0xb8, 0x04, 0x11, 0x50, 0x20, 0x46, 0x98, 0x47, 0x38, 0xd5, + 0xb3, 0xbe, 0x6c, 0x02, 0x73, 0x3d, 0x66, 0x3d, 0x1c, 0x8e, 0x3a, 0xed, + 0xf6, 0x96, 0x03, 0xac, 0xaa, 0x10, 0x82, 0xc1, 0xd7, 0x50, 0xcf, 0x15, + 0xc5, 0xa0, 0x02, 0x69, 0x57, 0x98, 0x9e, 0x46, 0x04, 0x70, 0x16, 0xac, + 0x08, 0x02, 0x20, 0x20, 0xf1, 0x0c, 0x15, 0x88, 0x2a, 0xc4, 0x18, 0xc1, + 0x03, 0xc1, 0xd0, 0xef, 0x2a, 0xb1, 0x6c, 0x46, 0xfb, 0xc3, 0xe1, 0x9e, + 0x53, 0x55, 0x13, 0xbd, 0xe2, 0x3d, 0xd4, 0x8d, 0x32, 0x9b, 0x06, 0xbc, + 0x57, 0xce, 0x0d, 0x2c, 0xc5, 0xa4, 0xa1, 0x98, 0x04, 0x8c, 0x3b, 0x23, + 0xcc, 0x1a, 0x83, 0x45, 0x31, 0x02, 0xd6, 0x19, 0x54, 0x84, 0xa6, 0x89, + 0xe0, 0x15, 0x27, 0x8a, 0x75, 0x06, 0x97, 0x58, 0x7a, 0x69, 0x40, 0x67, + 0x7a, 0xe0, 0x5c, 0x72, 0xe4, 0x62, 0x8c, 0xb6, 0xf1, 0xe0, 0x6b, 0xa5, + 0xd1, 0xc8, 0xe9, 0x49, 0x8d, 0x24, 0xe0, 0x72, 0x18, 0x3f, 0x9d, 0xa3, + 0x0a, 0x62, 0x04, 0x91, 0xb3, 0x13, 0xa4, 0x99, 0x23, 0xef, 0x38, 0xbc, + 0xf7, 0xf8, 0x46, 0x31, 0x06, 0x5a, 0x2d, 0x8b, 0x33, 0x82, 0xb1, 0xe0, + 0x25, 0xd0, 0xb1, 0x35, 0x31, 0xea, 0x30, 0xcb, 0xb2, 0x89, 0x0b, 0x21, + 0xd8, 0xa6, 0x89, 0x54, 0x75, 0x83, 0x34, 0xa0, 0x4e, 0xc8, 0xfb, 0x29, + 0x87, 0x3b, 0x25, 0x93, 0x71, 0x85, 0x4b, 0x04, 0x54, 0x50, 0x60, 0x79, + 0xbd, 0x85, 0x5b, 0x70, 0x14, 0xd3, 0x33, 0xb2, 0xad, 0x40, 0xcb, 0x42, + 0x55, 0x79, 0xaa, 0xa0, 0x08, 0x4a, 0xa3, 0x4a, 0x92, 0xd5, 0xd4, 0x4d, + 0x7d, 0x10, 0xa3, 0x4e, 0x9c, 0xaa, 0xba, 0xa6, 0x6e, 0xa8, 0xe7, 0x15, + 0xaa, 0x81, 0xde, 0xf9, 0x1e, 0x93, 0x69, 0x60, 0xfc, 0xbc, 0xc0, 0xcf, + 0x23, 0x3a, 0x8b, 0x58, 0x67, 0xb8, 0x70, 0xb5, 0x4f, 0x77, 0x90, 0x31, + 0x1e, 0x95, 0xd4, 0x55, 0xa4, 0xa9, 0x03, 0x36, 0x04, 0x82, 0x8d, 0x18, + 0x13, 0x21, 0x2a, 0xbe, 0xaa, 0x89, 0x3e, 0x90, 0xac, 0x54, 0xd8, 0x24, + 0xdb, 0x5e, 0xe9, 0x2e, 0x36, 0x2e, 0xc6, 0x68, 0xeb, 0xd9, 0x9c, 0xf2, + 0x64, 0x8c, 0x6d, 0xa7, 0xe0, 0x12, 0x3e, 0xfa, 0xfb, 0x11, 0xa8, 0x12, + 0x1b, 0x8f, 0xcb, 0x2c, 0x97, 0x5e, 0xea, 0x91, 0xf5, 0x12, 0xc6, 0xa3, + 0x92, 0x62, 0xea, 0xa9, 0x8b, 0x80, 0xaf, 0x3d, 0x59, 0x02, 0x35, 0x11, + 0xad, 0x6b, 0x74, 0x5e, 0xe3, 0x1b, 0x4f, 0xb7, 0x65, 0x48, 0xf1, 0xcc, + 0x9a, 0x66, 0x27, 0xb5, 0x09, 0x2e, 0x44, 0xb5, 0x4d, 0x31, 0x21, 0x4c, + 0x2b, 0x92, 0x85, 0x0b, 0xcc, 0x86, 0x13, 0x10, 0xc1, 0x24, 0x16, 0x9b, + 0x08, 0xbd, 0xc5, 0x0e, 0xa1, 0x6a, 0x38, 0xdc, 0xf5, 0x94, 0x95, 0x32, + 0x2b, 0x22, 0xbe, 0x8a, 0x18, 0x23, 0x34, 0x65, 0x43, 0x39, 0x99, 0xe1, + 0xe7, 0x25, 0xa9, 0x89, 0x88, 0x81, 0x5e, 0xea, 0x48, 0x4d, 0x60, 0x77, + 0x32, 0xd9, 0x6f, 0xc6, 0xc7, 0x38, 0xc0, 0x95, 0x93, 0x09, 0x5a, 0xf5, + 0x88, 0xf3, 0x19, 0xe5, 0xde, 0x0e, 0x62, 0x13, 0x4c, 0x9a, 0x90, 0x76, + 0x73, 0xa6, 0xdb, 0x0d, 0xe5, 0x68, 0x86, 0xc9, 0x13, 0x3c, 0x96, 0xda, + 0x0b, 0x4d, 0x15, 0x08, 0xc5, 0x8c, 0x58, 0x96, 0x88, 0x05, 0xeb, 0x94, + 0xc6, 0x04, 0x02, 0xca, 0xa5, 0x65, 0x85, 0x50, 0xfb, 0x18, 0xf5, 0x40, + 0xc4, 0xe0, 0x42, 0xd4, 0xee, 0xf9, 0x73, 0x2d, 0xb6, 0x76, 0x2b, 0xa6, + 0xfb, 0x7b, 0x28, 0x86, 0x24, 0x4d, 0x48, 0x5b, 0x2d, 0xfc, 0x49, 0x4e, + 0x33, 0xce, 0x48, 0xf2, 0x36, 0x26, 0xcf, 0xf1, 0x11, 0xaa, 0x79, 0x85, + 0x2f, 0x2b, 0xd4, 0x57, 0xd8, 0xcc, 0xe0, 0x12, 0xc1, 0xb8, 0x88, 0xd8, + 0x40, 0xe9, 0x6b, 0xdc, 0x7a, 0x1f, 0xf5, 0x52, 0x88, 0x98, 0x03, 0x67, + 0x0d, 0xee, 0xb4, 0xa8, 0x1e, 0x7c, 0xe7, 0xb5, 0xe5, 0xaf, 0x7f, 0xfb, + 0xf5, 0xfe, 0xb5, 0xdd, 0x43, 0x49, 0x9e, 0x3c, 0x9b, 0xf3, 0xe1, 0x47, + 0x33, 0x9e, 0xef, 0x4d, 0x98, 0x8c, 0x8e, 0x50, 0x20, 0xcd, 0x12, 0x5c, + 0xe2, 0x40, 0x14, 0xe5, 0xcc, 0x2d, 0x8d, 0x55, 0x4c, 0x9d, 0x10, 0x9c, + 0x45, 0x53, 0xc1, 0xa6, 0x10, 0x42, 0xa0, 0xed, 0x7a, 0x84, 0x10, 0x47, + 0x65, 0x55, 0x8e, 0x44, 0x0c, 0xf6, 0xf6, 0xed, 0x2f, 0xbe, 0xff, 0xd6, + 0x5b, 0x3f, 0xf9, 0xf9, 0xf6, 0xc7, 0x4f, 0xfe, 0x98, 0x9b, 0xd1, 0x3f, + 0x37, 0xaf, 0x26, 0xa7, 0xf7, 0xee, 0xac, 0x64, 0xf7, 0xee, 0x5e, 0x5c, + 0xb8, 0xf1, 0x99, 0xae, 0x0c, 0xba, 0x01, 0x9a, 0x19, 0xc5, 0xc9, 0x94, + 0xd3, 0x93, 0x09, 0x86, 0x86, 0x3c, 0x89, 0xd4, 0x65, 0x40, 0xa3, 0x62, + 0xe5, 0x4c, 0x78, 0x82, 0xd2, 0xd4, 0x81, 0x5b, 0x57, 0x7b, 0x5c, 0x5e, + 0xaa, 0xfe, 0x31, 0x99, 0xce, 0x7e, 0x9a, 0xa6, 0xa9, 0xca, 0xdd, 0xbb, + 0x77, 0xa9, 0xeb, 0x9a, 0x18, 0xa3, 0xf5, 0xde, 0xa7, 0x46, 0xa4, 0xd5, + 0xee, 0xb4, 0x57, 0x57, 0x57, 0x96, 0x37, 0xbe, 0xf5, 0xcd, 0x37, 0x7e, + 0xb0, 0xb9, 0xb9, 0xf9, 0xfa, 0xce, 0xde, 0x11, 0xd3, 0x99, 0xb0, 0x77, + 0x08, 0xe3, 0xd2, 0xb0, 0x74, 0x61, 0x99, 0xbd, 0xe7, 0xbb, 0x3c, 0x7e, + 0x3a, 0xe6, 0xf9, 0xa1, 0x30, 0x9b, 0x06, 0x8a, 0xd2, 0x33, 0x6b, 0x22, + 0xdf, 0xff, 0xee, 0x15, 0x5e, 0xb9, 0x32, 0xff, 0xcd, 0x83, 0xbf, 0xbc, + 0xfb, 0xc6, 0xee, 0xde, 0x1e, 0x2e, 0xc6, 0x48, 0x92, 0x24, 0xa8, 0x6a, + 0x48, 0xd3, 0xb4, 0x8c, 0x31, 0xd6, 0x65, 0x59, 0x1d, 0xdf, 0xfa, 0xc2, + 0x97, 0x5e, 0xf9, 0xca, 0xab, 0xdf, 0xb8, 0x1d, 0x9a, 0x40, 0x77, 0x52, + 0x81, 0x9e, 0x20, 0x4b, 0x27, 0xbc, 0x98, 0xe5, 0x74, 0xba, 0xf0, 0xe5, + 0xab, 0xeb, 0xcc, 0xee, 0x6e, 0x30, 0x9a, 0x35, 0xec, 0x4f, 0x12, 0xfe, + 0x35, 0x52, 0x1e, 0xbd, 0xbb, 0xcd, 0xca, 0x52, 0xca, 0x07, 0x1f, 0x3c, + 0x3a, 0xf8, 0xed, 0xdb, 0x6f, 0x33, 0x9b, 0xcd, 0x70, 0x22, 0xf2, 0xdf, + 0x1f, 0x4e, 0x8d, 0x31, 0xa1, 0xdd, 0x6e, 0x9b, 0xc1, 0x60, 0x70, 0xaf, + 0x28, 0x8a, 0x85, 0xb5, 0x95, 0x35, 0x7a, 0x0b, 0x3d, 0x76, 0x76, 0x76, + 0x78, 0xfc, 0xfe, 0x63, 0x0e, 0x47, 0x43, 0xfa, 0xfd, 0x9a, 0xfb, 0xf7, + 0xff, 0xf4, 0xe7, 0xd1, 0xe1, 0xf0, 0xfe, 0xad, 0xcf, 0xdf, 0x7c, 0xf9, + 0xc5, 0x8b, 0x97, 0xae, 0xdf, 0xba, 0xb9, 0xb6, 0x71, 0xef, 0xfa, 0x65, + 0x9b, 0x27, 0x09, 0xbf, 0xfc, 0xeb, 0xde, 0xa8, 0x28, 0x0a, 0xda, 0xed, + 0xb6, 0xc8, 0x9d, 0x3b, 0x77, 0xce, 0x26, 0xab, 0x12, 0x63, 0xa4, 0xdf, + 0xef, 0xd3, 0xeb, 0xf5, 0x78, 0xf6, 0xec, 0x59, 0x66, 0xac, 0xf9, 0xec, + 0xfa, 0xea, 0xfa, 0x57, 0x6f, 0x6c, 0xde, 0xf8, 0xda, 0xb5, 0x6b, 0xd7, + 0x6e, 0xae, 0xad, 0xae, 0x9d, 0xef, 0x76, 0xbb, 0xe4, 0x79, 0xce, 0x9b, + 0x3f, 0x7a, 0xf3, 0x7b, 0x5b, 0x5b, 0x5b, 0xbf, 0x6a, 0xb5, 0x5a, 0xcb, + 0x9d, 0x4e, 0x67, 0x6d, 0x6d, 0x75, 0xf5, 0xca, 0x4b, 0x9f, 0xbe, 0xfc, + 0xf2, 0xc5, 0x4b, 0x9f, 0xba, 0xfe, 0xce, 0xef, 0xff, 0xf0, 0xb3, 0x7f, + 0x6f, 0x6f, 0xff, 0x2e, 0x4d, 0x53, 0xfd, 0x9f, 0x0b, 0x16, 0x16, 0x16, + 0xd8, 0xd9, 0xd9, 0x21, 0x84, 0xc0, 0xf1, 0xf1, 0x31, 0x65, 0x59, 0x22, + 0x22, 0x2f, 0x0c, 0x06, 0x83, 0xcf, 0x6d, 0x6e, 0x6e, 0xbe, 0xba, 0xbe, + 0xbe, 0xee, 0x1e, 0x3c, 0x78, 0xf0, 0xc3, 0xaa, 0xaa, 0x26, 0x21, 0x84, + 0x3c, 0xc6, 0x98, 0x85, 0x10, 0x6c, 0x88, 0xd1, 0x09, 0xa4, 0x49, 0x92, + 0x14, 0xce, 0xb9, 0x63, 0x20, 0xba, 0xff, 0x97, 0x08, 0x44, 0x84, 0x56, + 0xab, 0x45, 0x9a, 0xa6, 0x38, 0xe7, 0x3e, 0x1e, 0x0e, 0x87, 0x1f, 0x3f, + 0x7c, 0xf8, 0xf0, 0xd7, 0x4b, 0x4b, 0x4b, 0x2c, 0x2e, 0x2e, 0x52, 0x55, + 0x15, 0x22, 0x32, 0xb7, 0xd6, 0xce, 0xad, 0xb5, 0x56, 0x44, 0x92, 0x18, + 0xa3, 0x88, 0x48, 0x65, 0x8c, 0x89, 0x00, 0xf2, 0x49, 0xc7, 0x96, 0xff, + 0x00, 0xb3, 0x43, 0x49, 0xb6, 0xf0, 0xb8, 0xbf, 0x4f, 0x00, 0x00, 0x00, + 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __menu_video_info_png_len = 1593; +unsigned char __progress_bar_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11, + 0x08, 0x02, 0x00, 0x00, 0x00, 0xb4, 0x0f, 0xd0, 0xad, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x01, 0x16, 0x49, 0x44, 0x41, 0x54, 0x28, 0x15, 0x05, 0xc1, 0xa1, 0x75, + 0x1c, 0x51, 0x10, 0x04, 0xc0, 0x92, 0xde, 0x07, 0x3d, 0x6c, 0x97, 0x59, + 0x50, 0xd0, 0x61, 0x58, 0x31, 0x3b, 0x05, 0x43, 0xc5, 0x20, 0x78, 0xf0, + 0x8e, 0x4d, 0x43, 0x57, 0xbd, 0xfd, 0xfa, 0xf3, 0x37, 0x43, 0x06, 0x68, + 0x04, 0x28, 0xb4, 0x1b, 0xba, 0x82, 0x61, 0x95, 0xf3, 0xf5, 0xf5, 0x01, + 0x48, 0x00, 0x00, 0x80, 0x16, 0x00, 0x70, 0x7e, 0x7f, 0xde, 0x02, 0x12, + 0xad, 0x04, 0xd0, 0x02, 0x8c, 0x12, 0x0a, 0xe2, 0xe4, 0x8a, 0x61, 0xcd, + 0x58, 0x99, 0x01, 0xec, 0xc4, 0x02, 0x04, 0xaa, 0x49, 0xf0, 0x0e, 0x0b, + 0xbb, 0x66, 0x00, 0xb8, 0xf7, 0xc7, 0x00, 0x0a, 0x24, 0x05, 0xe7, 0xd5, + 0x22, 0x09, 0xba, 0x10, 0x0a, 0x9f, 0x96, 0xb6, 0xa0, 0x54, 0xa2, 0xe5, + 0xfc, 0xbc, 0x42, 0x2f, 0x95, 0x60, 0xc0, 0x32, 0x2c, 0x15, 0x2d, 0x4a, + 0xeb, 0x0a, 0x9c, 0xc7, 0xb3, 0x78, 0x4d, 0x52, 0x80, 0x80, 0x42, 0xc9, + 0x7a, 0x02, 0x7d, 0x3e, 0x33, 0x38, 0xad, 0x24, 0xbb, 0xdd, 0xc9, 0x80, + 0xd0, 0x02, 0x76, 0xfb, 0x14, 0xa0, 0xa4, 0x24, 0x27, 0x77, 0x46, 0x88, + 0x88, 0x26, 0x17, 0x78, 0xa1, 0x32, 0xc9, 0xb4, 0x8b, 0x25, 0x09, 0x26, + 0x67, 0xf2, 0x91, 0x6c, 0x0c, 0x2b, 0x77, 0x48, 0xb4, 0x53, 0xd2, 0x45, + 0x73, 0xeb, 0x8a, 0x01, 0xe1, 0x5c, 0x17, 0x26, 0xc8, 0x04, 0x63, 0x98, + 0xb1, 0xab, 0x19, 0xa8, 0x64, 0x5a, 0x40, 0xe2, 0x24, 0x32, 0x30, 0xa1, + 0x12, 0x80, 0x98, 0x5a, 0x32, 0xac, 0x46, 0x09, 0xe1, 0xe4, 0x36, 0x25, + 0x12, 0x22, 0x08, 0x85, 0x72, 0x53, 0x96, 0x10, 0x20, 0xde, 0x07, 0x11, + 0x42, 0x10, 0x21, 0x81, 0x2b, 0x80, 0x09, 0x81, 0x89, 0xa9, 0xa3, 0x12, + 0x09, 0x05, 0x55, 0x4a, 0xab, 0x2c, 0x16, 0x30, 0x43, 0x25, 0xde, 0xbe, + 0xbf, 0xff, 0x3d, 0x1e, 0xcf, 0xb6, 0x48, 0xd2, 0x16, 0x00, 0x80, 0x24, + 0x6d, 0x01, 0xfc, 0x07, 0x03, 0x4f, 0x92, 0x20, 0x72, 0xef, 0xc9, 0x0e, + 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __progress_bar_png_len = 372; +unsigned char __progress_bar_background_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11, + 0x08, 0x02, 0x00, 0x00, 0x00, 0xb4, 0x0f, 0xd0, 0xad, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x00, 0x8b, 0x49, 0x44, 0x41, 0x54, 0x28, 0xcf, 0x9d, 0x90, 0x21, 0x0e, + 0xc4, 0x30, 0x0c, 0x04, 0xfd, 0xff, 0x77, 0x1c, 0x0c, 0xf4, 0x17, 0x0a, + 0x03, 0x97, 0x0e, 0x5c, 0x68, 0x18, 0xda, 0x03, 0x6d, 0x74, 0xd2, 0x81, + 0xa8, 0xe9, 0x00, 0x6b, 0x35, 0xca, 0xca, 0x91, 0xe3, 0xb3, 0xc9, 0x18, + 0x23, 0x7a, 0xef, 0x92, 0xba, 0xf4, 0x30, 0x54, 0x55, 0xd8, 0x36, 0xf8, + 0xe2, 0x49, 0xb0, 0xc3, 0xfb, 0x6c, 0x77, 0x80, 0x60, 0x9f, 0x10, 0x80, + 0x24, 0x04, 0x02, 0xe4, 0xb5, 0x01, 0xfd, 0xed, 0xb9, 0x9f, 0x2d, 0x8c, + 0x21, 0x6c, 0xee, 0x6f, 0xfe, 0xce, 0xb3, 0x32, 0xc0, 0x75, 0x83, 0x72, + 0xb9, 0xae, 0x54, 0xb5, 0x36, 0x82, 0xa8, 0xaa, 0x51, 0x73, 0x4c, 0x16, + 0x06, 0x88, 0xb1, 0x89, 0x5f, 0x74, 0xf4, 0xa2, 0x03, 0x9a, 0x9d, 0xf3, + 0x7c, 0x18, 0x80, 0xe8, 0x9b, 0x18, 0xa2, 0xb5, 0x96, 0x99, 0x99, 0x79, + 0x1c, 0x47, 0x66, 0xb6, 0xd6, 0xd6, 0x06, 0xfc, 0x05, 0x2b, 0xae, 0xf4, + 0x59, 0x8a, 0x69, 0x91, 0x26, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, + 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __progress_bar_background_png_len = 233; +unsigned char __text_scroll_next_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xff, 0x61, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x00, 0xa1, 0x49, 0x44, 0x41, 0x54, 0x38, 0xcb, 0xad, 0x93, 0xd1, 0x15, + 0x80, 0x20, 0x08, 0x45, 0x1d, 0xa5, 0x11, 0x1a, 0x89, 0x26, 0x63, 0x14, + 0x47, 0x68, 0x84, 0x46, 0x70, 0x04, 0x52, 0x83, 0x0e, 0x71, 0xd0, 0x3c, + 0xd9, 0xc7, 0xfb, 0x51, 0xde, 0x55, 0x1f, 0x18, 0x88, 0x28, 0x68, 0xc1, + 0x06, 0x90, 0x15, 0xb3, 0xc8, 0xa8, 0xac, 0x81, 0xad, 0xd7, 0xc6, 0x25, + 0x6b, 0x77, 0x8c, 0x56, 0xa5, 0x66, 0x79, 0x00, 0xd8, 0x9c, 0x06, 0xcc, + 0xa2, 0x24, 0x10, 0x01, 0xb8, 0x27, 0xab, 0xdb, 0xb9, 0x37, 0xa9, 0x00, + 0x7e, 0x33, 0x7d, 0x00, 0x14, 0x41, 0x68, 0x04, 0x36, 0x0a, 0x88, 0x76, + 0xf3, 0xd0, 0x59, 0x38, 0x80, 0xc4, 0x35, 0xb7, 0x27, 0x38, 0xad, 0x5a, + 0x05, 0x62, 0x00, 0x89, 0xf7, 0x62, 0x0f, 0xb0, 0xb3, 0xa1, 0x42, 0x14, + 0xa0, 0x9a, 0xbd, 0xc0, 0xbd, 0xf7, 0xa1, 0x40, 0x14, 0x40, 0xcc, 0x68, + 0xeb, 0x5b, 0x21, 0xa2, 0x33, 0xa1, 0xd8, 0x0a, 0xb1, 0xd5, 0x46, 0x7c, + 0x31, 0x5f, 0x6d, 0xec, 0x0d, 0x12, 0x1b, 0xb1, 0x3b, 0x48, 0xbf, 0x8c, + 0xf2, 0xf4, 0x67, 0x9a, 0xf9, 0xce, 0x27, 0x1b, 0x85, 0x37, 0x6d, 0x9d, + 0x00, 0xf5, 0xa7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, + 0x42, 0x60, 0x82 +}; +unsigned int __text_scroll_next_png_len = 255; +unsigned char __text_scroll_prev_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xff, 0x61, 0x00, 0x00, 0x00, + 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9, 0x65, 0x3c, 0x00, 0x00, + 0x00, 0x9e, 0x49, 0x44, 0x41, 0x54, 0x38, 0xcb, 0xad, 0x93, 0xd1, 0x0d, + 0xc0, 0x20, 0x08, 0x44, 0x19, 0xc5, 0x11, 0x1c, 0x89, 0x4e, 0xd6, 0x51, + 0x1c, 0xc1, 0x11, 0x1c, 0xc1, 0x11, 0xa8, 0x34, 0x92, 0x50, 0x02, 0xb6, + 0x89, 0xfd, 0xb8, 0x18, 0x0d, 0xf7, 0x94, 0x53, 0x81, 0x88, 0x40, 0x0b, + 0x0f, 0xc4, 0xa1, 0x32, 0x44, 0x46, 0xbc, 0x86, 0xb6, 0x5e, 0x1b, 0xd3, + 0x50, 0x75, 0x8c, 0x56, 0x5c, 0x93, 0x1e, 0x80, 0x69, 0xee, 0x1f, 0xcc, + 0xa2, 0x2e, 0x10, 0x01, 0x44, 0x3b, 0x9f, 0x53, 0xee, 0x49, 0x6e, 0xc0, + 0xec, 0xd9, 0x35, 0xab, 0xf6, 0x22, 0x08, 0x42, 0x10, 0xd8, 0xe9, 0x84, + 0xeb, 0x41, 0x0a, 0x44, 0xe6, 0x31, 0x66, 0x65, 0xce, 0x11, 0x04, 0xbc, + 0xbe, 0xd8, 0xc0, 0x41, 0x29, 0x40, 0x57, 0x90, 0xba, 0x02, 0x14, 0x31, + 0xf3, 0x5c, 0x01, 0x24, 0xf9, 0x6c, 0x5b, 0xb6, 0x80, 0xa6, 0xaf, 0xd3, + 0x00, 0x04, 0xd2, 0x2c, 0xa0, 0x44, 0xf7, 0xed, 0x00, 0xdc, 0x10, 0x71, + 0x03, 0x80, 0xcb, 0x87, 0xf4, 0x02, 0xa8, 0xff, 0x3d, 0xe5, 0xed, 0xcf, + 0xb4, 0xf3, 0x9d, 0x2f, 0x9f, 0x11, 0x37, 0x6d, 0x5a, 0x24, 0xb3, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +unsigned int __text_scroll_prev_png_len = 252; +#endif /* !__BOOT2_ART_H */ Index: branches/prasys/sym/i386/boot1h =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/sym/i386/boot1h ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/sym/i386/boot1hp =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/sym/i386/boot1hp ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/sym/i386/machOconv =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/sym/i386/machOconv ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/text_scroll_prev.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/text_scroll_prev.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/device_fat32.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/device_fat32.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/font_small.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/font_small.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/text_scroll_next.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/text_scroll_next.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/device_fat16.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/device_fat16.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/device_ext3.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/device_ext3.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_single_user.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_single_user.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/boot.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/boot.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/device_hfsplus.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/device_hfsplus.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_ignore_caches_disabled.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_ignore_caches_disabled.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/device_selection.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/device_selection.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_video_info.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_video_info.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_memory_info.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_memory_info.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_selection.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_selection.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/device_scroll_prev.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/device_scroll_prev.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/theme.plist =================================================================== --- branches/prasys/artwork/themes/default/theme.plist (revision 0) +++ branches/prasys/artwork/themes/default/theme.plist (revision 24) @@ -0,0 +1,106 @@ + + + + + Enabled + no + screen_width + 1024 + screen_height + 768 + screen_textmargin_h + 10 + screen_textmargin_v + 10 + screen_bgcolor + #222334 + background_pos_x + 50% + background_pos_y + 0 + logo_pos_x + + logo_pos_y + 3% + logo_bgcolor + #000000 + logo_transparency + 255 + devices_pos_x + + devices_pos_y + + devices_bgcolor + #222334 + devices_transparency + 0 + devices_max_visible + 5 + devices_iconspacing + 20 + devices_layout + horizontal + bootprompt_pos_x + %50 + bootprompt_pos_y + -2 + bootprompt_width + 50% + bootprompt_height + 20 + bootprompt_textmargin_h + 10 + bootprompt_textmargin_v + 5 + bootprompt_bgcolor + #222334 + bootprompt_transparency + 1 + infobox_pos_x + + infobox_pos_y + + infobox_width + 650 + infobox_height + 406 + infobox_textmargin_h + 10 + infobox_textmargin_v + 10 + infobox_bgcolor + #222334 + infobox_transparency + 10 + menu_pos_x + + menu_pos_y + -5% + menu_textmargin_h + 10 + menu_textmargin_v + 5 + menu_bgcolor + #222334 + menu_transparency + 1 + progressbar_pos_x + + progressbar_pos_y + -30% + progressbar_width + 100 + progressbar_height + 40 + countdown_pos_x + + countdown_pos_y + -20% + boot_width + 1024 + boot_height + 768 + boot_bgcolor + #AAAAAA + + Index: branches/prasys/artwork/themes/default/device_scroll_next.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/device_scroll_next.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_help.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_help.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_ignore_caches.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_ignore_caches.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/background.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/background.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_verbose_disabled.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_verbose_disabled.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/device_cdrom.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/device_cdrom.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_boot.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_boot.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/progress_bar_background.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/progress_bar_background.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/font_console.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/font_console.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/progress_bar.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/progress_bar.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/device_ntfs.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/device_ntfs.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_verbose.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_verbose.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/menu_single_user_disabled.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/menu_single_user_disabled.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/default/device_generic.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/default/device_generic.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/text_scroll_prev.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/text_scroll_prev.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/device_fat32.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/device_fat32.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/font_small.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/font_small.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/text_scroll_next.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/text_scroll_next.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/device_fat16.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/device_fat16.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/device_ext3.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/device_ext3.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_single_user.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_single_user.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/boot.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/boot.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/device_hfsplus.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/device_hfsplus.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_ignore_caches_disabled.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_ignore_caches_disabled.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/device_selection.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/device_selection.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_video_info.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_video_info.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_memory_info.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_memory_info.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_selection.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_selection.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/device_scroll_prev.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/device_scroll_prev.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/theme.plist =================================================================== --- branches/prasys/artwork/themes/bullet/theme.plist (revision 0) +++ branches/prasys/artwork/themes/bullet/theme.plist (revision 24) @@ -0,0 +1,116 @@ + + + + + Enabled + yes + + screen_width + 1024 + screen_height + 768 + screen_textmargin_h + 10 + screen_textmargin_v + 10 + screen_bgcolor + #aaaaaa + + background_pos_x + 50% + background_pos_y + 0 + + logo_pos_x + + logo_pos_y + 3% + logo_bgcolor + #aaaaaa + logo_transparency + 255 + + devices_pos_x + + devices_pos_y + + devices_bgcolor + #aaaaaa + devices_transparency + 0 + devices_max_visible + 5 + devices_iconspacing + 20 + devices_layout + horizontal + + bootprompt_pos_x + %50 + bootprompt_pos_y + -2 + bootprompt_width + 50% + bootprompt_height + 20 + bootprompt_textmargin_h + 10 + bootprompt_textmargin_v + 5 + bootprompt_bgcolor + #aaaaaa + bootprompt_transparency + 1 + + infobox_pos_x + + infobox_pos_y + + infobox_width + 650 + infobox_height + 406 + infobox_textmargin_h + 10 + infobox_textmargin_v + 10 + infobox_bgcolor + #aaaaaa + infobox_transparency + 10 + + menu_pos_x + + menu_pos_y + -5% + menu_textmargin_h + 10 + menu_textmargin_v + 5 + menu_bgcolor + #aaaaaa + menu_transparency + 1 + + progressbar_pos_x + + progressbar_pos_y + -37% + progressbar_width + 100 + progressbar_height + 40 + + countdown_pos_x + + countdown_pos_y + -30% + + boot_width + 1024 + boot_height + 768 + boot_bgcolor + #aaaaaa + + Index: branches/prasys/artwork/themes/bullet/device_scroll_next.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/device_scroll_next.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_help.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_help.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_ignore_caches.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_ignore_caches.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/background.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/background.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_verbose_disabled.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_verbose_disabled.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/device_cdrom.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/device_cdrom.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_boot.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_boot.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/progress_bar_background.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/progress_bar_background.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/font_console.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/font_console.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/progress_bar.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/progress_bar.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/device_ntfs.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/device_ntfs.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_verbose.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_verbose.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/menu_single_user_disabled.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/menu_single_user_disabled.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/bullet/device_generic.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/bullet/device_generic.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/pinktink/logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/pinktink/logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/pinktink/theme.plist =================================================================== --- branches/prasys/artwork/themes/pinktink/theme.plist (revision 0) +++ branches/prasys/artwork/themes/pinktink/theme.plist (revision 24) @@ -0,0 +1,106 @@ + + + + + Enabled + no + screen_width + 1024 + screen_height + 768 + screen_textmargin_h + 10 + screen_textmargin_v + 10 + screen_bgcolor + #FF1493 + background_pos_x + + background_pos_y + + logo_pos_x + 20% + logo_pos_y + 20% + logo_bgcolor + #000000 + logo_transparency + 255 + devices_pos_x + + devices_pos_y + + devices_bgcolor + #FF1493 + devices_transparency + 0 + devices_max_visible + 5 + devices_iconspacing + 20 + devices_layout + horizontal + bootprompt_pos_x + %50 + bootprompt_pos_y + -2 + bootprompt_width + 50% + bootprompt_height + 20 + bootprompt_textmargin_h + 10 + bootprompt_textmargin_v + 5 + bootprompt_bgcolor + #FF1493 + bootprompt_transparency + 1 + infobox_pos_x + + infobox_pos_y + + infobox_width + 650 + infobox_height + 406 + infobox_textmargin_h + 10 + infobox_textmargin_v + 10 + infobox_bgcolor + #FF1493 + infobox_transparency + 10 + menu_pos_x + + menu_pos_y + -5% + menu_textmargin_h + 10 + menu_textmargin_v + 5 + menu_bgcolor + #FF1493 + menu_transparency + 1 + progressbar_pos_x + + progressbar_pos_y + -30% + progressbar_width + 100 + progressbar_height + 40 + countdown_pos_x + + countdown_pos_y + -20% + boot_width + 1024 + boot_height + 768 + boot_bgcolor + #AAAAAA + + Index: branches/prasys/artwork/themes/msi_netbook/logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/msi_netbook/logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/msi_netbook/theme.plist =================================================================== --- branches/prasys/artwork/themes/msi_netbook/theme.plist (revision 0) +++ branches/prasys/artwork/themes/msi_netbook/theme.plist (revision 24) @@ -0,0 +1,106 @@ + + + + + Enabled + no + screen_width + 1024 + screen_height + 768 + screen_textmargin_h + 10 + screen_textmargin_v + 10 + screen_bgcolor + #000000 + background_pos_x + 50% + background_pos_y + 0 + logo_pos_x + + logo_pos_y + 15% + logo_bgcolor + #000000 + logo_transparency + 255 + devices_pos_x + + devices_pos_y + + devices_bgcolor + #000000 + devices_transparency + 0 + devices_max_visible + 5 + devices_iconspacing + 20 + devices_layout + horizontal + bootprompt_pos_x + %50 + bootprompt_pos_y + -2 + bootprompt_width + 50% + bootprompt_height + 20 + bootprompt_textmargin_h + 10 + bootprompt_textmargin_v + 5 + bootprompt_bgcolor + #000000 + bootprompt_transparency + 1 + infobox_pos_x + + infobox_pos_y + + infobox_width + 650 + infobox_height + 406 + infobox_textmargin_h + 10 + infobox_textmargin_v + 10 + infobox_bgcolor + #000000 + infobox_transparency + 10 + menu_pos_x + + menu_pos_y + -5% + menu_textmargin_h + 10 + menu_textmargin_v + 5 + menu_bgcolor + #000000 + menu_transparency + 1 + progressbar_pos_x + + progressbar_pos_y + -30% + progressbar_width + 100 + progressbar_height + 40 + countdown_pos_x + + countdown_pos_y + -20% + boot_width + 1024 + boot_height + 768 + boot_bgcolor + #AAAAAA + + Index: branches/prasys/artwork/themes/twilight/font_small.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/twilight/font_small.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/twilight/logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/artwork/themes/twilight/logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/artwork/themes/twilight/theme.plist =================================================================== --- branches/prasys/artwork/themes/twilight/theme.plist (revision 0) +++ branches/prasys/artwork/themes/twilight/theme.plist (revision 24) @@ -0,0 +1,106 @@ + + + + + Enabled + no + screen_width + 1024 + screen_height + 768 + screen_textmargin_h + 10 + screen_textmargin_v + 10 + screen_bgcolor + #000000 + background_pos_x + 50% + background_pos_y + 0 + logo_pos_x + + logo_pos_y + 3% + logo_bgcolor + #000000 + logo_transparency + 255 + devices_pos_x + + devices_pos_y + + devices_bgcolor + #000000 + devices_transparency + 0 + devices_max_visible + 5 + devices_iconspacing + 20 + devices_layout + horizontal + bootprompt_pos_x + %50 + bootprompt_pos_y + -2 + bootprompt_width + 50% + bootprompt_height + 20 + bootprompt_textmargin_h + 10 + bootprompt_textmargin_v + 5 + bootprompt_bgcolor + #000000 + bootprompt_transparency + 1 + infobox_pos_x + + infobox_pos_y + + infobox_width + 650 + infobox_height + 406 + infobox_textmargin_h + 10 + infobox_textmargin_v + 10 + infobox_bgcolor + #000000 + infobox_transparency + 10 + menu_pos_x + + menu_pos_y + -5% + menu_textmargin_h + 10 + menu_textmargin_v + 5 + menu_bgcolor + #000000 + menu_transparency + 1 + progressbar_pos_x + + progressbar_pos_y + -30% + progressbar_width + 100 + progressbar_height + 40 + countdown_pos_x + + countdown_pos_y + -20% + boot_width + 1024 + boot_height + 768 + boot_bgcolor + #AAAAAA + + Index: branches/prasys/i386/libsaio/fake_efi.h =================================================================== --- branches/prasys/i386/libsaio/fake_efi.h (revision 0) +++ branches/prasys/i386/libsaio/fake_efi.h (revision 24) @@ -0,0 +1,14 @@ +/* + * Copyright 2007 David F. Elliott. All rights reserved. + */ + +#ifndef __LIBSAIO_FAKE_EFI_H +#define __LIBSAIO_FAKE_EFI_H + +/* Set up space for up to 10 configuration table entries */ +#define MAX_CONFIGURATION_TABLE_ENTRIES 10 + +extern void +setupFakeEfi(void); + +#endif /* !__LIBSAIO_FAKE_EFI_H */ Index: branches/prasys/i386/libsaio/xml.c =================================================================== --- branches/prasys/i386/libsaio/xml.c (revision 0) +++ branches/prasys/i386/libsaio/xml.c (revision 24) @@ -0,0 +1,665 @@ +/* + * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 2003 Apple Computer, Inc. All Rights + * Reserved. + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +#include "bootstruct.h" +#include "libsaio.h" +#include "sl.h" +#include "xml.h" + +struct Module { + struct Module *nextModule; + long willLoad; + TagPtr dict; + char *plistAddr; + long plistLength; + char *driverPath; +}; +typedef struct Module Module, *ModulePtr; + +struct DriverInfo { + char *plistAddr; + long plistLength; + void *moduleAddr; + long moduleLength; +}; +typedef struct DriverInfo DriverInfo, *DriverInfoPtr; + +#define kDriverPackageSignature1 'MKXT' +#define kDriverPackageSignature2 'MOSX' + +struct DriversPackage { + unsigned long signature1; + unsigned long signature2; + unsigned long length; + unsigned long alder32; + unsigned long version; + unsigned long numDrivers; + unsigned long reserved1; + unsigned long reserved2; +}; +typedef struct DriversPackage DriversPackage; + +enum { + kCFBundleType2, + kCFBundleType3 +}; + + +#define USEMALLOC 1 +#define DOFREE 1 + +static long ParseTagList(char *buffer, TagPtr *tag, long type, long empty); +static long ParseTagKey(char *buffer, TagPtr *tag); +static long ParseTagString(char *buffer, TagPtr *tag); +static long ParseTagInteger(char *buffer, TagPtr *tag); +static long ParseTagData(char *buffer, TagPtr *tag); +static long ParseTagDate(char *buffer, TagPtr *tag); +static long ParseTagBoolean(char *buffer, TagPtr *tag, long type); +static long GetNextTag(char *buffer, char **tag, long *start); +static long FixDataMatchingTag(char *buffer, char *tag); +static TagPtr NewTag(void); +static char *NewSymbol(char *string); +#if DOFREE +static void FreeSymbol(char *string); +#endif + + +//========================================================================== +// XMLGetProperty + +TagPtr +XMLGetProperty( TagPtr dict, const char * key ) +{ + TagPtr tagList, tag; + + if (dict->type != kTagTypeDict) return 0; + + tag = 0; + tagList = dict->tag; + while (tagList) + { + tag = tagList; + tagList = tag->tagNext; + + if ((tag->type != kTagTypeKey) || (tag->string == 0)) continue; + + if (!strcmp(tag->string, key)) return tag->tag; + } + + return 0; +} + + +#if UNUSED +//========================================================================== +// XMLParseFile +// Expects to see one dictionary in the XML file. +// Puts the first dictionary it finds in the +// tag pointer and returns 0, or returns -1 if not found. +// +long +XMLParseFile( char * buffer, TagPtr * dict ) +{ + long length, pos; + TagPtr tag; + pos = 0; + + while (1) + { + length = XMLParseNextTag(buffer + pos, &tag); + if (length == -1) break; + + pos += length; + + if (tag == 0) continue; + if (tag->type == kTagTypeDict) break; + + XMLFreeTag(tag); + } + if (length < 0) { + return -1; + } + *dict = tag; + return 0; +} +#endif /* UNUSED */ + +//========================================================================== +// ParseNextTag + +long +XMLParseNextTag( char * buffer, TagPtr * tag ) +{ + long length, pos; + char * tagName; + + length = GetNextTag(buffer, &tagName, 0); + if (length == -1) return -1; + + pos = length; + if (!strncmp(tagName, kXMLTagPList, 6)) + { + length = 0; + } + else if (!strcmp(tagName, kXMLTagDict)) + { + length = ParseTagList(buffer + pos, tag, kTagTypeDict, 0); + } + else if (!strcmp(tagName, kXMLTagDict "/")) + { + length = ParseTagList(buffer + pos, tag, kTagTypeDict, 1); + } + else if (!strcmp(tagName, kXMLTagKey)) + { + length = ParseTagKey(buffer + pos, tag); + } + else if (!strcmp(tagName, kXMLTagString)) + { + length = ParseTagString(buffer + pos, tag); + } + else if (!strcmp(tagName, kXMLTagInteger)) + { + length = ParseTagInteger(buffer + pos, tag); + } + else if (!strcmp(tagName, kXMLTagData)) + { + length = ParseTagData(buffer + pos, tag); + } + else if (!strcmp(tagName, kXMLTagDate)) + { + length = ParseTagDate(buffer + pos, tag); + } + else if (!strcmp(tagName, kXMLTagFalse)) + { + length = ParseTagBoolean(buffer + pos, tag, kTagTypeFalse); + } + else if (!strcmp(tagName, kXMLTagTrue)) + { + length = ParseTagBoolean(buffer + pos, tag, kTagTypeTrue); + } + else if (!strcmp(tagName, kXMLTagArray)) + { + length = ParseTagList(buffer + pos, tag, kTagTypeArray, 0); + } + else if (!strcmp(tagName, kXMLTagArray "/")) + { + length = ParseTagList(buffer + pos, tag, kTagTypeArray, 1); + } + else + { + *tag = 0; + length = 0; + } + + if (length == -1) return -1; + + return pos + length; +} + +//========================================================================== +// ParseTagList + +static long +ParseTagList( char * buffer, TagPtr * tag, long type, long empty ) +{ + long length, pos; + TagPtr tagList, tmpTag; + + tagList = 0; + pos = 0; + + if (!empty) + { + while (1) + { + length = XMLParseNextTag(buffer + pos, &tmpTag); + if (length == -1) break; + + pos += length; + + if (tmpTag == 0) break; + tmpTag->tagNext = tagList; + tagList = tmpTag; + } + + if (length == -1) + { + XMLFreeTag(tagList); + return -1; + } + } + + tmpTag = NewTag(); + if (tmpTag == 0) + { + XMLFreeTag(tagList); + return -1; + } + + tmpTag->type = type; + tmpTag->string = 0; + tmpTag->tag = tagList; + tmpTag->tagNext = 0; + + *tag = tmpTag; + + return pos; +} + +//========================================================================== +// ParseTagKey + +static long +ParseTagKey( char * buffer, TagPtr * tag ) +{ + long length, length2; + char *string; + TagPtr tmpTag, subTag; + + length = FixDataMatchingTag(buffer, kXMLTagKey); + if (length == -1) return -1; + + length2 = XMLParseNextTag(buffer + length, &subTag); + if (length2 == -1) return -1; + + tmpTag = NewTag(); + if (tmpTag == 0) + { + XMLFreeTag(subTag); + return -1; + } + + string = NewSymbol(buffer); + if (string == 0) + { + XMLFreeTag(subTag); + XMLFreeTag(tmpTag); + return -1; + } + + tmpTag->type = kTagTypeKey; + tmpTag->string = string; + tmpTag->tag = subTag; + tmpTag->tagNext = 0; + + *tag = tmpTag; + + return length + length2; +} + +//========================================================================== +// ParseTagString + +static long +ParseTagString( char * buffer, TagPtr * tag ) +{ + long length; + char * string; + TagPtr tmpTag; + + length = FixDataMatchingTag(buffer, kXMLTagString); + if (length == -1) return -1; + + tmpTag = NewTag(); + if (tmpTag == 0) return -1; + + string = NewSymbol(buffer); + if (string == 0) + { + XMLFreeTag(tmpTag); + return -1; + } + + tmpTag->type = kTagTypeString; + tmpTag->string = string; + tmpTag->tag = 0; + tmpTag->tagNext = 0; + + *tag = tmpTag; + return length; +} + +//========================================================================== +// ParseTagInteger + +static long +ParseTagInteger( char * buffer, TagPtr * tag ) +{ + long length, integer; + TagPtr tmpTag; + + length = FixDataMatchingTag(buffer, kXMLTagInteger); + if (length == -1) return -1; + + tmpTag = NewTag(); + if (tmpTag == 0) return -1; + + integer = 0; + + tmpTag->type = kTagTypeInteger; + tmpTag->string = (char *)integer; + tmpTag->tag = 0; + tmpTag->tagNext = 0; + + *tag = tmpTag; + + return length; +} + +//========================================================================== +// ParseTagData + +static long +ParseTagData( char * buffer, TagPtr * tag ) +{ + long length; + TagPtr tmpTag; + + length = FixDataMatchingTag(buffer, kXMLTagData); + if (length == -1) return -1; + + tmpTag = NewTag(); + if (tmpTag == 0) return -1; + + tmpTag->type = kTagTypeData; + tmpTag->string = 0; + tmpTag->tag = 0; + tmpTag->tagNext = 0; + + *tag = tmpTag; + + return length; +} + +//========================================================================== +// ParseTagDate + +static long +ParseTagDate( char * buffer, TagPtr * tag ) +{ + long length; + TagPtr tmpTag; + + length = FixDataMatchingTag(buffer, kXMLTagDate); + if (length == -1) return -1; + + tmpTag = NewTag(); + if (tmpTag == 0) return -1; + + tmpTag->type = kTagTypeDate; + tmpTag->string = 0; + tmpTag->tag = 0; + tmpTag->tagNext = 0; + + *tag = tmpTag; + + return length; +} + +//========================================================================== +// ParseTagBoolean + +static long +ParseTagBoolean( char * buffer, TagPtr * tag, long type ) +{ + TagPtr tmpTag; + + tmpTag = NewTag(); + if (tmpTag == 0) return -1; + + tmpTag->type = type; + tmpTag->string = 0; + tmpTag->tag = 0; + tmpTag->tagNext = 0; + + *tag = tmpTag; + + return 0; +} + +//========================================================================== +// GetNextTag + +static long +GetNextTag( char * buffer, char ** tag, long * start ) +{ + long cnt, cnt2; + + if (tag == 0) return -1; + + // Find the start of the tag. + cnt = 0; + while ((buffer[cnt] != '\0') && (buffer[cnt] != '<')) cnt++; + if (buffer[cnt] == '\0') return -1; + + // Find the end of the tag. + cnt2 = cnt + 1; + while ((buffer[cnt2] != '\0') && (buffer[cnt2] != '>')) cnt2++; + if (buffer[cnt2] == '\0') return -1; + + // Fix the tag data. + *tag = buffer + cnt + 1; + buffer[cnt2] = '\0'; + if (start) *start = cnt; + + return cnt2 + 1; +} + +//========================================================================== +// FixDataMatchingTag +// Modifies 'buffer' to add a '\0' at the end of the tag matching 'tag'. +// Returns the length of the data found, counting the end tag, +// or -1 if the end tag was not found. + +static long +FixDataMatchingTag( char * buffer, char * tag ) +{ + long length, start, stop; + char * endTag; + + start = 0; + while (1) + { + length = GetNextTag(buffer + start, &endTag, &stop); + if (length == -1) return -1; + + if ((*endTag == '/') && !strcmp(endTag + 1, tag)) break; + start += length; + } + + buffer[start + stop] = '\0'; + + return start + length; +} + +//========================================================================== +// NewTag + +#define kTagsPerBlock (0x1000) + +static TagPtr gTagsFree; + +static TagPtr +NewTag( void ) +{ + long cnt; + TagPtr tag; + + if (gTagsFree == 0) + { +#if USEMALLOC + tag = (TagPtr)malloc(kTagsPerBlock * sizeof(Tag)); +#else + tag = (TagPtr)AllocateBootXMemory(kTagsPerBlock * sizeof(Tag)); +#endif + if (tag == 0) return 0; + + // Initalize the new tags. + for (cnt = 0; cnt < kTagsPerBlock; cnt++) + { + tag[cnt].type = kTagTypeNone; + tag[cnt].string = 0; + tag[cnt].tag = 0; + tag[cnt].tagNext = tag + cnt + 1; + } + tag[kTagsPerBlock - 1].tagNext = 0; + + gTagsFree = tag; + } + + tag = gTagsFree; + gTagsFree = tag->tagNext; + + return tag; +} + +//========================================================================== +// XMLFreeTag + +void +XMLFreeTag( TagPtr tag ) +{ +#if DOFREE + if (tag == 0) return; + + if (tag->string) FreeSymbol(tag->string); + + XMLFreeTag(tag->tag); + XMLFreeTag(tag->tagNext); + + // Clear and free the tag. + tag->type = kTagTypeNone; + tag->string = 0; + tag->tag = 0; + tag->tagNext = gTagsFree; + gTagsFree = tag; +#else + return; +#endif +} + +//========================================================================== +// Symbol object. + +struct Symbol +{ + long refCount; + struct Symbol *next; + char string[]; +}; +typedef struct Symbol Symbol, *SymbolPtr; + +static SymbolPtr FindSymbol(char * string, SymbolPtr * prevSymbol); + +static SymbolPtr gSymbolsHead; + +//========================================================================== +// NewSymbol + +static char * +NewSymbol( char * string ) +{ +static SymbolPtr lastGuy = 0; + SymbolPtr symbol; + + // Look for string in the list of symbols. + symbol = FindSymbol(string, 0); + + // Add the new symbol. + if (symbol == 0) + { +#if USEMALLOC + symbol = (SymbolPtr)malloc(sizeof(Symbol) + 1 + strlen(string)); +#else + symbol = (SymbolPtr)AllocateBootXMemory(sizeof(Symbol) + 1 + strlen(string)); +#endif + if (symbol == 0) //return 0; + stop("NULL symbol!"); + + // Set the symbol's data. + symbol->refCount = 0; + strcpy(symbol->string, string); + + // Add the symbol to the list. + symbol->next = gSymbolsHead; + gSymbolsHead = symbol; + } + + // Update the refCount and return the string. + symbol->refCount++; + + if (lastGuy && lastGuy->next != 0) stop("last guy not last!"); + return symbol->string; +} + +//========================================================================== +// FreeSymbol + +#if DOFREE +static void +FreeSymbol( char * string ) +{ + SymbolPtr symbol, prev; + prev = 0; + + // Look for string in the list of symbols. + symbol = FindSymbol(string, &prev); + if (symbol == 0) return; + + // Update the refCount. + symbol->refCount--; + + if (symbol->refCount != 0) return; + + // Remove the symbol from the list. + if (prev != 0) prev->next = symbol->next; + else gSymbolsHead = symbol->next; + + // Free the symbol's memory. + free(symbol); +} +#endif + +//========================================================================== +// FindSymbol + +static SymbolPtr +FindSymbol( char * string, SymbolPtr * prevSymbol ) +{ + SymbolPtr symbol, prev; + + symbol = gSymbolsHead; + prev = 0; + + while (symbol != 0) { + if (!strcmp(symbol->string, string)) break; + + prev = symbol; + symbol = symbol->next; + } + + if ((symbol != 0) && (prevSymbol != 0)) *prevSymbol = prev; + + return symbol; +} Index: branches/prasys/i386/libsaio/asm.s =================================================================== --- branches/prasys/i386/libsaio/asm.s (revision 0) +++ branches/prasys/i386/libsaio/asm.s (revision 24) @@ -0,0 +1,497 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Mach Operating System + * Copyright (c) 1990 Carnegie-Mellon University + * Copyright (c) 1989 Carnegie-Mellon University + * All rights reserved. The CMU software License Agreement specifies + * the terms and conditions for use and redistribution. + */ +/* + * HISTORY + * $Log: asm.s,v $ + * Revision 1.8 2005/06/24 22:47:12 curtisg + * Merging changes for 4159531 to pass data to the kernel in EFI format. + * + * Revision 1.7 2004/05/13 17:58:38 curtisg + * Integrating: + * : (Silent boot) + * : (5 sec boot timeout is too short) + * : (Boot option to display graphics modes) + * : (Default graphics mode should be 32-bit) + * : (Booter should always find a video mode) + * : (Booter displays "0MB" VRAM) + * + * Revision 1.6 2003/11/05 20:51:02 curtisg + * Integrated 3069695,3331770,3370488,3371823 + * + * Revision 1.5.26.1 2003/10/27 23:57:59 curtisg + * Added printing of volume names, better handling of extended + * partitions, and updated Apple license strings. + * New chain booter should work better with foreign operating + * systems. + * + * Revision 1.5 2002/11/05 20:34:26 jliu + * Integrating: + * 3051234 boot shouldnt require Graphics = Yes + * 3091627 Need support for refresh rate adjustment + * + * Revision 1.4 2002/10/02 00:06:18 curtisg + * Integrating PR-3032510. + * + * Revision 1.3.6.1 2002/08/30 21:16:29 curtisg + * KERNBOOTSTRUCT is going away in favor of KernelBootArgs_t in . + * + * Revision 1.3 2002/07/09 14:06:21 jliu + * Merging changes from PR-2954224 branch in boot/i386. + * + * Revision 1.2.30.1 2002/07/05 16:24:51 jliu + * Merged UFS/HFS/HFS+ filesystem support from BootX. + * Moved boot2 load address due to increased size. boot0/boot1 also changed. + * Updated boot graphics and CLUT. + * Added support to chain load foreign booters. + * Fixed param passing bug in network loader. + * Misc cleanup in libsaio. + * + * Revision 1.2 2000/05/23 23:01:11 lindak + * Merged PR-2309530 into Kodiak (liu i386 booter: does not support label-less + * ufs partitions) + * + * Revision 1.1.1.2.4.1 2000/05/13 17:07:39 jliu + * New boot0 (boot1 has been deprecated). Booter must now reside in its own partition, no disk label required. + * + * Revision 1.1.1.2 1999/08/04 21:16:57 wsanchez + * Impoort of boot-66 + * + * Revision 1.3 1999/08/04 21:12:12 wsanchez + * Update APSL + * + * Revision 1.2 1999/03/25 05:48:30 wsanchez + * Add APL. + * Remove unused gzip code. + * Remove unused Adobe fonts. + * + * Revision 1.1.1.1.66.2 1999/03/16 16:08:54 wsanchez + * Substitute License + * + * Revision 1.1.1.1.66.1 1999/03/16 07:33:21 wsanchez + * Add APL + * + * Revision 1.1.1.1 1997/12/05 21:57:57 wsanchez + * Import of boot-25 (~mwatson) + * + * Revision 2.1.1.2 90//03//22 17:59:50 rvb + * Added _sp() => where is the stack at. [kupfer] + * + * Revision 2.1.1.1 90//02//09 17:25:04 rvb + * Add Intel copyright + * [90//02//09 rvb] + * + */ + + +// INTEL CORPORATION PROPRIETARY INFORMATION +// +// This software is supplied under the terms of a license agreement or +// nondisclosure agreement with Intel Corporation and may not be copied +// nor disclosed except in accordance with the terms of that agreement. +// +// Copyright 1988 Intel Corporation +// Copyright 1988, 1989 by Intel Corporation +// + +#include +#include "memory.h" + +#define data32 .byte 0x66 +#define addr32 .byte 0x67 + + .file "asm.s" + +CR0_PE_ON = 0x1 +#ifdef BOOT1 +CR0_PE_OFF = 0x7ffffffe +#else +CR0_PE_OFF = 0x7ffffff0 +#endif + +STACK32_BASE = ADDR32(STACK_SEG, 0) +STACK16_SEG = STACK_SEG +CODE32_BASE = ADDR32(BASE_SEG, 0) +CODE16_SEG = BASE_SEG + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Pointer to 6-bytes in memory that contains the base address and the limit +// (size of GDT table in bytes) of the GDT. The LGDT is the only instruction +// that directly loads a linear address (not a segment relative address) and +// a limit in protected mode. + +.globl _Gdtr + //.data + .section __INIT,__data // turbo - Data that must be in the first segment + .align 2, 0x90 +_Gdtr: + .word GDTLIMIT + .long vtop(_Gdt) + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// IDTR representing real-mode IVT. The values are constant. + //.const + .section __INIT,__data // turbo - Data that must be in the first segment +// Real mode IDT + .align 2 +.globl _Idtr_real +_Idtr_real: + .word 0x03ff + .long 0x00000000 + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// IDTR representing protected-mode IDT. It is initially NULL which tells the +// procesor that no IDT is available. After we get into protected mode we can +// allocate memory for a proper IDT and update this IDTR to point to it. + //.data + .section __INIT,__data // turbo - Data that must be in the first segment + .align 2 +.globl _Idtr_prot +_Idtr_prot: + .word 0 + .long 0 + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Data area for __switch_stack. +// +save_sp: .long STACK_OFS +save_ss: .long STACK_SEG + + //.text + .section __INIT,__text // turbo - This code must reside within the first segment +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// real_to_prot() +// +// Transfer from real mode to protected mode. +// Preserves all registers except EAX. +// +LABEL(__real_to_prot) + + // Interrupts are disabled in protected mode. + + cli + + // Load the Global Descriptor Table Register (GDTR). + + addr32 + data32 + lgdt OFFSET16(_Gdtr) + + // Enter protected mode by setting the PE bit in CR0. + + mov %cr0, %eax + data32 + or $CR0_PE_ON, %eax + mov %eax, %cr0 + + // Make intrasegment jump to flush the processor pipeline and + // reload CS register. + + data32 + ljmp $0x08, $xprot + +xprot: + // we are in USE32 mode now + // set up the protected mode segment registers : DS, SS, ES, FS, GS + + mov $0x10, %eax + movw %ax, %ds + movw %ax, %ss + movw %ax, %es + movw %ax, %fs + movw %ax, %gs + + // set up the PM IDT + lidt _Idtr_prot + + // Convert STACK_SEG:SP to 32-bit linear stack pointer. + + movzwl %sp, %eax + addl $STACK32_BASE, %eax + movl %eax, %esp + + // Convert STACK_SEG:BP to 32-bit linear base pointer. + + movzwl %bp, %eax + addl $STACK32_BASE, %eax + movl %eax, %ebp + + // Modify the caller's return address on the stack from + // segment offset to linear address. + + popl %eax + addl $CODE32_BASE, %eax + pushl %eax + + ret + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// prot_to_real() +// +// Transfer from protected mode to real mode. +// Preserves all registers except EAX. +// +LABEL(__prot_to_real) + + // Load real-mode IDT while we're still in USE32 mode so we don't need + // 32-bit addressing prefixes. + lidt _Idtr_real + + // Set up segment registers appropriate for real mode. + + movw $0x30, %ax + movw %ax, %ds + movw %ax, %es + movw %ax, %fs + movw %ax, %gs + movw %ax, %ss + + ljmp $0x18, $x16 // change to USE16 mode + +x16: + mov %cr0, %eax // clear the PE bit of CR0 + data32 + and $CR0_PE_OFF, %eax + mov %eax, %cr0 + + // make intersegment jmp to flush the processor pipeline + // and reload CS register + + data32 + ljmp $CODE16_SEG, $xreal - CODE32_BASE + +xreal: + // we are in real mode now + // set up the real mode segment registers : DS, DS, ES, FS, GS + + movw %cs, %ax + movw %ax, %ds + movw %ax, %es + movw %ax, %fs + movw %ax, %gs + + // load stack segment register SS. + + data32 + movl $STACK16_SEG, %eax + movw %ax, %ss + + // clear top 16-bits of ESP and EBP. + + data32 + movzwl %sp, %esp + data32 + movzwl %bp, %ebp + + // Modify caller's return address on the stack + // from linear address to segment offset. + + data32 + popl %eax + data32 + movzwl %ax, %eax + data32 + pushl %eax + + // Reenable maskable interrupts. + + sti + + data32 + ret + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// halt() +// +LABEL(_halt) +#ifdef BOOT1 + hlt +#else + call _bgetc +#endif + jmp _halt + +#ifndef BOOT1 +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// startprog(phyaddr, arg) +// Start the program on protected mode where phyaddr is the entry point. +// Passes arg to the program in %eax. +// +LABEL(_startprog) + push %ebp + mov %esp, %ebp + + mov 0xc(%ebp), %eax // argument to program + mov 0x8(%ebp), %ecx // entry offset + mov $0x28, %ebx // segment + push %ebx + push %ecx + + // set up %ds and %es + + mov $0x20, %ebx + movw %bx, %ds + movw %bx, %es + + lret +#endif + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Returns the current stack pointer. +// +LABEL(__sp) + mov %esp, %eax + ret + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Returns the current frame pointer. +// +LABEL(__bp) + mov %ebp, %eax + ret + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// switch_stack() +// +// Switches stack pointer between SS:SP and memory save_ss:save_sp. +// Call this function from real mode only!!! +// +// AX, DI, and SI are clobbered. +// +LABEL(__switch_stack) + popl %eax # save return address + popl %edi # discard upper 16-bit + + data32 + addr32 + movl OFFSET16(save_ss), %esi # new SS to SI + + data32 + addr32 + movl OFFSET16(save_sp), %edi # new SP to DI + + addr32 + mov %ss, OFFSET16(save_ss) # save current SS to memory + + data32 + addr32 + movl %esp, OFFSET16(save_sp) # save current SP to memory + + cli + mov %si, %ss # switch stack + mov %di, %sp + sti + + pushl %eax # push IP of caller onto the new stack + + xorl %eax, %eax + xorl %esi, %esi + xorl %edi, %edi + + ret + +#ifndef BOOT1 +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// loader() +// +// Issue a request to the network loader. +// +LABEL(_loader) + enter $0, $0 + pushal + + # + # Pass a far pointer to the command structure + # to the INT call through DX:CX. + # + # The command code is in BX. + # + + movw 8(%ebp), %bx # 8[EBP] = command code + movw 12(%ebp), %cx # 12[EBP] = command structure offset + movw 14(%ebp), %dx # 14[EBP] = command structure segment + + call __prot_to_real # Revert to real mode + + ###### Real Mode Begin ###### + + data32 + call __switch_stack # Switch to NBP stack + + int $0x2b # Call NBP + + data32 + call __switch_stack # Restore stack + + data32 + call __real_to_prot # Back to protected mode + + ###### Real Mode End ###### + + popal + leave + ret +#endif + +#if UNUSED +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// pcpy(src, dst, cnt) +// where src is a virtual address and dst is a physical address +// +LABEL(_pcpy) + push %ebp + mov %esp, %ebp + push %es + push %esi + push %edi + push %ecx + + cld + + // set %es to point at the flat segment + + mov $0x20, %eax + movw %ax , %es + + mov 0x8(%ebp), %esi // source + mov 0xc(%ebp), %edi // destination + mov 0x10(%ebp), %ecx // count + + rep + movsb + + pop %ecx + pop %edi + pop %esi + pop %es + pop %ebp + + ret +#endif Index: branches/prasys/i386/libsaio/console.c =================================================================== --- branches/prasys/i386/libsaio/console.c (revision 0) +++ branches/prasys/i386/libsaio/console.c (revision 24) @@ -0,0 +1,152 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Mach Operating System + * Copyright (c) 1990 Carnegie-Mellon University + * Copyright (c) 1989 Carnegie-Mellon University + * All rights reserved. The CMU software License Agreement specifies + * the terms and conditions for use and redistribution. + */ + +/* + * INTEL CORPORATION PROPRIETARY INFORMATION + * + * This software is supplied under the terms of a license agreement or + * nondisclosure agreement with Intel Corporation and may not be copied + * nor disclosed except in accordance with the terms of that agreement. + * + * Copyright 1988, 1989 Intel Corporation + */ + +/* + * Copyright 1993 NeXT, Inc. + * All rights reserved. + */ + +#include "libsaio.h" +#include "bootstruct.h" + +extern int vprf(const char * fmt, va_list ap); + +BOOL gVerboseMode; +BOOL gErrors; + +/* + * write one character to console + */ +void putchar(int c) +{ + if ( c == '\t' ) + { + for (c = 0; c < 8; c++) putc(' '); + return; + } + + if ( c == '\n' ) + { + putc('\r'); + } + + putc(c); +} + +int getc() +{ + int c = bgetc(); + + if ((c & 0xff) == 0) + return c; + else + return (c & 0xff); +} + +// Read and echo a character from console. This doesn't echo backspace +// since that screws up higher level handling + +int getchar() +{ + register int c = getc(); + + if ( c == '\r' ) c = '\n'; + + if ( c >= ' ' && c < 0x7f) putchar(c); + + return (c); +} + +int printf(const char * fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + if (bootArgs->Video.v_display == VGA_TEXT_MODE) + prf(fmt, ap, putchar, 0); + else + vprf(fmt, ap); + va_end(ap); + return 0; +} + +int verbose(const char * fmt, ...) +{ + va_list ap; + + if (gVerboseMode) + { + va_start(ap, fmt); + if (bootArgs->Video.v_display == VGA_TEXT_MODE) + prf(fmt, ap, putchar, 0); + else + vprf(fmt, ap); + va_end(ap); + } + return(0); +} + +int error(const char * fmt, ...) +{ + va_list ap; + gErrors = YES; + va_start(ap, fmt); + if (bootArgs->Video.v_display == VGA_TEXT_MODE) + prf(fmt, ap, putchar, 0); + else + vprf(fmt, ap); + va_end(ap); + return(0); +} + +void stop(const char * fmt, ...) +{ + va_list ap; + + printf("\n"); + va_start(ap, fmt); + if (bootArgs->Video.v_display == VGA_TEXT_MODE) + prf(fmt, ap, putchar, 0); + else + vprf(fmt, ap); + va_end(ap); + printf("\n"); + halt(); +} Index: branches/prasys/i386/libsaio/xml.h =================================================================== --- branches/prasys/i386/libsaio/xml.h (revision 0) +++ branches/prasys/i386/libsaio/xml.h (revision 24) @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +#ifndef __LIBSAIO_XML_H +#define __LIBSAIO_XML_H + +enum { + kTagTypeNone = 0, + kTagTypeDict, + kTagTypeKey, + kTagTypeString, + kTagTypeInteger, + kTagTypeData, + kTagTypeDate, + kTagTypeFalse, + kTagTypeTrue, + kTagTypeArray +}; + +#define kXMLTagPList "plist " +#define kXMLTagDict "dict" +#define kXMLTagKey "key" +#define kXMLTagString "string" +#define kXMLTagInteger "integer" +#define kXMLTagData "data" +#define kXMLTagDate "date" +#define kXMLTagFalse "false/" +#define kXMLTagTrue "true/" +#define kXMLTagArray "array" + + +#define kPropCFBundleIdentifier ("CFBundleIdentifier") +#define kPropCFBundleExecutable ("CFBundleExecutable") +#define kPropOSBundleRequired ("OSBundleRequired") +#define kPropOSBundleLibraries ("OSBundleLibraries") +#define kPropIOKitPersonalities ("IOKitPersonalities") +#define kPropIONameMatch ("IONameMatch") + +/* +struct Tag { + long type; + char *string; + struct Tag *tag; + struct Tag *tagNext; +}; +typedef struct Tag Tag, *TagPtr; + */ + +extern long gImageFirstBootXAddr; +extern long gImageLastKernelAddr; + +TagPtr XMLGetProperty( TagPtr dict, const char * key ); +long XMLParseNextTag(char *buffer, TagPtr *tag); +void XMLFreeTag(TagPtr tag); +//========================================================================== +// XMLParseFile +// Expects to see one dictionary in the XML file. +// Puts the first dictionary it finds in the +// tag pointer and returns 0, or returns -1 if not found. +// +long XMLParseFile( char * buffer, TagPtr * dict ); + +#endif /* __LIBSAIO_XML_H */ Index: branches/prasys/i386/libsaio/efi.h =================================================================== --- branches/prasys/i386/libsaio/efi.h (revision 0) +++ branches/prasys/i386/libsaio/efi.h (revision 24) @@ -0,0 +1,558 @@ +/* + * Copyright (c) 2005 Apple Computer, Inc. All rights reserved. + * + * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. The rights granted to you under the License + * may not be used to create, or enable the creation or redistribution of, + * unlawful or unlicensed copies of an Apple operating system, or to + * circumvent, violate, or enable the circumvention or violation of, any + * terms of an Apple operating system software license agreement. + * + * Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ + */ + +#ifndef _PEXPERT_I386_EFI_H +#define _PEXPERT_I386_EFI_H + +#include + +typedef uint8_t EFI_UINT8; +typedef uint16_t EFI_UINT16; +typedef uint32_t EFI_UINT32; +typedef uint64_t EFI_UINT64; + +typedef uint32_t EFI_UINTN; /* natural size for firmware, not kernel */ + +typedef int8_t EFI_INT8; +typedef int16_t EFI_INT16; +typedef int32_t EFI_INT32; +typedef int64_t EFI_INT64; + +typedef int8_t EFI_CHAR8; +typedef int16_t EFI_CHAR16; +typedef int32_t EFI_CHAR32; +typedef int64_t EFI_CHAR64; + +typedef uint32_t EFI_STATUS; +typedef uint8_t EFI_BOOLEAN; +typedef void VOID; + +typedef uint32_t EFI_PTR32; +typedef uint32_t EFI_HANDLE32; + +typedef uint64_t EFI_PTR64; +typedef uint64_t EFI_HANDLE64; +/* + +Portions Copyright 2004, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +*/ + + +// +// Modifiers for EFI Runtime and Boot Services +// +#define EFI_RUNTIMESERVICE +#define EFIAPI +#define IN +#define OUT +#define OPTIONAL + +#define EFI_MAX_BIT 0x80000000 + +// +// Set the upper bit to indicate EFI Error. +// +#define EFIERR(a) (EFI_MAX_BIT | (a)) + +#define EFIWARN(a) (a) +#define EFI_ERROR(a) (((INTN) (a)) < 0) + +#define EFI_SUCCESS 0 +#define EFI_LOAD_ERROR EFIERR (1) +#define EFI_INVALID_PARAMETER EFIERR (2) +#define EFI_UNSUPPORTED EFIERR (3) +#define EFI_BAD_BUFFER_SIZE EFIERR (4) +#define EFI_BUFFER_TOO_SMALL EFIERR (5) +#define EFI_NOT_READY EFIERR (6) +#define EFI_DEVICE_ERROR EFIERR (7) +#define EFI_WRITE_PROTECTED EFIERR (8) +#define EFI_OUT_OF_RESOURCES EFIERR (9) +#define EFI_VOLUME_CORRUPTED EFIERR (10) +#define EFI_VOLUME_FULL EFIERR (11) +#define EFI_NO_MEDIA EFIERR (12) +#define EFI_MEDIA_CHANGED EFIERR (13) +#define EFI_NOT_FOUND EFIERR (14) +#define EFI_ACCESS_DENIED EFIERR (15) +#define EFI_NO_RESPONSE EFIERR (16) +#define EFI_NO_MAPPING EFIERR (17) +#define EFI_TIMEOUT EFIERR (18) +#define EFI_NOT_STARTED EFIERR (19) +#define EFI_ALREADY_STARTED EFIERR (20) +#define EFI_ABORTED EFIERR (21) +#define EFI_ICMP_ERROR EFIERR (22) +#define EFI_TFTP_ERROR EFIERR (23) +#define EFI_PROTOCOL_ERROR EFIERR (24) +#define EFI_INCOMPATIBLE_VERSION EFIERR (25) +#define EFI_SECURITY_VIOLATION EFIERR (26) +#define EFI_CRC_ERROR EFIERR (27) + +#define EFI_WARN_UNKNOWN_GLYPH EFIWARN (1) +#define EFI_WARN_DELETE_FAILURE EFIWARN (2) +#define EFI_WARN_WRITE_FAILURE EFIWARN (3) +#define EFI_WARN_BUFFER_TOO_SMALL EFIWARN (4) + +// +// EFI Specification Revision information +// +#define EFI_SPECIFICATION_MAJOR_REVISION 1 +#define EFI_SPECIFICATION_MINOR_REVISION 10 + +typedef struct { + EFI_UINT32 Data1; + EFI_UINT16 Data2; + EFI_UINT16 Data3; + EFI_UINT8 Data4[8]; +} EFI_GUID; + +#define APPLE_VENDOR_GUID \ + {0xAC39C713, 0x7E50, 0x423D, {0x88, 0x9D, 0x27,0x8F, 0xCC, 0x34, 0x22, 0xB6} } + +#define EFI_GLOBAL_VARIABLE_GUID \ + {0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C} } + +typedef union { + EFI_GUID Guid; + EFI_UINT8 Raw[16]; +} EFI_GUID_UNION; + +// +// EFI Time Abstraction: +// Year: 2000 - 20XX +// Month: 1 - 12 +// Day: 1 - 31 +// Hour: 0 - 23 +// Minute: 0 - 59 +// Second: 0 - 59 +// Nanosecond: 0 - 999,999,999 +// TimeZone: -1440 to 1440 or 2047 +// +typedef struct { + EFI_UINT16 Year; + EFI_UINT8 Month; + EFI_UINT8 Day; + EFI_UINT8 Hour; + EFI_UINT8 Minute; + EFI_UINT8 Second; + EFI_UINT8 Pad1; + EFI_UINT32 Nanosecond; + EFI_INT16 TimeZone; + EFI_UINT8 Daylight; + EFI_UINT8 Pad2; +} EFI_TIME; + +// +// Bit definitions for EFI_TIME.Daylight +// +#define EFI_TIME_ADJUST_DAYLIGHT 0x01 +#define EFI_TIME_IN_DAYLIGHT 0x02 + +// +// Value definition for EFI_TIME.TimeZone +// +#define EFI_UNSPECIFIED_TIMEZONE 0x07FF + +typedef enum { + EfiReservedMemoryType, + EfiLoaderCode, + EfiLoaderData, + EfiBootServicesCode, + EfiBootServicesData, + EfiRuntimeServicesCode, + EfiRuntimeServicesData, + EfiConventionalMemory, + EfiUnusableMemory, + EfiACPIReclaimMemory, + EfiACPIMemoryNVS, + EfiMemoryMappedIO, + EfiMemoryMappedIOPortSpace, + EfiPalCode, + EfiMaxMemoryType +} EFI_MEMORY_TYPE; + +typedef struct { + EFI_UINT64 Signature; + EFI_UINT32 Revision; + EFI_UINT32 HeaderSize; + EFI_UINT32 CRC32; + EFI_UINT32 Reserved; +} __attribute__((aligned(8))) EFI_TABLE_HEADER; + +// +// possible caching types for the memory range +// +#define EFI_MEMORY_UC 0x0000000000000001ULL +#define EFI_MEMORY_WC 0x0000000000000002ULL +#define EFI_MEMORY_WT 0x0000000000000004ULL +#define EFI_MEMORY_WB 0x0000000000000008ULL +#define EFI_MEMORY_UCE 0x0000000000000010ULL + +// +// physical memory protection on range +// +#define EFI_MEMORY_WP 0x0000000000001000ULL +#define EFI_MEMORY_RP 0x0000000000002000ULL +#define EFI_MEMORY_XP 0x0000000000004000ULL + +// +// range requires a runtime mapping +// +#define EFI_MEMORY_RUNTIME 0x8000000000000000ULL + +typedef EFI_UINT64 EFI_PHYSICAL_ADDRESS; +typedef EFI_UINT64 EFI_VIRTUAL_ADDRESS; + +#define EFI_MEMORY_DESCRIPTOR_VERSION 1 +typedef struct { + EFI_UINT32 Type; + EFI_UINT32 Pad; + EFI_PHYSICAL_ADDRESS PhysicalStart; + EFI_VIRTUAL_ADDRESS VirtualStart; + EFI_UINT64 NumberOfPages; + EFI_UINT64 Attribute; +} __attribute__((aligned(8))) EFI_MEMORY_DESCRIPTOR; + + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_SET_VIRTUAL_ADDRESS_MAP) ( + IN EFI_UINTN MemoryMapSize, + IN EFI_UINTN DescriptorSize, + IN EFI_UINT32 DescriptorVersion, + IN EFI_MEMORY_DESCRIPTOR * VirtualMap + ) __attribute__((regparm(0))); + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_CONVERT_POINTER) ( + IN EFI_UINTN DebugDisposition, + IN OUT VOID **Address + ) __attribute__((regparm(0))); + +// +// Variable attributes +// +#define EFI_VARIABLE_NON_VOLATILE 0x00000001 +#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 +#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 +#define EFI_VARIABLE_READ_ONLY 0x00000008 + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_GET_VARIABLE) ( + IN EFI_CHAR16 * VariableName, + IN EFI_GUID * VendorGuid, + OUT EFI_UINT32 * Attributes OPTIONAL, + IN OUT EFI_UINTN * DataSize, + OUT VOID * Data + ) __attribute__((regparm(0))); + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_GET_NEXT_VARIABLE_NAME) ( + IN OUT EFI_UINTN * VariableNameSize, + IN OUT EFI_CHAR16 * VariableName, + IN OUT EFI_GUID * VendorGuid + ) __attribute__((regparm(0))); + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_SET_VARIABLE) ( + IN EFI_CHAR16 * VariableName, + IN EFI_GUID * VendorGuid, + IN EFI_UINT32 Attributes, + IN EFI_UINTN DataSize, + IN VOID * Data + ) __attribute__((regparm(0))); + +// +// EFI Time +// +typedef struct { + EFI_UINT32 Resolution; + EFI_UINT32 Accuracy; + EFI_BOOLEAN SetsToZero; +} __attribute__((aligned(4))) EFI_TIME_CAPABILITIES; + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_GET_TIME) ( + OUT EFI_TIME * Time, + OUT EFI_TIME_CAPABILITIES * Capabilities OPTIONAL + ) __attribute__((regparm(0))); + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_SET_TIME) ( + IN EFI_TIME * Time + ) __attribute__((regparm(0))); + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_GET_WAKEUP_TIME) ( + OUT EFI_BOOLEAN * Enabled, + OUT EFI_BOOLEAN * Pending, + OUT EFI_TIME * Time + ) __attribute__((regparm(0))); + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_SET_WAKEUP_TIME) ( + IN EFI_BOOLEAN Enable, + IN EFI_TIME * Time OPTIONAL + ) __attribute((regparm(0))); + +typedef enum { + EfiResetCold, + EfiResetWarm, + EfiResetShutdown, + +#ifdef TIANO_EXTENSION_FLAG + EfiResetUpdate +#endif + +} EFI_RESET_TYPE; + +typedef +EFI_RUNTIMESERVICE +VOID +(EFIAPI *EFI_RESET_SYSTEM) ( + IN EFI_RESET_TYPE ResetType, + IN EFI_STATUS ResetStatus, + IN EFI_UINTN DataSize, + IN EFI_CHAR16 * ResetData OPTIONAL + ) __attribute__((regparm(0))); + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_GET_NEXT_HIGH_MONO_COUNT) ( + OUT EFI_UINT32 * HighCount + ) __attribute__((regparm(0))); + +// +// Definition of Status Code extended data header +// +// HeaderSize The size of the architecture. This is specified to enable +// the future expansion +// +// Size The size of the data in bytes. This does not include the size +// of the header structure. +// +// Type A GUID defining the type of the data +// +// +#ifdef TIANO_EXTENSION_FLAG + +typedef +EFI_RUNTIMESERVICE +EFI_STATUS +(EFIAPI *EFI_REPORT_STATUS_CODE) ( + IN EFI_STATUS_CODE_TYPE Type, + IN EFI_STATUS_CODE_VALUE Value, + IN EFI_UINT32 Instance, + IN EFI_GUID * CallerId OPTIONAL, + IN EFI_STATUS_CODE_DATA * Data OPTIONAL + ) __attribute__((regparm(0))); + +#endif +// +// EFI Runtime Services Table +// +#define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552ULL +#define EFI_RUNTIME_SERVICES_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION << 16) | (EFI_SPECIFICATION_MINOR_REVISION)) + +typedef struct { + EFI_TABLE_HEADER Hdr; + + // + // Time services + // + EFI_PTR32 GetTime; + EFI_PTR32 SetTime; + EFI_PTR32 GetWakeupTime; + EFI_PTR32 SetWakeupTime; + + // + // Virtual memory services + // + EFI_PTR32 SetVirtualAddressMap; + EFI_PTR32 ConvertPointer; + + // + // Variable services + // + EFI_PTR32 GetVariable; + EFI_PTR32 GetNextVariableName; + EFI_PTR32 SetVariable; + + // + // Misc + // + EFI_PTR32 GetNextHighMonotonicCount; + EFI_PTR32 ResetSystem; + +#ifdef TIANO_EXTENSION_FLAG + // + // //////////////////////////////////////////////////// + // Extended EFI Services + ////////////////////////////////////////////////////// + // + EFI_PTR32 ReportStatusCode; +#endif + +} __attribute__((aligned(8))) EFI_RUNTIME_SERVICES_32; + +typedef struct { + EFI_TABLE_HEADER Hdr; + + // + // Time services + // + EFI_PTR64 GetTime; + EFI_PTR64 SetTime; + EFI_PTR64 GetWakeupTime; + EFI_PTR64 SetWakeupTime; + + // + // Virtual memory services + // + EFI_PTR64 SetVirtualAddressMap; + EFI_PTR64 ConvertPointer; + + // + // Variable services + // + EFI_PTR64 GetVariable; + EFI_PTR64 GetNextVariableName; + EFI_PTR64 SetVariable; + + // + // Misc + // + EFI_PTR64 GetNextHighMonotonicCount; + EFI_PTR64 ResetSystem; + +#ifdef TIANO_EXTENSION_FLAG + // + // //////////////////////////////////////////////////// + // Extended EFI Services + ////////////////////////////////////////////////////// + // + EFI_PTR64 ReportStatusCode; +#endif + +} __attribute__((aligned(8))) EFI_RUNTIME_SERVICES_64; + +// +// EFI Configuration Table +// +typedef struct { + EFI_GUID VendorGuid; + EFI_PTR32 VendorTable; +} EFI_CONFIGURATION_TABLE_32; + +typedef struct { + EFI_GUID VendorGuid; + EFI_PTR64 VendorTable; +} __attribute__((aligned(8))) EFI_CONFIGURATION_TABLE_64; + +// +// EFI System Table +// +#define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249ULL +#define EFI_SYSTEM_TABLE_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION << 16) | (EFI_SPECIFICATION_MINOR_REVISION)) +#define EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | 00) +#define EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | 02) +#define EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | 10) + +typedef struct EFI_SYSTEM_TABLE_32 { + EFI_TABLE_HEADER Hdr; + + EFI_PTR32 FirmwareVendor; + EFI_UINT32 FirmwareRevision; + + EFI_HANDLE32 ConsoleInHandle; + EFI_PTR32 ConIn; + + EFI_HANDLE32 ConsoleOutHandle; + EFI_PTR32 ConOut; + + EFI_HANDLE32 StandardErrorHandle; + EFI_PTR32 StdErr; + + EFI_PTR32 RuntimeServices; + EFI_PTR32 BootServices; + + EFI_UINT32 NumberOfTableEntries; + EFI_PTR32 ConfigurationTable; + +} __attribute__((aligned(8))) EFI_SYSTEM_TABLE_32; + +typedef struct EFI_SYSTEM_TABLE_64 { + EFI_TABLE_HEADER Hdr; + + EFI_PTR64 FirmwareVendor; + EFI_UINT32 FirmwareRevision; + + EFI_UINT32 __pad; + + EFI_HANDLE64 ConsoleInHandle; + EFI_PTR64 ConIn; + + EFI_HANDLE64 ConsoleOutHandle; + EFI_PTR64 ConOut; + + EFI_HANDLE64 StandardErrorHandle; + EFI_PTR64 StdErr; + + EFI_PTR64 RuntimeServices; + EFI_PTR64 BootServices; + + EFI_UINT64 NumberOfTableEntries; + EFI_PTR64 ConfigurationTable; + +} __attribute__((aligned(8))) EFI_SYSTEM_TABLE_64; + +#endif /* _PEXPERT_I386_EFI_H */ Index: branches/prasys/i386/libsaio/bootstruct.c =================================================================== --- branches/prasys/i386/libsaio/bootstruct.c (revision 0) +++ branches/prasys/i386/libsaio/bootstruct.c (revision 24) @@ -0,0 +1,173 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Copyright 1993 NeXT, Inc. + * All rights reserved. + */ + +#include "libsaio.h" +#include "bootstruct.h" + +/*========================================================================== + * Initialize the structure of parameters passed to + * the kernel by the booter. + */ + +boot_args *bootArgs; +PrivateBootInfo_t *bootInfo; +Node *gMemoryMapNode; + +static char platformName[64]; + +void initKernBootStruct( void ) +{ + Node *node; + int nameLen; + static int init_done = 0; + + if ( !init_done ) + { + bootArgs = (boot_args *)malloc(sizeof(boot_args)); + bootInfo = (PrivateBootInfo_t *)malloc(sizeof(PrivateBootInfo_t)); + if (bootArgs == 0 || bootInfo == 0) + stop("Couldn't allocate boot info\n"); + + bzero(bootArgs, sizeof(boot_args)); + bzero(bootInfo, sizeof(PrivateBootInfo_t)); + + // Get system memory map. Also update the size of the + // conventional/extended memory for backwards compatibility. + + bootInfo->memoryMapCount = + getMemoryMap( bootInfo->memoryMap, kMemoryMapCountMax, + (unsigned long *) &bootInfo->convmem, + (unsigned long *) &bootInfo->extmem ); + + if ( bootInfo->memoryMapCount == 0 ) + { + // BIOS did not provide a memory map, systems with + // discontiguous memory or unusual memory hole locations + // may have problems. + + bootInfo->convmem = getConventionalMemorySize(); + bootInfo->extmem = getExtendedMemorySize(); + } + + bootInfo->configEnd = bootInfo->config; + bootArgs->Video.v_display = VGA_TEXT_MODE; + + DT__Initialize(); + + node = DT__FindNode("/", true); + if (node == 0) { + stop("Couldn't create root node"); + } + getPlatformName(platformName); + nameLen = strlen(platformName) + 1; + DT__AddProperty(node, "compatible", nameLen, platformName); + DT__AddProperty(node, "model", nameLen, platformName); + + gMemoryMapNode = DT__FindNode("/chosen/memory-map", true); + + bootArgs->Version = kBootArgsVersion; + bootArgs->Revision = 5; + + init_done = 1; + } + +} + + +/* Copy boot args after kernel and record address. */ + +void +reserveKernBootStruct(void) +{ + void *oldAddr = bootArgs; + bootArgs = (boot_args *)AllocateKernelMemory(sizeof(boot_args)); + bcopy(oldAddr, bootArgs, sizeof(boot_args)); +} + +void +finalizeBootStruct(void) +{ + uint32_t size; + void *addr; + int i; + EfiMemoryRange *memoryMap; + MemoryRange *range; + int memoryMapCount = bootInfo->memoryMapCount; + + if (memoryMapCount == 0) { + // XXX could make a two-part map here + stop("Unable to convert memory map into proper format\n"); + } + + // convert memory map to boot_args memory map + memoryMap = (EfiMemoryRange *)AllocateKernelMemory(sizeof(EfiMemoryRange) * memoryMapCount); + bootArgs->MemoryMap = (uint32_t)memoryMap; + bootArgs->MemoryMapSize = sizeof(EfiMemoryRange) * memoryMapCount; + bootArgs->MemoryMapDescriptorSize = sizeof(EfiMemoryRange); + bootArgs->MemoryMapDescriptorVersion = 0; + + for (i=0; imemoryMap[i]; + switch(range->type) { + case kMemoryRangeACPI: + memoryMap->Type = kEfiACPIReclaimMemory; + break; + case kMemoryRangeNVS: + memoryMap->Type = kEfiACPIMemoryNVS; + break; + case kMemoryRangeUsable: + memoryMap->Type = kEfiConventionalMemory; + break; + case kMemoryRangeReserved: + default: + memoryMap->Type = kEfiReservedMemoryType; + break; + } + memoryMap->PhysicalStart = range->base; + memoryMap->VirtualStart = range->base; + memoryMap->NumberOfPages = range->length >> I386_PGSHIFT; + memoryMap->Attribute = 0; + } + + // copy bootFile into device tree + // XXX + + // add PCI info somehow into device tree + // XXX + + // Flatten device tree + DT__FlattenDeviceTree(0, &size); + addr = (void *)AllocateKernelMemory(size); + if (addr == 0) { + stop("Couldn't allocate device tree\n"); + } + + DT__FlattenDeviceTree((void **)&addr, &size); + bootArgs->deviceTreeP = (uint32_t)addr; + bootArgs->deviceTreeLength = size; +} Index: branches/prasys/i386/libsaio/ntfs_private.h =================================================================== --- branches/prasys/i386/libsaio/ntfs_private.h (revision 0) +++ branches/prasys/i386/libsaio/ntfs_private.h (revision 24) @@ -0,0 +1,397 @@ +/* + * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* $NetBSD: ntfs.h,v 1.9 1999/10/31 19:45:26 jdolecek Exp $ */ + +/*- + * Copyright (c) 1998, 1999 Semen Ustimenko + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD: src/sys/fs/ntfs/ntfs.h,v 1.14 2001/11/27 00:18:33 jhb Exp $ + */ + +/*#define NTFS_DEBUG 1*/ + +#ifdef APPLE +/* We're using FreeBSD style byte order macros in the source. */ +#include +#define le16toh(x) OSSwapLittleToHostInt16(x) +#define le32toh(x) OSSwapLittleToHostInt32(x) +#define le64toh(x) OSSwapLittleToHostInt64(x) + +/* FreeBSD mutexes correspond to Darwin's simple locks */ +#define mtx_lock(lock) simple_lock(lock) +#define mtx_unlock(lock) simple_unlock(lock) +#define mtx_destroy(lock) /* Nothing. */ + +#define lockdestroy(lock) /* Nothing. */ + +#endif + +typedef u_int64_t cn_t; +typedef u_int16_t wchar; + +#pragma pack(1) +#define BBSIZE 1024 +#define BBOFF ((off_t)(0)) +#define BBLOCK ((daddr_t)(0)) +#define NTFS_MFTINO 0 +#define NTFS_VOLUMEINO 3 +#define NTFS_ATTRDEFINO 4 +#define NTFS_ROOTINO 5 +#define NTFS_BITMAPINO 6 +#define NTFS_BOOTINO 7 +#define NTFS_BADCLUSINO 8 +#define NTFS_UPCASEINO 10 +#define NTFS_MAXFILENAME 255 + +struct fixuphdr { + u_int32_t fh_magic; + u_int16_t fh_foff; + u_int16_t fh_fnum; +}; + +#define NTFS_AF_INRUN 0x00000001 +struct attrhdr { + u_int32_t a_type; + u_int32_t reclen; + u_int8_t a_flag; + u_int8_t a_namelen; + u_int8_t a_nameoff; + u_int8_t reserved1; + u_int8_t a_compression; + u_int8_t reserved2; + u_int16_t a_index; +}; +#define NTFS_A_STD 0x10 +#define NTFS_A_ATTRLIST 0x20 +#define NTFS_A_NAME 0x30 +#define NTFS_A_VOLUMENAME 0x60 +#define NTFS_A_DATA 0x80 +#define NTFS_A_INDXROOT 0x90 +#define NTFS_A_INDX 0xA0 +#define NTFS_A_INDXBITMAP 0xB0 + +#define NTFS_MAXATTRNAME 255 +struct attr { + struct attrhdr a_hdr; + union { + struct { + u_int16_t a_datalen; + u_int16_t reserved1; + u_int16_t a_dataoff; + u_int16_t a_indexed; + } a_S_r; + struct { + cn_t a_vcnstart; + cn_t a_vcnend; + u_int16_t a_dataoff; + u_int16_t a_compressalg; + u_int32_t reserved1; + u_int64_t a_allocated; + u_int64_t a_datalen; + u_int64_t a_initialized; + } a_S_nr; + } a_S; +}; +#define a_r a_S.a_S_r +#define a_nr a_S.a_S_nr + +typedef struct { + u_int64_t t_create; + u_int64_t t_write; + u_int64_t t_mftwrite; + u_int64_t t_access; +} ntfs_times_t; + +#define NTFS_FFLAG_RDONLY 0x01LL +#define NTFS_FFLAG_HIDDEN 0x02LL +#define NTFS_FFLAG_SYSTEM 0x04LL +#define NTFS_FFLAG_ARCHIVE 0x20LL +#define NTFS_FFLAG_COMPRESSED 0x0800LL +#define NTFS_FFLAG_DIR 0x10000000LL + +struct attr_name { + u_int32_t n_pnumber; /* Parent ntnode */ + u_int32_t reserved; + ntfs_times_t n_times; + u_int64_t n_size; + u_int64_t n_attrsz; + u_int64_t n_flag; + u_int8_t n_namelen; + u_int8_t n_nametype; + u_int16_t n_name[1]; +}; + +#define NTFS_IRFLAG_INDXALLOC 0x00000001 +struct attr_indexroot { + u_int32_t ir_unkn1; /* attribute type (0x30 for $FILE_NAME) */ + u_int32_t ir_unkn2; /* collation rule (0x01 for file names) */ + u_int32_t ir_size; /* size of index allocation entry */ + u_int32_t ir_unkn3; /* clusters per index record, and 3 bytes padding */ + u_int32_t ir_unkn4; /* (offset to first index entry?) always 0x10 */ + u_int32_t ir_datalen; /* (total size of index enties?) sizeof something */ + u_int32_t ir_allocated; /* (allocated size of index entries?) */ + u_int8_t ir_flag; /* 1=index allocation needed (large index) */ + u_int8_t ir_pad1; /* padding */ + u_int16_t ir_pad2; /* padding */ +}; + +struct attr_attrlist { + u_int32_t al_type; /* Attribute type */ + u_int16_t reclen; /* length of this entry */ + u_int8_t al_namelen; /* Attribute name len */ + u_int8_t al_nameoff; /* Name offset from entry start */ + u_int64_t al_vcnstart; /* VCN number */ + u_int32_t al_inumber; /* Parent ntnode */ + u_int32_t reserved; + u_int16_t al_index; /* Attribute index in MFT record */ + u_int16_t al_name[1]; /* Name */ +}; + +#define NTFS_INDXMAGIC (u_int32_t)(0x58444E49) +struct attr_indexalloc { + struct fixuphdr ia_fixup; + u_int64_t unknown1; + cn_t ia_bufcn; + u_int16_t ia_hdrsize; + u_int16_t unknown2; + u_int32_t ia_inuse; + u_int32_t ia_allocated; +}; + +#define NTFS_IEFLAG_SUBNODE 0x00000001 +#define NTFS_IEFLAG_LAST 0x00000002 + +struct attr_indexentry { + u_int32_t ie_number; + u_int32_t unknown1; + u_int16_t reclen; + u_int16_t ie_size; + u_int32_t ie_flag;/* 1 - has subnodes, 2 - last */ + u_int32_t ie_fpnumber; + u_int32_t unknown2; + ntfs_times_t ie_ftimes; + u_int64_t ie_fallocated; + u_int64_t ie_fsize; + u_int32_t ie_fflag; + u_int32_t unknown3; /* used by reparse points and external attributes? */ + u_int8_t ie_fnamelen; + u_int8_t ie_fnametype; + wchar ie_fname[NTFS_MAXFILENAME]; + /* cn_t ie_bufcn; buffer with subnodes */ +}; + +#define NTFS_FILEMAGIC (u_int32_t)(0x454C4946) +#define NTFS_FRFLAG_DIR 0x0002 +struct filerec { + struct fixuphdr fr_fixup; + u_int8_t reserved[8]; + u_int16_t fr_seqnum; /* Sequence number */ + u_int16_t fr_nlink; + u_int16_t fr_attroff; /* offset to attributes */ + u_int16_t fr_flags; /* 1-nonresident attr, 2-directory */ + u_int32_t fr_size;/* hdr + attributes */ + u_int32_t fr_allocated; /* allocated length of record */ + u_int64_t fr_mainrec; /* main record */ + u_int16_t fr_attrnum; /* maximum attr number + 1 ??? */ +}; + +#define NTFS_ATTRNAME_MAXLEN 0x40 +#define NTFS_ADFLAG_NONRES 0x0080 /* Attrib can be non resident */ +#define NTFS_ADFLAG_INDEX 0x0002 /* Attrib can be indexed */ +struct attrdef { + wchar ad_name[NTFS_ATTRNAME_MAXLEN]; + u_int32_t ad_type; + u_int32_t reserved1[2]; + u_int32_t ad_flag; + u_int64_t ad_minlen; + u_int64_t ad_maxlen; /* -1 for nonlimited */ +}; + +struct ntvattrdef { + char ad_name[0x40]; + int ad_namelen; + u_int32_t ad_type; +}; + +#define NTFS_BBID "NTFS " +#define NTFS_BBIDLEN 8 +struct bootfile { + u_int8_t reserved1[3]; /* asm jmp near ... */ + u_int8_t bf_sysid[8]; /* 'NTFS ' */ + u_int16_t bf_bps; /* bytes per sector */ + u_int8_t bf_spc; /* sectors per cluster */ + u_int8_t reserved2[7]; /* unused (zeroed) */ + u_int8_t bf_media; /* media desc. (0xF8) */ + u_int8_t reserved3[2]; + u_int16_t bf_spt; /* sectors per track */ + u_int16_t bf_heads; /* number of heads */ + u_int8_t reserver4[12]; + u_int64_t bf_spv; /* sectors per volume */ + cn_t bf_mftcn; /* $MFT cluster number */ + cn_t bf_mftmirrcn; /* $MFTMirr cn */ + u_int8_t bf_mftrecsz; /* MFT record size (clust) */ + /* 0xF6 inducates 1/4 */ + u_int32_t bf_ibsz; /* index buffer size */ + u_int32_t bf_volsn; /* volume ser. num. */ +}; + +/* + * Darwin's ntfs.util needs to include this file to get definitions + * for the on-disk structures. It doesn't need the ntfsmount structure. + * In fact, since it doesn't #define KERNEL, the struct netexport below + * won't be defined. + * + * So, I'm using #ifdef KERNEL around the things that are only relevant + * to the in-kernel implementation. + * + * I don't know if FreeBSD defines KERNEL, or if I need to use or + * invent a different conditional here. + */ +#ifdef KERNEL + +#define NTFS_SYSNODESNUM 0x0B +struct ntfsmount { + struct mount *ntm_mountp; /* filesystem vfs structure */ + struct bootfile ntm_bootfile; + dev_t ntm_dev; /* device mounted */ + struct vnode *ntm_devvp; /* block device mounted vnode */ + struct vnode *ntm_sysvn[NTFS_SYSNODESNUM]; + u_int32_t ntm_bpmftrec; + uid_t ntm_uid; + gid_t ntm_gid; + mode_t ntm_mode; + u_long ntm_flag; + cn_t ntm_cfree; + struct ntvattrdef *ntm_ad; /* attribute names are stored in native byte order */ + int ntm_adnum; + wchar * ntm_82u; /* 8bit to Unicode */ + char ** ntm_u28; /* Unicode to 8 bit */ +#ifdef APPLE + struct netexport ntm_export; /* NFS export information */ +#endif +}; + +#define ntm_mftcn ntm_bootfile.bf_mftcn +#define ntm_mftmirrcn ntm_bootfile.bf_mftmirrcn +#define ntm_mftrecsz ntm_bootfile.bf_mftrecsz +#define ntm_spc ntm_bootfile.bf_spc +#define ntm_bps ntm_bootfile.bf_bps + +#pragma pack() + +#define NTFS_NEXTREC(s, type) ((type)(((caddr_t) s) + le16toh((s)->reclen))) + +/* Convert mount ptr to ntfsmount ptr. */ +#define VFSTONTFS(mp) ((struct ntfsmount *)((mp)->mnt_data)) +#define VTONT(v) FTONT(VTOF(v)) +#define VTOF(v) ((struct fnode *)((v)->v_data)) +#define FTOV(f) ((f)->f_vp) +#define FTONT(f) ((f)->f_ip) +#define ntfs_cntobn(cn) ((daddr_t)(cn) * (ntmp->ntm_spc)) +#define ntfs_cntob(cn) ((off_t)(cn) * (ntmp)->ntm_spc * (ntmp)->ntm_bps) +#define ntfs_btocn(off) (cn_t)((off) / ((ntmp)->ntm_spc * (ntmp)->ntm_bps)) +#define ntfs_btocl(off) (cn_t)((off + ntfs_cntob(1) - 1) / ((ntmp)->ntm_spc * (ntmp)->ntm_bps)) +#define ntfs_btocnoff(off) (off_t)((off) % ((ntmp)->ntm_spc * (ntmp)->ntm_bps)) +#define ntfs_bntob(bn) (daddr_t)((bn) * (ntmp)->ntm_bps) + +#define ntfs_bpbl (daddr_t)((ntmp)->ntm_bps) + +#ifdef MALLOC_DECLARE +MALLOC_DECLARE(M_NTFSMNT); +MALLOC_DECLARE(M_NTFSNTNODE); +MALLOC_DECLARE(M_NTFSFNODE); +MALLOC_DECLARE(M_NTFSDIR); +MALLOC_DECLARE(M_NTFSNTHASH); +#endif + +#ifndef M_NTFSMNT +#define M_NTFSMNT M_TEMP +#endif +#ifndef M_NTFSNTNODE +#define M_NTFSNTNODE M_TEMP +#endif +#ifndef M_NTFSFNODE +#define M_NTFSFNODE M_TEMP +#endif +#ifndef M_NTFSDIR +#define M_NTFSDIR M_TEMP +#endif +#ifndef M_NTFSNTHASH +#define M_NTFSNTHASH M_TEMP +#endif +#ifndef M_NTFSRUN +#define M_NTFSRUN M_TEMP +#endif +#ifndef M_NTFSRDATA +#define M_NTFSRDATA M_TEMP +#endif +#ifndef M_NTFSNTVATTR +#define M_NTFSNTVATTR M_TEMP +#endif +#ifndef M_NTFSDECOMP +#define M_NTFSDECOMP M_TEMP +#endif +#define VT_NTFS VT_OTHER + +#if defined(NTFS_DEBUG) +#define dprintf(a) printf a +#if NTFS_DEBUG > 1 +#define ddprintf(a) printf a +#else +#define ddprintf(a) +#endif +#else +#define dprintf(a) +#define ddprintf(a) +#endif + +#ifdef APPLE +typedef int vop_t(void *); +#else +#endif +extern vop_t **ntfs_vnodeop_p; +#endif /* KERNEL */ Index: branches/prasys/i386/libsaio/io_inline.h =================================================================== --- branches/prasys/i386/libsaio/io_inline.h (revision 0) +++ branches/prasys/i386/libsaio/io_inline.h (revision 24) @@ -0,0 +1,82 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Copyright (c) 1992 NeXT Computer, Inc. + * + * Inlines for io space access. + * + * HISTORY + * + * 20 May 1992 ? at NeXT + * Created. + */ + +#ifndef __LIBSAIO_IO_INLINE_H +#define __LIBSAIO_IO_INLINE_H + +/* + *############################################################################ + * + * x86 IN/OUT I/O inline functions. + * + * IN : inb, inw, inl + * IN(port) + * + * OUT: outb, outw, outl + * OUT(port, data) + * + *############################################################################ + */ + +#define __IN(s, u) \ +static inline unsigned u \ +in##s(unsigned short port) \ +{ \ + unsigned u data; \ + asm volatile ( \ + "in" #s " %1,%0" \ + : "=a" (data) \ + : "d" (port)); \ + return (data); \ +} + +#define __OUT(s, u) \ +static inline void \ +out##s(unsigned short port, unsigned u data) \ +{ \ + asm volatile ( \ + "out" #s " %1,%0" \ + : \ + : "d" (port), "a" (data)); \ +} + +__IN(b, char) /* inb() */ +__IN(w, short) /* inw() */ +__IN(l, long) /* inl() */ + +__OUT(b, char) /* outb() */ +__OUT(w, short) /* outw() */ +__OUT(l, long) /* outl() */ + +#endif /* !__LIBSAIO_IO_INLINE_H */ Index: branches/prasys/i386/libsaio/hfs_CaseTables.h =================================================================== --- branches/prasys/i386/libsaio/hfs_CaseTables.h (revision 0) +++ branches/prasys/i386/libsaio/hfs_CaseTables.h (revision 24) @@ -0,0 +1,560 @@ +/* + * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + File: CaseTables.h +*/ + + +/* The lower case table consists of a 256-entry high-byte table followed by some number of + 256-entry subtables. The high-byte table contains either an offset to the subtable for + characters with that high byte or zero, which means that there are no case mappings or + ignored characters in that block. Ignored characters are mapped to zero. + */ + +#if UNCOMPRESSED +u_int16_t gLowerCaseTable[] = { + + // High-byte indices ( == 0 iff no case mapping and no ignorables ) + + /* 0 */ 0x0100, 0x0200, 0x0000, 0x0300, 0x0400, 0x0500, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 1 */ 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 2 */ 0x0700, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 4 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 5 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 6 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 7 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 9 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* A */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* B */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* C */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* D */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* E */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* F */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0A00, + + // Table 1 (for high byte 0x00) + + /* 0 */ 0xFFFF, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + /* 1 */ 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + /* 2 */ 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + /* 3 */ 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + /* 4 */ 0x0040, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + /* 5 */ 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + /* 6 */ 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + /* 7 */ 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + /* 8 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + /* 9 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + /* A */ 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + /* B */ 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + /* C */ 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00E6, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + /* D */ 0x00F0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 0x00F8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00FE, 0x00DF, + /* E */ 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + /* F */ 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, + + // Table 2 (for high byte 0x01) + + /* 0 */ 0x0100, 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x0108, 0x0109, 0x010A, 0x010B, 0x010C, 0x010D, 0x010E, 0x010F, + /* 1 */ 0x0111, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, 0x0118, 0x0119, 0x011A, 0x011B, 0x011C, 0x011D, 0x011E, 0x011F, + /* 2 */ 0x0120, 0x0121, 0x0122, 0x0123, 0x0124, 0x0125, 0x0127, 0x0127, 0x0128, 0x0129, 0x012A, 0x012B, 0x012C, 0x012D, 0x012E, 0x012F, + /* 3 */ 0x0130, 0x0131, 0x0133, 0x0133, 0x0134, 0x0135, 0x0136, 0x0137, 0x0138, 0x0139, 0x013A, 0x013B, 0x013C, 0x013D, 0x013E, 0x0140, + /* 4 */ 0x0140, 0x0142, 0x0142, 0x0143, 0x0144, 0x0145, 0x0146, 0x0147, 0x0148, 0x0149, 0x014B, 0x014B, 0x014C, 0x014D, 0x014E, 0x014F, + /* 5 */ 0x0150, 0x0151, 0x0153, 0x0153, 0x0154, 0x0155, 0x0156, 0x0157, 0x0158, 0x0159, 0x015A, 0x015B, 0x015C, 0x015D, 0x015E, 0x015F, + /* 6 */ 0x0160, 0x0161, 0x0162, 0x0163, 0x0164, 0x0165, 0x0167, 0x0167, 0x0168, 0x0169, 0x016A, 0x016B, 0x016C, 0x016D, 0x016E, 0x016F, + /* 7 */ 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017A, 0x017B, 0x017C, 0x017D, 0x017E, 0x017F, + /* 8 */ 0x0180, 0x0253, 0x0183, 0x0183, 0x0185, 0x0185, 0x0254, 0x0188, 0x0188, 0x0256, 0x0257, 0x018C, 0x018C, 0x018D, 0x01DD, 0x0259, + /* 9 */ 0x025B, 0x0192, 0x0192, 0x0260, 0x0263, 0x0195, 0x0269, 0x0268, 0x0199, 0x0199, 0x019A, 0x019B, 0x026F, 0x0272, 0x019E, 0x0275, + /* A */ 0x01A0, 0x01A1, 0x01A3, 0x01A3, 0x01A5, 0x01A5, 0x01A6, 0x01A8, 0x01A8, 0x0283, 0x01AA, 0x01AB, 0x01AD, 0x01AD, 0x0288, 0x01AF, + /* B */ 0x01B0, 0x028A, 0x028B, 0x01B4, 0x01B4, 0x01B6, 0x01B6, 0x0292, 0x01B9, 0x01B9, 0x01BA, 0x01BB, 0x01BD, 0x01BD, 0x01BE, 0x01BF, + /* C */ 0x01C0, 0x01C1, 0x01C2, 0x01C3, 0x01C6, 0x01C6, 0x01C6, 0x01C9, 0x01C9, 0x01C9, 0x01CC, 0x01CC, 0x01CC, 0x01CD, 0x01CE, 0x01CF, + /* D */ 0x01D0, 0x01D1, 0x01D2, 0x01D3, 0x01D4, 0x01D5, 0x01D6, 0x01D7, 0x01D8, 0x01D9, 0x01DA, 0x01DB, 0x01DC, 0x01DD, 0x01DE, 0x01DF, + /* E */ 0x01E0, 0x01E1, 0x01E2, 0x01E3, 0x01E5, 0x01E5, 0x01E6, 0x01E7, 0x01E8, 0x01E9, 0x01EA, 0x01EB, 0x01EC, 0x01ED, 0x01EE, 0x01EF, + /* F */ 0x01F0, 0x01F3, 0x01F3, 0x01F3, 0x01F4, 0x01F5, 0x01F6, 0x01F7, 0x01F8, 0x01F9, 0x01FA, 0x01FB, 0x01FC, 0x01FD, 0x01FE, 0x01FF, + + // Table 3 (for high byte 0x03) + + /* 0 */ 0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0305, 0x0306, 0x0307, 0x0308, 0x0309, 0x030A, 0x030B, 0x030C, 0x030D, 0x030E, 0x030F, + /* 1 */ 0x0310, 0x0311, 0x0312, 0x0313, 0x0314, 0x0315, 0x0316, 0x0317, 0x0318, 0x0319, 0x031A, 0x031B, 0x031C, 0x031D, 0x031E, 0x031F, + /* 2 */ 0x0320, 0x0321, 0x0322, 0x0323, 0x0324, 0x0325, 0x0326, 0x0327, 0x0328, 0x0329, 0x032A, 0x032B, 0x032C, 0x032D, 0x032E, 0x032F, + /* 3 */ 0x0330, 0x0331, 0x0332, 0x0333, 0x0334, 0x0335, 0x0336, 0x0337, 0x0338, 0x0339, 0x033A, 0x033B, 0x033C, 0x033D, 0x033E, 0x033F, + /* 4 */ 0x0340, 0x0341, 0x0342, 0x0343, 0x0344, 0x0345, 0x0346, 0x0347, 0x0348, 0x0349, 0x034A, 0x034B, 0x034C, 0x034D, 0x034E, 0x034F, + /* 5 */ 0x0350, 0x0351, 0x0352, 0x0353, 0x0354, 0x0355, 0x0356, 0x0357, 0x0358, 0x0359, 0x035A, 0x035B, 0x035C, 0x035D, 0x035E, 0x035F, + /* 6 */ 0x0360, 0x0361, 0x0362, 0x0363, 0x0364, 0x0365, 0x0366, 0x0367, 0x0368, 0x0369, 0x036A, 0x036B, 0x036C, 0x036D, 0x036E, 0x036F, + /* 7 */ 0x0370, 0x0371, 0x0372, 0x0373, 0x0374, 0x0375, 0x0376, 0x0377, 0x0378, 0x0379, 0x037A, 0x037B, 0x037C, 0x037D, 0x037E, 0x037F, + /* 8 */ 0x0380, 0x0381, 0x0382, 0x0383, 0x0384, 0x0385, 0x0386, 0x0387, 0x0388, 0x0389, 0x038A, 0x038B, 0x038C, 0x038D, 0x038E, 0x038F, + /* 9 */ 0x0390, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, + /* A */ 0x03C0, 0x03C1, 0x03A2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, + /* B */ 0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, + /* C */ 0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0x03CF, + /* D */ 0x03D0, 0x03D1, 0x03D2, 0x03D3, 0x03D4, 0x03D5, 0x03D6, 0x03D7, 0x03D8, 0x03D9, 0x03DA, 0x03DB, 0x03DC, 0x03DD, 0x03DE, 0x03DF, + /* E */ 0x03E0, 0x03E1, 0x03E3, 0x03E3, 0x03E5, 0x03E5, 0x03E7, 0x03E7, 0x03E9, 0x03E9, 0x03EB, 0x03EB, 0x03ED, 0x03ED, 0x03EF, 0x03EF, + /* F */ 0x03F0, 0x03F1, 0x03F2, 0x03F3, 0x03F4, 0x03F5, 0x03F6, 0x03F7, 0x03F8, 0x03F9, 0x03FA, 0x03FB, 0x03FC, 0x03FD, 0x03FE, 0x03FF, + + // Table 4 (for high byte 0x04) + + /* 0 */ 0x0400, 0x0401, 0x0452, 0x0403, 0x0454, 0x0455, 0x0456, 0x0407, 0x0458, 0x0459, 0x045A, 0x045B, 0x040C, 0x040D, 0x040E, 0x045F, + /* 1 */ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0419, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + /* 2 */ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + /* 3 */ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + /* 4 */ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + /* 5 */ 0x0450, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x045D, 0x045E, 0x045F, + /* 6 */ 0x0461, 0x0461, 0x0463, 0x0463, 0x0465, 0x0465, 0x0467, 0x0467, 0x0469, 0x0469, 0x046B, 0x046B, 0x046D, 0x046D, 0x046F, 0x046F, + /* 7 */ 0x0471, 0x0471, 0x0473, 0x0473, 0x0475, 0x0475, 0x0476, 0x0477, 0x0479, 0x0479, 0x047B, 0x047B, 0x047D, 0x047D, 0x047F, 0x047F, + /* 8 */ 0x0481, 0x0481, 0x0482, 0x0483, 0x0484, 0x0485, 0x0486, 0x0487, 0x0488, 0x0489, 0x048A, 0x048B, 0x048C, 0x048D, 0x048E, 0x048F, + /* 9 */ 0x0491, 0x0491, 0x0493, 0x0493, 0x0495, 0x0495, 0x0497, 0x0497, 0x0499, 0x0499, 0x049B, 0x049B, 0x049D, 0x049D, 0x049F, 0x049F, + /* A */ 0x04A1, 0x04A1, 0x04A3, 0x04A3, 0x04A5, 0x04A5, 0x04A7, 0x04A7, 0x04A9, 0x04A9, 0x04AB, 0x04AB, 0x04AD, 0x04AD, 0x04AF, 0x04AF, + /* B */ 0x04B1, 0x04B1, 0x04B3, 0x04B3, 0x04B5, 0x04B5, 0x04B7, 0x04B7, 0x04B9, 0x04B9, 0x04BB, 0x04BB, 0x04BD, 0x04BD, 0x04BF, 0x04BF, + /* C */ 0x04C0, 0x04C1, 0x04C2, 0x04C4, 0x04C4, 0x04C5, 0x04C6, 0x04C8, 0x04C8, 0x04C9, 0x04CA, 0x04CC, 0x04CC, 0x04CD, 0x04CE, 0x04CF, + /* D */ 0x04D0, 0x04D1, 0x04D2, 0x04D3, 0x04D4, 0x04D5, 0x04D6, 0x04D7, 0x04D8, 0x04D9, 0x04DA, 0x04DB, 0x04DC, 0x04DD, 0x04DE, 0x04DF, + /* E */ 0x04E0, 0x04E1, 0x04E2, 0x04E3, 0x04E4, 0x04E5, 0x04E6, 0x04E7, 0x04E8, 0x04E9, 0x04EA, 0x04EB, 0x04EC, 0x04ED, 0x04EE, 0x04EF, + /* F */ 0x04F0, 0x04F1, 0x04F2, 0x04F3, 0x04F4, 0x04F5, 0x04F6, 0x04F7, 0x04F8, 0x04F9, 0x04FA, 0x04FB, 0x04FC, 0x04FD, 0x04FE, 0x04FF, + + // Table 5 (for high byte 0x05) + + /* 0 */ 0x0500, 0x0501, 0x0502, 0x0503, 0x0504, 0x0505, 0x0506, 0x0507, 0x0508, 0x0509, 0x050A, 0x050B, 0x050C, 0x050D, 0x050E, 0x050F, + /* 1 */ 0x0510, 0x0511, 0x0512, 0x0513, 0x0514, 0x0515, 0x0516, 0x0517, 0x0518, 0x0519, 0x051A, 0x051B, 0x051C, 0x051D, 0x051E, 0x051F, + /* 2 */ 0x0520, 0x0521, 0x0522, 0x0523, 0x0524, 0x0525, 0x0526, 0x0527, 0x0528, 0x0529, 0x052A, 0x052B, 0x052C, 0x052D, 0x052E, 0x052F, + /* 3 */ 0x0530, 0x0561, 0x0562, 0x0563, 0x0564, 0x0565, 0x0566, 0x0567, 0x0568, 0x0569, 0x056A, 0x056B, 0x056C, 0x056D, 0x056E, 0x056F, + /* 4 */ 0x0570, 0x0571, 0x0572, 0x0573, 0x0574, 0x0575, 0x0576, 0x0577, 0x0578, 0x0579, 0x057A, 0x057B, 0x057C, 0x057D, 0x057E, 0x057F, + /* 5 */ 0x0580, 0x0581, 0x0582, 0x0583, 0x0584, 0x0585, 0x0586, 0x0557, 0x0558, 0x0559, 0x055A, 0x055B, 0x055C, 0x055D, 0x055E, 0x055F, + /* 6 */ 0x0560, 0x0561, 0x0562, 0x0563, 0x0564, 0x0565, 0x0566, 0x0567, 0x0568, 0x0569, 0x056A, 0x056B, 0x056C, 0x056D, 0x056E, 0x056F, + /* 7 */ 0x0570, 0x0571, 0x0572, 0x0573, 0x0574, 0x0575, 0x0576, 0x0577, 0x0578, 0x0579, 0x057A, 0x057B, 0x057C, 0x057D, 0x057E, 0x057F, + /* 8 */ 0x0580, 0x0581, 0x0582, 0x0583, 0x0584, 0x0585, 0x0586, 0x0587, 0x0588, 0x0589, 0x058A, 0x058B, 0x058C, 0x058D, 0x058E, 0x058F, + /* 9 */ 0x0590, 0x0591, 0x0592, 0x0593, 0x0594, 0x0595, 0x0596, 0x0597, 0x0598, 0x0599, 0x059A, 0x059B, 0x059C, 0x059D, 0x059E, 0x059F, + /* A */ 0x05A0, 0x05A1, 0x05A2, 0x05A3, 0x05A4, 0x05A5, 0x05A6, 0x05A7, 0x05A8, 0x05A9, 0x05AA, 0x05AB, 0x05AC, 0x05AD, 0x05AE, 0x05AF, + /* B */ 0x05B0, 0x05B1, 0x05B2, 0x05B3, 0x05B4, 0x05B5, 0x05B6, 0x05B7, 0x05B8, 0x05B9, 0x05BA, 0x05BB, 0x05BC, 0x05BD, 0x05BE, 0x05BF, + /* C */ 0x05C0, 0x05C1, 0x05C2, 0x05C3, 0x05C4, 0x05C5, 0x05C6, 0x05C7, 0x05C8, 0x05C9, 0x05CA, 0x05CB, 0x05CC, 0x05CD, 0x05CE, 0x05CF, + /* D */ 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, + /* E */ 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, 0x05E8, 0x05E9, 0x05EA, 0x05EB, 0x05EC, 0x05ED, 0x05EE, 0x05EF, + /* F */ 0x05F0, 0x05F1, 0x05F2, 0x05F3, 0x05F4, 0x05F5, 0x05F6, 0x05F7, 0x05F8, 0x05F9, 0x05FA, 0x05FB, 0x05FC, 0x05FD, 0x05FE, 0x05FF, + + // Table 6 (for high byte 0x10) + + /* 0 */ 0x1000, 0x1001, 0x1002, 0x1003, 0x1004, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009, 0x100A, 0x100B, 0x100C, 0x100D, 0x100E, 0x100F, + /* 1 */ 0x1010, 0x1011, 0x1012, 0x1013, 0x1014, 0x1015, 0x1016, 0x1017, 0x1018, 0x1019, 0x101A, 0x101B, 0x101C, 0x101D, 0x101E, 0x101F, + /* 2 */ 0x1020, 0x1021, 0x1022, 0x1023, 0x1024, 0x1025, 0x1026, 0x1027, 0x1028, 0x1029, 0x102A, 0x102B, 0x102C, 0x102D, 0x102E, 0x102F, + /* 3 */ 0x1030, 0x1031, 0x1032, 0x1033, 0x1034, 0x1035, 0x1036, 0x1037, 0x1038, 0x1039, 0x103A, 0x103B, 0x103C, 0x103D, 0x103E, 0x103F, + /* 4 */ 0x1040, 0x1041, 0x1042, 0x1043, 0x1044, 0x1045, 0x1046, 0x1047, 0x1048, 0x1049, 0x104A, 0x104B, 0x104C, 0x104D, 0x104E, 0x104F, + /* 5 */ 0x1050, 0x1051, 0x1052, 0x1053, 0x1054, 0x1055, 0x1056, 0x1057, 0x1058, 0x1059, 0x105A, 0x105B, 0x105C, 0x105D, 0x105E, 0x105F, + /* 6 */ 0x1060, 0x1061, 0x1062, 0x1063, 0x1064, 0x1065, 0x1066, 0x1067, 0x1068, 0x1069, 0x106A, 0x106B, 0x106C, 0x106D, 0x106E, 0x106F, + /* 7 */ 0x1070, 0x1071, 0x1072, 0x1073, 0x1074, 0x1075, 0x1076, 0x1077, 0x1078, 0x1079, 0x107A, 0x107B, 0x107C, 0x107D, 0x107E, 0x107F, + /* 8 */ 0x1080, 0x1081, 0x1082, 0x1083, 0x1084, 0x1085, 0x1086, 0x1087, 0x1088, 0x1089, 0x108A, 0x108B, 0x108C, 0x108D, 0x108E, 0x108F, + /* 9 */ 0x1090, 0x1091, 0x1092, 0x1093, 0x1094, 0x1095, 0x1096, 0x1097, 0x1098, 0x1099, 0x109A, 0x109B, 0x109C, 0x109D, 0x109E, 0x109F, + /* A */ 0x10D0, 0x10D1, 0x10D2, 0x10D3, 0x10D4, 0x10D5, 0x10D6, 0x10D7, 0x10D8, 0x10D9, 0x10DA, 0x10DB, 0x10DC, 0x10DD, 0x10DE, 0x10DF, + /* B */ 0x10E0, 0x10E1, 0x10E2, 0x10E3, 0x10E4, 0x10E5, 0x10E6, 0x10E7, 0x10E8, 0x10E9, 0x10EA, 0x10EB, 0x10EC, 0x10ED, 0x10EE, 0x10EF, + /* C */ 0x10F0, 0x10F1, 0x10F2, 0x10F3, 0x10F4, 0x10F5, 0x10C6, 0x10C7, 0x10C8, 0x10C9, 0x10CA, 0x10CB, 0x10CC, 0x10CD, 0x10CE, 0x10CF, + /* D */ 0x10D0, 0x10D1, 0x10D2, 0x10D3, 0x10D4, 0x10D5, 0x10D6, 0x10D7, 0x10D8, 0x10D9, 0x10DA, 0x10DB, 0x10DC, 0x10DD, 0x10DE, 0x10DF, + /* E */ 0x10E0, 0x10E1, 0x10E2, 0x10E3, 0x10E4, 0x10E5, 0x10E6, 0x10E7, 0x10E8, 0x10E9, 0x10EA, 0x10EB, 0x10EC, 0x10ED, 0x10EE, 0x10EF, + /* F */ 0x10F0, 0x10F1, 0x10F2, 0x10F3, 0x10F4, 0x10F5, 0x10F6, 0x10F7, 0x10F8, 0x10F9, 0x10FA, 0x10FB, 0x10FC, 0x10FD, 0x10FE, 0x10FF, + + // Table 7 (for high byte 0x20) + + /* 0 */ 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x200B, 0x0000, 0x0000, 0x0000, 0x0000, + /* 1 */ 0x2010, 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2016, 0x2017, 0x2018, 0x2019, 0x201A, 0x201B, 0x201C, 0x201D, 0x201E, 0x201F, + /* 2 */ 0x2020, 0x2021, 0x2022, 0x2023, 0x2024, 0x2025, 0x2026, 0x2027, 0x2028, 0x2029, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x202F, + /* 3 */ 0x2030, 0x2031, 0x2032, 0x2033, 0x2034, 0x2035, 0x2036, 0x2037, 0x2038, 0x2039, 0x203A, 0x203B, 0x203C, 0x203D, 0x203E, 0x203F, + /* 4 */ 0x2040, 0x2041, 0x2042, 0x2043, 0x2044, 0x2045, 0x2046, 0x2047, 0x2048, 0x2049, 0x204A, 0x204B, 0x204C, 0x204D, 0x204E, 0x204F, + /* 5 */ 0x2050, 0x2051, 0x2052, 0x2053, 0x2054, 0x2055, 0x2056, 0x2057, 0x2058, 0x2059, 0x205A, 0x205B, 0x205C, 0x205D, 0x205E, 0x205F, + /* 6 */ 0x2060, 0x2061, 0x2062, 0x2063, 0x2064, 0x2065, 0x2066, 0x2067, 0x2068, 0x2069, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 7 */ 0x2070, 0x2071, 0x2072, 0x2073, 0x2074, 0x2075, 0x2076, 0x2077, 0x2078, 0x2079, 0x207A, 0x207B, 0x207C, 0x207D, 0x207E, 0x207F, + /* 8 */ 0x2080, 0x2081, 0x2082, 0x2083, 0x2084, 0x2085, 0x2086, 0x2087, 0x2088, 0x2089, 0x208A, 0x208B, 0x208C, 0x208D, 0x208E, 0x208F, + /* 9 */ 0x2090, 0x2091, 0x2092, 0x2093, 0x2094, 0x2095, 0x2096, 0x2097, 0x2098, 0x2099, 0x209A, 0x209B, 0x209C, 0x209D, 0x209E, 0x209F, + /* A */ 0x20A0, 0x20A1, 0x20A2, 0x20A3, 0x20A4, 0x20A5, 0x20A6, 0x20A7, 0x20A8, 0x20A9, 0x20AA, 0x20AB, 0x20AC, 0x20AD, 0x20AE, 0x20AF, + /* B */ 0x20B0, 0x20B1, 0x20B2, 0x20B3, 0x20B4, 0x20B5, 0x20B6, 0x20B7, 0x20B8, 0x20B9, 0x20BA, 0x20BB, 0x20BC, 0x20BD, 0x20BE, 0x20BF, + /* C */ 0x20C0, 0x20C1, 0x20C2, 0x20C3, 0x20C4, 0x20C5, 0x20C6, 0x20C7, 0x20C8, 0x20C9, 0x20CA, 0x20CB, 0x20CC, 0x20CD, 0x20CE, 0x20CF, + /* D */ 0x20D0, 0x20D1, 0x20D2, 0x20D3, 0x20D4, 0x20D5, 0x20D6, 0x20D7, 0x20D8, 0x20D9, 0x20DA, 0x20DB, 0x20DC, 0x20DD, 0x20DE, 0x20DF, + /* E */ 0x20E0, 0x20E1, 0x20E2, 0x20E3, 0x20E4, 0x20E5, 0x20E6, 0x20E7, 0x20E8, 0x20E9, 0x20EA, 0x20EB, 0x20EC, 0x20ED, 0x20EE, 0x20EF, + /* F */ 0x20F0, 0x20F1, 0x20F2, 0x20F3, 0x20F4, 0x20F5, 0x20F6, 0x20F7, 0x20F8, 0x20F9, 0x20FA, 0x20FB, 0x20FC, 0x20FD, 0x20FE, 0x20FF, + + // Table 8 (for high byte 0x21) + + /* 0 */ 0x2100, 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, 0x2108, 0x2109, 0x210A, 0x210B, 0x210C, 0x210D, 0x210E, 0x210F, + /* 1 */ 0x2110, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, 0x2118, 0x2119, 0x211A, 0x211B, 0x211C, 0x211D, 0x211E, 0x211F, + /* 2 */ 0x2120, 0x2121, 0x2122, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212B, 0x212C, 0x212D, 0x212E, 0x212F, + /* 3 */ 0x2130, 0x2131, 0x2132, 0x2133, 0x2134, 0x2135, 0x2136, 0x2137, 0x2138, 0x2139, 0x213A, 0x213B, 0x213C, 0x213D, 0x213E, 0x213F, + /* 4 */ 0x2140, 0x2141, 0x2142, 0x2143, 0x2144, 0x2145, 0x2146, 0x2147, 0x2148, 0x2149, 0x214A, 0x214B, 0x214C, 0x214D, 0x214E, 0x214F, + /* 5 */ 0x2150, 0x2151, 0x2152, 0x2153, 0x2154, 0x2155, 0x2156, 0x2157, 0x2158, 0x2159, 0x215A, 0x215B, 0x215C, 0x215D, 0x215E, 0x215F, + /* 6 */ 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, + /* 7 */ 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, + /* 8 */ 0x2180, 0x2181, 0x2182, 0x2183, 0x2184, 0x2185, 0x2186, 0x2187, 0x2188, 0x2189, 0x218A, 0x218B, 0x218C, 0x218D, 0x218E, 0x218F, + /* 9 */ 0x2190, 0x2191, 0x2192, 0x2193, 0x2194, 0x2195, 0x2196, 0x2197, 0x2198, 0x2199, 0x219A, 0x219B, 0x219C, 0x219D, 0x219E, 0x219F, + /* A */ 0x21A0, 0x21A1, 0x21A2, 0x21A3, 0x21A4, 0x21A5, 0x21A6, 0x21A7, 0x21A8, 0x21A9, 0x21AA, 0x21AB, 0x21AC, 0x21AD, 0x21AE, 0x21AF, + /* B */ 0x21B0, 0x21B1, 0x21B2, 0x21B3, 0x21B4, 0x21B5, 0x21B6, 0x21B7, 0x21B8, 0x21B9, 0x21BA, 0x21BB, 0x21BC, 0x21BD, 0x21BE, 0x21BF, + /* C */ 0x21C0, 0x21C1, 0x21C2, 0x21C3, 0x21C4, 0x21C5, 0x21C6, 0x21C7, 0x21C8, 0x21C9, 0x21CA, 0x21CB, 0x21CC, 0x21CD, 0x21CE, 0x21CF, + /* D */ 0x21D0, 0x21D1, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21D6, 0x21D7, 0x21D8, 0x21D9, 0x21DA, 0x21DB, 0x21DC, 0x21DD, 0x21DE, 0x21DF, + /* E */ 0x21E0, 0x21E1, 0x21E2, 0x21E3, 0x21E4, 0x21E5, 0x21E6, 0x21E7, 0x21E8, 0x21E9, 0x21EA, 0x21EB, 0x21EC, 0x21ED, 0x21EE, 0x21EF, + /* F */ 0x21F0, 0x21F1, 0x21F2, 0x21F3, 0x21F4, 0x21F5, 0x21F6, 0x21F7, 0x21F8, 0x21F9, 0x21FA, 0x21FB, 0x21FC, 0x21FD, 0x21FE, 0x21FF, + + // Table 9 (for high byte 0xFE) + + /* 0 */ 0xFE00, 0xFE01, 0xFE02, 0xFE03, 0xFE04, 0xFE05, 0xFE06, 0xFE07, 0xFE08, 0xFE09, 0xFE0A, 0xFE0B, 0xFE0C, 0xFE0D, 0xFE0E, 0xFE0F, + /* 1 */ 0xFE10, 0xFE11, 0xFE12, 0xFE13, 0xFE14, 0xFE15, 0xFE16, 0xFE17, 0xFE18, 0xFE19, 0xFE1A, 0xFE1B, 0xFE1C, 0xFE1D, 0xFE1E, 0xFE1F, + /* 2 */ 0xFE20, 0xFE21, 0xFE22, 0xFE23, 0xFE24, 0xFE25, 0xFE26, 0xFE27, 0xFE28, 0xFE29, 0xFE2A, 0xFE2B, 0xFE2C, 0xFE2D, 0xFE2E, 0xFE2F, + /* 3 */ 0xFE30, 0xFE31, 0xFE32, 0xFE33, 0xFE34, 0xFE35, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, + /* 4 */ 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE46, 0xFE47, 0xFE48, 0xFE49, 0xFE4A, 0xFE4B, 0xFE4C, 0xFE4D, 0xFE4E, 0xFE4F, + /* 5 */ 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE55, 0xFE56, 0xFE57, 0xFE58, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, + /* 6 */ 0xFE60, 0xFE61, 0xFE62, 0xFE63, 0xFE64, 0xFE65, 0xFE66, 0xFE67, 0xFE68, 0xFE69, 0xFE6A, 0xFE6B, 0xFE6C, 0xFE6D, 0xFE6E, 0xFE6F, + /* 7 */ 0xFE70, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, + /* 8 */ 0xFE80, 0xFE81, 0xFE82, 0xFE83, 0xFE84, 0xFE85, 0xFE86, 0xFE87, 0xFE88, 0xFE89, 0xFE8A, 0xFE8B, 0xFE8C, 0xFE8D, 0xFE8E, 0xFE8F, + /* 9 */ 0xFE90, 0xFE91, 0xFE92, 0xFE93, 0xFE94, 0xFE95, 0xFE96, 0xFE97, 0xFE98, 0xFE99, 0xFE9A, 0xFE9B, 0xFE9C, 0xFE9D, 0xFE9E, 0xFE9F, + /* A */ 0xFEA0, 0xFEA1, 0xFEA2, 0xFEA3, 0xFEA4, 0xFEA5, 0xFEA6, 0xFEA7, 0xFEA8, 0xFEA9, 0xFEAA, 0xFEAB, 0xFEAC, 0xFEAD, 0xFEAE, 0xFEAF, + /* B */ 0xFEB0, 0xFEB1, 0xFEB2, 0xFEB3, 0xFEB4, 0xFEB5, 0xFEB6, 0xFEB7, 0xFEB8, 0xFEB9, 0xFEBA, 0xFEBB, 0xFEBC, 0xFEBD, 0xFEBE, 0xFEBF, + /* C */ 0xFEC0, 0xFEC1, 0xFEC2, 0xFEC3, 0xFEC4, 0xFEC5, 0xFEC6, 0xFEC7, 0xFEC8, 0xFEC9, 0xFECA, 0xFECB, 0xFECC, 0xFECD, 0xFECE, 0xFECF, + /* D */ 0xFED0, 0xFED1, 0xFED2, 0xFED3, 0xFED4, 0xFED5, 0xFED6, 0xFED7, 0xFED8, 0xFED9, 0xFEDA, 0xFEDB, 0xFEDC, 0xFEDD, 0xFEDE, 0xFEDF, + /* E */ 0xFEE0, 0xFEE1, 0xFEE2, 0xFEE3, 0xFEE4, 0xFEE5, 0xFEE6, 0xFEE7, 0xFEE8, 0xFEE9, 0xFEEA, 0xFEEB, 0xFEEC, 0xFEED, 0xFEEE, 0xFEEF, + /* F */ 0xFEF0, 0xFEF1, 0xFEF2, 0xFEF3, 0xFEF4, 0xFEF5, 0xFEF6, 0xFEF7, 0xFEF8, 0xFEF9, 0xFEFA, 0xFEFB, 0xFEFC, 0xFEFD, 0xFEFE, 0x0000, + + // Table 10 (for high byte 0xFF) + + /* 0 */ 0xFF00, 0xFF01, 0xFF02, 0xFF03, 0xFF04, 0xFF05, 0xFF06, 0xFF07, 0xFF08, 0xFF09, 0xFF0A, 0xFF0B, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, + /* 1 */ 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF14, 0xFF15, 0xFF16, 0xFF17, 0xFF18, 0xFF19, 0xFF1A, 0xFF1B, 0xFF1C, 0xFF1D, 0xFF1E, 0xFF1F, + /* 2 */ 0xFF20, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, + /* 3 */ 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, + /* 4 */ 0xFF40, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, + /* 5 */ 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, + /* 6 */ 0xFF60, 0xFF61, 0xFF62, 0xFF63, 0xFF64, 0xFF65, 0xFF66, 0xFF67, 0xFF68, 0xFF69, 0xFF6A, 0xFF6B, 0xFF6C, 0xFF6D, 0xFF6E, 0xFF6F, + /* 7 */ 0xFF70, 0xFF71, 0xFF72, 0xFF73, 0xFF74, 0xFF75, 0xFF76, 0xFF77, 0xFF78, 0xFF79, 0xFF7A, 0xFF7B, 0xFF7C, 0xFF7D, 0xFF7E, 0xFF7F, + /* 8 */ 0xFF80, 0xFF81, 0xFF82, 0xFF83, 0xFF84, 0xFF85, 0xFF86, 0xFF87, 0xFF88, 0xFF89, 0xFF8A, 0xFF8B, 0xFF8C, 0xFF8D, 0xFF8E, 0xFF8F, + /* 9 */ 0xFF90, 0xFF91, 0xFF92, 0xFF93, 0xFF94, 0xFF95, 0xFF96, 0xFF97, 0xFF98, 0xFF99, 0xFF9A, 0xFF9B, 0xFF9C, 0xFF9D, 0xFF9E, 0xFF9F, + /* A */ 0xFFA0, 0xFFA1, 0xFFA2, 0xFFA3, 0xFFA4, 0xFFA5, 0xFFA6, 0xFFA7, 0xFFA8, 0xFFA9, 0xFFAA, 0xFFAB, 0xFFAC, 0xFFAD, 0xFFAE, 0xFFAF, + /* B */ 0xFFB0, 0xFFB1, 0xFFB2, 0xFFB3, 0xFFB4, 0xFFB5, 0xFFB6, 0xFFB7, 0xFFB8, 0xFFB9, 0xFFBA, 0xFFBB, 0xFFBC, 0xFFBD, 0xFFBE, 0xFFBF, + /* C */ 0xFFC0, 0xFFC1, 0xFFC2, 0xFFC3, 0xFFC4, 0xFFC5, 0xFFC6, 0xFFC7, 0xFFC8, 0xFFC9, 0xFFCA, 0xFFCB, 0xFFCC, 0xFFCD, 0xFFCE, 0xFFCF, + /* D */ 0xFFD0, 0xFFD1, 0xFFD2, 0xFFD3, 0xFFD4, 0xFFD5, 0xFFD6, 0xFFD7, 0xFFD8, 0xFFD9, 0xFFDA, 0xFFDB, 0xFFDC, 0xFFDD, 0xFFDE, 0xFFDF, + /* E */ 0xFFE0, 0xFFE1, 0xFFE2, 0xFFE3, 0xFFE4, 0xFFE5, 0xFFE6, 0xFFE7, 0xFFE8, 0xFFE9, 0xFFEA, 0xFFEB, 0xFFEC, 0xFFED, 0xFFEE, 0xFFEF, + /* F */ 0xFFF0, 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4, 0xFFF5, 0xFFF6, 0xFFF7, 0xFFF8, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD, 0xFFFE, 0xFFFF, +}; + +/* RelString case folding table */ + +unsigned short gCompareTable[] = { + + /* 0 */ 0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x0500, 0x0600, 0x0700, 0x0800, 0x0900, 0x0A00, 0x0B00, 0x0C00, 0x0D00, 0x0E00, 0x0F00, + /* 1 */ 0x1000, 0x1100, 0x1200, 0x1300, 0x1400, 0x1500, 0x1600, 0x1700, 0x1800, 0x1900, 0x1A00, 0x1B00, 0x1C00, 0x1D00, 0x1E00, 0x1F00, + /* 2 */ 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500, 0x2600, 0x2700, 0x2800, 0x2900, 0x2A00, 0x2B00, 0x2C00, 0x2D00, 0x2E00, 0x2F00, + /* 3 */ 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500, 0x3600, 0x3700, 0x3800, 0x3900, 0x3A00, 0x3B00, 0x3C00, 0x3D00, 0x3E00, 0x3F00, + /* 4 */ 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500, 0x4600, 0x4700, 0x4800, 0x4900, 0x4A00, 0x4B00, 0x4C00, 0x4D00, 0x4E00, 0x4F00, + /* 5 */ 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500, 0x5600, 0x5700, 0x5800, 0x5900, 0x5A00, 0x5B00, 0x5C00, 0x5D00, 0x5E00, 0x5F00, + + // 0x60 maps to 'a' + // range 0x61 to 0x7a ('a' to 'z') map to upper case + + /* 6 */ 0x4180, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500, 0x4600, 0x4700, 0x4800, 0x4900, 0x4A00, 0x4B00, 0x4C00, 0x4D00, 0x4E00, 0x4F00, + /* 7 */ 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500, 0x5600, 0x5700, 0x5800, 0x5900, 0x5A00, 0x7B00, 0x7C00, 0x7D00, 0x7E00, 0x7F00, + + // range 0x80 to 0xd8 gets mapped... + + /* 8 */ 0x4108, 0x410C, 0x4310, 0x4502, 0x4E0A, 0x4F08, 0x5508, 0x4182, 0x4104, 0x4186, 0x4108, 0x410A, 0x410C, 0x4310, 0x4502, 0x4584, + /* 9 */ 0x4586, 0x4588, 0x4982, 0x4984, 0x4986, 0x4988, 0x4E0A, 0x4F82, 0x4F84, 0x4F86, 0x4F08, 0x4F0A, 0x5582, 0x5584, 0x5586, 0x5508, + /* A */ 0xA000, 0xA100, 0xA200, 0xA300, 0xA400, 0xA500, 0xA600, 0x5382, 0xA800, 0xA900, 0xAA00, 0xAB00, 0xAC00, 0xAD00, 0x4114, 0x4F0E, + /* B */ 0xB000, 0xB100, 0xB200, 0xB300, 0xB400, 0xB500, 0xB600, 0xB700, 0xB800, 0xB900, 0xBA00, 0x4192, 0x4F92, 0xBD00, 0x4114, 0x4F0E, + /* C */ 0xC000, 0xC100, 0xC200, 0xC300, 0xC400, 0xC500, 0xC600, 0x2206, 0x2208, 0xC900, 0x2000, 0x4104, 0x410A, 0x4F0A, 0x4F14, 0x4F14, + /* D */ 0xD000, 0xD100, 0x2202, 0x2204, 0x2702, 0x2704, 0xD600, 0xD700, 0x5988, 0xD900, 0xDA00, 0xDB00, 0xDC00, 0xDD00, 0xDE00, 0xDF00, + + /* E */ 0xE000, 0xE100, 0xE200, 0xE300, 0xE400, 0xE500, 0xE600, 0xE700, 0xE800, 0xE900, 0xEA00, 0xEB00, 0xEC00, 0xED00, 0xEE00, 0xEF00, + /* F */ 0xF000, 0xF100, 0xF200, 0xF300, 0xF400, 0xF500, 0xF600, 0xF700, 0xF800, 0xF900, 0xFA00, 0xFB00, 0xFC00, 0xFD00, 0xFE00, 0xFF00, + +}; +#else /* ! UNCOMPRESSED */ + +enum { + kTypeLiteral = 0, + kTypeAscending = 1, + kTypeAscending256 = 2 +}; + +struct compressed_block { + unsigned char type; + unsigned char count; + unsigned short data; +}; + +unsigned short *gLowerCaseTable; + +struct compressed_block gLowerCaseTableCompressed[] = { + {0x0, 0x1, 0x100}, + {0x0, 0x1, 0x200}, + {0x0, 0x1, 0x0}, + {0x0, 0x1, 0x300}, + {0x0, 0x1, 0x400}, + {0x0, 0x1, 0x500}, + {0x0, 0xa, 0x0}, + {0x0, 0x1, 0x600}, + {0x0, 0xf, 0x0}, + {0x0, 0x1, 0x700}, + {0x0, 0x1, 0x800}, + {0x0, 0xdc, 0x0}, + {0x0, 0x1, 0x900}, + {0x0, 0x1, 0xa00}, + {0x0, 0x1, 0xffff}, + {0x1, 0x40, 0x1}, + {0x1, 0x1a, 0x61}, + {0x1, 0x6b, 0x5b}, + {0x0, 0x1, 0xe6}, + {0x1, 0x9, 0xc7}, + {0x0, 0x1, 0xf0}, + {0x1, 0x7, 0xd1}, + {0x0, 0x1, 0xf8}, + {0x1, 0x5, 0xd9}, + {0x0, 0x1, 0xfe}, + {0x1, 0x31, 0xdf}, + {0x0, 0x2, 0x111}, + {0x1, 0x14, 0x112}, + {0x0, 0x2, 0x127}, + {0x1, 0xa, 0x128}, + {0x0, 0x2, 0x133}, + {0x1, 0xb, 0x134}, + {0x0, 0x2, 0x140}, + {0x0, 0x2, 0x142}, + {0x1, 0x7, 0x143}, + {0x0, 0x2, 0x14b}, + {0x1, 0x6, 0x14c}, + {0x0, 0x2, 0x153}, + {0x1, 0x12, 0x154}, + {0x0, 0x2, 0x167}, + {0x1, 0x19, 0x168}, + {0x0, 0x1, 0x253}, + {0x0, 0x2, 0x183}, + {0x0, 0x2, 0x185}, + {0x0, 0x1, 0x254}, + {0x0, 0x2, 0x188}, + {0x1, 0x2, 0x256}, + {0x0, 0x2, 0x18c}, + {0x0, 0x1, 0x18d}, + {0x0, 0x1, 0x1dd}, + {0x0, 0x1, 0x259}, + {0x0, 0x1, 0x25b}, + {0x0, 0x2, 0x192}, + {0x0, 0x1, 0x260}, + {0x0, 0x1, 0x263}, + {0x0, 0x1, 0x195}, + {0x0, 0x1, 0x269}, + {0x0, 0x1, 0x268}, + {0x0, 0x2, 0x199}, + {0x1, 0x2, 0x19a}, + {0x0, 0x1, 0x26f}, + {0x0, 0x1, 0x272}, + {0x0, 0x1, 0x19e}, + {0x0, 0x1, 0x275}, + {0x1, 0x2, 0x1a0}, + {0x0, 0x2, 0x1a3}, + {0x0, 0x2, 0x1a5}, + {0x0, 0x1, 0x1a6}, + {0x0, 0x2, 0x1a8}, + {0x0, 0x1, 0x283}, + {0x1, 0x2, 0x1aa}, + {0x0, 0x2, 0x1ad}, + {0x0, 0x1, 0x288}, + {0x1, 0x2, 0x1af}, + {0x1, 0x2, 0x28a}, + {0x0, 0x2, 0x1b4}, + {0x0, 0x2, 0x1b6}, + {0x0, 0x1, 0x292}, + {0x0, 0x2, 0x1b9}, + {0x1, 0x2, 0x1ba}, + {0x0, 0x2, 0x1bd}, + {0x1, 0x6, 0x1be}, + {0x0, 0x3, 0x1c6}, + {0x0, 0x3, 0x1c9}, + {0x0, 0x3, 0x1cc}, + {0x1, 0x17, 0x1cd}, + {0x0, 0x2, 0x1e5}, + {0x1, 0xb, 0x1e6}, + {0x0, 0x3, 0x1f3}, + {0x1, 0xc, 0x1f4}, + {0x1, 0x91, 0x300}, + {0x1, 0x11, 0x3b1}, + {0x0, 0x1, 0x3a2}, + {0x1, 0x7, 0x3c3}, + {0x1, 0x38, 0x3aa}, + {0x0, 0x2, 0x3e3}, + {0x0, 0x2, 0x3e5}, + {0x0, 0x2, 0x3e7}, + {0x0, 0x2, 0x3e9}, + {0x0, 0x2, 0x3eb}, + {0x0, 0x2, 0x3ed}, + {0x0, 0x2, 0x3ef}, + {0x1, 0x12, 0x3f0}, + {0x0, 0x1, 0x452}, + {0x0, 0x1, 0x403}, + {0x1, 0x3, 0x454}, + {0x0, 0x1, 0x407}, + {0x1, 0x4, 0x458}, + {0x1, 0x3, 0x40c}, + {0x0, 0x1, 0x45f}, + {0x1, 0x9, 0x430}, + {0x0, 0x1, 0x419}, + {0x1, 0x16, 0x43a}, + {0x1, 0x30, 0x430}, + {0x0, 0x2, 0x461}, + {0x0, 0x2, 0x463}, + {0x0, 0x2, 0x465}, + {0x0, 0x2, 0x467}, + {0x0, 0x2, 0x469}, + {0x0, 0x2, 0x46b}, + {0x0, 0x2, 0x46d}, + {0x0, 0x2, 0x46f}, + {0x0, 0x2, 0x471}, + {0x0, 0x2, 0x473}, + {0x0, 0x2, 0x475}, + {0x1, 0x2, 0x476}, + {0x0, 0x2, 0x479}, + {0x0, 0x2, 0x47b}, + {0x0, 0x2, 0x47d}, + {0x0, 0x2, 0x47f}, + {0x0, 0x2, 0x481}, + {0x1, 0xe, 0x482}, + {0x0, 0x2, 0x491}, + {0x0, 0x2, 0x493}, + {0x0, 0x2, 0x495}, + {0x0, 0x2, 0x497}, + {0x0, 0x2, 0x499}, + {0x0, 0x2, 0x49b}, + {0x0, 0x2, 0x49d}, + {0x0, 0x2, 0x49f}, + {0x0, 0x2, 0x4a1}, + {0x0, 0x2, 0x4a3}, + {0x0, 0x2, 0x4a5}, + {0x0, 0x2, 0x4a7}, + {0x0, 0x2, 0x4a9}, + {0x0, 0x2, 0x4ab}, + {0x0, 0x2, 0x4ad}, + {0x0, 0x2, 0x4af}, + {0x0, 0x2, 0x4b1}, + {0x0, 0x2, 0x4b3}, + {0x0, 0x2, 0x4b5}, + {0x0, 0x2, 0x4b7}, + {0x0, 0x2, 0x4b9}, + {0x0, 0x2, 0x4bb}, + {0x0, 0x2, 0x4bd}, + {0x0, 0x2, 0x4bf}, + {0x1, 0x3, 0x4c0}, + {0x0, 0x2, 0x4c4}, + {0x1, 0x2, 0x4c5}, + {0x0, 0x2, 0x4c8}, + {0x1, 0x2, 0x4c9}, + {0x0, 0x2, 0x4cc}, + {0x1, 0x64, 0x4cd}, + {0x1, 0x26, 0x561}, + {0x1, 0xa9, 0x557}, + {0x1, 0xa0, 0x1000}, + {0x1, 0x26, 0x10d0}, + {0x1, 0x3a, 0x10c6}, + {0x1, 0xc, 0x2000}, + {0x0, 0x4, 0x0}, + {0x1, 0x1a, 0x2010}, + {0x0, 0x5, 0x0}, + {0x1, 0x3b, 0x202f}, + {0x0, 0x6, 0x0}, + {0x1, 0xf0, 0x2070}, + {0x1, 0x10, 0x2170}, + {0x1, 0x90, 0x2170}, + {0x1, 0xff, 0xfe00}, + {0x0, 0x1, 0x0}, + {0x1, 0x21, 0xff00}, + {0x1, 0x1a, 0xff41}, + {0x1, 0xc5, 0xff3b}, +}; +// Please update count if you add/remove entries but also please just let +// the compiler calculate it so you don't get it wrong. +//#define kLowerCaseTableNBlocks 182 +#define kLowerCaseTableNBlocks (sizeof(gLowerCaseTableCompressed)/sizeof(*gLowerCaseTableCompressed)) +// WARNING: The expanded size MUST be updated if you change the table and +// cannot be calculated at compile time. +#define kLowerCaseTableDataSize 5632 /* size of uncompressed structure in bytes */ + +unsigned short *gCompareTable; + +struct compressed_block gCompareTableCompressed[] = { + {0x2, 0x60, 0x0}, + {0x0, 0x1, 0x4180}, + {0x2, 0x1a, 0x4100}, + {0x2, 0x5, 0x7b00}, + {0x0, 0x1, 0x4108}, + {0x0, 0x1, 0x410c}, + {0x0, 0x1, 0x4310}, + {0x0, 0x1, 0x4502}, + {0x0, 0x1, 0x4e0a}, + {0x0, 0x1, 0x4f08}, + {0x0, 0x1, 0x5508}, + {0x0, 0x1, 0x4182}, + {0x0, 0x1, 0x4104}, + {0x0, 0x1, 0x4186}, + {0x0, 0x1, 0x4108}, + {0x0, 0x1, 0x410a}, + {0x0, 0x1, 0x410c}, + {0x0, 0x1, 0x4310}, + {0x0, 0x1, 0x4502}, + {0x0, 0x1, 0x4584}, + {0x0, 0x1, 0x4586}, + {0x0, 0x1, 0x4588}, + {0x0, 0x1, 0x4982}, + {0x0, 0x1, 0x4984}, + {0x0, 0x1, 0x4986}, + {0x0, 0x1, 0x4988}, + {0x0, 0x1, 0x4e0a}, + {0x0, 0x1, 0x4f82}, + {0x0, 0x1, 0x4f84}, + {0x0, 0x1, 0x4f86}, + {0x0, 0x1, 0x4f08}, + {0x0, 0x1, 0x4f0a}, + {0x0, 0x1, 0x5582}, + {0x0, 0x1, 0x5584}, + {0x0, 0x1, 0x5586}, + {0x0, 0x1, 0x5508}, + {0x2, 0x7, 0xa000}, + {0x0, 0x1, 0x5382}, + {0x2, 0x6, 0xa800}, + {0x0, 0x1, 0x4114}, + {0x0, 0x1, 0x4f0e}, + {0x2, 0xb, 0xb000}, + {0x0, 0x1, 0x4192}, + {0x0, 0x1, 0x4f92}, + {0x0, 0x1, 0xbd00}, + {0x0, 0x1, 0x4114}, + {0x0, 0x1, 0x4f0e}, + {0x2, 0x7, 0xc000}, + {0x0, 0x1, 0x2206}, + {0x0, 0x1, 0x2208}, + {0x0, 0x1, 0xc900}, + {0x0, 0x1, 0x2000}, + {0x0, 0x1, 0x4104}, + {0x0, 0x1, 0x410a}, + {0x0, 0x1, 0x4f0a}, + {0x0, 0x2, 0x4f14}, + {0x2, 0x2, 0xd000}, + {0x0, 0x1, 0x2202}, + {0x0, 0x1, 0x2204}, + {0x0, 0x1, 0x2702}, + {0x0, 0x1, 0x2704}, + {0x2, 0x2, 0xd600}, + {0x0, 0x1, 0x5988}, + {0x2, 0x27, 0xd900}, +}; +// Please update count if you add/remove entries but also please just let +// the compiler calculate it so you don't get it wrong. +//#define kCompareTableNBlocks 64 +#define kCompareTableNBlocks (sizeof(gCompareTableCompressed)/sizeof(*gCompareTableCompressed)) +// WARNING: The expanded size MUST be updated if you change the table and +// cannot be calculated at compile time. +#define kCompareTableDataSize 512 /* size of uncompressed structure in bytes */ + +#endif /* UNCOMPRESSED */ Index: branches/prasys/i386/libsaio/ext2fs.c =================================================================== --- branches/prasys/i386/libsaio/ext2fs.c (revision 0) +++ branches/prasys/i386/libsaio/ext2fs.c (revision 24) @@ -0,0 +1,41 @@ +/* + * ext2fs.c + * + * + * Created by mackerintel on 1/26/09. + * Copyright 2009 __MyCompanyName__. All rights reserved. + * + */ + +#include "libsaio.h" +#include "sl.h" +#include "ext2fs.h" + +#define EX2ProbeSize 2048 + +BOOL EX2Probe (const void *buf) +{ + return (OSReadLittleInt16(buf+0x438,0)==0xEF53); +} +void EX2GetDescription(CICell ih, char *str, long strMaxLen) +{ + char * buf=malloc (EX2ProbeSize); + str[0]=0; + if (!buf) + return; + Seek(ih, 0); + Read(ih, (long)buf, EX2ProbeSize); + if (!EX2Probe (buf)) + { + free (buf); + return; + } + if (OSReadLittleInt32 (buf+0x44c,0)<1) + { + free (buf); + return; + } + str[strMaxLen]=0; + strncpy (str, buf+0x478, min (strMaxLen, 16)); + free (buf); +} \ No newline at end of file Property changes on: branches/prasys/i386/libsaio/ext2fs.c ___________________________________________________________________ Added: svn:executable + * Index: branches/prasys/i386/libsaio/vbe.c =================================================================== --- branches/prasys/i386/libsaio/vbe.c (revision 0) +++ branches/prasys/i386/libsaio/vbe.c (revision 24) @@ -0,0 +1,310 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Copyright 1993 NeXT, Inc. + * All rights reserved. + */ + +#include "libsaio.h" +#include "vbe.h" + +/* + * Various inline routines for video I/O + */ +static inline void +outi (int port, int index, int val) +{ + outw (port, (val << 8) | index); +} + +static inline void +outib (int port, int index, int val) +{ + outb (port, index); + outb (port + 1, val); +} + +static inline int +ini (int port, int index) +{ + outb (port, index); + return inb (port + 1); +} + +static inline void +rmwi (int port, int index, int clear, int set) +{ + outb (port, index); + outb (port + 1, (inb (port + 1) & ~clear) | set); +} + +/* + * Globals + */ +static biosBuf_t bb; + +int getVBEInfo( void * infoBlock ) +{ + bb.intno = 0x10; + bb.eax.rr = funcGetControllerInfo; + bb.es = SEG( infoBlock ); + bb.edi.rr = OFF( infoBlock ); + bios( &bb ); + return(bb.eax.r.h); +} + +int getVBEModeInfo( int mode, void * minfo_p ) +{ + bb.intno = 0x10; + bb.eax.rr = funcGetModeInfo; + bb.ecx.rr = mode; + bb.es = SEG(minfo_p); + bb.edi.rr = OFF(minfo_p); + bios(&bb); + return(bb.eax.r.h); +} + +int getVBEDACFormat(unsigned char *format) +{ + bb.intno = 0x10; + bb.eax.rr = funcGetSetPaletteFormat; + bb.ebx.r.l = subfuncGet; + bios(&bb); + *format = bb.ebx.r.h; + return(bb.eax.r.h); +} + +int setVBEDACFormat(unsigned char format) +{ + bb.intno = 0x10; + bb.eax.rr = funcGetSetPaletteFormat; + bb.ebx.r.l = subfuncSet; + bb.ebx.r.h = format; + bios(&bb); + return(bb.eax.r.h); +} + +/* + * Default GTF parameter values. + */ +#define kCellGranularity 8.0 // character cell granularity +#define kMinVSyncPlusBP 550.0 // min VSync + BP interval (us) +#define kMinFrontPorch 1.0 // minimum front porch in lines(V)/cells(H) +#define kVSyncLines 3.0 // width of VSync in lines +#define kHSyncWidth 8.0 // HSync as a percent of total line width +#define kC 30.0 // C = (C'-J) * (K/256) + J +#define kM 300.0 // M = K/256 * M' + +int Round(double f) +{ + return (int)(f + 0.5); +} + +/* + * from http://www.azillionmonkeys.com/qed/sqroot.html + */ + +double Sqrt( double y ) +{ + double x, z, tempf; + unsigned long *tfptr = ((unsigned long *)&tempf) + 1; + + tempf = y; + *tfptr = (0xbfcdd90a - *tfptr)>>1; /* estimate of 1/sqrt(y) */ + x = tempf; + z = y*0.5; /* hoist out the “/2” */ + x = (1.5*x) - (x*x)*(x*z); /* iteration formula */ + x = (1.5*x) - (x*x)*(x*z); + x = (1.5*x) - (x*x)*(x*z); + x = (1.5*x) - (x*x)*(x*z); + x = (1.5*x) - (x*x)*(x*z); + return x*y; +} + +int generateCRTCTiming( unsigned short width, + unsigned short height, + unsigned long paramValue, + int paramType, + VBECRTCInfoBlock * timing ) +{ + double h_period_est, h_freq, h_period, h_total_pixels, h_sync_pixels; + double h_active_pixels, h_ideal_duty_cycle, h_blank_pixels, pixel_freq = 0; + double v_sync_plus_bp = 0, v_total_lines = 0, v_field_rate_est, v_frame_rate = 0; + const double h_pixels = (double) width; + const double v_lines = (double) height; + + enum { + left_margin_pixels = 0, + right_margin_pixels = 0, + top_margin_lines = 0, + bot_margin_lines = 0, + interlace = 0 + }; + + // Total number of active pixels in image and both margins + h_active_pixels = h_pixels + left_margin_pixels + right_margin_pixels; + + if (paramType == kCRTCParamPixelClock) + { + // Pixel clock provided in MHz + pixel_freq = (double) paramValue / 1000000; + + // Ideal horizontal period from the blanking duty cycle equation + h_period = ((kC - 100) + (Sqrt(((100 - kC) * (100 - kC)) + (0.4 * kM * + (h_active_pixels + right_margin_pixels + left_margin_pixels) / + pixel_freq)))) / 2.0 / kM * 1000; + } + else /* kCRTCParamRefreshRate */ + { + double v_field_rate_in = (double) paramValue; + + // Estimate the horizontal period + h_period_est = ((1 / v_field_rate_in) - kMinVSyncPlusBP / 1000000) / + (v_lines + (2 * top_margin_lines) + kMinFrontPorch + interlace) * + 1000000; + + // Number of lines in Vsync + back porch + v_sync_plus_bp = Round(kMinVSyncPlusBP / h_period_est); + + // Total number of lines in Vetical field period + v_total_lines = v_lines + top_margin_lines + bot_margin_lines + + v_sync_plus_bp + interlace + kMinFrontPorch; + + // Estimate the vertical field frequency + v_field_rate_est = 1 / h_period_est / v_total_lines * 1000000; + + // Find the actual horizontal period + h_period = h_period_est / (v_field_rate_in / v_field_rate_est); + + // Find the vertical frame rate (no interlace) + v_frame_rate = 1 / h_period / v_total_lines * 1000000; + } + + // Ideal blanking duty cycle from the blanking duty cycle equation + h_ideal_duty_cycle = kC - (kM * h_period / 1000); + + // Number of pixels in the blanking time to the nearest double character cell + h_blank_pixels = Round(h_active_pixels * h_ideal_duty_cycle / + (100 - h_ideal_duty_cycle) / (2 * kCellGranularity)) * + (2 * kCellGranularity); + + // Total number of horizontal pixels + h_total_pixels = h_active_pixels + h_blank_pixels; + + if (paramType == kCRTCParamPixelClock) + { + // Horizontal frequency + h_freq = pixel_freq / h_total_pixels * 1000; + + // Number of lines in V sync + back porch + v_sync_plus_bp = Round(kMinVSyncPlusBP * h_freq / 1000); + + // Total number of lines in vertical field period + v_total_lines = v_lines + top_margin_lines + bot_margin_lines + + interlace + v_sync_plus_bp + kMinFrontPorch; + + // Vertical frame frequency + v_frame_rate = Round(h_freq / v_total_lines * 1000); + } + else + { + // Find pixel clock frequency + pixel_freq = Round(h_total_pixels / h_period); + } + + h_sync_pixels = Round(h_total_pixels * kHSyncWidth / 100 / kCellGranularity) * + kCellGranularity; + + timing->HTotal = h_total_pixels; + timing->HSyncStart = h_active_pixels + (h_blank_pixels / 2) - h_sync_pixels; + timing->HSyncEnd = timing->HSyncStart + h_sync_pixels; + timing->VTotal = v_total_lines; + timing->VSyncStart = v_total_lines - v_sync_plus_bp; + timing->VSyncEnd = timing->VSyncStart + kVSyncLines; + timing->Flags = kCRTCNegativeHorizontalSync; + timing->PixelClock = pixel_freq * 1000000; + timing->RefreshRate = v_frame_rate * 100; + + return 0; +} + +int setVBEMode(unsigned short mode, const VBECRTCInfoBlock * timing) +{ + bb.intno = 0x10; + bb.eax.rr = funcSetMode; + bb.ebx.rr = mode; + if (timing) { + bb.es = SEG(timing); + bb.edi.rr = OFF(timing); + } + bios(&bb); + return(bb.eax.r.h); +} + +int setVBEPalette(void *palette) +{ + bb.intno = 0x10; + bb.eax.rr = funcGetSetPaletteData; + bb.ebx.r.l = subfuncSet; + bb.ecx.rr = 256; + bb.edx.rr = 0; + bb.es = SEG(palette); + bb.edi.rr = OFF(palette); + bios(&bb); + return(bb.eax.r.h); +} + +int getVBEPalette(void *palette) +{ + bb.intno = 0x10; + bb.eax.rr = funcGetSetPaletteData; + bb.ebx.r.l = subfuncGet; + bb.ecx.rr = 256; + bb.edx.rr = 0; + bb.es = SEG(palette); + bb.edi.rr = OFF(palette); + bios(&bb); + return(bb.eax.r.h); +} + +int getVBECurrentMode(unsigned short *mode) +{ + bb.intno = 0x10; + bb.eax.rr = funcGetCurrentMode; + bios(&bb); + *mode = bb.ebx.rr; + return(bb.eax.r.h); +} + +int getVBEPixelClock(unsigned short mode, unsigned long * pixelClock) +{ + bb.intno = 0x10; + bb.eax.rr = funcGetSetPixelClock; + bb.ebx.r.l = 0; + bb.ecx.rx = *pixelClock; + bb.edx.rr = mode; + bios(&bb); + *pixelClock = bb.ecx.rx; + return(bb.eax.r.h); +} Index: branches/prasys/i386/libsaio/bootstruct.h =================================================================== --- branches/prasys/i386/libsaio/bootstruct.h (revision 0) +++ branches/prasys/i386/libsaio/bootstruct.h (revision 24) @@ -0,0 +1,138 @@ +/* + * Copyright (c) 2002-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 2002-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +#ifndef __BOOTSTRUCT_H +#define __BOOTSTRUCT_H + +#include +#include "saio_types.h" +#include "bios.h" +#include "device_tree.h" + +/*! + Kernel boot args global also used by booter for its own data. + */ +extern boot_args *bootArgs; +extern Node *gMemoryMapNode; + +#define VGA_TEXT_MODE 0 + +/* + * Maximum number of boot drivers that can be loaded. + */ +#define NDRIVERS 500 + +#define CONFIG_SIZE (40 * 4096) + +/* + * Max size fo config data array, in bytes. + */ +#define IO_CONFIG_DATA_SIZE 163840 + +#define kMemoryMapCountMax 40 + +/* + * PCI bus information. + */ +typedef struct _PCI_bus_info_t { + union { + struct { + unsigned char configMethod1 :1; + unsigned char configMethod2 :1; + unsigned char :2; + unsigned char specialCycle1 :1; + unsigned char specialCycle2 :1; + } s; + unsigned char d; + } u_bus; + unsigned char maxBusNum; + unsigned char majorVersion; + unsigned char minorVersion; + unsigned char BIOSPresent; +} PCI_bus_info_t; + +typedef struct { + unsigned long address; // address where driver was loaded + unsigned long size; // number of bytes + unsigned long type; // driver type +} driver_config_t; + +/* + * INT15, E820h - Query System Address Map. + * + * Documented in ACPI Specification Rev 2.0, + * Chapter 15 (System Address Map Interfaces). + */ + +/* + * ACPI defined memory range types. + */ +enum { + kMemoryRangeUsable = 1, // RAM usable by the OS. + kMemoryRangeReserved = 2, // Reserved. (Do not use) + kMemoryRangeACPI = 3, // ACPI tables. Can be reclaimed. + kMemoryRangeNVS = 4, // ACPI NVS memory. (Do not use) + + /* Undefined types should be treated as kMemoryRangeReserved */ +}; + +/*! + PrivateBootInfo has fields used by the booter that used to be part of + KernelBootArgs_t *bootArgs. When the switch was made to EFI the structure + completely changed to boot_args *bootArgs. This (new to boot-132) structure + contains the fields the kernel no longer cares about but the booter still + uses internally. Some fields (e.g. the video information) remain interesting + to the kernel and are thus located in bootArgs although with different field names. + */ +typedef struct PrivateBootInfo { + int convmem; // conventional memory + int extmem; // extended memory +#if 0 + int numBootDrivers; // number of drivers loaded +#endif + char bootFile[128]; // kernel file name + + unsigned long memoryMapCount; + MemoryRange memoryMap[kMemoryMapCountMax]; + + PCI_bus_info_t pciInfo; + +#if 0 + driver_config_t driverConfig[NDRIVERS]; +#endif + char * configEnd; // pointer to end of config files + char config[CONFIG_SIZE]; + + config_file_t bootConfig; // boot.plist + config_file_t overrideConfig; // additional boot.plist which can override bootConfig keys + config_file_t themeDefault; // default theme.plist + config_file_t themeConfig; // theme.plist + config_file_t smbiosConfig; // smbios.plist + config_file_t helperConfig; // boot helper partition's boot.plist + config_file_t ramdiskConfig; // RAMDisk.plist +} PrivateBootInfo_t; + +extern PrivateBootInfo_t *bootInfo; + +#endif /* __BOOTSTRUCT_H */ Index: branches/prasys/i386/libsaio/device_tree.c =================================================================== --- branches/prasys/i386/libsaio/device_tree.c (revision 0) +++ branches/prasys/i386/libsaio/device_tree.c (revision 24) @@ -0,0 +1,540 @@ +/* + * Copyright (c) 2005 Apple Computer, Inc. All Rights Reserved. + */ + +#if 1 +/* + + Structures for a Flattened Device Tree + */ + +#define kPropNameLength 32 + +typedef struct DeviceTreeNodeProperty { + char name[kPropNameLength]; // NUL terminated property name + unsigned long length; // Length (bytes) of folloing prop value + // unsigned long value[1]; // Variable length value of property + // Padded to a multiple of a longword? +} DeviceTreeNodeProperty; + +typedef struct OpaqueDTEntry { + unsigned long nProperties; // Number of props[] elements (0 => end) + unsigned long nChildren; // Number of children[] elements + // DeviceTreeNodeProperty props[];// array size == nProperties + // DeviceTreeNode children[]; // array size == nChildren +} DeviceTreeNode; + +typedef char DTPropertyNameBuf[32]; +/* Entry Name Definitions (Entry Names are C-Strings)*/ +enum { + kDTMaxEntryNameLength = 31 /* Max length of a C-String Entry Name (terminator not included) */ +}; + +/* length of DTEntryNameBuf = kDTMaxEntryNameLength +1*/ +typedef char DTEntryNameBuf[32]; +#endif + +#include "libsaio.h" +#include "device_tree.h" + +#if DEBUG +#define DPRINTF(args...) printf(args) +void +DT__PrintTree(Node *node); +#else +#define DPRINTF(args...) +#endif + + +#define RoundToLong(x) (((x) + 3) & ~3) + +static struct _DTSizeInfo { + uint32_t numNodes; + uint32_t numProperties; + uint32_t totalPropertySize; +} DTInfo; + +#define kAllocSize 4096 + +static Node *rootNode; + +static Node *freeNodes, *allocedNodes; +static Property *freeProperties, *allocedProperties; + +Property * +DT__AddProperty(Node *node, char *name, uint32_t length, void *value) +{ + Property *prop; + + DPRINTF("DT__AddProperty([Node '%s'], '%s', %d, 0x%x)\n", DT__GetName(node), name, length, value); + if (freeProperties == NULL) { + void *buf = malloc(kAllocSize); + int i; + + DPRINTF("Allocating more free properties\n"); + if (buf == 0) return 0; + bzero(buf, kAllocSize); + // Use the first property to record the allocated buffer + // for later freeing. + prop = (Property *)buf; + prop->next = allocedProperties; + allocedProperties = prop; + prop->value = buf; + prop++; + for (i=1; i<(kAllocSize / sizeof(Property)); i++) { + prop->next = freeProperties; + freeProperties = prop; + prop++; + } + } + prop = freeProperties; + freeProperties = prop->next; + + prop->name = name; + prop->length = length; + prop->value = value; + + // Always add to end of list + if (node->properties == 0) { + node->properties = prop; + } else { + node->last_prop->next = prop; + } + node->last_prop = prop; + prop->next = 0; + + DPRINTF("Done [0x%x]\n", prop); + + DTInfo.numProperties++; + DTInfo.totalPropertySize += RoundToLong(length); + + return prop; +} + +Node * +DT__AddChild(Node *parent, char *name) +{ + Node *node; + + if (freeNodes == NULL) { + void *buf = malloc(kAllocSize); + int i; + + DPRINTF("Allocating more free nodes\n"); + if (buf == 0) return 0; + bzero(buf, kAllocSize); + node = (Node *)buf; + // Use the first node to record the allocated buffer + // for later freeing. + node->next = allocedNodes; + allocedNodes = node; + node->children = (Node *)buf; + node++; + for (i=1; i<(kAllocSize / sizeof(Node)); i++) { + node->next = freeNodes; + freeNodes = node; + node++; + } + } + DPRINTF("DT__AddChild(0x%x, '%s')\n", parent, name); + node = freeNodes; + freeNodes = node->next; + DPRINTF("Got free node 0x%x\n", node); + DPRINTF("prop = 0x%x, children = 0x%x, next = 0x%x\n", node->properties, node->children, node->next); + + if (parent == NULL) { + rootNode = node; + node->next = 0; + } else { + node->next = parent->children; + parent->children = node; + } + DTInfo.numNodes++; + DT__AddProperty(node, "name", strlen(name) + 1, name); + return node; +} + +void +DT__FreeProperty(Property *prop) +{ + prop->next = freeProperties; + freeProperties = prop; +} +void +DT__FreeNode(Node *node) +{ + node->next = freeNodes; + freeNodes = node; +} + +void +DT__Initialize(void) +{ + DPRINTF("DT__Initialize\n"); + + freeNodes = 0; + allocedNodes = 0; + freeProperties = 0; + allocedProperties = 0; + + DTInfo.numNodes = 0; + DTInfo.numProperties = 0; + DTInfo.totalPropertySize = 0; + + rootNode = DT__AddChild(NULL, "/"); + DPRINTF("DT__Initialize done\n"); +} + +/* + * Free up memory used by in-memory representation + * of device tree. + */ +void +DT__Finalize(void) +{ + Node *node; + Property *prop; + + DPRINTF("DT__Finalize\n"); + for (prop = allocedProperties; prop != NULL; prop = prop->next) { + free(prop->value); + } + allocedProperties = NULL; + freeProperties = NULL; + + for (node = allocedNodes; node != NULL; node = node->next) { + free((void *)node->children); + } + allocedNodes = NULL; + freeNodes = NULL; + rootNode = NULL; + + // XXX leaks any created strings + + DTInfo.numNodes = 0; + DTInfo.numProperties = 0; + DTInfo.totalPropertySize = 0; +} + +static void * +FlattenNodes(Node *node, void *buffer) +{ + Property *prop; + DeviceTreeNode *flatNode; + DeviceTreeNodeProperty *flatProp; + int count; + + if (node == 0) return buffer; + + flatNode = (DeviceTreeNode *)buffer; + buffer += sizeof(DeviceTreeNode); + + for (count = 0, prop = node->properties; prop != 0; count++, prop = prop->next) { + flatProp = (DeviceTreeNodeProperty *)buffer; + strcpy(flatProp->name, prop->name); + flatProp->length = prop->length; + buffer += sizeof(DeviceTreeNodeProperty); + bcopy(prop->value, buffer, prop->length); + buffer += RoundToLong(prop->length); + } + flatNode->nProperties = count; + + for (count = 0, node = node->children; node != 0; count++, node = node->next) { + buffer = FlattenNodes(node, buffer); + } + flatNode->nChildren = count; + + return buffer; +} + +/* + * Flatten the in-memory representation of the device tree + * into a binary DT block. + * To get the buffer size needed, call with result = 0. + * To have a buffer allocated for you, call with *result = 0. + * To use your own buffer, call with *result = &buffer. + */ + +void +DT__FlattenDeviceTree(void **buffer_p, uint32_t *length) +{ + uint32_t totalSize; + void *buf; + + DPRINTF("DT__FlattenDeviceTree(0x%x, 0x%x)\n", buffer_p, length); +#if DEBUG + if (buffer_p) DT__PrintTree(rootNode); +#endif + + totalSize = DTInfo.numNodes * sizeof(DeviceTreeNode) + + DTInfo.numProperties * sizeof(DeviceTreeNodeProperty) + + DTInfo.totalPropertySize; + + DPRINTF("Total size 0x%x\n", totalSize); + if (buffer_p != 0) { + if (totalSize == 0) { + buf = 0; + } else { + if (*buffer_p == 0) { + buf = malloc(totalSize); + } else { + buf = *buffer_p; + } + bzero(buf, totalSize); + + FlattenNodes(rootNode, buf); + } + *buffer_p = buf; + } + if (length) + *length = totalSize; +} + +char * +DT__GetName(Node *node) +{ + Property *prop; + + //DPRINTF("DT__GetName(0x%x)\n", node); + //DPRINTF("Node properties = 0x%x\n", node->properties); + for (prop = node->properties; prop; prop = prop->next) { + //DPRINTF("Prop '%s'\n", prop->name); + if (strcmp(prop->name, "name") == 0) { + return prop->value; + } + } + //DPRINTF("DT__GetName returns 0\n"); + return "(null)"; +} + +Node * +DT__FindNode(char *path, bool createIfMissing) +{ + Node *node, *child; + DTPropertyNameBuf nameBuf; + char *bp; + int i; + + DPRINTF("DT__FindNode('%s', %d)\n", path, createIfMissing); + + // Start at root + node = rootNode; + DPRINTF("root = 0x%x\n", rootNode); + + while (node) { + // Skip leading slash + while (*path == '/') path++; + + for (i=0, bp = nameBuf; ++i < kDTMaxEntryNameLength && *path && *path != '/'; bp++, path++) *bp = *path; + *bp = '\0'; + + if (nameBuf[0] == '\0') { + // last path entry + break; + } + DPRINTF("Node '%s'\n", nameBuf); + + for (child = node->children; child != 0; child = child->next) { + DPRINTF("Child 0x%x\n", child); + if (strcmp(DT__GetName(child), nameBuf) == 0) { + break; + } + } + if (child == 0 && createIfMissing) { + DPRINTF("Creating node\n"); + char *str = malloc(strlen(nameBuf) + 1); + // XXX this will leak + strcpy(str, nameBuf); + + child = DT__AddChild(node, str); + } + node = child; + } + return node; +} + +#if DEBUG + +void +DT__PrintNode(Node *node, int level) +{ + char spaces[10], *cp = spaces; + Property *prop; + + if (level > 9) level = 9; + while (level--) *cp++ = ' '; + *cp = '\0'; + + printf("%s===Node===\n", spaces); + for (prop = node->properties; prop; prop = prop->next) { + char c = *((char *)prop->value); + if (prop->length < 64 && ( + strcmp(prop->name, "name") == 0 || + (c >= '0' && c <= '9') || + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || c == '_')) { + printf("%s Property '%s' [%d] = '%s'\n", spaces, prop->name, prop->length, prop->value); + } else { + printf("%s Property '%s' [%d] = (data)\n", spaces, prop->name, prop->length); + } + } + printf("%s==========\n", spaces); +} + +static void +_PrintTree(Node *node, int level) +{ + DT__PrintNode(node, level); + level++; + for (node = node->children; node; node = node->next) + _PrintTree(node, level); +} + +void +DT__PrintTree(Node *node) +{ + if (node == 0) node = rootNode; + _PrintTree(node, 0); +} + +void +DT__PrintFlattenedNode(DTEntry entry, int level) +{ + char spaces[10], *cp = spaces; + DTPropertyIterator propIter; + char *name; + void *prop; + int propSize; + + if (level > 9) level = 9; + while (level--) *cp++ = ' '; + *cp = '\0'; + + printf("%s===Entry %p===\n", spaces, entry); + if (kSuccess != DTCreatePropertyIterator(entry, &propIter)) { + printf("Couldn't create property iterator\n"); + return; + } + while( kSuccess == DTIterateProperties( propIter, &name)) { + if( kSuccess != DTGetProperty( entry, name, &prop, &propSize )) + continue; + printf("%s Property %s = %s\n", spaces, name, prop); + } + DTDisposePropertyIterator(propIter); + + printf("%s==========\n", spaces); +} + +static void +_PrintFlattenedTree(DTEntry entry, int level) +{ + DTEntryIterator entryIter; + + PrintFlattenedNode(entry, level); + + if (kSuccess != DTCreateEntryIterator(entry, &entryIter)) { + printf("Couldn't create entry iterator\n"); + return; + } + level++; + while (kSuccess == DTIterateEntries( entryIter, &entry )) { + _PrintFlattenedTree(entry, level); + } + DTDisposeEntryIterator(entryIter); +} + +void +DT__PrintFlattenedTree(DTEntry entry) +{ + _PrintFlattenedTree(entry, 0); +} + + +int +main(int argc, char **argv) +{ + DTEntry dtEntry; + DTPropertyIterator propIter; + DTEntryIterator entryIter; + void *prop; + int propSize; + char *name; + void *flatTree; + uint32_t flatSize; + + Node *node; + + node = AddChild(NULL, "device-tree"); + AddProperty(node, "potato", 4, "foo"); + AddProperty(node, "chemistry", 4, "bar"); + AddProperty(node, "physics", 4, "baz"); + + node = AddChild(node, "dev"); + AddProperty(node, "one", 4, "one"); + AddProperty(node, "two", 4, "two"); + AddProperty(node, "three", 6, "three"); + + node = AddChild(rootNode, "foo"); + AddProperty(node, "aaa", 4, "aab"); + AddProperty(node, "bbb", 4, "bbc"); + AddProperty(node, "cccc", 6, "ccccd"); + + node = FindNode("/this/is/a/test", 1); + AddProperty(node, "dddd", 12, "abcdefghijk"); + + printf("In-memory tree:\n\n"); + + PrintTree(rootNode); + + FlattenDeviceTree(&flatTree, &flatSize); + + printf("Flat tree = %p, size %d\n", flatTree, flatSize); + + dtEntry = (DTEntry)flatTree; + + printf("\n\nPrinting flat tree\n\n"); + + DTInit(dtEntry); + + PrintFlattenedTree((DTEntry)flatTree); +#if 0 + printf("=== Entry %p ===\n", dtEntry); + if (kSuccess != DTCreatePropertyIterator(dtEntry, &propIter)) { + printf("Couldn't create property iterator\n"); + return 1; + } + while( kSuccess == DTIterateProperties( propIter, &name)) { + if( kSuccess != DTGetProperty( dtEntry, name, &prop, &propSize )) + continue; + printf(" Property %s = %s\n", name, prop); + } + DTDisposePropertyIterator(propIter); + printf("========\n"); + + if (kSuccess != DTCreateEntryIterator(dtEntry, &entryIter)) { + printf("Couldn't create entry iterator\n"); + return 1; + } + while (kSuccess == DTIterateEntries( entryIter, &dtEntry )) { + printf("=== Entry %p ===\n", dtEntry); + + if (kSuccess != DTCreatePropertyIterator(dtEntry, &propIter)) { + printf("Couldn't create property iterator\n"); + return 1; + } + while( kSuccess == DTIterateProperties( propIter, &name)) { + if( kSuccess != DTGetProperty( dtEntry, name, &prop, &propSize )) + continue; + printf(" Property %s = %s\n", name, prop); + } + DTDisposePropertyIterator(propIter); + printf("========\n"); + } + DTDisposeEntryIterator(entryIter); +#endif + + return 0; +} + +#endif + Index: branches/prasys/i386/libsaio/hfs.c =================================================================== --- branches/prasys/i386/libsaio/hfs.c (revision 0) +++ branches/prasys/i386/libsaio/hfs.c (revision 24) @@ -0,0 +1,1062 @@ +/* + * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * hfs.c - File System Module for HFS and HFS+. + * + * Copyright (c) 1999-2002 Apple Computer, Inc. + * + * DRI: Josh de Cesare + */ + +#include +#include + +#include "hfs.h" + +#define kBlockSize (0x200) + +#define kMDBBaseOffset (2 * kBlockSize) + +#define kBTreeCatalog (0) +#define kBTreeExtents (1) + +#ifdef __i386__ + +static CICell gCurrentIH; +static long long gAllocationOffset; +static long gIsHFSPlus; +static long gCaseSensitive; +static long gBlockSize; +static long gCacheBlockSize; +static char *gBTreeHeaderBuffer; +static BTHeaderRec *gBTHeaders[2]; +static char *gHFSMdbVib; +static HFSMasterDirectoryBlock *gHFSMDB; +static char *gHFSPlusHeader; +static HFSPlusVolumeHeader *gHFSPlus; +static char *gLinkTemp; +static long long gVolID; +static char *gTempStr; + +#else /* !__i386__ */ + +static CICell gCurrentIH; +static long long gAllocationOffset; +static long gIsHFSPlus; +static long gBlockSize; +static long gCaseSensitive; +static long gCacheBlockSize; +static char gBTreeHeaderBuffer[512]; +static BTHeaderRec *gBTHeaders[2]; +static char gHFSMdbVib[kBlockSize]; +static HFSMasterDirectoryBlock *gHFSMDB =(HFSMasterDirectoryBlock*)gHFSMdbVib; +static char gHFSPlusHeader[kBlockSize]; +static HFSPlusVolumeHeader *gHFSPlus =(HFSPlusVolumeHeader*)gHFSPlusHeader; +static char gLinkTemp[64]; +static long long gVolID; + +#endif /* !__i386__ */ + +static long ReadFile(void *file, uint64_t *length, void *base, uint64_t offset); +static long GetCatalogEntryInfo(void *entry, long *flags, long *time, + FinderInfo *finderInfo, long *infoValid); +static long ResolvePathToCatalogEntry(char *filePath, long *flags, + void *entry, long dirID, long *dirIndex); + +static long GetCatalogEntry(long *dirIndex, char **name, + long *flags, long *time, + FinderInfo *finderInfo, long *infoValid); +static long ReadCatalogEntry(char *fileName, long dirID, void *entry, + long *dirIndex); +static long ReadExtentsEntry(long fileID, long startBlock, void *entry); + +static long ReadBTreeEntry(long btree, void *key, char *entry, long *dirIndex); +static void GetBTreeRecord(long index, char *nodeBuffer, long nodeSize, + char **key, char **data); + +static long ReadExtent(char *extent, uint64_t extentSize, long extentFile, + uint64_t offset, uint64_t size, void *buffer, long cache); + +static long GetExtentStart(void *extents, long index); +static long GetExtentSize(void *extents, long index); + +static long CompareHFSCatalogKeys(void *key, void *testKey); +static long CompareHFSPlusCatalogKeys(void *key, void *testKey); +static long CompareHFSExtentsKeys(void *key, void *testKey); +static long CompareHFSPlusExtentsKeys(void *key, void *testKey); + +extern long FastRelString(u_int8_t *str1, u_int8_t *str2); +extern long BinaryUnicodeCompare(u_int16_t *uniStr1, u_int32_t len1, + u_int16_t *uniStr2, u_int32_t len2); + + +static void +SwapFinderInfo(FndrFileInfo *dst, FndrFileInfo *src) +{ + dst->fdType = SWAP_BE32(src->fdType); + dst->fdCreator = SWAP_BE32(src->fdCreator); + dst->fdFlags = SWAP_BE16(src->fdFlags); + // Don't bother with location +} + +void HFSFree(CICell ih) +{ + if(gCurrentIH == ih) + gCurrentIH = 0; + free(ih); +} + +BOOL +HFSProbe (const void *buf) +{ + const HFSMasterDirectoryBlock *mdb; + const HFSPlusVolumeHeader *header; + mdb=(const HFSMasterDirectoryBlock *)(((const char*)buf)+kMDBBaseOffset); + header=(const HFSPlusVolumeHeader *)(((const char*)buf)+kMDBBaseOffset); + + if ( SWAP_BE16(mdb->drSigWord) == kHFSSigWord ) + return TRUE; + if (SWAP_BE16(header->signature) != kHFSPlusSigWord && + SWAP_BE16(header->signature) != kHFSXSigWord) + return FALSE; + return TRUE; +} + +long HFSInitPartition(CICell ih) +{ + long extentSize, extentFile, nodeSize; + void *extent; + + if (ih == gCurrentIH) { +#ifdef __i386__ + CacheInit(ih, gCacheBlockSize); +#endif + return 0; + } + +#ifdef __i386__ + if (!gTempStr) gTempStr = (char *)malloc(4096); + if (!gLinkTemp) gLinkTemp = (char *)malloc(64); + if (!gBTreeHeaderBuffer) gBTreeHeaderBuffer = (char *)malloc(512); + if (!gHFSMdbVib) { + gHFSMdbVib = (char *)malloc(kBlockSize); + gHFSMDB = (HFSMasterDirectoryBlock *)gHFSMdbVib; + } + if (!gHFSPlusHeader) { + gHFSPlusHeader = (char *)malloc(kBlockSize); + gHFSPlus = (HFSPlusVolumeHeader *)gHFSPlusHeader; + } + if (!gTempStr || !gLinkTemp || !gBTreeHeaderBuffer || + !gHFSMdbVib || !gHFSPlusHeader) return -1; +#endif /* __i386__ */ + + gAllocationOffset = 0; + gIsHFSPlus = 0; + gCaseSensitive = 0; + gBTHeaders[0] = 0; + gBTHeaders[1] = 0; + + // Look for the HFS MDB + Seek(ih, kMDBBaseOffset); + Read(ih, (long)gHFSMdbVib, kBlockSize); + + if ( SWAP_BE16(gHFSMDB->drSigWord) == kHFSSigWord ) { + gAllocationOffset = SWAP_BE16(gHFSMDB->drAlBlSt) * kBlockSize; + + // See if it is HFSPlus + if (SWAP_BE16(gHFSMDB->drEmbedSigWord) != kHFSPlusSigWord) { + // Normal HFS; + gCacheBlockSize = gBlockSize = SWAP_BE32(gHFSMDB->drAlBlkSiz); + CacheInit(ih, gCacheBlockSize); + gCurrentIH = ih; + + // grab the 64 bit volume ID + bcopy(&gHFSMDB->drFndrInfo[6], &gVolID, 8); + + // Get the Catalog BTree node size. + extent = (HFSExtentDescriptor *)&gHFSMDB->drCTExtRec; + extentSize = SWAP_BE32(gHFSMDB->drCTFlSize); + extentFile = kHFSCatalogFileID; + ReadExtent(extent, extentSize, extentFile, 0, 256, + gBTreeHeaderBuffer + kBTreeCatalog * 256, 0); + + nodeSize = SWAP_BE16(((BTHeaderRec *)(gBTreeHeaderBuffer + kBTreeCatalog * 256 + + sizeof(BTNodeDescriptor)))->nodeSize); + + // If the BTree node size is larger than the block size, reset the cache. + if (nodeSize > gBlockSize) { + gCacheBlockSize = nodeSize; + CacheInit(ih, gCacheBlockSize); + } + + return 0; + } + + // Calculate the offset to the embeded HFSPlus volume. + gAllocationOffset += (long long)SWAP_BE16(gHFSMDB->drEmbedExtent.startBlock) * + SWAP_BE32(gHFSMDB->drAlBlkSiz); + } + + // Look for the HFSPlus Header + Seek(ih, gAllocationOffset + kMDBBaseOffset); + Read(ih, (long)gHFSPlusHeader, kBlockSize); + + // Not a HFS+ or HFSX volume. + if (SWAP_BE16(gHFSPlus->signature) != kHFSPlusSigWord && + SWAP_BE16(gHFSPlus->signature) != kHFSXSigWord) { + verbose("HFS signature was not present.\n"); + gCurrentIH = 0; + return -1; + } + + gIsHFSPlus = 1; + gCacheBlockSize = gBlockSize = SWAP_BE32(gHFSPlus->blockSize); + CacheInit(ih, gCacheBlockSize); + gCurrentIH = ih; + + ih->modTime = SWAP_BE32(gHFSPlus->modifyDate) - 2082844800; + + // grab the 64 bit volume ID + bcopy(&gHFSPlus->finderInfo[24], &gVolID, 8); + + // Get the Catalog BTree node size. + extent = &gHFSPlus->catalogFile.extents; + extentSize = SWAP_BE64(gHFSPlus->catalogFile.logicalSize); + extentFile = kHFSCatalogFileID; + + ReadExtent(extent, extentSize, extentFile, 0, 256, + gBTreeHeaderBuffer + kBTreeCatalog * 256, 0); + + nodeSize = SWAP_BE16(((BTHeaderRec *)(gBTreeHeaderBuffer + kBTreeCatalog * 256 + + sizeof(BTNodeDescriptor)))->nodeSize); + + // If the BTree node size is larger than the block size, reset the cache. + if (nodeSize > gBlockSize) { + gCacheBlockSize = nodeSize; + CacheInit(ih, gCacheBlockSize); + } + + return 0; +} + +long HFSLoadFile(CICell ih, char * filePath) +{ + return HFSReadFile(ih, filePath, (void *)gFSLoadAddress, 0, 0); +} + +long HFSReadFile(CICell ih, char * filePath, void *base, uint64_t offset, uint64_t length) +{ + char entry[512]; + long dirID, result, flags; + + if (HFSInitPartition(ih) == -1) return -1; + + dirID = kHFSRootFolderID; + // Skip a lead '\'. Start in the system folder if there are two. + if (filePath[0] == '/') { + if (filePath[1] == '/') { + if (gIsHFSPlus) dirID = SWAP_BE32(((long *)gHFSPlus->finderInfo)[5]); + else dirID = SWAP_BE32(gHFSMDB->drFndrInfo[5]); + if (dirID == 0) { + return -1; + } + filePath++; + } + filePath++; + } + + result = ResolvePathToCatalogEntry(filePath, &flags, entry, dirID, 0); + if ((result == -1) || ((flags & kFileTypeMask) != kFileTypeFlat)) { + return -1; + } + +#if UNUSED + // Not yet for Intel. System.config/Default.table will fail this check. + // Check file owner and permissions. + if (flags & (kOwnerNotRoot | kPermGroupWrite | kPermOtherWrite)) return -1; +#endif + + result = ReadFile(entry, &length, base, offset); + if (result == -1) { + return -1; + } + + verbose("Loaded HFS%s file: [%s] %d bytes from %x.\n", + (gIsHFSPlus ? "+" : ""), filePath, (uint32_t)length, ih); + + return length; +} + +long HFSGetDirEntry(CICell ih, char * dirPath, long * dirIndex, char ** name, + long * flags, long * time, + FinderInfo * finderInfo, long * infoValid) +{ + char entry[512]; + long dirID, dirFlags; + + if (HFSInitPartition(ih) == -1) return -1; + + if (*dirIndex == -1) return -1; + + dirID = kHFSRootFolderID; + // Skip a lead '\'. Start in the system folder if there are two. + if (dirPath[0] == '/') { + if (dirPath[1] == '/') { + if (gIsHFSPlus) dirID = SWAP_BE32(((long *)gHFSPlus->finderInfo)[5]); + else dirID = SWAP_BE32(gHFSMDB->drFndrInfo[5]); + if (dirID == 0) return -1; + dirPath++; + } + dirPath++; + } + + if (*dirIndex == 0) { + ResolvePathToCatalogEntry(dirPath, &dirFlags, entry, dirID, dirIndex); + if (*dirIndex == 0) *dirIndex = -1; + if ((dirFlags & kFileTypeMask) != kFileTypeUnknown) return -1; + } + + GetCatalogEntry(dirIndex, name, flags, time, finderInfo, infoValid); + if (*dirIndex == 0) *dirIndex = -1; + if ((*flags & kFileTypeMask) == kFileTypeUnknown) return -1; + + return 0; +} + +void +HFSGetDescription(CICell ih, char *str, long strMaxLen) +{ + + UInt16 nodeSize; + UInt32 firstLeafNode; + long dirIndex; + char *name; + long flags, time; + + if (HFSInitPartition(ih) == -1) { return; } + + /* Fill some crucial data structures by side effect. */ + dirIndex = 0; + HFSGetDirEntry(ih, "/", &dirIndex, &name, &flags, &time, 0, 0); + + /* Now we can loook up the volume name node. */ + nodeSize = SWAP_BE16(gBTHeaders[kBTreeCatalog]->nodeSize); + firstLeafNode = SWAP_BE32(gBTHeaders[kBTreeCatalog]->firstLeafNode); + + dirIndex = firstLeafNode * nodeSize; + + GetCatalogEntry(&dirIndex, &name, &flags, &time, 0, 0); + + strncpy(str, name, strMaxLen); + str[strMaxLen] = '\0'; +} + + +long +HFSGetFileBlock(CICell ih, char *filePath, unsigned long long *firstBlock) +{ + char entry[512]; + long dirID, result, flags; + void *extents; + HFSCatalogFile *hfsFile = (void *)entry; + HFSPlusCatalogFile *hfsPlusFile = (void *)entry; + + if (HFSInitPartition(ih) == -1) return -1; + + dirID = kHFSRootFolderID; + // Skip a lead '\'. Start in the system folder if there are two. + if (filePath[0] == '/') { + if (filePath[1] == '/') { + if (gIsHFSPlus) dirID = SWAP_BE32(((long *)gHFSPlus->finderInfo)[5]); + else dirID = SWAP_BE32(gHFSMDB->drFndrInfo[5]); + if (dirID == 0) { + return -1; + } + filePath++; + } + filePath++; + } + + result = ResolvePathToCatalogEntry(filePath, &flags, entry, dirID, 0); + if ((result == -1) || ((flags & kFileTypeMask) != kFileTypeFlat)) { + printf("HFS: Resolve path %s failed\n", filePath); + return -1; + } + + if (gIsHFSPlus) { + extents = &hfsPlusFile->dataFork.extents; + } else { + extents = &hfsFile->dataExtents; + } + +#if DEBUG + printf("extent start 0x%x\n", (unsigned long)GetExtentStart(extents, 0)); + printf("block size 0x%x\n", (unsigned long)gBlockSize); + printf("Allocation offset 0x%x\n", (unsigned long)gAllocationOffset); +#endif + *firstBlock = ((unsigned long long)GetExtentStart(extents, 0) * (unsigned long long) gBlockSize + gAllocationOffset) / 512ULL; + return 0; +} + +long HFSGetUUID(CICell ih, char *uuidStr) +{ + if (HFSInitPartition(ih) == -1) return -1; + if (gVolID == 0LL) return -1; + + return CreateUUIDString((uint8_t*)(&gVolID), sizeof(gVolID), uuidStr); +} + +// Private Functions + +static long ReadFile(void * file, uint64_t * length, void * base, uint64_t offset) +{ + void *extents; + long fileID; + uint64_t fileLength; + HFSCatalogFile *hfsFile = file; + HFSPlusCatalogFile *hfsPlusFile = file; + + if (gIsHFSPlus) { + fileID = SWAP_BE32(hfsPlusFile->fileID); + fileLength = (uint64_t)SWAP_BE64(hfsPlusFile->dataFork.logicalSize); + extents = &hfsPlusFile->dataFork.extents; + } else { + fileID = SWAP_BE32(hfsFile->fileID); + fileLength = SWAP_BE32(hfsFile->dataLogicalSize); + extents = &hfsFile->dataExtents; + } + + if (offset > fileLength) { + printf("Offset is too large.\n"); + return -1; + } + + if ((*length == 0) || ((offset + *length) > fileLength)) { + *length = fileLength - offset; + } + +/* if (*length > kLoadSize) { + printf("File is too large.\n"); + return -1; + }*/ + + *length = ReadExtent((char *)extents, fileLength, fileID, + offset, *length, (char *)base, 0); + + return 0; +} + +static long GetCatalogEntryInfo(void * entry, long * flags, long * time, + FinderInfo * finderInfo, long * infoValid) +{ + long tmpTime = 0; + long valid = 0; + + // Get information about the file. + + switch ( SWAP_BE16(*(short *)entry) ) + { + case kHFSFolderRecord : + *flags = kFileTypeDirectory; + tmpTime = SWAP_BE32(((HFSCatalogFolder *)entry)->modifyDate); + break; + + case kHFSPlusFolderRecord : + *flags = kFileTypeDirectory | + (SWAP_BE16(((HFSPlusCatalogFolder *)entry)->bsdInfo.fileMode) & kPermMask); + if (SWAP_BE32(((HFSPlusCatalogFolder *)entry)->bsdInfo.ownerID) != 0) + *flags |= kOwnerNotRoot; + tmpTime = SWAP_BE32(((HFSPlusCatalogFolder *)entry)->contentModDate); + break; + + case kHFSFileRecord : + *flags = kFileTypeFlat; + tmpTime = SWAP_BE32(((HFSCatalogFile *)entry)->modifyDate); + if (finderInfo) { + SwapFinderInfo((FndrFileInfo *)finderInfo, &((HFSCatalogFile *)entry)->userInfo); + valid = 1; + } + break; + + case kHFSPlusFileRecord : + *flags = kFileTypeFlat | + (SWAP_BE16(((HFSPlusCatalogFile *)entry)->bsdInfo.fileMode) & kPermMask); + if (SWAP_BE32(((HFSPlusCatalogFile *)entry)->bsdInfo.ownerID) != 0) + *flags |= kOwnerNotRoot; + tmpTime = SWAP_BE32(((HFSPlusCatalogFile *)entry)->contentModDate); + if (finderInfo) { + SwapFinderInfo((FndrFileInfo *)finderInfo, &((HFSPlusCatalogFile *)entry)->userInfo); + valid = 1; + } + break; + + case kHFSFileThreadRecord : + case kHFSPlusFileThreadRecord : + case kHFSFolderThreadRecord : + case kHFSPlusFolderThreadRecord : + *flags = kFileTypeUnknown; + tmpTime = 0; + break; + } + + if (time != 0) { + // Convert base time from 1904 to 1970. + *time = tmpTime - 2082844800; + } + if (infoValid) *infoValid = valid; + + return 0; +} + +static long ResolvePathToCatalogEntry(char * filePath, long * flags, + void * entry, long dirID, long * dirIndex) +{ + char *restPath; + long result, cnt, subFolderID = 0, tmpDirIndex; + HFSPlusCatalogFile *hfsPlusFile; + + // Copy the file name to gTempStr + cnt = 0; + while ((filePath[cnt] != '/') && (filePath[cnt] != '\0')) cnt++; + strlcpy(gTempStr, filePath, cnt+1); + + // Move restPath to the right place. + if (filePath[cnt] != '\0') cnt++; + restPath = filePath + cnt; + + // gTempStr is a name in the current Dir. + // restPath is the rest of the path if any. + + result = ReadCatalogEntry(gTempStr, dirID, entry, dirIndex); + if (result == -1) { + return -1; + } + + GetCatalogEntryInfo(entry, flags, 0, 0, 0); + + if ((*flags & kFileTypeMask) == kFileTypeDirectory) { + if (gIsHFSPlus) + subFolderID = SWAP_BE32(((HFSPlusCatalogFolder *)entry)->folderID); + else + subFolderID = SWAP_BE32(((HFSCatalogFolder *)entry)->folderID); + } + + if ((*flags & kFileTypeMask) == kFileTypeDirectory) + result = ResolvePathToCatalogEntry(restPath, flags, entry, + subFolderID, dirIndex); + + if (gIsHFSPlus && ((*flags & kFileTypeMask) == kFileTypeFlat)) { + hfsPlusFile = (HFSPlusCatalogFile *)entry; + if ((SWAP_BE32(hfsPlusFile->userInfo.fdType) == kHardLinkFileType) && + (SWAP_BE32(hfsPlusFile->userInfo.fdCreator) == kHFSPlusCreator)) { + sprintf(gLinkTemp, "%s/%s%ld", HFSPLUSMETADATAFOLDER, + HFS_INODE_PREFIX, SWAP_BE32(hfsPlusFile->bsdInfo.special.iNodeNum)); + result = ResolvePathToCatalogEntry(gLinkTemp, flags, entry, + kHFSRootFolderID, &tmpDirIndex); + } + } + + return result; +} + +static long GetCatalogEntry(long * dirIndex, char ** name, + long * flags, long * time, + FinderInfo * finderInfo, long * infoValid) +{ + long extentSize, nodeSize, curNode, index; + void *extent; + char *nodeBuf, *testKey, *entry; + BTNodeDescriptor *node; + + if (gIsHFSPlus) { + extent = &gHFSPlus->catalogFile.extents; + extentSize = SWAP_BE64(gHFSPlus->catalogFile.logicalSize); + } else { + extent = (HFSExtentDescriptor *)&gHFSMDB->drCTExtRec; + extentSize = SWAP_BE32(gHFSMDB->drCTFlSize); + } + + nodeSize = SWAP_BE16(gBTHeaders[kBTreeCatalog]->nodeSize); + nodeBuf = (char *)malloc(nodeSize); + node = (BTNodeDescriptor *)nodeBuf; + + index = *dirIndex % nodeSize; + curNode = *dirIndex / nodeSize; + + // Read the BTree node and get the record for index. + ReadExtent(extent, extentSize, kHFSCatalogFileID, + curNode * nodeSize, nodeSize, nodeBuf, 1); + GetBTreeRecord(index, nodeBuf, nodeSize, &testKey, &entry); + + GetCatalogEntryInfo(entry, flags, time, finderInfo, infoValid); + + // Get the file name. + if (gIsHFSPlus) { + utf_encodestr(((HFSPlusCatalogKey *)testKey)->nodeName.unicode, + SWAP_BE16(((HFSPlusCatalogKey *)testKey)->nodeName.length), + (u_int8_t *)gTempStr, 256, OSBigEndian); + } else { + strncpy(gTempStr, + (const char *)&((HFSCatalogKey *)testKey)->nodeName[1], + ((HFSCatalogKey *)testKey)->nodeName[0]); + gTempStr[((HFSCatalogKey *)testKey)->nodeName[0]] = '\0'; + } + *name = gTempStr; + + // Update dirIndex. + index++; + if (index == SWAP_BE16(node->numRecords)) { + index = 0; + curNode = SWAP_BE32(node->fLink); + } + *dirIndex = curNode * nodeSize + index; + + free(nodeBuf); + + return 0; +} + +static long ReadCatalogEntry(char * fileName, long dirID, + void * entry, long * dirIndex) +{ + long length; + char key[sizeof(HFSPlusCatalogKey)]; + HFSCatalogKey *hfsKey = (HFSCatalogKey *)key; + HFSPlusCatalogKey *hfsPlusKey = (HFSPlusCatalogKey *)key; + + // Make the catalog key. + if ( gIsHFSPlus ) + { + hfsPlusKey->parentID = SWAP_BE32(dirID); + length = strlen(fileName); + if (length > 255) length = 255; + utf_decodestr((u_int8_t *)fileName, hfsPlusKey->nodeName.unicode, + &(hfsPlusKey->nodeName.length), 512, OSBigEndian); + } else { + hfsKey->parentID = SWAP_BE32(dirID); + length = strlen(fileName); + if (length > 31) length = 31; + hfsKey->nodeName[0] = length; + strncpy((char *)(hfsKey->nodeName + 1), fileName, length); + } + + return ReadBTreeEntry(kBTreeCatalog, &key, entry, dirIndex); +} + +static long ReadExtentsEntry(long fileID, long startBlock, void * entry) +{ + char key[sizeof(HFSPlusExtentKey)]; + HFSExtentKey *hfsKey = (HFSExtentKey *)key; + HFSPlusExtentKey *hfsPlusKey = (HFSPlusExtentKey *)key; + + // Make the extents key. + if (gIsHFSPlus) { + hfsPlusKey->forkType = 0; + hfsPlusKey->fileID = SWAP_BE32(fileID); + hfsPlusKey->startBlock = SWAP_BE32(startBlock); + } else { + hfsKey->forkType = 0; + hfsKey->fileID = SWAP_BE32(fileID); + hfsKey->startBlock = SWAP_BE16(startBlock); + } + + return ReadBTreeEntry(kBTreeExtents, &key, entry, 0); +} + +static long ReadBTreeEntry(long btree, void * key, char * entry, long * dirIndex) +{ + long extentSize; + void *extent; + short extentFile; + char *nodeBuf; + BTNodeDescriptor *node; + long nodeSize, result = 0, entrySize = 0; + long curNode, index = 0, lowerBound, upperBound; + char *testKey, *recordData; + + // Figure out which tree is being looked at. + if (btree == kBTreeCatalog) { + if (gIsHFSPlus) { + extent = &gHFSPlus->catalogFile.extents; + extentSize = SWAP_BE64(gHFSPlus->catalogFile.logicalSize); + } else { + extent = (HFSExtentDescriptor *)&gHFSMDB->drCTExtRec; + extentSize = SWAP_BE32(gHFSMDB->drCTFlSize); + } + extentFile = kHFSCatalogFileID; + } else { + if (gIsHFSPlus) { + extent = &gHFSPlus->extentsFile.extents; + extentSize = SWAP_BE64(gHFSPlus->extentsFile.logicalSize); + } else { + extent = (HFSExtentDescriptor *)&gHFSMDB->drXTExtRec; + extentSize = SWAP_BE32(gHFSMDB->drXTFlSize); + } + extentFile = kHFSExtentsFileID; + } + + // Read the BTree Header if needed. + if (gBTHeaders[btree] == 0) { + ReadExtent(extent, extentSize, extentFile, 0, 256, + gBTreeHeaderBuffer + btree * 256, 0); + gBTHeaders[btree] = (BTHeaderRec *)(gBTreeHeaderBuffer + btree * 256 + + sizeof(BTNodeDescriptor)); + if ((gIsHFSPlus && btree == kBTreeCatalog) && + (gBTHeaders[btree]->keyCompareType == kHFSBinaryCompare)) { + gCaseSensitive = 1; + } + } + + curNode = SWAP_BE32(gBTHeaders[btree]->rootNode); + nodeSize = SWAP_BE16(gBTHeaders[btree]->nodeSize); + nodeBuf = (char *)malloc(nodeSize); + node = (BTNodeDescriptor *)nodeBuf; + + while (1) { + // Read the current node. + ReadExtent(extent, extentSize, extentFile, + curNode * nodeSize, nodeSize, nodeBuf, 1); + + // Find the matching key. + lowerBound = 0; + upperBound = SWAP_BE16(node->numRecords) - 1; + while (lowerBound <= upperBound) { + index = (lowerBound + upperBound) / 2; + + GetBTreeRecord(index, nodeBuf, nodeSize, &testKey, &recordData); + + if (gIsHFSPlus) { + if (btree == kBTreeCatalog) { + result = CompareHFSPlusCatalogKeys(key, testKey); + } else { + result = CompareHFSPlusExtentsKeys(key, testKey); + } + } else { + if (btree == kBTreeCatalog) { + result = CompareHFSCatalogKeys(key, testKey); + } else { + result = CompareHFSExtentsKeys(key, testKey); + } + } + + if (result < 0) upperBound = index - 1; // search < trial + else if (result > 0) lowerBound = index + 1; // search > trial + else break; // search = trial + } + + if (result < 0) { + index = upperBound; + GetBTreeRecord(index, nodeBuf, nodeSize, &testKey, &recordData); + } + + // Found the closest key... Recurse on it if this is an index node. + if (node->kind == kBTIndexNode) { + curNode = SWAP_BE32( *((long *)recordData) ); + } else break; + } + + // Return error if the file was not found. + if (result != 0) { free(nodeBuf); return -1; } + + if (btree == kBTreeCatalog) { + switch (SWAP_BE16(*(short *)recordData)) { + case kHFSFolderRecord : entrySize = 70; break; + case kHFSFileRecord : entrySize = 102; break; + case kHFSFolderThreadRecord : entrySize = 46; break; + case kHFSFileThreadRecord : entrySize = 46; break; + case kHFSPlusFolderRecord : entrySize = 88; break; + case kHFSPlusFileRecord : entrySize = 248; break; + case kHFSPlusFolderThreadRecord : entrySize = 264; break; + case kHFSPlusFileThreadRecord : entrySize = 264; break; + } + } else { + if (gIsHFSPlus) entrySize = sizeof(HFSPlusExtentRecord); + else entrySize = sizeof(HFSExtentRecord); + } + + bcopy(recordData, entry, entrySize); + + // Update dirIndex. + if (dirIndex != 0) { + index++; + if (index == SWAP_BE16(node->numRecords)) { + index = 0; + curNode = SWAP_BE32(node->fLink); + } + *dirIndex = curNode * nodeSize + index; + } + + free(nodeBuf); + + return 0; +} + +static void GetBTreeRecord(long index, char * nodeBuffer, long nodeSize, + char ** key, char ** data) +{ + long keySize; + long recordOffset; + + recordOffset = SWAP_BE16(*((short *)(nodeBuffer + (nodeSize - 2 * index - 2)))); + *key = nodeBuffer + recordOffset; + if (gIsHFSPlus) { + keySize = SWAP_BE16(*(short *)*key); + *data = *key + 2 + keySize; + } else { + keySize = **key; + *data = *key + 2 + keySize - (keySize & 1); + } +} + +static long ReadExtent(char * extent, uint64_t extentSize, + long extentFile, uint64_t offset, uint64_t size, + void * buffer, long cache) +{ + uint64_t lastOffset; + long long blockNumber, countedBlocks = 0; + long long nextExtent = 0, sizeRead = 0, readSize; + long long nextExtentBlock, currentExtentBlock = 0; + long long readOffset; + long long extentDensity, sizeofExtent, currentExtentSize; + char *currentExtent, *extentBuffer = 0, *bufferPos = buffer; + + if (offset >= extentSize) return 0; + + if (gIsHFSPlus) { + extentDensity = kHFSPlusExtentDensity; + sizeofExtent = sizeof(HFSPlusExtentDescriptor); + } else { + extentDensity = kHFSExtentDensity; + sizeofExtent = sizeof(HFSExtentDescriptor); + } + + lastOffset = offset + size; + while (offset < lastOffset) { + blockNumber = offset / gBlockSize; + + // Find the extent for the offset. + for (; ; nextExtent++) { + if (nextExtent < extentDensity) { + if ((countedBlocks+GetExtentSize(extent, nextExtent)-1)= blockNumber) { + currentExtent = extentBuffer + sizeofExtent * (nextExtent % extentDensity); + break; + } + + countedBlocks += currentExtentSize; + } + + readOffset = ((blockNumber - countedBlocks) * gBlockSize) + + (offset % gBlockSize); + + readSize = GetExtentSize(currentExtent, 0) * gBlockSize - readOffset; + if (readSize > (size - sizeRead)) readSize = size - sizeRead; + + readOffset += (long long)GetExtentStart(currentExtent, 0) * gBlockSize; + + CacheRead(gCurrentIH, bufferPos, gAllocationOffset + readOffset, + readSize, cache); + + sizeRead += readSize; + offset += readSize; + bufferPos += readSize; + } + + if (extentBuffer) free(extentBuffer); + + return sizeRead; +} + +static long GetExtentStart(void * extents, long index) +{ + long start; + HFSExtentDescriptor *hfsExtents = extents; + HFSPlusExtentDescriptor *hfsPlusExtents = extents; + + if (gIsHFSPlus) start = SWAP_BE32(hfsPlusExtents[index].startBlock); + else start = SWAP_BE16(hfsExtents[index].startBlock); + + return start; +} + +static long GetExtentSize(void * extents, long index) +{ + long size; + HFSExtentDescriptor *hfsExtents = extents; + HFSPlusExtentDescriptor *hfsPlusExtents = extents; + + if (gIsHFSPlus) size = SWAP_BE32(hfsPlusExtents[index].blockCount); + else size = SWAP_BE16(hfsExtents[index].blockCount); + + return size; +} + +static long CompareHFSCatalogKeys(void * key, void * testKey) +{ + HFSCatalogKey *searchKey, *trialKey; + long result, searchParentID, trialParentID; + + searchKey = key; + trialKey = testKey; + + searchParentID = SWAP_BE32(searchKey->parentID); + trialParentID = SWAP_BE32(trialKey->parentID); + + // parent dirID is unsigned + if (searchParentID > trialParentID) result = 1; + else if (searchParentID < trialParentID) result = -1; + else { + // parent dirID's are equal, compare names + result = FastRelString(searchKey->nodeName, trialKey->nodeName); + } + + return result; +} + +static long CompareHFSPlusCatalogKeys(void * key, void * testKey) +{ + HFSPlusCatalogKey *searchKey, *trialKey; + long result, searchParentID, trialParentID; + + searchKey = key; + trialKey = testKey; + + searchParentID = SWAP_BE32(searchKey->parentID); + trialParentID = SWAP_BE32(trialKey->parentID); + + // parent dirID is unsigned + if (searchParentID > trialParentID) result = 1; + else if (searchParentID < trialParentID) result = -1; + else { + // parent dirID's are equal, compare names + if ((searchKey->nodeName.length == 0) || (trialKey->nodeName.length == 0)) + result = searchKey->nodeName.length - trialKey->nodeName.length; + else + if (gCaseSensitive) { + result = BinaryUnicodeCompare(&searchKey->nodeName.unicode[0], + SWAP_BE16(searchKey->nodeName.length), + &trialKey->nodeName.unicode[0], + SWAP_BE16(trialKey->nodeName.length)); + } else { + result = FastUnicodeCompare(&searchKey->nodeName.unicode[0], + SWAP_BE16(searchKey->nodeName.length), + &trialKey->nodeName.unicode[0], + SWAP_BE16(trialKey->nodeName.length), OSBigEndian); + } + } + + return result; +} + +static long CompareHFSExtentsKeys(void * key, void * testKey) +{ + HFSExtentKey *searchKey, *trialKey; + long result; + + searchKey = key; + trialKey = testKey; + + // assume searchKey < trialKey + result = -1; + + if (searchKey->fileID == trialKey->fileID) { + // FileNum's are equal; compare fork types + if (searchKey->forkType == trialKey->forkType) { + // Fork types are equal; compare allocation block number + if (searchKey->startBlock == trialKey->startBlock) { + // Everything is equal + result = 0; + } else { + // Allocation block numbers differ; determine sign + if (SWAP_BE16(searchKey->startBlock) > SWAP_BE16(trialKey->startBlock)) + result = 1; + } + } else { + // Fork types differ; determine sign + if (searchKey->forkType > trialKey->forkType) result = 1; + } + } else { + // FileNums differ; determine sign + if (SWAP_BE32(searchKey->fileID) > SWAP_BE32(trialKey->fileID)) + result = 1; + } + + return result; +} + +static long CompareHFSPlusExtentsKeys(void * key, void * testKey) +{ + HFSPlusExtentKey *searchKey, *trialKey; + long result; + + searchKey = key; + trialKey = testKey; + + // assume searchKey < trialKey + result = -1; + + if (searchKey->fileID == trialKey->fileID) { + // FileNum's are equal; compare fork types + if (searchKey->forkType == trialKey->forkType) { + // Fork types are equal; compare allocation block number + if (searchKey->startBlock == trialKey->startBlock) { + // Everything is equal + result = 0; + } else { + // Allocation block numbers differ; determine sign + if (SWAP_BE32(searchKey->startBlock) > SWAP_BE32(trialKey->startBlock)) + result = 1; + } + } else { + // Fork types differ; determine sign + if (searchKey->forkType > trialKey->forkType) result = 1; + } + } else { + // FileNums differ; determine sign + if (SWAP_BE32(searchKey->fileID) > SWAP_BE32(trialKey->fileID)) + result = 1; + } + + return result; +} + Index: branches/prasys/i386/libsaio/ext2fs.h =================================================================== --- branches/prasys/i386/libsaio/ext2fs.h (revision 0) +++ branches/prasys/i386/libsaio/ext2fs.h (revision 24) @@ -0,0 +1,11 @@ +/* + * ext2fs.h + * + * + * Created by mackerintel on 1/26/09. + * Copyright 2009 __MyCompanyName__. All rights reserved. + * + */ + +extern BOOL EX2Probe (const void *buf); +extern void EX2GetDescription(CICell ih, char *str, long strMaxLen); Property changes on: branches/prasys/i386/libsaio/ext2fs.h ___________________________________________________________________ Added: svn:executable + * Index: branches/prasys/i386/libsaio/vbe.h =================================================================== --- branches/prasys/i386/libsaio/vbe.h (revision 0) +++ branches/prasys/i386/libsaio/vbe.h (revision 24) @@ -0,0 +1,286 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +// Copyright 1997 by Apple Computer, Inc., all rights reserved. +/* Copyright 1996-1997 NeXT Software, Inc. + * + * vesa.h - mode info obtained via int10 + * + * Revision History + * ---------------- + * 30 Jul 1996 Doug Mitchell at NeXT + * Created. + */ + +#ifndef __LIBSAIO_VBE_H +#define __LIBSAIO_VBE_H + +#define MIN_VESA_VERSION 0x200 + +#define SEG(address) \ + ((unsigned short)(((unsigned long)address & 0xffff0000) >> 4)) + +#define OFF(address) \ + ((unsigned short)((unsigned long)address & 0x0000ffff)) + +#define VBEMakeUInt32(x) \ + (((unsigned long)x##_high << 24) | \ + ((unsigned long)x##_2 << 16) | \ + ((unsigned long)x##_1 << 8) | \ + (unsigned long)x##_low) + +#define VBEDecodeFP(t, fp) \ + ((t)(((fp ## _low) | ((fp ## _1 ) << 8)) + \ + (((fp ## _2) << 4) | ((fp ## _high ) << 12)))) + +/* + * Functions + */ +enum { + funcGetControllerInfo = 0x4F00, + funcGetModeInfo = 0x4F01, + funcSetMode = 0x4F02, + funcGetCurrentMode = 0x4F03, + funcSaveRestoreState = 0x4F04, + funcWindowControl = 0x4F05, + funcGetSetScanLineLength = 0x4F06, + funcGetSetDisplayStart = 0x4F07, + funcGetSetPaletteFormat = 0x4F08, + funcGetSetPaletteData = 0x4F09, + funcGetProtModeInterdace = 0x4F0A, + funcGetSetPixelClock = 0x4F0B +}; + +enum { + subfuncSet = 0x00, + subfuncGet = 0x01, + subfuncSetSecondary = 0x02, + subfuncGetSecondary = 0x03 +}; + +/* + * errors. + */ +enum { + errSuccess = 0, + errFuncFailed = 1, + errFuncNotSupported = 2, + errFuncInvalid = 3 +}; + +/* + * Per-controller info, returned in function 4f00. + */ +typedef struct { + unsigned char VESASignature[4]; + unsigned short VESAVersion; + /* + * Avoid packing problem... + */ + unsigned char OEMStringPtr_low; + unsigned char OEMStringPtr_1; + unsigned char OEMStringPtr_2; + unsigned char OEMStringPtr_high; + unsigned char Capabilities_low; + unsigned char Capabilities_1; + unsigned char Capabilities_2; + unsigned char Capabilities_high; + unsigned char VideoModePtr_low; + unsigned char VideoModePtr_1; + unsigned char VideoModePtr_2; + unsigned char VideoModePtr_high; + unsigned short TotalMemory; + unsigned char Reserved[236]; + unsigned char OEMData[256]; +} VBEInfoBlock; + +/* + * Capabilites + */ +enum { + capDACWidthIsSwitchableBit = (1 << 0), /* 1 = yes; 0 = no */ + capControllerIsNotVGACompatableBit = (1 << 1), /* 1 = no; 0 = yes */ + capOldRAMDAC = (1 << 2) /* 1 = yes; 0 = no */ +}; + +/* + * Per-mode info, returned in function 4f02. + */ +typedef struct { + unsigned short ModeAttributes; + unsigned char WinAAttributes; + unsigned char WinBAttributes; + unsigned short WinGranularity; + unsigned short WinSize; + unsigned short WinASegment; + unsigned short WinABegment; + void * WinFuncPtr; + unsigned short BytesPerScanline; + unsigned short XResolution; + unsigned short YResolution; + unsigned char XCharSize; + unsigned char YCharSize; + unsigned char NumberOfPlanes; + unsigned char BitsPerPixel; + unsigned char NumberOfBanks; + unsigned char MemoryModel; + unsigned char BankSize; + unsigned char NumberOfImagePages; + unsigned char Reserved; + unsigned char RedMaskSize; + unsigned char RedFieldPosition; + unsigned char GreenMaskSize; + unsigned char GreenFieldPosition; + unsigned char BlueMaskSize; + unsigned char BlueFieldPosition; + unsigned char RsvdMaskSize; + unsigned char RsvdFieldPosition; + unsigned char DirectColorModeInfo; + unsigned char PhysBasePtr_low; + unsigned char PhysBasePtr_1; + unsigned char PhysBasePtr_2; + unsigned char PhysBasePtr_high; + void * OffScreenMemOffset; + unsigned short OffScreenMemSize; + unsigned char Reserved1[206]; +} VBEModeInfoBlock; + +/* + * ModeAttributes bits + */ +enum { + maModeIsSupportedBit = (1 << 0), /* mode is supported */ + maExtendedInfoAvailableBit = (1 << 1), /* extended info available */ + maOutputFuncSupportedBit = (1 << 2), /* output functions supported */ + maColorModeBit = (1 << 3), /* 1 = color; 0 = mono */ + maGraphicsModeBit = (1 << 4), /* 1 = graphics; 0 = text */ + maModeIsNotVGACompatableBit = (1 << 5), /* 1 = not compat; 0 = compat */ + maVGAMemoryModeNotAvailBit = (1 << 6), /* 1 = not avail; 0 = avail */ + maLinearFrameBufferAvailBit = (1 << 7) /* 1 = avail; 0 = not avail */ +}; + +/* + * Modes + */ +enum { + mode640x400x256 = 0x100, + mode640x480x256 = 0x101, + mode800x600x16 = 0x102, + mode800x600x256 = 0x103, + mode1024x768x16 = 0x104, + mode1024x768x256 = 0x105, + mode1280x1024x16 = 0x106, + mode1280x1024x256 = 0x107, + mode80Cx60R = 0x108, + mode132Cx25R = 0x109, + mode132Cx43R = 0x10A, + mode132Cx50R = 0x10B, + mode132Cx60R = 0x10C, + mode320x200x555 = 0x10D, + mode320x200x565 = 0x10E, + mode320x200x888 = 0x10F, + mode640x480x555 = 0x110, + mode640x480x565 = 0x111, + mode640x480x888 = 0x112, + mode800x600x555 = 0x113, + mode800x600x565 = 0x114, + mode800x600x888 = 0x115, + mode1024x768x555 = 0x116, + mode1024x768x565 = 0x117, + mode1024x768x888 = 0x118, + mode1280x1024x555 = 0x119, + mode1280x1024x565 = 0x11A, + mode1280x1024x888 = 0x11B, + modeSpecial = 0x81FF, + modeEndOfList = 0xFFFF +}; + +/* + * Get/Set VBE Mode parameters + */ +enum { + kCustomRefreshRateBit = (1 << 11), + kLinearFrameBufferBit = (1 << 14), + kPreserveMemoryBit = (1 << 15) +}; + +/* + * CRTC information block passed to function 4F02 + * to override default refresh rate. + */ +#pragma pack(1) + +typedef struct { + unsigned short HTotal; + unsigned short HSyncStart; + unsigned short HSyncEnd; + unsigned short VTotal; + unsigned short VSyncStart; + unsigned short VSyncEnd; + unsigned char Flags; + unsigned long PixelClock; /* in Hz */ + unsigned short RefreshRate; /* units of 0.01 Hz */ + unsigned char Reserved[40]; +} VBECRTCInfoBlock; + +#pragma pack() + +/* + * Defined flags for 'Flags' field in VBECRTCInfoBlock. + */ +enum { + kCRTCDoubleScannedMode = (1 << 0), + kCRTCInterlacedMode = (1 << 1), + kCRTCNegativeHorizontalSync = (1 << 2), + kCRTCNegativeVerticalSync = (1 << 3) +}; + +/* + * The type of paramter passed to generateCRTCTimings(). + */ +enum { + kCRTCParamRefreshRate, + kCRTCParamPixelClock +}; + +/* + * Palette + */ +typedef unsigned long VBEPalette[256]; + +extern int getVBEInfo(void *vinfo_p); +extern int getVBEModeInfo(int mode, void *minfo_p); +extern int getVBEDACFormat(unsigned char *format); +extern int setVBEDACFormat(unsigned char format); +extern int setVBEPalette(void *palette); +extern int getVBEPalette(void *palette); +extern int setVBEMode(unsigned short mode, const VBECRTCInfoBlock *timing); +extern int getVBECurrentMode(unsigned short *mode); +extern int getVBEPixelClock(unsigned short mode, unsigned long *pixelClock); +extern int generateCRTCTiming(unsigned short width, + unsigned short height, + unsigned long paramValue, + int paramType, + VBECRTCInfoBlock * timing); + +#endif /* !__LIBSAIO_VBE_H */ Index: branches/prasys/i386/libsaio/device_tree.h =================================================================== --- branches/prasys/i386/libsaio/device_tree.h (revision 0) +++ branches/prasys/i386/libsaio/device_tree.h (revision 24) @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2005 Apple Computer, Inc. All Rights Reserved. + */ + +#ifndef __DEVICE_TREE_H +#define __DEVICE_TREE_H + +#include +#include + +typedef struct _Property { + char * name; + uint32_t length; + void * value; + + struct _Property * next; +} Property; + +typedef struct _Node { + struct _Property * properties; + struct _Property * last_prop; + + struct _Node * children; + + struct _Node * next; +} Node; + + +extern Property * +DT__AddProperty(Node *node, char *name, uint32_t length, void *value); + +extern Node * +DT__AddChild(Node *parent, char *name); + +Node * +DT__FindNode(char *path, bool createIfMissing); + +extern void +DT__FreeProperty(Property *prop); + +extern void +DT__FreeNode(Node *node); + +extern char * +DT__GetName(Node *node); + +void +DT__Initialize(void); + +/* + * Free up memory used by in-memory representation + * of device tree. + */ +extern void +DT__Finalize(void); + +void +DT__FlattenDeviceTree(void **result, uint32_t *length); + + +#endif /* __DEVICE_TREE_H */ Index: branches/prasys/i386/libsaio/hfs.h =================================================================== --- branches/prasys/i386/libsaio/hfs.h (revision 0) +++ branches/prasys/i386/libsaio/hfs.h (revision 24) @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +extern long HFSInitPartition(CICell ih); +extern long HFSLoadFile(CICell ih, char * filePath); +extern long HFSReadFile(CICell ih, char * filePath, void *base, uint64_t offset, uint64_t length); +extern long HFSGetDirEntry(CICell ih, char * dirPath, long * dirIndex, + char ** name, long * flags, long * time, + FinderInfo * finderInfo, long * infoValid); +extern void HFSGetDescription(CICell ih, char *str, long strMaxLen); +extern long HFSGetFileBlock(CICell ih, char *str, unsigned long long *firstBlock); +extern long HFSGetUUID(CICell ih, char *uuidStr); +extern void HFSFree(CICell ih); +extern BOOL HFSProbe (const void *buf); \ No newline at end of file Index: branches/prasys/i386/libsaio/spd.c =================================================================== --- branches/prasys/i386/libsaio/spd.c (revision 0) +++ branches/prasys/i386/libsaio/spd.c (revision 24) @@ -0,0 +1,166 @@ +/* + * + * + */ + +#include "libsaio.h" +#include "pci.h" +#include "platform.h" +#include "spd.h" + +#ifndef DEBUG_SPD +#define DEBUG_SPD 0 +#endif + +#if DEBUG_SPD +#define DBG(x...) printf(x) +#else +#define DBG(x...) +#endif + +static const char *spd_memory_types[] = +{ + "RAM", /* 00h Undefined */ + "FPM", /* 01h FPM */ + "EDO", /* 02h EDO */ + "", /* 03h PIPELINE NIBBLE */ + "SDRAM", /* 04h SDRAM */ + "", /* 05h MULTIPLEXED ROM */ + "DDR SGRAM", /* 06h SGRAM DDR */ + "DDR SDRAM", /* 07h SDRAM DDR */ + "DDR2 SDRAM", /* 08h SDRAM DDR 2 */ + "", /* 09h Undefined */ + "", /* 0Ah Undefined */ + "DDR3 SDRAM", /* 0Bh SDRAM DDR 3 */ +}; + +#define rdtsc(low,high) \ +__asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high)) + +#define SMBHSTSTS 0 +#define SMBHSTCNT 2 +#define SMBHSTCMD 3 +#define SMBHSTADD 4 +#define SMBHSTDAT 5 + +unsigned char smb_read_byte_intel(uint32_t base, uint8_t adr, uint8_t cmd) +{ + int l1, h1, l2, h2; + unsigned long long t; + + outb(base + SMBHSTSTS, 0x1f); // reset SMBus Controller + outb(base + SMBHSTDAT, 0xff); + + while( inb(base + SMBHSTSTS) & 0x01); // wait until ready + + outb(base + SMBHSTCMD, cmd); + outb(base + SMBHSTADD, (adr << 1) | 0x01 ); + outb(base + SMBHSTCNT, 0x48 ); + + rdtsc(l1, h1); + + while (!( inb(base + SMBHSTSTS) & 0x02)) // wait til command finished + { + rdtsc(l2, h2); + t = ((h2 - h1) * 0xffffffff + (l2 - l1)) / (Platform.CPU.TSCFrequency / 40); + if (t > 10) + break; // break after 10ms + } + return inb(base + SMBHSTDAT); +} + +static void read_smb_intel(pci_dt_t *smbus_dev) +{ + int i, x; + + uint8_t spd_size; + uint32_t base; + + RamSlotInfo_t *slot; + + base = pci_config_read16(smbus_dev->dev.addr, 0x20) & 0xFFFE; + + // Search MAX_RAM_SLOTS slots + for (i = 0; i < 6; i++) + { + slot = &Platform.RAM.DIMM[i]; + + spd_size = smb_read_byte_intel(base, 0x50 + i, 0); + + // Check spd is present + if (spd_size != 0xff) + { + slot->InUse = YES; + + slot->spd = malloc(spd_size); + if (slot->spd) + { + bzero(slot->spd, spd_size); + + // Copy spd data into buffer + for (x = 0; x < spd_size; x++) + slot->spd[x] = smb_read_byte_intel(base, 0x50 + i, x); + + switch (slot->spd[SPD_MEMORY_TYPE]) + { + case SPD_MEMORY_TYPE_SDRAM_DDR2: + + slot->ModuleSize = ((1 << (slot->spd[SPD_NUM_ROWS] & 0x0f) + (slot->spd[SPD_NUM_COLUMNS] & 0x0f) - 17) * + ((slot->spd[SPD_NUM_DIMM_BANKS] & 0x7) + 1) * slot->spd[SPD_NUM_BANKS_PER_SDRAM]); + break; + + case SPD_MEMORY_TYPE_SDRAM_DDR3: + + slot->ModuleSize = ((slot->spd[4] & 0x0f) + 28 ) + ((slot->spd[8] & 0x7) + 3 ); + slot->ModuleSize -= (slot->spd[7] & 0x7) + 25; + slot->ModuleSize = ((1 << slot->ModuleSize) * (((slot->spd[7] >> 3) & 0x1f) + 1)); + + break; + } + } + + verbose(" slot %d - %dMB %s SPD %d bytes at %x\n", i, slot->ModuleSize, + spd_memory_types[(uint8_t)slot->spd[SPD_MEMORY_TYPE]], + spd_size, slot->spd); + } + } + +} + +static struct smbus_controllers_t smbus_controllers[] = { + + {0x8086, 0x5032, "EP80579", read_smb_intel }, + {0x8086, 0x269B, "ESB2", read_smb_intel }, + {0x8086, 0x25A4, "6300ESB", read_smb_intel }, + {0x8086, 0x24C3, "ICH4", read_smb_intel }, + {0x8086, 0x24D3, "ICH5", read_smb_intel }, + {0x8086, 0x266A, "ICH6", read_smb_intel }, + {0x8086, 0x27DA, "ICH7", read_smb_intel }, + {0x8086, 0x283E, "ICH8", read_smb_intel }, + {0x8086, 0x2930, "ICH9", read_smb_intel }, + {0x8086, 0x3A30, "ICH10R", read_smb_intel }, + {0x8086, 0x3A60, "ICH10B", read_smb_intel }, + {0x8086, 0x3B30, "P55", read_smb_intel }, + +}; + +void scan_smbus_controller(pci_dt_t *smbus_dev) +{ + int i; + + for( i = 1; i < sizeof(smbus_controllers) / sizeof(smbus_controllers[0]); i++ ) + if (( smbus_controllers[i].vendor == smbus_dev->vendor_id) + && ( smbus_controllers[i].device == smbus_dev->device_id)) + { + verbose("%s%s SMBus Controller [%4x:%4x] at %02x:%02x.%x\n", + (smbus_dev->vendor_id == 0x8086) ? "Intel(R) " : "", + smbus_controllers[i].name, + smbus_dev->vendor_id, smbus_dev->device_id, + smbus_dev->dev.bits.bus, smbus_dev->dev.bits.dev, smbus_dev->dev.bits.func); + + smbus_controllers[i].read_smb(smbus_dev); + + } + +} + Index: branches/prasys/i386/libsaio/hfs_compare.c =================================================================== --- branches/prasys/i386/libsaio/hfs_compare.c (revision 0) +++ branches/prasys/i386/libsaio/hfs_compare.c (revision 24) @@ -0,0 +1,421 @@ +/* + * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * HFSCompare.c - Functions for working with and comparing HFS nams. + * + * Copyright (c) 1999-2000 Apple Computer, Inc. + * + * DRI: Josh de Cesare + */ + +#include +#include "hfs_CaseTables.h" + +#if ! UNCOMPRESSED + +static unsigned short * +UncompressStructure(struct compressed_block *bp, int count, int size) +{ + unsigned short *out = malloc(size); + unsigned short *op = out; + unsigned short data; + int i, j; + + for (i=0; icount) + { + stop("HFS+ Unicode tables are malformed\n"); + } + data = bp->data; + for (j=0; jcount; j++) { + *op++ = data; + if (bp->type == kTypeAscending) data++; + else if (bp->type == kTypeAscending256) data += 256; + } + } + return out; +} + +static void +InitCompareTables(void) +{ + if (gCompareTable == 0) { + gCompareTable = UncompressStructure(gCompareTableCompressed, + kCompareTableNBlocks, kCompareTableDataSize); + gLowerCaseTable = UncompressStructure(gLowerCaseTableCompressed, + kLowerCaseTableNBlocks, kLowerCaseTableDataSize); + } +} + +#endif /* ! UNCOMPRESSED */ + +//_______________________________________________________________________ +// +// Routine: FastRelString +// +// Output: returns -1 if str1 < str2 +// returns 1 if str1 > str2 +// return 0 if equal +// +//_______________________________________________________________________ + +int32_t FastRelString(u_int8_t * str1, u_int8_t * str2) +{ + int32_t bestGuess; + u_int8_t length, length2; + +#if ! UNCOMPRESED + InitCompareTables(); +#endif + + length = *(str1++); + length2 = *(str2++); + + if (length == length2) + bestGuess = 0; + else if (length < length2) + bestGuess = -1; + else + { + bestGuess = 1; + length = length2; + } + + while (length--) + { + u_int32_t aChar, bChar; + + aChar = *(str1++); + bChar = *(str2++); + + if (aChar != bChar) /* If they don't match exacly, do case conversion */ + { + u_int16_t aSortWord, bSortWord; + + aSortWord = gCompareTable[aChar]; + bSortWord = gCompareTable[bChar]; + + if (aSortWord > bSortWord) + return 1; + + if (aSortWord < bSortWord) + return -1; + } + + /* + * If characters match exactly, then go on to next character + * immediately without doing any extra work. + */ + } + + /* if you got to here, then return bestGuess */ + return bestGuess; +} + + +// +// FastUnicodeCompare - Compare two Unicode strings; produce a relative ordering +// +// IF RESULT +// -------------------------- +// str1 < str2 => -1 +// str1 = str2 => 0 +// str1 > str2 => +1 +// +// The lower case table starts with 256 entries (one for each of the upper bytes +// of the original Unicode char). If that entry is zero, then all characters with +// that upper byte are already case folded. If the entry is non-zero, then it is +// the _index_ (not byte offset) of the start of the sub-table for the characters +// with that upper byte. All ignorable characters are folded to the value zero. +// +// In pseudocode: +// +// Let c = source Unicode character +// Let table[] = lower case table +// +// lower = table[highbyte(c)] +// if (lower == 0) +// lower = c +// else +// lower = table[lower+lowbyte(c)] +// +// if (lower == 0) +// ignore this character +// +// To handle ignorable characters, we now need a loop to find the next valid character. +// Also, we can't pre-compute the number of characters to compare; the string length might +// be larger than the number of non-ignorable characters. Further, we must be able to handle +// ignorable characters at any point in the string, including as the first or last characters. +// We use a zero value as a sentinel to detect both end-of-string and ignorable characters. +// Since the File Manager doesn't prevent the NUL character (value zero) as part of a filename, +// the case mapping table is assumed to map u+0000 to some non-zero value (like 0xFFFF, which is +// an invalid Unicode character). +// +// Pseudocode: +// +// while (1) { +// c1 = GetNextValidChar(str1) // returns zero if at end of string +// c2 = GetNextValidChar(str2) +// +// if (c1 != c2) break // found a difference +// +// if (c1 == 0) // reached end of string on both strings at once? +// return 0; // yes, so strings are equal +// } +// +// // When we get here, c1 != c2. So, we just need to determine which one is less. +// if (c1 < c2) +// return -1; +// else +// return 1; +// + +int32_t FastUnicodeCompare( u_int16_t * str1, register u_int32_t length1, + u_int16_t * str2, register u_int32_t length2, int byte_order ) +{ + register u_int16_t c1,c2; + register u_int16_t temp; + +#if ! UNCOMPRESSED + InitCompareTables(); +#endif + + while (1) { + /* Set default values for c1, c2 in case there are no more valid chars */ + c1 = 0; + c2 = 0; + + /* Find next non-ignorable char from str1, or zero if no more */ + while (length1 && c1 == 0) { + if (byte_order == OSBigEndian) + c1 = SWAP_BE16(*(str1++)); + else + c1 = SWAP_LE16(*(str1++)); + --length1; + if ((temp = gLowerCaseTable[c1>>8]) != 0) // is there a subtable for this upper byte? + c1 = gLowerCaseTable[temp + (c1 & 0x00FF)]; // yes, so fold the char + } + + /* Find next non-ignorable char from str2, or zero if no more */ + while (length2 && c2 == 0) { + if (byte_order == OSBigEndian) + c2 = SWAP_BE16(*(str2++)); + else + c2 = SWAP_LE16(*(str2++)); + --length2; + if ((temp = gLowerCaseTable[c2>>8]) != 0) // is there a subtable for this upper byte? + c2 = gLowerCaseTable[temp + (c2 & 0x00FF)]; // yes, so fold the char + } + + if (c1 != c2) /* found a difference, so stop looping */ + break; + + if (c1 == 0) /* did we reach the end of both strings at the same time? */ + return 0; /* yes, so strings are equal */ + } + + if (c1 < c2) + return -1; + else + return 1; +} + + +// +// BinaryUnicodeCompare - Compare two Unicode strings; produce a relative ordering +// Compared using a 16-bit binary comparison (no case folding) +// +int32_t BinaryUnicodeCompare (u_int16_t * str1, u_int32_t length1, + u_int16_t * str2, u_int32_t length2) +{ + register u_int16_t c1, c2; + int32_t bestGuess; + u_int32_t length; + + bestGuess = 0; + + if (length1 < length2) { + length = length1; + --bestGuess; + } else if (length1 > length2) { + length = length2; + ++bestGuess; + } else { + length = length1; + } + + while (length--) { + c1 = *(str1++); + c2 = *(str2++); + + if (c1 > c2) + return (1); + if (c1 < c2) + return (-1); + } + + return (bestGuess); +} + + +/* + * UTF-8 (UCS Transformation Format) + * + * The following subset of UTF-8 is used to encode UCS-2 filenames. It + * requires a maximum of three 3 bytes per UCS-2 character. Only the + * shortest encoding required to represent the significant UCS-2 bits + * is legal. + * + * UTF-8 Multibyte Codes + * + * Bytes Bits UCS-2 Min UCS-2 Max UTF-8 Byte Sequence (binary) + * ------------------------------------------------------------------- + * 1 7 0x0000 0x007F 0xxxxxxx + * 2 11 0x0080 0x07FF 110xxxxx 10xxxxxx + * 3 16 0x0800 0xFFFF 1110xxxx 10xxxxxx 10xxxxxx + * ------------------------------------------------------------------- + */ + + +/* + * utf_encodestr - Encodes the UCS-2 (Unicode) string at ucsp into a + * null terminated UTF-8 string at utf8p. + * + * ucslen is the number of UCS-2 input characters (not bytes) + * bufsize is the size of the output buffer in bytes + */ +void +utf_encodestr( const u_int16_t * ucsp, int ucslen, + u_int8_t * utf8p, u_int32_t bufsize, int byte_order ) +{ + u_int8_t *bufend; + u_int16_t ucs_ch; + + bufend = utf8p + bufsize; + + while (ucslen-- > 0) { + if (byte_order == OSBigEndian) + ucs_ch = SWAP_BE16(*ucsp++); + else + ucs_ch = SWAP_LE16(*ucsp++); + + if (ucs_ch < 0x0080) { + if (utf8p >= bufend) + break; + if (ucs_ch == '\0') + continue; /* skip over embedded NULLs */ + *utf8p++ = ucs_ch; + + } else if (ucs_ch < 0x800) { + if ((utf8p + 1) >= bufend) + break; + *utf8p++ = (ucs_ch >> 6) | 0xc0; + *utf8p++ = (ucs_ch & 0x3f) | 0x80; + + } else { + if ((utf8p + 2) >= bufend) + break; + *utf8p++ = (ucs_ch >> 12) | 0xe0; + *utf8p++ = ((ucs_ch >> 6) & 0x3f) | 0x80; + *utf8p++ = ((ucs_ch) & 0x3f) | 0x80; + } + } + + *utf8p = '\0'; +} + + +/* + * utf_decodestr - Decodes the null terminated UTF-8 string at + * utf8p into a UCS-2 (Unicode) string at ucsp. + * + * ucslen is the number of UCS-2 output characters (not bytes) + * bufsize is the size of the output buffer in bytes + */ +void utf_decodestr(const u_int8_t * utf8p, u_int16_t * ucsp, u_int16_t * ucslen, u_int32_t bufsize, int byte_order) +{ + u_int16_t *bufstart; + u_int16_t *bufend; + u_int16_t ucs_ch; + u_int8_t byte; + + bufstart = ucsp; + bufend = (u_int16_t *)((u_int8_t *)ucsp + bufsize); + + while ((byte = *utf8p++) != '\0') { + if (ucsp >= bufend) + break; + + /* check for ascii */ + if (byte < 0x80) { + ucs_ch = byte; + + if (byte_order == OSBigEndian) + *ucsp++ = SWAP_BE16(ucs_ch); + else + *ucsp++ = SWAP_LE16(ucs_ch); + + continue; + } + + switch (byte & 0xf0) { + /* 2 byte sequence*/ + case 0xc0: + case 0xd0: + /* extract bits 6 - 10 from first byte */ + ucs_ch = (byte & 0x1F) << 6; + break; + /* 3 byte sequence*/ + case 0xe0: + /* extract bits 12 - 15 from first byte */ + ucs_ch = (byte & 0x0F) << 6; + + /* extract bits 6 - 11 from second byte */ + if (((byte = *utf8p++) & 0xc0) != 0x80) + goto stop; + + ucs_ch += (byte & 0x3F); + ucs_ch <<= 6; + break; + default: + goto stop; + } + + /* extract bits 0 - 5 from final byte */ + if (((byte = *utf8p++) & 0xc0) != 0x80) + goto stop; + ucs_ch += (byte & 0x3F); + + if (byte_order == OSBigEndian) + *ucsp++ = SWAP_BE16(ucs_ch); + else + *ucsp++ = SWAP_LE16(ucs_ch); + } +stop: + if (byte_order == OSBigEndian) + *ucslen = SWAP_BE16(ucsp - bufstart); + else + *ucslen = SWAP_LE16(ucsp - bufstart); +} Index: branches/prasys/i386/libsaio/libsaio.h =================================================================== --- branches/prasys/i386/libsaio/libsaio.h (revision 0) +++ branches/prasys/i386/libsaio/libsaio.h (revision 24) @@ -0,0 +1,35 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* libsaio.h */ + +#ifndef __LIBSAIO_LIBSAIO_H +#define __LIBSAIO_LIBSAIO_H + +#include "libsa.h" +#include "memory.h" +#include "io_inline.h" +#include "saio_types.h" +#include "saio_internal.h" + +#endif /* !__LIBSAIO_LIBSAIO_H */ Index: branches/prasys/i386/libsaio/spd.h =================================================================== --- branches/prasys/i386/libsaio/spd.h (revision 0) +++ branches/prasys/i386/libsaio/spd.h (revision 24) @@ -0,0 +1,156 @@ +/* + * + * + */ + +#ifndef __LIBSAIO_SPD_H +#define __LIBSAIO_SPD_H + +#include "libsaio.h" + +void scan_smbus_controller(pci_dt_t *smbus_dev); + +struct smbus_controllers_t { + uint32_t vendor; + uint32_t device; + char *name; + void (*read_smb)(pci_dt_t *smbus_dev); +}; + + +/* + * Serial Presence Detect (SPD) data stored on SDRAM modules. + * + * Datasheet: + * - Name: PC SDRAM Serial Presence Detect (SPD) Specification + * Revision 1.2A, December, 1997 + * - PDF: http://www.intel.com/design/chipsets/memory/spdsd12a.pdf + * + * Datasheet (alternative): + * - Name: SERIAL PRESENCE DETECT STANDARD, General Standard + * JEDEC Standard No. 21-C + * - PDF: http://www.jedec.org/download/search/4_01_02_00R9.PDF + */ + + +/* Byte numbers. */ +#define SPD_NUM_MANUFACTURER_BYTES 0 /* Number of bytes used by module manufacturer */ +#define SPD_TOTAL_SPD_MEMORY_SIZE 1 /* Total SPD memory size */ +#define SPD_MEMORY_TYPE 2 /* (Fundamental) memory type */ +#define SPD_NUM_ROWS 3 /* Number of row address bits */ +#define SPD_NUM_COLUMNS 4 /* Number of column address bits */ +#define SPD_NUM_DIMM_BANKS 5 /* Number of module rows (banks) */ +#define SPD_MODULE_DATA_WIDTH_LSB 6 /* Module data width (LSB) */ +#define SPD_MODULE_DATA_WIDTH_MSB 7 /* Module data width (MSB) */ +#define SPD_MODULE_VOLTAGE 8 /* Module interface signal levels */ +#define SPD_MIN_CYCLE_TIME_AT_CAS_MAX 9 /* SDRAM cycle time (highest CAS latency), RAS access time (tRAC) */ +#define SPD_ACCESS_TIME_FROM_CLOCK 10 /* SDRAM access time from clock (highest CAS latency), CAS access time (Tac, tCAC) */ +#define SPD_DIMM_CONFIG_TYPE 11 /* Module configuration type */ +#define SPD_REFRESH 12 /* Refresh rate/type */ +#define SPD_PRIMARY_SDRAM_WIDTH 13 /* SDRAM width (primary SDRAM) */ +#define SPD_ERROR_CHECKING_SDRAM_WIDTH 14 /* Error checking SDRAM (data) width */ +#define SPD_MIN_CLOCK_DELAY_B2B_RAND_COLUMN 15 /* SDRAM device attributes, minimum clock delay for back to back random column */ +#define SPD_SUPPORTED_BURST_LENGTHS 16 /* SDRAM device attributes, burst lengths supported */ +#define SPD_NUM_BANKS_PER_SDRAM 17 /* SDRAM device attributes, number of banks on SDRAM device */ +#define SPD_ACCEPTABLE_CAS_LATENCIES 18 /* SDRAM device attributes, CAS latency */ +#define SPD_CS_LATENCY 19 /* SDRAM device attributes, CS latency */ +#define SPD_WE_LATENCY 20 /* SDRAM device attributes, WE latency */ +#define SPD_MODULE_ATTRIBUTES 21 /* SDRAM module attributes */ +#define SPD_DEVICE_ATTRIBUTES_GENERAL 22 /* SDRAM device attributes, general */ +#define SPD_SDRAM_CYCLE_TIME_2ND 23 /* SDRAM cycle time (2nd highest CAS latency) */ +#define SPD_ACCESS_TIME_FROM_CLOCK_2ND 24 /* SDRAM access from clock (2nd highest CAS latency) */ +#define SPD_SDRAM_CYCLE_TIME_3RD 25 /* SDRAM cycle time (3rd highest CAS latency) */ +#define SPD_ACCESS_TIME_FROM_CLOCK_3RD 26 /* SDRAM access from clock (3rd highest CAS latency) */ +#define SPD_MIN_ROW_PRECHARGE_TIME 27 /* Minimum row precharge time (Trp) */ +#define SPD_MIN_ROWACTIVE_TO_ROWACTIVE 28 /* Minimum row active to row active (Trrd) */ +#define SPD_MIN_RAS_TO_CAS_DELAY 29 /* Minimum RAS to CAS delay (Trcd) */ +#define SPD_MIN_ACTIVE_TO_PRECHARGE_DELAY 30 /* Minimum RAS pulse width (Tras) */ +#define SPD_DENSITY_OF_EACH_ROW_ON_MODULE 31 /* Density of each row on module */ +#define SPD_CMD_SIGNAL_INPUT_SETUP_TIME 32 /* Command and address signal input setup time */ +#define SPD_CMD_SIGNAL_INPUT_HOLD_TIME 33 /* Command and address signal input hold time */ +#define SPD_DATA_SIGNAL_INPUT_SETUP_TIME 34 /* Data signal input setup time */ +#define SPD_DATA_SIGNAL_INPUT_HOLD_TIME 35 /* Data signal input hold time */ +#define SPD_WRITE_RECOVERY_TIME 36 /* Write recovery time (tWR) */ +#define SPD_INT_WRITE_TO_READ_DELAY 37 /* Internal write to read command delay (tWTR) */ +#define SPD_INT_READ_TO_PRECHARGE_DELAY 38 /* Internal read to precharge command delay (tRTP) */ +#define SPD_MEM_ANALYSIS_PROBE_PARAMS 39 /* Memory analysis probe characteristics */ +#define SPD_BYTE_41_42_EXTENSION 40 /* Extension of byte 41 (tRC) and byte 42 (tRFC) */ +#define SPD_MIN_ACT_TO_ACT_AUTO_REFRESH 41 /* Minimum active to active auto refresh (tRCmin) */ +#define SPD_MIN_AUTO_REFRESH_TO_ACT 42 /* Minimum auto refresh to active/auto refresh (tRFC) */ +#define SPD_MAX_DEVICE_CYCLE_TIME 43 /* Maximum device cycle time (tCKmax) */ +#define SPD_MAX_DQS_DQ_SKEW 44 /* Maximum skew between DQS and DQ (tDQSQ) */ +#define SPD_MAX_READ_DATAHOLD_SKEW 45 /* Maximum read data-hold skew factor (tQHS) */ +#define SPD_PLL_RELOCK_TIME 46 /* PLL relock time */ +#define SPD_SPD_DATA_REVISION_CODE 62 /* SPD data revision code */ +#define SPD_CHECKSUM_FOR_BYTES_0_TO_62 63 /* Checksum for bytes 0-62 */ +#define SPD_MANUFACTURER_JEDEC_ID_CODE 64 /* Manufacturer's JEDEC ID code, per EIA/JEP106 (bytes 64-71) */ +#define SPD_MANUFACTURING_LOCATION 72 /* Manufacturing location */ +#define SPD_MANUFACTURER_PART_NUMBER 73 /* Manufacturer's part number, in 6-bit ASCII (bytes 73-90) */ +#define SPD_REVISION_CODE 91 /* Revision code (bytes 91-92) */ +#define SPD_MANUFACTURING_DATE 93 /* Manufacturing date (byte 93: year, byte 94: week) */ +#define SPD_ASSEMBLY_SERIAL_NUMBER 95 /* Assembly serial number (bytes 95-98) */ +#define SPD_MANUFACTURER_SPECIFIC_DATA 99 /* Manufacturer specific data (bytes 99-125) */ +#define SPD_INTEL_SPEC_FOR_FREQUENCY 126 /* Intel specification for frequency */ +#define SPD_INTEL_SPEC_100_MHZ 127 /* Intel specification details for 100MHz support */ + +/* DRAM specifications use the following naming conventions for SPD locations */ +#define SPD_tRP SPD_MIN_ROW_PRECHARGE_TIME +#define SPD_tRRD SPD_MIN_ROWACTIVE_TO_ROWACTIVE +#define SPD_tRCD SPD_MIN_RAS_TO_CAS_DELAY +#define SPD_tRAS SPD_MIN_ACTIVE_TO_PRECHARGE_DELAY +#define SPD_BANK_DENSITY SPD_DENSITY_OF_EACH_ROW_ON_MODULE +#define SPD_ADDRESS_CMD_HOLD SPD_CMD_SIGNAL_INPUT_HOLD_TIME +#define SPD_tRC 41 /* SDRAM Device Minimum Active to Active/Auto Refresh Time (tRC) */ +#define SPD_tRFC 42 /* SDRAM Device Minimum Auto Refresh to Active/Auto Refresh (tRFC) */ + + +/* SPD_MEMORY_TYPE values. */ +#define SPD_MEMORY_TYPE_FPM_DRAM 1 +#define SPD_MEMORY_TYPE_EDO 2 +#define SPD_MEMORY_TYPE_PIPELINED_NIBBLE 3 +#define SPD_MEMORY_TYPE_SDRAM 4 +#define SPD_MEMORY_TYPE_MULTIPLEXED_ROM 5 +#define SPD_MEMORY_TYPE_SGRAM_DDR 6 +#define SPD_MEMORY_TYPE_SDRAM_DDR 7 +#define SPD_MEMORY_TYPE_SDRAM_DDR2 8 +#define SPD_MEMORY_TYPE_SDRAM_DDR3 0xb + +/* SPD_MODULE_VOLTAGE values. */ +#define SPD_VOLTAGE_TTL 0 /* 5.0 Volt/TTL */ +#define SPD_VOLTAGE_LVTTL 1 /* LVTTL */ +#define SPD_VOLTAGE_HSTL 2 /* HSTL 1.5 */ +#define SPD_VOLTAGE_SSTL3 3 /* SSTL 3.3 */ +#define SPD_VOLTAGE_SSTL2 4 /* SSTL 2.5 */ + +/* SPD_DIMM_CONFIG_TYPE values. */ +#define ERROR_SCHEME_NONE 0 +#define ERROR_SCHEME_PARITY 1 +#define ERROR_SCHEME_ECC 2 + +/* SPD_ACCEPTABLE_CAS_LATENCIES values. */ +// TODO: Check values. +#define SPD_CAS_LATENCY_1_0 0x01 +#define SPD_CAS_LATENCY_1_5 0x02 +#define SPD_CAS_LATENCY_2_0 0x04 +#define SPD_CAS_LATENCY_2_5 0x08 +#define SPD_CAS_LATENCY_3_0 0x10 +#define SPD_CAS_LATENCY_3_5 0x20 +#define SPD_CAS_LATENCY_4_0 0x40 + +#define SPD_CAS_LATENCY_DDR2_3 (1 << 3) +#define SPD_CAS_LATENCY_DDR2_4 (1 << 4) +#define SPD_CAS_LATENCY_DDR2_5 (1 << 5) +#define SPD_CAS_LATENCY_DDR2_6 (1 << 6) + +/* SPD_SUPPORTED_BURST_LENGTHS values. */ +#define SPD_BURST_LENGTH_1 1 +#define SPD_BURST_LENGTH_2 2 +#define SPD_BURST_LENGTH_4 4 +#define SPD_BURST_LENGTH_8 8 +#define SPD_BURST_LENGTH_PAGE (1 << 7) + +/* SPD_MODULE_ATTRIBUTES values. */ +#define MODULE_BUFFERED 1 +#define MODULE_REGISTERED 2 + +#endif /* !__LIBSAIO_SPD_H */ Index: branches/prasys/i386/libsaio/Makefile =================================================================== --- branches/prasys/i386/libsaio/Makefile (revision 0) +++ branches/prasys/i386/libsaio/Makefile (revision 24) @@ -0,0 +1,89 @@ + +DIR = libsaio +include ../MakePaths.dir + +UTILDIR = ../util +LIBSADIR = ../libsa +INSTALLDIR = $(DSTROOT)/System/Library/Frameworks/System.framework/Versions/B/PrivateHeaders/standalone +#SYMROOT= + +OPTIM = -Os -Oz +DEBUG = NOTHING +CFLAGS = $(RC_CFLAGS) $(OPTIM) $(MORECPP) -arch i386 -g -Wmost \ + -D__ARCHITECTURE__=\"i386\" -DSAIO_INTERNAL_USER \ + -DRCZ_COMPRESSED_FILE_SUPPORT -D$(DEBUG) \ + -fno-builtin -static $(OMIT_FRAME_POINTER_CFLAG) \ + -mpreferred-stack-boundary=2 -fno-align-functions -fno-stack-protector \ + -march=pentium4 -msse2 -mfpmath=sse -msoft-float + +DEFINES= +CONFIG = hd +INC = -I. -I$(SYMROOT) -I$(UTILDIR) -I$(LIBSADIR) +ifneq "" "$(wildcard /bin/mkdirs)" + MKDIRS = /bin/mkdirs +else + MKDIRS = /bin/mkdir -p +endif +AS = as +LD = ld +# LIBS= -lc_static +LIBS= + +VPATH = $(OBJROOT):$(SYMROOT) + +SAIO_OBJS = table.o asm.o bios.o biosfn.o \ + disk.o sys.o cache.o bootstruct.o \ + stringTable.o load.o pci.o memory.o misc.o \ + ufs.o ufs_byteorder.o \ + vbe.o nbp.o hfs.o hfs_compare.o \ + xml.o ntfs.o msdos.o md5c.o device_tree.o \ + freq_detect.o platform.o dsdt_patcher.o \ + smbios_patcher.o fake_efi.o ext2fs.o \ + hpet.o spd.o usb.o pci_setup.o \ + device_inject.o nvidia.o ati.o + + +SAIO_EXTERN_OBJS = console.o + +SFILES = +CFILES = +HFILES = +EXPORTED_HFILES = +INSTALLED_HFILES = +OTHERFILES = Makefile +ALLSRC = $(SFILES) $(CFILES) \ + $(HFILES) $(OTHERFILES) +LIBS = libsaio.a +DIRS_NEEDED = $(OBJROOT) $(SYMROOT) +#GENFILES = $(SYMROOT)/saio_internal.h \ +# $(SYMROOT)/saio_external.h \ +# $(SYMROOT)/saio_defs.h \ +# $(SYMROOT)/saio_table.c + +#SIG = $(SYMROOT)/sig + +all embedtheme: $(DIRS_NEEDED) libsaio.h $(LIBS) + +#libsaio_static.a: $(SAIO_OBJS) +# rm -f $(SYMROOT)/$@ +# ar q $(SYMROOT)/$@ $(SAIO_OBJS) +# ranlib $(SYMROOT)/$@ + +libsaio.a: $(SAIO_EXTERN_OBJS) $(SAIO_OBJS) + rm -f $(SYMROOT)/$(@F) + ar q $(SYMROOT)/$(@F) $^ + ranlib $(SYMROOT)/$(@F) + +#saio_internal.h: saio_external.h +#saio_table.c: saio_external.h +#saio_defs.h: saio_external.h +#saio_external.h: saio.def +# $(SIG) -d $(SYMROOT) -n saio saio.def + +#installhdrs:: $(INSTALLDIR) +# cp $(INSTALLED_HFILES) $(INSTALLDIR) + +include ../MakeInc.dir + +# dependencies +-include $(OBJROOT)/Makedep Index: branches/prasys/i386/libsaio/ufs.c =================================================================== --- branches/prasys/i386/libsaio/ufs.c (revision 0) +++ branches/prasys/i386/libsaio/ufs.c (revision 24) @@ -0,0 +1,534 @@ +/* + * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * ufs.c - File System Module for UFS. + * + * Copyright (c) 1998-2002 Apple Computer, Inc. + * + * DRI: Josh de Cesare + */ + +#include + +#include "ufs.h" +#include "ufs_byteorder.h" + +#if !defined(MAXNAMLEN) && defined(UFSMAXNAMLEN) +#define MAXNAMLEN UFSMAXNAMLEN +#endif + +typedef struct dinode Inode, *InodePtr; + +// Private function prototypes + +static char *ReadBlock(long fragNum, long fragOffset, long length, + char *buffer, long cache); +static long ReadInode(long inodeNum, InodePtr inode, long *flags, long *time); +static long ResolvePathToInode(char *filePath, long *flags, + InodePtr fileInode, InodePtr dirInode); +static long ReadDirEntry(InodePtr dirInode, long *fileInodeNum, + long *dirIndex, char **name); +static long FindFileInDir(char *fileName, long *flags, + InodePtr fileInode, InodePtr dirInode); +static char *ReadFileBlock(InodePtr fileInode, long fragNum, long blockOffset, + long length, char *buffer, long cache); +static long ReadFile(InodePtr fileInode, uint64_t *length, void *base, uint64_t offset); + +#define kDevBlockSize (0x200) // Size of each disk block. +#define kDiskLabelBlock (15) // Block the DL is in. + +#ifdef __i386__ + +static CICell gCurrentIH; +static long long gPartitionBase; +static char *gULBuf; +static char *gFSBuf; +static struct fs *gFS; +#if !BOOT1 +static struct ufslabel gUFSLabel; // for UUID +#endif +static long gBlockSize; +static long gFragSize; +static long gFragsPerBlock; +static char *gTempBlock; +static char *gTempName; +static char *gTempName2; +static InodePtr gRootInodePtr; +static InodePtr gFileInodePtr; + +#else /* !__i386__ */ + +static CICell gCurrentIH; +static long long gPartitionBase; +static char gDLBuf[8192]; +static char gFSBuf[SBSIZE]; +static struct fs *gFS; +#if !BOOT1 +static struct ufslabel gUFSLabel; // for UUID +#endif +static long gBlockSize; +static long gFragSize; +static long gFragsPerBlock; +static char *gTempBlock; +static char gTempName[MAXNAMLEN + 1]; +static char gTempName2[MAXNAMLEN + 1]; +static Inode _gRootInode; +static Inode _gFileInode; +static InodePtr gRootInodePtr = &_gRootInode; +static InodePtr gFileInodePtr = &_gFileInode; + +#endif /* !__i386__ */ + +// Public functions + +void UFSFree(CICell ih) +{ + if(gCurrentIH == ih) + gCurrentIH = 0; + free(ih); +} + +long UFSInitPartition( CICell ih ) +{ +#if !BOOT1 + long ret; +#endif + + if (ih == gCurrentIH) { +#ifdef __i386__ + CacheInit(ih, gBlockSize); +#endif + return 0; + } + +#if !BOOT1 + verbose("UFSInitPartition: %x\n", ih); +#endif + + gCurrentIH = 0; + +#ifdef __i386__ + if (!gULBuf) gULBuf = (char *) malloc(UFS_LABEL_SIZE); + if (!gFSBuf) gFSBuf = (char *) malloc(SBSIZE); + if (!gTempName) gTempName = (char *) malloc(MAXNAMLEN + 1); + if (!gTempName2) gTempName2 = (char *) malloc(MAXNAMLEN + 1); + if (!gRootInodePtr) gRootInodePtr = (InodePtr) malloc(sizeof(Inode)); + if (!gFileInodePtr) gFileInodePtr = (InodePtr) malloc(sizeof(Inode)); + if (!gULBuf || !gFSBuf || !gTempName || !gTempName2 || + !gRootInodePtr || !gFileInodePtr) return -1; +#endif + + // Assume there is no Disk Label + gPartitionBase = 0; + +#if !BOOT1 + // read the disk label to get the UUID + // (rumor has it that UFS headers can be either-endian on disk; hopefully + // that isn't true for this UUID field). + Seek(ih, gPartitionBase + UFS_LABEL_OFFSET); + ret = Read(ih, (long)&gUFSLabel, UFS_LABEL_SIZE); + if(ret != 0) + bzero(&gUFSLabel, UFS_LABEL_SIZE); +#endif /* !BOOT1 */ + + // Look for the Super Block + Seek(ih, gPartitionBase + SBOFF); + Read(ih, (long)gFSBuf, SBSIZE); + + gFS = (struct fs *)gFSBuf; + byte_swap_superblock(gFS); + + if (gFS->fs_magic != FS_MAGIC) { + return -1; + } + + ih->modTime = gFS->fs_time; + + // Calculate the block size and set up the block cache. + gBlockSize = gFS->fs_bsize; + gFragSize = gFS->fs_fsize; + gFragsPerBlock = gBlockSize / gFragSize; + if (gTempBlock != 0) free(gTempBlock); + gTempBlock = malloc(gBlockSize); + CacheInit(ih, gBlockSize); + + gCurrentIH = ih; + + // Read the Root Inode + ReadInode(ROOTINO, gRootInodePtr, 0, 0); + + return 0; +} + +#if !BOOT1 + +long UFSGetUUID(CICell ih, char *uuidStr) +{ + long long uuid = gUFSLabel.ul_uuid; + + if (UFSInitPartition(ih) == -1) return -1; + if (uuid == 0LL) return -1; + + return CreateUUIDString((uint8_t*)(&uuid), sizeof(uuid), uuidStr); +} + +#endif /* !BOOT1 */ + +long UFSLoadFile( CICell ih, char * filePath ) +{ + return UFSReadFile(ih, filePath, (void *)gFSLoadAddress, 0, 0); +} + +long UFSReadFile( CICell ih, char * filePath, void * base, uint64_t offset, uint64_t length ) +{ + long ret, flags; + +#if !BOOT1 + verbose("Loading UFS file: [%s] from %x.\n", filePath, (unsigned)ih); +#endif + + if (UFSInitPartition(ih) == -1) return -1; + + // Skip one or two leading '/'. + if (*filePath == '/') filePath++; + if (*filePath == '/') filePath++; + + ret = ResolvePathToInode(filePath, &flags, gFileInodePtr, gRootInodePtr); + if ((ret == -1) || ((flags & kFileTypeMask) != kFileTypeFlat)) return -1; + + ret = ReadFile(gFileInodePtr, &length, base, offset); + if (ret == -1) return -1; + + return length; +} + +#ifndef BOOT1 + +long UFSGetDirEntry( CICell ih, char * dirPath, long * dirIndex, + char ** name, long * flags, long * time, + FinderInfo * finderInfo, long * infoValid) +{ + long ret, fileInodeNum, dirFlags; + Inode tmpInode; + + if (UFSInitPartition(ih) == -1) return -1; + + if (infoValid) *infoValid = 0; + + // Skip a leading '/' if present + if (*dirPath == '/') dirPath++; + if (*dirPath == '/') dirPath++; + + ret = ResolvePathToInode(dirPath, &dirFlags, gFileInodePtr, gRootInodePtr); + if ((ret == -1) || ((dirFlags & kFileTypeMask) != kFileTypeDirectory)) + return -1; + + ret = ReadDirEntry(gFileInodePtr, &fileInodeNum, dirIndex, name); + if (ret != 0) return ret; + + ReadInode(fileInodeNum, &tmpInode, flags, time); + + return 0; +} + +void +UFSGetDescription(CICell ih, char *str, long strMaxLen) +{ + if (UFSInitPartition(ih) == -1) { return; } + + struct ufslabel *ul; + + // Look for the Disk Label + Seek(ih, 1ULL * UFS_LABEL_OFFSET); + Read(ih, (long)gULBuf, UFS_LABEL_SIZE); + + ul = (struct ufslabel *)gULBuf; + + unsigned char magic_bytes[] = UFS_LABEL_MAGIC; + int i; + unsigned char *p = (unsigned char *)&ul->ul_magic; + + for (i=0; iul_name, strMaxLen); +} + +long +UFSGetFileBlock(CICell ih, char *filePath, unsigned long long *firstBlock) +{ + long ret, flags; + + if (UFSInitPartition(ih) == -1) return -1; + + // Skip one or two leading '/'. + if (*filePath == '/') filePath++; + if (*filePath == '/') filePath++; + + ret = ResolvePathToInode(filePath, &flags, gFileInodePtr, gRootInodePtr); + if ((ret == -1) || ((flags & kFileTypeMask) != kFileTypeFlat)) return -1; + + *firstBlock = (gPartitionBase + 1ULL * gFileInodePtr->di_db[0] * gBlockSize) / 512ULL; + + return 0; +} + + +#endif /* !BOOT1 */ + +// Private functions + +static char * ReadBlock( long fragNum, long blockOffset, long length, + char * buffer, long cache ) +{ + long long offset; + long blockNum; + + blockNum = fragNum / gFragsPerBlock; + fragNum -= blockNum * gFragsPerBlock; + + blockOffset += fragNum * gFragSize; + + offset = gPartitionBase + 1ULL * blockNum * gBlockSize; + + if (cache && ((blockOffset + length) <= gBlockSize)) { + CacheRead(gCurrentIH, gTempBlock, offset, gBlockSize, 1); + if (buffer != 0) bcopy(gTempBlock + blockOffset, buffer, length); + else buffer = gTempBlock + blockOffset; + } else { + offset += blockOffset; + CacheRead(gCurrentIH, buffer, offset, length, 0); + } + + return buffer; +} + +static long ReadInode( long inodeNum, InodePtr inode, long * flags, long * time ) +{ + long fragNum = ino_to_fsba(gFS, inodeNum); + long blockOffset = ino_to_fsbo(gFS, inodeNum) * sizeof(Inode); + + ReadBlock(fragNum, blockOffset, sizeof(Inode), (char *)inode, 1); + byte_swap_dinode_in(inode); + + if (time != 0) *time = inode->di_mtime; + + if (flags != 0) { + switch (inode->di_mode & IFMT) { + case IFREG: *flags = kFileTypeFlat; break; + case IFDIR: *flags = kFileTypeDirectory; break; + case IFLNK: *flags = kFileTypeLink; break; + default : *flags = kFileTypeUnknown; break; + } + + *flags |= inode->di_mode & kPermMask; + + if (inode->di_uid != 0) *flags |= kOwnerNotRoot; + } + + return 0; +} + +static long ResolvePathToInode( char * filePath, long * flags, + InodePtr fileInode, InodePtr dirInode ) +{ + char * restPath; + long ret, cnt; + + // if filePath is empty the we want this directory. + if (*filePath == '\0') { + bcopy((char *)dirInode, (char *)fileInode, sizeof(Inode)); + return 0; + } + + // Copy the file name to gTempName + cnt = 0; + while ((filePath[cnt] != '/') && (filePath[cnt] != '\0')) cnt++; + strlcpy(gTempName, filePath, cnt+1); + + // Move restPath to the right place. + if (filePath[cnt] != '\0') cnt++; + restPath = filePath + cnt; + + // gTempName is a name in the current Dir. + // restPath is the rest of the path if any. + + ret = FindFileInDir(gTempName, flags, fileInode, dirInode); + if (ret == -1) return -1; + + if ((*restPath != '\0') && ((*flags & kFileTypeMask) == kFileTypeDirectory)) + ret = ResolvePathToInode(restPath, flags, fileInode, fileInode); + + return ret; +} + +static long ReadDirEntry( InodePtr dirInode, long * fileInodeNum, + long * dirIndex, char ** name ) +{ + struct direct *dir; + char *buffer; + long index; + long dirBlockNum, dirBlockOffset; + + while (1) { + index = *dirIndex; + + dirBlockOffset = index % DIRBLKSIZ; + dirBlockNum = index / DIRBLKSIZ; + + buffer = ReadFileBlock(dirInode, dirBlockNum, 0, DIRBLKSIZ, 0, 1); + if (buffer == 0) return -1; + + dir = (struct direct *)(buffer + dirBlockOffset); + byte_swap_dir_block_in((char *)dir, 1); + + *dirIndex += dir->d_reclen; + + if (dir->d_ino != 0) break; + + if (dirBlockOffset != 0) return -1; + } + + *fileInodeNum = dir->d_ino; + *name = strlcpy(gTempName2, dir->d_name, dir->d_namlen+1); + + return 0; +} + +static long FindFileInDir( char * fileName, long * flags, + InodePtr fileInode, InodePtr dirInode ) +{ + long ret, inodeNum, index = 0; + char *name; + + while (1) { + ret = ReadDirEntry(dirInode, &inodeNum, &index, &name); + if (ret == -1) return -1; + + if (strcmp(fileName, name) == 0) break; + } + + ReadInode(inodeNum, fileInode, flags, 0); + + return 0; +} + +static char * ReadFileBlock( InodePtr fileInode, long fragNum, long blockOffset, + long length, char * buffer, long cache ) +{ + long fragCount, blockNum; + long diskFragNum, indFragNum, indBlockOff, refsPerBlock; + char *indBlock; + + fragCount = (fileInode->di_size + gFragSize - 1) / gFragSize; + if (fragNum >= fragCount) return 0; + + refsPerBlock = gBlockSize / sizeof(ufs_daddr_t); + + blockNum = fragNum / gFragsPerBlock; + fragNum -= blockNum * gFragsPerBlock; + + // Get Direct Block Number. + if (blockNum < NDADDR) { + diskFragNum = fileInode->di_db[blockNum]; + } else { + blockNum -= NDADDR; + + // Get Single Indirect Fragment Number. + if (blockNum < refsPerBlock) { + indFragNum = fileInode->di_ib[0]; + } else { + blockNum -= refsPerBlock; + + // Get Double Indirect Fragment Number. + if (blockNum < (refsPerBlock * refsPerBlock)) { + indFragNum = fileInode->di_ib[1]; + } else { + blockNum -= refsPerBlock * refsPerBlock; + + // Get Triple Indirect Fragment Number. + indFragNum = fileInode->di_ib[2]; + + indBlock = ReadBlock(indFragNum, 0, gBlockSize, 0, 1); + indBlockOff = blockNum / (refsPerBlock * refsPerBlock); + blockNum %= (refsPerBlock * refsPerBlock); + indFragNum = SWAP_BE32(((ufs_daddr_t *)indBlock)[indBlockOff]); + } + + indBlock = ReadBlock(indFragNum, 0, gBlockSize, 0, 1); + indBlockOff = blockNum / refsPerBlock; + blockNum %= refsPerBlock; + indFragNum = SWAP_BE32(((ufs_daddr_t *)indBlock)[indBlockOff]); + } + + indBlock = ReadBlock(indFragNum, 0, gBlockSize, 0, 1); + diskFragNum = SWAP_BE32(((ufs_daddr_t *)indBlock)[blockNum]); + } + + buffer = ReadBlock(diskFragNum+fragNum, blockOffset, length, buffer, cache); + + return buffer; +} + +static long ReadFile( InodePtr fileInode, uint64_t * length, void * base, uint64_t offset ) +{ + long bytesLeft, curSize, curFrag; + char *buffer, *curAddr = (char *)base; + + bytesLeft = fileInode->di_size; + + if (offset > bytesLeft) { + printf("Offset is too large.\n"); + return -1; + } + + if ((*length == 0) || ((offset + *length) > bytesLeft)) { + *length = bytesLeft - offset; + } +/* + if (bytesLeft > kLoadSize) { + printf("File is too large.\n"); + return -1; + } +*/ + bytesLeft = *length; + curFrag = (offset / gBlockSize) * gFragsPerBlock; + offset %= gBlockSize; + + while (bytesLeft) { + curSize = gBlockSize; + if (curSize > bytesLeft) curSize = bytesLeft; + if ((offset + curSize) > gBlockSize) curSize = (gBlockSize - offset); + + buffer = ReadFileBlock(fileInode, curFrag, offset, curSize, curAddr, 0); + if (buffer == 0) break; + + if (offset != 0) offset = 0; + + curFrag += gFragsPerBlock; + curAddr += curSize; + bytesLeft -= curSize; + } + + return bytesLeft; +} Index: branches/prasys/i386/libsaio/bios.h =================================================================== --- branches/prasys/i386/libsaio/bios.h (revision 0) +++ branches/prasys/i386/libsaio/bios.h (revision 24) @@ -0,0 +1,105 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Copyright 1994 NeXT Computer, Inc. + * All rights reserved. + */ + +#ifndef __LIBSAIO_BIOS_H +#define __LIBSAIO_BIOS_H + +#include + +typedef union { + unsigned int rx; + unsigned short rr; + struct { + unsigned char l; + unsigned char h; + } r; +} machineRegister_t; + +typedef struct { + unsigned short cf :1; + unsigned short :1; + unsigned short pf :1; + unsigned short :1; + unsigned short af :1; + unsigned short :1; + unsigned short zf :1; + unsigned short sf :1; + unsigned short tf :1; + unsigned short _if :1; + unsigned short df :1; + unsigned short of :1; + unsigned short iopl:2; + unsigned short nt :1; +} machineFlags_t; + +typedef struct { + unsigned int intno; + machineRegister_t eax; + machineRegister_t ebx; + machineRegister_t ecx; + machineRegister_t edx; + machineRegister_t edi; + machineRegister_t esi; + machineRegister_t ebp; + unsigned short cs; + unsigned short ds; + unsigned short es; + machineFlags_t flags; +} biosBuf_t; + +#define EBIOS_FIXED_DISK_ACCESS 0x01 +#define EBIOS_LOCKING_ACCESS 0x02 +#define EBIOS_ENHANCED_DRIVE_INFO 0x04 + +#define BASE_HD_DRIVE 0x80 + +#if 0 +/* + * ACPI defined memory range types. + */ +enum { + kMemoryRangeUsable = 1, // RAM usable by the OS. + kMemoryRangeReserved = 2, // Reserved. (Do not use) + kMemoryRangeACPI = 3, // ACPI tables. Can be reclaimed. + kMemoryRangeNVS = 4, // ACPI NVS memory. (Do not use) + + /* Undefined types should be treated as kMemoryRangeReserved */ +}; +#endif + +/* + * Memory range descriptor. + */ +typedef struct MemoryRange { + unsigned long long base; // 64-bit base address + unsigned long long length; // 64-bit length in bytes + unsigned long type; // type of memory range + unsigned long reserved; +} MemoryRange; + +#endif /* !__LIBSAIO_BIOS_H */ Index: branches/prasys/i386/libsaio/SMBIOS.h =================================================================== --- branches/prasys/i386/libsaio/SMBIOS.h (revision 0) +++ branches/prasys/i386/libsaio/SMBIOS.h (revision 24) @@ -0,0 +1,63 @@ +/* + * Copyright (c) 1998-2006 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 1.1 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +/* This file is a stripped-down version of the one found in the AppleSMBIOS project. + * Changes: + * - Don't use pragma pack but instead use GCC's packed attribute + * - Remove everything except the entry point structure. We don't need anything else. + */ + +#ifndef _LIBSAIO_SMBIOS_H +#define _LIBSAIO_SMBIOS_H + +/* + * Based on System Management BIOS Reference Specification v2.5 + */ + +typedef UInt8 SMBString; +typedef UInt8 SMBByte; +typedef UInt16 SMBWord; +typedef UInt32 SMBDWord; +typedef UInt64 SMBQWord; + +struct DMIEntryPoint { + SMBByte anchor[5]; + SMBByte checksum; + SMBWord tableLength; + SMBDWord tableAddress; + SMBWord structureCount; + SMBByte bcdRevision; +} __attribute__((packed)); + +struct SMBEntryPoint { + SMBByte anchor[4]; + SMBByte checksum; + SMBByte entryPointLength; + SMBByte majorVersion; + SMBByte minorVersion; + SMBWord maxStructureSize; + SMBByte entryPointRevision; + SMBByte formattedArea[5]; + struct DMIEntryPoint dmi; +} __attribute__((packed)); + +#endif /* !_LIBSAIO_SMBIOS_H */ Index: branches/prasys/i386/libsaio/smbios_patcher.c =================================================================== --- branches/prasys/i386/libsaio/smbios_patcher.c (revision 0) +++ branches/prasys/i386/libsaio/smbios_patcher.c (revision 24) @@ -0,0 +1,703 @@ +/* + * Copyright 2008 mackerintel + */ + +#include "libsaio.h" +#include "acpi.h" +#include "bootstruct.h" +#include "efi_tables.h" +#include "fake_efi.h" +#include "platform.h" +#include "smbios_patcher.h" +#include "SMBIOS.h" + +#ifndef DEBUG_SMBIOS +#define DEBUG_SMBIOS 0 +#endif + +#if DEBUG_SMBIOS +#define DBG(x...) printf(x) +#else +#define DBG(x...) +#endif + + +// defaults for a MacBook +static char sm_macbook_defaults[][2][40]={ + {"SMbiosvendor", "Apple Inc." }, + {"SMbiosversion", "MB41.88Z.0073.B00.0809221748" }, + {"SMbiosdate", "04/01/2008" }, + {"SMmanufacter", "Apple Inc." }, + {"SMproductname", "MacBook4,1" }, + {"SMsystemversion", "1.0" }, + {"SMserial", "SOMESRLNMBR" }, + {"SMfamily", "MacBook" }, + {"SMboardmanufacter","Apple Inc." }, + {"SMboardproduct", "Mac-F42D89C8" }, + { "","" } +}; + +// defaults for a MacBook Pro +static char sm_macbookpro_defaults[][2][40]={ + {"SMbiosvendor", "Apple Inc." }, + {"SMbiosversion", "MBP41.88Z.0073.B00.0809221748" }, + {"SMbiosdate", "04/01/2008" }, + {"SMmanufacter", "Apple Inc." }, + {"SMproductname", "MacBookPro4,1" }, + {"SMsystemversion", "1.0" }, + {"SMserial", "SOMESRLNMBR" }, + {"SMfamily", "MacBookPro" }, + {"SMboardmanufacter","Apple Inc." }, + {"SMboardproduct", "Mac-F42D89C8" }, + { "","" } +}; + +// defaults for a Mac mini +static char sm_macmini_defaults[][2][40]={ + {"SMbiosvendor", "Apple Inc." }, + {"SMbiosversion", "MM21.88Z.009A.B00.0706281359" }, + {"SMbiosdate", "04/01/2008" }, + {"SMmanufacter", "Apple Inc." }, + {"SMproductname", "Macmini2,1" }, + {"SMsystemversion", "1.0" }, + {"SMserial", "SOMESRLNMBR" }, + {"SMfamily", "Napa Mac" }, + {"SMboardmanufacter","Apple Inc." }, + {"SMboardproduct", "Mac-F4208EAA" }, + { "","" } +}; + +// defaults for an iMac +static char sm_imac_defaults[][2][40]={ + {"SMbiosvendor", "Apple Inc." }, + {"SMbiosversion", "IM81.88Z.00C1.B00.0802091538" }, + {"SMbiosdate", "04/01/2008" }, + {"SMmanufacter", "Apple Inc." }, + {"SMproductname", "iMac8,1" }, + {"SMsystemversion", "1.0" }, + {"SMserial", "SOMESRLNMBR" }, + {"SMfamily", "Mac" }, + {"SMboardmanufacter","Apple Inc." }, + {"SMboardproduct", "Mac-F227BEC8" }, + { "","" } +}; + +// defaults for a Mac Pro +static char sm_macpro_defaults[][2][40]={ + {"SMbiosvendor", "Apple Computer, Inc." }, + {"SMbiosversion", "MP31.88Z.006C.B05.0802291410" }, + {"SMbiosdate", "04/01/2008" }, + {"SMmanufacter", "Apple Computer, Inc." }, + {"SMproductname", "MacPro3,1" }, + {"SMsystemversion", "1.0" }, + {"SMserial", "SOMESRLNMBR" }, + {"SMfamily", "MacPro" }, + {"SMboardmanufacter","Apple Computer, Inc." }, + {"SMboardproduct", "Mac-F4208DC8" }, + { "","" } +}; + +static char *sm_get_defstr(char *name, int table_num) +{ + int i; + char (*sm_defaults)[2][40]; + + if (Platform.CPU.Mobile) + if (Platform.CPU.NoCores > 1) + { + sm_defaults=sm_macbookpro_defaults; + } else { + sm_defaults=sm_macbook_defaults; + } + else + switch (Platform.CPU.NoCores) + { + case 1: sm_defaults=sm_macmini_defaults; break; + case 2: sm_defaults=sm_imac_defaults; break; + default: sm_defaults=sm_macpro_defaults; break; + } + + for (i=0;sm_defaults[i][0][0];i++) + if (!strcmp (sm_defaults[i][0],name)) + return sm_defaults[i][1]; + + // Shouldn't happen + printf ("Error: no default for '%s' known\n", name); + sleep (2); + return ""; +} + +static int sm_get_fsb (char *name, int table_num) +{ + return Platform.CPU.FSBFrequency/1000000; +} + +static int sm_get_cpu (char *name, int table_num) +{ + /* round CPU frequency */ +// return round2(Platform.CPU.CPUFrequency/1000000, 10); +// return roundup2(Platform.CPU.CPUFrequency/1000000, 100); + return Platform.CPU.CPUFrequency/1000000; +} + +static int sm_get_cputype (char *name, int table_num) +{ + int cores = Platform.CPU.NoCores; + + if (cores == 1) + return 0x0101; // <01 01> Intel Core Solo? + else if (cores == 2) + return 0x0301; // <01 03> Intel Core 2 Duo + else if (cores >= 4) + return 0x0501; // <01 05> Quad-Core Intel Xeon + else + return 0x0301; // Default to Core 2 Duo +} + +static int sm_get_memtype (char *name, int table_num) +{ + if(Platform.RAM.Type) + return Platform.RAM.Type; + else + return SMB_MEM_TYPE_DDR2; +} + +static int sm_get_memspeed (char *name, int table_num) +{ + if(Platform.RAM.Type) + return round2( Platform.RAM.Frequency / 500000, 2); + else + return 667; +} + +static char *sm_get_memvendor (char *name, int table_num) +{ + return "N/A"; +} + +static char *sm_get_memserial (char *name, int table_num) +{ + return "N/A"; +} + +static char *sm_get_mempartno (char *name, int table_num) +{ + return "N/A"; +} + +static int sm_one (int tablen) +{ + return 1; +} + +struct smbios_property smbios_properties[]= +{ + {.name="SMbiosvendor", .table_type= 0, .value_type=SMSTRING, .offset=0x04, .auto_str=sm_get_defstr }, + {.name="SMbiosversion", .table_type= 0, .value_type=SMSTRING, .offset=0x05, .auto_str=sm_get_defstr }, + {.name="SMbiosdate", .table_type= 0, .value_type=SMSTRING, .offset=0x08, .auto_str=sm_get_defstr }, + {.name="SMmanufacter", .table_type= 1, .value_type=SMSTRING, .offset=0x04, .auto_str=sm_get_defstr }, + {.name="SMproductname", .table_type= 1, .value_type=SMSTRING, .offset=0x05, .auto_str=sm_get_defstr }, + {.name="SMsystemversion", .table_type= 1, .value_type=SMSTRING, .offset=0x06, .auto_str=sm_get_defstr }, + {.name="SMserial", .table_type= 1, .value_type=SMSTRING, .offset=0x07, .auto_str=sm_get_defstr }, + {.name="SMUUID", .table_type= 1, .value_type=SMOWORD, .offset=0x08, .auto_oword=0 }, + {.name="SMfamily", .table_type= 1, .value_type=SMSTRING, .offset=0x1a, .auto_str=sm_get_defstr }, + {.name="SMboardmanufacter", .table_type= 2, .value_type=SMSTRING, .offset=0x04, .auto_str=sm_get_defstr }, + {.name="SMboardproduct", .table_type= 2, .value_type=SMSTRING, .offset=0x05, .auto_str=sm_get_defstr }, + {.name="SMexternalclock", .table_type= 4, .value_type=SMWORD, .offset=0x12, .auto_int=sm_get_fsb }, + {.name="SMmaximalclock", .table_type= 4, .value_type=SMWORD, .offset=0x14, .auto_int=sm_get_cpu }, + {.name="SMmemdevloc", .table_type=17, .value_type=SMSTRING, .offset=0x10, .auto_str=0 }, + {.name="SMmembankloc", .table_type=17, .value_type=SMSTRING, .offset=0x11, .auto_str=0 }, + {.name="SMmemtype", .table_type=17, .value_type=SMBYTE, .offset=0x12, .auto_int=sm_get_memtype}, + {.name="SMmemspeed", .table_type=17, .value_type=SMWORD, .offset=0x15, .auto_int=sm_get_memspeed}, + {.name="SMmemmanufacter", .table_type=17, .value_type=SMSTRING, .offset=0x17, .auto_str=sm_get_memvendor}, + {.name="SMmemserial", .table_type=17, .value_type=SMSTRING, .offset=0x18, .auto_str=sm_get_memserial}, + {.name="SMmempart", .table_type=17, .value_type=SMSTRING, .offset=0x1A, .auto_str=sm_get_mempartno}, + {.name="SMcputype", .table_type=131,.value_type=SMWORD, .offset=0x04, .auto_int=sm_get_cputype}, + {.name="SMbusspeed", .table_type=132,.value_type=SMWORD, .offset=0x04, .auto_str=0 } +}; + +struct smbios_table_description smbios_table_descriptions[]= +{ + {.type=0, .len=0x18, .numfunc=sm_one}, + {.type=1, .len=0x1b, .numfunc=sm_one}, + {.type=2, .len=0x0f, .numfunc=sm_one}, + {.type=4, .len=0x2a, .numfunc=sm_one}, + {.type=17, .len=0x1c, .numfunc=0}, + {.type=131, .len=0x06, .numfunc=sm_one}, + {.type=132, .len=0x06, .numfunc=sm_one} +}; + +static inline struct SMBEntryPoint * getAddressOfSmbiosTable() +{ + /* First see if we can even find the damn SMBIOS table + * The logic here is to start at 0xf0000 and end at 0xfffff iterating 16 bytes at a time looking + * for the SMBIOS entry-point structure anchor (literal ASCII "_SM_"). + */ + void *smbios_addr = (void*)SMBIOS_RANGE_START; + for(; (smbios_addr <= (void*)SMBIOS_RANGE_END) && (*(uint32_t*)smbios_addr != SMBIOS_ANCHOR_UINT32_LE); smbios_addr += 16) + ; + if(smbios_addr <= (void*)SMBIOS_RANGE_END) + { + /* NOTE: The specification does not specifically state what to do in the event of finding an + * SMBIOS anchor on an invalid table. It might be better to move this code into the for loop + * so that searching can continue. + */ + uint8_t csum = checksum8(smbios_addr, sizeof(struct SMBEntryPoint)); + /* The table already contains the checksum so we merely need to see if its checksum is now zero. */ + if(csum != 0) + { + printf("Found SMBIOS anchor but bad table checksum. Assuming no SMBIOS.\n"); + sleep(5); + smbios_addr = 0; + } + } + else + { + /* If this happens, it's possible that a PnP BIOS call can be done to retrieve the address of the table. + * The latest versions of the spec state that modern programs should not even attempt to do this. */ + printf("Unable to find SMBIOS table.\n"); + sleep(5); + smbios_addr = 0; + } + return smbios_addr; +} + +/* Compute necessary space requirements for new smbios */ +struct SMBEntryPoint * +smbios_dry_run (struct SMBEntryPoint * origsmbios) +{ + struct SMBEntryPoint *ret; + char *smbiostables=0; + char *tablesptr; + int origsmbiosnum=0; + int i, j; + int tablespresent[256]; + BOOL do_auto=1; + + getBoolForKey("SMBIOSdefaults",&do_auto,&bootInfo->bootConfig); + + for (i=0;i<256;i++) + tablespresent[i]=0; + ret=(struct SMBEntryPoint *)AllocateKernelMemory(sizeof (struct SMBEntryPoint)); + if (origsmbios) + { + smbiostables=(char *)origsmbios->dmi.tableAddress; + origsmbiosnum=origsmbios->dmi.structureCount; + } + // _SM_ + ret->anchor[0]=0x5f; + ret->anchor[1]=0x53; + ret->anchor[2]=0x4d; + ret->anchor[3]=0x5f; + ret->entryPointLength=sizeof (*ret); + ret->majorVersion=2; + ret->minorVersion=1; + ret->maxStructureSize=0; + ret->entryPointRevision=0; + for (i=0;i<5;i++) + ret->formattedArea[i]=0; + //_DMI_ + ret->dmi.anchor[0]=0x5f; + ret->dmi.anchor[1]=0x44; + ret->dmi.anchor[2]=0x4d; + ret->dmi.anchor[3]=0x49; + ret->dmi.anchor[4]=0x5f; + ret->dmi.tableLength=0; + ret->dmi.tableAddress=0; + ret->dmi.structureCount=0; + ret->dmi.bcdRevision=0x21; + tablesptr=smbiostables; + if (smbiostables) + for (i=0;ilength; + stringsptr=tablesptr; + for (;tablesptr[0]!=0 || tablesptr[1]!=0;tablesptr++); + tablesptr+=2; + stringlen=tablesptr-stringsptr-1; + if (stringlen==1) + stringlen=0; + for (j=0;jtype]+1); + if (smbios_properties[j].table_type==cur->type + && smbios_properties[j].value_type==SMSTRING + && (getValueForKey(smbios_properties[j].name, &str, &size, &bootInfo->smbiosConfig) + || getValueForKey(altname,&str, &size, &bootInfo->smbiosConfig))) + stringlen+=size+1; + else if (smbios_properties[j].table_type==cur->type + && smbios_properties[j].value_type==SMSTRING + && do_auto && smbios_properties[j].auto_str) + stringlen+=strlen(smbios_properties[j].auto_str(smbios_properties[j].name,tablespresent[cur->type]))+1; + } + if (stringlen==0) + stringlen=1; + stringlen++; + if (ret->maxStructureSizelength+stringlen) + ret->maxStructureSize=cur->length+stringlen; + ret->dmi.tableLength+=cur->length+stringlen; + ret->dmi.structureCount++; + tablespresent[cur->type]++; + } + for (i=0;ismbiosConfig)) + numnec=-1; + if (numnec==-1 && do_auto && smbios_table_descriptions[i].numfunc) + numnec=smbios_table_descriptions[i].numfunc (smbios_table_descriptions[i].type); + + while (tablespresent[smbios_table_descriptions[i].type]smbiosConfig) + || getValueForKey(smbios_properties[j].name,&str, &size, &bootInfo->smbiosConfig))) + stringlen+=size+1; + else if (smbios_properties[j].table_type + ==smbios_table_descriptions[i].type + && smbios_properties[j].value_type==SMSTRING + && do_auto && smbios_properties[j].auto_str) + stringlen+=strlen(smbios_properties[j].auto_str + (smbios_properties[j].name, + tablespresent[smbios_table_descriptions[i].type]))+1; + } + if (stringlen==0) + stringlen=1; + stringlen++; + if (ret->maxStructureSizemaxStructureSize=smbios_table_descriptions[i].len+stringlen; + ret->dmi.tableLength+=smbios_table_descriptions[i].len+stringlen; + ret->dmi.structureCount++; + tablespresent[smbios_table_descriptions[i].type]++; + } + } + return ret; +} + +void +smbios_real_run (struct SMBEntryPoint * origsmbios, + struct SMBEntryPoint * newsmbios) +{ + char *smbiostables=0; + char *tablesptr, *newtablesptr; + int origsmbiosnum=0; + // bitmask of used handles + uint8_t handles[8192]; + uint16_t nexthandle=0; + int i, j; + int tablespresent[256]; + BOOL do_auto=1; + + getBoolForKey("SMBIOSdefaults",&do_auto,&bootInfo->bootConfig); + + for (i=0;i<256;i++) + tablespresent[i]=0; + + memset (handles,0,8192); + newsmbios->dmi.tableAddress=(uint32_t)AllocateKernelMemory(newsmbios->dmi.tableLength); + if (origsmbios) + { + smbiostables=(char *) origsmbios->dmi.tableAddress; + origsmbiosnum=origsmbios->dmi.structureCount; + } + tablesptr=smbiostables; + newtablesptr=(char *) newsmbios->dmi.tableAddress; + if (smbiostables) + for (i=0;ihandle)/8]|=1<<((oldcur->handle)%8); + + memcpy (newcur,oldcur, oldcur->length); + + tablesptr+=oldcur->length; + stringsptr=tablesptr; + newtablesptr+=oldcur->length; + for (;tablesptr[0]!=0 || tablesptr[1]!=0;tablesptr++) + if (tablesptr[0]==0) + nstrings++; + if (tablesptr!=stringsptr) + nstrings++; + tablesptr+=2; + memcpy (newtablesptr,stringsptr,tablesptr-stringsptr); + //point to next possible space for a string + newtablesptr+=tablesptr-stringsptr-1; + if (nstrings==0) + newtablesptr--; + for (j=0;jtype]+1); + + if (smbios_properties[j].table_type==newcur->type) + switch (smbios_properties[j].value_type) + { + case SMSTRING: + if (getValueForKey(altname,&str, &size, &bootInfo->smbiosConfig) + ||getValueForKey(smbios_properties[j].name,&str, &size, &bootInfo->smbiosConfig)) + { + memcpy (newtablesptr, str,size); + newtablesptr[size]=0; + newtablesptr+=size+1; + *((uint8_t*)(((char*)newcur)+smbios_properties[j].offset))=++nstrings; + } + else if (do_auto && smbios_properties[j].auto_str) + { + str=smbios_properties[j].auto_str(smbios_properties[j].name,tablespresent[newcur->type]); + size=strlen (str); + memcpy (newtablesptr, str,size); + newtablesptr[size]=0; + newtablesptr+=size+1; + *((uint8_t*)(((char*)newcur)+smbios_properties[j].offset))=++nstrings; + } + + break; + + case SMOWORD: + if (getValueForKey(altname,&str, &size, &bootInfo->smbiosConfig) + ||getValueForKey(smbios_properties[j].name,&str, &size, &bootInfo->smbiosConfig)) + { + int k=0, t=0, kk=0; + const char *ptr=str; + memset(((char*)newcur)+smbios_properties[j].offset, 0, 16); + while (ptr-str=2 && ptr[0]=='0' && (ptr[1]=='x' || ptr[1]=='X')) + ptr+=2; + for (;ptr-str='0' && *ptr<='9') + (t=(t<<4)|(*ptr-'0')),kk++; + if (*ptr>='a' && *ptr<='f') + (t=(t<<4)|(*ptr-'a'+10)),kk++; + if (*ptr>='A' && *ptr<='F') + (t=(t<<4)|(*ptr-'A'+10)),kk++; + if (kk==2) + { + *((uint8_t*)(((char*)newcur)+smbios_properties[j].offset+k))=t; + k++; + kk=0; + t=0; + } + } + } + break; + + case SMBYTE: + if (getIntForKey(altname,&num,&bootInfo->smbiosConfig) + ||getIntForKey(smbios_properties[j].name,&num,&bootInfo->smbiosConfig)) + *((uint8_t*)(((char*)newcur)+smbios_properties[j].offset))=num; + else if (do_auto && smbios_properties[j].auto_int) + *((uint8_t*)(((char*)newcur)+smbios_properties[j].offset)) + =smbios_properties[j].auto_int(smbios_properties[j].name, tablespresent[newcur->type]); + break; + + case SMWORD: + if (getIntForKey(altname,&num,&bootInfo->smbiosConfig) + ||getIntForKey(smbios_properties[j].name,&num,&bootInfo->smbiosConfig)) + *((uint16_t*)(((char*)newcur)+smbios_properties[j].offset))=num; + else if (do_auto && smbios_properties[j].auto_int) + *((uint16_t*)(((char*)newcur)+smbios_properties[j].offset)) + =smbios_properties[j].auto_int(smbios_properties[j].name, tablespresent[newcur->type]); + break; + } + } + if (nstrings==0) + { + newtablesptr[0]=0; + newtablesptr++; + } + newtablesptr[0]=0; + newtablesptr++; + tablespresent[newcur->type]++; + } + for (i=0;ismbiosConfig)) + numnec=-1; + if (numnec==-1 && do_auto && smbios_table_descriptions[i].numfunc) + numnec=smbios_table_descriptions[i].numfunc (smbios_table_descriptions[i].type); + + while (tablespresent[smbios_table_descriptions[i].type]handle=nexthandle; + handles[nexthandle/8]|=1<<(nexthandle%8); + newcur->type=smbios_table_descriptions[i].type; + newcur->length=smbios_table_descriptions[i].len; + newtablesptr+=smbios_table_descriptions[i].len; + for (j=0;jtype]+1); + + if (smbios_properties[j].table_type==newcur->type) + switch (smbios_properties[j].value_type) + { + case SMSTRING: + if (getValueForKey(altname,&str, &size, &bootInfo->smbiosConfig) + ||getValueForKey(smbios_properties[j].name,&str, &size, &bootInfo->smbiosConfig)) + { + memcpy (newtablesptr, str,size); + newtablesptr[size]=0; + newtablesptr+=size+1; + *((uint8_t*)(((char*)newcur)+smbios_properties[j].offset))=++nstrings; + } + else if (do_auto && smbios_properties[j].auto_str) + { + str=smbios_properties[j].auto_str(smbios_properties[j].name, tablespresent[newcur->type]); + size=strlen (str); + memcpy (newtablesptr, str,size); + newtablesptr[size]=0; + newtablesptr+=size+1; + *((uint8_t*)(((char*)newcur)+smbios_properties[j].offset))=++nstrings; + } + break; + + case SMOWORD: + if (getValueForKey(altname,&str, &size, &bootInfo->smbiosConfig) + ||getValueForKey(smbios_properties[j].name,&str, &size, &bootInfo->smbiosConfig)) + { + int k=0, t=0, kk=0; + const char *ptr=str; + memset(((char*)newcur)+smbios_properties[j].offset, 0, 16); + while (ptr-str=2 && ptr[0]=='0' && (ptr[1]=='x' || ptr[1]=='X')) + ptr+=2; + for (;ptr-str='0' && *ptr<='9') + (t=(t<<4)|(*ptr-'0')),kk++; + if (*ptr>='a' && *ptr<='f') + (t=(t<<4)|(*ptr-'a'+10)),kk++; + if (*ptr>='A' && *ptr<='F') + (t=(t<<4)|(*ptr-'A'+10)),kk++; + if (kk==2) + { + *((uint8_t*)(((char*)newcur)+smbios_properties[j].offset+k))=t; + k++; + kk=0; + t=0; + } + } + } + break; + + case SMBYTE: + if (getIntForKey(altname,&num,&bootInfo->smbiosConfig) + ||getIntForKey(smbios_properties[j].name,&num,&bootInfo->smbiosConfig)) + *((uint8_t*)(((char*)newcur)+smbios_properties[j].offset))=num; + else if (do_auto && smbios_properties[j].auto_int) + *((uint8_t*)(((char*)newcur)+smbios_properties[j].offset)) + =smbios_properties[j].auto_int(smbios_properties[j].name, tablespresent[newcur->type]); + break; + + case SMWORD: + if (getIntForKey(altname,&num,&bootInfo->smbiosConfig) + ||getIntForKey(smbios_properties[j].name,&num,&bootInfo->smbiosConfig)) + *((uint16_t*)(((char*)newcur)+smbios_properties[j].offset))=num; + else if (do_auto && smbios_properties[j].auto_int) + *((uint16_t*)(((char*)newcur)+smbios_properties[j].offset)) + =smbios_properties[j].auto_int(smbios_properties[j].name, tablespresent[newcur->type]); + break; + } + } + if (nstrings==0) + { + newtablesptr[0]=0; + newtablesptr++; + } + newtablesptr[0]=0; + newtablesptr++; + tablespresent[smbios_table_descriptions[i].type]++; + } + } + newsmbios->dmi.checksum=0; + newsmbios->dmi.checksum=256-checksum8 (&newsmbios->dmi,sizeof (newsmbios->dmi)); + newsmbios->checksum=0; + newsmbios->checksum=256-checksum8 (newsmbios,sizeof (*newsmbios)); + verbose("Patched DMI Table.\n"); +} + +inline struct SMBEntryPoint * +getSmbios() +{ + const char *smbios_filename; + char dirSpec[512]; + int len; + struct SMBEntryPoint *orig_address; + struct SMBEntryPoint *new_address; + orig_address=getAddressOfSmbiosTable(); + + if (!getValueForKey("SMBIOS", &smbios_filename, &len, &bootInfo->bootConfig)) + smbios_filename = "smbios.plist"; + + sprintf(dirSpec, "%s", smbios_filename); + if (loadConfigFile(dirSpec, &bootInfo->smbiosConfig) == -1) + { + sprintf(dirSpec, "/Extra/%s", smbios_filename); + if (loadConfigFile(dirSpec, &bootInfo->smbiosConfig) == -1) + { + sprintf(dirSpec, "bt(0,0)/Extra/%s", smbios_filename); + if (loadConfigFile(dirSpec, &bootInfo->smbiosConfig) == -1) + { + verbose("No SMBIOS replacement found.\n"); + } + } + } + +// if( (loadConfigFile("/Extra/smbios.plist", &bootInfo->smbiosConfig)) == -1 ) +// loadConfigFile("bt(0,0)/Extra/smbios.plist", &bootInfo->smbiosConfig); // TODO: do we need this ? + + new_address = smbios_dry_run(orig_address); + smbios_real_run(orig_address, new_address); + return new_address; +} Index: branches/prasys/i386/libsaio/ufs.h =================================================================== --- branches/prasys/i386/libsaio/ufs.h (revision 0) +++ branches/prasys/i386/libsaio/ufs.h (revision 24) @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +extern long UFSInitPartition(CICell ih); +extern long UFSLoadFile(CICell ih, char * filePath); +extern long UFSReadFile( CICell ih, char * filePath, void * base, uint64_t offset, uint64_t length ); +extern long UFSGetDirEntry(CICell ih, char * dirPath, long * dirIndex, + char ** name, long * flags, long * time, + FinderInfo * finderInfo, long * infoValid); +extern void UFSGetDescription(CICell ih, char *str, long strMaxLen); +extern long UFSGetFileBlock(CICell ih, char *str, unsigned long long *firstBlock); +extern long UFSGetUUID(CICell ih, char *uuidStr); +extern void UFSFree(CICell ih); + Index: branches/prasys/i386/libsaio/smbios_patcher.h =================================================================== --- branches/prasys/i386/libsaio/smbios_patcher.h (revision 0) +++ branches/prasys/i386/libsaio/smbios_patcher.h (revision 24) @@ -0,0 +1,57 @@ +/* + * Copyright 2008 mackerintel + */ + +#ifndef __LIBSAIO_SMBIOS_PATCHER_H +#define __LIBSAIO_SMBIOS_PATCHER_H + +#include "libsaio.h" + +extern EFI_GUID gEfiAcpiTableGuid; +extern EFI_GUID gEfiAcpi20TableGuid; + +/* From Foundation/Efi/Guid/Smbios/SmBios.h */ +/* Modified to wrap Data4 array init with {} */ +#define EFI_SMBIOS_TABLE_GUID \ +{ \ +0xeb9d2d31, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} \ +} + +/* From Foundation/Efi/Guid/Smbios/SmBios.c */ +//EFI_GUID const gEfiSmbiosTableGuid = EFI_SMBIOS_TABLE_GUID; + +#define SMBIOS_RANGE_START 0x000F0000 +#define SMBIOS_RANGE_END 0x000FFFFF + +/* '_SM_' in little endian: */ +#define SMBIOS_ANCHOR_UINT32_LE 0x5f4d535f + +struct smbios_table_header +{ + uint8_t type; + uint8_t length; + uint16_t handle; +} __attribute__ ((packed)); + +struct smbios_property +{ + char *name; + uint8_t table_type; + enum {SMSTRING, SMWORD, SMBYTE, SMOWORD} value_type; + int offset; + //union { + int (*auto_int) (char *name, int table_num); + char * (*auto_str) (char *name, int table_num); + char * (*auto_oword) (char *name, int table_num); + //}; +}; + +struct smbios_table_description +{ + uint8_t type; + int len; + int (*numfunc)(int tablen); +}; + + +#endif /* !__LIBSAIO_SMBIOS_PATCHER_H */ Index: branches/prasys/i386/libsaio/nbp_cmd.h =================================================================== --- branches/prasys/i386/libsaio/nbp_cmd.h (revision 0) +++ branches/prasys/i386/libsaio/nbp_cmd.h (revision 24) @@ -0,0 +1,85 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +#ifndef __LIBSAIO_NBP_CMD_H +#define __LIBSAIO_NBP_CMD_H + +#include + +/*========================================================================== + * NBP return status codes. + */ +typedef enum { + nbpStatusSuccess = 0, + nbpStatusFailed, + nbpStatusInvalid, +} nbpStatus_t; + +/*========================================================================== + * NBP commands codes. + */ +typedef enum { + nbpCommandTFTPReadFile = 1, + nbpCommandTFTPGetFileSize, + nbpCommandUnloadBaseCode, +} nbpCommandCode_t; + +/*========================================================================== + * NBP commands. + */ +typedef struct { + UInt32 status; /* return code from NBP */ +} nbpCommandHeader_s; + +typedef struct { + UInt32 status; /* return code from NBP */ + UInt8 filename[128]; /* name of file to be downloaded */ + UInt32 bufferSize; /* size of the download buffer */ + UInt32 buffer; /* physical address of the download buffer */ +} nbpCommandTFTPReadFile_s; + +typedef struct { + UInt32 status; /* return code from NBP */ + UInt8 filename[128]; /* name of file to be downloaded */ + UInt32 filesize; /* size of the file specified */ +} nbpCommandTFTPGetFileSize_s; + +typedef struct { + UInt32 status; /* return code from NBP */ + UInt8 sname[64]; /* server name */ + UInt32 CIP; /* client IP address */ + UInt32 SIP; /* server IP address */ + UInt32 GIP; /* gateway IP address */ +} nbpCommandGetNetworkInfo_s; + +/*========================================================================== + * An union of all NBP command structures. + */ +typedef union { + nbpCommandHeader_s header; + nbpCommandTFTPReadFile_s tftpReadFile; + nbpCommandTFTPGetFileSize_s tftpFileSize; +} nbpCommand_u; + +#endif /* !__LIBSAIO_NBP_CMD_H */ Index: branches/prasys/i386/libsaio/memory.c =================================================================== --- branches/prasys/i386/libsaio/memory.c (revision 0) +++ branches/prasys/i386/libsaio/memory.c (revision 24) @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +#include "sl.h" +#include "saio_internal.h" +#include "bootstruct.h" +#include "device_tree.h" + +static long gImageLastKernelAddr; + +#define kPageSize 4096 +#define RoundPage(x) ((((unsigned)(x)) + kPageSize - 1) & ~(kPageSize - 1)) + + +long +AllocateMemoryRange(char * rangeName, long start, long length, long type) +{ + char *nameBuf; + uint32_t *buffer; + + nameBuf = malloc(strlen(rangeName) + 1); + if (nameBuf == 0) return -1; + strcpy(nameBuf, rangeName); + + buffer = malloc(2 * sizeof(uint32_t)); + if (buffer == 0) return -1; + + buffer[0] = start; + buffer[1] = length; + + DT__AddProperty(gMemoryMapNode, nameBuf, 2 * sizeof(uint32_t), (char *)buffer); + + return 0; +} + +#if 0 +long +AllocateMemoryRange(char * rangeName, long start, long length, long type) +{ + if ( bootArgs->numBootDrivers < NDRIVERS ) + { + int num = bootArgs->numBootDrivers; + + bootArgs->driverConfig[num].address = start; + bootArgs->driverConfig[num].size = length; + bootArgs->driverConfig[num].type = type; + bootArgs->numBootDrivers++; + } + else + { + stop( "AllocateMemoryRange error" ); + } + return 0; +} +#endif + +long +AllocateKernelMemory( long inSize ) +{ + long addr; + + if (gImageLastKernelAddr == 0) { + gImageLastKernelAddr = RoundPage( bootArgs->kaddr + + bootArgs->ksize ); + } + addr = gImageLastKernelAddr; + gImageLastKernelAddr += RoundPage(inSize); + + if ( gImageLastKernelAddr >= (KERNEL_ADDR + KERNEL_LEN) ) { + stop ("AllocateKernelMemory error"); + } + + bootArgs->ksize = gImageLastKernelAddr - bootArgs->kaddr; + + return addr; +} Index: branches/prasys/i386/libsaio/bios.s =================================================================== --- branches/prasys/i386/libsaio/bios.s (revision 0) +++ branches/prasys/i386/libsaio/bios.s (revision 24) @@ -0,0 +1,184 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Copyright 1993 NeXT Computer, Inc. + * All rights reserved. + * + * Harness for calling real-mode BIOS functions. + */ + +/* Copyright 2007 David Elliott + 2007-12-30 dfe + - Enhanced code to use specified DS register when doing BIOS interrupt + - Fixed movl %ax,new_es bug which assembler was interpreting as + movl %eax,new_es which was overwriting the next word. + */ +#include +#include "memory.h" + +#define data32 .byte 0x66 +#define addr32 .byte 0x67 + +#define O_INT 0 +#define O_EAX 4 +#define O_EBX 8 +#define O_ECX 12 +#define O_EDX 16 +#define O_EDI 20 +#define O_ESI 24 +#define O_EBP 28 +#define O_CS 32 +#define O_DS 34 +#define O_ES 36 +#define O_FLG 38 + + .section __INIT,__data // turbo - Data that must be in the first segment + +/* Saved registers: + These used to be (and in theory ought to be) located in __DATA,__bss. + The problem is that the larger the binary grows, more of the BSS gets + pushed into the next real-mode segment. Doing it this way we waste 24 + bytes in the binary that our loader (e.g. boot1) must now load. But the + advantage is that we relocate this data to ensure it stays in the first + real-mode segment. Therefore, depending on link order, quite a lot of + new data, and possibly a lot of new executable code can be added to the + binary since with this change the BSS and most of the DATA is now only + accessed from protected mode where real-mode segment limits don't apply. + + With this change, plus the earlier change to respect DS (e.g. use huge + pointers), the binary can grow much larger, currently up to exactly 63.5k + which is the maximum that the first-stage bootsectors can handle. To get + more than that more changes are needed. In that case we would have to + play with Mach-O segments to ensure real-mode code and data got stuffed + well within the first 63.5k. Furthermore, we'd have to adjust the boot + sectors to allow them to span segments. + + Since this change alone only gains us about 4k more than where we're at + now (which is not anything to scoff at) it won't be very long before we + need to start using Mach-O segments to force the linker to locate certain + bits of code and data within the first 63.5k and modify the loaders to + be able to load more than 63.5k. + */ + .align 2 +save_eax: .space 4 + .align 2 +save_edx: .space 4 + .align 1 +save_es: .space 2 + .align 1 +save_flag: .space 2 + .align 2 +new_eax: .space 4 + .align 2 +new_edx: .space 4 + .align 1 +new_es: .space 2 + .align 1 +new_ds: .space 2 + + .section __INIT,__text // turbo - This code must reside within the first segment + + +/*============================================================================ + * Call real-mode BIOS INT functions. + * + */ +LABEL(_bios) + enter $0, $0 + pushal + + movl 8(%ebp), %edx // address of save area + movb O_INT(%edx), %al // save int number + movb %al, do_int+1 + + movl O_EBX(%edx), %ebx + movl O_ECX(%edx), %ecx + movl O_EDI(%edx), %edi + movl O_ESI(%edx), %esi + movl O_EBP(%edx), %ebp + movl %edx, save_edx + movl O_EAX(%edx), %eax + movl %eax, new_eax + movl O_EDX(%edx), %eax + movl %eax, new_edx + movw O_ES(%edx), %ax + movw %ax, new_es + movw O_DS(%edx), %ax + movw %ax, new_ds + + call __prot_to_real + + data32 + addr32 + mov OFFSET16(new_eax), %eax + data32 + addr32 + mov OFFSET16(new_edx), %edx + data32 + addr32 + mov OFFSET16(new_es), %es + + push %ds // Save DS + // Replace DS. WARNING: Don't access data until it's restored! + addr32 + data32 + mov OFFSET16(new_ds), %ds + +do_int: + int $0x00 + pop %ds // Restore DS before we do anything else + + pushf + data32 + addr32 + movl %eax, OFFSET16(save_eax) + popl %eax // actually pop %ax + addr32 + movl %eax, OFFSET16(save_flag) // actually movw + mov %es, %ax + addr32 + movl %eax, OFFSET16(save_es) // actually movw + data32 + call __real_to_prot + + movl %edx, new_edx // save new edx before clobbering + movl save_edx, %edx + movl new_edx, %eax // now move it into buffer + movl %eax, O_EDX(%edx) + movl save_eax, %eax + movl %eax, O_EAX(%edx) + movw save_es, %ax + movw %ax, O_ES(%edx) + movw save_flag, %ax + movw %ax, O_FLG(%edx) + movl %ebx, O_EBX(%edx) + movl %ecx, O_ECX(%edx) + movl %edi, O_EDI(%edx) + movl %esi, O_ESI(%edx) + movl %ebp, O_EBP(%edx) + + popal + leave + + ret Index: branches/prasys/i386/libsaio/msdos_private.h =================================================================== --- branches/prasys/i386/libsaio/msdos_private.h (revision 0) +++ branches/prasys/i386/libsaio/msdos_private.h (revision 24) @@ -0,0 +1,351 @@ +/* + * Copyright (c) 2004 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Written by Paul Popelka (paulp@uts.amdahl.com) + * + * You can do anything you want with this software, just don't say you wrote + * it, and don't remove this notice. + * + * This software is provided "as is". + * + * The author supplies this software to be publicly redistributed on the + * understanding that the author is not responsible for the correct + * functioning of this software in any circumstances and is not liable for + * any damages caused by this software. + * + * October 1992 + */ + +/* + * Format of a boot sector. This is the first sector on a DOS floppy disk + * or the fist sector of a partition on a hard disk. But, it is not the + * first sector of a partitioned hard disk. + */ +struct bootsector33 { + u_int8_t bsJump[3]; /* jump inst E9xxxx or EBxx90 */ + int8_t bsOemName[8]; /* OEM name and version */ + int8_t bsBPB[19]; /* BIOS parameter block */ + int8_t bsDriveNumber; /* drive number (0x80) */ + int8_t bsBootCode[479]; /* pad so struct is 512b */ + u_int8_t bsBootSectSig0; + u_int8_t bsBootSectSig1; +#define BOOTSIG0 0x55 +#define BOOTSIG1 0xaa +}; + +struct extboot { + int8_t exDriveNumber; /* drive number (0x80) */ + int8_t exReserved1; /* reserved */ + int8_t exBootSignature; /* ext. boot signature (0x29) */ +#define EXBOOTSIG 0x29 + int8_t exVolumeID[4]; /* volume ID number */ + int8_t exVolumeLabel[11]; /* volume label */ + int8_t exFileSysType[8]; /* fs type (FAT12 or FAT16) */ +}; + +struct bootsector50 { + u_int8_t bsJump[3]; /* jump inst E9xxxx or EBxx90 */ + int8_t bsOemName[8]; /* OEM name and version */ + int8_t bsBPB[25]; /* BIOS parameter block */ + int8_t bsExt[26]; /* Bootsector Extension */ + int8_t bsBootCode[448]; /* pad so structure is 512b */ + u_int8_t bsBootSectSig0; + u_int8_t bsBootSectSig1; +#define BOOTSIG0 0x55 +#define BOOTSIG1 0xaa +}; + +struct bootsector710 { + u_int8_t bsJump[3]; /* jump inst E9xxxx or EBxx90 */ + int8_t bsOEMName[8]; /* OEM name and version */ + int8_t bsBPB[53]; /* BIOS parameter block */ + int8_t bsExt[26]; /* Bootsector Extension */ + int8_t bsBootCode[420]; /* pad so structure is 512b */ + u_int8_t bsBootSectSig0; + u_int8_t bsBootSectSig1; +#define BOOTSIG0 0x55 +#define BOOTSIG1 0xaa +}; + +union bootsector { + struct bootsector33 bs33; + struct bootsector50 bs50; + struct bootsector710 bs710; +}; + + +/* BPB */ + +/* + * BIOS Parameter Block (BPB) for DOS 3.3 + */ +struct bpb33 { + u_int16_t bpbBytesPerSec; /* bytes per sector */ + u_int8_t bpbSecPerClust; /* sectors per cluster */ + u_int16_t bpbResSectors; /* number of reserved sectors */ + u_int8_t bpbFATs; /* number of FATs */ + u_int16_t bpbRootDirEnts; /* number of root directory entries */ + u_int16_t bpbSectors; /* total number of sectors */ + u_int8_t bpbMedia; /* media descriptor */ + u_int16_t bpbFATsecs; /* number of sectors per FAT */ + u_int16_t bpbSecPerTrack; /* sectors per track */ + u_int16_t bpbHeads; /* number of heads */ + u_int16_t bpbHiddenSecs; /* number of hidden sectors */ +} __attribute__((packed)); + +/* + * BPB for DOS 5.0 The difference is bpbHiddenSecs is a short for DOS 3.3, + * and bpbHugeSectors is not in the 3.3 bpb. + */ +struct bpb50 { + u_int16_t bpbBytesPerSec; /* bytes per sector */ + u_int8_t bpbSecPerClust; /* sectors per cluster */ + u_int16_t bpbResSectors; /* number of reserved sectors */ + u_int8_t bpbFATs; /* number of FATs */ + u_int16_t bpbRootDirEnts; /* number of root directory entries */ + u_int16_t bpbSectors; /* total number of sectors */ + u_int8_t bpbMedia; /* media descriptor */ + u_int16_t bpbFATsecs; /* number of sectors per FAT */ + u_int16_t bpbSecPerTrack; /* sectors per track */ + u_int16_t bpbHeads; /* number of heads */ + u_int32_t bpbHiddenSecs; /* # of hidden sectors */ + u_int32_t bpbHugeSectors; /* # of sectors if bpbSectors == 0 */ +} __attribute__((packed)); + +/* + * BPB for DOS 7.10 (FAT32). This one has a few extensions to bpb50. + */ +struct bpb710 { + u_int16_t bpbBytesPerSec; /* bytes per sector */ + u_int8_t bpbSecPerClust; /* sectors per cluster */ + u_int16_t bpbResSectors; /* number of reserved sectors */ + u_int8_t bpbFATs; /* number of FATs */ + u_int16_t bpbRootDirEnts; /* number of root directory entries */ + u_int16_t bpbSectors; /* total number of sectors */ + u_int8_t bpbMedia; /* media descriptor */ + u_int16_t bpbFATsecs; /* number of sectors per FAT */ + u_int16_t bpbSecPerTrack; /* sectors per track */ + u_int16_t bpbHeads; /* number of heads */ + u_int32_t bpbHiddenSecs; /* # of hidden sectors */ + u_int32_t bpbHugeSectors; /* # of sectors if bpbSectors == 0 */ + u_int32_t bpbBigFATsecs; /* like bpbFATsecs for FAT32 */ + u_int16_t bpbExtFlags; /* extended flags: */ +#define FATNUM 0xf /* mask for numbering active FAT */ +#define FATMIRROR 0x80 /* FAT is mirrored (like it always was) */ + u_int16_t bpbFSVers; /* filesystem version */ +#define FSVERS 0 /* currently only 0 is understood */ + u_int32_t bpbRootClust; /* start cluster for root directory */ + u_int16_t bpbFSInfo; /* filesystem info structure sector */ + u_int16_t bpbBackup; /* backup boot sector */ + /* There is a 12 byte filler here, but we ignore it */ +} __attribute__((packed)); + +#if 0 +/* + * BIOS Parameter Block (BPB) for DOS 3.3 + */ +struct byte_bpb33 { + int8_t bpbBytesPerSec[2]; /* bytes per sector */ + int8_t bpbSecPerClust; /* sectors per cluster */ + int8_t bpbResSectors[2]; /* number of reserved sectors */ + int8_t bpbFATs; /* number of FATs */ + int8_t bpbRootDirEnts[2]; /* number of root directory entries */ + int8_t bpbSectors[2]; /* total number of sectors */ + int8_t bpbMedia; /* media descriptor */ + int8_t bpbFATsecs[2]; /* number of sectors per FAT */ + int8_t bpbSecPerTrack[2]; /* sectors per track */ + int8_t bpbHeads[2]; /* number of heads */ + int8_t bpbHiddenSecs[2]; /* number of hidden sectors */ +}; + +/* + * BPB for DOS 5.0 The difference is bpbHiddenSecs is a short for DOS 3.3, + * and bpbHugeSectors is not in the 3.3 bpb. + */ +struct byte_bpb50 { + int8_t bpbBytesPerSec[2]; /* bytes per sector */ + int8_t bpbSecPerClust; /* sectors per cluster */ + int8_t bpbResSectors[2]; /* number of reserved sectors */ + int8_t bpbFATs; /* number of FATs */ + int8_t bpbRootDirEnts[2]; /* number of root directory entries */ + int8_t bpbSectors[2]; /* total number of sectors */ + int8_t bpbMedia; /* media descriptor */ + int8_t bpbFATsecs[2]; /* number of sectors per FAT */ + int8_t bpbSecPerTrack[2]; /* sectors per track */ + int8_t bpbHeads[2]; /* number of heads */ + int8_t bpbHiddenSecs[4]; /* number of hidden sectors */ + int8_t bpbHugeSectors[4]; /* # of sectors if bpbSectors == 0 */ +}; + +/* + * BPB for DOS 7.10 (FAT32). This one has a few extensions to bpb50. + */ +struct byte_bpb710 { + u_int8_t bpbBytesPerSec[2]; /* bytes per sector */ + u_int8_t bpbSecPerClust; /* sectors per cluster */ + u_int8_t bpbResSectors[2]; /* number of reserved sectors */ + u_int8_t bpbFATs; /* number of FATs */ + u_int8_t bpbRootDirEnts[2]; /* number of root directory entries */ + u_int8_t bpbSectors[2]; /* total number of sectors */ + u_int8_t bpbMedia; /* media descriptor */ + u_int8_t bpbFATsecs[2]; /* number of sectors per FAT */ + u_int8_t bpbSecPerTrack[2]; /* sectors per track */ + u_int8_t bpbHeads[2]; /* number of heads */ + u_int8_t bpbHiddenSecs[4]; /* # of hidden sectors */ + u_int8_t bpbHugeSectors[4]; /* # of sectors if bpbSectors == 0 */ + u_int8_t bpbBigFATsecs[4]; /* like bpbFATsecs for FAT32 */ + u_int8_t bpbExtFlags[2]; /* extended flags: */ + u_int8_t bpbFSVers[2]; /* filesystem version */ + u_int8_t bpbRootClust[4]; /* start cluster for root directory */ + u_int8_t bpbFSInfo[2]; /* filesystem info structure sector */ + u_int8_t bpbBackup[2]; /* backup boot sector */ + /* There is a 12 byte filler here, but we ignore it */ +}; +#endif + +/* + * FAT32 FSInfo block. + */ +struct fsinfo { + u_int8_t fsisig1[4]; + u_int8_t fsifill1[480]; + u_int8_t fsisig2[4]; + u_int8_t fsinfree[4]; + u_int8_t fsinxtfree[4]; + u_int8_t fsifill2[12]; + u_int8_t fsisig3[4]; +}; + + +/* direntry */ + +/*- + * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank. + * Copyright (C) 1994, 1995, 1997 TooLs GmbH. + * All rights reserved. + * Original code by Paul Popelka (paulp@uts.amdahl.com) (see above). + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by TooLs GmbH. + * 4. The name of TooLs GmbH may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Structure of a dos directory entry. + */ +struct direntry { + u_int8_t deName[8]; /* filename, blank filled */ +#define SLOT_EMPTY 0x00 /* slot has never been used */ +#define SLOT_E5 0x05 /* the real value is 0xe5 */ +#define SLOT_DELETED 0xe5 /* file in this slot deleted */ + u_int8_t deExtension[3]; /* extension, blank filled */ + u_int8_t deAttributes; /* file attributes */ +#define ATTR_NORMAL 0x00 /* normal file */ +#define ATTR_READONLY 0x01 /* file is read-only (immutable) */ +#define ATTR_HIDDEN 0x02 /* file is hidden */ +#define ATTR_SYSTEM 0x04 /* file is a system file */ +#define ATTR_VOLUME 0x08 /* entry is a volume label */ +#define ATTR_DIRECTORY 0x10 /* entry is a directory name */ +#define ATTR_ARCHIVE 0x20 /* file is new or modified */ + u_int8_t deLowerCase; /* NT VFAT lower case flags */ +#define LCASE_BASE 0x08 /* filename base in lower case */ +#define LCASE_EXT 0x10 /* filename extension in lower case */ + u_int8_t deCHundredth; /* hundredth of seconds in CTime */ + u_int8_t deCTime[2]; /* create time */ + u_int8_t deCDate[2]; /* create date */ + u_int8_t deADate[2]; /* access date */ + u_int8_t deHighClust[2]; /* high bytes of cluster number */ + u_int16_t deMTime; /* last update time */ + u_int16_t deMDate; /* last update date */ + u_int8_t deStartCluster[2]; /* starting cluster of file */ + u_int8_t deFileSize[4]; /* size of file in bytes */ +}; + +/* + * Structure of a Win95 long name directory entry + */ +struct winentry { + u_int8_t weCnt; +#define WIN_LAST 0x40 +#define WIN_CNT 0x3f + u_int8_t wePart1[10]; + u_int8_t weAttributes; +#define ATTR_WIN95 0x0f + u_int8_t weReserved1; + u_int8_t weChksum; + u_int8_t wePart2[12]; + u_int16_t weReserved2; + u_int8_t wePart3[4]; +}; +#define WIN_CHARS 13 /* Number of chars per winentry */ + +/* + * Maximum filename length in Win95 + * Note: Must be < sizeof(dirent.d_name) + */ +#define WIN_MAXLEN 255 + +/* + * This is the format of the contents of the deTime field in the direntry + * structure. + * We don't use bitfields because we don't know how compilers for + * arbitrary machines will lay them out. + */ +#define DT_2SECONDS_MASK 0x1F /* seconds divided by 2 */ +#define DT_2SECONDS_SHIFT 0 +#define DT_MINUTES_MASK 0x7E0 /* minutes */ +#define DT_MINUTES_SHIFT 5 +#define DT_HOURS_MASK 0xF800 /* hours */ +#define DT_HOURS_SHIFT 11 + +/* + * This is the format of the contents of the deDate field in the direntry + * structure. + */ +#define DD_DAY_MASK 0x1F /* day of month */ +#define DD_DAY_SHIFT 0 +#define DD_MONTH_MASK 0x1E0 /* month */ +#define DD_MONTH_SHIFT 5 +#define DD_YEAR_MASK 0xFE00 /* year - 1980 */ +#define DD_YEAR_SHIFT 9 + Index: branches/prasys/i386/libsaio/table.c =================================================================== --- branches/prasys/i386/libsaio/table.c (revision 0) +++ branches/prasys/i386/libsaio/table.c (revision 24) @@ -0,0 +1,100 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Mach Operating System + * Copyright (c) 1990 Carnegie-Mellon University + * Copyright (c) 1989 Carnegie-Mellon University + * All rights reserved. The CMU software License Agreement specifies + * the terms and conditions for use and redistribution. + */ + +/* + * INTEL CORPORATION PROPRIETARY INFORMATION + * + * This software is supplied under the terms of a license agreement or + * nondisclosure agreement with Intel Corporation and may not be copied + * nor disclosed except in accordance with the terms of that agreement. + * + * Copyright 1988, 1989 Intel Corporation + */ + +/* + * Copyright 1993 NeXT, Inc. + * All rights reserved. + */ + +#include "memory.h" + +/* Segment Descriptor + * + * 31 24 19 16 7 0 + * ------------------------------------------------------------ + * | | |B| |A| | | |1|0|E|W|A| | + * | BASE 31..24 |G|/|0|V| LIMIT |P|DPL| TYPE | BASE 23:16 | + * | | |D| |L| 19..16| | |1|1|C|R|A| | + * ------------------------------------------------------------ + * | | | + * | BASE 15..0 | LIMIT 15..0 | + * | | | + * ------------------------------------------------------------ + */ + +struct seg_desc { + unsigned short limit_15_0; + unsigned short base_15_0; + unsigned char base_23_16; + unsigned char bit_15_8; + unsigned char bit_23_16; + unsigned char base_31_24; +}; + +// turbo - GDT must be in first 64k segment +struct seg_desc __attribute__ ((section("__INIT,__data"))) Gdt[ NGDTENT ] = { + /* 0x0 : null */ + {0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00}, + + /* 0x8 : boot protected mode 32-bit code segment + byte granularity, 1MB limit, MEMBASE offset */ + {0xFFFF, MEMBASE, 0x00, 0x9E, 0x4F, 0x00}, + + /* 0x10 : boot protected mode data segment + page granularity, 4GB limit, MEMBASE offset */ + {0xFFFF, MEMBASE, 0x00, 0x92, 0xCF, 0x00}, + + /* 0x18 : boot protected mode 16-bit code segment + byte granularity, 1MB limit, MEMBASE offset */ + {0xFFFF, MEMBASE, 0x00, 0x9E, 0x0F, 0x00}, + + /* 0x20 : kernel init 32-bit data segment + page granularity, 4GB limit, zero offset */ + {0xFFFF, 0x0000, 0x00, 0x92, 0xCF, 0x00}, + + /* 0x28 : kernel init 32-bit code segment + page granularity, 4GB limit, zero offset */ + {0xFFFF, 0x0000, 0x00, 0x9E, 0xCF, 0x00}, + + /* 0x30 : boot real mode data/stack segment + byte granularity, 64K limit, MEMBASE offset, expand-up */ + {0xFFFF, MEMBASE, 0x00, 0x92, 0x00, 0x00}, +}; Index: branches/prasys/i386/libsaio/usb.c =================================================================== --- branches/prasys/i386/libsaio/usb.c (revision 0) +++ branches/prasys/i386/libsaio/usb.c (revision 24) @@ -0,0 +1,168 @@ +/* + * usb.c + * + * + * Created by mackerintel on 12/20/08. + * Copyright 2008 mackerintel. All rights reserved. + * + */ + +#include "libsaio.h" +#include "bootstruct.h" +#include "pci.h" + +#ifndef DEBUG_USB +#define DEBUG_USB 0 +#endif + +#if DEBUG_USB +#define DBG(x...) printf(x) +#else +#define DBG(x...) +#endif + +int ehci_acquire (pci_dt_t *pci_dev) +{ + int j,k; + + uint32_t base; + uint8_t eecp; + uint8_t legacy[8]; + + BOOL isOwnershipConflict; + BOOL alwaysHardBIOSReset; + + if (!getBoolForKey("EHCIhard", &alwaysHardBIOSReset, &bootInfo->bootConfig)) + alwaysHardBIOSReset = 1; + + pci_config_write16(pci_dev->dev.addr, 0x04, 0x0002); + base = pci_config_read32(pci_dev->dev.addr, 0x10); + + verbose("EHCI controller [%04x:%04x] at %02x:%2x.%x DMA @%x\n", + pci_dev->vendor_id, pci_dev->device_id, + pci_dev->dev.bits.bus, pci_dev->dev.bits.dev, pci_dev->dev.bits.func, + base); + + if (*((unsigned char*)base) < 0xc) + { + DBG("Config space too small: no legacy implementation\n"); + return 1; + } + eecp=*((unsigned char*)(base + 9)); + if (!eecp) + { + DBG("No extended capabilities: no legacy implementation\n"); + return 1; + } + + DBG("eecp=%x\n",eecp); + + // bad way to do it + // pci_conf_write(pci_dev->dev.addr, eecp, 4, 0x01000001); + for (j = 0; j < 8; j++) + { + legacy[j] = pci_config_read8(pci_dev->dev.addr, eecp + j); + DBG("%02x ",legacy[j]); + } + DBG("\n"); + + //Real Job: based on orByte's AppleUSBEHCI.cpp + //We try soft reset first - some systems hang on reboot with hard reset + // Definitely needed during reboot on 10.4.6 + + isOwnershipConflict = ((legacy[3] & 1 != 0) && (legacy[2] & 1 != 0)); + if (!alwaysHardBIOSReset && isOwnershipConflict) + { + DBG("EHCI - Ownership conflict - attempting soft reset ...\n"); + DBG("EHCI - toggle OS Ownership to 0\n"); + pci_config_write8(pci_dev->dev.addr, eecp + 3, 0); + for (k = 0; k < 25; k++) + { + for (j = 0; j < 8; j++) + legacy[j] = pci_config_read8(pci_dev->dev.addr, eecp + j); + if (legacy[3] == 0) + break; + delay(10); + } + } + + DBG("Found USBLEGSUP_ID - value %x:%x - writing OSOwned\n", legacy[3],legacy[2]); + pci_config_write8(pci_dev->dev.addr, eecp + 3, 1); + + // wait for kEHCI_USBLEGSUP_BIOSOwned bit to clear + for (k = 0; k < 25; k++) + { + for (j = 0;j < 8; j++) + legacy[j] = pci_config_read8(pci_dev->dev.addr, eecp + j); + DBG ("%x:%x,",legacy[3],legacy[2]); + if (legacy[2] == 0) + break; + delay(10); + } + + for (j = 0;j < 8; j++) + legacy[j] = pci_config_read8(pci_dev->dev.addr, eecp + j); + isOwnershipConflict = ((legacy[2]) != 0); + if (isOwnershipConflict) + { + // Soft reset has failed. Assume SMI being ignored + // Hard reset + // Force Clear BIOS BIT + + DBG("EHCI - Ownership conflict - attempting hard reset ...\n"); + DBG ("%x:%x\n",legacy[3],legacy[2]); + DBG("EHCI - Force BIOS Ownership to 0\n"); + + pci_config_write8(pci_dev->dev.addr, eecp + 2, 0); + for (k = 0; k < 25; k++) + { + for (j = 0; j < 8; j++) + legacy[j] = pci_config_read8(pci_dev->dev.addr, eecp + j); + DBG ("%x:%x,",legacy[3],legacy[2]); + + if ((legacy[2]) == 0) + break; + delay(10); + } + // Disable further SMI events + for (j = 4; j < 8; j++) + pci_config_write8(pci_dev->dev.addr, eecp + j, 0); + } + + for (j = 0; j < 8; j++) + legacy[j] = pci_config_read8(pci_dev->dev.addr, eecp + j); + + DBG ("%x:%x\n",legacy[3],legacy[2]); + + // Final Ownership Resolution Check... + if (legacy[2]&1) + { + DBG("EHCI controller unable to take control from BIOS\n"); + return 0; + } + + DBG("EHCI Acquire OS Ownership done\n"); + return 1; +} + +int uhci_reset (pci_dt_t *pci_dev) +{ + uint32_t base, port_base; + + base = pci_config_read32(pci_dev->dev.addr, 0x20); + port_base = (base >> 5) & 0x07ff; + + verbose("UHCI controller [%04x:%04x] at %02x:%2x.%x base %x(%x)\n", + pci_dev->vendor_id, pci_dev->device_id, + pci_dev->dev.bits.bus, pci_dev->dev.bits.dev, pci_dev->dev.bits.func, + port_base, base); + + pci_config_write16(pci_dev->dev.addr, 0xc0, 0x8f00); + + outw (port_base, 0x0002); + delay(10); + outw (port_base+4,0); + delay(10); + outw (port_base,0); + return 1; +} Index: branches/prasys/i386/libsaio/device_inject.c =================================================================== --- branches/prasys/i386/libsaio/device_inject.c (revision 0) +++ branches/prasys/i386/libsaio/device_inject.c (revision 24) @@ -0,0 +1,459 @@ +/* + * Copyright 2009 Jasmin Fazlic All rights reserved. + */ +/* + * Cleaned and merged by iNDi + */ + +#include "libsaio.h" +#include "bootstruct.h" +#include "pci.h" +#include "device_inject.h" + + +#ifndef DEBUG_INJECT +#define DEBUG_INJECT 0 +#endif + +#if DEBUG_INJECT +#define DBG(x...) printf(x) +#else +#define DBG(x...) +#endif + +uint32_t devices_number = 1; +uint32_t builtin_set = 0; +struct DevPropString *string = 0; +uint8_t *stringdata = 0; +uint32_t stringlength = 0; + +char *efi_inject_get_devprop_string(uint32_t *len) +{ + if(string) + { + *len = string->length; + return devprop_generate_string(string); + } +// printf("efi_inject_get_devprop_string NULL trying stringdata\n"); + return NULL; +} + +uint32_t ascii_hex_to_int(char *buff) +{ + uint32_t value = 0, i, digit; + for(i = 0; i < strlen(buff); i++) + { + if (buff[i] >= 48 && buff[i] <= 57) // '0' through '9' + digit = buff[i] - 48; + else if (buff[i] >= 65 && buff[i] <= 70) // 'A' through 'F' + digit = buff[i] - 55; + else if (buff[i] >= 97 && buff[i] <= 102) // 'a' through 'f' + digit = buff[i] - 87; + else + return value; + + value = digit + 16 * value; + } + return value; +} + +void *convertHexStr2Binary(const char *hexStr, int *outLength) +{ + int len; + char hexNibble; + char hexByte[2]; + uint8_t binChar; + uint8_t *binStr; + int hexStrIdx, binStrIdx, hexNibbleIdx; + + len = strlen(hexStr); + if (len > 1) + { + // the resulting binary will be the half size of the input hex string + binStr = malloc(len / 2); + binStrIdx = 0; + hexNibbleIdx = 0; + for (hexStrIdx = 0; hexStrIdx < len; hexStrIdx++) + { + hexNibble = hexStr[hexStrIdx]; + + // ignore all chars except valid hex numbers + if (hexNibble >= '0' && hexNibble <= '9' + || hexNibble >= 'A' && hexNibble <= 'F' + || hexNibble >= 'a' && hexNibble <= 'f') + { + hexByte[hexNibbleIdx++] = hexNibble; + + // found both two nibbles, convert to binary + if (hexNibbleIdx == 2) + { + binChar = 0; + + for (hexNibbleIdx = 0; hexNibbleIdx < sizeof(hexByte); hexNibbleIdx++) + { + if (hexNibbleIdx > 0) binChar = binChar << 4; + + if (hexByte[hexNibbleIdx] <= '9') binChar += hexByte[hexNibbleIdx] - '0'; + else if (hexByte[hexNibbleIdx] <= 'F') binChar += hexByte[hexNibbleIdx] - ('A' - 10); + else if (hexByte[hexNibbleIdx] <= 'f') binChar += hexByte[hexNibbleIdx] - ('a' - 10); + } + + binStr[binStrIdx++] = binChar; + hexNibbleIdx = 0; + } + } + } + *outLength = binStrIdx; + return binStr; + } + else + { + *outLength = 0; + return NULL; + } +} + +void setupDeviceProperties(Node *node) +{ + const char *val; + uint8_t *binStr; + int cnt, cnt2; + + static char DEVICE_PROPERTIES_PROP[] = "device-properties"; + + /* Generate devprop string. + */ + uint32_t strlength; + char *string = efi_inject_get_devprop_string(&strlength); + + /* Use the static "device-properties" boot config key contents if available, + * otheriwse use the generated one. + */ + if (!getValueForKey(DEVICE_PROPERTIES_PROP, &val, &cnt, &bootInfo->bootConfig) && string) + { + val = (const char*)string; + cnt = strlength * 2; + } + + if (cnt > 1) + { + binStr = convertHexStr2Binary(val, &cnt2); + if (cnt2 > 0) DT__AddProperty(node, DEVICE_PROPERTIES_PROP, cnt2, binStr); + } +} + +uint16_t dp_swap16(uint16_t toswap) +{ + return (((toswap & 0x00FF) << 8) | ((toswap & 0xFF00) >> 8)); +} + +uint32_t dp_swap32(uint32_t toswap) +{ + return ((toswap & 0x000000FF) << 24) | + ((toswap & 0x0000FF00) << 8 ) | + ((toswap & 0x00FF0000) >> 8 ) | + ((toswap & 0xFF000000) >> 24); +} + +struct DevPropString *devprop_create_string(void) +{ + string = (struct DevPropString*)malloc(sizeof(struct DevPropString)); + + if(string == NULL) + return NULL; + + memset(string, 0, sizeof(struct DevPropString)); + string->length = 12; + string->WHAT2 = 0x01000000; + return string; +} + +struct DevPropDevice *devprop_add_device(struct DevPropString *string, char *path) +{ + uint32_t PciRootID = 0; + const char *val; + int len; + + struct DevPropDevice *device = (struct DevPropDevice*)malloc(sizeof(struct DevPropDevice)); + if(!device || !string || !path) { + if(device) + free(device); + return NULL; + } + + const char pciroot_string[] = "PciRoot(0x"; + const char pci_device_string[] = "Pci(0x"; + + if (getValueForKey("PciRoot", &val, &len, &bootInfo->bootConfig)) + PciRootID = atoi(val); + + if(strncmp(path, pciroot_string, strlen(pciroot_string))) + { + printf("ERROR parsing device path\n"); + return NULL; + } + + memset(device, 0, sizeof(struct DevPropDevice)); + + device->acpi_dev_path._UID = PciRootID; + + int numpaths = 0; + int x, curr = 0; + char buff[] = "00"; + + for(x = 0; x < strlen(path); x++) + { + if(!strncmp(&path[x], pci_device_string, strlen(pci_device_string))) + { + x+=strlen(pci_device_string); + curr=x; + while(path[++x] != ','); + if(x-curr == 2) + sprintf(buff, "%c%c", path[curr], path[curr+1]); + else if(x-curr == 1) + sprintf(buff, "%c", path[curr]); + else + { + printf("ERROR parsing device path\n"); + numpaths = 0; + break; + } + device->pci_dev_path[numpaths].device = ascii_hex_to_int(buff); + + x += 3; // 0x + curr = x; + while(path[++x] != ')'); + if(x-curr == 2) + sprintf(buff, "%c%c", path[curr], path[curr+1]); + else if(x-curr == 1) + sprintf(buff, "%c", path[curr]); + else + { + printf("ERROR parsing device path\n"); + numpaths = 0; + break; + } + device->pci_dev_path[numpaths].function = ascii_hex_to_int(buff); // TODO: find dev from char *path + + numpaths++; + } + } + + if(!numpaths) + return NULL; + + device->numentries = 0x00; + + device->acpi_dev_path.length = 0x0c; + device->acpi_dev_path.type = 0x02; + device->acpi_dev_path.subtype = 0x01; + device->acpi_dev_path._HID = 0xd041030a; + + device->num_pci_devpaths = numpaths; + device->length = 24 + (6*numpaths); + + int i; + + for(i = 0; i < numpaths; i++) + { + device->pci_dev_path[i].length = 0x06; + device->pci_dev_path[i].type = 0x01; + device->pci_dev_path[i].subtype = 0x01; + } + + device->path_end.length = 0x04; + device->path_end.type = 0x7f; + device->path_end.subtype = 0xff; + + device->string = string; + device->data = NULL; + string->length += device->length; + + if(!string->entries) + if((string->entries = (struct DevPropDevice**)malloc(sizeof(device)))== NULL) + return 0; + + string->entries[string->numentries++] = (struct DevPropDevice*)malloc(sizeof(device)); + string->entries[string->numentries-1] = device; + + return device; +} + +int devprop_add_value(struct DevPropDevice *device, char *nm, uint8_t *vl, uint32_t len) +{ + + if(!nm || !vl || !len) + return 0; + + uint32_t length = ((strlen(nm) * 2) + len + (2 * sizeof(uint32_t)) + 2); + uint8_t *data = (uint8_t*)malloc(length); + { + if(!data) + return 0; + + memset(data, 0, length); + uint32_t off= 0; + data[off+1] = ((strlen(nm) * 2) + 6) >> 8; + data[off] = ((strlen(nm) * 2) + 6) & 0x00FF; + + off += 4; + uint32_t i=0, l = strlen(nm); + for(i = 0 ; i < l ; i++, off += 2) + { + data[off] = *nm++; + } + + off += 2; + l = len; + uint32_t *datalength = (uint32_t*)&data[off]; + *datalength = l + 4; + off += 4; + for(i = 0 ; i < l ; i++, off++) + { + data[off] = *vl++; + } + } + + uint32_t offset = device->length - (24 + (6 * device->num_pci_devpaths)); + + uint8_t *newdata = (uint8_t*)malloc((length + offset)); + if(!newdata) + return 0; + if(device->data) + if(offset > 1) + memcpy(newdata, device->data, offset); + + memcpy(newdata + offset, data, length); + + device->length += length; + device->string->length += length; + device->numentries++; + + if(!device->data) + device->data = (uint8_t*)malloc(sizeof(uint8_t)); + else + free(device->data); + + free(data); + device->data = newdata; + + return 1; +} + +char *devprop_generate_string(struct DevPropString *string) +{ + char *buffer = (char*)malloc(string->length * 2); + char *ptr = buffer; + + if(!buffer) + return NULL; + + sprintf(buffer, "%08x%08x%04x%04x", dp_swap32(string->length), string->WHAT2, + dp_swap16(string->numentries), string->WHAT3); + buffer += 24; + int i = 0, x = 0; + + while(i < string->numentries) + { + sprintf(buffer, "%08x%04x%04x", dp_swap32(string->entries[i]->length), + dp_swap16(string->entries[i]->numentries), string->entries[i]->WHAT2); + + buffer += 16; + sprintf(buffer, "%02x%02x%04x%08x%08x", string->entries[i]->acpi_dev_path.type, + string->entries[i]->acpi_dev_path.subtype, + dp_swap16(string->entries[i]->acpi_dev_path.length), + string->entries[i]->acpi_dev_path._HID, + dp_swap32(string->entries[i]->acpi_dev_path._UID)); + + buffer += 24; + for(x=0;x < string->entries[i]->num_pci_devpaths; x++) + { + sprintf(buffer, "%02x%02x%04x%02x%02x", string->entries[i]->pci_dev_path[x].type, + string->entries[i]->pci_dev_path[x].subtype, + dp_swap16(string->entries[i]->pci_dev_path[x].length), + string->entries[i]->pci_dev_path[x].function, + string->entries[i]->pci_dev_path[x].device); + buffer += 12; + } + + sprintf(buffer, "%02x%02x%04x", string->entries[i]->path_end.type, + string->entries[i]->path_end.subtype, + dp_swap16(string->entries[i]->path_end.length)); + + buffer += 8; + uint8_t *dataptr = string->entries[i]->data; + for(x = 0; x < (string->entries[i]->length) - (24 + (6 * string->entries[i]->num_pci_devpaths)) ; x++) + { + sprintf(buffer, "%02x", *dataptr++); + buffer += 2; + } + i++; + } + return ptr; +} + +void devprop_free_string(struct DevPropString *string) +{ + if(!string) + return; + + int i; + for(i = 0; i < string->numentries; i++) + { + if(string->entries[i]) + { + if(string->entries[i]->data) + { + free(string->entries[i]->data); + string->entries[i]->data = NULL; + } + free(string->entries[i]); + string->entries[i] = NULL; + } + } + + free(string); + string = NULL; +} + +/* a fine place for this code */ + +int devprop_add_network_template(struct DevPropDevice *device, uint16_t vendor_id) +{ + if(!device) + return 0; + uint8_t builtin = 0x0; + if((vendor_id != 0x168c) && (builtin_set == 0)) + { + builtin_set = 1; + builtin = 0x01; + } + if(!devprop_add_value(device, "built-in", (uint8_t*)&builtin, 1)) + return 0; + devices_number++; + return 1; +} + +void set_eth_builtin(pci_dt_t *eth_dev) +{ + char *devicepath = get_pci_dev_path(eth_dev); + struct DevPropDevice *device = (struct DevPropDevice*)malloc(sizeof(struct DevPropDevice)); + + verbose("LAN Controller [%04x:%04x] :: %s\n", eth_dev->vendor_id, eth_dev->device_id, devicepath); + + if (!string) + string = devprop_create_string(); + + device = devprop_add_device(string, devicepath); + if(device) + { + verbose("Setting up lan keys\n"); + devprop_add_network_template(device, eth_dev->vendor_id); + stringdata = (uint8_t*)malloc(sizeof(uint8_t) * string->length); + if(stringdata) + { + memcpy(stringdata, (uint8_t*)devprop_generate_string(string), string->length); + stringlength = string->length; + } + } +} Index: branches/prasys/i386/libsaio/device_inject.h =================================================================== --- branches/prasys/i386/libsaio/device_inject.h (revision 0) +++ branches/prasys/i386/libsaio/device_inject.h (revision 24) @@ -0,0 +1,77 @@ +/* + * Copyright 2009 Jasmin Fazlic All rights reserved. + */ +/* + * Cleaned and merged by iNDi + */ + +#ifndef __LIBSAIO_DEVICE_INJECT_H +#define __LIBSAIO_DEVICE_INJECT_H + +#define DP_ADD_TEMP_VAL(dev, val) devprop_add_value(dev, (char*)val[0], (uint8_t*)val[1], strlen(val[1]) + 1) +#define DP_ADD_TEMP_VAL_DATA(dev, val) devprop_add_value(dev, (char*)val.name, (uint8_t*)val.data, val.size) +#define MAX_PCI_DEV_PATHS 4 + +extern struct DevPropString *string; +extern uint8_t *stringdata; +extern uint32_t stringlength; +extern void *convertHexStr2Binary(const char *hexStr, int *outLength); +extern void setupDeviceProperties(Node *node); + +struct ACPIDevPath { + uint8_t type; // = 2 ACPI device-path + uint8_t subtype; // = 1 ACPI Device-path + uint16_t length; // = 0x0c + uint32_t _HID; // = 0xD041030A ? + uint32_t _UID; // = 0x00000000 PCI ROOT +}; + +struct PCIDevPath { + uint8_t type; // = 1 Hardware device-path + uint8_t subtype; // = 1 PCI + uint16_t length; // = 6 + uint8_t function; // pci func number + uint8_t device; // pci dev number +}; + +struct DevicePathEnd { + uint8_t type; // = 0x7f + uint8_t subtype; // = 0xff + uint16_t length; // = 4; +}; + +struct DevPropDevice { + uint32_t length; + uint16_t numentries; + uint16_t WHAT2; // 0x0000 ? + struct ACPIDevPath acpi_dev_path; // = 0x02010c00 0xd041030a + struct PCIDevPath pci_dev_path[MAX_PCI_DEV_PATHS]; // = 0x01010600 func dev + struct DevicePathEnd path_end; // = 0x7fff0400 + uint8_t *data; + + // ------------------------ + uint8_t num_pci_devpaths; + struct DevPropString *string; + // ------------------------ +}; + +struct DevPropString { + uint32_t length; + uint32_t WHAT2; // 0x01000000 ? + uint16_t numentries; + uint16_t WHAT3; // 0x0000 ? + struct DevPropDevice **entries; +}; + +void setupEfiDevices (); + +char *efi_inject_get_devprop_string(uint32_t *len); +int devprop_add_nvidia_template(struct DevPropDevice *device); +int devprop_add_network_template(struct DevPropDevice *device, uint16_t vendor_id); +struct DevPropString *devprop_create_string(void); +struct DevPropDevice *devprop_add_device(struct DevPropString *string, char *path); +int devprop_add_value(struct DevPropDevice *device, char *nm, uint8_t *vl, uint32_t len); +char *devprop_generate_string(struct DevPropString *string); +void devprop_free_string(struct DevPropString *string); + +#endif /* !__LIBSAIO_DEVICE_INJECT_H */ Index: branches/prasys/i386/libsaio/dsdt_patcher.c =================================================================== --- branches/prasys/i386/libsaio/dsdt_patcher.c (revision 0) +++ branches/prasys/i386/libsaio/dsdt_patcher.c (revision 24) @@ -0,0 +1,442 @@ +/* + * Copyright 2008 mackerintel + */ + +#include "libsaio.h" +#include "bootstruct.h" +#include "acpi.h" +#include "efi_tables.h" +#include "fake_efi.h" +#include "dsdt_patcher.h" + +#ifndef DEBUG_DSDT +#define DEBUG_DSDT 0 +#endif + +#if DEBUG_DSDT==2 +#define DBG(x...) {printf(x); sleep(1);} +#elif DEBUG_DSDT==1 +#define DBG(x...) printf(x) +#else +#define DBG(x...) +#endif + +/* Gets the ACPI 1.0 RSDP address */ +static struct acpi_2_rsdp* getAddressOfAcpiTable() +{ + /* TODO: Before searching the BIOS space we are supposed to search the first 1K of the EBDA */ + + void *acpi_addr = (void*)ACPI_RANGE_START; + for(; acpi_addr <= (void*)ACPI_RANGE_END; acpi_addr += 16) + { + if(*(uint64_t *)acpi_addr == ACPI_SIGNATURE_UINT64_LE) + { + uint8_t csum = checksum8(acpi_addr, 20); + if(csum == 0) + { + // Only return the table if it is a true version 1.0 table (Revision 0) + if(((struct acpi_2_rsdp*)acpi_addr)->Revision == 0) + return acpi_addr; + } + } + } + return NULL; +} + +/* Gets the ACPI 2.0 RSDP address */ +static struct acpi_2_rsdp* getAddressOfAcpi20Table() +{ + /* TODO: Before searching the BIOS space we are supposed to search the first 1K of the EBDA */ + + void *acpi_addr = (void*)ACPI_RANGE_START; + for(; acpi_addr <= (void*)ACPI_RANGE_END; acpi_addr += 16) + { + if(*(uint64_t *)acpi_addr == ACPI_SIGNATURE_UINT64_LE) + { + uint8_t csum = checksum8(acpi_addr, 20); + + /* Only assume this is a 2.0 or better table if the revision is greater than 0 + * NOTE: ACPI 3.0 spec only seems to say that 1.0 tables have revision 1 + * and that the current revision is 2.. I am going to assume that rev > 0 is 2.0. + */ + + if(csum == 0 && (((struct acpi_2_rsdp*)acpi_addr)->Revision > 0)) + { + uint8_t csum2 = checksum8(acpi_addr, sizeof(struct acpi_2_rsdp)); + if(csum2 == 0) + return acpi_addr; + } + } + } + return NULL; +} + +void *loadACPITable (const char *filename) +{ + void *kernelAddr; + int fd; + char dirspec[512]; + + // Check booting partition + sprintf(dirspec,"%s",filename); + fd=open (dirspec,0); + if (fd<0) + { // Check Extra on booting partition + sprintf(dirspec,"/Extra/%s",filename); + fd=open (dirspec,0); + if (fd<0) + { // Fall back to booter partition + sprintf(dirspec,"bt(0,0)/Extra/%s",filename); + fd=open (dirspec,0); + if (fd<0) + { + verbose("ACPI Table not found: %s\n", filename); + return NULL; + } + } + } + + kernelAddr=(void*)AllocateKernelMemory(file_size (fd)); + if (kernelAddr) + { + read (fd, kernelAddr, file_size (fd)); + DBG("File read and stored at: %x\n", kernelAddr); + close (fd); + return kernelAddr; + } + close (fd); + return NULL; +} + + + +/* Setup ACPI without replacing DSDT. */ +int setupAcpiNoMod() +{ +// addConfigurationTable(&gEfiAcpiTableGuid, getAddressOfAcpiTable(), "ACPI"); +// addConfigurationTable(&gEfiAcpi20TableGuid, getAddressOfAcpi20Table(), "ACPI_20"); + acpi10_p = (uint32_t)getAddressOfAcpiTable(); + acpi20_p = (uint32_t)getAddressOfAcpi20Table(); + addConfigurationTable(&gEfiAcpiTableGuid, &acpi10_p, "ACPI"); + if(acpi20_p) addConfigurationTable(&gEfiAcpi20TableGuid, &acpi20_p, "ACPI_20"); + return 1; +} + +/* Setup ACPI. Replace DSDT if DSDT.aml is found */ +int setupAcpi() +{ + int version; + void *new_dsdt; + const char *dsdt_filename; + const char *facp_filename; + int len; + boolean_t drop_ssdt=NO; + boolean_t FixRestart=NO; + + //DBG("Enter setupACPI\n"); + + if (!getValueForKey("DSDT", &dsdt_filename, &len, &bootInfo->bootConfig)) + dsdt_filename="DSDT.aml"; + + // Load replacement DSDT + new_dsdt=loadACPITable(dsdt_filename); + if (!new_dsdt) + { + return setupAcpiNoMod(); + } + DBG("New DSDT Loaded in memory\n"); + + BOOL tmp; + drop_ssdt=getBoolForKey("DropSSDT",&tmp, &bootInfo->bootConfig)&&tmp; + FixRestart=getBoolForKey("RestartFix",&tmp, &bootInfo->bootConfig)&&tmp; + + + // Do the same procedure for both versions of ACPI + for (version=0;version<2;version++) + { + struct acpi_2_rsdp *rsdp, *rsdp_mod; + struct acpi_2_rsdt *rsdt, *rsdt_mod; + int rsdplength; + + // Find original rsdp + rsdp=(struct acpi_2_rsdp *)(version?getAddressOfAcpi20Table():getAddressOfAcpiTable()); + if (!rsdp) + { + DBG("No ACPI version %d found. Ignoring\n", version+1); + if (version) + addConfigurationTable(&gEfiAcpi20TableGuid, NULL, "ACPI_20"); + else + addConfigurationTable(&gEfiAcpiTableGuid, NULL, "ACPI"); + continue; + } + rsdplength=version?rsdp->Length:20; + + DBG("RSDP version %d found @%x. Length=%d\n",version+1,rsdp,rsdplength); + + /* FIXME: no check that memory allocation succeeded + * Copy and patch RSDP,RSDT, XSDT and FADT + * For more info see ACPI Specification pages 110 and following + */ + + rsdp_mod=(struct acpi_2_rsdp *) AllocateKernelMemory(rsdplength); + memcpy(rsdp_mod, rsdp, rsdplength); + rsdt=(struct acpi_2_rsdt *)(rsdp->RsdtAddress); + + DBG("RSDT @%x, Length %d\n",rsdt, rsdt->Length); + + if (rsdt && (uint32_t)rsdt !=0xffffffff && rsdt->Length<0x10000) + { + uint32_t *rsdt_entries; + int rsdt_entries_num; + int dropoffset=0, i; + + rsdt_mod=(struct acpi_2_rsdt *)AllocateKernelMemory(rsdt->Length); + memcpy (rsdt_mod, rsdt, rsdt->Length); + rsdp_mod->RsdtAddress=(uint32_t)rsdt_mod; + rsdt_entries_num=(rsdt_mod->Length-sizeof(struct acpi_2_rsdt))/4; + rsdt_entries=(uint32_t *)(rsdt_mod+1); + for (i=0;iLength); + + if (!fadt || (uint32_t)fadt == 0xffffffff || fadt->Length>0x10000) + { + printf("FADT incorrect. Not modified\n"); + continue; + } + + if (fadt->Length < 0x81 && FixRestart) + { + fadt_mod=(struct acpi_2_fadt *)AllocateKernelMemory(0x81); + memcpy(fadt_mod, fadt, fadt->Length); + fadt_mod->Length = 0x81; + } + else + { + fadt_mod=(struct acpi_2_fadt *)AllocateKernelMemory(fadt->Length); + memcpy(fadt_mod, fadt, fadt->Length); + } + + if (FixRestart) + { + fadt_mod->Flags|= 0x400; + fadt_mod->Reset_SpaceID = 0x01; + fadt_mod->Reset_BitWidth = 0x08; + fadt_mod->Reset_BitOffset = 0x00; + fadt_mod->Reset_AccessWidth = 0x01; + fadt_mod->Reset_Address = 0x0cf9; + fadt_mod->Reset_Value = 0x06; + } + + // Patch DSDT Address + DBG("Old DSDT @%x,%x\n",fadt_mod->DSDT,fadt_mod->X_DSDT); + + fadt_mod->DSDT=(uint32_t)new_dsdt; + if ((uint32_t)(&(fadt_mod->X_DSDT))-(uint32_t)fadt_mod+8<=fadt_mod->Length) + fadt_mod->X_DSDT=(uint32_t)new_dsdt; + + DBG("New DSDT @%x,%x\n",fadt_mod->DSDT,fadt_mod->X_DSDT); + + // Correct the checksum + fadt_mod->Checksum=0; + fadt_mod->Checksum=256-checksum8(fadt_mod,fadt_mod->Length); + + rsdt_entries[i-dropoffset]=(uint32_t)fadt_mod; + continue; + } + } + + // Correct the checksum of RSDT + rsdt_mod->Length-=4*dropoffset; + + DBG("RSDT Original checksum %d\n", rsdt_mod->Checksum); + + rsdt_mod->Checksum=0; + rsdt_mod->Checksum=256-checksum8(rsdt_mod,rsdt_mod->Length); + + DBG("RSDT New checksum %d at %x\n", rsdt_mod->Checksum,rsdt_mod); + } + else + { + rsdp_mod->RsdtAddress=0; + printf("RSDT not found or RSDT incorrect\n"); + } + + if (version) + { + struct acpi_2_xsdt *xsdt, *xsdt_mod; + + // FIXME: handle 64-bit address correctly + + xsdt=(struct acpi_2_xsdt*) ((uint32_t)rsdp->XsdtAddress); + DBG("XSDT @%x;%x, Length=%d\n", (uint32_t)(rsdp->XsdtAddress>>32),(uint32_t)rsdp->XsdtAddress, + xsdt->Length); + if (xsdt && (uint64_t)rsdp->XsdtAddress<0xffffffff && xsdt->Length<0x10000) + { + uint64_t *xsdt_entries; + int xsdt_entries_num, i; + int dropoffset=0; + + xsdt_mod=(struct acpi_2_xsdt*)AllocateKernelMemory(xsdt->Length); + memcpy(xsdt_mod, xsdt, xsdt->Length); + rsdp_mod->XsdtAddress=(uint32_t)xsdt_mod; + xsdt_entries_num=(xsdt_mod->Length-sizeof(struct acpi_2_xsdt))/8; + xsdt_entries=(uint64_t *)(xsdt_mod+1); + for (i=0;i>32),fadt, + fadt->Length); + + if (!fadt || (uint64_t)xsdt_entries[i] >= 0xffffffff || fadt->Length>0x10000) + { + printf("FADT incorrect or after 4GB. Dropping XSDT\n"); + goto drop_xsdt; + } + + if (fadt->Length < 0x81 && FixRestart) + { + fadt_mod=(struct acpi_2_fadt *)AllocateKernelMemory(0x81); + memcpy(fadt_mod, fadt, fadt->Length); + fadt_mod->Length = 0x81; + } + else + { + fadt_mod=(struct acpi_2_fadt *)AllocateKernelMemory(fadt->Length); + memcpy(fadt_mod, fadt, fadt->Length); + } + + if (FixRestart) + { + fadt_mod->Flags|= 0x400; + fadt_mod->Reset_SpaceID = 0x01; + fadt_mod->Reset_BitWidth = 0x08; + fadt_mod->Reset_BitOffset = 0x00; + fadt_mod->Reset_AccessWidth = 0x01; + fadt_mod->Reset_Address = 0x0cf9; + fadt_mod->Reset_Value = 0x06; + } + + DBG("Old DSDT @%x,%x\n",fadt_mod->DSDT,fadt_mod->X_DSDT); + + fadt_mod->DSDT=(uint32_t)new_dsdt; + if ((uint32_t)(&(fadt_mod->X_DSDT))-(uint32_t)fadt_mod+8<=fadt_mod->Length) + fadt_mod->X_DSDT=(uint32_t)new_dsdt; + + DBG("New DSDT @%x,%x\n",fadt_mod->DSDT,fadt_mod->X_DSDT); + + // Correct the checksum + fadt_mod->Checksum=0; + fadt_mod->Checksum=256-checksum8(fadt_mod,fadt_mod->Length); + + xsdt_entries[i-dropoffset]=(uint32_t)fadt_mod; + continue; + } + + DBG("TABLE %c%c%c%c@%x,",table[0],table[1],table[2],table[3],xsdt_entries[i]); + + } + + // Correct the checksum of XSDT + xsdt_mod->Length-=8*dropoffset; + xsdt_mod->Checksum=0; + xsdt_mod->Checksum=256-checksum8(xsdt_mod,xsdt_mod->Length); + } + else + { + drop_xsdt: + + DBG("About to drop XSDT\n"); + + /*FIXME: Now we just hope that if MacOS doesn't find XSDT it reverts to RSDT. + * A Better strategy would be to generate + */ + + rsdp_mod->XsdtAddress=0xffffffffffffffffLL; + printf("XSDT not found or XSDT incorrect\n"); + } + } + + // Correct the checksum of RSDP + + DBG("Original checksum %d\n", rsdp_mod->Checksum); + + rsdp_mod->Checksum=0; + rsdp_mod->Checksum=256-checksum8(rsdp_mod,20); + + DBG("New checksum %d\n", rsdp_mod->Checksum); + + if (version) + { + DBG("Original extended checksum %d\n", rsdp_mod->ExtendedChecksum); + + rsdp_mod->ExtendedChecksum=0; + rsdp_mod->ExtendedChecksum=256-checksum8(rsdp_mod,rsdp_mod->Length); + + DBG("New extended checksum %d\n", rsdp_mod->ExtendedChecksum); + + } + + verbose("Patched ACPI version %d DSDT\n", version+1); + if (version) + { + acpi20_p = (uint32_t)rsdp_mod; + addConfigurationTable(&gEfiAcpi20TableGuid, &acpi20_p, "ACPI_20"); + } + else + { + acpi10_p = (uint32_t)rsdp_mod; + addConfigurationTable(&gEfiAcpiTableGuid, &acpi10_p, "ACPI"); + } + } + #if DEBUG_DSDT + getc(); + #endif + return 1; +} Index: branches/prasys/i386/libsaio/fdisk.h =================================================================== --- branches/prasys/i386/libsaio/fdisk.h (revision 0) +++ branches/prasys/i386/libsaio/fdisk.h (revision 24) @@ -0,0 +1,89 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Copyright (c) 1992 NeXT Computer, Inc. + * + * IBM PC disk partitioning data structures. + * + * HISTORY + * + * 8 July 1992 David E. Bohman at NeXT + * Created. + */ + +#ifndef __LIBSAIO_FDISK_H +#define __LIBSAIO_FDISK_H + +#define DISK_BLK0 0 /* blkno of boot block */ +#define DISK_BLK0SZ 512 /* size of boot block */ +#define DISK_BOOTSZ 446 /* size of boot code in boot block */ +#define DISK_SIGNATURE 0xAA55 /* signature of the boot record */ +#define FDISK_NPART 4 /* number of entries in fdisk table */ +#define FDISK_ACTIVE 0x80 /* indicator of active partition */ +#define FDISK_NEXTNAME 0xA7 /* indicator of NeXT partition */ +#define FDISK_DOS12 0x01 /* 12-bit fat < 10MB dos partition */ +#define FDISK_DOS16S 0x04 /* 16-bit fat < 32MB dos partition */ +#define FDISK_DOSEXT 0x05 /* extended dos partition */ +#define FDISK_DOS16B 0x06 /* 16-bit fat >= 32MB dos partition */ +#define FDISK_NTFS 0x07 /* NTFS partition */ +#define FDISK_SMALLFAT32 0x0b /* FAT32 partition */ +#define FDISK_FAT32 0x0c /* FAT32 partition */ +#define FDISK_DOS16SLBA 0x0e +#define FDISK_LINUX 0x83 +#define FDISK_UFS 0xa8 /* Apple UFS partition */ +#define FDISK_HFS 0xaf /* Apple HFS partition */ +#define FDISK_BOOTER 0xab /* Apple booter partition */ + +/* + * Format of fdisk partion entry (if present). + */ +struct fdisk_part { + unsigned char bootid; /* bootable or not */ + unsigned char beghead; /* begining head, sector, cylinder */ + unsigned char begsect; /* begcyl is a 10-bit number */ + unsigned char begcyl; /* High 2 bits are in begsect */ + unsigned char systid; /* OS type */ + unsigned char endhead; /* ending head, sector, cylinder */ + unsigned char endsect; /* endcyl is a 10-bit number */ + unsigned char endcyl; /* High 2 bits are in endsect */ + unsigned long relsect; /* partion physical offset on disk */ + unsigned long numsect; /* number of sectors in partition */ +} __attribute__((packed)); + +/* + * Format of boot block. + */ +struct disk_blk0 { + unsigned char bootcode[DISK_BOOTSZ]; + unsigned char parts[FDISK_NPART][sizeof (struct fdisk_part)]; + unsigned short signature; +}; + +struct REAL_disk_blk0 { + unsigned char bootcode[DISK_BOOTSZ]; + struct fdisk_part parts[FDISK_NPART]; + unsigned short signature; +} __attribute__((packed)); + +#endif /* !__LIBSAIO_FDISK_H */ Index: branches/prasys/i386/libsaio/dsdt_patcher.h =================================================================== --- branches/prasys/i386/libsaio/dsdt_patcher.h (revision 0) +++ branches/prasys/i386/libsaio/dsdt_patcher.h (revision 24) @@ -0,0 +1,20 @@ +/* + * Copyright 2008 mackerintel + */ + +#ifndef __LIBSAIO_DSDT_PATCHER_H +#define __LIBSAIO_DSDT_PATCHER_H + +#include "libsaio.h" + +uint64_t acpi10_p; +uint64_t acpi20_p; +uint64_t smbios_p; +extern int setupAcpi(); + +extern EFI_STATUS addConfigurationTable(); + +extern EFI_GUID gEfiAcpiTableGuid; +extern EFI_GUID gEfiAcpi20TableGuid; + +#endif /* !__LIBSAIO_DSDT_PATCHER_H */ Index: branches/prasys/i386/libsaio/ntfs.c =================================================================== --- branches/prasys/i386/libsaio/ntfs.c (revision 0) +++ branches/prasys/i386/libsaio/ntfs.c (revision 24) @@ -0,0 +1,311 @@ +/* + * Copyright (c) 2004 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2004 Apple Computer, Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +#include "libsaio.h" +#include "sl.h" + +#define BYTE_ORDER_MARK 0xFEFF + +#include "ntfs_private.h" + +#define FS_TYPE "ntfs" +#define FS_NAME_FILE "NTFS" + +#define MAX_BLOCK_SIZE 2048 +#define MAX_CLUSTER_SIZE 32768 + +#define LABEL_LENGTH 1024 +#define UNKNOWN_LABEL "Untitled NTFS" + +#define FSUR_IO_FAIL -1 +#define FSUR_UNRECOGNIZED -1 +#define FSUR_RECOGNIZED 0 + +#define ERROR -1 + +/* + * Process per-sector "fixups" that NTFS uses to detect corruption of + * multi-sector data structures, like MFT records. + */ +static int +ntfs_fixup( + char *buf, + size_t len, + u_int32_t magic, + u_int32_t bytesPerSector) +{ + struct fixuphdr *fhp = (struct fixuphdr *) buf; + int i; + u_int16_t fixup; + u_int16_t *fxp; + u_int16_t *cfxp; + u_int32_t fixup_magic; + u_int16_t fixup_count; + u_int16_t fixup_offset; + + fixup_magic = OSReadLittleInt32(&fhp->fh_magic,0); + if (fixup_magic != magic) { + error("ntfs_fixup: magic doesn't match: %08x != %08x\n", + fixup_magic, magic); + return (ERROR); + } + fixup_count = OSReadLittleInt16(&fhp->fh_fnum,0); + if ((fixup_count - 1) * bytesPerSector != len) { + error("ntfs_fixup: " \ + "bad fixups number: %d for %ld bytes block\n", + fixup_count, (long)len); /* XXX printf kludge */ + return (ERROR); + } + fixup_offset = OSReadLittleInt16(&fhp->fh_foff,0); + if (fixup_offset >= len) { + error("ntfs_fixup: invalid offset: %x", fixup_offset); + return (ERROR); + } + fxp = (u_int16_t *) (buf + fixup_offset); + cfxp = (u_int16_t *) (buf + bytesPerSector - 2); + fixup = *fxp++; + for (i = 1; i < fixup_count; i++, fxp++) { + if (*cfxp != fixup) { + error("ntfs_fixup: fixup %d doesn't match\n", i); + return (ERROR); + } + *cfxp = *fxp; + cfxp = (u_int16_t *)(((caddr_t)cfxp) + bytesPerSector); + } + return (0); +} + +/* + * Find a resident attribute of a given type. Returns a pointer to the + * attribute data, and its size in bytes. + */ +static int +ntfs_find_attr( + char *buf, + u_int32_t attrType, + void **attrData, + size_t *attrSize) +{ + struct filerec *filerec; + struct attr *attr; + u_int16_t offset; + + filerec = (struct filerec *) buf; + offset = OSReadLittleInt16(&filerec->fr_attroff,0); + attr = (struct attr *) (buf + offset); + + /* Should we also check offset < buffer size? */ + while (attr->a_hdr.a_type != 0xFFFFFFFF) /* same for big/little endian */ + { + if (OSReadLittleInt32(&attr->a_hdr.a_type,0) == attrType) + { + if (attr->a_hdr.a_flag != 0) + { + //verbose("NTFS: attriubte 0x%X is non-resident\n", attrType); + return 1; + } + + *attrSize = OSReadLittleInt16(&attr->a_r.a_datalen,0); + *attrData = buf + offset + OSReadLittleInt16(&attr->a_r.a_dataoff,0); + return 0; /* found it! */ + } + + /* Skip to the next attribute */ + offset += OSReadLittleInt32(&attr->a_hdr.reclen,0); + attr = (struct attr *) (buf + offset); + } + + return 1; /* No matching attrType found */ +} + +/* + * Examine a volume to see if we recognize it as a mountable. + */ +void +NTFSGetDescription(CICell ih, char *str, long strMaxLen) +{ + struct bootfile *boot; + unsigned bytesPerSector; + unsigned sectorsPerCluster; + int mftRecordSize; + u_int64_t totalClusters; + u_int64_t cluster, mftCluster; + size_t mftOffset; + void *nameAttr; + size_t nameSize; + char *buf; + + buf = (char *)malloc(MAX_CLUSTER_SIZE); + if (buf == 0) { + goto error; + } + + /* + * Read the boot sector, check signatures, and do some minimal + * sanity checking. NOTE: the size of the read below is intended + * to be a multiple of all supported block sizes, so we don't + * have to determine or change the device's block size. + */ + Seek(ih, 0); + Read(ih, (long)buf, MAX_BLOCK_SIZE); + + boot = (struct bootfile *) buf; + + /* + * The first three bytes are an Intel x86 jump instruction. I assume it + * can be the same forms as DOS FAT: + * 0xE9 0x?? 0x?? + * 0xEC 0x?? 0x90 + * where 0x?? means any byte value is OK. + */ + if (boot->reserved1[0] != 0xE9 + && (boot->reserved1[0] != 0xEB || boot->reserved1[2] != 0x90)) + { + goto error; + } + + /* + * Check the "NTFS " signature. + */ + if (memcmp((const char *)boot->bf_sysid, "NTFS ", 8) != 0) + { + goto error; + } + + /* + * Make sure the bytes per sector and sectors per cluster are + * powers of two, and within reasonable ranges. + */ + bytesPerSector = OSReadLittleInt16(&boot->bf_bps,0); + if ((bytesPerSector & (bytesPerSector-1)) || bytesPerSector < 512 || bytesPerSector > 32768) + { + //verbose("NTFS: invalid bytes per sector (%d)\n", bytesPerSector); + goto error; + } + + sectorsPerCluster = boot->bf_spc; /* Just one byte; no swapping needed */ + if ((sectorsPerCluster & (sectorsPerCluster-1)) || sectorsPerCluster > 128) + { + //verbose("NTFS: invalid sectors per cluster (%d)\n", bytesPerSector); + goto error; + } + + /* + * Calculate the number of clusters from the number of sectors. + * Then bounds check the $MFT and $MFTMirr clusters. + */ + totalClusters = OSReadLittleInt64(&boot->bf_spv,0) / sectorsPerCluster; + mftCluster = OSReadLittleInt64(&boot->bf_mftcn,0); + if (mftCluster > totalClusters) + { + ////verbose("NTFS: invalid $MFT cluster (%lld)\n", mftCluster); + goto error; + } + cluster = OSReadLittleInt64(&boot->bf_mftmirrcn,0); + if (cluster > totalClusters) + { + //verbose("NTFS: invalid $MFTMirr cluster (%lld)\n", cluster); + goto error; + } + + /* + * Determine the size of an MFT record. + */ + mftRecordSize = (int8_t) boot->bf_mftrecsz; + if (mftRecordSize < 0) + mftRecordSize = 1 << -mftRecordSize; + else + mftRecordSize *= bytesPerSector * sectorsPerCluster; + //verbose("NTFS: MFT record size = %d\n", mftRecordSize); + + /* + * Read the MFT record for $Volume. This assumes the first four + * file records in the MFT are contiguous; if they aren't, we + * would have to map the $MFT itself. + * + * This will fail if the device sector size is larger than the + * MFT record size, since the $Volume record won't be aligned + * on a sector boundary. + */ + mftOffset = mftCluster * sectorsPerCluster * bytesPerSector; + mftOffset += mftRecordSize * NTFS_VOLUMEINO; + + Seek(ih, mftOffset); + Read(ih, (long)buf, mftRecordSize); +#if UNUSED + if (lseek(fd, mftOffset, SEEK_SET) == -1) + { + //verbose("NTFS: lseek to $Volume failed: %s\n", strerror(errno)); + goto error; + } + if (read(fd, buf, mftRecordSize) != mftRecordSize) + { + //verbose("NTFS: error reading MFT $Volume record: %s\n", + strerror(errno)); + goto error; + } +#endif + + if (ntfs_fixup(buf, mftRecordSize, NTFS_FILEMAGIC, bytesPerSector) != 0) + { + //verbose("NTFS: block fixup failed\n"); + goto error; + } + + /* + * Loop over the attributes, looking for $VOLUME_NAME (0x60). + */ + if(ntfs_find_attr(buf, NTFS_A_VOLUMENAME, &nameAttr, &nameSize) != 0) + { + //verbose("NTFS: $VOLUME_NAME attribute not found\n"); + goto error; + } + + str[0] = '\0'; + + utf_encodestr( nameAttr, nameSize / 2, (u_int8_t *)str, strMaxLen, OSLittleEndian ); + + free(buf); + return; + + error: + if (buf) free(buf); + return; +} + +BOOL NTFSProbe(const void * buffer) +{ + BOOL result = FALSE; + + const struct bootfile * part_bootfile = buffer; // NTFS boot sector structure + + // Looking for NTFS signature. + if (strncmp((const char *)part_bootfile->bf_sysid, NTFS_BBID, NTFS_BBIDLEN) == 0) + result = TRUE; + + return result; +} + + Index: branches/prasys/i386/libsaio/nvidia.c =================================================================== --- branches/prasys/i386/libsaio/nvidia.c (revision 0) +++ branches/prasys/i386/libsaio/nvidia.c (revision 24) @@ -0,0 +1,747 @@ +/* + * NVidia injector + * + * Copyright (C) 2009 Jasmin Fazlic, iNDi + * + * NVidia injector is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * NVidia driver and injector is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with NVidia injector. If not, see . + */ +/* + * Alternatively you can choose to comply with APSL + */ + + +/* + * DCB-Table parsing is based on software (nouveau driver) originally distributed under following license: + * + * + * Copyright 2005-2006 Erik Waling + * Copyright 2006 Stephane Marchesin + * Copyright 2007-2009 Stuart Bennett + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "libsaio.h" +#include "bootstruct.h" +#include "pci.h" +#include "platform.h" +#include "device_inject.h" +#include "nvidia.h" + +#ifndef DEBUG_NVIDIA +#define DEBUG_NVIDIA 0 +#endif + +#if DEBUG_NVIDIA +#define DBG(x...) printf(x) +#else +#define DBG(x...) +#endif + +#define PATCH_ROM_SUCCESS 1 +#define PATCH_ROM_SUCCESS_HAS_LVDS 2 +#define PATCH_ROM_FAILED 0 +#define MAX_NUM_DCB_ENTRIES 16 + +#define TYPE_GROUPED 0xff + +extern uint32_t devices_number; + +const char *nvidia_compatible_0[] = { "@0,compatible", "NVDA,NVMac" }; +const char *nvidia_compatible_1[] = { "@1,compatible", "NVDA,NVMac" }; +const char *nvidia_device_type_0[] = { "@0,device_type", "display" }; +const char *nvidia_device_type_1[] = { "@1,device_type", "display" }; +const char *nvidia_device_type[] = { "device_type", "NVDA,Parent" }; +const char *nvidia_name_0[] = { "@0,name", "NVDA,Display-A" }; +const char *nvidia_name_1[] = { "@1,name", "NVDA,Display-B" }; +const char *nvidia_slot_name[] = { "AAPL,slot-name", "Slot-1"}; + +uint8_t default_NVCAP[]= { +0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0d, 0x00, +0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0a, +0x00, 0x00, 0x00, 0x00 +}; + +uint16_t swap16(uint16_t toswap) { + return (((toswap & 0x00FF) << 8) | ((toswap & 0xFF00) >> 8)); +} + +// Known cards as of 2008/08/26 +static struct nv_chipsets_t NVKnownChipsets[] = { + { 0x00000000, "Unknown" }, + { 0x10DE0301, "GeForce FX 5800 Ultra" }, + { 0x10DE0302, "GeForce FX 5800" }, + { 0x10DE0308, "Quadro FX 2000" }, + { 0x10DE0309, "Quadro FX 1000" }, + { 0x10DE0311, "GeForce FX 5600 Ultra" }, + { 0x10DE0312, "GeForce FX 5600" }, + { 0x10DE0314, "GeForce FX 5600XT" }, + { 0x10DE031A, "GeForce FX Go5600" }, + { 0x10DE031B, "GeForce FX Go5650" }, + { 0x10DE031C, "Quadro FX Go700" }, + { 0x10DE0324, "GeForce FX Go5200" }, + { 0x10DE0325, "GeForce FX Go5250" }, + { 0x10DE0326, "GeForce FX 5500" }, + { 0x10DE0328, "GeForce FX Go5200 32M/64M" }, + { 0x10DE032A, "Quadro NVS 55/280 PCI" }, + { 0x10DE032B, "Quadro FX 500/600 PCI" }, + { 0x10DE032C, "GeForce FX Go53xx Series" }, + { 0x10DE032D, "GeForce FX Go5100" }, + { 0x10DE0330, "GeForce FX 5900 Ultra" }, + { 0x10DE0331, "GeForce FX 5900" }, + { 0x10DE0332, "GeForce FX 5900XT" }, + { 0x10DE0333, "GeForce FX 5950 Ultra" }, + { 0x10DE0334, "GeForce FX 5900ZT" }, + { 0x10DE0338, "Quadro FX 3000" }, + { 0x10DE033F, "Quadro FX 700" }, + { 0x10DE0341, "GeForce FX 5700 Ultra" }, + { 0x10DE0342, "GeForce FX 5700" }, + { 0x10DE0343, "GeForce FX 5700LE" }, + { 0x10DE0344, "GeForce FX 5700VE" }, + { 0x10DE0347, "GeForce FX Go5700" }, + { 0x10DE0348, "GeForce FX Go5700" }, + { 0x10DE034C, "Quadro FX Go1000" }, + { 0x10DE034E, "Quadro FX 1100" }, + { 0x10DE0040, "GeForce 6800 Ultra" }, + { 0x10DE0041, "GeForce 6800" }, + { 0x10DE0042, "GeForce 6800 LE" }, + { 0x10DE0043, "GeForce 6800 XE" }, + { 0x10DE0044, "GeForce 6800 XT" }, + { 0x10DE0045, "GeForce 6800 GT" }, + { 0x10DE0046, "GeForce 6800 GT" }, + { 0x10DE0047, "GeForce 6800 GS" }, + { 0x10DE0048, "GeForce 6800 XT" }, + { 0x10DE004E, "Quadro FX 4000" }, + { 0x10DE00C0, "GeForce 6800 GS" }, + { 0x10DE00C1, "GeForce 6800" }, + { 0x10DE00C2, "GeForce 6800 LE" }, + { 0x10DE00C3, "GeForce 6800 XT" }, + { 0x10DE00C8, "GeForce Go 6800" }, + { 0x10DE00C9, "GeForce Go 6800 Ultra" }, + { 0x10DE00CC, "Quadro FX Go1400" }, + { 0x10DE00CD, "Quadro FX 3450/4000 SDI" }, + { 0x10DE00CE, "Quadro FX 1400" }, + { 0x10DE0140, "GeForce 6600 GT" }, + { 0x10DE0141, "GeForce 6600" }, + { 0x10DE0142, "GeForce 6600 LE" }, + { 0x10DE0143, "GeForce 6600 VE" }, + { 0x10DE0144, "GeForce Go 6600" }, + { 0x10DE0145, "GeForce 6610 XL" }, + { 0x10DE0146, "GeForce Go 6600 TE/6200 TE" }, + { 0x10DE0147, "GeForce 6700 XL" }, + { 0x10DE0148, "GeForce Go 6600" }, + { 0x10DE0149, "GeForce Go 6600 GT" }, + { 0x10DE014C, "Quadro FX 550" }, + { 0x10DE014D, "Quadro FX 550" }, + { 0x10DE014E, "Quadro FX 540" }, + { 0x10DE014F, "GeForce 6200" }, + { 0x10DE0160, "GeForce 6500" }, + { 0x10DE0161, "GeForce 6200 TurboCache(TM)" }, + { 0x10DE0162, "GeForce 6200SE TurboCache(TM)" }, + { 0x10DE0163, "GeForce 6200 LE" }, + { 0x10DE0164, "GeForce Go 6200" }, + { 0x10DE0165, "Quadro NVS 285" }, + { 0x10DE0166, "GeForce Go 6400" }, + { 0x10DE0167, "GeForce Go 6200" }, + { 0x10DE0168, "GeForce Go 6400" }, + { 0x10DE0169, "GeForce 6250" }, + { 0x10DE016A, "GeForce 7100 GS" }, + { 0x10DE0211, "GeForce 6800" }, + { 0x10DE0212, "GeForce 6800 LE" }, + { 0x10DE0215, "GeForce 6800 GT" }, + { 0x10DE0218, "GeForce 6800 XT" }, + { 0x10DE0221, "GeForce 6200" }, + { 0x10DE0222, "GeForce 6200 A-LE" }, + { 0x10DE0090, "GeForce 7800 GTX" }, + { 0x10DE0091, "GeForce 7800 GTX" }, + { 0x10DE0092, "GeForce 7800 GT" }, + { 0x10DE0093, "GeForce 7800 GS" }, + { 0x10DE0095, "GeForce 7800 SLI" }, + { 0x10DE0098, "GeForce Go 7800" }, + { 0x10DE0099, "GeForce Go 7800 GTX" }, + { 0x10DE009D, "Quadro FX 4500" }, + { 0x10DE01D1, "GeForce 7300 LE" }, + { 0x10DE01D3, "GeForce 7300 SE" }, + { 0x10DE01D6, "GeForce Go 7200" }, + { 0x10DE01D7, "GeForce Go 7300" }, + { 0x10DE01D8, "GeForce Go 7400" }, + { 0x10DE01D9, "GeForce Go 7400 GS" }, + { 0x10DE01DA, "Quadro NVS 110M" }, + { 0x10DE01DB, "Quadro NVS 120M" }, + { 0x10DE01DC, "Quadro FX 350M" }, + { 0x10DE01DD, "GeForce 7500 LE" }, + { 0x10DE01DE, "Quadro FX 350" }, + { 0x10DE01DF, "GeForce 7300 GS" }, + { 0x10DE0391, "GeForce 7600 GT" }, + { 0x10DE0392, "GeForce 7600 GS" }, + { 0x10DE0393, "GeForce 7300 GT" }, + { 0x10DE0394, "GeForce 7600 LE" }, + { 0x10DE0395, "GeForce 7300 GT" }, + { 0x10DE0397, "GeForce Go 7700" }, + { 0x10DE0398, "GeForce Go 7600" }, + { 0x10DE0399, "GeForce Go 7600 GT"}, + { 0x10DE039A, "Quadro NVS 300M" }, + { 0x10DE039B, "GeForce Go 7900 SE" }, + { 0x10DE039C, "Quadro FX 550M" }, + { 0x10DE039E, "Quadro FX 560" }, + { 0x10DE0290, "GeForce 7900 GTX" }, + { 0x10DE0291, "GeForce 7900 GT" }, + { 0x10DE0292, "GeForce 7900 GS" }, + { 0x10DE0298, "GeForce Go 7900 GS" }, + { 0x10DE0299, "GeForce Go 7900 GTX" }, + { 0x10DE029A, "Quadro FX 2500M" }, + { 0x10DE029B, "Quadro FX 1500M" }, + { 0x10DE029C, "Quadro FX 5500" }, + { 0x10DE029D, "Quadro FX 3500" }, + { 0x10DE029E, "Quadro FX 1500" }, + { 0x10DE029F, "Quadro FX 4500 X2" }, + { 0x10DE0240, "GeForce 6150" }, + { 0x10DE0241, "GeForce 6150 LE" }, + { 0x10DE0242, "GeForce 6100" }, + { 0x10DE0244, "GeForce Go 6150" }, + { 0x10DE0247, "GeForce Go 6100" }, + + /*************** G8x ***************/ + { 0x10DE0191, "GeForce 8800 GTX" }, + { 0x10DE0193, "GeForce 8800 GTS" }, + { 0x10DE0194, "GeForce 8800 Ultra" }, + { 0x10DE019D, "Quadro FX 5600" }, + { 0x10DE019E, "Quadro FX 4600" }, + { 0x10DE0400, "GeForce 8600 GTS" }, + { 0x10DE0401, "GeForce 8600 GT" }, + { 0x10DE0402, "GeForce 8600 GT" }, + { 0x10DE0403, "GeForce 8600 GS" }, + { 0x10DE0404, "GeForce 8400 GS" }, + { 0x10DE0405, "GeForce 9500M GS" }, + { 0x10DE0407, "GeForce 8600M GT" }, + { 0x10DE0408, "GeForce 9650M GS" }, + { 0x10DE0409, "GeForce 8700M GT" }, + { 0x10DE040A, "Quadro FX 370" }, + { 0x10DE040B, "Quadro NVS 320M" }, + { 0x10DE040C, "Quadro FX 570M" }, + { 0x10DE040D, "Quadro FX 1600M" }, + { 0x10DE040E, "Quadro FX 570" }, + { 0x10DE040F, "Quadro FX 1700" }, + { 0x10DE0420, "GeForce 8400 SE" }, + { 0x10DE0421, "GeForce 8500 GT" }, + { 0x10DE0422, "GeForce 8400 GS" }, + { 0x10DE0423, "GeForce 8300 GS" }, + { 0x10DE0424, "GeForce 8400 GS" }, + { 0x10DE0425, "GeForce 8600M GS" }, + { 0x10DE0426, "GeForce 8400M GT" }, + { 0x10DE0427, "GeForce 8400M GS" }, + { 0x10DE0428, "GeForce 8400M G" }, + { 0x10DE0429, "Quadro NVS 140M" }, + { 0x10DE042A, "Quadro NVS 130M" }, + { 0x10DE042B, "Quadro NVS 135M" }, + { 0x10DE042C, "GeForce 9400 GT" }, + { 0x10DE042D, "Quadro FX 360M" }, + { 0x10DE042E, "GeForce 9300M G" }, + { 0x10DE042F, "Quadro NVS 290" }, + { 0x10DE05E1, "GeForce GTX 280" }, + { 0x10DE05E2, "GeForce GTX 260" }, + { 0x10DE0600, "GeForce 8800 GTS 512" }, + { 0x10DE0602, "GeForce 8800 GT" }, + { 0x10DE0604, "GeForce 9800 GX2" }, + { 0x10DE0605, "GeForce 9800 GT" }, + { 0x10DE0606, "GeForce 8800 GS" }, + { 0x10DE0609, "GeForce 8800M GTS" }, + { 0x10DE060C, "GeForce 8800M GTX" }, + { 0x10DE060D, "GeForce 8800 GS" }, + { 0x10DE0610, "GeForce 9600 GSO" }, + { 0x10DE0611, "GeForce 8800 GT" }, + { 0x10DE0612, "GeForce 9800 GTX" }, + { 0x10DE0613, "GeForce 9800 GTX+" }, + { 0x10DE0614, "GeForce 9800 GT" }, + { 0x10DE061A, "Quadro FX 3700" }, + { 0x10DE061C, "Quadro FX 3600M" }, + { 0x10DE0622, "GeForce 9600 GT" }, + { 0x10DE0623, "GeForce 9600 GS" }, + { 0x10DE0628, "GeForce 9800M GTS" }, + { 0x10DE062A, "GeForce 9700M GTS" }, + { 0x10DE062C, "GeForce 9800M GTS" }, + { 0x10DE0640, "GeForce 9500 GT" }, + { 0x10DE0647, "GeForce 9600M GT" }, + { 0x10DE0648, "GeForce 9600M GS" }, + { 0x10DE0649, "GeForce 9600M GT" }, + { 0x10DE064B, "GeForce 9500M G" }, + { 0x10DE065B, "GeForce 9400 GT" }, + { 0x10DE06E1, "GeForce 9300 GS" }, + { 0x10DE06E4, "GeForce 8400 GS" }, + { 0x10DE06E5, "GeForce 9300M GS" }, + { 0x10DE06E8, "GeForce 9200M GS" }, + { 0x10DE06E9, "GeForce 9300M GS" }, + { 0x10DE06EA, "Quadro NVS 150M" }, + { 0x10DE06EB, "Quadro NVS 160M" }, + + /*************** GT2xx *************/ + { 0x10DE05E0, "GeForce GTX 295" }, + { 0x10DE05E1, "GeForce GTX 280" }, + { 0x10DE05E2, "GeForce GTX 260" }, + { 0x10DE05E3, "GeForce GTX 285" }, + { 0x10DE05E6, "GeForce GTX 275" }, +}; + +uint32_t swap32(uint32_t toswap) { + return ((toswap & 0x000000FF) << 24) | + ((toswap & 0x0000FF00) << 8 ) | + ((toswap & 0x00FF0000) >> 8 ) | + ((toswap & 0xFF000000) >> 24); +} + +uint8_t read8(uint8_t *ptr, uint16_t offset) { + return ptr[offset]; +} + +uint16_t read16(uint8_t *ptr, uint16_t offset) { + uint8_t ret[2]; + ret[0] = ptr[offset+1]; + ret[1] = ptr[offset]; + return *((uint16_t*)&ret); +} + +uint32_t read32(uint8_t *ptr, uint16_t offset) { + uint8_t ret[4]; + ret[0] = ptr[offset+3]; + ret[1] = ptr[offset+2]; + ret[2] = ptr[offset+1]; + ret[3] = ptr[offset]; + return *((uint32_t*)&ret); +} + +int patch_nvidia_rom(uint8_t *rom) { + if(!rom || (rom[0] != 0x55 && rom[1] != 0xaa)) { + printf("False ROM signature: 0x%02x%02x\n", rom[0], rom[1]); + return PATCH_ROM_FAILED; + } + + uint16_t dcbptr = swap16(read16(rom, 0x36)); + if(!dcbptr) { + printf("no dcb table found\n"); + return PATCH_ROM_FAILED; + }/* else + printf("dcb table at offset 0x%04x\n", dcbptr); + */ + uint8_t *dcbtable = &rom[dcbptr]; + uint8_t dcbtable_version = dcbtable[0]; + uint8_t headerlength = 0; + uint8_t recordlength = 0; + uint8_t numentries = 0; + + if(dcbtable_version >= 0x20) { + uint32_t sig; + + if(dcbtable_version >= 0x30) { + headerlength = dcbtable[1]; + numentries = dcbtable[2]; + recordlength = dcbtable[3]; + sig = *(uint32_t *)&dcbtable[6]; + } else { + sig = *(uint32_t *)&dcbtable[4]; + headerlength = 8; + } + if (sig != 0x4edcbdcb) { + printf("bad display config block signature (0x%8x)\n", sig); + return PATCH_ROM_FAILED; + } + } else if (dcbtable_version >= 0x14) { /* some NV15/16, and NV11+ */ + char sig[8] = { 0 }; + + strncpy(sig, (char *)&dcbtable[-7], 7); + recordlength = 10; + if (strcmp(sig, "DEV_REC")) { + printf("Bad Display Configuration Block signature (%s)\n", sig); + return PATCH_ROM_FAILED; + } + } else { + return PATCH_ROM_FAILED; + } + + if(numentries >= MAX_NUM_DCB_ENTRIES) + numentries = MAX_NUM_DCB_ENTRIES; + + uint8_t num_outputs = 0, i=0; + struct dcbentry { + uint8_t type; + uint8_t index; + uint8_t *heads; + } entries[numentries]; + + for (i = 0; i < numentries; i++) { + uint32_t connection; + connection = *(uint32_t *)&dcbtable[headerlength + recordlength * i]; + /* Should we allow discontinuous DCBs? Certainly DCB I2C tables can be discontinuous */ + if ((connection & 0x0000000f) == 0x0000000f) /* end of records */ + continue; + if (connection == 0x00000000) /* seen on an NV11 with DCB v1.5 */ + continue; + if ((connection & 0xf) == 0x6) /* we skip type 6 as it doesnt appear on macbook nvcaps */ + continue; + + entries[num_outputs].type = connection & 0xf; + entries[num_outputs].index = num_outputs; + entries[num_outputs++].heads = (uint8_t*)&(dcbtable[(headerlength + recordlength * i) + 1]); + + } + + int has_lvds = false; + uint8_t channel1 = 0, channel2 = 0; + + for(i=0; i channel2) { + uint8_t buff = channel1; + channel1 = channel2; + channel2 = buff; + } + + default_NVCAP[6] = channel1; + default_NVCAP[8] = channel2; + + // patching HEADS + for(i=0; idev.addr, 0x10 ); + regs = (uint8_t *) (bar[0] & ~0x0f); + + // Amount of VRAM in kilobytes + videoRam = (REG32(0x10020c) & 0xfff00000) >> 10; + + model = get_nvidia_model((nvda_dev->vendor_id << 16) | nvda_dev->device_id); + + verbose("nVidia %s %dMB NV%02x [%04x:%04x] :: %s\n", + model, (videoRam / 1024), + (REG32(0) >> 20) & 0x1ff, nvda_dev->vendor_id, nvda_dev->device_id, + devicepath); + + rom = malloc(0x10000); + + if(!rom) + { + verbose(" ROM malloc failed.\n"); + return 0; + } + + if (!getValueForKey("VideoROM", &nvFilename, &len, &bootInfo->bootConfig)) + nvFilename="NVIDIA.ROM"; + + // Load video bios overide + nvBiosOveride = nvBiosSize = load_nvidia_bios_file((char *)nvFilename, (char *)rom); + + // Otherwise read bios from card + if (nvBiosOveride == 0) + { + // TODO: we should really check for the signature + // before copying the rom, i think. + + // PRAMIN first + nvRom = (uint8_t*)®s[NV_PRAMIN_OFFSET]; + bcopy((uint32_t *)nvRom, rom, 0x10000); + + // Valid Signature ? + if(rom[0] != 0x55 && rom[1] != 0xaa) + { + // PROM next + // Enable PROM access + (REG32(NV_PBUS_PCI_NV_20)) = NV_PBUS_PCI_NV_20_ROM_SHADOW_DISABLED; + + nvRom = (uint8_t*)®s[NV_PROM_OFFSET]; + bcopy((uint8_t *)nvRom, rom, 0x10000); + + // disable PROM access + (REG32(NV_PBUS_PCI_NV_20)) = NV_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED; + + // Valid Signature ? + if(rom[0] != 0x55 && rom[1] != 0xaa) + { + // 0xC0000 last + bcopy((char *)0xc0000, rom, 0x10000); + + // Valid Signature ? + if(rom[0] != 0x55 && rom[1] != 0xaa) + { + verbose(" Unable to locate video bios.\n"); + return 0; + } + else + DBG(" ROM Address 0x%x Signature 0x%02x%02x\n", + nvRom, (uint8_t)rom[0], (uint8_t)rom[1]); + } + else + DBG(" PROM Address 0x%x Signature 0x%02x%02x\n", + nvRom, (uint8_t)rom[0], (uint8_t)rom[1]); + } + else + DBG(" PRAM Address 0x%x Signature 0x%02x%02x\n", + nvRom, (uint8_t)rom[0], (uint8_t)rom[1]); + } + else + DBG(" %s Signature 0x%02x%02x %d bytes\n", + nvFilename, (uint8_t)rom[0], (uint8_t)rom[1], nvBiosOveride); + + nvPatch = patch_nvidia_rom(rom); + + if(nvPatch == PATCH_ROM_FAILED) + { + printf(" ROM Patching Failed.\n"); + return false; + } + + struct pci_rom_pci_header_t *rom_pci_header; + rom_pci_header = (struct pci_rom_pci_header_t*)(rom + *(uint16_t *)&rom[24]); + + // check for 'PCIR' sig + if (rom_pci_header->signature == 0x50434952) + if (rom_pci_header->device != nvda_dev->device_id) + // Get Model from the OpROM + model = get_nvidia_model((rom_pci_header->vendor << 16) | rom_pci_header->device); + else + printf("incorrect PCI ROM sig: 0x%x\n", rom_pci_header->signature); + + if (!string) + string = devprop_create_string(); + + struct DevPropDevice *device = malloc(sizeof(struct DevPropDevice)); + device = devprop_add_device(string, devicepath); + + if(!device) + { + printf("Failed initializing dev-prop string dev-entry, press any key...\n"); + free(rom); + getc(); + return false; + } + + /* FIXME: for primary graphics card only */ + uint32_t boot_display = 0x00000001; + devprop_add_value(device, "@0,AAPL,boot-display", (uint8_t*)&boot_display, 4); + + if(nvPatch == PATCH_ROM_SUCCESS_HAS_LVDS) + { + uint8_t built_in = 0x01; + devprop_add_value(device, "@0,built-in", (uint8_t*)&built_in, 1); + } + + videoRam *= 1024; + + sprintf(biosVersion, "xx.xx.xx - %s", (nvBiosOveride > 0) ? nvFilename : "internal"); + + devprop_add_nvidia_template(device); + devprop_add_value(device, "NVCAP", default_NVCAP, 20); + devprop_add_value(device, "VRAM,totalsize", (uint8_t*)&videoRam, 4); + devprop_add_value(device, "model", (uint8_t*)model, (strlen(model) + 1)); + devprop_add_value(device, "rom-revision", (uint8_t*)biosVersion, (strlen(biosVersion) + 1)); + + BOOL set_vbios_prop = false; + getBoolForKey("VBIOS", &set_vbios_prop, &bootInfo->bootConfig); + if (set_vbios_prop) + devprop_add_value(device, "vbios", rom, (nvBiosOveride > 0) ? nvBiosOveride : (rom[2] * 512)); + + stringdata = malloc(sizeof(uint8_t) * string->length); + if(!stringdata) + { + printf("no stringdata press a key...\n"); + getc(); + return false; + } + + memcpy(stringdata, (uint8_t*)devprop_generate_string(string), string->length); + stringlength = string->length; + + return true; +} Property changes on: branches/prasys/i386/libsaio/nvidia.c ___________________________________________________________________ Added: svn:executable + * Index: branches/prasys/i386/libsaio/ufs_byteorder.c =================================================================== --- branches/prasys/i386/libsaio/ufs_byteorder.c (revision 0) +++ branches/prasys/i386/libsaio/ufs_byteorder.c (revision 24) @@ -0,0 +1,171 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Copyright 1993 NeXT, Inc. + * All rights reserved. + */ + +#include +#include +#include +#include +#include +#include "ufs_byteorder.h" +#include "libsaio.h" + +#define swapBigLongToHost(thing) ((thing) = OSSwapBigToHostInt32(thing)) +#define swapBigShortToHost(thing) ((thing) = OSSwapBigToHostInt16(thing)) +#define byte_swap_longlong(thing) ((thing) = OSSwapBigToHostInt64(thing)) +#define byte_swap_int(thing) ((thing) = OSSwapBigToHostInt32(thing)) +#define byte_swap_short(thing) ((thing) = OSSwapBigToHostInt16(thing)) + +#if UNUSED +void +byte_swap_longlongs(unsigned long long *array, int count) +{ + register unsigned long long i; + + for (i = 0; i < (unsigned long long)count; i++) + byte_swap_longlong(array[i]); +} +#endif + +void +byte_swap_ints(unsigned int *array, int count) +{ + register int i; + + for (i = 0; i < count; i++) + byte_swap_int(array[i]); +} + +void +byte_swap_shorts(unsigned short *array, int count) +{ + register int i; + + for (i = 0; i < count; i++) + byte_swap_short(array[i]); +} + +#if UNUSED +static void +swapBigIntsToHost(unsigned int *array, int count) +{ + register int i; + + for (i = 0; i < count; i++) + swapBigLongToHost(array[i]); +} + +static void +swapBigShortToHosts(unsigned short *array, int count) +{ + register int i; + + for (i = 0; i < count; i++) + swapBigShortToHost(array[i]); +} +#endif + +void +byte_swap_superblock(struct fs *sb) +{ + u_int16_t * usptr; + unsigned long size; + + byte_swap_ints(((u_int32_t *)&sb->fs_firstfield), 52); + byte_swap_int(sb->fs_cgrotor); + byte_swap_int(sb->fs_cpc); + byte_swap_shorts((u_int16_t *)sb->fs_opostbl, 16 * 8); + byte_swap_ints((u_int32_t *)sb->fs_sparecon, 50); + byte_swap_ints((u_int32_t *)&sb->fs_contigsumsize, 3); +#if UNUSED + byte_swap_longlongs((u_int64_t *)&sb->fs_maxfilesize,3); +#endif + byte_swap_ints((u_int32_t *)&sb->fs_state, 6); + + /* Got these magic numbers from mkfs.c in newfs */ + if (sb->fs_nrpos != 8 || sb->fs_cpc > 16) { + usptr = (u_int16_t *)((u_int8_t *)(sb) + (sb)->fs_postbloff); + size = sb->fs_cpc * sb->fs_nrpos; + byte_swap_shorts(usptr,size); /* fs_postbloff */ + } +} + + +/* This value should correspond to the value set in the ffs_mounts */ + +#define RESYMLNKLEN 60 + +void +byte_swap_dinode_in(struct dinode *di) +{ + int i; + + di->di_mode = OSSwapInt16(di->di_mode); + di->di_nlink = OSSwapInt16(di->di_nlink); +#ifdef LFS + di->di_u.inumber = OSSwapInt32(di->di_u.inumber); +#else + di->di_u.oldids[0] = OSSwapInt16(di->di_u.oldids[0]); + di->di_u.oldids[1] = OSSwapInt16(di->di_u.oldids[1]); +#endif + di->di_size = OSSwapInt64(di->di_size); + di->di_atime = OSSwapInt32(di->di_atime); + di->di_atimensec = OSSwapInt32(di->di_atimensec); + di->di_mtime = OSSwapInt32(di->di_mtime); + di->di_mtimensec = OSSwapInt32(di->di_mtimensec); + di->di_ctime = OSSwapInt32(di->di_ctime); + di->di_ctimensec = OSSwapInt32(di->di_ctimensec); + if (((di->di_mode & IFMT) != IFLNK ) || (di->di_size > RESYMLNKLEN)) { + for (i=0; i < NDADDR; i++) /* direct blocks */ + di->di_db[i] = OSSwapInt32(di->di_db[i]); + for (i=0; i < NIADDR; i++) /* indirect blocks */ + di->di_ib[i] = OSSwapInt32(di->di_ib[i]); + } + di->di_flags = OSSwapInt32(di->di_flags); + di->di_blocks = OSSwapInt32(di->di_blocks); + di->di_gen = OSSwapInt32(di->di_gen); + di->di_uid = OSSwapInt32(di->di_uid); + di->di_gid = OSSwapInt32(di->di_gid); + di->di_spare[0] = OSSwapInt32(di->di_spare[0]); + di->di_spare[1] = OSSwapInt32(di->di_spare[1]); +} + +void +byte_swap_dir_block_in(char *addr, int count) +{ + register struct direct * ep = (struct direct *) addr; + register int entryoffsetinblk = 0; + + while (entryoffsetinblk < count) { + ep = (struct direct *) (entryoffsetinblk + addr); + swapBigLongToHost(ep->d_ino); + swapBigShortToHost(ep->d_reclen); + entryoffsetinblk += ep->d_reclen; + if (ep->d_reclen < 12) /* handle garbage in dirs */ + break; + } +} Index: branches/prasys/i386/libsaio/ati.c =================================================================== --- branches/prasys/i386/libsaio/ati.c (revision 0) +++ branches/prasys/i386/libsaio/ati.c (revision 24) @@ -0,0 +1,777 @@ +/* + * ATI injector + * + * Copyright (C) 2009 Jasmin Fazlic, iNDi, netkas + * + * ATI injector is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * ATI driver and injector is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with ATI injector. If not, see . + */ +/* + * Alternatively you can choose to comply with APSL + */ + + +#include "libsaio.h" +#include "bootstruct.h" +#include "pci.h" +#include "platform.h" +#include "device_inject.h" +#include "ati.h" + +#ifndef DEBUG_ATI +#define DEBUG_ATI 0 +#endif + +#if DEBUG_ATI +#define DBG(x...) printf(x) +#else +#define DBG(x...) +#endif + +#define MAX_NUM_DCB_ENTRIES 16 + +#define TYPE_GROUPED 0xff + +extern uint32_t devices_number; + +const char *ati_compatible_0[] = { "@0,compatible", "ATY,%s" }; +const char *ati_compatible_1[] = { "@1,compatible", "ATY,%s" }; +const char *ati_device_type_0[] = { "@0,device_type", "display" }; +const char *ati_device_type_1[] = { "@1,device_type", "display" }; +const char *ati_device_type[] = { "device_type", "ATY,%sParent" }; +const char *ati_name_0[] = { "@0,name", "ATY,%s" }; +const char *ati_name_1[] = { "@1,name", "ATY,%s" }; +const char *ati_name[] = { "name", "ATY,%sParent" }; +const char *ati_efidisplay_0[] = { "@0,ATY,EFIDisplay", "TMDSB" }; +struct ati_data_key ati_connector_type_0 = { 0x04, "@0,connector-type", {0x00, 0x04, 0x00, 0x00} }; +struct ati_data_key ati_connector_type_1 = { 0x04, "@1,connector-type", {0x04, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_display_con_fl_type_0 = { 0x04, "@0,display-connect-flags", {0x00, 0x00, 0x04, 0x00}}; +const char *ati_display_type_0[] = { "@0,display-type", "LCD" }; +const char *ati_display_type_1[] = { "@1,display-type", "NONE" }; +struct ati_data_key ati_aux_power_conn = { 0x04, "AAPL,aux-power-connected", {0x01, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_backlight_ctrl = { 0x04, "AAPL,backlight-control", {0x00, 0x00, 0x00, 0x00}}; +//const char *ati_slot_name[] = { "AAPL,slot-name", "Slot-1"}; +struct ati_data_key ati_aapl01_coher = { 0x04, "AAPL01,Coherency", {0x01, 0x00, 0x00, 0x00}}; +const char *ati_card_no[] = { "ATY,Card#", "109-B77101-00"}; +const char *ati_copyright[] = { "ATY,Copyright", "Copyright AMD Inc. All Rights Reserved. 2005-2009"}; +const char *ati_efi_compile_d[] = { "ATY,EFICompileDate", "Jan 26 2009"}; +struct ati_data_key ati_efi_disp_conf = { 0x08, "ATY,EFIDispConfig", {0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}}; +struct ati_data_key ati_efi_drv_type = { 0x01, "ATY,EFIDriverType", {0x02}}; +struct ati_data_key ati_efi_enbl_mode = { 0x01, "ATY,EFIEnabledMode", {0x01}}; +struct ati_data_key ati_efi_init_stat = { 0x04, "ATY,EFIHWInitStatus", {0x00, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_efi_orientation = { 0x02, "ATY,EFIOrientation", {0x02, 0x00}}; +const char *ati_efi_version[] = { "ATY,EFIVersion", "01.00.318"}; +const char *ati_efi_versionB[] = { "ATY,EFIVersionB", "113-SBSJ1G04-00R-02"}; +const char *ati_efi_versionE[] = { "ATY,EFIVersionE", "113-B7710A-318"}; +struct ati_data_key ati_mclk = { 0x04, "ATY,MCLK", {0x70, 0x2e, 0x11, 0x00}}; +struct ati_data_key ati_mem_rev_id = { 0x02, "ATY,MemRevisionID", {0x03, 0x00}}; +struct ati_data_key ati_mem_vend_id = { 0x02, "ATY,MemVendorID", {0x02, 0x00}}; +const char *ati_mrt[] = { "ATY,MRT", " "}; +const char *ati_romno[] = { "ATY,Rom#", "113-B7710C-176"}; +struct ati_data_key ati_sclk = { 0x04, "ATY,SCLK", {0x28, 0xdb, 0x0b, 0x00}}; +struct ati_data_key ati_vendor_id = { 0x02, "ATY,VendorID", {0x02, 0x10}}; +struct ati_data_key ati_platform_info = { 0x80, "ATY,PlatformInfo", {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_mvad = { 0x40, "MVAD", {0x3f, 0x5c, 0x82, 0x02, 0xff, 0x90, 0x00, 0x54, 0x60, 0x00, 0xac, 0x10, 0xa0, 0x17, 0x00, 0x03, 0xb0, 0x68, 0x00, 0x0a, 0xa0, 0x0a, 0x30, 0x00, 0x20, 0x00, 0x40, 0x06, 0x6e, 0x06, 0x03, 0x00, 0x06, 0x00, 0x40, 0x06, 0x00, 0x0a, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x10, 0x06, 0x92, 0x20, 0x00, 0x03}}; +struct ati_data_key ati_saved_config = { 0x100, "saved-config", {0x3f, 0x5c, 0x82, 0x02, 0xff, 0x90, 0x00, 0x54, 0x60, 0x00, 0xac, 0x10, 0xa0, 0x17, 0x00, 0x03, 0xb0, 0x68, 0x00, 0x0a, 0xa0, 0x0a, 0x30, 0x00, 0x20, 0x00, 0x40, 0x06, 0x6e, 0x06, 0x03, 0x00, 0x06, 0x00, 0x40, 0x06, 0x00, 0x0a, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x10, 0x06, 0x92, 0x20, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xee, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x31, 0x30, 0x50, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x32, 0x32, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; +///non 48xx keys +const char *ati_efidisplay_0_n4[] = { "@0,ATY,EFIDisplay", "TMDSA" }; +struct ati_data_key ati_connector_type_0_n4 = { 0x04, "@0,connector-type", {0x04, 0x00, 0x00, 0x00} }; +struct ati_data_key ati_connector_type_1_n4 = { 0x04, "@1,connector-type", {0x00, 0x02, 0x00, 0x00}}; +struct ati_data_key ati_aapl_emc_disp_list_n4 = { 0x40, "AAPL,EMC-Display-List", {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x10, 0x00, 0x00, 0x1b, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x10, 0x00, 0x00, 0x1c, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x10, 0x00, 0x00, 0x21, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_fb_offset_n4 = { 0x08, "ATY,FrameBufferOffset", {0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_hwgpio_n4 = { 0x04, "ATY,HWGPIO", {0x23, 0xa8, 0x48, 0x00}}; +struct ati_data_key ati_iospace_offset_n4 = { 0x08, "ATY,IOSpaceOffset", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00}}; +struct ati_data_key ati_mclk_n4 = { 0x04, "ATY,MCLK", {0x00, 0x35, 0x0c, 0x00}}; +struct ati_data_key ati_sclk_n4 = { 0x04, "ATY,SCLK", {0x60, 0xae, 0x0a, 0x00}}; +struct ati_data_key ati_refclk_n4 = { 0x04, "ATY,RefCLK", {0x8c, 0x0a, 0x00, 0x00}}; +struct ati_data_key ati_regspace_offset_n4 = { 0x08, "ATY,RegisterSpaceOffset", {0x00, 0x00, 0x00, 0x00, 0x90, 0xa2, 0x00, 0x00}}; +struct ati_data_key ati_vram_memsize_0 = { 0x08, "@0,VRAM,memsize", {0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_vram_memsize_1 = { 0x08, "@1,VRAM,memsize", {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_aapl_blackscr_prefs_0_n4 = { 0x04, "AAPL00,blackscreen-preferences", {0x00, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_aapl_blackscr_prefs_1_n4 = { 0x04, "AAPL01,blackscreen-preferences", {0x00, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_swgpio_info_n4 = { 0x04, "ATY,SWGPIO Info", {0x00, 0x48, 0xa8, 0x23}}; +struct ati_data_key ati_efi_orientation_n4 = { 0x01, "ATY,EFIOrientation", {0x08}}; +struct ati_data_key ati_mvad_n4 = { 0x100, "MVAD", {0x3e, 0x5c, 0x82, 0x00, 0xff, 0x90, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x3c, 0x80, 0x07, 0x20, 0x08, 0x30, 0x00, 0x20, 0x00, 0xb0, 0x04, 0xd3, 0x04, 0x03, 0x00, 0x06, 0x00, 0xb0, 0x04, 0x80, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x90, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x31, 0x30, 0x50, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x32, 0x32, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; +struct ati_data_key ati_saved_config_n4 = { 0x100, "saved-config", {0x3e, 0x5c, 0x82, 0x00, 0xff, 0x90, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x3c, 0x80, 0x07, 0x20, 0x08, 0x30, 0x00, 0x20, 0x00, 0xb0, 0x04, 0xd3, 0x04, 0x03, 0x00, 0x06, 0x00, 0xb0, 0x04, 0x80, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x90, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x31, 0x30, 0x50, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x32, 0x32, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; +//const char *ati_slot_name_n4[] = { "AAPL,slot-name", "Slot-2"}; + + + + +struct pcir_s { + uint32_t signature; + uint16_t vid; + uint16_t devid; +}; + +// Known cards as of 2008/08/26 +static struct ati_chipsets_t ATIKnownChipsets[] = { + { 0x00000000, "Unknown" }, + { 0x10029589, "ATI Radeon 2600 Series"} , + { 0x10029588, "ATI Radeon 2600 Series"} , + { 0x100294C3, "ATI Radeon 2400 Series"} , + { 0x100294C4, "ATI Radeon 2400 Series"} , + { 0x100294C6, "ATI Radeon 2400 Series"} , + { 0x10029400, "ATI Radeon 2900 Series"} , + { 0x10029405, "ATI Radeon 2900GT Series"} , + { 0x10029581, "ATI Radeon 2600 Series"} , + { 0x10029583, "ATI Radeon 2600 Series"} , + { 0x10029586, "ATI Radeon 2600 Series"} , + { 0x10029587, "ATI Radeon 2600 Series"} , + { 0x100294C9, "ATI Radeon 2400 Series"} , + { 0x10029501, "ATI Radeon 3800 Series"} , + { 0x10029505, "ATI Radeon 3800 Series"} , + { 0x10029515, "ATI Radeon 3800 Series"} , + { 0x10029507, "ATI Radeon 3800 Series"} , + { 0x10029500, "ATI Radeon 3800 Series"} , + { 0x1002950F, "ATI Radeon 3800X2 Series"} , + { 0x100295C5, "ATI Radeon 3400 Series"} , + { 0x100295C7, "ATI Radeon 3400 Series"} , + { 0x100295C0, "ATI Radeon 3400 Series"} , + { 0x10029596, "ATI Radeon 3600 Series"} , + { 0x10029590, "ATI Radeon 3600 Series"} , + { 0x10029599, "ATI Radeon 3600 Series"} , + { 0x10029597, "ATI Radeon 3600 Series"} , + { 0x10029598, "ATI Radeon 3600 Series"} , + { 0x10029442, "ATI Radeon 4850 Series"} , + { 0x10029440, "ATI Radeon 4870 Series"} , + { 0x1002944C, "ATI Radeon 4830 Series"} , + { 0x10029460, "ATI Radeon 4890 Series"} , + { 0x10029462, "ATI Radeon 4890 Series"} , + { 0x10029441, "ATI Radeon 4870X2 Series"} , + { 0x10029443, "ATI Radeon 4850X2 Series"} , + { 0x10029444, "ATI Radeon 4800 Series"} , + { 0x10029446, "ATI Radeon 4800 Series"} , + { 0x1002944E, "ATI Radeon 4730 Series"} , + { 0x10029450, "ATI Radeon 4800 Series"} , + { 0x10029452, "ATI Radeon 4800 Series"} , + { 0x10029456, "ATI Radeon 4800 Series"} , + { 0x1002944A, "ATI Radeon 4800 Mobility Series"} , + { 0x1002945A, "ATI Radeon 4800 Mobility Series"} , + { 0x1002945B, "ATI Radeon 4800 Mobility Series"} , + { 0x1002944B, "ATI Radeon 4800 Mobility Series"} , + { 0x10029490, "ATI Radeon 4600 Series"} , + { 0x10029498, "ATI Radeon 4600 Series"} , + { 0x1002949E, "ATI Radeon 4600 Series"} , + { 0x10029480, "ATI Radeon 4600 Series"} , + { 0x10029488, "ATI Radeon 4600 Series"} , + { 0x10029540, "ATI Radeon 4500 Series"} , + { 0x10029541, "ATI Radeon 4500 Series"} , + { 0x1002954E, "ATI Radeon 4500 Series"} , + { 0x10029552, "ATI Radeon 4300 Mobility Series"} , + { 0x10029553, "ATI Radeon 4500 Mobility Series"} , + { 0x1002954F, "ATI Radeon 4300 Series"}, +}; + +static struct ati_chipsets_t ATIKnownFramebuffers[] = { + { 0x00000000, "Megalodon" }, + { 0x10029589, "Lamna"} , + { 0x10029588, "Lamna"} , + { 0x100294C3, "Iago"} , + { 0x100294C4, "Iago"} , + { 0x100294C6, "Iago"} , + { 0x10029400, "Franklin"} , + { 0x10029405, "Franklin"} , + { 0x10029581, "Hypoprion"} , + { 0x10029583, "Hypoprion"} , + { 0x10029586, "Hypoprion"} , + { 0x10029587, "Hypoprion"} , + { 0x100294C9, "Iago"} , + { 0x10029501, "Megalodon"} , + { 0x10029505, "Megalodon"} , + { 0x10029515, "Megalodon"} , + { 0x10029507, "Megalodon"} , + { 0x10029500, "Megalodon"} , + { 0x1002950F, "Triakis"} , + { 0x100295C5, "Iago"} , + { 0x100295C7, "Iago"} , + { 0x100295C0, "Iago"} , + { 0x10029596, "Megalodon"} , + { 0x10029590, "Megalodon"} , + { 0x10029599, "Megalodon"} , + { 0x10029597, "Megalodon"} , + { 0x10029598, "Megalodon"} , + { 0x10029442, "Motmot"} , + { 0x10029440, "Motmot"} , + { 0x1002944C, "Motmot"} , + { 0x10029460, "Motmot"} , + { 0x10029462, "Motmot"} , + { 0x10029441, "Motmot"} , + { 0x10029443, "Motmot"} , + { 0x10029444, "Motmot"} , + { 0x10029446, "Motmot"} , + { 0x1002944E, "Motmot"} , + { 0x10029450, "Motmot"} , + { 0x10029452, "Motmot"} , + { 0x10029456, "Motmot"} , + { 0x1002944A, "Motmot"} , + { 0x1002945A, "Motmot"} , + { 0x1002945B, "Motmot"} , + { 0x1002944B, "Motmot"} , + { 0x10029490, "Motmot"} , + { 0x10029498, "Motmot"} , + { 0x1002949E, "Motmot"} , + { 0x10029480, "Motmot"} , + { 0x10029488, "Motmot"} , + { 0x10029540, "Motmot"} , + { 0x10029541, "Motmot"} , + { 0x1002954E, "Motmot"} , + { 0x10029552, "Motmot"} , + { 0x10029553, "Motmot"} , + { 0x1002954F, "Motmot"} , +}; + +unsigned int accessROM(pci_dt_t *ati_dev, unsigned int mode) +{ + uint32_t bar[7]; + volatile uint8_t *regs; + + bar[2] = pci_config_read32(ati_dev->dev.addr, 0x18 ); + regs = (uint8_t *) (bar[2] & ~0x0f); + +if(mode) +{ + if(mode != 1) return 0xe00002c7; + REG32W(0x179c, 0x00080000); + REG32W(0x1798, 0x00080721); + REG32W(0x17a0, 0x00080621); + REG32W(0x1600, 0x14030300); + REG32W(0x1798, 0x21); + REG32W(0x17a0, 0x21); + REG32W(0x179c, 0x00); + REG32W(0x17a0, 0x21); + REG32W(0x1798, 0x21); + REG32W(0x1798, 0x21); +} else { + REG32W(0x1600, 0x14030302); + REG32W(0x1798, 0x21); + REG32W(0x17a0, 0x21); + REG32W(0x179c, 0x00080000); + REG32W(0x17a0, 0x00080621); + REG32W(0x1798, 0x00080721); + REG32W(0x1798, 0x21); + REG32W(0x17a0, 0x21); + REG32W(0x179c, 0x00); + REG32W(0x1604, 0x0400e9fc); + REG32W(0x161c, 0x00); + REG32W(0x1620, 0x9f); + REG32W(0x1618, 0x00040004); + REG32W(0x161c, 0x00); + REG32W(0x1604, 0xe9fc); + REG32W(0x179c, 0x00080000); + REG32W(0x1798, 0x00080721); + REG32W(0x17a0, 0x00080621); + REG32W(0x1798, 0x21); + REG32W(0x17a0, 0x21); + REG32W(0x179c, 0x00); +} +return 0; +} + +unsigned char * readAtomBIOS(pci_dt_t *ati_dev) +{ + uint32_t bar[7]; + unsigned int * BIOSBase = NULL; + unsigned int counter; + volatile uint8_t *regs; + + bar[2] = pci_config_read32(ati_dev->dev.addr, 0x18 ); + regs = (uint8_t *) (bar[2] & ~0x0f); + accessROM(ati_dev, 0); + REG32W(0xa8, 0); + REG32R(0xac); + REG32W(0xa8, 0); + REG32R(0xac); + + BIOSBase = malloc(0x10000); + if(BIOSBase) + { + REG32W(0xa8, 0); + BIOSBase[0] = REG32R(0xac); + counter = 4; + do + { + REG32W(0xa8, counter); + BIOSBase[counter/4] = REG32R(0xac); + counter +=4; + } + while(counter != 0x10000); + } + accessROM((pci_dt_t *)regs, 1); + + if ((* (UInt16 *)BIOSBase) != 0xAA55) { + printf("Wrong BIOS signature: %04x\n", (* (UInt16 *)BIOSBase)); + return 0; + } + return (unsigned char *)BIOSBase; +} + +#define R5XX_CONFIG_MEMSIZE 0x00F8 +#define R6XX_CONFIG_MEMSIZE 0x5428 + +uint32_t getvramsizekb(pci_dt_t *ati_dev) +{ + uint32_t bar[7]; + volatile uint8_t *regs; + uint32_t RamSize = 0; + + bar[2] = pci_config_read32(ati_dev->dev.addr, 0x18 ); + regs = (uint8_t *) (bar[2] & ~0x0f); + if (ati_dev->device_id < 0x9400) + RamSize = (REG32R(R5XX_CONFIG_MEMSIZE)) >> 10; + else + RamSize = (REG32R(R6XX_CONFIG_MEMSIZE)) >> 10; + + return RamSize; +} + +#define AVIVO_D1CRTC_CONTROL 0x6080 +#define AVIVO_CRTC_EN (1<<0) +#define AVIVO_D2CRTC_CONTROL 0x6880 + +bool +radeon_card_posted(pci_dt_t *ati_dev) +{ + // if devid matches biosimage(from legacy) devid - posted card, fails with X2/crossfire cards. +/* char *biosimage = 0xC0000; + + if ((uint8_t)biosimage[0] == 0x55 && (uint8_t)biosimage[1] == 0xaa) + { + struct pci_rom_pci_header_t *rom_pci_header; + rom_pci_header = (struct pci_rom_pci_header_t*)(biosimage + (uint8_t)biosimage[24] + (uint8_t)biosimage[25]*256); + + if (rom_pci_header->signature == 0x52494350) + { + if (rom_pci_header->device == ati_dev->device_id) + { + return TRUE; + printf("Card was POSTed\n"); + } + } + } + return FALSE; + printf("Card was not POSTed\n"); + */ + //fails yet + uint32_t bar[7]; + volatile uint8_t *regs; + + bar[2] = pci_config_read32(ati_dev->dev.addr, 0x18 ); + regs = (uint8_t *) (bar[2] & ~0x0f); + + uint32_t val; + + val = REG32R(AVIVO_D1CRTC_CONTROL) | REG32R(AVIVO_D2CRTC_CONTROL); + if (val & AVIVO_CRTC_EN) + return TRUE; + + return FALSE; + +} + +uint32_t load_ati_bios_file(char *filename, char *buffer) +{ + int fd, size; + char dirspec[128]; + + // Check Extra on booting partition + sprintf(dirspec, "/Extra/%s", filename); + fd = open(dirspec, 0); + if (fd < 0) + { + // Fall back to booter partition + sprintf(dirspec, "bt(0,0)/Extra/%s", filename); + fd=open (dirspec, 0); + if (fd < 0) + return 0; + } + + size = read(fd, buffer, file_size (fd)); + close (fd); + return size; +} + +char *get_ati_model(uint32_t id) { + int i=0; + for(i = 0; i < (sizeof(ATIKnownChipsets) / sizeof(ATIKnownChipsets[0])); i++) { + if(ATIKnownChipsets[i].device == id) + return ATIKnownChipsets[i].name; + } + return ATIKnownChipsets[0].name; +} + +char *get_ati_fb(uint32_t id) { + int i=0; + for(i = 0; i < (sizeof(ATIKnownFramebuffers) / sizeof(ATIKnownFramebuffers[0])); i++) { + if(ATIKnownFramebuffers[i].device == id) + return ATIKnownFramebuffers[i].name; + } + return ATIKnownFramebuffers[0].name; +} + +int devprop_add_iopciconfigspace(struct DevPropDevice *device, pci_dt_t *ati_dev) +{ + if(!device) + return 0; + if(!ati_dev) + return 0; + printf("dumping pci config space, 256 bytes\n"); + int i; + uint8_t *config_space; + config_space = malloc(256); + for(i=0; i<=255; i++) + config_space[i] = pci_config_read8( ati_dev->dev.addr, i); + devprop_add_value(device, "ATY,PCIConfigSpace", config_space, 256); + free(config_space); + return 1; +} + +int devprop_add_ati_template_4xxx(struct DevPropDevice *device) +{ + if(!device) + return 0; + +// if(!DP_ADD_TEMP_VAL(device, ati_compatible_0)) +// return 0; +// if(!DP_ADD_TEMP_VAL(device, ati_compatible_1)) +// return 0; + if(!DP_ADD_TEMP_VAL(device, ati_device_type_0)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_device_type_1)) + return 0; +// if(!DP_ADD_TEMP_VAL(device, ati_device_type)) +// return 0; +// if(!DP_ADD_TEMP_VAL(device, ati_name_0)) +// return 0; +// if(!DP_ADD_TEMP_VAL(device, ati_name_1)) +// return 0; +// if(!DP_ADD_TEMP_VAL(device, ati_name)) +// return 0; + if(!DP_ADD_TEMP_VAL(device, ati_efidisplay_0)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_display_type_0)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_display_type_1)) + return 0; +// if(!DP_ADD_TEMP_VAL(device, ati_slot_name)) +// return 0; + if(!DP_ADD_TEMP_VAL(device, ati_card_no)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_copyright)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_efi_compile_d)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_efi_version)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_efi_versionB)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_efi_versionE)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_mrt)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_romno)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_name_1)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_connector_type_0)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_connector_type_1)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_display_con_fl_type_0)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_aux_power_conn)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_backlight_ctrl)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_aapl01_coher)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_efi_disp_conf)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_efi_drv_type)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_efi_enbl_mode)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_efi_init_stat)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_efi_orientation)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_mclk)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_mem_rev_id)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_mem_vend_id)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_sclk)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_vendor_id)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_platform_info)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_mvad)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_saved_config)) + return 0; + return 1; +} + +int devprop_add_ati_template(struct DevPropDevice *device) +{ + if(!device) + return 0; + + if(!DP_ADD_TEMP_VAL_DATA(device, ati_platform_info)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_device_type_0)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_device_type_1)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_efidisplay_0_n4)) + return 0; +// if(!DP_ADD_TEMP_VAL(device, ati_slot_name_n4)) +// return 0; + if(!DP_ADD_TEMP_VAL(device, ati_card_no)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_copyright)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_efi_compile_d)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_efi_version)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_efi_versionB)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_efi_versionE)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_mrt)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_romno)) + return 0; + if(!DP_ADD_TEMP_VAL(device, ati_name_1)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_connector_type_0_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_connector_type_1_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_aux_power_conn)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_backlight_ctrl)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_aapl01_coher)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_efi_drv_type)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_efi_enbl_mode)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_mem_rev_id)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_mem_vend_id)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_vendor_id)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_aapl_emc_disp_list_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_fb_offset_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_hwgpio_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_iospace_offset_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_mclk_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_sclk_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_refclk_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_regspace_offset_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_efi_orientation_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_aapl_blackscr_prefs_0_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_aapl_blackscr_prefs_1_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_swgpio_info_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_efi_orientation_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_mvad_n4)) + return 0; + if(!DP_ADD_TEMP_VAL_DATA(device, ati_saved_config_n4)) + return 0; + return 1; +} + + +bool setup_ati_devprop(pci_dt_t *ati_dev) +{ +// int len; + char *devicepath; +// volatile uint8_t *regs; +// uint32_t bar[7]; + + char *model; + char *framebuffer; + char tmpString[64]; + char *rom=0; + uint32_t rom_size=0; + char *biosimage = 0; + uint32_t biosimage_size = 0; + uint8_t toFree = 0; + char romfilename[32]; + const char *val; + int len1; + uint32_t vram_size=0; + uint8_t cmd=0; + + devicepath = get_pci_dev_path(ati_dev); + + cmd = pci_config_read8( ati_dev->dev.addr, 4); + verbose("old pci command - %x\n", cmd); + if( cmd == 0) { + pci_config_write8(ati_dev->dev.addr, 4, 6); + cmd = pci_config_read8( ati_dev->dev.addr, 4); + verbose("new pci command - %x\n", cmd); + }; + + model = get_ati_model((ati_dev->vendor_id << 16) | ati_dev->device_id); + + framebuffer = get_ati_fb((ati_dev->vendor_id << 16) | ati_dev->device_id); + if (!string) + string = devprop_create_string(); + + struct DevPropDevice *device = malloc(sizeof(struct DevPropDevice)); + device = devprop_add_device(string, devicepath); + + if(!device) + { + printf("Failed initializing dev-prop string dev-entry, press any key...\n"); + getc(); + return false; + } + + /* FIXME: for primary graphics card only */ + uint32_t boot_display = 0x00000001; + if(radeon_card_posted(ati_dev)) boot_display=0x01; + else boot_display=0x00; + verbose("boot display - %x\n", boot_display); + devprop_add_value(device, "@0,AAPL,boot-display", (uint8_t*)&boot_display, 4); + + if(framebuffer[0] == 'M' && framebuffer[1] == 'o' && framebuffer[2] == 't') //faster than strcmp ;) + devprop_add_ati_template_4xxx(device); + else + { + devprop_add_ati_template(device); + vram_size = getvramsizekb(ati_dev) * 1024; + if ((vram_size > 0x80000000) || (vram_size == 0)) vram_size = 0x10000000; //vram reported wrong, defaulting to 256 mb + devprop_add_value(device, "VRAM,totalsize", (uint8_t*)&vram_size, 4); + ati_vram_memsize_0.data[6] = (vram_size >> 16) & 0xFF; //4,5 are 0x00 anyway + ati_vram_memsize_0.data[7] = (vram_size >> 24) & 0xFF; + ati_vram_memsize_1.data[6] = (vram_size >> 16) & 0xFF; //4,5 are 0x00 anyway + ati_vram_memsize_1.data[7] = (vram_size >> 24) & 0xFF; + DP_ADD_TEMP_VAL_DATA(device, ati_vram_memsize_0); + DP_ADD_TEMP_VAL_DATA(device, ati_vram_memsize_1); + devprop_add_iopciconfigspace(device, ati_dev); + } + devprop_add_value(device, "model", (uint8_t*)model, (strlen(model) + 1)); + devprop_add_value(device, "ATY,DeviceID", (uint8_t*)&ati_dev->device_id, 2); + //fb setup + + char tmp[10]; + + sprintf(tmp, "Slot-%x",devices_number); + devprop_add_value(device, "AAPL,slot-name", (uint8_t*)tmp, strlen(tmp)); + devices_number++; + + sprintf(tmpString, ati_compatible_0[1], framebuffer); + devprop_add_value(device, (char *) ati_compatible_0[0], (uint8_t *)tmpString, strlen(tmpString)+1); + + sprintf(tmpString, ati_compatible_1[1], framebuffer); + devprop_add_value(device, (char *) ati_compatible_1[0], (uint8_t *)tmpString, strlen(tmpString)+1); + + sprintf(tmpString, ati_device_type[1], framebuffer); + devprop_add_value(device, (char *) ati_device_type[0], (uint8_t *)tmpString, strlen(tmpString)+1); + + sprintf(tmpString, ati_name[1], framebuffer); + devprop_add_value(device, (char *) ati_name[0], (uint8_t *)tmpString, strlen(tmpString)+1); + + sprintf(tmpString, ati_name_0[1], framebuffer); + devprop_add_value(device, (char *) ati_name_0[0], (uint8_t *)tmpString, strlen(tmpString)+1); + + sprintf(tmpString, ati_name_1[1], framebuffer); + devprop_add_value(device, (char *) ati_name_1[0], (uint8_t *)tmpString, strlen(tmpString)+1); + //code for loading bios from file, in form - rom_devid_vendif.rom + if (getValueForKey("-useatirom", &val, &len1, &bootInfo->bootConfig)) + { + sprintf(romfilename, "ati_%04x_%04x.rom", (uint16_t)ati_dev->device_id, (uint16_t)ati_dev->vendor_id); + verbose("looking for file /Extra/%s\n", romfilename); + rom = malloc(0x20000); + rom_size = load_ati_bios_file((char *)romfilename, (char *)rom); + if(rom_size > 0x10000) rom_size = 0x10000; //we dont need rest anyway; + if(rom_size == 0) printf("file not found\n"); + }; + { + if(rom_size == 0) + { + if(boot_display) // no custom rom + biosimage = 0; //try to dump from legacy space, otherwise can result in 100% fan speed + else + biosimage = (char *)readAtomBIOS(ati_dev); //readAtomBios result in bug on some cards (100% fan speed and black screen), + //not using it for posted card, rading from legacy space instead + } else { + biosimage = rom; //going custom rom way + verbose("Using rom %s\n", romfilename); + } + if(biosimage == 0) + { + biosimage = (char *)0xC0000; + toFree = 0; + verbose("Not going to use bios image file\n"); + } else toFree = 1; + + if ((uint8_t)biosimage[0] == 0x55 && (uint8_t)biosimage[1] == 0xaa) + { + printf("Found bios image\n"); + biosimage_size = (uint8_t)biosimage[2] * 512; + + struct pci_rom_pci_header_t *rom_pci_header; + rom_pci_header = (struct pci_rom_pci_header_t*)(biosimage + (uint8_t)biosimage[24] + (uint8_t)biosimage[25]*256); + + if (rom_pci_header->signature == 0x52494350) + { + if (rom_pci_header->device != ati_dev->device_id) + { + verbose("Bios image (%x) doesnt match card (%x), ignoring\n", rom_pci_header->device, ati_dev->device_id); + } else { + if(toFree) + verbose("Adding binimage to card %x from mmio space with size %x\n", ati_dev->device_id, biosimage_size); + else + verbose("Adding binimage to card %x from legacy space with size %x\n", ati_dev->device_id, biosimage_size); + devprop_add_value(device, "ATY,bin_image", (uint8_t*) biosimage, biosimage_size); + } + } else verbose("Wrong pci header signature %x\n", rom_pci_header->signature); + + } else verbose("Bios image not found at %x, content %x %x\n", biosimage, (uint8_t)biosimage[0], (uint8_t)biosimage[1]); + if(toFree) free(biosimage); + } + stringdata = malloc(sizeof(uint8_t) * string->length); + if(!stringdata) + { + printf("no stringdata press a key...\n"); + getc(); + return false; + } + + memcpy(stringdata, (uint8_t*)devprop_generate_string(string), string->length); + stringlength = string->length; + + return true; +} Property changes on: branches/prasys/i386/libsaio/ati.c ___________________________________________________________________ Added: svn:executable + * Index: branches/prasys/i386/libsaio/sys.c =================================================================== --- branches/prasys/i386/libsaio/sys.c (revision 0) +++ branches/prasys/i386/libsaio/sys.c (revision 24) @@ -0,0 +1,956 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Mach Operating System + * Copyright (c) 1990 Carnegie-Mellon University + * Copyright (c) 1989 Carnegie-Mellon University + * Copyright (c) 1988 Carnegie-Mellon University + * Copyright (c) 1987 Carnegie-Mellon University + * All rights reserved. The CMU software License Agreement specifies + * the terms and conditions for use and redistribution. + * + */ +/* + * HISTORY + * Revision 2.3 88/08/08 13:47:07 rvb + * Allocate buffers dynamically vs statically. + * Now b[i] and i_fs and i_buf, are allocated dynamically. + * boot_calloc(size) allocates and zeros a buffer rounded to a NPG + * boundary. + * Generalize boot spec to allow, xx()/mach, xx(n,[a..h])/mach, + * xx([a..h])/mach, ... + * Also default "xx" if unspecified and alloc just "/mach", + * where everything is defaulted + * Add routine, ptol(), to parse partition letters. + * + */ + +/* + * Copyright (c) 1982, 1986 Regents of the University of California. + * All rights reserved. The Berkeley software License Agreement + * specifies the terms and conditions for redistribution. + * + * @(#)sys.c 7.1 (Berkeley) 6/5/86 + */ + +/* Copyright 2007 VMware Inc. + "Preboot" ramdisk support added by David Elliott + */ + +#include + +#include "libsaio.h" +#include "bootstruct.h" +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 +# include +#else +# include +#endif +#include +#if 0 /* No OS X release has ever included this. */ +#include +#else +/* copied from uuid/namespace.h, just like BootX's fs.c does. */ +UUID_DEFINE( kFSUUIDNamespaceSHA1, 0xB3, 0xE2, 0x0F, 0x39, 0xF2, 0x92, 0x11, 0xD6, 0x97, 0xA4, 0x00, 0x30, 0x65, 0x43, 0xEC, 0xAC ); +#endif + +extern int multiboot_partition; +extern int multiboot_partition_set; + +struct devsw { + const char * name; + // size increased from char to short to handle non-BIOS internal devices + unsigned short biosdev; + int type; +}; + +static struct devsw devsw[] = +{ + { "sd", 0x80, kBIOSDevTypeHardDrive }, /* DEV_SD */ + { "hd", 0x80, kBIOSDevTypeHardDrive }, /* DEV_HD */ + { "fd", 0x00, kBIOSDevTypeFloppy }, /* DEV_FD */ + { "en", 0xE0, kBIOSDevTypeNetwork }, /* DEV_EN */ + { "rd", 0x100, kBIOSDevTypeHardDrive }, + { "bt", 0x101, kBIOSDevTypeHardDrive }, // turbo - type for booter partition + { 0, 0 } +}; + +/* + * Max number of file descriptors. + */ +#define NFILES 6 + +static struct iob iob[NFILES]; + +void * gFSLoadAddress = 0; + +// Turbo - save what we think is our original BIOS boot volume if we have one 0xab +BVRef gBIOSBootVolume = NULL; +BVRef gBootVolume; + +// zef - ramdisk variables +extern BVRef gRAMDiskVolume; +extern BOOL gRAMDiskBTAliased; + +//static BVRef getBootVolumeRef( const char * path, const char ** outPath ); +static BVRef newBootVolumeRef( int biosdev, int partno ); + +//========================================================================== +// LoadVolumeFile - LOW-LEVEL FILESYSTEM FUNCTION. +// Load the specified file from the specified volume +// to the load buffer at LOAD_ADDR. +// If the file is fat, load only the i386 portion. + +long LoadVolumeFile(BVRef bvr, const char *filePath) +{ + long fileSize; + + // Read file into load buffer. The data in the load buffer will be + // overwritten by the next LoadFile() call. + + gFSLoadAddress = (void *) LOAD_ADDR; + + fileSize = bvr->fs_loadfile(bvr, (char *)filePath); + + // Return the size of the file, or -1 if load failed. + + return fileSize; +} + +//========================================================================== +// LoadFile - LOW-LEVEL FILESYSTEM FUNCTION. +// Load the specified file to the load buffer at LOAD_ADDR. +// If the file is fat, load only the i386 portion. + +long LoadFile(const char * fileSpec) +{ + const char * filePath; + BVRef bvr; + + // Resolve the boot volume from the file spec. + + if ((bvr = getBootVolumeRef(fileSpec, &filePath)) == NULL) + return -1; + + return LoadVolumeFile(bvr, filePath); +} + +long ReadFileAtOffset(const char * fileSpec, void *buffer, uint64_t offset, uint64_t length) +{ + const char *filePath; + BVRef bvr; + + if ((bvr = getBootVolumeRef(fileSpec, &filePath)) == NULL) + return -1; + + if (bvr->fs_readfile == NULL) + return -1; + + return bvr->fs_readfile(bvr, (char *)filePath, buffer, offset, length); +} + +long LoadThinFatFile(const char *fileSpec, void **binary) +{ + const char *filePath; + FSReadFile readFile; + BVRef bvr; + unsigned long length, length2; + + // Resolve the boot volume from the file spec. + + if ((bvr = getBootVolumeRef(fileSpec, &filePath)) == NULL) + return -1; + + *binary = (void *)kLoadAddr; + + // Read file into load buffer. The data in the load buffer will be + // overwritten by the next LoadFile() call. + + gFSLoadAddress = (void *) LOAD_ADDR; + + readFile = bvr->fs_readfile; + + if (readFile != NULL) { + // Read the first 4096 bytes (fat header) + length = readFile(bvr, (char *)filePath, *binary, 0, 0x1000); + if (length > 0) { + if (ThinFatFile(binary, &length) == 0) { + if (length == 0) + return 0; + // We found a fat binary; read only the thin part + length = readFile(bvr, (char *)filePath, + (void *)kLoadAddr, (unsigned long)(*binary) - kLoadAddr, length); + *binary = (void *)kLoadAddr; + } else { + // Not a fat binary; read the rest of the file + length2 = readFile(bvr, (char *)filePath, (void *)(kLoadAddr + length), length, 0); + if (length2 == -1) return -1; + length += length2; + } + } + } else { + length = bvr->fs_loadfile(bvr, (char *)filePath); + if (length > 0) { + ThinFatFile(binary, &length); + } + } + + return length; +} + +#if UNUSED +long GetFSUUID(char *spec, char *uuidStr) +{ + BVRef bvr; + long rval = -1; + const char *devSpec; + + if ((bvr = getBootVolumeRef(spec, &devSpec)) == NULL) + return -1; + + if(bvr->fs_getuuid) + rval = bvr->fs_getuuid(bvr, uuidStr); + + return rval; +} +#endif + +// filesystem-specific getUUID functions call this shared string generator +long CreateUUIDString(uint8_t uubytes[], int nbytes, char *uuidStr) +{ + unsigned fmtbase, fmtidx, i; + uint8_t uuidfmt[] = { 4, 2, 2, 2, 6 }; + char *p = uuidStr; + MD5_CTX md5c; + uint8_t mdresult[16]; + + bzero(mdresult, sizeof(mdresult)); + + // just like AppleFileSystemDriver + MD5Init(&md5c); + MD5Update(&md5c, kFSUUIDNamespaceSHA1, sizeof(kFSUUIDNamespaceSHA1)); + MD5Update(&md5c, uubytes, nbytes); + MD5Final(mdresult, &md5c); + + // this UUID has been made version 3 style (i.e. via namespace) + // see "-uuid-urn-" IETF draft (which otherwise copies byte for byte) + mdresult[6] = 0x30 | ( mdresult[6] & 0x0F ); + mdresult[8] = 0x80 | ( mdresult[8] & 0x3F ); + + + // generate the text: e.g. 5EB1869F-C4FA-3502-BDEB-3B8ED5D87292 + i = 0; fmtbase = 0; + for(fmtidx = 0; fmtidx < sizeof(uuidfmt); fmtidx++) { + for(i=0; i < uuidfmt[fmtidx]; i++) { + uint8_t byte = mdresult[fmtbase+i]; + char nib; + + nib = byte >> 4; + *p = nib + '0'; // 0x4 -> '4' + if(*p > '9') *p = (nib - 9 + ('A'-1)); // 0xB -> 'B' + p++; + + nib = byte & 0xf; + *p = nib + '0'; // 0x4 -> '4' + if(*p > '9') *p = (nib - 9 + ('A'-1)); // 0xB -> 'B' + p++; + + } + fmtbase += i; + if(fmtidx < sizeof(uuidfmt)-1) + *(p++) = '-'; + else + *p = '\0'; + } + + return 0; +} + + +//========================================================================== +// GetDirEntry - LOW-LEVEL FILESYSTEM FUNCTION. +// Fetch the next directory entry for the given directory. + +long GetDirEntry(const char * dirSpec, long * dirIndex, const char ** name, + long * flags, long * time) +{ + const char * dirPath; + BVRef bvr; + + // Resolve the boot volume from the dir spec. + + if ((bvr = getBootVolumeRef(dirSpec, &dirPath)) == NULL) + return -1; + + // Return 0 on success, or -1 if there are no additional entries. + + return bvr->fs_getdirentry( bvr, + /* dirPath */ (char *)dirPath, + /* dirIndex */ dirIndex, + /* dirEntry */ (char **)name, flags, time, 0, 0 ); +} + +//========================================================================== +// GetFileInfo - LOW-LEVEL FILESYSTEM FUNCTION. +// Get attributes for the specified file. + +static char* gMakeDirSpec; + +long GetFileInfo(const char * dirSpec, const char * name, + long * flags, long * time) +{ + long index = 0; + const char * entryName; + + if (gMakeDirSpec == 0) + gMakeDirSpec = (char *)malloc(1024); + + if (!dirSpec) { + long idx, len; + + len = strlen(name); + + for (idx = len; idx && (name[idx] != '/' && name[idx] != '\\'); idx--) {} + if (idx == 0) { + gMakeDirSpec[0] = '/'; + gMakeDirSpec[1] = '\0'; + } else { + idx++; + strncpy(gMakeDirSpec, name, idx); + name += idx; + } + dirSpec = gMakeDirSpec; + } + + while (GetDirEntry(dirSpec, &index, &entryName, flags, time) == 0) + { + if (strcmp(entryName, name) == 0) + return 0; // success + } + return -1; // file not found +} + +long GetFileBlock(const char *fileSpec, unsigned long long *firstBlock) +{ + const char * filePath; + BVRef bvr; + + // Resolve the boot volume from the file spec. + + if ((bvr = getBootVolumeRef(fileSpec, &filePath)) == NULL) { + printf("Boot volume for '%s' is bogus\n", fileSpec); + return -1; + } + + return bvr->fs_getfileblock(bvr, (char *)filePath, firstBlock); +} + +//========================================================================== +// iob_from_fdesc() +// +// Return a pointer to an allocated 'iob' based on the file descriptor +// provided. Returns NULL if the file descriptor given is invalid. + +static struct iob * iob_from_fdesc(int fdesc) +{ + register struct iob * io; + + if (fdesc < 0 || fdesc >= NFILES || + ((io = &iob[fdesc])->i_flgs & F_ALLOC) == 0) + return NULL; + else + return io; +} + +#if UNUSED +//========================================================================== +// openmem() + +int openmem(char * buf, int len) +{ + int fdesc; + struct iob * io; + + // Locate a free descriptor slot. + + for (fdesc = 0; fdesc < NFILES; fdesc++) + if (iob[fdesc].i_flgs == 0) + goto gotfile; + + stop("Out of file descriptors"); + +gotfile: + io = &iob[fdesc]; + bzero(io, sizeof(*io)); + + // Mark the descriptor as taken. Set the F_MEM flag to indicate + // that the file buffer is provided by the caller. + + io->i_flgs = F_ALLOC | F_MEM; + io->i_buf = buf; + io->i_filesize = len; + + return fdesc; +} +#endif + +//========================================================================== +// open() - Open the file specified by 'path' for reading. + +int open(const char * path, int flags) +{ + int fdesc, i; + struct iob * io; + const char * filePath; + BVRef bvr; + + // Locate a free descriptor slot. + + for (fdesc = 0; fdesc < NFILES; fdesc++) + if (iob[fdesc].i_flgs == 0) + goto gotfile; + + stop("Out of file descriptors"); + +gotfile: + io = &iob[fdesc]; + bzero(io, sizeof(*io)); + + // Mark the descriptor as taken. + + io->i_flgs = F_ALLOC; + + // Resolve the boot volume from the file spec. + + if ((bvr = getBootVolumeRef(path, &filePath)) == NULL) + goto error; + + // Find the next available memory block in the download buffer. + + io->i_buf = (char *) LOAD_ADDR; + for (i = 0; i < NFILES; i++) + { + if ((iob[i].i_flgs != F_ALLOC) || (i == fdesc)) continue; + io->i_buf = max(iob[i].i_filesize + iob[i].i_buf, io->i_buf); + } + + // Load entire file into memory. Unnecessary open() calls must + // be avoided. + + gFSLoadAddress = io->i_buf; + io->i_filesize = bvr->fs_loadfile(bvr, (char *)filePath); + if (io->i_filesize < 0) { + goto error; + } + + return fdesc; + +error: + close(fdesc); + return -1; +} + +//========================================================================== +// close() - Close a file descriptor. + +int close(int fdesc) +{ + struct iob * io; + + if ((io = iob_from_fdesc(fdesc)) == NULL) + return (-1); + + io->i_flgs = 0; + + return 0; +} + +//========================================================================== +// lseek() - Reposition the byte offset of the file descriptor from the +// beginning of the file. Returns the relocated offset. + +int b_lseek(int fdesc, int offset, int ptr) +{ + struct iob * io; + + if ((io = iob_from_fdesc(fdesc)) == NULL) + return (-1); + + io->i_offset = offset; + + return offset; +} + +//========================================================================== +// tell() - Returns the byte offset of the file descriptor. + +int tell(int fdesc) +{ + struct iob * io; + + if ((io = iob_from_fdesc(fdesc)) == NULL) + return 0; + + return io->i_offset; +} + +//========================================================================== +// read() - Read up to 'count' bytes of data from the file descriptor +// into the buffer pointed to by buf. + +int read(int fdesc, char * buf, int count) +{ + struct iob * io; + + if ((io = iob_from_fdesc(fdesc)) == NULL) + return (-1); + + if ((io->i_offset + count) > (unsigned int)io->i_filesize) + count = io->i_filesize - io->i_offset; + + if (count <= 0) + return 0; // end of file + + bcopy(io->i_buf + io->i_offset, buf, count); + + io->i_offset += count; + + return count; +} + +//========================================================================== +// file_size() - Returns the size of the file described by the file +// descriptor. + +int file_size(int fdesc) +{ + struct iob * io; + + if ((io = iob_from_fdesc(fdesc)) == 0) + return 0; + + return io->i_filesize; +} + +//========================================================================== + +struct dirstuff * vol_opendir(BVRef bvr, const char * path) +{ + struct dirstuff * dirp = 0; + + dirp = (struct dirstuff *) malloc(sizeof(struct dirstuff)); + if (dirp == NULL) + goto error; + + dirp->dir_path = newString(path); + if (dirp->dir_path == NULL) + goto error; + + dirp->dir_bvr = bvr; + + return dirp; + +error: + closedir(dirp); + return NULL; +} + +//========================================================================== + +struct dirstuff * opendir(const char * path) +{ + struct dirstuff * dirp = 0; + const char * dirPath; + BVRef bvr; + + if ((bvr = getBootVolumeRef(path, &dirPath)) == NULL) + goto error; + + dirp = (struct dirstuff *) malloc(sizeof(struct dirstuff)); + if (dirp == NULL) + goto error; + + dirp->dir_path = newString(dirPath); + if (dirp->dir_path == NULL) + goto error; + + dirp->dir_bvr = bvr; + + return dirp; + +error: + closedir(dirp); + return NULL; +} + +//========================================================================== + +int closedir(struct dirstuff * dirp) +{ + if (dirp) { + if (dirp->dir_path) free(dirp->dir_path); + free(dirp); + } + return 0; +} + +//========================================================================== + +int readdir(struct dirstuff * dirp, const char ** name, long * flags, + long * time) +{ + return dirp->dir_bvr->fs_getdirentry( dirp->dir_bvr, + /* dirPath */ dirp->dir_path, + /* dirIndex */ &dirp->dir_index, + /* dirEntry */ (char **)name, flags, time, + 0, 0); +} + +//========================================================================== + +int readdir_ext(struct dirstuff * dirp, const char ** name, long * flags, + long * time, FinderInfo *finderInfo, long *infoValid) +{ + return dirp->dir_bvr->fs_getdirentry( dirp->dir_bvr, + /* dirPath */ dirp->dir_path, + /* dirIndex */ &dirp->dir_index, + /* dirEntry */ (char **)name, + flags, time, + finderInfo, infoValid); +} + +//========================================================================== + +const char * systemConfigDir() +{ + if (gBootFileType == kNetworkDeviceType) + return ""; + return "/Library/Preferences/SystemConfiguration"; +} + +//========================================================================== + +int gBootFileType; + +void scanBootVolumes( int biosdev, int * count ) +{ + BVRef bvr = 0; + + bvr = diskScanBootVolumes(biosdev, count); + if (bvr == NULL) + { + bvr = nbpScanBootVolumes(biosdev, count); + if (bvr != NULL) + { + gBootFileType = kNetworkDeviceType; + } + } + else + { + gBootFileType = kBlockDeviceType; + } +} + +//========================================================================== + +void scanDisks(int biosdev, int *count) +{ + #define MAX_HDD_COUNT 32 + int bvCount; + int hd = 0; + + // Testing up to MAX_HDD_COUNT hard drives. + while(!testBiosread(0x80 + hd, 0) && hd < MAX_HDD_COUNT) + { + bvCount = 0; + scanBootVolumes(0x80 + hd, &bvCount); + hd++; + } + + // Also scanning CD/DVD drive. + if (biosDevIsCDROM(gBIOSDev)) + { + bvCount = 0; + scanBootVolumes(gBIOSDev, &bvCount); + } +} + +//========================================================================== + +BVRef selectBootVolume( BVRef chain ) +{ + BOOL filteredChain = FALSE; + BOOL foundPrimary = FALSE; + BVRef bvr, bvr1 = 0, bvr2 = 0; + + if (chain->filtered) filteredChain = TRUE; + + if (multiboot_partition_set) + for ( bvr = chain; bvr; bvr = bvr->next ) + if ( bvr->part_no == multiboot_partition && bvr->biosdev == gBIOSDev ) + return bvr; + + /* + * Checking "Default Partition" key in system configuration - use format: hd(x,y) - + * to override the default selection. + */ + const char * val; + char testStr[64]; + int cnt; + + if (getValueForKey("Default Partition", &val, &cnt, &bootInfo->bootConfig) && cnt >= 7 && filteredChain) + { + for ( bvr = chain; bvr; bvr = bvr->next ) + { + *testStr = '\0'; + if ( bvr->biosdev >= 0x80 && bvr->biosdev < 0x100 ) + { + sprintf(testStr, "hd(%d,%d)", bvr->biosdev - 0x80, bvr->part_no); + if (strcmp(testStr, val) == 0) + return bvr; + } + } + } + + /* + * Scannig the volume chain backwards and trying to find + * a HFS+ volume with valid boot record signature. + * If not found any active partition then we will + * select this volume as the boot volume. + */ + for ( bvr = chain; bvr; bvr = bvr->next ) + { + if ( bvr->flags & kBVFlagPrimary && bvr->biosdev == gBIOSDev ) foundPrimary = TRUE; + // zhell -- Undo a regression that was introduced from r491 to 492. + // if gBIOSBootVolume is set already, no change is required + if ( bvr->flags & (kBVFlagBootable|kBVFlagSystemVolume) + && gBIOSBootVolume + && (!filteredChain || (filteredChain && bvr->visible)) + && bvr->biosdev == gBIOSDev ) + bvr2 = bvr; + // zhell -- if gBIOSBootVolume is NOT set, we use the "if" statement + // from r491, + if ( bvr->flags & kBVFlagBootable + && ! gBIOSBootVolume + && bvr->biosdev == gBIOSDev ) + bvr2 = bvr; + } + + + /* + * Use the standrad method for selecting the boot volume. + */ + if (foundPrimary) + { + for ( bvr = chain; bvr; bvr = bvr->next ) + { + if ( bvr->flags & kBVFlagNativeBoot && bvr->biosdev == gBIOSDev ) bvr1 = bvr; + if ( bvr->flags & kBVFlagPrimary && bvr->biosdev == gBIOSDev ) bvr2 = bvr; + } + } + + bvr = bvr2 ? bvr2 : + bvr1 ? bvr1 : chain; + + return bvr; +} + +//========================================================================== + +#define LP '(' +#define RP ')' +int gBIOSDev; + +/*! + This is like boot2's gBootVolume except it is for the internal use of + libsaio to track which volume an unqualified path should be relative to. + This replaces bootInfo->kernDev as the carrier of this information. + */ +static BVRef gRootVolume; + +void setRootVolume(BVRef volume) +{ + gRootVolume = volume; + // Veto non-native FS. Basically that means don't allow the root volume to + // be set to a volume we can't read files from. + if(gRootVolume != NULL && ((gRootVolume->flags & kBVFlagNativeBoot) == 0)) + gRootVolume = NULL; +} + +void setBootGlobals(BVRef chain) +{ + // Record default boot device. + gBootVolume = selectBootVolume(chain); + + // turbo - Save the ORIGINAL boot volume too for loading our mkext + if (!gBIOSBootVolume) gBIOSBootVolume = gBootVolume; + + setRootVolume(gBootVolume); +} + +/*! + Extracts the volume selector from the pathname, returns the selected + BVRef, and sets *outPath to the remainder of the path. + If the path did not include a volume selector then the current volume + is used. When called with a volume selector the current volume + is changed to the selected volume unless the volume selector is + that of a ramdisk. + */ +BVRef getBootVolumeRef( const char * path, const char ** outPath ) +{ + const char * cp; + BVRef bvr = gRootVolume; + int biosdev = gBIOSDev; + + // Search for left parenthesis in the path specification. + + for (cp = path; *cp; cp++) { + if (*cp == LP || *cp == '/') break; + } + + if (*cp != LP) // no left paren found + { + // Path is using the implicit current device so if there is + // no current device, then we must fail. + cp = path; + if ( gRootVolume == NULL ) + return NULL; + } + else if ((cp - path) == 2) // found "xx(" + { + const struct devsw * dp; + const char * xp = path; + int i; + int unit = -1; + int part = -1; + + cp++; + + // Check the 2 character device name pointed by 'xp'. + + for (dp = devsw; dp->name; dp++) + { + if ((xp[0] == dp->name[0]) && (xp[1] == dp->name[1])) + break; // found matching entry + } + if (dp->name == NULL) + { + error("Unknown device '%c%c'\n", xp[0], xp[1]); + return NULL; + } + + // Extract the optional unit number from the specification. + // hd(unit) or hd(unit, part). + + i = 0; + while (*cp >= '0' && *cp <= '9') + { + i = i * 10 + *cp++ - '0'; + unit = i; + } + + // Unit is no longer optional and never really was. + // If the user failed to specify it then the unit number from the previous kernDev + // would have been used which makes little sense anyway. + // For example, if the user did fd()/foobar and the current root device was the + // second hard disk (i.e. unit 1) then fd() would select the second floppy drive! + if(unit == -1) + return NULL; + + // Extract the optional partition number from the specification. + + if (*cp == ',') + part = atoi(++cp); + + // If part is not specified part will be -1 whereas before it would have been + // whatever the last partition was which makes about zero sense if the device + // has been switched. + + // Skip past the right paren. + + for ( ; *cp && *cp != RP; cp++) /* LOOP */; + if (*cp == RP) cp++; + + biosdev = dp->biosdev + unit; + + // turbo - bt(0,0) hook + if (biosdev == 0x101) + { + // zef - use the ramdisk if available and the alias is active. + if (gRAMDiskVolume != NULL && gRAMDiskBTAliased == 1) + bvr = gRAMDiskVolume; + else + bvr = gBIOSBootVolume; + } + else + { + bvr = newBootVolumeRef(biosdev, part); + } + + if(bvr == NULL) + return NULL; + } + else + { + // Bad device specifier, skip past the right paren. + + for ( cp++; *cp && *cp != RP; cp++) /* LOOP */; + if (*cp == RP) cp++; + // If gRootVolume was NULL, then bvr will be NULL as well which + // should be caught by the caller. + } + + // Returns the file path following the device spec. + // e.g. 'hd(1,b)mach_kernel' is reduced to 'mach_kernel'. + + *outPath = cp; + + return bvr; +} + +//========================================================================== + +// Function name is a misnomer as scanBootVolumes usually calls diskScanBootVolumes +// which caches the information. So it's only allocated on the first run. +static BVRef newBootVolumeRef( int biosdev, int partno ) +{ + BVRef bvr, bvr1, bvrChain; + + // Fetch the volume list from the device. + + scanBootVolumes( biosdev, NULL ); + bvrChain = getBVChainForBIOSDev(biosdev); + + // Look for a perfect match based on device and partition number. + + for ( bvr1 = NULL, bvr = bvrChain; bvr; bvr = bvr->next ) + { + if ( ( bvr->flags & kBVFlagNativeBoot ) == 0 ) continue; + + bvr1 = bvr; + if ( bvr->part_no == partno ) break; + } + + return bvr ? bvr : bvr1; +} Index: branches/prasys/i386/libsaio/load.c =================================================================== --- branches/prasys/i386/libsaio/load.c (revision 0) +++ branches/prasys/i386/libsaio/load.c (revision 24) @@ -0,0 +1,343 @@ +/* + * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * load.c - Functions for decoding a Mach-o Kernel. + * + * Copyright (c) 1998-2003 Apple Computer, Inc. + * + */ + +#include +#include +#include + +#include + +static long DecodeSegment(long cmdBase, unsigned int*load_addr, unsigned int *load_size); +static long DecodeUnixThread(long cmdBase, unsigned int *entry); +static long DecodeSymbolTable(long cmdBase); + + +static unsigned long gBinaryAddress; +BOOL gHaveKernelCache; +cpu_type_t archCpuType=CPU_TYPE_I386; + +// Public Functions + +long ThinFatFile(void **binary, unsigned long *length) +{ + unsigned long nfat, swapped, size = 0; + struct fat_header *fhp = (struct fat_header *)*binary; + struct fat_arch *fap = + (struct fat_arch *)((unsigned long)*binary + sizeof(struct fat_header)); + cpu_type_t fapcputype; + uint32_t fapoffset; + uint32_t fapsize; + + if (fhp->magic == FAT_MAGIC) { + nfat = fhp->nfat_arch; + swapped = 0; + } else if (fhp->magic == FAT_CIGAM) { + nfat = OSSwapInt32(fhp->nfat_arch); + swapped = 1; + } else { + return -1; + } + + for (; nfat > 0; nfat--, fap++) { + if (swapped) { + fapcputype = OSSwapInt32(fap->cputype); + fapoffset = OSSwapInt32(fap->offset); + fapsize = OSSwapInt32(fap->size); + } + else + { + fapcputype = fap->cputype; + fapoffset = fap->offset; + fapsize = fap->size; + } + + if (fapcputype == archCpuType) { + *binary = (void *) ((unsigned long)*binary + fapoffset); + size = fapsize; + break; + } + } + + if (length != 0) *length = size; + + return 0; +} + +long DecodeMachO(void *binary, entry_t *rentry, char **raddr, int *rsize) +{ + struct mach_header *mH; + unsigned long ncmds, cmdBase, cmd, cmdsize, cmdstart; + // long headerBase, headerAddr, headerSize; + unsigned int vmaddr = ~0; + unsigned int vmend = 0; + unsigned long cnt; + long ret = -1; + unsigned int entry = 0; + + gBinaryAddress = (unsigned long)binary; + + mH = (struct mach_header *)(gBinaryAddress); + switch (archCpuType) + { + case CPU_TYPE_I386: + if (mH->magic != MH_MAGIC) { + error("Mach-O file has bad magic number\n"); + return -1; + } + cmdstart = (unsigned long)gBinaryAddress + sizeof(struct mach_header); + break; + case CPU_TYPE_X86_64: + if (mH->magic != MH_MAGIC_64 && mH->magic == MH_MAGIC) + return -1; + if (mH->magic != MH_MAGIC_64) { + error("Mach-O file has bad magic number\n"); + return -1; + } + cmdstart = (unsigned long)gBinaryAddress + sizeof(struct mach_header_64); + break; + default: + error("Unknown CPU type\n"); + return -1; + } + + cmdBase = cmdstart; + +#if DEBUG + printf("magic: %x\n", (unsigned)mH->magic); + printf("cputype: %x\n", (unsigned)mH->cputype); + printf("cpusubtype: %x\n", (unsigned)mH->cpusubtype); + printf("filetype: %x\n", (unsigned)mH->filetype); + printf("ncmds: %x\n", (unsigned)mH->ncmds); + printf("sizeofcmds: %x\n", (unsigned)mH->sizeofcmds); + printf("flags: %x\n", (unsigned)mH->flags); + getc(); +#endif + + ncmds = mH->ncmds; + + for (cnt = 0; cnt < ncmds; cnt++) { + cmd = ((long *)cmdBase)[0]; + cmdsize = ((long *)cmdBase)[1]; + unsigned int load_addr; + unsigned int load_size; + + switch (cmd) { + case LC_SEGMENT_64: + case LC_SEGMENT: + ret = DecodeSegment(cmdBase, &load_addr, &load_size); + if (ret == 0 && load_size != 0 && load_addr >= KERNEL_ADDR) { + vmaddr = min(vmaddr, load_addr); + vmend = max(vmend, load_addr + load_size); + } + break; + + case LC_UNIXTHREAD: + ret = DecodeUnixThread(cmdBase, &entry); + break; + + case LC_SYMTAB: + break; + + default: +#if NOTDEF + printf("Ignoring cmd type %d.\n", (unsigned)cmd); +#endif + break; + } + + if (ret != 0) return -1; + + cmdBase += cmdsize; + } + + *rentry = (entry_t)( (unsigned long) entry & 0x3fffffff ); + *rsize = vmend - vmaddr; + *raddr = (char *)vmaddr; + + cmdBase = cmdstart; + for (cnt = 0; cnt < ncmds; cnt++) { + cmd = ((long *)cmdBase)[0]; + cmdsize = ((long *)cmdBase)[1]; + + if(cmd==LC_SYMTAB) + if (DecodeSymbolTable(cmdBase)!=0) + return -1; + + cmdBase += cmdsize; + } + + return ret; +} + +// Private Functions + +static long DecodeSegment(long cmdBase, unsigned int *load_addr, unsigned int *load_size) +{ + unsigned long vmaddr, fileaddr; + long vmsize, filesize; + char *segname; + + if (((long *)cmdBase)[0]==LC_SEGMENT_64) + { + struct segment_command_64 *segCmd; + + segCmd = (struct segment_command_64 *)cmdBase; + + vmaddr = (segCmd->vmaddr & 0x3fffffff); + vmsize = segCmd->vmsize; + fileaddr = (gBinaryAddress + segCmd->fileoff); + filesize = segCmd->filesize; + + segname=segCmd->segname; + } + else + { + struct segment_command *segCmd; + + segCmd = (struct segment_command *)cmdBase; + + vmaddr = (segCmd->vmaddr & 0x3fffffff); + vmsize = segCmd->vmsize; + fileaddr = (gBinaryAddress + segCmd->fileoff); + filesize = segCmd->filesize; + + segname=segCmd->segname; + } + + if (vmsize == 0 || filesize == 0) { + *load_addr = ~0; + *load_size = 0; + return 0; + } + +#if DEBUG + printf("segname: %s, vmaddr: %x, vmsize: %x, fileoff: %x, filesize: %x, nsects: %d, flags: %x.\n", + segCmd->segname, (unsigned)vmaddr, (unsigned)vmsize, (unsigned)fileaddr, (unsigned)filesize, + (unsigned) segCmd->nsects, (unsigned)segCmd->flags); + getc(); +#endif + + if (! ((vmaddr >= KERNEL_ADDR && + (vmaddr + vmsize) <= (KERNEL_ADDR + KERNEL_LEN)) || + (vmaddr >= HIB_ADDR && + (vmaddr + vmsize) <= (HIB_ADDR + HIB_LEN)))) { + stop("Kernel overflows available space"); + } + + if (vmsize && (strcmp(segname, "__PRELINK") == 0)) + gHaveKernelCache = 1; + + // Copy from file load area. + if (vmsize>0 && filesize>0) + bcopy((char *)fileaddr, (char *)vmaddr, vmsize>filesize?filesize:vmsize); + + // Zero space at the end of the segment. + if (vmsize > filesize) + bzero((char *)(vmaddr + filesize), vmsize - filesize); + + *load_addr = vmaddr; + *load_size = vmsize; + + return 0; +} + +static long DecodeUnixThread(long cmdBase, unsigned int *entry) +{ + switch (archCpuType) + { + case CPU_TYPE_I386: + { + i386_thread_state_t *i386ThreadState; + + i386ThreadState = (i386_thread_state_t *) + (cmdBase + sizeof(struct thread_command) + 8); + + #if defined(__DARWIN_UNIX03) && __DARWIN_UNIX03 + *entry = i386ThreadState->__eip; + #else + *entry = i386ThreadState->eip; + #endif + return 0; + } + + case CPU_TYPE_X86_64: + { + x86_thread_state64_t *x86_64ThreadState; + + x86_64ThreadState = (x86_thread_state64_t *) + (cmdBase + sizeof(struct thread_command) + 8); + + #if defined(__DARWIN_UNIX03) && __DARWIN_UNIX03 + *entry = x86_64ThreadState->__rip; + #else + *entry = x86_64ThreadState->rip; + #endif + return 0; + } + + default: + error("Unknown CPU type\n"); + return -1; + } +} + +static long DecodeSymbolTable(long cmdBase) +{ + struct symtab_command *symTab, *symTableSave; + long tmpAddr, symsSize, totalSize; + long gSymbolTableAddr; + long gSymbolTableSize; + + symTab = (struct symtab_command *)cmdBase; + +#if DEBUG + printf("symoff: %x, nsyms: %x, stroff: %x, strsize: %x\n", + symTab->symoff, symTab->nsyms, symTab->stroff, symTab->strsize); + getc (); +#endif + + symsSize = symTab->stroff - symTab->symoff; + totalSize = symsSize + symTab->strsize; + + gSymbolTableSize = totalSize + sizeof(struct symtab_command); + gSymbolTableAddr = AllocateKernelMemory(gSymbolTableSize); + // Add the SymTab to the memory-map. + AllocateMemoryRange("Kernel-__SYMTAB", gSymbolTableAddr, gSymbolTableSize, -1); + + symTableSave = (struct symtab_command *)gSymbolTableAddr; + tmpAddr = gSymbolTableAddr + sizeof(struct symtab_command); + + symTableSave->symoff = tmpAddr; + symTableSave->nsyms = symTab->nsyms; + symTableSave->stroff = tmpAddr + symsSize; + symTableSave->strsize = symTab->strsize; + + bcopy((char *)(gBinaryAddress + symTab->symoff), + (char *)tmpAddr, totalSize); + return 0; +} Index: branches/prasys/i386/libsaio/nbp.c =================================================================== --- branches/prasys/i386/libsaio/nbp.c (revision 0) +++ branches/prasys/i386/libsaio/nbp.c (revision 24) @@ -0,0 +1,145 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +#include "libsaio.h" + +/* This NBP code is pretty useless because it just blindly calls INT 2B. + Presumably INT 2B was implemented by some first-stage bootloader that + is long gone. + + One good reason to disable this is that nbpScanBootVolumes always + succeeds. The scanBootVolumes function thus never fails because + it always falls back to NBP. This is a problem because there is + other code in the booter (for example, in open) which needs to + fail instead of attempting to use this NBP which will often + hang the machine. + */ +#ifndef NBP_SUPPORT +#define NBP_SUPPORT 0 +#endif + +#if NBP_SUPPORT + +/* + * Convert zero-based linear address to far pointer. + */ +#define GET_FP(x) ( (((x) & 0xffff0000) << (16 - 4)) | ((x) & 0xffff) ) + +/*========================================================================== + * Issue a command to the network loader. + * + * The 'cmd' command structure should be allocated on the stack to + * ensure that it resides within the addressable range for the + * network loader, which runs in real mode. + */ +static UInt32 nbp(nbpCommandCode_t code, nbpCommand_u * cmd) +{ + loader(code, GET_FP((UInt32) cmd)); + + // Must re-enable the A20 address line, the PXE firmware will + // disable the A20 line control. + // + enableA20(); + + return cmd->header.status; +} + +/*========================================================================== + * Unload Base Code Stack command. + */ +UInt32 nbpUnloadBaseCode() +{ + return nbp(nbpCommandUnloadBaseCode, (nbpCommand_u *) 0); +} + +/*========================================================================== + * TFTP Read File command. + */ +static long NBPLoadFile(CICell ih, char * filePath) +{ + nbpCommandTFTPReadFile_s cmd; + UInt32 ret; + + strcpy((char *)cmd.filename, filePath); + cmd.status = nbpStatusFailed; + cmd.bufferSize = TFTP_LEN; + cmd.buffer = TFTP_ADDR; + + verbose("Loading file: %s\n", filePath); + + ret = nbp(nbpCommandTFTPReadFile, (nbpCommand_u *) &cmd); + + return (ret == nbpStatusSuccess) ? (long)cmd.bufferSize : -1; +} + +/*========================================================================== + * GetDirEntry is not supported. + */ +static long NBPGetDirEntry(CICell ih, char * dirPath, long * dirIndex, + char ** name, long * flags, long * time, + FinderInfo * finderInfo, long * infoValid) +{ + return -1; +} + +//========================================================================== + +static void NBPGetDescription(CICell ih, char * str, long strMaxLen) +{ + sprintf( str, "Ethernet PXE Client" ); +} + +//========================================================================== + +BVRef nbpScanBootVolumes( int biosdev, int * countPtr ) +{ + static BVRef gNetBVR = NULL; + + if ( countPtr ) *countPtr = 1; + + if ( !gNetBVR ) + { + gNetBVR = malloc( sizeof(*gNetBVR) ); + if ( gNetBVR ) + { + bzero(gNetBVR, sizeof(*gNetBVR)); + gNetBVR->biosdev = biosdev; + gNetBVR->flags = kBVFlagPrimary | kBVFlagNativeBoot; + gNetBVR->description = NBPGetDescription; + gNetBVR->fs_loadfile = NBPLoadFile; + gNetBVR->fs_getdirentry = NBPGetDirEntry; + } + } + return gNetBVR; +} +#else +BVRef nbpScanBootVolumes( int biosdev, int * countPtr ) +{ + return NULL; +} +UInt32 nbpUnloadBaseCode() +{ + return 0; +} +#endif Index: branches/prasys/i386/libsaio/ntfs.h =================================================================== --- branches/prasys/i386/libsaio/ntfs.h (revision 0) +++ branches/prasys/i386/libsaio/ntfs.h (revision 24) @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2004 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +extern void NTFSGetDescription(CICell ih, char *str, long strMaxLen); +extern BOOL NTFSProbe (const void *buf); + Index: branches/prasys/i386/libsaio/nvidia.h =================================================================== --- branches/prasys/i386/libsaio/nvidia.h (revision 0) +++ branches/prasys/i386/libsaio/nvidia.h (revision 24) @@ -0,0 +1,129 @@ +/* + * NVidia injector + * + * Copyright (C) 2009 Jasmin Fazlic, iNDi + * + * NVidia injector is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * NVidia driver and injector is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with NVidia injector. If not, see . + */ + /* + * Alternatively you can choose to comply with APSL + */ + +/* + * DCB-Table parsing is based on software (nouveau driver) originally distributed under following license: + * + * + * Copyright 2005-2006 Erik Waling + * Copyright 2006 Stephane Marchesin + * Copyright 2007-2009 Stuart Bennett + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef __LIBSAIO_NVIDIA_H +#define __LIBSAIO_NVIDIA_H + +bool setup_nvidia_devprop(pci_dt_t *nvda_dev); + +struct nv_chipsets_t { + unsigned device; + char *name; +}; + +#define DCB_MAX_NUM_ENTRIES 16 +#define DCB_MAX_NUM_I2C_ENTRIES 16 + +#define DCB_LOC_ON_CHIP 0 + +struct bios { + uint16_t signature; /* 0x55AA */ + uint8_t size; /* Size in multiples of 512 */ +}; + +#define NV_PROM_OFFSET 0x300000 +#define NV_PROM_SIZE 0x0000ffff +#define NV_PRAMIN_OFFSET 0x00700000 +#define NV_PRAMIN_SIZE 0x00100000 + +#define NV_PBUS_PCI_NV_20 0x00001850 +#define NV_PBUS_PCI_NV_20_ROM_SHADOW_DISABLED (0 << 0) +#define NV_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED (1 << 0) + +#define REG8(reg) ((volatile uint8_t *)regs)[(reg)] +#define REG16(reg) ((volatile uint16_t *)regs)[(reg) >> 1] +#define REG32(reg) ((volatile uint32_t *)regs)[(reg) >> 2] + +#define NV_ARCH_03 0x03 +#define NV_ARCH_04 0x04 +#define NV_ARCH_10 0x10 +#define NV_ARCH_20 0x20 +#define NV_ARCH_30 0x30 +#define NV_ARCH_40 0x40 +#define NV_ARCH_50 0x50 + +#define CHIPSET_NV03 0x0010 +#define CHIPSET_NV04 0x0020 +#define CHIPSET_NV10 0x0100 +#define CHIPSET_NV11 0x0110 +#define CHIPSET_NV15 0x0150 +#define CHIPSET_NV17 0x0170 +#define CHIPSET_NV18 0x0180 +#define CHIPSET_NFORCE 0x01A0 +#define CHIPSET_NFORCE2 0x01F0 +#define CHIPSET_NV20 0x0200 +#define CHIPSET_NV25 0x0250 +#define CHIPSET_NV28 0x0280 +#define CHIPSET_NV30 0x0300 +#define CHIPSET_NV31 0x0310 +#define CHIPSET_NV34 0x0320 +#define CHIPSET_NV35 0x0330 +#define CHIPSET_NV36 0x0340 +#define CHIPSET_NV40 0x0040 +#define CHIPSET_NV41 0x00C0 +#define CHIPSET_NV43 0x0140 +#define CHIPSET_NV44 0x0160 +#define CHIPSET_NV44A 0x0220 +#define CHIPSET_NV45 0x0210 +#define CHIPSET_NV50 0x0190 +#define CHIPSET_NV84 0x0400 +#define CHIPSET_MISC_BRIDGED 0x00F0 +#define CHIPSET_G70 0x0090 +#define CHIPSET_G71 0x0290 +#define CHIPSET_G72 0x01D0 +#define CHIPSET_G73 0x0390 + +// integrated GeForces (6100, 6150) +#define CHIPSET_C51 0x0240 + +// variant of C51, seems based on a G70 design +#define CHIPSET_C512 0x03D0 +#define CHIPSET_G73_BRIDGED 0x02E0 + +#endif /* !__LIBSAIO_NVIDIA_H */ Property changes on: branches/prasys/i386/libsaio/nvidia.h ___________________________________________________________________ Added: svn:executable + * Index: branches/prasys/i386/libsaio/ufs_byteorder.h =================================================================== --- branches/prasys/i386/libsaio/ufs_byteorder.h (revision 0) +++ branches/prasys/i386/libsaio/ufs_byteorder.h (revision 24) @@ -0,0 +1,56 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Copyright (c) 1992 NeXT Computer, Inc. + * + * UFS byte swapping routines to make a big endian file system useful on a + * little endian machine. + * + * HISTORY + * + * 8 Jul 1992 Brian Pinkerton at NeXT + * Created. + */ + +#ifndef __LIBSAIO_UFS_BYTEORDER_H +#define __LIBSAIO_UFS_BYTEORDER_H + +#include +#include +#include +#include +#include +#include +#include + +void byte_swap_ints(unsigned int *array, int count); +void byte_swap_shorts(unsigned short *array, int count); +void byte_swap_longlongs(unsigned long long *array, int count); + +void byte_swap_superblock(struct fs *sb); +void byte_swap_dinode_in(struct dinode *di); +void byte_swap_dir_block_in(char *addr, int count); +void byte_swap_inode_in(struct dinode *dc, struct dinode *ic); + +#endif /* !__LIBSAIO_UFS_BYTEORDER_H */ Index: branches/prasys/i386/libsaio/acpi.h =================================================================== --- branches/prasys/i386/libsaio/acpi.h (revision 0) +++ branches/prasys/i386/libsaio/acpi.h (revision 24) @@ -0,0 +1,92 @@ +#ifndef __LIBSAIO_ACPI_H +#define __LIBSAIO_ACPI_H + +#define ACPI_RANGE_START (0x0E0000) +#define ACPI_RANGE_END (0x0FFFFF) + +#define UINT64_LE_FROM_CHARS(a,b,c,d,e,f,g,h) \ +( ((uint64_t)h << 56) \ +| ((uint64_t)g << 48) \ +| ((uint64_t)f << 40) \ +| ((uint64_t)e << 32) \ +| ((uint64_t)d << 24) \ +| ((uint64_t)c << 16) \ +| ((uint64_t)b << 8) \ +| ((uint64_t)a << 0) \ +) + +#define ACPI_SIGNATURE_UINT64_LE UINT64_LE_FROM_CHARS('R','S','D',' ','P','T','R',' ') + +/* Per ACPI 3.0a spec */ + +// TODO Migrate +struct acpi_2_rsdp { + char Signature[8]; + uint8_t Checksum; + char OEMID[6]; + uint8_t Revision; + uint32_t RsdtAddress; + uint32_t Length; + uint64_t XsdtAddress; + uint8_t ExtendedChecksum; + char Reserved[3]; +} __attribute__((packed)); + +// TODO Migrate +struct acpi_2_rsdt { + char Signature[4]; + uint32_t Length; + uint8_t Revision; + uint8_t Checksum; + char OEMID[6]; + char OEMTableId[8]; + uint32_t OEMRevision; + uint32_t CreatorId; + uint32_t CreatorRevision; +} __attribute__((packed)); + +// TODO Migrate +struct acpi_2_xsdt { + char Signature[4]; + uint32_t Length; + uint8_t Revision; + uint8_t Checksum; + char OEMID[6]; + char OEMTableId[8]; + uint32_t OEMRevision; + uint32_t CreatorId; + uint32_t CreatorRevision; +} __attribute__((packed)); + +// TODO Migrate +struct acpi_2_fadt { + char Signature[4]; + uint32_t Length; + uint8_t Revision; + uint8_t Checksum; + char OEMID[6]; + char OEMTableId[8]; + uint32_t OEMRevision; + uint32_t CreatorId; + uint32_t CreatorRevision; + uint32_t FIRMWARE_CTRL; + uint32_t DSDT; + /*We absolutely don't care about theese fields*/ + uint8_t notimp1[68]; + //Reset Fix + uint32_t Flags; + uint8_t Reset_SpaceID; + uint8_t Reset_BitWidth; + uint8_t Reset_BitOffset; + uint8_t Reset_AccessWidth; + uint64_t Reset_Address; + uint8_t Reset_Value; + uint8_t Reserved[3]; + + uint64_t X_FIRMWARE_CTRL; + uint64_t X_DSDT; + /*We absolutely don't care about theese fields*/ + uint8_t notimp2[96]; +} __attribute__((packed)); + +#endif /* !__LIBSAIO_ACPI_H */ Index: branches/prasys/i386/libsaio/ati.h =================================================================== --- branches/prasys/i386/libsaio/ati.h (revision 0) +++ branches/prasys/i386/libsaio/ati.h (revision 24) @@ -0,0 +1,51 @@ +/* + * ATI injector + * + * Copyright (C) 2009 Jasmin Fazlic, iNDi, netkas + * + * ATI injector is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * ATI driver and injector is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with ATI injector. If not, see . + */ + /* + * Alternatively you can choose to comply with APSL + */ + + +#ifndef __LIBSAIO_ATI_H +#define __LIBSAIO_ATI_H + +bool setup_ati_devprop(pci_dt_t *ati_dev); + +struct ati_chipsets_t { + unsigned device; + char *name; +}; + +struct ati_data_key { + uint32_t size; + char *name; + uint8_t data[]; +}; + +struct bios { + uint16_t signature; /* 0x55AA */ + uint8_t size; /* Size in multiples of 512 */ +}; + +#define REG8(reg) ((volatile uint8_t *)regs)[(reg)] +#define REG16(reg) ((volatile uint16_t *)regs)[(reg) >> 1] +#define REG32R(reg) ((volatile uint32_t *)regs)[(reg) >> 2] +#define REG32W(reg, val) ((volatile uint32_t *)regs)[(reg) >> 2] = (val) + + +#endif /* !__LIBSAIO_ATI_H */ Property changes on: branches/prasys/i386/libsaio/ati.h ___________________________________________________________________ Added: svn:executable + * Index: branches/prasys/i386/libsaio/sl.h =================================================================== --- branches/prasys/i386/libsaio/sl.h (revision 0) +++ branches/prasys/i386/libsaio/sl.h (revision 24) @@ -0,0 +1,67 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +#ifndef __LIBSAIO_SL_H +#define __LIBSAIO_SL_H + +#include +#include +#include +#include "libsaio.h" + +#define SWAP_BE16(x) OSSwapBigToHostInt16(x) +#define SWAP_LE16(x) OSSwapLittleToHostInt16(x) +#define SWAP_BE32(x) OSSwapBigToHostInt32(x) +#define SWAP_LE32(x) OSSwapLittleToHostInt32(x) +#define SWAP_BE64(x) OSSwapBigToHostInt64(x) +#define SWAP_LE64(x) OSSwapLittleToHostInt64(x) + +// File Permissions and Types +enum { + kPermOtherExecute = 1 << 0, + kPermOtherWrite = 1 << 1, + kPermOtherRead = 1 << 2, + kPermGroupExecute = 1 << 3, + kPermGroupWrite = 1 << 4, + kPermGroupRead = 1 << 5, + kPermOwnerExecute = 1 << 6, + kPermOwnerWrite = 1 << 7, + kPermOwnerRead = 1 << 8, + kPermMask = 0x1FF, + kOwnerNotRoot = 1 << 9, + kFileTypeUnknown = 0x0 << 16, + kFileTypeFlat = 0x1 << 16, + kFileTypeDirectory = 0x2 << 16, + kFileTypeLink = 0x3 << 16, + kFileTypeMask = 0x3 << 16 +}; + +#define Seek(c, p) diskSeek(c, p); +#define Read(c, a, l) diskRead(c, a, l); + +extern void * gFSLoadAddress; +extern cpu_type_t archCpuType; +cpu_type_t detectCpuType (); + +#endif /* !__LIBSAIO_SL_H */ Index: branches/prasys/i386/libsaio/platform.c =================================================================== --- branches/prasys/i386/libsaio/platform.c (revision 0) +++ branches/prasys/i386/libsaio/platform.c (revision 24) @@ -0,0 +1,93 @@ +/* + * platform.c + * + */ + +#include "libsaio.h" +#include "bootstruct.h" +#include "pci.h" +#include "freq_detect.h" +#include "nvidia.h" +#include "spd.h" +#include "platform.h" + +#ifndef DEBUG_PLATFORM +#define DEBUG_PLATFORM 0 +#endif + +#if DEBUG_PLATFORM +#define DBG(x...) printf(x) +#else +#define DBG(x...) +#endif + +PlatformInfo_t Platform; + +void scan_cpu_amd() +{ + // AMD + + // TODO: Retrieve cpu brand string + // TODO: Retrieve cpu core count + // TODO: Retrieve cpu mobile info + +} + +void scan_cpu_intel() +{ + uint32_t cpuid_reg[4]; + + // Get Number of cores per package + /* + Initially set the EAX register to 4 and the ECX register to 0 prior to executing the CPUID instruction. + After executing the CPUID instruction, (EAX[31:26] + 1) contains the number of cores. + */ + cpuid_reg[2]=1; + do_cpuid(4, cpuid_reg); + do_cpuid(4, cpuid_reg); // FIXME: why does this only work the 2nd time ? + Platform.CPU.NoCores = bitfield(cpuid_reg[0], 31, 26) + 1; + + // Find Number of Concurrent Threads Processed (HyperThreading) + do_cpuid(1,cpuid_reg); + if(bitfield(cpuid_reg[1], 23, 16) > 1) + Platform.CPU.NoThreads=Platform.CPU.NoCores; + else + Platform.CPU.NoThreads=Platform.CPU.NoCores * 2; + + // Mobile CPU ? + if (rdmsr64(0x17) & (1<<28)) + Platform.CPU.Mobile = 1; + else + Platform.CPU.Mobile = 0; +} + +void scan_platform() +{ + uint32_t cpuid_reg[4]; + + build_pci_dt(); + + calculate_freq(); + + // Copy the values from calculate_freq() + Platform.CPU.TSCFrequency = tscFrequency; + Platform.CPU.FSBFrequency = fsbFrequency; + Platform.CPU.CPUFrequency = cpuFrequency; + + do_cpuid(0, cpuid_reg); + Platform.CPU.Vendor = cpuid_reg[1]; + + do_cpuid(1, cpuid_reg); + Platform.CPU.Model = bitfield(cpuid_reg[0], 7, 4); + Platform.CPU.Family = bitfield(cpuid_reg[0], 11, 8); + Platform.CPU.ExtModel = bitfield(cpuid_reg[0], 19, 16); + Platform.CPU.ExtFamily = bitfield(cpuid_reg[0], 27, 20); + + // Get vendor specific cpu data + if((Platform.CPU.Vendor == 0x756E6547 /* Intel */) && ((Platform.CPU.Family == 0x06) || (Platform.CPU.Family == 0x0f))) + scan_cpu_intel(); + else if((Platform.CPU.Vendor == 0x68747541 /* AMD */) && (Platform.CPU.Family == 0x0f)) + scan_cpu_amd(); +} + + Index: branches/prasys/i386/libsaio/freq_detect.c =================================================================== --- branches/prasys/i386/libsaio/freq_detect.c (revision 0) +++ branches/prasys/i386/libsaio/freq_detect.c (revision 24) @@ -0,0 +1,291 @@ +/* + * Copyright 2008 Islam Ahmed Zaid. All rights reserved. + */ + +#include "libsaio.h" +#include "freq_detect.h" + +// DFE: enable_PIT2 and disable_PIT2 come from older xnu + +/* + * Enable or disable timer 2. + * Port 0x61 controls timer 2: + * bit 0 gates the clock, + * bit 1 gates output to speaker. + */ +inline static void +enable_PIT2(void) +{ + /* Enable gate, disable speaker */ + __asm__ volatile( + " inb $0x61,%%al \n\t" + " and $0xFC,%%al \n\t" /* & ~0x03 */ + " or $1,%%al \n\t" + " outb %%al,$0x61 \n\t" + : : : "%al" ); +} + +inline static void +disable_PIT2(void) +{ + /* Disable gate and output to speaker */ + __asm__ volatile( + " inb $0x61,%%al \n\t" + " and $0xFC,%%al \n\t" /* & ~0x03 */ + " outb %%al,$0x61 \n\t" + : : : "%al" ); +} + +// DFE: set_PIT2_mode0, poll_PIT2_gate, and measure_tsc_frequency are +// roughly based on Linux code + +/* Set the 8254 channel 2 to mode 0 with the specified value. + In mode 0, the counter will initially set its gate low when the + timer expires. For this to be useful, you ought to set it high + before calling this function. The enable_PIT2 function does this. + */ +static inline void set_PIT2_mode0(uint16_t value) +{ + __asm__ volatile( + " movb $0xB0,%%al \n\t" + " outb %%al,$0x43 \n\t" + " movb %%dl,%%al \n\t" + " outb %%al,$0x42 \n\t" + " movb %%dh,%%al \n\t" + " outb %%al,$0x42" + : : "d"(value) /*: no clobber */ ); +} + +/* Returns the number of times the loop ran before the PIT2 signaled */ +static inline unsigned long poll_PIT2_gate(void) +{ + unsigned long count = 0; + unsigned char nmi_sc_val; + do { + ++count; + __asm__ volatile( + "inb $0x61,%0" + : "=q"(nmi_sc_val) /*:*/ /* no input */ /*:*/ /* no clobber */); + } while( (nmi_sc_val & 0x20) == 0); + return count; +} + +/* + * DFE: Measures the TSC frequency in Hz (64-bit) using the ACPI PM timer + */ +uint64_t measure_tsc_frequency(void) +{ + uint64_t tscStart; + uint64_t tscEnd; + uint64_t tscDelta = 0xffffffffffffffffULL; + unsigned long pollCount; + uint64_t retval = 0; + int i; + + /* Time how many TSC ticks elapse in 30 msec using the 8254 PIT + * counter 2. We run this loop 3 times to make sure the cache + * is hot and we take the minimum delta from all of the runs. + * That is to say that we're biased towards measuring the minimum + * number of TSC ticks that occur while waiting for the timer to + * expire. That theoretically helps avoid inconsistencies when + * running under a VM if the TSC is not virtualized and the host + * steals time. The TSC is normally virtualized for VMware. + */ + for(i = 0; i < 3; ++i) + { + enable_PIT2(); + set_PIT2_mode0(CALIBRATE_LATCH); + tscStart = rdtsc64(); + pollCount = poll_PIT2_gate(); + tscEnd = rdtsc64(); + /* The poll loop must have run at least a few times for accuracy */ + if(pollCount <= 1) + continue; + /* The TSC must increment at LEAST once every millisecond. We + * should have waited exactly 30 msec so the TSC delta should + * be >= 30. Anything less and the processor is way too slow. + */ + if((tscEnd - tscStart) <= CALIBRATE_TIME_MSEC) + continue; + // tscDelta = min(tscDelta, (tscEnd - tscStart)) + if( (tscEnd - tscStart) < tscDelta ) + tscDelta = tscEnd - tscStart; + } + /* tscDelta is now the least number of TSC ticks the processor made in + * a timespan of 0.03 s (e.g. 30 milliseconds) + * Linux thus divides by 30 which gives the answer in kiloHertz because + * 1 / ms = kHz. But we're xnu and most of the rest of the code uses + * Hz so we need to convert our milliseconds to seconds. Since we're + * dividing by the milliseconds, we simply multiply by 1000. + */ + + /* Unlike linux, we're not limited to 32-bit, but we do need to take care + * that we're going to multiply by 1000 first so we do need at least some + * arithmetic headroom. For now, 32-bit should be enough. + * Also unlike Linux, our compiler can do 64-bit integer arithmetic. + */ + if(tscDelta > (1ULL<<32)) + retval = 0; + else + { + retval = tscDelta * 1000 / 30; + } + disable_PIT2(); + return retval; +} + +uint64_t tscFrequency = 0; +uint64_t fsbFrequency = 0; +uint64_t cpuFrequency = 0; + +/* + * Calculates the FSB and CPU frequencies using specific MSRs for each CPU + * - multi. is read from a specific MSR. In the case of Intel, there is: + * a max multi. (used to calculate the FSB freq.), + * and a current multi. (used to calculate the CPU freq.) + * - fsbFrequency = tscFrequency / multi + * - cpuFrequency = fsbFrequency * multi + */ + +void calculate_freq(void) +{ + uint32_t cpuid_reg[4], cpu_vendor; + uint8_t cpu_family, cpu_model, cpu_extfamily, cpu_extmodel; + uint64_t msr, flex_ratio; + uint8_t maxcoef, maxdiv, currcoef, currdiv; + + do_cpuid(0, cpuid_reg); + cpu_vendor = cpuid_reg[1]; + + do_cpuid(1, cpuid_reg); + cpu_model = bitfield(cpuid_reg[0], 7, 4); + cpu_family = bitfield(cpuid_reg[0], 11, 8); + cpu_extmodel = bitfield(cpuid_reg[0], 19, 16); + cpu_extfamily = bitfield(cpuid_reg[0], 27, 20); + + cpu_model += (cpu_extmodel << 4); + + DBG("\nCPU Model: %d - CPU Family: %d - CPU Ext. Family: %d\n", cpu_model, cpu_family, cpu_extfamily); + DBG("The booter will now attempt to read the CPU Multiplier (using RDMSR).\n"); + DBG("Press any key to continue..\n\n"); +#if DEBUG_FREQ + getc(); +#endif + + tscFrequency = measure_tsc_frequency(); + + DBG("CPU Multiplier: "); + + if((cpu_vendor == 0x756E6547 /* Intel */) && ((cpu_family == 0x06) || (cpu_family == 0x0f))) + { + if ((cpu_family == 0x06 && cpu_model >= 0x0c) || + (cpu_family == 0x0f && cpu_model >= 0x03)) + { + /* Nehalem CPU model */ + if (cpu_family == 0x06 && (cpu_model == 0x1a || cpu_model == 0x1e)) + { + msr = rdmsr64(MSR_PLATFORM_INFO); + currcoef = (msr >> 8) & 0xff; + msr = rdmsr64(MSR_FLEX_RATIO); + if ((msr >> 16) & 0x01) + { + flex_ratio = (msr >> 8) & 0xff; + if (currcoef > flex_ratio) + currcoef = flex_ratio; + } + + if (currcoef) + { + DBG("%d\n", currcoef); + fsbFrequency = (tscFrequency / currcoef); + } + cpuFrequency = tscFrequency; + } + else + { + msr = rdmsr64(IA32_PERF_STATUS); + currcoef = (msr >> 8) & 0x1f; + /* Non-integer bus ratio for the max-multi*/ + maxdiv = (msr >> 46) & 0x01; + /* Non-integer bus ratio for the current-multi (undocumented)*/ + currdiv = (msr >> 14) & 0x01; + + if ((cpu_family == 0x06 && cpu_model >= 0x0e) || + (cpu_family == 0x0f)) // This will always be model >= 3 + { + /* On these models, maxcoef defines TSC freq */ + maxcoef = (msr >> 40) & 0x1f; + } + else + { + /* On lower models, currcoef defines TSC freq */ + /* XXX */ + maxcoef = currcoef; + } + + if (maxcoef) + { + if (maxdiv) + fsbFrequency = ((tscFrequency * 2) / ((maxcoef * 2) + 1)); + else + fsbFrequency = (tscFrequency / maxcoef); + + if (currdiv) + cpuFrequency = (fsbFrequency * ((currcoef * 2) + 1) / 2); + else + cpuFrequency = (fsbFrequency * currcoef); + DBG("max: %d%s current: %d%s\n", maxcoef, maxdiv ? ".5" : "",currcoef, currdiv ? ".5" : ""); + } + } + } + } + else if((cpu_vendor == 0x68747541 /* AMD */) && (cpu_family == 0x0f)) + { + if(cpu_extfamily == 0x00 /* K8 */) + { + msr = rdmsr64(K8_FIDVID_STATUS); + currcoef = (msr & 0x3f) / 2 + 4; + currdiv = (msr & 0x01) * 2; + } + else if(cpu_extfamily >= 0x01 /* K10+ */) + { + msr = rdmsr64(K10_COFVID_STATUS); + if(cpu_extfamily == 0x01 /* K10 */) + currcoef = (msr & 0x3f) + 0x10; + else /* K11+ */ + currcoef = (msr & 0x3f) + 0x08; + currdiv = (2 << ((msr >> 6) & 0x07)); + } + + if (currcoef) + { + if (currdiv) + { + fsbFrequency = ((tscFrequency * currdiv) / currcoef); + DBG("%d.%d\n", currcoef / currdiv, ((currcoef % currdiv) * 100) / currdiv); + } + else + { + fsbFrequency = (tscFrequency / currcoef); + DBG("%d\n", currcoef); + } + fsbFrequency = (tscFrequency / currcoef); + cpuFrequency = tscFrequency; + } + } + + if (!fsbFrequency) + { + fsbFrequency = (DEFAULT_FSB * 1000); + cpuFrequency = tscFrequency; + DBG("0 ! using the default value for FSB !\n"); + } + + DBG("TSC Frequency: %dMHz\n", tscFrequency / 1000000); + DBG("CPU Frequency: %dMHz\n", cpuFrequency / 1000000); + DBG("FSB Frequency: %dMHz\n", fsbFrequency / 1000000); + DBG("Press [Enter] to continue..\n"); +#if DEBUG_FREQ + while (getc() != 0x0d) ; +#endif +} Index: branches/prasys/i386/libsaio/platform.h =================================================================== --- branches/prasys/i386/libsaio/platform.h (revision 0) +++ branches/prasys/i386/libsaio/platform.h (revision 24) @@ -0,0 +1,100 @@ +/* + * platform.h + * + */ + +#ifndef __LIBSAIO_PLATFORM_H +#define __LIBSAIO_PLATFORM_H + +#include "libsaio.h" + +#define bit(n) (1ULL << (n)) +#define bitmask(h,l) ((bit(h)|(bit(h)-1)) & ~(bit(l)-1)) +#define bitfield(x,h,l) (((x) & bitmask(h,l)) >> l) + +extern void scan_platform(); + +/* SMBIOS Memory Types */ +#define SMB_MEM_TYPE_UNDEFINED 0 +#define SMB_MEM_TYPE_OTHER 1 +#define SMB_MEM_TYPE_UNKNOWN 2 +#define SMB_MEM_TYPE_DRAM 3 +#define SMB_MEM_TYPE_EDRAM 4 +#define SMB_MEM_TYPE_VRAM 5 +#define SMB_MEM_TYPE_SRAM 6 +#define SMB_MEM_TYPE_RAM 7 +#define SMB_MEM_TYPE_ROM 8 +#define SMB_MEM_TYPE_FLASH 9 +#define SMB_MEM_TYPE_EEPROM 10 +#define SMB_MEM_TYPE_FEPROM 11 +#define SMB_MEM_TYPE_EPROM 12 +#define SMB_MEM_TYPE_CDRAM 13 +#define SMB_MEM_TYPE_3DRAM 14 +#define SMB_MEM_TYPE_SDRAM 15 +#define SMB_MEM_TYPE_SGRAM 16 +#define SMB_MEM_TYPE_RDRAM 17 +#define SMB_MEM_TYPE_DDR 18 +#define SMB_MEM_TYPE_DDR2 19 +#define SMB_MEM_TYPE_FBDIMM 20 +#define SMB_MEM_TYPE_DDR3 24 // Supported in 10.5.6+ AppleSMBIOS + +/* Memory Configuration Types */ +#define SMB_MEM_CHANNEL_UNKNOWN 0 +#define SMB_MEM_CHANNEL_SINGLE 1 +#define SMB_MEM_CHANNEL_DUAL 2 +#define SMB_MEM_CHANNEL_TRIPLE 3 + +/* Maximum number of ram slots */ +#define MAX_RAM_SLOTS 16 + +typedef struct _RamSlotInfo_t { + bool InUse; // Module Present + uint32_t ModuleSize; // Size of Module in MB + char *spd; // SPD Dump +} RamSlotInfo_t; + +typedef struct _PlatformInfo_t { + bool Mobile; // Mobile Platform + bool x86_64; // 64 Bit Capable + struct PCI { + uint8_t NoDevices; // No of PCI devices + } PCI; + struct CPU { + uint32_t Vendor; // Vendor + uint32_t Model; // Model + uint32_t ExtModel; // Extended Model + uint32_t Family; // Family + uint32_t ExtFamily; // Extended Family + uint8_t NoCores; // No Cores per Package + uint8_t NoThreads; // Threads per Package + uint8_t MaxCoef; // Max Multiplier + uint8_t MaxDiv; + uint8_t CurrCoef; // Current Multiplier + uint8_t CurrDiv; + float MaxRatio; + float CurrRatio; + uint64_t TSCFrequency; // TSC Frequency Hz + uint64_t FSBFrequency; // FSB Frequency Hz + uint64_t CPUFrequency; // CPU Frequency Hz + bool Mobile; // Mobile CPU + uint32_t BrandString[16]; // 48 Byte Branding String + } CPU; + struct RAM { + uint64_t Frequency; // Ram Frequency + uint32_t Divider; // Memory divider + float CAS; // CAS 1/2/2.5/3/4/5/6/7 + uint8_t TRC; + uint8_t TRP; + uint8_t RAS; + uint8_t Channels; // Channel Configuration Single,Dual or Triple + uint8_t NoSlots; // Maximum no of slots available + uint8_t Type; // Standard SMBIOS v2.5 Memory Type + char *BrandString; // Branding String Memory Controller + RamSlotInfo_t DIMM[MAX_RAM_SLOTS]; // Information about each slot + } RAM; +} PlatformInfo_t; + +extern PlatformInfo_t Platform; + +#endif /* !__LIBSAIO_PLATFORM_H */ + Index: branches/prasys/i386/libsaio/freq_detect.h =================================================================== --- branches/prasys/i386/libsaio/freq_detect.h (revision 0) +++ branches/prasys/i386/libsaio/freq_detect.h (revision 24) @@ -0,0 +1,77 @@ +/* + * Copyright 2008 Islam Ahmed Zaid. All rights reserved. + */ + +#ifndef __LIBSAIO_FREQ_DETECT_H +#define __LIBSAIO_FREQ_DETECT_H + +#include "libsaio.h" +#ifndef DEBUG_FREQ +#define DEBUG_FREQ 0 +#endif + +#if DEBUG_FREQ +#define DBG(x...) printf(x) +#else +#define DBG(x...) +#endif + +/* Decimal powers: */ +#define kilo (1000ULL) +#define Mega (kilo * kilo) +#define Giga (kilo * Mega) +#define Tera (kilo * Giga) +#define Peta (kilo * Tera) + +#define bit(n) (1ULL << (n)) +#define bitmask(h,l) ((bit(h)|(bit(h)-1)) & ~(bit(l)-1)) +#define bitfield(x,h,l) (((x) & bitmask(h,l)) >> l) + +#define IA32_PERF_STATUS 0x198 +#define MSR_FLEX_RATIO 0x194 +#define MSR_PLATFORM_INFO 0xCE +#define K8_FIDVID_STATUS 0xC0010042 +#define K10_COFVID_STATUS 0xC0010071 + +#define DEFAULT_FSB 100000 /* for now, hardcoding 100MHz for old CPUs */ + +// DFE: This constant comes from older xnu: +#define CLKNUM 1193182 /* formerly 1193167 */ + +// DFE: These two constants come from Linux except CLOCK_TICK_RATE replaced with CLKNUM +#define CALIBRATE_TIME_MSEC 30 /* 30 msecs */ +#define CALIBRATE_LATCH \ + ((CLKNUM * CALIBRATE_TIME_MSEC + 1000/2)/1000) + +extern uint64_t tscFrequency; +extern uint64_t fsbFrequency; +extern uint64_t cpuFrequency; + +void calculate_freq(void); + +static inline uint64_t rdtsc64(void) +{ + uint64_t ret; + __asm__ volatile("rdtsc" : "=A" (ret)); + return ret; +} + +static inline uint64_t rdmsr64(uint32_t msr) +{ + uint64_t ret; + __asm__ volatile("rdmsr" : "=A" (ret) : "c" (msr)); + return ret; +} + +static inline void do_cpuid(uint32_t selector, uint32_t *data) +{ + asm volatile ("cpuid" + : "=a" (data[0]), + "=b" (data[1]), + "=c" (data[2]), + "=d" (data[3]) + : "a" (selector) + ); +} + +#endif /* !__LIBSAIO_FREQ_DETECT_H */ Index: branches/prasys/i386/libsaio/disk.c =================================================================== --- branches/prasys/i386/libsaio/disk.c (revision 0) +++ branches/prasys/i386/libsaio/disk.c (revision 24) @@ -0,0 +1,1900 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Mach Operating System + * Copyright (c) 1990 Carnegie-Mellon University + * Copyright (c) 1989 Carnegie-Mellon University + * All rights reserved. The CMU software License Agreement specifies + * the terms and conditions for use and redistribution. + */ + +/* + * INTEL CORPORATION PROPRIETARY INFORMATION + * + * This software is supplied under the terms of a license agreement or + * nondisclosure agreement with Intel Corporation and may not be copied + * nor disclosed except in accordance with the terms of that agreement. + * + * Copyright 1988, 1989 Intel Corporation + */ + +/* + * Copyright 1993 NeXT Computer, Inc. + * All rights reserved. + */ + +/* Copyright 2007 VMware Inc. + "Preboot" ramdisk support added by David Elliott + GPT support added by David Elliott. Based on IOGUIDPartitionScheme.cpp. + */ + +// Allow UFS_SUPPORT to be overridden with preprocessor option. +#ifndef UFS_SUPPORT +// zef: Disabled UFS support +#define UFS_SUPPORT 0 +#endif + +#include "bootstruct.h" +#include "libsaio.h" +#include "fdisk.h" +#if UFS_SUPPORT +#include "ufs.h" +#endif +#include "hfs.h" +#include "ntfs.h" +#include "msdos.h" +#include "ext2fs.h" + +#include +#include +#include +typedef struct gpt_hdr gpt_hdr; +typedef struct gpt_ent gpt_ent; + +// For EFI_GUID +#include "efi.h" +#include "efi_tables.h" + +#define BPS 512 /* sector size of the device */ +#define PROBEFS_SIZE BPS * 4 /* buffer size for filesystem probe */ +#define CD_BPS 2048 /* CD-ROM block size */ +#define N_CACHE_SECS (BIOS_LEN / BPS) /* Must be a multiple of 4 for CD-ROMs */ +#define UFS_FRONT_PORCH 0 +#define kAPMSector 2 /* Sector number of Apple partition map */ +#define kAPMCDSector 8 /* Translated sector of Apple partition map on a CD */ + +/* + * IORound and IOTrunc convenience functions, in the spirit + * of vm's round_page() and trunc_page(). + */ +#define IORound(value,multiple) \ + ((((value) + (multiple) - 1) / (multiple)) * (multiple)) + +#define IOTrunc(value,multiple) \ + (((value) / (multiple)) * (multiple)); + +/* + * trackbuf points to the start of the track cache. Biosread() + * will store the sectors read from disk to this memory area. + * + * biosbuf points to a sector within the track cache, and is + * updated by Biosread(). + */ +static char * const trackbuf = (char *) ptov(BIOS_ADDR); +static char * biosbuf; + +/* + * Map a disk drive to bootable volumes contained within. + */ +struct DiskBVMap { + int biosdev; // BIOS device number (unique) + BVRef bvr; // chain of boot volumes on the disk + int bvrcnt; // number of boot volumes + struct DiskBVMap * next; // linkage to next mapping +}; + +static struct DiskBVMap * gDiskBVMap = NULL; +static struct disk_blk0 * gBootSector = NULL; + +// Function pointers to be filled in if ramdisks are available: +int (*p_ramdiskReadBytes)( int biosdev, unsigned int blkno, + unsigned int byteoff, + unsigned int byteCount, void * buffer ) = NULL; +int (*p_get_ramdisk_info)(int biosdev, struct driveInfo *dip) = NULL; + + +extern void spinActivityIndicator(int sectors); + +//========================================================================== + +static int getDriveInfo( int biosdev, struct driveInfo *dip ) +{ + static struct driveInfo cached_di; + int cc; + + // Real BIOS devices are 8-bit, so anything above that is for internal use. + // Don't cache ramdisk drive info since it doesn't require several BIOS + // calls and is thus not worth it. + if(biosdev >= 0x100) + { + if(p_get_ramdisk_info != NULL) + cc = (*p_get_ramdisk_info)(biosdev, dip); + else + cc = -1; + if(cc < 0) + { + dip->valid = 0; + return -1; + } + else + return 0; + } + + if ( !cached_di.valid || biosdev != cached_di.biosdev ) + { + cc = get_drive_info(biosdev, &cached_di); + if (cc < 0) { + cached_di.valid = 0; + DEBUG_DISK(("get_drive_info returned error\n")); + return (-1); // BIOS call error + } + } + + bcopy(&cached_di, dip, sizeof(cached_di)); + + return 0; +} + +//========================================================================== +// Maps (E)BIOS return codes to message strings. + +struct NamedValue { + unsigned char value; + const char * name; +}; + +static const char * getNameForValue( const struct NamedValue * nameTable, + unsigned char value ) +{ + const struct NamedValue * np; + + for ( np = nameTable; np->value; np++) + if (np->value == value) + return np->name; + + return NULL; +} + +#define ECC_CORRECTED_ERR 0x11 + +static const struct NamedValue bios_errors[] = { + { 0x10, "Media error" }, + { 0x11, "Corrected ECC error" }, + { 0x20, "Controller or device error" }, + { 0x40, "Seek failed" }, + { 0x80, "Device timeout" }, + { 0xAA, "Drive not ready" }, + { 0x00, 0 } +}; + +static const char * bios_error(int errnum) +{ + static char errorstr[] = "Error 0x00"; + const char * errname; + + errname = getNameForValue( bios_errors, errnum ); + if ( errname ) return errname; + + sprintf(errorstr, "Error 0x%02x", errnum); + return errorstr; // No string, print error code only +} + +//========================================================================== +// Use BIOS INT13 calls to read the sector specified. This function will +// also perform read-ahead to cache a few subsequent sector to the sector +// cache. +// +// Return: +// 0 on success, or an error code from INT13/F2 or INT13/F42 BIOS call. + +static BOOL cache_valid = FALSE; + +static int Biosread( int biosdev, unsigned long long secno ) +{ + static int xbiosdev, xcyl, xhead; + static unsigned int xsec, xnsecs; + struct driveInfo di; + + int rc = -1; + int cyl, head, sec; + int tries = 0; + int bps, divisor; + + if (getDriveInfo(biosdev, &di) < 0) { + return -1; + } + if (di.no_emulation) { + /* Always assume 2k block size; BIOS may lie about geometry */ + bps = 2048; + } else { + bps = di.di.params.phys_nbps; + if (bps == 0) { + return -1; + } + } + divisor = bps / BPS; + + DEBUG_DISK(("Biosread dev %x sec %d bps %d\n", biosdev, secno, bps)); + + // To read the disk sectors, use EBIOS if we can. Otherwise, + // revert to the standard BIOS calls. + + if ((biosdev >= kBIOSDevTypeHardDrive) && + (di.uses_ebios & EBIOS_FIXED_DISK_ACCESS)) + { + if (cache_valid && + (biosdev == xbiosdev) && + (secno >= xsec) && + ((unsigned int)secno < (xsec + xnsecs))) + { + biosbuf = trackbuf + (BPS * (secno - xsec)); + return 0; + } + + xnsecs = N_CACHE_SECS; + xsec = (secno / divisor) * divisor; + cache_valid = FALSE; + + while ((rc = ebiosread(biosdev, secno / divisor, xnsecs / divisor)) && (++tries < 5)) + { + if (rc == ECC_CORRECTED_ERR) { + /* Ignore corrected ECC errors */ + rc = 0; + break; + } + error(" EBIOS read error: %s\n", bios_error(rc), rc); + error(" Block 0x%x Sectors %d\n", secno, xnsecs); + sleep(1); + } + } + else + { + /* spc = spt * heads */ + int spc = (di.di.params.phys_spt * di.di.params.phys_heads); + cyl = secno / spc; + head = (secno % spc) / di.di.params.phys_spt; + sec = secno % di.di.params.phys_spt; + + if (cache_valid && + (biosdev == xbiosdev) && + (cyl == xcyl) && + (head == xhead) && + ((unsigned int)sec >= xsec) && + ((unsigned int)sec < (xsec + xnsecs))) + { + // this sector is in trackbuf cache + biosbuf = trackbuf + (BPS * (sec - xsec)); + return 0; + } + + // Cache up to a track worth of sectors, but do not cross a + // track boundary. + + xcyl = cyl; + xhead = head; + xsec = sec; + xnsecs = ((unsigned int)(sec + N_CACHE_SECS) > di.di.params.phys_spt) ? (di.di.params.phys_spt - sec) : N_CACHE_SECS; + cache_valid = FALSE; + + while ((rc = biosread(biosdev, cyl, head, sec, xnsecs)) && + (++tries < 5)) + { + if (rc == ECC_CORRECTED_ERR) { + /* Ignore corrected ECC errors */ + rc = 0; + break; + } + error(" BIOS read error: %s\n", bios_error(rc), rc); + error(" Block %d, Cyl %d Head %d Sector %d\n", + secno, cyl, head, sec); + sleep(1); + } + } + + // If the BIOS reported success, mark the sector cache as valid. + + if (rc == 0) { + cache_valid = TRUE; + } + biosbuf = trackbuf + (secno % divisor) * BPS; + xbiosdev = biosdev; + + spinActivityIndicator(xnsecs); + + return rc; +} + +//========================================================================== + +int testBiosread( int biosdev, unsigned long long secno ) +{ + return Biosread(biosdev, secno); +} + +//========================================================================== + +static int readBytes( int biosdev, unsigned long long blkno, + unsigned int byteoff, + unsigned int byteCount, void * buffer ) +{ + // ramdisks require completely different code for reading. + if(p_ramdiskReadBytes != NULL && biosdev >= 0x100) + return (*p_ramdiskReadBytes)(biosdev, blkno, byteoff, byteCount, buffer); + + char * cbuf = (char *) buffer; + int error; + int copy_len; + + DEBUG_DISK(("%s: dev %x block %x [%d] -> 0x%x...", __FUNCTION__, + biosdev, blkno, byteCount, (unsigned)cbuf)); + + for ( ; byteCount; cbuf += copy_len, blkno++ ) + { + error = Biosread( biosdev, blkno ); + if ( error ) + { + DEBUG_DISK(("error\n")); + return (-1); + } + + copy_len = ((byteCount + byteoff) > BPS) ? (BPS - byteoff) : byteCount; + bcopy( biosbuf + byteoff, cbuf, copy_len ); + byteCount -= copy_len; + byteoff = 0; + } + + DEBUG_DISK(("done\n")); + + return 0; +} + +//========================================================================== + +static int isExtendedFDiskPartition( const struct fdisk_part * part ) +{ + static unsigned char extParts[] = + { + 0x05, /* Extended */ + 0x0f, /* Win95 extended */ + 0x85, /* Linux extended */ + }; + + unsigned int i; + + for (i = 0; i < sizeof(extParts)/sizeof(extParts[0]); i++) + { + if (extParts[i] == part->systid) return 1; + } + return 0; +} + +//========================================================================== + +static int getNextFDiskPartition( int biosdev, int * partno, + const struct fdisk_part ** outPart ) +{ + static int sBiosdev = -1; + static int sNextPartNo; + static unsigned int sFirstBase; + static unsigned int sExtBase; + static unsigned int sExtDepth; + static struct fdisk_part * sExtPart; + struct fdisk_part * part; + + if ( sBiosdev != biosdev || *partno < 0 ) + { + // Fetch MBR. + if ( readBootSector( biosdev, DISK_BLK0, 0 ) ) return 0; + + sBiosdev = biosdev; + sNextPartNo = 0; + sFirstBase = 0; + sExtBase = 0; + sExtDepth = 0; + sExtPart = NULL; + } + + while (1) + { + part = NULL; + + if ( sNextPartNo < FDISK_NPART ) + { + part = (struct fdisk_part *) gBootSector->parts[sNextPartNo]; + } + else if ( sExtPart ) + { + unsigned int blkno = sExtPart->relsect + sFirstBase; + + // Save the block offset of the first extended partition. + + if (sExtDepth == 0) { + sFirstBase = blkno; + } + sExtBase = blkno; + + // Load extended partition table. + + if ( readBootSector( biosdev, blkno, 0 ) == 0 ) + { + sNextPartNo = 0; + sExtDepth++; + sExtPart = NULL; + continue; + } + // Fall through to part == NULL + } + + if ( part == NULL ) break; // Reached end of partition chain. + + // Advance to next partition number. + + sNextPartNo++; + + if ( isExtendedFDiskPartition(part) ) + { + sExtPart = part; + continue; + } + + // Skip empty slots. + + if ( part->systid == 0x00 ) + { + continue; + } + + // Change relative offset to an absolute offset. + part->relsect += sExtBase; + + *outPart = part; + *partno = sExtDepth ? (int)(sExtDepth + FDISK_NPART) : sNextPartNo; + + break; + } + + return (part != NULL); +} + +//========================================================================== + +static BVRef newFDiskBVRef( int biosdev, int partno, unsigned int blkoff, + const struct fdisk_part * part, + FSInit initFunc, FSLoadFile loadFunc, + FSReadFile readFunc, + FSGetDirEntry getdirFunc, + FSGetFileBlock getBlockFunc, + FSGetUUID getUUIDFunc, + BVGetDescription getDescriptionFunc, + BVFree bvFreeFunc, + int probe, int type, unsigned int bvrFlags ) +{ + BVRef bvr = (BVRef) malloc( sizeof(*bvr) ); + if ( bvr ) + { + bzero(bvr, sizeof(*bvr)); + + bvr->biosdev = biosdev; + bvr->part_no = partno; + bvr->part_boff = blkoff; + bvr->part_type = part->systid; + bvr->fs_loadfile = loadFunc; + bvr->fs_readfile = readFunc; + bvr->fs_getdirentry = getdirFunc; + bvr->fs_getfileblock= getBlockFunc; + bvr->fs_getuuid = getUUIDFunc; + bvr->description = getDescriptionFunc; + bvr->type = type; + bvr->bv_free = bvFreeFunc; + + if ((part->bootid & FDISK_ACTIVE) && (part->systid == FDISK_HFS)) + bvr->flags |= kBVFlagPrimary; + + // Probe the filesystem. + + if ( initFunc ) + { + bvr->flags |= kBVFlagNativeBoot; + + if ( probe && initFunc( bvr ) != 0 ) + { + // filesystem probe failed. + + DEBUG_DISK(("%s: failed probe on dev %x part %d\n", + __FUNCTION__, biosdev, partno)); + + (*bvr->bv_free)(bvr); + bvr = NULL; + } + if ( readBootSector( biosdev, blkoff, (void *)0x7e00 ) == 0 ) + { + bvr->flags |= kBVFlagBootable; + } + } + else if ( readBootSector( biosdev, blkoff, (void *)0x7e00 ) == 0 ) + { + bvr->flags |= kBVFlagForeignBoot; + } + else + { + (*bvr->bv_free)(bvr); + bvr = NULL; + } + } + if (bvr) bvr->flags |= bvrFlags; + return bvr; +} + +//========================================================================== + +BVRef newAPMBVRef( int biosdev, int partno, unsigned int blkoff, + const DPME * part, + FSInit initFunc, FSLoadFile loadFunc, + FSReadFile readFunc, + FSGetDirEntry getdirFunc, + FSGetFileBlock getBlockFunc, + FSGetUUID getUUIDFunc, + BVGetDescription getDescriptionFunc, + BVFree bvFreeFunc, + int probe, int type, unsigned int bvrFlags ) +{ + BVRef bvr = (BVRef) malloc( sizeof(*bvr) ); + if ( bvr ) + { + bzero(bvr, sizeof(*bvr)); + + bvr->biosdev = biosdev; + bvr->part_no = partno; + bvr->part_boff = blkoff; + bvr->fs_loadfile = loadFunc; + bvr->fs_readfile = readFunc; + bvr->fs_getdirentry = getdirFunc; + bvr->fs_getfileblock= getBlockFunc; + bvr->fs_getuuid = getUUIDFunc; + bvr->description = getDescriptionFunc; + bvr->type = type; + bvr->bv_free = bvFreeFunc; + strlcpy(bvr->name, part->dpme_name, DPISTRLEN); + strlcpy(bvr->type_name, part->dpme_type, DPISTRLEN); + + /* + if ( part->bootid & FDISK_ACTIVE ) + bvr->flags |= kBVFlagPrimary; + */ + + // Probe the filesystem. + + if ( initFunc ) + { + bvr->flags |= kBVFlagNativeBoot | kBVFlagBootable | kBVFlagSystemVolume; + + if ( probe && initFunc( bvr ) != 0 ) + { + // filesystem probe failed. + + DEBUG_DISK(("%s: failed probe on dev %x part %d\n", + __FUNCTION__, biosdev, partno)); + + (*bvr->bv_free)(bvr); + bvr = NULL; + } + } + /* + else if ( readBootSector( biosdev, blkoff, (void *)0x7e00 ) == 0 ) + { + bvr->flags |= kBVFlagForeignBoot; + } + */ + else + { + (*bvr->bv_free)(bvr); + bvr = NULL; + } + } + if (bvr) bvr->flags |= bvrFlags; + return bvr; +} + +//========================================================================== + +// HFS+ GUID in LE form +EFI_GUID const GPT_HFS_GUID = { 0x48465300, 0x0000, 0x11AA, { 0xAA, 0x11, 0x00, 0x30, 0x65, 0x43, 0xEC, 0xAC } }; +// turbo - also our booter partition +EFI_GUID const GPT_BOOT_GUID = { 0x426F6F74, 0x0000, 0x11AA, { 0xAA, 0x11, 0x00, 0x30, 0x65, 0x43, 0xEC, 0xAC } }; +// turbo - or an efi system partition +EFI_GUID const GPT_EFISYS_GUID = { 0xC12A7328, 0xF81F, 0x11D2, { 0xBA, 0x4B, 0x00, 0xA0, 0xC9, 0x3E, 0xC9, 0x3B } }; +// zef - basic data partition EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 for foreign OS support +EFI_GUID const GPT_BASICDATA_GUID = { 0xEBD0A0A2, 0xB9E5, 0x4433, { 0x87, 0xC0, 0x68, 0xB6, 0xB7, 0x26, 0x99, 0xC7 } }; +EFI_GUID const GPT_BASICDATA2_GUID = { 0xE3C9E316, 0x0B5C, 0x4DB8, { 0x81, 0x7D, 0xF9, 0x2D, 0xF0, 0x02, 0x15, 0xAE } }; + + +BVRef newGPTBVRef( int biosdev, int partno, unsigned int blkoff, + const gpt_ent * part, + FSInit initFunc, FSLoadFile loadFunc, + FSReadFile readFunc, + FSGetDirEntry getdirFunc, + FSGetFileBlock getBlockFunc, + FSGetUUID getUUIDFunc, + BVGetDescription getDescriptionFunc, + BVFree bvFreeFunc, + int probe, int type, unsigned int bvrFlags ) +{ + BVRef bvr = (BVRef) malloc( sizeof(*bvr) ); + if ( bvr ) + { + bzero(bvr, sizeof(*bvr)); + + bvr->biosdev = biosdev; + bvr->part_no = partno; + bvr->part_boff = blkoff; + bvr->fs_loadfile = loadFunc; + bvr->fs_readfile = readFunc; + bvr->fs_getdirentry = getdirFunc; + bvr->fs_getfileblock= getBlockFunc; + bvr->fs_getuuid = getUUIDFunc; + bvr->description = getDescriptionFunc; + bvr->type = type; + bvr->bv_free = bvFreeFunc; + // FIXME: UCS-2 -> UTF-8 the name + strlcpy(bvr->name, "----", DPISTRLEN); + if ( (efi_guid_compare(&GPT_BOOT_GUID, (EFI_GUID const*)part->ent_type) == 0) || + (efi_guid_compare(&GPT_HFS_GUID, (EFI_GUID const*)part->ent_type) == 0) ) + strlcpy(bvr->type_name, "GPT HFS+", DPISTRLEN); + else + strlcpy(bvr->type_name, "GPT Unknown", DPISTRLEN); + + /* + if ( part->bootid & FDISK_ACTIVE ) + bvr->flags |= kBVFlagPrimary; + */ + + // Probe the filesystem. + + if ( initFunc ) + { + bvr->flags |= kBVFlagNativeBoot; + + if ( probe && initFunc( bvr ) != 0 ) + { + // filesystem probe failed. + + DEBUG_DISK(("%s: failed probe on dev %x part %d\n", + __FUNCTION__, biosdev, partno)); + + (*bvr->bv_free)(bvr); + bvr = NULL; + } + if ( readBootSector( biosdev, blkoff, (void *)0x7e00 ) == 0 ) + { + bvr->flags |= kBVFlagBootable; + } + } + else if ( readBootSector( biosdev, blkoff, (void *)0x7e00 ) == 0 ) + { + bvr->flags |= kBVFlagForeignBoot; + } + else + { + (*bvr->bv_free)(bvr); + bvr = NULL; + } + } + if (bvr) bvr->flags |= bvrFlags; + return bvr; +} + +//========================================================================== + +/* A note on partition numbers: + * IOKit makes the primary partitions numbers 1-4, and then + * extended partitions are numbered consecutively 5 and up. + * So, for example, if you have two primary partitions and + * one extended partition they will be numbered 1, 2, 5. + */ + +static BVRef diskScanFDiskBootVolumes( int biosdev, int * countPtr ) +{ + const struct fdisk_part * part; + struct DiskBVMap * map; + int partno = -1; + BVRef bvr; +#if UFS_SUPPORT + BVRef booterUFS = NULL; +#endif + int spc; + struct driveInfo di; + boot_drive_info_t *dp; + + /* Initialize disk info */ + if (getDriveInfo(biosdev, &di) != 0) { + return NULL; + } + dp = &di.di; + spc = (dp->params.phys_spt * dp->params.phys_heads); + if (spc == 0) { + /* This is probably a CD-ROM; punt on the geometry. */ + spc = 1; + } + + do { + // Create a new mapping. + + map = (struct DiskBVMap *) malloc( sizeof(*map) ); + if ( map ) + { + map->biosdev = biosdev; + map->bvr = NULL; + map->bvrcnt = 0; + map->next = gDiskBVMap; + gDiskBVMap = map; + + // Create a record for each partition found on the disk. + + while ( getNextFDiskPartition( biosdev, &partno, &part ) ) + { + DEBUG_DISK(("%s: part %d [%x]\n", __FUNCTION__, + partno, part->systid)); + bvr = 0; + + switch ( part->systid ) + { +#if UFS_SUPPORT + case FDISK_UFS: + bvr = newFDiskBVRef( + biosdev, partno, + part->relsect + UFS_FRONT_PORCH/BPS, + part, + UFSInitPartition, + UFSLoadFile, + UFSReadFile, + UFSGetDirEntry, + UFSGetFileBlock, + UFSGetUUID, + UFSGetDescription, + UFSFree, + 0, + kBIOSDevTypeHardDrive, 0); + break; +#endif + + case FDISK_HFS: + bvr = newFDiskBVRef( + biosdev, partno, + part->relsect, + part, + HFSInitPartition, + HFSLoadFile, + HFSReadFile, + HFSGetDirEntry, + HFSGetFileBlock, + HFSGetUUID, + HFSGetDescription, + HFSFree, + 0, + kBIOSDevTypeHardDrive, 0); + break; + + // turbo - we want the booter type scanned also + case FDISK_BOOTER: + if (part->bootid & FDISK_ACTIVE) + gBIOSBootVolume = newFDiskBVRef( + biosdev, partno, + part->relsect, + part, + HFSInitPartition, + HFSLoadFile, + HFSReadFile, + HFSGetDirEntry, + HFSGetFileBlock, + HFSGetUUID, + HFSGetDescription, + HFSFree, + 0, + kBIOSDevTypeHardDrive, 0); + break; + +#if UFS_SUPPORT + case FDISK_BOOTER: + booterUFS = newFDiskBVRef( + biosdev, partno, + ((part->relsect + spc - 1) / spc) * spc, + part, + UFSInitPartition, + UFSLoadFile, + UFSReadFile, + UFSGetDirEntry, + UFSGetFileBlock, + UFSGetUUID, + UFSGetDescription, + UFSFree, + 0, + kBIOSDevTypeHardDrive, 0); + break; +#endif + + case FDISK_FAT32: + case FDISK_DOS12: + case FDISK_DOS16S: + case FDISK_DOS16B: + case FDISK_SMALLFAT32: + case FDISK_DOS16SLBA: + bvr = newFDiskBVRef( + biosdev, partno, + part->relsect, + part, + MSDOSInitPartition, + MSDOSLoadFile, + MSDOSReadFile, + MSDOSGetDirEntry, + MSDOSGetFileBlock, + MSDOSGetUUID, + MSDOSGetDescription, + MSDOSFree, + 0, + kBIOSDevTypeHardDrive, 0); + break; + + case FDISK_NTFS: + bvr = newFDiskBVRef( + biosdev, partno, + part->relsect, + part, + 0, 0, 0, 0, 0, 0, + NTFSGetDescription, + (BVFree)free, + 0, kBIOSDevTypeHardDrive, 0); + break; + + case FDISK_LINUX: + bvr = newFDiskBVRef( + biosdev, partno, + part->relsect, + part, + 0, 0, 0, 0, 0, 0, + EX2GetDescription, + (BVFree)free, + 0, kBIOSDevTypeHardDrive, 0); + break; + + default: + bvr = newFDiskBVRef( + biosdev, partno, + part->relsect, + part, + 0, 0, 0, 0, 0, 0, 0, + (BVFree)free, + 0, + kBIOSDevTypeHardDrive, 0); + break; + } + + if ( bvr ) + { + bvr->next = map->bvr; + map->bvr = bvr; + map->bvrcnt++; + } + } + +#if UFS_SUPPORT + // Booting from a CD with an UFS filesystem embedded + // in a booter partition. + + if ( booterUFS ) + { + if ( map->bvrcnt == 0 ) + { + map->bvr = booterUFS; + map->bvrcnt++; + } + else free( booterUFS ); + } +#endif + } + } while (0); + + /* + * If no FDisk partition, then we will check for + * an Apple partition map elsewhere. + */ +#if UNUSED + if (map->bvrcnt == 0) { + static struct fdisk_part cdpart; + cdpart.systid = 0xCD; + + /* Let's try assuming we are on a hybrid HFS/ISO9660 CD. */ + bvr = newFDiskBVRef( + biosdev, 0, + 0, + &cdpart, + HFSInitPartition, + HFSLoadFile, + HFSReadFile, + HFSGetDirEntry, + HFSGetFileBlock, + HFSGetUUID, + 0, + kBIOSDevTypeHardDrive); + bvr->next = map->bvr; + map->bvr = bvr; + map->bvrcnt++; + } +#endif + // Actually this should always be true given the above code + if(map == gDiskBVMap) + { + // Don't leave a null map in the chain + if(map->bvrcnt == 0 && map->bvr == NULL) + { + gDiskBVMap = map->next; + free(map); + map = NULL; + } + } + + if (countPtr) *countPtr = map ? map->bvrcnt : 0; + + return map ? map->bvr : NULL; +} + +//========================================================================== + +static BVRef diskScanAPMBootVolumes( int biosdev, int * countPtr ) +{ + struct DiskBVMap * map; + struct Block0 *block0_p; + unsigned int blksize; + unsigned int factor; + void *buffer = malloc(BPS); + + /* Check for alternate block size */ + if (readBytes( biosdev, 0, 0, BPS, buffer ) != 0) { + return NULL; + } + block0_p = buffer; + if (OSSwapBigToHostInt16(block0_p->sbSig) == BLOCK0_SIGNATURE) { + blksize = OSSwapBigToHostInt16(block0_p->sbBlkSize); + if (blksize != BPS) { + free(buffer); + buffer = malloc(blksize); + } + factor = blksize / BPS; + } else { + blksize = BPS; + factor = 1; + } + + do { + // Create a new mapping. + + map = (struct DiskBVMap *) malloc( sizeof(*map) ); + if ( map ) + { + int error; + DPME *dpme_p = (DPME *)buffer; + UInt32 i, npart = UINT_MAX; + BVRef bvr; + + map->biosdev = biosdev; + map->bvr = NULL; + map->bvrcnt = 0; + map->next = gDiskBVMap; + gDiskBVMap = map; + + for (i=0; idpme_signature) != DPME_SIGNATURE) { + break; + } + + if (i==0) { + npart = OSSwapBigToHostInt32(dpme_p->dpme_map_entries); + } + /* + printf("name = %s, %s%s %d -> %d [%d -> %d] {%d}\n", + dpme.dpme_name, dpme.dpme_type, (dpme.dpme_flags & DPME_FLAGS_BOOTABLE) ? "(bootable)" : "", + dpme.dpme_pblock_start, dpme.dpme_pblocks, + dpme.dpme_lblock_start, dpme.dpme_lblocks, + dpme.dpme_boot_block); + */ + + if (strcmp(dpme_p->dpme_type, "Apple_HFS") == 0) { + bvr = newAPMBVRef(biosdev, + i, + OSSwapBigToHostInt32(dpme_p->dpme_pblock_start) * factor, + dpme_p, + HFSInitPartition, + HFSLoadFile, + HFSReadFile, + HFSGetDirEntry, + HFSGetFileBlock, + HFSGetUUID, + HFSGetDescription, + HFSFree, + 0, + kBIOSDevTypeHardDrive, 0); + bvr->next = map->bvr; + map->bvr = bvr; + map->bvrcnt++; + } + } + } + } while (0); + + free(buffer); + + if (countPtr) *countPtr = map ? map->bvrcnt : 0; + + return map ? map->bvr : NULL; +} + +//========================================================================== + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/* + * Trying to figure out the filsystem type of a given partition. + */ +static int probeFileSystem(int biosdev, unsigned int blkoff) +{ + // detected filesystem type; + int result = -1; + int fatbits; + + // Allocating buffer for 4 sectors. + const void * probeBuffer = malloc(PROBEFS_SIZE); + if (probeBuffer == NULL) + goto exit; + + // Reading first 4 sectors of current partition + int error = readBytes(biosdev, blkoff, 0, PROBEFS_SIZE, (void *)probeBuffer); + if (error) + goto exit; + + if (HFSProbe(probeBuffer)) + result = FDISK_HFS; + else if (EX2Probe(probeBuffer)) + result = FDISK_LINUX; + else if (NTFSProbe(probeBuffer)) + result = FDISK_NTFS; + else if (fatbits=MSDOSProbe(probeBuffer)) + { + switch (fatbits) + { + case 32: + default: + result = FDISK_FAT32; + break; + case 16: + result = FDISK_DOS16B; + break; + case 12: + result = FDISK_DOS12; + break; + } + } + else + // Couldn't detect filesystem type + result = 0; + +exit: + if (probeBuffer != NULL) free((void *)probeBuffer); + return result; +} + +static bool isPartitionUsed(gpt_ent * partition) +{ + // + // Ask whether the given partition is used. + // + + return efi_guid_is_null((EFI_GUID const*)partition->ent_type) ? false : true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +static BVRef diskScanGPTBootVolumes( int biosdev, int * countPtr ) +{ + struct DiskBVMap * map = NULL; + void *buffer = malloc(BPS); + int error; + if ( error = readBytes( biosdev, /*secno*/0, 0, BPS, buffer ) != 0) { + verbose("Failed to read boot sector from BIOS device %02xh. Error=%d\n", biosdev, error); + goto scanErr; + } + struct REAL_disk_blk0 *fdiskMap = buffer; + if ( OSSwapLittleToHostInt16(fdiskMap->signature) != DISK_SIGNATURE ) + { + verbose("Failed to find boot signature on BIOS device %02xh\n", biosdev); + goto scanErr; + } + + int fdiskID = 0; + unsigned index; + for ( index = 0; index < FDISK_NPART; index++ ) + { + if ( fdiskMap->parts[index].systid ) + { + if ( fdiskMap->parts[index].systid == 0xEE ) + { + // Fail if two 0xEE partitions are present which + // means the FDISK code will wind up parsing it. + if ( fdiskID ) goto scanErr; + + fdiskID = index + 1; + } + } + } + + if ( fdiskID == 0 ) goto scanErr; + verbose("Attempting to read GPT\n"); + + if(readBytes(biosdev, 1, 0, BPS, buffer) != 0) + goto scanErr; + + gpt_hdr *headerMap = buffer; + + // Determine whether the partition header signature is present. + + if ( memcmp(headerMap->hdr_sig, GPT_HDR_SIG, strlen(GPT_HDR_SIG)) ) + { + goto scanErr; + } + + // Determine whether the partition header size is valid. + + UInt32 headerCheck = OSSwapLittleToHostInt32(headerMap->hdr_crc_self); + UInt32 headerSize = OSSwapLittleToHostInt32(headerMap->hdr_size); + + if ( headerSize < offsetof(gpt_hdr, padding) ) + { + goto scanErr; + } + + if ( headerSize > BPS ) + { + goto scanErr; + } + + // Determine whether the partition header checksum is valid. + + headerMap->hdr_crc_self = 0; + + if ( crc32(0, headerMap, headerSize) != headerCheck ) + { + goto scanErr; + } + + // Determine whether the partition entry size is valid. + + UInt64 gptBlock = 0; + UInt32 gptCheck = 0; + UInt32 gptCount = 0; + UInt32 gptID = 0; + gpt_ent * gptMap = 0; + UInt32 gptSize = 0; + + gptBlock = OSSwapLittleToHostInt64(headerMap->hdr_lba_table); + gptCheck = OSSwapLittleToHostInt32(headerMap->hdr_crc_table); + gptCount = OSSwapLittleToHostInt32(headerMap->hdr_entries); + gptSize = OSSwapLittleToHostInt32(headerMap->hdr_entsz); + + if ( gptSize < sizeof(gpt_ent) ) + { + goto scanErr; + } + + // Allocate a buffer large enough to hold one map, rounded to a media block. + free(buffer); + buffer = NULL; + + UInt32 bufferSize = IORound(gptCount * gptSize, BPS); + if(bufferSize == 0) + goto scanErr; + buffer = malloc(bufferSize); + + if(readBytes(biosdev, gptBlock, 0, bufferSize, buffer) != 0) + goto scanErr; + + verbose("Read GPT\n"); + + // Allocate a new map for this BIOS device and insert it into the chain + map = malloc(sizeof(*map)); + map->biosdev = biosdev; + map->bvr = NULL; + map->bvrcnt = 0; + map->next = gDiskBVMap; + gDiskBVMap = map; + + // fdisk like partition type id. + int fsType = 0; + + for(gptID = 1; gptID <= gptCount; ++gptID) + { + BVRef bvr = NULL; + unsigned int bvrFlags = 0; + + // size on disk can be larger than sizeof(gpt_ent) + gptMap = (gpt_ent *) ( buffer + ( (gptID - 1) * gptSize) ); + + // NOTE: EFI_GUID's are in LE and we know we're on an x86. + // The IOGUIDPartitionScheme.cpp code uses byte-based UUIDs, we don't. + + if(isPartitionUsed(gptMap)) + { + char stringuuid[100]; + efi_guid_unparse_upper((EFI_GUID*)gptMap->ent_type, stringuuid); + verbose("Reading GPT partition %d, type %s\n", gptID, stringuuid); + + // Getting fdisk like partition type. + fsType = probeFileSystem(biosdev, gptMap->ent_lba_start); + + if ( (efi_guid_compare(&GPT_BOOT_GUID, (EFI_GUID const*)gptMap->ent_type) == 0) || + (efi_guid_compare(&GPT_HFS_GUID, (EFI_GUID const*)gptMap->ent_type) == 0) ) + { + bvrFlags = (efi_guid_compare(&GPT_BOOT_GUID, (EFI_GUID const*)gptMap->ent_type) == 0) ? kBVFlagBooter : 0; + bvr = newGPTBVRef(biosdev, + gptID, + gptMap->ent_lba_start, + gptMap, + HFSInitPartition, + HFSLoadFile, + HFSReadFile, + HFSGetDirEntry, + HFSGetFileBlock, + HFSGetUUID, + HFSGetDescription, + HFSFree, + 0, + kBIOSDevTypeHardDrive, bvrFlags); + } + + // zef - foreign OS support + if ( (efi_guid_compare(&GPT_BASICDATA_GUID, (EFI_GUID const*)gptMap->ent_type) == 0) || + (efi_guid_compare(&GPT_BASICDATA2_GUID, (EFI_GUID const*)gptMap->ent_type) == 0) ) + { + switch (fsType) + { + case FDISK_NTFS: + bvr = newGPTBVRef(biosdev, gptID, gptMap->ent_lba_start, gptMap, + 0, 0, 0, 0, 0, 0, NTFSGetDescription, + (BVFree)free, 0, kBIOSDevTypeHardDrive, 0); + break; + + default: + bvr = newGPTBVRef(biosdev, gptID, gptMap->ent_lba_start, gptMap, + 0, 0, 0, 0, 0, 0, 0, + (BVFree)free, 0, kBIOSDevTypeHardDrive, 0); + break; + } + + } + + // turbo - save our booter partition + // zef - only on original boot device + if ( (efi_guid_compare(&GPT_EFISYS_GUID, (EFI_GUID const*)gptMap->ent_type) == 0) ) + { + switch (fsType) + { + case FDISK_HFS: + if (readBootSector( biosdev, gptMap->ent_lba_start, (void *)0x7e00 ) == 0) + { + bvr = newGPTBVRef(biosdev, gptID, gptMap->ent_lba_start, gptMap, + HFSInitPartition, + HFSLoadFile, + HFSReadFile, + HFSGetDirEntry, + HFSGetFileBlock, + HFSGetUUID, + HFSGetDescription, + HFSFree, + 0, kBIOSDevTypeHardDrive, kBVFlagEFISystem); + } + break; + + case FDISK_FAT32: + if (testFAT32EFIBootSector( biosdev, gptMap->ent_lba_start, (void *)0x7e00 ) == 0) + { + bvr = newGPTBVRef(biosdev, gptID, gptMap->ent_lba_start, gptMap, + MSDOSInitPartition, + MSDOSLoadFile, + MSDOSReadFile, + MSDOSGetDirEntry, + MSDOSGetFileBlock, + MSDOSGetUUID, + MSDOSGetDescription, + MSDOSFree, + 0, kBIOSDevTypeHardDrive, kBVFlagEFISystem); + } + break; + + if (biosdev == gBIOSDev) + gBIOSBootVolume = bvr; + } + } + + if (bvr) + { + // Fixup bvr with the fake fdisk partition type. + if (fsType > 0) bvr->part_type = fsType; + + bvr->next = map->bvr; + map->bvr = bvr; + ++map->bvrcnt; + } + + } + } + +scanErr: + free(buffer); + + if(map) + { + if(countPtr) *countPtr = map->bvrcnt; + return map->bvr; + } + else + { + if(countPtr) *countPtr = 0; + return NULL; + } +} + +//========================================================================== + +static void scanFSLevelBVRSettings(BVRef chain) +{ + BVRef bvr; + char dirSpec[512], fileSpec[512]; + char label[BVSTRLEN]; + int ret; + long flags, time; + int fh, fileSize, error; + + for (bvr = chain; bvr; bvr = bvr->next) + { + ret = -1; + error = 0; + + // + // Check for alternate volume label on boot helper partitions. + // + if (bvr->flags & kBVFlagBooter) + { + sprintf(dirSpec, "hd(%d,%d)/System/Library/CoreServices/", BIOS_DEV_UNIT(bvr), bvr->part_no); + strcpy(fileSpec, ".disk_label.contentDetails"); + ret = GetFileInfo(dirSpec, fileSpec, &flags, &time); + if (!ret) + { + fh = open(strcat(dirSpec, fileSpec), 0); + fileSize = file_size(fh); + if (fileSize > 0 && fileSize < BVSTRLEN) + { + if (read(fh, label, fileSize) != fileSize) + error = -1; + } + else + error = -1; + + close(fh); + + if (!error) + { + label[fileSize] = '\0'; + strcpy(bvr->altlabel, label); + } + } + } + + // + // Check for SystemVersion.plist or ServerVersion.plist + // to determine if a volume hosts an installed system. + // + if (bvr->flags & kBVFlagNativeBoot) + { + sprintf(dirSpec, "hd(%d,%d)/System/Library/CoreServices/", BIOS_DEV_UNIT(bvr), bvr->part_no); + strcpy(fileSpec, "SystemVersion.plist"); + ret = GetFileInfo(dirSpec, fileSpec, &flags, &time); + + if (ret == -1) + { + strcpy(fileSpec, "ServerVersion.plist"); + ret = GetFileInfo(dirSpec, fileSpec, &flags, &time); + } + + if (!ret) + bvr->flags |= kBVFlagSystemVolume; + } + + } +} + +void rescanBIOSDevice(int biosdev) +{ + struct DiskBVMap *oldMap = diskResetBootVolumes(biosdev); + CacheReset(); + diskFreeMap(oldMap); + oldMap = NULL; + + scanBootVolumes(biosdev, 0); +} + +struct DiskBVMap* diskResetBootVolumes(int biosdev) +{ + struct DiskBVMap * map; + struct DiskBVMap *prevMap = NULL; + for ( map = gDiskBVMap; map; prevMap = map, map = map->next ) { + if ( biosdev == map->biosdev ) { + break; + } + } + if(map != NULL) + { + verbose("Resetting BIOS device %xh\n", biosdev); + // Reset the biosbuf cache + cache_valid = FALSE; + if(map == gDiskBVMap) + gDiskBVMap = map->next; + else if(prevMap != NULL) + prevMap->next = map->next; + else + stop(""); + } + // Return the old map, either to be freed, or reinserted later + return map; +} + +// Frees a DiskBVMap and all of its BootVolume's +void diskFreeMap(struct DiskBVMap *map) +{ + if(map != NULL) + { + while(map->bvr != NULL) + { + BVRef bvr = map->bvr; + map->bvr = bvr->next; + (*bvr->bv_free)(bvr); + } + free(map); + } +} + +BVRef diskScanBootVolumes( int biosdev, int * countPtr ) +{ + struct DiskBVMap * map; + BVRef bvr; + int count = 0; + + // Find an existing mapping for this device. + + for ( map = gDiskBVMap; map; map = map->next ) { + if ( biosdev == map->biosdev ) { + count = map->bvrcnt; + break; + } + } + + if (map == NULL) { + bvr = diskScanGPTBootVolumes(biosdev, &count); + if (bvr == NULL) { + bvr = diskScanFDiskBootVolumes(biosdev, &count); + } + if (bvr == NULL) { + bvr = diskScanAPMBootVolumes(biosdev, &count); + } + if (bvr) + { + scanFSLevelBVRSettings(bvr); + } + } else { + bvr = map->bvr; + } + if (countPtr) *countPtr += count; + return bvr; +} + +BVRef getBVChainForBIOSDev(int biosdev) +{ + BVRef chain = NULL; + struct DiskBVMap * map = NULL; + + for (map = gDiskBVMap; map; map = map->next) + { + if (map->biosdev == biosdev) + { + chain = map->bvr; + break; + } + } + + return chain; +} + +BVRef newFilteredBVChain(int minBIOSDev, int maxBIOSDev, unsigned int allowFlags, unsigned int denyFlags, int *count) +{ + BVRef chain = NULL; + BVRef bvr = NULL; + BVRef newBVR = NULL; + BVRef prevBVR = NULL; + + struct DiskBVMap * map = NULL; + int bvCount = 0; + + const char *val; + char devsw[12]; + int len; + + /* + * Traverse gDISKBVmap to get references for + * individual bvr chains of each drive. + */ + for (map = gDiskBVMap; map; map = map->next) + { + for (bvr = map->bvr; bvr; bvr = bvr->next) + { + /* + * Save the last bvr. + */ + if (newBVR) prevBVR = newBVR; + + /* + * Allocate and copy the matched bvr entry into a new one. + */ + newBVR = (BVRef) malloc(sizeof(*newBVR)); + bcopy(bvr, newBVR, sizeof(*newBVR)); + + /* + * Adjust the new bvr's fields. + */ + newBVR->next = NULL; + newBVR->filtered = TRUE; + + if ( (!allowFlags || newBVR->flags & allowFlags) + && (!denyFlags || !(newBVR->flags & denyFlags) ) + && (newBVR->biosdev >= minBIOSDev && newBVR->biosdev <= maxBIOSDev) + ) + newBVR->visible = TRUE; + + /* + * Looking for "Hide Partition" entries in "hd(x,y) hd(n,m)" format + * to be able to hide foreign partitions from the boot menu. + */ + if ( (newBVR->flags & kBVFlagForeignBoot) + && getValueForKey("Hide Partition", &val, &len, &bootInfo->bootConfig) + ) + { + sprintf(devsw, "hd(%d,%d)", BIOS_DEV_UNIT(newBVR), newBVR->part_no); + if (strstr(val, devsw) != NULL) + newBVR->visible = FALSE; + } + + /* + * Use the first bvr entry as the starting chain pointer. + */ + if (!chain) + chain = newBVR; + + /* + * Update the previous bvr's link pointer to use the new memory area. + */ + if (prevBVR) + prevBVR->next = newBVR; + + if (newBVR->visible) + bvCount++; + } + } + +#if DEBUG + for (bvr = chain; bvr; bvr = bvr->next) + { + printf(" bvr: %d, dev: %d, part: %d, flags: %d, vis: %d\n", bvr, bvr->biosdev, bvr->part_no, bvr->flags, bvr->visible); + } + printf("count: %d\n", bvCount); + getc(); +#endif + + *count = bvCount; + return chain; +} + +int freeFilteredBVChain(const BVRef chain) +{ + int ret = 1; + BVRef bvr = chain; + BVRef nextBVR = NULL; + + while (bvr) + { + nextBVR = bvr->next; + + if (bvr->filtered) + { + free(bvr); + } + else + { + ret = 0; + break; + } + + bvr = nextBVR; + } + + return ret; +} + +//========================================================================== + +static const struct NamedValue fdiskTypes[] = +{ + { FDISK_NTFS, "Windows NTFS" }, + { FDISK_DOS12, "Windows FAT12" }, + { FDISK_DOS16B, "Windows FAT16" }, + { FDISK_DOS16S, "Windows FAT16" }, + { FDISK_DOS16SLBA, "Windows FAT16" }, + { FDISK_SMALLFAT32, "Windows FAT32" }, + { FDISK_FAT32, "Windows FAT32" }, + { FDISK_LINUX, "Linux" }, + { FDISK_UFS, "Apple UFS" }, + { FDISK_HFS, "Apple HFS" }, + { FDISK_BOOTER, "Apple Boot/UFS" }, + { 0xCD, "CD-ROM" }, + { 0x00, 0 } /* must be last */ +}; + +//========================================================================== + +void getBootVolumeDescription( BVRef bvr, char * str, long strMaxLen, BOOL verbose ) +{ + unsigned char type = (unsigned char) bvr->part_type; + char *p; + + p = str; + if (verbose) + { + sprintf( str, "hd(%d,%d) ", + BIOS_DEV_UNIT(bvr), bvr->part_no); + for (; strMaxLen > 0 && *p != '\0'; p++, strMaxLen--); + } + + // + // Get the volume label using filesystem specific functions + // or use the alternate volume label if available. + // + if (*bvr->altlabel == '\0') + { + if (bvr->description) + bvr->description(bvr, p, strMaxLen); + } + else + strncpy(p, bvr->altlabel, strMaxLen); + + if (*p == '\0') { + const char * name = getNameForValue( fdiskTypes, type ); + if (name == NULL) { + name = bvr->type_name; + } + if (name == NULL) { + sprintf(p, "TYPE %02x", type); + } else { + strncpy(p, name, strMaxLen); + } + } + + // Set the devices label + sprintf(bvr->label, p); +} + +//========================================================================== + +int readBootSector( int biosdev, unsigned int secno, void * buffer ) +{ + struct disk_blk0 * bootSector = (struct disk_blk0 *) buffer; + int error; + + if ( bootSector == NULL ) + { + if ( gBootSector == NULL ) + { + gBootSector = (struct disk_blk0 *) malloc(sizeof(*gBootSector)); + if ( gBootSector == NULL ) return -1; + } + bootSector = gBootSector; + } + + error = readBytes( biosdev, secno, 0, BPS, bootSector ); + if ( error || bootSector->signature != DISK_SIGNATURE ) + return -1; + + return 0; +} + +/* + * Format of boot1f32 block. + */ + +#define BOOT1F32_MAGIC "BOOT " +#define BOOT1F32_MAGICLEN 11 + +struct disk_boot1f32_blk { + unsigned char init[3]; + unsigned char fsheader[87]; + unsigned char magic[BOOT1F32_MAGICLEN]; + unsigned char bootcode[409]; + unsigned short signature; +}; + +int testFAT32EFIBootSector( int biosdev, unsigned int secno, void * buffer ) +{ + struct disk_boot1f32_blk * bootSector = (struct disk_boot1f32_blk *) buffer; + int error; + + if ( bootSector == NULL ) + { + if ( gBootSector == NULL ) + { + gBootSector = (struct disk_blk0 *) malloc(sizeof(*gBootSector)); + if ( gBootSector == NULL ) return -1; + } + bootSector = (struct disk_boot1f32_blk *) gBootSector; + } + + error = readBytes( biosdev, secno, 0, BPS, bootSector ); + if ( error || bootSector->signature != DISK_SIGNATURE + || strncmp((const char *)bootSector->magic, BOOT1F32_MAGIC, BOOT1F32_MAGICLEN) ) + return -1; + + return 0; +} + +//========================================================================== +// Handle seek request from filesystem modules. + +void diskSeek( BVRef bvr, long long position ) +{ + bvr->fs_boff = position / BPS; + bvr->fs_byteoff = position % BPS; +} + +//========================================================================== +// Handle read request from filesystem modules. + +int diskRead( BVRef bvr, long addr, long length ) +{ + return readBytes( bvr->biosdev, + bvr->fs_boff + bvr->part_boff, + bvr->fs_byteoff, + length, + (void *) addr ); +} + +int rawDiskRead( BVRef bvr, unsigned int secno, void *buffer, unsigned int len ) +{ + int secs; + unsigned char *cbuf = (unsigned char *)buffer; + unsigned int copy_len; + int rc; + + if ((len & (BPS-1)) != 0) { + error("raw disk read not sector aligned"); + return -1; + } + secno += bvr->part_boff; + + cache_valid = FALSE; + + while (len > 0) { + secs = len / BPS; + if (secs > N_CACHE_SECS) secs = N_CACHE_SECS; + copy_len = secs * BPS; + + //printf("rdr: ebiosread(%d, %d, %d)\n", bvr->biosdev, secno, secs); + if ((rc = ebiosread(bvr->biosdev, secno, secs)) != 0) { + /* Ignore corrected ECC errors */ + if (rc != ECC_CORRECTED_ERR) { + error(" EBIOS read error: %s\n", bios_error(rc), rc); + error(" Block %d Sectors %d\n", secno, secs); + return rc; + } + } + bcopy( trackbuf, cbuf, copy_len ); + len -= copy_len; + cbuf += copy_len; + secno += secs; + spinActivityIndicator(secs); + } + + return 0; +} + +int rawDiskWrite( BVRef bvr, unsigned int secno, void *buffer, unsigned int len ) +{ + int secs; + unsigned char *cbuf = (unsigned char *)buffer; + unsigned int copy_len; + int rc; + + if ((len & (BPS-1)) != 0) { + error("raw disk write not sector aligned"); + return -1; + } + secno += bvr->part_boff; + + cache_valid = FALSE; + + while (len > 0) { + secs = len / BPS; + if (secs > N_CACHE_SECS) secs = N_CACHE_SECS; + copy_len = secs * BPS; + + bcopy( cbuf, trackbuf, copy_len ); + //printf("rdr: ebioswrite(%d, %d, %d)\n", bvr->biosdev, secno, secs); + if ((rc = ebioswrite(bvr->biosdev, secno, secs)) != 0) { + error(" EBIOS write error: %s\n", bios_error(rc), rc); + error(" Block %d Sectors %d\n", secno, secs); + return rc; + } + len -= copy_len; + cbuf += copy_len; + secno += secs; + spinActivityIndicator(secs); + } + + return 0; +} + + +int diskIsCDROM(BVRef bvr) +{ + struct driveInfo di; + + if (getDriveInfo(bvr->biosdev, &di) == 0 && di.no_emulation) { + return 1; + } + return 0; +} + +int biosDevIsCDROM(int biosdev) +{ + struct driveInfo di; + + if (getDriveInfo(biosdev, &di) == 0 && di.no_emulation) + { + return 1; + } + return 0; +} Index: branches/prasys/i386/libsaio/pci_setup.c =================================================================== --- branches/prasys/i386/libsaio/pci_setup.c (revision 0) +++ branches/prasys/i386/libsaio/pci_setup.c (revision 24) @@ -0,0 +1,90 @@ +#include "libsaio.h" +#include "bootstruct.h" +#include "pci.h" + +extern void set_eth_builtin(pci_dt_t *eth_dev); +extern bool setup_nvidia_devprop(pci_dt_t *nvda_dev); +extern bool setup_ati_devprop(pci_dt_t *ati_dev); +extern int ehci_acquire(pci_dt_t *pci_dev); +extern int uhci_reset(pci_dt_t *pci_dev); +extern void force_enable_hpet(pci_dt_t *lpc_dev); + +void setup_pci_devs(pci_dt_t *pci_dt) +{ + char *devicepath; + BOOL do_eth_devprop, do_gfx_devprop, fix_ehci, fix_uhci, fix_usb, do_enable_hpet; + pci_dt_t *current = pci_dt; + + do_eth_devprop = do_gfx_devprop = fix_ehci = fix_uhci = fix_usb = do_enable_hpet = false; + + getBoolForKey("EthernetBuiltIn", &do_eth_devprop, &bootInfo->bootConfig); + getBoolForKey("GraphicsEnabler", &do_gfx_devprop, &bootInfo->bootConfig); + if (getBoolForKey("USBBusFix", &fix_usb, &bootInfo->bootConfig) && fix_usb) + fix_ehci = fix_uhci = true; + else + { + getBoolForKey("EHCIacquire", &fix_ehci, &bootInfo->bootConfig); + getBoolForKey("UHCIreset", &fix_uhci, &bootInfo->bootConfig); + } + getBoolForKey("ForceHPET", &do_enable_hpet, &bootInfo->bootConfig); + + while (current) + { + devicepath = get_pci_dev_path(current); + + switch (current->class_id) + { + case PCI_CLASS_NETWORK_ETHERNET: + if (do_eth_devprop) + set_eth_builtin(current); + break; + + case PCI_CLASS_DISPLAY_VGA: + if (do_gfx_devprop) + switch (current->vendor_id) + { + case PCI_VENDOR_ID_ATI: + verbose("ATI VGA Controller [%04x:%04x] :: %s \n", + current->vendor_id, current->device_id, devicepath); + setup_ati_devprop(current); + break; + + case PCI_VENDOR_ID_INTEL: + /* message to be removed once support for these cards is added */ + verbose("Intel VGA Controller [%04x:%04x] :: %s (currently NOT SUPPORTED)\n", + current->vendor_id, current->device_id, devicepath); + break; + + case PCI_VENDOR_ID_NVIDIA: + setup_nvidia_devprop(current); + break; + } + break; + + case PCI_CLASS_SERIAL_USB: + switch (pci_config_read8(current->dev.addr, PCI_CLASS_PROG)) + { + /* EHCI */ + case 0x20: + if (fix_ehci) + ehci_acquire(current); + break; + + /* UHCI */ + case 0x00: + if (fix_uhci) + uhci_reset(current); + break; + } + break; + + case PCI_CLASS_BRIDGE_ISA: + if (do_enable_hpet) + force_enable_hpet(current); + break; + } + + setup_pci_devs(current->children); + current = current->next; + } +} Property changes on: branches/prasys/i386/libsaio/pci_setup.c ___________________________________________________________________ Added: svn:executable + * Index: branches/prasys/i386/libsaio/hpet.c =================================================================== --- branches/prasys/i386/libsaio/hpet.c (revision 0) +++ branches/prasys/i386/libsaio/hpet.c (revision 24) @@ -0,0 +1,103 @@ +/* + * + */ + +#include "libsaio.h" +#include "pci.h" +#include "hpet.h" + +#ifndef DEBUG_HPET +#define DEBUG_HPET 0 +#endif + +#if DEBUG_HPET +#define DBG(x...) printf(x) +#else +#define DBG(x...) +#endif + +static struct lpc_controller_t lpc_controllers[] = { + + // Default unknown chipset + { 0, 0, "" }, + + // Intel + { 0x8086, 0x24dc, "ICH5" }, + { 0x8086, 0x2640, "ICH6" }, + { 0x8086, 0x2641, "ICH6M" }, + + { 0x8086, 0x27b0, "ICH7 DH" }, + { 0x8086, 0x27b8, "ICH7" }, + { 0x8086, 0x27b9, "ICH7M" }, + { 0x8086, 0x27bd, "ICH7M DH" }, + + { 0x8086, 0x2810, "ICH8R" }, + { 0x8086, 0x2811, "ICH8M-E" }, + { 0x8086, 0x2812, "ICH8DH" }, + { 0x8086, 0x2814, "ICH8DO" }, + { 0x8086, 0x2815, "ICH8M" }, + + { 0x8086, 0x2912, "ICH9DH" }, + { 0x8086, 0x2914, "ICH9DO" }, + { 0x8086, 0x2916, "ICH9R" }, + { 0x8086, 0x2917, "ICH9M-E" }, + { 0x8086, 0x2918, "ICH9" }, + { 0x8086, 0x2919, "ICH9M" }, + + { 0x8086, 0x3a14, "ICH10DO" }, + { 0x8086, 0x3a16, "ICH10R" }, + { 0x8086, 0x3a18, "ICH10" }, + { 0x8086, 0x3a1a, "ICH10D" }, + +}; + +void force_enable_hpet(pci_dt_t *lpc_dev) +{ + int i; + uint32_t val, hpet_address = 0xFED00000; + void *rcba; + + /* LPC on Intel ICH is always (?) at 00:1f.0 */ + for(i = 1; i < sizeof(lpc_controllers) / sizeof(lpc_controllers[0]); i++) + if ((lpc_controllers[i].vendor == lpc_dev->vendor_id) + && (lpc_controllers[i].device == lpc_dev->device_id)) + { + rcba = (void *)(pci_config_read32(lpc_dev->dev.addr, 0xF0) & 0xFFFFC000); + + DBG("Intel(R) %s LPC Interface [%04x:%04x], MMIO @ 0x%lx\n", + lpc_controllers[i].name, lpc_dev->vendor_id, lpc_dev->device_id, rcba); + + if (rcba == 0) + printf(" RCBA disabled; cannot force enable HPET\n"); + else + { + val = REG32(rcba, 0x3404); + if (val & 0x80) + { + // HPET is enabled in HPTC. Just not reported by BIOS + DBG(" HPET is enabled in HPTC, just not reported by BIOS\n"); + hpet_address |= (val & 3) << 12 ; + DBG(" HPET MMIO @ 0x%lx\n", hpet_address); + } + else + { + // HPET disabled in HPTC. Trying to enable + DBG(" HPET is disabled in HPTC, trying to enable\n"); + REG32(rcba, 0x3404) = val | 0x80; + hpet_address |= (val & 3) << 12 ; + DBG(" Force enabled HPET, MMIO @ 0x%lx\n", hpet_address); + } + + // verify if the job is done + val = REG32(rcba, 0x3404); + if (!(val & 0x80)) + printf(" Failed to force enable HPET\n"); + } + break; + } + +#if DEBUG_HPET + printf("Press [Enter] to continue...\n"); + getc(); +#endif +} Index: branches/prasys/i386/libsaio/cache.c =================================================================== --- branches/prasys/i386/libsaio/cache.c (revision 0) +++ branches/prasys/i386/libsaio/cache.c (revision 24) @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * The contents of this file constitute Original Code as defined in and + * are subject to the Apple Public Source License Version 2.0 (the + * "License"). You may not use this file except in compliance with the + * License. Please obtain a copy of the License at + * http://www.apple.com/publicsource and read it before using this file. + * + * This Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * cache.c - A simple cache for file systems meta-data. + * + * Copyright (c) 2000 Apple Computer, Inc. + * + * DRI: Josh de Cesare + */ + +#include +// #include + +struct CacheEntry { + CICell ih; + long time; + long long offset; +}; +typedef struct CacheEntry CacheEntry; + +#define kCacheSize (0x100000) +#define kCacheMinBlockSize (0x200) +#define kCacheMaxBlockSize (0x4000) +#define kCacheMaxEntries (kCacheSize / kCacheMinBlockSize) + +static CICell gCacheIH; +static long gCacheBlockSize; +static long gCacheNumEntries; +static long gCacheTime; + +#ifdef __i386__ +static CacheEntry *gCacheEntries; +static char *gCacheBuffer; +#else +static CacheEntry gCacheEntries[kCacheMaxEntries]; +static char gCacheBuffer[kCacheSize]; +#endif + +#if CACHE_STATS +unsigned long gCacheHits; +unsigned long gCacheMisses; +unsigned long gCacheEvicts; +#endif + +void CacheReset() +{ + gCacheIH = NULL; +} + +void CacheInit( CICell ih, long blockSize ) +{ +#ifdef __i386__ + if ((ih == gCacheIH) && (blockSize == gCacheBlockSize)) + return; +#endif + + if ((blockSize < kCacheMinBlockSize) || + (blockSize >= kCacheMaxBlockSize)) + return; + + gCacheBlockSize = blockSize; + gCacheNumEntries = kCacheSize / gCacheBlockSize; + gCacheTime = 0; + +#if CACHE_STATS + gCacheHits = 0; + gCacheMisses = 0; + gCacheEvicts = 0; +#endif + + gCacheIH = ih; + +#ifdef __i386__ + if (!gCacheBuffer) gCacheBuffer = (char *) malloc(kCacheSize); + if (!gCacheEntries) gCacheEntries = (CacheEntry *) malloc(kCacheMaxEntries * sizeof(CacheEntry)); + if ( !gCacheBuffer || !gCacheEntries ) + { + gCacheIH = 0; // invalidate cache + return; + } +#endif + + bzero(gCacheEntries, kCacheMaxEntries * sizeof(CacheEntry)); +} + +long CacheRead( CICell ih, char * buffer, long long offset, + long length, long cache ) +{ + long cnt, oldestEntry = 0, oldestTime, loadCache = 0; + CacheEntry *entry; + + // See if the data can be cached. + if (cache && (gCacheIH == ih) && (length == gCacheBlockSize)) { + // Look for the data in the cache. + for (cnt = 0; cnt < gCacheNumEntries; cnt++) { + entry = &gCacheEntries[cnt]; + if ((entry->ih == ih) && (entry->offset == offset)) { + entry->time = ++gCacheTime; + break; + } + } + + // If the data was found copy it to the caller. + if (cnt != gCacheNumEntries) { + bcopy(gCacheBuffer + cnt * gCacheBlockSize, buffer, gCacheBlockSize); +#if CACHE_STATS + gCacheHits++; +#endif + return gCacheBlockSize; + } + + // Could not find the data in the cache. + loadCache = 1; + } + + // Read the data from the disk. + Seek(ih, offset); + Read(ih, (long)buffer, length); +#if CACHE_STATS + if (cache) gCacheMisses++; +#endif + + // Put the data from the disk in the cache if needed. + if (loadCache) { + // Find a free entry. + oldestTime = gCacheTime; + for (cnt = 0; cnt < gCacheNumEntries; cnt++) { + entry = &gCacheEntries[cnt]; + + // Found a free entry. + if (entry->ih == 0) break; + + if (entry->time < oldestTime) { + oldestTime = entry->time; + oldestEntry = cnt; + } + } + + // If no free entry was found, use the oldest. + if (cnt == gCacheNumEntries) { + cnt = oldestEntry; +#if CACHE_STATS + gCacheEvicts++; +#endif + } + + // Copy the data from disk to the new entry. + entry = &gCacheEntries[cnt]; + entry->ih = ih; + entry->time = ++gCacheTime; + entry->offset = offset; + bcopy(buffer, gCacheBuffer + cnt * gCacheBlockSize, gCacheBlockSize); + } + + return length; +} Index: branches/prasys/i386/libsaio/hpet.h =================================================================== --- branches/prasys/i386/libsaio/hpet.h (revision 0) +++ branches/prasys/i386/libsaio/hpet.h (revision 24) @@ -0,0 +1,20 @@ +/* + * + */ + +#ifndef __LIBSAIO_HPET_H +#define __LIBSAIO_HPET_H + +#include "libsaio.h" + +#define REG32(base, reg) ((volatile uint32_t *)base)[(reg) >> 2] + +void force_enable_hpet(pci_dt_t *lpc_dev); + +struct lpc_controller_t { + unsigned vendor; + unsigned device; + char *name; +}; + +#endif /* !__LIBSAIO_HPET_H */ Index: branches/prasys/i386/libsaio/._device_inject.c =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: branches/prasys/i386/libsaio/._device_inject.c ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: branches/prasys/i386/libsaio/pci.c =================================================================== --- branches/prasys/i386/libsaio/pci.c (revision 0) +++ branches/prasys/i386/libsaio/pci.c (revision 24) @@ -0,0 +1,203 @@ +/* + * + * Copyright 2008 by Islam M. Ahmed Zaid. All rights reserved. + * + */ + +#include "libsaio.h" +#include "bootstruct.h" +#include "pci.h" + +uint32_t pci_config_read(uint32_t pci_addr, uint8_t reg, uint8_t bytes) +{ + uint32_t data = -1; + + pci_addr |= reg & ~3; + outl(PCI_ADDR_REG, pci_addr); + + switch (bytes) + { + case 1: + data = inb(PCI_DATA_REG + (reg & 3)); + break; + case 2: + data = inw(PCI_DATA_REG + (reg & 2)); + break; + case 4: + data = inl(PCI_DATA_REG); + break; + } + + return data; +} + +void pci_config_write(uint32_t pci_addr, uint8_t reg, uint32_t data, uint8_t bytes) +{ + pci_addr |= reg & ~3; + outl(PCI_ADDR_REG, pci_addr); + + switch (bytes) + { + case 1: + outb(PCI_DATA_REG + (reg & 3), data); + break; + case 2: + outw(PCI_DATA_REG + (reg & 2), data); + break; + case 4: + outl(PCI_DATA_REG, data); + break; + } +} + +pci_dt_t *root_pci_dev; + +void scan_pci_bus(pci_dt_t *start, uint8_t bus) +{ + uint8_t dev, func, secondary_bus, header_type; + uint32_t id, pci_addr; + pci_dt_t *new; + pci_dt_t **current = &start->children; + + for (dev = 0; dev < 32; dev++) + for (func = 0; func < 8; func++) + { + pci_addr = PCIADDR(bus, dev, func); + id = pci_config_read32(pci_addr, PCI_VENDOR_ID); + if (!id || id == 0xffffffff) + continue; + + new = (pci_dt_t*)malloc(sizeof(pci_dt_t)); + if (!new) + return; + memset(new, 0, sizeof(pci_dt_t)); + + new->dev.addr = pci_addr; + new->vendor_id = id & 0xffff; + new->device_id = (id >> 16) & 0xffff; + new->class_id = pci_config_read16(pci_addr, PCI_CLASS_DEVICE); + new->parent = start; + + header_type = pci_config_read8(pci_addr, PCI_HEADER_TYPE); + switch (header_type & 0x7f) + { + case PCI_HEADER_TYPE_BRIDGE: + case PCI_HEADER_TYPE_CARDBUS: + secondary_bus = pci_config_read8(pci_addr, PCI_SECONDARY_BUS); + if (secondary_bus != 0) + scan_pci_bus(new, secondary_bus); + break; + } + + *current = new; + current = &new->next; + + if ((func == 0) && ((header_type & 0x80) == 0)) + break; + } +} + +void enable_pci_devs(void) +{ + uint16_t id; + uint32_t rcba, *fd; + + id = pci_config_read16(PCIADDR(0, 0x00, 0), 0x00); + /* make sure we're on Intel chipset */ + if (id != 0x8086) + return; + rcba = pci_config_read32(PCIADDR(0, 0x1f, 0), 0xf0) & ~1; + fd = (uint32_t *)(rcba + 0x3418); + /* set SMBus Disable (SD) to 0 */ + *fd &= ~0x8; + /* and all devices? */ + //*fd = 0x1; +} + +void build_pci_dt(void) +{ + root_pci_dev = malloc(sizeof(pci_dt_t)); + + if (!root_pci_dev) + return; + + bzero(root_pci_dev, sizeof(pci_dt_t)); + enable_pci_devs(); + scan_pci_bus(root_pci_dev, 0); +} + +char dev_path[80]; + +char *get_pci_dev_path(pci_dt_t *pci_dt) +{ + pci_dt_t *current, *end; + char tmp[30]; + + dev_path[0] = 0; + end = root_pci_dev; + + while (end != pci_dt) + { + current = pci_dt; + while (current->parent != end) + current = current->parent; + end = current; + + sprintf(tmp, "%s/Pci(0x%x,0x%x)", + (current->parent == root_pci_dev) ? "PciRoot(0x0)" : "", + current->dev.bits.dev, current->dev.bits.func); + strcat(dev_path, tmp); + } + + return dev_path; +} + +void dump_pci_dt(pci_dt_t *pci_dt) +{ + pci_dt_t *current = pci_dt; + + while (current) + { + printf("%02x:%02x.%x [%04x] [%04x:%04x] :: %s\n", + current->dev.bits.bus, current->dev.bits.dev, current->dev.bits.func, + current->class_id, current->vendor_id, current->device_id, + get_pci_dev_path(current)); + dump_pci_dt(current->children); + current = current->next; + } +} + + +void lspci(const char *booterParam) +{ + if(bootArgs->Video.v_display == VGA_TEXT_MODE) + { + setActiveDisplayPage(1); + clearScreenRows(0, 24); + setCursorPosition(0, 0, 1); + } + + dump_pci_dt(root_pci_dev->children); + + printf("(Press a key to continue...)"); + getc(); + + if(bootArgs->Video.v_display == VGA_TEXT_MODE) + setActiveDisplayPage(0); +} + +int check_vga_nvidia(pci_dt_t *pci_dt) +{ + pci_dt_t *current = pci_dt; + while (current) + { + if(current->vendor_id == PCI_CLASS_DISPLAY_VGA) + if(current->class_id == PCI_VENDOR_ID_NVIDIA) + return 1; + + check_vga_nvidia(current->children); + current = current->next; + } + return 0; +} + Index: branches/prasys/i386/libsaio/stringTable.c =================================================================== --- branches/prasys/i386/libsaio/stringTable.c (revision 0) +++ branches/prasys/i386/libsaio/stringTable.c (revision 24) @@ -0,0 +1,777 @@ +/* + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Copyright 1993 NeXT, Inc. + * All rights reserved. + */ + +#include "bootstruct.h" +#include "libsaio.h" +#include "xml.h" + +extern char *Language; +extern char *LoadableFamilies; + +int sysConfigValid; + +//static void eatThru(char val, const char **table_p); + +static inline int isspace(char c) +{ + return (c == ' ' || c == '\t'); +} + +/* + * Compare a string to a key with quoted characters + */ +static inline int +keyncmp(const char *str, const char *key, int n) +{ + int c; + while (n--) { + c = *key++; + if (c == '\\') { + switch(c = *key++) { + case 'n': + c = '\n'; + break; + case 'r': + c = '\r'; + break; + case 't': + c = '\t'; + break; + default: + break; + } + } else if (c == '\"') { + /* Premature end of key */ + return 1; + } + if (c != *str++) { + return 1; + } + } + return 0; +} + +#if UNUSED + +static void eatThru(char val, const char **table_p) +{ + register const char *table = *table_p; + register BOOL found = NO; + + while (*table && !found) + { + if (*table == '\\') table += 2; + else + { + if (*table == val) found = YES; + table++; + } + } + *table_p = table; +} + +/* Remove key and its associated value from the table. */ + +BOOL +removeKeyFromTable(const char *key, char *table) +{ + register int len; + register char *tab; + char *buf; + + len = strlen(key); + tab = (char *)table; + buf = (char *)malloc(len + 3); + + sprintf(buf, "\"%s\"", key); + len = strlen(buf); + + while(*tab) { + if(strncmp(buf, tab, len) == 0) { + char c; + + while((c = *(tab + len)) != ';') { + if(c == 0) { + len = -1; + goto out; + } + len++; + } + len++; + if(*(tab + len) == '\n') len++; + goto out; + } + tab++; + } + len = -1; +out: + free(buf); + + if(len == -1) return NO; + + while((*tab = *(tab + len))) { + tab++; + } + + return YES; +} + +char * +newStringFromList( + char **list, + int *size +) +{ + char *begin = *list, *end; + char *newstr; + int newsize = *size; + int bufsize; + + while (*begin && newsize && isspace(*begin)) { + begin++; + newsize--; + } + end = begin; + while (*end && newsize && !isspace(*end)) { + end++; + newsize--; + } + if (begin == end) + return 0; + bufsize = end - begin + 1; + newstr = malloc(bufsize); + strlcpy(newstr, begin, bufsize); + *list = end; + *size = newsize; + return newstr; +} + +#endif + +/* + * compress == compress escaped characters to one character + */ +int stringLength(const char *table, int compress) +{ + int ret = 0; + + while (*table) + { + if (*table == '\\') + { + table += 2; + ret += 1 + (compress ? 0 : 1); + } + else + { + if (*table == '\"') return ret; + ret++; + table++; + } + } + return ret; +} + + +BOOL getValueForConfigTableKey(config_file_t *config, const char *key, const char **val, int *size) +{ + if (config->dictionary != 0 ) { + // Look up key in XML dictionary + TagPtr value; + value = XMLGetProperty(config->dictionary, key); + if (value != 0) { + if (value->type != kTagTypeString) { + error("Non-string tag '%s' found in config file\n", + key); + return NO; + } + *val = value->string; + *size = strlen(value->string); + return YES; + } + } else { + + // Legacy plist-style table + + } + + return NO; +} + +#if UNUSED + +/* + * Returns a new malloc'ed string if one is found + * in the string table matching 'key'. Also translates + * \n escapes in the string. + */ +char *newStringForStringTableKey( + char *table, + char *key, + config_file_t *config +) +{ + const char *val; + char *newstr, *p; + int size; + + if (getValueForConfigTableKey(config, key, &val, &size)) { + newstr = (char *)malloc(size+1); + for (p = newstr; size; size--, p++, val++) { + if ((*p = *val) == '\\') { + switch (*++val) { + case 'r': + *p = '\r'; + break; + case 'n': + *p = '\n'; + break; + case 't': + *p = '\t'; + break; + default: + *p = *val; + break; + } + size--; + } + } + *p = '\0'; + return newstr; + } else { + return 0; + } +} + +#endif + +char * +newStringForKey(char *key, config_file_t *config) +{ + const char *val; + char *newstr; + int size; + + if (getValueForKey(key, &val, &size, config) && size) { + newstr = (char *)malloc(size + 1); + strlcpy(newstr, val, size + 1); + return newstr; + } else { + return 0; + } +} + +/* parse a command line + * in the form: [ ...] [