From f4339190227b72f86d75de43d2ef1191e0b7b8be Mon Sep 17 00:00:00 2001 From: 0xBRM <0xBRM@users.noreply.github.com> Date: Wed, 21 Jun 2023 16:53:22 -0400 Subject: [PATCH 01/10] add fv report --- .../2023_April_10_Lindy_Labs_FV_Report.md | 377 ++++++++++++++++- certora/scWETH_verification_report.md | 380 ------------------ 2 files changed, 364 insertions(+), 393 deletions(-) rename certora/scUSDC_verification_report.md => audits/2023_April_10_Lindy_Labs_FV_Report.md (58%) delete mode 100644 certora/scWETH_verification_report.md diff --git a/certora/scUSDC_verification_report.md b/audits/2023_April_10_Lindy_Labs_FV_Report.md similarity index 58% rename from certora/scUSDC_verification_report.md rename to audits/2023_April_10_Lindy_Labs_FV_Report.md index 87967cd4..3bf783c9 100644 --- a/certora/scUSDC_verification_report.md +++ b/audits/2023_April_10_Lindy_Labs_FV_Report.md @@ -1,31 +1,38 @@ -![Certora](https://hackmd.io/_uploads/H1yqrfBZY.png) -# Formal Verification of scUSDC contract +![Lindy Labs](imggoeshere) + +This audit was prepared by Lindy Labs and represents a snapshot of the repository taken on April 10 2023. + +# Formal Verification of contracts ## Summary -The Certora Prover has partially proved the implementation of the scUSDC contract is correct with respect to formal specifications written by the security team of Lindy Labs, but Certora timed out on several rules. The common characteristics of the rules are that they verify functions that call the `receiveFlashLoan` function. The `receiveFlashLoan` is the most complicated function in the contract because it interacts 7 external contracts. +The Certora Prover has partially proven the implementation of the scUSDC contract is correct with respect to formal specifications written by the security team of Lindy Labs, but Certora timed out on several rules. The common characteristics of the rules are that they verify functions that call the `receiveFlashLoan` function. The `receiveFlashLoan` is the most complicated function in the contract because it interacts 7 external contracts. + +A manual audit of these contracts was also conducted. ## List of Issues Discovered +No issues were uncovered. + # Overview of the verification -## Description of the scUSDC contract +## Description of the contracts -The scUSDC contract inherits the properties of ERC-4626, a standard that simplifies and harmonizes the technical requirements of yield-bearing vaults. This standard provides a uniform interface for yield-bearing vaults that are represented by tokenized shares of an ERC-20 token. Furthermore, ERC-4626 has an elective add-on for vaults that utilize ERC-20 tokens, which includes fundamental functionalities such as token deposit, withdrawal, and balance inquiry. +Both scUSDC and scWETH contracts inherit the properties of ERC-4626, a standard that simplifies and harmonizes the technical requirements of yield-bearing vaults. This standard provides a uniform interface for yield-bearing vaults that are represented by tokenized shares of an ERC-20 token. Furthermore, ERC-4626 has an elective add-on for vaults that utilize ERC-20 tokens, which includes fundamental functionalities such as token deposit, withdrawal, and balance inquiry. -## Assumptions and Simplifications -We made the following assumptions during the verification process: +## Assumptions and Simplifications -We made the following assumptions during the verification process: +The following assumptions were made during the verification process: -- We unroll loops by max 1 time. Violations that require a loop to execute more than 3 times will not be detected. -- When verifying contracts that make external calls, we assume that those calls can have arbitrary side effects outside of the contracts, but that they do not affect the state of the contract being verified. This means that some reentrancy bugs may not be caught. However, the previous audits should have already covered all the possible reentrancy attacks +- Loops are unrolled by max 1 time. Violations that require a loop to execute more than 3 times will not be detected. +- When verifying contracts that make external calls, there is an assumption these calls can have arbitrary side effects outside of the contracts, but they do not affect the state of the contract being verified. This means that some reentrancy bugs may not be caught. However, stactic analysis and previous audits should have already covered all possible reentrancy attacks. ## Verification Conditions + ### Notation -✔️ indicates the rule is formally verified on the latest reviewed commit. Footnotes describe any simplifications or assumptions used while verifying the rules (beyond the general assumptions listed above). +✔️ indicates the rule is formally verified on the latest reviewed commit. Footnotes describe any simplifications or assumptions used while verifying the rules (beyond the general assumptions listed above). In this document, verification conditions are either shown as logical formulas or Hoare triples of the form {p} C {q}. A verification condition given by a logical formula denotes an invariant that holds if every reachable state satisfies the condition. @@ -33,9 +40,9 @@ Hoare triples of the form {p} C {q} holds if any non-reverting execution of prog Formulas relate the results of method calls. In most cases, these methods are getters defined in the contracts, but in some cases they are getters we have added to our harness or definitions provided in the rules file. Undefined variables in the formulas are treated as arbitrary: the rule is checked for every possible value of the variables. -## scUSDC +## Properties -### Rules +### scUSDC #### 1. function converToShares returns the same value ✔️ @@ -505,3 +512,347 @@ Formulas relate the results of method calls. In most cases, these methods are ge { lastReverted } ``` + +### scWETH + +#### 1. function converToShares returns the same value ✔️ + +``` + { e.msg.sender != e2.msg.sender } + + { convertToShares(e, assets) == convertToShares(e2, assets) } +``` + +#### 2. function convertToShares returns at least the same amount of shares than function previewDeposit ✔️ + +``` + convertToShares(e, assets) >= previewDeposit(assets) +``` + +#### 3. function converToShares rounds down shares towards zero ✔️ + +``` + { totalSupply() != 0 } + + totalSupply = totalSupply() + totalAssets = totalAssets() + shares_ = convertToShares(e, assets) + + { (assets * totalSupply) / totalAssets == shares_ } + +``` + +#### 4. function convertToShares maintains share prices - Certora time out + +``` + { + totalSupply_equals_totalShares + _shares = convertToShares(e, assets) + e1.msg.value == 0 + } + + f(e1, args) + shares_ = convertToShares(e2, assets) + + { _shares == shares_ } +``` + +#### 5. share price maintained after mint - Certora timed out + +``` + { + e.msg.sender != currentContract + e.msg.sender != stabilityPool() + receiver != currentContract + _totalAssets == 0 <=> totalSupply() == 0 + priceFeed.latestAnswer() == 0 + totalAssets() + assets <= asset.totalSupply() + } + + assets = mint(e, shares, receiver) + + { assets == previewMint(shares) } +``` + +#### 6. function convertToAssets returns the same value for a given parameter regardless of the caller ✔️ + +``` + { e2.msg.sender != e.msg.sender } + { convertToAssets(e, shares) == convertToAssets(e2, shares) } +``` + +#### 7. function convertToAssets returns at most the same amount of assets than function previewMint ✔️ + +``` + convertToAssets(e, shares) <= previewMint(shares) +``` + +#### 8. function convertToAssets rounds assets towards zero ✔️ + +``` + { totalSupply() != 0 } + + totalAssets = totalAssets() + totalSupply = totalSupply() + assets = convertToAssets(e, shares) + + { (shares * totalAssets) / totalSupply == assets } +``` + +#### 9. function maxDeposit returns the maximum expected value of a deposit ✔️ + +``` + maxDeposit(receiver) == 2^256 - 1 +``` + +#### 10. function maxMint returns the maximum expected value of a mint ✔️ + +``` + maxMint(receiver) == 2^256 - 1 +``` + +#### 11. function previewDeposit returns at most the same amount of assets than function deposit ✔️ + +``` + previewDeposit(assets) <= deposit(e, assets, receiver) +``` + + +#### 12. function previewMint returns at least the same amount of shares than function mint ✔️ + +``` + previewMint(shares) >= mint(e, shares, receiver) +``` + +#### 13. function previewRedeem returns at most the same amount of shares than function redeem - Certora time out + +``` + previewRedeem(shares) <= redeem(e, shares, receiver, owner) +``` + +#### 14. function deposit mints exactly shares Vault shares to receiver by depositing exactly assets of underlying tokens ✔️ + +``` + { + e.msg.sender != currentContract + receiver != currentContract + _totalAssets + assets <= asset.totalSupply() + _receiverShares + shares <= totalSupply() + } + + _userAssets = asset.balanceOf(e.msg.sender) + _totalAssets = totalAssets() + _receiverShares = balanceOf(receiver) + + shares = deposit(e, assets, receiver) + + userAssets_ = asset.balanceOf(e.msg.sender) + totalAssets_ = totalAssets() + receiverShares_ = balanceOf(receiver) + + { + _userAssets - assets == userAssets_ + _totalAssets + assets == totalAssets_ + _receiverShares + shares == receiverShares_ + } +``` + + +#### 15. function deposit must revert if all of assets cannot be deposited ✔️ + +``` + { userAssets < assets } + + userAssets = asset.balanceOf(e.msg.sender) + deposit@withrevert(e, assets, receiver) + + { lastReverted } +``` + +#### 16. function mint mints exactly shares Vault shares to receiver ✔️ + +``` + { + e.msg.sender != currentContract + receiver != currentContract + _receiverShares + shares <= totalSupply() + _totalAssets + assets <= asset.totalSupply() + } + + _userAssets = asset.balanceOf(e.msg.sender) + _totalAssets = totalAssets() + _receiverShares = balanceOf(receiver) + + assets = mint(e, shares, receiver) + + userAssets_ = asset.balanceOf(e.msg.sender) + totalAssets_ = totalAssets() + receiverShares_ = balanceOf(receiver) + + { + _userAssets - assets == userAssets_ + _totalAssets + assets == totalAssets_ + _receiverShares + shares == receiverShares_ + } +``` + + +#### 17. function mint reverts if the minter has not enough assets ✔️ +``` + { asset.balanceOf(e.msg.sender) < previewMint(shares) } + + mint@withrevert(e, shares, receiver) + + { lastReverted } +``` + + +#### 18. function withdraw reverts unconditionally ✔️ + +``` + {} + + withdraw@withrevert(e, assets, receiver, owner) + + { lastReverted } +``` + +#### 19. function redeem must burn exactly shares from owner and sends assets of underlying tokens to receiver - Certora time out + +``` + { + e.msg.sender != currentContract + receiver != currentContract + _receiverAssets + assets <= asset.totalSupply() + } + + _receiverAssets = asset.balanceOf(receiver) + _totalAssets = totalAssets() + _ownerShares = balanceOf(owner) + _senderAllowance = allowance(owner, e.msg.sender) + + assets = redeem(e, shares, receiver, owner) + + totalAssets_ = totalAssets() + receiverAssets_ = asset.balanceOf(receiver) + ownerShares_ = balanceOf(owner) + senderAllowance_ = allowance(owner, e.msg.sender) + + { + _totalAssets - assets == totalAssets_ + _receiverAssets + assets == receiverAssets_ + _ownerShares - shares == ownerShares_ + e.msg.sender != owner => + _senderAllowance == 2^256 -1 && senderAllowance_ == 2^256 -1 + || + _senderAllowance - shares == senderAllowance_ + } +``` + +#### 20. function redeem reverts if there is not enough shares - Certora time out + +``` + { + balanceOf(owner) < shares + || + e.msg.sender != owner && allowance(owner, e.msg.sender) < shares + } + + redeem@withrevert(e, shares, receiver, owner) + + { lastReverted } +``` + + +#### 21. function applyNewTargetLtv updates the state variable targetLtv using newTargetLtv ✔️ + +``` + {} + + applyNewTargetLtv(e, newTargetLtv) + + { targetLtv() == newTargetLtv } +``` + +#### 22. function applyNewTargetLtv reverts the targetLtv exceeds getMaxLtv() ✔️ + +``` + { newTargetLtv > getMaxLtv() } + + applyNewTargetLtv@withrevert(e, newTargetLtv) + + { lastReverted } +``` + + +#### 23. function receiveFlashLoan reverts the caller is not balancerVault ✔️ + +``` + { e.msg.sender != balancerVault() } + + receiveFlashLoan@withrevert(e, args) + + { lastReverted } +``` + + +#### 24. function setPerformanceFee updates the state variable performanceFee using newPerformanceFee ✔️ + +``` + {} + + setPerformanceFee(e, newPerformanceFee) + + { performanceFee() == newPerformanceFee } +``` + +#### 25. function setPerformanceFee reverts if the value of the parameter newPerformanceFee is greater than 10^18 ✔️ + +``` + { newPerformanceFee > 10^18 } + + setPerformanceFee@withrevert(e, newPerformanceFee) + + { lastReverted } +``` + +#### 26. function setFloatPercentage updates the state variable performanceFee with the value provided by the parameter newPerformanceFee ✔️ + +``` + {} + + setFloatPercentage(e, newFloatPercentage) + + { floatPercentage() == newFloatPercentage } +``` + + +#### 27. function setFloatPercentage reverts if the value of the parameter newFloatPercentage is greater than 10^18 ✔️ + +``` + { newFloatPercentage > 10^18 } + + setFloatPercentage@withrevert(e, newFloatPercentage) + + { lastReverted } +``` + +#### 28. function setTreasury updates the state variable treasury with the value provided by the parameter newTreasury ✔️ + +``` + {} + + setTreasury(e, newTreasury) + + { treasury() == newTreasury } +``` + +#### 29. function setTreasury reverts if address(0) ✔️ + +``` + {} + + setTreasury@withrevert(e, 0) + + { lastReverted } +``` diff --git a/certora/scWETH_verification_report.md b/certora/scWETH_verification_report.md deleted file mode 100644 index de817e04..00000000 --- a/certora/scWETH_verification_report.md +++ /dev/null @@ -1,380 +0,0 @@ -![Certora](https://hackmd.io/_uploads/H1yqrfBZY.png) -# Formal Verification of scWETH contract - -## Summary - -The Certora Prover has partially proved the implementation of the scWETH contract is correct with respect to formal specifications written by the security team of Lindy Labs, but Certora timed out on several rules. The common characteristics of the rules are that they verify functions that call the `receiveFlashLoan` function. The `receiveFlashLoan` is the most complicated function in the contract because it interacts 7 external contracts. - -The team also performed a manual audit of these contracts. - -## List of Issues Discovered - -# Overview of the verification - -## Description of the scWETH contract - -The scWETH contract inherits the properties of ERC-4626, a standard that simplifies and harmonizes the technical requirements of yield-bearing vaults. This standard provides a uniform interface for yield-bearing vaults that are represented by tokenized shares of an ERC-20 token. Furthermore, ERC-4626 has an elective add-on for vaults that utilize ERC-20 tokens, which includes fundamental functionalities such as token deposit, withdrawal, and balance inquiry. - -## Assumptions and Simplifications - -We made the following assumptions during the verification process: - -- We unroll loops by max 1 time. Violations that require a loop to execute more than 3 times will not be detected. -- When verifying contracts that make external calls, we assume that those calls can have arbitrary side effects outside of the contracts, but that they do not affect the state of the contract being verified. This means that some reentrancy bugs may not be caught. However, the previous audits should have already covered all the possible reentrancy attacks - -## Verification Conditions -### Notation -✔️ indicates the rule is formally verified on the latest reviewed commit. Footnotes describe any simplifications or assumptions used while verifying the rules (beyond the general assumptions listed above). - - -In this document, verification conditions are either shown as logical formulas or Hoare triples of the form {p} C {q}. A verification condition given by a logical formula denotes an invariant that holds if every reachable state satisfies the condition. - -Hoare triples of the form {p} C {q} holds if any non-reverting execution of program C that starts in a state satsifying the precondition p ends in a state satisfying the postcondition q. The notation {p} C@withrevert {q} is similar but applies to both reverting and non-reverting executions. Preconditions and postconditions are similar to the Solidity require and statements. - -Formulas relate the results of method calls. In most cases, these methods are getters defined in the contracts, but in some cases they are getters we have added to our harness or definitions provided in the rules file. Undefined variables in the formulas are treated as arbitrary: the rule is checked for every possible value of the variables. - -## scWETH - -### Rules - -#### 1. function converToShares returns the same value ✔️ - -``` - { e.msg.sender != e2.msg.sender } - - { convertToShares(e, assets) == convertToShares(e2, assets) } -``` - -#### 2. function convertToShares returns at least the same amount of shares than function previewDeposit ✔️ - -``` - convertToShares(e, assets) >= previewDeposit(assets) -``` - -#### 3. function converToShares rounds down shares towards zero ✔️ - -``` - { totalSupply() != 0 } - - totalSupply = totalSupply() - totalAssets = totalAssets() - shares_ = convertToShares(e, assets) - - { (assets * totalSupply) / totalAssets == shares_ } - -``` - -#### 4. function convertToShares maintains share prices - Certora time out - -``` - { - totalSupply_equals_totalShares - _shares = convertToShares(e, assets) - e1.msg.value == 0 - } - - f(e1, args) - shares_ = convertToShares(e2, assets) - - { _shares == shares_ } -``` - -#### 5. share price maintained after mint - Certora timed out - -``` - { - e.msg.sender != currentContract - e.msg.sender != stabilityPool() - receiver != currentContract - _totalAssets == 0 <=> totalSupply() == 0 - priceFeed.latestAnswer() == 0 - totalAssets() + assets <= asset.totalSupply() - } - - assets = mint(e, shares, receiver) - - { assets == previewMint(shares) } -``` - -#### 6. function convertToAssets returns the same value for a given parameter regardless of the caller ✔️ - -``` - { e2.msg.sender != e.msg.sender } - { convertToAssets(e, shares) == convertToAssets(e2, shares) } -``` - -#### 7. function convertToAssets returns at most the same amount of assets than function previewMint ✔️ - -``` - convertToAssets(e, shares) <= previewMint(shares) -``` - -#### 8. function convertToAssets rounds assets towards zero ✔️ - -``` - { totalSupply() != 0 } - - totalAssets = totalAssets() - totalSupply = totalSupply() - assets = convertToAssets(e, shares) - - { (shares * totalAssets) / totalSupply == assets } -``` - -#### 9. function maxDeposit returns the maximum expected value of a deposit ✔️ - -``` - maxDeposit(receiver) == 2^256 - 1 -``` - -#### 10. function maxMint returns the maximum expected value of a mint ✔️ - -``` - maxMint(receiver) == 2^256 - 1 -``` - -#### 11. function previewDeposit returns at most the same amount of assets than function deposit ✔️ - -``` - previewDeposit(assets) <= deposit(e, assets, receiver) -``` - - -#### 12. function previewMint returns at least the same amount of shares than function mint ✔️ - -``` - previewMint(shares) >= mint(e, shares, receiver) -``` - -#### 13. function previewRedeem returns at most the same amount of shares than function redeem - Certora time out - -``` - previewRedeem(shares) <= redeem(e, shares, receiver, owner) -``` - -#### 14. function deposit mints exactly shares Vault shares to receiver by depositing exactly assets of underlying tokens ✔️ - -``` - { - e.msg.sender != currentContract - receiver != currentContract - _totalAssets + assets <= asset.totalSupply() - _receiverShares + shares <= totalSupply() - } - - _userAssets = asset.balanceOf(e.msg.sender) - _totalAssets = totalAssets() - _receiverShares = balanceOf(receiver) - - shares = deposit(e, assets, receiver) - - userAssets_ = asset.balanceOf(e.msg.sender) - totalAssets_ = totalAssets() - receiverShares_ = balanceOf(receiver) - - { - _userAssets - assets == userAssets_ - _totalAssets + assets == totalAssets_ - _receiverShares + shares == receiverShares_ - } -``` - - -#### 15. function deposit must revert if all of assets cannot be deposited ✔️ - -``` - { userAssets < assets } - - userAssets = asset.balanceOf(e.msg.sender) - deposit@withrevert(e, assets, receiver) - - { lastReverted } -``` - -#### 16. function mint mints exactly shares Vault shares to receiver ✔️ - -``` - { - e.msg.sender != currentContract - receiver != currentContract - _receiverShares + shares <= totalSupply() - _totalAssets + assets <= asset.totalSupply() - } - - _userAssets = asset.balanceOf(e.msg.sender) - _totalAssets = totalAssets() - _receiverShares = balanceOf(receiver) - - assets = mint(e, shares, receiver) - - userAssets_ = asset.balanceOf(e.msg.sender) - totalAssets_ = totalAssets() - receiverShares_ = balanceOf(receiver) - - { - _userAssets - assets == userAssets_ - _totalAssets + assets == totalAssets_ - _receiverShares + shares == receiverShares_ - } -``` - - -#### 17. function mint reverts if the minter has not enough assets ✔️ -``` - { asset.balanceOf(e.msg.sender) < previewMint(shares) } - - mint@withrevert(e, shares, receiver) - - { lastReverted } -``` - - -#### 18. function withdraw reverts unconditionally ✔️ - -``` - {} - - withdraw@withrevert(e, assets, receiver, owner) - - { lastReverted } -``` - -#### 19. function redeem must burn exactly shares from owner and sends assets of underlying tokens to receiver - Certora time out - -``` - { - e.msg.sender != currentContract - receiver != currentContract - _receiverAssets + assets <= asset.totalSupply() - } - - _receiverAssets = asset.balanceOf(receiver) - _totalAssets = totalAssets() - _ownerShares = balanceOf(owner) - _senderAllowance = allowance(owner, e.msg.sender) - - assets = redeem(e, shares, receiver, owner) - - totalAssets_ = totalAssets() - receiverAssets_ = asset.balanceOf(receiver) - ownerShares_ = balanceOf(owner) - senderAllowance_ = allowance(owner, e.msg.sender) - - { - _totalAssets - assets == totalAssets_ - _receiverAssets + assets == receiverAssets_ - _ownerShares - shares == ownerShares_ - e.msg.sender != owner => - _senderAllowance == 2^256 -1 && senderAllowance_ == 2^256 -1 - || - _senderAllowance - shares == senderAllowance_ - } -``` - -#### 20. function redeem reverts if there is not enough shares - Certora time out - -``` - { - balanceOf(owner) < shares - || - e.msg.sender != owner && allowance(owner, e.msg.sender) < shares - } - - redeem@withrevert(e, shares, receiver, owner) - - { lastReverted } -``` - - -#### 21. function applyNewTargetLtv updates the state variable targetLtv using newTargetLtv ✔️ - -``` - {} - - applyNewTargetLtv(e, newTargetLtv) - - { targetLtv() == newTargetLtv } -``` - -#### 22. function applyNewTargetLtv reverts the targetLtv exceeds getMaxLtv() ✔️ - -``` - { newTargetLtv > getMaxLtv() } - - applyNewTargetLtv@withrevert(e, newTargetLtv) - - { lastReverted } -``` - - -#### 23. function receiveFlashLoan reverts the caller is not balancerVault ✔️ - -``` - { e.msg.sender != balancerVault() } - - receiveFlashLoan@withrevert(e, args) - - { lastReverted } -``` - - -#### 24. function setPerformanceFee updates the state variable performanceFee using newPerformanceFee ✔️ - -``` - {} - - setPerformanceFee(e, newPerformanceFee) - - { performanceFee() == newPerformanceFee } -``` - -#### 25. function setPerformanceFee reverts if the value of the parameter newPerformanceFee is greater than 10^18 ✔️ - -``` - { newPerformanceFee > 10^18 } - - setPerformanceFee@withrevert(e, newPerformanceFee) - - { lastReverted } -``` - -#### 26. function setFloatPercentage updates the state variable performanceFee with the value provided by the parameter newPerformanceFee ✔️ - -``` - {} - - setFloatPercentage(e, newFloatPercentage) - - { floatPercentage() == newFloatPercentage } -``` - - -#### 27. function setFloatPercentage reverts if the value of the parameter newFloatPercentage is greater than 10^18 ✔️ - -``` - { newFloatPercentage > 10^18 } - - setFloatPercentage@withrevert(e, newFloatPercentage) - - { lastReverted } -``` - -#### 28. function setTreasury updates the state variable treasury with the value provided by the parameter newTreasury ✔️ - -``` - {} - - setTreasury(e, newTreasury) - - { treasury() == newTreasury } -``` - -#### 29. function setTreasury reverts if address(0) ✔️ - -``` - {} - - setTreasury@withrevert(e, 0) - - { lastReverted } -``` \ No newline at end of file From b34b0a05cbcf647e384cdee076f5fdc153ff4026 Mon Sep 17 00:00:00 2001 From: 0xBRM <0xBRM@users.noreply.github.com> Date: Wed, 21 Jun 2023 16:57:26 -0400 Subject: [PATCH 02/10] rename --- ....pdf => 2023_April_27_WatchPug_Audit_Report.pdf} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename audits/{Sandclock_v2_Audit_Report_by_WatchPug.pdf => 2023_April_27_WatchPug_Audit_Report.pdf} (100%) diff --git a/audits/Sandclock_v2_Audit_Report_by_WatchPug.pdf b/audits/2023_April_27_WatchPug_Audit_Report.pdf similarity index 100% rename from audits/Sandclock_v2_Audit_Report_by_WatchPug.pdf rename to audits/2023_April_27_WatchPug_Audit_Report.pdf From 7e7e3df843743dabbb5086f40aae7c1aac6c643f Mon Sep 17 00:00:00 2001 From: 0xBRM <0xBRM@users.noreply.github.com> Date: Wed, 21 Jun 2023 16:58:59 -0400 Subject: [PATCH 03/10] add visual assets --- assets/ll-white.svg | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 assets/ll-white.svg diff --git a/assets/ll-white.svg b/assets/ll-white.svg new file mode 100644 index 00000000..22f37a52 --- /dev/null +++ b/assets/ll-white.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 4290a255448968e882a222568c8c29e6833f3528 Mon Sep 17 00:00:00 2001 From: 0xBRM <0xBRM@users.noreply.github.com> Date: Wed, 21 Jun 2023 16:59:56 -0400 Subject: [PATCH 04/10] small edit --- audits/2023_April_10_Lindy_Labs_FV_Report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audits/2023_April_10_Lindy_Labs_FV_Report.md b/audits/2023_April_10_Lindy_Labs_FV_Report.md index 3bf783c9..af4b8799 100644 --- a/audits/2023_April_10_Lindy_Labs_FV_Report.md +++ b/audits/2023_April_10_Lindy_Labs_FV_Report.md @@ -1,4 +1,4 @@ -![Lindy Labs](imggoeshere) +![Lindy Labs](assets/ll-white.svg) This audit was prepared by Lindy Labs and represents a snapshot of the repository taken on April 10 2023. From 5c18828e7f2a7dc7c8e0ba6a9be3807c46a1f6e7 Mon Sep 17 00:00:00 2001 From: 0xBRM <0xBRM@users.noreply.github.com> Date: Wed, 21 Jun 2023 17:03:02 -0400 Subject: [PATCH 05/10] md doesnt render svg --- assets/ll-white.png | Bin 0 -> 67258 bytes assets/ll-white.svg | 43 ------------------- audits/2023_April_10_Lindy_Labs_FV_Report.md | 2 +- 3 files changed, 1 insertion(+), 44 deletions(-) create mode 100644 assets/ll-white.png delete mode 100644 assets/ll-white.svg diff --git a/assets/ll-white.png b/assets/ll-white.png new file mode 100644 index 0000000000000000000000000000000000000000..1f3036259327602a88282b01305260cb3c8e0a60 GIT binary patch literal 67258 zcmZ5{1ys~c_b{LsbcZ0Qgc7^3fFK|sA|NFQEWLDhcS=c#fUtDu(hW;@w{*9_(vnMj ztIzZ3`~T(~4u|>8+_^n>?!5%beGtdRdW40BhK4Kg{+&D;+C2yw8hY%5d#IW27DprgenQlKW$?c~MZq7@BNZ=wFUYa}cqjD}Vkj(w$riH3epR^pwo zqBA<;8aFZN46^8QdowxmK1RQf*!T<_|EAMz@y-5x9hHmIe%-qd+l0IFKcXxirE-}7 z2-T|m+im6FSE18a>PyuDsw8?x-=-7J9(-$$fp!_Fa{=FdFb-L}8`$__NkT7*pv&1@ z%5&JbXz?bc_?DM5!-a2?Pd3Hr*-*br%tqpl#^!Bz-)1_W zVaz*Y`~P<{rXTP}9U1KZY&J$=plkuIHur;(|GT-lgaDq(7Vv)o7Cy6YDZ;IT8_@m5 zaOT~QPmifuwqqQoyPR&5NqMhf%5eth|KauK0i=X3Lk)$O@`-#t_3bK8oampAXw2wU zE#T_ccB=cFVuRsQODi>9+cd{xr=>#3g27)Z_j`DVWnovD&;4JV33BaQvO6pP4=(q7 zB*`@KF)~Az1l&~dCs*>-@v#4bG^dIN5-3lXGTTNpX9@om zOkJ*hoGuC@Trk_eAiN7xM-3!D&X+m-M2%- z3jR?&ZCAN1j(}WCO4&aoHtT1M8uZJ}b2R?pnRky^R$pu?+@S0))lq?xP|zEPzO^7Q z8+l4&!SlQSAxwxmMMtq(I;`V^_!osg*035T2_+PD=u?c#*~a{LZ6|FskS<_5CQtki zDWOcv5U~g20D`|bnt$Blz{s_1x%U?#(A%uOuO5dC4GG(1=FQ3t|LY5yyHNzZPX;GJ z8d!}GR!bkyxvPh_x=sE9v?qk)w2&A7NXm}kG}Tw~29&W)FrW;g%aRNGe~lNA4#)KP zYrCOO-a=#K=0AC+{~gtQNpRmZ=o3D0PoKpH;YY1 zq92;J!G@~;${tN!><7`uc?>R%aj8PvtMEmAvj5bggdtj*S9$)Z-=JZLf>(A4||&8(00Lp0JvX{M*|hB(Gvc0tICj>1(IutUiIZK4)J;U_AaMoG)1B`&&<)Q z{@T&hlp+}Z+D=rqC|HBu8r_i*+)y+5$KAuFMYE&|EN#kB-ov}m8q5Y3|I%pMq)PPf z@y%<>aFTJrUEmwqS{M}Nem?y<@&RMjsQ)%us=yx(Hv1{T<>oOeLjJ6YEs=y8X^qyp zf`4HZ@YipQnd&k_l3hOT=M|&4gY(yXv&W~D;WgW2bnUu#b--rl{i8eVL7nNp2+;m(@7hFR z_F35DfabM7%x=!4n3g1mse5nzaYWt{Alu&}8T(7}%^ zwR2$jx8O=>{@@y#kOuy>N<05AVt4`azi{>5{rvxV9WllH-v|Hj{nzV+W>Xn0va$tdSC$_U4A(c;A+gXGX0SS|~~3jt?-BVG?F0 zz6%v?c@Nh)HQP|y&X?_8!Yu>?z0nntpu)O4J`XoBpjD@Re##{5a)Q>&9)uJucdXbp zVCs#|szYXgGZr6g@0-|4AzK4k@fmp@3ew6S z84U+p1OkiT>v4UqDIi-x8VNi!y0AZLZ!x9xBNC>Lz}R?*?tLiopWFBLnU??YORy4u zZe(xaX|7+Y+U)nogTB$Sp!ls3qklYKYRUxeZ&D2YAW&ik`HgM%Uu+#&0)IIQ??2a! z_v1Vi{oa;;40I}J`)Z#FRW!7T{pJ8 z0f@e;_fwY}(TFixrHdF^*m|A$-E$vI^Z?8K)XMdbbBXe!Gm_WuSlB}_bH9f{YE zLE>H?Ej_n`(F*Ox0gDF<;EScE!ebL!4FZ=jE%J-GO-y6RNu8AK(rlCZ8SttAIa1I1 z@98DA%${KK8tQAz=re&LjEb}ZOP8a#%FVjw4oo)1hEy51A3TAmENK0mfy+OJoDEnZ*S6M=#M>_Dp;7_tZ1_<%gd55)6ag@r6~ zeg}K0DKMd{Pl#LO;&Y_un(tG)Q(SVe1>R#KqdEsgj9)L0UqgKjN@0eJ9qKs_D&RK7 z(#~~lv80S%Px>b|{MptoBJ>=2yT`9Tq}OCn?Iu&A%dB-m{^4U*!@m%`0r{bzyjF(0 zfW0UCE8Tk)Gv{sLA)bY}S}0JC?w1k~#a{c{2+Mz>QpZ-*1-$PPjzEskD%h>t#+t8> zM)x|YRcx1S$mZFjdynXzLCALlE`CZ^o{{~Qo_0GTNEA2-#}3Kc?znaty$3AXUbna{ zoDwP!S-IRpx3bLZeI5?#arrBC6ws>0;e;=xN zb5b9nOiPj)l5gp<*$TUzAyYm%l4@c-YD9`QB4i&7XI-|E>o0noNo+=?V7W-H=U=wQ zJ>s$1lPdHyU^B<{hzR*8l7)?i;~&95<(@JwISA3bnPT{dJe+T7Qh4g2nQ`}SDE6)4 z$c2>rn}nRV;~|Z^O{6FbjpY7^brYP&Udd4nLMKrus?wjz9lF?>!(w4-7{r$$7pBm2 z+O$DTG&K@mvOHKvUtd$>i{J7MrKE-XRd)5S?YFr@OPDF!VrVw5!$V$IWFC3Rop6i? zpyF%PQ)nrc?J8~Vpjikym?OyWR3GH|PKs3@RQivLIcbUPE;_ze=b9EQL_Jf)1CU(D44xlrxRsV%OBtb~-D}4L6s50I3;%wzX-C!! zcRZelda?Q6(~0 z*=qIa%?E0~*%oEKD-E@ua~i_*xKESNu6Sq!08)K;FzLdq-0+!w$G{f#oaL!ozaTeQ z`*_0f*wAwsMOnGf(~V#^dD9oFhw*b$M!i7UDk=^KFu>DN>MCBW!7mSZn$UZ0&8XOe zhE}EH;$k!H$@`BHOUHdpckA?uJMp6bOV zEXEmL=XaaZ^aWr0efYl)(OhEO?nO;cG>fp+gD8v`_fIBj$LH$<9L}ic#N~}F_WfX4 zG}MW>`;f<5j=BjFU^ZG60%`9!t;<|$=QF4Gn`7ZYi$B|C6h1524v*etbCDv~jX7wd zV36t$lW`Hqs{895g4a9B=CUXa!?>eTMI;~f zI-`S4C|+?svT?>cTVvGxGRi?#?lW{iX8>OaC^_EuBcc5teW$rX#CTmfPM;MoKHtb9 zmsZV^=OU95mLM+sW(To7h|Gs5a^2&(fT!_wDl&?(OD6rBr0@ph**b)PYLjBOdgVTq zgl=_xKz?VaB$b+E`}ByZi1@hz&u;geh0sa*N0_GAB)xLAc{?Vss}ZthB>0R%n6v4q z+;#~WF10yEUYD=vo=e1|38WmP;=+9zyw(^0%$?~DWt68<(+Tz>lDKjZm-IhYR%y$= z5}O0ObOe`u6AsdHD$vu`ov^1JE84$a-t1&kb<~#2Z(ItW`yPXogE6aQwAe!+rIezK*j_a_ZND^wT zzHDSM6Al)b{qOppdIv62i{Fs4q*J>0f@n7ULP%6Dqr)0gVz+ap&~#FUygFj9P4ni0 z6eM&I`(x4FPnFFgA$uAy8v)a7+__t>Ib)c7k%+i8@=`v#{^`+KfBx2KvbDFG$c`#i zu6|`liEGFlBySdh(Iu5>mZ>6E$s#V%B3)bATMl`bAo=KDMXYIroi{oel&YGB-j6Xe z<)461uCh_#v-8Y^etd8kvZYzdC9?zaisKuESU-2a3Q2dmf^|K-PEZSRFE`V#>+se;x$1JaDr_yt58vLlm&6ye#Rbd)Q&VT5s!Ga7b- z+Iw1X|HZ*vI1AqMNf$>Zm`racxG&!9Ltm1&uD^8bQ(`u&OzM~=^(X-^@OncE$wfkw z*mz&6+T7%YoJCJG(?Mz%b3r(CwI{jBNw<)7Orgcb}7=Jm7abv*C%ZvAXJMGOQYuQDX}lNTOoW^k|CacED#do(*nbWr#Yn z#4hgG&ls-H%$7r=0c;bs?ftcb5qM~5dYem#h_=%{9fiI`4-vP*M@g0YVRokgyQ-Z} z%zK;G@ex_p={B^UF}p5Or(wsO+1na01Bb2NBY&w+5qd)HgGJrrysAiKRg-ek>=hZ@ zYf-JXczl#*+RlVX=)oPddu;$%QSbILyph{zQCu_M^0u{G!;?)uPTh{7dcSmGYwPu? z1Y^vsS1sctUjBExZ0=&SWH!sD3L~$|5Y;2CDJx3Kd1U&9lgrdC&FYR@RwI1R0iT9% z)NQn^VbAtbVAg;SsW!RUxmDTpd|ZHHG4nZTJc)3hYfB%WG)O{czAtB%X^6>7Nhta$ zO;d8OZv6UKjwX@Iq!rA4g)+nH))b`JU_R*2x_=d<=DAKZ4)9&tsH;D_pK#z0gAUZX z0FZ(|J-F>ve{PxMyczY2`W;x`vD&lEo)HOm`t`I4&7gk z+6Dh&Oe&chtu5+>k9dv+DbpEj<4kG@aRli}pq@9Di5|Z5XDR~bLIbE1o#v1qHD2%x zbX^WC1ao6)9Jx^KMb(7whajRt@x9*26&~MQ=#p>l9vc9Ys@FHAYKArJ1hy8ec_Y-A5N@2y@U(`PRrMPA3tsU-()RXm*gO^!{cY(Z|jb&Gc5z_6M9Y4@J{ zJA5AdH^dW9>Y8NDqDB?le+DocbVxOpR)%#2r^rNH7M&3UlIIN*^LiMhwcbNHpcaGTd_?S>)MY#cL$YBFgr#)Cl9yE z9k{!5GQ&^1lX>gjIEY>L2S`et_5nu4Jr9+4+z?I2?w)K^G)^QlrEpDwjW4YBw2p?b zxG~m8XMyT-a5b%luDx{X@}Z$x>vuE5PO=*)IXtXOv2VQ{1b>hf!3>?qKR)df;Lv6< zG#K&ZWuA%!olQ-)pps_Sv9@YxT!2(X*#M95$}W{~oN5BP*OQ-MRhTb z8ses}#J9FqS8JS>RiD`|#`nA`dz$oBiNdOt5veVAbv8bu+2I zu}Yha8zlZfRC*40zBX>*FJ0ioS-RG~b{q6QK5r#?vN98cQfqO=u&|Qd8u+!`!m#|Sx;}!LnQ)YTWzy691(Tewo-m7vMNI7Y#+zD zDTt^U9(WwRC1kB9KG&3lcvE!(&j}=vXL`lv3HC%2F`XOd-F!-&ZfRzJA38K8kHeG$kt%h;s!Wp$j%+F zFQrYUSR>i?E>`e|DJms%olCyDxo^2VRhgXe7&&yk?n0Z`%@A}u7`8B)xzSjO;kUyE zEzUlFESCIs=G?&L%g4Z|ItfCI`T@3ZoT&1^s)^5|(lPY(le%Bil+z@H zbtDVxO!SGq+%FUMMS4C$g#=C48I`x3Uv}FWWniv0UUO$--St=X2&9mg-05vDZfuH2 z8IJn9_(mO1mQF=+v-Ai1l+! z&H;}Yb@&k+rU*wva~yj7n3-P@=o~9I&q)(fdg}Y(@{QDanZwqdJ$hEl9?SEVo{SD! z!kx=Nd`)Aj&khczW0ECCLiNKNxC(v#36AQXjBHh3`Wm}BN6|4h=LJcZrM#k%FvlI2 zMT*^~^G*L*t7VrF>-)o@JB>d&XYglW?vr~$om|+VI+jwLU81&}$y|g_d9bm`*(MoY zDpmRkF+S$e%x2aR<^<-%bBR6;FOG5lNIYTMmUhUrJo4?(xPH)AHn{%cQ@(3l(aDI` ztpy|-ZonmDHZHY!<|TqR=LOxno|^ue{p}?S(H%89lWz_7;FL9~pxf_zcSwl&JUb*Q zd(fre^%6Ys7>{MB@+f-Oro`YdEoQwV6Ez<6P-BEHnR+y(raGGUyxko`gZrnnuGa#3 z>gCXy?*gaVI6fhYjQPX+225J-!RoRwPw84!(X*wo z)cG6?$cNTrrIUH9WusfkTZ%$=eT2;p>%Ug8xvm8f7Uk{-LiRH(!Nv&UID(3`C-3N= zGYdLzL0rEVu?^^&);Pv~EtDC3Ry)H`lyu2L)q|Z|o1=;Y=F$}WUTLi1g*!QVklRWS z>l`lIVEz*VeYbEDEA2iWl5fm=trN{7BsU~K&jHUyCDW9vuddt-Zo{tupg!5S;e&j< z&6kA@E8M~fVN!T&DWFSl!E+1;|s_v+|$}O{!?mzYBIfhceBORURUe%iN^JpWI?s`a~c%&>Y_b}iK>3a_il=w z`3N~KTJYh#c0b(hxN;KBjr5HvxuUpq^-t;Gl8Sxg8<&0(y8)I4NGY{qn4TByd_FY{ z155v)$;`uG{G$4~C0Og^J3BF>phl354E4Q?r{4&*PITKo%jSMC9q;S%5?`lUsAHzR zs;<<2E$xcZn;_Y4pR-$VQmwTTq(%ph5l*3_$b_?n_0Ii)UNG~w*U%2-^qN{g+OrOO z<(l?gxd+njFBC{;p|3VOVs+nv3j#(oTrzlh@X{>bJ0@&XTF~&Ln4`a_w^8M)diInX z*j!y!GFA0cCk6(U>sceOVLUT#rS~kEcdb;Qww%2j9ve6pF6d;Hq}q11-CRY;sTX!2 zVoY@?M4WtdYPPZ`7i-g%**;9ITqs!}uT6-i!QlX9o9sKjj8_*Nq(dR>zMI`~4+Rd4 z@>}<30zO>dK#-E;yL&$>tJ1SxF;r6I(?8bGOpItW3(%2LKt@`!-erlzqY2+Mh0iM9 z*Ne}R2gC@}sfVuzyxlq~%~H*^cbR-XpVAX|f+`<0t_PaB98tE!#|T}TvKgN0ioy5Fv))Qe0ZtY7%FxbTIl`IDubtKRIMYN`;Fhpt zPC-t`oH(vjW^>>uPVBb{I5Ag$U_?FTXtv}%l%Xbnp55Gr_|vOW~DHgcv-{aVOh_X@ka9T z&evR`;?-8#Zu_!Poj^D9yt1JHf-{*Tl;K@$c63|^YI?n8ls4629s4+4#Y@F^f^^z7 zf-8Dz_Xc2xKz2KIO+r4F4@&Cu;a&5YecQ|ZS;D9e49x~lWk)j3Wi{1zI?Orj0V}vT znOb{Dd6&_g&thpScABkj{Ca(5!_Hb!rHv>(d6*`j6fN|Q(2=tK#t0`9S`Wxrl_~OV z)X%rLTjGSNHRKki_9{V4zVVFICblyi^$$1WvR4XC1PtX5lLKOv!LD~w<=$=HP_@N5 zm#Qf^>-U}-p`jsK4Y8dq2^VM$U>soaDpV!Yi)8sbE352BRNY`>j?iBnYfh}9LnQ?K zsyzRwx4zk|v~p?`yDxlH4TpFD%yN!7x#hv8CJVEykOF?vmWlg_!{y8ytgy)(??+V>HA5rnxqrn$kPMnzNHBLyTa&54~7XWw!M13)|y! z+qtHtHG01lv1iqx{L*nNuG0w%wr|;d%SNO^B73{2-Gx+c;6qgA!OT#X?7GIRcH_(o}LJt-$7!dlt; zE?V>86i=jhk<*O~Ps8Eh7OqBFtOmnsQo0S$McLBs#LdMl^gRA%+aC6!i9~hbMJf3b=P^C+2?EK zTE+oaxiIt%+DZUY%4t z6wrN@erQH~)Jdj411==eymqJ`nrdYQw<|7Nwq18oaCf~EC6&R`$$S{4(N|7&7tQ)9zN9w114A(=|1`~~FMRi{-&kn?Ft2(3Cv7rdOwe*T5H4lev^7q${ zX-WR+SyO^|u`hV9a+0PT`y~LxwDtY=r$Eg!46zN&EY&)@CiV|@53lW}1fdT#sw|XI zOgbZGQ6L=OFh1VHg1!uNGlSPhygpxuEmAjobY>3$Ri8^-_e;Zzg348nEV6tT^5JsT%srX~zFMayRd$8&yY~;Dx zm2g0hNwf^kW}0KKJ%N7a8p$>JgmVU&cc7|mWdIkn!@gY|S#4CjPpl>?rcw`z9x-Du z+gFfh_yBVqOaGLWS8|x6w0u)HlX3CnKALyZY=JB{tzq3cK2MbV;Yv93&tvuTuXUh? zW7lYE&N3%^BQsJXrfS@pny96$V66m4h)-S!29bk@!8gbrJV1v0#uBPw1x}X0ty=Ka+-*=nUhu$0fhMob-9)Vk3$=Ujw{HtE2Fm(T| zLJFqV@Cv~D>WH^^GR1?5m6y$Q$%gXZmbDPMP92Eg(Hc&^!6qXJMOXb-70L>1U2Sk zhQ+=y%#u}oLy3gEEEcgV7NTZ_9p>*n8|WH+Y)I6COP6Nu7YWRYaOiNG0Vb4|1O~-; zowtlPaf)vnrya)=@FDUHQdfe?!NyTx@3DkNpKkLKfJ9HEdfv-cO4W96wK{9?TRXJwu%NM=eWIG7j!)6_+>)0Ss* zYcf{8z!u_)khu|58huZ>(XLJ3?|xVv-Ii>xwdbHIaZF)%A~|HB07(i$w}2<&>nUQQ z;-Mpf?*kroSXwUxQcb+SWs74m7l7Xrt5Qo!7RH&b4?@k zGzJZ%7L{b>vzzzt#y+{f+jtMqaoN4s7dA#6K43nfR?wlUre{UsOMdGdyZqfs(0zXU zCRXbU4rMUc9Yh;wmG?79ruqq;i*tikCKm`3B)>)tS-hWiCL5c(+pA_vq`M+bQCO*> zM!IE5s5B>eIl;i4{i;)7vAT!yYj%@}Y)C32pQKmaMx)>*Z$#5!0yDm+<~{hZqyu&p zGq~Yu`=X@^crXqSI;`Y4PPm2TVFaOvY!s&jOUq!r2sVwNHh!=0aLkV`&y`*&^L>%6 zjh$Mni4G@8@uYt3!0w}_j^IslKy&bJcuZk?MeMF_?>2cvQFB)QCvllX#np{2&Zrh(e1efj##Y6!olp-7G_U1@mWV z9m2(jy|}wI^OW~ydqwlZET0ua0(>4k&B>K!^)tb+W=YR`n z|I#9Qv*^TWGkKc~;g@fJ(KyC|Y)0$Ta1 zM+4stH5=Nz(@R)HT~-%ql!coe5AUt1`ckog_-v(}Sc9pITyT+OCpZ<@>Zezvf!|S= z$E>86`{$GrMirwyNTx$v`eS_McM88uxeT+19KbZw zILmL7p~v9(JXXfSwfG_`EHJxE4>#LQBUtN;&P;CyCfoRu-`!o zR#>;KI>0&vGsr7?e@hdiEILn7z@t+CY6ANTVjeJK31DN6ezXfuf>YL$c*Zc^9f=+2 zjAOe1#gc?(_M!Tp1i&0yRk{`$bJ->~4J)OaeNvMa=xE-{4+Xx7yZZQY1M602j4o=$ zc@`ZPFaf7do}C`K(IDfoiJ1e3@e7-WPmo!K6S@g_QTIAO3!!R&s?vNMFxHijlxv?C5wr9X|$ZeGRn+8MV z{Sk2{rkl(L*pB8z=Xi z7^ar_92o@oDqj-02jZsS$X5Lx2IgYC#}#j>`PN@X+VN_)PL<873VW`rN#p0Pov!5! z-7KoHZV!pcU@ojx1B33DS?w=gG5+ezsXY{%=2o6BJ6pX?Ks5Z!cw{E}7GWX}k-|}o zC-XdIP+Xt%8rx#4KX^IbBw=@l*(D*;k}mr(NN@n3@k)6WTVWOd@J8gTd_G%H(Al&G zkB9p7@%F*1HpqrJxz=gC$UI|}2{1aI)D+KQmF&q&S$Zdwx=x`Q0;8i&cN#c8UESB1 zsX@d*o^YLo=|vnK9j%n%hLFwvNTQi-__;+;FtVv0QhD$#b_-!)z>UvttkdGKM%D-2 zEo){#*3gVe0x9!iP}$$C9f*!-(V)_3T>g%k-6_0!cA)wF0C{P67oY|xt?fUTD72JT zsHzra!aaEXYWoyF(;_;Ny7VP0(n=fQW`3;#-c{Xx-?iJuYPG)D`PkZ^8q>~FJ@sT; z$7c3Zi3gRx-1K$w&{VNF54<_~b(3i2dzz~unR#)(QAlNhc~G9HAcnwQstd%)y;jxJUcL7@6_!4`9sEl&IJZsYl_}&`C2~{}=Xw)WiQJtOT{yOkP_HhPLN#Wf!s^*f z*PABe0&)p-33t`5aCqqthNcPKy)=hIW{zc1R8zyZc;hcG+YISsZ6XeOdv(NXj`^A> z!Y*m$dy;NtA81IA%=eRs+M1XVKl@hCFp`*L+?aC?{c$nLKJP_3;N_w4uI(KV&D&<3 zj5lUZ8M#;W-7VW=$1Y^fa>!AsEB&pA?A$A4K;Sh_7~#rH%~VGa;KY&U>0WoML0wz9 z{w-wpxa}Oj(eca(m@LFN6f~lvWtLOvKishwyFjNfnloQ%JOWRS^5Mi5QKh(Z+22IF z)y-Nnb4J0-0(Ka@#|m{ke!hE!o-$ zRb2b}i)Hn8R3a*F?}bl&J()v={QQD)^p-rp4xx*s&m~?ZuKoV(BG<^7Yr#oFMAjxP zq0z9Hg!JS(+((I_dx7^X48Xw~yncBt-)$skXysd$Ln+3nrNaWz*i*+$ll z0jT1aCb6|$J2CEj*NZOvt)uW8t(Oc*6tTNX4G6b20S>!Et!&yl%@sz>7m&)w@md6; z+YuP53YvV-JjH=wdYKLu8>)zm2o*&l&09v&7~=(7#nGRSxa7%t{Zn%z2`2oEyTo~K zs*bT$=ozcx^BqPP85Sidzpr)0m#N@xa)}h8p;6duy%-gj9th2J(tc1&VZn zMC9)+It&l_t5#33n=Y?DnQC6QG!X`m<72af9N}{SzJlK(sOLm9{~%RSL$|y1vR3~0wLqR#omubuE(_>+{dQ0 z8zN9Hu^s07(PUTeaV8$n0QhXtIaqi`&8>CR!uQxHxiy@mYK@XvK*mwNFO|UaXD6iq z=?jCb5VA$8E!A6T=)Pb>O_Rf38z!TU|9AVBtk{sR?(8I%`LBj#PssqYd6aYzFjuyF z!MX=|`0_Y1>}IT(?AXXM=B40uW;Z{%(zUYrqS=jtc!`JB>2vNP*SzGLZ*vDMR%cow ztdBxeZJ&ydg%35&DBP$dFyb9{7=q*^JZ|KZM{oYw)p7a9yI5@#tp?ulW+y2U!l$*%PLa@H$8Q%HEtEng)Yg z-g{;k>NW?%5lW{=(%{GIcLsmhimN$pZ$G3gVHwh59~D2$-9F|JyIKhtDd#LZ(`X{+ zv5favO@ie+>-7PV0st5Pa2n5{ePy9Qo;ecXW`GcxB082Ws88x++U zCU_DV&m)w5w6I9*vaEJYu#aj-wK_+~Ag^FUg}2>Jkwsy13*om4ya#C+AZr^_TEEOg z>Gd70R`M}x7S1f(x_eLLW`mby8J6+UbI~6LO08RxC3qrBz&T2cnC^@Q|Uz+-a z2-zzB)I3AKJvt`;P}5QDDabQtfy(1VZ_)~Eq>x8bLqU(d`3ShzBDtsht3Nv9;zX*y zGc#IlZ!q*eB+u6fXxWddIk2U;|E|^}m9qRy>5M|3LbozRo9@n{k;4#wwU+IAEw*P9 zJpwx{bUNSlB(x&Uayd1e#&H*+F}L~pC4xI?uXa88j*a^8p5C-Jzg&kyM@=Fn+s-YO zve;O}ftWnn2>nx&DUZa``NZVO_cCfFGIr{%CcN9jjN%V(AMSS9TBWNzCEinCZ8bJ# z*kIERMsluagik_~o1#9G_(MtE zVrt@?Cogr(iN7k2_S^R6P$~FvGJ}a>?G~b*)HkH60U#GgMb-q649RzmVwaBm>@5XI zi_BO-LGa@FES7pE#d2nox{C=KnwaqA(#&>X0u(CL_>Fv8oX$P2K}k#CsmR302Y%Z0 z>Sh4@Io6x%)WfTcLTZyADddNDfXh-#2ZEwWVl6Y7+ zp_X~pcs}P}CuYGI@76dy#9Cd|08p{wmkZ+BZI!lpUH6$RB%`#E0qoV@m&qKXXcGzL zw`(fdaHDm4pZmcWYvPO<6 zf;wDyYx-?O2+hvtDuUSvy-dr)81C|$F)fmo!IUYExbB0MnaVnT!?CG+nSN)||_^H~Y(Y*_5RQ_dV?p}>j6BSN4 zE#?iU)D)Y?o0+l?sJ5t>{xk{GS%!|M`|H7ayqoP_T3PQz-i^9PZ+vzbA`znU0=PxP z;_lNulZhwVbj~+*Sw9e&zsr%W61eMHlE=(gv?XbSym_YwS0~FlnVLE+s7_G*?1++t z^Q$xi)knYxm@Q6z8HK>1L7dhDm;rkv+cPE%rn2_~!V(3Jhs@ydpOKT#R87=89d5Vq zc-=`Q*7m(2Sc3R6L6t?&Jw9*#*uI zv2!dND>{3gi`gxuPD0|pugKzA9@(63eRT^v*0(*6nz`ejnPo1(D9=hsz8HA$f`(J; zE?cDMU^L&O@E?=sP7iKDAbklikm&)3L4M^czx3Xu&nht;-9cfs!ICjYiJ5t>Ou&Q> z_@xq9a&HYjTXAk^MSu$oq*_Gb7GuXRMpYPyX})d*oy?F18-LUxdKO(YrZDwvo|I+u zaZ|SXLC!b?3P#$&EhHQ)K&rUaG{su}Xx(d7hG=Lw;(WpOB;oCN;$J6=X=#*w^||n^o+l>E+b?#0N$v;_^V_%H>`!;naJqzZJxWN`+*&7+J)7AB&3X8^7aXAaJ@&{rgp1mQIAe7)!g!D1TX0M1&D7Lk? z&1L1A(%<8UR7W@QFkx(IuAw>#kIp~4D;c~~ctI!gP*!bdAY90vtrvSZ51#F^bU20F zD1E?EP63H;g{DU`G@u>lr@EYMDk~krxOtzQjQFMON51_sw~!z6+BeH>$zu$Q^(9w- z@hx?|ajsZU7?uLssA9!h9B6qxMkLBvbs*ew9+sf86=_&qK($12i)NB6J+_U?207N^ z7azVDWuVltpcS4FUALYUzg%QTzO)nBPDo*$zRt^7J@DZOFf#qT)GM+rzC)|Wa;jwG9i7M%mZzfk)=YuRDg~U9dEq+SAcS3_mD@LrBdNgIb zEqd;zui-||Uj;5roXLGg>>H_goxW@Ulle-#nc1#e#!+vwt#-6(rWTwvX;&0{U@|oL=dL1ZYDIwuqYM{ERw-d@T04RGj!44fET4DK!@X6mT0|` zx0ls9hn{-Qbju&JvB*tYzg$deB~+hB19OPKeD8Lp6Bse)j2OqU3DD(nP4c zo3)uiqC>82r2|?pfrf@_EGZM51vi&%hH9n_%4XxH2d|7#Y2Ab^1cXHUSu7cu`t>zy z=-7%Yk$PICyiZzTrSqeQMcZ2wHhcv1HrNM6xUhkaU zo3MgFqUUqZ3l98X=$;rKqp~-b(Ak_Eo-lnTi5fSH{Mc2&`ektdc4i4Z1bD;5VmVs6 zmky3C)_rT7p>q?m(FIY;Zts{&+*lg{=81{N=Pfgy;d2apvZ!UBz0%_f2b}Q)M_B|L zV^M%Wi=l;e-?@r6xcCJF**d=st!^e8C`0sep(q#<3JW$hYxDQ5gs8N8wjKq z)okhXPyRf5Y2%>j0PeyTxMBYJZM#aFF`f~ej7#K&-pbaaA~_mqtKM2*e3t-M_2c44 z+bZ$|`td#|jNr<(4sa9|-ue=q|BJ>GXy;dYU{*lR>+#dMjdGQpqTj z_^Y=P4wj7m4Dy4@p!m1=US2M#9>j?DuMBgtk74F3XIobBYN6{(&z>KZ)UKrB18(cVJtz5<&IZpPQkkFq7)j)<(713@l9HLo6M(bJyL`XX2Gu4GfS4XkPj^=k7U(CE57>eik ze?*;yTU6f{?okv(5R^thR0O3PL`p$QN@9qCp}V_72@!@65N2qR?rs=52LuL&7`nT= z@8SEq_ql%n&lyhaz4p7_^?7A(RX}b{`wY7hG^&8NA))`XvKHzpq}Z>&9~t`Pc?`3< zyjCf(I1LjvwJe8+>Qz6BQH7PM{P|mvs-knAdCxoV9FCPm@q|~g{I`-p)@?#1j@~oe zj|mmk6KJ_aMm$lM1{K`ck+vjQuxW{k6p) zE**yCOi;=P4&PV9OJ5n)6J>Hfa&cMrkkK*O;Ni9f-^ze*M@-Yo!tKLQxz0mElg)7IdTK5p7j%6nd=#0^hVTc-H5ecPONr`BL^bW)@96;F?cV{ zd}6z6fKOXf*wBwTuaNT`)jIQyO`-L*mo^)nmBlqyIC*@KY)FV58G?TMDv-%e=M5;(ovYzd2P0!J zi=f634HUkzGZ{}a zzSNbY^3Q=QuivK~8TeItX+yv_(PO1+Al3VXAsHa{T-XZZ4%>G6y|X*aX{mcLt^)&X z9@c+`6$h@`gNS3!8f3N>#&QiR4$ZZN>n;i^489eA=LdFa>nYrO*pRRWb(}uiHpT_M zVRfYR ztT;AHSzYm+iY9T)Gd#IG#wXY>8~M$&8_tO7VOnoNAGTE4Hr549}1zaroE5l zgnx+{^Hu5#=-z^)ZYHK<8&>4n2JE~8x+kqyE^7zyU3)UjGwKZ)uHSwpC>7Fhpc+;cL-qLkKG?c7vG-===Q;5|r8;wZ zSH&#IR|KMAt0dRk%0-eEEH)gjZGj6smI!g~i~p+OX{f&`viszpiFk1yml z;weR!$QJ4MpoGb_$Jz(jHZRN&g}ihPAufi(^y^hyo+V1(7G_^Ty2oxvZTe7uOL{;& z2tKf#5RY{-Fi~{M5#l|WnqQ}QTPF7EAS#voe9pfcm;8YcdBS24XPU(+nxv#1rbq=_ z8FL_{86Kw}{>-?(@f?hgsn6Xaa`A2)aezK8kKHTFXE@%Lt5tG;nAsJlYm~OG*$Y{a zKqZl#qvBV%J7%jq(z?D$9r}>_Wzy7`KlWMB`(Ul5d!BE{r?Go>lHw=Zbm-iP!%^+_ zAARcDl?3Y>gmSl~BGG~F^>*-Bhq`D3=F+~g6t`?{3;ZItqO;#2ifImm27nda7MDt1 zDvX-Y;(&?Ri&&!*D;75Ai=x=EiMdEeT+9-A$U|*@dar@PZZr?KzN??HZQ04L4(Ozd z-1u=p0(z0QaO&Qx?LKWhP#&}lKcC-uU4{XhUw~;~^Gs|0cg3I0>I3O6q3jLJlpzJ9 zm=OwP4o=~%?QW+Xu)U&*bMDaWcztfTj+@RjE(7A&k)tJK(%7EJXZAxG7J?QXwmb+V zNCwSCJEuvBI7Oez-c#1JXA@7Z@SK{0-TI*`sE5_?hSeI)Q-ojjpYAKlKwO(a)mJF5 zJihO8>yr^ddmTZX;|Lm?0z4i0a}|YJlOncfQ7LO>wMj${c_ZrbnHCH=xuKE=a>CR3 zPedKHx%`4ss*KlTV-?Gpe&!ymbD?@7S-WzH^&)EF{lEPZM>_l3H`}{dP)>TU#1HoS zG`uq#+z;Mn2-vUB=jr|vyB4>S7Q@0~9C@Qr`^HtQp|U9*A`>4YYL&mNY*ZFdql@VB zMYdT5i)&k2m;izdLFMrWo>)N^tSohNF8;GqntCyAer!~={@=;aAgqRD_KKlSv=JU@|?E2Z?N zBPbJt_PF)83m@wHYqC#oT%j7 zCHP-?M&s?%(r|dlD~09Tz)Sh!@)9<4|A^itDkcQ3WF^p;M=?_8tT6c`%!(OCspQKur8 z1&Sy_GORy*!=*JZv>7W73`)SUhyjR2?y@pB2%lO}2P^Tc>F_@fk~?kAzhJ7*i+7#q zdYk$C`uES`tOHD7GAqX7^CiAY_3p!_OfQY!SfVd zgV}kB&U7m3mF>Gmo7{f!fJFa0a!BmQ(~nV9`v=Q-m=z~v zaz${(m54`$L#Xezg=(I|-UIP4;RD<76jMC+jz~RsvR5Vp*oux&*gW(4daLqc!YCNbo{3X?ztfqIr?(&K*u+WySF-zA zak|N`^nG_%qXUNv#=@k|$!)MGf9~$rn(Gq9e20e<8HCdF?%sa&&x=7tl$TBB8kLId z3tZ+H7j@N_!AN_Pc?Wc0m8cqZ~2?R%Q6&EJmX zvT1tLo>bh1X2u;hZ#>VD%+-Djc7&FtAbJk7ktah6jq-l795NfTNQ7Av^U4*o`;nr3GhD)|mvd$Y7t+BgRe)J-(FmR{EnPCOQHkfbpsDwf?6>l6GE5`7m_?xQ`k#AB}W5)cK&XWx2DTEuaksF^9(Zc zzvRg^mFL4{Nbsi-qhvz-g;H_U=5@e#PV~88vSi#l+@OYAni5_jkw#1CWVavRwUM8S z?uUI2;O+CwUi+SyL8pR7Qn0hweZ=~u|#g>@UQQKAB4U(f`LYNcQLjiFv+$g{um&~;p|)^ z+3jC2{h-G2@Qn_$qBU8-5`ulwXsMhPL5Qe~JUKT%Klu^O0r8k`^_Lf{zjRe+ zOtQ#Fr$nF;Yjcxn=Ro%ex%W~Pf)mQ zSC^Yc{L-kN3TdNSnmD84cMI}lq>x;X;)Q7cudm^>1HH&Z;ejkXlTmhirFyk##|4hl z;{V`21;qk*1fQV%!&^>Xr6XJ%8h*z*LJ#>=bYBY4T45qOVB(MErv^Ze&3MH^uef#@t{}0w|ed723Shl zXEt-q*f&WA5WIreM_5?b!w0zO%0r#A9*P&TlX<$yTON$sWRqeFNB0LR^K^gl=lqLo zE19eUL;C@D^J6ScjIucFPW4p8#|XVNhT&dpMTyvo)%UNSB#j=QV+Tis4S#x3I5`wr zQ|x)J?gWJ(uYz~XV#q}n&$DuH0G~s;b2kE-lBhNbW7zebcMW(mGR63cKycLH}EurliY~K?}Y7O;q)P+M3AjelhKUO(Os9k6=}+X+Jz@3!j(6p$d>tcV|fJj!rF$C8cUy4;jCmYyoUa2JD7`# z!gY4Rp4#h-)!NzVdU*S=Jt&%f_PJFy;E=&*IY!5DuQjD_G;CJyc%dR+j)4o}(7>Cg zaQxEzkAlU}88B&HPB(1krMDRC9JeifHvht1Wph)rtzHz&eZq;xb`7?f!^JBo(oL?` zBR39SxasiW7H0A;y?k#vq_(n^vlCEZGL|M+c2$_HS}vA}pA~)RN@T}gNzMZZtxeI1 znDFHwo!F6!{2qfVZp#hkimZsw&|0F`rGioQ$;?xVGvA&I;E7kR`5PxRGZg(xXmDj+ z&QuA`q@19XHBcakkw+lpU6KI`*ZHa&^?5?^^G3gi0Ez2~9>+ly$?Me12KoFw%wr}w zC&QGu-}R>!mdxas2-(Be=InHqL#+z&St*i-*QB}9UsUA#-dq)I6rK(>~>TeCix?e2%cI;M9N}<40P~Bx|E&oKosT2!q zxD9cuV8`J=@jmzZBR|d-d&g!S)Dt%#DEzpF+-Su%{_9T81T_(@pj9g5wEGX*H_BXD z>MJ!c$9HIMfWiHQ9q?4!{sn)f2gGIsht+Ysv1#(*tatqJ%qN>i^prMgb4AOT`^DYp z?{rTM$9i3-4Y%g{tJ&%T*o|vewq{r0kZd7SY&Zi&vl{5wUit$pYr7UbCi>NP6bV#| z72MfV16kRJaYP?0;{8;*ni*&o**jFMtf!XED&Q4=sU>1pfVOd>%}Q}bjN@e4duqmr zKb%?bYNJeF)vdSu9*r}?e?#KM7}QJ6=E-Uytkmxu;k;k2J);_KJQvNm$q>YdIVRnW z?dqrC(GH!I@$;nbEK^|=c)+sK3@0`J0dtuCTq5d|yGVvA$aGfS|Bx%ib~80qL{7w1 z^$uEHchK3yz>(~3{{|cOIUWG1Hm^;Z*ln|Mal6ooR%ck6t@L~aT@#>o&o>ZAWQfQATUAY7Z2&N{*UG+@QVq=+z;rZ1PX?$ib8iB#Wqem_Xuf{$&n=tY zLXS552D{#VDBGOLHmT^V#mXwupesw;A}M+}@jWq8*m*IHKKnl(6IXMxrcb^z6PsU* zpva}F=cuzG8aj+7mtSBdeH-*jp+inIMTC`Nbu;5Jr7Tw-PMB&!WZqju0RIW>o_u+Q1O^!)5pImIO(T<=d zasvgJA&qWzXk^wFmb5tNbVW=w^qXcmraD0wH9?d-X4F(lBKkfhy#i{X*m}$}-<{I; zvHC%o_3)+nwxUji%)(Xrdj``vCH_{t{pj+@^6EQ>kpL z2|4s*^eloJxkb^bM|~F?vnwPN_X*L%<<(}R>*(A4geH#4K^f7z^iId4TU1@+NkNw( zutKxjjE198q8=8%brB<~n%{M zus4LMK)FseM=I%`a|$$TU|EOQ(YYSltU@L^FC8v_%e$|IKcO^eGRAgD^PA&o1^lT= zThT=S`T}X(=UOT22lOd$mFmb%Y^hD!C@UxPp^JlA1+jJ8%XZvQa8Kb09n+4cCD1Ax z`Oz1|oMpkK&N@tv+nX(^t*rXu?QEY%_v!1}R>mJ6cBUM0pnybW$`0k1UdV1cTRc{X zfT$>hbzZ`cfU!Z&dXsuv5gLHfwXDFsuF|ckRtnddM(bpGJf`M7H-bN9+at8satJ41gI zAiAZe@sF(-54H+Z;CS18UgqJRH;g=!v}gfN_;^&$5S8O|Yz`ItCAD|Rm6cZV!p%ea zsfb5xLrm_w)3M|$bviLOTLDFYJctsP;pNqSWTXQZ-U?6zTgBCT!?bj7tX6aj`;|40 zqa!>87+0D0sl)Lb`d?n^6h`M6g#KpK=sX)D?4V63vg6g2s$*7NxL$r7xA5`Wd6RKg zPPyMuJW8SF&w5?8EH^NsOdWre2ZK|8Fqz~G55MTOgv~sL`IC<+127KT;f!;RWg8c< zUtgaY$v*=WJm#KBf67W3U#dXHKc)+4=Kam{u-S4B3 z!Qw?lLPWaFV+rMO|d>M(?XlZmkusNP9*j{jP*s2(^~5*RK7DGaIGH9i{t-D3QRQ$cG&MW^K`kY^oavO$?; z?%jBqM-lseu48HYV^K8MI)=q>!;hOI<;Uw ze5f-jr`-45$*)Q@xS(>>rWx+Q=AL8SA|;<0$UZi23hkz>1zOH0jb8_PE6P8GT@P?+ zJR^~S9~Si%(-ltf4|}dHoaMpl`x;%tPjjvvdIqGJ5(4A1$TSHIzAVpqlHlf_g*ydF9TDf$7=VNQ3rqZ9VMY?U!Ow51t%-V4g02gKaw2x{?tI)UIza=1_k1 zDgHqq`Jq`j>OLjaue3n+kSDt2+qy%_;XT@##|p|ae-(~HEfn!T{oM61_D0KE%aO9b z@CvoikSl4xDMX1pl9JFLX2s4nm|i#Bcb&R|d1G6oO%#yqh2>i0*-mupU3o^GPSYV2 zL-}emvmt2KSHkP@N5rXDjRM)sCg~*$!~k({A)o73v%%9!i)W0%IIH%At?{!4;$m~D zqgsS{3~|BHO`50&I5(8^Mx)j{0A!wPc3zHiZOS0I(Fb#e)eJJv)e^77>LI}L(r(Vs ze!nv)-%)!gpJJQ;+dxcBkqGzMSA!&UGMa&k$JTc$Ppc7GRLq7q8hWpp;S61Pzu?p|!iT-tW`{yQ0e%V zWnn=6`u7gmT2=z%i{4#!KrP9uZj65(zKVn=i~=8P%@+!deeN9)$21=!WOZpcF{z_{ zEZmX=m6N5-r9dqL@e(tgp4=_U8e-feh|zyTVo0C=Y7%$Xu@zG)&Im?HN0akbhRY1?-z|xdJDaM6W82nPU*! zj-i5hb9d+vuDO+{BP|E2@ezC9O50s#xsm>WV~o#iY)bKb113?OysmM^eKg2WI*;`4 zXWNQ-sn)pUGF2m!KTXdl?v?)4#87R_Sztq#>ZCe~JfX6>P(_D_&%3D+URk&i(yoDPp35MQl0iNVPAjV+Z9`wxr$@EJBf~(oCodCk6W;%b^ z_Mi~}3g2bcGloeqIy-oyk+jK1{G;!ST-;wTy=#8R3M$Z)Wozn9dYNK&5Oo+G`PXix zjWoX-A_C(L--=-AWu)1$13D&f&7o)s_|aV5XiisG8n%@0mS52o9RNY)2cGfrM=u-4 zc9+%4Kv>{DyDtPcOpZ`%68Q$MMEFFu^JOw6NgEN-~%Xyn21{P@G=Q{vbr}&KQyZho3vzT9tFks zBOG=U^cUemz*1>iNIGj}tCR(SM9J@@W<-m}m53KY%8grt7T4!*!o##O?~a7yL~1uI zRi-rgx(VE5Oeq_T4>?3W$>s=!Xk}z=0!=Kt{1V1NhvM4t->fqy2|90aMEh$fi~`6{ z--`T3bBMj>n7OtyS@ydU@@G@2EeDA0K(DszE>*(_$+k3}ysUm7Ta^gWp}_$ho5Sa) z0j3@68-tDW#}w%Kz@b6but>PtBIAj7W1qkSC36%+7eO_vK`x5ds*Hz(~)K) z0HIlEQT>=$dN_FO`xmz@VkK2Rk#(6O5-Y`?F{Dq6C-{hJ-O`kNw~@d(L#}Whfv%Zg zEAG3c_gL3{LE3nZd^l-z`+ao_#>4L}_#g5e{tk1CSfMY>1LF~F-7Jcr%Kp=zXz(jK zTPmD*bOIk!=qFVkh`OGi<7cbqUyx(MZ2;QT#7+S$>IsBc?-=D!uDdnHN>Dd&-60l2%w%ZhE4KY5@A$6-`U%>s;G}rYVndt!@@GdE#gEIib8IIX z9dbRjZUrD!m%Wl4B4h8K@A84T9bBO+DkUlSi3=wcH9H@^8=Lb~T`X7kK<&;!TIajD zw(9{#cMHq65W_61KfBAzdV1Ct`$nz;h1{+gL8FEsG)jj?|8o$1X*|%TveKz9Wf_3f zbZ9g_MOb$vB_5Y0&zUSqP?()l_n{8-xVyHAfrj_zJQV@_Iufq6Iq3Y=py+ zCT!~;eO=Z=;0G#_{;a=D}>tMTL3?? zU{%w1(YPxf1SLnatUsTg4Mg%A?Jmk@AJ!lPbd z>wHxg36o150;#ZA?IsCM&btRtLY?JVh$T_-ze@kdOQ3g9SYc*sV@R}_0OUtdGg}u(BHV*0*h}K9@(j$ zP(WcJOdWLo7x8B70$J*C3dpLL`YjH?OxyaQ^Rce z(9&gNBjXzD{aY-Yyzl_Bt!PX?_h&(GhggnSn(9qo*n`de7NlumXJ^%e)*l@BCrIV` zzmtstAe@);m+otb3une_(qKOU7tUAGOjgDf1SX+nu!;tqB+d_aF&G2`@6;QAf07;0 z_kw80MuQ^?h1N1RP1|f>+wFZnitpuV{{YrF00Q2#^Z1E(TsL1W|Jxb_6XbJ+&~`RJ z3TtcL=GF)Norj0^-xc;IAVn>);%NXi75egl}ajefF^w12RI8mBxpmjdwb)HQ-w{I4o| zsMx5p?EQ-|*+bno4|qh-EKCJzYzLI8GfIeL9|0t~`20m{+$)wmUE5vfrK9|l%WWX{ zV*J~5u7~aQqT)qYH#0u9=GYyMRkEmV&aPzO8TF5vhm)Uh$brMqH?dcfiGG^jm@>hs zQOb+trfAR>Iue9V$&7HGiaJ0dqU|2gB#Aiov9E;BG)K-9eUO3- zSr^)A4FFlXHQMQ&*U%oC=zGX)@O?@WxqG~0&6Klt@~sN+uehpJ*4(-I(RdUu$N}8- zz)n`|_&WzQJCpl)hhAJ76F88p{}i?Lm-IJ0W!P|y67zF8@k=bH3i&{wj!L~9Kon`X za@kFf9XEFXaonYW0C7i0vHni|wNhBa0^J;(rcy0F37@oijt`eG#^8 zjYW!Iiys`y)o2hG`V4IE6V+CUpGU=yNU;utg^aNgd9mc_{TMO?Aj(7h;vkOAK1bQ@ z7C@-=p-caLV0K$+@itC8-Z?>bJ`4cNVeaxk^m)gX2onislT2-B6h5HxHj*Iilwe$o$0*z?b&>xb(Yey31nDe!tSTxKPh5t~%saK*JED*w$Ay_>jKKlN=i zKNuH+Ct_<@xn+1UQHiMo*u3?AEcN=LW-xpk%Jdx%z9ECKa5_ay)1~w6?W>jIxj%Bvp#UEU%mDIOY@Du`b$1C~VsG@H?Xkzf4! zrx9^DjS(QEIZd)~USD23ZE|k>wiA>R*A8J*8szcr&W;SJMEW0T-RZyh>-X+u4gSj4 z@g85u>yyefp}a`v|B{Jxsd;KJco~do)oJ+@IvFUrp8Gf1pVQPeQ@3`&S421Ey+az5 zBwu$Y;d&WO0tU_6jfLpNO8Z!uzalsDTLp%P%^H?Y4F9fc`pVYI3B$$Ws@glONSem# zVj~{{!DDX$u^fo3@I9e_O{ZBxm%)x~wm4+ycMhR4eykY!T}seWt^dinr)h1wx*?-a zDtqCjEkE#Q|K%5H>YX(Ut;Mq+d}#SGQlNsDaolzi&&`3YUQe!%{Ro0FXX789sDIbY z%f0e~N<1D4c_LH|44Wv9bLTRjC=|7^|7o-x+_eJn#kXx_(}xWi3H(FMTMM$-y_SF( zpKl7C4%|ei3{wdjiH-NIy6RhegIDBs~Os z`tLQS9S;)2u8xEr=`eoE^Q>L1|7_c!j8hb*?wCQ`gjd)WDqiHB>@8JfJCx$Q5<5A| z!qK>Ha36*@2Q2rh3s=LiV}x01W(Fk|=P_82x6=nsT7cY1l)r8Y*Zx^@X$D34TOFfG zP||lxtwo{PL%38Wf%lARWM;hOZsGFKHr*P3m?$!x4=`6I$&3|rW> zHvfPr(8m8JLv?(2jHHW&{pLZg+DFXwzx=E~E<0uTvDwr2D0ddPUt9mRH#>ixknjS8 z^!qo(L0gNyQF+1jJh;3a6I+s3ut_6N#;ofIEhPou?{Vsw5CChc=cyzqREoEBC++Gi zHPP)!_nN+eMyeP-NH68lHIyH4@ivhoLGgw_Z!~U`8_re^D@YPQo{ahYO^JdkHF56U z%mXy*0(6z=-so|%Kc9DO`<^LT7`bXCcX|8H+Ns+!feKdYocMn;PWR>M=?_safGnTP zJZsB7$B*4O>XU+$O8`Nf{OzYmI*QI3zjTT?zwM+aMv9r7ooZ<1dVxj4PD)QK)fe5| zAeM8abU*4~?D-}1m)Ca6@3BG}xwZJIn^I|jk;UBrP0GQ1CKc82| zuIG8n92b7YN*nJ%@$iZGy2*Xm`XWXUZQzAX zoAD@3GAHZGJiAKSE{A&m+BXs^z|W3dCMnwJP+L*2uW2w=VJQ_p_)F!Mb~F2>KC4cK zK&w@TqKS3-w0pV9BRop)Vg~rURF@_rLcEuA(y1eYpEzWoCZqDhxXaaCj=BqW+CD%`;r#+Zl*W5}DG?PuBDF`IS+RU4`>0trw zZH%F;0b1Pt;qiIl_6A$yCS@K}oYhin<794gBS8BAUn8a79{IEl=KT^mQnYcI2TNZe zzeEWpn^k3e?10tqnqUDZJC74dHy|V9dXv|6SI_mkoJjyh%WsG8P<-7PPx*^hYj4M- zVdB)mlgpwInSC0$^Was8Thg?zhYQ*{_}_YO|T^#>$vyIYRY+-8X`2_a+{b_Rkkb0rgH{p z6(g<%5U!W07b>C4>B*`mPnOB|Lkv~diL-tNduLWhcPu^XjO^}?>2{+BRVSSx0Uleu zFQ~ELut8w}r0UJao>KJe3y`Mu$uRXn_1RaEl#6E~FNcQ7XkZ!j_0BiZ1B*}66WyDp`|tn1?Sb=&JlbM4 zfJ6GX>rmZ}95i26H9jwv+^GJ^J)z24Rh&MxtZRDp@6YV*Pk!R-;N18ch@FZE_c-am zv#TD`JdN(~sW3wQAWTF48J}DBowY4sbGS_z%+zm#sq(wmN?z@~4j*na`m-QTzIZDm z%pt`o&#l)tkPrrUn~X+r|RgZ?8?&LF_5 z@r_BX&~+u_Ve%IW%@Z4!h^L-HAzvSuFtK2h=aU0GW0Y zf`+E-*dj6<`k+6F^j?bvc;lL|1E4UGSnqy~W4jjwjKj775{yhPY5wo|$X=xoyH4$~ z5D*)K9-CrpKE68{!ktSqRaxkKw=XwDSZ$Yro{)Qt&Zk7W;v$kCN752**rr#)uLazJ ziW!t><;3ldj1lJPvCB3$sAZseN(@5vCInkpq&i`Mw>zawh(r$MZwVqKsk7EUKl#U0 zzLBTfr}9{r00|DFjhPzIP%$n8+*f2rhx8lxzD&D71n@gY2T z?_Yji`fm<~993C8Ac(&D#F}N9*$;m%4%<8carljb8b@vi3pKj_-U}JlbwoqCwDZ-0 z___MZ!aUfM6jPHW0JP?M7i-wuo|h+S5k4^_ewtzKVqheHUIosIeRWVSWW~ilH)<%w zu5gfqr_aOu;q2iap5B>_)ys=Oc=ClMjGqX{!X?$Iu7f`l+in6pS;-CflQeyeR)1?n zX>Td+s0hm@k{i`o_yd=^uwemlj8X9$1D|8lUECd<*T&}^bmflwe8g`1b-9cWT#eF| zbMe9*t^nlRBHfD7U|LGaPWX2}`|5lhIqsgYJ|K-ZAs+%3r8JKBFxj?DH_7KZ00Y+q z{^9D{JPIcaE}LzqT#{mu>EaELeXIW!;I`mN=+vdS6)~g~(PY&<47khV(?2k`;(5c& z^)}nVA%GcHn3#LQCPV#cjz9Pvpd|k%p?+h^GQ_#L`IBrZ%lNx^Zn4p{KC2p&i4OSG z*ZxoWIY>$f%5BbE?)6}@>`KbX@h&5p(g7TAa5=FP8>VkGY+g1}tWcXWTFey`sB9 zu5F8)0KXg%Ru@@mrpI)lTuS{^@%L>F+T^uCN^}+cR^2#42-<;1Jiw&(q_CLey0rkac;AI^Y$u$9pXj)zfcDiqg>@EfM2N zN!tXm#hc#;EGMSe$uqv;EigljoBJ$9-jZ}`)II{S*Jrx;n4(tyomUyMiD~5J&Fp^{ zk&?&X4M%Spt5klqP*_8~jTC+>=a!`50Yos;&o^BR`+=QjU)}rB?|p+`cH3?tVt;@b z1M;kmvMPK1*<*avm~1*+SHU0-8GN;+9RrTCZPQPW;cxOTk_a@n!4DNF^K>pu*{i4$ zWe|mM_+=*KZqu$?{Gvz(iT*zP?ETr_TMVZ9mGe3*4<+V4)IFp}>NC6OjCp`%wnE?Z z5*Kk@pXsz-El+Doa1V>q6`ard&Kx3UEJpgTC(yxw7`S-X@oNera+5t%4UJ+#rxp_p zd=;!JtFj2o?A}Zu0Iem_wqBbt%qxW;{bFO`ej77JaJZj(y`6XWQ^n2~>N zY}PrWs$Au!a}~*tf7NkI=;&K9Xx{JikK&YbFJauwam8p7ejB<3USSK9mO3`tZDHQ9 z4effn+L!eu(kB(q>S~zlL-OrWo|WONd&FsSbQYz5&Zw23Gy8Uu12<;(zU2a;XoxP2 z>i5rCbaDW$Ul@yksv#wseF5XK)+@n%?;t9pf@~8CoQwP`o;}F>N5pc*6FY%cZf<@v zL~dHw{eTv&NR9j+UrD$1HjDUl4p1$oSVb(7Q#GpI)IVKGj&H%`a23-($b;m4r~7IM zYkdT{$SP9U^;|gAKsTJmFx#EG0cs-L8%Qht1|%!aQt`pArIZStt5nwSV^Nyf^bcva z`HqVKQLv>&gs<$^nrS4lvNhsqi^Ly2xpv^C~a7AE!ou< z{`F9nU#g$>{K5?MtMO!K5{0eNqwd!iIiW8FsfdG1Gp-KL%t#%6C6Y+c)CJbS5lq&`C7$V^&tuJ=$0b_{l(I2@oo_pC;%9VddGKj-`bMq=gLPKsfxCYMiD59#b5_(lR z9%IQr&=@Ma^|}=hsFz%FEOk(I0erWG9o}auV{ZnqzLi#i*O{ouFTanm+w0I|KO`JG zO>Q=^_h$IXRmj?2#r9A6{?nkjrq~I?J0OAPKl^t$f0g=JE1sm#1|pw+bQHC6w{}DcW;?c^%`Hs z1bc|yT#dy^IQ{I6$!*%$EPdtE8Una7t-GX*&5{fMN1>`Ax=W#*-TT>5ay~+jDS?)S z%0qYxWi=IH;FSbVwu{fqz#x^wj$j!;!LO=XLllXs*Jfy2J2j20`A;`ds{{@1R6rh9 zOP_pQM`_%Awe6qn;)Z1{!-a+^eGDX*a7A+uc4mPoj^;B5G@F3;uGq0(9+IPu=<+$g z-*bQ1jy;1l>2}ZEFP8TQvIM)%pD?9B4TQ;=m=K(E5Z4eyCZ;Vi%SasyE}q6q%?Y9g zm|<^ra4V|xEKhfLsDpnMj<}K~LCCe8%TG@pU8EO<=gMm;6G#y7j#SC$_^JskepJ{$ zPQR60A{oeO*v^+k?6bVbqG?_O!fY>n_w;^x%$FtPg?a!vQ`YQpF+O6l(JxCjN`pR1eNT;#5 zXw7OmWDQKS6IFlBcc<)7vbd&hh5bp5D;B;j_3~0m0;-U48*6Q8%Yi~*y>NYYy_T~> zSNH2SPgi6yz zv>uXc_pMui{G@TBMCqLu-_tE2`GGvRwxW(*y5*-c20nY?(C2R__=$q2mp>Ge9N5uC z5<-Z>s6-govKcPTfDO#Ed&4xOCp2HT#%e?t7I;N(H3|}^5q4ezfI+0h%+w#uDvDN3 zcv+v6aigcJd_<<`Z4fV{IE`7(zm8rfjyQe+n_?e0?XYZjTx8~nM?tw1T;viq4JlsP zv@U2v$;S3pJ1i-E_R3$|)&4n{Gt-KBzzJ^MirYQXyT)O+Ua@xH5^(oOH{p$|swvKT zXQ^Ceh4rn+NZv(9Dp06*%y-x)m* zGuIPyz_h{)(VrLhc0~R)?hdv(E}aL6Tb~_#P8>)+x>_4Slh9Y{8Di&r!hx~>qDA$! zkd}#XF;70~5+SE}R2xcTq0I%07|cvP_&)nR-*n#zq9Y6RU)L?$NbXZUq3yXkSc>5Y zZP@&K?IgRL3wwa|qgSK4!LMb&)?rp?1ADP1S@nsS^mFl5wQJ%$gD_bqU2_f`EciRy zG%p!CdjV4lN*$~P(W^S&Nkpc2YVE^tYNF{CQGKyZQ{>aCupd!g>^p<yLuEIZ0xRb=7`$%O6X0R-r04l_x`1^NozZ4yzAuJov$Qk(k!)x;s7m2 zoR5;Gk}5+J?AxnU3Y}p#aTX%SI_(MFHl+FH7jlhgdlOKowh% zvywjVC5kGiO5sU{&upfR74QdCSey=53u9Z<5&5I5CeHn}K@oSES-vH7fz#hf*xj|N zcIV`FcwPSL)?9)*DwhT141iL2T6u_d7=_^AJs{8WN8n z(Ugc98^uC1vkzXE+|VA{TwjGE+M>-1*UKo!nVBwOy4P<}1y)eYQ?{w^G!9Me+mUdF z`l32(4QZIysoa+3dVvpn&G)tP6Av!xf5Stwd{p+@rMeufx0u>z6BKY3@hZS=J>GTn z(|HNyN_4Z%hr-3qb$)0a$nK*uVfK|4ar~rBXa9>$Q~s7vkey&wX&Er8Xd`aL6~nB% z@NB+TKuP%9Rm)p64u{n2O{^hepYJ{v_HgY{&D36i*z1);y?09LvoBbW6nU-kbV5Vp zQo!&lJ_x1+jEx2Vxbp~c=XoynsjpY+46@Xi1k9WfZd?0HW+HG8Dy9FcSLx&59XO(W zW(BSEcHNMiwLuVib{Yr#Rk;)F*~~A?T!qHD(f`V{Kb}&=c>a^A9B~18C0uUglTBHZ zr|-D7TFh5H1W>FkFBoqI>-7vf57y@}p+451z*Uy&k!}@r@6ve=&Hp{*JPGpYqwQ9G zaTOz8rC|4en0m{ww%R6KlzJ%?il$H;g1b8{uBEsJcXx`H7K#KZ8r-G0yB2qMcXtUA zLQdNE+xzVGBUj`{*324zX6`W*#CWNFU`r{5jPbccFrCrpH_`Mu+VSf^W6juf>rL-# zgJl$>zno)#1|t_ZC~Zonc`6MziCEg)W?ewbIFVuC9)td}6SR~4a$Wz|9O2MyN_Xo1 zfx4=i7lRt7-L^7X#jnBlbZ(KCt{WbCg}h%-QCOo&1rdAjzfl;*{g83OQt_)M3lHTU zr}}CwTofH-L{#wE_T(3qwq^~QwlkDtE!9q`I)1v8L+!w|EGGb-AYWQC*TVjsIkp8E zhxEdiT9oiGA7#iFcOa1QS(WV#)$gsp3vU&*xMxs%1A>--VR0DGFspT&<z zZ+N}E%;q)_xnWs|Jhh2&xAQ=5?Q==s7|=~-tHnHaT#Q|z2Lz4fDjra{gR62t4PZ8p zbG9(+b8`8k3LLZgt$mhdocv471-u7jg75Al+XeSH06zIf%%)M=*XnovY2NSjrs(bg zz-itkDX%r1g&cZrjygouSEj~6WP^4AyU66Ie<|otO@$N>-^ne9{rVZ??@mC_@2_ge z%6}-D@Pm$>hFZ9>Lk;KNr>1tQ1(oBL^m0F)coq@A^#HFjWK(0{PRmcfPTcCH!<8Q_ zB1p{7zc5%GUS|=iaU}N65rdLP&~;Ut&A>m}3&zk=ooR8Txp7^t`mO0ghOPx>llW$o z6cLa#Lp9jh}o&IsGc2tk5h+l=gs2DH4ro(05z8OF`YQ+Yw{Ue~Y9` zSqbnP!2zr~9Y8120nk=?g<+z7v%Qp>_^>WyJ}9q2o4RU^tWtx$%Em2=YF$3b0ee-( zHnel|4#LjV=DF=-d_)9<=r8*_{(LM_HN;FB*bf)wM#lCPN@hfWWfK}YS{a(3?|{ta zh5K5$oCP$Bg)ZYx&uc8-=vlQ1)9+v+w}IZ+BMU^iNSgAH8*w7Nzd+kAVbc%mfR2zP z(fD7-_-f1ro9p*#^m#+SW@B4(7Ekya@-~oF_!kdZb)c?yHi>%X{ljsJ1H&9Vi)4yryVV+P>GYwMm84~ux=eGJ`S~&9EU{H6>>2KGMNkIJ% zeUZIxqSr(tYqZ$LDBxP3;pdXJ(_&1$ozu~ zQE(h{hT~z5l_((N72@L-6XMf$wqN_FEtHwvBAwPvV)o0iQM}Fp(VXZ)Elvy<86{Z{ zy&P&iMh?l12S^GapMd#p_v_ywP1$-0^zV?8s&uPTFV)`#TNr=h!_|Tfw3lf+I`RTzPlZG{>KI=^};95oClVQ(|8rN zV`gCGWETAt2O%ZzxK@|!l_8mQ>GRGw)LB9MGS+OKU6+<9k>vaPI{w0RA7qe8%5z`Z ziyThLSTE9fyus{yJbe^KW((Akop;{GNd(M?T@*=g&WuRK+y0=E%Qb(?vl3L%6;?ZO z1^%f9JVTMkLEipfjIQRDJ2!V@y>ipc?Xd*aSJUYCFYf=0t{M1t{?wJ&zJ8g!ibS^d zfSIc24ca_-m4We%bvOq6<*qV}n4{q8$?PmTTzLhwlZE=|G&|ZF+sj;Ewb8SJh0O{8q7#mGrUl)1NFL>#V z@;+yl5q!U=ZkX-@xjG`@sLIvSM!HJ8cz~D!IN)11r*(=|2V;C}*RA8EZ$Af-V47X7 z?&MWB8yP|qy>c#t{1Q51 zPAuwve-2q>!tuRIhLo4=(^p*Dc0Nou(Q6vLkjK#DRLnk5(0q*q6H@8F4$&_;(9wFW zW6c1@Q)zlvE4Mj@-$P7??6%7A>sUKVTFYImv@XFlTh$Fp90?s5)(*Q1^wgd$F`s|j zBqoKl10BnrL1o-WhKHQ-m}iTU7_b_zRB$R19-OOE3bsSDEwd8msO7=?)0y``B9)b) z;B&Mr$0<=Zsy{5LGlVl@J__>9aY)q|PWDsT%1+PD#$;vUPk%rfu2dS6o%Qrf5x|pR zw;LLKGK^7b5A0Mj#ErV-3(R)x%TH+!#tVY9m3FH6nWo5ABIgHl1C z_eJOI8eTks*$YmfnQB-4dUciT)t1QSWuH5pP*)w--mRfpIMnabXa{ENWnyo-vH66Z zrZG#9Av}=eqm1l69rrr+Jq$V4{V|ps`Jin~;`L4?)}{RGYjyd(hDo9qc1bUkvbT%l z=eDITT^01+4NGNw$X2*FQuU-aS(?q)Q}(#Y4{yE^0XLUZpdjnec6S=c+778S5Hnt#cQshOW|4YqoqvgTVuXm3w4`xaP%OthtXj&Y=MN98&dID|g7S7In=c)f1Gh==M(Euqi*t z(BML3>*Bdxl1QI&fKX6gqXAm;k*>?Ieha`*`_<)l!FGZ{uda2|cu6TcnvU)069e-N z*sx<_BLRlzOv|iIgU@=bhU!A(rL#`MQtW9PW0PzU0O^lssao9c2Hw_%XB?PT5S~Egx#hS#vq=4I^BLvTQ!) z-0cQI3m_6J-b!NAgIrHocaY6sZ$+S+jR+6|oW$~wxtP@(b(1uq8TG}S|u&mtJZA zIkAA3hh-oa5B0u~C*+Bt9CAnqg~t0DdJAv>@|tTBG>U}lrU&m6$x6AVafdw|FMA(4 zU>NkoJ^rhb^7E%I9Ov%7U^GH^oJynu%7K!piLg{GQ%a&cBTJ*0hnFB1)vRp`(tOyN zyjDWEBLR5Rr9k=VlO3Z%$Ns4RXXSdFBAXGx0#T$rS>aE=&msB>TQnK%+%*b|K3M2b zq*iDdRlwxp5(x9QuOMpURAU)_i-*U?HXs8T^G;*q6X31@X<0GhpYraup`c`}33oM6 zq8}U0Ax%)gdNgu-^T}!BF=i=!I@Zy^UmO+5Q`(zcKs;$~&HJ(FsTHT_NQ+V1^x6hi z;p38SBG@NiM*+yqD9r~Og-?N9%4+){$g#D#&a1Gn%qsy`SdLlaF6K|48DaPcvIN)N ziVe;ksMbsD#9;b-iVdOftSijCjEo=dl>Z%1hi2${%VUs za`hsi&&w~e5MZ!$1TVnsfAl+R3%=_ViFK`e75y}px+@%ynOdWaQ|!0$R`g2+g0==3 zHFl61$MA4(na3bbv|hMQiUV4~w$TEknrbt$3smx;NXQ=y7%X7=Veee?OdIt_hI{`D zklU$^lH`CY%N~jtM~GB)(+i_IX~IQerhYdC4{J8$fe~@b>}Q8S@fE+s+Go#~gbUD! zmaMG?Iv_wE`?G;dfZhDQ@S!KNSj<8ykfuSYG7awH7S7WGhPQOdAMC`q44a`|{#I~o zv=^A+O5oS8O9aGVII{E@10e1t153q#xV8&YHQ`S@AcHNnHiVbcTH0x}kH}qSxf0!v zU-cDx%u46^*Uzb2Rhe-+Tqp(R;3o4Lhw0sl%1=XGxbJSU;kCkxdff& zgp{*x#@ljJh%Esl(rB|m8y=sG-}X!_gU?AlQvcA#f(veY|G}& zzKn;k1f5MoE+&k{c(^4Gi7f4(slD?f_kFF6>&lwjyT2m4+ucQBK*usJuOUtRm8x!4 z#hJ*J@FxSVHh*jVHp99BzWF7G)kr{sS3C^dp znG_Wd4VtD1}?W!cg#MV62J6u%$`^N>vhxd zSP~}{URC{LV4S6AXrObaTMua1zSD?4*-k?|)Pi@lj3sG&Op{Tyf%AsobVZ*#?Q<@2 zG*4%@0{}B!|2bclcsR8a>to;IBOcl3D)m$NZ)dY#8-RZ4n7H|_4_k`jGz~^P@6&(; zuZB7bGNMTS)M2dCkC?wnQXwwbIfg>FUfVe@!-lj93Y~p0ZE3uy`}1_y$b6=*y$R2K z0I)idU3wP2cLvVqH;rVLZK{PHO)f5VpuWDI5R5M;@59NQFuhQxgk*N1C1jCn zS)s;f;h*!#Ik)BrTr5(Bu$9Vef;hQ}RYI^%Jq<&x92NJWta!RQL}5j($KESsJd9+_+t!}%tM@{t^xyZft0ux#}S*GR#w%tcZ4@ZT?BTcJi%lcla zpjlzYY~%UBP}^5bK=omXTiFe#5b4Kb z&N_01TreF=jGfMe!%M$v&o|Cgk+sb6W z(}B0AFmnBEY+2Pp+;~oSbM@TotrMfXLw53amPzP*B%eWcysLt>t@Ai&KKI$*&4k25~{aJ|9Ps0xsbF9Eob+BJPSL! z_l2kO>?QNJkkQ;f#9_wiDsFE(PMY>8kD96}16jGNg=`RTeV#E}$ug`5A7ok-f(AO` z-z@MJ^%(kEv0^z(y~(y|`h}v~8)BrOD!Qf|=q4IYKlCl6q*LD6PoXMv%#wCh(wB(3 zIM*uFSC>|$`%TL2>iZ+t zR0=uvwqR3TT<0P)+Xe}DvqsB2Q93>`bIUd;&*x3A^i5XO0qOtEXU&em5Q z!xZ$y>rUz9T4w7=-#|J%?g^USZ@0E>?YJwsvZm_(){rqTHE+xHAh|xuFYXl@UAi0) z&QGfvEs&Ee1ZwQ}I$OEauU5fZZs96z=~jNTCs#&`N(T!Ou^rqJkY(QkUK=q@nNu9n z#@}y2jZY&^YDTYW7~bvkv8Ywv9_AIsU$Eafbw@h-%GKn{?f@GLuzkv}a=S`T1k0sWSSZ zs&JeuQhwMovVSy|?(ThY>FzW&oThNlxaZ`{VN}DnTen~M3P45iHi;~3`2y7@dH0?{)A-^a80vfN# zA(K>YK!Qtg78b(To*<(xt`piXn`Tt#{vQnF){tW~c`q{ML;{};b)Mbtn6pI0at~_& z{5TV(qw;XoXdP>+v=(ge8H?UWTR5hA<5<4`foXcNEl=OZw!ePYy~KKw%MccV#~wZ7 zxmf^>eI;Dv1oKlR?Le6$zP#EsMHIBL!0>&=hrk*SGS~>~i&-LjWUxH0aQ+muE;Sj( z`hu%FC(gwa!*b>WdW@M|u0PW`H9ehgX-xy%0gvl0%A%o!zOC#~8_8}~aW&V^Kif}) zF@Q%%I^MrTh840nMd4e5U6IDpK|#H561=}PiFwxL$AXQ$(PJNpK)k80W20lDImq7=fCIlWfS zOzkPBdCpB|bnY{Daop9rbPeFjgE1g)|7Q^#jp^f)@|2t(RPo>8gds!@&kg z^aTBeUo^E8{GvEN3y6$-UA>$0@>!!BUt|eE(qNNXX2%D|n0JTj2RAtJHM4iRk?B#i zp(ks0a>mgSyv@19Ru!y#p%P%PzMk`I?>=<-Eb4oX#qqr@H+x zZPq#Yur10`{a~!ZtdfR~v?qoW_lA~nS_T+X0%A(j9?EpmRU#(sfPux|fFK2-+73I-6Qj7-4_q*e* zRjNJU)-fg)b{uA+Rb^9eh61X^XG=bg8{Nw?ev>l{4@dyga5m&7=Gg^;48JH57<+0{ zV zX3jc^!8e3uSo8qlK6L;pNr6y@OADA{acCu4R2l}r}t z!7XX00ttu`rnGy2+A~WzQn7ZFwgQdZ1mu9w5Ai#z?LPXmu}y!4 zNvoLOvgpF(fAAzowSJQ+*QTmgYSaHomLMQ!#gLA%KaP@O7;8%+Evgg%P~EJ|<7WDk z#L`lwWuzu&M;8xE?alzY!(>wZss#;JwzN2s7Q?so#9B9Uy}gs{NB3gNf*9n@&r&HL=!u?5N-i@KnWiS*AIS5ab$gReD{$io|kxQd>J9%nMTYfSDKSs{H zdd`d!F?f@#6PkN?uWm$+!>&L`)v!|<5h>Y8P1z$>*u9DEXR1;b5`$AH(ttWpnE-PxPmP~U><>iYe&$aw^2Wp6FRE*sh_kHhRg2e*k786{WeRcI+ zGY6&8*zQ&InRcdO&l6;k6_}r-@K49y_t9M%GNq1k&bmf#jFe@IJYLGhC~QIXEAI5Y zyL-feJ!E{=NZ=#~=OGgEOe7}J6O0DG^x_-cwJMa(FtD#{ zRzZvj5n^hwXGoF^c&oKrno3&ORT8WIjx(D6cG=IbcG-6`I8@!w>e+(o<<+773PA4b z?6M*Z27PXs!L|F%$${6w)kIAnAaElS66xUt3=ic#?lIa1TX|%(^j{LnhXsgQ;GR;F z2A8qrhuHQQ1!b#Z;Vh!w!H~{{tIluWC95A<`&8oHHs+xJjdzoaFD$x$xS?>Ww}=sc zT$L2?;Ts+vjqeYG(XxqnU|dNTZnk-!PpKo=KWx7sgN+IpvMq-1A%lE`{By_tbyeeo!9Mp)1_dRn^U>O{J3@lR~hbK8gZmO>=W; zps$QtG`Sk;=R4D0{bNkgKAC{Q84S`3a=bYZuwJ*Kd&t0$4?EiIog1#)%*a#r*r(@T z;-9~kS!B@DkTz24e}ZPrg*|9wY3k_)(40$kzDt35wv0|b8=OG?4;;ZKFEZ*e(lF}t zSwzv?6_JK;^*Olc8UI*SrR(8UqAH&WJv*~`oLM1`sDZIuu|`oprfX%_&iJJvzp~2v`L^-5YXqa?ushi2YzM&&46XW6syS78d!5Z59OcaBeTk+|AH_e71cvWM&nLzriA6O5Md2 z==TVcw-5nDv;k`HA=L7+k$}w7yEj-tTyb%ybXLS4hld?%n70dhPK&uS!c(u&m|`}Q z=5~8iap{5m7x=-XR2x8a(;zw|r;#T4uzewJ9l1v|4?*jViBusJ6rzu0AUCj~gQ2oI z(;$TzjYQV<6FFZ$&|LCTj0{d;P*RE#n@ZAh9oNXxEUZFYf`Z{0x7<6$Ro2<=W$D2= z7se~2?GCFlz+gq}BbM!n-p^w1XZjKmB`w0xurvL;Wtn!th(L{UKfZ@YzU2!mE!Y%| zY%WvgM3*p;S(j{%VRZM=(1W+8$(;NMtH(sw_1@K|5A`Y}Y?8R|FDJ~@^?qf+V(luH z-biiY&(bMVp(irswVouJYcCyC=DW)(7Eyq|=pmgA3d$OPr#H(nR?tt%U1VoJ@-xcQ z{Ysr789=4|&*VQD6QRJQSsnEpKK!zWTuRN2Tvwf6)OR;HcaX@oW8=fbQ*iOG(ivcUx#+aun5Gs^srC0-{*So>TKT9&?-n~c&e z-{6vRbq}4h6Zea&@|_y#wIv&--SXcf8j+|G!8j2nx}hr21^siG*xRf8I>(Yfx$^J3 zWi}#1Aym%G6xf}fSK)(053Ep9es$Qs^F;uf^Fz(Moh&Qw5hUg;FY#YuQ0nc5a=Y^o z+%S6!%!J2F2WKxYXYjvYFvxx}H--3hreqzc%SB2T?03^C+2C=ux-v7H6;A=2`NAm9 zL>q8F?7BvYIyS#uQDAy?d0Od(Mo_T*C-`0+%ceFrG+9$F{E-d1WEy6bqCFsu>3wwA z;diHxDs(3Gyj@{*{RSbpd~rWn4c%A#0u7^~H@%^9HdmGNOsrm0rWjf(oITwfDva%I z1@@w0ZS1Zw%1Sn*-_7LxkR^%8jVy~5!PU!Pd^FgPp-^uAWq`UemqwRjRrpc}Sp`B~ zrKHxI4nLu<3AR7|6H?xckBvvvm0#zuX_7PwT9gIxM8{*(%Gl-M_l+eno&;smnRBvM zOazjxP)keP{k-_gjH6BLUGTY<5zQ(@Y)|?s{ao3I0nmO|;@&?LUIsvn8H<+PhmGyF zeMVVwIm6M<$rgDa)J8P$p!oqOm~hh-n3{HzCYC~FVkYvtt9zcpQ?_sloQvSSFM^h0{nIw1|6?>thZ7L`ClR#a!uMMd8VLq9i4qV2M&ouN#D!4}i z!;&}GcU1T}Y6DrtY0n{KiB8?8#e4pO=-O1r43CAzY*thKyH8DRi>&Lzi%5CvX+QX+ zDCPs(6NgEMTZmtpoex~75?Ur=*rH)p*bug+@wT?0A-1?xLaB{`Bu3^_tL$Z>T$Y=W$n|rk+Z9eN(0qfn)I4Msjl7`0 z79-%@P5B5SfzMtjvf#hetz|d|x0kZcGmyYTV(oq9WO6yz$?<7JYGmX6*-tv4PG+i% zYgxv*ZD%BmTd(R!=>)ILudK#*FK?!RkZ-n$vp78R%$7rAb7Gmw%nGJ&H274y!sN*4 z7Q1&qyF0TtTX^ey*BAaYiN05gI4xVRpE!thC<=a-Ld;|KpA|@fbmkZ){JsPU$DxQQN$z|6fVT~;TCuRFcicx6|YAF;J|Vm8H{L-GkP;_+p2s$et8_eZOvLY zRprluqZyo%d?7?Q>m9OVG~- zcW~T`OU?m#u52GwDjf1uw=rSbjzrRIVOI*JpNyTxq9h+;ChCB~_S~=F?Y&>;gJiN= zSB>1vH0u!$5Vk%+a6;j*h~S24k9cF7Kw^H;6Cw-beEeTm(Ca?AQtpG4Qs94T*G{%y zDHo>NnxDppx!SH24;He^vW_cxD^vxPc7dySKdCYVb`5y`4!AvIseoV`R6U$c=>K?w z6-BFHqVGzBL$-m|!9EArX<7G43FA{?UExNy`YPUm+*$l~G*b2nMg$e6xCTylW&_$) zMzIiMfMDS>s`1Dr85bI57Nqso_XwTwgND28;b6x2R?>=0b6}Tt2mGA9DEj_KBE*+| zPNC>@u+>Z4l)}x7G=3$>^SQ(@rbKkEPfBlJTt#ZnDAn{a>wG$yLg^ho3|3ywGBv!K zVomaq#Has{+UY{z!S#8{4uMI)*MCYmXKdF3_p3L*cMO9*Z>?@=X;Apf7L-@-kxx0M zbvv}S;Z)tce*o13^Wbal)VpLIGERn0IG~dQxG94-SbApk=5EQe)q(Lq(vt0xpZ~i$ ztrfV{2Ci+BPoX=v$gAnpQ^{yjQe(Y}e{zB{ZC%s7L7{um6GHQfuQq0J z`A1y49_tvvU+*99^XuOi7`)PrM})>4==a;#7lE#wS>!3XetiK!CbHr&tR~+BIbJA# z&PJ=MeSNg*xLeGX_cH$~*w8+mxKrt7+neEBA{I{baFz4jwEFZG&D{8P@-xT|9`F-R z(V&e6pt4&6eDm9~pQyH|QdQybnmzR@hy-vyHJhLZBgI+vNI;px(Qe${5cwt620u)* z+E*bnV?(9}BFOFKL+Gw^`9ZQX!y<_(=>TY@|M-HQNGAmefX0P}h;ojU?YNrRpB zf(N%_nh|{KkmV@Sg&#Ar-(HJ&PE#T175?CiIPHF&_rQoiSW3n0CNr-j~{% z(R6}4N!8H0*A^9@lv_6ZE@VSje5H`Q^{4)QvF0kCJ#fK3EIzYRuE z8{0flFTDtdI@w`c%Izm+sZ)3s ze|<_-0`%x-8O`KO-GhU!GOC$ONO4BL^~qM@6k(cqU{@-GnAA6=D)NS!D>c&NQJ-wm zFnB;71eAm`mAq{#grd1FZ=acWPA6Bb zc>V=TC`i(EhJ=)Qqzi(}gnx2Yu(U z0wTCqG@rl;o`QFAf!R4#U?eDc8O>do9i!`CFppBoSLL7;vrfKHrNEh#hjuEZ>*r*s6seiN z8nJ1j1#96zY}h81`P0_=D~)UIebv%zbq)o^fbfkQ;7s8q1GF}YQ7@b}T5Ph`-4+K4 zKfkxUcv~qrCp6=GTDKqHcC+lV7lXODOE>u;Q>2+iMp}Nf+JRb|(@R-+qPD7~#n`%} zV%OMBA9|QgPNc1q*xHZob zqx1JVcj0JJaj*@B)|9+l^z7b*_VMqs@r1VzRg7h@r{}$`qAsg`;#b(nr;ldxxsK>A z&`&nV?>ZGqXMC!#ae683m@}8aJ!%;qb>y64zv6&NF4Q+IN2OMcu_n79*Q_9)pgP)r zJ4A)U6_v-1-^CV`BgP6~zJ>gbJ(0 z#Fk#1v%80%lvHZs;5>s&_qTFtX;s>;I+GfgsMU)wc)TssR0E!Oh&QNEsTJ!+`^os3 z&^c%GhG@0|BW=Ou*Vf0(@(b)`J}Rx$+AgT`;_@z)6_94Odi^kU{fXt4)3D_psQ2e4 zLG}=cm;TVzfDl52u6=l9;S`Q<+k8!Qj-!9Z^8rt*-AqKRCEzT>#*d1bpHdB*9Lo9ea>H!VD_m^;>+u5?jC+M%F~sKUx2p9%qwX(ea0MB5_k8TOew# z%DD*L%rAQ3S)v^^+5v(}^^bBu+#916FRH&pfBVrz&hMhzbN*!E*%trLP|UYd%>S1i zx@f%7ls+^8Vc#{eNELIw^oTo2s8sv6EQVH&>;t%*n@cVPM2Ziq7{|gqry$o$R!tW&8UOZkG zcL86Q>(ygVWa+PD0OPrifrvbQx%sBz7Hm_RqlXRw7D6tIvRA~4Ht78*vhU-W*RU6l z%r)oq&Kr}j^biy4)X98S>kLp&O!UnRz8)6fQ)RoY&@)eZLA@JlH(MH13Tw4glRQ; zm`ZotUV;?E?GE1aLT!?z;5<4FqLPzMV7q1;_*4lXv@!^ZqXPSo3m?C6cWvvtum2MF z@o4pW_5r=uH`W;!apFq=_6Sk~osu;Y$TgI?Voe*7>I4ap3S^2yvld$1#S;|~q ztdN~~|1E4+IEfdY7}2WxY}rv2^S};@$C4=iJbm>oWc|9aI~%1ofRX6MudV>aB`#3w zOqTJfXY`(0I*sQ|%=2$~I*(3?kyHd?y^he{2O@$pu1 zU_1Kw0=YdqQ`i+Ss_>($K)l`5Rqw6fl;-122np~XQ_3UPz_d&+|GppVeD0QNjM;bY zzn!_i?iiX8a!r43cA<*RoW>ktho!2nLf4j93hS=4WVEgL)BJJx^F|@l z`((F*!Z=DV^EQuvJ7sS7&pfXr%V)DrleaZYk)2CENIa@w`^Lz@w&ew`-iE{TMy8&l z6R;j?T+NC`Yw+HRNT43etEic#Z65?CvG3k4yA_3<@|7O{5alXfK;sqP>k>;3K}h+4<~{lw==J_%(D=n0n*7(c-+<-w3@80~T9w z5rVC+@gd*)tZQcmln+vTsiBJH$frlaoI}lHB+$&ImpLgV;$|81k0BUjb;K~RyCTB& z?%lBp2By^KkN^4JE3$p3w+SjN*=PNhmKRU&*iAU+?a*Qj6&W9m67lfJvzcr|nf|=g z`aT%L{21=3gMDoh<~m$kX=WzkWH{TXG>2v+*JHc&$NLu}Ov|L71;DJ_3S+*LxRsvW z8Ulp{=u(`rWbekIzn0ee3{`#0g2Pc!eB@RL;+SQb9j*F0t3p-giCzHt@wZIXhoB1L zSuM5q^K!Rv3!tRJCsx`B&!)pj6!9-5rr^Uz#WWn?M78A30fa`A;z1*(ZUKbwYe zN0Q@G)J*6K*N5Z4T>VhwJ#eEoVZmCM$&t5$7mb&mf|*95D!bHC)(o)yl%djk`Yh9Q zf^#Cw!9dEOeX4-}EQ{|8y8qJ8RD-9pu>cV=_sC~LtV|zC($jkZ3)3AAaCSbebU-Le z3amBJVc*v{>f)VVp2R}KO9r~0sLFGe$zHa`mq!epleK^FBNT?t*5E2#E^m*2C9Kz{ z;ZpDe6cwY3tt=^byfGyE2EsFi4+ zxLMBi*5Q6Hh)n07s6ZVjOb^c-ws8Mvap|QSb&b<_hm$v@Y4W@KFE1}O@2|M$%-$Rr zS;nzezE^BCRnsOi5vZR#OJgE8oojv6Q}-+JdzL)%`#kpd&UQzjEL-;6Fu)Yp>cC>; z8k#dSvy-KvvtW4(IJ~TE(6z9{Cn*cbcM`vED9?S{mGZV>H*p7Xk{{f5iY7X#SdNKw zG`;(Kk&lrsx9fEPzQmWgEpK14Jjq*8dLTZ9OK))HB?(kefU1bD+TX{(AkwbyVoXfr z+&@r05q;Fd!0dEQJ6A8W`q8*^1+>7<iG~2P9V%*Y$eWTWObuDjAO&KwrFZPmRAg*|=@dc7 zS9!-BdKGdAJ`$rywfGgySb-UmU&uNCC#Az7>ic-r1Vv_LW6NFIRP3Xn{=A>drKX_t zm9F6p8#d~Pc}Hd=JQ#0Jl?cjl42d68Lb1~V#hqxB?m2JrTcgH;A%O|D%q*MM&RvsV zlTti>hW{ClkL9E>%#(hJcEUb)o%yf-G3DrWG_zM9jvtt(m%+v9zHI8U@#Uaa33!v? znqE8yLd`7tfOhd?N6`l0qtKiy=H{_CL3xhn5hYBr!7NcsGn7Es1D(Cz=ar@?Fdi(k z8Ei^JIa@HDkU*{}JArkV-*}$WEj|Qf)dX1L9*)}HjLc~B2cV~83E##Qt69kN{bAgeRvH9>W=iR-!TffaH$hr_fY zEptCBgjcyIgPUG|H|Ou%I)h#S)g2eXF`c5|D7sft`%p?PX1;Ds%PBMaAx|%P+l|VM z%Hvr1hCy2mfze{_qbY#8{$B--Y>vMxND=2BGwSK(*BTv;Y@K*8FWRrrcvrY%@l8hphK$_ufY=w!_gnuomlg?$iEzh8}aTKfvfePV4dFq zP3J-Ek^B*P*4{ed)D{#$1HAl_mR@Pj={ymQACDDy%yKmcsq`FpRe7I8!6%BLlk6j?f3a@CePh`h>b% zu{Vef*U5s&o`{M2JndnK!;1QcMj|x;6P`NLLp&0eu&dR5`tb%++&!(Pvci@M`msSL6osC@C-6mQ|LC2$C{ z;)MCxpw+!iZSq$>`c$4<1W$RMSf|6^Hg5Oo%Sa(%f8;A;-6OZWfC~d&ia51dUdolM znG_AJ#zc`?iM3>>`4oJm*S7tbq<~~Y^K&-AKozeX>6>+2TT78>0suQ$d1u+h0%{R* zh)ZYxHSjl;@&k$1D*lCT>ed~+v-W7c!xbGqHu&*WE5DP53^{p#yfCnxME>Vtc!E%M z-6N2gjvNia9Fy$(=bGHLt<2}!7tx}bw^_|`xYlqzC&4l;Y6e)0pI^&iQ#2FV#KP|` z*7c6q+#y+`o*U~(H|a`o1fJr-kS1ZTT$WNBXYp>u?A)SuK$D?BI!W*KgRmrIVEoGy zum0SN7l^){FJ_h}9$14uEEKKJ=r4Z$NKf>tdobpI_#{_%tD`3Chs}m6mWM8}DlL94 zi3{g6!OpepPuh^y$lAxoEPH*kYrRWQI2z0Nd?y6!ZJvX8`w^EPQ3xRYru`fmKhxT6 zVtvPP?1%lpZ!(TUy=*Si)>VAbNytp&6FPMluAW^6?y7;aD88ax{--o&g7Yjgko~sj zqeAd4sgeKkx7$1ekGq!!F#C&cOaJSstFx>wz@?9Coa=sqENLv`gTxQWF#Retvg};t zoRr}C`L#-cz5&E^^3(|_HPtG96&7b_UAgN|6Y{u_;(15t{~?%f+3BjcEhxf! zuY?)e=jVA(3D;>IIePjN9z?Cfc>KqPwAOSL;FFRb$4PA`Q*0iU(^bV&#owWnOqtk^ zdyuVlWN)*x;P+Dp0^4g+Cj7G}d>`_e&l1~t?PLLNY&|>i7>b?*IycVIdnebJXF8Y9 ztuWDhss*8xuKOn{M6CalnO3fZ_P5;??t<=^mkWve>!7F}hr~6bKZEWbgp#nVFLt9W zzrB=A#-?6zILlO*Pi=!L9@%u;v_)i$9|j)yleGTElXFmvBYsi$dt9F?yUf@$giE?YvyS= zlx+`+X7i#XT2==})!3R*wC6mb`N9`(0degM$&ng3OyX0vDu~R3PC>aV&2cSPW6jYx zc9I)Q8~{7WC~)vld4eO++b{$L12XF>Sg?S6(2;!)*y4Bj41H zS&?*S^04jA{C|Q{;xtJE3i#}IR}iWDFaJk5YyJ~`@wNwgL)^$)Ql6F+|A{ng>Zb|L z?c5IETQA+ZLyAHfLWardP&}n#IXP}0LvTw%8J!FkTGs8GbE7v zNok{*xmDKnx-=d9IdV7X0P949rl=BBf9w@qWb!r5^>PAi!gU8YtF;<#h7un=*7o_X zDWqF;X@0VJC)x2Kgj}{d?XP9ER1ZuNX&rLMOnk}5KR+aIMm-L!-L?lj1GBH}()>~jj)Y*m<%G^EQ_C8kG zn8k&dkV@J+;YfiQrIJa67&UJHPl)>D$KAMP&D#I@ScidAZ+JK2-Y2yA(L67xw_hi7 zYD>zyVHKmi6?mTOyLu8AAs8r%_DKbsk&u=)#voLfq3YK;o0^qFiiThm4%$pSiQzyj z2Gax|$nSmacl}0h1$t0jSsJk2RuC;U6top0iO$j7&-&?z)w zCa;bteGfF^yLO%5trg(>-{&+Zj{)7u0qWQvppqvsEb-Xn%$u&LkzZJFzkil3i(&nw zJ3+0wBMDDt5XaIt^_?0GSI42{a*c@_A4ujM)kkg=_R|k;no>yZv``_o^zwAD+tgU` zOZ%r7?Pxp5JuLDFV%pu-hb^h|RsVlqv%I4M*%>@;!EUp{oDWRBS!eXJN0gAp)4Gx< zoZg9PzP7q`e&)kZXS~`{S_lhtac*TSZRj+Cw}PcFMqHIlqj7Q2^HH-Wm)Wm9DkntE zAhqrdMpTM=v6S;rMvleY$TBKmM{tSy_l+o3>j;afJP1&6FPbaqDJ{4YRVCAmF$ROqNc%0x4FzTVc?hnbhK z9dF0C9BCGYw%NyJi^|m{hm|*%%*Kg*zeBK!i1GE4BI!+L>bkMH+;np+kjW&IC61SF zKGm13fSA2QJ)8ciuszZ8NV%2DY-(RCOah7+rX%d%jGi3Z*Dn6AMN)&XWTR>Eb6v0R zR|N79%byJ(d>2I`^VrO9y(XPpyjenixp<35=@E3Vwns^7DO8SaI7Uz&5n%by$mGbg zPj8sx-lXAkZ0>azYn#;R5SU|p;6nSdA|5ENRxr3*Fvb*h}_KxHExF%s8HuJqO*rKD<@5YcQC2~LN~bE z$ZWgOqX*uVnCVNk?l}F*HkoSuyj1}ir1cU|Qm`Eo`7S-eulCPjs z-og92s z&g@~C$J^G|6-u^M)d_VvGR!x|D~)v3Zufi0owpMIw8UVxemn8@aQ5Ii%GyEHTp z))l+sHLY7(+3`3fX1rPcIXZ^6-B&ieAJ4N`6-ZtjO(EX>F#1J5^6F*yLRdh{U6iID z-f|IP52GZtK*}sh{+0#I0ixG$d~CZNEwM^K@3_IMLHzi$WFMz4Q5n!)MI?RQ|`gwWJ>}Hj`udu0?}-t0v3NV7obT@w1g(Atj}i zaaV-}I6Ax6x!Mu0UjZ!F1(IBTosnI;%C&uMqy~bS_T#6*ftr#~c~OF*;c;UOwIk^i zv0bf!EQxm%voRXmawGZ4h<0(cXLqic9?lrlL7q~?v*)mov~C>!Qtb|42fY{3dy$>(HD8riL|e3DZaW9OT z-W4X~iSLMfQIY#yp{>pUmw$$Jb0hv>1$zrETw)6qJ9K)5whBn_ssLm#u;9qVQ7ga5 zI$KLfE^YNx^2RK6)`{p;MXxklvCbkrv9^+E*!*Bgkjr?M!K1|YJaL;qT5wSeRG91i z`K!nA{aNc`@JUN}JJ0%=6ln%!8`NyWJk74HS~{XjM?t4+(cbsY^Og;@|0A8c=){%r z!6L)Li{mkxTxt9;X#x=9PYO=9?Pl>^QAQq=iO>(-4j%>S>euZ(MgeZw_g6-1;#LXc*}kdO`q z28_`l&5-T}r7@_{JsOEo(mh(FHaet3=|*sLoxOiOzw>hVvJZUNb3b?A_jNtX-AGgw z@p>$-4@ML?Wm&1Hbq(X8uNLOc-sx_zv}V+kXKI`Zo_CG?6P}*HyoX-`byRBXBe-ms zX3EEFc0F4Vy&|PQti0QF=_zu?eHHoW`bbdGC%TzAH;#6i5#gvBG?%Y(ZR~KT(Q%&N*(TWSNS3lKO$^h{Ty5$oV@s=(({0PmzG5&f`mnv`g!j%T zIg$`L+LTc)m5uvcaI$^Y%My<=Vi-=`u`Dc4=9H!Cou+&!TfTYOXr-J&njkd4vfpn* zE0(hZmM)FAUg1CyDiiKSqF|dWZeZuQ$nV=RC-L^F7Dv?L91D3VEMoWzBG*6U+!il5 z#hOAdMiZXDC0e&1mih;S_g8+Wek^>_vU&_}IN2I;NLv|n*wWHhqwA|5=59<3BW7SX zZ&@`BO1X%}xwD*frot*cjc4Bo3sI#>A;yVO$AtDiCSm&RX?mEIDTKqC0htdcV8sZgxOh8>)5l zw8^bWG-x;~1G$DP8GM4Qi-*q!qs<+fh%|)r!%|$7Ubl4|a+-(DXDaFDjLLD-|LMa1 zh~8Fnf5beK7X|muTN&pYbv&t;FWv|p`zH)W^c?`yQ1JQ&HOkW$Y6;=S1LUmjj`9j* zl}7cNJQjFcSkF}I;X$v^(1E8>G82C%_cYGDD5&AkK|gbF2Wk=iMYY1WWFjp7vS=1& zKbxLokDXFDWZmulDMuU4NRV!MwHa3}@5`pE*Ovi58CA|U&5u_gqAq!p*3!$g0~M!8 zFiJg*@`+%0O$<5|A`w1Pj&XpFpvcLd)gZ;YC7^Dc^FNf@I)vUf^`n|I`#aN~c`kM% z)VEu`(lsRtX5wf>>h`%~9R61g{1Np{8CJ>N)nj3y@Vz?jpL|@ocf9vVL(vKV{RSvd zX3DWMQ|^0?a-WRk6X(MA79v`Fp9&aL`m9hr|6hw3ZV-QGP)7tfCtX3DtEwW`ao_OIw z9EsJPK4*D(P-=6XDA6!>xy+VK)?K?0AlkHjAZ4(k$Rt(m zKq;p|>&-Y_FGG|cniSjW4p4s{343%g;M0^efYzruHioIkPIBZDm!8 z6Z5_v!$c{auQvs@Fo`u8FA?8};|2uJ3?Jig9ahQ`C~j4~(;#~m85SS`mI9DyLBhXh z^2`(BQc`f56~Y-@LQGmGjReCGW+tFnQ1@r%Z$)#T6&rE5h&hK%5d$JK7BcPKUef{h zt(G3^0{c2c2l8e)EI*U-+}pul0H+HKK*j^+Js<3SfpYtJD%V}?RUaXvN?~c$L+xaf#cEtwdWrqcQ#zwgpTlB7OH_4 zXV&S*I@OVuXkODoNzJwbhtF2aCNtJ*2VW!{@%j^aldmZ??Lwx*5bMTpo)*%9ipcpA zIsN#+9PWrRFn0hR=oO1fo(!>hh`^Il6RC#!wx2G$4S6btx&m~a(0l^|%PqiYKWkKo z^KN6{dP|PmsOw3Lzbtl`M$&HNi%yUyBadLwtdAdJZ?%{i+-gh+2xHO8HhTgZj3cF7 zp*g}E6{MQd5ru?$@M-YpuO%SgWn0n5sGp4OU>PE+HYi@0voGiFO59G4_?v_JUFeR} zp2f`n;Vf zCaOIT7<6|Ir2qiM^~r|~L3gFOI%IHW(zmqwPnSuvx@>qzMycocsdr~X?)-l8H7;ePu zh+Db6w=I;L75CmxsBG0Q@JJF&sg7{ua>sXsU{>lmbxoqoUys#WJzt9f5K_<|4OX8S zp#5V|VdVI~Vl9EXm7dMLkGxqSWDJXNe)YsN^cL<124`l)?w2zjbaNC<#M5%T#`Pdmg zT_Y5DYi6iIaGEnHO(O3}yGG6V{mo2C^`4qZ-1v(%Oo%fu<{JyW;Y}K&h zr+5A-YQq(#L#zfaFPB3od^@XEnvDd5Q*%Qqs@9_z1WnG-0t{PIvBai|Rk9=Ewc+w` zJtVrG!xe{2Bg2(Q=+IM4U^v#52<~+l@pOu^^wM(E04)T?+lyPu`d0R`;eWmSA4%U+ z6Ub8xVLe-WH?;$mjGPD?dhEjd&!-0}1p!YssrDJBcvV@z@&p;@V^Ou4Fqj{6bFQLP zC@Cc$1pdLaKhp(BTu7}zBt2pVa`6&e=1S`2!8R{C2(k(SE&aZx=Z2 zmj=G7ztH^nNF-Bu-(^8$&WYygL}fIF;7VwpPi3WR#I6NS34n@0$4saZDrkj4Qo6xd zx{R0@b-!XJy`BYr(L8Cij)17Z)G(`FedGOUwF6G-xhPHSV?!SM{#>WAt+P)Rl0ln@ zIDsQD+xd)d`S6&rl4D!d*4|l<@c)KCSZT`|sEeeO8kvhT}Wb6RkDUoR;+P@gDOx^BwUh%gtp4Z}zETgssP(iFEhjL)8|S z(h0(?b>^7LXuu(f1_B~6p2t|cmg7a?vXN1kYngayp;rdSmY+?xCDOmGNah|IrHyjY z8Oq}?eA1u_X(dZ)2KY<`O9^>wC9v?{2ZG`83|DVCC zkTV+iCJ@|`mOM{sX^)Ss&f6&Qf4zT?y5}7`({v3EA%i~!YOp0Xh-Sr|H(-B~G28YO z;GV6h%^hfAquymI>{lveF)b!To5LYGZq}~=c&;0+G)Hy5{8+vAHry(HRx7+jk!Ypd($!iBZS!B0V4$>02`gL*M|!`&V8OolmW65{F_EX>Tjk~En7 ziL@=WBVyZ0gKVkOv9>3c9VjBaC>yz`w34G*;yH0tEoeencUTg0aLh}>JqCvRRQ-x% z9xc_gDBhO7Od5p^KD|7RN@xCm!rp4bC&u+qM)d!)+ix)1cuf;CK7!k5!hHL7U`?QpY|f z^|NRHm_Nype0NETpPT`Uv3XHs++7XfhT5f_4#DYIJV(3c^PndObR)yZ^Q_<2Buw=0 zAISw z!&N>pr(C5F1xNTgTzQODR^)beFFILZxb0(*j!>iPK`)88$Bz#a-Cds@6ifFMvFM8h=D4<+P9qV} z$D=RSemT~-;b9#&h^L5R5jR@+*f^^3Kwo#Yw}c#7ta{F`Zg8RCNJ4E4P|`xD)acv2 zMZJ7afhF7$eGaonEn4# zQUCp1ypud^$NZy^VskuCnl>rk7+oLK;Zhy%qL<@Z?2LZB|}n)Ha+H5j%J z)7ZLjD=LNZOS{ie9qdZqFGT<(=bk@4`pWu>Ft6&yac83_4U_2@QkH@MGD^#=iVHnM z#~%Bc*OyeoQTBv}VPm~%4pSa`w$?iYk_tea^-~NVOjgK`@3&S5PkghcqA3P98nOOs zi5E9kuvX$NfT6Y-GOr2^t|#JLBbwnSH2cjsNp^LDnUiWd( zI;TQ78SW^ULgo7`4=VLMlCb%VaEB`Rs^8oC()W1eS4}Th*f2An)s%M!w5r=q$(O}b z?W`g`btt(^xhvjGfpQRo+B~gSN#``$GlQ_YZ6|y^AJL(Fo_E4E^;%(JD=<_h3wjlu zNNr2<^g^m>JH;^legI~=XpDY0K)snliekLgYfHDK`Y*-ckKeveCB_QPHLT8Uiy6WU z2-9+)SY#&8qvR+n*KbQ}BEpYDoIku;1|&p3Z&4~Tg=s#trIM-a)0q%t4uH^1EI;Vc~Oq+?+EiD*SnH|>xy52D?jSe=u?6amBlb)m3{OR7s7^;E0l%ZOq4XVWahP%XJ!euxB84UeQvuOzgy?HMWr?)PxTaUi;T3KHzQ1b3b z@;M2m#niG`yPvI#`n&$YIQ)%Rf-j0`GRqz5R@%?B9prA59lm#R z@jSlv6;cRu5-36XyAAW4z%A?dLtD7)vOWkKx4U=FE4aSSQU!%hCyYL*@(UhHhtO>KvvLU+(i3&19!=GpFLb^I(i}a%qpYj4Jv_9 zhWT&_MO6x>pbHfJ$yjE<*mC{rH{{qVTKC*9#ngIzfpGRx&_9Q#|6MK~dQ9<6Pw zCIwjwK@BIVCtut~cjW_!|NL9J?&)u!VmpemJUuT|&Q}%})Y4f2I$iOLRcQA@+OCe` z<4zFIa3zx-Krr!`eO0wAr}f=V8s7scW30D&kQz{J#U&1z=6M%$&}UY zNxHBWl@$q`E~>VQDO4xti~=KYL29H*)UcCg?4o$uzSiqG(<2cdYg3WpGH#yPeI<4e88F z=IN7_2^{g?xl;jNRTt_WYZ>eSxzP3JSwEz53i0@~O)rXywI7xwE*!XqA5zHC3vO08 zho9h=`|7dC=PI(Ud8CJv(UhavsnQ5-Dfe4P z>$aS*-RP&b`LL;~)M=YuSfWHilD|ZRP6gTiCHq6uX%m;dcUFm=^Vhi)p_ty7cmj}= z+hR_ffV($1tX%t(LLu=Txd$ty`MpE1^mWjvvVdwRd1$j{r5T9lY2U;W*9u>6>Q{5@ z?_9xOwTRCJ83n^R8Cmp#*e}HVO(WJ@q40=xZOMOw&D!7eYF^I_m8#i4p8-Ha&mj~1YT z^&QH&LFc|#Wo?~t3*84)$OM~iJ5<6xX1GqW0sNm*=KET@}Io*smX~oLV_G$eG*N0$}ie;uuWZpPo>)I7S`3dHrm~ z0Mi7pWa>@8PUN_n2wL2@nX{x{7me*NiO7FrWG@uTD-wOAITsY^SO`BK53#&mb#zKF z+Vud+=yOUyo_WYXE(S9>#m@%1XK#>QzW}+OdNkvtg1ovS^Vzx2F3Dp*N_AAHvQ^YA z40Q6$3Afv9EF~Z(_d?$(v|yravpc)toi*FhZ}$xn6&SSj-%|Ebj9bgxbmqrcDcx7c zdNE5`)^n#G7$Zs@F|TMM_;y)42+g0w_Qe1UcB_A0h>S7_He!)noQ!R$c=%d0*P_qU zEYvI*6K*CG+`O!{yH?Y8ezj~l z5BC3k_c|2>@;KEs;*UE1+7cs%qK=y>=pg`%d`j#FO(RGIn?7xONT{35yJHl?4&PLm zUVfa*HaALqwfCCCQZ{+W`MQRUEU~>Cx@7!XptG6XbPO|?=0Gpvi($B7v^4+Rzw-t@ zCDExrdabP3JHBSp?*k1b-V+Ay^9;??2$lmPkgJ zFr|}8)?Pknh8-AAsXwWBr-4@!*Q-86Dnl-7UQvgsqn|FVZhW>}(~@+Mc*q0i&A=>; z@5JhVj|!K`gXYdldFQ2qAVtVslgOcmNKTZe#?tmJCwpJ+_IodG-8DAlU|dlZq)m5EVMWOomUiv$<9kA*E&9OYkPt zdoKuWhW8ttpdlRWnS2sa*$QgU2{}HgK%O809En_AOp-mlt+32sFR&S}+zO#PUqp9K zZb1d|j5cOuv1G$U#ooXN;}=hI_y0NMk2kkB?vw&tH&+hkzTwiY7}VV_1Kd8S4hy?e ziz7RuQQg}>yW-NeqWBNrs$oMw$d2iqphX(9YrNB(l@iX__G~pG!`L#iPJ_&4;hyeV zXM@>#nuExLsY7V{N>Vwc(09njO1oLJ!G%+>G+O>4%@==`LOQl8>h#eNUfpy|`6{E= zHFA{S&tOhK<`$qc9v!*ZCChV3n3x;!t=R-T^%WtlC?7^>xp+O;p)A3|PK@PIR^Vke z*}L1}RuI2Ku~2SMIO8(ME*7%!?(S(MsI%Jvi=+O6dH#s$r24__ws-qcVNI1!AXJ1) z!7<^5cSYd4iF*yi+^hHdJWdom^;`LuqCtl1 zq@iJV_Xk8qz$DFM2?6p?Uzud6(H28sgle!8r*};=d^N<)_*5F{9mCBRKR+N1ct^|G zB{rIKQ}L(+TxmVIWTw|J_ci8wt;Kfd~sH;SmLKqD&z zHP(C>%cqu+Sli#C7t7)Z|Pz2B2rSf+OmTSd)F+Rt3uzB+|sr_-^WN=wJN} z92qTEUC^W_c^j$jsO&Zy+9?@O%#=I`+a12z2c3YVx+VraljE(*U{0m&6Uw{DwoF7D zudX!Di|i4%IkMnmm;L8*Jrs1qX=*)$uVN&!es>@GyXh+)EYLr<)ve~34Ek`4a)Y;%^@~-t!<~z$GTLm2Yh{KZ}h6Sa`Ebw zu{EDxqO$UrsWqe#`=Cc4t5m^BEX$k8iAmFBiEm7rk7Nuvj?LW)g>j+;%rNcKxmGQK zT-RAEU5WQQqQX&f{!jdE@ON_L!pL7j^nWlOO-OO@-wM{Q)Q4lJ58TZ7z9}53wNZV)GbLf#ptY<~gw3w9l zCO6kS`wKelg3#rZ*o2i+YV-cjlu!GfQ?rLsyoYKwX|Dl`Ibp|c&ICUhi2m=U`u*!@ zx7!oxJFOk57w#g$&ofnCwX;jJ8Qk(Ll{MlC2JfHQb6+8d(dRlrOlT^ezfJq^Ys-+2a(mps_!P(hesbg~gbdWIEeGUCZoAwH4q4Peg z{`lJ0-q1qg5&zD$wRFXfSQg;xzValwl&5k1;E8J`YWy_xdq!%LIc)=xgj|(mGq#-4 zEy%>}yosmD_hXuzvVepntYI@YGyJ%V(BK&*)RMT}5|RYvt(5-BgkAS3YEF2!o&y-C zGW-d|3Cq@?sA5arr%!cA5;1nw&QWrv$ybu@Q{uf>#l_pQxUS;sb)%L1LH!=N8(x@wKq+r!)Ds0B`HcPIk|!hsbzypUMZj*#0;RfCF6?m_8xCoJm&v=+P(R zbHM{rSO}AKWo>w)A|j~bSrE1{_R$uu`gA468X;lO{-W6g{?+~JZHXd;iMs;wMTft; zvCqvqIYkN!vQ*nAx*Z>{fp|ORM%}$@u-L46X1yl7lUEfl?6n#M)5uH4PE=#doCPae zO&MBEM~eiRXdm-Xj_+Tj%+x^jjIPnRIRE3q{PnE1-`JXD)~T-$&T2GpOd#d&?$v;} z)M_|%+WE>*Q~gBOE+D%TMs|EaikHmZL#2}v8sc<6Azl16Lxw`uEX-CamxNyFPRI+J z39|@Q0J+wxO#BAbM#h%A8#4A$T8L^qb=7Y{=a>qrP0?X^V^ukiga9`>G7#q{r=cw1 zxd$*t>wxu4s3EVuVli90sC=WL%}k*)D$1zR+$!5mCr(I-FnOH_(Cn?Si^`bM+>yGt zGyBL{dsES-8s$IN)c@@yG~)VPqwL3T{h2@9!M}11-j%0t`c`>K;o+(Wk$h3|L9zfv z8ucn3fl02F9f&nA>~jo>m&K?F+a^95CSX1)EX1GTj{IJ8Jy5d_6rh7kHsm=XzS;zq z^$eeUctNVZ#7-l57)>Zhi@`Bk(v2q-s%9G^t1AA@<#g>;rIPi0Oe%a1_gg=I6(hZz zi=F^VNDcbLQ-I~_Q0}ZTex<)=Eat?X-<&CZ0A)3#j7td|3AH)s?9)wq!N>R3q@mhx z`3vj#!htvZ4+Z0|5H0tHM(@oIDK47Zo;jaQ%B}oFNu(twqV_7`9k$_WhI3I=(D4Fh zkRrd?8Zm=2{z&bk@eM{2?(CgcP4=Ox?stdjf*8nRHyLR=JQZX?N+0X_i1aYFxNsBQ z$JF1V9NHOuBcmZqqObc$+<-a9RDC}oGED4+74~Z>;C*=|$_2l!!wM)7;&JZ`i{H_> z90H+LKQDj48M`M#TGMr)%;T&*5Y9H!A|sIZNZ0>+!unllQb)pO{F%|H(XHzzmH%0P z-1^o25^HFriU%tUQ9hw&KDN5a+SxQ(M!aa~=tPcEDES33NBRoat6b(c2ZTIpCJDv7 zsNsa8%{U%&^`Zw%QWRsB>Tb$mBc?H`&b=C&zMXF?M{E$}T92Nw$RtVcao%MzIIFc% z17@+EBp83zb5Z1_%uZ;T6p%}i$zNh_bqgvrpA3txSg?zG-M8Z4VO=RQp;pvNuWhw~ zya+9@{obxAHn`|d15VyeH<9EnDf4}LBcry}-HQeO$os0!eN1zXKb59+HmKOU(rrru zcTS@v;7nvt>zE5I>++V6#RtXro7CpQ9Ox_(hOQ*>6ICO-n`wr~>BpCu8iRCv7{B=H zs&_`!6?ae4C{WA0(z}AWT7$Mv+hYJc6~y9}7*)KcfNf)?^^=QD3}dqN@{VOCQpq66 zC^7-hRyPGBXHqv7MRy@q=w?U0Gaj+|QGN>n)`C>UgTuG)qxob>$x#Z()2$6ngU>q4 zophCFOp&CJcshLox7b!mj8#<0-^~!o_ZB!Z4?}N#J8HrhhjN282T+u6A=OPWM4<*G)-iHxl z!A-g};*u*!Uw(1pJPm$MVta*2Zc{`txhEFq@_4>BFMLrhg%TBnIUOBkGGXpqMMYdn zFn=e8BD{)LGh|_~ZYA!xRbnXBmdLf#`=R{B5Oi@#@Y z{GV2syqYf(#l*N4GLy-Nu+A~78nQ|7Gf-vd%z#R4zm!q)4jl_AlN8amL`R^k8re90 zP)8iE!DdG1k0WAuyMgma5(jvdHzefuhu13%z_^1i$#suT%kh3b_hlSeN|M|p3zIcG zW8D78`#gIim z+nN~#I!+2*C;z??oEotVs~>q5=dCMY->A}4w8j?{m_3Pa6Ivk8hNtY9hzVbi{shF? z9Wks7X;E`_?MtwojS}SXbB{srCz!lmivA=dq2EJ|sP+2m-Y&IzVnllmvbv@!BSrm458 zj;$-cgf$wN>mx<{l9qq<3JhFR-%JvvpRoCEV@krh8R`cSkjvv6WjJ^4RaKQy%(hFI zcsM%G9(!0+?Jus~8*LBO1jx%Owby?wArTC+YH$gg z@lR+n3ds_G*!PJ81q1hI`?<_Z5QhGm?~my_8+VS#ux&C5UNXn` zJToK1!P5*u6<+(OtYjRN`rQ>z%`A|k5(g$(xDPYfJmzA-VTdqUd}iaVO9@nQ!2wr) zD)gk(b+bk7j9%q*T+wS^xN!Puum>l6R%#Aauk52MOC8Xr@lemk9f+ns z_2ZvkgM{Xf z$FX*^G=BB*^zw69QqpH*{vVtD@BL1?VmpEJjQrKHu%SZhS6A7mcq9C{wn-q0trzq} z0D?HuVn6Ao!~}!@1DVEjn$SpNboyDbn`mQCmX)Fru`s~nY?lM-&}Ye!N4I?#V}q<;rn2;jOi)l8{A#8sJvqu^XBZ= zu<%nR5(?&vpO?m%3Q@vH956K()!e&g^$<9Ta`eVMz+wWwC zfC>R43Ubd^Z+*a-9RxsJvRw;F(G;Kt-=3&yP~bx`vyUuYrRPqU$%mb1#<>OgrxkYS zHdaBufBsN9{_hQ5VzVucP{SDBXfo=~thss9BqTyjcdJg~SSF*RJfb4X3dtK5Sgu0{ z9}hGyCkHMvqdP8f<(fJJdtB@YdOZl@g@UItjS)3?RTIZlhDrf!ur1hI4pJ`trqfUr zX)iFzpvHyFi*grQ<2-izY)c4rdQ~u<_eZ%RspM5oEn_Z3C`Wp!t#V@(Jpb;1{lzcS zo1G~2{eQ0wfq;&$lSVD++iMikS>US|qnaN`OWDN7!&dYZ{d5W|x0~Br%2+h)topxt zw36@eEHxW&Y7$F#Ty-FH!;^e)iA*V;Nzg0kf928}CA)&IS-|9v>{V;$o`%8uj& zwg#KMD#JQ*|2527?K&w4l063-VzV)o)4II`0s=XZBDGOMVs*MHv(EDkTRXL^G*u~_cXl6{nQzkd~f%7m1b!9CoG22)Z* zOP{DtYl4TcPmqSKB@d{fQ-dSd5@SzJ3=lWXUc!~D?mQ-oG>E7t2`zLv9{a?YXh+%H z9qLq_U9o!9-jw3DAsd-|L}C+(3XKJ4REQHtR+@NSA z4gt@q(!b?_uT-Vmr!IULhCrvK>T=k~# zCo}K$2>S$hi6r#zm{sJ&?GqNWpd$I$sY-^?2K?~mMje^2GgQ=+vi z#cShx=;7Pp=dvvPBtx3A1Ncht9Wtz5i zGQYy|fOAuc9cK01fYmCPFB5B;Y3J;u3%@~8g|1QZlX-VYpP@i^4F{{>{E3j)AKK+# z`*C>q%<$IaheWSaSJ%xzzc*fI%!3KxYR~#MojkojbQ)rLY(uY^75*_|;;`cBHh!#8 zD`x$QaMvtiXV1JN1ifD*DW>*~=S?b<&SQ!mS*6&nn(4Ja);BU}7Dv6x;3G5_{V<^@ z*enub^^|XyX}B+qx50mjPRws}T{rheND?H72Hx_yn{iR)E_{#k`R29&+_voHQ-0yU92`7 z+ta)}&jt?)QBP-8O1kAsM$C0|%h*Ayw3z8hnM|bK4-9z`8$Z`lP$%f&`M!jNHG_3%q%$=o+7O4rnRqpH20!j2%tuzYhWSDvJ&3-Ibja{-7LGi4yKR| zZYd~@3AvO{eA=7rbD&G5LMwjWS#_fb7v%X@7kJfBZvP+^MUxeL88wAIUbaG&Ca3Xi zumTsOtS0*1DGn9M{+am-YpPk{YEbB#pKKbnLyXNj&dDa`ZTxxd6)I!*t0o#ZCR|Lz z+`=O`!hB!1=qz>)YCLvW6Rz_+ic+3`dlYp8vVLn8gLTkfcRbDpe@)d$V@49ai1v)R zr@aH&L^^D*6NUOj2Q)V3vklc#4nq8RS|HbPi~PNl;X0XT0|ArK)Am6*_GlM)616AU zb7y)+Qh8=hZDw)-V1}2##H85UaxchH#D?KV23^LDSD1@=e;&t ze~`pE3gxGK{3bT08mxU~)9_)=+swSY1)D6GWEqg{H37+HhtGl2U3Gc8(b1w@&g$*J z*oNC>!Mut2a=+CmmHDIN8-V6p+uT^+I}z|alU%E^ zy_=py>);u|^^TQtyL?R@9SpF$ehAkLms6TH9VWJzW)1u@6~amcL9O}JoE{;*Rc1aq z6-Jl#O3x_I^$b7l%6leCYnn57yf!w>r;_$xEZVKfVC=1y<6(Cd{#~r{-pz#8=VY}) zA-WWWL~+sFG}dHC45k@OFj+vXd56>w!gpNIrfa;;D-KQl#m$a)#c}~?T_)XvhvdHX zF4-U632pe$0gENytt=1I`Iy`o{=Lb>*6eM-5p`}wR+iCU$l4Fz8~OFy$9+19_MD_@ z@WkN?#&#}w?8IDr_+jt+AjYSSF5Zi4la1B|crN$Gb-L{F%iBi8d2ZXnR2` zMN!7QH#)W}iU{>N4EHHu<=a@V({93@PUUB&VrwmAN}?s{!8AG2moSpb#6rHh4)4nkHgPqp(s=|+F2YiQn}Qp> z`gHGGy(SL>i;}FQVXi(VA5Jnue?Z(_RJ~tmk{pSv#@8BtW0Umb<-fP~A{POT{LKVC zF(6{n+v{BdSn!9Ooyap8UYs^rk3pZ?XqkAo35Wc8ZJ8h!TEOWHGXawWeD&?1Q)`G+ zjY7%1sMCwHs+$;(TS8cr>801Y$1hc}7$&A9cVL%m*fe8TFi7*DtQ?q8)#UumYtj;h z&od#h1R|DQZa=HizUdb<9{=VfQ@zcVhv`3%6TRUAZ}tQ5^mTa%zV)R;6A|r9=WQKV zx{-a6aL_a;Q@;bG#qhk+gZA}mvv+|1ye+h0eN=-Hw@uc`7NxxTRo%xDTA~k zGOT9G%{nk1z`d>{g;+$55lmWtQ6^hiCtoX|feDXWA{k=*Gkh zy92-mSOd%2*08!3AJ)vzG4pNTw$+=`!+w_R2%puJ$7gWQj|SE|4#f5W^LM)DF^G8D zt>tiWZuKDHF58X7nVVtr{g+!<5%HxU&Ci?N4ruh}@bW;MAG6Int1FWne*M$OsUEbx zrJln{uVo|5qnz1Z6P_fwx=o}p!li#>?{};1^?SG5Kkj3ddPO3^vk~dq(jS4EtqN?8 z5w|@j4{I?4f*2Br=XRSxeZ(=vOsn7|a(IPn_3zK`{!6dBCFb~;=+=**r49J6sTo>$ zKNu$V92T`SHo{d>oRmmJg8m#P;09Y8f6(O~+NC41W>WE_^ee?4Ip49n^<4+pqx_rQ z%8yg*jOCUfn~Fb$Bkla>xVSsQ3k+;&PjxhF74u|9*=7%2E8c{;TgBLDT?`$`^qkkJ zqDHaUDkRa(TR$Pk_80G|lXmugAcN7Db>hIiWDV{(VkAU^%R=uy8Fy^|t}T7VRGrlj zGddWTt2Y7}pZxaxQY}bZy7s^Ib{pPZFvTs0J9?Yu>B`C$%TiSwpN`ykeiEnav!yPC z#nW<4-{}H{ok$)@D%H_=I`~lD7;W5Ya>CZeKUlKzpjNwwyhDa2D__kj9JLs1cLVju z5RQx4kwGgE{(~hPUcb*!>Eln@c4N#p>FsnvDv4Q%lIZo^$Nc zD1vb?k~{E5)%$+#_P?i<62tcRBnQ9bF(ji)je7ayUjQtin& zDSl}!hq#^|m0XrAy)I2F`g(M5WYOgFF!&DmYntqT!8_PD=bvIzzAbKX91G{0 R!~FXXFi2UZRO-#g{{!{dHGKd8 literal 0 HcmV?d00001 diff --git a/assets/ll-white.svg b/assets/ll-white.svg deleted file mode 100644 index 22f37a52..00000000 --- a/assets/ll-white.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/audits/2023_April_10_Lindy_Labs_FV_Report.md b/audits/2023_April_10_Lindy_Labs_FV_Report.md index af4b8799..f75f1a20 100644 --- a/audits/2023_April_10_Lindy_Labs_FV_Report.md +++ b/audits/2023_April_10_Lindy_Labs_FV_Report.md @@ -1,4 +1,4 @@ -![Lindy Labs](assets/ll-white.svg) +![Lindy Labs](assets/ll-white.png) This audit was prepared by Lindy Labs and represents a snapshot of the repository taken on April 10 2023. From ac335be7c36a2be321b9dfba5f60a0800d0ea2dc Mon Sep 17 00:00:00 2001 From: 0xBRM <0xBRM@users.noreply.github.com> Date: Wed, 21 Jun 2023 17:04:00 -0400 Subject: [PATCH 06/10] fix path --- audits/2023_April_10_Lindy_Labs_FV_Report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audits/2023_April_10_Lindy_Labs_FV_Report.md b/audits/2023_April_10_Lindy_Labs_FV_Report.md index f75f1a20..52897d47 100644 --- a/audits/2023_April_10_Lindy_Labs_FV_Report.md +++ b/audits/2023_April_10_Lindy_Labs_FV_Report.md @@ -1,4 +1,4 @@ -![Lindy Labs](assets/ll-white.png) +![Lindy Labs](../assets/ll-white.png) This audit was prepared by Lindy Labs and represents a snapshot of the repository taken on April 10 2023. From 1e1bfc97fb2af914db5a9648e11188b0a50caf5a Mon Sep 17 00:00:00 2001 From: 0xBRM <0xBRM@users.noreply.github.com> Date: Wed, 21 Jun 2023 17:05:22 -0400 Subject: [PATCH 07/10] fix size --- assets/ll-white.png | Bin 67258 -> 10131 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/ll-white.png b/assets/ll-white.png index 1f3036259327602a88282b01305260cb3c8e0a60..ad29caec29e0904fa739e61a8941e583898169e6 100644 GIT binary patch literal 10131 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 R!~FXXFi2UZRO-#g{{!{dHGKd8 From 67d08876ab989e197f8b1b343874354ff65d785d Mon Sep 17 00:00:00 2001 From: 0xBRM <0xBRM@users.noreply.github.com> Date: Wed, 21 Jun 2023 17:06:57 -0400 Subject: [PATCH 08/10] size --- audits/2023_April_10_Lindy_Labs_FV_Report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audits/2023_April_10_Lindy_Labs_FV_Report.md b/audits/2023_April_10_Lindy_Labs_FV_Report.md index 52897d47..ed8bea91 100644 --- a/audits/2023_April_10_Lindy_Labs_FV_Report.md +++ b/audits/2023_April_10_Lindy_Labs_FV_Report.md @@ -1,4 +1,4 @@ -![Lindy Labs](../assets/ll-white.png) +![Lindy Labs](../assets/ll-white.png =407.25x102) This audit was prepared by Lindy Labs and represents a snapshot of the repository taken on April 10 2023. From 820681255bb5cd65763963d06cf80f296e9dd648 Mon Sep 17 00:00:00 2001 From: 0xBRM <9098352+0xBRM@users.noreply.github.com> Date: Wed, 21 Jun 2023 17:11:42 -0400 Subject: [PATCH 09/10] text fixes --- audits/2023_April_10_Lindy_Labs_FV_Report.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/audits/2023_April_10_Lindy_Labs_FV_Report.md b/audits/2023_April_10_Lindy_Labs_FV_Report.md index ed8bea91..be88d89e 100644 --- a/audits/2023_April_10_Lindy_Labs_FV_Report.md +++ b/audits/2023_April_10_Lindy_Labs_FV_Report.md @@ -1,4 +1,4 @@ -![Lindy Labs](../assets/ll-white.png =407.25x102) + This audit was prepared by Lindy Labs and represents a snapshot of the repository taken on April 10 2023. @@ -6,9 +6,7 @@ This audit was prepared by Lindy Labs and represents a snapshot of the repositor ## Summary -The Certora Prover has partially proven the implementation of the scUSDC contract is correct with respect to formal specifications written by the security team of Lindy Labs, but Certora timed out on several rules. The common characteristics of the rules are that they verify functions that call the `receiveFlashLoan` function. The `receiveFlashLoan` is the most complicated function in the contract because it interacts 7 external contracts. - -A manual audit of these contracts was also conducted. +The Certora Prover has **partially** proven the implementation of the scUSDC and scWETH contracts is correct with respect to formal specifications written by the security team of Lindy Labs, but Certora timed out on several rules. The common characteristics of the rules are that they verify functions that call the `receiveFlashLoan` function. The `receiveFlashLoan` is the most complicated function in the contract because it interacts with 7 external contracts. ## List of Issues Discovered From 0f430b9fa0360dc97c0b62ff96ac7f0da8232e52 Mon Sep 17 00:00:00 2001 From: 0xBRM <9098352+0xBRM@users.noreply.github.com> Date: Wed, 21 Jun 2023 17:13:40 -0400 Subject: [PATCH 10/10] consistency --- certora/scUSDC_properties.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/certora/scUSDC_properties.md b/certora/scUSDC_properties.md index 2016e381..64efcc9d 100644 --- a/certora/scUSDC_properties.md +++ b/certora/scUSDC_properties.md @@ -103,7 +103,7 @@ It has the following view functions, which do not change state: | 22 | `redeem(uint256 shares, address receiver, address owner) returns (uint256 assets)` must revert if all of `shares` cannot be redeemed | unit test | high | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | | 23 | `changeLeverage(uint256 _targetLtv)` change leverage ratio | variable transition | high | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | | 24 | `changeLeverage(uint256 _targetLtv)` should revert if `_targetLtv` exceeds `ethWstEthMaxLtv` | unit test | medium | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | -| 25 | `receiveFlashLoan(address[] null, uint256[] amounts, uint256[] null, bytes userData)` should revert if the caller is not balancerVault | unit test | high | Y | N (Unwinding loop) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | +| 25 | `receiveFlashLoan(address[] null, uint256[] amounts, uint256[] null, bytes userData)` should revert if the caller is not balancerVault | unit test | high | Y | N (unwinding loop) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | | 26 | `setPerformanceFee(uint256 newPerformanceFee)` should update the state variable `performanceFee` with the value provided by `newPerformanceFee`, as long as `newPerformanceFee` is less than or qual to `1e18` | variable transition | medium | Y | Y | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | | 27 | `setFloatPercentage(uint256 newFloatPercentage)` should update the state variable `floatPercentage` with the value provided by `newFloatPercentage`, as long as `newFloatPercentage` is less than or qual to `1e18` | variable transition | medium | Y | Y | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | | 28 | `setTreasury(address newTreasury)` should update the state variable `treasury` with the value provided by `newTreasury`, as long as `newTreasury` is not the address zero | variable transition | medium | Y | Y | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | @@ -112,9 +112,9 @@ It has the following view functions, which do not change state: | 31 | `setTreasury(address newTreasury)` should revert if `newTreasury` is the address zero | unit test | medium | Y | Y | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | | 32 | `setSlippageTolerance(uint256 _newSlippageTolerance) external onlyAdmin` should update the state variable `slippageTolerance` with the value provided by `_newSlippageTolerance`, as long as `_newSlippageTolerance` is lesser than or equal to the constant `ONE` | variable transition | medium | Y | Y | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | | 33 | `setSlippageTolerance(uint256 _newSlippageTolerance) external onlyAdmin` should revert if `_newSlippageTolerance` is greater than the constant `ONE` | unit test | medium | Y | Y | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | -| 34 | `applyNewTargetLtv(uint256 _newTargetLtv) external onlyKeeper` should update the state variable `targetLtv` with the value provided by `_newTargetLtv` and rebalance the Vault if `_newTargetLtv` is lesser than or equal to the maximum `LTV` | High level | High | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | +| 34 | `applyNewTargetLtv(uint256 _newTargetLtv) external onlyKeeper` should update the state variable `targetLtv` with the value provided by `_newTargetLtv` and rebalance the Vault if `_newTargetLtv` is lesser than or equal to the maximum `LTV` | high level | High | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | | 35 | `applyNewTargetLtv(uint256 _newTargetLtv) external onlyKeeper` should revert if `_newTargetLtv` is greater than the maximum `LTV` | unit test | medium | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | -| 36 | `rebalance()` should rebalance the vault's positions | High level | High | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | +| 36 | `rebalance()` should rebalance the vault's positions | high level | High | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | | 37 | `rebalance()` should do nothing if Ltv is 0 | Medium level | unit test | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | -| 38 | `exitAllPositions()` should perform an emergency exit to release collateral if the vault is underwater | High level | High | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | +| 38 | `exitAllPositions()` should perform an emergency exit to release collateral if the vault is underwater | high level | High | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) | | 39 | `exitAllPositions()` should revert if the invested value is greater than or equal to the debt | Medium level | unit test | Y | N (timeout) | [Link](https://prover.certora.com/output/52311/27d2b985d14d4a1bb7dc7d6da5f53048?anonymousKey=6f0e839ccb4b4ee2aaab067103d86963d3e8c0ad) |