From 00e84790de45738c45e57ea52eed35f9863f3152 Mon Sep 17 00:00:00 2001 From: XsF1re Date: Tue, 22 Sep 2020 23:38:41 +0900 Subject: [PATCH 01/25] Support iOS 14.0 KSTRUCT_OFFSET_PROC_P_FD has been modified to support iOS 14.0 --- main.m | 107 ++++++++++++++++++++++++++++++++++-------------------- offsets.m | 4 +- 2 files changed, 70 insertions(+), 41 deletions(-) diff --git a/main.m b/main.m index 3789744..b8ae489 100644 --- a/main.m +++ b/main.m @@ -15,6 +15,7 @@ #define VM_KERNEL_LINK_ADDRESS (0xFFFFFFF007004000ULL) #define kCFCoreFoundationVersionNumber_iOS_13_0_b2 (1656) #define kCFCoreFoundationVersionNumber_iOS_13_0_b1 (1652.20) +#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) #define KADDR_FMT "0x%" PRIX64 #define VM_KERN_MEMORY_CPU (9) @@ -403,8 +404,13 @@ void wk64(uint64_t where, uint64_t what) { uint64_t get_vnode_with_file_index(int file_index){ //https://github.com/jakeajames/time_waste/blob/master/time_waste/offsets.m - - uint64_t filedesc = rk64(proc + koffset(KSTRUCT_OFFSET_PROC_P_FD)); + uint64_t filedesc = 0; + if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"14.0")) { + filedesc = rk64(proc + 0xF8); + } + else { + filedesc = rk64(proc + koffset(KSTRUCT_OFFSET_PROC_P_FD)); + } uint64_t fileproc = rk64(filedesc + koffset(KSTRUCT_OFFSET_FILEDESC_FD_OFILES)); uint64_t openedfile = rk64(fileproc + (sizeof(void*) * file_index)); uint64_t fileglob = rk64(openedfile + koffset(KSTRUCT_OFFSET_FILEPROC_F_FGLOB)); @@ -421,7 +427,13 @@ uint64_t get_vnode_with_file_index(int file_index){ } uint64_t recovery_vnode_with_file_index(int file_index) { - uint64_t filedesc = rk64(proc + koffset(KSTRUCT_OFFSET_PROC_P_FD)); + uint64_t filedesc = 0; + if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"14.0")) { + filedesc = rk64(proc + 0xF8); + } + else { + filedesc = rk64(proc + koffset(KSTRUCT_OFFSET_PROC_P_FD)); + } uint64_t fileproc = rk64(filedesc + koffset(KSTRUCT_OFFSET_FILEDESC_FD_OFILES)); uint64_t openedfile = rk64(fileproc + (sizeof(void*) * file_index)); uint64_t fileglob = rk64(openedfile + koffset(KSTRUCT_OFFSET_FILEPROC_F_FGLOB)); @@ -479,52 +491,69 @@ void show_path(uint64_t vnode){ printf("===== Welcome to vnodeBypass =====\n"); NSArray* hidePathList = @[ - @"/bin/ls", - @"/Applications/SafeMode.app", @"/.bootstrapped_electra", - @"/bin/sed", - @"/usr/lib/libsubstitute.0.dylib", - @"/bin/kill", - @"/bin/gzip", - @"/usr/bin/which", - @"/usr/bin/diff", - @"/jb", - @"/usr/lib/libjailbreak.dylib", - @"/bin/mkdir", - @"/Library/Frameworks/CydiaSubstrate.framework", - @"/bin/cp", - @"/bin/chgrp", - @"/usr/lib/SBInject", + @"/Applications/Anemone.app", + @"/Applications/Cydia.app", + @"/Applications/SafeMode.app", + @"/bin/bash", + @"/bin/bunzip2", + @"/bin/bzip2", @"/bin/cat", - @"/bin/tar", + @"/bin/chgrp", @"/bin/chmod", - @"/usr/share/terminfo", - @"/bin/grep", - @"/usr/lib/SBInject.dylib", - @"/electra", @"/bin/chown", - @"/usr/bin/tar", - @"/usr/bin/killall", - @"/Applications/Anemone.app", + @"/bin/cp", + @"/bin/grep", + @"/bin/gzip", + @"/bin/kill", @"/bin/ln", - @"/usr/bin/xargs", + @"/bin/ls", + @"/bin/mkdir", + @"/bin/mv", + @"/bin/sed", + @"/bin/sh", @"/bin/su", - @"/usr/bin/recache", + @"/bin/tar", + @"/binpack", + @"/bootstrap", + @"/chimera", + @"/electra", + @"/etc/apt", @"/etc/profile", - @"/usr/lib/libsubstrate.dylib", - @"/bin/bunzip2", + @"/jb", + @"/Library/dpkg/info/com.inoahdev.launchinsafemode.list", + @"/Library/dpkg/info/com.inoahdev.launchinsafemode.md5sums", + @"/Library/Frameworks/CydiaSubstrate.framework", + @"/Library/MobileSubstrate/DynamicLibraries/FlyJB.dylb", + @"/Library/MobileSubstrate/MobileSubstrate.dylib", + @"/Library/PreferenceBundles/LaunchInSafeMode.bundle", + @"/Library/PreferenceLoader/Preferences/LaunchInSafeMode.plist", + @"/Library/Themes", + @"/private/var/binpack", + @"/private/var/checkra1n.dmg", + @"/private/var/lib/apt", + @"/usr/bin/diff", + @"/usr/bin/hostinfo", + @"/usr/bin/killall", @"/usr/bin/passwd", + @"/usr/bin/recache", + @"/usr/bin/tar", + @"/usr/bin/which", + @"/usr/bin/xargs", + @"/usr/lib/libjailbreak.dylib", + @"/usr/lib/libsubstitute.0.dylib", @"/usr/lib/libsubstitute.dylib", - @"/etc/apt", - @"/usr/bin/hostinfo", - @"/bootstrap", - @"/Library/Themes", - @"/bin/bzip2", + @"/usr/lib/libsubstrate.dylib", + @"/usr/lib/SBInject", + @"/usr/lib/SBInject.dylib", + @"/usr/lib/TweakInject", + @"/usr/lib/TweakInject.dylib", + @"/usr/lib/TweakInjectMapsCheck.dylib", @"/usr/libexec/sftp-server", - @"/Applications/Cydia.app", - @"/bin/bash", - @"/bin/sh", - @"/bin/mv", + @"/usr/sbin/sshd", + @"/usr/share/terminfo", + @"/var/mobile/Library/.sbinjectSafeMode", + @"/var/mobile/Library/Preferences/jp.akusio.kernbypass.plist", ]; NSUInteger arrayLength = [hidePathList count]; int arrayLength_int = (int)arrayLength; diff --git a/offsets.m b/offsets.m index f3cb0a3..97b6d59 100644 --- a/offsets.m +++ b/offsets.m @@ -323,8 +323,8 @@ int koffset(enum kstruct_offset offset) { uint32_t create_outsize; int init_offsets() { - if (SYSTEM_VERSION_GREATER_THAN(@"13.5")) { - printf("[-] iOS version too high, 13.4.x or lower required\n"); + if (SYSTEM_VERSION_GREATER_THAN(@"14.1")) { + printf("[-] iOS version too high, 14.1 or lower required\n"); return 1; } else if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"13.0")) { From f3241ed17a557237833409d1f97f18fa27974287 Mon Sep 17 00:00:00 2001 From: XsF1re Date: Mon, 12 Oct 2020 17:47:03 +0900 Subject: [PATCH 02/25] Clean up overeall code! Clean up overeall code! --- LICENSE | 674 ------------------------------------- Makefile | 14 +- README.md | 4 - SVC_Caller.h | 22 ++ control | 4 +- tfp0.plist => ent.plist | 2 +- kernel.h | 511 ++++++++++++++++++++++++++++ main.m | 713 +++------------------------------------- offsets.h | 55 ---- offsets.m | 354 -------------------- vnode.h | 5 + vnode.m | 185 +++++++++++ 12 files changed, 775 insertions(+), 1768 deletions(-) delete mode 100644 LICENSE delete mode 100644 README.md create mode 100644 SVC_Caller.h rename tfp0.plist => ent.plist (97%) create mode 100644 kernel.h delete mode 100644 offsets.h delete mode 100644 offsets.m create mode 100644 vnode.h create mode 100644 vnode.m diff --git a/LICENSE b/LICENSE deleted file mode 100644 index f288702..0000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/Makefile b/Makefile index cda0273..9bf717b 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,19 @@ +GO_EASY_ON_ME = 1 +DEBUG=0 +FINALPACKAGE=1 + +TARGET := iphone:clang:14.0:12.2 ARCHS = arm64 arm64e include $(THEOS)/makefiles/common.mk TOOL_NAME = vnodebypass -vnodebypass_FILES = main.m offsets.m +vnodebypass_FILES = main.m vnode.m vnodebypass_CFLAGS = -fobjc-arc +vnodebypass_CODESIGN_FLAGS = -Sent.plist +vnodebypass_INSTALL_PATH = /usr/bin include $(THEOS_MAKE_PATH)/tool.mk -internal-stage:: - $(ECHO_NOTHING)ldid -S$(THEOS_STAGING_DIR)/../../tfp0.plist $(THEOS_STAGING_DIR)/usr/bin/vnodebypass$(ECHO_END) - $(ECHO_NOTHING)chown 0:0 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass$(ECHO_END) - $(ECHO_NOTHING)chmod 6755 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass$(ECHO_END) \ No newline at end of file +before-package:: diff --git a/README.md b/README.md deleted file mode 100644 index acc8251..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# vnodebypass -vnodebypass using hidePath of jelbrekLib(Jakeashacks) and maphys (0x7ff) - - *Special Thanks to akusio. diff --git a/SVC_Caller.h b/SVC_Caller.h new file mode 100644 index 0000000..e85e231 --- /dev/null +++ b/SVC_Caller.h @@ -0,0 +1,22 @@ +#include +#include + +inline int SVC_Access(const char* detectionPath) { + +#if defined __arm64__ || defined __arm64e__ + int64_t flag = 0; + __asm __volatile("mov x0, %0" :: "r" (detectionPath)); //path + __asm __volatile("mov x1, #0"); //mode + __asm __volatile("mov x16, #0x21"); //access + __asm __volatile("svc #0x80"); //supervisor call + __asm __volatile("mov %0, x0" : "=r" (flag)); +#else + int flag = 0; + __asm __volatile("mov r0, %0" :: "r" (detectionPath)); //path + __asm __volatile("mov r1, #0"); //mode + __asm __volatile("mov r12, #0x21"); //access + __asm __volatile("svc #0x80"); //supervisor call + __asm __volatile("mov %0, r0" : "=r" (flag)); +#endif + return flag; +} \ No newline at end of file diff --git a/control b/control index 9542a75..916e261 100644 --- a/control +++ b/control @@ -1,6 +1,6 @@ Package: kr.xsf1re.vnodebypass -Name: vnodeBypass -Version: 0.0.1 +Name: vnodebypass +Version: 0.1 Architecture: iphoneos-arm Description: An awesome tool of some sort!! Maintainer: XsF1re diff --git a/tfp0.plist b/ent.plist similarity index 97% rename from tfp0.plist rename to ent.plist index bedde22..30c3b62 100644 --- a/tfp0.plist +++ b/ent.plist @@ -11,4 +11,4 @@ com.apple.private.security.no-container - + \ No newline at end of file diff --git a/kernel.h b/kernel.h new file mode 100644 index 0000000..41f81cc --- /dev/null +++ b/kernel.h @@ -0,0 +1,511 @@ +#include +#include +#include + +#ifdef __arm64e__ + #define CPU_DATA_RTCLOCK_DATAP_OFF (0x190) +#else + #define CPU_DATA_RTCLOCK_DATAP_OFF (0x198) +#endif +#define VM_KERNEL_LINK_ADDRESS (0xFFFFFFF007004000ULL) +#define VM_KERN_MEMORY_CPU (9) +#define KADDR_FMT "0x%" PRIX64 +#define SEG_TEXT_EXEC "__TEXT_EXEC" +#define SECT_CSTRING "__cstring" +#define IS_LDR_X(a) (((a) & 0xFF000000U) == 0x58000000U) +#define RD(a) extract32(a, 0, 5) +#define LDR_X_IMM(a) (sextract64(a, 5, 19) << 2U) +#define IS_ADR(a) (((a) & 0x9F000000U) == 0x10000000U) +#define ADR_IMM(a) ((sextract64(a, 5, 19) << 2U) | extract32(a, 29, 2)) +#define IS_ADRP(a) (((a) & 0x9F000000U) == 0x90000000U) +#define ADRP_ADDR(a) ((a) & ~0xFFFULL) +#define ADRP_IMM(a) (ADR_IMM(a) << 12U) +#define IS_ADD_X(a) (((a) & 0xFFC00000U) == 0x91000000U) +#define RN(a) extract32(a, 5, 5) +#define ADD_X_IMM(a) extract32(a, 10, 12) +#define IS_LDR_X_UNSIGNED_IMM(a) (((a) & 0xFFC00000U) == 0xF9400000U) +#define LDR_X_UNSIGNED_IMM(a) (extract32(a, 10, 12) << 3U) +#define IS_RET(a) ((a) == 0xD65F03C0U) +#define PROC_P_PID_OFF (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0_b2 ? 0x68 : 0x60) +#define PROC_TASK_OFF (0x10) + +kern_return_t +mach_vm_region(vm_map_t, mach_vm_address_t *, mach_vm_size_t *, vm_region_flavor_t, vm_region_info_t, mach_msg_type_number_t *, mach_port_t *); + +kern_return_t +mach_vm_read_overwrite(vm_map_t, mach_vm_address_t, mach_vm_size_t, mach_vm_address_t, mach_vm_size_t *); + +kern_return_t +mach_vm_write(vm_map_t, mach_vm_address_t, vm_offset_t, mach_msg_type_number_t); + +kern_return_t +mach_vm_machine_attribute(vm_map_t, mach_vm_address_t, mach_vm_size_t, vm_machine_attribute_t, vm_machine_attribute_val_t *); + +typedef uint64_t kaddr_t; +static kaddr_t allproc, our_task, this_proc; +static task_t tfp0 = MACH_PORT_NULL; +static uint64_t kbase = 0; +static uint64_t kslide = 0; +typedef struct { + struct section_64 s64; + char *data; +} sec_64_t; +typedef struct { + sec_64_t sec_text, sec_cstring; +} pfinder_t; + +static uint32_t +extract32(uint32_t val, unsigned start, unsigned len) { + return (val >> start) & (~0U >> (32U - len)); +} + +static uint64_t +sextract64(uint64_t val, unsigned start, unsigned len) { + return (uint64_t)((int64_t)(val << (64U - len - start)) >> (64U - len)); +} + +//set offset +#define kCFCoreFoundationVersionNumber_iOS_12_0 (1535.12) +#define kCFCoreFoundationVersionNumber_iOS_13_0_b2 (1656) +#define kCFCoreFoundationVersionNumber_iOS_13_0_b1 (1652.20) +#define kCFCoreFoundationVersionNumber_iOS_14_0_b1 (1740) + +static uint32_t off_p_pid = 0; +static uint32_t off_p_pfd = 0; +static uint32_t off_fd_rdir = 0; +static uint32_t off_fd_cdir = 0; +static uint32_t off_fd_ofiles = 0; +static uint32_t off_fp_fglob = 0; +static uint32_t off_fg_data = 0; +static uint32_t off_vnode_iocount = 0; +static uint32_t off_vnode_usecount = 0; +static uint32_t off_vnode_vflags = 0; + +int offset_init() { + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_14_0_b1) { + // ios 14 + off_p_pid = 0x68; + off_p_pfd = 0xf8; + off_fd_rdir = 0x40; + off_fd_cdir = 0x38; + off_fd_ofiles = 0x0; + off_fp_fglob = 0x10; + off_fg_data = 0x38; + off_vnode_iocount = 0x64; + off_vnode_usecount = 0x60; + off_vnode_vflags = 0x54; + return 0; + } + + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0_b2) { + // ios 13 + off_p_pid = 0x68; + off_p_pfd = 0x108; + off_fd_rdir = 0x40; + off_fd_cdir = 0x38; + off_fd_ofiles = 0x0; + off_fp_fglob = 0x10; + off_fg_data = 0x38; + off_vnode_iocount = 0x64; + off_vnode_usecount = 0x60; + off_vnode_vflags = 0x54; + return 0; + } + + if(kCFCoreFoundationVersionNumber <= kCFCoreFoundationVersionNumber_iOS_13_0_b1 + && kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_12_0) { + //ios 12 + off_p_pid = 0x60; + off_p_pfd = 0x100; + off_fd_rdir = 0x40; + off_fd_cdir = 0x38; + off_fd_ofiles = 0x0; + off_fp_fglob = 0x10; + off_fg_data = 0x38; + off_vnode_iocount = 0x64; + off_vnode_usecount = 0x60; + off_vnode_vflags = 0x54; + return 0; + } + + return -1; +} + +//get tfp0 +static kern_return_t get_tfp0(void) { + kern_return_t ret = task_for_pid(mach_task_self(), 0, &tfp0); + mach_port_t host; + pid_t pid; + + if(ret != KERN_SUCCESS) { + host = mach_host_self(); + if(MACH_PORT_VALID(host)) { + printf("host: 0x%" PRIX32 "\n", host); + ret = host_get_special_port(host, HOST_LOCAL_NODE, 4, &tfp0); + mach_port_deallocate(mach_task_self(), host); + } + } + if(ret == KERN_SUCCESS && MACH_PORT_VALID(tfp0)) { + if(pid_for_task(tfp0, &pid) == KERN_SUCCESS && pid == 0) { + return ret; + } + mach_port_deallocate(mach_task_self(), tfp0); + } + return KERN_FAILURE; +} + +//read kernel +static kern_return_t +kread_buf(kaddr_t addr, void *buf, mach_vm_size_t sz) { + mach_vm_address_t p = (mach_vm_address_t)buf; + mach_vm_size_t read_sz, out_sz = 0; + + while(sz != 0) { + read_sz = MIN(sz, vm_kernel_page_size - (addr & vm_kernel_page_mask)); + if(mach_vm_read_overwrite(tfp0, addr, read_sz, p, &out_sz) != KERN_SUCCESS || out_sz != read_sz) { + return KERN_FAILURE; + } + p += read_sz; + sz -= read_sz; + addr += read_sz; + } + return KERN_SUCCESS; +} + +static kern_return_t +kread_addr(kaddr_t addr, kaddr_t *val) { + return kread_buf(addr, val, sizeof(*val)); +} + +uint32_t kernel_read32(uint64_t where) { + uint32_t out; + kread_buf(where, &out, sizeof(uint32_t)); + return out; +} + +uint64_t kernel_read64(uint64_t where) { + uint64_t out; + kread_buf(where, &out, sizeof(uint64_t)); + return out; +} + +//write kernel +static kern_return_t +kwrite_buf(kaddr_t addr, const void *buf, mach_msg_type_number_t sz) { + vm_machine_attribute_val_t mattr_val = MATTR_VAL_CACHE_FLUSH; + mach_vm_address_t p = (mach_vm_address_t)buf; + mach_msg_type_number_t write_sz; + + while(sz != 0) { + write_sz = (mach_msg_type_number_t)MIN(sz, vm_kernel_page_size - (addr & vm_kernel_page_mask)); + if(mach_vm_write(tfp0, addr, p, write_sz) != KERN_SUCCESS || mach_vm_machine_attribute(tfp0, addr, write_sz, MATTR_CACHE, &mattr_val) != KERN_SUCCESS) { + return KERN_FAILURE; + } + p += write_sz; + sz -= write_sz; + addr += write_sz; + } + return KERN_SUCCESS; +} + +void kernel_write32(uint64_t where, uint32_t what) { + uint32_t _what = what; + kwrite_buf(where, &_what, sizeof(uint32_t)); +} + + +void kernel_write64(uint64_t where, uint64_t what) { + uint64_t _what = what; + kwrite_buf(where, &_what, sizeof(uint64_t)); +} + +//get proc_of_pid +uint64_t proc_of_pid(pid_t pid) { + + uint64_t proc = kernel_read64(allproc); + uint64_t current_pid = 0; + + while(proc) { + current_pid = kernel_read32(proc + off_p_pid); + if (current_pid == pid) return proc; + proc = kernel_read64(proc); + } + + return 0; +} + +//get kernel base, kernel slide +static kaddr_t +get_kbase(kaddr_t *kslide) { + mach_msg_type_number_t cnt = TASK_DYLD_INFO_COUNT; + vm_region_extended_info_data_t extended_info; + task_dyld_info_data_t dyld_info; + kaddr_t addr, rtclock_datap; + struct mach_header_64 mh64; + mach_port_t obj_nm; + mach_vm_size_t sz; + + if(task_info(tfp0, TASK_DYLD_INFO, (task_info_t)&dyld_info, &cnt) == KERN_SUCCESS && dyld_info.all_image_info_size != 0) { + *kslide = dyld_info.all_image_info_size; + return VM_KERNEL_LINK_ADDRESS + *kslide; + } + cnt = VM_REGION_EXTENDED_INFO_COUNT; + for(addr = 0; mach_vm_region(tfp0, &addr, &sz, VM_REGION_EXTENDED_INFO, (vm_region_info_t)&extended_info, &cnt, &obj_nm) == KERN_SUCCESS; addr += sz) { + mach_port_deallocate(mach_task_self(), obj_nm); + if(extended_info.user_tag == VM_KERN_MEMORY_CPU && extended_info.protection == VM_PROT_DEFAULT) { + if(kread_addr(addr + CPU_DATA_RTCLOCK_DATAP_OFF, &rtclock_datap) != KERN_SUCCESS) { + break; + } + printf("rtclock_datap: " KADDR_FMT "\n", rtclock_datap); + rtclock_datap = trunc_page_kernel(rtclock_datap); + do { + if(rtclock_datap <= VM_KERNEL_LINK_ADDRESS) { + return 0; + } + rtclock_datap -= vm_kernel_page_size; + if(kread_buf(rtclock_datap, &mh64, sizeof(mh64)) != KERN_SUCCESS) { + return 0; + } + } while(mh64.magic != MH_MAGIC_64 || mh64.cputype != CPU_TYPE_ARM64 || mh64.filetype != MH_EXECUTE); + *kslide = rtclock_datap - VM_KERNEL_LINK_ADDRESS; + return rtclock_datap; + } + } + return 0; +} + +//patchfinder +static void +sec_reset(sec_64_t *sec) { + memset(&sec->s64, '\0', sizeof(sec->s64)); + sec->data = NULL; +} + +static void +sec_term(sec_64_t *sec) { + free(sec->data); + sec_reset(sec); +} + +static kern_return_t +sec_init(sec_64_t *sec) { + if((sec->data = malloc(sec->s64.size)) != NULL) { + if(kread_buf(sec->s64.addr, sec->data, sec->s64.size) == KERN_SUCCESS) { + return KERN_SUCCESS; + } + sec_term(sec); + } + return KERN_FAILURE; +} + +static kern_return_t +find_section(kaddr_t sg64_addr, struct segment_command_64 sg64, const char *sect_name, struct section_64 *sp) { + kaddr_t s64_addr, s64_end; + + for(s64_addr = sg64_addr + sizeof(sg64), s64_end = s64_addr + (sg64.cmdsize - sizeof(*sp)); s64_addr < s64_end; s64_addr += sizeof(*sp)) { + if(kread_buf(s64_addr, sp, sizeof(*sp)) != KERN_SUCCESS) { + break; + } + if(strncmp(sp->segname, sg64.segname, sizeof(sp->segname)) == 0 && strncmp(sp->sectname, sect_name, sizeof(sp->sectname)) == 0) { + return KERN_SUCCESS; + } + } + return KERN_FAILURE; +} + +static void +pfinder_reset(pfinder_t *pfinder) { + sec_reset(&pfinder->sec_text); + sec_reset(&pfinder->sec_cstring); +} + +static void +pfinder_term(pfinder_t *pfinder) { + sec_term(&pfinder->sec_text); + sec_term(&pfinder->sec_cstring); + pfinder_reset(pfinder); +} + +static kaddr_t +pfinder_xref_rd(pfinder_t pfinder, uint32_t rd, kaddr_t start, kaddr_t to) { + uint64_t x[32] = { 0 }; + uint32_t insn; + + for(; start >= pfinder.sec_text.s64.addr && start < pfinder.sec_text.s64.addr + (pfinder.sec_text.s64.size - sizeof(insn)); start += sizeof(insn)) { + memcpy(&insn, pfinder.sec_text.data + (start - pfinder.sec_text.s64.addr), sizeof(insn)); + if(IS_LDR_X(insn)) { + x[RD(insn)] = start + LDR_X_IMM(insn); + } else if(IS_ADR(insn)) { + x[RD(insn)] = start + ADR_IMM(insn); + } else if(IS_ADRP(insn)) { + x[RD(insn)] = ADRP_ADDR(start) + ADRP_IMM(insn); + continue; + } else if(IS_ADD_X(insn)) { + x[RD(insn)] = x[RN(insn)] + ADD_X_IMM(insn); + } else if(IS_LDR_X_UNSIGNED_IMM(insn)) { + x[RD(insn)] = x[RN(insn)] + LDR_X_UNSIGNED_IMM(insn); + } else if(IS_RET(insn)) { + memset(x, '\0', sizeof(x)); + } + if(RD(insn) == rd) { + if(to == 0) { + return x[rd]; + } + if(x[rd] == to) { + return start; + } + } + } + return 0; +} + +static kaddr_t +pfinder_xref_str(pfinder_t pfinder, const char *str, uint32_t rd) { + const char *p, *e; + size_t len; + + for(p = pfinder.sec_cstring.data, e = p + pfinder.sec_cstring.s64.size; p < e; p += len) { + len = strlen(p) + 1; + if(strncmp(str, p, len) == 0) { + return pfinder_xref_rd(pfinder, rd, pfinder.sec_text.s64.addr, pfinder.sec_cstring.s64.addr + (kaddr_t)(p - pfinder.sec_cstring.data)); + } + } + return 0; +} + +static kaddr_t +pfinder_allproc(pfinder_t pfinder) { + kaddr_t ref = pfinder_xref_str(pfinder, "shutdownwait", 2); + + if(ref == 0) { + ref = pfinder_xref_str(pfinder, "shutdownwait", 3); /* msleep */ + } + return pfinder_xref_rd(pfinder, 8, ref, 0); +} + +static kern_return_t +pfinder_init_offsets(pfinder_t pfinder) { + if((allproc = pfinder_allproc(pfinder)) != 0) { + printf("allproc: " KADDR_FMT "\n", allproc); + return KERN_SUCCESS; + } + return KERN_FAILURE; +} + +static kern_return_t +pfinder_init(pfinder_t *pfinder, kaddr_t kbase) { + kern_return_t ret = KERN_FAILURE; + struct segment_command_64 sg64; + kaddr_t sg64_addr, sg64_end; + struct mach_header_64 mh64; + struct section_64 s64; + + pfinder_reset(pfinder); + if(kread_buf(kbase, &mh64, sizeof(mh64)) == KERN_SUCCESS && mh64.magic == MH_MAGIC_64 && mh64.cputype == CPU_TYPE_ARM64 && mh64.filetype == MH_EXECUTE) { + for(sg64_addr = kbase + sizeof(mh64), sg64_end = sg64_addr + (mh64.sizeofcmds - sizeof(sg64)); sg64_addr < sg64_end; sg64_addr += sg64.cmdsize) { + if(kread_buf(sg64_addr, &sg64, sizeof(sg64)) != KERN_SUCCESS) { + break; + } + if(sg64.cmd == LC_SEGMENT_64) { + if(strncmp(sg64.segname, SEG_TEXT_EXEC, sizeof(sg64.segname)) == 0 && find_section(sg64_addr, sg64, SECT_TEXT, &s64) == KERN_SUCCESS) { + pfinder->sec_text.s64 = s64; + printf("sec_text_addr: " KADDR_FMT ", sec_text_sz: 0x%" PRIX64 "\n", s64.addr, s64.size); + } else if(strncmp(sg64.segname, SEG_TEXT, sizeof(sg64.segname)) == 0 && find_section(sg64_addr, sg64, SECT_CSTRING, &s64) == KERN_SUCCESS) { + pfinder->sec_cstring.s64 = s64; + printf("sec_cstring_addr: " KADDR_FMT ", sec_cstring_sz: 0x%" PRIX64 "\n", s64.addr, s64.size); + } + } + if(pfinder->sec_text.s64.size != 0 && pfinder->sec_cstring.s64.size != 0) { + if(sec_init(&pfinder->sec_text) == KERN_SUCCESS) { + ret = sec_init(&pfinder->sec_cstring); + } + break; + } + } + } + if(ret != KERN_SUCCESS) { + pfinder_term(pfinder); + } + return ret; +} + +//find_task +static kern_return_t +find_task(pid_t pid, kaddr_t *task) { + kaddr_t proc = allproc; + pid_t cur_pid; + + while(kread_addr(proc, &proc) == KERN_SUCCESS && proc != 0) { + if(kread_buf(proc + PROC_P_PID_OFF, &cur_pid, sizeof(cur_pid)) == KERN_SUCCESS && cur_pid == pid) { + this_proc = proc; + return kread_addr(proc + PROC_TASK_OFF, task); + } + } + return KERN_FAILURE; +} + +//get vnode +uint64_t get_vnode_with_file_index(int file_index, uint64_t proc) { + uint64_t filedesc = kernel_read64(proc + off_p_pfd); + uint64_t fileproc = kernel_read64(filedesc + off_fd_ofiles); + uint64_t openedfile = kernel_read64(fileproc + (sizeof(void*) * file_index)); + uint64_t fileglob = kernel_read64(openedfile + off_fp_fglob); + uint64_t vnode = kernel_read64(fileglob + off_fg_data); + + uint32_t usecount = kernel_read32(vnode + off_vnode_usecount); + uint32_t iocount = kernel_read32(vnode + off_vnode_iocount); + + kernel_write32(vnode + off_vnode_usecount, usecount + 1); + kernel_write32(vnode + off_vnode_iocount, iocount + 1); + + return vnode; +} + +//hide and show file using vnode +#define VISSHADOW 0x008000 +void hide_path(uint64_t vnode){ + uint32_t v_flags = kernel_read32(vnode + off_vnode_vflags); + kernel_write32(vnode + off_vnode_vflags, (v_flags | VISSHADOW)); +} + +void show_path(uint64_t vnode){ + uint32_t v_flags = kernel_read32(vnode + off_vnode_vflags); + kernel_write32(vnode + off_vnode_vflags, (v_flags &= ~VISSHADOW)); +} + +int init_kernel() { + if(get_tfp0() != KERN_SUCCESS) { + printf("failed get_tfp0!\n"); + return 1; + } + printf("tfp0: 0x%" PRIX32 "\n", tfp0); + + uint64_t kbase = get_kbase(&kslide); + if(kbase == 0) { + printf("failed get_kbase\n"); + return 1; + } + printf("kbase: " KADDR_FMT ", kslide: " KADDR_FMT "\n", kbase, kslide); + + pfinder_t pfinder; + kern_return_t err = pfinder_init(&pfinder, kbase); + if(err != KERN_SUCCESS) { + printf("failed pfinder_init\n"); + pfinder_term(&pfinder); + return 1; + } + + err = pfinder_init_offsets(pfinder); + if(err != KERN_SUCCESS) { + printf("failed pfinder_init_offsets\n"); + return 1; + } + + err = offset_init(); + if (err) { + printf("offset init failed: %d\n", err); + return 1; + } + + return 0; +} diff --git a/main.m b/main.m index b8ae489..c16ee88 100644 --- a/main.m +++ b/main.m @@ -1,678 +1,45 @@ -#include -#include -#include -#include -#import "offsets.h" #include +#import #include +#include "vnode.h" + +void showUsage() { + printf("Usage: vnodebypass [OPTION]...\n"); + printf("Hide jailbreak files using VNODE that provides an internal representation of a file or directory or defines an interface to a file.\n\n"); + printf("Option:\n"); + printf("-s, --save Get vnode with file index and save path to /tmp/vnodeMem.txt\n"); + printf("-h, --hide Hide jailbreak files\n"); + printf("-r, --revert Revert jailbreak files\n"); + printf("-R, --recovery To prevent kernel panic, vnode_usecount and vnode_iocount will be substracted 1 and remove /tmp/vnodeMem.txt\n"); + printf("-c, --check Check if jailbreak file exists using SVC #0x80 SYS_access.\n"); +} + +int main(int argc, char *argv[], char *envp[]) { + setuid(0); + setgid(0); + + if(getuid() != 0 && getgid() != 0) { + printf("Require vnodebypass to be run as root!\n"); + return -1; + } + + if (argc != 2) { + showUsage(); + return -1; + } + + if((strcmp(argv[1], "-s") == 0 || strcmp(argv[1], "--save") == 0)) + saveVnode(); + else if((strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--hide") == 0)) + hideVnode(); + else if((strcmp(argv[1], "-r") == 0 || strcmp(argv[1], "--revert") == 0)) + revertVnode(); + else if((strcmp(argv[1], "-R") == 0 || strcmp(argv[1], "--recovery") == 0)) + recoveryVnode(); + else if((strcmp(argv[1], "-c") == 0 || strcmp(argv[1], "--check") == 0)) + checkFile(); + else + showUsage(); -#define VISSHADOW 0x008000 -#ifdef __arm64e__ -# define CPU_DATA_RTCLOCK_DATAP_OFF (0x190) -#else -# define CPU_DATA_RTCLOCK_DATAP_OFF (0x198) -#endif -#define VM_KERNEL_LINK_ADDRESS (0xFFFFFFF007004000ULL) -#define kCFCoreFoundationVersionNumber_iOS_13_0_b2 (1656) -#define kCFCoreFoundationVersionNumber_iOS_13_0_b1 (1652.20) -#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) - -#define KADDR_FMT "0x%" PRIX64 -#define VM_KERN_MEMORY_CPU (9) -#define RD(a) extract32(a, 0, 5) -#define RN(a) extract32(a, 5, 5) -#define IS_RET(a) ((a) == 0xD65F03C0U) -#define ADRP_ADDR(a) ((a) & ~0xFFFULL) -#define ADRP_IMM(a) (ADR_IMM(a) << 12U) -#define IO_OBJECT_NULL ((io_object_t)0) -#define ADD_X_IMM(a) extract32(a, 10, 12) -#define LDR_X_IMM(a) (sextract64(a, 5, 19) << 2U) -#define IS_ADR(a) (((a) & 0x9F000000U) == 0x10000000U) -#define IS_ADRP(a) (((a) & 0x9F000000U) == 0x90000000U) -#define IS_ADD_X(a) (((a) & 0xFFC00000U) == 0x91000000U) -#define IS_LDR_X(a) (((a) & 0xFF000000U) == 0x58000000U) -#define LDR_X_UNSIGNED_IMM(a) (extract32(a, 10, 12) << 3U) -#define IS_LDR_X_UNSIGNED_IMM(a) (((a) & 0xFFC00000U) == 0xF9400000U) -#define ADR_IMM(a) ((sextract64(a, 5, 19) << 2U) | extract32(a, 29, 2)) - -#ifndef SEG_TEXT_EXEC -# define SEG_TEXT_EXEC "__TEXT_EXEC" -#endif - -#ifndef SECT_CSTRING -# define SECT_CSTRING "__cstring" -#endif - -#ifndef MIN -# define MIN(a, b) ((a) < (b) ? (a) : (b)) -#endif - -typedef uint64_t kaddr_t; -typedef mach_port_t io_object_t; -typedef io_object_t io_service_t; -typedef io_object_t io_connect_t; -typedef io_object_t io_registry_entry_t; - -typedef struct { - struct section_64 s64; - char *data; -} sec_64_t; - -typedef struct { - sec_64_t sec_text, sec_cstring; -} pfinder_t; - -typedef struct { - kaddr_t key, val; -} dict_entry_t; - - -kern_return_t - mach_vm_write(vm_map_t, mach_vm_address_t, vm_offset_t, mach_msg_type_number_t); - - -kern_return_t - mach_vm_read_overwrite(vm_map_t, mach_vm_address_t, mach_vm_size_t, mach_vm_address_t, mach_vm_size_t *); - -kern_return_t - mach_vm_machine_attribute(vm_map_t, mach_vm_address_t, mach_vm_size_t, vm_machine_attribute_t, vm_machine_attribute_val_t *); - -kern_return_t - mach_vm_region(vm_map_t, mach_vm_address_t *, mach_vm_size_t *, vm_region_flavor_t, vm_region_info_t, mach_msg_type_number_t *, mach_port_t *); - -extern const mach_port_t kIOMasterPortDefault; - -static kaddr_t allproc, our_task; -static kaddr_t proc; -static task_t tfp0 = MACH_PORT_NULL; - -static uint32_t -extract32(uint32_t val, unsigned start, unsigned len) { - return (val >> start) & (~0U >> (32U - len)); -} - -static uint64_t -sextract64(uint64_t val, unsigned start, unsigned len) { - return (uint64_t)((int64_t)(val << (64U - len - start)) >> (64U - len)); -} - -static kern_return_t -init_tfp0(void) { - kern_return_t ret = task_for_pid(mach_task_self(), 0, &tfp0); - mach_port_t host; - pid_t pid; - - if(ret != KERN_SUCCESS) { - host = mach_host_self(); - if(MACH_PORT_VALID(host)) { - printf("host: 0x%" PRIX32 "\n", host); - ret = host_get_special_port(host, HOST_LOCAL_NODE, 4, &tfp0); - printf("I think you're using unc0ver, But load it anyway.\n"); - return ret; //TO USE UNC0VER, TEMPORARY - } - mach_port_deallocate(mach_task_self(), host); - } - if(ret == KERN_SUCCESS && MACH_PORT_VALID(tfp0)) { - if(pid_for_task(tfp0, &pid) == KERN_SUCCESS && pid == 0) { - return ret; - } - mach_port_deallocate(mach_task_self(), tfp0); - } - printf("Failed to init tfp0.\n"); - return KERN_FAILURE; -} - -static kern_return_t -kread_buf(kaddr_t addr, void *buf, mach_vm_size_t sz) { - mach_vm_address_t p = (mach_vm_address_t)buf; - mach_vm_size_t read_sz, out_sz = 0; - - while(sz != 0) { - read_sz = MIN(sz, vm_kernel_page_size - (addr & vm_kernel_page_mask)); - if(mach_vm_read_overwrite(tfp0, addr, read_sz, p, &out_sz) != KERN_SUCCESS || out_sz != read_sz) { - return KERN_FAILURE; - } - p += read_sz; - sz -= read_sz; - addr += read_sz; - } - return KERN_SUCCESS; -} - - -static kern_return_t -kread_addr(kaddr_t addr, kaddr_t *val) { - return kread_buf(addr, val, sizeof(*val)); -} - -static kern_return_t -kwrite_buf(kaddr_t addr, const void *buf, mach_msg_type_number_t sz) { - vm_machine_attribute_val_t mattr_val = MATTR_VAL_CACHE_FLUSH; - mach_vm_address_t p = (mach_vm_address_t)buf; - mach_msg_type_number_t write_sz; - - while(sz != 0) { - write_sz = (mach_msg_type_number_t)MIN(sz, vm_kernel_page_size - (addr & vm_kernel_page_mask)); - if(mach_vm_write(tfp0, addr, p, write_sz) != KERN_SUCCESS || mach_vm_machine_attribute(tfp0, addr, write_sz, MATTR_CACHE, &mattr_val) != KERN_SUCCESS) { - return KERN_FAILURE; - } - p += write_sz; - sz -= write_sz; - addr += write_sz; - } - return KERN_SUCCESS; -} - -static kaddr_t -get_kbase(kaddr_t *kslide) { - mach_msg_type_number_t cnt = TASK_DYLD_INFO_COUNT; - vm_region_extended_info_data_t extended_info; - task_dyld_info_data_t dyld_info; - kaddr_t addr, rtclock_datap; - struct mach_header_64 mh64; - mach_port_t obj_nm; - mach_vm_size_t sz; - - if(task_info(tfp0, TASK_DYLD_INFO, (task_info_t)&dyld_info, &cnt) == KERN_SUCCESS && dyld_info.all_image_info_size != 0) { - *kslide = dyld_info.all_image_info_size; - return VM_KERNEL_LINK_ADDRESS + *kslide; - } - cnt = VM_REGION_EXTENDED_INFO_COUNT; - for(addr = 0; mach_vm_region(tfp0, &addr, &sz, VM_REGION_EXTENDED_INFO, (vm_region_info_t)&extended_info, &cnt, &obj_nm) == KERN_SUCCESS; addr += sz) { - mach_port_deallocate(mach_task_self(), obj_nm); - if(extended_info.user_tag == VM_KERN_MEMORY_CPU && extended_info.protection == VM_PROT_DEFAULT) { - if(kread_addr(addr + CPU_DATA_RTCLOCK_DATAP_OFF, &rtclock_datap) != KERN_SUCCESS) { - break; - } - printf("rtclock_datap: " KADDR_FMT "\n", rtclock_datap); - rtclock_datap = trunc_page_kernel(rtclock_datap); - do { - if(rtclock_datap <= VM_KERNEL_LINK_ADDRESS) { - return 0; - } - rtclock_datap -= vm_kernel_page_size; - if(kread_buf(rtclock_datap, &mh64, sizeof(mh64)) != KERN_SUCCESS) { - return 0; - } - } while(mh64.magic != MH_MAGIC_64 || mh64.cputype != CPU_TYPE_ARM64 || mh64.filetype != MH_EXECUTE); - *kslide = rtclock_datap - VM_KERNEL_LINK_ADDRESS; - return rtclock_datap; - } - } - return 0; -} - -static kern_return_t -find_section(kaddr_t sg64_addr, struct segment_command_64 sg64, const char *sect_name, struct section_64 *sp) { - kaddr_t s64_addr, s64_end; - - for(s64_addr = sg64_addr + sizeof(sg64), s64_end = s64_addr + (sg64.cmdsize - sizeof(*sp)); s64_addr < s64_end; s64_addr += sizeof(*sp)) { - if(kread_buf(s64_addr, sp, sizeof(*sp)) != KERN_SUCCESS) { - break; - } - if(strncmp(sp->segname, sg64.segname, sizeof(sp->segname)) == 0 && strncmp(sp->sectname, sect_name, sizeof(sp->sectname)) == 0) { - return KERN_SUCCESS; - } - } - return KERN_FAILURE; -} - -static void -sec_reset(sec_64_t *sec) { - memset(&sec->s64, '\0', sizeof(sec->s64)); - sec->data = NULL; -} - -static void -sec_term(sec_64_t *sec) { - free(sec->data); - sec_reset(sec); -} - -static kern_return_t -sec_init(sec_64_t *sec) { - if((sec->data = malloc(sec->s64.size)) != NULL) { - if(kread_buf(sec->s64.addr, sec->data, sec->s64.size) == KERN_SUCCESS) { - return KERN_SUCCESS; - } - sec_term(sec); - } - return KERN_FAILURE; -} - -static void -pfinder_reset(pfinder_t *pfinder) { - sec_reset(&pfinder->sec_text); - sec_reset(&pfinder->sec_cstring); -} - -static void -pfinder_term(pfinder_t *pfinder) { - sec_term(&pfinder->sec_text); - sec_term(&pfinder->sec_cstring); - pfinder_reset(pfinder); -} - -static kern_return_t -pfinder_init(pfinder_t *pfinder, kaddr_t kbase) { - kern_return_t ret = KERN_FAILURE; - struct segment_command_64 sg64; - kaddr_t sg64_addr, sg64_end; - struct mach_header_64 mh64; - struct section_64 s64; - - pfinder_reset(pfinder); - if(kread_buf(kbase, &mh64, sizeof(mh64)) == KERN_SUCCESS && mh64.magic == MH_MAGIC_64 && mh64.cputype == CPU_TYPE_ARM64 && mh64.filetype == MH_EXECUTE) { - for(sg64_addr = kbase + sizeof(mh64), sg64_end = sg64_addr + (mh64.sizeofcmds - sizeof(sg64)); sg64_addr < sg64_end; sg64_addr += sg64.cmdsize) { - if(kread_buf(sg64_addr, &sg64, sizeof(sg64)) != KERN_SUCCESS) { - break; - } - if(sg64.cmd == LC_SEGMENT_64) { - if(strncmp(sg64.segname, SEG_TEXT_EXEC, sizeof(sg64.segname)) == 0 && find_section(sg64_addr, sg64, SECT_TEXT, &s64) == KERN_SUCCESS) { - pfinder->sec_text.s64 = s64; - printf("sec_text_addr: " KADDR_FMT ", sec_text_sz: 0x%" PRIX64 "\n", s64.addr, s64.size); - } else if(strncmp(sg64.segname, SEG_TEXT, sizeof(sg64.segname)) == 0 && find_section(sg64_addr, sg64, SECT_CSTRING, &s64) == KERN_SUCCESS) { - pfinder->sec_cstring.s64 = s64; - printf("sec_cstring_addr: " KADDR_FMT ", sec_cstring_sz: 0x%" PRIX64 "\n", s64.addr, s64.size); - } - } - if(pfinder->sec_text.s64.size != 0 && pfinder->sec_cstring.s64.size != 0) { - if(sec_init(&pfinder->sec_text) == KERN_SUCCESS) { - ret = sec_init(&pfinder->sec_cstring); - } - break; - } - } - } - if(ret != KERN_SUCCESS) { - pfinder_term(pfinder); - } - return ret; -} - -static kaddr_t -pfinder_xref_rd(pfinder_t pfinder, uint32_t rd, kaddr_t start, kaddr_t to) { - uint64_t x[32] = { 0 }; - uint32_t insn; - - for(; start >= pfinder.sec_text.s64.addr && start < pfinder.sec_text.s64.addr + (pfinder.sec_text.s64.size - sizeof(insn)); start += sizeof(insn)) { - memcpy(&insn, pfinder.sec_text.data + (start - pfinder.sec_text.s64.addr), sizeof(insn)); - if(IS_LDR_X(insn)) { - x[RD(insn)] = start + LDR_X_IMM(insn); - } else if(IS_ADR(insn)) { - x[RD(insn)] = start + ADR_IMM(insn); - } else if(IS_ADRP(insn)) { - x[RD(insn)] = ADRP_ADDR(start) + ADRP_IMM(insn); - continue; - } else if(IS_ADD_X(insn)) { - x[RD(insn)] = x[RN(insn)] + ADD_X_IMM(insn); - } else if(IS_LDR_X_UNSIGNED_IMM(insn)) { - x[RD(insn)] = x[RN(insn)] + LDR_X_UNSIGNED_IMM(insn); - } else if(IS_RET(insn)) { - memset(x, '\0', sizeof(x)); - } - if(RD(insn) == rd) { - if(to == 0) { - return x[rd]; - } - if(x[rd] == to) { - return start; - } - } - } - return 0; -} - -static kaddr_t -pfinder_xref_str(pfinder_t pfinder, const char *str, uint32_t rd) { - const char *p, *e; - size_t len; - - for(p = pfinder.sec_cstring.data, e = p + pfinder.sec_cstring.s64.size; p < e; p += len) { - len = strlen(p) + 1; - if(strncmp(str, p, len) == 0) { - return pfinder_xref_rd(pfinder, rd, pfinder.sec_text.s64.addr, pfinder.sec_cstring.s64.addr + (kaddr_t)(p - pfinder.sec_cstring.data)); - } - } return 0; } - -static kaddr_t -pfinder_allproc(pfinder_t pfinder) { - kaddr_t ref = pfinder_xref_str(pfinder, "shutdownwait", 2); - - if(ref == 0) { - ref = pfinder_xref_str(pfinder, "shutdownwait", 3); /* msleep */ - } - return pfinder_xref_rd(pfinder, 8, ref, 0); -} - -static kern_return_t -pfinder_init_offsets(pfinder_t pfinder) { - if((allproc = pfinder_allproc(pfinder)) != 0) { - printf("allproc: " KADDR_FMT "\n", allproc); - return KERN_SUCCESS; - } - return KERN_FAILURE; -} - -static kern_return_t -find_task(pid_t pid, kaddr_t *task) { - proc = allproc; - pid_t cur_pid; - - while(kread_addr(proc, &proc) == KERN_SUCCESS && proc != 0) { - if(kread_buf(proc + koffset(KSTRUCT_OFFSET_PROC_PID), &cur_pid, sizeof(cur_pid)) == KERN_SUCCESS && cur_pid == pid) { - printf("proc: " KADDR_FMT "\n", proc); - return kread_addr(proc + koffset(KSTRUCT_OFFSET_PROC_TASK), task); - } - } - return KERN_FAILURE; -} - - - -////////aksuio code -static const uint32_t off_vnode_vflags = 0x54; -static const uint32_t off_vnode_iocount = 0x64; -static const uint32_t off_vnode_usecount = 0x60; - -uint32_t rk32(uint64_t where) { - uint32_t out; - kread_buf(where, &out, sizeof(uint32_t)); - return out; -} - -uint64_t rk64(uint64_t where) { - uint64_t out; - kread_buf(where, &out, sizeof(uint64_t)); - return out; -} - -void wk32(uint64_t where, uint32_t what) { - uint32_t _what = what; - kwrite_buf(where, &_what, sizeof(uint32_t)); -} - - -void wk64(uint64_t where, uint64_t what) { - uint64_t _what = what; - kwrite_buf(where, &_what, sizeof(uint64_t)); -} - -uint32_t savedVnodeOrig; - -uint64_t get_vnode_with_file_index(int file_index){ -//https://github.com/jakeajames/time_waste/blob/master/time_waste/offsets.m - uint64_t filedesc = 0; - if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"14.0")) { - filedesc = rk64(proc + 0xF8); - } - else { - filedesc = rk64(proc + koffset(KSTRUCT_OFFSET_PROC_P_FD)); - } - uint64_t fileproc = rk64(filedesc + koffset(KSTRUCT_OFFSET_FILEDESC_FD_OFILES)); - uint64_t openedfile = rk64(fileproc + (sizeof(void*) * file_index)); - uint64_t fileglob = rk64(openedfile + koffset(KSTRUCT_OFFSET_FILEPROC_F_FGLOB)); - uint64_t vnode = rk64(fileglob + koffset(KSTRUCT_OFFSET_FILEGLOB_FG_DATA)); - - uint32_t usecount = rk32(vnode + off_vnode_usecount); - uint32_t iocount = rk32(vnode + off_vnode_iocount); - - //? - wk32(vnode + off_vnode_usecount, usecount + 1); - wk32(vnode + off_vnode_iocount, iocount + 1); - - return vnode; -} - -uint64_t recovery_vnode_with_file_index(int file_index) { - uint64_t filedesc = 0; - if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"14.0")) { - filedesc = rk64(proc + 0xF8); - } - else { - filedesc = rk64(proc + koffset(KSTRUCT_OFFSET_PROC_P_FD)); - } - uint64_t fileproc = rk64(filedesc + koffset(KSTRUCT_OFFSET_FILEDESC_FD_OFILES)); - uint64_t openedfile = rk64(fileproc + (sizeof(void*) * file_index)); - uint64_t fileglob = rk64(openedfile + koffset(KSTRUCT_OFFSET_FILEPROC_F_FGLOB)); - uint64_t vnode = rk64(fileglob + koffset(KSTRUCT_OFFSET_FILEGLOB_FG_DATA)); - - - wk32(vnode + off_vnode_usecount, 0x1); - wk32(vnode + off_vnode_iocount, 0x0); - - return vnode; -} - -void hide_path(uint64_t vnode){ - uint32_t v_flags = rk32(vnode + off_vnode_vflags); - wk32(vnode + off_vnode_vflags, (v_flags | VISSHADOW)); -} - -void show_path(uint64_t vnode){ - if(vnode == 0) { - printf("vnode is 0x0. Maybe No file? Skip show_path.\n"); - return; - } - - uint32_t v_flags = rk32(vnode + off_vnode_vflags); - wk32(vnode + off_vnode_vflags, (v_flags &= ~VISSHADOW)); -} - - -/////////// - -int -main(int argc, char **argv) { - - if(argc == 2 && (strcmp(argv[1], "-s") == 0 || strcmp(argv[1], "--save") == 0 || strcmp(argv[1], "--hide") == 0 || strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "-r") == 0 || strcmp(argv[1], "--revert") == 0 || strcmp(argv[1], "-R") == 0 || strcmp(argv[1], "--recovery") == 0)) { - - setuid(0); - setgid(0); - kaddr_t kbase, kslide; - pfinder_t pfinder; - - if(init_tfp0() == KERN_SUCCESS) { - printf("tfp0: 0x%" PRIX32 "\n", tfp0); - int checkDevice = init_offsets(); - if (checkDevice) { - printf("[-] iOS version not supported. but anyway working on it.\n"); - } - if((kbase = get_kbase(&kslide)) != 0) { - printf("kbase: " KADDR_FMT ", kslide: " KADDR_FMT "\n", kbase, kslide); - if(pfinder_init(&pfinder, kbase) == KERN_SUCCESS) { - if(pfinder_init_offsets(pfinder) == KERN_SUCCESS) { - if(find_task(getpid(), &our_task) == KERN_SUCCESS) { - printf("It works!\n"); - printf("allproc to patch: " KADDR_FMT "\n", allproc); - printf("proc to patch: " KADDR_FMT "\n", proc); - printf("===== Welcome to vnodeBypass =====\n"); - - NSArray* hidePathList = @[ - @"/.bootstrapped_electra", - @"/Applications/Anemone.app", - @"/Applications/Cydia.app", - @"/Applications/SafeMode.app", - @"/bin/bash", - @"/bin/bunzip2", - @"/bin/bzip2", - @"/bin/cat", - @"/bin/chgrp", - @"/bin/chmod", - @"/bin/chown", - @"/bin/cp", - @"/bin/grep", - @"/bin/gzip", - @"/bin/kill", - @"/bin/ln", - @"/bin/ls", - @"/bin/mkdir", - @"/bin/mv", - @"/bin/sed", - @"/bin/sh", - @"/bin/su", - @"/bin/tar", - @"/binpack", - @"/bootstrap", - @"/chimera", - @"/electra", - @"/etc/apt", - @"/etc/profile", - @"/jb", - @"/Library/dpkg/info/com.inoahdev.launchinsafemode.list", - @"/Library/dpkg/info/com.inoahdev.launchinsafemode.md5sums", - @"/Library/Frameworks/CydiaSubstrate.framework", - @"/Library/MobileSubstrate/DynamicLibraries/FlyJB.dylb", - @"/Library/MobileSubstrate/MobileSubstrate.dylib", - @"/Library/PreferenceBundles/LaunchInSafeMode.bundle", - @"/Library/PreferenceLoader/Preferences/LaunchInSafeMode.plist", - @"/Library/Themes", - @"/private/var/binpack", - @"/private/var/checkra1n.dmg", - @"/private/var/lib/apt", - @"/usr/bin/diff", - @"/usr/bin/hostinfo", - @"/usr/bin/killall", - @"/usr/bin/passwd", - @"/usr/bin/recache", - @"/usr/bin/tar", - @"/usr/bin/which", - @"/usr/bin/xargs", - @"/usr/lib/libjailbreak.dylib", - @"/usr/lib/libsubstitute.0.dylib", - @"/usr/lib/libsubstitute.dylib", - @"/usr/lib/libsubstrate.dylib", - @"/usr/lib/SBInject", - @"/usr/lib/SBInject.dylib", - @"/usr/lib/TweakInject", - @"/usr/lib/TweakInject.dylib", - @"/usr/lib/TweakInjectMapsCheck.dylib", - @"/usr/libexec/sftp-server", - @"/usr/sbin/sshd", - @"/usr/share/terminfo", - @"/var/mobile/Library/.sbinjectSafeMode", - @"/var/mobile/Library/Preferences/jp.akusio.kernbypass.plist", - ]; - NSUInteger arrayLength = [hidePathList count]; - int arrayLength_int = (int)arrayLength; - - if(strcmp(argv[1], "-s") == 0 || strcmp(argv[1], "--save") == 0) { - printf("Saving vnode now!\n"); - - FILE *fp = fopen("/var/mobile/Library/Preferences/vnodeMem.txt", "w"); - printf("hidePathList = %d\n", arrayLength_int); - uint64_t vnodeArray[arrayLength_int]; - int i; - for(i = 0; i < arrayLength_int; i++) { - NSString *path = [hidePathList objectAtIndex:i]; - const char *path_cs = [path cStringUsingEncoding:NSUTF8StringEncoding]; - int file_index = open([path UTF8String], O_RDONLY); - if(file_index == -1) { - printf("vnode[%d] => No such file or directory, path = %s\n", i, path_cs); - vnodeArray[i] = 0x0; - } - else { - vnodeArray[i] = get_vnode_with_file_index(file_index); - printf("vnode[%d] => 0x%" PRIX64 ", path = %s\n", i, vnodeArray[i], path_cs); - fprintf(fp, "0x%" PRIX64 "\n", vnodeArray[i]); - } - close(file_index); - - } - fclose(fp); - } - - if((strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--hide") == 0 || strcmp(argv[1], "-r") == 0 || strcmp(argv[1], "--revert") == 0)) { - if(access("/var/mobile/Library/Preferences/vnodeMem.txt", F_OK) == -1 ) { - printf("[-] vnodeMem.txt doesn't exist.\n"); - return -1; - } - FILE *fp = fopen("/var/mobile/Library/Preferences/vnodeMem.txt", "r"); - uint64_t savedVnode; - int i = 0; - while(!feof(fp)) - { - if ( fscanf(fp, "0x%" PRIX64 "\n", &savedVnode) == 1) - { - printf("Saved vnode[%d] = 0x%" PRIX64 "\n", i, savedVnode); - if(strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--hide") == 0) { - hide_path(savedVnode); - } - else if(strcmp(argv[1], "-r") == 0 || strcmp(argv[1], "--revert") == 0) { - show_path(savedVnode); - } - i++; - } - } - fclose(fp); - for(i = 0; i < arrayLength_int; i++) { - NSString *path = [hidePathList objectAtIndex:i]; - const char *path_cs = [path cStringUsingEncoding:NSUTF8StringEncoding]; - - int detectFlag = syscall(SYS_access, path_cs, F_OK); - - if(detectFlag == 0) { - printf("[Syscall Access] DETECTED %s path\n", path_cs); - } - else if(detectFlag == -1) { - printf("[Syscall Access] NOT DETECTED %s path\n", path_cs); - } - } - } - - if(strcmp(argv[1], "-R") == 0 || strcmp(argv[1], "--recovery") == 0) { - if(access("/var/mobile/Library/Preferences/vnodeMem.txt", F_OK) == -1 ) { - printf("[-] vnodeMem.txt doesn't exist.\n"); - return -1; - } - - printf("Recovering vnode now!\n"); - - printf("hidePathList = %d\n", arrayLength_int); - uint64_t vnodeArray[arrayLength_int]; - int i; - for(i = 0; i < arrayLength_int; i++) { - NSString *path = [hidePathList objectAtIndex:i]; - const char *path_cs = [path cStringUsingEncoding:NSUTF8StringEncoding]; - int file_index = open([path UTF8String], O_RDONLY); - if(file_index == -1) { - printf("vnode[%d] => No such file or directory, path = %s\n", i, path_cs); - vnodeArray[i] = 0x0; - } - else { - vnodeArray[i] = recovery_vnode_with_file_index(file_index); - printf("vnode[%d] => 0x%" PRIX64 ", path = %s\n", i, vnodeArray[i], path_cs); - } - close(file_index); - - } - - int chkRemove = remove("/var/mobile/Library/Preferences/vnodeMem.txt"); - if(chkRemove == 0) { - printf("Removed /var/mobile/Library/Preferences/vnodeMem.txt\n"); - } - else if(chkRemove == -1) { - printf("Failed to remove /var/mobile/Library/Preferences/vnodeMem.txt\n"); - } - } - - } - } - pfinder_term(&pfinder); - } - } - mach_port_deallocate(mach_task_self(), tfp0); - } - } - else { - printf("Usage: vnodebypass [OPTION]...\n"); - printf("Hide jailbreak files using VNODE that provides an internal representation of a file or directory or defines an interface to a file.\n\n"); - printf("Option:\n"); - printf("-s, --save Get vnode with file index and save path to /var/mobile/Library/Preferences/vnodeMem.txt\n"); - printf("-h, --hide Hide jailbreak files\n"); - printf("-r, --revert Revert jailbreak files\n"); - printf("-R, --recovery To prevent kernel panic, vnode_usecount and vnode_iocount will be back to 1, 0.\n"); - } -} diff --git a/offsets.h b/offsets.h deleted file mode 100644 index 7206374..0000000 --- a/offsets.h +++ /dev/null @@ -1,55 +0,0 @@ -enum kstruct_offset { - /* struct task */ - KSTRUCT_OFFSET_TASK_LCK_MTX_TYPE, - KSTRUCT_OFFSET_TASK_REF_COUNT, - KSTRUCT_OFFSET_TASK_ACTIVE, - KSTRUCT_OFFSET_TASK_VM_MAP, - KSTRUCT_OFFSET_TASK_NEXT, - KSTRUCT_OFFSET_TASK_PREV, - KSTRUCT_OFFSET_TASK_ITK_SELF, - KSTRUCT_OFFSET_TASK_ITK_SPACE, - KSTRUCT_OFFSET_TASK_BSD_INFO, - - /* struct ipc_port */ - KSTRUCT_OFFSET_IPC_PORT_IO_BITS, - KSTRUCT_OFFSET_IPC_PORT_IO_REFERENCES, - KSTRUCT_OFFSET_IPC_PORT_IKMQ_BASE, - KSTRUCT_OFFSET_IPC_PORT_MSG_COUNT, - KSTRUCT_OFFSET_IPC_PORT_IP_RECEIVER, - KSTRUCT_OFFSET_IPC_PORT_IP_KOBJECT, - KSTRUCT_OFFSET_IPC_PORT_IP_PREMSG, - KSTRUCT_OFFSET_IPC_PORT_IP_CONTEXT, - KSTRUCT_OFFSET_IPC_PORT_IP_SRIGHTS, - - /* struct proc */ - KSTRUCT_OFFSET_PROC_TASK, - KSTRUCT_OFFSET_PROC_PID, - KSTRUCT_OFFSET_PROC_P_FD, - - /* struct filedesc */ - KSTRUCT_OFFSET_FILEDESC_FD_OFILES, - - /* struct fileproc */ - KSTRUCT_OFFSET_FILEPROC_F_FGLOB, - - /* struct fileglob */ - KSTRUCT_OFFSET_FILEGLOB_FG_DATA, - - /* struct socket */ - KSTRUCT_OFFSET_SOCKET_SO_PCB, - - /* struct pipe */ - KSTRUCT_OFFSET_PIPE_BUFFER, - - /* struct ipc_space */ - KSTRUCT_OFFSET_IPC_SPACE_IS_TABLE_SIZE, - KSTRUCT_OFFSET_IPC_SPACE_IS_TABLE, - KSTRUCT_OFFSET_IPC_SPACE_IS_TASK, - - KFREE_ADDR_OFFSET, - - IOSURFACE_CREATE_OUTSIZE -}; - -int koffset(enum kstruct_offset offset); -int init_offsets(void); diff --git a/offsets.m b/offsets.m deleted file mode 100644 index 97b6d59..0000000 --- a/offsets.m +++ /dev/null @@ -1,354 +0,0 @@ -#import -#import - -#import -#import -#import -#import -#import - -#import "offsets.h" - -#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame) -#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending) -#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) -#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending) -#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending) - -int* offsets = NULL; - -int kstruct_offsets_13_0[] = { - 0xb, // KSTRUCT_OFFSET_TASK_LCK_MTX_TYPE, - 0x10, // KSTRUCT_OFFSET_TASK_REF_COUNT, - 0x14, // KSTRUCT_OFFSET_TASK_ACTIVE, - 0x28, // KSTRUCT_OFFSET_TASK_VM_MAP, - 0x30, // KSTRUCT_OFFSET_TASK_NEXT, - 0x38, // KSTRUCT_OFFSET_TASK_PREV, - 0x108, // KSTRUCT_OFFSET_TASK_ITK_SELF, - 0x320, // KSTRUCT_OFFSET_TASK_ITK_SPACE, - -#if __arm64e__ - 0x388, // KSTRUCT_OFFSET_TASK_BSD_INFO, -#else - 0x380, // KSTRUCT_OFFSET_TASK_BSD_INFO, -#endif - 0x0, // KSTRUCT_OFFSET_IPC_PORT_IO_BITS, - 0x4, // KSTRUCT_OFFSET_IPC_PORT_IO_REFERENCES, - 0x40, // KSTRUCT_OFFSET_IPC_PORT_IKMQ_BASE, - 0x50, // KSTRUCT_OFFSET_IPC_PORT_MSG_COUNT, - 0x60, // KSTRUCT_OFFSET_IPC_PORT_IP_RECEIVER, - 0x68, // KSTRUCT_OFFSET_IPC_PORT_IP_KOBJECT, - 0x88, // KSTRUCT_OFFSET_IPC_PORT_IP_PREMSG, - 0x90, // KSTRUCT_OFFSET_IPC_PORT_IP_CONTEXT, - 0xa0, // KSTRUCT_OFFSET_IPC_PORT_IP_SRIGHTS, - - 0x10, // KSTRUCT_OFFSET_PROC_TASK, - 0x68, // KSTRUCT_OFFSET_PROC_PID, - 0x108, // KSTRUCT_OFFSET_PROC_P_FD - - 0x0, // KSTRUCT_OFFSET_FILEDESC_FD_OFILES - - 0x10, // KSTRUCT_OFFSET_FILEPROC_F_FGLOB - - 0x38, // KSTRUCT_OFFSET_FILEGLOB_FG_DATA - - 0x10, // KSTRUCT_OFFSET_SOCKET_SO_PCB - - 0x10, // KSTRUCT_OFFSET_PIPE_BUFFER - - 0x14, // KSTRUCT_OFFSET_IPC_SPACE_IS_TABLE_SIZE - 0x20, // KSTRUCT_OFFSET_IPC_SPACE_IS_TABLE - 0x28, // KSTRUCT_OFFSET_IPC_SPACE_IS_TASK - - 0x7c, // KFREE_ADDR_OFFSET - - 0xdd0, // IOSURFACE_CREATE_OUTSIZE -}; - -int kstruct_offsets_12_0[] = { - 0xb, // KSTRUCT_OFFSET_TASK_LCK_MTX_TYPE, - 0x10, // KSTRUCT_OFFSET_TASK_REF_COUNT, - 0x14, // KSTRUCT_OFFSET_TASK_ACTIVE, - 0x20, // KSTRUCT_OFFSET_TASK_VM_MAP, - 0x28, // KSTRUCT_OFFSET_TASK_NEXT, - 0x30, // KSTRUCT_OFFSET_TASK_PREV, - 0xd8, // KSTRUCT_OFFSET_TASK_ITK_SELF, - 0x300, // KSTRUCT_OFFSET_TASK_ITK_SPACE, - -#if __arm64e__ - 0x368, // KSTRUCT_OFFSET_TASK_BSD_INFO, -#else - 0x358, // KSTRUCT_OFFSET_TASK_BSD_INFO, -#endif - 0x0, // KSTRUCT_OFFSET_IPC_PORT_IO_BITS, - 0x4, // KSTRUCT_OFFSET_IPC_PORT_IO_REFERENCES, - 0x40, // KSTRUCT_OFFSET_IPC_PORT_IKMQ_BASE, - 0x50, // KSTRUCT_OFFSET_IPC_PORT_MSG_COUNT, - 0x60, // KSTRUCT_OFFSET_IPC_PORT_IP_RECEIVER, - 0x68, // KSTRUCT_OFFSET_IPC_PORT_IP_KOBJECT, - 0x88, // KSTRUCT_OFFSET_IPC_PORT_IP_PREMSG, - 0x90, // KSTRUCT_OFFSET_IPC_PORT_IP_CONTEXT, - 0xa0, // KSTRUCT_OFFSET_IPC_PORT_IP_SRIGHTS, - - 0x10, // KSTRUCT_OFFSET_PROC_TASK, - 0x60, // KSTRUCT_OFFSET_PROC_PID, - 0x100, // KSTRUCT_OFFSET_PROC_P_FD - - 0x0, // KSTRUCT_OFFSET_FILEDESC_FD_OFILES - - 0x10, // KSTRUCT_OFFSET_FILEPROC_F_FGLOB - - 0x38, // KSTRUCT_OFFSET_FILEGLOB_FG_DATA - - 0x10, // KSTRUCT_OFFSET_SOCKET_SO_PCB - - 0x10, // KSTRUCT_OFFSET_PIPE_BUFFER - - 0x14, // KSTRUCT_OFFSET_IPC_SPACE_IS_TABLE_SIZE - 0x20, // KSTRUCT_OFFSET_IPC_SPACE_IS_TABLE - 0x28, // KSTRUCT_OFFSET_IPC_SPACE_IS_TASK - - 0x7c, // KFREE_ADDR_OFFSET - - 0xdd0, // IOSURFACE_CREATE_OUTSIZE -}; - - -int kernel_offsets_11_3[] = { - 0xb, // KSTRUCT_OFFSET_TASK_LCK_MTX_TYPE - 0x10, // KSTRUCT_OFFSET_TASK_REF_COUNT - 0x14, // KSTRUCT_OFFSET_TASK_ACTIVE - 0x20, // KSTRUCT_OFFSET_TASK_VM_MAP - 0x28, // KSTRUCT_OFFSET_TASK_NEXT - 0x30, // KSTRUCT_OFFSET_TASK_PREV - 0x308, // KSTRUCT_OFFSET_TASK_ITK_SPACE - 0x368, // KSTRUCT_OFFSET_TASK_BSD_INFO - 0x3a8, // KSTRUCT_OFFSET_TASK_ALL_IMAGE_INFO_ADDR - 0x3b0, // KSTRUCT_OFFSET_TASK_ALL_IMAGE_INFO_SIZE - 0x3a0, // KSTRUCT_OFFSET_TASK_TFLAGS - 0x0, // KSTRUCT_OFFSET_TASK_LOCK - - 0x0, // KSTRUCT_OFFSET_IPC_PORT_IO_BITS - 0x4, // KSTRUCT_OFFSET_IPC_PORT_IO_REFERENCES - 0x40, // KSTRUCT_OFFSET_IPC_PORT_IKMQ_BASE - 0x50, // KSTRUCT_OFFSET_IPC_PORT_MSG_COUNT - 0x60, // KSTRUCT_OFFSET_IPC_PORT_IP_RECEIVER - 0x68, // KSTRUCT_OFFSET_IPC_PORT_IP_KOBJECT - 0x88, // KSTRUCT_OFFSET_IPC_PORT_IP_PREMSG - 0x90, // KSTRUCT_OFFSET_IPC_PORT_IP_CONTEXT - 0xa0, // KSTRUCT_OFFSET_IPC_PORT_IP_SRIGHTS - - 0x10, // KSTRUCT_OFFSET_PROC_PID - 0x108, // KSTRUCT_OFFSET_PROC_P_FD - 0x18, // KSTRUCT_OFFSET_PROC_TASK - 0x100, // KSTRUCT_OFFSET_PROC_UCRED - 0x0, // KSTRUCT_OFFSET_PROC_P_LIST - 0x2a8, // KSTRUCT_OFFSET_PROC_P_CSFLAGS - 0x410, // KSTRUCT_OFFSET_PROC_P_MEMSTAT_STATE - 0x58, // KSTRUCT_OFFSET_PROC_MLOCK - 0xf0, // KSTRUCT_OFFSET_PROC_UCRED_MLOCK - 0x40, // KSTRUCT_OFFSET_PROC_SVUID - 0x44, // KSTRUCT_OFFSET_PROC_SVGID - - 0x0, // KSTRUCT_OFFSET_FILEDESC_FD_OFILES - - 0x8, // KSTRUCT_OFFSET_FILEPROC_F_FGLOB - - 0x38, // KSTRUCT_OFFSET_FILEGLOB_FG_DATA - - 0x10, // KSTRUCT_OFFSET_SOCKET_SO_PCB - - 0x10, // KSTRUCT_OFFSET_PIPE_BUFFER - - 0x14, // KSTRUCT_OFFSET_IPC_SPACE_IS_TABLE_SIZE - 0x20, // KSTRUCT_OFFSET_IPC_SPACE_IS_TABLE - - 0xd8, // KSTRUCT_OFFSET_VNODE_V_MOUNT - 0x78, // KSTRUCT_OFFSET_VNODE_VU_SPECINFO - 0x0, // KSTRUCT_OFFSET_VNODE_V_LOCK - 0xe0, // KSTRUCT_OFFSET_VNODE_V_DATA - - 0x10, // KSTRUCT_OFFSET_SPECINFO_SI_FLAGS - - 0x70, // KSTRUCT_OFFSET_MOUNT_MNT_FLAG - 0x8f8, // KSTRUCT_OFFSET_MOUNT_MNT_DATA - 0x18, // KSTRUCT_OFFSET_MOUNT_MNT_MLOCK - - 0x10, // KSTRUCT_OFFSET_HOST_SPECIAL - - 0x10, // KSTRUCT_OFFSET_UCRED_CR_REF - 0x18, // KSTRUCT_OFFSET_UCRED_CR_UID - 0x1c, // KSTRUCT_OFFSET_UCRED_CR_RUID - 0x20, // KSTRUCT_OFFSET_UCRED_CR_SVUID - 0x24, // KSTRUCT_OFFSET_UCRED_CR_NGROUPS - 0x28, // KSTRUCT_OFFSET_UCRED_CR_GROUPS - 0x68, // KSTRUCT_OFFSET_UCRED_CR_RGID - 0x6c, // KSTRUCT_OFFSET_UCRED_CR_SVGID - 0x70, // KSTRUCT_OFFSET_UCRED_CR_GMUID - 0x74, // KSTRUCT_OFFSET_UCRED_CR_FLAGS - 0x78, // KSTRUCT_OFFSET_UCRED_CR_LABEL - - 0x0, // KSTRUCT_OFFSET_LABEL_L_FLAGS - 0x8, // KSTRUCT_OFFSET_LABEL_L_PERPOLICY - - 0x18, // KSTRUCT_SIZE_IPC_ENTRY - 0x8, // KSTRUCT_OFFSET_IPC_ENTRY_IE_BITS - - 0x54, // KSTRUCT_OFFSET_VNODE_V_FLAG - - 0x1F, // KVTABLE_OFFSET_OSDICTIONARY_SETOBJECTWITHCHARP - 0x26, // KVTABLE_OFFSET_OSDICTIONARY_GETOBJECTWITHCHARP - 0x23, // KVTABLE_OFFSET_OSDICTIONARY_MERGE - - 0x1E, // KVTABLE_OFFSET_OSARRAY_MERGE - 0x20, // KVTABLE_OFFSET_OSARRAY_REMOVEOBJECT - 0x22, // KVTABLE_OFFSET_OSARRAY_GETOBJECT - - 0x05, // KVTABLE_OFFSET_OSOBJECT_RELEASE - 0x03, // KVTABLE_OFFSET_OSOBJECT_GETRETAINCOUNT - 0x04, // KVTABLE_OFFSET_OSOBJECT_RETAIN - - 0x11, // KVTABLE_OFFSET_OSSTRING_GETLENGTH - - 0x6c, // KFREE_ADDR_OFFSET -}; - -int kernel_offsets_11_0[] = { - 0xb, // KSTRUCT_OFFSET_TASK_LCK_MTX_TYPE - 0x10, // KSTRUCT_OFFSET_TASK_REF_COUNT - 0x14, // KSTRUCT_OFFSET_TASK_ACTIVE - 0x20, // KSTRUCT_OFFSET_TASK_VM_MAP - 0x28, // KSTRUCT_OFFSET_TASK_NEXT - 0x30, // KSTRUCT_OFFSET_TASK_PREV - 0x308, // KSTRUCT_OFFSET_TASK_ITK_SPACE - 0x368, // KSTRUCT_OFFSET_TASK_BSD_INFO - 0x3a8, // KSTRUCT_OFFSET_TASK_ALL_IMAGE_INFO_ADDR - 0x3b0, // KSTRUCT_OFFSET_TASK_ALL_IMAGE_INFO_SIZE - 0x3a0, // KSTRUCT_OFFSET_TASK_TFLAGS - 0x0, // KSTRUCT_OFFSET_TASK_LOCK - - 0x0, // KSTRUCT_OFFSET_IPC_PORT_IO_BITS - 0x4, // KSTRUCT_OFFSET_IPC_PORT_IO_REFERENCES - 0x40, // KSTRUCT_OFFSET_IPC_PORT_IKMQ_BASE - 0x50, // KSTRUCT_OFFSET_IPC_PORT_MSG_COUNT - 0x60, // KSTRUCT_OFFSET_IPC_PORT_IP_RECEIVER - 0x68, // KSTRUCT_OFFSET_IPC_PORT_IP_KOBJECT - 0x88, // KSTRUCT_OFFSET_IPC_PORT_IP_PREMSG - 0x90, // KSTRUCT_OFFSET_IPC_PORT_IP_CONTEXT - 0xa0, // KSTRUCT_OFFSET_IPC_PORT_IP_SRIGHTS - - 0x10, // KSTRUCT_OFFSET_PROC_PID - 0x108, // KSTRUCT_OFFSET_PROC_P_FD - 0x18, // KSTRUCT_OFFSET_PROC_TASK - 0x100, // KSTRUCT_OFFSET_PROC_UCRED - 0x0, // KSTRUCT_OFFSET_PROC_P_LIST - 0x2a8, // KSTRUCT_OFFSET_PROC_P_CSFLAGS - 0x410, // KSTRUCT_OFFSET_PROC_P_MEMSTAT_STATE - 0x58, // KSTRUCT_OFFSET_PROC_MLOCK - 0xf0, // KSTRUCT_OFFSET_PROC_UCRED_MLOCK - 0x40, // KSTRUCT_OFFSET_PROC_SVUID - 0x44, // KSTRUCT_OFFSET_PROC_SVGID - - 0x0, // KSTRUCT_OFFSET_FILEDESC_FD_OFILES - - 0x8, // KSTRUCT_OFFSET_FILEPROC_F_FGLOB - - 0x38, // KSTRUCT_OFFSET_FILEGLOB_FG_DATA - - 0x10, // KSTRUCT_OFFSET_SOCKET_SO_PCB - - 0x10, // KSTRUCT_OFFSET_PIPE_BUFFER - - 0x14, // KSTRUCT_OFFSET_IPC_SPACE_IS_TABLE_SIZE - 0x20, // KSTRUCT_OFFSET_IPC_SPACE_IS_TABLE - - 0xd8, // KSTRUCT_OFFSET_VNODE_V_MOUNT - 0x78, // KSTRUCT_OFFSET_VNODE_VU_SPECINFO - 0x0, // KSTRUCT_OFFSET_VNODE_V_LOCK - 0xe0, // KSTRUCT_OFFSET_VNODE_V_DATA - - 0x10, // KSTRUCT_OFFSET_SPECINFO_SI_FLAGS - - 0x70, // KSTRUCT_OFFSET_MOUNT_MNT_FLAG - 0x8f8, // KSTRUCT_OFFSET_MOUNT_MNT_DATA - 0x18, // KSTRUCT_OFFSET_MOUNT_MNT_MLOCK - - 0x10, // KSTRUCT_OFFSET_HOST_SPECIAL - - 0x10, // KSTRUCT_OFFSET_UCRED_CR_REF - 0x18, // KSTRUCT_OFFSET_UCRED_CR_UID - 0x1c, // KSTRUCT_OFFSET_UCRED_CR_RUID - 0x20, // KSTRUCT_OFFSET_UCRED_CR_SVUID - 0x24, // KSTRUCT_OFFSET_UCRED_CR_NGROUPS - 0x28, // KSTRUCT_OFFSET_UCRED_CR_GROUPS - 0x68, // KSTRUCT_OFFSET_UCRED_CR_RGID - 0x6c, // KSTRUCT_OFFSET_UCRED_CR_SVGID - 0x70, // KSTRUCT_OFFSET_UCRED_CR_GMUID - 0x74, // KSTRUCT_OFFSET_UCRED_CR_FLAGS - 0x78, // KSTRUCT_OFFSET_UCRED_CR_LABEL - - 0x0, // KSTRUCT_OFFSET_LABEL_L_FLAGS - 0x8, // KSTRUCT_OFFSET_LABEL_L_PERPOLICY - - 0x18, // KSTRUCT_SIZE_IPC_ENTRY - 0x8, // KSTRUCT_OFFSET_IPC_ENTRY_IE_BITS - - 0x54, // KSTRUCT_OFFSET_VNODE_V_FLAG - - 0x1F, // KVTABLE_OFFSET_OSDICTIONARY_SETOBJECTWITHCHARP - 0x26, // KVTABLE_OFFSET_OSDICTIONARY_GETOBJECTWITHCHARP - 0x23, // KVTABLE_OFFSET_OSDICTIONARY_MERGE - - 0x1E, // KVTABLE_OFFSET_OSARRAY_MERGE - 0x20, // KVTABLE_OFFSET_OSARRAY_REMOVEOBJECT - 0x22, // KVTABLE_OFFSET_OSARRAY_GETOBJECT - - 0x05, // KVTABLE_OFFSET_OSOBJECT_RELEASE - 0x03, // KVTABLE_OFFSET_OSOBJECT_GETRETAINCOUNT - 0x04, // KVTABLE_OFFSET_OSOBJECT_RETAIN - - 0x11, // KVTABLE_OFFSET_OSSTRING_GETLENGTH - - 0x6c, // KFREE_ADDR_OFFSET -}; - -int koffset(enum kstruct_offset offset) { - if (offsets == NULL) { - printf("[-] Please call init_offsets() prior to querying offsets\n"); - return 0; - } - return offsets[offset]; -} - -uint32_t create_outsize; - -int init_offsets() { - if (SYSTEM_VERSION_GREATER_THAN(@"14.1")) { - printf("[-] iOS version too high, 14.1 or lower required\n"); - return 1; - } - else if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"13.0")) { - printf("[i] Offsets selected for iOS 13.0 or above\n"); - offsets = kstruct_offsets_13_0; - return 0; - } - else if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")) { - printf("[i] Offsets selected for iOS 12.0 or above\n"); - offsets = kstruct_offsets_12_0; - return 0; - } - else if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.3")) { - printf("[i] Offsets selected for iOS 11.3 or above\n"); - offsets = kernel_offsets_11_3; - return 0; - } - else if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) { - printf("[i] Offsets selected for iOS 11.0 or above\n"); - offsets = kernel_offsets_11_0; - return 0; - } - else { - printf("[-] iOS version too low, 11.0 or higher required\n"); - return 2; - } -} diff --git a/vnode.h b/vnode.h new file mode 100644 index 0000000..8e486e1 --- /dev/null +++ b/vnode.h @@ -0,0 +1,5 @@ +void saveVnode(); +void hideVnode(); +void revertVnode(); +void recoveryVnode(); +void checkFile(); diff --git a/vnode.m b/vnode.m new file mode 100644 index 0000000..a741c61 --- /dev/null +++ b/vnode.m @@ -0,0 +1,185 @@ +#include "vnode.h" +#include "kernel.h" +#include "SVC_Caller.h" + +#define vnodeMemPath "/tmp/vnodeMem.txt" + +NSArray* hidePathList = nil; + +void initPath() { + hidePathList = [NSArray arrayWithObjects: + @"/.bootstrapped_electra", + @"/Applications/Anemone.app", + @"/Applications/Cydia.app", + @"/Applications/SafeMode.app", + @"/bin/bash", + @"/bin/bunzip2", + @"/bin/bzip2", + @"/bin/cat", + @"/bin/chgrp", + @"/bin/chmod", + @"/bin/chown", + @"/bin/cp", + @"/bin/grep", + @"/bin/gzip", + @"/bin/kill", + @"/bin/ln", + @"/bin/ls", + @"/bin/mkdir", + @"/bin/mv", + @"/bin/sed", + @"/bin/sh", + @"/bin/su", + @"/bin/tar", + @"/binpack", + @"/bootstrap", + @"/chimera", + @"/electra", + @"/etc/apt", + @"/etc/profile", + @"/jb", + @"/Library/dpkg/info/com.inoahdev.launchinsafemode.list", + @"/Library/dpkg/info/com.inoahdev.launchinsafemode.md5sums", + @"/Library/Frameworks/CydiaSubstrate.framework", + @"/Library/MobileSubstrate/DynamicLibraries/FlyJB.dylb", + @"/Library/MobileSubstrate/MobileSubstrate.dylib", + @"/Library/PreferenceBundles/LaunchInSafeMode.bundle", + @"/Library/PreferenceLoader/Preferences/LaunchInSafeMode.plist", + @"/Library/Themes", + @"/private/var/binpack", + @"/private/var/checkra1n.dmg", + @"/private/var/lib/apt", + @"/usr/bin/diff", + @"/usr/bin/hostinfo", + @"/usr/bin/killall", + @"/usr/bin/passwd", + @"/usr/bin/recache", + @"/usr/bin/tar", + @"/usr/bin/which", + @"/usr/bin/xargs", + @"/usr/lib/libjailbreak.dylib", + @"/usr/lib/libsubstitute.0.dylib", + @"/usr/lib/libsubstitute.dylib", + @"/usr/lib/libsubstrate.dylib", + @"/usr/lib/SBInject", + @"/usr/lib/SBInject.dylib", + @"/usr/lib/TweakInject", + @"/usr/lib/TweakInject.dylib", + @"/usr/lib/TweakInjectMapsCheck.dylib", + @"/usr/libexec/sftp-server", + @"/usr/sbin/sshd", + @"/usr/share/terminfo", + @"/var/mobile/Library/.sbinjectSafeMode", + @"/var/mobile/Library/Preferences/jp.akusio.kernbypass.plist", + nil + ]; +} + +void saveVnode(){ + if(access(vnodeMemPath, F_OK) == 0) { + printf("Already exist /tmp/vnodeMem.txt, Please vnode recovery first!\n"); + return; + } + + init_kernel(); + find_task(getpid(), &our_task); + printf("this_proc: " KADDR_FMT "\n", this_proc); + + FILE *fp = fopen(vnodeMemPath, "w"); + + initPath(); + int hideCount = (int)[hidePathList count]; + uint64_t vnodeArray[hideCount]; + + for(int i = 0; i < hideCount; i++) { + const char* hidePath = [[hidePathList objectAtIndex:i] UTF8String]; + int file_index = open(hidePath, O_RDONLY); + + if(file_index == -1) + continue; + + vnodeArray[i] = get_vnode_with_file_index(file_index, this_proc); + printf("hidePath: %s, vnode[%d]: 0x%" PRIX64 "\n", hidePath, i, vnodeArray[i]); + printf("vnode_usecount: 0x%" PRIX32 ", vnode_iocount: 0x%" PRIX32 "\n", kernel_read32(vnodeArray[i] + off_vnode_usecount), kernel_read32(vnodeArray[i] + off_vnode_iocount)); + fprintf(fp, "0x%" PRIX64 "\n", vnodeArray[i]); + close(file_index); + } + fclose(fp); + mach_port_deallocate(mach_task_self(), tfp0); + printf("Saved vnode to /tmp/vnodeMem.txt\nMake sure vnode recovery to prevent kernel panic!\n"); +}; + +void hideVnode(){ + init_kernel(); + if(access(vnodeMemPath, F_OK) == 0) { + FILE *fp = fopen(vnodeMemPath, "r"); + uint64_t savedVnode; + int i = 0; + while(!feof(fp)) + { + if ( fscanf(fp, "0x%" PRIX64 "\n", &savedVnode) == 1) + { + printf("Saved vnode[%d] = 0x%" PRIX64 "\n", i, savedVnode); + hide_path(savedVnode); + } + i++; + } + } + mach_port_deallocate(mach_task_self(), tfp0); + printf("Hide file!\n"); +} + +void revertVnode(){ + init_kernel(); + if(access(vnodeMemPath, F_OK) == 0) { + FILE *fp = fopen(vnodeMemPath, "r"); + uint64_t savedVnode; + int i = 0; + while(!feof(fp)) + { + if ( fscanf(fp, "0x%" PRIX64 "\n", &savedVnode) == 1) + { + printf("Saved vnode[%d] = 0x%" PRIX64 "\n", i, savedVnode); + show_path(savedVnode); + } + i++; + } + } + mach_port_deallocate(mach_task_self(), tfp0); + printf("Show file!\n"); +} + +void recoveryVnode(){ + init_kernel(); + if(access(vnodeMemPath, F_OK) == 0) { + FILE *fp = fopen(vnodeMemPath, "r"); + uint64_t savedVnode; + int i = 0; + while(!feof(fp)) + { + if ( fscanf(fp, "0x%" PRIX64 "\n", &savedVnode) == 1) + { + kernel_write32(savedVnode + off_vnode_iocount, kernel_read32(savedVnode + off_vnode_iocount) - 1); + kernel_write32(savedVnode + off_vnode_usecount, kernel_read32(savedVnode + off_vnode_usecount) - 1); + printf("Saved vnode[%d] = 0x%" PRIX64 "\n", i, savedVnode); + printf("vnode_usecount: 0x%" PRIX32 ", vnode_iocount: 0x%" PRIX32 "\n", kernel_read32(savedVnode + off_vnode_usecount), kernel_read32(savedVnode + off_vnode_iocount)); + } + i++; + } + remove(vnodeMemPath); + } + mach_port_deallocate(mach_task_self(), tfp0); + printf("Recovered vnode! No more kernel panic when you shutdown.\n"); +} + +void checkFile(){ + initPath(); + int hideCount = (int)[hidePathList count]; + for(int i = 0; i < hideCount; i++) { + const char* hidePath = [[hidePathList objectAtIndex:i] UTF8String]; + int ret = 0; + ret = SVC_Access(hidePath); + printf("hidePath: %s, errno: %d\n", hidePath, ret); + } + printf("Done check file!\n"); +} From 70830c78c0e6c53c792147c409fad575b8452541 Mon Sep 17 00:00:00 2001 From: XsF1re Date: Mon, 12 Oct 2020 17:50:55 +0900 Subject: [PATCH 03/25] Create README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..2f5dfee --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +vnodebypass +===================== + +### An expermental tool to hide jailbreak files for bypass detection. From 0b178fcaa855761d2e8ff39c20f22e8e68ad6c05 Mon Sep 17 00:00:00 2001 From: XsF1re Date: Mon, 26 Oct 2020 22:50:25 +0900 Subject: [PATCH 04/25] Fix not working on iOS 12.x Fix not working on iOS 12.x --- Makefile | 2 +- control | 2 +- kernel.h | 13 ++++--------- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 9bf717b..0b0c25c 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ GO_EASY_ON_ME = 1 DEBUG=0 FINALPACKAGE=1 -TARGET := iphone:clang:14.0:12.2 +TARGET := iphone:clang:12.4:12.4 ARCHS = arm64 arm64e include $(THEOS)/makefiles/common.mk diff --git a/control b/control index 916e261..59b2b2b 100644 --- a/control +++ b/control @@ -1,6 +1,6 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.1 +Version: 0.1.1 Architecture: iphoneos-arm Description: An awesome tool of some sort!! Maintainer: XsF1re diff --git a/kernel.h b/kernel.h index 41f81cc..b9fbe03 100644 --- a/kernel.h +++ b/kernel.h @@ -72,8 +72,6 @@ sextract64(uint64_t val, unsigned start, unsigned len) { static uint32_t off_p_pid = 0; static uint32_t off_p_pfd = 0; -static uint32_t off_fd_rdir = 0; -static uint32_t off_fd_cdir = 0; static uint32_t off_fd_ofiles = 0; static uint32_t off_fp_fglob = 0; static uint32_t off_fg_data = 0; @@ -84,10 +82,9 @@ static uint32_t off_vnode_vflags = 0; int offset_init() { if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_14_0_b1) { // ios 14 + printf("iOS 14.x offset selected!!!\n"); off_p_pid = 0x68; off_p_pfd = 0xf8; - off_fd_rdir = 0x40; - off_fd_cdir = 0x38; off_fd_ofiles = 0x0; off_fp_fglob = 0x10; off_fg_data = 0x38; @@ -99,10 +96,9 @@ int offset_init() { if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0_b2) { // ios 13 + printf("iOS 13.x offset selected!!!\n"); off_p_pid = 0x68; off_p_pfd = 0x108; - off_fd_rdir = 0x40; - off_fd_cdir = 0x38; off_fd_ofiles = 0x0; off_fp_fglob = 0x10; off_fg_data = 0x38; @@ -115,12 +111,11 @@ int offset_init() { if(kCFCoreFoundationVersionNumber <= kCFCoreFoundationVersionNumber_iOS_13_0_b1 && kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_12_0) { //ios 12 + printf("iOS 12.x offset selected!!!\n"); off_p_pid = 0x60; off_p_pfd = 0x100; - off_fd_rdir = 0x40; - off_fd_cdir = 0x38; off_fd_ofiles = 0x0; - off_fp_fglob = 0x10; + off_fp_fglob = 0x8; off_fg_data = 0x38; off_vnode_iocount = 0x64; off_vnode_usecount = 0x60; From c4692558989ac729207c8b38315297b6120acb1d Mon Sep 17 00:00:00 2001 From: XsF1re Date: Fri, 20 Nov 2020 01:50:43 +0900 Subject: [PATCH 05/25] Support iOS/iPadOS 14.2 now supported iOS/iPadOS 14.2 and updated libdimentio --- Makefile | 3 +- control | 4 +- ent.plist | 4 +- kernel.h | 512 +------------------------- kernel.m | 144 ++++++++ libdimentio.c | 999 ++++++++++++++++++++++++++++++++++++++++++++++++++ libdimentio.h | 62 ++++ vnode.m | 5 +- 8 files changed, 1236 insertions(+), 497 deletions(-) create mode 100644 kernel.m create mode 100644 libdimentio.c create mode 100644 libdimentio.h diff --git a/Makefile b/Makefile index 0b0c25c..ce10941 100644 --- a/Makefile +++ b/Makefile @@ -9,10 +9,11 @@ include $(THEOS)/makefiles/common.mk TOOL_NAME = vnodebypass -vnodebypass_FILES = main.m vnode.m +vnodebypass_FILES = main.m vnode.m libdimentio.c kernel.m vnodebypass_CFLAGS = -fobjc-arc vnodebypass_CODESIGN_FLAGS = -Sent.plist vnodebypass_INSTALL_PATH = /usr/bin +vnodebypass_FRAMEWORKS = IOKit include $(THEOS_MAKE_PATH)/tool.mk diff --git a/control b/control index 59b2b2b..93b1683 100644 --- a/control +++ b/control @@ -1,8 +1,8 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.1.1 +Version: 0.1.2 Architecture: iphoneos-arm -Description: An awesome tool of some sort!! +Description: An expermental tool to hide jailbreak files for bypass detection. Maintainer: XsF1re Author: XsF1re Section: System diff --git a/ent.plist b/ent.plist index 30c3b62..276df26 100644 --- a/ent.plist +++ b/ent.plist @@ -10,5 +10,7 @@ com.apple.private.security.no-container + com.apple.private.kernel.get-kext-info + - \ No newline at end of file + diff --git a/kernel.h b/kernel.h index b9fbe03..d3ac57f 100644 --- a/kernel.h +++ b/kernel.h @@ -1,506 +1,34 @@ +#import +#import #include #include #include +#include "libdimentio.h" -#ifdef __arm64e__ - #define CPU_DATA_RTCLOCK_DATAP_OFF (0x190) -#else - #define CPU_DATA_RTCLOCK_DATAP_OFF (0x198) -#endif -#define VM_KERNEL_LINK_ADDRESS (0xFFFFFFF007004000ULL) -#define VM_KERN_MEMORY_CPU (9) -#define KADDR_FMT "0x%" PRIX64 -#define SEG_TEXT_EXEC "__TEXT_EXEC" -#define SECT_CSTRING "__cstring" -#define IS_LDR_X(a) (((a) & 0xFF000000U) == 0x58000000U) -#define RD(a) extract32(a, 0, 5) -#define LDR_X_IMM(a) (sextract64(a, 5, 19) << 2U) -#define IS_ADR(a) (((a) & 0x9F000000U) == 0x10000000U) -#define ADR_IMM(a) ((sextract64(a, 5, 19) << 2U) | extract32(a, 29, 2)) -#define IS_ADRP(a) (((a) & 0x9F000000U) == 0x90000000U) -#define ADRP_ADDR(a) ((a) & ~0xFFFULL) -#define ADRP_IMM(a) (ADR_IMM(a) << 12U) -#define IS_ADD_X(a) (((a) & 0xFFC00000U) == 0x91000000U) -#define RN(a) extract32(a, 5, 5) -#define ADD_X_IMM(a) extract32(a, 10, 12) -#define IS_LDR_X_UNSIGNED_IMM(a) (((a) & 0xFFC00000U) == 0xF9400000U) -#define LDR_X_UNSIGNED_IMM(a) (extract32(a, 10, 12) << 3U) -#define IS_RET(a) ((a) == 0xD65F03C0U) -#define PROC_P_PID_OFF (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0_b2 ? 0x68 : 0x60) -#define PROC_TASK_OFF (0x10) +uint32_t off_p_pid; +uint32_t off_p_pfd; +uint32_t off_fd_ofiles; +uint32_t off_fp_fglob; +uint32_t off_fg_data; +uint32_t off_vnode_iocount; +uint32_t off_vnode_usecount; +uint32_t off_vnode_vflags; -kern_return_t -mach_vm_region(vm_map_t, mach_vm_address_t *, mach_vm_size_t *, vm_region_flavor_t, vm_region_info_t, mach_msg_type_number_t *, mach_port_t *); - -kern_return_t -mach_vm_read_overwrite(vm_map_t, mach_vm_address_t, mach_vm_size_t, mach_vm_address_t, mach_vm_size_t *); - -kern_return_t -mach_vm_write(vm_map_t, mach_vm_address_t, vm_offset_t, mach_msg_type_number_t); - -kern_return_t -mach_vm_machine_attribute(vm_map_t, mach_vm_address_t, mach_vm_size_t, vm_machine_attribute_t, vm_machine_attribute_val_t *); - -typedef uint64_t kaddr_t; -static kaddr_t allproc, our_task, this_proc; -static task_t tfp0 = MACH_PORT_NULL; -static uint64_t kbase = 0; -static uint64_t kslide = 0; -typedef struct { - struct section_64 s64; - char *data; -} sec_64_t; -typedef struct { - sec_64_t sec_text, sec_cstring; -} pfinder_t; - -static uint32_t -extract32(uint32_t val, unsigned start, unsigned len) { - return (val >> start) & (~0U >> (32U - len)); -} - -static uint64_t -sextract64(uint64_t val, unsigned start, unsigned len) { - return (uint64_t)((int64_t)(val << (64U - len - start)) >> (64U - len)); -} - -//set offset -#define kCFCoreFoundationVersionNumber_iOS_12_0 (1535.12) -#define kCFCoreFoundationVersionNumber_iOS_13_0_b2 (1656) -#define kCFCoreFoundationVersionNumber_iOS_13_0_b1 (1652.20) -#define kCFCoreFoundationVersionNumber_iOS_14_0_b1 (1740) - -static uint32_t off_p_pid = 0; -static uint32_t off_p_pfd = 0; -static uint32_t off_fd_ofiles = 0; -static uint32_t off_fp_fglob = 0; -static uint32_t off_fg_data = 0; -static uint32_t off_vnode_iocount = 0; -static uint32_t off_vnode_usecount = 0; -static uint32_t off_vnode_vflags = 0; - -int offset_init() { - if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_14_0_b1) { - // ios 14 - printf("iOS 14.x offset selected!!!\n"); - off_p_pid = 0x68; - off_p_pfd = 0xf8; - off_fd_ofiles = 0x0; - off_fp_fglob = 0x10; - off_fg_data = 0x38; - off_vnode_iocount = 0x64; - off_vnode_usecount = 0x60; - off_vnode_vflags = 0x54; - return 0; - } - - if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0_b2) { - // ios 13 - printf("iOS 13.x offset selected!!!\n"); - off_p_pid = 0x68; - off_p_pfd = 0x108; - off_fd_ofiles = 0x0; - off_fp_fglob = 0x10; - off_fg_data = 0x38; - off_vnode_iocount = 0x64; - off_vnode_usecount = 0x60; - off_vnode_vflags = 0x54; - return 0; - } - - if(kCFCoreFoundationVersionNumber <= kCFCoreFoundationVersionNumber_iOS_13_0_b1 - && kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_12_0) { - //ios 12 - printf("iOS 12.x offset selected!!!\n"); - off_p_pid = 0x60; - off_p_pfd = 0x100; - off_fd_ofiles = 0x0; - off_fp_fglob = 0x8; - off_fg_data = 0x38; - off_vnode_iocount = 0x64; - off_vnode_usecount = 0x60; - off_vnode_vflags = 0x54; - return 0; - } - - return -1; -} - -//get tfp0 -static kern_return_t get_tfp0(void) { - kern_return_t ret = task_for_pid(mach_task_self(), 0, &tfp0); - mach_port_t host; - pid_t pid; - - if(ret != KERN_SUCCESS) { - host = mach_host_self(); - if(MACH_PORT_VALID(host)) { - printf("host: 0x%" PRIX32 "\n", host); - ret = host_get_special_port(host, HOST_LOCAL_NODE, 4, &tfp0); - mach_port_deallocate(mach_task_self(), host); - } - } - if(ret == KERN_SUCCESS && MACH_PORT_VALID(tfp0)) { - if(pid_for_task(tfp0, &pid) == KERN_SUCCESS && pid == 0) { - return ret; - } - mach_port_deallocate(mach_task_self(), tfp0); - } - return KERN_FAILURE; -} +int offset_init(); //read kernel -static kern_return_t -kread_buf(kaddr_t addr, void *buf, mach_vm_size_t sz) { - mach_vm_address_t p = (mach_vm_address_t)buf; - mach_vm_size_t read_sz, out_sz = 0; - - while(sz != 0) { - read_sz = MIN(sz, vm_kernel_page_size - (addr & vm_kernel_page_mask)); - if(mach_vm_read_overwrite(tfp0, addr, read_sz, p, &out_sz) != KERN_SUCCESS || out_sz != read_sz) { - return KERN_FAILURE; - } - p += read_sz; - sz -= read_sz; - addr += read_sz; - } - return KERN_SUCCESS; -} - -static kern_return_t -kread_addr(kaddr_t addr, kaddr_t *val) { - return kread_buf(addr, val, sizeof(*val)); -} - -uint32_t kernel_read32(uint64_t where) { - uint32_t out; - kread_buf(where, &out, sizeof(uint32_t)); - return out; -} - -uint64_t kernel_read64(uint64_t where) { - uint64_t out; - kread_buf(where, &out, sizeof(uint64_t)); - return out; -} +uint32_t kernel_read32(uint64_t); +uint64_t kernel_read64(uint64_t); //write kernel -static kern_return_t -kwrite_buf(kaddr_t addr, const void *buf, mach_msg_type_number_t sz) { - vm_machine_attribute_val_t mattr_val = MATTR_VAL_CACHE_FLUSH; - mach_vm_address_t p = (mach_vm_address_t)buf; - mach_msg_type_number_t write_sz; - - while(sz != 0) { - write_sz = (mach_msg_type_number_t)MIN(sz, vm_kernel_page_size - (addr & vm_kernel_page_mask)); - if(mach_vm_write(tfp0, addr, p, write_sz) != KERN_SUCCESS || mach_vm_machine_attribute(tfp0, addr, write_sz, MATTR_CACHE, &mattr_val) != KERN_SUCCESS) { - return KERN_FAILURE; - } - p += write_sz; - sz -= write_sz; - addr += write_sz; - } - return KERN_SUCCESS; -} - -void kernel_write32(uint64_t where, uint32_t what) { - uint32_t _what = what; - kwrite_buf(where, &_what, sizeof(uint32_t)); -} - - -void kernel_write64(uint64_t where, uint64_t what) { - uint64_t _what = what; - kwrite_buf(where, &_what, sizeof(uint64_t)); -} - -//get proc_of_pid -uint64_t proc_of_pid(pid_t pid) { - - uint64_t proc = kernel_read64(allproc); - uint64_t current_pid = 0; - - while(proc) { - current_pid = kernel_read32(proc + off_p_pid); - if (current_pid == pid) return proc; - proc = kernel_read64(proc); - } - - return 0; -} - -//get kernel base, kernel slide -static kaddr_t -get_kbase(kaddr_t *kslide) { - mach_msg_type_number_t cnt = TASK_DYLD_INFO_COUNT; - vm_region_extended_info_data_t extended_info; - task_dyld_info_data_t dyld_info; - kaddr_t addr, rtclock_datap; - struct mach_header_64 mh64; - mach_port_t obj_nm; - mach_vm_size_t sz; - - if(task_info(tfp0, TASK_DYLD_INFO, (task_info_t)&dyld_info, &cnt) == KERN_SUCCESS && dyld_info.all_image_info_size != 0) { - *kslide = dyld_info.all_image_info_size; - return VM_KERNEL_LINK_ADDRESS + *kslide; - } - cnt = VM_REGION_EXTENDED_INFO_COUNT; - for(addr = 0; mach_vm_region(tfp0, &addr, &sz, VM_REGION_EXTENDED_INFO, (vm_region_info_t)&extended_info, &cnt, &obj_nm) == KERN_SUCCESS; addr += sz) { - mach_port_deallocate(mach_task_self(), obj_nm); - if(extended_info.user_tag == VM_KERN_MEMORY_CPU && extended_info.protection == VM_PROT_DEFAULT) { - if(kread_addr(addr + CPU_DATA_RTCLOCK_DATAP_OFF, &rtclock_datap) != KERN_SUCCESS) { - break; - } - printf("rtclock_datap: " KADDR_FMT "\n", rtclock_datap); - rtclock_datap = trunc_page_kernel(rtclock_datap); - do { - if(rtclock_datap <= VM_KERNEL_LINK_ADDRESS) { - return 0; - } - rtclock_datap -= vm_kernel_page_size; - if(kread_buf(rtclock_datap, &mh64, sizeof(mh64)) != KERN_SUCCESS) { - return 0; - } - } while(mh64.magic != MH_MAGIC_64 || mh64.cputype != CPU_TYPE_ARM64 || mh64.filetype != MH_EXECUTE); - *kslide = rtclock_datap - VM_KERNEL_LINK_ADDRESS; - return rtclock_datap; - } - } - return 0; -} - -//patchfinder -static void -sec_reset(sec_64_t *sec) { - memset(&sec->s64, '\0', sizeof(sec->s64)); - sec->data = NULL; -} - -static void -sec_term(sec_64_t *sec) { - free(sec->data); - sec_reset(sec); -} - -static kern_return_t -sec_init(sec_64_t *sec) { - if((sec->data = malloc(sec->s64.size)) != NULL) { - if(kread_buf(sec->s64.addr, sec->data, sec->s64.size) == KERN_SUCCESS) { - return KERN_SUCCESS; - } - sec_term(sec); - } - return KERN_FAILURE; -} - -static kern_return_t -find_section(kaddr_t sg64_addr, struct segment_command_64 sg64, const char *sect_name, struct section_64 *sp) { - kaddr_t s64_addr, s64_end; - - for(s64_addr = sg64_addr + sizeof(sg64), s64_end = s64_addr + (sg64.cmdsize - sizeof(*sp)); s64_addr < s64_end; s64_addr += sizeof(*sp)) { - if(kread_buf(s64_addr, sp, sizeof(*sp)) != KERN_SUCCESS) { - break; - } - if(strncmp(sp->segname, sg64.segname, sizeof(sp->segname)) == 0 && strncmp(sp->sectname, sect_name, sizeof(sp->sectname)) == 0) { - return KERN_SUCCESS; - } - } - return KERN_FAILURE; -} - -static void -pfinder_reset(pfinder_t *pfinder) { - sec_reset(&pfinder->sec_text); - sec_reset(&pfinder->sec_cstring); -} - -static void -pfinder_term(pfinder_t *pfinder) { - sec_term(&pfinder->sec_text); - sec_term(&pfinder->sec_cstring); - pfinder_reset(pfinder); -} - -static kaddr_t -pfinder_xref_rd(pfinder_t pfinder, uint32_t rd, kaddr_t start, kaddr_t to) { - uint64_t x[32] = { 0 }; - uint32_t insn; - - for(; start >= pfinder.sec_text.s64.addr && start < pfinder.sec_text.s64.addr + (pfinder.sec_text.s64.size - sizeof(insn)); start += sizeof(insn)) { - memcpy(&insn, pfinder.sec_text.data + (start - pfinder.sec_text.s64.addr), sizeof(insn)); - if(IS_LDR_X(insn)) { - x[RD(insn)] = start + LDR_X_IMM(insn); - } else if(IS_ADR(insn)) { - x[RD(insn)] = start + ADR_IMM(insn); - } else if(IS_ADRP(insn)) { - x[RD(insn)] = ADRP_ADDR(start) + ADRP_IMM(insn); - continue; - } else if(IS_ADD_X(insn)) { - x[RD(insn)] = x[RN(insn)] + ADD_X_IMM(insn); - } else if(IS_LDR_X_UNSIGNED_IMM(insn)) { - x[RD(insn)] = x[RN(insn)] + LDR_X_UNSIGNED_IMM(insn); - } else if(IS_RET(insn)) { - memset(x, '\0', sizeof(x)); - } - if(RD(insn) == rd) { - if(to == 0) { - return x[rd]; - } - if(x[rd] == to) { - return start; - } - } - } - return 0; -} - -static kaddr_t -pfinder_xref_str(pfinder_t pfinder, const char *str, uint32_t rd) { - const char *p, *e; - size_t len; - - for(p = pfinder.sec_cstring.data, e = p + pfinder.sec_cstring.s64.size; p < e; p += len) { - len = strlen(p) + 1; - if(strncmp(str, p, len) == 0) { - return pfinder_xref_rd(pfinder, rd, pfinder.sec_text.s64.addr, pfinder.sec_cstring.s64.addr + (kaddr_t)(p - pfinder.sec_cstring.data)); - } - } - return 0; -} - -static kaddr_t -pfinder_allproc(pfinder_t pfinder) { - kaddr_t ref = pfinder_xref_str(pfinder, "shutdownwait", 2); - - if(ref == 0) { - ref = pfinder_xref_str(pfinder, "shutdownwait", 3); /* msleep */ - } - return pfinder_xref_rd(pfinder, 8, ref, 0); -} - -static kern_return_t -pfinder_init_offsets(pfinder_t pfinder) { - if((allproc = pfinder_allproc(pfinder)) != 0) { - printf("allproc: " KADDR_FMT "\n", allproc); - return KERN_SUCCESS; - } - return KERN_FAILURE; -} - -static kern_return_t -pfinder_init(pfinder_t *pfinder, kaddr_t kbase) { - kern_return_t ret = KERN_FAILURE; - struct segment_command_64 sg64; - kaddr_t sg64_addr, sg64_end; - struct mach_header_64 mh64; - struct section_64 s64; - - pfinder_reset(pfinder); - if(kread_buf(kbase, &mh64, sizeof(mh64)) == KERN_SUCCESS && mh64.magic == MH_MAGIC_64 && mh64.cputype == CPU_TYPE_ARM64 && mh64.filetype == MH_EXECUTE) { - for(sg64_addr = kbase + sizeof(mh64), sg64_end = sg64_addr + (mh64.sizeofcmds - sizeof(sg64)); sg64_addr < sg64_end; sg64_addr += sg64.cmdsize) { - if(kread_buf(sg64_addr, &sg64, sizeof(sg64)) != KERN_SUCCESS) { - break; - } - if(sg64.cmd == LC_SEGMENT_64) { - if(strncmp(sg64.segname, SEG_TEXT_EXEC, sizeof(sg64.segname)) == 0 && find_section(sg64_addr, sg64, SECT_TEXT, &s64) == KERN_SUCCESS) { - pfinder->sec_text.s64 = s64; - printf("sec_text_addr: " KADDR_FMT ", sec_text_sz: 0x%" PRIX64 "\n", s64.addr, s64.size); - } else if(strncmp(sg64.segname, SEG_TEXT, sizeof(sg64.segname)) == 0 && find_section(sg64_addr, sg64, SECT_CSTRING, &s64) == KERN_SUCCESS) { - pfinder->sec_cstring.s64 = s64; - printf("sec_cstring_addr: " KADDR_FMT ", sec_cstring_sz: 0x%" PRIX64 "\n", s64.addr, s64.size); - } - } - if(pfinder->sec_text.s64.size != 0 && pfinder->sec_cstring.s64.size != 0) { - if(sec_init(&pfinder->sec_text) == KERN_SUCCESS) { - ret = sec_init(&pfinder->sec_cstring); - } - break; - } - } - } - if(ret != KERN_SUCCESS) { - pfinder_term(pfinder); - } - return ret; -} - -//find_task -static kern_return_t -find_task(pid_t pid, kaddr_t *task) { - kaddr_t proc = allproc; - pid_t cur_pid; - - while(kread_addr(proc, &proc) == KERN_SUCCESS && proc != 0) { - if(kread_buf(proc + PROC_P_PID_OFF, &cur_pid, sizeof(cur_pid)) == KERN_SUCCESS && cur_pid == pid) { - this_proc = proc; - return kread_addr(proc + PROC_TASK_OFF, task); - } - } - return KERN_FAILURE; -} +void kernel_write32(uint64_t, uint32_t); +void kernel_write64(uint64_t, uint64_t); //get vnode -uint64_t get_vnode_with_file_index(int file_index, uint64_t proc) { - uint64_t filedesc = kernel_read64(proc + off_p_pfd); - uint64_t fileproc = kernel_read64(filedesc + off_fd_ofiles); - uint64_t openedfile = kernel_read64(fileproc + (sizeof(void*) * file_index)); - uint64_t fileglob = kernel_read64(openedfile + off_fp_fglob); - uint64_t vnode = kernel_read64(fileglob + off_fg_data); - - uint32_t usecount = kernel_read32(vnode + off_vnode_usecount); - uint32_t iocount = kernel_read32(vnode + off_vnode_iocount); - - kernel_write32(vnode + off_vnode_usecount, usecount + 1); - kernel_write32(vnode + off_vnode_iocount, iocount + 1); - - return vnode; -} +uint64_t get_vnode_with_file_index(int, uint64_t); //hide and show file using vnode -#define VISSHADOW 0x008000 -void hide_path(uint64_t vnode){ - uint32_t v_flags = kernel_read32(vnode + off_vnode_vflags); - kernel_write32(vnode + off_vnode_vflags, (v_flags | VISSHADOW)); -} - -void show_path(uint64_t vnode){ - uint32_t v_flags = kernel_read32(vnode + off_vnode_vflags); - kernel_write32(vnode + off_vnode_vflags, (v_flags &= ~VISSHADOW)); -} - -int init_kernel() { - if(get_tfp0() != KERN_SUCCESS) { - printf("failed get_tfp0!\n"); - return 1; - } - printf("tfp0: 0x%" PRIX32 "\n", tfp0); - - uint64_t kbase = get_kbase(&kslide); - if(kbase == 0) { - printf("failed get_kbase\n"); - return 1; - } - printf("kbase: " KADDR_FMT ", kslide: " KADDR_FMT "\n", kbase, kslide); - - pfinder_t pfinder; - kern_return_t err = pfinder_init(&pfinder, kbase); - if(err != KERN_SUCCESS) { - printf("failed pfinder_init\n"); - pfinder_term(&pfinder); - return 1; - } - - err = pfinder_init_offsets(pfinder); - if(err != KERN_SUCCESS) { - printf("failed pfinder_init_offsets\n"); - return 1; - } - - err = offset_init(); - if (err) { - printf("offset init failed: %d\n", err); - return 1; - } +void hide_path(uint64_t); +void show_path(uint64_t); - return 0; -} +int init_kernel(); diff --git a/kernel.m b/kernel.m new file mode 100644 index 0000000..0ce1077 --- /dev/null +++ b/kernel.m @@ -0,0 +1,144 @@ +#include "kernel.h" + +//set offset +#define kCFCoreFoundationVersionNumber_iOS_12_0 (1535.12) +#define kCFCoreFoundationVersionNumber_iOS_13_0_b2 (1656) +#define kCFCoreFoundationVersionNumber_iOS_13_0_b1 (1652.20) +#define kCFCoreFoundationVersionNumber_iOS_14_0_b1 (1740) + +uint32_t off_p_pid = 0; +uint32_t off_p_pfd = 0; +uint32_t off_fd_ofiles = 0; +uint32_t off_fp_fglob = 0; +uint32_t off_fg_data = 0; +uint32_t off_vnode_iocount = 0; +uint32_t off_vnode_usecount = 0; +uint32_t off_vnode_vflags = 0; + +int offset_init() { + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_14_0_b1) { + // ios 14 + printf("iOS 14.x offset selected!!!\n"); + off_p_pid = 0x68; + off_p_pfd = 0xf8; + off_fd_ofiles = 0x0; + off_fp_fglob = 0x10; + off_fg_data = 0x38; + off_vnode_iocount = 0x64; + off_vnode_usecount = 0x60; + off_vnode_vflags = 0x54; + return 0; + } + + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0_b2) { + // ios 13 + printf("iOS 13.x offset selected!!!\n"); + off_p_pid = 0x68; + off_p_pfd = 0x108; + off_fd_ofiles = 0x0; + off_fp_fglob = 0x10; + off_fg_data = 0x38; + off_vnode_iocount = 0x64; + off_vnode_usecount = 0x60; + off_vnode_vflags = 0x54; + return 0; + } + + if(kCFCoreFoundationVersionNumber <= kCFCoreFoundationVersionNumber_iOS_13_0_b1 + && kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_12_0) { + //ios 12 + printf("iOS 12.x offset selected!!!\n"); + off_p_pid = 0x60; + off_p_pfd = 0x100; + off_fd_ofiles = 0x0; + off_fp_fglob = 0x8; + off_fg_data = 0x38; + off_vnode_iocount = 0x64; + off_vnode_usecount = 0x60; + off_vnode_vflags = 0x54; + return 0; + } + + return -1; +} + +//read kernel +uint32_t kernel_read32(uint64_t where) { + uint32_t out; + kread_buf_tfp0(where, &out, sizeof(uint32_t)); + return out; +} + +uint64_t kernel_read64(uint64_t where) { + uint64_t out; + kread_buf_tfp0(where, &out, sizeof(uint64_t)); + return out; +} + +//write kernel +void kernel_write32(uint64_t where, uint32_t what) { + uint32_t _what = what; + kwrite_buf_tfp0(where, &_what, sizeof(uint32_t)); +} + +void kernel_write64(uint64_t where, uint64_t what) { + uint64_t _what = what; + kwrite_buf_tfp0(where, &_what, sizeof(uint64_t)); +} + +//get vnode +uint64_t get_vnode_with_file_index(int file_index, uint64_t proc) { + uint64_t filedesc = kernel_read64(proc + off_p_pfd); + uint64_t fileproc = kernel_read64(filedesc + off_fd_ofiles); + uint64_t openedfile = kernel_read64(fileproc + (sizeof(void*) * file_index)); + uint64_t fileglob = kernel_read64(openedfile + off_fp_fglob); + uint64_t vnode = kernel_read64(fileglob + off_fg_data); + + uint32_t usecount = kernel_read32(vnode + off_vnode_usecount); + uint32_t iocount = kernel_read32(vnode + off_vnode_iocount); + + kernel_write32(vnode + off_vnode_usecount, usecount + 1); + kernel_write32(vnode + off_vnode_iocount, iocount + 1); + + return vnode; +} + +//hide and show file using vnode +#define VISSHADOW 0x008000 +void hide_path(uint64_t vnode){ + uint32_t v_flags = kernel_read32(vnode + off_vnode_vflags); + kernel_write32(vnode + off_vnode_vflags, (v_flags | VISSHADOW)); +} + +void show_path(uint64_t vnode){ + uint32_t v_flags = kernel_read32(vnode + off_vnode_vflags); + kernel_write32(vnode + off_vnode_vflags, (v_flags &= ~VISSHADOW)); +} + +int init_kernel() { + + printf("======= init_kernel =======\n"); + + if(dimentio_init(0, NULL, NULL) != KERN_SUCCESS) { + printf("failed dimentio_init!\n"); + return 1; + } + + if(init_tfp0() != KERN_SUCCESS) { + printf("failed get_tfp0!\n"); + return 1; + } + + if(kbase == 0) { + printf("failed get_kbase\n"); + return 1; + } + + kern_return_t err = offset_init(); + if (err) { + printf("offset init failed: %d\n", err); + return 1; + } + + return 0; +} diff --git a/libdimentio.c b/libdimentio.c new file mode 100644 index 0000000..4ac4ed5 --- /dev/null +++ b/libdimentio.c @@ -0,0 +1,999 @@ +/* Copyright 2020 0x7ff + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "libdimentio.h" +#include +#include +#include +#include +#include +#include + +#define LZSS_F (18) +#define LZSS_N (4096) +#define LZSS_THRESHOLD (2) +#define IPC_ENTRY_SZ (0x18) +#define OS_STRING_LEN_OFF (0xC) +#define KCOMP_HDR_PAD_SZ (0x16C) +#define OS_STRING_STRING_OFF (0x10) +#define IPC_SPACE_IS_TABLE_OFF (0x20) +#define IPC_ENTRY_IE_OBJECT_OFF (0x0) +#define PROC_P_LIST_LE_PREV_OFF (0x8) +#define OS_DICTIONARY_COUNT_OFF (0x14) +#define IPC_PORT_IP_KOBJECT_OFF (0x68) +#define PROC_P_LIST_LH_FIRST_OFF (0x0) +#define PREBOOT_PATH "/private/preboot/" +#define IPC_SPACE_IS_TABLE_SZ_OFF (0x14) +#define OS_DICTIONARY_DICT_ENTRY_OFF (0x20) +#define OS_STRING_LEN(a) extract32(a, 14, 18) +#define LOADED_KEXT_SUMMARY_HDR_NAME_OFF (0x10) +#define LOADED_KEXT_SUMMARY_HDR_ADDR_OFF (0x60) +#define APPLE_MOBILE_AP_NONCE_CLEAR_NONCE_SEL (0xC9) +#define APPLE_MOBILE_AP_NONCE_GENERATE_NONCE_SEL (0xC8) +#define kCFCoreFoundationVersionNumber_iOS_10_0_b5 (1348) +#define kCFCoreFoundationVersionNumber_iOS_13_0_b2 (1656) +#define kCFCoreFoundationVersionNumber_iOS_14_0_b1 (1740) +#define kCFCoreFoundationVersionNumber_iOS_11_0_b1 (1429.15) +#define kCFCoreFoundationVersionNumber_iOS_12_0_b1 (1535.13) +#define kCFCoreFoundationVersionNumber_iOS_13_0_b1 (1652.20) +#define kCFCoreFoundationVersionNumber_iOS_14_3_b1 (1770.300) +#define BOOT_PATH "/System/Library/Caches/com.apple.kernelcaches/kernelcache" + +#define DER_INT (0x2U) +#define DER_SEQ (0x30U) +#define DER_IA5_STR (0x16U) +#define DER_OCTET_STR (0x4U) +#define RD(a) extract32(a, 0, 5) +#define RN(a) extract32(a, 5, 5) +#define VM_KERN_MEMORY_OSKEXT (5) +#define KCOMP_HDR_MAGIC (0x636F6D70U) +#define ADRP_ADDR(a) ((a) & ~0xFFFULL) +#define ADRP_IMM(a) (ADR_IMM(a) << 12U) +#define IO_OBJECT_NULL ((io_object_t)0) +#define ADD_X_IMM(a) extract32(a, 10, 12) +#define kIODeviceTreePlane "IODeviceTree" +#define KCOMP_HDR_TYPE_LZSS (0x6C7A7373U) +#define LDR_X_IMM(a) (sextract64(a, 5, 19) << 2U) +#define kOSBundleLoadAddressKey "OSBundleLoadAddress" +#define IS_ADR(a) (((a) & 0x9F000000U) == 0x10000000U) +#define IS_ADRP(a) (((a) & 0x9F000000U) == 0x90000000U) +#define IS_LDR_X(a) (((a) & 0xFF000000U) == 0x58000000U) +#define IS_ADD_X(a) (((a) & 0xFFC00000U) == 0x91000000U) +#define LDR_W_UNSIGNED_IMM(a) (extract32(a, 10, 12) << 2U) +#define LDR_X_UNSIGNED_IMM(a) (extract32(a, 10, 12) << 3U) +#define kBootNoncePropertyKey "com.apple.System.boot-nonce" +#define kIONVRAMDeletePropertyKey "IONVRAM-DELETE-PROPERTY" +#define IS_LDR_W_UNSIGNED_IMM(a) (((a) & 0xFFC00000U) == 0xB9400000U) +#define IS_LDR_X_UNSIGNED_IMM(a) (((a) & 0xFFC00000U) == 0xF9400000U) +#define ADR_IMM(a) ((sextract64(a, 5, 19) << 2U) | extract32(a, 29, 2)) +#define kIONVRAMForceSyncNowPropertyKey "IONVRAM-FORCESYNCNOW-PROPERTY" + +#ifndef SECT_CSTRING +# define SECT_CSTRING "__cstring" +#endif + +#ifndef SEG_TEXT_EXEC +# define SEG_TEXT_EXEC "__TEXT_EXEC" +#endif + +typedef char io_string_t[512]; +typedef mach_port_t io_object_t; +typedef uint32_t IOOptionBits, ipc_entry_num_t; +typedef io_object_t io_service_t, io_connect_t, io_registry_entry_t; + +typedef struct { + struct section_64 s64; + const char *data; +} sec_64_t; + +typedef struct { + struct symtab_command cmd_symtab; + sec_64_t sec_text, sec_cstring; + kaddr_t base, kslide; + const char *kernel; + size_t kernel_sz; + char *data; +} pfinder_t; + +kern_return_t +IOServiceClose(io_connect_t); + +kern_return_t +IOObjectRelease(io_object_t); + +CFMutableDictionaryRef +IOServiceMatching(const char *); + +CFDictionaryRef +OSKextCopyLoadedKextInfo(CFArrayRef, CFArrayRef); + +io_registry_entry_t +IORegistryEntryFromPath(mach_port_t, const io_string_t); + +io_service_t +IOServiceGetMatchingService(mach_port_t, CFDictionaryRef); + +kern_return_t +IOServiceOpen(io_service_t, task_port_t, uint32_t, io_connect_t *); + +kern_return_t +IORegistryEntrySetCFProperty(io_registry_entry_t, CFStringRef, CFTypeRef); + +kern_return_t +mach_vm_write(vm_map_t, mach_vm_address_t, vm_offset_t, mach_msg_type_number_t); + +kern_return_t +IOConnectCallStructMethod(io_connect_t, uint32_t, const void *, size_t, void *, size_t *); + +CFTypeRef +IORegistryEntryCreateCFProperty(io_registry_entry_t, CFStringRef, CFAllocatorRef, IOOptionBits); + +kern_return_t +mach_vm_read_overwrite(vm_map_t, mach_vm_address_t, mach_vm_size_t, mach_vm_address_t, mach_vm_size_t *); + +kern_return_t +mach_vm_machine_attribute(vm_map_t, mach_vm_address_t, mach_vm_size_t, vm_machine_attribute_t, vm_machine_attribute_val_t *); + +kern_return_t +mach_vm_region(vm_map_t, mach_vm_address_t *, mach_vm_size_t *, vm_region_flavor_t, vm_region_info_t, mach_msg_type_number_t *, mach_port_t *); + +extern const mach_port_t kIOMasterPortDefault; + +static kread_func_t kread_buf; +task_t tfp0 = TASK_NULL; +static kwrite_func_t kwrite_buf; +kaddr_t kbase, kslide, this_proc, our_task; +static kaddr_t kernproc; +static size_t proc_task_off, proc_p_pid_off, task_itk_space_off, io_dt_nvram_of_dict_off; + +static uint32_t +extract32(uint32_t val, unsigned start, unsigned len) { + return (val >> start) & (~0U >> (32U - len)); +} + +static uint64_t +sextract64(uint64_t val, unsigned start, unsigned len) { + return (uint64_t)((int64_t)(val << (64U - len - start)) >> (64U - len)); +} + +static size_t +decompress_lzss(const uint8_t *src, size_t src_len, uint8_t *dst, size_t dst_len) { + const uint8_t *src_end = src + src_len, *dst_start = dst, *dst_end = dst + dst_len; + uint16_t i, r = LZSS_N - LZSS_F, flags = 0; + uint8_t text_buf[LZSS_N + LZSS_F - 1], j; + + memset(text_buf, ' ', r); + while(src != src_end && dst != dst_end) { + if(((flags >>= 1U) & 0x100U) == 0) { + flags = *src++ | 0xFF00U; + if(src == src_end) { + break; + } + } + if((flags & 1U) != 0) { + text_buf[r++] = *dst++ = *src++; + r &= LZSS_N - 1U; + } else { + i = *src++; + if(src == src_end) { + break; + } + j = *src++; + i |= (j & 0xF0U) << 4U; + j = (j & 0xFU) + LZSS_THRESHOLD; + do { + *dst++ = text_buf[r++] = text_buf[i++ & (LZSS_N - 1U)]; + r &= LZSS_N - 1U; + } while(j-- != 0 && dst != dst_end); + } + } + return (size_t)(dst - dst_start); +} + +static const uint8_t * +der_decode(uint8_t tag, const uint8_t *der, const uint8_t *der_end, size_t *out_len) { + size_t der_len; + + if(der_end - der > 2 && tag == *der++) { + if(((der_len = *der++) & 0x80U) != 0) { + *out_len = 0; + if((der_len &= 0x7FU) <= sizeof(*out_len) && (size_t)(der_end - der) >= der_len) { + while(der_len-- != 0) { + *out_len = (*out_len << 8U) | *der++; + } + } + } else { + *out_len = der_len; + } + if(*out_len != 0 && (size_t)(der_end - der) >= *out_len) { + return der; + } + } + return NULL; +} + +static const uint8_t * +der_decode_seq(const uint8_t *der, const uint8_t *der_end, const uint8_t **seq_end) { + size_t der_len; + + if((der = der_decode(DER_SEQ, der, der_end, &der_len)) != NULL) { + *seq_end = der + der_len; + } + return der; +} + +static const uint8_t * +der_decode_uint64(const uint8_t *der, const uint8_t *der_end, uint64_t *r) { + size_t der_len; + + if((der = der_decode(DER_INT, der, der_end, &der_len)) != NULL && (*der & 0x80U) == 0 && (der_len <= sizeof(*r) || (--der_len == sizeof(*r) && *der++ == 0))) { + *r = 0; + while(der_len-- != 0) { + *r = (*r << 8U) | *der++; + } + return der; + } + return NULL; +} + +static void * +kdecompress(const void *src, size_t src_len, size_t *dst_len) { + const uint8_t *der, *octet, *der_end, *src_end = (const uint8_t *)src + src_len; + struct { + uint32_t magic, type, adler32, uncomp_sz, comp_sz; + uint8_t pad[KCOMP_HDR_PAD_SZ]; + } kcomp_hdr; + size_t der_len; + uint64_t r; + void *dst; + + if((der = der_decode_seq(src, src_end, &der_end)) != NULL && (der = der_decode(DER_IA5_STR, der, der_end, &der_len)) != NULL && der_len == 4 && (memcmp(der, "IMG4", der_len) != 0 || ((der = der_decode_seq(der + der_len, src_end, &der_end)) != NULL && (der = der_decode(DER_IA5_STR, der, der_end, &der_len)) != NULL && der_len == 4)) && memcmp(der, "IM4P", der_len) == 0 && (der = der_decode(DER_IA5_STR, der + der_len, der_end, &der_len)) != NULL && der_len == 4 && memcmp(der, "krnl", der_len) == 0 && (der = der_decode(DER_IA5_STR, der + der_len, der_end, &der_len)) != NULL && (der = der_decode(DER_OCTET_STR, der + der_len, der_end, &der_len)) != NULL && der_len > sizeof(kcomp_hdr)) { + octet = der; + memcpy(&kcomp_hdr, octet, sizeof(kcomp_hdr)); + if(kcomp_hdr.magic == __builtin_bswap32(KCOMP_HDR_MAGIC)) { + if(kcomp_hdr.type == __builtin_bswap32(KCOMP_HDR_TYPE_LZSS) && (kcomp_hdr.comp_sz = __builtin_bswap32(kcomp_hdr.comp_sz)) <= der_len - sizeof(kcomp_hdr) && (kcomp_hdr.uncomp_sz = __builtin_bswap32(kcomp_hdr.uncomp_sz)) != 0 && (dst = malloc(kcomp_hdr.uncomp_sz)) != NULL) { + if(decompress_lzss(octet + sizeof(kcomp_hdr), kcomp_hdr.comp_sz, dst, kcomp_hdr.uncomp_sz) == kcomp_hdr.uncomp_sz) { + *dst_len = kcomp_hdr.uncomp_sz; + return dst; + } + free(dst); + } + } else if((der = der_decode_seq(der + der_len, src_end, &der_end)) != NULL && (der = der_decode_uint64(der, der_end, &r)) != NULL && r == 1 && der_decode_uint64(der, der_end, &r) != NULL && r != 0 && (dst = malloc(r)) != NULL) { + if(compression_decode_buffer(dst, r, octet, der_len, NULL, COMPRESSION_LZFSE) == r) { + *dst_len = r; + return dst; + } + free(dst); + } + } + return NULL; +} + +kern_return_t +init_tfp0(void) { + kern_return_t ret = task_for_pid(mach_task_self(), 0, &tfp0); + mach_port_t host; + pid_t pid; + + if(ret != KERN_SUCCESS) { + host = mach_host_self(); + if(MACH_PORT_VALID(host)) { + printf("host: 0x%" PRIX32 "\n", host); + ret = host_get_special_port(host, HOST_LOCAL_NODE, 4, &tfp0); + mach_port_deallocate(mach_task_self(), host); + } + } + if(ret == KERN_SUCCESS && MACH_PORT_VALID(tfp0)) { + if(pid_for_task(tfp0, &pid) == KERN_SUCCESS && pid == 0) { + return ret; + } + mach_port_deallocate(mach_task_self(), tfp0); + } + return KERN_FAILURE; +} + +kern_return_t +kread_buf_tfp0(kaddr_t addr, void *buf, mach_vm_size_t sz) { + mach_vm_address_t p = (mach_vm_address_t)buf; + mach_vm_size_t read_sz, out_sz = 0; + + while(sz != 0) { + read_sz = MIN(sz, vm_kernel_page_size - (addr & vm_kernel_page_mask)); + if(mach_vm_read_overwrite(tfp0, addr, read_sz, p, &out_sz) != KERN_SUCCESS || out_sz != read_sz) { + return KERN_FAILURE; + } + p += read_sz; + sz -= read_sz; + addr += read_sz; + } + return KERN_SUCCESS; +} + +kern_return_t +kread_addr(kaddr_t addr, kaddr_t *val) { + return kread_buf(addr, val, sizeof(*val)); +} + +kern_return_t +kwrite_buf_tfp0(kaddr_t addr, const void *buf, mach_msg_type_number_t sz) { + vm_machine_attribute_val_t mattr_val = MATTR_VAL_CACHE_FLUSH; + mach_vm_address_t p = (mach_vm_address_t)buf; + mach_msg_type_number_t write_sz; + + while(sz != 0) { + write_sz = (mach_msg_type_number_t)MIN(sz, vm_kernel_page_size - (addr & vm_kernel_page_mask)); + if(mach_vm_write(tfp0, addr, p, write_sz) != KERN_SUCCESS || mach_vm_machine_attribute(tfp0, addr, write_sz, MATTR_CACHE, &mattr_val) != KERN_SUCCESS) { + return KERN_FAILURE; + } + p += write_sz; + sz -= write_sz; + addr += write_sz; + } + return KERN_SUCCESS; +} + +static kern_return_t +find_section(const char *p, struct segment_command_64 sg64, const char *sect_name, struct section_64 *sp) { + for(; sg64.nsects-- != 0; p += sizeof(*sp)) { + memcpy(sp, p, sizeof(*sp)); + if((sp->flags & SECTION_TYPE) != S_ZEROFILL) { + if(sp->offset < sg64.fileoff || sp->size > sg64.filesize || sp->offset - sg64.fileoff > sg64.filesize - sp->size) { + break; + } + if(sp->size != 0 && strncmp(sp->segname, sg64.segname, sizeof(sp->segname)) == 0 && strncmp(sp->sectname, sect_name, sizeof(sp->sectname)) == 0) { + return KERN_SUCCESS; + } + } + } + return KERN_FAILURE; +} + +static void +sec_reset(sec_64_t *sec) { + memset(&sec->s64, '\0', sizeof(sec->s64)); + sec->data = NULL; +} + +static kern_return_t +sec_read_buf(sec_64_t sec, kaddr_t addr, void *buf, size_t sz) { + size_t off; + + if(addr < sec.s64.addr || sz > sec.s64.size || (off = addr - sec.s64.addr) > sec.s64.size - sz) { + return KERN_FAILURE; + } + memcpy(buf, sec.data + off, sz); + return KERN_SUCCESS; +} + +static void +pfinder_reset(pfinder_t *pfinder) { + pfinder->base = 0; + pfinder->kslide = 0; + pfinder->data = NULL; + pfinder->kernel = NULL; + pfinder->kernel_sz = 0; + sec_reset(&pfinder->sec_text); + sec_reset(&pfinder->sec_cstring); + memset(&pfinder->cmd_symtab, '\0', sizeof(pfinder->cmd_symtab)); +} + +static void +pfinder_term(pfinder_t *pfinder) { + free(pfinder->data); + pfinder_reset(pfinder); +} + +static kern_return_t +pfinder_init_file(pfinder_t *pfinder, const char *filename) { + struct symtab_command cmd_symtab; + kern_return_t ret = KERN_FAILURE; + struct segment_command_64 sg64; + struct mach_header_64 mh64; + struct load_command lc; + struct section_64 s64; + struct fat_header fh; + struct stat stat_buf; + struct fat_arch fa; + const char *p, *e; + size_t len; + void *m; + int fd; + + pfinder_reset(pfinder); + if((fd = open(filename, O_RDONLY | O_CLOEXEC)) != -1) { + if(fstat(fd, &stat_buf) != -1 && S_ISREG(stat_buf.st_mode) && stat_buf.st_size > 0) { + len = (size_t)stat_buf.st_size; + if((m = mmap(NULL, len, PROT_READ, MAP_PRIVATE, fd, 0)) != MAP_FAILED) { + if((pfinder->data = kdecompress(m, len, &pfinder->kernel_sz)) != NULL && pfinder->kernel_sz > sizeof(fh) + sizeof(mh64)) { + pfinder->kernel = pfinder->data; + memcpy(&fh, pfinder->kernel, sizeof(fh)); + if(fh.magic == __builtin_bswap32(FAT_MAGIC) && (fh.nfat_arch = __builtin_bswap32(fh.nfat_arch)) < (pfinder->kernel_sz - sizeof(fh)) / sizeof(fa)) { + for(p = pfinder->kernel + sizeof(fh); fh.nfat_arch-- != 0; p += sizeof(fa)) { + memcpy(&fa, p, sizeof(fa)); + if(fa.cputype == (cpu_type_t)__builtin_bswap32(CPU_TYPE_ARM64) && (fa.offset = __builtin_bswap32(fa.offset)) < pfinder->kernel_sz && (fa.size = __builtin_bswap32(fa.size)) <= pfinder->kernel_sz - fa.offset && fa.size > sizeof(mh64)) { + pfinder->kernel_sz = fa.size; + pfinder->kernel += fa.offset; + break; + } + } + } + memcpy(&mh64, pfinder->kernel, sizeof(mh64)); + if(mh64.magic == MH_MAGIC_64 && mh64.cputype == CPU_TYPE_ARM64 && mh64.filetype == MH_EXECUTE && mh64.sizeofcmds < pfinder->kernel_sz - sizeof(mh64)) { + for(p = pfinder->kernel + sizeof(mh64), e = p + mh64.sizeofcmds; mh64.ncmds-- != 0 && (size_t)(e - p) >= sizeof(lc); p += lc.cmdsize) { + memcpy(&lc, p, sizeof(lc)); + if(lc.cmdsize < sizeof(lc) || (size_t)(e - p) < lc.cmdsize) { + break; + } + if(lc.cmd == LC_SEGMENT_64) { + if(lc.cmdsize < sizeof(sg64)) { + break; + } + memcpy(&sg64, p, sizeof(sg64)); + if(sg64.vmsize == 0) { + continue; + } + if(sg64.nsects != (lc.cmdsize - sizeof(sg64)) / sizeof(s64) || sg64.fileoff > pfinder->kernel_sz || sg64.filesize > pfinder->kernel_sz - sg64.fileoff) { + break; + } + if(sg64.fileoff == 0 && sg64.filesize != 0) { + if(pfinder->base != 0) { + break; + } + pfinder->base = sg64.vmaddr; + printf("base: " KADDR_FMT "\n", sg64.vmaddr); + } + if(strncmp(sg64.segname, SEG_TEXT_EXEC, sizeof(sg64.segname)) == 0) { + if(find_section(p + sizeof(sg64), sg64, SECT_TEXT, &s64) != KERN_SUCCESS) { + break; + } + pfinder->sec_text.s64 = s64; + pfinder->sec_text.data = pfinder->kernel + s64.offset; + printf("sec_text_addr: " KADDR_FMT ", sec_text_off: 0x%" PRIX32 ", sec_text_sz: 0x%" PRIX64 "\n", s64.addr, s64.offset, s64.size); + } else if(strncmp(sg64.segname, SEG_TEXT, sizeof(sg64.segname)) == 0) { + if(find_section(p + sizeof(sg64), sg64, SECT_CSTRING, &s64) != KERN_SUCCESS || pfinder->kernel[s64.offset + s64.size - 1] != '\0') { + break; + } + pfinder->sec_cstring.s64 = s64; + pfinder->sec_cstring.data = pfinder->kernel + s64.offset; + printf("sec_cstring_addr: " KADDR_FMT ", sec_cstring_off: 0x%" PRIX32 ", sec_cstring_sz: 0x%" PRIX64 "\n", s64.addr, s64.offset, s64.size); + } + } else if(lc.cmd == LC_SYMTAB) { + if(lc.cmdsize != sizeof(cmd_symtab)) { + break; + } + memcpy(&cmd_symtab, p, sizeof(cmd_symtab)); + printf("cmd_symtab_symoff: 0x%" PRIX32 ", cmd_symtab_nsyms: 0x%" PRIX32 ", cmd_symtab_stroff: 0x%" PRIX32 "\n", cmd_symtab.symoff, cmd_symtab.nsyms, cmd_symtab.stroff); + if(cmd_symtab.nsyms != 0 && (cmd_symtab.symoff > pfinder->kernel_sz || cmd_symtab.nsyms > (pfinder->kernel_sz - cmd_symtab.symoff) / sizeof(struct nlist_64) || cmd_symtab.stroff > pfinder->kernel_sz || cmd_symtab.strsize > pfinder->kernel_sz - cmd_symtab.stroff || cmd_symtab.strsize == 0 || pfinder->kernel[cmd_symtab.stroff + cmd_symtab.strsize - 1] != '\0')) { + break; + } + pfinder->cmd_symtab = cmd_symtab; + } + if(pfinder->base != 0 && pfinder->sec_text.s64.size != 0 && pfinder->sec_cstring.s64.size != 0 && pfinder->cmd_symtab.cmdsize != 0) { + ret = KERN_SUCCESS; + break; + } + } + } + } + munmap(m, len); + } + } + close(fd); + } + if(ret != KERN_SUCCESS) { + pfinder_term(pfinder); + } + return ret; +} + +static kaddr_t +pfinder_xref_rd(pfinder_t pfinder, uint32_t rd, kaddr_t start, kaddr_t to) { + kaddr_t x[32] = { 0 }; + uint32_t insn; + + for(; sec_read_buf(pfinder.sec_text, start, &insn, sizeof(insn)) == KERN_SUCCESS; start += sizeof(insn)) { + if(IS_LDR_X(insn)) { + x[RD(insn)] = start + LDR_X_IMM(insn); + } else if(IS_ADR(insn)) { + x[RD(insn)] = start + ADR_IMM(insn); + } else if(IS_ADD_X(insn)) { + x[RD(insn)] = x[RN(insn)] + ADD_X_IMM(insn); + } else if(IS_LDR_W_UNSIGNED_IMM(insn)) { + x[RD(insn)] = x[RN(insn)] + LDR_W_UNSIGNED_IMM(insn); + } else if(IS_LDR_X_UNSIGNED_IMM(insn)) { + x[RD(insn)] = x[RN(insn)] + LDR_X_UNSIGNED_IMM(insn); + } else { + if(IS_ADRP(insn)) { + x[RD(insn)] = ADRP_ADDR(start) + ADRP_IMM(insn); + } + continue; + } + if(RD(insn) == rd) { + if(to == 0) { + if(x[rd] < pfinder.base) { + break; + } + return x[rd]; + } + if(x[rd] == to) { + return start; + } + } + } + return 0; +} + +static kaddr_t +pfinder_xref_str(pfinder_t pfinder, const char *str, uint32_t rd) { + const char *p, *e; + size_t len; + + for(p = pfinder.sec_cstring.data, e = p + pfinder.sec_cstring.s64.size; p != e; p += len) { + len = strlen(p) + 1; + if(strncmp(str, p, len) == 0) { + return pfinder_xref_rd(pfinder, rd, pfinder.sec_text.s64.addr, pfinder.sec_cstring.s64.addr + (kaddr_t)(p - pfinder.sec_cstring.data)); + } + } + return 0; +} + +static kaddr_t +pfinder_sym(pfinder_t pfinder, const char *sym) { + const char *p, *strtab = pfinder.kernel + pfinder.cmd_symtab.stroff; + struct nlist_64 nl64; + + for(p = pfinder.kernel + pfinder.cmd_symtab.symoff; pfinder.cmd_symtab.nsyms-- != 0; p += sizeof(nl64)) { + memcpy(&nl64, p, sizeof(nl64)); + if(nl64.n_un.n_strx != 0 && nl64.n_un.n_strx < pfinder.cmd_symtab.strsize && (nl64.n_type & (N_STAB | N_TYPE)) == N_SECT && nl64.n_value >= pfinder.base && strcmp(strtab + nl64.n_un.n_strx, sym) == 0) { + return nl64.n_value + pfinder.kslide; + } + } + return 0; +} + +static kaddr_t +pfinder_kernproc(pfinder_t pfinder) { + kaddr_t ref = pfinder_sym(pfinder, "_kernproc"); + uint32_t insns[2]; + + if(ref != 0) { + return ref; + } + for(ref = pfinder_xref_str(pfinder, "\"Should never have an EVFILT_READ except for reg or fifo.\"", 0); sec_read_buf(pfinder.sec_text, ref, insns, sizeof(insns)) == KERN_SUCCESS; ref -= sizeof(*insns)) { + if(IS_ADRP(insns[0]) && IS_LDR_X_UNSIGNED_IMM(insns[1]) && RD(insns[1]) == 3) { + return pfinder_xref_rd(pfinder, RD(insns[1]), ref, 0); + } + } + return 0; +} + +static kaddr_t +pfinder_init_kbase(pfinder_t *pfinder) { + mach_msg_type_number_t cnt = TASK_DYLD_INFO_COUNT; + vm_region_extended_info_data_t extended_info; + kaddr_t addr, kext_addr, kext_addr_slid; + CFDictionaryRef kexts_info, kext_info; + task_dyld_info_data_t dyld_info; + char kext_name[KMOD_MAX_NAME]; + struct mach_header_64 mh64; + CFStringRef kext_name_cf; + CFNumberRef kext_addr_cf; + mach_port_t object_name; + CFArrayRef kext_names; + mach_vm_size_t sz; + + if(pfinder->kslide == 0) { + if(task_info(tfp0, TASK_DYLD_INFO, (task_info_t)&dyld_info, &cnt) == KERN_SUCCESS) { + pfinder->kslide = dyld_info.all_image_info_size; + } + if(pfinder->kslide == 0) { + cnt = VM_REGION_EXTENDED_INFO_COUNT; + for(addr = 0; mach_vm_region(tfp0, &addr, &sz, VM_REGION_EXTENDED_INFO, (vm_region_info_t)&extended_info, &cnt, &object_name) == KERN_SUCCESS; addr += sz) { + mach_port_deallocate(mach_task_self(), object_name); + if(extended_info.protection == VM_PROT_READ && extended_info.user_tag == VM_KERN_MEMORY_OSKEXT) { + if(kread_buf(addr + LOADED_KEXT_SUMMARY_HDR_NAME_OFF, kext_name, sizeof(kext_name)) == KERN_SUCCESS) { + printf("kext_name: %s\n", kext_name); + if(kread_addr(addr + LOADED_KEXT_SUMMARY_HDR_ADDR_OFF, &kext_addr_slid) == KERN_SUCCESS) { + printf("kext_addr_slid: " KADDR_FMT "\n", kext_addr_slid); + if((kext_name_cf = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, kext_name, kCFStringEncodingUTF8, kCFAllocatorNull)) != NULL) { + if((kext_names = CFArrayCreate(kCFAllocatorDefault, (const void **)&kext_name_cf, 1, &kCFTypeArrayCallBacks)) != NULL) { + if((kexts_info = OSKextCopyLoadedKextInfo(kext_names, NULL)) != NULL) { + if(CFGetTypeID(kexts_info) == CFDictionaryGetTypeID() && CFDictionaryGetCount(kexts_info) == 1 && (kext_info = CFDictionaryGetValue(kexts_info, kext_name_cf)) != NULL && CFGetTypeID(kext_info) == CFDictionaryGetTypeID() && (kext_addr_cf = CFDictionaryGetValue(kext_info, CFSTR(kOSBundleLoadAddressKey))) != NULL && CFGetTypeID(kext_addr_cf) == CFNumberGetTypeID() && CFNumberGetValue(kext_addr_cf, kCFNumberSInt64Type, &kext_addr) && kext_addr_slid > kext_addr) { + pfinder->kslide = kext_addr_slid - kext_addr; + } + CFRelease(kexts_info); + } + CFRelease(kext_names); + } + CFRelease(kext_name_cf); + } + } + } + break; + } + } + } + } + if(pfinder->base + pfinder->kslide > pfinder->base && kread_buf(pfinder->base + pfinder->kslide, &mh64, sizeof(mh64)) == KERN_SUCCESS && mh64.magic == MH_MAGIC_64 && mh64.cputype == CPU_TYPE_ARM64 && mh64.filetype == MH_EXECUTE) { + pfinder->sec_text.s64.addr += pfinder->kslide; + pfinder->sec_cstring.s64.addr += pfinder->kslide; + printf("kbase: " KADDR_FMT ", kslide: " KADDR_FMT "\n", pfinder->base + pfinder->kslide, pfinder->kslide); + kbase = pfinder->base + pfinder->kslide; + kslide = pfinder->kslide; + return KERN_SUCCESS; + } + return KERN_FAILURE; +} + +static char * +get_boot_path(void) { + size_t hash_len, path_len = sizeof(BOOT_PATH); + io_registry_entry_t chosen; + struct stat stat_buf; + const uint8_t *hash; + CFDataRef hash_cf; + char *path = NULL; + + if(stat(PREBOOT_PATH, &stat_buf) != -1 && S_ISDIR(stat_buf.st_mode) && (chosen = IORegistryEntryFromPath(kIOMasterPortDefault, kIODeviceTreePlane ":/chosen")) != IO_OBJECT_NULL) { + if((hash_cf = IORegistryEntryCreateCFProperty(chosen, CFSTR("boot-manifest-hash"), kCFAllocatorDefault, kNilOptions)) != NULL) { + if(CFGetTypeID(hash_cf) == CFDataGetTypeID() && (hash_len = (size_t)CFDataGetLength(hash_cf) << 1U) != 0) { + path_len += strlen(PREBOOT_PATH) + hash_len; + if((path = malloc(path_len)) != NULL) { + memcpy(path, PREBOOT_PATH, strlen(PREBOOT_PATH)); + for(hash = CFDataGetBytePtr(hash_cf); hash_len-- != 0; ) { + path[strlen(PREBOOT_PATH) + hash_len] = "0123456789ABCDEF"[(hash[hash_len >> 1U] >> ((~hash_len & 1U) << 2U)) & 0xFU]; + } + } + } + CFRelease(hash_cf); + } + IOObjectRelease(chosen); + } + if(path == NULL) { + path_len = sizeof(BOOT_PATH); + path = malloc(path_len); + } + if(path != NULL) { + memcpy(path + (path_len - sizeof(BOOT_PATH)), BOOT_PATH, sizeof(BOOT_PATH)); + } + return path; +} + +kern_return_t +pfinder_init_offsets(void) { + kern_return_t ret = KERN_FAILURE; + pfinder_t pfinder; + char *boot_path; + + proc_task_off = 0x18; + proc_p_pid_off = 0x10; + task_itk_space_off = 0x290; + io_dt_nvram_of_dict_off = 0xC0; + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_10_0_b5) { + task_itk_space_off = 0x300; + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_11_0_b1) { + task_itk_space_off = 0x308; + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_12_0_b1) { + proc_task_off = 0x10; + proc_p_pid_off = 0x60; + task_itk_space_off = 0x300; + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0_b1) { + task_itk_space_off = 0x320; + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0_b2) { + proc_p_pid_off = 0x68; + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_14_0_b1) { + task_itk_space_off = 0x330; + io_dt_nvram_of_dict_off = 0xB8; + if(kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_14_3_b1) { + io_dt_nvram_of_dict_off = 0xC0; + } + } + } + } + } + } + } + if((boot_path = get_boot_path()) != NULL) { + printf("boot_path: %s\n", boot_path); + if(pfinder_init_file(&pfinder, boot_path) == KERN_SUCCESS) { + pfinder.kslide = kslide; + if(pfinder_init_kbase(&pfinder) == KERN_SUCCESS && (kernproc = pfinder_kernproc(pfinder)) != 0) { + printf("kernproc: " KADDR_FMT "\n", kernproc); + ret = KERN_SUCCESS; + } + pfinder_term(&pfinder); + } + free(boot_path); + } + return ret; +} + +kern_return_t +find_task(pid_t pid, kaddr_t *task) { + pid_t cur_pid; + kaddr_t proc; + + if(kread_addr(kernproc + PROC_P_LIST_LH_FIRST_OFF, &proc) == KERN_SUCCESS) { + while(proc != 0 && kread_buf(proc + proc_p_pid_off, &cur_pid, sizeof(cur_pid)) == KERN_SUCCESS) { + if(cur_pid == pid) { + this_proc = proc; + return kread_addr(proc + proc_task_off, task); + } + if(pid == 0 || kread_addr(proc + PROC_P_LIST_LE_PREV_OFF, &proc) != KERN_SUCCESS) { + break; + } + } + } + return KERN_FAILURE; +} + +static kern_return_t +lookup_ipc_port(mach_port_name_t port_name, kaddr_t *ipc_port) { + ipc_entry_num_t port_idx, is_table_sz; + kaddr_t itk_space, is_table; + + if(MACH_PORT_VALID(port_name) && kread_addr(our_task + task_itk_space_off, &itk_space) == KERN_SUCCESS) { + printf("itk_space: " KADDR_FMT "\n", itk_space); + if(kread_buf(itk_space + IPC_SPACE_IS_TABLE_SZ_OFF, &is_table_sz, sizeof(is_table_sz)) == KERN_SUCCESS) { + printf("is_table_sz: 0x%" PRIX32 "\n", is_table_sz); + if((port_idx = MACH_PORT_INDEX(port_name)) < is_table_sz && kread_addr(itk_space + IPC_SPACE_IS_TABLE_OFF, &is_table) == KERN_SUCCESS) { + printf("is_table: " KADDR_FMT "\n", is_table); + return kread_addr(is_table + port_idx * IPC_ENTRY_SZ + IPC_ENTRY_IE_OBJECT_OFF, ipc_port); + } + } + } + return KERN_FAILURE; +} + +static kern_return_t +lookup_io_object(io_object_t object, kaddr_t *ip_kobject) { + kaddr_t ipc_port; + + if(lookup_ipc_port(object, &ipc_port) == KERN_SUCCESS) { + printf("ipc_port: " KADDR_FMT "\n", ipc_port); + return kread_addr(ipc_port + IPC_PORT_IP_KOBJECT_OFF, ip_kobject); + } + return KERN_FAILURE; +} + +static kern_return_t +nonce_generate(io_service_t nonce_serv) { + uint8_t nonce_d[CC_SHA384_DIGEST_LENGTH]; + kern_return_t ret = KERN_FAILURE; + io_connect_t nonce_conn; + size_t nonce_d_sz; + + if(IOServiceOpen(nonce_serv, mach_task_self(), 0, &nonce_conn) == KERN_SUCCESS) { + printf("nonce_conn: 0x%" PRIX32 "\n", nonce_conn); + if(IOConnectCallStructMethod(nonce_conn, APPLE_MOBILE_AP_NONCE_CLEAR_NONCE_SEL, NULL, 0, NULL, NULL) == KERN_SUCCESS) { + nonce_d_sz = sizeof(nonce_d); + ret = IOConnectCallStructMethod(nonce_conn, APPLE_MOBILE_AP_NONCE_GENERATE_NONCE_SEL, NULL, 0, nonce_d, &nonce_d_sz); + } + IOServiceClose(nonce_conn); + } + return ret; +} + +static kern_return_t +get_of_dict(io_service_t nvram_serv, kaddr_t *of_dict) { + kaddr_t nvram_object; + + if(lookup_io_object(nvram_serv, &nvram_object) == KERN_SUCCESS) { + printf("nvram_object: " KADDR_FMT "\n", nvram_object); + return kread_addr(nvram_object + io_dt_nvram_of_dict_off, of_dict); + } + return KERN_FAILURE; +} + +static kaddr_t +lookup_key_in_os_dict(kaddr_t os_dict, const char *key) { + kaddr_t os_dict_entry_ptr, string_ptr, val = 0; + uint32_t os_dict_cnt, cur_key_len; + size_t key_len = strlen(key) + 1; + struct { + kaddr_t key, val; + } os_dict_entry; + char *cur_key; + + if((cur_key = malloc(key_len)) != NULL) { + if(kread_addr(os_dict + OS_DICTIONARY_DICT_ENTRY_OFF, &os_dict_entry_ptr) == KERN_SUCCESS && os_dict_entry_ptr != 0) { + printf("os_dict_entry_ptr: " KADDR_FMT "\n", os_dict_entry_ptr); + if(kread_buf(os_dict + OS_DICTIONARY_COUNT_OFF, &os_dict_cnt, sizeof(os_dict_cnt)) == KERN_SUCCESS) { + printf("os_dict_cnt: 0x%" PRIX32 "\n", os_dict_cnt); + while(os_dict_cnt-- != 0 && kread_buf(os_dict_entry_ptr + os_dict_cnt * sizeof(os_dict_entry), &os_dict_entry, sizeof(os_dict_entry)) == KERN_SUCCESS) { + printf("key: " KADDR_FMT ", val: " KADDR_FMT "\n", os_dict_entry.key, os_dict_entry.val); + if(kread_buf(os_dict_entry.key + OS_STRING_LEN_OFF, &cur_key_len, sizeof(cur_key_len)) != KERN_SUCCESS) { + break; + } + cur_key_len = OS_STRING_LEN(cur_key_len); + printf("cur_key_len: 0x%" PRIX32 "\n", cur_key_len); + if(cur_key_len == key_len) { + if(kread_addr(os_dict_entry.key + OS_STRING_STRING_OFF, &string_ptr) != KERN_SUCCESS || string_ptr == 0) { + break; + } + printf("string_ptr: " KADDR_FMT "\n", string_ptr); + if(kread_buf(string_ptr, cur_key, key_len) != KERN_SUCCESS) { + break; + } + if(memcmp(cur_key, key, key_len) == 0) { + val = os_dict_entry.val; + break; + } + } + } + } + } + free(cur_key); + } + return val; +} + +static kern_return_t +set_nvram_prop(io_service_t nvram_serv, const char *key, const char *val) { + CFStringRef cf_key = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, key, kCFStringEncodingUTF8, kCFAllocatorNull), cf_val; + kern_return_t ret = KERN_FAILURE; + + if(cf_key != NULL) { + if((cf_val = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, val, kCFStringEncodingUTF8, kCFAllocatorNull)) != NULL) { + ret = IORegistryEntrySetCFProperty(nvram_serv, cf_key, cf_val); + CFRelease(cf_val); + } + CFRelease(cf_key); + } + return ret; +} + +static kern_return_t +sync_nonce(io_service_t nvram_serv) { + if(set_nvram_prop(nvram_serv, "temp_key", "temp_val") == KERN_SUCCESS && set_nvram_prop(nvram_serv, kIONVRAMDeletePropertyKey, "temp_key") == KERN_SUCCESS) { + return set_nvram_prop(nvram_serv, kIONVRAMForceSyncNowPropertyKey, kBootNoncePropertyKey); + } + return KERN_FAILURE; +} + +static bool +entangle_nonce(uint64_t nonce, uint8_t entangled_nonce[CC_SHA384_DIGEST_LENGTH]) { + bool ret = false; +#ifdef __arm64e__ +# define IO_AES_ACCELERATOR_SPECIAL_KEYS_OFF (0xD0) +# define IO_AES_ACCELERATOR_SPECIAL_KEY_CNT_OFF (0xD8) + io_service_t aes_serv = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOAESAccelerator")); + struct { + uint32_t generated, key_id, key_sz, val[4], key[4], zero, pad; + } key; + uint64_t buf[] = { 0, nonce }; + kaddr_t aes_object, keys_ptr; + uint32_t key_cnt; + size_t out_sz; + + if(aes_serv != IO_OBJECT_NULL) { + printf("aes_serv: 0x%" PRIX32 "\n", aes_serv); + if(lookup_io_object(aes_serv, &aes_object) == KERN_SUCCESS) { + printf("aes_object: " KADDR_FMT "\n", aes_object); + if(kread_addr(aes_object + IO_AES_ACCELERATOR_SPECIAL_KEYS_OFF, &keys_ptr) == KERN_SUCCESS) { + printf("keys_ptr: " KADDR_FMT "\n", keys_ptr); + if(kread_buf(aes_object + IO_AES_ACCELERATOR_SPECIAL_KEY_CNT_OFF, &key_cnt, sizeof(key_cnt)) == KERN_SUCCESS) { + printf("key_cnt: 0x%" PRIX32 "\n", key_cnt); + for(; key_cnt-- != 0 && kread_buf(keys_ptr, &key, sizeof(key)) == KERN_SUCCESS; keys_ptr += sizeof(key)) { + printf("generated: 0x%" PRIX32 ", key_id: 0x%" PRIX32 ", key_sz: 0x%" PRIX32 "\n", key.generated, key.key_id, key.key_sz); + if(key.generated == 1 && key.key_id == 0x8A3 && key.key_sz == 8 * kCCKeySizeAES128) { + if(CCCrypt(kCCEncrypt, kCCAlgorithmAES128, 0, key.val, kCCKeySizeAES128, NULL, buf, sizeof(buf), buf, sizeof(buf), &out_sz) == kCCSuccess && out_sz == sizeof(buf)) { + CC_SHA384(buf, sizeof(buf), entangled_nonce); + ret = true; + } + break; + } + } + } + } + } + IOObjectRelease(aes_serv); + } +#else + (void)nonce; + (void)entangled_nonce; +#endif + return ret; +} + +void +dimentio_term(void) { + if(tfp0 != TASK_NULL) { + mach_port_deallocate(mach_task_self(), tfp0); + } + setpriority(PRIO_PROCESS, 0, 0); +} + +kern_return_t +dimentio_init(kaddr_t _kslide, kread_func_t _kread_buf, kwrite_func_t _kwrite_buf) { + kslide = _kslide; + if(_kread_buf != NULL && _kwrite_buf != NULL) { + kread_buf = _kread_buf; + kwrite_buf = _kwrite_buf; + } else if(init_tfp0() == KERN_SUCCESS) { + printf("tfp0: 0x%" PRIX32 "\n", tfp0); + kread_buf = _kread_buf != NULL ? _kread_buf : kread_buf_tfp0; + kwrite_buf = _kwrite_buf != NULL ? _kwrite_buf : kwrite_buf_tfp0; + } + if(setpriority(PRIO_PROCESS, 0, PRIO_MIN) != -1 && pfinder_init_offsets() == KERN_SUCCESS) { + return KERN_SUCCESS; + } + dimentio_term(); + return KERN_FAILURE; +} + +kern_return_t +dementia(uint64_t *nonce, uint8_t entangled_nonce[CC_SHA384_DIGEST_LENGTH], bool *entangled) { + io_service_t nvram_serv = IORegistryEntryFromPath(kIOMasterPortDefault, kIODeviceTreePlane ":/options"); + char nonce_hex[sizeof("0x") + 2 * sizeof(*nonce)]; + kaddr_t of_dict, os_string, string_ptr; + kern_return_t ret = KERN_FAILURE; + + if(nvram_serv != IO_OBJECT_NULL) { + printf("nvram_serv: 0x%" PRIX32 "\n", nvram_serv); + if(find_task(getpid(), &our_task) == KERN_SUCCESS) { + printf("our_task: " KADDR_FMT "\n", our_task); + if(get_of_dict(nvram_serv, &of_dict) == KERN_SUCCESS && of_dict != 0) { + printf("of_dict: " KADDR_FMT "\n", of_dict); + if((os_string = lookup_key_in_os_dict(of_dict, kBootNoncePropertyKey)) != 0) { + printf("os_string: " KADDR_FMT "\n", os_string); + if(kread_addr(os_string + OS_STRING_STRING_OFF, &string_ptr) == KERN_SUCCESS && string_ptr != 0) { + printf("string_ptr: " KADDR_FMT "\n", string_ptr); + if(kread_buf(string_ptr, nonce_hex, sizeof(nonce_hex)) == KERN_SUCCESS && sscanf(nonce_hex, "0x%016" PRIx64, nonce) == 1) { + ret = KERN_SUCCESS; + *entangled = entangle_nonce(*nonce, entangled_nonce); + } + } + } + } + } + IOObjectRelease(nvram_serv); + } + return ret; +} + +kern_return_t +dimentio(uint64_t nonce, uint8_t entangled_nonce[CC_SHA384_DIGEST_LENGTH], bool *entangled) { + io_service_t nonce_serv, nvram_serv = IORegistryEntryFromPath(kIOMasterPortDefault, kIODeviceTreePlane ":/options"); + char nonce_hex[sizeof("0x") + 2 * sizeof(nonce)]; + kaddr_t of_dict, os_string, string_ptr; + kern_return_t ret = KERN_FAILURE; + + if(nvram_serv != IO_OBJECT_NULL) { + printf("nvram_serv: 0x%" PRIX32 "\n", nvram_serv); + if(find_task(getpid(), &our_task) == KERN_SUCCESS) { + printf("our_task: " KADDR_FMT "\n", our_task); + if((nonce_serv = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("AppleMobileApNonce"))) != IO_OBJECT_NULL) { + printf("nonce_serv: 0x%" PRIX32 "\n", nonce_serv); + if(nonce_generate(nonce_serv) == KERN_SUCCESS && get_of_dict(nvram_serv, &of_dict) == KERN_SUCCESS && of_dict != 0) { + printf("of_dict: " KADDR_FMT "\n", of_dict); + if((os_string = lookup_key_in_os_dict(of_dict, kBootNoncePropertyKey)) != 0) { + printf("os_string: " KADDR_FMT "\n", os_string); + if(kread_addr(os_string + OS_STRING_STRING_OFF, &string_ptr) == KERN_SUCCESS && string_ptr != 0) { + printf("string_ptr: " KADDR_FMT "\n", string_ptr); + snprintf(nonce_hex, sizeof(nonce_hex), "0x%016" PRIx64, nonce); + if(kwrite_buf(string_ptr, nonce_hex, sizeof(nonce_hex)) == KERN_SUCCESS && sync_nonce(nvram_serv) == KERN_SUCCESS) { + ret = KERN_SUCCESS; + *entangled = entangle_nonce(nonce, entangled_nonce); + } + } + } + } + IOObjectRelease(nonce_serv); + } + } + IOObjectRelease(nvram_serv); + } + return ret; +} diff --git a/libdimentio.h b/libdimentio.h new file mode 100644 index 0000000..8ad6ea5 --- /dev/null +++ b/libdimentio.h @@ -0,0 +1,62 @@ +/* Copyright 2020 0x7ff + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef LIBDIMENTIO_H +# define LIBDIMENTIO_H +# include +# include +# include +# define KADDR_FMT "0x%" PRIX64 +# ifndef MIN +# define MIN(a, b) ((a) < (b) ? (a) : (b)) +# endif +typedef uint64_t kaddr_t; +typedef kern_return_t (*kread_func_t)(kaddr_t, void *, mach_vm_size_t), (*kwrite_func_t)(kaddr_t, const void *, mach_msg_type_number_t); +static kread_func_t kread_buf; +static kwrite_func_t kwrite_buf; +static size_t proc_p_pid_off; +static size_t proc_task_off; +task_t tfp0; +kaddr_t kbase, kslide, this_proc, our_task; + +void +dimentio_term(void); + +kern_return_t +dimentio_init(kaddr_t, kread_func_t, kwrite_func_t); + +kern_return_t +dimentio(uint64_t, uint8_t[CC_SHA384_DIGEST_LENGTH], bool *); + +kern_return_t +dementia(uint64_t *, uint8_t[CC_SHA384_DIGEST_LENGTH], bool *); + +kern_return_t +init_tfp0(void); + +kern_return_t +kread_addr(kaddr_t, kaddr_t *); + +kern_return_t +find_task(pid_t, kaddr_t *); + +kern_return_t +pfinder_init_offsets(void); + +kern_return_t +kread_buf_tfp0(kaddr_t, void *, mach_vm_size_t); + +kern_return_t +kwrite_buf_tfp0(kaddr_t, const void *, mach_msg_type_number_t); +#endif diff --git a/vnode.m b/vnode.m index a741c61..d08929a 100644 --- a/vnode.m +++ b/vnode.m @@ -1,6 +1,9 @@ +#import +#import #include "vnode.h" #include "kernel.h" #include "SVC_Caller.h" +#include "libdimentio.h" #define vnodeMemPath "/tmp/vnodeMem.txt" @@ -107,7 +110,7 @@ void saveVnode(){ fclose(fp); mach_port_deallocate(mach_task_self(), tfp0); printf("Saved vnode to /tmp/vnodeMem.txt\nMake sure vnode recovery to prevent kernel panic!\n"); -}; +} void hideVnode(){ init_kernel(); From 7e6d4474f0cc24b728913ce1a0c850e72ed1f260 Mon Sep 17 00:00:00 2001 From: Halo-Michael Date: Fri, 20 Nov 2020 04:41:48 +0800 Subject: [PATCH 06/25] Convenience comes with risks --- .../usr/share/vnodebypass/hidePathList.plist | 69 +++++++++++++++++++ vnode.m | 67 +----------------- 2 files changed, 70 insertions(+), 66 deletions(-) create mode 100644 layout/usr/share/vnodebypass/hidePathList.plist diff --git a/layout/usr/share/vnodebypass/hidePathList.plist b/layout/usr/share/vnodebypass/hidePathList.plist new file mode 100644 index 0000000..0df97c0 --- /dev/null +++ b/layout/usr/share/vnodebypass/hidePathList.plist @@ -0,0 +1,69 @@ + + + + + /.bootstrapped_electra + /Applications/Anemone.app + /Applications/Cydia.app + /Applications/SafeMode.app + /bin/bash + /bin/bunzip2 + /bin/bzip2 + /bin/cat + /bin/chgrp + /bin/chmod + /bin/chown + /bin/cp + /bin/grep + /bin/gzip + /bin/kill + /bin/ln + /bin/ls + /bin/mkdir + /bin/mv + /bin/sed + /bin/sh + /bin/su + /bin/tar + /binpack + /bootstrap + /chimera + /electra + /etc/apt + /etc/profile + /jb + /Library/dpkg/info/com.inoahdev.launchinsafemode.list + /Library/dpkg/info/com.inoahdev.launchinsafemode.md5sums + /Library/Frameworks/CydiaSubstrate.framework + /Library/MobileSubstrate/DynamicLibraries/FlyJB.dylb + /Library/MobileSubstrate/MobileSubstrate.dylib + /Library/PreferenceBundles/LaunchInSafeMode.bundle + /Library/PreferenceLoader/Preferences/LaunchInSafeMode.plist + /Library/Themes + /private/var/binpack + /private/var/checkra1n.dmg + /private/var/lib/apt + /usr/bin/diff + /usr/bin/hostinfo + /usr/bin/killall + /usr/bin/passwd + /usr/bin/recache + /usr/bin/tar + /usr/bin/which + /usr/bin/xargs + /usr/lib/libjailbreak.dylib + /usr/lib/libsubstitute.0.dylib + /usr/lib/libsubstitute.dylib + /usr/lib/libsubstrate.dylib + /usr/lib/SBInject + /usr/lib/SBInject.dylib + /usr/lib/TweakInject + /usr/lib/TweakInject.dylib + /usr/lib/TweakInjectMapsCheck.dylib + /usr/libexec/sftp-server + /usr/sbin/sshd + /usr/share/terminfo + /var/mobile/Library/.sbinjectSafeMode + /var/mobile/Library/Preferences/jp.akusio.kernbypass.plist + + diff --git a/vnode.m b/vnode.m index d08929a..9696525 100644 --- a/vnode.m +++ b/vnode.m @@ -10,72 +10,7 @@ NSArray* hidePathList = nil; void initPath() { - hidePathList = [NSArray arrayWithObjects: - @"/.bootstrapped_electra", - @"/Applications/Anemone.app", - @"/Applications/Cydia.app", - @"/Applications/SafeMode.app", - @"/bin/bash", - @"/bin/bunzip2", - @"/bin/bzip2", - @"/bin/cat", - @"/bin/chgrp", - @"/bin/chmod", - @"/bin/chown", - @"/bin/cp", - @"/bin/grep", - @"/bin/gzip", - @"/bin/kill", - @"/bin/ln", - @"/bin/ls", - @"/bin/mkdir", - @"/bin/mv", - @"/bin/sed", - @"/bin/sh", - @"/bin/su", - @"/bin/tar", - @"/binpack", - @"/bootstrap", - @"/chimera", - @"/electra", - @"/etc/apt", - @"/etc/profile", - @"/jb", - @"/Library/dpkg/info/com.inoahdev.launchinsafemode.list", - @"/Library/dpkg/info/com.inoahdev.launchinsafemode.md5sums", - @"/Library/Frameworks/CydiaSubstrate.framework", - @"/Library/MobileSubstrate/DynamicLibraries/FlyJB.dylb", - @"/Library/MobileSubstrate/MobileSubstrate.dylib", - @"/Library/PreferenceBundles/LaunchInSafeMode.bundle", - @"/Library/PreferenceLoader/Preferences/LaunchInSafeMode.plist", - @"/Library/Themes", - @"/private/var/binpack", - @"/private/var/checkra1n.dmg", - @"/private/var/lib/apt", - @"/usr/bin/diff", - @"/usr/bin/hostinfo", - @"/usr/bin/killall", - @"/usr/bin/passwd", - @"/usr/bin/recache", - @"/usr/bin/tar", - @"/usr/bin/which", - @"/usr/bin/xargs", - @"/usr/lib/libjailbreak.dylib", - @"/usr/lib/libsubstitute.0.dylib", - @"/usr/lib/libsubstitute.dylib", - @"/usr/lib/libsubstrate.dylib", - @"/usr/lib/SBInject", - @"/usr/lib/SBInject.dylib", - @"/usr/lib/TweakInject", - @"/usr/lib/TweakInject.dylib", - @"/usr/lib/TweakInjectMapsCheck.dylib", - @"/usr/libexec/sftp-server", - @"/usr/sbin/sshd", - @"/usr/share/terminfo", - @"/var/mobile/Library/.sbinjectSafeMode", - @"/var/mobile/Library/Preferences/jp.akusio.kernbypass.plist", - nil - ]; + hidePathList = [NSArray arrayWithContentsOfFile:@"/usr/share/vnodebypass/hidePathList.plist"]; } void saveVnode(){ From 20f2087944091d5418312f0f60d1549c7f1530ba Mon Sep 17 00:00:00 2001 From: Halo-Michael Date: Fri, 20 Nov 2020 05:21:32 +0800 Subject: [PATCH 07/25] Should better --- control | 2 +- vnode.m | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/control b/control index 93b1683..a2f9a30 100644 --- a/control +++ b/control @@ -1,6 +1,6 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.1.2 +Version: 0.1.3 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. Maintainer: XsF1re diff --git a/vnode.m b/vnode.m index 9696525..a129a99 100644 --- a/vnode.m +++ b/vnode.m @@ -11,6 +11,16 @@ void initPath() { hidePathList = [NSArray arrayWithContentsOfFile:@"/usr/share/vnodebypass/hidePathList.plist"]; + if (hidePathList == nil) + goto exit; + for (id path in hidePathList) { + if (![path isKindOfClass:[NSString class]]) + goto exit; + } + return; +exit: + printf("/usr/share/vnodebypass/hidePathList.plist is broken, please reinstall vnodebypass!\n"); + exit(1); } void saveVnode(){ @@ -19,13 +29,13 @@ void saveVnode(){ return; } + initPath(); init_kernel(); find_task(getpid(), &our_task); printf("this_proc: " KADDR_FMT "\n", this_proc); FILE *fp = fopen(vnodeMemPath, "w"); - initPath(); int hideCount = (int)[hidePathList count]; uint64_t vnodeArray[hideCount]; From 1d4bff71eb1faad7ebff568e404e7dfd264c13b8 Mon Sep 17 00:00:00 2001 From: Halo-Michael Date: Fri, 20 Nov 2020 05:31:22 +0800 Subject: [PATCH 08/25] Should better --- vnode.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vnode.m b/vnode.m index a129a99..af6d8cc 100644 --- a/vnode.m +++ b/vnode.m @@ -29,7 +29,7 @@ void saveVnode(){ return; } - initPath(); + initPath(); init_kernel(); find_task(getpid(), &our_task); printf("this_proc: " KADDR_FMT "\n", this_proc); From 3203c9bc7c9abf013edfe638f179cc5ab387495d Mon Sep 17 00:00:00 2001 From: XsF1re Date: Wed, 25 Nov 2020 18:36:39 +0900 Subject: [PATCH 09/25] Possible fix for Odyssey 1.2 --- libdimentio.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/libdimentio.c b/libdimentio.c index 4ac4ed5..ec04693 100644 --- a/libdimentio.c +++ b/libdimentio.c @@ -284,7 +284,6 @@ kern_return_t init_tfp0(void) { kern_return_t ret = task_for_pid(mach_task_self(), 0, &tfp0); mach_port_t host; - pid_t pid; if(ret != KERN_SUCCESS) { host = mach_host_self(); @@ -295,10 +294,7 @@ init_tfp0(void) { } } if(ret == KERN_SUCCESS && MACH_PORT_VALID(tfp0)) { - if(pid_for_task(tfp0, &pid) == KERN_SUCCESS && pid == 0) { - return ret; - } - mach_port_deallocate(mach_task_self(), tfp0); + return ret; } return KERN_FAILURE; } From 768b9224c5767b3e575a68bdbdf4dabdcbc2071b Mon Sep 17 00:00:00 2001 From: XsF1re Date: Sun, 24 Jan 2021 19:20:54 +0900 Subject: [PATCH 10/25] Fix on Substitute and add app --- Makefile | 3 + appent.xml | 24 +++ control | 2 +- .../01J-lp-oVM-view-Ze5-6b-2t3.nib | Bin 0 -> 1197 bytes .../LaunchScreen.storyboardc/Info.plist | Bin 0 -> 258 bytes .../UIViewController-01J-lp-oVM.nib | Bin 0 -> 896 bytes .../BYZ-38-t0r-view-8bC-Xf-vdC.nib | Bin 0 -> 4972 bytes .../Base.lproj/Main.storyboardc/Info.plist | Bin 0 -> 258 bytes .../UIViewController-BYZ-38-t0r.nib | Bin 0 -> 955 bytes .../Applications/vnodebypass.app/Info.plist | Bin 0 -> 1166 bytes layout/Applications/vnodebypass.app/PkgInfo | 1 + .../_CodeSignature/CodeResources | 183 ++++++++++++++++++ .../Applications/vnodebypass.app/vnodebypass | Bin 0 -> 77376 bytes .../usr/share/vnodebypass/hidePathList.plist | 1 + 14 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 appent.xml create mode 100644 layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib create mode 100644 layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/Info.plist create mode 100644 layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib create mode 100644 layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib create mode 100644 layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/Info.plist create mode 100644 layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib create mode 100644 layout/Applications/vnodebypass.app/Info.plist create mode 100644 layout/Applications/vnodebypass.app/PkgInfo create mode 100644 layout/Applications/vnodebypass.app/_CodeSignature/CodeResources create mode 100755 layout/Applications/vnodebypass.app/vnodebypass diff --git a/Makefile b/Makefile index ce10941..5c0c534 100644 --- a/Makefile +++ b/Makefile @@ -18,3 +18,6 @@ vnodebypass_FRAMEWORKS = IOKit include $(THEOS_MAKE_PATH)/tool.mk before-package:: + chmod 7777 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass + chmod 755 $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass + ldid -Sappent.xml $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass \ No newline at end of file diff --git a/appent.xml b/appent.xml new file mode 100644 index 0000000..a60b848 --- /dev/null +++ b/appent.xml @@ -0,0 +1,24 @@ + + + + + platform-application + + com.apple.private.security.container-required + + com.apple.springboard.debugapplicationsget-task-allow + + com.apple.private.skip-library-validation + + proc_info-allow + + get-task-allow + + task_for_pid-allow + + run-unsigned-code + + com.apple.private.security.no-container + + + diff --git a/control b/control index a2f9a30..cd4f649 100644 --- a/control +++ b/control @@ -1,6 +1,6 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.1.3 +Version: 0.2.0 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. Maintainer: XsF1re diff --git a/layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib b/layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib new file mode 100644 index 0000000000000000000000000000000000000000..5a6bad66c3ddc3c882a3f947dbaa5c72d9c37851 GIT binary patch literal 1197 zcmZux>vGaS6kZiHjo0xJd;rJ#0v2d>GGgd7(*9nOQ&<}k+}(iqivVe;w)B3XwXL<| zjH5n8pUU5!EI1V{Gv{pfT=ty(zO$G{HpA@-tHU)y$OOs*l&2_#gH$IQzZ|(Sd82t#tpV3~?Fj;Ay3087p zfq9PK5HF#5uFM(R27w;tGTF@e-XbdpoJ!_?+xY~KMs zQ?1D+hQ+3}P+=1Gi$1}rHt z%#uC_XO{al;F5vZRb}vKl`u;gAGK4c(YFC$7nvYQ5$ru!L8*?%i5QJ;twM3VqMJg) zV_rF_yH+%&K}hDQYknQ;IpeyBjtOP-)nS@d!4nA=Eu6DLE?z60oT(wU^2~p<6Z9 zPhf)DG^dR@Y<|_Wl-a6L8;~Bg$@$fq?_ujXOp{xGv4U8?qGAcT$kP(I>*_w2xNYh> zPW7378}+t+2X#xoi#k+#U+ER4J6dZ;zlW|9a((S4#ywkAI?}?)W0GoXXSdM#|L>wb zrHr`lYMaBD3qG>(sUsa<6#10?kp7rHB@Yh?=}ipuB&?&Y8rkQ}1%Y$|?`Yj*x;olM zV&y{4fxtWC^ncc|5wfQzZ+2b3fqI~)QOD`7+I5wutK*Zs($>}Qk35=MJKC;LbMY?` z6U%z?->{WBNNuE6TBbF`k@Q<*v!M0~`^}L*Mt?H!q!%U?Mx2r41Pf{R%H$9u=8!p@ Y^Fkn9Kpy{0D(PWZhI86fUy5$>8}&hx?f?J) literal 0 HcmV?d00001 diff --git a/layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/Info.plist b/layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..32288e88f6e282c375921d17f7790833b009448f GIT binary patch literal 258 zcmYc)$jK}&F)+By$i&RT&Ji!58tNIAnOg3gpI1_ppOceXM6S{yH+73vvWl3!Grl%H6X;*wgNnVy$elA7WQ)K(dgpP5&J&=)TtjI1~eXi{c= z-bGfncmZj2+jI>Ky>xR5bo0Y}DUlUm2N76g5jB4EypGNI_5p?_DKBNUFLH5^rPYHXWGGMB_tdg%0ZmavG! zOC}n!W7WIWz!#heXw)fh!?)01*wml|{TsSM(SK2@I)hF{(gqXFgV3)j)E2tuzc*w z>c-XJL6mApj+}8tQKkbe6>UO=C9cUmXE|#cJ(rZ+WY9R#`3(@7tuj!#^R#2k$R%9Q z9Atl5CIghyIaM$6s!wI>C`r%YjnuNZc2iB*R~tMaChibp$Bv z+Wx9UFGJFj0;zlCx}&qL^@(jK?^c78QF{eG=b76cRjIezJ=sP2$GnIC?s|d_ZM8tT g&_FA^FYg#_%Wd4$I@H>lgFZV1Z;WYYl%lEk8 literal 0 HcmV?d00001 diff --git a/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib b/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib new file mode 100644 index 0000000000000000000000000000000000000000..e74e7a11a7e60cc813ddab3da3394c50437945b5 GIT binary patch literal 4972 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 HD+d1$v?j{j literal 0 HcmV?d00001 diff --git a/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/Info.plist b/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..9a41f2cb91b33c655127099449c0f7903f304b2b GIT binary patch literal 258 zcmYc)$jK}&F)+By$i&RT&Ji!58tNIAnOg3gpI1_ppOceXM6S{yH+73vvWl3!Grl%H6X;*wgNnVy$elA7WQ)K(dgpP5&J&=)TtjI1~eXi{c= z-bGfncmZj2+jN~GqjZfebW041D3KLl>b literal 0 HcmV?d00001 diff --git a/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib b/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib new file mode 100644 index 0000000000000000000000000000000000000000..04e013e840a36683a2582757783aa13f372e2b9d GIT binary patch literal 955 zcmaJ=S#Q%o5H?4_Ecf*@TyebgwM|>eB1)>JF2~#2o~DZ&J6&&*`YoGHnxw6hpkAVY z#3=z1KZXCq>=r0};bA`8-^}dHw=*uebF(~HXH7U~S=JS_`)H5Q?x1a;O{4up=Vg4B zFIZNu-B*3t9rRQ#J0sa0_td^r2eNZ0w~o5%jqJRY-FHg8m)#FiepKx*N_~~;o0Q*` z`XL9NTS*!`fE~{*L^MrHv<7|8Em9w%+;it46)dKLCGnBxmYBbi)QixBsO-OlK%`F~ zJ2d<%OPL?RQx=CwOVguL#f>8tL%2$#27LD1g-roGrhigbD8?@)e3e0~n9z{L)jiKG zb5_NI(cfnF&G8Fykc7Y&YITv};hzjS8w8MISr##o6_R+3RU6#&sv9^kG5BKYFHy!d zizQG62FKVws?yw`RGIcO0qJYwT;Y_7iby!ELXo9LKn#2&eUxNUG`aK~V7Pu#ghY)~viT2EqBx-~TgD3PKe%AUHm3Khvcq_-PLj;NXxBQOX-kHNVkn3MYIT= zKum%bncK&6&tEu?XB_c>J55yQ%=iW8*_zV~3%R|Q1`xwp(H)}yh_<;MWe&zm^xU&S zdAn4ZXJ*cnXV!7sbC(-9ry7(SA_8%`2G$6DdZO9MJgp(7Rs_eTvo>G*+_brUO9$@k>h9UPZTpU$y?wiO_Ydsp-@9-BfrE#J4j&pma`c#dOi7I%KXJ;! z-Dj)Jb*713VVutBjmW|~GgD`)+;M4^E>hPIJj&w&Ei<26xT{s0T&8w4CPkO7N@|XP zvJ#`Ag?G1*8ZY@-X2*h0!rCkiBjGKysuzhTI&`xVcT|N@9htXD>9+ zm$Qa&>%h6JF>m`0T}W&qUsp~q(3@2j(n!l!{JO9f#?y>5uj zY4qkTB8@wOX~!B5s`2Ea&@;MbYT_lBO{a**+?s{AnOcrixn0p?Kdcpf5<1PrdrWPb zFuszW5;wN+E>lZ3a+-}YBp^lRvY1gJ)*e$!rc+1bF%3(^rZXWEvm2`k$btVsZn1zk z=7^F>j~6Jvy2ynt#acijLEd^Jl$WED8d7;xUQf%4F_F*bbX8U!56-hht4ped_u0ND z6Cn63`qi z3Dn?!Pz6@5#Lvb~*GG!4@UM|(5HW{l{Ut7KkS3%#DU$9;kEEB<2kD#i3-p4c-~`aX zJaEAhxDD=t```t51-^ryuoDi!bMQL62Oq$P@Hu=9-@te9Bm4wE!!PhRT7%kA7aBl= qXc!$q3R2N1N~19}iO!=ODxg`kgdU-{=)Kf95HziHCb5Y@KmGtI-+nv* literal 0 HcmV?d00001 diff --git a/layout/Applications/vnodebypass.app/PkgInfo b/layout/Applications/vnodebypass.app/PkgInfo new file mode 100644 index 0000000..bd04210 --- /dev/null +++ b/layout/Applications/vnodebypass.app/PkgInfo @@ -0,0 +1 @@ +APPL???? \ No newline at end of file diff --git a/layout/Applications/vnodebypass.app/_CodeSignature/CodeResources b/layout/Applications/vnodebypass.app/_CodeSignature/CodeResources new file mode 100644 index 0000000..b8f4868 --- /dev/null +++ b/layout/Applications/vnodebypass.app/_CodeSignature/CodeResources @@ -0,0 +1,183 @@ + + + + + files + + Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib + + hW/VC+cZSzVB7Lymx/T7D5quAWQ= + + Base.lproj/LaunchScreen.storyboardc/Info.plist + + n2t8gsDpfE6XkhG31p7IQJRxTxU= + + Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib + + A0pEZPOhIl0JlXhAaR3GgigUZzs= + + Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib + + 4cZs56HAmxqc0vhuOEcZBUcxkPw= + + Base.lproj/Main.storyboardc/Info.plist + + MDrKFvFWroTb0+KEbQShBcoBvo4= + + Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib + + CQ+iRH1bQ3afDMVNS9GgF1Tivqg= + + Info.plist + + PlM1E4N+Gnut38q3tvysynJoZMU= + + PkgInfo + + n57qDP4tZfLD1rCS43W0B4LQjzE= + + embedded.mobileprovision + + 1bqKVrM9xTbEQmEUO2o72Qrp5HI= + + + files2 + + Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib + + hash2 + + l6aQ1ssyArQZdEg9ot4fqwIDuha7N4E3JTmz7cbN21I= + + + Base.lproj/LaunchScreen.storyboardc/Info.plist + + hash2 + + HyVdXMU7Ux4/KalAao30mpWOK/lEPT4gvYN09wf31cg= + + + Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib + + hash2 + + PMP/9TnBLBw/ad1Z+u2KDapEGM8WpN22r4TRZlndcbI= + + + Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib + + hash2 + + vFDkh3Ue7/SId5Eh1WIhlDtwhUy5Jq6AP5Q4b12VYKQ= + + + Base.lproj/Main.storyboardc/Info.plist + + hash2 + + PpvapAjR62rl6Ym4E6hkTgpKmBICxTaQXeUqcpHmmqQ= + + + Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib + + hash2 + + uBPdyuu1l+eGTg+0BFT3wvaR0MT0HN4GS5IoUmUGX6s= + + + embedded.mobileprovision + + hash2 + + bDqeH6AKdAlpbqEdRoj3aJypJ/uEGSnARci/Y60IQw0= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/layout/Applications/vnodebypass.app/vnodebypass b/layout/Applications/vnodebypass.app/vnodebypass new file mode 100755 index 0000000000000000000000000000000000000000..2adc382fc16b73b8993da626cea4dae85cf98b95 GIT binary patch literal 77376 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 literal 0 HcmV?d00001 diff --git a/layout/usr/share/vnodebypass/hidePathList.plist b/layout/usr/share/vnodebypass/hidePathList.plist index 0df97c0..fe842ed 100644 --- a/layout/usr/share/vnodebypass/hidePathList.plist +++ b/layout/usr/share/vnodebypass/hidePathList.plist @@ -55,6 +55,7 @@ /usr/lib/libsubstitute.0.dylib /usr/lib/libsubstitute.dylib /usr/lib/libsubstrate.dylib + /usr/lib/substitute-loader.dylib /usr/lib/SBInject /usr/lib/SBInject.dylib /usr/lib/TweakInject From 6c96b8ea725d20ec57668938aa609fa8e2de64d3 Mon Sep 17 00:00:00 2001 From: XsF1re Date: Fri, 5 Mar 2021 12:13:22 +0900 Subject: [PATCH 11/25] Support libkrw (unc0ver) Support libkrw (unc0ver) --- Makefile | 9 ++- control | 2 +- kernel.h | 8 --- kernel.m | 34 ++-------- libdimentio.c | 172 ++++++++++++++++++++++++++++++++------------------ libdimentio.h | 13 ++-- vnode.m | 34 +++++++--- 7 files changed, 156 insertions(+), 116 deletions(-) diff --git a/Makefile b/Makefile index 5c0c534..49b765d 100644 --- a/Makefile +++ b/Makefile @@ -2,8 +2,10 @@ GO_EASY_ON_ME = 1 DEBUG=0 FINALPACKAGE=1 -TARGET := iphone:clang:12.4:12.4 -ARCHS = arm64 arm64e +THEOS_DEVICE_IP = 127.0.0.1 -p 2222 + +TARGET := iphone:clang:14.4:14.4 +ARCHS = arm64 include $(THEOS)/makefiles/common.mk @@ -19,5 +21,6 @@ include $(THEOS_MAKE_PATH)/tool.mk before-package:: chmod 7777 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass + ldid -Sent.plist $(THEOS_STAGING_DIR)/usr/bin/vnodebypass chmod 755 $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass - ldid -Sappent.xml $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass \ No newline at end of file + ldid -Sappent.xml $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass diff --git a/control b/control index cd4f649..b0ef944 100644 --- a/control +++ b/control @@ -1,6 +1,6 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.2.0 +Version: 0.2.1 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. Maintainer: XsF1re diff --git a/kernel.h b/kernel.h index d3ac57f..e4368ee 100644 --- a/kernel.h +++ b/kernel.h @@ -16,14 +16,6 @@ uint32_t off_vnode_vflags; int offset_init(); -//read kernel -uint32_t kernel_read32(uint64_t); -uint64_t kernel_read64(uint64_t); - -//write kernel -void kernel_write32(uint64_t, uint32_t); -void kernel_write64(uint64_t, uint64_t); - //get vnode uint64_t get_vnode_with_file_index(int, uint64_t); diff --git a/kernel.m b/kernel.m index 0ce1077..c5b26c6 100644 --- a/kernel.m +++ b/kernel.m @@ -62,30 +62,6 @@ int offset_init() { return -1; } -//read kernel -uint32_t kernel_read32(uint64_t where) { - uint32_t out; - kread_buf_tfp0(where, &out, sizeof(uint32_t)); - return out; -} - -uint64_t kernel_read64(uint64_t where) { - uint64_t out; - kread_buf_tfp0(where, &out, sizeof(uint64_t)); - return out; -} - -//write kernel -void kernel_write32(uint64_t where, uint32_t what) { - uint32_t _what = what; - kwrite_buf_tfp0(where, &_what, sizeof(uint32_t)); -} - -void kernel_write64(uint64_t where, uint64_t what) { - uint64_t _what = what; - kwrite_buf_tfp0(where, &_what, sizeof(uint64_t)); -} - //get vnode uint64_t get_vnode_with_file_index(int file_index, uint64_t proc) { uint64_t filedesc = kernel_read64(proc + off_p_pfd); @@ -124,11 +100,11 @@ int init_kernel() { return 1; } - if(init_tfp0() != KERN_SUCCESS) { - printf("failed get_tfp0!\n"); - return 1; - } - +// if(init_tfp0() != KERN_SUCCESS) { +// printf("failed get_tfp0!\n"); +// return 1; +// } +// if(kbase == 0) { printf("failed get_kbase\n"); return 1; diff --git a/libdimentio.c b/libdimentio.c index ec04693..3fa99f8 100644 --- a/libdimentio.c +++ b/libdimentio.c @@ -19,6 +19,8 @@ #include #include #include +#include +#include #define LZSS_F (18) #define LZSS_N (4096) @@ -91,6 +93,7 @@ typedef char io_string_t[512]; typedef mach_port_t io_object_t; typedef uint32_t IOOptionBits, ipc_entry_num_t; typedef io_object_t io_service_t, io_connect_t, io_registry_entry_t; +typedef int (*krw_0_kread_func_t)(kaddr_t, void *, size_t), (*krw_0_kwrite_func_t)(const void *, kaddr_t, size_t); typedef struct { struct section_64 s64; @@ -149,6 +152,7 @@ kern_return_t mach_vm_region(vm_map_t, mach_vm_address_t *, mach_vm_size_t *, vm_region_flavor_t, vm_region_info_t, mach_msg_type_number_t *, mach_port_t *); extern const mach_port_t kIOMasterPortDefault; +static void *krw_0; static kread_func_t kread_buf; task_t tfp0 = TASK_NULL; @@ -280,6 +284,20 @@ kdecompress(const void *src, size_t src_len, size_t *dst_len) { return NULL; } +static kern_return_t +kread_buf_krw_0(kaddr_t addr, void *buf, mach_vm_size_t sz) { + static krw_0_kread_func_t krw_0_kread; + + return (krw_0_kread != NULL || (krw_0_kread = (krw_0_kread_func_t)dlsym(krw_0, "kread")) != NULL) && krw_0_kread(addr, buf, sz) == 0 ? KERN_SUCCESS : KERN_FAILURE; +} + +static kern_return_t +kwrite_buf_krw_0(kaddr_t addr, const void *buf, mach_msg_type_number_t sz) { + static krw_0_kwrite_func_t krw_0_kwrite; + + return (krw_0_kwrite != NULL || (krw_0_kwrite = (krw_0_kwrite_func_t)dlsym(krw_0, "kwrite")) != NULL) && krw_0_kwrite(buf, addr, sz) == 0 ? KERN_SUCCESS : KERN_FAILURE; +} + kern_return_t init_tfp0(void) { kern_return_t ret = task_for_pid(mach_task_self(), 0, &tfp0); @@ -576,60 +594,64 @@ pfinder_kernproc(pfinder_t pfinder) { static kaddr_t pfinder_init_kbase(pfinder_t *pfinder) { - mach_msg_type_number_t cnt = TASK_DYLD_INFO_COUNT; - vm_region_extended_info_data_t extended_info; - kaddr_t addr, kext_addr, kext_addr_slid; - CFDictionaryRef kexts_info, kext_info; - task_dyld_info_data_t dyld_info; - char kext_name[KMOD_MAX_NAME]; - struct mach_header_64 mh64; - CFStringRef kext_name_cf; - CFNumberRef kext_addr_cf; - mach_port_t object_name; - CFArrayRef kext_names; - mach_vm_size_t sz; - - if(pfinder->kslide == 0) { - if(task_info(tfp0, TASK_DYLD_INFO, (task_info_t)&dyld_info, &cnt) == KERN_SUCCESS) { - pfinder->kslide = dyld_info.all_image_info_size; - } - if(pfinder->kslide == 0) { - cnt = VM_REGION_EXTENDED_INFO_COUNT; - for(addr = 0; mach_vm_region(tfp0, &addr, &sz, VM_REGION_EXTENDED_INFO, (vm_region_info_t)&extended_info, &cnt, &object_name) == KERN_SUCCESS; addr += sz) { - mach_port_deallocate(mach_task_self(), object_name); - if(extended_info.protection == VM_PROT_READ && extended_info.user_tag == VM_KERN_MEMORY_OSKEXT) { - if(kread_buf(addr + LOADED_KEXT_SUMMARY_HDR_NAME_OFF, kext_name, sizeof(kext_name)) == KERN_SUCCESS) { - printf("kext_name: %s\n", kext_name); - if(kread_addr(addr + LOADED_KEXT_SUMMARY_HDR_ADDR_OFF, &kext_addr_slid) == KERN_SUCCESS) { - printf("kext_addr_slid: " KADDR_FMT "\n", kext_addr_slid); - if((kext_name_cf = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, kext_name, kCFStringEncodingUTF8, kCFAllocatorNull)) != NULL) { - if((kext_names = CFArrayCreate(kCFAllocatorDefault, (const void **)&kext_name_cf, 1, &kCFTypeArrayCallBacks)) != NULL) { - if((kexts_info = OSKextCopyLoadedKextInfo(kext_names, NULL)) != NULL) { - if(CFGetTypeID(kexts_info) == CFDictionaryGetTypeID() && CFDictionaryGetCount(kexts_info) == 1 && (kext_info = CFDictionaryGetValue(kexts_info, kext_name_cf)) != NULL && CFGetTypeID(kext_info) == CFDictionaryGetTypeID() && (kext_addr_cf = CFDictionaryGetValue(kext_info, CFSTR(kOSBundleLoadAddressKey))) != NULL && CFGetTypeID(kext_addr_cf) == CFNumberGetTypeID() && CFNumberGetValue(kext_addr_cf, kCFNumberSInt64Type, &kext_addr) && kext_addr_slid > kext_addr) { - pfinder->kslide = kext_addr_slid - kext_addr; - } - CFRelease(kexts_info); - } - CFRelease(kext_names); - } - CFRelease(kext_name_cf); - } - } - } - break; - } - } - } - } - if(pfinder->base + pfinder->kslide > pfinder->base && kread_buf(pfinder->base + pfinder->kslide, &mh64, sizeof(mh64)) == KERN_SUCCESS && mh64.magic == MH_MAGIC_64 && mh64.cputype == CPU_TYPE_ARM64 && mh64.filetype == MH_EXECUTE) { - pfinder->sec_text.s64.addr += pfinder->kslide; - pfinder->sec_cstring.s64.addr += pfinder->kslide; - printf("kbase: " KADDR_FMT ", kslide: " KADDR_FMT "\n", pfinder->base + pfinder->kslide, pfinder->kslide); - kbase = pfinder->base + pfinder->kslide; - kslide = pfinder->kslide; - return KERN_SUCCESS; - } - return KERN_FAILURE; + mach_msg_type_number_t cnt = TASK_DYLD_INFO_COUNT; + kaddr_t kext_addr, kext_addr_slid; + CFDictionaryRef kexts_info, kext_info; + task_dyld_info_data_t dyld_info; + char kext_name[KMOD_MAX_NAME]; + struct mach_header_64 mh64; + CFStringRef kext_name_cf; + CFNumberRef kext_addr_cf; + CFArrayRef kext_names; + + struct { + uint32_t pri_prot, pri_max_prot, pri_inheritance, pri_flags; + uint64_t pri_offset; + uint32_t pri_behavior, pri_user_wired_cnt, pri_user_tag, pri_pages_resident, pri_pages_shared_now_private, pri_pages_swapped_out, pri_pages_dirtied, pri_ref_cnt, pri_shadow_depth, pri_share_mode, pri_private_pages_resident, pri_shared_pages_resident, pri_obj_id, pri_depth; + kaddr_t pri_addr; + uint64_t pri_sz; + } pri; + + if(pfinder->kslide == 0) { + if(task_info(tfp0, TASK_DYLD_INFO, (task_info_t)&dyld_info, &cnt) == KERN_SUCCESS) { + pfinder->kslide = dyld_info.all_image_info_size; + } + if(pfinder->kslide == 0) { + cnt = VM_REGION_EXTENDED_INFO_COUNT; + for(pri.pri_addr = 0; proc_pidinfo(0, PROC_PIDREGIONINFO, pri.pri_addr, &pri, sizeof(pri)) == sizeof(pri); pri.pri_addr += pri.pri_sz) { + if(pri.pri_prot == VM_PROT_READ && pri.pri_user_tag == VM_KERN_MEMORY_OSKEXT) { + if(kread_buf(pri.pri_addr + LOADED_KEXT_SUMMARY_HDR_NAME_OFF, kext_name, sizeof(kext_name)) == KERN_SUCCESS) { + printf("kext_name: %s\n", kext_name); + if(kread_addr(pri.pri_addr + LOADED_KEXT_SUMMARY_HDR_ADDR_OFF, &kext_addr_slid) == KERN_SUCCESS) { + printf("kext_addr_slid: " KADDR_FMT "\n", kext_addr_slid); + if((kext_name_cf = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, kext_name, kCFStringEncodingUTF8, kCFAllocatorNull)) != NULL) { + if((kext_names = CFArrayCreate(kCFAllocatorDefault, (const void **)&kext_name_cf, 1, &kCFTypeArrayCallBacks)) != NULL) { + if((kexts_info = OSKextCopyLoadedKextInfo(kext_names, NULL)) != NULL) { + if(CFGetTypeID(kexts_info) == CFDictionaryGetTypeID() && CFDictionaryGetCount(kexts_info) == 1 && (kext_info = CFDictionaryGetValue(kexts_info, kext_name_cf)) != NULL && CFGetTypeID(kext_info) == CFDictionaryGetTypeID() && (kext_addr_cf = CFDictionaryGetValue(kext_info, CFSTR(kOSBundleLoadAddressKey))) != NULL && CFGetTypeID(kext_addr_cf) == CFNumberGetTypeID() && CFNumberGetValue(kext_addr_cf, kCFNumberSInt64Type, &kext_addr) && kext_addr_slid > kext_addr) { + pfinder->kslide = kext_addr_slid - kext_addr; + } + CFRelease(kexts_info); + } + CFRelease(kext_names); + } + CFRelease(kext_name_cf); + } + } + } + break; + } + } + } + } + if(pfinder->base + pfinder->kslide > pfinder->base && kread_buf(pfinder->base + pfinder->kslide, &mh64, sizeof(mh64)) == KERN_SUCCESS && mh64.magic == MH_MAGIC_64 && mh64.cputype == CPU_TYPE_ARM64 && mh64.filetype == MH_EXECUTE) { + pfinder->sec_text.s64.addr += pfinder->kslide; + pfinder->sec_cstring.s64.addr += pfinder->kslide; + printf("kbase: " KADDR_FMT ", kslide: " KADDR_FMT "\n", pfinder->base + pfinder->kslide, pfinder->kslide); + kbase = pfinder->base + pfinder->kslide; + kslide = pfinder->kslide; + return KERN_SUCCESS; + } + return KERN_FAILURE; } static char * @@ -905,9 +927,11 @@ entangle_nonce(uint64_t nonce, uint8_t entangled_nonce[CC_SHA384_DIGEST_LENGTH]) void dimentio_term(void) { - if(tfp0 != TASK_NULL) { + if(tfp0 != TASK_NULL) { mach_port_deallocate(mach_task_self(), tfp0); - } + } else if(krw_0 != NULL) { + dlclose(krw_0); + } setpriority(PRIO_PROCESS, 0, 0); } @@ -917,10 +941,14 @@ dimentio_init(kaddr_t _kslide, kread_func_t _kread_buf, kwrite_func_t _kwrite_bu if(_kread_buf != NULL && _kwrite_buf != NULL) { kread_buf = _kread_buf; kwrite_buf = _kwrite_buf; - } else if(init_tfp0() == KERN_SUCCESS) { - printf("tfp0: 0x%" PRIX32 "\n", tfp0); - kread_buf = _kread_buf != NULL ? _kread_buf : kread_buf_tfp0; - kwrite_buf = _kwrite_buf != NULL ? _kwrite_buf : kwrite_buf_tfp0; + } else if(init_tfp0() == KERN_SUCCESS) { + printf("tfp0: 0x%" PRIX32 "\n", tfp0); + kread_buf = _kread_buf != NULL ? _kread_buf : kread_buf_tfp0; + kwrite_buf = _kwrite_buf != NULL ? _kwrite_buf : kwrite_buf_tfp0; + } else if((krw_0 = dlopen("/usr/lib/libkrw.0.dylib", RTLD_LAZY)) != NULL) { + printf("libkrw!\n"); + kread_buf = kread_buf_krw_0; + kwrite_buf = kwrite_buf_krw_0; } if(setpriority(PRIO_PROCESS, 0, PRIO_MIN) != -1 && pfinder_init_offsets() == KERN_SUCCESS) { return KERN_SUCCESS; @@ -993,3 +1021,27 @@ dimentio(uint64_t nonce, uint8_t entangled_nonce[CC_SHA384_DIGEST_LENGTH], bool } return ret; } + +//read kernel +uint32_t kernel_read32(uint64_t where) { + uint32_t out; + kread_buf(where, &out, sizeof(uint32_t)); + return out; +} + +uint64_t kernel_read64(uint64_t where) { + uint64_t out; + kread_buf(where, &out, sizeof(uint64_t)); + return out; +} + +//write kernel +void kernel_write32(uint64_t where, uint32_t what) { + uint32_t _what = what; + kwrite_buf(where, &_what, sizeof(uint32_t)); +} + +void kernel_write64(uint64_t where, uint64_t what) { + uint64_t _what = what; + kwrite_buf(where, &_what, sizeof(uint64_t)); +} diff --git a/libdimentio.h b/libdimentio.h index 8ad6ea5..ff256b4 100644 --- a/libdimentio.h +++ b/libdimentio.h @@ -18,9 +18,6 @@ # include # include # define KADDR_FMT "0x%" PRIX64 -# ifndef MIN -# define MIN(a, b) ((a) < (b) ? (a) : (b)) -# endif typedef uint64_t kaddr_t; typedef kern_return_t (*kread_func_t)(kaddr_t, void *, mach_vm_size_t), (*kwrite_func_t)(kaddr_t, const void *, mach_msg_type_number_t); static kread_func_t kread_buf; @@ -54,9 +51,11 @@ find_task(pid_t, kaddr_t *); kern_return_t pfinder_init_offsets(void); -kern_return_t -kread_buf_tfp0(kaddr_t, void *, mach_vm_size_t); +//read kernel +uint32_t kernel_read32(uint64_t); +uint64_t kernel_read64(uint64_t); -kern_return_t -kwrite_buf_tfp0(kaddr_t, const void *, mach_msg_type_number_t); +//write kernel +void kernel_write32(uint64_t, uint32_t); +void kernel_write64(uint64_t, uint64_t); #endif diff --git a/vnode.m b/vnode.m index af6d8cc..25474c5 100644 --- a/vnode.m +++ b/vnode.m @@ -30,8 +30,13 @@ void saveVnode(){ } initPath(); - init_kernel(); + if(init_kernel() == 1) { + printf("Failed init_kernel\n"); + return; + } find_task(getpid(), &our_task); + if(!this_proc) + return; printf("this_proc: " KADDR_FMT "\n", this_proc); FILE *fp = fopen(vnodeMemPath, "w"); @@ -53,12 +58,16 @@ void saveVnode(){ close(file_index); } fclose(fp); - mach_port_deallocate(mach_task_self(), tfp0); + if(tfp0) + mach_port_deallocate(mach_task_self(), tfp0); printf("Saved vnode to /tmp/vnodeMem.txt\nMake sure vnode recovery to prevent kernel panic!\n"); } void hideVnode(){ - init_kernel(); + if(init_kernel() == 1) { + printf("Failed init_kernel\n"); + return; + } if(access(vnodeMemPath, F_OK) == 0) { FILE *fp = fopen(vnodeMemPath, "r"); uint64_t savedVnode; @@ -73,12 +82,16 @@ void hideVnode(){ i++; } } - mach_port_deallocate(mach_task_self(), tfp0); + if(tfp0) + mach_port_deallocate(mach_task_self(), tfp0); printf("Hide file!\n"); } void revertVnode(){ - init_kernel(); + if(init_kernel() == 1) { + printf("Failed init_kernel\n"); + return; + } if(access(vnodeMemPath, F_OK) == 0) { FILE *fp = fopen(vnodeMemPath, "r"); uint64_t savedVnode; @@ -93,12 +106,16 @@ void revertVnode(){ i++; } } - mach_port_deallocate(mach_task_self(), tfp0); + if(tfp0) + mach_port_deallocate(mach_task_self(), tfp0); printf("Show file!\n"); } void recoveryVnode(){ - init_kernel(); + if(init_kernel() == 1) { + printf("Failed init_kernel\n"); + return; + } if(access(vnodeMemPath, F_OK) == 0) { FILE *fp = fopen(vnodeMemPath, "r"); uint64_t savedVnode; @@ -116,7 +133,8 @@ void recoveryVnode(){ } remove(vnodeMemPath); } - mach_port_deallocate(mach_task_self(), tfp0); + if(tfp0) + mach_port_deallocate(mach_task_self(), tfp0); printf("Recovered vnode! No more kernel panic when you shutdown.\n"); } From acd39f863e31e4f9bfd8d8e08d2e0eaa65ed064d Mon Sep 17 00:00:00 2001 From: XsF1re Date: Fri, 5 Mar 2021 15:26:33 +0900 Subject: [PATCH 12/25] Fix permission Fix permission --- Makefile | 1 - control | 2 +- layout/DEBIAN/postinst | 2 ++ 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100755 layout/DEBIAN/postinst diff --git a/Makefile b/Makefile index 49b765d..9b9f83a 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,6 @@ vnodebypass_FRAMEWORKS = IOKit include $(THEOS_MAKE_PATH)/tool.mk before-package:: - chmod 7777 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass ldid -Sent.plist $(THEOS_STAGING_DIR)/usr/bin/vnodebypass chmod 755 $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass ldid -Sappent.xml $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass diff --git a/control b/control index b0ef944..ffde91d 100644 --- a/control +++ b/control @@ -1,6 +1,6 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.2.1 +Version: 0.2.2 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. Maintainer: XsF1re diff --git a/layout/DEBIAN/postinst b/layout/DEBIAN/postinst new file mode 100755 index 0000000..36d42b7 --- /dev/null +++ b/layout/DEBIAN/postinst @@ -0,0 +1,2 @@ +#!/bin/bash +chmod 7777 /usr/bin/vnodebypass &> /dev/null \ No newline at end of file From 870b21fd3566736cca285355b4faf7f289baa4d5 Mon Sep 17 00:00:00 2001 From: XsF1re Date: Fri, 2 Apr 2021 12:35:54 +0900 Subject: [PATCH 13/25] Support libkernrw (Taurine) Support libkernrw (Taurine) --- control | 2 +- libdimentio.c | 26 ++++++++++++++++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/control b/control index ffde91d..9a9df7d 100644 --- a/control +++ b/control @@ -1,6 +1,6 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.2.2 +Version: 0.2.3 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. Maintainer: XsF1re diff --git a/libdimentio.c b/libdimentio.c index 3fa99f8..f40af5a 100644 --- a/libdimentio.c +++ b/libdimentio.c @@ -93,7 +93,8 @@ typedef char io_string_t[512]; typedef mach_port_t io_object_t; typedef uint32_t IOOptionBits, ipc_entry_num_t; typedef io_object_t io_service_t, io_connect_t, io_registry_entry_t; -typedef int (*krw_0_kread_func_t)(kaddr_t, void *, size_t), (*krw_0_kwrite_func_t)(const void *, kaddr_t, size_t); +typedef kern_return_t (*kernrw_0_kbase_func_t)(kaddr_t *), (*kernrw_0_kread_func_t)(kaddr_t, void *, size_t), (*kernrw_0_kwrite_func_t)(kaddr_t, const void *, size_t); +typedef int (*krw_0_kbase_func_t)(kaddr_t *), (*krw_0_kread_func_t)(kaddr_t, void *, size_t), (*krw_0_kwrite_func_t)(const void *, kaddr_t, size_t), (*kernrw_0_req_kernrw_func_t)(void); typedef struct { struct section_64 s64; @@ -152,13 +153,15 @@ kern_return_t mach_vm_region(vm_map_t, mach_vm_address_t *, mach_vm_size_t *, vm_region_flavor_t, vm_region_info_t, mach_msg_type_number_t *, mach_port_t *); extern const mach_port_t kIOMasterPortDefault; -static void *krw_0; +static void *krw_0, *kernrw_0; static kread_func_t kread_buf; task_t tfp0 = TASK_NULL; static kwrite_func_t kwrite_buf; kaddr_t kbase, kslide, this_proc, our_task; static kaddr_t kernproc; +static kernrw_0_kread_func_t kernrw_0_kread; +static kernrw_0_kwrite_func_t kernrw_0_kwrite; static size_t proc_task_off, proc_p_pid_off, task_itk_space_off, io_dt_nvram_of_dict_off; static uint32_t @@ -298,6 +301,16 @@ kwrite_buf_krw_0(kaddr_t addr, const void *buf, mach_msg_type_number_t sz) { return (krw_0_kwrite != NULL || (krw_0_kwrite = (krw_0_kwrite_func_t)dlsym(krw_0, "kwrite")) != NULL) && krw_0_kwrite(buf, addr, sz) == 0 ? KERN_SUCCESS : KERN_FAILURE; } +static kern_return_t +kread_buf_kernrw_0(kaddr_t addr, void *buf, mach_vm_size_t sz) { + return kernrw_0_kread(addr, buf, sz); +} + +static kern_return_t +kwrite_buf_kernrw_0(kaddr_t addr, const void *buf, mach_msg_type_number_t sz) { + return kernrw_0_kwrite(addr, buf, sz); +} + kern_return_t init_tfp0(void) { kern_return_t ret = task_for_pid(mach_task_self(), 0, &tfp0); @@ -611,7 +624,7 @@ pfinder_init_kbase(pfinder_t *pfinder) { kaddr_t pri_addr; uint64_t pri_sz; } pri; - + if(pfinder->kslide == 0) { if(task_info(tfp0, TASK_DYLD_INFO, (task_info_t)&dyld_info, &cnt) == KERN_SUCCESS) { pfinder->kslide = dyld_info.all_image_info_size; @@ -937,6 +950,7 @@ dimentio_term(void) { kern_return_t dimentio_init(kaddr_t _kslide, kread_func_t _kread_buf, kwrite_func_t _kwrite_buf) { + kernrw_0_req_kernrw_func_t kernrw_0_req; kslide = _kslide; if(_kread_buf != NULL && _kwrite_buf != NULL) { kread_buf = _kread_buf; @@ -949,7 +963,11 @@ dimentio_init(kaddr_t _kslide, kread_func_t _kread_buf, kwrite_func_t _kwrite_bu printf("libkrw!\n"); kread_buf = kread_buf_krw_0; kwrite_buf = kwrite_buf_krw_0; - } + } else if((kernrw_0 = dlopen("/usr/lib/libkernrw.0.dylib", RTLD_LAZY)) != NULL && (kernrw_0_req = (kernrw_0_req_kernrw_func_t)dlsym(kernrw_0, "requestKernRw")) != NULL && kernrw_0_req() == 0 && (kernrw_0_kread = (kernrw_0_kread_func_t)dlsym(kernrw_0, "kernRW_readbuf")) != NULL && (kernrw_0_kwrite = (kernrw_0_kwrite_func_t)dlsym(kernrw_0, "kernRW_writebuf")) != NULL) { + printf("libkernrw!\n"); + kread_buf = kread_buf_kernrw_0; + kwrite_buf = kwrite_buf_kernrw_0; + } if(setpriority(PRIO_PROCESS, 0, PRIO_MIN) != -1 && pfinder_init_offsets() == KERN_SUCCESS) { return KERN_SUCCESS; } From 550bbbc4a615d7fbc55d9cbc4d8c96bed7440b26 Mon Sep 17 00:00:00 2001 From: ichitaso Date: Fri, 16 Apr 2021 14:47:07 +0900 Subject: [PATCH 14/25] Support for iOS 12 --- .gitignore | 12 ++++++++++++ Makefile | 2 +- control | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0aeeff8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +*.o +.theos/* +debs/* +*.deb +*.dylib +**/.theos/* +*/.theos/* +*.psd +_/* +*/obj/* +obj/* +*.zip \ No newline at end of file diff --git a/Makefile b/Makefile index 9b9f83a..231c6d3 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ FINALPACKAGE=1 THEOS_DEVICE_IP = 127.0.0.1 -p 2222 -TARGET := iphone:clang:14.4:14.4 +TARGET := iphone:clang:12.4:12.0 ARCHS = arm64 include $(THEOS)/makefiles/common.mk diff --git a/control b/control index 9a9df7d..0b24223 100644 --- a/control +++ b/control @@ -1,6 +1,6 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.2.3 +Version: 0.2.4 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. Maintainer: XsF1re From 25e578b58ee3c35dacd206e57a583420baec53b5 Mon Sep 17 00:00:00 2001 From: ichitaso Date: Sat, 3 Jul 2021 16:55:22 +0900 Subject: [PATCH 15/25] Add icon --- control | 2 +- .../vnodebypass.app/AppIcon60x60@2x.png | Bin 0 -> 38294 bytes .../vnodebypass.app/AppIcon76x76@2x~ipad.png | Bin 0 -> 41964 bytes .../Applications/vnodebypass.app/Assets.car | Bin 0 -> 301768 bytes .../01J-lp-oVM-view-Ze5-6b-2t3.nib | Bin 1197 -> 1197 bytes .../UIViewController-01J-lp-oVM.nib | Bin 896 -> 896 bytes .../BYZ-38-t0r-view-8bC-Xf-vdC.nib | Bin 4972 -> 5005 bytes .../UIViewController-BYZ-38-t0r.nib | Bin 955 -> 955 bytes .../Applications/vnodebypass.app/Info.plist | Bin 1166 -> 1349 bytes .../_CodeSignature/CodeResources | 183 ------------------ .../Applications/vnodebypass.app/vnodebypass | Bin 77376 -> 57376 bytes 11 files changed, 1 insertion(+), 184 deletions(-) create mode 100644 layout/Applications/vnodebypass.app/AppIcon60x60@2x.png create mode 100644 layout/Applications/vnodebypass.app/AppIcon76x76@2x~ipad.png create mode 100644 layout/Applications/vnodebypass.app/Assets.car delete mode 100644 layout/Applications/vnodebypass.app/_CodeSignature/CodeResources diff --git a/control b/control index 0b24223..8e0a6fa 100644 --- a/control +++ b/control @@ -1,6 +1,6 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.2.4 +Version: 0.2.5 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. Maintainer: XsF1re diff --git a/layout/Applications/vnodebypass.app/AppIcon60x60@2x.png b/layout/Applications/vnodebypass.app/AppIcon60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..59dd501bf5ebe562f4f4b8d3a697b64d76b2fe6b GIT binary patch literal 38294 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 SuO1-sN>+-#@?BEL@c#q)`9Wj= literal 0 HcmV?d00001 diff --git a/layout/Applications/vnodebypass.app/AppIcon76x76@2x~ipad.png b/layout/Applications/vnodebypass.app/AppIcon76x76@2x~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..0933520aabc297fcdd4c0a70fdb3c564f9c607b5 GIT binary patch literal 41964 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
  • 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
    n0qtP~gUhR0zA{maLB8*xc3EP}O6Wtc*d z1%-E(aZTCpxP(R*D17BA2UR(o4?qfbu7+p9iSKfNoJ6X&)2D)oufFmWbaMLTGl+Hn z+qX?Ue>M8CRkQ=o38Jk_I6WF1A(rqDl0kpy0=+ythIk1}T!{v$96xg?oH~U@Fa~|s zFZvVc%4`v$VwGb1kU7#hs92j3uPtVMJzvKq=v?GHO*>{qmUGmUj>t`Dzkeqy@o)BA}jJ_h+GiOd3@ zfB|i5t!oG^I{%Au=2_!V!5>R_$8*dIuVSnPnzL+NuF$4S=~v8_MLiT~!Q=vMqgK>G zzFCF?Y(^k5AE1RPKKJlk1&Cj7Z_S z0q2mLCqDSjf60HdFL(ByET7OgSx8Ycin<1ZjW-j+ikHGADHQIArO@s-xS%q9xOk_+Cm7S{(m@Q8#bAnin zdI%{p&+vfE6lWce;~4f{ayZF!r{()N8)Aum`|tgR05Em3Um1UWN#^W|aVlv7AR!`? zLOyNZvsR^n=lV-fkP8+crg!_yK#3DJvs9!dv>|7AcQJycXuiWIdZ{jVY z(HK1A)8U#UR(MJ z%yR3ayFR23Z=e6L%&k_05NV=wxQ}q!$@Qw_230`jWs(}?j%$}>?*8+Y(>0UXOL6Y2 zMi1iJp>v&rp>{p_$0>>8U6b^Yj;oB1(>Zn$+^-cyGn4EI25r0rlweG*bp6{yX)|x~ zwO88qNPva4xo6dl;auT~59~a1BZU)fhY+Kk^6|sX;(&2tXE4#Q zFX4DEVJeI$-NP!XCp4RqNC>FyKlsvY3VhYP={+kYrjAAQ#YoEbbd@;KlQe8STkPjf zTw@awjTtP_!kX3Ts5MZ_#gbdKnEay{mwvvb(pExVGFV~f%_&eKqtZ6wNC(~z#AWO- zEfTz$P*QVDaSD{v)b5bu4Xkha+aWkfQu||w=__l460M>a2_>JdRsl{4d6pWGL4weW zI7wmx=@ZMzNOU)vI9we>?t|#eLae;t*eA=p&U|hGok)HqG}*x)(%YQI**3X)XBlnK zT_^_MABvv!ThOduE-0HWd!XHlz+2vC6mZ|+Rq#S5bm0DF%)I0DGGs8!?#{Ol5Dw*M z;gyxD+_gv;e_E=Q4mSa8k?_Yx;%sDZ^GqkuIZa>l1TtakJc5DkdI{O~&R{k1sQXok z#pjr*ik=j@EU-v%SI_4t&rP-;+vN`*qR#HbXx^%dZ(ncD&1Buw?kGPnOfZrR6ZfD} z;m*41y8JtgL?9B*^TU|tX#4d#zJcV|*(C5cz!T+z(9YVBU(FZg^7wcDcZR#A(V}ZP zUUJF+X5;1_VENU>k|LyT;L8a2N%uusR5B+$srlc{N8>^Djn>J2ss6N!P&NPr$A{Wm zLq`TSDp$X?vcDAgXo;9Sd=3e?!W2akhcH(R?cx3}*l9!)OJFEF^a{-54xQC`P!N?< zWB&iAWcJ9enIr@5+2h2kpsI))M0~FCU+feDHWo(}k_eLZLvm~`FQ1DTjHHhlod2Ul zp``&$`Y3|=da(m+D~EF;#Q|v-?X7zlF;6ycuidtJBSCFa9QULvrA;xk;gd@=nKBkQ zUBYVu%5~&WPFC19|Np{(9?SsDwK%VXvMq3Ru4oE}!{zD%U1faK0KBpEgCk9h)fyre za4!th1lHZpM+2W^MS9GvmX>|xEt(q4n@B4 zw#E1X^m_Mq?p`Tk*gFGXz{)n@V1O+G*}F0r+7_rV7oZA|joL#A@fdUCdInw*!2l7X z)Uid6l6YGAVwaT&fx_^gfwOYwVA9{leU`Od17IiGu?VttAWDMU;Gy%g7a{r+gF8;~ zStim&Rjupy9%cl{ZtW)#f#+iP>VD1*cdF#F`YIP^*dy97%gLq<4&KUB_WDOodAbn} zJ5N|Q(BVDc2;f`$ul2-}>_hazm|8<_C#c89=XvD5H~z*b%yto{^~b7Uamm4zk)kuQ zSzX`BvbBK*xT*CeNm{|C{`&_ZSMluA`M~a|^d1jqlkfc`1DiblvoUl&F_y~SQ3ol) z69b&}juD<(Fid4bPDIQmJN2}+{)NVb9b@>hXR zU2QRf;cmWm(Tm!oMC>|-Vhg_8{2R@IQgp$%-h=X967Sv*G5wZURBJWq_KisvDv7G( zGr46)DFHoXkqcXsTu39aQru;cO0q8^@HgGt{0CpE;3sg{OJNdqR-l&6F}OgrqnW|z+)G?g zYo_*3_o2xMx_%HmjT$`<1Kzf$c$V(OPsqF|*X12D01{;ZCID~^_!cC0UNa*aY;@0JTkG+iJ#F3q z0?^k>zKf2B$6^dDPJHyS>%B8S0}Ys4i)ATi9OqycMv}Y|hGBeM?~_6cva%2u>0)Vo z&r9+$*O~6}WB9@{te_r=qqMsA1?)glJfwCuGYktR9shPH?t1_J}naim5l}^ZR6(YM5lKCSYgW zV}2IB4FLC`(S91V2PU#nU#$IEbq%7XiNcLf9m+ynp716{7dPp`e3+3l&FYeV9eQ9< zC;p)m0Alt9W;)oltIB1JF(M;l<+0ei+PXj+sX27q3tIb}K6GepgY9(HN3#J1U~}n; zpr;b*giGKc_>hve8-S5F9Q+y~oisq16P)-<&(|xc+9=b=o!2OeGr;v z0dcpW+iP07k9o}`{7Ex9t$At}hLS&JR-}SIO zQ_oQ8)(Nt~D*+8(iMUp@=$T^vFx6iP^GR&^sde^t%?rptj`2ZBU}9k82Y!EOM5}*s z1=(dyc%}%A*-BAEpSg$vNagr(2HzjC*PBn3P~10BHv&keeyNApIrJOlZR34C95)U% zy?54Woiyfqmu|(3Ds5$%fLWU9!NKVJ5#T3Pe65VZY6v*7p&)KG7%hF_ytk!TBWZe8 zQfKzOFa4DOI=QMK)+V~mPX8qzRe7!#vkG(uY&UKZJII5sfMT#7*2k&vNmak8Ey!X* zv&aFWSh|fsij=5+@V`w1{ciHCc7DQn-nYGQ?VBoaccr35{eZ~Y-3Uz<4r64JPJuQi zhlFfGy`|p0iXKbNgWH7ozDDG1wtG zH10Y{(?`|NwkrTJKGJ@HhplTKRaob(B5-AX?={KmS(|mzWe5G})1_&U_ztgayj|fq z)U7rjsAoT?os)`5qPecentbskvWdF%+#2KZH67SKFODT-mc1S#MV766z`<$Y++My@ z3NfU0+(-UZUu6pw8vN&u;Wzr!=c)D6mLTTpmYro{Cr{Kr?nXGr8^=CcGYS7QON>Wk zEC3_EE5FY{ftGp&doEeU7|O`yya&paz(4M?5Ih4oulS1*QI*@QR7=34=uy4p8GPma zU|7iygfw=GY4EwYz;Dx5h!VTMdp9-pF@v%!N zUMF29MiBh=79Jn*1vd}DkA;eL@FPzks4bg7-;%i#R+_OJ(6omtd*U~CGURAAK-rkPBc3;2RA!cK0!Kx=@8@-P zXmtselRPeH-UgsLviMMXXKdgm&??+J;XXRqZdV3meyb&u2wk;Z3<<)o1x^;7P{Q<* zcDq3AqHI-b&o-Kg|97VIvN&cvM2yj$s^=e(NlBAtMTrYR?DP8?wN$Uv9vbUNBS%B1 zbg?=5-D=B`WraI5KDxph5dQ{|pp+|07mFDl-T!e}8|Jcc77X<(!>!I~Ez`2ET+M#{ zK>f1XDYevNt7&r~I^v`51i_4x51L{8{e4HY-Lx!F zlcj~qCK?aTj=gbYUTpJwi_yWY976se5yxe^q&D+52NQjh#ctvk^WI3-V7c)*!ic#; zc5FNX;zAJeQm<+5?iN2$8Fbe%!{>7`f-+~QyJk83a>_+$uL4ObQq=I<#NFiA3?m3j zs6>e6kc>~avNiRgG|M3#^3Fg5Po5(IbSqPAP>W^>^g9)cLJ`u~mINC66I}rJ2hv&h z#2XV_6;9pdZ!YgpELj@E0oJ5o;A^OksyO9MQ%Ms}t2x@Uz|Ga*DE=~PNOv2#69I`~ zb0W#Jopb)GH%eP#p91QXa0; zt$&Yk#t_n}N~(sv79 z)XdzLw_$VnywU!kouP=L&ngG3dQZHoo%Y6s(4bpH%=g_QNGYi0VLF%ibL!W@F!Ws# zdEFY@BKvP4TAJ!~ir$Qu@Fs9nx43$~>tM20;cZ!b?bU8=K}0a_gE`ORQnuHmynKM3 z-l%R_w0tdG3xW9S2??Zu1xyd5q)}}JZ8O&E2Fy7@oZVnEcj$OezF~!-3h_v1*oT&$ z_pSwdiBE4UEB=pf9KS6PVe0_RT{!_iRFmcYz9C7qn3bkO`~7FGz|32}wKzR6E5h9B zof$rTUd?Y`9UZ%Oh?ajr)d$fmXq|%cEJgau8%y5uedJ|6N9xq$;G{mFr;o%?6luZ} zIIkMH>x{eblRpshIoLa`{Xf)hinp7S+t@F3PANBKbL|bQ`*4`XC#!aS!q7)g-Semg z`o?b8;bB6|BcLY>iSKj8>=euc&hjOLK?CA0(qu&>eM+C?O?~@#A%LkB503E5l17tA z#;Yxa;Wv-)2oOozCP%f3Q{xX#(HXGYO9yTa*~bZai@16Am^Y73Ej9t@PpYkt{T@Wt z_ud$qAPP#*kNb>RT82%lH>&L!K_If~{LVyRP7MuJxBkg*R{#RR#21TSOWoa)iJ`rm z!+AB{F|ZNlODX=5JD_pd&_=<@Zocb+QbKCPYFBZPFMm!`e(C@}|2)6{``C>0lm1Qp z!59-q&kZUI`Y9an{m0%BD(f)j2B0U#x0h$%xaROSYUuh_^!v}T|KRe8PQdtW zxI^NFmn?@;Sk*EvWG1UO6lu9X&Lth*U; zxW&os0mZc?Yao}xHi^Qrek%sduF9V5g9Up)yn_ACPt*fe@H%HG_ttvQf(W4}g%61s z;X`TWV*iMCj5%R0>52I=n#G%>mdo(%0Dqmv>jt7)uPc;3Vmn;+*Eq5~5%}R&NG~%7 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

    !ugZ(j8ZlY7vA;chG%p#;Osyb#K6eFA zgj9|=TG>OrqcgzVO&T2#(3~<~C8yrV9%Z`G`Rm-}WkQAD@Q5f9zR%MFxF zut`w4tbrfj+2aTs5sxVlyRtw4bO-!bJ)AV1bpc52-s?d^-$2pJPM!G^jv(68>^aqN zLJ!HH3%xN<(S11Z9gZoEM@(r$MI6Y@Nrkq1=gNbspGCw@-GwQ(XgjFJPX5p6oI0u-W$`D9>zyComHI^{J9&t5_Bf! z@P(gh{-)Z7%|z>|_$!=D3sX}eCw8Q12_zS(PRIxsCPEj?vsc!~B{D$9)c6U2y_vnm|)Dhkx zQ6Q>SccXT31sv^mVDk2wb=84;qJw&2$D=Zr=m1xdS)=WB9F`Syand&suzzIyR1Gb? zC(+2s04#rM-L1&H`$Jlq)>%C2HQaKAI)p5HKWw?C9$Rr>zJr>c_KMn27X+3goU-eK zaghXd5JoZSrQ($y#U9QQTAGHj+KZP*9sjRZPjiMm-5o5yAP+xiC8eF&)5bITOj(YV zu>8k$N0LE!h#x&M)xO<>U0qh)Gb*ddlE!4JpJ89u!{58LQR8s6k#p9YWVsh-?AF-V z|7tmZ3>%tU*XX^LF?*@xH|;jdcBFlqmPzV*G=+@Tn6&{^mc6O88`)!PZ;*R^1RUAB zIYIB7lKaz*K1b6f{RNU(L-8SnpNcC+XU~0&X-kl&I$Lan@-#q+c`TQ6r$;=CynyVw z#P*xtq~tG&UxSjeIZMkXz_cpA(7SD5{pQ{$it<FeGC1s#&Av7(tXE~8=qV?fy0R>$VjZcVp6 zfZ;8drbBag*QJB9#_fwDyLQN8x7-G9S4-_*$^Sb5&M-**xQ=5oPJDsvqe>~^* z=tYwI>v^~XXdL2GMx)y-&sA1Di#9^xKC)3cTl8fP zLhPbSS={TJ3A_8sZARTzO4Ib7Z_u*0kZb5VF5#rBm=ZG6uhOmW7-1RwXgwOLi|k2) zuxUDbkxXF18*g(g+Z7MgA4LXY`gK_Ge~*>DmpK{qJgKDYIvV=he>3EB;QL%?h~)hs z6LU00gSMo9GF!v?pg|) z$wGmuN%_nPtl8rEu4%uiRT7zq5QwQi#1tH=>{=%blb?n#6S?t z=K7klTPJ8d=`5ge<}Wf5svz+tSyj6_MRemH7Gqp4?UlI5Wz6RTa%cczsZ}scQ#Uy8D;p`g{Vm&DUaFFM+_h$LzcM{K%ZM5eIn+M)Ntez7)FT zOIpK#(kTF`*rwgpc*Z1F!|;q{rW7RGY@u-^ZOO^9wO9w*wtDRI_p@z8-n`d5*fj9B zPgr?E8AV3H;7YOOc7z7Svm&WZYOjkcP^_b73LemjT=u^|A696gE_Dtb2o)Wv(q`mM zNT5^_kSzv;XC-0Xgn_}_`@kBqFk^HU;;MWT&NFhB&7JPl|IE(TgQU$3qEC?5?RjsI z)==Q8)u*BedkhD80EN}R`n-O|Rohu+=`An~5{0)tm5E#8Ibb{*=oBjX*;b2^B`JSa~5^fdZnQ=6ei z_sj{s70AIsMbmHyDD;9h+2%{2jR|`Sp){2WI=_>b{b0dGYk&c2?{|_=W(?VjO-t^+c773d^X5ce@BlOHG1_V|v+4tlay6&1anV1KR%%OXa zC~#Lo1g-+(AJJVPUqOSw-tZ2%{^v0^eRj~I+{L#RJCGR4Prc(Jh_+m6(4hUCS6pkf*6bedUwaD4klhE4%K3 z4c3o?e;w?nbwgCqx{hUU-TihQChSMQYUNnsv?L^lribtOv1+tD_cnu+ct11s| zL(%meaLk)_ur0gKpRz5M2K7GW&uTAdMS-b4Ff9_buH1S0LVDi1lg4>E`}unmm6xY% zz*RPmPcLNF<(y!s`I!kaOM+xusxx}jrh}n9<>|RyPH9urjA?{h=K{Fs!R;+je!oxY z_0LF6MiT+?>I?^d=+_Xf%xQuG zg*8v(qGp=DvqHd4?Cn0x9pp8)_rwb}?Lw4HH! z-R|>*`gT|(a z|ElxR64K$J5e{Me2*0S0;U%ciMmwZnF0 zXzCcbt7U6pYLC?HJ5; z^IGmv`3g54pTmRmo*tRVhclEWM*p6!e(3S!EsFLyTvsqUQZn4IUGQ&(3T7;%+-Z%d zW%~K)+gCyVkfxr0__>HwT{$Lia>cOE`sPEwUd0*nv(xedox69Wo4feLog-HS-1N<> zaZY+L*6#JCv4|tB8fvRQxSq}r&b?Gw{q%SB#pb7Q8`ttOz2J>rEb2js>le#<)z+&&X*7ode5mh+QB@Ot@1e?lS{6w?tRAUt5b zdACWatB+;PJMX>J(B!fo)&6hwxoa;51YP~1TXhqnbK9uQ4xb%6zigYD7Mi`|#~U_P zYYOEtiMAi`nEz^}hLu}S1>MY;FMG94`b>-H{KH^Uq-fr4$dj%fT5Jp79~d1+g?(y7 z|9+*B9*=o&JN9OY*HJm=Locyk4}b>BSB`DH3$wH@_Q`>`zh2#Feg_lXCzC$#+-JZx z*VHw0W^C!U&p{4nRX1@Tl9H^W9U}TNah#*qU|RjLzCGx1RTEq?D2-A`SA!)PB!m50 zh9bbmX+Kj4U!voUm|iA)JvD#tN`mrLsX?(@LSOrnI-X(&YY9(0lZJFhzQ2iytp#Wj z**v&S?%F@V$;YY)49gFZ!P0cG3iQ8o`Zu3r`U{rtdYhgBUai(V3K~5P{4}iGE(^6p zRnD;Ei}CaoNdco%yB)3^fmuzQJ8`#u2$Wusu0MP_C(QMx%Iq*jVYmI*)1UP&kimSr zn$O!}B5GJ3NIT{bEF&8JizzfGa1bU2GGTZhFbcCvZ+AZIAW|e`h`$PfB@woLiqdk) z!ct7zWtDW8BzrsS;n523n15>vfX2+Mz6*L}G|Qgic4sU8Pr5ZC!k&w^L+SmSA5ei3 zK+5w3s^YR5>H^ITzh!&AUXoHXbs8DE9$rJ7Q>je_(T&=~aHh5fgry}N%tS9Q(9C&I z(nB&>%9Q1Q6#HQ4ycDHuLPQeul@JS>Xal*NAwGsJ7$wwMTX-Vg7)ugvVd*39f#v-UNUnZ4Hf ztvCzKOqhs))*84KO^tR1qGjOha8mrU6U?T(1D}}uL;cBDyMf>*h5}ETrgC|5BC~A( zul@p!v#d>h?}zNVa0e^t@|l9lqM}~cjyOd%Uzm~CKDw~Ym)xu25o zQ4V6itkApU6g#-wrrdmE(-q5RLCM!=>LJN-*pwaw*Q9frsWp*potk4CRq{0 zTesSc29??nqB7>j&c~TyC!6YT*>hfwEBWECn-v_ODSdsjsB9aK9AsJGZjsA`hKE3W z{<@od2&haynnQo{_~g_KD-@VbyrficBIh-Tq@Taj)3+Cvk?%O0P>Gb>bLWK z5SO-JyCd8zXZ*_1v|7jksI#vWM!qoDr)x4URR;u;8K<%lqzF(YO_~TwVG!&Nlv)n) zT0GlXbaFfF# zIHit{0~&oi0B$jNtomG_=M5A%w4)vw?pc&-w}rE{#S(7tV)Y;E93rPU*1z_}Y8m_9 zkBoJdQ&DT9qU}GsH*ZY^aKTox01ql!8U?Gv#6ZyM5Y9=8Aj*R(LXj522XVualevfv z{RKyIkYa-dDS|s64;-*F`jgPf;0xo}5+u(v7`%x8x|j+<*OUD&lXk3Yk^^brMm@`7 zTr$+Mv><3<3D6YWkr9>&E@cZvI`|xWj;VVj9%73o21#R>kx$wOO$#guWOZ-=b_9*Z z6eiQ8nGf157;?>wVWTmOxJN(QivUMCLrk$13sF{cxHS>$$y2$$S<*+flgh75mLNAD zd#|!j2>MxGfK{hauCTH5B~KwG^Q8uiaz>%lTL(GCBQ}k)B5h?(YhJa|2mx|6$W}H= zbh(tmoR0ENfAT?c&!s>(2z`;dn=*tq$rc!eN14D*b(8=yqN!?BX?}PXfHw(1Nb%m} z>_9-76L%Y%*#czx>k%8}M15qM9oKkPJ5Hcpw`GaP7O$QmrOtDxEMyh=-3l2YU7wdR z&q#y9RQ^gU6ov>ei!|eU_#^dtHl6XYMjObe6wU#a!rOwD`R@h~ASkl(97?F}0H=jB zxjE13lB&A9>hd3DX7fBw+SYtLwbwk`p-of7CoNXS8q1^e8QBYAO&f^^HG@y_9nrOr zs4YFn=-kfp6%fCPS2|+Mdw#O$cA*Pw)0D0`Zw-J&Q~CPyIAB?Th}10@Hv5HhhXa@( zB>fwmA}n)FP`?O>IaH{{!@(M2gUCZMAcBCS4aH1b8ScvkB%8kyLCSssQo{pa0dx@Uqkp7d-Sdb}>iVITd#AQyBquE7+J#9RgB@EiD3U z7oWdzGW7@i2_L~3(hE?Ki9l!FOg>CN*@~4(j8WBn%GdieWx0rSL&>R0$-}gbmrpOi zGird7tU^{u+r4aHssbjcJ(DsXy_HCpg!g(Z`d+Lg7#$YsC952GOEMB8G!x2xvJg+KR%s7=n47+PjV=CW;MUbB*;%R*{9|c&~#G8G%1d8TD-7m%*>a) z06Uh^sGKECZj>7Oz#*@{nMTDtnyVe)QhE=Nx8$*zVrK4WUSCQQzMryW{5)~-9R#ty zIP3u7Bx+X}WoSZ&drFvaR9zN;coYYogENw$IIjm|fFD~Yz7sYHNLS<2hWNP9WqxJx zDmjwEWcZ+{4z%Y_BokGCsPMlv>78!7E~PUOzzJD;Vm#0VoyZ* z>~LOWOfT#$Opm~hhajn+DORpyv}6d(hq9j}$-x2R)j+kFIFcY=dwwz>I+AL^((?Bv zPN907pk~{YlH`?_GZ+}%4kK?}Eppy>C?(eXNap2~HI0VB$i_^CW)qHN6@L=d?3tt# z8SYP>0*|5fc+%`^&En^g=~3RK+9fg_OQI#y<1TV>?;Rw3sCk&|J~Ux}`Zs43?Ig>% z8!w|z4s?=YflC*M7QwOuiv>4)E?EpfmL;EpFnA756x&}Srpk$bI zg7gX?*bleBbPFhX;5E6Bm^j2=jtk=A7_A}u4y0ugVvJ**&2*|C-NQxX8HCGw(0Mwz zj4}XPzNBW~SEzqFn^^!hI0a1v8KLFjyy;+SZ#kD#G+UuwA_DV%cUIGXybRMYz-bom z3}LSEN=f%4WcDyL1jM2PWB&Yb2#6@DjO{uV>C|CL*CpQz`k0cDjflUrFLpbO& z{J06EdMiBeGMvR&q85Ia9laq!QEb4kC>KlA;N~c+Ej3i?&ci z7igsH5eyZ)Ks5Wy0Z;zkh$fGVnV3p5vuz_;wTto9Y2jQ;B|!EJ92In<7bX`|Oh@Jc85tvfR(pJxc zvtLmrj-im8ATxuh>sT&ux=NZNWkhPhplbl9Wja1mRKXZ9IwWY6VP*uh>(=mnxnjrF z2vMi(r%tAc0-s&lXafoMd8r_Vlx92!ZwDbCHf^qJ2Dc%9?fceA7~~3!aHqo`sUbZJ zH5a)-W+aUYMU#@$Ay``~Y(9MnZcBywiC#6~^oM<9(0fpo{A=|{WoHV=6tN;*1=mIuu>2A;%_3wrp}GDgCT9{ z8()sJ;56$uv$v4S21HP0;zZkaEp&5R5;ORbIj4WUfMYG>8ltU1hxwGpp*guBu zvycOA2&Qd3ngaOsEY{;zJuBNaOy0OY<52%E)iLj%vNA=_GVn}RA zD-rhEfgAkIK5WMmu&eHzn}vgHMt`$jR|44VhP0{VARDtA*}}^4L(_f7(GSgBL|k9; z!e$mra=a8go&Zl{@htu!OCW?>+B3v|hrjSAxF!?ls1Enp}0<(y4 z39eB~NHUVk6gt6^Gf8tu3O6Ua!7q_Gt@NYHYS=l5vcg`H-T)VDlfBA898{YW2A6PT=jN&k!w7I| zh@F;Ul;Dl1U44jeSs&k0zH0f`k_WcdKE~Um+H7*kX{8YtDUAS+0`=E2RW>_)(s>{w zO;49Eko}m92$(CSxy4@qmFhfh)eZI_ezb4mk|DCP!# zp&f3$$P)J4%}JJ`OeqNUN|y-fdKmc_1rkGxqr?&}hP;n1J7j0_cfjSI|XI8x3A+rAuim+YI4O zs-D>H=7gJ)1Cl)}QtTIxxZgJLl{sXzUebe$3{{5=>V8Qv8N&AV=1YRJdX8|9m)aQt z>Z@am6I`%6^idZ;*vRnvsq3!A=T5RR@br5| zyA$b`r$i5_!hIj5Xb>^@Y4hgyU0Xh^i)<8jkt1G4%8D8Wx}p-PwS;DkBh(D`;$zk` zOqj_DS*#JLWXLv~d|7$LM5zm|5|l$ISiRCg{?g4><<%?i7_H)ggloy(FjmUQO>>FF z*?KQY9$oB(2a$rolIW@sZW(*Af!7#6G8z0fJ*tF3`pP0~K0D-Zi^CzJc@(WjGmtNH zVGr*zqZG|VUZF~FiM?045y^ge2NkN>-y~<6x7BM+GUKNKC>6TPT@v9~$6h=-bW=5o(xv21@f7<*S=t?QI~742X|@5sWj*RM^Qz<31W&USQr{MYXO|P&47I4@xhLI$HB~7{I2l~Mw)1< zTu&O@v&$!36&p$v>tU7v8d$K!(F>Viz=CP@vj*&oOqVNJZ;lcQgW9Wg3H}`8k>g61 z%<+qymr9abC^=FHG7~52jf~t3h_a9YJao&xy9AjHvTqXPHjF(O0S*CB*?MX}CmK}C zB`fy~JJSa6bQnK)r`{HsN<)GM^*IvHYNkYi4Co>|RdARGs+5?a2+llCK?L5=y5v6T zcrjaFh@51qdlR?Om?kL;q5Gt7xO0C$#pgE|AxoHzJsN~X(`!=0=v z5Rr`$=kXr{$#l6@Czf0o=>o4{hE_lAWwj-N%hEg<*k&X2MTE z&@Iy8bF4+2$qRMNPYL=`(a%ZHi*=R*3mb+xI6U)zAD#(c6jQkhb7yjbs1^aDp@l1F zLxDc&k^Tk_MOfrli{4z}WX_dCKo&9%OGA<&a%98 zuLE4yI5vu%$;*239xN?%qMs05W7^b-$KB5}0!*FR$SBUVY+O>w0=!x_2d9xnl>ly= zCfT`GozPP1sWF|&*^sp*Xqd@zD)^w&ElWXCPZM{N6aPktw^b#G^-WG9{n&r!2}Y9( zusq_%19p>`JrnyQv51$2fLeydb+S}Jzi9AN5SS??uBet*)9mB-L@OAE@SS8>Q%*kk zKE#Vx#ZwghsUOLjCsX|ul}UsMO3Bm{kUcwmD)`gQ*oahd=d>-IWv2kJegigzYL>N_ zw*_cBf<**e;uf9=?OI|>k3B{EJ!{A$C7KH^vDH}$N)uKJ7|ZAF#qSHRNw0`V`JT0! z8<54s;CIW25{gN`X~E~UbsgO9XS3u}1ODpzE9h39e_oq#Tp9)sfG}59*h75S7(R3D zkhoxr2+2P&wG})5NIepJ2Jk`psQFeT>J7;td9}A#mMNXGvNpAqcfkR>17Z9=o|*tV zeJhpHl&p1sP&gb|6%c&G(^kX3CV0<{v9KrD>%3<{qCmW10M;K2i>(YK%WeUpi_ zLo?BBwY}{?g0b)xvGiEyUqT@JUNa?~&xeoy!Q8xj7qJDJPP?`EpRs^I{%aIuRA%$e1RE0L#-wtISA(W<2Q~!$=+s ziA|#&p+gRgkC=9T4XY8cVOGbbQ%OU4SfTAGNQtkcBFSPG!y|n*g+mQCzaY%+028Yo zR#H7*^6{S3Ew_x*^O~;=9OQ~HuMZML6<3umEeNW<(dfp3YYamMxsE(O>phn_i~;vOqB;-8YT7t$e;q_fLd>${QP5*SN&nKvL_VuvC^l663En@6m@Z;;J!@y&0TVFbJWQ8D9)TD&Sq>aPxu>V=+Iu{U!oy0GQE8q)3V0|3 zN8fMFknFFLa-T>x+8#gvGH*oEQepsBgF8ro(>Zc%%1zn~Y1qLCI{K9?dYvG{$6!Ev)q_quKxU#`K_yL@LS<8@Zzgk`11=cYVs#J2O!9utjgf>HWD%D_8WDXHS&hb%r3k-??%;k5gKDXh0~+GsJovijA#RY4 zqFLB%LBFg)=oS$NfrekJdOU>$NP4OcRIwhU4H9VU;U{o^&xo>jZ?o$LG3A>}2L({h zikXNg63u=OW5M|fhH;(L9Af*3W736k_{ZGs8#1eo>EbMse);eL4KUnf0N#&G1r{@S zhqaYv+KF&JO;~;NBCmWVf=vP3e~2PW-~nfr1T3S;33M_7#e`G%)>1%{&)l(hgTvv6 zAjTx-qYy?)9{o{*JKy1e0fA~iZt5=1-36DyjdeoQ(b!D|vSpa!(&5!aIkG2tmm*jn z1<=*ZKKec}B4<#Bq!E%O5}WHo$`oMI<|cotf$~*tzFDVa5<&mvkQiYcuOSM4uP7_O z-M~Y7=DaB-t0^R7!?WRsn;OV0oP|xD6S*SD0n_N|T+|GN@O`(A@#bjfvd5BqR7@V> z+Sp`ecZNwGF|Ck6`9$yjbRyv+ut74GX}d(p%#*_aN8o*M{IVhkjE}iTWx8k^m6AA% z@DI=k+*{EyTXykWaTQ=pZBs=%puZNwvncL$NeEVBAV?(cWpB%6JmM~8A!VY= zUzV!yaGN`Ft<->+r6VQ`Q4RyRLZU$L?)#<&J-Ez z!rX_fyNJ~yc;h$ImMuISRGdsJfzgwou$YQU3BdaT#(CET{eLf|QQIftdsep4clNIs ziP-1lQ+r{S;=kJH*=;KW3lp54Qk53AHNvq>T1={m|z7_EIj|+k+C#`@;znW=jKZ(U zY7>iS6hS}4pK^(Zh76w)qBxqmyGv${c`tHCL{mjfU`9}PuqhDSe=v6i zOYX)*JTeMQg3{y@;P&Xw#L;vUJP8q}yCsr;FIAP2Zy)ve zAZbZk&%rb)mk*GZEFUNZlP<)^&Fw&%LA)@(20e(CNjx7h5<|J^PW~*~DO;=IT$)ss z^I+>6rYY^N%;xVu7Kiay)}my7Mwtd)Xe9g)G!fXawS%LQ?Oy7XinckLRA<)LqR6rb zXelO1{)zO1z?0vWG$oS`2MvziRNy6)9l|aoiVc;W&R3XRp-UTMe{+7Lr3stz_9(c? zeZ2(i_Z-BMYnayqKU~}4_axR3LZ&TDYxVf(o%5c`VmS1c(0na@wvh&?-l#kw5S)+2D1lk!OsROZ>E zq&1hfQw3v5FrPW_C}{IwLOINMLI)wdySU7wgK0sO9?JdeeQffJbCp8&7UIo{HvVOj z`YJRx5XkZXF;C{Wv61nAfS>*WqMJBa{ez?jzyW{+(Aj_lATl8rjoM#4Fz_5~Kc>Qh z-ei7iOa=pF@~4qt?T5PEi+V5veu%AYPR^i3bfgBKh6o*@@lR(5g$4az_5WOxD_MwL z&WJ}TR~8YweE-@2u=Wt0mmrc!AFh3<{BQmNS;>;$<-3$@zPKm45(eFi$B7H-xz-#q;}M>Ovj3CK57fs`)%)~RkbLRqU~liRdm3a*d4k=HPt9eVRWrIl`Zx+R_C-=H1S#KgN`6SFR5X; zNs2#;@FGRzgy{pHKnh&Sy|M1I#W2dHmH50>--y?ayHPl=N0y;=q()>>KV7Kgwi=`( z36V!`tyL_&PnWwb{?8Eq?~4QuGRgmo`ahdJqAtMvzgU(|&c^>Wi2vgLuO|P0akkk2 zfEXER>3=5T|FO^iUkves6a7a{^g;XMflLQ!BmcX6KA<57)Ia+;SvuMLQ~%HX|6v|1 z90%2Z3i!W!`VZ&dH79WAU*x~_^YnnOL~J$*J7_pk2$KWmyC^!y)r)Z78!-GNM~fARi(;{Q{3OE-##()l6k`9d)g6 zG53hKeq~U38`P5X*n@r3$c-wfFnZ0UHRm<-Hu}iAgDqXnt6WuHIZ@Uz@yV!7SAX~; z;|i`{nLj@n-kZ;HJNudamQ6A2#R-JkH9kYZeQmFw-p}fO;LNt}&&~So8{aFhrhE*h z{t^UR1Y}13N>{9MfhCLKN7Uig&$C3pYinCJ>cKo004chA@_cre#|)it780Tu(4%4c zR5jT-ge_8Gr(=)l6?A*6J?qVb?UDJ5DZSYW6lHa6dEa@Ohbx!EtQ6FJQCGQz-)k@S zy#Gs?JQ_7O{!232L2%F^W@ClRDU|+gUiYU#tCLdLHRlDxw8(q&>q)hg@_O%UTd~pV zeG8wSwF!=2TTq6*VU%lcY9r_!#dUc8b3z|9hb;wLw07eEHr}n&Mf`}eSvR!6Zs-otMb>n+NE~Ci~ny+ z?3}5G6KSj8~J&$ zCsAWcsf%B>JlI|YP1T!TkLe))nmHfHd`>eb+};+t!FriGVn1}+#`C&Ybhd4H`ki#s z4ppw(qWKOkndNo)^*6ZA67Fqs#2CvkS0>F?ZY=0G#@ZR*tt1{QjCp%1irlI_ARM7B zJKa&Z{FGSHq$E4sUULpJcl~qR(wKg0Gu5$#Qh)eVxWUi$#0SRxNB5g$L>|Un-C3==Acdmb zb&%~=nOz#SbAid-ktjY_Kn+pgiLxz{*f`=3by<4HDl)m@@!WRQ4@;V*8yL|ZR_jXVOe=+nzcVF$&aXu@9Msy z(XadXt$M!Q)G`W_=w341*cW}SUqBk{C7s-X=_c{Xj~3CK!^r!L3Fu0yQb&aNve zhHv$}(E4%CapS3eg`tzsdkkwR|4hHic!eCAELQ% zJ#NQ`)wk3!zM`Le>Fzl;rXwF+r+^#Sc^qc`y5t1zQE*JK@CYQ-NyJW>l4tj}a^MOt z{!o@$aaP&XR2?sN%_Hg?{aws!vuLA1OA7C=`VMN`IoYjni5q;}^7$?V6}$7Ujc49H z4du{*ml&LEGZ3puc_oM(Q7zuof?Z2~e%^-<_1%F0s0Ma- z2)$nPJyJmL%&_G*pVBmvQon6f?Ks-(6Hx^No0}zb(s-aNRE|;w(9o zR{T-db?#nOiN~kjG_vzP`t~6K2Cceb@y$n?^kvc8$-XzP91o-nA9PumwY%^D|K6M z&$kNPa%N}b2)Z|OLuEetP+&RuP7~as>TG~p#mDhs4XTN;V@cjoQ9jO-Tizt0vRd1V z%Wo|{w1mUty+buL&s!yLMcRH)ay__#eJ7GtzcdpCeF8lf#-l%VJetFw&3%(O8P8!I zZj1a8D5JlSc~h2n@JI#|3#cDeE8GhYkEDwXWlK6QOgeBLB=`%I5q zmG?;36>YEF0_3XkO`g+yIemgOUK3ZJ-)|;BA|m0M7la@#1?#Uy+18Zq%7~mntvVvB zys^x}*58P<=%Kbx1B!fC?%dJr5s0qJJFo7rorIEoEcf6y(qOUK{kGQ;L8*ifR~^#^ zV=-Uk@ZAo`zHx8l!%+FSL<7Mt*AoQ~S8jRUlr@yRAe|v-wz!_uEN`wS5F>ow2Euje zkgA81g0z+Kv%NN_64whqaN{2`6(^pwT0JsvxpHlGoP4|@)7|sl-ke#f&_G&C&2i)Q z{Oc;dO08bKUU&zmo?>WQ+!NPILr#6g;dRAz4fGnD}+VoO!ti|?` zSKd*nJN(O9!^D?dVYAUqosJb~yAK-$i0HxwMppBOUdZN7im;GYyG!(gB6n*-Cih08 zb=5JunBY5zi5s#Z(t$GlWqBzf^`{dlAFkWDDreQ5d$Fv9{NAfRW(`fbn~z_5==rF3 z*3axl$h$gQN5;)jcg0@C^ewOpz75~2*I6W_eyiUh=)iZJ&%OQr#M29mXA2)uN5cj* zOSZRS^g3+(f=bXwPGnVF(Ejkg*sLXO-|X(&k)toJzYh(oZ0prNapUEy(?ZO56YpyB zSj_9wl%tbYU)rA51MQdZ+xQO7MhRXF*;?I>s_o$GAIXTDyFy(SfBPf>%Ltd9ty&SH zyjs3e^o{L~+`^j^ZW3JwPu7(}7n_TBN{nigS30tuA3f|xR}(cLN~telr0j;k8Asu`!O701*hDXhPAJ#y`I z=KB0O-RQeEmg-IlguJ480p%<1df~hR$-DxCsjNB&>Pi`Q{F`R3lgx36=Qpzpb{ae0 z1bw)TQo)(wx)F|YjPJVqb4nBNhb;|JmU;Te24(!=U%GhoZ7T&k2ei#%%n~IGZ^8S8 z=3UO}Ps= z$+Viaovrj~^@JC)ZmV9)f{{xf^m5j^@o{xm?qoH+c_VptWNRenzGUc!j-u8Jypjo* zS})q1{#Dr2p{7_1y7z_SZ|3HSzssX<8GDJpB{mNqeAE0_sovx$IlMdk%Dz__lQicY zAr#MGgOmYOx7AtRLA z%g=M*gEo-C6IS6^K(zO`yNHNg!I@H=zVUK?f2Ay;FL8;}$H=(w_6;xt*Up_dW55)R zyAw!`{izW!=2Ps{Ie573ueW1b-cv?E?^)KmB1esCkAkm$(ta3Bp~%vxYel-=BUnqf zB`hta~*m)*qI{ z%(!ILb~%uib}sc*u-*}7yF_1XfQ#vyL)f<0t7jHYwLc8*yB+itCS}WMFc@v|1T6mi zn}Y8{Y`v)?O!C5UByE7^*loL;np@kqD>>t4a+I&H_wj*s{hgFdd-q>=mE8qtO+EB1DbjNJbv*Jj?|ZRx>Wz4KUOZ_5LU<=wF10nOd)^he20x0w z-Fq_7Dq`{05^?q<+wUpUG-FwNU6>s0uyI>~9F=#>%ec4*=jQM!(zc!a;<@5_ta-b)y3-B?JskGx~IS{Z^g6td+h6xc8EO5 zFF>oGO@dJ`&K(8u?ulsg?2lyQYp6n3@?d);nA|-{Z_vz#1_A z!G$3bSz@_eyaP4JwCcm2h>jdlAgzbKe_L1h&;Uk4V3)n?m#jmMai4p{ELwy$<>VW! zRw2LJv9GYX9O3Ca-DFsyAJbLGoeG%*TtR-L^6&ZzRA`3z?$3p)19 zC)6!{?9Np?g}e5bO#_{AVQz&KvS-+FzuqxlqvcFxPmG5DDv;QD7>BgHHylMuW4^}7wH2TccYD8J*#ilxU+WeO-8^#qS?^#aLsc+ z7R31fp21jUq`Zy(9E>~q<3gY11S(ji5COU&;CU?Q%2qQ=#o>}2<$FTh>B`Q#A4JeJ6;ci;l ziE-(T{eJa%PqW^XSRo?KPy2-g6uVoU;Bhf~m=rMar(EX!PayWJ1eD!l$PeE3TB8P9 zvugwCeiXgp!apaMD15H?3vA5{nKpBHXeE|tXP;ILrO$4!^8u&Y`(W#34>>>3ziDNk zA#C>jl4)U{maP97z$PlSBqCRVv~%Zw_I*;%2UwFsFNy_li3kf^cHorq$(98Q`y{Ob@^B~Inf_$4LxV< zzl75}&%iw#y@O|!ogQT;VGn#y>%GR; zV!=(K!c|(ytsg(ccrP(mYMJS$ylW~esFyK@nn&l&AD!SyVFv)JO2^N*jm`NGzA15V zunn7gf47zH3ahW@fp0_l`)Asme-00e;~vF=Z3nTNfhjJ31M6OFvN+!^2)#UGbd0Z2?WBhH zCC;8};w%aW+bP<~9|puYf1ZMHu4S1%j@$8l*49@;F4`7c{VX#4LE~uxcaGNmn2&$ytr4XhpP-<| zy^_M`R&mA^CA|7IHCmVE-W|<)Q?U#xB{LMyfPO^0Dd#oPZSxhQ4Q)0iYn4KnL!0Ql z8QE-HTVsCQbFl!g01%LDbft$9DZ>7|!8l)sCfTBSxXj?GztUSa{kH}B8=O1}2x$>k zI7_)Arh8b8iCd&8ACr)5XJ@8__kFDd!Z~^MoetkMqFf4Dll#!ob)tC!G^fp7=%4nj z@QY1zAY3qz1G{E;W;Y?at2eFCmy7tMpd5Pq3#o3u>e+qv631%(#jS^;USy6a`TYevxE0VBcGAF4#DzRtpv#>*jwTG!9eKS^0aI?Ma&lrzL5cpPI=?=s%H zxqp;4`=%*$x!-U`mt}!=ZA?L;7x)K~oTi45QkALjcjJdCXI-FWd(oV}`GK_GOGNOVT89bS|oqG4IkW-#>s+}+4 z1_Z@$LPMH}kC)b|>b{vxXR4#5;5;qNCUu#;(E_0%*#NZ^HlOVm{bcW1i- zgvSAPe3C&8Dz14GQsYix$);(m@*hOge3QCohyuiPxqE5BX$rY?`HO=vj@=>SFN{WE z1LUG7YoiCmAlr*VCmLWYNT!na-H1%8T;g7{6ZBYYvoZKJAok_yvoFGpb&VZ zAb*&`g(@~qea8s=w5jb;Z>@s!#V+5Pee}WCZ-pk5z2fbxjo!u=-KT~N=U0QQBc5Bf zRi3x_g#{waKJ&mp17$<(gXZzIKO?vMa#r#$WV^-X310m6+ZnsW_ls9-YfhR_ z?OZrRvTe&t>b0LGDq6$S>K04`x=9Bf_a!Za7E(!2I5Dn>Oi)bDiy!@cgNDqIlEy3e zH1pP9zBR}PUS6xlKP^hxM0G%>Y^A6eVwulMpINaAIz68Re=?@%EMgoDT-qHa6h;s= z{;@s%--dyQg8$nvpuo9#5%>!QAP{&GNRt0WeYwph*s2tt2WS<|1&P&o&}Q zEg~YPwbeGK^pnHi&c#(Y0CChVnUCZBoI2Y1hbOPdRz8+cZRVsSUTsS6n zaoF;(N6U)~x-wVZyL6bfT-?#ldGWP<>xtS)yNy3?1-FawkLDl5aoRY3UszD$Z8@P` zA5(Mnp_7vDJL&eK=NfR+YPUq41>c9RZ;Z8Mg){8y^~Aihzg;P9yj=SE;_GIi{Ds8W z;`N`EH@+XPxI|4@{qqOu#-HoZKKf$slf>k`U9)?dM^9*cQQrD;CH|S{kKakByQ()l z_Q=D}&wY!$krUajGJkma21bR!NaFgl_vZ3=dCn#NpFyih-^Mij>8U9cU^(uO>Cx$H z2`K_n;g4(HUar(v3Hdwy@dD_Y$&2@`FoBa3vk@w$TM;bzmDX_@`of~v`*(lSt*;hU z7M~X5TWfy1n|e04Y^S~cLb!Fz_mkF|p`*PiD%SftS?!;6P26Hr+Age2om~$+W^?`& zlr8aF`oxvPwiYw1{M##9H#Wy#Ogfct7@mDJJg;XQDB`7kRY-8sMw9a8P&(PJSAovb zy=-`TfO*d+(oAJ8Urtub0DCd5;et1h&iS4s+gk=g$0E=14Vk0>OJ<9FD&oXr*^Eiw z!I;LTczEMJ&%5ab(+%OaiH9i8&Di5mpXni%F`J@asnQaj{g0uazh&hl9r#`uBv?=t zH808Y<`lPL)9J>pM%HBSy$|W{6jJ_Hp&>$``pYd2xV&$X_Zo4^d5x{5j*k)ND8f}Q z)_ud*v^yGQw(c}mFY2$kq+XfZ2h4)?Z)qFvr(&2wxz9$E89T}w6r#Iri;A7ovkQ06 znEk4oLZJ*9eu1|s@3w~QFe!z071npj2&xsZ*_-kz^iFickCTxfRurNzeU_CDP_T&; z*I6G=Wp68Rpi3>ET*2!~{P+$sM=zqqV%zi0UbuYrE6KN@4$GyS!vO5{%>bQ-xsvY_ zH$z{zZT7t8@ZJP@NgTHNG;l@g&(S|L2e*8K2D`yN6{8!udR^K?9(#*nM&S3Rx92C# z8om5m#y`LJ?7H9V{oup=-TTIEV{cAeK6Qg~?2%CZwl-9kcrU4;+b*+az%b-PxFEhP zuze2yy0tbOaDKn+h0hw#FUX19>}%4LG)>YsAr_mSp{Fzp zb3HB`V?GVk5a3PCGxZOn7(MLsN>DW@?XbT~uW;vkJNG+>d(o$AW!^!+ifUX{dscug zXnWJ4surSo;?AoWXNwZ!f$3I`W00t+Gwm@{$J@MmmFgTtn7F-Z80@cI8h0vE*Y|Lc%Tb2olV3b+ z&9^5n7;fepwz}N@ebK!A?}@jU?cE#xo|%f2ObH3U72G{9KeBNt&?LAD9Nu~U{F_Ab z@etPA$gYQtA-69dk3W`@6h9uYa;Ho*u_U{K&o4iTi!Jv};&nZV&v9yV3zzkm*)vX^ z8>(HL99e4%$Sd{B9~BwdT(Hs80zAg95lp{%em<)7NKY))=q-0|wc_Qpj+1Vpc~P6m zvD?fE!=Lody82gz?&W)lnz`Q>_q--cLaz?_jYsSrDP-*CZK4ws6td}{o%^}CdcMa; zt>vQUo&>{e9B#int>^f?(^1>T-@i{~Ygm&*X`-ykN#MTRd~ITz_7#EYg}mBzyBwkZ z26S`esL3tHELvGfrLJLWa?o4nr+?>B$FDV2lJ}>R%LOllx!lZ-AM%?RZv+5vuP|}x`DxzWcTKeaN*~Y?DFQnb0TKi zXiPNvw&rpkY~fQLQG*a`W{sIH(K0())QK0rcPW>Do>xgHUOdL0RH^07Apu{Cdg5Dc z^RDfGF!vTvaWwCq{}?jp;0}YkyEC}E2X_w^f`tt3?(PySID|klxF@)UBv|kyxW$(2 z-S_Tq@40)=p0npKHK$st>U7t9yJxz)`guMN{j8I?>_(s;S{NI{8J!dPhexqXspPo7 ze`F>>h+xtA`8Jxk+unFU6DhX1I?GCg!RK(2pTBI$;db9`NC0crO(tyD$Nj;f*t;vL zZQ+qkwF`VWAyd9`w|)V_=_C_6%T?~0RqwVAJ}b7~HHwL(E1E<=^vNeGNIg@>K3^4p z{EB6F5JqHFV{2Qj{d)r=gw!hf!W0O!qp+62R+(*nAcM=_6X{wK^O#yA%>lUl#ryb#8QfcxjwxSSZX>#=p7sv+Yz~(I4!|wOxDxcs73~XDvV}~`UPdV9%gL;4RyXq zRR|lb@(IiMwSJHPSVsoZrOjXdQD0^pS*!MttASw_i`y-f-VN(<>$6=bXjlFb8%d&a zDvVK$9(8t#Fm88XcuRjllIk|w4{EVbWTf#zOOKoq3^S;HrYo{{NQr_*$+=Jn?8Ng} z*b{voVj^tKJn+Hr@7YuQ33+k5m}N-j`&KtGg(bLx921Vt55qmg+V=8@b@rCa{6R?W zrOhUvkje*9)Bs!{OK7)bC^HaS3Ku{?hF}r!q!Klpp6yHAyn`N!gKw5IYu~biV7JYv zg7599lX6gEUwqt2dAYe}@a^MO_@y#G20JbJyb!cVkASH2)rJeUt#dd&woj|d$cPX-?v1LQ6Lk4N#eS~ZHg0(NDowV90jf=s72zQFn*QLB zGiX0*CFa)DcIgHEa8eO|tSxwF1Wt2Asubu_!;Hc~#g8Z|$`msZDyt%q0$X4XQW(rr zZc|+756*bqkJgFJUbvIW(;~n3af7))y;pgPHP|V&^ne~vp%Rj?(1<*I0~Ok1EmdJo zLF4_~*01>#`6XP_n4IEik6tZm| z1cC(=ndsZ-4WN`rJcrTg0{4ra{5D5K(2+c0=!G$S)^eq_Q0=E`hRNW6ire3eNGpR- zIQ&*Xw{?hnAOM`}Wm}Xmw`6p1YPc(S6(BEc>uf0f8OY0Rv7cKpq~*M?`5dNY;P3eQ zh!Cwp*@+;$3de32VZ)z#0bKgIJv=1I<{uC!k85J%vW481MN!WYRVeXcBzq|Rgwb@V z3xDo3U?Dx|%g~L9!H_`4u{xnTs!zla8}PxwKcj+k=v+>3YfW>oq!yz&JHw|G9`Qet z16D`_a89kYqO^!XCtNN?x`IoPB=F=tNrB>TbsN{X3A?RI!ACe6kf#}i`?$p^kHmkH zCS2Z304KJ9cwHD`6^YNcHaBhwI45U|_@8Va_^}BK#ebp(;}edAcc8`hD|NuOS3#e< zm@@n^kJ2SFbk)NVSUOQU#_&>}2ZOr4p?dHV4^O^LstkHUlX?&le$U3~w~~#ZGrKEB zc8gD(()Bn%ADZ}Fq*Qz0@kYX18^hrY6nZ|aW>nVUQs^6{+IR_ylKA0BYU8{(Q8Gy# z>_1M&?|#K#21pZy4*;So_6nciW9F=n0IO`P`DSOJnK6+3E!GP^IVoVN!1rJzr0rd5)!9{A-7(a$Kh1#0ygnF7C(Yfr~uWUhpxaz2e} z(BcT%syOt$nw29rJP9%GXn-d4)KUQ(hy}4&g-akaW`}o~Ve`~-)v5C#F(yYB00!g3L;Ft#*SdNTiziy!}JXeXr?4_#;)DJ13&aK}6DhD?)<$%7asL0#i5t<;*UH@odbfQJx?)#Hb_ z3>vylPnS2yp=sC{Z{4eD-*H1d_L%6aGF^>FIlI}!;RBH^fM(%7{FX!7A=3oDiy-(( z)Hw)X&ubP((58>+9c#+|^PHfHZ;6b{7glC068GuNp)9@$*1ZbHJ<5W>lH8L^C$}?tv6m_@z^?^CiHmKkWrUgrmtw)FBR`6Ig*jk!V?-+mK7?1OX)q z)AJT}9*@2pGSld(3}i&t`!hV*PUZOJ5IHF=i`G9Fw3NnyC>csfXf(nkv}KdV(^J0# z8+;rmexDVej=gS^1(TG?n%hjK9i8cERSYoH!!Q8l(Iv+v*q5h81PY&H!2a~u#;J_P zQP?ycs76Ng2w;D48iO&F)O>JZ*NmRT=IG#d;R)ot1Gax_-0r|6{iSQ5DsE6#!1C6x z?iDq{4*^Wfj~`&vA}tQxCBO?hi`2i9SHzHkl}Szwi+Ql|D`25X1rip?mDlQ-JMoO+ zI7#L|n->3uF?<~p!}&oj1bK%u2bYf|Kr>}Z>BH!A(W*}yZb^NJYXMYPBr`km3Wdw{ zT9h52QCv@nU|X}1#K~b3QyGO3bGT)N^f0@R80FQRC2vKSdlwo*`bo&?V<4Y5H_;?^ z83KsoW}NYHFf$P2NGGQbzmQJbG|KWy9=)|TEwPGXm^}!i3orr0I~{}wy39xaY9=lr zj3|`j_J70z(9donf(QNn%y|nGWe8bL>JII?75jU4LQ4j<8xXS9*&$}Jo@wVHm+AmyaPJg`bPqoCycghVEy*_Q$B z_rM{4+{dvl-c$J)2&0|raKcl3Tz-&;7rx0aB_DAPMR%!U=%e;R5Tg6iK{&@(j(yWi)#B8xk3itGAi^EfD^j zwA++BuxKwDd0rsFvH8qCKAi9P*H1}y(?ls&+4Sdmz6p7LHh=~+&Dqdr` z+^- zj|$;vpQ27Sk~=1Jj3PwW^KZ->YFET_IgjtFrrHlCeEg&~;i@`itKa!Y z$G!qijbjsKl*GyyPh+#;Vp{^xdKP&A%=e63KkZo2af02cz8=5osm`*RT%`8v$|3sD zAp1q{d|4)ZN%_bv7vnB*(%BNjI zsAt#)f$ip&_TVtAZ?<#sxg+EI=2~lSSUC%sAy+unsC~=xUSP>#{ z3Ix78-kdIyf@SQb>sPC=WibsOMa(X@pe;@rJXojd31>lHzQe6ZKiWlHs;eGWcbyhv z!aDZoPVXR2d3-n>hYmo+eW;q~8lPfB+ZLATD!nuCKO4~9XaAoAx@9DAVPHR&4K}sh zgDE_T+{D8ZmgFrQf{(JSq5M0d>oeahBD}K=4+A=%QnjpI*nAb2SZ@~blvq~F$euIJ z?0jVOFsdr~(A3E2!OGh%L#S0tGb8DVw~sgfiqxuKDfM*cD0!u4Mg2q4^UN3yn2{bU z@q5>~Z0kWnEV;r`dkEw+Cc`_)RYr5R1h>1_%&@iUQI5S>FRInklo4db#sENEOCrP-k-91;I zKct^gB)pmHUXeXPCO-gI&85OSB;m&;J-Rg{PO-kX8{}U(!^=Xyy&U}lcv}2^i4)bC zc@Cob0%pQm;mUkL703<>O9b$3V&b@$tUHOhn@a2jdFjGw602Ok=Ax3n zD+KTHE!X>gj-XT@VD=kyzpux!C2)QHZqQUP&l%|EdEu%wS#Tj(C&J{G63M%?OZ^Ow zH8#Viox0>z;G~$o^;+(mHJ@$k7m;<72Y*mFWkX)cGH@0(Ff=3AaYP_(+p zoWM2oDdysXjRT>~SR9)l%t{`s5~mD~F&cMAu&U={C8PQ*I)NCP7H?tSz-%-$oJX5* zvd@{>j8=I{9j)N;o){xQSBjs7ye7yvf_DFfI(_LYmKQ#X?e#V`54T{`=t5-6sy`;b z$5Jd8(jIFZKZ1|`tjJ01`H4H3`FknpS4Pt3pNo{=lWj$=wO7TE-y?StDh7DM=nul{ zux2%suZpZ2eG9*znzHA(P5;DA5w6J|rwK)6Kg(xWO-9M2yE4_E2xc7It7=B-fZ^&5 zSQ){_T6OuA`t;s@s(May4o$5|IwkZ(HcjUVc#E&kpcy=t1t`QL>KRNBB)rb3B z$1ksVA;ey3()s52Tb&#)GJ)L5W>8NJjTOGCo2hVe^er)#tTxcEbD0c+*LP z_>0}`m$=K?eGk5CIS{zqD7Er@7dRc+{{6{Q%9!Y{EHaGdsRA%)Lp<-QZ^3|1RC$h# z65jl`bI#)sdnof-Q`~fDM9I3uQ)eZxZyu+hh-EK`sF zFv{8g#PUEMC&cBPdn-QzCsZ>e7=KI<@m$Zs3077a|FiU~9K+OsGE|iU^|tLgqPeQ{ z9JIKlOm?F2EFU{O@mz5{s3Mp3y<2(_#J~23kr1s8%c8(~D!uQ{tGDuTWr3}HnE}{0 z){Y0x@6rd&BvjbygyOc5(i#!Vgg@YnJAXmyty`fN4XgX#dUp}uf`^5+-?%XIVKgXCWZD|tS^&MG=siZ|9 z()-mRp*vy!(N&oS%-l!X-h^$>CbjTpBYFM?C~0>*0@HP)xT`b(_JxAdV-(6&m1mV5 z--K38o8ZFz#$(vYI~Nt{2q&z6>lSNw`rs#EzrH7Gba6T1vgE8`8_uQ?#TK|Dg3=ti zm9$)l5!MJB1{ibrehZ)UsG!mR(6V&Y+lXOdYCWdB4%RfU4My^Du0>cOG~n#aN~lnP z!$nXj$NMw_-2P2kGZHgIG&8jn2JZpm#ik8T)oowCaPd=h#@wA*ZqqI!KBfL}(%GO; zmC7HldsXIqB%5%OzpqjpM67lg>#d0HU8vp=A=KkKrd-_AAme#je{v6@)S9LOp-^e| z@mOCW7nFXCCMJsOJqQ7_*0cGGy$90{hYw+&U7~*SY6R zrsGd^fP+C5`7_KfjSKg4ZE3W`1S@O_ZF7y^@*Pc`75}17q?K;@1d|a{?yDiH!WZIL zx`^DzUyG&@Ij#Pk^<(0GI4$MKz1XEvi_*-m713BbT!;UHTxe+Htyb(EbqMy@GhFOo zMMKmg+9~x8Gx4YH4QuKf-kM2s`QsNUL^ywpxc#5ld1!vM#WB$YLhb1gyPqCba9GXE*pZuq$XneSVdEDP6!N+fuAjHs@Eoa(UjOIv)#2hz>t@uD6p>YU*s zzd!t^PF~|IWUUMl%-`XXN`J~@m;F@C8oA`O=r|SpJ`(?k?mG#eJj&(^i#u^z)$76d zn&DttmijhRx`~9#?AT_akx?OqhW7fkPTRuzkI1N<;O*0#H=ZSg0vL(MFA#!VwJYTOJP-YiUNmCqg+B zI~2YsNp;s`z&}2jwurhUU0=3TQpYxz+vs>FlsheC+R}8L7+le<2(53&=KIDe*uATb zGiM=eF7)y|zf4K~8Ec~QwpVJ_+Uhppxt^;Y>FSntB1ZF^rklWy@W5 zmAvuB)C6^M`6mQJ_SwI4HOdkU;G$*fwbsm=v5YTSc)}RWE?X)p$F;Ue0&8unUHC1! zV~y!wiCcDlntnuV#>kwRkF!@(=@}|I{Ol3^$ud?y3x1_FH0KhtOtoQ@PR57I1d6$T z(wMg`F%ZmIMdu;&n<@5l7v3^6D#kb)_+qW>Lb{j%49@?~YP&d|TC8hj?JiF)lXmt%EIP*UE{)jt2tk3#r3j_ID@c6oP`K}2=4F!hu7JgOqQlw`ps7)>{Ifql5 zX=QW##Xj=Sa|gIeZ!X0XjpPG_Ylv!``EyZi+M3xvd*ZROvGjh;`st)e$=4rwc4l%A z##b%a#m{y?2mI@< zQI>jJo7+?|ZeA7YV+~F3U1ak4QPj&?YBakAqzU=;a@6F0j}Urb-;qP$*eaIWU#zASEi zEJ*Um-nb?kSG&(ER5Kx;j(6^MU)$`!s^KzU@8Yf@Ux+^XFh_+>`_#nLtoCVBge;c% z5BZ>3W@xXHoFh1qxUtkgL|*l@Bx$o)F*ay!ML`7M?p@p2j(Xo3^bq(BIzzhuA$8i) zex~5=Zm2_m)!oh4&m0#$UO+tHR@FK_u+F$w=UD?E%Ur7cco8YBGSWSxYO~W{=eHrK z2~E3duO^M(^!`=n%oNaH^s?p&1bR6?P@fYa5zlfUP-jb;?M6_l!|g@CAW^#eeGFjv zvDz)CX0NZEGm<@g*<~U6Jl1qS_r_8r68&UCKSrcYI|1XXOZ40FN(?hm0_@}ccN22U zWM!>QB*Bzl%S;?kbSkOHKQ2h?jjQHlt#9+aXap55`d#z3;w>?#vI` zsB3qp={V2kPAC9je0i}H{|qORkT~A3NvA{JJvFr|uaa$T^_*6mK}C4NlsZQ_f<%a< zt^VnzKu$TPDZcpZ_&f(^N!TSbd-At{0V?Mh7avM)U~s5F%-La~OGlekNoKx!KEH~@ z<3{neb|w{ep`%AZC+`E0;gnx9#2r+OA{+ol2aX>ESf?P7Nr@+|kfRI+c1F9B<@%T3 zmbKM+ciIx`&4y$QMkbkpahQDLa<@;LCE9n>G`E!Q(aE=SSVwLIK89pDaFj`0Z?Oblx9&Sz5ha5|sVi>lOQ< zsdMaZJu$W-L<<@-1=&oBfE<< z(#7$e`8(A01-_~}{W|B=)N%TgUtW?=o4VVde9~Dtu{GJO#tf5AVMvd$PiVB3Zs+M_ ztir4fcoR(v9yc$D45|;A!!Gn~aBIePdXB`f2#-8Q7wpzNOl%+4Ct(??TBx6R*>1P9 zZe+jHTUy^8U#eP|9m(}fSaF(Z@Wi0W=A$8}DdV#d$B=nJjgRJL9~saIy9?egR6Re+ zuh-*ht%-HT&03xgsqX?)@fD(fz+Y>`=Md;OpZh6!xW74)(^>HJIDnH!%E-kGSY9+n zB3*c&kDih!@Tal={lwIW>7#cjp-Rd*v$Hdy1p{-EHCo2iIFa<;1Ec0H*WjfMQUPwm z_nsf?c_SGU0*S%V6D6j1{5|12@7DPyJMawa6(eMxaq)+1PHMX|xN)x_dL}ReKRcOp z32)1%^nB4r?Gb)8zIn{u$aP|jk4{!O)}L7)f-NELg|dDtwrE(lz^m;JHvq5tvMC`; zBBWXs>=&g(2f{kAL32M_qu=ds(cU}E)-8Wml2YKSR!D!U3X!}R{PT)dF#BV%16 z%YJ-k_9xa*IHc*5X9E@E7~Ra?rl(+DbkavkoGOdVWHw6?!;eQ3dgi$r(#^Ap($fuwkU38uRl8cM>i(Zfj_e zXaFna=O8(Qs)Vv_=O-HXLdLBQGmJ(J?}h3vWorGt!xJ2SW%!9$>r`TIE4sD2)^@rd z8c71xHMQYinOn5SQU{wp2!7bOPVdetD5kU`5io4xQ1-=2Mo1D?VvlmKbCwahA2qe3 zaRjTeyYDsxlR#%#1hRwu3Ty%rI+uh^HL$!E4Sy;h%&aY2C`A>*kr#$$hq_)^HJDbmB_U0>(S6()AbvkCG3HiNu)zUg~OZ;ksV0^Dc)!?*^u^*paQ*;6gQ z9J>hqEU!=FS=O;;WM>mJ>=9W|GYo-lw&Fd$bUZWBMc3aKBUKY`=yi8z>{@<$t4kn0 zG5Iz2s9@u@J*plB%BT%J8<*6t@rlk)dLgK9Scgp7%g%t*YP%TH=zezKRV%Pu0?jL;w9LxY(Fv;&&8<@92-WHq)F9=#FE zeQ!h!RDA#}n{SFql|@uzD2*EeRTnQTVBcU3pez=67C|&7xi0lVO>S8n7rz`jZ>mk} zf+IQ-WGFZ9Hb;0mdy7TySj+;)lH)pvh>VoOjlnbS&fJ$9HG}>&t`sbf|MR^l=w|0um%>`78H@tVTlH)La5_H)XNCmNE5%M zAD|Uv;|RoXe<4zOVPDT?V_(`KY`nn7<8g$2|9)B0H9ds+TuC7$s!ta%LMRO$(>AUG(tDRLu}r1@%d!DkfX9Mi0%o5LT>BPzBBT?=_dJ~YkcMLgp%H(2lq z{)3q-X0Dov0YKkc9uJY9b4*zM1n@_Dh2bZ!1gr#h`29vCA?5R@6qr9@K}SI+RjP4J zS2vJ$c(Vq>FcY$USB|_x=0J>%XP`X7O^k=MK`!kXUv!rRX-A-E9~aKbp@S0}Lyx3r zB8tMr#ultcVpTKoo!_@r%^tVdlx~s0)RX+9;}*jz0L-`HLJjc>G-2VECEYW9bI-FVt zw00qz+VWV>f3BILG2>|xKJ|+}5U3ciZ(+5}1sr?_mtquiCJB%iBrcw7OY z+^8l}K7A35i4ts&8-1=dGcFD}nIn;KsP~=#{f5QsgJlNBFbM^ap?1sBjNcs0V}9z% z#ZxJ&z=1k*dv#+%KItdNv552?Mv53~;&Y2Kn zPC5-1$SLxTrIZ5*q!O{6M0mhzaikK@=m#mXDFtcFSh?n<{aYw7eYsnw!W}1V#qMc`w_D6aGq$xU4fFM^Buj)^!v4D1o#2Eb-H8(O(G{%yHTyoE3hBc2|_!2+FX z*hN#BypXG3479EO!I246%}VlgKnD0&4s9OR2GNCdyUao9HMdFEFQgN!sdYaktCAg< zeTN8?>GKOchvYGmgCo8YMox>NS%8^2#0-H^KoOed2?Pq>Lv<_Fu`fGI2rCK~z^01H z<3d7M!^YtJ6a$o>1z_^BN&_W(8O`Qvh54Jr zgb|!iUsfJqZ{!$Tjv$O~;HFuAt|G7lflX)vAezLtRjSsDX{dON9;=l??LgdtbVv(l zKrbW0=Flt{Kx^iw7g5w>V;uM>fR5yKK~Q&Yit!49ZXH%WE~IzP>&KP1>oNVoHDj?V(OgXrhEi?!s zBHbBy&tAqkt0Qla)Fwv@5~^h@br}g+e{SB_Pw?q1*;j&};o~!^^H4N`9;d5fr0REu z1L*-O@%8fC=TtJ{WGib`0;ycH&fvHSOIUWo5L*O}W65g3umz@2WIaJd7A8+CkU-a* z0}n`d>k?f{4!Ow2gtKL}Uf4^279$cC-DEA^ zO?fmj(Zl%)mEjyTmVzm0TENFs=f}X?HU}{*XID0ADnc@(Ob} zTN9C=7$D+5*wLXmX0ErDn36+c{cFZ4y>-7U`COY#OX0;4jf32Gdl-5M72%tn0&K$^ znU?lm1-qM)Q8#hlat`1`o|-2EE&8KvI#K*)tK{)bU%l`LH&$9Wr5@tI%E=+Q_iC8M ztu^SUJ`KH?d0}X5W8}~RD5TAI;9Sn$_F)v5vM3QF>0-d62kT~_xt|gqPM^R62E1!j zH6LCx>u++)Rc;n0&NF4bvk$lDC0GQk33p<+yM}+ zeak~cfwJrfz$YRCy@U;o^a@&nA=SFe6v!(;V_3$2HPFe&_c1Hpvz=kT@Yu-aMg-GV z$Dl)6p+fF7-9+H>T`tV@CQoxSd04_4wr!b>c@0Q0kpJ;3Ly&i3vVh56%k@5>%P1)p zLx{MxD0zJXEtD*T!=^=RD?&`qWn|)Hj%BydDP5>#cWb^(l|yaf8g6@AzTGyfsnel4 z!3~7s{GwDER{JT=oJv6k3&-=2vQjW?wb1!Z5H0ppUIBCkP5eO_n#`8ry*GN`PxcY> zmWR0?FY-$_v~Cx>)e@s67sYE2UXhH*C%Fqh--4V34l7Vh4?Kk#7W0)qYMsC!B0f{L zkYk{tlcvYw>w^rEl!@CG>f!qSPDKGDTJ4j)V; zC{2`(94f>Nv#MX9x%eE9cQTdh?ej1WfWi0G6LtEnkEybd{|8^XP9A63sRp*`EWA=` zUaxNQkKIe8;~aD!sHwwxBL|C8Q_1#|KG%rJXF2g$8YUB*CsOSyb7W$GVtBjRhC_|@3p&^1D zyGiP>#vImEIzn5DvpDRy7YU^L}`Tkml%nQxc)Jm z`UWvH+KG7mE$XT~F~hZ|A_e$(bP?fV%TUut*wd5BE{nH&1{}rJvr$!Nl~JcJYh^a4 zKF6(ViyxrM62-k&H@ItAVV7@Ue3N{LNi%*lwwwa|V0>EZuz`%83yL1UB79X1mOA0k zO`(6E-x(;1^A#`u9Ow`bcNg(&+-C*l)=M8gd>sT^&thRPBD1(K;2vK|`03L)*qmn> zg86CO3bIIbDr#nAZ8P<49fr%Tb0W#py5Sv3lmN97%uT`_x-O7-KBqN>Hco6;lMwg8 zqSHR^*;`tx&OtO)&VjI0U0Q*#4zg?lkAZ_fX@UUR&u87^H;NU+9!bQTH;f7Otiq4a ze(MYB>7v8>B!!Yy;EaFnT!D}%M%`w%CUv3FJXt4@=Y^4y)-?uSobxWd6CU+f%z6*tq4WYtigQMOH>kJb$PI-bwPXS@c z{mF>pgx4%!GEq{TtqfH{O0{L4MGv)vsGDL79_p~NLACZjOd%woFN9H;cu#9jIBpYg zDws9jMYm&pz>q+DJ=c@(un4FPmnoZm_KwWbuWFc93jC$FkD~SXj3HqRmNnMrRjr!A zkmP4-j|IGVKE&_n^b}Wm&l0s9$U?l)c&O})xbpod{C*nbL4E^#g)aUpMNSt5Xm=A# ze|;(JaF#~{l#;RAJYu=3(Q84ZK442#HuHExt44-T+#|HmL|A%5qtvz|Z)bR;Xu7`> z_AUBhBv|ZDSQ!OEZHWj5gugb-kxC6xEJTm@lSQxumV{Nr*vSZ4Qx%;>mqx}($cV(lN?WsjlpGM9hVZi(hY>F%EsbV*4UU~Xz8O?zDfF3uU z6AQ~Z1(yx)n(C1zsD~bS>JYM?4YmU=N=foIO?szo`#Vrl50eJ&MqwRmEYrIT?l#(Y zY>xoJyJgQET4~4HhZPrZziy1e<3}=18t_WxovK!z{W{lR3VJb4V zU77GD3QWNMMiRwj6|qvqeAXuJpRw566eFx;4o_~iAaAxHW=_ z(pmSqXYcdFzkelqrRuwrAI{2SzO`ydp!Erd=jV`cZ388BKpjO?QSNsDjyOc0>T?m4 z97KMM+(1dXypqUbubOtjP!OQ2e+sL{#8z`U7b%3kqY733>6E-t7U@vNd0ktu%xA(t zY$?kYBp8#7oJR&OdKgcT%k}~2uf?)CKR;qGk&;k{H-g;J(-_Va>9nh@xUF5^v3dDv z{#IVe4cZxozd_D)#@o!|k1*DWf(T1q$sIr+9AT+_S+*D!r|n}tud=m1hTS@qd-;>) zy|t7%(XQzQgY5|k=*h#)DWbxweABD46s1wBtCXCeaIGft%lK`_Z|FQV`#gjkzJ;1@ zk?)D_RmVXTksH{idC?B}?7F(sI6?JkI?4pTmohmA_aio6rIMNCbtKFxf#=zjAwTh9DhIlAu9IEEgCe$HlLk5M=aBekipVrZ?EG5lxWE@F7`3|<3&T-yaAm0C zAW51KI2bk#Fl2>IaObxkktF$Y=J36r)MQ(KnMU*(8e@u67<-)6UqLIz?kx}6Q=8pm z)>iY%)QdqW3fs^@L)qG#N*AZ z%y6w`Y)M^WsftbFo*1gG&^poq-CW0TZETu;X;gPQwLW@H=KF{zFBgh<20qqQfYLV% z0M+f?6KGjzGIC{FWTa!c768V5K!beTnjZ@Qn2^HZN&#l5HQm%j>pRf&LRL*W%5U2Qd_ z`z?Ny&my|zFxO_qL_S(1yH(jLYzf5DV$0x3O+G(1yYCEaEoK}t(w?1)j6J0{UQ1uc zRDJ-L>45Kq6&-2(2haTX3TE3;VxVYk?jnI>v@ocqrg57vr6H(K?M)A5?tmGhudG!F z%Zi9z()wNEXY6}}LIwg~c5PG-u{=0Zzntw9fs&(MLHGC`P=Be#uG~2hIA(8iwCyQK zAmLEAVW+G6x$N04j#zr(tChK2r%ZmM6bV8b0BGE;QQkxKe@qced;MaVAs2Jv7T#3qXtxD6`gw)0Hk!AVg| z4=ZOzBmPLL3^T+)9}gACw_5jV5$mheVnUC4f3J@bwE4mo{BAwgu1&*2Zp%1BxzpTR zf{-o__i*Nf#;68Dt1$3M2^xhSP2iBGM@xcU_g*nBuBbTyQ=ARBuQ#9{z8AHW76D`; zQtv>hnl_FT9hkH1Z)T)P?mmf5yB}V#A}gIS3cP zc(FrF%*vhSsXP5>HeCtbn1kre9U+@(q+ZX^sTXREmXAKmAQtj8JLtc2r2o~I|F8QT z^Fw|x3HAC51SWY{b^!uT|NQ;jZUg?EGyT_Q^r7y5r2olR2K`g?@AJR>>5YG10|5S& zudMq}{x|FnS|E>J*^uN+y;-UU;{;&1_|3LhQKK-BQ|4;w_EB*gz^B?v9tNq_&@K62! zo&Nuv_YXLr|B(JG{c9iE{>}ee{rN>i|KC3E|LOk!iT?le|G(1zpEm!Q{(n{br~W_F z|KC*oKRN&Z(f@z_&HmeW`QP*1(;gaxJ>>tW|Nr0k?#mA^-2Sim?hg|EE8qR$@92Nw zyK_9OuR#CJ>K|zZ08FFLT0Vr0umQMCIZE?@ZT@ORc8Y>H=SrJW3fI?zFv#qatLCV= z_6twZP_-zu5W1@}8o#7Dpp7Uj0v`9!9Dt&Fn8d*u$cgL>g+;WI3tE>4iu`8!N6qb% zTSwRZnwEq$sn8TVE6j<;j`IAHh4(Z^y_4or8igfd85!*xr+r$MrFz6(6+DnzSbx~i zP6v7W_y~;ktnQS#H+Alfn7hB@ciOkm66!2SXKGTj^NS}0ME+a3Wg zuHO;#S1yD$#D2VZepl!Q|Fa-1jzI6U^)4j&xt+|sb%PKniiMmnuppFJoV2}yhoYa? z>5v1=7H5Z+aj31tx>XnAsxr@>z)}+emC9qh1B?$9}C`4kszC2WjN1K7U*2O z`q_AXGxUjmy-Z^3Sc%(aun&=0gUE_$|3$Ht+ZAy#-|rrab+*GW$nyCFsZ{bzq+}_r zV^PR$0-+cb$L1rWLQ(qu(xqYCnp$psAgPdiq?4|?)FjosIgb}7{pEr6h(I_g_ITYn zYF2*W==-2{GZxX=b?G1Vemsxv!U+QuwiA#C{`IDE+Ca9* z%WdY4Byv-M@9Pg=`(2eszhdElx6;m$Q#i6yQx!2)|#Vl#iN30<>CY@>vZO%>f>qLCK~B?e9F}D zF-l})!wkPNZCy(!YsenKcd0D4L-TLRAIImt|Gj=UeNeQh{|2bC#4!=`5Q+Mt8LL>Z z#2??Fk8!a0PDdXt;GDmo*YZ65rIrMVjo^DJ(HBJVlkzk|a<$Ap-_(o*K0{)zUj#Yp zdZylvi&X*(UTKv>72CgUB-T2emR7`u;H+J`z|E`DLlyLH*NA%|dMxYf*W-8wn%&8KIz8XXVxb<$J(<%tO`+HIr8?i4IGqXB z&q|sSs{Uq_cM2d=+4u88p|}44@5}?8{xiPFsh8FeD;dS2kq+VvBW3^@q6mNn71@08YgdJI``Z!|X z*jl7aa;x81PqUAYr;=;RarCyGYUFPGWUi=#_0E#cOVSFf?5fjXe(n*tXXgqKa5$;@ zTG=yDFA4Z$`5|zYxZ-#Hq;2Xz@$Xa%Vv}Z7l76J~Rqe0W{F4E`brjlu<&LQz+%P1X zgS+?2L8zUA4fEK|uL5JjmI1OeoMMJo@1(LPo4Y4=jQw&yDc?N#M)>#Q^52u3p&ZlZ z0lXTB7Ph28Bd6n;z_d-4f*$!biQ6?3$fTre)?z^RSXXadn@*eW16r`CFPQ|Sl6VcMiU zHxiO-puiQD092=`*t0&^dlf6kG@I$&mrax>TQ6+>y7+y&5 z8_R!c7|H*LG!lYV`I&b&kmk1##lFWfHb~e_!!w;yK41*8d z-es8;f%5b(-*^Yz+UcY-OYWS{{+XKbeva-DoPcipV~~YdCr~~Jj4n9^%xJ`fWl?My zh07CReR8-Wn}2r+kcQwu5X2o^wT6TGaC4EMC|yN@`)B~aG^R{)D&u}tyAZos#~W{?Y;J1Ythr6JP0WMw7TB634xHm$$Nc4 z9_@v@B+&E}ExZs((@93TE$z3o=>#WOS5O<43;j4a^efy#zMX?F4w|Pk9x@AQqxqQh zEWQ5|L)`NF?nHE3Q>apA$QKgHfvIvXW9}Z37}Pja(dTF_QfmFu{l36(2+4Sf6DyuR zI?^$Or|D(mC3qcFB9>vy?SNEVMu{|six97u36}47jmpK{5QMJOiND4b`Y=sKRLx_i ztW^32X(H<0g(5d#zk^V0^V&Y;%+`t-8pvhdfrq0_IhjOB3YvT;_&gkwTk^=l9+&58 z?d8Jey|~_ETJ%~bQt8j2GC>odAqiSUQlUsgb>~}d#T{i+7ek9fHU|*wFxYi_L(8<% z;47`=f+%eoY9qQK0oafeCgE`Di3om>RECrch9O2~P_05B30^1k1}FXsLHsi-2A_tC6ltq($8jZm1`B26anDyKyKb~y6ng#gGy}ueA`hO>Q{uk=mWBp&D zo-oRwF5nSa8=%}K4Rl9^PQ1(ufZ)h9gANo11_}mcu1#wx1tphza&Vv)Ff*(T2m9XG zE;(hLr=T#effXGU^*<+{-TyLRkTe)tr@U&|5Wi^CMc(B~Q)EtAOi4*qY`MMF6y)X2 zO9v^7V`(r16EW-HnXayP9dDq9%t!M4dLeWA@%)KJTQs0|Li70!Bp08i|UBqkeYtQiLQ@v)Teim{R>&;;Yr^vl)`S*8~` zX0yhQXZ$7Nk0kIpylt77K*BicEewht^>nbCf|8Ju1ZdY3tr{+Ck`?ek^Q zId5f!Wy6j0*Ac8quazURC%PFtOEv$|rWd2KazSMoeP&HWtJ*LSf*Nxq z7>oKtS>;h=khL)uG=Py)?BD8UeVQ+=7F88T6!2jV(MU@75A5(N<1)bJ4N+Ah1M=as zXJS$R&SLNGNr31g=g%0}^J%(XwRx`!hDS|{mCcWJp>3nDRIRcD&tbg5AJRibz(5VK zZQZL@`g$Fg@dAYp*jxJtmJzXqKXsoS-+Rv>0f`9r`%1cbbh3qe_ZgRMBk7EmS|Ff zD8KKTw|-8~u-FVZIofPoa#N1_Dxq~=UGgNmEp>fzO@rR-fWYKSGoKov;yl=_Hpmp* z>XXB2^xyC+V)vyKq-jZ#5plmI79=mx?K-|1_<3B<_JvYJ4R3Z9hUBnkHSn~!-gtwc zR42PHZfCTkw zcy614TiV_ut19xAKaxg$qAP&1dAn?Bc)kvx{-Up92uE3K(U#}^^vv}H>C!d-T_s^s zmE2@R-D2G3pE!hW4fv&AIS9s9Kt)%q$5JY!M)&h~~ou$vyJ46rV_S7qASvIWe$aQpc8)bJJ zCoZLM=QCqjEqNp8dNe{WFG6~=S2Iv8AVgDHR>kZGxaFn&2dsIw^{{&9<$Cb~q6ov1 z*btMSa{|niKOAkk2$S0KcDwTII)ChU#v!KJTc?@nv~$oIYr3)I%m;odF0sK2cq~aliKaIsU5xtvr<|vSh~a(D+wUA^6V12s1B+8 zIX_usoybtxm)EJAejydbhFWIBOlb)WMqly5`V|O%L?yuTWK3D__j7ul|Sv@Nt=QPvn_aYsq}eQkYBi3W+sZICe- z9!tssH0e?(KSU}Xy?yMaMW_e0{FcgSNAOkUY=280nVo%b6wUY~t*JEyau7_+K8zFg zjZ{tv`1ilSgCH`Q1X1osh`zAeO)N1(1+ov>Nd|X5%>HaJ6eL5Eq~HvXD|pJ$x>}M{ zAhU@nrVnYiCDiH`i2f)mNtuMw2qZ7i)Y!_7hT+#;bTZ4xyHM||=*A}-kPzybm`Fne z?7OW6XCJ7u$o^{6AeOqv70Xnx^<^3>N~ud=m~B;H>2RR~9NaBc#Ze13X8A2qPM}~l zI1YAEl#+J_Y|v~#{>NTp+pBTYR#eTrMF9v+o;VdVB-v9Aenlw9I7H>O%&kgK?C3Cp zOvJlQZ5%B^it>$Y;n_G*U=vL>16lq0LR-#5;_C7f3%U|pSOz3N=`>kmnE@%(Fa}O; z!JS~k3a)xDO~lWYaeJIl^hY_cU%tv-%1yO=8M>gc@eb}T(R4BxDC)&}Y6=+`k!hc( z|KUJX4KMgqbCbuxdWIVYY4l<4{}Z)HT!Zh(MZC|Qb>dl33!J2-6YqK)+yAM&m`*H+ zaTb(+$*gMUe2P3tGJ9~2MM0=8_YTR)sxA#`>#|PB_e9lAn55Df{>CjH`AX5&;i2|D zxpOGQRFP^*`a3s*U|xMH8LQy#KHP}|^F`QpQS!b~Q3FS0Sw`+%8U8lNYCn=?Wh}Zr z>r}k-n`wkD3d&W14@5ye(sJ(y1WMC@p_9pisMFP#h(5K(h&i2O6sqAF#alAG)fX-z zafO&cTnh0G3;kh7pXBy=kW-55QwJ{&#C3dZf!YGrD8qmCa_`pfj(TO6RQaNGMQNWOj_TV#!$sQbc=`_uS8=5%<28^ zC*MEpAIPzYJLod&N2R%#2o5R95zD_aq!X5m(p#*y0JkZTs;|(Vkj1?tA<9m^7i_5< zTH=NR=D^zJOAc!K=IS+%!Lc~s(Qgl+!bK?FTvCS-3bvc4n>uZ9UbHl52f8>ZKH<{G zQ~&Zf!r-vbjUaX9u2Mm(do+-Rfwc%4O36~Po<0PZs)F zC2bv7qu|r=*B<^qPGHR~bsxZqySxaN^XTiq_id(=bm@K*ogu?eWh>dz?=b#Q;&dEx zs47#)tpo&$>nbho{1**)&dSBXwZ#j{GIcac|q3Jwn`$y{zj5 zM{*A@xs;oWH8}~##E1nL;#fRl}d#h9K|LVArlz2WxZLbC7pLZq%n@yE{F>OIH| zbv5Z};s`>CA<~pUJ#m}ENQZJwKYL}k7rK$P3#CppH*HmqOKF-F3A>w05ExWG}ZApyh4F^9DxhWsKH}e7W zZ^f;C@%M$`Oek&=3?uMBByAb?Z>2urxz=X3V<4vrtlrvH zDj`u}j1x=qxAG*E(-=6=TYQlb)a1mVIsyhH%fWVY1_kBStFv;nuqMD|jYY;)ojmfw zGAp8+xSSF0ONh_hOKl?!Ytz%|aNcbc@<1&{`j9ddSjg$olB3xkZ|>cKUKXuB=@v2| zR!s3OTs}>s*^2^A&?e57=fRdU`y;-Zv)z&>E!E;ya#e@5`ShD`IeoTr{TIQKhhoz9|`cd=%7j?#c`B7q*DZek&ps> zI<`{{1A4v`KS&Ud3yi`2d8$m(j-2YOO7H5xs-B^D?{#vw2sKBI-s+LwH)>eL z@^7KhkktFzxqQWqwNkUXK5fHNqAWt)K6^ECr0ZQDZ!iErmj5i&Nb5?JHd zNEqF`oGv0v>AE0->vyq_x0kU%Nd;J(W*%E?Sg?HPI{^n}?j}iWebO5y4jDwWqx^zO z`YsvaQfeO~cG;>|!kb!6x4JtnG*1X*i%fCbDEwfKo-=ZCw^mPVH*{jXF#pDL6~FC) zA&Saa!84`wT3Vp2*II{95yvR&&t7>2P6c1^M^W`zU8_lyf(6WBR=Yb=sp8)u;F zYnzEtqN`~9j^nn-Ts+uMdFi%4zo|@R(L-nYdA1Y!z07yDAL%tSXNG1wZ&SE4_fX;{1B$6kN7O!H=AKJbQ7G^Pbs6Wwysx8nlxd`S%=M7_ zsnvsZsdrI!I(>T+W61QsNQjbR9?rs@eYP4@=oqV1|4E9wS0qL5Vl#p6>sq#V5p7G*m3Xnq8Lp1(F5MMDzYwr}UkCAqi<-Y8NFJ(D_e!r(UHnMc|iZ$Xpn= z(XST({qA>13n^<$JnNT}&J`M&RVthO zWG)&j{N3%{E*f86RCTH<-=Mzi{6A!MAP~?Fh?rf9CijLAD%BP|n80H`=Ybl-{L9q= zgZY$(1>4Njb27#Q3vTqWT$^&H;!UKsYyDmqAZksKLc7U(8W1fxl*fKvr8!9FJb%g( z2iy1gG*;Zs=+teuxSIb{>Aei9cs55IPkpmsWY0;N492}!{plwK%kxVzh_pvK4htrs-SE`Uc4-h}Q;W^I_q65S4S5d~JM-`(~Q~ z1<6by=q>li8w?$E{AW>E)mO?TsflNj<;kx^%tkxT&5R$i+cxZP@Pgtf>P@fdzv`ci zfPZuH0{o4U#u8T6LqY@5Ib;>QYqI6VSas$Qv5_T_km8;ujLw~e9;qF(X)zn|7vEsGv< zH^#W?Vc4NJS|<(WsxE%_=VZ*RC5p-V6A%+L5s=R?ZK3OWE(J+q9|rw#o!&8c#{HBGlDg(wa_r>89&$-tJMl zxJbDgKE{~w^_~g`*!;V&ej8Vd{+`KeY0K`Lkx{+8A{PKQ&)y#j*A4ZrNm((lNxG}* z7ZAuc?IVP5UsZXKOFb>-b-m>@ZM+RPi(_hTb;u`SSq&AF)nj@UdGCVKxO&S}jdV0s zczlS&f5;s`Z_8&NPu@wLit%&vum<8cGJF5Q9j6;;+4HW@>UGx+?>W_{x#hKE4&6@@ z`SnRK5+J^5!7WbFHb1@?Qy3*$VL#Dg!Z;hC3#VPMnpEVk$Phl>4;@CTDK?{Z)9w=d zeaWEBp}_U89eVvyCrh{FN2C9?p$n#C*$;h{YMC@tSaL0JwjO7_lBtI8BOl*kUGlUA z)#}{8A*!y@5TncdrlV_0>ZAWU{|a@Edl@>c?bFsc{)5STMP%Jg+3>w!ehu^XwlP=3 zq2E_n7+FYuKI={=)ACuN4IvdzTL$++CMF1nuH>dODZZ7+{g`#W{T z$bXz9;yzY;02w+pbtefm3h3O*8F)sj2P)cH z;LOVquC7r(+61IEOj27Xlq#TfKnxf7Epzr{fxB37VJG=Qk{Jo|&KGD|fE2cTizJJD zpf9QemDyz)@_DjjV%U7~wge4?!yAYa$$E(Xddu$snM`7(TKRZ3R?@q$y^8G+SJWM? zv2^O7w0M2@o0Qc2#4kimB`u|smfeIVgd(?Zw-cI$A86isOn3d^1G^1*49l&^9hV5| zqX8phUv`98&pRHc7;`>py1u!_9y*oos{Md&XHL{-H#~? z2gj+4ZG5Zf-vnjmUDpQ523C{)Z8U0kzKT@ygdv4n-*+Ziglog7O`YZ#2gk{)tp%|> znn^c2rWR_S@2oOkEyhymANX4zuQoeN+PZJ{=XHT5S4CU{>RnYt4-#a*i3OCOm+syb zZ4O<*WZn;B4T!6vwL9$BWL~Z0w&7^pxNUYH+s+Bv)VA^5$<|9owMW`P25l9M)vRB!4)u)h$ztt0|U<8N3$!bASGP>$?5LvD#SX zyF)X^-nZ@?ugY#tH%-9y)G!WzR>JGG<}+DF5XLm2X(Y$+JY2DVs3=Pz=euqDAmZ%& z@b@Q)!piaU5u?q2)b(3QF4U3KH{G6B3;|uT$+9?9mIP*XA zcW6mc%FSx)^~*6JR@0M)bN1W28kBY;zRA&u`tFXRW)ppk>~MpK=81fEEF&pt=4SlT z@5ff%JRla~7?W_VM*^KL1=EX}b(kXP=1VU0DLqmN%c8Q+(Gd~fhXgHykYE>!`(K`U zwYkiGu2)NVTEu!V!gAWe_6iT(=iS2ygWvau6*aAorBEtZ%%NH(x3(~VriZRP-_e2m zf?4@2)5ClIWav}`5}f@kzI`aDi;`ee&y{YB7%B2yexFhxvDvNAJaFIp!-_%`Se$`w zwq>G2bHeDK`}wUl$3^Lsz#4itT}Xjy6R#Y{q^@(hH-|rqz+{0;BrymOFmhDEs$FlM z2+ncKrfL$6q&+QbSr0>mzYkE#c<|~ist|;G`6}NUMDUu(H;S#fF8K#`HUFM1rT?x2 zv&z-NU{jHf9sX^B%uqZy&{`tt6(C~vP_xW2Q_BBC7@mBKC*yvBD!WQAAD9y#YZF2d zsa(7>nd5II&EQ@g(Og=f9U z$SJ9{o%}t|YO%E{B%allfZqis#$-5KZ$bXFsjbsUkuX~2 z)6flI)J7uA3h??3)@9=P{;mN4qeT_pVd)=_mw}znW^e25m0&wlf5khAEZk4^vciu9 zzYpThr_lmp1=O^v2y~_#FCbNRcg(hvLS!t&Ce%}&Bn69%J4o7xw65*D4}I}ay{}6W zJ~4Obl)elB)z#7PMAQ;&ODh4<;t!SBnf)b8_wrEePW?oETV}yKjAYiW4p=7`10K)LHhBwGl4l9l9SETIk4 z5t!%;W<8dGj3PX$m+Ub<{o2meQ;8=r8}_@8_6^^UvHw2rS3AX=zQhH=a+4ZSg^<&? zytx%#zx!&BXY>Pwp}jwg$RAP55<~sSyD}m?=tb6_+FK`9^JG~2nn5jqsb7{2^}_Y? z3kO|hQ%a~56xokn*-HionaUOJ)z`+%(DXL5mJtr@Z~4|JS^bKmH<4TIN!?nj@A%WO zaGcr_Gb0l|Cq7M3n}s z-31-Ktu8as>6wl2lAS1@D=$F)g+W%=zXD?Fd2cLa-g1^5kS}t@CMq7-eD#W?PMM~o zM)*jY@>ijQSmf2E;&@7v2hHqT=6gKGPSMUCr$t&-L7k*)G-wCY;nrPIXj&ruR+avo!Lqr27K zDPXA0X;aX7&9(fR;BzQVoSZ&(ssvdMAwbQH2 zd{ZHm4kSLCiaFxMcDr#tqo}jYmF#dkKhcD5@5}lc>5SJ)ql4e^tZpODT>r>05x!4B zhzC{=r_--*;r7VV&QgzXUd^lQ-rdX=ItpM*1f!=7#8@C39I7*^uREDkDxGE8J^bXr z&SEhXLivVL9Q?tykZLa=A^xu@4^rnFo4ko`>eYd7Gi-aN!(c})h5j1iu4njPOwa!Y%BNAIjd42&oJbAZi3f0fP8~`AooLhY zCh31cGIvqAZ_pmGzCVA#4)0L(;?|4x*wB(B-M~6^M(M@G71L4KVlZx-SNiaUL`Q2N zJv?$m=(Fh7dRq(H2Cm-?TFO~UiQEq~4kY1yJcck&jt%{^7aO35lM7h~qtUQ3{_Da1 zfUHMZoqaxLW&-nk$zxIjGz47RKsv?-wJ6%4nvzmgnG{%ul;5?GbdTGDm1dbdDn87y z>{m96JRa2|TB1Y}$w<`BS%-N#!2iP8#_n`Dic+PXb`+kiHH?z~i5@IU$3wi!%v7JMa<@&wws$VUjp~t!)ah0Acm6Qn)IPSM}h&_QnkN7kreb zYrz|IQKb>U2+fecM^t>ZP(+xD5TNi0AMb%z9)EBgf>lh0@5AqC2bEY&ah3UwAqOHz zg#;>N3eq%P@R737uk;5xm1WXPyLjdA40wRwpV#>u$#3-1Fq2*&%WE=Ijy zp}}x?Z&K{-T)L30LC8~kJk%4CN02dp^)^Kr;Ah%j!m~=K>3!?~Q@Cs3JUdX3LnwtB+3{ zBGQ7GUAH^M5v5C$3+GIu{sCYbB}v*Sh&(jI)6<3x7a|2nhv7L7zj=FlPWUB@&o*GC z-Cu_{pO^U>74lt;Y$p6;H2K5exOw!+Gz6NmC5Dy8GhbFC2miuQl2uDu<}EYCd)+9E z?&<4-JdS0Y33P_pev9%T@RE~q_bA}~Me8jMz|q;0LhqFU-oO6+pat|{>sC%#M9qs~ zF+yS8ziC5De1gL)cJ~SU9Y8zGF+&7|{*tL;sh|Tj_{>n%@3qY5t&6%*BX9#Cs>WL=>{BC4wo1EoJdI~Q6@`;}c{zeb_V16i1` z;T_ryUh1Rv`^L@YYzSyAMyv2A;C8)M)$^r()uDPQ-PY?J`IY}Xe0*TT)QW@BDoq4w zHgNG*G=KzoN?I(mE~flqBgWh`?YE*T9SMFow&Sd}qOud#A#PI5pv0*j&N%i&KE4>y zv+RQ(m}!cofLvW$cjyR{p>Fpzc8|=6ItmK2W7gngjK%m)vRWA~h!xSghqh!YD@G*>8&HN$l21O}iXR_mFJ|P7loh!wyf2RO)uAHx zDf$NcB25Kx+^7W!-4|*-fIP@sKwTYKS-sV3=8F%~`a@uWqGgSxqjI3S#&1W2@1zgy zN0EXMw!C>9yE*Agwd1xtNSLZd;NihyknY`lat~i%u3$5`CvN26Zy8{Z14|DEK=&mr zvMdcW&osXLKtJj3>Mfa_M?19v-W-$*L?OWIK-%kp=g(tOd<_g z>b4Y{W;~kXJpe`TBiV4lWIYpI@*pFJPS!!b#j<%)E_E&Os zGht#;+*`F(me-eDtTSiqCjA+%yun>>QUT7us;C`gH&&y_!uY~BFMcHBR7AdP(X%k z>@}C)xEZ0(_<{uzDlSAD7R`yeF+B~IL6+U^I*%L#gk6hW zL2!h3CHItlLf^Nwe<4+6;*BG@Us_c-B(^|2*noA-aAuY#fA44}Af#pSn#PtXvHrhakWvMKx7+?g( zGPo!ekfkPo`Nc=Vr$-!WMzs>QrpAuJNQ3v@OpRnvW^uzUFxwtys@~b&1h2+xaVlA=SESr6F?e57ME(r_mS|$ zJ{PYUYVRtgHmUNbG665UdH*EoRba#~RYj+C1@!B-(q4jvFBT%>qcfJPVMhJN!T!Q? zS;9^xZgeR(0)!`KMu*D!KqvgMsWKoKt6T$18K%biTVj!yd*~Xqd_t`qIN`US*_;qB z!6(0eBl;BXo+8H0O?g5ck3&F|9UT)kz4w7}G2rd{vehi&ceOUkYi-agJ)BPLxp)~L zfXsBD0E#-_wlb2k#hTopc&bfAI7X|8F?J36cSK|_`*E52i-`pTivOBs1UsrHfyxzG z-S5q`Z;E27xQZy%=;T0lK-GQ)swr+0pt9~PUbdGf(=e;BvP`@LB9c^|B@qkuWz^F) zp#soW1fwT*SETEYToSe}%TH1T?;?Cnm?u`!3rAAh@rx!;r41C2$2deURcIE_Aof9F zm@qDW6ygCx4P%DU9lwn^-EnCRr?FgKt;BP++#v}a$~e(W1;@j;{r%~KGe5eDvwb-OD$Y2!v9h1ph_6&87PC(@lwKk5ed(Q*e z|IWkuuNd&(0KPo`@8kcS4wWU#PaBx4o%!|aefvg6*bPNdfapC+LW|{8_zbU~1 zUxAq-TI)mP#g!Va6dG@H1Xb+t&0apWOZBqm{~X$Q09*iQ!kJu*vxQ6RJ7?=c%9SS# zV&vW1_k=R?0BwD!97vi-S{iJyl++@kmGWYJn=-FCuj!$wiQU4va4ed)-gPf7EZjdZ zAo@;BN=#H#QbOFcnKfHLfxd#Zp`ju}HJNqcQ2=v}L-1_-VK6%%fQD^r)PR?|l8!cOKMe zpRIs`3#keqgw6a-A-3F%&_DI4(G$aD)cHcT?ftpm(VQeXCiYQrvz+ndR}HUBx)L>s z;6rEg%Mla$CKocoXI+ku>E9yXA-y#Z@NWIyE+C24Gu`YM9AX2YZCiGwps3jWfR)?d z`1*J(U1$(J+C-IQH(H8F%==f?P1)QJ|8!{`Va8K zJP`3dBt#4Ms=Z!jshh*?&9+$2jZp1>=N$)yURXs5N%mhn zFWwm+THe90_zC{CPkeE2aX&g@ok0>m{*l~I+TY}QS${g^S8%($B=$9y{i!e!f%a5E z!B?!-*9OdPeW|(;9{<7?UWm7tk}Dnc4Q}#xryz37AY;C9#SXFYx03$y)AffLW!G<( zrg6Vqna55Sg6Y`liW5sEIiuCo{s`mwulJ2UJoJO-d*e=GLhmm((il-K=D+{Vq&e-g z44swo*HtqYb@?sw-KeT<=Jh+UufFJMm^BsSaLDXex4${k+mc8}E;)7j6okuG*MxhTGfc$ldfvbbfbOaba4KhqZj9_4*2g;%oA9^l~pMF`l)1Uuy``nse0|(+^`m>nzdQ2vIbjGL9;>TiLcbB`YkA29x7;`JPL+T3Cpd(R(Tk8d36bS|! zH$p#K=evH^NV@<}#A6Hj%h{ePX7E^{N0^>i>aVNFrqQH#9#IiI1QlaH?-o-|9F-d zj|0Z0L_Mi+!uuIT)mlLLD!)YXqw&IV3#q08tE~!c!Iinu0%63f_QmMHia!h_V7iJh znRgcPl%$n&+WXqhjN0-q?gN=BueuS9i?$?1L;cso7WSEOaV)*=@#CaR&%F5*SY3Rw zv<99g_3qv~dtCT2Ws{Nof82ixc{*ot8|dqZ3N?A|nEiH}(adGQ-%D4rtcPlz`Fs&s z0ayHuq*uSsaf5abeNp2W3ER+OyxKjGz-g-4cqsc9u+~#iiSz662QP5GU{s9|S#E01 zm=}&y;-H|zj_y9y(Ena!?&tA4h1I8YhrQB&&MkwjqqJ1pwaFIs zV@hUfQL#BrhFEL7AN#(ZmL5xzl!uRn%JseRwjVx?cYM9RSYO?tBB$kk#aDr1*3xW5 zaXYLJquM~Ln!~C#LZ#S@ra^Xs`{wdV8g4chX1J+M5^iGJRuaz~4>BH%&p+!*_z0pH zUwZ66kc0cOzLIob) z^5|yl;Bq|@U-IAoylP)A-eFN-s(Uz)+MauDOwYUyME!UG2_9yx#)bFuqG*$}BYTmC zuUIe(PU`gIzg(DQPk4{mH<=(^WH{h$1kp}YiEJ=*aYHsvk4_luKGHhdRxmq(r2X2T zBrgE@BwQ{g|92QUw~0~NEP70ZNk2OV=9=+p_V08+8!xqr0;nlbjLy2@m9-0KL^HgL zS}h`jmRow-^2=u*7R$6BQSl3DuW89-VhM){Tq%bcF|lS6^(_~{;0Mx_N+>fjznlMX zdG#Di2281qMb4VnWEZ!$GAX0D9+r6Q!{VM(nwsP zg!{+{|B*cmDu*aL<)+OX+p+!3v^YCWPB*_Qa$TYIXz|vg9CK zGhhUujE;E%-CB;6uAeu+R?aflIJ=r9TLEg5 z!IVqOs*t6TElDKZHQ$|(?j;U?&|{_&i{vX7Xhfx0&fX=&wa47w9#8WU7HL!dStNi` zuq!880mY1p+slGuVUE!{7^4kAO%7Gw9L0~~-!N}1IPwai2$Rx^2oc(_8?c{4P6esB zaUg)2!C30I;quq;?`fWU+v+nxtJ4c*(Ue4K^4bFD5W66CCx9YkG~CA4 zX?(hpZ8=WNmTO2j;}|?PCZU~&G104Ijcz#^;ygqF#)5zDC|y%So9IY(Z#l~J&fxy3 zkJC#br|wk|GJbML%M-i;`ac<4Ro@Yp|=&_4;s(VIzpx$fRT4o-7by{E2+9`Je_)t( z5~W#DW)BL-#_^O!a_$qC5{x7q!&{{8PFr_45+EC)^fhpeQcq&}fnDG3VCc4pmVf{) z7wu7$7>~Eux~e`DWg0agUEyvjo+X4XGoE}fJ)D8s$i_%>g~L`HfnTY?y@;xz&6 z##y}cNtDYtQh&_@_sPCIg50!`@9Y8Ie0ksRROb@~dbmZj$Vv1jl zk^73IjQTJp>cGK_1Q5l@*YaqT!l5X)6Vi%%CsIZFxD!b;Ub44A(kZcZO>IcZ>v^x zsUAc(Mz#q*JHMj|ogzk=3Ah?J z6&3zu%~ChXRL8&1+;@1(Dud0J>g%)%w7ss!Q4bG>D|!g0%OuJob1UkR3iS97N~EdA ziHX~ShTF5UzL&x9GVB=e_5?M*pGY9;?b-E`p=l|eCFvNgDp=4#A__@om5gCDt!PS;Eebet8R0Ss!y>=V=68 zm4VY`kx(%riFOU?kl3Q+M(D$3Qd*K^4dYv_S4pyvmF$Ra^wW~QcX9#)}s*{8G}W55JXB0#sJ|{&c5XoL!CEnU=x3h zIx!l#1;aGUhq?MwjX@lC;ff;b`1p*^N28VA+#RGc$afYL6xd0gv8a|ak&FB#L}&~m z$ApVxxS&@spcfmE+grBGfa{j+bEJ)U9{NNm@m^eOWWE<_hjM^61S#K|n3&Q@nijD{ z>aT2`I7D2pk2Uf*ZPx6xRUSyQs%=RaO^F@Z;GL^v?`@I2JC}(@HwW@6$BD3$VZ_^z zaS&PrGAa*q>(pexdh;uc2kpwyxrJggSMp@``C|CvOZZI&gl&gN6&Yz`Wya;OBtc?W zLWQ&;jH}LzH?-+Rw#}$8@K)Y-dbHYl774x@AbD>OEkTQd0gJK>+5^cP9zL7_Dn4aM zM;-(b%G2Q?7Hk&lgQNjKR$*-n4D*y+OchcvRJe&6ycY_|FI;4LPmIds@-xz{Y1g5C zk*e%K;cRQfZ59vM3(Asdu;#^@7a4AGgCu##)+ND#5#JSJOK@3|K#7#+Q{Wm(h9wv~ z)J-ilvr{pOEWIP?hMm$R3n2guT&(sGV8NcIsci$XO7_z9SF$0@BpUCDzYHMP-C9mJ$71xpI9;uM^it--P6 zb3z2&?0|we#ymjyOj^ynGU6S*KF(|2rFrS%kI)P^sM268BF|hsTQB6=D{f|2S^7%~ zZ>B`}*p$i;*tx^e#~H0D9$_z^s%RP+xBE4k9tYmCrHk}E{4*nSrW>V|1*D7(g*&k? z>excJP?Pfz?6~r|ke5%Wd{Dp+A(ANIhJ~TLBa?|NEeg~NEFXlwBF;Pd1U+2WW{ zN`xngYYPn^+abuM`M8<@F0q4?%iQ zFBlGG(T?frVB~+Uu-Ap43HaTxix24dMd=K0I2X@V?GcTH<;6qs&7~+Cxri^=jS8Ik z+~Yi@bp^xI`4rE~o;dQ!r^d0_mYgxS%Lp5o>h+}par9@nOEvRwqL?U{@eP69T(cm% zv#sfwsgTi z%;3CrU(&I?A|h6l6t>NRRU&9{<{<3O`b49YyL91csB{2+b^EvSxoyEHiz+YMntJVNRN zWx}yg=^R{ajJDzEP(4z2Ho(K*9lxH@)96@_Zsrz+0T?i(^BiZn)Q>U9gN>muGBj>7 zWV=^gHyHjU!9Wo{-?O~xNoS9pBCt3~k<7i3F^984vfkSe?gK)3e;tMrUi>s%eO+tb zBs8c@8H_DS$Wcy`c}ujFGm7j`x|9Gn`ysN5GtlGwThtFGTmpUtVns9T80L7u@(A|H z`@^~LcaT^P+mxN-TrNQw zUO+P#OZh~1aAs`?_axo>w1XsyugZx(_#zOI=q|sZ>P_s7d!+8xgDr1?Z{(uq@L*W# zje$j&-ttJ_DU2sn*R|=iICC~dl?J4Q`761HEMAR$5V^)HPmoVTxr`i-)TE^OLK>5a z!V`23*L;f~th3Z_f{HU8$J_0K%u4x5k$@nWw1u(J>!5H!F95I>uuv;w zALn*kwM$vzi~6YX>0vHIWvfN6S5h(IuZ)_9I>*C&43<*NZ|2fdrQ3@M-LV2(oW)71 z%1FVk_z(!U^>~y_hfilqOF7oB^}f%;76H{}S-W`jK|>UOhhsihBkN=* zj*gSda{VbNo)d-N%|%xQ4~#<4+jf>9$EvX*dNr7hHJCY?RZC^fY^)rH?;DjEX#ICU z2I;GIlJH>Z8_Dt6rn<#|PPDQEwlT7rS#9mW*GYKXcI7NS;pcR0F%6hw>UqPlN~ehf zar6qhyLe*Eq*LWdU#=B|Ms#Q9hdhLsLKhnn}9Ec@(J{mW>TR0?1KS{_0wB=w#vL?|=y&qv*)tKVw)%p{9^N;WY(Dha&&I%wez zaO?O#>^GX^kV=eYoFA}dKpFrq$Kj8& zI~;o~PWHhrq=E|9(H`u(`Zi$+fkA}6+2w-cHoWY>lJc3G5aLVyuoyP(0Fo^E@hXXw z(%^6eo715?R^w15PfV2?u3IXH2;BQQK1m|SAH$2nmZcBO$Q8!;XSxIw?WH5HY_CEh zrNo~<(H4Byn&1eS)u!IH&K#JY*6|dSq?5%T0b$bPT!TG`HSf2yAB=++c)=eg84xOw z8tkYT{14-yd2G_{ecMZzjpZ9bhjN14k(@YlY#FP0bZ`=!7=#es%-Yln87F_yv3862 zk4lO(ncUc8B9&L_c)f|JBi4nz5f(OHGUf3l=;q; z4Gh2l;s2y+0E92zv9Ite8(dcS$y}Sl0s?(~{e1j$~51(TTyiFA8ZA5gixK`?u0za(NFIYSr5ar$rM9(6s}9xQTfXO34e;G7J3@PBfEr_GbH_1nd^UrCpKl zpY%$@d3--j%2i>-va4qPMfxqVe$?oXs6;c%uRWYm)zN+9acxL#y^KtnZ04Hxmz8$9 z+32JqLuolZ=Sh}uCR-NRC6SsVitCwldneh8pFKo?{fSPze;G%gS-?utY>j{I|Y;vSWDz~TCbGEb0eBDNQ4s~+$$ zarH-?pl5mCc1YZS?Z;@6bhdZ|YYw5up3;xmr{f@MkSoxU0sCxrZNBE(K_R*beXdNQ zbSRIuyKZBtu7Jkw_fC}ZHpdU9ZlLB8ZxsPI%j!nkgNxtlgWxw>=#d9C>|@m^yMfA+ z`U>)t^ZS~jx9duvm}XqoM7yHyGmOjf%x-F~vR(ApW-B%A*HUiA!lxbj!N zJ4ynIQWg2JVRX&cE=bh{uu;HnLJ@kPtOoL{L3~YghCUE2%5GFA2ct3$J=eGioeEAw zX8q3@h|>T?n)e+x`MVuc8GaH4;u&@0wk_Pqh|EpWt9%t!qjn70Zv~; z+}iiX{b?yzb0#p)G}*T!buk!HT{rSEVRuKg3_Lj#GTvC~#$t&vDDTPL5l2kzmi>jq zIJ^9WPZ10thL@Il0NYk?Ga(&D;PL)J4{mx>7G@d6f&)a_biF&1Wn|A9$!#3W3jhAp zys9~j*8yC%5B6s_;7&e~=3PfpGwH#o$ICXb&=KLlV$}3z7Gk*TakK8Y;k5se!thVT)ffK<0F6L$zr#qk zRvk27gt2{t?SuJR@_i4E2-_E5@89mtoh@Hw22$24k_1^cU7|?Nf#T) z6Bm5s4Y_2cyku7YIav^@&}w?#l^7euJCJWAXT=L%EH@^DkjSUxIG9Pg#XG{ZZe&qaw-l1;y&ym+5!&L8zKbvbqrcD zlTSsNLH!ebyDZaUJ~_PLdHk;pc9ZFi6iTWmXudFlhZ3RM4HK$ucv0<)Gd<*GgYq_# zx6r3prfib~Mf>zdAfpf*%q)plthB4$k)09Z&AD$jAY=LlJW?ocVIj%jTx_o9wAl%j zZ{0@`e1SH3h?seL49dd|KMENVtO-`UAJY5 z26OVBh=$}kDs#z50T^02fFb69Aso}_8w&*2R-+)F%6!pycHd7NurK#A&+#4;R&R;J z&=@5iR#||9X*}ig*k7l40ykI@jRoO`A#=xn>+ubG!TjDXP+YH~Mncx6&y$H$(@3-1 z0+*zYKoOkbVyc3Wub?h70RpTBZ4Q|mk5dL`*Jr^>ART7b^BOdD`j*o+l$%pT`K=Oa zsX&RRTL2*VVPl3aKx2I?WcD>X_+Xh`5&%CH-RUtVUOth4^ah5l4{-)3 zg@BOQAB&8}AvrukWs39j!P+2mt~_}iqv?=kUvENgGD$@?M_`UpV(w@#;01C4 z7?NR+LLChLY5(<{d{ft?QdK+57^uiSgdZg3H~BkhNg3?MG3Zl{3&|l9Z%gQ86K(xL zQ@#}+$5vnMO}mnKrUbYHRy(wP++l|^)`F4_%Qg#BDwA2-9jw`?AgUIj_V zE=HH^(9Hal^R>-fnaC!K`g;_e&`cc|VHwEm-8HjejjhlK$f<#>6y$}5J}iI{b1n(Wm&}3gZkTybBMluN0;8k|zP1qn59RqY ziyjAg1Po#ZY*QxutMD~(fgQ0%(qTvDaR7(owGEX7UzEW1Q8LPFrc*|NOi~B`y)&xK zMwPNV{zgHf5-ajsZhR`fFq(6Qu!nZCwYCBUk02Wfq5nuu?vSaCK---88|=iV0wT*< z#6A|`!mddEW%r9{403-i`N$200s6I56k*HMBK(_IL z4A?fw>tNbh$Sb=}jp{U;(o9F^Bzu0Pf>O9s9gR+jSN8J`Njg7qPCBo}%)H`9AUsd; zlWdQ~G&D8Q5Dix69{>+?2wS2rcA)^$od4hu)>@}(6hXi;i#QV-Smf>s1&7D$shF#E z*5%|jpZZn}U1I0bpN?C^#>2{|t;X9PfwtP3LYIf0`0QE;dMu$aN)WDDZui=vgH>Va z3FOY}i?m@EgnAfDTslBoj`xiMK^Z+9eLhrev22AIr-q~G%f(#MYe}X*%$i?mh?uUPzTkkS*G3AEyJR1%O0v;i4W6gR+fH| z6dY{Ms0hekl!83_c}B;(`q}x{1WaPu5T-m}f@y4wH5!*(?lREZWkQ#siT|1VSLP)0 ztTRa4eBO(;a`10Gez*b)LpdO@hfn#pJ10$y8};6iGg@Jz#bQm8y)E`mx|$Rarm+c( zWc~!}MuD2m^n_E`CROX@5}}1a7s1GBOh5s@vrU}pW!gF>zNu|0Ru4Y(;naPc0+a( zi{P^wkE%kQo*XR~ut?dcf*qM%#h$hNh6Yzhh7H^S44yZRK1?&LYvN7xza1OA4}N~z zurD85CkS;|IuP&;+ic*ye)p>&83^$M7-T1jxXDG2ZVZS zOft8ZEKt9}0CMiB0zq3)VS1Z}4xz!tpN$O`xj?^v{y_etyEn@6gGCfT0hw~?)%{rY zN>#_4G`+*fX?`KOZe^i_8Wt^Ke%eY~b%A41#VXlJMsw++(FGE%3=lRW0{YL+cIRM` zI+7lIJ_Y`S6Gb2g$^Qpm0zb~)cgdq8`Qc8gT(#9~T8y855-8t>ys+O|aH|FeXt;A} z(YkdD8`Q3}F5iR1eU=<2-rVQ-+@4Mg#p+3Iv;f@>Pa?-bmtfw-$7AYr6Q{$x_SjT={J+qzXxs=IRB zO)eB~KJ6|l>Z-XVy6YT0@=koOLqL2Z$FHsm6SX4u|D z82RVBJyz|dBsD*bq~=GA6?P8vP;&ftQ(2>?8TL%KSuE4HOh|x@6k(W?prPc>=NZW5 zTHgii;ZOv+ioF#ycaP!ki2@Nu&X9X%GK=IKBW}4(?k|aI000000000003ZO7gdkD~ zUOgtLk)Vr?L{DdpFsp+YGra<6uFlnC%ztPuXCg_D0lbJUfB+z3id&S!i_`F+ZEO@z1 z2z_LYS~w$W$AlU9W|qTfsAZDY(4GOln3e_KTF&1@J;*AQJTuST!|MXCgcL!liFqLNb+^05Bpp zX#g}*jM^wv3hvyT()KTp+h_35$CJO(Fb`*#=$XFeP z30MG}W+Dae$twB2kQsg=y!l4r9_TxlH8N`VqDkU{el16+`UDISZ4 zAvVC^Idx7_hBAUQ0Gl)Fn9*kviVtymbRi>6xrIF_qM}xSg_%2sQIQSWL*5aHMWNIa z@E5{H8FuC+A;VqR7KkenP6&syo;kt-r6JnDf7Eh7zPIAx&t{bC(xhz?k1Thya!?+}V(L}y@jGYlk%nL;n&x)Ri0JouU z9?HCQNO0hE>R}X|)*q~9RPGKRjwfL_l6-}l-~a}IMLxU(+}fq28T6GE6s=X{$oDr}2}82cL?8{&_ad>xtN0>Cj9?R)=Lt*%Jn};TfHE%d3dg3yNN3?_ zGqq~nT!e}UlX(r(`6Lbi011Et-p{=NpR>jau<-zXNgs7|*AiiqqJY3gpjv5yPq5&C zM>D^QZ7U!^?A+L*$>kad$-OR6OAFBwaikyw6rwsA3B(CQT$qu)9w~Fojj*yvAi(lt ze|}IP58bgq29W}UAzb488^UQoBp@MmG^o270s-@*#tF|DWv;RnJSn`E54s8#L}N8% z^59g667u?e zd}1oS`;LWw`3xVg3{*Niegn<75aYAtIdXB&s{GJp@ox1s+{QpULn zE8e4=Xut75ZxsRem^NUh0dzo^PIS{TlJ!vsgH8D{S34Ma4TxgvTh57x2_5qd`lxb* zR4|P}3m?_ZI3Nft1P}UHeF2inLpc>rk~bH%p~Ll#mqSudYz3=VaK-wFrwinC1Xu$y zT3A8@+iaoo6R@JvV)1rQ3MPVU1e{qBD3zN#Rs_O^Do|LIAsB4?a{*w8auE+W+lv=K z0?p-lqhh<{0ES(H5ErCKMgafNB>;O!@gf$e3mL?cVOq_HZfZ0LdTU6BYypBdKT zUw%%#)+`~W`vYK}Gc8IiEwdnJa;7j(3~Z55=5wIj1qEJB6xbv|HoyV)8DQfeI9MTm zB+NcgtjH9U+;b1@K?P5MX&6LMrhqU@vCIj{Q6wT1(3o<=urIQ~Mu7-LxwNnWKqCN< zfS^7W?1>ga5Nk7Mz*NI1vv5oPCP;C}!PV&YeGe{%_mcvqEYs|=sj6O7!*(^f$Xv7OEX2w->OpvMt zUyQ@PLwv!zX+ADM5e2kh#=L^auLfZ>@ben}@i7OSjtdHn#al?QkTK6TVqqT%J5(~p zl0`>oj25v>^A~vJMJOaHF#Iq&lMX`a>@`xNapcev`=O1*jS=4wP|F-_`Ji|sP-2KT z3`cV=a1?Ijlpq5bHO68%&RPv~nS;Y@28?2`F;#%72c{my8Y2{4W)SZ21LM*`go`vz+DP)7|o9Bl%h0vt^+ zY3yMe&eNvdoFFuheV*mxjEvgJ2F7s}1q4Bh?5Del^pOH?BA@Uz<;4g%<$}$EELaE% zN8Ai+SWY(5Fkn-F;86xM0*nNqq9#giKtM=LMsb(j__?|47&;J`U{qd-8@z2KG$=L@ z$c`iVqTyZ;LZk3C7ku;LDH+7lV}>Dn3s>EWOt3t@>(~HV3}M2R9PAUxbL6NiV5J{f z5gMjo3Ia`B@Pd7Smb{f>x`iwH%e28Vc5sV&5@|b*2c$EUDhLO0LaLV}G6b|4n7e@$yTcjZXB_};(Wj5TB4BxCF5OB5-G2h^h zO-YdJ%e&gf{RMy`AX8eH_pv`~`81$OB zCNL(Cj_KgMquAsTN&_@Uw%nKig17NE@Am|B>vVu5b|h*XvGa~<26|~wECeD!G_SS! z-9ZHNjL##SAqy9VHMo+-d^H5C;DcC1xC_jvcYJzsqF5x61zRmw#C$Ev6~XSvBVrHi znM!0;!EMtEc-*v|<3z7C1Y}$RSpq2sXvm+!Phew0Hn`=-S@TcM86LvUJP`Hr*m%kZi)aJPFvryY}$mBg`TiHJJmcdd?a z&(JUZtO6LVaeqUx;_9%I(!22a6}X32&#Ajj6RqU z7zz&Fqy;G~tL%fgQ<4$HNipI^pdk^BJrRj? z6enDP;tm5(Fwg@>qAV5aV~}ej6=H!xI@TE?LTXWY9@&Em zwE_*h^QAg+K_>Ab7_j+m^f9`T?zp0($_c@QBB`#zP{87+HJZCyLBPf#?B+)EM07Q2 zA|2+o0=5Pe9@4Dl)tNSNafwSNxX?pN9?)iC_>Sz9CJ$0*@FP5w8)#j!KDfkM$b*aE znM)3`JTSxRV3vk8=$6H&@i2DEG!<`k1i66wegh0BIp&TB^S$7d)4;1N`xc^$@~*|dPq~IWekQU6nv2bXoJOVv5ngP-wPo4lnMKI{v2wvu5#J$Un7nHI^ zsxN(3D3QUFywG*ol8JdH-{&TQ$3%2i;6yq{tme6hSl1Al!&pd0vXjvI+_`#EktS5F3t ziCYQp7f8i)LkJ{0jr?H1K>RrCn;u(pK`{|5u+jwNW&2|I}(JQk6R zpb~<**_L-h*#pEZfoQY@VM-8gE+Rb|d6tK8Adij=DUeXaMhRg^IdE_q){V2sBot6c zmCXn_Bmfn0yYD1}g;2x7aW3Hly*9v$S#7jY@y{7OT_#%`-L{uRZ7TRO`OaeSM73{M8uF#vxA$NwQ zf&>bq0RV%kAQ0w?LkbfCJ_X3mgP{?Q#+^*ZSxzYkYRGXT3pTXjs0mT#5r6Cic@%ZT z2nT*>u2dj*>rA%*OAN(6nlzrtjyGi^BdFq#Z1Mo$ep;l2%iw^hd(Z&=;wDs#9!ERw zGVre;rTv_*AflXc#Q9+`bTdtA3OJ^sk@cZHRYe^@qql6D!N+s?HCIMU!x(f+1rw85 z3So|v;$Te_$J-4DY60D@$OabIlFvwsy$H50c^r|2Y&A>4R0}7Asr7&c+#stu@*Ayp%>|KxxSp)o|=7&sS8v(2o`^xFdib-11Nwb+oFq=mvRBzGs55z z4|o;EXrh_x5+7_hP7E!~1(T4KD-g`w9iZSHmZ9)sl6p4KmLz&+iYSnQ*bE^F-a6ur z3zC5aU4V3HNZ%WTQVX(h!*rdpDeNU7#0q8tKmebUi8a%Tn9Z8O+6ZYYF7(^S23ahH zLNoxH(R1byZvi7BMlx3ww!)LDNlh7aOCyuy7Q|D`=2B=wLBM9>nJ8BKhP$)00F|B+ zdf18E9%n7Rlcqj;X8_5iGA=vLL=hJCWnRVh<%=;oktQe$Kry`upj-vXgdjhdmI0E&xA=AMBVnI{>B)x)^L!{tibJ?@c@T!o)?8WN zAOIY%-UI`jv{@_-9caCB&=Ap>A> z6ePQ(5(%IMFWCP?yjm$tq}A~@oEm?Ea0?A^!(lR{)s{I!1E-97^fn+F24Ub@l`Yy) zZo*+9KK{bEVO^#b7}B>CiDGKuWajB+tVB@&!ZpGrSkl}j!u^?_0`%f6P{b)90S9c- zpyPr}9S02B99dG&OGbF&;Q4Q0B~-^#okPiwR#5-4Fnz%Zm}1a7&qr%vB>1OXWU} z-3Gujo}d>1J!73bAL5|Ynblk*Kxh=o3DUV#r~B z%C51X0XU!_w!y()(r4ib1f3EUL$iuf)e%Na=3o~%NS3alZ{WT9KEs7Oy46oR*y<&FVQw}LrN#h2|znWB`% zpcbF(&ZEb0$Jp7j16s|4B;QvW)U#pUma|erWdR9D+kiHDkXc~tK`s!7MQ5auL~G=t zwzM}olN-gPhnzgx0Ki>g*T9bToCO~>ai)SD%SX?uP7GtNI%or8c6cO9LqbCU00000 z0000u00020DgXdtc6c%X9{~Um67T{6jto!?Bv3#AtQj!N0000rU{C`uz*(jmRaF&% zanOz?HMu$%egS9jA21nfcdjw!7+qte9ZA!5laARjR~l6S007_&6jfAJHENS2CPoug zo31$yZmy2*uC7k@!O0qGy59Yze!O6kF$-%|Jo^!1=#%Pix zNjk<@YmGS%ZjMflj;^lmj&3dv*4%T9(a|)?Xp?lbNk`k!ByE!_X&M|!iNjJ0- zg^Ce}YgdirX0%~}@?v377(0SAEDk@fvy1-R(Z>S*Bft;|CP7Z0Ggu;HF}ig#x_ei~ z)>@G`T2UARsYg#~ba9N{DlHCu)L2>+oDB3rxv|BO`mRTyT&|8)zbYQIykiJdNaSqk z-!rVJ{)dafN}J72(C&fr7CHh-INh}|f_qV=7|Ge`F%VvZEq6T%_RUkE7TqQ&{x+^8 zxpQQ4Mv2^BX)i*WKq6E_On0`{I6ZDE?-9Z&y8J6D)%b06JU;VZ&@52zX;HLj9)4Vx z482+-xKUM%|2E3)$IIm6ui#$$@=xAz7RPbG#U&aI)&Ho|fPY!s4WCA~!26wTcuF)$(u7eb6H-zr$5TG{mlfRo-4Dp~bK=tyR4^4q}O&u*HOeB)jy!LTeh zp?bsrjloh60fs&a`B*Mt(;PZF)QNk?BZ#}i0NE}0Ay`e;#-cim{?M3T)~4$3A~%dE zQ(GfBY4DwBTpD6Jxf}4n^S)HY(co0?*nQ&PC&bq@0vO)+t&(^xF8qq!djftk3%A>;>sqOGzU0H75$C$b1T;9IlAa z%Y|tTN{R(v#)!gVKn#F{L>^|47OVq}WpS)nZ0_<1e#h2yOO`ec)4F>7v;14904k4Y}Ea$(cF0$g1*hA z$PnHFWe(Tr=k<|?P+*z^o2i;Z0s9&_e_QB^Y!zl)d+xh7g~b}FiBcOtPaob*#`IxglyAWX34@$fE^;7D1&saQ z9=x=N$8u@&4+`=km?V5*IXM0EpN0^ezw_QDYHA|UnK5&<>UkI> zQgp`}=xic&vz0OuF?5#i0(-!pg+A!1vAj0&=9X5<-s;I@AoKAZuiMreSfI3Xz!YyJ zBKA+O{n|ybarG7}S1k}oo*g8d-yDMgh-konlSKdLh@=kEyfFj|i84!upUDr!YmmlFLo2 zu}ibK8H;Y+YiE z>sRoJh10thL0i{2Tx^fB*lZ;(3k4@ai3ixDeQ|yt=TWd?#(D)K`jn(Xa=u~9VaTN9 zK7d2^cj^ANHgsDq%WYw9&OOk=egX6$D&muUJDMv}OCS;N@=rgP^kFf3&%@39_vZ9n z7f2>knW6}2{ybe)6iYrpK4H;sC>i}g!bSKwKkT^_Iwlf#tPi%6B$hB#0iEO%07ePS z{U$l>eGZ{N8614~3Ia0!dBR^jo85pJA)?T?{1$8|RD~q(9KICR{4naF2^aHm!)tY) zqJ3!t`ZM`7sp8d*c_OEC{&kFcG>gi3XjuOGI}IvPGEE+y&a@VzwF}SYQX-;@%S{FP zmj4bHW=0A-P2*GOR#EmT<~n--+RH>iVW``QpFQ=oI4eUO^KTnB=h21xcu2}k*uu4E zylE@>kKg>kXW83tsvPWXEZsmi2N{cdACfN8503se6kdAuf1-Ni%Z-c;kI_S7=W*9+@9*M_z`nV?D;`bP@57U^-W)snRI$<;t~{?L z)09hL9?SUHLR0LhoAQMz@#xJYa#$d?_|I~YZ^3hy+Qdq_7XfnU#%epZXF9~9{ zc#Ldy4zH<5%ZmH1-Hd5A#O3B0Msl0y4iZdBILF*qkdR+azQdma7WA21|9ko{qCfp7 zo>FY6Big(h=2 z?(b@8w#khYuF#qO`{~lY9k8FO4`jzgEh`7wr%?ab56x_ z(Xxd&S2yv{eiixFQ1a`fNPQzB zdfv}|U+!MsyXO1ilfIhwHWpc^Q+aQfMcg@JFvNj z3Blu57TJy*0xhbDMy3$HGvpDtqxX>FL!Yz{0snptG%bXl7yspCvA-o&0$PW%pyb8pxiqD%`_fVJ;{VB!Rpuq-u69nFjO-B75%`5F%g{)unq)8Ba1wRx#D zx|&P7JN0#qT=HmLb7Y=pKb2)uL&7%<=BjJ!s;?}^lfQ}q59Rze$jh_(S9=w_mEujA z4}W%c;KIAdU(C$~cT#&>wGnepA1GlpFzN;)O=xr_{I^L~eLA&~9t}2DOBwdkRj{M| zE;rMHcvHwLQ$yo~A74YrFtD56)P94#Gv+J3r;z)EnA6A8v?HK(9Lo75(-4!Z7lYo) zwi5yM&B4n54e67t<3tN56x)w~gO5^ePK?EIT=Atl4-1w%I%4B;Sh#sJu|1Y^Gl_P{ zaJ&>z>NT3Dn*)=DJnv|>_U_+sNtt<+677@+W*P992~WT@ z+0&y5)FF#5*CIzuAu;%d);P4!C-MjPxskE6*fSIeo17t0T|s1fB>H|ZJ(2YBfe5+v z=-6)4a246CLw%kLQ%OZm1t^w5`@abH5i@oRQBt=Mv-*PMC2#R@?Pgn2Y+yr_*)q;m z9~#tQ-)iCJ`Sar(@8)^5uMjjUVSjyQnVH1RQrE32Y2GGs2?fMqdk`$V zloJ|mlIz!%3|WlqIJneLa_Len?Zta6-9e?WIgGXe=a>{u5PA^Y+ELbCah4RLh}rm+ zf(Po3b2Mk0U9`oJ{mkj093~?qL1GXpC=5&j#IWwlvKdbLhNE8e`T$cx@uuZ5~A5*Q=3G zt!uXy@oZimiLh@uXjiu37!opPfd^uVrN+Lhh%znhpn^p0`o*0k8wZQbWq za&#pIuM4U4v$@_%9$mo^8MiLSZU%D7c(R9cYRaOSH*%xtYAaXSFtDpe1ZR2?b_Ds< z<|&2A@wRIBP2IiCWor*-uis6_w9Dc05V~sIb5%BYb^+@ThIO#D;^tbTT96VaM zx1)tSuaS_#JzOGU9gc&7^^;G7?6zH5R`(Cj9%m+TQ!(7Sgv3vIJcn6U!S7p`@zP_Y z``bjTDP3-GR@!|Q+C)k#t~%<*HtJbg$dEJd72CQ?xKS6(;jh)=ovk+$>N0kOyhMS# zxt`QyM`y~9dkpcf$4j8z<}-JyTE3Vex)pEx8n%1PM+b|FE$j;PtIZXd6Yp*A?z-?s z<6>(U6M4jqu<+@?5`#_m7zIiZ0yj1bl5O z+C)h-Wd8<)3op2NIcjuVvrtMTIu)zId8zB6$F?MuhF!Rx;B~xJa7h<#F2up>3ejQv z5sJLkw@EkH%8>$_bk0dP7H8-BWwq=2t$ICfHm%SjYp)imVD7#MGXMYp00000001z+ ze;Q+oK+s}9#=xei1|B4TRk z7y(^G0RQOB7sXP3QVF!&8wioBL;nD4Yb1bx zt5D4Y4H&`^Q7|P=JPCkWc?;^mjO0rILCFfJ6cE!z130UoLYBA%E;xmV;ssfv8KiX` z)GHy@K{pci$i{v;+{YQmC}V}NUfdiOc|LMNQwLm*Mt6xLl}S)wD=%8*vms6;*dh4K zB}tNR4!jLi?7<}&qcByBpa~d;x(xZDU{!`xQip675UCHv5Eyh2qF(`F zh5#H9cX>M%mVi8`6Ra(R7+~RM`T$wD5I%}5*I7Zw(gK)-SQo5ehTFgZ zW2&4$g2=+6T!4t!qOdh87-^S>w!m8jW+X&_qN|(N4QYJ;-tYAQ5hSoVd z0T7FIo(0(`^Xgf2lBhj@e22dYW%-l!yg2#=mYphoy3CIzW1 z1hdu2C^%w@+5x2u4g%K21dEk>C$qzi*(np(Fkj@z9`k3zMt~62$XH>@I6-(!tA6pd)@Rm0Lqvd; zCreF-`h1xrh9F^}r4p6_L?Z{l+zir^AR|z|Q6L(ugbx5bSl!r1HDFGqMBfN*AVi^r z@V8!|k(huawjCrgAd(kTJ^DHrAl51xQ#F*zR#17y%z&vNhbo4WGaNE{j^u9ftc(YN zmE_Qa{&xZjxa0K8hI(M%#Dc-1+JNi{8ip0pOC#!oRj1)xYHUQlj!V=Z;AR+eni6#j z;-2}YEOn>_qnEL^!V5)>4mou{WirJL_wud=Z@CB3OCCb|yut|8{>!O@8RwQE}4 zBM(a1rZ=C#l2GSiQJ9u6KDH40QUL|?4r<~3&?H0!U?9YY6pamlPx6>jeV!>)5W!>% zAO{0{mexAV5bns-__$IBRC1oRAQA4UK|BoahTtNI9&T53wAV~@_rg^q3G^wwdmSgc4YupjN|Rw)6#`*U+A+7rhrcgJ!-6 zAOVVH`@zgOcd9Wj!q{&j!FWj(J$QLj^2iNE3`=p=VYoDHVmA*NsyhZ0yAZ5_yBbY2 zJxHQL2|{DkAF7iAC79v~Hj!cg;s$tct~(u%1o4#^U(;52hF*mqQU@O;Y{@6^vDj;M=xtDheu$RmVGWKv1={Bbs!V@CJrznhW zVdFOAT^_bLLCSdUQ-gvGnICJL!wMuihDj_gtV=P(JK`THzyP9-;V*1La0=B7 zF+L;~M|K)O&_YvczNdJA7mLq2kR^pNNsMFYNI^}k znh5_1d?1S1hl;W1dS;TZkOqO#pv#9Egyt+}!`n)v+pjE`Tyq=;;6CBVF2F$LZaE`c z$#8@#v{4YU0)hh#<57-*450U;;3!##^9P9IZnta1FcpMVI(<$fG65ym(^2!(Kgu)?AT7^~Ogyd_56x8$d+C#?oU@0mHzwcY5IZ ziZwJeQoeZd9IJv2(ISbzhHv33LSe55(tHU$Q=*w{IArp208iswT6{_`HeeT&5!uQq z8}N%UNQmn+;!%b?N$Nh!D7CWOdL%u4D*|Ln9?x z1E?-e_7V~W%UKd>q^2pLBAT2C;0sZyh4oSrC{jk*N+z{IbcSR_yvSR+fy1CpL+PkI zBO>OcOmuF=ze{!mh4z7=L_xCj9>Bx_|fnTXoPQWDvd5>Qr`*o>+cpoxK& z$V9Nm0g7^JDI$Pg$4cp0)dx5Xh6%zl%-A?PRAPtUA`-5$Z8r2ERa{CU zuw!q8I?4kGbUI{^!(OBZV<0QFQTPKkqydcJgBc2vlvqRtELS8r6~Q7ZnOO-Rs`bu= z%fYT3{K7ms6!>+L7-1{&sDl9ls+UDb(zSi;JMcD~bxb=H=xBZX`*2jk$I7#5ls3;O%D7@LcgqksaDN@_2sfKwL&32?vZaZdDmgc;cjfM;fSuLhR4s8aC0Uor{3F90B0 zh8F|3_6WiU4Bi1xbV^-F5Q5VVOzRU2r3`S{tiH76C=TPXJwY(l2RNk($8mE;aLTW|Q6OsK zs4h@p)i@n=pf`xq3WoxQgdoZ22KYZfIgIH zF0NIO*erX+I0R_V)8AeEj206IkREppMS?4%roAtpV0CcjTKyOQ! zXz%o1&yuY`gTa+LfKP#-*x3zjGi%sa{vEx>3PMVqun39(WgU#f7o69pnw95JFj?sN zsA+29xMudSjaJ2m0y5HC5_UE`OpTsw#sUB)7=wj{Ga&*fFb~!%#z1u5I*>z7$2=ai zl!}VXj7oK0_6d;##nel@Q8}n! z2ZfK|ndWh9Ej>K6c|GD7iGUe!5!o=$qiEV3agu;h5r=u^XL056c;goj%%I7zK)`g~ ztkl9UQ19R|iamz>q3C9^XUSna5_Uo_t{D;y zlqUce;1X{xmb2y|oDjKCAn1dVWg}7Cz$yZOzju$+vj8Q1kc094nV?jAK`*j`6uw(y z%Uy+t)zFoNB!n{n$8r!Vt@+?@7n6+jct@Z2bxu#9q9lHa!-UFFX`URigueyRXRsuq zEHk?tB>03q3C6^@D7w5ZXo;XI14Qs3NhLklNzm-!2dHu2aTli+5iWej4M^mMhBJVI zM(0aSE6~(=i(j;1=XMTwO;ZB25)vx$0Lzd}N0vRoeUJ}Sfq;O*lwg;Cu#mpLTEy06 zA+vVq%g1jx%1oFFJxd6o04ADNiyBbxpgQ{@%EsU%(wiH7tV2klc4%GF>bOQvgD_PV z5&WZIz{r66R`of|Gdv>BE8Hm%M-Hu@>E;bRw&HZj+JIoeCX-MxV-bodFY*8l24k>t zT$1zzh$VGFfau!fYsfbn!|uLI7sf@P0-XDRi1LWml#IK=)S%2=DaQaDo_m#}q7)sY z3{-tgmm`)7GEW+w5Xw^#qZgQ3#>^pMv~VnZ1{fF|RsVntc*5q;#HvsU4<|x2;bP&C zYb{VSWwLUWfwUxf4S+=MWJGS*x-cKd0CDAO3Ao0Sd9g>2LXs8_4FPL@l#5UkgwdFZ zW~HI<6-bd{q|3O7U_yY5)XEGfv?gdyYJqAG&Wbb9nuMX0EE{>Em~cu_y6m8C=D__h z>FS{@BquGL2$JQ6sbmMnX@x`cpf3<10Z)%k2_k<4FqN=|x%qse*>yd#}<#K#GDC6+#Co(u-0;6BMM03W9q1edjyno^}7e zv)9a;nfG0LX0Nr^&g3o619VjsTZ(uX4Jy`Km#ARaX)P60!x8YA_l7=LslO3Hf+qY9 z%@Z|lm+ARfQYaBqOC8}^LR{j?Y9q_p^=TSifJL7@r1kL`8jcC%*cf_~fA;A41fbUF zPXVflzJZJ=N#wk%qOz7U43S=`up7lG@&QiC-KsCQ&OJPwvhOhG$S>y}rGJYknl0k4 z8_WY1+L*+j|CrZtR*R8=OhT(i*2uxUX|aF2#U?m56h)h#(8NY$7wO1(>4v@qdV!^p zo2ekl(ttKPGHGz3l#d$Xh07wXAf(Bi>O-!pClerVP}F#Q0wkmiE+gV+L<20Iu%Uou zFh)N`hn9|TtYDx-55=7b1H5C79X@;bH7YzA)iA>zD1Jv41h;yBLH!h@Onuq zLu!aDt`SlKe90MILo&SJEX(~i4a%6f4Kk9{cF8^7abg0)>9TGm8v?p$ItLm_?lYz9 zCRI>{Ey8TGmh?fJJz^z(d#_){G_|P%vQT*+V|J}cepyK=G@$1}^y?|`2Wpi;8&pSe zs9(mGM?yVbEVRxX4hP(k8`mLpTA>`q1r|=LKBpF@KC~+wyjymoHLT@d5}1uIdW4G) zG|5TyVT;{#<4ot#O$x0U%;7f&nq+|^=KeBH&C)It(bqtz!;@Zy5crrm#Bi!Fv=OoE z3_HGC{a~6Gq?;aih**N#mC4h&X><~B!TvT|Qb#@SJPQF8(^Z_gNlq`7&kv*Bz~bQ` z3=P8!+3=71w1eL=!X6o7SenzOXg(Qa1&w@Q(6O&-x@15D$MP1PF_tD}Voz`io+ zS5mJ8=fD%D9JBisqj%z%J2}7~RY@eudm>L`z6+}*o()hJ<}o3nQcD;F8j!30TA|Zz z3z15+G}qz)nq95(Uv0?aU=(r9Mr7Y@Ydaa0e#YW;Dj2DP5V`CGz2Pe5-)r)SeiA#( z0590^Iw?NTerX|j=b@ks7rO^WRE%rH*RcfXNqAI6;s*OeQUCtdIY%rl|I|bI!NBB2 z)(vK0GyV66WNE}UDp$eieQ+p0nYZ)AF<-`G;C=|p(b5~hFMq0JI)8byDwlmV=>vT~>46-!GGA1UdIHYKl6Oo9v?|F}6AaI1jZ zch`8jlMEZrek%|Oz-O1NYD&R}l6Z{0Tq&oe6a1;Q{B=nzM5YH%%%^7>^>mgA>D@70 zR(6g`nQKT5fCd+)pFS)F>}J_e;XmLsM{4;+%OefJwqU~@G241^KFEul7MHOnRaCAgB+hIQz>;y_3S05}z`lc&H^lCae1f@iDX-?r0En6; z1^u%H!&p5;RB(S&VmT!Lev50sjh~h#9m*f0{*?qtTscasjE`UW z4m4w*?T3FaPb&YDjmt6>fg_8u=t-2hYTg4QzSn25k{KQLlv85hYlLRR5@l z4n`_#JrdxyRN;X1cG5DJg~#dg?CdzZV&bS2c<4bi9-{qW_#$iKbc@Z0>MtmuSV4Z1 zmqNp~x)gP&*#Y3ZN6gG;%4HCD_`zjZv{Q_PZGD?~*#P%Fc*I`8#S9j%Kw3tDd>m>g z&XqfHtC;oKHT~!rZ~P=7WxcF4mWq65i)G&r8a7kD|0y=or3B zF~dxk*=1q()B$%VOG_M==CT!o9B{1s#efH?I302r&tKv=CKgh(q%QYOjh6l1=NHBe zLQGbHxgAcDl29$)uaV4x8Sybe3zhyeB=p;@KMI7^Yq1D9vx_m(szw2@P*kg6kJPuk zwp@zn@`Q(-yfwi5G6p-L!eNp7ui5IB5HEG-Z4G6`r95>kjZ$9b3divBEiRX<9BbTz9Vez*loI;F>{1@ENAkAuY~VJh1_slv3O(goR%*!ld^5!HmyjiyAn;DJZJ1#5 z@{}k}y3d;Pjn*z25Adx2M%>K2j?I&gE*UV_%W?)M$QTi-9~m}YBoo!U&ziwIHR{NY z8&a#{C};`YBYRc`T>Ni@K5sFI)Z#l_;Gd}MyOl-h1)#xQK$j+5;++hSR}0Ft{Gd$_*@CiGBF$P^ z>9;2vF^&httP}iieJRHMq&xP0a1HG^R}_e5xRFMzE*9r$xSeqlW=Pp(@fJF zYRT)7Y8G3?)>Ew~RZS9)T7OM=^B65{8P~$=K;QUW92tcH8|pZcO)=vjgyJg_kOE4@ zT(1xtcVS1ci&>GCw%uHVtGG`e26lw51dKWxdLo7Ym31a-O3qvDNs6_+<1xG9&7;?q z(XA+ms>io4>tLN7#LyJ%9B%BRwgsk>GBFjOBz^I083O&<8Lop{Q0;Pl*(eA2_y?0` zncJFh0nqmu3%DSY1to!{?c*jqBNLY|;0C0IJeT9`6x!}th!niH-)I@e`#Z6f1c^!1 z|L(xu1w}^@wY1>D4+`aAiY>HgUxhI_0anT`$iAs@UlKzBQ0qKaXL@=rd6rUW-i7gm z9(TV~ch|*)jy?Jx>?<%7-*J-6TV!GwA>T=Q%Q=&z8A{ysYB^v8)_!mHt5hRkoId2x z?zQM2z_S?8o)*A86q>r)Cmu!hHs8?L2WdsY10l)rE?Z#sE6zXGKyapmbMJ1u4e`E> zcpIGBYeU|z=V&~@C)4tv`PM}!lN;Ip9ld%(AOe`XsWt`N-VNSG&l1%bY-53Sls}3-1#c%JMfe zJ@&T^ML6>M_@XPt!KteExi7mEECGZ^*uL`o=30ex|EPbnAVuEf6t2eBV+ zK)}hr|Gt*DZ?;Z+Q~y)`^O*mm_g^gt00aR3!)O1$6#loc?d!<9W0LZcKt8)|6d!oo7Mj3J}0#Qzxi_h=l&0F5Ej}0 z5B>jhqyJOq@J0vvzXUk7qnq)6ICK89#_@mm2{*6H|H-LyGyVVK)KR_}=h6O;SZG`$ z0ANF$eh1J@3}^aKu<$jP!g%mTE;EV)QR4$DZqOVN1ZIPe{O`I8o)E?OL`?P#jV=4T zymm~@C~)C$bJUsBx_K-Bfd4%k~!95fze~iGc)!(uF94Vb=kB|b-$U5+^?CusrJqV;LzXa|Y&Nam^IM47s406?4 zfAlJ>|2XuGaE1=?PjSl%7YLDT7h~SKLphJPILE}*#EfkoLSf>TUcmdH{7>Cic+wKaP;4qe!ouP_)OQL8&G3D?j2AKT@IBd%?$SMPy*2j~cIbcDUBcLa`6iMH(gIs2_pqCl zBYPNCK5dN+>4T)i>hV^-rDuiLE3Wr>nfC0@NUobl%aFH>kh?`macy7jI3uL)xQ)6H zMM&3m>Cb6bny67GWXqTvkKBJJeY!kza^cyISH@vjD6ZM(G9ol$;@;7!@(Q3}wL$c< zB||bt6gr^FI{m{x1|+y)_SBN5yU%$;czj2juB^Xv@>FRC&~g(O!hB+VFFVO5KXhZ0 zxfMAdppvJS6!!ft^E6ZX+|1LX%B=?j&0b~WBD+Ie?C7B9b|^{DI-**>{cSjiwd6M| z#Z1`2QGe2)8(16hVAP%bLC#Y(N%oh&&b^-7B}qjHyomo;mfb=zr#9gA3FUNMMVUXSY4yOJV6JwFXUYsDNx|q%0|oWvqmUKPbrk zYV}%A;0YFf)cMRxJ&DDXYFKUOc zj{LpWv@Krk&#s7g{nyXzf4-goK)Nf44lP=L{(WCC9N>*{mqQM7gJt5IuajheI+EA* z8IMV~L`w^jR=Q0(o5YSylpWB!oY+k3wiWVZr_U`t_vBB`xa2hF8-O z=?W0M1$3Ay{ba0q(+B@n$3!kk$1yT{6b7=YT|O^DN}R(hQ<(p;HjlqbW{FxUZ57nk zsi_{tGMJZx+=m~kHw*%&?tx_GsF7n?k8&N1p&Ymi*vbe)#N7yvgeF=S2Dz2_nLZ?G zq#ma&!p104(}+b?E2FO=M=OVR9RMr?f+$lE$W+}63p$n#<>|O`J3KJm2~GlvU@rJ* zW8(e=q=Tf-+?@uqB!XNVVch)0$97=jp`r+RZubtz2{yw&r%Zf^cvL=fSdi_6reX92 z$Sq!GRO~SWulEmiLu@u7DtgpQ*fk{H%6JeHkFv|R6Gu+jFW3{&=Ti1842)XPy%*;K zXwhZ^oE)oJ?>a(El5@|y#;2UAj0vhTemQ*e)v+>&3ZNY<`-}>BIZ%<@u3X0JV##sp zV(5xgw|H5`fhV;S|1&;{JAfp$SEo4D3^q=&k+c?gbTU?EQ&061kfZ>qs&ACJdnOQhigd7iWoF5It5Sd^ z6fL}kRlm#bp)nAo14~f{sK0}JQr5CIgGGF{(9kI#pOMK;n%1^sp2jN5DOG7x>+lv) z+tY(7luQdrqV>0*le(b3wuItfW@dNu>_CPctc@D@NJRmns7^E#M`m{xIz3vK|K()9 zj%YTLmbebH`Dc+-usX7(DcCZF&?l(nhH*9^NyoHt4%sJsr1W6my=NlWqM=q}dGg(G&Z; zYh2~=eiczcfyy~WDB}LgtoRyG<@h~A0kuh$J6gEgek_NdVeIsDDr(${(Y z;uh@~>DdCo=y^nnseak8pn4`EK3p_PQgP6MYpb(&K8z=ATk^eZesq)|H}~5>W)UX3 zK@fdi9j5^d%Dd~KK1>p_DedGoNQyAfLgwchA!GX}QK&F4C*y}e{`V=Hj-P94@bE*& z*Fd-U0Eclp5)VFwWng*yqyw$j`Aa)w<0!Kw2^0#VPT(%f=yxX=&rKyzBRCn;4-pv9cO~G7(j-p0TdJD$f6pv+$zXTVRqSV zPPi!Em|5i2X2pHP6C!7fA)^tBMmY(ZrHeRzT%oLCQId}+nThE`W)vt}U$KV~N}<18 zxa<02Mtp6OGkMkdIrlnbFVk7XzrmUg>3E*2!VXPlv=Gy-j?+m6 zZe&g;gALLrggW*j!7oMmYTv87oL0XLamIwTGQtxx?V}3RZ6FD!119SI7LxCxjYs(k zuJUE2^n~#Jeu5fVP|g&J@&sw-u4JN!+m%6*EG*K(ugyhAw?=PQ(5+RGtl7-p^3}xk zNi>8)xOEKs8{?4dPJx5CmfeRL26GIakqi`(?aZ;*03-TCh6F7 zoUqp5@=MT$2Xi zs7bTjS9H<5T>JCIE=Q3M##Qhf;TTMtV-1VYlX}0zO6ip7EM+sw9K{ZApa8gDDT@P_ zEV;;s9N8b10k>L5NWq*$!)9;iL~?uS`>ovhm6xb*@jnHy82jM;FPerC+CcV5TJrpU z&f=^YoS#5e&Fuluj?ETF9`>)~d4w+<=pRAQbimJXbC3_Xv@*2LgY6{8c)|!X72&}$ zHoT^q4Xy=@8MI%W$+}6?1hD;gkoHy2;q-t^7H|Nl!VFG!R}09qq+U97-&e0oBx#l; zD*z=qbOKRiDm^(JAdLfyCKOea6MqE|EB=u{G>BftYqUh#%i;^spTDqsdf_?tVxJCD zVN5M?1BD#G5>UCwHkoYSB%=5QDXooca$jT-0{(PJXG_&<9^Pw8&9i-5AHvWg!=Vau z4+l^p@v^D#K>)0+VT6Wq?6feL1EX*CT*U)G_F>=-+~0}F#zZ&r1kUnBrW7mV`w_o# zx-(iv`(qDk94lFCen%m}iqEy;vxo^SEdPMjL1fW3J?r7oPIQ12`)2tIr3WxL7)hzjX==xeJAsM@rRS6|^W~b! z1*)&(_mXo8@Qh-xDRWGjlRJ}{jvZe38iA|t0+HWqi4reLd2XMS0M3z#x1PN-AcmP` zzk#g?k0={dKgStJiA(t-?lOgI>?7^W!P;Ot2TuZjK~(hHY0R4ZdpSzlA9F?!QBIfS zw#u5NSzrNCsORZRjYmAUy~sr|cU} z>0`*On3#8;d%b9SU!)cH7SH*eCso@I_A&n%3hq%1$bEpJd!1@8UWV*T?+4rlcZH#2 zINyE#z73A2IiY)~G3umc4EswnNa_UHvJ%u>r&63}UYT*8T?A?JL^@Ptfsw3+)^%Hq z(8=^DBSoX%K>BDY%SfR(NvSO~6%~Z<*6L>L6g5!nLEIB!M#sc8)N1B0HssNgue0`=p?cVUmlIOdC>k$QR>RC@Tlb1b27^9YOECXk`C6Aq33* z#5ZtZXBTCRKa~K|MpUW<$hfjMC~t*wmH&cMHKE-c%0+(fXP56;ssoNNOc=eArJgn&9v^RXb-R$Q(#Jfl43j2buzcQKsg*|GP*UA zpiQ0aI5cU~weheuiitD1y)t3?tMHEHCNFGAp99Jx_kSBc|6{7!X8zx%s(6aBMnEqy zJWDt)nP5nX9J!H8pQqoLs+=2i%+1Z=4L7DLmA95*0Fo0pwtr@5vOC}L#fqfPo5g)p zom`W1MLpuieD+@!Gj-YFDjqM-xnZr!k5%7LoeE0IJxbk*-3o6|R>O7mhiV;iyfFqTqzP=j{6P2H<9*rtDx%~G%CPR=TecdROf?{`9!FMMP8=K@C0lTDo zA+LE>VY!}Z(GBVJoQ%7tXMKW>^!g3z<$srSnaui}>h~6@+aFLy)pv5?#-ZgAF};ZlOMI-OFGGS|1oEA zTNV6phrk)TZS;JjE7ySX;nJh`c!y-*X~!Ht>(#_QhovW3LbqVqbvgLA+6&?<(*e0F zEsKF3MBEo$k-$yjNB9R|frG0nhe;i>`(R^Ht&y;TUHFrt@tb3N;kZ>wGQ28ZYYj#?es9gp z(@A=fK`Ey6j8GE9Z#EOzzi_q#`aZ|rGLbI{W)Mz|oqufFlrbU)z4|~bxr$tV^w|-Y zdCP;7_m}Brf0bzdeB_T^?nR=H$9*%5lb;EOEk+gkiMk4`^{N8CqQVFCh@{S0H}ADS z%ADsY%%Ye@H!>%)G8o4lfA}fe@m}bamS6?@V@>i=1y*IHkM`LJB@>Ye8!UTk$tcWF zrTojKU?OY$68wCVZ68s$F0qK|z z$V7bwKL6|)DR@3z+6?c7aJ`mI%4nzPoBH;mFqfWqZKP@Nx60yx#UY8vl^7}vb-%j% zfvBZY{X8;_V{zd+8T#%GfQ}qrqlL8`1?Q=0Eq!dP5uJ z7k3NTmR{91n&9;inw~5D44Cxg)|rCVQ-$}<%Rc#!bBAgQz3Xm4UqLJmH*!M}L9WT4 zo0oNZ(xUv$G8^rHj@1ty{!o6tCM>~ZqGA2h)vltMC~-qf;{%Vr!|=a&V58 zJdpeL@s;S%Zxx59B4I96n~(@uy%*$tBgevj&5ni1Ps#KtE9bc_Ve646+tde>P4JCj zqk{9V$9$IxIy7J9F~C&-S1HLy*Gb2F*2$x+$<{J{uOeM9h(dsj zGZJ3Eo^s)RV-fVpony;?b3K6u=J`#8xnmoDm_S4x)dAcgo^vUP(p+04O&+CD)TnSD&oeC@T z_)7i0lky?(#_VU-XAsl9&+>!8U*iu@?jrNB9TgdqR`yAHUf0_x_wbcuEP*I}N3BUf zN6Ll#L1de3;BU*%yG4d7LH0uo6{inIi+VG~XLtNg{qAPzhe}J+{*rg7~@wL>Q#wDTl$E7cK`_()_uDig1Q?HX1i?>NAzQtxSCANRL`J)u4>h%8a z=T|?xyn+sNKu?PG@qBC;Gngaou&=4er!)l zvdJG&x}r0+mvg-}Zr}S6^D7f0>1JHH7sPW z#Ma|1UWC69cLygRSj$x)_kMCE%`&BgZnQ3p8OTEgqxe>>UwVYAus<)Pdzr4u$;|P# z>--nOb9rVVfGZGRdg1-~#uRkPR3b9My>qWJNykC4WDCqQK zooyZ|TpK-ZP`dIeSxH%)SNuVp81BXd|A*~(xVUQ8R_(bxrXm6Zgm=8Kcof%v(M0!# zA*i(ESI<5${LmXgYyTEgw`pS;-aGiJ4ePFKCZ{ZNztA&-FuonYVfntXeWq9-2Q z@Q{45eo#J&VA)w*9TRRnmQrhA_y5IUab9o`Ey3&G%=`OY;C@e~QsbJAkcqqL zkXOSy_gqo-al`jlX&)ee4J1d@xzpnEAglX;NE99-H2OrPvtT1C>HHsi|C%(05D>l^(&#*=3Q0V8 zBPy%xRHl~YdY>z}<>|p$>9b-Z@9B?y_>e&*%}*Sw=3ktP^=evG^Q_uyC+4r)<_O*| zhnjDxPe&gl1uXw6+y{gAhi~hefOofreg1~GRFRzViSvDZTrhVLu(=s}AD|j?&N~H| z7Jc&3_u$tt$w5NquyN@(;o`TY_Rbp}|5Tq?j1*I2{J$viw})oyw?5%9dEPsqe~zKf zP0Jc5fJjem87~JiqZ;%cr&Uz_NuAq~!a#fdE6#!rLI;W*5T4;&@5x8Vm0LDxV)(TS zeBx;Lcdcl{>2{{RBU`S`rYQayr(B2Muc}PE^!X^xh3EP!_OwI^BfRuKJ@_}r*-;id zSpdA9dAVb#vyvXt>BY9VRdgs=YgVYR8Q!e1M z?&+LZ1z}OYOe>6Qm5cO#Z%&& zGz&vj)I^!OBui~CxU9Mldky>OBV!1YGNFohh!7-Kt?^?w2bn_JuECl9I=v6cRM;k@ zQ-z{=A^n%I0fm95PFXy|>TTNEU%1Iu&WzGO6wP64FXInxP%QfMq6?2J6kH~jP=jD#KL19v~n)rt_sLjFm`n*D;X}SUKa1; z08y#O3#6P(Kew0)6!{cOHdgmj6W$-?7mLn*WEA|_gepSoYP1;i8*=eFeXJO0d5P_d zz%j7Nob)~bL3yh|@`?cP@JAlyc|?+E=r4VxP>NiE&$@cPb$DGJyfzI{798qhM7*Pj z|3n^+a7R+x*x{oVfrFjbc}#sZFPuKk7vw(cL}^e5$1(pp6Nw#~8m4js^FBk4`S`aE z=#K`R%&2qc9dGl;oP*$)5u(mrEuA4ziVk86MEuc3ohxST;9TR7#A8~pxVf}wESn=% zk;qvC0E?%f1aoAYmjJSYr=&q|LO^&dUs`Zawcc~#-#Ext|3qG;H&7bnfL+6^>(q#9 z0}J4hN#au2&{4KX^|Q0cX&QJms0HrK&y$KIe%W8)DAGW@Qn!i3eMfjQ^7nF-7xB8& zQyuFRg6{B8I++6MWa=ZMwBj2y-c3j_P2jGRJCHcRi#Y)15y#N6Ct5v~o4;zSlj=vJ zfl(8;p|n;Wr5-X1WUsC8uhk7Y08G4G#}??b*~@4p5$mQqks@zft0*Mb>FYoLoxGQR zn|mN))XseXh=;G3!Dd5nF*c&9sA%-WtGh;K#maCo8jGY+_^G_&6OkZ&yTi}g37R}& zj=PcvP&(SON*B3S=`#S$=bZ_+nF(Uzn647Qr8;p(Zp5p)O|m=TcBs&v*q3u4BuvY{U5|9l197VI{jJz1bZ(}NXU==&N|pr*eWE2%miZHx>MlN8?5ztiYwAAO z;Lw2&X74A1Dcj$VO_K{#?6!;=h*I~ebAyRMWO=zyd~7a6B&!t=`rNH?BOi<0sy0&p{fG*q#Dv5io+ z&A^vzq&0r@)iX4QL^aCEK+GTsVci{)G4OgKEb`FYVfp7zV$5mXFsn5sJ4bQ^D2P+n;^cWAT@7jtijbw%uR?OK+0kZ1Pbbj0XD;IgL%=H|j{_t7 zNTe$J-HluLWm;|Or^#xe3k#S~#L_!S7GFXsE%R#U;(-n@i zcG1}>{_&;)kZgYz_O$Xl`<>XaDFVKOHvgTmZze#sGNqd*rfRnB(8hz4TATT)C}E|I zlM1SZlhwTAApYr^w&$~5hA}eYzMq--OC?D-k`hGzBF2a;U&K|m_@0C5ShD;3TqsM7 z(GMJWc#(Y)&5Cl58gvWMc+=_{Z&nBN#F?1VmZH=cUjLGa{KVj&MW|(9w46=@Yp@_e z`1X7X<&P|FDW^`o>dDN}G8^fii6WqWl94s&Vm1!X&#Xj3@izH&TM6%}hU;1^DPBh2 zB=XukrK|*F-1f-dx1X@(1he+U(nk<>`~X!mNEU zeY4wUI90)s)oQ&8N{2jW;#|U!4|-EAAh+OiD}=Mw0&4=s2@z>q>f8)8?dF zf)X{XgoIP$!$nBCxo>p_Oi&c3U?yERub!vjiBohLZCTXNci9hI7&R^+qg^lR^e4MP zr{LIR&U&Z^u1$CgohH>_(53bud6_Z(1yke9O^ROX72|6H<6`Jxe~5lYD{-h2Djo=L z83~V>%!<2H^vzKF^hpDUbu<|==Bv^#aWAuGcxxG2?DGH6F-?-`XxUkNGlr=u%-S*=3!EBu$8vV0Fh3%byR#e7*;8Zp&xot zwTO;=K{efkY{S)cp_=#|wudH7^^wB@WEzomJ_ow#{?UW?UoOAo!m}&Qrup2!`USfZ z{TY1@#Bpz)bh?es%Wf6KN|}1e8JNo_8b2w#L`cIu2sEKPiZ$eG{msY>RPeN9tJ z;n3Bguq{gtg8EMtfFTX=q(4J&f-NSj7;NgpGiQ2Y+|0%m6;J-)s%nUzl5jyn!$`$U zYNWlO+fR28X-K6>WUKAeE3D;Hb3T)L?N*WIh}Id4L zf_*iO7=C8JIDjcQD;h$d7`fau#w9@&)+k|7sE|bEE%)k_c5QX2e)ZL+nY5N$e!E~Gi+2T_^0#A ztc?o54B;)%HuWs*ll?)Yl#{A7E2JLIrX{uF@L;`W1REG}j_y+wB;1fgUDlTUVkc}y z+0CS!>^MdceC|E^$xYw4^L{fh0gwB_9RyaaGU~x(pzCSe(agkEOkgm2=00fvtMbKN z;Azbile_}H!2dMSb^j)30njL#2{Vc9;~*rpwlWolRt>gS4NkCLQr_yf$2pJP(zafr zS$J#2%)o5SJ_K}2P@)gY9&IH6Jy+Od!nTE2gxItbNismYYT1LoeoL> zFd{Qk9d?V<3e5swhjpZAEc)TJru00DNPSmDGqX@xH+LWUrt+zeCvx3gqa(Y)8i2cV zH##I^wLA%iV$cK!{mdmMYS0#y5HG*+v2j(EXK3{d(}{v71(E!b#NZqkhO^nRJNIe7 z)zGQ~Z*ZO=hZ7#0MkwX3I&JZYRC{0m+@OGaOqyZuy~a-Wi3U)nUs8krfdISyETSn< z0xYq=345}=V+8}4-ifx+J)NnCn@?UJMKvM(z#MDqd zNf5wmVq;%z5}I~c<{GE3c2g-G1(MvHB%3Z9LLuKbXLz5bpp?i@{=-~?aaPhK`T^z2 z*yw8jDSZmy1jP~R`U|YXg%-!{U+T(FgRy-5U^#x?;}17+m?~GyrzHPhZVzJC|Lyh= zr9eIhsFMIZ0`K1bT|dweow}Slwg(l=}ZT9w@Z5%~FP$=c?Qr^&Dj+-IvB@zRXOnP0ozt6?z;-MMY&rWrZLm45_?77jN68vQ`$tmP$zkNFH;s+m_gtl-Lv(+t?h2 zw^HTuxVL-J%JK)a8DzEbe;kzYqMhSiMd-JYW0I;{RO)f46h|2&;b>vsL?2 zO<_bU@@++rQ@`7|p5xx@w%H%0v0MonPqRU3Q>im}EUF{aUkQ2k`Qud%5(Q zC38=IhBf=17BEemMBGx?i+-x3ftkjW>cO`ZE9}pe>*2!UY^@>0LA1-Dna3Y&yT;rN zQbgP8SAmidBbSL5Qzi>x0`!ZE?ZWg!GOfEyEbllhv)IYi)Y$Nh`IdUzA_KxP=VW&u zBv;4xnu(GXr@8kHAFIuRBMv*tn zFdO^P3pT$Ow=u|6u6!&t^!+}zIpm2m0^k4r*O>wOu z+9$=rc+yX&<3H-tV>*@Rw^^Hw@`Kh$;=aH4DK+C_zMX2jM*ZtdHE(>{qv#JOA; zEeTZE6h>8BcN<)c8W(!MHcTx$$_#^%hgdOx8XPfd{?t)KPLekthC%T=lxg4Ei29D> zhDlKGy_(gRDe2Hcww=78K42TqV%fg^nO_le%jPtj`;ie-%nFZF*# z2ENYxuB{JLJ2Or-IZ>^uIhU~r_z0lEhe!PB8E2nk?PFm>KMVa#&-S2(``$OZuC``L!p1;+YC?t;f`oX(-7_cp0Y{3T*|lo70Fhr z9cSc+=Pfs;kPz{sQTypN)R1Z73bhU76>R6MFeXttWMF3AVY>I!z76>Me7(Eaj`U&M z&o67~N>Xu8vPo#r-nLXf3uhR>2Y)| z#=`7Q`1{k?&j8@lNN1sFud|WJ)8e-y6P-jnx-s2qMk}#Ws!tUCFkkO?1vQZ$XdA6BZSWr#-mF!I(Jmsu5~k@xzAP}847n1eZ6`tJ zwo#ux#FyQd3z}$syls&Eiw)lDa!Pu+p?9+tX~ADu_be6CAoj;ikl{jym4P1m;FRFq z)m>JVw6HgB2ZIG4V^o%jo+x4ht_SLz9B>!kc5;7b#BTtk3QAu+zCD?zc1X5%znfA! ztn2%|vcs5Hb9a9d*(>bSkkh@nlDX`G2*^X(4Q^~fkJKrot!Cqc3)op>&FYz(O>@27 zM=e23$`-$0x03Hxo9#!sPv?EGR<&StvQGLgJk{0o$(Ds__Mxbsf0s)bOro+r-0{it zTss2w?;T4<8#2k0(lx5IpgSf2+tRCHV@BhDJ>ik7zkTUsc|q}ogVKvEyPu)&jaYd)twn)4+iM?H-&BA5Ws&6G| zbCB}IW+xYh3ytRmwkK}h_mOk-vV&~%a=E-S_;h=kuth7#*sAyOM>`%_lz(zWXoRxm6H)U{rIw_YunM`FLSxn5!Iw+-lSYH z!g;$c>5aHVI>!!apuxfQ`l`%qbx!2UeY{_MOyd|A_0Aq>Ir+aSg}6B6TXJIkKw8 z0*H`|Ft{hN8>o;qF&7<)584OXm4M@!No}7flzv7IW{;n8`!3Oq2z>`oRo3`?dB1 z^(o#5lflCX-Oy5FIuTt|-gE=ep7p5xGYTOl>FSurw58rJ>;oP<{<+8P&`U%z)s?!k z_fp=R`%qWr<^%h5;55JVRORo$%2u)AX7DDfs&^w`b3=lffdy(Ejx`KcbdhfmW-a!OJq!;N(6HsYV6=@;@>L2GF zzj^=XpLzb7^{x5l+iRVyJ2~avIal_%PtG~}+UC(`qdijhsck%-(pQDvGgGMe0CMVJ zG!f%EZ3!!6=;aA!N0xBFQm}sYxnjt6ZIyhfG_j3eBDBR0$r7C_d>T}PRV+Q5sJ7M+$4#Q z2R7!JNTE;Fe>t_PJIIRZ=RI+FYLw2ycMqPQan(B5Mg~WqS<-Qq zH#?DrUoklnv~VTNy7d)K!+jMyxfp_|)Z-Nyg#p6EKO4qM@V9aVS?|3ib!fHpR2@%S z^fFbWKR#nBzP}4e6bH_D6WLO>mDh}OoJm~2@DiGCk z#^dZJB09Zxk?Wm=vk8jC<^82zY%x#_R-DzD% z&iPM)LoapquOkKHcTb~iU#5nQh^a25Z%FlVy}Zkxk$}gN3Mi!(9pm!y!aGWoH*@cu zY3c+X*8yROAloIYd9SLo!Y`&ej`w*oTaHe@Z8sR>|8|)BSJ@#R;ODbS-P}Mk&x6K5 zrcA6%AP%ZcbE{?5=>0nci5iDX57h7pg<|1Al~#B|OA%DE+^1iTWlJn#LmMYdT*E>1-v@&gmf!m~G>P;wjy1HE51-}w}kPK?R1?u{Jf;T}mPrAd}A zK7>n53&7q-kX*dk62q#JF9VVm9gMeh+I!~bWh3LFsu!LM?VMBmxGq@uK{|go#D5zT zhEs=w=_=zcF4UhAGO5Z$l*$B;Tew+2~p<%WXtr-*h;sYHV4g|HklXIH3j zMHwIUmjY-<%6=;6I*Wl^cbLRgs=Ff|ASZeJu@I~~z6XTJm>-bcPLk0{_}jr!ynYQO z4&wfRzS$T74p6lLk1!vS%8cIV6rrqR(xc~VbyoopBZ^Yd-|O%g%2wMPo?`?K1qO-m z*m%2INf7yx5~a1BJuhaMq@d<^Xa)--zDH+T*xQSnh<{d4IM}d?q-UYI5|&IME|yTQ z6dLYxUgo=#Gq#z`rsz8O%%)-?^)bP?bsiHi-?Z2AqVqdfCF9^oZeJYoECrur;vCW| zK8htdQ*34&p_q-ssjus#g|uf6$6&?DABiVYPZy!YJfWpcQ5ezLwvcTzWfG3^td>!Y zxlgtsAzf@GB{U7>i-n9Ef{{bs@%p3O0`xHgPEJ7!Z*@_&TdNUy36CL%Aa(>PbpD7( zg2b7{bx3lF#Pf5wATL*BsH4u~)?$nFV-+_byu{e7Ns)tA!BgA07+<|}1B!&E&jfU9 zW4t@RA`x|vo`x0lH$@vMuw=`h#<>Cw@byUm-yrlj*0S{-v%oyPZjNix~5 z!Q#5F+L+#~pef0)qNn4RV*DTENu;dIilHS)A2{VM=y^ z)ZSXg4nl49lL($L1f{4*bI@>$rJE~>ei*ji5()jfjrT+o=NLc&A7M30Y@Q9%)rgFs zf5>OJFE3v%Jml~!+XP~dg_8#+q^4(3F=SD;A`e24#&3oX=kh=yif0-W8lWS+zQW`L z_xi#94agALeRxa=F#8@8Fofvi$|X4wY{z_l;qCxEfm@qOb3C>9UfZO~7o4@T9nS}P zY}N#%8O!-O&G|-Ks)9K?k=xiPRt+*^0oQ(RE0FU~jKWkc;K*WHUj_NbNQ6)j6nDp3 z7^9FH0ge(Z7ShHC)CjP`x_oft$DELEsfy_g*?8robpQd zlU4v_{`pvHc5A6)iNtiJ-%1ttS1fFFFlAx_x5=N;Oc3UbDrQ%LW?r1KXj8kQfYnH* ziR?hd)ekF@E5CS!vLG({^D9-@={cY7y_QcWAV(#6B=yDABl!@4Ul-6ZUTiiWY9n?z zxC&2tB-4T6(yHMKAp*_RDn7G`Q9DxRfpyl$s;_9Z)jBcylXt?Ws(Mz6A;-axZzPlP z-|GcKBE$GWRv1f0sn?Fr-=}IQVoQY9>xXCz)7|l95RzP3>hmjOIi@T; zz+y~-eobdi(_-!0qer{`h$whJeCiuAr@1Sd$_kfaU2b_T7~#dhPU1vNw49V ze1ELR{8CMg{bTcTKSHKeZ&bijZ7|AM+@S)a6WDR@4(CB)lF{gTi8Rt41Z@HzBzL5Ctrbj>+2&`NGMD$ZccS|8#j$(}N1d%7pHe3%nNdW^ zq!a=bZA{c*G4p5X?F$ruy#(^%R`6hv6;EJ>dwxv5d7l}5P8pj$jB8drWKNM0d9T*_ z6|n+cHBQKjbk*F&{lUkFx|l_j#993lTbPlI6>`a)xy4BYuxv@ZeibsPGFiC{loXoq z?KKIbi6gC--MWsa_MFMcGaanEiTIzTurV%>l-GoT}K&zDKVV?9fmhjr4){aL;kYNQ_) z6_V3um2)^p+NYbu36EYAPdjE|me-472R`Xgvv#h++GxBYd^1EKk7FnNz@{*}JP+8A z9sZ77v)PZC6izyZ`D_T+DcU_^VAD4|g&B5_|Hp(CR#9CBBt!=7X0) zDqlxUG>a?AlxIJ{G)PXvE)f1&79Z{7EQ2EX(xuUfVs<(s3bla-vIb&TxRb5u0*D&T z1hDh52E)^iK~ROSceR_=W&;O&Dl2hu-gz>Cz$512#(m+p5ko!8EQ&+LIb$dWdg6@| zDGQeVhh$@6kkD^USJZg|@2i#g(&kE;tM*3w5+2U49%2^T^9UE6naFU zp5(n{!?9pe+bhYa3;W)3=IT~EJ87+NFPNE$Q)YzQ$N5_3urKD$<1q^A@moyouV92M zfSNmKU_S(_dfb&>n!PSPB++XBDvgkY{!7r~Vz2jmqXEj|!92X>gUtwnoT;%QlnOVi zOlqpQwP%jYBN?UXtEDlU&%yHYg>nVzwgDcMp1oN9O!6He;_%*oAu65d}Rt50I~Y3CS( zWdrsHBh^CuNkLK5W0-`(u*y*HbmkM!Pwf=_wr|h`bPrc^CoCD-hiu>RIOtMvvbKoS zw9EqhzNaYvoLuLHY9!vc%$9vaL$7vlhG%sERbNs*S@q_&*2@`rY@gb-iHyPZ8%#86eXy?AyCnyXw*{V3lBq3~@l^|-1G^LWU`4N2JQd{jVH(fI@Z*mTV zFZ^z|&MHCHsjqEf4X+g#8cMfKe741E!uQziL(CFI+5NeT`j42cm$t8XIprYSSh7)u z`NNxW`oN7yLVCEYFdaS5vab<)OtAw-oR#RCQ*ygT3GtF_QpJJjVEuy?5Z(sUB8_g#VTYG3^oOdXpFxh}& z{F!xvO58%AT!kDM{93o1+CI%&M@Rb&1`mgWKtspp_}ZG369L@;`%2W z&!AdZFZOv#r^a1Vvg}G7LP%p}>c|Vyv3lu~Rqgol&25CKzN&DbzNvD`>4NTow9LX78)p;3Jo*jgEyJFLe0)s`holL;AI4%r0$FHN`* zY8WYgxo-0TxqgNi_~FVp#08A*d2!YfE6EKJfKGt$-8;s~Vm0wrS`q;%s;S&X8DhAr znNXaz2m+?yTW{IqWTaOZcLyYvUj5dY8?cK7rh(LFGM`dPTZGY12kCpVY8j&;6n0s1+tVx(^J{P(V6X>f%4j6qFD*P$9FvKnb(q?O{cbsy^ zaoVhR{qfSvc`$Zt1cu~$zgxW~u`iZY$hc@=Fb9^Z1~lT05gE5%bl5|{sihU(UDQj z{x`@&B8%_!LPG+L4~cLR7`39+dssOhx`eAcvk@WOSk5D2G8xYN^1V)Q=5{m}gv9+3 z8>Hu!oMni!y1c?m6`c}BG63>3smuDq??D-y3J`xYDNu9(B=bYxNy61;(IvscSG-iq zT)ttRm{`yOa2g8>YDNocj-ZzDoV$Z^d0*$MIkN=dwFvtf5}j~!B@iXe{vd*mlSW5! z;*@v5h5R+J%i+;R7?T!sS3QlAPu-Wp3INY~NaUv4si&fZ8+#?H4J>e63GTc1VeDGF z1LNpcB+5$SdHN53MnN_#q0nGAbm$9WHUhkVrpUnr{N@4r_vP>SaX8Rbey1^Xl2_K1 z`}5cLH{Z;^@Z;#YTf4dO3Jd-ZP~_yIb^4EAW37l>ZDKfAs%5JpPpV_we}LTYvKZd+_+@U(`Q9`#U@&(M5iz zzsKW$01UKF{~0{~=>K@z1}me{a0{qyOLG@u$phJOt5g{u!_8(AU55_>)igucP5V#;gC@ScUb! zH2r6d(T$_!@A}^eo&P)WpsW4I&x`*VO11xtJ^a!C@B05wnZMe@@4oN+*YE$k%)e(3 zSm@`)KYH}P_PqEvJkSmQMg9(t-%hZ<(|?GEDExoM7|=TXXYApR{(pzZpE7^7hu?Vo zPJiQ*xTh zPkr;5J}@hap0kY2Ix-+JICS<5Z-91g*dve<0-vG{Rh+zVYSZq%9k&CkM4|(Yi4JNp z8>$xR^+rtUo?S%lf>tDy?RvS(*b}K1nQS>-vA8@cHn%I#;d*=&_uIeQcx;%sSjlGd zX#84gI?Flcfz~qW1qZ5yToc{bt1a zJ03Hjc8%jlZ{pfbFM-1+9Hw3+!#?ZXHc9CGu~K1jHqBBgj{+I-51z3-we;s?neXy) zf$wkcf?tJ|V(gsr9Rp@b^ZF~uV>J;Mn$?HikM#~WD;%ySzS8RwLaDsGa3PV$P*Byd z4b#srW*1y5DBXA6ZHtELKPDjF(}-}?!z4D=kqdarFSaP*yml{&habbM=A}%ZEu+dG zybFK|X!!R!5Xo}J9Xu!G85>CTWBfR!p*KZLKj#)&*GZnmE={0|HT{jk&y7ng`-_tG zg{W1oXX1Oz>U<~qp5vX4+!i*al2i+|*0fU?nGY^`|G}r{ejPf})nuP_Kc;VO_SOXN zYbtniz6lWdF8#$Q+9SzDN8d9Z$4$W%tDR#pEJjzSz|xtIK!af`IXuxF(RkWGzGiL} ztJKBnOK^YU$LF_(sw#BvD?luU&Ay*Jb()@)u-&lURbLJNGWrZmj%|Hl^}RTdo6=;j zlTNbACD&r^UHXA0-j6H3;^@-H4Kq9saNe*_Ixad~RgVV{=0 zQTp?*uHT^2>1WfUyC5))r+j)AvQW~D^UxTRe8}4!?`yU+S3b<{v{OG5wQ{vFoAZ9Z zn)Eb7!`iO*ocWTj>l?hdLbYP6Jrk_Bq@K?Btp-Q4Lri7F25K;^CMUC8uIEsC6Lk_s z<(E`-*M@PU@83UU`0{cZA@{^qtLa1QkHXLIM(IK-?gFHX+&7YAtg>+@jBMymZaYtJ zi7wT(Q_P^5h@@BQGufn> zSG8h9TE8&+qdq&bIgpowdf?O!uv#+PW>ykZ7!oIv+qA(^_H5+aoZQ{?aD(CHq_ zmA^+hT^9a}CI90kUH(ZOgvvO^v!0C=L_3r3d?|(a(4RIf@3?X_yv_BLG-OQZsp0}S z(dj#r77rJnoEFpi9mVBgt>n-#Ej4HGmZCZ!B=P$<=0Q0CP|tM}LCORj>u>_WT&-|C zyMI6v5#%Vg3eV>9w%N>4JPzu_=;Y6sEcZ9_J~jsIxEAL-0fR@*X0x?yQ4i}LhLA{& zM!sq_oEqivyiGZHS zMpcID3#{oFQXO0}Fm#iYw=v{H>;Mg~nzt3f0`&M!xf8ZM{kzC_aciK&Be%m;VO zuTbwwe)waUuppr?0cYm$BRm12lP_LDMRrM#F!gN-wPUlQa|-5JeD}fzRt!|$6S~wK+vJLBL2x<| zRF(lN0ZE4%wPJ)(HINALV4O89xm}vsJy+|tw-T>ZsyRTey6uCD(F591NMb4h5uKeI zT~}NUX#9rOH*rsKV@>+;v}g<8N$=?Zo|d&f9<4`^mJqffT2f5mkDKn!{+v40PVqzm zQ31t9rzzLrZw9q-l)AAzZ`vRBh6R7bOTY_L=ECpVd_;6DL`_O#PO&lWdnMm)%}o3Z z0v3ibtutL`qVNu)Vl?*L#HU4ZHh6(3`I!beUkZdHzIF~Oia7=bxbt3|)(No0+O)nM znQW{w@IoMr*;v&SIkFnh0 zT~*L8?wFmm2~!@|d7&#!&n6G_hka6YA*>B5lBW$h$hp%__`F>14v3CTSKDcBt)4S^ z>V3HF`&bgT(G#9U>-C_}v$?)OVY_geM7KuDP~G*g4LY^Jf-YDWz>sPrpyfmqfUBf| zT(<6$rx=3B@tG`XsFQ1w{2HXiiIO-S`uTR7;kwMA-r8r2K<41!F%d-}ReiV|bv~RW zN}{9-AK_+YPkG-;&b(e6G2BP!{W=kvNR`b75#Puv>CDbx$^Jw;LP_%~8;ZJ_^$&_p zOu!pC`1(>B^RH)up=hHT!TYx-FA}HE5P*jX2WT_{Fp{yLBj|jolVq$tqjyWOBnA}J zj@wpt@lKbZ4}FpBD6$8Qmy#0V#y*WL%f{b^N&!sh;%MOqgjC~$LTudEt^}N8#g_7EBqv|mrsT3IvFPMLUJUxtuC-$XH*VN zj?$P{mzNjd?c?hW=Lak8_20Lhrf{8~o2y(jplflSADVO`O;CMP>+a%&$BI7xONE{= zSj7vBP!kdocDG>|VPGs@S6L|g$%fEZ4DW7Oyg5RJ!K0Sm4)DGs6&8%P6t6$>;~0Gy z=M(%?ppy)N+r6VXw|Gz7@bujtGq0;>m23HC1@ z?QF6fV&a>!^Xi)Bi3%~cahJvEtH7)3DnyaIC;~HAtWZ+ikdfl)VvH@I&lPJV&fi+* zxm8?GzoX@b0;2VlsK_*yh+iitF7|_C(GA>+9Xq+_f}S#V4R~i=2yx^0)|6632qh~T z6|6Q(0s%qaR++Qke%C12`$`U1f?-4zwGX#d-Z~xXB`Kko&_kJ?qG;M$E}lqwRluDP zUgZzALyEqBvHSwG-wVDOCWFD6(wM<^n;kD-J*cRBLlAbY#dKoQxB4X1GT0R~U$pPu zB%ruD^7C>xMbB-@4B1bJ=ytbxqVf{Iq;+_@+!D!ze^lRPIVRkNki|(@+z9 zG&(I5J9A^t%k{bn|9PG^o(DxNpuB)qlws6@)_`{K%8hn5{+Ei_x9jqqN!6d-~XA4V`dPURjSUwepp%vC7 zNhiHJrEfpKwjYW+1kp0DSbX+4hUu@Mta)%4^cC^7>4}S4P0d|DvC+GRsqWY#sk-0) zEZl+BUUtI`4ZlKpuMXB#*`m`8%1!MBL>85g@MjpiPT8)51i*yeZ1gJyW@JhomY8kD zW2iilWdHHrz&if6+2T2hgErb`m+T+|QaQk>`FfTQeUGfY`9L(+>6g)*=(AqP|fY zQv9Eqe;P&ajQUnBfA5pZ)n`@7iHO_1#~gho;-?3@qT_>XK24a6TKL?A;Rk~|&Tbs! zXplT(N_}V!lZdzX@wfN>W%rT(f@@H`yyb@GX98_gQo)sMm+ahpnYsj3nGH;H$hCEW zRCs3K>qP<RVi(!sjSY<9V$&KVVn!pubA8+^?<~Wz)T+|i z80lxV!S1tFV6uG-J46uTT!riwx`LOoRqIHZrbxBW!=QDcJT&u_-rzkPS^=$4de_Wr56?AFqxr}njX{d4g zOE#Gdee0ASGOf8K(pd9@H^v_AdWRP!7wq}S9yKp^kEW#PrkRG=3nsg;6rwiOwfDI@ z1TU)@jX6$O9@qT{F|3Jn&N#qG5OUWi7T%}V2z_x$=I=>(2Xkpmtb^u)VLSBBYUzD3 zBvl4My%`r@CBMtdfcFH#T2i{?#nf_|mr+Nhzw#jF0U2yhWS&^L_@*XZ#wfItK2n)@ zqeW#rek3HGYsl8>uAWYao#Zl8U}Yjo5hN*EZRF&b|J$t4W|arN$r;2drc{>=B%ujPGpuWL(UJD2M2bh3t52@~#OFD1uF#$K0tQ zIcYK`5+!b(?i8YoMdC>`9=4f<S!{l*WfyhWrM)4^=918)dcZna*6jMfpqL&ij+KjAEZ3qZ8aVJvo*|DWH zHs_APnPR1r8@3JrTt(aqxhAXOehycknKnWs=hM2FCWJ0M~t23pUe(q z7xQ(K@X{HO@O&LX#@^7*k#wRRVLU`}6s}!@hlzFa@>p&0WSoj_rl>a+Z=e5Gc&(yY zdpGQMD!RqvQKwvegj}TFeGbocc~~1=>Nb2}0l`Fvymf%?BAHmjh4fWOvgwpzTdXyk z^Hd@1qLPRy74p0&Tltzc2Mz)sF+OZN_hDkh{2SyG&#&u)%H)jEk*@-b6?N`F0s|YreiHf#E`AA#d32NQmUE7v1O)&;5g`ogU4)uAp z&KTsI+bL=lk;@aNJMsFY^s4d~cuWP58bZa;qEO7&A|*sv=i}DxLz`ZJyx$4?lQ2e_V$yFBI z7r}U%n`lqDyq9QBzkT{~>IO`>7PpWg5~+v**uVxD=pc0r7Fp&}koRodNJsaLZQFBv zEGH8a6QAvlt(JW@E)!59Tg-N{S#23HbxlZ|n{E_Pl3LoQ&S|T0oqV<$(5!Vi-Yc=f zj>}FJ$cT25ON$F`ezAMs!gX5U+j|Cv8>@sl9X+X3w#6Zq5$Xihdp2ncY@+^^k6u z`Cb+#?rU5350m@1@2Xke#9^4Q!XWl3{#z6KW_DwO4UOaJ>JM^Crd-Mah5^1m-R^wP_F1Ls?U3=^V}-+w!p&#AAf+OQz@MI5a3&Xg%+!#x^S^O;U3 zgo^bQxiZ8#a4M4aQ<7K&2KLTYvZgPgqeMhzq7@uSM@!@kv|(!LNNB?%_{lzQWF+q7 zLIC1Bgi(z#jA=sDk;bKSHDmd&`cZ<^y|k4l^SLUsKbszF$HKA6GC52h*g<$_8|C|- zl3KY?Rd9sqYGd8s|3oNM$&96( zmm1Ceuw;sSljUexQAE9Mu2aA3w3m2h!0p)5&wB)!XylC@L{+h98hD9aKBU*(BeVg_ z+{4fH3(}IN!f*bZ!+IK0zsH4zBV2O9*^Uk$MFb`dZBDuxQhm1Yd{j>97D{Q7Dz70G zby`M?QS*?DoNiMhU`4UIuQbxPg>NbUSxTWhD=c6k+~GXh*g~EyG@Sil@-zMI3&;A1 zCcI4Q8>ZLaZKJ-=AkXUCX~NuHqnXfWi-VJKf?~sk@XF*%E^}o%^iFNQXnw&rEdewRzMB>J^QrxZmK>JkF3BWLnU%nJj0`Fddn@Y)3rp5p zPZWxg7k!tUErdNFi6!KH;?}!2jlmO@#{C1XZ&yi0 zs}e@Sy_Gq3{X{-{<`u_F>GQO(2qhW60k28uj=w(gyL$+KWKYZCDUuMrA-p2vzr=;L zrdUk1M$X7_^u06WBW5!oBL^{`i&vdKtI#!8=k^QyYS4>;97(i7d(^?n4JR_nSIv2capd!!7;X52%TZF?n9zP&v|zRFs< zu@2e9oCZ{R_UCUV&a9@E9v0&L=&z^u`o2=2; zg);Xz0yj_zHe|Iin1+j&rj2&k?YpGh4$|1$9s&DV4jq5kndBd5Td&dUb28zW29>2x#u0 zIYe|BNaSxoAA7-bal#&t1Z7~u8o|CZ8|~9liWg?dt?2L|SQe4pQB+5jIM_S{G&EY; z_X_1oq;JyN_=wGY_!7TTR1xho4rI!_bJ|n;ZrC_EDA2Sut%3`T5RpIbd?8ojQ5Cst z$vh6Sy!}LKrG_n$xkO+aQ{A)0M7c(iV$1CkV)nDo`{bu^cLWOwH3xWq%@9%y#Ab!Q;-ERyfah*?85AXUhMz<#9jRK*R9YCX zu0GUZUK%*IQN~usX@2}%)>@!a8VPrauj?uW zB7^9>+Bi3je(w8p2JBfA+8Nj9%wuJI83C7WIdm3dNDbl=pHLj{#&(XZy({IRY-k|8!~915`j{ zg?%fn5BAxa3knz;(N3F^HW3!RgOm2D%mH)?CGQW_X1})NbW~&xI~4Le_LEuiOXH1T z&qVk4t3+hTXPsU8GB$wIUDkwy{o45u7&Wu~;V0XCK$da+K3_^)WKOACz&7-B(w=bD zS3J+g!ePHsA++UlN!x8l8^={M>IdKJo2fvzr>zf+qi{$2@2`EY-Nk%M-@{;}9ZNWB zk{Rj6xpS1i)nyiLC=5X+u@ZSkDrcUyJ4TCU-?nh1T)Mlkoy=*htc&>3X-6kgk0@v8 z(DR)6$P53M>rjG`1xeQ)9!oJuow{7gyUCWs2cwX9!w7nTL+sge!sxo=Woc|W* znr!8@s-orM%f;Fb|ChCmX!_RZ4BISYyb;wxyq)0vU16LtGTtlt=LaeB=06`wCaFLkj;xr%Y19OPY7K}|)BN~habUWWcu1J3{FXfTs6E}U;d<1J0 z;*<37uGItBoe-k#sfjyTsfwq#+YRDT)*f8=f6S(v*mRmfY8Hfj>ff+cin#Z^UU!{Z zL#fQyr~Y!+Ef4 zPm41@5BtjCNklxZmW2LuN%z#R&%S>T+PDPy)QB37-d05qUXwK{sCc@$sxf7QU$+G zfIsfugkkhG9HUjC(r zq`rz0hirLe3=*s}ynk8{JTv2e3A_aiSr=cLpoy^SbEkHf&1jxHT#h{;s$N%GqMsPs zSJ7-u3cFPKUw^dwhC=+TnlCBi1eC{9L~Ds8C^z9D%4_;GG7G}-=(rK<$vxNRZ0gXU z1}JHyW3f2}$=CT17ASr8&%RiSMQwe_9w)$l)_hlT)RQy*`DuA#I*>prW$!DYkLpcB z$voTrBvuTQwhte}#G{iGWI-PMX+wHzBG#F5lI7UA5!29=B{$8LFp}W(E<%jg3>Hef*Yx7;j-zDZt#F0ZIt<0bY77S$$V|kDi}%x{ zr{tCkb?RJ^kJ_P|%;8gG&eGvhj%L{SUH`I3s*q3u)1@)t9Nnp!n#ru6SD<81*PN^fCd^B-QH1oW;Lw;;jLzuYMy_k~_ zENdNv?3~B~%8f^n4rI@8qVB^1Q%+Qj5mHnW#FM#-Ue zlPj1;#U9jo*lvBzQahd`l6vW|@slWJeR}P~S|KuG4s(gZvPE#-Dw;9GIepuNkysxy{)kpN8BAqWyztjhB$Ek-~i# zcSX3+geW>wZKTOU8lg?7X?%vUyr2N&3I^dwjpvWq@I_Rm2yPh1z?-n0l;tEC>k|iU zYjT~b>spAA0_RZFx4Bbur)~2JB&!{^c4>)$e#LTkrg$?IvzQR0 zC9CgB$Q6v@jp*zAkP=>^U>q5w7#jeyqZZC1dH~Ir8n@z3hrR8#Bz3|Vw%5|{8DhgN zVhIxBad_}8_N9<+Gf`oB)KW3`kcYAFj9>_-1LJ5YP8?1J#RQWU8=mW;$?g%FV)a)P%VB6k-h{vwWx9a`#m+78ACcrq^+%MD zDZ2r}FS74CruhrQ=%;KG)6bnr!r>J3nrD9N$+^!M>dNih^xMeq`k#Dzq1-rRNS4^h z%wFVCZC@=MHfe0OzR{<*V=2Od5#`OUN|hACGV@*BXTH0EaP>pM;cgq@a(+`mA??U<+yRaJ5J^gZPYqoWiJAA@DDq7FJ58j(BC0jeq z)JAzHqF!h*Esg*${6qQEPMnG2$43#cVblX!gPZS|?>jsZnG`x2oT0~-*I6v-!=FIb z$$KMAMgaOx5I&D1KCuI-f?-8wXtbP^>e32v1yRh*=9=nDq9|{+tOZrZ#fq^^xUZ_K zcYX7*SwK8wXU^dQxPu#^w=)346R$45Pg53E(WH_`Mp=Y_9SsLN>nH7SV zLB30_bs2Ooal-b>r_9gqXjta>m(xOSh*T2dI;3fkn7BtKZAM$1=7J zrx!4>GY_I6B$>C|vFS_JzQfC<#DSOn3f_WpYk$QQep5^8IkV^kV!IQ`6N;0t&f%}|XdWL_@T**Mz)ZHh5A1ok zAs$f7PVMppIUx>C)a0fX*(ORDSyo0X%e4@!HDenIREZnu3jJVh+VX9)65ff=HAMBva;@+rpX~_#jCr zBynX9Y~C#28J?UU^FW(N_Z&ZOfL_h+ex?Gxr}k$!Coy?cQW@fVSPz*Xr1GO;esUNM zvq|i&t!R1mDmAx+!_Ic%=@SaVU11VqBQj^~ z+^-&MD&ZbgfL=AvhtKs%cT~OEW5I!ZH^h>HKM{jasR(={$Rs>D!VJVSX4C0oeo#-H zs)aj}>%&8i1N9}05!|u|ttPW7IElCGte<6LF=J3?A3*Lz%HO-?yDz`Zg}FtQMk!s` zPk8Id(m)=Ud*ANoc(rV(BVLH9wZ9BW#};*)9^3{T?Nq!6dmF@}gU7<3?K2+ce2t?= z!--D`;D4p;;2AR}8A-W}*q4Baf5K#L#^%9{xe(G3zeC!Bp9`^9n|fV zEKFD8)ZWx=HdsKoTcb77&Nf)AggUF+W+6ITBuam8gVrYZ^+HZDTj&mloeivC&Fs@k zxwRc9ezcZ`AX%JzR^Ju~aufkcYf8sAeOn(}T^A`F!UJ|CzZPdwYu!^C-f%(Q1#Z-DKy-{Pp4Hc3&Z3gq{ zT1AY5-Bamv^tB~L;RKqn1rg$sF2geuT>6r1+~S?teS-W_5q9-GWO1SB#b$TqXVz5`cy z{R2T_@CJw>U@MBmi?-?oRby>}rHxrx%Nt}h}W2d2- z2$Tp}XpSEa4X(a3P{M_X>N_dxR!=CxXBm!f?IRzLR-b>zL0XQ&un=Ut6dy%em1VcKb;l11?At&0;~4P0Yu!=m~51oBX-h& z(KZ_dZ_YxHEFsS~?iGNN=HTQZz&Rlt2!!@y+@XQ|CZZGu zHlvSwx1ghM8Bln3+*3|tEa15lN^nKGLjNhw3vM*(q@0(M%|bPoE39Ln_y&abp7<9j zjpnM&WyxiUt(~JDU8NFJj#74XjB-?VWT&E{5@R-Ly|+CM3-*NX_K)}X56gCTb#}dF7dzkDb+G&tmlhY7mKRqRm-dqX0hn(jR;dil zkBQ#NtJP_!t=&yR-#7#!4}t+vP>)w}zmnwLzcIgTxour?<^4M9&RV|yL?HG4dsF_a zaZKeO-t3s=g5yWCh6^GauWycC`o3~#G4mLu>(g!+?9J^94pZhN3z{q76YXrf|K&$v z{wC(}H~-3S?j!;AM1)qwi;pKRJ+PPSu>;Alvb<(`jUI1jS zu%R>i=KDEhrmw+26600gOwAy>b4^nD-cCG==~WY-{HNA5g2}nQlvgI z86orA`O!0yLr)xP3r%-S<$d>c7x+cWN&%stYvmTFbM!H0Y|OWqzn;il=g~&W(OPfT zZXK?Jqv#u@?ee*1KA-hQ@_(2Ko zO>77Y17}9kycsFR7GID2J}VpdeHxz$i~k3AK#0HCXddLWy`n(<8|k)kQ5jRhXh}&! z@p3(c#~FLY;f-Q?y-c!|fFns?77-b25!qt-M!fezh$VoO6s6e{zZ>X6*~D^7{wa

    CF%5+thXb`VX#|GPH0{coOuqUCAtqQc#ft4@u5TL36Vtu{4o6U4U}Kr z?&t>eX&vlMC(IWu7D~u%puqJ_$s)WEif&n3N{3Pix7$*edLRztZ7>YPt) zD|dKP&wJn*#JtvM$CLb`e&UC^!LbPYzT%>AL-c*IS6Y}#R{(wGclD5s`md}H-P`%U zwF0!-b6Y9Kg}NK95<}#Ns5AV0(ZdK_ctzjKW_u`#yO-0rTH8NOpoVhqEEin3J9w8G zx4$>8i%cF^-1A9{luu|${BSv-J2K;od}|#xi`O8|mA70ozzZr};k1bAqRG)UU@!lY z!B=u+W1aQVdeMJy3_oAd5J=2tjQx;xd^>381o~7bpp&10EH)u;N!LS_(8u2g=@d++U_;i z-uH(t_O2w|R4=2G)Y5-NWBly4^m%+8)lL5SS>6KuReDXao_U`?=jT`aF!O4_d`DU1a9wS4WS_n-}sY)H)~hJ09t-n3&AkV6tyl zrp+WkqYXqKvd$~?W$##GGTwOHArH!{u3;09rOY3}?sA_3_buL=vE==Bp<@rJY6&UF z{5+B21cX7#ktlx?E-ngg_ zoRoFzwLnJMqeyo3Byw zo{n4Zr%*t8M`%f%DYddH_usrjj+-k+?p29?TZB8?|7q0S%JxtXBZc8HhAMUg>Sas>vS+OdsmDy#V%W9P+pRp|O+x|zhqn%FTX|El{FD`Hx{(VQ) zC5HwBg`kqy$ZOU=L^Ex}(B3A%UHgST-ow_Yry$1lT>9bWi$$u!O_{9YS#QhyLX}1# zjpgunU`m<=-ndoZiJL}Xy=@r!8-`!JP1IeR1--c5C5S$WhduKdsr=Inr@$L^GR2Jl zDJC|)dt740O%f|i96t0L_QFJz_APcBfq!g+0a0r&9lMLA8}NQS^UZtn^m-3DB4Yk2 zNP3!i)Wt9I1T5n4ycu+n)FO(;<61anHVfr@+ynUNHB7yS_dycVaE{WRk;8QpVg=B$ z%KI`joM)(K&uwSdt#`V30*Gtn_~a%x>Fa;Nu|5t!xVH!be9Y$x7TN9u9rXU%Ptmz& z(;IWQGb)N)5uV&)_Q)Zgx$NR_58vaWxpJK%tlN_^(Dt`&z+ZOPCV<@=@@s(>C(~|q z$Vq^GSWx$ZB7FQ986wl&l|;E$pT%1+i+Ny`&9v5umtPMQd^wyIYiwi99P80bLK<#1 z&2t;973(>y_*_GYGl%^v`J%VftF@128^?9zzUI!J_u!J34r;ny^h%!ana8o>2|D^_ zIJXpYq$leSf3^v2jSiCDkiR$0nqlubu=-CDfjl!%JcFt}z3#h-F*78`rEK`}<4ZQ7f{k}5I zZ8P}y%6nbctSO2!OOi2B8x|bES3~MoC9U9&w?s4NU1r?hQ17Zu!>H87b=zx1*bvS2lO$>OXfE$~}~&2hM%pE;g}+(8NAd4isblHt?ju2P!J!QwLPvDPJ|1V5)qXUB;N3xp*hiFyG8G%SZ_EGHsN$Dvp-29w}$j=gcuxH!{`dWLWL7mc9D zNu8wrO3H@l$D1ftHUA#0HnwIFDXrv7^1Uh8h|d zH~mH~Bhy;cTpj2ICreQq|cg&s>EIpm=mYGm)Tt(g6Omk%faQT`H?kCJ=~=li>iybTU!?*~AUr+p8ATkbm#bZ2WiHSa-_-A7H~--*@(mGSQ?u;UF4t<`OYDYRzn$!C5{AEJGZZ5} zQ#1e}8?P10@sl(A0NjHYuxBqbR71eiASfFQuioA+_);q)I+u?xQR0>bmDv{sBw@6d zARA->)MbHkx!UbUjsh}98zf|{)5p0zU{D_W0`kFU1XoZu>l;&V867&!ondalZ_cRu zjT9roXp}yseexx2qu>$DPH0vYr_-A!0o6N;-Rdo>ew9Ggrc*T@j48er?;7SxH(32e zy_25PeN=C5H}&xu(?89a2o72(f8s7`MyJn4f(}|`a95}Lzh<>}2nN*>tyq8Fjid6Z zGD?U3E41k!QHY;jJoSTN66oFh+$iNH#wO=czf6PlVj398*h)Z(v{d+N8o9Cs{wGJ*-D5(i(7!Ss8|rb;6A-)K!z>SgQpe4#F9xKsuBm~ zJLBd2B8*cXqo(&EI$c52^59 zqHp%!fOisrO%o`-j_<+;ZX8f*9~``*Mwo%&>PLhOz1(G`F+z>aA;~;SIK<_)VGX|I z8wM>9zyOoVBgkQL1~U=5U7%(7Ww1bNq@PJ?SJYqBK&m3v%garo8Xoj9J>Wx0ucj!# z7{-J_Ac+N32Bd^aIDG;ttUo`qf?i4=iI>?rgh1Pd&y=}`l7 z+?IE|KpgVGq2q}SA!lrR5Kh5q5%40LWiV6%LqBhTArq8-02FA=` z2xlJW80nHRabmz#)GEXTCh56=j9#C$_{Ju!)nZLaRt3fS|YA4#+b_u+|_{sDfEGlmTHT zU}U=F9SPXcY{Mv{2N~yvyusjD7-UHxk_LAu! z4;ttD zxg)Ou0nbM9xTqKUGdX#OzH8y#xYE82LKpTj*bgP_;L|?=Y$5*W+8u`4!GSXE|@`*DH5x> zflvZCN-G-RJO=OJk889Mnf2_!AN$7y`avJ}lZk7`TvYW2 z93XZL6$8>IcET#2z{9L-_*F*;#EQzs4elHxK6rD;H8Ce>LF6M)BZB}%Lm~u7rKU$@ zaC1Vyp77{5jw_yyZ=mM9L6jZOfhm-FRv_%_V@itfvFVM3sfDFn(ny3D35&@`AQLdD zk>Kg5*plFc@sYr2vW2xq5Pm^n;-zb;s>vj2MtP zbJ+VXatI|7Y+(S0-3aU`2T5?C1W8I;2 zb14%%-rbN@gZ_e=ue;2BN>8f=PR zBa6w4g=ecm;N!%B2v08|3);dVy3Y|Bq~a!)qXuwb01Zk~rUB#| zl0*R$if~!@Lj~}h2Zz2`4kl2iR`ViVdx*X0BL(b7PSWRvOw$PwkUmF*!5tjRI;eYI zJIF^jrJElDOYcqn(&b2r03qZeJX~R~JWD$dz=3|y4f-;gZJb{h4JyuFjbmEE|fC6aLf^QT2#+JTbb6STV01xh%r?e!1 z+2^((?4vS@C~^2LB~nr6#YI*v_W^ zLt8nW*dnZDyfrmZHLw6wk%7j6Eg*T|NscqFh;cy%@Mmeze=s-!gkvd9RE0o+q=#w% zwJV)>1!}ubU_l>nj6Y1l1urXUsj%jGB#4lfJBpD}jy z2NE`Uj%=DN+h7bZG z^f1EFf%gfANrE_$2ws6zxt2TCfgb5OP!E(1x}1FI7cG1%Zkh5z5DyhiUrgIk%#cqSxYL`cLW?{z!vO*rsu{+G z?SfJUjG`}+FXC}KXp|E}OE?J7Nwa*}lR)K!{e@&`G?A8u6BH2g2R>gl1GPo~0`y^$ z2n^B^NCXK0`Yzy&7uA~wJZ$59Mi765YhxA-N=l6Ls3nN-fixcP0-3ZOCg@02P=#_C zQjlB)?`ZI0*{2H34wOG6t4dJ%7Ylab!OV=W?qg1&Y_L!@d;`Wo^GFnPCk4u3po0LK zPt$>{1_`({iI(u%parX4LKWWcdj9Z_cWe=0nAjJo!(rsX2?DH6NiZ0>APfn%(K?|8 ziQpN?0bwwDSHJ<#Fnm5*7|JWbnHd2fP}!S4Oq|vn`fvr*Vg^agG)6Hqek#6zQc+xQ2>#16JefjpCgN--b0;ZUPb!Wu#a_>B!U zmj>aoFH|L1;fk>cqN$Yu^%9&E6%HqW!-HIsP-;*EJ&1ygztG!2)i=Qyz6qk?3bO&( zjrHh|hFTPLTn7na{3FQN3GR}$Pzf}!3kYEtAb{2Y2M7@Y0t-OLC>-VwAg|>>BaH|W zqoJEaga?p;iIQ>sie&R6CQOBe@UN<(r-Z!b+v3Fn_KEMVW2Oj#Ph$cF;am=c31ocD zQc5#j@NzsTg%6M)xJ9Q=^0>Imu2(spYz*wO_pa`Ur z1*ixy+QK~#ohkz~7XtrFKN~;lCyqdH1+pckrDy_x#I0sJ23{;Oyd_r-pgf>5@$yKW zb)Oapou1+37vyh9p&|^20tJc?3jzd?*ULBSCbbxj;3K0U;VKGY!77-K!DEpzv68@z2NtMtLCS+jo6XY;}(KkU%x{j}X`IxD(Wi#Z&jRN$YLrs8V1R~z}i~t^R z0?!r%aFwJyWuSt4h_ee~?3e=#9pFKLO;IS>=GgoPFt0*a}S7BsNe?%MmJib0^>|N z|7ALaX`Zq`K52Lep_1o^BF6v)gckz~kIE>`p@=uJkxbu553nyx-IOhZu&7ia0D~J4 zajPtCIg2|nP+0O1fVQPB_Kde{X(}{;xhi_iO!5)1#b7n4c`~{asb}Ep0sRx_D#z~c z0!+GsOFhR96ET0-cp;45Mq!gExDc}v6b(oKxQ+_N6xFImojI$*;OAhRm{kaPYBC_6A&9~ zF#$jobQ(f%$t@++Yw3$Frc&nZGMQzoe?z1*wJh$4WyuVp$ZE&fGLaGccGET8q2n_h#sk}6120u zFWNHlnvu_t>I>sHk(Ab#n-#r(F*FII%ncxY=%7H)Fb^S!PnSSY$RmO{`jDb-BOzOZ zS{ZEGtDxi&69BeBr1fPio;f}ftMvB5;q-%m5xD_dFSMC<~3A@;0R zATIWzG_#8gC4^_2WN;E5qBMeNfd9R0!7vBH82T~Hh+)ZyVIu&{#(5nhE69(K>dhIq;n0+n&|^@r zP&J(71%b$#(+IqQ8#kyhPF(^?7v|mO6{n@)AaaH8Gbr^)e>|@+A%<0sObmjF&BT|F zJ_^1Vosios3qU7-K$yZkRK-#-$v7e3$OAUAiS6hE?%5MO#3f`6TGeHtGN>YDRH_n; zTw^B?uF^a_yG=OSKhKEp75~J+)_|~Mlmk{;NlhS!tD;6FU@nvJ5m>EZBGM+|(BV8o zf}g~1_5rpic@mUEz_)qAbQJRZZ4ym@0`R4 z(InXDilF-d8IMP#qJ-a}+-nJqd5Jwknh*FVu(Sne(1xYpu>@K~0NF5NU~>ZpB{xsU zXT47$8)+K5Apx zDR%{R7%C#d0f}sGz{TUJZgn8yI}M(p>EruJ9wZvG3{K`HI#wh-Yyh^DrVIzBtw$3$ zs&}o>GlqTO#l<|^7?&W&2RGO*Hrg)0lR80rqx(iLHb8n0bc;t2JwBsx1tc;M)sQRC z5at8)<2rkrHVS*2Ea5mzxx>hJm3U*E+=k}+!=ZA z87Lh&gbqwH<#wRrB$GcIoR0>n>;RvbEguG^bVFn=To*1f4y2$MzUU+gZ(^)$Gykxk zs|rbD;w5K@_l#^l;7{P6E9&Vok0%4Xl##}PTLuC-3TC{8kuq2u-5^CHBE|*hFbgZ< zp@uAKV^wLxX3RiUOVBlsxju=q3@<|^Sb0AqfCtoAz^jobffsROunNe^2RL)vyr~in zLUu4R0dx`u1K1wcXamD%Bbu9@dyKwa|W8|W~3s6jg0`*c!(U5Bu6q5;b8g@IKY6BgV9N>KuAI#1x8|O6NF+@4jV}X z!5JPMZ3jVHXOuf8t4)!xhT*7ozR1BCm5OfB_$&x5gry3Zp zErf~Cq%@g#1bItwIe=j{7$JwQs`vN^1vykiETYpn+cO}1bp7EL1~wh+#55UEAb5ce zg5(HkgIMrO@Z`Aw>xy^F4v>Hdq`DpX_-c~ z6SQSRp;wNXy170hfCp4q@HOd!#E#S|QV!500e*fL)eio?**SK^4J%XgWC{} zSMX~<8@2@yPCyb-WqHqt<0txQws1OO?7)NZb@H!%MgR}^x!~$R%mdY3$7TKQX9Vzo z6bsMmc@52#6;d*F%qflU}w zU`-#jz+jgli6#wsRgFk8?&2vGBBOhP!(Qou^nK%MXw!s%bZI)BCQVk!6I8+)9SeBlthEZUXPo!I1qHt2yBS80i^Sd5pQb)X&q~aj8usT#0bn8NCbvHW+#DR1;oVk3P%;XVJiwm7a(!~ z0Lox+@cIq9C^{jVB7+IaMdXu_X%eD}n7|YXY7Vmjvdvj(fn=#9^$p|(8xZ(NJ;6%w zKxEOG3%?GvGr`mzhEZB4C1PCKAf@1z`wLks_jNkP-BOh|h0DT?2bO zjACZ7ZrExh<(Mu7#CYe|a87{y((f}!J$iwJKl>#jfMhNs0+quc4*>|qgk`8002pcm z3?x$VSg?HvLV5ud2?VR zGmwKE9`q`WLg2z12f)aTk}-#oK|pFWgJ8&U&6SWdDJ!6s00yh0G0_tDNkdFv$&~A1 zWCGdS;< zhd3^lj6x^?lL87F0}#F$!HM5SY?YG+%$em(5V&0N8OuHJ1P2TOh%kc3C<=cEP&myI ztRc&=aj+V(4^1+*=0Ze-5!nHiv|!SN2pB^q;9Q}DR4h&a3MZ1T@QiaG*k!@j{3lLt zkc1F5Ym|5pTOcBx3*G$Z1=j=yLO4GuO_LRC^)veU;62!I&^i-C!)3|KHm6LU1yII} zM2$kFHYtdNlM@?zWubLKL4`~H9I#J`zmP&JAm}b8V77sg5#nAnqDmKVY)GBh9G8b6^FYkwkHJYjR|8 zKZAk?4leZIj2ze%+E#^%95?`oa-|-`SVi3eVs>~WOG83K0000000000S^xk5)JXsU zVs>~kz_tMZAR(~c0nZe00sw#j0U0X*%m4rYJMh2*55Qff8dX(QfpO7}wv9Qts87HR zJO^wJ=E0h4jWtHcXhxGHy%@TZu}q?l(L@yhxKUJ9RaI3@k|aseBr%Ce+PP0oE>8B| zdmo&fob0v67#*XHs;a1}iHS+urX6$5wf3BA?zPrfYp*rN8lxR!tahxm=A3gMoZQ^p zoLpR799-baO_C%@(l$wwG;NZYnADgUO-z0a0000* zQ4~c{P$=kPd)4N90SfDE3Z_Scr-8`FfHFfk%8c&Xa#{0!BpiA3#5?A#j8h(uNm$Fu znFnVi0Nv~QYBf4z*ZI&Sp!uq~U#6MYtlNfb&j&I#j@A5OS%=qW-AEs=x*A2XT8Up@ zK;Xu*b$~xSIwV=Cf$)H9D_2JTM zAJSPjB$Z0VoL^w_^#RbwVw3U5q}2}&vswNIyp|DXyW$~{Nv(FAP69M22sL$~MGy3> zFA~+-TvQDY7fQ}ZEGRRH7fbdsCjh|8kEAdSS7$RK0UuK{HFTaAEKelKqp*Rnflwj| zz6Qe{a3-CCS;A8ocqNO+b*kg8%_MQWZ1bHk_Gm6OCgduK*@oc{8zI>xD& zSkQk^ESEH)2BsX1`DlK(2E1DNHHdWJBVP?1-NSz zo7g)*SrCN&wV~Sfc33(;iSve zDyf&5_-0PfpqJi_IW3YNlAK+3n;YLt4 z{+bN!SZ}gsv@(b}gQMWBmy9sp+n+F*A7qI*8(lUUpI)|pQ0KN*^RhHY zgH={HptmC!PCO|o=iJ>d`oj#A+RQ$MTjiE1#WSh&eQ@eQ%|0{POD}I=>h=AJNql*r zR4$DM#b4iw>{GGV4+4Qc923!NuR&6>&!3>tcNvWUno^gUI6%!Xr^lpINj$+0{Xl#O4RSe2)DRx_yG?i4%77K*4z58RGzQ@jeOUy81|v`fF4sA$!dvq_6BA^p5AL5>i*{sCL9+%*f!L5>PMct>9F|r_Gl{t?IFEr+Y>4By z^7fUlZc3$nXrUA|i-t}_rSbzjmZdEvyrdvdR?n+Pc6{bSqq6uPbZl=$4txI>&-ZMk z4JbnXMLxV*fngv{I!Y^PNVTjY%*46XOBMov^rGoFl=~VmlC)71LSn|Ct-90YqdB=} z!-nE=0uig!!g&1VLZf2*g5c2%hWGJS=-D;h-a^Ge2QwU*s4`sil?;PKY^uhl4h11V z74@Wq#lO^QLZ2bt%8z-5I6dwJiO%OSt*)Ez?PZ|`jPlsXtdKaF)T6rp17c37gFM=! zpAcMD2SB@R(ug3mx`0z{nATp_;2OhRF7bdlh;Pq}4fKhF9cSBcz>|Oe=@17U!S4bM zA-8$>tOW#G6MwiT>kS?5Ei7)mZYu!6Yy4{irve4H#gqOKSp}GL0OJVI;zKBeP+I?q z+f4Brf+Q9!Zcmv~Wy8}A2K~)dyf=qim9$Kr%Vf9y(qwMc;l)7pxlRQA2#l}>SM~`a zFXbOHtciHpNaD`Y9x`7Y5~0oo_*EN zfun6WV#J@12!jiaLTRVr^-A1M+0;6LR&@i-dpn+`IUeIPZ?4KfOi<6S&aD4B)m%-- z3c7+MUSlDoRCMK6OWh#B?Fi*Ip(6Jbq>0z}-)iN}KQXearH_!aytrTDdSkvP*Z5wDVLr~5h&-Ym-Q%_XobOiA8~Zz7d;@W^dZ z9vxR)50sQb{DwVLgDA-Z5M68Fj4o#+w+?USjw-W2y*(5 z*v9QonyZnC3hv`LUp9FAlAlLax|(5*#WhR#l=2>$EA zkeOWudw_vO?>?inApo|Xy-HNXNu>iNy(M$)ujCPq_HYFA-PxDLgStNPG!lN76p^Q- z&=gwsaZL4G#m(X$i%Gv)!G}pdgJE!eGnGQCoM;@(nQ7^@;p4v*XtD}G4?xVn^M4lz z^px#7D8ouV81C&U)X!5qBlR~t3|*&y!YF0avHRQLXJR%uRBrUrmq8H9vp?$-uwVhX zq>_I7?`fHp*0mivFhU0ss_zzT?Qk9UW)n^Td7AMgI@$^1vlb+bguu~+l3ZGe74~%0 z+EPcB__Lk2aCOuG5KFZIVRvc`-F%g4Z4ddhp?~Wf?F({J+6r^UQ@R|N8|a3L6T|AT9u`u6TdkbX^Ejn6~{^KTEFAc-WN zc~Alne7b32ika|$-i-d-uq&g_{Uwp!gJ{>9W${TIB2j*w{4ohd7!Wql^FX}oN&>!A zfis^bHu^PNoQl2ZhiE#JGIoimhQh&o_h(Hq;pBrP#?%h~7zeXM>0oG+{%a_&uLJ3> z)GJx~1{VbA#dGEW1VxW9;9BQndo`DY=KnU-&6i(Wz?X{jOs6W+IkF15%1vbY1$7KP z8B|r=LwF_mnx&DChVb^+H-{yU9(QF*6j!97Hj9(6qS!NIKFur=hU)rt+M&mt?GGhz z29^ZbCqP~4d4-P-n*W8V?^csWc1>%by!uzV z$se{^G{d|5DTt&4V|-#iJKD2R5PA<9Y9Uzy(I{z+gDl#mWr&_gw_hTNXOutwp+Tz= zAX}WdlX8Vly!)lsxnw%=H9H+FkLE%cF0uEysOONWOy8@$h>=G|wM&7!XfS-#O<5UI zinJBEl(MMIeyP~o4V8C;rdB;Z+`~mxRpp;BdKm38&2eBHcjbr3xpgiQ#1loGWbZMr zjg0Ou=T;Oa37iqVx!Xqj!*c{+qfv%OH3Ap+2N0n@*oM+uxN5X~9Ail!{k`$!<3@(% z)MoFKmHYh6Q`~xakof87b7loHq;rIaqNEKzcVcu<@74S?@z=K&3R{a`Sv&&JR=S=t zmTACgnBJj;DPK`WF#a&qR$iKh#Jk(6tZ|vfWsSAULJsxpK^WtX%7NdlewaX;mo1KQ5rh)@y_V&Af5RY*0?YkxxE0x_RWA=EQOjRP$mL=QKP5Ra(Q zk-%!Z)L=Kxlk3{UDNkfn3JaAQ8x3O_LLD&D5HqJ0ci&)x7%;p>7i1m~Q23kR!NEf% z^gUd+0=@$f8bF?%(&uJ4SfD^8=d1VCpk(Z3V(b;-69-_;-#6KbowF_3u649cunQAr=vj?Z}~H z3>xL(x`B<3TBOA7k|Hp+D^(qVST4Z(YARImWGZmaWVCa=!*r6@%b0m7iVky;5b$~z zHCnESn+@iH2Yb8Nbm>4`q0I(&^+INK+9+X!AujO*hNh??V_(}FxF`!#hZDBANJp!@ zMqLEbyd~Ovs+6TWWS)^2KMou~&0T7&`+W$ikdghRxB2KL20yW~0F+Awdr#ubNVDH` zAaI9)TJcBdx`V`UZdxyo#n%*cDkkzSTu&8?iLw3MI67Aco56RbxJ!|&LF`g0S%v6x z4G&>xX`dG2V!xKfG~kIDkFI25)wtsr2RMfs^Q_lybO{D9vsw>h(0s5gO=Ry@kb%C5 zmHJECObD~ja6bjJ5c8abxZoJ&g&Axd6k&ES)6AMFhXiqnY8Kzy4kKAR{yw8Zi$r&p zqPS6~T~FB6fUVgwhl-jcyfi31LB6l5oZ{iuvu=~j5Vkq>Y`J;u)?2!I`%X5ydJ|V) zp~QJ@1J=zRDBRTcBgro@Zy+MROR+msFSm9I9z`FSn;!NLq)mAUO-$(@MA;0|iMu;Y zr)p3pLQ-LNcBLWn6W5@leS{?2MNG;)mj?K^dME~I4RFjj)(g=mLJ3{|`ZZ+Z@BJQd zpcK&5KdbIAbFTHMFDb+AV5f#pdnuYK?7Jl=Z;iS@=7^$>on=@VRc3%c5K;6UfaqC2 z1BX0G0vl?ti;ZLzqCHqDjY+0qyLuHe0b}mB)}j&z4^BI8OQwAy^j%Csn1OS3cIog= zh7rV@OPKIMRxbeiHA&{drqmo#;L9%>U}bE~CkN0EcWLZxa1&;+8AmzMIBL0w5<~!U z2|a9bwlV1!>{P7k+c6zYDmh-;=pFkU!F*obn}014Da4!iEAPEOkkcs#RTJ18lrHiR z9lB@9wu|Y-?Epz{csXy}I@4?i1MeStQ9TdI0eGr&ufIx| zVyDMYHYcYPeexwzl~SvWUWpj{B=>y|pepolT-TXTdCg!FXZ7=NoN*BG)V>|K5)GB~ zi6IToOvbYLgS)BazuM_A&56a{cd;Bmm4&7xiD(j)|MeTDi7*;=X#pWn0INbKgpec+ zyMjWzNf$!j=dDcO-Ge|4QZ6;R`hxsQQPl}zjC8{l5q=SnKl4IcY%K0})PUco^#3x_ zD>L_EbPp}H6{(keklF|`G>K$%7&Z0!&h6a5W)^+7aVeNVz>w1I=(I6ika zn2MC0l5HPlSxRU2#xq~c*9i@n+)E5Xn=X}27>u5s&oY@A9_3#XA)Os8Exz;bXH|h6 znS^FVKSY^7es}x*ca_;&JVSqx!LpSi#iZRu@6p{O8Ra1r`@RJWzO!`m=C(EMI(ZN? z4ArS?A`^*J@6EnGUdm4r&IBx&OlIS1pAm0jkos{i;#w$X#XC5bvv+s$G_R)BA2;th znU$NzN=Es3GvB9SvQgKXnyq_Rs2MuTlMN%x|7zf-tEfPZdRViZgk#80>Vmx zT^LU-(Va`D#VhQ%Vm_jk1$mE`az9?o&x>(7r;3-<-c0H9`|Nn3yTe0{0%mutH0UTO`$T7p=9&l z1tf&RpPv(C9fdG2C~hD0SSI&*A40wL69~xN+LTIqAw-Yr^VmZ)BXe*Iy%tqSPvN@U zJR3(?{8sxvz*SkJIGFRr-i9aLf!_aArYia=TpQPo1d(w4hD$Li*G?x|1!Jn@dD@g> z58{vu<0G0P7wTZF8p4_*A2bI|aTX-KAsKN-Dhq5oea{C?1J^af){|0=Uw^96i)3qF z#qYMe#g)ak+hJz1_xWBufg?ih3*v&fYO#}l1*$QRD~I3OAO%6yIlZ|)H;(kyP3iB= zAwWWOrSO&ve9(+j?vwnWD=- zofs)BQTd9>ZjQcw4eniC#}+@Kb~3whqxo#^b5^H;1v6EycD~9#m|$Q96rTkh5@N>e(24+ML|_))q}8pUoJAc|Li^gCUT%8reMRJ3_44yF_&Ic~-L;Bzmk2c4=m|&e zC8jgqIz7_hCR$e|u$6xbHjC*@HUxR}(CzGeQaXKjQr`QaK|&odkj#r_w{B<8$;vCs zXQva<{^|(_U(5Ps>GU$G zh1t`s&*jx?`0M*wpG0^3)h0_nh?5`!K{x{&A?iygBoRuD^p)BPO0`b4Pg)r`D0TCV zP(C((IeGSIn;m%=OQw4JT1!NCGrN0l)6Ytlr)EkoHJRMi^2UixBwG3fL zTZjX4`LS^35)I2X3w>An(J3FaXk`zhkqMG0D;5lsq~FsWfga!Oc7kx_^nc(5epWd7ByV2q>=Dq%~Lx~Cr=URx9QpS zPPMURqa&#~n`dGT^yqc$?Q;KY_NxE4Pumm1%lLfuGvm&4u`=IV$Qk|(B?P{0&b;Vv z2y|Q7+AWVt!{#4Os(aEY*$In#cUgT9GZMO4uV-YUN94sN%dL63oNtZvI=Y8|Mi1Wc zj^upzYgspzYP6>vgvKvYMcvlj@S< z@MYWy+0#8Eo3gDyd2mIaOY|z*W4kF>q0zxS2=ZiZZuSNsHVZnFu1 z2A^>P5VpMZ_)a|JA?>Jbi1(czo;wY^t;M>P7Wfvv(UswI17asJe5Sp8tNo7|47D#z zE-W~yd)klf2|3-7Kh*vmX{$rzy~ zJ^?~O7<(`BR!#Li*A*yMwMW1c;p+}_FOW0OaeGFWh5LGcg3q|TL}fA5#8rZDy!EZw z*Rz~y@Nc`Uw?>rpw{g~l4?dXg_Wllvm!(9)y~HsyFLYa8c$nr$(EoINf7h9i_fGFE zHHlSmFgg{xEnU}!J_wxKs58hYb8(x{T!>p~QCkRM?0 ze!BYnU!~G^{lRZGG`@q+cUO`Dh6Y~wdJjdk#7r; zp#MPLuKq55HuBg69SkX1V{5UrFbE>z+=xtv4bro5@7K6@^K>oUjZhjk?in?g;^RS# zDE3wYxpX{89&WF@nt139EU?9h;mki+8;rT}d|pk=uWNT@Yub3^s! z?on9f@hCyW19EG_y$l<4PpeVvrJ4|KBk4+J$QW=3|Ka*yoYYK*Kl2~@%kY(P3URnqm z4{ZStCQQ8R;~EwB630(oYArTd$Ng++Uu0nFLFtD+zn-6VO#Us1^d$euH(l`_JmlGH z#B40A@2$LA$M42)<-eb6Z+t1f$|3KFrN#Sw3}5sr`BeGyes5Bd)COU0(5(RY8;92$MEv$5gF`yK<2g&Z_I4Qu{B|2F2cU2B}0e(Om!%r)(O zcU05Mx9>NF5FkJT0Yf$P&_fSJO$fa=5fm{r0YwZ&1w;+KL+Bks2SpE9K~Y2R2!aZV zNJp_8+EI$-#p5~e-uGMg-Sz%>>%Fz^JsT!_KC}0pvgf-dGwYj~x&KUHfIs_K_0IXb z+`-Hom0~?~#^A6|`P;E4lE{blQ#4hmJNQyF{HUCg<-BoDt8C&33e^u4lOr{!K*&0>edAj_+sg)l`_C+nyjFLY+iVconv#7q)NQ{f6fs>Qa@37}@l=su zIv?OS?Vj{#b9Wc*d?Jseko)NP57py&JKxd{wO%<^|KqZIy0Mi-dE1*V7qf~1={UZ{ zK(nRex#gKj3(EJrgIAuOpicD9-+qIO0^q##Yj%$>E4N)deE0n6nM*YO^{hFS^_o09 zm8*+yZ6l+6gKKRu~Juv=6>@?ryp* zZ?KdT|NU8&_nVOk&DOLV7P9J>JFauP^9vs#Ef@a~5R;6;3K+Pq@op0dq6427qRP^) zJ&Y-gjaWY(gH#FXl8E65gCbgXoxJV+f|g1%$PYwIUtT{W;zbU6Y&%(ED0?eJtLGbk z{tchvLtpZDw${{aS+9EkBGhKI#f0^pA%2F=?Av$IzeTU2E!YUg_On7Tua0;EnHMUr zJZd%w)Mu)N2RT-UM>{@m7(PB3<_y6tr*f-myX(<$2NXTwKB<@k(3x!}C6#)KaF6p2r2+Qy`6ly=O8ZkspYKwRjT?HXV8fLsnQf`)Tz( z3I|n5-;n%}ZUPof?_a0I1o|j>IcnzQ=hD1OSzDm(o=eZAH6fKo58=F<=6deQ2Hm(I zL9M0|t#4exTgc!O<4UE>2*OH?o zcS|by-mNj^&TF7UrOS4r;+K&%0VtSLF;Tm(Q|-Cg?-66ZBD3<8NrkT(6$8=bzR3Wg zqrd{H(f2IcZJpUDC%*`EF;ACDcr#EF@-zM<>4d>A+p*lt`HKN(=r`$xUSag}3Uw9O zoo@ML#1QMa-8C}r(>1R7V8}jBLzmfCaBgI*+Np$NDbBMw9ymT`W(V!l^?3Fl>1q@Y z^cWtJ0c{BQtR6S30X%sN|L~L#wQnU&zQBmJiWM>u9d;4qdo3`MYBb)tpv{r#c@<8( zeFHY8p~?%m=_s84y0D2nQ3g42~Jy=;7rSesnFL4G8Nnp@xFtae8S(dQUg|QF*U} zAPDQdyN{KsTvLWbf_TMayxZR50b5HdA=w$+3A*r9Dq%_Yl;M6e$nwOyIvaHlVJOXk6nb8SreuFRxUvR|(Wh(2z=)?U+_fBF#VM7cT&o{*Lsj9SUbo{t6$XtFPafQnw8ClfV>RlIynVI z+*-aZzs_~M;btjR49Gf>{w}i~g)*`Vw@(KAm&xkOH&LF3vW;Df^445!I^rj{+(o6x z#$N3rjS8WtC25pVe~v1cAtZAsb;msTLyz63j}Il$FL0&bWAb) zP#=&2B(x5t|JDe1B|4=wB}jx^n2}^sIL?{Mcu^rOYpOOO4hn|oobIs(*kg4nb_0W~ z<6O|CtOd;}U`EKgR?@o`U($8o%ZvI;e&FMHru))r{%-pb!L-#!*4INLnzZ%(9lpOy z;7Ai72@_E~Fq&Q0`=I=~dT3YJhxD`X=(j=QQTxA`nZ%Y2p*r0n+`SX$-mNDYiB529 z&1zJ}J|mcn)ZU#qICffz5ZPORgp?@ukXdYixLF4(D{4t6HJB z>V_Ou&?ZqW5gdmDqj|mjZes%u%vs|-MmneBGnT_|9_u*!{m?+)Vg$QKN$x;=n zMESNjs4fFyZ4ADs8^$&Po)HX_&0f@G#yxOB^?}ufB{b756S(w9nG&<8MpwhOL+0i# zt_0{Y!^?Hw2xqATp#rnlwhY%urdnEW=^8=TA?(dk3zp&c+q?F1|!QYSVQ#_+LDX3!kbd6v4X8keTDjO zh1^NkWh#77)Sfi{tp$FM&Z9{ZsG><7`)>nK8)~wi5j1b2MS9f7TVzI5lueOK zI!!W{Yhvd7!#!TVXrAxQqn9a(<@XXF&e3rX8AGa8KH#01U}|3JV?`|(4k$|4vnvR3 z(&A#hPht~qcfyfe;I}VcU3ytSfrbT)DG|U1Rz5QJs9_ znDtXRD{gVd%mW?Zr`bM=6AP3f?}yv2sa<$s^44V7Y*dU?+AWjs1l^~xuM_Xg_Ivk- zj++31fi$a+47p5{q!5n|K{o-Iz7ZYXp6Z>cc2w6Q#F>Z$7YyNJ%%Os9dF@R+L(J4D za0QR%K7UT!br9NttjLIrCC%9rN1k$LPe+UT(}=~C>$-{wPv76aFgc}@#L?lee$~>r zIK+FDX;yT@ibI8dk{grph(?h-Y1XHe$x*}}+0*1;0z0IG*LZiP#0XLy*Q@mslEp1R zgA0`g_;H}*o1Bh!dM6{TrD#4zhh>89_p*hnb`N$EBbo+^6daPu)NsjPpdMECRSnSPe601y)NC6PGCJVr%DMZ+u?R6IAoiq!s%?#9T;@!Xx ziB`d%r>@<#7Mv-4MGZ_|!a5~2xIOj!G-nRV(_Kln0!~{GN^b0nzq=$}lEixRVjk_1 z4ks90Ns-m&%J8+~ybdx&7hP?;Q~oYb>)_GRn!~(ABMAQ!T@U)n%p>*qJcx;GNiZy$ z>2DCv=UJfWk!{q(t&ni(j1tHP64iQNma9k^9HW)`NTO8dgS1N_eaN3#U(xT2(ZT ztrjL0ZESv<_!TROv!#u78nh+e0Q7FDRx?5KdF83phmdT6qUGp?YR~%_yirXVNG;!G zq33;7bA)Sfll)epd$2mii1#1?iU@zetLpIFuUt4HwD)227oOCf$S4^~8bqQpBlOcD zz!eLgy?^s!P;mK>+G4`SLB2GB;v?fiM+$>G>Dl-cSb-#ok@{}FK8VS0OLel$8DErS21iqLZ(O-Jxq{ex?>y9j#BCQr^1F6maXZvZ4!hu>U` zWV8|QCc2p8-Wup6Z}wnfyh#!v6qqy$7>l{sCCf2_4KR9YSwpZB?x~IMq1-cLP@aoa zfBcYb^V8(pkzlzWK_JufP1+bWa21Y`b=a)7TOXVcKMlwSJE9e{2x9}Kk9(n4J{&ur z{8rutSJQs6bld+^+5#TT3%tH{C#-qeY+6d9Xs%HbdK!J6yWAW<*kc z+q5q$r%ACFIgQgxHG3tMGr1S# zA*#6UFs+iV9Z`95NEn%=m#6xKhb+kLPRb zYoczG@r%RYz77J^V}X?TVYJEoghp^2ioNDy_{N+XA;oJe(u%t(b#F<=9mdI=pEE{S z3?bm-;zMV$$QGS+LR+Os6AwYqJ4rKW%gg);_uO#v$HSl&fIw?-ki6^?cXN*RDH?zD z+9Ws6!5D(FjMq_lfgDexIzw}Te$3^ao7eo$3vvXDeNI_sDl#E=ihkvd$;BD;TF9R+ZLvhJHLMFKlH{;32nYk)ut4LNq8_{x{f&G;tJJ zSb$=u_%=Y`Bzk5PcDz>`iNLf&6aDwSZMsegB|<3_V@6ZQP&#oXZ^*I+buf3kbH24% zoB{MB)_1}k8kZB}CN4XB(T|JOeDJ{g_|q)OD1v&wY@~P{a`mHKy;rrs&FBQM*aC+I zMPh4o*ut-gbuTtU$uc7|_cdF7Q`V3{1o?3zk>Fr%dNsNrMhJG?vPW0ZpwTQlF`T_i zI(nn1KvYKa&9y7*D$N5bilWYCyEk3^#41xBD{ zfmFUkJTTC+=VVs~A*dp10x~bfClopJil6&P_^jyV2fVJBC>h;LWxVBo;C9Fo6*akV^V`SRy&{A zz6U;`uszE*etE&q08UO##QY!(wt4+>MEBab2cPy6Qu6Om8(DDKOZ_cdU2uPC*A~`7mX$JoaQfZiX#1k;oOJrW2cn;&})OPiE&H za;jo#tOe(P0QI(`I+SQsO+zh5p{uZS!6{PdSSs`~jlmPcb3mrVjn`^4pK-`n@AB2E ziSgdhu6N>A72R=VK3SY4d)tW+920bDJp=k)LZ%2LAvN7Ti|ATPY70N=&HWgooP3we z5W)Msg{r*FM(yE3>&dn`G^ByDpU9mX)m`}4O(u$PoTY`I&w@Ru%fD#Zv*m&k_nRKp zuan%RTrOBmYYGl;Q7eY11K4e_AMex&XSEH=~&hIUXj=FWNojd2le zUKlUb!KVzHp=Za3AtB!xO0Fb+)I}UPk}Pm!e&r3hU;2J z*s$!xJJu1AjGKt#NY`OzI`)K06V}LC*#6ic;sVcG`X)oSEr!!%@)dQ>gq!ry_p4CK zN+jd=)ptR`)r3d|8PMLeg~17zenhZ{sA`GcZ;gBJq8QxfdK{}(xZ|;+FK-x`s2Uek zjbBd0p) zchlKv!Q~*~cnMi)%y9bJXBzl-W5F7SXWXIDSQ(L5e5q4h8B%8E#&hfhbug!f(Irj4 z{z$1U@Pi{jqdV?$S=jSHY+sGHs`sre4;8TPQyf;?O4o9v&4BcNufX?5)KBZx$7sh7vlVJ8^Q1c; zo;8MRkDe^5mt=ndikD=E`VlI-+iW}w+SSteHQTM-Kex|+ry6f89ASuIM5K-p18JA1 z>LYL6_#pN5o?RvCQv8;1htli3*tfnG1G@rKXikPE=!ii(^*q)+qe>5C`U>C1J#d@B zY4K72-YR(#PWV)DOUlwJ!*oxSA6qvhmRBZ`!ge5DEKGD%=n@zeY=F?tTwWu_x8LM? zLW@x{G)RG6$Y!j!DiL$;kdN!x7FDl36ONM35$|Y>ntpGudjli%ZHUsVSWH+e)?G!_ zcs`Y$Kf?ASw9@c%$Lf1OQ1Ba%hn!E?IRq6M0mmJoZc*0ZeThm@3Uh|A%ye&Wr?Z$< z!4jedKWzAg&nIh~u$hz0ep_y>KRDwXb>E^do#8VXwl;QuQA21t%O-Jb3BVY?uvsjK z1?ufGlGGOcn>OEtX};Wr1CS+&+HRa7@nMY+g1j#&=mytIcsn8S;_1`pDaG2xsj@oM zue1mIa&wa@$k*^Zy{`VKNR!zXM%0_^#OTO0Zo#M$e6Q0AGk|E-T=e<0Q0ZGS-e+W* z{Q->$_G>nEwn02Nu$(^n#_991%$AlqWc)cc4)hhl%Q+eoW2p2Z(=h-0(It1pgvR<6}eYcW?>2g48GN^l-|Q84L0#?t zD4efFl*LAy)9%3wAZ!+kGF7y=%D3>zetBB^{oI(i272$YfWUe&oR}~XrqWC|Ye;Tr zJV1r)kA#=Sg#hi*rf^bX4jF!XO6~p?>82-^HlSW7Bbbz)$7{#L#XcEx^wALXO$Hy@ zHM7M;*p~~~WpdrH(FGK9Ig{sQ<(=8-e&%mnMbAFVOp1%+vD0*06ne9?g2bv9a#PEY z32JiZ1qt&EZv{!Vua}hecOANQihn>kRX$1b{4OTTFW2j)twT;!bL*r{b-!;7R_Xqx z5U2IBSZRAu#}DRWztCi}==Dm6JxRLqB|8q=)a3b?3IX<)-$$tf+ZB-{zI^X8b4C@I zaD0qh=@K)dkg5f)rGAjI^!1_!BU;2G<(m0 zgeSpyqX+|G^?4YkEPrjbVDc`bcDkny zF8?44@mZ|+W5t86bRA9mI!q7eKGH`f)keybH1N2yx*jVOs z3IQg`Liv)1N7#GJf@j8t8hD50Y96L>|LFT>Geeu~$9nw^*(m1~$WDGws=}$^Wd?@7y;8&XwN~3a>T2Nv^EsZ8)FBf@6t29-_0O+Z^DPi_AV!$2+dXj^ z`y)s}2Opc=3u>!uZ6AauxgMc$1?gjH#;dhhnnY8p1Qd}x-#q&DtI=dVEiu3V4ei8= z(d@UlR^FEFU5eQbVjaRRkupv1e+XK!mwwy6mDu&*kaBoZ$1ab_8V7^EGM(aL1u2sY zn0(~2#MaAw6nQow9rY6Z$4kOfq5^s=rEq|L6=!Ls;8X*1e4zDp;*FWgh0Fzt8xS8( zMi5T>nzF^sySsC4d{i5h8C0DLlV3F}s7C{_!GedY#*M*m;4KVYPCmu;Gr-|lQOTE< z0-@JnWvA^!?aNQCo-xp?dL0fSfM>&wX?zegOl}{qur=g8(v|F3HWOmOy(+K&itwaF zU;3G)1@QZ2eriT){1;p*ngjIVP>ebph`%G$FyGS8W5(J z18V6P&=SazEBE`xpzP*T!)kBQJZ%YsmJS0K3-=`De+O#Z*eZ`Lj>w1ypSc=;(={h@ z{|l23{A9&*1V%$#@|0{!KW0aov>#OR2gC@L#gfpbBBX-RQ} z%vA-4#J*!D6wa_lo7(KWTSaYe}l z_^ry|n7Bmm{Pr^{HTrEL)_d3X$$y)Fyuw{@wp8NqOZlb5JLNQS;HqZl$|CYnqybT| zpN7%M(fVA=G`ROku;6N;H*p{dx{Uf#&L7*~V~4U*!8CkoT9h;fE?G%}qUAhiQs>(J zK~8rFG&{Uo_ls@ft&#*L=CQ}IM@%=Fg=`XCT@JL?=rz%_itpGoej;^dh?{}hguHbVF(st?^{oL5W49s~lN2y3O$+&4-COXE=x{LF2 zShlKXJ^#`(4~1JpXUn5mM`+~OwUG^Q^p=hO$hC39!m2M>Z{%x770i1l8i=?1B%l)B zVOOR}Ntit5L8mlTq0ikGw@8c@(Dl~%16k2a>L*pn9nry4RvsxSm z4PhH@3IGn1mCdwdwv<|R!s;MLn1Y)w-kBoXx9rMMt)(eRi4htJ2>LgSA3BXJ-f z?3M|>ZzL-#K=xY<_^>=N)iC*ep(p+Acn@txQ_2*>t;Rkn<)`^BDYrt#0p=3Y(X`bC z3SukIwXr=6CX<^Qqp(*ZdaBY2ds*ky(}v@=qC2+1$>H$)FCSJ6)NK%Mh*Psrp$<-a z?nb)g6vNu#RFenKPNBtq=4X`2+30O8c=fZz_31}W;th+4?s1*>9hAN)qEj^b&F6|o zD9zZ`JF^~qZmq+TtuT-C!pvG5TJ|HP4f(CQy7LG@Fa9BV8k9{6G}o;+z|mZb3X@P!IUZ$ZItvr&a&LN2hYRNXBA<5v3Os0(7i&{O(_m)R(% zuBkgFQ>BaMo2{sn;W^;(R=y!a((XlUB&L;ldZbEBafdI^`I_Gokqq6zff!;KH{)Sm zT-(;9)%Si;C0Ev_=d6o0`Daye*E)MVIoDoF6udb{)SyR-nDS}BXRBI_Y`>E$O~h*8 zQ@3aPi050T4sm;*G8FkdZ!FtdX~h+)8;E4i1t*kwNP6UZGbX&#_tb=qsS-kkdb3v6Tl>hGZOo9kOC1J1#SD|3@9&Vw8vSt6V4LVT z;*Y+i9}sHr4mKNoJkG>DC%sfw)bL%_cvn@V2k`Lo{;4iyb}U95{;?gGI(fpft$e{R zlDI#g*?e%_zdt$jH1182Li9iv5nrNfM|e0E{m}T6y!_f9ySc8(7h{bO)-deMoz#qD z1r}|l@(u%W4|Ms#sd}fS3SuW&*KLnT4imJA(A@s=0N;8>Jej*TgA=1hKjK{SWOIL- zs9cYbuI)_@m#!C!d0C|LfQCZBv?!C?M-(P)cj^0d<#}KY30`ci+}WNs%Sbj+eb|F- zA-O}L=kNF9VV^7@Z3C2Za)x#Lv0J_R`sG^r5vYL>Q-K{x6P53ziqeY(@WP|3q_^<(n{MFk|O$cMz$ zd!6Nr-Q;);V23rzks1D@Z>E#>F|5~SxVKO4->$o24k6?3!fk6iFLrQyiXk0^;x0!> zx&;8|t{kADk>JSlMEpmiW~)Z_yrP1>qp9x{EM(H&3k>Z$dbD>k07OA|rq4YG#Zxb= z$%s6!!Q|zk6Ia2Dx_$iSQ(2DOD|No+!7q-=FN(g{hp|_aw|&MK2l2KwWxH~jDcGKv z9eJGlRCmulL|b_zkTE}Jo2v0_Kq5|tTCe3AA`L_xHxStk)?6YHHef=6pU|?yaKsn4 zO@j%5%zaK>jF+~fv)l9zIh^+7gszJ#gw%69uRD5U(cjQQYu(@J&D(-`&n*67w^>dq zGV!5WjPhFbP*ul8;g_~*-QF!1Ib-A4ZA^@7Qpz>~uAVsUr;SdvMyoU$-LBr-G&><@ zy0*WnYefWW7`9`nm^VYZ)P5@Q?VH&RlXf{Va{3RW;ii+hkditzC-ixz-iy^PlIcpJ z1-4pNu`ioI}g z1=`T@6&c27*#^j4Gu2>Glbuv>xl+d@qT~(IXGf}xbM!hu=_nUS)KmS;7O4o+5cm9g zAAbxIx!?B&3W-!)KInhrCZAM_NR$^b$wvtdl%I2(?+uh~dBpx*kX9tg^ffsZNcrJ& zRIPwG6j~zLSno?kAMh4l%TG8Oqxn^-c}j;4OVj7#!?t9un8DeRXKdi^-byB4biQAX zbUneZ&&)CDZT^_61e!z0^v~(`8?}_f4-1+_q72b!UDJ}}A~Gju> zA|O_V$aHqi0QrFXeHe>r5dm1K4Z}nnmOeB%(9UtHU48x*=yz&&T;-0L625>3+{M~5 z$j>tle(G;V6?8t}ifkt82FJJxe&Lj<<`|V7J?~@e3~`MS?f7UVYf)+5zzJS9?#?&} z#GDLZTQnaKRU2;Qk*puDy1<#J5E1g4r*@hE9ExBZk9yxqs#RuBQ> zAzVX@AywB)td0>?lVPbt0O#rYc#S02(T}k-``}IuXJJRdEr=`HMzp_J(XrVddn>W+ zl=Z1_C=wYI-%Y+1GvU0_5kzp&h_RN%Ksx5^;zTkfXL9fB12kohCj+unPT^?6htH>g z^HugJ27+ormmmy#T1%#WZlT1c)Pe@dfotU%B6p<6ubK&^)>1wV&q*yZ3whSO9nsZj zrRD*AQi|Jj7HTJKM#apjGgv(})=CvNxh_g8?FG3`ALA5nJ{X(iGYCdI^~G2FG>beJ zA0h0AL`n0@WR`#zj>35&2W^Dw_Jo=I5^?OW4Yp# zPD)0MmthkrFXeroPtZO`8(R#|nUzU;FSKoOKXPdDVh?6uNjlcl6ZS!b9}KnB*1~_v zjAieXka16qDmYc%P!e$M^oj&unC7Uq85eg1MP{XiFVK(vUee%F=i_YFj%D2^$N?eo z_?^+7DX?sBFEXHl`1r~ z;C6z-d(`wTn4a|Z-c^R{>+OS%TQStFOB{n2!i{LT2K$eG9tx*$)asF?G@sF249`~y z^)+_KkH5T3v+G&yGyF}WnFPqw%pFo*4p_xie$v!=vp+fco^PtZiU>|*2}%fPqvO3# z8Xtjq>1o8f2S(Rpw>9~_U_UUCTu`y!!q<8ATJ}jgE9L1T5BGh@E-#0B+WV%eB8hf4 zI4^wkQd;tfQ;|D3;z-`7zoRg25qg0@p+L04akxz8O z;X4&0*?fB0g-W-Z5Ez^hunV%8a>V&RGB_=%s4T|7;YXXpB@*mFtxNe+3AC^xyEN-y zzm6U)1G=l1#6##h$^Ovd>c7n#@7u6J}L6MIOcHjV{z= zU$P@CnY^YEkrTS5M2cIi!m9=TB$5v}S3_>DYwR}=y&qU%Q!pOcJH2nT@j%{O^5KtV znff_|GZ3%&!fP+zG2V6w%}nvUh*Ogg%AvFyYqw{ucHL~swBlmZDCc zU6@r=i*_rM!~`=iQEE++!Qjnwe^iIDN5d}N$HJZQj&Jf3YH@8C94jEr&5L{)1KMpf zo-}YV?c%&bzeg^+?oaj&NgSUuFk7HF4P#?+f7`!4`Ze7}!A2isSP44Y2TNj~ z@^IHj_vfQ7-R@XBhqQq_jv~(PINt0@H0tnGJ}V%K;crqk+&U{so;Zm)LvSxGP61YBI@CEDbMi)~;YqO9*@>7La|PXsoIw{a zS!dg)sjJ)rBhEg=6~XA#Xf|&NU#CbHr3&U9mn@FQNhG5ibbqs@TKpf|cdDxPB zr4wi1Nnn`ggL)^OCWBLBBcyB3qX{);n=^En^12rzzajG{>b-;f0F#Ul-~ za~cXh4wT=YN4`QG>E%%`s(E%HEd&9z;9)PIEo}SI%%-E?je`cPJY%)1Uf_{g0c;VK zROh}E*8S#ZX{Zyp;0Fg?-iUg0=H%ZA5tkIYtQIeya4qTr$%wU(rz^y{9|h5#8g*}O zVDZIhcY2p{RHZZag8rF9=2L;Al=|qSSh<;DY~?E{{+dx(GX-^3X>(%<^arvc_o~$6>s*q&=tcSgY+EDEDO8iNqiDK*&q1qf zfhAtBZ|AO(l79I>r&hQohW(`H1c|{}*%}%QoJW1<%j7tXoF2lmjxDCOFWi6r@DF6= zo`-bNLd+bt`ixaHiQhGyQ3Hq?*Y;pv?~3#E&I) z@Boj8?UiFe|}!-Y6a=?Q5^;w17x_MWDMB^ zCU2TyH}U&Zak@OB{%nSKJ8Cp<+3MOzx+1%DV?_ej4!*+w63n``TPIT%m$%C1rQ?VYSk2ZsQ3F-3u0I#JTi*d%Y>R+aXS4 z;dFB3H+{gMW)oeJAiP2u0D|IooilZ3y;|BVF+`@=untBQ!Ph`BT zr9CxYJxmcRs_;_vNvDSAei+tSsdukbDjd38~}h}#fczbG1UkE0}frv@>lzjy}QQc zhgRPsK-Z)Lv*P{mI5+{iwVdgv`XkeKcTEOoM~MA`nV`XQPUW3aCqOrlq6FMJOXZ}x zA3<%00QEy_u#5?zyQ~~U{oooKexav76TCMF%q<+0(B%is#v$QY)<1#({iCok%YP@( zcTJI{EH;wlsk}Z?aF(z>QW&WH!w;eLg#i8RhtOW*VyP~k(fm=c`^68bwFbfv2(&dp z91;iZ!)pB~TH_!<16iLZbpXWDS)CunXTKnkEV~UP)J|FlhYu{q!tqEf789!r-(Xc) zSNb!nJj6&|fcCl{2w3~^*I)Gl%Rewy_(?x~_bc}669TZD^(R68;{V3lg%1PM{{{hb zM%+P7KhKZ6o0!O+x!^mqDuRyO8dX9JbB@kEU<6>6aGzsunNQM8Cv&foR!ub zozVZ1_ILe%)>rgjWIt_w(%(88EFEnYwzRTgohAkVKcBas;cqztz_1Vq;9#ZR0a&l+ z0R#YH-8lKH4j)+7aF+ZR(GGoLVJHjy`x^c&1z2`}r~fSBf2IGdKf+k5Kg0jFKOE0^ z1OzB+{{QHe|C9dsyZ--KfBdcUul>=&YWGiX{Vo5$)gRWzP9#>g|E)<)T?PN&*#Z7% zL;gEAA0XnS|7<4ce-7S1p$Py8xBr>`&&NL=_{RhPZ{C!J6d6LS&S&ixW%P*yzO1 zsg4op&*_d4r=hu%HOcNT6PDh;(a&1^O+RN`Al4KZ!em9nSbUZ>%kE&UzM6hv%qRdL z*;y+yRyy#Ludz5E0LUX*oWkN%7FS?#1}h&MR`jQwg%z>Cu+m?0rJr)v6kVD5ORoG= z?*jm+%>KfvNS2%x@Yr7%Z^z1W1ptl`f8nFlU-=zl{=&!Be&OSP$&ddfcmGT7{+FEc zmz+Wczz6yPaM>>mE@SDl$_JNISX_a{=>Xu$;@iw$c>9+L)K4hL{_cOl*7W-+xNcn|XxBLC9A7p9v7hXoPx`_fnwyD4H zHUj|CCIM(X?N1DiZ~D_7n#j^)v@2tjsE!^3C(12z?&8R Up?^H^j|cwoz&{@NFXn;&0mk`mxBvhE literal 0 HcmV?d00001 diff --git a/layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib b/layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib index 5a6bad66c3ddc3c882a3f947dbaa5c72d9c37851..d6a84f671bffdcc4f68c9e3454cc03db96413458 100644 GIT binary patch delta 396 zcmZvXOHTqZ6oo6yV5hzk|A&b#+?kkQqM2yKXmHP?F(@)RGl;C1&a{*P1R{uH1SPuA z7#99R?{wwDF238_b8b%W%$OOy%{3;OXfPQv(PZ^jAUaHT1s{ZB%>0QE?@WGh_Q~Xz zAAHw;vcp(y5g{}s^T0k?26`k8WQvc9q2h>W@E%}K>H%(>$=yPcI;l#D+HWKQ%8<+f zy96s2zbVj))VXT8k~moci4y|!@ia<=(>LSmwH3I$=uN$)zoOM=gc?SGdr^e#xX0AF zvPyYscZ@oTf$?5@(t28eADpV=(#vEfcX4K0cN>QG-RRrcD)#B)Csu J=l->}^$S98Z7l!* delta 392 zcmZvWyG{Z@6o!wmtGnYZ@jWaow6HP3L_%W3NU-NJF(|NRcM+-BVP+UmL?X&f1&xhS zDSSf@6H1$Ja{lk+KQpzbc4vE2Dkd6r-fq_VOb(bFGC5-PXI>jKH4*AVs?VDGV)C1@ zANiZ^g`xxi-pMkuOIDBpSw%9g4_ zVdRjQNM#B=32g*1{>`cYf~?P#rC)A6c@@v6g-9xMappRuVs_ujJ8s*qlLg#(Fa}1) zXa+}#c>0`Xd}s&B*kP*Tl>BHZm!*0>cAe|W+$;2__<3ls*@a|G*TJkI(JdQ0e_;`B Ag#Z8m diff --git a/layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib b/layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib index 4bc6abe8801b452db4cc914eaa932152d6a4d659..458a1d27a8903ab30bfe291e3a8e817b406ad9b7 100644 GIT binary patch delta 354 zcmZwBO-sW-5C-5hHBB6~e&Dqi!JnW%KtU)T1i>B)YWGkLiEIMJlbP&h+thBmH3(h= zz4&qTA39w@5WGChzVj|j=4Zay+m}O>BNU~~HRe-PGn5ANITjD1cogcXP|pHiP`wuN z4dpw^50szyb=|G)t~ib}gC;qFRkDBvIkrx%_t2=W+}52As^pSItkY+M!#GNL9EOY! zVU7B8*dP&na%45INwa|(sXQH+v-aPQ2DWIGgG*)*kOJy9S+~hz7T}S}D`|7=IHj$X zutZ_`y8`=Kw#A?7e@z{XlQibH7x6joRZX|GLpQY#j`}=FPg!ykM?J=MFj+()OHKw6 J=P=0?^!Z1ybXo(^or f>3dbkUGI#!eaG%H9>9u13w^mMgzE5et7iQI1p{QO diff --git a/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib b/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib index e74e7a11a7e60cc813ddab3da3394c50437945b5..a24065693527a87bbc5408f80a8c6b110e1a135a 100644 GIT binary patch delta 2544 zcmb_e>vI!T6u)V+?dAe~AT2FLUab^bQV39m0;RN2tw2j(3Od6~LYERJBqiDMQcUk| zHtF`UZMv<9qYgq)s)H4a)QCk;z-p}MjN>;^{N{{b{0sEln=GXwjvvg-{`Nl3J@-6* z=WKpo+FR(at*PAN-FLuwSTG@kEbu%J&uVxY;89>P0?&z5gtB42el|jZj*u22S|?G} zP9-dBgG3tY4WA*}S)xTq=eeH2i;8|(QLm`#4ON{~)gMFJPh{v0(S9aFzmUGWMEy0S z{?-}%BixtdC!{}_D1$sv)LEoc%>u0ph^iG5(zA>ZZ8;%*MTB%0lb~jU`D#K2){tOu zJ<+utgmmmA0j-`8xq--PGf|bjMAqztgdK#a`-s}_BGRB6bo)q1K2GGp6QJv5&}Ej0 z%1ND?f0jhFG>HtPONurJ##s^>%7*t`iS*`3UEw7lm@kF2BA6FTT}r7WE9)d#+aQtt zjgk~Bm%@W}(n)PUoN0yUfJDMhiRdqYK9595nzHOTc~TBIys-{5K(cH`#&-^P#YVar_qr^qCmZ{a<#M59K% zjIz{6nfFmf3A#h?iQ+j7%Nas#gOzkWfRZ98$p}PJ3?)%p9%1{GMh^zch__ytk>(#` z7aF{y2^vP!Aw#G%s%KF$3oMv-ynUJ?AB5NIo zrm_ZO4etg~iF#ZQ-cX)h=FZ_K;ho45Lie(?ie;&%rn1`U5`1+>+=AC2nmK~Z2GMA5 zqD15LD;e|k>oXVG`Yku{W1vzupEqBEM0X!{ds+m?u{OKU2f1*zh}J`b^=N$^%f&VP zjJ`56d+&$10M5LHmjJ4XMo?1miskdf7$I_R^d&;?a^JH9U)>XZZz>4!ju1}`?Fi5{ z?R?H|ycKX-S9o~UNAU&_j^bGiS20|{@KJ^f7*;Y&X4uRyonZz;`u8A;(-{7} z>tx5<4j2#H3LmO%Y;3dd6ZAjR^2>&r+kB!|upivzf~5ljKh-qEP zaH{vy&zGNWZ($pY0O{=ial)u1Q-qdLyeXSv$VB)-SNMKPd9M$? z556{!8$8o64~JRVK-EAOql$c@U2OMFIZAmL#Z!(NWXpwhgU_}&*=Qxx-@g*tRxz40 HyUFwyM6h|k delta 2525 zcmb7FT~t(66g~rU;m%G0p_Csr1(i%8Q4qmWev~8)!+}!kp#iQ)Awx44P+P6x+{+!f z{9G6=n3j~<_(Lv5MQJM1el(KEdg!5gt=@Xb=U&?9z~v`%t(vvYH|Lza&$;J(``i0; zrT($XS5jP%@2Nak(pAr5T&v8~5eitPwap2T(_l8}Wsj*lgzrMXpaZ8Z$4ck9M+ z+H*qbf0r63Y0rSBol!f_QsW#o&QtS(7Pv(FFH>WP8dqrlRZ6d^#to{EwDsQftG8AE zSitznM~$DU{)^uCD-HZcdw%ciy5FwLfiB;w9VW= zwZJAy`*NseZlRi9NcFZ|wA0v2X<#4v?Wej?iT_o!t*e%{8;z72P3V7^9_x)#G&N39 z^@U2C?pvzp{!}GkY*MI^gDqE~%4VgjYlqUV?NQW@a>cK|tmxfU3RNXVH4dUrjY9ig zQ#8Y^(4KllF+2*@y-I7}QAN{y=o6+=BV45&cGceuYKsx2QaxJLjd+|-z?P`e?j*FA z7jGZdZHw%~7lj{f1#6JsF33h4fMUdUSd4g+V?W1Ujw6tV^DP8|1jZm8`-23=2@DD5 z&6s%K2t3Wr;Xx8U1}tcUBz&BN4`T?~Z%f{gaAmr$iQPvVwxv}Rq?MNKOP8g?@(m#b zE70#2gdw86rb#C4y`G6gQ=`RFP9LqRnA)cB% zdUIjkE!c`|aAToOJbE3T4Azt9OWXlfBc6jj=KbhJ!l%Th+RZ;BlYDp^ z*;QXJRTao}xg)@MZXrUD2v#J8aUxie%$ya;%)A@I6g4CR`ytqdYeSI6F@xh~j^P|1 zV_G4#~fdn3u5DZUla17@B?@GX4+_x`rl5h zi5-n~?kcI`NWIJJojaNUJAQT)mLqDSS|Qh2dq)OIdQvU~B-E;_y4ziO4mmi38@Tn8d}hyZ++LZ6`Nni9EGwVt#9h z(^>DTlty?mv=Doc*exZpWMLQHfeS3Dtit}3R4_pwE)_ItVsBwtk-JXbBULxlx;*7x zSGA;x&Fu2iyv(5`1eGqAK3RXKb6^Sb`S7&Gz~w%?RwUzw9gvAQw^j_qq$K*iGOM+k z*uzSm$BRsQ>)mx#l81}IDW+`1`r{XP$WKBXZt}TsT<9jY4#>xW6}0WxxAHsP3fe3G zlHchVH2?NGR@WzB7p@wG7ZK0GBZzlN*jFgt=B;0H{8*$JpAh?8!7}*PGoylI+fmN=Po zoi#_Ld|CF?R5ZxaS(u0JQ#24VO~X2*!GJ`xDg3#($DfX7l4mZRpOkH#aq=0OB#32} qRpYZ~3LMFv;or1Day-7x2dZ6Zo~$&_&Qkt1-+{IGo#C9=GTYx&l!Wd8 diff --git a/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib b/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib index 04e013e840a36683a2582757783aa13f372e2b9d..bfea2ca248d3e847d317aeab83fa335a67dfdc37 100644 GIT binary patch delta 420 zcmZ{eJxjw-6o%8(ntJ@M-Nhf^;Na$@AY`g2brLbQ7c9i2-UN!1IXP)-+qAtUXhHC6 zQP9b`Kg`veD~Jd#51fzpJZEA|46(V@YDZxYDMsoe4UmRN0;5rrZZQ}W-Vxnn_<;0? z(Gy0`&F}@ISE4t>clx+E&Ya{mO&h|JWDEt#CM-&J6$gqv#WsNKk6=m?VMX#9a*_fT zB>VYs**x%FetGIzyt-#w6?W#@RmPJ~ef3I|&BGdN?6{84UE5~7pHI9BbJ*XmFt>MW z-1GODS9cv5Z{<3Wk%A8Bit~!gN_kVRdp>8@`7ho2Mw*yWTWKzYIZZp#0(FGoJJ|Jp sJ{4f7TX8D3nOAB!sq}xXfUFFp^I0V+CTn`J5W=*q0`(**S5nH_Ur!}<1ONa4 delta 397 zcmZvYy-UMj5XRHgns|QHk8Tc5&Q5MlibAG}Qb!@$fQ67~5-3jga_L8ElSZO;Q1Jr< z6&#%V&w1}F2!hM+<&Jya=bjsDV=Y_Xpe{zeHYFIQ7!BKWjdX+IEp|o`-C=l-(F4&F zM$d>Z)Osa)LwZO2Ao|3wv%|uLswm13O3VSwFxxQ4>`SJSmy(H|8Jjx|&ky!2|I~Hr zme(o8FvY_$Oh`^k>dZt>4;of;%XI?JwQbAGV3yne2n<&LDEfZjdgn*3>D3c`R5SK} z%U#<%woY7|Ei=&gpDxTZuV8_RP-OO?l0T};+ZhzN5qV_0G)`ao=MTYk0ah^<4I p7%cXnD10e*-upYbgK# diff --git a/layout/Applications/vnodebypass.app/Info.plist b/layout/Applications/vnodebypass.app/Info.plist index 4d3c5cb6ac97c41fe6b8c28953ec2879f1713a4a..10a987348737a53206887aa9e8e1f83f8c15a404 100644 GIT binary patch delta 533 zcmeC=(4>0l+>ikg2dwDi%QDz z0>Uum0Y#a)iA9wlQ!c5fs%gXv2*RX5Vs4o^sX)^Okj4BGb5j?p$2b-gfK-?nRG1lr zLpc|fw1B2)Yb;XNfylGx=b4*Tn43*r&ZNd@H2EBpafFMBSwv<*Mt)vuesPGQiJnOe zj0fU`7#f)vgc=&Tn51$7*?I0` z5JMwlgHS^wXJcbdAY0FXbCIFZKz%v z8HyP?80IqUWjMv~fZ;Er6r&EKIin|I1Y-_kIb$PZC*w56)r|WXUo!q+5@ga~a%ak7 zn#44NX*Sbxru|HZnNBdBVLHcjo#`giKV}wYUS=U?d1e)6EoNR+Am%XUa^|_rN0?7CfB_Su1cbq03#FkH^A`Y*luSMV diff --git a/layout/Applications/vnodebypass.app/_CodeSignature/CodeResources b/layout/Applications/vnodebypass.app/_CodeSignature/CodeResources deleted file mode 100644 index b8f4868..0000000 --- a/layout/Applications/vnodebypass.app/_CodeSignature/CodeResources +++ /dev/null @@ -1,183 +0,0 @@ - - - - - files - - Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib - - hW/VC+cZSzVB7Lymx/T7D5quAWQ= - - Base.lproj/LaunchScreen.storyboardc/Info.plist - - n2t8gsDpfE6XkhG31p7IQJRxTxU= - - Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib - - A0pEZPOhIl0JlXhAaR3GgigUZzs= - - Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib - - 4cZs56HAmxqc0vhuOEcZBUcxkPw= - - Base.lproj/Main.storyboardc/Info.plist - - MDrKFvFWroTb0+KEbQShBcoBvo4= - - Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib - - CQ+iRH1bQ3afDMVNS9GgF1Tivqg= - - Info.plist - - PlM1E4N+Gnut38q3tvysynJoZMU= - - PkgInfo - - n57qDP4tZfLD1rCS43W0B4LQjzE= - - embedded.mobileprovision - - 1bqKVrM9xTbEQmEUO2o72Qrp5HI= - - - files2 - - Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib - - hash2 - - l6aQ1ssyArQZdEg9ot4fqwIDuha7N4E3JTmz7cbN21I= - - - Base.lproj/LaunchScreen.storyboardc/Info.plist - - hash2 - - HyVdXMU7Ux4/KalAao30mpWOK/lEPT4gvYN09wf31cg= - - - Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib - - hash2 - - PMP/9TnBLBw/ad1Z+u2KDapEGM8WpN22r4TRZlndcbI= - - - Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib - - hash2 - - vFDkh3Ue7/SId5Eh1WIhlDtwhUy5Jq6AP5Q4b12VYKQ= - - - Base.lproj/Main.storyboardc/Info.plist - - hash2 - - PpvapAjR62rl6Ym4E6hkTgpKmBICxTaQXeUqcpHmmqQ= - - - Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib - - hash2 - - uBPdyuu1l+eGTg+0BFT3wvaR0MT0HN4GS5IoUmUGX6s= - - - embedded.mobileprovision - - hash2 - - bDqeH6AKdAlpbqEdRoj3aJypJ/uEGSnARci/Y60IQw0= - - - - rules - - ^.* - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Base\.lproj/ - - weight - 1010 - - ^version.plist$ - - - rules2 - - .*\.dSYM($|/) - - weight - 11 - - ^(.*/)?\.DS_Store$ - - omit - - weight - 2000 - - ^.* - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Base\.lproj/ - - weight - 1010 - - ^Info\.plist$ - - omit - - weight - 20 - - ^PkgInfo$ - - omit - - weight - 20 - - ^embedded\.provisionprofile$ - - weight - 20 - - ^version\.plist$ - - weight - 20 - - - - diff --git a/layout/Applications/vnodebypass.app/vnodebypass b/layout/Applications/vnodebypass.app/vnodebypass index 2adc382fc16b73b8993da626cea4dae85cf98b95..33e74608395a2aba08c8979cbf7aa2d582945e36 100755 GIT binary patch delta 1053 zcmX?bhh@P5X0h|X-u~lZU|?hb0wy391>z4}8^s>83pxOqAaDRoGAJla=HiHA)R>&g zQLV(+9(_K*%5deL^~ROO9Qk2JKs5?L3^Ia&0car0WG2pd_SAQ53=BGqlMT3}CpU90 zV@iEDS(_`CnSo*19`hom3pvz{9K1cwG zfZV7DB;LeA*s_xgkJ~evP2LD3115h2lDU%&PuMedPc8(KOD1nTVb64sbMmJXc1+hf zCmWr#WBSNBx#*-`y&x9@gPH&XgGLj?ATubx0LqVt@&lS7@?B8=3@CpMlz#xqKMUk5 zfLsU#AJOxP;xk!tmm lN;7j(CL7)no~(SwY_rGBNG8&?ZdShYkC}9BlNUd51px5?+CKmQ delta 7826 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 From 53e6aeaa7ea57fcf8096d6175bbf7d7275801083 Mon Sep 17 00:00:00 2001 From: ichitaso Date: Wed, 20 Oct 2021 23:45:48 +0900 Subject: [PATCH 16/25] update hidePath --- Makefile | 6 +++--- control | 4 ++-- layout/usr/share/vnodebypass/hidePathList.plist | 6 ++++++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 231c6d3..9d0fa2a 100644 --- a/Makefile +++ b/Makefile @@ -2,9 +2,9 @@ GO_EASY_ON_ME = 1 DEBUG=0 FINALPACKAGE=1 -THEOS_DEVICE_IP = 127.0.0.1 -p 2222 +THEOS_DEVICE_IP = 0.0.0.0 -p 2222 -TARGET := iphone:clang:12.4:12.0 +TARGET := iphone:clang:14.0:12.0 ARCHS = arm64 include $(THEOS)/makefiles/common.mk @@ -20,6 +20,6 @@ vnodebypass_FRAMEWORKS = IOKit include $(THEOS_MAKE_PATH)/tool.mk before-package:: - ldid -Sent.plist $(THEOS_STAGING_DIR)/usr/bin/vnodebypass + chmod 6755 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass chmod 755 $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass ldid -Sappent.xml $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass diff --git a/control b/control index 8e0a6fa..ccb9ed0 100644 --- a/control +++ b/control @@ -1,9 +1,9 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.2.5 +Version: 0.2.6 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. -Maintainer: XsF1re +Maintainer: ichitaso Author: XsF1re Section: System Tag: role::hacker diff --git a/layout/usr/share/vnodebypass/hidePathList.plist b/layout/usr/share/vnodebypass/hidePathList.plist index fe842ed..5664c5a 100644 --- a/layout/usr/share/vnodebypass/hidePathList.plist +++ b/layout/usr/share/vnodebypass/hidePathList.plist @@ -6,6 +6,8 @@ /Applications/Anemone.app /Applications/Cydia.app /Applications/SafeMode.app + /Applications/Sileo.app + /Applications/Zebra.app /bin/bash /bin/bunzip2 /bin/bzip2 @@ -65,6 +67,10 @@ /usr/sbin/sshd /usr/share/terminfo /var/mobile/Library/.sbinjectSafeMode + /var/mobile/fakevar + /var/MobileSoftwareUpdate/mnt1/fakevar /var/mobile/Library/Preferences/jp.akusio.kernbypass.plist + /var/mobile/Library/Preferences/jp.akusio.kernbypass-unofficial.plist + /var/mobile/Library/Preferences/jp.akusio.kernbypass2.plist From f34517c21335ede167827bba785afba7bb872bad Mon Sep 17 00:00:00 2001 From: level3tjg Date: Sun, 24 Apr 2022 01:47:07 -0400 Subject: [PATCH 17/25] randomize vnodeMem.txt name --- vnode.m | 245 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 123 insertions(+), 122 deletions(-) diff --git a/vnode.m b/vnode.m index 25474c5..0759e92 100644 --- a/vnode.m +++ b/vnode.m @@ -1,151 +1,152 @@ +#include "vnode.h" #import #import -#include "vnode.h" -#include "kernel.h" #include "SVC_Caller.h" +#include "kernel.h" #include "libdimentio.h" -#define vnodeMemPath "/tmp/vnodeMem.txt" +const char *vnodeMemPath; +NSArray *hidePathList = nil; -NSArray* hidePathList = nil; +__attribute__((constructor)) void initVnodeMemPath() { + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + if ([defaults objectForKey:@"vnodeMemPath"]) { + vnodeMemPath = [[defaults objectForKey:@"vnodeMemPath"] UTF8String]; + } else { + vnodeMemPath = [NSString stringWithFormat:@"/tmp/%@.txt", [NSUUID UUID].UUIDString].UTF8String; + [defaults setObject:[NSString stringWithUTF8String:vnodeMemPath] forKey:@"vnodeMemPath"]; + } +} void initPath() { - hidePathList = [NSArray arrayWithContentsOfFile:@"/usr/share/vnodebypass/hidePathList.plist"]; - if (hidePathList == nil) - goto exit; - for (id path in hidePathList) { - if (![path isKindOfClass:[NSString class]]) - goto exit; - } - return; + hidePathList = [NSArray arrayWithContentsOfFile:@"/usr/share/vnodebypass/hidePathList.plist"]; + if (hidePathList == nil) goto exit; + for (id path in hidePathList) { + if (![path isKindOfClass:[NSString class]]) goto exit; + } + return; exit: - printf("/usr/share/vnodebypass/hidePathList.plist is broken, please reinstall vnodebypass!\n"); - exit(1); + printf("/usr/share/vnodebypass/hidePathList.plist is broken, please reinstall vnodebypass!\n"); + exit(1); } -void saveVnode(){ - if(access(vnodeMemPath, F_OK) == 0) { - printf("Already exist /tmp/vnodeMem.txt, Please vnode recovery first!\n"); - return; - } +void saveVnode() { + if (access(vnodeMemPath, F_OK) == 0) { + printf("Already exist /tmp/vnodeMem.txt, Please vnode recovery first!\n"); + return; + } - initPath(); - if(init_kernel() == 1) { - printf("Failed init_kernel\n"); - return; - } - find_task(getpid(), &our_task); - if(!this_proc) - return; - printf("this_proc: " KADDR_FMT "\n", this_proc); + initPath(); + if (init_kernel() == 1) { + printf("Failed init_kernel\n"); + return; + } + find_task(getpid(), &our_task); + if (!this_proc) return; + printf("this_proc: " KADDR_FMT "\n", this_proc); - FILE *fp = fopen(vnodeMemPath, "w"); + FILE *fp = fopen(vnodeMemPath, "w"); - int hideCount = (int)[hidePathList count]; - uint64_t vnodeArray[hideCount]; + int hideCount = (int)[hidePathList count]; + uint64_t vnodeArray[hideCount]; - for(int i = 0; i < hideCount; i++) { - const char* hidePath = [[hidePathList objectAtIndex:i] UTF8String]; - int file_index = open(hidePath, O_RDONLY); + for (int i = 0; i < hideCount; i++) { + const char *hidePath = [[hidePathList objectAtIndex:i] UTF8String]; + int file_index = open(hidePath, O_RDONLY); - if(file_index == -1) - continue; + if (file_index == -1) continue; - vnodeArray[i] = get_vnode_with_file_index(file_index, this_proc); - printf("hidePath: %s, vnode[%d]: 0x%" PRIX64 "\n", hidePath, i, vnodeArray[i]); - printf("vnode_usecount: 0x%" PRIX32 ", vnode_iocount: 0x%" PRIX32 "\n", kernel_read32(vnodeArray[i] + off_vnode_usecount), kernel_read32(vnodeArray[i] + off_vnode_iocount)); - fprintf(fp, "0x%" PRIX64 "\n", vnodeArray[i]); - close(file_index); - } - fclose(fp); - if(tfp0) - mach_port_deallocate(mach_task_self(), tfp0); - printf("Saved vnode to /tmp/vnodeMem.txt\nMake sure vnode recovery to prevent kernel panic!\n"); + vnodeArray[i] = get_vnode_with_file_index(file_index, this_proc); + printf("hidePath: %s, vnode[%d]: 0x%" PRIX64 "\n", hidePath, i, vnodeArray[i]); + printf("vnode_usecount: 0x%" PRIX32 ", vnode_iocount: 0x%" PRIX32 "\n", + kernel_read32(vnodeArray[i] + off_vnode_usecount), + kernel_read32(vnodeArray[i] + off_vnode_iocount)); + fprintf(fp, "0x%" PRIX64 "\n", vnodeArray[i]); + close(file_index); + } + fclose(fp); + if (tfp0) mach_port_deallocate(mach_task_self(), tfp0); + printf("Saved vnode to /tmp/vnodeMem.txt\nMake sure vnode recovery to prevent kernel panic!\n"); } -void hideVnode(){ - if(init_kernel() == 1) { - printf("Failed init_kernel\n"); - return; +void hideVnode() { + if (init_kernel() == 1) { + printf("Failed init_kernel\n"); + return; + } + if (access(vnodeMemPath, F_OK) == 0) { + FILE *fp = fopen(vnodeMemPath, "r"); + uint64_t savedVnode; + int i = 0; + while (!feof(fp)) { + if (fscanf(fp, "0x%" PRIX64 "\n", &savedVnode) == 1) { + printf("Saved vnode[%d] = 0x%" PRIX64 "\n", i, savedVnode); + hide_path(savedVnode); + } + i++; } - if(access(vnodeMemPath, F_OK) == 0) { - FILE *fp = fopen(vnodeMemPath, "r"); - uint64_t savedVnode; - int i = 0; - while(!feof(fp)) - { - if ( fscanf(fp, "0x%" PRIX64 "\n", &savedVnode) == 1) - { - printf("Saved vnode[%d] = 0x%" PRIX64 "\n", i, savedVnode); - hide_path(savedVnode); - } - i++; - } - } - if(tfp0) - mach_port_deallocate(mach_task_self(), tfp0); - printf("Hide file!\n"); + } + if (tfp0) mach_port_deallocate(mach_task_self(), tfp0); + printf("Hide file!\n"); } -void revertVnode(){ - if(init_kernel() == 1) { - printf("Failed init_kernel\n"); - return; +void revertVnode() { + if (init_kernel() == 1) { + printf("Failed init_kernel\n"); + return; + } + if (access(vnodeMemPath, F_OK) == 0) { + FILE *fp = fopen(vnodeMemPath, "r"); + uint64_t savedVnode; + int i = 0; + while (!feof(fp)) { + if (fscanf(fp, "0x%" PRIX64 "\n", &savedVnode) == 1) { + printf("Saved vnode[%d] = 0x%" PRIX64 "\n", i, savedVnode); + show_path(savedVnode); + } + i++; } - if(access(vnodeMemPath, F_OK) == 0) { - FILE *fp = fopen(vnodeMemPath, "r"); - uint64_t savedVnode; - int i = 0; - while(!feof(fp)) - { - if ( fscanf(fp, "0x%" PRIX64 "\n", &savedVnode) == 1) - { - printf("Saved vnode[%d] = 0x%" PRIX64 "\n", i, savedVnode); - show_path(savedVnode); - } - i++; - } - } - if(tfp0) - mach_port_deallocate(mach_task_self(), tfp0); - printf("Show file!\n"); + } + if (tfp0) mach_port_deallocate(mach_task_self(), tfp0); + printf("Show file!\n"); } -void recoveryVnode(){ - if(init_kernel() == 1) { - printf("Failed init_kernel\n"); - return; +void recoveryVnode() { + if (init_kernel() == 1) { + printf("Failed init_kernel\n"); + return; + } + if (access(vnodeMemPath, F_OK) == 0) { + FILE *fp = fopen(vnodeMemPath, "r"); + uint64_t savedVnode; + int i = 0; + while (!feof(fp)) { + if (fscanf(fp, "0x%" PRIX64 "\n", &savedVnode) == 1) { + kernel_write32(savedVnode + off_vnode_iocount, + kernel_read32(savedVnode + off_vnode_iocount) - 1); + kernel_write32(savedVnode + off_vnode_usecount, + kernel_read32(savedVnode + off_vnode_usecount) - 1); + printf("Saved vnode[%d] = 0x%" PRIX64 "\n", i, savedVnode); + printf("vnode_usecount: 0x%" PRIX32 ", vnode_iocount: 0x%" PRIX32 "\n", + kernel_read32(savedVnode + off_vnode_usecount), + kernel_read32(savedVnode + off_vnode_iocount)); + } + i++; } - if(access(vnodeMemPath, F_OK) == 0) { - FILE *fp = fopen(vnodeMemPath, "r"); - uint64_t savedVnode; - int i = 0; - while(!feof(fp)) - { - if ( fscanf(fp, "0x%" PRIX64 "\n", &savedVnode) == 1) - { - kernel_write32(savedVnode + off_vnode_iocount, kernel_read32(savedVnode + off_vnode_iocount) - 1); - kernel_write32(savedVnode + off_vnode_usecount, kernel_read32(savedVnode + off_vnode_usecount) - 1); - printf("Saved vnode[%d] = 0x%" PRIX64 "\n", i, savedVnode); - printf("vnode_usecount: 0x%" PRIX32 ", vnode_iocount: 0x%" PRIX32 "\n", kernel_read32(savedVnode + off_vnode_usecount), kernel_read32(savedVnode + off_vnode_iocount)); - } - i++; - } - remove(vnodeMemPath); - } - if(tfp0) - mach_port_deallocate(mach_task_self(), tfp0); - printf("Recovered vnode! No more kernel panic when you shutdown.\n"); + remove(vnodeMemPath); + } + if (tfp0) mach_port_deallocate(mach_task_self(), tfp0); + printf("Recovered vnode! No more kernel panic when you shutdown.\n"); } -void checkFile(){ - initPath(); - int hideCount = (int)[hidePathList count]; - for(int i = 0; i < hideCount; i++) { - const char* hidePath = [[hidePathList objectAtIndex:i] UTF8String]; - int ret = 0; - ret = SVC_Access(hidePath); - printf("hidePath: %s, errno: %d\n", hidePath, ret); - } - printf("Done check file!\n"); +void checkFile() { + initPath(); + int hideCount = (int)[hidePathList count]; + for (int i = 0; i < hideCount; i++) { + const char *hidePath = [[hidePathList objectAtIndex:i] UTF8String]; + int ret = 0; + ret = SVC_Access(hidePath); + printf("hidePath: %s, errno: %d\n", hidePath, ret); + } + printf("Done check file!\n"); } From 5c239a5f8e86a8e97c63c437967c5e77c34f817d Mon Sep 17 00:00:00 2001 From: level3tjg Date: Sun, 24 Apr 2022 03:28:19 -0400 Subject: [PATCH 18/25] randomize all paths --- Makefile | 7 +- app/AppDelegate.h | 8 ++ app/AppDelegate.m | 13 +++ app/Makefile | 12 +++ .../Resources}/AppIcon60x60@2x.png | Bin .../Resources}/AppIcon76x76@2x~ipad.png | Bin app/Resources/Info.plist | 99 ++++++++++++++++++ app/RootViewController.h | 8 ++ app/RootViewController.m | 67 ++++++++++++ app/main.m | 7 ++ include/NSTask.h | 76 ++++++++++++++ .../Applications/vnodebypass.app/Assets.car | Bin 301768 -> 0 bytes .../01J-lp-oVM-view-Ze5-6b-2t3.nib | Bin 1197 -> 0 bytes .../LaunchScreen.storyboardc/Info.plist | Bin 258 -> 0 bytes .../UIViewController-01J-lp-oVM.nib | Bin 896 -> 0 bytes .../BYZ-38-t0r-view-8bC-Xf-vdC.nib | Bin 5005 -> 0 bytes .../Base.lproj/Main.storyboardc/Info.plist | Bin 258 -> 0 bytes .../UIViewController-BYZ-38-t0r.nib | Bin 955 -> 0 bytes .../Applications/vnodebypass.app/Info.plist | Bin 1349 -> 0 bytes layout/Applications/vnodebypass.app/PkgInfo | 1 - .../Applications/vnodebypass.app/vnodebypass | Bin 57376 -> 0 bytes layout/DEBIAN/postinst | 2 - postinst/Makefile | 12 +++ postinst/entitlements.plist | 9 ++ postinst/main.m | 55 ++++++++++ vnode.m | 15 ++- 26 files changed, 377 insertions(+), 14 deletions(-) create mode 100644 app/AppDelegate.h create mode 100644 app/AppDelegate.m create mode 100644 app/Makefile rename {layout/Applications/vnodebypass.app => app/Resources}/AppIcon60x60@2x.png (100%) rename {layout/Applications/vnodebypass.app => app/Resources}/AppIcon76x76@2x~ipad.png (100%) create mode 100644 app/Resources/Info.plist create mode 100644 app/RootViewController.h create mode 100644 app/RootViewController.m create mode 100644 app/main.m create mode 100644 include/NSTask.h delete mode 100644 layout/Applications/vnodebypass.app/Assets.car delete mode 100644 layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib delete mode 100644 layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/Info.plist delete mode 100644 layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib delete mode 100644 layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib delete mode 100644 layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/Info.plist delete mode 100644 layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib delete mode 100644 layout/Applications/vnodebypass.app/Info.plist delete mode 100644 layout/Applications/vnodebypass.app/PkgInfo delete mode 100755 layout/Applications/vnodebypass.app/vnodebypass delete mode 100755 layout/DEBIAN/postinst create mode 100644 postinst/Makefile create mode 100644 postinst/entitlements.plist create mode 100644 postinst/main.m diff --git a/Makefile b/Makefile index 9d0fa2a..d2a9f77 100644 --- a/Makefile +++ b/Makefile @@ -2,9 +2,9 @@ GO_EASY_ON_ME = 1 DEBUG=0 FINALPACKAGE=1 -THEOS_DEVICE_IP = 0.0.0.0 -p 2222 +# THEOS_DEVICE_IP = 0.0.0.0 -p 2222 -TARGET := iphone:clang:14.0:12.0 +TARGET := iphone:clang:14.5:12.0 ARCHS = arm64 include $(THEOS)/makefiles/common.mk @@ -18,6 +18,9 @@ vnodebypass_INSTALL_PATH = /usr/bin vnodebypass_FRAMEWORKS = IOKit include $(THEOS_MAKE_PATH)/tool.mk +SUBPROJECTS += app +SUBPROJECTS += postinst +include $(THEOS_MAKE_PATH)/aggregate.mk before-package:: chmod 6755 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass diff --git a/app/AppDelegate.h b/app/AppDelegate.h new file mode 100644 index 0000000..4938d6e --- /dev/null +++ b/app/AppDelegate.h @@ -0,0 +1,8 @@ +#import + +@interface AppDelegate : UIResponder + +@property(nonatomic, strong) UIWindow *window; +@property(nonatomic, strong) UIViewController *rootViewController; + +@end diff --git a/app/AppDelegate.m b/app/AppDelegate.m new file mode 100644 index 0000000..474c452 --- /dev/null +++ b/app/AppDelegate.m @@ -0,0 +1,13 @@ +#import "AppDelegate.h" +#import "RootViewController.h" + +@implementation AppDelegate + +- (void)applicationDidFinishLaunching:(UIApplication *)application { + _window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + _rootViewController = [[RootViewController alloc] init]; + _window.rootViewController = _rootViewController; + [_window makeKeyAndVisible]; +} + +@end diff --git a/app/Makefile b/app/Makefile new file mode 100644 index 0000000..24d84a0 --- /dev/null +++ b/app/Makefile @@ -0,0 +1,12 @@ +TARGET := iphone:clang:latest:7.0 +INSTALL_TARGET_PROCESSES = vnodebypass + +include $(THEOS)/makefiles/common.mk + +APPLICATION_NAME = vnodebypass + +vnodebypass_FILES = main.m AppDelegate.m RootViewController.m +vnodebypass_FRAMEWORKS = UIKit CoreGraphics +vnodebypass_CFLAGS = -fobjc-arc -I../include + +include $(THEOS_MAKE_PATH)/application.mk diff --git a/layout/Applications/vnodebypass.app/AppIcon60x60@2x.png b/app/Resources/AppIcon60x60@2x.png similarity index 100% rename from layout/Applications/vnodebypass.app/AppIcon60x60@2x.png rename to app/Resources/AppIcon60x60@2x.png diff --git a/layout/Applications/vnodebypass.app/AppIcon76x76@2x~ipad.png b/app/Resources/AppIcon76x76@2x~ipad.png similarity index 100% rename from layout/Applications/vnodebypass.app/AppIcon76x76@2x~ipad.png rename to app/Resources/AppIcon76x76@2x~ipad.png diff --git a/app/Resources/Info.plist b/app/Resources/Info.plist new file mode 100644 index 0000000..7c59957 --- /dev/null +++ b/app/Resources/Info.plist @@ -0,0 +1,99 @@ + + + + + BuildMachineOSBuild + 20D91 + CFBundleDevelopmentRegion + en + CFBundleExecutable + vnodebypass + CFBundleIcons + + CFBundlePrimaryIcon + + CFBundleIconFiles + + AppIcon60x60 + + CFBundleIconName + AppIcon + + + CFBundleIcons~ipad + + CFBundlePrimaryIcon + + CFBundleIconFiles + + AppIcon60x60 + AppIcon76x76 + + CFBundleIconName + AppIcon + + + CFBundleIdentifier + kr.xsf1re.vnodebypass + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + vnodebypass + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSupportedPlatforms + + iPhoneOS + + CFBundleVersion + 1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 18D46 + DTPlatformName + iphoneos + DTPlatformVersion + 14.4 + DTSDKBuild + 18D46 + DTSDKName + iphoneos14.4 + DTXcode + 1240 + DTXcodeBuild + 12D4e + LSRequiresIPhoneOS + + MinimumOSVersion + 12.0 + UIApplicationSupportsIndirectInputEvents + + UIDeviceFamily + + 1 + 2 + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/app/RootViewController.h b/app/RootViewController.h new file mode 100644 index 0000000..086df18 --- /dev/null +++ b/app/RootViewController.h @@ -0,0 +1,8 @@ +#import +#import + +@interface RootViewController : UIViewController +@property UILabel *titleLabel; +@property UILabel *subtitleLabel; +@property UIButton *button; +@end diff --git a/app/RootViewController.m b/app/RootViewController.m new file mode 100644 index 0000000..56283f3 --- /dev/null +++ b/app/RootViewController.m @@ -0,0 +1,67 @@ +#import "RootViewController.h" + +@interface RootViewController () +@end + +@implementation RootViewController + +- (void)loadView { + [super loadView]; + + self.view.backgroundColor = UIColor.blackColor; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + _titleLabel = + [[UILabel alloc] initWithFrame:CGRectMake(0, 50, UIScreen.mainScreen.bounds.size.width, 100)]; + _titleLabel.text = @"vnodebypass"; + _titleLabel.textAlignment = NSTextAlignmentCenter; + _titleLabel.textColor = UIColor.whiteColor; + _titleLabel.font = [UIFont systemFontOfSize:40]; + [self.view addSubview:_titleLabel]; + + _subtitleLabel = [[UILabel alloc] + initWithFrame:CGRectMake(0, 100, UIScreen.mainScreen.bounds.size.width, 100)]; + _subtitleLabel.text = @"USE IT AT YOUR OWN RISK!"; + _subtitleLabel.textAlignment = NSTextAlignmentCenter; + _subtitleLabel.textColor = UIColor.whiteColor; + _subtitleLabel.font = [UIFont systemFontOfSize:20]; + [self.view addSubview:_subtitleLabel]; + + _button = [UIButton buttonWithType:UIButtonTypeSystem]; + _button.frame = CGRectMake(UIScreen.mainScreen.bounds.size.width / 2 - 30, + UIScreen.mainScreen.bounds.size.height / 2 - 25, 60, 50); + [_button setTitle:access("/bin/bash", F_OK) == 0 ? @"Enable" : @"Disable" + forState:UIControlStateNormal]; + [_button addTarget:self + action:@selector(buttonPressed:) + forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:_button]; +} + +- (void)buttonPressed:(UIButton *)sender { + BOOL disabled = access("/bin/bash", F_OK) == 0; + NSArray *opts; + if (disabled) { + opts = @[ @"-s", @"-h" ]; + } else { + opts = @[ @"-r", @"-R" ]; + } + + NSString *launchPath = + [NSString stringWithFormat:@"/usr/bin/%@", NSProcessInfo.processInfo.processName]; + NSTask *task = [NSTask launchedTaskWithLaunchPath:launchPath arguments:@[ opts[0] ]]; + [task waitUntilExit]; + task = [NSTask launchedTaskWithLaunchPath:launchPath arguments:@[ opts[1] ]]; + [task waitUntilExit]; + disabled = access("/bin/bash", F_OK) == 0; + if (disabled) { + [_button setTitle:@"Enable" forState:UIControlStateNormal]; + } else { + [_button setTitle:@"Disable" forState:UIControlStateNormal]; + } +} + +@end diff --git a/app/main.m b/app/main.m new file mode 100644 index 0000000..de7c86e --- /dev/null +++ b/app/main.m @@ -0,0 +1,7 @@ +#import "AppDelegate.h" + +int main(int argc, char *argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass(AppDelegate.class)); + } +} diff --git a/include/NSTask.h b/include/NSTask.h new file mode 100644 index 0000000..03d3914 --- /dev/null +++ b/include/NSTask.h @@ -0,0 +1,76 @@ +// +// NSTask.h +// ipacracker +// +// Created by obaby on 14-2-10. +// +// +/* NSTask.h + Copyright (c) 1996-2007, Apple Inc. All rights reserved. + */ + +#import + +@class NSString, NSArray, NSDictionary; + +@interface NSTask : NSObject + +// Create an NSTask which can be run at a later time +// An NSTask can only be run once. Subsequent attempts to +// run an NSTask will raise. +// Upon task death a notification will be sent +// { Name = NSTaskDidTerminateNotification; object = task; } +// + +- (instancetype)init; + +// set parameters +// these methods can only be done before a launch +// if not set, use current +// if not set, use current + +// set standard I/O channels; may be either an NSFileHandle or an NSPipe +- (void)setStandardInput:(id)input; +- (void)setStandardOutput:(id)output; +- (void)setStandardError:(id)error; + +// get parameters +@property (NS_NONATOMIC_IOSONLY, copy) NSString *launchPath; +@property (NS_NONATOMIC_IOSONLY, copy) NSArray *arguments; +@property (NS_NONATOMIC_IOSONLY, copy) NSDictionary *environment; +@property (NS_NONATOMIC_IOSONLY, copy) NSString *currentDirectoryPath; + +// get standard I/O channels; could be either an NSFileHandle or an NSPipe +- (id)standardInput; +- (id)standardOutput; +- (id)standardError; + +// actions +- (void)launch; + +- (void)interrupt; // Not always possible. Sends SIGINT. +- (void)terminate; // Not always possible. Sends SIGTERM. + +@property (NS_NONATOMIC_IOSONLY, readonly) BOOL suspend; +@property (NS_NONATOMIC_IOSONLY, readonly) BOOL resume; + +// status +@property (NS_NONATOMIC_IOSONLY, readonly) int processIdentifier; +@property (NS_NONATOMIC_IOSONLY, getter=isRunning, readonly) BOOL running; + +@property (NS_NONATOMIC_IOSONLY, readonly) int terminationStatus; + +@end + +@interface NSTask (NSTaskConveniences) + ++ (NSTask *)launchedTaskWithLaunchPath:(NSString *)path arguments:(NSArray *)arguments; +// convenience; create and launch + +- (void)waitUntilExit; +// poll the runLoop in defaultMode until task completes + +@end + +FOUNDATION_EXPORT NSString * const NSTaskDidTerminateNotification; + diff --git a/layout/Applications/vnodebypass.app/Assets.car b/layout/Applications/vnodebypass.app/Assets.car deleted file mode 100644 index d8e26c7a7401cf710c00863a7830fd9b4c8323cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301768 zcmeFZ1z1~4+b*1h0KwfYxJz&?u0?`-i%W4UP^7`3xRl}!#Y%B0Qmi->Z7EQS7bq=S zT56nR@7-_PyZ5`#Isf;a^PjKJb=_H+HBX*3bI;70tjRr5(9zQO_3*X_002NFQ~=<# zdH?`Ii9E_7(>6%_u>Xe{(33Y%Yy<%SM8DLL4tbR0VCIDD>8R?-Ye_01`-Y)96pBo1 zC@UKLlI9ha5WxOVW5vYQ!_FQG6XX+ya=-+YgzY(@H=V7a>I#Y;wjS079)7k?>TcGK z_KMcN)~+6o1|A-+|7m6Uza=oTiGCWOsN-+V*W3R4*hK>X2vJ$6CIoPyUQh=7IsJ12 zK#V-1ni}OufCMQLBuL;RfrkVo5)?>~BSD4)H4;=v;39#81QZDdB#Bw$F0A|ZkV2NLW^ zNFyPIgd`FYNL)ce1_^N_#E?)xLLLb@BxI5J$$&pG_C59cV;{94VCg?j{p5-HAIaan z`J?9_Tj00OSb&!QNCE+W?fK7RqC8jrMNHJq`uFx%o_{XIUwMLm9}t=PqbJ6nJiebm zdH$Bq@1B1q_4hGBf73>&uJbFOf9LsEG5;M)zsCG`EdA<<9Aihe;|F!2|$NY2c|8>ki`~6kSKbPXKJpWx^0{zG6K>xMMzr6c>OtgR8L;lY5 zuVenX_P=H6*O-6y`>UA$j-_8?{=2^PCu)A2_`$#r27WN`gMl9m{9xb*13wt}!N3m& zelYNZfgcR~w_xBm>z&AjgP+zre|j+gk9DTsFZ!WQ|FjGv@9C*->*4<2f}X(x4_1&;s6Ld!={M%< z=HP-#qQp->7PUzJ(^PNnjD{xy+N zP_RSdU-B;|`d>>rvK-&-pYZ>^{C~&)cb~uF|9k!)`3EBT|5^9)Kg0j`(*JryX=;Ae zk^P?kU%h^QhZ>V8LzVSkjq{&#|7%`<+n?2tm;5~o0Kjj1p}xAl7OFR*luxKJf&$7= zf=U!nc^tn0#p!p>QN30F7yMQ=_0QFd|NrEZ5?SYe!Y7J1vtRK2UW-g3`TTY4qtd^% z{}=ijN*w!7_(Aobf70Jj@lZextDo%G`{geues}n-TJHD#>lV__0f|4}FHvPRLmJ%L z*2UgV-p9w@7dc(Q_yl+zt=;^5QQF}DbW=iJ;d`%mgB)!CYQFkjh~IPj`x)i%m)Qk% z^V8B)Rzz`z;u&?ks;Hp&Jq8on%4Mm7wPw<6)9St5 z+lXAhz?*`v*BAEoMqjutB{dB9Ep9rz?f%ds)tzfaixnr2r{tU-6oa!@8reVqS`->XziYxK)*Tj4+tE zFD>PXZh|8y23$?b#+&%-=oT#p;w7UM*>zh_NCR~HzRn#+-+XK7-M^hQRU{YC-u?Eq zR0aQXIe0*YzgJ70PX;$bxQ&-Pm-gT*Wky-+Mt%O<*LYHRw3G4#8P#olMN$1jYqd}~ zx{U2vlzXjc6%FYX^^doTWaqnG)-QIWWn15)2}vopfj#{(+*qIv?3{UVow0YkluLY! z;H~}UsTO1^^p;7{k!pnmNi{XP05s~gx6ptxcM&R@!eqbz)N#&aP znpXxla`ETKAKq=Ct=CJy_aWLCvnFodE^Wj6T1~H26+pN`Hsr^u=v14NF>2*>H!V}2 zS=I*KnY_!$DQS2mhCyqsa`vSH?hQtKb?O0nQfmCs`-;hG%Z`$vz*<^@YIF3#Cn-UzC{impqFI%4Y-_`ZnD$|wx%3y+%n4@f zAz}`JS%EpP=yH|}RW=`UQ5xlIytoF6mYu~bHKyL#;r7|Cz45vmwWm{eo(H8CJt`L8 zsR+$)3QyC*e$Dlo@Pqthu6DJSAatBS=7qFCm)lNzt=Ikc2J$x_H`!#Wp#gnZ5TcIf zd&w~S)C}AgUFQzh_=<4vwFxSMJMen)VT>{1s-GjbbRnngsY)2WPx{)0pbZ#CeQl>T z)&=>8^Y#%viJWsRxRa!mX{=h&&grC<0tvGI+gUBHTNFg!+A2M6i!|moZ3PJ1wM{ul zGWF44rb92LwEFw5Y#;5UltX5>5KLINl^ZtX=5E*9>~x%5Q#?u!GSsRQd?GPsJSBK_ zdVTR_S@m9vL!h}xsxxjG3y&UFcD8E;bU{BSTs_^y?_UGNSPgw zQdo8>te-NV6yPv)#AvF`K_pVlq>D)uArFm<2{+|PUXzqd^N>8}&Y-*UWL$!N0wz!u zrC`L>nT99$LJI?!IU@sudJT}^5_cHRdTTRBtKv*yXkS?!qREe~ABITB4Z*j7xzM2; zMKaT>d5EMlj`fHD2F@}Su`6bxXvTwbArYgU%r!Y9uu~Jpv!z)082<8mab~B~2LFQH zD?~4o#JL?wc2^qHyGa_RTbXSlJ;3jyQzWegvvs4jKPkW^ir&Ru%mg+U1soF!4)o;g z-ii_S)pw)ol+$k1u{wJV=KQ4Rxy)Q3HRcf)Noyg394m-Z8hu#aqPv^avWNq5E%R( z>|U?SHiSSBe9N_#*2#$|biQ^zfm?0ai=t0nMZ+Uth1v|gm&Q!6^<@En_6?Kc`GpD!_G;fUUo&rcio@W@}x7=`#0a(7#U#lj+D`dnQngS(IM z?1Fa>p3|s#&xul_YqzY*g`owkt4su6U^oWu#Jwt-dfQtQUHquJ5`BP%!~13tpMuoP z2j6wPyIpfPi(i7@)`=-?wMLXAP|T{wM2qsSP10!8TXPTMCt%QPP)3a3ju1(H9yU*D zh-Y0Cc@8cFQ(>n2xSv(I(pLJruR_N{Fr3%U@=}jIVs~!#zdXoPiW5^qSi!}f!Udir zGOf$2D0^6aEaHxe%}%!%GdQ|I#fF?xSpGQG2qM25f1hdsu;3AZYiMvxLO?G_5JPSl zIcEq#ronA7GVoFrLqjXt1QC^77R;by+Pwbs-klAby7+|_RTUL|I!s-%h00XaWU~SS zfgqJ!cXSsjnc0Sh*jyeg%+z^#d3x0oJj?rRbtv)LLaVwOM6GPNusbqBN#~Z+Y&p8W zZ}Hj6_n`ZH%*#45MMxcyD!Bt32B@?geE_~5YtEQ`%a_s&R)O5x$UeqD!C-1zGzCn_6* zt}Yr;Jw|&90&-W3=B}6aZ;a^c<5`OjvAb1ysF;)}A{d2kOY3#=>D;M*JB1#I5tJk8 z+0K8>%o>3fK<{rm^tKFW^#FI!Xr6HFxq1J&j3ZO`%U(KWNWM79evf4;#e{Dy??dT1 zTNvo6F~!)NtYbO-)>(+_zPD_VYUzz&WjPC=Mj*F}qOAdOyAw%uBv+l~|H2 z%YUw{qL?wBy_B@y+5C3w0mpfd@xG!dzK<2Dtsy?+Tw$EQ_A(|_E1tN2;OA|E!B9$7 zSw})aT(n+h8bWbqc1s7VzUrdJFziQbA%;N zenhonHnrZLx6qRhQ_{>gM10yJcp>cz(HAHIgM8I)$`T))B}Tg2Gtu~r*X7Dok8uPu z+Kuk4l7sv!a6$w$pxJ4@Bv8K1cOZ6KEBA~b?C zI!RcQZnX8ntq)A0ZJqejDuzTpc&3UGm2SzK+2M-Bhhk(44cV~>8~Kk$Ayov}cPH9d zu(9{6!Udq-)i7Ps)YP2|@y3Xg#w)bsWd1f;mUnT#ouA@SepMY_g~i*~l{`pr!BOc4 zU46Fb?7I1yp<9Mosy%l$A=A)HMMVfY5U2ve%eNVsg%!#(o`zm;yg!9L`XV$%Y@&#k zkCA&fAm9kYM0fE)`Ad<^4wIhV3!aa6c`1g3(c}f*zNxUz#r3b}g>&1EJUc-K zshg;C!&TON%XwnuJAb3SA$;+jFiFri^fD|wz?GuB;V3?m?hK`>y2=G>%##b>2V6t6 zBL&%f2QOMmSuN>e&*a`Y%oq29*o?BjJ6w0qMdNM!40s1*-cBUU@fKX^6b zr)I(@5NHeJefxg8R8{z6+l!J0Pqoi|1F+|`lcx$aF-=7MyL)lCNjKvP$h?S}H#Dfc z(J0!EZx-C3yH5ri*8v$r#@0avh}OBZQ1ry>T2`#naa==rX>f0M?5L(OqLp0yswx9` z+h{DEiz1nLFLuUA+fb12^5>x!Det92?RQO&WAuhM(6vibZn>S$Hnz0Q4O0z1W}tGt z9wXm+1LL#HkVg+r$n|_M9;f6?)mNWsA|XA*Pd3jOK3lOUb(2MqFbYNlq?=A zn2c{N;e@qoD~gSACl4Jwd(LiG)^Ft~?SNfDvqx*E4{_Pjbh3a}F5n{zU|W6h=dsk#kw*cRk&;A9WZmyqzdpc4uALf1n_r zQ6XJdaBrA9h*BH@%nysH+F+<{IoNwkT4m8Q<=5-h6j%PtTBvsV{kEne?|2C}+h(6L zO=B^FyJeI;ppbH@lpEIXM;k|}Zy1-JR_=FydFhd}k&hSQu@TJb_DhunE_VLy8hg8E z7_%g8yh1C-+bN2nn(y#FuX!z0>96>f)1k`3RkJZ z^;LNfzg8-W%(^mI-|A^WLyPsMeDcv%Ti)L zqrLG8quh8gQjKp7C74r<9TnS6WafM}`3MhS3W+RjR%B!J1Iw$y=JLm`xoSfC4f8|f zw*XgQvC8kyPmgvL%-ht343C1PHcx8%1^2h-%%cb$XUkb0Rwyk^?L!t*935SM+kPIB^vc8+}W}K;H?yp}vzW-?LaT zASp5fqeCov1c;j^)V*gdA3npxUEn}_?KR%T6xTW5t<|WK5={1Lp%u>>Vmm|wxPR2$ z+PAX}n;Zzx4B&9vFEZB0^=rOG+i7|0)PVOY%%f4-^wkTv|1wWCCaJ*k8fK%Z`=nyW zE1hdFF;C1n^q|3Et!EG4kv$Y~*a!^YtWZ< z7cs4`-6ij@pydbL?4ic!5%_R#JnHCmNJ25+cHZ*?uO2o;kLbfmilNDu|M`$ z{Gy(Z+FJaxA(T!j@05Dc5;yb-2=HQKd+`8cgdQi!eI!`-VetjFtc#oIzKR=d&j75O z6uYIgdAj9LcB)CQf_K#wb-bqzChEO7s@ie6ZV3nADuOk<7;W)J`*E$E~=# zG7Ah);(p@J!=I>14A(7wj)QA2?ZLCe-bl-L79u-M8JsT|!9ICWNySX+W6o!xGSDja ze93~1LE~Una(4i(FUkeC(KG6tr*F(JB5LW7zbML6yz$OX0E0uOdSt|4Hf0z~wj`?9 z6!)n=7v7Y8EA3m!N1aSrUP~Y*D7QS~6edoGb!G~eCo0Sw(GD~V06#IjQVg##-SJFL zExFPf3n`To(dDp&h9b<)l5Xjwgwj?4G>WC_5%IAsbdPf3UW_Mq!q|W%&#v}3Atq#5qTVLhMvH&r9cBf+6MA6Y8W`ZYt1^`!>TNmVzGNj$TkReW#0q4J zR1m#VE7Q2jypIeufkuYtu@lH&~XmWbi1m+44 zr7P%WAj!Re8&gcLL2s3{$QQ82vjD|lN59B*F^Q1?8};rDD4~!vKHFr6D|iPk;T!Iq zJmEE#k;0Zx2#mhyO@t7flyT>GhA4DQULL-*b zH)=#mmuanEe0}j|cs0gGRnySaV&N+#j;O_vkHV`GDba248KxYF=uS3-a50-uR_*}Q zRee8To_e)gA|1dV8P^yU4xxEJhnTd;5Np>UIK@ZX!Mf90!*V3VLI@rH!se7gY=JXY z<%hP;sc%SYjlPJ%-nKtRf^ms=FjslEliinb0?h zBbzk~FtK&>ygm&Zo9bQM05RJqTf1;ac#*L7Yc}W}&Y<_=c$Y2uL=E91;8GS~G4B-o zI>Zj+J_gVLx5qJ08HakRwr&t{lraNlwsO5CQT!OwHR07W1Sb(0mXpwjt|wOADv|AB zgFs0IHhzo)lGK}z#G%o#(kU6vpx8v&yf{!%v4xtOOmYW6cu^8W5mdGt8aE_1bl^R5 z4qWRgiA{z9gc03kHaF3%NC*lRyTK5j}rtG*s95%~7g zJeLDgNT$Rzq249a;?>C7*cG@9r>mg9jDhZ0WF&o<{=VK5NN&!0AFyIW)q&v|NOkOrsE?`G;=+a9!@Z`B~paX(JS(839n0UZ!^V1RfcOsY*nO z)Or>xWC^CtiQgL{j2MQ?fK^ICs@qNlp8#rBq+z2%UiBMHBMh^kBZl&sI|+ohrkW>dPIr#D+~nxTyK4w+dR# zR8pOlW0spmna-lFGQ31VL4k>B`>x{|b*Y=w5G8Xpb!oM3Vyl+wP@c=v2oZuE3)>0U z4t1051K3dg9;I!q%xkmLwVijn8%VREr>$*yT@aMe@QjkqHbKOAn36k*#VxIjj!ml> z=4KY7KFiY3@+_;&`5SUUU@gyQN`f|qd1|pj>RXuXu=LudHIer1{jF_1@}g>SIIkwk~Wi}bsTPelEEpO<8{G?MZTI7NfsUhs_XtGkS9dm3K@NnOi4hQ`au zOb=q;)OF*y&dJFlnet@pUO%&z=MWKW@7`@`ffrSf&PV-JIOg_m!^EoXXg}AzkHSJ^ z5v0zeaqcy$uaK(5on!^x(`MgHPt(gGi;jLAD8mkJ-2Vn7B$Os^~#U&u8ogvPAs}YCPGUj6ZC@bV=t^E zIzsS~U4+=lHu z|0`IHcbc_&As_hk+e=&S8)D-&lBiEw5FKjAh>motepb;H zc?N$o@JidC(s6@nvV zyM8hy<;W$a%1E3s|VdRp|6R;k~5pW4A~VeJ#oid;h6}+B}y8d zm2|}L%*E(?LXv3H*+#5ktfbeFWD>(=Y~8fW@ji(B4I>q!x4VQfXhb-KHx-{;FvFu_ zj%A+V+3~RNGn_{X=(_<6T{-XAXFh!!V}p@4rWm+MH@j)wVrj`fQ7xNnT6m;^_SGIn zj5ZTJoiQ9A*IC?Ui1wy0A$E|Hsc1_HTs9ZDHXeBt(5Ro6*qYuxX?O3{)rY68)no7$ zpSLEftWpdfPTLhd(=KBk(^}cYYF--OO1#vIw9OoFs7Z@fe48x!p7xy#-TY=kcJ;a@ zL&1^~Uj(fNrKrhh=wmWrl-m?LJKe9@BsWGGmA0b<}N3V{q>cntIN3X)-Sdy(chKX^|%G2D7Zyc*%1bn`K;wXm=f|9yl`z3coKyOlexz=uQZlUBzS+>%mg@8|RimLh^X_>xL%9s1Z= z7BgdCSBIs^#2k(0r<>029T>h>MZ7#a`KpqZ`ufQ*ggr<7)+=>+KUPRHW-|ZYyd(ek zLRVC7<8}@$by`nybdT8yJq(k`U>j!=aMqT&-(| z#JiUn1JrE(!eql1mpR!mto_l@$o4lUoa^RMj?x_66fW!T@tAkf$4MHcwafK%oy7~j zBrv*=ahy!vj!PJ)yd!c$CpNrVnbyg8mEvSk(m?(-L-s^U(8My=TP}hLdOtryCGuLK zc!P`t{p$jnR_UXyI|KpQxaUqUOm3C)+)_!}WMw|d5@zelHmLSa;L%t~{5)e_?h;}F zSYqKbUSWO)P+O6kW3*hQe#J7C+SBo6TG0EkiAqbDh32|^D7}hRU2oh%!gg)_8_^Ik zAa~9R6nw3H+i}l!@EuB9Z6)R1)m4yV1KorjY&p zdo^sv41VJcx4L^6yl!3Jn!|9uG17aRnX)0i_oeSeF9)}-Llzz5hfyB~jX+xG09DAl zvuJ+ZYahv+0~`h(5nktfR}&zWJXd3Ldf5;hBj|B4`TCKIjt~7puFTHyU5!t$8v*kq z*Tk#r<10^2^6$2;XUcz(EAp9j9&aw^deBlrxh(MMWzASZyR}ycUhV?aO)uHfpSe$W z(3@UP=Al;Rs%m|$zx;COXEeL(4(fUOwgKnV<3^M-{m!R!m z@RI;^czBAi3ci^3#7%`)Ft%lQ#gzI%1;rYwVP?0)UiGKju6gjNf?%+r)2R@8soM3j z8#TwT=Y*)A5Vmy@Swn1^ZznoaH@*rqtnoUhd6FyFOlGEAoMUrsNfR7$e5LN2KzBhMOv@4je@{j0??cuExf>9Z&0PJmO+` zl;EHvUe}$zvd?usU>RuaKOm9~CrPvq5roH_Ab-qz**ykwx5P~gy|_wDfBg#u%dL$# z1edC!Y+<|Yj`XuE+8p&WOn>%*247fX=b=N^*+RR3CRd`fX&bN>s?mEf6i_}Rb7Wh$ z>hQwQgVVU_-W3y-?2XVwE#fzeHm(k|#7j9sCC*b6Q!ar9c~kBrQEAoI8a~^sC0qDw zsS24KxR|_KSO#Bm#kdUVtqEhX05h2p(SeI1UlmE7p-nexGE#Y#h)+>HHWQRTI(V!^ zAgPs6J1X;7;&9J&%=d2eeVfp%Q!Qec#zs}et()Bzmf1Ttb&o~HvJScf)Rcx8zC?4r zvx}CHUt8+9V=mP?uN1+0%J4=tz2dr$NdM5sMm}Gd2PNio#J428{O5)HL&C@J8Q}vv zakhscGGk+&x6ztJ2D;r&zGl2bb{xp7xNGH+{POqs2la42@6B(pU#~y+;LJZmxfsy^!J{SbEXdK)dgI$u7IR6DHau)M))? zQ_#(xTBDTJ^P9ng^@PMXKEf9@MjrBH68tpW9^ua4YP^BV<3ySz__XiXqeQlOR*`$Fw&lB3O#0YEu&tYYWVqPWTbiSyWGO zG1-W&3Ed$h1`VIcdyU9?;aL+u0@kO^#5IOpC;4VGLMY*DOOMe>e~g%(uPij+oqlv` z0J4PuJ+W`omI+{(>0Jvp2xl0D*##7uv(sdi1pso^XG+UhcOQyqG<20(L*BDEayt(u zy(oL0u{=^I_f`{7dyE69T&q!o=b2u8l+*$cU^g-05sxRD;w{dw~!Y+zf+0 za83Vf_JE4SjUz=r1%lbz zl2CGw+SGdMznb<7Ep$3$Q?uf09-E7REK}DYx3iMD>O^EPu2oX*Pa|yj@PQQpC2T zNptygw5(@+glO&bcdayW9w??k&>ulYMorpmi*YrUj7+1ohkE-GgoNMlFrzQSrlcZ+ zpkckX62q?lIhOKhKCep|wmR24jqKSUsaWkrQq8%MB6^;4ZX8D4Z$S z&EkW=qSF10nFekz*|TWnFXAj)gPjT=;b84M7xHfk)=4l4Y(T+MowxQuQNvt4)T2Vl zb)4)sBJ3%2Q$W}sy!5F<&M-obiPy|Oh%ei;6W$n=vuAe~kzZ%ynW>e-lvZP=)VxTj zAA-UH)18;x6$)ZAu#Lo>)LkBtVt5~2OV;|mVW1Kn`*l*z(IfD|FU3&?rI8xYP5sn3Hl z>ZV|$1IaWV%hAeLS0&<3$4!(v4j`u2hx}t_UrlwPCoFM)YR$u^>>|$iMhn?7^)tk_ z^j0bTtzN!K+rviuUFHJGHsQ3~8(z>BxtAMQTKl#ZpX4p-gwM!khK|mix3ffM$2W`n zNuC-n`qA5o6EoYS4klo8rjtE8wtD_iL3NluSPIAxA(7rdHnZZ+-yvcg<%=SkWZ?vPbgY7N+c z$3T{Yr#w#=Ex>q6#hVk^kXY&o8+j=Svsq?V_8JM>&~}oOB9=Lr)fwkV20U2iDqJmq zvD-$pIOU^fm0H<7;Gl&C82jE50XY9DTw}Ubl#*l>kwtZryetQ8b4_hS3Xa7x%~xlbBOyNSmR6G0qvs{IFc+p94&*A)EMX{1c7B`J z8eqFtMk~)w)*(Q5#mhc1|U((?R@(fjw!Fd8+FrKd7RLXk@d(ux@m5=|N zJ|r8r(cG4{OJw?4YuStJykgL{=|M|HW^=ZKxe5ZYXsJE(GUC(L@D-`4c5 z0{ipIhATePryxdC46;v?^-`Etj<*~Sddyl~pmf0OqY^7=E2cDyfY62F#h4_v`aS?F zdE<~$)e4_@tYd%kzKWw7dIa?Z`v-$CiYNFd!}4nQoCNba?E$?CXXHD@=~%8xRqy%ylkjbWJy1fh^mpL5}0>jD&;oJ9fzPx4(0{P+Cx3JUxmXo7#j|M&9$9sl2b{>VR4LkmE)!T0?CZ}>+={k{EN z|NpM>|2O;#{}*rN`Kbc`g#Yj5|2zJ_`}~oA6!$2$zUTk%@c-+6s^4>uO8pc5N05Gh zeg8r3r~1FN|9|K1e}#Y4A7}?7@jb>L`Tw8WPxXDb1!~9K@9ppS|4Aqh{`39-)K4YO z27d1LKJwna{vO^ga)JT>)lJ}pEW`KNtV$a6ulENa%Z{qU-|_#wj{j&60paiW5TL^U zR@iBXEKuTupMR1<%-{khAXYX22)n>W#6;=W1AVJUNPo#MaP;eaiCiVf!R3?y+n?OC zuM6`BHkkTM`FYj99_^!bVbRh|uW)XT(={|S{8hJ%{Or#ba(YBiuey_W@RXux|CBAl~^mrtAw2=jw#oE0o&N|iHeuZA9s!{ zo80Tzp6duU))z}%ZRJW!QKVkndT76xP-)8HaLjT?9Vb!7Y%zWXp8wUwmMH1Nq0Sk@ z3`aFBngPsbrM2XGYUqbU%&*tCpAYtY{(%1}nHF8s$dGHqxWhZUX+34^+2Oj*Fy6*bgIK78-JGH|1JlVl)AEYKqDb)VGjxV7Mk|%ER40vMI``c<0ZAFc z@%NiJ&=@sL;mOwf8lO5D8!*W|du^Unuv}6Qlz|y_w8}H}uinpI=p%U{%Q_ZouyRMV z-(^>k{lfe6mThJ5EZ>!47w$KYH775WbfwHxaM|vE@?rj%df!WR?T-Fb-pCzAcDOMa z@h%21ymUOL0CApzqbQrsHd-(?RH1p|o`yrr5Q}Ih39Rr7HrtP@^rE>Ky61V3dhofy zaeJ!ag5Ld1zp;A19s4B2+RKEUSG$vZB1Rvet$;&kuTey6);LX!~_{z zN9p?-B&qY1wc}RpEo~|LmeojNKM!`%w>(mEd_>unnGEIs;;>o?FrT|sH&s~7SMs&@ z1G*IUyB_Oox(Smw-!u+WwyKu*e7yF(H!WSeNm;;}{3W7TOw+@ExF~3*04hd`14=I+I;ZHTwm7P))yzPEecA z!kDK&`)baP3<*p*NPF|SclP_C^OrsEMYl%Q-R8M4b5HJ!QU+Evkq=DRt$Za)W?v>Y zlDT>MVx!D!@_|Z6penao43-G{Wb~U?wtd6%EtP$Gf@rrEG~`sU*6%pj1V7NzimkRZ zWFXh2^P-YD>#>Hj+K%(D03vnd)JpGORaf_>m-l*JeL^3#OQNUf-fi&A&KU9%zC%Bm zo$XZyl79ec)X}|Jq4T2nA;_Z^xmvQsMjzeC04XPP-;Z@# zeMhETrkQOkG$Y)5+RN*q94d|^JtR1~7 zw|rT<7mu`jZ%0WJk{!9<^BjK}?)hL@?AVH4MWoBy{Do7;O@o6wSL+USbop)gWU8Ha z(CSW38~UubM|5M0B?d5qDp^!CJ!wPgA@^W}spAuI_=Mby0JcTK`PPufpmN&oWq#nb z&r_C3H3eMbWXVZabiNHfOmpmdY*k)BkZv`P2W&~fF2sXc&++b*>Drdp|47AvxgyCL<6;hJ3-1i*?bJ3 zPZr^D@0E8l>bUB-c;v$I^^W~CA3|}u^Y&dAqRXC(XegDr#8;`y%x`U9+P>SLxNmAY^ zp9?lsrnDBv`zvvGE)yyMdYp#PkN$Ck0|@32VbS zUz9{!L+;b4Dbz<2-@Ct&w+I)+CjL}hp|vtXmcY87Hejd0Od=NMIoEDO=#Lc{l}nXz^__mh3=Zi1cs0Q8lVV>Enw&sf z$hD6IbHE4sy;F;|6UwJj^%7lu)z|UQ3}S^(d(6=1HdB81Xxs{e)tQFFFZZz`4TprAe^Np zCfd@x(&R+t`11@6^5siLm|6s-vq*yY7=$|SuoHz5ItUU zf?zBwtN{*vC#omJH%j6@vJ{jdf+PVp7%f(633B_i)ryVlYtj~!!!v|>DlnOFCa*XV zH++03j#Yx%OPI#e70zB=1A{nHCiCU%EXv1pf&uq9Tljds*ic!4b4`a>*wMwjoM;2Zs(N<(H zVXUJ9k)kGXDAt&|AHOY>P zg%kQGb;yZIouL77uK^f$)tat>BX5_0{H=|`SG9_K8BKITcJk&!wk(rm$hx%#uKFg2 zYc<4&fl&`F@~wiw$TVbyRzd~65hxa(M;H!AjK<*rg&6>AXj{#y`2cDqIRi?T{^DNz zX^y#mfI}FEP@Fa3HbVC@-GHXiC1OYkYhY#U}UO; zMidWbBDV~k^g06|l^76^1ezQGJZcN*?xh@cK~Td$EMBZU)woRSa2rgg3}4QMdlqMBaM-$i>Ow*BBLJ63JOqPQ%4Wj7CRPs9mo{S@} z8P%8pS64XGifn13+C9b9#Ytv;Et96xTR0JMS4oMrvdhA<&tQN|qD0bJ@-Qp5+VD(# zX?bG24FhaDNE#Q{^jab*Cp3~^wjUP=yhBX11AxJg(U%Z?JHuW&o)`MmKtY)TbKEQP zucVwpfk&RCtr-Nc)KNOMv@j(O$D-l`b_ij0u^mxAM%t5XJMm(2)rUtzWBi(=v2q*g z($opeF>N1I>&@OyxMt;btyQc*5YWz*+cv{yvryGvkOEkvm>Vwc3x~$+Lce8 zEUdn8@D$@tGf_YRc2I$L2*-B<*m3NG32?gL)ej&l#cSduxuHy*;=1VWc}}{wgl0lm zyvlBPRGnlNugOFF67(UsPDDAE#!6N`T-g-Do}64G9gMwQ{k(@4r=OMGE2~(6u@71B z8-?-VuknHMd+;4{M+L7^6UJ1MgrR6@6`*%Q@!m1=XurG#qBw(cj=(Uu4b-Lv6&WWUeH9kc4q)fa{ z{j9~=3WD|O-V|d3c4SB4-A>b@ntkz?W{BN4SNHrFdzW&VUQLah4ocq!U*X<3W%c8$ z^iC^&Lz|Cvp%kA(xitqNX4B3y>UYke-Z)DzaHN-U)JhiuN#sjq0%U~HcWXXeGR);6 z^5(WC1KeM`l0*tQbulTio#tgcw%2;)f zWKY#G8lre3bzKX%n{uV1arp3>8(Y`zT^KMxpKxpZ79s&#`U(jF7jFQw!^Fx!Rau9R zC-}y$f3Cgi+e#UG5Hzfen_KQsfqZ;I2Op7hBX0`ug{XPXb1L=ImN+CzUhc`dCp~B6 zu5Sw1P>X}las(KyAq}lhiG!*W8Zar$hA;vA5x4;qYKoP;B=~;*TXtPeR+H@DEi|uv zNSZ3)O`lB-QHFMeLsC1t9Hl_$Hd;xS=lh0YH8czQ=qRmEMDEZ)D6Oz)EQx|RJS7*{ zZc3^x{DCjb8M~Lfts+PrM5!{t5zLF0pk})zzoI5jUaHUH%YLowct~N3bxp9qQdx5C zM1aR)HrW$x6m7kzK|XI0df9h_z^aOb4^z(H7-G%Mqh{P|;bR(Zsy9jDXJ6Gblm#CB&w^m03oK z!-2y~lu&b4s-lMB;P6SG5wNHem`**ffMxfRf! zb7}^bhZPGA3EsE!nz%R8c{5#DrJSqRm$0~&6yH9x7~@Pz*DB>u1BBRVNdrtX-UY8` z;jyI2kpu2?-V3*)R@UdJUfOoV*1K%RRP`ulZu2K;> zrIK@3G^C#eKy^EBg8nFc=|D{{F`7X-qSx~?B@k3-@tWRq_lr;xZF3wz3t){Anm569 z6!Ax|@z+;uB>n1;x10cS{<9ebE>@uRXQdk>%A<&RWA-YTp;bU72+h$;Gf9BhiulDcp>kuq=7WxjSeM&v0{p>2}%d50KQ@s+8Bf8Gv* zm%KF3o31}`U5^&CN^Px@Tk-2^oPo-AyPY*JH`HMrR|CiHOFrAyx)zRM;4@`-pl~y&p5<#_WT&<1rVf3=OA`(WPQI>JLi;>#ueDb zw6SMMfq@-=PrN)4c4crcpF@?Dd(ZgDXK%#q1dxaBS-WZJSBNq5B1=M%&@?{=T)oweDT_{sUEeuc}q`oOAZx=hF+yJ7ocZ7*r0%a6j^j9du2Nr3gPWcv{BV4Z0cUt0Hs@kh;~jUm0s(P#;w&AYH1 zHQ*Igh=Hz6yi%@+XQEi!(jjIFZ?Q+5N52`41Q@S zLVx(BI>YuEej!#xVz9e?dV?vlW((G(g3_oZ&fnU=^Zk|}lGxj$ zQ1Kylq7@ggp(xtRTgz^-9o#B~btko^1e?`bu&&+(KFJpA-66M26HJ|qyL$V}ZPtuq z8>Q0j&Z@Ww>j3usQlN9_Iy@y{X*;jco^bN#$c4aK3!9H05&DYbdBjkXW}=fAQc26V z8hIhdwv%Bm#baQSw`4r{GwIR=Y^b-~FT;z>6=Xk+)V+>W)Q48z-}r znof@Msw_k-u=XO6X6h^aqU=0-Z~?>)nmh!>`hY6((M9X%xIG1h`5=kY9MhzvhhoP? zEAMaJh+=*FhxQ@z>2qu?jow)hF)MViWB~GS->P2+0Y%>q{Qk_VHssf^!{1i9+L^m| zOAJ>EvHl-p*cP(~BD0wfOs^BW4gGibwrR=lW1!QMe4pb*`p<>j;B*(DstMKwcSgOQ z{`M`g;cMB#=2qR_lveg2ToM1#I<1iu=1Tp{T|v&hqeOars?y|z(yc++T!SHn`>>JPupvw&i|wt?z? zx_O-ZOOv+f-rTNbM<2Rjkt&qNj`8--iCT8=$Mk&z3}TC_%=|p0;cDz^c@_eqT4Lx; zzpF?fyrspN{0ZH1;(eluLMW3yn69D^kEo z#YXlBlK|DSi=a${m7xtK2B@e`IuJOjGU1354v_b*6(0Y1bO!1hpG#nl+1rKt&A}XJ z-oOivEJ16{U-F1|QyD>wE%J2v*E-0TDJD`9A96@4Cxf$r%jrW2)uatD4%w*o=OK}5 zTttDrFy9b?8kQ@LF#ri39#TeikWR5@TRFd{8?ykc5V3?^@h@xcrxqG;yzWqi0uZlFk)ZZz%*hDS&f`6;{lNfYA;p! zf+@BNMOTwWzO}Kc8nM|egM!wBzYS!{v~aOtcDquS`R|%S^RZfGg#3Q58X-Okun8mc z9|r+9L1qy**O}Exn#Qu5+oMMB#~4(k^n8AwKf^J^i1RnVdktONc;#W7a^NpZ*7`;>QT4ye zxB+-TR~)6}NKNx%<-|Qjr2Afz2e(swbK}Gc#uQd8NoZ(0)uJjSO%Zdo{*1s%6X_Fh z3>q8sxC&J7pm^?b5`$P-nNQW8=-5@IZkl~Q?eyQV-zxrb%hf}e=j;Zw5|}EKHcl5g z0S1-A3V8~q@vf9f?lxK-T~3O}mq_iV8zM%Pwe@XAy)6wa$d^1A>d1RfI<^Qlq^qj! z1sC^<*Rpx@K)o#>$UXjShJ5!Ut)lDVW`Wq+scv;obs$H!pN5XKv!{|}mP^O()fNIr zB5Q5t&1Uvv6$Jd9s0bqn>@&M7?lF%9R5-L3?>c%^o@rlqJlM_w|EXTNe0Sk` z{ceDm8&bY8@m=Nu;c3-Y_*r2i5VZ_amS$H zopXLzyUnT`EcKa?Uz*N||NB&_U%d0nSIH)C$`2#7B#>qHn z^^3ksrwTL&E!OY-FCeG?4^Y?wpqT#w)ED&cfsbq}R3+<5-^{ZG@`Jd$qye*FupY}n ziEWWajtm7^ZP){B3-Wj&ow7*1T-GpiCEFHl>Td8S6lKbgAZ|71pVdKTe{g3u%nUQ> zc+sMWMGSj=4)?EZpUrqK^A1~dxnaPN$xk*D)FZEo;g`j)kvYU zgFVqK)-#?eCUE$EL@O((AmE4~i^sE=po3JTDKAQ=W`>dTuu!mtry3hZ>xil^Q6h%! za_~YP?YuK0-Mlz1|ACOW3-(1x!0z3=lMVlIlD9d1Eg7y>!o(o;7eIfPaR#?LoBls2 z$p1yb{2vr4n{$h*%L4+oejXU#bj%@CIDQ?VG^}L5kPlC}7>YOE~SC0nQ zQ5oOoX66@INjhAo`{!<-+}roAo!s=Q`5C(`*SdRH0}`}AVgcD)&Ztmny@&(^A>JfA z_=|5*!+o`rMjyHUuQ# z7T<*mobcyEcsHM7w^&@6T(WVg;E{kqB%w#wWo=&31W>-pB~WlroPn0vmz8zOZ^>jB zrJ0PiUprCEkHc2OQsSel{yPIqh7LoWGeEJIjE=Ksekxs22AuQ6+<6n=5HBDGa?IS( zSabiQR(;`5^MDWtvBz3hgtY%3-A5Y8F{5%|Zp!qkD%ZRT)ImV!i4G=SSK- zA~^z=D5!h#Eo2jG!ox^{M>7>ALuL;XIrwqZ1q{BQr)9K3O!D?{XwhN~r4&P5q)hYPG!A8*hetF-x&?TYZX~1Mb}bm#rOSH`lf;a@-ka}< z`K1bnemxJkwG7FV<1>8)sN55pqJbolm969~$f>qeFJW%ww-)?GeGf%c*a~tcbx5-^ zm$o>$sNIAN#+f-OI95!f#CgLVp1H7{KOivf3Q^w-_ymj zccHN3OFA6F^CIEu|GYhNJ9G7#dKYDL(byW$R|Kyv-<_KL;~pDWXd0620gUa019_VK48!X%e?;l}H;UC?+qnB`pcw#pc_U-46 z8tT>!l@7xv#n5t}pCO1j8*Cm%6m4xU7@RvSQ9HUr4GLbjODoFk=Qw3ajUg7e*G=Ld zeXeRC9k~odc=iE4>L%wGx@EB~-|Rmvj|#aczuv!PF#$7!HrC}bW+!!o560a>q51vx z=ej7Y`F%%i7o#TsyqI^+y%}OMcvcE@iqS8pi}0TUKHabtqETg*CWv4$BD=y@qMQs3 z^S$=mk})mF5>uq5m9(Dr;11uyOVtq`iMB>7X}?doIO|;v9XjXMN*<@oi8#f%u+0Rh z6BDHInY0yZ&h9OgopIe;O;~+YM^J250q;4^aLpUaLygCtGMaai?)_65Rl5n9U3#ll zS>}mSclGo)+##*=iA9>w-q%PWnat0W@D_TSKToqPC_g`bz;8WWSO%Urmah}?E5?OG z-Sq{t<}2bEH{QIK!r8p#MCvkn6waxXtzQL!DjA{$wYNu z_Iatk$6Fsdu;@N8Yc#l~Zpxn2#ukq?z5(42A#dvQFe_>oYK9;AXvIOlD}AAMc=NR% z%j9hl7T31%*+%C1-k`$C06J*`6vDh=dHZFqsT|@u%MAjBatL_OLS$lCp&}zxle<_k zJ&R%7^!Q%nS5m4OL3(ORF{sQzSkavWQJ^1;lSce zdlj#pT88{8_JO5^b;r5?_+Fj5LbZ9$U!znPym-`1Ebc*VRNe>t8Ts z5s^7`64-fW(7E!*b$};E%3J+cm;NS;wg&~=Reu(RJdv20q&Reqn9cWSSC6IIfKfqN z$(ts+4$gSY$FPg$FhZez0D3X+qgaWlzTml4_v9KVrpm!^wTIoF%0ksjFGt`l`5ey! z>m+W{Fk*-$WW-zKdcxCm)vtxubK1T5?7i)!Umu@}2=fg`?G?|wG#os3QIR-6OV(VL z_ypL;&dxKUkOBew+E#uYb;ZW5%}WYqS8id&`K1qNe)_@Tp{pRgu6z3RW%Uw|qcb-v;VFV+6LcRE?0>v^PM0*gExWqYz4OkVL1$BDeQ=3`#R)$OgMNSI^f`E4 z&CaaxFB3p>Gfqf|^&BICpXs+7lmW=BwsfnD0N!>Q(nx{x5#S z%vX03{*UX~#-9l6s?s}qYIT=|-)^py4B+D3q+he_z>k(bpB3$o)FsXI3pNtM-3J>0uNyaC{cTW&sTa(Q;C z`x6(!mRoUMxyYvq7D!yCk*ymcii-YLoa!!r#mY;TVeexINQ3hOnHu%g`LywBC`&P_ zvZ(it%eHvzl3<*NAR6gF>=%sJuj-P01z2f$vKRJJZpDwd8vE!7A5@Vm0S) zue7a8cMqvcpKYWaZ2Bkd>yIY-3@~`l#La)MKqZOC&Cae(Wy;G!z1tt{TG=V2@*DWq#L{3dmDD(`nN*6hg)W;@%c{0D zN}5dAvHOCFeSh}%UHFB9o0v->T|-YZKO4teJa16^0R01+@f>vHbAHm^cW0uoJy|N6 zz$j2AC;K6V-ON?qLlOS5LgcT*etv^r8;KVnmGr+L@}o%q8;G3|{{=A%_HOl2Y3NRa zdgG;rC|xelu4MB2P`X|_BcwN-{xtt+|HqVPww?R*kOWT2zV2AVq$}j* z&SR;kU+{tzp&{u)DDl!uILvPwFC?!+GAIzdZV{(O)qPnCRD^DJ`(pbn)Lnr~Qa1@;0XVg5KU_^zz2K$}A zWKW*D2FIEybbzm!1awlT$@7*e68p)u(&Yp!-v1Z3*dpQMzHDCEQFjP#K8QKbUhON8lwGv&SM7>Tf6wXS%tq z^M_OC#ZiY;Mo>2N?d~*gt+Myr`cYJk382ClB_Cd9Us>PvSKFfNEXi;;Isi64x{&w- zM6rr^*7opQ>)YTJJ(bT_f7JNh1L6~k=;68DT8H|a_ItckDsYhjTIdAjm+MCd}cy`3;SUsoX zStTV9(o@poG0A$LJBn-dOKqt({1CV2oa%r(DtkkY1LSzo@QzEk^~XKYG-p6vI3$It(i^;}Xmm?+zOdY}$5 zZEHJSa7mh{Ka0Ztkv01hzab_Au{MDjTagONy)pEcy!D&n-$ZAv0QKJvFvjomtG!p+ zAZbV7gY@cEJ}Zsfw=*gsvZan9*`C-sR7s_TDqv-FW6C@bLELp_{F%9L!>LsMaHnZt zIi~>>e0ceA2f%STl^SK^6O&SkOvXRyNw}t`+5>-ahn;~z^__z^F=_IoL6(Wxmr72r@X5Ofkk4-vNd?z9ou}czgbF^Jz)&`tDdxHfxa2S zhF~WCSAm(P83qQeq|speu){&5W~?^~EaRGp8Mek3gdtpL?YW8#p`SP%AUN>tm-HzG zp(mp|-nU*=02a!O8H_AIw}Llse0EEAJzLuwO$8jkDOlY#`4zhjE$ z?Ax=RJHaU@@-77oM4$t-OYhWRsEnlRDhEqJ`f&F??J*1f z8tf7U<9nW5-`+QGy5f)|%J#=K(#-Wbb6brTN=VHhdTgz(CRcNcU_9yw&|UWZ-}X7> zs5j7_Z|HLHjSLf>7KFjfGia+hK*7tzu(lu=j2@ad6vpv>ckb99N30C2)MxSqmW-`ccmNeVv-OTPec2U+ zlU8w}vE}GU)s>hYD^Nhosgc2}{%~E}e2+-?l9FOxelq{q>1ggCdIh z-@dl*+a)PNwXL=;!2c4XG&6e4wgg6x*XaXuZ6bLL7CH39tdBfpe$@q7tQ$@=IRHFJWLom3V=%K(3KnxBpUO9Q5f zO$lpvzN@TH#=a5Y;(6sZHWKBcFG4uq&ht^9&4d>k*#fz10ed#F^R~$v8ObFxOvsvq zKC5ytNYJ4SifaaVZ+>n!ChI~%1r&MjQi!4RE(u8$h*^SuZAK(+X9r`euir)I8ne1`+aQZbD$)KQZH{HT(tP{*_{-E( zeH-IKlW9EDk1>WqEKZ7My4yW7$!b3AyDitHBF;T(+;Aa?5`d4kbZ4j))OJoCPO9s zl1yEa+B`%X@c=|E?k`FAO|YL$jcg)?)oqh^Te4%`E$FaOx1ZJ#?W1un7_MKK18d{e zDXG!U1VTJ^`dL{sL(?UoMuPrke82Hxm`E2> zALd{BkJe)8>*};QlAPqsyE=j*dr+0XCUD@-*{L2^x(b#3o4Gq}=+?~-FQ^B4UWGLM z5xH_8r~XZQ0(W_7RQ-7#dD_Be=bDF5ENbRRxKZuWs>h8=G*pg==}DKaK>LkyR&I%Oit$JkkjA5( z%=_19pLq$gMo(0pE9RYRh9&|{>8E|&XskEm4~sEP7)1@nYIqNc=+j6z+FTm)1vyP^ zF2Y$Aq496YjTmDncKGW#~YvEY^Pa&O@(|ksIn`EKeFpR4{>~Bl3X}BeHjixp z80aq-7LrVj9{ep_DXz$rw+^T2lPK{*)Yit)Uct|$H{Tx;{G~?YU}(@og-^pd|$NzmTr&j$_$nDR=B%8aNa$;qEJf*HBeFGseBKBMi9& zDOwvYJ4;SV%RpH}XB>LUpb$C|_(`c-6sBhZ%iC+(Lc=XDK>hqCG5Q9t{~wAxM2|d) zPN5udUC1LP9w(u@E#P~ST{Ii=@KC{hbW7N&S3GUTG76Bkw&qAfMK=sFE*Sw`3fAnp zkjvW178$ky4tfwDVOA=+L-%q}`d6MJ@kVV2tuv=&A0i<2dd3Hm?Fb;lNZ7UdmKFyV zq0^2uG-DC?7*PG*FK=}=$zx2QO*URwBci>J)h1uiPmOd8Kj-llJl0I@k~@TV z@do)qm#3OCY@4Xp=5i&d#848>5B}onUm9~g zeY)PDW>u%ImZSfH-(iR zns>5TI{)^f(b(h1{h3c6BSu`PH6;|${(J9V+-NpBbDGe+!(;W^CMl;rFr|st6tNi} zqQolouysOYS=r|O;C}b4Q)6*IeU^VHPV@Apy+1eClIJ4BJ}uS&%~B;lAPR+e|1GMn z!8`H=x~w;KUliUYdLH4M#7n%c<|?NgtvY&Hxov;2{N2XQZ4G-=G;sFZ#%BMLJy%!X z)!o9pBE0*Z?Ef$W=Y(Q>c2N7iEu;Ip+xvcleMuW+r$%lNXs^`yo|-bJ%~qd`s|t%P*E*oYxsxii__0>EuR zN%HB|MRjN)UZgl5@Sj-_^Y!Fd5P3HXzov?hCBDTh6o7#=hiTXOzA1CsXj~h=EI5>p z;E5~3U@%{fhgMbns44S)!7COMfWP1JVivQVf$rX)OdLj+>!uOn?L|$Z**03)p3nc) z>r^%rqQy&j)ff{_W*YTJU0upBN7wsX^~GilG0sf6#^Ft?`s9(1vA(X0jRGE8_i+{c z+8NdCVPtyH$O8*L+Ypo~EfkS~Q+3-1%rSt58sK{Tny23pbyL4C|KwfsmaU2v?(<>5 z$yd^pO1JU9>mb1+L`lMDZ089sU?}*rj>=qUyxXf8Ue0z+4-F|x7mEdaN2zWNne>Lt zK>n`eC6_xHk=4~0GuUMRT(O%dIiWj!=fxBLtvlj_yX`zP}qZ_zu;ugH>38}XHs%gFg1u&!OcC{l`cbPLEh+=7@Mh0W`)iRxp|bZ_C7*Ye*Z(7EzbxBG!{f$KUHR!sjO}Z>?pr2 zVI@5eE;(T_K?>RX@UbBA*z3lG=6)@7X~RvQPNRN+#2!PuR&ep=9!IRz$X$dK@Yox_X#l8N zzCxON=zn$f$#b8swa5@?QZqp)Q9_%urgi?dgyf48BXPTPz3&`iQgNGa&#H` zdPCs3k(b}l0_31)oz0KE29k<4A$27`%hks$%7AU9{C^zs#43xx=UMb8-8|mmMS!^o zvDe_~w=k@l} zKRkUh&!3Hyd#Bs+o7UtsAZH70V*JzZ)mrr6!+X|h_wrxD+GRDPG=CS7CHL9gE3Gu# z!v(nvGr97Wmu^4)vKweVYzzc1|J_HXp%$Tf*ST!LMJ808^xAVR__aQ-r1UGq^I2*} z%13hH01g_U*_EoGew69)aPOxG+u-D0=WaV$wD=XhPakh(oC?Kg7VBoPxxgXQ=X-Nyq14Hs+{AQ{j}QN4(r|mJ3B6JndCoBk|oSFkFxWlC;k14#m6u$u~n!KII874ez2lFvc&dNStQDV*^hayT}rZQ|vS zV&$P6y$t1Fee7hOXZM+O6^9)~D1>_)9Hs_?>ld7X8hje4E&S7}?zGwP?l;8mv~t92 zpp4_FERSBJXK{;F2h+dlCI3|I%q$P;%kTP*s*z9T!tkjB0# z)P1ptmA3BQTkz5GhT*vkVhx=C`T+x@S)7FFP7xd_%7qIL+Scdkcwr9|OTs)ak*+1= z>k}uBA+Gm6iJ#t=rqm5QI`3!|%0hP4KMvVg2b|vtJes;;A?5tD1e0WdUrZd&F}*k; z%*l<3>6F1%0JEa16W82^6~w1sVJn-JVcL;cvtsA-mNUN|Z;d$t6yITi)wZD^x|v52*OEm-d(M78;0u{sc!wA6riC zeMM&;eexUj&Xa#|p1y&Qpit>$P&)=@5twv!=8^Jv3%i0&{gicO20czX5(8pLeS1@| z(L{u{D$uMlmzg!zZ!dL957bI`}a|X zO30obz4wH0npb`KV4dIYSl$`>$&cY{D`OPgPzj#sz!TNZmGoz{cjd;GS;u2FGY1`l zk~Z#^luqrV=6@KHl;12wbPoa}e2Y5h6OifiFj=~%W@OeV)Q1@xadV0oAXJ3UoB;?k zIIDYY)hMaP1GC(rvmQ$)Zkg#xc`nc0B^i%rd%@A%$H7<=HI<+PQ(XXs(# zGn^SY+RJgAH&HcAflV1)*~=YnAbX+>=f<64{UDAH(ipW`;H+q^cRQZ>3JJS{sbsI zT}Zd>#>qeb&P>`|-z9{+@T`W%>kV0p+!?ox$SU9lj}?tscqzJIYtQCh-%hKMp3>ad z^9i^1P)Jym$*=$N7a9jQZRy4I6E00($=2I7r)obIju(33cKQE{?jBi7BXef5t?`07 z-tV1ehs{FDlF`Ho!|#+;59G(uY|n;2!q@7wb$jEyuOtL&SJ9q5MRi5K?2G2@^89Rn zWHU`Lxr$Jpx&K}laGNNyel?o^|MOkjsafD_{9nG1BM@y%TyRTD*o+wZK*J*=cva)6 zgvYMl`c9$6C!)aYw#WC1Wy(s^ybZZSl?Gz`FBTSh@1^^2fB~L{?)1`vqT;JX$erW8 z&qp7`UtC&K$3%?#Ii!3M=R43PD2#8CQa6+9N6^M5E;?eWZa{;oFAiri+n)ocMay() zkHXef$$_R;!Is*}(VW{mm(L|V_$b>}aFvTPv^Qe6YrE>}0yS^92ex``LRNi>pF(>m zc+TBXz^-z-eZAH++I%SBz{z-u6jl1|N5d*pe|qxwwOKX#=aSLCrBYa~n)aFS}nG`&n^emluHF9_9$wYa_tjd{)0`TGItRq4{= zch8&_EYPG?rob!J3r}k~aY*1&oYy+_Uj`-r4+iv~+yaPymU7e2`NjMC_3GZDr__C4 zJseqUCaZ91^(-Vc+Rp2cA{9v6=5`#ovES z@vhkw86CM)FIM{Zd$y9&z9Zf0N27!y+UNiD7MY_`G5iZyyn?LGVXv@U?1``-Zm!DG z^9xE7O}As}t2l`zZJm1iUp%vs4~d*Nies0E>m|}X^zPaLd!u0|43r5XBpWCnJYM%6 zeZG2geBh42XhVL*gX_PCEu!<46Xl?FeG9U>Qr{=SE;$IX6M~PV#cR;#Sz1w!WzE`_ zpB!6-?@n27#m1#E|1)hC6b)Xf_W@p~`){O+`Wo0f%<^!Y?5JP{XC7#LG#FfN-3p2+ z)6P{@(n@`UOPEa;y2X`hyjox3#?)% zI3o(iAQiFRYvQW6Gfd@R#j(jvz&ZOu;wt0N0I4wF|IRz*8Qz|WTLl|5*fRwVAZzCy z6F9UGly4lpNQ$G@E!;m&Cvw7&0-`~tm*7nFfvFou1^E; zC<`oFs-6=(xVd04^2#mu){omADS={NnkOS|Kr)_W{OK_&RHa`Jju|sMy?6#sFHE{^ zaN_*7SfWlZ@p=9R!=Qi6Jfri+Ffe1YM<AR(A9ZqpeCEs$qLR zm5gR5(vLfmym&)j8Svexi;5Wmz6Sx7dySA)v=uJFFd8Q3Hgf12;pK7;6dyMsbO0O@ zeQxKi_j7W_A7VAD$(byH$SkV6jHL1CQ)H^D>6ahEBpDk8+Y=I|%aHP#I^sAC_)bzK zU1|j2+|>1aWMx#=vh>#>D_a**VWFL&bb*KDpQeetoGSwVM%VcE+*T6Q(97m^9V zm4ooyTFfTbnBxGvftCk4s^(>RYGD-LvLVr>NfIg zeWG}R%R&pyQtIPDZ$4#|lj;Fst%OJPx~iu%6!(w5sDlpY{_gvsDA9H;VEj*+PBDmj zYlPbhZ9?qvTkWDAxq#ZDS}e`FeyOna(R7p5=6X`|Rj+vaiip*xKAycN87Us2mZQT! zPfL=&1q5dc;-hpQoQBLnO%Wwi%c*4lqMe~ITJ5`zdA>d&pT$U8gL8eJ49|8v_&DXC z>El~^Ck7lH?wN7DvQy4)Vfwqpcjs~9;&xovuklVVm$+tI69%uz(PQ`NPpj(d^z)bWV_PXLu!(IkmB_x~ zkBHKfHJ+|JEK}Meil#Ad7avps&PrE{PBmue2~V>ykNiybu5?)lxhPY)EUn7+RH+3s zPFl<}a*=BB($Yjbi!~M*V86!*LQz+TkIkknPJ$to{tiltqOPdEtcOCWeCCXHR8d){ z{kmof^dchH?V72bDj@l!*O!&*cmjpR1e?JY1n*ZbAW>(FXj-aZOY2d|O3Zaa(h&*=CW`bRa%u z=Hs*c0K7R1Kb+WNUfQNwzOW;@EY1LHNPhg|v_@h)!M;gS(ulQpBk>EFYS@ppoRq}A z_bW4}kC*@l;njUtLDZq8s=d&h^C8_pvlIOkv#N zD9sgRKy1KutUNj=d1md5kkl?DH>q8^jF3O{3Rgk) z9ynH0Tg(&!#T~Vq7Jg4E3Pae?&n5>JS^weWF@_pRfGArzabQDTVxZxr1|ut|e9udA zn-UiLs<_O&UZb9EZlwH7lo6mw`Lvz2NBY?wY4SiLEE5fJ2#h4*P=z^-Wz06{(;+{1 z*UfC!K4c$M0xovUh!q0AWQni!^V@I^0(IbpD5i$G^lGF`k7>RMtiSd>7jDj#8sy3% zYsCXAi$dGzhiLPAm@9O9RoyF z^2}A@-IFbnXD0E}466C-K3%%7k#pcqJKo8d{D5>VQ57R#S3JCwYc1Y7Ft*4z81uJS zSjA!l?k6eYqTZ>QU)NGyMi?2Vmz1V3!*Fb11$za`nZcp$Xem=IBql}U0F9{C3LzuP zscnixQlbQ>yc;ApMC8ejk}A`YSnd&I0N{wtGx+JK?k`A(O=O7_ikZu4hq%#&z)5Jha%JNRHchL*7)hlX@UqJw~giu*HUvoJ@H+vsXfmuAX< zysR2~c;3hp=x0W)GTd@CkT}Ck&%7oRai#J;0_p_!+Y!Z^!T?*%db*m|K?5h$zyN@o zG(zm@uh1qID_N`iP(@Y&u9tKybP5XBm#=(D-9KSGn{B+URuc;G7hlyG-OA;}FtoxO zjmo-UiAsk~pHUT);X^1WrHXI9RYE=nhq{aa?G6^wNj}Hu;iTF@_ zUX=;`C;uG}&zuya_!|LmzW^Wz(T)^BNF8IV4pgxMeh~vtVkf;Y$=p9uSmXqfZ$PEh z>vMwUhN!i9J@A5dB2u`7B3{`((%IYtl96IEk51MRCGqm zLTGu)H0MH(-)i-v0`4wEHW$`sh_5z9^pUVsk)jt0@a$w*>Pj+(!G}N-U|eT&!Jx4D zUwpl1R1<9&t~;qDAwUvZ=xOv8dJ!~%0HH`%5fMWb6p^N)q9!3g=%E@Akfx%d0xDub zlMoOP5fByBPeV~rQ2`tF&0c%2wbwrDoHPGt=9&5NuD3k*b?y8Fz})y7C<$V4NXBa< z6-#*xV1YtQJkdfx*r`x~pXEg(3}s>gZw%o|R|_UQlqmCRxK3CknBE20<|>IaS%cSu$Au4_N?yV*Eq;@{~nl~SHl{eZj2hx zjMo&e1+0q5YK3sWTngTj%QmMm1WX-PM~-bU*Bb5wL^I0VvfoMgp#NQ%^VY{N^{8)O zwf^KV!qo6^6%*SVGIu#z_m;RG1QZFqJ?#d+)XLr}V`*mkH^Jjp0_pgUFk2S)dWMxe z@&tx{XJGO9CKOq7*or1V3Q`8p)VIJ`{+@L~Q=tspUYOY{38Iu*E*ey=1w0Up0`w#; zzJQi9B0r?UA3Mxtq-m>+k}DlMa?5Ng{RPXD5Ea$8SjQBNlIBNME+=7>3cbqs5|;vR zMin)>GeLxzBDf)9{L%-L(1cMa(=i4v%m5aouh+L9EFqm9w3@}_QmA`#3|x`)REl!r zK_V4q{iT6WrY)EA89`KRkD5oHQjT>=^;Gd^dvY2d2I$|)WLWuOGH1~^Q?U669<`6q zokBo2Vpn+hXpi6vOra)-*Kv#sHBm#HIEIq9I-=slMc$Wtg{j`hbL=L78nEOPpVJKO zQ<>R`BaYpf2*SMA$j%ZV7;aTPa(fY?eK(blNM-ZcD;-hLGGac-W31&0<}4c_$mJj- zMA)9;M2>2yQ7#f3P)CpUXw1=YZ&H-1De^$JZVedscIG)%WC)p!`4%9c^@F262SgE1 zmy*1wO+Om7C0!+$yJ{4XO*GVhsFL5JvX@${ad)kSh4-8PV+2bZCJdBMA3wsLb5z6< z6*1UAUHc+}H6^GOai~&_q>B5pG3{|QhHEtFMVZ(HmJ6!Pr;b9J{89K)rV-zZ@(oaK zu=h3$or*FH&qk;|#w<6!%~13yXsrh3yab(Yx@p;BeMxww26}J;i}=H2S-jl!32f)8 zM186xkNI{b+fpQ_>B9a(JH6#&)a1RRt}A=9mU^q$-jy2n`JO-=L-<*AwgNmrE(Zn! z$ONWKGtMUcu6GO^B3^Qo|jMtiCo<=HZu0o%t2 zIh|*Z#F)9e&{ZpFqP&6idTK~89kjWt1DAVMmQ8e&Gvk1PQ&nZ z(Is!Pm&~*;Tg|MQh#unUZ35Xg?wKm7|=Z<821J zIGF$7HTlP{ZB9z2A=gyg!Al6vc1`fyb8sH5uY5bZkb*NwLQgeB??S(|Y3iN&I<~5eJ z>e?;;_x15F_lZnv75#$iAVX$?E^c67&Yo`5R4p!GsBYR6gv~ZN$30h2Ype5lb~g4> z?~~dV1M)!I+|PxD#h**>KED1K{~-Ii^F-@;ojsRp$GgcoiC!lRT0Y=ouC&Co|1kew zFWWy8`6p*Hfrw+8Xpx0V(w}fb)+5K+aK)%DqVGhGjmlC=H>Wd8%jDj*zKUJlZ!W9! zytwea(|u9+e+V|oRO?I8LxK6&+f(*VaZumOi9C2MQ(6m5l>v)es`{Amb zRz0rNs3mCL%Fp|Vk*;shc-PkrgBRkJJf`>k2e+8$h?;nsDII=6xt{RInD4OIS8zkE z6KNQ2)2nm#>6WfqQ|hU(e6xr5jE4#y-5Ov2%NFmtJyPv*!#B+PSbd0PgdmV7z_L^< zY~0O`B(nd|-@l9GBBrwjC&^w#_q={-+*7@76zB8bW2{5^N!(S@`kPN~DLuNfXWR~B zt^Q%`{nPHPI_Xly@^#Z%tJPavHk-f;bzM8mT695T*N*rqYcPB*OaCEtn&bGd= zU{=ArQK>F$GXGNbIjWTtA{jxf&mi1cN0@hwEoqpWZ0YZ@?AjT&RTh)2TSPLJ*s}TBn3x209?ByMP)@9Cv(qB)G z6F&czYu#>Lez?!&rfD}EU7V)Jcy|MQuJf{!LfrTw;n9_2Xx3Ye6eDy0#YlG*fUOZ! zX&C%U%{zdr_!7}nS+UP&EG?yg4(slSt1?g8s%~kSqT;>%W!*-@#kVNe2TxwT_de1W zbTJ(yb-4Ak2+$%C=D(eYzQMnXYM-M%_&)RP^8V8OF%?GruH|9f#kC!VUDL*XGj+?vm+>O-8 zo+6NPj_huIMR58M_SGTx$oLBEJ$zf@x;Vf0#}z+PE(5c^MmLpTP#jL4v@WhSnS64! z00OoGXHIQUID7%P(yk$}_NjWmVyP&9-nDcgXV=QPQeM_-fzOF}y?jdY{Y$CW>~BB# zVZ1t^Ncj&64jqWA-t)2B$-(pCm8abs_o7t(4WvRK$dQzrZRg7sY>%0I*)7PQdxUxa zs#g_+1QZS9T)j6ud%550zjxx{e(QZ#Cc;b&HqO-V8RfF;4Ua9U zz`&?~{lcK}q7d=k8T{kuKKkCf6F;BLtb3R9dm%FK$A!jU_fac5-2SP3As@(m`n<;W z%gPbG^Up`J4{qODb$;uG)C z-~CJ$KRvs7HMO()@4plIy613v)_D|NP#F2w&99p-ym+&!?#nx;<+QZQ97DafK#z!s z>Khh+(oa>MfDKF}$ll&Ae`~zt$dwa!{QLcSqqdx@sdl!PW!8lQ?obcftzS-#D#=%B zDvg;@(f*@q*Ad#m-L6Ty_iwqUZV?do`y0yp3scjBGv7+t6|?7A!vPbJDnp)dW&X~S z&2>LH@?Ve@yUU(p(8o}R_kHzV@zZ_&awA0g!Z~Ay@Zz%(1^a&`BtZXuy3t#)#jTf! z{~~w9>@!yIcop_y?4v`a=d}wT4!!T$>KwK?;HWf<=K1qQ%MN2rXN&CqJN2)O<8q}Gx6R&OH2jD7C zG8d?-o{M=H8=0{6@=?(4pkeUy}f_osPyG=Qke=lrkM$DzZRbKV5 z%JqNvb2-{S@MGlDYo+mv7FV~}MHlo7j?h077CuJkC6}^#o`8Lkb=u`ugN9bdFU4i= z7VDoE_)PqHv2G2%oYt!)d41}uU7O$G-kUp2-VqKPs2YZRjncLe`9ij3Btp!RbsTmd z_UH;vGI-@QckGbUa-XbsPz8}eVL%BZxIINj<^#7rdYm=vY_iS9t0L@Jb=cMA?Zp?pu>#wJhaxy37 zH~II6jnTC^@h8qCY*l({uAQo8e*PjY{?qRLZJn6DoFBaOQ1i+c@0pB`(S@{ucN53L zt|ruK-R6D&b2Z@h)Ek$V9(4;A2JeM7pj>I%TErJbs62J)OL+I5)V0Cp@pixPmzoDT zR&52}sk)m^orUOZ*?&h}W5wMF{o_oD&f$ck%4Q4bqksH2xp-%`^fmZC%&{i!C1r+G58f6JY8&WV9O=FZ?ZnUU4apK=@G?smN0_H}=O`M33fRduwJ zU$++HU86+wn-z%Wf0uplf4ekPX~;U0wsN_ocMeD1)9_Itpyt>xm-k*{)xl%Vt8x!` z%MIJ>zc0%6_RQ_ZLq|6Aw*PAQ0f4{VobapI8JScAdAA?0`s^Eh0#`=R)DPYzxxM~t zS&8<^>)+H5|NM2V^2JU~DwWD9w~6OQiPwu)F?SX(+HFeTWcc`6KJs}Z1#^%6 zjk{m9Lj`7<2n=u=dOUX&S+y^$c`MBYFtaDlhVS0`@kQ&k`ztYo)6Dl{3-V2ld4ncq z*a}!R$WKoQaC?a9wkdKG+BF?EsfwYYk3_-`smY7C?{uBogT%AKPX{9pT-%X&aL@HK z^xP0;(xdoOjaModxO4a3MEDrJb&0lu(w z=5LoB9V?=Q(}!~5q8JD@x-s8jQuxHXxnMHeR^`2y3P?b_E^G^6mu>)iCQ)OTPXbKW ze?!ti+ zlZ^w3?vLz&(%9XX&Faw{47)ghfqnSQ0r-A`B{br zb3l+o-oXE+6DgKc$7*~DfG&M<pI+SBm!cA)22O zvzxHqq_ol**~r+9@h_flgzGe#K3$`3=X|vBSV;*mx5a-eFc8VWHL8lp^0tB}ZNo1O zxisZ1t~-ZIV}o6PaFl-i0z0{Gv?XI&)R_!@_R3U1+Mh8m!#@_j{6G3bdN2C>!_+=8 ztY{kExPfAv<#2r$xGhbb#inYg>rDeD7X@w4346kUGPm(;?q3-qyWPE?z@1^v&{54r z*9&*Uaoc%DrPOe8Pn@2m_OELF{tFIva)p+RO8277v4!7(6i5oSO_AM}Z}rrSQ`*_Cs6-MbQTVhdlpWX&p0~s{IYa<;uJ`c*rzUWU|YCCm1VQ?Vz;SL39Xi`Ow`69n>w5!Rxk|B)OrZ zz_O%FN`xv4R=}ss5w%)5;+tXL+P#cGe-wt-R%9A<)+`8)D_m%1%}ZT`lVcS22w|(F z+4!Dq{P2<0=S^+guPJBa91Yu!%X>e|kM-i0@GBQ_3rk6z(wVq1jtI1{016ApH?vKN zt?Z;vCJTRjc*}dSJ%vnA@W+F=Y0Vge84FsQ{VNbUL#8*qeLMY|wCSd`l8VvSVZf=P zTr6_e4G*76LH@mJ8UjoxB!Dqm$d5X3Q`lUdsu^HF6duSw+!pPmj7W);yY~!rJS935 z;&IOmT^>OayvXXe;H3<;L_}j45@w7aWwlt}ATwJ?rCC>>ont20BT|-S3Vk@#J6rNb z6*xxXs2^vhz}6)|>lnEzBN|->2vn)bqQ7FxU~$X+C~e4d2Qsd3Uz}ir9`u1UAcgT~Q&z03ro_+frU`5GkrL zD9^zjj=ERQr1Q(GAh4JY!99#PnmtPMZEy!v!X@6Yph;O zFR8+LM`^SOY(;oCe3^JmZU$X4UqIXIB|5x+LIXAm0kV7+l*BH9hp4xC&?>~2guZFa zJR#k1*^1^!f*OH`VEDtr9*PFZI*=5U%cdeJi8Q0C8#^@v&*-xe)v8rXAnvxHxX>Hy z>aBT*hCO!0IC<0wX`>8m1Bwl& zDQcrZG?_S&r_tbAzeN5>DfVi&@kVlF_Fhd1%?fmjh`WF=Q^a^Ae4{2d*v-)d|1f20 zqWD^kDml(R^jpXqCW-197=n2%Blr8URfDFXpFrDKbPkP^&;LZ591YzF--!f>=n~ND zn{Ik^@tT)B{%>;d`ZGDbXMzn*KRu{u?($zIS!L3)Hi}~e){M)ReMjTD=%v@dY@f{9 zwl?avJjwfph_>Ab`FG9L z`9^|mD9Gr@Ol+rei(&v@39|~LSV>A0|D=(jVlW090f>7rvnsT#(wb3J=H(nKl_Ibd zse>l4{%5rVY-T*PMrqC3hZH+m+q%8gI^>?pe*Y;^G(CToId#3Ts|S?zGG+#)ia0F`-(@@zUgwm{S; zs~fO^v8r)006kCQ(VD!v-fBbR4>d$s5Q^+k7-!^x)3OkJ!k6Ln9xsG;#vSt?Q1PdW zF6e>FPDAp*D)^7WvEAjOg~pT;^zToQKrmwU1_Xm(_0+Kdv4@<@bArY<)uEM;^YgsE z>Oc|2`_f1ng`BU=XzFIPMzSN4vYrQTQLVhp$u9(q~ffIQvnU(r{K+q6c1not_xxp zGa%R}8Eox5N`uVREy`P^DwTityLlF?b`xM0IrtifDBj5vhUL>n+foU~_ zWpE8aig$DHVJW?jgi(fw5e(Aa@m!6#B7_7BXfn}|5q%3}xjAC~N33)%(ThjcF6MDG z3AwYR75Kd5Aquxn6x*}`8kO-DYT*1z1>*%o){&rCLX-^SUJyW45RwGA(Nl#(W{0%@ z3#H9~jltuvFpP^!!M~9i5#bUwJ_i&;r3y?D$W&U98DR+yeAGQgapo5?KdTK>I%;weu#F zx2A3f)Q=3C+lFJ5L>ew4fe~Z+6gZ`KoYy-QXcWjIBxBbokB4{OtpH~8K~!JpT7ckw z9<>4S7mk0O4rT8L!INememItx*{3p!kw__}h16kP1 zI!gn39al>A$wU1lkWA4dzvsBl2LO|u1_qHV+RlYZdg|3oj$MC!b^p{GJ~G&4K<}nq z^f6x_j6oVL+o)96`rtv{xFW?`RsS{ZX|a!X2Cy=aYlu-`_&o$U=E(_(1gpsrL_CE` zNXA61)g1HxQM2OnZ~*u#G0?qv-%??(P@)kH0@)*kXT10b?!o4yBHDGnH}gA9!m?zV zU}%;lzhj1&X`M`<$2~}n)Ba-g={OfnLe~M!fpzk5>rX`LS;-@icyPniGPl94t~E&5VJz zJdA2oZ$Hek{dkL%gCirPfCFE#%n*EU-O}r|8Q<^XpZb?`UnALukCZDKu+F|SepYhI z-bv>ZTKAHcQkjE1$93*DFML6rkvc?nID2CRkac{JhRnC50WF23EZdjk|G$;XvszM)ZT{pwY?1HYR)8Kum#u$qvLEJ!UPt)s?vHYk*=0cl2GtegGmq*F^p%M zmBr5W3D+Y8%W1_>nl2JBaHENeQuM-FmXvAKab5Y!W+^v(_Rbr_=XW9k9n8M0TL!Bj zb%1ht>S2t%SQOw`V=#;-!QEqo>b^A1HCh@wi|*%#olA)5*a7eQ$f1V9lnfs59tElv z$m!oQ48baDAkz#^s2=myCK&*5bwtLFFPP?5XlyBo$HYeCitx(s017k?O{->hEl2t3 zK?gIhdx8n2P*#OohkDtp(qVbcm&5SA7l;^^CtXV(drvX=5#7y7wekm|V0y-+|883{ zwgN0n0Hz_Ak?^CEA={t6yN{j@H5}M9C5sOqBbOeG3B3 zLrA)}mS40soFZJW?ANyZ@9X%{%Vk&e{xXdh1`qiuochy7IDikmz3)a>tr9FXI-|~=sUkVk6IQu0kC+FDALoO88y*`ooogc zdZ?Uh0Kd(bBNSEu!xn;qK0cKa9T;fDr9m}(p0EcM9;OzhpvLmdu<()5wLFzjp2|QqNC*wtIu{%SHT%AB-Qn<{)MVvPte?zklPVc>JqHkEmnT^Nu)Qrd-B|$ zm>jOpMfV4BTj6U?u{I+I6<_E#>UIFrS_+sw*1n7dJQrJwH$nsT==t)Mv&zuOx-tde zAXNrSFr|S!6duRta@JOT(9`f>`+k2zoWe?a`#P6g2*b=c?G5~Q75gLs5@#%0Ra%Dl z_{@m08sGuXPOEFa-t>mWy0P+LFh6p$wtn|UP~h9C3#M+Qe#Cx0#tq{_ekx51@iDq( zZqVDIv(UDt!!>}>%xibXVA6`z19B9S@$yBK^_@(s4mBqwVc9~QM%AY_j1Iq8!v(it z8(}+24mZS4V0bZ8?OPE7_>gmDGy)e{Hv|U`F7=|{u0r*LAw}1UYz{8;Ed!{srib(b z&|dsewh$dk=FCQMy*NVAzi>a$hOb|x&!P=Ib^Q4lZU%;`hI-1?R7f*AaoGy&G*~z@ z40kAk#gp0uvx*StA*AQ*IunK*DF$9Dbuem8BiiB~($ z948_YIq*AIWP7TJ2=aqYkQ$$hfa6(ax1-<>jT$xQpf5m8i*EJCwg4uSeE@5{X$HTO zhn>8=XnbPuPyRJ6%}sB7r!+KS?Ztc0dU{s3N(I4F#=TL zrerTSQFCvFyERX63q!d|!XLX{@3&*31PC8obmgGbts=E4y-6g{zC!LeX$@Ie{qw9vBQ;jO{OH-@;%z|>P|mHDxzLo0%w=lb zX^>Ur|NP@ojA+Mz+Dl&5^Ly3qdk>%$evl7bS78F+II!%H#${cR5Px3@Hw1o(%G@CB z`FL9Az2SmFLtqvp(eZ{ui6(Iomo4`+Zkb-_xTCg0IUL!RK$6`;Ok*rh{v;Ci+Q0?t z7>?IYu)dgI=ECsWdnP+x(oT#zUxVx$>mljN?zg0h;^{8o4tl-(P&K+s9v z>-I)OKle`x@ zI?i<#rbao*mvt%+v?AJ#ln+5|IKVONna&aK{MqbbEaroo*@K0zP5Q<+yel^Iy!TpU zOoBOWzDfSc6axK+fCFwv81}cbGA6>{f3reEstjuKbj(JsAT&{|%|Zva&d;KuRudl8 zXE*q6Wzm*))Z++w>$~CQ27jqWrD3jR8ZUMB|t(~)UApiY5Rn(H!5LIS+EXz?%0tAoW1T{-T`{y zx6lIvf{xpok30u%pX%nH#qk8amResYo4j8~$;sQ8b92E$)z`&=i%jR5!C`cPHr8vh zZcDr3tf_)W0EY*ivH*W5_PeRlaS?tyIquLz4at6XNTmqphF#8dt1)^ho9C#_CpaKl>uL> zz-&JP=vTH7fhthjm&_qlc8zzz7n{qk698d+J3aV?nU ziYGkW;4k-Pq)9{zjtLg$;%A?76nOz8Ss04xDC#x9&@K`<#x$MYI?DX=yD`OTjzlpT zppYMj9=$QKm1zhTZS#}ssBj1M7vgt)@K4yNv(&6o&3`nMOwoaIw#dyiTCjz7ai>m~ z?aPXtRYa<|BZ=4o!m`gwI$1JjOj24nLDr4BC4H1YR!Y&tyO)guM{)4wq8Dz2FBMbO zKN^R%9hYC5#lv7m9UjXDoS+T(e-e2RKAoJe;3MgY6o5?o*vSN8>RFb%Lh1*1IgueY z#SBK#%up}i?&F5}kT5se1X`qV@Yw_{w?RWLo56P@4*FS@U%|+=F%h433S`=bdjNx#d-HLudjdp9U;%L1PCpQ z$D99-vndm1xTv7FLXu$LZ6xT#bzd;QY6hW%WT{3YCF)iwRkV6OHTz_Z@w6xSXyNSi zF-X@W)CUCvJyZ8m?cvvca975rLA*KtU*oIPTm;;ZM(u^g-LqtWjMhbzhxy-oVqzBTiqt) zsq_J> zO9cXrlIWzdr^IVog$*@jzJ*3@uKrbzG(0jfr{ z-3igA@2T5Gxd*PT9Lxhlybn+&uT60g#yCZsr- zSOx#_a$4=!*SKss9Zkr3x*Ki}n%OcaIR$pl zud&8QnS{VNzyqJlfYxcP=qE#dZ?C5`l*i26DAs|TG-76-pV1sR54M(zkgFf$UMKb^ zu0rsHl7$Fm!8#3|j$+Qzv7XQq-L5yw$sZNY5)fb0gvYPo>)XI}iWCwv9QF@k0^1=A zRsntIA=J&#Y-zXwTsm|w8rq#^-;So}Uxoq-7GCXW*u#cCS2{lEku~Mty&Y2IdCE=bBdold*-MszqrualdKmY?H;6hjQM%n_j z*rI9bE5AkiUjZe3PrHX=(OH1O1WqrLx)iN2#Ov-0_f=~_n1_<(oJ_@xdl}?v!99&Z z%?c(bsoIq5dj6{FAXH7fDON)FBQn5G&AvE{4@pn?Mx5^b3eC19F+EXHdTwDKha}LB z=6UANS*0SuX&f~7_iL|ew;(d!LYuIn00lIN6eTMG<^H%wW_Pe{wjPaOCU053K_9DS zc@q3BJ%`_695TXU935TykAZecRT<|hk_O8Q7K~{UKh1^=FtC-tX0fOH#-Kd^u?1Yg z_EN{;myiEx0miohfWO4={7EI=Cx`eGVc$;Bp_y2u>;v(xR~3Pd33+Tf@X*z>1cnPqa;1s?`F9`X>5RC_oV5 zCVwkWsQDtiE^%ME$B#AVA&&NCt=X9DIHVH-=3`ZAQUIqn?Vx;WM+x*gq)`K&S(>kF zIJ$4XAT{Ugz+7<48scd1MMqw~Fx;xo|7z@%-tf&58gv<{>vfL%Cv`*%8k_U5VgOqK z=jx;vrWBfFlViat)>mL>xmIgB9%67+n`R^P&BLat3f;EQ543&{ticE7j}#(^180GI zwnH1X8Vx()@psy@hwCY2G&(5^x&VJxzJy;*>G#6QY?s| zwDh{ea24sR?ExU^R1HPKQjr}2o7<55z>0`p=M?`(V%LC>;NH8WyY zC=d;r*7`=phM2|=8aKuD!IO=wc(%SM4k%_;2HXb;+5eC40pFuaLkvbX!2$p3Zo($& zJcJHNL$W=F2p-NSfBALNjswPj@Tr@1Sw;G&NbLlR0zW@+F%b+-B4@aOr_|Pk*f5&D zrY;+@cU30H2B`GJnfYi%kNEK=vtTz-S*|Ix%>yLP_%Uy|siTAFb{(xOsIWS$~tv37g<|=uFSDDO+%a!Of9>sLbRIRpF1A zI6{3osN9uKC7I*lf+D@48t{pPM#hSqN+(D|4u&5pk$vk-b|lBjd}^l0-+oQb{i&t zdxB@|A+^mX)Rb2%5gLZQ#>u}?G?t!#H6w`w8|3ITy;^qni?)O6^dHs)Gp(id56*K) z6)iW{e&+C7%jUMcA!t57Cvy0oZ5wetF6#O+}P~IlDRTgG=-mjz|+??NsW8NlE zT0I^jLE*Vn+XaQ0cJKfJiXC!b7l@gGQCGGIl?6v7K1c_iolau*6!@&--J`a`ssnDF znb)U2nqUmL3MWIXA)7pHdKs<2K{CP01ZktiYh;7gR8JpLl{&1p^YS+&Em%8%jG9LG z9wc_^Mh9uXw*&GqD{sL&xXE9-gXG43fcO}=k>g1|ZvIz*3Ao=fgTjastP8# zGL+^Uu^@MPC1~}a(K@i$moFh5RyKUg4N`IzpmJEM8*8{x(mZLky`l`y6y*$OM7w=yW7R9Cb%kUScXZn~cX zkRe*Xyc-etb&rN}%_$Bq*asu>PgJYr^g+vQj6$f5bN|%;0Hm->%I45Fk@?i1`1nqI zFvMaGZa$lp&sPqHLMQ&i9{gp1ddeEXsTOJ8=kNWro1KHbS*wB|(te9M+*^nh`bSW! zqQ%)9c#IT&Uosbun2vbo=)3_?mdFg8m+lm<9gDRTnnHVNZOqI%y+Jw&d>V`HRHuG+ zi{v=*fY9w9O-tMBC@bSluTHHubr@qRhK6XRlxEdWWKBB8E;Jd6b!J;K-1q?O8 zIFbvPsifyd6@@XzYXhGS-@2mo;<1rk_mq;k;S{`193y&09*i0KUhzgpIKHV53I1y;0c_Wfg-T ze_RP1E9Z5ub!W^f?dbLVX%B8Z<|D$3qk#e2w)Se=ZsB-qcC0hGg>?!KVw*+7?Xo7$ zkZD*(#nC;Lit&O`Q}pNuEpzA+W{RFah+Y0{gkRc8A$J+MgBbT)t)#6ahgj>4XddDf zX%7gloKD<~l_J#3M+J+PJE6h*{`iPyYm)GWgQ&Op6i~qU4;%6}pX}u|etG zpWoY*^({_Wa|h=Gf7A14YOpw*yY^X78lD*}-R{R`qIoJ?wZ)6G?2eY|$MXd&Tp{A9 zo9&*!jIiOU5yiplgd-QRKg{D%J!K(%u}qpDW(Z>8Ig$V=-RbL0%P-hV;6JL8!yPJ8 z&*^Wgg@u^@o$H8g1%;7l7%uvKA@A;UH9aBZFcus_HpjvVabKC)5!S9=L$p3}j}lfWq6z#vQO zZK~p{Gmc%^^6U%KOGcmLJvT|waL;Nu{6Qelnkmvy-n;7edq8U$-TZb37iS62WKV=H ztvdw0pbRL>weg=Ezgb5Gn1C@-caZOPig|9VICO9j6yeiT+fvA@tn-oLH0KbUTcg{S(Rd0*jFe3prsn&a8*Nz1=j1Er6V zgEoTIT5ZFhtFj?w8N9SVY?j@mg>DVazsDiD- z@eXG@b_^PeeF;BY`F_7X%*du*H*s5{ymhvOe~O)iHoRl#IE_QBP3I7NC_i&%$JcD% zTV77S>RX|P`g3%AkW*P@;9OUpt&!ZOU__%iy1=S+z!SlKYd?eh7cIl? z#?TCPgIdP6^UC5yxe6+^a!$^%pMxer=-pyxo|QY#xU)_Im5N?VzulY3X;atr#k zaWlPpRC#~M>>1E9DA%qb7V1&igD5raVmp5KrZop^uJJE$z|}}MJ$(ZwC$`d2YyI`W z^=Am4B0(q>m{_ZEkO}qq`hP=~+FESyTKL%|%Aj#l4+W?Z0U)@VHI=1xq!hq}2{CMn zC$Olpoo;w6QKlg+mx&|yye;Krm^(Ep7`!jQH`Nn=RVKs^P3!lCNzZo-Dq43}A2YtpwAICqAHJ#Yu`5_+V2CZ3mG#E)E5G4}p+39F2uQ-goS8;?ZZp{2k z3q^!SRAUDRXo!uzosHjJ=ixs8INrG?%%rJ_g4DQVb$NrGghU;c+l zH(1a~1fKJ2<79720f_`|*#Ps(%<{x!`M*@WDOOjh8GaPt%GM-|vZB40hh{m9{8PoS z@A3d&J!bDWv~6dhO+Vr0@%?%w`98E=Tk_{RHlM9`$?|N&|J|}qY*YRIWG1M8BlC8J zTv5aq{pI5Ify}|{UDZ>^zFfP~Xwl>TI{@SJ=TTGzg)k9fsV*abL5aaI)wBP!W6nPWhKUsMURkB5Q z^sKy!I(x{*$l{`i{9ed5gCc2s&TGh41D%D-4UF!J1rJ;ypmyCi%WW=NeMW0fSIJl^xB9t|~P@)kxsJ$8mERGH#eV#U$IW%pM>Uz_#W2!0Ve zNPINdG>H14ICu&)x}A~glf6h`P{fVW#W^U$8=~@K<0P7}?U2+!38RehrU@ztC+H=d zScH{(7f0Y0+9e_nx(SQ~$hBQ|HBD$d@sw+X)^~T{N6V0ii%h!RZ7sO1IP{wZAbMx$c>7l0!c%JGU!oVPpsK z{UpQ|IVY+S>}(uck7TrJn9*~ot_L9)*uCW8ED-L%eZaXBcyD|qxrq)P2K zd}6{@%pxzid5^wL{gR^ep9_tjzS77kr05?}$s4n!GvwTMbLXBPe(nCrc*TRe`;FXk z!LGiv4V#wB#j055@u>*heAuH1VD&R>105J`II6%c-(BEP zc6O6V^3^Sy?B2Ots46i*?WmtU*W54tcgH69o0qJr0o8-2&sM}q1V-oZ9GR}JeBe6q z?U+fzQB?G85cm`wH^k?=`{MRDpKuNSn`8Q6n+hI!vZzHfJe@ zeC8ObVS0~94^vWA++-~U!`W)eGN9EU$0Ud7K%d5f1lCVoU;X~)H8zpB-3hlT)Cuol zwYQ?SH_#YhBl-~;C2gl$2|=DwY^l|n$UvZNd)uO?Bx_N4RqYH(K|;zBLq+w}=H#91j+m{QahEc=OJ^7)&Wevp zZCl8pHXG?9VcNcRpqd#&oKAXcKt5_ECE>qG3$dB*W`*kx$GzE0$6l!Zdin2|hjmY^ ze^%9Y49vkFWFRMDVDXnECMuZSfq6x&1|y%4{Pv9-)&K=s1hdNX*f zs1wlOaNZ|{1FOMM60*$Q{XNaM&#fGFAZRetPU?+j$uIhx(CCM~I7_Na^X7YXxxac; zzQkyEYm`qdA-p4s_HuRgt_Hk|y`%hIKJ$pN)hUbToLPu<&AyUwJRzPTIlp@mBfvZ@ zqO$hSgIMdj5GQ0-G-DTo{q@YlkZIS+k4qANHtf%I>fABK$U|bxj<7@yundGkbvF4 zw?~Ex;@#X!Bm57h&O0p0?~nU8Q$SQuG~9r=7tU}cAnuW?GP6Y7O-GrQ0}vGz6}Og| zE3-0Fv$C?nnX}Y(S-CPB-_p|3vU+@;>-WcV{=BbqUFSOgobkEe=k*k2mj#%eYQN`>hy@Hyuum9?^!Mc6^2eI zn3@6)AI;(!6XG-r-z_oakJp*^#+HmbYSy1vn~AhT3ij9{Ozj6oFS^gi&o_-30)}*{ z=U*^D!Sr&^2#obQFVi}v3Br%^U~9d+?}PsiQncDEdUXbw#h76@37RIaK;k~@-HWhW zg|8z>P$n+GwpHh-TXvG^_DZac>j~UM-|{W)ht6=QW}S|VuTD$%JKzc)oM4(MCnH#Q zc;?NZOq3tq&u(29NUvWA*EU_^Q=^)DO@?fCL^P!=Em_QSmGP)uyN>I zK_=}{Dj+)+4ik}oz}DUWWq};_6+7`Y`s-0m3XoH7{vWBSFJ>Wv?m;@Vkt*q-^o10L z0AsQx9p!@bz%(^d*tiMy`Ue9}qnZF0stGs=2b*aD-A@W)cE#x-HOM=AI_soK0q+D= zr14X-OiyI^dHeYiiLXa{#-a$In*=bbi%vtkG-8aNp{LN$=i_TCu9$CN@mAUkhaySL zB3k$3=Ty!o3L2JOz)0_g>@(5AtP#B5cGKiuZfS;{1(*jql@4MYSzBJ##bRP9J)(EV zXVv z?u4q?ZqTr-Q~t$z!GuepkS=oY?r?cN=>G_fM6(8TXh@K?K3?OJ=YQblwl0F?M9nv* zX)6?BB{YT(yC)*UBX}=wEQvT*>GKmP4cWOo>@dEt)_h}$HSVOQ@l?5+7p2=4Q~aTN zAVxXwk0+q^mg}WUph>vdeg!)g8PobGIGPDYlhOYHCRbBCN?wyk6AVJ;b%eD?L1d2F zHYxIHDxc2nr(`nweQt9s42;8wO8(WZ@G=%TYdM3Kw22uSC42wQSrXCGI3QGTScWS* z8yl6-3H^u8SX(Yc5F?gMuU+-_ygePI9Ocy`*e1}c#9%_KUXb4n>FDh0iu3L82c0vj zWl`GLFMnMH*{0T8`_KSYL1LFAPQq5>*&YP=u_(&QWcbjB1fmiQbF<_lguKHvafA7M z(&);H!^^&5Ue~0ebTqQ;zld!5oCfv^5W&|`fa-8vT--eB9;-#w3|02MlF^nf3)ZmOoGDR87@&tedo@C8SK8tfn{ zlx>8@J^3O}GcH<&$`($o*p~J2|2(>gX86a}X_>3^OYh1076?OAYeS{qw;U}Yj8g~r zg&MAa5sqOdMiGcbipJ+n@jxamU$wyUZ^Q)i{0b}NHFgq?i2$EB7u?52#t&NB>X4fh znnGto|Dq4~olsSK-la=eFrznadran^vv%b;4H9Q)o*)M|a1UrM*3ZE_;xVn|{g;#M z<7awU*Mr-^pAF`sPh>Vo)_J}$NmUfs+a^vXB^Wg3s7>v{4#=7&Vj#m=75mf(K+O^pfwm-K1|!cuVnw3vFdW_lkOoGM$z?}l)&lUqq&mZ~ zk{1}~`6V1cJ(aBO>;AZHIo2*+i}r<>&Zw*)t;-7Rnyg(;FA~rRsrz(o_vOL2b?#Eq z*wF#OCcu3UPh6oD3G;#Bog3PFm`S)r?E{wG>v2+-eT%6HT+SvW^NA;oN^>h{VKz^%SY>_!+BnJiU~}*UvJW53 zspQ^Yr`7k$J}6s=?~#R_lm!?PvY0;g`C<@QYRJq=!~2Wlt)OdAp2iUD1PPNJ;%~v_ z9GyKa0XBBg`gPI4^BLs03mw$ve;O5y3V!;Q#`sT!j?Br1rENKBWj;ooW0B_gC`Alh&yk#xNIfAJVs> zUlErxFpBf)Mwgss4hYBp0{t+8q>4dY`Ba1F_(>BpxHcT;k14$*Uf_&*TRw-<2Ck-7 zhAq|fN*=Q?pXI{)xvICYV-8Xi%}gNGQ|15wVma{a3TyWHOsGhD;jh>;9~uz&+gd?P zd4f|^1t|py-y#S#>+U%K0(Gb%+ka~2I3nFBoTfhUBW9WG9hX}pn6HHfVLv>iwR3H& zA1+$4uUA1I)FvV+T9DS025_5@sttI1x5S06uv zISG_ahDdIlD-{>mxqV5HOs>HWW^&#$Pu16uu5)y~ z18Dtj%CspmF+z%7O#%?PzQ?ew6v3=-y>h5l@tXrA&)+q$IL00KPLc}Uoewval6>GSt8d5w4zB?t5jjUtUM-$9eIV( zMk!+IaF{J4ud%={@Hz#8z~zPf&@aTKk{>Pc6Zq0Kv_6==8}<;S)Gc`q)q?j(Q5XKH)EDA9b`o`$Ne+R*sgjR$e$fCCmWH#@6YBLv!- zD6wug8{&@q<1h|Lg*@mtja>4g7p4P+saHDe-F3{V5T!#Z&byfGJ+>4}XMPsP+YT!p zm6Wd${8RFJ!t-$i_Z&BI{Fv}$Nd#vmIt)6XvCAp7g@EaAxfWT*E$x`=-hx7nUehjG zrmD09;q39QC>{nuGzO&V9Qx|yxMg%HIgEl|-!Z}w96~O@MM1%Z0uus#na=BPtDE{? zX&N0+oklRZ$Vofijs%tVfCY^Cx;mhLj#&7EB?Ri^V(ps=Y2lr|zvja6ETN0-gh3nU z9N#He3vbR%!yqz`*fcMO{OPH<+2OJDt`a|z#bkD>2_S8KRpt-T)3%_6`=l79Pq`sw zMY4M{5Le!vgpT_Har;76!8+Pnr>75?#J71N=PHI(|1%l`{cY;O_bHJ3%qd=Q&^JFd zbYz3zko3SD)rqK(6QG5ix2%~1xKs@j7I*-0B#7Bmu8hTEIha1qq=T5+x|GJZny1rB zYy{5~&IDyn_+jes@w1!&kx+;F9`QiJ zq~sXXbAuPlX^UC-K@(K+D}dq1$w9=-xMgm-Qi*jBo-zTE%oJVa|EIr;@a=var(tVH zibd9X9V!&FM}&DKrYb@Qw&!D}hw1GWU3SMgVL8?4JC{m$Pb zCIxu_KEl{IS`fy`pBjl6kf@b#g!WN56p{*}6Hyh=TSE1MvL(UcoQiSx9M#l; z#cgt+k-O!Tf|^zV=0#|uf`^P({osQ!mD)6@dWL=#YOzI<*2=N~^QC&g0_1?IV!;P- z$>YqHi0N6%Y>L<)zVU=f#Z65vtvN!v_Z8HS-CSAU$KEA(ivjljtd?zXZTf^ zRXB%S1DvqmmMf#Sb0b2c@%}MW>45Zjm^NL0i-@xcj>JV2JTi)$C zV!nz2>ft@n!B`?B2_zTUM~DTi4*e#^v9@b>YuD|Dn(UlurHZUAjPwZ=lchK%IaCn) z?$a7>4NVslssq~Xa}d%pQtKsKCi@W*&^*m)pizB4Ur)tb{_WnF-bBhxz*CZKy&I*N zTDV`^>&syVp9_fKFK5;!$mfje$tZ!$5~Apl+`)=XM}vW)k10e*TBE@ z6F$fDXmtaVmReh&Ytv}~R2|}|l+M2zc1Xhmo#e%{saKoz*=5Dqy3l}m^O~GL>80>5 zkI+fhCE$2yhKm5d(+ZyLtYG6fJ*$pG%M))ljmmgwZ^yCs_z}&rh<$~Bw6G3jjIu-@ z<6GMB)0oAJxbqkC=>AD@t+xVBgL~3OT4`7bl{p1U8FdG`iHl9A!)L)X)ZlwKmzEcr zOGk*+LaHEj#*(Q9Fpd4`22~SI*|dEsCdGlQc9}?$s}$_51`T*kY2zU%4GfGVAyo7k zJ7ChEj`JU7Yy#}r1i*0{VyQ7_D=xnyy!8|?Jk?v0DNSGvVZ>W7)2TXI8SlDFDCDMv z*SRQpJ7QLCdoXFFfJd&ryPF}&88qqVwOvbBQKl?LVYQ5zb0O#m&*({qhq^kui=6JO z^O-`&&$?)FxXDtc(=;tieNd5|0*oD@QSs>(voq!?s{|=&Bt86@SB;+8>v563vkygw zb5#Y!{pPosIMOC)f+)pJm=LuNB__@YdbTq1tQiccK|Cr5EmqyhR2UFgc%%r=hXk{1ZK zS!3YELc);CILC(b`ZF04wEkuAy+0fy)tXXiCIiUs+e>XGl%#nVY1iawA5+0HOrwkt z;~KGiIoVO6#4#a;-%sHe>IxkV-8rB;75Jj-AWZ1-`~>Id9#s&i?F-a^Fq-2n3rDW3-WFYGCIwXGl z{|4X@@mq!D$;w(AiKtnS$6b%){0e+6qx%6H6$oF|;mj`&DDqdAG`m`5; z;xV_eT`Z^N419sCD7mskSrn)KP%z10o8$I&v6iwf5k7XhETZfyGKosJg$$c(b=itTpY|9YD zS)GcE=C>-~M4)*^88C}ON0Fei#HroFPjHu0wdb@b>&zP*9W`!WoSoi~v`Z*lZBR;p z00eGbQYKF+-JvKmP`CHe_u!goI?smDO$&4f=A^-Y0V`gOPcqj<$3j?07w8C;T(`j1 zM7JNUAb?eT>)#`w(dTA0*%%AVDYg|9WAq3*bU|+kapBXF(ZL*NL|ae+svR;}!Ig-E zkih4`9~!i79EuR({P0)|ny3Cx3MEbM)WDz{u0bhZ2-7km4TMtv76IS47q7?%HsO_I zcL#<8@V~YL1OQRbfdBj5^xG9Q;Ee;efDqagc3`B`3TG!_WV4^e8VB}Pob9tieh0`q zPibu8UHB1+WJy7N{KK1G(hFS`^_N^9@9-=NpB!NBsK5CCA(8&yAfFZ%mzE?Gp?5jz z(<@6$pO+SASr*wBFKRjEUA%a4zxlFdv&q0BK3-@tfIrZDZ6V-O^#3My zwB@98jDy;bnnU&F4r5;poiFQjq814VNpPoYj>ny$9HW~K_JzCQw~MSRu!cJ_a?aVl zJNc1PT=@cGC_l&zKuES>3=~Fe%j?)9WQA@nz{5r;_?BD!oZRF)lK{nmQ-`yzTi9MW zxPBn{9Il22uU*=6qUW;lLzbbh|Cb^oCCR{- zWviB7S>7P|H@q9t9@pQeg@sRKXiyCV87`MHPy#ob!;kK_wor0jHIE@v0ziRLPZ+HM z1~1*@swOfW?(KXZFn>h$5{S;hFqP<6(yqYX$^YeMA4G3358j`gV7!j;5ZKD!0(Gaqf*o&@*UqaqeNZ;&S*QIBeFu0QeAlOHy3^c( zWuBhyHvY{z^K@+cu?fbn)q=^JU1?HR^C<1g526N@IC_ft-9HY!(z2FZypXF6W_q9g zZ+P%~%sKHQu3+|bIq}o#W6)F}>9BCM>?df?l4G#h#$i;Q$>{XrDDErTBG}huCho{r zkHgPC_^v~;gSMWD+SRTnvGglTLZo$TI6&EU)CTch>+tt2MV|Ye zMTfE<$!m>FJ)1{wyxcD(yV%AUn#_yX(^8a>?)m4*KMfB_c$LHJp>s_Vb$9e94o9Ur zf%o}WcOKp|FWUL}a1^ZYrlEbrt-@P%{~l61Jl^ui#q z5&nJ8e;>D1HBK^OMT+8*naed>?5ln|ZOs43Si1dY&tlzQL6zB`T;zqEBfKJgdEb+7 zl8egyg7$w~HI<|8{qe*ubvFHTYOEWL$MS1zkj6G z?eFdxct4x3k@Q>phh4DFvp3Od&4ggavxVp<&=dttr~o<;H5`3A8miT zGhxTG17B03VyCsmdi^}}yzL1UgZo@F8g}p4@#Ip=$32Tp5}4DI$NDOa$RYf$MQ0$X9oZRBc@yszoY=5kHGR?xjp#T(}eC8=UYSYOH)c>eBB= z?#`ji2}NJV`{+7)PsEh}hg%{j?j|jP-ELOZDj`}}I~qEfTyQ$kl#zs#m>FY8t{l(2 z;<0Xs7%nqN0Tiv8?iIZTnIgS++-U!J@j9=iJ|g1HZ*XJehx)ULR?m z7PNM{`X1rv39sG1UHFLzS)_kf-x*i1$T&z!T_T=4sjCScRXHQ{&jb}ltM5p*q8rUegyR~40O z{hZGo)4mL0$DQbKx|mkYViwf6!o4gtG|r&(5JiLLK1{pGUw6RX|HZgJN>23IeCw}s zyH8H5%Hn%M$&{m7YLD_jWOvkWRK;2BEiE&~l;`LjgOcCYzVo-53+N{gDL!3W__H=i z1`-n)^nsrIC-}}}M~mU}wr5SVOx`AbJRC7xq?wd-w{TDV*Dg{M;1^h}ir?|PZT>Ad zHs_*PseC0N4b!L+Kj3{`jQ#%R;El8;F(@UnIAqHm?Q=)tC!>lV@tZd3{#LSgFhJo? zL&9k>+@Fw}nR()dmo?XCTl*oYxz@W;PcPH*kzp=>3R)7s0B~gPDI$?}Z=fVzS#S66 zt;4}meo3eDE#K|lev2NqrQAih$ELdGCMPDl>qgP-$m)26`4QW5LFUIXiTanatfzNy zq)t6RlocP`y9b!MYQ<>Y79#a9@8B(bVaw&0@7vna$CS;%TNu^yDB}Ccy^yzpf_HV_ zbl@vWGdr%o<1t3uPF;RZy!~26G3fxHTZ!Vl%&s&n)VCl%O&DF~q9ayWm%K6yHZMwM zUwJzIpDXp@nN}ZZ->H+$s~eL#CEVtY^oojo#s6aRFDiq*uii~-A^awDPygGmVjVAb z?oiS`b0+fHog=9QBT5ZNe+0Rp3Qxmt-op>vnzN@;mgKA|Is;&3QHEdhR}TvBcl^5i z=`K6fYrD=+3FX1)>p%YtC2rfrq-Ye`($B};vF}}&QNQoA^w!Ef@##o-IRnP-sN7=8 z*t%QnXPY|e998BQcY1%`f9UL|TL!T_L*h%+u179a?Tv2h z(bScz?#I4tUp#0epbR2^qxZd2(|Z>#6M7%=^Ph~7gMsHfyCBvp=AgQS*21!$*w=5w!__U63NlA^{O$yMQ&6gGucWYYybKflG z^d)Nlg&~#A{&mhGZ$2{OoFH6NeVvjPhd8`8c9*>Isr*Y}^Z5>HxpBghl&Rk!Gc4W2xU?BE~s{5}uX_I>1kVfe|!TP=wwUuWd zg%7iCfJ6C|EShrXK$)J4?&+2SjJ%}xx4`euS&^l7YMD2gYjcMk_Yde=I=}hs{m$#H z>IqKKt=%JIEL8ABmtT1P*wUh*c8UDK&V(6Q5ni_ca0OS4a#^p+`EDd6jnA%nK6Q1k z5C4n%_BC(tfDNQE>R!_I3L2?*K;e+iKzmZu?9a4}O2-7Fsm#cl?|-eZt^*D!5qpe( z$zESLRY@G)UOh14QMK-F+MBctj(M4Ve{?6S0cD~!80vj>2>z`&KE27_M14%-ZfR_u z3QO}FsIxymgGuh1t&K|QBpeFLovplFB>BNS^z8nJ=MY{_6Mn9NkA^{Cw@TDqiW|6O zb-w*>#(6AdGZGr}p+C5%)O9pZbpVrieE>`AE=Zyx+>(vViZ>k(JG-JGA4Jw*8Pc1dJw7~K5) zL<+3A@|vXk#lh7G7S7o8mBfvhy+uEE$)A%oEGSpoH&WJ~7xvq5-!?2->rYgpYMI`% ziT(Iz8pj8peJE&eeAAn>UJK%ipOvgvt;;cmw^BYHdh`OvuhCpwS%8lajV5BJ-aa~f zSM7UvJj2<+;Oo(k8eg?@XS8e%s_*i-JsQVysRQ}wZU};7{sHjIB42f#Fxf#Tza#UR z7im@%=db4L+ikzJ6*0Ysq0#7m^%$ivd5ZpkEd8!Kq4(mF0KX2jiddqQ^<(WfmGYM4<6PLWS zp6NtqwgRd(Hs6=cNsp?%4 zdfzHj^hDSDx@UIQ#hVE){hDJ=hA1pNS?GBs^m{}~Uo`OyPI;7ql$PH^T3>=8Fj0%(>8ba==UG*M#@!JyPcj#EkEtTjkUruQs zoRTp!==H>eO8fT97gP7Gnawd}=*x>9s&-~B5%F{7Z*L~&i{$B8bbkS;%zg_#q-p>2 zEj4GWKuVJH`B|IH6*jIiy?x+|(5ZN8#0`Gkd*$Wwug18jdXu*XwfF}3i07T4kLhuN zJqMm1H%w6rmpa)0`N~bUanl=F)1Jzw|0RsikDDru72@Ac+FSM#{(IP8R(g?a(rF$Obns{^UzAy3N zcJUsz+TxkY0w?c?F8g=e)`Ru_sT+w4MxaWt9pUj9#s5r`XA#Ojqw>51~2XdkVK2hXy%S2G&VKet*{1Z~w1 zKiv4oqo}<>|7`Y=2j1_}iqE_ejr;ZLPRwV0#C7Btr2^}dW$pKlmo;8X-n>EVmvA#O z?lDI`e{)k*kv?@R57lkzSb6WGl`Gz+Nh<45f7> z%ZeA+;Rf|ow~DLXb$3)dV1nYAA;IIdT${EUJ(d45{)PXowRm#Y-kElvY$944l$- z@OxP2qHtkjVaFl3LXc0~sLpd`C$*7=-FoWM8&MsZ+EC>N$C@c zgWs5hN$-if!fdvEznb+vb!O4Rr^ zPUt}{Y?VA^V}8lr<@?p%B)>l4ogpttn<{f-n<|^Z2Nmgk<`?W7-CIwY`4$)7xpv`3 z%iigQ?bpa#>=Kfsoxd{FecG7LM_x?t+_5y912Vpx(|K7>@nF0g^HFj=F6(B2$G-~f zxdibIU5cBn+@PuY3d3%HVgHxO_6oX&`^3q02jb36Gzl8ky~{>wUxZ%Eo>A=Gp24Xqd4dx zP1%S4uPeqQJKtz)e#)O$n!u>)7fy3TAiZmOH1%DZq}?^MbW0!rjmD(6`og?Ok&LMw%I zoQV9CE%k6%4caMEoV~ru^f?LAK@U5I8y%Ay3(=AtjLie!OD37)NA_n|$=DKC$p#;` z^byn)vXL3~rV_!Cbr?%oGmikZ3Jlu2lKAa3%ZY>mfvzJRS9}^k4`i(NrZ5a_sEoUP zI_X37Try<1_wK9-fq(UJM<$mi5Q&xdD?N%=^>KYpWMW@r(-fjL5Ho0<07CvJ4>?Ws z{0j8AnZ6@z=yIzE&R4~rZ=izFwmgK6)&Ujbk8G=3q9f2dIFq375{Ls#RgVwZ?C+pj zb%N6JW_np*tIx?McCuaJfLYJ4!Jr0pI<;=VI-EF7#A=gEKvm(Gm_2L!&w%bcucnW{ z-9%i=Nwp0^Hf3Nf<40y`+=qQ;P&SGyJNh#TouLad!9;?UWVE1-TO=}3eD#;h(ASsG zD{E$$3KwqoH*gTcg4s+D@GqMW+BqW<{8Ua<-oJX_Y& zC@PWKCUU^&AnwW>68aukbLyVv)@xXgvPhrIU_qD?JelIkWYrNBlEh5l3zdU0bl&4p z4$xs9{ECTiQ$AiwDfi0`d`{JwMnTwqM{QMWnP}?43Q!5A5sc)1=;xjTzsovUy9n4k z<5LuK&ziu8sPMK-6H{ColW6^dVesUBr2yZJ&D-To8IlDJt<(ICNN^$Oh=H?2wKNp-J@js%!_*Tv!wkgdWKKHS|_vx_S%r3M$pE1*ha_^ za~yu^9W45+~4wB03qh$LHe>-sXzr2+(s(Uk;Y^ z)uqoW!^4J8$p=x2!I-ar-&bH3yTQNXTqKtx)#@N6&h7iEGl3IyYjd!WCJe*&Qf_b$ z`4#-euTsYyAtVSHv)>#u@JIb`t~rgyO13AckSIvSb@v@> z#xP@jN~{WpTKfs#Z;jQ2vyy^jQFv4HEkd+)xwl-!r{4lK(Ynn=miZ7q{X51xe(8a^ z#MpO6BIA5bW~RDVj2a$;FhsTkjXP16*=FVD=6l*qU z$Kr>Es+ zDyc1+TbERevr?L{{Y}r`>0~7r8CgH%^EkHNTVnN?Z1#AxL|O&pYM-U>B;saWh}?*; z#Hn&j`32KQ_bbjC#nFGJ7ngg24(GDm9`8!b#6-?)4@>XDbYt|l2q%ONNUEt*GW6cK zCLy{bYi1FTDUfu|00`}kQ))Pn<75OHJlv`xCKHhi#vJpVp&Ma#-E<))zT$A(Z}PT9 zb3*43{3B%FyeW+MX|f(#^aA|Im=5mO1vUbx$%T!)|k z<3zn2ee5WPh~ZyI5ru#YLtgftWwV;{!Msb!Ed^?{mT*(qC730RCHxFAN8AbAD1EXa zK1=CLimjZ>ZX9R+nwIG-xXK0j%{k2NS6Z-hLY&}?`fQxXhPX(xNW{Ez`5NFVMb^H- za6Tp=J!upj_EP6Be4rfY`%T;DS-yJ^Gr7Gf7`rLHHRGP^DWyMiYzRSUS?c6320Y{G zCaS`lGmo;pa1#t}kug*P;sh4_dJxvm_&8*(BU|Fgsm_3*B-1Z&rY_>?XT=^B^r07W z9*kQVi*2BgGI$C@E8wah5Y-P}TsVH2#MtM*B{ew~9gqi-fw;O;k>Eg<<=W}r|Kwya zj|*cYO+bP+DJ^I^N(b$f%=u?dD_^$sc-6xSbBj=$%d<051V&q4Z767E(qz^yom434 zwzd_4!S7F}xz=J!5j-8=R+S@*!00`2pQ1oybW~ER*@hH)x=Z9^5jAalY+W(uRR;|8 z$1|Wm1oFF7&+UtsONaPEfhMmG1lV78;2j}_zhEKdH`JOEbe2;z&K?v)b#%90jec~x z&m}i`q~}Vq(ec&4Px0+CJ9{NSk)4xUS>68BE%=t_yPqahN6%U5#|Qn8s$kkK0%0|0 zVr!8qgP4TSf?g#i7OB_~YopxU#o_$&On3b*eB1^2g2a4fJN{!4Eg8Yl0HKRyHhrr! zjItIr=Ph27CMCFOr?)677kxWYw?*e42&D}O*Rjla&6Hp>qrV0!uJ%%gb&c7aeu8Q3Or5tuZ z<;y*83Q)yy{sNdVsCebUn$$PE*rlgy(rTUykwuoo^;#XjX4OHO4YGDXoF`ENIm}^I z({O*9K>6)Ix*Iws`jz}gPjP#^+^GMR#t#H_JwZAQlp28g@myN#dj%Uqn;(eyxwfDzal3$^u?@eLnH`AQ`ECs( z!jCHq&rd*#sy9)%l1W4@JK)Sq+Q+kS>H44N$Dk@NAori{zBH#Ska+PqZ+8Od{uayG zfXyG(1ffB#EkPWSr}fpcuLY30+uHgHDLb2i_)b03DGL*%fz?4GV~O*CA>vi?*E>4LnDh5{(pwGOBDUA$ zV(nn4*=^lY1l^2&k=->(sYl)qU){$9LaBYh;uqe?0BxG$`v)B;((5WMzj?!lgf4rEX-oIo*_WZOx+cRYZ>W66oLh1&@FP);|WDr(S4jo;Ka{EfYJ9 z#FF8l4p0XJTMlTK@my(z;^|b-0tI58hxtu(KuT7AgX||uk?3VFsp+}Tzui<9FT;k- zA#w!(s(35f7VQy0f@kAFjGff~c5x)75;YyCLV743Vx)431}B7;HTSkLiJS#Vyzdpm z;57_K9mKE|{$g#l>@~~>{Sasctgx6-hSLjB?+byiZ}8zZ%Z_>RGCKM$`gG(Q=GSf*Rr+ z`Wy<;z|{e!S%CMxdIA38c?`|7`L7e5HNC}UW}}IEJ(JuT+9pcvvya zc7OFXANZCF?Mt!x9CaZNW1@G?kk=F@S*yDu793oc1q)nZPc4ZES3dENXiBtpkcrlDto!#f=PkMZ^a`nN& zi{CjaH(I4+HOElCsG-$nbim}VAP5VbHoZV$;si7RqEk%Bm|8L=a`@60TbH>Hs-U2SSVplS~N6IA( z!kjKuzmZ$m;n<+i78vb%4DGlcx$Jtx3A3nNw-$5w4DP>lS!9ZK^|TD!LyomXjZkoC z0`k2h_zt1pj}#9odfu`bGVIZuc~^yaG7&5Hs@AyKXT{n99p&trL+{^xUN(=j+r_sFZbT0qO@^4}qAiMRb*d2wRk#S<`#Me|v z__trY5p(dlkjVpl+f5DhT81>HBkCVzLr0)%5F7MSHwT-iHp28c$YOfP-VtLt0seGs zRqbg0z@b8e6IHqq&Y%yqBa{j%aUW0!;)t;>6}0M7*cKI2HGL0gQ0yRLYD(duu$b5sntFwaKRg~>BbFz`}dQObs(+n1cIP}Xa=VvA=5w9S8E_8=7!@MV4UJn z&xkr#w=Bi@9iMA2@26M@2yQo*#h%O^M8D7%w>GHGW3yEMh7Uv4eVPaKx3v)A+1AGf z;JIjl6@j!r3Qeh43*2D;ql2Sl+XKi=z2r{8jYWUN{7{eFXrH9ai|vb0h-4d0HTIq? zxw$FvE>8Be;-gg^H))aMwKXtQJ;29uLldq0=WGfheMrqgqO32p0+9|XL&%5_E(8*W zxG7aeRx9YCWjqj27cbjGDotl_yYok5)L79&I=CLX2qg=-zF4OBSc36w?l}ZV^a28a zpt1#VZFs+_M3`erg9v-=S*SV=zYXkKB7Jb2Br}K zQRK@g%Ja}gF=l{_l#%#rCdR(!Vz~$=R0~SxvAQQ188ciYcic$ZA!K@9b={S6P;a{3 zLnmVp-Ngnk&4(XsfiNSxuQapzt}v*rPMS}<^V8!?1`eC%BUsogUEgMoP7;d@lEC9q z@9D8?y%TXv=@PcrL1PlxB17~>KXiQ28|n?S5<-dCqbwyoT?`h{Qm}lD#*eik@Rzxy zTn7n73~@72{{%tglyn{;0fbQjXy45Hi(c;~R64R&+ddi2x&hg=1$>fX#dxs-@<14a zQHIgjt_02*!5CPZ6aGPBi8*nuHTvA?0Pj{@3`WW*E@9xVV69V5Ban6#irDYdEt&7K ziTlU`JsSv5?#~{bt#?|j^@U7=t4u&esYTo50NDWn=t@ldj`OQ9X>*GD6+04%0xi$r zWY5WELO}3^0+5HL23VZvgvSMIK%k#68SlqwQTzbjJHYu`U(GVX(>q8+atUyXiw?4= zzv|&uxOBkAJk(mY>2q_43MMy77kuLF z?jDe7#6fb+G6>WS&z)bG%_yS<73qPA7zY1l!BH?B;}kVFN%t0paI=5lLHywnF9~OX zj4&q-W)8SG2O>1`XmJQ10-_5NK-$o|>U!LbY#Qh!n>U_4?&6Z6q z2U`8XP{rE9FJDSfJs7dAyhd{GtTt@mludOQdn&acga_hi>$`G|0b_m8n85JR~&*Dp~7*6Zt{P$b1olf@6hS#tAmL?)-<#gd>(Pi>Q*w9ZB1{|ckdsA zu}s-UDw>_0VGQu3ndKc;-BV@_=4UySE(n1w0hDolG|vNdFq2)Zc-$E=2${bPyl2uR zHy505dt_-I_&N|1_)OT=u`iS_FySNGYI{GcMu<%4@h$05W;0MBo>-;9kYsY5l{Hxy z6+*#50m>atGkN1ecc6#N`*{#_MKN<%^R_-)v}$j22F`*8`1L&_qa9Mlvf+s0!qh4? zpL^=5&|#Z`O7<9C-&04&XFO=l2Ir5)6Ga+&@=It|>o~oQ0!S1&n>O^2Ak&^jtwwsf zk%|;m3VM&%;JPm`?93hc{=oIcKe_mf3J6M1lQ@8XPd=IEuWXVsv1O+ z<=lBgJjkpw?x4afRcVLU!@+S_s8ez4TScqYg-uI5-)fsF{8(4<0{+n7syFM2#tmF6M5swCihn8aY}!xRw;YG+aq$d`8eAG& zKEull*_(M&F=~uxh{A`$Zff{EukKbrY}=B5fw9qe9JO=M(F>ylG8io_O>U6Rc=esR zH$`%-`TPsFYT&1}%eQIBs}|?~Okt;B4QDZR%^1)F6o#kkW1i4xQ4KQ1%$2C#co-Le zF&mf#NWzDJ8=Qaep;-|91&{77in3lthd8)8OTgwNURjI_NPRADVQ?uW-&xtLQ5=EyvU@36iS#rsOxqO&jQIy0|w_{7vA#$eJ1BB zxP;~AFLfq5FOq}qqlVxA@2ZMIpRkR}LCl$Pia^ABDvavtSSNlE<-l3 zy#bHtL6`;I5U)HJrAfm3O#H@U8!9Eh9Kk6%Q3`o4^MX)JLPRw${=FW#hYd}Q)-lyd zzrga4x@>0kvQWECGd3uhy-hiG+BOF}0;ANZO&X9qPCG0Is=XQ-3Y9XBr$+yndtY0O^rT$oRy41NLXZ zd16{q1l-mP1wQ$c-dp=orY%yJmb-tfqnA_j*{`Qc3G{NCY2@}zbv+qxpaiA4-Wgv0 zC^2Qg72!aHt98HU-WsZ<3;1w_RjLTHMBh=@HD z5!+9&qM}~@_nr64y)$>_eB68Xnp5_iz4qGAPKx`Hmj?`;(6PSf|MNbr~P4MMM=GT`fuS7s^Lz^XxS)=2Z=qJP0Fdcp(bzplGCzbJEt=Nj7`WJ~T|BJbIV9L(R_rex zdJ33*aC*9=CW|0EVXEJs|Kc=y)A(@+Ts8A`P2BB7WWJHw80|AbfR8qBT6i zZiT&)?0vvq22H3ZTf&uf&_jb3B_$THb4OAk1DgQqV5bo>T`*KeX6hy$8J`cCE=_7yQk<_UN-3&?vzElepgT1S+HTF`0!XziWfh?xog2QmzI33 zbZLD%Q2bTSwKPL=z+r*vI?_l1Mnt2zrx!34C)#piy^a*@DZr<+u#&wJt&fupbB5*q zgRc+hHZoQAdBSgd?#%91KigS@H2)keBZysevM@k?LM-g{Z&6hf=m~gh8zJ-e+iZYB z345}`Ip}RI`oQGZRc;eu@B-B;I~02;-C9)>egse(TMKmRzuTHP9T~2A|B$XkH-5Q5 zv=Nv7H4OX?i3WP~R_?b#dL#kCWA%@6Flzq#Gbc5T6OW`@5aE=~Q-411<35uT8n7%T<`g0)rx2-WRksGV+Jt)5@YYD^i- zipK!Mi$AeIa@o;~eBfXQscQd>2`zh6O~iNZA^zDyD@j*AHxD za5>qXn0Mo=?kWW3<_+F!jYw)ZN}B%l?#EzJRdy@Sy&T`|giUWxV)9mNn4aV_fOe6_I+h)*_>EoQrI~$=w?AQD3J@UC1Eek`Jb2FN zzW285$=4dv4l`r84mqW#GEsq69rvUAJpJ_0h81WFj6~5xNG9#Kjb8Kx6x`EyMg3S=8G z6Tkb}falES?dE$IlpX6a-{$FFKAzPlp6^_nT9a3Ii5(#EJbzB>nRfo{ka)pof`HD5^dclL3Pot0bqp62!X zLvbIn^kO%DSF)LFc!d0gTDkHbw~P_$)3xGLzs9*szh23AKGk90K(2-yl*~+U{T60G z*jHwdE8b+-nu;LF?P?L5?X}FVgBCk(zgo7I6%-WbVy(7w2B9h;hObki?bC(avL;+ ztM6#MfSJae$6ODVdvbDpx5G=Ib1{dRu)ich{|+OYw?}zR86|IUgMt-g9`z@R<9#+l zANi2FPChdPp2uG9ymARzl-a>mc9|jEl00Ece$@3Zo{AY4ZlbAg<$#F;8umtyN675Z z`bPfmt38J$_yl6{8-%B=))F-S^F zJRg@#){W&^*T_+HGALn>u2M8_mQSU!YsZ9eDO3}?O>W4QoDL+XH-KQ?U1oeqQK{r zpDH)@!NAn^PvgN+Zwyi4?yBO!Ul}H;pZeU8Va-p8Kh!mM!8Puwbxq6l%+_Tv+&gk> zxXH?}P1?J6ZQB2U{uvu{;qJ9^?`H+IdT2-Qyz%{>xu4HGCWv|}Qd&WlUgK-BhMIH< z2V~zAANk;^`1yCva|{`tu8@C!JJL=QA~K;O*fFOvYpNb1s*Nm?>^d`=SL(RVoB>?v zG$X z5H1dUZgL9zWe6Z(cYhV_^?>z%z$!m#eGO}14N-c`+&vl;90bKS;H5_IElaJx%K{IE z0a>3FPua5W6K$zf?wv=0Hj`yL*#9|>SQM+ly8rs*l*fGZzcn$}b}x47-d`t~v(N6Z zK3Lph;o-F%>|w_mFl`Q8QE8G-fYvqpa{uBwoQE{qlucgIc$CydfIj5(a#Cz7pq_E+ zp7Yb&h*ULfZ``kn8Y%`x9nMILy#uMDjqC&Z+Z%_8k5puySge*jfb&Hf!?(yhU*~wE zRj{lXp1>Bs1crNve?x?OcM?9MBBxBeg{2SnRVPUc*k`@2{}}hEy{$z|oQf$L`O62R zx(P~##KNrCPU4Y#8-O6-yY5JE1*6znEYG+D0cgE>LXoP7asmr=4F1hNpb;R|QO(f= zxaQmQ=Ca>fe+EdPp?3vguO?MvgJx~a)fNTgS}G?&0{xX*o;YqxI+K33fdVfyDw=~$ z-73DaesLi>qVqDIsOP=Oxk)sxbc2|K7!U#${0D5L6h`F&fRUF`GigE0=fp^JqOWC~ zgm`ajfHIv0gP-x;d`A<@H2^Z`HvYci!{}KU9qTQmSexv@&<%uVSzrK`%2(mx(ISeZ zz)xQWgWYz1>QoIhd$HFesB3DrlBxIh{-`R`Yk_s^0Q#h?5E>rBxxyy-gpUM6%yfd` zplIT@IBURYpk8}-#mh-&BU=ILcAn~(IS^AwTUciT+_r6MXCcau*z7cvWRTz@b!sMB zv>86cyQ{2}Zh|!=Hf9t9;sChehi*}51cJ)P630Suvj72oqOB8LSCU{`v1M~Myplr4 z>0$-aG$vNQQo#$z2ZopWJ#Bjb8qz-w;QWzNBUItVkkywiFglDOUlq)fIShlYaZGZn zutq0C50z+E7PiMR%C;P=D9S0WTRP+iM&^JBpvB}(u0>ZO%E>BEM|+`?>P;2R^{(L4 zk={?TNavhT0ExbYIY-JN0bFEU4N-fAxA160vFVzn_&)9Fbyd%;?>hQD?$J}{WsyE*cbNSj`Zrt5?U(*FI>YQ7>2>7Ym5Ix6`LS48?nZ?#(a`o z#UsM_{_>LGVUME4yeSu4v;s*2#vy2Az(}Y;hi($S=vp_TfG5RA?e6MqTwdXT-SuW% zA?RQa=#KGmPtw%2cGRypD3fzd@sE(U9aX{{g(gmQ_# zcS;)BA4a>g{3Z^=hryzd;FFwh4_MN@d##Hr3^-vp6T_6}A!a!ZcU@%JDQ*eT`_w>F zRzDIr8s@nw_@8NxX0GFE8nJ3xoOI%*A{nLICcLh!GmZz5Qd)^s(2GW^96NIj9Zs1s znh}urRfQ_Uf`zoWS8zCJ{lPXNI@lbxrMK|F6M4Q7$(^__mYAjzlT$@7P{H zxTmzXGQ4R-uASyk7dy$&hXWLJHpl{hZ%>uCgAMQ3$_C%AKw&V%;jZH5I?nq1nEU`E zGPaJo7+>M#8Fshc6VY9LbAj+f06!>ntG<{falSJJ`<{E}5}W*TJ!YHko(L{ACXe%E zU-|)l7(2$A2y1!6uBGbgZsUkV{e}=zD~Aa!;?Xa+>c5PlL3HdT1c&HR579n5VGW1C zplBG`lxwBU5i+ab>~kqpe{T+A(4e@FnBom0KQ5JUHS920*K+~Z`6y>=xo%H7Qa{Qv zLHv2s4nwZ)Y@an6Kp#_v^#^jji$C?rx&_66C)uX zx-t>kjq>><7{saXa8g68mY3`UMT12I3R7QR%GatJ52Ma9*!e48YsqEf`_XBbLq^FG z!c3te`uARx0#w8UT^1ZWF4dlPov!wL?qm!j){T)?1lf?M16Z4dg0GdN-9uTZT*wao zFPBXf;~~mBe@oCcf+-9j-$(GcP& zi&CeO4Evp$$%A3L>@0C7u-88a)EhCuwhgiUMV8E~9Si7x_|wzeuQfy!26AD8dyb$s z*RvFJ(iXmmSc1~G-#t*zCp-;Its%(E?eu%DnoT3klli(~eEA{_VS8gbZ0>8A>y@?T zCNY4c19F@LD@~}203$IQxtYC!vJ1-J7^fbSM7j|MfC4PS`8&O*low zWP59N&r(UQ={9WL8SQ(&yx;|ZxET95kRbZN#PYF`BAs|1)gT(kTL9!; zsk3yO{S+uqC?V^CmyG^gSuzdP+`XyezhwS1>~T@q+$kOhA1MVJ-JZ71WLfiSPW>L4 z#vA^ed6`7;6tM|BXzPHy#z}yln7;2iC&ovC1A>U>UEVy3B$F7j;^26#DsB7R^T7UQ zQ||JMdB8Kc5eX1|{K@MMQW9VCLN(3J7BfAICh@8QCu%4LW=LIMr+H{ki|v z6G~34I^%jOXhQX(-F#jtX@n|{R9=Z_7Y4%z0VnqS*%lTu(*m z2nig&`xlyL(s}5}3BzsSOQnFmkaNv;Jx>ige(_QHs`4N|;2L07%C44Uv+{sGz#J~F z)h8o~>n!o5E%yySOez=X)k9fpR&2)pvaReCP=#w&FluF(nsQB~^MmlLQM^Ox=y zu4SX!m2;D?&G_NskK<);9oWb^V?6KknUfQ^iWOPO>6k<<`;n=DZ%cX(X}4dH`&so5f>+ zvmU65v3@iuDyInmR=I@i9@?(96>sq>V4HWp+ur>w>S| zFgZ~;kcEZMViA5^+T($nVUgBLiT(eFkd#wiGn?ld&&gY)K3wt- z_`W4RF{;d+u&ItJ<`~=zMmP*9{tYT&wcJ66X%UQ>d{)X)QQfz6gXJUdLKjpgVA@C2 zCmhreYw+6r^RC0IOj2?D9SsA-N*2H?3w5s>RS8VrZ?$*XJh)bDnrFF+kvpU}f(@5H zvubTE94A7{O8tIab6gpd=kDwu%T*g8)}y_%sVZyE>WzU>)92S?YR@pi6ThnY$2hDK z-bxOG=>I;_B6Mhd7(8LQx!KK(c{l6Cp4x05o%kbgSvx&#;Q1n^cwh3qP&$aYw+?t~ zulqtBt^mm0fdzEUrwGAF-WMuw1){B*>)?Rn@qF@QJZChu_3mKArXs`67gz$i*qjkg zgI=FPhQ;XWzR_IiY^_2loQ$v7%hZ8e(U#knOkr+Xh`l=vldwp_s@<k0 zem~7ww<*$N6$~bHH{??CgB<9vI@0Ig%%Nri7zzlfPiwz_3+@@ZI88wA8$vooPvx;gvMw~3O` zNUg=&2nTbnbvTSG@i8nTJak%tMS`vi_j9bVZ+##%bd86Mq$}s|_=BfLDP+&m&78Ii zMY)P~li>ICp7!ZwGL~x^3*ai}sopYOxYmQ5EL-IF$%ehw@4V)apF5Ptd;u0Vo9}_# z9AtZr%^6u@0(*8GYU5^Q1yG})c5<7ZH=sNV#~*;BdK0vbQ!0|L6Rx6}q&*?uA#CM$D<2|e9f z@IxOSTqArV?}fJuw=2>q*iCmUYLChugok6l?U~YSUE}mc&%oE!ulb8S2Z;8P?&kx# z3aBK2w1P^Lq*(`m>ULU`)pdRNwKZ^|((D3qRD&OhfJMiFu+QX*TtQFI)}xU8h#9G% zrTzILI*#$q+#mpSD@@DG;%N_SYybAh!55^}F$)-v>r+T<4X*&IxfTOheI6Rjfcc`Q zej&s13hUx;uN{JOVU~e%*P?}D1UHIsXpPcJ*(!n$e;A!P1^8?D$O|YMK)sxkTm?}Z z=$ppDD$d*{C1WLL;CiKJPPHn?qpGk;I-syJQcj%D)^|{rKkx^p@7ln#JKdMsZ(4zC zIg?2teRUdJRKo9Y+L`d-AHmOVESqeP-1XgZYsEm)a1Q?3R3KW_hAnY}SQ{0f-OisQt zOM0T3WvEBg4&qa-*mjOUrg_RzUn$It_#|?OG7u(by8$F~ zbaHoRBJL|wEC3X+hg^SkLk^LI(E_ewI7J^?+m7Ddao?}qTPb=sA(RQUp(>YJSt%Kg z1QFn^X3t3OR<1*>?AsUTT_JgcG?W;R2TIAhM_F#2$E3z?mVcis95K_!HX-N$-;vpZ zFoMce=pcX^N=Xtk+^!hMn%k&wHpXnfw>_w*q9xzFFmnsNBrzjq38+J_Ura%qZX_07e_nkROnesa z8KAkkrYq>z@SYu9o9Um?OoFTaaM}yLjl)Ak91j^(AAbPu4ah}JM! z8ze{-8*xdpwe^;VAX^S`^_7$x3)1G^y}_yzPJlDaJI08QyK9|@RX`o{hYtjeL%0++ zf7q$SH)~#|r1k~|pP3>gEO;=myxWgwl{cL-<3G$%1a2;bL^eKXS;;+=*`mE2M!zD8 zwvcTOv~FZ`3<6?cr34J@6*l$>LWoADv=?k~P3n27`|DIL>)+QWT;CUb+tt)SNEMBa z;-v;?^SHFvB|xg0J)5CRsJAVQ86&!+BYHC+ak>*qdszjCf~~f{*7Lr0WHz~YNzYIf zW!6)}tR6qAsn>sUwjoIhII0`dy&n`doIRQOIxlz zguYqm!h6)5eTcLC0ILeHE%|Hu<1fC-Yi#Zqrb+;wOCTGmZq83A@eyJL^b_85zM8z?VYD=RSDboS#H_mLG zrT^Z_ucMd{E1sxcdkN6`d`*q+jz9=eQM3H*7u06im{_uXaTS#^rYA0nKP75U^HziB zdmD3w=7X;~TlBEKZLd3u>Mw$$&~l<3QJw4L32YEnGjf-1i6I>~yHF=m@-F}{WpPHm z-lW=tU#N~7eKbDl`R-2uYg^wIbN&K4_lp+hN6pF5M6}6^YNwHHM$SUqM@LeQBt#*m zs>LAo6(CH@VJu?~;F_Zl*q$hamphW8QJyIdyLakyOcJ!H+HMC_6ZH5*liS~znqg1T&JG~Tm@-njKJUNxiK@UrShG)= z*YP(~Hnj4!>xxmlEwG-=9{;g6W7Hd5?EF?RH-Wl^KVhWdfxY#t9_!FMKG zl@Fs8{>W7d^9ZO8)2mnss+YaNLwVq65kX$-9|KQ+(5hP%v@eUXJ;B`hyemOH6nzbH1FmvKQaY}ZoM?`if)-_9Tbcz$UZ6x~t4n`=tlDqWJc4alo zMwa5T4B;#eL0va4-h(d}-8b#nnjEEKTdPI#)DqG%vCYqaIxF@MX#2?*;D=cx?#r(;gJmqnPygc&5H00M80!q$TaZ1aSDuxQX z^SQ=29-h4oR(pg-Cil@AbBSZ5@XDg76)iiev z7evdpwmUy}cN?kyYsX}98?zULszf%mU)D>YiPM{aZ~5>kUGZDLgN$44uXiF=KQQqC za2&ZuFjI(6kI439RM2i%u@OTBia^{~^1N_YXb{cl~e zX4$AR_)b?~n-U#qUkP^}TBO-$fE96Er{5?Co?+0*7{rCp(tQ!QV5V1kA2Vm#G-(QU zrnj95Zs_~LyvKgd&t)GSA$_&UdHJ*s$3ko7s2V0U2wf|f0N?X_OU zeheo(3Xh661a!4~^#kRl0PzJe?irHc;f!Wr`YZ14KmtogaVi-fi}8!k#V@`ob%>hN z>X#@n7hYy21m+@*{aON~>#M|RaT3*_3k&}|A}E6yy12mqXJmG^yWfc`nt6&nXip8p z+6|tA(VyJjlF~132v&(wLow(9#N-|j+n^}|GIzQjf?3BU>Cg#hlkvb!9`-^q1}>TB zR=82EJ5)-;u-@neh*IBDM=bwfn@(mzjy0Pk(~9PhvD4)E(G@R?^-*uuFIWmgukLvT z<+AGQI;<($S1ux0l@0sZl2s!78^lhx8{U8|hfn4#GR#I8w7R&{>%f*vv)kFL*+uLG zO}KJ9FQ_~{)~H`0du`1dA5w(p9OO6XuB$wd>=hkBXdQ4d8QZ*y;H|Z_ekSG>Pd>_+ zG8YiwmdC9{atnUR^Uv)16*|jaS|3Grea%9+hFzqr^Bh*Hu#1kqWTk5M6S=d+^uWdt z_>oXzE8kl`RGIkY;ivQbx6xp|A^TB!z90y$984`#I!dSmBL!H!6X%D=zwjuQ^4Q`! zfzeSOb8E|KQp>hUrEQ;C`vkqTRx#(O<1?0AeJYbL^uKW<;nUWI}#_uE~*`u z2k%@|@BVU&OSCQ~;Ab$qYBda}d{idNWDGqFK*0cXy+@PwJu)T#il`H(wXY}W%PTBA zlZHqbE|2Px-22rZxQ~ZUdc4}Qa<1xAKX7N9%9pr8qz~-w^u3;I$km{z&QVUi51^^z zAK1#N?VsOZtBZ!JQGU&wey(TpjdUBKA2fw zVzlaq%)nsC7S)*b4L0Mv56`%fJ-cfqpA0~6Y{2D)<^hBSIZdTd?<6CNOR`~3!%9S) zLFGEQVvyQMSApE-yX-O@ZbMH!aTw>Q2r29Md#mj7v5VOcw|aEC2rSEP(g1p|P#Mx( zk1k?Lzr=JL0hGRs{9sP)86gB&9-N-KfFvf8qfMeJx#ze}9f@cHWOSioQb0QFL8t#9v>l zsZ8IH4to|3SOv7HYXqhzv9w(YB79MhVc=9g%wM@zF}oS7KCbz*GE0$eyHb<;bvqqv zzHrU+sIgjB*yhkj#9gn=03`p}+ov8JZA+DkNsJK3#jKidcR;L8#r?{4cszS#{%>PC z+o+=&6$mDbdq(;W{zOAwg?P4wh>PAfLgjZ4W~R;*;nPb%XG&BS}_72d-X zdf8%Ey6)fCW-PN=-+j_!Fj<}L^>S+4?%UV}lDUXPLeHBST2Z4nrN#)xieaVGZtt+o z`WJcsTHaPw0ndeB1)*)e=yegYdn(Jz)kwa`mJu;w2`hD{LgP%bbm$Uz475%2DHp0+wRbcFMXpk@i^r{CHQ*i#f1osBidX?d8 zS}N~-eousdLtIQ4SWFWjDYId5qSFcH^`iyd7F&9-VhyUq0U+oRc&1XOXN(fkMcfrDZJh5chE*F1(JzAUp5;*cX~svXqUyNs<8BReE2E&I*5~I z*MtiwyH}_BGB5mFX!aJ|!&k9i*`3p{!8hi#JTLvTQ}lr{Ldw;HMjuL!j=ugC2UVZ6 zgJH)@R2$7Y8qa737}fbeitFu?H@`sa^TNTk2PZng?u)We`QlwBq1pi4$xzyH^;A5q zfM3!inNX-ZF5S0s2#=^`J=?r~ogea@+s{(ByW2ld>fJStJ>`)SyCQ6BmPe$dp& zWt#?$FNBc#wBZrB3=UKrV+`%3a7G^^>nGtvg2@Fg+PAT6vi}S4@5>Um_0WH+g(>Vg z416yUsn8V}pp=OJcVj*Kvc zY89v!TrVI-u@`TU9*m;yaYuRxpla;!H?>S=>^2aAAO;aI6#gIaj{1K~L#-2|!;pHP z$?82j7x_opcPnb9irhZUvF^YP*~5tjVvT@@F>ro)_tj*h29$6h8%6E$Ani_3N3NU4 zDcG&*@P6sK!#*R+Spf~KQJCLa@e<`GUaMJ&kD@nD7>mvpr{`DKwR>%>IV*vJD1v_< zWqz(yC1wdRzgcDNYKqQISaw|eK}f(w_E{IFXeaMfxMj_{&)W6~f9Ji%?*CR#10lQP z(hBYJFSlP)J8uTOuLA40gaandYwi7@tk^6dj*4wG&g#=tSYTYL;lajB6YDnCE9@=P z>M@(s0>vU&Z8%bkBsp3?w7Mp0OGdrc&xhu3Me3)|VwGK2uMZ#G=SnR=1YR$|eb?IY z9ttH=)4*mdCFv}6r4)vu@`18; zEmwOl!q?k~!y#_i1$BEtu}x?6OX*K{D*j9+CnG3V*+WhEtd!H3eFv|oiVA$;Qw{KV^TJv!I#b#I zdQ3cnb#YL;?6|9faCt*r)-K8*t>V_uKcZZMC_ERGM>b0y76Sy>MI22ncy~mUs06>! zoj$aS(4){f$Vj1wnIgoCyX4;Q@$|SI0*_dAF2thrqKKj<$Fsd|_;BsCvV*E?n3h5D za`)eEjQ!?M<>81ZMyi<^VQm&{tv?9QXWts$b9%D_y^!Vr_^C+k$ufTc^L^Uvg>2#zpbujI={ zJOlGKWoY|-R>Qa5;r2vtqg*&8T<-1AlDw?TJSs#-)Gz0LiQk`JR~(E!Yj;i9KvGQ*>=eoBz!i1D8s-IyD_P)R z>H{K@nTjCn_|WB!3y~3{l&~DSp4KJ$Ii*_>ThHHnbe}*cA3mEJ6c}A~zThKywdq4m zV^kIrcc{V>_&}OIjIG_uE(tR14F2LPz79Kwo6({+^)|h1mx8=)K@H}5XqaDv1e0G; z1xbn13YSQiMhMw`36&nl5?Q#b7^f%v`tw(Ru+DnkMF|o9Zxh3&>4dc4_tom zF-Y&~UGt5~NO5bo+`6zp?e(|13A#@i&L+GtMdYVIU{J}_B=o25*Xv&zoL;ODB7i92BX}6mtaW1r8W#)e#t|8WKCS)%F3~@@{3M|)_B5GlNp0g)YYT=%z zEsLWk*OFJn5xjn8Uz^g=IueVzpit`F^L8(;7kg}l=54dF896tB2R+{IAAz&t?0kd2 z2ShT|UKP!$-1r`gwCs-MbWzm*%%m%r6^+(6M6TB)^7AbW&s(KSfjN~W&BP4r00Qlb zz~XmLq_&MU_H< zerniXF)f!pLkizd2C>W>Rv#9{O(*dwD!uJzA@P0sRWDsuE}wKkvRj$DzjnyyXnstK zAll(^@R%23W|_^hdsWouq>E4moR1fj$(Wta6JH;Z37(_ObS;4dfdP)nj#}RntQ2N^ z-&AIb;ii9XTeR0Y9aDA*%(iLtvzD~Xt;Rn zg*|MW;wwq#Z&+tV?&f|R`1Y;B5DZ@J72s{~hR7@-TYsi1rp$uZQf7d+c%VpAqzNLh zyN~m$QD<%^7+tqV7PNNmwNxHGGv4$>*If&24K+E70~Xi9C*d~08x>r`iab=gR^?6- z5ygB}e1iiiP4j4CqplD0yC^-WpKTo7wrI&h26nb=v<3vQ(>hmTPkuH5350j$wa7qf z4I{^zir5I@aZN-Tvh>ahBcj*+Qcq{)U=*SyRt}a)L!l^011&7$pXNl z=)RBOgIp&5aGDz!Evs-rcVFv?p`Yr1SZ~dvJ31q+F$mn4ld-y{Ils%6s<>`cqJgi6CspmZ7MQf1p+SMi(6m112 zzDM@T1G>I5x{=|-nmxw4c?&g02hFUzG3+P++eSqNKPiRDkbM(nC5z)6B7mSq=b4&b z0rU-YZG|awMB5zml3qYA{9B5+!N||#<^WGaq(Wz3q6cNiqruOvN(jQ@Q0L)n@QMO_ zN%FB^fOooBY=OSS-VOf+?p8zeyiB$@?_BYMm>Z!oI>G&A7SQ=ELs!?{Emh?HlC)taB*7#bV5S6=oSKO?AtRbee*q?0RuRSm9t zubjb(CuqR-F1H9H(os5O&A{EfV6>f+ZF!Rus-$h#ep~#-FJXfsWqC_xRZytf_7fkt zu(pXmK@4y1wW@tAt5oM>MK>RDuJgqmucKxUinV#d*YAumkHd=Rs7I#5l384nE*G(a zSJe6P;Md9+Fm#lQPO(oVvY@Z2>SJ6$GyQu^z;^_oj#WH-v+}Qy3o_9gp>3fG|cV(V6;X zsrZ7HAhfKnrn(w%{E5| z?IIqZ4n_Y_MPpCnt{lW{Ly6XEBqyb$`}js+XyBlFA)rolH!KVi_K2)g=bDAYML5CJ z9Ym>ZP%Jcfn+puc6`p|2T~pw2jMj!%&gjF1KTfM?Fj@cQrUF$c?lDUd#*c0MDej81 z4E9&dOOcCKiOE(yURvzcF%H_HGj(@9HLOU%=-@@lP^+^L3c6^98_aZc*B!qfRJXwz zcn+3$3LMC_%dG|Q$~(Qvncc#itL7UN%MFdUj-@lLTUc>z;09h-OG${I1G{euF7P=B zFtIi~w33J~-QXNmv4-*DloL*6DvV{(@Z@CYCPvp26K@3uv>8$)|Cb)Mds%LxVlr%T zi8M2hdPE)7Z8~;RQfHS9Xa&}nZ^Rx|juFni7%7RNc>`>0`6rpBeMR-)Drw=rDr(&8 z#+`XUB5+TJ+_<H)4%rrT9GR}#z ziI+%s_hOdWMfJ_VD}4^qXmu*lW`K?QR_1xvQ)la@uyU%%8OsN-KcRd*|G9ZC;ZUEkMryk0_TjfcS*B?;O{={h95MZtch#E8(6e=5jIs7-kxvOW6@ z_+WqAJMC7;wPGcOe)Jt%9)GB`>9aZ+MB zQ@M_?%|iq3T0yJLkYUKW(x_3!gRq^hWy1Dg>uKvr*QVe3K6KiQ&&z zA<}H*D00bZHM1yZH7jp|bLQ|E_7v3TzTUt5E8V`yvIxU6;HG~ETFjWgtundyAL3** z6Om*{*{}ZUAC_W7Y}nJib?7lF0scjunripuy^MzBq!|+lF4NPd{8~9bAOW&5>JM2& zWAx!zGXF}nrJxMX8A#qiDN<8leGg-XCw=-JHVP6oj53$i-0)ho&=Y-wHid!w`a;U= zMvVuqWa;Vd7=U6f{mTI+ET(Sf(L2^KFB4HM?I;vi3kK^=a1A0BPKBKp6Zi3+vyQ)x zNq?YA$rNgXvMkCL;=)y`W_9)ZQ(TpL_%68PCI4VdLX{oXQ=n8wA#iwHlAs^`6O#f;P9X ze&vT<*ctfKBVBSE_j;*Xh2pdxP*wl>j;S})6dic-qqTL8K^2+GqhjqdYz|`YPt`;c z0YSH5MCftu*n^NCl<>_`g0eNJWlx%bp*bKbZ zXeUV;)I>-RK8>cTahq|SCba^|@^(MAVA@PS=Zzja-%-I9AGAkWde}G)s}zu_3>XeM zxfh}Vq`sdtIyGchG{fZS+`IACmE*+SC~KE+-g~+{-Amt6bdvNv>(yQEL9y9 z)Vz6yVA3)Nu+p}p(gj4N=L7Z);+irL>1 zzZZ*Dj3mub42n9O8twI{c5A8>(!{Q4I8*WsO=NVA&dCr$MnY$ZjaSJ2(&z#oV5gg1 zz_4e`l^7cZs-i3t`idBGYV?Mza{yBZ@WG0amPfF@{$|e>ZNs_lJC^AYqzm#=I%N2c zhSN0$zsqQ-=CFJf1Vpx?WsrL2CBJ)K*XNFsX;;0Lu*V8UJnj5q8ax3?2*sPd@+Ze6 zsH(WWQ9%$HnEYS3LjiEOOP$#l{1_2db$e^4Im(yYNt>5r2B9bh#6N(e@;JyA)`TCNJ zZ{K+Pb3ylRghKZ9ShEF;lO3vL$!e&l=aBLkTQ@EJb{0e^>CF~1tAOHjTgK&~phJEH zd~o9|O+&8!ul<|4Aweie&S7VtIja7sju098cLPHIHr4?p7y&V6o0Fb~jWKUR#I(Ml z11?qsBiI>)7b{NLBIzk{Mt}Hb<%}1+gUsK>UFwL^CM+P{&G*no4nFsWBwf+6qTQB| z;(y^wx06NkCzjz{F+Gkw-SF8D0v}l}3pP|L?c2{w&ja2lBd~#(ZUrsP zQ{UY7V(WkiW&*L5D$rknnR_SW|9K-*7i#GfE_K^>-B#Xou8N%YWv_}CxOJG(<^OD;(H3`Fen zQ}`mKCD*J9+i4rC@-uQ@xn|v$g=p}I395d`v_{<8IR-%!)iN|95Prp{J_gS(085(lF*`s>Ywkfkc@O$}Tn|*7=d(+wQ zLh|EA9eJ*lSmY#vV*gT=uCz%Pey%!Z`TA7kFOzA~ooZDnq*9x3rY1>}RV|Giwtl~5 zzt)v!-C5s^V1@Who6bwjUv)AQnuaSsosPNQCdr94b!yOyf%jaM*L>sV#ofo+Dhc1y zzP>F^9(bh`pt4=O!ZDtHC)l=9$7Nz~w13urci`gNU;Ev+{%HTcF4C}~zB06YYg2`K z=6mh8p?3j4qxax(F<87`tiG})n*-x- z9&ffTFea!xt1a1_Uw)YWSBDrIjol!=Otevbb4W2};Mif+xd{Mf7!7-Dm>lxCI-YX8 z>>(9tU#LT5ZETFaik8o^)MfCd1$9hrNMCofoO{}=%}M8-GF1xKq2p+hX5uF2r5s+} zQNeQ}2HB>-IaRCsP?WK~T!q4*FY^A89w~1$^w4&PY3wnaf49L;(U*g0EjUQq{qeZ` z|EP=R$K`=##!OQpGr5C2h7|Q4#$g<|3+!0r#S8&64uAtTi&tCB%Q9R7L{hLjFfubaqDw zD>O88JfS1Lzq@Adkn;p#UGUDRr>7q|_bmYzzIPAy_Fi|Myc8WHEIfT~*Rw0To|@?C z`P!6R*)=wCWmnSE@t|jEtv^-*1OUh-1<40_73^||Z~vevGq7YnPS@FfRVuB&0Na=;@4j*O)o-5BEmxHVL zF*4Gzhlf*rOwWZD%?rrflLznKvs!8Uzb|zBiJIjjo;#7tq_pV7RlF7QtV4TRI2Ptx zR%jMo5zR^sDjj>FcQ5~S)8RjHq)#&mC0^Yaz1rLCpvC(Oce6!MMos*OnH@#?~m{Im*-#bygZ-x$L(>uU$4J+ zLJpUz{rxg~>dZL*@P%C|AAfm^-QTtsJAY%19b5AK-$jGShxyw20ZVy=9poIr*&ol? z-w=Y6D7EzTlz^;TDqD`d%bZyIR8A50zu!0TbZcwX=%Wxt`u_&UUPT;>HNOz%XBwro z5-p&wJGSColQH8)C!$RPW1DuQ+HOKX#pLoZHrg=wa1u9p=R4us{`%7gt_I^!m|{tt zT7KR;*EOz;gJRPv_Lka+o$5j6PgjC#4y~&v6`#9#9HK_vr@Ix?ymomWeVLrk^1^C7 z+9K|*DfY28I`qco!q;B*znc3N(@(jF^&KGJUTfIHN=tIPG4+v?Gd?D8f3~mVisQFKpg;}P7{n3)t zFBgw`(n|MWE#F-`LDV_9Z+p(k2aE46OnqBC-IRJ#Yv?og`;|N|=HjiPm)otQ0;l@F zoSP$Q@(w4ygwKV^zT7W9SCTY3Wm9X)6c*kZn%O{VIudw2aOR(lZ%?&F2Q?cSz4%2Q z7z=;BT`%qwvX=LDqjk?;<3C*|2UJG88q2u!{<5u~hY~|=pPH8IPlh)&I_ur;wcJ#8 z%hqAtA>G3H^+hTfhq_Y(5^iSx>rE{Cop>oM442cpVa?dZ>y>%q(H9LH%a@%?^CtE> z#Jx63pA@qi#uL{lx$MkwyRT;V2(?K0&-mFGZ%z}e_s;ljUvr~WvoGsW@fi|&{f54M zKYr8{=WaUp;=E}$JYGYNL}#o_mtSOd>%gx5o{Ber^55=p{p^dGuO-+jua>{o0{Bu{ z+;956v<*$9K=kWxT}H=9@o=81Ihz_-HcHQaVizW8~e>EchEwda2HuJD^>h;R2D zPZbD1sTr0~Z#VTzt{`6(iJ!*GQP;JfI;Jmq&ugBZxRttt682+0;M0g1wsqX>{EI7v z^P|=O*1nV>gN|K!ppIQ@CTptAOd}Yd6l5H7-*&_Ort`Z_^Rl9#lw$)XOKFE|@4dB% zL%T(9ZM$=v*GOleQ}UsAn=e!!v>l63WUr<=yH;j(XMdFGZ%B!gRRxvh`QvX|5(1|t z_C@{2vDs%w8oPAin(L>P?#Chh7OzOxS4FYaNUhWsX7^6$JMD~6OIy=pRnc)9 zV#b1R9N87Z{j$B>_4)znM9;nI&m&1*ryj>Wo4C4vxM0kOF|qE_L>X$G>qK5pi2vutjhbt2UP-tH?cCD~{StD+V{gmy_}z;sC)x9_1SGAp$f}xjlWRxR?{0tD z+q714KX;W9w%3s2xi9J0A0kx$mD!G{W=C(0uRrqTiki|k^T=l(e9X4~h$xLP*!EiR zZsY5;Bko>rLSdd-EhAJbpEdhZEH9}ar*F%6$RpdWht2prEjai~Z?K|rW$A0Di}}{$ z-j4S?6(c`h&*eaWTprx9_r)DnKl04v>r?N&eVj7iU0gzRJ`4SBL{F5`8pT&TPrqZ} zM}kx`N|%f4iVjl9A?>#($Imvug_=QnIC~$N26Hw2x9q+wAADe;fB5Xh=Ua8&29)1o zrbO58e`dI3{$;0%FIH>9*GlR=Gw_ezq4JKs-^*QIX?lC@*>wh{dFAo{8vj0gylb=4 zsM&fh&OK7?js5fdx<@yff-wz8~@-@Bm(6|2j{O4YmI>2+hZ>`2!)MpS@L_Zaa z6u60S&ggqrP36vUgHuJWkJb!q-fkax$+X~zH2fh9Xphg^pxsn^qdYa@tt@=~QhV%m z4e!&s84sQ~3NJZg%tP}Q~f%CmeL|JY^o$bfga=S!EV zKU?(P%g^34KrTn3ZG}dyc-rrT_1!lcSFUV*V>M)}F+rRA3@%2EpAPff$R_zBt{zM^ zNB)uPzX%0S)gfF14eH*FtHfKVZe_y)%RU~Su)Ncw%?$!Xf7qe|3>)N6{P zzrGpl0KG1=6{=65Cd5V^r`GFLY2QpNc;Y)xITU&^)V_AG^^V2k$WP{$|FbFi`;1$h z#GQz&Jg#_`^0DVp$exFF9akHoDQLS#u3x^X%ZK*u%YXT=*(GrgQKgOdIr`4$ndpQ+ zRqeOg(FE+Fs^inecZyxFXPVyMTz-@JYf_!QSM$tM?Xf#Y`nRQOyXtEN6*S<2suBti zU;aI3Zn~_Ay7|YyAjJCDjr-%J=HoZd{VD$(T6lJcMvnRwSXSrFqt}ZDkX{7iKes-K z-}Z{emyJH|Yd#|FoW1jhq@=v9qV0EW+T8b~Z)-w%4-)&GLzt}^J1GBsF50o_%vgEu zKQ_|Lf!?fNWq@7vb>H2gY`p4{IL>Hz+qVem1Rq4@? ze@6c&?=QT55xuYcoI1trW79yqTf#r?u4`Ys8))4*Ii?dG(HF2s;5qqYEBoI@@df$r zu-2Y$1qb3164tGmv7~=LHPM-J^zH`V#%$uX;a&A}drWb&w^wG@#jS&PpVE=&)PkF9 z&Ca!a(ll=W7WQ%O{)P)H7s*x1(}jDMs?3~leh0nQC^c$rIMpV{WnSWNPW^4$rpUP9 z2C-B&S95j_o$oLSUD@mP&};pB!^}U!g=WpyQf&j#E4l;3#NS;aoy8_%clOKlH-Van z*!y2J-kaoo@Gi0S`f1(0dv~!g^}1tj11iILq9XJ6)abvV4c)uD&qa)g|J>JBGkQxg zlM}-qCFqFX1U>om(aglZuRM6?|3WHgy1k*4%dprxc^nV3cM}~egbZOq@|*6(5a;v@ zZ?1xO>Z@AR^8;p0nhf^70uw9O?9B5rP}y!i?wDQpc$SyZWq?qCFJU8=b0O1;r&}+2 zX$*8%e13be_s@Ln{>Kk#1HBW*haJD)y<8J-k)p$7GV$|Tjed=o#C!b#Bk3ZJ?#F-T z{u`+(xluo}87S_py7s-y>$lEIx50}ezM92<4*AU;GYlQvHtzN5#X*ga*I$0L`QtSy zX3LA+%ag{Kw`+YqpIfFGZFADzP5#BEp#jDf~cN(HK5uo7TptNkJ1E88B$K5c7dfD5*D)TGv$N=o{4 zAzJySZEt#k|DCg=o58EeLv$3Q)h%#j<+B%OXI^ikWGn~X+Q*ZxF z>=cdUpwMxF)Y$fI!77bx0R~0+iaMqS9m2(pKK=C{!TIiW&nKxTL_;NK8Z%nkYnL-T@tjSbdfoaa^fIi{lP zcIL0S4k=(WeH5Kq-oUEdZ%3*G^9)sa9JY>6nvyR!P2}gvl1N38{_0OY_?kMfe zHYPNtVmqNf|GR-dB+G`p(+ombaG1tG4<3-mw)Cdj=4!?mZdrAW#F^boK+Hy(7}&Cb zHqC02{0R4+0`Cfv?OY>cSBvV{34Yb3d?yL=eqmG?x1-T#dZAMUl748hwcwv4^2~VC zS)h$VT%30Q2h2bUZZs^YwOZx0>iuRtM&wMmJ6X_o2uvi9bvJg5$`-!5?Q}@luF-CB zfecNhWhLj}Ss}Y)G>=~^90iCkFLS8sar`LW57bQJlL&6v=XYP#7N2RtLA* zA`>60tuOdxG<%TsK9m(#BzbB* zYcM#HLODSvr$np#0(9%AbL#d-L9bY=%>AlsS%<>b3sSTPH&`*d^{9i~U~#tKmHb&K z%QEtccubr->QBX$wr}edMrz=a0{x215ejVHZZi20#dxYD?h9*uEtg+Y)_kW894rsj zZ1zC&M-$6LCy{wkBG_+3`mh1%fp%*LXlEfgXd`~s7uUU+j4+FFJlho(frAc9KYSaV zJl=EcLD+kNq^!MeWpFU-@}PXdGt3lv-=8YJM*(m!tWExg0*%@aG~J*cI8<}Nt8#bw zU6x#!iH1Esb883E_?fg<^_2BwYJ0_%&5Sw_=l%xjwB`8Eo(omR0wc>+>-B}W!61XN zVT_`Hq6VC`4+y)=m3Y{7OFf9VZixH)5K4#im1{x89y5&1po+3jIwTe;kNza_w5?qu z>4GywGlVd*m+7`qzqaT>gRpED!x`mUtWSYWqg-s&2AO{^)4O#u{=AhqOT3wb5rNvDM$WND`CTmLCW|1_ zKp?{hBsCXa95=WJPP3I@C2#Sf6GKQlw;&+eNds3=k(LNo;ZP{eGd>^PRX3-S@FIW??#snv; zG~n_|igg;f>|C+<-`bq4)$nwzhNsEX?>`<)$>z?5O;$h7Z zT|&k{08*{A_=uM*y(Y_`p5e!AL5R#DWbrs;S)u}p7QY!t`<0CVs?Me_zKZr{D=-FL zd9T%C5wS*!5}hyr0pfS!ZjOFNG*$1!W!VCL`n)&+2yl%;G!i%{(phrL{n8$QH5~Se z1cs>*b9_LNZV9OwW`%B4X=S4kNOZd^8~~b>w3uWdDcu!N93%%Dx)dyqQqL!4K}v9i zN<*1Z<(AkfbhIPDJQIiu$HOVBAZw{B_%KFwLc^sNrY=}ahU0*~U$s1)bGKkY>)RcW z%#0C<{X2jRMHy1pu1AL`OdScF zMFdbHakHVeF-6Phw7NT-VeyiOJB5QtLUhjcPPwA3T}qq^(y%}P253M6>w=w}%<^7Q z@CHz8f^0|2K>DJCtv5e-aRQ}1z~XMMk2NOaA^AWh%RLiFb07KlwaXg;tU0BU8YlL` zB8J&2`=#d}t=+zTbdrXms!$HL_f|k;3?R}g=Cs8QBbT)i00B(P+gVE(pPMct#|rrF z{11`ya4~usN~217j0Z3v8z_0^+ay|H15CiZwQg2k?{8WA1qQ-x&@3{cIE?u~1HRmg z=d2;%3`L}w{$w1x0gR*?=b_%>2T3d;9S^tFWx}HX3ph%j07zGD8X#k>4&2C&L<9V< zcG^mnnN?b}+${3gAQS?OKpiE9w=5HGp%K7QitA7T-%;$zWN|=O+6R~ua(yL??M>}u z&xhS*-8(D7fK|lGqo(SzpTt^@*^ z4?=S1Ga5&^aOsDnte{ujWB{l$=*;3wM}hY5aV@kQM_B0fl#YIthpw@Cc8Y2Epo2X# zsHE;UkA_Iy0re_SJAvp&*Feg%UO8U}hP>-#wqt@HXZjs*sA)vsV_U60=lV1hRhuGG z=YP~zbi0{q4?=o5fL<@H3!pMlLpY`c3bX=P?;KF5ga)3JPBh`Ysc48?Nu8SP1O8=~ zdq_r=Rfj>w>nwxF+2Df4y4@{rBCs?kEjQbIE)WJqCK9NU3dV}L#7u#TQl%V9)$2O> z42qI75yG~}K*f|Na2msS430%+?~nT7Er{oDiBXO6x$Pkd*DGhCiDa5Oi%D`hBZv_h zlcJO)I5;@6NflX`0~I{T*s!ezICy%fqg)60ba}An5l4pm4N!Bi?geDnF4teDf2u#s zG6wvJ5CDn7%pgft03~-PLE&Sp8C5vXvrgJ!eP~0ZIYymtM>rBel$}5#UdsjFi#dRG zwuUf)PakJ51Z7V}S6^g2Xh7J`{F>-N*P4_)j}U5ajUA462Z|~*i}bSg6ih)($|MAa znL~`e5S?wb7Kp+`@d+?Gq|9&dA}L0w2~p+w5Xh@-Yk09Mmym7Ai`0yGG~{}A^^Btd z!NOJ{2N6gy;x&@Q0IVuIfMED;A)WJt=*%VspMf8phvBY%PLndPdwA3#HOlr8uQH9H zCLb zk>CAhRmW8UmK|awGdpzx)8&j}G4KzCu2FqLT36 zvfND<3Ix7Oq6B#2@Cq;WXtw+ivV7oI7ZgH5bcBCmaWSMX8Y;2tQ6JR1pe-o zm$(zo1@C4L*#ABmTZ?sC%VfZoA^Z+EWDgp!$2deXp(Dqwahe4sd|3e+Iu8F9csc;e zOu+=XV}^;CJRKqmmG^6_zz}H#+oO8IDTig=BUUbx52c*ePIcC_Xwi~VSTKC`4=Ef{ zI0n8==6M+;>-)b5Kp0@mRdi@?$bOo`Nyz1-eL%b6vzTonYe2 zN+^GqD4JZF<5N%p0(f$kb=?wG8|7w;tk$Rz=lC5ubzUK6r~=lodoUci34AwA=1$S5 z`bLIb2r%3ve$D5+)%!eISbu#kgl`);-yH>i_nN%CE)sg$RU`mVSuAZcq_PSdTCGQb zP^_d=rs;A3KLmxt>Dt9mg%a*by@a`4CK}?CTDw7}#?S_A5-RD+xiS&g7PS|J1YszG z8Y&E;U|~6VyD(n41;=?se5i4h47DE^H3sXaS0Dg&iEc!g$HkcW*yfPWSIXl093x}E z`u+BA;1Hq@E6NBmK_LI@u9uD#dAnN`DpUaYDhhkRIYuz(PPhjc?f$IVfK#}=s-Q>+ zyolnw*<3(Xw5Az;3kxW%)TxuBpQNxHj<626l|cBk4&hEfQ0+o>?dG-&J`$~BdfDfs4O>>nroQO)my5tvZkTHoqyQ$9-w#;=f^n6N|cwsnO zV$3$N;;rfWqZpkIZl&O_@cho6EHVODgwJUCVlAp-EJ9tXdNDnUp z-hz327a{cQT2kx*pi`X8GolTj;ZnqEh9?de0Bv$NiV8ss3cCkB8&-h~>f>$Tbf8)X zu(sXXn%8r}0BMNIxdXyYZP2LE2u9uidj)c}2T>MQOyGV4Hg=V?Q3{(R%KaB|au9_X zGkX*0XX2IxJ_IJX8Euum4WZ(^10yA7TxOeClmaq)gTsr zEso$C^Y8xV7MV|aAe6?xWuCvXmSOx#OE|eImFM^Ovs&{@wH^A9;Se4Fh0@?~y#3j^ zzof~&8cZ_q)8!r8NKo5M+5{M+Gj|cDBOjNj0%(4BTSpxpD|Hn|M-H0GmH9Y$i+BJB z2h5eFFU>~0u+X1ZH3Hku<1FFpXjbBnk~A$g8$96EwVuED^f_hvz9HD{by-*4!~}bk zAEjzllx@-iH=aID(1Y{fK&{g269SEMQGni(+erlWQo}7x1_cbty1XVQ7ih2;3W#(J zYyjie#)vv$&#Qn`eMt91wl{{V2;67qQSV(0icLDHpAA?vN1W(L)|5ekQ!yhAluiJAD!;% z;`fPv`as-|;;u9QH9-Er7gNXd4!?^r6}#IWlFDdXq(lCQJAt&>4%D|+c-O=68*TT|vg{1#r-Ahsglwzrz1Xv~KBw18w%Up# z8z;V4nD3NXtPj7I7f5*$Mn75WgtTv8WiYQR1wNIs<;RbR2AW6OkNfQ@ws`X77nnDr z_qy-+fODSayWs~}kwKjNMKwFu5FyXqcX#fIZ5yukoT`lPY)7$Ubc}GJxH+Ag(dGUu z%2k%_g=~$W=`BHhY3u&La__0n>$Rb(0^Ck%9?UXKYOMDmo#k!-EfiR~SD05H6}5oq zIXr3*mb@c7k+#6e2sAIUN2pXDMju$f1zT&Ga(BBzwRqlXt;ELUAJOAJxWzOR8Ox`H zTpq`-8$FQp#a0x*ifMMmoJyzbdD-PJ!Q<>@y?c7q9r=ytZ!>A|ye|eA|4K5iM$gjd zKlP|u(v5o4U@^Y$Y9tZ}vU6c&;@H~T$b|1Lv2~FB?h_m<)fw)a^TxgP1_id}=#ahk zdeip=3!bP^mj~)1;EA1}>c6Ii1{@5^p7p>Aqf)TTs?sj!`Fj;t77h%^A~R-bLQZoc zqh392bWQ48qwR3s3#|?s>%sQ(z+u|(TtPFpO-LLWf_2v-81D+)KEO{{E+E9jK`R^3 zGYikp%xDoOAxQg4){jYa#HrOCl>?5<2>uqWFPujSoqh{GHbLK^W9!;)W&=acRO$WN zRG)%%iV~kMAJx#)&P6gc19FD|5*`Hc3OeYMDx6a$s@XSe3~ticTO*>ie4n7m6OG`w zTP7GUx{rldC>W^z?`fooR_thP6CD|J9dAEo8 zEljOUkpAE|7V`kGd2mj;pwEB3O6@C%R52vBNB*LK(=?ns#s*YV4#b6BQs zY-;@WNkF_i%36+2+YR&Bc|x@yUBx?10IqK~uGmkUQsC6q()-R_NYSE$QbHJLF{|DPqxKPA z>mK+01jAnaE_frlv&G!tmQ5Ms2+py$qX1^9z-2>fv8D@}} zC5*jagXeMCj*v6QpikUwn^gyi$BIF?|0MxS`M+#mam*tTp<6?Ho$vX?C5XmUUNifx zX&^f2igwWnzmMKDu4CU~{SPD_ZrvBteY1oRlV^AnqDm!I--QHw@)0(!n)%oulez|z z@aJX7$e;V)w4zX;a^BikaPeNiR>Jq%6E(}5*o}wB!%e0l*LI$8>XAwEmsUMV1sN33 z=3ey?q#K1}`1*KwR@SR48odm4Tf&fcolnMR?1!@gRWoQHJpM`Q>$3CCWUG_uZmEpw zyZP5=sq+-Y`hWk*OI(|8A7P?#!_}SGYF5Z$iqvT}qvG8aKOjWrEcHP9mHtP#ldeeK zU@*Xa=nZFrv93PQb_hi1`dxf698e;#z88j}>Nrp-s6w{JB+;Npr}Gagbninyq3Dj; z$BPUGZ;Ic(@rk0@B|J>mGwbi~9|?O!_0ev(wf;@Qa#Ra+tJ$Uu??MrJQ5HZQxRM@b z*@u`yDwA_}O}}<=73aOr26U+`e>@9``X8mFmHZ2QHYs}|pN(k8Q`Y-E`#}2la;$tS zto;_O;jH*kI#1A1_Zz1oVNykAWN|Qus2{n(?V}h=FG3Yja^*=#3?suCLJ&q~>J4g@J2pKepx2}# z0(j}JYbjyhb6g9D@XQ?Bi(8b!jkE9kV6sm?jI2&(K){j0WH&uDe z$k%VMg~a&qDnKeBPX;q*xX_Zt9Vkc!K=3Az&h(7xN5f$tQ5%Zb*}&qF04x)tdj7vG zaj|W1s4YxYK|GB+hFj(==$Y6Mx80QX2U(+T2g4~eF6F5UoX4EH8NdCOTW2r6 zt7#4SOSvfa0V_VR+|%u%GfqOe$BPPPP%qu;GqUY;NlA$G=ZzL4D3rJ04s)4^qPO;- zzY<>qxl{`VKs?ECrG~a#$Sw{_IlnN6j3(E@P#?pf+DUoY(Laj?z4rBq7?t6WXw4_h z5zz?Ln8c^}N7gL^RPOtymtL$>!vZN1lG2^dlF?CsLlHLV|wPj-c}n8-YQZ`P{&ZI>W0 zhz6`NdG?R>*T}kRl>4$2Ps2tY7zR4AAPKRv_bZEwdWMTZZGbzF>XQR~fPpW{Uq#^D zn`#P{qQ^Xe9+!{`McD&8mJpk*ql-FKpRcyN0^6(^0hMc^3bUKK)sx9T7#G_E4D zbAdn_F|^nwxUvR#U3~lktEOMq#Afq)?8b}w8VtygGV=z&umtR(#AuU^JX`|_V5%_h zQQAR4SQ(U!hQJ*#jne=P6X!)gC{jm5`%PC{E~Tu~CQvzEJ^RtpZ)iVggr_Na@5v;H?1MP@Hh34^CD)Y3Sua*l&|J zcDzKBq7)bTz7Y&b$SY}ci?qh-G(&X7$Q80r(jB7Ki0@G+H`#EYp|CK13!c~~U z2Ql^!QFtbROIL8CJgjHoMJg;P8)uC~%fK)I4XQy<)^Id8p|cO2Q^lwoqr7gEO)k!Y zz0_9_O(t6`U#9esR$Z81i={}Z-8$mTunyk_c}5U<7E!D%sFc|9J!6P<`mQJfbIf7= zzolC0pKqBWI2w)*PBLdIlg>2a*sJ+T4lEMd<+PW60f3rIB>(v{HamGoJ~*62L%{z^ zkz%YSL=T;V5YMrCQHudqg~)tRn%90*-fPJ0A}2aQbQ}X{o1`-`X%SvG9vcLMmqXHE zaGPpyQRXE-ART%@xQ!Bc_UIV^Fn4ByNe$+j3HCwE zr~);RY6ZG_^1l;j&M&49G0v;ZrQvctKLMJIrHu)Lr!*!}&g8~EPNOR^Q1ah)Mo31c zUiS}ZwE;}khA+BMUW7PIwt49+X#<@lY_gc3mv50le)MAPpx9pxkmB65bCNOvDAK*& zAVxe5MmzN*xYA973WJ_iA49QN91mZD8w0Xoyc?vaOQ>B&g2>thH2V*@0+2aP1$tGf zT8imlejc3=?8*CvuFV-$(t|ts*Q1iH;X8i-@-ZTbW{c8NW~Dlt5gI;tlP%s(k2h#5 zC_2pUBqnaPVRoOaYvHA2w^dCdu$5$NEQ-mdU%It8n(<3eSTwA*=*+Xd`GMBEA@%fL zk=zAW0wMCS?UY|XC!0ysQMZqa|LFG8O0`kpfF4@P2#_C)h1r|W^&J40y=Xw;YEO3Uo^ByMGxi&*47XG^5IDJWFHOPemwtSH=`EU_o$R3`jEHQ|P3lauJCZ7V` zg`PTgxB%2*G?_&LLFf?jP4*&W**;S6#!}!5BxG$BvB=CuRvV?{s}lMxnX0o>YZqJ$ z$g?A}7SM^nA}T7!M%hTa0QQ&6exAFie_@@+_DOTU!a3MHV&)Z?y6*B4XuC#`eXBLL1Lm?DAK*&E1M z5^G2;X%Bc0jSY`7Q8v(LE^iQJ&O`T?iR|F9s=D*A97vV~U}eqbENYSU*A;NX7)`gC zBtF^;t&wrGCCkW2r?dfoum5c~D8+3wB7ApnFm-pr&|k@x!K!J(G|UjE=G% zdY%od&v98-!M{PjhJ;k86(HAfw?)3ahc+pG;H8B8)3L2dIGdwtV9ph!0?)Hio$M|12x^)nE>$hbfgc$6^%0xD{!+I5Qc~a zG?YmzRcw1<7vth_k-DVJGyI=7$K<{w&P` zVU*qDqTV0TadU}_5ZNbZMkMqnzGv*$tGqo`kzByo^|F!J8|W?3Yu6x0BLT8-+{sO# zLI+2Xx%xSmFx8}{o*33^?^PI0_lAg5Wu&Ajm zhBol192s4KeJ~irhPk;L{JhOY0*hA4(?*Hmo*8kJvi0~mJ0*xCJ_&>w;Q>uRFW+)1 zSusZ*(q@*aopg|$$o!eJbwOQMX>NU~)$^rf6%BQGTl2wPH&{P#nIea%E2F%KwSb3C z>LH)AZl6e%_LN6<=zw$}FxVCe14O7Tq7oYvz>FS#1=vGu^4xJfhx=))+N%v1gM2l% z6F<0CFV~gf2kVkQpPu@dh zrf9fyhcY_3p|v@KGfXEqljhelD7p2I%em)|r?yRi;i`FCv;798H#BS={E$mZKp4Q` zc2Xn7=)L~8z-xTs5s%7GvB~&6hiCw6PA&djt1g3Kr>`cohaes% zzlE$7p?+!x4u%OuubC|aDk@jR#_u4=($m6@M|z%ZPD5Nr>cQr^<#;%lqhUps)5caw zn)%65>QGOd4MO|C*`{moVMG%Yxk|S4DpN8~2*pch?>S5= zXM6g@7rlw=1#YLmL|#Z@M#wa04r%z!st&YkS&V*xP4^~A_!u}!);3{n18k-ulPaAk zCpJ|mcXt#N^)gH++la_By}HNzi(-ZrkAkaGV_11{Pr^zX+s$2^7kP>4p1iIg2FhHW z)bTuT`U^n<^QOv~0i3-iu}z%@x);C71D(Z)XRs%G_ktEBO{1R6wT-KCO&};B@RU?v z*wB&-33zx#6olw(Tf{^=Bf;A|J$uyEE66a-b+V@FkS;7=U?d5HeCSc;p2Mf6P_Ivg zh0g<_zC^V=k`>WP>DF8%%;kO>W_7%7GC^-_s(oOFskJ;Ybzzv2T~knLejk6@LtT75 z#!9!<RHHA(KtifkT`|mkw|Gx^HJVYZlV&I$ zyfS7G???z#`3+kU)Kqm9DSeyPU7(Jgf>KoUe)namvgQfwfU&f?%+uj&KKc zlA_UheKVV5ZRLY}O?zAdv$3w?Zc?=P_?Ow+yc~1rp5d$rnb6>)k#4b< zgk$`&?Fhc{c2f10vYWib{BC3%m3bv^kP0J1;~?p)I*L&EuSMwiZaA)VR_|lufRdG< zJDH;}EddF}S*0?uO+V^+BqHmw0(B%P2Uze~F5zPzK&N zQp_o>f{}lpA~4NHRHw62TOUM@GtNXNCn9ILkf=R!x=JO>Vg|Cdddk)4 z{3T1DH){u|j$=Po3-!7hnTj*)iGrGrL16i3 zGv;ZMnzRE!ekgajrhBuw^7%4Hg7WE<=PC^+;n8)St3NZfonx#?v(np^}wY#bQ*sohN0Iiim??}K6kdknXA`)X>Ttf zJITc2pjV>>Wttux#Vr~}rT3Ji*+!AyeQsv$Te`*^l7-PBjPPC@i!tvc1V=(CRmvTjz?EHZDvPsL=v`kx~#wta10gEIzf z{2vemw`TtSLrWE&SX8p+FDqF?zY^irZbc3`D0tESbkH`0)G%sTCn~P&Rh$8@Ff&2M zcVan$R_^1TxR{Ze;CCJQ1e*c(+0`JRLc z2YL&0AYtr+7Kkg=Ng4HaMv3vJ5>}V0gKposB61W2^xmgImt|g*^2M{Js_qb?2 zfcTtffn@*S+e(u37XyUingZCat<@~5%_Y&uh{z(3cZHb1Lbp-i6*q!#jzT{JH;9Ri z^4KcG3yBQ}K>4W&gG>A_%y`jpttQ~tJk4%`zMLR41HN@c;+LB5Z+ElPl2rDI4In?T5A&jTbTVT+raY&&U&oxKi?7-Qz~phamogrWQ)6GfnPKOmCXOAcMhQ% zU%*kZiCB2U zGi`xs*9WaJ*6`6TCzjBlBlR8(^0PDuU(S&oi|lLCEXdQ_*qTK}QwF<9`vpDuU<>0& zq)~Q~qAwVv2@PVxQv{P3RsliJ5KEbLmHyS=96x+DUq%mz%~4@cW^IZHU*YZ#W)Dax!~~<6;a8s4v_2%+Zg$*)^~ z(6q{@+T0$xfuJ1ZYw@KnEeX%G2g=%+`=dqT=SPBqn1VSC(WReJ``gJ%+lHZa&L|7L z|7mKMyb~_Y48)vQzLFIp%xQw8@$BKG-RuxNs_mq;KkT06&-j|gfXxFlWq!oLETKicZjp0fw!Wd2_NsOZdKW(r`CJ~@UtXtt6>U+SFdle7}-#Ba>#u zRhbfTxR*x6*5ox(G!$r%l1L|3(_3H8Z4gR^{z#(VqOZmEJK_4@&AMjIIic0tmI;mC zuG2c>mboilFQ5B6V&6d+(_cM+18f+?t@u0^G@qyr%c1RkU0mN?m45n$FNsWHYN;lv zwLYp9b6R5;A=tRXQ&ecnyL~yMxNFmqDMn}9(hlGp5DyV$f`=9C5g)^0s!Sr2Bv><} zGEGyDtK;yOp}_}v>1 zFDv@)Kbl?Zm5ZNuJ4A9c?OU@Na)c&raTRt_P|wJL!;K-zAku+{AA=jAsPnoAMI$9aY?=`$a~MOM_v6OPOOlh0sd! z!5KivxzkIi9FB{`N#rmrpfx7PqjVA;Rb4Nie^v3ycQ zDg*+lH&E>xDT=lf+ZaOM6URqLr;U*tv?%xaa85u}RWYcfp4lwBVRoxXAAjO?h^jMv-g$01Rhx8s`P zUO9wnp#3tY7My7Mja1}N)*eqo>Zx{*@faV7Nji`OYW(Ab_YfvEQwrWv!YOmv)A{5_ z*jvR5WR5ilZ=WouBHn2Mq+plTZSoz6I~5hXh%GFhl3_-{YX z8kfu-9*AM+LejL^dr6*l@jqTFARs=R4Z=xJomd-9!ji@CqLA!aa9ktu7MJhv=TerZ zy^)SN)ug3|eQFU9azGVM8o(m$cdD(xe17Fd4`;#|Ui2!Z@-UQ@%N2ed%Ew3un5wej zHcE3J>~TloGn6g^E_nv0qpjrX3sVwV$VJo>%8Rt`H={CccrJ4IyG61nDoTIF%BMTU zx8WXg-7y#PQE~d05ntJtt}?>;nEW1hsv;Jdh*Vp_Hq$>IMCee6_PO!EbLDQ%G;_%TYMP%lc4t$p#QD$AeALYR6{Uru&dY)72orp{ zc9%`pv|DxDJ6vx85UT`DJaFwG&Ag-p@+1OB8B$5Am63_=K?J(RE&I`pq$#&m^`!=R zEDQP=i9e(2&c)dSzR)gMKna4zTzW^l0j=0YARm@P>#No0wXgmW9Q%Oy{9X0@=LWLc zo+S^Fey-?6O!B(mLBD@IIdJDb*|2+!s^%g$-ny;_R;M4F<*UjDm9;r{HiYRR%&o*c zyCJ*Pw5nbPcc8c1(dDTOHku-QYs})&P$^1)qQICjj8+|q;_sYYWS8xA0b;VETo&iY z9UzBl$!lV5pZIJcCz<~rRcGQ3)dTAP23L}b#5r4OCaM9sP%{ajVkm&WvK21J;D8HYd?(W28gB{Q2D9R zX;Iv70@e2~Rx}dE^sUwXFlkaih-==^XAde*->1ETlc_Zhu&cbjSV?)Y{sM=DbKR)v zQs{p_u#R!!w!^7@V(>kiMlo3wqT=h^%TVR@Ss9`_R@nKD?doQc2;L&mUp{R(C7$29 z+cD)#27NMG7sPveO02G3`fiKa(>S8sGC{sjC+w z1MY%BgqV9^uQE6 zSt{3Okz{K#_o*|10&%CC+Tt3O_>tK=R`xq(2k1^vtk~YhXMyzJVF1?`E-K%Ubg5! zE@`$DJkfUBK5;jOl4Z`I8OyKh$!~Y*3nFkK1FAbB!1SqOF;AtIVeQF^Y+l3$w(hk1-C$ zUSZA?sU)Hp;%-3NF?Ke!P8P2ioCoR~+x%$&YsBKj*`@rx1Xpgs};i&u@}8GK1Qc)S%QQ&hRXoc3uRR zp0*k-=|l$1^tK*N?feXuX^TYbx23_cv80O-$nyuJr_oyOMcz0_tE{;$SZ!I_K{Mnf z4LkvHU{VPN11hQZV1dre$y6Vp^BI4mnxk=s9YU2lMMYN@#!MmSwslH0SFmP3}-7o6}M#L z91Ll8Me(qbO;F%(v__A?$wGNil2pxZJFP+y!7oZ8PI+Mz`i=o7_oKX{!uN=>Iw|1$ z2A4R6Pv@YrsrJYsHRo4<^Z!Mh7{fXVA2x4jY;ibayyi89nqV8`in~Rj1Vh7zy`=M7 z$p}PYa=BlCL&=V!9eXqppzH0?%#*vi%=R6e`aTb?b7#Uj%Yk|JRY&$PQTXUfmYFLp z#0qqp*s}!H(H6omGfY5;E&vTd7euQ!#tMrkLSFAzE8qrhlu$X#6^bt9GYf*inQpMf zo@06b9j_v@h~AZlW`wKV81XpRvq>wH4J5)s7Eu->vwI<;lD0{m6p92A^f)qzTlDh%LtEP??+%aS6gE19z#LxX63Lx&4b;{^w|T4G{x#Vny-1f^lBJ`pY+)xFMgy*vmR$0@okEZTWgihpxM!qmE%9_d1+H_k0WWSr68167p{cHc{eA<7^-oE-1Nu{zkht zLXc%m4GTR6_r*q@YrK!(pLrtCYhW6@NsYDTK^kX$y_vU>vxc`4EY3=bcRa0aDg;vV z`Pc153qWc^2R4GD!*(K~=20+!k+o+LoVjG8DYOl@5E$YO)rp~}t43$~o#lZ(zE|8! zySpXv;UMa1$!iD>?@YI|UQM40hPU0 zJ%LPT7EYKAvyhMMfjr%Cb}WQk@){=8ocB`cXRBQtB|uNOL~9Yg8TXwlKaa;>BIj?j zXvv_MWRd9p|MrU5G$|(nxeahq`!f-tbo^?-?)D<&+AIh zx}tqTMiX?#c zOGu9C4?dOp%au#vhnQHbx{sd$@&X%B7^7}H4wN7ICYZs>A4KNb$w~#8?N8N>j91d?LoB$l+`{a-^;hy0- zDQJE$p!eRvFa!omGqT~u;TSG6G5;mOUvYkI1Z)%_>iFL^R86Xptdr9RYol6PGf8_Ysk*jlYm^Ld zHN|mEt8`n#q}j{PpAQO!A@n#Sn)ZY$x0yV`RV_N{JWTJ&G*P0T{uAm&cHjkEkhsO?mxVx7JeeP4pr6>rM+mul{AUXHmeQE7lE)Sa>9yfP#@yX5dRvhNpo!*{ZlEtq z8`#FDviy+3JG6E?adOE{#~+}h#L+B2_;!k=2u(cQ9k&dKFS}_IAisC{GO}q;@V%1~ z(r!fd??Ph$2t_ox&O54i@-(FjQy96_E`gIV8waqS5D|qpw9*%G8q%C2GJyx^9Q!~?;}i^5$KLW7lKtf!o4${CpdvJ@Ik%)ydr3l#S3$_37gjcq_U(5 zo`K!hSfq5GA<*A9u1rmyp`F&FkubY3P%^RduA|W7WOa%2v4XI3G}2-$sCQn*dI0t< zPD3oPk#-kA71Xg7r0G&nZ!ize5Vu3lrjSLm01;ub)9c+&kLVLoJ(QV{aFRE4`-gwW zL37Yr)w~!x5sG6;9vFNMv*mS-s2@<&%sLxw_lf0e3cIZd6ww-W*0y~iip<7aP`5IseX z{J>y@*B~xM1e7p@{0H+)TlgX4lM70p9j`?7$baq#2OI8W@8PA|$_%GV-UFbOa4;mIO zNq(+r2STe0?RyW*U^tLaFsmEWuK{P>$1m_mq$oPyLxKe+07zhON7n4l5cCu`PZauA z`bz}nlBjsmX$F}H#ZK=VCfw42ietK%)HYt{=R>$>t5L^(`9<7f2M~6@T3YvJf~}|r zDDc0N8kN73d!M9r|K1i6cA^K8p@5=@n(zU1$AL1G0h_~ZV?m=9g7gMX3uK+luxK#b z%}V2j$HCV#_gRE`(BvFlq<(|d=8SS6y%^zj)ME5a0f{F)^x>8p-t3G{`yWcC5!Sjw zm=tKm0i>RcEsGN!gphZi4Y!QwFxc5R9RvdAgFTh=p5d&1LyZBKC@ZhOAbUvgpC};_ zLD~yVLgl~#(jt6~Mep_iqjsgT_~2eJ;%-U+n|`TpE-;AAMsb-0u@Z!Y5JaF_!9BXDq9`TJ z&h_f@neSvX`|Tmr5H?IpbC!#uk?qWgavT&AC6<~=_Jb8h5k8=2xM_RRp>U894-e2K zfa<)8w$?YLhVEijGU6fBAe>tkRza?UV#Ax}%U3 z!Z>Y80Od#tKg$_IbsR^-wbT6Iq8ny1;g_O%H|NZa)xQbZtSEk^a0vP)O4&k8{@AdL z-l?23b+Hp_40X1Mmvxi%ySm7@Vtu^ok6JoWxx69+J!wmsDKBCYBxXy;g*t9>CEIb) zCUBw1UNE%xpR}|9N5&03fl^nuivXMp81;8q^MIp}X>Sh-d1og(6f%;$7XB>#qaC(G z)IJ+vw+0TNrchQOYqq-Lvr2h;t3_gPks>)(%+}Lp77r`B5Ygcc&EKUVBIi_&2!r;= zE7H^f0oqu7Sj>l_-%7q@JFR%Y*L9b6w`L|O-(1;>Uk#`iWbLdZQF29kI(*L(gCNVpJ9Sex%ff$S}hjAltiL8=;a45#8i%KQgcp9V6ULFL#rw09?&Bwd~g}4Bh^b z3R%7R;7KTrvGz^hg-g3M)fh6YqEOaAVMs(lyp9x|YovEq>Kv6VhjG`R9qOt(&-7`2s z6e%2i3rY2~yIR1bi1T1CNbq}EiW>A8b+qC+4!oaAVDF>F3#`E>i62uZf5h7?p%_-i z`8zxH!%sL;Zl{R1KL%w(5&p7{_!J0f6#r0G7+~5?sX9bb&FX^^=cu4Mg32A>T};v^ z3Abr+!^gT?_%JhqwNy( zy9_w8KKr)V%EG_%E@V<3OOh(X-9V8Ez+yGnNDgef01wqc#!J0^r20j}bBQ2U>8)lw zZrjRjWYIW*QaERvXt&(dt}KwJx`Iqu(P4rPTTF=3Bh{dhqH^1H*jfZk9cu|$26cwK#Su47b_qM*DTgp-=%uVbfTbV(B z6m;ZDcFWta-RH2X>;$Sf#lHU_Dpw;}Dn#^%$v!?4$XcHpa|Ap@E)OU>$tiCIQ`zhV z&xVo@9@x}48Y+U!ls7X;1qs&xX9$xoN1_Z?vE|ToxG;sy%>?C3BH=nf)T8T8@&Y@T zR-rpaI65Rt;Hv%i8?04kwFGJu_0z!SFfX<`XW&_j3aUhLZjGwvKF?I3LlG1x=pa{m z)4(}_5CkpyJ?u-brV?1JwzH9K0Nw<#rA5t1a!x3K?Jt}}V3n1j!UL6W6l|f*Qv{n% znulG&S@-F9kB|nohboGqr?upSJq>JcdehZx(auTef8-o7vvO@nR8{)55P`B1hn4~5 zi1fWBEdnj`kl(MTShPQEko4Kb{6e44bWRV|YwJwvC^+gD#VSS_94RG1qzC3Sh6q}1iT_acqN)Sup!)B8Npxr#Bd<~`4s{8@c zG&aq&NCGi`oEoDO7@*+d+3*27a_|cbwy1#Y2iE@yDXf(jygH|c&#~!ggeSK1t*gW3 z0nfD5t}R0x1@Osut&+~*m_^gN6JWR`nBeJCTDoKb!g_+4Q#rqEanCr@v_9Jv-XjY}6;kb~LhV$_zOs!1m zP07W+G+8_FYU&YyQcmE`ug>w{jyA-dklnAMCx%4p0?aDIcj)qsb;RqQf6#77Uk=eI zn3b=l^@auKC2j?(etb8^4GaU!BxNS){{B7xjzgtwKHei%)dAIw23MRwo8I2H`TN zbdXXe*{lSxh*XQFiM;RIp!BD0-~aiNoSZ$48Kbb@7y|~U7qS|NKMK9AUD3cyqg74D zd$YzlUVt0`#;fw>2;Hb%Y)D@!5tOP(m*RiV0@&Hxjy+cMt?; z8o`}B&S+{Pf*LMRm*FbRj$7`YNA++$?p8I)SR54g*J!uINp)M{pdnrnEpKd)ba&|Z zAC#U^Iwy1J2<}GVegg5)Qq*W$-3bz0RawwFW)-ct$AWXzfB=__awC{tCn z&=8H$!`g4hW;^|T>6V<_zjM6x^ERy}fr+IvDK6Z6$;giYJI~?-4NqI3zOQ;r%Z@$u zgkUqC-t$W_{ku7R-G91Y#&Nr+x*{4B7X~9hkd6HShN|o=@y`3Vl_^`LD}N|EkWtX9 z5lY7HP{wJ9Kro)PSY}0R9&eshIt*ykVC7xzdmvfV@&~p>hVL;9oV#U6!P9Wd7$tBB zh;EVf*w>*rAu|CKF1qqI9a-kPD6K^&{QCu#F`cOp8}3M6yzl?GzR|LL1_6od#`Jc0rbl$y?)vO(CQ?JQRy>JTBBK+Zb!@vIL>sKf3MI1Hq?i9b8ULdyg znXNKcE9d^rzxtTD@bi7m&HMSQqR-!px;=id96j^u-HVfO<-Hwzr>}f#ZL{9Zeu8SX zS%y|b+Vq_#_LpCI7A|pj-t}haj8))zCf@yvFf8c);2O_+2;SDr&-(lPz$87tLGBf4buYntyW90hxABNw z+PE6N>Mefy%{&xsFZO3eS=z6Pc59gH3;2E2qrYCClsGOEU_1do8LHoX@a6Nii|jup z^fu`DSG2~BZd{9^TE`OjE{;p4+)r%(PdW|h@Q~jq>Mp9QnpxcKHgw`;q~4<`1(7dX zYRB@WYL%T2sB~r>BoKpBgn3s+_O4j$-FqOVC#mJm!XwOlWoVnf&^c%KnKs{7xlVrq zloM7LWW(qUkLB7nE&mmMUbr~`J+WA#mlUXQZ2y_!04JYN<1(|NrSO2s)Dpz^724c! zhg}E+?!{|i-ODwL|NG{#f9G%5@I>$e8wG;#AID)5_;@E7NuZORZ6I_G>Zi84VUf+aV2`-eA&M-C^63NPjMvm@s!+*Z4yj?fUUe*#=d@%7Z~NARkUx;eD?6w8w;#PyBM2^v{#HmN~TU2Gp|e728A8F~C1CdNH2BD{1~$*Y9E z`=~_VYb%c#(^OYbAjRtlvtK1TjAB5mRn+%U9u)M!b2zAYnHPlH!RHsdlp7k_DB_2{#?F~B@jXna!yXHC8jVe?Ew2PDr3{FSCmxU#@*%dXRS9r^DX?0` ze2W*Jmgjq#`}QLuzU}y|fh(`uhMhAESNUt7b&F2!K+c+<#ls2al8dK{=DeOV{KDYNq|d ziMa-6wL{1`+;LAc)l+iCeTM!9N|`NJ zcAp=9pE$!kj=En8&@Qqsr%hsdo~NNkR4VtFU6;Kfd_VI1W`O}AwY!|nPgX}IZMI&# zP7SgdWT%%D-*M)JZchXIK&gbfBlsz-+1zNeZ@Xh_p~{oPhKIhV?#_N+Qho6fEy_JB zM*i1UO-dD$l2GDo{K_wIKtv^VUD|`4Cs5+?0fgP=Hi;-5ZE5?V z%{C#CZ!Q;=xbg-28h7U2QX>>zs}uB(XluS)uJ)Z?+RNCEWe57Hv^Nc?!^yR;P?Y*! ziOg$%)*Pl%&lkau>mI~%?F2i3??4dzwhixi!QF#0@9K(G4Iv+avXb2{RtsqzKeUi$lIhxf;TJ}g) zRFZlf;y^xLsc`JQ|GK?ukq+g9M=KkP&PPRy!C8b3ot^n442=VcX9j;jlfE{{S0QF} zmFIA^FC>8OM?q$?0feK3kDn(+RpF2}xK20JQ*1j;^pk^G2PeHr%!WM)Z6IpcOJg=Y ztGZn!o1qCnu-q4k7OpygcQV~IYmccTc=_V&jT~uF*vpGU@!Wj(%B2( z&fB-hwCjsDx&PJUnmM3NlMdbjpq~iyAbwy#eUZN}#hw_S4N=Zja~To5jh2F5&`f~0 z$fnm0^GJ0{0He@`_Nmp-L^MnSinKJoaLrWk+fr!bLEr9ShwPsd{$f25xCKZfO2B5BtcuHkexKD$*7LfshSQ*bqR{Z~jHF6V8YaVU>}NZZ zCCCuIkMFZ4_}wu)!Od|}-l@C1BO+d42ClCHK@`nJG0wMkpRKEVt*FVa;Dfn9gDPl_v(*@ZwJ5PHHSW94LNgm;sjYA)tqcb!nD@G8V1jTtv^!|8T(m*7hKW%p7ih zD^&%eJWry$eK8SWK_iA z!vgxWt2DF|%w^svn3lfioEizq+NmDf!%|ml%4~AA6^1)Xbl*9G-x#w2K0L41IfwaK z1+VNq)V~{Ca`~fq)^FQT%4G7o5(%QXg~Vu{mz4-&{?MyVGqmdk>Z|{&QO>Y4x)OqUIr0tpPMxW-u@um0N z+Yc9>O%d5Gl)x$RpY$CgJ#`;4@As&57$j9g+8!GXS9z?S!r;&Re#7fOj^Pt=muu$Q zE99;^Us$Fv6b6zxlBYF+Q*KZ>n%t6AeY)8x$tEm2m(hHU5cR0OyT*dNi>=13k?Gr& zWFVY#^mxNM8^cT&I?d*SRaubqh(xBN-%^>Nr|CuPS07&&d#KX#!W2SYi~I z9a5(s8Dr0stdXolv3@9-L2Ji`S&5n2a{F<>b2chdm3525MYu7hnB*z(bGNsFs&>wF zCtSEQ&c>G`hqHUhcCsIF=M_TwKUaF4e9Mtjs$`&89CVNcdP?RzIw`y93VkemQoLS zp*ldZidH!R=A;SL#j>2Q``B0_@sr}*o9)Ep6@U!|Yr$t$)g3OFeh`qSE1`*n$CgO9$X(#DR4d1e)JVenncvU4W6DeD<&HjwL-vH+ zmpuCjWp;Rqz}`8BO7ZKhMOuVZ3q;+ix^jf37M}MIMy9EsHc;SedY@FK6|Of8JwR5! zcKQ)Dl45V;J_r>xU{@G|P>LTQqmK-n=wD68egt1+&l`5`5gZlHz^dD$$j}v$pVE^$ z{7a^Mwl<^AF_$ZfdU+3~WMoeoZxr5dlPevh3zqR6jA_i{UBM!uDAMH{Pm-L0cq~=0mc$eOouuYtmI&Y`wB0pNCNoarg3P=y2e4=L~waMZL0~rIV`0 zW6IE0`nqE9PFUgYH`Db)$16?|`+9L)c_<{0JKXJ_l?`wmgimF3#X>xc1EHSG_{2V+ zz~Kf(zQ^`IX z5qM?y6oLXy2Vtj7*(CpWkwU0NipnsIKgaoLDT_9eJ{{obDPc6L|J{Ap)q<0()zcy+9;Hsmfdf&{MeURp(*8#E9PwiD#Q8`N=JlY;fAX{|W zDOjQE^mJ%85ETLyPJU>nK62)+1HJ>2)h=vFcC#Bry@X?rXuh#}BxEu5XXx?SbR_hR z7>X%zccR2!{z_s+j@~-yveN7vlIIFHpUxLYwT2HXrXocPZ7#NX&03G9Tw$z9ng`pUwxj_GCPq_L;LrBY{jw4R^3AP1 zkNPUTqkA*ak9dBOsd<+HR3i>_)A~SBhgE)JLV6=DoJAVC(VXwcn|0cX1U4td_ObNJ z_ckDbD%h&@sNME9guL69Zu@^`NuTY7M#^0P_@6C_bp!%1lUfZjFWfYc~ejJsQLdR z?5O(sQU}?GrlrjuT3T7%FNrurPWMPpuXf6^mtdL5N8d`$Y`d+OBPl8Qs{G9DycWlT z+Lj}uNl|fe=g!2RNsK=kA06B9u{}KP%q@irI_Q1FFp~Pw{7a(l};ahB_x%5|P!&2jx2_Vt>b0NoWN=i87D=TMG_pEDo!m z)p~Yx@iRJpROsvyfq~wgaZUexMI-_Arjm8A;mJSUC^zL9Yw&2DGOX`PZBSd~w7t}& z-zYM__peG}0p%$tRLO2;ziX@Y_fL?|QxgoT+OC!S-t#UGzGPpA%|LS8zdedl;a(89 zboCxv2s*D)R=fD(M3tK%&5-QQEzZ+muI*Hivy{@`j1U84XHVFWgK@3uJN~n4J}-fZ zFe$vV$z|je^fo{JH$?{FWRj|)M&QNS9he7psv&NDy+8lVaGLm8tDTPr?s-n^C&D{- z=sx>*_~O;Ve5Xs}pcwqGjy;$BIx068@Exg>yyAdYw?w|;-D~d7n=jd4r4FQfcdGNY z!rnu_&%gIg6GB~n`%8)Iyz;Ik&(hJIAQ{CT4#ZbcYmalt_2cZ>G2ZQaCwCmXlw0r!=&}O)ox2X? zjwj>}?k_P)Cs8SB?dQ8gTkMSije$9-V;2Xm-Pxt!FSpCM=B6w5nf61fWSBv5#Uy$= zl2Prd%fP&SLG7h_%fhBg%`fhk{V_?$Y!1y1L!Cbm>tq4;i=X8NZT6CI^i5U=_(4+y z9%ts7A2=|Zsq(p5HloeV@lDJ+=<%te>VE`^cTM+yQCh!$4;20N$I`vYq_^*u1NUh^ zWw;njTKzbE`DrtL`E6IgH}Rr!$6UTwE?VQm*np#_)aNx*)xNe1nL8{4BD#*6#GiO@ z=W^of=>vW|LS6DsFWYAQ$I%Dn|3YtK?QE^%vz}Y)-(_IE=%-S!R>Pn_(n^soU`J9{NEDdt?xU&`O|sVF(-PJ zK%hoz^Oxcg-p6RUpX!4y4c@-z5FM`?)_-^ke&*bQ^G7^%P0v2v`PjpwGl|)u0pa2w zO)`hSFqsfsnYYy7(4k#{l5%EH|GA~FSn;}ZlXVv5LzypbQrE;!-nc3U&@z2{KChsE z7W<}sEh%?))`KpZ3whmH!gOmF{r|5eZi&)wt`u4o8MAdbKN&~7RGX6QWkz^ck4M}%GN?+ z&*r^JMPcee1}yTK*mP3g5lES_(=ooB(3H#++BW9Tp?3 zo{a5jY8SORkamB^0UF`w$8%mvd0kOCAxYH_AUSZ?*^`CLXJ-$>xaD6bL@d*TzkdFn zapi^n`N947j=ozOM891At_in*Pai48wkHNlP(|9w8|_3~9{lKPcrlUonFm>$QSt0Gaclv44B zvT+DjlE?W9Pqop{cc*x~&?KMtN{OPWT7*};V}8FSFRNbCee}0L+u%6bby=TP_^Ii> zo1@vMdn;+nKQG25uOI!szu=P-e^e3ncFgtK2bH;w>E;WYYW6i<`n_PIcV0bx6FXpo zggxV>u@bl6erO=Nq(q3D-B?Mqc8LRh;T-kfEE=75MLX=fVRt{d`>5O>((j!LpUrn3 z{}sM@`azI)MMCdu`60ct6#F%9fH^V8ui@1pxv3#xkAlVfeIu9Q!Q4Dct5s`dX_daX zk$P$Q%?`yV4N!THLYiO1ht?`^^}R!dgFZVYPAXf@ZPmiX-e(HtiVo{HzPggMrSWF$ z?But^rEEo%{SCwZoM*|W5KOsn8-dZqu*YPJ#i)o&cdqTa68K90cU@>nQbm7keDqJu z)Z+E(ccsmT(vI|dVIJ1ZD*^WnD_l+IPp{Vg;0`Ixyb2+OSXnOmu1D-#4Q#J^F!!rs zHiq>f=V;u)|x5&IvT z_k{Pq^HW7~zw_g_NL3hhU+o?}wHwtce`0v7e=arNw}bAM?$S+_mEmgN^?BgJ>AU(! zzhXh%JS})%?;+54tmC16Kk|6{x`@h0l_=ku=cYCb`uiF4Cy)1C6iDgIw7mP{QSdxz z{p0TM$BynbP0Jo^5z#n#lat#W5Uy>x_-U;nkRr7Z-PjmB7q3*FKE8lC;(E;7&7kr6 zV7qQJBr$dB*4M^8?>U(7)OE4szZJb>uD@NXB8Lt^5B3?nx_4sE zZ0Pj5vVQvmY^JwC2+ z=I2@yF7V*%1iyLEjRYx0KM!X`sWa~!cd5Xo+bJy_&lFu~-ptx(e`mAA>C-ZelFF;b z{ztZHC%YcCC|eJ<@9kgHD<2@7JRP(4_(LM%5Y_zpzONv|aryEa=A)?qpSiu?*jRIs58*Sh&bPtE=W)II_l}i*b9gIuL~%>n(lBCnGy%E$ zhUS}qAG%ug@2s%fA(|Rz{L0VGWo>+T^x;Kd{H4l^F7p20j!9D;Pdz?S7*+1!Dw1YV zpza>GittZ3r8u$nt8nmY?7!!ffSorto*MWkAK1Tta2yZLcpxgDbjxo>S7k@m=cu2` z??2fZ-Rkl<_dKOs4|3^g;j@a!n@4qPTkjTUKGUm;V6(>15eI+hHcSvB9}EPy8r!@L zU9tvYcm4fb9^=WquQOry<^9mLS5N%Gsn zZ{2(AvXL@>Ge2&sU{U{^}2_Sh?weA4Kc z-OJfm@@Cf6O&0>3+%5d0$P zV}VMA#zfrb8*e<4!n#jmi~n<*xnB&({}OLlzwz(m>ie*k8-@TzirV0)=7?djwv<)f7pHSTvgw}<$){35Z7Yxjb-<_*2@paG=H5w z8usnE#*Uv^9}>2vpXlHE1mb)?g)E=vzk%6*hz&+h9iM@lPZ1o~Ta_yEq*njS>~<-c z9@*!pgWEX1zl7;_VMJm7Hf{Z&_|(nZ-Oih-2{B9kw1!dbJ4(LwFhEU0B z@aM$Vi<{Ov54Z?k%HQjItd>1J@cnN`qtWZfQnrKNH_8>&(T5T~?*E%~Xs9fC$Mc9k zXAW4Yt4ty!wWGa519Cae`2k4!p@*xdPs#c=BL+nawc}zEycO4v^lX||EuCcVtk}P6 z@b;7p1CH_feS7@QR4#MA?AIZ>*gJ%P;2`&^mI%KBDO>twD5EzSUlO&lX&b5| zP#wH+T%+dEI=1Vuej@Ehh#Lb|*S3uO*m`;Iv;8wovK~q;J1?C2uC%%*O}+I&?o_aV z6Z2n1x!k+Of2w=V9Ntq;TpIfNlb08*?dTw5P26#Tj~ShL z%-8__mzz@+JCqTLH&foQ*MP@Bd7G8j05QUT9i9P<8as>%E&Tmxn%iK%mSXk+s0JT%k_S&D6ctcf80=NxB$ z$!eHy?4YN}>3RiYXFa(#bM~Uq^l5)`I8xk&U=soN&m-8pM)G z$QcC6%tW3w*s>1CPCf$RdQqN|=HB0G_9;b`WV!OR&nGf-+9K0{pYY_Or`GT9UdbKU+V z=$%H{R55lBkQ=BY=levJ_GHDjKLu((L@~B2klc{<1Q=+RTn34H)C{0CL-HI2Oo-Mw z4D3FMy_X3LIVMp44iZJsF6B$~S2IXe8}-yqkTG1`f=He~OX@5J4|g?Wqc{wu7vdhh zP75~T6LTMc5#PXNdXo+HAB`=(<6QhcDAto(Csvzkm;bpW)}2KqZF#8G_=oAt6>vP2 z18aFI`TlTfXI9XKOI3D5Eqqy#N(MSiuIT^2CXWS+a?}bu5^PbZrjlyS`_6telVV11 zg4_3Y5cNhOj2$$7btbLlsS4%fjIq7RUg%lH+Ge@elCsdiKY4=mn6#p+$+v8Aw>89U z%z$8;WrK>N{Exryz`Z!5GLLOOFJU`=g{7STc@Z27vi)Hdut)hi2zCGnO07OL08rG& z8GqvlE^2#-0PC5)u64}p)A_(cgmGBGX)s*qZUm2oX-IhN^mkk9R3z?$LguDXvP+<9 z1p;Hlu9Bm!3G4}U` z{zAddT-o-ZgB9%RU7fVez;i}yvo2>0-ir?!nZ~v5#iQ$AB6*gQv8d$eFNJGRLOoGE zX9ov!Q8V9#EhoC>Hq@Ur+6(EIgW3awghjCUE46QE2Z9lgDoImEUYqMb=zN6e1QITW z6K$yEj(+Rm&5o@rW!ZX>$?)D9CRy%uL#ZRtP%*R+W<%w}2+L^%ShWra2~7Duc7YD= zXI6;^`w3fYjW#jbyq=6<7Rf& zbqd3WT=V;fUcc!9OoAjP@}G)`gxADh{@P0{?{_qn;N`f9B}mf3;2nx=TAje2Z=OMC z&+=J0tbT4@Qsrv$cNY_d1LGp-EQdU%Ayp^c_<3Tj?lyFW(A^5iup3m$aQp@+6^IZ1 zV~W-}PE66uI&71gmQZNI_?XpUD01m{xC7Yck=)gU)*zD%(ZDBYZA&%}=)o0^M78t` zX{6owpwPkDns49m#f|pjRq(*IWuR>#%LG6((Sfv`IOPcV8X-SlFA^e`+z;&IH_AjAt&SahiV8dB_3Fa$q~SzBskP|ivLwf1RTpY zBVZ6fy1-cy++G7?HvXGs2AFy2DUNYBt|-M*;1lLzK%^Lbt$jK;Op|Ht81=>rXKX=R z0EQ~r#`c>+I5SkVU;0ozh)>Ia+iF20DHUMJ@LEFpM>$!70=&ymV8E9Uq)@bRa4CZz zl)$^=?E!UE_CP5@u#)3I0P|IS=c3c%!R7zq-d>0Atlf4JFPuR1?&d_%qk?DzekB2) z07?96gerw}gE)G3pqB$stb-~;mOB_cOKIj66w5Dqc1*QDXljbV{q6SN_mVQ%b{OxG z13KMM4b%|QEtv-ff)=03(94LXMFSpI#Ou7%PqIApX>bU2m90d31foflWMS9x3?)O6I<^mJmsFv?chcZeIP_kgF?;i#coyji z98!wY#lSS!GTb9GKvXO>9F=y=aAswN zW~F8Yh>9CWhGvB$wXNB(P6HHYR%%vOp2AUCr+T~USXq7ie*c5#^}}_$y>8FP<9WYh zwAvil9*9NmacB`e^b7HpWue08FVNX%FrvI+R>VPmv^FHwlJwBlLVL76{1v7V>@nd4 z57H5G1$>lF*ey=d!XmhnkTv`)7~ha)U^Q)?U_3yG$UP|do_+jRQ^IRU&w@;CQ0oU- zn@W_Xo?P`=XkwS=(BL|Pw+Cby!W5o<%}FWd7&Sc!`|B>6-vv2;Z@Mb1Z+&j{5+yqFk5uT~#ef>!?l z%CjWs@OSQ7l0b(NUojsTCaxp~j-lIw4hrOxB!b=ZFt*Jsq1Q0VymsrSgB{UD+>3FJ zFp2}YEkC7^YrHzt6{ta-P*e8hxx!7{7c>Vj4%I>%oLqYqT}eV>{?VVyE^Y8;0Ote^ zex1!yl(iGuF0b|5BiH~-=k6Q%`Z|wm2MIDKMzsPfsYB0s_b-WcV@QSBVFD zs->Q6wv=*Szx*hNvdDKH#2{MI4&*Y={*Q7m84`TUjz+=y@Zbm=KJTEquH0QS+(^7{ zL*Gr4tD$8h;ffLCa)_+B5<&0NH4GpoDwmNpO#f8}!m0=l0}vtdH3d!VIqYhQ!YN{w zPWHPK<}@)`J)L8*7!Yd5PcIt^f7cY#%6RekZ}>Gt&`F3y0jC_TJ9k*!ctbJ2e)uS+cmFVjDN%8H&}nDHXM+UtN}Rct>*m#NS=9k}at zeag2bBD4Labm2R3)^WMy%?Gr_+ZBL7t9NMW-)G#P z#aNu17y)=QI^S7-+t4(Ok}$oj&}Zve+FZcsL#F<$>+|dGd|r*v_?f}}eHmu|29RZM z`s4RhsL-sXk9;5b4|G~qC-x&$q0c(RQpA7I=yon_pKGn`bR-mawDYa&aGpY{ofEc%zaH$EJ0 z5!eZ&LUTm}4^<&*xJNSiYG#p9C*&P6A1jSEu1~i(6{qv)vzFn*)V|pp5lV6}Z+1dC zTr4q0B+Dtl`S!KcXTj;Tt8_xD!2^X@AlRB~1*D_;=FrZh42T`~x4lm#^p1GFhu$D; zLt~DD9b;xOKtvs*BlST{yswdM&4UQE+ushB`5LC3JjF5gWk?gEDG(NOIzE;#oDc30 z(;Jgxr@w>F26q6xDZiIDX9jJ{4XZwGtKZp+TaXK{(P*Kc8Y&&dDs8G_1)O2$wJBCy z60<;1TpMyaSmUIAba7t#S630DZ;7

    n0qtP~gUhR0zA{maLB8*xc3EP}O6Wtc*d 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%0Dqmv>jt7)uPc;3Vmn;+*Eq5~5%}R&NG~%7 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 Up?^H^j|cwoz&{@NFXn;&0mk`mxBvhE diff --git a/layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib b/layout/Applications/vnodebypass.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib deleted file mode 100644 index d6a84f671bffdcc4f68c9e3454cc03db96413458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1197 zcmZuw>r&G|6kf5_60hSU_yCUh0@4J_3mP@&Vpn!m>$&Ki0y%k2uQ!wo{nILbqmXDE+RER+e9-(y4H(-a}i zW*o&)w-?3zsJk33t+cy?C|>V&cKY3;sCC@!o<;GuPV^&+f417cmi9`z!K^tZnB~Ge z^Blh+UO{-K%vsw8fga{E8RmU&ft3SJCG))`rdQH)e&9KxXP8f{P=eS|S<{~FJHV%_ zH5p=9Y?$*ECSkv%7ij1Q@@2pr&>iq3TVTKkhN*il^T3&-ZUA3P`W%Bsf$}n7Nr_>m z^f@>)+^+$b48*P~gGZ}`8Or#monno?3jn*w21$xwAHWQ(IvyutG`h74#r2wQiVcr> z<)rRfNuL5CnWwJ#{YuYS*F|&;D5I|qQ>+S}NU*@0A%<`KS^?_d7Ol5n%cP@|E7=z{ zbW!l_MR2xN9$wPJgb}ElCEW~#glgV*eQwYyAk29L0XY7ce!y)w7}n#IDQIXJ3QVYq zM^`GE6+dvD9E?WD!8`=eJ*g@)b8R` zpK7;JZ)^8aH?^CnBc=D1?kjzu;mDJArWvQ(nN>aag1I0NXy9M8Tj<%-l6SMNWmHrr znS?mqQQMAkb+miv>S!A3R^~LR`2Tm_np8$ycQc#Am~%d|@ySox19X2*FQ-@1C*;u~ zA-(Z-W+Ul_3pon{QNZ^w7+=!xp^~lC$J9ouo!J$N=YN2`uDt^-dHIPajq8qf2lX)- zTf-YRpRX$2%|sJNB-L*k<`73RXb#y9FYPbAKhld5P)1ad7^9Q%C&>vW((aYXA=+k< aIh^xiAYDKn|4u6DVOW-P8md1M6S{yH+73vvWl3!Grl%H6X;*wgNnVy$elA7WQ)K(dgpP5&J&=)TtjI1~eXi{c= z-bGfncmZj2+jI>Ky>xR5bo0Y}DUlUm2N76g5jA4EypGNI_5p?_DKBNUEj|5^rPsHXWGEMB_?$&~Bs6q1{4zg?1P17dkKE_s%)T z>2`<7&?F<%A1A%c^d=^qnq+2r`)2UEKRE2C?+59}zWHR*&x7QfNxqxphe>{#k>}QA zTLrM|xr>}eQH3^P=(%O;1J68n2_nq|)l7I|%s?MNOmNaCdap1XC#TpoppCt3f zKEEsi8G>4Fwsee-f3f6z5I}@s8D~0PlwyN5+REmdCva#rc(CzTDN{L%A+QP*3rruY z%DGXccF&JBL?5hkT~VfMS}NLrGK*}HQ|mb`8kMU`ZZimvIX48M*#-kOw#vMX3Av2p znUZUWd*lk@fLuV_u{g1~YcVTgbMuI?FR2PwISpV_ax6G29z+2M$eV;oYb7}cH6&N@ zoqcix(U5!zMiyt}CZ1;`Uz@a$6=$CN@5LF(H>gL>B6dj;u}^S)khyM|{M;u6#I!KB zp0QPp$$8|)Cmv$|^36;O|5s+ko#>>ftax<)!IKhim1O-{X$$Kqy?{rh$9`!}Kg3ks zg%zBTUW2G5g{^!qr#M8_j=;8dE4AZRI~g9An4KO~u`}r&&m#Wgp5njVo?3^tTA-Z# gYE3KLFXsq-Yi*oV6RK^^L7y&yGeX(CQZ#mc17c?)HUIzs diff --git a/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib b/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib deleted file mode 100644 index a24065693527a87bbc5408f80a8c6b110e1a135a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5005 zcmb_gTX-8s6&_!d$OFBSw533CFVHrvOr19LO6qG;5l2qEmeZE+JJd2P#=wH4cK(|a2S8g8M`HkeXcpe+Ft3NO3?g*V>djYs~O)k<~}lRlvD)6wkC znRDix^Pe+kl!$k$wt-$=#>GoG!5Hs3#J#1tyFtTdh zlag;hvo+XqKr=GtLBTd2uss(jsR)0dkj-K<`z+10G)IVnikj$&WV}aBF?}W(?B+o!^DczAIGNpZW! zOh3jlh)suCFf#Vhz;qD?1uj&xtVgq@@t6@27Qs@S5uNQa!@!oYSWQ2cwS)v2$Y+xA z_ROONER5$M;=m9yDiP242tH%^E=xVw2e%@&fr;@9BA^Xw%$fpD3aMe(X~O}5Hxvg! z9W3Y-XD-NH;=u@TB1}X~*EmZVu^pCM;}=-i2@T9D0XmtKKCJ5Vfkj=+PFq?Y)`F)u zuRdO2B07a!idnsbJ(|Jn`LhuSlS2)_Z9>g4BtsR)NCpw69@WaS%8rFIS!SPQ=9%Sa z%zl3TZimc*p6OtfnwD8eC<;rPMy3kMf$cy>pi)FZ7y%%|2>4SOQh~hQ!9klji|~Ai zeHOYA;Of^LT_lonmZqtMBAtXhn1zReMA&O)7@{B)3Dah3JOkU0uiJRLt^@N4mQ@|p z;w~-63>$fCLu?;IB4X?(l(>QXXBmme>541k2oE5Yw3&tEWR@xuK12!3Kzei=Y3#)6 z&gGpEM0g^h92nA^U_WrXl2_9rRKoA=x|TJd-SHAi7aKmZ#toGca7>D9Pp6rUeARR$ zA}&2lkZA6UD|@azL$3wP+jJkO7kz0%eX*2@x|&;z zzKpKmJfG3sZNb}}Z7)X40nbNT<=r>ijz)eE`31RQJTgJZcbcA~`@#In$kUNIQa4Qn z*Gm<#t!-Ykm~sr*_l@m4T5oLzd16DYAB|Kr%$!&2v-E0+eu`cXdNlHi+{5K%Dw>=> z&{j~nn>QmX^h!LeP({+aB>gO?nAs+u5|Xw^dKu^``bE$&vT2!YI!&*__ypOsN;dtZ zV#Xb9CnGBN7@F+idiBn-=%kg?*rNk8g9R7nKXqe znpR2E$w=siz_37h!zyVw+4u~-2P-!W+#?6uFpbZSa|8FELx9Uq1HimSHjhVUsAy4T ztbR{-VK_}62K_euGU)e1v|${4{`Jn!NnNq=1Nso2MF@q%S7chO$Uv;fbP+RR$18M; zq&p==uM2y{`!Q0#OzOh`)UT3yVb!PPyhyQ+AE1Cc@R5Mc2_k$HhI8kd;O_+b$A*#d zKcq1*deOPTtQxa+#H>C0TO3rM59lZH{y6Of{T-=)54ak=|JRcKEXrHoB8^^jwnf>M zjK?Zb_oAco(w_IJX!aK(uSQ;vyg)yJ@dcwZddIoZ8B))RPMJOcS?gldh!+=%(J|5> z!vq@-7rJ7pj@bVGhop@@t;c#-hU!Bq0y0YA7o6$>%(5>ITUnoeUb2b^ekiRB5g8cj2;u`O2uqxd$Q?Ql`$c_I{FPE-;Ml9F8FPg^?Nlx1{E_1 zx~Q0<1}@pMmp!Y+4z+HrX+=;!u2!(FxAzRa34-3H_knuRb8I|Azappam(x?axT?sW zLqOwpyu5HG?mjmYA9?VsOk9_P-4HuXyFf2cCpWHxEA(D0U!fOCdYh!TO8PlTuaUGv z(gsPBl3pU|rILz25LW2LlAgZ~2OjXE=uc%!>P5r*<+)u?OlN}*Vw%k3F3Qy0J{>*m zkg221jkSg?L`$16X`58}B}r@N_W$UF#G-b|-V7?9{y%nym7;E0l!@SstXm~@A_04# zsak`=YH;o`3rLBS#wEUw*=SN>u1}*_8&(Az074GhOypM0dXXb5v}S#X`cLD1m}{*c z8}+2M?dWJS-iPiOHx>Ec1+D;&))*oye^OvJ zI4{VgtRIyopUhV`1YYsC1)1O?CP{fqzn{~#4zm>-+bv5K=AoyTS6$+R ZeNBH(W-+zK5n|iH8o?;8Nh1}5{|kU-(|-T} diff --git a/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/Info.plist b/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/Info.plist deleted file mode 100644 index 9a41f2cb91b33c655127099449c0f7903f304b2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmYc)$jK}&F)+By$i&RT&Ji!58tNIAnOg3gpI1_ppOceXM6S{yH+73vvWl3!Grl%H6X;*wgNnVy$elA7WQ)K(dgpP5&J&=)TtjI1~eXi{c= z-bGfncmZj2+jN~GqjZfebW041D3KLl>b diff --git a/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib b/layout/Applications/vnodebypass.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib deleted file mode 100644 index bfea2ca248d3e847d317aeab83fa335a67dfdc37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 955 zcmZ`%Sx?(Q5OxpRbbDVv!>Gp#uMj}88YKv0dc3XeA#CN?>3Wmkw`?{c3E(7%0xD83 zwQ8mIxAZ@CcGE&zsSoqn`etUoxysJMJP$Tm6V6$dbp`D{+9R|(Xs^&_(SD%wGJY!; zEUVYMU8(k@%B31fHI`~3yZb$LB-_VIo+$NJcHT+#UUomo?#Eu|i|l??>YJ3` z)xdMyq`?E&^_*fv)3i)$(D$4Y^&!eVXAx4tVk%e?AA3%j`D;nN1Wkx4{!0i%`UJ8g z!>_ZH`4K#2ahS9;Ju16S9I+U}bs9C`v*#>r3E(mPow`ObemUXm3|ggxhAgfgcus}0 zDhfuY#k@ApFU3I;0$-}tMTU=mGUR*^K#H;~Vj?Rh@dm3lxT#eaaA;!i$LOz6#x;u) z*aZg1SUz^8xk1^T^)mtK8{=H#lnGZPoK~U4Qq$zvc+Q%}$Q7P!F$kxe6GAN51_M4c zk$Q|>QotpR$t}b^q8HdBHxYLXjtuS^>=T0gKDme}$z8+&nL(V88;E%UN3ZM2{Dksw zC87arCJ~M!FPtnqe_=nKv&92$H*t{moL{t`ZP?AQm=`9Vqlb&l3Z6ufjz35Ph~Zy$ z;w&uVc*H8C^(4lJw`Yb#U*M3OH+bFPZBxvlS5E~8TKl6A`=QRz_d3n%kZbtgHg700 z&D%*&TbK}izIkC!>qd}PTCvvrzv_hGsax8A)o9!^>7&2<=#WcDw@t~)NayXcyU5I* zDbK8vw&$!ia8EU;G(-gA>a6z;qKz`>CR9(?HGM@G@u_{5>f!;e08h!ak{#JD+c32yr2?L1|=A&Z9~{rFuPVQ)C;iPvb067Ha>|2kPKG^m@15t#ShBs>MLOoQ9oriYSeRRUzDx=c)(_CKe69$85jEKw~V^Drof9vebWs+(#XzC;qj`qLEh<7 zPGYmx2~+JIgw`mdK{r^pvKJjRXPZlru-e6`G}hoRVv~8I(@jhkb(7U?p=Z2ho5C#W zk_rx}-*eDm+pOX)b30ZN@?JB<+#3)-WSeW4vi)>L{IP?M*=EMb8$7gvBiy7uO(+p! zP1|NRop>fo2ybDRtaB=6_o)fUse3{Cn_w3;m zZqLoxQ%}x0Xe_rX&82+BI5eC~e{J`4Lui#E%Gyp@yO;%gGiSsrPtRRD{Y+k8DDNzk z9W;4`t2=Q^=R_UiVwF{`zErDKEnU@ii<>m_=MCLKGj15DSQtW7aqF*2tor_Tpt?S0 zZB=(PTVFIv8B7%Bv1KZku;gz9#mXW12YVx+=XdeIk7&{UH4%-H{K-v+|N`$y;(HzbAhre=1*>zm~s~ zZ_2k6q?}L|m34(FA1dD{HVfFaeV=183kY6k#5g;Sy|t3vHmlA%TzK zGq?_4!nbe(euSUkXZQtvgFW~i{)Ag_8~%Yih4I2-!6|rB|5N0_DP73U>?nNjFP~Ds A=>Px# diff --git a/layout/Applications/vnodebypass.app/PkgInfo b/layout/Applications/vnodebypass.app/PkgInfo deleted file mode 100644 index bd04210..0000000 --- a/layout/Applications/vnodebypass.app/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPL???? \ No newline at end of file diff --git a/layout/Applications/vnodebypass.app/vnodebypass b/layout/Applications/vnodebypass.app/vnodebypass deleted file mode 100755 index 33e74608395a2aba08c8979cbf7aa2d582945e36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57376 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 D|5wnD diff --git a/layout/DEBIAN/postinst b/layout/DEBIAN/postinst deleted file mode 100755 index 36d42b7..0000000 --- a/layout/DEBIAN/postinst +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -chmod 7777 /usr/bin/vnodebypass &> /dev/null \ No newline at end of file diff --git a/postinst/Makefile b/postinst/Makefile new file mode 100644 index 0000000..6015e41 --- /dev/null +++ b/postinst/Makefile @@ -0,0 +1,12 @@ +TARGET := iphone:clang:latest:7.0 + +include $(THEOS)/makefiles/common.mk + +TOOL_NAME = postinst + +postinst_FILES = main.m +postinst_CFLAGS = -fobjc-arc -I../include +postinst_CODESIGN_FLAGS = -Sentitlements.plist +postinst_INSTALL_PATH = /DEBIAN + +include $(THEOS_MAKE_PATH)/tool.mk diff --git a/postinst/entitlements.plist b/postinst/entitlements.plist new file mode 100644 index 0000000..0a48302 --- /dev/null +++ b/postinst/entitlements.plist @@ -0,0 +1,9 @@ + + + + platform-application + + com.apple.private.security.container-required + + + diff --git a/postinst/main.m b/postinst/main.m new file mode 100644 index 0000000..655d70f --- /dev/null +++ b/postinst/main.m @@ -0,0 +1,55 @@ +#import +#include + +int main(int argc, char *argv[], char *envp[]) { + @autoreleasepool { + NSString *randomName = [[NSUUID UUID].UUIDString componentsSeparatedByString:@"-"].firstObject; + printf("%s\n", randomName.UTF8String); + + NSMutableDictionary *appInfo = [NSMutableDictionary + dictionaryWithContentsOfFile:@"/Applications/vnodebypass.app/Info.plist"]; + appInfo[@"CFBundleExecutable"] = randomName; + [appInfo writeToFile:@"/Applications/vnodebypass.app/Info.plist" atomically:YES]; + + if (rename("/usr/bin/vnodebypass", + [NSString stringWithFormat:@"/usr/bin/%@", randomName].UTF8String) != 0) { + printf("Failed to rename /usr/bin/vnodebypass"); + return 1; + } + if (rename("/Applications/vnodebypass.app/vnodebypass", + [NSString stringWithFormat:@"/Applications/vnodebypass.app/%@", randomName] + .UTF8String) != 0) { + printf("Failed to rename /Applications/vnodebypass.app"); + return 1; + } + if (rename("/Applications/vnodebypass.app", + [NSString stringWithFormat:@"/Applications/%@.app", randomName].UTF8String) != 0) { + printf("Failed to rename /Applications/vnodebypass.app"); + return 1; + } + if (rename("/usr/share/vnodebypass", + [NSString stringWithFormat:@"/usr/share/%@", randomName].UTF8String) != 0) { + printf("Failed to rename /usr/share/vnodebypass"); + return 1; + } + + NSString *dpkgInfo = + [NSString stringWithContentsOfFile:@"/var/lib/dpkg/info/kr.xsf1re.vnodebypass.list" + encoding:NSUTF8StringEncoding + error:nil]; + dpkgInfo = [dpkgInfo stringByReplacingOccurrencesOfString:@"vnodebypass" withString:randomName]; + [dpkgInfo writeToFile:@"/var/lib/dpkg/info/kr.xsf1re.vnodebypass.list" + atomically:YES + encoding:NSUTF8StringEncoding + error:nil]; + + printf("Running uicache...\n"); + + NSTask *task = [NSTask new]; + task.launchPath = @"/usr/bin/uicache"; + task.arguments = @[ @"-a" ]; + [task launch]; + [task waitUntilExit]; + return 0; + } +} diff --git a/vnode.m b/vnode.m index 0759e92..e93d6b6 100644 --- a/vnode.m +++ b/vnode.m @@ -9,24 +9,21 @@ NSArray *hidePathList = nil; __attribute__((constructor)) void initVnodeMemPath() { - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - if ([defaults objectForKey:@"vnodeMemPath"]) { - vnodeMemPath = [[defaults objectForKey:@"vnodeMemPath"] UTF8String]; - } else { - vnodeMemPath = [NSString stringWithFormat:@"/tmp/%@.txt", [NSUUID UUID].UUIDString].UTF8String; - [defaults setObject:[NSString stringWithUTF8String:vnodeMemPath] forKey:@"vnodeMemPath"]; - } + vnodeMemPath = + [NSString stringWithFormat:@"/tmp/%@.txt", NSProcessInfo.processInfo.processName].UTF8String; } void initPath() { - hidePathList = [NSArray arrayWithContentsOfFile:@"/usr/share/vnodebypass/hidePathList.plist"]; + hidePathList = [NSArray + arrayWithContentsOfFile:[NSString stringWithFormat:@"/usr/share/%@/hidePathList.plist", + NSProcessInfo.processInfo.processName]]; if (hidePathList == nil) goto exit; for (id path in hidePathList) { if (![path isKindOfClass:[NSString class]]) goto exit; } return; exit: - printf("/usr/share/vnodebypass/hidePathList.plist is broken, please reinstall vnodebypass!\n"); + printf("hidePathList.plist is broken, please reinstall vnodebypass!\n"); exit(1); } From 55b8b96eaf0a7b8892944b4aed201cb55d9f4c65 Mon Sep 17 00:00:00 2001 From: level3tjg Date: Mon, 25 Apr 2022 12:05:55 -0400 Subject: [PATCH 19/25] stop running uicache -a, improve app feedback --- Makefile | 4 +-- app/Makefile | 2 ++ app/RootViewController.m | 15 ++++++---- postinst/Makefile | 11 +++++-- postinst/main.m | 63 +++++++++++++++++++++++----------------- 5 files changed, 59 insertions(+), 36 deletions(-) diff --git a/Makefile b/Makefile index d2a9f77..273bbd6 100644 --- a/Makefile +++ b/Makefile @@ -2,9 +2,9 @@ GO_EASY_ON_ME = 1 DEBUG=0 FINALPACKAGE=1 -# THEOS_DEVICE_IP = 0.0.0.0 -p 2222 +THEOS_DEVICE_IP = 0.0.0.0 -p 2222 -TARGET := iphone:clang:14.5:12.0 +TARGET := iphone:clang:latest:12.0 ARCHS = arm64 include $(THEOS)/makefiles/common.mk diff --git a/app/Makefile b/app/Makefile index 24d84a0..0cca0f4 100644 --- a/app/Makefile +++ b/app/Makefile @@ -1,6 +1,8 @@ TARGET := iphone:clang:latest:7.0 INSTALL_TARGET_PROCESSES = vnodebypass +ARCHS = arm64 + include $(THEOS)/makefiles/common.mk APPLICATION_NAME = vnodebypass diff --git a/app/RootViewController.m b/app/RootViewController.m index 56283f3..a44397d 100644 --- a/app/RootViewController.m +++ b/app/RootViewController.m @@ -56,12 +56,15 @@ - (void)buttonPressed:(UIButton *)sender { [task waitUntilExit]; task = [NSTask launchedTaskWithLaunchPath:launchPath arguments:@[ opts[1] ]]; [task waitUntilExit]; - disabled = access("/bin/bash", F_OK) == 0; - if (disabled) { - [_button setTitle:@"Enable" forState:UIControlStateNormal]; - } else { - [_button setTitle:@"Disable" forState:UIControlStateNormal]; - } + NSString *title = access("/bin/bash", F_OK) == 0 ? @"Enable" : @"Disable"; + NSString *successTitle = (access("/bin/bash", F_OK) == 0) == disabled ? @"Failed" : @"Success"; + [_button setTitle:successTitle forState:UIControlStateNormal]; + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + sleep(1); + dispatch_async(dispatch_get_main_queue(), ^{ + [_button setTitle:title forState:UIControlStateNormal]; + }); + }); } @end diff --git a/postinst/Makefile b/postinst/Makefile index 6015e41..6d411fe 100644 --- a/postinst/Makefile +++ b/postinst/Makefile @@ -1,12 +1,19 @@ -TARGET := iphone:clang:latest:7.0 +TARGET := iphone:clang:latest:12.0 + +ARCHS = arm64 include $(THEOS)/makefiles/common.mk -TOOL_NAME = postinst +TOOL_NAME = postinst prerm postinst_FILES = main.m postinst_CFLAGS = -fobjc-arc -I../include postinst_CODESIGN_FLAGS = -Sentitlements.plist postinst_INSTALL_PATH = /DEBIAN +prerm_FILES = main.m +prerm_CFLAGS = -fobjc-arc -I../include +prerm_CODESIGN_FLAGS = -Sentitlements.plist +prerm_INSTALL_PATH = /DEBIAN + include $(THEOS_MAKE_PATH)/tool.mk diff --git a/postinst/main.m b/postinst/main.m index 655d70f..9b7c35a 100644 --- a/postinst/main.m +++ b/postinst/main.m @@ -3,34 +3,49 @@ int main(int argc, char *argv[], char *envp[]) { @autoreleasepool { + NSTask *task = [NSTask new]; + task.launchPath = @"/usr/bin/uicache"; + + if (strstr(argv[1], "remove") || strstr(argv[1], "upgrade")) { + NSArray *fileList = + [[NSString stringWithContentsOfFile:@"/var/lib/dpkg/info/kr.xsf1re.vnodebypass.list" + encoding:NSUTF8StringEncoding + error:nil] componentsSeparatedByString:@"\n"]; + for (NSString *file in fileList) { + if ([file hasSuffix:@".app"]) { + task.arguments = @[ @"-u", file ]; + [task launch]; + [task waitUntilExit]; + return 0; + } + } + printf("Could not find vnodebypass.app, skipping uicache\n"); + return 0; + } NSString *randomName = [[NSUUID UUID].UUIDString componentsSeparatedByString:@"-"].firstObject; - printf("%s\n", randomName.UTF8String); NSMutableDictionary *appInfo = [NSMutableDictionary dictionaryWithContentsOfFile:@"/Applications/vnodebypass.app/Info.plist"]; appInfo[@"CFBundleExecutable"] = randomName; [appInfo writeToFile:@"/Applications/vnodebypass.app/Info.plist" atomically:YES]; - if (rename("/usr/bin/vnodebypass", - [NSString stringWithFormat:@"/usr/bin/%@", randomName].UTF8String) != 0) { - printf("Failed to rename /usr/bin/vnodebypass"); - return 1; - } - if (rename("/Applications/vnodebypass.app/vnodebypass", - [NSString stringWithFormat:@"/Applications/vnodebypass.app/%@", randomName] - .UTF8String) != 0) { - printf("Failed to rename /Applications/vnodebypass.app"); - return 1; - } - if (rename("/Applications/vnodebypass.app", - [NSString stringWithFormat:@"/Applications/%@.app", randomName].UTF8String) != 0) { - printf("Failed to rename /Applications/vnodebypass.app"); - return 1; - } - if (rename("/usr/share/vnodebypass", - [NSString stringWithFormat:@"/usr/share/%@", randomName].UTF8String) != 0) { - printf("Failed to rename /usr/share/vnodebypass"); - return 1; + NSArray *renames = @[ + @[ @"/usr/bin/vnodebypass", @"/usr/bin/%@" ], + @[ @"/Applications/vnodebypass.app/vnodebypass", @"/Applications/vnodebypass.app/%@" ], + @[ @"/Applications/vnodebypass.app", @"/Applications/%@.app" ], + @[ @"/usr/share/vnodebypass", @"/usr/share/%@" ] + ]; + + for (NSArray *rename in renames) { + NSString *oldPath = rename[0]; + NSString *newPath = [NSString stringWithFormat:rename[1], randomName]; + NSError *error; + [[NSFileManager defaultManager] moveItemAtPath:oldPath toPath:newPath error:&error]; + if (error) { + printf("Failed to rename %s: %s\n", oldPath.UTF8String, + error.localizedDescription.UTF8String); + return 1; + } } NSString *dpkgInfo = @@ -43,11 +58,7 @@ int main(int argc, char *argv[], char *envp[]) { encoding:NSUTF8StringEncoding error:nil]; - printf("Running uicache...\n"); - - NSTask *task = [NSTask new]; - task.launchPath = @"/usr/bin/uicache"; - task.arguments = @[ @"-a" ]; + task.arguments = @[ @"-p", [NSString stringWithFormat:@"/Applications/%@.app", randomName] ]; [task launch]; [task waitUntilExit]; return 0; From ce1e9ba73f94ad6c946e26aec9ce59791c760bea Mon Sep 17 00:00:00 2001 From: level3tjg Date: Mon, 25 Apr 2022 13:17:07 -0400 Subject: [PATCH 20/25] only stop after uicache -u if removing --- Makefile | 2 +- {postinst => debian-script}/Makefile | 0 .../entitlements.plist | 0 {postinst => debian-script}/main.m | 26 ++++++++++++------- 4 files changed, 17 insertions(+), 11 deletions(-) rename {postinst => debian-script}/Makefile (100%) rename {postinst => debian-script}/entitlements.plist (100%) rename {postinst => debian-script}/main.m (78%) diff --git a/Makefile b/Makefile index 273bbd6..112017e 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ vnodebypass_FRAMEWORKS = IOKit include $(THEOS_MAKE_PATH)/tool.mk SUBPROJECTS += app -SUBPROJECTS += postinst +SUBPROJECTS += debian-script include $(THEOS_MAKE_PATH)/aggregate.mk before-package:: diff --git a/postinst/Makefile b/debian-script/Makefile similarity index 100% rename from postinst/Makefile rename to debian-script/Makefile diff --git a/postinst/entitlements.plist b/debian-script/entitlements.plist similarity index 100% rename from postinst/entitlements.plist rename to debian-script/entitlements.plist diff --git a/postinst/main.m b/debian-script/main.m similarity index 78% rename from postinst/main.m rename to debian-script/main.m index 9b7c35a..39ff916 100644 --- a/postinst/main.m +++ b/debian-script/main.m @@ -6,22 +6,28 @@ int main(int argc, char *argv[], char *envp[]) { NSTask *task = [NSTask new]; task.launchPath = @"/usr/bin/uicache"; - if (strstr(argv[1], "remove") || strstr(argv[1], "upgrade")) { + BOOL isRemoving = [NSProcessInfo.processInfo.processName containsString:@"prerm"]; + BOOL isUpgrading = strstr(argv[1], "upgrade"); + + if (isRemoving || isUpgrading) { NSArray *fileList = [[NSString stringWithContentsOfFile:@"/var/lib/dpkg/info/kr.xsf1re.vnodebypass.list" encoding:NSUTF8StringEncoding error:nil] componentsSeparatedByString:@"\n"]; - for (NSString *file in fileList) { - if ([file hasSuffix:@".app"]) { - task.arguments = @[ @"-u", file ]; - [task launch]; - [task waitUntilExit]; - return 0; - } + NSInteger *appPathIndex = + [fileList indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { + return [obj hasSuffix:@".app"]; + }]; + if (appPathIndex != NSNotFound) { + task.arguments = @[ @"-u", fileList[appPathIndex] ]; + [task launch]; + [task waitUntilExit]; + } else { + printf("Could not find vnodebypass.app, skipping uicache\n"); } - printf("Could not find vnodebypass.app, skipping uicache\n"); - return 0; + if (isRemoving) return 0; } + NSString *randomName = [[NSUUID UUID].UUIDString componentsSeparatedByString:@"-"].firstObject; NSMutableDictionary *appInfo = [NSMutableDictionary From c266bca2f7dcc88614aaa41811f01b9eb7d1f1d8 Mon Sep 17 00:00:00 2001 From: level3tjg Date: Mon, 25 Apr 2022 13:21:18 -0400 Subject: [PATCH 21/25] not a pointer --- debian-script/main.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian-script/main.m b/debian-script/main.m index 39ff916..d8a878c 100644 --- a/debian-script/main.m +++ b/debian-script/main.m @@ -14,7 +14,7 @@ int main(int argc, char *argv[], char *envp[]) { [[NSString stringWithContentsOfFile:@"/var/lib/dpkg/info/kr.xsf1re.vnodebypass.list" encoding:NSUTF8StringEncoding error:nil] componentsSeparatedByString:@"\n"]; - NSInteger *appPathIndex = + NSInteger appPathIndex = [fileList indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { return [obj hasSuffix:@".app"]; }]; From 8423a8d02664a805b061aafab12debe7e35b3ad5 Mon Sep 17 00:00:00 2001 From: ichitaso Date: Tue, 26 Apr 2022 06:35:40 +0900 Subject: [PATCH 22/25] v0.2.7 --- Makefile | 8 ++++---- app/Makefile | 1 + appent.xml => app/appent.xml | 0 control | 2 +- debian-script/main.m | 1 + 5 files changed, 7 insertions(+), 5 deletions(-) rename appent.xml => app/appent.xml (100%) diff --git a/Makefile b/Makefile index 112017e..728542b 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ GO_EASY_ON_ME = 1 -DEBUG=0 -FINALPACKAGE=1 +DEBUG = 0 +FINALPACKAGE = 1 THEOS_DEVICE_IP = 0.0.0.0 -p 2222 @@ -23,6 +23,6 @@ SUBPROJECTS += debian-script include $(THEOS_MAKE_PATH)/aggregate.mk before-package:: + chmod -R 755 $(THEOS_STAGING_DIR) chmod 6755 $(THEOS_STAGING_DIR)/usr/bin/vnodebypass - chmod 755 $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass - ldid -Sappent.xml $(THEOS_STAGING_DIR)/Applications/vnodebypass.app/vnodebypass + chmod 666 $(THEOS_STAGING_DIR)/DEBIAN/control diff --git a/app/Makefile b/app/Makefile index 0cca0f4..136649e 100644 --- a/app/Makefile +++ b/app/Makefile @@ -10,5 +10,6 @@ APPLICATION_NAME = vnodebypass vnodebypass_FILES = main.m AppDelegate.m RootViewController.m vnodebypass_FRAMEWORKS = UIKit CoreGraphics vnodebypass_CFLAGS = -fobjc-arc -I../include +vnodebypass_CODESIGN_FLAGS = -Sappent.xml include $(THEOS_MAKE_PATH)/application.mk diff --git a/appent.xml b/app/appent.xml similarity index 100% rename from appent.xml rename to app/appent.xml diff --git a/control b/control index ccb9ed0..56dadbf 100644 --- a/control +++ b/control @@ -1,6 +1,6 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass -Version: 0.2.6 +Version: 0.2.7 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. Maintainer: ichitaso diff --git a/debian-script/main.m b/debian-script/main.m index d8a878c..2206c0b 100644 --- a/debian-script/main.m +++ b/debian-script/main.m @@ -1,3 +1,4 @@ +#import #import #include From de46845639ea91d4e61f07fc0be4f2574c2eb04a Mon Sep 17 00:00:00 2001 From: ichitaso Date: Tue, 26 Apr 2022 17:43:29 +0900 Subject: [PATCH 23/25] Deleted unused App icons --- app/Resources/AppIcon60x60@2x.png | Bin 38294 -> 0 bytes app/Resources/AppIcon76x76@2x~ipad.png | Bin 41964 -> 0 bytes control | 12 +++++++----- 3 files changed, 7 insertions(+), 5 deletions(-) delete mode 100644 app/Resources/AppIcon60x60@2x.png delete mode 100644 app/Resources/AppIcon76x76@2x~ipad.png diff --git a/app/Resources/AppIcon60x60@2x.png b/app/Resources/AppIcon60x60@2x.png deleted file mode 100644 index 59dd501bf5ebe562f4f4b8d3a697b64d76b2fe6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38294 zcmchA2V716|34oyTUIJ0d!%#Exo4Hior;JeJFQ!yT~sKPozbxO-lL3U_NgecXLeFX zWY4UA&r`yO+bw=j-))pIQC-_N-e=w^pS}m8#0zrB?ka8C36@ z803b3*R`^g+v4wF;djmI_>*^KE>)`J)x%@J;K0FstW8{eyt+BL`Z%k)1$+78`%0C% zTLk+$xr|W-8aS)mJ-p2fUmQ*{H1KdWGaN+sA^P~rRHHmB$NQ`7#`hiIGJcE;?`mja zZqPm01Pyqp0-X$ky*#}GOoGh}i`q58&%(#Xh6Y8C1dcH?ln5Of4DQpTZNT!~L<}Y7`K|^eA>xb)&R9eli5L?xVM3Ay-+vjRH-A?*6I;3RdtdmMnc=9w zKwlGM`}@UO&1B2vm&2G`=s0+NT2s zg!rnAZB+q2WBpxJig6fbo08cC1lp>8u4g&O@puujuZhfGx)7uZK@>mQ$H&#f zEu`d8Qe;H1Mg%ngEJ9G=k}d@Q^HDIJt5cv;nGd_Vn7H})dpTjrJiMITRmQ&F?nS-z z>0@H$9T4c`?V_@hn;BxL-8?*8O=MDug5fDjE|tkdB860{q@_|$N-M++DV9@`5?Z;B z%UEImOK4qx(u&KXwek1B*>mz#*M@?Tv0|xGOh`$B;Y1>-LM~ItM5I*2DhQfX3f%pJ zjZ6lpf&;CcLR9_%-;a&d$^H9Jo*o82pDTK%uag({V8AGk0E0l4m#-(b#30Biz`#Y= zSCy-QbBIA750_C+Do+EYr<4C!UxSW4+=_naWYEteSmo&tjxzkcRbdGKbF2P=-Ei~_ z+B;yUkD-aqCD4CtO8#wE?RVW^B>CczdlZYV2 z2DYj|Y~arx!D2=Ku*3OKmC|K72+Qi*P8EoL-LYjpz9FS_Q}RriOJ?Wm6X@yTJ}OXS zYb6hr*_?vR3Su2g+)TE^A=FJWy6!BC)u5$x5H)FHe-!8q1Wy7r#7E zW?RJ!Tl(^|KOZQoEsuUquBB{Z(N|^B|Bzi8PIk#NWgf*IWU!_)jjzjYLZrC~QQ1v+ zz&P+OO&EUvvb@Vu%F>p5MSjS-QX2aCeOV*=Azsz%l^EmS{% za&B&E)aBS$(J!J`{TP0IqO6&S$gzjaWT*{<+RSuI-nc&QBR;0LL^OKI=dC(3GV2;6SL8z`lz zA77W%PFu1Y&zI6j@pomlVB_Wn*U-Sq+eldFen108IR&T!3`%LV)W^%}r)WwtA1_}g z@6z0o|2$Hz_WmENpry*mGjLQXv;F?%|F5wW?U*LB?B|vm3vgAjCvW`Id;O2E|MTM# z5J3VUBLMEFIwZgxxC@Cdbe*8>y0)5@K4UUg}&Ya?CEDt3oMI3m8;7JKhfDcK6W(ig%SF=_W zPYR%!oC7CPN>U+FN?20NvLX@3VB^(ryBJfKW4j4TM)6=`o~GfQOQbShE+xS`e~wB_ ziD^Q@C<%p(1zL!WkP^AVgAvRX}I(q)drTloLvkAm0BR70*anLCQe* zFk+=tf|D**Vr)2>QW2?8vmZR*e2Iuwuo5N9%V0>?>k=5Z(~3diJ63JJmDa1e4iC6bDij7XxOvCNc2$w*6sH3lNaCcD za&U!$;~?*p1j&d6{#CQO(2!yg%|pXdN=nMhNK6IC4+j}~jZk;ar9AjtiGfKV&83hm zLenCp6niL= zBNCYix=I4AtELYL%|TJf6iNm{6YGrgE0H0@f9E9QK41+(ANzDa0aDq-2YQ zx=cZc!8w2SA;(eUNe-q3N3%2o;m*K*BBZdjlnSX#&05J7(3+47oD6zO0v_QY)S;It zu!%?{QL`TkijgWw8PBl_MkJSr2|_Lvb5cqH=`AJYY9yS3qr}*07Q9FBkZm-Wh9c0q z81|fuRl|u2hz}en*cXDGN8m&#NvLLCDQ6_KQk@i4NLUFEzLtVVf8BQF}!hR{|+VsiQ!wlYsdR zB?->OiGs`$PKj88?T0n^=ctN9|E@kRh8ZINyaBX%Z@Tvcu^#clDft}aGSu&T>tw``%=dBeZX%J9tE;nLhZdSQjd!WV(u@uTMVrMpaEvt zUvY^TP9C_6<9JqD#L8k=n<5E(Jq9kEI`6({kTeaHg@P#uSfhwc!LxGs%5a-#v06B! zn2ZszGC1FGn2L@mCsjxlw47rJ7^{>zq^6h*%#Xc>!T(ot1N;NW5bXbVWDL@1;H?Ws z>~GE+BT<5DNg15izd3Kny5R}vVaNtb4qoOI47_J0O_78Qnq3WqQ?w)uB!YsF6L3)B z@W|zWTNH8vZnOkC7izc^o`i(}6a?-L9A{zQ;3Go1z`K<}P*8knvV;}$5Hx@?{%%RY zQWVTI{%^^YkmYdiq{Lqd1x^fW2tERwA6{5ViA*k10q4T zYXyvL#b1)~ycGVfjD}Yy{|h+@QA06eO8S?*NhBoTKAwhVf>e}C;o2%>aJ*sM!BnJ6 z6R%Q1kdrXOU;qjNPl5xX1RSK0Nk{-EYRujuo|HnOO5|`@{*Fsz*k?d1fB>O71Z@hm zMJ|O=3n!44sxz63dXp&_TE-J{255^Mvy&3oW)A*0d@DE{r415_MNG3wF!WzZF1ZMB zFCbMQf+B&r1SJQ7E*Q`X09k76%c4QbfwssPj*>&K33G#;u7Eb+NI8HU6*A$L3_DzY+hu{>+NI)5+8t9{FkeCuy zotHof6!iuaiiSLZ$IeRNg_cex2L>yX!-G-?N*H*hOhyBR6a*+GFKv*3OW;6?|ALi; z3`rr&ksvsjKVUDmI75*mI0}G;1csVmda2RFrBcFy!gPV^is9Ca)$HC+N&tU|LQur_ zK4l`YfIQ2J&=qwy_YX=WBm8Hy@YjGFp)Hsb9I0mOHBmx}0mfs1Un6S_f(FG3_ z@`NC9;52dkZ`>!yZiy6e80Zi=Dfx>&C6L5OLk1ed3X)5W8ZB+KQs6y+dx0ub$SLO4 zSmmWs0zctkl?#?LL#e|KN~HuWBNxC2_#=#5o$UHS31pSPrjw8YLcTKx#1}Rgpcll# zAX+r+C;8{ehC&f441|c18hQD%&)+G_eLjEh6X&xi49SS$t!X^jzf)qK3V?sK2$(H! z;=h=u5>B940qufBbqW0!^At{*R6!6592cNLn)vp&(ZUqrVN%Fo$U(s?)%eJzt*sOm z9Yhhu0<;05s>UApNht+p3MT}vP!T5x+5xaN0f$XSD>QKe_1k_zBO&$)nJbqd=%>aC z|Iz2~l;zhBe^8d2hkmET^1wP5Y$yl@MvcNQZM4FE0ubZ@^)U?3YMiG8wHJucLj4qh z7qAr&pa3d}qyV6+8n_RkjQ{G-a?kU3N`d29Odf|+41xO>eU^WPe(w{MsNR5qh*-N? zf9%KF{zi$oDf~eMFeEguph!)lh0*h$6+*;Au+(Kpvw#n;>6HCWS$^*OgRkL@>L2_08>JBW zL!cBo7pYB1Z_&WF+;8)Qc0imNa!-iS$u;TE-zm$#LcdcMNiZa$V7CN}sr;kGv61mg z8cwd1;}8PVKnd&*Crr!;zlF-N@}CtLTL0k$tdI$Ci8`x~X81%ams2?>z5j3zq)zyu@*(l>s3ksQraBqGX4>(I0-GC7MdHlq4J ztyCV!IN||-@ziB_mGG?y$X5j^p_(hUpUAfWyv0gM<@eEIKY0d6Oo?(viA2L$L7gE( zu|l5McS^`UiQth*Dd2iC4Kg0CxsqVvrXuSEsUM^S2(|)|Q401K&^8Tx3rUB3K?v9q zJb}YPBkMrHAX^ccQKfUdpxa^oz_9r_&+_ptKzd}-(Gp~b6?q*%0T~H!8-f7nB4;(o z1Ta`d*A^z86fqVA9e&!kLQN;~x^T)gXkG+~0ViQ40U#Aw#^shKA{ajv;{@Oh0F{ud z1O&Xq8b{2XA`n@IU8CWYk)#rFKnmfRVoC`(4|$GAK%i-4n`okh+>%R?Wc17VgvZP% z1oQ*Qdg+`17Zt`ci}=yst`Ih)qLfHDtze&m)s9TSA3iTm8B&rUF&Qz7AhL#eBDw>l zoS{lM9`d$)-ZHohks@Tm3GMK%ajQJ$QYL7I1N}0B4P>zhk?v|r-WaRL?~QxfJ|c8*QM_#5Yvi|7E)6T^t41$ zBMA<D$3iruYm=f75 z733i#lCqHVNHQtrgmRxx3YcjH`;=6eQd(h3S%oR(0PT?S_JjL?(I67fDuvWjMqMuR z519Zs5dlIN2H)2fwuz8@ERk`@?9-&}kvolKG)@k@?1vmGA3g*dt%9Q!!|M}rgZb|o z3CXpH06-xrMM$32}Z}0W=F48;CI?P*h@rK@K55gB8MR$Su^M9RN#1P9q`X z`wB_Ry(?nO3Lz%t-(zoLjzmoeC;xj%E#@mu2`LR$D6vhD6viMg5b!nxpG2&|dIR27 z(b2+mtKdA5om*i_*qXqiE7&I-VpJ~3a2HGQ z3JH-J_;|?jMJ6ZWk)>;U8Wl(^@-Sq`Y%8*5) zv-~F;=}{<+!0!_8s@#?oE#U!vB9Q|YxRA^*rD0uw|9GT$BXLNB^+pT*Rjg0c5-AYC zMm`u49*}ttJ&fp{5aC1B38%rrppo2*eC?l6>GIE0R^idgE8M4$Y*n!p0(@V=c?#+N zLWc5pT~>a-48fO*j#dfm7Ue4>JUD^lg;=DVMyVWrcpyiuNhg zmZA`*1bZvL{uFZWkRwI{V=UI$LZ%6-%%oUXBrIx>U<`@~S(G)wrY@RiQN#kda-5J~ z$A~rL)gYCQW)w0`s5TR%rU1dpC<&@;gz7s+1D=2kUIKN1*!=I5<;LEG++X-_LSaSm zJmHriF$RTPQc^6HYtX!adn?)}Sz$^V?hrEDfg1ndA(S5>iIR{^Aoa! z|HhI+j0AWq{J9eQw%kZQCxF>PMRo}yT7F7#h5JOYV+BXcSC|s^tqj$~DELGHGtP<- z=fJr`?i#8}2o2hvlj9iENTd1HPEaEG4W2j6X^L0~HQ2OLiK^`H+*fW~lP3`!L4^j= z$BIw3l9K_CMX?zGQBGZIAvYKm%dk0U)QjL=iqiE8%3hGw zL`!iUM6om}x5bE!2SSW;oA2{1zl=v#w^R(7j`H@RKFc4^mY~uc*Mmat{G`Mk1W5Q5 zV!o`Vc|!G6aGt2+dTh#OQGM27+bC8<%O&+1N%z4-n2PkwfKPTciXsDAxq^ z^?jZk63oF0D3Rt-Wvjurm*O^u3iipeB(D9yWeeZu3EM=99#L{3m*R+)&O=g!R^Ys% zYzM=J91^mkg`grTHVENz3=NdZic+GY3l~oy#9CrWL3nYnRZx*8NH7g{0xpz=_JlK3 z63@ndBF_d=NsMTux~%;YIRur9iwlHm=kIocu%G41(u0h~%`V8LDnWih2|Gv*7={w= z87X~*ko||CEc9o|u3)sNz!yX70u)epFUgP5!lV>464Y{i-%m)B@}XIRY^QNYz>i2< zx%DTmr$NjIXllu>fUOT50xv^v#i^$OJ5;O6B3ufr8C8ATNH~FOHkB>3?EeFX`sZl zR28H|O)kK9lwbYrDHATXk_)g)iT=b2l`l^UIW!gR6D5YYF9O+_LJ<n|lWk^rFrQIYreed6Mx z|K#^U_8|pU3sLX0{%N&~X=2PL#Uj~k7oNG}7>qv3q2qm*En zu<2melN#(kb(9KRr36n8NzR(`6Vy`D@UU=!k8s6W>1XA4N}iPc#tG(@0&r-YL%pi8hjP$Gm<%<_*`3fB%r z^+m;(h~51SCGdYC-)o2LnZ)pQ{rwRBv5IJxgvP*-?Jh}P24gFPXreuY07p2bHm5MO>*CL z8HZs@X+VWy+?gekXP0A?~expQb zIPUd5e-zl-5xGIi8ULzug z>h1~oaXuwdU_2G6R)x)n1TNgFSE7;1o$0AW-sFE)sQi2@t#F@k>5ypvm-DZ+pzOEN z3K~hcZxeNAfaEl32jEAzdaWW_P`ESc*ScjvBO&mB>p)mSsVVDH`8%axy_G975VwJ% zeyv>9jp{FbRd>59*bFbPvBagyKK>!!Z)~+w`Te-N)u8AVK_*Tv!mE$W48OnL#qj&b z9%^2CQK-FJqrBq@5gnU(M& zDO;73Ylz<|Rd+n3?;*DtfWQC2Z{e5lS;y~xKeUp#ox=UoL1 zG{$_BZ9&vTzkJJ#ZTdqtQeAq#%IJOHyk^UPcb(p9du&5StJppIhdZ|$HhZjU|L~Z5 zS`BhvSFQiDQjhS&n&FkKqHdp@J!nz8F#{78EcCQWSTHuheot4A53B1_5qWueEze9I zEa{{-FzLzj%-thDOxXSCtZ%z)>62T*tv_!$9yIgV$@w}t%2)qXSwH^a$9k99^`9qw z`^Y4(AF%yo{mjB@Dc}4%ykBg(M1MzMubtN|2It*-vhAAHs7EFTUHt01yjOMZ-QxQ0 zOY^>N95-Om&Hh84L=8Qdl^hj0GvTI|$-Fs7GQaH!X09D;@^Hx9dv-Gm;?g&^m>_C3 zHRCnw+uBdJnf7MCCET>s;~vuzZ?D?s-@3IlL;laediN{qAGgVNeAl?1eHFIyyRg^a zYUnl(eSUfB?#=Bi+FIm139)?nRB#lAk@J}#)`m9KMh{Ej0HMxEcWV*8$nx+&gg zhHKaJxG&f1kfwd##G;CSx5*JrEb7@0{`6XZf7mqVtGoBkpA}M|Kb{%HZSkyTy{bb$ zQ)TBbEA%@(4RWbm^Kj(mwli|=pU37@s<(ZQo&JbLD=XP0Bw62g|2KB|<~_OT-(s#` zA~L&1SKSgeIcZ*eLdvb6Q}btMFgq`|le{03-C=0->m#jF9P;-Ker<0PX*GOc%>E?( z3vDB<=MC){TDjh!{rdghH(9=4TQAY0+2mt&9)@T1uDY^qlDDDj()fTq0c+kR&tF;1 zV(QWBowlx6WxLq^texee_5U_}MR{(!F>-B-r-uE~7OJXfUD&~n>YW+ZVSSd>sUhwS zv)lE1zp_O$!|B_5ZO>@df0r;7)7shheRU z>Z(@Vo}cqsJM`k2M^e33lNR1Vw<|-E!nB>qm0R?uDa8$!DiN302unnlz;I;qm&a`Asa|5Bg`c__P1R=AT7b z7fsyPWX6v@eBC#rpkTDN?opk9Gnw><7QX4R=$b62nHT_Y*v3Ew7r zb*Du-E_GMxj(azAtTTIU%ALV8wwym1-4Y}~q{h`3{dNy?y?8Ef@7s_0_7_)q4Eiwf*%yjB zZ=9a?ukNC{vwB$@x8Hx^Q@`2cPHJs3|4?^glNT-CZNE7=blSX6?}x4XwBwcS;*jOz zugrYlU~Q4sHECe|sL|Hvx4!EY(4s*`K=&Glbw9ZG&oAV=j%;dCXujx?No&vZpW>*j zO-@0{n>Q)>FKtYYFWc+W>1MsPjlI(EhS#4^``OT@ru|w+-);0c{#@sb&xiMJOP|Pg z6-Tu(&070zXY!Q~-`YB#Ff}!r?#qRgreOIqS}}dg0^pyX|x7>2|Dz=^OJV zs#z`Ssh08Ybwf>`HP&BQt))5L{cz{dH1pc+omQ>%Gha1v?V|H(H&(rqT%VWV;(oD% zRDa)&b$whNR>#yEZ<6*bxXHt|51XIqALkmNe{{NSY7M)mqtkaT>oCjtN)4w8iwu9ZzVrccKxc;=49f- zQugHV9H-TLcW(7O|Iwha`^1htZ|MZ_;q`3rv@&WWKMdFUOiaSMPZiF(%<5VC`?kf-Qpzs581QFZ;!u_ z)}yd>XY2ivj@AiQs)5c!!}Dzp4{YqQ$#uB=Y09+)dc*9x(Xm5k+jU*uEn}DGafXz?zFtI-)0j*1F72>+yLe9B79AFziG0?)ey{GK5le=>xVqBVIspxT zj5B-YMPxkam|^{@q47Vh`k&u9V$6kO<1DsXq+X+}loKgA*N1$p zUh9$9=+Bp1dfH6rzazQ7OZr~B`Oi}1dQ($2*c{TDGo#|bp zXTQF^;8M(2=YcbhraxR#LmGA_VyD)i2){S!vGVQ7Mx;|EyUGLqi8p(eIzDSq+~Jq? zKfcY$@`(AI?2{$!Hu0ZneqAoxznc>~_PAod!`ZXJm6-G)TK3g$ZRF)UWv}b)iqW&Y zyJ*T$YYW=0rR(%oJdU@{rfhDI-%zfIi@A#+| zAyNJBkLZ=hp19cMe)Ot)!;kO0y}+*nGuF>?=AjIufQCCGbxoTGbQ^u{ln!-m?%_c1 zW9tr_Xx-#UjnAhGtKNNa$*Jb6N8ZWTrq0N#?KS_|?nOq|4xVYdbngrMy006uQ*SS6 zHcgAI)yUg(RglY@BfZ1(Gb1iXIfUJwcI0+1eXo(t9z-0Us<-`4`pbu>$DGOi_V9J< zn4>|4rZ+pEkjA%}AK=nAH*Mv~xu#LAg0uske0(sb!1Vc!w4N;=rMc=?UDwrOmt)6O zF=x+gsVyCMrA^;ub@LO)=X^vD1C89_-sz&s*V^TXoln5LxW) z0}g#$%!2FNM$}(JWH;H~o(TNLzX`%lgh~#M>k><&UMLc)3T;sYCYFf#`Ysu4(sq3#kJx@A6v=uH7m=7?G zIr_oSbhIq&%(UUhw@w-teq?HU^W(!;MMaL^7rObJZVl6G4X0UOujb@(eVXU>*6l7i z&Ff#oe|_I+GbNUxTWwnIXz$X^b6!YP{z1K2&rSQUsCRGUr6ETOGOB-jG^m;1gO!V4 zp6(rTWPr(x`vWS?S~Vfg|KYeD?^>i^q7JnF6k(ALMN@UV`>{E%Z?_2!399tsm_zdZ zE{k7fUk&no_jTmGJ8b8VLsV5w-xSW2pC2(ZC~MZ2C3*!jPbaQ!7!Y=KuY=DE>yy=5 z>y2ylK)QRws7}P`dGY(7n9Y6MtDWENxnH)_-Cp>L?btJE)`5{-?tR+aDj;c&&+tN> z7e@=aJKQvnyzkoKQbhf=;s9NXTYASA9vC?_I%{{~=SrVXXQgE9Jz!`tTH$otCB?#i z^}M}rHbvDvXy7XCwzX@RLtGctp`k)uOt+}`ZvcYnawgy@mg>a2V_(=M#W z_N=}9I+d(_>h&pCUJS0`zH&s6d80j!c}s`AdXlZP?A?T%4qYtY-tfZdAP-X zQ}63*JE!;o?t*bM#PD7T`k*w-BGKC_MH!g7EdaB z-ySv8-#F>WyyFKa#ECu<{!ShCw60Ob^lFER`u#t>ow%q=PWG0qNuu1TQM&&25zAY~ zw=r{0O^X|tl9rqyFZg#||7WxN2X>T9f!a7&J=acJcLt1Dv(9qPG^$W;fXI|r-o!6L}r|#B>(&GJc zK5gz}^}I&m=ce}O@6P>rV?tD29#fk|bXh7|eJRy`!;A;^^@laNx@wQL`~10*8dI-C zMNX*lWXgzy4gSi)7A?pg*QacBpO>9puzA`0w+@zJ%`T=VO}0KcO?+V6jeP?>Pu66# z{LftLW2Ljl)bqs6$t_ZDPG0G9JIy06;zpG2o`LM34-Z5}F3A_0?{oe(<=Y`~ce7@{n_?gTz;WHtUEZ~;Y9em%8_jk40v?HeD&D6_H(T-X6|+0scrGWz*fdg419KUQ`?Ux zc6y(&@T<*C&)>FfpsJtL$2;oU{wI%zDF$pDHX^OASzZ+dkbMHktly?}ysgoaLZ*Euv|oem1%@h6d~?c(n8%LEj*p*;BKo*%FGMy73SmHa$a3$@AV@`THJ7tXz*hH)v((GZ3b?C*lE4h zHoWkcfOT{kk89(!_dq}KBU zgNv8fNe+q(wVD`R8Qgo%l&)qIESTzd4i!F1bAMyAC@cMVP@#6D&7HaX*PLC^DzxeJ z+w0C;-7@=KgBS7l3jtOX7Jl{Lf_KR`t0$lo&z6TQ7;trE`WS!G>YOVXt5A%S^pn(B z{QTzjLyOYRw53d9`#*B6(P-SE!-w*o9ED-^ufv$E%)6}(#)MzuIyTTXthsJfgW+1E z8naVhe0k+C@aWNPhdkOnvR?g$e{nbK>zxUcPLFVCGHukBuTFD3&m7s>+&j~--+rBD z#`@`lz6QO2Onh3tVWxP4Q{bEWv3n*hczvX`r?#WZ7ykCK#_N)=S=Tx6l(?NHk6g}a%Ab1C!EV>%vMaJ{5)USB{u(N{`Dg{?nc;@9uGq69FBeEv(53m z#f5bdqY}S589r@cmwai%*aM!q?)%y_`uZ+U=T2hd%-x}3c5Op?X64k(G@p5~o>^q{ zI5XwC^HytJuHMiS9c#U`PQv5Xx}!(Tj%G3pyxKln+V%`7vx%~vvoBB7wWiZO%jNTe zR%A0RlsBpDu1lsYUR{6UgHvXq7itVj?&@6mz*Eu9RaTPu7YCpD=)BNsKHto%(bP*p zTiV6O+)Fs~@wnIcISDG~eSK_VPT9Gyb6=R_aw&Z?zbw~T%l>wx*UI@}547$cdNs1) zj-e@Dlb*JXiS=D^W3e{ly{dovC#gHfGe&LW_jH?nnbUKhKQBym zD%5LYmlXwjACI%u8GX@d=Dv_Eik=>q{mA3eR>rK|MKa@N@Il3C(Y$(9`i!4heduE6 zEdyJ*B=(uV*1pB`p<{JCvm>~yt$RkbdNNqHb9|lsc{ldxTnTym&zn5a^>yj}#^i3U> zpfe?-hUj|CspzQXliSzYup>!QzyGA8^&;lp)Ty$-|Mlakw_IY!bRwQk9N%`1XvVNb zDR%oBtR1bj>qz0l1?@h(v9XX(I;y=ZygzTrbwNVW72 z@10j0*Eqc6bo}W(btb*sksg24Eb+_x=6Azh92ut*(Z?jQb~EQKs!r9HV>{3Eh$HJJ zXNaqIzT9Bjq8NXpD&MNUWnV@o_dmDhRBRvbuF2WsTljVDtEIb&+`lWk)81KF9;cJl zF_VFTZ1;_kez|$}!^0lc*%daf+92~_y+?hYC+|(J`*KkCnvqT>`e`A)i@Sy&c5R5C z;&e8pj(k;VRb4&5=f_)449=@N@k{oE#E)ry`Zq3C_qh@3+qB!ij;C#xosBT+ZPhZZ zN5G~vXRR6@4NG*rvVE&nsMvBhgO35yG9t3V&eD*+U7_7o9{04=y1DTWW%j?TKU$;RxV3E zIzex#*YL6CLss~%Y`V^OB~vZ+zT7+Noa-#2<^ZdE^qu;X6uK#6J4+o_CmUL~w%sjB z>|1S;%4Fh$`mF~W$u_LIbAH4TonfY{*R;ra@wGrlKdoBLtDT4BTzX{Lv`?)=DN{$& zxef31;B|Fl6tQdiq+ZD0)>UzJ;R%gdmUfyQx&}C<%mvrs+ zp>bjD1n;mqXr<3kRo7|4@ojd#G{#6$B?56ZPl1dMq8Gf~S&CG4F1`)BA3rsre z9y+q9cAw#^7fg$7Yuod>{y760MdImxG&0ul5?6WI3XG3f+0?wg)u_c4@G6V62wo@lNe8`|fimTy>|I9QN6w ztP-8nxk~crCQ>{$`butW$AET&uIr4BntAN&JCmxNHxlmWr}AT}pBX|qo?11{aldx- zc%!wK*UU(g)(L1jqJ!<`X`5ZGtliEnt32tTPT!n6ak*!vn@y^`<6wZ(*`*PV3%fH8 z3viCi?R2}|*z1@@w8BsSEVKnDq{f&vIu|~n!Pd+@+IL3o28&eQ?o=;d@A=dNZ^IHJ zn>xLT%}Q~6lXUU?BjbzM_Vn*U+SA{Jo)fPbF`H_dP&_0 zcfSm_P8r+WZ%brkn@#;c8&33UY&drG_;49Lbk)2kZG#d_7G0>>bNPWlt%R{(8ylPF z9KSeXrB2qJX{on{W*ghcw)C2Z^_sY;M#EhLa~|*7OdQ)@yJyhY`?*VMRGB+I|M6!! zEhs4c)2A-SuOBM#JMv{>Ri7jK>hJ#MSNr{pTG=N@R`SXF`gnI{!zsHmQa9LmfY_oc)5%-gejOq*JB{7zjoo>=So6r&II=1lAD z`}~AiV(_=Bcg-i%JYUz|F)q*PrbXcKalUhFVeU)zx)}`Lo)-PA1sC-CL-2?5Il-Uv zTdy$JN%Q_Z8ejfvx2NjYy5r9czQi_d*7^RB^~yx0V%?_hIaRk)2DR+RG}vX|=D1?v zY(oRhp*<}ve1-i7`5CtzJpe_XuWCN3{CD>*Ns z;j%C1jh~-*H)dp9+JtxWhdG@-+Q>Y%YPPP?nWyf~Pak&hEqFF4IO$~KxM!W~ece?z z;kIeEQJF8Se^Hj>)=vK)>$%SuZb5alACLOH2J-J+nS7jeBTxyvLjQ zvCo47gX$l$zcbr$zpmMsP1#?z#&7t%%EGMru)B924`Cav*K6foXz4T26l*^*z+8FBJ zJr>=5QqD&Ai$^~(Z+9JS(c#1A$A_Osp7;A0^z8a0>i+I#=PyQly|kBbKdXFkvw7l6 z^6U1~Pcx7G8*dh>6S*Mg((=tiX6cMBsNenFtryOVz3A=FjGH;61VrrT0!B@xlAESZ zT(bAk{rd&6qJs2Eq4lE=Szj?Xl;%u|B$_gnGk0Hp7@*UvO}~wXE*qC|3vYkye5FA_ zm(A^y2c+yb3EX+8+WD%pMWiw)@B?rPlZGIdpuXV~<MO^r`8JY9H=L1dUw(;{FJ;ErrGn z&mAG;g@!q|{RY>46aQ*ZmNeZsX^L#vuskhudiuF0S?Q0{(nr1S@**kX)t#fk4^G;z z(0`MY8`kRVrqo*|7Y>gzkzQ>cZr%R*w~RV7CoX)l!9I1v7Te@8G5;<*T&b0VNvpzw zyoIMZ({JK7j-M~?9cS{-!d`E8EuYnBPKzU#57i2N>YnN}e9qcyJs+DE=2F-9<+qAU zJreHMV#Tzpz8#LJoTrX?hYxRY+;E%AArD@5ygBLBhaD@EZpGKL`TB5m!>y;MrY7pF zih-|mdH(&#Cs%Y#!oK#&_jB9${_<)U(+m4w*RVSjKeOtfEiP6|0>fQuE6y4YUa!d9 zHZ0!4SvzpzmUj)8?0wN=i!$QwSZYYmw+;s?Kg>TE_sBS9QJ+HD7}KEF%{_;H^YVN# zL>W6Nu)yg0>!vA-CNv8l*m+;!{ij?)y7gr~V3f{Ii?6!pR^L3IsO)v&)oCAt0XrpG zpKiQdX!Y{MqtzG2`C?6HnbrGbY~Af>h;DkJWBSt6HdxE1EA(qSPCU>&XTljSA#-}D zc^mz-2_7FF&AmJLSS@<#y;@-323t0q{?eq^$1aUuE^hQOqshyqx#HU=JRT3B8a2z} zlD{TZPg|X~=|R@4xmWjo8n@#5i;W$wFT`y2I-Wfm`OY@rd9Hcj?p4)&mR4Quu(r_c z=?VAYplz{y(bqN!AG)SqJ#W5gzlFu6$%lF>xNj5ma<+u(Rhes%f)=N=b8q>yrTL`M zbw+eKHh;>dR`I(c5A~FfDlEvn_~~+zEOU0Nf8AqJhP7|aM(7^%=kvN``#cF*leWsB z-`ckRc3azO=Nk=59l2`-F~z@0w6FH0X|*c1yyLjB`pTrE)h6iQPQT%M%jUuX?`~fn zbpB{vD{$wE>5a}`YIG!hX~bQ6uOoeX+QoXxaGU&yc2E0uf0z5=C7IK$+T^4oA-cO; zWu<;ge0ySGaPQ-f9n7j!nOk^nbW+$e-E%GPOi6N>81Xe`?C3g+b`(5zI2HEUJmFTI z&3;<{Jm@u?3!NPH_SUtO7c)k)xjVw1 z-w%AdV`W5dpOsEumQ1X)eD#-ZUz&9OczWT>g*g6<#_w^Q`@;$R+_AG ztopgq_{=+%$2>RlZQ6bEhvvq%6DLhrapSSWSkv%<$N%YmXs>DB;kRe0^QkLBJDeHv zCY$Qy`|gcR^Q4*wQ=YuJ)@8NYJuP0+jqaCH>u&L{Mh>0#&-X@CDxweKh`sUSCa$T z8>_TVYq)a8^MO$R4wL&U!;M#j)e9Z-D8$m;MwhhzkYPMn+qUT_wbG}7x&+1 zKKAKVHRI~b#v9lAJk!^|b7QWtdEuO#po^xj3OcmvAM@^?u0!55>^NxcgsXvb63pfW zjkHKJeYCx2Ldrm2i~NI;mLr>NNXm_kx!$8!)Iq9~3%S~=Zgl1bw;hZ0DytqupL#8V z+D~3|)*}7=^9MSfVT}`xoOro-`>EI||BhHNFZp55_?;8@gt5k{3C|zYyxMiz;lXum zW;IUkWz?y|P36s25u4@zthSocV`Fvu)H{zyu+7>$o1cB*g^BMIM~id%y2&3~)*d%B zGbK8y>YeRw|GL}8WQJ=`nO!F_@)E?rxH{r*IyHJOdwHK~Ip>AQ<@CeV$t%WoNbvmB zTO24nrcdcb_zPNO#KK-Y?m% zeFX2`+GLQmEb~e8#|~8Om0dQib$_PMMP9nMyGN`ZY!?GbbE{#@p@tJ|f{aV;> z8TIDX`X!B@lTGB$ZJT&yT32hSy=jiU@xn$AZ22P_{ew4E3Yt~txpt?ddLA=oILofA z`e-^MeAA<~dGVpI7o5D;X<@RR(&N#EmEznbSGYsH7Bo26tMSyz(glj>fTY3E!BwOC z2dd^ABkMIUOnlYMBt*N*(sil)G3kX4eJ5z2h-`#D$d-khs|Rh>HXJmoSMXJvsoJ$R zF6dxf%l?Mlwk4JPGwk|q?ZV|+w>a2iQiyH9EnuJqB{J*t0)vDP|kBonZY?yj-k#R(uk^jtyZaY%CyTiX8xt#qRTknGnl${E@ z7t{%U7M;@HV47@HSeqtRwHQn=*3r=A<_C)r(;qa)=WO>yun^Du zGq(fxDQ02Ya~;z<<~Paj>}VM2vS82JJj-fM&ziQLz|L$GYuq=*M|7v~acy0rmU9-f z^Ah6%wa*@w)R|!T`chuM+=Ss;@`Q=Js)yFby;DUxgI3Bf^vkPyPgk~ORjt^(E)C;Y zeq?@u_I0a+X1!8$UKbcNd7GXfQMSGAy+Av+x8vz%sfSt*xn$Mx!4YoJk-)+Jmo2xb zcA2yY(Dt3*u6wuIm(C@&a=t#w^8SN~TCy;ovJTT} zHgvSpimr`%1@F?a*UgK2b;ey}X|N~PDrDaND{;BAPJN!ATvz9F;Zn!G{u>(%d6PTm z%?NVV1lvmI4o{8f?x+3X;@mcQIZIxpoi4cBFtq2=fBUa~9Jue*$*FMQPC7^R{dy-L!ZFLjZ|cn*2c6G-HXc7C zwBW+C_Leq&+3{J?!Q%N=bY5D*W^MJ|>USTa1Z$Q){kEpV7N= z^RvIrOdHrV;Qd}(iv+FX-44$8$y+dg@~j8@R^;|NRh1glu$9)lcBbb=sq?44-`8$v zLG^!zb<-Qu?Z67V%&5*D;Q?>j^zFa;dHv9D;)D@e_f=Q`@{y(EDXT_PZ+VEa<0N&K zOZ2x7b5U)Zb7%gYZu90UPK=(}jj+o1=nx-&Z|IUU%rUacwiY{H)jVv(e~C;<%c)8lb}+eb7u9JXq5?5uHt+a$gH>y7DVRut^T*t7YvA0&;0blo@m#d8f!l(mmN6ZvlYM)(sx9&v5!`(( zpBFZ`>aCo?+J^0-|850eaZ8qjEWB06#o6^O6xTx2>Rb92d)z{zr SuO1-sN>+-#@?BEL@c#q)`9Wj= diff --git a/app/Resources/AppIcon76x76@2x~ipad.png b/app/Resources/AppIcon76x76@2x~ipad.png deleted file mode 100644 index 0933520aabc297fcdd4c0a70fdb3c564f9c607b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41964 zcmce92|N}3_ka5ytz?VnX(e-K=FTEZ_s+f3s#T>;*~ywMsc0n;DeclCX(cMONTNtR zq>YkFDhVZ}1@SwhR8L)(eE+Y1&!ceXeAe?h%ln-38ULx1$M)=|*sV>QHXRsi;rOX- z)H-P8abexjE}-YcE~8bktI8l#`3KHjk!hZ3NXuQ7w2v%XOKfo2jRkqpL<^3nEKba~E4@ zH(Mu1HLgWdGbeX9J#`rAw<$O{|7h0H_4_ixf@yo2I&1SrA>5Q29<(t3@tm`}i+w}q z7UtTP_LdHoj&82-Ebqs&&NfbNPOdgiO*H-E#*=Hz1JcaE3QK0|U}|lt z?d)jX(3_#5&Ui;xH&aJ*%kd&Tbr|X>TU!eqMko}~Jdr>oWEdV#EEKYQp^y^t#W;cD zB23UoD{?Y-=k~vm*5W6vusPZ(F1B#?OzkDLAto3S7qU1aL=l4G@q}U#BW8H0kVlFU zKFV_3{ez8kj4VCfCYdg?baDNDY=oxP-@miBRr~o|!!wgj9bgZPY;0ZC+$UX8Ukb#ZrA8#czO;hW)VQ*Avh?OlMQ)PHZ48^ZtG zs*BqwIC^SBOdXs@s|lQ)ZOxq=8^_3fqORS{tZb*u;ONxG1EHExNUmj?#Eq-$Y`{jY=+T!8(wE z`6hVMo8UFyge@2cj!g-}?;o~wS(;ed7O%(;S=U5EKR<77L_fri6(qOy%LC1|)$H>B@<4NK{h|{jkL#BQnro|Z3QfxSUmj?#t;VHovaMep zXs)ea`A703e|@6a*1*T%%$%mR2Je?Anrp4WE?461 z&9ycM+-}YrXriefA2-*|V008sH_^zq&zfstij@_(hHB#-wYYVj3TS|hsjH={S`&>n z`FL~vG)#$ca&R_vY|1V9&m%2r@BhIHjm1Q2~PqS%fF11wv9RrWp~= z7YSHCkNA^q5iH6RLW8g&w3z0TB*A9^ zdlHIBF)M+BCn8yr647ED7tsiT3lZps6;mk27ci363KhbKG>tGMfw3Y66XSeX1X3u# z_zXsgCCnT{XaW`TQJ4vz;EM>Bg24!Q49*A{9?h4q9~i=lU=kvf5(@<+BSt9_CxwU* zBPg8W6B5=6gANb|7g7Yu(ljL&ktj_GFacm~6bb+RIdhES!}4Gvlt%$?AT%oABfy6! z!Y2`u5lL7pj7B-oOhf@EVk{~aumTdrNs`B-2-tWD+>XQ4MX=on#$YrsG0o?LcPZ+Hb%h5c?3-mB#C3Bg!2KvB{4Bg(I}53SP@E!F)?f) zP6}ZDLZO7U!uc>HiWZn#u1wt{( z;skulokIx}4Db^|h(HQZfMt@fYjDD7k`(iKG)YU?bKpRp0QQc?DS|*@eHcPaVgyMr z2&^t&!l+0@NKgdGGm=0VM1b@80z!lffx}3?Sinf4AOs8oJ5I8E5smT1VqiiHBQaPi zgb@-F&Id`dlt3t;N#G3@21H{xj}`$tvna5lkoV`zDO?~R7>p1xLR!ER!=~_QiW3hg zB}6c>SQ3Sh#DJ?vOoZ@7VxfpZNm@h^tdM}Uq9m*?#YY7QAICuoz!8G&7Slk4QalnS zBcvpp57;t5mPHg_fU`6o;q%29kIO~7UV$4eL$OR+o*#578=q(FqwB%dV^lz~0P za0Hb=LBoND-Np%oWO*nhLgC!AC`hgbCSxT?YMP)ZmZlJdCqzgw=nNWVSlC1n!tyxr z{^zJ@LP&B_280iRvqAx!bex5;!O0ZzP_cylpaISo@c3d+k>M_7tG^l-rWEU+WR zm(Yh;1ZP2jlAr}yAqK7jMG4@{!=c15I3|Bm2oMqu2O<(-JRy%IcmgpWmKhVUgb*hQ zM8c?qa5`WEQ8=ln2)IH_Q6TSF1SN2eeQ&I5Re5Q`c3kQIqQ53m9O99@h@v!sX>izM(a z1A+>{DA2Hc&|#pafXM4K5!fZ$-yEb;4KXPuwn*d_#z=_YmyX6SY41C zz(HV)pge*Q(kQ4wI3ogv2f9iCT313J0zL(bf)TR>2u)aLIKKi0LM(77Nd}i7eMDeS z2!T6L&|zYnhw@nRn^0%O2o9X{XCERsYBWlLX+iNxJ^{j=0Q(6Mg001hg^Yx?5{W@; zf?S{&&{G275ekGl=w%GpgvS#|*bgyA2w9Y&DN;;8fC@(tkr1bZm>8tD5EV&~aAFF> zVW&ypJ%k3?#s{Xs5NI6-dyXL`aH1H*2OKD{FE~37ffK=^pqgn`Lgh&YS4nizx9zqN(MIp%ttAwIi*n6;mVB!J{15uAlSS!#OLJ@({ z+&L73rWK-Mk^wGbFcbtbE0F@D7&vh>4aN+g<{@A%3Rni=!BBb7-=8}OM_P=41qQYx zcM@?iM)7di9k3UKtbmfB4Zw8afdz`fe1Z8;jAdaz1gJnrummSl{_KNA_^|M>S&WD; z09y~NB_1sV$qh;btPffO1rGtWNAtiM#&C+EP+)tI#0X~$g25!I56}`A4mJ{KaugTC zF#^pi5P|6{04aw_qQKy|f%y$e5;zx56v!;@l;8r`ey|4r9M!kbzlD=I#5{jGA_&h4 z!u;mA7SGIz*5dIj%(P6cNJ5Lktxzkz8D`0&C2&I%ZJ|~Kft#UP7M51#-`b)rEX=h` z!M-xHqJTLi>1WAp@kvVyOAswuRtRp%wMA)}VPq0bq5QECqjfml!rphT@u$c zkin;59WaOpR2z6(AbL5yMByOrF);Tfm`dNsaG{uH;XlYm;d%oZ&lieV7RMNnWx^)O z;M{?+j^iL3#UMmMCW=My1876&n2;b+zV!xHJ_80H*Z_YsH#p{Cl7d?R9!bMW;y90? z!3h-#c#=)DhTc#d0Rx!k`~;X1%#FsOdr|~q6I8P#ne>ee1QEESd@yRhtt7Z)6wZiw zpfqWgCqYFvkYOYkXM_MW7axQ_^ajEbEIhCc#VDA&67>dHaEeRO8 zEN~j&8sO=ns05R*feZ()jwNyGFSi>9tpPv-m}P&(B{(>Fz+DtYlfnj8#=+X;3BcDQ zz=f0K-8T%9&j*wR15*xQjRrC?O^U!*2DgciON2wdkr6zS0p}YWriNom3B^J&Uqq1z z7^|2hq~;qLFhA@y82o=VH-LY@F$DJiJ2C=GcHh9x0DB8U+Y0uCxTJR%XmEn*P@ZnOY&E~w!qcoHlG zKtaIW0mqr!H}DZbx`21ffS|zWreq0;(;#R7%J{n_0hYqROr!snj0IT^?wt_%E1^K) zU=4wf0L~B1t)zev@mN6Yz>5VWiE3&k0S^)ofOh=lAmLbx!Ppl6B^gZ%!QW;0;MIx# zLQaCH!3Z1^{$+0h0Sa&*%?Hf{Qc)xX*H+Ac;|<0gn2P+S#H)}K8 znBX%sA|e275y9+)2y8P2{x|qm;BYiGNKh;|pJaid|4MR+cmVeTqzZ^2k7F)Q$$>!U z3}`U`SrY8ahCzw|ZD9xs6MWkldXi8&<_i?gYAcQy!=nxSq_=`RTAc-Lj8PFJ#lUx$iXj7vV0^S2~FQCd81~_del#HiRJw9K1EDC;N9wn5P)PKRypITfm9` zVxBBGfw&m7i;Xak6<1bg5or4TSva6-TpYTyJ;I{<8rfWyY{#nLzd`)xl#BSGvFWUfd6K|cvr z_>Vq+r);@)_=B>=JoGyyEDu=coDBtnfsmlEn;I>*p8yEb0QC_BO-h}o0BSEFLJR7r z0lWZP0Rj|&3PMrH6;KeD1(-@24}tE4z!6yUf4#P#c>lw zV?TeRo4;ChS{84s>Gi;&=^Le>eSexL$Cu*DD=#lZdo zv`q@%f~13dK@hNwcmf3r4Os_b0;T_fd`p(qP+Kn%h&-zWvZd64G_2?%^X zWSdB%1i2*=LXy!h=My|;Ld>BbfUGyo3E-lF@k~Pe=x?f_CwV2vCP^0sB(GH@A0iXan?a~B{J4PZ^kM65uz;@`C-6qIuyMwzf}#heJ9vAM|^} z3N`qj5ZQ)w5fS9|N=WA7C^Pi6>bu^^}m5%ltzo0GtQ`LNE-zuPxXnT=KDip&+wQnzo1B zX-Gz+M1Yt5kV7rQhrmW_DJ15LUwMeDIvcJq7039fv`}D z!X@6rYD1=#6wDZc3$5)_L_yS(g_4n>L*)Vkcd>k1AucilJ|1NGLMA7~Bb(Ote5gPo zArFIr%(e!b8uSW>LjdjqrBITpuo|T%2pa;5MIeFmTc0gI*^nLur4jJe=v}qglHvjL^(G6=r3cC;*D zw@|)k~YB+k&r9ArdM@ ze?szx$>n^AV+cUzH?2QGZnU;fuC^2kVH&Zwmg`S0 z_YQKzP{0_!>1;031ggx0u&$7>C`E!1P((;VSrgdQ4fAY>SU|2E#pTx#xRksaNTuTw zVus?X%{ZyaL9h%afGQiV`i_u-CqM=-0(F3}`QIs9jJ=dg%#iC34R$Q#y}yL z5XFTeDVi7H-q!YswwjU;?hs_Q18V$(hoJljvUo`@M^cJ3A)%-ed{n4O_!cFB;4lg% z2Ln}CT#=BJT>)Q?4_$Yi<&=1<`-Ec0R*sf#H6_@$3{(?C!6y_j!&%|t9B}R+ zcMYma5GmT862UR%LmJJmb^;5@Z{T_JDQOW4t_GXWvQU-%o%>phYtkr0N1#Fj(#O7? zY?fjGkA-4007NNCg%*wW5Dm$za5DhR_8TRqKcPwy5~~H^MIch5Bp|Io9Dq#?*^Ui1 zSc~I=Tv-|gNi<>%%o~nx0SpBXfP`c)uDDN%On^KVD6AHNV*hzQ!BJztL4qT|NI5H@ z0U&RfgaLo2gxNuAD5Q;`P?sky1^@z@1@xRCp*$JzbuKp;Dwe_K;6uF#+)L54UV*X~ z$ZFyX;W~(K(xk-}BWye%#87VYeV#3s@sQOm#6hM*d3!^jEstjlpwb+!2L-wFlM?PA zfP`Nz=1WSOC#arQ&J(J6q1Fmq>+dVX#pvMf4G5M&-Z&#gXTvr^^Z>$njdG~PYYQoX z1e9w6^!0t76eO4fD?o`f4OO;Me0w3>=FrMMNfL!?Kj5;3@ACxPL}k z5<+MNoL4B@fnkFj;KHL%TBhuDl{R!98K+Ffw)W%%_%9cf?8OT_KR0c>q`#D;;X#p}u_z)MBbh}OC zJfV&Owi2>BpYUnAD5QVDuSp3MnJ_Tl=C;7&lY2EA~;ms9YQ~{3_$3&EN4k1AfO0_v&6oS7S1PJ zMgY+d5T~%uO>;a@0{8{j4gA6hEsGF~#9U1pQ~`gtjAZ6+&K_z}re|}vT{pc#FinuS1YA1v zZEYK3k+=Ygx*)>`D)OXI!nIVbq=cGW0NTgdOcd?a-gIyZ+C#+D*@}wY#rnP-S zi6Pt<0oj>c5fYqFNPB}seke);-h%{rDJukbApjl?_h5bJTW&vF6t@?PIW7a^_^~1Purkd4Jz0TwL^@{63IPNT=0jkXYf)YGBxD*D^YdEqJ@9=5V_J8yV<{X#54MAhL zZJUr1f%=^ioMaAN0=olBgrF3&<)amXYX?R34aJubyZakT!2fCP>Mb1V@WDp@i$1~E zf=qJ=Rf9EzNUKKz91DtU;SMFZyr{t*f)r1h%SMF15pYhW^hy23@gNfbbYtOeAxNN- z7ITH*!GF&RCpF=gLGVQ2VkBwVPQcvYl9R#w3-W3hLY|H`Efo4Lcn-hQ>_X%A0%+W zt$K|bsl}O|EaXl8XN6kMx58HU2`(LE8i33B*IJPIZM2+5;_lmox-)>}q-h7hkKpRH z)@VWQ&ZJ-KmN|_Cfd{w_ghW_rS(ohZl$`a}qRc?J4HW9vT2$RA`O;TOx4QzH!OLsL z!KKPhF3Y~(*gC^<$&b5R)f!$Aq+@E%z4}N`{rl@()W84QR>Dhfnlr;2X_wkqLW5G? z;`6O%S0^jCrKT>H0&93dj)YeQ&ETv3cuUZ)cQgNY+^(h`mheu6Z@-i@YJlzFLNhVo z7T-+9KVFsdo%YXB6Y#<*9fWRt_fRWF{k>_pPubDh65gJr{XfhDZWVw)r3Im7hM-pP zdL*2uWol-DYayoQxD^JMX<=6I8ij9zY@Ew~UXFz7;ArE^kyz2Ck zkg~04iV^(V4!*cQli+LE_kZDgIcG(?(eR_3?s$>FsBHHa*F#sAr9bgePkz3`Xmyh2 z0B7U4B}h=xNZU6|uFctb9`lbXM{g{02|}Zd%=Vl0C|e($vvOj@JlDlCwlbU8gfj!| zHy9cZGgjJ@f2~)S0jbq{R39II@~PZAILC(HYs$T-^ED+=7xumJejHV^@*hWjtwUL4 zvc}ePvdee9y=95te&M_?Y{JT%Yl%}jPK;jr=A!Wrf;`hv17}Y zM}B6{_gyZ(I`@=(&x~Q2T6w`8PpR6`9kO=brCs+g>E}A*R$!71=5e&curI5^f?t)8 zrGZB+ay3KR7!2_rJhXJY-UOv%H+SxJ?z^qrStC9&RA%;WyOeEd^qSM%J{A>s$a*%R zRyjH?yW57i(|Ou^W|gI9nHk*Qn3OlC?CRXEcVEmZ>s~g;!eB^Xf2VEfGY`!ambEGG zcV;?u!#Mx+_S_lQ6|5F4Ijr#L;ruo={`M8y7`T4OAI_uSRKhVk94r^<=WUi&z$zvU7j1CUxS*aK*2W!sr_kFk|(7`m{X80Dx zcv^!JoNimKGkUkz1Je_tg^zoO5?e|q`wYKzX>i8TTJ%5yd3=W9(+RF^=ldu0aq>Ia zA?+&WC>q&u`+P*_@r0z&yth-YB#CY))X9u-j5Cs%n&UVDYri{ua?OVM_XEcdf7`24 zW#dZC8q2vGjKXV7#8boPcT3aLFbTZ7eEx2SP6;{%HfDWh4VmDVTzqujhsv7c{hkkb zv#x#KOlq3z)u$SL6gKVNS*F>?;mS6)W@_2uE*T=DW!+Cq=C2yLPVsZsnQJ=o4fE#M zT=7^Be{Z?=aDkE5I`PLVYwmR4@gm7N;6twpmvbg_WHLl^j|C$kzB4~g&pSCrFW}zP z_K8=F`W9)aIe*a19PniHiR8kZ$ItFM+1@Vr=jNrY3Q2|~v38;~#nF~$Xw6wsiYYG+ zE5`PByf!OQA>XLo{SC@(U*u(s*pXk{bM=$0T9~F{&LPvSV{UifF=dpI>?nhRRpsMO zrv>?5&gmW5>!`PAC_gISey{U6+;sG#by|Jx{rtZMcRJPA;Xtojk;uvAqPo>etG{Rr zbv~57fFA2K=x&$jUW>0}ncb)#?O|X#Aba>Cmp5(uo?pCo)r5fv-^4U7_KH);zQJh; z(_iO1Vj522Czt(`-)`RfO?h&8yPf*IR+@<)eU7Wl-NR1wiaWWf+lBa)WEyLm$ixy;ncw(Dpl*9^gl(@18$pto2Rt%J|`yr^}4@hY@bO zw^=U9GD@<#&T>LVjAVm*L|LR(-3y zT=~2y1$uW%>_X!F&hO0Cnsk5d$Vqec)Z2>`sdYsoFOQoOXSGeQ?KQIwnwqmNuiMmF z?9_9U+s&+c8(zsGuR-S?JX~^We~$~hwW|UwE}b*;X?tXFXT3}rA6;zutge9$!zWdz zoDB3j#VfUrqh|;Id#;oHzo#FV*chFP%q%@?8A~r*IBT@s-R`$CtNJM#RnNR8)QFcq zQ?q1h{9wfnU3LZOom--vSS!+d$KE^Sb)iqM`j1gVCLJ>M4SMOc&2W;;KhHM%q@SQF ztC8FzYeGMLTBNu8h|?Y4%^@474}Ew+XO8SB@=esGEXUhB?b2S(U%Tw3(ka{5_vS2G z&GwBvVX;U3IQ1SsmwEro6oWl-89_CdEr+gHqcQBk&X^s$?!=8k=LJ{INw%HPM_+x) z@!b0-OG78_zO*uJfPSdeiV^3!MO1GrO1SC8$Hrc%xmLNe^L+0(lP@aPf=hu;wpoix zhb5g~y{T6fapZ_fnEJl{%0Bm%l}6;9AA4a*q=Lo@zg17r(tg{=7CenJ_qNX>df|$< z_TPX`h;C&flr>mHD~r(_wSw~>%pwX5jO zopm4c?q)4`tGKA@{HZMJjV3lyIb>vn$%*XGvAh|vX+`%CS-F zGxL|;TKUeX&AH?%TkY**!)kk<;}yyGO5L|`+ZGoCadhWplPZHQ5HGIIef6|r>$?N^ zN#TldhpTcNw`B30Rwa(|a>zJaWLfE+_Mtj!_nhL&m-{Cw%s%*H8kzXQl)Qgi)a z<%eg2W42aIJa1=_boZK1#*wl;W{BawY(dV=nqjBxKNY@hf5Yi^>L}-3rt+%OhV_fO zILudfnD5=AirTZ7fxE`9JX2l(zcKE4&foh{pDp1weQoy{eYCN-n53Cs5O|SJGoP=V z;MHqyi01NLFVs)VVk`SjvU9(aI=N2fu>FbLbMHDln0&---1K0B$`9l*ynJiWwk^HZ z80r~rDHu_6G(CDzcRKp=!_ccXQU3Z?#01^P|5AS0m#+tYnxInhA$a`&6uBw%(?&Hp=q~Dm0Evk<;x2v-=E~!6Q`Hxvx*&ZT(dhSg{`Caed zE8YxI&n*~z(on22y}gX{(YEp%iyRk-bxgLRYjrTC(J32-^?iBN_{`o9rbo-=E>@%s z_~4zqtZMk7^KV2;9V)=!h)rpp{YjLZts?jfGZ+*jG9GJKM3fqnwX=cit$MG;8J9sqCg5=S^_sii?w!?tH!7yF|R?X23x=r=x>S)?P&7uNe!8mor~YEWdX0*^J2h4=v75 zF*B$$Onr5B;9_=&CwYHJX)N(ZqnGwA{q{ZY`M~Gty3>!PO$>Q=zRbh%`PgmGd)&%>hve@}WeyEosq$K} z!ZpxD-&fv8_ju|2DVp_4W;=o-kir=!LJr0(@jmfr!^HLr-@Z_IzaM!i7UZoByE04G z_0nCwa$)+7-DBd?({zg6t{HxKn4(ohN3I_hc&_BjG_rqzp~?~sgJ)Z&%^z}-@(YOF zX|eE3_mLAF1PjMvb&db*ld~Td~-ye0`t$Lw5H{at?g! zXI6BqUGT-1Lxu%;O;fI_2wc|RGBSF$@cy6~??#B$CI$yBGdw+Hs`8zIB_;Yp6Gg#$ zo!e}~hCO$T%-S%oqanNhA!22cAp78OSVph5CvT2XCdpTqU7id-bm6U7$5R&7^YJem zv)8I@TiuKd+0pL`YnnpeW|aF^=|7e6n=QN zBu%wO7fp)laAB{pg4-h3I;YsPpFd^vywE%81HCR=l_{&-yJ0>RWRa_9tm1U#<1_M< z(pNc;h$m^+%5pa=d1&N#%bV?R6rV3Pc|LaC=+MWhZUcJkS#_76uNtABW8Qhkt0g;? z5;b*u$V5z8*-gWwAA8Yw@rCXa%ZHw#YuszyB2=7e?K{6se&0>MuAp;b-Mg`$E50VY z`&e4PsaRDt)$zG%?4zZMA@36w9sTNP(b;~S$JdU19F`99dN)gyrOF&GzL7Vlwo`aP zdHTGVT6ynJ`Jeiw7r%}13H`w3z6~ey?&a3LDV49rQP;i z^Ktu>AAH(e)9cgRiRw0e-!3wl_-fyaYXgD>-OriqUB1yf|5>8yxsfS?4$kL~^rX=raTW`|YrE?#uJd9lS;P!f#&f2|R1*dO)6~8)Q>4Q_~)61Ew?hKZ>Q~f|N@bt=n z>W73(U&7YmM$cs-HU|EAk)z+;I8GZCIg!;4nz}An9OGC}6%iA$cEk-CYO{*7`e

  • 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 12.0) +Section: System +Version: 0.2.8 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. -Maintainer: ichitaso -Author: XsF1re -Section: System -Tag: role::hacker +Depiction: https://cydia.ichitaso.com/depiction/vnodebypass.html +Tag: role::hacker, compatible::ios12, compatible::ios13, compatible::ios14 From d421af61176235376efc93631edbbff358e034e8 Mon Sep 17 00:00:00 2001 From: level3tjg Date: Tue, 26 Apr 2022 14:11:30 -0400 Subject: [PATCH 24/25] restore app icon --- app/Resources/AppIcon60x60@2x.png | Bin 0 -> 38294 bytes app/Resources/AppIcon76x76@2x~ipad.png | Bin 0 -> 41964 bytes app/Resources/Info.plist | 30 +++++-------------------- 3 files changed, 5 insertions(+), 25 deletions(-) create mode 100644 app/Resources/AppIcon60x60@2x.png create mode 100644 app/Resources/AppIcon76x76@2x~ipad.png diff --git a/app/Resources/AppIcon60x60@2x.png b/app/Resources/AppIcon60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..59dd501bf5ebe562f4f4b8d3a697b64d76b2fe6b GIT binary patch literal 38294 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 SuO1-sN>+-#@?BEL@c#q)`9Wj= literal 0 HcmV?d00001 diff --git a/app/Resources/AppIcon76x76@2x~ipad.png b/app/Resources/AppIcon76x76@2x~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..0933520aabc297fcdd4c0a70fdb3c564f9c607b5 GIT binary patch literal 41964 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
  • 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 CFBundleExecutable vnodebypass - CFBundleIcons - - CFBundlePrimaryIcon - - CFBundleIconFiles - - AppIcon60x60 - - CFBundleIconName - AppIcon - - - CFBundleIcons~ipad - - CFBundlePrimaryIcon - - CFBundleIconFiles - - AppIcon60x60 - AppIcon76x76 - - CFBundleIconName - AppIcon - - + CFBundleIconFiles + + AppIcon60x60@2x.png + AppIcon76x76@2x~ipad.png + CFBundleIdentifier kr.xsf1re.vnodebypass CFBundleInfoDictionaryVersion From 3fd6076f66a50ff15601002013f258c4edbff746 Mon Sep 17 00:00:00 2001 From: ichitaso Date: Wed, 27 Apr 2022 12:47:57 +0900 Subject: [PATCH 25/25] Update control --- control | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/control b/control index a01a26a..0a3adf0 100644 --- a/control +++ b/control @@ -4,8 +4,9 @@ Package: kr.xsf1re.vnodebypass Name: vnodebypass Depends: firmware (>= 12.0) Section: System -Version: 0.2.8 +Version: 0.2.9 Architecture: iphoneos-arm Description: An expermental tool to hide jailbreak files for bypass detection. Depiction: https://cydia.ichitaso.com/depiction/vnodebypass.html Tag: role::hacker, compatible::ios12, compatible::ios13, compatible::ios14 +Icon: https://raw.githubusercontent.com/ichitaso/vnodebypass_theme/main/layout/Library/Themes/vnodebypass.theme/Icon.png
  • !ugZ(j8ZlY7vA;chG%p#;Osyb#K6eFA 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