From 3cf4dae34d3e370b2821a95f84af1c903ad62804 Mon Sep 17 00:00:00 2001 From: Steve Ruiz Date: Tue, 19 Dec 2023 10:41:01 +0000 Subject: [PATCH] Change licenses to tldraw (#2167) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR updates the licenses across tldraw to a bespoke tldraw license. The idea here is leverage dual licensing for revenue from companies using tldraw. The source code and its distributions are provided under a non-commercial license (tldraw) while we offer to sell / give out an alternative exclusive-use license for companies who wish to use the product for commercial purposes. - [x] Add new license - [x] Change licenses in package.jsons - [x] Update READMEs - [x] Update docs (separate repo PR) - [x] Have alternative license in hand (US) - [ ] Have alternative license in hand (UK) - [x] Have sales contract in hand (US) - [ ] Have sales contract in hand (UK) ### Change Type - [x] `major` — Breaking change --- CLA.md | 35 ++++++ CONTRIBUTING.md | 2 +- LICENSE | 190 ----------------------------- LICENSE.md | 31 +++++ README.md | 78 ++---------- TRADEMARKS.md | 66 ++++++++++ apps/examples/LICENSE.md | 1 + apps/examples/README.md | 26 ++++ apps/examples/package.json | 4 +- apps/vscode/README.md | 39 +++++- apps/vscode/editor/LICENSE | 190 ----------------------------- apps/vscode/editor/LICENSE.md | 1 + apps/vscode/editor/README.md | 9 -- apps/vscode/editor/package.json | 4 +- apps/vscode/extension/LICENSE | 190 ----------------------------- apps/vscode/extension/LICENSE.md | 1 + apps/vscode/extension/README.md | 16 ++- apps/vscode/extension/package.json | 4 +- assets/github-hero-light-2.png | Bin 0 -> 64367 bytes assets/github-hero_dark-2.png | Bin 0 -> 64099 bytes config/LICENSE | 190 ----------------------------- config/LICENSE.md | 1 + config/package.json | 2 +- package.json | 2 +- packages/assets/LICENSE | 190 ----------------------------- packages/assets/LICENSE.md | 1 + packages/assets/README.md | 26 +++- packages/assets/package.json | 4 +- packages/editor/LICENSE | 190 ----------------------------- packages/editor/LICENSE.md | 1 + packages/editor/README.md | 30 +++-- packages/editor/package.json | 4 +- packages/state/package.json | 4 +- packages/store/package.json | 4 +- packages/tldraw/LICENSE | 190 ----------------------------- packages/tldraw/LICENSE.md | 1 + packages/tldraw/README.md | 28 ++++- packages/tldraw/package.json | 4 +- packages/tlschema/LICENSE | 190 ----------------------------- packages/tlschema/LICENSE.md | 1 + packages/tlschema/README.md | 24 +++- packages/tlschema/package.json | 4 +- packages/utils/LICENSE | 190 ----------------------------- packages/utils/LICENSE.md | 1 + packages/utils/README.md | 26 +++- packages/utils/package.json | 4 +- packages/validate/LICENSE | 190 ----------------------------- packages/validate/LICENSE.md | 1 + packages/validate/README.md | 26 +++- packages/validate/package.json | 4 +- scripts/package.json | 4 +- 51 files changed, 394 insertions(+), 2030 deletions(-) create mode 100644 CLA.md delete mode 100644 LICENSE create mode 100644 LICENSE.md create mode 100644 TRADEMARKS.md create mode 100755 apps/examples/LICENSE.md delete mode 100644 apps/vscode/editor/LICENSE create mode 100644 apps/vscode/editor/LICENSE.md delete mode 100644 apps/vscode/editor/README.md delete mode 100644 apps/vscode/extension/LICENSE create mode 100644 apps/vscode/extension/LICENSE.md create mode 100644 assets/github-hero-light-2.png create mode 100644 assets/github-hero_dark-2.png delete mode 100644 config/LICENSE create mode 100644 config/LICENSE.md delete mode 100644 packages/assets/LICENSE create mode 100644 packages/assets/LICENSE.md delete mode 100644 packages/editor/LICENSE create mode 100644 packages/editor/LICENSE.md delete mode 100644 packages/tldraw/LICENSE create mode 100644 packages/tldraw/LICENSE.md delete mode 100644 packages/tlschema/LICENSE create mode 100644 packages/tlschema/LICENSE.md delete mode 100644 packages/utils/LICENSE create mode 100644 packages/utils/LICENSE.md delete mode 100644 packages/validate/LICENSE create mode 100644 packages/validate/LICENSE.md diff --git a/CLA.md b/CLA.md new file mode 100644 index 000000000..5764c85a4 --- /dev/null +++ b/CLA.md @@ -0,0 +1,35 @@ +# Contributor License Agreement + +**Version 1.0 — June 8th 2023** + +In order to clarify the intellectual property license granted with Contributions from any person, tldraw, Inc. (“tldraw”) must have a Contributor License Agreement on file that has been signed by each contributor, indicating agreement to the license terms below. This license is for Your protection as a contributor as well as the protection of tldraw; it does not change your rights to use Your own contributions for any other purpose. + +You accept and agree to the following terms and conditions for Your Contributions (present and future) that you submit to tldraw. Except for the license granted herein to tldraw, You reserve all right, title, and interest in and to Your Contributions. + +1. Definitions. + +"You" (or "Your") means the individual identified above. + +"Contribution" means any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to tldraw for inclusion in, or documentation of, any of the products owned or managed by tldraw (each, a "Work"). For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to tldraw or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, tldraw for the purpose of discussing and improving the Works, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution." + +2. Grant of Copyright License. You hereby grant to tldraw a perpetual, worldwide, non-exclusive, sublicensable (through multiple tiers), no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute, and otherwise exploit Your Contributions and such derivative works. + +3. Grant of Patent License. You hereby grant to tldraw a perpetual, worldwide, non-exclusive, sublicensable (through multiple tiers), no-charge, royalty-free, irrevocable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer and exploit the Works, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Works to which such Contribution(s) was submitted. + +4. You represent that you are legally entitled to grant the above license. If your employer(s) has rights to intellectual property that you create that includes your Contributions, you represent that you have received permission to make Contributions on behalf of that employer, that your employer has waived in writing any rights it may have in Your Contributions to tldraw, or that your employer has executed a separate Corporate CLA with tldraw. + +5. You represent that each of Your Contributions is Your original creation and does not incorporate any material created by others. You represent that Your Contribution submissions include complete details of any patents or copyrights which are associated with any part of Your Contributions. + +6. You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in writing, You provide Your Contributions on an "as is" basis, without warranties or conditions of any kind, either express or implied, including, without limitation, any warranties or conditions of title, non-infringement, merchantability, or fitness for a particular purpose. + +7. You agree to notify tldraw of any facts or circumstances of which you become aware (now or in the future) that would make Your representations in this Agreement inaccurate in any respect. + +8. You acknowledge that tldraw owns all right, title, and interest in and to the Works. Notwithstanding the foregoing, tldraw’s subsidiary, tldraw GB limited (the “Subsidiary”), is the beneficial owner of the Works, and tldraw will sublicense its rights in your Contributions under this Agreement to the Subsidiary in furtherance of the Subsidiary’s status as beneficial owner of the Works. + +9. This Agreement is governed by the laws of Delaware, and the parties consent to exclusive jurisdiction in the courts sitting in Delaware. The parties waive all defenses of lack of personal jurisdiction and forum non-conveniens. + +10. Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and supersedes any and all prior agreements, understandings or communications, written or oral, between the parties relating to the subject matter hereof. This Agreement may be assigned by tldraw without Your prior consent. + +--- + +Questions or concerns? Email [hello@tldraw.com.](mailto://hello@tldraw.com) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5f5d771f3..8217743bf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,6 +19,6 @@ To create a pull request: 5. Run `yarn build` and then run tests with `yarn test`. 6. Push your branch and open a PR. 🚀 -Before your code is merged, you will need to sign our [contributor license agreement](https://tldraw.notion.site/Contributor-License-Agreement-4d529dd5e4b3438b90cdf2a2f9d7e7e6?pvs=25), which is handled via GitHub comments. Your PR will be reviewed and merged in within a day or two if everything looks good. +Before your code is merged, you will need to sign our [contributor license agreement](https://github.com/tldraw/tldraw/blob/main/CLA.md), which is handled automatically via GitHub comments. Your PR will be reviewed and merged in within a day or two if everything looks good. Please also see our [Code of Conduct](https://github.com/tldraw/tldraw/blob/main/CODE_OF_CONDUCT.md) for our expectations around contributor culture. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 4f227c380..000000000 --- a/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2023 tldraw GB Ltd. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 000000000..250904886 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,31 @@ +tldraw License + +This License governs use of the accompanying Software, and your use of the Software constitutes acceptance of this license. + +You may use this Software for any non-commercial purpose, subject to the restrictions in this license. Some purposes which can be non- commercial are teaching, academic research, and personal experimentation. + +You may not use or distribute this Software or any derivative works in any form for commercial purposes. Examples of commercial purposes would be running business operations, licensing, leasing, or selling the Software, distributing the Software for use with commercial products or for internal products within commercial entities, or otherwise using the Software in any way that provides you with a commercial benefit. + +To purchase an alternative license for commercial use, contact hello@tldraw.com. + +Subject to your compliance with the restrictions and obligations in this License, you may modify this Software and distribute the modified Software for non-commercial purposes, however, you may not grant rights to the Software or derivative works that are broader than those provided by this License. For example, you may not distribute modifications of the Software under terms that provide a commercial benefit to you, permit commercial use, or under terms that purport to require the Software or derivative works to be sublicensed to others. + +In return for these conditions of use, you agree: + +Not to remove any copyright or other notices from the Software. + +That if you distribute the Software in source or object form, you will include a verbatim copy of this license. + +That if you distribute derivative works of the Software in source code form you do so only under a license that includes all of the provisions of this License, and if you distribute derivative works of the Software solely in object form you must make the source code form available upon request and do so only under a license that complies with this License. + +That that the word "tldraw" shall not be used to refer to any derivative works of the Software except in the phrase "Based on the tldraw library (https://tldraw.com)", provided such phrase is not used to promote the derivative works or to imply that tldraw endorses you or the derivative works. + +THAT THE SOFTWARE COMES "AS IS", WITH NO WARRANTIES. THIS MEANS NO EXPRESS, IMPLIED OR STATUTORY WARRANTY, INCLUDING WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR ANY WARRANTY OF TITLE OR NON-INFRINGEMENT. ALSO, YOU MUST PASS THIS DISCLAIMER ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE WORKS. + +THAT TLDRAW WILL NOT BE LIABLE FOR ANY DAMAGES RELATED TO THE SOFTWARE OR THIS LICENSE, INCLUDING DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, TO THE MAXIMUM EXTENT THE LAW PERMITS, NO MATTER WHAT LEGAL THEORY IT IS BASED ON. ALSO, YOU MUST PASS THIS LIMITATION OF LIABILITY ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE WORKS. + +That if you sue anyone over patents that you think may apply to the Software or anyones use of the Software, your license to the Software ends automatically. + +That your rights under the License end automatically if you breach it in any way. + +tldraw reserves all rights not expressly granted to you in this license. diff --git a/README.md b/README.md index 48be447bc..a52a87d17 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,15 @@
- - tldraw + + tldraw
# tldraw -Welcome to the public monorepo for [tldraw](https://tldraw.com). +Welcome to the public monorepo for [tldraw](https://github.com/tldraw/tldraw). tldraw is an open source library for creating infinite canvas experiences in React. It's the software behind the digital whiteboard [tldraw.com](https://tldraw.com). -## What is tldraw? - -tldraw is a collaborative digital whiteboard available at [tldraw.com](https://tldraw.com). Its editor, user interface, and other underlying libraries are open source and available in this repository. They are also distributed on npm. You can use tldraw to create a drop-in whiteboard for your product or as the foundation on which to build your own infinite canvas applications. - -Learn more at [tldraw.dev](https://tldraw.dev). - -> **Note** This repo contains source code for the **current version** of tldraw. You can find the source for the original version [here](https://github.com/tldraw/tldraw-v1). - -## Installation & Usage - -To learn more about using tldraw in your React application, follow our guide [here](https://tldraw.dev/installation) or see the [examples sandbox](https://stackblitz.com/github/tldraw/tldraw/tree/examples?file=src%2F1-basic%2FBasicExample.tsx). - -```tsx -import { Tldraw } from '@tldraw/tldraw' -import '@tldraw/tldraw/tldraw.css' - -export default function () { - return ( -
- -
- ) -} -``` +👉 Read the docs and learn more at [tldraw.dev](https://tldraw.dev). ## Local development @@ -52,57 +29,22 @@ yarn dev Open the example project at `localhost:5420`. -### Examples +## License -Our development server contains several examples that demonstrates different ways that you can customize tldraw or use its APIs. Each example is found in the [**apps/examples**](https://github.com/tldraw/tldraw/tree/main/apps/examples) folder. +tldraw's source code and distributed packages are provided under the restrictive / copyleft [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md). You may use and modify tldraw as long as your code is kept open source and licensed under the same AGPLv3 license. -- eg: `localhost:5420` for the basic example. -- eg: `localhost:5420/api` for the API example. +If you want to use tldraw in closed-source software or in a project not licensed under AGPL-3.0, you need to purchase a commercial license. We are happy to provide free licenses on a case-by-case basis for use in charitable projects, research projects, or early-stage commercial products. -To learn more about using tldraw, [visit our docs](https://tldraw.dev). +To obtain a commercial license, please contact us at [hello@tldraw.com](mailto:hello@tldraw.com). -## About this repository +## Trademarks -### Top-level layout - -This repository's contents is divided across four primary sections: - -- `/apps` contains the source for our applications -- `/packages` contains the source for our public packages -- `/scripts` contains scripts used for building and publishing -- `/assets` contains icons and translations relied on by the app -- `/docs` contains the content for our docs site at [tldraw.dev](https://tldraw.dev) - -### Applications - -- `examples`: our local development / examples project -- `vscode`: our [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=tldraw-org.tldraw-vscode) - -### Packages - -- `assets`: a library for working with tldraw's fonts and translations -- `editor`: the tldraw editor -- `state`: a signals library, also known as signia -- `store`: an in-memory reactive database -- `tldraw`: the main tldraw package containing both the editor and the UI -- `tlschema`: shape definitions and migrations -- `utils`: low-level data utilities shared by other libraries -- `validate`: a validation library used for run-time validation +The tldraw name and logo are trademarks of tldraw. Please see our [trademark guidelines](https://github.com/tldraw/tldraw/blob/main/TRANDEMARKS.md) for info on acceptable usage. ## Community Have questions, comments or feedback? [Join our discord](https://discord.gg/rhsyWMUJxd) or [start a discussion](https://github.com/tldraw/tldraw/discussions/new). -## Distributions - -You can find tldraw on npm [here](https://www.npmjs.com/package/@tldraw/tldraw?activeTab=versions). - -At the moment the tldraw package is in alpha. We also ship a canary version which is always up to date with the main branch of this repo. - -## License - -The source code for various apps and packages in this repository (as well as our 2.0+ distributions and releases) are currently licensed under Apache-2.0. These licenses are subject to change in our upcoming 2.0 release. If you are planning to use tldraw in a commercial product, please reach out at [hello@tldraw.com](mailto://hello@tldraw.com). - ## Contribution Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/CONTRIBUTING.md). Found a bug? Please [submit an issue](https://github.com/tldraw/tldraw/issues/new). diff --git a/TRADEMARKS.md b/TRADEMARKS.md new file mode 100644 index 000000000..5ea76bf37 --- /dev/null +++ b/TRADEMARKS.md @@ -0,0 +1,66 @@ +# tldraw Trademark Guidelines + +This trademark policy was prepared to help you understand how to use the tldraw trademarks, service marks and logos. + +While the copyright to our open source software is licensed under the tldraw license, our trademarks appearing in or on the open source software are the exclusive property of tldraw Inc. This means that our open source license does not include a license to use our trademarks. + +Because we make some of our code available to download and modify, proper use of our trademarks is essential to inform people whether or not tldraw stands behind a product or service. When using tldraw trademarks, you must comply with these tldraw Trademark Guidelines. + +This policy is intended to explain how to use our trademarks in a way that is consistent with background law and community expectations. This policy covers: + +1. Our word trademarks and service marks: tldraw +2. Our logos: The tldraw logos + +This policy encompasses all trademarks and service marks, whether they are registered or not. + +## General guidelines + +Whenever you use one of our marks, you must always do so in a way that does not mislead anyone about what they are getting and from whom. + +Do not use the tldraw marks in any way that could mistakenly imply that tldraw has reviewed, approved or guaranteed your goods or services. You also cannot use our logo on your website in a way that suggests that your website is an official website or that we endorse your website. You can, though, say you like the tldraw software, that you use tldraw, that the analytics are powered by tldraw or that you participate in the tldraw community. + +Do not use the "tl" prefix in a way that could mistakenly imply that your product is related to tldraw. For example, an analytics product that uses tldraw should not use the name "tlanalytics". + +You may not use or register our marks or variations of them as part of your trademark, business, product, service, app, domain name, social media account or business indicator. You may not use our marks as a part of an advertising campaign. You may not display tldraw trademarks more prominently than your product, service or company name. You may not use tldraw trademarks on merchandise for sale (e.g., selling t-shirts, mugs, etc). + +Trademark law does not allow your use of names or trademarks that are too similar to ours. You therefore may not use an obvious variation of any of our marks or any phonetic equivalent, foreign language equivalent, takeoff, or abbreviation for a similar or compatible product or service. + +## Acceptable uses + +You can use the tldraw name to truthfully and accurately refer to or identify tldraw and its products and services in the following instances: + +- To refer to tldraw and its products and services in news articles and other content without alteration +- To discuss tldraw and its products in a fair and honest manner that does not suggest sponsorship or endorsement by or affiliation with tldraw +- To refer to and/or to link to the products and services hosted on tldraw’s servers and website +- To indicate if your product, service or solution integrates, or is interoperable or compatible, with tldraw, for example, “we offer a simple integration with tldraw”, provided that doing so does not create a likelihood of confusion as to the origin of such product, service, or solution +- You may use our word marks as part of a public subdomain solely for the purpose of serving as the URL for your self-managed tldraw instance, for example, tldraw.companyname.com + +## Prohibited uses + +Unless you have express written permission from tldraw, or your use is permitted pursuant to the acceptable uses set forth above, the use of tldraw trademarks is strictly prohibited. Here is a short, non-exhaustive list of the kinds of uses that are not permitted without tldraw’s express written permission but that tldraw may consider granting you the right to do should you request permission: + +- Use of tldraw trademarks in connection with the provision of a public website that makes tldraw software available for installation and use on a server (rather than directing users to the official tldraw site) +- Use of tldraw trademarks in connection with versions of tldraw products made publicly available or made available in the cloud on a managed service provider, resale or other commercial basis +- Use of tldraw trademarks in connection with tldraw product bundled with other software + +In the above cases: + +- You must follow the terms of the open source license for tldraw software products and code +- You must remove all of our logos from it and choose your branding, logos and trademarks that denote your unique identity to clearly signal to users that there is no affiliation with or endorsement by tldraw +- You must not use any tldraw trademark in connection with the user-facing name, branding or marketing materials of your project +- You may use word marks, but not our logos, in truthful statements that describe the relationship between your software and ours, for example, “this software is derived from the source code of the tldraw software”, as long as you also include a statement that your project is not officially associated with tldraw or its products +- tldraw reserves the right in its sole discretion to (i) terminate, revoke, modify, or otherwise change permission to use the trademarks at any time and; (ii) object to any use or misuse of the trademarks in any jurisdiction worldwide. All changes to these guidelines are effective immediately when posted and your continued use of the trademarks following the posting of revised guidelines signifies your acceptance of such revision. + +## To request the use of the trademarks + +Anyone wishing to use any of tldraw’s trademarks in a manner other than the acceptable uses listed above, including but not limited to marketing, promotion or advertising, or on software derivative of tldraw software, must obtain tldraw’s express, written permission in advance. + +To request the use of the trademarks in a manner or for a purpose not expressly permitted in these guidelines, including use for any purpose of the logos, please email [hello@tldraw.com](mailto://hello@tldraw.com) to discuss. If you need clarification on whether your use qualifies, please ask. + +## To report misuse + +If you want to report misuse of a tldraw trademark, please email [hello@tldraw.com](mailto://hello@tldraw.com). + +Last updated: November 7 2023 + +These guidelines are based on the Model Trademark Guidelines, available at http://www.modeltrademarkguidelines.org., used under a Creative Commons Attribution 3.0 Unported license: https://creativecommons.org/licenses/by/3.0/deed.en_US diff --git a/apps/examples/LICENSE.md b/apps/examples/LICENSE.md new file mode 100755 index 000000000..1dd99a506 --- /dev/null +++ b/apps/examples/LICENSE.md @@ -0,0 +1 @@ +See [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md) diff --git a/apps/examples/README.md b/apps/examples/README.md index 26c22fe8f..075c48f2a 100755 --- a/apps/examples/README.md +++ b/apps/examples/README.md @@ -1 +1,27 @@ # @tldraw/example + +## Community + +Have questions, comments or feedback? [Join our discord](https://discord.gg/rhsyWMUJxd) or [start a discussion](https://github.com/tldraw/tldraw/discussions/new). + +## Distributions + +You can find tldraw on npm [here](https://www.npmjs.com/package/@tldraw/tldraw?activeTab=versions). + +## Contribution + +Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/CONTRIBUTING.md). Found a bug? Please [submit an issue](https://github.com/tldraw/tldraw/issues/new). + +## License + +The tldraw source code and its distributions are provided under the [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md). This license does not permit commercial use. + +If you wish to use this project in commercial product, you need to purchase a commercial license. matPlease contact us at [hello@tldraw.com](mailto:hello@tldraw.com) for more inforion about obtaining a commercial license. + +## Trademarks + +Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our [trademark guidelines](https://github.com/tldraw/tldraw/blob/main/TRANDEMARKS.md) for info on acceptable usage. + +## Contact + +Find us on Twitter at [@tldraw](https://twitter.com/tldraw) or email [hello@tldraw.com](mailto://hello@tldraw.com). You can also [join our discord](https://discord.gg/rhsyWMUJxd) for quick help and support. diff --git a/apps/examples/package.json b/apps/examples/package.json index cb9895596..08785acda 100644 --- a/apps/examples/package.json +++ b/apps/examples/package.json @@ -5,11 +5,11 @@ "private": true, "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/apps/vscode/README.md b/apps/vscode/README.md index 9e6e2efeb..b22bb6a3a 100644 --- a/apps/vscode/README.md +++ b/apps/vscode/README.md @@ -24,6 +24,7 @@ In the `apps/vscode/extension` window, open the terminal and: Open a `.tldr` file from the file explorer or create a new `.tldr` file from the command palette. ## 3. Debugging + You can use standard debugging techniques like `console.log`, which will be displayed in the VS Code window with the extension running. It will display logs both from the Extension and the Editor. VS Code editor with the Extension folder will show more detailed logs from the Extension project. You can also use a debugger. The code is hot-reloaded, so the developer experience is quite nice. @@ -35,9 +36,10 @@ Update the version in the `apps/vscode/extension/package.json`. Update the `apps To publish: - Install `vsce` globally -- Run `vsce login tldraw-org` and sign in. For this to work you need to create a [personal access token](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#get-a-personal-access-token) and you also need to be added to the `tldraw-org` organization on the [Visual Studio Marketplace](https://marketplace.visualstudio.com/manage). +- Run `vsce login tldraw-org` and sign in. For this to work you need to create a [personal access token](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#get-a-personal-access-token) and you also need to be added to the `tldraw-org` organization on the [Visual Studio Marketplace](https://marketplace.visualstudio.com/manage). In the `apps/vscode/extension` folder: + - Run `yarn package` - Run `yarn publish` @@ -45,18 +47,20 @@ In the `apps/vscode/extension` folder: The Visual Studio Code extension is made of two projects: -### 1. Extension project +### 1. Extension project + Extension project is under `apps/vscode/extension` and contains the code needed to run a VS Code Extension - it implements the required VS Code interfaces so that VS Code can call our extension and start running it. It registers the command for generating a new `.tldr` file, custom editor for `.tldr` files, and it communicates with the WebViews that run `@tldraw/editor` (more on this later on). -VS Code Extension API offers two ways for adding [new editors](https://code.visualstudio.com/api/extension-guides/custom-editors): `CustomEditor` and `CustomTextEditor`. We are using [`CustomEditor`](https://code.visualstudio.com/api/extension-guides/custom-editors#custom-editor), even though it means we have to do a bit more work and maintain the contents of the document ourselves. This allows us to better support features like `undo`, `redo`, and `revert`, since we are in complete control of the contents of the document. +VS Code Extension API offers two ways for adding [new editors](https://code.visualstudio.com/api/extension-guides/custom-editors): `CustomEditor` and `CustomTextEditor`. We are using [`CustomEditor`](https://code.visualstudio.com/api/extension-guides/custom-editors#custom-editor), even though it means we have to do a bit more work and maintain the contents of the document ourselves. This allows us to better support features like `undo`, `redo`, and `revert`, since we are in complete control of the contents of the document. The custom editor logic lives in `TldrawDocument`, where we handle all the required custom editor operations like reading the file from disk, saving the file, backups, reverting, etc. When a `.tldr` file is opened a new instance of a `TldrawDocument` is created and this instance then serves as the underlying document model for displaying in the VS Code editors for editing this file. You can open the same file in multiple editors, but even then only a single instance of `TldrawDocument` is created per file. When a users opens a file a new WebView is created by the `TldrawWebviewManager` and the file's contents are sent do it. WebViews then show our editor project, which is described below. -### 2. Editor project +### 2. Editor project + Editor project is under `apps/vscode/editor`. When a file is opened a new instance of a WebView is created and we show `@tldraw/editor` this WebView. The implementation is pretty straight forward, but there are some limitations of running `tldraw` inside a WebView, like `window.open` and `window.prompt` not being available, as well as some issues with embeds. We are using `useLocalSyncClient` to sync between different editor instances for cases when the same file is opened in multiple editors. @@ -69,7 +73,6 @@ VS Code actives our extension when needed - when a user opens the first `.tldr` ![VS Code Extension](VS-Code-Extension-1.png) - #### References - [VS Code Marketplace Manager](https://marketplace.visualstudio.com/manage/) @@ -85,3 +88,29 @@ VS Code actives our extension when needed - when a user opens the first `.tldr` - [github.com/microsoft/vscode-extension-samples](https://github.com/microsoft/vscode-extension-samples) - [Extensions Guide -> Webviews](https://code.visualstudio.com/api/extension-guides/webview) - [Publishing Extensions](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) + +## Community + +Have questions, comments or feedback? [Join our discord](https://discord.gg/rhsyWMUJxd) or [start a discussion](https://github.com/tldraw/tldraw/discussions/new). + +## Distributions + +You can find tldraw on npm [here](https://www.npmjs.com/package/@tldraw/tldraw?activeTab=versions). + +## Contribution + +Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/CONTRIBUTING.md). Found a bug? Please [submit an issue](https://github.com/tldraw/tldraw/issues/new). + +## License + +The tldraw source code and its distributions are provided under the [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md). This license does not permit commercial use. + +If you wish to use this project in commercial product, you need to purchase a commercial license. matPlease contact us at [hello@tldraw.com](mailto:hello@tldraw.com) for more inforion about obtaining a commercial license. + +## Trademarks + +Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our [trademark guidelines](https://github.com/tldraw/tldraw/blob/main/TRANDEMARKS.md) for info on acceptable usage. + +## Contact + +Find us on Twitter at [@tldraw](https://twitter.com/tldraw) or email [hello@tldraw.com](mailto://hello@tldraw.com). You can also [join our discord](https://discord.gg/rhsyWMUJxd) for quick help and support. diff --git a/apps/vscode/editor/LICENSE b/apps/vscode/editor/LICENSE deleted file mode 100644 index 4f227c380..000000000 --- a/apps/vscode/editor/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2023 tldraw GB Ltd. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/apps/vscode/editor/LICENSE.md b/apps/vscode/editor/LICENSE.md new file mode 100644 index 000000000..0ad7260cb --- /dev/null +++ b/apps/vscode/editor/LICENSE.md @@ -0,0 +1 @@ +This code is licensed under the [tldraw license](https://github.com/tldraw/tldraw/blob/main/LICENSE.md) diff --git a/apps/vscode/editor/README.md b/apps/vscode/editor/README.md deleted file mode 100644 index 61950f935..000000000 --- a/apps/vscode/editor/README.md +++ /dev/null @@ -1,9 +0,0 @@ -
- -
- -# @tldraw/vscode-editor - -The app for the tldraw VS Code Extension. - -See the README at `vscode` for more about this project. diff --git a/apps/vscode/editor/package.json b/apps/vscode/editor/package.json index cbef5571f..e01da2e4b 100644 --- a/apps/vscode/editor/package.json +++ b/apps/vscode/editor/package.json @@ -5,11 +5,11 @@ "private": true, "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/apps/vscode/extension/LICENSE b/apps/vscode/extension/LICENSE deleted file mode 100644 index 4f227c380..000000000 --- a/apps/vscode/extension/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2023 tldraw GB Ltd. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/apps/vscode/extension/LICENSE.md b/apps/vscode/extension/LICENSE.md new file mode 100644 index 000000000..0ad7260cb --- /dev/null +++ b/apps/vscode/extension/LICENSE.md @@ -0,0 +1 @@ +This code is licensed under the [tldraw license](https://github.com/tldraw/tldraw/blob/main/LICENSE.md) diff --git a/apps/vscode/extension/README.md b/apps/vscode/extension/README.md index 032ef469a..c89a2906c 100644 --- a/apps/vscode/extension/README.md +++ b/apps/vscode/extension/README.md @@ -16,10 +16,18 @@ ## Community -### Support +Have questions, comments or feedback? [Join our discord](https://discord.gg/rhsyWMUJxd) or [start a discussion](https://github.com/tldraw/tldraw/discussions/new). -Need help? Please [open an issue](https://github.com/tldraw/tldraw-beta/issues/new/choose) for support. +## Contribution -### Discussion +Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/CONTRIBUTING.md). Found a bug? Please [submit an issue](https://github.com/tldraw/tldraw/issues/new). -Want to connect with the developers or users? Visit the [Discord channel](https://discord.gg/SBBEVCA4PG). +## License + +The tldraw source code and its distributions are provided under the [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md). This license does not permit commercial use. + +If you wish to use this project in commercial product, you need to purchase a commercial license. matPlease contact us at [hello@tldraw.com](mailto:hello@tldraw.com) for more inforion about obtaining a commercial license. + +## Contact + +Find us on Twitter at [@tldraw](https://twitter.com/tldraw) or email [hello@tldraw.com](mailto://hello@tldraw.com). You can also [join our discord](https://discord.gg/rhsyWMUJxd) for quick help and support. diff --git a/apps/vscode/extension/package.json b/apps/vscode/extension/package.json index 7654a14fb..76e9e2718 100644 --- a/apps/vscode/extension/package.json +++ b/apps/vscode/extension/package.json @@ -5,11 +5,11 @@ "private": true, "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/assets/github-hero-light-2.png b/assets/github-hero-light-2.png new file mode 100644 index 0000000000000000000000000000000000000000..91ad394e74d21ecd8fbfb2d5334d3399c768a2c7 GIT binary patch literal 64367 zcmX6@1yoy2)5hJsw0Q9Vg%-Es?ht|pcPOQ}Q{0{6R-_OhK!M`HtvCcN6sNem{CU6s z+gCZfJlwhGEzKA$uoFgHjB5A7X z${n4apPgUc-9OyjA>RAj|K7XX+q>)Q+pDYV%d4B~o4e!Vgcgxw(BfJ3D`RdU|c`@6oew7fDq2Zzrubar)h_x6p9jt&kD{~jA}ZvJ(B_gGq1R#OYDf>c-h_|ewh z@$~pKIW;{#F*!XmyY}}l!uW@$r$>bF7lf844Gj%27_6_a9~T$D@@Li7*4D+vrJ>?Yb&g~r?99f^V_$D#ihfe`{lJeCML$bynIPXNlHq}f5&HRY;3%|?;wpGr{@p5 z%@^C5*WF&TwI7FnaP{BcKlAhRe+>&uPEP*2c}GJ-6BHEm{PH3%FaPC>M{jR0CnqO2 zH@C2`u&=M*#N5r^-d6cG^-!n)hLhnDXn=T{F~d-uquK3ASv$C z>Fo0u9;iATKE6CNm)<_5*GKf!!nMicH^8*gl}u5|HlU0D&1SF$@$usM*oK9Dd! zK$hCct2}=h`1;%va04lowK@o_PJQt8eTj-%qeEp( zcmDgHPb*}e{?iPZ%dBD2@ptI?JDChqb@8q4+NCW($vg z*Zi*Qe3{F7p2~ljE_j*BJshvwTAKblH@eXBT~k)@bReTO+aoX3a-lvl&DUh8G~l2o zr8e0$#8Jo1RB602WV=1Sr_jd+D7V@ii-b&65$h1+ZZK0F_PZh|+*RMtM*aS3{^1Pv zxa;z?!Ta?0)ze?3hr`^bHKg;7uQr({NUjH1z6adFhazD|YCv>PB&1soC0Qw5Z{)*; z@K6Xn*?=3(xYRFCPE?n{2g!94t2WWDwJ+sC;d`4>?ZmIKIv@0rL!-=;&P7vGqWgBT zv4{X@xZFf%%`zz6(oiD6FPS8(jA(7;mj{fW+8k#mQUCql9cmQC%xa&zEoTsbYprFg zmJPLPr3HLMw5K1=ZSt5e?-laL-7GAtaha)#hx|{bbghlGazi6r*w4ice$w7=7<3%d z*7_5I>E%JWn`=^YY=81;T`SgTCBEFWCwUjHzmTO|Vq?>aML`e3qQKfQxGHUOd8igz z2FllM#e$JT!@SHxcMI?j^f#}PJ1MDjQ8H|Qo<2#q(v8Pv@<56m-L~ z#0Jd~|M&6mzbuoWYX%QmSq%pxgxBtin0oGYmuboiuz+RH4eqq2_8&~%{>EoOy!058eQeF>OC#~*Ulrm6#%_yeS21z3xs(TOfbuIHn zhBpBiKh-%Qsx0rd*evM*l6?Y9=2JRI5{d$I(T|i5IDVm%#_}>rfc7l}fHw=A^Vgs_A zcm9F>>AZw3KwI0Uuj$#doJniL8Pj<9Tb z?aDxlqK9MP7bg^}V~#5!UA2pFa-~_uD~Y104CC*)N%G8Zl}MnasFu2_f&%1P<|eA< z*yh3wwqfXcRpLb0u49IJZP8Gyy2T<9jU831wBg;857hB~ckQD9S>yPlqk%UD!@0yj zATI=(wnD`7E_4JL7;QI3BU=X;Mbeyo!Bhzz3AjW$7hm{uv9f|W6TBB)168W5C!YCY zAps8k33~Nip!ZvOm-ipaOplHAY9S4f5;}T{VSy}P7BCn)Kt}mLS5s<%GTeJY7m@)q z?>s>@Y*?Se8~5YN5)%^kjVLxY>hGa*aC`o9f3s>+XOGqn)8-l9pV?W8ASC=`p`ImQ zF%`ut&Bj~7g754wTv3glI<|qu@&m0ObkI`L)jvjpWhC%8uSrd!icI3IY5Ra{J`Z<>0E(P~{V$KIK zoin9eJOaIU$F^1)zq=c$`(ueU^`Sg(OJi+%rgQ6`X{E%-_=zd{lSNwbdPopY=t2;T zAZKiMB4pt=Qm>r_vLK{Uk*aS%XHee-ai zQV_q#x?u^3HfcFb!PwTgy zY+)`y+dcs5H4)@CWV&p7v>V>2+LWSD{;_XTKmOXj>EhMb*^v_UHGLUNwP}*d{5>Mc zn_{t*fEN@J{>Psyj~`9HW0ltK?>$Ab(&1ogW};oIaRJ!-NkE>NIR-u{9T;=fZYXv| z#R&y#I)}I$ptDsADmxsW?{-NJE+%nr%<;2)&bzs=5!g5JHx`>NL`vn?mDt0udK6c`0Ll+OpL(g_)&~qa zhjqc&&gEM|>{t{7OLi}F9`JI(+k_Znb02=8;ZRv#8x`07Dg(pyfjo9L4HiI5Vd%ep zSL|?T81#5NW3gKkgn9U0!pwXuHP`b)kJ?w}>c`$|wuv}p!1OC}pdX647MbL_=}HeN z{1{NDM3(M}wFpQZF(sb8%y_3X1U%g-bn=mO4wpl&k+8MqDI@)Z#5TA}uTJ7%)Fd@B z>%IDo>~c^hP$4d-gqJJtld7({7QigDUyA{OW6^W*RY!vGIV(rgxxkv9Y$Guy0IPw- z8nJ|9;`GSt#`r(PzBFkQaXIGer4t9N{_1BKo4=hy(nk23p0m@9KRu1Qth*(J8Qi^B zStGxz5c@xg47#*I zyg$v4nT7ukSvbHkp8|e?N+-etsZB1?q8NJgp$rh?gphwtI9*f<@i=$2^ngG$>qtb4 zw9z9Jj|BxW=bb)Wu~2@K0W*L(OR-P&KG6Nctx9D2G9z8SW;wY3OCR{hgNAEoN1?P- zmRYwJlc{W9*8)e^isy8WnN)OROVt?O;wth*q5sAY+5gVwe`(&&m6ar8P!Y6DstejO z@WL_!xVa#yq$;cU*o94qGb#5sOlEkM}=n52PuL~px?ZlR#xXIQN!HF0U z8G#-8wRud!HRrHVhrg3Q@;30bO4W}rcO03oU3(IE2BPIIV=b+Gbx^ebNTRqWbm$_B z_j()G(rJcWYTO>5htgrGt|oyo%F0;GvN6J_WTlrHu;v%g`XsqlyYoI3SA{-|IgHs* zx}tJ@tmom+v^vEP&*L+`KEpV)nIcH9+|C`V$)6y&L!(jkk)Kb)CbX%`tM$+LjcqS# zT^RH^a1y;;`F~NnbYgK(Zai+^?U{=Dn6VpmP`fE z`df5GG*B$y!|%+CJ-Y4Z5r7(z44;MgwO`oI`ZXjQ$s$5#Zrvp% zyVHjEO~mGJg2>5^oWb9JCH-2PHj|B&0OY!X1;;4?{WmL|W@f2;s9QfUNAU$dBZqGH zfnWJ8b@%8!$H_pE5LM)<^`gsWkVDG!e{MQ=tRS#6$yykP$akKjJS0{qW-q^s>^rjgQ+YONyeV1xt6V0P|lRI%w5BmPcrXgb`py%QDt*;=KR$Na^i$D zF{EB_ReWu6Uh>`Kn&9o?Zp1}ZVyhuvtD&i$m1k|Sneo%PgFL5SLg`uZwXBzhmzS4@ zh8H6{IKr9}rs?a?ouD-KcgEK*T0Q@*6*@}`4w-sZ`zr|VtU`A^{xaveyeXRR37Tr`gM3XI_qLs5I!?pQ>_>JZqq9GB%6ry7v5|?q zl4$+mR{gP^rJE!@k^9m^otnD!S)c*Lvwu;UTQdU@oSt?6sc%rgH&ae9W4isbk}=ep z5~g`?wU%%+J@bWW*Q1hQ^OJml`q$^3_zUY=18C=cYuEd#lN=l7k7Xoj0YCM9j4?<7 zBVS^eD~BJ!S8r3WGMtfQ{-vwry!|0ThO?WijBA9e=Eb+&7fp&;;j5gOuv#$hx{^e@ z974+QW0?Gu3PZ)`VEF_?q~X5nC1i@xKvs4caY8?qOA@{bfEl`(ypnQwS-mOu2dogy%%Sd79EcNAN(U=V&>R#?e9K^XcEL zYNOY$Z)^@VrYQ68?{&-~;P8FUX&O-n2hVB)oz92b@jSis?MB=05%`ZE08M>pD~#--C`d@XZ~ zjVr*ssK$H8sbGS6=(DO`OJw8uCz+@COcm=yHz)>fDE|-+MRJZ2;A<%&%E97BE5{#G zzi2P%Hhc+WVUjW=Uak=4<)FeFA!HhwQ)VSlOwXNo2cmoS7Uuz>u08!;XrLb~@>VW5=JW{z>CQ5(j+`&0-g@mnSV0F$$3frh3XWT+%KpJ3exs}F?vEP z%sMC9{;j@TJ;Y&W6z1lWK$^+mHB(i>5u$aWN70XWdc`z?e~u8zs976Fg+Di`YN$c& z$~jqjnsyT$J%YJrJmQyjI==?u>{&Po=j>^~F(;Db`eqT}lV#f;zXZHxTgM8ue*F;& z-|t?64f957nk<(>f369EWPJ{HV;AE=ncR;=VAn4%zeaDRdRF9b9*ucv-+sT%qPcsm zu#A5Ar5PK{7JCT}e=AA(MHRYbNrAw4z*ou{qd%D30WVB`Yi!Xi*=^^pE$`P9bt3I6 z_-cq)v}oWm{EJn`Kty*^dJrq&Z+C5IHXu|k_Nwb*&EuNzi>cU4gH-LF0lsb9^zgpJ zogxE-uDVy6c5EVNU-! z>CmyP(Lwm3O*$^kInMMhv<6esemhz|F2+N6RcgX<&n|Y-lmR4w0>CB|6fXp&fVYgrbS4?R^P#aW%nRH_}xQA{aE7+7$81@wbLT1bcdYXx^% zDWYg*t)ysXwV5bptw_ouC>=eB1V6(vR|#|UslC&I06{KI7{WVLM#KQ)?Fn8q&Nu{I zx>4|$LrVo1LBB={9I@b^(MB<_C=iST>G%NR2o0}#^a%$$e}v`>q2azu!vZEPpQQbd znPj2YisnD2coE!%BohrjBlvHl1i?y<9vq-mTS)|m{U=1^AK8C0gd@Pt?&?sh8jAlY z?~M#pU6>QZGX=g9`EUE?zlJpG*#FFUVN2r@e05EDZpQU9aHzkMnD=jV+V*tW(1aedq; zLDyBlnOh%PfKPN&)4D~vpn66HPW72peRX;TW2hb$VrX#S1=#J`s9DD){ZmB82E}T- zduFRwD$!Vl?2_UG8-GS1I*)*h_ZKm1r*EVPJxB;WoIsz4YqU~UM`l*4ONW8HHZQgg zL&2|M@riv3gVXZMCG!0-{ey!i<#CD4>*2cPNC;muQ(>z7g|C)X7heWJ{-Vv8YI(V4 z5DP3-In~AJT>~KTI~f?qmUM!^h- zo%$8c=&SfD#)J6cn~OMBWj*|EU;5x8Stwdf?lp%#L|GlI3RSkN{oLKEKoy#NU55gZ zE2>}_#EnTGr4F?wKn$AV?9T{>W9YL_Y)i=n3qCOaRl9(=Ty=@%oxB1_2U0xM1CHOI zrC7k}zR#Qq^Z{oWW9U$dq^o9u}t6_z+H_r6&u8NnpV% zB{dLcYf}r9@1rjTU`fG9o9a)mfl1J);m5pVt*?2}Fm;C7W~B{*LwB9O{1&>9rr-AXXBOFv0s;So^7%x1#Lv(8XbTirIshCu z-@RjOZN^N+g4E%UKFkKO%EHfts)$0;wDz}ngM`!CpB?Xb&_@8>}TVg?QAkgRsWOzwSr%hxc z|4G=7fYwn&;D`NaS#AmbRpiY6Yw4Vu2jRtC6tsiHb*9JMeHxD{_x-XTYE^zev~ZNj z6L2#IKY(P}HZ61~FZ;BLZ$zk8erYkW$fob=<=OcF?BjysNEO68UTjYivZsgc#S#*^ zg7GTVoNSGS>Ru~p%B%gLo;7Pg*5xNIr~Ywl^gTNRNdhKzWqdT&8E)*?kl7x(OMWQ! z&PD$? zC0IV{^)z>En+FEfYPS`rI3ETS#XsE&dj0f^=hFtzV<#{|Sy-<)K~3>XaMzm-$u`%# z=7HsfUoT1;q!!`x%e^X)WO*Fanfht^YK z3OVqdr8{u=-Knx|;sJ_UJ2f*@V1NLkq*UE~cq~U=+Mn83%X0JQNx9lpJ;&f5b(0&t z|DQZYXs8nHlDK+1Ijuwt-~=s{jZT31qK|%jOdj16 zF_I!JUn2#eaKf(5i{2g4Kne1305LF;aJ~9Ki&vCj=Xes3Jpu4jJ50GGj89D+A zB7w4@RK*?k-G(+M4lIN;PIPBy1pWTc=L{FOKckX&s@ReIw?$OmSk0qew|7G8{lP?#?cRQ0D|Y>wz_ zo;UpTS{6*uKu>h|4qHe%f~%%iQAgi>GTRhuB}-!~A_f(?p>y^ofTytzuwnITfdXOn zn{QjmlGwDS2DAv^X`Ik;1sn)BCZ`k=U<&MU*!J7^RikaISuqwwiV;en%;KQ4i3Uun zE;$s3LI_%s@T$BXshHoQ94yd)`n6CFN}c1FLHWz@PfhLF?F&M?7S&T30EF80GjvXu zI98BzZAiKe@1Xf15rqp1>eHhR8bwHH7Fx!_R+be7g#bv12uqY5#LU^bl_^Fd2PT)t zhO~%;FbfFRyDs4$))l@*U%=V-fK29Ug3;hgVE^vyMyFY6T2z(octQ|o{Io6fS{PJ? z5X!HK23K8l2mjz`)6g3vg6MstxW)!Z5rbU+eAPpEvn&VEDV~?YCrg!^=UrJKDkwG| zZB%%FfkF)%8-k4RVJo2My1@&k{mO`I3z^<45N5Go2-agdM`{|{=-#LP!2A}95eNHR zyo#b?T{K3J)KMu3(PzM@jPEn*!3E0%wfVH>H4=LKENGv|8SC|A_qaTb0i zwpN*W(ErFw{F(@|Y2DASAM$r1`qjFQG>VEp8axs)MPL4$5rKGtvhInz1N!wAKL|{D zJz&HcMo=;?ksxn>q9{)3Zsi_3B9Li}JSb8cHZ2+Dt)TqzeG{ z@8|@Vp3V;h8K62$C9bhouU1QzzUFgkOgz{`B?C58$?-G9 zNM~7@qw|o{&1`$L6_Y7RQa+RpRabB*b!Gt_S?HO2yiR^4omOcjByFk4Vxq^&gV5j$ zUmGJ;kS*MxrxP&W=jNb?3D!dmvR@h93Q`I z|125=1hii|o=qOE-{A)N8%lCQ*3|7rrj`AUJmqQeAS5Bo94H4gBNc(JQ13`KR8G|( zZ79hh&&%1aWPXk0Lk83vf+!L5Msdf7nY6c}E(pY!TrGEj!y7_xs! z*~EWkKrp5)Op=20t|7S_w$CV8{qR;<77gy2j}#lb?Nl6nsL>nXt}t>zoN<4}4>>&v z3aSizS(aN&dZ7HHpJevNDQs?w38GNC7im{m-xi?FS0`9h&^zQsJ=B#cE&OeP9jWE+ z?l1OfhI3&EhPnaUyj0AXgeU%}FOs8niu&Z30@i;)cw)Xjf(kz41-{N?dlzsE7Jm={ z-Cqc57?6v02(LSOM!6rSD?+!1q-$ciGQdjT6xA{3H5F)fi798yR1CeS`3LI=*FP;qi2M5-`A@@mGn7Qhj&j|AV+*B!q4{OeqKzFJvYh|vo1|X zJ21~rs>sETxG=Mb8Mf{6MbTMjV}-9%Z@8PCbr%Ir_qmdk`^W{s&d|TCP)*Xi3k_nB zvqo_LS|E+u&p|3cIu{)5G|(FtPJjb5zxDYo4(cjeY5CF^5xz;JQZxk{pAL1(5zxBXi>)$3#ctOQVTaZTkMs|rQDt}fbIBisG(q=7U50t(2++lTtR$PDKmv zB?x~uPr=Yty6aW0yfqzqxf$q8zMy7=#L|KU5i0D^;FyWQr45VqAu<`S_&}tUkp!o) z)h6l4e_QK&@~i5)VSGt}Z$U8>dF@i9&?H9zO{;Tj)PH|zKvit7p`t=j0&2RT6@igo zt$N?d({k8Eayco%)q!XSO&mlB+BEzcE;9vgA*#Z1{3ZiXxS|3*Ms2D3Gv}E)^HOZ$ zW5J(GU>jpfGlEE;_)L%-xoL{HjWIoWGv$aMd?UUZhFrGjv3fwj=!5t*#^xRJTJc zS}Y@!V-;D&789Ce(aHwxAx-we(XljD5(9~GaW{WZ%Sac^+u6zhNQzb3orz9ban+n{ zTBjvy*ii?CV|F7rUYszbe-z3|FDVI8Dk^z7A%?eSm_4t@1nA=Z6z?$&Dr!Zy-O0b?>h#WDZ5~6TNhsQ4v!<~MFkd5LI zLyQR_&_Il#62gq=pRC=*0iX>gC=Pe`=f1$nG4fB$7yx$f*UieC$Z*;axu;<85dwTH zWPm*K5aYeC5^w4+4e3CE_MH)YAE?cVL9>dX+Yme?p!{19foQ8)pT+oOclIR@xt6>D z2Oa=Lh4Mce`By?cieqz$7LECU{60TTwYg z%7b=kPRmXkPC{TkIv9?KdnObr-XW-=)5E}`QCswk4d|+|Y9sOrrjrAE2!mQ*LlaOp zVAG4Q0LxAITS18FRLQT<}CVq1|ox7DCF^(I)Nj9HA(lst@alTdO` zz705Zmh@ZGAF8EoVST#pbERp9Y#~#;vC@({v%o8GS05ucY>5$CK}P_1nbsQS2eq&( zZ1sl?Czw+W5gtfRcVdpxfsNQU4b^3BXGV$pQ{@P*(-ppY?8`y@ec$4`{RhTwB=DHK zN*HZ4f8RmD^4<=`CB4zZFTOV$gQIcX)ER=^=REzRO&|XYgBr^j6|i;gM}i>&$EAO7 zigV18GE(xiQQOpo{0V`-Q^oI9y(U7*Kc&3u{|^j2`19axVbI3(qP%z&{?Yy}PV1e0 zQ2k!)}3rFOxLRXGd zKUx+hc@9>?SYW4KMXz$Cx(=a7*uyD-1kxIhhVcqm^Nj7~s20#(hM) zw*-iE5M%E#!v$I_5CSp2-dGkz|7(RC@ACc_?Ry;(rzau2X%N=>3p1A4JO&jJNIL*h zQSNTv?r!R25b;2%bIwhHs+ceV_%4s;gX$Y~M_Odg^G?AYiwC=f2&(@)QqGAQ%r7ni zwgwSjrA)zokR}O%EF1Prb*yTG^*;XDdzCj= z(GFjI@IC41>R9uCarU^{-un8oPz4%+G+;vNg%uKDOH|@PDZz8{E8j1AL}{2%A(eO> zc3}Ho(-P8S>MB;gw>yN5f8N-&Giz;DA9lsfz}V=Y;|M%{Pr^3~)|--(s{vVF6( zGmbw9cvS;0z8rFPMU;@6F%5|wCI*Ckq=gy<8$Yh{=H@MFJQEab@j;Xdh-@^y=gNu? zx~a=gMuwM8;~1oya)80ecv`)OJ?zoo7usaI?7xTW8af&SH}(>A?p ziGgYBVJ&7BI0xX!N;8-T1eg$oA#Nloes5ak0W1fI1(gN&XS-vAwLyGGuf z6eVdSXhDFixc*0m5RNx0eFa^2(#hfDB+wCe^b9}y;~pgxATByE>xv%AZN}b~qGe6l z5{gdoO>4X{$wZjlF9U1w+lU-N)WqB1ob=@Rr__O&?B!aw=CAcG8*j?*I(O^8kyNs; z+IqjRv&r@rSuqmdwKiT|$$WrPXxxV<5#g{%KqR2=7egV8(A;BEGyo?py-wa|7$0ga zUnQhHIHcdsz`v`s*8TEqbFg8YefM^A(A|n%(3xm%>&S7|;3u9Uq0zVYEp=kh{+WZ5 zts2%tIN1MSc{iC?W;jzn6_-b_*}{<>40Jj=P#GUAX+VVx3ZsttUA;xF$`T?#iET7S zF}0rAM!}#cnKCzK%vkn~%E5cLZGCg_dG;!I&ie*#61|r`@S5NEH&U(VyuWuWOk1P< zsC)3XRdP#1?4|v%LBHS2`};%Fdi zW<7LVK$7}koo)s;pL#ZLz3*popxTL0UWAg$fjx7B9Qem8GjT%5%qhqDZ}2XR2WP{F zbVKCuajUtOu^#2X)%nfDP!$%0U13ZK1KppqGf890Qf#7DOM zJN5z2cjRg;KzdLI4+*R)kH?cVB^aBOnUmqcQ z<=3i%+n0h&A<;EqaObCoL6Y8dGE<7@^<;J=;kqLSK>|^$OKOB%WtM}3^#U5O0CRoI z1=ZCL^Q4>@1?;J%v-7<5saSIJn-g@p!=wmzl#*fsO7wDwK?CPa_>u1V+|xnGQOxLY z>lM*`5f3vL4lzgeES9yC&&j~UhBvd;Ld`3pmF`JdI1u_CX$xiVDlj7ezfIBD z0l8|ZYW@dXpZ=&pC~JQ6MU|T*mz8*s^?&0qbVtds+zdk=y%NHO{@y+;=^t65)@tOB zPgwo@3T*E0cj@0ETpgR9_?nkB^PkDNsh}}$EC(lD{@}UNW?$I)hFn8dpfP*bI;79( z85X(-+Wd}wfQtqa5z|4-a6rG|F&h5FcJ-KKm1uidkV>o!Ni_3+97dxc>3<wt&;dcYuWl;DvJ=o#i9X%3?v!va|L z)6_4_i6_I~wfF=n6M&5M=f{fHe@5K5Uj4a2gjp|_m9JZ%{H(v^5Bp?firCuZ^_&3G z3oHMMpg_BltNm#oX4o{;+Fhl=iij>#?4&Z0o3K+r**M{{;*~W=j5Ztht<2ekC#ic> zQZ&gZor#A31%oaWmJ&SDXI2(h@3HU$@?t>yaK1hI6|;8Q_jG%7Vd1MIq8MwF zsxUJ{^fj#B3Jv(R`T4c=)(De4G;{Hi~^o^VFpRJ+| zq$;*Pt{}XK@IJxUiQkxr4&24wkdwF``LCmJ9?@^U8exZ}jeTIrzW(<+my&aNLeeGR z>E7I=(D3E->Ht2tJJIZAI%yy>vD$7z<#Ydcln-_9d{J3L5^AF`VT%FmXlN=g@39MW z)85I7gE=J_1X#j&gxEMZ;@*STG+n0IV@Wg4Mb|c z?6=tB1Y2Sz%ftu8dwHd!gT5ym9rk(|z8k2np(uq}e94ex!E&3RDLd=k_V{JIsonB^ zl#~1@A>V^!K5yS5xKy{@nQtR80tMIeIZ6@gG7zr$h#spcg^UZb-Vml(iq06!4-9O& z-`Mn3mDS>SbrC7^q4=Hw8IAJV3@5xtD+oXZQt8vFBb?YZ7DgHM*a+q~RfK(hG@Z8i z!NldgClWY&-K-7fHH5o&6jU${rlqo_KdkF%@OEk=gVH3W{bwR4lhw{9z7{>EN`C=B zHyWc#w9?1k37lUq?pzQi>soLn#UYi$r5Kcpt=^FrKHjgrz~OL`;yu*c#10tlP+q4A z)&rB&3BX?X5A3{^6Bi3qqN9Jdy~MJjxHS5P3&#;e&vpLpDri-^vMv6pPk8C`!Le4s zq!?gM)@ZYU{}+`RJLMWL37&%c$f@i+Q0V#!Hx>s46tzpN(91EC8J@Y;B-yv&ct#&z zf%aFOjXD}#=ZxQ%{odTsFC1Q(-|^kIjr0C=@qLB!(d0B7GlV7K60ZA>B02&d{vHY7 zy4@xdZ2f2rYn7)p3FIpu+_^Rst8R}#mo~(xDw5(msP0q9)Z>7EJrm8NKGU0;K4nzz zEw%NO7_8L47xuxT!GvU(b$vJ2`@|)sMXs!%oBTFhgPwgddv>QG)0L8CP#I6mwsDcL zqIYN0`)iTa;lH7S37&!uGoNSvG`zQP8(R%O<-I&EdhlF|d!}*o!d;;8l&MI`ZQ47o z?=zgh=<<-b)Q36d`x0d)a{t$re=9+5bV}j9!_{@h#mxCM%gPaqbmvuVOpWIJ*Z148 z)o;V}v>4(m!J*?c#xK9lkH&VBF-J$+=hU}RyU4|c(Kh6cBto6OsU*&XyuRDs)~{Xb zd=$v`!>>9<Z*E^4wd5Z_Zw^6@VOCS5{9;x zR3UbuBt?0mq*GVWwdd9-pT<9(ZOa>{qO4VsD5*A*S1j2o-2`qeGd@cp+n!eF@J4gK zHAyCipH-YpQ0}8eY7Cm0tzq+~h>Y>9MTK)1qdq6b7}Z)XZ0vhgEjYN;e8PixdS{9w zD3h}PLTs}t^o4iboR%Db1(o35wJ}!64T1l$r0cw$ltcm)lIvJEb0tm=aiBv+U_zN9*w^IO_2};e>p4U0YXsG4mO3idam=gsiPv^CrM^U6*yd)+Rj`eLw-t zr(XOm5!B|b1?_Ghs{O|D#JPe-k*gv;=y`bQ@#9;lV$ZL6DhzwS(ktyv#LDt6XGc*H zu5qFfc%IuD8rtG4E9o7)VB2NtSwRJ0)vdCGiREKT$H;INbo73>^Soe^1)2w^OQuI* zvR6rT-SIVeywa-?wS*!RQR|g+VK}U(ObjwP+N&)lM`tW~M>Q*Q_W~QIIf2 zdRju~uAsY1-0g3PawA%$XrLPnDroMj5IvikEH`f&KVScoTrC37ul|3}=811MK#RzO z_=!PwKfCHHK<|F%&7h(H2Q=jzR%zpjYxL812%N2Y6Ij-)r?&Hk;cyqWu zMm9=))P%>6Kw^*zB_9%Ql-^>Xv&Ip>%`ZDy=v&FfCYBNeX&-A8ByiErW=6_WHItj&vqZkNEpvxJ5>ox<>65@58u}8>H2J> zWfj{eN-(Lnl{m+31XU%Lv4dg;(JDW^%g53IiCf!&Jq+}KA*R877nTY?lU^;n@|sXkvnDy9P>WLi_}4>#`~qFI47@Bs3VP zcfFlFcLZjnj{w%`GG4h|TE$#+mM1mO4`@h2R8_T?(hVF1n(;9xLzyhG7LvFCU32|`O?Lb7* z|G=DEiCyBPY6zJ3njqpVrdhna-L4*e)Xv`kQfpIDO(XN1OJD;W#~1j9Ohd~;?uh}*Kf$KwKKBH~>FLAS)Y;@9NP`N6jddap^)nPB3PV9|1(b&s$84#8C)D28A zl^EHh>^og%4^eMCFM70Wzk-bfQGMq_OlGBssrUmG;Voj_s)8m_lR!27^M2b8J93;6 z`cdzdm2fJexbY56vUjYDNbkaqZN)(X6__3qy5U`;|9V5V!ZIMPaJ3KPY2e1nB`$WoZzd|52yzkIFPDyn0Cz!1|-L- zq%9XQndx3*CTPI7cmf{7zo>#fFsd%y%EaqBh9)5~>8;B9eR31mqXb3Oy{4y(`-*@~M^iMoR@L#(VuNZq#0fSwWDE_-@hEF6 zE#aiFi1HUX=nK}XJ`y;`CoV~b8Y@orw?Kqoi`%@dR-y;86(3QIYt3JG1!(ZTsSrH{ z;|8)%!1UmhDv0p#&KWF&M}ZimKspW7AmW?gl>@V*0NJ?Dq@>ip5k0QYj++<7J#lfF z2lzTq(19}5mZco->T`6_C|r%6%-)@?zaB$3*lsD*1`7{|?G9nX?*?CUPumZ`AK9hT z1NkQi*Ef^b&Bl(IDgSlaAtuZN?VsCggMER9?Ef4@LG`C(c%G*Hr<7)ttiAIA)FRpS zJ$)Zp8nn>sUJfk&+!K=&!w>L0T)y7VOyH20Gh{~sChqPr7uoY2Fmr*j#PVMZs{ti5 z|L`JGg7kHDCx^Lrf}Rc%Iop8a7sY`OHMshYHH|m$Kdu#BPxJ9*W!>GZH`K3P|2VtQ zQrX$t+dDfuw)v2j1xS!xS!$TRuq}T2HB1EOt%q%JkH&~r!KQuou|WzR2(Lszi-~{8 zka4KcrJC;tDMW6WVkv_-Kju6NhIJ&?mV4r5CTEw2Ii+iO&R*1F0)^4x76kl+IxGS2_QIKTX=e`3Y*BM5S z9xx6T#mAR2v(AyFZ?+jr+IxBeA74Ks`!vL??yy)99Z%ne0ebUp@^Oe915k9g* zcov$(pgZJ)94tufs5Y3vlNAXzGEO}8Oy4Kz#fA(V++XrNZHf9lBbYCV4^e0;K^?Vp zW(X77vvaRJd)!`~p*5QR{PZ?5mu+0OqUDXwCE;Va?Dz?zZepzwzaj>xbO16#jb}>? zvLGH^#D-5HpmJ?4muiIht8W=73(op>2=i@eq9ssA?A}>;XatJ=fz|I2Sv*nBuO3pf zzT~nc+YILEG_0Y%uVhZT@bhk>EQD0l4*gLxHxH*ZM1zBp!&oeuS6u$Pm zS1DeW{K8s&AKJtaDPcB(;lg=rqSm|F3TaH}^}c$aQ_1oa^$jYo z*5Np0KfVfI4Pe5Q{VM~o-Wv?abme<20Deghim^O>r5I+2Vrqad;$#1hE|227RFruF5`@q4Rl3^? za|s?4bYG-iHq@=+7LEy!Pc$0VwMDODN8#)uCo`(ETZ&}Hgd7fNRkW~{NIzOf@_{?< z)_gx7jQ*%Lj~5w^8@CkY?Fg~K0VM1DvanhsXG|F@2Y|`RDdV$3&?|Zhdz1QmuDP!# zjXvr*bt9|n-o^fwCO-IyjB8JzSXDCZF#E_jbQ4NZ2R3R~!T=SKS@{{Ta=i`H1j`ab zZ)Z%uXrLZ+v0{Tv|E4EsVS}vol^rlxDg0bkCCm&nh(SnM_v_J-{4jt@(_C2N6RN>A zN$97$yr%qoc!aj`C)hM-Y?J#lAkJViewljVpfVPL4vpnNZ>-Lex{Jv>Bp1!9ya|S04zb% zzUBZi3kFz4U_G>IkXpbp50TMPLIrMCa<9}V11uKTIY`eX45}X`!}2VuGTgZGS8FM~ zhZ|@vy-|kc>sJG$vjK~`Jx3ZbTUfwKug-ab^~d)vM_ODzO@6gDe)<48s4>|E=HkwK z)f%Ll*F7N|EMg(XL|b#R&%=V7o(I>#i>+(LTvnB!QE#SIQpDaRrXH}SlMwf~OrL~%R?=GKbvO@*s4E9V)=kw~ zHJw*@l7GH_?^^x;yt{`sRWi8fK_s$faO#XSY;JG#QXT3 zv9#3qq>s4gNK2_vu7>qH%^TQVtkm4Nj9EDr-6j)k`V*J&0J$lD(-66fFI#r+Y9%e0 zD=1(gZS@dwb|1~yfby&BH^DjY(KO!qSgQV+eu?I%=kr#-n>c2jt_v1bhy`T&2#a$f zkQ4s2|7$B2USG>LA{nL|`~5=vjWS?y1_;w&9@gmvR@X@b)&z^x0als$@2;th>zB%m z#w#U%&o9l9>57BEVsT^lmG59-ar2BpE-A$3TFc(`Dz37emAR>^q|b34NVdy9GJmzW~qz&uU-2E)w z=*9b9eTYScLx5#p2!um{g$`xFD*2dPPpqES2+MjAfc5V)3#{_{qvX*!W0{Dk28Y|x zU285om=eyArXTUrrG9b)a|dImy2ow%(!2W3yO@>B2&cJyRj)oT;H!{;rLk6yyN>uj zFv_!Cah3-4SWc2zjvicXmEy_5XjD}-?twlpI2TnxfF>d0m&|2=?OlF`wxx$=?MAEW~JL23G)K5M&tu4OGKfobN0IiR z&`)0)?R$veLT1-m7PsXNY`+Ro(Lwq83Th0bl{vny%p= zD7x~*C>LSXIA<<>e`Q?JHEJv@U;$BX5w8=9I>!X8HsU4sA>}LxX)V8xE;*)Z)GNDF zHo@*^iqD^Cx<{kQk*pC`$Eu`lIqx-JfzKVM6W4HQ1!hs-ze`dz1&Z(?tOy8z2uRtz-m~Gwz}5gf{6{s z1+1IIF$Z(w3qy#}cad3gO)Y{V#KG27F`ANOd;aib6`$pa>}EV?kGf1DEET3BwQL0h ztRk=;sRk@#X$$GEG#jA-+Au&yNn6RmqC4=X&A3M_e6NL*w>7koPL{$5aD*qwOqHyy zp_R1lz7osgVRE;?P6qo>fHiuqfPkgxA}&&^7O)_i5`nd{@At#oR^uT$ zIyqa{4Py9})OujYqzE1+K%+nWz;|kaHSQ#x75HQUYg)w!>+f!|Xr|+m&6nCcy-Qtx z%lWVXGyO(?;xC)F|7(XH1Q1vP>U}>w{ z$gHE%qCF;HwH6+*(h-)*A=bVMJMY^Jgu=-!h@K8HBy4u@%7FE3Ej_>QlmhGgi3Ao> z30MH8CxlGYT{O23_BkBnb_S>W#V*oUi9y#18NwD>VZ){Axq4i~n)~|9moiOixK5mn zqG`TlfRHnP>MT>nfb%zq!OFlOi_tm!6A_vpr-_F>X$smcVS(mC>^ ziM0MrNH69x-9!o5*LI_6sEatjEKzX4(s1XxH^?Ifp)&(4=O_e}>V{ZC91aTi*-0tF z*lfUJ$3DdJ*x4+TSH?Ge=(GZ>((T-Me0G5aDsP%6RL;(awQyAqSOAmSNAvamDDEgovfrYrzE|Dfdvs& z#J|t(&fCO(owe*n_YOKBIh0b?nInCX(+8{z-XgHBl);AlGPsg`raK29I#lctZecm` zwF(nhj1J!=Ie5;Uv1-3J{Q$=7&rp$=oKu~k100ZCXVGgPh8?S897>(s3 zuY9K#SigIn&e4CJFktoT6$7iZxHTuUbe?wNg_ZTk5n&Y^uxiHD2bS*vZFUZWZ5@f* zaJG`+aBS;=4`pp7jEAC0uxcrFHGCao(P;(NRSK-Rvj;4T;V@ubvYc69L7p^CNM8x3 zIWAz8pH^T=hBm;NAH+_d1n@an5tF_5IUO7+I-qHEXm3) z@nG=1jYr(rRx;`rhszwA&3%9*Qu!gF=~M&DdlrFZDY;T6&n&oZu$*aNF&g#}Azfxx zb0&Z_Mf%h(sv(AfLOUJM&|$DI#Ob5RhwRxNZ(kLgYFMPS^%)KcPc^V+PaLoeN`VEs zTxz~3D|0DlIpe_6;Xlb7X}~)5PYDYXSmm6$z=AO|!6@`VTM_#r-3{$S+4pmOlWaiE zujVd9)*(teoxp-oBF-t-l@kW6F6F>drqdr`Sub`kkqN8z7$U5@1qm$GPXTr(`OyZQ zk)+?hYa`7pglyjubh->!xAGODY=lli19zH%H8tfpfxyxffpyFw)&!Z|sHxVeA7Kp= z7pW^4V1ccFRst+FtqsAC41nvz{SAz!3T}Rl`Dvs@%kSBvBWpf$7NqTnG3ipo(*~^eDXJo{ zBq{<6X)KQj>4vhq+Q7O^0rBS%8WpwZR{=}S2um{HidNfG5t4!gb=q_f2xJ}XXd07FlI%r2w?CUa%)B_gJ+HF-G9aRjU-%5@S`fP?* z7g)}d1*{FyT~Y+raZ79c0~V@PYmW(7helXzrIyto55}zK*dr_zZ4HvC4KyhPi6h>R zv}6813{p_S`j`}8>$G~n;_YM4UaV|Bn`H7SjB&oF&tANE$@ok>QVCeS&MC)I5m-fF z9grRm!RX*>-9HjxLI3qbji&lWPb;|Mk2}Je$@Y#?Qd6RJci>h0g%zPgjavXLc$EK; zh-6e)gA$fnz~XJMKPCe4cp|y;+RpO1^2)RtO9TRml?Qg8kLQtEz}hGRE32yZWD)zSQDoER^Z0SocI&A1SJZsL$iz=C6gl;9T?3a>qX zW#@BiY}|^3#pfnd$*s)=UOBRKp1LIpEaM3SR_8AR7F$u4Q5W^68d##ma}JWXUkogb zp5e6UVizH|vG(SuW5AGWFoB+_UhW1u%__h5yzT26=HZbqZ~ z^}qsNy^f_bLdoFc%tiOW3ZFNyc;A<=F(L8IhtvXAdVmCt5Jl{)r#`&y;By@v;Rl7o z(O5jNqYzm|U>&Y=#%vwZhEokJjkWBtlRUEi;s{G;#mv81Z0?4XP>0QbRPSCzdQUoj zLOPG9v=qN%!1#c%MXP0D<%fpRy`wLiJ|;k%Rco!*W0={F87tOi#_|m^ejLC;ynP`Q z3;U^}vBMY8gK<=ut%2{LhmwN0BVQF@L5TDmBE)DU7!HA1KN*9ggPclusr9H|R5TPy z#kUt2JK~iAYoiFPjH-gIs@cSyW?+f?BD}D%?^gm#>oE>2_D?k5eoWl87HiGJq4O+7 z5iT28oN0Ooh|(ZjH{9Phbd|F(8t&dujm2`Yxo7w{s}9$+PEXgtF#+QAe^j3zo@s_U z?Ttr0nJ4Aw@pUqH48YSzAh(-zmvh!(LfWuihwI_$sM&%LV%TN^>Yg89EWbHOpSHc55c-nVKV5{78HUv$ zhMOQQ(}a*etE&eIReQBABe0Gm!ZP{z)wo|QV5O2_>Ki>YHsS57ikhFn)DRQ`D=bnC zSRL;HSmD%X-|H6vfUgjw-(OC|`tp7~5cU5+Rv@r4;_Kk~{Gz3zJ+ ztqwmSvs1)LsP5y6z9ll)1y8ww8_AS|xLuv~9vx?(4BK$ck{Qoc+TA}+U*uN;i|6gH zb`qhe*!2A3IqW3d<{5O@q=o;j$6z_Ml8kUI&#gO1?h?P93c)T7p0)cve+>xm)8w}D zkoVahe1o)dAF@&}Mr^h`k)>fP9uqHV#MTo7tgB>J94}K4z%rj|V2O>v<760X(XRrQ zPOKq-pI>2|_wfbS z6!8vDz-(uR(aaF9b9|0?FFYhuqvK-l&94F$;(Z;TKLiA^Qk~f0782igejPrJ{fiIf zoe_Q#BI|jMSVpoXsP#ycMu;mM;*tHqc0wf9%bbXa_$qEYO{{PzjjV7yxcRih$LALa zY90|c8OAo7RXy3%m35z3d=K7UEGh!)7YJ$CY2p~Y_D=h&fCWpyoL%MEgL?>BWVw>A z4GJvJ0CAHW_$C=8jhLo*j>omwqwky|ZTQ`v6ig1%XsxE`ntI%hr(w1;)@o)T@q9?g z-A>Ydzms^4R_(6=7UDVkgUxtMU zZc~KO&OU^Y$+x^IPMuiKaZQHF{yBZr7)*sjQ4v|uxc}QLJDU%(^mvfC9i$hZ6jgMS zaq>J`Dyl|QZCcl;+J91SUBh5Ee7BWWt-8Qs zS^B|d16CQ;-UB7T+Wj){H_H}0u*49H^p$cNm5c5-u`Z+cYpS~(Q5=nv8J02hLD9W| zI6Ke79IXupsl@|?^!3&bEKRvKM$7Ph;w4=roPj=r%o}hUaXCq6xfPx`?dc`68yj;* zaKQeFb;l1Zp5luC{4tRZuR@Vet1QPuIUWAbk4#qahmTr#l`pXD@8jYbp?biwtwPQH z`z(5%qoJbU4`n|;$Y73u`8wR|O(BsKLJ)2Vk;KQ(Odi#Do#(!jj4u(@w6U?VR;SbTPVVdqm&h>BrED*D;R@aegF$#5v}f<;K( zMXFNQXaJ%gwSa|un=qB$AK4p>!~4eQyqr*KCpU8|Z(E6npcKZ~eNR`n5~)xcS;-|8A%KZ{Tq5_+@`{>G%e5!RcTN2)dd0axdE|8L%Js8mDZIYR zo7VW;6md0qbd0*d!nHT27l(RrMqphuF3$AdDKDcBCi?qtR2b!f#p0UznRd)(PWmbb zny+FG8=G5xuN=5riVGcB2&&hl3qmYafz`t?D8tw5Cl2pKH*pY1?MnLzrOyrG>}%;H z9 zEMOJG+U&M3Z@1$qVYkGbcs^<8(T^26p?LOH^;IJ=f8ML=c}OUQ1h_`k0~XAp4<~;d zT$=3kTa0G-IS`LBC95weu)>scK=d*A6^Y0S3xVLbFS+N1dR#j(N)FMIbID267sb@9 zgXALjkkO-MR0S4?|01HUV>TnOItdvnF&aw;$p(2+nh{vNV9#bV2UwT-NnZ&z^phFO zZ9>X0Tj0QAbht4cVyO(QOi$K%>Iv~uTs`imB&xIaL-nc_{0a_2>R8IJd24BF-{|9+ zMo#o-wR`DpSf|4@(_Es@d|XyG>LNqc^v)aAo(VGUuCZF$H{67p9pvBse<}qQ&)V&F zX6)(9&Aspe;)nSAcJE1M^yWH2+Z+TBxinSli%7#wun zBUA18_Qu?mf(I5j^}0615bKu!3qId8N(h;)|BVoG2MAJppz+$&k0GdrJLO<_^O&*w@ zijdv(%3w#CfknSL8$#(*3Fh@mAWe25mROmzb2)z3TAc-BPi9r)$z*6f@dj6WWQ3{G zf8)K!@aHg9WBk|SB{%83|NYrV5PqlCGO7X#AmSi@VO-vP%TSdOSlvtGq`B1GJMM62 zi?G^fH|}Q!7DRIcr0ae^8OAV%sqlf7?$4Qn5KCQPWgZ!$#m4I`jg=m2L(db&YHYo( zrPOS{+csF{(Q4l{+%t2Qx`{fhFNHGu5N7WW-M47q_=sy5XuDBStz)V^m;)y`g9}0!{%#pFxF*}bWvp}<38xU8rm0XAA_W7;o ziPP7gtWpnH;)Lh0Us!vyk4|*{#HSFjhetm@n|-^zzP;c>8EaTzX*GR6NM&C`sV^+% zg|XFTJCAZjRyG-I^tT-eKlSN#s>#6VTEM+La~|jPs(>q%Bdn^DF4EoFYrxrRSlx~; z(qk^aNfsX~0TzqRon(o0msm~;u(Vd=+>{t%sRyiCGGpL0St5Q9w&*m~)gFo}jG?gQ z!PVHRW8eYh&per-|HjP_Vd<+q9`U6#2-D|rItI}PoQB07`b6ZxR-hS6FCpeQfQ2~I zc49pw0IWoXgs{@*8Yl>7-G@X zQ{u-TCHc4NI9^e^3)HlX>FxhYFJ&QZJsn#j*?s53V;Q-G%Ssh>-f@10T!djt?3X; zJz%*=SGF-*S{?mE|E1MYRO!+aV(29eBR=H3xP~!qC9_7%W(HPsFX`?hjmFtSfyHGD zuu8j0_eOVV6#&avb(!M|9aykGCmmv`11$U(nN#j$uJb-+n3|PJge!mb7 z2|_rMT8r$wUAA+)e4|S$oYmUE?==(hxrY>=p|S+!FI9o{L5z&37gaLJS&(3r{tmvz z!eEMjCIhUFXNk~mgOB83k+o00hzEt;AjM&4Y z(fvAc*I|5{jMroXR?Fo_#O3P!`>>*W9aus$2UvH>C@s3*!~iS&5w0E?rT z9WJRo#MaozWQV1XH2ehW0p4}Y#H@)+i{ z=PfOVs|_WFYOI`BNK-vT#uWey_H!+4Ztr}1v+#ho+ZY~Y?WxObZGgxi7^Nkn4nD7t zBEIS4k($7=O$w1{2y9pfzRNK9TMq(@;@HF>xgR?k5oC8`@W{Tr8Vd-JPo^R-Sp|@h zI6Pp{wo2(>1N1MGW-F^>L=`~M{Sl$+@6Bo)ZM{_6Np9$`k*pCGNh^ch9h>_|-zCgV zlTO1OBB~Fwg$^u6W0@u{M@_X>6<`@1QyY)XigtHt^jePNv^rHbTt8F>Ebt&%4WLcrWd`loVH_My%Y;pAho|LLu>ZQDtC7 zD6pVC@i6xV;>JFTz>@eKK*+Ze*ezjY`t5ZvFW2KV$chT_uM2jDR~TT81k>NOI_aQs zk+|GsrV{HkOhEt(#9A`Hm*#j=Z~rRK71&Ch9B32G9Mbm??(gS3@^ z`>IfY1!6gl%{mXuXrzzJjOj;N#>;SNSu!d8by&EA6U7!Tu%sc@gqpx&PX(~@$lZib z8OkdNv73SQRIa`TIDV9lf=~%q$!L^@MmAn@eRWM-mLUtQS3Yzw4~Eby+ng_C@^Nnk zsAPr0i4{d@A=L9E?hys)pjAu<=bF@aUlj-V9e;@BCD*WC9bh@fFBVpW)pm@)l3E)w z217i|9L;gaFYP!M(xcOCQH8 zGP%F+;8jZpZ)1HI#Obssk)<;Q;F$0Bi790qbcfl4+n6d{&4EaUevF zw(fL*r82PW0IY+k5t$JA@KcHh9|C?0m_A+LDTy3MO|*2YbYH@B*ZR|0J*s<>&8|W6Kc*=YhX$S3Qfb)E6wU z7#QgZ+irBK0Lxu4r-TeMP29f>ScrwG4H@>yBZi~x&pBmxV%u@p9|KqBaR4hSti3(} ztj}=@q5Z&ud!dFU&Ov4l7UPfFh|IIL&+B4Z7~h(-Yf<2p zG_dN8M+TO@EPF=ye-<@`FEkV`urypL3@-+2gK}UwHrlJTXAxNGh-hEGi?r z>6y#9rpKvm6N6Mq2d_dp_)h~%Us`sp2?k#sQ3g5|*(j&7E9Wj-)D(-&O|@74tuIty zA&mu=?%wz4)Bslf83k5)A%%R}0{ru zJ{}$2*A-4eet9gwibbR0pbW4MuGEKVf61^&tna)qLCX+al1!*L{Iqc7Ye4YR^4X># zhsY5j>kGwWWsts_Rh|y22`p{Nx%0h)*PsvQsH&2eMOCp?xNflBSZ>f3EU?77`y9E2 z4Mkunkl6Z{p{&E(zQqO66@K)&eUiZ~D)tgWYfdyN1r~1?o$g~S`q@ta<#jRr+r=#} zGE9;t9JT%k(dtFV6BD$6+lk-M@@ZWFSHIG zQQS|DIF?KQOI2BLb;G@es~1ZlBP>*4Y1oUS8%vLCt943&1xw`%1y~3?{O!Mvp9uE- zr6Yk1MXWe5;;0pOiDy*R=I1B{mNddb$VvyJ23Gzw_6zanU~f43So?4|rNoe?w^*OdfmsyNLBte-v|1Alv98^|)pP|HlB$f? zZ`Ict%ON8ySYW|CcJRAb>yQ#)mARZ=7{*>G!0MyGsyTjONs2?_Ih*{1nd~(w$v6c` z8;Y9qu;}*^J_sy^UkT6_?G7GEJgFV$+XahN#4Eb2+8g9Q>|{o7pGUVpE7u&$1yHEbQUrTuO}R+td5boG zV6o@AiNiTwgLQ=<*a_>0NOX9CP>&#i(bDP)a&2nrD)89qXi2L=9AnC7oAt~F0Ccq)dV z+U~l=REz0g;e=RPL#f$#wf%nm?c0A9f^OfwU0>IJ)hO~x%M>!O7(H$#qh!LOMfm~? zX{-}u)-RzRSJEFhNrD@fofVl;m6;jZN2j+jCOywHvqgzsAEyWNCKF*>2JPQegRDs-0Xzjo2+L1h=82efS~1px)?m zBzFb;7oViSvVRWHL~#24 z*su<4s#y<3!n>UEr?tNJEPorP$v3u=0AfY6|2hya7O;|AdHynV2)ECJnW5``+I&@j z#4_niN=hpVLFMpQX^BB^(&`|-DsW(l0n#XGwd(Q(7Nf&;loKwO*PXM*f70x%%RML2 zxKwU$7R@>~24Brtlq{5b{x;j`j&O1C?QQakpysfe(TSMlvJMG+v+ z?ju%aUcHV*qWKoEv>JS2kvPUl=k02%jww(fiY%SBfTW|iLQKH}3#7;G#7nv^(xfo& z6J-3yUlV;@2h`Uu(c;f~G~9OcyV{1_4l?oA^``y0e&eqj`$Ye%{(eJd)m=U3!M}dp z+-_fRST@A6zdqcokWL(>4Si|@tK%6!^}VzQC+!q7Np2NaPy0GP$LMz-O*^uLwKT7k z5=+QREWYaLhh$hth=Xl%mdc@s`#KI&uc&*9Okc$sEmPE~1Qvu? zx8bDlJga5$7s^ZYdEbZ3R{*dIq{Bx^h=ru+Fu>v$f5s{32+kPOu5O+=PGCWQU?}!= ze+v;p*3J0An!Ek=Cm2KpFT*o-pW)T(h1XA+4v};!5lcvY{9==74S?STb%;O%WA5Qq z+ABKM%)V3Z6)i?sg)1GtMdrx7he6Cgra}jnf`dZ)!lyLKvh2z6%Ud5*Jtag|>QxA* z!0P^!&wU-biqOw4jd*BpgCXp}_Sx+nK88ms{iX~na1IgJh7426D~kPS=+j%fHuqK> zT;E5$v!wqTW^~LcRuNblu4IO|$*pQ#5m-t>EP1;-Vi2ujWdstCE*2Hb^2hw97C9uW z?YB_)7*OG{X< zd`Nn*85VQLx{23Iy6V-R%uobY;YsiLlekIW zAFQ?rEJb#AxuFe69Ooe4Q79TWg=i!)2~Rs_U_sUzN^U{HYJU%mI0jj2*aEQe$M>tE z)&)S*>b|-d;_Yuf!O*N71IOoTZ8r{!;nhtuKIP$65m=&-4iA%2aue%{z*5jr==Vp( zbq;d-R>QIrvrJ+ED{XOCQ%JsFaV4-nHwA=+X}b+%qtZ}O^>0b?V^4-+KmFXmtCxXj zRLI$!s?k-mPaZ?3bAN+})ibAEMPPxntg#P93+D}tBCyb&mE11ZQAjON@f8-KgH!cl zQE)V<+)aeC?Iryl%uz;s5~4vMnB*?$KtlD2^*R{|NBv3o+Pl1Z8}R4BD;UnCoI zgtU}mot8QMDgq0n$2G)7+{Szh??qt2)bwODJwZ6bwDy;h!+M@GY(oKy+6wsNe^Ub< zBmS_M6Yk3hlOGKnlI(Jg%64+AORR;UKN?EzR>}~fZ9sYON~7~=Z+Xf16q&D8ztg!0 ztOAzKbC-;hnF>x*1Xljj-QyuhbL8h@g(Cu(v7`>HXe9i!gZ~w8YJ^yt6N00j-%C{^ zeqoJ9Tu2gN`Gq)~5gwSW;;i z%QTrIZCHnjz{*cqjsy9QRp^V^Hti2)OzHn;sq4t}Yu?o2($r82)?9qwR2ohGG~tRD zm+z-1pB^*b;kW_L1bv9-tgDIK>sMMGE@|0-VtdbpQ|!Ge0!v;xtFeoC$)HDH1Xg}Z z_YKNU4TYpIC24|&I*vaowQU~fn;O!+WH=N^M^A_`ZKs6b^Pl+2+W{l#BhBL#e;K-P z#4p8~HrIq`uEQYotf!$L=3aFUvel_a;?mkCL}9wKP0n>1vaqut1=VOi8MRdX&_}j7$&Xo0Hn~Snq$8C{89r-ArsIz zuJbyj$q(e_0U$rJwmmC(nhqFG7^)FAqJeQQrDWbJDqJ^r4pv_|9KA*xSjWNu87d@& z_iK=~fwlknoL#!a6^ZEdS?Ly8yk}S=&mf;)YO-INhy^A`>m;n;wROjkm;$`xfv~Dt z<3)KfmzU(wWImuz0wB|DP=sZzB)n>TRB-f@I5x13^pkMFOQ^d8mF^21Hn0c}qN=|0 zu4huln$`>h7v2k`c8x6F8{;XE=PxyBZ6N(mOLdde@1qsCc<-B-VW_&bZ#fSJ6zTOs z!cYmYGOpyY6#VLL2Wn|Vtz}2wDry7ks6Pn@_XxG1%AfA5@NNUk>dnNxO*`#+w(3^l zi27W5y&g1mfO#d~Uux3-G#$cFU0jS1HVJ@`Ls2Mca3f$CWWVC``~+AEl)UREHQF?=W3pB0Hu3o$K>b%4()`TtS_L9tfXL=2sDSzuTR9?9!m z9bM5euXHo$I(!2zzc87MVp;{v`;r?O2t?Bk5nk%FdKu0h$5v4rSh@cs7~WY$h*bbN z85{XA59O3$7eH+upc^xRcE5WPpZ0VW_i&{lje&I!icoyt6>{VxY`L28z~*7Qt2{%$ z|Ef?RM-FbezW*e*bs`UQX=ZPx9-Uv~!7fTrK|LIeM#DxVLUe$S;7hIW%E+{?lEo6* zRGoOv;~5<4+ZbI5YN~4BNgYCtLpKGdgCp^9SW6_QaBixa14HQ~MJQNUgGe@5eT8$A z@X7|34J?Xve_n}+Re$e6P5rGhj1r;fX>C2R+Q%aH;ji7YPLEFVG{b%VsNS@iOW2h< z^El=Dlqc!Yjg;%{LgIRM%N39%`J1j+1&XG{`!!8I)Kyb^rx?4s3-6{}%VdTYoY$>W z?L9`ouBEA0z5A7jUB4o(#E7f-)y*2~$!jcjbzi<~oo*G1G%Xh2skK}m64%e3VAlti zWcDzWM^`0fm)4_DFl-Q7tgK4R(R`^DziTcSR*9`Fj?9gXjB4>1=BTQM_4p)Dfjm^N z{QlL&fM#g1d5rCafNq$BmT5#q*{d&6H_is1I5&5A*}$@aMT8q#P%|>^?OC@I-a?yp zU3SXPwob2{l<-;Q*70-B32$$mo?_Q;wocV2DB(oa*71Vukne7t?#WJg4WSNek!q_z z3kB6^(@HqUd#`#EyWZbAb<%)hUu~XxOSZj%+xQw+woY9R3Q(<^r>2XXL%zLv0Vc;~ z_k^JbMtHEBu1Y9EN=3mpk^+wCORWf=xqwa<(Cg7aEEWhxG@SrUi>?g&DUgrwYHe;M zs$o8ktVvG)&|);K2lj0Kq8)DTau*ud%m!1QHn419S+@#(-QC@U9|QtzXw&MU6F%NL zRTc~4S+r$kasjN}=6Y@GRB?t9Pd05GFF{u5+&a}_*Lz#Qswfutuh6EENg=*}>r{h* z_3hTF$^rP#-o5I5=y12adsY0-zkc^#3otQzwvIQTLnN+Ez357AdpH0fTbv{MF7X0j zq&c#4BDg^MB##PM{Mu5~FrvC{7&^AFwJBAPFZOu=$U}JL>06I!VJ#Y%RQxWpe^giZ zlC=j8!RizpKwaCjK^s^$un4gpp(bBr%d4u}Bt^XVs>`(M{t}VpPt;eZj@M{_kEyH}Mu-EvUuOi5>#W&P(xRxE6-?(TS7`Kqf5yVBy8 zYmF1X>gm>$YipsK<$uy&ox0?Gh+UsEWXJE*&{ z=^+#aK+*0Q(Ji{&qR7qA*ohO#f&7HVzT}~KNxDvH(#@H6CO{tZl5@x50S-LPz+ zC-=ZI_y27dO5dhiuBzcEX2kU5ArcFulffY)d_$|tiRol85m6(FWIQo4;rA7jC)IAGuQRTvMnF;>J8?V78qUIm?lb4gjo6S!vg-fxTeL%MA9uP@zjg< z=R+@eZ$5CPNUk@FF+HqD;$yGL1-B1n?=Zy3(y-`J3u^Ac*`Q;WY|sXl4J-bgn-}9xo!*gQisahkHU-!UkE=E(y4ZWX4#6lJ76IOPaEDZu|;q zaR(Id_xc6$C=c1-#KLq$3u}SU6z_L!+et{YEO45-wk<1V7@5COg*r$!SZHU1Hn8^i zBpCSlOH8bOLaZO{XbvrqmeyRG@{tb0)}BzptNA*wQ?Q5?pH+Azzh7!|QBTXLUey}-L0sR~((5wk9#?~J7FWW$uEytAg^x8^ zU0AJ^=$w*l3IkCo6=^3Hn419(IT9I>4aBKeB$co(%{rmJgSGaKy+hG0?IC>H6xl@LmUM$;&jvI_5Pj{^6}snK_)C5VsY*%Lx@h+(@aqNUqdR_>H)3 z;GYah`C39j7K@R0rjm}QJmQLyTvMa*1jz+`J@7p*c2Kbn_+hwIJ00 zP!{)8y|RI20}HV7Erjm4VOfVsES~u>0*e+;zC`Fe#~fBpxCJbQr)H-uUU^;b#at^! zSW7NWNI=QY)*MEfis=T?IaTtBE2VE?C8+6Igk*!~6lFKe_a(zBsjfL`NI$MH*Ezo` z<>fTlpbab=STx19BGgYg;6oo7gcd30M+hude(1}6AJ*2U=iun(7DB~8IA+CHYv)W} zZ7F;vqq-gqj(hU4`I+!)HK>vu6nQIP0fm=beakU|D>bf7l5B8qxz;e&=z{#^SLPf} z#dVA>I~%ltl^$52AE5^VEf zzRw71VKqKG=yid^{!#-4^C}V!#pgr{>SuVTwCUdb1()`pkjL0#94SY&p{>sLTJ^}}gh zjp!|?r5p9!DTKUTyvhz(Hn1osyn=j~SR#LT#G;uQAf$lB3C!^a7U>;LXvt-T0+?4r z^8v!E$<&duuVzm{B?4hND@>yoal1OGgKjCJMJ+Q2D zOhm)oz`0=GoF0#o zQu|6`tli^Dk1G~H_BH{Q{_Flr9GA6vwGAx0h6PNO_p4~21+_Xw_OM3!?xMC-gmoKr z6^cyWitf2rYuHL|0=gcXlAO|no-jK^oqlB(F}q2bX$OvSj0#zV91es2c2q9OlH75a5ZHB{|2blAAc8d&ySLi0y7&6W0` z-uH+Fa?Fhq)P!yd4UOpOdDM*VLpD#qg3nMx?(Y&31OB>DM2pY*y{n0+u4>b}&)@(c zwJ*iBupT87D}n-Y|D^^B$vib96kjG`-XW)gUg^c^m>Li2nx+Ti^OLW==RgLyl0`Cx z(}MoRQ1#ecc8kVrVA*|G^$6XPSzw*uLz7qqZih8N&wyM;SQOKVd<_pP5V}{3fpt;N zn?gi!IYJjW_E0{`k${$%ca8@lx}nE61VP!=mnhoBqhu!77&1b8(4OyyZF`JJH=Z< z22N{Ar}_+OI{-3I6!>yy4tO86p#DnatM+xHTlrf%&2VM4_qjvKJzUZ-DPoNUBVi*P zANEkno|46$)%Ca@*46kzUruDHz&0KZZX^@B9*IpVhjxDu5L)>qrG0ob7*FV$77oV4 zV|`AE&jeS{#8q=Q>b`plPR6yA{-JF)uri+|lx2~A#}q=W22@=lI~cCC^(LFkj}6fL zE7XhzI(&`3#@W!6oERnhw1Uwo@1eZ%@1tV#f6q7}6iS9M(vB*&inCF)?v0`Ei;UQ7nfn*RKANdbpNE3ZTijW4UyNfpyd zO~w~zC!CT$1MU)BT}k1p?IFjpv?8s>v~YBNjc4fNWq|(jsDNby3s6v|x94r=t55@K zD20VDn^BFM&TUe78}(pbHKD2^fj;hfSf;tm#R{q()cZ05g@QA;$!ILB>)}9fY(g<} zseK#R9OD}tpIi8xCnK0vMlv2<9v)K6;3^wj4b&1`u@vFe;Q#wLNY+w+_vioq zAIHo7^H;^LFKu8Qji&pz2wmR}4+ru*rE`CN`etY#cwwNe1&@%QU!MK3?+ zn8V;z`+7iE!wD=Nbw)a^qhGMiVm2Gn~Po$f%9 zCPG17RkiqBR*9Gby!^!SO29BXE{(C(Ixk^Xme5iZg(q_{^JI)qi^LblDUSkj9a?!M zrG08_eI*tQhcrzMtRxnO+g*fKF2gIJ znB7+1wTa1vNIVeLFs-7ocz7f&t#-jx{RNKO#1%z5PX6-m|Mt&*|ED;_3V#2efBeHS zv%mf2Z-4S7uz_`yvxM)A=1!d!ODj=#M@J8OlH+0%EwrLab1LV!t2LN9R}r#~UR8}? zyGO}d@Q!caSR|d|1O+Seb8p&TcqI>k!Cu=UtYs2@kA%~-S=_oAF{8A|hAEPeJ6HjX zL+8-c7`{SMCA3P!;)`SBLxSYVj8+uQ0t;6yO{k;(g1m(*5?~Gf>R0#lFuu6aj&Y^rj8+(j!t1_`g~&=Qig_9`lCjwQ-0Ew;QpX-xM5}#TH^N4IcyK+T#Wy5npUQU=8}sp46k|aPCvc@`eR+0x;`Q2~AYpKw z^Z2px*!;vi_-E9M*AtUt>lh(X!nsHQ&&AZ`23KbA#$zh2J)ay2#a5E4Nz&wWbYWv+ zEt@hM!}9RNwN4XPO*PwbMa=Ql|NQcA$)Ec_exE#+A=V%N?*IR(4XmS6YuFB~>xh`I zxx2~NjBe+;0fA;|D&N3*n`>YxyfR027^{JC2`neIz_M#!-!N;4xNmN8I!126VQ57I z@mL_TK03BB`KE88y{>L;?Zx1W7i(*Eb#?7i!y6+@8uo~WHSCOiLu4){2e<+Nn6UB= zw!fKMPsU>r5?Y0WI1wBfZ~ui?;+0G<0$5grUtFysGlK+I@FN8o;P`)1!211n!LX57 zKW-rw0oIu>feox9RBPBW0OTvTA5@nkV%?~dxE*U_;iblw+yYDS4-z$GJsO;nT%O5k zEkZUd?_Z|H^Lll5RK?JWYJ^(48V$y#F}RY!sIj=dG`cjuz8Eqh!9aXEkWh6}Q;G!R z@%6DOb1p_XaAf5I0%^4x8lPQCtgM)MppHYU;LZ`1)_$W2=_^fOInRqQF%%T#=1+4r9LsPR$k(GGDFf+~IbZmWOcw*3#aoK9C(k_bM*2 zzS>ahpg<1W+n0zMa&Vorw=14@Rn=nS2U-D0m~c+=Q?FNt$3_>UE7O=;iHK@oL=i?= z_|lC?G#Hqk4la()PPHo*OAc6Iw_w$dBP$~oPY_aSY9b!j7AE`F1W6LIx&qA#P`J`I zU@jW0e00jf)n33dLo7Yx5X%OZt=8aRMS3S6nkDybWsU}bF^#4`9*t&pHuim^L59C! zu7DEgT(-9-wTPCSACi>R{Ij-VR^1Ou56X`jp{z};j!%v)%!eY0WMCyeJ^e4!)6?;l zSRkm)FN{r&_pK>@tGfUk_;P+%JC3Z>IEIyO!YUSzENx5;DPD=sA`#rGwBP7NsJj`V z>ZirfO>mVKSR}-XWENuCz_QgEX!7^&g;>_fP?X5c;JjEdad&pD3rGNu`sZ+302&|0wdy!RSX?DE506%5oFgskiaizW5nsDyC;eb5BRT^Mr z8DiPMvVldkJ$84cX~@yk*$X8lB^QbXIupw}U)#wTp^#kjV=F6t&#n{-kY_Wy2t(&? z94C^{RV}u;eGmZuMof#&ujOX!7?{*@DU=}iJziMx0luTPRI5UIF1${d$;BR$6SH17Mt)YpR|lF zFo&hR{<^-&g+&uq*uqi#XdXA%zwk(YUdbL-X6cGl+8a?v3qs|$&&o1QaFsc*NEIub zn9rye%LbOM*08I(IwPK}Mm;UKf3(9S)`#$Ti;mO=ntDiME4rL+(1#Jv_Mlw!VG&-v ziK$_t&Y-+Y02TjGD5AxNKV@K%uFrE`?~CWdBUpGLX*SmD(HMc%n-r|}Rl}!QhJ!`l zbRyJ*aaHx?By_U`S6Kkd46!n6cejCMt2OjnjiWm^T;4*xK7_5gq4y(eXsN8O+R3Wh zcDCAW)|QdAR_$&tF|&M)&8XT*fpm?dC?}1hWPC7Y7^=2?I}Q-AJh>K|J!)X3QHgQ3 zPt7eQiSR;dbTKeLHr&4Ekv#i^6#)+gxzmp-5Nhs0=+*TzP&6y;*#hgkpn-L<_MzEe z1IwNz+%gv4N8OF6^KnVp`JbKs$bR;D;hE2hJ}W9J`s_3OZ)~Z5pMbeDq1b%g&&a>b z2cKD&BM;ABxZ8t#9X;vPONkyp{0<2IOJ*SrPn1zWw8EUI2)5flzY6 zNr6ucSU_D5WAVl1$qC#f?@cqzoF*5fWLS8w3zgg?xVM(<*|e5>^C#;{KKgvggx(^MXSr3m8e zw5EoQl{X)5^HRLS@lbS~OcUnWK$;;%4^9M!NAwj-*+CBm;?dFBz99j_3LJn|fE3!P zOEoVMYUxI(;?Zf&sg^2(8XZWXnx5o;0*j$ViYpaCqW{$LpoiMpo(P1;z7s zDiP{wMyUMOLw>8LegDAv;kTg()=EypD;rpLTZ2G=#nU?itCRqX`hc}MJe9r2}6tbeHy?5q{{AkK1sIRgtd?s30f*KyjKzq2rH}5 z?!4dDWEI-0@12CQsc&{LV3E#-fF2HhmnOurfn~4xx`z;Hz1%gz`Vjz&qTOw%@~oRV zs9fJJyh=4<#izWV0I<+Dr*YJ{K$dD7hOIn(g(-~m9af|MFDB2w>2=B17MM|`+PzVrftQtfn~3% zmuG0|_yVhUpb2%Qzr8O&o<30hYC5zlugKMv(O@XH;W=Vpk*yZ5hnHfph)Ju!`t0hO znA*v8Kx0_}a;Lt1g;0lCXupmN?dE;K90AMB2_t&CoX`fAt=8ah99v+~d~pTpL9OX; z46qId*f+0!?w{SgewCVVBAuhNM++=PIp=SmC40j{ni`8O&i1|VOFT&g!NFDdWmr&J z+kj9{3qmhz9tx>Kd+vZma>DfEIX19t0Y8ot>0=A5&#F)l>P!nP;1*>8?7P3+>=#Y( z>Qe<4Q2d_uxkNld+O5bk=`|0b)xkBoXi{evFWjy|s3TQqmt{b5!JGo?huX zqc*T?wFdXu+S*ehb8I85s!Sp*R{rMIHF|%)5rBC$P5Rqc%zlR5fJG$y=8h0piXaWm zMq`Gig#&@n;UQ7tl^oEDVpsvng^yc(R^_Utt<(ucbG$jHz#<{m_enj?`Wzcr_7VzM zW2rUdudN~fz+%L+4G3M3+5PD=OvW`;)#KxYSG#$M1XyE71}vbQa}H~9Rnv@EaD?pr z%0+BtNih^Wt1q{13!+z7Pl-@)kS3Vi1B>K@Mk0%OLK|52ny(*cghd)hd-vDr4ixWr zOjlJcKJ4A2a(%=RmI9>q(Rf7DjaXvtIWGx}0;rs%f-@yIt5Xf_Rd>p0C^BX)co@JU z8w$0oi&!?W>_w_u+2ZNOreguD&UC<%9}e{FuhZQnO$97HnY|R-0q`#$VGT3azHD=|dWRc1aTnQ?GB9-|J%_Z4JpIYim$=VPjg=wdl(7bB`wnxB?8zxS``x zO{J9z`dS|s%8+-MviOGuEUU3$|GJ|#uxwxz`kIafux@dOBrl_Q+ci_aeMAxVVv*T6 z8afKeQ9yX*9E)pVEw(;Ic@N%k1!xB?LigDxT?h@d3?Nkfs6-@nc0#K|1r`~AR*n33 zV%fmTui3z=IV4~y{KMZXIilvY55Jf>AILQOpg^**@vg$yZ^R(Sx{58s6%+Fs*?Hn8lr z2Fg-v0J}$60yzG_g3nMx_P|oSlcd2tqCS^gX*{LA6)hZWKY|EL@eWUGhMJs`fO62m zWMK*}ctsIvgrf6x`Bxk@-=ty0NK@-Us_Z7MPJR1elU7xCF41tt z>S4$iu*mWpEiwORyH?$8VA;R|LczUnodVbuSQTe@n)+mog%40m+M+wf$PXV~&Qh%b z@OTxDP8u4#=~w`OI2H&6M)V)u#1FIK3hK{td4iJKDV;9olt_Md4cfUcnU94eNQu3b= zZp1ZhWzq}4{%OTQ{`04;m{w%TBdWN2#R;KcPT%AkSpO>-4hQ$Dy4%3A)f(u60zl;q zSS-6;b0pKGf?=4$1Qx{>II`rGr#+$?s-8?=NhdY;u&S+$=e>kwzDYf~@C!lNr+g@( zRms)PmUpx&*rHY5fkiez?|qxl29_OR(Gczitdq?h*#V1YWZ4bhOE75;W|WE195+KB zBCu!ya#?1C{<)Z@YO%Qt>Qag{J{>X=dEY?+fPXfwsnO^AAtl4I6qNZ3S38@@rY?(C zC!kDd1t{t$fJJ)U_r6VN1Iw;q@uioAU4ZqIhQ_RbMGM@++ij28tqTD6h5LnWIs+lT z8*L9c=Fosei)U_JNb^2+P-#~UH9V9aSb(CIlNye5^4$Oe{A-I5Ej}qJ*@sq)2<3uH zH(&K^(&|=*%>IOS{RNFSmtfQ;P-oA!UmSzINFI&n@EEk0E^-7qUMhG2*tuS zRF3Y#bQKX+zR=Rtb5Ujw2Uw(W6!m7aHHWmWtHg{{QSOg2rsPbN+$TGnEv*F;r zK?vi7HBT&Sam;)cAL&%ti^YByni?%&(JVGPOJH433#?07sx_DlQgx!g0MhqAyqHhm z%D409`OgT~$v}|g%Cy4hpl2W~zI3;%kx0h)5JJ^8SMo}$G{7Q#4WZxuF?|us29`Zb zctBtQhO0rSs|bn=#{r6=Iml7`#c%JE&QqHFNr9qC44DIfbwkJ#ele5`AqUGE-@g2r zn*l73k5Hhq>%$@`ZB92o1Hm~O46AyePs*s|9@hvr@}3d;>r^!y%xD`Tpjn5&LH_Ku z+6rVTv!jOAn`I~ROsh1&`du;{(eu%WWdq9w7DZJd^yK0tRw%h3(4tuK_!7kzm7d}l ziV@tWuRZyukld*g9+n9}KK1zV7jFE7D3m?DSz7!Mp^74b0r1Sj>yNIV;OSfg3uOf? z#ota!?uq#qJV+0>!KH+5y5_&BAsCKmuhV6%fP_|}3{PCV*-t=ahE`RzH-5&Ysj}xC zSfmk4Rr8?NU<1nr7R?t|qNWanzAZ%PCj6oeA@q>0LcOQmEKl8iOG+l!IfwiVp;CCS z38BhUqC@=R0mAmOzY)C>8G*lAL5>d`6n(V7lE%%FdnOqn$sToWdN}`s&x*G%sYllf z1h6-(7@mXT7p1qVNsYaE0HNkrw{h7D&ZP44PY77w1r0TtP9@m}maRCN17I=k^9^r( z2%*}u2$i4eB0`nVPNQD*4WtYD5q@R>p%RhIE?&Kk8Zl??$h6}XDbr)?Mh`fazlAKz zcu6xU>t_P2huNisW&^pZ$KOawde`=-8jdd3`N5F@D-wF`2YbP4269DZPuk2HdlN#a zvh8|_AVVQlQvAe#l`xF-t?o9kY)$tZ082dk68XAre|z?)73gI(=1B8xcNuC%_htA9 z|EKM7RR_8*!<(q7tpPPvcc6X|KE`e@`}|>i6>WEGzosaVDX?lY0T#T3 zTCxBZ5S+_NT{VJzUL~z7wH(m3_;~&UEYePqFpR{+PHz$b3@gD6xf2)e)m9>eI>`SR zeARbKi#f>AR%rD}0xO){9auK7?5#O+EkgA&yECwQvq}lSsKm`q5b|<8YC=7zworxy zSf%iMuMa(eunnQ7GQ5j=TRPCwGK5-1Sc4iXPP_S26$stsW-ejxZ+HkHxnd51#mt=V zKv~=+B=`NIhN?!=mxmP3Rz)sHn8kYcb2>Gs*^NM?O2p5f17R5y@Yc*;ce8@jA~@JQ!Yb27+6n{ z@8$h(YMUC-C7EqSJ|F6bWdo>lhQbVc1fA})4L)>RrcP9#j^3*JuM1^53t%;qPStej z>h-FdPKwT^gWOOfp|v!59&kzHE4rZu^F5WbCCnTReNa6ku%a-m*pkOJ6(kSuZW=(S zyXw}BlRT6uE42Dlf%U_8VbzYX_5_x_`FVz--1N>N)0rwX@UocC5LiIyLg<;yI^Yuw zk%|+%gT=t=#yGi+&!%04d{G4k*4r{z)`VV(Ts=bd+zEJ z#yMo3&MI_K(*ld|sxPS;T0H+_&#CpTxN$VOtWY3zW-VCJCD(6N^&s@Nsk;%Oj*9wk zOB@{Jfg|0N;L)dq5yJ@DMRyxmdwdcMO*6Zx<5dt~i5UWm=KB%)8nP_>7W3y3bWp5( z5j71wgLhG5^{cL$nESSJHtZttKKyXnNLvG$3%1_SQ(Kj$Ga>OUaNE&R@G#MVc3U=G~0S z+N&2&xZ#YzM;OT(C)+96IeE|82MDO%;W@E?plOy6JT9KzTQHSrp%PE1*dH@Xiln2qjxbgu)K zUzrT3VJ)`s!hbZpBBH4C2`w-tLvE(<^3?}bO^9eOkbgHkcyy^)gdC4ym4nbKkBy^t zr@IZTy^8K~X>a*unLRMD2s|E{z+z@f5UM2F3k-L<5jCCVxhKf7m)AuShTX+fldmCi zrt&dJZmMiIcbs9ej_(v7>1+;kP_N%JS z8?dOqqlTiMV6XnRuTRV{R4#$Va3zfc*))#2B(g6@4~!@~e`|o^7gyH<8m?b04;}%p zXofXa7i4KFXsG(H5t(IfHj&kNtMrrr<^01cN5jur;``mVP}sn-8%G&Stsw`%qG*wJ z%+RJTRxy{#t%M?uU{QuAzWPig)6dKd%erZDLHJXV2aEuzVji+Q`!hiRkpAj3G8Rq9 zl5wZIulWMUq*ZHZ$!;`fH4s*f$l{K-34y{(ug6xRx^Beh^2{s1Ff18kmLV*@aIL=c ze+R>AIMO|UuvN9)x$-#;_qSpVf2u$f#jmcpeV z^45(yCglWJfhKfg0e*s_sTrCEEG6=cgScf8Vfh-)yO|uTHCTNOdTdovKBAQ(NH2y% zF)gemlEWgOFJ1u}v&un>gjEGUyL7v)3Sk@gwWi__>)$$SZd@#eQ06EHYkl^|4p_v# zPljxXD%Yb+Ce)gHSwqy7W$Mmzn;V1uGN`tC95*SvD0z z^AD@sYr5~RZ`1~s4J-jSjy9UWI$Fy=ut-iAC!x#Axa3maqm>|eUJozD6Pm6C1G8(A z0uCEhG~;kkq8mbZrtspuTMsG`vF;v{1Pz_MLB2!dW~UHubWS&6^S?KHQYwUQ)BLI{Kq;6HfI zzBhrSkOEdH;Qcz{Irr>)0~zw^KKtym591VAR$#D&Uj&X%xrOEVc`zySAj|Q*usnbz z0}ESNUPenVV_7?}4Cl1F?F>hnJSQ*$RoJ-iuLnL<>4=3+K~Lr_P||rBUNShm30 z14c4OD*yb;Pd2SmDbP33W3EKH!$s-nzbNMUbF>`%;_~fV?Ig{qz2p9U;#sxd>3q=h z?8&|B8(t5tkW(rIY=Tq@)q7iZ9@}@O=q!>7D$NFi85pZHl@&O&=H}ebO4nK(Usi%JRcwHs~Zn`+ir=l>geohyWRi&!<)|! z7ASrnt|+BS;;G0fjfDVqge4KS+0_!Dt4QsqoC+{o6LK){E{VxoP^Om%?z{ zIg%9C_vm?Z%W?*mxbr!sdLP62VbtvidQCo-^+TLv1Xkdk49hcihDTtH3Jfba9ZnHh zQ{3VOGA=b74xSK>3yHuIq&_yBb_dTVs0c2GlWfV8#oJgJSPLvVSFg*ZsaJa^ur5hv zV3{kH{FG2k^ETGkppp1o$WqHT8 zyuDF{K-1C4H+tshilA^{1Ges?HVEuq=gp-F7GQubXtOO!%Ys6-(wAmuez;J{Y z++JIQ%_9QK$&J~3K<*oFvu*rDMDmp{n4hfUos8}ZOQ!zP#C zOXi!k>F?gv zXPy!o>ONfRz%rlRbGWDhM49VNShEggEI!hBxNQF?2ey5bt;o@f?6Q!$P)d;;5@#4j+*Pnk?KxnmrqUMvCE=ozHzzlWFMAzr6dUwmGpKLEXUt3ye1W{ON zPa>7M@J!j>?IqcNR->_AtH3GaZ+(|IMB?sG9(0N)sxDh#p@Y@l)t-{(jvm%<+>J|v z(K@5qG!k_*fRD2egV6>Mvl3u&z9#T+6XdVcVM8B`VT1J}BMl7zQJ(hz471|tJ57`7ACH4QhA0YP-Wj0SU92#B_(AQv3zHUk8C8CVM^WzHHC0L+6}RN9W^ z>ho)Il!^>_Scdu~4=gCvXg98TXY1}g<&A{~5M?l#jF41);gQDb+VUM+x8<*0cQ-fJ zg6I(8p;f4+q$I+8d@6k(PV)x^s1KTT8(Lw~rcvx%oItdQy?6sSB-%iI3R@#9n`!bv^tz4r%0_J2cZ%Bn(wuk$tKdpFQV~?W z!Y?(h6khJ{Xz#(=r_0pC`uSgY#^R4cYA!p^yCWVO_*r2926+)!d>DoZnFI#`mH}W? zAXdbIa@ruuOTZe5uw=|{9Rk0!2pB|Qacqd#qikFp07i!6ERzVj+pU8z@RHm+QWdnD zO?H8igYFCcp{>?rmqOKMjruii%~7Z|c~H0XJ*_iTi{lyl6MR^HIt1qkB)D zsWh7nDe$Nxj+e<;38^wSoGmOWC9}uFhihue%TJc=%lqu}V>=HV&o9}sZR@88cJ0`C z^vh%0_kX^7_h)%|d-v_zQ+BevrsnYZGqt5fg=g^q_;iV{QkQz!Tv%IOvuFG9{LO3B zBBu~kDio6Hcl=Vfd~mv}i-fUWVBmcj0!z%n>PRotAg}@v0Z-V$O#y3yz{la_5K7&C z7wNp@28qW6VZ1XPSfdOAYuGLViywlCfX6cw7<6*M*r*N6L7tI-T*#w9rvt-UL*$Z0-;Iyky{+kwx^YN{Jc zi!0LMQc2KaGS!ptYZJVhn#_i}dK0R?&S*$|ilL&YmP|uW?%jT1+m?^k&>9h?Nlu|p z^;&+Z#R^{c#VtD2vI7=Q2uW$=zDH@XBX(>&XyvUQ7-#qah+9QqS-lXma?VhcKxu;a zKm)GqHMj=A!!c>V;^JU)aMl0}@PZctR?-i%R;%5|@$RVA>KFzemjo6U9cgfLI5Fg9 zU@gKL;o7sXL$k_~T@1CWb5t_0rX>?(rmaNt_ zm@{yw(qJ&w)z{b68Ho%;X0y4nvZ<*XGRkbKC@igQJYT+N_pVR3ZpnXlqb@fY=(nVE z>UI87iwW=dJ4xM!4b*Z27W4DVf3Rzi0}zuHA%o?36i{#F&6}Q-V5F_yTb{VOV7Q>l!dZi4k4CQ4kSx5?k3ccueN%Yd|^|*q! z?bA5(I~ zQWR|O?qfT4eRANy)@@r#Hvc7CMV@*$S9*;cEj6`-sH7I?mm0INUJzp4Y9loVspSSN zTp>)4xFfNm!+`R?bYhAEL>y)ey@!Cv5VwY4z{&XlhIl>>BNKvn4Z`*3gj;$7#DqlRXr)8oBR27s9DEQ!2G&AHSEfs2YDCN2j*Kf)v*$CUnnqo;we*WgooBpzP z{rc>;|Ge?N)np?O8fmq-LWuWIJwmUbiIR+>sYUsvZqX^O^xnDOg-88R%L-UxS((nZ zr!Uh9%h$ve4d$cqEw4fenwLu~EDHqHowV{FVJENrH`46LJ2 zD;~qHw(K&%UX7ZXZ?%TQT58z>>+oEFr8y22nW{BVRASM5X&G{z7!>29mIJWxu;;EWOmY8NaK54hheLQ(Udg~( zY~ggL2sS67LMzEMuA2~xo~&e|qG@do?)uOwHfnQ~)2lUPWzmWZz}gK}uw9e&yT8YT zl;ZygKIbJeDQU zVw^wyyAOHwFQ@S8$Pp`9$-r7Bz*6RJHlJOeqnu=erW~4fXmsL-TyYmGaprD(ciXPK zvf3lXr3a*7R~qoJ+-`K-LFuA+KKk{CkkY$fxEkA7H68TcA4S6RXs{ zR}IGPt8v?hMfL8st=r2<4NFL>1mn|GDz8>=KekRcbA1_IRuK>$WNT6oBQn|nwsoJtNU7sFE)u+4jQuW!snn|6hZGbw1q3+#W)vRvl=Dgz;)yfAJt`%;$ z*L%OSy{+rJL)w<54XmGj{^41t$SYxym?Hyg2>@#slxtKe7jo8B1C*BS-c3rGOpywT zkJOYG!eNUly;_51FTj3{I%6G(syaA(m^>_@z2!6L&LHu`te`SIu@H(3^U8% zLIX>l5}t&zv315l%%F}V>(Yrxo0 z3BOZK=`z%%%2;2Ou7+PJZ7{88GLUEQrxnz!n*s6-4VZ_u@_~iKq6*Hn_qX5g=)HV` zlyhFP!1|wm-|0tQ{ous;;9}{w@~i}oUwB~2z^aC0=^sU`Y_qLO1 zVc$hX^OB6cE3-EK^24*P&d#o9|M%y`oDT}20Uys~7_-NHGO!l@7xsv_NSG>GttEs? zlm*bKB&l=Wt%D*w>uRoh38i#^&3WX+DP#Jqj+F46L1(IeL*<#ZXZL5jGw8D~$;Oxr z+IswW{%Xx#DTQOMCqJ)zV4*gAaOz<%nHJvay>xBqIayeGTKnBo3}3ai|NEy!jF~fh z2qrRZy^#*25M*F2^dg}NKAIL!rd3nBL3TdetY6z^U?{v<9F6_^~tmQogELJ{qS-Q z`RyDL&)_COh9JkvGvo`oBz0KQva-aAwQ^2|#Q|x9AZ{d-YKn5AF^b{5;NkFoa#3KC zW;~ja*RaaKT5wTHT{+ZfRC6KQ4uDT^K`k9v)NH_#GUaI^rTABDq4}~AR%>W_qkx42 z8=7^0@9J;wXz%a8_Z-hsTpGA)Ii$V*xc5POXXmpg|Nd$A@RcA8#=M~j=kSEwJi|x5 zKAtDl7GiPi#C&egU?3J@@x=Kdh6|E`F+mUKZ46Fr@U23)h?9iy@@WWHJNe3$pSgK@A_Z2Lx*3j@q0SiTDUZ)@T zc9An+d%q|1LaK#Y0=PQZeBw%LKbfoc_5bkWPjg5k5WG_TEAcchhQ%`|hDLxWByb)) zn`^=gUe3Ycxf4EPqNpyivfyV9^H~{{G}yXGc4k z7hc!>(a0h%f9T-phi$DLxEk>2-~YqUjw^;616$l30v9s~69OBoGuhn+@Yn-&5Vd-s zd)OO~g3XS#N27ubVv)EFhOF)?81MyL1a3j|h{ruvQ^ZP4yu@VG%3EXL;SgBjzXB7qTCJl< zv#OD()f$4BH4ZMfm3)As0;gBml9BzOKLL)EF;B3%Ks1p*;$#L)zf-Sq*6m;@rIAQDp zzu**sHAH|V_(J}17r7y5GDHM!h?tGRxYHr85-uRFG`a(as{o2V)#y}nxPjK5mmI9= z?}SpVR;IaESsVZP%gg1df3EpchO{h|O7$iJ3sF(9;p&s#t^~3a1-h1&MR%_7$p3Sf z`djZ4T=n-{I?;SE>u7BQYcoZZ0-Zlf&(enA9` zlVjX0HzWc}co_zdVfZCC24P09`XG#lbp<6ujKvGwOFPF%0Wm*$PLnw*p1zs_EIj&I zPHR{oT;*sKBCd+IuOsf&oPH`y8a=F|s2SghlFfQLg;#I8zZTf#s{i`OKeJ{a7Oh{s zs=1)$`n@N;Z5>3dt>2#8fYVZXj=(~v zC>(J_!lN&pgfT7{lUrjYqGyQlE9S~>-5dd!K#O?8r6(7 z-FGJQ-$lLu)i2+$&Sfk1zrW6&{-#h0x*U#d)Y5Mzu#g+ghc4Xf>LJK#@9VvD<=j^V zhZdY!R0~c8wHN;WxWA{1yzqT8B|X<7MbYL8ET`ZI!^kiY&^Wn406a&Y#VMTu3=sk> zzr>*tb7h2QxFIr74>mXF1_%lm+u{Vt*hq%S!Kv6_Hb&o21=d%^?wP@8pqWELg*RtLYhd8wnfzq1`PEBdY^gZ}dX7Q@)uwM4=Q0-i%`c~B0M?c!(;JmInjvZP^b4GuwYRso_4Z%Bahmv9%`Jp1)a!Sx zbj=0&Yu`QmzPGiDyxjf%-tS+W)=IdV7qIXEF2>Dp0wZp?;hiXsbvtn14J-B;o*PY^ zOUUtd2PY&C>%w6)Cf5kBP#EqS;ChPWe%(# zKU7ol=I7taFL?N*xBnI)NoQMc>-P_@Uij)z!9gvxp@sT=)S?hpislarbkEPdc-+;~ z(}lF^>uJ4w<3vkxX>#7cLNUK}h2chFB*Z6?^xJhr8Q$%4BbhS4iVUpRCY9y@K&?)r zo@CFQYZVl!b<|vdrCI^N`Wxb023F<_&V$#kK7Me!4VguXIrQ{By?6EWDIJ*}BDD}( zuf{5z1{Qq${QAW!Pg)a1?Ca@y^x`_1d6L)7d{q7Klo0eqggLX1fX1!*`AiB`nqzQsavd;3wT6`rtV)v%th8Lt0_BN|-#+Q-ZR=`B zXg%n;-QWK7%Eg=4pMRw&Alz!!=@jTTp{N-|E|XD(LPr8t1=_4r*RS5Y+}?k?wX3te z{Z7Y&*4q!B-njnN!2+#BtAzv>^Xd?ifwizwYTiAG2QM6cTccOaJ*nXnIFiA`lBzYF zw5V1%uu8xn11m+8$SlPd-@Ulp(c9a1i+EahI=lLMZa?dL^7P7$tKXe?zA8(hFF+k^ z))IK7NvCZloFYTI4O!2x-@N$n@sqY*!oE)On2xTt+pXVUx_Tn(VA8kB46NlV8CY|Y zI#;s^k##mNTccCYHCCSwRoOYpncfNfEEg8$TU3gb3@nP)=Rx%wn>d=8SJ8kQGkXpKr6bVFx^VNxw@=8du=T;M4iQ_Ow;uGh zwf5X5=<2(5=le&O)Ai{4C!G)ad&y{9AEFBH=t3Xs$+tIdUdTFBpjD*PYVm<32*PA@ zMgz`@D~mF)771BKfW~cFjZ!(sAXf2e9X<0qq10)WiWLql^syAQLI&2%c~j!@-l-E; zZ(MrR)&J~vYhTy>4ibq%wRhaV)kWZyCPJwPU5GX`K)4Z~tiS#8i@#q#wV|M(Io-8d zd|)y7#bIZXxN^@#EFl_@a<^n)EuNQEy)`#SJr@^iT`BC;s51adrJ`3nu<)m(WME~4 z7MUJu4;B=(oVs@I;)_d9+uQnkdI^Nu9^4`&7TOVBslt4S4s^m=dwZX?_IEzI^a9ry z50NFt|E-)(t3?Kuz~h6xO#zM(``+#`Y^8}|cpp?Cv1DK^8nVio0P_B14@-e8^ zQPhl6!kpaP6+b0Z(7Cx5ojfI+g<2aFT8yPDPJMCV+|?T|9)5fIdxEak)}Eecy$L-d z>gnleZSC*7_2lWd4_{oodE$%b9~TrHB97H$?&-nHc-mPw2lcQYOz*1U1 zFWskBP%^M)r!_tDN@*H$r6c0tFqqu&p-ZO>VJwPP3tAQOU~5! z4FYTG99ikpp(DG$-{@)$^T(E$Wks?V4kEjz>CmBr2b(2OrENr99AGiLBO3Pw5mAw- zBN+EN$b|@Qk9J3cK`;0tZmb3Gi2J>L^;cXy&@k@qP@Lk6yA&U%p{Y{WRl5=I71r)&X(ot{jGb$JUC)0Q7%>hqL*OraFXDj}K0_6p~6czf+IW4z7PCzRGfE1Xue-sy1G4O~r!; z?iZh`Ac!`;BY17JLxtEeJvpS=yJ#L`66(7sa?G4ubiK#QsiPk{;PaDnxznjJUCn8} zHsEp0yig60P=fEDkB2dx`^~6$aljGjVk?T-*X3ey&1Uw8s~O0z#M z*)UQpjm4%<^v%edkZ*ej4Tq8lSCQ?{TWDP$6NgF$%b9 zbal(a0?U2hhKr5u3m?Ya+{rZMe(VMotYOlrqUp>l$Ow|%JfcB56wEn)U4m&sE{=oL$E-v$dNrl;1G$Ml#c6jpX9S_wumB0T{C6L3Fc8RZ4 z(gUqvncw#4HHFGeoXt^4iTF2uyUaf*f%iH3x}Q(-*4%Y#mf|;>Y)h5VEkPp4t;4p> z+whF7psv))+mAmH4>RkC5uau4$40KUQ#*EiRO7(QkiHTeqoZ8&0KKwx-5x5-VICa zT1&FPOmzF|Sb+g(E`3oy zZ<qE7(&g!*&kflk)O+?BrMVDAL#dxrpR6fbg!5hfPejAt#G6ue`y4#hnIXV+- z9xTy&O79Y|j!;IwZ^ML}*u)PRWPl*`S0=5foe#;!Wz14|BLKV*fL5)+z1t_Ika#HF zoCWU3nUFO1yx;qqV&9jCN@COUKY8dDYOrbha=5g(5*^)+uoZsB|3*eK{rWZN!@C>c zNyBJuZ&}vwIc4&|SuKAYF%e;FP3D3VOMaD`Z%rt22^uME3W<{GBtbG9wzY7hy=F+A zm@+e8NFz0Z2k${-28E{lqc!m^hv17vD#cHrHD%Rn_7PGe*BFny{U6#WuIk#Z}A!{MM+qrYW zmUtn1t@6Duvs=Ab9MCgfWZ2$)e6*z* z=2sb)kY_lML)h%q7%N+z)l)*Tf|vbhkt;t1N0~YSvuvJwJ#QBwJKJ1DB+55)!e!_PR6At&J*l?P>PVz3o($ z`Jf`n>?e4@aTxy7=4%dld!7=yWtYO_HnE@7yqQ!IWPz+Be(0nIP0y!hBOlPsDmgxW zgtxmrt*l9@mAr>qrA<5DP|nxKrHq%8Vh9RXW|}ieB3rlG+NgHyI>DR z4*RGY?m~*;`)orO2I@OT#E*M_bMqtWdY>%=xwM1)0N;hSH zHN&|bkzKQ@)6A|_-G(s~wtt1V85Z^!HbuH-V1W;}sVqK|FiiBheixIFpoql~XV#^B zk_|3xN|n|l0KOD-cLH5kV-UCv-5ADAr?A)TI!vvE*Rl8p8VZ@ta4ugp8Pj5Q{({!= zOiWDJq%_BtY}ux0me!~I32Nn7ec+?%JhhX05L0o_@t_ncU~eLKTUnd#;jcF-T2Hj< zMAU&Ig7?|e6w#++^@o*jbwc*Cz4ksA`Hfab&%U&bn)vi*x?NV)*u;2sKlOt@NchKi zp}*vS;B_>DYpE5HfE@70==YE}`P`oyBP8x=Z;p;Ag-)!^W8~)cS$Yw`=|j{0@X&BS zjP}Lq`-Z#9k?O)dPV6Q`K(C!qFfwqkcJSh7>LPoVsiUSjGB9{P8x9kad*kxCc*~u% z%eOgG7xoc3HUy6S*>K=9Q=R?K`3cWGI1-ShP%i>tj+u+d=(1|$Pv|5otS&56VDNRy z6)}dU+`}?M9SjmLB?ulm_uJGvdDOA9`fmaiEP;^sSHJjS&#}5LJPeQs4AAhpxZYb| zCh~s?qOgR$Y;t-+rmQXmK<}70423b~k>m|DPwlxY-qs{rF#EI<%^DW%Av{hgg!X6K0k{8C|?nz@`kjPqxXSZ&k8YY_# zq7LC-5}}UwAW(iTOeuian@8yu0z*vBpuzLXu!7?K`gi_yBhS)Y9FQiCM~@(z>n~=1 zF+C2#P0wgcD_x`iu(re{h6}#bK&&Rf!qrJD4~LaoLK=6u9PQXkxb8`inkswku-+tM zyW!vH^DA@Y^L}M1b7I}{NhxCb>^vG63Ag?)$Jk%(f!{A@81%dXU`HBt#H6b;a+$Id zw6LFCjYe>-+8ZZ-E{B#P>RiP++x#Ud%?RS^(E8?ajGb#3+vw}V?EIu;^T7|;6_#S| zKMf7LqB6?4IJvlRs3gDIFE#9#W~7ftIvjNQ#L8J*i0v#pJ-!YkXQzThN-%UG=?sYe z11SJmEubj?2sQO^a(+-;osA&474kcnFA;9Ixu<(?sfbpES7FS+dPSSk&(GwH7}eEV z%tl+Z_3dhpKZew+EPBiTlK>6q$+cDY;O2?Cv-P;!>)^=St+_ILAxGrYu1H8`Iy3Hp z`6XyK^I2|xF8bJb~q|Rjg3o%ipwt6bZ&okws-;btnU0a7^M74leJ#g>%EQyQz@}Zra+x z8RN~8ly^!z#yE3(4cct?pRUb2jqC~(;x#&-7RjhSln*P^NdSGh6w8M%Dh}VIi#vJM zx{s%+I&_?PvhPiq37_v`o>>IUB)R&<*Bv~b-9Ee=6hsR`hfzpi!Kbkm|tSaF(Y~3!ULf%E6 zLWarWNg_$tmJyp!RhG8Jn<>-k{8nZY4-AyFtRYb-=H{EoVJ=x6eVH^5^4t;q|HT=W=B-(s1;Sq&w4VaoHWl>d}+MvdT3XF z$J6T5+M>wqM`;;CUsBWhjlEMkcgg=ptWcbY z!(qp3>#BU!HnJ=fY+gq5@$HDGmp+X&Ktmk7-NP)<=IUjji+1?o^)zs-&(k`gzRc~n+TPWT zW1Rq1{?y2$Hp8H+P@JT%a!2&aVcEDgvz153))@Rce+!VB77yIEm!jJaeW)ohy$= zHPbi3Z46=Op^_Z!R>5{ESO(G%0{g-!o|pZKCDD77$o}F|zBG_6H&GJlQZuPN47!k; z>2M>;H?e7{)nu9E@jOd1JU`Rai(t;^C}phFb5I|#QD62pWmm-@IF2Ts9_fO#@i`HO zzY*tV>(_`4wG`%^=4|c`lxuUr)0(#ZUL|IVrae0zG7a^q zM_QVw!+w-!?&4Pv?>X!tZ~)_?=;*^8C)TyUT)zSr%yA7cn4*F4fCaB1{?ME$eD&h` zWeBR4W%Qn^f|=puQA3I1t_#pg%WB9h9iPE#>T42f70yar70X)Ye#lr7r3wFAR`v-B zt?)|R0oBbhjzo0)p|zcCMYg{6pGf_dO=Y!YeM=AWut=!o0?`%kvT$Sjk+XYZF-do= zIh3_zlp6PRKeX0MP(Xe)=Ay~M#!cTdjF8g2#Iu9oLT=!&2*@^&r81XphnItw8rf_2 znDTX?FJGbyQ}Xqf0l4~{rKzp{`8PkXanzS7yi*yn}xre zUaZoFrhVzL{tlJx>`3YQBS4dB?C-vj^L}(&_B=6)a-4N%95rQOGjm{n1Iy7+yF5|D zY-M|&vtRC8L#}qL=|4-sj>zxNVrD$^+2w|3Ke|NSN;G05B8ec6l9;|e*RO1!V(1Rv zgA$dInt8TkxzkhP)}krJK%COQU*L^lXvJ{rPw2O|-!z5KkDmtsUn%_wx-l_Aet~W< z5G7JRiJ3%-!J3T@A~9O#_wr6;Au)sBtXC{dWB|*?Ty0Z*^I}}xJj#f zf*Mqo3eVYke_Wj|1J|K9ZoEd?c%&?Foq~P>fJ5;P0n{ucmk?6^$2J!|L(Gs6f2b>d zID);KYz?(`!X?*Nzke$Poz#w!DP(++I$mlD_jvAk{N>?O(4|S2)6-hdOO9fse9+1* zT9^_x0Cq*(zdl6^$>cr$;1*6AFj>OWZ>N$r&Kmx zt~X{XxA!mBLNbkU{a?11fx5eFrmLOblF^D|nFvh9>yJ_9JTEGEw#+U|lX!YAm0HmF zE<4|EhRzBT5Sxy<;-tz??zZfYK%aYtsu&Np7zz9_uhZ@laWJ?(cN!M3Pts_Xu8 z>JDc-V*X#{0d_P)YM(XBRqCZIU|`C?8mYN zLa$Mm0LmN*Pa&J0l|>4x8H-+d;|Z=)KR#LRT@3nZm-4-5dHpbqYlmm}@bN?V`C8vU ztpO$qP&Lan@&2_g;<}$8?`#hf6_;{)>AH7%b)eEQawfl4odz@K)3>+PI3fP?McNtB zJ%Adp^i*f#YHk1dIF`rnl)G_WHj~CCG`BI6oux2%i(WDn09v1^?wn%{6@f%LlefGOU>mLGM+bI0YqRs{S(;JP(Is9I&{ZD zE$}c&TEO$SjbSa!d=DqtBdN5P8Ze#Mm`P%JNs>;@l)Zsp+oXNvQD(ENUmXi+s|1V-#w!30ww?7f z9h@rBNGq;URk88+N!zPf9}{RuIg#Rr&K2dS67HzB6!p&JaMPVRYFHDp4gHu|e^+XN{7a;i}m4Qy*1 z@kr22h$BB=3k$GUs;H;rGABN#dMfbgw=uc0g2LU*nz>NFgkRf=f+5Cd(vcsZ(K0ao zQscvBRP}9jx0W=N+tA!QnY{SlDkaFR@!Q~5J{hG;%^>D?N&hf7EqxS=Y9-Wp+qSAO z59K3ZzpYJ*=PM2PI9iJ!ggYjYpY}yfkgnL={jkpAFwFaUPYAUiH%Qp^@9?`302}1m zmCUUgC%}W1wnax3<|%JRCiOxK-`I3AGOdRH`C_K|3TXQUalJ9Mr<7n3AeLuxn5Mv9 zT*P`x*CM=+*SNJ0v<`P;!RlaIL#&G5rjH{hrNMV>9EEW7x54h;5?+_JYmcRc^koT3 zh1Z`I_KxPipR`3n*Y$7RO*L7vb8l#p?y*b8-I=dLFn%*|``-lrjFEHZ6r(G{TIIAu z8+lhRO|I=@x`?c-wJyBjsur_jAKGP?b&%KlA$qaU_7xn7hRH8p-b*@cCt;6dFU5P^9p5-Qf%QD+LTRt=Lp|Y+NA57 z;kXm+tX4+%VuMj%+#mM4%hk+uDROpx`DW2^HO*t{+q>Tg45QkKy2|=o^~C1A-_AIt z!?_AJn_LOq`u%=x>pwY1I_R@rflX2W#$57P{pM$NgFqKEtTr(!Rbl5{hd*s(bFo}@ zM8V9{VF*$6Zi|euL_jX#&< z(`BqLnmwu+G(L_LY`g+|Ww~7Jp7{OItIm?!$9_+Fi#IzFXg|CeXta7jiLn>aGW|M9 zv`*cV20mb>yR3nY9nj$SL{fPwA1)?RHvgu~!kk<0!&@>_<2S9OrizX6ketYg4$!OH zP0EMZYNCLRwfT$_X357r!n*uJRoTA+Fl|f+v9gW(`6p90+|{8=DjYArKu5R~EzOEt zo~0yRg3(M=gncO$RDol}Gr7CZNle`E)d8Nkw!i6BTgfsHej8R$Jfg0rem(1;8o5=l zh8hVeIi`qP{v|C~j045A$t6%<#^1nNdeLH$nDd+BTsdT9_Mr1QneNZmPtrGDfsD@A z*me0^@BdkA0nEe*vGm4dspK$gjUSV;aKw=up7UaqMR;AklRuk#3hlBLWhc{i0L3ad zb4?mG9CJRgwSUlcI08Y2GeMlFZGX;hD`f=wfrqnip%|5@t*Z}1YUJ36-kH&gL$9qi zPhG(IA|3QvL4B`Fhm2WVOqge=QjelN{`q)5|0`)N9${y-)I*YL_X+r~)tDMR|8GMA_AEM>Lg2+jHr!bsb!{&nm5k%uin^Pi<$5eZ5}1o#Y(I=;YY%H{`Cp5 z;9AeYIF|4+CAILjp#zqVu0?3en*%suFp5gJ@Ryr1bB51@>6-C;gt>vAN`#s#gzD3Y=;z!`o2f;u@B}Z3nGEM;b1+FA zaPs@lJP&}h2dFBl;1$^o)VK|DUG<^osSiOn$4;KQ)7}4RKYFkcUpA;@WtmDk9);dF zX7H&hPjRG6c*?L@c(1u5^y;0Kaegh2(SDYLXTe;B-i2loH+Ri~)clqZqXFruT>IGgxPM?|mhFU4BE??KQ3>RuZp@4!`_})-nz+2tA zYNdXh^j{EKpj+e<1N`BdknRa{&%^!7CR^L?Gc2U@zge+c285k9+CKCyW|njqp#uNL z@7g7l)ixxnEM|_Ejix&8ts2rvLPc-X)yaUOXaH^E|%r zk2#SDQRF-7#OU{dZEh0QQGRtt_)<{-L1WtE;icEk9ym%WZ8qkbpCj16QhAceic5C9 zj=(Cd3*~;zg=PEbIbU@=@N{6I_20o~Rd=hwZw+T^8${s>- zAI#C^Hfr3it6SF$pDyy$!(~AMv;PMD>K`<3?Q7$`@WX@aB2^;EH)p>L@Hm@`%#kDT zi5U>mT^<$sr@{T$AAv_Q+%O_~z1wetL*T6ciWpIMO7dmqu}lA*8QglId5o+z$*ZW7WjJqGh zGlHFFCa1+d$zErgi3?cus}QxWcX%_NQRuh!*dyp>Tf z{=}7Tn=2?~3k{Yhy0p^Utdb7BMQX_GD{4kb*06O1ROeFs@EjH$K?$47-gXZ!KW3yG z*BzdATT1fwcp}%NmwM&)_HE{VEJV!gU|5975UiD`Sea@I5a)Al|H^KtUIEZ}7d~1e z$Pno||J3Dd+PSHaWG3alcD}G)7!on_A?RMUi2xhyjdT0>)iw>D~PCju?vKy?jho?5?L=uRSt&_UHO408!m|QW~vCdlIO8yRxND= zFR%8fhQdR2S)SlrxH6+b!dvaA*h{8Rf6>Wr=4L5=Uj5nDV93VMU9DMDqNf_7C&UHn>1YMZ z3~PwGj0Yw+UE#FQB7z09GcL)~7f! z`i;ykgKC&sw822T53P5j%>?}(3xWV4TfyMtM5H>j*&alKiZmjqVh|+js-iyo)&uXt z4n@gYbJk?yj+gpO77S{xZGd$P1|BaELfPuCVs|xC`3czq>c@SKoRRl;5UfCZ%AVxo zVxwmL({$2La=LNrmRiR;oomZiKci`?Yt)q%JUBY3wF!hebi`?l2F)t`ZH7KQ1^Rs0 z$kyGas(eZ87W*E@5QWG+wYplSEys>hufbarBTt;hPx#tFQ@zjD9p0_dO}~BfN*!SY za}{xY{qz(rPbFJEYT2c+{!U`|dM3L_urYL;ciM4kPeYZhnfH~4xqCjCM((RGS^(lg*k2FId_oBk z7nG)i|BLCv66Hzl*@p?85hsw|UQpwkaCTi3?|<+(gncsBP+8G`jy|CB2}| ze@U+r_=x$J1`8!!BCqC-B}2VZ{ic?G1Z!kWO`b0qqR-bhBmZ?OrpO%d9gqxaPqphw z5HBmvfBi4{;pvvON?R_A-9fA>?>}HAU>#DQ!*MRN{C^ne{CUUrvH9zd3~VC|1QO67 zHiY|_jkV|>Cf{IJbitgM|M@oY|GG2rKR$kX66J=+L+alu*40)!o_;?0@N(r9$j^^=6zN@5 zVVANp`D42njEO*kT0J#i@N(GG<9mJNB=Mx~_|qcV!3P^n02EpimzMA7gRPBE0UT86{ z=Yev0ZsNtFYRo3B22cWUp!dkt5)6O5{9l!S)oQto(GHM|5aq~!R@F#fB{f~j3mfcv zSm2_)ni`McgRmuPkX?v!yjiWgpLzrQTe{%M78~HI<|5e3_F@-9Yg}HMh+UoEcV+^s zdga)V=Y?teCBG%D)|7`a_OS*oHVG4v{7?;YSLHX} z=R5G@5Y)a*hI&j?mmR8I`4t(6#DD}B1!12Wa9C_|FzpY-4~5_aJG9nVzlhLbKb3&u zogw;I>Bm2dpog7A?;fid4ry_qeYb2drw&gw!b}89W;eD>LhF#|PX}7eg~kn{1li44 ztl(z$?_{2k17As2;DRj23lAM?Y_zmpUhSt%2NUYn@x$TXzAAqyoH1={kf|Dj3$RR& z;+2sOZ4{NC02tn-rPNxw%IV0tD>T``sSwE!lUZI*T`0R8c@l%p2zQw9Vu!#jusWV6 zoJo~P1*wp)cN@f0^e%Cwy0YrXqcgNTiIMD72~S3&ZU;9s?E1>G{Rjzw<$7Z->T`e& z_)hAs>nUnak5`V|`Z=Blsr9F7aP+)l_*JiV&&JCg&m()VeasWq8+*oI;ZqVL)g+yt z$U9u>*2At(EUV+^5xO5uyF0HEruvRj@kv}_<>b<171ecO=%!gU`){nmIYk~>gn38a`KN`&fWkJ&x{_&wW|CZu~kU!g!d7KAAn)oXB}m$b}a+?*6NP#&JD6 z<7W~V7HGtQJ)Q5(r2s-y#eD7c&CSjA&Y*mzO;L_R61+22di6OiZA}4{&nSXJIp=v& zp*Z(ir!2{Fb9kGrCew3-lwgvuJ$lE!Z)12k>?D?b3KET)g_^J)6L4rSy`@B~zyRh> z+ro*LNo6w4nT@9eDHyAS>aZZ^d8f_LHXXkOV7WYi+%Aia#;_We-2JQp`6C(fJLXx$ zR4MAaw1n* zBH7;q>wWzw2m9DEg3g~Ce;-$I03Uj%ztJk*f^zpkfpag;uONJNcoQ3%a4UX{(r|AT z%;>=HQ({OL4nsMB2A5c0wBZ)@n&H{gQA2s8&$4y>+>w)rf%s@<-Os)lL*ypL z2;0)@HPuqYlHD`^V(=h>6q+&wr%nV8bM@66+_<~^@_--+K3rlsZ0$YTQ4LaT@QsCe zHs?>#eNeMoII)Fs9w&5Euke@1F5k-=-A)O@?)6<7|EI3t>*YV!eNQH=x*Wazcm~s& z9T>?hyJtusOP;oRti?jzK)*UqjI-i+1iW(Q{0AK*<*@vERLmW72)8E!NyvyFy?zn9 zb2*YAD1sPx&vKcJ1$PDwk&|Nk{`&1temGd|r~uC^!WoOg_YHXN^S2!C&#(&t0Eb7_ z8!xAB2%cb3DvMw2d!POQ%5Xlv$Swg9N zBkUD`U~>rY29$LLRxLTiO8V2q2t2gOw2}j6sv@wkw9T+VxbGSdhowM?j;O(5^VE<< z#5LxOmDn;0X2&t({+mDTA*IQJp?kl{qc`rConB-!u5L}99wi?e%Rt&}Ts>Dm*StVI zh7LF+29QW#i|2`ud{plZ36Onvk-emoW}k+%ftpsJ&Sn&GFfl_h z&l0jj5F)5V?=55z8d;3!4oN~Hq>VqApoDVA&1&Q5JoeIu{zkzv{jTO;^UM3tvtE? z0lH(v)pA}~vHTbhIn1kNDCtFawi8*pQN6SK=5REG)%$60r12!LFr@jh+L}R!%e!Ph zxSJ5!&CSq5lqI-T8Mqr%nf03^wI#Xm5r4_uwuH#Ny+C}P)VkTP>|Yhw1Dan70}^XKd(he;mO-HX@lri zog>2LQ6P)OF@vJ2Ul}Qe!d$IZbWz7yI+m1#b75!%XuPAQCV%g#(EdyRDl%}aJzP^0 zb-J9b2LYA%5q5d04=ubzKE5hk%UhNnxH0G_)h-z_nfq%~xaomE@_o^|y2r+Jamisg zxRf5;{bRC8NQm(L{UsKNPyo_9IHGJ+qHog2tXnMIVAN4{_{>HL=O${@>NlWz)OO-R z9O#d$qtv219qI?wDfF;fYD`F6k$NY0^#*U8D)RXJ@y$DZuac@Fx=%ahA;>)%wc=}B zLBGL<&G49Eb!r&2p*%P;p<}@{)86Y@Wf2{^H)i!bI;j#@!rn;XOi2mJmyV|nl8b8z z%P&GqbMW4TqpFB4nFLnDh3P>%IGqr^0pG1i!kTU}VNI9@$GM#r;R}m}GC=0v=79h% zQUvt!B5kBvWo8`F8dM84u}*d^6nnA&!RzbmUu$igzn5bhe#k|DUS{ms-QR27Ki=Z9 zc`^VH0y|JYshm9Y{yqrwQM`27y%Kp(t5sBudzgS&cXTOrur>PW^0Jg{F*L0tV(>xS z*FQf&@7W7u<-$eBKYu+pic2^zK9ms@Z~ilrv|y*flJGWCtB))(_7t@`_9FsGtdI6mP=|>JBr<|dIxz?3 zV?A20L47EGW)`Ufx|k=SkN>bw61K~x*fKChTq1E;|1DL?=X!WH)atNa0xW_1t+7-( zVWjcSJgVSPzd#N?+>lwew~A`nY9?>#EYNgn)p=Pkd!G(POkw-cT2M2;L7_j_3t=*sdP0^eyt9CE+~wn8`lgu2Stx zisG3^y8>&Q0FulcW+j%>u@cCiGbae@=8L zM#)~w$Tln>034DXr%MizMnctDes)KaM&}eSK#_8=)T85KB1P-%VRI@jNn)6XBMzkp zaXdBbSegCdu_)Z`5mrY;ci zLVOew31fvffk9$=N^=#*5j)e)a3;kY!`^=JlyC_PL zwbhZonDm;3@0Whnet#8xC7zj)T<9%xkuXbXK|;!xS-8-|?x(QBKC=lDn4A|H>BT5{ zca#OQ08l04MLCVxdV48OK2CZu1-${t+TvCBRTs@#`}}shQ1$gP4rRYrmdFWUsW#wg zYsyqn=yMJBc+=-hL8XBm5;otot`v~3_OdF_i}s>edSoGgS8<5~6vtZFe~``psx+kl zvnvi{0fq4RdVI+Ba7w?b2v%{>5u^dq?NlsP8E-cEzz5+cbxGIBXa3=qp^RhElwS-g zxpYnktI~T4Wb#OHUD5UU`?eXtB;9Xa-;rdOkX;7|!H?tpNV*6*C!ieeYXExO+A4A$ zS(yd=>V~O%+I8%E=N}Hwzo^Edp4q6*`1?vmI7WHu-{;xXtlOifxC||{sm%xtJ+xA z#=FD3*7d0Yv_Hw;ep!wVFRU6o=v;S)8WK^kjYZ}h_VvMzgf50)Kku%dc)*3ba4-7L z(e_c1;=&siQZTo%*_}AzK(lb`Q6Ag~m3Crqx@whlhccL4 zpAh|n=YN-1#$I`oYXammpbCo;B0y^Z^vegn2e;_G(eC={hJppTQQhGirVPUNK-o*| z7AQLo$qM|Ti=SMd@>Pf5k)aD@ikmct$ZjZYcX>6wGyV)fc4 z$RivWCh=Y%^?B>~B)-RW)Npv%+@##%_k(kfSw)HyWY5?IlF(+i`U^5r*z6Rq>1MeR^uwckwm5DP%)RJnP(xN?p`n{&M_DPC&Rh3=J@PXhbUH_*e zto$-ca3iIK(UG}TmQTm){OO4wRp$gWFzB2FK!7gSc z{x$cRXU>^3pHp+^%p~Y)s}SJQ;G&?Q5U8mt>Z71wAW%@yzJSo5dtSR>ouZ(iqv&cH zDnSH9*!V;kSvVM3IT=_u7?{`?S=nDQvQW`5(7a@zp<`rX=N5P^E2F9-uWh2B3kXXo z%4ir$Dru@1n7?FV6O@n>mXa5iR(vg|BCn}0BBKNmkyh0;QqwbjEvrOEO~?I8jEje# zg_8%uFDxkXTI9795jhQ?fQW#QsHV2=YiT(Y6r5*~h=_?fxcL}axvi{i-&nv*OwA39 z0b6@V77mEJr}uwu9xoV}-=(C!&&*I?ppY@KbMZMkyFmB^v~>-amXdbnI5;#o&>t2NnUm{ACcS1EVdwcsb z`b~*mKykDsAHNU_3kN#~S6;Y1pnxC# zeif3UtPo`aMhF8NKMESN@w;RB=(CL4Q=wOAK*p6q{O$hXu}s)50}CS^Bg#v96nZ91 zh^VuGOcd{HFD@Y{3#SAF6A1$o4F|uWs7f9;Hy5pZo3I{I!>r}CL3gshZ*?N9Fw!t5 z$RNvK_hY!l#|X>3&^I4^R7z94`@SKDkl&h1KeX3=s>%$hD@g2WEYEP4O#P47*MTP9 zpCUJwpy~rgM+wU3cc6@LVsiufuSF=ml_=j!QKbIsBJ(@@wR(SZ_w;@IZs`X{6AH=| zotmPYp+D;WY)n0~9J#_|p*_JN^h@r+z2MULh|P3@tWrzKBc0L|bFtMYI%cdSRSax} z=pJiC{0dVVUHCNvN-NE|IwHP@iIhRDv4i6@N|)R;i%k{@6#x|L&bh`OGmVyMpiHMP7Q2MXyG@h*3jaSU8v~K++JV>8E_#jd zvgLn>OD%n#;u{8o*N?lks9LPLD(}6h)ta?fyAP;P1Qn!M0OSXN+39 z^j(d|HGg*QGBr}O799f(iKCWRu@lQuqUb2Zjj3BwRZ%mq-t5%uIz#bh=HTnH%mdqB zE_Lm-!15p!w?e-18n^Myr16d;KK7j_1pwkMM=bYBz*+!TF@7<8Jzit}`w)!+oE?&i z9pA+a|LiXImlxjW&VS#6$9+8>CXSb6>w1ie4;jXl^cINzS-%#CM!hS;X?K$PZ~UHx zyDD#HnmxC?6%6_KOJdU|9n%%`hwR3l$Pl0_L=?^=6PHP{VCNKIwMn6wacdSOQze_O zDndf!E$8Od6)v9VJq2xQGas3g4NL^VRT1bm^v$(pNoisXg=lXdgXwjpRPCaPN_q zm%zxhl&i@u2`i&bNoz4)saNi-RNcaLLAHhL`WK_^n4317pb|_ZVss16)dAK3` zs)5S%&6~tnO6E=3msxIx?To`H*sX!J2uT40Aa~22L_VuL5%g{pj9KeilW&yvYPgzj z)P%MbTY9&_%Nnz%U#ZK%xy%*jM1TW@vGz{8j06Z12qm^4&i$|*L-ul&&gWU4_*nqV%(iAYn;Bpf=9lh^+Lp(KqSvBq7-qzgQ ze8X$T4clz=&rT_s3wT^T}@>OaSKE5{_v{t3HE1gZtx~E zGs+b8*x{{?rLcY5-L;c<)0m$=KifIUT6mUp?3Xw^JUl0D0@?l6az|$4QJB8Kd+8-( zgDQdkB;8G_07WEj(%J6s&2=Qqo6)f5myR2_u0v6zpRHsr1y!dapLz=d6$0;s3NtQ^hQ+0DT0W^Opi^{Up6?K2I*GfvH4zrZ|+VQOz3@P7ju zxUX@YAtt%npKr49&JNmiV#Yblc*D4gzRTLjoFyTZ3(#d{oiO3$y99egi2IPeXHS z``H+Y|7VQM6(%VQ8g4vh79OXyiUuhUGgI2mJBhQ} zLh^)Zu)(^yr{en!ik&4`r;P4wRh@maVDx2`!}hR&&DU(b0P4?gnt9O}%C_!s@Z#SW z>5LN(2sm^hM0hve^(!i(FcLq+#!e=u&JmSrld!)chQ`?b)Y&Ro)t!2i;X!8nAp%@% zWqg7pEqd4Sq;Mkdm#Q)eW35s-s55B_lcDz{1rvA;kMb&muqh``_Khjo-89t7?-LhX z56pip5WcsOf%R0Tu8w`T@UVM*$+`qzsSP$QFer>($*(i9{BlMu#1(1^HlEwruF6ag z2eo=^6(Z4yx4O0`KX_Z}rR`yvOp1`rFz($m2{>3*CfhQ0<8d?IHLtaPZeTm=#l!nI zIp%8pQwvCo;lBHlal96@wT?5)@Nw>YgV@7&jTchL;&|Zu?@`ne&bWx<6a zDwOTPwy7~17~<6k{Wd z5kj~1^i!v>t}5Oho1@4n2eQo`_l^H2mYj?E3pGwIA#pG}oEHBAgx6@{A;};anLg1= zHaoHRhZokI${TM9V+{$c`K=|bdXDSt5x56tf8&;Hc@jZc>EHMWmy`8Ob}yD`&Jd=Z$bXZ#KFv?^5vJtzg3qgz)HPD z&D%U5#Fjro2ieX1?Bw(Ib3yNYBWDO+GTzw&jJ8kr8;Nap>fZRvbGYi^*tA2GyxR*i zrmjyRZRP>6{^LE$u>F}fZF1v@1DT~?KwIYHcWVW3C|mUz{-M!^N=S5lHCi_&J)?&D zrG1+Rhu}QT*w24@#!Z8*xEc_z{7ktZ=omK{y_q!;5KM#^!}5jdjvJs#M15 z;z0Ai22xT~EZD!dZ5aeokrT_kWLb}=EoR6!nFY}o2Pufno@k{jk}Rzzx43>J%0GGU z1}tt#1%qy7g!;dV$Il&XGq?*ZPeYG1daI1= zT90gKCVSVA6~(QR4L_aAf)iG{leE&5cV=Hi#PLCh+*mX#T2zpKoZve=jB3465=edQ z7dSzJa8T#3Z_6;fl6J&@3}NVH!)-UmziZcj{kqGXQEvpH+CMx5zAzJ)A)TdfP(>Hz zlNXurV~N(6Km4Q^jFOsakf}jK+RYq$J?Y`ba_*1+St2CVo7?+|{D@%LvB=j9Ae(e| z`>P$i)WHKORc!BK-KYPyN@+|>?`)$o033@l&&#e6HaYc4E0O+^JH4PR(OPI$hn5U@ zOg+OiYibhbbK5K>GtCX*qFr|I)f>JEG*Vmtfr#Xnpqh-WJTq z(eRtJtWs4syFB%NLY^K+Z>@*i(+Wx#(7g7v*kt1MU(kGMArVD?bnuUaQ)oyy}u-t4nXvr+-IHe``;$gBxApW z?PG?rXkBkiG7e#Lw&2}Y=qJ!6W~ry!VBo1eC-gxZe*w)55*^@4kmX56Qj#tY@n16B z$2khtYL%`z>75fl@ldO(ouPQWy1yLf^$TbpIC+`TxyifDlsJxVU6(^XkW!2@)ASql zmqgA=u5wY|VDfGn2E++z9CxnUVjJY88TQnCMLWRZYe-9lQGI+ju|BabF`lk%W9nhf z;_*9`1b)T7--Clk3{UTJBJ_Y0JF--3Ha8G~p(-HI?6rJP)ft)B+#NpnL#hIzTd>F4 zpdgCXvO1I;8*iwd5rYUbDQBJxJWrCc0sU;!ue8Pp%0dQRR0^NuL##<7h2Lb(nfC;5 zae}}C0eJ`U7rXw}eJl0|r*5frZmK#-tR7N1eYSTkLTV?1) zN7edB6i`Cp$LQJk34RL#cX#1NUVs?@lyE32%KtZv|NkA{^4zYWg22z6q@u+t7WI)1 z(bdF|aM5t68mSr+g~TRGEW=Bd|kJ1rd*PgG@sah|6uK!q<$95(!2jhD@ogX=Kop+Yuyp?_09(` z&Fxk0no-{W7ntebvit9FmAT8@x8xs+F#V!y%IK192^X)k#FR!xCdSk@NL$DeZzYnmu*ZX7PK6VoFOfBUuG} z&s+yOlT*g-P}Ld^XKD^>59KU)$k1)1tfc(s-}>8FK&+={ogI?Cy@sK7XHH3vTFfkc zby=LPF>49(v$fqyreZ=yIMTLT5g{U;E~I^>zQ>$=L5fo7^l~1pAQ{Bc=uO1efyiqSXo_* ziHDLn>|bjq%(IZ=cIW=FLA$F#WN-e{%es6TZ^=DLKi7%aL~%; z>YhbMYn~b3{-5hmcZFInf)((?(+TF06u1AIi9G zXnJph;(kX$+ps38%WnNU#J>h#K(&$!H*IVxnBx>xlGEZdYz&z8e>d7c-eclrjeQh# zo`wJR+8%lM&va&`v)RXNTJ{sudC+b~t^s(gVyV-`tod?#o6jwNuI}(7=~trJmQ@Nu zW9W6Xtp|yQ0OlTE5>#ol=adm}Ma9?)hFEr;t?ldjG+$=LOGM@_Mr_!vA?xW=sm}%q zj*CJ|7zu8&F$ka0U6>e?gW4_T1*rVUNO zRkDTW_|X0C9=hE0?Jr%MFa$6|xADNOW?!A#h6*Hp|B`fwqWfjkY=z1Uj>#k(!+iS4 zQ`tslzDk=~Gc$B>MEbaVi@^7K2wJDvC$$3$r z=ffB75%rb$88B-s6t%V3+{_!+pJ&Tj8nS}eywXIBEn;(f{qFp;7?gYRZ!yKH&vHCD zXJKl~f6zkrBFvMo?Zu9Afp*FzGl1fn;E-fZK)EMPr_@8*e_Pt9fKmPBEY_z^QM2r; zHvwC9b&zq)DAQ1z-Zcf8j7o%c^M#60?6YMM!|}L%XL)J0daONVzhC0f*MEQ5a#K4W zBE3Pc;aQd+?u$NPnxYTB;1{%%ntJf9E~&`-Z+MfdGSTu`%V-$RN9=UCvz2%;k^S+k z4$jVd##zw5ePUKLGBY!F9d!(wJEbA-&dWQMmg=%STmgxylHrH^D#1)fp!S(qYvw7C z4d{vNA&m#Z-?9h9`UkwvI0n<8>pNZ1AJ z6&uXmDbkBM6yXzGMifcJkQUU)<`Ipa1sDb%-`NEt8pd8DH3%HJg%b`HuFc&mfW{ER ziD(%BFD~W~%jeX?0H}~aFoq>idKTV68G#iP&}{ARJxOx-+iVgz5j6wQ_>~a=WwE0~ z`q+s_#y|tG8GxDpF(e6xj#l#?onc_$q4d0|dN?eA)+ix5P*HlSWD(L1;n03Q9$5r2 zBozgNJLQ>kAu4D#7z3~86eNoni-!jEfufY6ShnMBB5)!4nAVsTw2@oVvIv?he?DLf zlP*1fh{1CtlkaC~j;3~-^|v+dG`K@-BD9Tw7*6rAlN|nw5*I6J$7usaw2(dNcltxm z3Hq*gpe*i!-#gW8dX~1=1(n)u|0usFD3d_4Q6py%rg)bDimHo-9Drh_oSk`{Z(TPP@j$`^nA59c0qxbcNGm^<%c_sv-%*@0l=o>KRTtZgTi^_uJlR^55tG zo{Fdn7s!+DPX$-1l6S^0m5p{Rar_yLp0W2qJ`bi!TErTj=5DthtaQ}DF9uiy$cq0q zYSuRNSDldv8YtCi_RAxdp7AKXog{~x>ICL<^O$MtRF>;_5|r2^k?*RlROegoatXel z&JHld>G33C0P4{#ac4gVwnKBVAw5+}o=$6Oh2>yT@&vuHaMo$%LC5Y_%FlXKdRDU| z;}M2){aXYJTPgjHn%RF>AD&8zHa})Dc_q?y{5+GaE_R^<5T=nl!W;uM`&;jM@z(>rnhl_=RdTp)1Qchym`OQ+ zWmOcECH$=43Z5Yh?$f&5XLX~Pfo4f|pq=Z&a2*w2f?--nSF|&L;!6x~Bsj@=M)Zhu zsP~Z6c%7HA+bjlp!!CXV!YrPXiem+edQaVY#33jzK*qmt+o8Yny|a0AzUjErAuy~1 z*q5!Q1D{InG8vWr9OC0#Wl|&mBtDL!^t|3EfIif|bCzltX(STk>T0puHy{MMnV3N zF|()m4aMvvgOj~GnHP_PCOoV}d;7|WjjlTq{IWd2{l(ce$~B`hNI4!uIqsyCh)YrZ zG+H$4Ue5N)x8;)1NZVA5wVDNJzRKh(eN+9&AzAi!8HI|Bmv2(}-@a`s=AO-GXo9sG z8CI)f=p^@|^+|1MQ5kmGa|t79*Jp6E(Z;jx&>;6E=f9(!(SJu_XFD*8IdbPWH!G&b zU~-Wz$Da}Xi*f%+`bZD7nZLNCzO1uqJj)cWzB zPlW$OPjbJC@AN$}OIxhhdgMk1iM0xrB_zbRFI#iIj(-^^@( z37K6uY%J}0vt(GBlCVY_Rz{4H;R=pwy2QP9&SOM}+sH%+%lJb(Z>_oJ9EL^@{)G-Y zgw=exc;D&ATExTGarEdjDkauHEZpx&|HGB;rDUIKASxqY!lpMThj1DfNBKYyJ3IR} z&3>c(I3Xe7>COFfdFlTCK60`_Z;1n3WSX7#fMHCvJ=q;W5&05ly)o+O)$wj|X3CE` zXAen%z%%)E=RDlr!pKcpgeB?VI_Z0r;$mD5oUS)b7N3`y_M2~U;fCI@<8JHET$RE2 zRBWdnhW45&=SSmS7DD~C@rm8z6lKrwG{&r9RI4sv#}+SI1nXYsg#Z!{7_+C{5yH2u z%((i5c2b3i7pD`e_O=u*>0a^~e_~)3$~1|#yyqYLh!KyE(A~+P4mNsp3SSjEJ4tTl zEu517ah*iW%3klg3-l4N0WsGokraP~^Sz0HCRF3bX2PayMNe9|vBAo=_v}J+{{;~+ z8j+7UP8nu{9E9hSW(1;UG3vTzHlxkz%S2GT&_rxn_(hZ!-&jT{F+tzqLx5a4OlJb7 zS~QJOl}badk{~q}_MX?S44k6WG`a}++#n42iY71&&HAho_bkj?s7nr1%M8uACAGV1 z=}!;#2GQvjcw6tSsNs|;$z0qd_ z=_7=t2An%llEO=wq76%${#828QrD}N9Gf9tJySijKnsWnf&YZIl@S<%1fPwY5jn>h zs)PsLqCH$Cw^$G~V-TUxjElswQH^7nHEOey-ougxlejLfukA3D;tm8K#CAc*qhn?T z6y4G&E;aqKP|_jX+1}nzGE(62%p@EXKxE+~{-NW6CE8wnf^IFLgBx#s|NOQ2OdJz} zGgxjz#5t&kD2|eVks$KN$jW{JN@m1`dDhVK7=*uA?z1e~;muKtP!DkT!e3^DvKXg3oww)1|fj>Gc+ew#{Fix1jX*x-Y82drO4ydRKCtZ4qu&t3`f0{%sI$R-7*_oLX=4TFkVU zsSO)0+{ys;`Q5kdHmfw^w&Q6^SN@)l{oW$-;u`zM+g$MLk#h`4!(VOBGU9xWD17i; zIkQQ`*4475!u@09)97%0Fu}udpGxxERW~?Zx1)$zzt_Zs#+#-zOqttUq(avKoRXas+SY(cy^yTu2 z1QD15mZLSF>CUUJ#H1;j1e_z4`dJV9E%_-Vv_mJ|! z1SpT;lcWcfNe|Y>_bdRGN!X#O)sseH-ReKUt}Ez+Fsc_VgbUYhFT*?zBpXxKi^6|^ zV}Qe7OyE=e!|Tsvu+*l&JzBV-D3o;sXD>cn$rA)eM~53YLuc|)_GC9~@A|D}l7dMg zPs{aTcd08EMNh1TVKhNuA~YQrz^D~gKGrb$$vY<(=I<+MICo)ncVg!V7q0sE2XuzD#K>>1 zAuo~WmF{~XJz4z#&VK@*dYp}x#NL)0Hv*P%WYnlI0hN;h%nw`auKAiyhJ7 z{bzc72{vJn|0)TiY~|n?)BnwcH+b|}TUpppa9&kImj%l5yUr2)G`x@A=c15-!tCSv z0Ok3aXdeZHL)NPiX{>OuspH^&MKw83P7L?|WWQq1D3i$~$k#{gxpO(1ve+|@4cmXX zvZL<~ZejY4u7OPkpV33h5+p%vFG2;3yI%|Uc*?@b4OvTA4$Oa8lT|`oqqY)5fVX^S z9j*7hz{FAeAEIOm%j2#2noqU}LU?#Tq&7a%8!ZmO&Df!vFgDDU;lxiN9n7Vwl*9RU znnRAUPJL0OxNo4L!8c4Nqe^tydPs91KyD8sNfU^oLmejHvp&@&cMtI5C|Se?-#H=z zKgwL&X$|u}d2_e6iJ!bWgC}Rft@6lXS#g$w36cn7eyP93v4fc@Uz@TueyTu|5u}c0 zF&>KB{^*z}CLy2ns;g{Jd_J3|{{p;%I)n>2JxT$lp0+6lBnYtKGy-J2j4_N;?=VlA zX4w1;ZP;{+1xA+JhVQ4cg#P*A5u()}R{`Gl2hposfDpNvmbf#FfSaA$@ujbAbV&%1 z%xqMJMiFtz8z-(O*TLl?TgF>0=>+eMOdPhwdmoQ|(80)!D39$jC@U+=j(T2I1rUrOU@7d! zn*&{6O5sp#YmTjQ?QunSjFq6M(8voP7m1_BgK`ql8oNn9Z_Xc2OT&(^K=1{K^ zxBiVao6UGHeHOMz(Q=*@Gah1gZjh$##RJ2TYC0xfGS25djH9j~;A36?k& z0N#VUJsH9nu19Sd&$d6xP6YoG1IhqqiMvt@niQwDd++n#yZZfPgh9%9gZc;lggJ(= z-D~&Y52n>e>G$mNwfSHcS2r}@oAA1N#}IF<`-g_Z{bzRzi?6-ap0O3kF3DXD+Nz?j24taI}GP}XLI@XQ4VuB0v;99GFU7znCsmVQ5vUg zr}()U1K%DGsB~Zl%1lmvHKU?v^qa}H5km_0dzr*@=zLxPOPJFFwa8~ya?R*)#*nThMBofUb6n%R@GU3?Jjl35-c#h?8s}$iIX!*Ff01@RW4wrB6X?5tx?C^FW)+{J zSa)y$7JDYBDaSeW2sg498>LR{#XX*aQ6Tm#F~J_kM~%>nndQeK1PBQ00|8!Idr*pe zbZ()Bh9+ifLwGh=d@O}*L_qy_m#Jzyf%NWHEGk_AQ#&rTp0Pfl_)8qIGK0_{mq;UI=5VJumM@& znB3ogp#bl`>yr+UF!Q@XzT1-*ZC0HU%JUjKYs{lEy@{pZofqx1wcKF=x$fuRSi@DiIIdTGPje?+j=`Kqko*wI>Q{oB9D4SX+Q|lU#W^pob+03 z9f$FX-N@Y|G3=g=b8-ykv?+0kmE-_C@N|jY7mUwme$b1v=;n26gdIMjPXP@)m`<8Y zjSkOKLXffngo!@&V%{*xd92yD^A19#1AnYE2?$UCPBD?5!1WEBr0}gW5RgCiF9mFU zfJ}`LR;#54aY;)+qGLOw&}R!@^i1J-5n;Z9wQ-{v|HP=~d)4CvvehHW8&0FSBt!$& zTgs!IT~U)F-}^yhps0>Ha9BDmmtH_$wLT6NH?$xoY@Z$RMwP@cA0u#Hf*5MS^KFM= z1B~z`Kor&*;+Ft`gHvLwe(q_;{^6bI(e2}%3_p-(i})*zuAwxARnoB{hw5x0pI6oq z{u?x7gg+Xbzw_;}s8cl9&e?*#s|E4vF!szVKLaE|v*5HRjRUgX&0;Hv#;^mammYnX zsQHkoOtlg(c{v_a5oD^t5^A{B7>;e-!n}M!FV40f=c4%9CEE4fXKTo2<1|2f zFeV&l8yX^?P{U8@`IK3b>>r8z1zck;)aD#~bm=G$8bp#WANua*%&WNfxW^5wCLfyG z+wVBVt z%MO{#nm(^eodecp5v$M9T0{nZv~pH<1zwRu;bIivO^Z&Jt%d29YlRgd@nNds2Wy9Pq1CcH9L zy??9wOQa+lfvoa)X3wS1B#aP!(KM4M`jZAssX8pt@<_nVEzG0_^O4lxhjj)tBitO4APPrWWZ88PX+G&0d1qGKR9lP44DDO}GFp#r;Q*jU} zXJg3q?>&ni|Lo33r7Vh7Pu(|`t3S3|UPh*^(7>b~{c&KGp<4W~&%>cROVLg^UBd!ys5xjB}D$yc)k~6 z^)fW~;${w!ZP(?59`VIx&B2eooAzk@j#2MCD5Tm7E!j9wBHC!;c8sbKA-$r;025YF z|4Cx(tE>oHr)+HaV+?d>SQ<=R0Fko5(d1d}S3s_K(x^hZQ{-HP6C$u@qO#g;5_+`p zs3$wb9}Q*z#ir98($cxPBAR(tH|D~#(pCszmAs5_qH#F@M@|>GYDEq`m;ye>*ywHr zpuKx8{;lz2b(I^k(|Ni?Ens5h(=UofWS)GW1q|+Btz1JC_vXv{2k-HEV@Vk6q zcl7kMhd7B|1r+K_tBSK)gqp%48qXc(wZyCcl>OkTLSzuPuQJk~j|#SHwr1xZ6u5m1 zrFZo@9vx1h+T|ghT~>LiJfND4{P)OHA3ftGBb#Z?}s!4EUAMliK%xzQIYyzP%}Jd2htIF8A#H)@aD!Nv!0Wgf0H7q$xS1^ zYyNaqN5hTyRC^+zVd_RiAzL1zNk0^3WYhdH5W*P9_5+DqEnN4gHO^UfOHN^;#1&&b zKjjtK{KZiV!HAqg687=pn-gSFooE09n5Of z?d&GeXmK`QD$f&d?%Yl)7Ly1UNt zjH2?64#asyL=;|gq)9T8%+opj4d$-PccO6%wb|lE9(U)*hzT=Pvj~QYc z*#A>@2k7Ea<#GDz5si5jvENHZ_UCJQs99K7jhvnv1q(zt@TlY`>iH(+#muLK1on!N zHE(M6>X^7-wHy>)XpO(z8>t6xs0iCfX=l&+V&e4Ko3Rx$JUoJ-T#(W-nlIg|;MQDbJpO8PcEj zV9~3pAfpjg^F=5h@quXQIadYUzA!Iq5ixsT+Ijkp0k(T69TZ1!Lf4P8Ox854q!V8+ z%)VPKb+oXM=f~Hr%6AN*8g8M6>i;PsqaevR=(X^*(S}~RoBfd0f#8LHafjW3y8K^h z*j=PoWWJnYyi13{Ug%!8P<~?{Q~l z=H}+NI5Y}#C9i*^vC(_>>XI;}D|pea-}l@sJ*Mm}g>gVJ&fcI`D9ltn?!^ZRpB&tN z{yIcn>??AJ=?I5gw6JkPSbueO)rnPI5LYi=b+C1@3sSXPGe)jB1K1|{$Nal3|DUs8K1V!MeDmRSJ=; z0iYjRH@AnkAr*Io!G{nNZNCjU+v_=Ld3t976xdqa_L0u^2BpVjS`K_owL8Vzb20m= zn^;o`LRJy#S@ko+Kj{D3tLqY0A{HlSomskNN(1Xn)ioS-DJC zB<`CO;4P^OAmXKYB@i(#oljni6@TqTQSlEHXSgU<{N}0Sb$idP1GPDZAcwXo>KgNo z%-0{GXsyn!v(L^T%$9}FOtrKqN1)Kb|x>(w|i;QyWAdJhu@D-w~?HimvFuu@*kPi45&-L#czE(T5g{A zMWe%kPA)t)rOnMyNHhLDsBsNlCJdvHXb4Z{s2AzEvTSOidwVn!NC&&k0Vb4OPBADZyz7o zj&CHiUxADNPaI*SbT>MnVsfE>7WT#P` zx4k1{Rb{|b(y+efqK3+~Hg)y(P1xfa@yP^hoBvezY;8%;(mN* z%29E&UQFKDi8l}dLCq>4cK2897AuJAywFl*^~jF%6W{(Yk>h}TrQHNpB+aUkql0|o z=A(kyTCpHEBv_lKN6)9rk_p!MHC)LUk!aF9l}RzDAOf0qvA24EC z6#4tqnph@(c-H1`N%z!tsPq1UO7bz3%$OSc{|Ar7v0iY zkGUw@b_54X85^%oreNi92V#IUHiM4oU+3GL>c5M}q)ooeK)#7VahB@t^UbthW^ba_ zXoc(7!)@eDZvc}RwuwKT)Ymyj*Gc%p_LMb`~g zDQe+vaYcVtz`!*y7^K0*%|B`5q7N`VY>-~h;XPTB;w$u7_Phq7P&C*QM*S8JOzT$L zPh8CItQPWBX))2J{*al*Y;c)Z6Xl5DY>HHD^awtn{FRKriPrO@4mp~UFr zM8iUffh(UXzmrZIJ2#88l;E}9L)e^bN?#HTY6wTBlj1-2OWpe>-}q92{u`)*IOxTT zcU#LGabKO)4o@J&PmcW`&ho>=S-8ax%yP~8aTt25xNNEn86iuPz+b9zVJdbqZD83V zCfLNQirop@%o4kj)=f5z*pnIVVfFyU8;1I{H@ko=CE_-eYD&i~$&jvJBsq zFa2eNnBczHE+jC0El>QQHUEb@T3RC5^B}YI=R)Q7gI;14c2$A!a{LcF6|F>rjTGqMy`1K9 z`w?qo>Xr1*#22vLNwcZndiXDPV$#lM4o~c_`w1e#Ji6#H#L%say=(3QQb1qA*t|a; zlFt2hQliE3?FxR7-oZ45MK&xf-Fdc>d1m^f*~U=(>C+=J%5*>m{{G1h>G)T@{{c7W ze5@cYGxuz*JhPgb^B9-%27PN+;U*wp=veUa^f;-Fn!3%l&GaUb+@HfWTKJzxo(wt5 z_)RoJOwvzjH}~b;1>Eqk^sX=*{`zI6juA)tKD#8bzFS&o?WpmBLO$ql+zqPG3uBmu zgXN6dBf3d?;=gN#t+zcIR;J(CEG&5kQn9n=^f zHs0z>MF>?)tqFlXTIOL~x!ra?HWx+U{74Ft80qKMTcMbJo&8_h)tH6O?*iy?!rEoe zHsr&6RKQvTy>I$~{BnxdJVPELU*M4Syw#FD2l1MF!9Thmj~fnTX`q|}bo%u~{pkqs z;hLU;s|1(27L(1t6|C!jwEow4$q8+rPPaWQTRekR&0X0>FE*p!J_b%%D&-*XHYY>3^nqCTU2 zt&GgIAWOdF(6+zL_L7u0`eTy~-_Ju6JnV3bH6a7mT%A;n zPgo#tH6n3_b;n4IQ+PmgIDmspJCC3s=(tJ9x~&aUdLJXRGb(L;O=``(e^CS@k_BK#a)X_WZXSvhoiz; z^6}Ji(I<&(*EAhV5_gWD`yp2NE<@O62lQ^(zNPqH7cqiV>9p;Ld>nRo13yw9X0>$| z&V6#a$PSVE=R>vH8C@t$sAgRuQ~&+;tCzoj{J@MrP|<_jTOPMV{wX}W=vDMSRs~7l zkzUL2=lf#(!r=yTf1v6V!@0-wq5a8VydqTI*zfU2CX7V}JzQ>yKBN$zPhR~chmqeb#`EV!^ zK(rctYe{SuanF6Yb)i_u6NGucg*}iYAp*%X0YfTSL>f80Ao5fX^UlS!0AYjY$J5j< z&Iw^O0CyWBs&CT7d33R5-x6CNsLT<2P<0S-%vg&2xI2u>=)6WoevDkb-0A2soYgVx6O45e=QHB3%hY|R~?z4}mIWEnxd{u`u*JBqch^2I7I zB3V~;k9{PvD?=NioW$HeN&u=go^{9W-9e{zuHIX{A5jK$tck%&DaGtKtPmYrDi~}t zxVySV7jUvEFL*gv)s6zIX+)m#7FuBSbhlE8uqSVm*kO->U@dc{Q5{m(s3}T^eN$Lp zf149)V}>|4?yaJ=lg3^j!K*|wL`{G&Njc_UAKt3~_e;jGPWE>NKJT7+eo~PC2^vpK zz@deEpz*E95rm>DTr(*43Wpv=v>N#xOqy^sH7@Tb6%i4lFGlh$gW?g^6j|+j>CrR% zT9X&51?0xwSu|F81%+3GID*-j-o4=Jv2yPPmkR5f>@P%fi*`Fa=F-wrNFVvxWG0mq zV)J!#cULl^A_n=F_#X5yiZ62INuG=AH;NN8^#9md-_R2)Auze zDc0kIhiQWQM1JvO!h5;(Fr`m9z3&C@OI5xQ0!GVU$&CR|I@d1<6e$`%vH!AD5gEwH zHx%twg=@xt7>y*SlzCt^AWoRvrN~ilh`GduGVpQuf2STjuHiN2tjP$W412r0VlAaG z$s2A`^C!$%Vw%tOo~A0U!k3m&0e;=#gsw=Tw2eO{m|I& zSOUxt(4xqWNEaqy%uZyaD3PR~l_Ah=}Z$D}tkJA2)_HWRWzq@{P#tCCvS z{5AA`;^BOE_*>%XX~Wdi)X?p1pd|ClGn!t)2ioAL?=5~#&rjj%>WGN0n&xJ|hb&I7 ztfUOkiVB@yE&kW*uX=YqPgOXfy+ICsYJINOz-;a8b}GnWdRuFAZspG>nnai?-u;CGaD4hso*Tx3PM4Khl9C&%a~f{*i}lcHjz`x6ALCFxS}KCS5x&*4nR zxK9|U@~tZa*O!7spX!sJT{3{(>IkWFhFaw0G7!lu%Dy?yTfI~V< z$PIU?xeiUhgH^5sJiD>9pMsmja?`+HkAx(4{2z#JJnj3A;lDx+Z@f+w-V^=`D$&u{ z0^wmjk(C=L*n9a8_@_Cyd9VTQOweMDa2f~HVd-B9wLGS z=$S`vo5(-h!N;dMOqK-02_>vSq!m)=I-(i;|jCVzUuw`CmC&=PVCQqcaUWlI6^ z=^iF4d{p#v7LfOwhN7e(q^&uXN-n-?(PHAZe;ZZ4b!mua{mc8=Paqkw9kR~}JO4ib zyg)<0O{l(EAvc#HN@Fh*N|VAmQI`6N?rtLz2JTiUIZGRd#Bz~H@S_2Q^%n>$5zs9C0TCAXswgcrCisO_moJwql<67x4L)II z;+`$#(9qV<40tAjiByV|tr@vW8Od0RoS_$6TQ9ccintS&236A@&rRI*B|Fb29kB4} z3OYx<>j5ULu)gmSQ5Jly!Np}J^(GbFlft6hAzuj>7O1IC{(B$pH*J2Mkx|DRVJT9E z9*mBRjMQ(v$X4=~p|)mTRFBurq@?7@`K7j%{l2}wzr7`IOCgUlVFim=wO3!nQtQ>% zie^D~o_hs%?-txIRO@vTagPbvVaVZ%?s(1>5$%xByAfe7X|k=MD*=T?J57&RUx^f9 zW%OAM_>__|k5wt^!U`)hM=?~{m)k+QrkgA5iaZt1CRJ5y|9D38-(xRq)_l1leDWw) zZcV*$IXxaHWgP@##g(u=snPf~6tOgFblntmJw8k0qgH&YqNov}JNh*7Mvi(<$IEbq z1?8!zhlGU^t#Dz1^lqfEJ|v*9-0kRLTB=CGs#A_o1~brUFuzsS<%ba#_EpscT~%$b z8O<7)9_Cv^pWT*WCi}{U>&pzDDwH1nA=Os9%V6uRs+t;}oUGka#F4OoVl+Z}-hJrO zUF{VhRB7+GSuJqCp~ogV{bQD%b6B`cbYM)Tfj%`7Vl3{Od0cfrJ|eh{qtV985HQ|2 zI9o>W)ttkmu;NEpWCNru;s~ow(L8B38*tZG=eu_XLmwE6BP`WS)r50c#cXYDF)bZV z+k-GADiBUzT}x9|N@GfTtzFqy{(x&NP+zUlQuSgBGt^?D`oLImBrGUm8C}j6q`p#L zRSvjF2g$t&;SdY@A_VVgkmSUaXvSi8KC@#P*3adH#33sz7(2s{R0>@Ut0&J08tNWk zZnCgS^qN~Lth%h%aAmP)V7#Z(@Xl;7g^REuxX>P){0dhSnnna%i4B(g{2%e zbej5dmCB4!>tv^SvRz)sjj-f1`88Rg%2n1-^&k^2CsfT0cG%Kep+jE&ai+=KJfq4C zW3>_5-j)&ks#$IAbkhq({0Iy91@)8kn^&m|R~N&*rksG3DY?y z#)bzjjmbvI=g7G|rFoW#mnWaB zdQfJzGAemo2}_Myj2`3FH8#i=8sCrC3a!wf=FwWv{4<(_@T;@UeZ; z2os3(V&#PRoRBkf6bDZ*4+}EIi2EaiFF^%kvdyPAT3B7TR#>@}CTdt-0dH1hRpPpP zPX(ujC08*6bPJ<8d2eQbe$6Pj$zHu>Bwa2)d2i5a-%@0rm)e60v-QW(pj??^F?FXa z<4Rb%#~*Mn@dzrqx+0l}qTiH+8>v?Exa%Buf4y`6&i$Xc!|hMd2w>?BvbiV8H)7?4 z+LKXz(p2r4;0b>eCXq6c+pu8Gyr80cD6d?<*}^JFFk$tJC9JxP`U$E@Sr_VMuo?`O zvRtmPW`+%ejDqvt85CRZNpr?Ygw;AU_IJY&n2A%u8vBt1W~!JTC}PExu-L{1hZSjL zR~5na(JoItdIA%%&#|N{JcmxkLF}KW5ufQgdI}a~V$Q@mm)Q}A2e7Z+f3QnLy9Kxr z+z=*o3B}D8)+@~|6&4#|*-wO(F>WxtspCdiiWkG=dq$CY()T$`ws3_d&&jK)dZ9WA zrI?DQFr|5AUR}p&5(o*R>0>-aSb!eY(8f*}gMTFyqXyDNmA4hfO9%YDM`ow9qx-Qq zKM=SnxchmRICm?0#S4RDuJ{&Uun-1$<;@kA!}|Po3Jb{S@w8`#Bvo$eG*}g!8Wsdk zw!D-RMP;F>;ciYNI|zrVtx8d42E|lXE1yw?=^9P3n#&%9UQo)NUA)&78l*yIYoDj;zij=#f$>B?Bukz z)iiD8DZ_SHOfr&B^erYjkv9pgxU zRl*u}$Ca?|EMZ~c#Y&H`BOQ*q75vC7I-r6|wr!{vb3!10e`X(uEvKQr9262z@N zje%-T2|J8InUbD8*3r^dk)37j$;x{W_Aa4ftJh$z$s1~G8^RIYJ2-BPH(|j!o{Jnr z>MIgfEgg5la&|oJ0zZozVjU8v4hzli(?(l?3LR9*n>o>hrT@RTH^Qn@+B=OMJyw&! zWw7)r!rvuS&6M|0Eq!zJ)97;ZWq|Ptc>Iog=yC$=6%0JP!?xzB5|e?e_K_ zXUAZ?-6aHM_th5XmF0wb^fvy4MO*aub*bWpSZDU3LZdr74l8Oy!hV1e_`M-a3otiY zSbymfOIX85{YfNY!EM69acH_W^z@f!fv>p2g8Fz}eXiMor#0kNZ}E=jQ>0XnZq<^u zw%*qdRJ;#uRSv&{n`~xVDflYhgauA%2lD{m$bPiyFX znlck%f}b*FD?P8JJAHVy*3fSAI90m)fPrBab!7imPY zQYD`m+S2if4Gtxs?S$KMB3ZAzdf5HM}T_)Nwa5Y6NHJWl7<49Nw zcb|zZEO5`FcMaOzPXq?*yQ198f#y=74GHi?*n0miaifLxNRm*(a)>G{pbm(-gaS6( zN8kP>$InDTu2NvYd~qo(D2$UHLq&<^N`y6Nj3;5iraPm^!jj^%ItZ~K(vkisYO#Hz z(Gp34!eXZ^udTp0x=|#Bl@a^a9Px=)VJ(%E8$6^P>90mu&bSiRU6n|};$C+4&Ozf9 zTu5f$+lV+zlwk8l@A0nS0mB-QBO$f1|gvA!&52LN1SP>W;LG>&iyBdbpUpS7tlv~>CV4s)}G)%rZKgf&*8lL-@+ zJUa`t6drg1Kaz8Mg{6Dk-RU8lk^YK=MU|H<#aDz?bYCa-5@;CD;QNdv1%uv0101e4 zn}hxdwwLRM3v1%zy#y0hn_ywdaTSZ7eDKw66&9d@oY3-I_vz*f3ySWJH&7K7mD56d zC?ka6NgH__yxVN<3k4*4D2;(|G{Y1#c0l(S+rjg~5Nq=AC*MA+5Zb6tcqV=)Rj+ z!m@VBgbE7=SY^w3$i^?;Zei)}J?b!$16Lxf_fF3(h_Ik?i5~Tnp3aX2x+~a0!A4l|GQcm`!f^${ zB2HQx*v(&|a=Q4!;tq6QhKo5jTUbvE5=>ZkQ-uo)$P5R(aI1v{s9`^$;|f}_G^o^L zq)L${ZiH2KCBlN%hIQ6dpEn@Dg7W(n&sl&p6u#kl;3f-e5)12Pf(fhVxkR|Icu5Ki z&_mhXq)YuIy09ue9@py&2&+(*(87ZD(OGsd)*1`6uwQWt6%lIX5_Ni?mSG6||I7YJ z3`T5Wy{mhiV8TjEOA71iN4twxcIODID!Q;Vk99Ihs#>qtNfK08OyB@ywX()tt;#Q~ zT|(I2X_5QfrHmv199~XY%uxWNC8VMWt8UVWHx6{^6G~VX-TkDnuKx6_!$}VR*MucQ z-H-3dWC)=GU0Pxai**p_>Oyw}VZ?(lVQD1`vp(E5y32^@s{pgUI{$h9c=wRe#;%>f zm;Ke%uZP&y9!}dM-!GBH5-PzG-z~eMDCUl(5#gGa-ceYWHBy2l(d?b|f(eO52-@KFsR3 zz>$O@#1K|n1s0Z}yfLAK6lpfmy1IF1iNkuRvJNXiIry8f2L^ zwxCjqoE|_L*_8|HY8J;bJKv#-b)l^ggkWJYfps735<4QqY$o&hS5{X1Yrd6D*%2d+ zv9V*>3!l9_dvIJB2oQ{D!fHz_VNK|-M_8aFMMiFTvXt5K8!Rjca>jAlU7IEoU05zU z^6{f=L6@ep(D

w2|z1^ok9!&h*~t&P83HaDc>l=;SO}_9?os;O7zlobW4~5ngEU zF(ZPoR&fbyHdQKGy*+h%7JA8mm9^#BFM(K$rG+a=@Yz_{UjN+py+crz2*UDAmL-(1 z9L|m>uNJOeSl}ypu7LYH2`{WEC*>SOYVm~?F>uorYwqjyPq45?(JPz5&uFJ4@zQKtnZRhYV@*Xch&PnkvyALJ2MTlrN9i`ilK zJ@Yq>a*OUDECDlZ*e)#Yw-OYx1#N}#`!)_@F&4y(%l?qi6z!lFtOOISwp z!)p;%ChMzwKG+-5H&|G@`@fiA9JT&hBdj!a0YZfcJ({4Y*GP>XKSw%A@S|6l(4w{HiWZUxJ@OSYWA=h5L=_M*N=SQ<@qf_#m&At0>o12uq87 zwTOL%;lC{-W*-)8>%nG#E7s!mWx&4xwhgN+zt%j!>Get7*8hq(s#`K7db-P+9+&^)=E<@ZjU6m#AXc z+FT$}qrS26_ejluRmez*FDxlR?0gNySD~p5QR6XISVx4QyFj2ut(a{Y81LfTnh%tP zzxwgv#f>E;c8}+lgU${*3rAT8ySoe_Ojs^s0txF69TrySqiYZr1X!Re0b@xMTv)n- zXJ#XWSfUGyY)8NFzT7eGpxxvoMVo(FLc@RmZ9_$R)M9o!rVZUl2ahzn+_YnQVyyWd z9)t6@sid@Hn*O^1mDmk#`cF$iVH#!$ zU3zQI2ZPb&tVczEB!;lml1G;7YHN^ZD}Ik6tXyoh8!9Y7jYeo(FeuT8EG%l;hKj?N z+a-4`?n#>VkhF`QD7g1;}av&TIQ2_KH2Jhcea<#|_$dhq*$Nd3IWLAjd;NN2m5G}jwwsvK#q zNmxwk&bQByK?UP09G-mlu?s1r+Gw+^1PBY72*l0^_q=RS#g2Anj*g(GEZ9;O<07A+ zu)MytAIe(X{1T8bmz@7dISpkfHcCoL+JZD{sB4H6a{ zp*bnij*6~RSdMY@NY-t3;z`(P#U>|dLm$jevKh7FWPlt)XvEP^N3N;+jE6e|xPRQ&UsZ2aJx6PK{1Y_4f9@e?K@l*n)Ze`gIki8dDEc zVoF)c%F4=t3QXNg;OW!u?(Pqmj~_p_wzjIC0go^bSssOW7NRxCN6d#1-M~|pmn?X1 zU`0iFb&bhE!2oWVxWZB?R4RoclCbdiKYfE=SaR628UeYY6;2kF3WZ#b|HQSh00^;Y zOMy&wO*O1y984KIo~cnSNzs?SBGC`eJ9-v-u+z( z0b2@#(~^&fs4E56U~7(mj8Mdj&rDz+LZg#L2`Qn4)>b$_2oN!s!XQxFIrzMIqAb7H zH@A10`-vJ+gQ^eujc zAR;(dZ^aMOlA|qcW;Z`ydJ`fZ`IqYa`n#Q;X zCY*42$3?koSYf%H)&|NoZ5wgBT-9ATr5r(p76)XssL4TF)ZrI-{es?-LL)3KgV7!a z0^h#QdvU$$zT5T{=?Masc{D^%2 z9t7`?HXjle!))&`UuV51%EHz6ZviI8yf96VJ~T`?$jCSVGA10MPds@GaGbsXuh0;< z8A->5A?c2WR`8XW!cuHanVklM^Ib2a;1gCw$E2${ucA&dg#*goEIwhSlo}@MXH@)G zsq@C&W7$f@7&$gmWpGu(qwy}R_cR+~Nv=a!@cmkxH0AKn1`AEOUZWl--HhrzMi-8# zT-C@#({Iqj29w!rX+p!K!-j(>4|K%q(Wsj;Vm+BZelWP)He_)+dl4EVDFbdlt)wVt z3sQ$qLffY&g$N5Gk3e8&S9-ku{Um&Vl*hX%J!F2|6I_M5JDz_W@lXzgbxGwAhxpbX ze_{W!Uy`jo9cj<(hg}I<*=LAto@+NJOE^B`&mtHJ1fig;pwu_M?#9~U0Jk2V4fZwl zhiC{gazZm;v)TUN{&t`##9Nly5cXR82{kA5oicikKA>i*9Y^erckMNHdo9abOcT(~ zg1_$w(17X3*hcJAkI-X%TB?}BQsyXnoVLpP0n(z#R`LnU)Y)k%%dg8Cm^7Q;M-Y~| zlTTQHYNo7%>O*$dyLwb*?ktUeVaYyetuz~AU5l_F;_vHpJ4nO(mmW9Si)??prx0qQ z-3|z?Q9bqdFj6Db{SqNGLXyL%!18wo)HIinjU*jzQ)MISBmZnd?SDH<+fWPrw-sqL zX#7ui?-dD4N*pm?_rK51F8bI44X^?gnt+6n{xtOg>E(Vv@Bp&rF8wBg#_m%{)d0hCUl>E>C zhdDqZQ$Jy(+&$$e7GCKKC8?qcOO;YOVdzEZrF}FjUCt-02}9?kU725s#r5uz!UD1y zn>;<0Z(RK|530?E_!kzWOzrMTHpCKBST^2+M+vS`*xPF>P)W;xy{oajy+-|9gQ}aF z?cGSNK`phd&r#J_6?*s#HIw83y8F7JrL7RRV5FhJ_U67~q?SD%tx-RI_IC76Y9V^x zT+vpjd)(S&FTN+c3Sq&Gxmh28ZFSmdw8;d1Dkw|Yk~q$;BGkmSQrI8?XNi}}2w~PJ zD-!Y8205{ZglG5ZuW-ev#YYVrvyjg6*RXzk9Z=R@D0haua9_F`Yg3j^tyl9?gwHea zm;ZnMH~d4;hoz4Z^%FI+;~<|LFG9t^FL4p{YN$hqD=fJ@+iJA5SEr*Pc$ZIDonw;& z3T3-zprccOu;kgw9?ER6q$_6E6g`*7KOhq+{rCuh`yFisa%|MU}S zQ=!|7BVMSWVMRazjxV*u7pG5cN-#JvoCU?R(dg^}UyvnWd60-LX;3(8Y_!oXqq7|q z2&hPjAuI^7s;v}lcr%ifuH+S#X|l#T*-~LL)Cv$5Mln;>(b+k=m6Z^}0*ct*Xb7=H z6xJA8;uWBzP_Nc&B&lk(`cvAHUXMj1QR5F4!hae3%H7rpqidk0e6YjlXhwRC{$%Qm z9zO&F;6LHd!D$1V0S3p;;P>FmTt$Qh%a%i~0#@MnZ!d8Eyj~id)DkfUf?d(|1Y+c)(g!Rg#U+1v0Si`SuZu19O z@o)f9j9SOs6g@eLmX?J3N}#ahIWLAro5v=Nwi%V2S6I|&JJ~eo9Ixz*E-bm6Us%kb z*4@w2?C6QoQhWVXUwm(4{40sLQFXymMc-;p8i9 zoUsBvx`O#KFb78HntQHjf_oLAtKm!nyojS0SbccrgTYbI5MqU&`2Z&l=RU3tFmN;a zN023ORR#CIhFAv>5}h7Z7k36G=K~huhHv zp7}2eYa4!p@epAgM8N2CtSc=OPDfA{=e9O*Z$F0uk(h74h+J|HWwD&P8^nR zy@rYU7pU6Y32g?vDWQF6c+${OSsAV9UWSGmhtlPIMfX~xrPN9{Y(2o=FCVp`7s~jK zuwd$Nfz?4<9!nO)TBPdYq=d1MrYTX|hpiUt@Oy}_u3uQ(Ur5ZdZ*6gP|M)PF%0#G( zufS?&e(i8h;9}`%5I)SETNeXi$)wyXkLNBFYT5cc+>_oVxS1~7hUNXrb(xkq3P33< z6l5LmKx8TyP^y@>!1XB2=Ja^zhDJdR3gWdjq~}^_OMiof9($maM-bLlt-;VgQyooM z!_X5_o~I0(5DwLwDLb-Hnk(CITSG&8^N2k~8Rx=cd!r~)q;(WaB^53gZTaQ7F7@)p zx{uKFV*Hm{j1pb50AT^z-M#PgtDpA|z8vlx5lrMeb^Lt`(CQA2Sa9(r_K<=*BTy`1 z%^hja{gi8=hJ3EDyz|>UGateW1m^HaH~qo$Lf_(gU|V?Y9XdQj`>z4jPgM2>m#?Tk zB-4oLD*=t8Gu7h;m&-6#|A4>fK0(5 zcXkf935JL=jv+L)fzJ?&m+Bma7{<>D&4faP?rcL*joU7^A7H`>Yl8tTaVp?!35$2O z#qm4@S#Z7ZJ8pazVHu=&9Uf`wJE+g#m?TZr2o7}OL0C`-pQ#)itjwEH^0qbnKGj#5 zpZj{WJhyywv@|#TT|)Sb!S{neK3uxtpv)_O`?flzHKp`zQ+Y1*+uCbKAH;ox6}(aC zs6|C-VnkTNg$2kKAg7E2VPO~sE)o*jXbljb=0Z~&c!Y(I<=9Hpr2;G%q9DGoxLF=_ zU!1SH2m49af=7Y;ZKGk)GKahC8(8IVT)1(t6Z;4U?v+f@{%aJWLYvd*A_pF_jf3$a ztjrvRYKCD_6iWO@&Ocs81>FQ^^}kkVoeXD;xw^@^~>|yC#+!oc?HTV{AGEV zr5t#8%zZR*-AHc=;ufZT|jhhw<4>yIRgEUSDtB~gU z%U8*Xqe4S0iYh~DQH13&8lE;5#*?t@*Ceb1__c;$h^NT4?2mbbAA7Ny8&ZfSET~p- zj|pdGKlgkQyuu2#%SUcIhvNIrm(}2Lp>OUOZZ%!{r=At7f>n&v{h@TQI9m5rQdsd9 zV$l>ij5MD_5theQQL+?2!lE3#*CH&4q4=g91fv7?04~799#YJU?W>Tm{LAYcVXbpU zIYa0eHYH@U;0tY%WsY{&7a^I$x>*mT64J{zxwFe;r2<7!s7K{JkPg1R{&X-YEa9kO zt~&i5sl^c%RTnS9g0=?A(Q-Y)fauogUHF(pqDitaysB+>}Gqh5S)g24FVL2Hg56t2ArWe=VAqM?+7`w4f=5@gjAr+bq>icO(2OkMf2L%f2 z{+-AFyy*T@IX)DOC@e6ah{DQC4UklnE}X;!#38xd<*U&9D%?X0k%I0wE0GaVA#UH2Efh%6;i178|(?Ri?+XVmSf{AUG$4RrO*nQqBH{{PCS%<5XB|-QD5rsA$uOQo|}kOSe&2 zp@_&k2MeA>xJ?KV8}}qnOkqL#8aX8dBnx4x?oudsfqvj=?Zvhj2EIUA2=nmwcA)fr znNwKUoG4a02(uaf>%#iwUzryY4SpyC#1tOO+g$BOO2{&YI*?aMG;mh z(%eE}0n%A7-!B#G0=DWNQ%wwd28b&W7D(tK!h+KTP}A9=ssx0S_@gmotWxIah+XlI zFDb3ZxCV^%W3V+}=;0W(n)@ zJuECqoC+)Wt4)DvlEM<)Jqp85!dKn>&`1#5sUv*CRS65mVTIYB2w@<1>FOG*i!*&? zYnT}BM@k88;43~Tgwp#a>`04s0V10o3p^dPz}>+nG1EZ-!us_Ngjm=$@(UR&Ti%)x zmMle%nDLc7JqrS?`*AERP2)?mleTD5Wl3QP+wH(x7=}YNSZ>c;)K~09 z2Ze^+P%YJR2h0E`&r8`sSQyUoji_ni!JH3D@5|reurRhugaRw>68&9N)9IKbJF3M# z9Tbog-urj@zZB^?@{5s^9iAMyh~!{jJ^c4`w&otE!h*W{Tlb_}SlvA-EciX0m1=mc_?!9S*Uc|AvkAPi1y`+>ovO$G@KZ`?u#%!irB}0Sk8? zPB`g_rv*!bh2^P_BVoBIb~o>J0oQ>;o9hJ?u|kLV;`WSk>SK!_tT2O7cbPDAkOBDV zrQoZ>`JlpLorDUX8!BY^W}~z>aHgKF9PBbes_iW%NC(^5bTBTEup!oO|JMBTU;pQy zxpBfj|IfcNbpQVC9t2pD_!Sn^-91ouFBUjn#^a*xNFN{52~+R(I4H+;3JZ3A1$!xp zaKoc6T*QK}BW_Cr_h$(Ti`#p#3|F){^`nynP{I(*p$u*eVPY?_K_P2rJ!q`CFBd%W zBM$NRyX?{-KqAv4S%Z_N$ccDK2U*fW#`?D|Ju4$CBM!hnMtbVM9|wJvmKv|Z0{(yY z&h)8`G+XmMk}C07G2i%XLc#{ydT*u|(uJMXV_70ty+i;8+hw~x*`{jjlp+$#7$YZ| z2qf;liqtGZ%)L_6(`I@x_dAjOtwJe@MH0RD-Tshy&zmF&fzU35ozK19?KE$ptc72l zbKd8iV@Gdi1@8k?#lL>owtMeH*zWK<*SGMC~{E50w-4K zm-tY#X&|s*yv%{2?pl{52wbA+cp?iaVnqR#TF6SIp!6OMtz=6fmKJRW%m${?@QOuU zgS_ArN6(>lVis+h5bFy}tkb7D{sc9R{-op7X^mIS3@jR5dhQel&z@o{&nr!)A(tTD z$3+6W<=ACEi$-{X|Jqh~#C)BqLx+!GOXPhKq^=Kl@8?=ybYv3}Fh{AfDgL6f9i4|Q4N$O(+_El8)7bzQ1iB&YlqKMUlU$(w|pR186r+Y^1yU@|dMj@@94V}V==7bXT8kTm64|56X z)TgF1`=dpwKR$Ft9EU{%LV0KXe&cpxWMaqD(|zG>uF|#^whWB!y3KQh2)xGZu}mIHo;9 zC7RhMLGTDOc@jK%@;Z-_+s%uQunDWdMT^3wY;94gA{W2J2b$C`z#`Xy>a>P~14rlg z+priDxEiEDDy9)jRdlh^phvSe6ekwo9~@Y*C^=NV?5EKCK7Iz98Em#6_>9ddgQ@9c zFg87~Kt6h4Vp?$CtUM_+;V5m&JuM!Ti$7A+{PgU!Cj3im=i+Dc@n@E~RJQfEA&o9CUA27p)mM}S_XfChj&DC@{ zQXEyBSm3CSR$RaWujpCq6%}BuGixy!n^%S=f|db(VonCI3>Y^Kk87wChO$>othT%T zy?qDt_1md^dix?zuSarpXU6NEeDd^0uAYATV88BO`s!+7-8ySUh$Xygnh-0AfA)!= zsOTj=NzCdySRzW?7x{~>2^{hh*$8aLQBu)REV@(4iV$8=#<~)Vl1Z?M;ay2AXR;X4 zgI-<`-TidsYv^?~F|eRR=X#Y%p~(_NsMX5mDLjtKQJcdlK0rk^aD>KBw_5BZ3uvAY zi%a7W=E$WDl$^{)cLtYI^?bz*^%c4O*O(Hx+4qB%1M@z4A0<04g(NtF|7SH$cvTZ( z6}T&;xVYI5fuO&VSkByu+WI}%7WnQiYH56Ur30%WGP9?Kc)?SZebj8Rn_61))DjF^ z_bGh9Hnpct>LGS~zPFw2+$T%EXzNi59#_K{Q!vB=OVQCIt{4O5*JxKi0h@pn{tR=V z<_;FJgO)9rdL^fmn{$DMXf(PopHj%Qg_;lxmUA4|rNc1ErNwAO`)XM-S;FY%BVKTe zlV=*ZCRGPke)TiL3(cTm239c5APc!hyg=j9Rg53!&abZ}%t=t%RZ`iDxy z)m=w11{pB4FV=$++rgSUVXTTaSTd-{Ynz+dwT!y_rdGrX1-3E=_{We!TSTg$;BLU- zmF>2J7x=zsjrNM_z-oL_IK#g^R#>nd_f9mh)DSCHD8y1P3JbfsVX;?T6GF|auy4K$ z_}l|hbTO|nhfrg8xicqI@pL*9XUJ16h?QPi1Y*ro_}2$qAn?~h+9{vbOggaYRK+SZcYx9y4cfGaI$sl#8KU_mtUPa)x`Ti3 zcNvD`xLQSjP^O~5K?=rDBXf{fl}s=+us=W@BRITrIc}faOlDqPyu&aJ8IB57_X8!YIFtXrkULULoqV=9t^Gqdh|SNgsmsXRh#Wx&*6}OI(nBuK%-zCeEFD;t zuaMZ8?zEJY3ly;G>}bgMgUb7dGC&zV|7F$OwqDZg>{1l$So?WZo;lS(TksfUrzr5x zpCDU%@blo64lIKOT@gIu*u?=_2Uc~XM`6HSfobiK6dv~b{5j) z{)zf5pUw*{BS0(&J1HZ@sJx1l%PX^e9KE>@-m8g+h^9XmTLD<1&8&sk+Lmz9O`a5rZ0MP*x!yERR=)pxuU^Jm&?``{Eq3d|u&|4lHB1 zyZaF@R9?o?fu)XRk4aF~E|3(0+iHIuCra)W8zV^fa>km%gsdn=(}B@m+92e*is6WX z6h6w3-VVY2U|IQ~!D2>NreLS@;9Yb|_g;N&z=EXkOD7)KS?Q!19as>-6e|Caoj5su zb||>R&?z-1YMk|AT{V4iT0j`hozwsj#jhEwf1i+QAe95a_sC{u9*3Wi#U;6PUcnrh z4$_G;^V+I+4t|cnGMd`a8;`&bBFbvefmN9(%plS?SZK+FT4W~C4t9)2wcluv7)lQ8 z&YIFjb>+M)N0|dsV*)JIjz!YX6+h-xEHsxcBfheCqnoN#^d>UtUWU&SSm4IGGwX0o zps-m7R^<^)fg}%RwnV|D$uPSMOtm)OhDj}3kxxBr7%FjQ!qR6&*mGx|iWI1(q=wY#o}One9iNCLLH+n8^c&b+vGDYd{+`qXk@Qn{UI* zZ0h)y1QfkvoB5qOuxbMO9veffWilENI~_nXFKBk+nOgp`445Z>43;UF`@AUA!kI_K8&-i&u2Nn>kf7T&R zBC6A3$Ny(g2OwKOc9kaZ1R{6Irm*@{Ii6fs%k2^nYqgY5wSR%GOh7j1czs^Cit4}u zvF47UX<>R2sR9a6NE7}+H?T-k2Wv1{2N23R>O-2W28dd4b%c1Na5Z-AI#h-_dca$;9?(Ps8E87obhG z_hyoY!h$OnA`*C=8ht^y_Y#K8(juTKCM|4iB^3;-wbZI#BFPycMV0^ko}s9lixeL6>b|Uw8P8`Y`es z1&!9>o3~-j*Nu^_QB>%c|r=v73UPoLdA z+GfN@yRgbLx;9??Faay!hh{}M>6&(29qvR=UA%f!e2kBF z2|PTz#1B)*!nRFmNBb_@&ZGVh;?B`G@LgwkkJl^m2{;OWTJLVbpBB8%w9tj< znwQ;S{4ZB%uF8TG12w{%S-5&c{8muz4q-uN1^|mn(z;UrYXFMD;nkcZMKK?jwiFfO z>Kws>^4Yu5r3rC28`Pnq151+$pyU(;!7GYl7dngHesGE)=ZD*v9(Q?BeVXkZwwyZC z$Gg>M*Ozegd+q259Gz9a=AM0o?A>SIO>2*L@zIIh?|KIx{chTgH$S`KDE_V&;k&AW z?>hM*_q#q&UjQE+w9%)}-zVP{o^Rr#FSMiIzlQIs9i8rNV|&gycE9U2bejk}=df8*8dT!$<(BNZ4 zThR6U>eKzF_-MzKshy*f_u9fOmKWO52XOSw&eQ!7IC@JvI`OiN?mqkWzToxV$47CF zM(-WH121slt#@PrL9X%%9bV-clZ6iSc?MgdoVt!OM1*i}!WeSvPDi5=K`SF6c1?iTQ7Lcx8fTEtMt!z;37 zBCxhGABB7n6beP>Hx(T2G@yEw3Xp2Mw7s>%M}|qmT|@x`nAzTgx~3o-oVnAf-wo=( zI(+B%)U;!I&=RD9EwmMOIESq?m;-zk`~Xtdlh8X)VH#qyFdPM0Sd2Qe#j1)XJ_7Y9 zJo@&IhSj6t)2a`vohJYO+<(++$vtY;K7+QBqqKI^yzi)0JxZh=HRK#MfFI)21&6!l zzyh~bAuAT)6&M=GecbWHSXu`(wlpZ|?D}?KWnp1qWqv)IOx8b1mAS;)94VQFRyKC| zNU8q&=%KsLEG)X%KSQ#?%c$FK)TIOKpzJs)bj|P+hz*-QS>vcLJUq$|UhH9OobxD~ zQe<~*Oa2}!Vi+}p%UmTEbv(1@ql?>$EOY5Zl9Jc5YjRpib6ows49Uzg_KIR!h9Ldq zsN5z1$deB^J!m@`zW$E)=-HqStfM_Is0*7L_)%mIn?Bjr9CJ_G18j{j)Ot*wIUvEP z^!(q4_)6{LODE?vVsTXCdvjFRYMg_D5=T+-Oq{~MXoQzx(;wOkukxoiM{%0Ef9DWu zx1pOuyc@E?c0C)^fpw(0;oKlUGfjx~sRGMjHiJ*K9vcc_)${(Gkm1N)<7gE?|rX3MUR%A5|SR5Jz{;Dz#!?+5l*4o?1KFV(g zWqrkh>H;&IFf2dA!m9vLL}v@?1P4HzdA- z8OAod3TT0-Wiy7Ma5 zz(t4*Cub5{>w%DptLR)-i5KatR>wC>zaIJ^c=`J`tjMb4sx0Zig4JKwL@y8v`f}8}85~5dsJx0F0tzT^twQNtZ3V6yN#L4N zv)R{wE;A$J;EGCZF95D0CF2Te?eBm4I~-z-PJD$LQL0VexRM3Eft93sNuTe|wStVTxu59Sbsp-jIhaytom#AGgik2lk z!gBF2Q54J2j=K6>;BKhTDxL871qVO*QdM?bqsSB{;J8PAd zR1|m>nk&?ULqQDY4{07HrXI+G37_-u5o#H&&Z%HJA*Yr|a21VVBg6U{;EE~%SC?@c zjz|0-zm~9_wwz6_x^!Uu0MFx`y$wIgYK(R1J`l@x3L04qbf=}J8KDJDiSFJ@V{Y-< zB=4EIgy;tOu)d(*egFKjtsWmont7!_lH_5r(2;xCA)&o!P94NKV@3Y zyPeRlu;-nhGTZDXvNp$9OIgqZ_sr}B_D_ro9=;#7H!2yRQP=3r0O>#$zdAVG_qM(- zf$vG3lujKZya@)~t*wPs{4lgMP({Shs=TG&p-6@$!_f~(7; z4&IBe2A|Rh%vfapp{~-U_Y(FX^o1{HcEcG$tTU*SwLO@;K5ngTh&41Tc)VU=#w*_M z>|q}d^qCP=bLIhsnyrO%4Oj9bboNls>JG$cV@jgq+# zfvh6eF%wL$Ed#C8R4}wMw;9K|plmDySI_&uLT&b-IHv5lS&-NRtqYvVxiE&{PLEPG|Eg#xVi+ma$;QF z+UXknuYdAu2(eZZKRjvr<*<)6>A*S`nTM}jLHmeh8R!_Aoe>@1qEX)c&fHQyK$Uup`om>yDWJ_%{mJLdFI}(bKD9gVgD;c?(FbmuTnT?&9 zE(^=BPpb}zAf+hO=BhusORMPo`dX3{+Dpcj2jl8B;3`bk0{rs7|Ngg84Eo>y;iT!O zfBWBl_zRN`tYeS`J##qTBg?+@slznk65QS=T~3eq23cx6L*C`_3dF10I9Y8IuEAGr zY#n$-dTz*Sno@ZM(Mm?iE=g*X6$)Vck`f1IRcPH*WZcH54oO&AtMx2q_yjJaC|jx3 zKy*=(qS2^It86lnfqb?+TwOrp7+0Y1FaP2nfBL7ti$s3+r+@oTCrtnR*MIoCAO1oI z)-k9PP0Y?tpw9gz>K1fI^m=ATzZRz_P7K++J&*H`>+4@CqMn;H@|@p>n~53e){ph{MEk!_ zj)+mkf$(n{GXSg2t)dbEYHCY?3xd+X9JJ6mxO$m` zE6}fo|Mjna^wWgg#Uj7^?Zk7?zFfN^n@Y-|J?Fsb}OS` zZYjxRIunl@u;TG}CXG3gNCww7*XIM0$`Z9NW($TS)Cg9FG~jT3ekCWgTJW!?%y2bO z>Zh=FBSP0E3gAiw)=z%=5fkfA)e!510qZ}0^w~LGTFt zNUdu>W->YcWKSHWI4X_zcd7RF%u*;C@+Y|p9RpA&+Fl7QN(4Xvt&p@3@GotzE~hrL z*|n`LIcS!*w$|3No2m8fc|So(ETRH#VJVftB;jfWtAsgAVmA$;i_*%{aux@5hSD!G zt@hKX`~8rI;A-R*;L2bGa|jFxEKx0ZETUURq62~Z68PHo(zgEkDI@b zan(j}bvUpf#QII?A(jp--PSPr;lm5md7$+U4Yzkaxiiu0a9l?xeSR(5_VW2GSXFDd zR$2DL^mc4-S7fppG$K_qcR-fo32Y-@##N)(Vn|Z41>l11GFTyrC>8^dKolk|LYjtI zl8AG14ZI7PgkoMx&H3TR5@I*_gxJc``X(fT<*c{&Su63EQ4MdR@D&$ldAf60x^4 z89WoK+AdxOis=|yxYRx8U%=d03=wbtoIX-?HM6&?)7$s9JIe}G-2-L=Q#;=#76V3xw4x+b zDOl-v9EiqM4=aqMwGCV{+l3W4EBxEbSsBM}hVpR;mG-kcmGYW+SLLu>P&o z5K9M^4lEOEL&I%BLm`^AqHA}C`ud)O`byK+Z>P%A{l3HX{4n*6IdU}ieCSCJDrM3Y z!ug4>hFeOZdr%vj4pT>AbxyX{!!uQ{sJtuUA+5>ag-kxILOZZhGKLCxNGk0YMtVu5 z{oTj~ge>4TE)7^^gjhPT^rCym)uBhPI@rVGtME88;huH5-EODT?R1wWu}rxSm$QJp zd%|zT^Y3mJCzb`>aoicO`f9@~iEPKo8Jo@}H=~$fsb-&@$&r~>$*oi#tYQHSD>IJY zDuET4M8i;Nf6luF(KUGEA{w{D{YL4)f+`l+-Af3ubYSVt&mU&{QRm@B)K>e{tY=1W zI>p1~DkL7u#pei~au0|u?L-kB_N`s&7l^Y};KzzCvj}#dea`cDk);L|ro^(!tK984 z3|XDi)Wd$YDKSA}VOL=lRbjPM4Xhv+JcWjLD(%jpH&)aGruNc-Rc45#14}oK79391 ziC%x0@$$Um`Mbg1Lp1pH;Tk$zFJAZW>h$uC#l2VdAb0nc!lu zY+#X&!auE~qfiHy-kPI{wq0^~-NMwH%U8~{pFg0^v#sb@Ww~-^O!Rm?&SJ3>+fkEV zLTGm;?SsIpeS=(>%zP*snpfl|rIk8>kF+w!c40NY4zNmA2rE$7-hxn9|9zL}aq^DQ zE`-8%_#rM6Sb!xsNue_2@vU&B_MX);<- z*sH#~H)5w*IDt}$p9z^I0z87?1*Om9tlZ(hkD(w{l>)&85RxDC^h@}Hd zPYG#s$tg_38vCXdjk;!>f@^4)tvj$Nj!J6d84e7R!KHZOYiOnri<1rMgtj+gx0QLD z3|@$HRryZMw7m_rJ-~%_urW9$uMMD6fUAmu1tC^xWp^D|`YmCB2n%R{E86h2rd4?0 zYM)!+rvO;>9gz&esr_UEi|xi)tKb4)6Z|7k&UoP z#~)G0CzHVo2dBhTT4=Y}(Aj5DXct6RUw;=uUywC8RRas04ac7o>cDD#`37!%Wn&E| zI>H(nC;}|=>7L8?hOLIm|fVF=7z=D~}RB9Vn*$J)G5r3IPnsf(NDcatR z(B(VtNTJ>R^^9CU z6t6(>Kr=W;IXR7kD|JFVS;RAk-3y60Q*CIa_1~O-j0^2=Cwo$XWe(dO@xt_rqD?m@y3<~9e8n)yxgxw`ngCc7;3_+(?hOO8)m%!} zR!Uc&3U(k{*Xws8@6ihFK`6A>5?FUj$O&~|=>z;a5NZpa(3H?eBMdBl6j_STq(GHM zSPb~vkK`3t-TlW7ESwBxx1&43)dJbcMb&^-kO~?QdU#_Q9$DI!rG(bF}H3SxH z&iZYv@j0OmtdlqH{LaX|Hulp77LC3feUIo0L7?&~CV`)!fVi|jRPD^sYHj$5wK=j# zIu?@r>uV5OaW$Y73nm8hcawd*h$~m(yBA#uwUGAa+5!u5!rv7g*`NbUUqbQX!v~nw z@F@c;*z$wk?;TeMD!R{tVOKFM3H+jkfd$Qk+X{DV;Z-`mzM$eNvXqJ^GBt^<%ocka zLYMCJI-&oDADei84kq)#4{9BN^-Zb91|3-Xny*h8STL>Oxlq}fFG^OHr5McXTL)e> zC$L~?e%7zzD!QFbDo|ywUNp4dyt+Px>+Bw!3J%@4icpUoCb!lFSTM4oXc0>XmhN;f z+?sRQ^JxH!?Wk~(D)363*QeE|nz4ojQzVw7p-3bWiq2(~bWMUQ7A#jicSrkNq8GXadk04@A=F_fb@sXg3%YZD_l*v$;?iqaCm&dKm^jKMmlmVgfVHxg z$>UWMH9vFU!jDL?btNv>BojP$cNEV-b9-Il{TFvJy=dYPZ2+*y#D?GKz|w(rgxb}a z?ms99tWnf{;(-OXgr2g2MS-CK45JIMkG_aiD+QTjE%tnsUuDBDsSds2sOo8T@jIZE z=ykaqZ{J)*$V}RA8U(D5;KVw5?5GYbeOklp?9;*#7C(V3zLO3tb4zFM_k9mLtYsQT zH>DUB7)Gh0UM-k7D%WI_YS}MY#MD~aj4KP!>f6zGA`i5h8G1@Q4Dk29QNU8$36H9} z>%h{143%)A{c0a!-s@Rj~+h%U1>Lh@(D8lcHSiG~78t-9;LI!gbay)$`gTg$@uE87emFPn9{ zWCoMyYcUE4R5glCc?PPC8N!eq#85<1m5gx=;@UkVski5ujYAf=C*J>%@-oGgId59^ zU(&jA-VDe}ndl8V8I^cY0{rTnbHDQ)+pPgOfB3n?QefQ&_lpNs96qC2!URxqnO3+T z(1r9zPUF1Es@dntiMAwPW2ynKjA^x#{sFBLV0nG|=Hmj3cHJ$|y4%3|l|@^dj!MIN=9ngo6_(4GqJ=Fr4e^faP>??Si@2*Zb)E<#PFDwSi@6&)wjSAH4p+ zslk%Kd4S2ybV#OxtM6%5q8~#GfMwKmw}EBb%W$}0)w?%xeMU6}EQgx`fQBEvcykRT za`6DXt}6qU!|g;z$z`rN^iEH(-W^wJOU8;8^xP}Q|ERuk<%8w~O9|lKaymr5rB!#8 zR`dgI0kEjn-3FEoETf8WZ33L*+%;dFQDO#Ij@<$V$5TsV?(dj~{^ffxCKiX~^e9SK z1}yhj%g$|>A=b$2w+FQ0UehKVI!S0n3#;qsmA-MB9txNXufR9}ws$F2rIko&#RBhX zWf8FGG2vy~32k86z+x~g$*W+_1J+o3P&NZBcOem$MUwySPs{^nc0>XJk6+_<-KMX@KOt89V0)G0ms{t0> znxp2;xHXI%J^id$F4qQw_j)ZWD#9mwbZn?%N^Ru@u)dSrQbeLsS}jcVvp}gzD~o|e zj|q(}v20-3O7}Vdi@^X16=8+0mP;Oq1Ke(5&?OD6ID z0j9ZsG{JSCe{-P4Gdb7CdKm&@gSO}pOMRRi1}7A=vvkDR{L60C!#M_q=yI+)fL z0KLnpEkgaRB+)-VKG6vzI16ZX39zUT>tpye*ub)Z<-XPyA{kYdmToIz9FzA|LIw~$ zoau`&9UWnX$dZ21B3+bWwV48zXMIJ^%#X)= zeL=}TFDasb91|i17RK`mNeu^8aR~_Ll(e5HQI*74+!Ph!&t_*->T^8XEvuR7)JAft zqxO<;!x&i9ts!K}(|zRhk>0{GZVz?o58b!KyKm(5?ZqAuZeD{`1c>ylCS!g&(kzRz zKO66NQZ27Vsg*IX%H{G`Hn1)UduvYm*|X&NvW8}wVbwfKxO=TVMEpI#7*aWfXoR{B z%t?y8gI>Q%;y{Xs!$30c_iN-DB+`5YDKQZ21Jy%shC9G0uO6L_Sm1<3Z3D~Yv!A_pfx@Z-NL*jL8}rK|p{Z47E4h3d zfXmpJ-9ljPmoKsKvw>v;%NyxUC;KAa^9bbXS|C!*ZVd%j(=-VTqOB8ma|+FvB5fM5 zGU_UZC3R+QGo{F64vDO&dq4~*Qj|qX%7xM1acd={r;$Uo)^I)!)mO zjD%hj_wTT!nn^$vBUCWnV&Xce3(U?oa5%qp5p zU36d_jTrFijP9tQ1z{t-wnRAkqzcPwW+m{=06V$1k@c%p^@8k=h1agLz>pyD#xu>< zmxOi?>$0$ipS^bUG-o)a^keb80jeOK(iJ z?F_AlWaW<%*ub)Z#SJ;R^MO^; zf#n;j5m+435*Y@=U{lTn=s=+kEPp>XM3VI+&=L>jb~t*JI03FTNR&AYPy?H_7|Ez~ zG^cxNu?6jEqE6rQ@O1^2lNGNW7Uvv1Y9F15}5Pmll^yJR~xc;SZREJeY7NtNmb+g+G zuudOig4EUn%T~G@gzeU_7Mh*_QwLxPm^!2@0y%Wc`Dt27a%|6b-oM_2xG3iH`JA+} z45SVZ@50AmQxxS<+>YiYB8kHrheVyclb3SZqr|Olw!S^A62jYe*;2tobLjEGWnK-9 zBbDPDYMT+Ixorm?==SLS9A#_!aj?X@) z%i$kCYCN)_;ZA47ITpangYw>&8#$54s!AkL-ipNsZU7i+WjOug_A3LHZ7*XKwp)WF zB_Y%SST1h_EX%u`?y-muySn2-1M7mD=5g?}b3ljCQUc4ew9D^?2V+jI8Q=iH6Y0Yc z548OSK(iSgmK0c_9WNu{s7i&SW;EpG@FA0ikzD%Ay}d7!)7d+# zee`cULLGFW);f;b7RetLHn6;=fJMXYe*f$DPucx$RAl!j4|2M{l{yya1y`s(%47>} zNdwjm3aok#Khq}Gxiw+eh*k_X{_EkMmR^+~KYV#o`6#^FEpd#GX$F9fzPaUOEJ%A* zfdG;6D_?(8EIt&VJ1;O*Sp8~&WqZ2U9yYKp5ROt{SsfMt>jga~)ZOvAen6|n)8nVl zbzJQii~o3a_4+F}&oQ3}&T3lKuSu*HRtTZ6l1WZp2_}aJ{-NCrRW{Ur(~T8tzRDk{ zYOsN2yEW)m2=cE1SnYKN7LB6^MSV^E%M(XsM2kvg zqw`5ls)k>G=R4o|zJ;5FGN@v}ag`}S=D7F69**Na31C^kg1PY8@UUEO1Xcoo^_Kk| zz{R@rV0NPmg!huMDZ0F{#}4R>Q42w&VPz{%#_iqz$)< zrXxhG|H$4QPFNn=9qtz6^feqPtY7265+LTjsA&!-D54^800=;pB1wu#EPO{)rP`TP zHBkcIqe{XW0+t0Vmc58t*0hJ^cD1!RoG$xd^(GVqH1l!4U0*_+iggzs6#VwVlexJ^ zkFVXnk7;%H4$dRE`R(KJ^oI9N2>XZ&lL{ZOIfSs9j_v%Sv*(H*>Vtw?MKfW7>OObk ztCP*JMcC+sqk-oB0N&4pV~=YbSeYe#R5?i*&Sp7D&S0uwRB>7^tH|b@s0Z?RP=kO; zVl`sPVj-8)IKcwe8j%xy5%lgl?p)KrI)Ff}n{ZW?7M$2^f8E7uzZAV_Go$=9S8N!< zom9ceG9v6ZzcXkBqoF6`>H7B>y&A-ksuoPDjlBk`KKp!k=edjBzDTs}R)y$Lgdi_o z>f7-d7_(@B2j1^%ege8l5EE0|Q^P;R2OIbxMFcT$}gBc7gRh#fu z1D0G_Qo@H)C>2Ec)wps2b9|6tC|;4_mIbWU)4K*->s;u98;#kj18eK1j~rOh$f=75 zPn_QVP1|vVb?AT%R#eV~$L9tc(aGK>NDZr5^14WY zyyN|F3Kv_)=K$?{dJW=k*}uESCn7@Y}4ksjBJiyUYHJ6m?&oD43{zH;CW6KEMTql0cPi*^L8+cLcJ#-ilb08y?)b zc@y%nud z%Mzv#i-9F78BSK<3HT`g5tU(1!YmRbh3By~r{+@FGc(4Vh+Qp3l85mGa0#eLU~9Q- zYoJOL1;GN=%JS+sYDLa>b+O#;k-DnD^7xN6ecT=v23Ckp;-n;SNSIKB3gXq%;mg}E z*pDMa$2ZowAU)g-Ue{X@t1dnFc<9C`plWpV#`OnJpQZ86VAneasG1?~6Z3PVp%)oy zbzazU^vsD%J>5Pk9%770RniDp`MR(4bbht{WTRo$+}7fBjST*Dxa|%s3fDHUe!Xaq zP!>rx|3VSD?0k`mCMc>X$AU#s$p)x6rDXtE87WWs^jNSUa#AS*P*R3t{=7d1u5%`cnB&lWlF&a5y;{hje-e9hJ|H38X-td%=_UMe!DML4EVsv0@g~Y&WZN- z$M7Cl-Mc(I(uB~)Wr+pAVj_vp+s8icC838pc%_>pl16?~7`PRpnIz%!t48T7XK-exCLcb1^7!$+Cr=;FPEAjak9WM)iqC0$mBZm28{7lC zexTN^+xA`VJbbX<>+=y&nxQeG!p0Au4Eq8DJ!g*Y+I9ee4%NBaz(K5~d>3>^gq^}Q z2&^h0ca>y(`K%&|Vlfg;L_9?<9@16b$3}ulHaCxfrRoV*Q)8?qWpF4;mpEC>#*<+p z9!lz>q%lc9!4kvSIDR^jpU<%#FU9(XG3q>iB1H`=GIqX_(P$zjmar|w#0zTH<4LeI zCZGkZ71LPn$rwv}PNO#4JDj3zy3o_}S(B?8u%eMK+nYb~pt~QT_RTwYpFVrB`&2Ai z{-^Ir7~nEoE?>+$(9?aX@9XU+p+=yo_SQXvV-8T6Urv{6#J&_^UE>|I(`nH3WY>6C zM^!fA9X_0m@QQ|@G26zcYx_IgAnZC>C_w6{jxv?EpbiAp- zHqu;1PK7!!YyrXeHNCWSj@f^?si_xUSJCn2W1sIke;GsSTz|mpjrpi34Vc1SAb=_a zB4Vey2M(S&zwcyInN;?gNwt_*4{qMMWmdXblfW{nBO6Ir3o;IhBo$&9q995!R#%l_ zDygd^W|5#|MO9;BekP}KVj=D+V)sc?IRjY9f;5j|HlJr=ilFL@Ux66byqagd*?N5@(OmU-^^?yW!It5@PgDO)U2 zOh8m(OkOmACHm-+#K{V;YDw%&lZwnqm|+5yEJ`M@ilU^kBzDCD3MUn5Dr*GYMJ*If zVzHE@CmGh`(?!{UVmLkwFq1L)lJV?tG?G;~YnO0kfpsy}kK6+(-#2efELiqc&2(== zJ#1tx0IPB|$8?b#jb_xUz2)St^Ow&Yz8Fa)e7@)cc!aT%20wrxbdm@HzfPSB1OnXy z{XGYdoH%=C@8zqf&mTSd)mKMB=g*)2`s>rDuU@@;xv#Hp@7^4iR1`sZQDXeO1i%suVEHkycv%uLusi{ZDXF}KaZ{xIfVv8>0vK4N!iz;Z zI1Ip&q!Js;mrD73UX}_uFBOUwMA-lqF+87VV;ler2fP4S^2!3s0@kV2S@g?}fmHX_ zCWq}^4nMDHU@dd_87i?D;2LWzyIfm*9{TcyufX@|KUHQ+G(>|8epLX56?$tWL17TM zQRNpIZx0heALd{;-nPWcQ0z}NF5#5(J=HI+H=660kLavDV8Md$N1W2|qmWs+BFuZU zstCdLj2L6|dBelPYrovQBxprg5=t5!hn>AR;bk zZ?vj6)qY^>h0k|kdSMso;KczlhQr_#1{lN8rZ9sl2&yQ&L}j|sh8QN~iN*;k==1qw zu|WU1BiKXxdf(0qEr3i@O@o#EiubE}=#U86VtA`?%>hf0|L`MT5dO6iaW~jQu)$m@ z7hyG3@zXh-AErDyrb?t#46qaiRzT$abU@;yKr#_6iYBl;04$jEF@a*9U`nDCU<3Lv zPr=yF>I#+A3VI}25Dj1@2wus=ShA>7_?xm33s@^G*T!GP!n={v(SDL-FQO5b1*~e- z8n$9qfLAlv0LS$z+l8(zCwK0{TX>zFXAhq^a_L~t#r}bA9RBiwf)pqi4Eh$!@ArEH z1N|3!4qiHO;%sNW99v{ugNIH#Id!n8U#|+BI*h6BAqB<}^ zDq@jfX_n5(oRp^-7NahX$E-iAXh~xNp5VkH>){o#K;f4%0bb08LKd)AdPVp}D2Bt% zHaFTyq|PDt;JS)oodaOKWyMjPgMcC8204HtwoR?a(Gs;EYHF}MwtjZ(F0Q>aP$`V zSZfJbLOFnS_eWvznHX6b&TBbM7ZrS8&*z7^d_2JgohMhpAd#X3zxKFIrk&=6Pb!jBKzq zHf%c3)Y^OK(4pSm*4Cz`jT;Xf*tBO)LqkJj<1cMC+h8U2%1C^G=b9m%Ys2abjuO=m z0kQ4^vDOZ-fLDLLyG%Pmfm2jTR3$j#C#b5b;14*YEUBU@a^>6{8`Htqq;`B(J_z z0;wByCc|geu7?G{dSd}Ud!wVD@fxivYS-Z4puLU`FUx6KIWr2gU;4dA?#so z9QjGJdRMRQ>utwz3ye=%_2aY6Wnw)}Z|JID6TlMi2H~B%5UlN|MuWip8 z7GXA59qNVNVxKy(CP%JgV%@!YZ5EerUIV}aUg6ast}65Qckb;a@Vp|*!rB0q1uVP0 zHAZ~i?tJAHou#RLXsf;KO^i4pvQpR3j1aY1=?LAAoNq2@u^Dn|*9Wm~;e4#?xIsq!8UPl=udsjhbDF1` zm8{kVuqw<_^x945Vht|-!cDDB6}7@v+q-H@4;_uLN09qXyn=3i&h{4)BQJH4^o634q;LPBu{Tlu(2m2q)(f#_A3&pwn>QZe!l?BhIk0~H9|o`B2;s*m z3s@_V)i7}oxfd*c4zypSQ{>^kz9R$PScIK0NEP>;>h8W2V|$QeX`G6t_ab+dcVDI> z5!QR~>|Rs2^uRJYeD2~R^^=R`U96aIk*GMaNHoj*l<10*;YcLR^u6%}rQO~{PWbot z0@pr$Vr@v@yEO`Z6Cc#ijDO6)`lAf_qNabfT7rGTYLYo_<$+}Z>ul;wg+f5A4XDq{ zrY10{Qc?e@z`()7U!ULgxeKAKJ^Sn*mF zNrXdme9OW3k{UHABfBgvgqW|&h%<4s; zWC1dmFySM6cGgfEy1CalOSmq81sYF39QqCdS$7^!Pkxk6R+kg~ z?&`l|KM?Y-R+CqX7SkoJ3a^IsqAXazT3NXc#h5RaIvMT;WNM?!Sw4U==Is5FV!GR# z?KPhz1opYm_RjuT%;#Mq@^yK;doEVjkrP#Qc5ij{UA=#bOltRWk;d3^y3 zh*g(MK-<&VXVaaBnddP1VG8`yl4Dg><6UGNj z7{=xM8PnJh2Ti?(CG#N+O4F?T1TPkoK?_(b9>O|Gd!4qC8r+Q5Znhga2Hy%;5E64c zMjDz1>lbI6I+v5<-Q<2pIh+QkEnqDh$VxxFeG_8uH?KcUe@yGbuJQEDz56%s8sRJ9 z@4}nVAWN#MikxwfP>{uWNtQ)?$LI$=FDj~3p1>CZXG~ZB zhCx=#mvRL>QOK1zsh|aNc|}opP0Qj-XuB$vjfHaY86u8fqQb2bZSnC9LE(bWP1+G~kBSH}5~0Nso7Z6u3%1 zy*&yT9sTjw|6I%QK_x&lVK$4ee}4bR?}ax<$@2`Q59eq~&eJhPDMTW}*=Shf^O2tAE$M-Kp19>HlHOzq^<`; zRt#(9j8ba6P6D84AM()iTaq|M&c0CRNsK9@ zLD;;O%DvEO$|&k?0c)k?bRe{?)0>K(=-pGpk(06Z?eQcm9pBXX8Seb~hvPr2O&#C! z=VdnyZOsTFmuuHI10%6K(VZj@eS$er_b*g!K<6Mp3hC!1T0zMgGtKo z_ea^%JVux5W%Bd65aIXv<7^C2BXPU|rW~7l@v2V_pH0LIvQ)zN1K8N_CsL#+V_@YB zU@5vrl2izKtwxH13c$)6k6JOTm68MFYIhICvfaDTNG)Yk95^<=oPz}!5N%r*^2+w- z13&ym`F>4``;+^J<(qKW99tcA8`h(`#;0Lj2*@gXS=iNC{hwiSs{YY!`~#TaOwT%M z1r`FLVu*0wKy9i;*OBs}G1W2MtiO{!sCS_OcTp23Dk?NO=5$#KvB1 ztSK48!_qLYats~x#|>abi;4xT6&B=JA+)bQlA;4w51|%&T`k*W7l`=2Wn(yXW4)~l zT{Ksd<8Qy^{?D4!ABKPbPd|(;n@%>;YO}9TVi{>q4{n&qy8fg-Jv%7C3)WOZYf7Py5Tg zo~3Nm1Qsj_v9U6&%0@tp4MLVB4cVf+4Vs6wp4M%&-`|Mth9==4@ z=(mp_rdQ3)>KGrNP0u{NhQGXwtLu+uj7VB-z{+qKO8$ae^m}<(B*R29FJV6@lFwuV zL}A_l7TAP{kcLSV59gI^jLoUpNW4%cn`ulHz)&hCF_*H5XmP$kg>q6MZU75EP>3Y8 z;Vfw-j=o<(;`t`Dr7vLMsu#K3_8Rk$z9ER6%NAjApsQ5S*gdSAqW>>{_?}yn`u_WW z`Q2~-t!{9cp!>ndm0s66B^GdF5=Y+wS+HYxNl3@e-nOS%Xf!E3;Y0B}ewdJ>7E#7QL@CW2Whn+#)M z;b~RLu_4148_I(0r;8GPW5l1Jl1x6EOaid*Ti~5UB2LFGV7*Vl(Z0=RV%mj(`Cw*stSqgbJ-L13=FPhXC+}2({xt(jki~4yPxv)n53DIzzV^XtPTSy1p> zN}|kZeu^x51J>c^_gh`G7vqYieVqt!ReRp#H&l2Ra#ra}7+R3&KJpL$`1^nPgDhm$ zriAbRWmr1?m*o;i6SR>yy55n6!|!E$+!}g3hlw&dz5>wd!X%uXtU4r~wVCGMrHrI4>xvQn^HoIQ+dT!Vw)2#-a)vh#bC>BwjYo+(?pw?}H5( zbE;_e^y2(XUR9)FUQ#4g6keL)cS2B1w93o8@AB;zS&XX_ThJKbs#ZbO8Y8yd$)mB z@J*xmo9;bJ&%he=ErA7W-~>f5&N0i}tCn1F2c~2J{3)}saMXY97}^N9s#zl&nohAt;a}@|0hV?6xq5y< zdh*dV)9=B|8vXY9y}A0S^bB}fKbKk^CaluWo<115@sd{G-Tn5#+)R2BaPXps&O>G7p8!_RdH|MLt-%sR!)N9m zV`i1(S>R}metY}z(}(sn_*w?GYUWl4plZBha%L)B|M2Mp6IQn{3Ju@t(Re!DVK`SS z1*~$cs&>?Hi)<}mt)v|2sGns#1N+dXU%1}pDHf8jssSssE-5k9!^!&k-xrZC3r>3T7Cnxa&63_+gS_&_G2j4fQ>n3L~<|eUY^?c~Y zC@|1)t#E`4`&RaJy3U~0N&*XFTOViF94oECfxbCM&@6>JZ*6qE#gdR2Xm1{@lJRhn z#r{{@ryX=}JxS5Y1%;$7;WgUq)XcL-4~FglwC)90Jiamb59;zyME*D&F>6{4Pf=%=>6x9=kV!4?5w?^RsGtO1*{rn zbGM=|&rvMnJMkHE)_6K@to?I>IM(V~e)9OvQzSGi{Dgr8%sxw;vu&_jpjv!pW-^V} zaZj!d-7;MxjGMco7&w?bH|}45e(k~ICr{_*9zGk#gj%5b@n;Vo&OLqd_`$W?-`>E) z16CQ18oUQ@K0bOjJvCcz_*NeZSh8HXtlsa-0@e!4*4%O&Ba2{J-)V##&YH3zT*tfF zPUNoE6S=Xiz1j9@18cCM{aE{^*Lh{F4Ka$QraI;x;o#FhMn@!{Gy}2jYU%CsR!VJQ? z0|Ina(OuKx7JdXGVAo-@5hpdwZZOljJ`k{sqy>TJ%Q%vi%&;Q7Zln}T1t69Mtd-Z; zFEFwW5);Y(9XKVct~M9zYBd+D+2I(e`=o&dayVd{)Kb+1s;DU)iver6hD%Wedy zu3f)A^zD6Parm0R!MgG7(DmEbaFpxeIQFZiXFDnh^D7Lj<@$M*hj<_sy?KRG$dsn? z92B4NO=v1-+L<<-Bq?g1^(q+)SgVMvT|JQrUmtS4v4Y>A>v$l!{9!^@)5$B{Tbf*- zdeD7u>;$T*DVXJJ!4h$LI-SN4s(*&j_2?0fuD{Y_tb0!$J$;H}@gq0^B8^dHW^Ta? zRs~psEJ%`s-6J6*N`i>#!zq$va70q(^AovwMG3Ilyoe`cv5@B#Y!8nJKsIcz=E=My z$7o&REMTo3vJgfVZh6zY$5n%i#r7lj@`s;O>?O3>SqH^y9PWSn-@pG29LEC5oGDpY zG&27aXKIP*k`btO)2eS3YBQDj-vF@cMjU0io56LoyPcbZEM05021~D!tTs&I+=eQ` zsahMrsDi3h1C}guMO`ldqKZYipzF20RahKN(*TOQySuZvdxE>WySr;}clQuH_~P#F z5G+7|ARB_a+u6L|f9}uC*=KiVr>DBBx~jUXd#b0pX97PS9KjtAITC`D!MYevxZy-E zRRc-NcyLKvjm;WIFRQ7mUPhyg38eP}YL%%P?YJv=H^1Zd&pFb)l0i6`Yh#uQ$=T=c zK`0l`d{hzd7cT8pX$XobQj-}_GLpEH83>OUGlM4;xl$Fmv=!n!8nD~?ei&bC&frt< z^5Q;j`HmiQY9Mp%BjYCT5Q6^1>&KS5u*h1#d$Uk?m`u_eX_-Q1_n=JEadS{>Od95t zzXkFlCAzU!aEHbE(#hY@kW#2~YpF`QQ;8KRNxGv*z=J)DGP+r@f0_w7i0PZ+93dTW zL9V4|qR$NO%j!#{*X!9gz`vFcAg;|+57+shPrX5f8>xYl3_cY&*HQ9<=xQ^&JpzE= za+Dg}a1~XLKe%0TuHzLmt(0yQlxSH?FS`VOWTNC`W%1#Hq$ zr6y3vfd;^73zJNyVhT3k37aX=+o@*=EKdLC13z!ja*__Jf;{+6>&M-g5YK~PgGl|A zW?yV|IZ7Eg*;E4F6o{A+eMs@s0ZeY$^e{%M7QdFo5Xem2#8RG#fUZHYc)q@D5CI2n z$^12w@pQ3=vmA-ar4P4EK^2MSb_xfY890!kq0nMSG#AbYTcPWD>NCFeJ(@9@;F|c= zp>VWR((+%YqVI>UfNe}*fB&wv2$a0J3~%gu`fRq(^j;=&5Svqa8u@VJonfoB|r}!ImC+=Bo{S&E80Sc3XFCAiG5F_ zs|2DgyeE)f;9z)=r4h0EoTQz4j6FY6!b*H&R7QjXG_9)6Y#p>?fJ==Fxy9aL4r z@fu@8!=5aW=k$}CX%t8u9$=DNfTOQTgQ%6IVvZpq&RNU-4b)GNgwTatg<7qij*ayo z>vV8!+?(#yRc_fNzJ2__eFQ*Z zQs&Q)5uK27R>-V~P+ECEbj)II1{{>Cb&nfGbq??+!#IVgS)<0NoqVv_wvA0=Q=P~vi7pLNwzv|`U>uJG05z^%?_ zeTJM72H04H7fZ|TwI}lI@3Y#=t2=GG;x57^0G~y-r8%)U#w28_+-Cs2oRd!e!dY4 zB#JHdRt2qvO{*MPCV|ZS6t-P+evDEW!DUTU32aD!XFz2fpPRm?DF_3S5dk8E52LRf zsOVm+$URLVty2m^L1tJ2@c7S))V4S0TsHS-E_O2CgO+kO&qz2XvbYUvnVvJaw!~QU z>`%zkh6>&FtFHYYZ3^cW@hGwRY z*4E!(f!8%VX5qt#=HpssQd1DZsq9fUpzQavQxfYK@=k|t0jneL94YgYrTq%8+~PoH zb!~7m{uZgE6M9uw(Oi*o=yG)PEo-*juFL^BjQW6>dfvyl3R}DYdy1} zZ7J9XtPx(P@x5sBCi{ zScRi7A{%$s9Aag6236BFJ?hXI_$TpV7|(y;gw{i9w3`2UFvN@B>*p=d(IWACK$vjU zMgmhlTJ&Zlu&waolnxP(`B5pom8Ru377`gI=rnTURP!;N<2X=v;F;YI)f&({#}nqS zduGjo4gTCjl*0t^r~8xq;j~9@^X4y zp`?P4M6#JJ50!*+eyf7*5%iS(jTP)xyG)N#xc3Y*yx<^4x9X<5>hs6x#%Eh8tu$?Po1V2M5H+#hH4tvPE;dFLVb*xie4WJqJp5TzLQwXyAK00ubV4g|F|? z_WaG@S8}`0RQIXA>#b_2eXA0RRaV#0vK?)A{M?of3KDBNDHLa z;{XX{=!L{H4eATf`Gr$NFh*Sr0t5XZF@;?9yiuSOZBBqKRsfEy^`tw!odX!48h`?Tg0c0jgB-LKPjO8#O(C=PxUUlR z3X4dcUEyn&r9)tK35|q*1v41H10|9^n49M$+NP&UDUvO>y zJO4ZW|B}QAW@9|W^jv5C;l@8CnfDOWP61EuorW!&WTs#al?x0^`C0WZICB&2y#K`) zMhA|e0}+5>6p!cwQ~regZk~ZyQ_AztX{^M+F=X%^8umi%1$9*IHlq#?Pco^+Pjovf zFMVg$5Do=kOw50sKH8St^z8?yTHfB}xDkd!0c2{v8S}~1cwlsp+6$ZOUHz?Wqw0v- zV>d5mG_6E*lY*?)9w9vbU=DyhznC=W#lMKi(CQj@2DA2dsS}Xm3l9)cgZY0rOwPKB5 zebRp}z#?VZ36kcQWk^^SGY8jP?RXGLdhUo!|4;Xmx|dr&J_A(EnOO3WBv3iN4fUU3 z7y*^@JwQIThpvy|dmo`W7}z?@lRN!jd7vo9MIBMOF|#VPc6}h#pnNTxi=qKIN5)F! z$i&;7h6P*W9D`SPp=sF{?>4LH%)|ga4x`pDM}kNLMD+;i@`rgCKnUap(LS#Lf7)WZ z^{M6>Qj%Iynl=*h>1mxm{VG;B2BobXEiIPXiLK~fN&ro|4?n_H4PG;i?gHvSQu0htXUHtw250}@M4ief`x|#B{WcW+J*p-^K zxvYkt?#2ony_`V1LZhe5;EH?o?;DEgwi)mz4&jG*WeI}m0#3}v({~4R;g0h|gt6m9 z&4Z?v7uYlTzX|>Q6<0RaY#{i=6ZC=m75E%!LS3?vUouLJ>nE<_ygAYQR1a0b;~EYd zfuPHPsb*y`?0W7Z=C3b$KSwg=Mq_fL&yj(NVBQOk77D3OBh>^$*MLEdzbl=C65TXQH6A!he$&bZReucD@CnbQaX#9CFpj&=6Ev(5vE7FFL;Q%^tnR-oI&c z0_ss9g6cBp(LhY{75B6A+L_tQZ=a33E~A&|)rbA%pc%;%(~3^_A4JnG_# zL8`YC^qq94+6EHcLf;QA#L8?~U1%VjDe5&||Jz^UyWPRo6J;Zt=I!aqBQe%@0^PTox9Da)$ccho`t1Gzvhf}y}^7_xRe|3ARoOj0jF@ax2k5m#xWyAv9$DI#R28cpdp z`#-iKr88Pg>7!!RMl_)b1RdZ5a)y2RG;%}qQ&rIsjLE2`hY6zLu{mK@%KmhPb#&fT zjl<5h2h<`TF?nhgyK0YQ!DDWdyB{M0Uhe{bsLf?5R6~z!8Of>`#@L>?)A7qXEI>}3 z6`J^wAXYjpAexah;GWz&)gD4C(5eJKJ$Yp7lJ~4L`pEw$E5WV!ZU5V?QNz=A=Fo-M z=g|b+h*YbY;uX1y1M!7)+;c_Qr%CxNS9L}UCt_7)ua=Fh9HgUa5pyL??Qtl5lx!h* z>I1z&XJx?mB`Ye~a;yMiHANNf?2wX2$^CNq+Qt&xzTX+e)@u{&^Vi6AY@zs!w7C0! z1TXN89_GQigQJ^l@^q^+zjR2xBVdgBAD6Ud`N(^BE%zO1Y8k|j4Q1q2k*u-ppNSU# zbWBOq&WL;thpU47*8DSy9$F_6eY`pMn^}@(KIN8AqcgSx(O+yrZ6g`+#tY=#i%5G6 z`w_w`N5eX(+62xccU7Ajh8v~x^-|$M}|Hy1(EgER-V?AIWd|AzAjeK^Z zh9F_SbEZ>TFdBb^GM>P4C-lad91MX8TQB~DAB0F8d{s(bw5e-C3e;Q>36^<$s`ROk zgy`tQX3 zkVCxrlp*Xd+?)t!{FZ!XeQyJmQ^gPV7E1!v{R$}FVP~e{KTNYh3JIK%FHfksMc+vC z@$$J^t`VoKt5Irx_pt5G>%3LhDY8}38KtT)`rd(C-Eqj>5a}*kQCO+_8uve%AZpi7 znvTwEq5b!AU^d0(bAN9)tqQ?j9j)RE;;`#Cun+6X`Q(;RIbUG;Q^g2HfA@h5cEF1A z)n;QO#0cz1Q@uc1dl5~bofo|P!z~&~GOP%AmT4N2=hBCDn z*=ki$QN46+&vF7F7P3Lt2EVa=Y{O&evOOkWo)-;)+uA>hoE_Y&hwSn>6LJtXV<_fi zo4&eNLs;}Kvs*Fjz`(>}EAgRLO7`||t`~R*?u=Dq2qJA1s7_?~vkWJV2-A>B3nubX z7C%a+w;kXxG<$LEXY6X7Kp$a!Ir&6bfiF}F=E^h{jNqcF2P)&5+E&*g7TRdZ+ZFmp z_Ai`m>rcN6dt#vxVmzq$!6s5DmwoRcw#2r>lSWg z;>{InAMdbAh$pBA3b|wCu%zH4DwnTyQkGp#V9{8n9f>G4r|>|uc~}^7kPogx6(CB z;uEo*cPq@`Ta%C5oe!6tFRvfqeyT{Ps8>Z3lw|jh#?Pd;#@QkOIGOG|uA!GmbSn(= z{w#Mn-PPV6&*VQW;UG5N0B9LM9Wjnf#_p=yaPbpRl<<1;gbHL3n#w7T` z~~HTO*R6Jw8vOpq#|s<>DW-QzLkL>g``6 zy{HhG1yB+<%4N;CRUl*%D0kWqZY{I8H8G;{XokhDvdACIWYP{Y|0;Y(jbJ5AOq04c zKnK6O_i@_xJh}50K>o|~lR!;6d6DmXZ-G!3HOc=}PAJ(}MYBRR40}h=EpE2!v)~Z7 ziM2(hIMKK!J&ylqs~1)buMjjR5_2#k!8aJ1P_H4)4lhOmkammZICUh$Sw0A79y$70 zR(FmSnlw_opkVkXX9jD;ed~09PD+S!F~+@F0a7!6wyG4YhNgTicdPOU*xWu`MvFZr z2S14YQVzaFH|~7GzLu&71$x^gccTC6Qo(Zo43EI3*R~M^c6A&gNm5UA(UC{VVed#x zfklw_+>u*BE8?MS&sZ(uJsYzn55(?0(aMBwViQxhrXeMhu%zSX#Auf@ypQug+Ryjx zyC3^2`+Q=)gHR{gF58R$lO#0o%SU0PtvrIx67fo7arU(Fv;264M4h|X;Osk`Af2ZB zi}iu;ucXUaPbt^VuFuT)SmV7{1(-ALy_`BI-APgpw7WH8!O)fj-E+>4(QecwD}9t5 zdRqubP)UBJ0)$0}@*rLrLhIr&TGc2H8?;`Bw=qx6Q)2_I=IEvf7i_&DE79kBhl_V@ zAit7xshA&1$hG4B4b(~bFHE$5jJpNC)`W0I^mY{vQG=Ewifb?iZTFGsfO&>>zA~MS zqPF9RpqiS9V}j5}Ch;FU%=+nus(mge(`Zy!#<1dOC(}xZT2r&$b>0!zub<^rpcs!b zsR>5!&rP8}`8CTS?8iLnm|grhPE>ft+8{Mcx&HfEQAHMbP(4U$buHM7t7%#Z8&Mz|hVrK5Cxnec+%H%|JLku7oZEIx!bXsq)T4%t zj~KHRlSn_&Nk(wxIUB~%$8~KnTDXmX=%g)XY!~X;Bbch%n-R6Y`N_JG<2lu1MkLVH zp+J8U!ZF0O56;eoB3v!H3p@CZCxrf+x~Q!YBIxJXkphO7P+knOdAmY!j18@#Z=0_H znde;}PJ{8Xn^+MM$j3*9|DOp04*lRhkBYIT8%WZiv{2Ty)gQS75<(s4BI$#0c~C-z zo5VFxtwUuptKz0pexxG$_Ekp+P#N1A46HN~yI0F)qm))C$^O@4)#}OV=F>Wy!;$OXby*VPkX09?-j+bgb zLQ#{}wIzQ0Rr6{-RyAabiA*@QC6SbJS?%iNDzD5fhfv9s^N{H0S@Kjb96j1fZ&clN zgIOWCL9QKRPPj@Ang7>3*FS#e>C(WY`tV&-*7(lQ|EM1H-)P;o?{TXy8uxJT$0dNz zyVFK|`bvbenGunye!@(MRewTnl({&sizgBFZ*GC{%dw?sWp$Cl zTF`WcSr;NR{c3qUl^72G*bLEV;$Ov;jd9*(6va}Akf#{`zVPHIRt5GKcIF2*dg^d@ zG4Z%mttOb68ON(NvcAK>O%3Oo^P}_!u`iGfW#^YQFaM24L+)4*YY&+4u@MsQ1|u-s zZJIS93sN4LMk3N3*OUb!eES(apRi%k10nf44UOyALl=Y{ouCl=`s71BLvNXmqYpPd z2#k$ZrXsL+#Sl_Fk4CN8Dqq62xsLXBwNT0xlz8Wwfvu2MIUboQ+qhx~0oiSv6IeY` z&#T>c<}ewXM_2oNMS;)jhvdDkp?81wOWmXY8*o9?K5pzqjnDpU^^_P@u3btU5ywyy zKsobusgefoc{!7}j)W8#k&xiqXn`qlxb(9{ct55g2zFKm`;QFH*WrpF0(bNIyiJQ! zcufML+)-v^0+b7jeE+r~YH})rs3(E5VMDzzdLzGD^#IYRFSfgV5uPsKU2{x=9t%fN zetCP*ehqw%PyTv!3<|`~;{4yB)CVsGx!+VK(%pryh>Zn2UpW$w0TMuFx~I|HN;0&! zn}HA`3R>d{N2%)N;2DZm=FgS*x~17^EORO+*sXH)gK|3i+JtFTTX;-m1QfHw?#!f2 z3t@2Q>Q9G(CN;-7*BYccUs0IXnEli0UGwi~LugVzF#6gSoLeCT?`vuv#Gd|+ZhrPl z1QORw8U1hkf~2tjB0iCo7L;QH>!1@=Xln$aT7?~OrXj1sEyhi-i=F7hB|f;wY|d&_ zqIakprT4x{k-@G85cp2OjSjiDT&h+h>ihUL*dre<>$xQWG+9{`c>mNeH(itcz%~T= z-^{)D%y+;$wbh-S-D!#%pG&9wMmC%a-{7SHd+D1tc*)F9VeCHBFIa-F&#m%Hw%p$4b0gV>aO;r)0zZzd5w?cx8a)Hg@ByGvq3 zo0NSm;vZ-#5y3g`u+R*6q{^|5?6;Zyx_Fo%xq6uhV&_|P6>kUo_CiiVn`qw60@CE2g7s| ziVX3O)rrA|`SW(EL4hs5Xwd6adZpM4sNrjPP4?l5@&DQ1e3=HyIbrFbov<#np5?}g zAft@fP#gi0u^cWVkew!GvRkP)3q|w|jH!3O#23@S7r|WGMA}NV^qGb70<^#>FC(?I z9v{SZ-tQ>QC7Pz-eF9a{P8O8!ThKk!RlfVvD|`z=d`Qovjb8kcduOJdqwZ?=@rf4* z@q+q+A1MD-`04hr|MfNgxBM5t;hYP?|7@SvJ|3kN(&5@@23N=me`f=GOyUNXLwe9zqZ2>6^R}ddwz3yMn+{YF+8^D?3nsO_Yel2 zFQ2%1^+_=Zf>{5X4npdpo3x&IPeqFVk|=ch6>GZ>jUtrRf{G9E^Q3TAioQUp)^x_U zXR?z*rdK!Lki=}A&iDd}mok;r%I~L#+vgbxk^QjZlSGw~r|sLg(#goSEh5A3J$4#n ze$j7AFjfRLYxMxgt~2#04jkvOZQ88-C~9_&c=ET|=;%?BSGwr>ugx9)u`d7bP;NWO ztIwU8<>A|zZ)P`@z;Svx>6ub0+6e8(rj{(#+<-=D{c zf{{3aB%O=!4~VEhXd@9NTth}vId-zTcA^!v_gB56OlU=^=8FjYiwNjPxljel%`-6H z9oDQ?p3WWk~GYA19Y{;O!!@fPuR({ zxYpoP^XzJ@1!gNV)39vUT*&q5^dbsUkDz3R8OmELqE(JIn;iYHJmG5hkT)B_9>uzK z)?2vD&Zn@TE8=jMDXx;DpxsfehIvrD^ac0-jPU_W8hL*;WJiM$WsGvTX6WDVVccaH zT<5C+p}UiDS!9wHg%upMVWG8ijDH06SK#nIReq7DP*3*9Qe*X0`#P+wo%0=o5rtMX zG7Pg@R}IoDZ;hH2LgGt8vFhix8OCfgC8xb@FEk-n9LcVyBzK8qLzEGa`q0K>h z^1xpoERT_Hw0Db@Dqo>M%KxWLM{9lA5N|LP_Y&1781qZL3xt(Q)sUpFM33K>D0MWV zIY~8q>?A78nd2I(v6c5?IL9JWl^g5bk4GGTbz2gon;HM0s6g&AvBrK&GcZfY@iZFq zyAXG_zuxvD4KF3Zv%$wNy%CaaY?c2RSq~ibArpPBK_(6~Gw!`U@|cV1>j>r1K5zQZ z0G9>7Jl9>kJP2knem;TtZDri+CF1f`30>}wT^oMe?&P$ih(HFt3vUs*{h4Q8p*FFJ zh@Z!bi_U48m0ly4GX0q*nR&$tA;PAinQ;Z6-FlpR);3$whG>G1@<>;DPr`4}Z=?3R zjZvl7?4ZuFayX}>`!Y}K_PR`@QUWh7%=`ymz(eYC2iCY-;M8^eb`u#Y;Y?9M^W>tc z)LaeXA4HgR$n+UZ!xe?1-*ukhIzdRJ!<^;`J^owiH?oqm%NG)lLKm-f-a?D^JBx~P zTHf1)~yHH}4L8MYn63#U6fv4#uSFy#uNeq3a(vn(DHe>a6u@6wVq2Ms#!A zF$;l&ixcLsj9QYIeoYMkA| z!cLCh&ACebFT$edGvwIMW)y&q^fq=ZVru`viq~FAmsS6o)^RXKQ95<>+Zgcg1)U%5 z{`SiwK5hCB^?-tY`##sRb}bFAx}k;s4~csBIlHucM3DMFWE4eoXkYKi?pW2o3`_@6 zo>1zv-E~_tW&aac$b2flzkiF^?wNr*3d_m!;u;E!fUL-aPz(fB7b52d*~GeJ z>}Mn1xiw3kmDW)i)Bji#5*GL8Z`T^S8#-*F#$j};e5=I`v3CA8zjB0=oi}j==YcvGdTN)XTbMQvkFP;4xm1*0A7h4 zg!HdC@dSe;i_IcH{oD^fcehN{SD1gP1p7xC~_J zgyzd$-nu*fNfCl;qSbO^N>}?n;wEAer~kh+@QO!;!nca~|I20?#Ymv|G)e)c6e7&a z4Sf9H-$*b+A^sH%fv^gCn@=MBUV%CSNdVu=t6Z=M4l?M^K84ixDVp8%g8h^lmLR+h zn*7@*#uyZ+(gVaO*-Km`4C!qu2oJcV1ar)ZpL+c+HS+EP;85Zqi1>ew%^0w+>fi7G z%hie4eFqvC+5z4FmnX8WWC%!DM{5+Wwwo6dGHcTiSBm4~?#;m6YfZgwHh4w9l2>KL zA-@TIMK)l8OyfSHPBgh`?fWxDE8(|OvzH%aZ5lswk1y(~#R7WXHPKm#5+r*63ADkg)TFK^yPze=7tk2_RBQ-P~kbIqhw!IwSwMe04b^KSuD z`GykMU)rbRm#1tqcu9jrZGKOKg^l_~aorWOV)^gRHlrAT+;uo?~rt0PRJBeyLCsj_tYWv@q}r*Y4pBHN+33o?r`L~^rrMrHrS`_yp6F9 zqh`DJ!@jlE(Tg;mu04$%X>1Ex_dncHUzKf!7e-6~I&5(~i!mVmA2+jpH{Jj8otp;n zBMwj6H)?=>pl}Pot!_3e|L@K=W?%fwHKW1lvOOo3QvDY8b9Dej_dh4CpI|Sd zu*qTVe#`C~ErE}6K0MgxJ;+k~@~K6S#haNqI|QT;4+VBWul7JW;GBu*f~V|!jS%s; ztHO40fLLX!r)(dQbDE;WcvC-_V*+uAlhy{{mu8e7?@Td_C-ZfsXLlAbLd*K_@R& z6Dp&t&N>}2-fOvT7!X|_Vf>Z?(I-5|QVCm`kh6WP z5RRfN1W8H;pjYYLmra^K7jQ6-y3SWhoecA)J?3wniF|b`>5#6*1MWA^^(cy49Csb> zPno4N*S9=ouW`eS(}lo$bj3!J&`}_wnj&MXpgjPG%Uqnca8jJs!(oGBUf`1H+nR=# z$nS%$5K@Uk%iLCjSlFBq`i3yb5c1rN) $~6rx!o)KHd8m4xos2G~%qTrLj|h2( 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 LDNELin}+>Axt%~t literal 0 HcmV?d00001 diff --git a/config/LICENSE b/config/LICENSE deleted file mode 100644 index 4f227c380..000000000 --- a/config/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2023 tldraw GB Ltd. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/config/LICENSE.md b/config/LICENSE.md new file mode 100644 index 000000000..0ad7260cb --- /dev/null +++ b/config/LICENSE.md @@ -0,0 +1 @@ +This code is licensed under the [tldraw license](https://github.com/tldraw/tldraw/blob/main/LICENSE.md) diff --git a/config/package.json b/config/package.json index 95a4425c8..b64935204 100644 --- a/config/package.json +++ b/config/package.json @@ -2,7 +2,7 @@ "name": "config", "version": "2.0.0-alpha.8", "main": "index.js", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "private": true, "files": [ "eslint-preset.js" diff --git a/package.json b/package.json index e179650ce..22c8fa0d0 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "version": "0.0.0", "private": true, "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", diff --git a/packages/assets/LICENSE b/packages/assets/LICENSE deleted file mode 100644 index 4f227c380..000000000 --- a/packages/assets/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2023 tldraw GB Ltd. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/assets/LICENSE.md b/packages/assets/LICENSE.md new file mode 100644 index 000000000..0ad7260cb --- /dev/null +++ b/packages/assets/LICENSE.md @@ -0,0 +1 @@ +This code is licensed under the [tldraw license](https://github.com/tldraw/tldraw/blob/main/LICENSE.md) diff --git a/packages/assets/README.md b/packages/assets/README.md index 1f06ed8d5..9cb340437 100644 --- a/packages/assets/README.md +++ b/packages/assets/README.md @@ -1,5 +1,29 @@ # @tldraw/assets +This package contains assets that are used by tldraw, including icons and fonts. + +## Community + +Have questions, comments or feedback? [Join our discord](https://discord.gg/rhsyWMUJxd) or [start a discussion](https://github.com/tldraw/tldraw/discussions/new). + +## Distributions + +You can find tldraw on npm [here](https://www.npmjs.com/package/@tldraw/tldraw?activeTab=versions). + +## Contribution + +Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/CONTRIBUTING.md). Found a bug? Please [submit an issue](https://github.com/tldraw/tldraw/issues/new). + ## License -The source code in this repository (as well as our 2.0+ distributions and releases) are currently licensed under Apache-2.0. These licenses are subject to change in our upcoming 2.0 release. If you are planning to use tldraw in a commercial product, please reach out at [hello@tldraw.com](mailto://hello@tldraw.com). +The tldraw source code and its distributions are provided under the [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md). This license does not permit commercial use. + +If you wish to use this project in commercial product, you need to purchase a commercial license. matPlease contact us at [hello@tldraw.com](mailto:hello@tldraw.com) for more inforion about obtaining a commercial license. + +## Trademarks + +Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our [trademark guidelines](https://github.com/tldraw/tldraw/blob/main/TRANDEMARKS.md) for info on acceptable usage. + +## Contact + +Find us on Twitter at [@tldraw](https://twitter.com/tldraw) or email [hello@tldraw.com](mailto://hello@tldraw.com). You can also [join our discord](https://discord.gg/rhsyWMUJxd) for quick help and support. diff --git a/packages/assets/package.json b/packages/assets/package.json index 14ba003dd..2197d0ada 100644 --- a/packages/assets/package.json +++ b/packages/assets/package.json @@ -3,11 +3,11 @@ "description": "A tiny little drawing app (assets).", "version": "2.0.0-alpha.19", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/packages/editor/LICENSE b/packages/editor/LICENSE deleted file mode 100644 index 4f227c380..000000000 --- a/packages/editor/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2023 tldraw GB Ltd. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/editor/LICENSE.md b/packages/editor/LICENSE.md new file mode 100644 index 000000000..0ad7260cb --- /dev/null +++ b/packages/editor/LICENSE.md @@ -0,0 +1 @@ +This code is licensed under the [tldraw license](https://github.com/tldraw/tldraw/blob/main/LICENSE.md) diff --git a/packages/editor/README.md b/packages/editor/README.md index d5c9dae2b..4eb0b57d5 100644 --- a/packages/editor/README.md +++ b/packages/editor/README.md @@ -1,15 +1,27 @@ # tldraw/tldraw -## Benchmark +## Community -To run the benchmarks +Have questions, comments or feedback? [Join our discord](https://discord.gg/rhsyWMUJxd) or [start a discussion](https://github.com/tldraw/tldraw/discussions/new). -``` -yarn workspace @tldraw/tldraw benchmark -``` +## Distributions -Or +You can find tldraw on npm [here](https://www.npmjs.com/package/@tldraw/tldraw?activeTab=versions). -``` -yarn workspace @tldraw/tldraw benchmark "file_search_string" -``` +## Contribution + +Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/CONTRIBUTING.md). Found a bug? Please [submit an issue](https://github.com/tldraw/tldraw/issues/new). + +## License + +The tldraw source code and its distributions are provided under the [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md). This license does not permit commercial use. + +If you wish to use this project in commercial product, you need to purchase a commercial license. matPlease contact us at [hello@tldraw.com](mailto:hello@tldraw.com) for more inforion about obtaining a commercial license. + +## Trademarks + +Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our [trademark guidelines](https://github.com/tldraw/tldraw/blob/main/TRANDEMARKS.md) for info on acceptable usage. + +## Contact + +Find us on Twitter at [@tldraw](https://twitter.com/tldraw) or email [hello@tldraw.com](mailto://hello@tldraw.com). You can also [join our discord](https://discord.gg/rhsyWMUJxd) for quick help and support. diff --git a/packages/editor/package.json b/packages/editor/package.json index fa59fb27f..8c0418273 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -4,11 +4,11 @@ "version": "2.0.0-alpha.19", "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/packages/state/package.json b/packages/state/package.json index 833e6b8ab..1ac80857e 100644 --- a/packages/state/package.json +++ b/packages/state/package.json @@ -4,11 +4,11 @@ "version": "2.0.0-alpha.19", "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/packages/store/package.json b/packages/store/package.json index a857eb469..7a35cbf26 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -4,11 +4,11 @@ "version": "2.0.0-alpha.19", "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/packages/tldraw/LICENSE b/packages/tldraw/LICENSE deleted file mode 100644 index 4f227c380..000000000 --- a/packages/tldraw/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2023 tldraw GB Ltd. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/tldraw/LICENSE.md b/packages/tldraw/LICENSE.md new file mode 100644 index 000000000..0ad7260cb --- /dev/null +++ b/packages/tldraw/LICENSE.md @@ -0,0 +1 @@ +This code is licensed under the [tldraw license](https://github.com/tldraw/tldraw/blob/main/LICENSE.md) diff --git a/packages/tldraw/README.md b/packages/tldraw/README.md index 94b194a06..ff02b3f50 100644 --- a/packages/tldraw/README.md +++ b/packages/tldraw/README.md @@ -7,9 +7,7 @@ # @tldraw/tldraw -This is the pre-release version of [tldraw](https://github.com/tldraw/tldraw). - -See the pre-release docs at [canary.tldraw.dev](https://canary.tldraw.com). +This package contains the source code for the tldraw library. Learn more at our docs site: [tldraw.dev](https://tldraw.dev). ## Installation @@ -48,6 +46,28 @@ export default function () { See the [examples folder](https://github.com/tldraw/tldraw/tree/main/apps/examples) for more examples. +## Community + +Have questions, comments or feedback? [Join our discord](https://discord.gg/rhsyWMUJxd) or [start a discussion](https://github.com/tldraw/tldraw/discussions/new). + +## Distributions + +You can find tldraw on npm [here](https://www.npmjs.com/package/@tldraw/tldraw?activeTab=versions). + +## Contribution + +Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/CONTRIBUTING.md). Found a bug? Please [submit an issue](https://github.com/tldraw/tldraw/issues/new). + ## License -The source code in this repository (as well as our 2.0+ distributions and releases) are currently licensed under Apache-2.0. These licenses are subject to change in our upcoming 2.0 release. If you are planning to use tldraw in a commercial product, please reach out at [hello@tldraw.com](mailto://hello@tldraw.com). +The tldraw source code and its distributions are provided under the [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md). This license does not permit commercial use. + +If you wish to use this project in commercial product, you need to purchase a commercial license. matPlease contact us at [hello@tldraw.com](mailto:hello@tldraw.com) for more inforion about obtaining a commercial license. + +## Trademarks + +Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our [trademark guidelines](https://github.com/tldraw/tldraw/blob/main/TRANDEMARKS.md) for info on acceptable usage. + +## Contact + +Find us on Twitter at [@tldraw](https://twitter.com/tldraw) or email [hello@tldraw.com](mailto://hello@tldraw.com). You can also [join our discord](https://discord.gg/rhsyWMUJxd) for quick help and support. diff --git a/packages/tldraw/package.json b/packages/tldraw/package.json index d93b276cc..d67b5d9b2 100644 --- a/packages/tldraw/package.json +++ b/packages/tldraw/package.json @@ -4,11 +4,11 @@ "version": "2.0.0-alpha.19", "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/packages/tlschema/LICENSE b/packages/tlschema/LICENSE deleted file mode 100644 index 4f227c380..000000000 --- a/packages/tlschema/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2023 tldraw GB Ltd. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/tlschema/LICENSE.md b/packages/tlschema/LICENSE.md new file mode 100644 index 000000000..0ad7260cb --- /dev/null +++ b/packages/tlschema/LICENSE.md @@ -0,0 +1 @@ +This code is licensed under the [tldraw license](https://github.com/tldraw/tldraw/blob/main/LICENSE.md) diff --git a/packages/tlschema/README.md b/packages/tlschema/README.md index 02362c140..c3c0d2134 100644 --- a/packages/tlschema/README.md +++ b/packages/tlschema/README.md @@ -64,6 +64,28 @@ and then adding a migration: After you've added your migration, make sure to add a test for it in `src/migrations.test.ts`. It will complain if you do not! +## Community + +Have questions, comments or feedback? [Join our discord](https://discord.gg/rhsyWMUJxd) or [start a discussion](https://github.com/tldraw/tldraw/discussions/new). + +## Distributions + +You can find tldraw on npm [here](https://www.npmjs.com/package/@tldraw/tldraw?activeTab=versions). + +## Contribution + +Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/CONTRIBUTING.md). Found a bug? Please [submit an issue](https://github.com/tldraw/tldraw/issues/new). + ## License -The source code in this repository (as well as our 2.0+ distributions and releases) are currently licensed under Apache-2.0. These licenses are subject to change in our upcoming 2.0 release. If you are planning to use tldraw in a commercial product, please reach out at [hello@tldraw.com](mailto://hello@tldraw.com). +The tldraw source code and its distributions are provided under the [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md). This license does not permit commercial use. + +If you wish to use this project in commercial product, you need to purchase a commercial license. matPlease contact us at [hello@tldraw.com](mailto:hello@tldraw.com) for more inforion about obtaining a commercial license. + +## Trademarks + +Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our [trademark guidelines](https://github.com/tldraw/tldraw/blob/main/TRANDEMARKS.md) for info on acceptable usage. + +## Contact + +Find us on Twitter at [@tldraw](https://twitter.com/tldraw) or email [hello@tldraw.com](mailto://hello@tldraw.com). You can also [join our discord](https://discord.gg/rhsyWMUJxd) for quick help and support. diff --git a/packages/tlschema/package.json b/packages/tlschema/package.json index e64d2aa4f..551bad6ec 100644 --- a/packages/tlschema/package.json +++ b/packages/tlschema/package.json @@ -4,11 +4,11 @@ "version": "2.0.0-alpha.19", "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/packages/utils/LICENSE b/packages/utils/LICENSE deleted file mode 100644 index 4f227c380..000000000 --- a/packages/utils/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2023 tldraw GB Ltd. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/utils/LICENSE.md b/packages/utils/LICENSE.md new file mode 100644 index 000000000..0ad7260cb --- /dev/null +++ b/packages/utils/LICENSE.md @@ -0,0 +1 @@ +This code is licensed under the [tldraw license](https://github.com/tldraw/tldraw/blob/main/LICENSE.md) diff --git a/packages/utils/README.md b/packages/utils/README.md index f93cba0dd..e9491b9b8 100644 --- a/packages/utils/README.md +++ b/packages/utils/README.md @@ -1,5 +1,29 @@ ## @tldraw/utils +This package contains utility functions used in various places by other tldraw packages. + +## Community + +Have questions, comments or feedback? [Join our discord](https://discord.gg/rhsyWMUJxd) or [start a discussion](https://github.com/tldraw/tldraw/discussions/new). + +## Distributions + +You can find tldraw on npm [here](https://www.npmjs.com/package/@tldraw/tldraw?activeTab=versions). + +## Contribution + +Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/CONTRIBUTING.md). Found a bug? Please [submit an issue](https://github.com/tldraw/tldraw/issues/new). + ## License -The source code in this repository (as well as our 2.0+ distributions and releases) are currently licensed under Apache-2.0. These licenses are subject to change in our upcoming 2.0 release. If you are planning to use tldraw in a commercial product, please reach out at [hello@tldraw.com](mailto://hello@tldraw.com). +The tldraw source code and its distributions are provided under the [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md). This license does not permit commercial use. + +If you wish to use this project in commercial product, you need to purchase a commercial license. matPlease contact us at [hello@tldraw.com](mailto:hello@tldraw.com) for more inforion about obtaining a commercial license. + +## Trademarks + +Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our [trademark guidelines](https://github.com/tldraw/tldraw/blob/main/TRANDEMARKS.md) for info on acceptable usage. + +## Contact + +Find us on Twitter at [@tldraw](https://twitter.com/tldraw) or email [hello@tldraw.com](mailto://hello@tldraw.com). You can also [join our discord](https://discord.gg/rhsyWMUJxd) for quick help and support. diff --git a/packages/utils/package.json b/packages/utils/package.json index 96a2a83a7..c971c7c4c 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -4,11 +4,11 @@ "version": "2.0.0-alpha.19", "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/packages/validate/LICENSE b/packages/validate/LICENSE deleted file mode 100644 index 4f227c380..000000000 --- a/packages/validate/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2023 tldraw GB Ltd. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/validate/LICENSE.md b/packages/validate/LICENSE.md new file mode 100644 index 000000000..0ad7260cb --- /dev/null +++ b/packages/validate/LICENSE.md @@ -0,0 +1 @@ +This code is licensed under the [tldraw license](https://github.com/tldraw/tldraw/blob/main/LICENSE.md) diff --git a/packages/validate/README.md b/packages/validate/README.md index 35b8c2444..9800d2db0 100644 --- a/packages/validate/README.md +++ b/packages/validate/README.md @@ -1,5 +1,29 @@ ## @tldraw/tlvalidate +This package contains validation functions used by tldraw. + +## Community + +Have questions, comments or feedback? [Join our discord](https://discord.gg/rhsyWMUJxd) or [start a discussion](https://github.com/tldraw/tldraw/discussions/new). + +## Distributions + +You can find tldraw on npm [here](https://www.npmjs.com/package/@tldraw/tldraw?activeTab=versions). + +## Contribution + +Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/CONTRIBUTING.md). Found a bug? Please [submit an issue](https://github.com/tldraw/tldraw/issues/new). + ## License -The source code in this repository (as well as our 2.0+ distributions and releases) are currently licensed under Apache-2.0. These licenses are subject to change in our upcoming 2.0 release. If you are planning to use tldraw in a commercial product, please reach out at [hello@tldraw.com](mailto://hello@tldraw.com). +The tldraw source code and its distributions are provided under the [tldraw license](https://github.com/tldraw/tldraw/blob/master/LICENSE.md). This license does not permit commercial use. + +If you wish to use this project in commercial product, you need to purchase a commercial license. matPlease contact us at [hello@tldraw.com](mailto:hello@tldraw.com) for more inforion about obtaining a commercial license. + +## Trademarks + +Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our [trademark guidelines](https://github.com/tldraw/tldraw/blob/main/TRANDEMARKS.md) for info on acceptable usage. + +## Contact + +Find us on Twitter at [@tldraw](https://twitter.com/tldraw) or email [hello@tldraw.com](mailto://hello@tldraw.com). You can also [join our discord](https://discord.gg/rhsyWMUJxd) for quick help and support. diff --git a/packages/validate/package.json b/packages/validate/package.json index 8bfcee00e..e39b23699 100644 --- a/packages/validate/package.json +++ b/packages/validate/package.json @@ -4,11 +4,11 @@ "version": "2.0.0-alpha.19", "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw" diff --git a/scripts/package.json b/scripts/package.json index 7cf6d7bd2..c0c9e7a71 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -5,11 +5,11 @@ "private": true, "packageManager": "yarn@3.5.0", "author": { - "name": "tldraw GB Ltd.", + "name": "tldraw Inc.", "email": "hello@tldraw.com" }, "homepage": "https://tldraw.dev", - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "repository": { "type": "git", "url": "https://github.com/tldraw/tldraw"