From d7b1bc86eef9426512ee8fda863e52a9f94baa7c Mon Sep 17 00:00:00 2001 From: ncitron Date: Mon, 19 Jul 2021 18:20:52 -0400 Subject: [PATCH 1/9] checkpoint 1 --- STIPS/STIP-003.md | 118 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 STIPS/STIP-003.md diff --git a/STIPS/STIP-003.md b/STIPS/STIP-003.md new file mode 100644 index 0000000..c023cb8 --- /dev/null +++ b/STIPS/STIP-003.md @@ -0,0 +1,118 @@ +# STIP-003 +## Abstract +The `DebtIssuance` module for issuing leveraged products has poor UX. For issuing, users initially pay a greater value of the collateral asset than the received leverage token value, and returns an additional refund denominated in the borrow asset. For redeeming, users must pay off all debt for the Set token by providing an additional amount of the borrow asset along with the leveraged token. + +## Motivation +A new exchange issuance contract can significantly improve UX, with the downside of increased gas costs. In short we would allow users to issue Sets by sending the exact price of the amount they wish to issue. It would remove the need to send extra funds, and the user would not receive a refund at the end. For redemption, users would not have to manually pay off the debt of the leveraged token. + +This feature has two main uses. First, large whales may prefer the better UX, especially since the increased gas costs are negligible compared to their trade size. An additional use case for this feature is for leveraged products issued on Polygon. Since the gas price is so low on Polygon, we can perform issuance and redemption using this contract for regular users. This removes the need to fund large liquidity mining campaigns to incentivize liquidity provision. + +## Background Information +Flash loan notes +- Aave is one of the largest issuers of flash loans. +- They currently provide this service on both Ethereum and Polygon. + +Leverage token notes: +- For exact input issuances and exact output redemptions we need to call sync on `CompoundLeverageModule` before calculating the price + + +Useful links: +Aave flash loans: https://docs.aave.com/developers/guides/flash-loans +DebtIssuanceModule: https://github.com/SetProtocol/set-protocol-v2/blob/master/contracts/protocol/modules/DebtIssuanceModule.sol +ExchangeIssuance: https://github.com/SetProtocol/index-coop-smart-contracts/blob/master/contracts/exchangeIssuance/ExchangeIssuance.sol + +## Open Questions +- How to we calculate the issuance amount for an exact input issuance. +- How to we calculate the redemption amount for an exact output redemption +- Can we assume the leveraged tokens only have one debt position? + +## Feasibility Analysis +Solution 1: Aave flash loans with a Periphery smart contract +In this solution we would write a periphery contract called to abstract away the interactions with `DebtIssuanceModule`. + +Issuance: +- user sends an input token +- entire amount of the input token is swapped into the collateral asset (if collateral asset is not equal to input asset) +- the amount of additional collateral needed is calculated +- the additional amount needed is flash loaned from Aave +- Issuance is performed +- Refund amount is swapped back to collateral asset +- Aave flash loan is repaid + +Redemption: +- user sends input leveraged token +- calculate amount of borrow asset required to redeem +- flash loan borrow asset amount from Aave +- redeem leveraged token +- sell some of returned collateral asset back to the borrow asset +- pay back Aave flash loan +- swap the rest of the collateral asset into the output asset (if borrow asset is not equal to output asset) +- send output asset to user + +Solution 2: New issuance module +In this solution, we would write a new `DebtIssuanceModule` that does much of this internal accounting itself. This removes the need to perform redundant syncs and swaps to pay off debt or to collect refunds. To do this, very careful accounting would be needed to ensure that these actions do not change the leverage ratios by too much. If the leverage ratios are changed by a certain unacceptable amount, then it would perform a correcting rebalance directly before the issuance or redemption. While this solution may require significantly less gas for most users, it comes at the cost of increased complexity and risk. For that reason, I do not recommend we go forward with this solution. + +## Timeline +Spec: 7/23 +Implementation: 7/28 +Internal audit: 8/4 +Staging deployment and tests: 8/6 +Production deployment: 8/8 + +## Checkpoint 1 +Before more in depth design of the contract flows lets make sure that all the work done to this point has been exhaustive. It should be clear what we're doing, why, and for who. All necessary information on external protocols should be gathered and potential solutions considered. At this point we should be in alignment with product on the non-technical requirements for this feature. It is up to the reviewer to determine whether we move onto the next step. + +**Reviewer**: + +## Proposed Architecture Changes +A diagram would be helpful here to see where new feature slot into the system. Additionally a brief description of any new contracts is helpful. +## Requirements +These should be a distillation of the previous two sections taking into account the decided upon high-level implementation. Each flow should have high level requirements taking into account the needs of participants in the flow (users, managers, market makers, app devs, etc) +## User Flows +- Highlight *each* external flow enabled by this feature. It's helpful to use diagrams (add them to the `assets` folder). Examples can be very helpful, make sure to highlight *who* is initiating this flow, *when* and *why*. A reviewer should be able to pick out what requirements are being covered by this flow. +## Checkpoint 2 +Before we spec out the contract(s) in depth we want to make sure that we are aligned on all the technical requirements and flows for contract interaction. Again the who, what, when, why should be clearly illuminated for each flow. It is up to the reviewer to determine whether we move onto the next step. + +**Reviewer**: + +Reviewer: [] +## Specification +### [Contract Name] +#### Inheritance +- List inherited contracts +#### Structs +| Type | Name | Description | +|------ |------ |------------- | +|address|manager|Address of the manager| +|uint256|iterations|Number of times manager has called contract| +#### Constants +| Type | Name | Description | Value | +|------ |------ |------------- |------- | +|uint256|ONE | The number one| 1 | +#### Public Variables +| Type | Name | Description | +|------ |------ |------------- | +|uint256|hodlers|Number of holders of this token| +#### Functions +| Name | Caller | Description | +|------ |------ |------------- | +|startRebalance|Manager|Set rebalance parameters| +|rebalance|Trader|Rebalance SetToken| +|ripcord|EOA|Recenter leverage ratio| +#### Modifiers +> onlyManager(SetToken _setToken) +#### Functions +> issue(SetToken _setToken, uint256 quantity) external +- Pseudo code +## Checkpoint 3 +Before we move onto the implementation phase we want to make sure that we are aligned on the spec. All contracts should be specced out, their state and external function signatures should be defined. For more complex contracts, internal function definition is preferred in order to align on proper abstractions. Reviewer should take care to make sure that all stake holders (product, app engineering) have their needs met in this stage. + +**Reviewer**: + +## Implementation +[Link to implementation PR]() +## Documentation +[Link to Documentation on feature]() +## Deployment +[Link to Deployment script PR]() +[Link to Deploy outputs PR]() From d4d4279b612bb4d58d1843560a5184dbe6dd2e34 Mon Sep 17 00:00:00 2001 From: ncitron Date: Mon, 19 Jul 2021 18:21:58 -0400 Subject: [PATCH 2/9] fix timeline formatting --- STIPS/STIP-003.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/STIPS/STIP-003.md b/STIPS/STIP-003.md index c023cb8..ecb7752 100644 --- a/STIPS/STIP-003.md +++ b/STIPS/STIP-003.md @@ -53,11 +53,11 @@ Solution 2: New issuance module In this solution, we would write a new `DebtIssuanceModule` that does much of this internal accounting itself. This removes the need to perform redundant syncs and swaps to pay off debt or to collect refunds. To do this, very careful accounting would be needed to ensure that these actions do not change the leverage ratios by too much. If the leverage ratios are changed by a certain unacceptable amount, then it would perform a correcting rebalance directly before the issuance or redemption. While this solution may require significantly less gas for most users, it comes at the cost of increased complexity and risk. For that reason, I do not recommend we go forward with this solution. ## Timeline -Spec: 7/23 -Implementation: 7/28 -Internal audit: 8/4 -Staging deployment and tests: 8/6 -Production deployment: 8/8 +Spec: 7/23 +Implementation: 7/28 +Internal audit: 8/4 +Staging deployment and tests: 8/6 +Production deployment: 8/8 ## Checkpoint 1 Before more in depth design of the contract flows lets make sure that all the work done to this point has been exhaustive. It should be clear what we're doing, why, and for who. All necessary information on external protocols should be gathered and potential solutions considered. At this point we should be in alignment with product on the non-technical requirements for this feature. It is up to the reviewer to determine whether we move onto the next step. From 5f4e11c2a8af5145914b53b2b6abfaa13111767a Mon Sep 17 00:00:00 2001 From: ncitron Date: Wed, 21 Jul 2021 11:42:04 -0400 Subject: [PATCH 3/9] review changes --- STIPS/STIP-003.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/STIPS/STIP-003.md b/STIPS/STIP-003.md index ecb7752..8a4f45f 100644 --- a/STIPS/STIP-003.md +++ b/STIPS/STIP-003.md @@ -14,6 +14,8 @@ Flash loan notes Leverage token notes: - For exact input issuances and exact output redemptions we need to call sync on `CompoundLeverageModule` before calculating the price +- For Aave and Compound, we need different ways to fetch the values of the underlying asset. In Aave, it is a 1 to 1 relationship. In Compound, we need to call `balanceOfUnderlying` on the CToken contract. +- Before fetching the required collateral and debt amounts for a leveraged token, we must call sync on the associated leverage module. Useful links: @@ -33,17 +35,21 @@ In this solution we would write a periphery contract called to abstract away the Issuance: - user sends an input token - entire amount of the input token is swapped into the collateral asset (if collateral asset is not equal to input asset) -- the amount of additional collateral needed is calculated +- sync called on leverage module +- the amount of additional collateral including Uniswap and Aave flash loan fees needed is calculated - the additional amount needed is flash loaned from Aave +- collateral is wrapped into CToken / AToken - Issuance is performed - Refund amount is swapped back to collateral asset - Aave flash loan is repaid Redemption: - user sends input leveraged token -- calculate amount of borrow asset required to redeem +- sync called on leverage module +- calculate amount of borrow asset required to redeem including flash loan and Uniswap fees - flash loan borrow asset amount from Aave - redeem leveraged token +- unwrap CToken / AToken - sell some of returned collateral asset back to the borrow asset - pay back Aave flash loan - swap the rest of the collateral asset into the output asset (if borrow asset is not equal to output asset) @@ -55,9 +61,10 @@ In this solution, we would write a new `DebtIssuanceModule` that does much of th ## Timeline Spec: 7/23 Implementation: 7/28 -Internal audit: 8/4 -Staging deployment and tests: 8/6 -Production deployment: 8/8 +Internal audit: 8/6 +Audit: 8/8 +Staging deployment and tests: 8/12 +Production deployment: 8/15 ## Checkpoint 1 Before more in depth design of the contract flows lets make sure that all the work done to this point has been exhaustive. It should be clear what we're doing, why, and for who. All necessary information on external protocols should be gathered and potential solutions considered. At this point we should be in alignment with product on the non-technical requirements for this feature. It is up to the reviewer to determine whether we move onto the next step. From c3ee2509167b951c849494d18c78b350016a312c Mon Sep 17 00:00:00 2001 From: ncitron Date: Wed, 21 Jul 2021 12:19:50 -0400 Subject: [PATCH 4/9] checkpoint 2 --- STIPS/STIP-003.md | 38 +++++++++++++++--- .../STIP-003/debt_exchange_issuance_math.pdf | Bin 0 -> 89849 bytes 2 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 assets/STIP-003/debt_exchange_issuance_math.pdf diff --git a/STIPS/STIP-003.md b/STIPS/STIP-003.md index 8a4f45f..0ce23dc 100644 --- a/STIPS/STIP-003.md +++ b/STIPS/STIP-003.md @@ -55,6 +55,8 @@ Redemption: - swap the rest of the collateral asset into the output asset (if borrow asset is not equal to output asset) - send output asset to user +Calculating the required amount to flash loan for an exact input issuance is quite complicated. For an overview of how to derive the required equations, take a look at [this pdf](../assets/STIP-003/debt_exchange_issuance_math.pdf) + Solution 2: New issuance module In this solution, we would write a new `DebtIssuanceModule` that does much of this internal accounting itself. This removes the need to perform redundant syncs and swaps to pay off debt or to collect refunds. To do this, very careful accounting would be needed to ensure that these actions do not change the leverage ratios by too much. If the leverage ratios are changed by a certain unacceptable amount, then it would perform a correcting rebalance directly before the issuance or redemption. While this solution may require significantly less gas for most users, it comes at the cost of increased complexity and risk. For that reason, I do not recommend we go forward with this solution. @@ -67,16 +69,42 @@ Staging deployment and tests: 8/12 Production deployment: 8/15 ## Checkpoint 1 -Before more in depth design of the contract flows lets make sure that all the work done to this point has been exhaustive. It should be clear what we're doing, why, and for who. All necessary information on external protocols should be gathered and potential solutions considered. At this point we should be in alignment with product on the non-technical requirements for this feature. It is up to the reviewer to determine whether we move onto the next step. - **Reviewer**: ## Proposed Architecture Changes -A diagram would be helpful here to see where new feature slot into the system. Additionally a brief description of any new contracts is helpful. +A new contract will be built, called `DebtExchangeIssuance` which can be utilized to issue basic leveraged tokens that contain just one collateral asset and one debt position. This contract interfaces with the `DebtIssuanceModule`, `CompoundLeverageModule` and `AaveLeverageModule`. Since it is a periphery contract, it will not be a dependency of any core Set Protocol systems, nor will it have any privileged access. + ## Requirements -These should be a distillation of the previous two sections taking into account the decided upon high-level implementation. Each flow should have high level requirements taking into account the needs of participants in the flow (users, managers, market makers, app devs, etc) +- exact input issuance +- exact output issuance +- exact input redemption +- users can user above functions with either and ERC20 or WETH +- users can get quotes for the above trades +- users can supply exchanges and trade paths for the input/out token -> collateral/debt trades +- users can supply exchanges and trade paths for the debt -> collateral trades +- trade paths can be up to three in length +- works for set tokens with a single collateral and debt position (only basic leveraged tokens) +- produces 0 dust + ## User Flows -- Highlight *each* external flow enabled by this feature. It's helpful to use diagrams (add them to the `assets` folder). Examples can be very helpful, make sure to highlight *who* is initiating this flow, *when* and *why*. A reviewer should be able to pick out what requirements are being covered by this flow. +User wants to use 1000 DAI to purchase at last 20 ETH2xFLI +- user approves at least 100 DAI to `DebtExchangeIssuance` +- user calls `issueExactInput` on `DebtExchangeIssuance` +- `DebtExchangeIssuance` returns as much ETH2xFLI as it can issue with the full 1000 DAI +- if the purchase amount is below 20, revert + +User want to issue 20 ETH2xFLI for at max 0.7 ETH +- user calls `issueExactOutputETH` on `DebtExchangeIssuance` with a msg.value of 0.7 +- `DebtExchangeIssuance` issues 20 ETH2xFLI with the sent ETH +- `DebtExchangeIssuance` returns 20 ETH2xFLI and refunds the unused ETH +- if the issuance costs more than 0.7 ETH, revert + +User wants to redeem 10 BTC2xFLI and receive a minimum of 300 USDC +- user calls `redeemExactInput` on `DebtExchangeIssuance` +- `DebtExchangeIssuance` redeems 10 BTC2xFLI +- `DebtExchangeIssuance` returns proceeds of the redemption in USDC +- if USDC proceeds are less than 300, revert + ## Checkpoint 2 Before we spec out the contract(s) in depth we want to make sure that we are aligned on all the technical requirements and flows for contract interaction. Again the who, what, when, why should be clearly illuminated for each flow. It is up to the reviewer to determine whether we move onto the next step. diff --git a/assets/STIP-003/debt_exchange_issuance_math.pdf b/assets/STIP-003/debt_exchange_issuance_math.pdf new file mode 100644 index 0000000000000000000000000000000000000000..404556e40787c5d5070c7d42b9e5a1142e700210 GIT binary patch literal 89849 zcmd41Q-Nmheh@3r>7p0zIa)j20`A|oSW zJ~_vnBWGsDAe9#pqh+LHg(2;IF8G3B2QUEa3@u@JcmVX$7Pck^juxIK#sJ2@JpczM z2MZ^FUIL&6;Nai{FtRcObO7{n0LH(gq5yU#cDBExvH&Ikz4G6=tSpQGK0X)|TjPK1 z0sdb;U^xEG5oHg169B!sqKWBWH%x5JoXr7j8~}PT3u|W+$G@$$fwPH-iIJW0-&y}^ z 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 Date: Wed, 21 Jul 2021 14:58:22 -0400 Subject: [PATCH 5/9] fix math --- .../STIP-003/debt_exchange_issuance_math.pdf | Bin 89849 -> 90739 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/STIP-003/debt_exchange_issuance_math.pdf b/assets/STIP-003/debt_exchange_issuance_math.pdf index 404556e40787c5d5070c7d42b9e5a1142e700210..066641491ace8ea591d33fa85907a40b7699291b 100644 GIT binary patch delta 29959 zcmZ6SQ*hvK%6m$#x!8D!nWTyJh`G6Wh*>z;i4BOEl!#eah?yjax!Bk_{tFa|S&5m{ ziFugW*^=~f!MNB{ZdI{TP(ZOWFbzRTQe;3mf&Zzo6950kBqL6&$8W;T#$#b&#?HoK z&SGxD$--vB$;N5HW5&v3&TejLVJ67W&dteg#$m$EWzNaX$z{r6#`<5v#>`@2%E85B zVZttGKrAQ-=jQHeVd4Piooi-lZoF${Y-()G4NIDJKWIT*B)AzUXG#?~ zu0X5_ig6Gaa}Eyq_<-xKB_eo8tc><31PVB;vj_{g7!9}(c*sRUH9TBjs+T-pfwN=N za@0>e1OyPOXVj;ZTMzUUbclR_hm+-hbvvUY=eEI#()X@)vw&lRM&d2RyC}BEzGz;a zSNX3cf*e}+r&(LmNn-NW$NLo+v4U)iJdbQn3?dkD!<7O2mhA=|p4TM#5b4LIqUpIrt9*rNH7uvI2*0~b?ik_Ii=eS=^Rw}+0 z%YS|BSKOWP=Bn5Evp-aKZ68#30^PKKJs!+ctEoOmEjbd#P(?>zP+jl9NK1XbwI*;9 z0l!8aU)BTiN@63236Aj#EhXf?3dpI`ihNk>QQ}9{jUI6hw=(2RwJ^03t4#UP!B;gwcS=@?aIU|B$f-7mxsUNuOUC4Sa?*$ zb;RP)AFH}6f|pgQLFK&`vEtQ{pkcm6fVV*!$xp1D&V;>8E|X3jBd5PC?0l*S-g#=p zmx3cf7$~(;ISmmQl};=?_vhTV&_r;LIApRcH?2?w=e>PRWd3FG=%!C%UfqAXv76yU)Hv%}PAZF%0KrFE zRM&!k>_KDd*ZR)ZAd;~_;zs0Iw*CIKNB;A%u>O=M8Fw&Ynf&sx-5 zYOGJ%Aohpe3ivMQWiU0=ET{xy{xh6-2ApAa(D_~>SzAP9ThPe3GZ|7B@JPmZVB;Rv z9GtPY=(CG=N!}T7%Qp)BFkoH&4OI2kTIE{)O?|BG;6q@ z50zU#5D5WA2@W~Qaqx}AAL0s<+KC&we|$n3^jT}< zKk>^2Kk$95fxYNmnof-fV6T${RZtwA{CY%`S_M;!&Tr|ZEr#&0@ z2l=+dNZn_qC$vyi&y(lgaPN@fB^;`P+T-TOvGepV+UrvOCd!lyz>|hD*@%dQ%ymYz z&_N&~u}zoiC5XkOfc=zn-?qLHQ%oWu-vA+Voz3*dtR8WxNSFV%Aok59@>5pq&v3m9 z@7!>3&-Pv8R;^(^5L7Sh?y@as6^_}5vT10w*Z8FC%}=xV^3%V4@C^nhn`-DN8!qDP zG0L2l1YA9^(Du1Nb*-rEM8 zC`eH+l`puP42Ae)Q)Quo-d2r*nZz&)`(=oV!eFf8b9c=9n`UoLqbHro8q1%Q=Z-%D zCu?P*MsWGI5dObdc3&0TCCp4*;S=$EeFi*Uh2=zeOqRj|0b!Qb`m)4aYlkOxlS`dM z%$naZAutb$=wnixCJ8aQe)LsHEhm3P(ydDpR_Q!ZA`S+c>ESlH`apYoa)TdPMuX9?2tKLIldH3we_*n7yA2W@iqUSoFnjp{YbLD5$VBw52eJ^fAuyna8T&+vxoL zZ_VTE`{uL9v6}%CUraDdKN`dyh=$aF%7-v0iA_*+T{fgL3^6%5>3=RiJ?jX7iFJy6 zx1l%Zh$I;@L+HN=q0mZG!-O?f{#3>;WCTO%xW0q}i3SPUUl4}1At4EBNK9PX5r$C3 zErh!Z76Iu33wnp)UW&;yfZW?l2<71^VfOe6gmez>1Qn*Cf$iJb1EKJuMuUPH1nnYD zWm_UpLq%`}$0i$Krk?yJqUiw4^HivjZA3(jjEq1NyE8z*PRZwHpl`y8azQ1PnWz__ z;XprdaSEYbBffAHf-(t=_Yv;jrc7d;#b19WDuayeLV=6z8D^q5aYIBy7*~PEwz`A7 z5h}kJ8Rzwb_y-A1fr3B=eak*my=jqRe|Ry&AV_xj1?_$@cc2fT9zg++C)MXLg&)fP zASn2E@G!3TqQ?6og2b746QJNPTf8uZb>=W2CX^p+1z6ay_rgA~-h-QgGt@71h?X<9 z&XI6KTLf@YKB(VkN{S?)x|E9@=CdFk$d3#b27!Q*1jR2@Wahr@Z#J7&9`B#ce3u&f0QoD5{RRpu z+8_As+dRsQ@H43U^&9W&JsMJ@=0Scr*84m5gQ=p4bqG1=2n)c3yn&aCf(H#MHZ2B$ zg*6fWBZQ6VI2y#U*B< zVBdp$6}*1&9ehjO8|i#$m4ACloozch_J8UFpkG8n69h*`-_XHDbzE>{;06$q2shv1 z*<#-db&MEb_kicOQ#~eJXi^B;=I=|Rm{6a};g3QTaBR4X4=l5iF+D9=%UksjujkISE?5BGD)w$998cXHN4ru!f$Xs~xwWBP1Im+l9k>Wmp0pdrNgkAPY z30nTPbG*|OF8Wz$y#J~Lp-s6^#?o{z)w@7o^cCmQ>2-m3w6^(i;$xoitmOI=;i_x% z#^Rt-bxfLQbSN8lC2Ak~NbbQ=k4;4WooqP%egM8ZLNW!9V8jjGUCc?&D=ixeC+g}h zhuRU!5b%Y{4(r@+Gx6H7VtRN;C+DIr|Jvg#+*@JSe!W$AxCq~~%FBk31oTe;#sY5!|XI%>&P#~?#q0xxx)xuB}%s|j<=D_$p zGH;qS6kCl56#26K4%XbB>;cXNx{B>9&9f=ifcbyAVuNo>3ahF3lI`1(&wbUo%b^pesT747w&1)vS`ub>FeY> znyy>v6Xml^+^5i(v`ZYR(5BZJqw7;)DP!88m@n0ZUO7SVef2QmcGB^9g+Iw?tq3rF zq2B#lbo-mTdp7rC!`G+eUnPX7G_F4n2IzU#LwU9~G)Qk<>ve2Xx{k_~XRQ%pfG<=X zQH?UrBkS~YN_ltG3hb_blZx>j;`Pzm1y(vW3X7aL9bEQsJhaAjKavrAK^wU9^SCV5(gRou5JM160mHO@wvnW?|-m_4me zA%3*@Zr6UR-_8$S_kKL9NjlvX)-CDAJDlDc@NjM5l=qIOz?>e><(PTOE)!BL4G5-R z>s3$-O!)ix$YS!@=TUgOiOpEcA1x=%dnU{C@|-7fuk1EcUh=`w(wp6}0*bSnOjgny z!VX4}rMuyCnOJ`2!#|uH2qlkQRM@5h2jUebJJBcbW(e5Lm>+nWQUW{bSP4oBLO0Non`p6dkGU!#xGubyE$j{S>})oa85bg=?!Bj$n#cC|G> zS{YR;-5!cshlUfI=g$jk61~uTi8`TQRj4-0kgJwjItb}YPjz?nq2xV!S28kRs~LeY&C;%ThZV6wqX_%veOO~6J&IEbh$bs z8O4#pRmD$+GmyI^1x|$cbM(nJ>-vl7I+pJ*o>tEotrAS>!JQ*LHA*2B0)JKaX5!j< z`8sk56@u!rpK180IEP(HmThp@&8>D;9pCy z(o$x`*LZL~%~dHP6FC>7Ga+=$Y_mgS(cB+`gw@#ND9olduuCB-agWoZPWqP z=_jX=y~kfIz&DomAQ#_fa)vkB277^ft4`PGS!a*u34w*wawrTRdq75w=V4y<6!aLo zQ|depSk@z2sWzuMxeSI7y-+$*fZj~waKTU+E(!U=N5lS~d5y57pfTQ>LQc2A1QM4d zwOOXF6@Kyib2c<>=0+?ZAO0Vg7OhUxI;yHNDS9tGB?GS-8*cf(siQ zgcF?aQG0w3`fzwnoBeg3!p9+v?~I2gA2a6;-$_V_Z-O*9u|2#ygd{Q5Tdb8NFX0C4!l|i5ec=8#a_g z(#@g~K;{_wLE48VUK?${an{O@c()DGjP|F?5ygO+Q}v~(j*Q-g`1UG#Y7alGr-_)M z&R>%uDqKH5(V*Mn2Y>XWJ!S7koC~toboQWk(B~-H{qBf$#CTx6sMGuBU~az`rR4vl z9W`Xs04xRkji^Ya6vV5IK#KAm-Oe}35wG{%2CSKyY3f@y)>?E}TlSVFll4kX5jL{V z=Onom5%{*Ey-J?bB_lE3tXQ)N88Q2XT0np7Ed*LGusv7ueodY= z&4!69bsD>Z8>wkueD3pAV*`mLf; zH9fcM-pG*5C$xeYH!5VwudH^KLFa&-0R+}o3nAiW?{hR`HyZk#4YW_3AY~uh#8fEZ zp=V4sMc20zFkGI*#=+DyTj2&&3yWn0-SMdI&_3niNx``xD=@Q;v&_KN-PiA(y|YK| zA*nvmzD4lM!DN7~wlyp0oAnp?dpsd-FmdC?J%)vyc*qPy*8KPjOR58M$Xs)=3Ix9Y zY4D)n23qPn@&l^YsX70ItK*c;$iBE1DNbQI2bc4IH%LcIX z-!$KXyL`kIe>l>Bu)yNE-Nm$-9fan*I#L^0b$6nGf0fBwfBFQb{IpEou01|U+xt|| zKjwoJ)762ucWgLf()&_KaGXKk2D&9xnWi{PuwC~}Fjot|hCbWbxkBO1nQ~Yc3x|mc zLL=fw%dBgq6p{t>e3WuBJ52mSZovZrn274$+OHQLvnAYYnjO>4&$6<|NT6F9y6XwI zhtx*+J9HghY~a-{D|OeA7X{ltw(M_(`nFDmdy6YE^~OL0T53E=Lf(X z7H5!wej_g3>x^kAqaQo== zmI_YHMw!lTC*%wag|6(TK;krBnmMzadLhSrYZ6QA`PQG`a5$S}E{zh?Qamh}$izs>Is~aMew`&))pnr^*?r*Kh0_564tE8SUl<<0omF)%8I8hm~ex+ zv-@fG^VZmhF)X`bvJx*mRW~n#Mq;LtIe$M^Ne7`}|4J(yL77cRTz3P`29c&mVj^9` zXKHo1(2ONIXiI|&^S~@Z*yl_2yQe^k1Wp|F)->z>Z33RqnyVtByk!(cmYS>*>wd`- zUu7w*A;C}=6|8_`pmncX;>g5;?zN}8zoT{x>%y|a)6eOu_;}R&7ZlP)Ui0(fHLmZw zZl$Mf{=}NDtn%#vdA`@p20sB*T+mU5SBi_P z);>YH1Zj0!+Q#RNqbQBE(vM)t**C@)q2d#ml3Dvcs|1>NASB>-Gx*8fM1-UP2*#iE zbgygn9lBB^M>P&~i%d%ts6}u4eiitBKR3Hinp)vjyNQOsCF?&Lex+Poc#hXTCQR~O zT4{E3ZgEex$ZM#W&hGh4{5{D*u%!q~YDt7%3h7G=xaGcYNI$*`GR66cZlda|88%2@ zs^`}Y)n%m#0{DW-fK%G%T;7`PT3gHetKPkBspJ;ybdj{y!Al_~v9I$prl5QA9lG+7!>&lSx{Sqpc>JF|#sVWW-pC9ZxrM+!1J|`~ z-LpJD^PPz}rxV>S*UrK_iydbf2M-a5z0cV*@tm-YpZ}3BPlxZlRG%jyTOSwg%*$I* zuf|ApIFKZeA`_l6k#AXlV!Q1(EAy)jH7npyG}Dgo`o4-He3=4HHe+C!GYWD2mQ# zS(t9FBZbRDJNoBei_I1t=pnp~yNP+e-g}QVVW6SgL?whwtv_Qd>8fKG;yFI4?B*=U zzqX&5ToLJ7VuV{P;&djKtcUdE>uPg!g_HibwFIFKVOaX3LV8N7da%GZm>&4?fu3(O zx<-od8CQPMrx9mT`jR4a++)}88Oh-S2=s|cPv5A7OM1zpu@yeUE7D$`v~+=En41X>#vRxPs4+0*B>yZk(R=>}^o}g<(Adyu#1F z_GI5DU`+{{M5R{AZ(D?v{rmwao=^ahu*mG4E{cyy_6vs9(P=RCb7Aw>J-Y!IU@$R& zEwN##JF!fE%BcKMs`F=`|Ed$~SH5B7BZyL^ZF`r+3q-X4f3F;+$5z*PvGt+o5NC09 zYCFC1V4pIj?dCH7Y5@1lpPMs(#rcguS>8DEo{L>pAU*$hOVyEjW==A3e4*PrDfWtzTz zCO&%i0QDrPs%E``_qm-WYa^I`Y?D#Wu0s3lEy%5B7y8&}7DMT9Dn-<9{*U1iNTr$O zC2=wzQKFgQG%Xt5cF0oF%jGS`g|4jHYc}k1Q8CcND>1ZhQq#u8JbzdR!0-j<|7=kh zOa>+5#{X^*Ark+KZ|KF_{4Sm6{NJ3yRLDxTnarL-fM(++4XiTqLr}~J$URD7S6W@2 zu@%_TaPq4*L`nbr6|vKxKGWkS`rkL%Saq7NKw;n@oHlVtn%b46uS?|ZW7`zP2_o65 zdyHRzT<91>$i4FKQW4(@Fs4~MG#*3TU?ejBV_rME#z>Dh01{7ADLUqP3j1GjEIdeE z{=6vZ8zB3Jh5~!ACFl-gF;i=`Lg^2J9&?s)rUComIOY9)&pXR7Pl}v6W$gbgmiBO= z#d2x_Yc>MT(O$ukS)}KJ_p=6svWK~?o?Uz@nx0tK;K(|n-WE|5kmBg&;Z}nvhx6bJ z(tw^?@G|IT*=Z$}-I8ing!mPH`H9_kH>(mMg!a^uJm#ij=iL>@x>9yswNjUglU#%6 zTa_wz);hlDV-j*xW3BYx*3AXcFl;NKKfKUzHK^2=_s4DFVTz)v@%8~dCnqb(^M`FM zHn!~5LIh#G!TzKYP#-!VZ6$t6uo?A6Ew^QIOoFE*X`~2;y~>phAE)372gG2m=Nb&) zKJz?#pf`k3b_nFdAg@{R>zU)5SGG=1!cAmZ1O(s|^AG=3LAvqp$)g}7c`kH$|8Trft7r?G%5NFHNE_sBb@c$M;CF@jErAf@<2n~<{vCpyICYU2u zJE_s=T*6rd3>vo0E9+V^y;*L4xD^cyBC}NHx!-ihZB@KsDIvLd!_{t|-8tfYC7`S{ zP3!MU41_335GlaEbmI~~I)2}j`l#yEN{J8BehM5`@rpQQQV zmc>WxQo!sxtEO9(7;xn_c4H>+~mavpjyRus01WAPWU;)oI zbny~QD@EJu_jzUuD>y9jk3p<3F(L|jZd7Xe*O-@L)Ja=5#m{LK4Lq$w8MLeMiu>U5 zs#`fAVK`qAa`prL%1HHRPgx4AdRR|V5HL5x=f4uI_tz5=8kT&G>;E-UJjSgq3(p7lv zSTEB+Kd|xv4cBW7rA2$E0e(B4N0R(Bz2YQM6s~>oT5p*9qjqCX!5slPn+66O?}~t+ zjdfhvOvAo>r8=Zwf>+{tv*1)v7`#=UNpLDPE3zWO;@f*XBj`eIL&wAO!0nL^2t zXmvvfEmHb=2g=f*vqxg$9f#V2$O9uCVAedvFwn*6(1gN)2TL_nz{pO*z@lkRFW9ubOT z1FilDI;X~*!JfqYhSxRX7)+-D74PtTJ4O;pV}&)-yRlp?W(K?xUezk0n5L!0V$)pJ z(Ekp-g_&tQ4i{q{4$q-at|dC8RdTR!i=I2U9d~ok*Ll*Wrt%+pj$4`9#AE7;Uh#?Q z7HpUGrhOB|t1xlESvaOVc%Y>4Qjvr5{9p9PlZp^Zq?Sh+v^FV@oP|#jhs&HMwW6y*)8%QfEAp5g5{=i$Y!~H2`{(Q-tDRuSIs~QP z9PSMi^*#?#7KK0?g~QUoHQ*MsI2+IZhKrEmpAj=>l@(4?Q-%`Dz12p}yp!Q>2#tIs z?U00WzRQqWKpTpk(mJV;ge{#S~&0`zo=BBmdpXFA_zuv(qF}Rm(TXh*J z58KM8#)6{;o%_M}#lbxscA`Fq#yL$bL1hFVl@TU#Y3xI1b!Eq}lkcsaEGUfb52#r!U_zjdgm*_pF*belHJB_J}w zcS{@jWAy%ceWdhN(#%s{< z`x67%K`ybledALF+#aMfFw76! zQiGPb(YeNn7O76_#Pb8D)Buqw5(H%mj!bhAzIhj-`)R-wBkdA@c|73GA2;dW)W%p5i58cii_W1VCXuRQ2R{G} zbI^y?xsEor3*-;h&6-#7PoeQJGA4c-kjfD_T$27MI1J)_DY}8YkVm(PZ}_1S7CZ7- zOYg^<=+!&M?*-DrFk6=ILfhJqBj&&=p>)3`5e_#7mlOMiS1|jV{%gFBRRKZ-xz9 zB2sfU_n;+?*@7yMg{6C??0L;B{#r&n`(=p6ThX3cAGRQ%0Z>0y%6qao4K1cu=NM)u zy`T^txE$EdKlq9gkU_wRKj?b|8+wKX`;wVrp=Ahp$+1JsxWrQHrK&kkOGURz{-Ylj z6^l;LOv(3M5;;%_$O?14E~fKRI6tw_eX;S3DzIXkXH9Xa;nD1|*z#!_-h(B-kB(W1 zj$rhuZ|3T+0vd>5aW>9E_C8%Wx;jT4;5tS*!#S;Yrp$a8jizL`Cz9}|qH-rsOOu~n zZ(V4GzKF>$L!>9;DOsfc?I9`(SX4Ck3w?$%Y$GWa@{KKKVN;>W9!xa_vg2xTzx>4$ zm(NAIu9_{nF=xR~sC%O1G9KGL_gC36AU5votgy8o0}eKDp;-evE31R|ng0${W>Z@Y zpU*El_Xu^_h>A{ag2CeL6QqF4F75RYmgtO|Z)EC12gPMNPkf+}+ZU~nc$iw{{CYa* z<4>GB$ikl}>Pc=6yd6R!y4`oesl==QGxnEvinHFy^`p@v;{NDS^g;Yj43Yzyg!s2@Fi2-h56GcC511^ zLfwh>iST}bPHQdRx`X+8aY1~^Y63zC<2S?5ACh~!flVC~CrJ&x@5+MfHnGgs?dc>QPhYRHFF zU~0jE)vFUn&eOe+u8aYxt(ctLB}ffmyRQAYH-&f^b;a~G*bfE&>k~BFV&2-U3&ag? zcfBGl?qy$Vm#lZ=b}NoD(khCfQLDLXq=SBmp_git-m@d`pGUms)ygjJa`?vE&$hB+ zicKx|s0y*GHD-R01-?wfk=4-}PXV}|a}qPj zTR2*|TeA{#aq;{=s)U=1hv$D&C0>x~i`Va*3na;;(uk1cp>e5Kjxs8?v7jZKZ89P3 z3tKb{TNE@jG$gViq3$x$-?us6JJ$hoK0D2BZF3$gZbox%TXV0mVKQZ7hTGPTGPfKrHRe8Mg|7=YxH%fViyvB;)C>AykH4oK){L>s%%ncZaKvd>{vLq>ue8-Vmdk@dkB}n0MAs=VxlDN z?^kdi=gtlUyR%4F0GV87NZ6qhE@nNdumE)CKf7N|n?@|{ltX}nrZT%Q2s!W&t0WBq z;sGISK>T-L2mYjsv=HF-3CwZg@$Mqqg$X)jK>S5Djpq9=~0hu=}yVt?@Kxpe)q?TW*|SvpX)gxrLlIn<{-Y+&M&;L zaa3>(#7A`wb?)!tj|4SIs4D=>`FQ^yr1LFY5C}hUAjv@U2K3x_O$lW9=koaXq=sih zD0m>&`_}cP0)& zC9Jsqd`JsOn(fI)`+LVwx8F7qMHt46%J2->xTc>K_FpaMpM>0enc(X1@jpNNOdXqr z3%~ES6mdqLo^VCBZ10t@us!%(PlS-}xWc!QmVqadYmi{Qk9j;BSc`5aI)(k>O!v5Yq3U??Lc8+^8Okw+Ij?nXkC- z4%I?sEb35aTQnrp$M(uQr!Nf>h4blFUi$FnjE8ebrWNNpSU|8#FL2tOMv_XvLAO=f zq$);gaHL#8Z0uHR>|>?iif%cUqwa%BKNjv>GxkU&g^S9I(sWDdlu#j=-MEKMI?)7$ zM%dHLdOjk#4P9DS+vB_;(VM^W>;v?(K%pR7;^nM03n;Se36baHQ_Eo=62V1lH%nS1J z1opUou3h+LWI-zG(HvYIMPsPyVQ!7WU%>WPu_M)LA+^V5t?sWE=;Vy*gx}hC=gp^( zSkhP|C+hInkzlgnh{S3?_M$abP=C&vXD*DtE?hsf0kk5ZRdtK#c_lF!^&04DMsW`> z%>o(;sQrvOYfm*6Hn3hz2qX5ss!76aq;oQ9V|}MKrx{zr_8EeHLzv7a1Mjlbzq@p_ zNCC~&{@?GAI7CE^==7EH*MtpEQcQ;Vdr{qZ-yTnMe>HLb+Kk^RM>yXxw~wCbB&2S7 z9sBVQ07@K*2b0V?TvqR8=n1YF6lSf4e%|?3m3qy+1GD>DO_9tUFhMN;J}vbk0d5X2 zwVRTKti!tYaRiD?6-?|fT%FNlDM58Hfg4K%LD34)f`)sB_G*S{j36kI;xWVu>GQr{ zU)nio#!jAGsO2L|i#gy?<>CrXKLY)1{_Li40!CZrWY87`esorx8jEn9%xkJ37msI= zzMIkI7*VZMSfdDf5RFWS_k#U#nG+3`r=ulf)5=e`vg=WK-7{hPf-jpx*FdQQ!L81` z;71l^V8X3NHO;@cSH#VSuReslz^fsjgliDPt)fA)F#_D_w62GxgqYo7#1}cpR7>`5 z0MKWg%7?r*DRIjji&$`>h%)1u`xo$$^>E@i{Ngvm$C1X*$u#v*19!dGcAMGGSzd_| zEHJHGI}AU))8NI8_jV~_*!a_a|Eb#0nBVQwLP9#pT%kmbC~+qGek=vwWrm~8hQ|gB z#7I6H&2w@6w)@oSL*MJqSLdpv6E0F3KwEz_;C?S18P65uvI39XB=ta9F$r-dPG9&U zNlNC>oSz+^jjNZ%Om^iEP)# z70YIHP`j29?K9mdt!mDQ1^0Ziz%Sl!qx&Q}Y)mD2+_1o2Mw9Ba@{WfTAIl zRe35a|5ni~i0L8kv0aS$vBuNoL#_r!s+2L8M@=NAPR3(NCBd^LdG)UshK|aMtPPTX zB0#Wjcas6s^MVCS{}5J7&7EXeQr6WgvW>6U0EKA!zzZ)@M#F-<@;bhQO(}4;8rc zo7Mwa6K}&bU}IZx^_$edyHg0b{cvyh6cJsBF!e2y2l@aB$p#)fD!_kXys+GQ#7!96)z&knhcap}{3LBciAoREo zecwy^Cj`P|eGLBgDBoNUEfJIPs9G34Imt0;V3W8Md#uIptH5ss3`i8g@;4=XhF+0r zS&3kO=GaYKi6C;R@|QF~?A-fSy#;$JJktFN7Yf~*K>&k?*yx4&DH74f%Hrf#cj-xy zYj$L0A042@ico(t=;=c0RCM!TsIqIS7?5hK_-8De*>REcgxRdn6kZyZY$kd zBIGEv-yJ{WoBq`rDDr(8lguVtp0=ew@lmn(0jl?fJP%qBeLUhD`_%+<|42eJZIM`)eO)x5zpf;S@!@Wvz59^1LfZQ{2V#;AoeGFT^RnL1eev}OjKpZ z+@2=M^S>u-6)I!6-^_})F@y=~4#Zr_*lI0a>aVj$kw5kD-2$uIx48;wDbu&K zN9ldRw1#M{fH_$s3JPNm=&9FOpB@MM*D{kby3IqkJcTvKVmZY$MLD$eBs+%gVesGO z2%jECX}q}MZ2F30g1UOn!hh*#+t);v;-K=Qq0#=8CtIyDQuv0R@*0PWW% zkKX+oPTIiX#&`?qtx!S#_HhV@@#7v zTrj?#GXarz@sKm@uUHoHxBwDc=GhNX%r|H;+&Ush`RdW=>^_nf@BG5zY5kSdKQ^o5 zPjT6kfZ>Kq-afn3;SZ14j6-so^qa*{)4{WAWO<)ix3S(_P;sKR?Zs36(WHZ@)Q4fJ zHy#>+`QBaI@uTh<&k7faPm&l^J0+%Qe=onh!o2cTL)+MpGg8?MRc>3!K2)|j;l*e> zUXv!W*ium&@J7i1Hfr>wdku>hJnFlfR{wqRt8obZNo1 zfk!|{@e=wK5k|QF$>Tw3T=W91VfzCU^!%3(wn(Tc?@#M|-R?S`X5=FpI}+?H1?)*Z zK)vLl{Nj`;1yIZsl{vgVEsVNbr3ST`S1spRGJ{?!P|XobdU8qYp2*tKW7r zNz-3;BHGb=rh9O)lhKY7Pv1+lXN+e7j(=mIR+@l`6$eJLPbd?BQy%v>`O+;|#v zqy;uTwSHPGdh_vosaZNu2Y-fc($y^7JUNH13I^D_*zB(o`%|?;0P1}x6AM~4*fnu&+V`~ka-?bQJb;; zYbhZwIbj4mdf$L@^zRPmn!}VDo(Y8L(ZBirQe{fyz)tFIXDR6Y6nhoBe5mpsgsoN@ zBhA94Jclp&k5rtV<7Z{R@_l>@9Icd;_nC=pJku%g`U8Ex5F+-DwxG)`l71ZXKCCzO zw&`0dD!bif_-Ka1+@<^|fZX0ZW?p_vYDbA{hpDB=nXMwTjIwkTJoMmcLR`lu`w(kw z@4X}KnhFomSrH`|UC697wtvq&F%epT)2_;cAe_Ar@B{e>9KDNFk2k-TQ zR?$n{dY_V*=t%6}nExdo$XXUO;_6u_F{xhZGfOReB6V?4db=ezKr7a`(pEGR7ZQE< z7ro{@`S}wJga;$WqQ&y|bV_xoNM6R7jHXq)!LhiJGut|6q_+0sw^)3LsdrYCMV)zp|HLhYozgS#<3m^DN91NqB zgmhY`=zrV)ICR7{f#WFirg=JQ+8<7*qI#I`{XNFwX>|X zBjk7ahZpKe0ySI8_~&$Ba-W~J&&3wrfxE4fau_BQ7 zS+C=_9_?s4H28dmc%IM-q{WVqT1&LGJny?Wov14%8RN8ntk<7ziJ9C<6(;Ne|81){ zavsY&GUL$n$U5ZBdqTF8BgU2+UX328-&72U=*9=LfZT1((qUNl0Ildl4F0twGG{8* zcv`X|X`uF@?WT(-hhZkWY>vb&@A|c&oTW1`rB=%)gz6zA_}Ag!nF7&%?gLw=FsYYI zq$_g6w!3xJqVZ&*$ew{|`&{dWbB=oq8}?6}%`>^>usfA897 zbRlUHa3hCs@R(*-lHZnaNvgSYi6`R#Fgx5PD(MyWOWniQM$vz!JGLRVzs@W8c~zuG zDk8E=9qo$1g<^;?cDmk}AS6{%uX~#2({Ti(6y%o`79vR%-Pki_9bMIT=2b;_HI#C& ztxbZd6wuS@tXeXm47;+)CV1<(BzK^Yh*$XmhCc?6rlkDk_v;S0BO$D-Q?Q zr$oWF3uMvL#?D|LA3TRkxKVy}yIYOi`A~VbK_00h&G7(8(Y8_%Jmw=1_g(Q2>1wY^ z%Ra3B+FDyL2jx#fLW?6p{OE8&YI2wO`U%as(#^uUE4R! z6=ZkY)VBY$B!*@NeDDDEbBo8G*#{*LMfS`zjWQ8s>EG&-Bw32J<})_un9Y!m>t_84x#J(iSxOD|JozH+OPX9GQ*+b)loP zmoTYdPokfZX^Y9ryILGoIehvlsepgsC9@~)x3$~vr(69amDp6pznu|qsP8jL$*7zR zjAh4*9V}D=GCVAv*TJCz|2CJZH@9Ap-&rVjj=3;|o|FGiZRgnBcNezn#&#MvZfx6V zY}<`({9@b5KenC5wrw@G(-`}nJjSJ8Yn|tD9hd9ip5bEY2}><)WiDM? zsBsaj(k;Z&DL>8G2BAeH2u|RluWt~DkibwuL|A)d?QK|b9GaZjTVTPzMrE*2?m09? z{Z1)Aq@Lw@KP(sikb#Weho?D2VB_7%Lf#y00LsOLSAX(*W8MWj-2bF08xfyR@O*I( zH7)4)-AtT6C#`7wr4yHMJEblM{RlNOQ&|Lm`#TVFN_LXKF|DGr#4c;ra?c)kDY4$# zWX>3>l1Ec;6YgyL1aqC+C@i>OMLoe zqK14d$|b?JRT)mE(bihd!RH<1voOMZl>Zk5iDKc#V%8|0I4_Tba{+cG-0a|3S#(ZH zc>7OEroN_4y7@xUm*@#PCT~zx?giW@%2%Ted3AXe{K{dpPaXDg9&d9&E8i zh|zuxKDp;!nNM)kk5Es;TEVtn^@7yIIvd09ub6}^PTJTPKt&?JecizD7T#;d8;e##Wj@PcpOp@euza&-(DaIMi z%~M_pFBGKv&@{-6}9^|iB-wEHMuS_2uB=wXwgsie`XbvOw|R&3{s;qONZQp3J(U%<8d0${Wt*1NzB({S9i2)|VX^IO|GU{wV?(k=EhWwVDLWW&#_v^VIEtg##{t zr+HT=$6y*X&je9^tQM*BJpvEQ1lKE$m*qt0Y~*HSIa~?YLQ1U}SmM=P*RnzPBp5h` zGzr=8?F6^42CY10@+G%H>AR=%uZ(kNKbUdydgMO8d)jY7Z~WY*2CBZf`ZP-g>~!`p z7Qc#czti(~`;&%c9K`<#^dh-6E`9o!CR}+KE+^J;_yAr4vCJ+}DTIO&AueTS@(^pa zg7renF0ukZO9tX)Jn|gLms7IYzd>=PBmTjH3oD#Hyk7Z7#d!ty>E)GQwb4g_>BoPO z$@9Gl-&>Lz49r@$V=he70!L+|ewwaRQuQC0d|-NdUxDDIKAU$f-D<5r%541^6g48g!MS(&nopjiA3DSrV7 zc0&d?0wvq3M?Tc1k=sgnSISRXi>_qIWRNwUJ{w`1AH9r+R}hL)Y?v${e*KID`i^8{+WM%?V;~k z?ac_F+NG=-Ptd&A!K4jxQ;LD_`6sT0i}L5gsJOzJv=~;$Wxa*jIs;aRmfqNzS z$Xf7_C$n;FRCMR!)cmG-iG!~*d26%}6{Ck%!({2mlX!_#tBPw5%OUB@!?x4>;P)>l zA-JcYdK%#(&6cHMmxjmNj8tX%>CGs#MnprvD{C0>NUCsG1moyU2udoDy1RBMP2W0% zBy+|fHFO)F%lUlGvwzK}doio3?e*7%Beq;<8Rf3nxOzYuClqXGPgLQuQoYsoBaltc~)~r{IerD46k0I`x~7iE!p7J|1j9 z{m9P_zqr#-7Sc$--(7+U&chdhdVSbM<+FbJw8Va-)+U^nq9ssLDKr12`H~-`xL14; zc7WA==xtiW8azpwBCrX|SHR9g&Ci#~attx;lViS}ax#fyK&x0;{h?JGhf?ml-ugUh5NyrOCo9)K?(UDX+4 zU(4K2M&?pQ{vjVOs8B*56?oF+GGq+R7eSpZW6_xE1~=W$Cc)R$P%we4K|T%`(0dzh zGdbdC}5y1tK3trKINgGWxulV;xJv(>`VhR2SQHgl|~WT~3@K?!sf; zAr^P<+LK-zA9!cKn)Bw}KfCHB^}8s7 znaScvv)T77FYvc3QS8=Zf^FC&&ZO${DwcEP+>Y57z6>BkqUE1*8e9=t6u%`>Et8k4 z5k0agc3KqNP|?QEH!h)5yf^eYYoO&u%t3VUBy#QY=K|7BwhU4~JSUtK9%-<#%uX$f6HC-Qdu9YZ@j*Knw+p=oGLBbs*kguOqtFJH7dWccgy2A#Bb}pK(;ZJEeX=(_w zflb^fDw^XUyuP3R46{iT%w~Bukt*THFbXc25J}}Fbeiz{^d1;1x~2rl`!$fkTp-ux zZEqI1H?zG@apVO;Ub2r}8}q&VIU7_BO1lAR#;aSzPM@a;nwq17x>$FTe7+un2kj#` zqJ-{@Y1%bC@3|)Kk+KiS4q+l17I_`6DGYxnGZ24dr@`NWW6WsUU+S~Y`D-h~l2Q#f zGEvh-WaDyY1pxCKOE#GcT1~zON|4#bjg17qRYK)7ox`(outRUmlGO615g7dc77u5e zei`IKwGyT39$Fc$q|Zi1H7;z4cORG+IV-iH$1%BcFjKf`8g|-L@zug5X^S5$aMeFF zO8H#j*o7Um?EU4?XA^V`dAeM&Mr8)P1c`)hUo0)w(}6}JQRJy8k>>b%I*1lVnAOq) ze)e8xPYOu0AL>J!A2$W}*NRKFkM^)}2B$G^uS_vkQ+yO^sgjR1gzBjULgzRdqTs)` z%~)BCpq5`|m85B3REg&uX!UtooPI4IJd^uUH6$e2v%bK1_F<>2fg)D&4)&XGc+F03 z1u#P276534pPQ!dz6Q`e^YO;;E1ALoIR#vb(X9*ji%5!VOrZJloqECg&6FVu? z3s5Gy&Wt0WYejpe=WI-}&WHXWtsFA`mtSq^x&crE;l&HPF-IBW@^B>tmeT%xd1vv* z@XyEuX7Pj(WrGPY_w(6Sl&Nyx@g-*-T^pa;d)q$9h*+R-#j$EJiiaFTyo;MTn^{UG zrF3bKBnhoomYxttPv~#uR>)*hXtl@Qit+2a3NE!lxk?8>*M=PeEF`e$vTKe_ccjv@ z4DcN4UQ0MP8zkxY*0`qTF(pvu$+2g2rnA&;*G|}1lwHWFTVtxH5NAhoTEEkVTIw;5rnyXqI z^8y0B_psY&*lTEvGCphJE8cmlX`kuozn|iR8^~WyC0YAQMr|0lsA9A*7Fm*Ang0PSzmSZEU+#BUE(+6UC)@^|4 z3xitFlvQi0CoaUFjCrRYDv=Az^5V?1meN9A%Bc37&$8}D#nTYFXkpCXW9aL+fd1OJ zll$`A(lXGgv*29$bRl*F!2xc!DPtA=V{byRZ&@#iiAGL){cpx-g?%p*;cfA_3Qf&5 zGb!}0cFuJAlk(uiwJUz^`cs*ByNw@+(NrlrnsM@Ws~1ap|6)hZ|IjYrAB6|E4AT*M zpBL;Hv8JXUFcz(A+Mh#mF=743u&r1*+1XWg(=V(cY2VB|W)+r{L!wlG&SeH3UB<}HX?yG}ijQ?enV&{7h5^k@s z5|nc|oPQo61S+ce?`M?1=Wg&*urI8&{m}NUuRu5WReG3HbFOv8Dwrpxmlb!|?d%0T zfssD*!=-=I2c@QiNhK?kmr_F91iCT#;1{iq4Cz$+YXJ5 zh5i5GEFA3Y?EhDi!pY9U^}lfzHyA~X^**{&pb+OlL$y>c`c*5f23CGokmEhW|MX?C4VonP1}ZO_A78uq(GJ)f zlNH@XJNjK`sj?u&(5oO9+5W`C1oq7*8Ul5gLW;BS0rvr4!eD_byEt^W zLukzORIw-K(Gp-t@4o)1mc(N6aHO@6&=AGFhC={%0kgCa{qJx6NWbae*n|rIYWn9< ztaIW7-P{bKDZH$pQz2r2iC}&|90I~1mJ%Eg!J);$V)D5ZxDq``5zio+#0F3ubb%W| zWmtpz!Cjvep}gK+At@?!+K6F~vhZ*S2sAE*JSYN$5y;*x|DJWIOreCEofs)_$N=>m z*bAan^vhU;VB^0+q<@3_`;;_|{RPL7V!_a7ptaBN!Q^~*%LJz-0D{2)Ko1F(6z;{n zy{7>9DU#<0BWlFNHjf<%FOkRR4_v_#am}iZ{6fbL#()t~vg;wp7tmy5CdB(D{w$;y zf!u=-2JX5z6`*Jg0Ip#nMyTCfRpeN^_m!fvwQPej%Mxvt1qr{n;KQKaD-;j{0tUic z2oYcT)$K8PP(!{N-6ZoiH-YBAN7o1q5+v{MyRX`SCn`zrPC5($Ofpmu(03PUNW6&x zixTJ===ZY){xRf>L&UFd@O9v(`?o&7?d zv^UrPS-lSZvYnq5f&sfl2bAxG;Hb5jP{9)t!N)PMjlL$0p~c_Tpq{TaeUo|d%AQL# z_vk+=|N8foFutcTiTQs`ngvp@U?F3Eg8m{KYB5DWL%j$tyt|Kn#clO8yfZ?6U3|M6{R@H*lX5@&}cIv7^2wY)W8dUvA9-UkR1Wn@GEHz`K2=0J8L=KhOBU z@lINJ?-_C6UpsSHg2{Unwa>rHJ&;F1LVZ)SnuE14P*h-GL0=ORs^2F;&%X^LeBNyX zF~sj@$eNXynl>0+rN+j=@^KK^aD)h$9Vrn8MZ;NKf?z((nNZ0iME1i;gp9q7gxuMn zZ>)0~?u1YyJ?0r708ZjUSjhY@6NO2L{(gw?*Dp?R=s<^nlO8fm|2$N#Bb1xCJ;P5N zM5WB0G101bgSVaQZv=#pVPF))vvrj%oiz4c++~W#h{>8)8iZK7f5uP~dKC;a-{VfG zRmAnp#ixuPmsGshaRuqE5U$JR?y~k)&MT>}*^1IR3Bz)@07@N1dQR|R7{;z29_=;y z;(tqy66=(8;Q0R`bP=A)sRK1bLQE?&1_9f2xrfAcDx77Jiah@W%x%_u4vVu$rld|` zBD|O3kP~JkAn$c^qZ@9O{*t$ri)FY6;z&F`hGjTIPkSIH4t+Die=0(_eRNii2rDF6 zn5izRtG)og03K~NO}!_t!)pGrFV7=t3hqTASinmVyhrU72{tEkorT8HD^3_7NRZQZ zDqm9U>)ob*)z68jtVE%&#L(x;dbc~#=({y;rm4D_{e$dGTkuVCL=YU-8`sqtTXDKm z)xXbsog0E`YlVgI(?>Qtbjw7Cs4j8yls)C@WUHiGLJw)KinLQCk+e zdunQP1Fvmkk!9DO?nTvurR_G`jlk`z5zOzW?w_nb8 zcgl`hc|4g;l(9CK1G!~1!)98Y%fw6}$E1Zu0B>7=%9q=JHxgC`J4S{UpeR}dT+T!@ zo_M`CZ!!!<%TQ*jT$WnbZRoVayiLs3m|?>-&wOW}oI%bY(0|KF`i6V_UKek{d!0=) z!&8;3RZBYR*?`62gTchW)@<|dM7D_hy}-ZQ@GE0y6N1(ElLpS@C^?|{TzLEA;Zisl z324sXBva9%du)Vu%0b&;#G**yU!tTnf7?-^V*YbOnXfkjj%Uu`zdMCo%GZJD2|8ZC zhu!>}oYQ>o&D5BNN8$l4+07eqcOhJjPyRX4bY()~19M_?2v$#~zmXR-dI|0J1no9{KdFlqp=`*J zmeIPRE-|V%+xGF(IaRC>=DM}uL9r=ba~29T7&d+|awIh(Zm1r>>-6Z9qU z^V^%?@E5-0t?ty+2C8@;=G}Z`<91?*(b%jBd_2_=#AS$s!|>F{65UtxoLom|-&%RQ zdkV+G{)vmL9Y~7{m)*`wj;~WD=>v!7MJ(QAj}+HM-^dxC5C_B|$naHxoQ*zw9EK7)7HAw9F%F4c z16K^Jj?XAr8IaPGc5THGnv?h6`q$d@X!2!fHO#>;Iz8gb(Dgko?uruehw*r^Y~O}O zLhIr7lU6MCd@eB0*MN*KMs!^MQxWJ9uI0VNQJtl))O=~>K-_&pY?txO@x>OO5}$V1Q)pAsn%J)d%+zm(3#Erfh4hw3I>u5@VKcfwN*9RQ9*6UXG&Rpw({ zyulU3ZLKbR#aJr593Qgp#8kFS?KDD1z2Li{-;_O(PEo((rmXMH9PAgJTh33h%ICXv z3Q$g_E<0$5SEB-$Iz1qIVlE z*?Egbj+I;9MbtsU4Va?^vn3eW-{k0_bqk@7CTd-iA#n(p(*3j^%h1knpQVVfsO|qY zz5J`vqMY#ZCCBb@mm{dOoZEa3gh&(S@BC~bm_L2WXrOb|@+Sq{?l(V8lI%u5(kZK1 zoh1sVZT5L_gmZM~u{@V{*JrU0Td~cs%qPzx?)t*3Z=3@74A8^fIo5s`twMTtLTYGW znKH4&=6g1*fmTA_g>6qIxo9gz*}Q^JFLjT?dHEtw**HonTMRC_#t zB%AYK@(L%?1bz%!qDYBPOk^hRap_YwAj*?~3{RTw`?zoD0lRSW!ss%ZzMD3g33~z$ zBuFSiF|*{<0K{LIbYLuNbFOar2qteim89%0^s-TSR6VXW3|hEHs;se zj$0hwylM@wD-X)Ydd@iJO&qP;416tlnNz+EC6*4Vz>Tr{gD~vOwyoYi_x%mpp;+U# zZ8aECVzC|>1?>()M@u(!)LYX<{d67fJ*BixBe_0xE_RefibS0MhuK=2W3+V_a)Wf_ zpJh>@S`X!@Ni7t=5nE;ap3ExSxAwh*q2cfm+pe%4&e?~{`XqBVHTNt$u&(d6IWY?;z%*``o#M2OCvJIT|&L+kT-7*jv6gVRKw z!|BaGXO^BkMsMzBwrqjfzig$z4K%&@-mx^K&JT>j9gOY! z2+6-0@NOYa=FYYLdwi|^^3~6E`5l^%Wu`H=?D{>_j#;W9hrTy2OJ&jzdFKBfB-rBG zlbtGu^Uu`#KpX;5nkDc;pfKk+50A@R6hWy=MPm35KjJOvD;kj{j_rS4vJVe-I9D)y zK*v8yT>R6~gEi|yuwT!wDVSuOZ{2lz2WLIvh`SroJc!OSDkz(5{#Vxr}mLMBxgds~qj&-Y&}HGaA0ijnt)O8_~I zkBn0z9iB&JaT+Uo(_)50hFO>`NBLFhlm87uHY@qJ<}%_;-+nVmQr}U^Q(^Q^t#xIS zcW!%w*A{_`=ze^w`p=xI>jKdM*{mnbe>nuyWDF9Fm5z}!Qo?>(T~EU^qlH(NYaD@TsotS3FEDtX zQ)gc1VtV&+zddJBh&AA|M5C=-qZ{MhZ0?H6ImWVH?|40;AB4~!-!YqY1Aa!3RYh}Ya(4%qT&_Kp`@APE~-mm0W5$vSYRkAuMTr*6Q!p5V!d$<^DgmE*%^U#t9)LFEq2=}C? z>0gm`QNq_zaTk$^?(KB&fLBxyNwR*jxPhU{-36tv?pZtmCk2I`XUklMpsR8Rrar3rml=U|%8A>zSQl1|D}5j4?ciufH(# z>p1u&+bF!~bJ3)PVfTx;ItZ}bpVsBx&Q?%gk2_$>WABsBc_AS_yxsmmlNI+S|%uV`mAeIX*mpZXQFp<5G?L7$LShLacXRtCr&ZN=h4RaPdG!op^fD=JhA6!r=ZZ+g4y`+({kh;DLqyo>~ z-R76=Fh|!?408)wJKR<1XRj{PvHw0Nu7qzbx;&w>)3(K%b-u$=+c zMf#l=NTFU-82er>5j@PMcPX44DK5CLr~%mtXNH=JdokO!l$`!ToNzlK+l_6NU)YHZ zs^$yInL0jmf19Ug#vUzUEI2JI|F|rT28}_m(PrNRfmOz{L22YRMYk=}^G7mPDR8zX z0dI*xaGD|=L!DxH?lw$Cu64%d>mS;+;j+B|Ym0GCQAR4qkI3MNhnQ@95bqQNhClb| zod0rAaOK={6O#NNhi=L9@B|`^x{QAU9Q^kGCB?NW<9XYj^gK?)NaKU5p9(EhY?)#FB5(k2wa4u3(s8uZ?kMq3-J(adrl8y4aL zK7zd#+Bmuj{?J!~5O@5evw74Qb_(#6Cwv2vy6GO$uBp3+BSd8kRb~RIM~I4I1ZHv{ z;B_IhbW=@va!!);@;&1~Gm?*TcFzwruR7QR4%mCV!;F6XZ7pHD<*_~IFH*_#vhm|7i{^E(E7u9o$S ziXqUtL9|Z#MHsHkz7oacZ=n>^9%OH~#+ptieGOewg{~`cgRc6YT0HkCa)_DVE!SS@ z{ax1sOK_Sj#A42fufQ0@;+=OOaJG$OoY+=`!;*AEqqj2i`W*6lA>$(1)+YQLBQn;xD?2n2mIQy2y(9Lp0h7#h(LmgL)akL4a9P9f0KHA6Ot<=@=^S(s3WWswS4P=>54aOWbm!uqz zmGH*4R@&mcnRzh!^UxKqlU+l|nLOSRLaSx+JBLTA-AH9CS?uqgvb&~N*c{J9e=6GP zwdFONq?&+cMfNZXK)9hLnb|?^7%2rA3v7cQDt)+xhs2%F)(Dwqbp0mg<<5M_EMbb(9M&11+~V&{sPW z0xur6YsLqM?>}En?l8Z$F%);R;FVS`7p2hXeql~{@=Y9Dl|dhcz%*z-j0JRA*gBLJ=B`q& zZ0Ss5IdhRhXKyYR8OIv}Glsv=MDzwGNYF0?Ip0CuIdf4&L@(5~g99W0utat)rJ?o; zaz${$b`}lM;6sMt)k!KxyE2^V+SKR`w?4Fh$G!vX7N8{KdZ4I=A9*^NLHwJuk>&1Q zb5P8g0i8XE4m$q9^&*X0Bd%{9arG~4@!pAiNL>h?yss*ZQZ$%nn-ISz$SGcre?d_; zBFK@2u~*dy5?d_MW;B?5xBkZt+Xy-Ns7mS!LRu|0iS)j(%N4n=Z(88KJYX+KJ#v#k z!ZQb^ISU?aM%mMOr}#HD{26$sba%64ha&Jf1Gg0twqO#Hpx+q46Cs??*j#BcNG^o0 z(?>c|KVZClvw1*Egtu=n$offIE@qg5ahOQ7|9t2CHpp>zPP##rKhP?V>=Jp8g>xy# zF878d%OcFpY5ijJwKUD~j(d&qOikA?=zan`Rg4cz4LmUX6xqDap0xuCf*qTQ!Pk^+ zz?4_XYC9@I5A`@}xS!c7Gn*Ru#icTu0f|cRjC{7{-~i5Md!e;@DYWmK-$k{-yc$Za;lmw z_;rmT;V_rhKbxJTo_6RmYV2Xpm`{7=HBYm9lpt96f1OciyiXFpz1R7LfOQMxoALK< z{lt-Jppv0U8o{_`=j?$E^FsbJ0V`cC_*kTW5~=XS@>+voLmEuOmFZnv`+5m1(b-#y zu)Rm|Y@C!-Z|Mh*UAhwqYizd$c+C{mL_m{5#Q%0`*X)<{88xec^~JI&*xCTA3b+B& z%WPqc!sFHB6J(GsR__(Iq7>zAr1)LcwK;j_OzCVW5N54cD@XUnTV8RjG_|2h(O({& zOPYc-JTb4=nU>+aQaVO|!pQ=>T_eSmk^d#LAXR6#0}Wq7q^m=IGYBOh%kW%lt4TD_ z_i|D)V_w#}a`UhmXbw-9imHq!X3@JP0$;0QS+p_mR9WLpr4lL00Ck&rLsygqb*t-d z>k70t9S}=2&QPT|Pka(wvmrI;R2vtq|Gh<-I_9++qJTI}mHFKgT+zs+c=ztH3d;O| z7QQ)Uv1h$+-(KEbD50wjrVLP8OA&$JaFGv1hU=TrTXYO#bcg!GRs~4|cM7xD`Jq0C zB$7hV60;JTm;-*IhWq0;h>bsuktRwqOE`qU~5-3?PG%_TsJjXdq&HyzIcg;XSDb{GugJU`8U8iNhUN&Qg zWEgOU$QpQ4geJ1E7WniOI@drj{jsTW$gD6qHm9HJTKeEV)y| zmv2e&;qbp|r0o7YT;D^p5`#Iw`cK4ElVj7vvU!zs7`XQko^0(8a9%@Aq?3zSMg+g4a1mg8ZL{peGLJLCcztb2c3Z z2|A12p(kfr^A3Lf-W|So?&-GduF1CY@4Lfzk^M=&-86o2)}EM6ExOrfD4Igmx=Oe9 zIZnnN&$!w)2Plf9Xo5A4u`*3f<3ZIP&2_E2;=tFys!U3lD%?x6X!XFpT=ihhK^a-s zLO9|wYB+DmJw^!k;N*(PChk4w1|4nyGa(u$ix;g3Gj~71;R*QnZd%wIf9Ri7c3Hy zfI^Gh6_-i=5e)*Na(e1)w$?Y=t5gKR^?8>_aRf6 zG_v*8s-OQ7lv5Qg;0mFo%Tu!1e_U}-h%qVgrqNS5%8&dk%=hq9FOG1id!TbQlae3g z*0B;t0la*k5Bt0$%;_*(#{$jA!j~y@>}#Omt9r}VAnXE^MqH@Yi7po7&dB!2YBaFFGyR0R8VnYR!XhdorFtlK*7vdFYQL=eYo z;n=2M(WfNRAcd?#70OTiM+1`}Bnnj1lf?>$;WJl^E}o8K_Nu-bTfGgy%SAf`sZ$vy ztW%!`*YR#Q7IYOT!jC>F!PMceV^)9r2~NpUaD|sDZuMYboI+#7DAU73@d)}S+M zTWW#^@zhd`oIeoaMr~R#_Bzr5ylxC}z+Og))_-aEQg#~*Q!2%^&Nga(7bF@eEX~Bb z=|cOz#_nq6aL?r?oQA#JEP9VLOcMly!zk}tnH>AogK zpIo$K_SK?^$b7E|EKT5xhr<+4)E4SMbbA#zyd*J+fg}?~*N$Yk1?Qyx0@pQ5S1~ku zT2`9tfdf0sc{A`dnb=!!+2~(+9?sm+Uele4^gfRIoI4R}G)zr$atv(^7n1N~8YET? zPF#E#47XsCb=jJi*=Mpy*0X8r1`=7AN+HMBGIn<;NF``!uPIrpUS?1`dKYn@$ehd96#xEE~QM8a$#C9c-Gxt7|cv-sxCJNfzWxoAG^SMCmQwvMv`wd!Xx)pm#@QM%vFk= zk81-8tHJ@OH;=5BuNwceiYfJCx}OhDZB$?YI-@l8zedR{hv@xSb*C{V)^;0bXJ~&Z zLMJr$(^(rFyA@NV^6sCTg*C%`V)=9xj`fHrq)i{drzYX{_^GU}wt1(bMu^XQ76iv< z_XCjq>&NG@7Ge+}r!jI@P6IAzESvYwO+hW^?t?kUDL5|j)4y>1$?W6yWnyz2SL$UL zb-$B_Tyw#uTZWMP7K8nTBY+>4szeeU(|T+{vfo;ahM8|`V_x#?Y2#5d^M>@lFhn$N$^FMP86$rX7I=WkM-y;vldED}Ja|;q+K0wD`?oeM{&31eI6@fe zp>z9`OTSYla9h71M^F5NKb-JV=gt<*ci)T5LfDDvl6PSk#C2M7+TFM~n}vH<&E zuk~-^!E=G}(x=}poBnBpLGcur-?kpVnd;2;IH^3-pnbUgyZWP$zg5P~W_hF07r|_m z*iysl6U3d*DoB~ZKn6YFc;2HeYt(T)pOw*aq+fB~j@$mTgaQxYOr;=HMd&*jI%o1P z=4VTxKIZ<%Y4P4?oS-jGd1M}@ z7CCaTA}(lVE_M!PrnDzrFpB>_Hev%}CM9AP7Gfp|VlGxL&i_UgiCKx6 z)QP!yIM|c)a=Ew}{@hy?}V+}vF)OdR06bIeT5_pFRfjk#gTGl3%XWW)o!+~~u!kZAbZ!lJqa z()Ft#u$W>fB=F=%GeMz3(9)c#zoU{Gz)C`XyD+1I1TR2^!&x|*|3C938F{A|gQcfP zf}4SIq*Q|A@}HTY7zcqdXa6D}>v!FIH-&=wl~NxKOALj!7i*haG<9On7PC8l;VpR3{F!q-Q1;q?AT8$$ka>MVRJX(LR|+mBKTPV+ zhkzA}HdEnuYg_w99|AOCr+aqk1;Ck2T6(#aSxHl=H>G`{s5Z33w562-D#yZ(`rs9CYd1 z)ovr&-E#~FY;N*|AhzYy*wNH|$vS3mcGO_hyZU+Ib$R&7Gzde5Kq88fl6tF}mT-xx z1V5j`V@Wi1nfDDO<&5aHsXA(LD)o_j_XuI^njd4`u6OY?2G`LyVL*-_x(n<5vmR{s z6*g+#p#p{(+k3Xiz)5WtVF?yv9Rwu%oCGq#&w)DvFuaG~fem_0!aXj6{d2)#vC@TI zmF@hNa!JzcmJsNyzkJYX*-6GBD7QKXIQVIQhN9wP$iGzcr86jKt&UF&=e9O~LFZq6 zF9tHEY}NM8IeKE2+S}z88DUHOa>{t#=3K{~O^&ZadbxD%a-ZDK;X~dxeMaLi3H+go z{I%x?&?rks_$4D9sbw&dRrv0NjJ$z_d?Y{DOJE9*B6jg!-G+);gC1_ZZc1GOt`5PH z7029MAepHAQ2QvfDMaTCs{pV6iqkG0PQAelbQ~{k<~&_7oH4`Ge;v4m<9ewW>FZ~6liXNUs(&0E_Jm};5~(K=q_^@_D?qkrjgz143T83|g} zktP)g$3X$>Zm_<7Mj;&`fU@d#gYRo3(K1pl;%1)dKS{!ANy{^)^C47%PAV-CfjFNa zs4Juk_kjS=9fqa|=RzMyrg8qk&f%_d+7C1XtF8om_OeV$AfJ#_qPmF`%-bEe#m!s; zMM5bhVTkM&XlV5jdD^0Q1%oHB#6}ANAP^PEl-m#~5s+&eRsePHvmwT|uo)-2P=D%H z>{O9oqFtFT$#m|=dy_eoQdOEf5$w&um+|Z`dm4vPQv9Aew%`=E2FSf&EitNhM~Q#& zdsh296Yq49An}lXfw{N*GY93WaU2%mgKdvnOK@~I66_2;FN)jkv9OY)or#6EkYkYiq%7n`=WQfWsp&_Jy+|(P*G+u?;*URSM=? zr?1q)wdpPwJ6G4+T+nU~@p%mBGZfBfSh(e!U|p1_;eEVM_pMs)>T&%RrT1%}Rr*|0LHrVFS2L48tX!QGzr7&X3VnJ^$=Hcm;L5s>g+@DVQTOb&??0ZHFSLCHS{>b}C zR~aTLb8pOx_KsS5)luU0DoU1-Dr^p(=^?6`e5l_LF--(2U8%zS(h$)Dz^uhScFdsE z@Wu!A3v==C+HRi1CqW!Mmdj_}OCzwyvVlR%8k6QO@Ir)2FGeE-2_<4~rP_8@)sXb) zh=mq=Q`RKf{xXQIv^nkNIIFeo3!u35wH0S4u@w(7YjZn`J#2m~&q~1cam+oj3sC_J z%W^S8NM7qfru`mesI74Tbdc8F^_TMIUou`BAPEMo?d}nyL~Ojkd>-928Syu=4VLGClJAntRo`>1>btGAudI7l$ zu0&kx`g0cLN5*C_pc7cxUuHT#B@4M&fLw#mC& z#Y#R!f_|awQNpi)YLAfg8Sy)H@dGKxE&uG&HbiC<8Grvj;(9MaI5{K%Lb0GdwEyKCoukc%D2{1a0a<(4ehTu zAFf22g0gsG50;_I1Y5KG?FvfSDaS_Zrj_}{oIBVC>RFT+s%74vu>*kyYr=SmXJz_E zXj7FhE;AK^Dywnj2axxm6d=*MlV!xjATSt5;9!uE zYikH5)Yxaco}`>+)QjNZL2{qaqNuQt#g6u}#(;l_%J87j{EzOSK@gzCsIZ9@5GXJx zAYdauP^5`yAQbi3(?|s)(B6?jVgiwC7^sfD(wQM-7iF`%bs$JER3PMxjFUhGa61nG%Ow=!^rvLgjnR}tHX*aX*8IbFA zLj(&1)dq1og9ZZue0@JzdJHl1L2Qk@?B4BaO*@e~RhCwdepwv>crY46A zg!Lg{Kwx3vLB%B?K|p`xOW?!505(TL!OQ#4FhQ?IUpw>{w|PC^i9v@6qTHZA)1`6k zg^U>e_fBPcU}3)#v!Ty^reAhReuT1qCLj7(zxw!8@7-PAu1{a#?|xnfYMHTjg(C4T ze2W~-3&Pq_!9V*7Dd+o|s~}rKd^*3|vK)b+_vD&>POIp6NaT?z;eH99JvY0D*CTL?oe#URh=h(PFi&&{ zx%rbRuqZ3FK=`z9Fv9J}m-Cr(ocaWs-8dm(I{PxAZh;U+Ivx5fbH!$_F3q$SZWaU) z9zV+__@#@)Gce&@fF%8ECFTxo$u%u;&|k8W+gMZx=*nagiQR6X=MAA2t?jza-tJJm zzp;&Fq~%j3xkmuJ^_UtKmV*YOJ}vP+5@z!mQYFV!(V!5lRklQlxL*83Ow4=+nXkuauEjW3V4lfeA< zsaWA1LBl#*vsPvFipqXM0a3nDqdBBz;DEyVbKr@_n~yW=MKsjEX16C_DFX12;itmC zKmt*#9Px|4fSN!PlsHvK(MQtlppkmm!5NDu)Uh2cnJn1bc}$uVIf5l0*Fjd@HsdC% zAm?tS<{iioHab_OdXisEYs)sHFRB1f6|DDOguj=k`px(1Oht)Gcw=6|SB?8bLrbeE z+UtyG+#DWum5|oOM(gRiw~IO!{c%2&fIQW0_)F(TKxT{# z_V%qh!+}K2?N{vJhqQk3XqTJ+r-z^-nQ5@j(d$_LvzGbbr}>S&`xcteGU43w!Po0d zmGvJWU~s-(Ix416!GMjpZvD&f`m|B0RgjIfoC+b&9F$;U8M&2Q(yPRvx(vrFKc0-- zu-86zgHbaOO$+ivz0)d*{D=DM>loJNu|NXqr^dtL3w44k;$06m`L8)WI4S-Y6E6GB zBrR*gxHK=ftEXa8MX+8kTJ+G9Av1%!T-f9`V23+$dcVLl`91PiZlcF(K3_7Mv88*Orh(A(q(P%@bGDREK9*p{QDDAL zREq^3A|T6Y*L-(DGMc%&My^p|+>5alsrcj7)IZI*>N%S8*7GHXkBpA*YTI=I@K^wv zg*iaUzWzIXRMfTpX`(^ z$}%<`$VD-C`5dI;-;X|HYOz56Neq%V1tGDHh>bPdUcD5W#Q4@|S7$V-JgL`t>qvfu z9_QQZr7r#gSDnOm1BKVmnz)ahl3Ok99k2i1#)|k03>R~{xYGuME%=0+0QYBAu}R@z zPL5j%Ai=MQ(Zy9VTW^YHUt-E@ZkH1e85Yxy1UV&&;9V`jwG)K{WjJs!Bf?aIH9k7l zJvF`1BaQO8kNGjCdbtnr=S+yd0e&I~@Z=A~baAC69o3KVymHdiw(~SMFq}KJ@$o?x z3WBl!^vgc(QWz-W2nCM20Etnh!6JYGQW13l_{Pk>i;pa~sbCDjYgEt~gN6eQ-BY=r z^goCq0`-boSAF?iS;dZ}?AbiZDzk=}7~kHHmr=>Ksh~S{Js;=;j+tIl<%3;!5+${L zpB0G1LdGf^7p|F;kSa_|q?9hN9V5M35!K_<*~jjorrRttC$)h>fK~%N4_4HLUrXy` zCV;NNRM9G{z>I3*)R0DYlrZcw^dDa!jOwU?V=jmF6BAx{J zCDP3FI%G6d{mgnVKtA+qtzhU{8=F@NHq^M+i8o|nKy-ilHw8CxMynK>SH{@pW#Xo5O-a6wk%HV+0(805_SFRTw<_hv#$C*q6Z4L5` zBeo&oh_je?Uf`YXE5pw%PTKw`6u%({Dex=*4QinF4^r?ek z4lIPuJHCnnkj`i!F3vy1-@0O3(Ox6KJKZ-L?sC>c&*6YSd8usCH1Fq$LDSE}Jlc;j z#68nD+7(@Ms6iFGt+YUPiuXv$sE%*EJjv@B$HVr0a>ZAsWK52GNXNGCoV2S);}&Zs zPD(WCsXWm8H2d2S=xThU>}0~QDP9`b+(!`wCLbaP$i60aj`&>-<{)t2@5#7INaNvz z7=`Kk!?{6?Fpe|g3c$QM< zFqk2>&WG~6ojK%d*nUK_sr+YIC6%#Xv#XBB{PoOiI!}3m14SIuvN{u5MsI;R9-F*xNI!ZhF2_mIUZZf`ssDJ5{zTMXN&Mh z!ay?K@wb)U+*mBw7MCu_QO)C)u)lg{_p$o-^nrSdyFck1sH;A>-Lg5U5|?tXaWJ9Q z?BUzLEG{_-LijD3{*O21jRkwtGx>mD)-S-fA%}#;_t0AhSBybUhU_xWV)AXO5ZE0rK>SFn7T2ru+96!4xhl%f z(Lj}-ugfa1?hUi)P?0zp5)5}%#>{cmd)T7%U~5D3TVK{%Q$0p>Y0&I#;`3VoeA%*V zW5zt)tWO_Bbmr|?PF`19Eoxd8rRuLoEsZnx(1A2X?R-W!oBz1HMS-6*=B9I-y+FSb z)N*e73Y(qwh*w`7Yj08v+(k2lX%gk=DZ3`4^Cb2b$D`jQz~}}?vP~^bqe2=*a_N*2 zIUud~C!z=8Z~S}Q57~&dcm2TvSdf`yso;tbw`{KP9nbr@`~tD-|BnMkTqz$qKQL@0O_3PbE?`dx@;v?ds;jvO`*VT*OqS zjsnmNi;j_Q_9>WKm>EcY4B`t%FqKV3+H`RE9_9X-`Q^$apQFH^fAIVQpzm@9Pb!e{ zU4mE-8uz|g)}Lv!v_Re!dPoD$MRZ7J0rlj@UyywAVjL}adaT9tE2QI3#2pP$#AL)*3V9%pIJuInC6UexH4ZHmClp=~a4#Rv=Gg)$Rp;qB= zJb$}`HN|G~@Jl?Uw{J$nnP4^-Z58J+A^IX+fgE^}KvukUL&Dq08NkQaxw6s` z@@Sr63U>VAANr1@oXVY-NZur0r*sxK|6W#CtNb89}QOp>YM|V=fCBc*}!n!kUXNrsWNeZ3aST3nnF}3wkws9>l$S;9I>sD2a zSHn%5c2dY1>EbU-9gDB9>Md_78zbaWFX!InrSeZb>v`DavZF)>gWVJjRRX2r8_-|MT8G;V z%QVLTj^SH(=cM#ztncsL7--c_3LNX5)2=pfDZ8{IYZ~hJ+Vlqo>Y7?oe=%?!Pq8D! z`4F;2MaM2WdC8;CQ4c~?Y|_uZ?kYnrJ*7ASO!sD<7!2RRsKsC&GG$7)PMtl=9mhgL0ugX@k_SbK!(&P zECZ<;$&RBS?U{bJH+!^%ZRi{9beNaM6>&2veE|@>YTbDra>zr$&({wY0zQv?_ik1? zEuy5T1{N8q-uK4Zyfq|)yM+si*6AZxlvs1w$k~;&`i!DAOi#k*Z~F?j9Hmu2*$xCZ z>n!7)09reXKmyB!$IbPi6=a;74=)yO^O$pM|NNZ3LweGF2FDDm|F5#fqiUgtW*=Mk z-13V*aX>gd{j$z-hF360pVA+e$&}gnK-3I(aWD?1k4Decs}7NaIUradx*E1_ZVh>( zZ55&WA2n7LuiOAh-DZ#2Y`_KJy|uYRafNtH>*hf&n}9>KNYiAo-)j9ZR;9=@9>S@< zvy84fR_HfwIpvU76C@nXXezg)0{#2zUzJL6${_W4%0+{|PyRR}ZjL3`Yyphp;FD<= z1Xii2tWp;_N;YHGG}Va<-Ac;64*RoAS>jJmMa!;O0gzx5o8`}PRXZ=!K!yAc3NKD0 zv%Kz8z(XgOS`et^47@78`qlcino2wn7Xils7X(@$eiuOVu#)NO{t=q!*`&hW524Wz zsF6i{;p@(N>QsW!^~!$qCQeL0UwmNQM?)uxVBcbk{;E3o_6-nGRL^#D<>R8AWKG4Y zMhsVKM3p_EeUDLcsL-*c^$k$jm3NQdLOukZZ^cPyFKkmSg`d(WcD*;*H3Aln+!M^k zw8w5<8@(Y4$8-D0s#iH9VqCIoCtwY3s;2vfXt@a66QzC^#PY8ej08{aLNc5J%I$n` zmvJ(%;}*g4I{^sjW|^Y3J}(x2#E-M7=5(E;N}D0W_L;T2@FGvlYp%Q9ymZ=4e+caG zuDH^V+2%I|_^mCYiw3DTrE4^P^QX8*ZUu5bbxdX=y^-1Y4^G}c9!{d!PKasUVVJ1- z`pA`7t1!c+c=dFLJW7G1*PD4#+p4Hn7yxB2?M7JzA^~#YbmB5CGThp6TkZz~L1R^8 z?mJHHNC0z;l1HREnVoGz;9iBS@v=tdB?LFAyRv-)a>~X#%*Pr37>nXK)*Cq^Qo>@f zP*_-!p-@n5tsk@RKWc2`YWU#YQWt@q#qHS#*<)IlR#Ftf0cBq7b?L;K$8{8aNr0&z zk7n^_51<;>(tkS_aLs;KSY1}iuF*yvtFk$Eunv2_+JJpmOboaECxIAB6aAB=E}7n^ zVT3UWjIWQX&XxTINu~0mb+8kgXNTXPhd`zp$-x^F^K~+yDqxeL&mm!=;UNCNovkA}^aRA-m|pi& z)WqoMTY1#{FNT}_fg$kXp}@WJ$Q377gqYk)T`JIF!2R!qzDD_nGdWv7PIYGV3c7z&)r*|btu=-1 z{Zb^r(c4PA<2`&}Vlt!dadF!>Se z3oTR05HDP<&XFr$ri4@1?l~#FGA%V?X963}wSty6h@YpLmzSVrBD~7&RiDw=3?i%XT=2iZefja4Q6r2f260jVIr)L z$Oc{y|5@x*x`uwv{v^bE%!c;Ab+A$@a!{84;W*eS`&5L0O~*}1lz>~UE3=rvjSoa> zxL34g$phjRvoVK#=n+f%mc}Dl*ObRgKg;w+>S)I^;vjbY8ziff>9{U-U22oq`BAv{ zj?ljP1(?IIDV0p(;DteP)Ld-JC=8bjiCIl;ie^{iRng1LurT~8W~VSu^3nZ^)Ox~I z^H9WgOZ{TNyrGRr%Djk)zz_sKgytdmqp3^;HNLjMKb}bWN!SWkSu+A5F)mOwMtJBI zl>UrRDnI69#9f%%#_yZ*{80SaGPwb8sN!K*M9lrFv8=>ZGpV~NoV~q#*7&0!R{0}F z-0#n(M5mLcswG>R@BTYu>Z8qzB~^XXD2>}VEX*oEMtR+Cx3|yt;rIPc7$*vA9#i^9 zTQQH$G!~(HOx4?KAWt^B_sXNKI?x)iY$@VpYVHM7J?O&q@4$rD;pOplaJSZ#EsYTG zh7jLo!~=T2;~CT)!*)Xr9?iU5+r>(NKmTWdH_Y~!RQ6=RhUQIcP?zCkl4S0rQMbUy zQyUq8TIkC`tz%;)x6M5}uv4w=2G|7LMK)r)TT{>F10(Fk^1532a(p>>h2;4fk>ES9 z)a&}vJu1}un3xJ_^6E-;#On`;SW=VYxPM%@%FcSRLe>tMVH#V7S1)3;P(C}B?ay9N zXweo}JcCu@0FzU=ep3)ZV)Ga|eU2~+_k#v>VdpS>%dH=5-mCWJuj+es8|LB@<`KE3 z4gWBq)ooOM&=@{V-F~CcWP|dX1N)=pwxBbh6~(utP)WaGy<`!Cr744b?L?xMBKYt4 z7vbuV@)qIL1o`-{7C3tnz-RtNqbw2^GIabF(PASvT>g{flT^?)`oNR7WUNZa2{dT>gOqz6)9-j$v+0*cR3Ch!JbC zDqJ;)(y(>E9PyQfg%sj~6RkFzm@i@b%rl0$-q6P{A9$%`eS zBRqt$O5v3tXd@hpP5K+CIypClqAlSj7%u;Km`mL5mJ=6vvhkpOyg*E$V+}Zt=r2LGoBmrFC zgaNnxN{}hr6dkBdH5Q14zO@g{ugOm<)hfJyDm~?*k}xQdXB`({J!tUY9?HXvj_pH%^ub!)<$9g6Y}w2e>yrJvN2cEa#u>L zCE1;+ILg~GE(K}#=bP|Q#Jl(jP>KuwWcn-x`PR6<9{UL<&Y5s~L(+L8%&fCaS;u(1afJ9xtNsqeQP_(>evLbZMzBJ5b1%^I`FQ(o z%^DN|O!m#k-^?eLnLQS3Xmt|JRGpW+*V7mCtc%$wS=KHBegYrr69H2l`r{H$$R!LN ze+0$>M^bMxf$2Y*Kpml<;^Kc4MZCOvw$R2vcr`0@7^54zId`G@CvY=O$fCG)sFY1( z&R!#T(zB+!mFcgZ$5`K-T`FqL~Uc^0sj*)n`oHy$*Ea6{;wBd zCFbJh_|Llj{~-xCHy3A0jT$x}4n~!X0)n%%t4qu^7POeNb%A7C+6$fVJ%+82#Ndw~q)k2Za$t zT3`Qhf#@8>hl?5w3bYHndBB>gV)Hs0rJk-I1?jiQLhp}Cu-YVSoTT&}(9h2g_KXLk3H($(gmM$~3`JHLq!&Vm z0OldJUFO}nDV7wpxeOY9p$lRF@$YNSxJC$^5cGQkA0!g_QK_S^5r7@s@sorQF1+Um zQ{Tljy^XpD;uZ$xuF?EDFL)*eQs4D;D_l7eP^rWM-NA+o(dJ-GWtGmxk}e%<@=@Z-_Wc;oEk_0yLG zKE1uO&xPox1ku;PH$8-2S^KCpT@!U@lud?#_#Y&Rf{TU)FChFMND}q)0w&oDb4H{% z?*wFs5C#As@Ijs1OF4J5cs{CPhpU~+c_a6%{I8Eh_0^pZ@lj@RG^(*6~Cs+;akjukRl{x zJ92-%mNG~`9Weq#P>`r8$iiks|4(%>bokfu7~p48!^C6-1*9$mGg!EA?}^JMHD-! zfwbj-gCaST@85=Cp+enF{cwIoiGu(>;eJR}K>7~)q!Ie-9+A<|LGJKAV;rk+enN(w zfc-zDE+9fjMCAT@kSWFeXg*V4$O=0T-*`VRQ^JLU$}sz5 zJlx`}TOESkz-rCB*=#R2RX8i5%W3%_uf~74L;@xJ4o&H%nfYx6Z>qtwtqZLipOj^jXvH$oi5jSU>T(Um8!CWj={94;zaN{)fmx3-<$A%M?9)q4xI<_! z$w)1I1v%wwAwRhLXaP|-{W-j=boRb(;?)K=7A&QZ;|C_uy=yyUDy(R8KOz|U<3UE= z#b~%Nx9M$Xx=%dVt%xa zf?75`CdDOWzQN`Z!V$W4^c!6ZDtN}tVN1REdz*i*Vv~z{cw!YmYMhtt)Uw3sek`2} z=0hXoB1nN$x=4h$DI*hmn`$IrOBZ{X^|v_t%d@RXpBExusrx`~XD6wEY&&F#-v*5` z#u2X!uM4kzrUx9-H)Sy`W`EwL`y{`NUVhh_g)0l__MtT(=!CPtd&paNG29|()Cv;4O{HHv{JU0Q+O>$oKFWLaH;_CL%w>kJ=aSh95yWVA9R+Ej z1Mcn56~1E^9)9gJ^BTGEu`O;p%NH1H@{)pyKf?jKzLFH6(G8OnF~7C|VwaM#6GNae zzD;g|=MK+l2pT<33TB;pul82;K$+eUNy#wi*{2L^-0CJVki(%88%L}kn92yGHLLFo zFdxM~S;l3g&#aD3ReH~HLy$BJdG%q8;^eIG0_D*$m#a0!3$%=(iF_{}-16tJOj#O1 z`LH}WF_r=N6OYHD(2`J zL*3q#J@zUe>!;dTZ)dghdCaUELK^FPo>0Xs-Ns&Bn1Nb;i;ocZhk z^)85OyF2AnL;ibTLglOmvdPNin!ad2NML@y3JLpn4~Cwajebj#=~_4xo8@`$3r)#` zavT_7_Plc?*UseH{Hn(bJr1}@ruk)IiT)Z>X-kW-y+@bbFY{d4Z#rE5@oe;&TM=e% zN@IFo-IJC_G%oU#a3urP;5oqT2c)^w=*Xkg@gFwGEFcdEh#XYT<_CX#NOn0odu3d~ zkZYkdx0(u1ypujzy)=@%qd8Y~^qpK;J;Vm|mJSf2UNtRA)lz)m?aiO4lZ0ORXD&m!JPU#@<4hnK}+n<-t8kPiMLO>bvq4IVo?O1t- zOyAu7S9U%$pV=-iduw3qe>e;AiRH3b0>AD-8<5&k2x%}J{O!*)HJra&$6$^M>ct62 zP7$8*as^AN7pH{);}{Csb&$9HOT~9^FQ{p*z5Vlc$nL0-%9tS zGs9o#iL*HtQxwC>>@60S!H_|*8Xx_qX<|-7X15=SVVzmD@lbz*H}h7sxlqiHR9zs1 z&OI-nd9mL6kbW-L?vk6J^yj}scMuTphCOkgs2gBvR^}`by8VpDGtmSpf#7n66cG(+ zg}>iqgnBA-I%h#;gO-TXu-nMH=@4%yv6rO8cXp7?*f*rl#6(bGQA9yb*5(7HDA4sf;uzZjoqi7@NNRRs)tZC8$m z&l`>crty`gwCl@RgeyiR68;Iv*qY8`3)1+Qikp>Vjx({*T#4SNou~tJcR&8zv{1L) z)mdxuMm@es&BZ!Yv^<)pWJ`|TTvGRLu>KSDLEZ!?brYv3iVA){v-<*XPLM@ze5^E= ze*2diG+cAH=Cgqc!Ds5Jn`(_xn(EaNUC~>Y%5LzJG_TIhD_hw)&fzc<9e)aoU0d!o zDER0WnTVvI9WhIVQ+xxci&abZfdP2)5)<-?TtO9Pb-_D#sPXjFDx3)UXU>X&p4KC) zX>9HWmx`Nu?oz1eE4?mgBQJHE5IxOlj;>2v|1xAG)emIyQ#YBXlSh(l~2Wb__`B&#tekb2l!0LHj;mgp!A*n2TUa5hUgdC|3t4Hj%n=YP4eqJrSM+E@+_eYCp%; zBbqpsSuN1S*j)gBSj1m1@kTg0+Ld1unb#u|(igJ{|C4wpR9a%ZbH8?e?SVHR^d9pd zeAvTMyI6)Qwqq|dO&^J$)!%A@JrRx8Vo#=kE=mghczOS z$n(e|kJ~66R~KW^>iZ0IxD_Y^M&xc5*B3OIbM{qRJ>Ay}CtfER9AzBW%hbR3SNv}e zpZ^%beM;FwDTB4?P{3DTgzi9y&%X{-h2W6>_cu!YjgE!Or!Qg5=%N0)%Y$5pvoXZl zxmkl&GQBxm3Im`Vg^pn?l1g=s##aI@4YUe3FWw^{79$C%KQHpqR0ES*E5Nnk8sI>Z#;Q$B4_)HXSYYOLF&o9R6R z47DK&LS3IQa~*uYJ9E78-LSS)73nbTQ*A7QDBoo-R@H!apkBLw8_db;9{z>QM5=p7 zByFFT67I)krRNzLfZ1%brWtVr@IydPY8q`87%{7#-jMgeXR_v6B|xRiOFPj}O)WQ< z-(SOP*OB5)lEd-*`e$BQunF&rE{E6zNaiRfl01nS0^gPgdU^xcZR#eJ-V5zjJb%kT z-V@b9Dc88FbN;PR44j@0_DDO+b5`BPIR2iLU%hpiQcSOG_4HEgk2NjjVX)7c5|XNk zgQT(Jcg3|zcv(fpbkU}D>h?X*O~|dAU_mo)f@8uOJN{*<+Zy^dse-nxN#>pmum!6l z?Yyus@WZ_%QOCer#qqT$mzq}oOjhdZww_-?{zQJ2O1>^3T~foY(`S6+`qFatDqGy^ zNRde0k8%ocSm{fT`rDW?Moh_Pbc@(#{gap})92iGVHJV{b-Mt|)+bM64P7=CXqXsd zJZp`#p-h@-f|=6&QSxeaI70#l$S$1sZPVOPx!==qH5*U9dVAjKCdxApj?=KEVm*7l zEz`ACKoEMzUg+O%jWi9bs61S1tp={Tqm`V(Egsm9c?(HCTd%ox=!qvMFiGYnmW)lC zK*-P2PF%Yr@7XMo^tyf&s4d$SxUOuFgG!z^;#(JY&<{Xs;@Lec9y&e%#O)L;bUD`X z4`R&z&Js8oRi*JvbxWiMMQpy^#zaG?5m0}44lH$E(#ct)yE3U4d~%B7g5fZ zc@=~_@HyVJv`0B;j81b0d`K>`V~J_KQI=4#@)s=0JGG9N*hRXHIr-SG&g@oQo(Cai zbvYkMA%!A{(R4W;h`=Sqk#AUd{^8;RXhr`18i}#QPkR7<*>7}N$?aYcZ4D%^G93A1 zM)_VVkIi;?M`fzNmyDA3|4tc+iKJNELavN!&=W#4Pk&Yy{I@Fum>NFaQcF&@cdjMC zx9iY;tLXJ%3@S49Ug>tF**(MgoAoX^=1h*oO3(aJ6+kF6fZfr|_-=Urx1~sQL3hiO zA?*>3)n=0OkV+%3N{XXAXjxUM6)Ba`$c+zit^ZErd4wG-)#W{8oR{R13U*n*Rj-G5 z2#?ZcrW8--7|5Ui=-kqehsqnuL@S}l1_8|;@#pWG!xyc`GrMi-aB)eK!cj!$DswU_-^1y zY%tSvI}Is|Qo*q+T?=V>4R#N06mNUc4jjN}VGRwYZgDOE*b3`@c~hN)jYeJ%T(Yw< zg6Dr7r{fK7b>fTWh18>7o6~+i^)$ee&^Ejd=c9281D{QVA4>7@)&oO6bIWEbZ!Xdj_=d4WyZ2R~cnrspbK8a>o6H3b19O&CG zD=Fo@MkPhzlA_`#J=wD`j^Q~St=wnlS&jT|2`TL0K6=btS-V|Sokv}jqeZQHhOt76-%SWlc(Y*d_7Y#SBZwrxB29e14W(dTo2+v_Ln zvF4hSZMXnzYwE)NoYkeuvvZwXO-2gM>;%&!Rr-A)tqEy&fB_lsbZFop_e+v>A579_ ztD*zCacGFRMbzwM8joxh-lW%tDZ6XtuuI75Jc_i$v4qC7jg9r?IYl`?#*0xEr9dTF zy9VdU42v4$1Uwyzr|q@WF7|r4a6q>74$hh@{w{(sGjspok3QQwoFCy5t%Z&q8+W#Q z9dq+5{NhI&i;KbwT+IYI7LpNH5+J@Kkre{?k23O(FzvTAeQbXfGr5U_-HDz;wuItr zTE86J8F0^U!Mi2oKQ%H=Yz?B5w4d(UGBa@WwH}F)`we6sW5j&QJu;{pRe7y@2uVL( zs7&e_Fk&AeaV523Owm?lMZ2jDw?^_UkH}bm@y-z<#z(5;)i1^={@Y8z3cGl~U#kMT zVJMCwi>$%jkI$>7(LA9Kx~{ELk#pQZPAZb_p=FaLII;B<5>!-MMVBqtOgWJ%qYD~> z2`#)9nf1ob-cfmLBs=M-_2qo#q>?dub>U`7`w@j~*!w7%KCZCXWffyHJj6=eZi!W0 zn=5rvj-9VP^F@6(W$mV`UFih5hQ)!11gj#gnWR$krOMOAUBcxDf0kmON%==H{VGM= zG=}N-$dg=WUaE~1dlxl1sJ#7CLXl#%Ky)$T<y*n(U|OSamdXpzv}Fz0z_)jJ%sY*=Y$<$cwArim$3~cl@`fx5bjI z?oW;@>f$n4^Lv7oUVK(4p*tT3Tz6&`#3by09G3^Lzq89$XIAfRr=Zv0to$4%Cn4A1_aRE{zAL0U#?iQ=e4y#r?GA^vkd(3q)j!n_HtjvJgrj3`4T7V zXCgDDGwTza#Lw}Z-tvH1_^PX8iWBRp=&Qkft@nEO$ZDaSTcKccX~?6 zIkAzwE*B+o2`C+|W~>t3AT5|2s{N-~dl8>qWntaRge>YIw(|it%7tFK=TD+5RZ9R)J0Eowl7M^d>+?U;3};nrI--kiy$Mmfim?*y1Bte@9aUmQ-BXY* zk*!qkk`O@x3ROt{G*`(+(lXoXHm(;iA0*2Zx@ElUXwLUpZnnj@m$P`Q&Kw(vbP7S@ zWhBGdp?1OhzXX~nvnU!`njt=3t$A~qmDVOS*I4LC)y)7HLD(s-57;%@xWz?4k3fpm z|BCD5l0@lvP{*?QiZTk_7SheHOI+IQbvB}+h0HqbC@bcX3ykW?voe67kFjF?d3}m ziHkU7!CD}nt}V_5wwd*DUE38kH}un0g2q4VR3CW)EY>T@6%$$0-KC4gq4;4vCUb!P)%fP? zuM={s;uvISixlj~zb4I}%w(>!zlG!RtXVyJ;OCG*mCxNZpJM_n3xm=%+yMl9g!2qANpZ z9hqydxVVD^aSTUuxhD6$HK}+1v_Z88&sCe6AHN;|X=7QP{6&*3-b=T&4dKSTlnzgs zr%8aO-#9 zvTDr5lE3t0Q*|gi?GjWLMz@yQ(i8G1@8s|AKY*TTaE(^qCjpkNYu@$llFffYX(~<} zanQH(Udq!Pgw1`KM-WZ5T}a%=8}Bc);VnSC+lkFy6k|u1L35kIxW1A_@#nHov(qo$ zr`>lqZK^x+aRPy+=RHQZ7;<Z%jw?rs+mH1%B;Emu zHAc*BjT;yzdG9>Zz5&&P@LBUR+rLdKphmgtGq zcD@2Br^pzv8Lnm3PQXsYLw3@-ik`m?&R|}YrDAr$-$;{pjES$JG^$>(Jk%~tSZddq~4k9_j095@zW8MHP?Z-4lD0zn} zREMSY^hf9h6)&hjWh~G6&ck_C3X<;c6v`yeT0GQjnn{8>b()gWJbZGdI($GeQM`xj zMsVHcTzV%rCSR?Iv;y}E0?}}CUh+1y9Bd5a74@E}!>z&bWH-z=DsFKN;_eM?`PJTc zPte_G0d<}k;b`g5rp$*%tEOSnfiAeXxu!uB{Eg({F?)q9cKepvZL6s)O{=G$Zd5fW zQ&!U(R%U~P(;_e}IwpOiA0KGV?5Z!a6&Fq;Vpmwzv1Vt*a!Du?>rX@7BHBdqN}I9B zj23FUK>sE_8Ld-TE-rWN{_Ps7l&Jlcty;)L4ny}Z8+EKWmk5pBRH_4nBXwQ)Q6P-~ z$+jGdK(bU-R%sz2HvA^I-2G|rRjf-r`P^ONsrYAH2S~Tvu|TpkOdmjKxt=TZN@t>! zGyQ1vbu}g84@5X1;vB^rq)~4V8fX>kJiPZJK=R3#AN4-Tq#bk&vZ`HE^(_V=*9W%I z@h-BUlG>A>i`B=;r1CiT5JgUJ5J5*JzS!6ZPt0!;34e3uNR_`1iHwv{yXt?rL;{Js zifkx#oykiGKB4PBuzUhhWGj(cr}=#X-lucI&gTBL z6UnbaFt=lk=B<>N2O|l}cQZD9fhdF3I@Qz_B^t_|w0&Q9AG3yQP@C+Yv6D$kc`m9P zW5jxXlYTs4jDIzH0Ix|cVQ-{{yC$36IO-5&7kef`*){=%4H$h|EwAIxp{MU0zPM+_ zySKg#IRu%HFWw?}%z5A3-3`@-`*n!l6>MV}qCKbG*Sz#T9Prt#7<@_>-c~*IxwSgD zIoicKkF?**8@khS4cZ#R(#MtBlKagojlQ-ERCGNUML{qQQ<%`0-!8ccPLAF_7GsTG)JUD`zU$^+hb{H{5 zJZaH-R~20{8Hes?T@D7hSi(flyJ{df%R-2&LsH}0WeENN>+yBg9yHkOScr`TTS9J6 z5e49nS7Nd_;@Z!~*7z;-T28W^u=g#TX(iza*%jjF0=ixYcXXZm$r%|Oz5SWl37fc? zL&Kv2jczdB(pR6-)f)4EZ6gy87tl91T+5LyxCTk;Ix{u!uP}YWgHAx~tLc~jy&}rw z--Q$B_HNbG*&(f5d*@Vdp$vcDmEHa7k!W%@ozciDL1+p)Y6q_y`QmMp# z%)({Mx~WyYaC`+ID*U5d+WgnhQ4Bi7Z*EzDCDnIfXcJM~?MI!9L~~fjl;$CLaY3Mt z^&-Lbc=(FN?@D)uRd=lRVis8ad7rn)81ava0D$-_H6x&nLMOCE5%t4$jQ0~c#O4lf zwKBp;U*88tnakW8PD#w)<@;SPDYD)SoA1_Lrl=UJBD_&p zQLSy@nd{w?bP=aKuBy7>9PazAD`s0oZgAQfq^M^v5mZ==Q*ykgEKQTLvwnm9suKLa zQk4c;cPj^g?LT+f|KKpJ#2o)w-Tt5He_K|#+5eZ}EJg$3XR>}vF?kqbkvaL_3>;PE z_6{{0Y)EV)3nOfoA23DYqOuS&))L^>*2u^-Ffi6I6zal%_|Bfcw?DspmfJnLY$tuD zVvm6fzo+|7+m~vbj7VC(!t5PfD|8KXQpi-W^0Um5AODPCSeUi&dxtH|BL~+P^0a)@1#ux3ZXdx#$petBc_O0mvEk97g3Z4%B8Eml7W4d} zE%Umum7!vS-haIOoHYo<4ynMy{10wQ6$Sy)iIGX^=*aH)2uhIz>2OwD;h26ZGa!PaGr5HHhj!OPyr|kwPqe%9~vV2!VFqJq>)5`a`JtR zaA^q=ZZ6VeFe!h&;!D7Gs8}HG*pM)FcTZ3IeV{S2fff-9QOI!(qDYU?Or$+MP#vK0WJUrnz;1iHAtE(SH!V2$91-aLicR(xUva)Ep` zxAoNt(=cPxlfgmubp_u1NXI+DYSqre`e;GB8;`CL0zVFY0&U;X4G1UJ+j+tIaSZkt z3|5D2=m~w*!}rw&CQK}B2@VhE8q`6m9MCg+YtcHME8u^JE&k(%6I+QN8X5RFe|;W9 zoMy0OA7i_@zS-`F$T%s_(4~d@c6ixl#K3UGjn2Nm@)e;^%vE8K6> zeB*Th`5#2!-_zdgz5)V(4*=oc_8pEDDeejRbvS&#h!u6*Er?t5V*v=$>H8j0C%THh zk@zan#Dg2O6~;L{d%czuf3YG4-IybHdLko!sQ^e%?H{KILh6=a~I)z`^ zyPUWNNfKPe*j(A*KrSzNW^^Sx2xWLpCxLf!zTW1f%s&#F;znHGBLX{=E0GQ1mGb_y z^Gl!LA?n=QnI1W|y!H;eBfo`#$lEhHYyGkLdZYrRiGBP2sNt8pten^erz8^zp3zWj zcQC8rCnQN6moUaw*Thf|l1wCWSZ7YSJs7Edk%sBX0lzgZz)Ra+i~IL8&Q_e>a9L%^ zIWsVjf2z50eZDC=uORyz-$tyK`;h7lp%eJfj+_Oe!fzBfIoG4|%49AP0p==#>M z$d+)&hhZSDT47tV^O?29=ephsGsPOVMtik1Z^>F7UPEMPkQj?FzuPuM$<#BQJJuA{ zCUiMm#5`F9v zUF4*QGF!(~(>6RMOIpuohGm?K1g&FgVew8ppm^IQ$vxCx<(fRQIRkXPCOuQ43|0@j zB_yju4b~1{PrsWOX||~;M?y&i@29fR1g+AX?mxEy*y}5hJinu;2|ZnlYlez=90Y2; zRMOU9*5ugD^NQuMaFyjNNV>q_DBrW%O;#@>9b~o?1@SC>G*u24Vq141pLy)c*o!6b zw=Zpz(HBPK1Wg_)0FN8;iHI>1pQ3{?Gu2G2KC-s0SwBnP=LS<<3xy8vwl?BFzVEg% zhm1u)M`Ymm=Tk=Wn{=UI!;8$^Pyv!M)K)f=D^uya?_yR)0VM@$^e7VRPc3_SeNaD& zvZV$&P+rVPT&!a$_*jSR;{h?sRU!IAZ3geZqs(zOmYmc#b-C5y(OV$$chi;W0^P{; z2wf8ulU$y=T{kn*nI$?ub4kptHc5L;3!+|1Mg&Y~(Dg`8B61X#S)V`iwb_SsflDOy1YC4O^^)6p5^cnG{ zjGy8GU3FleW~g>YNfLVBli?ZFM{>pXkD0U2<3AvJ=KlDZx*Be4AY zgqqOl8kf|zoAJ0LzvVaA+m3R%Y`!Ug(6b2Z`U>pSi&$Hzlf(E4#V|usH&=87yS_Yqh>spsd zu(S&>F|?D-9k6rQ?NAyIcoy#Q>~5u4p0D$t*8D1zHXC1YxB@XqqBcbJH9?maqd`Nv z8|{WX9j~s-=2#{3$4^Up>trQHr`Z(o9`7?)PD;0B9wBA9u^eP`cv8V&38DLaJw#HVJpxyvL>Lrj)%zt`-IdW>)2;ovk=# zBZP=pBCwX9Kl$4FFTd&RZT2v^Sxu`uTF~j36u)EczhfFkiM?^2L(}_s;|G}>RsO-a zb@o3E?jR6ds`cthHe$#IgEIp4NgMsjR~}Wp){@5#u-;G|7bu>%jNA0UB#Fh4d3^As zu@hID^qY5P3iUdo1<%u>(OQ1rv5OAl==s5)&B%1ob)(aX|15@G-a$^^v81U7O4)Hg zLs(2{Wonx;F7$r;T>1x0M2FheG5{J&Ml*5)z<>VPrw4jOAEhz7XODL;e6M9kZ>JkM zQbBk$t+=^qcjwaU5jPQy8iw9VJ_=mH2GugEMM*IbAhFTpL}xz|i%n0*Y1Hs*q_bil z3;SPjLb?-|@6ggP+~jJg{S8)yn`nN5OgINA2PagSS_x)-bsz5F@cIYA2`Mskw zcAr$9cw(WQ)VXU^B-bc*qPYNqYtq+}Z21J!N`pRS64pA1G?bVScT+ob z_jlmsA%QDp_WIqGFK4~g7VPsUN0k?X&T@V`SVrOGvMB|?nhx6DkR4I+a?{XuV^VKZv6O#qf zrU?#QgZLLhU(w|AP+#~X2UoZ+Pd*#59Pr%dhm*-p@5*iOQ+guhx*_h~ zqv+f*`)Rb+5?^h`j5ItUNW@gj8S-fXuCDf?5dYTZ?yqUJdr#(swcKEx^fnI z-&ZMYyxz2%_-pyL+xNrPy%^_ssNn-!{^U3&xEP388e^wkxFk@|MfB>Rm%mR$_ZTpS zBnN{5`1wvvnaHSXPfbb8frej}VAt8EjqjrGg3h;?bT5^OllGTb@dlupI&>-c98amz z1Zmati@S}PX#X9lVQ)hj=tPx@B2{$fY(^ibVx~E&@u+Svdd^STqly{ASb4aeputoL zyq+=?6T*wkRUArA23L!u|UKLM&Ud(Hf9r6bu(m5ky3}s!L9I*5N}g zeoJY8jr_%0kEd6RKwo#LKgL6*#XqX-o~z-+=rk?V>T=UOatNX@OS^$cL2g=OC^VPu z>DW}c05y+SgxfdPxuQQ^4u{R!PG4AYL65;_bg%6{=?o-lcea-CcK)cXZ~f#|4Ep2& zB9-v(XWO0==;e$5!pdJ3DD6{u1tp=CI&9(SwcCS|7-UTK0VzSp29PU;!@s6c2JisJ=SYV9n5AHXLpDR^{kB6a%TZiCu z5)*5=QXNnG;^o@nbEQVxbMJ7YT7FvroH4MQnCrB0;9K^WmP&ApzfQWxTE|&)e*#x5 zrhqaXP+?4Vv zdhRb>s&@oLewc<=It5WyX4D=9rboNoY{sg|Xj6+?zghix$NPYP!@sMhXl|v2sHKz5 zZ!ir^@l6)~Ku@^^Ocu-O?>IA(Dk9aQz{h;W{aTx}Vw z>C~Ezv=JVY36hC;v2@;ZET-cp&kT zlO$$1cuK4Jb5+}#$PKUB^KGTUKnTP#YwY!-2<1?m7EXcN1a%Gi_Tj%kUJp64=#iqv z!z5ZtzUJrr?aHCmiL913_;}RsnLyUd`BiAVaj&}Eu^r9~p?B3ex8Fc0Q&cmf@l_RgjftlsEL~Z);GrmEsV25xsqbpr5qRbjWpQ5)j2l>-i6(48K zIWhb6GvfS(nGIX2%K7uuoQAIT!RcR9Bu=AzO)q@I_`FAg^Cm1op@p9@rlD?3Rzl3D z$WHlGz6uce>Uy&81;p|eRdPesHvO(~HS~+&GBfA>Gt+GWo564ZgO~+JQk;Xwqhf@~ zexc<_nyefK2rj81QnJNaV$OrBcO>I2#0>M27UN5G*CLq>+xUn=TteUxqBMwxq?XUL zY4$; zUSYe=d`#A?{Q8Fi`p<`uAe*6H#`1%Yc^I0Q@>7TIw0ZGwE8FW(`)g#zqtZ+XJ#bb- zBX|8_GpWUA-a#DcOAsZBPIG38)^GBI@~P2HCb`0blM;F$LnJJC$>Ox!y&|HHaOQTs zhDump(|w@I5EHXmX!Dh$6tXn&o5?3! zBJ%wnw!OMD>V%nYuV;4QIOS;q=_E-5o)kLmGLZ^U7bHudAllDWcB=SIBAK0 zDbwIN$PJz-nCaIPXP|KMV4A~{vpwusr}{t|2;28-=aa{jnCCGCC9&^M`PIPK@&-Zi z8JP{pwI&|vtaC{3m#}hrI67W7b1Q;ik`H~ZA?`a$?#*$nYKyiJIT8=~EB-s;gw$%} z*TW+6%S?cJWGYuF%yt6rT=u&N#Yc@@st|eJw6L?Rxwv5^t66Ww2}#-{uc$uss;Z=^ zD$p8V+ypae4OllcZ8s42ZKuLNS8nG?7GVR5Hsn{T)fc+$-NT>w;;ZEf*KU2pO?5)C zoYtZej?TbVc`KnC(K*%dr8!@j{XV?D8auvOcOJ^IKSvh=7HAKBE=&YnjJ)R?fXU@f z@G$epb94x|=L+dpWf$p)zewG4Aqv&8b%oomCN;H^*)lY7$WG*tb#QbvE@rB@GM;>*AR52O=91>8FV5);-`?>qQuLq7GK#&PyEnQ4rY61xQ9=pZ5%c;>SAn2q`imyBy#=723Wb zu>UODnGpPuN*~wE=4itaQnp{Q?~jK8#&dQ9gVqURD)8qLh2sW$}=2TX~{EEJ%+Jr0BrB0F48VH zyOA*>NnX>_Au+c6_X|Trf2`H%<{O%HK@jpQte$d{dw1*-TPY0mp~=drxP>_@SS)Py zo>oa$J@6N(%Z5%-8yML}LIFY^(J@j`#h?6c36HcQThgd0hy`p!7v|0sZ?ezQb_(-6 zK=zS8Hdbc+)S9`VOr$Pbe?CP{AzC!z-luL^D#w+%!qi(>c9mW(%$|n4W&Dlm6XMm> zk=Gc>t1r26hMg?_MYvq9+D(_$pjUZHqfP)v2}_x(E_s6f(U+|T8Q|O^IwLh611(bF z=+9O~vlP&+ws)=8XHUbW(yo19|LDDY8GVZ(Dt{OoQ-DPL)3~oDV!g-G?5g%>s|Qj~ z?(ExFKdLR>_pkTM8;?oOY-uc|rOA|3gu~%&{U<&2JXM==*Uq9j1i74Q83s%1CecK` zJbscPDg5!yH@J&K3E+5y!qTArEE&}R(up6&*R4+t686(o2StpbxBHR_#q|BKu1fu> z-o?@Oh+tHH_}QJQWiD9lqac;6WRRpP=y&p}<+DpxW|7Q*89T1PPfZax@OT*ln&Sy| zOwUw{4iggRYJ)p%*#YsI}AyiS)pyCsc zIpzBCgOR(u5C3QE?IJB+a0@nU(wX>AMU@DdU#MoW@)Qx?kK?8m;k%VDaY{?POXAj2 zql<7)0vnp)oPs1Ogd0e!Lb4bgL;(Z)V!2Fwn@Ss+HUDt}WML)xWCYd%YVDY~c6mpS zr2WzT@@rw&>%eF&CPegABi^~elYlfSmF?OSt1@*;H7>Zr0d+FRZfEu@r(wY_{Kg;e zq&yrd%_;JEd>(Ie-EWA81tIf@xv-h2jv3v*E-9}O0ugeP-zBf$)aBNC?O>yg76+7J=>W>qG}&iA4XwL>mj*Qz)anJz zumvS=zN&-wJOLtda#}G=Tho*ab2otn5N+Zu;B_EHLtV2s^sC0A^?JSb4zyRrxbSy8 z{B)G2`zk^XE*E;DaZw7C&XXMH)=F+enFwg8Ql^`DHLZ3?9xWyFeR{nP?`<^!#x1mr z4$Oy}g#co7mM>g<%xR0CDLc?uhPi0;T>w?U1?2@SKM^v4=oi^Uh0RYPDfyZ9atCMu; zxN1=p$i7uxXN%nXm0JAbm9`0ykEwdZRgcDZ0Hmz66HA$0aXQ*7K?yu`xkXn``&R2UuMP9z5R8p7cc4r ztjVpaS57>r8-Am|2-D)*xrs>_a3@c+1&c@UyZJDzp93OnvTENSWX(6^p*f8mvNtQU`-j~C1%s#dr|_Zwk_R;x7gTHLUL=OA+ljRczJ|ML z2|yVI(YDe+k}Wge&!9i?)i4;<+`~_;r80oNEXbvNQonlNb5Hoz~l51M^I*#GeBU zZ>O@|Y>3clqVP9#KMy830!rA$aa%Ts;VfuOo*(pREqm@3)YxU}sK2mEiiGc57(qd_ z2mlst9_IhGFWc1le~Un~lD1*jQUUn&*1-iQMO9IRiTLQccyK9IF$~KiJ=e;A?M4d- z4frziuyj$w*|MN41!G->dVFqE6C#`jTK~>|kdQ``P`LfA6%C2B>W%*a#Rd1Eb-i4}flzPOjKl5h8czr<}CvJ`o{q^qj4 z20_so9Y{9cvc95J$7G>b3O1-~23)w70bJcmkwLWSY=Fb$sy`SXuXh%?j=g}lDLMqoh zYOy;kyY#fJR_RjWXiY0>(@ZK$N>3rpNb$AUTr8?{Zu234$=w@DQY9|YV0Hgv8T9iv zlr>`mt9d;?tu_Kh?z7R}#(7<{&4q`AbtMi9I?5LN>hLMNbR`aacuGL9rW)&Su3Xgd znFyJLjyg{O1TmC*t^a0d4&$oro=J~;zdw3`hheok$sE_Q=jD};&oAx8x~S;9VT{{l znsDC)B2s2&uM=vTbCl%Z_D}nS+>dp_kvbiFveGUsqnW946MW1MyfNV(soX#kc!*PWDX2Pm3D|Rm33X+p; zF6!Y=-^=e5@ri(Ps&d2x^tyR>8l25f{+@SV%gGQjR2KNgXsJXr@}fx0^9~Opr^XPG z8&2ri*?e++seyo33_Xk4T#ugZ&2{mWc(()d7@yx^QLcZ(xbyPGlgkMa%Ge{Iwa|k@ z?BCFVkPXqQk+7i0yfQ5nC*zdk;m}D|0vt{f1eoB6*=ZuKE)9;nzm!IBzrj}y{{`4CW=$f-E0KZAjldbJc@-;x5p@4UBDg{ro0~<-5 zpD*j%l!yvXs!_px^lAI#2Mqy)lh5sUto%|E}W<{fCe!r4G&ob7G%3gq?^d;fFKwJ%$v0u0^ zu<1G~Vc-r4W8*vJ7P18*1y!I)G8!vmp`77s$bZ#!YHNv@>lv?%`h~+fkQ>Lp0(r*! z2Hsuwd<&!2Kgp;sWbxGdFUj1z(`XKKq9EVshb)vdcYKp4v#s00lSbc_;t1Jcs7;Cp zcH~y*U7v)KvUA_ew1)ZA4g?f*ne;#mAlXUOgmRPKSAf*4KEdA0HI|#0H}uv#FK?>I zzQ54}%~W>z70>T8$jB=aN(v4p-5=}%+0Uy7m5aY*MqPP`(D$ZFZ0W;?niE_d;E?gK zbK0_C?v&PE@2R=i;HvNbYp34s`Gwxyjy(CGga6m6VEPELX6hWV6dKcI$&-#7@GH{; zl1hlnX8t#)4z8k|9IA9}7#x6&lLl5mC|VGKK52D&4uY&+uzKzzBSkhCIHKm%Yz?*L zq}rYEG>lE27a0Ys4&u4uf-Fggr5=7-W z()ml=xfY9@B~j}iD|b-iW$LXI;IwYbQUE=R2U&}a(!0kALND2>91UY6f{Y0nLcPS# z@qLXlUOMUAjF7>arjdC2{@QknazQRZ7K>95_S8oPGB@D$UbMPM>%{^_+)=K?b!DR; z82ciPu0kO7HmlMx>z=8wfnsy%exqE<(EyUdF);@-bhgV~x-`P+@g3U*2-h&O&8b*i zoRtHi1ajf-7swBA50m647x}pb>f00D+YJ(GGKQ8Z_2vtP1pl%-nyx)S2}9*Lt@cC) z^5i143P%-d(aqk2+3EjvPohO~E%{3~Ofcanu1FL~d2xsDuI=LIydQ~OUEyae8d28Mg{U-hQ-hpfSQz&gc9YtYG$ zqv#l22%pThx_6_EGxwdusa`+H%ne5B+>WK~0qK2OeXGeTw4vt{AnBT1#Z_3MAc69T z@9tRoK2|^mp@_g6tW*2hVj0K7PVKrZSI+mmQQqfbK6E(qS{hy4&=4P8#iW8~%svJu~#?qVehcR9e+F?Ohe?FtW4O4r`9m#~P$)4*v)$nReA<&k>% zi<{n=1CA9eMCO1;J%wH_y9jq zP5HS`M+5JyuzPW>B+u@7m9pj^?^J-R0=y_gclo1PHBrM>o8{qxWOP}~#amO`|0(On zw%E4UrK5TGQc!EV;%G|wgAz&J Date: Wed, 21 Jul 2021 16:07:54 -0400 Subject: [PATCH 6/9] change name --- STIPS/STIP-003.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/STIPS/STIP-003.md b/STIPS/STIP-003.md index 0ce23dc..d5250e8 100644 --- a/STIPS/STIP-003.md +++ b/STIPS/STIP-003.md @@ -72,7 +72,7 @@ Production deployment: 8/15 **Reviewer**: ## Proposed Architecture Changes -A new contract will be built, called `DebtExchangeIssuance` which can be utilized to issue basic leveraged tokens that contain just one collateral asset and one debt position. This contract interfaces with the `DebtIssuanceModule`, `CompoundLeverageModule` and `AaveLeverageModule`. Since it is a periphery contract, it will not be a dependency of any core Set Protocol systems, nor will it have any privileged access. +A new contract will be built, called `LeverageTokenExchangeIssuance` which can be utilized to issue basic leveraged tokens that contain just one collateral asset and one debt position. This contract interfaces with the `DebtIssuanceModule`, `CompoundLeverageModule` and `AaveLeverageModule`. Since it is a periphery contract, it will not be a dependency of any core Set Protocol systems, nor will it have any privileged access. ## Requirements - exact input issuance @@ -88,21 +88,21 @@ A new contract will be built, called `DebtExchangeIssuance` which can be utilize ## User Flows User wants to use 1000 DAI to purchase at last 20 ETH2xFLI -- user approves at least 100 DAI to `DebtExchangeIssuance` -- user calls `issueExactInput` on `DebtExchangeIssuance` -- `DebtExchangeIssuance` returns as much ETH2xFLI as it can issue with the full 1000 DAI +- user approves at least 100 DAI to `LeverageTokenExchangeIssuance` +- user calls `issueExactInput` on `LeverageTokenExchangeIssuance` +- `LeverageTokenExchangeIssuance` returns as much ETH2xFLI as it can issue with the full 1000 DAI - if the purchase amount is below 20, revert User want to issue 20 ETH2xFLI for at max 0.7 ETH -- user calls `issueExactOutputETH` on `DebtExchangeIssuance` with a msg.value of 0.7 -- `DebtExchangeIssuance` issues 20 ETH2xFLI with the sent ETH -- `DebtExchangeIssuance` returns 20 ETH2xFLI and refunds the unused ETH +- user calls `issueExactOutputETH` on `LeverageTokenExchangeIssuance` with a msg.value of 0.7 +- `LeverageTokenExchangeIssuance` issues 20 ETH2xFLI with the sent ETH +- `LeverageTokenExchangeIssuance` returns 20 ETH2xFLI and refunds the unused ETH - if the issuance costs more than 0.7 ETH, revert User wants to redeem 10 BTC2xFLI and receive a minimum of 300 USDC -- user calls `redeemExactInput` on `DebtExchangeIssuance` -- `DebtExchangeIssuance` redeems 10 BTC2xFLI -- `DebtExchangeIssuance` returns proceeds of the redemption in USDC +- user calls `redeemExactInput` on `LeverageTokenExchangeIssuance` +- `LeverageTokenExchangeIssuance` redeems 10 BTC2xFLI +- `LeverageTokenExchangeIssuance` returns proceeds of the redemption in USDC - if USDC proceeds are less than 300, revert ## Checkpoint 2 From 98bfb575fdb38d7776c349f1d858fc086367aa48 Mon Sep 17 00:00:00 2001 From: Richard Liang Date: Wed, 21 Jul 2021 13:15:06 -0700 Subject: [PATCH 7/9] Update STIP-003.md Add review --- STIPS/STIP-003.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/STIPS/STIP-003.md b/STIPS/STIP-003.md index d5250e8..7cd5eb8 100644 --- a/STIPS/STIP-003.md +++ b/STIPS/STIP-003.md @@ -69,7 +69,7 @@ Staging deployment and tests: 8/12 Production deployment: 8/15 ## Checkpoint 1 -**Reviewer**: +**Reviewer**: @richardliang ## Proposed Architecture Changes A new contract will be built, called `LeverageTokenExchangeIssuance` which can be utilized to issue basic leveraged tokens that contain just one collateral asset and one debt position. This contract interfaces with the `DebtIssuanceModule`, `CompoundLeverageModule` and `AaveLeverageModule`. Since it is a periphery contract, it will not be a dependency of any core Set Protocol systems, nor will it have any privileged access. @@ -108,7 +108,7 @@ User wants to redeem 10 BTC2xFLI and receive a minimum of 300 USDC ## Checkpoint 2 Before we spec out the contract(s) in depth we want to make sure that we are aligned on all the technical requirements and flows for contract interaction. Again the who, what, when, why should be clearly illuminated for each flow. It is up to the reviewer to determine whether we move onto the next step. -**Reviewer**: +**Reviewer**: @richardliang Reviewer: [] ## Specification From e79a544d59699e64745c27cf69402c28e41a77f5 Mon Sep 17 00:00:00 2001 From: ncitron Date: Wed, 21 Jul 2021 16:37:21 -0400 Subject: [PATCH 8/9] checkpoint 3 --- STIPS/STIP-003.md | 97 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 75 insertions(+), 22 deletions(-) diff --git a/STIPS/STIP-003.md b/STIPS/STIP-003.md index d5250e8..f425a14 100644 --- a/STIPS/STIP-003.md +++ b/STIPS/STIP-003.md @@ -78,7 +78,7 @@ A new contract will be built, called `LeverageTokenExchangeIssuance` which can b - exact input issuance - exact output issuance - exact input redemption -- users can user above functions with either and ERC20 or WETH +- users can use above functions with ERC20s - users can get quotes for the above trades - users can supply exchanges and trade paths for the input/out token -> collateral/debt trades - users can supply exchanges and trade paths for the debt -> collateral trades @@ -93,7 +93,7 @@ User wants to use 1000 DAI to purchase at last 20 ETH2xFLI - `LeverageTokenExchangeIssuance` returns as much ETH2xFLI as it can issue with the full 1000 DAI - if the purchase amount is below 20, revert -User want to issue 20 ETH2xFLI for at max 0.7 ETH +User want to issue 20 ETH2xFLI for at max 0.7 WETH - user calls `issueExactOutputETH` on `LeverageTokenExchangeIssuance` with a msg.value of 0.7 - `LeverageTokenExchangeIssuance` issues 20 ETH2xFLI with the sent ETH - `LeverageTokenExchangeIssuance` returns 20 ETH2xFLI and refunds the unused ETH @@ -112,33 +112,86 @@ Before we spec out the contract(s) in depth we want to make sure that we are ali Reviewer: [] ## Specification -### [Contract Name] -#### Inheritance -- List inherited contracts -#### Structs -| Type | Name | Description | -|------ |------ |------------- | -|address|manager|Address of the manager| -|uint256|iterations|Number of times manager has called contract| -#### Constants -| Type | Name | Description | Value | -|------ |------ |------------- |------- | -|uint256|ONE | The number one| 1 | +### LeverageTokenExchangeIssuance #### Public Variables | Type | Name | Description | |------ |------ |------------- | -|uint256|hodlers|Number of holders of this token| +|ILeverageModule|CompoundLeverageModule|leverage module address| +|ILeverageModule|AaveLeverageModule|leverage module address| #### Functions | Name | Caller | Description | |------ |------ |------------- | -|startRebalance|Manager|Set rebalance parameters| -|rebalance|Trader|Rebalance SetToken| -|ripcord|EOA|Recenter leverage ratio| -#### Modifiers -> onlyManager(SetToken _setToken) +|issueExactInput|trader|exact input issuance| +|issueExactOutput|trader|exact output issuance| +|redeemExactInput|trader|exact input redemption| +|getIssueExactInput|trader|exact input issuance quote| +|getIssueExactOutput|trader|exact output issuance quote| +|getRedeemExactInput|trader|exact input redemption quote| #### Functions -> issue(SetToken _setToken, uint256 quantity) external -- Pseudo code +> issueExactInput(SetToken _setToken, uint256 _amountIn, uint256, _minOut, IERC20 _inputToken, IRouter _inputSwapRouter, address[] memory _inputSwapPath, IRouter _debtSwapRouter, address[] memory _debtSwapPath) external returns (uint256) +- _setToken: set token to issue +- _amountIn: input token amount +- _minOut: minimum output amount +- _inputToken: input token to be used by contract +- _inputSwapRouter: Uniswap V2 router address to perform the swap from the input token to collateral token +- _inputSwapPath: trade path for the swap from the input token to collateral token +- _debtSwapRouter: Uniswap V2 router address to perform the swap from the debt token to collateral token +- _debtSwapPath: trade path for the swap from the debt token to collateral token +- returns: output amount + +> issueExactOutput(SetToken _setToken, uint256 _amountOut, uint256, _maxIn, IERC20 _inputToken, IRouter _inputSwapRouter, address[] memory _inputSwapPath, IRouter _debtSwapRouter, address[] memory _debtSwapPath) external returns (uint256) +- _setToken: set token to issue +- _amountOut: output set amount +- _maxIn: maximum input amount +- _inputToken: input token to be used by contract +- _inputSwapRouter: Uniswap V2 router address to perform the swap from the input token to collateral token +- _inputSwapPath: trade path for the swap from the input token to collateral token +- _debtSwapRouter: Uniswap V2 router address to perform the swap from the debt token to collateral token +- _debtSwapPath: trade path for the swap from the debt token to collateral token +- returns: input amount + +> redeemExactInput(SetToken _setToken, uint256 _amountIn, uint256, _minOut, IERC20 _outputToken, IRouter _outputSwapRouter, address[] memory _outputSwapPath, IRouter _debtSwapRouter, address[] memory _debtSwapPath) external returns (uint256) +- _setToken: set token to issue +- _amountIn: input set amount +- _minOut: minimum output amount +- _outputToken: output token to be received by user +- _outputSwapRouter: Uniswap V2 router address to perform the swap from the collateral token to the output token +- _outputSwapPath: trade path for the swap from the collateral token to the output token +- _debtSwapRouter: Uniswap V2 router address to perform the swap from the collateral token to the debt token +- _debtSwapPath: trade path for the swap from the collateral token to the debt token +- returns: output amount + +> getIssueExactInput(SetToken _setToken, uint256 _amountIn, IERC20 _inputToken, IRouter _inputSwapRouter, address[] memory _inputSwapPath, IRouter _debtSwapRouter, address[] memory _debtSwapPath) external view returns (uint256) +- _setToken: set token to issue +- _amountIn: input token amount +- _inputToken: input token to be used by contract +- _inputSwapRouter: Uniswap V2 router address to perform the swap from the input token to collateral token +- _inputSwapPath: trade path for the swap from the input token to collateral token +- _debtSwapRouter: Uniswap V2 router address to perform the swap from the debt token to collateral token +- _debtSwapPath: trade path for the swap from the debt token to collateral token +- returns: expected output amount + +> getIssueExactOutput(SetToken _setToken, uint256 _amountOut, IERC20 _inputToken, IRouter _inputSwapRouter, address[] memory _inputSwapPath, IRouter _debtSwapRouter, address[] memory _debtSwapPath) external view returns (uint256) +- _setToken: set token to issue +- _amountOut: output set amount +- _inputToken: input token to be used by contract +- _inputSwapRouter: Uniswap V2 router address to perform the swap from the input token to collateral token +- _inputSwapPath: trade path for the swap from the input token to collateral token +- _debtSwapRouter: Uniswap V2 router address to perform the swap from the debt token to collateral token +- _debtSwapPath: trade path for the swap from the debt token to collateral token +- returns: expected input amount + +> getRedeemExactInput(SetToken _setToken, uint256 _amountIn, IERC20 _outputToken, IRouter _outputSwapRouter, address[] memory _outputSwapPath, IRouter _debtSwapRouter, address[] memory _debtSwapPath) external view returns (uint256) +- _setToken: set token to issue +- _amountIn: input set amount +- _outputToken: output token to be received by user +- _outputSwapRouter: Uniswap V2 router address to perform the swap from the collateral token to the output token +- _outputSwapPath: trade path for the swap from the collateral token to the output token +- _debtSwapRouter: Uniswap V2 router address to perform the swap from the collateral token to the debt token +- _debtSwapPath: trade path for the swap from the collateral token to the debt token +- returns: expected output amount + + ## Checkpoint 3 Before we move onto the implementation phase we want to make sure that we are aligned on the spec. All contracts should be specced out, their state and external function signatures should be defined. For more complex contracts, internal function definition is preferred in order to align on proper abstractions. Reviewer should take care to make sure that all stake holders (product, app engineering) have their needs met in this stage. From 12cd99a2e588067c91c0bdcca55a4aea370d6502 Mon Sep 17 00:00:00 2001 From: ncitron Date: Wed, 21 Jul 2021 16:43:21 -0400 Subject: [PATCH 9/9] clean up --- STIPS/STIP-003.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/STIPS/STIP-003.md b/STIPS/STIP-003.md index b8cb744..064c36d 100644 --- a/STIPS/STIP-003.md +++ b/STIPS/STIP-003.md @@ -106,8 +106,6 @@ User wants to redeem 10 BTC2xFLI and receive a minimum of 300 USDC - if USDC proceeds are less than 300, revert ## Checkpoint 2 -Before we spec out the contract(s) in depth we want to make sure that we are aligned on all the technical requirements and flows for contract interaction. Again the who, what, when, why should be clearly illuminated for each flow. It is up to the reviewer to determine whether we move onto the next step. - **Reviewer**: @richardliang Reviewer: []