From 081e0d462910bb0f6fe4ea03ad90291d23fc0197 Mon Sep 17 00:00:00 2001 From: Andreas Blattmann Date: Thu, 22 Jun 2023 09:53:12 -0700 Subject: [PATCH] soon is now --- .gitignore | 7 + LICENSE | 75 + README.md | 187 +++ assets/000.jpg | Bin 0 -> 728428 bytes .../kl-f4/imagenet-attnfree-logvar.yaml | 115 ++ .../example_training/imagenet-f8_cond.yaml | 188 +++ .../example_training/toy/cifar10_cond.yaml | 99 ++ configs/example_training/toy/mnist.yaml | 80 ++ configs/example_training/toy/mnist_cond.yaml | 99 ++ .../toy/mnist_cond_discrete_eps.yaml | 104 ++ .../toy/mnist_cond_l1_loss.yaml | 104 ++ .../toy/mnist_cond_with_ema.yaml | 101 ++ .../txt2img-clipl-legacy-ucg-training.yaml | 185 +++ configs/example_training/txt2img-clipl.yaml | 186 +++ configs/inference/sd_2_1.yaml | 66 + configs/inference/sd_2_1_768.yaml | 66 + configs/inference/sd_xl_base.yaml | 98 ++ configs/inference/sd_xl_refiner.yaml | 91 ++ data/DejaVuSans.ttf | Bin 0 -> 757076 bytes main.py | 947 +++++++++++++ requirements_pt13.txt | 41 + requirements_pt2.txt | 41 + scripts/demo/detect.py | 157 ++ scripts/demo/sampling.py | 328 +++++ scripts/demo/streamlit_helpers.py | 668 +++++++++ .../nsfw_and_watermark_dectection.py | 104 ++ scripts/util/detection/p_head_v1.npz | Bin 0 -> 3588 bytes scripts/util/detection/w_head_v1.npz | Bin 0 -> 3588 bytes setup.py | 13 + sgm/__init__.py | 3 + sgm/data/__init__.py | 1 + sgm/data/cifar10.py | 67 + sgm/data/dataset.py | 80 ++ sgm/data/mnist.py | 85 ++ sgm/lr_scheduler.py | 135 ++ sgm/models/__init__.py | 2 + sgm/models/autoencoder.py | 335 +++++ sgm/models/diffusion.py | 324 +++++ sgm/modules/__init__.py | 6 + sgm/modules/attention.py | 947 +++++++++++++ sgm/modules/autoencoding/__init__.py | 0 sgm/modules/autoencoding/losses/__init__.py | 246 ++++ .../autoencoding/regularizers/__init__.py | 53 + sgm/modules/diffusionmodules/__init__.py | 7 + sgm/modules/diffusionmodules/denoiser.py | 63 + .../diffusionmodules/denoiser_scaling.py | 31 + .../diffusionmodules/denoiser_weighting.py | 24 + sgm/modules/diffusionmodules/discretizer.py | 65 + sgm/modules/diffusionmodules/guiders.py | 53 + sgm/modules/diffusionmodules/loss.py | 69 + sgm/modules/diffusionmodules/model.py | 743 ++++++++++ sgm/modules/diffusionmodules/openaimodel.py | 1262 +++++++++++++++++ sgm/modules/diffusionmodules/sampling.py | 365 +++++ .../diffusionmodules/sampling_utils.py | 48 + .../diffusionmodules/sigma_sampling.py | 31 + sgm/modules/diffusionmodules/util.py | 308 ++++ sgm/modules/diffusionmodules/wrappers.py | 34 + sgm/modules/distributions/__init__.py | 0 sgm/modules/distributions/distributions.py | 102 ++ sgm/modules/ema.py | 86 ++ sgm/modules/encoders/__init__.py | 0 sgm/modules/encoders/modules.py | 960 +++++++++++++ sgm/util.py | 231 +++ 63 files changed, 10916 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 assets/000.jpg create mode 100644 configs/example_training/autoencoder/kl-f4/imagenet-attnfree-logvar.yaml create mode 100644 configs/example_training/imagenet-f8_cond.yaml create mode 100644 configs/example_training/toy/cifar10_cond.yaml create mode 100644 configs/example_training/toy/mnist.yaml create mode 100644 configs/example_training/toy/mnist_cond.yaml create mode 100644 configs/example_training/toy/mnist_cond_discrete_eps.yaml create mode 100644 configs/example_training/toy/mnist_cond_l1_loss.yaml create mode 100644 configs/example_training/toy/mnist_cond_with_ema.yaml create mode 100644 configs/example_training/txt2img-clipl-legacy-ucg-training.yaml create mode 100644 configs/example_training/txt2img-clipl.yaml create mode 100644 configs/inference/sd_2_1.yaml create mode 100644 configs/inference/sd_2_1_768.yaml create mode 100644 configs/inference/sd_xl_base.yaml create mode 100644 configs/inference/sd_xl_refiner.yaml create mode 100644 data/DejaVuSans.ttf create mode 100644 main.py create mode 100644 requirements_pt13.txt create mode 100644 requirements_pt2.txt create mode 100644 scripts/demo/detect.py create mode 100644 scripts/demo/sampling.py create mode 100644 scripts/demo/streamlit_helpers.py create mode 100644 scripts/util/detection/nsfw_and_watermark_dectection.py create mode 100644 scripts/util/detection/p_head_v1.npz create mode 100644 scripts/util/detection/w_head_v1.npz create mode 100644 setup.py create mode 100644 sgm/__init__.py create mode 100644 sgm/data/__init__.py create mode 100644 sgm/data/cifar10.py create mode 100644 sgm/data/dataset.py create mode 100644 sgm/data/mnist.py create mode 100644 sgm/lr_scheduler.py create mode 100644 sgm/models/__init__.py create mode 100644 sgm/models/autoencoder.py create mode 100644 sgm/models/diffusion.py create mode 100644 sgm/modules/__init__.py create mode 100644 sgm/modules/attention.py create mode 100644 sgm/modules/autoencoding/__init__.py create mode 100644 sgm/modules/autoencoding/losses/__init__.py create mode 100644 sgm/modules/autoencoding/regularizers/__init__.py create mode 100644 sgm/modules/diffusionmodules/__init__.py create mode 100644 sgm/modules/diffusionmodules/denoiser.py create mode 100644 sgm/modules/diffusionmodules/denoiser_scaling.py create mode 100644 sgm/modules/diffusionmodules/denoiser_weighting.py create mode 100644 sgm/modules/diffusionmodules/discretizer.py create mode 100644 sgm/modules/diffusionmodules/guiders.py create mode 100644 sgm/modules/diffusionmodules/loss.py create mode 100644 sgm/modules/diffusionmodules/model.py create mode 100644 sgm/modules/diffusionmodules/openaimodel.py create mode 100644 sgm/modules/diffusionmodules/sampling.py create mode 100644 sgm/modules/diffusionmodules/sampling_utils.py create mode 100644 sgm/modules/diffusionmodules/sigma_sampling.py create mode 100644 sgm/modules/diffusionmodules/util.py create mode 100644 sgm/modules/diffusionmodules/wrappers.py create mode 100644 sgm/modules/distributions/__init__.py create mode 100644 sgm/modules/distributions/distributions.py create mode 100644 sgm/modules/ema.py create mode 100644 sgm/modules/encoders/__init__.py create mode 100644 sgm/modules/encoders/modules.py create mode 100644 sgm/util.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..0c70c5e9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.pt2 +.pt2_2 +.pt13 +*.egg-info +build +/outputs +/checkpoints \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..b01c5a68 --- /dev/null +++ b/LICENSE @@ -0,0 +1,75 @@ +SDXL 0.9 RESEARCH LICENSE AGREEMENT +Copyright (c) Stability AI Ltd. +This License Agreement (as may be amended in accordance with this License Agreement, “License”), between you, or your employer or other entity (if you are entering into this agreement on behalf of your employer or other entity) (“Licensee” or “you”) and Stability AI Ltd. (“Stability AI” or “we”) applies to your use of any computer program, algorithm, source code, object code, or software that is made available by Stability AI under this License (“Software”) and any specifications, manuals, documentation, and other written information provided by Stability AI related to the Software (“Documentation”). +By clicking “I Accept” below or by using the Software, you agree to the terms of this License. If you do not agree to this License, then you do not have any rights to use the Software or Documentation (collectively, the “Software Products”), and you must immediately cease using the Software Products. If you are agreeing to be bound by the terms of this License on behalf of your employer or other entity, you represent and warrant to Stability AI that you have full legal authority to bind your employer or such entity to this License. If you do not have the requisite authority, you may not accept the License or access the Software Products on behalf of your employer or other entity. +1. LICENSE GRANT + +a. Subject to your compliance with the Documentation and Sections 2, 3, and 5, Stability AI grants you a non-exclusive, worldwide, non-transferable, non-sublicensable, revocable, royalty free and limited license under Stability AI’s copyright interests to reproduce, distribute, and create derivative works of the Software solely for your non-commercial research purposes. The foregoing license is personal to you, and you may not assign or sublicense this License or any other rights or obligations under this License without Stability AI’s prior written consent; any such assignment or sublicense will be void and will automatically and immediately terminate this License. + +b. You may make a reasonable number of copies of the Documentation solely for use in connection with the license to the Software granted above. + +c. The grant of rights expressly set forth in this Section 1 (License Grant) are the complete grant of rights to you in the Software Products, and no other licenses are granted, whether by waiver, estoppel, implication, equity or otherwise. Stability AI and its licensors reserve all rights not expressly granted by this License. + + +2. RESTRICTIONS + +You will not, and will not permit, assist or cause any third party to: + +a. use, modify, copy, reproduce, create derivative works of, or distribute the Software Products (or any derivative works thereof, works incorporating the Software Products, or any data produced by the Software), in whole or in part, for (i) any commercial or production purposes, (ii) military purposes or in the service of nuclear technology, (iii) purposes of surveillance, including any research or development relating to surveillance, (iv) biometric processing, (v) in any manner that infringes, misappropriates, or otherwise violates any third-party rights, or (vi) in any manner that violates any applicable law and violating any privacy or security laws, rules, regulations, directives, or governmental requirements (including the General Data Privacy Regulation (Regulation (EU) 2016/679), the California Consumer Privacy Act, and any and all laws governing the processing of biometric information), as well as all amendments and successor laws to any of the foregoing; + +b. alter or remove copyright and other proprietary notices which appear on or in the Software Products; + +c. utilize any equipment, device, software, or other means to circumvent or remove any security or protection used by Stability AI in connection with the Software, or to circumvent or remove any usage restrictions, or to enable functionality disabled by Stability AI; or + +d. offer or impose any terms on the Software Products that alter, restrict, or are inconsistent with the terms of this License. + +e. 1) violate any applicable U.S. and non-U.S. export control and trade sanctions laws (“Export Laws”); 2) directly or indirectly export, re-export, provide, or otherwise transfer Software Products: (a) to any individual, entity, or country prohibited by Export Laws; (b) to anyone on U.S. or non-U.S. government restricted parties lists; or (c) for any purpose prohibited by Export Laws, including nuclear, chemical or biological weapons, or missile technology applications; 3) use or download Software Products if you or they are: (a) located in a comprehensively sanctioned jurisdiction, (b) currently listed on any U.S. or non-U.S. restricted parties list, or (c) for any purpose prohibited by Export Laws; and (4) will not disguise your location through IP proxying or other methods. + + +3. ATTRIBUTION + +Together with any copies of the Software Products (as well as derivative works thereof or works incorporating the Software Products) that you distribute, you must provide (i) a copy of this License, and (ii) the following attribution notice: “SDXL 0.9 is licensed under the SDXL Research License, Copyright (c) Stability AI Ltd. All Rights Reserved.” + + +4. DISCLAIMERS + +THE SOFTWARE PRODUCTS ARE PROVIDED “AS IS” AND “WITH ALL FAULTS” WITH NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. STABILITY AIEXPRESSLY DISCLAIMS ALL REPRESENTATIONS AND WARRANTIES, EXPRESS OR IMPLIED, WHETHER BY STATUTE, CUSTOM, USAGE OR OTHERWISE AS TO ANY MATTERS RELATED TO THE SOFTWARE PRODUCTS, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, SATISFACTORY QUALITY, OR NON-INFRINGEMENT. STABILITY AI MAKES NO WARRANTIES OR REPRESENTATIONS THAT THE SOFTWARE PRODUCTS WILL BE ERROR FREE OR FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS, OR PRODUCE ANY PARTICULAR RESULTS. + + +5. LIMITATION OF LIABILITY + +TO THE FULLEST EXTENT PERMITTED BY LAW, IN NO EVENT WILL STABILITY AI BE LIABLE TO YOU (A) UNDER ANY THEORY OF LIABILITY, WHETHER BASED IN CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY, WARRANTY, OR OTHERWISE UNDER THIS LICENSE, OR (B) FOR ANY INDIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, PUNITIVE OR SPECIAL DAMAGES OR LOST PROFITS, EVEN IF STABILITY AI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE SOFTWARE PRODUCTS, THEIR CONSTITUENT COMPONENTS, AND ANY OUTPUT (COLLECTIVELY, “SOFTWARE MATERIALS”) ARE NOT DESIGNED OR INTENDED FOR USE IN ANY APPLICATION OR SITUATION WHERE FAILURE OR FAULT OF THE SOFTWARE MATERIALS COULD REASONABLY BE ANTICIPATED TO LEAD TO SERIOUS INJURY OF ANY PERSON, INCLUDING POTENTIAL DISCRIMINATION OR VIOLATION OF AN INDIVIDUAL’S PRIVACY RIGHTS, OR TO SEVERE PHYSICAL, PROPERTY, OR ENVIRONMENTAL DAMAGE (EACH, A “HIGH-RISK USE”). IF YOU ELECT TO USE ANY OF THE SOFTWARE MATERIALS FOR A HIGH-RISK USE, YOU DO SO AT YOUR OWN RISK. YOU AGREE TO DESIGN AND IMPLEMENT APPROPRIATE DECISION-MAKING AND RISK-MITIGATION PROCEDURES AND POLICIES IN CONNECTION WITH A HIGH-RISK USE SUCH THAT EVEN IF THERE IS A FAILURE OR FAULT IN ANY OF THE SOFTWARE MATERIALS, THE SAFETY OF PERSONS OR PROPERTY AFFECTED BY THE ACTIVITY STAYS AT A LEVEL THAT IS REASONABLE, APPROPRIATE, AND LAWFUL FOR THE FIELD OF THE HIGH-RISK USE. + + +6. INDEMNIFICATION + +You will indemnify, defend and hold harmless Stability AI and our subsidiaries and affiliates, and each of our respective shareholders, directors, officers, employees, agents, successors, and assigns (collectively, the “Stability AI Parties”) from and against any losses, liabilities, damages, fines, penalties, and expenses (including reasonable attorneys’ fees) incurred by any Stability AI Party in connection with any claim, demand, allegation, lawsuit, proceeding, or investigation (collectively, “Claims”) arising out of or related to: (a) your access to or use of the Software Products (as well as any results or data generated from such access or use), including any High-Risk Use (defined below); (b) your violation of this License; or (c) your violation, misappropriation or infringement of any rights of another (including intellectual property or other proprietary rights and privacy rights). You will promptly notify the Stability AI Parties of any such Claims, and cooperate with Stability AI Parties in defending such Claims. You will also grant the Stability AI Parties sole control of the defense or settlement, at Stability AI’s sole option, of any Claims. This indemnity is in addition to, and not in lieu of, any other indemnities or remedies set forth in a written agreement between you and Stability AI or the other Stability AI Parties. + + +7. TERMINATION; SURVIVAL + +a. This License will automatically terminate upon any breach by you of the terms of this License. + +b. We may terminate this License, in whole or in part, at any time upon notice (including electronic) to you. + +c. The following sections survive termination of this License: 2 (Restrictions), 3 (Attribution), 4 (Disclaimers), 5 (Limitation on Liability), 6 (Indemnification) 7 (Termination; Survival), 8 (Third Party Materials), 9 (Trademarks), 10 (Applicable Law; Dispute Resolution), and 11 (Miscellaneous). + + +8. THIRD PARTY MATERIALS + +The Software Products may contain third-party software or other components (including free and open source software) (all of the foregoing, “Third Party Materials”), which are subject to the license terms of the respective third-party licensors. Your dealings or correspondence with third parties and your use of or interaction with any Third Party Materials are solely between you and the third party. Stability AI does not control or endorse, and makes no representations or warranties regarding, any Third Party Materials, and your access to and use of such Third Party Materials are at your own risk. + + +9. TRADEMARKS + +Licensee has not been granted any trademark license as part of this License and may not use any name or mark associated with Stability AI without the prior written permission of Stability AI, except to the extent necessary to make the reference required by the “ATTRIBUTION” section of this Agreement. + + +10. APPLICABLE LAW; DISPUTE RESOLUTION + +This License will be governed and construed under the laws of the State of California without regard to conflicts of law provisions. Any suit or proceeding arising out of or relating to this License will be brought in the federal or state courts, as applicable, in San Mateo County, California, and each party irrevocably submits to the jurisdiction and venue of such courts. + + +11. MISCELLANEOUS + +If any provision or part of a provision of this License is unlawful, void or unenforceable, that provision or part of the provision is deemed severed from this License, and will not affect the validity and enforceability of any remaining provisions. The failure of Stability AI to exercise or enforce any right or provision of this License will not operate as a waiver of such right or provision. This License does not confer any third-party beneficiary rights upon any other person or entity. This License, together with the Documentation, contains the entire understanding between you and Stability AI regarding the subject matter of this License, and supersedes all other written or oral agreements and understandings between you and Stability AI regarding such subject matter. No change or addition to any provision of this License will be binding unless it is in writing and signed by an authorized representative of both you and Stability AI. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..242ec4a1 --- /dev/null +++ b/README.md @@ -0,0 +1,187 @@ +# Generative Models by Stability AI + +![sample1](assets/000.jpg) + +## News + +**June 22, 2023** + + +- We are releasing two new diffusion models: + - `SD-XL 0.9-base`: The base model was trained on a variety of aspect ratios on images with resolution 1024^2. The base model uses [OpenCLIP-ViT/G](https://github.com/mlfoundations/open_clip) and [CLIP-ViT/L](https://github.com/openai/CLIP/tree/main) for text encoding whereas the refiner model only uses the OpenCLIP model. + - `SD-XL 0.9-refiner`: The refiner has been trained to denoise small noise levels of high quality data and as such is not expected to work as a text-to-image model; instead, it should only be used as an image-to-image model. + +**We plan to do a full release soon (July).** + +## The codebase + +### General Philosophy + +Modularity is king. This repo implements a config-driven approach where we build and combine submodules by calling `instantiate_from_config()` on objects defined in yaml configs. See `configs/` for many examples. + +### Changelog from the old `ldm` codebase + +For training, we use [pytorch-lightning](https://www.pytorchlightning.ai/index.html), but it should be easy to use other training wrappers around the base modules. The core diffusion model class (formerly `LatentDiffusion`, now `DiffusionEngine`) has been cleaned up: + +- No more extensive subclassing! We now handle all types of conditioning inputs (vectors, sequences and spatial conditionings, and all combinations thereof) in a single class: `GeneralConditioner`, see `sgm/modules/encoders/modules.py`. +- We separate guiders (such as classifier-free guidance, see `sgm/modules/diffusionmodules/guiders.py`) from the + samplers (`sgm/modules/diffusionmodules/sampling.py`), and the samplers are independent of the model. +- We adopt the ["denoiser framework"](https://arxiv.org/abs/2206.00364) for both training and inference (most notable change is probably now the option to train continuous time models): + * Discrete times models (denoisers) are simply a special case of continuous time models (denoisers); see `sgm/modules/diffusionmodules/denoiser.py`. + * The following features are now independent: weighting of the diffusion loss function (`sgm/modules/diffusionmodules/denoiser_weighting.py`), preconditioning of the network (`sgm/modules/diffusionmodules/denoiser_scaling.py`), and sampling of noise levels during training (`sgm/modules/diffusionmodules/sigma_sampling.py`). +- Autoencoding models have also been cleaned up. + +## Installation: + + +#### 1. Clone the repo + +```shell +git clone git@github.com:Stability-AI/generative-models.git +cd generative-models +``` + +#### 2. Setting up the virtualenv + +This is assuming you have navigated to the `generative-models` root after cloning it. + +**NOTE:** This is tested under `python3.8` and `python3.10`. For other python versions, you might encounter version conflicts. + + +**PyTorch 1.13** + +```shell +# install required packages from pypi +python3 -m venv .pt1 +source .pt1/bin/activate +pip3 install wheel +pip3 install -r requirements_pt13.txt +``` + +**PyTorch 2.0** + + +```shell +# install required packages from pypi +python3 -m venv .pt2 +source .pt2/bin/activate +pip3 install wheel +pip3 install -r requirements_pt2.txt +``` + +## Inference: + +We provide a [streamlit](https://streamlit.io/) demo for text-to-image and image-to-image sampling in `scripts/demo/sampling.py`. The following models are currently supported: +- [SD-XL 0.9-base](https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9) +- [SD-XL 0.9-refiner](https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-0.9) +- [SD 2.1-512](https://huggingface.co/stabilityai/stable-diffusion-2-1-base/blob/main/v2-1_512-ema-pruned.safetensors) +- [SD 2.1-768](https://huggingface.co/stabilityai/stable-diffusion-2-1/blob/main/v2-1_768-ema-pruned.safetensors) + +**Weights for SDXL**: +If you would like to access these models for your research, please apply using one of the following links: +[SDXL-0.9-Base model](https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9), and [SDXL-0.9-Refiner](https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-0.9). +This means that you can apply for any of the two links - and if you are granted - you can access both. +Please log in to your HuggingFace Account with your organization email to request access. + +After obtaining the weights, place them into `checkpoints/`. +Next, start the demo using + +``` +streamlit run scripts/demo/sampling.py --server.port +``` + +### Invisible Watermark Detection + +Images generated with our code use the +[invisible-watermark](https://github.com/ShieldMnt/invisible-watermark/) +library to embed an invisible watermark into the model output. We also provide +a script to easily detect that watermark. Please note that this watermark is +not the same as in previous Stable Diffusion 1.x/2.x versions. + +To run the script you need to either have a working installation as above or +try an _experimental_ import using only a minimal amount of packages: +```bash +python -m venv .detect +source .detect/bin/activate + +pip install "numpy>=1.17" "PyWavelets>=1.1.1" "opencv-python>=4.1.0.25" +pip install --no-deps invisible-watermark +``` + +To run the script you need to have a working installation as above. The script +is then useable in the following ways (don't forget to activate your +virtual environment beforehand, e.g. `source .pt1/bin/activate`): +```bash +# test a single file +python scripts/demo/detect.py +# test multiple files at once +python scripts/demo/detect.py ... +# test all files in a specific folder +python scripts/demo/detect.py /* +``` + +## Training: + +We are providing example training configs in `configs/example_training`. To launch a training, run + +``` +python main.py --base configs/ configs/ +``` + +where configs are merged from left to right (later configs overwrite the same values). +This can be used to combine model, training and data configs. However, all of them can also be +defined in a single config. For example, to run a class-conditional pixel-based diffusion model training on MNIST, +run + +```bash +python main.py --base configs/example_training/toy/mnist_cond.yaml +``` + +**NOTE 1:** Using the non-toy-dataset configs `configs/example_training/imagenet-f8_cond.yaml`, `configs/example_training/txt2img-clipl.yaml` and `configs/example_training/txt2img-clipl-legacy-ucg-training.yaml` for training will require edits depdending on the used dataset (which is expected to stored in tar-file in the [webdataset-format](https://github.com/webdataset/webdataset)). To find the parts which have to be adapted, search for comments containing `USER:` in the respective config. + +**NOTE 2:** This repository supports both `pytorch1.13` and `pytorch2`for training generative models. However for autoencoder training as e.g. in `configs/example_training/autoencoder/kl-f4/imagenet-attnfree-logvar.yaml`, only `pytorch1.13` is supported. + +**NOTE 3:** Training latent generative models (as e.g. in `configs/example_training/imagenet-f8_cond.yaml`) requires retrieving the checkpoint from [Hugging Face](https://huggingface.co/stabilityai/sdxl-vae/tree/main) and replacing the `CKPT_PATH` placeholder in [this line](configs/example_training/imagenet-f8_cond.yaml#81). The same is to be done for the provided text-to-image configs. + +### Building New Diffusion Models + +#### Conditioner + +The `GeneralConditioner` is configured through the `conditioner_config`. Its only attribute is `emb_models`, a list of +different embedders (all inherited from `AbstractEmbModel`) that are used to condition the generative model. +All embedders should define whether or not they are trainable (`is_trainable`, default `False`), a classifier-free +guidance dropout rate is used (`ucg_rate`, default `0`), and an input key (`input_key`), for example, `txt` for text-conditioning or `cls` for class-conditioning. +When computing conditionings, the embedder will get `batch[input_key]` as input. +We currently support two to four dimensional conditionings and conditionings of different embedders are concatenated +appropriately. +Note that the order of the embedders in the `conditioner_config` is important. + +#### Network + +The neural network is set through the `network_config`. This used to be called `unet_config`, which is not general +enough as we plan to experiment with transformer-based diffusion backbones. + +#### Loss + +The loss is configured through `loss_config`. For standard diffusion model training, you will have to set `sigma_sampler_config`. + +#### Sampler config + +As discussed above, the sampler is independent of the model. In the `sampler_config`, we set the type of numerical +solver, number of steps, type of discretization, as well as, for example, guidance wrappers for classifier-free +guidance. + +### Dataset Handling + + +For large scale training we recommend using the datapipelines from our [datapipelines](https://github.com/Stability-AI/datapipelines) project. The project is contained in the requirement and automatically included when following the steps from the [Installation section](#installation). +Small map-style datasets should be defined here in the repository (e.g., MNIST, CIFAR-10, ...), and return a dict of +data keys/values, +e.g., + +```python +example = {"jpg": x, # this is a tensor -1...1 chw + "txt": "a beautiful image"} +``` + +where we expect images in -1...1, channel-first format. diff --git a/assets/000.jpg b/assets/000.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e93d6c1b6e07edcb9b5efa946fc3092fe8b4e9b7 GIT binary patch literal 728428 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�bErz03zTNzBIpbwC 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≷QBbIDJ={<~%QWmR=+g$1a|UQIB$b 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˒+r8dbW!;uOu5 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%0Dm~oc> zy6=ZoidJt%i&qF|M$u#a6F+MF{X~i_hV_wLW1@f!Gbwz*E^-Q7dA_&8=%e8pd8u#^ z*w(95{jmoWXNM?QmE%0}O3F~n%aDWXedpl+!9pYU&s zmBOh9Y2_7jpfG==-i|f`>b67&aE|wgRzBUYO2qfnQ}`S%j)$1Sy9+VePj1yZSNR8e zDK6&~t_g{31}O`;CUgzP8-Cp+0$HeI;PzAT54*}87~`IkT?ejIVk9_9P`lE9@NW7m#x{+lGZ2X^hasp`^fFa-FlUM?RA-A>8IDGcv9hA3g=)V6+8h zzKEA@uj$S2Qgm~$%<&$VsLu}XpRLr`q!mv;>{#QVkq$oX+gdR7W9rv-PxWPH(OW`p zrM^G~kG^^oIX@Zp#jXEg6f=SKqc+uUhf*jUp+b zG?mn!wcND)vbSBO@5J4D^-+sB&8?ZUizdd|3N7dJeeaD<8)YIN1!qsOYll+&?27UA zw{}N-K4wByt^R3>Dsqi(#k|Y0v}7^l{${dI{YO9{dC(Ji<*XOOXx8KrhvH`^fjmi> zwGJO2G~!dU|Im(7u8fSeh0J%@wYDR+2qU4}SSAE9!7_|9@ifNIijfwPJv(iI0hyER z^)hrcpqP0hdXuK6I*m1Zpta`Ys#>|4@cA~o4K)dc8_2*rtT1Y{wBv4F z*(!cKzs1YLgDXD*5I+55G8u~L14#&LHat^pv6D2{PMD!7@hN3NnIpT(L4D1S&q~5j z$GS5;`UrBHpf}aWylhnBIt+H%O69WRYna;~U(fDA$Qca7MWK zbpKYaM(nC&RSPXWVL~VS*C*yoI%Zme14uBG4^)*ELV)= zk0Ufw1S+zn8evhx5i*@T9t{i8DWwegpjz33PeLRkHdukoD;Gwh0-2*9q>Rq;ffM=@5Y+8b zG4k+K9?(Iw1Y_>uMmexAjsZMM+Ro(R_FhAiE<7J|4#86>VgB!ShHSe?l1A&@3mb@LNg<_gVQ9njZ>b4P%6jv*elQ9CNF;> zmx%z~GG;IB-WUq#dSHbB!ka->sF>JkJj2gF7O@SCtOUMwN6vEOd}mh{(tB4Qz2|*1 zH+J?uiArhzvj-_h8Y!+)WBD`NZ2#Co`Ycf?@E1J`e+vGFKK_H9NbTrN=IWo*MpV?y zf-fUWv(EK5nql?H3VZx-w7CU0efV|FhkKAJk-oK!)6cwme0RiVMF2lz;=tr^@fPC@ zGx(}R>NM!abBllPKQw;VgT-&Z@uRH)yzidoo6oL>LJ(h*M0TAB zTGVTYLsBST3HmkPy>$d$mn$O&w#z{kBJaQnKWD=g|9uQ`OdiAk(L}UljeT(#uG8~c zS#-a?U0u&nyvI&ZV;L><1U5OOQ@UVRt|vmV5Jp9gV}?ZeLJ>0~zw(d_RYr#T7N9`W zD}xq5H2l(UJW#POv6PRFfWeWO4`aHd%Vt(5iwf zh)JS>i0JJ<=aqW70dJWZDD9@+I2=`<310GrHFVJb#k-BH=bsqi8muT#d%tX6)jWtH zKqMc1_JzohNCM+)_tpviSogBph zgrHaFJZ$L0pyJTY>SOyt-*?=UAL&u`Hp#krBiYJ!TR}wY;|8;Rfu-9qYhQmt?>Vzu zUu1Lve^8v?fC|#pj~}&EF{a?lNSS=o>5#blW`^qNJCdS~dzO7~^y$V1AC`L1M`0DJ z9fp%r+u7Rkxqy7^gxTg@iRob+LfMS$CKAHob;uKiq^J&9*8Pd~9stSC7~qu=I%p7L zsjcGKmm8R-71ZJhtCr+ZvYmM;=8u~$(B5fw5Y6(e)^8dzGO5@2Rf;6>?;Z)*?k|gF z!;610LQ@rN^2AZc{3sRM$Sl7wvsl1#cl=#2Vmy;EU7jSx|tNh zQao-=fBm93(3R2@9FTE96F63IhOC?;LJ=Oa!o4ZQt6BODHk`g)?6f}p!eId@{nUl3 zayM7*xiYKLm+i;itpc zz5rRf&u-Y=MmVsMd0rZR#j3f&?PYhOd7P178Y%pzAj`fKqFP7$`@Xs{I}v)ITp;mWFvX zsTxSkov@Oj0H%ts(RW(0_r3=O6fZVIm8?)vh!QDLi2f&TJVrP!uB(w@usjIw$vpn+ zeG5C5m?mMt#6hvtD=jbU*Oey9+1Nqvp26kCW`Cn_Ig%!=QfA!@%0wW8SO zAE3im6{-^`3IMYAKB#xF8w!EEyD>-2!5lOKjSFvFe2WcNL=NpGdu*+wk71#OScreq(fxzatbOJNc6pQ*A_)qdWZ>I5G0 zEs9T0FxY&{>(g0?CA*{>7de7rl1ni>TF5HK;P%`=`vwLl7)wDK$2r6}b+cW348+^< zBpYnf{9d6szxJqFFLL@!boHq^&ZYEeItv?}f?lG3$Q}!O4bdC(hw`5_XT*J_7N#6K&RHxdzYIQ zoU|K_7sbG(sr*hrz)l13%^3`krNx2mEAt(Q;KiW z3+^^JHvu9(ARS}ZKy7K|v1L}{coXHz`Cf7VWV$QbKFIK7t9Dk(m#0yh*3wuBYNA4I z?i#m^ju)3qSx&tMml`z|q4G_LNgBQvyp4Ics?qYjuV2;6gfY`F-ApvPro!yy)%*)n;@}Tj`$4PZ&Q*oY?lyvUu z69QK3U-;4V2PL}wT{x{u&OBQ3A^qSzathix@3IK#_9 zGe5Q6=S7XG`0t#buwh#gLj){+Tc1l{^JUs)PDMsRL<-T|F?%)7HH*Q(zapA#_+ zHTo!xjg%Mdk^X+~?#}nix>$?k-YCqW9Z(9#wXvmTwiYf@ye|sk9sN62JJn%k$7jOU zH16}t;QsZ^(sugF8{FTfkG*OmLuS)k7bS=GYlSZsN$9I)G4Sc`^a7yO2O)IvU>3o8 z7eXvsj?SLb?*v1VF1@D~``x3cfZvAVqs_!>di(k?O}YAfJYdjXq7obh@ zxUQFq;J@AaK0iKvCjOY#4IO89;gO^dytqovmEXRmQMCTyAXHKQY^)_HO&LqSW2WqJ zFL{+w0B7BHyVAcUf~VyIs!Jqy5|d3{V>#Ssr2C4jW}J-d>m1qHr9BFBjY(0jyjBYq zx&8;)r37pl`o3$Vb^|pVm8}x@cbBFboi&>t4eVg^L<SQOQ z2W!0%kbRsaY?*Pk+7W&`E__BQK}Hf%s;C~+2@6onc<)N?I#)+s`)6!Nq8L*I1I-y9 zg)+Wj3``!}7&5l9_;?qcdK9cjRzTj0iSZ(hrtfmCE~R!!(1Z__dnlRpgOC_LzSmWH zj7^&!2KM-Ua0TK7Ld260*IBHgYZ5*X_5GZ6qW<7arGUclKc|E^!B+MaRD`x>Bofzvs;g<36adPt)E(pQRdI%|g}XiKraCwJ?W;HBaafc1{5 zu-iu=+ex3Zcbi&dE{*cac9U8)#qyS0Eq(lmre;r#q51{k`A?3F)I6q&-(L5|qd)C`ch>7+Hre5>KERWcV|`gPHE*oj_KTo09QX<6PZT6hWMY#$L>y0M=|wdKPwry!6q z6-B7u*0rI|({jqH4y`t>XUSmbV$+54zTI~3MOGDqeRPa8cSKo`khI`AB3O9VX_$=9 zem$CwW8Zw8ltCoe}&JP-$Eax4qsq{Ag&*N46wt#z-#mZeF4 zuhCLyb;9kU?*I@Y+q~op!+RU-o{&R2gJENG{+n!0y%J*~NQUo*ym|1#2LN8??u#@_ zlB0Rxpz?MsJEl~;#=Rc36-S3@sB1oC~zmu+2l^{C9jF@&qyE3PDM?j93FJ`DuA|YwLkYhTN{EZ>OYp zm+#p$Hy`GW@{MLT5+NBbX``7J=b%|96?wAn9Mo z9dTi7K=4W3`GLDmh2C7dPOnVyF@7qiHDKp{0=SadlZaPyOrDPGptSk7SHSqQ*~dBh z$19vg%m2`pyPh*t@2#r-LmOiORs9LZxtFx&I*bkSH?wm8IpGzQTsUs&WI`J4Ag#w^ z(6n+2iQ|2mhh-E_vUTGl=l_mVSOS93YkYMjft1`9n zkUaVQ}EUtGxgo9dhl~)ThmQp1Ceq!DsyFw?s5amzCQSe$W(l zAxljt{C^R)p$)#f^}R>LyY=fw(m4a6ji?W!CVu=KV*gBU_>D4eEsC=9NsRxFvy!h} z>A9COco?F2*v)xj;p5bH5^1bu7L@^kt_M8ukxEiAnZH&1C@l(fJ$X%uAp}U7-H(p- zaq7^vClZS{{Iq4wO_19UdRY;6P=&StRinOnU;Tc%)4T5z=tm1b75g+5Pn4`Zvu$qm z^K{ii%_7}!PP~F{+;03%IWijAmFTvp-cJIf&0wV6dpVgLB-5K%7)o$gRcaZpo}zc~nRP!IeRtrN2%s|?yrOztlaybd_|Y|)%!D(c|D zc&k5vw50Mv=*?GY!@T=jzcMWN7b z!WCSWp>(up-Qx31d%B}()OtBTA*ED8ZY^!B!dgP1LcgF{wyPYQ(N7ELyX8 zqcPCA5O)Hm!$xaohZ{9{RH6J9{0C0^yX?NU(&n9h$-<4FzV}_m>mWW@z<1d1yT;_C z#(XVr6#Gw+VM6FrO*af_v01aS?DNp`7$9-a%+&_YxF-Ax8s$u@Y!0c>^Rc_uk9sd# zVe>QY=&m>`c@#LptV^Kf%|d)_px?q@-n3XjXG4~3SPx<*%ikQMG_i+uEG>ejgXVnf z#>c6x-o1U=U+<*<3i&YS7<$Q}WG*@rNZO6N=NGjE z&#;=6*hF_4H(ijaL{g4)9mJJ(Kt@<37+6ZsSP7+w@}(!wkRJgBBx&0(4s^d9XsTk9 z(F6G4Y6iB;`HIK)`IVd50=q=WF#Bn#pcPnpf4Nqh-gvDtd;`=Optli6yE?YKkh}hv z&lK-iZq`xtT@*r>?w+2n3m-71r0V3H^cps!A}0BR7!!=&_0|ZK&#__n#?8^(;PUiz zn7_L-eV{opGC*Log43t7afb8kuZ+0 z@BdYIm#EfV>vKFRp7UhFdtZ&S#0?A5Sw*3^<^yRI)>Nt%LV51c6xbXOmPz_NG3ZNszw4{d?tS zaMHc<;wWVdWRV5r{-mwBOQGg%pJM_;gnRS-idG*6d2b4-`?-S6p)Xdz$5Iu>7(ev< zeFT<@y2_NziETgy`-3i{~Qb^j4Hza{s?0;jX)ep-;QQ_Hb+t>4CAO0VX6 zzO%G>7>fBIdjkwz0@&>Vt$$L!z-i8iVG|~VzTu@7uBJKCzBKC zP^=bB7XTC+bn>yMf|70k_H17Vxsh+QJhV~vcllAxEn^x7dUcQl9h*3IE^ylPQrP_- zgjvT_vK4&Cu>f8Uj&z2j+}N>IWm4oS=?suQA3PL7QLni3Mns2TwV0MOIPZHZvzfyH zxSt9h>tz;>#npoEM6zVksLi49V+6h9NB6xV`a`aec8q<7u)cOt5lVW4{HNhQ<)gGL zYS3*5Yu(!ip|Ni-%o0(%&yQG{|6|=b$w&&HYZ znz_c)N?tTuUqO5$$;6Uns|`h0Ag(jXX)(&&oc#JG=*GVaZ}UA+rB1bF0s7-igJIqj zPx&d+zF06)tsRjp7T-LQb@AZb**oyJP4kZtF2k>1a`T=WrY9k+Ov|JLTJ{Ovc4Ji% zETiv(Wj_`0!L-G60H_gAa2Rt%@4P)6NY>c=nhLCw{4GOwlFh(H!ZSt-5VWu|fI1L>TCKnzDWAYJL#ywJM{80mYE(f9t%b`5U? zCW07mOc;qD!C)09Ucy{5jhZbwOj?)bc9RoPb7$u_l%TX~EAnxbb2HLu*FtWyTcsxr zOe6dhiX&?o`sX+gnwxIc>0hyZ7WE*HnQnZ^Ya#V1Kj&`-ZmKNs zwi?7th~zv6c-rh&JztcqDII*R$rutatpnD2c32L{%nQw{gQ>suysAQAC`f&V;h&DF#qVjSs`Q^}f7>9~Z>LQ61I++>IBsqw%beZiVh~mz8;T3o9Dl2n> z$ztP)%hH9aelw=qKs z1MA+igsE9q>OeX|sX()jOYM0pW5>SF?_yFUzj3xL`E}gi_-Q^2BYc4FS{YO_MM@iB z>llv>$ns$~x?l&EM3g9NdXU*Q>WXeNiLN3(lK>)Wh^)iuxC-3|-fi9zt>YwoI-l_} zADnN-IqS{hW;Or2on*YTrz}Mw8l_eh52b0Jp$7$hw}Nmek$ zTVq*?a*OOSTI|C&@E{zvmS?aQi;VP@J#_^y!!aUx^Dp-9ZJzf9REVLj9mAe*tG-D< z`e(6*Rfjf>I-ev!+oWD@Ds+4V4C~qLoZ1Yes)t|Ee4d3B)}3xywxBqA4p~FN{Cy zn#?p`0~PmjeNIPl?;4jH0Q)54&?`8_GFS)wb%fXL)(SHCt1)~8_d*NE0-D?-juX@)IIghg)$~#Kqd+UxlJh>Q|WMf zk=FxXYWJnu;^zrHe-}tVeZRtbc5*NPj1E^ds{EuDDW;Azn?=I=MLYFY8mqomdj zh7l(+JPHL=)f!_$R(49&vb53h2UN@qigO$X1mss?aG&Je0Mu-oW(G%~#mMl-PU{1d znUm38UMW+#@zYGSNkn8xQGOlIkD30+ zs`-{=q4KZS*qiYNQ!mfIY{pZ~B_mjy_gHV`D5M9H#mwYx&?EHtNJjtB3 zve%M1Q%^^GfKbB)Pk3VWk|51n&w&R4e6|(a6G^q+G>5Y+8BD}@WZmoU>VY873$APi zDu#lI0VH(mHrx@lx4DUc!9-Voyi3T?AN4bZ>%GI<1K}emLl!@mEe3uTga9fluX`pi zV~K?{x=UeZQ+?uTl@HR3v&$Nbm!D5VbwTViaQ)AE4qKIyQnvrNvOX^a)Dhdr`p$|E z=hPkLnFYA-O%8g5o<7PN_%^{T;RS17Dg@W*)miH@-5tMUBGjp5G07eEgpJgFbDWRc z^Gl#p8|wFZxa`!n)|M6ZQGen!KcF0E$qs-29{^TCslM;#p7lG{+1lb*NU$h2iwBYm zvY=@&+^o*qnxH^16$4;!S!KX1t|4W2!bZ}I3iCs%o_+P!Og?1xVsgZ(YI(Cz?2AjT zvel2~g8<_s^hK_mrFOP-H3222QEA*GMN?NCqp4U*dWTd$kWO#vsWG2vD-%;%u8+w+ zsf(XWs=B_JXzJ@K3qjwvdyIOS@ULbY$@!i=Kk}z8M5rl1#wfi%&fwCd=Er_ zC7YUd9;J8$+#>94XB|ss6{Se;NjC`P(HGIt0f}((TqAPZOzg7E-4r&hA`c7y0IDmE zN{yarv3;BYLIjn?a*fujfGt-5*$NcTrs!}_qEsNf)2bE1pzOF-+~MA){{UydIlS=t zp-Hec=256%Al*c!Q>Ov2PTpun%+6NWDpV@VDgfPZjn2o}ct-x@{(EqK(WjFUPI?|; zU^9R76(gd+`!TUXo%y)yyX@>)n%HJI_2#{qgm!9JRtI(0axr*!^=TWt2W0FG8f>zK zr>d5Xu<6-5drxTLhwskpE=Uu)6cjY>uioE!`z`Se7@7s%9?`S;s#WOVg(F3|-Q)8A z07S;Jn_Ujdq$WAi&3Y<+&7^8L174=SL!xz92Sj-U8r^`4s#R$bQ2INfeHx@VTooZS zri9k)?KMDdJXNPzj)yeJ@+z}xyFZAMWn}Ced@g_as!gFxQzIZ~gdom~u&B&+0mn)+ zkEx1}w*8nG_YB|NpEN3V_zJDcZUK&cC1QP?#y+8G4lpBrUn<+2B}G?y_nIvb?3=fQ zp_u#~wjLKk%Fq{MNSRK=R&ghCDzy&9yMm=M7iCnb_>vQW)p@BJ_maCx&2O3%sAcj_ z!&EN;I}#JRrqpK<(J)jw6RBu!o%6kFLAO+1GV)M%hKZ#W(nA@fCrk`n*1K)}j9ZC5tv`6vsvgSo~Yzy`za(Y%l)+JB`2lDttv# z#51zPP;D@O=BQKYKPf(;J-V)BUuCquz*>VE=M-j2E+J)Rik>b10EO_^V9ihW{E=&- ztjE+W=9Krfw6Se&E{Pm2K0mQWqYYnY*EL!-r0Y~_uGy!ErrLmfuL}cI=A`G)e@$AL ze^}hE`rDyTq-U2W1m`oe#57iCo}gV(sZJk%kYR%*1^ z56rARH>YL$sRruMt2+~2v~rR_kX2UuN#dkt$;(A;lik7qSsfJ9bc-&}+5+0H7WW2K zwst<$tihv%sGmLV8|<2D$jOy13!JS&_hD+dM&Og_yJeXa^x~mFM5m_*T|nI7-kP+i zkCaLKs7<8bHRiim+XHM3xoResA+t3xx%wU-{u_Jo+Tlm8?+VORrm!h+P_4IwZIQQ& zVSXZ}Ad4_S^*gY$cLk zZ-JUB+nDF~RsEtUJ+1d`r!NXUtvy8Pft%zf{E_iMw@J)E)pe4+{*B?&~D|58TLW=Gb%T-sOE=M4>dgdnOUlr z^jwh2oq}{_Ll!(RoJqe5)U;V^vQ_V*4W4L`nDDo$L7%H_{-dg^S@r~#Mvv>NLHb*A znM?IFKtEHiRwB2Kql$a9OddDi>21ox;Rh2kyQZ)I0NG-yj?SBl8T7R|ym*?ulX`r` zIgRXabn*kw=W=B?Hj|EO&e!)-U2&j0I<6!d6*g*}RnP|loe_{oOv2E31P4XEQODrv zVrSn_en+3^P{h+XfH=jg5B~sp8dB4Co=dc7sY`Em&oXve7~Z7H*_hLhFn8u_s57MOlM)wPwF4%w}&lO=Wp`} zJBpFaI&&M>S}ixVRUe>LTgevd`!oAOjDGj@Mq)RBD=XTZ>W#^6simrHEek2+g{`U~ zJGBxyDu&RBHq}&tDifUM!sZRr!LoBvYjsU?b-Ee&IU@f6X$dn8JLTMw9TaM<9aLAK zJk^HFcM-UD-B}U`RM%qaweKw9)GV0$R4xUYpMYs6sw`<5qTEX#=BAi4vUe}C>H@MX z_QexD0wzBs;9%^8Ts+or;qxcu0IxLsfevaMSCYDRX_dmY^jsrpmA4@P*LyS0uTMp*7qqDJ5dqGCC z&QhOE*V&wBY9tVx#~qoI+(ZQDHtD>|q(-Wy8v3`c#=evAc!zt6njfLvRT@IJ4xw*o z)7nxkY`M+n3k!{ApnNX)*li5kEXMxQE2SwOp z-qrx@?Ca4N;i$dbR}$YZ{gZ29+f28Kw)~a=;+<5};yk%3udi06GTgfQr_=E;kG8;} zWil2^6-(+=K=CR-YMqF%@b~Vd>1kCM*lIWY*SXichJ+f@yH}CDk{c);wm`XE zNcdRZAvhvAuQcANy-+;R>W5Y4r<#=}5TS=1SG+4QDCU$#T(TiHy8wHxIU@GPfd-Qb z)6Ep>rW)B)>1oFQ0OS=)$3pjiAgEIPW3xNyYI)&j19~@TXyR2I*>UWd{K{q=WuPGQ zcg(6+<8jK~ZYrK0)Ej^Hj@Rs;QP+}67$!!zhY$J(`me&$pYLjG#&Y$(BUCX z*kx3r?i1=2EKTX~ROZgUh_t~Fb{3fhHmB`ZqpTnW?L4WIH>jHM}P^kkW2f>GiyaaS))CY`;vQ>)uCkZ#36qj%bXQo~gh1lPoUF z#>*-1a+4g?1b9!H&ri9L5TUCkI}ZNMbxa};%VftUd^f5x?cWayp|8z zZ9S8?hOIj6IBXqigHY13dAm=FaTeGZ*5xj$o~MRb{pMFvX=K3SMTremhNj}>ISv8=I)A~3k^<_GzqxY zx{Sn)Q>mOC0pM#@Mu-lwDy|*fLa6u15UW(I#`&Tsv(Y-8!Zo$n2!es)Xhx^Xsyyg} z2$af0Lkf^{W`$Jf6yK1FLMid_QH>0{K!F$l?oa;!RO(L3;k36z*Lf8ims)OSDmKU~Bj@5Hc6P^i{i8?zZ|IuvU+2HV z&s1ietg{OQ(_)%AXqq5~>W$S*=5GpWjZ>;rnNQ9^(I2vSd^98TFC<*~Qr@b~Aw8^@ zLj5NaeD}h-;;~n{&5xiXO}5y3`^sR&8EGT4CIVr{QOLsH8_zwLby{&O)7WQ zzteIzY`jC7IViuQlbueJtT;j!TtlKLGm_68Q3B{dO^r~EjTTduS0$?ci-c`3Ap-iH zcAoa>u!hmN-)P|-NZH!3^eVm*tEpCDYl4$x2BkUHU|3-P0DUeamnE1(A*~#O?FeYQ zj*7JxWqV;m2ILLTce)TnOJ3?E85=5_KpeWpN!uxA?LF;0}=cMaE{{Y%F1`Aa!XG|h{U)<4p6X^ zSoVhd{{X1;_zS6O%J&Z9>izx4#oaX25+n{?Rce)(U1pDzXrLpStItSB8HW#Vj+%At zrqZ8V6xT-!R5S#4GYBb}v`h#M=DI3p$VbepPYI=0{%oZ&o;E#)(=h%@pR{o8rg05( z+2On{z?x1i4m^S6vrus#R=-!8inK|-mQea;%*tGH^pt91tF@d()L*AqPsDpNhiD6G zFl2Z=Te9%8HNjD+Gd5cS@T*~;1QIm_bp4fW!qy_=zX|kRs;2NW6-W;fH7wGz9hUep z@L0cTRLe<+FE=bU1)#WQe^kZ@3DogEMNZ~o0&^Y*$`f%c&r!mg2QFvPYSuR^Kbp;= zZ7&Vo^(PrFxjP{efYg1FA~|%}H6atQ0hprmC3bjLv+FW`+b*uSZY3MQRUF~f5YZ`^ zN+hONlJhM*&~rN{a?qmEfz&M6XOE@Qh%ywz$Ibmz6~s_;dpG!b9*Nj@xvmn!;%`;i z! zp*uYFMI6-#FumwbW6HWFRJch{ND3~7tMWuQMV_7NTm*YePd+~8GRlRU+GES%OEJ`q z%(Uo({i8>b%NyZexV&l>u!*McMKlcZJ=((7#&rU zBh6^Fge6=eyhpBL5=;f`nvKa;n6LI! z*t?k=z2@dbYF{{R7prAl9jV+)T=&QvN*MpUZ!=H_K;&QPa71RfmT zs=Wuk+%vYNcYriZ!!Q7xQ}>|_%-acJfhVG=JX9(D%TZvpI&AbK{FN%6D!6ib7%G)2 z!}U}9i}W^i&8Lz*r8(q(ByMCn`lsP>y|!NsGD5~yW$HPxQP&5m$F{RvF;15LN`^X& zRv9a^#naUa^yC$ZadTPdnA%iJ+a#Q-of@pEOaaVG4&Mbg*!g5-8tNoWx^p` z?BE+ruX^uI%*cX{%WN`)E{K(VfT0Rbh;&1u4JtOd)y)>Wg`d}9s95In)iRwh-hpLw zgfuG)TyX%Yy7Zs+Seb(WdZrLBC1lX21P1T98~*^>u01Ip;8MV1Tz}b>!aIxaT%wAd ztY{|Efz>{ZZW9Ukk7zOf04+Wuegf--O;hm~S3TYP^5+0Km4v3z4yO0>GO8Afh>l7* zsl&6;WhFJuEg=l&DlRunr2uSrPCU^X?qMBBNr$0MSDFW!D>6GQs*el6`%3nK@ZxEY z`4_Y@@z$YJ{#*Y5Mfi%OejAKj05wcwu=sJSMbDW|b}g*~F$b5D8OwxgVaYzOD6zNC zO~8Ij+4xu1{B09dH^R})$+asz>}E!n5*yJ~W-_^MT)mGNI*~lQ)+-C{+f~m4m{qD% z?HMhI%t!TDumeqJWd=Y_s?l2-`n+05%dbU^!%G7x)udY??GpiGAA>lyuo_;s_}>Sn z&3lU-wppLw+hx>kjg#Ka>~|sIxXep`fv8gu)Z|q{U!xw8J&q5l9s_)2kY_x;fIS*f>*3V8ER=H%${Cj(~$`%1XbwP^LC+59TEv+zR{ z>Z3c`VXUsuKCM$OaLxBm&T2Hl{{U4wa#4$==3!LEV?PYo4$Y~xlf9i-M4C_V6RN2~ zq_bBHs=Ee!(BiXbBlPhFtmf_u~ex= z8mFH%DProMsd0n~jAY>J_$M_5t>nv?)`L0e2?Rrq(n-0ux?S zRW{wlQKR5$s!fr^(=2__qfqqUAlU}PW_qGb3k}=s$AxpvWB}U*P0Ki&<__?+1IXZZN zz|SLOUv@XGvQ_q9%|eKyU@Od`Sh*8c#_Q!)NXymj-4Tm`Esl`c|&Pj7^$wL+1qJySu|QEO$+ zMcf#1ZmSiEIg80oH13Ovhl?Nrf`C8`VODqQu^@R7E83L)b{|Ms#}9j7?LX+MR(LHE zsxVWjhz@-)(+%Vhq(~NBn+fI`f6*4G#Zl>;C)32Z(va}(81hfXVVKIIYBZ+<_f4$U zRA2$6pg{V$uf$d??E_3r(PLjt&*BCmHen4`I}#6P&K4b*#|jV4OE(Ovj==sQk)4Av zZ|?2B{k{rVHeb0LS(8N9u#gcCg*!5s_yh5Eu~l16lM9?z{u73m-n0BmDOnSo$C>1+ zxWmfLwY6G7PNMSDy@|$V>{**Gs=Wt$%5HAb6d({nP)!`wFm+Vj%~NX$l>9`FNR;e0 zAGUbne#sjyr2;<}O}8E`mpj}$mOadGT}e^?73WO+l1C|<=*9F^D8LIHSXwPiD2V!Rjbo*05Bkc zO=_jgsx<|QZ&VOeaSgb-a}No!do>%6tx>et*>j8ls$pi8K@Vwzu(*H(lD(-?kbk>r zBf?G9Ts2qHs?yiDQMH)=0Mc z%Ur8_CckFu(>@3F+l=;=Uds(gyz}T6wrNw(40n(z^xoz@rLJkXJDgi1c$GSo(1Arh zQ@&?_nNP#{>~#!%HqQ-C5;t?SqfGY%m6T7zXjc*V`fQ*xVwlr5VPut_G76Os{UJM? z1LV6}E+IP;i2>t<90f~wN+A%5Ma2|Tlg~RMyD?;Hx)6jEi3*)R8Opt!!T$ivvQ;Xc z2UCCCCSNzR$@2-WCMgzu)Rf#MFf#L#)T%hj9fdk>5+WfI;0e0m0^CM^!2+VaKjI1a z4`@|;X|dY0hcCv}sQ7D6v8UJ}ov-C8l|N@)b&32ds6Lo~22k#65rTVLS%tZqBhO{~yZ783^fVw?Q2a}f z0SHll*;TQ%*+!FP#bJGoL`Vjy)U3^w$FRgK!A*{#N}YnMeAB78wC-JGz?Xe)RO*O( z0Um1wUhLpLOBqh|$aq+q2i{V1cDQp@8lC`EOx;vG)0obAihH#vxPZ|mJP=U#) zHJ|~e$qMQegxd6;#|sdhg2mOOc^i6f+u-i5t-9&aJE!csZ2r}u=>GulmBQ~`@LCgJ zOmslB!Gy`zXO_pqqpESab+$X~xk~-pA~`D~eic$ki1k9FUg-tA&^XLHMZmvvVt_}n zK8i5Iay|yl^;DWL?rl=%W)nT+?K86Qyiv?7m1!P@ONQ+2=DBPm+E|7Q64YiTd9IL( zay=HHsW4WTN20oM*JP5o+_m-G_vH7ILKNvD<2})rQKD`0Iaz0GhgFGTjFaZ8)I350 zV6+6s3k6l~=oVj?r!?@nRiNm2O>osuG}4CG8uT%FgbIb3dU>zYaX-d(HU8AX2Wg*S zuSvMdY?m_6{vDMuRq4^DCC_vwV6e2PGe$NS;V>1QH;5l~jll--=5Io<&K~kwRs;{% z1PCp|Fu3(A7;%*GPpV7U=>antho@DB&I*sTu+O7Ve+lSSde}YOXT9Iy9Rv zd4Q<&@!$xDlegbR9X z_l*7^qZM1#IhGb0s%^wG@l7tGPZU_He~<03^49R=omE*U#>qoRimoP8Um+RlqXV~S#jvIHU2?cdKWHA(6TBH z5uMCGx`+lnuT`U?lZ5{OXy*GA`i{HHy>^mUWlT5joGIqKzfVqSyoI(9WNM99)2!`k z(`(PFIfU%|N3yBno$kX38IF$hPOF*3%viYtq0+$g3-t1y699H2q~YP0u}iaRIbe-mHv zbz8vC3e05&gaC)*K5e9Qgl0I(5LLW4>|@a*y_gc!Jtj#6@#Kxbp_I+(=0qC%g@KkeCv;P3|94iBa11&I5Qkum}4#MZU09a?# zETwqnuz076M8PX9`D~D_wYaP`N=_DVPr>49QFqFJm&D(9GnKZ=$oc)3{jEdM{{Z1A zuoACUg|&-%|#}3gd97e+`pmHzPq0DHn1dbQzxp8mHneqDS?!Die?6eBB1{OWt0wpD{bHyYOc8OlpKN$ z3AlP@l`}P+r;H+MJ9TtwdzSP~=$r9eF7ASFMBa!Y(F8sM z6=q4M=QN{Qn9WY1>f&T0(ii^aXLfE}l%VNMd3Bd#PY`_u=_$b#D796jJOSZg@7iIE z`7dWaVwGR|kZ~|0ZKZtf&?8=`9&3T`YoHDWk1fVK1BE8!HO>5!yisLM)T%tz4Rd2F zBJM%n#W*^`S|=x}aRwEYTu-xW*A-eCCx@(TvdmEsy`5j!J-skHMzkE<=b_neiU=mA z<|(Klx>LHMb~qq3+QPo} zb_`81cI)vs-JQ{w_D!}&wP<=j{3T{!-;9dQz0tVnzUx&10Gprgp^fEbdDv05!53MD zk!wlPQKZ_CZ4)IEP0sqBO1E+Otx)$~w_0CSVcg%kblDEhOeX#vzUx9brC53(*z3Fx zBtDeho34YzoZVinb0`pe)M4C-q|%+`bpHS(ZP&O0r3Z9)S?R#gg_Vs2rng>chVq%! z4iPD^zj<6;5H(k7aGr>^;477PD{dS2uzROg#@2x+GN*@UZ;3I}{{Up?gG&lBv#QKx z#!2R-W;vav(&C=MWml>*bj3-l@ehuhGL-x?^RdOI7qn|LuzSOr`xR}Z83qc(;ec&c z=L4TLh0EZ4tX?D*(PmFFoaYz4#m+jD+!1hKtZo^huN|v@nsFR79V;D*wB!q!*L98j zMK^rVnTViYhi|-X0R4;N?!pKlf*$}V)Go_BBo8IpIo+j;opPP**H&(R-kV}ed1g$k zz~>Q3RP;Lw9dWX@Wr zQ>G8kP+Q0$pwn|Vv)Vb+tbZp3?%X zjcs23DO9N9sy3OH18vKERr{O%%&A(VX|b~B8!CRt!%M$f?-5L;X56Z^jn8qD7WVx@ zcVsAWMVE^xC|34sT6q!`Ni`^m@>SWw>Tdj&FB)=h-jU6vNP<&|Z_)7=}I#;R1BR_1{+ zM=hBu(q}i6I;tecXxa5Zn-Q|g69+Jv^@T;FRZc7kMcx_?D-?9XxqCx3u;F_`KlyO6 zpEez0fBRywApZdJ#bUqvVyeB4Z(v&jRwE&K@XGd-2x~}%?GDgXG~1XjX?+Y{)1M0$ zw3=^8tJ)vzTCtz(Kbpl2aK%*`;og`vrvCuRQF!JS9BTE3`qmrkSbsH4{{VL4p!giA z*VDz(P8rf}5jbZ3&}ayWln$jv_daT9`Z-c|9+_z57YkEf9ps!LXb4^#Bgq>ghzZiF zbx*vNCDu?}sy4T0mfct3j$D^P(ZHRS&E$*nTf{%7!{P8H^`0}-dx-&7#lJOIeYpe% z!&TACngYsDDXl>bfE33K6X_hxDCqE-{WfN<--&ex=4!0L8D&((Jh-)^&?!WPd#Y6R zAyI0k@`4B;50c7MCb?s%$Kmk~YkG8E)SfJHUe#a+wrx)*1l(5x+u7CW*VFbL`@n(- zA>R^-P@OlQG+SIB6I?ilP@RItejJi$)Z(UnP(ewBF8&pr%RBsn*Udp%JC@6Aga*1S z8??ptXVn(z?K*EA2t>H?1Lik>4^Dn!yIPr_;BDRhi-x10;&|cmjjyODLDZ*)W^03^ zlFZCQKXg0tTqqp;Q3LZwDfLdRQNgjy-Eax#xdJv=9*T{BW75Ph=BODZ-F^h3iaUWd zH8lhflsk+35cruO0dlGPI*;OOk9zGqlj=wsB72J?O06or4c2CZyO<$TnX>Gvkh4*$ z&pAaiQqX|zrG*kmh4{zFZdHf&OLGA=4?U3WlFhc+PZ@`OHw{954-ooJumm%_{B- z+JeHcSn>{P>Y>)NifACY&Qv_r5%LL48f713Gi!7;%;e2;IWz=1l+t!tO&X;A3a9=V z^5o5asji~Io8?({c`53@G~c@NP0|xitqPd=LZo%3)k1$(KP5-~n^hn@4Nad5Q%hVR zCT1@Avmx0(?xKLdGNrv$lTRf(x7qGqI)qLMw^5Z$o=L8^n#y{pAs;0L1?G#5ih27g zkqYioN_XPGCedUaT1n)HI{lVvVhTRyM_%?q$a|T8*+$3KcxzCk(9zva$k_I{xy>Th z_@3IKVAd>)TtN^<%ciWAA*DE{Cj{i=;)_kubXhseD#{{L$>CUzrBq{@PN3MKiNn*X zK4JR`4|wHJs)bJ_Z4;QIy_Lq$(Ir0jfJ$I2xs4t7U-*U*)Q9V+eysT>R%oYIO;+pX zgmAVOX2MRZBYeusZflq3q|U(hIi5(cW+WxsvU#^-n0 zI;;H31}TFKZ;1Z@n(ZGk00CPo5MFy z52_p_4O62uTdw9?tSx*iF&J|W(xVmCb3&F9i@b6RQDdCaAcF_sE!~t+PDLHSg1_vs zS>KDQI2qwaq4L-e?mJpe2-L&D)wU}8lC@cJMPhWXvEmR##jg?BLnNt+%zM z+puvr;OBMqogYX40EDRxzb*3(U#o?!uA#R98Q8$ggz&0O2X$_&SUPi2ju@7`QLilW^-WBm3)AaJ7dCx0l+KKltyizjml zp){s1(A+2IKeEY0tjjr6`GrU6R6y{i4oCoCBG-4JGqx@k9FTXd)iFY(&uZ6;a)nO~ zj>A`{YIW$exB&oiAymTR%h+I(HtMQVy+-FB(NV@bH05h~6v;1}p9oM5M{0CLH}{-W zKw5rlD}n*%V_G1ymLc5%dfNBp-O z-3qE0M1l59tLTtzyp@ifiTtCLmUC*1E_;H|r+?bY_*;D-4{9{iF56uqB9n|_dwMB&Ls z+1ndr71?634CHUW7^T?bC_DH51BG1(ZH?|1`YEG1 zb#YfKAhr0)B)O)`gm*IVq4=6IJZR-=a1fm)bxs4#K0EB30 z{{RGSS@2UM@>71l5=0TnV1@yvsh5^PY7TpgL;`FS>!Jd|TW}_X5O5%@k0A|^(jr0R zi%!W-!{8~0c%8(4{{XVAhQNdk*=bPo-CJ@W2bRVcM<+Jq^-OoO={K}ydNoMP99dn? zSK}~0zfQ;ekzxL!HRFWARhn++EK5lDgvV8h%nu2LSdx1-s@aL`!m8)qot1aSR$XGH zq>|o>tNc$T6Sg)&1a_4yz>Q-A!^k5*vAo9{{{YA*z3-^=E^$TfB<|V~XArZsPsC6) zD%H&J?r37M{f}xX&V>3RGu#`XPm1uat+R;7Af+7kM46QZq^fVDPcI?y78|;6Uv2*Y zWqZbd5Ji+}{{RTs(y3IXIYrPqDuF$`xANmBt9PuwNee6Tq+~a$cMlH^tl}Xuc&&6STMvgXL_GF&x%i({t==wkWB{hMguKZgrT&UX&L7bG^t8lS?RJ(W-~xxqYNy1z%I z{2@itrpQ~W4Y}86Gpdb~zI!*vMfx*->nJudhi3kv%Qq2L3j6m$2dZ!WC5QxkpoG)H zhC_6EtuCBhWhu}~A_z`sM>m?*=)0DRGZb@Mn#qW5kd_$afvo6Z1s9M;u&qvehaO4D z^;vgAlU>VeMc3HBSjbgoCR5Pie;)S(y?ClFdMlhkT=dfZ-ducQ^f&HL3pq5J#|Q zphY_{3L3`r2)SEC*Gz>>iz3@@{*zDdy9@BmF{*ws`QNIAQx8d$%{dKJkBX5C2<~Jo z8UFMvDgO1UgT8R7{XsH(K~f($SZ3>0s|MfiLczD@l|*=2s~-r3j;a0O3lUSrQNUuCxg+CfgiRyCO4bmRGc%f8s$otcm$MQa4+7%1+NozW59{{U&x{uloMgr*SE zI&b(_8)u>#=$X|8cu>m}1t46QnB+DY)g70fYH6_f>a$|8ZvE))qtvY4u#2&69TC`n z@hYSDSGlO2_V#6K$!Z1oINk$ zSz1%KVa0r3qoE>nZ zk}h_IX{;#fjjVv=P%c-D%ZBOH$B|h&ra18gT*-+}&8_7Oqgg<1QCm8G@DYHmY;zi7YL~#aD{Ed zl%v|ZckR6kG`EqlPNL}!;VGFI_S7W&&FFB+rQs+;|XMVa10^ii<)6-xV zD?5va*+XGDniO7cp$hd_$&ADaUxK4jtt#dAyGY!>!f^L?9~uzv`)qa{pS+=fAb{c_ zaUHin>QFZtqD&w(JAX^3=y!4iYB=9$+$sG^sr409eC1a9%Bl4f?x^iMzoWm^T}I$R zQpHhqH;Du%`!^C>90$U7jlzm4$;hILkAZS}dT~YCp&BPMMH_CRLbk~%#YVt{AVO_U zN~1JRW}|X82LwVWqK^0Wr5{KC0EDKwf;a5cMMioi$+V$5FC^67%{Q}bs%xP|9=i_1 zejQaYL&z00>O1Or?zp88UR2^{uD01NvnNA zFnR^f6!!ooA8FxbvLPFcwp;?pb#x<|(y9ZilgZV|#lJFto~VO)m6~SDrif*_1);I9 zAX8dPtzx)(l|7#=>3pcR?Ds68N!1^tLUt<<>W=69mR9@@Ru7A^vgO^#ozsG^k;mOU z-^oqKd>Rudb4F|vTzHdf0SDo)yKuNh?6jaOZ`kkg1==u=$r^4#o*|AJ1y|YFzr|3F z&aSqdby#}T0Bzj@BwefV6kv%XR9Jku6;_Y$4uxScFmiTI@>Aii3ambF=Bl5Vr#Dw@ z;4O}N?lyoAswLkmKh;&nJp}^Rz!{P0|QAHKPJ{D7oaywy0!Qb}2 z(hm9t$tW-;ftlZuJgkegf}6_4K9Rc2HVw0k^ls&my5jh6(Vgn9qi}?FGul{32;z$r z>NOn43$*v}f(Ug(uHQB0ywsxPtD6e9A8C;)?YK|r8TC>}|# z2FcVNwsvJ{Qg%+#iXk1J+LV1C{t}3!B=7iouXw}F9%;^TV-3QpGTjRy0?R8~%??&8 zPP>5;h}5A^4T#Igb6IfA^i$m0==Jqp_O8pX?O*v6(|@8Jg+EQ6@cJVL$`z-2+b_0P z=+!5pdBgTWrpy=R3-oGy_)r=I=N}+}u}fcsS9x=e*HWk&O_ylEd!yaob|FX#+nfbWbHA?t01(*caWp4UrdtXWoQn6szg3WH@}CJ#r|GoyN2(`uVW{@c@t+9joc9t;lB!b#G{mmWrlb5vN#wKe zw?)~6PRUY$KyGk_@0_1byW3O5HC$g|v$U(^EwWsI*(;61phd(-RC^|RZjtdrZMGkQ zsZj8RTBXX!5MpRe38|=UJ^is2e%k{Cm7c6OK!e&59Hli5sg(p2X!*4VbK3x{*ov<6 z-uIhN!TXnQ1Q1!Qn?oAckDuTOPESrn6yTf_k$KqT%V1HsB?KV|LhFeDf&l;!C=!4O zFd>^{DCUGF^+CuK9@AuLJnae27DOGHl#LW}-77D(X!<|=C2$S@01Dz`r|h)4rpIUI znDgQgQJ9em+M+4b%BPai3Dr)HMsDqs%^Zaf!p2xHaB9lNk1pounUqM?d&+`Kg^(;cqfyNSS#h)hrpZors+%=bo1m0NfjIZ04Th;#ptq_oaVJxC#1|3x4t;($ z(xqFw=elrM%2hc`JJAO;5uqLF><;8TzN%<9;cvSL=L?5(Ehir(p0m%M{m%aY7~0o@ zpNFY#N}sf-WPgk&(8e*27YJ@?qw z4$`OOjY|y_m9EK+k-KGA682K2(&xCqXy%JCFKO`u2h}>JC7f1%r1DI`)NLUA#xAlj zu6r-G3e6~0tLTJxC*p0sQSQ4}g-iiuN|02UqUfHUo}PK9B2=mG`#)th-&vFz7POds zc5>Ltnv1HS@EKU)p$i_*69a;;L*6l@bqScJPL3Ld2vVf$t503t5~c3=Z+3RIPKv9P z>g7#R35?MLi=^IzVEB8WVKy{OcO}rLHjf!Ft!6zDUwm` zk3{E~36z^9a$+Y^p#XvicX?@1r}Y^-E)~yznZPIm<76#WySp9Ruf+R0oSUYqZWE$Xni=CY}^N@}G^$inYH zv2i_%{{SV4XZKGZWr(NqIbsJee#)=X)bsK+JLqbtd8a$6RgG|aH$)r4<0-U;XY0{A zsq#k10SIiCj^eHsqia%hJ(mSOrFXg4bDT*&Wf>!sC)UVbWx=3+OFO{ny~Ma>7MGK0 zD#{T3l^wuo2nM59nhrpq?T=M@Dx;F9IVXhi$sU{1qkpmXUKPK%yCxQmQE`*94#0Lw z39sa^)aAjD%4;^1QCa<@?;)_Kbx%)E zPDK=Z{Ei8a0_aBQDWx@K(LIUfIHw|FfI(R+%1i1G>9#)!gwtUKRvQgnpp zVJbF}W>(Whv}s@D8?(4K{rwAk%Ih#PhW$n{B1VWpn)=-GOrcInH4m1^*y5a=-IKBujq)pD{{VpOvbpc`K2#5m zho1KPoJjtYPtfmyvJgQ8$26w7#>w23T8Bg^!8)v?;cva!)d)RTR? z+b?$CRW;Z;uX;UIOg&BqSz?S3@UdS+`hV=7^U?nR^X{eMpJiT``+wUL$ZO_`PW~o{+sy4AVB|;LLQeyAD+S;?W)K*&( zqr|4FLTm3mi=wDa(b9hJe17-uzOUpY=j4x^ob!IYuUyybdOjad{+_SqRy*;*!2D?z z_PUeU88TACai#Dyf{u}lEfyBUyZxV-^Y#|m0BX26FxuWH9rl#Cn8~!pYvQO3qbz0` z=*bM)Y^fpIEPG}Qh>6D`&n}7MRK(34#sH+{HN%9%3>OtwHL18Xk}QAeRl)XPB}-gt zS=iV?3}Ld%;yJ5AboJh@2yGe{%3I8;ACHHOzbqf$ zaVpAHt@SOpsyZ!|AVUkaYbh^erG@tfS1!iG%trc5y~7-ye)UM2vRjUd8T_UsyPg)l9ydob?%9@BOb<3gxhX_0#?NH*u0@ zM(&)fdE_q(q|#4lBL51|xa-q{sj?yybt3C!sAlS-3#ip@owPa#X1k&S{C?#Sa5A>U zYTyaSmb=S}@4YFX*k_{}UKY8ggjGR{5?D&q~^`Fi6Yg`Z?<147N;-T$PWJFkT) z+uKh{tKN^~@BK&b@y3CCcsAgI>SWw89Qp3ma&D+bt|x;kuq7Z&Rptcxq9Vh0>7wMs z1@V8S3c})Um{0qWF$MgKm`)F)0=s!BcK(i~2EJK)+wdqKR(t~7A&q517oJT>x;V@J z-hD20A;Di+>YmxZEc;h~Ww@roa0I)G`G552xzCc#j%U7f!>?0yvoA`w95yDfz9IH| zW>CvzL4}{|O|ETsxzp~$cs>1tS)re&{xM4J6$D~jf2`rIvo-Npxpr-H(5euyu>;Wt z_pvDaxboKD`UxGe%JOXuM42$?k!b!(h3&P0AmKInEwv)9krzO-YEhT7uJmA7$s`>H7n7_|x!KZNb6~ zSZb0e%Z3X}R@zz{tB!%SCmNrBz1Hz~JdaJ8LwL>@5aXQ9t=GN`WHU*!N&}vN3aaE< z2$}G+OZV8VaW14h1j)cz9w^{J<0b;s<&L|3?==19q|fZ+5BCmZ^~+V!R<$yt@{7Sl zpJi#%{vZS&IX#M6Kl8VGc_{w{$mxf3{18pbwU8DNja0^+jicrjFaO^~X?7+q?ntN) zdWhz7{ZZhDT<2&K{da~wo!{j`{K@SDXgK_Up!i2YebTi%yWwK&y%I_5pW{><61X^+`{}Is1=x+Cq*l@>>qaC_ zlwG90%Ok3=?#j(b(<-`Dl2abw<;?sttn82>j2pN%OR6c_HgbojS}SA%S6vnT=G`LR z;C++YP2taBxkXJvwtPu_Vd@rhO_Vxx^4;6v=;+7YpgvsLjp2Q>ia&snk+nP~U?m3D zf6m=%<=;|%zJr1KT%KOadUt!Di_PRIZZX?{j5Mt&HT3w*9<8ZdfY@5nF=Sr8ai{vT zVW!DJ^l4d=5m-_cZ0*(@YFDwWY2*~3|ekVs*X3gsiHDkS6advz)g>cm# zE|1fAL;j*d(lMCiaIhfR=wLX!v{IPcw&l)aA zMfQ)r1Y4K3tn^vcLHx(0{ZTR5c`OxkJ+P>3S$%AgW?gj)^{(qt;iaakzeH)k>E|i8 z)@NI*p6@hsj0JN=%2Zdqw#I|E4`jZ{Jz8|E>k2OVAD*3sMtAp79FWtr_MxiBi6R&zi^_2%3a@Ut09A!iQN=IvU+h=ae#iD^c{A8tgWg0{ zP30GG!f(-I70>sCsp9GcXM$c%e~p;uuwejcaINks&I$rkQiNMxq}Lauaxb(NaN92Q zVkz8(nPeCI>w&u;z<7TIG7)}Fqpt`-;0gV*o(9e}U2QFdoOPP@z2pSd zI+PtIiO2q~9sEqhm}d+Zk4!zVL9hUagO&=?E|=Wq9h57`ufA9-n)}@IiySV&Tx|Jz z!7!A#5_a%90XJ{x;JT}2{ehlG1243AuwWPUp;*HzuIaU748b$FBg;+{neH~`=nU~D zwqi+~t8ltoG|o9tqnWv@9X+ir7IkTR{0)mMw&u4qqIWlRTK|$W`eso}Kl}^euM;Ot z>e9nldMggoGRkVE-5sfDTiQmw)G^bRqc1cEH!pw)LuiZ7ka0P{xx2VDs4~?11$-Wt zmT-grIf0xs3#HoC#^_Xoau!ciZ75!NNiZ^{VrTK9r?`{9>B;1YBmdx^Uhqnmi0kmhK$%nJ`A%I#a&v<3SC)@Ju_W%tt8|oa zJvI@D^R{9YhU|4Whm-f<(XrAm%iAcJGP8ny|4THXb_QJjF`i9oaC^=&%QT!sw^~dG zvgjx$RD-#rd}oYM4-X;78FtRhjL)R}EGLNmCNh=6!x6K z5&#s|T41`(5>$A|B&%&YAfiQ*To+-O-2l@!qP9;U`q7cyfa+V&`T4nCg$D1;GS@T#I3Tz zd3&LMwbY-{eo_0iz&mWoIm*1?bH*ZV6B8A-cG`3w-ELZek+Fp>_>{rP#>!H!eg5Qk z8}`W;aH}T@-pIXiF+MtMpI*a$I9geLv8BusXwstY-H20VidPMw0R0^_eG8Ae%;b{_|Thu>TN`JwUM~!gwq>o;C}Su=Mz*7NuSj8BSBMbBws#a6RXzE>%FBB$S?b zHfA`gZ~76xrA%->fWCq@{(0&%{j>QS4d}LFNo5**&qt2jJVL%^|M#-flXL6d@DVi7 zaL6o|@8l@7yds2$GH&t8xJJrqCH)&n#;^DDgI49$>=w_+56zO%BO5=7({pv4A%||) zX>8BgSK4o2Zv2l7$A3`-gLaC(HCBq$L>yh{_}(T*Rh)qBsMx4-!7|J!;M;Ez^MBhlJGhG@_bQhbe7Rrs!u}_KLngejbcEXg za5~dR?;XGvsa+AHJ~T1*YLV#m&2PakVT~RFYC`|R)6;2YXxo>rm8@}mwA9y1sg0WZ zW@j8q*!%=7r5!f0{hs3JP@A1{Yhjc%u@tA6ev#zRlmX=%z~X{)^nDk>W_`A)4{~xDyf|D%dV;Ne-J}ons?Z+rxY`sjYzuh4HhiOUI{( zp9#!n;pkMc#&L)t{8!n{O#?w*XFWlI9I~9^bib^>BK;w2tuc~siI2Xy83&R=8HTO^ z4FugN#W1dJFQySp)OrFjet73$i)Aq9J8IO0iJp1b@f&yOtO@`X^|evu$QU_7y-U}* zlPHc$lVvBgRzL?zK9?61=&Uq9^Mqu=!l?%u$3{kAV%X-xHlxS+h{0j|XN+h^&SK-5 zf&t^Qm0YRc-fKL!Zh=dR?;96<1hDzkQpi2U?1L_@C6&fEt!KFHCT`BGp$Dyckt)Dt z_5w}M8THOO1(yPx>F zCpB6F3zO1#f@F~i+sHo+k1#hcE;&nne=5HE;D>{+9m?s`1Tyzzdeur3yop%$jeaX= zb}G4zj4Tx+()?vj6j~p&>J1ajq>SEjC)7F>e%n02ti7}x5}ayI(W0uek{o1uy|2q$! z3=wWi&H#Zh;06Q&0UQ1|)c*UBc8ypkG;whLLFG5d5Wse#-_djZ64G!F@Det7 zlXky=)AEI#j+-jX1@ARfeS^aT9e4b0AGnSfTLJ4L8XQF(Hp!XMTfv7)f5uu`(hUQjb8yJ>yv5?eLdbwTOam!;)^jC4 zXri3l(ylm7c~_+6lHfvTvERtJOZ4&<;ulyksbRcNrUO6Dhfya;1I-0%Z!(zSjCpm8 zczGLc@1e7k!J>GRwRQr-u<8}hS1V#O5aFpn0XbK1o0fwO)E&QxfG|OzGYdngG0Mcg zOj%MTHWbBEPdj({<)vaf`3_o!Fa8hUy&gL7K1PaX!D(WTlk9 zOw8a)f4Sa_OP!|Ra|8u#+%(niHI>w=eKY#4=&Fe;W23ox8SQ;j>-)^HoxR0@-NQ;f zjot*2E5NU3e{t56wTUUx&*NtAm6k$J(q_+1Alp^}dxx^MW8a6@bkHjEd{%2;K>~e?&};{%D$@=g~mS&(F6#8^i13MvK(E%jX*$2%-ZM zODhpDF||u5*ej!QIWuhbW;(Qom!Pr6W=r1~5OXJ1uADpf@*teRtYVX(@>;$@A=W2k zdjdlKi_4FlJ?_PWkmy>?AwL-!b7z?oO2Q<2_oDgRurG6IPK*b+l)P4So&;N%oa>`u z@U-t%*vNJzQdk2MULc2$_=sy=cA(>{%$_InFuy_jdsssrIHLog=Xl|Dv*UI+b2`ef z9zR^6@x}vxodU}ozfh6Wod@z6kA3~R-l+0ou%)#>H<03|q&b7D$=ETIHx=ED?Nt7; zK5k8Z(R5V~g6r*2Q~;_HT||6<;Rd!ZYV1EixI?0yFqWa=hZY!Ae`GOSx1B2@IN&l&)v|_X|t)1(zR5wXg+WmYv+FBn7LC1A%j~J zW|BH-!taAw4$<>bXHAZaA+3cxo|pU+=8ZoAr*DtOnrzBOHki`T_v1csRt%9f@yJb% z4Y%IWL{~ujWD>reI8{MjJ8%df8jAOZ8vb@fh~=!9hjdP=$#87?l7`lx`p-$_(QXOR z+N%f3kMnP0HD>dEM>fJ(nGXJGg$v%d@`Oug=ciwET}SLP*+zMH4;Ud~XAL}9ojIvn zR~W#B$r9NORmj2R0grMTnCsUjTz{dSj{Br?R;m@>&pgj%|H6L1RcNn_1EH$f2O7}bef?R|`%Tk_ zQM2HW-AMJE>3-HXvH_s*lp@EHaC}v4&NRKlc#y~8h7HWXD#YB5z2mU4B|@{KB!!x7 zYRNz0ahyVDp^@(S{)+h`}0F zMcA6u(v?(UK3QDi-!{5?(w^iC6p7vb4!4vVWAHazLFxG*2`XRI{QjRw_n@rbHH}9>?_BqL z(0|se6!=LW7YVj`gx3ATCsz0_`Ujmw4&ew^m7%BtrFkr;Yp&Ffj0o-d^NM?tUp+9X zwB9`~f}T5iXMM>R%VkP?WiUY(nC!6PZw~l{cAEMvVknT{WK?OX5NPNw>C~0@paxKH z!GMrb=6Vnay)!5)S3su+KwRBJ(dvbT*|HWk*@w#ctkUVR{!=YzdlR?Hc^xFw8ubw% zdeavp`DUD?ecnPr|diC&G9kv^;e5P2Zf!yv}z_;D9h?8r05 zuY@|5S9@0j=e9hkn(IxHV{i=RylfwSjnKbG+=9l{N$MXx?oi)S83+pB`xAUGF#T-F zxiKNpw;K|!kol~bIeO$!GD2$w5l>2|_KGQ}6F1s@;emF| zlCz#Q{>>82&tgt{GPt*R?fKy4AJ$)d0(!2$&FHAvvY7@}-?!W3b7vL&bc+;j@xeDi z5+2%^RK$zA+cP%|j{;@X$D0KRKk{kywf$Zh5qTP3O7!Ovlt8KQYn?|QAL>;M^BQ_E zK<#20UMRkSZlfDRE|26V)|9;Z@kb8oNlX6IB0#klZ}^c;Y9q5e)&$3{yk%FunyG2x6fZk~>qPFb6dJoqtk{ zNEKV;8U7_Ua`AN784YBuM$fhR!Ra**k&?SzF0QQzk;ObpZvVV~E;maxT3Xj|4#K=p zrrU(HzDd< z$?_af0}=W>e1;Ykw@^;Tu|eKho9uO-q$-FENHyZmn_$<9zBr#Pv(U&>OHbEMK>jXnx&mVi}Go4K`Ai;gFvS#YrR4K6-mYfyCu|UBt>zzQL z*zU_h$_(g+;%wi-$bdZ3g|KCgkxCAUEi8H0$ccVZRF7d%O$k=YPk#ao)5#*n(HR(= zQhGyu+NUkPeQDkhzu78%|HMXX%)uam{;k>UucFMy`{}BkwKqW;=Wi}PjQi+Fe<;7v znGXpuqieUSYxqfXEj2dSa2VtUqeETdct=~WCB9xF-GcE3CSYzmn1PyT> z0Lg^KSFxvB{*4|&M%?)Z)~zP zut~o=If^ZtGSg{Cdo$y;wXk5v@||s5NNgXg>B+EQCP0~Z(gs3czk}+|a`-K9U(29j z%BbBfDtKW6Imf#W9(qzeOK@Y7!a?Cu&9<{jIU1zp5x&p+~V*P?sFD1 zuACIp^F&Pl9d(Iw;RVGf={0TE;hsKro@Ko)zzx(F>IY5aF}qe47QK^Ybu~n56g*|& zGw4+;viWwmYurH%gLKphqpx-H zhq#76ng*QOanK)Bzd(5`Mg#K?cE{}+AF3skvlpcx5UFF0bC#5?3V>g>+&-myB}kck ziw#wiGIbH;%!XD_$w*ar2UP;YiZ98o#~<`W)v~iZ=}3uJQVAzr6xAL2*vAJZ;naf8 z42>)DNdVM0)oCuQl(*DdK-%g8U>7upzDM0E@5eba(qWmtDUtC3k%266s^Xm%5wOjbC%>2^}Ev5UoX)Aq_L}hwkq4E)&{2o zk2F`L*1=9|8;vtP9v#OoYm}dF{LB3xo*3?L)USi{FeOES z=)s@k;&_TYA`3c~u1+#NHpUtE$%VYYdCK5F)j_RX>lc?f9_f+M9onl*ue$1?;;+BH zGkIi?x}i`~{5b^V`mSQuQ5Z@2Oas7uEa0MsSA2n6WA zb6Uz#YY8FJm{*lzk-*m$8Y0{Y3y&9sEL1t#Eu@X$wK;Djw{@smeT6M;JhP`G?doskqs3^nWL?jF{brlGsHT%{VThU(feSy^3Yy3HN2BU!cQR5IW^TA~kXzg7di5 zp!SMW2G-YRT_qFEslbEbdS63?_G2tjTQ-^1*2Z6_e0fM&sY(E&1Ayt&}E@TjQhKFB)gEC_-gDUk!|{4N0q|*rej6;8C=s za;t2FSCIdkV0oEguG<50({)>!H??kmjz(BH>A3 zV4l`(n=CT;N`u!f)SI>=I=ADeCxb0-u9QfUe{XrJx3HKOqejMWtcp;3fvciAGmbe? z=b9b3s`!c*N-7F@pHfbQ9h%-x(SeEU`1_HHV|rqLSyU3c>?gTuyU=_yr5wDs!cXV@ zwp3^A#oH8)J6tWf*K&BT^I{zG5wC$%>PO!c^~LB_Mfk2Z{JH4-izD3qgNZqeV$W{G zOHhI}#8hcfAh=7U?xTlvjlZc1CL_otfm8Fv1Em$6aX@<_I^-Fq-S5r=`jJMO@LHD9 zqqw*3L?hbWn_ZG<6N2^8L}|&Zr#1v7w}uxpu!+S#T-M&bw(ybNT;m`!s*T5i-Iw%V z^X>Spm295u)b-`X5?S(Mlb#8mRlD3JLl~YJAYmH$Q!dfqw4KN z+#VXN$+-p+8sw$?QGh!!dYDVvS@P%!ZHfSWnR*UjMp(2>Zr(Q)GRZeDQz-IuSo$Mq z4pqJ?5M4x_I0EDguX!5M%mhDK>sbG}9^Q82kCCy^NDtG60p=5pDwj{;&;gA^jR(VP zv6kI}2-Q>w;8vdrrhq-R?2LkzZj&vWv7PtBpD%ybuVl~R8D_Lj6y}XZfVzoijh-x~ zGPhaq4>hgw7N8*Ob3|$AV*OGA)ND06DBrxvF`>f(QaMG1AeiBkY;8+<;OfStf>1C6 zqhQQUM&J|=*Srt*M&nlZn&bq&gu&6D=qq06 zm$_0>9sjX#Cz<&g)ep)33pr344=kD`)=Y|%uPlp2;tSeUSQ4TBQ_+6Tz%7Jrz}m1L-Zau8ftE{Ua^G&(u%baZ2zp1MK zxIGQ{yncKy9BIq;&ar6?d$F`kW3OE&e@`yc2Ku2ECB|L406MTIu|q{Tq=GHby-d@= zl@yfRKgP`+%o@rgd&l^_x;8e@G~Xg_PUJTEv3!}M|AOSWRae_p!?$z%4-pA2^N3%F z`j@F7MI1=NCqVFxhf#9o+N4yfT zlJNuUN~L-^aNW~th*kcl@P$*aN{@_^AD@jBO24q@0zJ%nul}afPy}H&-+b^{aD%Xq zJ2#rJbmuI`&J+|1s^b$eUAHLemkLqF=@m^4D3BE9nk~b&E+a{kKfRiA3QE+W4v zpWF#J3O}Z0+wv6#Db+B7ecFOe)PgIwjmkMU z-MD?@Ltk;0ZDHDeY}x_&6~|M!5p7=pg?pdnGMzZH0CO1e(LJUAOU@^N2gG@9s?@b~ zi74*%mqHy)C#tY97|Cp!YpacXwsIxbm`y%VsKL+0G1d~M_}mVi!&%v?y(QY^qDm|p zJ1jH*pbdsp-~$iZuZ=V*W>y%F320hwnr(9}Ml5?J3znyAjx`XnhU~{1q$4%87S<8 zQm3jv8yc$CK9)ba)Ip1REiYMh3WAYbp@5EfM*@-^q2+f$(pU-~W!;MIK+oy!|LYhO z+-07AxUub4kZ=nzpXDF^Wu!Ju=&9ejPL@tN@AmS>BE3dh;jkfrp^Ak*l!_^nr!M$G zVL1*Q(E@o(Vk`Tz?Ia$r`lr6IXMmqQB>tZ z5~A^hU|jZf{+~u!p|2~`VQ&=+ngq;Rf%vdGv3v#!LUV*8Snwk}Dn8`8Q?1 zH-uOnr5wKgY3eRBz6WM@S-SXH$h}9)>`$aAOiHD0=iQJZDz1Q}Yfj9iqAg2u7#Fk7 zeoQ5S{7Y^ArfQU0UY_*UMGmJK91LT-rZyP;lUt!Em0b5ye2(V;=ovEgTANVi7|B7;mN949dok#bSN>iDiR@JUBRG8v| z83tp5FihT+fRo>f7cxlB02ZwQ!7Vf_o?us#)4Wz>w|Dkv@Q>2}=Va2I%y75yo zz&P!Hc$suEnD|$VNzVac_2h!oVde7N+RIA>+ZQ^*yM!^-k3C}HqXQHKuL(DxT-jav z3Bj0Oo}YgCoceOM3C{Y8!az}GFa!)Yn6!*>iZ6khUq*-T=T*>Q|9ANPpMevE0rQK# z!R+eW*Jx}v=R8u4T@&2uQj!4|7^?i)C@`Z(_WA*4Wc|3^s}R~cAU0k~)%GH#j-Zk# z3*z&YplgC5KIxdvYn@DOB6g8DV-)J~mhZ)Fp%ZLs*rYpdJUZ^xX0x=}lXv8>UxAq- z^ANY1jOAzPft_e?HnFey)}FvzQ&p%(^)4BAfjaGn#txA(8w&_d$ye!CsI$T(v2P4n z3+a(LXcjUwB@YEp7fxv9Eqlbi>DNLHOm!a($4K!G$YB? z#x0UGft@%W7mM1ao*|OfU(d1@TczIYwm|+q;a-W<`mmRIZNi|!phIw7Xr$GK;45UC zO6VMcr4TFw6yu=cc9_(&bMh8jqQm?WE3ioAdHYeqLjDB$kqIs-jS~`vo{wN$dp-K_ zSk>k7h0U8`d-l3c`-59oX@%UlGA@^5ieSwbpj6v*ztNFZek$O|1_ zBR#|7{x0rSC}+JwiwLl_^4qZ8qk57L&cI!NQ;wLd=IAdGh$XXDT*ohnbKg`UJ)Qde z8st@)disA$9xM`wD|*dO>&#vcn%Ek8?Jz0Ju;5q=Mff&o$83&=iH0z6=DDr|gGnUvB*tnk6lTCL~)o9#2P+?9-LF4i1wfYLtstXig#JX#Gmb z3DFsJlVoqUnfKqOZGOpx?WCj@l@JMBbtz(bO>23_^*=`?A8T~$ZJHqq)YGmK5@!oW z)2fZcVY#FQ31M+khqf0i^kQDkxK6u#@Tonkt4sJL5g(gfX;2HGRb`W7jEg^wfE553~T24u5h%?t9b zY?ocM#ZnmaG)0DM0b+v47o`jfWoyR(sX(C)4^bKF;#ruCKjnkI@01U|<%1K6gBs$? z7lv)>qoXHbp6wR7j%NhnJj$l8Vhe=?OLVWmOmoDBo5L1>w#reM_=GMa1DL&iS=eyY zgPKzOzZ{@LWk&vLY)oT$g$DwWti62lT-RhBT8Bdl=6I|7zuZsEDl{#KhGr|;eZY0M$D-qqDs$OLsBhlnlO79D}YO2G;4(nc^k#yz8XT;7DUZf5Rm_vo$`&3nPHE zA=$IfEo%a^)og6fyXri3W=UzVC$9TfhK7pQL~{ygricL7?xUW3Gi!O*zcY;!e@%JD z|M49&zplfSUYH-r{uDobTOC21TARW$U^zdl#>5RKH0F5>haC%~qhwWPMh zZZ4ebllEeWQv8;MTCn`%r+U^SRP1oy2F??SddwHM4x68!$UD>HNFki#iw~_uacc>o zKfyfMgVq8&z-=(Qg*+E(9n$q*+dgf0RggQHb6>4W;%#(1Us>vGSFq+EJMqRc@+u1o zl0wNtlr)B`WYdx&%b;!qvR?j5fB-`1g^J9(bbJxu>W1^Ek$;$%!mYNuA31FeShvgm zweo^)3%#K=5Ftm^yg3V$z~_@Y;CvUrd0ZUJY6e$Y*{wO#d(ZOS!F&~)MK5y>X z1Rgf3eH%hx&-{?r9l*tBh>(NQLM+D_C}FuAf|TVNv(^RI`z0H0<)Vv@M}ie=HlRzruIh0D{~UAcnk$RIRj)sc zD2h8GVbqfLmYB8RY?Dp()JkNIl?E?`|5$b}r4Xe!d0sp%#9R+Qh@TlQW@?Oq3bH>b zr4_1slICvaZ&73oT_VtzRz)StTV2J)Vr2xU-6MXV#(v!|f~4)4y^rOC20ytvE85Lm zH1ucmQ-hyyqug?jMrvR=I145SNML7RNEQp5CsFhF$~TVs?A759B2Td54ggXdGAJoA zTupE&Fhvgh>n6khQ_#3%0P&R)e&`ZRen}gn{XaZ*aG7H$dkJ zXE-QI>*eArU0K1z91d00?f1RxoYQoBNy_>U%B9?*%1fTl@y;s*YTv+C%@~#;o*+!G zE>g;HR+j$fu&?_%dzq`M9viZH)mp*$HDoCErOiU0uSmFsXn)pB6BP$;GYehu;!qxm z{nrFh0m397YsN0Mt*z9Rs?BCmJNgS9_djdPF=8$%Q%x)W{rJm6pHvwN&#aV*MW8A= zQ)uoj*Vcq8_dKx3J=WW|)}zU?f#K&ywzAEZ=)3%jrOmO`(nHLNjc==uw1pM?H3(12 zqQ^8ydR-?_yHtX}^Re~#k9lzd}xOGC;95)3hmGvx1V&$TwAAbN$QTVvDT37pS-mtC zzgUgWjxC{3((+0ombx~FD!C3)#Hu(GyE^6}x^tx3a2P7+!o)2F9n{k0(oYJqzz3HZ zmZcHzR4bM489Kfwh;N_uk&c-*nKT|O@HBXiaj8dtk3(QM(9WF}YkXi&WnBV-N>;SH zup8sybfhsPs#6{<7Q9{j}& zlYGWCTFkM)jtz+f=^^gJv0^^^)uo+-08a2=pFXB54lZC9%gEVj8|8%!FB2U%^i5RrsN>y_Zj3|F z6%;@eH=ThXQV38jvq?=DOus0{x=fF40)t$rtKux>rd@*MYO8@p7{e(cfU;K=}^i2T6fLT6Qsl^FPdkzlKM@YT>q!&Sz6UgLHH|( zAMCRdt%JV+kk*Zg9MbFVaad_yNpN|Th-;Ca#=5h#OST`S6qXw1*D@xpZLrzM*n=J}Hv(<{DX{U6?X zB(kfofm*FvvIkwJ(hvfQ4iBcK^(k3Dtnx6_S4YL815(_SewT^g=X;L_?01CYn1fVd zF+*Z*2A+ZHG2m2Y$LpM{tE=PuwArRgo+KZEQ z(=)`Mh{_X?TRZ8?><&D&>{*2&+DwC<#V8VDXhIUE-la~ck0LQFG0qBI{|nG8pB(-+OCP266&5;{jdt4=W??o5HjYO$4HOc}kL>|h zJr@t0%-EkbH__Eig2ZanALHi|pvo9dvJ&yVowLV82+_u-Xf`gBd#jSJ^nNyJwCi znp82DCwIli@pepI7{;*?{S#u2^)s^hC)2=A{XA1c9I(r*OlR*aOTNHHyuw9q?Cv*- zj&S;?w*m+8>Vl|>w&cH?99T$vGlX`0%{R4v<+0_8D5HIlXK5RRk0SqAwGs8QM9$~r zZaG}-D>vb^DJnwiMWeZ*_*NzPA$TXU{D*92jy0|WZq6<%%nw`i5juQd3CJ$**(G4K zh4#G|_cNZfTY>@d(B)MIsiSE3X9%Lb)?&;>RcNqDC94S^kOmC%!UehlAYyKlmaPu^ zbap%hWU>~>Xnm41fr4Yl6m_1-NAt?WJHIU4)XquDvOvhT3ev|6#m9h6#kQX!mu|1k zCYQu$$R*F8TH=LFf zsTTjNBOCjn-_CV1>0aj)!_;QC9Pgi0(6>#RRhz{c`$WW$?tgfrbcZDo0Xc7iklh1c zqLC3kjja*V_|P@}Q7VJyDe8T*UYGnYReZI-yq6C`v*Tpg0pbM=;FQ zrcw@YRhTOh`&F@X?6E25hp{h~9Z?iGZGLo9D-p(&S4uJ8$gV@^n9ip{y@_odhL-3k z??<~QO$Mwjkj=VyY1xdEu%VkeH>SzE;`K$VmXqD;6%xkKQ|K$z(yQxBkZTua3}PLl z9*gVQbhQUfiJnidS#@#OdK8a(CJ4pB1K4Chm#)>bUZ@X2CJ+D>MBgDBl+>r_XKNKj zv?*mkvL#-fGw8;|(k3D10b3r1dXE&(`uS36G!xqK$m~Pe0I5$}VGa$n4nd&b%Og|fiVP`vJxV?33mNxv%k!oZpWBGY4ijYKv1#yW zGlPR)nYpXJ{g`N(=C0%;p!JoYZMreXNNO`eZ)Yj`J&Rkh6~6fAy=J!n+ink zbn2OugPU|hyl7(we=8`VtI4#hQ`KM%(4yxbK@7)ITIZYSPHV|NdZGn*ohUu@+D(dl zQvT(T?iLwM*EZ!Hgn??zX{3hsqRGfLd%u)2f@%$}mzrNxsz0&}StG>Al59wOPE4nH z8&f`|QCI&Sv@j>nwyE#zweqxKp>xR2We;v}^ZnwKaBsi;W9Uwb9_Lbxl{q4&`qI)` z*r~+@8Lqcp3gSAx(siGts7b7P{F8SC*HU5~xcT70A{801#ONXLZpR;rrtD&(U1nlTqBgJb zl}RaLW;+U$SWM>w6^Htj3Ucw#HqN07yh-+^ic`uh`{?D-9btCn8SkHi3)C#$3o-t)BV{0cO-a3|YjB+=f#8-? z8~Yy~HzQS>+FSp0&CO}6Vs+gsN>-!Kx8`+vH=W<}scc86yev=0C(N48j>b7F2IqQG zlI$GLiVM3MpZ?=uteRU=Tm>cPD=*uFHkD^_`Ak_sK7CxD|EW<(Kt04_IRX~c%7$a)Ne#wI{hSv zNp70LU}%9r5lhqVJZ=)Y$0U6Bvx1(B31(b<(F2Lx3a?V6GId&SJ4E7eI5dO{d}q&_ z@tWjbvjxFwN7wLFvIgd-Txw^U3uutqhGj|>U*JY9tZQUYDjl^JH2mY!t~A$i<>c<6 zZA`6cqU&Dc6-vq}3zUetI_sZTK(el=T|tQ-bNu{WZQSHt?mkR1)V6h4k-P(Oq9v;s zLoEyRq_40Rm1+M%%;i{7YQb@copqsOkU|Y4AokFQ1Evt^%impaxolKWy)%>kWHWKM zDUA)c94-g|akLRsg#zB_S4~3Ii%hH z*zP(#*ef?K+Nkz#9=X@f-GgW&_By$f?z-{)LD}3t>#{?eWn2@5R@)`JX6%g>7L`%= z2-U~zG4!5$7$_)|F6`#pKHIB*6E(z9dAv;_y8g}a7}K?Fy2i*_EK~g$ITI4??aKNN z7ig#4+&Tq#JzHj+7tAcjbo@a1X$xA_Jy2+=&Hr5#dmrFq_(Ec+Ks?Kt{?^&SQag}a+QwWQS3Aa-S#?#wH!YEpI^$%#Q+?f6=d$||P zTBEEC?&MrOgUSg`FT)y9Fco*Rw;MN}(83}#9u8(`1Ym?J3LLhHJpA$Lfck>1Qd~mj z+H*wgg`^Zy=wYdB2$>&CWz_OC}yoXewq(=O5(d5bMI=}I5fS|5` z@-|E`A(;O~f$`gR_EDL_2v}i7_z~M8{nv`&_ehZ;UZ%K|`d1Yf0z7sz6`$wK@RBol z>~^VF)9_8bOpq;j)pki@_g;A=j)uPFB;aLoV@7%*84(Usnag&1$~S8=d5FKub8$w=LL(g$Ze3 zSHe~2_i$dmKEXnU#7;-3G&A`;X>ps2%dZC`_(iQ)%Ol1;o) zE)&;?Ibo|7?xt;ST*q23>{vG5Ge!AAs4I)NB1ddYVp}i|vG*r6NM-h7Pddo)LsWLX zmI)CGAJj47GOUQL>NI?fz1k1^5an^myNYTL13jJahmsJ$F}NgZ?=(WFFcH5SDiT2> zs3xD*cU?otOrq-NsvZw_+RGEA-{`ES4iyxjUy;Ogd!PBCcT2g$mLh_-x#BQCAY(aV z@lXf@?J?=YdX?~kJB1f`_4262228`CH387jE^`1z3-)`dU&G1MxpN`xh(?io{b3}% z+lZG5X?+Jp53K`8`t%hJZ&6IQW8qtBlm3tSbjI{mp+-H#ePo)pAHPsZ%m%m9{PdWm zE;8BAjKyK8hLExoeAjR`9>heORn2_WbBu;A6m_{W4N7v{aBMT6)X2F2yW%K%6|cQ4 zqOrX|enH+dw-wAh404Xwsr=ECAr}DvtO;yD?MYt}kTb1ke5a6KvtiWU0#!482f1Y! zjAl-%-&(uV7M>l}S`WTckFB%eB zDkp5{CJ^2>nWsS5Phk9qyYmc3g%P~2$nVVCyJbu&DU_Yhfa@fZ*Y%}IEun%@z3WKi zfGUgj;?;%}PJ{k}^dLm=Y&T-mHtWrHG#8(76xfed{M7(^Hz zSLiutbynTA5T0rJNc_%bT+l98=J+WsEfwE{?*Plj*NO(BTU@kF7|0;`jSm}E`cEZS z^O{c9>um_-7mpKu!hqU3+80MnDvBZlAo4BxoI--RJ5(j9&8;J5K)T-_$nh)WT$2TM z%im~>^s~F#sEs$!yg_PvnX4~$Mkw)E3DNYvFQL+)jTSc$#~Ml1{Z4I(_M1 zhp>`I1n`iu)7G~T*6X!-)3O~-2nJw%b0{|L1#VyxLW-lHV!nXRq_0Cy9nY%e4yd1p zM6FW@$|{wTtsimW{zF3@C0+zj5a#rq=_(wxGiPj%j>p!*e4{_UcBu`=P}Zt5m{|{5 z_k*2=8Brr-+K_93H+2-};$<9yc}p(hzL)d)+Ckxc7y%VlD1OL(P6mp#ICgv$6{W!G zaX*1+CFg07{Hy%Z6>-YRD#-!W62ziFn(a4Go4L}Cq@Z9k`+@U7Df~`)7E*OV_N@F+ z8tWl%d@B~zQG8e&O|+W(V>08VhUvoGL9@p|t?0U+W0Tuw4ciZjs`aqGKlGy2BQa7; z-zeWpq*IT+GlD!**f-9%MrXrmX$1PfpDvF zl6bfneGmt^ZX>JM_)pF^Is#|azIbiHwBY%8p>H|A?9vtoKFW=NJ~fvN2gA?DThQ^q zurn)z7ZS6ab`;H^n$IoeTahdG>sb5fK|HG&ja<(0@`NGGT@~Zw!@!xuFu~rs&+b*5 z2eAtzKYqVOn9m4O*HO~FltLSNWs0fZ&1SAAd0VVW7}4-?ac^LPMdxqz0>M)^xzs3IPg6n)~C~F_=}|8B8Tf| zYjEaBDs;r(lX~hSSAn`0T0+1ZkcJyE+Vi?KqbVx4Z@Fd@LW;G*D^@jAGDwxpTf#Y~ zUBqqoxui17<^jl!-0HRiZsPIM8KwX(KPf6hC*Fi1UFp87$jnSjv|rI~gwz4DC{j=% z8tHGCsnq2#BN$7RO)mj0g$1exk^{>=dC^>#%>-!Cv!RP6@~sY=NyD-Gd8)UT(gvqW z@3WhzcoL@^E_lqFKLZyyskR!SM2=FnKURpJ9gvk?rL;(2nwwD!qmNvVlRARLIlI`8 zQC0LmXn7o2#JjIDjgM>}r9#eJujoNu7W&KBKNQ~?N0PFCT#v`m=<=_7T{gR%B_$zC z-kEmk&u*8oPJ`Vb^p#uoxzuCyL9TQ)-i4Cg5ZMd|BN zc~bRraiKmbn^+40O7YZ?FiJlr^Iw~a1}fx2BnI9?cEf@Cr*%5AjdYF3k-5k_)iSO8)mEiSw4=x3B8 zFlQfdbe^Sot^lrvrg^Cr5KF4BOpiUky^^CW(V$UBnc7N6Q*&^N&50q}xC=ai8W_ZD2|j6N(R4rU3-tt?;(s1GvNhgfj55FdM{n1FZFQ zZ_L)mPIe{mc!~j6-&EwPvyK#94RdEMOGGbUs~=a`c7Jd@b=^xac0>TkZD192!{ZvO z2a;ji;zKTPrtYDu6HrjgmzY*cT`4Nz0l^g1^3b4~J^nazoWJl7N&d&(XdW?0sxrRE z!g`4bn5JWUiN#nv)eduKL5Hww@Z}>?zfKN$9SqAwp=cY z(TO5%gz{$pBUe^a$L}fIR1@T(x zKY)^oH2ALiWDw#a_(#amdm)uc|8D&bQhhQXGI4=F zdNY>r$aIpXgd!YlA!?LcLMCJ2`gcO?gLQn)o!=L8%$`!~9vIfsjnE<}mRIN+hb`d* znM;%!dZE3mR<1v+*h6OFg(u7Y%6D>iPSnGNB{IHnw9g=kAZ7}Z@hl-9hEjDUg72mm z-+RQ3y)Yie@sP3P%}buY=RkgDi*Dw@4aLPfm?G8N4BldV^*>Y8YgBEj!|->G=LynP zWw!Px&@%_|(HZEDh_Q@M@Mqv({^T1MGLfg(boY_FJS+HyHP5M#zM7ffB@xwgX$Poh zwRTu1W9c<+>rob6j}}bkitC%SocyW1ujS`#tyB7SLtOYilT2r;Ve6pVH{9icW%~pO zvYblBx4hMt&Z^f-^T&voR^j72hNt4YMXKb7Nh}i5P&7zi4wYR!4lvxQ*Zw)V2F!67 zx1)xHO4VTRlI`U^%4Td_hCTq7y{&wR{rp%hUYpc*ubq??eSp|!<;FmY)*4oJ8)|Wk zaCj*CwF9ofXviuz%+Pa;O}Im#0Vxk;hGed;+%jVgrVhO~EIEIDqp1{ms;1(=Zq7dP zbT%ogf4tlFX~!MJlPwq^j5##=LbmnCquggp<5AoP8eb2OD{#~5qG;oAm6hQSjP6h3 z$80xpMdYs^3bZC7Z6&p=U!+_rb{aqP$b9 z!8e_hQ4gqq7Ucn*wmsCY!e9~ufwY2RU^_@(3A{zdHD<3CnzU$8|2g(L$-o9?QY?Eb z|A}@A^O$kglO8OQ9#t=Yq$ZK#98;V{uBAma4izN`mw4o)RubYms0rD6_fM!9%<&f~ z4W>CI5_9r=^sN?5XU%Mxx4m-U(Dp$vkzad9Q^3eETRkSMrYD0`c5y*_UlkOTF?*F^ z5umx3Pw1e$g0ylf3%U|`KNpePq@zr!ZQHI(ynnH^BF=3VuSRo=o^k3iiBxpYEEogQ zAt@6^!E$7l3u_hBuMxK~r$kyo$HZ&x{AW-8Vur|Rba zg_!>_H$WI0Aci?2dPY$2^}icp{I?_c&-y?M@gS|^Xs}q-jf{t>!<1k70>Y2W4?cYi ze}Ko1u4YId{6)f_a0wWw{Dmo}t37n6!TlFWayg$nJKQVx({GVbIWWwAA1+C6H3hv) z_02do&-`4+_nw$mjqGXAo`wgg5MNjNO_bg+%jeY&P)4luo}5Lru4P(D+sXhHELwi2 z#nXpUoKZdn+aT^b8(e#f$m@`-P*PM2&?0NYNNFg2XIIFzKK|OuB3O_Do&Mb$nZ6xn z3tnsVp*rcF7sW;ten`Wj88M>2~J%L98MfR5(2f?@LW`{FOK2d%u9T z+AvlLk>$aG$SI{?69G_J*F3x|#R0Iy6Is4Lt4n^iEt z5car%_`h6L`c4%)@ST`?PaA*Y&ZK;zAUd*aZL>`KnRNS%Yqr#8Mxi$9nocc?x5yL0Z5Vd;k-Ls6u7+muqF2LF)WHg7K8Ms0H5U4sH2X~%|v ziP6VyBzC}W%REY~SjuvbDKtV;qkA(h#r@4s&++K1&*|ZCWu=$Twad#hBFG=D~&Rtg|rE(`N|_A`}SU@D1zdnpU>H5O;@k@qqzUp4lem9Z^SS*%R`(0yX! zxw@UJJ_H{xRN(pKmQU1FM#`GR1*$_0DXP>R?%el$Xsi42UEH+%X#rpr{YK17Um4Td z%<+9(WkGi?p(j2hG<_xOI)kq*j;ncwvI=ALql4xIUrmo*u7S)%u40z4g#&97OC-yVPk25#g`rx52P|FJj9b#)_2aS z2gKj4k*~pqm;_hgyfZSmX0%AI!Pg#GP!qf({oZgFCb395*f1%dR7NV)J~R7JK1+63 zgxo&&18h`ouIt-H2u~EPw%^)pLAx)tp6%*8ntVv!+(n_JtGjLp-)oo3?L4c*8@e8R zK}@m6S<_<{f&9HN#4($jl#7ESX(n_9AY3Vj<%nG>h&L36D3tvp0Tm+Pzz2L*gK)FH z`UelC3-~o&|AR0Hc3~-kgl=V@OHri(D+JjfEF1q}(0_39-*Nxn&VNMir91>mA)ZL` zfA~fJo;qMIj;U_zMGl&r?Ou7>$)8e%M}#E|E$`7rCP#t^$g;2)K5d4LtnwYtGTVCO zh{nHGm50w$Z3+PLcXYPVRLsI}ozgy`S_)j$TFr>vu`K1srT9@~*XV41t5jwEV4sMq zXpb*(l1T3xdH*3!?L7Io4U11=7GFqNj$||7tKD(37lM@bBKl~hihp&Ti3sphfmt}$ z1jTJ}qS0d>mScbqKMorEID@guUZlWsr9ng9$*BD+otIh9;ks5;SkI->!W1$icG_qY&es zlT?{s!KhjP8Xlav(BYj>oZJ0?sN!MlP6_|XBeo8ySY5k_EPvvN?JFF_PGcE2)mU+o zR?H|?@2>z$8PQt<*En&M$>QRHBjjVKO!j$;0vMm#Oi#z{yX0j-z0O;O#L-+8W%V7u z7v0`qnzgpX1;`jK`j=_>}VBz!?t`#ChBFkDLOq=uFi^k^3rhV zSZ$uO{Q6d4HhjB!guoR2WKvfbOBXnSboxUX*0493q<%p7g1s6E>@ z`bQB|_3%}@e~4K-fS(_4^{d2w!&6E@z1@vhI_xR&2A%9$SzugZp&dO~jfbI>NZEtQQT6fT(IT9m*LiY1*{HlKLxI2ER zCGh@dio{au5kYVw{MTP3jS0*oznAs`)25n4caRX~p%mKg`4fq~O0CsBzCm+)T0foY z3~a^H!FH-6iBV>KDZ8}684`QiXVaXPahv9<-Gf>reOkpjHwn&fNAX1mZ0Px!GnN2P2`^?(zS&vW&F%VDu919WEYTsId5(&*Yo8ATk{IbM|tQ z;p2}6ngYVTyAa+VaoMjjUu`pyJawb_J4YiCpNV=YM??;lHYG=i*42Z`nAihO3JJNa z>}iF91)f;g+ml0Y-J$+v43EWTe8wYNL}3Z;URDzepmwEktEGiJ)$lYuSdB ziedp`EnBx7^qK-vl%H5Fo;2@?@V@Q4>*@a5a!hXFsX038DNJk0Ijg93>evugK~B7| zFPLP!nooO>if3Wj^|q6-?@*y!cTR`mLn=jHB$Pya#~;LLu`FOHyl&Q=&M$ELT%uehic9S zv{)QGJ&s7TgMIX=8^w%O>r6nr@)UUy+L_?RP?pEN;_$tR{hEF9!Zsf1`^1sB&q`QV^9Kt;{ z4+}&c5kb*8yaj6I&C@e=%0LbM2C!*!;)8KBkA#NVvmiKT91AmB@OLGW3ozq6O;S&e zB&WrLSuWqu(`#sN*9FCQ)-@+#YwkV zS~*JUXYBm6En!Kw^i;oMj?R`35E;c=F>AmsF|xYc=-Z}XSQ{;yA1y=gSg_S17o#&^EPYop zL$!_DvEZdsze$}^ij!oEyZ*t7G;=TM_;=QtdH3{md3ii1x?ZziF<#ssisbXe6e4qj z4(K5GYQ1pgT~Ksq6#uiyu0x6THV97Go(f&&#%w7O(k>Q%V?9snXD_NCg== zAgyv*_LSb5d2+#GFd?1@e6b89$=?PW&*3TK-=DFRsJB#MsdKlawV)S_$$?T4rnEfF zh+=LV{TNXh(->dC?A%r>Nnk40iA~!Zhl{ZI5$G!~(}m%#jVy7te0#_KdqfNb(VHF7 zB!|C9u|at_YZ&6XGc;)lCM3rhh6ia>2uYpn=^wUkqXpezT}Rn;a+7wl&hK)=?NQ~i zQ@JuZrYdDbt8(J1!kRJpE}PC2snlfyeZ|NxS}C0*Rk;p|Zj=28iv(Rc?jYQe+Q4j9 zIZV~)D+mSW4#YVLB1StVo)02m5{p=v1^|P=b7M5BCAQYux4f{fFstC{98A z<$+x9rTNU z(Ioa_gc&r?_A))nCwi+)V=AdCEY=Z}ymAv_GvY_iB zu8z{Ei8gTTZe$0!z~sn9R<#H0x+@JtjW-IJ1IuwmEBwzgT^oEF`?S{%3Z$S1u@sGT z$qHheuy#>4b&T_zUzwFUse!P(wl1AV6ZX=NT;n%j+wP?=i<}5F^jUzXpDOPC(Q7^KV8q{8I1A@oi zB&ryg-6&U=We^PNmr~*$HJ{vuaC(X};D6S3W9kuH(9=QA?w$Kh7UtaP933R|Do63_ zg~3bOFQpQSgn0W<^kADgRHG6zJU#aAM52}8koZzTM!1)Gg*g(Li}A^-Ktu`^iQ+iy02$>2wy+< z+w$N?W=d`lhcFi-szeq%iA4V+gTE{+^eyR9IX;{9o0Cl6rzYTPL8GImYwe_PX zaZY=?Tt{nYTYoy#5Tll6Y39y-ZbW6TG=zhr2L5G@1hD0fXHeMi16x_zW0j9&oekzW zGr>XUB||-#z{zQcHhJ|l>v!JfkGFlUTn7J(grho=E$ax(7-BTN-B@yn$KRVjd+BLn zP44c+m@O3G0d`}alE9~ms|fz+a*%(6{^pd+jZm-2D7xlHoa5`dI%#XlH;)Xfim6i+ z)9G#FDF}BaP}Yf@=Xyx=>C9cI1lyV$`N5jpFbH3By%)ci53fz2dU=lI2jMap_(|?AYM39 z%#yhV_P}xIg>7e&L1NKi8xHj$^~#?(ZAB8Fa(6(>bfwZj809{q=k;eI@ryyT=V*F= z8FTUb#qbQ{y86jIs>`ibfguk^C*~lP^u5qkZ(3q6<3futv~k4sz&pqc-SJCHc(ax} znl}AB`C)`OimW|GlFSkE@Vb`$kTmw$_8^Q;r-Ayi02>^KY~jRzuX<1QP;~MY7WZ7xeCncJEdhot`Hm z&Jc0PhF%&J8#8s9wlbwn~SZ{1&EvsU*7iTgr!bSRY zyb=#L5+oo8L+C5M5^D^fqgR4cD9D%-5K0P)RC*LLidyp%I~sGox96F7!k!Ph{D7VH zw^&qg;i1~7)w)Q-^uz__g>M@EWECmFcoFD}rzR%Wq;exeUyu8~Z4nTz2O#~ve zhVF5!t2x0B{X_8%S;#NSl+_bm1l)5L$To8|816tIg~d)<0U%ZMm0}5Yi=^=CsodcX z@$OArpa!>$KGur3f=Kl(XolF4M zVO?F#vt)0NFCW~b7gbf0Trz6`3B5zvN1PssyKAzc7Hm2Lpg^y?k>PQ@RZ7-CYERsu zca4p`#{#vzXjw?oiQTe}3xIWLZ|J+s!9|tzqjulP0L@tE5JF zf_6RP!A0xyM$Ib;M`Pqfm}X+6q#K>+EInVXUF>u&(N2nO7Ou~XcXoE!SFa}`Ia8*Ef^d z<$<&FtRJ!mBpWfgGU+BOLCi0;tf5fe+)Tj+R|hIK+fU9$& z-zd`GU*0y*KD!*YEcyu8sLN%h6qys(v9W)Pwk6>$io~a()`mGp9ghb*nCd{qnA_@8oGgf>Sd(o61;*J}+Blxb<7S#!xO-fwAe% ztyP$dFp6p#6+b%OZz>^$C9P_XTfZ4D4l^{`Bzt;rUDaw!h%^)S0uFXC)?SH zctU$Fs78l0OBcV@%37nrktjc(UyC0ba&oiqzPd4W+qI zz8PD9$&xGBta@52;M9z>U&HN4?W6$RMPtk4$7y@xJZDm3Rk%D*m>;81&LMZ;ZDHl? zh#t)3ZlbI-tm2*aOz|l$$k<6uJc2%h4X3Sc@u6mIpd5eUmrnuvGVFWA652T~4!sn~ z_t;(p2TGk1)7=Lk-nR1-_f~}-L`s+Ong(t1qd(j+Z7CG{=3N#U^AtvowC8b!_=|gL zlv@bUm3Q(6m__`;K*jZQJpRQh*x5#Ps5!SqfUrie8jcVD@ww8FuUe!mj+;#y{26GH zJL{c|^?C`*8ao+>b9Jn1i&4A9xQEe$J*C{TSy6Zil+R3nktKqCsANsnIzU}kHeMU5^_t3@$`D;LmgY>8)Eqj@ylJh2_$V_y zRv@%STrs0e__TZG0vK&mlc}-*$d_?l0O9qdQ(1sets%lFsHq;Y=;95d`1UP<>zvbJ z#40i@B@Mym)J+IIeF^PFc1NjZYzO9Chv`*|3+ zuor9>7KZ?|$sT@mTP?@k9y+@3gHRQ{oTj{`FXmln9OAMJH!8%Ahi6sy>RZNt&-LWg zQk6=sX6Os9Ae&G%aVI%cp_+P4*I_Y0iKnQRKyb0I1FwvA73*r}xDyhec1{Vr9(39#@9aGGcI)(`1G9AO4N-&MRlq7G@%Pw;-&N>I zKLoI%8{KQVkr;I%769CmnH)A>hED1yEz2rT0#VsR^9i3B#DMqRkqgwUkE}&+L;M}{ zD*p(xkaxM1<>jwa-fD$MF7SDR7ns#S;5lMq|GQ4We4Z&<9Xb`W)E5Ep*NLj-b#vFr zrur&Oz;Jqo2qz1hTN7zW#nVYO`s?}_>>T?Q3MPcgCxjhZcJg=li?SUis&^H$RDq$^NvYE@iW4 z1jQZlmtX7LjQ!#`8WTSFfO1jQ@v-qjtu)mgZNd^0VSy45io+ahtd6krS}6eBYIMRZ zUdC3PR0FRkVjs=(P>%~3A$ROJu*l2Lm08{bbw44=Zy`Kl!@CLpq!4am(Kq=ZX-5Z$Je~H`rnpvO^SKRSUIre*$9+p_T^)FZ+Pd5@1a{^M`(-Hw1_J! zx+gmr8+|4VdcjHf5h0KMv$5;{<#X(cLz-v&``Zwtx%=*AVTy!QN8$>XGkA2kkOb6sFtb~7m>bh6I} z0X0=<4YPB-gZ(Zs6Q%T0ur6lkW{m)|1tr0>_8$}3vf*!zDZj?VTAAx&XQ7`D;6V;> zl!70G{kUgSp^fVAO}~|P54IQV>o)4x#n{)s8*ysM-3R7VniZ`^pjzFPeM*lUi*4^> zvyPXPQ*~*DV}@H4>So)h7+-0yXnavPp(pM(w4$t&kDy3OI{3Zih_4j@cXA;#sb-^| zU61s#8k2oBD^+=|S?Q}gtBQ`?kd>kV4Rq*q?tdzM7Ay~4)zB)&dCU$HC;ald% zAj&vPTPbp>VQQqww7refxYudzrG082axJ6U?cP2w^J@qR#{kL4%k<5USJ7iT`JDQe z)H>zHD|=P>l0u2z(-Ui*iFy>5a*)}T_t}}h90gITugAY86zY^9%HVtQ+uk>al^w?8El;xt<-ILfL;y6$mX0aNxMed5zc^j- zi;_Xk#@s*T-8NNgCoMZ{<$d6j3~lnvd~;;G01moggE=Z&2vlPDEH6+ZBbg^Wm9H8T z{E+)&XnR~yA~;*p5T&Hw!@|KBF<9p!J` z=<BbD{DA`K~gRmYTJ$4w(t!GHi`madDT479j45$2*K00A#Bq1cvc^rZ$LG&(v5M|%I?|tjospWZ( zrFSDImo18kt;PHnTn|>YbR*#hP4oL|e=)gNnzNmWJcC_FB9pqccwdA{4xrO0($tW$ zx^l1xqnX~~Gk}{zKc+Yq!Lj=G?!McK$jX?(k>`U=e7KhBdS$~7LIkxba)Hml1s?pUmZUy7x8FdZhtNj?dL-J>_XN3Ye z#{3v(iODn^5A1^#j(A7>&~u0~-?IRGp{2nNlCp?ot5ttCM3=X&hp~NX*l)R&^?(5%qv}se2c&v8_mRdRBA$x*YDEgcFtj zym8kJ``N*<@XXjef&!@7%p@#az&a-YzZL2G;wfKdzulx*g|%!qW90zwGLU6If#c+1 z9oAUZZPH3J>E8)lzV78Y6A}KirF&25vrnpb2(0)F;&{1eEkK(+=e1zOmq@N~!nC62 z`C<*I?g+(ty}0ayt${V?C>PMh;H)K$J-o@!fG4}^gl=V^!oH9{w4zyctd@KWPe zkHMar{NbTa&)>?1Q8n%m;#frllZ#ZV6e3jTQa6_)Vy4bg=pw@tnn=Mj*krFn3Qs2k zLl*k4tN-^>(h}%8Oy1ta&(U7VX7kB4UPr4nh;$`~8c@8MKgG12MI=?qcz{PIVGp$` zb{hBvan&=$*TCkoS}|bWK_n-&t_@B~G2ZKcNEj!j$rVX?l2|aio|q-$6v+W8yYS~m zb8n!|Rw9lxRB#Y7U4VsI){5pL&01HjDW*g~u9dtE-1W4v+6+*L!s@-8svA~tB1qro zW*^>I4M~Sr;4lozARQ+t2M_#G5V0HOn!UGQe#yGf z_2)uoa)}csufpuWn_4f))W0aWt5qh}ysGL^Vrartj4oFbOaNq~E+cuu7d-7uA~oo} zG=WZxmY(k#&SlD+Tgr5`l7`QPeibfxM#y=@Rq@s_ndsEYu1loLa3um9sE>10z{`V# ziM;L`dJTt&lSKhc;%JkA3UTHeAGoQT%~#dMfhvjM5!PcrAlQ{?GkJw#Wnow>LoY(* zh2qAgugibyB>#gvP|r(e*pw9|$;`pXP>=g@-mVL|fc(d-P-^5zaK5DUl=K+HsSGq- z&zF!yd|W7;qw%QgT!SX&n22CbLZKp0^9B>`m>iB`HMixzYSd@(J9Kr|gg{M~S`{3O zPK82+eau6l&J(4;iNx@?$B5oxDCUK;&~dcYGF1kLBVA_MlGQ7%dHfp1teOJ_e=bII zw$zSHKISb>eie)oFdQE;7JIy?lGP)1#`h>n9IGe7lh7rPajp>Dk4( zoNYP^zS(T)2CS`%Kc92c#wKl{-}f=>pu9BaVwOsMPr()K!T#0FBO$$Q8;;2-&VGD! z1gP$K9U>x+Qmq(T4@l$`hf^EE3FRFNu9)sfV^TPi-qtl_@Rj!h#n%E^Y>;Yp9NvzE zz!2$Cgk|Yjdi~4^@K4_^LCJ!KS&`&8Ro$w6L!&5U`fA5HO0bfbnhtGBWoUE_oneHf zEk&Zhq`g>x)-r-wZ2SPb>Bf&eqpqgs#l1_$opgURoCFhKz%7 zSM#qbKjKMalW}x8uW-nuKk7HuTX?oKhzbf5srJC-)rG!Xy?X%0##)9A5%18O@BN<1 z8+Y{cjXuoTwTToX#fc*;)71&<)B_qua1nBA`PUPRK+Qj+1tsRm<#8Q$)jCGAsM*+C zio}QD;A{RgY#MoPuEoVfY=i_gkw)6^L0_;$7~9(zo1TZ?ytLXugGu+n(b*tCRWDgNcAE2&D*7xnryHMBXA!qCrdtcQ-p;WFQ%Na(~)?;d8n}Bn{ zR%*a-l;Io5#o11)sBpKPnXGGJ_$|G6sI@J(ymVT{f#D};m)FuZT&`vETi)u(kVB3F z>o?)K;7A0<+hEu5mJqVlD2mmm$j~=WYhblYRL?D_=zvLqYxD?K<(ul&Hfe<7Wt+W1 zs3^8Hv;yw*Q0XSjT`;GwW@0me)BwNLs3u(DhJ^Hx26kA$uHn-kqNl)4{CUTnPDS6E ziFPbT2y&}*Szqtk*WlikX?rBh)APC_G9{Vb&|EE!XDGQhUF^8&y9g?Na8M;xxHd%w zTw-)r>DD-N5>DRo#%Df?Um>RGPj^#5uYrd(%Ifn@^CHF5SsHlF?3sSn5oCf)$}6@b zu2Be0^qamP6~4Yu?$Buo3`!PZ)w#~%W7L?k&SwPP^luSZ!B*SFe4%jXt3}~$u zH{&SJA43`6EvPLz__Oo^(FYFBCS3ZXzD~?EG)5+T;B%Q{y7S=zuQ>^JtC*BAdUYnR z-gRc=42Ni|R%?LkwDHFmPY!u?RFDnilM-_`& zH?p~A%mdN`DAJ$5JhAwUGW}Ta@C$~!xM(Mn$0+ulfY3k>rC^7nz7nK9x$44Z$G*4M zarh@Yk2m0=u`fLHKqm)^R~}O`o+)Z8(APsysX|vj9uLKH@$ChCmFxAEKX~=H6K7{t z;UToI^#J51+230__EsD`x7ZF*be?@e<&$Rb0tM6eJI|}AZ+2V?{W*= z4jAhF*iKnK4i`i!or=rWS4Sc?^W=s7QO%x*)$Q8^7|jojsV5%Jkd%0f z{L>xi!T*i28qm1=c)3q>Z~`~&N{gH&5*~JFo$q2mSbUfV-m22@Zww)8IFHq0lN>&H z9R`}A6T+aoq6c_!7J@ewgnQRIegvnPVMo|D6m1Y+vp1E#4Uq>@0_aY}`JD-4SEL^` zX%_#RvSxC#a8ac?Ns+U=Qe0^W8sdG-=+Vb6qpRJ}uRB93L?If4K)f3WiF0uLSvx0+ ziD!jbbmQw1cPa?Y(p5o98D0i5cR~j+1QYKSO6F3$Mk2$)7%!AjPghg zCW?ke`KEjdLxO72^k(ngA1)Kn%9;ZyR4ongGGB5h{B^lQIc4>pPeLOWr}a}lmhkUt zS88%ROhZ|4E@UO|CmPP-9_!}<+qqM2C0G|))$1&*=nkT6@iFV$0BU~BUM$BejWw&g z0I?!HO{4{)=zxCT5=?}%o}qJ$9O+YLhP`(pB*s8#PZ^B;zN;iJcb31*Mp3h@8u8mj z0Z~{bM$GX4Q*r#;|0nU7CzS6!ZEDY5fMZinV!2MvkNQG!@GbN1NdLjI+cQyr#1k{k z?5U^`;dWX1DwvDmV8E_xb=S_5{2s}hFlJ@A|1(Kz&)*Rw4nkyPWF(aT1}YK?Dl!r> z5)u7tLRoEdI=9eN-cp(7!P#>yv+aw&t4LUgLy@Hkm%H@o`i%C4$Cby-PdkmrfAEP; z_Vf1X8x`l%W?|s<=No(Y8=f;d8K&cMb*wqH@^5Em=CfKqjXmV=XI_q7u^zbOcJ8O_ zLU(hw-L|U~$&fr)ZdfehDZ!cxv%j4vc5nV7IW1x!?q&yFZH-Lh-c{4DM@bl9B=qCi zK%E0?dDq;7-(4V67Y1ZH9Q?teiTNJ$fcqg(UnyswKb}yEPKrs2XUFyCHJ|bb4na)y z;-f{z^WNfN99HOo6rlA#}SF6x2Xi2)oF{;29KKG9(k%BB>;JUSdXONJie>= z!?XCu@+YkdV)H%EqEz!uocvE({oI7d7{7th@N)^GU8AiBOs=eVpJk!vU!$C|HUTRN z^g;&EEh8tyOU{Mnwm&7K`8f)$5z(OV`eKI2?w?QI|3y-M`l-G9a)R?buvpyghXt|4 zOUuB-XS!cvLid_kcRIK~Y88HT(d&3FVyl$Nd_d|}0lsvB6!~_My&hpzh`}-%mO85F zJTG*Vw=naCy_Cl8;Z4pQhMlH-s{9%{=8b~!CI2I8w8vKTfLyU}G}h(j`AzWer+00O ze?F`|pwdS4Z^yt5-ZVxLzInBEa9WO6QDrQFY2oaRRoU}GJMVRt5$~luvFDdg?i{Ue z2l@-K{FW%a5obc=>Qz)^aUNK=ZxW0Qv+mO6a4ai&qa&UAFwuFuHxgksXftN#>UBN) zPki*~BV)B~&pbl(_xhrVSwZA%=Y-KAf#RwR3=Gm_HbZL9dIp*U-u-`(^n4}cYX(v7 zEEr=S%)DqLOuuwi)RoHI2j67vqwXdga?@yU9(KwQh)RE&{JDJX5LMUhcNY5y!++GU zKv|kV#7EN2NRLELe@)NVczQBU(!?;hVR{CNno0e62%f$m8iqC_CX_^HOr}hA4{tXl zM!|Oyb$zcB&aqx&$-PRh@NFlooaaFysiY@(rK6;=ke zuJw;I=;!s)^qkPGC|_Nf`UF0o(Rf_-wDpf%RI>5hbxAef2Y^ z%zpj(6`HSO{<^`~z_19h+TvFJ@LEe&PFsqM%H5XUM#m(mIk5*P+sYBe?)@uF-^CX# zYY!=!G`PmqPgG~`?`e28cX&Q|s9i`SrVdT9e&__DME9*yuZqPp&SrMKzS#U}{cX9s zj&Bsr!-++6bI+tKYYmm^W&#oXKJ9&&5_Ap`yR0JK`ZqUnEp3_0WTZFDyadiVl7k z<}H17|4bEVqNm{dGTwm5!|a^>CPt1{Uz+Gy8ec9Yf_;}>Q{ZZKeo`U#1?$jaJD=k~ z%zMV478*CKyJPV*tXoc&I$sCQiO^HRb7ZkH?oA!uKs(lKCWIy&_k`}T~p@ z-TOaoj|wqbTg=klwY9OMMvGcqx6-IR+7hv6Yz=C}XoFhSrM;`Rpk~CZRiiaxB&a=t zA_)Dx`u==>kH?YM!5@d$d7f)Luj^dbcS1gQe$D`su5qH?rP(>%q*JR1rIAfmg;Y!e zi@Hm4{X_?^Xw4*ZvRP6e3UsNz94>QNM<5fbYrto|b#H0JuJZBq80W$G7_sDe)T8CL z&O8>)cKUjbYe^Qxk)>j(sn3U&wfyS8B4WDQ+Kv2p?Ti?uDkM{5u1-j+x!lQ;R9^7s z(|qCG)-qadCg~C=#3VJvz@8mC{B0L*ftyshNE`69ttLt2=;AZ^_;A+0j@)Q-+Vh_g zKvSOegYHc7l2!wabG>dz19wLhPI6Oxuf(9o?~YO<6FP6%i(G#EPX33dEnboM_EsurW!QkTCTBaqcpE1b}ZXO)kJI; z^0<{fC`t2JbyU0-BUjcsTap?H5g$moHyUu_KZm-JJjJQ!OYDD#>DLd`Fbahg-PXmh zwNd9hM&+F~I|0}@YRW4N^`Q){DQ#Tu}lPJPRaa!Ax z5Jiq?N@YPTqc-FC%ea>{hO6AqB+qWpUAE!@(^0s1j-sPj%=2LGDmj%bm*yc*m=zS& z0CX8^lOvEQ`Xos6HxZz?PxdunSR zzeTrsOYTmtrVjVX;^esGx=@*2mCTpVo>j$0zvR!q{Pw==W?A-i=`V=y6=lgHFYeTn zy?mM@h@#;&`)bxrftL!*YoUe96O`V5ne<+E+>Hj(`UrZp`_YUV#z}fAm&vWaf8-lE zK&39`N}Fwy0Y$_9R*+`i@?-yH;mN3rWkYwCtR(iHeG@o@80k0{ZTYWiZbIs#>ANykzNo3EuZi z66vlHyh+6}`2B9|g8i(p)2gEj^udkWOV6_>50!)!Nfrg>+}TU`HlL#`FFt+qF<(RJ z?zIT*PYQqNs;A%De*C$}SJ<|sQyKJRW$x3ZK!!3umyd}D^zzsCINH1udiqiCaDvw z?8UbAy^qUd!aiNZx_s+M|3l}r6KER(wUs{&RBhPI`fZsCkH5>EK%SOVlb}el-D?YB zV6%lV66C9fSX{BT7qPY~6j&(R^(=f6FbD7u#grM+BTu`|CttBIlA_ZOa%3-*`7A64)3?!X`m~SxsM?DmRJ~$kA}=ZDzQ^(*H^VowxmJNB zJ+yBBD5n5;A9A4Ee}V)$-u)tPbySDd3p-izQ1(BUsDH8&vX=6$XfBFM-EvKlSV2aE zye#*`I)n&PTrLG_J6}q<9oQunAARkAerL*c9Hpn^r4CJ7gn-tn_r1Cu{HprlZa6q% z2iJ$BLgzYxD!P3q=m`o}#;s7j8>7o#n{Mb3cIY(?7owP7;`%P130w{ti21Om%*Zw< z+A^1Ty~$L0IaT%h5sKfiJv;*UOJvKacAqb1oT&M9x3Xe?%V&OkdQfQ2!>f<<40WDg zgka<(NAD2+scdG^bN}}M^McMw*zX`i>V;md@WksqZ!zoTIE(d!34AteHlM;&Rp2dDBtnKc zko=xkzQ&zv3-Kb?1J}J9*5qHOrqfIA`%!CkLR3m6{VLU>+`_Wj)!*H!OcW#Bk5sCC z)b27e$f@dmqo1rG(Hq;_hT}Ch6shpGeg8>XLnm2&;913`bX7&~ZUeyrjbAe5wbQ<7 z?ygOFB)L-W-}?34u|VYrjq9=x9v@21I%;NrX#RDMs>1cbVvT!}{ar>X`pL9ig@L0< zxRe(6uk7UW=H`<1S(gh(zq}&59NnI+NUcABUzue}F0E^TwoFh+7A;EbJ!|Cf>N*cj zvrT;`QWa6n9ko3#9`}b144x$EFkQYCYW44MKqwc6oy~ApyB5)J|yYYjbB`XU}@v=NQ|c-6g~y>j8H9 z%Kl}M=#*1exXEu!q}a^|<18zuIxgQ0ubsI}`p+;EoAyh}KPuS=&#h}lG1v`Ex3zj( zt@8M&IpK%%|FNfx(>bJ-e-&N~yRCfy{x%=?_35d~im_@6ql?^1l<_@p!7z@wKXlHj z{=?a+vwACfQIxc^UfH`Lrm6~@IaIz?A)kWGt1;X&89^gyDoQhzU%nIsL+oeuj^GC~ zj&W@gi4c&f6oikGlGUycF^=u2?lSK`BBGWPx64qa3 zS%&ud3yuglYsl2UVvC5%|AL(pL1qC{1P#mxf^i_42~>8Y_Yj6%8F2C8^?g!VmKOBmN@Z5lwI)T4G}Xr7lz1nO z#GT2DC_+<(!B>UWz}b-|f%nF)%L2hdeyh^oa_vi6vai9_nekBSVt9ci?b?<_P6s^m zehI;yQ1zw}&+lfd%!_k{4h#=;`7@G%dc@D~Z3pfAK2tE{ zY`Lk1YK<2n(Si@aE0n-F2$|QlnIB4wut($zh&1!FZF-d}eZH^lMG4RCsO%9|6jzI# z4Q>w+27>JDEYwGw(r#Y5$5!>3+Lb?D&Jz(nh4_Y87mEf znTzcU-cjv?n(4@P41C^kq9X8@INP~7 z#}OAPPyz|YatJaqpiCV z2Uxvpx!8+8=QMos^=^A?a-@-3#Gxw-`+AeSQ%8O0|m090@ZX0#IiMTc{ySDPE zAULvQks1{L+?YEPeC~tFJ#l)ypIJ)I`R2Bju|3#62`2^IoHml?a46np6SPT8Sgh#F z|GHI((hCU5cPUEn+WGy+-iHF?-w2t!^*|e`eC@cVQQi^N;H4BxryV}XT*&`0=s`E1 zJF$Hz&~B)ssptzfqkFQ@@wZV!XXA3@hm_%+p7eojkD}GzL}9)XMly{iQ}{MKEONUs z$?qoXq4cTzB|5D7kFzc5^cU8U4+mM}k6E=>^S@e6i>kG_v+UDZLK^BgCw{EQeI2E@q-dsRNL0YBpRMlQLz&`|r_M#43BwZ|*>#n<$j!eex$D5}AgAd>~I{lph z_yayC5j!nVn>=I;PQ(c(=nT1ti~*@88gReY69<0(q;PrD01W;4WN8yC!_I=jU9XIu z;`*;BAtHYGn~md3b7bb|9L-skt;0~a?d>XIxXw!pxsaiPo(S0`A`+c|ZkCDf7dj<= zEXH)B$EeKotBK5$%q?YG$pSB5KkN+OC2gOtZfIZQ9OajTFdjGr4CJ-zg#};v}3!Bdv^NfMyAYZnEm{~r}MCSZ(MO(4UIr)QZhmsKIbq`W~Zicn#W;{k} zAB0L#_lza}OGr9b@U8Hm#SY^Sow9wxz_hrI|M9MnL$yyHplPUH74>zyLYK1%3sEG! zqLZR|2ed9~MrTId0S2)bhE9@4Dbw$-EQ9nCIrO3<{CJ{weuey=pk0KQ@*6FY#8Yb@ zRk8M;_Z15Ds9&_QAP*{ z;v*-JT)G9@>Gf@@bHx^nl`q_ql&^oRd*L7;F0Dut=D)e|<~LoW@pO`C)RfvG;IRpm zcaki(f64a9?}}gMmshcRS@bGsLZLAw2&mQ(2|7}sz!&6;K*}8w1ds{~(beoP{R9<> zV#RxRlc=g#Gr)5CwUcfn$tKBz_o||FaEG|Vq_`;nasZUcbrJunxsj0(A_^cOD09pJ zpwNPdmlXt%GT{<14M|jC^To8`Nl>cuX?q>I{Sv3dgw#KNAEZnlB*SH}8bffGf0p;= zqoD(85sL~>jJoDljuaqG%QU*|R9pv7oJQOd(3%pjlv+3Frcej07b_+CEGet$^~FnA z?FElFt38+1+phLkCo)bqE)dv+dR&8NpYM7<{IoeqI8UN<`#t%I+7OgaK>tgDRJhNC z-x*k>zVtnn<0!R~_Hz|2@|7H@G=$w_{NaIUA__Z(z;TB>KRhY=bh&Ou|Ih~)PK+K#?o-0M(oDpC-l(P zP}pdt6T_Z>+$*utp8+o}O+4+M$$jFQGh;tHM{h`{E}KZ9s+d!wB#IQzv;ja7QF@e} z^dNlYSEVLoZXUcyX%Z)>)L2t(Y3HtZ8>s2xVVuEWyeswWRzPoNV|QD?stz+9_jHwEp>_l&K6EeECMH`n1o^h z907dR421xL60N%bN+#Mhz@9?j2wqSCRvkJWi(_gVKJaUT}78Od`B-0GtxS9>RWcS9`7F7cLkN7>?92da) z2R6;3iWsZ8wPQvDF*@hwc*q_5}y)=R>h*k7SepL=YLb%t9Qwlj#6z<@!`npFhdm zZyeV}HLBX>j`LEcdUY=9FiC>xNiO0%&xy`b5FMBmD;9-`yI80?o)ga|QN>0BwFvQ$ z+;&=+mzi{|;r~-_eL^50Gc(|)PCA@_MOB9~l|>N6+Kv`+q8K&F$i+Al z*ZZmy~)GxhK{pQX5fC-GG4sWpV!Q`Is2@r-G~rY$cn1ukI8ooLA-JROFWLP(h|1JM%EP$7)}`2H+&mFVqK;#5}7e=VCL$Ka8Unb%yP|1lQ+ z@%));CoL|M%(`Z{7+6t3Zr>{N&%07~q|8bDs4P0A_}CQ7o?fk}^lBV06b?u8?XI&Td`nGZ2osBXN(|PKDhI)lmmrpeC4n65YtX%5@DT~<7 z3teK1_;cSlk>raP6m$Xh%a;bcyt*AW3kNlMg%brVZ+^W{ma?8%cJN+1HNs7^wn7#}ucmX_dHfnfK?m+KPf^(7#Gz zOOW*=sA1P%ps_q@p;F_+o|8NNy8to8tOPPTa%@GGkEPCy`lnspJP7B0(7hfTfGMe( zAh6nLqFOQal4^0M$eIdafre_$onM(!VYM?(H|>Zo z6n>yDJD#QqEzL-mPy2}?rdETZAiDN|7MrM_|9Q@@JEOJH#<#eBmC_bEvk?iXw~z8F ztoYxsNU%DgfAhP4U*fCdvOD|1#1U2H!-48Ay1HOfHKh^FnMY?zXwliiH=)Pnnv5C0 z$iIfeguR2Ldv#HLr#DnAM)Re631=Yw|6CT_gGO##EarSS?OfDUlw-_?`$bJWjbud3 z-!BxQ6>^}UBep4kIDV!lQq)6Fz6^%A*Os~yNQoFwhz^WBH(s_y6~frlS;&!$Km%e& z1X0)1)pFVPsQWM9{+ALR%BTV+{~Q1R#7mh7`a1|-#Yq*!e&sz-aUw<}zun$Lao=T# z5`6lCdz^lE5Zw7y@{4xL@IS^Ky#4J*WR?Qb^H`Ud94yI~7=Y=kMxNInfkt8^xx=#0IYp9nGOjg31bB zLIcl}J9A;EL5;2{eFom^^B<_bV}36m2_~^P^qeUzcRZeHd`=YQSmG1-SDeUAW#P>6eGv`x>-I^w@ZE*88oD-?~8}bwh>w4L6Fj zg4$9-I(UULEK$zwxAYgGQZ>y`#U!wg0Gq(o_Y4ykwV>F(YoaZ0-v%qOjs*)Qj|J)| zQAOl+!_vcTw1ot^PfKfwA!gE_4to^c@yT+ULALJW79oqjU)Mb^QSP6u8+g;(aVqS2 z3^HzLL}vH}|7YFg>kKp~In8YGa}O8&oWt8bK6~1NO?)UC5jA^?ZT^X@zm@Thf373T z+jt)JM28jzx2W}78Bh`fqV0iFJF7=KxQGL z!1O9dl@$cijY?#kbS}Z=z!nH}Th#c?*XQc-$Qq;h$aRErAHX|X{ws!1nyOAR(HU$0 z`h`Ka{irxi-iJOzR>?{8-s}ohN6CHnz68Kn7eOSn{RLM#fe%O^ z5HbWT^ND9p#Lwxoo4w%nKXgsb=J3Z&=t8J1wiF_ikN8@W(QwduYg<`thk|e&u_XpmS z3UhZ2Kc9Bf^1!KycR4G*`M-c>WaZ)q+Lnllt*|ex_VhJJ&F^<^JghBrlAHE$d2aFH z5Xr~85+d>`*p>EXwYej>5Yh@%03N6aJKNF?9Zhps&ST;^(#VQA+k6{;T+rg-*1%e^ zedu`it6IV`aA6p@+|c^@BeufRdQk7l(V7L9dfeV`)z#Q~_HFrao2E$Nn{gaJ?TVB+ z>-mdpLya5MjKORha)il|TXEcv7k(T>6qZ5mY#$t1HT;_x1Qe*jYD|tF(fug6wbcD# zT2U5W9vwTRkU?(LNkGf(=K1Vm5|{L8j@=#3fc|1cqR-g#j_7D{06HcTis;cq1V#R* z;+KM+!^&0ld|h0}fu)|!G$Zt8uY6UXj%s_41uoKT*qB3Au{hs{T;1~VP~eAF(8Cai zj{PQ)zzg<@I-NF<{ui_CbLstlvYxD;F3n#*$)eo~fur(peT5dg$a&Vd|0n3MM3*+e za));ObvwDe4FCFyfXm34SCc2(;m5&sxMH*egR(%}b{Yj&9_7ayczLLqh^wb%LJd{$ zOY#f@DYw=7X=OHE_(E1=-iKPTs(gtv_MZDc9V?C;+eW@gH+gzLG`8bg{~Ro`kQsEb zWQeLp8KV9bb3jDue-dvI?zX#>DjD(3=Pk(Z6TIOGebyZ53{27^Glw)!(ZAcK+D!8d zUX)Do9D3{oz?F!|0|X`Ye%=2fYQoU>^?hD`BXX8`pVcX* z2H8f2mJDZJH?G-H*(1b9JG-w99X~tU>5uk1Eyz&ee0G|g{vg4y@;EU?(F#*X-p>Wn z&faj%U!yM`)J46aa~CW-fPs5KBI<=ob2Mw=;BN6&hf*Ev<+|_!xs9+R#S7^<8f~WF zzK>1iQA(pOpOAxRN*_^j#*1}Pqv0o;s=-elNx01(1iHhsy@xVIUU+2@)Gp7FjE34; zAZM-Y52@Af%%(v_j5eLQ)#MgN9}LTpdY@B5+wT7ks0c_EZA}EN&UC9n*|7b3&XF&3 zny1|6f}Fn-9d9WJ^Eq zv?yfhVgYSux*NdJ`l%+VMh^x)YF86-(`Bc5=@*h8@Y}u1{!H%El_N8MgC}9(@n72= z3%_iR2Rw^!5cnL9^ygMSNoB8jQ)Y_X_%i7|H*$K*|4SF|?@f5~CKEyoU} zYk^{AcNdgx=@`LIatpekmO(-C*KwA>W!$E%9cR`EtiwvvBPAyQTMyUjFFbEAB*0=z zuyN$#kaYZ>D(-ojKwDTup!KdYO+JKcG2;f2E%uBvqXXrPAh#^me~uXfKOjtRW^NAD zud}?Iee^abf&Bbox>klrq*IZ9CTrC|t!PVGWZwGL!~GsRj(ppvrix&DCe}vV_{WPw z$4Sa_nPd4V8g$4G?sZnwn6%#!>7NZ$ShVH?zYfz|ua>I}(A!UO3luFr9eQTh34*BZ zm2^ASTm$L5=n{R3Ih*y0=iWkc(evf%-L_k@$D@1##l_W8=Y66^Sl*8dcy7^SB>gA$ z_YDUdf7ANehkjRV`Ot0+1`LSN$;8$)XbDdH@3e5p_BMQ$Wa77VO{Y1(vh(h2SQ12m zQ0BJoh!zV#8vfNF^nj`a_Jk8xLF54$xJutFRWi2pa58R9gw}4cUJe@6dE9xj${70g9?9pGoV~Ra_oHB!+IM~%luU=^sVa)+O>k6}fVJ5U z`#2PpZc9g0Z(`R_-~M{ANRoQj87E-F0l_CCVoqBgT0!Kj1cFh3Pz7m%-g_0lC`OC8 zdBEE{sjs#dTdA$uz3-nI?cZ%`ID8iyOk%#8!z3#Dy4=s=P4_$t_bV8m>zQZDH^%-T zu{YlT@Q_5jT)+Y%eO%i+#*q&7yZ5>)QM}}}hx(yv?H|}ypUkAU2X<>Cnbw2U!(D#YJII z`$WHZ)Do{+)K_+FWM7Kbltu7@Te8)(VMphS`iZ9QZsq3C_9ZCY)J}_R;qE!2)?t{ZH#mBOU6?uK6;_@6dI=yRi(nY{CYTzLFw4*GV7Z^bfRh*9(@|} z!zt>+z0xK4{qW|nW88wIR8?aBOyFE9CXTTKS-!JcF9+#-zrPW^w_d#%y|;PHl@pnu z^oLF#3-b_b1|O7L#M$%;x13qs^O25$wT^{(>ByuE(ZInauMNk^XO7y_)8W5Q7y0hB zEcr=}DAyRO98yJPidc67!oW0hQET;@KXmJp2>EWlJviddnQx-?h!!BTta7LIu2f;6LmhDdOQ@282e z@K@K=PRwIV_-qHotCPY23(bf%Lq=G9R5?gl1@GKaWIa)5Cy$;Q=E!E*CMfZ*0+BEv zfyo=ju{fEx2+$N=R5%L4rGQhwN$ymVD1Q$Gv10KC$N&T-JBd1UcIpY}{kCw|+boEy zalCz9BD8Cg`bJ}O(`!^0t83i8RWN^JM#lJkG5f{#DlNPJyzj>`8SG@LLnJL?zgp2D zvfKx6x>C*;D3tB6R+5t3Q!8s^d=}XGrVlT!YL*Sef&8*OO;{OLU*~V?G|B}%#ZMD4 z-8ydANFlesNi+X%xE6|c?uPVOnVg1XpBZX}qvw4FEmX#$y8CoI77Br2!wxoNNN7RF zt?<4sk%E}|GS(H888=~TdBcW+>>e*_m zm2&qK5x%VdxD4^&KL^c*WpJk}{Kxja!SsPbIwm|AM;;vXt$#M6e^q+&0^)W4MKLg*lAn1Y3cb7%UgVT;Gy!LR$Q!_oo$kz3Twk(`Xn5C^e=30pHyb` zlyCj&x=%g!_S7&DzK+bBqvFcAsjQ-_^Gl#b*W@hvYh2U)`s77OlzFZL8bScD<3YEEDfCmqZcl zl1{DDyg86Vg-+)Ej~zM^)Jp^yYhWy(ye!a?Xt{IS-J4fV)EUnQCq#={VWd`_Bz|*m z+#4-$N%EP~X@)+saAD;5t}@(e=c{cg5aWH3ekOUC-yEIWJ{lu}3`0H;g3~^e4 z#r9fpdAq1Q+^meNMUTvPj@Yn3eAmoO{Y8TFm-*}}q)PaPCB65%heZ#e0cYG-%Zx9x zomMn&)s(wU4TUW%i}GKdoZMj(8l2#7o=Y~2!&G|?Q~-y)51EPu9uvSp0s<{wsszp! zfM_>dL?MP!(EzC>=-;LSrc3Tjh|6!aX#Ig$pt}SiGK$5dbu9Y^PE3k9Hos#;Ke&Xu z_e@k!Iqkv}zgp%Do&yKJI6u{x=eK=%&&8avWg;&;0KM zd8EYl$yfJ;3VEPIf$XzBxh^)JJg4LAe*v>RJxDUIBK zI8%$_7KNfDoM>sp!p}d&t70sZWF~`tN7}RAh~V)%u3=zt(sl<^s>4_x-kn91?f=Xd>|4|BP(^_NjXCI-?I!S6p?5U)QdJoH;ExSfbp7 zsrTO;2zTJDPis17N`C4&^noqM*>QhsEO}RDQ4`hDDCc9iw*&G01%CVe_|V_{g4(ZE zt7Au!Hfg-b%Jw%!`*l3CD6Dcs74qcAJ!_ zYeQq7y1ghk(n=>J&N0_K2F;HW6PZNwWx(l88Dpz^{G`3`UZZl?;FJkJj9@)KzNTGw$MROmO8)39-2oJ8r&g zg6E68cYERH(u;h+O%K4|2ACKW6qwjJ;U<7Ae{RAew2N>hND?PW;ojAGPg-M-+qELB z)K&>3Ks1kH$SYPC0|Lns}hn>fiTe~%BV(ijxl&D z*XE~7e|-DT>zhszr`VsPqW$(?YwvqDQ~5mP z<|(J$Bs+C!@**ai1|9D@dmmB=OE`VDEfug$gY@aBeH3WA0VBf`=ly8a7uN2v=(8sW z=UysZ6j94F@J+FdP!GzefH`p`jmIPu&(Jl(s{SfioeFk(agE_$o7!PQMWhItPvuXM9MtR|DGg z4ei}l*@e!v`Oz5F+bG}|^_{;~BZcV1x^)-AQsu5Gb*{;VOR4FG{>~_Z0CN)y$J!t= zx|Rl#h2b$oj!ff`r5$@~c%ZeM<~#ZeJU!`{s^0F8zaBWB)I6k*S#e|AoMaLI zcHpB6brW$E+?Zzn);?pr$t|5Ty47v(FzKjv64PDZ@78XE@Aw#DVhnoG=kxXpW)O3+ zm#|hv4!~*3CtMlwp%b(Sa8-c5D$DVe?*`sP^q}TtN;)plq9s7i({4@ppwC{b8X0OsDi>tO+ed8 z+#%m|}lrj5^8>#h%8tGr5yb2|ZN&h-k5MteDH=AF$ZiHFiU##~q z3e@H-@kj%A<|c5<@vCKDwDn=p@!`PU;F0m97y9tHy<=pO8!2kOM%?#mR-SMW>|%W( z!{XkPZ6IjubcgKb)0|;w3VZf!Ye95o#v$U-vnyl6 z$89T)=l;@X(zKGaq+|N{I*2rh!f>1=Cwuc<)W=r@4;vdsF9L&uzRMc3#&bs#-QF&y zdHb=N?+bcJg_3n>*d{^ybmgBR`#+?9 zy}Y(u)I#V?c453~JD`{NCTES?2a|DeotH&oaQ+{-Qbp#D@yy6U_0L;_!Z(yB*W=`O zmhlG4DO|XqkJK!mDrbd00Y{3ht(2Q(pSr#yx^l(@d>J*rcB2TMtn&D2$aT*r?~?-rdUv_M}Qg6cK$_qEfRr`+skZ#zcLPhqU{&9+E3sMqg=w=TmAA zGD&@XI1L!a0s7A=hw-BuUFhzL1XKT73{X!N`t!Pe0?c!<*^6Ip1ZL6uqp=K^ohaQD zgXAPl5!P{S`v-UQ|mom z=Y+AblmqFRE?9A7ys)UHyWq^Aztf;cj1vre_qMIf=Jt{FvpK6BA(vhtMdvvC-ssTq zft9a#xc2C;#Wam3rP8A1-!30_&N7E$zAskaV|l}|eyVJHgrS%wNA=DTAOG*^< zUGK0?sUAzU=QCR%CAOGDHW)q+ojWV?jb5zf$}`hXrWR@_S@r~km$yhFfr#c?Z2>D)8fwIuKAynzRr}lG)@}F^-ZU}pCex-tBM+-@%t%A@=DUqlrT+a{ zEwvZjg`3WbC|n4l5AHO-bXL;K9b=Z+_L#DC+iP@AfEB3%W>;h(Z5Q1smb*w;QfRgR z0$U1IE@81c3jA*NYqcGkf_33W$v zRZ*QO>bv2<#zhY6(B2Ue4l3H%HwtGaKf>(mI10JHO4(-r z5bF*5h?vwIF@K9C54c13-lnXo=+0`(hq_aj8PM%Pd+Ks`9Z!2-OC)c~ z7T$-rQ9_%ERi~BR{6GB}*VAu1g+30gqYW)Z3MYqj4aq=_a^Ixi9Z$90_n-K5V_3fW z0_Lj>DuvavuC%Bz4tLmBpSq=F9q|#}Ae?BQg0U%lji$)daeNh_@0@&EtJ)BnI?v|q zFIO#k>JjcDR^@iZ?Fo;xYn&DD4}V364-!jZPpY`9$Lwx(yixG}1fqA%O?6kOQuVoBHQBN||Cx&p^J1tMMVzrptzTkUBYkOTU4hZhFmL zzZL}+)oyDv90gDjfV)M`m7(;Kreu5HEsA%j)1v7p$QV+0^cRZ65t!}>WCh>)B~pG+ z8y@Sn5izO8xuoUK_aS2oYXG=6>mM?O`x;vk3!w? z2L2e9bziNPo~fn7N^b`CV_IIC^mp6mk*q&*BRfR;N#hS3kqZi6XM6rF)n(Nv%y~Nu zZghJcMg+=UNXHds{-Fzh@{Ze2W9doNrp}P_LKd&l{L@d_t$BR@k0VeM&zEd+ZzzQJ z?z-9tta)qbN`Bk-cNul^onBSU=k0)dsZs$Z2GE;GfM_QH4kcozg2>+iu&eNaze!wF zFXirN%K7}ykEb^xwr>i%g}6$GmtpkZj_FtYTPt@d{iL4vGqWY`^u+Gr#dg zEa}mu{16jkDcSj|P3W?wd!u_}T(X@2PqL}e@ov?od2OL&L+1+LE`{fJmoJwfhD)X? z``R~OSzk#0jncb|d`!5-${Ho>ogGdk{;YdB<9zP#<|#ZTOHxlr550|*P0Z6Y7mVfe z!UO8s{*ijfzn}n4NSY!A0SW1E&-xf#4MPgA@ixnkJbaw)2v53~_G_9Fkmu9jr>%-* z?z6oKuggo8e64?Og3C*=bX!1d>)}G)wO=oUG(_T;b_`5)RM+3xOGuQY>RHtEcV=iX)a?hH)A=?7^-$#Ob|q@S*>byD4Z z;n;u*-t1vnID!Xw9=r>87}F0Pj_rui(r8cMnQzmQzc$jJzNgMrdXmZASCPJ1zv6Nm z<|1&#B}@cd-O424^xF_E-WRY`RCHVHV4VJ0zigeR69b241tzw;gY`=RX<-dN^;w|7 zq~7-^+4QHM;g|KOkJCz{%Az}aZf}hIu$MJvWt<9`%K7vA@^l#avkt7r`?c~m^zM-N z1>h?C*r{5ScnWf(naum>Cao?rf55f=yT;0HdQ&1O#8pSjqNt{zFh@&M*w4~*QML4)DiLE-kmC>}(rm3#Z>84@|H(cWO&r-krp))zzFx5|OY>u!0o0|hf z{k(8}@-x(44Uax2(R;jevQ5`KY1bJkvEHG~hzf$2G6BMwn(Y6FPTKQJE;@nJFVb_j zCSuEED8g3tG#UKm-LmT%E&jYtv#UqGmITQI@6UQrsjNOVZ|7scI5E|^KjG>n9xAC} z4>V7HnXu|90>++?;JSXkx!);Gi4EuCD(=oE;LGGVe~Rz|hz<#%tpYamK!=8d1o4Z_!>e4Jo! zID@z?%Y2>B?W6bjzh62qSDfQa6HP6*Q5Dq;R%Aoq+=<8xAbKH!`0_X4nF!eI%C2p#>pA>F0y*)Dfr?Q)Xk5pVhwXZ3j~Qm~{86M&+fQ>(yA1m6~hz zf;Wn5KQH)I^!N#ZKKo`&3t-gG?s!Sj24^zonV_T7>FqGrr7XsrphT?)b+KB$Np`Zj zev{4;^lyb_WHCh9DL9Px@&rYaU$!(YwBgb^e+mkHlJqItR`T)~Kv z#uZa{5$*qWHe44H)_t^|Y@IP5?!kn{4#l8d9x`0TCn+Mc!B1j3i@DzR*v<&8KF+Rf zn|nE-=Sp|1eX4vq*d;d=aXD*T^7!d%(eCjg^T=am-q!^EbxV~MM4Ts+gK<#}8HYK_ z+XxdAKV;L_^aKBD-AA(5ZnjD-XsrF}{${7}>uk)ls6NfFg1qld+DMm+?Z$89O$2VF zXFslwnRLXyZ()tjL&gFZSBS`j4>}X?+v|AusI2(WUHZi*NGctK9;YM117X|gtvc04 zm)wuC_PDU&VlzMRNPkjC8F_m(AHBol?!q)McuUzF)5X-Gd{l_up0*j%n<+gXn5i}T zOnGE^rNK07TKWTC;d)Ho3+WzTW%uX%&HWFe2Es~iezbx(z1Ewh0Q_5~(vg|=P#(XA@xhDll|Xe%CjmP=O= z!4VcnVad_XA>SEJ{GOP+Aq`jomn=X{qpc!ei7ld)lpc~B$>$yAf-U1#>7rpWThF|& z^{)gYCLY03ji9SOsTFxz*F~edyJP(WQ_w?xec}d#^I-(E(hYJ_Sf)muEYHh%osL&3 z0t_Zx(uz#F!EH$f?o1%JqQ|oXvKF5&61{>i%%lNzd?f&kn;o zF#hIGJeP>>Kdt}$47|@NxYr_eNPFQl0Uy-BLz1X=mV;RL<%huFBc8w3w&z3^TpZzX zTWVX6AdzLNe%Yxlc!a^A@b;FnAG}suR^i{Xo7=h8oiVN`nqMBT5XaBFrPO|nO8sbg zhLz|*NWV=86YTYI0=HJ0mINN}QDRDEAf%2=A5yB+ifR@p1%eN`4%EfBi0b1F)*jpo zc}b^T+9~yj_yxb!gGS@(&stHp#}4sTR>qAvzNgwzXxe{V^g~-Jd=SI?YhQ)FMj~A$ zr=1~x=qA}#G(DGz6Uw`e#s-lGz4W=w-Gq$s>EDGtl6XZ(z<~{Y-Xq#nV<=ai)`@0q z^v2RK(<&Bz67}K1PHyCfKXgz0bc`g`djaLvB7*ADX=47A)gpq7qq4NpS%roGzxUJ6O|IR0zfm{$t~Lw&E_w~!HM+&y#E~jf{bqmfv9A>?JV)D1B{f%nJf$l)yLmjjBk=zt>AJ(&>fg6jp+=0pMiJEN zu(b%0v_?@%$6KY;3ewgJT6=FbVzfp>(qXi3tBBU9A~v;aH%9DQk(fc~@AUgS&J`C| z{z^XQ8TWJF_w!9E2c91FhA1EUATHFwN(B~@Ic?F+8rk1|Ikf76)mqzb2r%-ddlxXY z+7DoU|I6}#0uv}Mn}J^^V)oal(hGe4b`-;Z-Co%6-1vI>pPCX3oJVm>Nj5MGF4rH8 zbWL|F?MR{FbE>Acl(ycs#qn=R9|b0n!=@f|W^GN6zuYs>%RZjSl0TZ@^D0)88WSt2 zoGfe#73B*fk2IT>>&;Kk?c~l;F)Zdy*9b>l+CRaCKZlY9AR6y%T9*~e%&hX{duGdj z68E3PAdlYkGvc|bL_fa-eUKThSf$r7b*KMS$Q}=EWBvH}!GBUKovfJy#;P%fCfC>> z=q3lkk`pv7*{^BwXOaSbNPolH)mX96PJ7txRdBu$V|PcNv6B+zQv1)g+6P&xOtcBU zzLWgZ_>3iZD=@e(NS#0FM8?J zf0RSI+d~$0Ef$JT&by(Jr3k?UfFROZiSyZFZzmrX zWl#NO4B7%0vI%HV34v(&! zHMHCr7Z7xrYTKm*-Kcu`dy)Q%0O{m;SN`gmZ>@pCwldGUZ*S3{4Xc7iUTb1REsq}G zrpKqazME0Yalr*+Yr-F`L8Ku~ayPikg|5lF<)~+1ohA=7uPs-68cKU42Zg=g7-!ly z_%EWF{9lJ(L&_U@!L8JFV5$FoomN*vYgp!~YYgo=F1zqPHAo4HNvVvX06rfP47elh zzs|g1K~4oW?pD3G7ERuL%};y-R8?PNZsP#e7Ecwa1QQ<6Oj?d$uI?md(?=!6=AHhw zYVk9y|C?J@RaKQ2efutcMvKZh=_4ht`z@SR$vRt8OG~q=ysDA8s0eqxdtS{sRCmjU zc_I+!n;RMr2rJsFT9yd=l1h8kQ<55?$xE&Kvn-L7;S<*XD%6(G=jtW}KmT_oubcYq zN1)vsq>u7VFW&P3SGR5MRY%{~$c)!|Qu?UjLVM*|o|%~{%WbeCUW@lddF19@Oy53d*~+TRmekX>`=1>O%W>8UYm0UMhZ z>bM{R?kk?ag^lWL0qD>@F8^o9e(TKgWcC%og}3SQI5wRb!bS156zyP-z7nGDF(ZS3 zIv>>Ec%ngN@|9P!ZKk$_)klC=)u$lWm3qGjAeGF~Ty`jwTt-PF#G&$I(!rkXc;)A( zTQ;@6fiH?KEGRXA(>vQxy~t)YW?3OGVGohnQ6RV zdilJgmW{KtN5V9XT-mx{APymYw=BPU<;}rH^!Q#G`t3Afe|0;(J31eX%^rA|IW9eX zdgLU-1AqI>EXcedM!S434da6HICyHngG?HRcP%Ka?6NQE@No+YPbTvEs@OQ22kb;f zf18qeG*E~{a()RLNf?OA%RnDr1j?{}KRo!Wqx+f8F(Ern7$OH&ie zz$D`@vuf@{%zFV2Y9}oKC?XZ^KO@%=Ks~2}1S!?R4l0{iDob%(GTYKsza9k6%{9*f zblGm%^eUmHv979LcGfpD{X`SvhZ{R^aGp7o|HQ6mvI-`y=huZIw51FFK3y*=uLK(>;)&omt-8L1S-ejnrdimg(;(&NfwLbzKC zJvCl^p#=1c#vyyi|Fd`6H=?ycXD)) zl#O=Hm#S-i+p8m`r9BgN>7O&VjOxIOfGa5;x3TAwh-ifr z(-g(LDtnF?-F)f;7bzK{rgBW~rC*d*x?W}dGos|AaEI^)FP%qFy@li~W>9!nSo)AzV)iTl8}qYy8K`U|b<1*!>`=aAH%~SHnE5UX`*sk~vVzy8 zO`D@@Z@ed_detNaC;YMa9T+V;3)ZWsE5*AYlcpPEFiM09GJvZ_ zVm~6cU=T2o8YI)SK*O=Nz+6)xYzpVr6B3el57K3fv%*hT{Qp&3TlHiNpR%6uvZ$yH zxMDjlkY9+x!QfQt!_wkA>I2W(PRL&!x^;HR8UkEPwX*N$4{8DtaNdRBN;6r}N^+n6 z#bma7q5|%@=?VNwnQqWlh%-0W(_QrToP5G6XB(kc!jO7aMP5&i=(S0ocMx42(T#i{ zYa|^KDP8F_qhb@4#AcY2Bll)3TJ4kvhsJih=>tfvuHdlVoPnl6y!HZ~?+#bN#lz5;pD37F^vc2lPtgEzb=If<00eQ2}n9Sb? z@FgAlnSF0NyFX0k*VF)Gr6C`ijm7T9&+u{(VIO`Jnk4>DKAr*>;0P+leb}c?IB>Q6 zVJZPeX~6!qWG9Tmz}98XoOe&MujZ{U9>YI9E0(~3Cq*`ov|R+TE0ojTjV`+&wk*}z z%1omPy!lWpA+E=CaKSDEG%5MD8g?464Y=?gaEwx%?Uwe0Cd(3<%>WJ#HI^@yLlMXv z+|ivfO%Qex3NzKYx!w-Hw(f6kxGWQuW4smMru;g*BoXsDIC-$OagvmLI@u1A0Ug>h zDFc^&ZMJVH+}HO%az10!l%wWDaUPvd#&*o6kPt?ttR=p=UVb{{6FuwMU3llkmmfu# zKLy@KPh3g;MNQZsXHz$OJAaDonOB?gB5* zl=uXyYcC=)rsOZz4&M|^NgSzMANBsDYH#l(Jo z{=Ltx+tM=xWPL67oQ&p`-HiU5CEbi_^m3)=-g@}FTWHzX@vnu3?YuBE-8@Hl{SQ=e zi%!&7Bi1{fPn$zqQdsqigMaXWVvRyV1qi(d=8oP8QXnVeN*dott1zv9*=@z$y#$s)VbnD>TZh|5Wxu5x0IDj2`}B z`rSTPXg4i6!H=P+GmT;@%O;oh5HC_@BM8C;Q)~sCzBiDKsNO96aQw36WcwkiVxI>& z8R5>9yl_#q7J}4Quw*4e6s4T>;OgC6z(YfWn5JJ7l!`ugjtd6SN~{`ptxonUnE#X& z>Gwq?Y{vi@)h)~^$RJG2c+0&~P{anG*u1i)Xx4Ub<$_)B+S!RXd4!qo!iN;BrJs8l^ z2{YUbO0_waZJYwo^<0DuVJwOIxN~O;rGIE^ozWw~A_@!DmpfDqgZ@sJ{@!25yYDs5 z_F`n}ft%%qqaep#-#4ynBk%PoOIrTe5$st96N%RR;rjPTqQ9=O;YmRA0kAW zsRbk!ZK=dCxZmw6GQLp4=RYT~TTh z`bKB>*E2-}d5VOd?E;u)OK%0-Oj5eFtF}ui2XM~=sEOSO?jM$Z^WOV-+5Y+8z+=Dx zBLsRxcLwA9L*`fKDxEb(=UYNKz4|46h8>ZPQoFng2VOzJvB64n$41?!I@%a^$L+Mr zgQ%m_gw>yF+s=#I@Lw)#i#Z@|-o={%*uWE)2r=l!iNZ$gW!1UCF>n8`2Z?SW6tR!n z>{0;NI94dB<7Zq|9Y=zXZ!e?-dTmjt|&L36!5j=K#E)_#`maG%Nj`KiSui*I>_< z>)isjucjm`PFnMSpA!t+1NvX%0pkk-9)+fPWT!K>_R#h2hXHS;jW0`@{*AmW_GbA> z18i}Xzh78{7N$b`Je3)E9}rB!-|)$&hK58$$IQ$9P|vHm>Dj1tDwUGLawYxi9VcKRtP9B%45 z!4jpzKD{fL(1yu;C@HKU^vUxx#Ks9H@b@(Qy#Zb;l}nM9Zi7l8Z~@sgJr)Lv z&2!DZ2BDNwyRacAIWh;8e8^rHvg_&#Me7RZ)B62PqNkF%IFvGbv6_n3s@DIm-;B-H zbi}a8F|PX{;tgTUv#yza{yW$WL$$rgzd!pg_wh)jUwObZW3#Gb5>&T=$?TZgZ#weO zn|WGR-Fs>Fmwo7ekajADaVu>W1|J7&hjRf70rqG7mK(Y^y$MHH%Ydm1lp|5^aLI;d z@Ki$Gdc)F@N>#Y~dczt8lX%HN*!8}sF)#9B%Y$YgtsY3N-_xopNcC)(4!j;^Y zRE^895$eCbJ{hU=|BkJmQ(-S6RY#Q5yFI8+J4|BFOA%yf9)xcBCe5a9DVf@CFF-Yt za-u*w%P;77tM>K7N;I1)fgDS{{!7vW$$WOjrN@WqsE(ej{mfBUs&h6tVgocNwS@2I z>5Hgi)#k>9Ebq4F?;XRM#Qtjv@t!=L6%Lo$dUOy;PRsde=5eY!=6!(L7RI|L#)jG- zu0Zf}cG-#a9K(-id7y_j7jg!hy0&l^+m<)}FnNzuSgO)3zpfls3j}N9OHPI+l`SkC zNc(5$kQz`uOlHk>wwM>Q4qi!sD8H{H2PO)K2AtqbqQKU}C#L`AhB!Jjen9Sr;(hh; zzk(xHB*>Cj&Y>`6aAW#HO_}JnG*OpLVz)w9Fy8q7XFOpxfnorzwX*goB3vT7|9F)W zU%}T@H$}va%(o*Ui~2;GDx>^#fj46uPw;*8D}CSs=FGD#`irl zAqKO1ran;{a(-`m=Fc9COaE~4P^@TjYW<-~Yi<5Uk7N(K`$!_yXF*{9a3xa`L-2k0 zy_6&e4YNf`Q5k~m)E3IsN7Qi*lE|gUo6>pt@M7q(9e!0vcu7+%srF{dL-Y7j+D_tq zN#tiaNo*fP2?ZawXVz@{U9&v$aR8@hc`~xA21Ef{CsRlxQ!|ed+0Pb3%sZ7H2$3P``k36o$uwn$ z8GtO4s;i89n%w{p%OW{e(p_ zNsXn4LoP|(Q-Oh%q+K`R1IUL)TBT*q-|=)yhQEk9Pm;O|B6kx5c!gDiJN!#&I+O(f zi)>FyTFF9fonw!zbmQjKw~U8r%raHF^~W3+bGfxpZ&6ukGBiL?GXktVW<6J`ITfll z??h<5BBC0_-`QDDFJrP?I$b#%&yjEe`QfSmlm!9yx z4E7ir_1z?J%+cO+*8g6O^0su5?g8O=-?eBla%kAvZnq&u_TeC=aX#tgcT8mTvs?Up zXh2eIxQ6n=qlT|)H++~-J#v^$SCKI&*<8q1*BzUwUY<0gMa_on9gED0R}MI=skd@# z_XQ&(tyB)?Gh1R_E$)JEKOCK8J&GOG!bGGjc($xdEN|(vsgi@rovy43)E|o{cKVTw z0oE8O)AFO1Ahd{hM2@gZpLSK8lJwn|AxcXylUPCLJJTY>u`z|uIy3=$t9#j|^NLiM zapaad5ZC(U040tAedB-XMP(Pa#}w{0){!?ju>Zsgv_`n3F)znFOS*}|D&FC8K>rjw z0CZ0pp=yv)J%;I^ok#xsB(b#P4)V(TQiPQ`-O1(cTA@ztEL7NWa$V+4m?=pwkdL}q zbG@avvekdVgfD(Cp{C+W(mtw>*~Kv|u6QrM>JF&6yC+$Ua`hf^Ap14zPHvv$*hi;C zlz@Ceh(&3zvffV4BT>y|NO8qCPg25@5W@5c%VUS_bBBS?134rGfTqTXkCskFMcSZd ztLWaEQ&NzVR=KTh&vZxdFal_# z2p-^{0J=)@W?a|Ny7R4Q)jM@9wzTx4tyQVPSJ>Ko1jGrVv|T!Jp zKe*2MP?LH0oP^n1w}%ltF}A*EzZ9~7eB#g9&yPikZ>O&ZCR*Q2vGtxP*V7uT3OC*c z51yDe4DIQLRUAo6=FLtqTq%fiK4W`JZPSf6KYY{N{VXZ$xL+}*ys)3&R99PX)9;@} znJelRbFSnyL=t;7=i$63i#`kcY)j0MU;Li~Y90Q(;Sj`n6kCvV{~(9nh6UI>q{Esv7nrQv!%`k6CkJ^%|PMYWX1(tO<_K*T#adg4Nz zeF%8Uvq_oQMP)W^#mcT+h7^zy0|7A=-0VFd@B#`#4}kAbW!-J#{&006(j2dl2rdYz zHdm=ySl+%vVN$)e)07HB@y7w$-V=Dr@wJ(V4uIP>EnhMB{8H zn6)|Z$K7Uwp8j5duc4^=6N2(z14kTRzq#E=%{t-Gb-^$UPIynmPHz5T(lopo;WE59 z=fI`ZxD|vTInlSW6d9d~(JWo^!znkq-zu&SkQ)5QM=%Q9VV(T^p%O5i>#bTf3+z|R z-#S%ftG;`|k3Fysi&zbhIi9ibu88dm&EAx*MTab%q>^Jcu?CI)#IcCqUv4{f)s0pw zsrxNgB%H5POh9QYfo^Nxp&_6N1WBDx6@}G>YddxCE7XLG^7MWvRApWnc*`x{M{ z*P)ypn5>y!A0@ow=RK)^ca^q{+`F3cRRf2Oe{^VfVatHaY00J5sjPRUD(_k?XVaj2 z=yD`OmBE}RmmRJU1E91(D*y=o#$A-MEdsDH*Ar)y%Vaq$maPWqE5b784ZyivM(HKY z3ZL~f``p0crealWVmq%qq<2SXUY?;gel&&(wzzX2}b}{g+&@4&T zy4LCwJq&=bAsB(8ml(4FpWcUu{9#%KgVNw~f0$nWIBra?W$A`#3AF&EC2lpaw02Nr zEnxy(p<7eBXG=$AeQ@mh;d-Wm&qXKYnQs%9iBC2&;5zg$p+)5$& z{$<8)x7Syc_PipG+iZWGS1k$LZV-n^zCAi&GxoEm`kL(J5bIV`1x<^BAH+@xJ_@&9 zFcQ>qY@MPoED8%hN)d-!Tn1&PNPhi&Kxkr=G3kLbeNlt$H?!n@QQ!%V=KaBA4YJhX zm5pMrPUx}sIfwJQ*EAM~9?R|spLCfPbv+hAs+fH1f1ALw)(?f;4%;#vpV!qX7cr#- zUzcp{V6NQ{RqwZIQ28mDQmfy`4(?r{K@qug6G`h5=lDt%D*=3+nrWHPNfP=y0RR79 z&;!oa6GSdEgPz!1eg5E*~r7ru#OIG z#BJR~$*H)$(RdYAR?hxlGZ@+v4LMr9G~&&#tXf$P<+_pZwUeXa%`tN1TY8I!M#sMK z1=>D8Ak!7H-F&ngs=B=Kl#}VH`X{>RN=&*t>u_X#$F66eFTIxE`!a=c$;uj5Q~9|c z77}}x2gcX{XVF2y6*yz;Idj(8DViAQp_pdGEP@%2>4jSN@ABdPGP} zLa#Vls2%_S-n?~0m%@oq1l^p^6((-|hbc!|DiPUk{D%oQ!$zNxrTt-&S~{+Fz;n!^ z$lV(DvQn)c20BM(9hb~l20evr-AJK4vGQE^WMPKDUcpa*=n=-&tV8TXMf#LmTcb{W zO3JrEW?o8`s0w*;_)@`hW_Z=UzPy`@`Pd+bB*CBNE%wMZuxVz=(0Tm`=8`he5r0|r zeio?izL=Rz?hasLz=Ls;TLmK|FkRFc3KYN|Rcf~rj$7Q2NS|kE`b*+r zw2J37q^HMf_r6Ow8kzS_9ZNrte8>mdyzCSgzLC(axEOLE*X2A=ThayTH)nycom}XE zUS6!`SVEi&_VOG$s?DP*f7HLg5e{{>forsA%vObN0M9;Pf(s~>XHIKB&EsN*WWAVlkkgjDb(a-Yd50R>Wn5sCW&u)Q)|EWVn z;b(W$QjrcN^JjCzt+_%QOL7d0M?U_oHJ^->@zWtJPJt*PvqNS3TM-OErOLtZJK+t7 z(h+$_-6HsTE}2KTV&pOdN?*>$i=tAt|H_03{oANHU_AkYlZG>$*+$Gk8^a$dR#II7 zYsD5YoVDGCoKD!(^wnY|?;m&;DQ9q6v+*sRXAyEye0ziER%(qUsR;=+*i{C-TTCB} zSPAu*1@S>ox0{l`DB5EL)Gx!8_DCeT{jf}m;U6aJh$QU*{}b}sZ}SS~ro#LNy6U=3 zy-k?9xF+r(rK7)CM`|YaOAUD!6;8~2912;s!xL25j&s!AzoA&y@v^+rK$!br!FQym z57L_F!>Ep4I>{Q+v(oXA%viYj8U7A;xa4uVH)!yekU%%tF|r=Rf1HuS8^k^HJu1}r z9VSu#&AMZ!410yODC-VM3~dWq+M(wwW%i%y3`}2SrCpcJG=WHVZMOeC8UMS}4*=67 zF+XacjRNK^PK+zU4OLvt;du<7n}nQXD^gO=Ppi zzGvxvWt3 z6MBeX$U?*r^Nm0r+0G8?|0^-KnOCIY{Mv8g^x(Q@Gi}2HUkLQGYig=$8j5itxb)tZLzUIl=|w z9POx?teT+oJ?N%(&W$S>wQ4$kjfP%}h1=BwI*z=Ek>NyEXspBFR=dTu^{L}nE)%zN zK6_M?^V-_be$v}BLM=>UREq`!^d@~p4;+4}aiFf}WcI*Vi+QRzK&@xa*t2+{qj@7c zPw7)lcav{cAl0++&gT6qMEnKnkMjU=+L9=!n&C<$!_qmqV2Uj*R_L4n^ z*Yd9-Tufh%IUQ@5guuZQ(B}H2JjZaEs&!eoLOHKOBk?+DxRPf8cvoK|OpZi@U#ZZd(+|XUZ zzJ!8%`o@E~$mE8sYLO#5mqjOPwzEeWiFPx4lta{ag984(H>;O5wd$ zLxWj#Ul80Yh(ocwyc~d0Q5g*JtxB461T!p%PHhFVJ0pQvHr0EG#yvp_@ag&I4^z_S zhyk$Z(o*yw>jaQ+E(3N0>fjClhJv{W*)0Aqz5pS{bR{kNTeCCBtQEb~-_|kq94^bS zsJ9&J*r6?oZE1+KI)fA_{{yco0a12~BJfJf2JoxO_P;M%{Q%1OhekpH-fzR`|1Qsk z9~f4SeClI-uhNLhWtZMEirF%_jj7IZ^wW7Pb8xX*G}S#kT$OAqEHfdq*BcWc6LWGZ z>Ci9ncwt~_tK%RjSF(dQ0?l{(I1QMJrE7<)tIo%Qu`24&=lA;)CbXyKxN#SPs1nu| zf)cft9#R$)q69OY55hDr3hv=x-f1eC`$BdnW4aZNTQYLfEzFuD{$LC5pJgLPW%OW^ zq|kQ~p=FGkEzjR2CyewBEx1W^bdaygjRK`?G+w4;sQme5dt!(ftBzpqm=Ladk!`uP zZX+-Hs)D#Vfv!UEH_UHFBoFaKXUP!|b+@{)P_`gc6BX6+Sdq|Y>p=q4O2FBpdsbD@ z*Kgb!@DUPO>V^sjWf1qYyI+Pu=FpEH7lc}0wS1snrohuDo-ep31Ne#L7{_;mCasrUKbz_i z#fL%;g>4ACqIU;&N84|NAfSkUhY$0Bwjd43oAxQcjgcuJ`H0GSbfBmPJ9?!DV%1|k z!d>|$o#+%l;W%|75jRn1IZT{}u92Y7Uqu5aRa?au*K-u%r3V2VdQr#AN?4>Cz?Vq>OE& zH@Fhdemshg0ajyW@;cPC;jC{ zUVSoA()H$~*XN>N`B{}sXcgK`3U9zYeka``z-s;%Yih;6DBY@nHJrjfHg4|$%R3MM zoKZxj?l?GPW-%x1-RO#G*3c;QM7}||Ob229hiNrZAEqu&I6@pg`6nG^aSXX}`T@|N$=lqwN9gS~?s+ia1Qzk2>f1wQ}{jHduRY5d&QK+r< z#BELc?`LPT5d27B#Fd{fIP5!ld4_O1x4u2d!T9jlNiIU=_fDti{a=!Hd4*=;(_#lb zV8XLnN`Cm3(?P($Dn;sOxdr3OxjXzZV5%>^rcXk2`^e)^S#ifni~UpW4l(^OM~>=* z{o%aCBqWy5`7Qd4ZBy0tt1LfjEKrkNTsT_}oJT?O_lk7|Y zLsP0HeP$~`g+vDIEe=j)hvF;&opX15ulqR(n_1V&5eCPXy66R2Br{paN64NBroUc~6XRT%?bWeal35l)B9@TOlqlEV}r2D5t2@6&$j^)CoLWZ(SK8xLKq z^ZF9rZrXx3py?;OCp zBGL{wZ^o&Jr97atr;y^8!_W4>cm%O`f@Yp!cz&~780OOAfbSWXlh$~(>3Q|01-2YD zE61kvWbY;T9wq?Z6c>0qu5!*+P`K7UGZYIipV}NpM;CfUN?QG4LJ5kAi}$ZxRU1L(GzKqmNW2y3qb<$b3Sn zYOc-|PmREpbd&!c^{}-hRfFwG9>lSfe6#hryLbJoGXwf2S4C`kZdS?6d~opttO{<| z|C{2Yi`_3GQqr&)?YkUkZB3SyO?i>kAj&D=`5jV(C4Epv`-_M~OBoq-3`yWp>7VLU*& z0RgEr+^%&(_5dzP(+aClwZVZ8VqnX3-)=?NB9LnHX(^*@?1fqOniC9NV+@E6W^-*& zmz`l*tZdS@wibHA>v2uQOIGkBn?#}?7sDi}FN#FhB3&wt zm-vtK1nmO8Chuut>4|Yt{UD~g#?z(K8vx5-!lA+S85YDY@a#$x; z<@bJ>nKEMxAjvb61G@p_LM#YxuwWjM3gr5)M@|MW0@b!o(HgD?6grKi(0r+G{@k)!@Y)HnM_=;|1L7YTI$5oROd zkjCV+vmo2&5nK9x-IU=!Om{nNt%J+aD#_^&Odc(_`#29z?!((L+#-SvXkf?jSa}a( z{WyEK+M#p3*7$ALQApxHO()rgr?+MgMGa=;NHanI5{B=k!89)w42-IXA!2@|_5BUF767EZALU z_j`x+Q3aff51GTOvavHEM^rgN; zD$>nl>a6q9j2H*S0lVx0`19uuFZ9@VwQZvM%6f0sdaLrud8VA zsZ8IASUSlg@Z32VHkXT_z4=Xh%pU{^XrRCjOS$u=i=Ix!@!}>gqU9t7AH1sZu z&#ulc>)f@~zFpK@^R7>Dw$4j8NC`Qrz;YDSTJ-a<#J*HIk<3RXkL2gb0+lDX!{<*y z6PG<+GWm#%y_e8vyo+n9&(e`+dnbbyv@$aK7E_C+R3~n62!_NikMgYgXK7o{^MCUpmuBVS8;$8LZH3PwhhTV)t*WWh~tdztz@&rgxlk-DGv8UC?HdowwCI9P&7ifgGlS=$zba-MJwDelfQnzi zwcj{qe{lw!S~W(~W|)2xO&)v~vVNd7!T*GN?Cz>~57YLLtPY5IJ$dsM@cuC3@(p>n z{AC(Ui(M4CYV2|tU9ujfYS(@D$o`>H9RQG{`rwd-Ucs zljc2XID0#4`lJw2jZ8I;>08i#n6EE+b|SWVb@Z<7@dHSIP2kX{;@5q7y1AVZ+6(1i zV>TD@)hUw_H4syN`F1b*Mz1ouAYiro!_&#QtfW>H&Yvk|{C5dc`ID=25x$G1D3Dr$ z$canPLHm70R$1)`!?M9$=zWnb*5)Nm`7VKp&QP_U_SsneGH6S_4-3|Po&FjTodT(K*KY`9jaQF6g49C>J@QZl7GT0 z!&IUiRxp^-XH3a>G5HI{-4Z{LVf zV}Cw=m4lOZfTue)wH2eIi>`AIo8@8CyD+lpDU{^|Ft26Occnmle5lxS6POI8LRgF| zmh$$d=}prB^^WKu8-zCI9T9tt;7gT$e<_hQx~t-2+9d&$z8$*B&F${Uwbc6@w5W7(jrG<0KRfSFNuI`@;j6ztTcSA z#;}f==qgo>Cy(yddsUnl=ykilB))OK_4_t*9ckr4moUz3=3w)h5HIn=*(1SaOy^jR zuZJp35od+h66<4u+I>)-t`?k-pWRpd(2TPn_c$X%Z%k|a(2HA@DP-JWfq6I0W*hxf zk~!9^ItxA_UNJWEd-aw}_$P|8@-JFCP3N`H%5)9FkJODLxt9%CFVWo4qUS3;AAF^G zS;A_l0QTY2$n%3IUE|Acf5b2Y-r&XU5P8De82i#mU@WFNIjmg=A>)-kyAXAAl^+y; z0=hh>tViUD)5&Qa$)fp%R$B%r8emgXoFf9nR~SU3XcY-A$wkM>8*+u)gN76ZdoYR~NsApwqUt$4?fKd+ODnPA|Ag5W@h zAwjO$%dW{!JYo2%-$y0k$~<@Qd!`G*_&XQ+cp@PfU)Hx0JjMbVx2w}%bj!7#9a;%i z8yk|C{oZd>@1JpPO=kL+ylcre2=U?x=z76JTh2D0TCipYNjaI)4`F0JwAt#&rDASH zxn};2(=LX5fihIlo>NPU$nb?88#L8$*BU-mVnGe`IBPB)=>FK*ZbcWC*N#yUyQ^}b_$bNpK@ zRWt6g9id$n0=sSh`n$6-m$ys7u3A*On;5F4ptBqz{TL>lm#J-9TOt(W+($V(kS5LY zqwdPmg_YQN3--BrC?U*jh6NCVXV;5OWlEUE7GApJo{HV(cI~ekT>rz=Vl6Ki`0Am! zy4!V~E-tp9Ds#(H-)I^2eUp3|L`kqInC+p9_)oJYDOlOHR+$e-b;T97IcRS>$>G*v zMjHS7t9~N+iHGTbm~6$O9n$-j&JFjFy5`@>oFnI~jWk*Nwp0yWI2)AxV)D_q3%jxu zD7}FTq?pz`U%E7q-I!edv1Ia;rZ;PRcZZkaM%?2(UIIPyG z+6_|;eOS3xMc7DWoTb7HU21I`eDUJ9I+-nBKT|5nfS9E#ZB5A3LS&3O@guR;#yb_; zC=JKWwm04Q;&9jF@&fkWq}tsqa^Dq1p=Fua9KZ1B4|#FM$%esihY$JvgCeKOJDq2B zU}F2eq19qlci-h`b+dTMu>8x5iS~7Lt+n0so|Am9Ridz@R&Pm4vXrpwpI_?>ggMSr z*v?<|f7)+OzDiAm@A=pDrAo@%JYVk0I|zIVJr*-TJT~~r49CXsWMn6Ki}&ZqGPn?| zF?f((nyzBlq)~eiZSnZKR*P%AEvjX??i?o@QC|4hpo~w}>A1DdX%M%x_z)vM_n5BHrRLxsaO@QC2Hx7wM<=>24dkNJ+2)Vn(vetCp{b-Kf_J-Le zsHR<~an+ax;$=oX*h1Smiy$+uUudT)w=Xe0gc-Z>6c5t zrl(~kPOlL*)Q;|FM`bAjj4TL8bst(7`$g2Zs{M$DlN3>q|1p$Vv8#rO!lX`~AZC*0 zwa#D^)aHq_@Y9|RK!r~0z=bAcB`4Es>6xJ^an6DLNtc@I&6L~~o1k5*IiL${3%oh^ z{MGibh02|@4)Qeh+vNgOUG+->$>HX%;bHW(S)t!4+>)~Q@|0OvJ9JaDYZQFyd-i+< z1-K{2g;cD>Fn$Nki%nSN;Og%gWgIqzeQf2O51kiR9hjLsx;2ttayAQ__;~oH3FlV1 z{n+>`&Xiw8`F1^7HGe-nYqe>o!vIk#+0V`D`sedGxY<%a-HbqbmM;DL4kE%|OWa z>ZBo;`q|4VH?f^ite-69;NFC8sN4!%25bc>J*@6CMZIuezL|8`B-|Ro7kZ5bY6XAz zCIG|nhP$PH>Gks#KcJQzd9f3)j{}S<$D+@jU00}|1f+JPfs_4+!oKhq4#(LVYXpV6$Gs<6Q2fksJSAj_X8{x7!fS2r`a@lD)REmz z?*@GdrjH6V)K=#7$=Ov*;a0lo>6fI|);@?ycKODUmb^;P$!qPhc;gZ-*BBKNC9s`nj5rz3MjaIE%L6bGCq%&h9wq%?U_aR>|j zqWtXnala&GP8sW2HA-^*%Gjm?q(GhrT4oBa@Xggv<)CCC%1ax73w3VpluqpLgpuup zKEgnN(*3K{^xKMgzs$hwcgGK+;>Lz}@f11Hl8;(JM>T8j!mL@=Oj?6*HoIhTWefjy zKlD?8dMHj><;K(}#2YGAtg=F|k-uqLY6~$t59^aNeKmA+QQed)6yvkzfa;AcnD=Y^ z=(e$4_Y63SM?B43s-a@>@+&Tvl;1}h>%A1hN>lIg#5t%RKR+8^0#9nFUsAqFx27V) z7#8J*4~PrT(7h}`7ZsWEd2VU zr@8CF9gJe2_U3JP2})4Ufu)%*(l?&N)Afx}53=wRftytv7R_dNYQ6WB^+JjuyCYSJ z+7y%M9K@p0ZgO==>?1d?aSoGGVa+79B6?#ZI=d?Fxxd}HmY-egbv-F%Y!mlVRKXwq z4K~C?Hf?eJn}75F0ipvx`bF&_*Wwp4Q!?r^5}#H3DfZGex2#*<3tTAgQ=Xfqm&oOR zlF1|U4zb0E3&>x!2;9%7c72w&)ix?qq`jAUtb^^nQW^eGJVG^JUAvv`!buTQX~_&! z9UAV^6H6W=xu?e07i#IGkMMVmc;ft@!q<{H0mC3KTct|6M?iS-XNYpB(USD^uIZCm zv)nfoH|mr0(rcSTCL6`OmUZIuYUkYrtyO%#ae9^{;OBdgOYDbK;nqN!0PN=J-CBCb zBh50Ubevokd2+YuiRr@>f50X|+bsChyM=Lj!uwrjLQ{H;uS3&IhCEubYSHAtVR^md zr0`mV$H%0{tQLd82eKgki3%RH=H8K;YgFW({U_!TTT;8g4OJL|nMZIA_wM+nDo@)5 z&N=Q_j>&bumRf?=s`_FT^<386+%<}uMokw{k$Y~oCsMl`6_c;oI~NMWXEhQrxhomD zg%F4$^Y;)hj7Flwyf@Qy7DrRoO~#yGp!iHO?)uKAtQPCnDmR&P>>JrF{|3=r;9_Ct z4T%!J=aq&Q#j=6jjYgxvMn8h8^nWjrX}l-F;lU4#)merKf^K}wDw-L!r}Ad0%qb>s zv@&e5GM=lmtJfx6Hp&5$c&cj{AD_x?Tl$B_`yq_B(x;W0yT`?DaYBVP@^#iSnD?I*&QH_RF>Q zr-mFL_FkJiuqVdM6Z~XC>@LT&AbuY8>e(~C-@IloKq(VHHGLh}ss}391o(e+t8)#t zJdex=*Ys-7q0H^A>H+lEr#C5G4II*@)7x3Xr-}t zz~V&4^t(=*yWw+im2??s51|59+=e{1N1#DdSFa z_t*ede{mlsaIsnGU0_dy58r3@R;*qQ{(O+J;*AOsqOeG?-eI1;+8YNQ>|O4j#;D_im2Z1sp< z=Jpr2as6rC6lAT zX)&XzJv*swgs(?N<9m2%f!*|wTw3_=m_IcA3jcJQvvmxE&^a^V5*c78cEyb&;dJn?8AqbE6RGKUUr^hdj9 zag4W~fFy<4Z7W=x&{~%bV}p@jk=kijgQIB3xx=FR>xU`9m}p=#yD`k-i{g5y1{GYU zq4(){=Hikc@(9)V{;TvX+ZQ-{=l)r;2g3p7yN&Qj68%con&a>4uM(8AZ*Zb2F9&pM z&h!5t0Fyv$zv{yid-n(9Rt1tai@zBs!ks>)oH_c0xhGT5me9x}gCOGpJ~7z_jO}1& zaGT71q%*|8O^BY=g5dE5&7N7dF7Fc19*2tuhU85Uj>UA9C43&NdVbJ&;n0@udDJpf z(0ok{3Hz|c^=ANoy9fhMKTy04(S4cZFjyX7NU%pB)1blOw#L3hfvlT%Rz9r3R{#a-sD5k3upxUdN<;C)IKDN|&wYmNiRgF( zvW|zsx-_?OFM+z%yCrr@XXZt_X_{Y5N2m!H4Ccr|tbuIY-rGVP5l18?ym;lm1o_Q^ zg5*XEjTrHeNQ9p$xQe5eeop3C2*YgR=99u;*20$D7XlJ+uyZ7DC_Eu9or!j76=GHpO(90}F%(#-m8xACERoVth0wF@s5mL?~Of+928Gp<(W8-3+#YLn#> z9c+6n*K?f43ESoAM&ks5))HQKE*0F6iT-onDY2jq% z?*)(#(KuN=Msc34{y2R8T(>4%!rc(&IzxzfTd@$~j`>g8GBh5jCnk#JWv~T(-%sj& z@(vu`CBYuwyxSX?LAv;C|@Vsj!t7WO$G1kVz2 zxLz0-#nC?zuwLwhK#$ZJdfHgf&;;!f{)u9;ZsMopyE#qIaxD?L$l2ach-7CEj2U@f z2M@rWd>7w=&`XibeAo-7dMm$)fEnG#5O(ztPqF3=*9U3+kw!jw82(F^rzZMfLE<|9 z0O*ug37y(J{G8(${Z3A!a2GxqIfqM_m$=TGuhjknaE3s*TgfHX3}vha-*H1Q$B-8m zmMt>jkV`kdkoI37l?ebcG7|~8;j!LjS2HXXhSk)gI2-sGb=x5Wn_**&8v3&azTP%y zd`MMn?00eap|n{H5kD~ck7ujV@e@bru=Y1U2;(f3Jc48T@FS!xHL3fCCc4KY!z#Qs zflYuBp2*(|3K5b=+~~~_@LvmTaRB2C`;25A3mJ2@v5%TxFfkL~OV~lvR<_G@JCwud zu#;VfgQIbWt~h~?ZkpP&8+2PklAU^=bNW5R3m(^ajyuskE`AX%P7_O=J6o76f(tTM zRz<|zk1}f@X5*V&=G!^&4s$p5zRCMX-uq(tg8OHLhCbG31>b%QVl4y-rsu39*vgVI z^)D~f^zzR(=N(*gQoLoI)B(4j^vYw%~AK$`RHSvtXE$T~=R`1IyyiK_B~G* zN7-SZ+O3q~gmM1>C~RYgb@M203}%j&{zy}s91VnAq^PhCDrC#237w6LhRfXN%o*74 zq`nUHXpyIO>x9baC%N9{6W@e(3_q>a2qj=Ch>FGtDg`)5>EkO zu?EJC#!85MA}QkDDKdl$n}fqRcxBvB>AEwS%3|)(U5l0Mv9p|YE%6T<_#IUwVwg1D zdx``?@~Hly+{hMtecvfWbQ>QPpL(P>S$yceO`O?hhFN6C`~ddKMq5+Lcx1fWvNk!n zz?k3FY8V8vF{#;U>CBv)9AVkRIxef$5rJ#BKIh(Escc6bugT4Q!XpI%z?5W{72d80 zP|%#0N=u$U)Am7loX9vi=ZSzD%I$&%xcm5+yaR+}#&-VzQlp8$;^iE;G%j*CII#fO zX30D?wwG5IF!31r+y4Mh!EyDW=0DNy9w^`dz7U3=5XVk%Ut>6;xEI&I<(4^vG3>W@ z;l7W!H>AURe(W7J;XOmghrzIompJ%)mNIWLOS$vqJpQ2i;ebKkhlWE+5;_i@_3CDh z*wPJdv&r<;TX2E=pkK7dCr9k-)`etJ%oUr(q(bB8f$C7sM5stw_aoAh} zunbw5gu{zJ6Q>NazAQa?u74YI21jg`4Ux4)gAx;zGYOx+i3&%Ap^-t1!E}%?k=Ozj zvqpGvxDBn3tn-T?#Z4lPTFU|vvg;zjF~h%!@SJ^&=OA1?NKcG(`4&aM2xkI5Nd8xDCGTO&*Il2o)6u}yv#tEl_TY)Ej3FrR+z8RM{Ha4fbR?Bwn z+O-eFemwiOuQ*JuFdSuI={z;|A?L}qE6)0b=*wOVNI3BQUqxECNMVzmLOo7Ca@->H z{{X4bUI=f4z<62sav1Yyyxfh*NvAV$&AxLP?lyQ#i`x6Iwg&eG_iyee-KV(JR+qh? z+;tJ)Vs~Oo>Z-|aBcW>)%^(kj)ckaZld~t62Jse^ln6#daV{&eOWGRFi-3;eA zI+MIsMx!+!bba7^PUM!=kO1_E4hN~To(W8P#`H|S_9M(((g5IrdYk3b!2H%7<$@!B zUOC-I4P)Y85pCi{>9sMvvvvyKm;6G8+-C@OaiV4L(S4GB$eE{cWDkU!2MP>f3*y-I zZ)!~1Qo<&lI}{UiB05PM_DLaKwr-aJnh-=vo zc+Y0V!;v}_YhqgYJZvv_4(u`nZyOE9n{0RyInK9?!?a<{PjMyA_cdm0`-p^M?FGaS zmQ%PxkTUlwAsxrc@4~b*CKHot9c&pp$8CkBga*9R2W1EgAvlbjQsYBd%4s;^J3yMC zNjOR^5tk1eY&P5YXO7gcvDjKd=B%9&{J^?`E3`Q+{UUa}CtY6SW$Ux~h%X87#8LeXT zb2kj!9x(f4l)5to>L_Ii_Ie`e{(G37w19H+p%42cIqvAw9v|AeSMK6~r%2j`!D2$= zMl;>dSbbPUkgy^R%;v^qdPCd@>O8KKi+*S7A)Z_!#9v5%>-7xoPnCb*PGob`?1jAa_a-=W60&{a@yOGPte1088u5|QbMo2#2|c5dPsknv^l&7gRf zKTzC=1%VLmHgjg~!Q5QIPQkfyJ`W5NTPJuGbFgr{vYNw?$;eyO#r#HBU9xkaP~s$m zut?kfWYSL;*=Oe5oUVMUhtanOMIjyEr0MO;ehKKn0v%I*mWzPqmQU^$-w zKN2y-gxqeiz1wze%iI1ev221n>PW&XtKmoS#2I1@nvnDXLlSB=te#8`rV?=7i5UXW z7-HLQ_aKg>oUBQ?4O=!5gBu?N!yXG7q`?v)}poO@O@I$BP1Ok?50-ji{WD$xJk&_hpldfIt;& z>%L3pFb)@+P>>cy1@hvObP@brq`XWw+=~9D`e+{Qow9x3e}oTouF%o>(Y@`R>VdKbUk;blHUwodLe)<-PIo?{XYxZv)|iOgyYZpN2m#i0ya^e$D` zaPQkXxC!kMP0#xMM4;$6kUp@IGrN*ICs=T?o}rFIkcnw9gA1>pyAByAR(K~Rz6k*J z)Eqz4U>{#Tq;8VP&_3=khrCM|O}h+#iJHPQL8qv~UHEZWiMhCm@NHQi{urMOFb6(P zIK;a_*eFi*>fv+yz8{7dJA_A4y`l5-jL=B z2(Uq&oM$#+O`Y!f*UF4{E1b=MX2p^{B6+J6^753(Df>tBarY7K$=$Turz!9n6Imv3 zEDi3HhH~Qlrnqsnu87=@dzU^C#z$WA8MFWvIxW1%)5WUK)*025qn(xD!??X0C{dDW zedYe9ogiMUy`CUFN$P#}&gLKw5PTO&Jxs8R=-pyR+>G39-dn#?uW$JAiJLM|zLv9Y z8rWNqfyMI6>?DSk=0`wGrg#wk%MWGp2>A(rWxkm##~a`wZUXiMW7$73;#S-uu#qC* z&_Vjgz@Ljgru4}ju^eA{A?Xe4Y4(-LG|(<^N4shbRWIvq1}rkVH*wi<6TI6KWo=t- zR?q(cfDO+UU2PFWmW5)DwsRp4xP1hBDn~?!799bzh<+yq5WJR*L?5IVtS78LrMIL* z;X6j+b9#-`2*a}ZMf0bA%eEKMzOD3OeP<4kT`ts0_!m4EBsX$zO^EfJVY;DaG!MLunq1dPGk;jCzFdA$m%j#8iy$W5W`qAL7d{dNO7yLzRsMga&Fw z^)wt?&9>X;e6m7F#@cI%uu}F?;dC>>@s{82#Ifh)hbazHr0+=Fh`>Jl2d(RME~k(n zl1J909VVMiNp0Q|xafh0He!gm-J#s4+%3+ee7r<}gDf18hRo+AAn+u1oY;hhv7GuN zn!Antjt*;pU;w(~mn?k$01q*d99(eE7>?tsDKKz75(&)*zQRAq^$F!Z(V zdGHQiOL4P*x72a>9EY*$a2;Kq$kEK^8aU*8BbDTP8QvxxzR%U2xic_dTB>|-J)nPP zF>oJ@{{Z#)wn?W>pMJUO3BkAW7C2|KpcROOn-8{$@Ta5zLP32$#(Oi-)NkVgAzHS2JSeM9l5aL$JP95gcN>Z3;d!{;e0%M#$8F`zM~*GS zi%{a!>gMc!gKA5*@~&`^CfLt$CnEylkntB+76lKPs2=5g%NtP%UvjSRwPg#Wu>?p= zRn#15k)mdG8RcQc?hJ8YPopEyP?-+*%&`!+5SY;9>5=KjJ|mXZ;5!IS$p;p{FRK3l z-AGSv&wWEYuprnxAJKXlp?ur%T~b|S@5c8xxleij048sNI)%2kK7~HU-?tCmN3>JD zgHtTM-zg34zDCvo$_gNNnII;Prw5R}JQ_RHl}6Oyz#HUY0|z^IZkgGmE$O(}%uz%c zAC?2|e5%vh@t{+yWtkfN&&ZQ*sN;fj1;@nEH8tf2NyqfFy-bfyydFcB_+EUZ)bpVVT?MXBkCdZHV_=!*yeekGE7l=rU5eo?2wJJ z4z(zFq&vhpS$+oWhC7v&7hSeCjB%QiAnp(pBTF39LXaTUD<*Gl)lN{`1AxYJ9OGeO ztBVAk)G#-x9xro{h)+x!d7AjCT?n(Q31BSMsO}AMN>K?3$30hb!nZZq9H~!bi@{zq z&VET{(>F@2jad%n!)!MA+kXV##CN{XW>v|0Q>o42bKeCFOVfW8juXL5&h=679uObV z;0(PkB;B}VL;)?!DTH%7VI1sJ$RP8<3E)q*uhO&qKzYxh&Bt^hjy=ax!dZghmroEU zWty(2W?A43)*B!5z-t(WMy?|v(UT4Z8-QWR1TASVF~83z6I(DXK;&tvWd>knkX_)qMG5jgoB zGpxt|0Q5XOYEK3+^KLWy_wdgdbt|vrwi;c3-*pwRXAcMVNifM4)9srbjpOPq$a;Kb z!nL2=P7?uex9t9BK4qV$iBjB)n8}jOlX}n`ZSmRWBQ6!R2Ea~X#ezbYBgEWt+^jLg z7|SnqRB#z;v6FB$l`TVy1j9Kg4m4texgx_WpH@}`s0V%3U~q7CWqOr(V@TtJj%3z# z^#KS_J+?~z-Sr|2cW*lSv_PI5L*y9esm;$UdCQvy4`@T+v=(-0ZNtRl;x)7$9-FX} zq__dk%&$bA?pgA+D$Xr7j{rtf+shh zVI2CK(Rw-f+qI0nLUvxtUU9m&#-7vpo)5s-fELIs(%_(yG@JVHVPYYW7(OFdcv}UW zU9vW3If#NY5i(AGEw;=s5con5Xh`*g=`9k~A2YV6Y^+{4SWJ3miX{5at{8@Rq0AQs zX4lhg&yCM7Zd)!w5$~A58outJFK{e!CacW7Y5ER_Qg!+RPN>K|nzIEsl_A zq_M$t0_jXa6KG+%nK$Eeqk1OqNu2t$T>fw4`fqTf*gV}qRe zo`J`lh&b;ki`x$;+{TP?6|yUx_z4+2I75l>Pp<-6Fa*Q+AK4>of7=%;&%cTBXa1~{ z!{~Iz`5gR1W4(0B;oeCx?}MWIPU&Ghfw`l%?LdgK3T373E0FQF_w-=WduG; z%!+=Rj@Ho!5#RS8AU{Esu}peSJw|t%p}J2KSA zU;*m5%U+G$;?(+mbM6Q?-k)$uxFq|5hxsJU{h^N8u)#gqmkZ69-Mq@|@41+MAYs&` zW>^B}8Ixdf6D}~7{tRrpgU}Joy`HUa7$^jfaA{iEFo>6_q_k5e@ zN6jAT^rzNdi8L47Z48*cB)DdaP8P?Kf+YhfB%EH4Qv6FAHXna22A z;b-Gp`p5)D5IdgEI@J~X=zy9yyRf)PYFE&(RF?g<>d%hEkhV}>F1 z2aL0wos)P8dfAluo=&d(#?GLf7<{+&MoA{igWxjd1S}EbaM0&r&#CJ-8{{uX2ZTsN>(&@HF*v*zJ<%8fVn= zbYD{`x$(OH0C7QD>v*-q__v4UJ|DvlUsQ)#Q6odML9EHV*HRrA$UhPTAd{)(SQxqU z1wBqwT%}O3(mXT-1Us`rlV)dE6fhD(#gXJV&sBum?Y{W9<`nKS#^EMzKQlqGPGA}{ zP4^){;SdSHN^$gIcmAh}(ndW5g1uW9U-g?WBmV$~;;+3eSX$HY7Kb#859hm)hU--*cb$3CkS>`Uo>#B&CU!d=#XAehXq{X9v~kQbn-LW5W02rgyjp>qWHzT9k~*D z&c;&opH>^3{IFd9)(t_~>NXC%eOjZ1yorNCHh}SWYnFdh0u2}ev$ zZI}&&c#f9p&94hCJO*tNj_u%O77k(uOu!#kRggCu;BReviTAC4%nU#Yj6e+os8_EE z9<6;!`tS$mD}M=UbuEF8-A(qlO1h=vgK|f(Bp67t^Iip8GY~DvKd7VtS`XA@5ti`^ ziluxhL|v}t5aB~#lo+t0K_SpMDd&%8sx81wBb(e6)r3Mo3{{WA8 z!%xI#dyfNqZZ2GLsO*7)`bCgvz{$O%=G%MQo#)PLrIzft8)e=uWAyNFwMfGhx!M%0 zQAtNC!Ou3aIf!po=_3ojlMdQ?Tqb*oW({^+-y@k3PDSAOh8SN7zOmOy#%0$ovMzMt zm(sUYwX(UpMRp<}5Y&X_gf?a#r5!B&LO4u1OI*QhQqS;jF!&o{*zkB~!Tc577ESSO z$~An;_#?Ijh74U2W-L0ftho0l(*sMn9C&y!;4u;48w2J>LBo=VL1j5%%?$f*+Wo+C zJdcdx&FUq>=Q?*i*aD6#hC`Ar8JoWTE)KY}#ymZjsmS)*`kN8g%U9ikS$rWzgo$x*!ZsGoh8_hZD&-B{TWjZl& zxrX*jnM+KPTNlL0Lpoq!L@{xIhfI+0A>iQKWTUAMBv^>U zAN9@mSN*`D0m2`d;kmO3ZZ2E!4a$3FA2*X8VJ%DiFr zGg#a=@b&;W(}kJXBm((i;b9&JD452%5FRD=jZC&f*ciE19O@uwcLUa-9-c*KvU)B-4EQMiwx5Op;;B$x}H zAAkar%vg>W#7Dq~(2eAnuyahrb+f}&x){sX!x}o;bLl5&&th*6 zxcGn?OAbrr7t0|1m)5p)z7qK9Ny7GJ%yX$}^6*@q1Sy^*mwH=!EKekJCX-Kcy^~ys zUt3>W>)IQb#0{=#G7RQcma&9~lQ1m_^&s-X@-Do>2EN@ z58{3d_#`eV?cLcOcxx-=@)LFG;tM#&4;MDamjjKr=+8w2|SXz zY`g3Eo=!6UO`P)v;*e|}8TYbs+*k~PS!-vLVQtx|40GWwZ(WO=UqSn|rfB(LWz*gG z&Lz4D{Z9G?j~oPs@!XHA9-{Gg`3^n~#oN!P%C`;S?0FksD_|6GZI2H?kE{PBWXv7JWxu{r7f$mBX;=yL~nF<^$vg2Emyz$t*_Jv2+u{H1B7W|Uvu~7UCWGK;@B466nc_!8Y5geGn>tW zAU{&v4*R$0wysF!W7cE`BW6uEQYhR2ds~ zaKrY7S!NuTG(iU5Gun&h7abkoev|5iX=OJ0BGUjU#)$`{mE~dX4JOoJ;|=NZ_x`U<`D;BkfT~ z~=n7fo)PU(loXQAT{^lI9-nug7j_?;2#|On;W@2oyo~={YG4T zTpHW)VJ*LzZpdLV&O?}JN1S^z(%GKO;#!w8{)?^d2Rm^)nBwIAE_k$R@iEvAKo11gRHcNekP;lk3WJ?E+#wbX-MGM(a2N)p zMUD@1Cv)3STxyUz*~0rD55&8|1+qpCBQgm$8N2o|gX$(ZEPfvHw zC0r)M6LR)owDiknlJpEg5q2hTqD|*Q&MR!`(oZ`k&hOosF#C4Lw=l~MMjE+BiVkT3 zAm<+Ji66+bV9jCmlDP@KzOBII`XM30JXD)a;<-LjBTfv|tj|rW>d`p9w-jl%Wi z+IR!vLw=#2auy@mIlzI?n!*A;rHafWbE1{+e5_*b)3uFv3d+%y-uRpn_9Y1M!LfII zs9W4|?ta(pa`%4M?cl3#x%*Gn&gpf=`?enU+ky6(h1PjAux0Of{X@b&mS z_-39@H}4MWSnk)%FP0a|-^+gN{qNp>)BMhuFxvcl{IE z2_H=S$2p_HSxY`aeRs4GHgjpCgSy|&WY{`e_Kyke_J0} zbY=|=DDDU*jWR(4QTIKye+MPttIUa?T`r`EHvSvD<}<)Ua*Y9oT1wwD~)R zF)`J!?~Q#j^T;-zDQ(CY{6Iil_F6U9d46Lpm4wTt$to?n?90cQ;RKtFnB{s)@fURzc|Qcoo2KA8ofXL^D&-3aM~>%&ika5tYOl*BRvdX?_ z?apJ5xaUzXYKBjTqWzTq<5pPgo7tO7N>RovQW(v#81Zr(*y%8a%=2z?+HWx-xZ06yjMli;3+nDNKX#un0VTKrd23KO}gNr3_Ho%NvBI4e29ssNjcptU({{ZOPJGnELe4u%)waO`2*yMPKHIe1I z^-I<06#R_nzSr7`x?(B>>A{-crgJ77`&$(DHX}omq)rO@x5LAFPbeh-AYDW$(6gLl z;>!B|2GBM+C%hx8k|DLsqeDnXWS_ErYYz;32=^I3OE;OAh?IwSDi^3v%@#KsG#1Wu z3$1Ekm`YxtKBlqBxMjS<3^8rK2=dD*Wj_ZC6BpbgpAQQKCzM^SE5E`|gEztkHfnuO zGsNSwz_l+=hnKkdHohi1=#U-VIX-L-{{W~GXMW~w2u?2aVx+o-*m=c}hRD(4IJjYh2B)~(*BWX0Pf;-2ov*r1>^c(ih!}hh7AG@DHVD4gH!Lnjd5J`CnTVL91bcJatP;ceQCp5K5UD;|>nH<{=WM?t_+>YZ^^K1qX85>F zgPYRnX1rL8H=7`AvN9nqvf>^(Cvb8>-NBfK4 z>-PSjGjM$9l9JWeArK>M4+O5_E&+%OW^gcbtV&{l!ZS|Tc!1etS;`&Ty~ARh+hq7d z1&qx*$4oqUI~Ks=Xa|V(@OA~~PAzW%UqcqPI4Oa+7-ab_BKl!!0l<5?vkWl&66fT( z;Iy1jeC(V2<9+OSiOGMl4}}Ns2mQjXAsFO>+OORbmz z9B~v;I^q)^9XOSYH5~kF0oQMKX&d`lChH%yf&yQyk;LS;(#2S1~enk8`ic1~0f?kigBM6xac@9aqcjCs-ZIAiU&eKF2$oPriGw!#bQ z&4D3%#8~C~Y%>_>TR{M87;Xe=;bFT67NVsKyHPw)w)YBkRn^}+swC|8yX27T|&gPlc&n!FJ*&41hzR8X0aYJ-WOiyLDXJ0b}hI24EzWZ|E zZPwSqS=*K^>2b#7acW%h3c&Gm46wxD+YBdbB8`)v@@reeM%or?8|>@^}*4ZMGAX;%N66OGnGUDnT241k*iZ1fOFERvYI>=C~3A%uH zR!1%)2H_m59@O%3v-Xkqg70pO$4zG~a>f%}Sn=a~V{`@-yvM)r@BaXZf8sKsh{SJo z>kM^`Yss=;-8_3~C8@y~h#u)V-DVCQl=Gw1izS$>h>Pk|I$yoO8<79Ruv!D5mfc;R&3wYN20 z`D)#=Jw^jZBSG!YVMskT{8@QnltmF2YkX|H3p^#h;|6^*?<<;a7brG!!Jcb~lDAIt zV;3mGHF9oPD2m<5ab;$asG|!6W8Cn`JCQF}4!v4?usgmsSKa%=+}UU0q1^boSq z^*ina$YYUA*+jc}_GTgm#qctcVEkN55xZU8eb};@woWW_i++<9t0b$2{=)tE!i2Gt zHElq7UaZNvl32!$JB6+;J2F0Z%5nwz1oHy+@&~MfSVpd*5Fil6m^)_;!IjA7{b$=O zqy3oeZtj`hSamzRRs#D%D((_P$0uMUGlOnQk72L})I!8(AGn8XLBG2}&Tl5(gtzw~ zeEx%RdRQIp%48VkTYH;#IE~I+5&I+x82XDmy{8uBm$(CQi!A|un8&-&tbPxevD~`y zWX^y!!sBTs7<{Y(>L=?ahgSsV(0|uxh8&=#LgMuSxxr$>-%$A=cWt*Qp2@}K7TfWO z&D9WboK8BqoiVb2++Ka;^#tNF0{o!!so+hNf(D zH^3)VNA?qPmxD9jj7(2&QHwm6RuN+sFspO;x%nlPwJeVS4S++OB$ID5g~@E&+~m;Z z#Dy_WAjP>MGc4<7jfDsZQ9D($k+Q!w>u)x|vi1iP&X_ql#r?zM9|I2tD-sbo4nZf# zOF4d@0k)HFDhMNjJ!0Ay;G)%ur74(20vbog!$AZl*|J%UT}Od{oGmhd+ojEH{X_iL zG4;)V05V$U4U97h>ksQ0^`DPn>tlGz-ZJh;NP8mtB5x#F#K8fbiRAzW z70JCORvCx&l6Ag~@wO+7Eu>z>#alNpBS`L&Zp%+)_7YE5r6FDjwFDO}vPnDzs6#kV zoEg0v;be1(?igW|F%ZKIvhZTsRkf0|Ya=uaY)7a2)+aD2pwWVV5v-#~4>0 z4#=_-Zc%NJ0_C)Nc`dP@4rk3Sjfz%ZS7G3|TcFC$HaIiYPk&>yNn$6!Gif zVhh=NogulN)r{WQ?{3TC(W@p=I>ohO*Is-f;QUJc0u{Gu)-nPHdg@<#F%zwu^^mD2 z1;P#{Xs4-z!Cxe9qS=NoWy*#2SvM!RLTvR9(6hu2dIhk4aQ9~yr1zGmq)F2b!~^r6 zD^YrbwEKrzzK4lFq)e%Sdz#N_*?wgO-P%z12p z{{VKzwm`UUT$vQ9wrGVRtFz9lmt!uq2hG)S%tj$S2zn37$BU|!$36OO0FIjm%b{A) z*hI&D&)woX&JTAk_TeGt6DY6~2q5vmxO*e)fRI5U=bL4>Y#$jmirY-57a;&k`G-Mo zw$Bb2B=|Ij6CqB|m^-9|O_LDbF)ULTK;K@#Lz^L(8zC{V7}QLV*~6yf%5{1fa9ANd zCx$c*?07-cr`qqeKPp3}%fXqkl*qQ8-?zc$DyO+elA@8x+Gp@Xi}P|`D@NG_Y-0xl z`~{McaaxFG^0)5&ui67vTNodB4|orIAA9c09p!t=_n&DT>nb==>>xd%dq>X@0xjgFDN0t`3^U-2JW|;|3mi@WF=Oi-*+0=RDmQ<H2;cXy+l%*&>J0r%3xJG=@ngAifUY!)3q3U(|R2e4LUeF`e;qS7%Tk0dW>g zZj;#xAx{K&_}eVJg>yW35Hj|ekeB1R7%Jch0YNSz1dNSLgk+mUbUA7uQY7jkc9NxnVRg9Oi)EMVof z;qG9YZd^`zw4b&3Ees$=^d78*G7JzRXC{+uwi#d(pNnvrdpL{g$z))SnTai1oN+Nc zx%C3!;yvNn;=}SqW;NX>cOKvP_mG(%*xQB@4D+AdEh^txm4|yB1k|e_(R=8|qu}i+ z7wmy@J>qt@84V(zO&uGa!cKAtasItmTh^ znbo<}KL{^P=^IhHSxR&6CoXuDHFWwyu??faZ=j~zm&uR=xj4q%5sn0vTFioG8_}l| zrxPP!hY(I7K?sK3R1OLBP9bmsZRup_h4euBAiYE_#LR?T30CaA-(~m5&macbi@q3V zb(zmByoWZV?|n=!OkYqwq{uUFjib1YKmf%GGtO=jb29~pHcWhyJop#mS|;OeFK)LT zWk?WPz4ErFg*SzBFF#T&Pu0G(eA>4a0I|CyE3>D&7(MUXb#3%qNAb}Hvp{Ai{{W-p z-+e*Mt8OLO*LO(vuiqJ>ey*y29wmuQc}Sy)2@)vztq``7hOO}aeTjzB2~{PP!dm%& z48)G1O03&dC{NA3d%N`?0~qPF-9bRhcH_pO^cY^4KA4`-y{G5Q_n&KO>XP@nL&R}i zXva~)_lMh`mlxj0+CEf#YS$DdElp`nS{@g587`et?6)AD%R0Q>&{s|1Ixgm<#ob7+>J>z1pd7KHqJ{y*qEQOy1};~M#q0h-MPW+o!hr;t`pPc zhD<-0Ns$aoR6XUf4um{zeZ!?xb9m}pHj{tBV6txleTcvj0V%89tXtE<5Hw92q5(1> zAR{%1zCb^yYiA~ifDIXVN0Xu(>n5b-el`ZCfD;kniSI9rD{a!8A(O%WQoiUhApktY zPiuZCiw*r#D!KN3ZK8hmG6LO<`nreVB8pA&?R(WHT^kbz+^9Ol4( z9cWGmvdA6FAm~b;A+K!T9e#EoK>CJ9OyrHNP6E1Oz&GLhnEl*`%0SDVi7ee6Baa6} zU~vBcy67J}@+}Yi2~f1w+!K9BoV<4c6OvD)sK z$ZYrw3k#@!5%kIGCh!@TGp71i>9hEa?2R;=F}C8CiPqZ`us9ojW=`?FK@P(jiJLGp zPwFGXpAkAHf;j}q(8nn>4v?F|^_Xorv6}cjO+de^Ys8DEGtK`1@F(Pd%}DtwVCDR)f?chNJtx$hN~m#pwocw2$?BUPZ2j5re+0ns`j0qG#-GGx zoI{+KGmZ&P!q@r>Ab=TrXXy*tEC=hxF~{$~%2;<|?k|~9=3i(zE^f)9b+JDC0SM~p z^(P!$efSqx@sPIBt(2#^{9zi`HxnJk62{&q#Wcyc4nfn){87Q?~yD0Ce9xA0#Kh2Sy6 za8t+wyXRc6y`T{bbf{MePn{pMN#+G`LCnSeSH&xxmv@bj$hV8t$?W!GT*|R&S}~V< z6P8a9Onn7Z8&C8uR-`zzNCUy4v=FRCgVO@Vs<=ym;tB3nq)3n!DORJ<0!14<1ri7l zq*$>4fgr_$2kp!6|Nifscd|P>JNNGFo}9aLX1}@jej7^~iIXG}hrl~}8lsT1oQAIP zrR4{0DlqPiV6$>AH>+z~7gWInzMbb3ifXGy!ydnjZOYP|B!ineG5*-0w*h=R6({I6xj1{N z{sPl>NEE5$`z}!&%c9!F+NZQ3u*7qF>ITt>T$V;DSER`UI;j`i#WCn%W!h7-``#oTqJakM%@w!bKAV-;1@}YmNC}fkvf3+?h{)N7Cuc;GvLXe zRSt}e{T5L^_x=U2{I9N&tHvGS8&Y@IjA+7ri>u>a?nG7^R30^QdSXdju5k7I5tb+e zJ_{r6FOEH50XORQs>(>TaBV50V#@-&`b^6K%hAXByqV0h6)&@(QfWzAZ)NaKd4Q*D zNqROlw)WK11ee@S&tJB-qIlSLeJw) z-P?4}l?*B!om~TMDNS#%C^1FF*B&M9pP9&f$0&2V!Ft>GxX;Ee#QXcLU8d{$z~|b* zl(C!2Pv^pCIaM-qURNb50Ey>*dn)G&d!X#`!glpB2Ak@wqON~rc7J;v6xA{R$d)u< zoQL^qX{lFb4tx#H5K81P6Wy7Vdp|-p_l*&GN#rAh63WXY%KM%F$bQXS_P@X6!^$+a z2hbl)HBuxLsgLboJvQUaD%y@s24uZm)m#z$9q^bmTDgj*^e5apuQzWgdv*{CeJADu z|9B#3!J@+SWY*$Zr(@L+!7*VY;r?7<8j(oopznya=}YxB1{CeVoeSsn|qaUU!|3!@ZpXQ{b9c5ruR z^3I|481Pco=RGrcwRMrnC(?>yehSHXib$x1%iVk$xgmvGM zg@(-=(DT{}OyZM8p3Z@qX#QG3F&XTRs7$Hv8;etRVF z0m<`X&-+Ev^F^>{pI_oAcb^1%QuEtvM~DpR)r~QMr>W=Yq#&5)DQd3_sZwTxtO1RXs>pNJ%Q!&$)0BwkL|lc%1B;KBgb)Y z?Wamop2&4gRa`rMZ6Wmh>HH{S^m47HQ|PwYT*Tl>*_vJG`Q#L0(@qxQ(!>VG?8F@- zR!*whBes4u`vhKvb1%w~6n{tlww;`hJ&8L(tiT#*K-+-!j%<6?&U3q0Od>7s~c9qgYTvX+v*o#ybIO5W1n9jj|bpDlkH!IB_eMuX*UKS zN=xHXrecwc&Jvn`l;4N9*JKE)74QR`y*&+Mc;?&GZf*)LQxW;``LHLB0sSc0k1Xr9 za4RA_n0fHs%Oz#apH>?it6+ZDw8{ny9dGL@2RNTEX*oRG&nSARtb06rbNZ~kCz0<$ zsM62`myjtPe53Kpdd(K_YRjzZcht1Phi_@Wi>9tutIPhR*}(XaqC%|hki9JYkJx>f z^7DqV*?M8x+>!ie_vwZ8eTz5Fb+Tpj#c-;a#tPv~C#cB9Y}n7*!A7J*-QOj)c2R4Y zVDyt~U#2Iz{OC4L9$zYuWp)nRy6+HS4*?{gk34R^E$npTj$yZix=%vfuygTFt!@z(C$V}L z+$XlE{U-sNbnLnvEjhCb(MzHNdrphfc$V70UT^)%C80d|2&=p~1(z(DN1TE47e?Dg zb$?3O`Smt4J0b<^U_zk=*NY9E*b&XDKiI(ceP3gIZko<}(Yu7EuH^XYslrQS+ANb} zW*5UqiL1#L%y7|9&#ltJCiB4!GwmAgQJazFbmV$&=kd3C2bD074OIt)Yg)`69}5%TCiJuJe94{{c18zgJ%`tMZm3*SdkkUM1QyF*hJ zqzGyvA>6V)l6H@Dw9YND81l4P}u`gbi;o<9$oYQ$mIT!{WkTsFfVO)~mH%vXL2?aiK_DloPc%QJzQ) zrz5afa6|Q>jaL)#Wu*;KQ8D;4iw*C`OZG$IWUe4FFD9#hWK!i{c`ZIyM2m{vB_&NC z5W)+8QH~XUsU}+5+M#il3K86M8_4%_Qcu`%7E4s)Rh6uhsLL>90;qtMgM*6a>DJKP zL?&J2uN0kH;^Fj%;Y9StZy7m7>ayR*wjVa{El=AP_eKt1>w1*#?F3yWmQ0+hNxuto#bBm#NZ->Mo|zv$ey%&NN_ECgcc}#43|U;q z|FHV9_f|#$-p{m9V?nJ@l~`ag3fG>xxHHwRUyP6}JdO&Q1H4I|ot&mG!PK zv&obI^r%C>yDy>Sy=UpUop*&%8@)ZQ3n+6=nM;jJxaU2)y!-d=GcYK-9oomhsuI7i zjp?&KNd99*^kPEPluFyur=Y7LoX?EQI#`M<6kN^hncLjib2OEj3J0DZHM5Dm`>4+o zHrYuLnxq_ElV3Mnhp7yne)$Apb$ktZrQ}w`a*X2IRS`aYzvB%MEbMvRc{5IM+^erg zT)^q{h2vRzY{E&xirz7JZ%N^S%eKh&{TUwWC^IFwFZrt8Be_qjo$3Q@7Mbf7H(Ydx z;6%-u;)D4hbw)UnUv;PuwsfdI;xXFtLadax0-~6AMcqb$witGZGFAOXlle2$Yo4kO zh#~%rP*7(qxu>;{2iVcV)Hj~sC=x6xK_#cxZ z+1|Y$E@ZQ~q$7F5ibMhoPAycWC9Dpo&dfAE+*&!yG-t=~Z$eRl*Z-0AvPD#Hobyfe z)?8|@n~XXC@{$w*-!gD_clT-~Mo=&OBYQ*IW6uDG zUKh2*`bFrTS7}-LZkz-fBmU^muh$G=Sjpic={k1a&f&C4m2oGj#ysr>or7O7K35ml zwuJkFo3W`0E(7_c4xkrNvLH{BNj|DjhFw;TS^FMoO_Z!z#!Y%}9jWr>(KWw_XKG)8 zW$Szf>j%p{%eLnRPQ66T9>EJS0|YWoW-?q*friXu<%;?8PYO`-U>|8N>Y%t052~&ImUTT*sL^0PvmCOvi zmw6Ev`azvwh*F2B&!9#b;DhG@xewkcFG0&cUt2C8K^gRvZRdixY0f2uJVd z(T?JMYfH%bYJs3;ci^5lLk{P>y=`)a4YnTO+7Ema{I{-B2C>TeQKS9FG-^6p_6$A7p+wWH{x)I$_Q&HI zpF;T8$~--CdR+8@+`u4M6poG`B7Q!T*ObwQ<9pXgMew(pUF! zDoj=`4;|PxkQvnO1@F2Y!%7tS=E=6{1;=1O*Lto>KPRQT*gkslXCMfNe3>aQU^_aB zb7moNH%v!Tt4q)nY|+4KgDzNvhlHhx1_EcW5DB)k1* zD8rh;&w?@n?L(p;FHhfk=x)ZRuD5O4e74MTX(io1KT@|KrT!9-4m`7snv4)@2Vw^9*XD!2ujE3D8Yth|VJXekmskQR7;d?i%$i~Pd*Qu=-Ws==VO_H<8C9QGIUu!YKt5|tyxJIgikbS|=UNtq!g6#dW_8iZ`&K%0xVHvEF z__b|l1mh{npSXHJR9+LHv-E{B?^vP^wUAu$Hxha805@qMBkPEkKnwc`qWnQ8etj_H;ZSn?C!PCWEEmvEN0Db zwojuhxOFcv?i^MK%SbN<;er=+6Fe=^-+MD^6}Y3FzGyXBT~l@PZi-jdJ2vT)2%=Gv z=wZ~`AI_9E!3yLH-76NZqgkC(l+ob6>HW2MC5(TFzuZqLDYwGJC1$kOw+K{i7e{g= zEP7JYr9jh~m9i1Od0V#2&xssk;v7ENM`9)tpiQ8wbsb5rWo{4#V7cBZ$z?tuxT0`9 z-s`|OmN|bof@g??}hh^@C9HiSkWYl`OFkn=7lXDQMXkQ>TMq-w|C zCPasb#q>!4l*g39H6rFa8jp?O6MMJFdUjWBH4~#h!tEH)Rx!Ta-+4N&<im) zV=nf9idSijVn0ie!4zwZnZ7f|4`&a&A58QkBg}1Re?KX!5~`H2Qx4?77Lml{31ABcIr8I9MAiw)mwe}bL(+Ln;KQl&U?%j$ zW`vAt^?vpmuAABQ$0FfEIw2O5HomF=WAdW^AqkRxW%1qIJ=aadA-+}qW&6NSOzEa8 zlpWuRK}imG`hy??P-p6C>j6uYOM}t(K4DBcBvSu6?!G#k@H$8+0qE4^M^V-4#o(ME zso4@^KwNV#P$+q_L(p^*V5AwrtNPf6QzjO;nLk2_wThCP@V<^d5}Nn=0kAa( zWBlRtUyX~FjN8N#3faXA2gY<7U~*v7&e!A!o-BaBh~SggP~eJm;AO$rsW5vrxr=xO za`a!sR50b)>(-{jQglu{uMEtJCg8Yrp~(tja0DE2gHqjyj+WCVkzm>v@u zr)gqp2HL#{WqWtq1@OaW4^e3`18)p`Vu8+21s4IF4U~f%=S#ZV9;=gszY6C1y$TA|v}st( z6FnDgX6g=}e0cPp`Nhv48{KbGiX7kZUViUhBKhg|M$#%;#H#A_1h8*Q9OuBgNmDZ8 zV{DJ#8qX>lkIZb`ec9TFXEmx1LW{2~IRmFzW$$7u(~2+jZY#H>>eV84BP8dxelVun zysl7rj$_cxOhN{v0tFuk;wOxrPIb7(@IHIJ{VMS7w$=IU@!AP1)Ln;8Ea7h+3(Kib zF5mru?AE1~W$r$4ZSP_$;g-6^W|`$;V>=={$f}%T-dBN89d6eIzg_wAnJZ%_6h{2lw$b{>*KK~w`+ekcZZ_iZl44;ne zN1oSw5JOFVXpWr!K?4cXQnBohR!N+3jL_mxTx(7A)sr7dqhk%TLr+Rk{u=fy9y?Nc z6(zG}-k3jx?FX}WXf0CfsYRGG(_UfB@;_dY#rUfgFZBET_BnsH<6N!vC}?9uelw@b zSC~)$^LCVx-^L{Jczr*jqG>XUf9Bd(EU_#P8J5clm(KDN((J`IaS%&`fD(!>QwqPD5S+5T%N%?|a$v>O7+**y;sRPm=V z-dL_5M#IAurYXPS)>KLap80gWTiU7tjrWUQF9{z^d?>y^%02xW9M6yIER3bk}X z(iT7Q`fWZzw&R>pplT=^aM2ZA7$LG$FnjL;*lwU~RVEy>zwtOu1uZC@=?mQu_Yh%|oS}!(rDiufX#^okE$B z$~*id{;z@YOGjP#`b3v}kiJ5>TJ@`AR^#nl?yI%wxs=6l-PpITDxme7`U?&s3u9>R}H^{IJFC! zUvU1_eCkDV<7@2tbcg)GcWmN8MB@~q=iKKf;?H??%S06%IoO%OG<^VvZ-sqoxd+}*2+#ELBhRG34azuQrJC-KC3iy zB@LWEkNMlHNxHj_!XBZHOT#=%=sY~-5w{v8Ph=MHR$g8liCn8CR+lPJv!vOZ)+sc~gDcRS?8$!Xh@up8;79Prz#wts+O<;}vNNxg0hJ+H zPae{paws^ACA|L%bXDsmShLnCz5DE03V8&c8I%31(x)KuxA6xJ^UK*H-j-uw#lH2) zx`@BTGmeYBz0?yh4tb2I!K}lC`jseweVpXv$BM(B7CR+8m{n9S*F#*=iaP9Llw(wG z^LK>tV^zJX5{kWst@qFaSp6lU^*1e^}>5aWtTfB+nR z+NWX%z(+}5_!}?n7B!NRB`@5Sh@v4K6%BqZMiA9+E;+461XBaTeKMDLr;w>01FIxZ z?^XD#hO4%Wjip>G5t(2|`0v0qkp$0E0+Zp}L+#X;`bg=vv>8;Qg$;st~^xk zg-Rg5+4w5zm)dDP>p-Manu=qBQ$*t?$jXkH(a^@%bNzjfJkO{<1()eaj&d>1bnxl$ zjb0O&lekcI{JH1AtZKvRP2qsueWBBLY-(=_!Hju3+-jhYFIiofMDLVGShrj6MPDqp zze_29DctF+9BHajUAr?7UT4ZZo0s9~kbC1O@iD^?lcY^-j<(Ro374}9G(o2KO?7>* zhleYHlNFdFj%q6GjWJ2zd$5V4cHj^vxok0Jm&y#c#~kq}NzN8xvSp_vbH+Xp1-v)+ z#9u7(m?3pA$PTJzmC)2AWp+=lc$;^|0d!xQR9GloQ=ZA2Z`BOJ09O|Kzksci(3b?dVF!Y>e(I5n|q+!=h=mfKUbCKRqK)=oUO^K?AG+PesUKogDsdo6}bPTvoloXqIX>>b&N2e&^aDFr6!eF zhWR7#$sEih3KI9v+1LnuLk#sh@_ru|QdnuffwR=sn2kn*RnQEJA#TPvvIuLj{I?ucSOJ82A>>D|pvJ9UjR=GaI<*dO{zA)t#NRl6r zBS6fpVb#wRS!3YTmNkZPn;W-&H?><2Q6suh#*;SFN@ekJ)Izic10C5vb8^1RGqE+p zHB(=azivy3LlGIGcl?$ja)^4_LMl|TL50&_DD26DYS)DWnG$c$Mu1pn1`0-JiCo2LpLNjSt47r1$Uq@^p)i^2L3_CEk&zTW763 z11?t%$4pbxu5*g-vXKQSPMMM>_MelpCqkR3njbD3(DC_s_SQmZ%JuiV&ky5LV(c@x zDOt-{{VlqJ0gH+BWqGlZSr+cUBYyCCkKBfW#0b63EmHK3!v(&8#ydx`>7o1B2iGJg zJD#uFFlO?+)VX-ZIa3XJG(%Un%o8^*0a21tb))#b1poX5rXI_q`uym7<2p|R&5S)3Qx3lYd(Uh;FeZh^E8o7}3# z+}Uq-f8@490^haKRj=93!YR$g1?1X2@z#sXp1E*4P9pvFM&ws31V^xKUnz=1I?m7~ zg29_9eK!m%pHsq1t6=KhO{iv#V*2ZKq7dq*%r_&)?iou*qX?l2 z750b3erN;daQ*DJ`W_}S;^3_-R8brE0@KCrV;(7X)j@B-R7ZX5 zjljJf9a zT-F$_$EE))Um^Nl6JmfeC_3XzY)|HXyWomb)d{TX)jIQ$1r3+VRT;_bU_Ip$lJV8-XY`|}267a_MW zY;MC!&Hvd*MZ!bwep1T1ihx9|%PMQHw%K_p55z!{Na;5rnfC4Wb8Py(Bq!2$uRfDX zDD9W-Smkg^UUwJ_!astidjAYN+n&D4RHS_$c@%Ujaoxt>|8TmzUi?C!$%5o2h3;FN zsOjwKbH@Yx8VdsZwHpKL<F*sv3&WF!8Ui>h5Yp;7Rp8p3`X7|q&=*^wR zmU)cBw3ATDM}dHUWGK<-OFL-|$dA*Itt;++GqL1HT#i%q&aX~EhFs|Kji4yzv>L?j z?bay9WWD!2Jbes$(c6_WG~JM3{tE2^|CsEE>r)e}t2Dp`itWkr;GvCY$RhQI^?IGq zN2cX|YDKXh)J$`LyGd^^ly0W(?~b6v39S z&OTy`R<5C$U1I20hhf~r)P+>^l$#{C>ZzVQ$B#3yerjJ9cmHO?WDl3h0_W#LO-=gE z4u%c$Ra)})b>yi$`q|jItQAQ~wZNUgyRgU7Y3vj2#b6PwuN&?yPd=sGU99IU-PhkAk#19)i>8;&w2BdU{pyKsw}|O>92T zRH96ty_9b|X$?7?^VZr46Px*?u@oQY5Rjm9wrgTi3%=X?Memae^x3AXTkdVcA5C^- z@X*+Uoc?WKJp&WM1b2f!T9eG1g=0;CN!sQ{@&|rd?IpSaDS|CPz^h&A38Bmi=ibJN z^h0&{N$yqh7~P&acFy+(od9kXiJ8#{QLE^npezEmxj$@JG&ey&b3`xIk_26gB0)iM z)Wvv_fjZa>2M-qBNlxqDknS>LA%8V4WvxT3CB|l1@Ty;mHOx%iwxj#Az|&h_0JKis z;IYb_Vxds0h0(R`GgH26Ox^pHbr8K)ki%eVE|p=Ek{|!u^HWV)N2U5gn)7#0!yd2) zpB(IYHy=lx0!l10kMJR>_UGf#1?Raw8; zfF^&6E1gY1L9X+pJdv|gkd$;)lX|ZHelec+x@Kjh21b5lkx+_dwlfSd#+{HG;Si+} zZ%5Wi2+*%gae>gH)F3$|hxQKDTDT(hfyB}tE0%}Zmn@+Dk>{Xf*oLj6$j8f}u> z9)&zwdYf8&pU`EwCXbmo*31Sl7NWIWCbRQQL(B{>P*c&qQnU+Kth;l)O4>h{*I zHrnKWYc&#^`%XeIZz=DoB%gTp*vU`FIg)rCL#&^4;W@~0Nsn8l2|%w9#Zm@oByP#_ z;{Z=RV_kj}W6(M)wj6K;L+x3MRj1R*OH$hFCx@kr41BoOmKGn*@{q68Cv$8(&&Q^# z_>B*og=|7JF~SCb7yZu6fStd0a-C;W1hRc}SBHTfK7VwpSWR$p)t;epzxE&tJsa>Sp3ne{u=gL!Q=0;l@5XFv3ENx7D zy=1wl!nA1NFx%gXr{`j>#i4U+DT-LaKe8tou2l^-sPq>>W*ZnjW4G{G0TZ$E$E^OdOoi_B<2i$#K6H|=>8dJ^< znPjTrtCS>DA2Q7P4nb+%hE9Yq)a!rnt<#X&*foeBL|{t?Y|PXA@x!X`pWPC(g-ea) zQv7kJka*q-H>{QY*IZ9;Sg1v9dBlPIG3(f!o%R%+u!s}}Rmn#leu+%LuiM3#5UXNw z97oq8F@TwJ^?ISH3&xgz=;jCG`Q@z?2VBH}L#5aq5^q>bXx-&jU95>>6~l68%gL`1uoiIFw?Hb${h!mJ;l1m9{XR=REg7gzMUN*!_$rH3#tY0J_u@ z5^!V`TKqTMwG_u1JeL_@{{6@Ia!~iYfV@n)JulNrdkbZl|NP=;sb7eARvYM&Nc{0i zD@~`+*=9Ses-Fe#@>+bRf8uuY?M-8y#{GeP@p?SN?1{^I4HTlB8@yOzQk5k!&Y6mfPpi zZR$7iNb;bF^s=bt%=;f!dGWe%c@v|jpn6cy^ntr{$7GiLQj~KRSsh) z{*i&juh=3|@GVAP3DaQ%(PbY34n#WlRW-oFY}I{X3*sXKM9Zv)h0{0Y1cRrS^Y+TJ zSIpU8a&Po8B&0$zFoOB7*zrE>zH*c2vHAp?$BV9Ud$iQ^`%LNzruQ0%XPJN&U{b4z?)I+SfLU?m#Ut9bdqVKdCe!dGQ^)pd{Zy^Qfbdroa9&4IS)E-O- zT7cNNTSqj)rR@CCT54Um}F<++mv7T z4d@6jCm!WkVu$Qn#!Bi=qaO6FedID)0q{o{MZKK65pCM0!N5H`0AFSpNVy`pz%Jcj z=1bbrW($EPBFrg4Jlf>P5)#IjKL+Pj2u(R0M4%w$+=s1Lqb&3 zbr4=fTPgS+$O91nrqIqVLjg48LL)F9^8P^4$#cBI)WQP^rgTQAmD*CEo~qF*G5#Z4 z^u-5N#mz4ZVR)W12q4Xr!Ur7$FAH>N8hrb`Kl?oAPDZER=jXY!;NwpGwBqi`Pdj;g zgWzL2S#ha3T_+!}``1))J;hZJh*6XeM;2Ra`GdvE>U;6I!ojjZA#7EltI{u;$%X`% z!bG&MyDPMJ)0$8KRk#tILwrfP{MoGM^1%{}H&-Lxo78}?yd_>Wt02b(Q70Hpewd$nknqnTh_p3;B2mSL@CAc|G(R?zgdw~h}#?#pyC+j@tEag8IFAH7P}dT(cl>gt)@yy1|*AEEbu2 zMd#5ft6s4_?J+0M${G;2k6%AC1f zkwg(pH+pai8FW^ik>%-}-0_}hx-=iIcPTuXNWmBJ%=ZyPHIRO)CUMSr&{;PpEyqZy zi|n%$i~YVEu*Wp+x#Y`xWPVo;v_q2MYehb-o`m=NJ4bJtl)HC}ldwd6hOIxUdY6yX zqSk{w8K%%~wFCP8eONOtYcT;YPQK_L7e<`P-^IdX8Jh5&D3^HOH-=wlgUIPJ(4BMG zCR)c%QF~wF%ahs<^_=R*QK{T^1oc&JqhEW0b~LBM|H!`bhVT(#X(X5~(u7o|%_0*3y zHIp8O{(K4zBpaO0h{#DPbLl}CE9B}`V zkYpQk31-KKQ|Iq_gW{N3+;htbkx3nPUk4elfCWL+2vtkxOK2a?6`X-I^_N*J6cE}| z=3{IR$>`~FNf(*<>gMn>3_8<}_-M#>jo5eO6?bR!-b7tasr)+7wv9I{g+D*{I$CH% zjj>(i7endY`+G`;T^!tt80y7$3&@vnR;dI&sW@)mCHuM^1O9YTmF9E@rX3b4$GBBR zA;bOdc&5cKXc|2-@P+w26YasRA4aLXoKteA{AB%ehMu?Z>KUdX z9IQvpNsSt!ZYF7V##Fg4*eTx+>Drf$sZW(;LW<@9!ltw%!00UwWMCE4c`w}|r2Yv;fn4Rkq~OgwFZ2Wsjy-N4EKj^nrv=;R*KoRZq2 zBkbC_*5&MYGaL7}38V5lF$UKGpU$Y`@oEdTN%;ok5?S7}#4}_?`Q-)uBeV88m7jGb z?R{F9l2d!Pvo%efm{hwv3-Sl7GIRJg)jE6=>I0b ze-NEn3=dmQQ#oJs7WY&%-^(4h(@E_MVo0T27+`IbS)do|kNi`-9Tp>P+(so2iHmXY zHemHaS05-K?;zOcN}g$k1rZ!Ay69*SE7q^7cc`zuonv{Bv89}@;>)V~@;r{p$% z%%m1Jjsf?~7&M~XFnN0u*_WE`zUd6X<}n$RDmKwGKNwUj6e4D2PHD5BhehYpZo1Ks zU@Jcyj3&35#@m8ISVQ1r_q(?16oKaZC1eFzL*Aaj>73Wzw41ek=E>28vUuQvGn_bz zA#}1w%f0ImPuLezGloW6?_Mg9-r>Y>LD;rfMVYCnFN-eoC-2{Ld`}7j?mj<9oCde% zpJI}3d&km0QbNgO>Rj^p-S0mFPVR6&R8vhArRZLi1*uX6(LZLfAV?fVF+Ywi#Khf2 z(UwUz)ot}lqePA7<@NYK=1WN-@_K84OXRS@;SX2ii&&)tAbaxQ_J`w`kgRkP*_n6^ z68C^wKENjfVollMMF1<^bxG&edT7%wv$12tG5oe^R`iKOhE-lY!}BP8)$`WkkMZA+ z+t>hKY4lI(nk<8=lGGpve#oK&th6uHtcXdv0D*OD$CPHjk&yLs6=#OxdJ?3@)YEY*gfwZV-L7?sIq)+jG#nify+!uSwNk zz{1EALrXjoQPE*G<}`z_0Q`vW&@JO&)#fD!g)$3BOXgyyFBNm(;!&<#+(DMpwfd37 zyRt653eQl!HrJFuU(&wSZ*-OKmKRpF=lda(P<=~z{!1b}Y7NoOeq%||)AQmg?|3_Z zcphugQqasypQLTil0_)9n?iV72fi#t6kHz(Ik`@@dk6c>?eh)g`*946Rf8<4kJ5h+ zEz7EGPR$tr>u?^t`2$kmR+Z!6%r>91qLlT3TfRd6!YjO2(};-^soIE?Eo2?tMH$AT*-k;izStx6y$(0aE(h=3V9ht z!LCMr!Fe-M3#y9AL{`M*(y5Wf(v8sP2y$2^dRI<&Ju_^&T6_q~m)jO^G)GYFiQcdV zT_B$&;qRzP2!}Ko!Zt6?D|TuAHgSI7i(L-pO@_e(Xq~Q8AI2PPh#X(>rDP2qp&wsY zl~J>}v|}g(xQeGcbn*T!z`1x~sHdD2zr?Z@IzN126}T$?!Y;==)DRsft_0a8ga~19 z)4m*TL)64L4#>kfmt@7{=e>|PcKkjN3;?lZaRyQ86Cclg{v{e9Ozd9lsp_HfqU5D# zl?`69X(^#h>txMQ2j%`T(W~{50rE z8qZo2583hbdikU6CmwQd!NL3H*$1!g3de3_%)z<5a{hc7Pr}g1!8L*M3!*}=78?nq ze1A>wML1mJ@m#WUGxP8zs&Ko9{0ALbiF;E*9ZzB)g(V!UYyS|OilsPf^)1G|JIxAF z0aKEOQvtoSIh=AYvIi|`^{6&)<*(P z0j|t*iSaa$fy*g5#aKo7uOtvi0t1qY2u8+i@CSXvm+(xT?L6$8OtR;<7VH)|m5Qk^ z)<2f(?b3g5b4s6MFZS-UZ)nPnb~24A&SFwBgSPjB#k)|*vcOC16+G`QNEV7 zH!VsgPrG`)4WGa4yZqHiu#Z<($qXX$n_*mb0w0RpTlpKghFgsGkA&O^@AJMI=AKQv zTs}y59MIXz!mmP_U&laAU$V|3u}^Vrj)Q&xAxmabt4pOex2dq^*bnukiRaPh?Ui(!+2$pyLc`73C5zvB z*!3ed>FTpOh#Y(dtH{hMa6C1%S=VcQrE2i@t)rG1eXTmz90PO;%H4Q#bX3+%(D|%V z(h0?E#;^YCS8L-4gaA$(VI+w3ad9+|fcS7XOEVE+fM2Z!Gr-$QO5TTkvU4%7gwF7X z6_ZA6u2=Gk%RjR5}c3=5sU`LwQie)hp3Bfi0 zS>yk|;U!2Wop{(ok~VehF&`KSN~Ak>s@709byd7piOd5l^S?;9?|71K9)dYR0rb;ipO!<8Fp0k;@aN~~jc?o$?8 z8nmgo)mgLDk-_y?kZuJYE3}xQ5GwXybiL8z9*nlk?PMhh#{ClLAp8@W!DP=^(U&!k z?>V*-3OAIKRx>ZYTTqs^hoFC^y4BHAC$skPdJU*B_~(E{?H9s!Yq?@EbF|(UV^Jg- zhCf8-lM-B}3}>SjxIH$YF+M$t7M@$FO+EL|a%WxDjQhydr%SnNb4EdZ$_c?FJvTbl z`99DEJSm8)dk<#IuUMpNxpIy1H)OZ;^rJn0#Qmu*ekjtX?ga42B2~y(RS!;Co>3YK zPn;asn)NgczkW)QlR{3xf-WK)h` zEgtKIPy0=vJ-EZ_j$}f;FeSW!SG;?EcnRV2tY>(%clMv{dfKUXFKc6FC1`H)UUrdR zsO%M+Aa{-+ljCQ-U?)J>j`!1p%v09Rq7ZM-9CepGKaZCOczT++lmayn82Ez}`@Tv9 zi`q>69TMIY=uTv^UK;LGUq2vORoNl>+>A7~I&+YQ${^bREN_q040cVe`>)s|nQ`KJ zD#?Omx0~E_JQDVAWxfupb$q0p%?(R zYC_-DJ@I7q{ISvpZWZx8t3jtQ1RXJL$5_4G1u}bhfA~k%kt?nQz2mVB>mW?VdZ*Bb z0JlKdPgO6kmgUrI53|*7UoJRKI&NNG|BO(|HB7WaRsSEFzB8x^t&5gkBoK<1PC^q@ zI*}fVfD}PMy&_2OBAw6)9Vya5DbiF#^n&y%odf~~h)9RmH#r@4H@`R-N11PYnlH@ie2>qB__{qzR0=2Rgt;C_u&_)94OSVe{oPT zP?*&xj!sa0MXbkmF8m@idAbk%EmLwvo{75ma|#WuexaJe{ezF}Wyb+&2zzag6!}B$ zT#)p0bDqy;z6EB%hMB&B^5d#vB8MyF;hT`dZ6NSnhj4V|X)voI^tbW@^^{V7FIQiW zUg+6x{+i$YQ?fy#1zeB5uW95BtlHw29X`!#16)fpJ&C7Wb6)Xp&-Rj0!Mza}6Mn@+ zK7Zw75#~-o6EjjgC2LrY%P_pf5xdgwYSWP3E|<{@hYY`N9UdlwNROADFci$qWZ8S? z5U<>PEG*R1eZlto#v3TK%rfBkPMHv4{F%#|P$g{!>~X`No~;kR1tN&3a`&{(et2nzCY~*hMFZwyf4P2$eC!)~rdThx9v_&y#S?+dvx(8G zm>v=kKoTsiU+cmEIv8{c6(-DI9_29>2=icfgNk|t$4j}a-3phL(17iuDXpZdodaz{ zzZ^Ba+V%PcCr`%a^MzRQk}h>&w@4J%-FJH^rLQU8Nt^5mtk$Mr(LDh86V$E7Y7see zomXSXU}~=kQNHMsnMg+5bhOsJpDm}XK3m>w?a-L<6`C3rv~1eVCDj<& zy%0rnd*gPh?ESzP+{K}SRrkjT7Z?Ow&}BS?w@WaU{M;Jo`^Im9w@T z(+v~P2`BU`fJ*Jhb%=aVz0=}bHWiKSdygOtZI|U$3QjbmOf%dsfI=nJCj8ke>$<(` zZT!cZA-R1`562ikZR_L9@a@FCN|oeu$wmJ298rA+`VUso4g*e02Ate`O5|Ce9yDHW_WYJHa6zxLwKeNJYg9{leBui;O~9csfq21ABg zOOjj0u>*QER0IjVk2;uLgI?O5k->RwnS|jXxs>>m2cTVK*d<(%4&^aC1gKjKnn9oV zE{d1R(m5!I6CmuSL0Q*lgblIlag?K(%N)U3(ONi**Y4W@f!VgwPe0MI=!h!;{bWre zrCr-P7dw_m;#SAQ8~mp*!+@RIcGhc{4zllWB>`+8 zo2q;x>d1y&rKD$yrQk>>8d1)&og#>>Rh^Iw{Rg9(vfk2V!eauZ9OP9oF9UxIP7i-R zF~wk~EPA6*%!39E%P5XZWi3apB{S=+S(oBoaP%6m2l*uObVr7+Keub2DuT|Rw=PXZ z{h_N%walt^5le1*@3CV6kB2g`;7?VOij*#;rf{OEQ)&N<8_nhpRD@Yc*^QiM$Uevs z8z{Ue0~8?fT}YL+z;5btLvzd#`BJ;5cL5s%K;n8aTzhbY?`IHPcZT}@+tqxdaKC5nbKn3fKggIp!p>M={8zD zr&?6P=;s$Ew4fnf^1W4*b!jHWj&{BT!W1EIjZRCiszheHLYB2!ro@jURg z*P+|Chy;xq;efEbKNOIhv=VYPi~V}x8vl+-lQr7IZCb({ai&_70QXzoTy zc9v$8_+xn72&K6pK1Y&!qjr0!Y;qG(l!J1001nc^jZ3LQ!V_}QB!!k}lrr8$Ttm?g z!P+LY2W01+YLBb@NGiEus}vIxoGDi4#KWzEoq1c&!K8kwG3WNoy8~N0(_8hb%x6~= zy^Cx5?N5S(g>bo%TGd>_-$-=jf1s;0$@@BS--YQZ_mnZ1T{B)_6xZiOJHOJ#6P-b2 zk}y}huZ+)pPAL4G{ht(f+YLt(w6P)!)4v9_I-~uAD%qHV{aX28VUqmeN-2F#FKf{m zN1Nc0#U49veBBU}r4NqVe59&{A!v{}rtD6Ovg|%h$TN(QjJs0o#`G~An|Lf=+S~oQ zNlcG-w^qX>=0s9;V?%lvF3ofYi|)m$|0&ik7C95L_Q%j^j}x%6YpR8mdkB^1Twk;} zo>x)@hYJ}@&k|o^eDNQhutic{-_WJHVg<>Ys~1fb&C^n;LDVPbU0Kn~_4RzROB)ZL z)3}L^sx|Bz?_UMq5D)d6IB1=5`;al`7JuB_HY#Zn&tA z-7_}e8Wn=3BnAOpJ0nK~M{Ue6zgp)^Zb|fCRRPuA|ib*9Z zl8m*EyJXUVjLI&v`8qw?tfj&#I1+z}fRRGFV)>^RB>zDn2#MK2^`vEnx38h&D5fuPe}sI0h-?fM-VFIVf)kyM zhlI!1>ZBmQ)n(!vXS+4c*!)zO*@g+4h2I^}@PzFXYe|-egyM)Yefl!DCiNACo+3!h z`&LWq!VPABVlJy27U~0P;V#(n!r`${RM*Z2JD6=W;q_v+VJ3f@RA3ZaqxayFjy|27ys5d24rRe)LQFpqDHv~)6vfSVP|#VT zuCJ2wbC&KG8{W$(q-7KJ1(A~7_kOv9G7Vwmx7(-p9t&$Z0qXeb7w z*_(IX;VCMMK;Kg=Jq~B_1#%IW3E+-WsMi-Gywr`y;_la9zL~6E}B@jmqZpshIkGH@!6Z7 z`)R02=jhQa{_dTV*WoRvBJ-bF8ZJBFAs7HjBm70Kt!Tq2nh?b@{W3X@(LV}MFOlo< zFW1qmIvQi_V*0hJ*SDnbT>%qVpKYIxkJVOE@8pGiXsp(im0BI90OhE?qsM7LkclG> zcA{Q0cbJTN?sLc}*Sp|E@}+0@5Co^5SbO4eK<}LjQ(cYAi-sYSfRZ7Oil!M(VB?d# zlvY2nqqrQ6_;zKB1(Z4J)_9Mk%Dm1n2Y44cRJT-+;al~WV%ATgxPD;N_MK(tDA0A%XiziW+Kf1!6p0bYVlM5+pk*LCxRRRb(%@*P(`LATIONi+0{D^_2!lb=fzNpHBpW@zJT6!-k zYNWQHYy)TgqZS69X4OsYecgc3Y;+hkN*bFl1Ri^})xx@>%6it&w-;0HG5=_ckyr|a zTgEX{FBut^hTqkET$g>ttt|xqGaOsNl=VgLdHleR)WT!_gYYZs&tIlR*CwtBYso){ zK?lQp1ISmDOD*(`Y~%hq!c@=Z!LTIWEWtw{DEPM}QZH!8QY9&}J0S#pr3d~)7C4xP zND@m^7B0aFQT;YWFF~|{LEBYgRZ^axuid_0arrBi-@^K zc|>3wjs#0}ShiIBu~H}P2O{uWfFxYqLd13Qc=~gf2$qQ;5vgWd>em~A!WbSJZTeIZ zT_|tJ9P!hMUu@J8s@BT%nvZN%=zRWl>&$W?c85%kP@%IKhCVtL?o=3<>$x|+q^A*=T=YD{@&0z9PRm4o zSk1SLDLO-Yhxez-V3&_aKOd+ss(GW$AEIH^uTz7iN@ST=d3{n1-7i#I{v;f5mMd&p zCm(@of-|}w_i;a3d=jH}nUyFsb>5buPg|tzchEe%>3J2aYMuJawM+P;ogtRM6xRB+ zPXo@5yC0yHuzfd!wY4ENqFJ`y287dL5l7xitWxLv{M@h%$Aw)#lt-s~USl_{`FP~c zGrp#~(u0_M#+G;N|DkWY|(F8Fvo3Iz**M_8CTD2T*lQL3NXmpzgS>)-d&1|lo^m`{v4CC8gA zv=mI1rx@|}gCJ^y#a`z(s@Rkq-_V=hCIMkdROdy5R522jd$U|DkAg0BJT&m;0AP^v zD2^Kto`=o|GTU8V;RiYiEe!T3FcovJ8r6gcQbr%Oaz$S9s5Wl?vQs41i*s%yayo8w z4ffB??<{Q<%rER(lL{)ClGbxR6C!6Ei}h=*NZW)662Q^y^3YMAl7IOg)96DNYwFh23xa2{R!09x_WE5u5q(@D)SU|~J zsxG@(a3*iG)le5r=Ne1_yiIYH`>z`-BScdown-{$=!V&?91sY!7LN*c{UkTgy8W|F zMf7ehrd^N4Hl&qewn0F%&J7pxm%_4p(I)DvCUWdA1y~b6yza&=o5q|10WY21$iWTq zQ3aQW`-__0l2P^RSE2AV+zAH9mlvm*oNwu>!7O&8*V5B1$!mX41Pw_#)HOs}UU(}d z4Ous62Zv9E>8IB300G22(NQy@ORXqqa(w*oa7j4A(0D*Y=~BH~KRxR-0Gcq%3`6n+ zB^e?lR80y+t`r%w<$UJHR7#b9TH9yO#FpzV4C@{U#!VP__Bh(m1hj{~^nDk9$rL3l zRm!&(Gmg~c0-EVR*!{1U^FQbolP*ip7=nDR-x+U$V zS+KJDNG?2r2@mR@&Zh?@=>fn(=LwIi zopmF%ePG!RNjOF6l$vHMdsQR78b#nTsZ~uCw3`rCm1i7f99OEyUyJxg!4QtfrxYdp z@y2`=mU2%|BY3ND;92e0HAM^C*YK1kr3tq!Pb?RhT%?-=#~JrU8Snm+Dm2c|?>ocO z*(?jtg=QYzS&S1ErMAs)12P+>xXv~WGMF(eoHosSSCy?03ps?)AqfN7pEf1!SD8HP zhub`@YvjMTgXk4H_8T`|<_eJuV#w2b9K$qMF$9or2rOQ+<2Xon{qeH)AuhL|$2j?; zJuzo2m%k+Sh`t$IhRUnEFRr2`XbMDYp1~7X-X#BNv&+|P7^wbVNa+8 zKuEV=-7cJg&+zlJwQs;|wkDI-Ex0+?^G>DntcsHp4d&0IR}N>%B?01b;_;skeEDgE zMZ4!9xWqfm6|UH-nqN4EP4Smm$4dkBH^LlW3VS2)uB?2`tn~U`g~1;;ViN>1zCwzt zmM4ZffBMga2l(wdyUh(& zrHrC}i*j~ZJwn)oHc%UveP|SlUVag1PD+#2O<9`W<1j1{kzcv`w=QU(qhp`(pALC_DHiuv-JGY_4(#i)SF|}<>FD4IQT7j zHKKF|6?c6vn<5ho=r=ZN@2 zonlDx-h?c*JXuXj5vrG}0w^5z)CJXgaAh1^uLVD5zmKne!toLiej+%&OQmk9=baqr z%l0{6Z0VVHzmuCLUX#)@@6jZf)sLMmF=>qU_pR`k+wkY(&ZvC7UGV`fCd1+JH9tz< zOX(*V8C-iUz_E8j8rxz@e_>~>h;{5_QBYiIDf|cjBvCwA>3k4*C)lv)2Q=+$B z#e^mMeDm#BoXlS_KgFLxblHw6;~5JqiV|~QwQ42SrSfWQj4~DVjpWokuI>GmrGTFB z(f0diQ*stxY9uTV4P!^p|GHn{*8O!s)4Elhpgw>*I+}Bdtf?h6Up~8c5*8QRPu-}K zc3Z=_l8$c0M9b*@fXjev$Be;=(M3rGH3;9s%9OtB!cuO&Wg3iqeMYmX`}~>2MPug% z{yp~eIVUWJP!>MF2pT8CHMHf@8uzQ}yy)dFw2HBpG?LAWUWKjuEap217p2$bNo{$7 zqXR`9tS>= z9M=#+sy39if0gJ+p#r|7;C#sQ4_`UT>vD|dON!jD{>)lzi>Y?Pcc{B@XyX}Xi*Nt_Bh1>?2ly+g< z3upah=YjN>)5pZp4AYJ7c^kVLagwwq^|k3aI4@(k%;^4G(vCj)A|X%LB*LR2IZzj; zc3b;V;yJi_bkBfPmwt~_dr#kai)vT0XkP&=ppB=49;B4K?CbBVTsv6rn8#BP^ru_% zSH_>YL%7(C?($ZYter_c{r2R`XGL| zq`|(RteHz<6=8W`rITWFiWI$qY7;hB57=THI_MvSS%6P6-QEv>8%uTa1g!Q%y z7_wr;Rs7z6^0{{BF|SC7jB5c0<(}d^!4mwO>_F2Zb)UCzAr=FkU4LxAGE`fu&5slK2NPhOH6D2}niM|iez!7TWNuf@Sni3bIXb&VibY_U zV;SzZK=bvDTZ{li#>$8~E85)ERz#0H0wBxR5w&hX^Z_p*C{AT>x)7991(}jhhwEVJ zRPbVTbnui0q||qQ{OHemN?YIPo%N6E7mw@%dSPD}mYY+9iF|I));u5S&hvXnp%*LT zKnDOn*kS>Fy((xGYO|*CX%p%e-_-taBG7x)*uzR9s`?ydjIh5*CYh{QiUBdTh*JT^MM{h^W`&QCho^0RH~H z0yB>7Wa{W+Pkl<3E3hN~gZb+2=h9!+9OU;Je{`;`B1BjGGTvfaOy9;+_U8DKt#ORf zskmk6i!8;vs9X#?IhFKH!<}FkO4Ksnn`G5x6Mpds{GcdeD&I)H&vS!N(*`tsj1s2o z$zJ>%Bt<#c+f>G5>U*A2w9g{^XC3va1L%*pamJ|AXlAU9pF3SumK}rf>TG{0l-iHa zEHg@}pY-kqCc-Wwwf|h1uFExSG~19Ou0u&{sSU#?*MBL1C*C#Fxy}bAplMU46@XKe zJDl@rO7v&rB@K!7_i%%2snZmmSmKfc?gsv@ioI{rtquX}P*+cp`>jsXgg=`<(DK&0 zo+N*4i&TNwY^s5XXbzbOKtmxD!$ahfL$)43RkBU@^MrYDe3#i zOx$r5^3gEn#2ZP4`M~&A$C}6o@zRfKc!qVO0AGkN6(>ycHgRqB1Cr_|LE0@XE1QD{ z^B>!wrYfzrB?1P5+#eiJOs-V2Ox!kQZA-sR>jT460j$9J;Tvo$BWtEeBtT`6ReDsF`(BEG=TD8lgQlHqHZ#1gBI%v3X2%E9zcUK=nnR_Jf_Rq_X zrb?t$_lO@^be7dEx!H(34^kH zLU6(btyXZX(@XeBzvszfPkt^^o5I-*CF_}>&cnlJ z7#{qRwft=TzG!KJC8^7ecJAe03bTH}R4yTYid((=CKtZ(Ite+%`(Lz8-$k1h@9d|W zoLeL*yI$#`w0@%M2VG+sUvDYV$oR4aCKm7Wi4aByI5xpZsn+kWheO_>V@=HY{8XY@T<&{Wg;EA=TO2A%jBg1{+np9qJWAPaY%iT&0O@xWF{@FBpZ z(qMh+G4V6Vr9~7RKR@nXO9Rp!29(Cg%B_8KL(oMVxyF9en-U(&cQ%Tv9K2VtB|>` z0tAMB>L%05XEo<;cc)Y{g8$o2{|BAqCz5J88g8Mi4hX6r==xm3j6LNKM)hByO<&3G z8K_Y6X);?}nS5Z0+Ijb*(|hXKb3ddTi~nWcFilM~57NHhIHw%9x-4qF$x=m7O(deS z>NbM7Xz+x%Z&KT&Q}@z@kVUCOJsH0o_Fng*{k%eT3p`QU)p+7M`^L7ky-8P2#67`p z)L2hT`sY@@q7dJ$$sWaL!>Zx^!aX))j5p}2LaD!|Qnr8Ml3NO>ski-SPu-ZW&u;6C z?5e)F(?YH`#Ch4ZYt%M`iH#+&z9)h)(km*+#1qvSy)1L=!AVqalj_S&*F)YUDm%(* zVD7}i)Gs5|ZM7sOTtR{iNs~WUt;g3rJg#Z}-)%>(K-~2m{|26nxQuSTC*f`3@8g

s(Pw{4NEN+MNot%L(Ta_0Mzrfp<-O?4C9AXYpjd)mcFN>A}t>9T=>8 zNtKpK{WV-zdL@Nn;e8iDWT(pwQX61`_BmElW8Mz$P8f97`r+Ezp0e)13yK|hW;ZJr zvx_mdCZosKv1nd3DZClbn&fOz&@HAhWF#&SKQY!#vgV#QquA)<-pI&uwCL2p{kMKm z=HUH)Mk(KEzVP|0Id&oq1oJt}^L~|x8?{YXn~8Ofe6Ho_3t##Bc;+@hb10Fr@8crP zd+GsszVz0hY}8UYi_KH3FniDUTWJ)e-`gMmuXx$9NN@5h(+zYZ&mU067>&OaY*_(ktSiLVGx*HqU^qo63&jZ%)*)z&UT+4K{Ha zI`=Hd-zE{x!rC<-U5|{P|E1vA%sAvd^2~6!4AJa?toQYWZxzQbEi4563(k56uJ*MQ z;3#*ip)zj3g+wVnW4G(^T~%9T@PX(1C#$5ED5{ZXCYaK z`S^(Lx^DSmhig9P{r~zTAdX3Ex!$gDyKdCUB0Tc9kcpYdiDi)_RgdBO>3*E2ej%3( zgN2td3$|&s`(X`OZm}<47Dd?2Mr_oEAf(Bt^2g zR@Y(qM~8{CoSva*!$71D_b=IZT;v9I$hEv-F9y`cAQH!&81qYs@~qyFS%k_;=`c*E z{M6waWsY`Mwo4hHZwL= zGMv_TKVaT5EQ>OpoR*{xP8Ocvy%tT>O&$-7**Ebht0TXSHv^>?xtb0L`n1(-z6=|C zV3E82D!O0iJ_J}azhM=uv?^aO(Ozquq%T&sppJ`McnGFy63DgaO&IEfYL!$0EN!0E z8m7W-SvfYhczsA>`YI+A%&E?Zdx|u(InG94MymHCMEUdKSI+2sh`;d6^jL=T4==`X zoM6xcarq%>sr}};h-Pn=st8N$^sU?j`B*%@KYlPjfEZ-RIZc~{(qL`S>cW6oQaCBGK+=pL@dt& zs)fOd<@Js#*GFM>Ro#19t%}H151^LH(BZ3i+pNLcm{sLbD0{4`p55(Rkp#SO?vAc3|r;*UX#+AOSHRzMCylW|a zRkiF_1!Y2RL`pH-*?&M(;?pZ-vyCPSs|{J>nET&+>(d^scD+3;tgOwLtWclUL-9O_ zWhKK4lDs_g1t$=(e|hnj;`xQt_<6?uLOyvP_dgmp?SQD0LAvvCiHWG#+33st7+d<~ z_|p5eG41u_q&5F*)w|MZTMqwB!fO+Yoex(zKCwUl?A=p3vCC4m&v1{EKHY+z_AiAz zuyX*hUCv8Y_0+C1cQM)T)j1O@A_X4kUv=L8V~3cro2sqs8p5pPLejqk{O|6hjL@t> zKr2duXcY~-e$Fwk&WC2@DVY_@-TE!ff%8~`u+{U4ylbKP<%5{eSFqy)2PiPbAF8d) z|K1ZoAViA-19fM8F%;-K#;(ndKlyMdoMcXK0a=#mRWvIq{s7@Gl+JGK7$TlXI@S>rk0zAF^M*@p%)1$Pn~bw&<|_m9-$r z#VL0SUet1@f7Fkat=Az&e90tGNI#h9qR6GIgLNk-^fi5?(A(E`H}VpS(68W({3NY3 zvZ)*O^bqZn{gdBkcbESYEIxCyKkJ>ZkKQp5ASxPXOED{!>t5}x)pM>sjuF7Yef8=_8!>JVNC=8+e!j7Hb? z9HbI#P{BP1^$NHYxU0e0)Z!J_Q247)k=@jTINgs&K(8d6Z56WzfV(v;&V)!~C*YL_ z)C}(CYY|W0Ao_n^V|sd$uk{R%F^A}Ch}w*J{tGQOSl)g12;dsetRYBseyX7`wCO)# zhR*gcAt!HHVWp}M{XnG>Fl?a%J}5)Usn%q`N||}=$;+8Sk;H|E)4*e<`!fg)oY{i+ z3GEEEr7Qo@!Z$ll+Ur~{7Bm>thck$8+PO5o%YQ}5j*2KyQqED)>dH(dPnpn-Ejc)yXi zbs^#c#9q0;Z0~r+v>q%vBYn16VyXA?&yRMu6$`WCbrh>#(Dn zO}sV5-j#Wz&0^(M^VU^VQis??J9>cf4xgo;u4>??W%u2gZyZ9ZA(+D!-@{PJ8;oUK@jZBuJuVK6fF z$b0t2iAJjOjkd=>oFedtlELdPJl(;m&l1>`VKL{L0xg$1Yp0~B=6SnHXu}#*W~@P{ zYN=R^xcsW)`I64k?CVxz$6-rPy`OB>7)k4X1W2I|=%FtLkeBv;S`Qz+YfWPL&_4h4 zHv>FA1YRWN>RF%1?x|g(wQtKv7C^gv&ekt1LoQoelRw928)J|ONRsxIyO}rO$9~D) z*8&A@HL1h`5p%Ou>y=xUvgxaHXKw|l=KWcn!B3iJJayImc#Ru(C49geK1(Z`_cwVZ zsW$fC&ZlOQRg)$C4>|UN>0!i?Y8WT~z?wY!K$%GNs7O*WkA1u|2QKbz{3N}mUxKo} zcXoPO()1knH2V)Lp|^p)$wPyG_-t)jkk2@$Z0NL;f-JZAk6cfAQoXI^DG()a!5#E8 zr@H7G8=}yV7n?bspQCsOP&lmB`D;$huU$y8mEhw2*txL$R4tgTq*|Z)N-}`*Gi|8# zpUg1NXeP!1d7V^sj7lM}C{r2b2UVY*B#20RwL)*_;NT`coP`2&!Qakx)Gd*%J1qmo z?3Q6ob1qBg9ihwUts-x$+N`t<4}92`jIAWoCueW%yT++Sq{Fa$^*+rpa9FG4NV0e; zBSJ|9gUH{1w5nPsdshYcsqg4{-#9oTUhqG)35oS6e{nNw6S7UN1u@rM@|{^AbBV$H z18ySFecvLM%1`i2C>2qFh(}Aqi%qFhaQR_xTvy?`AHq3f_U6-r(SbaN{4CvCk=&@9 z{2Rwg;&~!K8^lD+F<-Tf^{K6f)4O6@bgIiHayz*6=}1~kn9|*_fhV!+{hW z8JS>hWD>MJr|}~$WlubMkLJX{@oGRMRdAz=U%}RZzlbqO0ed27uC>(V&oes3^A%@1 z*3m5=Ui#peROs(lv(mhiM0;EqyHfOeZcxm{CW6zBi~d$B_wK?MNaO45OCKv--L2p9;Pty-_bj1 zGK?_Ebf)jQnahtJ>laU|*{YbdBj>ssOV)x1oO%1m`?CT|BWkxd+{5kcxFo6i+Ji4| zUDM@g)r=ECf$jCK;@MZT0hVpEVb7gdLKC5W5&!h);^op_{EB#JowAuxb(omyUvA`W zX{jV(IX6L=tjVC_5n(IgA!Exk*U<|fTW{cV+O84hVJ6Gw=W%a={l`{Pri_OI3|&H` z((X{Ww;lc5q;0cyzk`li$v} zR23KUME8P-CNR(3r7rbxWJ7SZtb9ETTM)2Mr}35_a43&ij2%`MMvxlkSXYK4GW`9g z^Fc)w{vQPrg6a6sSp^;$b;lIq`b*;~MOi#nVa}HZwJNbnODuA=+DiO>X>C7;`B6{< zSdj`dl5f(F9G$KoguFjZoum?I0v$Y{9JBF z@nW($FI0mVGwXUr2q`fbn&F_lTWMIb7#4FSah30T6_s*~I@8E3zu>m>11%|u!%1?b z);$mX7wN#&NhK9_0_u9vkl zcL1+}nG+8aimzxYzVXmyYCe>O!KEs@!k>tBm0hrK><(U1g=_fO&bE?&+|7lIyS#&w zG7h2AAtSgr94k<9)O^cp)_2iof3I{Ae?9-d$0*yTy&RgXfNQqY2yHN~XX}+oBMW{c z6YwkE8U}x0P5p|wf2w?5CepMvf8TEVJ|LC&Ri7b|x!M}T$Pwo}^%@J>So# zD29YMhtLT6Mla#sQs+3ovYZ}ti&wBxq6M+}#xs#UjyA$5;jL}gb5tSzRjf8UqZcno zqRP%U0~DF=7o}Ed7(tQh@;V}y`FbOIzsrlz2Quy4nF*!6DgL9Y=?n_PJgtRlBg>-q zO!Nz_CVu-Y-Msx|1@rn1sqr|1E3(?QX1a#}4a-?NciOtM>9A?MIX!uVjtD8CyGV>H ztxWI};8SNv`oPJEPG(GU25}UJb)~Eq9kmvV&~~6#QStpS+Eq4gGLLu8KD{BDfku(x z2X^t0!iPm}!QUiZSTy-Jj62=*QCwH&%xnHelZFTb&`b(1PuFTwHBvXX!i++h+9B`T zD#OT1&clmckgoqlv?_DazdXXi;etUwQj#&W*!}(z9&mlYZD3ZQYDZ03pUE27gSeow z=Y)G9+PhRu_#M`Gmv6~@I_Fg5>Eo40sW8AGisJSGq&fAh_5FH@{k<3C(5~SKRIQ65QlAzebw`Netq>gZYfk1K~#jGleX08`~=W zd*}JQGi+l{W0Up5{tG&mTrD>%yw|RV*@KA=-W&xe`rL>^AxMP3K?N0$Kq_uSnksT7 zE`se_bAd`)p0^*cS~Hn&rT3R2@JF}Zl8xr77D##sw1#XVcI-}pL$RKmQYKEavw zDON0b_JX$dD0_CFWvo(gDxS<<9h%meQt<<`++;TYQv3(F(3?AQ(xKm-1e;+(4L#53 zew~f9080Ru>8NAMk_>q-^-Q{ZY#N4b^T(GFFM<{Uj>Ut;lBIKQoY8&s+)*tE(dp6$ zDIG=fbdY<@POs_%^oxt9@7EA6ndUAoHUIp8uPx7P3(iaBc{RJ_E+1~9(tC`^(p9|Y zm%9tl8vf$En}_>piY8#GY<()+{v%vD8V9qbTQ3@N&B4Vbg~0MdB+HxUTVUwD z#F!7@JCUDWvu0}x-{stf$s-D1ihBZ6wlY4Kreu5-Y9KlsGnb|ub(>P*jvY}*aEd0| zQ4EnlM>;C{!`k&3ZaPJeT?#hPp&FJALGMZyvyrM*ZG%hT`*o$rCbA;g|^n>dCC(>$)+1vRUy)-IVCl=bW@n$ zGMI^cOra^s13TgxI)g)MHj-9lqv}o!r-_P*H*#~cA2uQT=Mn3zj>Cd#S zvHO6|UoD(ihG0A!ViAI_Z7Cl|wrqeN@83H&=`>U~jL>D=MD=H+aQeGJD#`yzWZtyO z@vUQeB$&&)y4b|_d&CPLj#9IX=QmxJR-BT&;ILPwDLB4OrOk(dQv`im5il<=%8 zOM~2FvW)&l|1MiHjyT!B)wm`?*;yvSCY0y|{%U-K5Q{QOkRO#pE}GNOe)JLk!;5Eu z0KA)j?M?NnU**DU)lF}BtLJHf0hBdQEIMz~Zg`|>GiKy`Rol7*kvE$mZM4NTAxE~4 zR0gJPIjFjW=cC&AOG`j@?iA_aep}88Q{QRCT zNYd@+W@|%-DjLW)?3Y#x33NqX*v{4~OPkCUXZjm8NWyz%*IS%JI)^e!dn{HGdo>dy z>TU2=&w97jx`zEsOel;eDZ0va>LuRyR>rdvT~LRUBX{s zU-2AaaAR0_>f!QxQzZAb=l9T|oSdHnJqy&%i%!pxi1#5HLncD4hW_O7@~u{*ApP%)y;=-^kooC^{%rs?e4Bx=YAsRM; z1L=o~F&31p-75j18#8BDnCR|Vw*Zq4&z=qcC?bB5uh(9JTLxH|`p5nIMOB~?G;Xp z5m|nZ=L(gxjM_eiziV%WKh(dy$W6-brv@!24%M?kRg#n&6J-+BgzUM2yxOp+I12h_c`~ zRse?OnAn{COL6kMPx@PnT~b2v$YA4Y7&nVCAv*ZVn(_*bX#*6MM_*Y85W~_Kxkr43 zTOHMdTv~!|$Ez;!h8+YfM7P7VO?>1=SUxa&Qx4~MrgFntciHAf@<3|)c@VM$Vwxvy=^l%*D_Ik z8R`{R;jgTL3_C&z%(iM_OT^j=sls=?yuI^hLnQsj#)$6ky=r)D%UJ(uR=QGyfoEAe za;ipZu11Omw=I>b?TZ)mEea{^y=VIFygxW)r>B>gaKm)vMk) zPbqAhgXldVx8PBF4-c7BLyp1Bj@02k%|gg|UDZV8_fWB9%2O6W>N3a_kw=!IeeWE# zcHMM6`Tv>H8?6dIdi32Z+cB+=dDV0L`F6m%4!OcK5S_yf(G^W5$35Dd+K$s0%`f@_ zS5#IqADy57MnAe959_KpvOCfD!R}qvEVECZzXbtz%^KE;>^)c5#L+*d(SNSj-=Qz0 zbwYo_rfDFrz(8-75KwtW zNq9M9nGM^zGN3{{cHuzAE+VjAI6s#>0nBqE(lQ7u-Tt5ANGfCv=fd}YXnO0oru*;z ze=uMmF+vF$U3v+lyCejZRIW=>!jV!NBSv>!G$@@(j)LjhASImvo@*1i@A>XwYv zFspT8IikjFNw+pNSVHP2o-%jf+;iJyY*5vC=m_uhO23>n`I>0IHzbt_3YA_dvzB_6 zj<5az%Jcx2+;*S4>xJX+JL?iUht_lgz-4$Sdb@w|<lF*zuT5WP44Nu$`Dd<{-35=s&|#Ol zcIY8cY&hNX_VGqc2T67_w1qv!RYex#5IBrnDT(m2e)fB*YH1YrRVey0TT`HG;4U>`0 z9(Ars&u{Z)MzmBa-bCOE@XNf*YN6uiFM;L9+sgWV7_RJ<^Ysju#QIU4oSvczO0(`s z`l}{!=SElt(m@;O$>p8R;?$QMD3IEqkV7W9p? ze^}UJ27;uD)o*RZUiZGJ3rKPxB&TKFb1VrI0Q=jdIcZ&B>QxD9oQ}t-F3Qb1_<6*ZOkKy8U9hCC%bcMHtpPplV@%S78j`aDBZEcAEQ@o zlO(=ENWBuiGr2MT10eDR!K<)apz&(=l(kb;U%(TAhWuKnTJ-PE)4+v7Hii6OgXO9} zj&6IzY`|*Jxi}bR7Rp+``1)qUHeyZq+Jel2X*C3$dTiSjBs*^MEU@?PxFhqd-byKG z5s7V7K8iFY%>U=^ui&1yAcui^9o?Z~)ixsFJkcT7H{gHjOhH8k!Hv6Q*nP7ZG0vwjuGdOUvp?L`f1JSQ>NzTM{7{xblD^)RDy%B| ziQ-EW>VdZd7I`xF1C=2x8(h z$ajlzdj$OszA1={KrDjGqnz4E8x}{E?hsJP8~3_RkU59DGOU z^-)R0z1~1)R_-dxw|qa}U6omeW#nL!>(VJbZ-D!xTviHYrHI3tk&8b7yXh~;k(uoy zV=N#1DmKNd5~?B)vqk-Wix)TIwgg{_Nig?`-p{olBGp@gH{o|?%G?)rbZUI?iFmj? zY}*KP&ELZ{;9eAE%Wz7jE#L5f=1L~o=f{b}V=P?xH>m;D0aU}ua?y|vIn;NQs};@1 z;=b0lQt^6B9uE7C=bDej=E%|L8ZYf!AW~d4_dDg!g^`+P;9M>iNlP~h{{CfcqB974 zdItl|M>{3B&?zRfxt@2&RR_Fpf5Ju%dUOSR^0nO z3)!1l%m}WDD08SSohGl}^&3gfdMn=_)uN5Pj5XYGQMp!k0FcLbi{D4>j&m<&O@ooS zR(JX=@g&&!xSy6cjj=AL>K{YMXMFShlrHk^%Au=tFb;#sX$g*dJd3>;W#zkJ!^REC z5Ww)Z;~mQeA&M|b#1Gs$s&)kA9uxRR4pLzd9&uZmI83ontjgp1c%{-zBukUf#h6mE z+w=vb6^!;)a(Wolz<1fVU0Ac)Hsorp3thymtBf2PaxKiI$KN))3|MHryepUme}zG{ zS4I6uSF(GknAic=v2jl_YeLdsY&C3SylYFOKZ4rg>5vp55dk3~F*hcLJ4Yc8px;;A zj%qwZY#oj}3==bEbI1|(sZE#DS)xPr$&CIIL1f~AL5^ki+mNg5Rk*ig2G<`NjEC3acPagH{%oiJiJ=wRVAjbXZ;EVy0 zMbE`omwq0C9TVI%TWOMwYXiPDB@qffQC*+)sN^c+pN4CPZL2F*k?`0$q>()20=owH z)vq6fxg{VxRmyIB9ed-FN$^RJ#bX5aVL|dd_8SYo5twRJ#G6m6@AJwpkPkvAxA>0E zsPBHpRs#E(v;AGz`vP8ZmOC3Dx<%rNDVD;A7?FCmy`BLv+lJ0&yjV{Q09@Z0>~|bh z=}N_r{nnOtC|x%JrI;)$l+Z~xHKx%1uFufwwP4h`CpJ1OMFLTq+!+C!Bc$xERgHm? zlyR7FGJRIB1#8X%c|?%PXZ<%8`8klaR+UwT@C&gsd(J7)P&%+cII`tLS;7-kkcL`V zCv%k(f5MbznJcS_yQvXdBQv<0`H#|d{5-_WnzL|fmNCIps@l6ShWVz&TE}efis3Ef ziovXOQzFT_!R@1=(5#aS3U4RG&zYnm)Z4jH9C*~Cr-DU*we;>UixDUYglsmk^J|-= zq5W09Q4toZ&4|9Yxt!FBcjZQ{$m>%-I5E?B_W zUmYn|p-r8L;y^Qd$>_fCzxHYz56l3osp+vNKfduOcRc7*X8yj5 zq}$F&NYQ+Hmg(dP7#t8d&dq$4{LNoQ)=m+V{1R;<;ZJkB|3vDdG?Ye5irw+tKk4XN zGKOs06LFQN1AMmIxs{YGGL}7er`ko_w?a482lIao_10WGDaL%LgE`09KVdD7-*sOr z0eG1qLncn&Fs++|n^}p{VMP-HPW7L@R`?Vl2Y#S;92kYY@pJ^wa)@T&8aMMgKzr2z zqIJ5e`nhjQuaiO+A`FZDUI#^$?AL_&tTrxP2o!kN+XXoXuV;*;am74wd!)=U2TCR6 z#5HwWY{O0SPebDW--7|`BcYKv@l3`^MF7o|#ICJcW)}NzL<%~Jk~S4} zvC2}+ESkwzGyF`Z&i$=6sC=c+wH6a~3|JPeJ z;@)i5`1sM0^fa=jkEwAw!BO+$r8b?COlFV72ktIhzP8UWn8J?owZvt$1%)MhA8O{^ zy&G4aR5gUCgyVFj=M>8(+b_3sFB;uH29YU^J$>Oh`9T_?@F_tV? zoZMbirjggcErk6!+Cb^ApS#sRF&QY@@nOe?J5w+toVH+STYmQ=+&q{bH5pEx)I$aq z_(jXPAy*QIvvsOSKXVXUO`+Y@Q$M9Bv)8)0XnXDVPwievzL_)YP+={1;BV|())1M( zj+E@UBVXHS2uc`TwY1=v%#s`o;j#6%vb|I1BE=@U+8mM2S{77w3q!eBSP^=#AyBdg zu3>g%+|8;&wE2RiAxytcMEDQjrs*l3DcW7TTsY~xVCJwW#j#CBV_b$+jvdp}QlTce zg#E4|P5+5Zo|9_*_SW))2X5H~)LV}7j}l^?GC%IxD9nxcq&G(kq-Nl!P$V-~=jN;qga`>0@~uizbp@#z(Wp*Rj%IgLd_3#Gr4D#wUj2nk zD|rsT+rMU~@wndnNGcZ+CmZvP?7(ft!LCUvvvPYe!|r3+u*_S@(ZnEoy3Y@m^?fI2 z^KS0UB!dmbxRq)$My?-r^Arr-Yd*fSWH3H&ThaK`N~1sEYve0F1HPKeq1qRdsiWzq za};Pbpc?u8iSp-T!uMqX59T>e$^h!d0dR5hIyrgcf$jBkZ#8!1#_)qr0wyUpxi&+2 zZyy?fg7+RRKCWl}L=dRwuB=m$+9_EhRylP~%5MJ+2^%_ySiZxHSc7KpO8R5<5_yqN z+v1I7cdI&u4ZoOQF=7sq^Oyes)Cu9g3A^QRsYVsg-eA#W2|j}Cy#3(K+i|rU8SFmF zTDU!-{R=c^#&Ti}4O)4f|HZlo9n)b@*9=H}3|zb}NlYQIUon~_pPGHYRqw)HV~Klq zX7T^2PcO=or!TFc7MEg^Dy|A<44S1 zl70E2P#~!Qcgkv$qh`(fqrA>Q+?`*+kSf&0`sIePbWL?qFc5~97%Et;8dGUi(twU7J6@-AI)7OR<5l-{hWHnoJfy^TK_Hb8Mu`lrFVjeSvNKik~3C0HG0?Wa0}6(?1>Y zq4cq2DM9-NA**QRNDxMAAr5fGS{BZgrK=RO^_BBjUFtLYi))7SM&|w)BfR{s{c?86 zYYC*noaPedf{e%F`*8W-c?6fvL+h`Rp=0geD!8IPRLdQ}kYJ&qG@-Os2zAVYuv=X9 z(ppU$Qv_noAt+x)@at7BBz&Zex$t>@|BTn+gOMTb)FMSVpW0f2s}Fp!c#V*m+TtIP z%ptiO(#1j;9?8dVaqC`sPe5N==>Om`Yhd!&Ya4+zr9_%aURDxVKs(;S<+j0f?5aIS zFR@3Qj^z8cs$A!(1|Gwp=4xpbqq!201YSSkprz_22Y4eKzu5$CesE(BCbkm`V)Xt1 zZbkP8)oxG=?TxnAFy+pqG;`w@KZh^PXgNsZdk0ZMAgxhl)G=x7jG9&M;}486U0vt)5C3*2B&z$td@^ z53$S|$h1f{Nb$3mPX#@kWy%d_7Tg#otBmfM=^y=GD;x-w%-1qYNE~@m8+Ga6Rn<4_ z!MJWqBgBtTcwVAQt;0US^T}eOxVOOp7^*yYAMb+|GGB7koj}Hvmw`oiSCucdtGN-* z5;PzW5T4yL&(X~Yp*4j93cv+9T;*n{?(@r)%PKRKigSDXo=IRT{~YZvNO^24zUm*& z%mjj9`p5@OJacSLAe^g4C&`g(KcOnCbO_ejA7X84Q%f=%o?bJUK=_aw zJB9i<>Rntwhj*^7*IvXz_Q9tHdUmei zjvRE~oz9J0#O>Ry{#^)Xvkqm39ktUO-@BRmXK6&YCwI9F~rQ%W) z5G}fUt|oVMVbe&|afC2dn6h($$?fWu?cSa08u+nLqdfkjT?b`OJ`rM1HnKl(2u_Aa zZaxKz%5G}Y?U5-DOeW?|ct=st3}(kzR`~fh+Uk$H(sk=MllL4{ERmEP@unWPs5+5E z@X$mTe1xTVda?)8RiF%u%{>A;;5m-SG-++)>d{U9YMWa%vcQ~#jDwv3p&`HHr0@F* z6p_G`Ks7*1rOcSzXf@wIQ6rl%>S@LlIdBpcB9>|2>@3aNGR=vUl|;FImcs66k^MrR zu?<_VzDYh*uQ)CE2VmUok_D1;YbDZBqDt>_>XjVV()A<6id6*CL=nt}%D-i4j|T1- z?$~zRi}wf?VW-wRIFQT)%3btCr40yksh$gYw~YDV9BV)RbR}c^g3Bl{u4G>y{K}%` zxC|EVAbvqATgZOS?-yL=%f`L<2kc^Rw+)8Gkztm;H`ap>yOOB>XL^w_RL!pazL}zCM}8jmMDwgiI@dWkW&Y`G z#@lD;>3_E`8wO+1%i)2Ya7B?Yp;8)Nq#KZf-gT&KctS8)77w2E;X`y|0cKzp*`HM{WTLWA($n3%nApHuCGx|dymx?w z>3u(siijhdg|*ROyoW+cj?CXypn&JXO6qE4VJYTzX)m;NW}aX10#Vi73;lEO4L*^V zCwvXXBX`Vt4-MRgxJ;BZg=M+Ao;e49l_uF<-(O2`tKKgI#_~q1)g@($GFGoLR!XwF z4rX8GFJDvZF~tXD_aG)o&bIBH^M%LVPVR1I!{|WBcE`~%_x?mo*u{)tVJt*a{1nGk~IpY ztz5=uz38*dlZaLZ6DNT}MPYi;Jy$<^V^KO&`<5KI67r!y1^4pf*o`D*jdaZZxQtlc zJ|CBlS8mP#4W}zjz?qGwry3R#^xJj+>7>bX%9l{Fj05%ost=LQ_n#zBRyil2!DzFB!BX%;}z7Roc6{pi~O6ZLTyiZ6IHsU|b+T zg41k5)vlk+Pu0HrYv_ULX1q}8_);K<4V1Ry11@@w>#+Wo+;3IK4aFt#$=?9_o+5{EsL=uCy|zV zLWqB0JslMj(;|aRh5uA==j(aPw+bGgx>ib;w~^VF8I*U0>ZUX;cXf+En!1dC_!<9oQ-qaJp^NMJ zV1Q(daV97170S-WKvuv~sh;Oa1!0i#Q@aPv^=XF1Zyk$~=DRkRBmY!uPyKiL^~pA)Z=|a<(w1#B*I8 z!cTYXV?&(%@&bOF4rI(X)EXxx*^kS5{+d~!dQoJ4EvD8DM5}umq#JD{#(X|{!N~EZ zU|`?sPDoaFYGEi>VdmxV&kdI9CgI+qS4&LpRRDvOE|hDM&wje2m}K8%7Q)x()G`Is zms%S&Q~UY(OR+MZfy!*Sg5U!U%q$e=D;NSV+bDV+pAiT`6p)h5|b0q(p7O5VYbjiEG^;U4& zUL66dk+At*TS8RoQYE!p<5$-3viGjcVY=~lh<`xj;_TBEKIvMMRWwxzkAFm7Owh3Q z+3pv;DVkG|4qUe;;uK;hw$7EII*Q~p~yor6=PtH}`<$4nk^4cW6p`LH0 z9O;@jv~u|m+Vt&4y&l6T_@?fDBf9l@zxVdfZL3eNYwkHSHuxKAQ2HGIWQmi-tE*ng*SA9f7qZ!4o4_mvn{rh{R3zg+>Zvqh`gGAU;=FNqx*`<9( zu!mk!Ptp@GQ^$72`(m%c% zDB+ikY>%Nd71lo#iNolUZ8^C##MzUYrWeB#<(O3GtLPQXAR}Yl>#93&J0Z3_*Rbj{eEkAeei~bf_4()KsMk6 z!VGjx^A_uaQBQRPdnXsC7P?~uMi^|976ewEG#VcJYheY(E+3-)9sDhjHJb{-MjgHX z)}PVU^V4UhtSTZVT+R&h@1uB5Yc{?FhBj)HP`V((QXg~76|J|D>lk@>`D0Zo^=aK? z(%dI=%cXKVB~xKmv{)PsQqgWBOwUOwjfOS0v6(VRGK+*WNX+mn=2Z86ZCla5PoMQM z?vv37xm&wdq{sy?cb~HIC0@q=J*US_fuMcsEBK5{I+@S)=;nukP5g-n^PYAoNI2Ic z5OF(@j1zWz;xw><{9n@=KxaT*jaiss;GyJj0LsODNtJIlR38+=H$ zSbRyEBXBbVX6;MkaDrc-hAC$O@*J4qSf`1PZWxe#DOOF0vj^GdxeyUo@K2d<$$WE3 zEN}$NLlWIINR>ZyGU9%VOKKF6TIfat+fr+F5I=F4NoiWRTdWTew$9X!Z;S@3e!Y+=Y0dw64$Z2epq6`h*r>>JL-oPjo`hRM@IV{k0dU0+tzTR z%DEz^^FDO?Z*#YYat!#AU;Pd}`zu1Ks(;d3g)fQ~_+;=$D6oD}7K5Kci*8|Z{{TqK z%{G)0?ivEU{|BH~TFdivU92>831ArdxYx$9ZAqTV%q1+B+qO4T^l2jX$w;hDrMG89 zT_w-gjO`v?7=L5B%s=56PXk+|%B;E|zkIHk+k)PiW2E@P?z__tySR$^USaloat#gJ z0oPeadH3;X=;$8+a3zp9r}bdse;R{lHz7(%s?7A&bK-}x;lt)iKPDdQX{q1dF-rO{ zu`{l9O0?lbckPfj(b)H0L9?v?=2Jx5KSx*GLY%=)oDNmj-3UpREQi4QH~}+$M<*R3mC>t2>b?ld z)D?LP>|RY5Vx!aA9baxRU$>C>D3~rPT+=LE?VFLxL<=okK1PDNJQ!^v3qQPAr-yMg zvx&@c@^XI5Yq|{5F&?PWsQ*hUYUWhlQ$%J%lX9J8?1bh*S-->Z+oFYv235>ESoVs$ z+M8~A+E=F0!#PbGZ`s+-_b@_3$^Y5}jTE*-Fq6mhc#o~S9pwBSqDa1AS6F(lQ{t&9 z)QVNok!M^kA+OR zC(dSd|9xV78FjWw%d5D@Lk-oZPrIk}J;_nPSbQKZ?V9`Pp2C_&ne!*@YD*l7L94Sj zK1_kf!+T-w)8(ch*$!fT1i``PJiEa}I>@@>#tao{mM0oS3U)M&v)f|H5Ka{J^e&OL zIcMEK>f~6tZ9BZ$(*-y3&)q=xkW{u5H`@YFp4J|Gm-OhmK@hLkrxWP%UN;6bpv2<} zN%5SR?<*gU`R3<);}QR*{qw7cpDorO_AJ9lur%x~MP3$wriR4L z>NZa-vgbe57oHDq`tR$Xc4;d#b7|K<^%`Ggaec4-Rx;W=ap~g&C(o{4ZDF7v8~ZtX z=Jw$Np4`B?LFgFU=SuWN@%sbt+>JQ?KVy_MI3fG*OLpy6X3V!EzukJ^gBB2ke3H*VVWHzXobIG@$h zv4J~?^dSqJTh(Z}YxSdK_oJ%%*Pb}W75T%Q^){@O#mAcsrHSf!79TQV*<-n$&Bly! zd(J+eSKMN&K7eXYJT_J3$?6PqXeZ^)62xqK=gwT?!w?r@k^X+aV)SBC;t)5Huq9vP ziZ0(tzWg*8ZbOfyXyic<#iPqkLLKy%3G%srx0v~y*-G-4x#%61Nz14dsb>~&PvNr< zw?!I2ulPjO*A+X{#FpkBiV{3mw-`f(!$IiCR^_5r=J1`L4cdb=?p-Ts{FZ9b&XMS& z=>5{ifjT!N!df0k>^2I-QbQgp;swKn%@%|+&TAvb_a-YT&22Oa)78$!myP*Rw(N|r7b6A zcZzqFWz276!)9%NPc?AN-(EVmq)X={TrTYo!09(Jb}d~1{x;5$&bAEedjSM7@HyB$ z8lC~}iCI44LQrM006YDEP6YpOh&`i=VpVKgr7kSt{?UuIqNW3mDR|DrM9Sa?t}pXe4 z5?e*~57}8S1jU;>KaHqrCb8t?gh8_IjlA;RjrrD-7ndx?sQCG&W{0suPbM;7G;5V= zDbKK(=4I2N&@d)_TzoEAAlXTo`J4pYp%c~+5j#sm<4V=v5i|!qf(wd0F7mTwSADdc zUJ8+*e1s6Pj*~^3$Thi(eos>fsIh2fjkoPgRQDErXT~Z62>G_>o5|yofM)Y#^N-II zwxAGRWc#^TVyCU3X#o3>+#Yu=sJA36#&B76S9lt$%p*s6^t8DZDVP|*tjDWKC;uc! z2l+vVb0@@VXXJaU#llol&_H3R zG#iU{fRorrzFSH}gDTA-wqP-46NUZB^?>M4AY6mFnf3~nUm;Euo7s77+q~HD+Oh2$ zJ9nkQQz-h~Sz57*RcSh+Io3fqY9`M&EDTGtsG7O9wLsL2Wy7bJO(D@l95(>DCoptxH@&ypJz zdP)DG=UUd-LHP0za+%jE$*rU?yo0NrVw|hfm#^}^ z^_FTFeA5AD<9m>e_bWFZ{GRn(=@B=WQJTw8gHlfJ6Ix1!5(63 zgF_j-1*d+wLQ7C7_%J|!77(a9FtjMf>3(l9Z1c5&yEBWFn#?%Zp0aS!r( zo)`{?;cpCgqNOp+8L7XQKEB`D|HWD6c%73NZDX4$!LM>dzdTA-<>T>8ITdK~uDNHo2*W=SC;L z%V_AtVwWasWpmlW?)E?wO{3ysn>O3X{b6rqbCitCLv!5rQ)LFJju0I!l;w={kHFyG z#(qxczMMXwC$J9BbQDu z%K(o9rpZwlz%}XYN|VZ#t!Js5SJtYHEY%Ip-}dt^%rPto6>k{Dw43asG)Tlvtc?n~ zCP%Dhj7VBp9-mrMJe!J`LYB#s;E0U%KH5aw_8u2q{R*x-ppmw1I>&l^+CVPlakWCG zuClTPPDV#E&24aEKFQnaTz8y;uOoPNIlFy164_54x*T^u{uVDC-F|2l8|u&g z7v=--Os{D#f~5I=|1>)drc3bi+_UD~S4bhre2}56wfK??tGM#{-3!;8A)GULJ)~__@o}vq} zonme5bWy5)0SUASyx4wZV4ywR2utX0mAP(^U$}a&W!Nl<(#I;Th8nO2WGU;OM%8xv zQl`@{lLfI?;A|9%`jjvD{MBtx@1fJW9ZMpewk5g&31Kz&4^&^vd)1vIS#_XhtZI>l zzxiI$q_7iHM?&H%~As9#N9{HF>W8dXV;4m)KL7KPf&wj{Oz4jM3^N#535v z@m-`HTCUeMxMz8O2GU}A-^J=PKQnAu$z}h!@C8IJp~|ZJ%7N|`yo3!jfrw3P+B~BP zYU5rw5GVq&v|gglPg-ZyZI#h65a-`|O#^BUEyhyETa9bIZ^0!)xKmHTYdn z&uPhDCcw6(&%HTmQhrh&J5Je3Q@oUi=|WsyA%7tuqX{)}lCE+p+3SJ)->#%D_=G;d zI}Z(w4Nm@U@;iTDt|88=rWXImFJLa$QeX|!l1oZaAt|q5xSh%MDvH>_;9<&xv@C4F=*N96~}3^=C=9tVkULu;_&FkEBq0h<}kjeR;B1u z`Z#0o9!oQ;WQ^4u0v7`f#5Lr(tDOb%VStU#h8r8J&^s(NmG*IGlI)V=kR%zyQd%7^ zwJ`{sykk7eu+u3pW1s&3<27B1&uLbL z91(Mais{P?!u0X1s?i{d7|ZM%`tD7bTk2J=&SqAcjsE~hlB##?} z8k}E?q3<%=CdC}&5hBBv)LOx$?+=lUmbLy4>Q`Ic@3i*5R>bO|*Xl3DZz~KXEN;t% z2I|TJ|1qd(XpWPQ)vH#6>dgN8+v3D#ME?eD+@%!A!M9N!$YMOA&WNB}SzIN^NFct@ z_LOuo(#+oH9rSkZ7StX{io@J{!4G~y;}Naaa^yMVz^vhoDD9AaPl_>M3eG`_h|0y#*zfYD#3rX z%F|2rkGvVQDzsNADYi7f-|Fy1tgUN8^$E#pkL(w%%IXB6C_7pq%aOR6?a=c9r6=dZ z|D2rb=_HeI`EW@X7b0ij3_)vMT6DUv);WaE#?X4!M#S$! zy4A0-IRiC%b1&B_n9)2M?8R>#DjRNVW=Ir@W8t##V=b2PHkh0^D^hz6?jPyz`c$k7j97G06-?cMX{R{1&G|%0IFAca^7S0%?T)tA zReu(vlQ1Bfi`812UaRnmGYl?Zw^f=(HMJSFv%|>qN@P3=85P*{ZQ%5W&$0qdsn*#p zL~Rw?gUqNMzvmsK5ve}*z4z_+?gfcp(ry|rrY?*8R3UA=%jD;8Ll74mjCRyTe|t5b zvYo!3*UXp^hro(c8A>uI*I|_nj8Bu;=EH_9OkYQRWaOBe=}ID}OQ))t3FtRM2lAxa zt>Ex_815q}_Tq)OTA3*+-vVxv#M6YU_n4GmRMNO7^cxgN4qq7L%`i_ zKwfuTQVu;0>7<>>)jCQG#cD*}NoYVK#t%w#UMJcAjh9SEx&8dm5>+qiHDav+Xd&4* z3_y5`tr*hwtrjdY-b31S?S+&AV~j@zly2=HCp{3?V!1$b19bK9C_*MGU9@C!fd#B& z&bAGd$m(>Q&TQryNxpk+2Fh)=RVM=0i7OVo-~5>vOB^F<fNq*$yugnR*er^adI%s2+*`D}))zE}{?Vi+O9uho3O= z!Y2ud8tI9tE5v@hb&`aa@&b?2wx01@i<(+Z1g(uJ;=P0CMBaXmL+FHM<%+`m1KJ0} zHK4|CaXyNEp-r1OoQK{Ko26&}{WsSV2I9x2@;AR1e_Jjqt1^r~Xl2_R%0>SA-00T- zTH)NR^58Id9~%?UBt&&Z=4ZnBWmPTgz3{bQ@o({;PR(@ovLa~bE~TZT0iWg6tl}EE zn}!i73jYDUgL2*PA5GCQEUMl0qDw!yignJNP28UWMuEy=Q1F-N+AncJKbJ zfzDIL!<&dnN>5K_16NhuOptP`q01vvRS#WUBpsA{}y|C16Gg~U|iZD}Fqv#tI#GGWqe@fcvxoQSd07Y$)6YGN! zzAWf%Blxu`FEp`qM$6^a^^1e_X|46&P0X{7sC^{0e0TcAqqiJ;Sj{Q7#2|A}VsAUQ z-3V%7kQFx^I77q!$o6h)9IX35G0Yf#!w-omoKO)~vDQhEwLN(^^*B!c^J4#Xl!|4f zqFmN4EBG#1&@rr=#uS)dSI4y&H2h;b_wh0+=*3U=IaE&2I}3}IeY%t-Q^kMI_PG%s zz2mZ@x%{dkkWAD3>ckPLAVb@r7pIZvRT|}(0a+%!>0gKRZO`f*IhG$2o>0p!KAu$w ze$Xy+xZ)n((b*R0th9xL${GsfCT)pTP7_&1E$g`xbHT}b{_4zXSGLf7fIkItHaujE0^p#T-#eqWBjb@06I9u_v zJs2t1+b;y{&|!wOH! z>wF>S|Efo6fRD1)<~wT+6_5fyC{Nq)KD~Lged;+a>#L=xEK=Np7Jj8Zu5wP!)boV!oC8ih|k5{V`Oi8ijvRUI#2a$J7W)Ju^V$J1qEj)Ub` zpl>9`CC3C}uER|%PImgo9PvrYtbH?%L!6pMxC72`=>EzZbhyITFu-qs^o6SNY)b^Z zeW*mo5xRWt;N+$_$91*(PJp{lJ2RZlj+hZWzhzilDU55rb*~y|Y(!C@KkbNddjmS_ z8@%iJoipJ zmC8@Avja^*o?{KR2m+vE$G>klD?|^BKF;$EV`jKcfr@z09?B9%mQ{)ATg@N9iR~Z2 zl~HoYm=20*%soVj3DS+)y6e2n_qnXF%cltb?7VmeK{afCR3Ic1UQx#rr_g^&uLT#B z5E}En0{Ve1&yu@52L1q|Y1)e-H?eVV!*0@t)~+arL!LYF+^vF*(W!|9;^g*K+F<)O zkLqRoAHZ>ZWI%B21o1{?uh`-vK5#zg`U7}WBYUS=*A*Q5Xeq36H{uVV&+O`sU-vvn z=#B>T2f$B!4O3X(^sze~Z4!xJsB7vL!WUrvb{O_L&YHmMXFaL=2Y?rDzf4oT)Qte` z_umV82E2Rr2XLfWLWGn&{sZXI0N!cl{{gV6{sB-DKi`{&9I^ZXY@`$akaYd#V} zJHbej5WDmTFh)UiqtaBpm7wSd?y~KAx7A#I$LMZA92!^S>bQ$acNJ#2)(zy^h3>W; z&~)QK89juQXE}G)x8>His#n^?gZ%-lg%F5hnI~Eyg~Vf#k=u!o-Kbuvhl4BIz6lY( zkdqCH&A;Wj3(?)l*Hhuzwy?vFnl6t00jySOWs1FU`{{XvYteKF9Hf1+pn6#@q0LW2 zDRMykMX`@dXLK2a%^OH?O%UFx_x6z`{7Ut*CyJ15|IfARZ3lU>*NT3S17t+jzr%vC z1U{|)kZ|FI>`iC6VZHyA1E?sLn{A9ow)yd`d zbfWI=E*%29{kcW*W@FMLv!sXQ^JM#IsI2w$A3)Z6uyPz#xkv9p{s=WW%kI$2ARzHz zf72I7wHsOIFMUMlnTXwh@$L4w6XP0N`IWnFUyOkmrOGpMjkeGJDdGC!s#n0FQ?^yY zF2r@&BGODGW;$H-AVb5FO*IzsbAZ>kU7k;ylC6xToBoy6>^BH2il*t+k!*)OqQK6i32m)T4o4r2;9 zh3mprl9~OhMmKC7hyT<2*Po)j%>k}<*uMY#>Kl--p$X}fD%9dv#wZI)Uak+kadbMk zNdl+L75GcXFdBx(C>5+}q@CZazZHAq8+=v+!}o98&HiZYBf0w>-zb(7#%yO3lAV{q zo0~GSi=kZaZ&@Q!8^n_UbgJ_g<=>|71|;@cq*SLVxyN!+B`<)Si}qLwLmyr`ceJZ* zl#1!H?SIwcC`3}hNZ-1c_p}}0rHS|JCtJ#Tu0nw#_v3ktXSx%$P-3ve1W@s)xz}nk zuJ_L6)m`3o@N3?{tfBsnj@PfRl7K~Hlt;6*)8fktMr`GCT#tIH2G`t!4ap~cmo4JD zj#4CJf*lNibKnuKW-71iO3)tF63LM*>!Y^1MmEC9HOqwnKe@ZF>_P{Eup?`|+iY#u zV!#7#05equ>7<<@6oi8Z>%sGRo#h-0Xm_qR-tKZ;f6aBl<;E!G#Lb6h zCCJZ?h%0d%O}qmb-)Tk4285xRBvWMY8L$q^hAh`NO~x*E6NO%frT`z+(?e80cVqq# zvKN^{+??3#LhAR!u^8T}h%8BT>bkUF{F8;D6+Df|VCx&eJG=%c>THZ7GpFQx10q|r z;9WSdB*fYHNkzmyv!`C}Jf|+=i{H4ggw+yq(BwHv&H-P@UymDn@05)D2LfD?p$@!? zC3=3mgT6^!Ru6uLUX~i?`;{M;K-mJqGRlPrjT~y9UaF7i2KZ37s~wN<c!=93k*yZ4YO1W?yxu$%gEm2As4NDJ-r$O9i zF>G5jIyW5x0*96|u<^e4(n+UtMo4Gm#)iM0@-bFE|U|Lkis zQ1m5vp0{MnM{L4Gvl?bU2WvJ^*hv<5M5iE;P~H)fcR9l|^cde)V=XH zNJ@9wyW%dUVR_qMds`zzNbJJ$I;OC5$d6T$;_`OA#58QcLi8!Ni?3bZJy&5gr|MqE zcO_8^7odL6ZwX$t(oqh1!&YeGNO<^NzGj5O{P?w6sfmNeJOO-@6i!NpTijT>j`~v{ z6SR=MRE%3M6j|MI1Mf2ZLNG1Am|8_@pDg+^tSSt2w5Y^Ojhv^X7Bpd-VK1fG+#e?d zZn-qGp=`Ke)%W&8KeLhK7i9tab$5F01w6Oo*vIEQiN7Z{qHJwF!pdck6ND-w- zNa*NDM@k?hG%12$nGulQE%X{7bR;l9LQ#s8s8~m(DpjO669@_lNPvW1Lqba^$-KkLavRkKk)m3J;RVaYmpYRD1 z?$Xg&LFa30zKx254x{aY&lhQIXbS#yE3KbR3Q-Gl()OlEO0&_ReAK(8)vK%S@Nfz~ zWlZeHH5TQI#>bFc@fySEm(>S#!{w@Ryo$)Qd06NR2=m#xBi z2@Z=L|Z< zj@hgfPF|#jOI%IS`P-l-MCkjvrWbjdCYZAh^@E=RDu(WEFc9^=ctTFY$bWzJe<#mE zggT_q{Y&MXkBXjiz@mkPxE(u9B~jfoRTwY`=H$Bt;)Pw?#fo0|v8+C5Hli5y&sLVp zIMFW+HORmHW7Kc^ErpGW1&EqYUH&BGaHlxN`UM9lT5E%%IcMoEp(!@M5Sx5lH}pc9 zw`vI0-C5Vr137*KZU(iQXa7YRQ3)SW*33HKdpl?UQ?c35kQK;3uY0+Agxg0I{uXH| zWM4{C*SERy+$+8voF7p%It;`|S z?$6+``;}$gu4SK?=gHqH9s>veWJ~dXjxzDA_6bo|Z!uQw8$Zfrvrted=9F$N>}4dE zTTsnP)>!_5(%9(WEepxsSG&aX7mzW?WIzLmExbCj>YG=;$kjx#!_Hn0e17{^=n%N( zWJF_vy(tJ?{$&*LYYHRw<{h~k5*6;=;3R?}zGyNFJxjGY5c85$1_(CQMk~pDNtDxF z!mQ;1HHi2&emTPZueUR-Y-4fnp-w{cmktvdu@dcRJpJ4ZV zb%Gw34MN{}D-C2i^HT{_k!a~gJB9v49{d;EB*&DCOatu_**t_-SU7**ulf!BhhuRq z>_+4+RI*0v*tW8utB8b~&Xi+|)>p4C3|3G0(H7nhE-S>V;}46iP_KH;vn|j`r-b2~ za?QvpoMhBdS-Ee1D7a+{h1w&y3qq1^PX}O2H~M>9s7X>2f$FN%%rjeyaYU`l>NVE& zOwhSfkkW5MjlErB6x_}Wb+JunnzX~JNg_t;{9@RvXJZPXFsaN;M1=#11tGyXG8NNj zo(~CCd#^S_fsXRfrq7d@8}&kDl8s*A1N|i?)HXX3VOscpl`R+k^MegE;J>c(KZlLH zoBCRqholgmhMH$u2C`lD6)mn7*yuTP1N&jd-m=sJ8>M_gmhn$R_=Lx3fn`y;aQ%r+v<>$1{S8-)IjMHO$7=N`Er;Gh2R|7e3)IeNt(d86u`%ZJ zkRuc)xtvNB99Q9McCO0Tl=XJZ<>!2u&wZQ1nKuvq;%QEQp8L}+@5k&|;J+MN_Bp|Z zXaj?zrz_kt(PBTJn|8&A?)ZK!*OYU=_ zJp|<~+ciEaws&C?u7r+Rs|}_Bkyrn|x1sjVP5bO0R_`kDCcjtpXtQ#_ZL#h8yZ43) z-vLK-<|p`{YM&IOtnE@9ZY+md7+s*u4yszr_|LsBQ-nlc=WN?v=;k58rEC zn=8{gzq1?AV5h_GJ-z^@Y;8_>$jt)2T_E8S(ZHG6N@_ow9y4iI2A2zJhIOC6d683< zvw4iO>gT=V!&{{rNAv)UOIDOb4Fn zlYzHBkx)R(+Hw6FQzt(0V;3&cr}>eT%+?PfYlwL%N!{^J0|k(Ek`3bwGjkDD5<$*i zYREM0>5lg#GtGovFPx|oG-8H3(@3RHy!5I`(I0_%2}9lwvjf zO!HYr+qh7%PwqdxucQ)NPT-gNhHAHol$Wa-dNXsuTrVXQDVVvzOse*JosZ*Kz-Y_Qrqs(~7Pdn5&DD7Cl`166D0eKOun}u9eSDuZ*j$ zHn%dYE4;Gir3t|aMU^q+WD@9%g+DtMp~^`A+C!E8C%u2oVg05bf`2}u%-1xjZf#(j z@3rHTp>6U_j}Ddt3H~|6l=cUGYjJ|x2YHL$Uz~|ta9@TG0bGy&+!-0UAMrk9Y~Sml z==Rx_y&{EOUeI*$Z`~e=SXJFCKMWw|?H|w7)AaX>mqY3;1?Zd#JF?}U+(b(v!nT4Q z81wO;-(#S7Rwh3)pPK$O$886ur|wkRwJ3odZiGWN0;n3joDA$tUYKrR@#_fi`&X2B zPmLjX5l^TtTayyI$IcObC^CKTEfvg9<7&|2$)j=h{qL_@Dow?=xRf9pt>Z-XNPdm3 zclcPo{*>W6-}qB~3|agan;%3E%W}v!JzF~~oQ!vV%WxKP1-B>~%!HSlQ*|pQRfSYj ze_SqPXf&%NLVaj*e0x6NVf6>Ay3xM(qiPc@oee@M?N$Z%A}7CxGV=e147c(^og})# z0)#>0hX=O)g<(ooDlJfN#k!ZL2$H>A46!ifRmQs!3O4aF6f7l9zwO9jVpU$4@i5B#I6=PcI`CtDd3iIRhLMC0IjqVLRc04 zf!;4I%%xq8N6Ya?P##u(aqQOs77N5y`M)^~{=UNa6_50VFxA0L)D@9M%o4l8psy+; zMi2pA3_vPKFczbTP&b=bzf{idY+n@$j4C~Q+7w_Hd<|S|3IUJVa}o7%c`8nfF`IA} ziMTMK_x~@oN@pZ757kk^=5f%p8}~2lOYa-)`)Kbc z=*17@K7w^nOs%M*gG^VW^0R@*>t`Xk!?k_tJ7V{R&3G$zTq}zCRyMOC_KH;At_y<( zB@aACrnWj8uhv++m`mJ|p{vB!Zi|Nt-!h#+LOiN5r+SyHgZ9%%aVq}jA{e3NE?p`f zSGzt9PwEu70KYNMJ{k__b{`GCxzX+m`E+-B(YME5zrc8kJnh>Hxqs5xRrav!DqXxd zCoEW~{;tf!F4~0?+9oP0g1rQ6U@8d}Yl%5TzxiR94%MH@{IfF@UVc>)@Tho#HG@X@ zaLKl-VP#X2ZwNUFl^HN4FKsFh*p(-KAoqWHk!)fub1-RqCA}%48rke+>}?-9Tr<5~ z!WHWoIsK=kK9|Cvz*uR3Z5%f7SC!G=c46rmT8-z*GYF}oQ2kFtlSKzHS)7=KaQR}mQ@R8*_dByn6*7>%T5!l* zAx^M-VEBG_$b!xtH>AGf>W;CE1l&oEmCrmMWo(|K4-HjkAnlt2Ls}j#rZCtKEEWaX{xe_NNgRwIL-RK}J1H_#e2BQ%0$(_{VG?hy{g*oy z%5^o_dqXtU^bzs@PmL7V=q$#nV>sqPf3jy?#VL~f!z8|CeMx6uk#$hGLJv%vFOkQu zexqq0{t_Z` z?@cBA(3^ z!?v;j%aN1`4@a(0HvRm$O2BH+&9)I$d!N5t#*TPp*qX)P&&-VFCtpL=laadjvW=D$WOd=M{j@q&WOo6eRRyz!at zeIuf1(Q?I!Znf0uQ%SvQQ1E04L* z3kyxjIh$>Xg8q6r9W&ljjCPF31D>gl;CfOj z{hIFA_GIzX290Yt`yH87umWkiEr&s0IWv7?$qsMx#gZa@#3L0Am z4qw&Xz69jso8>S7gW-d_+wcO@c8cf(syo!JdYCnC9-WqD0GEdBXhT_R>TOMo$|*?m z#qFLtnE})v+h>>6r_#7c51etJc_D?N0GJ@VtF%^f0g`IESn1-XBxGd=ma9dPOl3&^ z%i*QU@LWvaXZS`A#MFzarHD%tPk!~%h4tG|RAqrC)KMPAD6yJtYwvFRlJUh?ZB9A6 zjf#+LBWcGP4=m$*t;(@fm=Nj244MN`7z&fnib9ljMfecXcg$-}nG+#_=}?&*O_wM2 zcsWu)x-62A8iA4CuV9;~CuMzAF}Amd>abTo|2Hiu7RFP7#g3UY5P78tF{FB;x6|>b z6*VEx6fXxpD-Rb;1wY~~9iR6-)p;({0JYEu7h%UxSdA6vXKy4OMudM~TKrT3!K(!0 zYK2Gx>!z1`*CCzt+QeR|$@@C`!W5nnq^0-8LA6J}GAcZU9x6oye|@=LhprAZWMJ++ zdBf9iop+!xKs6??6(k;%JWc}KHrS&JONh(8$kaFsOwKXBNL!g!n_Oto`=h5(SQ~hG7q*M|g zVfDQ-!-QpzcO=$6eYY03h>5iF9EmR+>PEUPq?ExV%-hr;$3HCfU60iU91hsIkO z@lSf5u`_pxqRqt;V{c2mfb0Y)4vp}Py&npq;Xu+98RMw=Mk>v?INd(`L$SiI$!}o<4(xe);9X0d_`TLVGYwVOu2G3po?X`~|ezrGC59U$g4_H3v1eGxmtijzw+4q9`` zeOfb{7`^a;j&aeS#CpBh=Z*G#KbeWbN7WB^ErBf2btLfo8g;mKfmsLxz3Luq%Jfcr zR(~+SM4qyeS`T&08$y?TI!3Q#Kk<689UYwX51FfYAC&mbwk54Zl7a^&iHjbb-6g5p zLjW;0jeD4(QVifRmZ~Fq2*^j>TtxBU-Q1PK^tGjo+%osW5P)Vnw^ww1;1?H$rL*6T z-n6284lh*taK`v6lpYHgFjA0auM=$a5W?cK z=CAS>MnKv?mb`@(NyL0u?9QDq{!4ra)A@;;RlQJK2R;)vf;z^5QV?N&5yNGnUjnZG z9blJyVT4~O>${{N^+dEJRJm~cremf_XQo*6SZp;AvGQKnoNFp4oOaIjjd|4ll5n8* znR89gn^mR^u5_kNmxz4}*e!OH5<0Nk|D!W`f7fd!zdAGq78hCVTEqsJyo{cfD>hA3 zzCpl;{6rG-Fi-lPJ}jbM?GGnz$IDrPm_`fIN7QS>>_fYz*G3|J zX}e8yf7;1{ot@+CGT0&=@gQ_~R^V%qx!x6>;ubfd>O6S;q)wjkhqt${On|WBX1p@K zd%;&i!lnlK`Vwnp9f==@0 zK0-(vpfneHJ{dL~dL(PC`J|tm%s5jv4~^%xn`#8{NwXs#DwmBEirG!Y9DmTUisW|E zltVpf*Y~Yp&3lb_b@ZWS+F##}L)~p);1P=g6UKD|zh%CXXXf^^7-DUor`q+sjZU1Y z1M_TR0v8F>$tRCIOEE7Xse2n+WtE@7=WNBu{p__AI^=>B_|$&Q5svJ(F9cMZIvCQ05CP}X@!xO z0q&|N{y5nc+9`QBN2*rt`v*mXFHLCJWUb_Ki)!l+|8i^wNW3<6X?Mt6{OWhGp_T_8&jLs6?*`oG z=u|{LS9|(oAlz-h;Wc+;GtKb$`G>;MIItsbLR}wwn#=I71@)S+lcaEyk(l^;8I;y2 z&V???1rB=Zq)l(@!xbo_CHFrQkXxGQmv$htwO+34RNpgx8>qM10rkJhL921A{2OQg z>~)-#ucI*>Rnyv&E4~k~V?INS^@N+*J8Rj}uLo1hEtABHr_FWsY?~7lYjt&VIOPl* z>_6A-{dyg5ZWC7CH>4HxX;w-m<@mq?0F*nPT1;&>s339}^bUfm7u7b}T_axAohICH z*0eA?KiGMSZ>b2PZEk&NKHIleTz@-9@opheAYB?DXkx!my7t7KOUOmvKox7+?+hw~ zc8%!u#ot~)Gmvc60?hX(TWQNlA>Iskq zd7YyKrx7A~wFTVwE>W6`9(wb)jq9FPSzs>J*c$ZQ&^b2s+$*TPTzqrW#XcNA!8~$o z(jtb%ZFQmV1~u$q1<~G#d7hL2<}UqaxIC@gznsVxt*sZ;3BL!zdB`wxNtVaWFVo0; zvJIBAXkT>ct2Rzf3&r*@vDj?DFr63olh!mBVvry*Q^dJS!mS(F^m(&ADU2i%5s9D; zNEgXL6n+lsyZYqqvYNk@!^W zhZGwn8Fz}|$I@||8-f*s4Wz!YR#plGDL&RGC_?Fj(I#I^f+xz?LfdmlvQ0 zvRM}OvG1QoO)6@g}GM#+V{fUo^HR}j-v;i_HZ$5F5_&kj@%)KY;>zwswahy zb)&S%wU~Fz?vk#ncJVEZnD?+DrEN^C|JR9kQkQxtZ0g4SMO=j<*9)dzCwxvyE3p(x z*e(cXt!{i{HekS3Fwr6gUO)uhi&Qc0yM$%!Q~N^7Dg3*{z-ccMNFy=fAeoFcaA z-H5D}^h;JY19PX2>I8U1kQA_bIC`M@HoxA3>=f~6!{kw@3NG+5A^m>$M3kZekp$q& zniull_qm71=U%$L6e!w*cW1hJs0f#e0%`(gx>obM-`A({70!>^?B3IiU(=!*`vT)D zxAS3A)$Y~dgSxcF)1dnM_+j_6Gd}A>hnuXSm>~zwgA$f}6BRE)mKqyz4oH^j7@s7{ zu8nrP&pB$4eK&P?Ln~DF2=JGe-f&4f{1fs(;nI}8L%Ljs9H*k1ySMPIzOO$5zKcnG z`8$<&$Gbp%;VvBB?{#H~&ELT!O?Z z%xh8iQzTU_87*YX#b8@Dl>)!-glFhK{1WM^f|8$aQ}D~XUZ|3c(rT6O1~%kJkYpGu z$t$!}c_=mw27L6v=ag(cPO(6IK`4e@^HG9P^H&_)tKOHY_10Ft0$KL_>2=<8072|+ zc@T%G4f;M3;2R)QSK3u@&0n2Z&J|cp{{Ssj{A}F2TD}-0`n`7-5|VUN`rV3SY^8t3 z*!LGhY2fe*1N85lG2bSDVcoB%6ZH7?fCz6>gZReX3l(I^;oDpRY4ZIe&rBkq43+Ay zEh>wo0~5p8WO11fp2xN_%PVJ=Q-6q#3=#C3N{XGlXpjJ&P4u(ADdk7mLuL@0v}@C0 z0pA>XjMZn8J{K(h%kiZ5CM#^67j9r0d8|!RUYPd2rz%tv945JDkfIb$3Vo(!FV3$O z_8dO~kNC<}0@d>z@P)!kdR?qu{!A|MP04umM(a(6EVQJ#!FAH-Op>GG=3<(9(|qW- z6jA4w774ggn)g$g8|Z)agU+}pTQvRzQiRg{O3}C;JG}+S*4yeFI(<@lVRu2wt8yo? zEXyPH_7;ixW}CtFQjdW`zca9P1@}M;;%^jx$`{^x>i-ll6=^vN8?auwd{Ve{s5*M! zD$uNLctg)3&ESVsAEzWZdiLZh^pD)VwO;0>HC%dN^bYV-_3r$d`#l>s#@RJL?Kt}q z-m|Wa^yr8LR@6(WpKU(#d{P5Cd)SLh44%zs!;wwfyd(9#@izEPxQAGuc}d+Nbs^H1 zdSPOlp*>dmXVZwnOli%0xKGQzaV6K27KQYgBH8X1!C`+}ct(%PbHRZae?!b2qZlUC z$ejT8so~-eZMEO%NN%;lM>(t|i0*&QJeqtX&M(Upp#IBo%Mlj99(5c8(qN`d?#A$x ziL^z^ma#^nG20pI_ohQu;j$}2|6NED5u8kO!5PJ2&TJoe>mQGKEW`zN{FBsaoAQ;hTyuJvjg7N&}mRQ}u(hC(2%J7QLqo{Fh_Ik{wx{U(=A@@7j5G zBHpl!LyBZ(?n;Ecy1h}(mh6copLh8brUbzkH>v!%Wxm2|j+D8%&>mdyX5*23NbRQi zk42LmT#%1naQ`79WiLC{YB z66jPQkqk)P?T@yW2q;#l;ml>xb%@VLbA20yA>)UEQ6AfGbx{&ZY z{_Ehe)m)d1YFmyNdJtmW;FtDIN3&uS$Bz_Vh`NxWNGkbepn3^t`6}?)B8+b@J_^3%E|&#II5_SGeZ-Ud}z6gjX9#si4h63E}MpgXQO5T9(Sa2LFQHoMv^kk+{! zqFHaFoOC{lOsWL&%xseoaHv9;=%o?Y!o^ZIcSWlrq@fn)alMESOn2obZdN-oB8pbr z)p(tlkbtlLxPDFoyUPp2(|09#?xN|jvf;P`$jyi`rzm2@_6$nUAyvC8C{yf zZ4OT+cPoO;`m3k!La>x&S3_S-Y`pPrUZ@6^Tc$Q@`}YjrZb#{w)MT8mJ3a7^j&Fpt zkNZkAfj_;}+4c-Kqkyx$f18O*5sz_?i2Yq}F3jvCsMHNS!uw+z1`6(vdPm&e+k8}c ztiBnGZX=?_=U2Sv)IQa8$6ma@qY4_{?}B>V{Mm4WRpIAx3=&9hqiYvBf?YH%oHDQ@ z!~Sq+)9LpOu`Zq=u3hPoOP_Fle@FOj_D2ehG`&4ZGtsRD)#bW8JLn&7`V-#wr4_F( z#G4%`C>-w{kuf2ZmM74)hIgq|k(Dm{Pd#F^4A#8-w%~Z=MU9FV$6h&1;4>`%3jwV_ zR+cJB9|6CnmWJZ_<5<}u3pj_=Wu3q3#S-%R7T$>V<5Px6tD$*b)sb_qL-CnN=}js~ z&CCnc`vK#>m3cmIyy(p1U~L3WaYBHi>0J<=FmQ7}F>jhgO!Dd&?l*qwF|9V&Idm#s zA?y$;iR76bPQfKI5}Y63YwthG*?9brG6(rge@N~j-lLcj+a{yTE*IQ1I`mY2rQ!+h zbshZaTWJ#X=-Xu0jF6g4k{Lcn^7lW@wKJ1lLBv_NoFwZNEowwX9 zjMg=Rznps2fEA=7VbZ*VA;}avPx(n4baL)n=1r6QKi4-bRIVEBhOx)xGG zn9FP`&4NVF8&qZD?cH5CQ!E2Ub^ z&#{+NaFSpgO3^^wn8-r%(p|d-h$)K|GV7Y*^O7xjzWBW=- zoNC}7AYph;@ftRONG>tfi_J-9h~`Zs2B3ukCVs4Cs~9Dd`)y-AZx~aG@@|vmfb+!i z4upGYC*!b%7n-k=Fei0?-Z6DV@&?ajX>ciP3A6aqNwnhF+@Hg@UL{#Sc+}gvRO1iT zgn58)qZ9|y2{O9U!sn2wG9@k+LV3I{+-jf`P~`V+4~lI&oxo==WF)IKPr{XNlrGwq zEEG}NQv7&T0q;IZBIOx6R-DrgWF@FjML~Ry$OvtwnBOUY)CO?!xCV zcjF&XB<<4{mc+#T6t8+%y2EUN=I;$0&QCu-4~(`hgQT0;^fFx&O0pD8 zstpLvwQ|Fa5i3zmo;!_aXz=WbAl_M#H0lz~%B&YyZsaoiT z<}hW)=Jlb~7TztM5|<0d+;n3Q=p;ZG#Y{BlMyM;&RR=n07JKc^NcuZJktT=Sfi123MmE?T3UgX#XVui?GXeXYr@@)+%v-wpx{@m zk(D}WHL}v1gH)jiirpJ<5s}|_%nnhz36-Kd)^r`p@7Sx* zTOwW=3RFHq8st-K!cyP%yv11?;Z7*R50er*mlh(*HE1eHYwQuUFu(L|y)M-;%RK0- zv_`g)HwqfcQf_HjHvtvRbI^xBLNS+znyMD7no|m*3t9o7o#5y0xHH(FU0cC|%ACLr z;#JD)Td(CL!cOw#Gd2ozNg=&oQ||nt>Lw5AHkuH_43tkgLp7waV!ayOr>@ryUZ+20 z48K9{_xyRsU!#DqL0xT*2v`3R<96K88Vy>6D%VFas+glE16wFQ-qEX9v|9yYb| z!tRN-{*EsSrCg|8(kb`Tb^c-R8W=g8zwth6m;-D#teCp*IXb(ZZa z*DmK)c)DAky1IteH8(YKy}H|I7qY(3PvL&L75 zpgDm%910Y+0n^fF_47*wYyS{r!zqTX16fO9v|_0%q{i(F(Ky1UXSsA+U8v8Ztj<)n zj$w?fJ@@>ncRfL`eX@R*zWV|tsRI0J)}t2suPwf39*PcsdW9N)&c^!Ua@TPk(xR~^ zIB1<%dd0d*tx3ICfi+zMTqNkW)?r?rJzZ4mxXyH)bU(us?_Gi0wQRGpk82^7{kj`k zn$L|tXKLRIVdfO13l;P`?6c#!L|X6;&2ypVyW%l|;%xQN&02?Fm0P(;GxbEliy*HN zoBJFj81Krbpr2!Yz#Lx_9+t}UEw}FI&$%p|y%dvggr9_3-WtqOmM^|-KyAZzRkDFH zXkt+q$cJbV#i#H-F8>p`Ln6T-bsQdPTMCY@&CQJ`1V13Y?#}rkTlRw3_h;kY?J59 zlx24dXGRCQv9a-E4@UYg!^TO}!e7wNpyK4hGSy6$?>o&ML!~>A~5lelnu2S&owO zGE)#UsN7f@O|JVgo>NR>O!i(d5VV3VTdGQF$Xg{E3J?=UV*UX53{kGx-=ui$a(y|2 z;@HGm>dAHG+!+0}x*$?{V=KG=hMV;d$pe40(!J?YWvR*EfLK_DoVnXmp$xG@2J1?75h{pJUn+y_6PG8vv*xsQ>}bq|~L;!u2%?P2=&v6%h|kq(O$T zcOj;zghZ`({rvI#;0wBLBe2?6rH(S$Ag#2rl;75(B-PcNQuWI&R>O>3eq5EO=9-}| zbQ$D_2Mmu9IqqNJ${(K^bDbv|0{y7N*3cA&iO!2==?MN1egO@iZoZk-1C!2?9kf=Q&F> zqs!kz1CJ|QEoL1@eYc!xo-nWNQJ$^T$%fn)tXQF>LTrZfVlN8*GS4b0PsV-FduHYR z54mXUDV0t>a%3+3ZWp+K>K2aSAI|MwT$e0%ZMb@Dr|B-9_oi%5Q{bqzHcvDes8!(q} z-@hE$wF8TPnTjG)U5hRhwXjERbv?S^$N>Wh9Z~+L|-tbfcfe-e+F_MX980 zoD6WHrIYc&M(>-{Jl?6y$@H6EnO%@80QeLvPS5TG!h4$#4F=Zl$5qKcj5W0M!*+V! zM=tA2^+PIk?G8Vm{;^{81!pCR#ED4km3uI)2+7oQ21bee1q{KN8SfbQ&$e7^pu`RS z@GkmTE#P@zRHC@6DVOi&LX$D82nc#vIz;r1edBGlRg{S zXlzhRP@3xO)-Kj@V-3 z4Q{DWd`fFVK$ouv)6hrYKc;zl&jj3^ER2&QtfJue=p=XIMEHavU?g@hVt463jq{1c ze$scC(7byn_3FlPn;#)9ZLifT!r1*g=#*e)A|R$Y?GAJbfL;ronS0-aBA(d!+FsgR zN9MD7>%c!`Sbfy>cM_cx+<`zm;f)N9Jftei;pq~5_9qO)+6rA!x{NQ>*3)i@}dNQq%(vtC1y4nc!V#T-o! z9e5#(?}YzwCBvtgnxsXMu_^$H{$DNFsupOGQDGG0neW`D+#(nlfC}HS&aiRl6pG%= z&qwM?{MGLuT>*5DXD6UDFkR)2n3SDN(@a&WGef*bP@8)BufHQ;ka|w<=D+Da%MN&l zP_CTc%X6_U1Qk{pXQn{1apS-mIX7%hYJ6Dv`&|CC4ShenJn_3MY7I2SQ~>}elhCtX zJ!)&I#G8xVyXCGjydIUK%j&*)2agwbX;RRod^5>AR%1fr$4&<#Yi;(YUS4@Ly<`8d z)8%i_z|C*c=9W+&gHoxj0K;-bKgvAG#rLZsysE#2>7=-FeD8Czazt-WLA>T40whh( zE8EdW7!WPkxU}cq@KUkW%`}v{m|>cySwv!h_UOVzO{R5Cm(j^!h7;lLBf3jAEd(E3^w6I#)G$Zd7}Mdpj(ae5>}CjiwUGkBFk z56?pT5zsl6UfGG&tZR!jzePKuR>_X6dkpcVlX!;ZljvPiIQ!x0?~A=1@@S$T5j?Rm z5Prab%yC2N)a7u0<9vEzvWY4sNnhy9?g+|31GXQas{f|nrjM1%p0P7G(JNKp)fY$| zgodxSf2|$%e?D}UG8D7SegUnsZ+v4joGPur*;fH18QLvGS(Q!YlLx8Luu?22H7O@E zGeh>3FVv=|)vJ3%?QwSH)sTEYEVlzbKi9w4Di0%d7*va+$_Ctt9j5oMpB1Tzxo>pX z7TdO{F~Mv^w<0Q=R4;Ai%K=p0kKeKBp3F|Uz3$u4)}u@g={K1g4tEuMcU`=5(RY`; zB(sR8qgeq#K~E?D<*@7&?3a17n#Q@^D-;~(I(*u&rA2vE8xIwG?>zSVYR~N;NU`XC zt(EBGx#Q(-UlA;c=VY($RaCLo()>e{g-1|6s>nL0lARcR5(< zXD-Z1!-;E$_qojDr`w$e zI1W*uhI&gM3(Vec>*QzOhxCEv+FHgl1I8xs_jw4?9pG#;EB2)R!rd|$A6x7xReYgn zgS1M;56?#0HPt6Bb-}7##ug^rhmL10$6;mM^-NspXSiQ?_)z!gT#-*#3vQV|m5&yd z1QKr)&4I>&1^UA?yA;)=o?ZFGG9W0>0eX{D#p>J1`tHBnDiJ7>Bt@LMtNJiy_2N{g51pOf*8pL|T}Nm~Df*k&UqghObqsyzJ98 z%^NGj84g+H{l88j4%o7%A=OM|*1}duiYQ4o6$h7Tob)>3Q2zFzo$-|chJjm;H9C5l zG-{50O+1ZHriy(R(-P=qCcX-QK%zr|Qt>m=(qnwEm*R4JVC{{==~E%^@W^XQR*vz_U9<((4kB^Pw=z? zAQUa#Dv6}k%G%_*M2q?rRi+b-AFIfK%dOTnLa9Q9Z5Yy-^4uUN43sy4m2<8zVMEnyUIe^PGi2q4@gaVTD+VOKHa^ zG*(mRe*1~|6N!XJXdPT#c+8u=;yXd8fjJ9<72fY5GY#1(*q`;o0Rs}}YW3TG;W475 zsdHfDW^SkS&*z?Tg`x-F)-lhKJzoD%_sUMP(-Ru!?Okf^%rPq?R^^X^H7INna`9L9 zkF9PeIfNAKCtyP{A9tL01Djq0q|}nJ1Axw}*^kWcUvTxcBLFkB1%l+5Q&ZNfDZ&CYHP70$1yz&* z@qd`*Y$B(6etU;Qp0}5Z#EXyvsOnIt$3BSHe-`R%PS}m9XJ8yZ&aia~A?;@~~lC3(J7aMs(_Qp57~dC~6R zk5#l)y@x~W!Ywl87A0k}=@nq~G&@NNoO!No9yU$Ee41-Lei^iaNn%rTk`t>k)SLXB z({c+dOT&;3UzVcB4b4Z4O#LvC_soG*aX&tr;QFHre@87$xYtUe2c zWeSbIUX461maznOYm+C?Nu?4ckl}JS%(w3H#fy_EQPC%#R~hN>DR2Hw>+_=~ zCG&j^xj(6{Tu?%p1}{n{r8`UPa~ItFAM0khBN4iJ!G2Ecen;7vH=1Hw62f;BxxZJw zagBitiNqNdmLy4jxEPk8dJtx!lTSa*ak+V)Cs}aLw`}z=l{bN%a%F4eNPaci3c_hZ zq~y7l#WyEpit!IvIJ3~I%;d<&`jCJ`(TfftH)Wu;1PWm=+|?023)04MWK19<+YX&e zF-#Cgg!C5u)VD+Moi9*5j6iQ2VFn{gSW-0jy0qkj{+A=Du6pwNP(x?Rqvt2;mNT#pUV68u2PurrR#VmYA_vf6NY`0`Q_EkeQO+`(O#?1BblQ7{HrgoRNiUD=;E z+e5&&z^aFpvBeFNGH5*;N{v5OPihSgAP4q*P(qiE=n#9-dRXZL(P1P4H+6shfT4J` zmKJVx89~)^vtA%0-~9RIng_9mOx<6iB37w!?R7l>rIMKsS)p!PJ-B)@vK|Ufr!vit zr42Arixy$W_OqbTl>>y3!x>V$!=(*Evnf9I>+>NME#bcZK5VVSuTB`iu5sSFjCm^i zu(jGb^$z@`cvL8bj=GqcDofpF$@F!|A4yEQ>iwrmfG^6+rqTGUTl)F~Nm=2AVujjVO-S@QlD$*(`cXPBTe%7W+yw`{`EDh+ zaVXUSGghbYdE)VPZ!@<%v0&$3%6uH*sqQYEt5C}Jk$+WZB|RRMt}dahUdJtOB|K6c zENH@C$hV^B>6a}+hU|MjRaO`-YUXjvGq>B!v=e?j!H_U8$tRca50 zo5A;m1fc7iwZg_podRWH=me3x=Biq6xJK0#zWwZE-=fq7OqfnZeM$WC;E0ny_-v2D z$4_C1Sg?wm@?B-rHRptRK%vewY9{GqAjYWz3nY(@3vyb zh&_T(o7SjR)zV(A-Pj`%t1+syMvR1zQX+QD`{aIq&tLwJ&v~EMIp;O@S{y6;6IFb; zNp=+fA_?H8k92@=ww4D2fPDDacu$|~vMg=%mkb7f{Y$bERsb(UP02{Nq5fxU0t4h7 zo6&^*7{2$n#jTzhXK$XK0j;7HDs+`IChV&#QDaAULl%Qb_M121b6f4o*{(~@=zOxT z8U?J!foMv0+<(*5gE%oKmx8EDYfQaQcm}VYxZ;TjSBQ*{mbP|>{a-;~4})I>!hvc5 zef^Yq-fby43EMd!cZlrMb22s{8u>dMVtj#pC0Ww&^)p3=v|c~CG)I7R=KNj%f6ux< zK$`ikTkdfIBmxi!SQIpK#^i#PH<2OwPY7_085{M19|MF;=m-5~+IpbbNtVJJ5=~ zKvecMo7=C^%Eg{m$6)rdq-%RPCyRSj@0kyLO8WdaET&9(E;z2tNje#|RY%_W$Mu)H zF+`V;`n{WXPlYwn=ZQcrqLAK}Dt;pFe z+EQBlEH~nie`c^?EC2q}17qCpx=Pcp#^1nA%;sO0Zf}8Mnq-wXCe6kvhB+eVFH~krE8qA1is_8fh*{COkeM zTm>VuIpWWkdF4>6tn);4T79dmcoMhRV>uW)@hrCvIB>ngC0%dY=TIi2@20?1^}w|t z4m<_WbN=e!__J?a>db$dA*xfS>};FCZLm$}Cma<*4DxpE@~Wcl&#u ztCMEavNog!C)XP^LK`==vMS+tG>1zpVt(IST2Ko%OwS&9W8_GIb*_aCYDz8 zFc!Frv#djsc{2T)VM;LR+vl{suP=uul2|s$sX9h}09&~_=)f2`$i0}}5`&T?8XueK zxVkJ*YrCfM1b~g8Ymg+d8~eAosc%f^S+D%jh$Z7@1>H`8U!mR!Sgpf||K`rA1T=8& zyPmg>Ud~eQa4ylkz>!T{nK~Q0ZzA(r{X&#tX7^AW*VYL?>vm-Q#qPr+h0A_2FLp&l zb+xlnH&SsEN4g~!2+hCq%>R}S(h}+Ljzn%18N?f2_-0*zuzZR7HDg-n6hOuLAz#Vg z6$=YfkJq>J9kQ_5R7tYW?bBA-EK~dK=^tP=IPSBah;t#}BMvcN)eXFO3);K>VA{(r zmVj0z*xGOf(1;Q?ZgL6yL{RjC;&O{RRVlstv+mKB{+vSF-+D*Nb>o4FkaHE5VRI3~ zj~)N~j=i?)wqKj7-N59YVoVZmJD;b(r5y~`M-!1}!bFjlt!86}et*c*ZR5FrS&V%T zKG=xZsGGlR+1e4ee>jc!gf_65nb*@0a{Ig&w$<+bI`f2;xixwUb!zo->1SF<9}RWz zXY!`y9ZRGzYfS1)m`UH`h+>_@>!3MwGPshWK(a%OV|&~A{Wh8IB&7EHgM7(Y2&F}# z<)5`$+t$OD*Z|p7j{0qAf4Axyr0iokERD>Vz{@}g3tW{yY?p ze!exCC~VdK((XKG#!>Mi&jh%_T*$Lz16B5%OM<=bh0Ko)wwK`SS9w96Q@uvl105cX zi2ciA)B}!$ZiyqXv6nLqC z+Z0tMQCe6v&f<3RQ!u}!C^`f1SbT3&p5Jc2_VNM3Plvj8*Q&yJoaYV)=O>cB^=t}f zS!d;fBUbW_gp~jym^y^3x~QKfJzBs|Rfj}h!5wau1Q6=PbmnCGZhxKf&J!w{PEo2| zo`)!;17!di;lrP&zT8h$;$n2@Z@;Fi__aJ0P|(@PK~zV>KXwv5wQWl_GBb_)6NODE zU){7XAPR_oRB9CA-5iU{#9)45Vs>0}S1-AtKpn&fYN^U~s2G}9#0 z!HS}iD+AfOp%AXw9M$5k2l;-6gS*ob4W>{D_c!0xB9tlbi6s??V}Y8sJe##mASZ>& z$M2vi7-{1fzr_TNquL6IdkpR9PoYYnK{e>k09}E!t5gS+V>&GOn`72ptL8>-O>ggq zPCuO!^NmqCAy-1K|h(uFQW~gak;32J98P9nM%ldC*oVO7>8H zGkku(WQ-)hW3|OKhvq7M$O2Xcm_LU>b6EPGu*DD(dM)w}&z88k8a9vkQy zJwIi2r0`i;YhLye>%cEl)?~k>A;p!yvxN)XSHSN7$lmx${E4Y$9eVBPQ`#%+og3Bu zd9I%R&_5F;{9spK6_PiP8;2xqk3fipXh z{2e9lGz}u{=DoZPnAl2l7q7hRk<@I*%nq;^GU;DZ^Xui0P#>m5d2+5BLezErg#s<% z_+l0cWmpxiMhg8C`x%SM2+%v%!=?0d>tHK*i%h|2f&5IWev2t;5#&M?O&PIm*>^48 z9l2iB02Hj1epO#RRxs9nZP{rqJGskXo7PZHa@48w*SD|izL~{`ZNPR!Co+d*Gq+ug z9t6IBtUS+(-;U2Uwgg7YL?f0n11yCD4IzJ>RefK_&oAyR&8&rL_2T#h@OVvP&h^)G z#QwTtbYajGci%g%>%BiZ>%OPOgYeHv6pNx*OL2-3kfo0Y#~ss@c+)^x9w%NcX_5C7CxXJvEt}b4YHG}zlJ(%>ISIRx; zqy2Oi+r)lRL$0eW;xpnxB3zTm7iy+g(#`?64LNgWTNiK9 znNBzne3%=6tJM8=+}M0$f4Vw!FL(P=_Rx-uMmWc@7(tK8mxN$iRgyIX!RP8ZVtNYk~Of;kN|1!SF=h6MbaQHJMcAL4c zb-5VS3IWs)I%B5&m1RAdN>YrGxy6<$WiZNZvixcr*S(FFJ$!Xnj?_%O8fV87dXLxV^O+@LRMnyM$6%(F7PlqX@b!qPar_;A0BN~Znp2urRh zR#xF(XrsU{%Q70&at)rk1yO&eFlVfQLB-Tp8!!d@W}px1Zf+e)`5I_h$anQ3Nr7_etoN4Sh(n zQk9Oej?HjwL*6?{EaBFFNH~eD1y}u{&MH#hGxMC8TNzOopU*H3!VrNRQ)RhUszp7r ztW6TxuOKxw^a93let+!N`iSPu?#2j1&&Awc6zSP{|K}~LFbN)>oSx{UBxj~!KgPy8 z*VZ|a$x#yB7QUNFw`uy9B)dIQZ z1IC6nTbVvluEKDp>Hw5A6DG{rgI1Qok)r(Di1^hOL+XV52R-XrGPhj6iB*m2VVk5W zN>x}FtmW2Sd@uPk9v?3*e=k%4!S|}E*SRQArwC>RgW;1|rd{o-W}3_S@lfgCH2WfKA$G(rCCCXWiTw32oqgJe{o*^ShL~7 zQ_sGd9>&a=k`&X<-R+fW+?jhh(f_FqJ5boI=Jq_R!E)?rW?P_R^;|^o5Jk(4H>S4o z@<7C*cFa+3?NbC-N4cC)lwV`mw!Von0Vp#LHsKgtEj}&NFUX9Ee0s**dTC&%$!>vq zVEL8=y7b~IObO#MY&zDmoXA8Wu^9L-WC(v|I*>u-41&ILXbNk?W74QJJ~ZTQ5onOF2xKc#2nT zA?L6-iuK1gw8O(b8?v4Tc_Yv_ym7=@3Qk+rnlqta8wLT|$%K?b)Yd}9m>FPE9rZF4~QJQXt6?AgAmaWgog?#hfN{xH^)m>n7#$~j~2#xd7m z-WUea{l7m<+_WvBd;wx`=mVA}VvZ6REoZV25#!4A~?>d=jnKnDqODd-+vWg%`iA z-zep(ZhS!Vi-c&-@!-M3$d;}TDlS-X@B{KnZyD$H>64Mo@GZZEMbRCu3q_83{q|pX z&OYzNS{^f?htHnrL5EK_N zA86>r#S$gL;$qb zbItRtZ%Ga*XuH8YD`AH>j~TPH;Uw_(r)vg$S?YR<@bwmX7oc z5`|(evJ-x8!T_1qYcxoshr$2Vh&N_IjJY0zYce@bul@tXZ$jQgj~7g`TSpp?YNU1a zd<({mT=HAQbEf+fWLTx~+mZ7K{`T5)F6NC+PEiG66xN z&vryTW*cHl1D4$@QEt!4#UZpC25jTcn3)byh`yU4q_8=lid>#I&2}+BanEg~I}z-| zC!u=M_rQafmC0tVZJ>{WP0#yXu+dzSXy5Pl_x|%lnWsm?k#j|W+v4t@;w{XbXv(vo z)r$q;Uh)Vn75u4c#h3R?7Z8;X6qDeMsV{v|A`aB#y^r``_Y%_#uFXp>$>y^&lJ4uc zh1+F>5T7U0Z88x$Ca6+io~fmk_cp|!W>m3RINh8?4%wPtGnCC)Kzmi@{5WIsw%QN8 zB1F6<;~cnVH&GJ|6|3m(!>B^{Ha|;9lo;+nMNz%J*fofJGF22Ec{T##YF=n7TC+)= z#zY(;bu5oT9a`;3mrD;A2{4{5e~lmXoKuE6^Pq&^^SS-0Xh?aSWZ%wXHxDqsdcPg? zDfRvv%C@)Ts%YMJYF+2KWSG#lCsu%BfM-aM0bPR7QU`IMP)%>acIPrKe12@!uE+*I zpa0L3Coq`2X;ePj@oSK)FUhi~rCDjokU`(gJ0C`PyizAEypen3%5J$D`Cpcc0b~;N zEon!h5GDuH3B5Bk#E4cp+5f+iu=!tMh`MVdHN5limpQwRrEh9z3lzXxzCNM`u$Mci z_&3*fE7z!MKc(Pt<{1;atcNAuK(o*zLRz$q_S!6B;xr+DwqfMEYRjQFcwttfzj*zn z$#}lb+Ux%C;g?Gr#Sh>#Kbo3h&QY99V{ghWSME>wl5E?1*-jn3N%y~f-T2btw{pp- zRITd9+tV8&T27eeQ!uf;QnP!y)w|tVvGU`B)#s){kTOtn>y!9#>DRm5z?Piv_q%t^ zilbXv_)gfBP%%puxy8$VE79+FA7?+?d0D0z z74{oKwHGZtlJO9`cV%tfE0#!O@kY1Y2$8Fk>zn`Fbbk^53^pb#Ap7Zu zcAb;;iLEaq;P!E7Q_8pIq*z#6lmyQnPVCL8Y17Dz1VpLKz(_xq9$L$$7?~q;n@S0* zOMf6vbu(`Y_2nWrfleCBK6`Roewfy2wQ1_d>DLA1oYYRaG5LB7UW0uOqvBE9jOASG z+)lLH>wj4|uTJhdpS*)F+JI_u6iA&Qy85d3A3p#FHCthy7!><Yta&IDmT0?CCttM$T zZ2lPlLCaHGL8$v?Pjl%4g(*E9h>oQ*YeKnAFLeO<1t|L&v%oi08De)~IvjcFy1?lT z2k@CU(KHBw3J@iB&b7U}R!`OCq9}rR4eNm-y*)c-QN90w{%oV-HTxP~4cW*PckQ15 z#g=Igv7WlOvD#Z_Yy=)J6?AVg+*XkQlORN7kpBm*mfUmyhp-a=%8>ESeQe)pK#OJ5 zkf}mGBTneS zD?hD+oPp){t@aWR%3g;%OL6c$Tm*^_zUr`UA-8M0&ckYzYpbRbb)!h4s2U9JrJeJ{ z*00s!MxSKbya|gDgWFE(S8<2`0Aui}RrxcMC2wFr?miX#xt>N$y-n8q)76IMxc=VE^$NxJvsv9w=8*N@qBT!r#rxy4 zFGogw-d*fB1bNjYuh@#}d}1LuD6?w`p<_^azs{Uc-Jt-_S7U+JiSm{t7Q+Vt>YESP zO=0B%7Jc5V{2s`28GFZd{sUA5Bg|q30u%u(3uUn{=01iOnGbZ z7g9c=NWlyVxEkTF)wS7&9FYJ`6osyjUhxdRmB%YP7_O-o9DN(xbKu>t{J=+qBVfx9 zxm}vlL|Cf3u(ec*zO7G)uitU$1k!9tzelCXMJ-4eWO0DTk30y23B#i_pzB6O(gFoC z8XBiUvn}Sm3CfQD5m49+x)~8b`s*d$Q8i+xM#=OLuez_qw&(WD(l1BL zdDv5q5ZE_)P8-yh)v;OA3Z&<;PWUZ)Y^mC|Dc{U zuz6LL+pj_<2R&7)na|lAzjH2KREBfmqMjQCY9D6)M1FtoD8?kjhk*YC*tf%%h{uxr zR@BlQgVQJ5ya3^%Ge8xN%Oe?PP6)@pW&w+e@3uN~Em zY=kL1lwI9GJxC7WI6O5=#;a(YTWw~cUMi_Rx}%3(a=ONT;N|2uGK{+4k#{L=IHAkE z+oT~bGGpyhJToec-xqk`l;?OptWM?1Y+>ch;6b=lPU`}@O#ZbLNtdAWapF8{OQdDi z80_izM$9JA`}+fd?p>njoSkPn>m4nWlt4>PqJf!n>f~}A)L7V6!EmTpT#N5Z11I1x zbHZr~y!wNt)erzqq^*to-U2)sI$ibbCS0FNPxHh59toAR;!Rc)<+rJ8IIocOG0Rk& zn@wQs5?`vY1m8CMib?(P03qLqFEFy7^aywC{_RA;d*xo8r*eq@tU>RO(IorhtCA2lm{ed;8&tD zx{(B#3jH}D{kdu0JS>D0-`sxn(dYv;VFc_=LB_GeTRnY7RRrgug8v0O;ZY zOZDlT95U=yN2R5d42%|Tp>vsVJC{cq(d2lqJ#q#UIfdNwfyQaEf~>mrqRK`@J;_l% z39$>ESiBIl2Qy;bdS zYyndTal=3QXUN|qBq~wRGXE_8<5>N)FetSjJ+qr_wIcuAd_mW6-?RB!X|R93?i7Eh zFN&a;@gWpgoevbE;X**l4xiLWhb81iQJu3lhFjx-2rr`QeU70gt021&NwzRQLTD~P z=m$5@Nr1AG7L%cFh<|`Io^4;1bmLrEF{8b;!!=xx|La~$fX-g}lJ`XaIGs=y?Tgid ztNfIfS?QF`{?T;mO=zHwb4#13eQ+Wa{L)#~FCA31xH`U5lYPHgYqRauvfR=#UkxarDyi>z#(}g8e>2kpax5k2VqnZ5LPn8%wfJh5XiSE}z zsvIOCBit8u>lM22t6P&A3$f&MGDaRZigK@61TCsWaXl3Jm*wf2@)+%4@pHjsyt*Yv z3q4@S&u)C|s7ZaJ1G(Zjc*2q-aHhE-LB787l^~}-l#4=kUZ!(p*nlkB+JFZ&^Sb^IrWA-YbW*Y!Fbb^c1V znLjy}avfql1}T5mB%pwN#g%{ml*ci+202CHb8U}!H~_AQ(#x6*6|`_bq(+M~OK3CgL^I-l9R+W|FXWyy`+ej5!&TRmL%J^ioaW;{MjVd&Yxg}Bb1sP0 zd-q;4USZn`*cQ4r*70`t%O!Mz{_@w~B4ZQe9AepEcq}f_?KQ{87ezL+f2%_W#6Awc zMO8G3E&e)e6!6g&Uch+BzBG9kV5KfeZYf!`A&53vq9S zf0A8YCgWjcrRE|mzJIO``~8RSFBwpCDtRuwP2beu$vxhLIVEVwHtor!(x{5E9$1Fe zg-0NfY-MX??1=s>C^umzSEWtjW=5s3u|(H1lq>8RdyFw~uBtmShY)7_%{eF@XL3Nh z!3qkTmdTh)=>{hMmT1e!JgQAJ>2YMix3FiTl2FrNwY)zu=cWOIr>!Qss&+>>7T5y@ z1WY9DdnXnmfCH8Cn;-h7OUfx&&b#?#dCAtMXDTKvQQYk~*eFKkVwP-twwXJt+_h4l z3d0>rGgW0)`&B1BOGCu?aOOF?_LqUX5Mss0Nb

UJL~4d(Ly*QL(QL6r*TO_b@eE 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ä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 z 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

98>^kh)VNPYoLlpf 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 geOnuKbC 64, 32, 16 + context_dim: 2048 + spatial_transformer_attn_type: softmax-xformers + legacy: False + + conditioner_config: + target: sgm.modules.GeneralConditioner + params: + emb_models: + # crossattn cond + - is_trainable: False + input_key: txt + target: sgm.modules.encoders.modules.FrozenCLIPEmbedder + params: + layer: hidden + layer_idx: 11 + # crossattn and vector cond + - is_trainable: False + input_key: txt + target: sgm.modules.encoders.modules.FrozenOpenCLIPEmbedder2 + params: + arch: ViT-bigG-14 + version: laion2b_s39b_b160k + freeze: True + layer: penultimate + always_return_pooled: True + legacy: False + # vector cond + - is_trainable: False + input_key: original_size_as_tuple + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: crop_coords_top_left + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: target_size_as_tuple + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + + first_stage_config: + target: sgm.models.autoencoder.AutoencoderKLInferenceWrapper + params: + embed_dim: 4 + monitor: val/rec_loss + ddconfig: + attn_type: vanilla-xformers + double_z: true + z_channels: 4 + resolution: 256 + in_channels: 3 + out_ch: 3 + ch: 128 + ch_mult: [1, 2, 4, 4] + num_res_blocks: 2 + attn_resolutions: [] + dropout: 0.0 + lossconfig: + target: torch.nn.Identity diff --git a/configs/inference/sd_xl_refiner.yaml b/configs/inference/sd_xl_refiner.yaml new file mode 100644 index 00000000..cab5fe28 --- /dev/null +++ b/configs/inference/sd_xl_refiner.yaml @@ -0,0 +1,91 @@ +model: + target: sgm.models.diffusion.DiffusionEngine + params: + scale_factor: 0.13025 + disable_first_stage_autocast: True + + denoiser_config: + target: sgm.modules.diffusionmodules.denoiser.DiscreteDenoiser + params: + num_idx: 1000 + + weighting_config: + target: sgm.modules.diffusionmodules.denoiser_weighting.EpsWeighting + scaling_config: + target: sgm.modules.diffusionmodules.denoiser_scaling.EpsScaling + discretization_config: + target: sgm.modules.diffusionmodules.discretizer.LegacyDDPMDiscretization + + network_config: + target: sgm.modules.diffusionmodules.openaimodel.UNetModel + params: + adm_in_channels: 2560 + num_classes: sequential + use_checkpoint: True + in_channels: 4 + out_channels: 4 + model_channels: 384 + attention_resolutions: [4, 2] + num_res_blocks: 2 + channel_mult: [1, 2, 4, 4] + num_head_channels: 64 + use_spatial_transformer: True + use_linear_in_transformer: True + transformer_depth: 4 + context_dim: [1280, 1280, 1280, 1280] # 1280 + spatial_transformer_attn_type: softmax-xformers + legacy: False + + conditioner_config: + target: sgm.modules.GeneralConditioner + params: + emb_models: + # crossattn and vector cond + - is_trainable: False + input_key: txt + target: sgm.modules.encoders.modules.FrozenOpenCLIPEmbedder2 + params: + arch: ViT-bigG-14 + version: laion2b_s39b_b160k + legacy: False + freeze: True + layer: penultimate + always_return_pooled: True + # vector cond + - is_trainable: False + input_key: original_size_as_tuple + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: crop_coords_top_left + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by two + # vector cond + - is_trainable: False + input_key: aesthetic_score + target: sgm.modules.encoders.modules.ConcatTimestepEmbedderND + params: + outdim: 256 # multiplied by one + + first_stage_config: + target: sgm.models.autoencoder.AutoencoderKLInferenceWrapper + params: + embed_dim: 4 + monitor: val/rec_loss + ddconfig: + attn_type: vanilla-xformers + double_z: true + z_channels: 4 + resolution: 256 + in_channels: 3 + out_ch: 3 + ch: 128 + ch_mult: [1, 2, 4, 4] + num_res_blocks: 2 + attn_resolutions: [] + dropout: 0.0 + lossconfig: + target: torch.nn.Identity diff --git a/data/DejaVuSans.ttf b/data/DejaVuSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e5f7eecce43be41ff0703ed99e1553029b849f14 GIT binary patch literal 757076 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

fI);V1&`p^P@z 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%0Dm&v@4taQGLT-zh3S`AeK1 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,GZiO*k^1+ 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


*Toc{%?n7Na{@W#kyM+}-t@ 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�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 version.parse("2.0.0"): + parser.add_argument( + "--resume_from_checkpoint", + type=str, + default=None, + help="single checkpoint file to resume from", + ) + default_args = default_trainer_args() + for key in default_args: + parser.add_argument("--" + key, default=default_args[key]) + return parser + + +def get_checkpoint_name(logdir): + ckpt = os.path.join(logdir, "checkpoints", "last**.ckpt") + ckpt = natsorted(glob.glob(ckpt)) + print('available "last" checkpoints:') + print(ckpt) + if len(ckpt) > 1: + print("got most recent checkpoint") + ckpt = sorted(ckpt, key=lambda x: os.path.getmtime(x))[-1] + print(f"Most recent ckpt is {ckpt}") + with open(os.path.join(logdir, "most_recent_ckpt.txt"), "w") as f: + f.write(ckpt + "\n") + try: + version = int(ckpt.split("/")[-1].split("-v")[-1].split(".")[0]) + except Exception as e: + print("version confusion but not bad") + print(e) + version = 1 + # version = last_version + 1 + else: + # in this case, we only have one "last.ckpt" + ckpt = ckpt[0] + version = 1 + melk_ckpt_name = f"last-v{version}.ckpt" + print(f"Current melk ckpt name: {melk_ckpt_name}") + return ckpt, melk_ckpt_name + + +class SetupCallback(Callback): + def __init__( + self, + resume, + now, + logdir, + ckptdir, + cfgdir, + config, + lightning_config, + debug, + ckpt_name=None, + ): + super().__init__() + self.resume = resume + self.now = now + self.logdir = logdir + self.ckptdir = ckptdir + self.cfgdir = cfgdir + self.config = config + self.lightning_config = lightning_config + self.debug = debug + self.ckpt_name = ckpt_name + + def on_exception(self, trainer: pl.Trainer, pl_module, exception): + if not self.debug and trainer.global_rank == 0: + print("Summoning checkpoint.") + if self.ckpt_name is None: + ckpt_path = os.path.join(self.ckptdir, "last.ckpt") + else: + ckpt_path = os.path.join(self.ckptdir, self.ckpt_name) + trainer.save_checkpoint(ckpt_path) + + def on_fit_start(self, trainer, pl_module): + if trainer.global_rank == 0: + # Create logdirs and save configs + os.makedirs(self.logdir, exist_ok=True) + os.makedirs(self.ckptdir, exist_ok=True) + os.makedirs(self.cfgdir, exist_ok=True) + + if "callbacks" in self.lightning_config: + if ( + "metrics_over_trainsteps_checkpoint" + in self.lightning_config["callbacks"] + ): + os.makedirs( + os.path.join(self.ckptdir, "trainstep_checkpoints"), + exist_ok=True, + ) + print("Project config") + print(OmegaConf.to_yaml(self.config)) + if MULTINODE_HACKS: + import time + + time.sleep(5) + OmegaConf.save( + self.config, + os.path.join(self.cfgdir, "{}-project.yaml".format(self.now)), + ) + + print("Lightning config") + print(OmegaConf.to_yaml(self.lightning_config)) + OmegaConf.save( + OmegaConf.create({"lightning": self.lightning_config}), + os.path.join(self.cfgdir, "{}-lightning.yaml".format(self.now)), + ) + + else: + # ModelCheckpoint callback created log directory --- remove it + if not MULTINODE_HACKS and not self.resume and os.path.exists(self.logdir): + dst, name = os.path.split(self.logdir) + dst = os.path.join(dst, "child_runs", name) + os.makedirs(os.path.split(dst)[0], exist_ok=True) + try: + os.rename(self.logdir, dst) + except FileNotFoundError: + pass + + +class ImageLogger(Callback): + def __init__( + self, + batch_frequency, + max_images, + clamp=True, + increase_log_steps=True, + rescale=True, + disabled=False, + log_on_batch_idx=False, + log_first_step=False, + log_images_kwargs=None, + log_before_first_step=False, + enable_autocast=True, + ): + super().__init__() + self.enable_autocast = enable_autocast + self.rescale = rescale + self.batch_freq = batch_frequency + self.max_images = max_images + self.log_steps = [2**n for n in range(int(np.log2(self.batch_freq)) + 1)] + if not increase_log_steps: + self.log_steps = [self.batch_freq] + self.clamp = clamp + self.disabled = disabled + self.log_on_batch_idx = log_on_batch_idx + self.log_images_kwargs = log_images_kwargs if log_images_kwargs else {} + self.log_first_step = log_first_step + self.log_before_first_step = log_before_first_step + + @rank_zero_only + def log_local( + self, + save_dir, + split, + images, + global_step, + current_epoch, + batch_idx, + pl_module: Union[None, pl.LightningModule] = None, + ): + root = os.path.join(save_dir, "images", split) + for k in images: + if isheatmap(images[k]): + fig, ax = plt.subplots() + ax = ax.matshow( + images[k].cpu().numpy(), cmap="hot", interpolation="lanczos" + ) + plt.colorbar(ax) + plt.axis("off") + + filename = "{}_gs-{:06}_e-{:06}_b-{:06}.png".format( + k, global_step, current_epoch, batch_idx + ) + os.makedirs(root, exist_ok=True) + path = os.path.join(root, filename) + plt.savefig(path) + plt.close() + # TODO: support wandb + else: + grid = torchvision.utils.make_grid(images[k], nrow=4) + if self.rescale: + grid = (grid + 1.0) / 2.0 # -1,1 -> 0,1; c,h,w + grid = grid.transpose(0, 1).transpose(1, 2).squeeze(-1) + grid = grid.numpy() + grid = (grid * 255).astype(np.uint8) + filename = "{}_gs-{:06}_e-{:06}_b-{:06}.png".format( + k, global_step, current_epoch, batch_idx + ) + path = os.path.join(root, filename) + os.makedirs(os.path.split(path)[0], exist_ok=True) + img = Image.fromarray(grid) + img.save(path) + if exists(pl_module): + assert isinstance( + pl_module.logger, WandbLogger + ), "logger_log_image only supports WandbLogger currently" + pl_module.logger.log_image( + key=f"{split}/{k}", + images=[ + img, + ], + step=pl_module.global_step, + ) + + @rank_zero_only + def log_img(self, pl_module, batch, batch_idx, split="train"): + check_idx = batch_idx if self.log_on_batch_idx else pl_module.global_step + if ( + self.check_frequency(check_idx) + and hasattr(pl_module, "log_images") # batch_idx % self.batch_freq == 0 + and callable(pl_module.log_images) + and + # batch_idx > 5 and + self.max_images > 0 + ): + logger = type(pl_module.logger) + is_train = pl_module.training + if is_train: + pl_module.eval() + + gpu_autocast_kwargs = { + "enabled": self.enable_autocast, # torch.is_autocast_enabled(), + "dtype": torch.get_autocast_gpu_dtype(), + "cache_enabled": torch.is_autocast_cache_enabled(), + } + with torch.no_grad(), torch.cuda.amp.autocast(**gpu_autocast_kwargs): + images = pl_module.log_images( + batch, split=split, **self.log_images_kwargs + ) + + for k in images: + N = min(images[k].shape[0], self.max_images) + if not isheatmap(images[k]): + images[k] = images[k][:N] + if isinstance(images[k], torch.Tensor): + images[k] = images[k].detach().float().cpu() + if self.clamp and not isheatmap(images[k]): + images[k] = torch.clamp(images[k], -1.0, 1.0) + + self.log_local( + pl_module.logger.save_dir, + split, + images, + pl_module.global_step, + pl_module.current_epoch, + batch_idx, + pl_module=pl_module + if isinstance(pl_module.logger, WandbLogger) + else None, + ) + + if is_train: + pl_module.train() + + def check_frequency(self, check_idx): + if ((check_idx % self.batch_freq) == 0 or (check_idx in self.log_steps)) and ( + check_idx > 0 or self.log_first_step + ): + try: + self.log_steps.pop(0) + except IndexError as e: + print(e) + pass + return True + return False + + @rank_zero_only + def on_train_batch_end(self, trainer, pl_module, outputs, batch, batch_idx): + if not self.disabled and (pl_module.global_step > 0 or self.log_first_step): + self.log_img(pl_module, batch, batch_idx, split="train") + + @rank_zero_only + def on_train_batch_start(self, trainer, pl_module, batch, batch_idx): + if self.log_before_first_step and pl_module.global_step == 0: + print(f"{self.__class__.__name__}: logging before training") + self.log_img(pl_module, batch, batch_idx, split="train") + + @rank_zero_only + # def on_validation_batch_end(self, trainer, pl_module, outputs, batch, batch_idx): + def on_validation_batch_end( + self, trainer, pl_module, outputs, batch, batch_idx, **kwargs + ): + if not self.disabled and pl_module.global_step > 0: + self.log_img(pl_module, batch, batch_idx, split="val") + if hasattr(pl_module, "calibrate_grad_norm"): + if ( + pl_module.calibrate_grad_norm and batch_idx % 25 == 0 + ) and batch_idx > 0: + self.log_gradients(trainer, pl_module, batch_idx=batch_idx) + + +@rank_zero_only +def init_wandb(save_dir, opt, config, group_name, name_str): + print(f"setting WANDB_DIR to {save_dir}") + os.makedirs(save_dir, exist_ok=True) + + os.environ["WANDB_DIR"] = save_dir + if opt.debug: + wandb.init(project=opt.projectname, mode="offline", group=group_name) + else: + wandb.init( + project=opt.projectname, + config=config, + settings=wandb.Settings(code_dir="./sgm"), + group=group_name, + name=name_str, + ) + + +if __name__ == "__main__": + # custom parser to specify config files, train, test and debug mode, + # postfix, resume. + # `--key value` arguments are interpreted as arguments to the trainer. + # `nested.key=value` arguments are interpreted as config parameters. + # configs are merged from left-to-right followed by command line parameters. + + # model: + # base_learning_rate: float + # target: path to lightning module + # params: + # key: value + # data: + # target: main.DataModuleFromConfig + # params: + # batch_size: int + # wrap: bool + # train: + # target: path to train dataset + # params: + # key: value + # validation: + # target: path to validation dataset + # params: + # key: value + # test: + # target: path to test dataset + # params: + # key: value + # lightning: (optional, has sane defaults and can be specified on cmdline) + # trainer: + # additional arguments to trainer + # logger: + # logger to instantiate + # modelcheckpoint: + # modelcheckpoint to instantiate + # callbacks: + # callback1: + # target: importpath + # params: + # key: value + + now = datetime.datetime.now().strftime("%Y-%m-%dT%H-%M-%S") + + # add cwd for convenience and to make classes in this file available when + # running as `python main.py` + # (in particular `main.DataModuleFromConfig`) + sys.path.append(os.getcwd()) + + parser = get_parser() + + opt, unknown = parser.parse_known_args() + + if opt.name and opt.resume: + raise ValueError( + "-n/--name and -r/--resume cannot be specified both." + "If you want to resume training in a new log folder, " + "use -n/--name in combination with --resume_from_checkpoint" + ) + melk_ckpt_name = None + name = None + if opt.resume: + if not os.path.exists(opt.resume): + raise ValueError("Cannot find {}".format(opt.resume)) + if os.path.isfile(opt.resume): + paths = opt.resume.split("/") + # idx = len(paths)-paths[::-1].index("logs")+1 + # logdir = "/".join(paths[:idx]) + logdir = "/".join(paths[:-2]) + ckpt = opt.resume + _, melk_ckpt_name = get_checkpoint_name(logdir) + else: + assert os.path.isdir(opt.resume), opt.resume + logdir = opt.resume.rstrip("/") + ckpt, melk_ckpt_name = get_checkpoint_name(logdir) + + print("#" * 100) + print(f'Resuming from checkpoint "{ckpt}"') + print("#" * 100) + + opt.resume_from_checkpoint = ckpt + base_configs = sorted(glob.glob(os.path.join(logdir, "configs/*.yaml"))) + opt.base = base_configs + opt.base + _tmp = logdir.split("/") + nowname = _tmp[-1] + else: + if opt.name: + name = "_" + opt.name + elif opt.base: + if opt.no_base_name: + name = "" + else: + if opt.legacy_naming: + cfg_fname = os.path.split(opt.base[0])[-1] + cfg_name = os.path.splitext(cfg_fname)[0] + else: + assert "configs" in os.path.split(opt.base[0])[0], os.path.split( + opt.base[0] + )[0] + cfg_path = os.path.split(opt.base[0])[0].split(os.sep)[ + os.path.split(opt.base[0])[0].split(os.sep).index("configs") + + 1 : + ] # cut away the first one (we assert all configs are in "configs") + cfg_name = os.path.splitext(os.path.split(opt.base[0])[-1])[0] + cfg_name = "-".join(cfg_path) + f"-{cfg_name}" + name = "_" + cfg_name + else: + name = "" + if not opt.no_date: + nowname = now + name + opt.postfix + else: + nowname = name + opt.postfix + if nowname.startswith("_"): + nowname = nowname[1:] + logdir = os.path.join(opt.logdir, nowname) + print(f"LOGDIR: {logdir}") + + ckptdir = os.path.join(logdir, "checkpoints") + cfgdir = os.path.join(logdir, "configs") + seed_everything(opt.seed, workers=True) + + # move before model init, in case a torch.compile(...) is called somewhere + if opt.enable_tf32: + # pt_version = version.parse(torch.__version__) + torch.backends.cuda.matmul.allow_tf32 = True + torch.backends.cudnn.allow_tf32 = True + print(f"Enabling TF32 for PyTorch {torch.__version__}") + else: + print(f"Using default TF32 settings for PyTorch {torch.__version__}:") + print( + f"torch.backends.cuda.matmul.allow_tf32={torch.backends.cuda.matmul.allow_tf32}" + ) + print(f"torch.backends.cudnn.allow_tf32={torch.backends.cudnn.allow_tf32}") + + try: + # init and save configs + configs = [OmegaConf.load(cfg) for cfg in opt.base] + cli = OmegaConf.from_dotlist(unknown) + config = OmegaConf.merge(*configs, cli) + lightning_config = config.pop("lightning", OmegaConf.create()) + # merge trainer cli with config + trainer_config = lightning_config.get("trainer", OmegaConf.create()) + + # default to gpu + trainer_config["accelerator"] = "gpu" + # + standard_args = default_trainer_args() + for k in standard_args: + if getattr(opt, k) != standard_args[k]: + trainer_config[k] = getattr(opt, k) + + ckpt_resume_path = opt.resume_from_checkpoint + + if not "devices" in trainer_config and trainer_config["accelerator"] != "gpu": + del trainer_config["accelerator"] + cpu = True + else: + gpuinfo = trainer_config["devices"] + print(f"Running on GPUs {gpuinfo}") + cpu = False + trainer_opt = argparse.Namespace(**trainer_config) + lightning_config.trainer = trainer_config + + # model + model = instantiate_from_config(config.model) + + # trainer and callbacks + trainer_kwargs = dict() + + # default logger configs + default_logger_cfgs = { + "wandb": { + "target": "pytorch_lightning.loggers.WandbLogger", + "params": { + "name": nowname, + # "save_dir": logdir, + "offline": opt.debug, + "id": nowname, + "project": opt.projectname, + "log_model": False, + # "dir": logdir, + }, + }, + "csv": { + "target": "pytorch_lightning.loggers.CSVLogger", + "params": { + "name": "testtube", # hack for sbord fanatics + "save_dir": logdir, + }, + }, + } + default_logger_cfg = default_logger_cfgs["wandb" if opt.wandb else "csv"] + if opt.wandb: + # TODO change once leaving "swiffer" config directory + try: + group_name = nowname.split(now)[-1].split("-")[1] + except: + group_name = nowname + default_logger_cfg["params"]["group"] = group_name + init_wandb( + os.path.join(os.getcwd(), logdir), + opt=opt, + group_name=group_name, + config=config, + name_str=nowname, + ) + if "logger" in lightning_config: + logger_cfg = lightning_config.logger + else: + logger_cfg = OmegaConf.create() + logger_cfg = OmegaConf.merge(default_logger_cfg, logger_cfg) + trainer_kwargs["logger"] = instantiate_from_config(logger_cfg) + + # modelcheckpoint - use TrainResult/EvalResult(checkpoint_on=metric) to + # specify which metric is used to determine best models + default_modelckpt_cfg = { + "target": "pytorch_lightning.callbacks.ModelCheckpoint", + "params": { + "dirpath": ckptdir, + "filename": "{epoch:06}", + "verbose": True, + "save_last": True, + }, + } + if hasattr(model, "monitor"): + print(f"Monitoring {model.monitor} as checkpoint metric.") + default_modelckpt_cfg["params"]["monitor"] = model.monitor + default_modelckpt_cfg["params"]["save_top_k"] = 3 + + if "modelcheckpoint" in lightning_config: + modelckpt_cfg = lightning_config.modelcheckpoint + else: + modelckpt_cfg = OmegaConf.create() + modelckpt_cfg = OmegaConf.merge(default_modelckpt_cfg, modelckpt_cfg) + print(f"Merged modelckpt-cfg: \n{modelckpt_cfg}") + + # https://pytorch-lightning.readthedocs.io/en/stable/extensions/strategy.html + # default to ddp if not further specified + default_strategy_config = {"target": "pytorch_lightning.strategies.DDPStrategy"} + + if "strategy" in lightning_config: + strategy_cfg = lightning_config.strategy + else: + strategy_cfg = OmegaConf.create() + default_strategy_config["params"] = { + "find_unused_parameters": False, + # "static_graph": True, + # "ddp_comm_hook": default.fp16_compress_hook # TODO: experiment with this, also for DDPSharded + } + strategy_cfg = OmegaConf.merge(default_strategy_config, strategy_cfg) + print( + f"strategy config: \n ++++++++++++++ \n {strategy_cfg} \n ++++++++++++++ " + ) + trainer_kwargs["strategy"] = instantiate_from_config(strategy_cfg) + + # add callback which sets up log directory + default_callbacks_cfg = { + "setup_callback": { + "target": "main.SetupCallback", + "params": { + "resume": opt.resume, + "now": now, + "logdir": logdir, + "ckptdir": ckptdir, + "cfgdir": cfgdir, + "config": config, + "lightning_config": lightning_config, + "debug": opt.debug, + "ckpt_name": melk_ckpt_name, + }, + }, + "image_logger": { + "target": "main.ImageLogger", + "params": {"batch_frequency": 1000, "max_images": 4, "clamp": True}, + }, + "learning_rate_logger": { + "target": "pytorch_lightning.callbacks.LearningRateMonitor", + "params": { + "logging_interval": "step", + # "log_momentum": True + }, + }, + } + if version.parse(pl.__version__) >= version.parse("1.4.0"): + default_callbacks_cfg.update({"checkpoint_callback": modelckpt_cfg}) + + if "callbacks" in lightning_config: + callbacks_cfg = lightning_config.callbacks + else: + callbacks_cfg = OmegaConf.create() + + if "metrics_over_trainsteps_checkpoint" in callbacks_cfg: + print( + "Caution: Saving checkpoints every n train steps without deleting. This might require some free space." + ) + default_metrics_over_trainsteps_ckpt_dict = { + "metrics_over_trainsteps_checkpoint": { + "target": "pytorch_lightning.callbacks.ModelCheckpoint", + "params": { + "dirpath": os.path.join(ckptdir, "trainstep_checkpoints"), + "filename": "{epoch:06}-{step:09}", + "verbose": True, + "save_top_k": -1, + "every_n_train_steps": 10000, + "save_weights_only": True, + }, + } + } + default_callbacks_cfg.update(default_metrics_over_trainsteps_ckpt_dict) + + callbacks_cfg = OmegaConf.merge(default_callbacks_cfg, callbacks_cfg) + if "ignore_keys_callback" in callbacks_cfg and ckpt_resume_path is not None: + callbacks_cfg.ignore_keys_callback.params["ckpt_path"] = ckpt_resume_path + elif "ignore_keys_callback" in callbacks_cfg: + del callbacks_cfg["ignore_keys_callback"] + + trainer_kwargs["callbacks"] = [ + instantiate_from_config(callbacks_cfg[k]) for k in callbacks_cfg + ] + if not "plugins" in trainer_kwargs: + trainer_kwargs["plugins"] = list() + + # cmd line trainer args (which are in trainer_opt) have always priority over config-trainer-args (which are in trainer_kwargs) + trainer_opt = vars(trainer_opt) + trainer_kwargs = { + key: val for key, val in trainer_kwargs.items() if key not in trainer_opt + } + trainer = Trainer(**trainer_opt, **trainer_kwargs) + + trainer.logdir = logdir ### + + # data + data = instantiate_from_config(config.data) + # NOTE according to https://pytorch-lightning.readthedocs.io/en/latest/datamodules.html + # calling these ourselves should not be necessary but it is. + # lightning still takes care of proper multiprocessing though + data.prepare_data() + # data.setup() + print("#### Data #####") + try: + for k in data.datasets: + print( + f"{k}, {data.datasets[k].__class__.__name__}, {len(data.datasets[k])}" + ) + except: + print("datasets not yet initialized.") + + # configure learning rate + if "batch_size" in config.data.params: + bs, base_lr = config.data.params.batch_size, config.model.base_learning_rate + else: + bs, base_lr = ( + config.data.params.train.loader.batch_size, + config.model.base_learning_rate, + ) + if not cpu: + ngpu = len(lightning_config.trainer.devices.strip(",").split(",")) + else: + ngpu = 1 + if "accumulate_grad_batches" in lightning_config.trainer: + accumulate_grad_batches = lightning_config.trainer.accumulate_grad_batches + else: + accumulate_grad_batches = 1 + print(f"accumulate_grad_batches = {accumulate_grad_batches}") + lightning_config.trainer.accumulate_grad_batches = accumulate_grad_batches + if opt.scale_lr: + model.learning_rate = accumulate_grad_batches * ngpu * bs * base_lr + print( + "Setting learning rate to {:.2e} = {} (accumulate_grad_batches) * {} (num_gpus) * {} (batchsize) * {:.2e} (base_lr)".format( + model.learning_rate, accumulate_grad_batches, ngpu, bs, base_lr + ) + ) + else: + model.learning_rate = base_lr + print("++++ NOT USING LR SCALING ++++") + print(f"Setting learning rate to {model.learning_rate:.2e}") + + # allow checkpointing via USR1 + def melk(*args, **kwargs): + # run all checkpoint hooks + if trainer.global_rank == 0: + print("Summoning checkpoint.") + if melk_ckpt_name is None: + ckpt_path = os.path.join(ckptdir, "last.ckpt") + else: + ckpt_path = os.path.join(ckptdir, melk_ckpt_name) + trainer.save_checkpoint(ckpt_path) + + def divein(*args, **kwargs): + if trainer.global_rank == 0: + import pudb + + pudb.set_trace() + + import signal + + signal.signal(signal.SIGUSR1, melk) + signal.signal(signal.SIGUSR2, divein) + + # run + if opt.train: + try: + trainer.fit(model, data, ckpt_path=ckpt_resume_path) + except Exception: + if not opt.debug: + melk() + raise + if not opt.no_test and not trainer.interrupted: + trainer.test(model, data) + except RuntimeError as err: + if MULTINODE_HACKS: + import requests + import datetime + import os + import socket + + device = os.environ.get("CUDA_VISIBLE_DEVICES", "?") + hostname = socket.gethostname() + ts = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") + resp = requests.get("http://169.254.169.254/latest/meta-data/instance-id") + print( + f"ERROR at {ts} on {hostname}/{resp.text} (CUDA_VISIBLE_DEVICES={device}): {type(err).__name__}: {err}", + flush=True, + ) + raise err + except Exception: + if opt.debug and trainer.global_rank == 0: + try: + import pudb as debugger + except ImportError: + import pdb as debugger + debugger.post_mortem() + raise + finally: + # move newly created debug project to debug_runs + if opt.debug and not opt.resume and trainer.global_rank == 0: + dst, name = os.path.split(logdir) + dst = os.path.join(dst, "debug_runs", name) + os.makedirs(os.path.split(dst)[0], exist_ok=True) + os.rename(logdir, dst) + + if opt.wandb: + wandb.finish() + # if trainer.global_rank == 0: + # print(trainer.profiler.summary()) diff --git a/requirements_pt13.txt b/requirements_pt13.txt new file mode 100644 index 00000000..3d5b117c --- /dev/null +++ b/requirements_pt13.txt @@ -0,0 +1,41 @@ +omegaconf +einops +fire +tqdm +pillow +numpy +webdataset>=0.2.33 +--extra-index-url https://download.pytorch.org/whl/cu117 +torch==1.13.1+cu117 +xformers==0.0.16 +torchaudio==0.13.1 +torchvision==0.14.1+cu117 +torchmetrics +opencv-python==4.6.0.66 +fairscale +pytorch-lightning==1.8.5 +fsspec +kornia==0.6.9 +matplotlib +natsort +tensorboardx==2.5.1 +open-clip-torch +chardet +scipy +pandas +pudb +pyyaml +urllib3<1.27,>=1.25.4 +streamlit>=0.73.1 +timm +tokenizers==0.12.1 +torchdata==0.5.1 +transformers==4.19.1 +onnx<=1.12.0 +triton +wandb +invisible-watermark +-e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers +-e git+https://github.com/openai/CLIP.git@main#egg=clip +-e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata +-e . \ No newline at end of file diff --git a/requirements_pt2.txt b/requirements_pt2.txt new file mode 100644 index 00000000..9988b908 --- /dev/null +++ b/requirements_pt2.txt @@ -0,0 +1,41 @@ +omegaconf +einops +fire +tqdm +pillow +numpy +webdataset>=0.2.33 +ninja +torch +matplotlib +torchaudio>=2.0.2 +torchmetrics +torchvision>=0.15.2 +opencv-python==4.6.0.66 +fairscale +pytorch-lightning==2.0.1 +fire +fsspec +kornia==0.6.9 +natsort +open-clip-torch +chardet==5.1.0 +tensorboardx==2.6 +pandas +pudb +pyyaml +urllib3<1.27,>=1.25.4 +scipy +streamlit>=0.73.1 +timm +tokenizers==0.12.1 +transformers==4.19.1 +triton==2.0.0 +torchdata==0.6.1 +wandb +invisible-watermark +xformers +-e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers +-e git+https://github.com/openai/CLIP.git@main#egg=clip +-e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata +-e . \ No newline at end of file diff --git a/scripts/demo/detect.py b/scripts/demo/detect.py new file mode 100644 index 00000000..823ae8d3 --- /dev/null +++ b/scripts/demo/detect.py @@ -0,0 +1,157 @@ +import argparse + +import cv2 +import numpy as np + +try: + from imwatermark import WatermarkDecoder +except ImportError as e: + try: + # Assume some of the other dependencies such as torch are not fulfilled + # import file without loading unnecessary libraries. + import importlib.util + import sys + + spec = importlib.util.find_spec("imwatermark.maxDct") + assert spec is not None + maxDct = importlib.util.module_from_spec(spec) + sys.modules["maxDct"] = maxDct + spec.loader.exec_module(maxDct) + + class WatermarkDecoder(object): + """A minimal version of + https://github.com/ShieldMnt/invisible-watermark/blob/main/imwatermark/watermark.py + to only reconstruct bits using dwtDct""" + + def __init__(self, wm_type="bytes", length=0): + assert wm_type == "bits", "Only bits defined in minimal import" + self._wmType = wm_type + self._wmLen = length + + def reconstruct(self, bits): + if len(bits) != self._wmLen: + raise RuntimeError("bits are not matched with watermark length") + + return bits + + def decode(self, cv2Image, method="dwtDct", **configs): + (r, c, channels) = cv2Image.shape + if r * c < 256 * 256: + raise RuntimeError("image too small, should be larger than 256x256") + + bits = [] + assert method == "dwtDct" + embed = maxDct.EmbedMaxDct(watermarks=[], wmLen=self._wmLen, **configs) + bits = embed.decode(cv2Image) + return self.reconstruct(bits) + + except: + raise e + + +# A fixed 48-bit message that was choosen at random +# WATERMARK_MESSAGE = 0xB3EC907BB19E +WATERMARK_MESSAGE = 0b101100111110110010010000011110111011000110011110 +# bin(x)[2:] gives bits of x as str, use int to convert them to 0/1 +WATERMARK_BITS = [int(bit) for bit in bin(WATERMARK_MESSAGE)[2:]] +MATCH_VALUES = [ + [27, "No watermark detected"], + [33, "Partial watermark match. Cannot determine with certainty."], + [ + 35, + ( + "Likely watermarked. In our test 0.02% of real images were " + 'falsely detected as "Likely watermarked"' + ), + ], + [ + 49, + ( + "Very likely watermarked. In our test no real images were " + 'falsely detected as "Very likely watermarked"' + ), + ], +] + + +class GetWatermarkMatch: + def __init__(self, watermark): + self.watermark = watermark + self.num_bits = len(self.watermark) + self.decoder = WatermarkDecoder("bits", self.num_bits) + + def __call__(self, x: np.ndarray) -> np.ndarray: + """ + Detects the number of matching bits the predefined watermark with one + or multiple images. Images should be in cv2 format, e.g. h x w x c. + + Args: + x: ([B], h w, c) in range [0, 255] + + Returns: + number of matched bits ([B],) + """ + squeeze = len(x.shape) == 3 + if squeeze: + x = x[None, ...] + x = np.flip(x, axis=-1) + + bs = x.shape[0] + detected = np.empty((bs, self.num_bits), dtype=bool) + for k in range(bs): + detected[k] = self.decoder.decode(x[k], "dwtDct") + result = np.sum(detected == self.watermark, axis=-1) + if squeeze: + return result[0] + else: + return result + + +get_watermark_match = GetWatermarkMatch(WATERMARK_BITS) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument( + "filename", + nargs="+", + type=str, + help="Image files to check for watermarks", + ) + opts = parser.parse_args() + + print( + """ + This script tries to detect watermarked images. Please be aware of + the following: + - As the watermark is supposed to be invisible, there is the risk that + watermarked images may not be detected. + - To maximize the chance of detection make sure that the image has the same + dimensions as when the watermark was applied (most likely 1024x1024 + or 512x512). + - Specific image manipulation may drastically decrease the chance that + watermarks can be detected. + - There is also the chance that an image has the characteristics of the + watermark by chance. + - The watermark script is public, anybody may watermark any images, and + could therefore claim it to be generated. + - All numbers below are based on a test using 10,000 images without any + modifications after applying the watermark. + """ + ) + + for fn in opts.filename: + image = cv2.imread(fn) + if image is None: + print(f"Couldn't read {fn}. Skipping") + continue + + num_bits = get_watermark_match(image) + k = 0 + while num_bits > MATCH_VALUES[k][0]: + k += 1 + print( + f"{fn}: {MATCH_VALUES[k][1]}", + f"Bits that matched the watermark {num_bits} from {len(WATERMARK_BITS)}\n", + sep="\n\t", + ) diff --git a/scripts/demo/sampling.py b/scripts/demo/sampling.py new file mode 100644 index 00000000..0aa1a424 --- /dev/null +++ b/scripts/demo/sampling.py @@ -0,0 +1,328 @@ +from pytorch_lightning import seed_everything +from scripts.demo.streamlit_helpers import * +from scripts.util.detection.nsfw_and_watermark_dectection import DeepFloydDataFiltering + +SAVE_PATH = "outputs/demo/txt2img/" + +SD_XL_BASE_RATIOS = { + "0.5": (704, 1408), + "0.52": (704, 1344), + "0.57": (768, 1344), + "0.6": (768, 1280), + "0.68": (832, 1216), + "0.72": (832, 1152), + "0.78": (896, 1152), + "0.82": (896, 1088), + "0.88": (960, 1088), + "0.94": (960, 1024), + "1.0": (1024, 1024), + "1.07": (1024, 960), + "1.13": (1088, 960), + "1.21": (1088, 896), + "1.29": (1152, 896), + "1.38": (1152, 832), + "1.46": (1216, 832), + "1.67": (1280, 768), + "1.75": (1344, 768), + "1.91": (1344, 704), + "2.0": (1408, 704), + "2.09": (1472, 704), + "2.4": (1536, 640), + "2.5": (1600, 640), + "2.89": (1664, 576), + "3.0": (1728, 576), +} + +VERSION2SPECS = { + "SD-XL base": { + "H": 1024, + "W": 1024, + "C": 4, + "f": 8, + "is_legacy": False, + "config": "configs/inference/sd_xl_base.yaml", + "ckpt": "checkpoints/sd_xl_base_0.9.safetensors", + "is_guided": True, + }, + "sd-2.1": { + "H": 512, + "W": 512, + "C": 4, + "f": 8, + "is_legacy": True, + "config": "configs/inference/sd_2_1.yaml", + "ckpt": "checkpoints/v2-1_512-ema-pruned.safetensors", + "is_guided": True, + }, + "sd-2.1-768": { + "H": 768, + "W": 768, + "C": 4, + "f": 8, + "is_legacy": True, + "config": "configs/inference/sd_2_1_768.yaml", + "ckpt": "checkpoints/v2-1_768-ema-pruned.safetensors", + }, + "SDXL-Refiner": { + "H": 1024, + "W": 1024, + "C": 4, + "f": 8, + "is_legacy": True, + "config": "configs/inference/sd_xl_refiner.yaml", + "ckpt": "checkpoints/sd_xl_refiner_0.9.safetensors", + "is_guided": True, + }, +} + + +def load_img(display=True, key=None, device="cuda"): + image = get_interactive_image(key=key) + if image is None: + return None + if display: + st.image(image) + w, h = image.size + print(f"loaded input image of size ({w}, {h})") + width, height = map( + lambda x: x - x % 64, (w, h) + ) # resize to integer multiple of 64 + image = image.resize((width, height)) + image = np.array(image.convert("RGB")) + image = image[None].transpose(0, 3, 1, 2) + image = torch.from_numpy(image).to(dtype=torch.float32) / 127.5 - 1.0 + return image.to(device) + + +def run_txt2img( + state, version, version_dict, is_legacy=False, return_latents=False, filter=None +): + if version == "SD-XL base": + ratio = st.sidebar.selectbox("Ratio:", list(SD_XL_BASE_RATIOS.keys()), 10) + W, H = SD_XL_BASE_RATIOS[ratio] + else: + H = st.sidebar.number_input( + "H", value=version_dict["H"], min_value=64, max_value=2048 + ) + W = st.sidebar.number_input( + "W", value=version_dict["W"], min_value=64, max_value=2048 + ) + C = version_dict["C"] + F = version_dict["f"] + + init_dict = { + "orig_width": W, + "orig_height": H, + "target_width": W, + "target_height": H, + } + value_dict = init_embedder_options( + get_unique_embedder_keys_from_conditioner(state["model"].conditioner), + init_dict, + prompt=prompt, + negative_prompt=negative_prompt, + ) + num_rows, num_cols, sampler = init_sampling( + use_identity_guider=not version_dict["is_guided"] + ) + + num_samples = num_rows * num_cols + + if st.button("Sample"): + st.write(f"**Model I:** {version}") + out = do_sample( + state["model"], + sampler, + value_dict, + num_samples, + H, + W, + C, + F, + force_uc_zero_embeddings=["txt"] if not is_legacy else [], + return_latents=return_latents, + filter=filter, + ) + return out + + +def run_img2img( + state, version_dict, is_legacy=False, return_latents=False, filter=None +): + img = load_img() + if img is None: + return None + H, W = img.shape[2], img.shape[3] + + init_dict = { + "orig_width": W, + "orig_height": H, + "target_width": W, + "target_height": H, + } + value_dict = init_embedder_options( + get_unique_embedder_keys_from_conditioner(state["model"].conditioner), + init_dict, + ) + strength = st.number_input( + "**Img2Img Strength**", value=0.5, min_value=0.0, max_value=1.0 + ) + num_rows, num_cols, sampler = init_sampling( + img2img_strength=strength, + use_identity_guider=not version_dict["is_guided"], + ) + num_samples = num_rows * num_cols + + if st.button("Sample"): + out = do_img2img( + repeat(img, "1 ... -> n ...", n=num_samples), + state["model"], + sampler, + value_dict, + num_samples, + force_uc_zero_embeddings=["txt"] if not is_legacy else [], + return_latents=return_latents, + filter=filter, + ) + return out + + +def apply_refiner( + input, + state, + sampler, + num_samples, + prompt, + negative_prompt, + filter=None, +): + init_dict = { + "orig_width": input.shape[3] * 8, + "orig_height": input.shape[2] * 8, + "target_width": input.shape[3] * 8, + "target_height": input.shape[2] * 8, + } + + value_dict = init_dict + value_dict["prompt"] = prompt + value_dict["negative_prompt"] = negative_prompt + + value_dict["crop_coords_top"] = 0 + value_dict["crop_coords_left"] = 0 + + value_dict["aesthetic_score"] = 6.0 + value_dict["negative_aesthetic_score"] = 2.5 + + st.warning(f"refiner input shape: {input.shape}") + samples = do_img2img( + input, + state["model"], + sampler, + value_dict, + num_samples, + skip_encode=True, + filter=filter, + ) + + return samples + + +if __name__ == "__main__": + st.title("Stable Diffusion") + version = st.selectbox("Model Version", list(VERSION2SPECS.keys()), 0) + version_dict = VERSION2SPECS[version] + mode = st.radio("Mode", ("txt2img", "img2img"), 0) + st.write("__________________________") + + if version == "SD-XL base": + add_pipeline = st.checkbox("Load SDXL-Refiner?", False) + st.write("__________________________") + else: + add_pipeline = False + + filter = DeepFloydDataFiltering(verbose=False) + + seed = st.sidebar.number_input("seed", value=42, min_value=0, max_value=int(1e9)) + seed_everything(seed) + + save_locally, save_path = init_save_locally(os.path.join(SAVE_PATH, version)) + + state = init_st(version_dict) + if state["msg"]: + st.info(state["msg"]) + model = state["model"] + + is_legacy = version_dict["is_legacy"] + + prompt = st.text_input( + "prompt", + "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k", + ) + if is_legacy: + negative_prompt = st.text_input("negative prompt", "") + else: + negative_prompt = "" # which is unused + + if add_pipeline: + st.write("__________________________") + + version2 = "SDXL-Refiner" + st.warning( + f"Running with {version2} as the second stage model. Make sure to provide (V)RAM :) " + ) + st.write("**Refiner Options:**") + + version_dict2 = VERSION2SPECS[version2] + state2 = init_st(version_dict2) + st.info(state2["msg"]) + + stage2strength = st.number_input( + "**Refinement strength**", value=0.3, min_value=0.0, max_value=1.0 + ) + + sampler2 = init_sampling( + key=2, + img2img_strength=stage2strength, + use_identity_guider=not version_dict["is_guided"], + get_num_samples=False, + ) + st.write("__________________________") + + if mode == "txt2img": + out = run_txt2img( + state, + version, + version_dict, + is_legacy=is_legacy, + return_latents=add_pipeline, + filter=filter, + ) + elif mode == "img2img": + out = run_img2img( + state, + version_dict, + is_legacy=is_legacy, + return_latents=add_pipeline, + filter=filter, + ) + else: + raise ValueError(f"unknown mode {mode}") + if isinstance(out, (tuple, list)): + samples, samples_z = out + else: + samples = out + + if add_pipeline: + st.write("**Running Refinement Stage**") + samples = apply_refiner( + samples_z, + state2, + sampler2, + samples_z.shape[0], + prompt=prompt, + negative_prompt=negative_prompt if is_legacy else "", + filter=filter, + ) + + if save_locally and samples is not None: + perform_save_locally(save_path, samples) diff --git a/scripts/demo/streamlit_helpers.py b/scripts/demo/streamlit_helpers.py new file mode 100644 index 00000000..ddc9c6ba --- /dev/null +++ b/scripts/demo/streamlit_helpers.py @@ -0,0 +1,668 @@ +import os +from typing import Union, List + +import math +import numpy as np +import streamlit as st +import torch +from PIL import Image +from einops import rearrange, repeat +from imwatermark import WatermarkEncoder +from omegaconf import OmegaConf, ListConfig +from torch import autocast +from torchvision import transforms +from torchvision.utils import make_grid +from safetensors.torch import load_file as load_safetensors + +from sgm.modules.diffusionmodules.sampling import ( + EulerEDMSampler, + HeunEDMSampler, + EulerAncestralSampler, + DPMPP2SAncestralSampler, + DPMPP2MSampler, + LinearMultistepSampler, +) +from sgm.util import append_dims +from sgm.util import instantiate_from_config + + +class WatermarkEmbedder: + def __init__(self, watermark): + self.watermark = watermark + self.num_bits = len(WATERMARK_BITS) + self.encoder = WatermarkEncoder() + self.encoder.set_watermark("bits", self.watermark) + + def __call__(self, image: torch.Tensor): + """ + Adds a predefined watermark to the input image + + Args: + image: ([N,] B, C, H, W) in range [0, 1] + + Returns: + same as input but watermarked + """ + # watermarking libary expects input as cv2 format + squeeze = len(image.shape) == 4 + if squeeze: + image = image[None, ...] + n = image.shape[0] + image_np = rearrange( + (255 * image).detach().cpu(), "n b c h w -> (n b) h w c" + ).numpy() + # torch (b, c, h, w) in [0, 1] -> numpy (b, h, w, c) [0, 255] + for k in range(image_np.shape[0]): + image_np[k] = self.encoder.encode(image_np[k], "dwtDct") + image = torch.from_numpy( + rearrange(image_np, "(n b) h w c -> n b c h w", n=n) + ).to(image.device) + image = torch.clamp(image / 255, min=0.0, max=1.0) + if squeeze: + image = image[0] + return image + + +# A fixed 48-bit message that was choosen at random +# WATERMARK_MESSAGE = 0xB3EC907BB19E +WATERMARK_MESSAGE = 0b101100111110110010010000011110111011000110011110 +# bin(x)[2:] gives bits of x as str, use int to convert them to 0/1 +WATERMARK_BITS = [int(bit) for bit in bin(WATERMARK_MESSAGE)[2:]] +embed_watemark = WatermarkEmbedder(WATERMARK_BITS) + + +@st.cache_resource() +def init_st(version_dict, load_ckpt=True): + state = dict() + if not "model" in state: + config = version_dict["config"] + ckpt = version_dict["ckpt"] + + config = OmegaConf.load(config) + model, msg = load_model_from_config(config, ckpt if load_ckpt else None) + + state["msg"] = msg + state["model"] = model + state["ckpt"] = ckpt if load_ckpt else None + state["config"] = config + return state + + +def load_model_from_config(config, ckpt=None, verbose=True): + model = instantiate_from_config(config.model) + + if ckpt is not None: + print(f"Loading model from {ckpt}") + if ckpt.endswith("ckpt"): + pl_sd = torch.load(ckpt, map_location="cpu") + if "global_step" in pl_sd: + global_step = pl_sd["global_step"] + st.info(f"loaded ckpt from global step {global_step}") + print(f"Global Step: {pl_sd['global_step']}") + sd = pl_sd["state_dict"] + elif ckpt.endswith("safetensors"): + sd = load_safetensors(ckpt) + else: + raise NotImplementedError + + msg = None + + m, u = model.load_state_dict(sd, strict=False) + + if len(m) > 0 and verbose: + print("missing keys:") + print(m) + if len(u) > 0 and verbose: + print("unexpected keys:") + print(u) + else: + msg = None + + model.cuda() + model.eval() + return model, msg + + +def get_unique_embedder_keys_from_conditioner(conditioner): + return list(set([x.input_key for x in conditioner.embedders])) + + +def init_embedder_options(keys, init_dict, prompt=None, negative_prompt=None): + # Hardcoded demo settings; might undergo some changes in the future + + value_dict = {} + for key in keys: + if key == "txt": + if prompt is None: + prompt = st.text_input( + "Prompt", "A professional photograph of an astronaut riding a pig" + ) + if negative_prompt is None: + negative_prompt = st.text_input("Negative prompt", "") + + value_dict["prompt"] = prompt + value_dict["negative_prompt"] = negative_prompt + + if key == "original_size_as_tuple": + orig_width = st.number_input( + "orig_width", + value=init_dict["orig_width"], + min_value=16, + ) + orig_height = st.number_input( + "orig_height", + value=init_dict["orig_height"], + min_value=16, + ) + + value_dict["orig_width"] = orig_width + value_dict["orig_height"] = orig_height + + if key == "crop_coords_top_left": + crop_coord_top = st.number_input("crop_coords_top", value=0, min_value=0) + crop_coord_left = st.number_input("crop_coords_left", value=0, min_value=0) + + value_dict["crop_coords_top"] = crop_coord_top + value_dict["crop_coords_left"] = crop_coord_left + + if key == "aesthetic_score": + value_dict["aesthetic_score"] = 6.0 + value_dict["negative_aesthetic_score"] = 2.5 + + if key == "target_size_as_tuple": + target_width = st.number_input( + "target_width", + value=init_dict["target_width"], + min_value=16, + ) + target_height = st.number_input( + "target_height", + value=init_dict["target_height"], + min_value=16, + ) + + value_dict["target_width"] = target_width + value_dict["target_height"] = target_height + + return value_dict + + +def perform_save_locally(save_path, samples): + os.makedirs(os.path.join(save_path), exist_ok=True) + base_count = len(os.listdir(os.path.join(save_path))) + samples = embed_watemark(samples) + for sample in samples: + sample = 255.0 * rearrange(sample.cpu().numpy(), "c h w -> h w c") + Image.fromarray(sample.astype(np.uint8)).save( + os.path.join(save_path, f"{base_count:09}.png") + ) + base_count += 1 + + +def init_save_locally(_dir, init_value: bool = False): + save_locally = st.sidebar.checkbox("Save images locally", value=init_value) + if save_locally: + save_path = st.text_input("Save path", value=os.path.join(_dir, "samples")) + else: + save_path = None + + return save_locally, save_path + + +class Img2ImgDiscretizationWrapper: + """ + wraps a discretizer, and prunes the sigmas + params: + strength: float between 0.0 and 1.0. 1.0 means full sampling (all sigmas are returned) + """ + + def __init__(self, discretization, strength: float = 1.0): + self.discretization = discretization + self.strength = strength + assert 0.0 <= self.strength <= 1.0 + + def __call__(self, *args, **kwargs): + # sigmas start large first, and decrease then + sigmas = self.discretization(*args, **kwargs) + print(f"sigmas after discretization, before pruning img2img: ", sigmas) + sigmas = torch.flip(sigmas, (0,)) + sigmas = sigmas[: max(int(self.strength * len(sigmas)), 1)] + print("prune index:", max(int(self.strength * len(sigmas)), 1)) + sigmas = torch.flip(sigmas, (0,)) + print(f"sigmas after pruning: ", sigmas) + return sigmas + + +def get_guider(key): + guider = st.sidebar.selectbox( + f"Discretization #{key}", + [ + "VanillaCFG", + "IdentityGuider", + ], + ) + + if guider == "IdentityGuider": + guider_config = { + "target": "sgm.modules.diffusionmodules.guiders.IdentityGuider" + } + elif guider == "VanillaCFG": + scale = st.number_input( + f"cfg-scale #{key}", value=5.0, min_value=0.0, max_value=100.0 + ) + + thresholder = st.sidebar.selectbox( + f"Thresholder #{key}", + [ + "None", + ], + ) + + if thresholder == "None": + dyn_thresh_config = { + "target": "sgm.modules.diffusionmodules.sampling_utils.NoDynamicThresholding" + } + else: + raise NotImplementedError + + guider_config = { + "target": "sgm.modules.diffusionmodules.guiders.VanillaCFG", + "params": {"scale": scale, "dyn_thresh_config": dyn_thresh_config}, + } + else: + raise NotImplementedError + return guider_config + + +def init_sampling( + key=1, img2img_strength=1.0, use_identity_guider=False, get_num_samples=True +): + if get_num_samples: + num_rows = 1 + num_cols = st.number_input( + f"num cols #{key}", value=2, min_value=1, max_value=10 + ) + + steps = st.sidebar.number_input( + f"steps #{key}", value=50, min_value=1, max_value=1000 + ) + sampler = st.sidebar.selectbox( + f"Sampler #{key}", + [ + "EulerEDMSampler", + "HeunEDMSampler", + "EulerAncestralSampler", + "DPMPP2SAncestralSampler", + "DPMPP2MSampler", + "LinearMultistepSampler", + ], + 0, + ) + discretization = st.sidebar.selectbox( + f"Discretization #{key}", + [ + "LegacyDDPMDiscretization", + "EDMDiscretization", + ], + ) + + discretization_config = get_discretization(discretization, key=key) + + guider_config = get_guider(key=key) + + sampler = get_sampler(sampler, steps, discretization_config, guider_config, key=key) + if img2img_strength < 1.0: + st.warning( + f"Wrapping {sampler.__class__.__name__} with Img2ImgDiscretizationWrapper" + ) + sampler.discretization = Img2ImgDiscretizationWrapper( + sampler.discretization, strength=img2img_strength + ) + if get_num_samples: + return num_rows, num_cols, sampler + return sampler + + +def get_discretization(discretization, key=1): + if discretization == "LegacyDDPMDiscretization": + use_new_range = st.checkbox(f"Start from highest noise level? #{key}", False) + discretization_config = { + "target": "sgm.modules.diffusionmodules.discretizer.LegacyDDPMDiscretization", + "params": {"legacy_range": not use_new_range}, + } + elif discretization == "EDMDiscretization": + sigma_min = st.number_input(f"sigma_min #{key}", value=0.03) # 0.0292 + sigma_max = st.number_input(f"sigma_max #{key}", value=14.61) # 14.6146 + rho = st.number_input(f"rho #{key}", value=3.0) + discretization_config = { + "target": "sgm.modules.diffusionmodules.discretizer.EDMDiscretization", + "params": { + "sigma_min": sigma_min, + "sigma_max": sigma_max, + "rho": rho, + }, + } + + return discretization_config + + +def get_sampler(sampler_name, steps, discretization_config, guider_config, key=1): + if sampler_name == "EulerEDMSampler" or sampler_name == "HeunEDMSampler": + s_churn = st.sidebar.number_input(f"s_churn #{key}", value=0.0, min_value=0.0) + s_tmin = st.sidebar.number_input(f"s_tmin #{key}", value=0.0, min_value=0.0) + s_tmax = st.sidebar.number_input(f"s_tmax #{key}", value=999.0, min_value=0.0) + s_noise = st.sidebar.number_input(f"s_noise #{key}", value=1.0, min_value=0.0) + + if sampler_name == "EulerEDMSampler": + sampler = EulerEDMSampler( + num_steps=steps, + discretization_config=discretization_config, + guider_config=guider_config, + s_churn=s_churn, + s_tmin=s_tmin, + s_tmax=s_tmax, + s_noise=s_noise, + verbose=True, + ) + elif sampler_name == "HeunEDMSampler": + sampler = HeunEDMSampler( + num_steps=steps, + discretization_config=discretization_config, + guider_config=guider_config, + s_churn=s_churn, + s_tmin=s_tmin, + s_tmax=s_tmax, + s_noise=s_noise, + verbose=True, + ) + elif ( + sampler_name == "EulerAncestralSampler" + or sampler_name == "DPMPP2SAncestralSampler" + ): + s_noise = st.sidebar.number_input("s_noise", value=1.0, min_value=0.0) + eta = st.sidebar.number_input("eta", value=1.0, min_value=0.0) + + if sampler_name == "EulerAncestralSampler": + sampler = EulerAncestralSampler( + num_steps=steps, + discretization_config=discretization_config, + guider_config=guider_config, + eta=eta, + s_noise=s_noise, + verbose=True, + ) + elif sampler_name == "DPMPP2SAncestralSampler": + sampler = DPMPP2SAncestralSampler( + num_steps=steps, + discretization_config=discretization_config, + guider_config=guider_config, + eta=eta, + s_noise=s_noise, + verbose=True, + ) + elif sampler_name == "DPMPP2MSampler": + sampler = DPMPP2MSampler( + num_steps=steps, + discretization_config=discretization_config, + guider_config=guider_config, + verbose=True, + ) + elif sampler_name == "LinearMultistepSampler": + order = st.sidebar.number_input("order", value=4, min_value=1) + sampler = LinearMultistepSampler( + num_steps=steps, + discretization_config=discretization_config, + guider_config=guider_config, + order=order, + verbose=True, + ) + else: + raise ValueError(f"unknown sampler {sampler_name}!") + + return sampler + + +def get_interactive_image(key=None) -> Image.Image: + image = st.file_uploader("Input", type=["jpg", "JPEG", "png"], key=key) + if image is not None: + image = Image.open(image) + if not image.mode == "RGB": + image = image.convert("RGB") + return image + + +def load_img(display=True, key=None): + image = get_interactive_image(key=key) + if image is None: + return None + if display: + st.image(image) + w, h = image.size + print(f"loaded input image of size ({w}, {h})") + + transform = transforms.Compose( + [ + transforms.ToTensor(), + transforms.Lambda(lambda x: x * 2.0 - 1.0), + ] + ) + img = transform(image)[None, ...] + st.text(f"input min/max/mean: {img.min():.3f}/{img.max():.3f}/{img.mean():.3f}") + return img + + +def get_init_img(batch_size=1, key=None): + init_image = load_img(key=key).cuda() + init_image = repeat(init_image, "1 ... -> b ...", b=batch_size) + return init_image + + +def do_sample( + model, + sampler, + value_dict, + num_samples, + H, + W, + C, + F, + force_uc_zero_embeddings: List = None, + batch2model_input: List = None, + return_latents=False, + filter=None, +): + if force_uc_zero_embeddings is None: + force_uc_zero_embeddings = [] + if batch2model_input is None: + batch2model_input = [] + + st.text("Sampling") + + outputs = st.empty() + precision_scope = autocast + with torch.no_grad(): + with precision_scope("cuda"): + with model.ema_scope(): + num_samples = [num_samples] + batch, batch_uc = get_batch( + get_unique_embedder_keys_from_conditioner(model.conditioner), + value_dict, + num_samples, + ) + for key in batch: + if isinstance(batch[key], torch.Tensor): + print(key, batch[key].shape) + elif isinstance(batch[key], list): + print(key, [len(l) for l in batch[key]]) + else: + print(key, batch[key]) + c, uc = model.conditioner.get_unconditional_conditioning( + batch, + batch_uc=batch_uc, + force_uc_zero_embeddings=force_uc_zero_embeddings, + ) + + for k in c: + if not k == "crossattn": + c[k], uc[k] = map( + lambda y: y[k][: math.prod(num_samples)].to("cuda"), (c, uc) + ) + + additional_model_inputs = {} + for k in batch2model_input: + additional_model_inputs[k] = batch[k] + + shape = (math.prod(num_samples), C, H // F, W // F) + randn = torch.randn(shape).to("cuda") + + def denoiser(input, sigma, c): + return model.denoiser( + model.model, input, sigma, c, **additional_model_inputs + ) + + samples_z = sampler(denoiser, randn, cond=c, uc=uc) + samples_x = model.decode_first_stage(samples_z) + samples = torch.clamp((samples_x + 1.0) / 2.0, min=0.0, max=1.0) + + if filter is not None: + samples = filter(samples) + + grid = torch.stack([samples]) + grid = rearrange(grid, "n b c h w -> (n h) (b w) c") + outputs.image(grid.cpu().numpy()) + + if return_latents: + return samples, samples_z + return samples + + +def get_batch(keys, value_dict, N: Union[List, ListConfig], device="cuda"): + # Hardcoded demo setups; might undergo some changes in the future + + batch = {} + batch_uc = {} + + for key in keys: + if key == "txt": + batch["txt"] = ( + np.repeat([value_dict["prompt"]], repeats=math.prod(N)) + .reshape(N) + .tolist() + ) + batch_uc["txt"] = ( + np.repeat([value_dict["negative_prompt"]], repeats=math.prod(N)) + .reshape(N) + .tolist() + ) + elif key == "original_size_as_tuple": + batch["original_size_as_tuple"] = ( + torch.tensor([value_dict["orig_height"], value_dict["orig_width"]]) + .to(device) + .repeat(*N, 1) + ) + elif key == "crop_coords_top_left": + batch["crop_coords_top_left"] = ( + torch.tensor( + [value_dict["crop_coords_top"], value_dict["crop_coords_left"]] + ) + .to(device) + .repeat(*N, 1) + ) + elif key == "aesthetic_score": + batch["aesthetic_score"] = ( + torch.tensor([value_dict["aesthetic_score"]]).to(device).repeat(*N, 1) + ) + batch_uc["aesthetic_score"] = ( + torch.tensor([value_dict["negative_aesthetic_score"]]) + .to(device) + .repeat(*N, 1) + ) + + elif key == "target_size_as_tuple": + batch["target_size_as_tuple"] = ( + torch.tensor([value_dict["target_height"], value_dict["target_width"]]) + .to(device) + .repeat(*N, 1) + ) + else: + batch[key] = value_dict[key] + + for key in batch.keys(): + if key not in batch_uc and isinstance(batch[key], torch.Tensor): + batch_uc[key] = torch.clone(batch[key]) + return batch, batch_uc + + +@torch.no_grad() +def do_img2img( + img, + model, + sampler, + value_dict, + num_samples, + force_uc_zero_embeddings=[], + additional_kwargs={}, + offset_noise_level: int = 0.0, + return_latents=False, + skip_encode=False, + filter=None, +): + st.text("Sampling") + + outputs = st.empty() + precision_scope = autocast + with torch.no_grad(): + with precision_scope("cuda"): + with model.ema_scope(): + batch, batch_uc = get_batch( + get_unique_embedder_keys_from_conditioner(model.conditioner), + value_dict, + [num_samples], + ) + c, uc = model.conditioner.get_unconditional_conditioning( + batch, + batch_uc=batch_uc, + force_uc_zero_embeddings=force_uc_zero_embeddings, + ) + + for k in c: + c[k], uc[k] = map(lambda y: y[k][:num_samples].to("cuda"), (c, uc)) + + for k in additional_kwargs: + c[k] = uc[k] = additional_kwargs[k] + if skip_encode: + z = img + else: + z = model.encode_first_stage(img) + noise = torch.randn_like(z) + sigmas = sampler.discretization(sampler.num_steps) + sigma = sigmas[0] + + st.info(f"all sigmas: {sigmas}") + st.info(f"noising sigma: {sigma}") + + if offset_noise_level > 0.0: + noise = noise + offset_noise_level * append_dims( + torch.randn(z.shape[0], device=z.device), z.ndim + ) + noised_z = z + noise * append_dims(sigma, z.ndim) + noised_z = noised_z / torch.sqrt( + 1.0 + sigmas[0] ** 2.0 + ) # Note: hardcoded to DDPM-like scaling. need to generalize later. + + def denoiser(x, sigma, c): + return model.denoiser(model.model, x, sigma, c) + + samples_z = sampler(denoiser, noised_z, cond=c, uc=uc) + samples_x = model.decode_first_stage(samples_z) + samples = torch.clamp((samples_x + 1.0) / 2.0, min=0.0, max=1.0) + + if filter is not None: + samples = filter(samples) + + grid = embed_watemark(torch.stack([samples])) + grid = rearrange(grid, "n b c h w -> (n h) (b w) c") + outputs.image(grid.cpu().numpy()) + if return_latents: + return samples, samples_z + return samples diff --git a/scripts/util/detection/nsfw_and_watermark_dectection.py b/scripts/util/detection/nsfw_and_watermark_dectection.py new file mode 100644 index 00000000..af84acf3 --- /dev/null +++ b/scripts/util/detection/nsfw_and_watermark_dectection.py @@ -0,0 +1,104 @@ +import os +import torch +import numpy as np +import torchvision.transforms as T +from PIL import Image +import clip + +RESOURCES_ROOT = "scripts/util/detection/" + + +def predict_proba(X, weights, biases): + logits = X @ weights.T + biases + proba = np.where( + logits >= 0, 1 / (1 + np.exp(-logits)), np.exp(logits) / (1 + np.exp(logits)) + ) + return proba.T + + +def load_model_weights(path: str): + model_weights = np.load(path) + return model_weights["weights"], model_weights["biases"] + + +def clip_process_images(images: torch.Tensor) -> torch.Tensor: + min_size = min(images.shape[-2:]) + return T.Compose( + [ + T.CenterCrop(min_size), # TODO: this might affect the watermark, check this + T.Resize(224, interpolation=T.InterpolationMode.BICUBIC, antialias=True), + T.Normalize( + (0.48145466, 0.4578275, 0.40821073), + (0.26862954, 0.26130258, 0.27577711), + ), + ] + )(images) + + +class DeepFloydDataFiltering(object): + def __init__(self, verbose: bool = False): + super().__init__() + self.verbose = verbose + self.clip_model, _ = clip.load("ViT-L/14", device="cpu") + self.clip_model.eval() + + self.cpu_w_weights, self.cpu_w_biases = load_model_weights( + os.path.join(RESOURCES_ROOT, "w_head_v1.npz") + ) + self.cpu_p_weights, self.cpu_p_biases = load_model_weights( + os.path.join(RESOURCES_ROOT, "p_head_v1.npz") + ) + self.w_threshold, self.p_threshold = 0.5, 0.5 + + @torch.inference_mode() + def __call__(self, images: torch.Tensor) -> torch.Tensor: + imgs = clip_process_images(images) + image_features = self.clip_model.encode_image(imgs.to("cpu")) + image_features = image_features.detach().cpu().numpy().astype(np.float16) + p_pred = predict_proba(image_features, self.cpu_p_weights, self.cpu_p_biases) + w_pred = predict_proba(image_features, self.cpu_w_weights, self.cpu_w_biases) + print(f"p_pred = {p_pred}, w_pred = {w_pred}") if self.verbose else None + query = p_pred > self.p_threshold + if query.sum() > 0: + print(f"Hit for p_threshold: {p_pred}") if self.verbose else None + images[query] = T.GaussianBlur(99, sigma=(100.0, 100.0))(images[query]) + query = w_pred > self.w_threshold + if query.sum() > 0: + print(f"Hit for w_threshold: {w_pred}") if self.verbose else None + images[query] = T.GaussianBlur(99, sigma=(100.0, 100.0))(images[query]) + return images + + +def load_img(path: str) -> torch.Tensor: + image = Image.open(path) + if not image.mode == "RGB": + image = image.convert("RGB") + image_transforms = T.Compose( + [ + T.ToTensor(), + ] + ) + return image_transforms(image)[None, ...] + + +def test(root): + from einops import rearrange + + filter = DeepFloydDataFiltering(verbose=True) + for p in os.listdir((root)): + print(f"running on {p}...") + img = load_img(os.path.join(root, p)) + filtered_img = filter(img) + filtered_img = rearrange( + 255.0 * (filtered_img.numpy())[0], "c h w -> h w c" + ).astype(np.uint8) + Image.fromarray(filtered_img).save( + os.path.join(root, f"{os.path.splitext(p)[0]}-filtered.jpg") + ) + + +if __name__ == "__main__": + import fire + + fire.Fire(test) + print("done.") diff --git a/scripts/util/detection/p_head_v1.npz b/scripts/util/detection/p_head_v1.npz new file mode 100644 index 0000000000000000000000000000000000000000..a2c3babe1f441c5112121a0924e04bb22eb835eb GIT binary patch literal 3588 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 TS__LzS7uB#&#BRO)^zqyyR2P! literal 0 HcmV?d00001 diff --git a/scripts/util/detection/w_head_v1.npz b/scripts/util/detection/w_head_v1.npz new file mode 100644 index 0000000000000000000000000000000000000000..65030c5ea5e239d90faaf788145a287fa9f54a05 GIT binary patch literal 3588 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 None: + print("Preparing datasets") + if self.dummy: + data_fn = create_dummy_dataset + else: + data_fn = create_dataset + + self.train_datapipeline = data_fn(**self.train_config.datapipeline) + if self.val_config: + self.val_datapipeline = data_fn(**self.val_config.datapipeline) + if self.test_config: + self.test_datapipeline = data_fn(**self.test_config.datapipeline) + + def train_dataloader(self) -> torchdata.datapipes.iter.IterDataPipe: + loader = create_loader(self.train_datapipeline, **self.train_config.loader) + return loader + + def val_dataloader(self) -> wds.DataPipeline: + return create_loader(self.val_datapipeline, **self.val_config.loader) + + def test_dataloader(self) -> wds.DataPipeline: + return create_loader(self.test_datapipeline, **self.test_config.loader) diff --git a/sgm/data/mnist.py b/sgm/data/mnist.py new file mode 100644 index 00000000..ab7478f4 --- /dev/null +++ b/sgm/data/mnist.py @@ -0,0 +1,85 @@ +import torchvision +import pytorch_lightning as pl +from torchvision import transforms +from torch.utils.data import DataLoader, Dataset + + +class MNISTDataDictWrapper(Dataset): + def __init__(self, dset): + super().__init__() + self.dset = dset + + def __getitem__(self, i): + x, y = self.dset[i] + return {"jpg": x, "cls": y} + + def __len__(self): + return len(self.dset) + + +class MNISTLoader(pl.LightningDataModule): + def __init__(self, batch_size, num_workers=0, prefetch_factor=2, shuffle=True): + super().__init__() + + transform = transforms.Compose( + [transforms.ToTensor(), transforms.Lambda(lambda x: x * 2.0 - 1.0)] + ) + + self.batch_size = batch_size + self.num_workers = num_workers + self.prefetch_factor = prefetch_factor if num_workers > 0 else 0 + self.shuffle = shuffle + self.train_dataset = MNISTDataDictWrapper( + torchvision.datasets.MNIST( + root=".data/", train=True, download=True, transform=transform + ) + ) + self.test_dataset = MNISTDataDictWrapper( + torchvision.datasets.MNIST( + root=".data/", train=False, download=True, transform=transform + ) + ) + + def prepare_data(self): + pass + + def train_dataloader(self): + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + shuffle=self.shuffle, + num_workers=self.num_workers, + prefetch_factor=self.prefetch_factor, + ) + + def test_dataloader(self): + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + shuffle=self.shuffle, + num_workers=self.num_workers, + prefetch_factor=self.prefetch_factor, + ) + + def val_dataloader(self): + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + shuffle=self.shuffle, + num_workers=self.num_workers, + prefetch_factor=self.prefetch_factor, + ) + + +if __name__ == "__main__": + dset = MNISTDataDictWrapper( + torchvision.datasets.MNIST( + root=".data/", + train=False, + download=True, + transform=transforms.Compose( + [transforms.ToTensor(), transforms.Lambda(lambda x: x * 2.0 - 1.0)] + ), + ) + ) + ex = dset[0] diff --git a/sgm/lr_scheduler.py b/sgm/lr_scheduler.py new file mode 100644 index 00000000..b2f4d384 --- /dev/null +++ b/sgm/lr_scheduler.py @@ -0,0 +1,135 @@ +import numpy as np + + +class LambdaWarmUpCosineScheduler: + """ + note: use with a base_lr of 1.0 + """ + + def __init__( + self, + warm_up_steps, + lr_min, + lr_max, + lr_start, + max_decay_steps, + verbosity_interval=0, + ): + self.lr_warm_up_steps = warm_up_steps + self.lr_start = lr_start + self.lr_min = lr_min + self.lr_max = lr_max + self.lr_max_decay_steps = max_decay_steps + self.last_lr = 0.0 + self.verbosity_interval = verbosity_interval + + def schedule(self, n, **kwargs): + if self.verbosity_interval > 0: + if n % self.verbosity_interval == 0: + print(f"current step: {n}, recent lr-multiplier: {self.last_lr}") + if n < self.lr_warm_up_steps: + lr = ( + self.lr_max - self.lr_start + ) / self.lr_warm_up_steps * n + self.lr_start + self.last_lr = lr + return lr + else: + t = (n - self.lr_warm_up_steps) / ( + self.lr_max_decay_steps - self.lr_warm_up_steps + ) + t = min(t, 1.0) + lr = self.lr_min + 0.5 * (self.lr_max - self.lr_min) * ( + 1 + np.cos(t * np.pi) + ) + self.last_lr = lr + return lr + + def __call__(self, n, **kwargs): + return self.schedule(n, **kwargs) + + +class LambdaWarmUpCosineScheduler2: + """ + supports repeated iterations, configurable via lists + note: use with a base_lr of 1.0. + """ + + def __init__( + self, warm_up_steps, f_min, f_max, f_start, cycle_lengths, verbosity_interval=0 + ): + assert ( + len(warm_up_steps) + == len(f_min) + == len(f_max) + == len(f_start) + == len(cycle_lengths) + ) + self.lr_warm_up_steps = warm_up_steps + self.f_start = f_start + self.f_min = f_min + self.f_max = f_max + self.cycle_lengths = cycle_lengths + self.cum_cycles = np.cumsum([0] + list(self.cycle_lengths)) + self.last_f = 0.0 + self.verbosity_interval = verbosity_interval + + def find_in_interval(self, n): + interval = 0 + for cl in self.cum_cycles[1:]: + if n <= cl: + return interval + interval += 1 + + def schedule(self, n, **kwargs): + cycle = self.find_in_interval(n) + n = n - self.cum_cycles[cycle] + if self.verbosity_interval > 0: + if n % self.verbosity_interval == 0: + print( + f"current step: {n}, recent lr-multiplier: {self.last_f}, " + f"current cycle {cycle}" + ) + if n < self.lr_warm_up_steps[cycle]: + f = (self.f_max[cycle] - self.f_start[cycle]) / self.lr_warm_up_steps[ + cycle + ] * n + self.f_start[cycle] + self.last_f = f + return f + else: + t = (n - self.lr_warm_up_steps[cycle]) / ( + self.cycle_lengths[cycle] - self.lr_warm_up_steps[cycle] + ) + t = min(t, 1.0) + f = self.f_min[cycle] + 0.5 * (self.f_max[cycle] - self.f_min[cycle]) * ( + 1 + np.cos(t * np.pi) + ) + self.last_f = f + return f + + def __call__(self, n, **kwargs): + return self.schedule(n, **kwargs) + + +class LambdaLinearScheduler(LambdaWarmUpCosineScheduler2): + def schedule(self, n, **kwargs): + cycle = self.find_in_interval(n) + n = n - self.cum_cycles[cycle] + if self.verbosity_interval > 0: + if n % self.verbosity_interval == 0: + print( + f"current step: {n}, recent lr-multiplier: {self.last_f}, " + f"current cycle {cycle}" + ) + + if n < self.lr_warm_up_steps[cycle]: + f = (self.f_max[cycle] - self.f_start[cycle]) / self.lr_warm_up_steps[ + cycle + ] * n + self.f_start[cycle] + self.last_f = f + return f + else: + f = self.f_min[cycle] + (self.f_max[cycle] - self.f_min[cycle]) * ( + self.cycle_lengths[cycle] - n + ) / (self.cycle_lengths[cycle]) + self.last_f = f + return f diff --git a/sgm/models/__init__.py b/sgm/models/__init__.py new file mode 100644 index 00000000..c410b374 --- /dev/null +++ b/sgm/models/__init__.py @@ -0,0 +1,2 @@ +from .autoencoder import AutoencodingEngine +from .diffusion import DiffusionEngine diff --git a/sgm/models/autoencoder.py b/sgm/models/autoencoder.py new file mode 100644 index 00000000..78fb551a --- /dev/null +++ b/sgm/models/autoencoder.py @@ -0,0 +1,335 @@ +import re +from abc import abstractmethod +from contextlib import contextmanager +from typing import Any, Dict, Tuple, Union + +import pytorch_lightning as pl +import torch +from omegaconf import ListConfig +from packaging import version +from safetensors.torch import load_file as load_safetensors + +from ..modules.diffusionmodules.model import Decoder, Encoder +from ..modules.distributions.distributions import DiagonalGaussianDistribution +from ..modules.ema import LitEma +from ..util import default, get_obj_from_str, instantiate_from_config + + +class AbstractAutoencoder(pl.LightningModule): + """ + This is the base class for all autoencoders, including image autoencoders, image autoencoders with discriminators, + unCLIP models, etc. Hence, it is fairly general, and specific features + (e.g. discriminator training, encoding, decoding) must be implemented in subclasses. + """ + + def __init__( + self, + ema_decay: Union[None, float] = None, + monitor: Union[None, str] = None, + input_key: str = "jpg", + ckpt_path: Union[None, str] = None, + ignore_keys: Union[Tuple, list, ListConfig] = (), + ): + super().__init__() + self.input_key = input_key + self.use_ema = ema_decay is not None + if monitor is not None: + self.monitor = monitor + + if self.use_ema: + self.model_ema = LitEma(self, decay=ema_decay) + print(f"Keeping EMAs of {len(list(self.model_ema.buffers()))}.") + + if ckpt_path is not None: + self.init_from_ckpt(ckpt_path, ignore_keys=ignore_keys) + + if version.parse(torch.__version__) >= version.parse("2.0.0"): + self.automatic_optimization = False + + def init_from_ckpt( + self, path: str, ignore_keys: Union[Tuple, list, ListConfig] = tuple() + ) -> None: + if path.endswith("ckpt"): + sd = torch.load(path, map_location="cpu")["state_dict"] + elif path.endswith("safetensors"): + sd = load_safetensors(path) + else: + raise NotImplementedError + + keys = list(sd.keys()) + for k in keys: + for ik in ignore_keys: + if re.match(ik, k): + print("Deleting key {} from state_dict.".format(k)) + del sd[k] + missing, unexpected = self.load_state_dict(sd, strict=False) + print( + f"Restored from {path} with {len(missing)} missing and {len(unexpected)} unexpected keys" + ) + if len(missing) > 0: + print(f"Missing Keys: {missing}") + if len(unexpected) > 0: + print(f"Unexpected Keys: {unexpected}") + + @abstractmethod + def get_input(self, batch) -> Any: + raise NotImplementedError() + + def on_train_batch_end(self, *args, **kwargs): + # for EMA computation + if self.use_ema: + self.model_ema(self) + + @contextmanager + def ema_scope(self, context=None): + if self.use_ema: + self.model_ema.store(self.parameters()) + self.model_ema.copy_to(self) + if context is not None: + print(f"{context}: Switched to EMA weights") + try: + yield None + finally: + if self.use_ema: + self.model_ema.restore(self.parameters()) + if context is not None: + print(f"{context}: Restored training weights") + + @abstractmethod + def encode(self, *args, **kwargs) -> torch.Tensor: + raise NotImplementedError("encode()-method of abstract base class called") + + @abstractmethod + def decode(self, *args, **kwargs) -> torch.Tensor: + raise NotImplementedError("decode()-method of abstract base class called") + + def instantiate_optimizer_from_config(self, params, lr, cfg): + print(f"loading >>> {cfg['target']} <<< optimizer from config") + return get_obj_from_str(cfg["target"])( + params, lr=lr, **cfg.get("params", dict()) + ) + + def configure_optimizers(self) -> Any: + raise NotImplementedError() + + +class AutoencodingEngine(AbstractAutoencoder): + """ + Base class for all image autoencoders that we train, like VQGAN or AutoencoderKL + (we also restore them explicitly as special cases for legacy reasons). + Regularizations such as KL or VQ are moved to the regularizer class. + """ + + def __init__( + self, + *args, + encoder_config: Dict, + decoder_config: Dict, + loss_config: Dict, + regularizer_config: Dict, + optimizer_config: Union[Dict, None] = None, + lr_g_factor: float = 1.0, + **kwargs, + ): + super().__init__(*args, **kwargs) + # todo: add options to freeze encoder/decoder + self.encoder = instantiate_from_config(encoder_config) + self.decoder = instantiate_from_config(decoder_config) + self.loss = instantiate_from_config(loss_config) + self.regularization = instantiate_from_config(regularizer_config) + self.optimizer_config = default( + optimizer_config, {"target": "torch.optim.Adam"} + ) + self.lr_g_factor = lr_g_factor + + def get_input(self, batch: Dict) -> torch.Tensor: + # assuming unified data format, dataloader returns a dict. + # image tensors should be scaled to -1 ... 1 and in channels-first format (e.g., bchw instead if bhwc) + return batch[self.input_key] + + def get_autoencoder_params(self) -> list: + params = ( + list(self.encoder.parameters()) + + list(self.decoder.parameters()) + + list(self.regularization.get_trainable_parameters()) + + list(self.loss.get_trainable_autoencoder_parameters()) + ) + return params + + def get_discriminator_params(self) -> list: + params = list(self.loss.get_trainable_parameters()) # e.g., discriminator + return params + + def get_last_layer(self): + return self.decoder.get_last_layer() + + def encode(self, x: Any, return_reg_log: bool = False) -> Any: + z = self.encoder(x) + z, reg_log = self.regularization(z) + if return_reg_log: + return z, reg_log + return z + + def decode(self, z: Any) -> torch.Tensor: + x = self.decoder(z) + return x + + def forward(self, x: Any) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: + z, reg_log = self.encode(x, return_reg_log=True) + dec = self.decode(z) + return z, dec, reg_log + + def training_step(self, batch, batch_idx, optimizer_idx) -> Any: + x = self.get_input(batch) + z, xrec, regularization_log = self(x) + + if optimizer_idx == 0: + # autoencode + aeloss, log_dict_ae = self.loss( + regularization_log, + x, + xrec, + optimizer_idx, + self.global_step, + last_layer=self.get_last_layer(), + split="train", + ) + + self.log_dict( + log_dict_ae, prog_bar=False, logger=True, on_step=True, on_epoch=True + ) + return aeloss + + if optimizer_idx == 1: + # discriminator + discloss, log_dict_disc = self.loss( + regularization_log, + x, + xrec, + optimizer_idx, + self.global_step, + last_layer=self.get_last_layer(), + split="train", + ) + self.log_dict( + log_dict_disc, prog_bar=False, logger=True, on_step=True, on_epoch=True + ) + return discloss + + def validation_step(self, batch, batch_idx) -> Dict: + log_dict = self._validation_step(batch, batch_idx) + with self.ema_scope(): + log_dict_ema = self._validation_step(batch, batch_idx, postfix="_ema") + log_dict.update(log_dict_ema) + return log_dict + + def _validation_step(self, batch, batch_idx, postfix="") -> Dict: + x = self.get_input(batch) + + z, xrec, regularization_log = self(x) + aeloss, log_dict_ae = self.loss( + regularization_log, + x, + xrec, + 0, + self.global_step, + last_layer=self.get_last_layer(), + split="val" + postfix, + ) + + discloss, log_dict_disc = self.loss( + regularization_log, + x, + xrec, + 1, + self.global_step, + last_layer=self.get_last_layer(), + split="val" + postfix, + ) + self.log(f"val{postfix}/rec_loss", log_dict_ae[f"val{postfix}/rec_loss"]) + log_dict_ae.update(log_dict_disc) + self.log_dict(log_dict_ae) + return log_dict_ae + + def configure_optimizers(self) -> Any: + ae_params = self.get_autoencoder_params() + disc_params = self.get_discriminator_params() + + opt_ae = self.instantiate_optimizer_from_config( + ae_params, + default(self.lr_g_factor, 1.0) * self.learning_rate, + self.optimizer_config, + ) + opt_disc = self.instantiate_optimizer_from_config( + disc_params, self.learning_rate, self.optimizer_config + ) + + return [opt_ae, opt_disc], [] + + @torch.no_grad() + def log_images(self, batch: Dict, **kwargs) -> Dict: + log = dict() + x = self.get_input(batch) + _, xrec, _ = self(x) + log["inputs"] = x + log["reconstructions"] = xrec + with self.ema_scope(): + _, xrec_ema, _ = self(x) + log["reconstructions_ema"] = xrec_ema + return log + + +class AutoencoderKL(AutoencodingEngine): + def __init__(self, embed_dim: int, **kwargs): + ddconfig = kwargs.pop("ddconfig") + ckpt_path = kwargs.pop("ckpt_path", None) + ignore_keys = kwargs.pop("ignore_keys", ()) + super().__init__( + encoder_config={"target": "torch.nn.Identity"}, + decoder_config={"target": "torch.nn.Identity"}, + regularizer_config={"target": "torch.nn.Identity"}, + loss_config=kwargs.pop("lossconfig"), + **kwargs, + ) + assert ddconfig["double_z"] + self.encoder = Encoder(**ddconfig) + self.decoder = Decoder(**ddconfig) + self.quant_conv = torch.nn.Conv2d(2 * ddconfig["z_channels"], 2 * embed_dim, 1) + self.post_quant_conv = torch.nn.Conv2d(embed_dim, ddconfig["z_channels"], 1) + self.embed_dim = embed_dim + + if ckpt_path is not None: + self.init_from_ckpt(ckpt_path, ignore_keys=ignore_keys) + + def encode(self, x): + assert ( + not self.training + ), f"{self.__class__.__name__} only supports inference currently" + h = self.encoder(x) + moments = self.quant_conv(h) + posterior = DiagonalGaussianDistribution(moments) + return posterior + + def decode(self, z, **decoder_kwargs): + z = self.post_quant_conv(z) + dec = self.decoder(z, **decoder_kwargs) + return dec + + +class AutoencoderKLInferenceWrapper(AutoencoderKL): + def encode(self, x): + return super().encode(x).sample() + + +class IdentityFirstStage(AbstractAutoencoder): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + def get_input(self, x: Any) -> Any: + return x + + def encode(self, x: Any, *args, **kwargs) -> Any: + return x + + def decode(self, x: Any, *args, **kwargs) -> Any: + return x diff --git a/sgm/models/diffusion.py b/sgm/models/diffusion.py new file mode 100644 index 00000000..1cdbf541 --- /dev/null +++ b/sgm/models/diffusion.py @@ -0,0 +1,324 @@ +from contextlib import contextmanager +from typing import Any, Dict, List, Tuple, Union + +import pytorch_lightning as pl +import torch +from omegaconf import ListConfig, OmegaConf +from safetensors.torch import load_file as load_safetensors +from torch.optim.lr_scheduler import LambdaLR + +from ..modules import UNCONDITIONAL_CONFIG +from ..modules.diffusionmodules.wrappers import OPENAIUNETWRAPPER +from ..modules.ema import LitEma +from ..util import ( + default, + disabled_train, + get_obj_from_str, + instantiate_from_config, + log_txt_as_img, +) + + +class DiffusionEngine(pl.LightningModule): + def __init__( + self, + network_config, + denoiser_config, + first_stage_config, + conditioner_config: Union[None, Dict, ListConfig, OmegaConf] = None, + sampler_config: Union[None, Dict, ListConfig, OmegaConf] = None, + optimizer_config: Union[None, Dict, ListConfig, OmegaConf] = None, + scheduler_config: Union[None, Dict, ListConfig, OmegaConf] = None, + loss_fn_config: Union[None, Dict, ListConfig, OmegaConf] = None, + network_wrapper: Union[None, str] = None, + ckpt_path: Union[None, str] = None, + use_ema: bool = False, + ema_decay_rate: float = 0.9999, + scale_factor: float = 1.0, + disable_first_stage_autocast=False, + input_key: str = "jpg", + log_keys: Union[List, None] = None, + no_cond_log: bool = False, + compile_model: bool = False, + ): + super().__init__() + self.log_keys = log_keys + self.input_key = input_key + self.optimizer_config = default( + optimizer_config, {"target": "torch.optim.AdamW"} + ) + model = instantiate_from_config(network_config) + self.model = get_obj_from_str(default(network_wrapper, OPENAIUNETWRAPPER))( + model, compile_model=compile_model + ) + + self.denoiser = instantiate_from_config(denoiser_config) + self.sampler = ( + instantiate_from_config(sampler_config) + if sampler_config is not None + else None + ) + self.conditioner = instantiate_from_config( + default(conditioner_config, UNCONDITIONAL_CONFIG) + ) + self.scheduler_config = scheduler_config + self._init_first_stage(first_stage_config) + + self.loss_fn = ( + instantiate_from_config(loss_fn_config) + if loss_fn_config is not None + else None + ) + + self.use_ema = use_ema + if self.use_ema: + self.model_ema = LitEma(self.model, decay=ema_decay_rate) + print(f"Keeping EMAs of {len(list(self.model_ema.buffers()))}.") + + self.scale_factor = scale_factor + self.disable_first_stage_autocast = disable_first_stage_autocast + self.no_cond_log = no_cond_log + + if ckpt_path is not None: + self.init_from_ckpt(ckpt_path) + + def init_from_ckpt( + self, + path: str, + ) -> None: + if path.endswith("ckpt"): + sd = torch.load(path, map_location="cpu")["state_dict"] + elif path.endswith("safetensors"): + sd = load_safetensors(path) + else: + raise NotImplementedError + + missing, unexpected = self.load_state_dict(sd, strict=False) + print( + f"Restored from {path} with {len(missing)} missing and {len(unexpected)} unexpected keys" + ) + if len(missing) > 0: + print(f"Missing Keys: {missing}") + if len(unexpected) > 0: + print(f"Unexpected Keys: {unexpected}") + + def _init_first_stage(self, config): + model = instantiate_from_config(config).eval() + model.train = disabled_train + for param in model.parameters(): + param.requires_grad = False + self.first_stage_model = model + + def get_input(self, batch): + # assuming unified data format, dataloader returns a dict. + # image tensors should be scaled to -1 ... 1 and in bchw format + return batch[self.input_key] + + @torch.no_grad() + def decode_first_stage(self, z): + z = 1.0 / self.scale_factor * z + with torch.autocast("cuda", enabled=not self.disable_first_stage_autocast): + out = self.first_stage_model.decode(z) + return out + + @torch.no_grad() + def encode_first_stage(self, x): + with torch.autocast("cuda", enabled=not self.disable_first_stage_autocast): + z = self.first_stage_model.encode(x) + z = self.scale_factor * z + return z + + def forward(self, x, batch): + loss = self.loss_fn(self.model, self.denoiser, self.conditioner, x, batch) + loss_mean = loss.mean() + loss_dict = {"loss": loss_mean} + return loss_mean, loss_dict + + def shared_step(self, batch: Dict) -> Any: + x = self.get_input(batch) + x = self.encode_first_stage(x) + batch["global_step"] = self.global_step + loss, loss_dict = self(x, batch) + return loss, loss_dict + + def training_step(self, batch, batch_idx): + loss, loss_dict = self.shared_step(batch) + + self.log_dict( + loss_dict, prog_bar=True, logger=True, on_step=True, on_epoch=False + ) + + self.log( + "global_step", + self.global_step, + prog_bar=True, + logger=True, + on_step=True, + on_epoch=False, + ) + + if self.scheduler_config is not None: + lr = self.optimizers().param_groups[0]["lr"] + self.log( + "lr_abs", lr, prog_bar=True, logger=True, on_step=True, on_epoch=False + ) + + return loss + + def on_train_start(self, *args, **kwargs): + if self.sampler is None or self.loss_fn is None: + raise ValueError("Sampler and loss function need to be set for training.") + + def on_train_batch_end(self, *args, **kwargs): + if self.use_ema: + self.model_ema(self.model) + + @contextmanager + def ema_scope(self, context=None): + if self.use_ema: + self.model_ema.store(self.model.parameters()) + self.model_ema.copy_to(self.model) + if context is not None: + print(f"{context}: Switched to EMA weights") + try: + yield None + finally: + if self.use_ema: + self.model_ema.restore(self.model.parameters()) + if context is not None: + print(f"{context}: Restored training weights") + + def instantiate_optimizer_from_config(self, params, lr, cfg): + return get_obj_from_str(cfg["target"])( + params, lr=lr, **cfg.get("params", dict()) + ) + + def configure_optimizers(self): + lr = self.learning_rate + params = list(self.model.parameters()) + for embedder in self.conditioner.embedders: + if embedder.is_trainable: + params = params + list(embedder.parameters()) + opt = self.instantiate_optimizer_from_config(params, lr, self.optimizer_config) + if self.scheduler_config is not None: + scheduler = instantiate_from_config(self.scheduler_config) + print("Setting up LambdaLR scheduler...") + scheduler = [ + { + "scheduler": LambdaLR(opt, lr_lambda=scheduler.schedule), + "interval": "step", + "frequency": 1, + } + ] + return [opt], scheduler + return opt + + @torch.no_grad() + def sample( + self, + cond: Dict, + uc: Union[Dict, None] = None, + batch_size: int = 16, + shape: Union[None, Tuple, List] = None, + **kwargs, + ): + randn = torch.randn(batch_size, *shape).to(self.device) + + denoiser = lambda input, sigma, c: self.denoiser( + self.model, input, sigma, c, **kwargs + ) + samples = self.sampler(denoiser, randn, cond, uc=uc) + return samples + + @torch.no_grad() + def log_conditionings(self, batch: Dict, n: int) -> Dict: + """ + Defines heuristics to log different conditionings. + These can be lists of strings (text-to-image), tensors, ints, ... + """ + image_h, image_w = batch[self.input_key].shape[2:] + log = dict() + + for embedder in self.conditioner.embedders: + if ( + (self.log_keys is None) or (embedder.input_key in self.log_keys) + ) and not self.no_cond_log: + x = batch[embedder.input_key][:n] + if isinstance(x, torch.Tensor): + if x.dim() == 1: + # class-conditional, convert integer to string + x = [str(x[i].item()) for i in range(x.shape[0])] + xc = log_txt_as_img((image_h, image_w), x, size=image_h // 4) + elif x.dim() == 2: + # size and crop cond and the like + x = [ + "x".join([str(xx) for xx in x[i].tolist()]) + for i in range(x.shape[0]) + ] + xc = log_txt_as_img((image_h, image_w), x, size=image_h // 20) + else: + raise NotImplementedError() + elif isinstance(x, Union[List, ListConfig]): + if isinstance(x[0], str): + # strings + xc = log_txt_as_img((image_h, image_w), x, size=image_h // 20) + elif isinstance(x[0], Union[ListConfig, List]): + # # case: videos processed + x = [xx[0] for xx in x] + xc = log_txt_as_img((image_h, image_w), x, size=image_h // 20) + else: + raise NotImplementedError() + else: + raise NotImplementedError() + log[embedder.input_key] = xc + return log + + @torch.no_grad() + def log_images( + self, + batch: Dict, + N: int = 8, + sample: bool = True, + ucg_keys: List[str] = None, + **kwargs, + ) -> Dict: + conditioner_input_keys = [e.input_key for e in self.conditioner.embedders] + if ucg_keys: + assert all(map(lambda x: x in conditioner_input_keys, ucg_keys)), ( + "Each defined ucg key for sampling must be in the provided conditioner input keys," + f"but we have {ucg_keys} vs. {conditioner_input_keys}" + ) + else: + ucg_keys = conditioner_input_keys + log = dict() + + x = self.get_input(batch) + + c, uc = self.conditioner.get_unconditional_conditioning( + batch, + force_uc_zero_embeddings=ucg_keys + if len(self.conditioner.embedders) > 0 + else [], + ) + + sampling_kwargs = {} + + N = min(x.shape[0], N) + x = x.to(self.device)[:N] + log["inputs"] = x + z = self.encode_first_stage(x) + log["reconstructions"] = self.decode_first_stage(z) + log.update(self.log_conditionings(batch, N)) + + for k in c: + if isinstance(c[k], torch.Tensor): + c[k], uc[k] = map(lambda y: y[k][:N].to(self.device), (c, uc)) + + if sample: + with self.ema_scope("Plotting"): + samples = self.sample( + c, shape=z.shape[1:], uc=uc, batch_size=N, **sampling_kwargs + ) + samples = self.decode_first_stage(samples) + log["samples"] = samples + return log diff --git a/sgm/modules/__init__.py b/sgm/modules/__init__.py new file mode 100644 index 00000000..0db1d771 --- /dev/null +++ b/sgm/modules/__init__.py @@ -0,0 +1,6 @@ +from .encoders.modules import GeneralConditioner + +UNCONDITIONAL_CONFIG = { + "target": "sgm.modules.GeneralConditioner", + "params": {"emb_models": []}, +} diff --git a/sgm/modules/attention.py b/sgm/modules/attention.py new file mode 100644 index 00000000..a17edda7 --- /dev/null +++ b/sgm/modules/attention.py @@ -0,0 +1,947 @@ +import math +from inspect import isfunction +from typing import Any, Optional + +import torch +import torch.nn.functional as F +from einops import rearrange, repeat +from packaging import version +from torch import nn + +if version.parse(torch.__version__) >= version.parse("2.0.0"): + SDP_IS_AVAILABLE = True + from torch.backends.cuda import SDPBackend, sdp_kernel + + BACKEND_MAP = { + SDPBackend.MATH: { + "enable_math": True, + "enable_flash": False, + "enable_mem_efficient": False, + }, + SDPBackend.FLASH_ATTENTION: { + "enable_math": False, + "enable_flash": True, + "enable_mem_efficient": False, + }, + SDPBackend.EFFICIENT_ATTENTION: { + "enable_math": False, + "enable_flash": False, + "enable_mem_efficient": True, + }, + None: {"enable_math": True, "enable_flash": True, "enable_mem_efficient": True}, + } +else: + from contextlib import nullcontext + + SDP_IS_AVAILABLE = False + sdp_kernel = nullcontext + BACKEND_MAP = {} + print( + f"No SDP backend available, likely because you are running in pytorch versions < 2.0. In fact, " + f"you are using PyTorch {torch.__version__}. You might want to consider upgrading." + ) + +try: + import xformers + import xformers.ops + + XFORMERS_IS_AVAILABLE = True +except: + XFORMERS_IS_AVAILABLE = False + print("no module 'xformers'. Processing without...") + +from .diffusionmodules.util import checkpoint + + +def exists(val): + return val is not None + + +def uniq(arr): + return {el: True for el in arr}.keys() + + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + + +def max_neg_value(t): + return -torch.finfo(t.dtype).max + + +def init_(tensor): + dim = tensor.shape[-1] + std = 1 / math.sqrt(dim) + tensor.uniform_(-std, std) + return tensor + + +# feedforward +class GEGLU(nn.Module): + def __init__(self, dim_in, dim_out): + super().__init__() + self.proj = nn.Linear(dim_in, dim_out * 2) + + def forward(self, x): + x, gate = self.proj(x).chunk(2, dim=-1) + return x * F.gelu(gate) + + +class FeedForward(nn.Module): + def __init__(self, dim, dim_out=None, mult=4, glu=False, dropout=0.0): + super().__init__() + inner_dim = int(dim * mult) + dim_out = default(dim_out, dim) + project_in = ( + nn.Sequential(nn.Linear(dim, inner_dim), nn.GELU()) + if not glu + else GEGLU(dim, inner_dim) + ) + + self.net = nn.Sequential( + project_in, nn.Dropout(dropout), nn.Linear(inner_dim, dim_out) + ) + + def forward(self, x): + return self.net(x) + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def Normalize(in_channels): + return torch.nn.GroupNorm( + num_groups=32, num_channels=in_channels, eps=1e-6, affine=True + ) + + +class LinearAttention(nn.Module): + def __init__(self, dim, heads=4, dim_head=32): + super().__init__() + self.heads = heads + hidden_dim = dim_head * heads + self.to_qkv = nn.Conv2d(dim, hidden_dim * 3, 1, bias=False) + self.to_out = nn.Conv2d(hidden_dim, dim, 1) + + def forward(self, x): + b, c, h, w = x.shape + qkv = self.to_qkv(x) + q, k, v = rearrange( + qkv, "b (qkv heads c) h w -> qkv b heads c (h w)", heads=self.heads, qkv=3 + ) + k = k.softmax(dim=-1) + context = torch.einsum("bhdn,bhen->bhde", k, v) + out = torch.einsum("bhde,bhdn->bhen", context, q) + out = rearrange( + out, "b heads c (h w) -> b (heads c) h w", heads=self.heads, h=h, w=w + ) + return self.to_out(out) + + +class SpatialSelfAttention(nn.Module): + def __init__(self, in_channels): + super().__init__() + self.in_channels = in_channels + + self.norm = Normalize(in_channels) + self.q = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.k = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.v = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.proj_out = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + + def forward(self, x): + h_ = x + h_ = self.norm(h_) + q = self.q(h_) + k = self.k(h_) + v = self.v(h_) + + # compute attention + b, c, h, w = q.shape + q = rearrange(q, "b c h w -> b (h w) c") + k = rearrange(k, "b c h w -> b c (h w)") + w_ = torch.einsum("bij,bjk->bik", q, k) + + w_ = w_ * (int(c) ** (-0.5)) + w_ = torch.nn.functional.softmax(w_, dim=2) + + # attend to values + v = rearrange(v, "b c h w -> b c (h w)") + w_ = rearrange(w_, "b i j -> b j i") + h_ = torch.einsum("bij,bjk->bik", v, w_) + h_ = rearrange(h_, "b c (h w) -> b c h w", h=h) + h_ = self.proj_out(h_) + + return x + h_ + + +class CrossAttention(nn.Module): + def __init__( + self, + query_dim, + context_dim=None, + heads=8, + dim_head=64, + dropout=0.0, + backend=None, + ): + super().__init__() + inner_dim = dim_head * heads + context_dim = default(context_dim, query_dim) + + self.scale = dim_head**-0.5 + self.heads = heads + + self.to_q = nn.Linear(query_dim, inner_dim, bias=False) + self.to_k = nn.Linear(context_dim, inner_dim, bias=False) + self.to_v = nn.Linear(context_dim, inner_dim, bias=False) + + self.to_out = nn.Sequential( + nn.Linear(inner_dim, query_dim), nn.Dropout(dropout) + ) + self.backend = backend + + def forward( + self, + x, + context=None, + mask=None, + additional_tokens=None, + n_times_crossframe_attn_in_self=0, + ): + h = self.heads + + if additional_tokens is not None: + # get the number of masked tokens at the beginning of the output sequence + n_tokens_to_mask = additional_tokens.shape[1] + # add additional token + x = torch.cat([additional_tokens, x], dim=1) + + q = self.to_q(x) + context = default(context, x) + k = self.to_k(context) + v = self.to_v(context) + + if n_times_crossframe_attn_in_self: + # reprogramming cross-frame attention as in https://arxiv.org/abs/2303.13439 + assert x.shape[0] % n_times_crossframe_attn_in_self == 0 + n_cp = x.shape[0] // n_times_crossframe_attn_in_self + k = repeat( + k[::n_times_crossframe_attn_in_self], "b ... -> (b n) ...", n=n_cp + ) + v = repeat( + v[::n_times_crossframe_attn_in_self], "b ... -> (b n) ...", n=n_cp + ) + + q, k, v = map(lambda t: rearrange(t, "b n (h d) -> b h n d", h=h), (q, k, v)) + + ## old + """ + sim = einsum('b i d, b j d -> b i j', q, k) * self.scale + del q, k + + if exists(mask): + mask = rearrange(mask, 'b ... -> b (...)') + max_neg_value = -torch.finfo(sim.dtype).max + mask = repeat(mask, 'b j -> (b h) () j', h=h) + sim.masked_fill_(~mask, max_neg_value) + + # attention, what we cannot get enough of + sim = sim.softmax(dim=-1) + + out = einsum('b i j, b j d -> b i d', sim, v) + """ + ## new + with sdp_kernel(**BACKEND_MAP[self.backend]): + # print("dispatching into backend", self.backend, "q/k/v shape: ", q.shape, k.shape, v.shape) + out = F.scaled_dot_product_attention( + q, k, v, attn_mask=mask + ) # scale is dim_head ** -0.5 per default + + del q, k, v + out = rearrange(out, "b h n d -> b n (h d)", h=h) + + if additional_tokens is not None: + # remove additional token + out = out[:, n_tokens_to_mask:] + return self.to_out(out) + + +class MemoryEfficientCrossAttention(nn.Module): + # https://github.com/MatthieuTPHR/diffusers/blob/d80b531ff8060ec1ea982b65a1b8df70f73aa67c/src/diffusers/models/attention.py#L223 + def __init__( + self, query_dim, context_dim=None, heads=8, dim_head=64, dropout=0.0, **kwargs + ): + super().__init__() + print( + f"Setting up {self.__class__.__name__}. Query dim is {query_dim}, context_dim is {context_dim} and using " + f"{heads} heads with a dimension of {dim_head}." + ) + inner_dim = dim_head * heads + context_dim = default(context_dim, query_dim) + + self.heads = heads + self.dim_head = dim_head + + self.to_q = nn.Linear(query_dim, inner_dim, bias=False) + self.to_k = nn.Linear(context_dim, inner_dim, bias=False) + self.to_v = nn.Linear(context_dim, inner_dim, bias=False) + + self.to_out = nn.Sequential( + nn.Linear(inner_dim, query_dim), nn.Dropout(dropout) + ) + self.attention_op: Optional[Any] = None + + def forward( + self, + x, + context=None, + mask=None, + additional_tokens=None, + n_times_crossframe_attn_in_self=0, + ): + if additional_tokens is not None: + # get the number of masked tokens at the beginning of the output sequence + n_tokens_to_mask = additional_tokens.shape[1] + # add additional token + x = torch.cat([additional_tokens, x], dim=1) + q = self.to_q(x) + context = default(context, x) + k = self.to_k(context) + v = self.to_v(context) + + if n_times_crossframe_attn_in_self: + # reprogramming cross-frame attention as in https://arxiv.org/abs/2303.13439 + assert x.shape[0] % n_times_crossframe_attn_in_self == 0 + # n_cp = x.shape[0]//n_times_crossframe_attn_in_self + k = repeat( + k[::n_times_crossframe_attn_in_self], + "b ... -> (b n) ...", + n=n_times_crossframe_attn_in_self, + ) + v = repeat( + v[::n_times_crossframe_attn_in_self], + "b ... -> (b n) ...", + n=n_times_crossframe_attn_in_self, + ) + + b, _, _ = q.shape + q, k, v = map( + lambda t: t.unsqueeze(3) + .reshape(b, t.shape[1], self.heads, self.dim_head) + .permute(0, 2, 1, 3) + .reshape(b * self.heads, t.shape[1], self.dim_head) + .contiguous(), + (q, k, v), + ) + + # actually compute the attention, what we cannot get enough of + out = xformers.ops.memory_efficient_attention( + q, k, v, attn_bias=None, op=self.attention_op + ) + + # TODO: Use this directly in the attention operation, as a bias + if exists(mask): + raise NotImplementedError + out = ( + out.unsqueeze(0) + .reshape(b, self.heads, out.shape[1], self.dim_head) + .permute(0, 2, 1, 3) + .reshape(b, out.shape[1], self.heads * self.dim_head) + ) + if additional_tokens is not None: + # remove additional token + out = out[:, n_tokens_to_mask:] + return self.to_out(out) + + +class BasicTransformerBlock(nn.Module): + ATTENTION_MODES = { + "softmax": CrossAttention, # vanilla attention + "softmax-xformers": MemoryEfficientCrossAttention, # ampere + } + + def __init__( + self, + dim, + n_heads, + d_head, + dropout=0.0, + context_dim=None, + gated_ff=True, + checkpoint=True, + disable_self_attn=False, + attn_mode="softmax", + sdp_backend=None, + ): + super().__init__() + assert attn_mode in self.ATTENTION_MODES + if attn_mode != "softmax" and not XFORMERS_IS_AVAILABLE: + print( + f"Attention mode '{attn_mode}' is not available. Falling back to native attention. " + f"This is not a problem in Pytorch >= 2.0. FYI, you are running with PyTorch version {torch.__version__}" + ) + attn_mode = "softmax" + elif attn_mode == "softmax" and not SDP_IS_AVAILABLE: + print( + "We do not support vanilla attention anymore, as it is too expensive. Sorry." + ) + if not XFORMERS_IS_AVAILABLE: + assert ( + False + ), "Please install xformers via e.g. 'pip install xformers==0.0.16'" + else: + print("Falling back to xformers efficient attention.") + attn_mode = "softmax-xformers" + attn_cls = self.ATTENTION_MODES[attn_mode] + if version.parse(torch.__version__) >= version.parse("2.0.0"): + assert sdp_backend is None or isinstance(sdp_backend, SDPBackend) + else: + assert sdp_backend is None + self.disable_self_attn = disable_self_attn + self.attn1 = attn_cls( + query_dim=dim, + heads=n_heads, + dim_head=d_head, + dropout=dropout, + context_dim=context_dim if self.disable_self_attn else None, + backend=sdp_backend, + ) # is a self-attention if not self.disable_self_attn + self.ff = FeedForward(dim, dropout=dropout, glu=gated_ff) + self.attn2 = attn_cls( + query_dim=dim, + context_dim=context_dim, + heads=n_heads, + dim_head=d_head, + dropout=dropout, + backend=sdp_backend, + ) # is self-attn if context is none + self.norm1 = nn.LayerNorm(dim) + self.norm2 = nn.LayerNorm(dim) + self.norm3 = nn.LayerNorm(dim) + self.checkpoint = checkpoint + if self.checkpoint: + print(f"{self.__class__.__name__} is using checkpointing") + + def forward( + self, x, context=None, additional_tokens=None, n_times_crossframe_attn_in_self=0 + ): + kwargs = {"x": x} + + if context is not None: + kwargs.update({"context": context}) + + if additional_tokens is not None: + kwargs.update({"additional_tokens": additional_tokens}) + + if n_times_crossframe_attn_in_self: + kwargs.update( + {"n_times_crossframe_attn_in_self": n_times_crossframe_attn_in_self} + ) + + # return mixed_checkpoint(self._forward, kwargs, self.parameters(), self.checkpoint) + return checkpoint( + self._forward, (x, context), self.parameters(), self.checkpoint + ) + + def _forward( + self, x, context=None, additional_tokens=None, n_times_crossframe_attn_in_self=0 + ): + x = ( + self.attn1( + self.norm1(x), + context=context if self.disable_self_attn else None, + additional_tokens=additional_tokens, + n_times_crossframe_attn_in_self=n_times_crossframe_attn_in_self + if not self.disable_self_attn + else 0, + ) + + x + ) + x = ( + self.attn2( + self.norm2(x), context=context, additional_tokens=additional_tokens + ) + + x + ) + x = self.ff(self.norm3(x)) + x + return x + + +class BasicTransformerSingleLayerBlock(nn.Module): + ATTENTION_MODES = { + "softmax": CrossAttention, # vanilla attention + "softmax-xformers": MemoryEfficientCrossAttention # on the A100s not quite as fast as the above version + # (todo might depend on head_dim, check, falls back to semi-optimized kernels for dim!=[16,32,64,128]) + } + + def __init__( + self, + dim, + n_heads, + d_head, + dropout=0.0, + context_dim=None, + gated_ff=True, + checkpoint=True, + attn_mode="softmax", + ): + super().__init__() + assert attn_mode in self.ATTENTION_MODES + attn_cls = self.ATTENTION_MODES[attn_mode] + self.attn1 = attn_cls( + query_dim=dim, + heads=n_heads, + dim_head=d_head, + dropout=dropout, + context_dim=context_dim, + ) + self.ff = FeedForward(dim, dropout=dropout, glu=gated_ff) + self.norm1 = nn.LayerNorm(dim) + self.norm2 = nn.LayerNorm(dim) + self.checkpoint = checkpoint + + def forward(self, x, context=None): + return checkpoint( + self._forward, (x, context), self.parameters(), self.checkpoint + ) + + def _forward(self, x, context=None): + x = self.attn1(self.norm1(x), context=context) + x + x = self.ff(self.norm2(x)) + x + return x + + +class SpatialTransformer(nn.Module): + """ + Transformer block for image-like data. + First, project the input (aka embedding) + and reshape to b, t, d. + Then apply standard transformer action. + Finally, reshape to image + NEW: use_linear for more efficiency instead of the 1x1 convs + """ + + def __init__( + self, + in_channels, + n_heads, + d_head, + depth=1, + dropout=0.0, + context_dim=None, + disable_self_attn=False, + use_linear=False, + attn_type="softmax", + use_checkpoint=True, + # sdp_backend=SDPBackend.FLASH_ATTENTION + sdp_backend=None, + ): + super().__init__() + print( + f"constructing {self.__class__.__name__} of depth {depth} w/ {in_channels} channels and {n_heads} heads" + ) + from omegaconf import ListConfig + + if exists(context_dim) and not isinstance(context_dim, (list, ListConfig)): + context_dim = [context_dim] + if exists(context_dim) and isinstance(context_dim, list): + if depth != len(context_dim): + print( + f"WARNING: {self.__class__.__name__}: Found context dims {context_dim} of depth {len(context_dim)}, " + f"which does not match the specified 'depth' of {depth}. Setting context_dim to {depth * [context_dim[0]]} now." + ) + # depth does not match context dims. + assert all( + map(lambda x: x == context_dim[0], context_dim) + ), "need homogenous context_dim to match depth automatically" + context_dim = depth * [context_dim[0]] + elif context_dim is None: + context_dim = [None] * depth + self.in_channels = in_channels + inner_dim = n_heads * d_head + self.norm = Normalize(in_channels) + if not use_linear: + self.proj_in = nn.Conv2d( + in_channels, inner_dim, kernel_size=1, stride=1, padding=0 + ) + else: + self.proj_in = nn.Linear(in_channels, inner_dim) + + self.transformer_blocks = nn.ModuleList( + [ + BasicTransformerBlock( + inner_dim, + n_heads, + d_head, + dropout=dropout, + context_dim=context_dim[d], + disable_self_attn=disable_self_attn, + attn_mode=attn_type, + checkpoint=use_checkpoint, + sdp_backend=sdp_backend, + ) + for d in range(depth) + ] + ) + if not use_linear: + self.proj_out = zero_module( + nn.Conv2d(inner_dim, in_channels, kernel_size=1, stride=1, padding=0) + ) + else: + # self.proj_out = zero_module(nn.Linear(in_channels, inner_dim)) + self.proj_out = zero_module(nn.Linear(inner_dim, in_channels)) + self.use_linear = use_linear + + def forward(self, x, context=None): + # note: if no context is given, cross-attention defaults to self-attention + if not isinstance(context, list): + context = [context] + b, c, h, w = x.shape + x_in = x + x = self.norm(x) + if not self.use_linear: + x = self.proj_in(x) + x = rearrange(x, "b c h w -> b (h w) c").contiguous() + if self.use_linear: + x = self.proj_in(x) + for i, block in enumerate(self.transformer_blocks): + if i > 0 and len(context) == 1: + i = 0 # use same context for each block + x = block(x, context=context[i]) + if self.use_linear: + x = self.proj_out(x) + x = rearrange(x, "b (h w) c -> b c h w", h=h, w=w).contiguous() + if not self.use_linear: + x = self.proj_out(x) + return x + x_in + + +def benchmark_attn(): + # Lets define a helpful benchmarking function: + # https://pytorch.org/tutorials/intermediate/scaled_dot_product_attention_tutorial.html + device = "cuda" if torch.cuda.is_available() else "cpu" + import torch.nn.functional as F + import torch.utils.benchmark as benchmark + + def benchmark_torch_function_in_microseconds(f, *args, **kwargs): + t0 = benchmark.Timer( + stmt="f(*args, **kwargs)", globals={"args": args, "kwargs": kwargs, "f": f} + ) + return t0.blocked_autorange().mean * 1e6 + + # Lets define the hyper-parameters of our input + batch_size = 32 + max_sequence_len = 1024 + num_heads = 32 + embed_dimension = 32 + + dtype = torch.float16 + + query = torch.rand( + batch_size, + num_heads, + max_sequence_len, + embed_dimension, + device=device, + dtype=dtype, + ) + key = torch.rand( + batch_size, + num_heads, + max_sequence_len, + embed_dimension, + device=device, + dtype=dtype, + ) + value = torch.rand( + batch_size, + num_heads, + max_sequence_len, + embed_dimension, + device=device, + dtype=dtype, + ) + + print(f"q/k/v shape:", query.shape, key.shape, value.shape) + + # Lets explore the speed of each of the 3 implementations + from torch.backends.cuda import SDPBackend, sdp_kernel + + # Helpful arguments mapper + backend_map = { + SDPBackend.MATH: { + "enable_math": True, + "enable_flash": False, + "enable_mem_efficient": False, + }, + SDPBackend.FLASH_ATTENTION: { + "enable_math": False, + "enable_flash": True, + "enable_mem_efficient": False, + }, + SDPBackend.EFFICIENT_ATTENTION: { + "enable_math": False, + "enable_flash": False, + "enable_mem_efficient": True, + }, + } + + from torch.profiler import ProfilerActivity, profile, record_function + + activities = [ProfilerActivity.CPU, ProfilerActivity.CUDA] + + print( + f"The default implementation runs in {benchmark_torch_function_in_microseconds(F.scaled_dot_product_attention, query, key, value):.3f} microseconds" + ) + with profile( + activities=activities, record_shapes=False, profile_memory=True + ) as prof: + with record_function("Default detailed stats"): + for _ in range(25): + o = F.scaled_dot_product_attention(query, key, value) + print(prof.key_averages().table(sort_by="cuda_time_total", row_limit=10)) + + print( + f"The math implementation runs in {benchmark_torch_function_in_microseconds(F.scaled_dot_product_attention, query, key, value):.3f} microseconds" + ) + with sdp_kernel(**backend_map[SDPBackend.MATH]): + with profile( + activities=activities, record_shapes=False, profile_memory=True + ) as prof: + with record_function("Math implmentation stats"): + for _ in range(25): + o = F.scaled_dot_product_attention(query, key, value) + print(prof.key_averages().table(sort_by="cuda_time_total", row_limit=10)) + + with sdp_kernel(**backend_map[SDPBackend.FLASH_ATTENTION]): + try: + print( + f"The flash attention implementation runs in {benchmark_torch_function_in_microseconds(F.scaled_dot_product_attention, query, key, value):.3f} microseconds" + ) + except RuntimeError: + print("FlashAttention is not supported. See warnings for reasons.") + with profile( + activities=activities, record_shapes=False, profile_memory=True + ) as prof: + with record_function("FlashAttention stats"): + for _ in range(25): + o = F.scaled_dot_product_attention(query, key, value) + print(prof.key_averages().table(sort_by="cuda_time_total", row_limit=10)) + + with sdp_kernel(**backend_map[SDPBackend.EFFICIENT_ATTENTION]): + try: + print( + f"The memory efficient implementation runs in {benchmark_torch_function_in_microseconds(F.scaled_dot_product_attention, query, key, value):.3f} microseconds" + ) + except RuntimeError: + print("EfficientAttention is not supported. See warnings for reasons.") + with profile( + activities=activities, record_shapes=False, profile_memory=True + ) as prof: + with record_function("EfficientAttention stats"): + for _ in range(25): + o = F.scaled_dot_product_attention(query, key, value) + print(prof.key_averages().table(sort_by="cuda_time_total", row_limit=10)) + + +def run_model(model, x, context): + return model(x, context) + + +def benchmark_transformer_blocks(): + device = "cuda" if torch.cuda.is_available() else "cpu" + import torch.utils.benchmark as benchmark + + def benchmark_torch_function_in_microseconds(f, *args, **kwargs): + t0 = benchmark.Timer( + stmt="f(*args, **kwargs)", globals={"args": args, "kwargs": kwargs, "f": f} + ) + return t0.blocked_autorange().mean * 1e6 + + checkpoint = True + compile = False + + batch_size = 32 + h, w = 64, 64 + context_len = 77 + embed_dimension = 1024 + context_dim = 1024 + d_head = 64 + + transformer_depth = 4 + + n_heads = embed_dimension // d_head + + dtype = torch.float16 + + model_native = SpatialTransformer( + embed_dimension, + n_heads, + d_head, + context_dim=context_dim, + use_linear=True, + use_checkpoint=checkpoint, + attn_type="softmax", + depth=transformer_depth, + sdp_backend=SDPBackend.FLASH_ATTENTION, + ).to(device) + model_efficient_attn = SpatialTransformer( + embed_dimension, + n_heads, + d_head, + context_dim=context_dim, + use_linear=True, + depth=transformer_depth, + use_checkpoint=checkpoint, + attn_type="softmax-xformers", + ).to(device) + if not checkpoint and compile: + print("compiling models") + model_native = torch.compile(model_native) + model_efficient_attn = torch.compile(model_efficient_attn) + + x = torch.rand(batch_size, embed_dimension, h, w, device=device, dtype=dtype) + c = torch.rand(batch_size, context_len, context_dim, device=device, dtype=dtype) + + from torch.profiler import ProfilerActivity, profile, record_function + + activities = [ProfilerActivity.CPU, ProfilerActivity.CUDA] + + with torch.autocast("cuda"): + print( + f"The native model runs in {benchmark_torch_function_in_microseconds(model_native.forward, x, c):.3f} microseconds" + ) + print( + f"The efficientattn model runs in {benchmark_torch_function_in_microseconds(model_efficient_attn.forward, x, c):.3f} microseconds" + ) + + print(75 * "+") + print("NATIVE") + print(75 * "+") + torch.cuda.reset_peak_memory_stats() + with profile( + activities=activities, record_shapes=False, profile_memory=True + ) as prof: + with record_function("NativeAttention stats"): + for _ in range(25): + model_native(x, c) + print(prof.key_averages().table(sort_by="cuda_time_total", row_limit=10)) + print(torch.cuda.max_memory_allocated() * 1e-9, "GB used by native block") + + print(75 * "+") + print("Xformers") + print(75 * "+") + torch.cuda.reset_peak_memory_stats() + with profile( + activities=activities, record_shapes=False, profile_memory=True + ) as prof: + with record_function("xformers stats"): + for _ in range(25): + model_efficient_attn(x, c) + print(prof.key_averages().table(sort_by="cuda_time_total", row_limit=10)) + print(torch.cuda.max_memory_allocated() * 1e-9, "GB used by xformers block") + + +def test01(): + # conv1x1 vs linear + from ..util import count_params + + conv = nn.Conv2d(3, 32, kernel_size=1).cuda() + print(count_params(conv)) + linear = torch.nn.Linear(3, 32).cuda() + print(count_params(linear)) + + print(conv.weight.shape) + + # use same initialization + linear.weight = torch.nn.Parameter(conv.weight.squeeze(-1).squeeze(-1)) + linear.bias = torch.nn.Parameter(conv.bias) + + print(linear.weight.shape) + + x = torch.randn(11, 3, 64, 64).cuda() + + xr = rearrange(x, "b c h w -> b (h w) c").contiguous() + print(xr.shape) + out_linear = linear(xr) + print(out_linear.mean(), out_linear.shape) + + out_conv = conv(x) + print(out_conv.mean(), out_conv.shape) + print("done with test01.\n") + + +def test02(): + # try cosine flash attention + import time + + torch.backends.cuda.matmul.allow_tf32 = True + torch.backends.cudnn.allow_tf32 = True + torch.backends.cudnn.benchmark = True + print("testing cosine flash attention...") + DIM = 1024 + SEQLEN = 4096 + BS = 16 + + print(" softmax (vanilla) first...") + model = BasicTransformerBlock( + dim=DIM, + n_heads=16, + d_head=64, + dropout=0.0, + context_dim=None, + attn_mode="softmax", + ).cuda() + try: + x = torch.randn(BS, SEQLEN, DIM).cuda() + tic = time.time() + y = model(x) + toc = time.time() + print(y.shape, toc - tic) + except RuntimeError as e: + # likely oom + print(str(e)) + + print("\n now flash-cosine...") + model = BasicTransformerBlock( + dim=DIM, + n_heads=16, + d_head=64, + dropout=0.0, + context_dim=None, + attn_mode="flash-cosine", + ).cuda() + x = torch.randn(BS, SEQLEN, DIM).cuda() + tic = time.time() + y = model(x) + toc = time.time() + print(y.shape, toc - tic) + print("done with test02.\n") + + +if __name__ == "__main__": + # test01() + # test02() + # test03() + + # benchmark_attn() + benchmark_transformer_blocks() + + print("done.") diff --git a/sgm/modules/autoencoding/__init__.py b/sgm/modules/autoencoding/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/sgm/modules/autoencoding/losses/__init__.py b/sgm/modules/autoencoding/losses/__init__.py new file mode 100644 index 00000000..6a3b54f7 --- /dev/null +++ b/sgm/modules/autoencoding/losses/__init__.py @@ -0,0 +1,246 @@ +from typing import Any, Union + +import torch +import torch.nn as nn +from einops import rearrange +from taming.modules.discriminator.model import NLayerDiscriminator, weights_init +from taming.modules.losses.lpips import LPIPS +from taming.modules.losses.vqperceptual import hinge_d_loss, vanilla_d_loss + +from ....util import default, instantiate_from_config + + +def adopt_weight(weight, global_step, threshold=0, value=0.0): + if global_step < threshold: + weight = value + return weight + + +class LatentLPIPS(nn.Module): + def __init__( + self, + decoder_config, + perceptual_weight=1.0, + latent_weight=1.0, + scale_input_to_tgt_size=False, + scale_tgt_to_input_size=False, + perceptual_weight_on_inputs=0.0, + ): + super().__init__() + self.scale_input_to_tgt_size = scale_input_to_tgt_size + self.scale_tgt_to_input_size = scale_tgt_to_input_size + self.init_decoder(decoder_config) + self.perceptual_loss = LPIPS().eval() + self.perceptual_weight = perceptual_weight + self.latent_weight = latent_weight + self.perceptual_weight_on_inputs = perceptual_weight_on_inputs + + def init_decoder(self, config): + self.decoder = instantiate_from_config(config) + if hasattr(self.decoder, "encoder"): + del self.decoder.encoder + + def forward(self, latent_inputs, latent_predictions, image_inputs, split="train"): + log = dict() + loss = (latent_inputs - latent_predictions) ** 2 + log[f"{split}/latent_l2_loss"] = loss.mean().detach() + image_reconstructions = None + if self.perceptual_weight > 0.0: + image_reconstructions = self.decoder.decode(latent_predictions) + image_targets = self.decoder.decode(latent_inputs) + perceptual_loss = self.perceptual_loss( + image_targets.contiguous(), image_reconstructions.contiguous() + ) + loss = ( + self.latent_weight * loss.mean() + + self.perceptual_weight * perceptual_loss.mean() + ) + log[f"{split}/perceptual_loss"] = perceptual_loss.mean().detach() + + if self.perceptual_weight_on_inputs > 0.0: + image_reconstructions = default( + image_reconstructions, self.decoder.decode(latent_predictions) + ) + if self.scale_input_to_tgt_size: + image_inputs = torch.nn.functional.interpolate( + image_inputs, + image_reconstructions.shape[2:], + mode="bicubic", + antialias=True, + ) + elif self.scale_tgt_to_input_size: + image_reconstructions = torch.nn.functional.interpolate( + image_reconstructions, + image_inputs.shape[2:], + mode="bicubic", + antialias=True, + ) + + perceptual_loss2 = self.perceptual_loss( + image_inputs.contiguous(), image_reconstructions.contiguous() + ) + loss = loss + self.perceptual_weight_on_inputs * perceptual_loss2.mean() + log[f"{split}/perceptual_loss_on_inputs"] = perceptual_loss2.mean().detach() + return loss, log + + +class GeneralLPIPSWithDiscriminator(nn.Module): + def __init__( + self, + disc_start: int, + logvar_init: float = 0.0, + pixelloss_weight=1.0, + disc_num_layers: int = 3, + disc_in_channels: int = 3, + disc_factor: float = 1.0, + disc_weight: float = 1.0, + perceptual_weight: float = 1.0, + disc_loss: str = "hinge", + scale_input_to_tgt_size: bool = False, + dims: int = 2, + learn_logvar: bool = False, + regularization_weights: Union[None, dict] = None, + ): + super().__init__() + self.dims = dims + if self.dims > 2: + print( + f"running with dims={dims}. This means that for perceptual loss calculation, " + f"the LPIPS loss will be applied to each frame independently. " + ) + self.scale_input_to_tgt_size = scale_input_to_tgt_size + assert disc_loss in ["hinge", "vanilla"] + self.pixel_weight = pixelloss_weight + self.perceptual_loss = LPIPS().eval() + self.perceptual_weight = perceptual_weight + # output log variance + self.logvar = nn.Parameter(torch.ones(size=()) * logvar_init) + self.learn_logvar = learn_logvar + + self.discriminator = NLayerDiscriminator( + input_nc=disc_in_channels, n_layers=disc_num_layers, use_actnorm=False + ).apply(weights_init) + self.discriminator_iter_start = disc_start + self.disc_loss = hinge_d_loss if disc_loss == "hinge" else vanilla_d_loss + self.disc_factor = disc_factor + self.discriminator_weight = disc_weight + self.regularization_weights = default(regularization_weights, {}) + + def get_trainable_parameters(self) -> Any: + return self.discriminator.parameters() + + def get_trainable_autoencoder_parameters(self) -> Any: + if self.learn_logvar: + yield self.logvar + yield from () + + def calculate_adaptive_weight(self, nll_loss, g_loss, last_layer=None): + if last_layer is not None: + nll_grads = torch.autograd.grad(nll_loss, last_layer, retain_graph=True)[0] + g_grads = torch.autograd.grad(g_loss, last_layer, retain_graph=True)[0] + else: + nll_grads = torch.autograd.grad( + nll_loss, self.last_layer[0], retain_graph=True + )[0] + g_grads = torch.autograd.grad( + g_loss, self.last_layer[0], retain_graph=True + )[0] + + d_weight = torch.norm(nll_grads) / (torch.norm(g_grads) + 1e-4) + d_weight = torch.clamp(d_weight, 0.0, 1e4).detach() + d_weight = d_weight * self.discriminator_weight + return d_weight + + def forward( + self, + regularization_log, + inputs, + reconstructions, + optimizer_idx, + global_step, + last_layer=None, + split="train", + weights=None, + ): + if self.scale_input_to_tgt_size: + inputs = torch.nn.functional.interpolate( + inputs, reconstructions.shape[2:], mode="bicubic", antialias=True + ) + + if self.dims > 2: + inputs, reconstructions = map( + lambda x: rearrange(x, "b c t h w -> (b t) c h w"), + (inputs, reconstructions), + ) + + rec_loss = torch.abs(inputs.contiguous() - reconstructions.contiguous()) + if self.perceptual_weight > 0: + p_loss = self.perceptual_loss( + inputs.contiguous(), reconstructions.contiguous() + ) + rec_loss = rec_loss + self.perceptual_weight * p_loss + + nll_loss = rec_loss / torch.exp(self.logvar) + self.logvar + weighted_nll_loss = nll_loss + if weights is not None: + weighted_nll_loss = weights * nll_loss + weighted_nll_loss = torch.sum(weighted_nll_loss) / weighted_nll_loss.shape[0] + nll_loss = torch.sum(nll_loss) / nll_loss.shape[0] + + # now the GAN part + if optimizer_idx == 0: + # generator update + logits_fake = self.discriminator(reconstructions.contiguous()) + g_loss = -torch.mean(logits_fake) + + if self.disc_factor > 0.0: + try: + d_weight = self.calculate_adaptive_weight( + nll_loss, g_loss, last_layer=last_layer + ) + except RuntimeError: + assert not self.training + d_weight = torch.tensor(0.0) + else: + d_weight = torch.tensor(0.0) + + disc_factor = adopt_weight( + self.disc_factor, global_step, threshold=self.discriminator_iter_start + ) + loss = weighted_nll_loss + d_weight * disc_factor * g_loss + log = dict() + for k in regularization_log: + if k in self.regularization_weights: + loss = loss + self.regularization_weights[k] * regularization_log[k] + log[f"{split}/{k}"] = regularization_log[k].detach().mean() + + log.update( + { + "{}/total_loss".format(split): loss.clone().detach().mean(), + "{}/logvar".format(split): self.logvar.detach(), + "{}/nll_loss".format(split): nll_loss.detach().mean(), + "{}/rec_loss".format(split): rec_loss.detach().mean(), + "{}/d_weight".format(split): d_weight.detach(), + "{}/disc_factor".format(split): torch.tensor(disc_factor), + "{}/g_loss".format(split): g_loss.detach().mean(), + } + ) + + return loss, log + + if optimizer_idx == 1: + # second pass for discriminator update + logits_real = self.discriminator(inputs.contiguous().detach()) + logits_fake = self.discriminator(reconstructions.contiguous().detach()) + + disc_factor = adopt_weight( + self.disc_factor, global_step, threshold=self.discriminator_iter_start + ) + d_loss = disc_factor * self.disc_loss(logits_real, logits_fake) + + log = { + "{}/disc_loss".format(split): d_loss.clone().detach().mean(), + "{}/logits_real".format(split): logits_real.detach().mean(), + "{}/logits_fake".format(split): logits_fake.detach().mean(), + } + return d_loss, log diff --git a/sgm/modules/autoencoding/regularizers/__init__.py b/sgm/modules/autoencoding/regularizers/__init__.py new file mode 100644 index 00000000..8de3212d --- /dev/null +++ b/sgm/modules/autoencoding/regularizers/__init__.py @@ -0,0 +1,53 @@ +from abc import abstractmethod +from typing import Any, Tuple + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from ....modules.distributions.distributions import DiagonalGaussianDistribution + + +class AbstractRegularizer(nn.Module): + def __init__(self): + super().__init__() + + def forward(self, z: torch.Tensor) -> Tuple[torch.Tensor, dict]: + raise NotImplementedError() + + @abstractmethod + def get_trainable_parameters(self) -> Any: + raise NotImplementedError() + + +class DiagonalGaussianRegularizer(AbstractRegularizer): + def __init__(self, sample: bool = True): + super().__init__() + self.sample = sample + + def get_trainable_parameters(self) -> Any: + yield from () + + def forward(self, z: torch.Tensor) -> Tuple[torch.Tensor, dict]: + log = dict() + posterior = DiagonalGaussianDistribution(z) + if self.sample: + z = posterior.sample() + else: + z = posterior.mode() + kl_loss = posterior.kl() + kl_loss = torch.sum(kl_loss) / kl_loss.shape[0] + log["kl_loss"] = kl_loss + return z, log + + +def measure_perplexity(predicted_indices, num_centroids): + # src: https://github.com/karpathy/deep-vector-quantization/blob/main/model.py + # eval cluster perplexity. when perplexity == num_embeddings then all clusters are used exactly equally + encodings = ( + F.one_hot(predicted_indices, num_centroids).float().reshape(-1, num_centroids) + ) + avg_probs = encodings.mean(0) + perplexity = (-(avg_probs * torch.log(avg_probs + 1e-10)).sum()).exp() + cluster_use = torch.sum(avg_probs > 0) + return perplexity, cluster_use diff --git a/sgm/modules/diffusionmodules/__init__.py b/sgm/modules/diffusionmodules/__init__.py new file mode 100644 index 00000000..ce7968af --- /dev/null +++ b/sgm/modules/diffusionmodules/__init__.py @@ -0,0 +1,7 @@ +from .denoiser import Denoiser +from .discretizer import Discretization +from .loss import StandardDiffusionLoss +from .model import Model, Encoder, Decoder +from .openaimodel import UNetModel +from .sampling import BaseDiffusionSampler +from .wrappers import OpenAIWrapper diff --git a/sgm/modules/diffusionmodules/denoiser.py b/sgm/modules/diffusionmodules/denoiser.py new file mode 100644 index 00000000..4651e7de --- /dev/null +++ b/sgm/modules/diffusionmodules/denoiser.py @@ -0,0 +1,63 @@ +import torch.nn as nn + +from ...util import append_dims, instantiate_from_config + + +class Denoiser(nn.Module): + def __init__(self, weighting_config, scaling_config): + super().__init__() + + self.weighting = instantiate_from_config(weighting_config) + self.scaling = instantiate_from_config(scaling_config) + + def possibly_quantize_sigma(self, sigma): + return sigma + + def possibly_quantize_c_noise(self, c_noise): + return c_noise + + def w(self, sigma): + return self.weighting(sigma) + + def __call__(self, network, input, sigma, cond): + sigma = self.possibly_quantize_sigma(sigma) + sigma_shape = sigma.shape + sigma = append_dims(sigma, input.ndim) + c_skip, c_out, c_in, c_noise = self.scaling(sigma) + c_noise = self.possibly_quantize_c_noise(c_noise.reshape(sigma_shape)) + return network(input * c_in, c_noise, cond) * c_out + input * c_skip + + +class DiscreteDenoiser(Denoiser): + def __init__( + self, + weighting_config, + scaling_config, + num_idx, + discretization_config, + do_append_zero=False, + quantize_c_noise=True, + flip=True, + ): + super().__init__(weighting_config, scaling_config) + sigmas = instantiate_from_config(discretization_config)( + num_idx, do_append_zero=do_append_zero, flip=flip + ) + self.register_buffer("sigmas", sigmas) + self.quantize_c_noise = quantize_c_noise + + def sigma_to_idx(self, sigma): + dists = sigma - self.sigmas[:, None] + return dists.abs().argmin(dim=0).view(sigma.shape) + + def idx_to_sigma(self, idx): + return self.sigmas[idx] + + def possibly_quantize_sigma(self, sigma): + return self.idx_to_sigma(self.sigma_to_idx(sigma)) + + def possibly_quantize_c_noise(self, c_noise): + if self.quantize_c_noise: + return self.sigma_to_idx(c_noise) + else: + return c_noise diff --git a/sgm/modules/diffusionmodules/denoiser_scaling.py b/sgm/modules/diffusionmodules/denoiser_scaling.py new file mode 100644 index 00000000..f8a2ac67 --- /dev/null +++ b/sgm/modules/diffusionmodules/denoiser_scaling.py @@ -0,0 +1,31 @@ +import torch + + +class EDMScaling: + def __init__(self, sigma_data=0.5): + self.sigma_data = sigma_data + + def __call__(self, sigma): + c_skip = self.sigma_data**2 / (sigma**2 + self.sigma_data**2) + c_out = sigma * self.sigma_data / (sigma**2 + self.sigma_data**2) ** 0.5 + c_in = 1 / (sigma**2 + self.sigma_data**2) ** 0.5 + c_noise = 0.25 * sigma.log() + return c_skip, c_out, c_in, c_noise + + +class EpsScaling: + def __call__(self, sigma): + c_skip = torch.ones_like(sigma, device=sigma.device) + c_out = -sigma + c_in = 1 / (sigma**2 + 1.0) ** 0.5 + c_noise = sigma.clone() + return c_skip, c_out, c_in, c_noise + + +class VScaling: + def __call__(self, sigma): + c_skip = 1.0 / (sigma**2 + 1.0) + c_out = -sigma / (sigma**2 + 1.0) ** 0.5 + c_in = 1.0 / (sigma**2 + 1.0) ** 0.5 + c_noise = sigma.clone() + return c_skip, c_out, c_in, c_noise diff --git a/sgm/modules/diffusionmodules/denoiser_weighting.py b/sgm/modules/diffusionmodules/denoiser_weighting.py new file mode 100644 index 00000000..b8b03ca5 --- /dev/null +++ b/sgm/modules/diffusionmodules/denoiser_weighting.py @@ -0,0 +1,24 @@ +import torch + + +class UnitWeighting: + def __call__(self, sigma): + return torch.ones_like(sigma, device=sigma.device) + + +class EDMWeighting: + def __init__(self, sigma_data=0.5): + self.sigma_data = sigma_data + + def __call__(self, sigma): + return (sigma**2 + self.sigma_data**2) / (sigma * self.sigma_data) ** 2 + + +class VWeighting(EDMWeighting): + def __init__(self): + super().__init__(sigma_data=1.0) + + +class EpsWeighting: + def __call__(self, sigma): + return sigma**-2.0 diff --git a/sgm/modules/diffusionmodules/discretizer.py b/sgm/modules/diffusionmodules/discretizer.py new file mode 100644 index 00000000..f6321865 --- /dev/null +++ b/sgm/modules/diffusionmodules/discretizer.py @@ -0,0 +1,65 @@ +import torch +import numpy as np +from functools import partial + +from ...util import append_zero +from ...modules.diffusionmodules.util import make_beta_schedule + + +class Discretization: + def __call__(self, n, do_append_zero=True, device="cuda", flip=False): + sigmas = self.get_sigmas(n, device) + sigmas = append_zero(sigmas) if do_append_zero else sigmas + return sigmas if not flip else torch.flip(sigmas, (0,)) + + +class EDMDiscretization(Discretization): + def __init__(self, sigma_min=0.02, sigma_max=80.0, rho=7.0): + self.sigma_min = sigma_min + self.sigma_max = sigma_max + self.rho = rho + + def get_sigmas(self, n, device): + ramp = torch.linspace(0, 1, n, device=device) + min_inv_rho = self.sigma_min ** (1 / self.rho) + max_inv_rho = self.sigma_max ** (1 / self.rho) + sigmas = (max_inv_rho + ramp * (min_inv_rho - max_inv_rho)) ** self.rho + return sigmas + + +class LegacyDDPMDiscretization(Discretization): + def __init__( + self, + linear_start=0.00085, + linear_end=0.0120, + num_timesteps=1000, + legacy_range=True, + ): + self.num_timesteps = num_timesteps + betas = make_beta_schedule( + "linear", num_timesteps, linear_start=linear_start, linear_end=linear_end + ) + alphas = 1.0 - betas + self.alphas_cumprod = np.cumprod(alphas, axis=0) + self.to_torch = partial(torch.tensor, dtype=torch.float32) + self.legacy_range = legacy_range + + def get_sigmas(self, n, device): + if n < self.num_timesteps: + c = self.num_timesteps // n + + if self.legacy_range: + timesteps = np.asarray(list(range(0, self.num_timesteps, c))) + timesteps += 1 # Legacy LDM Hack + else: + timesteps = np.asarray(list(range(0, self.num_timesteps + 1, c))) + timesteps -= 1 + timesteps = timesteps[1:] + + alphas_cumprod = self.alphas_cumprod[timesteps] + else: + alphas_cumprod = self.alphas_cumprod + + to_torch = partial(torch.tensor, dtype=torch.float32, device=device) + sigmas = to_torch((1 - alphas_cumprod) / alphas_cumprod) ** 0.5 + return torch.flip(sigmas, (0,)) diff --git a/sgm/modules/diffusionmodules/guiders.py b/sgm/modules/diffusionmodules/guiders.py new file mode 100644 index 00000000..7d33361d --- /dev/null +++ b/sgm/modules/diffusionmodules/guiders.py @@ -0,0 +1,53 @@ +from functools import partial + +import torch + +from ...util import default, instantiate_from_config + + +class VanillaCFG: + """ + implements parallelized CFG + """ + + def __init__(self, scale, dyn_thresh_config=None): + scale_schedule = lambda scale, sigma: scale # independent of step + self.scale_schedule = partial(scale_schedule, scale) + self.dyn_thresh = instantiate_from_config( + default( + dyn_thresh_config, + { + "target": "sgm.modules.diffusionmodules.sampling_utils.NoDynamicThresholding" + }, + ) + ) + + def __call__(self, x, sigma): + x_u, x_c = x.chunk(2) + scale_value = self.scale_schedule(sigma) + x_pred = self.dyn_thresh(x_u, x_c, scale_value) + return x_pred + + def prepare_inputs(self, x, s, c, uc): + c_out = dict() + + for k in c: + if k in ["vector", "crossattn", "concat"]: + c_out[k] = torch.cat((uc[k], c[k]), 0) + else: + assert c[k] == uc[k] + c_out[k] = c[k] + return torch.cat([x] * 2), torch.cat([s] * 2), c_out + + +class IdentityGuider: + def __call__(self, x, sigma): + return x + + def prepare_inputs(self, x, s, c, uc): + c_out = dict() + + for k in c: + c_out[k] = c[k] + + return x, s, c_out diff --git a/sgm/modules/diffusionmodules/loss.py b/sgm/modules/diffusionmodules/loss.py new file mode 100644 index 00000000..555abc1c --- /dev/null +++ b/sgm/modules/diffusionmodules/loss.py @@ -0,0 +1,69 @@ +from typing import List, Optional, Union + +import torch +import torch.nn as nn +from omegaconf import ListConfig +from taming.modules.losses.lpips import LPIPS + +from ...util import append_dims, instantiate_from_config + + +class StandardDiffusionLoss(nn.Module): + def __init__( + self, + sigma_sampler_config, + type="l2", + offset_noise_level=0.0, + batch2model_keys: Optional[Union[str, List[str], ListConfig]] = None, + ): + super().__init__() + + assert type in ["l2", "l1", "lpips"] + + self.sigma_sampler = instantiate_from_config(sigma_sampler_config) + + self.type = type + self.offset_noise_level = offset_noise_level + + if type == "lpips": + self.lpips = LPIPS().eval() + + if not batch2model_keys: + batch2model_keys = [] + + if isinstance(batch2model_keys, str): + batch2model_keys = [batch2model_keys] + + self.batch2model_keys = set(batch2model_keys) + + def __call__(self, network, denoiser, conditioner, input, batch): + cond = conditioner(batch) + additional_model_inputs = { + key: batch[key] for key in self.batch2model_keys.intersection(batch) + } + + sigmas = self.sigma_sampler(input.shape[0]).to(input.device) + noise = torch.randn_like(input) + if self.offset_noise_level > 0.0: + noise = noise + self.offset_noise_level * append_dims( + torch.randn(input.shape[0], device=input.device), input.ndim + ) + noised_input = input + noise * append_dims(sigmas, input.ndim) + model_output = denoiser( + network, noised_input, sigmas, cond, **additional_model_inputs + ) + w = append_dims(denoiser.w(sigmas), input.ndim) + return self.get_loss(model_output, input, w) + + def get_loss(self, model_output, target, w): + if self.type == "l2": + return torch.mean( + (w * (model_output - target) ** 2).reshape(target.shape[0], -1), 1 + ) + elif self.type == "l1": + return torch.mean( + (w * (model_output - target).abs()).reshape(target.shape[0], -1), 1 + ) + elif self.type == "lpips": + loss = self.lpips(model_output, target).reshape(-1) + return loss diff --git a/sgm/modules/diffusionmodules/model.py b/sgm/modules/diffusionmodules/model.py new file mode 100644 index 00000000..26efd078 --- /dev/null +++ b/sgm/modules/diffusionmodules/model.py @@ -0,0 +1,743 @@ +# pytorch_diffusion + derived encoder decoder +import math +from typing import Any, Callable, Optional + +import numpy as np +import torch +import torch.nn as nn +from einops import rearrange +from packaging import version + +try: + import xformers + import xformers.ops + + XFORMERS_IS_AVAILABLE = True +except: + XFORMERS_IS_AVAILABLE = False + print("no module 'xformers'. Processing without...") + +from ...modules.attention import LinearAttention, MemoryEfficientCrossAttention + + +def get_timestep_embedding(timesteps, embedding_dim): + """ + This matches the implementation in Denoising Diffusion Probabilistic Models: + From Fairseq. + Build sinusoidal embeddings. + This matches the implementation in tensor2tensor, but differs slightly + from the description in Section 3.5 of "Attention Is All You Need". + """ + assert len(timesteps.shape) == 1 + + half_dim = embedding_dim // 2 + emb = math.log(10000) / (half_dim - 1) + emb = torch.exp(torch.arange(half_dim, dtype=torch.float32) * -emb) + emb = emb.to(device=timesteps.device) + emb = timesteps.float()[:, None] * emb[None, :] + emb = torch.cat([torch.sin(emb), torch.cos(emb)], dim=1) + if embedding_dim % 2 == 1: # zero pad + emb = torch.nn.functional.pad(emb, (0, 1, 0, 0)) + return emb + + +def nonlinearity(x): + # swish + return x * torch.sigmoid(x) + + +def Normalize(in_channels, num_groups=32): + return torch.nn.GroupNorm( + num_groups=num_groups, num_channels=in_channels, eps=1e-6, affine=True + ) + + +class Upsample(nn.Module): + def __init__(self, in_channels, with_conv): + super().__init__() + self.with_conv = with_conv + if self.with_conv: + self.conv = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=3, stride=1, padding=1 + ) + + def forward(self, x): + x = torch.nn.functional.interpolate(x, scale_factor=2.0, mode="nearest") + if self.with_conv: + x = self.conv(x) + return x + + +class Downsample(nn.Module): + def __init__(self, in_channels, with_conv): + super().__init__() + self.with_conv = with_conv + if self.with_conv: + # no asymmetric padding in torch conv, must do it ourselves + self.conv = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=3, stride=2, padding=0 + ) + + def forward(self, x): + if self.with_conv: + pad = (0, 1, 0, 1) + x = torch.nn.functional.pad(x, pad, mode="constant", value=0) + x = self.conv(x) + else: + x = torch.nn.functional.avg_pool2d(x, kernel_size=2, stride=2) + return x + + +class ResnetBlock(nn.Module): + def __init__( + self, + *, + in_channels, + out_channels=None, + conv_shortcut=False, + dropout, + temb_channels=512, + ): + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + self.out_channels = out_channels + self.use_conv_shortcut = conv_shortcut + + self.norm1 = Normalize(in_channels) + self.conv1 = torch.nn.Conv2d( + in_channels, out_channels, kernel_size=3, stride=1, padding=1 + ) + if temb_channels > 0: + self.temb_proj = torch.nn.Linear(temb_channels, out_channels) + self.norm2 = Normalize(out_channels) + self.dropout = torch.nn.Dropout(dropout) + self.conv2 = torch.nn.Conv2d( + out_channels, out_channels, kernel_size=3, stride=1, padding=1 + ) + if self.in_channels != self.out_channels: + if self.use_conv_shortcut: + self.conv_shortcut = torch.nn.Conv2d( + in_channels, out_channels, kernel_size=3, stride=1, padding=1 + ) + else: + self.nin_shortcut = torch.nn.Conv2d( + in_channels, out_channels, kernel_size=1, stride=1, padding=0 + ) + + def forward(self, x, temb): + h = x + h = self.norm1(h) + h = nonlinearity(h) + h = self.conv1(h) + + if temb is not None: + h = h + self.temb_proj(nonlinearity(temb))[:, :, None, None] + + h = self.norm2(h) + h = nonlinearity(h) + h = self.dropout(h) + h = self.conv2(h) + + if self.in_channels != self.out_channels: + if self.use_conv_shortcut: + x = self.conv_shortcut(x) + else: + x = self.nin_shortcut(x) + + return x + h + + +class LinAttnBlock(LinearAttention): + """to match AttnBlock usage""" + + def __init__(self, in_channels): + super().__init__(dim=in_channels, heads=1, dim_head=in_channels) + + +class AttnBlock(nn.Module): + def __init__(self, in_channels): + super().__init__() + self.in_channels = in_channels + + self.norm = Normalize(in_channels) + self.q = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.k = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.v = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.proj_out = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + + def attention(self, h_: torch.Tensor) -> torch.Tensor: + h_ = self.norm(h_) + q = self.q(h_) + k = self.k(h_) + v = self.v(h_) + + b, c, h, w = q.shape + q, k, v = map( + lambda x: rearrange(x, "b c h w -> b 1 (h w) c").contiguous(), (q, k, v) + ) + h_ = torch.nn.functional.scaled_dot_product_attention( + q, k, v + ) # scale is dim ** -0.5 per default + # compute attention + + return rearrange(h_, "b 1 (h w) c -> b c h w", h=h, w=w, c=c, b=b) + + def forward(self, x, **kwargs): + h_ = x + h_ = self.attention(h_) + h_ = self.proj_out(h_) + return x + h_ + + +class MemoryEfficientAttnBlock(nn.Module): + """ + Uses xformers efficient implementation, + see https://github.com/MatthieuTPHR/diffusers/blob/d80b531ff8060ec1ea982b65a1b8df70f73aa67c/src/diffusers/models/attention.py#L223 + Note: this is a single-head self-attention operation + """ + + # + def __init__(self, in_channels): + super().__init__() + self.in_channels = in_channels + + self.norm = Normalize(in_channels) + self.q = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.k = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.v = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.proj_out = torch.nn.Conv2d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.attention_op: Optional[Any] = None + + def attention(self, h_: torch.Tensor) -> torch.Tensor: + h_ = self.norm(h_) + q = self.q(h_) + k = self.k(h_) + v = self.v(h_) + + # compute attention + B, C, H, W = q.shape + q, k, v = map(lambda x: rearrange(x, "b c h w -> b (h w) c"), (q, k, v)) + + q, k, v = map( + lambda t: t.unsqueeze(3) + .reshape(B, t.shape[1], 1, C) + .permute(0, 2, 1, 3) + .reshape(B * 1, t.shape[1], C) + .contiguous(), + (q, k, v), + ) + out = xformers.ops.memory_efficient_attention( + q, k, v, attn_bias=None, op=self.attention_op + ) + + out = ( + out.unsqueeze(0) + .reshape(B, 1, out.shape[1], C) + .permute(0, 2, 1, 3) + .reshape(B, out.shape[1], C) + ) + return rearrange(out, "b (h w) c -> b c h w", b=B, h=H, w=W, c=C) + + def forward(self, x, **kwargs): + h_ = x + h_ = self.attention(h_) + h_ = self.proj_out(h_) + return x + h_ + + +class MemoryEfficientCrossAttentionWrapper(MemoryEfficientCrossAttention): + def forward(self, x, context=None, mask=None, **unused_kwargs): + b, c, h, w = x.shape + x = rearrange(x, "b c h w -> b (h w) c") + out = super().forward(x, context=context, mask=mask) + out = rearrange(out, "b (h w) c -> b c h w", h=h, w=w, c=c) + return x + out + + +def make_attn(in_channels, attn_type="vanilla", attn_kwargs=None): + assert attn_type in [ + "vanilla", + "vanilla-xformers", + "memory-efficient-cross-attn", + "linear", + "none", + ], f"attn_type {attn_type} unknown" + if ( + version.parse(torch.__version__) < version.parse("2.0.0") + and attn_type != "none" + ): + assert XFORMERS_IS_AVAILABLE, ( + f"We do not support vanilla attention in {torch.__version__} anymore, " + f"as it is too expensive. Please install xformers via e.g. 'pip install xformers==0.0.16'" + ) + attn_type = "vanilla-xformers" + print(f"making attention of type '{attn_type}' with {in_channels} in_channels") + if attn_type == "vanilla": + assert attn_kwargs is None + return AttnBlock(in_channels) + elif attn_type == "vanilla-xformers": + print(f"building MemoryEfficientAttnBlock with {in_channels} in_channels...") + return MemoryEfficientAttnBlock(in_channels) + elif type == "memory-efficient-cross-attn": + attn_kwargs["query_dim"] = in_channels + return MemoryEfficientCrossAttentionWrapper(**attn_kwargs) + elif attn_type == "none": + return nn.Identity(in_channels) + else: + return LinAttnBlock(in_channels) + + +class Model(nn.Module): + def __init__( + self, + *, + ch, + out_ch, + ch_mult=(1, 2, 4, 8), + num_res_blocks, + attn_resolutions, + dropout=0.0, + resamp_with_conv=True, + in_channels, + resolution, + use_timestep=True, + use_linear_attn=False, + attn_type="vanilla", + ): + super().__init__() + if use_linear_attn: + attn_type = "linear" + self.ch = ch + self.temb_ch = self.ch * 4 + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + + self.use_timestep = use_timestep + if self.use_timestep: + # timestep embedding + self.temb = nn.Module() + self.temb.dense = nn.ModuleList( + [ + torch.nn.Linear(self.ch, self.temb_ch), + torch.nn.Linear(self.temb_ch, self.temb_ch), + ] + ) + + # downsampling + self.conv_in = torch.nn.Conv2d( + in_channels, self.ch, kernel_size=3, stride=1, padding=1 + ) + + curr_res = resolution + in_ch_mult = (1,) + tuple(ch_mult) + self.down = nn.ModuleList() + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = ch * in_ch_mult[i_level] + block_out = ch * ch_mult[i_level] + for i_block in range(self.num_res_blocks): + block.append( + ResnetBlock( + in_channels=block_in, + out_channels=block_out, + temb_channels=self.temb_ch, + dropout=dropout, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(make_attn(block_in, attn_type=attn_type)) + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions - 1: + down.downsample = Downsample(block_in, resamp_with_conv) + curr_res = curr_res // 2 + self.down.append(down) + + # middle + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock( + in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout, + ) + self.mid.attn_1 = make_attn(block_in, attn_type=attn_type) + self.mid.block_2 = ResnetBlock( + in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout, + ) + + # upsampling + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = ch * ch_mult[i_level] + skip_in = ch * ch_mult[i_level] + for i_block in range(self.num_res_blocks + 1): + if i_block == self.num_res_blocks: + skip_in = ch * in_ch_mult[i_level] + block.append( + ResnetBlock( + in_channels=block_in + skip_in, + out_channels=block_out, + temb_channels=self.temb_ch, + dropout=dropout, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(make_attn(block_in, attn_type=attn_type)) + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + up.upsample = Upsample(block_in, resamp_with_conv) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + + # end + self.norm_out = Normalize(block_in) + self.conv_out = torch.nn.Conv2d( + block_in, out_ch, kernel_size=3, stride=1, padding=1 + ) + + def forward(self, x, t=None, context=None): + # assert x.shape[2] == x.shape[3] == self.resolution + if context is not None: + # assume aligned context, cat along channel axis + x = torch.cat((x, context), dim=1) + if self.use_timestep: + # timestep embedding + assert t is not None + temb = get_timestep_embedding(t, self.ch) + temb = self.temb.dense[0](temb) + temb = nonlinearity(temb) + temb = self.temb.dense[1](temb) + else: + temb = None + + # downsampling + hs = [self.conv_in(x)] + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](hs[-1], temb) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + hs.append(h) + if i_level != self.num_resolutions - 1: + hs.append(self.down[i_level].downsample(hs[-1])) + + # middle + h = hs[-1] + h = self.mid.block_1(h, temb) + h = self.mid.attn_1(h) + h = self.mid.block_2(h, temb) + + # upsampling + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks + 1): + h = self.up[i_level].block[i_block]( + torch.cat([h, hs.pop()], dim=1), temb + ) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h) + if i_level != 0: + h = self.up[i_level].upsample(h) + + # end + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + return h + + def get_last_layer(self): + return self.conv_out.weight + + +class Encoder(nn.Module): + def __init__( + self, + *, + ch, + out_ch, + ch_mult=(1, 2, 4, 8), + num_res_blocks, + attn_resolutions, + dropout=0.0, + resamp_with_conv=True, + in_channels, + resolution, + z_channels, + double_z=True, + use_linear_attn=False, + attn_type="vanilla", + **ignore_kwargs, + ): + super().__init__() + if use_linear_attn: + attn_type = "linear" + self.ch = ch + self.temb_ch = 0 + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + + # downsampling + self.conv_in = torch.nn.Conv2d( + in_channels, self.ch, kernel_size=3, stride=1, padding=1 + ) + + curr_res = resolution + in_ch_mult = (1,) + tuple(ch_mult) + self.in_ch_mult = in_ch_mult + self.down = nn.ModuleList() + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = ch * in_ch_mult[i_level] + block_out = ch * ch_mult[i_level] + for i_block in range(self.num_res_blocks): + block.append( + ResnetBlock( + in_channels=block_in, + out_channels=block_out, + temb_channels=self.temb_ch, + dropout=dropout, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(make_attn(block_in, attn_type=attn_type)) + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions - 1: + down.downsample = Downsample(block_in, resamp_with_conv) + curr_res = curr_res // 2 + self.down.append(down) + + # middle + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock( + in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout, + ) + self.mid.attn_1 = make_attn(block_in, attn_type=attn_type) + self.mid.block_2 = ResnetBlock( + in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout, + ) + + # end + self.norm_out = Normalize(block_in) + self.conv_out = torch.nn.Conv2d( + block_in, + 2 * z_channels if double_z else z_channels, + kernel_size=3, + stride=1, + padding=1, + ) + + def forward(self, x): + # timestep embedding + temb = None + + # downsampling + hs = [self.conv_in(x)] + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](hs[-1], temb) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + hs.append(h) + if i_level != self.num_resolutions - 1: + hs.append(self.down[i_level].downsample(hs[-1])) + + # middle + h = hs[-1] + h = self.mid.block_1(h, temb) + h = self.mid.attn_1(h) + h = self.mid.block_2(h, temb) + + # end + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + return h + + +class Decoder(nn.Module): + def __init__( + self, + *, + ch, + out_ch, + ch_mult=(1, 2, 4, 8), + num_res_blocks, + attn_resolutions, + dropout=0.0, + resamp_with_conv=True, + in_channels, + resolution, + z_channels, + give_pre_end=False, + tanh_out=False, + use_linear_attn=False, + attn_type="vanilla", + **ignorekwargs, + ): + super().__init__() + if use_linear_attn: + attn_type = "linear" + self.ch = ch + self.temb_ch = 0 + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + self.give_pre_end = give_pre_end + self.tanh_out = tanh_out + + # compute in_ch_mult, block_in and curr_res at lowest res + in_ch_mult = (1,) + tuple(ch_mult) + block_in = ch * ch_mult[self.num_resolutions - 1] + curr_res = resolution // 2 ** (self.num_resolutions - 1) + self.z_shape = (1, z_channels, curr_res, curr_res) + print( + "Working with z of shape {} = {} dimensions.".format( + self.z_shape, np.prod(self.z_shape) + ) + ) + + make_attn_cls = self._make_attn() + make_resblock_cls = self._make_resblock() + make_conv_cls = self._make_conv() + # z to block_in + self.conv_in = torch.nn.Conv2d( + z_channels, block_in, kernel_size=3, stride=1, padding=1 + ) + + # middle + self.mid = nn.Module() + self.mid.block_1 = make_resblock_cls( + in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout, + ) + self.mid.attn_1 = make_attn_cls(block_in, attn_type=attn_type) + self.mid.block_2 = make_resblock_cls( + in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout, + ) + + # upsampling + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = ch * ch_mult[i_level] + for i_block in range(self.num_res_blocks + 1): + block.append( + make_resblock_cls( + in_channels=block_in, + out_channels=block_out, + temb_channels=self.temb_ch, + dropout=dropout, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(make_attn_cls(block_in, attn_type=attn_type)) + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + up.upsample = Upsample(block_in, resamp_with_conv) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + + # end + self.norm_out = Normalize(block_in) + self.conv_out = make_conv_cls( + block_in, out_ch, kernel_size=3, stride=1, padding=1 + ) + + def _make_attn(self) -> Callable: + return make_attn + + def _make_resblock(self) -> Callable: + return ResnetBlock + + def _make_conv(self) -> Callable: + return torch.nn.Conv2d + + def get_last_layer(self, **kwargs): + return self.conv_out.weight + + def forward(self, z, **kwargs): + # assert z.shape[1:] == self.z_shape[1:] + self.last_z_shape = z.shape + + # timestep embedding + temb = None + + # z to block_in + h = self.conv_in(z) + + # middle + h = self.mid.block_1(h, temb, **kwargs) + h = self.mid.attn_1(h, **kwargs) + h = self.mid.block_2(h, temb, **kwargs) + + # upsampling + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks + 1): + h = self.up[i_level].block[i_block](h, temb, **kwargs) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h, **kwargs) + if i_level != 0: + h = self.up[i_level].upsample(h) + + # end + if self.give_pre_end: + return h + + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h, **kwargs) + if self.tanh_out: + h = torch.tanh(h) + return h diff --git a/sgm/modules/diffusionmodules/openaimodel.py b/sgm/modules/diffusionmodules/openaimodel.py new file mode 100644 index 00000000..e19b83f9 --- /dev/null +++ b/sgm/modules/diffusionmodules/openaimodel.py @@ -0,0 +1,1262 @@ +import math +from abc import abstractmethod +from functools import partial +from typing import Iterable + +import numpy as np +import torch as th +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange + +from ...modules.attention import SpatialTransformer +from ...modules.diffusionmodules.util import ( + avg_pool_nd, + checkpoint, + conv_nd, + linear, + normalization, + timestep_embedding, + zero_module, +) +from ...util import default, exists + + +# dummy replace +def convert_module_to_f16(x): + pass + + +def convert_module_to_f32(x): + pass + + +## go +class AttentionPool2d(nn.Module): + """ + Adapted from CLIP: https://github.com/openai/CLIP/blob/main/clip/model.py + """ + + def __init__( + self, + spacial_dim: int, + embed_dim: int, + num_heads_channels: int, + output_dim: int = None, + ): + super().__init__() + self.positional_embedding = nn.Parameter( + th.randn(embed_dim, spacial_dim**2 + 1) / embed_dim**0.5 + ) + self.qkv_proj = conv_nd(1, embed_dim, 3 * embed_dim, 1) + self.c_proj = conv_nd(1, embed_dim, output_dim or embed_dim, 1) + self.num_heads = embed_dim // num_heads_channels + self.attention = QKVAttention(self.num_heads) + + def forward(self, x): + b, c, *_spatial = x.shape + x = x.reshape(b, c, -1) # NC(HW) + x = th.cat([x.mean(dim=-1, keepdim=True), x], dim=-1) # NC(HW+1) + x = x + self.positional_embedding[None, :, :].to(x.dtype) # NC(HW+1) + x = self.qkv_proj(x) + x = self.attention(x) + x = self.c_proj(x) + return x[:, :, 0] + + +class TimestepBlock(nn.Module): + """ + Any module where forward() takes timestep embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` timestep embeddings. + """ + + +class TimestepEmbedSequential(nn.Sequential, TimestepBlock): + """ + A sequential module that passes timestep embeddings to the children that + support it as an extra input. + """ + + def forward( + self, + x, + emb, + context=None, + skip_time_mix=False, + time_context=None, + num_video_frames=None, + time_context_cat=None, + use_crossframe_attention_in_spatial_layers=False, + ): + for layer in self: + if isinstance(layer, TimestepBlock): + x = layer(x, emb) + elif isinstance(layer, SpatialTransformer): + x = layer(x, context) + else: + x = layer(x) + return x + + +class Upsample(nn.Module): + """ + An upsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + :param dims: determines if the signal is 1D, 2D, or 3D. If 3D, then + upsampling occurs in the inner-two dimensions. + """ + + def __init__( + self, channels, use_conv, dims=2, out_channels=None, padding=1, third_up=False + ): + super().__init__() + self.channels = channels + self.out_channels = out_channels or channels + self.use_conv = use_conv + self.dims = dims + self.third_up = third_up + if use_conv: + self.conv = conv_nd( + dims, self.channels, self.out_channels, 3, padding=padding + ) + + def forward(self, x): + assert x.shape[1] == self.channels + if self.dims == 3: + t_factor = 1 if not self.third_up else 2 + x = F.interpolate( + x, + (t_factor * x.shape[2], x.shape[3] * 2, x.shape[4] * 2), + mode="nearest", + ) + else: + x = F.interpolate(x, scale_factor=2, mode="nearest") + if self.use_conv: + x = self.conv(x) + return x + + +class TransposedUpsample(nn.Module): + "Learned 2x upsampling without padding" + + def __init__(self, channels, out_channels=None, ks=5): + super().__init__() + self.channels = channels + self.out_channels = out_channels or channels + + self.up = nn.ConvTranspose2d( + self.channels, self.out_channels, kernel_size=ks, stride=2 + ) + + def forward(self, x): + return self.up(x) + + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + :param dims: determines if the signal is 1D, 2D, or 3D. If 3D, then + downsampling occurs in the inner-two dimensions. + """ + + def __init__( + self, channels, use_conv, dims=2, out_channels=None, padding=1, third_down=False + ): + super().__init__() + self.channels = channels + self.out_channels = out_channels or channels + self.use_conv = use_conv + self.dims = dims + stride = 2 if dims != 3 else ((1, 2, 2) if not third_down else (2, 2, 2)) + if use_conv: + print(f"Building a Downsample layer with {dims} dims.") + print( + f" --> settings are: \n in-chn: {self.channels}, out-chn: {self.out_channels}, " + f"kernel-size: 3, stride: {stride}, padding: {padding}" + ) + if dims == 3: + print(f" --> Downsampling third axis (time): {third_down}") + self.op = conv_nd( + dims, + self.channels, + self.out_channels, + 3, + stride=stride, + padding=padding, + ) + else: + assert self.channels == self.out_channels + self.op = avg_pool_nd(dims, kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + return self.op(x) + + +class ResBlock(TimestepBlock): + """ + A residual block that can optionally change the number of channels. + :param channels: the number of input channels. + :param emb_channels: the number of timestep embedding channels. + :param dropout: the rate of dropout. + :param out_channels: if specified, the number of out channels. + :param use_conv: if True and out_channels is specified, use a spatial + convolution instead of a smaller 1x1 convolution to change the + channels in the skip connection. + :param dims: determines if the signal is 1D, 2D, or 3D. + :param use_checkpoint: if True, use gradient checkpointing on this module. + :param up: if True, use this block for upsampling. + :param down: if True, use this block for downsampling. + """ + + def __init__( + self, + channels, + emb_channels, + dropout, + out_channels=None, + use_conv=False, + use_scale_shift_norm=False, + dims=2, + use_checkpoint=False, + up=False, + down=False, + kernel_size=3, + exchange_temb_dims=False, + skip_t_emb=False, + ): + super().__init__() + self.channels = channels + self.emb_channels = emb_channels + self.dropout = dropout + self.out_channels = out_channels or channels + self.use_conv = use_conv + self.use_checkpoint = use_checkpoint + self.use_scale_shift_norm = use_scale_shift_norm + self.exchange_temb_dims = exchange_temb_dims + + if isinstance(kernel_size, Iterable): + padding = [k // 2 for k in kernel_size] + else: + padding = kernel_size // 2 + + self.in_layers = nn.Sequential( + normalization(channels), + nn.SiLU(), + conv_nd(dims, channels, self.out_channels, kernel_size, padding=padding), + ) + + self.updown = up or down + + if up: + self.h_upd = Upsample(channels, False, dims) + self.x_upd = Upsample(channels, False, dims) + elif down: + self.h_upd = Downsample(channels, False, dims) + self.x_upd = Downsample(channels, False, dims) + else: + self.h_upd = self.x_upd = nn.Identity() + + self.skip_t_emb = skip_t_emb + self.emb_out_channels = ( + 2 * self.out_channels if use_scale_shift_norm else self.out_channels + ) + if self.skip_t_emb: + print(f"Skipping timestep embedding in {self.__class__.__name__}") + assert not self.use_scale_shift_norm + self.emb_layers = None + self.exchange_temb_dims = False + else: + self.emb_layers = nn.Sequential( + nn.SiLU(), + linear( + emb_channels, + self.emb_out_channels, + ), + ) + + self.out_layers = nn.Sequential( + normalization(self.out_channels), + nn.SiLU(), + nn.Dropout(p=dropout), + zero_module( + conv_nd( + dims, + self.out_channels, + self.out_channels, + kernel_size, + padding=padding, + ) + ), + ) + + if self.out_channels == channels: + self.skip_connection = nn.Identity() + elif use_conv: + self.skip_connection = conv_nd( + dims, channels, self.out_channels, kernel_size, padding=padding + ) + else: + self.skip_connection = conv_nd(dims, channels, self.out_channels, 1) + + def forward(self, x, emb): + """ + Apply the block to a Tensor, conditioned on a timestep embedding. + :param x: an [N x C x ...] Tensor of features. + :param emb: an [N x emb_channels] Tensor of timestep embeddings. + :return: an [N x C x ...] Tensor of outputs. + """ + return checkpoint( + self._forward, (x, emb), self.parameters(), self.use_checkpoint + ) + + def _forward(self, x, emb): + if self.updown: + in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1] + h = in_rest(x) + h = self.h_upd(h) + x = self.x_upd(x) + h = in_conv(h) + else: + h = self.in_layers(x) + + if self.skip_t_emb: + emb_out = th.zeros_like(h) + else: + emb_out = self.emb_layers(emb).type(h.dtype) + while len(emb_out.shape) < len(h.shape): + emb_out = emb_out[..., None] + if self.use_scale_shift_norm: + out_norm, out_rest = self.out_layers[0], self.out_layers[1:] + scale, shift = th.chunk(emb_out, 2, dim=1) + h = out_norm(h) * (1 + scale) + shift + h = out_rest(h) + else: + if self.exchange_temb_dims: + emb_out = rearrange(emb_out, "b t c ... -> b c t ...") + h = h + emb_out + h = self.out_layers(h) + return self.skip_connection(x) + h + + +class AttentionBlock(nn.Module): + """ + An attention block that allows spatial positions to attend to each other. + Originally ported from here, but adapted to the N-d case. + https://github.com/hojonathanho/diffusion/blob/1e0dceb3b3495bbe19116a5e1b3596cd0706c543/diffusion_tf/models/unet.py#L66. + """ + + def __init__( + self, + channels, + num_heads=1, + num_head_channels=-1, + use_checkpoint=False, + use_new_attention_order=False, + ): + super().__init__() + self.channels = channels + if num_head_channels == -1: + self.num_heads = num_heads + else: + assert ( + channels % num_head_channels == 0 + ), f"q,k,v channels {channels} is not divisible by num_head_channels {num_head_channels}" + self.num_heads = channels // num_head_channels + self.use_checkpoint = use_checkpoint + self.norm = normalization(channels) + self.qkv = conv_nd(1, channels, channels * 3, 1) + if use_new_attention_order: + # split qkv before split heads + self.attention = QKVAttention(self.num_heads) + else: + # split heads before split qkv + self.attention = QKVAttentionLegacy(self.num_heads) + + self.proj_out = zero_module(conv_nd(1, channels, channels, 1)) + + def forward(self, x, **kwargs): + # TODO add crossframe attention and use mixed checkpoint + return checkpoint( + self._forward, (x,), self.parameters(), True + ) # TODO: check checkpoint usage, is True # TODO: fix the .half call!!! + # return pt_checkpoint(self._forward, x) # pytorch + + def _forward(self, x): + b, c, *spatial = x.shape + x = x.reshape(b, c, -1) + qkv = self.qkv(self.norm(x)) + h = self.attention(qkv) + h = self.proj_out(h) + return (x + h).reshape(b, c, *spatial) + + +def count_flops_attn(model, _x, y): + """ + A counter for the `thop` package to count the operations in an + attention operation. + Meant to be used like: + macs, params = thop.profile( + model, + inputs=(inputs, timestamps), + custom_ops={QKVAttention: QKVAttention.count_flops}, + ) + """ + b, c, *spatial = y[0].shape + num_spatial = int(np.prod(spatial)) + # We perform two matmuls with the same number of ops. + # The first computes the weight matrix, the second computes + # the combination of the value vectors. + matmul_ops = 2 * b * (num_spatial**2) * c + model.total_ops += th.DoubleTensor([matmul_ops]) + + +class QKVAttentionLegacy(nn.Module): + """ + A module which performs QKV attention. Matches legacy QKVAttention + input/ouput heads shaping + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (H * 3 * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.reshape(bs * self.n_heads, ch * 3, length).split(ch, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = th.einsum( + "bct,bcs->bts", q * scale, k * scale + ) # More stable with f16 than dividing afterwards + weight = th.softmax(weight.float(), dim=-1).type(weight.dtype) + a = th.einsum("bts,bcs->bct", weight, v) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + + +class QKVAttention(nn.Module): + """ + A module which performs QKV attention and splits in a different order. + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (3 * H * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.chunk(3, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = th.einsum( + "bct,bcs->bts", + (q * scale).view(bs * self.n_heads, ch, length), + (k * scale).view(bs * self.n_heads, ch, length), + ) # More stable with f16 than dividing afterwards + weight = th.softmax(weight.float(), dim=-1).type(weight.dtype) + a = th.einsum("bts,bcs->bct", weight, v.reshape(bs * self.n_heads, ch, length)) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + + +class Timestep(nn.Module): + def __init__(self, dim): + super().__init__() + self.dim = dim + + def forward(self, t): + return timestep_embedding(t, self.dim) + + +class UNetModel(nn.Module): + """ + The full UNet model with attention and timestep embedding. + :param in_channels: channels in the input Tensor. + :param model_channels: base channel count for the model. + :param out_channels: channels in the output Tensor. + :param num_res_blocks: number of residual blocks per downsample. + :param attention_resolutions: a collection of downsample rates at which + attention will take place. May be a set, list, or tuple. + For example, if this contains 4, then at 4x downsampling, attention + will be used. + :param dropout: the dropout probability. + :param channel_mult: channel multiplier for each level of the UNet. + :param conv_resample: if True, use learned convolutions for upsampling and + downsampling. + :param dims: determines if the signal is 1D, 2D, or 3D. + :param num_classes: if specified (as an int), then this model will be + class-conditional with `num_classes` classes. + :param use_checkpoint: use gradient checkpointing to reduce memory usage. + :param num_heads: the number of attention heads in each attention layer. + :param num_heads_channels: if specified, ignore num_heads and instead use + a fixed channel width per attention head. + :param num_heads_upsample: works with num_heads to set a different number + of heads for upsampling. Deprecated. + :param use_scale_shift_norm: use a FiLM-like conditioning mechanism. + :param resblock_updown: use residual blocks for up/downsampling. + :param use_new_attention_order: use a different attention pattern for potentially + increased efficiency. + """ + + def __init__( + self, + in_channels, + model_channels, + out_channels, + num_res_blocks, + attention_resolutions, + dropout=0, + channel_mult=(1, 2, 4, 8), + conv_resample=True, + dims=2, + num_classes=None, + use_checkpoint=False, + use_fp16=False, + num_heads=-1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=False, + resblock_updown=False, + use_new_attention_order=False, + use_spatial_transformer=False, # custom transformer support + transformer_depth=1, # custom transformer support + context_dim=None, # custom transformer support + n_embed=None, # custom support for prediction of discrete ids into codebook of first stage vq model + legacy=True, + disable_self_attentions=None, + num_attention_blocks=None, + disable_middle_self_attn=False, + use_linear_in_transformer=False, + spatial_transformer_attn_type="softmax", + adm_in_channels=None, + use_fairscale_checkpoint=False, + offload_to_cpu=False, + transformer_depth_middle=None, + ): + super().__init__() + from omegaconf.listconfig import ListConfig + + if use_spatial_transformer: + assert ( + context_dim is not None + ), "Fool!! You forgot to include the dimension of your cross-attention conditioning..." + + if context_dim is not None: + assert ( + use_spatial_transformer + ), "Fool!! You forgot to use the spatial transformer for your cross-attention conditioning..." + if type(context_dim) == ListConfig: + context_dim = list(context_dim) + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + if num_heads == -1: + assert ( + num_head_channels != -1 + ), "Either num_heads or num_head_channels has to be set" + + if num_head_channels == -1: + assert ( + num_heads != -1 + ), "Either num_heads or num_head_channels has to be set" + + self.in_channels = in_channels + self.model_channels = model_channels + self.out_channels = out_channels + if isinstance(transformer_depth, int): + transformer_depth = len(channel_mult) * [transformer_depth] + elif isinstance(transformer_depth, ListConfig): + transformer_depth = list(transformer_depth) + transformer_depth_middle = default( + transformer_depth_middle, transformer_depth[-1] + ) + + if isinstance(num_res_blocks, int): + self.num_res_blocks = len(channel_mult) * [num_res_blocks] + else: + if len(num_res_blocks) != len(channel_mult): + raise ValueError( + "provide num_res_blocks either as an int (globally constant) or " + "as a list/tuple (per-level) with the same length as channel_mult" + ) + self.num_res_blocks = num_res_blocks + # self.num_res_blocks = num_res_blocks + if disable_self_attentions is not None: + # should be a list of booleans, indicating whether to disable self-attention in TransformerBlocks or not + assert len(disable_self_attentions) == len(channel_mult) + if num_attention_blocks is not None: + assert len(num_attention_blocks) == len(self.num_res_blocks) + assert all( + map( + lambda i: self.num_res_blocks[i] >= num_attention_blocks[i], + range(len(num_attention_blocks)), + ) + ) + print( + f"Constructor of UNetModel received num_attention_blocks={num_attention_blocks}. " + f"This option has LESS priority than attention_resolutions {attention_resolutions}, " + f"i.e., in cases where num_attention_blocks[i] > 0 but 2**i not in attention_resolutions, " + f"attention will still not be set." + ) # todo: convert to warning + + self.attention_resolutions = attention_resolutions + self.dropout = dropout + self.channel_mult = channel_mult + self.conv_resample = conv_resample + self.num_classes = num_classes + self.use_checkpoint = use_checkpoint + if use_fp16: + print("WARNING: use_fp16 was dropped and has no effect anymore.") + # self.dtype = th.float16 if use_fp16 else th.float32 + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + self.predict_codebook_ids = n_embed is not None + + assert use_fairscale_checkpoint != use_checkpoint or not ( + use_checkpoint or use_fairscale_checkpoint + ) + + self.use_fairscale_checkpoint = False + checkpoint_wrapper_fn = ( + partial(checkpoint_wrapper, offload_to_cpu=offload_to_cpu) + if self.use_fairscale_checkpoint + else lambda x: x + ) + + time_embed_dim = model_channels * 4 + self.time_embed = checkpoint_wrapper_fn( + nn.Sequential( + linear(model_channels, time_embed_dim), + nn.SiLU(), + linear(time_embed_dim, time_embed_dim), + ) + ) + + if self.num_classes is not None: + if isinstance(self.num_classes, int): + self.label_emb = nn.Embedding(num_classes, time_embed_dim) + elif self.num_classes == "continuous": + print("setting up linear c_adm embedding layer") + self.label_emb = nn.Linear(1, time_embed_dim) + elif self.num_classes == "timestep": + self.label_emb = checkpoint_wrapper_fn( + nn.Sequential( + Timestep(model_channels), + nn.Sequential( + linear(model_channels, time_embed_dim), + nn.SiLU(), + linear(time_embed_dim, time_embed_dim), + ), + ) + ) + elif self.num_classes == "sequential": + assert adm_in_channels is not None + self.label_emb = nn.Sequential( + nn.Sequential( + linear(adm_in_channels, time_embed_dim), + nn.SiLU(), + linear(time_embed_dim, time_embed_dim), + ) + ) + else: + raise ValueError() + + self.input_blocks = nn.ModuleList( + [ + TimestepEmbedSequential( + conv_nd(dims, in_channels, model_channels, 3, padding=1) + ) + ] + ) + self._feature_size = model_channels + input_block_chans = [model_channels] + ch = model_channels + ds = 1 + for level, mult in enumerate(channel_mult): + for nr in range(self.num_res_blocks[level]): + layers = [ + checkpoint_wrapper_fn( + ResBlock( + ch, + time_embed_dim, + dropout, + out_channels=mult * model_channels, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ) + ] + ch = mult * model_channels + if ds in attention_resolutions: + if num_head_channels == -1: + dim_head = ch // num_heads + else: + num_heads = ch // num_head_channels + dim_head = num_head_channels + if legacy: + # num_heads = 1 + dim_head = ( + ch // num_heads + if use_spatial_transformer + else num_head_channels + ) + if exists(disable_self_attentions): + disabled_sa = disable_self_attentions[level] + else: + disabled_sa = False + + if ( + not exists(num_attention_blocks) + or nr < num_attention_blocks[level] + ): + layers.append( + checkpoint_wrapper_fn( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=dim_head, + use_new_attention_order=use_new_attention_order, + ) + ) + if not use_spatial_transformer + else checkpoint_wrapper_fn( + SpatialTransformer( + ch, + num_heads, + dim_head, + depth=transformer_depth[level], + context_dim=context_dim, + disable_self_attn=disabled_sa, + use_linear=use_linear_in_transformer, + attn_type=spatial_transformer_attn_type, + use_checkpoint=use_checkpoint, + ) + ) + ) + self.input_blocks.append(TimestepEmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mult) - 1: + out_ch = ch + self.input_blocks.append( + TimestepEmbedSequential( + checkpoint_wrapper_fn( + ResBlock( + ch, + time_embed_dim, + dropout, + out_channels=out_ch, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + ) + ) + if resblock_updown + else Downsample( + ch, conv_resample, dims=dims, out_channels=out_ch + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + if num_head_channels == -1: + dim_head = ch // num_heads + else: + num_heads = ch // num_head_channels + dim_head = num_head_channels + if legacy: + # num_heads = 1 + dim_head = ch // num_heads if use_spatial_transformer else num_head_channels + self.middle_block = TimestepEmbedSequential( + checkpoint_wrapper_fn( + ResBlock( + ch, + time_embed_dim, + dropout, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ), + checkpoint_wrapper_fn( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=dim_head, + use_new_attention_order=use_new_attention_order, + ) + ) + if not use_spatial_transformer + else checkpoint_wrapper_fn( + SpatialTransformer( # always uses a self-attn + ch, + num_heads, + dim_head, + depth=transformer_depth_middle, + context_dim=context_dim, + disable_self_attn=disable_middle_self_attn, + use_linear=use_linear_in_transformer, + attn_type=spatial_transformer_attn_type, + use_checkpoint=use_checkpoint, + ) + ), + checkpoint_wrapper_fn( + ResBlock( + ch, + time_embed_dim, + dropout, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ), + ) + self._feature_size += ch + + self.output_blocks = nn.ModuleList([]) + for level, mult in list(enumerate(channel_mult))[::-1]: + for i in range(self.num_res_blocks[level] + 1): + ich = input_block_chans.pop() + layers = [ + checkpoint_wrapper_fn( + ResBlock( + ch + ich, + time_embed_dim, + dropout, + out_channels=model_channels * mult, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ) + ] + ch = model_channels * mult + if ds in attention_resolutions: + if num_head_channels == -1: + dim_head = ch // num_heads + else: + num_heads = ch // num_head_channels + dim_head = num_head_channels + if legacy: + # num_heads = 1 + dim_head = ( + ch // num_heads + if use_spatial_transformer + else num_head_channels + ) + if exists(disable_self_attentions): + disabled_sa = disable_self_attentions[level] + else: + disabled_sa = False + + if ( + not exists(num_attention_blocks) + or i < num_attention_blocks[level] + ): + layers.append( + checkpoint_wrapper_fn( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads_upsample, + num_head_channels=dim_head, + use_new_attention_order=use_new_attention_order, + ) + ) + if not use_spatial_transformer + else checkpoint_wrapper_fn( + SpatialTransformer( + ch, + num_heads, + dim_head, + depth=transformer_depth[level], + context_dim=context_dim, + disable_self_attn=disabled_sa, + use_linear=use_linear_in_transformer, + attn_type=spatial_transformer_attn_type, + use_checkpoint=use_checkpoint, + ) + ) + ) + if level and i == self.num_res_blocks[level]: + out_ch = ch + layers.append( + checkpoint_wrapper_fn( + ResBlock( + ch, + time_embed_dim, + dropout, + out_channels=out_ch, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + up=True, + ) + ) + if resblock_updown + else Upsample(ch, conv_resample, dims=dims, out_channels=out_ch) + ) + ds //= 2 + self.output_blocks.append(TimestepEmbedSequential(*layers)) + self._feature_size += ch + + self.out = checkpoint_wrapper_fn( + nn.Sequential( + normalization(ch), + nn.SiLU(), + zero_module(conv_nd(dims, model_channels, out_channels, 3, padding=1)), + ) + ) + if self.predict_codebook_ids: + self.id_predictor = checkpoint_wrapper_fn( + nn.Sequential( + normalization(ch), + conv_nd(dims, model_channels, n_embed, 1), + # nn.LogSoftmax(dim=1) # change to cross_entropy and produce non-normalized logits + ) + ) + + def convert_to_fp16(self): + """ + Convert the torso of the model to float16. + """ + self.input_blocks.apply(convert_module_to_f16) + self.middle_block.apply(convert_module_to_f16) + self.output_blocks.apply(convert_module_to_f16) + + def convert_to_fp32(self): + """ + Convert the torso of the model to float32. + """ + self.input_blocks.apply(convert_module_to_f32) + self.middle_block.apply(convert_module_to_f32) + self.output_blocks.apply(convert_module_to_f32) + + def forward(self, x, timesteps=None, context=None, y=None, **kwargs): + """ + Apply the model to an input batch. + :param x: an [N x C x ...] Tensor of inputs. + :param timesteps: a 1-D batch of timesteps. + :param context: conditioning plugged in via crossattn + :param y: an [N] Tensor of labels, if class-conditional. + :return: an [N x C x ...] Tensor of outputs. + """ + assert (y is not None) == ( + self.num_classes is not None + ), "must specify y if and only if the model is class-conditional" + hs = [] + t_emb = timestep_embedding(timesteps, self.model_channels, repeat_only=False) + emb = self.time_embed(t_emb) + + if self.num_classes is not None: + assert y.shape[0] == x.shape[0] + emb = emb + self.label_emb(y) + + # h = x.type(self.dtype) + h = x + for module in self.input_blocks: + h = module(h, emb, context) + hs.append(h) + h = self.middle_block(h, emb, context) + for module in self.output_blocks: + h = th.cat([h, hs.pop()], dim=1) + h = module(h, emb, context) + h = h.type(x.dtype) + if self.predict_codebook_ids: + assert False, "not supported anymore. what the f*** are you doing?" + else: + return self.out(h) + + +class NoTimeUNetModel(UNetModel): + def forward(self, x, timesteps=None, context=None, y=None, **kwargs): + timesteps = th.zeros_like(timesteps) + return super().forward(x, timesteps, context, y, **kwargs) + + +class EncoderUNetModel(nn.Module): + """ + The half UNet model with attention and timestep embedding. + For usage, see UNet. + """ + + def __init__( + self, + image_size, + in_channels, + model_channels, + out_channels, + num_res_blocks, + attention_resolutions, + dropout=0, + channel_mult=(1, 2, 4, 8), + conv_resample=True, + dims=2, + use_checkpoint=False, + use_fp16=False, + num_heads=1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=False, + resblock_updown=False, + use_new_attention_order=False, + pool="adaptive", + *args, + **kwargs, + ): + super().__init__() + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + self.in_channels = in_channels + self.model_channels = model_channels + self.out_channels = out_channels + self.num_res_blocks = num_res_blocks + self.attention_resolutions = attention_resolutions + self.dropout = dropout + self.channel_mult = channel_mult + self.conv_resample = conv_resample + self.use_checkpoint = use_checkpoint + self.dtype = th.float16 if use_fp16 else th.float32 + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + + time_embed_dim = model_channels * 4 + self.time_embed = nn.Sequential( + linear(model_channels, time_embed_dim), + nn.SiLU(), + linear(time_embed_dim, time_embed_dim), + ) + + self.input_blocks = nn.ModuleList( + [ + TimestepEmbedSequential( + conv_nd(dims, in_channels, model_channels, 3, padding=1) + ) + ] + ) + self._feature_size = model_channels + input_block_chans = [model_channels] + ch = model_channels + ds = 1 + for level, mult in enumerate(channel_mult): + for _ in range(num_res_blocks): + layers = [ + ResBlock( + ch, + time_embed_dim, + dropout, + out_channels=mult * model_channels, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = mult * model_channels + if ds in attention_resolutions: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + self.input_blocks.append(TimestepEmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mult) - 1: + out_ch = ch + self.input_blocks.append( + TimestepEmbedSequential( + ResBlock( + ch, + time_embed_dim, + dropout, + out_channels=out_ch, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + ) + if resblock_updown + else Downsample( + ch, conv_resample, dims=dims, out_channels=out_ch + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + self.middle_block = TimestepEmbedSequential( + ResBlock( + ch, + time_embed_dim, + dropout, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ), + ResBlock( + ch, + time_embed_dim, + dropout, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + ) + self._feature_size += ch + self.pool = pool + if pool == "adaptive": + self.out = nn.Sequential( + normalization(ch), + nn.SiLU(), + nn.AdaptiveAvgPool2d((1, 1)), + zero_module(conv_nd(dims, ch, out_channels, 1)), + nn.Flatten(), + ) + elif pool == "attention": + assert num_head_channels != -1 + self.out = nn.Sequential( + normalization(ch), + nn.SiLU(), + AttentionPool2d( + (image_size // ds), ch, num_head_channels, out_channels + ), + ) + elif pool == "spatial": + self.out = nn.Sequential( + nn.Linear(self._feature_size, 2048), + nn.ReLU(), + nn.Linear(2048, self.out_channels), + ) + elif pool == "spatial_v2": + self.out = nn.Sequential( + nn.Linear(self._feature_size, 2048), + normalization(2048), + nn.SiLU(), + nn.Linear(2048, self.out_channels), + ) + else: + raise NotImplementedError(f"Unexpected {pool} pooling") + + def convert_to_fp16(self): + """ + Convert the torso of the model to float16. + """ + self.input_blocks.apply(convert_module_to_f16) + self.middle_block.apply(convert_module_to_f16) + + def convert_to_fp32(self): + """ + Convert the torso of the model to float32. + """ + self.input_blocks.apply(convert_module_to_f32) + self.middle_block.apply(convert_module_to_f32) + + def forward(self, x, timesteps): + """ + Apply the model to an input batch. + :param x: an [N x C x ...] Tensor of inputs. + :param timesteps: a 1-D batch of timesteps. + :return: an [N x K] Tensor of outputs. + """ + emb = self.time_embed(timestep_embedding(timesteps, self.model_channels)) + + results = [] + # h = x.type(self.dtype) + h = x + for module in self.input_blocks: + h = module(h, emb) + if self.pool.startswith("spatial"): + results.append(h.type(x.dtype).mean(dim=(2, 3))) + h = self.middle_block(h, emb) + if self.pool.startswith("spatial"): + results.append(h.type(x.dtype).mean(dim=(2, 3))) + h = th.cat(results, axis=-1) + return self.out(h) + else: + h = h.type(x.dtype) + return self.out(h) + + +if __name__ == "__main__": + + class Dummy(nn.Module): + def __init__(self, in_channels=3, model_channels=64): + super().__init__() + self.input_blocks = nn.ModuleList( + [ + TimestepEmbedSequential( + conv_nd(2, in_channels, model_channels, 3, padding=1) + ) + ] + ) + + model = UNetModel( + use_checkpoint=True, + image_size=64, + in_channels=4, + out_channels=4, + model_channels=128, + attention_resolutions=[4, 2], + num_res_blocks=2, + channel_mult=[1, 2, 4], + num_head_channels=64, + use_spatial_transformer=False, + use_linear_in_transformer=True, + transformer_depth=1, + legacy=False, + ).cuda() + x = th.randn(11, 4, 64, 64).cuda() + t = th.randint(low=0, high=10, size=(11,), device="cuda") + o = model(x, t) + print("done.") diff --git a/sgm/modules/diffusionmodules/sampling.py b/sgm/modules/diffusionmodules/sampling.py new file mode 100644 index 00000000..6346829c --- /dev/null +++ b/sgm/modules/diffusionmodules/sampling.py @@ -0,0 +1,365 @@ +""" + Partially ported from https://github.com/crowsonkb/k-diffusion/blob/master/k_diffusion/sampling.py +""" + + +from typing import Dict, Union + +import torch +from omegaconf import ListConfig, OmegaConf +from tqdm import tqdm + +from ...modules.diffusionmodules.sampling_utils import ( + get_ancestral_step, + linear_multistep_coeff, + to_d, + to_neg_log_sigma, + to_sigma, +) +from ...util import append_dims, default, instantiate_from_config + +DEFAULT_GUIDER = {"target": "sgm.modules.diffusionmodules.guiders.IdentityGuider"} + + +class BaseDiffusionSampler: + def __init__( + self, + discretization_config: Union[Dict, ListConfig, OmegaConf], + num_steps: Union[int, None] = None, + guider_config: Union[Dict, ListConfig, OmegaConf, None] = None, + verbose: bool = False, + device: str = "cuda", + ): + self.num_steps = num_steps + self.discretization = instantiate_from_config(discretization_config) + self.guider = instantiate_from_config( + default( + guider_config, + DEFAULT_GUIDER, + ) + ) + self.verbose = verbose + self.device = device + + def prepare_sampling_loop(self, x, cond, uc=None, num_steps=None): + sigmas = self.discretization( + self.num_steps if num_steps is None else num_steps, device=self.device + ) + uc = default(uc, cond) + + x *= torch.sqrt(1.0 + sigmas[0] ** 2.0) + num_sigmas = len(sigmas) + + s_in = x.new_ones([x.shape[0]]) + + return x, s_in, sigmas, num_sigmas, cond, uc + + def denoise(self, x, denoiser, sigma, cond, uc): + denoised = denoiser(*self.guider.prepare_inputs(x, sigma, cond, uc)) + denoised = self.guider(denoised, sigma) + return denoised + + def get_sigma_gen(self, num_sigmas): + sigma_generator = range(num_sigmas - 1) + if self.verbose: + print("#" * 30, " Sampling setting ", "#" * 30) + print(f"Sampler: {self.__class__.__name__}") + print(f"Discretization: {self.discretization.__class__.__name__}") + print(f"Guider: {self.guider.__class__.__name__}") + sigma_generator = tqdm( + sigma_generator, + total=num_sigmas, + desc=f"Sampling with {self.__class__.__name__} for {num_sigmas} steps", + ) + return sigma_generator + + +class SingleStepDiffusionSampler(BaseDiffusionSampler): + def sampler_step(self, sigma, next_sigma, denoiser, x, cond, uc, *args, **kwargs): + raise NotImplementedError + + def euler_step(self, x, d, dt): + return x + dt * d + + +class EDMSampler(SingleStepDiffusionSampler): + def __init__( + self, s_churn=0.0, s_tmin=0.0, s_tmax=float("inf"), s_noise=1.0, *args, **kwargs + ): + super().__init__(*args, **kwargs) + + self.s_churn = s_churn + self.s_tmin = s_tmin + self.s_tmax = s_tmax + self.s_noise = s_noise + + def sampler_step(self, sigma, next_sigma, denoiser, x, cond, uc=None, gamma=0.0): + sigma_hat = sigma * (gamma + 1.0) + if gamma > 0: + eps = torch.randn_like(x) * self.s_noise + x = x + eps * append_dims(sigma_hat**2 - sigma**2, x.ndim) ** 0.5 + + denoised = self.denoise(x, denoiser, sigma_hat, cond, uc) + d = to_d(x, sigma_hat, denoised) + dt = append_dims(next_sigma - sigma_hat, x.ndim) + + euler_step = self.euler_step(x, d, dt) + x = self.possible_correction_step( + euler_step, x, d, dt, next_sigma, denoiser, cond, uc + ) + return x + + def __call__(self, denoiser, x, cond, uc=None, num_steps=None): + x, s_in, sigmas, num_sigmas, cond, uc = self.prepare_sampling_loop( + x, cond, uc, num_steps + ) + + for i in self.get_sigma_gen(num_sigmas): + gamma = ( + min(self.s_churn / (num_sigmas - 1), 2**0.5 - 1) + if self.s_tmin <= sigmas[i] <= self.s_tmax + else 0.0 + ) + x = self.sampler_step( + s_in * sigmas[i], + s_in * sigmas[i + 1], + denoiser, + x, + cond, + uc, + gamma, + ) + + return x + + +class AncestralSampler(SingleStepDiffusionSampler): + def __init__(self, eta=1.0, s_noise=1.0, *args, **kwargs): + super().__init__(*args, **kwargs) + + self.eta = eta + self.s_noise = s_noise + self.noise_sampler = lambda x: torch.randn_like(x) + + def ancestral_euler_step(self, x, denoised, sigma, sigma_down): + d = to_d(x, sigma, denoised) + dt = append_dims(sigma_down - sigma, x.ndim) + + return self.euler_step(x, d, dt) + + def ancestral_step(self, x, sigma, next_sigma, sigma_up): + x = torch.where( + append_dims(next_sigma, x.ndim) > 0.0, + x + self.noise_sampler(x) * self.s_noise * append_dims(sigma_up, x.ndim), + x, + ) + return x + + def __call__(self, denoiser, x, cond, uc=None, num_steps=None): + x, s_in, sigmas, num_sigmas, cond, uc = self.prepare_sampling_loop( + x, cond, uc, num_steps + ) + + for i in self.get_sigma_gen(num_sigmas): + x = self.sampler_step( + s_in * sigmas[i], + s_in * sigmas[i + 1], + denoiser, + x, + cond, + uc, + ) + + return x + + +class LinearMultistepSampler(BaseDiffusionSampler): + def __init__( + self, + order=4, + *args, + **kwargs, + ): + super().__init__(*args, **kwargs) + + self.order = order + + def __call__(self, denoiser, x, cond, uc=None, num_steps=None, **kwargs): + x, s_in, sigmas, num_sigmas, cond, uc = self.prepare_sampling_loop( + x, cond, uc, num_steps + ) + + ds = [] + sigmas_cpu = sigmas.detach().cpu().numpy() + for i in self.get_sigma_gen(num_sigmas): + sigma = s_in * sigmas[i] + denoised = denoiser( + *self.guider.prepare_inputs(x, sigma, cond, uc), **kwargs + ) + denoised = self.guider(denoised, sigma) + d = to_d(x, sigma, denoised) + ds.append(d) + if len(ds) > self.order: + ds.pop(0) + cur_order = min(i + 1, self.order) + coeffs = [ + linear_multistep_coeff(cur_order, sigmas_cpu, i, j) + for j in range(cur_order) + ] + x = x + sum(coeff * d for coeff, d in zip(coeffs, reversed(ds))) + + return x + + +class EulerEDMSampler(EDMSampler): + def possible_correction_step( + self, euler_step, x, d, dt, next_sigma, denoiser, cond, uc + ): + return euler_step + + +class HeunEDMSampler(EDMSampler): + def possible_correction_step( + self, euler_step, x, d, dt, next_sigma, denoiser, cond, uc + ): + if torch.sum(next_sigma) < 1e-14: + # Save a network evaluation if all noise levels are 0 + return euler_step + else: + denoised = self.denoise(euler_step, denoiser, next_sigma, cond, uc) + d_new = to_d(euler_step, next_sigma, denoised) + d_prime = (d + d_new) / 2.0 + + # apply correction if noise level is not 0 + x = torch.where( + append_dims(next_sigma, x.ndim) > 0.0, x + d_prime * dt, euler_step + ) + return x + + +class EulerAncestralSampler(AncestralSampler): + def sampler_step(self, sigma, next_sigma, denoiser, x, cond, uc): + sigma_down, sigma_up = get_ancestral_step(sigma, next_sigma, eta=self.eta) + denoised = self.denoise(x, denoiser, sigma, cond, uc) + x = self.ancestral_euler_step(x, denoised, sigma, sigma_down) + x = self.ancestral_step(x, sigma, next_sigma, sigma_up) + + return x + + +class DPMPP2SAncestralSampler(AncestralSampler): + def get_variables(self, sigma, sigma_down): + t, t_next = [to_neg_log_sigma(s) for s in (sigma, sigma_down)] + h = t_next - t + s = t + 0.5 * h + return h, s, t, t_next + + def get_mult(self, h, s, t, t_next): + mult1 = to_sigma(s) / to_sigma(t) + mult2 = (-0.5 * h).expm1() + mult3 = to_sigma(t_next) / to_sigma(t) + mult4 = (-h).expm1() + + return mult1, mult2, mult3, mult4 + + def sampler_step(self, sigma, next_sigma, denoiser, x, cond, uc=None, **kwargs): + sigma_down, sigma_up = get_ancestral_step(sigma, next_sigma, eta=self.eta) + denoised = self.denoise(x, denoiser, sigma, cond, uc) + x_euler = self.ancestral_euler_step(x, denoised, sigma, sigma_down) + + if torch.sum(sigma_down) < 1e-14: + # Save a network evaluation if all noise levels are 0 + x = x_euler + else: + h, s, t, t_next = self.get_variables(sigma, sigma_down) + mult = [ + append_dims(mult, x.ndim) for mult in self.get_mult(h, s, t, t_next) + ] + + x2 = mult[0] * x - mult[1] * denoised + denoised2 = self.denoise(x2, denoiser, to_sigma(s), cond, uc) + x_dpmpp2s = mult[2] * x - mult[3] * denoised2 + + # apply correction if noise level is not 0 + x = torch.where(append_dims(sigma_down, x.ndim) > 0.0, x_dpmpp2s, x_euler) + + x = self.ancestral_step(x, sigma, next_sigma, sigma_up) + return x + + +class DPMPP2MSampler(BaseDiffusionSampler): + def get_variables(self, sigma, next_sigma, previous_sigma=None): + t, t_next = [to_neg_log_sigma(s) for s in (sigma, next_sigma)] + h = t_next - t + + if previous_sigma is not None: + h_last = t - to_neg_log_sigma(previous_sigma) + r = h_last / h + return h, r, t, t_next + else: + return h, None, t, t_next + + def get_mult(self, h, r, t, t_next, previous_sigma): + mult1 = to_sigma(t_next) / to_sigma(t) + mult2 = (-h).expm1() + + if previous_sigma is not None: + mult3 = 1 + 1 / (2 * r) + mult4 = 1 / (2 * r) + return mult1, mult2, mult3, mult4 + else: + return mult1, mult2 + + def sampler_step( + self, + old_denoised, + previous_sigma, + sigma, + next_sigma, + denoiser, + x, + cond, + uc=None, + ): + denoised = self.denoise(x, denoiser, sigma, cond, uc) + + h, r, t, t_next = self.get_variables(sigma, next_sigma, previous_sigma) + mult = [ + append_dims(mult, x.ndim) + for mult in self.get_mult(h, r, t, t_next, previous_sigma) + ] + + x_standard = mult[0] * x - mult[1] * denoised + if old_denoised is None or torch.sum(next_sigma) < 1e-14: + # Save a network evaluation if all noise levels are 0 or on the first step + return x_standard, denoised + else: + denoised_d = mult[2] * denoised - mult[3] * old_denoised + x_advanced = mult[0] * x - mult[1] * denoised_d + + # apply correction if noise level is not 0 and not first step + x = torch.where( + append_dims(next_sigma, x.ndim) > 0.0, x_advanced, x_standard + ) + + return x, denoised + + def __call__(self, denoiser, x, cond, uc=None, num_steps=None, **kwargs): + x, s_in, sigmas, num_sigmas, cond, uc = self.prepare_sampling_loop( + x, cond, uc, num_steps + ) + + old_denoised = None + for i in self.get_sigma_gen(num_sigmas): + x, old_denoised = self.sampler_step( + old_denoised, + None if i == 0 else s_in * sigmas[i - 1], + s_in * sigmas[i], + s_in * sigmas[i + 1], + denoiser, + x, + cond, + uc=uc, + ) + + return x diff --git a/sgm/modules/diffusionmodules/sampling_utils.py b/sgm/modules/diffusionmodules/sampling_utils.py new file mode 100644 index 00000000..7cca6361 --- /dev/null +++ b/sgm/modules/diffusionmodules/sampling_utils.py @@ -0,0 +1,48 @@ +import torch +from scipy import integrate + +from ...util import append_dims + + +class NoDynamicThresholding: + def __call__(self, uncond, cond, scale): + return uncond + scale * (cond - uncond) + + +def linear_multistep_coeff(order, t, i, j, epsrel=1e-4): + if order - 1 > i: + raise ValueError(f"Order {order} too high for step {i}") + + def fn(tau): + prod = 1.0 + for k in range(order): + if j == k: + continue + prod *= (tau - t[i - k]) / (t[i - j] - t[i - k]) + return prod + + return integrate.quad(fn, t[i], t[i + 1], epsrel=epsrel)[0] + + +def get_ancestral_step(sigma_from, sigma_to, eta=1.0): + if not eta: + return sigma_to, 0.0 + sigma_up = torch.minimum( + sigma_to, + eta + * (sigma_to**2 * (sigma_from**2 - sigma_to**2) / sigma_from**2) ** 0.5, + ) + sigma_down = (sigma_to**2 - sigma_up**2) ** 0.5 + return sigma_down, sigma_up + + +def to_d(x, sigma, denoised): + return (x - denoised) / append_dims(sigma, x.ndim) + + +def to_neg_log_sigma(sigma): + return sigma.log().neg() + + +def to_sigma(neg_log_sigma): + return neg_log_sigma.neg().exp() diff --git a/sgm/modules/diffusionmodules/sigma_sampling.py b/sgm/modules/diffusionmodules/sigma_sampling.py new file mode 100644 index 00000000..d54724c6 --- /dev/null +++ b/sgm/modules/diffusionmodules/sigma_sampling.py @@ -0,0 +1,31 @@ +import torch + +from ...util import default, instantiate_from_config + + +class EDMSampling: + def __init__(self, p_mean=-1.2, p_std=1.2): + self.p_mean = p_mean + self.p_std = p_std + + def __call__(self, n_samples, rand=None): + log_sigma = self.p_mean + self.p_std * default(rand, torch.randn((n_samples,))) + return log_sigma.exp() + + +class DiscreteSampling: + def __init__(self, discretization_config, num_idx, do_append_zero=False, flip=True): + self.num_idx = num_idx + self.sigmas = instantiate_from_config(discretization_config)( + num_idx, do_append_zero=do_append_zero, flip=flip + ) + + def idx_to_sigma(self, idx): + return self.sigmas[idx] + + def __call__(self, n_samples, rand=None): + idx = default( + rand, + torch.randint(0, self.num_idx, (n_samples,)), + ) + return self.idx_to_sigma(idx) diff --git a/sgm/modules/diffusionmodules/util.py b/sgm/modules/diffusionmodules/util.py new file mode 100644 index 00000000..069ff131 --- /dev/null +++ b/sgm/modules/diffusionmodules/util.py @@ -0,0 +1,308 @@ +""" +adopted from +https://github.com/openai/improved-diffusion/blob/main/improved_diffusion/gaussian_diffusion.py +and +https://github.com/lucidrains/denoising-diffusion-pytorch/blob/7706bdfc6f527f58d33f84b7b522e61e6e3164b3/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py +and +https://github.com/openai/guided-diffusion/blob/0ba878e517b276c45d1195eb29f6f5f72659a05b/guided_diffusion/nn.py + +thanks! +""" + +import math + +import torch +import torch.nn as nn +from einops import repeat + + +def make_beta_schedule( + schedule, + n_timestep, + linear_start=1e-4, + linear_end=2e-2, +): + if schedule == "linear": + betas = ( + torch.linspace( + linear_start**0.5, linear_end**0.5, n_timestep, dtype=torch.float64 + ) + ** 2 + ) + return betas.numpy() + + +def extract_into_tensor(a, t, x_shape): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + + +def mixed_checkpoint(func, inputs: dict, params, flag): + """ + Evaluate a function without caching intermediate activations, allowing for + reduced memory at the expense of extra compute in the backward pass. This differs from the original checkpoint function + borrowed from https://github.com/openai/guided-diffusion/blob/0ba878e517b276c45d1195eb29f6f5f72659a05b/guided_diffusion/nn.py in that + it also works with non-tensor inputs + :param func: the function to evaluate. + :param inputs: the argument dictionary to pass to `func`. + :param params: a sequence of parameters `func` depends on but does not + explicitly take as arguments. + :param flag: if False, disable gradient checkpointing. + """ + if flag: + tensor_keys = [key for key in inputs if isinstance(inputs[key], torch.Tensor)] + tensor_inputs = [ + inputs[key] for key in inputs if isinstance(inputs[key], torch.Tensor) + ] + non_tensor_keys = [ + key for key in inputs if not isinstance(inputs[key], torch.Tensor) + ] + non_tensor_inputs = [ + inputs[key] for key in inputs if not isinstance(inputs[key], torch.Tensor) + ] + args = tuple(tensor_inputs) + tuple(non_tensor_inputs) + tuple(params) + return MixedCheckpointFunction.apply( + func, + len(tensor_inputs), + len(non_tensor_inputs), + tensor_keys, + non_tensor_keys, + *args, + ) + else: + return func(**inputs) + + +class MixedCheckpointFunction(torch.autograd.Function): + @staticmethod + def forward( + ctx, + run_function, + length_tensors, + length_non_tensors, + tensor_keys, + non_tensor_keys, + *args, + ): + ctx.end_tensors = length_tensors + ctx.end_non_tensors = length_tensors + length_non_tensors + ctx.gpu_autocast_kwargs = { + "enabled": torch.is_autocast_enabled(), + "dtype": torch.get_autocast_gpu_dtype(), + "cache_enabled": torch.is_autocast_cache_enabled(), + } + assert ( + len(tensor_keys) == length_tensors + and len(non_tensor_keys) == length_non_tensors + ) + + ctx.input_tensors = { + key: val for (key, val) in zip(tensor_keys, list(args[: ctx.end_tensors])) + } + ctx.input_non_tensors = { + key: val + for (key, val) in zip( + non_tensor_keys, list(args[ctx.end_tensors : ctx.end_non_tensors]) + ) + } + ctx.run_function = run_function + ctx.input_params = list(args[ctx.end_non_tensors :]) + + with torch.no_grad(): + output_tensors = ctx.run_function( + **ctx.input_tensors, **ctx.input_non_tensors + ) + return output_tensors + + @staticmethod + def backward(ctx, *output_grads): + # additional_args = {key: ctx.input_tensors[key] for key in ctx.input_tensors if not isinstance(ctx.input_tensors[key],torch.Tensor)} + ctx.input_tensors = { + key: ctx.input_tensors[key].detach().requires_grad_(True) + for key in ctx.input_tensors + } + + with torch.enable_grad(), torch.cuda.amp.autocast(**ctx.gpu_autocast_kwargs): + # Fixes a bug where the first op in run_function modifies the + # Tensor storage in place, which is not allowed for detach()'d + # Tensors. + shallow_copies = { + key: ctx.input_tensors[key].view_as(ctx.input_tensors[key]) + for key in ctx.input_tensors + } + # shallow_copies.update(additional_args) + output_tensors = ctx.run_function(**shallow_copies, **ctx.input_non_tensors) + input_grads = torch.autograd.grad( + output_tensors, + list(ctx.input_tensors.values()) + ctx.input_params, + output_grads, + allow_unused=True, + ) + del ctx.input_tensors + del ctx.input_params + del output_tensors + return ( + (None, None, None, None, None) + + input_grads[: ctx.end_tensors] + + (None,) * (ctx.end_non_tensors - ctx.end_tensors) + + input_grads[ctx.end_tensors :] + ) + + +def checkpoint(func, inputs, params, flag): + """ + Evaluate a function without caching intermediate activations, allowing for + reduced memory at the expense of extra compute in the backward pass. + :param func: the function to evaluate. + :param inputs: the argument sequence to pass to `func`. + :param params: a sequence of parameters `func` depends on but does not + explicitly take as arguments. + :param flag: if False, disable gradient checkpointing. + """ + if flag: + args = tuple(inputs) + tuple(params) + return CheckpointFunction.apply(func, len(inputs), *args) + else: + return func(*inputs) + + +class CheckpointFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, run_function, length, *args): + ctx.run_function = run_function + ctx.input_tensors = list(args[:length]) + ctx.input_params = list(args[length:]) + ctx.gpu_autocast_kwargs = { + "enabled": torch.is_autocast_enabled(), + "dtype": torch.get_autocast_gpu_dtype(), + "cache_enabled": torch.is_autocast_cache_enabled(), + } + with torch.no_grad(): + output_tensors = ctx.run_function(*ctx.input_tensors) + return output_tensors + + @staticmethod + def backward(ctx, *output_grads): + ctx.input_tensors = [x.detach().requires_grad_(True) for x in ctx.input_tensors] + with torch.enable_grad(), torch.cuda.amp.autocast(**ctx.gpu_autocast_kwargs): + # Fixes a bug where the first op in run_function modifies the + # Tensor storage in place, which is not allowed for detach()'d + # Tensors. + shallow_copies = [x.view_as(x) for x in ctx.input_tensors] + output_tensors = ctx.run_function(*shallow_copies) + input_grads = torch.autograd.grad( + output_tensors, + ctx.input_tensors + ctx.input_params, + output_grads, + allow_unused=True, + ) + del ctx.input_tensors + del ctx.input_params + del output_tensors + return (None, None) + input_grads + + +def timestep_embedding(timesteps, dim, max_period=10000, repeat_only=False): + """ + Create sinusoidal timestep embeddings. + :param timesteps: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + if not repeat_only: + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) + * torch.arange(start=0, end=half, dtype=torch.float32) + / half + ).to(device=timesteps.device) + args = timesteps[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1 + ) + else: + embedding = repeat(timesteps, "b -> b d", d=dim) + return embedding + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def scale_module(module, scale): + """ + Scale the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().mul_(scale) + return module + + +def mean_flat(tensor): + """ + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def normalization(channels): + """ + Make a standard normalization layer. + :param channels: number of input channels. + :return: an nn.Module for normalization. + """ + return GroupNorm32(32, channels) + + +# PyTorch 1.7 has SiLU, but we support PyTorch 1.5. +class SiLU(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + + +class GroupNorm32(nn.GroupNorm): + def forward(self, x): + return super().forward(x.float()).type(x.dtype) + + +def conv_nd(dims, *args, **kwargs): + """ + Create a 1D, 2D, or 3D convolution module. + """ + if dims == 1: + return nn.Conv1d(*args, **kwargs) + elif dims == 2: + return nn.Conv2d(*args, **kwargs) + elif dims == 3: + return nn.Conv3d(*args, **kwargs) + raise ValueError(f"unsupported dimensions: {dims}") + + +def linear(*args, **kwargs): + """ + Create a linear module. + """ + return nn.Linear(*args, **kwargs) + + +def avg_pool_nd(dims, *args, **kwargs): + """ + Create a 1D, 2D, or 3D average pooling module. + """ + if dims == 1: + return nn.AvgPool1d(*args, **kwargs) + elif dims == 2: + return nn.AvgPool2d(*args, **kwargs) + elif dims == 3: + return nn.AvgPool3d(*args, **kwargs) + raise ValueError(f"unsupported dimensions: {dims}") diff --git a/sgm/modules/diffusionmodules/wrappers.py b/sgm/modules/diffusionmodules/wrappers.py new file mode 100644 index 00000000..87ede606 --- /dev/null +++ b/sgm/modules/diffusionmodules/wrappers.py @@ -0,0 +1,34 @@ +import torch +import torch.nn as nn +from packaging import version + +OPENAIUNETWRAPPER = "sgm.modules.diffusionmodules.wrappers.OpenAIWrapper" + + +class IdentityWrapper(nn.Module): + def __init__(self, diffusion_model, compile_model: bool = False): + super().__init__() + compile = ( + torch.compile + if (version.parse(torch.__version__) >= version.parse("2.0.0")) + and compile_model + else lambda x: x + ) + self.diffusion_model = compile(diffusion_model) + + def forward(self, *args, **kwargs): + return self.diffusion_model(*args, **kwargs) + + +class OpenAIWrapper(IdentityWrapper): + def forward( + self, x: torch.Tensor, t: torch.Tensor, c: dict, **kwargs + ) -> torch.Tensor: + x = torch.cat((x, c.get("concat", torch.Tensor([]).type_as(x))), dim=1) + return self.diffusion_model( + x, + timesteps=t, + context=c.get("crossattn", None), + y=c.get("vector", None), + **kwargs + ) diff --git a/sgm/modules/distributions/__init__.py b/sgm/modules/distributions/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/sgm/modules/distributions/distributions.py b/sgm/modules/distributions/distributions.py new file mode 100644 index 00000000..0b61f030 --- /dev/null +++ b/sgm/modules/distributions/distributions.py @@ -0,0 +1,102 @@ +import torch +import numpy as np + + +class AbstractDistribution: + def sample(self): + raise NotImplementedError() + + def mode(self): + raise NotImplementedError() + + +class DiracDistribution(AbstractDistribution): + def __init__(self, value): + self.value = value + + def sample(self): + return self.value + + def mode(self): + return self.value + + +class DiagonalGaussianDistribution(object): + def __init__(self, parameters, deterministic=False): + self.parameters = parameters + self.mean, self.logvar = torch.chunk(parameters, 2, dim=1) + self.logvar = torch.clamp(self.logvar, -30.0, 20.0) + self.deterministic = deterministic + self.std = torch.exp(0.5 * self.logvar) + self.var = torch.exp(self.logvar) + if self.deterministic: + self.var = self.std = torch.zeros_like(self.mean).to( + device=self.parameters.device + ) + + def sample(self): + x = self.mean + self.std * torch.randn(self.mean.shape).to( + device=self.parameters.device + ) + return x + + def kl(self, other=None): + if self.deterministic: + return torch.Tensor([0.0]) + else: + if other is None: + return 0.5 * torch.sum( + torch.pow(self.mean, 2) + self.var - 1.0 - self.logvar, + dim=[1, 2, 3], + ) + else: + return 0.5 * torch.sum( + torch.pow(self.mean - other.mean, 2) / other.var + + self.var / other.var + - 1.0 + - self.logvar + + other.logvar, + dim=[1, 2, 3], + ) + + def nll(self, sample, dims=[1, 2, 3]): + if self.deterministic: + return torch.Tensor([0.0]) + logtwopi = np.log(2.0 * np.pi) + return 0.5 * torch.sum( + logtwopi + self.logvar + torch.pow(sample - self.mean, 2) / self.var, + dim=dims, + ) + + def mode(self): + return self.mean + + +def normal_kl(mean1, logvar1, mean2, logvar2): + """ + source: https://github.com/openai/guided-diffusion/blob/27c20a8fab9cb472df5d6bdd6c8d11c8f430b924/guided_diffusion/losses.py#L12 + Compute the KL divergence between two gaussians. + Shapes are automatically broadcasted, so batches can be compared to + scalars, among other use cases. + """ + tensor = None + for obj in (mean1, logvar1, mean2, logvar2): + if isinstance(obj, torch.Tensor): + tensor = obj + break + assert tensor is not None, "at least one argument must be a Tensor" + + # Force variances to be Tensors. Broadcasting helps convert scalars to + # Tensors, but it does not work for torch.exp(). + logvar1, logvar2 = [ + x if isinstance(x, torch.Tensor) else torch.tensor(x).to(tensor) + for x in (logvar1, logvar2) + ] + + return 0.5 * ( + -1.0 + + logvar2 + - logvar1 + + torch.exp(logvar1 - logvar2) + + ((mean1 - mean2) ** 2) * torch.exp(-logvar2) + ) diff --git a/sgm/modules/ema.py b/sgm/modules/ema.py new file mode 100644 index 00000000..97b5ae2b --- /dev/null +++ b/sgm/modules/ema.py @@ -0,0 +1,86 @@ +import torch +from torch import nn + + +class LitEma(nn.Module): + def __init__(self, model, decay=0.9999, use_num_upates=True): + super().__init__() + if decay < 0.0 or decay > 1.0: + raise ValueError("Decay must be between 0 and 1") + + self.m_name2s_name = {} + self.register_buffer("decay", torch.tensor(decay, dtype=torch.float32)) + self.register_buffer( + "num_updates", + torch.tensor(0, dtype=torch.int) + if use_num_upates + else torch.tensor(-1, dtype=torch.int), + ) + + for name, p in model.named_parameters(): + if p.requires_grad: + # remove as '.'-character is not allowed in buffers + s_name = name.replace(".", "") + self.m_name2s_name.update({name: s_name}) + self.register_buffer(s_name, p.clone().detach().data) + + self.collected_params = [] + + def reset_num_updates(self): + del self.num_updates + self.register_buffer("num_updates", torch.tensor(0, dtype=torch.int)) + + def forward(self, model): + decay = self.decay + + if self.num_updates >= 0: + self.num_updates += 1 + decay = min(self.decay, (1 + self.num_updates) / (10 + self.num_updates)) + + one_minus_decay = 1.0 - decay + + with torch.no_grad(): + m_param = dict(model.named_parameters()) + shadow_params = dict(self.named_buffers()) + + for key in m_param: + if m_param[key].requires_grad: + sname = self.m_name2s_name[key] + shadow_params[sname] = shadow_params[sname].type_as(m_param[key]) + shadow_params[sname].sub_( + one_minus_decay * (shadow_params[sname] - m_param[key]) + ) + else: + assert not key in self.m_name2s_name + + def copy_to(self, model): + m_param = dict(model.named_parameters()) + shadow_params = dict(self.named_buffers()) + for key in m_param: + if m_param[key].requires_grad: + m_param[key].data.copy_(shadow_params[self.m_name2s_name[key]].data) + else: + assert not key in self.m_name2s_name + + def store(self, parameters): + """ + Save the current parameters for restoring later. + Args: + parameters: Iterable of `torch.nn.Parameter`; the parameters to be + temporarily stored. + """ + self.collected_params = [param.clone() for param in parameters] + + def restore(self, parameters): + """ + Restore the parameters stored with the `store` method. + Useful to validate the model with EMA parameters without affecting the + original optimization process. Store the parameters before the + `copy_to` method. After validation (or model saving), use this to + restore the former parameters. + Args: + parameters: Iterable of `torch.nn.Parameter`; the parameters to be + updated with the stored parameters. + """ + for c_param, param in zip(self.collected_params, parameters): + param.data.copy_(c_param.data) diff --git a/sgm/modules/encoders/__init__.py b/sgm/modules/encoders/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/sgm/modules/encoders/modules.py b/sgm/modules/encoders/modules.py new file mode 100644 index 00000000..ed3f2d21 --- /dev/null +++ b/sgm/modules/encoders/modules.py @@ -0,0 +1,960 @@ +from contextlib import nullcontext +from functools import partial +from typing import Dict, List, Optional, Tuple, Union + +import kornia +import numpy as np +import open_clip +import torch +import torch.nn as nn +from einops import rearrange, repeat +from omegaconf import ListConfig +from torch.utils.checkpoint import checkpoint +from transformers import ( + ByT5Tokenizer, + CLIPTextModel, + CLIPTokenizer, + T5EncoderModel, + T5Tokenizer, +) + +from ...modules.autoencoding.regularizers import DiagonalGaussianRegularizer +from ...modules.diffusionmodules.model import Encoder +from ...modules.diffusionmodules.openaimodel import Timestep +from ...modules.diffusionmodules.util import extract_into_tensor, make_beta_schedule +from ...modules.distributions.distributions import DiagonalGaussianDistribution +from ...util import ( + autocast, + count_params, + default, + disabled_train, + expand_dims_like, + instantiate_from_config, +) + + +class AbstractEmbModel(nn.Module): + def __init__(self): + super().__init__() + self._is_trainable = None + self._ucg_rate = None + self._input_key = None + + @property + def is_trainable(self) -> bool: + return self._is_trainable + + @property + def ucg_rate(self) -> Union[float, torch.Tensor]: + return self._ucg_rate + + @property + def input_key(self) -> str: + return self._input_key + + @is_trainable.setter + def is_trainable(self, value: bool): + self._is_trainable = value + + @ucg_rate.setter + def ucg_rate(self, value: Union[float, torch.Tensor]): + self._ucg_rate = value + + @input_key.setter + def input_key(self, value: str): + self._input_key = value + + @is_trainable.deleter + def is_trainable(self): + del self._is_trainable + + @ucg_rate.deleter + def ucg_rate(self): + del self._ucg_rate + + @input_key.deleter + def input_key(self): + del self._input_key + + +class GeneralConditioner(nn.Module): + OUTPUT_DIM2KEYS = {2: "vector", 3: "crossattn", 4: "concat", 5: "concat"} + KEY2CATDIM = {"vector": 1, "crossattn": 2, "concat": 1} + + def __init__(self, emb_models: Union[List, ListConfig]): + super().__init__() + embedders = [] + for n, embconfig in enumerate(emb_models): + embedder = instantiate_from_config(embconfig) + assert isinstance( + embedder, AbstractEmbModel + ), f"embedder model {embedder.__class__.__name__} has to inherit from AbstractEmbModel" + embedder.is_trainable = embconfig.get("is_trainable", False) + embedder.ucg_rate = embconfig.get("ucg_rate", 0.0) + if not embedder.is_trainable: + embedder.train = disabled_train + for param in embedder.parameters(): + param.requires_grad = False + embedder.eval() + print( + f"Initialized embedder #{n}: {embedder.__class__.__name__} " + f"with {count_params(embedder, False)} params. Trainable: {embedder.is_trainable}" + ) + + if "input_key" in embconfig: + embedder.input_key = embconfig["input_key"] + elif "input_keys" in embconfig: + embedder.input_keys = embconfig["input_keys"] + else: + raise KeyError( + f"need either 'input_key' or 'input_keys' for embedder {embedder.__class__.__name__}" + ) + + embedder.legacy_ucg_val = embconfig.get("legacy_ucg_value", None) + if embedder.legacy_ucg_val is not None: + embedder.ucg_prng = np.random.RandomState() + + embedders.append(embedder) + self.embedders = nn.ModuleList(embedders) + + def possibly_get_ucg_val(self, embedder: AbstractEmbModel, batch: Dict) -> Dict: + assert embedder.legacy_ucg_val is not None + p = embedder.ucg_rate + val = embedder.legacy_ucg_val + for i in range(len(batch[embedder.input_key])): + if embedder.ucg_prng.choice(2, p=[1 - p, p]): + batch[embedder.input_key][i] = val + return batch + + def forward( + self, batch: Dict, force_zero_embeddings: Optional[List] = None + ) -> Dict: + output = dict() + if force_zero_embeddings is None: + force_zero_embeddings = [] + for embedder in self.embedders: + embedding_context = nullcontext if embedder.is_trainable else torch.no_grad + with embedding_context(): + if hasattr(embedder, "input_key") and (embedder.input_key is not None): + if embedder.legacy_ucg_val is not None: + batch = self.possibly_get_ucg_val(embedder, batch) + emb_out = embedder(batch[embedder.input_key]) + elif hasattr(embedder, "input_keys"): + emb_out = embedder(*[batch[k] for k in embedder.input_keys]) + assert isinstance( + emb_out, (torch.Tensor, list, tuple) + ), f"encoder outputs must be tensors or a sequence, but got {type(emb_out)}" + if not isinstance(emb_out, (list, tuple)): + emb_out = [emb_out] + for emb in emb_out: + out_key = self.OUTPUT_DIM2KEYS[emb.dim()] + if embedder.ucg_rate > 0.0 and embedder.legacy_ucg_val is None: + emb = ( + expand_dims_like( + torch.bernoulli( + (1.0 - embedder.ucg_rate) + * torch.ones(emb.shape[0], device=emb.device) + ), + emb, + ) + * emb + ) + if ( + hasattr(embedder, "input_key") + and embedder.input_key in force_zero_embeddings + ): + emb = torch.zeros_like(emb) + if out_key in output: + output[out_key] = torch.cat( + (output[out_key], emb), self.KEY2CATDIM[out_key] + ) + else: + output[out_key] = emb + return output + + def get_unconditional_conditioning( + self, batch_c, batch_uc=None, force_uc_zero_embeddings=None + ): + if force_uc_zero_embeddings is None: + force_uc_zero_embeddings = [] + ucg_rates = list() + for embedder in self.embedders: + ucg_rates.append(embedder.ucg_rate) + embedder.ucg_rate = 0.0 + c = self(batch_c) + uc = self(batch_c if batch_uc is None else batch_uc, force_uc_zero_embeddings) + + for embedder, rate in zip(self.embedders, ucg_rates): + embedder.ucg_rate = rate + return c, uc + + +class InceptionV3(nn.Module): + """Wrapper around the https://github.com/mseitzer/pytorch-fid inception + port with an additional squeeze at the end""" + + def __init__(self, normalize_input=False, **kwargs): + super().__init__() + from pytorch_fid import inception + + kwargs["resize_input"] = True + self.model = inception.InceptionV3(normalize_input=normalize_input, **kwargs) + + def forward(self, inp): + # inp = kornia.geometry.resize(inp, (299, 299), + # interpolation='bicubic', + # align_corners=False, + # antialias=True) + # inp = inp.clamp(min=-1, max=1) + + outp = self.model(inp) + + if len(outp) == 1: + return outp[0].squeeze() + + return outp + + +class IdentityEncoder(AbstractEmbModel): + def encode(self, x): + return x + + def forward(self, x): + return x + + +class ClassEmbedder(AbstractEmbModel): + def __init__(self, embed_dim, n_classes=1000, add_sequence_dim=False): + super().__init__() + self.embedding = nn.Embedding(n_classes, embed_dim) + self.n_classes = n_classes + self.add_sequence_dim = add_sequence_dim + + def forward(self, c): + c = self.embedding(c) + if self.add_sequence_dim: + c = c[:, None, :] + return c + + def get_unconditional_conditioning(self, bs, device="cuda"): + uc_class = ( + self.n_classes - 1 + ) # 1000 classes --> 0 ... 999, one extra class for ucg (class 1000) + uc = torch.ones((bs,), device=device) * uc_class + uc = {self.key: uc.long()} + return uc + + +class ClassEmbedderForMultiCond(ClassEmbedder): + def forward(self, batch, key=None, disable_dropout=False): + out = batch + key = default(key, self.key) + islist = isinstance(batch[key], list) + if islist: + batch[key] = batch[key][0] + c_out = super().forward(batch, key, disable_dropout) + out[key] = [c_out] if islist else c_out + return out + + +class FrozenT5Embedder(AbstractEmbModel): + """Uses the T5 transformer encoder for text""" + + def __init__( + self, version="google/t5-v1_1-xxl", device="cuda", max_length=77, freeze=True + ): # others are google/t5-v1_1-xl and google/t5-v1_1-xxl + super().__init__() + self.tokenizer = T5Tokenizer.from_pretrained(version) + self.transformer = T5EncoderModel.from_pretrained(version) + self.device = device + self.max_length = max_length + if freeze: + self.freeze() + + def freeze(self): + self.transformer = self.transformer.eval() + + for param in self.parameters(): + param.requires_grad = False + + # @autocast + def forward(self, text): + batch_encoding = self.tokenizer( + text, + truncation=True, + max_length=self.max_length, + return_length=True, + return_overflowing_tokens=False, + padding="max_length", + return_tensors="pt", + ) + tokens = batch_encoding["input_ids"].to(self.device) + with torch.autocast("cuda", enabled=False): + outputs = self.transformer(input_ids=tokens) + z = outputs.last_hidden_state + return z + + def encode(self, text): + return self(text) + + +class FrozenByT5Embedder(AbstractEmbModel): + """ + Uses the ByT5 transformer encoder for text. Is character-aware. + """ + + def __init__( + self, version="google/byt5-base", device="cuda", max_length=77, freeze=True + ): # others are google/t5-v1_1-xl and google/t5-v1_1-xxl + super().__init__() + self.tokenizer = ByT5Tokenizer.from_pretrained(version) + self.transformer = T5EncoderModel.from_pretrained(version) + self.device = device + self.max_length = max_length + if freeze: + self.freeze() + + def freeze(self): + self.transformer = self.transformer.eval() + + for param in self.parameters(): + param.requires_grad = False + + def forward(self, text): + batch_encoding = self.tokenizer( + text, + truncation=True, + max_length=self.max_length, + return_length=True, + return_overflowing_tokens=False, + padding="max_length", + return_tensors="pt", + ) + tokens = batch_encoding["input_ids"].to(self.device) + with torch.autocast("cuda", enabled=False): + outputs = self.transformer(input_ids=tokens) + z = outputs.last_hidden_state + return z + + def encode(self, text): + return self(text) + + +class FrozenCLIPEmbedder(AbstractEmbModel): + """Uses the CLIP transformer encoder for text (from huggingface)""" + + LAYERS = ["last", "pooled", "hidden"] + + def __init__( + self, + version="openai/clip-vit-large-patch14", + device="cuda", + max_length=77, + freeze=True, + layer="last", + layer_idx=None, + always_return_pooled=False, + ): # clip-vit-base-patch32 + super().__init__() + assert layer in self.LAYERS + self.tokenizer = CLIPTokenizer.from_pretrained(version) + self.transformer = CLIPTextModel.from_pretrained(version) + self.device = device + self.max_length = max_length + if freeze: + self.freeze() + self.layer = layer + self.layer_idx = layer_idx + self.return_pooled = always_return_pooled + if layer == "hidden": + assert layer_idx is not None + assert 0 <= abs(layer_idx) <= 12 + + def freeze(self): + self.transformer = self.transformer.eval() + + for param in self.parameters(): + param.requires_grad = False + + @autocast + def forward(self, text): + batch_encoding = self.tokenizer( + text, + truncation=True, + max_length=self.max_length, + return_length=True, + return_overflowing_tokens=False, + padding="max_length", + return_tensors="pt", + ) + tokens = batch_encoding["input_ids"].to(self.device) + outputs = self.transformer( + input_ids=tokens, output_hidden_states=self.layer == "hidden" + ) + if self.layer == "last": + z = outputs.last_hidden_state + elif self.layer == "pooled": + z = outputs.pooler_output[:, None, :] + else: + z = outputs.hidden_states[self.layer_idx] + if self.return_pooled: + return z, outputs.pooler_output + return z + + def encode(self, text): + return self(text) + + +class FrozenOpenCLIPEmbedder2(AbstractEmbModel): + """ + Uses the OpenCLIP transformer encoder for text + """ + + LAYERS = ["pooled", "last", "penultimate"] + + def __init__( + self, + arch="ViT-H-14", + version="laion2b_s32b_b79k", + device="cuda", + max_length=77, + freeze=True, + layer="last", + always_return_pooled=False, + legacy=True, + ): + super().__init__() + assert layer in self.LAYERS + model, _, _ = open_clip.create_model_and_transforms( + arch, + device=torch.device("cpu"), + pretrained=version, + ) + del model.visual + self.model = model + + self.device = device + self.max_length = max_length + self.return_pooled = always_return_pooled + if freeze: + self.freeze() + self.layer = layer + if self.layer == "last": + self.layer_idx = 0 + elif self.layer == "penultimate": + self.layer_idx = 1 + else: + raise NotImplementedError() + self.legacy = legacy + + def freeze(self): + self.model = self.model.eval() + for param in self.parameters(): + param.requires_grad = False + + @autocast + def forward(self, text): + tokens = open_clip.tokenize(text) + z = self.encode_with_transformer(tokens.to(self.device)) + if not self.return_pooled and self.legacy: + return z + if self.return_pooled: + assert not self.legacy + return z[self.layer], z["pooled"] + return z[self.layer] + + def encode_with_transformer(self, text): + x = self.model.token_embedding(text) # [batch_size, n_ctx, d_model] + x = x + self.model.positional_embedding + x = x.permute(1, 0, 2) # NLD -> LND + x = self.text_transformer_forward(x, attn_mask=self.model.attn_mask) + if self.legacy: + x = x[self.layer] + x = self.model.ln_final(x) + return x + else: + # x is a dict and will stay a dict + o = x["last"] + o = self.model.ln_final(o) + pooled = self.pool(o, text) + x["pooled"] = pooled + return x + + def pool(self, x, text): + # take features from the eot embedding (eot_token is the highest number in each sequence) + x = ( + x[torch.arange(x.shape[0]), text.argmax(dim=-1)] + @ self.model.text_projection + ) + return x + + def text_transformer_forward(self, x: torch.Tensor, attn_mask=None): + outputs = {} + for i, r in enumerate(self.model.transformer.resblocks): + if i == len(self.model.transformer.resblocks) - 1: + outputs["penultimate"] = x.permute(1, 0, 2) # LND -> NLD + if ( + self.model.transformer.grad_checkpointing + and not torch.jit.is_scripting() + ): + x = checkpoint(r, x, attn_mask) + else: + x = r(x, attn_mask=attn_mask) + outputs["last"] = x.permute(1, 0, 2) # LND -> NLD + return outputs + + def encode(self, text): + return self(text) + + +class FrozenOpenCLIPEmbedder(AbstractEmbModel): + LAYERS = [ + # "pooled", + "last", + "penultimate", + ] + + def __init__( + self, + arch="ViT-H-14", + version="laion2b_s32b_b79k", + device="cuda", + max_length=77, + freeze=True, + layer="last", + ): + super().__init__() + assert layer in self.LAYERS + model, _, _ = open_clip.create_model_and_transforms( + arch, device=torch.device("cpu"), pretrained=version + ) + del model.visual + self.model = model + + self.device = device + self.max_length = max_length + if freeze: + self.freeze() + self.layer = layer + if self.layer == "last": + self.layer_idx = 0 + elif self.layer == "penultimate": + self.layer_idx = 1 + else: + raise NotImplementedError() + + def freeze(self): + self.model = self.model.eval() + for param in self.parameters(): + param.requires_grad = False + + def forward(self, text): + tokens = open_clip.tokenize(text) + z = self.encode_with_transformer(tokens.to(self.device)) + return z + + def encode_with_transformer(self, text): + x = self.model.token_embedding(text) # [batch_size, n_ctx, d_model] + x = x + self.model.positional_embedding + x = x.permute(1, 0, 2) # NLD -> LND + x = self.text_transformer_forward(x, attn_mask=self.model.attn_mask) + x = x.permute(1, 0, 2) # LND -> NLD + x = self.model.ln_final(x) + return x + + def text_transformer_forward(self, x: torch.Tensor, attn_mask=None): + for i, r in enumerate(self.model.transformer.resblocks): + if i == len(self.model.transformer.resblocks) - self.layer_idx: + break + if ( + self.model.transformer.grad_checkpointing + and not torch.jit.is_scripting() + ): + x = checkpoint(r, x, attn_mask) + else: + x = r(x, attn_mask=attn_mask) + return x + + def encode(self, text): + return self(text) + + +class FrozenOpenCLIPImageEmbedder(AbstractEmbModel): + """ + Uses the OpenCLIP vision transformer encoder for images + """ + + def __init__( + self, + arch="ViT-H-14", + version="laion2b_s32b_b79k", + device="cuda", + max_length=77, + freeze=True, + antialias=True, + ucg_rate=0.0, + unsqueeze_dim=False, + repeat_to_max_len=False, + num_image_crops=0, + output_tokens=False, + ): + super().__init__() + model, _, _ = open_clip.create_model_and_transforms( + arch, + device=torch.device("cpu"), + pretrained=version, + ) + del model.transformer + self.model = model + self.max_crops = num_image_crops + self.pad_to_max_len = self.max_crops > 0 + self.repeat_to_max_len = repeat_to_max_len and (not self.pad_to_max_len) + self.device = device + self.max_length = max_length + if freeze: + self.freeze() + + self.antialias = antialias + + self.register_buffer( + "mean", torch.Tensor([0.48145466, 0.4578275, 0.40821073]), persistent=False + ) + self.register_buffer( + "std", torch.Tensor([0.26862954, 0.26130258, 0.27577711]), persistent=False + ) + self.ucg_rate = ucg_rate + self.unsqueeze_dim = unsqueeze_dim + self.stored_batch = None + self.model.visual.output_tokens = output_tokens + self.output_tokens = output_tokens + + def preprocess(self, x): + # normalize to [0,1] + x = kornia.geometry.resize( + x, + (224, 224), + interpolation="bicubic", + align_corners=True, + antialias=self.antialias, + ) + x = (x + 1.0) / 2.0 + # renormalize according to clip + x = kornia.enhance.normalize(x, self.mean, self.std) + return x + + def freeze(self): + self.model = self.model.eval() + for param in self.parameters(): + param.requires_grad = False + + @autocast + def forward(self, image, no_dropout=False): + z = self.encode_with_vision_transformer(image) + tokens = None + if self.output_tokens: + z, tokens = z[0], z[1] + z = z.to(image.dtype) + if self.ucg_rate > 0.0 and not no_dropout and not (self.max_crops > 0): + z = ( + torch.bernoulli( + (1.0 - self.ucg_rate) * torch.ones(z.shape[0], device=z.device) + )[:, None] + * z + ) + if tokens is not None: + tokens = ( + expand_dims_like( + torch.bernoulli( + (1.0 - self.ucg_rate) + * torch.ones(tokens.shape[0], device=tokens.device) + ), + tokens, + ) + * tokens + ) + if self.unsqueeze_dim: + z = z[:, None, :] + if self.output_tokens: + assert not self.repeat_to_max_len + assert not self.pad_to_max_len + return tokens, z + if self.repeat_to_max_len: + if z.dim() == 2: + z_ = z[:, None, :] + else: + z_ = z + return repeat(z_, "b 1 d -> b n d", n=self.max_length), z + elif self.pad_to_max_len: + assert z.dim() == 3 + z_pad = torch.cat( + ( + z, + torch.zeros( + z.shape[0], + self.max_length - z.shape[1], + z.shape[2], + device=z.device, + ), + ), + 1, + ) + return z_pad, z_pad[:, 0, ...] + return z + + def encode_with_vision_transformer(self, img): + # if self.max_crops > 0: + # img = self.preprocess_by_cropping(img) + if img.dim() == 5: + assert self.max_crops == img.shape[1] + img = rearrange(img, "b n c h w -> (b n) c h w") + img = self.preprocess(img) + if not self.output_tokens: + assert not self.model.visual.output_tokens + x = self.model.visual(img) + tokens = None + else: + assert self.model.visual.output_tokens + x, tokens = self.model.visual(img) + if self.max_crops > 0: + x = rearrange(x, "(b n) d -> b n d", n=self.max_crops) + # drop out between 0 and all along the sequence axis + x = ( + torch.bernoulli( + (1.0 - self.ucg_rate) + * torch.ones(x.shape[0], x.shape[1], 1, device=x.device) + ) + * x + ) + if tokens is not None: + tokens = rearrange(tokens, "(b n) t d -> b t (n d)", n=self.max_crops) + print( + f"You are running very experimental token-concat in {self.__class__.__name__}. " + f"Check what you are doing, and then remove this message." + ) + if self.output_tokens: + return x, tokens + return x + + def encode(self, text): + return self(text) + + +class FrozenCLIPT5Encoder(AbstractEmbModel): + def __init__( + self, + clip_version="openai/clip-vit-large-patch14", + t5_version="google/t5-v1_1-xl", + device="cuda", + clip_max_length=77, + t5_max_length=77, + ): + super().__init__() + self.clip_encoder = FrozenCLIPEmbedder( + clip_version, device, max_length=clip_max_length + ) + self.t5_encoder = FrozenT5Embedder(t5_version, device, max_length=t5_max_length) + print( + f"{self.clip_encoder.__class__.__name__} has {count_params(self.clip_encoder) * 1.e-6:.2f} M parameters, " + f"{self.t5_encoder.__class__.__name__} comes with {count_params(self.t5_encoder) * 1.e-6:.2f} M params." + ) + + def encode(self, text): + return self(text) + + def forward(self, text): + clip_z = self.clip_encoder.encode(text) + t5_z = self.t5_encoder.encode(text) + return [clip_z, t5_z] + + +class SpatialRescaler(nn.Module): + def __init__( + self, + n_stages=1, + method="bilinear", + multiplier=0.5, + in_channels=3, + out_channels=None, + bias=False, + wrap_video=False, + kernel_size=1, + remap_output=False, + ): + super().__init__() + self.n_stages = n_stages + assert self.n_stages >= 0 + assert method in [ + "nearest", + "linear", + "bilinear", + "trilinear", + "bicubic", + "area", + ] + self.multiplier = multiplier + self.interpolator = partial(torch.nn.functional.interpolate, mode=method) + self.remap_output = out_channels is not None or remap_output + if self.remap_output: + print( + f"Spatial Rescaler mapping from {in_channels} to {out_channels} channels after resizing." + ) + self.channel_mapper = nn.Conv2d( + in_channels, + out_channels, + kernel_size=kernel_size, + bias=bias, + padding=kernel_size // 2, + ) + self.wrap_video = wrap_video + + def forward(self, x): + if self.wrap_video and x.ndim == 5: + B, C, T, H, W = x.shape + x = rearrange(x, "b c t h w -> b t c h w") + x = rearrange(x, "b t c h w -> (b t) c h w") + + for stage in range(self.n_stages): + x = self.interpolator(x, scale_factor=self.multiplier) + + if self.wrap_video: + x = rearrange(x, "(b t) c h w -> b t c h w", b=B, t=T, c=C) + x = rearrange(x, "b t c h w -> b c t h w") + if self.remap_output: + x = self.channel_mapper(x) + return x + + def encode(self, x): + return self(x) + + +class LowScaleEncoder(nn.Module): + def __init__( + self, + model_config, + linear_start, + linear_end, + timesteps=1000, + max_noise_level=250, + output_size=64, + scale_factor=1.0, + ): + super().__init__() + self.max_noise_level = max_noise_level + self.model = instantiate_from_config(model_config) + self.augmentation_schedule = self.register_schedule( + timesteps=timesteps, linear_start=linear_start, linear_end=linear_end + ) + self.out_size = output_size + self.scale_factor = scale_factor + + def register_schedule( + self, + beta_schedule="linear", + timesteps=1000, + linear_start=1e-4, + linear_end=2e-2, + cosine_s=8e-3, + ): + betas = make_beta_schedule( + beta_schedule, + timesteps, + linear_start=linear_start, + linear_end=linear_end, + cosine_s=cosine_s, + ) + alphas = 1.0 - betas + alphas_cumprod = np.cumprod(alphas, axis=0) + alphas_cumprod_prev = np.append(1.0, alphas_cumprod[:-1]) + + (timesteps,) = betas.shape + self.num_timesteps = int(timesteps) + self.linear_start = linear_start + self.linear_end = linear_end + assert ( + alphas_cumprod.shape[0] == self.num_timesteps + ), "alphas have to be defined for each timestep" + + to_torch = partial(torch.tensor, dtype=torch.float32) + + self.register_buffer("betas", to_torch(betas)) + self.register_buffer("alphas_cumprod", to_torch(alphas_cumprod)) + self.register_buffer("alphas_cumprod_prev", to_torch(alphas_cumprod_prev)) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer("sqrt_alphas_cumprod", to_torch(np.sqrt(alphas_cumprod))) + self.register_buffer( + "sqrt_one_minus_alphas_cumprod", to_torch(np.sqrt(1.0 - alphas_cumprod)) + ) + self.register_buffer( + "log_one_minus_alphas_cumprod", to_torch(np.log(1.0 - alphas_cumprod)) + ) + self.register_buffer( + "sqrt_recip_alphas_cumprod", to_torch(np.sqrt(1.0 / alphas_cumprod)) + ) + self.register_buffer( + "sqrt_recipm1_alphas_cumprod", to_torch(np.sqrt(1.0 / alphas_cumprod - 1)) + ) + + def q_sample(self, x_start, t, noise=None): + noise = default(noise, lambda: torch.randn_like(x_start)) + return ( + extract_into_tensor(self.sqrt_alphas_cumprod, t, x_start.shape) * x_start + + extract_into_tensor(self.sqrt_one_minus_alphas_cumprod, t, x_start.shape) + * noise + ) + + def forward(self, x): + z = self.model.encode(x) + if isinstance(z, DiagonalGaussianDistribution): + z = z.sample() + z = z * self.scale_factor + noise_level = torch.randint( + 0, self.max_noise_level, (x.shape[0],), device=x.device + ).long() + z = self.q_sample(z, noise_level) + if self.out_size is not None: + z = torch.nn.functional.interpolate(z, size=self.out_size, mode="nearest") + # z = z.repeat_interleave(2, -2).repeat_interleave(2, -1) + return z, noise_level + + def decode(self, z): + z = z / self.scale_factor + return self.model.decode(z) + + +class ConcatTimestepEmbedderND(AbstractEmbModel): + """embeds each dimension independently and concatenates them""" + + def __init__(self, outdim): + super().__init__() + self.timestep = Timestep(outdim) + self.outdim = outdim + + def forward(self, x): + if x.ndim == 1: + x = x[:, None] + assert len(x.shape) == 2 + b, dims = x.shape[0], x.shape[1] + x = rearrange(x, "b d -> (b d)") + emb = self.timestep(x) + emb = rearrange(emb, "(b d) d2 -> b (d d2)", b=b, d=dims, d2=self.outdim) + return emb + + +class GaussianEncoder(Encoder, AbstractEmbModel): + def __init__( + self, weight: float = 1.0, flatten_output: bool = True, *args, **kwargs + ): + super().__init__(*args, **kwargs) + self.posterior = DiagonalGaussianRegularizer() + self.weight = weight + self.flatten_output = flatten_output + + def forward(self, x) -> Tuple[Dict, torch.Tensor]: + z = super().forward(x) + z, log = self.posterior(z) + log["loss"] = log["kl_loss"] + log["weight"] = self.weight + if self.flatten_output: + z = rearrange(z, "b c h w -> b (h w ) c") + return log, z diff --git a/sgm/util.py b/sgm/util.py new file mode 100644 index 00000000..06f48a88 --- /dev/null +++ b/sgm/util.py @@ -0,0 +1,231 @@ +import functools +import importlib +import os +from functools import partial +from inspect import isfunction + +import fsspec +import numpy as np +import torch +from PIL import Image, ImageDraw, ImageFont +from safetensors.torch import load_file as load_safetensors + + +def disabled_train(self, mode=True): + """Overwrite model.train with this function to make sure train/eval mode + does not change anymore.""" + return self + + +def get_string_from_tuple(s): + try: + # Check if the string starts and ends with parentheses + if s[0] == "(" and s[-1] == ")": + # Convert the string to a tuple + t = eval(s) + # Check if the type of t is tuple + if type(t) == tuple: + return t[0] + else: + pass + except: + pass + return s + + +def is_power_of_two(n): + """ + chat.openai.com/chat + Return True if n is a power of 2, otherwise return False. + + The function is_power_of_two takes an integer n as input and returns True if n is a power of 2, otherwise it returns False. + The function works by first checking if n is less than or equal to 0. If n is less than or equal to 0, it can't be a power of 2, so the function returns False. + If n is greater than 0, the function checks whether n is a power of 2 by using a bitwise AND operation between n and n-1. If n is a power of 2, then it will have only one bit set to 1 in its binary representation. When we subtract 1 from a power of 2, all the bits to the right of that bit become 1, and the bit itself becomes 0. So, when we perform a bitwise AND between n and n-1, we get 0 if n is a power of 2, and a non-zero value otherwise. + Thus, if the result of the bitwise AND operation is 0, then n is a power of 2 and the function returns True. Otherwise, the function returns False. + + """ + if n <= 0: + return False + return (n & (n - 1)) == 0 + + +def autocast(f, enabled=True): + def do_autocast(*args, **kwargs): + with torch.cuda.amp.autocast( + enabled=enabled, + dtype=torch.get_autocast_gpu_dtype(), + cache_enabled=torch.is_autocast_cache_enabled(), + ): + return f(*args, **kwargs) + + return do_autocast + + +def load_partial_from_config(config): + return partial(get_obj_from_str(config["target"]), **config.get("params", dict())) + + +def log_txt_as_img(wh, xc, size=10): + # wh a tuple of (width, height) + # xc a list of captions to plot + b = len(xc) + txts = list() + for bi in range(b): + txt = Image.new("RGB", wh, color="white") + draw = ImageDraw.Draw(txt) + font = ImageFont.truetype("data/DejaVuSans.ttf", size=size) + nc = int(40 * (wh[0] / 256)) + if isinstance(xc[bi], list): + text_seq = xc[bi][0] + else: + text_seq = xc[bi] + lines = "\n".join( + text_seq[start : start + nc] for start in range(0, len(text_seq), nc) + ) + + try: + draw.text((0, 0), lines, fill="black", font=font) + except UnicodeEncodeError: + print("Cant encode string for logging. Skipping.") + + txt = np.array(txt).transpose(2, 0, 1) / 127.5 - 1.0 + txts.append(txt) + txts = np.stack(txts) + txts = torch.tensor(txts) + return txts + + +def partialclass(cls, *args, **kwargs): + class NewCls(cls): + __init__ = functools.partialmethod(cls.__init__, *args, **kwargs) + + return NewCls + + +def make_path_absolute(path): + fs, p = fsspec.core.url_to_fs(path) + if fs.protocol == "file": + return os.path.abspath(p) + return path + + +def ismap(x): + if not isinstance(x, torch.Tensor): + return False + return (len(x.shape) == 4) and (x.shape[1] > 3) + + +def isimage(x): + if not isinstance(x, torch.Tensor): + return False + return (len(x.shape) == 4) and (x.shape[1] == 3 or x.shape[1] == 1) + + +def isheatmap(x): + if not isinstance(x, torch.Tensor): + return False + + return x.ndim == 2 + + +def isneighbors(x): + if not isinstance(x, torch.Tensor): + return False + return x.ndim == 5 and (x.shape[2] == 3 or x.shape[2] == 1) + + +def exists(x): + return x is not None + + +def expand_dims_like(x, y): + while x.dim() != y.dim(): + x = x.unsqueeze(-1) + return x + + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + + +def mean_flat(tensor): + """ + https://github.com/openai/guided-diffusion/blob/27c20a8fab9cb472df5d6bdd6c8d11c8f430b924/guided_diffusion/nn.py#L86 + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def count_params(model, verbose=False): + total_params = sum(p.numel() for p in model.parameters()) + if verbose: + print(f"{model.__class__.__name__} has {total_params * 1.e-6:.2f} M params.") + return total_params + + +def instantiate_from_config(config): + if not "target" in config: + if config == "__is_first_stage__": + return None + elif config == "__is_unconditional__": + return None + raise KeyError("Expected key `target` to instantiate.") + return get_obj_from_str(config["target"])(**config.get("params", dict())) + + +def get_obj_from_str(string, reload=False, invalidate_cache=True): + module, cls = string.rsplit(".", 1) + if invalidate_cache: + importlib.invalidate_caches() + if reload: + module_imp = importlib.import_module(module) + importlib.reload(module_imp) + return getattr(importlib.import_module(module, package=None), cls) + + +def append_zero(x): + return torch.cat([x, x.new_zeros([1])]) + + +def append_dims(x, target_dims): + """Appends dimensions to the end of a tensor until it has target_dims dimensions.""" + dims_to_append = target_dims - x.ndim + if dims_to_append < 0: + raise ValueError( + f"input has {x.ndim} dims but target_dims is {target_dims}, which is less" + ) + return x[(...,) + (None,) * dims_to_append] + + +def load_model_from_config(config, ckpt, verbose=True, freeze=True): + print(f"Loading model from {ckpt}") + if ckpt.endswith("ckpt"): + pl_sd = torch.load(ckpt, map_location="cpu") + if "global_step" in pl_sd: + print(f"Global Step: {pl_sd['global_step']}") + sd = pl_sd["state_dict"] + elif ckpt.endswith("safetensors"): + sd = load_safetensors(ckpt) + else: + raise NotImplementedError + + model = instantiate_from_config(config.model) + sd = pl_sd["state_dict"] + + m, u = model.load_state_dict(sd, strict=False) + + if len(m) > 0 and verbose: + print("missing keys:") + print(m) + if len(u) > 0 and verbose: + print("unexpected keys:") + print(u) + + if freeze: + for param in model.parameters(): + param.requires_grad = False + + model.eval() + return model