From 4789d0cffaa09b5ba90fc057604d20e1e1f0e9ae Mon Sep 17 00:00:00 2001 From: gbamber Date: Sun, 4 Dec 2016 15:13:38 +0000 Subject: [PATCH] Initial V0.1.8.0 git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5403 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../json_packager/deploywin/COPYING.GPL.txt | 340 ++++++++ .../json_packager/deploywin/json_packager.iss | 52 ++ .../json_packager/deploywin/jsonpackage.ico | Bin 0 -> 117871 bytes .../deploywin/locale/jsoneditor.en.po | 347 ++++++++ .../deploywin/locale/jsoneditor.es.po | 332 ++++++++ .../json_packager/deploywin/readme.txt | 16 + .../deploywin/readmepreinstall.txt | 6 + applications/json_packager/jsonpackage.ico | Bin 0 -> 117871 bytes applications/json_packager/jsonpackage.lpi | 240 ++++++ applications/json_packager/jsonpackage.lpr | 31 + applications/json_packager/jsonpackage.lps | 223 +++++ applications/json_packager/jsonpackage.res | Bin 0 -> 120820 bytes .../json_packager/locale/jsoneditor.en.po | 347 ++++++++ .../json_packager/locale/jsoneditor.es.po | 332 ++++++++ .../json_packager/locale/jsoneditor.po | 302 +++++++ .../json_packager/ugenericcollection.pas | 50 ++ applications/json_packager/umain.lfm | 284 +++++++ applications/json_packager/umain.lrj | 39 + applications/json_packager/umain.pas | 800 ++++++++++++++++++ 19 files changed, 3741 insertions(+) create mode 100644 applications/json_packager/deploywin/COPYING.GPL.txt create mode 100644 applications/json_packager/deploywin/json_packager.iss create mode 100644 applications/json_packager/deploywin/jsonpackage.ico create mode 100644 applications/json_packager/deploywin/locale/jsoneditor.en.po create mode 100644 applications/json_packager/deploywin/locale/jsoneditor.es.po create mode 100644 applications/json_packager/deploywin/readme.txt create mode 100644 applications/json_packager/deploywin/readmepreinstall.txt create mode 100644 applications/json_packager/jsonpackage.ico create mode 100644 applications/json_packager/jsonpackage.lpi create mode 100644 applications/json_packager/jsonpackage.lpr create mode 100644 applications/json_packager/jsonpackage.lps create mode 100644 applications/json_packager/jsonpackage.res create mode 100644 applications/json_packager/locale/jsoneditor.en.po create mode 100644 applications/json_packager/locale/jsoneditor.es.po create mode 100644 applications/json_packager/locale/jsoneditor.po create mode 100644 applications/json_packager/ugenericcollection.pas create mode 100644 applications/json_packager/umain.lfm create mode 100644 applications/json_packager/umain.lrj create mode 100644 applications/json_packager/umain.pas diff --git a/applications/json_packager/deploywin/COPYING.GPL.txt b/applications/json_packager/deploywin/COPYING.GPL.txt new file mode 100644 index 000000000..c79e32906 --- /dev/null +++ b/applications/json_packager/deploywin/COPYING.GPL.txt @@ -0,0 +1,340 @@ + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) 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 +this service 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 make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. 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. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +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 +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the 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 a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE 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. + + END OF TERMS AND CONDITIONS + + Appendix: 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 +convey 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) 19yy + + 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 2 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, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision 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, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This 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 Library General +Public License instead of this License. diff --git a/applications/json_packager/deploywin/json_packager.iss b/applications/json_packager/deploywin/json_packager.iss new file mode 100644 index 000000000..676f3c85e --- /dev/null +++ b/applications/json_packager/deploywin/json_packager.iss @@ -0,0 +1,52 @@ +[Setup] +AppName=External OPM JSON package Editor +AppVersion=0.1.8.0 +DefaultDirName={pf}\OPMUtilities +DefaultGroupName=OPM +UninstallDisplayIcon={app}\jsoneditor.exe +Compression=lzma2 +SolidCompression=yes +OutputDir=. +; "ArchitecturesInstallIn64BitMode=x64" requests that the install be +; done in "64-bit mode" on x64, meaning it should use the native +; 64-bit Program Files directory and the 64-bit view of the registry. +; On all other architectures it will install in "32-bit mode". +ArchitecturesInstallIn64BitMode=x64 +; Note: We don't set ProcessorsAllowed because we want this +; installation to run on all architectures (including Itanium, +; since it's capable of running 32-bit code too). +LicenseFile=COPYING.GPL.txt +SetupIconFile=.\jsonpackage.ico +MinVersion=0,5.01 +AppComments="Source code for this app is available on request" +AppContact="lainz or minesadorada at http://forum.lazarus.freepascal.org/" +AppCopyright="(c)2016 lainz and minesadorada" +OutputBaseFilename=setup_jsoneditor +AppPublisher="Open source software" +AlwaysShowDirOnReadyPage=yes +UsePreviousAppDir=no +InfoBeforeFile="readmepreinstall.txt" +InfoAfterFile="readme.txt" + +[Files] +; Install MyProg-x64.exe if running in 64-bit mode (x64; see above), +; MyProg.exe otherwise. +; Place all x64 files here +Source: "jsoneditor64.exe"; DestDir: "{app}"; DestName: "jsoneditor.exe"; Check: Is64BitInstallMode +; Place all x86 files here, first one should be marked 'solidbreak' +Source: "jsoneditor.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode; Flags: solidbreak +; Place all common files here, first one should be marked 'solidbreak' +; Source: "readmepreinstall.txt"; DestDir: "{app}"; Flags: isreadme +; Source: "readme.txt"; DestDir: "{app}"; Flags: isreadme +Source: ".\locale\jsoneditor.en.po"; DestDir: "{app}\locale"; Flags: solidbreak +Source: ".\locale\jsoneditor.es.po"; DestDir: "{app}\locale"; + +[Icons] +Name: "{group}\External OPM JSON package Editor"; Filename: "{app}\jsoneditor.exe" +Name: "{group}\{cm:UninstallProgram, External OPM JSON package Editor}"; Filename: "{uninstallexe}" + +[Run] +Filename: "{app}\jsoneditor.exe"; WorkingDir: "{app}"; Flags: postinstall runascurrentuser; Description: "Start the JSON Editor now"; StatusMsg: "Start the JSON Editor now" + +[Dirs] +Name: "{app}\locale" diff --git a/applications/json_packager/deploywin/jsonpackage.ico b/applications/json_packager/deploywin/jsonpackage.ico new file mode 100644 index 0000000000000000000000000000000000000000..44718deee631edb3813d4e3a74afb566d05b2323 GIT binary patch literal 117871 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 literal 0 HcmV?d00001 diff --git a/applications/json_packager/deploywin/locale/jsoneditor.en.po b/applications/json_packager/deploywin/locale/jsoneditor.en.po new file mode 100644 index 000000000..3b88fdd17 --- /dev/null +++ b/applications/json_packager/deploywin/locale/jsoneditor.en.po @@ -0,0 +1,347 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"X-Generator: Poedit 1.8.8\n" + +#: tfrmmain.btnadd.caption +msgid "Add" +msgstr "Add" + +#: tfrmmain.btnadd.hint +msgid "" +"Add Package File:\n" +"The update zip can contain more than one lpk file\n" +"deployed to the same place.\n" +msgstr "" +"Add Package File:\n" +"The update zip can contain more than one lpk file\n" +"deployed to the same place.\n" + +#: tfrmmain.btnremove.caption +msgid "Remove" +msgstr "Remove" + +#: tfrmmain.btnremove.hint +msgid "" +"Remove Package File:\n" +"Deletes the last entry from the list\n" +msgstr "" +"Remove Package File:\n" +"Deletes the last entry from the list\n" + +#: tfrmmain.cbforceupdate.caption +msgid "Force Update" +msgstr "Force Update" + +#: tfrmmain.cbforceupdate.hint +msgid "" +"Force Update check box:\n" +"If this is checked the OPM user will be notified\n" +"of your update. Only check this if the update is important.\n" +msgstr "" +"Force Update check box:\n" +"If this is checked the OPM user will be notified\n" +"of your update. Only check this if the update is important.\n" + +#: tfrmmain.cmd_close.caption +msgid "&Close" +msgstr "&Close" + +#: tfrmmain.cmd_save.caption +msgid "&Save" +msgstr "&Save" + +#: tfrmmain.cmd_save.hint +msgid "" +"Save the current configuration to disk\n" +"as a JSON update file\n" +msgstr "" +"Save the current configuration to disk\n" +"as a JSON update file\n" + +#: tfrmmain.editdownloadurl.hint +msgid "" +"Download URL:\n" +"Include the FULL url needed to download the package Zip file\n" +msgstr "" +"Download URL:\n" +"Include the FULL url needed to download the package Zip file\n" + +#: tfrmmain.editname.hint +msgid "" +"Update Zip Name:\n" +"This is just the filename (not including the path)\n" +"of your update zip. Type, or click the [...]\n" +msgstr "" +"Update Zip Name:\n" +"This is just the filename (not including the path)\n" +"of your update zip. Type, or click the [...]\n" + +#: tfrmmain.filemenu.caption +msgid "File" +msgstr "File" + +#: tfrmmain.fileopen1.caption +msgid "&Open ..." +msgstr "&Open ..." + +#: tfrmmain.fileopen1.hint +msgid "Open" +msgstr "Open" + +#: tfrmmain.filesaveas1.caption +msgid "&Save As ..." +msgstr "&Save As ..." + +#: tfrmmain.filesaveas1.hint +msgid "Save As" +msgstr "Save As" + +#: tfrmmain.lbldownloadurl.caption +msgid "Download URL:" +msgstr "Download URL:" + +#: tfrmmain.lblname.caption +msgid "Update Zip Name:" +msgstr "Update Zip Name:" + +#: tfrmmain.lblpackagefiles.caption +msgid "Package Files:" +msgstr "Package Files:" + +#: tfrmmain.loaditem.caption +msgid "Load..." +msgstr "Load..." + +#: tfrmmain.mnu_filenew.caption +msgid "New" +msgstr "" + +#: tfrmmain.mnu_filesave.caption +msgid "Save" +msgstr "Save" + +#: tfrmmain.mnu_help.caption +msgid "&Help" +msgstr "&Help" + +#: tfrmmain.mnu_helpabout.caption +msgid "About.." +msgstr "About.." + +#: tfrmmain.mnu_helpdisablewarnings.caption +msgid "Disable warnings" +msgstr "Disable warnings" + +#: tfrmmain.mnu_helpshowhints.caption +msgid "Show Popup Hints" +msgstr "Show Popup Hints" + +#: tfrmmain.mnu_lang.caption +msgid "Languages.." +msgstr "Languages.." + +#: tfrmmain.mnu_lang_en.caption +msgid "English" +msgstr "English" + +#: tfrmmain.mnu_lang_es.caption +#, fuzzy +msgid "Español" +msgstr "" +"Español\n" +"Spanish\n" + +#: tfrmmain.saveasitem.caption +msgid "Save As..." +msgstr "Save As..." + +#: tfrmmain.sb_editname.caption +msgid "..." +msgstr "..." + +#: tfrmmain.sb_editname.hint +msgid "" +"Update Zip Name:\n" +"Click this to browse your system to find\n" +" an existing Update Zip\n" +msgstr "" +"Update Zip Name:\n" +"Click this to browse your system to find\n" +" an existing Update Zip\n" + +#: tfrmmain.spd_checkurl.caption +msgid "Check URL" +msgstr "Check URL" + +#: tfrmmain.spd_checkurl.hint +msgid "Attempting to Open URL" +msgstr "Attempting to Open URL" + +#: tfrmmain.stringpackagefiles.hint +#, fuzzy +#| msgid "" +#| "Package Files:\n" +#| "[Add]: to make a new entry\n" +#| "[Remove]: Remove selected entry\n" +#| "lpk filename: i.e. mycontrol.lpk\n" +#| "Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n" +msgid "" +"Package Files:\n" +"[Add]: to make a new entry\n" +"[Remove]: Remove last entry\n" +"lpk filename: i.e. mycontrol.lpk\n" +"Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n" +msgstr "" +"Package Files:\n" +"[Add]: to make a new entry\n" +"[Remove]: Remove last entry\n" +"lpk filename: i.e. mycontrol.lpk\n" +"Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n" + +#: umain.rsabout +msgid "About" +msgstr "About" + +#: umain.rscompiledwith2 +msgid "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s" +msgstr "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s" + +#: umain.rsdownloadurld +msgid "- Download URL does not contain the zipfile name" +msgstr "- Download URL does not contain the zipfile name" + +#: umain.rsdownloadurli +msgid "- Download URL is too short or missing" +msgstr "- Download URL is too short or missing" + +#: umain.rsdownloadurli2 +msgid "- Download URL is incomplete" +msgstr "- Download URL is incomplete" + +#: umain.rsdownloadurls +msgid "- Download URL should start with \"http\"" +msgstr "- Download URL should start with \"http\"" + +#: umain.rsfilemaybeuns +msgid "JSON may be unsaved. Are you sure you want to quit?" +msgstr "JSON may be unsaved. Are you sure you want to quit?" + +#: umain.rsfixthentryag +msgid "Fix, then try again." +msgstr "Fix, then try again." + +#: umain.rshelpandinfor +msgid "Help and Information" +msgstr "Help and Information" + +#: umain.rshttpwwwupdat +msgid "http://www.updatesite.com/myupdate/mypackagename.zip" +msgstr "http://www.updatesite.com/myupdate/mypackagename.zip" + +#: umain.rslanguagechan +msgid "Language changed to \"%s\"." +msgstr "Language changed to \"%s\"." + +#: umain.rslpkfilename +msgid "lpk FileName" +msgstr "lpk FileName" + +#: umain.rsmypackagenam +msgid "mypackagename.zip" +msgstr "mypackagename.zip" + +#: umain.rsoneofthereq1 +msgid "One of the required fields is missing or wrong." +msgstr "One of the required fields is missing or wrong." + +#: umain.rsoneofthereqn +msgid "One or more of the required fields are missing or wrong." +msgstr "One or more of the required fields are missing or wrong." + +#: umain.rsoverwrite +msgid "Overwrite" +msgstr "Overwrite" + +#: umain.rssavedok +msgid "Saved OK" +msgstr "Saved OK" + +#: umain.rssaveunsucces +msgid "Save unsuccessful" +msgstr "Save unsuccessful" + +#: umain.rssorrycopyope +msgid "Sorry - copy operation was unsuccessful" +msgstr "Sorry - copy operation was unsuccessful" + +#: umain.rssorrythislan +msgid "Sorry, this language is unavailable at this time." +msgstr "Sorry, this language is unavailable at this time." + +#: umain.rsswassuccessf +msgid "%s was successfully copied to the %s folder" +msgstr "%s was successfully copied to the %s folder" + +#: umain.rsthelpkentryd +msgid "The .lpk entry #%d is missing the .lpk extension" +msgstr "The .lpk entry #%d is missing the .lpk extension" + +#: umain.rsthelpkentryd2 +msgid "The .lpk entry #%d is is absent" +msgstr "The .lpk entry #%d is is absent" + +#: umain.rstherearenolp +msgid "- There are no .lpk files in the list yet" +msgstr "- There are no .lpk files in the list yet" + +#: umain.rsthisoptionsh +msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" +msgstr "" + +#: umain.rsturnhintsoff +msgid "(You can toggle these hints on/off in the Help menu)" +msgstr "(You can toggle these hints on/off in the Help menu)" + +#: umain.rsupdate +msgid "Update" +msgstr "Update" + +#: umain.rsupdatezipnam +msgid "- Update zip name is too short or missing" +msgstr "- Update zip name is too short or missing" + +#: umain.rsupdatezipnam2 +msgid "- Update zip name missing extension \".zip\"" +msgstr "- Update zip name missing extension \".zip\"" + +#: umain.rsversion0000 +msgid "Version (n.n.n.n)" +msgstr "Version (n.n.n.n)" + +#: umain.rsversionentry +msgid "Version Entry #%d is absent" +msgstr "Version Entry #%d is absent" + +#: umain.rsversionentry2 +msgid "Version entry #%d needs to be of the form n.n.n.n" +msgstr "Version entry #%d needs to be of the form n.n.n.n" + +#: umain.rswouldyoulike +msgid "Would you like to copy %s to the %s folder?" +msgstr "" +"Would you like to copy %s to the %s\n" +"folder?\n" + +#: umain.rsyoumayneedto +msgid "(You may need to restart the app to see the change)" +msgstr "(You may need to restart the app to see the change)" + diff --git a/applications/json_packager/deploywin/locale/jsoneditor.es.po b/applications/json_packager/deploywin/locale/jsoneditor.es.po new file mode 100644 index 000000000..f7d125b3f --- /dev/null +++ b/applications/json_packager/deploywin/locale/jsoneditor.es.po @@ -0,0 +1,332 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"X-Generator: Poedit 1.8.8\n" + +#: tfrmmain.btnadd.caption +msgid "Add" +msgstr "Agregar" + +#: tfrmmain.btnadd.hint +msgid "" +"Add Package File:\n" +"The update zip can contain more than one lpk file\n" +"deployed to the same place.\n" +msgstr "" +"Agregar Archivo de Paquete:\n" +"El zip de actualización puede contener mas de un archivo lpk\n" +"desplegado en el mismo lugar.\n" + +#: tfrmmain.btnremove.caption +msgid "Remove" +msgstr "Quitar" + +#: tfrmmain.btnremove.hint +msgid "" +"Remove Package File:\n" +"Deletes the last entry from the list\n" +msgstr "" +"Quitar Archivo de Paquete:\n" +"Elimina la última entrada de la lista\n" + +#: tfrmmain.cbforceupdate.caption +msgid "Force Update" +msgstr "Forzar Actualización" + +#: tfrmmain.cbforceupdate.hint +msgid "" +"Force Update check box:\n" +"If this is checked the OPM user will be notified\n" +"of your update. Only check this if the update is important.\n" +msgstr "" +"Forzar Actualizaciones casilla de verificación:\n" +"Si está chequeada el usuario de OPM será notificado\n" +"de tu actualización. Solo activa esto si la actualización es importante.\n" + +#: tfrmmain.cmd_close.caption +msgctxt "tfrmmain.cmd_close.caption" +msgid "&Close" +msgstr "&Cerrar" + +#: tfrmmain.cmd_save.caption +msgid "&Save" +msgstr "&Guardar" + +#: tfrmmain.cmd_save.hint +msgid "" +"Save the current configuration to disk\n" +"as a JSON update file\n" +msgstr "" +"Guardar la configuración actual al disco\n" +"como un archivo JSON de actualización\n" + +#: tfrmmain.editdownloadurl.hint +msgid "" +"Download URL:\n" +"Include the FULL url needed to download the package Zip file\n" +msgstr "" +"URL de Descarga:\n" +"Incluye la URL completa necesaria para descargar el archivo de paquete zip\n" + +#: tfrmmain.editname.hint +msgid "" +"Update Zip Name:\n" +"This is just the filename (not including the path)\n" +"of your update zip. Type, or click the [...]\n" +msgstr "" +"Nombre de Zip Actualizador:\n" +"Este es solo el nombre del archivo (no incluye la ruta)\n" +"de tu zip actualizador. Escribe o haz clic en [...]\n" + +#: tfrmmain.filemenu.caption +msgid "File" +msgstr "Archivo" + +#: tfrmmain.fileopen1.caption +msgid "&Open ..." +msgstr "&Abrir ..." + +#: tfrmmain.fileopen1.hint +msgid "Open" +msgstr "Abrir" + +#: tfrmmain.filesaveas1.caption +msgid "&Save As ..." +msgstr "&Guardar Como ..." + +#: tfrmmain.filesaveas1.hint +msgid "Save As" +msgstr "Guardar Como" + +#: tfrmmain.lbldownloadurl.caption +msgid "Download URL:" +msgstr "URL de Descarga" + +#: tfrmmain.lblname.caption +msgid "Update Zip Name:" +msgstr "Nombre de Zip Actualizador" + +#: tfrmmain.lblpackagefiles.caption +msgid "Package Files:" +msgstr "Archivos del Paquete" + +#: tfrmmain.loaditem.caption +msgid "Load..." +msgstr "Cargar..." + +#: tfrmmain.mnu_filesave.caption +msgid "Save" +msgstr "Guardar" + +#: tfrmmain.mnu_help.caption +msgid "&Help" +msgstr "&Ayuda" + +#: tfrmmain.mnu_helpabout.caption +msgid "About.." +msgstr "Acerca de..." + +#: tfrmmain.mnu_helpdisablewarnings.caption +msgid "Disable warnings" +msgstr "Disable warnings" + +#: tfrmmain.mnu_helpshowhints.caption +msgid "Show Popup Hints" +msgstr "Mostrar Consejos" + +#: tfrmmain.mnu_lang.caption +msgid "Languages.." +msgstr "Idiomas..." + +#: tfrmmain.mnu_lang_en.caption +msgid "English" +msgstr "Inglés" + +#: tfrmmain.mnu_lang_es.caption +msgid "Español" +msgstr "Español" + +#: tfrmmain.saveasitem.caption +msgid "Save As..." +msgstr "Guardar Como..." + +#: tfrmmain.sb_editname.caption +msgid "..." +msgstr "..." + +#: tfrmmain.sb_editname.hint +msgid "" +"Update Zip Name:\n" +"Click this to browse your system to find\n" +" an existing Update Zip\n" +msgstr "" +"Nombre de Zip Actualizador:\n" +"Clic en esto para explorar tu sistema\n" +" en búsqueda de un Zip Actualizador existente\n" + +#: tfrmmain.spd_checkurl.caption +msgid "Check URL" +msgstr "Verificar URL" + +#: tfrmmain.spd_checkurl.hint +msgid "Attempting to Open URL" +msgstr "Intento de Abrir URL" + +#: tfrmmain.stringpackagefiles.hint +msgid "" +"Package Files:\n" +"[Add]: to make a new entry\n" +"[Remove]: Remove last entry\n" +"lpk filename: i.e. mycontrol.lpk\n" +"Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n" +msgstr "" +"Archivos de Paquete:\n" +"[Agregar]: para hacer una nueva entrada\n" +"[Quitar]: quita la última entrada\n" +"Archivo lpk: ejemplo micontrol.lpk\n" +"Versión: La versión completa (ejemplo: no 1.0 pero si 1.0.0.0)\n" + +#: umain.rsabout +msgid "About" +msgstr "Acerca de" + +#: umain.rscompiledwith2 +msgid "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s" +msgstr "Compilado con FPC V:%s y Lazarus V:%d.%d%s para la plataforma %s - %s %s%s" + +#: umain.rsdownloadurld +msgid "- Download URL does not contain the zipfile name" +msgstr "- URL de descarga no contiene el nombre del zip" + +#: umain.rsdownloadurli +msgid "- Download URL is too short or missing" +msgstr "- URL de descarga es muy corta o está vacía" + +#: umain.rsdownloadurli2 +msgid "- Download URL is incomplete" +msgstr "- URL de descarga incompleta" + +#: umain.rsdownloadurls +msgid "- Download URL should start with \"http\"" +msgstr "- URL de descarga debe empezar con \"http\"" + +#: umain.rsfilemaybeuns +msgid "JSON may be unsaved. Are you sure you want to quit?" +msgstr "JSON puede estar sin guardar. ¿Está seguro que desea salir?" + +#: umain.rsfixthentryag +msgid "Fix, then try again." +msgstr "Arréglalo, luego intenta de nuevo." + +#: umain.rshelpandinfor +msgid "Help and Information" +msgstr "Ayuda e Información" + +#: umain.rshttpwwwupdat +msgid "http://www.updatesite.com/myupdate/mypackagename.zip" +msgstr "http://www.sitioactualizacion.com/miactualizacion/nombredemipaquete.zip" + +#: umain.rslanguagechan +msgid "Language changed to \"%s\"." +msgstr "Idioma cambiado a \"%s\"." + +#: umain.rslpkfilename +msgid "lpk FileName" +msgstr "Archivo lpk" + +#: umain.rsmypackagenam +msgid "mypackagename.zip" +msgstr "nombredemipaquete.zip" + +#: umain.rsoneofthereq1 +msgid "One of the required fields is missing or wrong." +msgstr "Uno de los campos requeridos esta vacío o mal." + +#: umain.rsoneofthereqn +msgctxt "umain.rsoneofthereqn" +msgid "One or more of the required fields are missing or wrong." +msgstr "Uno de los campos requeridos esta vacío o mal. Arréglalo, luego intenta de nuevo." + +#: umain.rsoverwrite +msgid "Overwrite" +msgstr "Sobreescribir" + +#: umain.rssavedok +msgid "Saved OK" +msgstr "Guardado OK" + +#: umain.rssaveunsucces +msgid "Save unsuccessful" +msgstr "Guardado no satisfactorio" + +#: umain.rssorrycopyope +msgid "Sorry - copy operation was unsuccessful" +msgstr "Lo siento, operación de copia insatisfactoria" + +#: umain.rssorrythislan +msgid "Sorry, this language is unavailable at this time." +msgstr "Lo siento, este idioma no está disponible en este momento." + +#: umain.rsswassuccessf +msgid "%s was successfully copied to the %s folder" +msgstr "%s fue satisfactoriamente copiado a la carpeta %s" + +#: umain.rsthelpkentryd +msgid "The .lpk entry #%d is missing the .lpk extension" +msgstr "La entrada .lpk #%d no tiene la extensión .lpk" + +#: umain.rsthelpkentryd2 +msgid "The .lpk entry #%d is is absent" +msgstr "La entrada .lpk #%d está ausente" + +#: umain.rstherearenolp +msgid "- There are no .lpk files in the list yet" +msgstr "- No hay ningún archivo .lpk en la lista todavía" + +#: umain.rsthisoptionsh +msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" +msgstr "Esta opción debe ser usada solamente para actualizaciones cruciales o paquetes con arreglos de bugs. ¿Estás de acuerdo con esto?" + +#: umain.rsturnhintsoff +msgid "(You can toggle these hints on/off in the Help menu)" +msgstr "(Puedes cambiar estos consejos en el menú Ayuda)" + +#: umain.rsupdate +msgid "Update" +msgstr "Actualización" + +#: umain.rsupdatezipnam +msgid "- Update zip name is too short or missing" +msgstr "- El nombre del zip es muy corto o está vacío" + +#: umain.rsupdatezipnam2 +msgid "- Update zip name missing extension \".zip\"" +msgstr "- El nombre del zip no tiene la extensión \".zip\"" + +#: umain.rsversion0000 +msgid "Version (n.n.n.n)" +msgstr "Versión (n.n.n.n)" + +#: umain.rsversionentry +msgid "Version Entry #%d is absent" +msgstr "Entrada de versión #%d está ausente" + +#: umain.rsversionentry2 +msgid "Version entry #%d needs to be of the form n.n.n.n" +msgstr "Entrada de versión #%d necesita ser de la forma n.n.n.n" + +#: umain.rswouldyoulike +msgid "Would you like to copy %s to the %s folder?" +msgstr "¿Quieres copiar %s a la carpeta %s?" + +#: umain.rsyoumayneedto +msgid "(You may need to restart the app to see the change)" +msgstr "(Quizás necesites reiniciar la aplicación para ver los cambios)" diff --git a/applications/json_packager/deploywin/readme.txt b/applications/json_packager/deploywin/readme.txt new file mode 100644 index 000000000..67ddd7523 --- /dev/null +++ b/applications/json_packager/deploywin/readme.txt @@ -0,0 +1,16 @@ +README FOR External OPM JSON package Editor +=========================================== + +* This application is for component writers who wish to publish updates for the Online Package Manager. + +* The update is packaged in a ZIP file, and uploaded along with a configuration file in json format. + +* The json file can be manually edited, but this GUI application can make and edit the JSON file so that it is always correct for OPM. + +* On startup it will create an \updates folder which can be used as your deployment folder for the updated app. + +* By default, it will start up in either Spanish or English (depending on your setup) and this can be changed via the Help menu item "Languages" + +* On first run only, it will show tooltips to help you understand how to fill out the entries. They can be re-enabled at any time in the Help menu. + +:Dec 2016 diff --git a/applications/json_packager/deploywin/readmepreinstall.txt b/applications/json_packager/deploywin/readmepreinstall.txt new file mode 100644 index 000000000..0053ccba6 --- /dev/null +++ b/applications/json_packager/deploywin/readmepreinstall.txt @@ -0,0 +1,6 @@ +Choosing an installation folder +=============================== + +* By default, this app will install into your Program Files folder. + +* A better place to install it is in your development folder - where you have your component code \ No newline at end of file diff --git a/applications/json_packager/jsonpackage.ico b/applications/json_packager/jsonpackage.ico new file mode 100644 index 0000000000000000000000000000000000000000..44718deee631edb3813d4e3a74afb566d05b2323 GIT binary patch literal 117871 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 literal 0 HcmV?d00001 diff --git a/applications/json_packager/jsonpackage.lpi b/applications/json_packager/jsonpackage.lpi new file mode 100644 index 000000000..be1a8b27b --- /dev/null +++ b/applications/json_packager/jsonpackage.lpi @@ -0,0 +1,240 @@ + + + + + + + + + + <ResourceType Value="res"/> + <UseXPManifest Value="True"/> + <XPManifest> + <DpiAware Value="True"/> + <TextName Value="CompanyName.ProductName.AppName"/> + <TextDesc Value="Your application description."/> + </XPManifest> + <Icon Value="0"/> + </General> + <i18n> + <EnableI18N Value="True"/> + <OutDir Value="locale"/> + </i18n> + <VersionInfo> + <UseVersionInfo Value="True"/> + <AutoIncrementBuild Value="True"/> + <MinorVersionNr Value="1"/> + <RevisionNr Value="8"/> + <StringTable Comments="Buld configured for Win Linux and Darwin" FileDescription="An editor for OnlinePackageManager update JSON files" InternalName="jsoneditor" LegalCopyright="(c)2016 usernames lainz and minesadorada @ forum.lazarus.freepascal.org" LegalTrademarks="GPL code" OriginalFilename="jsoneditor" ProductName="Lazarus and Freepascal" ProductVersion="1.x and 3.x"/> + </VersionInfo> + <BuildModes Count="5"> + <Item1 Name="Win32" Default="True"/> + <Item2 Name="Win64"> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="compiled\win64\jsoneditor"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <CodeGeneration> + <SmartLinkUnit Value="True"/> + <TargetCPU Value="x86_64"/> + <TargetOS Value="win64"/> + <Optimizations> + <OptimizationLevel Value="3"/> + </Optimizations> + </CodeGeneration> + <Linking> + <Debugging> + <GenerateDebugInfo Value="False"/> + </Debugging> + <LinkSmart Value="True"/> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + <Other> + <CustomOptions Value="-FcUTF8"/> + </Other> + </CompilerOptions> + </Item2> + <Item3 Name="Linux32"> + <MacroValues Count="1"> + <Macro2 Name="LCLWidgetType" Value="gtk2"/> + </MacroValues> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="compiled\linux32\jsoneditor"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <CodeGeneration> + <TargetCPU Value="i386"/> + <TargetOS Value="linux"/> + </CodeGeneration> + <Linking> + <Debugging> + <GenerateDebugInfo Value="False"/> + <DebugInfoType Value="dsDwarf2Set"/> + <UseExternalDbgSyms Value="True"/> + </Debugging> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + </Item3> + <Item4 Name="Linux64"> + <MacroValues Count="1"> + <Macro2 Name="LCLWidgetType" Value="gtk2"/> + </MacroValues> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="compiled\linux64\jsoneditor"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <CodeGeneration> + <TargetCPU Value="x86_64"/> + <TargetOS Value="linux"/> + </CodeGeneration> + <Linking> + <Debugging> + <GenerateDebugInfo Value="False"/> + <DebugInfoType Value="dsDwarf2Set"/> + <UseExternalDbgSyms Value="True"/> + </Debugging> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + </Item4> + <Item5 Name="Darwin32"> + <MacroValues Count="1"> + <Macro1 Name="LCLWidgetType" Value="carbon"/> + </MacroValues> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="compiled\darwin32\jsoneditor"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <CodeGeneration> + <TargetCPU Value="i386"/> + <TargetOS Value="darwin"/> + </CodeGeneration> + <Linking> + <Debugging> + <GenerateDebugInfo Value="False"/> + <DebugInfoType Value="dsDwarf2Set"/> + <UseExternalDbgSyms Value="True"/> + </Debugging> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + </Item5> + <SharedMatrixOptions Count="2"> + <Item1 ID="547331342457" Modes="Darwin32" Type="IDEMacro" MacroName="LCLWidgetType" Value="carbon"/> + <Item2 ID="825864852453" Modes="Linux64,Linux32" Type="IDEMacro" MacroName="LCLWidgetType" Value="gtk2"/> + </SharedMatrixOptions> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + <CommandLineParams Value="--lang es"/> + </local> + </RunParams> + <RequiredPackages Count="1"> + <Item1> + <PackageName Value="LCL"/> + </Item1> + </RequiredPackages> + <Units Count="3"> + <Unit0> + <Filename Value="jsonpackage.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="umain.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="frmMain"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + </Unit1> + <Unit2> + <Filename Value="ugenericcollection.pas"/> + <IsPartOfProject Value="True"/> + </Unit2> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="compiled\win32\jsoneditor"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <CodeGeneration> + <TargetCPU Value="i386"/> + <TargetOS Value="win32"/> + </CodeGeneration> + <Linking> + <Debugging> + <GenerateDebugInfo Value="False"/> + <DebugInfoType Value="dsDwarf2Set"/> + <UseExternalDbgSyms Value="True"/> + </Debugging> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/applications/json_packager/jsonpackage.lpr b/applications/json_packager/jsonpackage.lpr new file mode 100644 index 000000000..dbad6d1bb --- /dev/null +++ b/applications/json_packager/jsonpackage.lpr @@ -0,0 +1,31 @@ +program jsonpackage; +{$ifdef Linux} + {$ifdef FPC_CROSSCOMPILING} + {$ifdef CPUARM} + //if GUI, then uncomment + //{$linklib GLESv2} + {$endif} + {$linklib libc_nonshared.a} + {$endif} +{$endif} + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Interfaces, // this includes the LCL widgetset + Forms, umain + { you can add units after this }; + +{$R *.res} + +begin + Application.Title:='External OPM JSON package Editor'; + RequireDerivedFormResource:=True; + Application.Initialize; + Application.CreateForm(TfrmMain, frmMain); + Application.Run; +end. + diff --git a/applications/json_packager/jsonpackage.lps b/applications/json_packager/jsonpackage.lps new file mode 100644 index 000000000..2300e8416 --- /dev/null +++ b/applications/json_packager/jsonpackage.lps @@ -0,0 +1,223 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectSession> + <PathDelim Value="\"/> + <Version Value="10"/> + <BuildModes Active="Linux64"/> + <Units Count="11"> + <Unit0> + <Filename Value="jsonpackage.lpr"/> + <IsPartOfProject Value="True"/> + <EditorIndex Value="1"/> + <CursorPos Y="30"/> + <UsageCount Value="53"/> + <Loaded Value="True"/> + </Unit0> + <Unit1> + <Filename Value="umain.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="frmMain"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <IsVisibleTab Value="True"/> + <TopLine Value="348"/> + <CursorPos X="18" Y="369"/> + <UsageCount Value="53"/> + <Bookmarks Count="1"> + <Item0 Y="459"/> + </Bookmarks> + <Loaded Value="True"/> + <LoadedDesigner Value="True"/> + </Unit1> + <Unit2> + <Filename Value="ugenericcollection.pas"/> + <IsPartOfProject Value="True"/> + <UsageCount Value="53"/> + </Unit2> + <Unit3> + <Filename Value="D:\Lazarusprojects\golfml\egacalculator\source\umainform.pas"/> + <ComponentName Value="mainform"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <EditorIndex Value="-1"/> + <TopLine Value="541"/> + <CursorPos X="3" Y="544"/> + <UsageCount Value="13"/> + </Unit3> + <Unit4> + <Filename Value="D:\Lazarusprojects\MDSUM\CryptINI\trunk\cryptinilpk\cryptini.pas"/> + <EditorIndex Value="-1"/> + <UsageCount Value="10"/> + </Unit4> + <Unit5> + <Filename Value="D:\Lazarusprojects\MDSUM\CryptINI\trunk\latest_stable\cryptinilpk\ucryptini.pas"/> + <EditorIndex Value="-1"/> + <TopLine Value="1376"/> + <CursorPos X="55" Y="1411"/> + <UsageCount Value="15"/> + </Unit5> + <Unit6> + <Filename Value="..\..\lazarus\lcl\defaulttranslator.pas"/> + <UnitName Value="DefaultTranslator"/> + <EditorIndex Value="-1"/> + <CursorPos X="53" Y="29"/> + <UsageCount Value="14"/> + </Unit6> + <Unit7> + <Filename Value="..\..\lazarus\lcl\lcltranslator.pas"/> + <UnitName Value="LCLTranslator"/> + <EditorIndex Value="-1"/> + <TopLine Value="517"/> + <UsageCount Value="14"/> + </Unit7> + <Unit8> + <Filename Value="..\..\NewPascal\lazarus\packager\registration\registerfcl.pas"/> + <UnitName Value="RegisterFCL"/> + <EditorIndex Value="-1"/> + <TopLine Value="24"/> + <CursorPos X="42" Y="37"/> + <UsageCount Value="10"/> + </Unit8> + <Unit9> + <Filename Value="D:\lazarustrunk\common_components\onlinepackagemanager\onlinepackagemanager\opkman_mainfrm.pas"/> + <HasResources Value="True"/> + <EditorIndex Value="-1"/> + <TopLine Value="22"/> + <CursorPos X="12" Y="23"/> + <UsageCount Value="10"/> + </Unit9> + <Unit10> + <Filename Value="D:\lazarustrunk\common_components\onlinepackagemanager\onlinepackagemanager\opkman_mainfrm.lfm"/> + <ComponentName Value="MainFrm"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <EditorIndex Value="-1"/> + <CursorPos X="6"/> + <UsageCount Value="10"/> + <DefaultSyntaxHighlighter Value="LFM"/> + </Unit10> + </Units> + <JumpHistory Count="30" HistoryIndex="29"> + <Position1> + <Filename Value="umain.pas"/> + <Caret Line="365" Column="83" TopLine="342"/> + </Position1> + <Position2> + <Filename Value="umain.pas"/> + <Caret Line="319" TopLine="316"/> + </Position2> + <Position3> + <Filename Value="umain.pas"/> + <Caret Line="471" Column="52" TopLine="467"/> + </Position3> + <Position4> + <Filename Value="umain.pas"/> + <Caret Line="319" Column="3" TopLine="317"/> + </Position4> + <Position5> + <Filename Value="umain.pas"/> + <Caret Line="331" Column="39" TopLine="328"/> + </Position5> + <Position6> + <Filename Value="umain.pas"/> + <Caret Line="431" Column="3" TopLine="429"/> + </Position6> + <Position7> + <Filename Value="umain.pas"/> + <Caret Line="315" Column="33" TopLine="305"/> + </Position7> + <Position8> + <Filename Value="umain.pas"/> + <Caret Line="712" Column="30" TopLine="677"/> + </Position8> + <Position9> + <Filename Value="umain.pas"/> + <Caret Line="463" TopLine="440"/> + </Position9> + <Position10> + <Filename Value="umain.pas"/> + <Caret Line="140" Column="70" TopLine="122"/> + </Position10> + <Position11> + <Filename Value="umain.pas"/> + <Caret Line="25" Column="13"/> + </Position11> + <Position12> + <Filename Value="umain.pas"/> + <Caret Line="306" Column="3" TopLine="271"/> + </Position12> + <Position13> + <Filename Value="umain.pas"/> + <Caret Line="35" Column="35" TopLine="13"/> + </Position13> + <Position14> + <Filename Value="umain.pas"/> + <Caret Line="371" Column="25" TopLine="353"/> + </Position14> + <Position15> + <Filename Value="umain.pas"/> + <Caret Line="380" Column="44" TopLine="360"/> + </Position15> + <Position16> + <Filename Value="umain.pas"/> + <Caret Line="386" Column="2" TopLine="359"/> + </Position16> + <Position17> + <Filename Value="umain.pas"/> + <Caret Line="2" Column="28"/> + </Position17> + <Position18> + <Filename Value="umain.pas"/> + <Caret Line="140" Column="44" TopLine="114"/> + </Position18> + <Position19> + <Filename Value="umain.pas"/> + <Caret Line="362" Column="58" TopLine="357"/> + </Position19> + <Position20> + <Filename Value="umain.pas"/> + <Caret Line="360" Column="121" TopLine="337"/> + </Position20> + <Position21> + <Filename Value="umain.pas"/> + <Caret Line="361" Column="39" TopLine="349"/> + </Position21> + <Position22> + <Filename Value="umain.pas"/> + <Caret Line="360" Column="70" TopLine="337"/> + </Position22> + <Position23> + <Filename Value="umain.pas"/> + <Caret Line="361" Column="58" TopLine="337"/> + </Position23> + <Position24> + <Filename Value="umain.pas"/> + <Caret Line="33" Column="22" TopLine="20"/> + </Position24> + <Position25> + <Filename Value="umain.pas"/> + <Caret Line="658" Column="77" TopLine="634"/> + </Position25> + <Position26> + <Filename Value="umain.pas"/> + <Caret Line="659" Column="77" TopLine="491"/> + </Position26> + <Position27> + <Filename Value="umain.pas"/> + <Caret Line="388" TopLine="357"/> + </Position27> + <Position28> + <Filename Value="umain.pas"/> + <Caret Line="145" TopLine="137"/> + </Position28> + <Position29> + <Filename Value="umain.pas"/> + <Caret Line="465" Column="23" TopLine="461"/> + </Position29> + <Position30> + <Filename Value="umain.pas"/> + <Caret Line="311" TopLine="303"/> + </Position30> + </JumpHistory> + </ProjectSession> +</CONFIG> diff --git a/applications/json_packager/jsonpackage.res b/applications/json_packager/jsonpackage.res new file mode 100644 index 0000000000000000000000000000000000000000..68d1a6b581cf09c9cec1ad1dbb50c2e6fb8f2a0e GIT binary patch literal 120820 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⩔h=ZpGNz-4#*AX2@>04Rb&MZ8U3>B@+Mr`X zn0Z1qT*HVLNu$Gr+E1xs4u2&(dbLBTLpIrSob~ZM?bArL)<!9nvi~JzXrl*%Na!j{ z=qI|7%#*g{jhRWYkqrrBb&yYbi>%IE`)2g)<%XPm*{78^nVY2)ykmQeV`5X49~at( z*|QuDW5UeafOULiVJ^P$tgkAxjxfu?=$=C1Nk24HiXn$96w0i2mTU>@owr3%xx$(n zip=B)t<&oo9CKGlnRIa_`baq|U5a^Nk;auWVFEuLH|0p}^Y!uFoS(aKlR{DdaA2EB zLqMm*3#oKNl3AAErcgxDa@xG+99g(gsW6{=;RBX}KZsZQltw4$j2Az)Rd!;lkEXNv zuoawQdpIu%f7LBVN(|{A{;<uK3>nmZ>zj<JPH~x^fRPrwF&8t!<3v3(-=avUzmOai zx~|3^5OA|(#!;{Q@sZ!$*4tVfv;eRQOG5hEH7tSB$rG2w<iX*2FKY2i^K>}*ZZ#pe zey-OS+?{6D9o7+t_plWmNok@?21gPUcFGYx6fTU$Ag2648K0bzq<=7FAoXEXG*z+L zovE~67c2E}^NWWed277fY{Ak(0jcDpZx7IdUj|I4kTrzJp{^K|jJyRImS5HS&0Vmd zbsRQ6VhYb%tomyGi{OAo_oRD3?Wr!gHvF8Y!dyp6UEtKVD%8ER;ypTXe$WPacENR_ zxYO#um%$AcI`R)s4$d}>!+1%l#zhCF*NkbkIHJW4#b=8YI@N49F)Y*z@3S|Ca6zv= z%XTJi<~8iyy6z70YMt8>nc$-BAxB;?<a=blYyTY*)H$)ZD-I=`NT88%EoGu0f5iQ6 zM3Ta-SO>(rLb*u>Mj&rF-kHx)4kqR_VOV2Rk+)#BOt_$R1Go4jHrJK6;+yv>FHqlX zxi*L^p_$jscS6WX(BGy(k$mrJh(Cuk#^^$?B6==i$BzC_>`1l)=b~<Orw~P`oha_S zs$z?&uxFbqt3)}iRF%%oZXOOozkGYt;TeiguTuI%$8EWCsz$F~DqiPtedQMRnca*r z@+2Xp<3401<x*KERAD(H$uxjhUBnWSvn<9y2kk_%_WM+`>Sm|5nsk^q+4Hm}7{T#0 zX1!Zc1E<EvAo-JSCzrR}zR#s|C%2urMaB9ri7DxKcl$3&h;C2`%{(Tjk@B)9%h6^d zD3ZGd*LfyV?{Ucrs)xx!68N6tUIcy!@uu+Z2qefXHvV!iMVlOdq{FV-L_TPC>lE-B zc8HZ{97u^21@Y@qB7wFnPXBdwY?-SQ?F$@+@PuccT5|`88Sz~yYzvJJW}9k%oqIzv z5yaokCL{}4vcu{NF^MKQdQUDZe=RXV(B>E#U!~tlrcb1s_O%9u+DZV4HggrVvTT@c zSkr9B`%)-#qtwfMi{L`EtyRrVY=>sGA^#n>*9*lWYUVdFxM>uYx`gD#6i9R__(@=i z%EeU(;;c(Z(?Z2%`V(%k4YpZO7#=yr{jJIUmVwOz@brDgv;Kh*Rue(nZ&Q!yv|w@{ z8J=Y^$hMFZ>61cd8c{uSNsU`d!~FPYH3d<Q8}WKT3;fk_$(<ngYy03*y~yGD;0ZL7 zC^96T&sfp(r6GIq?MlfODdFZ$`LA@fABo~w7sXpzoHr;umo`mR3FFCql4Z?pE)7xW z2(>`oue#@)Uacc6?`QF(j-2_G?1#)>w-7MgmoARSQL#KnunDx6hEPgLKSH_fzqCC( z&)B6}tarfZMR9!e4)PkKYH|kmjCzmGPMq#r>kGO0U^>5F^NF{KTVb$}=cE<o`I=kS zWmZCiEsrpJy1>#Y{i4m6goV$?p075PyfHv2$im{~yaz74*7@DdVctB-pVdfeQ$@gt zVTC7U7bAyDH%MN^_0E8VjWvHFp6|SQ(Id_L`H$?Djk=~xSswF%8iCr;=XzOtzUL1) z6P$7v1eHkd@u|WMl#q^Khyy45%0BH>B69c8VT$##<}e`Z)@@4LoQ8{&Aph{CE_I3T zm~deXXI9hTfv~vvx2?Sx8#F`J)#e<%<2s(ig$c)A-&1p<C$+QutOisqiuuu-PIeH7 zi~{D*wYA0(efI4tW)lsy?2$MRKApuOF%J6IFWK|0q#t~DchQ@A#~+i0wI_7LJ8`8A zza=Lk92&4bz2tjj^mt65QPN)aLVSgVFJE-sL^(S=Cr6q@oNj>*=78cu!AUb4FkG~R zj~S@F=&|71ZM{w7PeA)^I&17XA<HC{w)IImMNqa*mwQ|RE@{u3&SW~e$5GI?pVe#E zd_>cst8K;k;x_jk&2xFXMsFxGyGF6e*|6><Kl`Q9H6&SFotaX^jdP|toyqdMYj9hg zh)*>+C~@vLrxVH4bGSuUVsd!<t|7LQ#@U*%MUamN?uw^&HDY{bH=jq~Rv9<l2(8Br zzT)Oe=a_cP-)nECXi^<JLJ@-azE}x`SnCq1Tb^|hf{CLD<ZRlLTf|jlgX_tA(js|~ zSM0EEOXCnWdiAQ^Onp>4*kENg6|S}p4eM=is4O&Pm*xl(o^;WVuK}(6<ne|4CYPN{ z;+x>1N(#F^PR=h|$8U-CTN+?Vnll+}N0{e_rv&lxl_XHgHG(BWlw<1Ozqo&T8aQJ2 zLrSh0_z*VkKg&)&Zi1y^pC+(nK;^gPaU~Ac6WD0XR!P$ugB~bA9vYx&IoleC{g9GP z-3K9F@oaz6hMhY}ta<WsHivbkMcDr^exPjWM57|MnSErA5)gINDojfF(LPFvapf{Z zqKr^8NPag=HnfW07nTw{?6D6ocv}o4iQF0jj1r;Dbwz&04X$h1E)3}n-V<7JFwfkV zs3lMomhdG1ux$-|d9&egi`>ZWe2{R?spD~rfvZg+ZX8$zy`JkW#&B}j+mH%WNXeIB zZ93vi^X@H43oKP5R4reLl*Iey<M@N0`i(q;cC>FbL1Df00;={uzcN8&=5{DCqUbQi zuY|<=D^yG^9Py+tug-4wSYst$I+kznXZl5j!&cm9{Ip|>Ka~1@d~W>Z*q?=(j^>{1 zWGU5?_r65xTBV=ZrQnvVj$ILqQGyZ44<LsPUo`SU*eXIb?Ob(zNKQ4;e{$Ai43qXM zfmTs7&4G^;X4KX-L$OHW9ns=Q?m02Q<vVWPz$7VH$U7_CiHK0zWLireJ5qti@HIer zA~kV)sR|k`=O)rh_^9IYZ3M>Jpb(w2H0c510k_YH@3(5?)(nt-($F!MZ=zrQW0Wly z@aV@Py4CxgnQ=?eqmmL|;1uSr_NqhVWNd8X!n;HZC$fI5BYujfeaW@J8@(~zxTk_e zNQ#9*3PBOJvM{E8nwBoS{S_nilSuzX`j4i*?zL4ZLt1w2pTyzCSkpUGU)v+`7#H}{ z4ZG;{))OZ@PK>qeEb5N~P(s{R!=QXR=eZ(=_S9={J>DWKX-5|1S)ecOPkRhbb<4#2 zyzpEttq@`X3k+cN+XPxe9Hrsd6FQOSr63&Jtj_7(eD39e%M~ZbkfDn-W%b|TvC1Ho zRn*9t@E8@ha5m*vxm*S5acrbY1Mx2#v2f=M`zfOAevnIu!<KgkdftD%eN*~cx>K1v zVz#N82qP-ty;tQbi_S95$MCiZ^sYHx!^>a_6FBZ*Q+dEJVjMr(gha4tsCaaJzyHdL zFEYo?y=|f(Sh|AkbJuhNIu*t1_YdN61>nR<j=yDU=K9ma%mq9Y8jWhp`9U0D$XFPw z)W^vUEW%PPMH%?@C@Gr(%`Ru(zVajab6f<SSxH{-Mja{*!CT5*?y&bH?^$LAy}27P zjwS8o0?3&^hQGAs!4N+xH_zw2rGwF;pOFlDZi*>>rP0fxP}L|)V_(du(oN;9!;*Zk z{{1^jzu(*^j&}VR-fnRGjME6~dkV6atO2Zop2zveUu?6G9`+UbXo%G&T&VHZJ&rzf zn`h4lN86RpPp!H8G&_F01@))#fJazLJY@PhhT2Jdqt`aM%M4bc1649KmRn>Aqnu{3 z7)SE8$0{(zYTmpUxP6yj__LG8gamv=q%+hTtXPwkrd6DUN*?TJlSV+udXMd17?wGC zzI(ty5>(wGd3{9)(@+I#GW;zxN!nj6xVb*wsIRSlR8WV^EtDTl#g>ImPSyf`xQfbq zX&V>ua-fCu<NntO_|#Eh595~8ir-Vey~@5M9Hdm9j9Oys+#J>d)nk;(PrgHtVAK4y zZK<`*18N=#V`ET2Kcbp+pu}gl7-Yj5_*0iVbR(W_OaI|!Jfjaa%K*XPTlz5!CbraW z=?A=RN~z=Azr*%H^)4v)M@8Rn9O|RR8Hee(g$l3M4QiTC@$CPq$e7|TNTu%;aabd3 z$i7N1cSe2jL7`KAZNV8x^5qYYleh}5vNGg!CDh_LM{hR~dlMWclj!go>uf7>Z<ZOO zoZQs`!;TMoYn!@rPAMfD#XpjIuOC64+n5N6N6xBlP_pJ6)yHez2+4=clZZ>o(p9?P zjb7}gooYE4y)Q09zNID$sgHbo%=0!xX(n84k#9|ypbx@a%S$HcT%5qHMDy#DJ6&HL zJL*zl$$-9NOj9+n{)k_A#{D4F^>$^ha|+{0>MMWKvEXJO^1b|rFNJ=+?x&|Gv=jHv zAKf9drliW^`4wuq8xpjeWter@D9<9i;4qLJ;UHyhy%7BJz_w&u>!KaZR0-r!R77sE zD5DCg{jn_bt#3rvG(p3aT(R7V>bEc+C1Th|8p6CLR2$A`bsKa8WGvw?_~KTNvKIRB zn}8Qz?2evGt}Du#FZ!>23pN+8qT^aYx8B?voKzU-$en;!>NXLQErI6`1u$wT<mJ8H z#EWPt-UpK7vus?FX!T}IZIGw(2$dqAJ;nZ!?};-!2YSGqJGE5%I7@wD{LOA;v*dhF z);-jjKIvyAx)-fZ6zjKYEXOMDXbsXY(wcN|sVQlA-^=|vg~JMiehCQFI`OsR$pjgv zOYn8<+Xm8e86S3Ueg=g4gmyL{7nX1TuDYZjd>(-Oxcn{R&FlOrFYY&ri8HB}F|4on zsb79y|1cmE6<HQ4JrgF0)BiGoyz6x>Jx3FaJ(2AOhQu20K_|ruowj0aQmuTU2n!ia zKxdW68A47e$`)ykch=b$$J&2A{m%LQOEI%@<kRv4?XZkc4w*!PSVQNYae?If0#rW@ zNAh)=_w_qwSyYsMcQ{vxbpp@7<Y<#5XFD1VH&n;{Uez@XBD5wC2$`R5<ho0$|9C0R zr0O@z7^5X5&UP|k_iew6R;f4`!Fl`aDs(Dg!Vpa*%TvJBJXyJRP&$k9iv%P1jWi^S zf*x*pw%;_>4jo;`P%*gTH7kE&L?}>O6ss^o{0y%9^w0oJ#2=y{{zTG0@bzL&R_T*R znlI?{F>WGE&syJ$e7`U7Wn%g69nPLUX!F>a>1<?dV@!r>_UZP%vT=xkiun~D8C3!# zJ5E^G5A$O@Yb~|+q5HR)^><1mxlmT#k4Fk^8aG|ijs*;wa8Gek-Ye}7VHB$x;$Hm= z<nIs*@3YM*>TR^L&qoNJdhE`8d8`y23+*>YGkPDR`6*o(CH3}I!vthyf6*!)3nExU z49*y1_H;Z;VW$f)ru&)7P*XeacY|>|IvpvGhFW@I*3fivIJTjBA8SB2ge5p+B%>}V z$$bwyYM=Z1hNxx4K}ZyaZTbScxbTAt@93kcZ?X%Vj63FXy!D`=XorwmCv*j@!3sjA zdZ@YYmxdv;t11V^dPPZ<MYJM+gLN7HIg+r~+bix*x?YQ*_Pv0-=(jtKaND6Qu9M?b z7r|R%=?Si`J%KE*Yn5zz0;xjGQpa2j{oIx6_}6kpq~praK4`+)z#K!RY8XP!C$uXh z)-Jzc*(14i5*gI_+LCaF^6M!4CJn0pZD!(F=YhHsOsdWvpN#y}L>%)F7jKgcwPG?t z%yuSJj!cx27>)u)1oZsy(!@Z=AuHzrzk0Sy%V;3o>`zP;<;17GjS{S#PUrW*^{`CS z&cf=~In@=fa^la`(rs6&I*CPxMe=7@dm<)D7b=r}a{4h4`-PHE{t#9<+-R0_r^>k} zS$@x74F~y08o_sFCLE^U{t(};AAX=8fs<AhGk=298&Sy$9z8&at~h81caxZ&ozbUJ z=pSZ3L(Tq4mEYjNCJ#|!O4-C{#`O+}v2U!SYJL35qQ0*<FbY^@Cc=Yle%yoNADf=H zK#ecc{j4wv+iD;<<FF3>(m_QnwHp6?CUN@Oq&L1UAd&14Thi+&irawnI?(+&Q02<K z+)x~j`>4i}klbthEIcxYAD!i^lKl(l*DB)@317!=I1W%BPg>AX;6j?J87&gL-ZU^~ zm(w0`By;<oalt3v-4bN-376^x6L1F?&9~ja8>(Jg`_v`&#l4jjf(m6$i?wH#P{z4^ zeOQh;bR``L4f$AwV$E%(X8$W&yj<E(C(ObkE9qlo*8w8JJ*~&*fkemXD1zR4qnNV9 zFYr0ma0@Ex(rV%fkyV|MAS5iLiqyjV{Hc!kiGtY{aq-Yf{$~F9>bGN1F)2vry1el? z-?_;}h$!wkMga%+Etw(a_rh7seYWdvaR%S^kZ`O1^$!*=%1Ga%<5Y$kKx;G|>xHT% zqHzX2@{ziVY$;Fa>1)livwnz(O9dqqm3I{`7do<&e|~N&_`-`wE|p{ay>e=j!;b}4 z>5LzQzi2E3o03mN5+>{CzvDf;LQflG+2=OHXs3F6JM3Yv@nqMtU|3DQajZtR@i;7d z(<C%q0a;ZnUgYnW$q~m*?iaX45QkGU*%bFR>|h^hb*Ma0`RyJ@5Bf7zWLQxEULq5C zBV(#_+QY(%LOp0wWPLl66NR4Zi?~6)SVs0zgRz|Xfed!CyL-G(;$lZEmP`|+I>9-8 zq{Q&|xf;G$HpH#iuQ*>+4>nlWV~2}nGUBU7n;kDbrx-1XOiT}E0r<y~B!tYx;$;EF zcI35;f>;c~a82tMDZD-~on&Rc2^pw;c8Jq0WpmL|K&XEqUYuc{AAB*<V6M(b$6-Bo zR?spZSria;aAHtFPxjfbA$pc-u%ACn{j+_&4c_gKdUY{{`wsL!+muIxo2^kmK03GF zVFl*|lnFa6LF{WNaqg)4X^KvJ<wutU6#XnQlDUIIGLzaU{=mAP#_!vb54<&}Ce-gi zFV8xDiWLex?>d^ZPnBt}*8IdEu?d(@sFM<&DQ{3uClG2a)<WyJD!?2foNvQu#HgaI z{J74jsZAh4HR0nIck1SUc|LxfU!<(&aa4X8b6#e1c##LUD_qLASLS>Rx*EiGqgebc zmOHWc0w+YMdTtI!s+m2(r5vRv5+?QZC-n>u<71nPHeCAJqw|E@bXwMQ3X~Z~Mt{?T zZ7IVk<oyeYp^aQDqGu?ZZqfd}qh6P!z`FU4FCO)#fjyr_usv*K%S4p8WB9>TQAh}q zB4|5Uk?CqDVXle<Yj2zj9}T8RI?NVKqv)<w(;5AmDZ4f}?bK?R(l=wMtO=tyi0dg< zzimDds@7#iSGNJq+P#P_9zwSRBDJVr8Dob^V_e^f-;%U|nc)ghtzYi;m?EiW@L{n@ zo)VH@v!Ef+FB(S2ok_zI+HTz(Bi%E_qitORcAQgh91{hQPz?^5PM?2%=|v}nY~FIb zLyoY7f1b_7y}Sf;^0q@<ztf=<+Hz@c&|>$|Pa)+hl#OhkY-RY;lSsm>`}fv^9*+A{ zNSkMG5A(8lUilw*FR117uZ=Y0l7tj|zhu5ud!E^nQU9hdfz8h^_Y?8wjz}ySft<<8 z{cvmvuc_VNPg5Mk4|m6$2VWMJb&kJ|YmcdadwBrqdY80P(`5MWiL?5^#2f7@FgODo z6_ZpX^L|lO5UPylkLgRnZA8*WLC{k579*n>j0mX}6%V#>0nJF8KWP@lpf@MwIPXwI ztp0F*Fd~_4idl?!Y+5(}+_Ewa5kG!ybB~jwx?R*-AF8_IL#I{K+wY0$_}P92pHpHL z_}NP@!BiiVsa#$z;Tm?qHJ9^=h`aPOE;|pMwyU{5!1%<?M?qAy-~R#a#)A)SPq1TQ zZ!w;!j?_aeir(ax$M=kopw^QPTmF)8J=n>`$ak}!XD83zEp#sIEF98ex&AS`%QoR8 z_e>@8o>suF5GMFtwN$%QYqe9u_iI!$&340&;c~i@>>8Pyv9uLz8#)BtSABkgn>kXS zVQ+667VKDau5j)}y6Zs;zXV2)7BM{$5{<GD?VY_p*JWVfr#`)1!E~)Y#bW%7Fsb|m zC&S=FdHhW#|LIrpJg1zChhgBt+Lbr$<Df9&7v7M5Ps;XzeCiPHtrKS_^4gD@MmXnB zi%MxdWEF4&b{%)CAt2*s=7P!wQ0aCjA@P+{p(k$@C5Lv|uS|{@dezG#e}cX853z1O zX#}JqIIDEO9tv<K+#6j*jk~(J*Q<w}fy723rD;71jMvvu?z(moko<8w&Ar}P*k^d) z{tf-SENH~JVlreZ<J&dCh21WRz1Ln<l}2vhC-R%h?T@9je3Vy*qGY$mk27h}vs8&N zRCUg?;f9w9hJj=rDOBpk_st{sqkn(o-CAZ*^?w7)H$OV_cwJP&=a8LD`et6&{$y%d zc4ejXI+t)|Dxxb_lI>lMKJz7WX?s@oy`Sl+joW9Ri3;FKRC3HMC?faPwKj8p)HIkB zH(`azs1YF3YXfOw9h~^m8{Y>QuBw%a2TH0leY%-g8<nt~Dtds*X?Db!yuu~;;uF5A zI@dE@(>M87R}2`NT7HX<d@{Ke4(NOBb+dLydG`%gmU`4z2NPI-U)y7co+J3E)aReS z5dCuC=j-f+ogAy9E;6T58R9!8(dyh?GZk6Fz3?ckG}OhI5yH{xI4g5`RDqc=dFx$x z63xN{IuN*so0|>lm}-8-;KhC59Tl8(%2tX!w3lTO5Q0<+R>viswx@^peYkIP+{21e z^b1Z#FPRa6)sjWXYILC^U2qRAtAYG-pV7GXYL9s!g9V@M#NPMvO&%wxn<onXWx2E_ zrJI|kjIg^jdQFB&IVr(W-Epegx9QXO!2Z4b3i0-BsqF9_;O$|@WrKuqGeeT8`F_c> zt9OkTC%cgrEHxChZ(O=abRg(bdrRC~O9Ke*UVR~vNGW3_BG?Nqz8@1k=t{o^;w6x| zqR$Ak?BBtOpPmGykBrW4Yhg(i(xg&Evn?L}9PEy*fPS9Ten(-}ISzTves7P0nhx4u zAnVfg#Hfg9Up~D=Pt1;Qclprt%!)`%<5pQGn93^n{aiEmW9hFy?WD>JQAaRvitH1E zcEz)iN0-9TEns$!@C6Dh!5i}_iu3GU%X=co?xWuS#U3e%u9~GbfJ7rz^PQTJAI6s) zQerj2T=S>O8wdlZF6xX*v{wylv6bIHQnUCx!1u_`HrkN&rx&mSnEL)u42)iD1s-b0 z8Wr<Kys5-2KyqR)^Kp7kYG!jjkrR+wzWg!qL~z^$rDoW?R{n*T;xsj`s0hr(1%=ja z>P>!;MNfSMC=m)C71dG|(^1k0Iky#GZ+w{AOPWBG^{X#!!#+o4TXUSi9P2dG#gyj8 zjZ30;!?OVdex!OXzM@tkK3~?)iz)ana?ix!rk5BEWhDOBZfsVkX2q^}gA^|&SdRcD zzE>kv&Cm^2xZEngO}!ZE=2Q7WCQmRmZpV!L0V~e4Z@aG{p$5s>n^$MqURs-+Cd;{d zY>(z6K~!eJSY!F(PfBi{mmnU#1{G3<i5SVaHMQSoN}FyRBPBOTxJ8#rq4!8ku8nf} z+7*>SMMXI$eUrwX@55jg7`x;g9=!4UmLWkG4-JNmxA8IDLBh!ONjYX78fNZ%c4r5l zI6dvpRBN}doFFMd9)DYMf{iLvA9m>io=)?Pb#2si#+0kjt;bco3z|!CI-JtayvInt z8a$?&Zgr7~mh@uC%G3<n2SnC5j8BA*@w5G53MBYRzT0tux6$_Q*K3J{R6j()pjvce zRSo*oMGtN_4<{LZ*x_@jTUr<uTme^}Ws>eYW_)p*;rCDZSop&pS+#AuqSEF~6PBj| zc6GBhFb%ttmQvel@L;Kvo{sQti!^P~ID4W6N12m3xei_K`%g$tR0C|5Xs|$+)1q8Y zQl6*X+&O*CRWi!~5&JA-a|@&O@7UaZrD>}%uqdO<-l^<QGsgy(<M=XFoqN?P=o`57 zQ0W(V<VU}gZJwvTto4Q%2ncT(D@xc>>n$}YKu9W(Uu-b1(t_0xU|oIA`Zzy9jD>^n z@wuz>njZludGq3z{Ti~B(9m47!%Ri@${z1T_|yE-scw&I;>eycygAg7{QZ}LdhQQt zEhz9F1TU4`h{U}V!cbRI-!H$}CI51DsbS@PWzmJoY&K`MiX9^@DhgG6LS7uTrnUN} zLU!X7oldpk%Ol1(Mlh1{MV~Y%TanZf_^o)s?7|44F$$Z}bmOK{t9Q14yzCR)a_!Oj zR>~YLd$hu5N*26NapRMyUeNKBhKk?7wa3Ot+yU>l?*4XYsG-}rvh^#X_D9HD+aG1a zov-~S&B_J6mhr=wgXZnJAGDwnQ$U6CxqmM9wWQ5RnaaSQprF(ci<(=sb(&w*{RlLr z@0#xjM3~9;773#wN5Een4xDWspegADjaYQDWtLLk(&d|#fURL9=u``uF5R*jSIqUz z(R8_*ag>jZ-eF0PRH@=^69r4J&d5Re5^c+(YmZ@LHxFlsF;O-hP|9yN8Kx#?U%b;y zHs`U<s_*XdeU%j4Za<Bf3|7cx8wl)OrMJs4YreqZ<+z8s2az@}R{7ksHnRC>BvM~t z#@{xyRrZ0TO<n}i4G$;8_V7ZPR1<iP4~Nx~hwBaOozZ`zPG~f7LWcW+KM6Dw83t)S zZknKg8rlONrIMXr<a510dM3GPa8O&oOnaRp)o@c2wlF88Q{>>YM-5YtB__`W-mGK3 zvCsdlE+iB>V+!+}Rpk+XSx(4$IPsI8LulZ2Us|z5zTJK{Zu>J7(fav7UiELIHTJ`p zIGki^>3mjL)<a3(J@VD17rxXGJ;rOAOY@QmQePR6)3b{=9%e`(6Z4%=mfnL2-maFX z*=Sy85MF5)`W`-Z68ki*qcTCE{4^KZ>@-;Goj5A|{30q`Mj>wA)I^t-_tqz(i=<0% z2SXbR#inU2?Lo!d8zs|G8I~a-k{2CrcnzP;Tm;!Ec~I0Vhy#X4awqG;@DSVQRSjwH z`DOKMmmf*app0FJ95?Pngj(3<d6}PM>4-!7kj<43u+0O1MV=Gr$$~=4x0m^gZ@hPo zci4H#v?Ky&9Y#w1)G6swm<MpRR!d!l#EV$DH}*|S`f=|TnnxWUJ|H`;<I5y+2-G9* zk77N`MtF=uAh{mg&gk*24+GD&!fNk<jekbz8)*~xfrpjb`*LZQSqMLW_KSoY7V4Zj zRqvxbJRt5@xJ-Vc`TFVXn#qfcN6LUG1xxv?2U;3|mqr41n;|O{sqrvIqVQ9S@ZU7K z%1DkCeF}V}Ru7`^M@&gJGJZqP?nqYJT*IgC*=h;-yPsA_0apFM{Jz77vM6#cv(`AN z%jIjn6a#^2&qXsIN(|!(C8ERMeHRp>rcOOliwP6S`}HZdC#eef@!&%u+Z8l~|3D#* zTbdA3vlwJ?lekqDfkMVpzuhSvmY?uKP!qCYL;3<8O|OhOw<s{`8j~s8{c}Av^*SuX z?}2g&(LNh}7b7IpJzukXl6PP%uL6~T{8*wjJ`&Rq+chId%aj?_^?k$()2vWuR^JS$ zu}>X?PySO6cLJS(g$4c>j-SdRdrscF7>%e=u10ao-rtIYrRd!lxVD?$5Sgfe&PL3h zz0^v}$Lbk({oaBShaJlv1Y}@VVCC!uCj3yB+h=}{%X1Xiu}|lFxoF@mn`4t+Gtt^L zFK#<44}7XRRlrsipGV|V<wib!`V&i3D_4uQ&8a~Quap>V&%lTJC=7%HB_6H*U;%5Z z9nYRpsgkmW?EuO%0&Oha&T?PPNZqxco98aCA6lWPVBq{P3cDWBSi9&*zqm4|H_sL? zqvZK%(o^dlJ&K?{0&c5SaUMd44kh(IZWUS$3`y%S2S>WPvXlE&hwW4NNP2<`0-od% zi`H}Bxc@YJX1F@SOlx4z4cxpvyRJxz=`LH_I)fRAywTX5ocGCwHaK}V(1NezvFQTS z5>4(ejEP?EMxrOpXpN!i^XPBwQW;%7(m0G70MD#}$9XO{GemDWRMix|$waYHpK!1& z2H-X;iy5TkKye}^6$>X&k+xW&?o{<k63TlavT<Z%INm(cH!PRM3}CHG8=Di~Spv4C zGU?X{!$lgxX{W)dDHGhDx&8`1N+Ujp+Nljy$D;}IDSk&1WVdVy$q>%_0?_0@+ZpY! z8IGe-Cs{-ugUlouTl=AMb~!g%cWb=GDa@V}2?Wba$PnCHV*2y?YA=P&c<^Y>aa@2u zv+4%lichePb;x<gfb(z$${}v5H$TPkpmwlGy=f0B`ADd2awifkOv=7?@@HVx5%)8x zkI1j>YCJzRaB`en+cTjM14my6qG0eDJ$=o0WObh;iFEx<*zJf1qMcsnmOpu=<`d;R zORLwKt4Zg>9&zB_%A~=sA<efTOoyVPb<{6em%>F9qJ2}kIM8&nkGrJl;X4zF&+~R_ z%Eu}RE!?lzbG1*B%K3wn1=U@S26H70m<Ux^Hyy2t$*jO7Z2kkwQv6m`feFXQdZm$3 z2~92-84|X*TzP`1P`OfB>DK+PS-1S=@AP5R%<XScL2l(Yt~mwgYCRV&<7Y+j1w`cf zc|<}}v8l@#B-5+327XFhMELKeYX%8Nqwq7gBc}8SQPY|d$2{1LV}`1W41#S}fzKX! z*l%8?_=^;x($)K3`@Rzi9!s>Sv(QlR=v%W@`~YPw372`|@Bdi9+J6V{b*W-SHQ&z6 z$M8yFe{SY?sMW6Po%tFl=Ao)9IxF>EY9I;BtHiENu7w|rugVj1+O`8f-1HT6TuKqs znRwf0zGm-pPY_Dq;-T61f?0fSjsDE+znJ93_{wy|5z>E+OB|s9d+6TKR*OA6bf7eD zrC@(+7yT-0q_#OeELq-JPS46ZWl_kpasyY)A$(&1#$hOIOEao=an6)r%IK><SyVxS zW8$VPi$Bo2_U^OY?qqpQef_ccZ;7kS%6EZTB8MfpYru#3={iw|>@7Hxl@iF&Wt6$W z#w!-7VDj}sY^s<B89O}qsrKjAEiB;cxtH4L9~qvm=aXw)ez92V4}Q_&YIOXZJ33=) zG_lG<^2JMNuh<9U&DGc<BH<>HmE073nnpR8b$@(m5ll(i{5wxt<m2pD6=3-mJd6)& z<60dh^GS;gd?v*~Dp9|mET}}^z67I(hGgz{RUB$PXTtpkyOiH`bG%gb5-@$W+!=T1 zZ71maqv2ujIQcn2Xm7nA6=sUk?zd-};kiEq2N`K4;xE)tTcM8RGa6um&jF;wvgZRn z9Z#o-O%*_*^FLAp<Fh(l3dba<9}g_&;GdQ+e-9&jR0GD_rct~Vmul#qs(n(jV>g#> z2!6Uu6oEmdG(Pzt)y&fn68|oNd?{pqB@^=8JtsC><LOHSM=O-{=*w}^)8=^c+eiiA zf!RPb2iYt_!R@pA`B8hX*CuJzg~+FO5(>d?gN9a;_r3t1+1<pjOL*&+PJzBq8TVxe zGq~RdqWN&`8BEe?UsXUI8Jfbes!l`d>}J7Og!x1mw1O)Ba!0{<mAS@8sCV{1<JG?P z&swQLPoN5Zp!&pU`<rmOkj;3yf}4xN*H)a3`@i$Re1&O?cyL{c6CT5z)yEZjSSTBf zf$0=x^HKIy;$8&LXyU#`vzNaOktYf%Dck$7Q5`Zd?pU6V&o7;V*BpH0Z2ILInzw=f zC}(%I`)2p;++5?D);VwaRe9GZvg1|$)7u>WYSb&&LDdV-2tD-<x+7%yjTP$-Lvdss z9^W8$MJbjBaUIb%j{;_?G8P9PUt#pmvMnx(W;c!chY2WYgQ<E17rjz}r^`wgyOMpI z?W3wM7hjh%?Ta%ntY`!G)szeT^7U*?bu83EuZ#06w+vF3lY-6DZ7#5J+aUy{?&!Lf z)Y%Pw7t4P55I-(5-B!7S7buq{-t!KN=KjA(KM5@L+V8@~>5>GF3d3Jr4KQ3~qRKc{ zT+aU_F<qPSW#x1)?nDVdJvuB6lG7HvZy%f0q>$x!QV{jnS*0qn{96hNjHW=*^s8nY zT0|ElRGH+e=ArwkM#NP;1CU}aW3H6};V-AZ?-j90))pYeAVWB@{o(#uwPWq33J=|9 z9iG*}w}it6&7V>Fpgu$kh?DFt^66q2kz($w*tMFr4SJ>+e|u0QdH;oalfBKLBq26z zj)K^xd;h-cbj(V?Xz$uC@VA;Go#pRyC(&nK7b6Xnib;s>e7EPf1`)yJx)2bzdX1RI zhHDb<byJr-$u(bjzVxw90i)$YzdoY_y&d7~Lc}pYlS5Jwx8gM8FPc}|gvT-O_X~$R zrRaGiQ;rk%)SM)DV{t&IBuw_>@SFU&*dS)7uNQ{~Cu2!O&}Jp0tP2-(DcPZEt#93E zX+~dnFn}L9sCL4TFD<wV=dqYohIvBN4lJ6KCA;?@q)CRd2L~^>4+alrW3+=3iE^{i zd5XO`+60J0yfwM6yc#ET2cx6t@J>HV1m+m!>{=jyJ-~0}O3n+&kuz~U!aT5*J#&tX zuK)FM;;{oPU%DV+P^5erEr9Z>ME3X^_}2iH6(gM7h_T!=W_t(RC_t{9a-@&~8``Je z=Fz6vmS@x{*|edS<)wU)Qcwc99mM`oXnfTN?$V-Cu8QqhZdkpb!zuiw_9h%Ntz~a? zc20OkL~mkfh5nvPt)N}q6q3*3r6Jz8P{vA%p7(ie5%;?E9)NYHw~HKEcX}N3%spJ= zdO)d!J-HdFI`cn`cg?5IXPf#A#UQHU8{bs;je~gBb83Y$pKk8uI5oOVmU}ig9!vR! zi?vD6kA+F3A+DO)gLS}qLE08RKSm`E){MT}T+@MWeRag+w*|5?$iEO0#bcFy5-j5v zfH*jUo1*mObB`!+6BWK`<*KRgPS!<?J|xv?7fx@BvFCh3PI(@vv*b6M<0~N9^`kym z87qk0?(5m^%=b5iE<#1p6PMLGU{CHJE42M><BKkXhMYEn;A5p*zCvQk_&m5P!Y8Q* zo3-KOd*MinA2)67v&l(@Zm%V5LY)sgv-@gWVsI{S`A}AyONcU=g^tek;H)WQ5A>J& z?e|A*9fwjPV<y$kZ9|VPZ&Pe~`7Z)5ALs<3oaJdK3VaOs-T4;XOX}{gc+7hgvJy4h z62;}8(CcAy4d~&?A*|bzrLJ18)x@$@qIiqIhsH3L>p+Yl#aBN9tA9jV@_ql1Vsb=# z9|CThz##8%il-LaeiUp24=LL$xBxyVk)WQfxxQ4~br$vxdG{0B?#8oumENFvsBZq7 z6jy=4h#fyv8L3xLC-4+qPTG9-BbY?HZ8#0a5xqs)La=@v@1@#;s!4eWw`cwM&O=<p zTc%9^Q7bVO`Rotu7L<>HvE;cE&E8j>)s1GBg}!-TjFw02Z)um7yFVSZKV^`h?+M26 zkXPFdD}xaEiU!e~>4(k+cb0dczJ>KyQeegFE0a`CRk}{wInR`O4)UX;&*V?jP{YY- zR|7G&_qPvU%`lwj#y#waN<KIH6#rq1NUr0ebVEWk2NhKF`*Gh@T9tFK+_yqOV|UHw z(m0l?qzA)F+@%wfH#D<NKAU{jVxy(e=4e~qG!~15a$a8pzTexyHZ%dp!v+aL(v3qS z*M7;fHR?U;M(1vMn8f_MhxrYWObVXw<=&}5h3j->71Do4=4dTY+bXqXWuWZ<_$%Wl z^4b?<AcIg2;a=~MOi78Vax?Xhr)*B-b<S2{5L}DN*BZ-jK7M{Z|Cs@M+e&ThJZ)(& zX{H<Hx|`mVH!T2aRK1SwsPe;z1Et9}=^3FRWG(B%fv4<m<9`2^>Fkh^{Fs}EOjq*- zPj@;8r=`9JiqOUi6yN8V9kK~mzI+oNjr*P1H9v~ak<G}l1#3xSe9P%ei`z82Vc=YY z840EJ(0<&O#@Wq5Xk8gcbPG<VWUcA{0r@}%zwnt~@N$-4P;Lb{_IvMe*uTfk&g<-S zUgfC&CijkhmwL@_$FccI5q`r8cf_!4=HIC_TgCsds{g2}ZWwG^jBSY;0$Zn1+oW0F zrrq44SziY%N<M-#aRa);eNOv(43d+a=~V%bAQ&-V?6kGE!gHTJL`4V<h|BtfeAyU1 zyo}d(F$~}eq*Do+dgZ4jX#YS^+x~%caKES<P!a-F@$|~RivQJ<4If~_bsi4Z*gSPK zBS%z&Wat_8Ga79>{fRHb11N>%rc8z^p|LnBz*LRYlGK3d8G)ZV$%4NVvXRA)sy@%P zJDaRAq(0%>`@h3h^E%C_!z<e#<#_N8-XG$<`E2I+k}Cgoy)k7XPo>!w4F5@0-4)E5 zF}7m}5F5~pwsMAV?9gs(VQr8{BSi7)iPJ8}gNGdTA23Y1IdYH7-?|j#$FY@x6Pf$5 z!XwapP*dm}nfPNd@{5;Y{=+jA2CO2ldPl|llx<x5aGD%#PXU7Gpa~BO>Qd6dJ+KYl z?uKkO96Mpo$o=Dtux<!K1AbZvKuHix<p;<N!^;w(F|9YJz^jE{&f}xUaV8N60)tC0 z7)lbsAasX^+&%slZ|r=Cc72;$>mTG>@vowhj~JT&vsiv12>92)Ht;@0Kdb70P&H4p zHO6*~MAnF<9<9@=@6c}S&}m&KFd;@PQlN>Miy3BJj{6Te?B8XWp5oP`nlrsAK)g|v zsHx|-Ko-jUZB5bCSP&xw0^uMg4&<JQ+`Fuo^Gpi>095}0rv7(q<HncL?pp@+=#r;> zhLH(CmL5ZV$gym5ryEiaQ(Da&5bPgktZmnFa8Iek16ED=Im;Cory-y5ysw1vUzKE% zA*g44NDFSvipBYiw~l|G>uayF-q_~$)(1K0zRh0u8w64CsxkI2dhZVu|8Zc`h;3OD zHVl@~wrDqYS!-Nly>*Q!XkaA3m;ezW^C`|H4B``x2M;*t-DQxT;??C$FN#4hQ~rE4 z!;e?XR^1BkOlJBF1x%WzwD?66aC})QAI~HRSSGL9Rgu4Dqpcsv!jt#A<Y27L$FzdL znj9jib1=Az1Z%u?T4OzO)FX$r!l0WGH7t#$o%7G<5`L)G>M(;3EIHoD8R<R3YG2e$ zlSigU1Ruhv7%X(YK^$W;#xP7z_|DO9^MUA7v}zl?dF|hzKiDTWCxH?9f-wOGOJHiW z8`s!q-lo&or53d@5@1b$wE^CHGM|w7m~MQ;UiTeN1`ml{AFmFt4yj=JvlzaL*=4rf z^kbQ);yVdlhBw)vO7LYt`cKsYxKaiHfcmc?;ZFyR8~>F{PaEpeNhJ;zV1dgXpyV?P zF?>MZ+~zwc0c(+Cb4~G?&^t(p>IP$F$_l7T<2B?AT&^F$g5wtff=lP#ct)ZCbC(?m z##Ia!T9J%coKLuW@(o_w_y9K=uX26&CAPyGeD~-#If(DluJ5qkx<xbE#2TA3y$vy9 zaGH^3F>%_X8z1qon*)nU*29%Gy%?-9(}i71Oh3!;<-F7?W}mYdm|rg|0JXXK9}E(* zNbZQ?>z4_^J-bnWX>zLmXT>&uAgEvaV`=}++4-MKk@Xx9bi=(OLvW1;eM>WPgprcO zj^1&`+E!`AASFEDEYrSp4dvsjq6p6-tt5*yuN#nhE}X%vfKfw>4%^WU0u!-uZI}0K ze;>!`J`dx!L4?4BD7i16`IOkFbccsL=)T3_;4Z_okMn7se=mwL25Y84yz%cDrZ3;G zFvH*#`=_4MB78svTU1FF$&-I1PEzg2S8d4AWqugXybCZQul^xo|BBSMKS_LaL$fY< zcy}?c%d!n3sLyc2d&IWEw~iyW>qEAJJnOD^oKkOD!dgXfl2u)SMPmg@$FJfnK4Z#% za_L400y{3vejZXB)>y8$USq3q9U~U20agN{uuf>}WRh_bKP1hDq(0@Kf0x6-Jr4W# z=_jW+&F}?~XN|#HJH^DSGW}RcNHw$1T4>9@JAr%<l?lLk)Ii`ID%l}6__7!VmuZ4O zFBZV4deE<6YCmV|*Z)k~8=ASnLKR4>%ym*q&rl^xPEfnYv0UR@#{rQ|X*a;9%ISW> z=Jk3$DA6x=1y+sqFR~h*Cz}2EZBPJ$=X3>B6)TpF`VNt4<P*qPMKF04X*}v2_q*Tb z{^@r)=-(sGdU*AC?@&=h41uxZIUE-;{whqrh~a00H)nWr#b3c-@_|6=vHb)em^&hu zYyQK9D*|2BuhI_@^V1S-{D?`9Kb#Hs8L_3n1(->|JKXRAMC*LFTW7bP(Fi?aVc5&) zpJuc-f-%QdxdLaU{Z27|>CjaZoG;A+cuJ;35E@eN&*k&v<0F;S4^gyW><nAXBhgI` z`OSO(JHL1E>tsGHMpc5rV62^<sAZAHml>aa0n;yHc&WVZCHGXcF~;CE1yL-5^oLG5 z{D$?~y?B|m1<(E>jjk&D=NIRHPbK(orGEXtC+V(LRSz1Itd=08*%0a9XV7|?ub+gh zMME}Qg3I9aAfeVY1knXufzkG5R>Ly7KosDrk(dS5gO;@^eB=kc@3KF<OEc_%D5;A{ zT*BScZ}Qg3*NEMKz=T*c$_Z9RGbqh7elAw#OnH&K^cqW;zJlQ^1;Cjuoe)Ss;)ehP znMcV^sRdslkltA#;q%gSg8`ICQUCLp<}aH1&cEgQck@kEuVbZ$S-1l6J~mwEp=@xs z7txGTf)LW!b9#`lajpL7fZ*tiGx)&r%PVREKE?s>t3LKekwQTzq)yJ2Wokq?N*?m- z_kV%Z57}<qLJ;-_clehNevxi^Kx89IqI`NzhT`wU5-3j=TeOi;VfkXaS*+z3f_y8I z6#1h<K9i|Yj~OHo${iJcjbJ<h)TPn$C;;%Phlu&hrndWiJ~@5KCnqZ+Y75c_#DLFm z{W~PK#W%Ylo3)hPcK$*2k1`sqj7G=i)qiG~xjIc)=NWz^Aau6v;_H^VtDQdf$;pND zIxh1MK8VahKu{KJH3IwnxA@0z{~bEDZLEYG4ev8_y?o$JA#%qt`3lA_oBGp?Uvd#< z1;>KxI_r5a+MQpQU`&A5ET8=u(0=Tt#V<?h_wvafF71T@&k+b%rUDTBXDY$ZnEJIp z@3LN~>X3z>QK{|1doyU(M}`kMGB^3=Nk}V<X*IxQaP%-HYBX|F_RLs+VUZMd1GG@} zGE+BzRTO(M%51t0+0(KH9__=hfuMdBSD>7>l@El7vmOs!fBc}01e6D6PtEqcgz=3` zPZ@s}<1c$Z=WzjY>%<aCjad7D$7Tv?dLm8x6$z#PI0`;pNB~?QYBNRViF}`$fc#Aj zJAatk_V?@HA>(YE3z3X-12kOctzMJsjf|HAhc!w(aGV~bY+Rd96P{)2sXXt|?{XWN z6-29E_f?S0kM?qdz>>K6>Or$ZXv^mk5e(tjeGoHxvO0aFOf&V^jTf0_`~_ydR9?^G zyRV%2=!_>fK9?%ePaxzDhF>ET|2W?7g#<u7e6*9E3?K>~zaUWbn~M31rndVxe0;LG zXt0p3D#b<cK1PT48QPcm#!1Ll<mj{j4=4KxjWtWHVdpG~*}8(PY6YA{<Bz%`-0;Nd z63%UlLZV4kitzGb!!l(BmA5m6_?H>K?BmOffSA3j^D_M^px~sPA(RlWDaL~F2JI(K zLVk&^-y?hUM_WY~5&-}9r!EE^L;<XKJpbaG%0KumPcMdAI30?44D^eb`p-*!=TG?l z9jRoJl?7|gsXjdhcb)sg7H{<e-WO&B0c44Cd_QLA<wibLwqIfejMpc?*X3FPPa71x zIN3l@C;71974B;u2btbEV(PNFKg;;DA;EILXKC_9On(+WFc~Y5ryNINgN#05AjrVu zva}oQn7>CP{fk%rUrtZd0tf?WH{g$aLinB=hX3t1m2d4SsRQrwG0&GzdJ5*RnrP>< zKIy*UlcTXcxD1dPw_fnrL_%T*|N6+X6*;cAJtELM&8Q!zbhc_^G_VQ~G=NH8LTqZ^ zj1{nm=0CdXA{<wmmb?HP8g%Syt|HVHFhA8=->}%nU&Q$5W%{ZrRONGtDQX8;2u(mO z4Du<}9Au{{g#JhZ`<n!KR;z4uZhE31px3;jaCZpbds}$_4dLxByuGLV?SJIy4s$CZ z3@%%L>2In8KP&ZX|AnT#2u+up919DH<e6qBXv1h0+tl!T#{umqrd<~@2S*PQ>aBpN zX66R}RD}g$ffZn?F0A6Kl-bQ!!5w%sGJ#;m)q_U&w1}!dNLi-!&G{Ms+)Q6?Yx0PN zv4Yr9(U9W&B1EQ+YMOr=9^CQJn;O5Wp8F(^PpCh&FkqY(RZc?q_-n#iX!!aA`1Zc? zyKgH-@*;?rbL*O-{4_!P2TX122YgXZe9`>1mFFDult9oPhw>coRzKioFXN5CVT_Ot z9VZVHwr@}820&F<aB>}UR=^5(Ry7h(o+T?_2?c>6b$UjE;QY?A$-hwRKO*B#Grd%{ zF)*GYO>Ay+%IL)7%g)XJP-?`!3*yn(<CCNxZkex$aPqj!e|XAy0IJ|U3=;Ur%fg3W zfrqj1dvC$t`ac}UgUhoByy_jq{1mm_4-=nks~hAW#^`{vPN0B#R06PVw3t&sfY`y; zjze~8o{dKC;GZ6(G}Z!I>tP;+)-$YtDIuXthRM%s_W3pCaa#dTBELWaA@GK5Y4xCa zt}Vy!C+5G*Y5i3he=#698a1NhqMybH#^#J~O85ig_o*`$reYXfm<O-;UW%#do~@f- zCJ^^H<@uFK1WGbUJfsf3?{%RaT7LVUa_2z#?Y9)KxiEMnz_6$uB#j$i^8N3ce7c&V zvlX)f#n!<DbB8~SEx&&p@*$fLg^;G6{kubIElUs>{8B4`eBzIiU|97Yt7`#N>8aB3 zSDq$5e-H{@XR8M-epwR+J-^mp#Q0TUo)o6Lk-X%2o@p$M<|LSEqt*RDJ~kncD9`;j z3W<^)550}}HIzG#yZqLb5dh<7rMX4$;g^NiZwaY`w;m{e|F=BfdYA)-&R+~L^r~G% z{u<%N4-g!_U*n@91h^=yG<9WwMS?XvW(<Uk4oN+HqZ@FunQ=4l81kvcj~^y%-KZl* z^DIH;t$@)rl+FI-j5__*Rv-IpV*ul87s*|L@nE6l%wJ{l&&K|XL#oa;FC<1*nxV+l z18XJs<z*yj=KGobUA0c3{X?mf=qcdQMDfF<TicMYh|$x>IolgtK>;wLB!ga(=L&rI zCE<H+TJHDYyAPG0{YQ?IK^{U3?K!oY`md>&pQe7}zas55@QVS#Dc^IXmV-4^M|FOt z@#$_R{OjY8jVPuWLFVB2K}@p~P;X7D3Bv*`px8Jc0-U=tR%h<jkG(q9!SscUG6c^m zBsxOYXMw&sjlM|h>%1T^K|WQNF}Vw2#;L;9S9=}-kXI10dFgPUCqKDfN>KMFK|_97 zLUHd}0Z@KO!vZjjLioh%LMya<{eklBy$iVq4%MHPp!EY<-~D4cxJS;+xk<6Kxe375 z$L4yOgxn~2yKi~BXL-Zs`P^x&?B5x3<Mn3oA<tU@RoQ_nGvh)F;28@Eo)PM^f#f{0 zfFUYT{uyn4mev<T;lt-lKSJ(jkDY5@(P!12%&!{))4*$7nE#L-4Y4)8g~~%sAOHKi z@&aH)Bfzj<0EQoZMc5m{x9=<e@V7nR-kZ1wXGIUZ>O)li3gPxAH9o#U)~g7mO`RRY zV1hN2Vv@kI_MV){kOP9hbriB0dA93$CXmnkRJ5+r3MlN&QFh=8PlVMp`{jUvkJmUj zJI<faEM)USqO&;<bN;?mkJ&GuMHq+Wj43T8cY%ubm4M)a=d?@!D2fqF7&J)S5uo@) z$$Igi*5b=#di*3x!aXwrpiD`Y``np>54|LO_?BgF2)}<%`P=`<(LE!>Fn_N4D{7*j zqjB^9roC?m_>6pZzbeYB$M|p!qf$)PS?sAe!G03(jZ;V4#?&IAvmNDg<CWg%Sylkk zM=pIHi(!n#VBpoF)dX2?1!(@NN;jQ{+~iDue}vQrw#YLO#?x;v0{)f(g69?hGaIY~ z7zETIs${1rHgHE_OTKC&NnQwmGic-<G;HnyeDpP8y>9v6{)Ok;d!A%zhM^8s<bS}n ze}G{9`!v~~#N`T_q?Rix2C+?ik*T5Oi<qG#Q-0?lWXoi{c};0=L`BN){IT;^02TQO zOBh6W>iqq9v4he>69{TTs#<zi)p`6QJRsNdIZAKLL`axY|I3PduEO{W1;7HABmXS~ zCc^s|DbWAqWJu89>mYahW6J%XrDs|IjHsMX@S)qn`)^qGhL&&LRsN^{J!6pM_<>MN zyg6>@zwX8UKd9~gzcuTwF;hKg9E(>0)6C6(KaWI@G92>~-uWbsYJ|748sEF-i9(sz z{>6toJGL$N{}=74B0omHtB-m7IRTIG=1TXsZ2#m4YXuDrF7f02qj>w6;f>@Pz5wlJ zOL>)PS!i$(qc0T-3&6qhy5cc}1g1gik3k$h^`yOcP`@r;7SG|Clcrn}Jr@F?Ok=<> zfKR+3tTzIF;a_;Zv*#IR`TlSUFx3AA+xSI^cK$6L+?}%mv;YVtT+5Sx$U(<ZR7!!s z=HnwGD|Fhzd#=H&JHks_0h`SthiIJYJLBTdgaoVe02X}=%2)s_rN{d*JsxyH7j6y$ zL9^VV8i(b|3}2)GN(HJvI^%h?{z?L12}Uq`3<y>NES6L=P$lVR*uWh{ZTV^tO8TTq z!asKc0H!U158f8uyq;SG_Yag`{4LLS9_H>r<^a({ujVh?X#4v}PhZk>zIu>~0cql$ zpkA?s%Mlr&RaaiWW_WE^cxfB9+CpTDP?Tzs05t!RFAE8Z%z#|W@AeD^ysFWFWfsY@ z>&*ebu%3^_7=`CXcRFT7ooDJQ4Zlc0tn~M+h(M(aFseq}#%T=3K?=!nLfGURqH^b= zlcijQo=X8xreP80uLbbEF9{#IZRsVJ-@2px|9;iwLIC||r-Sf+G|}#VA+8^)%W^I6 zG><z)Az@gj83^@2dHI^*^<Ck$9k{+B)ND~uqVP>KmoHxPinpW5eXCe;77ToRlK<(r z0gLg0vzUM3(;D|X0`NwAmTCEOSpv*&gK7c7f_+tYI2HgH0#he-M~EmcRg!KTcdqkQ zQ9be5lY2|gy#Rp1BG6nIG=n@s@X=R=mp3inc?btRP5#O6`2Wwt!?hp4Z~j5Dhhi<X zYL;3Uv2|^e*Ix>F-)+mQ+lG257?hx3*vxsHSDa&<@;e@oVk@+N1*6ZK{wrDmCGhKv zr|`62!wPhcQeYK~{3y)7jOibR@#if9!AdPpD3Tb|lbmK)Nsk+A^7n&=8R}zB{wdSD zLI9L$<Q~Khc00ngc8(H%<W+O$XZ|<$-<@`MKhg=)%~!95e9x;Jyn3TWrx6kwutlsn z^PbEpu`j?s7=J0F4@LnaW`a!XVtw}LM*3N;uZkP6Aj)z9nquBF82daX|EgMl6`?SD zk5b%!Xqu=dh<G#;28S^=;*J>k#*>cfyz2zOh!jX2jY#MWQ{C8E<3s<~KW6`EZ`i7B zHr_)cki4p_2<kkU^P~<kKhf~B8GExVX6(GSpCJA7VBm$``^pwT`6?gr3%gMB)wO%| z3AJ+TWibCz0k9(DFJ}7kZ$%`;nmU;~&c}y1h)?5meTT1ReLYHhPgYRBs|0{Tq|gq9 zjX-#>fzJy3V8igLHLPv4wdLwWsut&zEXhrKuM_jUJe<4IOO;8%lu`b{*t}<%S4#zB ztzaJrJZY_QaatYplPN*9nE9*LWyN(^A_&gO_^Y`9dFro-!81U;XLyogNDtdv^5vjm z22axbhv!@XXr5ucW`y-fc*Vl^qkPT?A6pMt$7{=b8tNf+o`i{u0F2+>i18Nzbh9iv z`hbj7m*!X`2rfz^aOv!$u3|30S+tz_S7r7^%zu`ze|au|N5o=HGq3z(JU&$hM+s4b zJBWPU7?u{OeH`>$34kI+rzNl!8g3Z)gb1HE@R?4)rh%4s+V(#8<JFI1^pnqQHU@tl zzrDOoilJx=O@5XOmBn;b{P~MqcNOWmj(-x&U&Z8?5eYC@tTb@$Xzc&TCvmdAEnm%s zdXx>G{Cj<-1wg^@4TY95Y=_E6jPPkAd}<@$RV#E{&hSPZq~4Di-j6ycXepzvuy1Oc zl>C2IIG$xJJu7Y=<s&JZ)E8GZPew^Czs8F)|9MRQWm<ok?_X^V7_77~2&wi_Rr;q6 zG&^o@$(N&s4Ez%||KS-F016>WJF=`tp6?0Z(?<AoC*b{|VO_koyd&~HXZTU(?yROS zA~Fkob4tfugo%xu@AyY|0g9({W>3$8^)Pxm^S0LPD8JFsm&N?&(fTU^f&h3Bi!}|r z4iS@~DGUx{YBm25HQz!QR}*@YbfpDA@!E~Tnm{Wu+_3Nm$j$l>Z%1q!rKMgQ-huO; z(KwMQv%b{lDkl8OntstXA)gmucHgDB0naln7RR%>{O1w|Gy5qWw_L;P`2oS1>&Yws z1X!u#+#zBdnkoIGp<i3$m-~l$(m#5{kKjWWYj))XKq2?rD6K%)w8CdBd_E99wjFWZ z!n*g`b}rA<bA@UjoAo7{W%kQpz@;ui@z+>`F)JefD?gRhukY&9tfg{37pKg)vrH?c z{>Q~Z%IzxpD6h{QcOF1+=I`XUV5N!0kdd4Jy%Ps6J=wY?Uy16b`!vjdxFP~TAyTDN zGpyHyk6Gb!M)>}nh*u(`>*`o@UX6N4GaVa;V=Z6GqaUrF2elvN)2{;VE!#FCYpRj! z#TLgZT)W_mMTFv+1NSTMYq@AFYxj9eATQKDz5eLTzY-ug^LP4q4_E@*LP-(Hz`@`o zA*yl52J&lB6aS>ce<ONY0>A+40-c)Wr9k+!2w$+m`)=0QK(+0?M(UI-0as}F5!1uW zXHtAOOPP#wn*8T<1BBcH5hlLe>K4aEK)FTCvT9#XD<n8S#CQ4qOdnAd`(M>9sA_YT zFj%^c`EBLv7;Q5WVoifAJ4D3eGi7iT`(}$@KH1Z~bb1u}6Qw6A0KCU02_LA{`HVGu zArwA(BVxk{ZS~r6*~E|cFfIZ+<-^YacNb;sM={M8Sr-E1!jWf<<}Y9W#b^;Doq6?- zeC8)h6+j@%g~4cA@Jj#x9L#?ntzYdP<W`B57O3Fq0Wj<-E=i8J-^*8O4byi|sQ5<} zJy8MRJRd&knZFf!eXY~<?NJ>!^|>$a{lt%72HaIL;0jhi6+Mc{UnPWQ<NvE($Jul_ zqXw=Hm4(pi+J717SGm2S{jzmf&itz}ehG_^08`}tBPl*pP7YFPb?yhD{OZ#*|KWlH z;DVoE2>eiz@jZ7BCAfcR=+u?nhNl&QEqqx+o=Q9ZBp%VcuRMNLlYd1wpiJg5P2%{Z z>G9hK<uj}R{K@?KLQ8-OVXy-8pD7He*tP%=9R08oVNH|FA7hOt%aq>!(66oYo81GB zvP7Sn`41PJ9P}a*OK1sv8pZZ|F-e@!t4AC}mQDk<o1RWBA7X1I|0KMgQ;SyYJg>?B zC~knrd@T1YH)KK=H_PW+oz<7Dc--Tp^H~6+qpGxhzE3I`U#7x%@Mz4x3Lwb1tpWyX z+WDIHK$Lz@$>OBHeO>-uqb1!eeM*nNpo>`m7YSS|+hWZpT;^o&-a`%_?6bD9MrUh_ zVY|s;&(f+Hwwuak!xPy_{k}5zH+sC~`SUKzGI-Q&qx^qXZ2Rc+toZS>*L=PwQDyp% zda4fpjkf6=GoP3FE46=>)}Py^fW?|NN(M5-XP%RTgnHBMMYZ6Uf=HZw%5k_Sb$S6l z0c^X>)9-dk(}bhLLrzamXtY|at#1%-bT}OZ+^t!*o61f@sfCIyxduLmRf<}DBk?fr zGEANPQB3|7-GChJHB(>d<H7;*l3~UAsOaUnWx=xq1Wss?=?~LPy9g(k+I9}+Urp;z zpVvr)ks8jQV2qN*&^;LXwU+#v%eWKwpFW;*K?~sAO`5=Gy{8oqW72ep3G)xvxs3kl zF~e?`<AXZwjZNC?>+}Z^4<gG(L)mG2+JO=n3f6b1T0};*_A_SL>asO`70uT2s~Z15 zdt7<jyPIUewyGS898J$>{+Vx4#q^YpUsV{uIhlW<|DOw2Yt{h4>j{WwI8d^F(qDgB zzG4lhPZRwg(ZvLSKlj(WCPx0CcN+FjdwA~)jVa@&>b+w)=##`lP7d~Ht!>cW*kl;j z*zX!T4cKWaow_HmiZvOkf>#67$jfY}#pg2tDV~%YfJ_5`7ZWVcrdD1?%kO6Pepk~h z^QQmIKA6J^sw{{3_3GrIDolW-+dM)@VAl~GA_H9JI6X{hwRNw(W_~%Wi+ftxe`R`7 zF2F58Zn@0S>vmDqyjGq}m`98$V*Z{a9g-d1=k#=+R(qZ1+6IHT#X--~t_N&4m93^D zvL0g;Ri95GO$Zo}lzb97Wh4x$Cg!+IH(;6nKTDU(;_?iNj76ewkp-}r;m7+~BoJ1! z1Qu!jMa+MeC19nFkr3}sFvgQ6aQGnhod&<ADtFT4X}^P<o<tZh1pc7HT9)Qo9?_iP zE5x^qv0Ej}QcjK!=yi{&)tfZh8^rB(PI>`%!+@PN&vwgG4?I?KW_Kzm5l9Uo%j2&T zD6!~!?zE5W2ITSo)lz^bdoF`6>PKEhv9Y2BAd8q@=J(IMlcl)?v+L(%{;~KMgSG1j z;Pn(l8TOT=oAlOio39wd>60w|y^J1z7*J>-d{(_Sd%YgcW!0cn*(Vba&D{f4#k-V2 z|Co5trFXJNv%Nv1y+J>TxOZ&XY%05Jo>t_s28_gbpX3&SG!Y!CDd2b<f?zcMA1-gu z(PCOPA?R#(;%bS2C8BZ(@K<hKZ7Gxn1ub(6D*7p}vx+c)!rBP1(gt-v7ndm~hmJ<m zciZdo8@0N)r<wdyri%%H^L)t4wz1|DK6BFRp5oOZW?l?Wz1PydaZpD=aU^k%H0jel z-J{;zpxN4D5Z8EkYUwmA*E*g~-Q^QN;!#cU1c=o0ZZs|gLT)kSj5z}zox!YSx5XI7 z(@L+57hEz)<(8|VVIBv`f@SVFVT$>u+Ap&NF2MZdHdgA0M0kH(nE%Sby&-E&{kn7J zPW%)q|16@%jR6So36$+D^TdNbpkU0@gRO2jGsLgdAa@UjbWiTn@9k4>tW$4nGE7<= z_AJes;acGyMAl(UE(r3-L7hB|nBYlJ^-Ms+#p)%OSq8C%wl|Y6;Bv?FKYu{rqtLAO zmotwYMGVGUDTj(HEddq_gJsNLjt=CT^GQFfS<j2Za*8R;|KVvoxOq*!tf?NxS48{6 z;|~Ki1U{>tRuac#*<f5?v*>9KL7nWWpz(t*xd%R_-#=h5I3kK#G#Z;Ejdgm1fV+`p zr|sEUbJPNlH6F!*TA+b7b-boHH_WYqk|2;GzAi>EK@K90J_s#c-(}(nQ*Bn20i);n z+{=uK>r-g~RNQ~QPtT4Rl(#Lh3`Q%n%s<glijjc8uIKC8$2+Ba>}b^d(Z;s<YQ1jK ztAPHG=y78J8`j7l^v;LFejfhIpWcKW<`_ekua`%Ti;P~eqCO)Yo{%P8dcB7<8e0tO z>-2{a_l^TLn##3xSKtI5aCk2ub;4jB)ZrK)Cd;R57R~!FA^QvK3!EdGFnuSN#kI5j zl*QAtCK;y1<*M4h>R71|y;XicbL}P@S7-hl2)3q;Fhc(`l0-S$i&<Oe>#A}mj<1gS z50BpkcwJR)XU@?doS^veM2-vJW_i0V-Zi~l#zpwNI$YW#%?8;1Lu$1R>dh_sah->! z0UJ%&?RYv3M;Jg53=l~WQ=?|r!3f^Rct1eZ;c-;ykEictm#^UbdG(ilB^Rgj<pM0y z{tLg2GhB%2eWho&BJ)qyJ%YuUT>E=HL97xF;p8Ch@4O*j_NgAGS4jKA;|&9bz^4_~ zT$T|JyLqyXoKg9()cGPac%1TEMUvwSsyR;J+<k__eWKbrwb~|W*5+ss&~Am?+|1pB zDDW5=q9mw>7-<m%Eu0^a`2k*2^1_ZvUbwyb<jc(e%hkivJwA(>0E_A30&G@`pBXV= zfx$T|D9&X5iT`h8Eyu5<i_bhq2aZPMjyJc=FV-4Y%lwCn3IMm#Ve7`q4|%W6VZV#_ zZlRwx3Z0GnAN@V+yPho?P+l#}cSUiU5+{2k=^=62re5DB^&9kt0q^WvcGf-DI*vw| zVXecH;Cz6Q7PVjpuQ93X<2A|Ckc$xs)kfyipl8w4Uv@7Onq%tO<&4`Ny``#Tpz$$f zhMtW~%`v-HGCv5`v@ryzb}=R;NjygnW7aq19wPUWD`x(~<8=XcROLf?if@-u?7h;b zmjz6;C|PXwcSY5p+>bArcB&{D!{mr0J;nAL)a%;}>YJPnBkml8Y_*kJn;Ffz$4ZPR z!?_+pom#L7K<av=zK7S5Aeg<V%P_(pg`wve=-Hu*J-Jyk{!F)Eu1)p++0S)xAyNeb ztl2~moSq=Y6A$5dKTfw^mtTwrdVJNiKRiAcz$kn~lunj8;-p*n|7O}I*3~-Hs+E$< zn~%fSYT+<yB9faF3eGz+*Ck2&*#3QLwJqw6ZTfMY`^N!WZMeSf*=S}2K?ahLxIRJ? zYg&Z1L+1OWzKip59z9s%9z1Rn{n=vj@>Q=^2xO7DzUo=ZT6>`tQ2e(rT5yIiFcM&; zQ{2-Dnkk0|jzF@*>(}j<8*S;k)hy>HN{=fMs0I8m$XXi5q*=`PWmhnLC4-Nsf~iHw zMT|^7quFLlLzQB3e)XPAhq&x6!~PyoZG)(`MI5);KentjBd%{awmXi{rieMl`5vMT z0^6b)-XQZsQr{(Y13cNZdmvnLj=(Z1nM2PgtrGgI(%xtL{uR-HnKo5iU)A5dFvz1t z)~w~DQ+*F3DQTu0?IpC=xTElO5eTkewWte@20ZhSHDl$I>YW`9Pm5$5lfQzq%=!^V zI16kS;lsJ<wiYp&p0N%HW*pzkh;f6542K7VVVhcQn_;rSaW|k|54g7Oxwer}3o@)d zC2>7cUneka>cI|m>xf;K*q!1vL+4DDiu21Q`0k@fr98WgUwKoHD99=W1IwTGBGbRB zzwx$F>aXb_C{B-%V(`!DVUoV`l6<v)>W})TJo2kvN^f4Q+2g_hURN(SUFJyQF6v8V znPxP)R;9KJ`JlehM?GuKm#v2?H=^SEnfsh(r3ki2EXr{1h$KFxSKtJ-c$4lR;+_47 z?KS1*R)G_k9$tqe?wHVYsM&Suc9TTA#MvpCAL1n+l_+O^eve951CD$gcU85VkIvTq zi`;^F%OZcy)B8r|KfnpzDTn(W<C3Erw}UUY+6=D3*#9be92h_dd>UADE+bBQc+tFC z&TRXV0u)28;Ya(bLc>c=JhjW8v42rlB_G~-hfBJ+w9lY_pD5a*R^MhYtaJY`V5<W+ zHXUm%M`(t`#3b&JKsrQWhg!5w>ifj*gv1X}opui{hi3bEd;;Lf;tc1+2IhWG(t*z- zG-h#t#o2|Uefb9*m=1zPb%;oc%RKuJ6WVL?7M|Z1BLr7s3Z8ko&}E$gW^}~L58-`t zFgV4zEJx|*!gS<j>msyvnFiN04_`g1uz*JS3SK=f9g<~t84mY|q7A~@7Q?vB-jSu< zvfS8oY_B^4o1z?$rYBfwQ42O$vo}$74BQEcJH`1VPe-P3K`u<w*>cYpEwg4WV(FB$ zHr3ky%!on7ak-!guyzL!yyk;{k^~O-;`Ftb%|Gg$>S^~>AOA~w<6_Mohg^CE<@?kt zX*$TasLzK<TdCCW%gyuZO^?dpQ_YsPGX<EZWG==HA2N&&=m%};wQUB;21nh1*293^ zb<g$9lqgK`_LwX^#cG3Euu0Qy(+ajoT$e$1K;~l<H_}x+k8FGyH2q{AbH0NtXZZ19 zrF}+f7-{5TW<5f^XMf+LY1+GW%l?yATl(1*HUHr;2>|sPqe7##jS(2e2V_1Ud6&OJ zvp5Q{Xxn39?#12Dx0}Zavg8!gZxGeDh=-e;_G;YOi`eccH+LM(y2qO?E*mhE8a2B? zJy@q6bVz)kVRl69`lxrP<P(csBxLw*5FM+c|JC51uEf|2&t1`P{>7LA{4*#+j0{Oq zW$%7WyQz0=z^^x&qQ0uW{S~3dAprh?!v6*MPr|VAv2gvRn+<o(42K8w`v+v%05?u0 z6vh){K6M6PwUY^xI`43<OP2K+_8$;MTMQf9^oMos9|UZ6;O3TNz3m8WAJv%H9TJ)~ z8o?&((Mvco2I(QOJ1N|QQNa?!qqFw2DjJ>;w=8f4RuK}pP_YDN6T#%kKh~2C;Ak)Q z*SF=D?!M#qhJEs+w8wo*FI}wJ;}8HR!2bgLs>17t`I52qA89mi-mKMkYVq)x;c%ZM z>E_vV-jSQx)sK4>M%4?pJFBB{9}7b4LY~;9&Xc(!pJ2F06s=RMZ83=3JUp^=S^>AV z9XlJ2&<;_JN&OL_bf^cLw8Lw(!d((~N<TXwbAx=oD0vdmgC|Fe@8WTq_Ky}FktKq` zNF9-8-oNJ2u9IVrxa{OTZ`!Z4)})`;{=2&G?{Q+2`wIK0|C)MkiO9caOzq!oG<I&) z>ziwF(q%Y2ARZp!eVPvyW&*yI=~A?JMMq~b`1rW9@*au-NT}jm%y76z93NtXc5W5K z8yuYmG#eq;H}f!Jy_TT%Ajb)$NzHCj3pZ$l8zfneL3Tv!Psh=N{4y&*L%GVI*F|ZX zX&=q}U%<c@a0MomoBx5?MhJibB3;td^Wa`etI3_P#;>(I;{6rO{wvdy2u_>=UsKh; z1nz$V`4J@eQmwY}dK9f~XU*&M`}+*z1H4P{>L*1u&qIrt8y=m(7d5ZI2?U!90-xav zoM1S7Kvdsi7;kdgk9hlG#O{XY<y}Xskz&m;8C{01LCtQ_2s+e*HJoPjvjc|NA(>B0 z(Szs5D!3AKPN4!GLxi;(`P>%%6fur0RSxdQZg+!Uy8D*j8}#$3;+{k{=tpi|tlg80 zPR78uRrRlf{=6a|2m2q{p!M<gTH|J;dCd&t1BL}optCr^1+_O^CWEiEYjVwiQ-@2t zWUkL}@PIJdVpz{{g1dVGI~&UF9nVJF5!x<J`@}AyZnvoi8>~gwX@$GQu1ha{K;{N0 zz9OgK(KF{>&?;1n{F5d|>OhYEgXj1}acSCp{XO>YwK}GsCRY^sE78+PPw>Dypzo;a zFDtw*V!mW;{YRROn>XvVomw0p5f2aYEJAhoB{;!(s;jQb;ODD(x|~LqOc^IghI<6j zI#IO6AZc^|z_Q*BcxlITZPO73Lp*mGx`%{ji)Oe*GuWURY>@dr-E@y(c9PdQB(G_> zIH%xw8Y=uG=q$`22mh?yM6h@UK$k4>+`pHy-qE8*OMbIa$Je5(|J<K;e$qa$uQND7 zy|H_%R@+)jk}mOJpEy3k`)nyr0B0u)t+4CD$DV2Cm2rYB#=AYz;URI@&aHxYox_um zb~E6{mU4UB(WoVO`+&qB5K5b7utP0eW7EEd_X)jpk3n{b!!VjF@!jekT-g7=P)IQ^ z{0X4Go9F(g%Kdj@e`AYZjbrZnbCu41di1mfz=&pW0)9lqeyLVle?5xY+l}lx!{HIb z!5+?~cy)PV(JF#q30)d<pQ}?rWRg$d-4SVW%5YF8tZg%hH#zP`eD_|!wM}^Cx})7l z@b-{Qk1<)3W^j#0xJjpWo3-dBL+j|Jd!&9yUNiaPIR#gmmN4j(qrC3l*!=g$V3gw% z$OcLO`VI3H5j~0Hr~R;2qpKnSMzjzoXto+RYmFU~#K#Q!56RL&o=K-#Xx9q&V8xSO zE`zVury@{HSLU6=xx9|yu>XLtw#lHjO?O!5?LEu24a3X3%2vk{1zoz@r=Q)WZg*&g zyR?HXn!y&S>(O_I46>u5V95wHyn^FU&q-IquJMRi0<(n>qQt-{S?W31PubYez0Ga; z<$6P$yMo0(s_3c-fDz5$1oFCIzGO}PN9y(3&01}%7AGeR2YaN+X^s=<5}e?&O@bBr z)R`Yk4=>>ajv?ONBN^@!M(YGoKJMV|zGb5w^6GWZjV(tM3~>H!2H6AZyh=N|M$NXV z1#LRfb^7TMy>uU^3BEKN(&J{Mr_ZF1lM4UeYyg7yCx}hSV&(4JvENze*IdS(;oxas z=jwD-1wff{oB;irs@@Xh-xCx4yY>3kt*ExKmL)v~gNMZN5$fG?oZx9O_=@Kq1BNKx z#rWYKNqk5=Y!ilgKEeKJK&KgSdmCQb$!OLS@OvcjF`=x{47aJ-Hl64uYvFYU?uc&k zkW~A5a*?`)7Sp?tR`>rWML&(y0EhF(7^9q?dIqOS@A~_KuUI3eS^Bi^YIS-R1i*-L zoB;hxXn_-8z7$4luLogkyO9luhldOY`*@cY8HNiIi_Vi>c!><Y`k@6*Kr!whJ|ay| ziHG+IYFiA4TO6H+eDkj5=8oY#uXx(61ZNLOlVdCmn!zs3aFbTBO*7ac@m+e^K7;hA zC|I&2x#&5hMF8OHq<|%~n}`It`ClaeJbdWb+R(%8!u-FAwf`2;vm^jUG>sFed|br* zM?ui~xNS9V*6O<^NsbxzACjeg)cYd8e&Qa?GWX2SYP#T<g9{&98h4<8I!EeyWZ8gZ z@PHs(XIR^%J8baXhdplW)OqcuWqVx-gD#mH(0320+bvq*4t3k19(2gUA^q%tZs8uN zx_nqR&!<&zSs<aJ7_kNVFF5TXCLv8ccitMZyTNZ~8Tb3WX9N8o(X%K3M&v=>0p3yd zzpTpZBJw3`Yd=zJ?B0xOo3$i9As+0LB&WH1ummS~q6~gkwW2DLd<11a-$9IX4@u%f zg0RD&wne|+;q7|?n_CfY+={rpt<<6(P6iC(hty<~R<uiK>TJ|rrW4(ypB~W79+LR} z7)QycKzsJBf=5g9o!=%H0<&45{~qrSQE{C1l<ra7f6vSE_l84%auo}IE~95z0F<f7 zC(y5X)mtL+?}<eJZmqs`D~#6Hvb1016C9#GL(ehpU=f|Iz0cPltO`~Z(E}9k6MS+& znjA4SEyDU1gLsquy^yc1g}i(-;<X!wX3gV*`wWMB)a@p%V3)|WX-C&-N7qPvm(%nC z{q*q4xCa+i+K&h3%+3G6Zsq2`#;6{XInTofj&{SJT)!Uv!+Jxm+{7Pe(eokzMl_XA zpvaGi1YZiH&g((g+OB2SNQOtm!%{v07Z3!GmBCldSd^j+mFAk;pWypF(!oRG+6IH+ zHiySGzW&{i+t+KndCRcga(I16><<a0O(WQ)X}74^4t2Xm7A17k2lUf@5<f)Mp^|IA zXTd#qocRDoB7(8`-$iVKi#-qS#B6Sv-}fqS4~I|t37nsvHvurB82C1-e_eB&;G-h; z$Ah5tIooR7ii&)Kc<^vM?m#K!6I_77&y!1VDJjY0os)zgb&iZ4&J9S1dklkhhJ#&B zyA8hmR>-Yu5pUcM*xB&Z!Xr{WrI+5N8C;_kZWEX~8?{&IM7QW?`}DFs;;f7F`5cK) z&ONwFesody&u$<Rq3Uq%7>uLeS56M%!7Cq<FUN^Lde+Q;czy-Ih-UK%-W1HAvZnTh zdVTkHt+rK9;$w#K{y3jN7vKaJX7G!qBwvIFW^e*=56O~4Ot6*@K<cmY-Mb;%TQ%Nu zJK&XFM-*jb+NYP@p<#Du2iFN~olbazwQ!f%^*Bu)(98CwW<z=&aDr7xQ49g0Y!;E3 z7}XQ9%=7Spr&;$$*KY)0Z8Rml>O+64=y?|aWjX}@siMEDs<#FCcf^E08r8Sn2x{w{ zEbS8y_elzzU{OB7rHvSTj1`b{1}AXI0a<#)&@>5aI}8S!+<zGGyXz6J-i&zTrl(cU z@cIq|cb~f1q7~evW?MAuI*sN!se74ja-W{tCvk&Ib`PXt{rnFoA4Yyj54zOem^y*Y z&42F)sPsu=$Gy8T+uQODb=--cq2!-3y_*EUh`QwY1pf`{{)W$Sf-i<q=L135+Nm|J zk;F&DgT10q$pvtNNBHJ0QUOU9Hp=T5g68+(yLdMsjUQmbO@_m5_77@&?b{(Q-K_CF zFDadtBMa^`^an&{omOy-MzBd_n`|{+XI)>Sm+sNa9x}{Mahl@CHTRyrRZu-0%SEdK z6=lEd1|lJ%dGZh9>G$FAK^(vGVe{2A<79XRC;nW8-i-oaM6tqKsQwKd=M&g320`m{ z);4ZM^&OKI`2;TO7qc7X@$w4?m@Ztu@T}>S<cy9+f&jdCsPE&lA=z+`I9O*8?{Ly> z@~!U%+`bX<=1U>hHyl}%lIjuNtVPrA(h9E;n27b-P1d3tq^`$FdN(g)=HvVs$z|0u zd^9?HUZz$0@CYH1+0M;>pWyrfnRh&V;HZb$@wFS_-(TyP;j`%f!@FAmjK~A`Kz~71 ze?{R<LH?9AwJ(_3?(HbrtS9ja@o*oPUJg!h`3!y@{U*iiN*?crcpsCc2P8p<VQq`v zpu>0G3E0`H@xE6=Ub*I|MH#8@(s%c0*lRR{9U{}95o}PiZBiZ5Pxm-Y@00j`2`jj$ zdvJMk0*q&plBG{_Az5i)O}i-knSk`kQqTQ&Vp=Wk1fhJx*sBFwo`+rtfN84038EjZ z)wkXVqxDXf^+^T=PN3B|!THSds^8_tl|Pq~t|Wy<+>qB1808bV^oX?IVi;}FA8c~( zVaVos#Ot>s-n`{#H!_l-PtV<<VYX=nH;8PTnrTz3wdh2*>1X?#r1uzR$2iTFCKo+E z8)3HR=?6KQq(;iW=lbvnme6h>1gJVPJw}Zuj$!{{l78TQ=Bo$${%C*i$&~$CMxVMu z6N5YtG=&qW<~TtRc0OQ()=t#8MiL*83=eQF!FyNamX|+rnfW_I7s&=>bq3e5+AID} zwJXoHR?K%$-~`T}khvad@{nPe=My|UsPQ}B40-idjSsxy*lcHH!H|J_K;7)n3a(QR zI=Oog-J~7ulDHnn@f~{Eem;e|y5do+Vii1ECEtsXmaK$aNGMh;k=?;afY+GJACY;- zg9naC(!-Zui@w}mGlOT<{D&6;;4F&K2~OaZkBgWu+MxBhx^3JF>(@*c9}^EB;IaXX zCq9{R4bE}G%V%)VGeQ+w^f@kh>0LezdNv@7_lWH}!+4kDZiC<ZPRJ`aBi{dV$jwbh z65eI#_lR7FroB!x*e0}fn&DQST;vCwrhA+w_egvXufAjz$l{B-RJw>j5v;TbObbDZ zVb#ZEspH<AgwDF$LHW9|!g=f0UL|@V09GTfQ#gT)aROW4y&cvz>uG#K67Q3xr;}l~ z$h3Q~vYog(gX`4#3@sSRc-B>DVXjZ*6Qqa4!5aPAHoZZIZ@e9FZM(+zyb|)B8;(Yl zkk})-X^VDvD+dfEqGmfpw#`QE7QJkrZv2ozc92I8#)9Cg6)ef|i(0T#6#mGQe?%N{ z42KWm<h}1PUp+d~qobp%G4I!>U%yzp7Xsk?REZOm^9hpS9_bh-7=;nb73#DIoGlt_ z{FoVh)mjHdK7mJ3pCIWWxMQ-x1Sh!rAmm?cguM5q8sBr<v)0H+waaPxU7Epl+QAJX z+aQ!C>rtJx@EVEhaT4F-G`)}WaRC}KHG}kdNY4cM&I=soBmbgO?!V)Z%y}L>@L1C0 zmtPCN++H(-t32=DD)d4CT%4wHg1nC57lUx^12$~#M2%~t@gd2unD4+lKuZ?EQq~?H za@M?wRmSb=3|_rHf4o3Zp8)5`ILS+xB@c;%4SK_E9_%Ol<~MS{@FTBgY_(F7a6m76 zC(kepU!rc;FeaoC=Hm~x{44abJ&uO&5c^&}5J~;HQjTX6f3z|isIZ`_z`xS(k+GHA zByFtJa{=fx99`1XasQo|&KeJ0#<xU-AY9=AUSWD603MxUX7ULT`$ZeHK4)y>R#@LP zX?#pFoa7UX>l2JZawS^jTPibnUjB1=A7?Z8l65T$nQ5E=-@_L;K@#LR!O>}h-~Cp| z>$f64_^NViD<cixVdx)Hx7)Prb?V_3fvFML4pGp`3!7#~94B|^r+Z|YqUwrjJeQGE zusVm1!k6`Mw<!GKNZm0?N|M0--J!pILw@<4x7^8{x33QR_u2PctlbL%aCtP&CqVUA zJiH0=r^M905Y~5Z2PK?fluuAqpWq_e`%xMET*r@Tf)n6l)ITIm56SEr!)Tk|>aX$p zZ-w00iTKc~A@958XoU9|1bakjhh}txR&bqAYDBh4Xd1M_9TL~&IKInidXLNxi{Z&5 z_h1%W^?1z+?QRIfav8$HNJ!o8U?jw8Osa=u-gEC>hGyx>n;(e2((ah<vu^&w3jy%B z=n(j)sQ#`;Z-e|hnCM4?`qmq^w%&1RpJcdC78m31OZfyBvIv%~ufX6db-HM`78Ucf zzzO^zlAVwZ8w|rOdV@{gxgYZD8xik+CE|Nuc5F2EiTx2h`xdR>W-bU!lfXm-vQ6D~ z*wR<&rF$F>zf0na31T!Gy9cTcL5NH<57YS!r^CYhw@bx<vd9fkM1?5Wz?gb*Uk=AH zN$S|YpRl$jcWO2Hwa$j|-aXUSKkz~TJZ|a&UjzMbRNddud|t#any~YMdf3`=jccUw z5$UiPcTiEE;7kla&u{Xt^401Y$IjypMLvNl>N9X%#Px}jha|x!y}=gu_G|p}--~$j z<%o~JX4zRw8Ae^Y_AMIrI_=;VHQOdI5e>UOE^az>$DG7>IZf`9X^httk$~Oi2Y9Ld zDO%w*PU5$CyZfsg4!@bZSz_j|a_r+Tx+jMaP_x^)kin7qQ<Ri6Q4a6Nes_ys{?50u zy>3r2a&-j2CvRP>-3tNmWM~d25V2o0LF;poZQKg#J0?qxNd^z`?tC~w<p=m!7<|S4 z$~b{@;QQc)_+*bX=r9=Ua&X$<x4s$j#;u5tyzY5<JEIZhfMF}h1wq|zU~ELqwunrF zR<Of%{SA(jw>e4fveWop-rW2*S&MFCBw)S%D(m&v_}BaYU-kySI|dWamjj@P1V!Ob zi_?U}9pKb)c<9K6>G6BNH~dPgWBO^VSBLu_fnErJCreY~4$3$|P}{w2qs@AjoRH4o z1cI4Hwl7e!{7j(mlFOjyHBHU9bM-O!Jv2SU4c8g=w>a&u@vpxdaBH{5M_&*5z^#<H z_7?r%9(A)xGrUbJ+$E42q0|V2h{!g$)_gzLTAyGodYM3K09XlGk6z`awNG&vf0NAj zF$8m0Iu$aUasw2^QnQ;_sR0Jm<MfCm&baq>N~_KNs3yPKSr_lz)vu7W3cU~jPmkts z0x56;6RmfA)+Zb8kMjwr!U@h%N$9Mp>Mq3KEAOAwCs3Cn{s7628O9Cb0w;LuUdXR( zMtty9&qrR(*k~m5-99Htn@;!&?dT?fL|6hs+oly>C$jBgzD4k4SQF3+cXO*r9V+46 z)hssuJ%)gKu!Bedcv9cP%a9~i_TCxz8`tDF-~O&U>i4-)=05<pFV^gZ0C@T|hZ9JF z6GXPPW9!$*;sdhbK|W}wY5>v&O#aJd@UvZteAgtOKz#<<1=lA{9+H-Df?xl=i1)o5 z@yRzbu5}V(f67VrP1?arH0^beyvBiuEi^Y6BE)3G?qr-|>@~xzFbT>iBg0BWqsaYt z8WX#RIPW+-^u(uW|FzGCe{XHWc9Umx?0*%#5CB()W^e*N4(5v{Xnrm<^;@>KYqI2+ zbhw9R1Jt`QPEh3@JZT0$PxYfw`H;MPSzez&+z^-S(HrJC!Tw2ufBB7&_q`PI@i#oL zZYK<CeIol!*4%9x-ED5HeLwYJvxo|$ct6C7aIN({91Xui>`w5S;R-=uM#)7pZa`kc zz)}mg5EB%*izm|);>2<Ht(49>dyVXU2Urx>_x50+t5{?2T~QDz+jr@8X)20}6j8BY z7o-;pcEm0qidaywpjfZ~VgY-LF^N$$iJER=s!`AP-dP4$#E6Oc{_W@Uyxu#@?9QEe z&po%CGv};+=5xGLzlH7T?BkqAbGgG&1Iv3T<4^xtr^jBAIxsu0&~s_|{bZNeIzJdL z3LJBPMYloa6>A3FnHYL6n>*sRdB;ZcuF=2$oEmv6=+@l_)=`t<{`^$uP{f3oyXhMm z-BGuicX#8OJ0TU{Pu=`{nC*32%gtGLI$iqp)~@3xqaxEcN$&TITNFOcy2FLd4Sko7 zSlNT>-7xz3?&nj(6E=IUw`qUO^0D=-KMJ}&xb)SJ7DImf(-<SsZmTbCbe<l)vusMz zV<(RTzc{uGpRxFx&+o^MNNoDW;6(`zU!L!mSaP}Bh)bbMR-SP=+zgttUDLB3_opoS zK5)ekw~c;R9PBKAHoo}mD9P5WXLat%pU=PXUF+{2ck`e1L5S_HdPCa;c{s~%b)0Z) z{^wszD*RFA^O0%7hf>$TGNWAo;hWokafAYVgCkOWoqn?~*A1hmZY6#uqIN(3a&`KW z-6o*<vhKx)O<Vry5b{X}Gu8C7H)mnNm;XCA)8)%kJv_5Y)?@`naX#kX7fY^4vx>Jg z5*4KXj8)g{p`ZH|wfITaf9$h1lQ&G8{ycTXqxKg!miqs0nD@AQ;tlgACa!Y|bR@t0 zwy)K3SL@@R)+gM)ZTREpNDuR1?3LK})h)T#@~JGX>*poM7yn}V*{8S7Pan8@x$$pL zpuQ)p{Jh?yyI!VK>g*e}5_895tMGN7?4DX~{_&JX?FN7U;ZM$|o~(a3U9nTIgXxIe zI|GmQbFaJ3w}mRPX~mzZU;a@qd1L96!=-noCddCe^SoX_(hu>zv!8#W^Ze1uF~6Jo zmtY^s&3@~WmWx)IgwzpVJ%9REa!6r$yTY#|DTWs-#I{2R(9y079$q>$FK%pUv+HpR zMa5l~y?X2l!;FMcUcVG&Z;7cRIcadMZI3HI5A^KY`%JsVI;G7Ee*4xuN=G;Av&an> z989Mq{pgz5bX=5klRYbPtpC_nwCCB*A5I-R(B`LHYhU?OSJ$04x3oCsASqP!iCj>& zJ4AnPlZ`{ymsrg_S`zhL^LgK=`tM!7?Ai6jn<VxhUX}c4tiFGzppovVlCrRjV<uex zM_*sXV*Tvr4NrEky!xO`(BV5*cX_t{Ve^mPOPfY22A`N1)GMi5`la&~iyl2&k+*Vc zQp+wQPZr;IuxU5?+4m8vCV%GkhhBQG4zaQd-^n=>3r^Ts6xwyUmEHW9ed+fdn*=ZH zT=)&g={vgEs|KA4JRLkb^U6WPd)eEgn#9|u*|fiX@zy6dzQ4Kj`I4AVes~DC1k6}x zXPc{2KQjNq3Dd5Vzv?AzJhHi9!r|ZbKlov@+`;MktqjW_T~41ld$wZd4}J#TpPmY8 zoM>jY-A{MHPkGS>KYY9G*|j38n8&M9E*JH$_|?(9|0kP+K0R>KFRb22`<kSdCg^N1 zHW{$Q#ip~mZNv%L=$&0gc{V-%WS7U&BfXgrcQ7qBSf923VBGl|humyR%=(Yq+H7~? zt_!#Kijx&TrJOmk#No@+dy_lYf0Ub|Ons=oe9XD$rHhY;oZUkw?nRGk_{W84JG@JA zWuZE3&fSg8?_>vs2W?quDSEti^!&)ItFj+|Zgjt7!k+d08_kb;bo<FzesU!B?S{R} zyQ-FxK8%e@YV-Z(VTS^<!!jyPK5088v2(YF`vx>K)19~|rfhfCgb)vT&s(!?z7@s& zGGW8rXR}V8|Hw}M=NR;Bk8vMG-AMl7is7E?4Fepy20v=#Y;pOXo#)X!r;oz*M&&6s zKY5X7i!}5{lY4*NbdI7o__lg9qfGa3WQVM_EmHoRAun;r*L~PoZ_Ojeo=N5nZp@n= zd(qK+vGU@Bq>338e`HQR8}mec&hJnY`HxX$+wQu592Pr2?mHdJ>z%IJT|4#Uab~AB zpFa5JYv#4+`CTJ+r6pUZ)ET(Pv!g>hyYg8-mUoiN?PJrDgMD(^ta)_IrsU(E^lV@L z-bn#ogC{i|ELl@=pzNAS-Q|ss%~$P;`8@pG@aU!SKOZ&dFx&KgqZ5iRzg(j8-PUfc zdOH0!zcjtW^8P*cwU?itNtd%BHlMkKWF!QisCz1A`Nls)A#DzA|E{&i(y2dw`FTAU z+)_5p95(+<ix=_o(GdreL%*M=Ur%SF?fPE7HMD5oRucEiZ^j+sx_$BFhdoW(g&s%` zr>Ex&_S|f3^~>d4;_oAK%mas&)`^O_3r=(_$o$mmlU;xQTrcZeyHEN|Ny;|<s!m45 z@>Vge!n|L2*12KTs)ymKhN7LW)0(SOMK+JbFMj-py>)Ex!-@;B;eK&JQ!ZFP-S&O1 z=byjWe1)-E)n&(p9;xG=G-x_Q{JTzEWP<0?joUrV2LHTyqtlqj77e}3O%6Pn-N5M5 zjc)ylvnPEy@8%baO`>gDMUGhA{`PlU;wMDjS7)s|MjcKJ-H!)R|Dq41>B@_QFw2PT z-({BvHEdbfb<aSb#HNF;872kI-jaRn>7ISxW$SJla&Xv{!z<kf`mg!1g=d^mgT!yv zMLRWpe*DgYQC}V05Q<SJ;7aH9Ck<{q{G(pIi<cMV-5pTSZgaVT|4D-bbDH+eezLlA zx@4$v>jUL(vphCWU)1v0*LB9I&NWWkdvAol9}N!qBGM*O{`Cvf&8%6O4xh)=xj}}H zw_-oZ=hGt|2Zn7cHW>I_^G@~(9pnDX6Pu|fw(DAE5%Gc9@3YUeUR;(N+;~>(tZ`TS zOS*M<`efH(?t>iucjjZ#wd%2x!SsycKXt@XrIStK(;rt>?7Z^R7abh-ne5u+{){X> zU6P(Px8D~lawbPcIIY~Hc(^d$9Rg`osPFN4y|QK7>tR56t`lYzap2&htxn@&IHR8o zdhf5lrn^zEl#V5>+n1giH)_cdzmKmDS~Dwyb`)R5G&(8Z%E#C`srcjY!aq8zKA(Q; zsp*1)OSbm-J+jd=v;L2D7CZiuCq9A1!*i{a9(f1${eEQcy)?O7k<*ht;ZgD91{dvm z+;-`+JzLpbjMVkGxM=&i^xh)%#;cbm8CZY4euHiPvN2e-4eIyoLfV(2-+QQzI=>he zaG}EeLEhehbpk&PjW9X!eOCOplQnlTvG=`tCyEV{I&`}onH-qcB|PEG{BcnS24)3r zs9QhjYDLzf7S<zfcYXZz&CEX=H2Un@&rUw)HU5v@20gBrtCcKe?(LcB`q^gBE(YWu z3`y$SH#MzJuj~c(cA04@^LjTA72lb=t<1M$r{8)m=+)CVX-?X_Irg)H>qkd4JiRMK zvTtg?)Pji1ev|gK{$cmPqOmWgulu^SYKwZr{5!p_$r5v-KTb_H*UJ%Gm>2*4ym@iE zg-<Bo-%RO|HtWMr&eX|xX!8rT?#-Q}F*kao-sthTPZxROGx@x@&veXU&U6g!IOSf^ z0(u<Lccj{0Kf%9Aho~z*mpqXEHnv`K?#oRr&-F+hX&;dKwBDFaCxTD<yF{5jdQo`4 z>0vI@pnb{X7x8sAFGybTy=9k=5>xX0KNeZO@D7War3&}f@yf5b)??$S2<)mhy*b2S zwPS3ZPiHzjS6Nyb&u>cGJRX<#&}q2axOw`44c(@88E|dE{ucupEjCO@>lX6F;Hf-u zL6-8jQ<;6gbx594(d~MV-w$|gT;|m{x}wv?{9DHkzDQ3oOc-D^;)#LTofa?di@&^< z-}px}xEogl{3te>liGLK(cemqmQ6^j_-u075jz;&y7hJby6Ik{`%hc8o?LfdALUo0 zUaaLBAABPHKDOVY8HK}&Vs*E3J@=n8DElC=!}8`8?e-e%s^j)syJJ~vpWXW8bLVdZ zx~9z;Ry37AOZ|1z$2zxk?{LG5TYD9KvoY-1UB?9jFaOx6aI3Qs>ELM}!y}tmw?m?z zO{bxHtB-_!(@>|y9JT3!HXochAen3UqJfu=*MlW0xz4wBb}#ERkvsI0L5pspsP#Y3 zvUOhg;KgrvfDc-&@#OwITpk~iRczBK?4XqPI<JfO!(V<X&Wow@0X@9XwDsMS+ecpb ztO$2l-qiXhgTC_?7UZq@AhVrs#g_`)&mS=VK5l(zaL@Uj?}mK-ysyufcWnl7E00-x z+jLi*A7a1wZrxaUtm&FhhbczfTpRZMMl*-<{_)&OMbm@+-!{0zaa^|<4nt>*4w?}v z4w)8;f*W9FZfR;Z&~$*sAoBrYGc)mk0j6e_sC--J%7$0IFlqAWuragQ7Y3M`o0|?W z8)Rl9wzL*onwgqe;S1(#u78X#v|?BAojhhnM9{QQPBnURaA-%DNkL;neL{mq&z@Qy zD#b~hi-X#Jw{2h&s@uD9Tt}2db%8plah!<>U-19+#Q$bMAfUsaiAq<FYl1*p48lJm z!uN?&Z3yHc%Lw3XGe&T>>xOam>-;$THG?^MninTab>|dI-8j`!XHK=)k+WT3$JwW- zIB~LsQzTh)@&t2E8Q+gn#rEQq(cL%|6uR}yww!EcOHMMq87G_8n3GR!z{w^XaMDS- zoMo6UCmmm(6OH51STwHg80#?&*O&!b>6!&vb8mytZlV0IXuo_y{Z45AEZ`E_Pc~!q zpO^*N^f3!U``-eg-9q{Qqy0)ef5j97PBux`v~Otr<(-1--M0>_PZB`PmpWt~YB8-} zh%eVK#Op61v|A|u&Gt(nKg#Ki4W&~Ws7%8QwzLe=`^8{{F6sH}l3AD@;eJRwQI8}O zb;xR5r$c=Mhj69=o_`6U-9q_qwO<+0va$8Frhz>tG&<5Oq`{vC0mh^sU_?fvj7Wc^ zA$1$qfY2{U5^hMMu^d^BGkIt+XI%e*D<Zjp%V)k3Lc4|XeYW2=hVQ>^2F_?3(RpHv z>n5R1|I`a=Li&JVa1$~LZp=e(R6}YKXh>EQ>XXe>6LMYYKmo@WlI&>446EWC&bnyx z8zHn?DBnl>?GpOcSH|}0H!z~hqW0nKA2b--n)E_jkpW;7+LDaM04NPYT2TFw4XFMI z18P0FExBh6rKy)TQ^HplY2LTjNL{+6z<mE&1FJ(B+?yb@TPXiY`)!l0b)i39`bYK6 zZZ)Obk4ED=k>0qDWEj?ojKVrrqCFXmZAZF6Eyw^IbdK&%t~(~t>N`br`Olwd;{9TB z{V0z@D~{8c%Ll$4cr?4ORml#{x+J$o2<;ZicWVD4N6vnsJ?D_3GKT&i*)wWDar0?? zel?iXlXNHcAcILg$SAxg8KE?s*p2jXAN5AJp@v}{sBelL`4=Wr)ZHUA>%nQ7@p&;N z+$$oN54VxaN4sh0og*~$P6<g5WlgZyo6cG0XVeIx-9lO0_S-LW(Xn0Z*ik%BIkj7i z=)=Y{29W-g{y;x60*t5jCu5X`lTAr?d=IKWwi7j*VM^Ak2h*ri%W2lVqcr*R<23Y> zJo5N3hg`33BBu{Glh>_0^89!od3;(x;a{8~w~`(EEspM}V|5~rs|iB8h4O9fS1k9? zv0dgq&~kzO;*Rmsdktn;lKu<}GMX`vjAvR@!D#vb(nH$~CiSK^v0_qg9!nwT(`o9x z!!+jZK^k;(3%Os<BF`I}$cwf6!))@pxee{#jrQl0+b0DS{6#5^ymIJ!%Okm6tqOCw znjo}WC~IoJ!}_6|!`i`h6)U{$`z>_Z**aeFozZL&=|xzRVWc$~&$c1sNE<T3vB4}0 z(w}Zd4S=pGPUO5dg2r6Wp-B}7DB$*P^8RoWd0g8-UN<(9H`*@1>jrE8cJhMku;=go zDem#^2^#m=NfIC39%fy#2lD?qgmw$1cKhu!M{*A9{hKLP4<6Qcv0G7#B-`hPu`<$+ zk&z)_93ur}WQ0;5?PokRi4sw-w87+1kVL_Fo}qX4kl(GXc+MM0eJzu`u5Tc3Ja-1K z%95`$9$5P;<;N54cfWm<#@#<d&S&=Ru`JE!tV{R32BF<TDYRdiIjXB@?XZY$OVyVf z&vhjIcoi7{#tF7nFiOB@Xum;}m_C?ePi7lJ$m#eZ^1ix-JZ_*ZOg^rqljrpew3i|C z6?kbKdsS~g<j4JXA&t0KN<*(6xj*n|ZcnQs^nq#++AWmQj8U8-Gq7#n6+_N9nBz?P z$&O@z_8ZT0BICIXj%1i*&)<)6ypq~3R@1=kQ^>hA4RVn~j#oF60&*@bUqkL!)}g)W z!1@~DRrPr~f3IF2Zh`#lAkSNSAVd2}efto3LxzGrIf00cI|Hq1;6P}%P^xmqat>R= z8ueX0yvQH{?M-&226NreZdWpx<AnRMr$)G!E^9`RXn!0zpU)&`v|Dv4lceX?pxvuU zfwn8ottF4EYte3Y4>iL}>vJYoUN>^k{#^2e{`b6<PwGz(kjH07XjDZpIi1eSu{gS& zvpT-x6$tGXO8cFYILACBu-!a1(InZOj1pbRDBhV2W9_NgJa_7z9!lZ^^T?rmBiUWv zO7aU?Bt5^5Z@0XB6)`CIdss~#SJsgCHHOudrEsiOUR^_8IL8a}#rNTlwxIps;G;dH z{v;p$xPXS;Jx0El_T9ED+0nu3^lnZYLc4|1ZdW+RBX5dxt9f3(7|c{rtNGq|;c^N| zk1Z$F*=&-R<&fl528oJSlel;#Nzbe%`8l9$1rJ4K>3(@7`oi1cb#)cmzYYKg(4(H{ z_nsf^B=tvo$pgC7`?G`Of3tujC%5}roy0h-1)<$SX}dpyW3VfTY+<%>{3X*Zvq^e# z1KPKPWMx}Pa%K~LCj(eVl9JVs%N6*08lJnR{fe^XqyhTF<rQeZfHbYT@R_Fc!Z}{o z*ga_afhWcT&yThPyZFAK#yt!N5B8_FrVl*65#!jVDhTZsO67qFj>rC)oNa09K;^Z( z*|PIn_ejgK??_K)lcY2YZBIwr*OIhk722Oh(&ALKd8MY^XP1!zkOLl<QpxAaa`Ju! zsW=v(`I{I1?sY8<?XQ%h>l?uX>kC`?{;a;4M}D{WljphZcdd?QHM2T~d#HraZlTm} zzp`WrC%=@#Db8o;%Fk_VuQ<2fSzeYtSAK3&vEppz*NW2_Bt5mBq@|GiGb_-3+{c+E zJme@nE-odX%gf076)e>{UP@k<D}j6Ry0)@Xj@USX@qvwL&`F*c7kob6Nq#qWybvGD z@D?4--~<Tm7Rs92zk!pV%i<Il)^m#Mxt#py9L{Ws-Q12b14z1QB+2$iki29;W&0PC z;?yD@>hp`q`{H8q0$BM9F5$QmUYC~OoF(Lm`}Dd7S-QR!ZHFw~VE2G=?FQuOW)2Oz zl}olInd>c&t;h4%Kxns6*4X|_*_`}Z9;YZ>#wj-p<wP@@b!{?~tI!*ab<!A)WZ?#6 zlMw`+xr&sh7Lu}LKJI5esmoKy=Ryj3pBJzIb>PD5P?ydj_tLre&LZ->kV>9cD!I6U zaSvlRyO$v!Z6^2ftee(H*L@&5wvJ;E+AWmIL(v?MgR?p1=`>D$b1$dd7Ro8-m~qO) zUYy+oU9QJiqs@9)`{|D|rXFMUNEFe7taim}o<G{HI5CHmfcnf_@+qH7-em&jp$@Rm z1e}{kUT4tu<8kDAJQnlKWO6?>pWII`B#*O8NPTWOd0tvYo>$kA5AMbHO6Kp<6RXvt zqE(z25ZW!2s%;@0kFCL+YJViB+&zu6k7&o)&uYUtM7HCsrhnkmFxcb|L#+LDvF>X> zt{I84#-r_Nc=nK+6LU#%G?A2mM`;pypLshxiekzAXbd?NMvy(=Qk1}R;eILw_ptz2 zL>{a^l`jLID<DHFm)R7pMEh61)_(iQ_FNUvZq{b|m@b?H*0T1|U7EF<*s@GFq&XRk zZb6MgOvpUNg=8g5Nm;gpmmB4=WKtf92jWOw5>Gy-;>o)dU}X*PEQ%qIBeTivNF-%` zcz_ZwW|2!_Bsm?8B9{~KxDRjxK0MfcoLWGh;Kk|Wvh&j8OIyfJEP1W{wsC#9nqVK_ zmouB$ImTd2Ypnm;l0Me1-DdS8`F^zZJf8i@1-#5Ck0g-tU<?pVYP8MgWDI!=C_!BS zKJzM$CXd6j$nDTf@<N+)KRNzv!R6fVW}jR4bjsP~H0mVejNQYDIC3veBzMS`$H`>K z*!<^;q6JE6amwrMPqg4{t3j1GfRo4dGjBSv^LP4K1L|Y_*L*@p5^V@2W%)`{o>`1% zKaVueK9-aRB1xGaLF(g?<Wn3;-bFP-eRu|W6ig@Q{oxdTYB3Exl61v<*Mu&%2V)dN zj?JAjs(3+B$jJo{Mi$R`=2ry%j>nMaF+7)Jv1C`6lq@TV(GlccC><84xL0AzIn0;W z?G|CWPj6y(G7QIBc6?{*ztEW!#gO+h$d1rw3&BM}6e;)4B;}qNq%NFEJ||}4y063Q z$aHewKZRWL!^!V(1Wh`*=(!|ol<&aYah$v$igP{`%USH6QXkKum-<lLFt>xz%RLWA zo$@*y@q-uc+vVWwTZ;VI)<V05(ji5O_4rFT<9<X*k`cyJOrNo}tUlI*9U`qrxgRou z@k)6zg_K2eNy*v{nNeaaK%XaN-c(}O@i{u3ybGrS)2iTgWEy$wpG59^Cz9K~2{i5` zWPEGbCeaEXPLvbEx8LPZ9A~u$y5qoX&h=mnXPq~V!*gk<+%w(OZqKw(yFJslD)Od} z5ZW!2wu>A%0rrdedh52ct*+@$H6w#*=G1s<Kj@nfvOSBom$J5_zaE9mABNoQhuq+~ zD|b#NCH6$T4$h!Kc+TF3Cu?B}dG4P;9=pTH4H$-d9KL`0J;@T+?$X6BoNSRZhwpPP zM-r;q?{+AL6YrkR+3uUkNl_|rFRI<s>nL_juP?M)DD9VfZ~|<XxpMvIsumhzU1*4P zt-&-i>a*Al`U~x5<5Us!Jkynj;~+P)Nx2VlgXgZ?K9Q7L$CK}YX*Brobn-nkg?tJo zlJ~)h<aGdT&l?MjAvM|`fWNC&de4$9a^hr5T{+oeCl0^y#`eq5ex;`U9NPa{|8-pL z%P}~w#eRRPhqQ5&=ohv|H;AyJR<RON<<BA&bTJ#Bl!a*fA+&uz+P)XhowXg$UAbi( zVI4%i`O|0!`sbhnlW{MT$Y=j}Qtt{SkKEDZwtX}WEtr5kw;`pXSj&czBr(S$QN+oy zujG0-zQ*VO*7mO*!Z`v?YX<3eo#${w4{KYaXsp#EMP!{BKz7i-nzmQU4AV9H(DvP| z?csRtVc07PB~|ul8oYNZ4LvZO2BV)2%AZ8uyT_4wdoa0g3nciI)1bV-Kcq=Ej*^%G zoFvww3Nq9kcTD1}_D<*JUt50O+Ww6}oHJmR<}<-KPJy+TlHYIWvd9f%Bl;-++)*Az z|7G&dbPfO9(RMh(DL0QH<;GxAWd)Jno+;#?KZS<wn@ofEKz6o6X10cq8toslH<;{~ zJFb#O_2XnQX0Kv)Ursz%%2{I_!us#Kw4b%zJ~N<0>jf^K>SM3LAkmhZV$CbxF_G+; zo?)`i>lvZ#&^7G2v$p48JV4u(;7OGcKtp$h)9}5MY1p1gG-yW{`D_U#&n+P|c-LrB zZyNN8IBsA^S#<wb+s^J~wkan`QT(m;JLZhlHC^SmN`H<68DgDofc=O5>xOHdJ<~A< zAnWJ@%DvO^+^1;dy;|Fq>-|Xu4BIt{MuLN(J15YfEo0FBG32{7l!oMvBE@|1I7v)D zP8w(SI$}&Y@xs5?ewz(J;~OvX_``648|lw?p|(rC$#xHP1Zz9SRE@0TnKK=^eL|JI zE3?>hA4SUb!$`4a2r1Y4(Qt4UkT;q9(4PlGu6)rihVB?cPOIFGh~v!lYHT~ZpJ=py zk&3g1?AT)t`7ZJ^Fe`X(qZBn6VXvXVTz9hB6iRkXH|9gm*)tdV>9+CEGh<1KeyYq0 zMB7KA?f#@(jkd4yCEL}5XylFwG%|N0`JwGYve9-tfA5WcKT8rUq>?yuPJ*`9h}iz< z%l$b~)=19oa2)4`@k`MEZ|lFxo#7+eE*<hrFWQ;9FZF|5hm&l_6jJ1d1JI4UZilR+ zEmdvL81eGCuk<18lagwc4~>LejmW_mg|-jdG?s?tVBAZQE)YXLBynitUm>bDhiEyR z9p8UrYu$eP{8{b0uL}IINsJrGvc`~N>qL@ek0aT}u_VKMO@=)}c_!9c8F=RCqssNe zNx5zqDVfZ$wlDW2MXCp>maEAh+y!KhrQsXL;6BE|F64ei9MiXzG`24%jWvBMB$3@Y z`)y-6H;l!#e*TAIbggzEV&e+5jkO!kO}1e)$udGnmL5d1by)AN9!|1V!$_9q2Mi+l za$mq3?N*a=nHwpWx)N;MGz|AT3ctZHWW(_1(j<!!l9<}Ho!y@#swZc^bqv}cU+eZO zj>K?^1G7Ao8$*8P+np)2JAh=^GvwR7Vkp`@gk;NnNVe3Iq}T(ME(BlLFPEh_0FER_ zeRyUt1+w;|-`Xvd?-ob(uFKkAYee_qWSG0Vp%2vd`75@M;}n~N>nqj`wN|VhIuXcG zto6SxU+w>=Y^Bg{Uy?5KCh1bNdyxl8p{t~5vvjT<N$1#-B-xha^XzF9?tOIjc=BA~ z`K>s*hnXb0C-<(9M)%<CuxB9NJBy#cy{-Q$a>F=9&S*}tei)~Kzk@Q(vyO7rpjL`B zwH&e?p-A=IFI%R5BwOM^GCXrB){oNpX!{(rJy}K4Bqd1zIqD%BAouGbbMgIRC9}J5 z(x`6lj);!%t-$;ufA+h#e}y-vT!DL7J(yE4zYWYy6-!-o<csWED;7I>DHb{|k)_z3 zmCdvLN}8m2E=iD*BvD4<1evD&nPbQ$MOkJO*|C{4sw>+5H-Pp_=2@ftk?*Vhm>=46 zXg{Zb?NKpbsjrx)G?UGh1<R5}>tsoybCLv`pOr~+@>%Bbn<T2Mw<MwiCy7Km{tn=~ zBAI8&Ne)E+TkYr2eoj6|3SjP=WYb)pY^7Et+hi-^Ojk>0wbqqlALDOhR$F`*Sntc( z7DRJ@A^$X=m>&_n(9@K^SC++<C0CdK{8?pL!RheF37YZ+{EOJ}V|Wy?vbeHj4n{bB zR#~z?bMYKkQLW@ZS8!bQ@^^M#2adzf^CkcLIHn35H_|GLD~}UU>fv*t#35H#^L?Aj zGCo<;p7<x45^hf%yACUHee4PFWnETQ;M=S$#;;Z@8&w{6s8%Z2F}^31@$4A)Pprgq z(Ui~ltp^;G@W<ooY5Q@Zq4-zbkIMv~bp)#XxbU6oeq2)cZOPI{a<Ex)wrOfkyucpo ze=$GSGWnOyXvUe3H!w6GQ#Zh7biMukgUvdbjgfF>V?;b^`o0+7hb(fUhz_m#gg2eu zC_wMS217ZrozaY>YbOQ{*t&?b$eGVW`}_83o}3(g)H>0oPmfu>moymL_EBB<EqpMu zAGu;)F$uP2-zx|51|HrF+wvA3?ECVJk(}+CA$3Gc-Bg|8rQ3|A_WOm|vO8ct>yRH! z!*6aS|2zB0>-Ihxe5>$l(b1i4Eem1S0%Vz^>R7JzcWIO2QmP*#eQt>LQzwk~(j#-p z5Bs-%pTZ`9{ajDjF4eHn47zg+Yr?(5Esw%31KXHm?s%QPYlbf}O7@_xn<m3Pu^e`; z4Y1FplNz=vAKsS5>{;u`^TVy=eft2pUe4cQeJqEwIlhH+JQByL4kdJwoZhfPbtUht z{M5SNWM{BHhrJfh%gbNdGp@p3f&Ex7?1_8b$ooQcbVCd4!VJ#-><Z4ld<|z?p269y z^yuDkQk$=&J22OUJ;bxTa{u}w_7ThHk?YwMQeRn(ecg@N$4MV#eQXWquq}*p$O+}_ z=UQ^@gALa=5AQ<C<8w%LJej;sYW6d|PQ}q6?CXs^wd_}~;-qJur&F*exp<50Xi7te zxiZdqzJjxiw{bKY--WDqPbXXK>#}vf*HO)WmijQ(^#>!qaVv<G4mmbQg#?X@oDW9q z#yO6*7;{w1J&l^pv?%Yo%8%?%V{Z@p11ijYeF~<KH`e^#`^J;gx<S!4D}A}autm5+ zFWK&yrl;67%@FHWuE!FOh$dKnsj%KvVXdgZo`P+52-dUMN5~5!k4-}^h~g|8h~mYZ z@4;Aper|`gHrvnWw{}EWqxr5snr{gsd$w-C{9l2!upQPl!?us7AzLx;PLaCVVBKhq zb)rkwD9*hwkrTc@aO*_>-m6A^E6<rg@{OUSNFPaxRfEVj&67rK4kPz8_l-8O{WuZU z2R2cC;0Ni*xuN}bduQ<1R~5|GQ{{wuDpn8Og1O}_%*~!l=iy#3AM;x~>`O^(pDs30 z-8m8FGNPy+oH(`*=Zt+NyM3DPWABqwZVKYC2H@n&+>GQ4?8VYK(izG*@>6z+789%^ zJ8?FcOYlHl3_nX3t?$!(=sM`X-+^MLMk<k@1D(WxkBWhWwm=6|6hOQN70^%Hp=3JZ zP~%Su1%rRp^-xEArUa_=5WZ7g4>6?%J3glbr0a)swrhu?Ph%c}`G^X05&NYsoIJ&r zQ_fRx@?;xMl>qxlY;R5!*@Y8FwC5x<TX3@JjXCRZW6pBC9%l*vQ22>5|IlFTF~&J& zftHQoBMSe}*TJs+KCZ98^~IBoIjaeJt$UBI7hy5B{uN1BJ?10%0{)Rs=Aky6d8qYk zcpul7&uURuJgu?0>3HMC9|Y+?&>gNvokR6W5w1_7P>u#n=)2e=X&h&f5d0ec?)7cs zdUMj*UFzA)YG>blQuA$1LmPjmA7n!Mfw1+AG$P~Sb;x2uJ#v}T7yG@_E)UqcxVd>w z3RfNPdVMAMw@ox}Y7^bdzsuB4CrrZHKGPr52L5`jNq_VQRCh!JG7M=#7|SREw(hC$ z6PtGb%v15PjZS8VGr0jrHoSt`T;E}t3#WwdvTB~9^?*3bS?y=`y<!~R<Cz`;%j*O6 z$F!$<AuXxt<nAO{<41vK*U+2?XKBILm&p-6Iw2T0+)H;ZG%MW7SsdH`3jXT)Y(9?t zVI9>HC-eTv@`bG;tsWX;Ut16UW(M#-)1BChbi=w*n-~$<ZW&LbuVhmge74wl=K&k4 zE9}}H@J|_b?-==CK6u6AaIT>R#yxG+bbWjHal;3zj&!-&q1Qb7t<7R2-?KekeZXMm zKwKYwZ`1ly*9ETRk{?AOusa9eW#j91@?d^I%%;x!Si!&K)?V_2e_r6HMb9Khb5+)b z+c_I8ymEc`lPl6kG!d^FJfhn|*W)G$$`|@Ea(++KAX)++Fe@@a*%ND8yF+tnBy9F0 zKif$@A7yL&rQkEA@t4y0d@=tPuaEb_FXRx7tSBX?GyCQbz_sCDR0ZMs$_+sr<`be$ zOT4Z!-y!{E2Qq-~kOA|1!rp4LdCt@q`x<sdOUM;|Lk?H7;X}lHAOwFQ<~ziWg%b8` z_$M;|AT|7(23Hhe{&J|y@>p&|n-e=Y0mAj2wuW)4&0`cz=c|9wgD;Rlf&&>PIZ(^g z!DPNGg6z(&CC6*oq`Z_tGWh;59}e{^K0nO=2ex#;`x+}TUts<Kn71$=H_tnVY3QxO zCz6sKqJi-7gntYV;rjMF!#T&@Q%t%n^Sfv?+nze41(3y_BvQctLRFp(zZdvnl;OJY zy<omC%m>5c@+$IyKZ|z_@WPyj`Q2&!TXvJjC;Q=7afs~C?utgTUQSf9oriFJ_^@#H z2O~LA-puJ11xp^u%eOsOoZAlHn=BHaT+91@$Vzct*Z_Io3HYw4FEc-tnxXNJfIk|1 z3YbrX8vW4s)BWUeVP}a|VOCwMqwwnhw6AY>U>0Y8a!Eba^<7=y!{I3_-?&J2VOxpf zboygy={k~~S&Qp0htI}R9_ov*F<*v%36Gb)8(z$}f%#}$Uk$)NgYOIQ7rTWy<n^7u zijQRu5FN{ePeA5t*S9TR#3`@B@8Tl-7?@AM&WXC6qxv81KgW_3IRPX;rSTb2lrALo zdHCO5tcFWC20ZaM&x`Q2;Qfstmmi`}-pqzy!dB*2G25ze9S7fpm)AcMi~UQ?txlzK z%8Q#h#hJC7a*>4VH@eO+UB5an+7IUl`?&DK!M(#at-$`gC;SV1;8Wm@`K5RHeDY>> zhV!stmn4uQ^D)4DQGISH+Oh(E5^Kr#!%T8LmvPMI*cv_Y@ii~6zsaAoV}LJ#ePSQZ zF|G%vn$@OF^D#|6t_R<N*5lifbRX;(%;yJlRA$FhmnM?;X)T;V9q`25)dM~PqhPOO zz79_C5pXS?$NL7TVT1K3OZ!H4BGpWCd|B1?9pd|QRY<Z#-IVJ+t;3@Fqg#@3a5EaX zZUm{$uhQ6_nce&l?87Co<Wm|8n|UQr_kyk5{m3jDgzIPCEckuOnUy~Ul+2|;B}woR zNaAhc9w+CKZPCJT>5(}vua9}OLnWN>j*KMULf&9PmtX6Lwxw>^XHk_d)!4o<H&-5n z-57Ih&*KrWc}KwJ4V=)F>LWAAb^l}<4SS(meq<7C%$@v>%^N%TXwv2(#}jUNAB*|L z8~z5)g|Wxv1<{?V<bQ!JXIBY_1-1qqA_g3-H=!prpK407eVCIo`!BO6G26gC*fe1G z^~AM&j=|Q;?7n~(=K5~1^A0{VgGTI+I6p8ez(kHYDzop}z`pBoFs_B;{z$1~{`6Un z`=;+!?w&cM>iV#M+5z^!fH}%AX1_JSI?fz(YCH5fWihVJd@Yy_4mK>dM({oed*>0X z6Apy~lS#c7^Zh;JY51Y(f7q=a>|wLeiL-<K(gkyNG3MN`jdOPS5u5^kDzM4c#~MIi zxIS!voD1xjsx+_8&7;Nl>f`zy=R1%c^EF^LSjIWC=fFO~)(I-uIehoS=6Y}n`5u71 zZ0}fdhplo@{&;fB7_`YIUaTWZ#9A13R%d1tz?@yUz7o&Emf422Y^qM_{+u)3o$9r~ zd3}A@Ax)yCB*infWp-=$m+<$!r_%lfdnvOy4%rKv<Nm4SyLSR?jUnW@BbdCm4}Ty@ zwC-UOZGm-z1?)vOoD0@HZ@a$BmM~7T&fl>?lHISmv2yCO&Yv838yxs%&z#xHd7CHf zC>w*wcEczdx;vcwVK4NBz0GSY?j3ecyCtfrBG@#=ah5zJu>&!uAIeE#+xe^eS8NRF z-)@=r*}Aa*wZa~?Ew0Jip_rYUx8pEdF}pTwPwB%6@0yW6Y<~VbCz5Z@7#h5N9J#Oe zIw^`ZZy=6i*RKTDZkCJeI4S%j{_6Vu)(5O=u)u?i;CpMe8RI<bW6ajO3wAqZKf*P5 z+fh2~FR&Y7eL^E(Ga81q;}F=425lboR5r)PK@@9-Yn#6W>|55$oH*&hXj~sU7V=jU z|I+P~Mm3-B^J}MtgCX0KNxp3o$+u2`&L5{``|;=PZP;rj73?P?AP2)?Gx101xWsOy zh}i<M)_eugeL3rS5>5u0Q^QXFrt8Db+O}WD*b_GEgGqt4t1J_CkV+ef9D5@2m42`_ z4I*}JCF~ulW$xq;--;lteZAKXx-E+B+d&)+I}&UL)gg-L#wj)o=hTHsZ@j)De<r8e zF>!<<W7I8Kdf*e;I@mB)`}1}eX)0_0OJKWL<PLiU>=yIwNdX(c$gEHrxoI>hk_U!} zB71VMS=5Z#y`WFcIS;n>#@=#G&tI__>*%Zi4))9@unF2IR{Dm^m-}p&E%U0t{{0K- zLRXT`!`?mY4U$A9DdyT!aMn0-TkLSqW_H*5Z@e~Z6T3dRaR>Ky%ulX{{;z;9jAA4F z+1CugKD;--_GSC<^2H8K6pNgk<SBMZvboAaX_E8{NrL3L5;lY(D}28fM|HEY#-6ne zTkHP?tY@_0l&N_C=5WGWuJ2cQeY7FfgI%A)^*IIB-|~41J=q*_7g>_^P(`x%fGWOU zl4w?Itijv99XL;l_dAtaMsuotu&=zL|9+1rssOlndd4ZRZ>zxGr{V>6ak1Chp#mtz z4z2(k>oMT(40W+z$^+->Jmz#t9&>g7sK8ci1*eCfX@u=vh7N#&M=>r_0lZ+NFSb;B z>T7l<H2WC!IrgvmK1Krj5PKq3`xvOzw2vW-C)%YF`&6%C!zk=`1aM01Un<i_0K+-h z(>W#fJ``&hAP3l&Rl>gp^2jMx`tbWa%+91(uGV0g2d7--4!H8;jADti#@2y%Z58m1 zQY-{g>;M&@WcClnAt#?Jue2eEEA0q)7Z-CLIehWt%>NGW<;pQ1l3^cLhCL@4_F81H zjme_Bb28YaWKpnB&F;)eBRjxe&|YIRh-kw}XM$t)?(U2hKy&^bUdgm3oCNRjN~SjA zBvTp!4LC9OY4GkMpwEdX0TXpOF??Nlj7J$(pN9x#<-5LrRf<L9>TR$JZK@hLx-B<w zben$_+Pv1b{u=j89{$7sKjptYWMd}qk$4>Tnu5DT4+!eZSp@g|S5aHewa@zx|L?8; z>ws@FAQgB3kOp<hdQ9UZ=E0_Q2L$)w{!M7}THE@6`2WZJ>w;$oAQyO|;auRJl`M{e z(c}K36n*=TvgP`ZQvGYFE$7<j{fGa*$3Nx)Cg3^%C<dOs&buH3^&kUv$UN9`THler ze;LE!Z809+_IGVwYg_*h|L?{>Y<KNt<1w~})xXJNjJ%ommwyw7aWrsr*Mp{kZaVz} zow<JtwdGv<y#MfDEB<w)6LrmG6LeFpF}8ONu1_sS)<<j;#F`n8SThWjF=vEQTQ1lf z(0Z)NH>N@AZl*y#oN18vzXEMuYg_*h|26Y3)~x?@5sSw`Hc>a%B24#5C-B~AM19g9 zR*!Un-l6pgG6DYIfH3wslMjpmsP_+1g_#Bo2KP(`-al%~x%PSg;lD=yO=RKv0g_32 z#r?zdp0)|nC1b|Be|<6-UZ0GH*F(J?wTC<)_7`F`Rf5SvbyUiRWCDC0#+c{#2^zum z4IcWhK%3Xv*8ju*Oa2j$tG#TB@l0{J(ak<#2J}I&J{gYGC;bt6DD}u_q^<@dba^>w z5&*s@Ax;;-N*;*YRV5FCT%hD*d4;uoXc{uCz3J#-oayMH?;W+}T>HHL^ZZY3tRtJ+ z$V@)9VXF1y1`oQAGoq$JhGc+PX8I!y$S}ZwjA{Ur3nKtNs3e<gh<IoEuVRw^OPSzh z1M|U&#?(L5JJ2*VfHMsp@!p}$Yi;ZQhxyl)PjBKNpWZlk;N(V6I*n^cje<0>><lX7 z*|C^*My$@m5ap|2^3ipy5y__*lVq|0Bh)K_7<eoWo&<3nG|(mUFy(gB;8C1uAauZc zMr}FQKJWh;|I!&POyo102OtJxvDxG%Puq?)A>*Kih+)xy3<4XF(Q7a!BgD6O6_xQ0 zAr~!28<TWuBa%*OM6e$K4J*Owz+|B`#@qnwz>toQ%%i8YAGkb`8@M#?y+WJU+SdQC z@GqOyy1imntC^A+AKdH{-i$sN+ZeGQ;S&nKP*xfRH+qR6)FBf!LQ6gjQEwR3fUKvO zkZhU>Nf0v<wxr6kvJQD*u{_xtKpNkHl&}}uY*{i{a(X)_K}^Z_iQ00mecu0a{&nP$ zZOs&sZBj)uT0iI>{sA=|(~R_kn*xaY318frp@|2oi3`eP<IVD606FPBsWHiCG$qM& zh9(5NBKp1wcsC%-CGkFBU$Waho(8jcVApq(C?ollxM;I3fY>kZ58Axew*J47f7$F# zx{BEy9Tc-W<XX;b_oVZrR@5l81vp2%9K_5q8eIui=g|zMHk#sC8`b6HrF<~`(JrhB zVN4;|l}S9cG3I@SB!&#gmdVKRNDN|*?Wd@R7b)$l>l9pZlq8#yf3exW&VuLuL^daW zPpB>D+UNam;$I%s)kGQHH9#KKrPzFC$ER&4wxtGRTEX`oF>*scK&;&AXaQMZ5M-j- zaV_LS4|=2#^oVFG`h0jplFn{NiuLaB>0HEfo&42hO8@#p+VIs4N`G{XW<EFr|FJZ( z&P|P$oX_JVXLr0eX!Baz`u}+TV|sInn4ayGG2Lgv|Kq0Vj84>YVtX<i+lJV?7lw$L zY=pWIU!sn<Q!jxy%8(B}jxrxhx%Tp*4}HPLk;a%SbRE}-L<v3N12_^f*Vfbc&rj0g zZ?4g%Z$6?8U*DklUzF3tJI871gNu~%=n~=q=90~ZIfat*yX#8N?dIMWYRkFydH)mn zmudWebQE!Y%#^WxQpM3dAM}{fm6}fMNcxB=&0sXHCbY%pOcqe`V0CS1%Lc2zDj$Z> zAM8CIHik4G-I#h~J|S6PMGpHW(J;JEF&%w-#Wy!->$e|M26TP==cgzL@ozog-|vJN zl#%yN(VDNWQNUe{0h{MP79HQxS9)O|_}}whpv`M->;KdES0tF}DiiuUAU8v<Rdk;x zU8Z#>lL?*q_~HgtvBiZL;~fxdoS}U+KsLhOBp*yhUX>3Pt4<&9aIx{DHRg|IGcb=| z=}0b!zc%!f-IVkAGkWywcdGc~C(8QzI?X`L@?jtEA=jI^<aTox-tX8$Za~myg|rr9 zz_f>D@R7$Dkhf;4^yX1cdhO7AL2WtLKJR}D|B6Hl6Wing0g6QP;sG(HPuorJNyZbq zl0M$;HJH$aj0E7=2yyLR1>(*l2E7p<e_lHV{a?$60d$D|n6}gqdZ5GjmSh>zi|n!n zBL?DP3c7QU5*}XQb^K4yp5l=bJ$><<mV9}Zl!&43F2pZJ{9pE-nFro;^7`ZeEqZW) z=3)$Rzqo^JHZClbl<%n{DcjAx4`}mR+xmZN{*y(VGTFMl?HsF_vc!Qm`yod_%W1vH za1vthBMv_+jRfG>s0v+C*TMwUc`(_iCLdu;R$i44edH?8AJ?85W31>F-k!vBEy;05 z2x7yorEz#)G3C)k+K4$_#-pp0aQ`G7e|(32ef}ri|NSvd$NPlNc%R;j#T@42SF;%0 zc*hN~hh2dgh$Ft@tE=RH_c%$mEc#Y-YFBs3l>$z3>A*imZ8_II@4qSkI?A~cGu2#i zsyNB|LC+|2YBseGasc#1+{emX3@jf54|Xh|JLI7zXv+qxYsm(yLpBVdKlGqC44@;L zk8e+XW_Ba_GFx(Cu?z8zT=*A7v;@3w!1%oaeRw9uaQ}~YA<x5R^1ro<7JYFVc^(dv z`%T2i=i`2}*yWnO?|DnZzZ>`u`0N<1gxrKbEGJdLTC(1`HcWi+ASXVz{~tq}*V@+q zJMpiWr_fc+S2(EV$#bm}#ZNj%T2Ldr<E0l4?!$YN(d0fa!H!=+FB}UHWJ4&m<Rko5 z`7nUa(67`DZ6<Xl^Jr7NzvG1%#0eO~chbx+PSWzPE@16;nNq-U7~*93ATGKacvrL7 z+~AwN&+Gu5@516kv-f)0d#$YRSL%M&_dW5BsT%s<6Yu-Z|MCJQK$cuD>>}&zrTfL@ z;Jz&XAEUOMYoGVufq!L+%ET^36`-82EFO?3dD<>=AT_{y<b2+b$~-14m&r?*q7L94 zJPrDy)CS}PGV`i@FnM_?A1tQ}i-X$`{CAw%ove~EkKa6!)EL_XKHW=E$QiN{dp0W{ zo~M|K6Ey1M-H4NtLvGLoJnt;Wf;J!reBKeB|6Py)oX_4buhjjXjC;Im?TYoll>4V> z8FYZ(onnjuOTV%{p4&lGw3GX%(B`$a_5Vu#5x1bd?Lxbm^7*Qp{SdROWyC<dyKlzl zuVJNebwDPJ06wQpWt|-(u8x*$u=<<jLmxUre^M`MjIpHq%)TU9Y)ejg<1x0cp^&=; zl=$UoTJ_*OE&d$(9Qh80f=_q!YY*`5&HB4G=T-H}&sp9R=zcc#*T_G(cSHXlj=g|o z53kU;hv)FV?0T}^w;@n;_5de3weKIHww!C9_g}!j4)X1pA!kvlB*pGQFYw+h!jg}P z%-*YI`F@Ofn4_$Y8e~FSMrxD~<UWG#;B^UfM2jhXs86&7DORe<wIG6g5ffru#bKI@ zwfgce$|xBzImV*@`+#eAyq~XT@5e*eGwwC~Gp=g_^nn)to;CG<wioc}Ve&venZz%k zR~}v>mkWEydTUy)sH}h!ozDM9(B`$a_5WY|E0;Ly+Aei=P%UxJwOL^Qq$_wgVR1WH zOliOvu{$)V%>BeZdkv5c<hSBcql~;NABIykx&$%9sm=6$WS%G?yAA&2hFIHvh&3?z zULnTxQ?vx!&&Iqx0OP$U@}77gHU!Im;?48Ua!P5yj)l5LCYW3Zp9%c4@n5_DYsP+F z|D*4#ZyzC7U?TQ{7C{FL`V3=0PU=HZ*}-<=i-nx{!jZp?+H$Ua-oMK~@@p=0GqFo` z3s5d~DYi(lf7(7?N(~XWT_1cKBIlR!8v%KkCCEhe@=Y?Lkqrar4Snc^hKK{xDPjOw zBS)L#)==c3Sb{nGPOQO>Qp)G0G#7DC!avQYA;=--fw(Ygz?<p$YT#pJXniIeSCvc# z@Eb4te;#C@a_(O__tWOz4gG)U-6HG-T%yni=SWeIK{f}s_>0ej|FT1W8``|qw*Ig1 zk9TubsU98dmV3;UFLk@wAF&Er#YxEs@z+_L9+n@?7<CP-G$lSaeg%*Xj0-%N9PrSV zm)GUP0Q$lJdZ7t)M2{G2lBT+o%ibyEbzv0+BIjBp*6#D~6;tfpLJGy&%?F$cF@dUc zu6-=<%svz9uavwF0RPA}#OD59nEU?~|4je8V;vax#W{+^9MkFiKC;POvq5z3Fb6&G zw^3Wpwa<Ic{OhRFJk4!ac&?NzbAQwe@#2~z&zvE0${7I0vqd$4eO?J(CQxVRR+kTU zTqPebWy6T&4Ma`?L*xwn0A=4K8R9q(A=krEi2sv8p`YbbG;FSO?j5I@pB+G4Cd56$ znD4>o8DstZ?O?HjG<o_o=W22Rv3x+4ct`%#;NKPekH2@C=0XSf+%6%>*0g(~GX*Wh zkO6Tybim($Hm|j<zYqQqFI&%cm9G=xKJ2hb_4uVLVji0yAD{kgF&P5JQ4$UKIy(kf zokvYFQT;PPMwrgf$OoUx0o*r$j%XWYO#@Qw$$nEH^1IBT!H6Xkc4t3$FQizE>l3hc z8v>5h;GCg0oNJ%+I{zAZ(0mRVVDrJM^`9{RuUY?lV(eEVA0q4jgR%abhrNJctTz<< z)5-eCHed0jW1RRr<^X>KwdGv<yuZ)?AWpS<kO}f>2dY;2p0Ze`{<A&ePBdhBB@rLS zurjA4%PVP&V@-}pl&mg5kPD%#Q9hWQyp#t+<iF65uptwqjOmOq#TxNGWQZ^4RJs^> zxwgU1dVpfE4;O)bn&4Zxe9SeEYWXUKyp^>r`5b1@8N&I(u_m{fHvhu<kBtGs`v2AW zpTNHd_;>s41kL`uoMyl->~wA~iS}f!mfR@iBv*_77PNV-ZT;Q(_v2J+{5smL^@~6} z(U1Bs^`KVBxoH%qiG^o`_&mm_S3&z2vSF+ZCL25|WrE3!ARDX{<O2G_0J6cxkY-WH zONyA}V#G34<{<{osg;O%x1Gjfe=Q0&nQ*M#hGRd@6P&BBA<i7@@9%_{JXhzt`th6j z*Pj1t_I@?<zXI(49Y+5zB=u)UF$Nq*e&f@W@a0AF`V?b8?#hov7mqd-UoGOqS5CY$ zYRkFyd9~x;pT+;sL0ltq#GhR$SvBNQuO(_~j(A9hh(Bl$s{r3hEodLJx&SS?hy(Ww ze<2@6Yz%=M7$L4=E1YY(z=@<8h+}&o266w^VjSN=!5`(**bnn*)Q7p)r^mPs&i@|o zf}FgX8<ypY<>TaO=ZLNPjKy-SssGo8f5hDc|AUYlIuY~0QD0&mke^OA$9H;2K0L`u zt`)sAw0W&<{cZfK(nsjoWsGpLOCP?&X7%7-x-51l6Y$RR@EQWzd3dYp?DHx>E`<6k zG9t)}ARDaI$cG_h!T`FUL9CS8Co9PUI!2B-Qi`K<$@W4f=Iy&E<mNsKzOfs5C$}I^ zZU)&St~DQ5lF#qUa{ShW*SW2p3%I7^xAV{T0NDBud8aG)|JfR#`u@N68j#Ha)Rkkv z%=>3)GHgnYW$+C>kew#Ib()iYSn|%OE$7<jy@`KSW`K!(=BPkb#>i6xSNr|h9{DXA zAeOa3q8;)U+mSJ3fCu7`8na_<AXkzx1M()l5rRx;m4>m%5d~dh0)5d1a|vtcc*PFH z8!KK+_Ln!JfA6F~aPEICms~DwB-wf7EIqf5<j9lkd^v-BSX|K>d9O(pYX4bvxe|^w zxr$l;uRZ_j$~_<r|Hm-~oPeKTDaCww9`=DEi~*~!i^>l*6ko<X@Y2zDf;O+Ut=GVR zd)0=(NJZwTkNT||Lah+j%xDhsZi8>5WaO_#{Usbw2M~|;RaD9blaU(b1M;FJBP^e{ z0dzw%eAWxG%*5+QkYXQlxt>lVN5l;ta(yR_ytadUFXxaQ`nnXlUk2Wh$Cig2rSs)< z@c%N#ttMZ#Cf@DeuWMvP;G5|bp{^;}*ud5TY>!x20|;|KX8#xFfG_6&YU}}5$pHF4 z8w0#QE25bDWi%4|&x(S~=Qc%o4&p1v--&xBE4AfZ`@HJ>+inbAYPEJaHJ|U!=lN#2 zzK!QPlQCip^I-M4>@#g>%Y;y`l#MsYhY{pLAAB1@Z?u~0K>boZk)H{1>JKF#hVN=} zzLG<J=;uQ*w{yF+2|9i~NqF87=a%Q5@vng#rSs+WRs0Kaj{iRI+H$iV9BUxtU)LNn zS!4WH<_7*N{wwYOf(^Kee~bZa9l+*+Q?M5>;mdMzI0fI(eOXJy7z4zZ2fPckd97_7 zF)KN3AV0xS>+}HhPbYBWL=BRiq4xps-hh_@7cxfviYf?l!Af2>-XI@yHF9AH9l~N) zH-OG)j~Lwpp<`H1G5LuUQe4QuTz(4;zPb(ZsB_2>W4#pl<Hd+6Eknt8W)OH6N)7+W z3w)jBF4y2qx#nN}T!@eT*JaK8v+pqdAn^bC7{KQp=XC(<{|p)*05x)utNC?+W-oy4 z1&z8}Oc9@#!B_AYNq4QigfYNSd=C3S?||BJu6>>|8#$e|fH>dnfCsG>c#>fvI8Sz= z21x*u16~$Tp9{<bm>eK)R22ldz~78{RO$@Kh9UHbKE@6c)VpBqV8e2*?S+m%iCp&R z-)=nTTge@D75cguF~lY1;GKczp7F1N0;M+C=gyb^4*%=G-`i1LrZmS)C$RpHH2^;b zyt)q1_yE1`1E#K$0gMB;HETh4=m9V2fQb925fA?qa;R?j136rzHfQoVo74Mh4Q*a) zTUX|c<*LJeTiE{Y$SJ4c-xa)9LlQe?G6Bp%eVzu!^Iahe0Qxl#)D6J50rF2a!?@l% z&6gz5@ydgVBtN^3?5@D>0^Yr@Y$a##F2g)d3@#<;?^1z#l=5m&;8+{%?@pK2BBu>v z%U6QMnSWoX`b{nUqLBgZF+i9D2<w3D82`2XfHXQl4SSH9`2z7e0QO+W0J8_ULIx&P zoTRWX&R`7KPNMx;b42HvEnt7GQCrTn&r>3{a&_2kpD@D$dFYK3(T`u@-VK~HXvqWP zpMiZ=SvQ6}7@+?fK^|DV<o@gYNsf8E^4J3C_$;z#V>)<u$J)*QBI7-SB<S-p%;VU+ zj`epL`o92{Pe6bI_3B`MbGpQG8m$5U8oV#=`FsUhvLyUI%Vogk887Dm8k@0Z9msrv z82`vI!TW)-d7x%LxQc)H12Gx!z<R)gw+R>02>69ehi{PkM~6s~x8{OPS-znNeqptR zHm|j<E4Pp5sza4K!BVy*?ANAqJ;*2leVp}o0ovU2vLMKW8`cM|SQ|Q1!#OV0exWCs zuSTB7-06skkGTBjSzZeG!-IQg@UFa=4bHQGOrC$%_h09K6)yt<_pGeWy|Pj^oL}Rg z<+gektiky;gK;kWt%`ppXS_bp>@mK&4nS@T>;-7}$2*@@GO(A_m<PNn1Df>!^9%8W z9+-Kr1Y<xE#(?x+Y>IbUh~O70Du)cz0=4B_`#i*p=W2kF?as-UIw9|?Q5^V81pfjA zIjAbZJM@Gh(0Gm;#&%z_M2=E<UNlLMrIGaXM&#MfM*gfUQk}wl?sNu;&#*Nd<9!2w z67#-S`Df!k>;H^@<n+)2pJM}`E3_a--RY8sYp-|Wyms=T{hO?=fxti00Zaz8=YiON z#(ogX?V*_muyFu$0py8O!zb`fGQe`djK6z=#^U`khtjQNQ?M~wbb;{?zpz?Bo7dXb zk>?kA;$Mf|o~g_FtqUZh7$<5N@2WupN*?I*D2?Kv<KtbZIr1C##C*XfdpybaCnFCB z^!S+^Qk~5vTkx(pwSmN?=_ERdd0h$S^Tj|3=64LG81IokMp_2FUoPl=f&Y~x<8!*O zye=BB+%DC@{^oR1lk0`$6sala%Rl){`#1TVB`j|VlLNm0vw0ws0bw4f@fTyhq8c5b zJr3j{S08fj)F=Z5@C`gj{?GxF;iKSjBcH^1t54aK@6)Rd_w1b7a;|+I@>Os(0eS4a z#E9{45{JGY104|S!lMC7qiD!PtTVNm=SilkN0MawG?E`#Oj6{-k(F%$@0&@9e$S3Y zrI`TwJaYAj8UH8Of%`Q)|Kj3RBralD0hw4qQsk!M$A8S{H2t6Pzk<){!}9uQa{I9S zJ};rH{M_l{O7OlCIb}2@tG~oQlZhJn=VgG+0oZy|SPL*6!1jZX*N5l7`Z%x?{6hvX z7pO@FJm4Sf2^p9I9WdlhA#z)+dt!5XS3fb{4-sEJ@K$K^THCr3vF>YvYR`-|$gA;1 z>v=x#*TLF-HueJ|v3`re*q-7;<{8Mrum?E}Pk=Y{b$Qu#<Q>W(#pzApeG`eny`*#l zkO^RZ2mU4CU&8Vwfq%a5gMUf!N?-*^PO!0Jm1d2{kLjrMeg3ccXR^R##Q87zXR@&3 z9ic5hFY8Rcs=&`R1sTwu3o`z*H8OyAfnMr?9pE4D1J)!1mFogGtPRF~R!AZ6S8+I* zO`^k_ri!nE`%8E~;4P>v=i28fSiZ+M!1h4Ip6+QQ;E%1MCddQdW$_TQgpOAf%)z=H ze4gD7y`77-+!m6Z#(WOk^EkDU&yDpe|BU-};9cOKaj(Tc@{>wWf@^-Q$L9M2|7nne z<vbK9Uq>4FPXqrNe!bqA=i18!`)vWdJY8esfG`hWI)KdsuqOZ=z~}bDzOY6Q2r|Id z1Hycey&qJ$Kg_=;06zi9fCu&mhCv5R!23lW*LIV5&zeHfrG0h8m-d1GzlJuiwXG}i zXK`<WsvvTT)#mZkW9cxm**1+7g^NjszAY)=iF|9hBssGc$N}e@flB__-(TThyYCD9 zW8CMtf0chpaVmHg)_RP8*7w2xS?~`i-T?MD=L^WSb_Ka;0am^*u-_AYQ>gPLFAGc; zFd2AN2Y6yG;0aqaF9Wa*Y371&kO9F)z{`MUZNTJUBK($y+%AA$(3&4@%6Ih@U&T8@ zSD*v_0=4B_`#e5RE6dedGy1CzCw!$m$>!qV``m8uz61T9@y@X24gA+u_cQ*X`-{?m z<-jt`8`*pxGEk-a8UK(AK=B5!zd2u64$hZ@D^1DjZ$|CqL*QPJt(P)@Yq8wNRdYcm z1Dd%Y%gL;f0j39-4tSFcRIUq{t+?u4LCw3uA<zMVcMp?e(MGa4lsQR!F%LdryZ#c| zyw<j^ME<Y80{T{O`PJM>@=IGb$u8#JmYv`6RC*4wfbpK^|80GrAN${?`x*bKm;)@s z+yQ)7>3*UAGyaiV@4fMlyoktwSR1fhiGmz4*%Bbg8b24{#{sq;(8z!%#sQ5CFdd*R z18hwo%n5~cftCy~U4Zq02XuiSbii2nv3XqHLE`+i`8MZwaH4a6joNaqecoSj&;BMq zvz(J(-pt9*uSVX-O-*2jQ(+G;N`7H;f&9X@2eR@l&tzpe82>l(^FB7`mtx*0#k@}n z?xmO~NHOn|V%{gk*e}JJPYT_y!Ag{vKeDkO{7cdQr6<8NpGT9e^U^AHKI{98f9xaG z069K$y08>E$&u%>8m}7uYR7f;?^ZwN^Je1rUzUOnz`Q_fF5n40@OBws<AERpY)&BT z6*IpPjU0@-eUJuWzeth4`dgdR+q&~Q-~x2O8=%c=ZR>C6KedwowS3-B*j+fqxi!G* zdW!SutpP8{!$QURji=@3HvJ$gLq1l1?FSjC;(lEv_t@8eg@499=KWRtFNHiHhv->h zeJAi=$$e#RQz6HxP|ESS(|MNf^ktq?@5(yMcPiBXNy+C;#c#b*Lf&{;sG19~y&*Oq z6vl$e`5?bHq*)hM`3ms<LfY?)viF7r-{D>4fptRQC;RZe_<nLc!QKx^A16Asg%h33 zc_V7ex%PSQ&i^`aUnv9U*Q3sk8P@12%2)J&Jd9GDOJ6HLmw7{ecEc|+?Dt7a(f?WB zFRtGA8TSJJ==(+B|HKmHk;PoEoXG&=zq0T1+*jt8#d|zTKv4-fN~iPa|Cg77>vu)% z<l`0ItK?v*MjqI>z|RFRALRE3YgiMo{h`Xeff{9ie|J!j0gXQJLtKH-+gKA^+(P05 zYjdqn=WsTsHop<tyw<k<UifEnP!63?mZp)7vgJ%38bXf`gpbY?{B66uY<-37T-I-j z^YG<3i#^|y&;{7{k)F`f{m5S}J+T;TOZ4~Zx}WEIaTVtR_pD_6JJ-O!7i59q-DRSt z?;v0CWdWMs6@Fhc9xxeT>%*F4K-e2#GElis%=?Wpp8>&dfawB_-AMBu8Iy%v3WY!O zAmnCN6s&$|eKNcKe}Dd=3$*3nJdQ7=*HK(p-$=Q8;&Agcx8M8km<nC66mxy-_nu|? zf$0S%2aNwkB!j;nzs~2^d#wMnoYt(r<8!>9UmbFM=6r4m`CM9p{L(Msg*t=wXSJ^{ z#&;Lvy9}D&5Pt8qlF1oAFVL0&VQ)Yf3j{ksrO&`Cx`4?5d#9M$ju|xLf*LlY0O){` zcz4a=1l|)roE~Iz7XANpc8#cQpVvO`{r7*yKl(r8{mKT^S8=jUew=)fC1*WWcVQ!6 zj`aNMQj4*OmzZKfvW-JYRxlfVp2-8&nWrHOCFuWWg!LY)GycK*sYRqfTty|oN&zy| zoy!)J?*(vG2``ik!g1|N<R`ySiHrDd4e-KeuYt*#Fc)C^1%e*9T75oHO$J_@7YK5o zkp;GIFc|L?27Q`G?*Fg7FM*EYI@hd>lK{fTTO7xZZR~i9u_2gU>aMER!X|Y~>eeoV zB($&#(1H*GAt4C~3CzClJD43Iu?R5x;y8)z#Cb{1$;*(L$s{MM^WMw6B$N1`@4r>I zy1FHSSPXb(IOn74c9(kl{{7y%{|8$rv}N^9!T%NT-wy1&cJ}<P^8fyF1#7qz{lksm zeTAZKNmQJ5y%k5kqNo$T6xnmkm;crUJv2hn9-@#`h2G9p$T<$Z+p$-^qx?B?V!u>% z=V(%omqW+d2S5g{F#o3Rqp!T{VuOH=qlAj{5!V{Qe<S!a5RW56j&FXnaW7?{gJV1% zw<Go{`pCcENO3|AkROOx!0roJ4%iOJxq@IhKx`=25Q(*<(k~eDko{AveT6J&Ei3=q z;0v3c3B9x#`$V)wXF0cDch~s;{(5i@{?9J}@5$i(JBlMuQ5+K<Qnabvy7isV<w6L0 zs4%*te@53)U!_;`yOM^z@kPIki4Rd2WWh0Bp}}RZQE1a#tOHw)IM1~GZ1<V_3s@%z z$RnR?K=joH@_nxXd>e?joy*7W=8<2Y<tz4T9qu`-CinRoa$l??&y@zq!b0o=$}s}_ z1C9sG`NA8@0M8#HHn8LX>&YMsv4|7W;SbV(wwt0(ucpDRYm-ASZvy`t+rZ9iXV349 ze{lZcRzv46EmE8d2BViQ`sjjl$E2?)=!u{>0rWs9e0mJ`Q89XEbkD>&dS^V78-m^$ z*gs$PPC&1OFzlD#7jsViHcf}$hwiiQXYPgVht8j?YZuX1>dE&(J$Y}2@8TK@^KowC z0~~J=@$c7@2i$wk%@q(baA6*KF5&S@unCtT3)dD<>~|N#HgL@m^GL`Ky~q!Zb%(r$ zRIW9a_oncDNb(*u!!9I42C~4v=Y7nfA6>CI^wI|8fa}|!vz*(nyLJ9K_v4rjzWoPV z6zyn<;;iov-XBvO1?Zd1e2ZSn+)ufOq7^>!?bpYL{EB;J7=2ViL?4Y1^wQ{&6+-B_ zLTaJeHvv6V23CbppXF0%z;@;z+)Msp`}Onn?Q+jD5q+i3;2+$^n-Dy|Uq@aEi+8&W z-2Qp&Md<z6DnB3xQU=_R0Rs)>h8(yrH<BAMjOW@SibbtD?gu<~V6PRhPmq2=)(zMu zFgDU?+|%g$A=XkHTYf$C(z>sQU0JUL!_I4G&u@wU4|gj1$J-VC`{4d)k)k#XQk>x2 zS<p>E{|m(l8L&eudQ2HKrN_1&+1=4kr#pIR*zquR!}!ffJqXufzx;<OwDfuEyELEP zUONpr0Brp==)bA^!tXQxXXjzgxi$bUjH55jBj5Y;$a^galKZ=SjK5M#p0kzUJ`f(r zgXcWt0(QXQf4<4Tl!FBr1BhwdkZsTVOCS%+DfUBKjPMEMfFb4+xt6@1Qh&UKQh&OI zhMrzQp{G~59aq;Wjw@>e&{@vy*L8~jk9R5BM_U!`@@hrfo~ft{9kA;?6eoJ6JByxF z&`YIVXhl!NJwLX`XI;5}imh*kJnw>@D=%R0Y?XT^pl?S12CNlbT}YuvD#`U-)POkd zyTpDUx_`m6{qKSQGc^`mIA=s(tR>&ITJm1K4Ft=~O~&zfk67^TIWvbm@A=`zxd6)m z`-SthA|?=Wa9PR$+W`rdgN2qX#3J5}#rKZIT86lfR^uLKtWE#KxHlp3lMOWLCtJvU z4QppwR;+SdS*<w0haGlaJA3XrK1b;gCn{0*N8R_@Iz`=_qBzT6fUb8pxEGv11>W0- zR`S&2eWpC|VMull3JK_?!o5`tgy8si9{OaUN6L^neW~wi*!>-)sOQ-1zVQ2q`-Seq z_p|Pwo@>E{bJyu=ioQ@ozN<A9Z^DbCz!e<t6!NvqW84MU{4*5-9vmg)V{XWWunTs7 zaFP81%YcNG0X|AOFl9m72FQcwgJq^Xtim4SxcBvA+ym3H{AXcTRz2ywwo0+1vz*(n zb7B6!eaui?M@kfJW1^zY`W85cZ3oxt^l#i08m>VvjM-nyf1J9ZKZemq#q61pi=)63 z)D6889?N}{hLnDj1}qyx{Wcb3&1gNjU=xMzi<sZw-o<er+kV!4=KmCUH^Jx8u(`e~ z)f5kSKS#u0noF_F`RUo@Ho@l}>;=wn3*fmk0NVqO53Kya?h~XO$k;&2gIyN<@(=@= z@S!H2fVd&*)Utnuo>?)}acQOExafzS*Up}+<u587VrEZ8Eqv18yY!oi+DW)(Jlprx zf~Wq_HHW#j_ffH*8~qdBnEWJ#%^yl{uP>${hvtBL)9%}2{`1Ve)ctC#Ljm`#RRM^G zu6ZxdrFejkw*&s$oBe(4S@3*nmH`|8F{jFD=*d!n=u<Nd*^n~u9%6)ZQV!TBKn|om zuxx^i52PGOyTI~bAol7zlmOirf!e9##Ii-stIHMV6+b%5x&1oljOUaaq6{|w7NFzW zfhEr#cq9+Kc5=9<j_j>sKcW{;?$^<S>q&A}^riu8C)2>4Wy06H5FfkX6J3arTwL$r zTpzmcg6<1n&-T6*@xe*RiU}RZk?_a9OO@ocP=)im0rNF4S5f?V`1;nF;J!Qn(XC~a z0Gr?V(QaDs;coK628=v8gWR}I*a+AQ!xpd{AV(1P0CK=FB5DR!oY+PdOxwV@gUBBm z5#u0cge}mHFZ+@6($YuO%S#mrJFlHRSIeN|cM<x`p6Sm{`UZ6Y|K0P^Psf74w+i>s z;9d&-i=U&=rK!|^>kM+Xf?vos&+7^P;r9ji@cS<4zQKL9q4Ui9iHZP3!`AvP&LOYF z1)K*%K6e|(_zM*j3%&N7EDL}e;}IvO(~2MNr(gf^xAePD|3GVgbeM)8FQH+_ifQDD zQgXA*u#aHB!SN!;j<5$tj95dS3&<s46Fgi$Vn7ZoAYSm8;P@dPy5U8wGpcpTKb+^6 z4%Mz;e*Ut7&T?+Q4!x3;yM^#sFF)P8=!GA5%l`(2a6g@~vVRI6{k>JX=08I(7d%61 zolXNcml$>*xt<I8kl>%W7qvccFLb|F#CR@g_nG_SvjY%~-_{3?ymuXj9L1f1&Yze8 zfPWj@cx>dc659OZ7W(6#|3v@m-~WSt_WNJZ8m!?c!+ngS&w^WAGaT1MLss0U;X5oj zU|C=}Fmgr@YKTG>ggltC06*bjh?-Kps44lbHc~X!NvNln)M{52f`0>cUORiP&UzK` z-JL_jYdB`U-1x+V=ZO2I1oqW2`>CLxLO1l=d1AshDQwmoG<e-O8nmYz^;_`G{Il-E z?+d$s9{K+{<{x(9J>+<Z@rBPn0o`ZrkIf1|G<>b^;%xALmx0%eKL^eP_soA=M72z% z*|=}<=YRMm9skAqwCs~ZwEgGD=`i*eJ#hUrt;Sl8nIEizETBewawZMOYp~A{vcUF0 z05-w03#ccaXFwk8GQn~IpApM7#*3(fw=VvkcBvsmzto^GI?K8JI&Jp1mAe5~#p|Ij z7ryu(UC=Kju=kSey~90sULfwN(!2O2QkQt)^JgNCfo@B?&)f^U5ALPiN51DeW5)U? z;rChhnS0C`+7W#k`#oMLC-3=S%)(;~`{VMlP8=`HqS#h&er!5<j<-b&?0oF;Qd;-Z zgW!EXIggb7GxSKwkE4#y{!Q9@^FJ%TwuTn`a5rs655O(hYj!F6M3sGj{YcM)N5lss z5GO>#KLpqX=_6Pkq<s+n!l*NIy*c(mH4Q!W&fl<af>S?Vhk2K}+v9)ETZ(o^=&iWs zy!Dj<Wv`#)UP~dO-;(UB!$;YR=|$0_>DhvpNUIH{LEDOG$l*%ld9eAy?wi~P#C*&> zbf5D)j`!K`OWkiSBiB(AIOmw#cYY>$&vgcng>%7Z@9)Yf?lf~>+#!Y?ol4WME~CA_ zI7Qx5H59sM;t%vgMNexjWzRdBrjHtOq-42vbjHWSkInwK(P!t=bll&t;N$JI0&6=K zVt%Ledn+glb)vY|a>R^fG?HcE6z7v>ydZsrWhV@K!FfpZnR?P%>#OuL)e6I|*PT7r z&`a%3p!46)={@e5Dd@$7zB%2wpN{CM!+mx92tnVShcO;l{w9U3$)>^k=b*-m_+Hq3 zj`yYAH{*R__rd=u8S@3{e$x!}(DH+QtM6<XdEaXX{P;}){?7&huO+x|DI!k`WFQD5 zk4~c`!~)x(*QL03J#=5eXV^<2PTWt|QjRtCGX?bKvPaaTrG3JhN(x{bw(3nYe(pX# z=kM9@ai!l~N!1^1pt&EdrQ#2k&=}ZwFY?Q1ysn5BAQ%386Ml%}2bK-aLD8ecbz=TS zy|v=2uGWg%<G<={MY{t;%zgXCH_LkcSMI|ldMpL^)-lIj&|~GblGjOF6b+wm*nKg- z2cIu${6g;yyKmL_&mh-_?(3}kGUjV3$9-|o`y-{mbPLh&slNASkoQcf2|m9$;)AZS z#^65gL<zZ@3jy%o28A^INC8!Su$or>%RY*1DkXJ${x;Wk?5DC5duklzdnye6?e|vb zcwB3m@q~J$G(7B3NxAcINlV1h8UHi>WaU3{5%U&8A4)MlH2GQsWu8a=%C!XK5HavE zZjL(<KS;#FRt!B^_ZRJ0ML*Z^^4sEHukNqhF2Za2D`Ay=*F1*)OWa4t=*4C0ufx4| zfUfA#_2jhI$XPRlLbn#skfY%AGGaYBw<l`69Pb&rZ`JuE_b1JGpZ$I_{QgnsJ#&8; z`+owse~n_0gZbWL?x(kp(|9}>xHjH)J)cX&wU&VMX(s<H1BDp-F|w(EGLh$R#6IGg zu<Kzv@_&WBw7%`ymS^mzw11l7YMEuqfdBp)=AQxECGlnL$n<9+2k~KtiW}9#(=SIg zm;EX6R25=`S{jRat+AJ?DdX&HN;m~ygm}Y^T*8f5Bo^`+eG<QA^PJhP<{7uezg9Cu zxm`rm42pcQ^sT>j;htNf2bb)(<UfX>M;G_)`p&Grq^=qzay|7dxaK;KjQ3dgIo`9^ zc`ToAv-=kJ(EY>3<T_+P$1w)KM*?);Cpazv*Nk>J@6=<6=~||d2fp0{8y^fe9*=IC zLi0abPnF-t{SA93lfEIN(6uQ`ac$04#Bs;i4)s5Xe?>nsT>v&sfh=^<4wt;{JXDh9 zI9R*}&wVnyx$G~#)>)KxW)`I*9!Z95dXE=TTnps!_zVhft~}#9Qv6V7eZKuV9X<AL z2NAVl-TTiOa5V(|bQo=WExjpvb#*D|MbDS?CVk;>3f+r3&q?HS0eQZy#>f1hfzOw@ zo{aa8bG&cbefIf>q5B8H{lOvu9Y?|cY4CpvcHk6#pF2R@ar~~}*VDxOx5bFVlW06@ zc+37}JM2O^_N2|Yfc<g1xi*YaT<cA27;W<bH`ITNe;xd@EWox2@O`<Eg&x|Wq5;l> z#nZHd#d{)-6ki|SRQ&hYV?`7X8I3<yNW+?E{TaW(TXtSMd#=w@m0N|2|EAVa`1O)L z)Rp^eS-rQ+zDs8Rr4aPz;{I(zs>86(b3BC|!`uz$cbw;o8js1n$n`kSH@TO(FMYnW z`^-Jteb#%yeIbqp+=$T=VZWJs->G7t2r_W%h(B3Gv4Z;o@NWZry$6UnGMVBa6OBJy zN8@3)!nWr8&9yQy(zPZ<@grGrtxW@mm|GKZ;O+CTV-60s4#4qH@t0uhp3)B#57Q15 zRpB={8F6sh?_7uA6ZaQZbe41bby}US+$tjKUA^9zJ@_|Wx&PWU^xG;l`f~Bn-kYl{ z<lx)o1JNrt3HPv7lCb-j!|>PkWu9+x&$*tg@df+*CXV?`pU?asn1=6+J*7;z5t}ET zDy0P2MqexVZ!Hq=woW7O$xfoRkm8!bGxXbYcyb`Xy9XF?a6C;#t+x8Zl@z|WfYg-< zD_koR6xXUm1#;lWa-ZVbjlH$_{z}`uwe9%-8|r@$|F*pvif~@^73lp7+QAta`o1E! zo!8EuyXwQ0TS3J9a3!=>-S!xI>~MdjHa*(Req7xk3tunoM_R*B_{S1sURTWPn0X%7 za|nNL`F!Mgmfo9rKHGia^T9phYZ32B-DlqS8PIWbH-rCH@PD!d0RPZq-^oG&ga4`I zJpnnm0peR=^AAn50djE2kLUvvC<!rO{YNV(`NV8;tWEh>eTn-8eR;gn21{cVo&CYx z)&F4rSq2pFuYmvCivL^<QOd0#q9M}TvwYBJU77nf{n@x*TR+jmtvh<T^`Gk`*QPP# zz}yb6;jwaj<{opp{&)}Ei+MfNdF0&AG1PeNKHqNlS@-u%A=h35I*y*B#gv5k*964G z2`7pH@P7jQgKysn=Kdx)K9yn*gZqOMZ2a40VIqw@Fdns@TAFgXo}62ANMAHE-?cbK z(L2JTk&0_C_SZVbwE)8h+-3d0WB&C8LzT`Va>3BY`_^b5hH#(0lJ@$u8GX6BLIz%% zJ%qxSdC7USg0%BN+_TQx_1@y%jP--#J!$vZ=L_zk_wN>vYtLi>9Y;@75p)tc0P>@R z<KQ3haRTBv-!briY$`B?yvGXK$MGo?*91L>ZTACmz_MT>djB{Yjn}Tgn(q<#49>-# zldgrszwBBRt#pV5!;lMPf`85fA5i`m4pa0_z{S@z4y}3$eOChe^~v5`#*zClJw9U~ zIU1u#-!la@KIl5@{v|Wk6LUJ?U(Dy*Y`zuin{zu>uGfywXT2BvPXzzik7hUY^hhD4 zfd3@Hzrj88pKzS{p8^yBlfl2lB<noBc@o7Q7)PEC;0E{n+>EPLl!1DjV|DVs>+{2h z;P>F)q+`Ig>hHh?G$EdE;aZT9`*)Q8wHN>2#Q)#1{-ZCW(iuc98u|8X)!HAsO}Ft4 zo~<5j=6N^tWO}Pwqlop``w{&bbe`K|{&^ioK#niDx7mEFwl8Zuwmkm;bbr5T_l4e1 zA{TgP=({Gsc2BeTPvTqv`B4ILqXg)Gg3y2P-!fUii=(#%{F{h91ijxswnIek&8OT` z(`f2t?02;-kF@#W^;*44(dI|o7>KPj*jLw4&I2Ay{?VV2do<n<k&9!#G`Mlt!AH=8 zt$V52udj@c^4#d<*KNiidZxlb;Y(w&Z_P~je3N_3Ra*XD%;(*Ndzt5PeNV=F2RPP~ zdJpcwxohWm0e#1Kiaj`uQZYxDgghV#+%pnUA4$O6tU&V=9GU+~<b%F@1twDbVQ>$A zJ^R3aJBZmkmb~x_#aA)+cX$dp-Wl;@tvd8+txiMU)EOXG-i>;&=>r}#{~x~C4eoD@ zh$ZgP&sCxq5BK1cz52w_-<PZVOyhiD!!U~2H6HhBK<B02OMl-P?zy(xByB$UxBGnL zTdqB(-s3$`XE(589K{_j6#OSM|Cp~y0{2O%k0b&X|IL#r0lfQ~Cjt}5+XVl<58Us~ z>k!d<@@U+d2{h)+6mqUfC9P^e3iwCOw3DbDpy+Fp6wF^dnD&2ZoZ`9xBA3NI+h_i; zpL8n=CCRbBADisq7Y5k~rB`agDRONp*5^XM+27mkz2F}Cy@>UAE?35Sc7HGDb?kc2 zHlO1?=sw$hw)sN$!TpYW!h8#k&{32Bl;#pjMlQ&CS`zB_jKpTx0M>ux_6bKJ14khP zM<-DHLFhbl|88!(h}oS>$%pf(;Np0S+=cxP>(ql<RewdBJFxSp8lY(N!i*XYe87XI z|E^{6N=FD^?p4$!o<&ch7gInVN2@Oz`Z}UNR|v*WqGywe9v<Orvw7`iF!wAI7WbUr z2hZu;fO`?|1#!Q9ETM0K1uyD=Y0c9q1$m$W*np#u0iL5p9XAm*y#&<r5}Lq2Vtwyn z#0>A|0l5O6J&=JtIRS8EJn?KEB_175j>VqeYgPUF+!FUvPAdAM7LbbjEGiy2{?W5j z=?GCPea=_vhW@21^9`N_APYv%KC^cp`uTCM$L}<bME}hk!_RZ9$ML<jW>@-qa}9@8 z*X5c%$9f%b&ov&&J>q=7-ZS@kK(2{A^1=V7L-$jU7J+{W$^R6{KmjG9erxa#zYkv@ z3)>zG-ebWt!{C1mj$<f#*BHuZ&Y}GG#*(%k_oP=3o_))@AIv{|z=Nj$=;5ifhsafl zUmdh0_RJ&Tw>uzvvx$CvqGzA+SXcDud#*N;BGx2RIM-`<-KJc-f%$temm}(Wu=k?2 z1AEVLzO3ztxm<HD--`9j+HObOv(4WM?zceROe7qfLZe{!ng7%#!~#G{6LJFRelm2Q z`A<UqHt`5_A9cJqa32Tm8L{9yc2Bl|2S@krEQ)(Kizc1Rp=j6#XG7!%T4n!7Z%g-C z1}gh0`V!<>!u}gRz&8JTC-vVu&;M3ot|AEGtCJxUNfVx_jY4ln=Goq(kI#+XecdZ` zdZf}tLtytKSwGL4dN0>&%6hI?uMc~VnyImN&o-AQ)^P;+`;PQ}r)l#A_hSh2?G_Ra zfPdKjG}M7oQ425t{*O$h6vXYxhrvH;`iZFLdf!F7xF_F`0r>d1-O&HtkOA=S0it(i zQO=1h$~cxs&gH&;Lhn7d%{}waF+lYo%-<9#dUJX3{QrIBUtgV~1S4`y>bKrn<oTu5 z*VF3J$Gsf={T#bO4qjUjLs1(>W8Mb(&2hfadF1qxds)wwxjpMW+xvENJTun2k>0c2 zXPp<^XX9ufVZXtDI`ls62y#IS%)eg-684QJ?{374d&U|vVDcXadmp<Sy1z4%68C4( z_%k^au^D!Mo@3K(+kI*O`8eloMPG;C8uLL9QvD}<U7BJ?<oa~Qxhi?h<LJxQVSmrL z5!9_JoSv#1M%wBW3g<ak$vyKPz`bejkAZhyvwNr9bBuvG1+1|k*Tzf>iTfr~#*rdQ zM;?$4zSDqIfhjmnfeb+Z4@@+;Xa0BR1MmTY|1re;$L-1@_l`^&*P2bf{g}5{FyeoJ z``1`^?-+Ao1L~aEYZ>c)cwLx({m*^Xf7kj9tXc3QYD31bmlnGJ-n9z7J0Syp$X<@< z1Bw1^+ynIOWj>1H7>wikfOWd;>)GC$F}~&N%{Y(OZ^-pKEIYEUC-puc$Aishf6sa! zz&&gZ+Z_{$Sc5Yfc0V0;!1O~5$iN|Rf2cqp<sf3eJ>$u@Ypj5G7x>?q2f+UC$`Sm# zw`WoM!ED(6F{GjQs8&6&Kx5vjp}%(wybfMV---2sye{lP;eP|xshEh|nAsiu_^x!X z;a;EI!_(H+v)13wu`BrRiM~$g3vA5Ga&C|HYOa&P@qN&`9iGEI0$*>{^_Y9E>v4WB z=W}G7kNOVs`VP5AeHn6VLGXXLh%!v>ng4XeglXVC4Kk3t4>g}%<H&~?!ViOg?+)<4 zeGJ9#%%<_JIW%HhCOPZ13)<X%UA1cF|1Mz;)=IC#8Uf^i4+{U`o3a%~1Rpn!p8j-0 z4Ei%N*JdBjd3^Nu`V7J2kJXRF+;<v9>;^~HS}o-CcAaN?FLOKldQB_Fx9NQw?zy&e zGww%$dq0x)PNGcMe&#=exrgpE|LM&C{z;Sw?h~N<3_Jfm=)ZRdeE+s=%5KVm-xx#A zMKOOxt{-vNc$f0SYvtF1e_j*vfarht<}nH*YD-S9H<l;;rW^A<4}7C<Uwi0=9-qBd zBvaHD_+aMvH0wOudg<qFIxl>^xo*R<_vRd~jPV0%x?IyYx#!xB%<(wZ6aF6dUg$h{ zUzZM~3FtT`y*rVz1piY7{~0Ft%zrZMej@aqkzm5NGoO4rP&e3-OYzYCWaNNjPvlVe z+GJ8|2CsnbL+?@RyPKGcwf6O4qThm8A8yKkT>p7L=KsRC<|>g`v+UTIwevCbZ46=F zq2E?dPto7g=<CSbKfN%X!Z&47_&(Tc`?`E_KOXBme0*?>XSera9>-qS399Eyy}u#% z;2pJi2_5IjdnQmeVu?(=eulsl%3$4xT}T4w0(k92AOUq_hQ<Fj)OngA2fNVAs3H94 zxF6#AyUM#ILy#%Rm6#8*#Q^t{{|NN|jMzTb*K=tCb*%^Yu>Wl^KSuO&<bI9=&>J|C zV?NI3IKC6Sv(C@7ct<}Gu_oW|=UM0NzMkjtWIdPtJ^Tnba*3KQ$9Y`afzC_4=NQk@ zdxLxAtYk;>?jZg-AKYI+DR}K9a4vw?PZR+Eh$(&B^C%wgm9a06vW|>F{W_Mkx&3pr z>d!&<r3}Ca=!>!DO56j0H6gG8_mlsqo#UN-*Ju7P1iW`|bkoCjG+@k_@20NvM$)&I zr=Z3QUN~mw`)~ttIwPmYcQLug8cpHrajjglBjS7e9G;xRh0V9PM}8-`M_$i1e*<zn z=AP|6Vh+}MgLm|eUTr|b(cpg?jYb`4G`MG^p(d4#xxr+Uf7bm(@SX_XnS1Z{TpV+0 zY)c*u+mK4mTE_|K=a)Yp-8X#+`<0pj=(&dbLyj7G;Qi!3a@Y6+y;h~e?z7%|=-~xG zqX`~^|B!hx^ms!YIZ=0sU_E7>XMJZ|&+BqUT#uYCAhx&pdHejGHGgaK_4fQu)^!B; zHoa%=SHtE*?_H~t2<vSv=r~V7EII~r0GZ%F6MCNkyPpE?Q^0vLWJ@B+<UbL-d$;7m zXXH`xyKMKP{tUZ65c&@r{W$}9fW98<#aoOx@V@fDXVR7-oAang9k@mx$477!sK=O5 z=caDx>)U&MHgbLF<`L*M=ktPhUXO3q?(Oj%+lK%@Z_DjOZg1vx;6}{hvAyTqUf6r+ zJ=b-l&9~{j;C>ajM{XXBRK)i=urt}v`z-LE4u6ma-cwDa;Fz)va)3GlBN6YJir7CF zcHgx;j?}pW>b1Fj!98NM&l?qQp%#d``!ORAyr29>ygNC`wQJJvo>`cP9_`>CJ%1lz zIj8}uV<-guU!QGEBz+6~@=oY1?stLD61=mm7dkKOJmiAcXtAvqIX(M$bIv|M=Ve~c z+_&TFnR}Vn3+`Fx8OhLh=03rKj&lP(vhzP0>jcuaj}!b$88G<I2loKDPlWF0VQ$~E zIfWeaoF8jdeV_c?d6#lk*#|KI)`ns(;C}mm*WQBXBKJ*gd38kwg>XOTTJR6<dw}~# z(A)J<^mrY(4r`s)Ws!4FA*p+dNZnURI&*Ei2g@JdnY@df-i+-noo^?v5AgMD?-`um z!QR8>b8OFkUf6rq`xQRGD~>wO4S1o;<0zN)A9+c}4%U4e|IqtXAO+l~K<1J*=hA4@ zelzx>&V&2XVE0o*zQ?}#UV-Dlow!$&=Y!1q|L#Zr2VGSn4;Gd8+nkSjAGogu_j6;= z?-#mXKAc`zinwbdY9d?4k@H>jZP<-9y}NMViwSKv?tO&5>C89h@`Cr^7*FzU+I!9) z?Dih{q-F0V_qI6C;2wI<d@uL5gLq0qT#^U=Gtskl)VA?73jC*o^E4C8f9lpeN)f<% z&V#u$bQRX8R}b0)-M@FdOZlqkt>~+~A_frs7ljP8z5nlXU;m5yN5T&khiZGL{^!@~ zyqMbs_rSy8{%dpN$gu_MAJ#!n_Fzw5i~Gsgr+*TuJ0{|u_X(tKWsDQh@Z0lxOx;|Y zY1MP=F`k^ilQkW#BX<zvOYVi9Gxy8lfw%x@%VH@Fu|zKNiwx#|+c+A9&%;L{16v^n zTk<ItJ}d>gpN;jN3ER@hQK$bNdtdYs{Id+)OK>f)mgj_VZ=aO|-h2LWKcNEj2tPdi zM=vf)qweMC^<0kn4|@LgS(}UdnzKmV27Y%>1?S8=I2XL*$dBXqR$&`d$cefc*pyG| zMy!?Fm<!~Pwh6C+-(0TK5V@T-e`nhJb$)v<^E(mai#QKHUg|ybjvQTI;t7C;aT?@n z3_javaLyP7&Lz^f=7aw{O2y|G1s{<8ZZ>J}j3l+{?J}|V$-U%Vz8CXfGtju#mwT|@ zC;c~kPN@>nJahG1>+-OsdpLy@N7D22kz2D)Bkoss!`?IJl6Rr+;GLhByi4vkfcFhK z0O~3Hw}>0mwV49i+R=z30O8|pxt;L!?B{L1p7T47?<Dt2!TnO^-5tQakOe%Rx;clk zVT%O+;6B5~|0w8wI_p33oLsE;j9%-5-5>H@t+G##d#dx2dvOH+IJ$Ol41hI3_lbW| zhe9nX;#hflDEcz>C`E7gl3_Gx%LLNb;vNpR@8|(+>AK+D#yjgf!{Xh}y}`S>2J0wR zkHY>B>9}7OSdk{6tpwkzP{(74yk5q6W{l5q9_&5VCj%aGfqU2Dw$K;FP!jA^HtbO* zK3^udXN+b!fP7{!|KL8GbHQz+Ft_LW2e^;Ef83kCX7-zi0kHlSwP2}-EC=@c|37#C z&-bSS;m2mZ06F~i)3amgmBon1kRPcVpufyLa~{k);ze~6?0mbtL+7FA2JeueVD3>z zRF`9(WoZ&Qmm~rSI8PuA>j?y`7!TaT<_qox?=j%NEz|`gDH(Pq8@<Wx{0kW{`DZ!E z!5mNIl4x>P_S>W)2UB5#?<?luGr$Mvs0H%6koyw<A4d(!MEHq{rtfT;M4`|lZ54EM zYmjdjoSXi=Bi>=-1@CLx;e7>qeKGgTl2B{6algbz>f(6JyQ0SUPOJs>9S`=4g1r}r z!7<to_;1{QOWJ}F=p#0alGkU^7}zR<f7k%<%@_^c&w%ddV7*7&`a}w=8S>xNIlW)K zue{skZdNZvTc51x!Uo8FU<@0;`+t1y`hODp|C`WTD@(MN+0a+mX!hS6*Gc=%y3R43 z@a;AmkKf($@oeV>@8F(oJ;Sv1>I&vv>b$|d%DgY}w&fl*XlG*#*4;u^8xW@nj3BiU z>&+GnC;gof1{RJWC%AXk4;A{K1G&vIZNI^PK8<F(&wgNg25F7q1nwsR(0kVZ2LKgs zD%v~YhVGkj;Jvi}xK~H9aJFuczPI3S8aUKg_uFs|-q)LPo#0*ickq29-i57CHf?<( zI5&Bh+)JIunj+@{cL4X!`QW%79M@qV2^&=0XQqOCM_m*ikD^rA|6K5&4V}+2kqO<; zgw4vu9RKiTG32P~cV3<IR#(A4_PoUT{RjAGIn)mpnm*v(`hR`T1jWMc@m=(lzIxoV z{u9*Y|Dq#T(vdr9!q1z$o3Xswo}CZYcjldSKG@bTi5EJr+U@;9)_LZhb>7f>!9DA@ z;N9TaIS)r09P=Vch5nC%y~;%{ItJVuGGK6@gE~;+hGcTohW@8o@rL$5aBi17<{$G8 z`hltUhyNAWyF_AnoC2SUeT))&=*waUAQzts?8AJ_FEKascO7}V&M_hCK|<eGA*Sbe z-WJmfJKu(Po6f_}3*MP~*7r6#5ALz%#92RF*mY;U<UJC+w}qoNLg;@6{8FCDzmNgs zqhsK|GPhzrX#xIj&RfgCzoJ(3dhk&Gs<AH6i~;Vc{a=-U9K^&*AMR7ZeimzzaCBoY zBODjSJftsnKZUx>Fx29zFb{JQ_4(hTUiX;}8=!G)zY?*ci0fG2?Xg`D@Aeo^aNm*6 zo7}VBOU`kRk+U5*Y9g>kKZ-KeV+{{-)*R+t0P}&c1tW1Ux})mtpQ*E7|EA!7He}#I z1M|O7$GsugAA<J`GjqUu5&v1-vkchzU+OXVU+ghtVF|{7zBu|TsJZk+EhfdaB4M#> zRl*0@_w3J{zjHp%_TI?pY_Z*9%&!VtZ^ri=-v#)2yUrW&9Q$;^J#!9@ow&DHfc4!5 zM=fGHj7K9b$;TdZg8xmZ1>-ycIgFzwjMUlR9s_{)2N>nADf+f-$N<)aJgEFbCiEpS zLLQ7gkKF7pLi7d0-h@1igIsJuz3!*_iiE%F%Z*%KU5q&vVe7%U<>L|Ci})UP9<jaQ z=WRM)XWDt8@8G-I1@2AoxebnL9sIi}Yh5;t1?RcY{rt`2C>!}{_<YDvMXx64{(pJk zbUxSym7x#Ea{RVjkNHCI5ANY3U=OhWO%#s!?0j4_@-gfu6o%t;Ja<T68v844N$mgD z7JEp2$Bi7$%<I_4i`X8#TXDUq^KA2l-b3fX?~UM?t6{yai!#??{Vw>=2mfO?V_yg4 z7O?xDs^zZ^P-nf49v2Td-~-euBM%V$*dPNBoc#~be>?v}P5y@&@*wvVYm9tITM+dO z_P~io&OQ%#4|4GbeIass)a=yxQs>*@o%Nl$2fqyFxjlqcsp7gU@IMaxGt$=}KCKNS z=d4$2)LF0GmHsAoqesdOU!xqKb51Xwi^F`N5d(a&`G+jP9%yV6#1S&m81)ssA?jtl zAu<!kW!QJ_V?6e6T0<0R^=$J^KM&s7t_!}wuY)nSeS}px!M`T#{{+lS<!>5C!y1Q^ zqoUWxYWd4wGx%p2c+l~(_>B5C>><s2#eL!R-_Cy|<UsJRfOlihta`+|4H1uE52ZfX zOKq}V@7e+Ut5)awyIKpMUITpxw~i`@2|jO&uu2E)gG$-(|C6`jJ|E;Cj>>)n?h{nj zsV@>rUqB4N`ve#<!2dn^-yZ)i=3nfg1>Uhoj`}6NPJdFH=M2Yrxi-(yqSc1|TCEBD zr;7cfopZy$D<d=jVRMF%vnq^oG1r`rbqB6m$VmAsd(`r8fqUrG7YQ?8f)98DYs04q zAMpPe{|fkr95?|7*2aW=8F(JOg1p#ks}Z=YRS)@-T0I17b%#I(41`q-CKWP~hx{)V z@nzWTH-77!`C@P9O!Tb%B4YY;inhj_6TS!YKev?s-%|W{GyC60|AYBw831^nHPNG@ z3y!Y=xmwNOwYVSu6Ls#Ozc{M~;+~yQ@-E_gcLtE7?8P!?*^B5|`qCE@)1Oz=`9lo< z&oMyY{_oiD1@WPP*#G;E_kZ~U@o&n(U>wDM3_TzN18`sdG~lpWJ>d7wS+AUTmOcNN z6a7rTu$X~<yX7yz2Vg!x^n)m|@Be?-`6r^=+Bf|F|J@hvcLQbO-(Tg4dAuGpRw@G? z_(#zA)1dJ=MYmu7nG!huYtZ<5(6~xbdfNW}A4=f()1dJ=j32dKkD+~xcT<!u{^zd; zjjIC3_^|lLjdP5D{BHK~xuCHaDqoV9^M}PhYkXY{{o|^@vGHzr%=~-tVfhkse2&lg zpE))L_`gy-V7{9*Ha;w0WISKRr{bT^*IVyq{@~WTnd9r`#W?ij>-|G9_P?9)y#L*d zAN-u{dM4yXV<yD@Jddy2{yuojgxH^NZ*2cOOu)^?wy!UK;G2!@-(L_?W&6ODL2t-o z`wu9_wojz<^TC9W{}sjawioCbbbY&H+b0wn5j?hiL-D-r^Y9OD|HZ`E_KOFPg@&B- z{{Uj_|M-Rm*~UU6{Fe)juzmf&@e8;RAIJLm`t_hOp273h*QtaoRoXs&CH~Yt#<f)# z<5k2z{w#kD8si~LAjNmVxXQdfcr1PkJa0ZNt&R0{OlxF~d*WLB^M9T8$F{E{F0k0C zG_JSC#xUUP@I%+l&m)b`IddHR@q@=5e4P%zUQgrwt*;Y2)`Om}yvf*j+ENDj@#W7K zJeD6{e!k$b{5tY^lMRc`;Bim${UzPOV_iOP{=SuRZ2kb&*pwgnv?Sa=78l5`!w)m# n*2m`us)EM2!1_A;Jie3l@x}PlpfM>u#pBk0p9YPsC+PnGu+cpb literal 0 HcmV?d00001 diff --git a/applications/json_packager/locale/jsoneditor.en.po b/applications/json_packager/locale/jsoneditor.en.po new file mode 100644 index 000000000..3b88fdd17 --- /dev/null +++ b/applications/json_packager/locale/jsoneditor.en.po @@ -0,0 +1,347 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"X-Generator: Poedit 1.8.8\n" + +#: tfrmmain.btnadd.caption +msgid "Add" +msgstr "Add" + +#: tfrmmain.btnadd.hint +msgid "" +"Add Package File:\n" +"The update zip can contain more than one lpk file\n" +"deployed to the same place.\n" +msgstr "" +"Add Package File:\n" +"The update zip can contain more than one lpk file\n" +"deployed to the same place.\n" + +#: tfrmmain.btnremove.caption +msgid "Remove" +msgstr "Remove" + +#: tfrmmain.btnremove.hint +msgid "" +"Remove Package File:\n" +"Deletes the last entry from the list\n" +msgstr "" +"Remove Package File:\n" +"Deletes the last entry from the list\n" + +#: tfrmmain.cbforceupdate.caption +msgid "Force Update" +msgstr "Force Update" + +#: tfrmmain.cbforceupdate.hint +msgid "" +"Force Update check box:\n" +"If this is checked the OPM user will be notified\n" +"of your update. Only check this if the update is important.\n" +msgstr "" +"Force Update check box:\n" +"If this is checked the OPM user will be notified\n" +"of your update. Only check this if the update is important.\n" + +#: tfrmmain.cmd_close.caption +msgid "&Close" +msgstr "&Close" + +#: tfrmmain.cmd_save.caption +msgid "&Save" +msgstr "&Save" + +#: tfrmmain.cmd_save.hint +msgid "" +"Save the current configuration to disk\n" +"as a JSON update file\n" +msgstr "" +"Save the current configuration to disk\n" +"as a JSON update file\n" + +#: tfrmmain.editdownloadurl.hint +msgid "" +"Download URL:\n" +"Include the FULL url needed to download the package Zip file\n" +msgstr "" +"Download URL:\n" +"Include the FULL url needed to download the package Zip file\n" + +#: tfrmmain.editname.hint +msgid "" +"Update Zip Name:\n" +"This is just the filename (not including the path)\n" +"of your update zip. Type, or click the [...]\n" +msgstr "" +"Update Zip Name:\n" +"This is just the filename (not including the path)\n" +"of your update zip. Type, or click the [...]\n" + +#: tfrmmain.filemenu.caption +msgid "File" +msgstr "File" + +#: tfrmmain.fileopen1.caption +msgid "&Open ..." +msgstr "&Open ..." + +#: tfrmmain.fileopen1.hint +msgid "Open" +msgstr "Open" + +#: tfrmmain.filesaveas1.caption +msgid "&Save As ..." +msgstr "&Save As ..." + +#: tfrmmain.filesaveas1.hint +msgid "Save As" +msgstr "Save As" + +#: tfrmmain.lbldownloadurl.caption +msgid "Download URL:" +msgstr "Download URL:" + +#: tfrmmain.lblname.caption +msgid "Update Zip Name:" +msgstr "Update Zip Name:" + +#: tfrmmain.lblpackagefiles.caption +msgid "Package Files:" +msgstr "Package Files:" + +#: tfrmmain.loaditem.caption +msgid "Load..." +msgstr "Load..." + +#: tfrmmain.mnu_filenew.caption +msgid "New" +msgstr "" + +#: tfrmmain.mnu_filesave.caption +msgid "Save" +msgstr "Save" + +#: tfrmmain.mnu_help.caption +msgid "&Help" +msgstr "&Help" + +#: tfrmmain.mnu_helpabout.caption +msgid "About.." +msgstr "About.." + +#: tfrmmain.mnu_helpdisablewarnings.caption +msgid "Disable warnings" +msgstr "Disable warnings" + +#: tfrmmain.mnu_helpshowhints.caption +msgid "Show Popup Hints" +msgstr "Show Popup Hints" + +#: tfrmmain.mnu_lang.caption +msgid "Languages.." +msgstr "Languages.." + +#: tfrmmain.mnu_lang_en.caption +msgid "English" +msgstr "English" + +#: tfrmmain.mnu_lang_es.caption +#, fuzzy +msgid "Español" +msgstr "" +"Español\n" +"Spanish\n" + +#: tfrmmain.saveasitem.caption +msgid "Save As..." +msgstr "Save As..." + +#: tfrmmain.sb_editname.caption +msgid "..." +msgstr "..." + +#: tfrmmain.sb_editname.hint +msgid "" +"Update Zip Name:\n" +"Click this to browse your system to find\n" +" an existing Update Zip\n" +msgstr "" +"Update Zip Name:\n" +"Click this to browse your system to find\n" +" an existing Update Zip\n" + +#: tfrmmain.spd_checkurl.caption +msgid "Check URL" +msgstr "Check URL" + +#: tfrmmain.spd_checkurl.hint +msgid "Attempting to Open URL" +msgstr "Attempting to Open URL" + +#: tfrmmain.stringpackagefiles.hint +#, fuzzy +#| msgid "" +#| "Package Files:\n" +#| "[Add]: to make a new entry\n" +#| "[Remove]: Remove selected entry\n" +#| "lpk filename: i.e. mycontrol.lpk\n" +#| "Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n" +msgid "" +"Package Files:\n" +"[Add]: to make a new entry\n" +"[Remove]: Remove last entry\n" +"lpk filename: i.e. mycontrol.lpk\n" +"Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n" +msgstr "" +"Package Files:\n" +"[Add]: to make a new entry\n" +"[Remove]: Remove last entry\n" +"lpk filename: i.e. mycontrol.lpk\n" +"Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n" + +#: umain.rsabout +msgid "About" +msgstr "About" + +#: umain.rscompiledwith2 +msgid "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s" +msgstr "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s" + +#: umain.rsdownloadurld +msgid "- Download URL does not contain the zipfile name" +msgstr "- Download URL does not contain the zipfile name" + +#: umain.rsdownloadurli +msgid "- Download URL is too short or missing" +msgstr "- Download URL is too short or missing" + +#: umain.rsdownloadurli2 +msgid "- Download URL is incomplete" +msgstr "- Download URL is incomplete" + +#: umain.rsdownloadurls +msgid "- Download URL should start with \"http\"" +msgstr "- Download URL should start with \"http\"" + +#: umain.rsfilemaybeuns +msgid "JSON may be unsaved. Are you sure you want to quit?" +msgstr "JSON may be unsaved. Are you sure you want to quit?" + +#: umain.rsfixthentryag +msgid "Fix, then try again." +msgstr "Fix, then try again." + +#: umain.rshelpandinfor +msgid "Help and Information" +msgstr "Help and Information" + +#: umain.rshttpwwwupdat +msgid "http://www.updatesite.com/myupdate/mypackagename.zip" +msgstr "http://www.updatesite.com/myupdate/mypackagename.zip" + +#: umain.rslanguagechan +msgid "Language changed to \"%s\"." +msgstr "Language changed to \"%s\"." + +#: umain.rslpkfilename +msgid "lpk FileName" +msgstr "lpk FileName" + +#: umain.rsmypackagenam +msgid "mypackagename.zip" +msgstr "mypackagename.zip" + +#: umain.rsoneofthereq1 +msgid "One of the required fields is missing or wrong." +msgstr "One of the required fields is missing or wrong." + +#: umain.rsoneofthereqn +msgid "One or more of the required fields are missing or wrong." +msgstr "One or more of the required fields are missing or wrong." + +#: umain.rsoverwrite +msgid "Overwrite" +msgstr "Overwrite" + +#: umain.rssavedok +msgid "Saved OK" +msgstr "Saved OK" + +#: umain.rssaveunsucces +msgid "Save unsuccessful" +msgstr "Save unsuccessful" + +#: umain.rssorrycopyope +msgid "Sorry - copy operation was unsuccessful" +msgstr "Sorry - copy operation was unsuccessful" + +#: umain.rssorrythislan +msgid "Sorry, this language is unavailable at this time." +msgstr "Sorry, this language is unavailable at this time." + +#: umain.rsswassuccessf +msgid "%s was successfully copied to the %s folder" +msgstr "%s was successfully copied to the %s folder" + +#: umain.rsthelpkentryd +msgid "The .lpk entry #%d is missing the .lpk extension" +msgstr "The .lpk entry #%d is missing the .lpk extension" + +#: umain.rsthelpkentryd2 +msgid "The .lpk entry #%d is is absent" +msgstr "The .lpk entry #%d is is absent" + +#: umain.rstherearenolp +msgid "- There are no .lpk files in the list yet" +msgstr "- There are no .lpk files in the list yet" + +#: umain.rsthisoptionsh +msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" +msgstr "" + +#: umain.rsturnhintsoff +msgid "(You can toggle these hints on/off in the Help menu)" +msgstr "(You can toggle these hints on/off in the Help menu)" + +#: umain.rsupdate +msgid "Update" +msgstr "Update" + +#: umain.rsupdatezipnam +msgid "- Update zip name is too short or missing" +msgstr "- Update zip name is too short or missing" + +#: umain.rsupdatezipnam2 +msgid "- Update zip name missing extension \".zip\"" +msgstr "- Update zip name missing extension \".zip\"" + +#: umain.rsversion0000 +msgid "Version (n.n.n.n)" +msgstr "Version (n.n.n.n)" + +#: umain.rsversionentry +msgid "Version Entry #%d is absent" +msgstr "Version Entry #%d is absent" + +#: umain.rsversionentry2 +msgid "Version entry #%d needs to be of the form n.n.n.n" +msgstr "Version entry #%d needs to be of the form n.n.n.n" + +#: umain.rswouldyoulike +msgid "Would you like to copy %s to the %s folder?" +msgstr "" +"Would you like to copy %s to the %s\n" +"folder?\n" + +#: umain.rsyoumayneedto +msgid "(You may need to restart the app to see the change)" +msgstr "(You may need to restart the app to see the change)" + diff --git a/applications/json_packager/locale/jsoneditor.es.po b/applications/json_packager/locale/jsoneditor.es.po new file mode 100644 index 000000000..f7d125b3f --- /dev/null +++ b/applications/json_packager/locale/jsoneditor.es.po @@ -0,0 +1,332 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"X-Generator: Poedit 1.8.8\n" + +#: tfrmmain.btnadd.caption +msgid "Add" +msgstr "Agregar" + +#: tfrmmain.btnadd.hint +msgid "" +"Add Package File:\n" +"The update zip can contain more than one lpk file\n" +"deployed to the same place.\n" +msgstr "" +"Agregar Archivo de Paquete:\n" +"El zip de actualización puede contener mas de un archivo lpk\n" +"desplegado en el mismo lugar.\n" + +#: tfrmmain.btnremove.caption +msgid "Remove" +msgstr "Quitar" + +#: tfrmmain.btnremove.hint +msgid "" +"Remove Package File:\n" +"Deletes the last entry from the list\n" +msgstr "" +"Quitar Archivo de Paquete:\n" +"Elimina la última entrada de la lista\n" + +#: tfrmmain.cbforceupdate.caption +msgid "Force Update" +msgstr "Forzar Actualización" + +#: tfrmmain.cbforceupdate.hint +msgid "" +"Force Update check box:\n" +"If this is checked the OPM user will be notified\n" +"of your update. Only check this if the update is important.\n" +msgstr "" +"Forzar Actualizaciones casilla de verificación:\n" +"Si está chequeada el usuario de OPM será notificado\n" +"de tu actualización. Solo activa esto si la actualización es importante.\n" + +#: tfrmmain.cmd_close.caption +msgctxt "tfrmmain.cmd_close.caption" +msgid "&Close" +msgstr "&Cerrar" + +#: tfrmmain.cmd_save.caption +msgid "&Save" +msgstr "&Guardar" + +#: tfrmmain.cmd_save.hint +msgid "" +"Save the current configuration to disk\n" +"as a JSON update file\n" +msgstr "" +"Guardar la configuración actual al disco\n" +"como un archivo JSON de actualización\n" + +#: tfrmmain.editdownloadurl.hint +msgid "" +"Download URL:\n" +"Include the FULL url needed to download the package Zip file\n" +msgstr "" +"URL de Descarga:\n" +"Incluye la URL completa necesaria para descargar el archivo de paquete zip\n" + +#: tfrmmain.editname.hint +msgid "" +"Update Zip Name:\n" +"This is just the filename (not including the path)\n" +"of your update zip. Type, or click the [...]\n" +msgstr "" +"Nombre de Zip Actualizador:\n" +"Este es solo el nombre del archivo (no incluye la ruta)\n" +"de tu zip actualizador. Escribe o haz clic en [...]\n" + +#: tfrmmain.filemenu.caption +msgid "File" +msgstr "Archivo" + +#: tfrmmain.fileopen1.caption +msgid "&Open ..." +msgstr "&Abrir ..." + +#: tfrmmain.fileopen1.hint +msgid "Open" +msgstr "Abrir" + +#: tfrmmain.filesaveas1.caption +msgid "&Save As ..." +msgstr "&Guardar Como ..." + +#: tfrmmain.filesaveas1.hint +msgid "Save As" +msgstr "Guardar Como" + +#: tfrmmain.lbldownloadurl.caption +msgid "Download URL:" +msgstr "URL de Descarga" + +#: tfrmmain.lblname.caption +msgid "Update Zip Name:" +msgstr "Nombre de Zip Actualizador" + +#: tfrmmain.lblpackagefiles.caption +msgid "Package Files:" +msgstr "Archivos del Paquete" + +#: tfrmmain.loaditem.caption +msgid "Load..." +msgstr "Cargar..." + +#: tfrmmain.mnu_filesave.caption +msgid "Save" +msgstr "Guardar" + +#: tfrmmain.mnu_help.caption +msgid "&Help" +msgstr "&Ayuda" + +#: tfrmmain.mnu_helpabout.caption +msgid "About.." +msgstr "Acerca de..." + +#: tfrmmain.mnu_helpdisablewarnings.caption +msgid "Disable warnings" +msgstr "Disable warnings" + +#: tfrmmain.mnu_helpshowhints.caption +msgid "Show Popup Hints" +msgstr "Mostrar Consejos" + +#: tfrmmain.mnu_lang.caption +msgid "Languages.." +msgstr "Idiomas..." + +#: tfrmmain.mnu_lang_en.caption +msgid "English" +msgstr "Inglés" + +#: tfrmmain.mnu_lang_es.caption +msgid "Español" +msgstr "Español" + +#: tfrmmain.saveasitem.caption +msgid "Save As..." +msgstr "Guardar Como..." + +#: tfrmmain.sb_editname.caption +msgid "..." +msgstr "..." + +#: tfrmmain.sb_editname.hint +msgid "" +"Update Zip Name:\n" +"Click this to browse your system to find\n" +" an existing Update Zip\n" +msgstr "" +"Nombre de Zip Actualizador:\n" +"Clic en esto para explorar tu sistema\n" +" en búsqueda de un Zip Actualizador existente\n" + +#: tfrmmain.spd_checkurl.caption +msgid "Check URL" +msgstr "Verificar URL" + +#: tfrmmain.spd_checkurl.hint +msgid "Attempting to Open URL" +msgstr "Intento de Abrir URL" + +#: tfrmmain.stringpackagefiles.hint +msgid "" +"Package Files:\n" +"[Add]: to make a new entry\n" +"[Remove]: Remove last entry\n" +"lpk filename: i.e. mycontrol.lpk\n" +"Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n" +msgstr "" +"Archivos de Paquete:\n" +"[Agregar]: para hacer una nueva entrada\n" +"[Quitar]: quita la última entrada\n" +"Archivo lpk: ejemplo micontrol.lpk\n" +"Versión: La versión completa (ejemplo: no 1.0 pero si 1.0.0.0)\n" + +#: umain.rsabout +msgid "About" +msgstr "Acerca de" + +#: umain.rscompiledwith2 +msgid "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s" +msgstr "Compilado con FPC V:%s y Lazarus V:%d.%d%s para la plataforma %s - %s %s%s" + +#: umain.rsdownloadurld +msgid "- Download URL does not contain the zipfile name" +msgstr "- URL de descarga no contiene el nombre del zip" + +#: umain.rsdownloadurli +msgid "- Download URL is too short or missing" +msgstr "- URL de descarga es muy corta o está vacía" + +#: umain.rsdownloadurli2 +msgid "- Download URL is incomplete" +msgstr "- URL de descarga incompleta" + +#: umain.rsdownloadurls +msgid "- Download URL should start with \"http\"" +msgstr "- URL de descarga debe empezar con \"http\"" + +#: umain.rsfilemaybeuns +msgid "JSON may be unsaved. Are you sure you want to quit?" +msgstr "JSON puede estar sin guardar. ¿Está seguro que desea salir?" + +#: umain.rsfixthentryag +msgid "Fix, then try again." +msgstr "Arréglalo, luego intenta de nuevo." + +#: umain.rshelpandinfor +msgid "Help and Information" +msgstr "Ayuda e Información" + +#: umain.rshttpwwwupdat +msgid "http://www.updatesite.com/myupdate/mypackagename.zip" +msgstr "http://www.sitioactualizacion.com/miactualizacion/nombredemipaquete.zip" + +#: umain.rslanguagechan +msgid "Language changed to \"%s\"." +msgstr "Idioma cambiado a \"%s\"." + +#: umain.rslpkfilename +msgid "lpk FileName" +msgstr "Archivo lpk" + +#: umain.rsmypackagenam +msgid "mypackagename.zip" +msgstr "nombredemipaquete.zip" + +#: umain.rsoneofthereq1 +msgid "One of the required fields is missing or wrong." +msgstr "Uno de los campos requeridos esta vacío o mal." + +#: umain.rsoneofthereqn +msgctxt "umain.rsoneofthereqn" +msgid "One or more of the required fields are missing or wrong." +msgstr "Uno de los campos requeridos esta vacío o mal. Arréglalo, luego intenta de nuevo." + +#: umain.rsoverwrite +msgid "Overwrite" +msgstr "Sobreescribir" + +#: umain.rssavedok +msgid "Saved OK" +msgstr "Guardado OK" + +#: umain.rssaveunsucces +msgid "Save unsuccessful" +msgstr "Guardado no satisfactorio" + +#: umain.rssorrycopyope +msgid "Sorry - copy operation was unsuccessful" +msgstr "Lo siento, operación de copia insatisfactoria" + +#: umain.rssorrythislan +msgid "Sorry, this language is unavailable at this time." +msgstr "Lo siento, este idioma no está disponible en este momento." + +#: umain.rsswassuccessf +msgid "%s was successfully copied to the %s folder" +msgstr "%s fue satisfactoriamente copiado a la carpeta %s" + +#: umain.rsthelpkentryd +msgid "The .lpk entry #%d is missing the .lpk extension" +msgstr "La entrada .lpk #%d no tiene la extensión .lpk" + +#: umain.rsthelpkentryd2 +msgid "The .lpk entry #%d is is absent" +msgstr "La entrada .lpk #%d está ausente" + +#: umain.rstherearenolp +msgid "- There are no .lpk files in the list yet" +msgstr "- No hay ningún archivo .lpk en la lista todavía" + +#: umain.rsthisoptionsh +msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" +msgstr "Esta opción debe ser usada solamente para actualizaciones cruciales o paquetes con arreglos de bugs. ¿Estás de acuerdo con esto?" + +#: umain.rsturnhintsoff +msgid "(You can toggle these hints on/off in the Help menu)" +msgstr "(Puedes cambiar estos consejos en el menú Ayuda)" + +#: umain.rsupdate +msgid "Update" +msgstr "Actualización" + +#: umain.rsupdatezipnam +msgid "- Update zip name is too short or missing" +msgstr "- El nombre del zip es muy corto o está vacío" + +#: umain.rsupdatezipnam2 +msgid "- Update zip name missing extension \".zip\"" +msgstr "- El nombre del zip no tiene la extensión \".zip\"" + +#: umain.rsversion0000 +msgid "Version (n.n.n.n)" +msgstr "Versión (n.n.n.n)" + +#: umain.rsversionentry +msgid "Version Entry #%d is absent" +msgstr "Entrada de versión #%d está ausente" + +#: umain.rsversionentry2 +msgid "Version entry #%d needs to be of the form n.n.n.n" +msgstr "Entrada de versión #%d necesita ser de la forma n.n.n.n" + +#: umain.rswouldyoulike +msgid "Would you like to copy %s to the %s folder?" +msgstr "¿Quieres copiar %s a la carpeta %s?" + +#: umain.rsyoumayneedto +msgid "(You may need to restart the app to see the change)" +msgstr "(Quizás necesites reiniciar la aplicación para ver los cambios)" diff --git a/applications/json_packager/locale/jsoneditor.po b/applications/json_packager/locale/jsoneditor.po new file mode 100644 index 000000000..9d2e51b30 --- /dev/null +++ b/applications/json_packager/locale/jsoneditor.po @@ -0,0 +1,302 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: tfrmmain.btnadd.caption +msgid "Add" +msgstr "" + +#: tfrmmain.btnadd.hint +msgid "" +"Add Package File:\n" +"The update zip can contain more than one lpk file\n" +"deployed to the same place.\n" +msgstr "" + +#: tfrmmain.btnremove.caption +msgid "Remove" +msgstr "" + +#: tfrmmain.btnremove.hint +msgid "" +"Remove Package File:\n" +"Deletes the last entry from the list\n" +msgstr "" + +#: tfrmmain.cbforceupdate.caption +msgid "Force Update" +msgstr "" + +#: tfrmmain.cbforceupdate.hint +msgid "" +"Force Update check box:\n" +"If this is checked the OPM user will be notified\n" +"of your update. Only check this if the update is important.\n" +msgstr "" + +#: tfrmmain.cmd_close.caption +msgid "&Close" +msgstr "" + +#: tfrmmain.cmd_save.caption +msgid "&Save" +msgstr "" + +#: tfrmmain.cmd_save.hint +msgid "" +"Save the current configuration to disk\n" +"as a JSON update file\n" +msgstr "" + +#: tfrmmain.editdownloadurl.hint +msgid "" +"Download URL:\n" +"Include the FULL url needed to download the package Zip file\n" +msgstr "" + +#: tfrmmain.editname.hint +msgid "" +"Update Zip Name:\n" +"This is just the filename (not including the path)\n" +"of your update zip. Type, or click the [...]\n" +msgstr "" + +#: tfrmmain.filemenu.caption +msgid "File" +msgstr "" + +#: tfrmmain.fileopen1.caption +msgid "&Open ..." +msgstr "" + +#: tfrmmain.fileopen1.hint +msgid "Open" +msgstr "" + +#: tfrmmain.filesaveas1.caption +msgid "&Save As ..." +msgstr "" + +#: tfrmmain.filesaveas1.hint +msgid "Save As" +msgstr "" + +#: tfrmmain.lbldownloadurl.caption +msgid "Download URL:" +msgstr "" + +#: tfrmmain.lblname.caption +msgid "Update Zip Name:" +msgstr "" + +#: tfrmmain.lblpackagefiles.caption +msgid "Package Files:" +msgstr "" + +#: tfrmmain.loaditem.caption +msgid "Load..." +msgstr "" + +#: tfrmmain.mnu_filenew.caption +msgid "New" +msgstr "" + +#: tfrmmain.mnu_filesave.caption +msgid "Save" +msgstr "" + +#: tfrmmain.mnu_help.caption +msgid "&Help" +msgstr "" + +#: tfrmmain.mnu_helpabout.caption +msgid "About.." +msgstr "" + +#: tfrmmain.mnu_helpdisablewarnings.caption +msgid "Disable warnings" +msgstr "Desactivar Advertencias" + +#: tfrmmain.mnu_helpshowhints.caption +msgid "Show Popup Hints" +msgstr "" + +#: tfrmmain.mnu_lang.caption +msgid "Languages.." +msgstr "" + +#: tfrmmain.mnu_lang_en.caption +msgid "English" +msgstr "" + +#: tfrmmain.mnu_lang_es.caption +msgid "Español" +msgstr "" + +#: tfrmmain.saveasitem.caption +msgid "Save As..." +msgstr "" + +#: tfrmmain.sb_editname.caption +msgid "..." +msgstr "" + +#: tfrmmain.sb_editname.hint +msgid "" +"Update Zip Name:\n" +"Click this to browse your system to find\n" +" an existing Update Zip\n" +msgstr "" + +#: tfrmmain.spd_checkurl.caption +msgid "Check URL" +msgstr "" + +#: tfrmmain.spd_checkurl.hint +msgid "Attempting to Open URL" +msgstr "" + +#: tfrmmain.stringpackagefiles.hint +msgid "" +"Package Files:\n" +"[Add]: to make a new entry\n" +"[Remove]: Remove last entry\n" +"lpk filename: i.e. mycontrol.lpk\n" +"Version: The FULL version (i.e. not 1.0 but 1.0.0.0)\n" +msgstr "" + +#: umain.rsabout +msgid "About" +msgstr "" + +#: umain.rscompiledwith2 +msgid "Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s - %s platform%s%s" +msgstr "" + +#: umain.rsdownloadurld +msgid "- Download URL does not contain the zipfile name" +msgstr "" + +#: umain.rsdownloadurli +msgid "- Download URL is too short or missing" +msgstr "" + +#: umain.rsdownloadurli2 +msgid "- Download URL is incomplete" +msgstr "" + +#: umain.rsdownloadurls +msgid "- Download URL should start with \"http\"" +msgstr "" + +#: umain.rsfilemaybeuns +msgid "JSON may be unsaved. Are you sure you want to quit?" +msgstr "" + +#: umain.rsfixthentryag +msgid "Fix, then try again." +msgstr "" + +#: umain.rshelpandinfor +msgid "Help and Information" +msgstr "" + +#: umain.rshttpwwwupdat +msgid "http://www.updatesite.com/myupdate/mypackagename.zip" +msgstr "" + +#: umain.rslanguagechan +msgid "Language changed to \"%s\"." +msgstr "" + +#: umain.rslpkfilename +msgid "lpk FileName" +msgstr "" + +#: umain.rsmypackagenam +msgid "mypackagename.zip" +msgstr "" + +#: umain.rsoneofthereq1 +msgid "One of the required fields is missing or wrong." +msgstr "" + +#: umain.rsoneofthereqn +msgid "One or more of the required fields are missing or wrong." +msgstr "" + +#: umain.rsoverwrite +msgid "Overwrite" +msgstr "" + +#: umain.rssavedok +msgid "Saved OK" +msgstr "" + +#: umain.rssaveunsucces +msgid "Save unsuccessful" +msgstr "" + +#: umain.rssorrycopyope +msgid "Sorry - copy operation was unsuccessful" +msgstr "" + +#: umain.rssorrythislan +msgid "Sorry, this language is unavailable at this time." +msgstr "" + +#: umain.rsswassuccessf +msgid "%s was successfully copied to the %s folder" +msgstr "" + +#: umain.rsthelpkentryd +msgid "The .lpk entry #%d is missing the .lpk extension" +msgstr "" + +#: umain.rsthelpkentryd2 +msgid "The .lpk entry #%d is is absent" +msgstr "" + +#: umain.rstherearenolp +msgid "- There are no .lpk files in the list yet" +msgstr "" + +#: umain.rsthisoptionsh +msgid "This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?" +msgstr "" + +#: umain.rsturnhintsoff +msgid "(You can toggle these hints on/off in the Help menu)" +msgstr "" + +#: umain.rsupdate +msgid "Update" +msgstr "" + +#: umain.rsupdatezipnam +msgid "- Update zip name is too short or missing" +msgstr "" + +#: umain.rsupdatezipnam2 +msgid "- Update zip name missing extension \".zip\"" +msgstr "" + +#: umain.rsversion0000 +msgid "Version (n.n.n.n)" +msgstr "" + +#: umain.rsversionentry +msgid "Version Entry #%d is absent" +msgstr "" + +#: umain.rsversionentry2 +msgid "Version entry #%d needs to be of the form n.n.n.n" +msgstr "" + +#: umain.rswouldyoulike +msgid "Would you like to copy %s to the %s folder?" +msgstr "" + +#: umain.rsyoumayneedto +msgid "(You may need to restart the app to see the change)" +msgstr "" + diff --git a/applications/json_packager/ugenericcollection.pas b/applications/json_packager/ugenericcollection.pas new file mode 100644 index 000000000..4d9655516 --- /dev/null +++ b/applications/json_packager/ugenericcollection.pas @@ -0,0 +1,50 @@ +unit ugenericcollection; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils; + +type + + { TGenericCollection } + + generic TGenericCollection<T> = class(TCollection) + private + function GetItems(Index: integer): T; + procedure SetItems(Index: integer; AValue: T); + public + constructor Create; + public + function Add: T; + public + property Items[Index: integer]: T read GetItems write SetItems; default; + end; + +implementation + +{ TGenericCollection } + +function TGenericCollection.GetItems(Index: integer): T; +begin + Result := T(inherited Items[Index]); +end; + +procedure TGenericCollection.SetItems(Index: integer; AValue: T); +begin + Items[Index].Assign(AValue); +end; + +constructor TGenericCollection.Create; +begin + inherited Create(T); +end; + +function TGenericCollection.Add: T; +begin + Result := T(inherited Add); +end; + +end. diff --git a/applications/json_packager/umain.lfm b/applications/json_packager/umain.lfm new file mode 100644 index 000000000..29432c7c3 --- /dev/null +++ b/applications/json_packager/umain.lfm @@ -0,0 +1,284 @@ +object frmMain: TfrmMain + Left = 526 + Height = 420 + Top = 226 + Width = 320 + BorderIcons = [biSystemMenu] + BorderStyle = bsSingle + ClientHeight = 400 + ClientWidth = 320 + DefaultMonitor = dmPrimary + Menu = MainMenu1 + OnClick = mnu_fileSaveClick + OnClose = FormClose + OnCloseQuery = FormCloseQuery + OnCreate = FormCreate + OnShow = FormShow + Position = poScreenCenter + LCLVersion = '1.7' + object lblName: TLabel + Left = 8 + Height = 15 + Top = 8 + Width = 96 + Caption = 'Update Zip Name:' + ParentColor = False + end + object editName: TEdit + Left = 8 + Height = 23 + Hint = 'Update Zip Name:'#13#10'This is just the filename (not including the path)'#13#10'of your update zip. Type, or click the [...]' + Top = 31 + Width = 264 + Anchors = [akTop, akLeft, akRight] + Color = clWindow + TabOrder = 0 + end + object cbForceUpdate: TCheckBox + Left = 8 + Height = 19 + Hint = 'Force Update check box:'#13#10'If this is checked the OPM user will be notified'#13#10'of your update. Only check this if the update is important.' + Top = 72 + Width = 90 + Caption = 'Force Update' + Color = clWindow + OnChange = cbForceUpdateChange + OnMouseUp = cbForceUpdateMouseUp + ParentColor = False + TabOrder = 1 + end + object lblDownloadURL: TLabel + Left = 8 + Height = 15 + Top = 104 + Width = 81 + Caption = 'Download URL:' + ParentColor = False + end + object editDownloadURL: TEdit + Left = 8 + Height = 28 + Hint = 'Download URL:'#13#10'Include the FULL url needed to download the package Zip file' + Top = 128 + Width = 304 + Anchors = [akTop, akLeft, akRight] + AutoSize = False + Color = clWindow + TabOrder = 2 + end + object lblPackageFiles: TLabel + Left = 8 + Height = 15 + Top = 163 + Width = 73 + Caption = 'Package Files:' + ParentColor = False + end + object stringPackageFiles: TStringGrid + Left = 8 + Height = 144 + Hint = 'Package Files:'#13#10'[Add]: to make a new entry'#13#10'[Remove]: Remove last entry'#13#10'lpk filename: i.e. mycontrol.lpk'#13#10'Version: The FULL version (i.e. not 1.0 but 1.0.0.0)' + Top = 192 + Width = 304 + AutoFillColumns = True + ColCount = 2 + Columns = < + item + Title.Caption = '' + Width = 150 + end + item + Title.Caption = '' + Width = 150 + end> + FixedCols = 0 + Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing, goThumbTracking, goSmoothScroll] + RowCount = 1 + TabOrder = 3 + TitleStyle = tsNative + ColWidths = ( + 150 + 150 + ) + end + object btnAdd: TButton + Left = 160 + Height = 25 + Hint = 'Add Package File:'#13#10'The update zip can contain more than one lpk file'#13#10'deployed to the same place.' + Top = 163 + Width = 75 + Caption = 'Add' + OnClick = btnAddClick + TabOrder = 4 + end + object btnRemove: TButton + Left = 237 + Height = 25 + Hint = 'Remove Package File:'#13#10'Deletes the last entry from the list' + Top = 163 + Width = 75 + Caption = 'Remove' + OnClick = btnRemoveClick + TabOrder = 5 + end + object cmd_Close: TBitBtn + Left = 237 + Height = 30 + Top = 352 + Width = 75 + Cancel = True + Caption = '&Close' + Kind = bkClose + ModalResult = 11 + OnClick = cmd_CloseClick + TabOrder = 6 + end + object cmd_save: TBitBtn + Left = 123 + Height = 30 + Hint = 'Save the current configuration to disk'#13#10'as a JSON update file' + Top = 352 + Width = 75 + Caption = '&Save' + Default = True + Glyph.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000 + 00000000000000000000FFFFFF0046986FFF379064FF0B774240FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000 + 000000000000FFFFFF0054A07AFF78BCA1FF7DB99EFF368F63FF0B774240FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF + FF00FFFFFF0054A07AFF7BBEA4FF39A681FF55B191FF7AB698FF399166FF0B77 + 4240FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0054A0 + 7A0054A07AFF7CC0A6FF3CA985FF76BDA1FF7FBBA0FF4FB592FF7BBEA2FF54A0 + 7AFF0B77424054A07A0054A07A00FFFFFF00FFFFFF00FFFFFF0054A07A0054A0 + 7AFF7DC1A7FF4DB391FF7FBB9FFF4D9C75FF3E946AFF7BC5A9FF40B18BFF7BBE + A2FF54A07AFF0B77424054A07A0054A07A00FFFFFF00FFFFFF0054A07AFF7FC3 + A8FF5FBB9BFF7FBBA0FF3A9166FF0B7742600B7742404D9C75FF7BC5A9FF4EBC + 97FF7BBEA2FF54A07AFF0B7742400B77421054A07A00FFFFFF000B7742303A91 + 66FC7FBBA0FF3A9166FC0B77423000000000000000000B77426054A07AFF7BC5 + A9FF4EBE99FF5CC2A0FF54A07AFF0B77423F0B77421054A07A00000000000B77 + 42203A9166F60B774220000000000000000000000000FFFFFF000B77424054A0 + 7AFF7CCAAEFF52C39DFF81BDA2FF54A07AFF0B77423F54A07A00000000000000 + 0000000000000000000000000000000000000000000000000000000000000B77 + 424054A07AFF6DC9A8FF57C7A2FF7BCCAFFF54A07AFF0B774239000000000000 + 000000000000000000000000000000000000000000000000000000000000FFFF + FF000B77424C54A07AFF7BCCAFFF81CBAFFF54A07AFF0B77423F000000000000 + 000000000000000000000000000000000000000000000000000000000000FFFF + FF00FFFFFF000B77423D54A07AFF54A07AFF0B774247FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF000B77423F0B77423FFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + OnClick = mnu_fileSaveClick + TabOrder = 7 + end + object sb_editName: TSpeedButton + Left = 280 + Height = 22 + Hint = 'Update Zip Name:'#13#10'Click this to browse your system to find'#13#10' an existing Update Zip' + Top = 31 + Width = 24 + Caption = '...' + OnClick = sb_editNameClick + end + object spd_CheckURL: TSpeedButton + Left = 104 + Height = 19 + Hint = 'Attempting to Open URL' + Top = 102 + Width = 61 + AutoSize = True + Caption = 'Check URL' + OnClick = spd_CheckURLClick + end + object MainMenu1: TMainMenu + Left = 200 + object FileMenu: TMenuItem + Caption = 'File' + object mnu_fileNew: TMenuItem + Caption = 'New' + OnClick = mnu_fileNewClick + end + object LoadItem: TMenuItem + Caption = 'Load...' + OnClick = LoadItemClick + end + object mnu_fileSave: TMenuItem + Caption = 'Save' + OnClick = mnu_fileSaveClick + end + object SaveAsItem: TMenuItem + Caption = 'Save As...' + OnClick = SaveAsItemClick + end + end + object mnu_help: TMenuItem + Caption = '&Help' + object mnu_helpShowHints: TMenuItem + AutoCheck = True + Caption = 'Show Popup Hints' + Checked = True + GroupIndex = 1 + OnClick = mnu_helpShowHintsClick + end + object mnu_helpDisableWarnings: TMenuItem + AutoCheck = True + Caption = 'Disable warnings' + OnClick = mnu_helpDisableWarningsClick + end + object mnu_lang: TMenuItem + Caption = 'Languages..' + object mnu_lang_en: TMenuItem + Caption = 'English' + GroupIndex = 2 + RadioItem = True + OnClick = mnu_lang_enClick + end + object mnu_lang_es: TMenuItem + Caption = 'Español' + GroupIndex = 2 + RadioItem = True + OnClick = mnu_lang_esClick + end + end + object mnu_helpAbout: TMenuItem + Caption = 'About..' + OnClick = mnu_helpAboutClick + end + end + end + object ActionList1: TActionList + Left = 136 + object FileSaveAs1: TFileSaveAs + Category = 'File' + Caption = '&Save As ...' + Dialog.Filter = 'JSON|*.json' + Hint = 'Save As' + end + object FileOpen1: TFileOpen + Category = 'File' + Caption = '&Open ...' + Dialog.Filter = 'JSON|*.json' + Hint = 'Open' + ShortCut = 16463 + end + end + object mypopup: TPopupNotifier + Color = 14483455 + Icon.Data = { + 07544269746D617000000000 + } + Text = 'Text' + Title = 'Caption' + Visible = False + Left = 168 + end +end diff --git a/applications/json_packager/umain.lrj b/applications/json_packager/umain.lrj new file mode 100644 index 000000000..093c11bf0 --- /dev/null +++ b/applications/json_packager/umain.lrj @@ -0,0 +1,39 @@ +{"version":1,"strings":[ +{"hash":183952426,"name":"tfrmmain.lblname.caption","sourcebytes":[85,112,100,97,116,101,32,90,105,112,32,78,97,109,101,58],"value":"Update Zip Name:"}, +{"hash":260482813,"name":"tfrmmain.editname.hint","sourcebytes":[85,112,100,97,116,101,32,90,105,112,32,78,97,109,101,58,13,10,84,104,105,115,32,105,115,32,106,117,115,116,32,116,104,101,32,102,105,108,101,110,97,109,101,32,40,110,111,116,32,105,110,99,108,117,100,105,110,103,32,116,104,101,32,112,97,116,104,41,13,10,111,102,32,121,111,117,114,32,117,112,100,97,116,101,32,122,105,112,46,32,84,121,112,101,44,32,111,114,32,99,108,105,99,107,32,116,104,101,32,91,46,46,46,93],"value":"Update Zip Name:\r\nThis is just the filename (not including the path)\r\nof your update zip. Type, or click the [...]"}, +{"hash":190949342,"name":"tfrmmain.cbforceupdate.hint","sourcebytes":[70,111,114,99,101,32,85,112,100,97,116,101,32,99,104,101,99,107,32,98,111,120,58,13,10,73,102,32,116,104,105,115,32,105,115,32,99,104,101,99,107,101,100,32,116,104,101,32,79,80,77,32,117,115,101,114,32,119,105,108,108,32,98,101,32,110,111,116,105,102,105,101,100,13,10,111,102,32,121,111,117,114,32,117,112,100,97,116,101,46,32,32,79,110,108,121,32,99,104,101,99,107,32,116,104,105,115,32,105,102,32,116,104,101,32,117,112,100,97,116,101,32,105,115,32,105,109,112,111,114,116,97,110,116,46],"value":"Force Update check box:\r\nIf this is checked the OPM user will be notified\r\nof your update. Only check this if the update is important."}, +{"hash":17834453,"name":"tfrmmain.cbforceupdate.caption","sourcebytes":[70,111,114,99,101,32,85,112,100,97,116,101],"value":"Force Update"}, +{"hash":202110442,"name":"tfrmmain.lbldownloadurl.caption","sourcebytes":[68,111,119,110,108,111,97,100,32,85,82,76,58],"value":"Download URL:"}, +{"hash":265021141,"name":"tfrmmain.editdownloadurl.hint","sourcebytes":[68,111,119,110,108,111,97,100,32,85,82,76,58,13,10,73,110,99,108,117,100,101,32,116,104,101,32,70,85,76,76,32,117,114,108,32,110,101,101,100,101,100,32,116,111,32,100,111,119,110,108,111,97,100,32,116,104,101,32,112,97,99,107,97,103,101,32,90,105,112,32,102,105,108,101],"value":"Download URL:\r\nInclude the FULL url needed to download the package Zip file"}, +{"hash":57627770,"name":"tfrmmain.lblpackagefiles.caption","sourcebytes":[80,97,99,107,97,103,101,32,70,105,108,101,115,58],"value":"Package Files:"}, +{"hash":168058793,"name":"tfrmmain.stringpackagefiles.hint","sourcebytes":[80,97,99,107,97,103,101,32,70,105,108,101,115,58,13,10,91,65,100,100,93,58,32,32,116,111,32,109,97,107,101,32,97,32,110,101,119,32,101,110,116,114,121,13,10,91,82,101,109,111,118,101,93,58,32,82,101,109,111,118,101,32,108,97,115,116,32,101,110,116,114,121,13,10,108,112,107,32,102,105,108,101,110,97,109,101,58,32,105,46,101,46,32,109,121,99,111,110,116,114,111,108,46,108,112,107,13,10,86,101,114,115,105,111,110,58,32,84,104,101,32,70,85,76,76,32,118,101,114,115,105,111,110,32,40,105,46,101,46,32,110,111,116,32,49,46,48,32,98,117,116,32,49,46,48,46,48,46,48,41],"value":"Package Files:\r\n[Add]: to make a new entry\r\n[Remove]: Remove last entry\r\nlpk filename: i.e. mycontrol.lpk\r\nVersion: The FULL version (i.e. not 1.0 but 1.0.0.0)"}, +{"hash":4294967295,"name":"tfrmmain.stringpackagefiles.columns[0].title.caption","sourcebytes":[],"value":""}, +{"hash":4294967295,"name":"tfrmmain.stringpackagefiles.columns[1].title.caption","sourcebytes":[],"value":""}, +{"hash":61051198,"name":"tfrmmain.btnadd.hint","sourcebytes":[65,100,100,32,80,97,99,107,97,103,101,32,70,105,108,101,58,13,10,84,104,101,32,117,112,100,97,116,101,32,122,105,112,32,99,97,110,32,99,111,110,116,97,105,110,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,108,112,107,32,102,105,108,101,13,10,100,101,112,108,111,121,101,100,32,116,111,32,116,104,101,32,115,97,109,101,32,112,108,97,99,101,46],"value":"Add Package File:\r\nThe update zip can contain more than one lpk file\r\ndeployed to the same place."}, +{"hash":18340,"name":"tfrmmain.btnadd.caption","sourcebytes":[65,100,100],"value":"Add"}, +{"hash":3931908,"name":"tfrmmain.btnremove.hint","sourcebytes":[82,101,109,111,118,101,32,80,97,99,107,97,103,101,32,70,105,108,101,58,13,10,68,101,108,101,116,101,115,32,116,104,101,32,108,97,115,116,32,101,110,116,114,121,32,102,114,111,109,32,116,104,101,32,108,105,115,116],"value":"Remove Package File:\r\nDeletes the last entry from the list"}, +{"hash":93079237,"name":"tfrmmain.btnremove.caption","sourcebytes":[82,101,109,111,118,101],"value":"Remove"}, +{"hash":44709525,"name":"tfrmmain.cmd_close.caption","sourcebytes":[38,67,108,111,115,101],"value":"&Close"}, +{"hash":29947669,"name":"tfrmmain.cmd_save.hint","sourcebytes":[83,97,118,101,32,116,104,101,32,99,117,114,114,101,110,116,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,116,111,32,100,105,115,107,13,10,97,115,32,97,32,74,83,79,78,32,117,112,100,97,116,101,32,102,105,108,101],"value":"Save the current configuration to disk\r\nas a JSON update file"}, +{"hash":2857157,"name":"tfrmmain.cmd_save.caption","sourcebytes":[38,83,97,118,101],"value":"&Save"}, +{"hash":244237216,"name":"tfrmmain.sb_editname.hint","sourcebytes":[85,112,100,97,116,101,32,90,105,112,32,78,97,109,101,58,13,10,67,108,105,99,107,32,116,104,105,115,32,116,111,32,98,114,111,119,115,101,32,121,111,117,114,32,115,121,115,116,101,109,32,116,111,32,102,105,110,100,13,10,32,97,110,32,101,120,105,115,116,105,110,103,32,85,112,100,97,116,101,32,90,105,112],"value":"Update Zip Name:\r\nClick this to browse your system to find\r\n an existing Update Zip"}, +{"hash":12558,"name":"tfrmmain.sb_editname.caption","sourcebytes":[46,46,46],"value":"..."}, +{"hash":60451052,"name":"tfrmmain.spd_checkurl.hint","sourcebytes":[65,116,116,101,109,112,116,105,110,103,32,116,111,32,79,112,101,110,32,85,82,76],"value":"Attempting to Open URL"}, +{"hash":194843532,"name":"tfrmmain.spd_checkurl.caption","sourcebytes":[67,104,101,99,107,32,85,82,76],"value":"Check URL"}, +{"hash":315429,"name":"tfrmmain.filemenu.caption","sourcebytes":[70,105,108,101],"value":"File"}, +{"hash":21703,"name":"tfrmmain.mnu_filenew.caption","sourcebytes":[78,101,119],"value":"New"}, +{"hash":56062302,"name":"tfrmmain.loaditem.caption","sourcebytes":[76,111,97,100,46,46,46],"value":"Load..."}, +{"hash":366789,"name":"tfrmmain.mnu_filesave.caption","sourcebytes":[83,97,118,101],"value":"Save"}, +{"hash":122542542,"name":"tfrmmain.saveasitem.caption","sourcebytes":[83,97,118,101,32,65,115,46,46,46],"value":"Save As..."}, +{"hash":2812976,"name":"tfrmmain.mnu_help.caption","sourcebytes":[38,72,101,108,112],"value":"&Help"}, +{"hash":186260755,"name":"tfrmmain.mnu_helpshowhints.caption","sourcebytes":[83,104,111,119,32,80,111,112,117,112,32,72,105,110,116,115],"value":"Show Popup Hints"}, +{"hash":253903779,"name":"tfrmmain.mnu_helpdisablewarnings.caption","sourcebytes":[68,105,115,97,98,108,101,32,119,97,114,110,105,110,103,115],"value":"Disable warnings"}, +{"hash":187646702,"name":"tfrmmain.mnu_lang.caption","sourcebytes":[76,97,110,103,117,97,103,101,115,46,46],"value":"Languages.."}, +{"hash":206450904,"name":"tfrmmain.mnu_lang_en.caption","sourcebytes":[69,110,103,108,105,115,104],"value":"English"}, +{"hash":174974108,"name":"tfrmmain.mnu_lang_es.caption","sourcebytes":[69,115,112,97,195,177,111,108],"value":"Espa\u00F1ol"}, +{"hash":127321934,"name":"tfrmmain.mnu_helpabout.caption","sourcebytes":[65,98,111,117,116,46,46],"value":"About.."}, +{"hash":104643966,"name":"tfrmmain.filesaveas1.caption","sourcebytes":[38,83,97,118,101,32,65,115,32,46,46,46],"value":"&Save As ..."}, +{"hash":160199891,"name":"tfrmmain.filesaveas1.hint","sourcebytes":[83,97,118,101,32,65,115],"value":"Save As"}, +{"hash":113253486,"name":"tfrmmain.fileopen1.caption","sourcebytes":[38,79,112,101,110,32,46,46,46],"value":"&Open ..."}, +{"hash":353982,"name":"tfrmmain.fileopen1.hint","sourcebytes":[79,112,101,110],"value":"Open"} +]} diff --git a/applications/json_packager/umain.pas b/applications/json_packager/umain.pas new file mode 100644 index 000000000..43d3c4727 --- /dev/null +++ b/applications/json_packager/umain.pas @@ -0,0 +1,800 @@ +unit umain; + + { OnlinePackageManager Update JSON Editor + + Copyright (C)2016 usernames lainz, minesadorada @ http://forum.lazarus.freepascal.org/index.php + + This source 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 2 of the License, or (at your option) + any later version. + + This code 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. + + A copy of the GNU General Public License is available on the World Wide Web + at <http://www.gnu.org/copyleft/gpl.html>. You can also obtain it by writing + to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + Version History + =============== + 0.0.0.0 Original code by lainz + ..to 0.1.6.0 Refactored and updated by minesadorada + 0.1.7.0: Bugfix by lainz + 0.1.8.0: Config file change by minesadorada + } +{$mode objfpc}{$H+} + +interface + +{DefaultTranslator} +uses + Classes, Forms, Controls, StdCtrls, Menus, ActnList, StdActns, Grids, + Graphics, Buttons, fileutil, LazFileUtils, fileinfo, ugenericcollection, fpjsonrtti, + Dialogs, StrUtils, LCLTranslator, PopupNotifier, SysUtils, inifiles, + lclintf, lclVersion; + +type + + { TPackage } + + { TPackageFiles } + + TPackageFiles = class(TCollectionItem) + private + FName: string; + FVersion: string; + published + property Name: string read FName write FName; + property Version: string read FVersion write FVersion; + end; + + TPackageFilesList = specialize TGenericCollection<TPackageFiles>; + + { TPackageData } + + TPackageData = class(TPersistent) + private + FDownloadURL: string; + FForceUpdate: boolean; + FName: string; + public + constructor Create; + published + property Name: string read FName write FName; + property ForceUpdate: boolean read FForceUpdate write FForceUpdate; + property DownloadURL: string read FDownloadURL write FDownloadURL; + end; + + TPackage = class(TPersistent) + private + FPackage: TPackageData; + FPackageFiles: TPackageFilesList; + public + constructor Create; + destructor Destroy; override; + procedure LoadFromFile(AFileName: string); + function SaveToFile(AFileName: string): boolean; + published + property Package: TPackageData read FPackage write FPackage; + property PackageFiles: TPackageFilesList read FPackageFiles write FPackageFiles; + end; + + { TfrmMain } + + TfrmMain = class(TForm) + ActionList1: TActionList; + cmd_Close: TBitBtn; + cmd_save: TBitBtn; + btnAdd: TButton; + btnRemove: TButton; + cbForceUpdate: TCheckBox; + editName: TEdit; + editDownloadURL: TEdit; + FileOpen1: TFileOpen; + FileSaveAs1: TFileSaveAs; + lblPackageFiles: TLabel; + lblName: TLabel; + lblDownloadURL: TLabel; + MainMenu1: TMainMenu; + FileMenu: TMenuItem; + LoadItem: TMenuItem; + mnu_fileNew: TMenuItem; + mnu_helpDisableWarnings: TMenuItem; + mnu_lang_es: TMenuItem; + mnu_lang_en: TMenuItem; + mnu_lang: TMenuItem; + mnu_helpAbout: TMenuItem; + mnu_helpShowHints: TMenuItem; + mnu_help: TMenuItem; + mnu_fileSave: TMenuItem; + mypopup: TPopupNotifier; + SaveAsItem: TMenuItem; + sb_editName: TSpeedButton; + spd_CheckURL: TSpeedButton; + stringPackageFiles: TStringGrid; + procedure btnAddClick(Sender: TObject); + procedure btnRemoveClick(Sender: TObject); + procedure cbForceUpdateChange(Sender: TObject); + procedure cbForceUpdateMouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: integer); + procedure cmd_CloseClick(Sender: TObject); + procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); + procedure FormCloseQuery(Sender: TObject; var CanClose: boolean); + procedure FormCreate(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure LoadItemClick(Sender: TObject); + procedure mnu_fileNewClick(Sender: TObject); + procedure mnu_fileSaveClick(Sender: TObject); + procedure mnu_helpAboutClick(Sender: TObject); + procedure mnu_helpDisableWarningsClick(Sender: TObject); + procedure mnu_helpShowHintsClick(Sender: TObject); + procedure mnu_lang_enClick(Sender: TObject); + procedure mnu_lang_esClick(Sender: TObject); + procedure SaveAsItemClick(Sender: TObject); + procedure sb_editNameClick(Sender: TObject); + procedure spd_CheckURLClick(Sender: TObject); + private + { private declarations } + JSONPackage: TPackage; + bForceSaveAs, bShowPopupHints, bDisableWarnings, bDirty,bIsVirgin: boolean; + sJSONFilePath: string; + sUpdateDirectory, sZipDirectory: string; + CFG: TIniFile; + slErrorList: TStrings; + function ValidationFailed: boolean; + procedure CtrlShowPopup(Sender: TObject); + procedure CtrlHidePopup(Sender: TObject); + procedure CtrlSetUpPopupHandlers; + procedure CtrlMakeDirty(Sender: TObject); + public + { public declarations } + end; + +var + frmMain: TfrmMain; + +implementation + +{$R *.lfm} +resourcestring + rsOneOfTheReq1 = + 'One of the required fields is missing or wrong.'; + rsOneOfTheReqn = + 'One or more of the required fields are missing or wrong.'; + rsSavedOK = 'Saved OK'; + rsSaveUnsucces = 'Save unsuccessful'; + rsOverwrite = 'Overwrite'; + rsTurnHintsOff = '(You can toggle these hints on/off in the Help menu)'; + rsHelpAndInfor = 'Help and Information'; + rsAbout = 'About'; + rsUpdate = 'Update'; + rsFileMayBeUns = 'JSON may be unsaved. Are you sure you want to quit?'; + rsMypackagenam = 'mypackagename.zip'; + rsHttpWwwUpdat = 'http://www.updatesite.com/myupdate/mypackagename.zip'; + rsLpkFileName = 'lpk FileName'; + rsVersion0000 = 'Version (n.n.n.n)'; + rsFixThenTryAg = 'Fix, then try again.'; + rsUpdateZipNam = '- Update zip name is too short or missing'; + rsDownloadURLI = '- Download URL is too short or missing'; + rsThereAreNoLp = '- There are no .lpk files in the list yet'; + rsUpdateZipNam2 = '- Update zip name missing extension ".zip"'; + rsDownloadURLI2 = '- Download URL is incomplete'; + rsDownloadURLS = '- Download URL should start with "http"'; + rsDownloadURLD = '- Download URL does not contain the zipfile name'; + rsWouldYouLike = 'Would you like to copy %s to the %s folder?'; + rsSWasSuccessf = '%s was successfully copied to the %s folder'; + rsSorryCopyOpe = 'Sorry - copy operation was unsuccessful'; + rsCompiledWith2 = 'Compiled with FPC V:%s and Lazarus V:%d.%d%s for the %s -' + + ' %s platform%s%s'; + rsVersionEntry = 'Version Entry #%d is absent'; + rsVersionEntry2 = 'Version entry #%d needs to be of the form n.n.n.n'; + rsTheLpkEntryD = 'The .lpk entry #%d is missing the .lpk extension'; + rsTheLpkEntryD2 = 'The .lpk entry #%d is is absent'; + rsThisOptionSh = + 'This option should only be used for crucial updates or bug-fixed packages. Are you OK with that?'; + rsLanguageChan = 'Language changed to "%s".'; + rsSorryThisLan = 'Sorry, this language is unavailable at this time.'; + rsYouMayNeedTo = '(You may need to restart the app to see the change)'; + +{ TPackageData } + +constructor TPackageData.Create; +begin + FName := ''; + FForceUpdate := False; + FDownloadURL := ''; +end; + +{ TfrmMain } +procedure TfrmMain.CtrlMakeDirty(Sender: TObject); +begin + bDirty := True; +end; + +procedure TfrmMain.CtrlHidePopup(Sender: TObject); +// Get rid of highlighting +begin + mypopup.Hide; + slErrorList.Clear; + if Sender.ClassName <> 'TLabel' then + TControl(Sender).Color := clWindow; +end; + +procedure TfrmMain.CtrlShowPopup(Sender: TObject); +// Use the control's Hint property to populate the popup text +begin + if not bShowPopupHints then + exit; + MyPopup.Text := ''; + MyPopup.Title := ''; + If (Sender.InheritsFrom(TControl) = FALSE) then exit; + + myPopup.Text := TControl(Sender).Hint; + if (MyPopup.Text <> '') then + begin + mypopup.Title := rsHelpAndInfor; + mypopup.Text := mypopup.Text; + if bIsVirgin then mypopup.Text:=mypopup.Text + LineEnding + rsTurnHintsOff; + mypopup.showatpos(Mouse.CursorPos.X, Mouse.CursorPos.Y); + end; +end; + +procedure TfrmMain.CtrlSetUpPopupHandlers; +// Use different handlers for some controls +var + iCount: integer; +begin + with frmMain do + begin + for iCount := 0 to Pred(ControlCount) do + begin + If (Controls[iCount].InheritsFrom(TControl) = FALSE) then continue; + if (Controls[iCount] is TEdit) then + begin + TEdit(Controls[iCount]).OnMouseEnter := @CtrlShowPopup; + TEdit(Controls[iCount]).OnMouseLeave := @CtrlHidePopup; + TEdit(Controls[iCount]).OnClick := @CtrlHidePopup; + TEdit(Controls[iCount]).OnEditingDone := @CtrlMakeDirty; + end; + if (Controls[iCount] is TCheckBox) then + begin + TCheckBox(Controls[iCount]).OnMouseEnter := @CtrlShowPopup; + TCheckBox(Controls[iCount]).OnMouseLeave := @CtrlHidePopup; + TCheckBox(Controls[iCount]).OnClick := @CtrlHidePopup; + TCheckBox(Controls[iCount]).OnEditingDone := @CtrlMakeDirty; + end; + if (Controls[iCount] is TStringGrid) then + begin + TStringGrid(Controls[iCount]).OnMouseEnter := @CtrlShowPopup; + TStringGrid(Controls[iCount]).OnMouseLeave := @CtrlHidePopup; + TStringGrid(Controls[iCount]).OnClick := @CtrlHidePopup; + TStringGrid(Controls[iCount]).OnEditingDone := @CtrlMakeDirty; + end; + if (Controls[iCount] is TLabel) then + begin + TLabel(Controls[iCount]).OnMouseEnter := @CtrlShowPopup; + TLabel(Controls[iCount]).OnMouseLeave := @CtrlHidePopup; + TLabel(Controls[iCount]).OnClick := @CtrlHidePopup; + end; + if (Controls[iCount] is TButton) then + begin + TButton(Controls[iCount]).OnMouseEnter := @CtrlShowPopup; + TButton(Controls[iCount]).OnMouseLeave := @CtrlHidePopup; + end; + if (Controls[iCount] is TSpeedButton) then + begin + TSpeedButton(Controls[iCount]).OnMouseEnter := @CtrlShowPopup; + TSpeedButton(Controls[iCount]).OnMouseLeave := @CtrlHidePopup; + end; + if (Controls[iCount] is TBitBtn) then + begin + TBitBtn(Controls[iCount]).OnMouseEnter := @CtrlShowPopup; + TBitBtn(Controls[iCount]).OnMouseLeave := @CtrlHidePopup; + end; + end; + end; +end; + + +procedure TfrmMain.btnAddClick(Sender: TObject); +begin + stringPackageFiles.RowCount := stringPackageFiles.RowCount + 1; +end; + +procedure TfrmMain.btnRemoveClick(Sender: TObject); +begin + if stringPackageFiles.RowCount > 1 then + stringPackageFiles.RowCount := stringPackageFiles.RowCount - 1; +end; + +procedure TfrmMain.cbForceUpdateChange(Sender: TObject); +begin + +end; + +procedure TfrmMain.cbForceUpdateMouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: integer); +var + s: string; +begin + if bDisableWarnings then + exit; + if cbForceUpdate.Checked then + begin + s := rsThisOptionSh; + if MessageDlg(s, mtConfirmation, [mbOK, mbAbort], 0, mbAbort) = mrAbort then + cbForceUpdate.Checked := False; + end; +end; + +procedure TfrmMain.cmd_CloseClick(Sender: TObject); +begin + +end; + +procedure TfrmMain.FormClose(Sender: TObject; var CloseAction: TCloseAction); +begin + CFG.WriteBool('Options', 'Virgin', False); + CFG.WriteBool('Options', 'DiableWarnings', bDisableWarnings); +end; + +procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: boolean); +begin + CanClose := True; + if bDisableWarnings = TRUE then + exit; + if bDirty = True then + begin + if MessageDlg(rsFileMayBeUns, mtConfirmation, [mbYes, mbNo], 0, mbNo) = mrNo then + CanClose := False; + end; +end; + +procedure TfrmMain.FormCreate(Sender: TObject); +var + sLang,INIFilePath: string; + +procedure CreateUniqueINI(aCount:Integer); +// Recursively loop until correct INI found, or new one created +begin + INIFilePath:=GetAppConfigFile(False) + IntToStr(aCount); + CFG := TIniFile.Create(INIFilePath); + If CFG.ReadString('Options','AppPath',ProgramDirectory) <> ProgramDirectory then + Begin + CFG.Free; // Ditch the old one + inc(aCount); + CreateUniqueINI(aCount); // Make a new one + end; +end; + +begin + Self.AutoAdjustLayout(lapAutoAdjustForDPI, Self.DesignTimeDPI, + Screen.PixelsPerInch, Self.Width, ScaleX(Self.Width, Self.DesignTimeDPI)); + // Enable AutoSize again to get correct Height + editName.AutoSize := True; + editDownloadURL.AutoSize := True; + // Furniture + Caption := Application.Title; + Icon := Application.Icon; + MyPopup.Icon := TPicture(Application.Icon); + editname.Text := rsMypackagenam; + editDownloadURL.Text := rsHttpWwwUpdat; + stringPackageFiles.Columns[0].Title.Caption := rsLpkFileName; + stringPackageFiles.Columns[1].Title.Caption := rsVersion0000; + // Defaults + bForceSaveAs := True; + bShowPopupHints := True; + slErrorList := TStringList.Create; + // Encourage the user to maintain an updates folder + sUpdateDirectory := ProgramDirectory + 'updates'; + if not FileExistsUTF8(sUpdateDirectory) then + if not ForceDirectoriesUTF8(ProgramDirectory + 'updates') then + sUpdateDirectory := ProgramDirectory; + // Enable options persistence + // If program location is different, create a new CFG file + // Because each component's location might be different + CreateUniqueINI(0); + CFG.WriteString('Options','AppPath',ProgramDirectory); + + // Pop-up hints (show on first run, then not again unless the user chooses) + bIsVirgin:=CFG.ReadBool('Options', 'Virgin', True); + bShowPopupHints := bIsVirgin; + mnu_helpShowHints.Checked := bShowPopupHints; + // Override here if the user has re-enabled them + bShowPopupHints := CFG.ReadBool('Options', 'ShowPopupHints', bShowPopupHints); + mnu_helpShowHints.Checked := bShowPopupHints; + bDisableWarnings := CFG.ReadBool('Options', 'DiableWarnings', False); + mnu_helpDisableWarnings.Checked := bDisableWarnings; + CtrlSetUpPopupHandlers; // Set the Hint property of various controls to show a Popup + // Language translation + sLang := CFG.ReadString('Options', 'Language', 'en'); // First default is English + SetDefaultLang(sLang, 'locale', True); + // Add more translations here + if sLang = 'en' then + mnu_lang_en.Checked := True; + if sLang = 'es' then + mnu_lang_es.Checked := True; + + bDirty := False; // No effect :( +end; + +procedure TfrmMain.FormShow(Sender: TObject); +begin + bDirty := False; +end; + +procedure TfrmMain.LoadItemClick(Sender: TObject); +var + i: integer; +begin + FileOpen1.Dialog.InitialDir := + CFG.ReadString('Options', 'LastLoadedJSONPath', sUpdateDirectory); + FileOpen1.Dialog.Filter := 'JSON|*.json'; + if FileOpen1.Dialog.Execute then + begin + sJSONFilePath := FileOpen1.Dialog.Filename; + CFG.WriteString('Options', 'LastLoadedJSONPath', ExtractFileDir(sJSONFilePath)); + JSONPackage := TPackage.Create; + JSONPackage.LoadFromFile(FileOpen1.Dialog.FileName); + + editName.Text := JSONPackage.Package.Name; + editDownloadURL.Text := JSONPackage.Package.DownloadURL; + cbForceUpdate.Checked := JSONPackage.Package.ForceUpdate; + + stringPackageFiles.RowCount := JSONPackage.PackageFiles.Count + 1; + for i := 0 to JSONPackage.PackageFiles.Count - 1 do + begin + stringPackageFiles.Cells[0, i + 1] := JSONPackage.PackageFiles.Items[i].Name; + stringPackageFiles.Cells[1, i + 1] := JSONPackage.PackageFiles.Items[i].Version; + end; + + JSONPackage.Free; + end; +end; + +procedure TfrmMain.mnu_fileNewClick(Sender: TObject); +begin + editname.Text := rsMypackagenam; + editDownloadURL.Text := rsHttpWwwUpdat; + cbForceUpdate.Checked:=False; + stringPackageFiles.RowCount:=1; + sJSONFilePath:=''; + sZipDirectory:=''; +end; + +procedure TfrmMain.mnu_fileSaveClick(Sender: TObject); +begin + bForceSaveAs := False; + SaveAsItem.Click; + bForceSaveAs := True; +end; + +procedure TfrmMain.mnu_helpAboutClick(Sender: TObject); +var + s: string; + Quad: TVersionQuad; + VInfo: TFileVersionInfo; + EqualsPos: integer; +begin + s := Application.Title + LineEnding; + if GetProgramVersion(Quad) then + s += 'Version: ' + VersionQuadToStr(Quad) + LineEnding; + Vinfo := TFileVersionInfo.Create(Application); + try + Vinfo.Filter.Add('LegalCopyright'); // Set In Project/Options/Version Info + Vinfo.Filter.Add('FileDescription'); // Set In Project/Options/Version Info + Vinfo.ReadFileInfo; + if VInfo.VersionStrings.Count > 0 then + begin + EqualsPos := Pos('=', VInfo.VersionStrings[1]); // Copyright + if (EqualsPos > 0) then + s += RightStr(VInfo.VersionStrings[1], Length(VInfo.VersionStrings[1]) - + EqualsPos) + LineEnding; + end; + s+=Format(rsCompiledWith2, + [{$I %FPCVERSION%},lcl_major,lcl_minor,LineEnding,{$I %FPCTARGETCPU%},{$I %FPCTARGETOS%},LineEnding,LineEnding]); + if VInfo.VersionStrings.Count > 1 then + begin + EqualsPos := Pos('=', VInfo.VersionStrings[0]); // File Deswcription + if (EqualsPos > 0) then + s += RightStr(VInfo.VersionStrings[0], Length(VInfo.VersionStrings[0]) - + EqualsPos) + LineEnding; + + end; + finally + Vinfo.Free; + end; + MessageDlg(rsAbout + ' ' + Application.Title, s, mtInformation, [mbOK], 0); +end; + +procedure TfrmMain.mnu_helpDisableWarningsClick(Sender: TObject); +begin + bDisableWarnings := not bDisableWarnings; + mnu_helpDisableWarnings.Checked := bDisableWarnings; + CFG.WriteBool('Options', 'DiableWarnings', bDisableWarnings); +end; + +procedure TfrmMain.mnu_helpShowHintsClick(Sender: TObject); +begin + bShowPopupHints := mnu_helpShowHints.Checked; + CFG.WriteBool('Options', 'ShowPopupHints', bShowPopupHints); +end; + +procedure TfrmMain.mnu_lang_enClick(Sender: TObject); +begin + SetDefaultLang('en', 'locale', True); + if Length(GetDefaultLang) > 0 then + begin + ShowMessageFmt(rsLanguageChan, [GetDefaultLang]); + CFG.WriteString('Options', 'Language', GetDefaultLang); + mnu_lang_en.Checked := True; + end + else + begin + mnu_lang_en.Checked := False; + ShowMessage(rsSorryThisLan + LineEnding + rsYouMayNeedTo); + end; +end; + +procedure TfrmMain.mnu_lang_esClick(Sender: TObject); +begin + SetDefaultLang('es', 'locale', True); + if Length(GetDefaultLang) > 0 then + begin + ShowMessageFmt(rsLanguageChan, [GetDefaultLang]); + CFG.WriteString('Options', 'Language', GetDefaultLang); + mnu_lang_es.Checked := True; + end + else + begin + mnu_lang_es.Checked := False; + ShowMessage(rsSorryThisLan); + end; +end; + +function TfrmMain.ValidationFailed: boolean; + // Add checks as needed here +var + iCount: integer; + Quad: TVersionQuad; // fileinfo unit +begin + Result := False; + // Check Zipname and URL http:// length + if (Length(editName.Text) < 5) then + begin + editName.Color := clYellow; + slErrorList.Add(rsUpdateZipNam); + Result := True; + end; + // URL implausable? + if (Length(editDownloadURL.Text) < 10) then + begin + slErrorList.Add(rsDownloadURLI); + editDownloadURL.Color := clYellow; + Result := True; + end; + // No lpk file? + if (stringPackageFiles.RowCount = 1) then + begin + slErrorList.Add(rsThereAreNoLp); + stringPackageFiles.Color := clYellow; + Result := True; + end; + // Remembered to type 'zip'? + if (Length(editName.Text) > 4) then + if (RightStr(LowerCase(editName.Text), 4) <> '.zip') then + begin + slErrorList.Add(rsUpdateZipNam2); + editName.Color := clYellow; + Result := True; + end; + // A full URL? + if ((Length(editDownloadURL.Text) > 0) and (RightStr(editDownloadURL.Text, 1) = '/')) + then + begin + slErrorList.Add(rsDownloadURLI2); + editDownloadURL.Color := clYellow; + Result := True; + end; + + if ((Length(editDownloadURL.Text) > 4) and + (LeftStr(LowerCase(editDownloadURL.Text), 4) <> 'http')) then + begin + slErrorList.Add(rsDownloadURLS); + editDownloadURL.Color := clYellow; + Result := True; + end; + + if (Pos(Lowercase(editName.Text), Lowercase(editDownloadURL.Text)) = 0) then + begin + slErrorList.Add(rsDownloadURLD); + editDownloadURL.Color := clYellow; + Result := True; + end; + + // Check package files entries + if (stringPackageFiles.RowCount > 1) then + for iCount := 1 to stringPackageFiles.RowCount - 1 do + begin + if (Length(stringPackageFiles.Cells[0, iCount]) = 0) then + begin + slErrorList.Add(Format(rsTheLpkEntryD2, [iCount])); + stringPackageFiles.Color := clYellow; + Result := True; + end; + if (Length(stringPackageFiles.Cells[1, iCount]) = 0) then + begin + slErrorList.Add(Format(rsVersionEntry, [iCount])); + stringPackageFiles.Color := clYellow; + Result := True; + end; + if (TryStrToVersionQuad(stringPackageFiles.Cells[1, iCount], Quad) = False) then + begin + slErrorList.Add(Format(rsVersionEntry2, [iCount])); + stringPackageFiles.Color := clYellow; + Result := True; + end; + if (RightStr(LowerCase(stringPackageFiles.Cells[0, iCount]), 4) <> '.lpk') then + begin + slErrorList.Add(Format(rsTheLpkEntryD, [iCount])); + stringPackageFiles.Color := clYellow; + Result := True; + end; + end; +end; + +procedure TfrmMain.SaveAsItemClick(Sender: TObject); +var + i: integer; + s: string; +begin + if ValidationFailed then + begin + if (slErrorList.Count > 1) then + ShowMessage(rsOneOfTheReqn + LineEnding + slErrorList.Text + + LineEnding + rsFixThenTryAg) + else + ShowMessage(rsOneOfTheReq1 + LineEnding + slErrorList.Text + + LineEnding + rsFixThenTryAg); + Exit; + end; + if bForceSaveAs or (sJSONFilePath = '') then + begin + FileSaveAs1.Dialog.InitialDir := sUpdateDirectory; + FileSaveAs1.Dialog.FileName:='update_' + ExtractFilenameOnly(editName.text); + if FileSaveAs1.Dialog.Execute then + sJSONFilePath := FileSaveAs1.Dialog.FileName + else + Exit; + end; + + JSONPackage := TPackage.Create; + try + JSONPackage.Package.Name := editName.Text; + JSONPackage.Package.DownloadURL := editDownloadURL.Text; + JSONPackage.Package.ForceUpdate := cbForceUpdate.Checked; + + for i := 1 to stringPackageFiles.RowCount - 1 do + begin + with JSONPackage.PackageFiles.Add do + begin + Name := stringPackageFiles.Cells[0, i]; + Version := stringPackageFiles.Cells[1, i]; + end; + end; + if FileExistsUTF8(sJSONFilePath) AND (bDisableWarnings=FALSE) then + begin + if MessageDlg(rsOverwrite + ' ' + sJSONFilePath + '?', mtConfirmation, + [mbYes, mbNo], 0, mbYes) = mrYes then + if JSONPackage.SaveToFile(sJSONFilePath) then + ShowMessage(sJSONFilePath + ' ' + rsSavedOK); + end + else + if JSONPackage.SaveToFile(sJSONFilePath) then + ShowMessage(sJSONFilePath + rsSavedOK); + bDirty := False; + finally + JSONPackage.Free; + end; +end; + +procedure TfrmMain.sb_editNameClick(Sender: TObject); +var + s: string; +begin + FileOpen1.Dialog.InitialDir := + CFG.ReadString('Options', 'LastLoadedZipPath', sZipDirectory); + FileOpen1.Dialog.Filter := rsUpdate + ' ZIP|*.zip'; + if FileOpen1.Dialog.Execute then + begin + // Offer to copy to /updates? + sZipDirectory := ExtractFileDir(FileOpen1.Dialog.Filename); + CFG.WriteString('Options', 'LastLoadedZipPath', sZipDirectory); + s := ExtractFileName(FileOpen1.Dialog.Filename); + editName.Text := s; + if MessageDlg(Format(rsWouldYouLike, [s, sUpdateDirectory]), + mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes then + begin + if CopyFile(FileOpen1.Dialog.Filename, sUpdateDirectory + + DirectorySeparator + s) then + ShowMessageFmt(rsSWasSuccessf, [s, sUpdateDirectory]) + else + ShowMessage(rsSorryCopyOpe); + end; + end; +end; + +procedure TfrmMain.spd_CheckURLClick(Sender: TObject); +// Show a popup notification because it takes time to open a browser window +var + bTemp: boolean; +begin + if OpenURL(editDownloadURL.Text) then + begin + bTemp := bShowPopupHints; + bShowPopupHints := True; + CtrlShowPopup(spd_CheckURL); + bShowPopupHints := bTemp; + end; +end; + +{ TPackage } + +constructor TPackage.Create; +begin + FPackage := TPackageData.Create; + FPackageFiles := TPackageFilesList.Create; +end; + +destructor TPackage.Destroy; +var + c: TCollectionItem; +begin + FPackage.Free; + for c in FPackageFiles do + c.Free; + FPackageFiles.Free; + inherited Destroy; +end; + +procedure TPackage.LoadFromFile(AFileName: string); +var + DeStreamer: TJSONDeStreamer; + s: TStringList; +begin + s := TStringList.Create; + s.LoadFromFile(AFileName); + DeStreamer := TJSONDeStreamer.Create(nil); + DeStreamer.JSONToObject(s.Text, Self); + DeStreamer.Free; + s.Free; +end; + +function TPackage.SaveToFile(AFileName: string): boolean; +var + Streamer: TJSONStreamer; + s: TStringList; +begin + Result := False; + s := TStringList.Create; + try + Streamer := TJSONStreamer.Create(nil); + Streamer.Options := Streamer.Options + [jsoUseFormatString]; + s.AddText(Streamer.ObjectToJSONString(Self)); + try + s.SaveToFile(AFileName); + Result := True; + except + ShowMessage(rsSaveUnsucces); + end; + finally + Streamer.Free; + s.Free; + end; +end; + +end.