From 53a5e208fd33bfe4d832741f08052fd7464ffde5 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Fri, 20 May 2022 10:55:48 +0200 Subject: [PATCH] margin_trade: loan origination fees, limited withdraws --- .../mango-v4/src/instructions/margin_trade.rs | 217 ++++++++++++------ .../src/instructions/register_token.rs | 11 - programs/mango-v4/src/lib.rs | 3 +- .../mango-v4/tests/fixtures/margin_trade.so | Bin 324128 -> 204216 bytes .../tests/program_test/mango_client.rs | 14 ++ programs/mango-v4/tests/test_margin_trade.rs | 144 ++++++++++-- programs/margin-trade/src/lib.rs | 16 +- 7 files changed, 299 insertions(+), 106 deletions(-) diff --git a/programs/mango-v4/src/instructions/margin_trade.rs b/programs/mango-v4/src/instructions/margin_trade.rs index 7d37120f4..216668db0 100644 --- a/programs/mango-v4/src/instructions/margin_trade.rs +++ b/programs/mango-v4/src/instructions/margin_trade.rs @@ -1,14 +1,25 @@ use crate::error::MangoError; use crate::state::{compute_health_from_fixed_accounts, Bank, Group, HealthType, MangoAccount}; use crate::util::LoadZeroCopy; -use crate::Mango; +use crate::{group_seeds, Mango}; use anchor_lang::prelude::*; -use anchor_spl::token::TokenAccount; +use anchor_spl::token::{self, Token, TokenAccount}; use fixed::types::I80F48; use solana_program::instruction::Instruction; use std::cell::Ref; use std::collections::HashMap; +/// The margin trade instruction +/// +/// In addition to these accounts, there must be a sequence of remaining_accounts: +/// 1. health_accounts: accounts needed for health checking +/// 2. target_program_id: the target program account +/// 3. target_accounts: the accounts to pass to the target program +/// +/// Every vault address listed in 3. must also have the matching bank and oracle appear in 1. +/// +/// Every vault that is to be withdrawn from must appear in the `withdraws` instruction argument. +/// The corresponding bank may be used as an authority for vault withdrawals. #[derive(Accounts)] pub struct MarginTrade<'info> { pub group: AccountLoader<'info, Group>, @@ -21,18 +32,25 @@ pub struct MarginTrade<'info> { pub account: AccountLoader<'info, MangoAccount>, pub owner: Signer<'info>, + pub token_program: Program<'info, Token>, } struct AllowedVault { vault_cpi_ai_index: usize, bank_health_ai_index: usize, pre_amount: u64, + withdraw_amount: u64, + loan_amount: I80F48, } -// TODO: add loan fees +/// - `num_health_accounts` is the number of health accounts that remaining_accounts starts with. +/// - `withdraws` is a list of tuples containing the index to a vault in target_accounts and the +/// amount that the target program shall be allowed to withdraw +/// - `cpi_data` is the bytes to call the target_program_id with pub fn margin_trade<'key, 'accounts, 'remaining, 'info>( ctx: Context<'key, 'accounts, 'remaining, 'info, MarginTrade<'info>>, num_health_accounts: usize, + withdraws: Vec<(u8, u64)>, cpi_data: Vec, ) -> Result<()> { let group = ctx.accounts.group.load()?; @@ -44,17 +62,18 @@ pub fn margin_trade<'key, 'accounts, 'remaining, 'info>( // This is necessary because maybe the user wants to margin trade on a token // that the account hasn't used before. // - Collect the addresses of all banks to potentially sign for in cpi_ais. + // - Collect the addresses of all bank vaults. // Note: This depends on the particular health account ordering. - let mut allowed_banks = HashMap::>::new(); - let mut allowed_vaults = HashMap::::new(); let health_ais = &ctx.remaining_accounts[0..num_health_accounts]; + let mut allowed_banks = HashMap::<&Pubkey, Ref>::new(); + let mut allowed_vaults = HashMap::::new(); for (i, ai) in health_ais.iter().enumerate() { match ai.load::() { Ok(bank) => { require!(bank.group == account.group, MangoError::SomeError); account.tokens.get_mut_or_create(bank.token_index)?; allowed_vaults.insert(bank.vault, i); - allowed_banks.insert(*ai.key, bank); + allowed_banks.insert(ai.key, bank); } Err(Error::AnchorError(error)) if error.error_code_number == ErrorCode::AccountDiscriminatorMismatch as u32 => @@ -65,79 +84,118 @@ pub fn margin_trade<'key, 'accounts, 'remaining, 'info>( }; } - let cpi_program_id = *ctx.remaining_accounts[num_health_accounts].key; - // No self-calls via this method - require!( - cpi_program_id != Mango::id(), - MangoError::InvalidMarginTradeTargetCpiProgram - ); + // Check pre-cpi health + let pre_cpi_health = + compute_health_from_fixed_accounts(&account, HealthType::Maint, health_ais)?; + require!(pre_cpi_health >= 0, MangoError::HealthMustBePositive); + msg!("pre_cpi_health {:?}", pre_cpi_health); - // Validate the cpi accounts. - // - Collect the signers for each used mango bank, thereby allowing - // withdraws from the associated vaults. - // - Check that each group-owned token account is the vault of one of the allowed banks, - // and track its balance. + let cpi_program_id = *ctx.remaining_accounts[num_health_accounts].key; let cpi_ais = &ctx.remaining_accounts[num_health_accounts + 1..]; let mut cpi_ams = cpi_ais .iter() .flat_map(|item| item.to_account_metas(None)) .collect::>(); require!(cpi_ais.len() == cpi_ams.len(), MangoError::SomeError); - let mut bank_signer_data = Vec::with_capacity(allowed_banks.len()); - let mut used_vaults = Vec::with_capacity(allowed_vaults.len()); - for (i, (ai, am)) in cpi_ais.iter().zip(cpi_ams.iter_mut()).enumerate() { - // The cpi is forbidden from calling back into mango indirectly - require!( - ai.key() != Mango::id(), - MangoError::InvalidMarginTradeTargetCpiProgram - ); - // Each allowed bank used in the cpi becomes a signer - if ai.owner == &Mango::id() { - if let Some(bank) = allowed_banks.get(ai.key) { - am.is_signer = true; - // this is the data we'll need later to build the PDA account signer seeds - bank_signer_data.push((bank.token_index.to_le_bytes(), [bank.bump])); + // Check that each group-owned token account is the vault of one of the allowed banks, + // and track its balance. + let mut used_vaults = cpi_ais + .iter() + .enumerate() + .filter_map(|(i, ai)| { + if ai.owner != &TokenAccount::owner() { + return None; } - } - - // Every group-owned token account must be a vault of one of the banks. - if ai.owner == &TokenAccount::owner() { let token_account = Account::::try_from(ai).unwrap(); - if token_account.owner == ctx.accounts.group.key() { - if let Some(&bank_index) = allowed_vaults.get(&ai.key) { - used_vaults.push(AllowedVault { + if token_account.owner != ctx.accounts.group.key() { + return None; + } + + // Every group-owned token account must be a vault of one of the banks. + if let Some(&bank_index) = allowed_vaults.get(&ai.key) { + return Some(Ok(( + ai.key, + AllowedVault { vault_cpi_ai_index: i, bank_health_ai_index: bank_index, pre_amount: token_account.amount, - }); - } else { - // This is to protect users, because if their cpi deposits to a vault and they forgot - // to pass in the bank for the vault, their account would not be credited. - require!(false, MangoError::SomeError); + // these two are updated later + withdraw_amount: 0, + loan_amount: I80F48::ZERO, + }, + ))); + } + + // This is to protect users, because if their cpi program sends deposits to a vault + // and they forgot to pass in the bank for the vault, their account would not be credited. + Some(Err(error!(MangoError::SomeError))) + }) + .collect::>>()?; + + // Find banks for used vaults in cpi_ais and collect signer seeds for them. + // Also update withdraw_amount and loan_amount. + let mut bank_signer_data = Vec::with_capacity(used_vaults.len()); + for (ai, am) in cpi_ais.iter().zip(cpi_ams.iter_mut()) { + if ai.owner != &Mango::id() { + continue; + } + if let Some(bank) = allowed_banks.get(ai.key) { + if let Some(vault_info) = used_vaults.get_mut(&bank.vault) { + let withdraw_amount = withdraws + .iter() + .find_map(|&(index, amount)| { + (index as usize == vault_info.vault_cpi_ai_index).then(|| amount) + }) + .unwrap_or(0); + require!( + withdraw_amount <= vault_info.pre_amount, + MangoError::SomeError + ); + vault_info.withdraw_amount = withdraw_amount; + + // if there are withdraws: figure out loan amount, mark as signer + if withdraw_amount > 0 { + let token_account = account.tokens.get_mut(bank.token_index)?; + let native_position = token_account.native(&bank); + vault_info.loan_amount = if native_position > 0 { + (I80F48::from(withdraw_amount) - native_position).max(I80F48::ZERO) + } else { + I80F48::from(withdraw_amount) + }; + + am.is_signer = true; + // this is the data we'll need later to build the PDA account signer seeds + bank_signer_data.push((bank.token_index.to_le_bytes(), [bank.bump])); } } } } - // compute pre cpi health - let pre_cpi_health = - compute_health_from_fixed_accounts(&account, HealthType::Maint, health_ais)?; - require!(pre_cpi_health >= 0, MangoError::HealthMustBePositive); - msg!("pre_cpi_health {:?}", pre_cpi_health); + // Approve bank delegates for withdrawals + let group_seeds = group_seeds!(group); + let seeds = [&group_seeds[..]]; + for (_, vault_info) in used_vaults.iter() { + if vault_info.withdraw_amount > 0 { + let approve_ctx = CpiContext::new( + ctx.accounts.token_program.to_account_info(), + token::Approve { + to: cpi_ais[vault_info.vault_cpi_ai_index].clone(), + delegate: health_ais[vault_info.bank_health_ai_index].clone(), + authority: ctx.accounts.group.to_account_info(), + }, + ) + .with_signer(&seeds); + token::approve(approve_ctx, vault_info.withdraw_amount)?; + } + } // get rid of Ref<> to avoid limiting the cpi call drop(allowed_banks); drop(group); drop(account); - // prepare and invoke cpi - let cpi_ix = Instruction { - program_id: cpi_program_id, - data: cpi_data, - accounts: cpi_ams, - }; - + // prepare signer seeds and invoke cpi let group_key = ctx.accounts.group.key(); let signers = bank_signer_data .iter() @@ -151,43 +209,72 @@ pub fn margin_trade<'key, 'accounts, 'remaining, 'info>( }) .collect::>(); let signers_ref = signers.iter().map(|v| &v[..]).collect::>(); + let cpi_ix = Instruction { + program_id: cpi_program_id, + data: cpi_data, + accounts: cpi_ams, + }; solana_program::program::invoke_signed(&cpi_ix, &cpi_ais, &signers_ref)?; + // Track vault changes and apply them to the user's token positions let mut account = ctx.accounts.account.load_mut()?; - let inactive_tokens = - adjust_for_post_cpi_vault_amounts(health_ais, cpi_ais, used_vaults, &mut account)?; + adjust_for_post_cpi_vault_amounts(health_ais, cpi_ais, &used_vaults, &mut account)?; - // compute post cpi health - // todo: this is not working, the health is computed on old bank state and not taking into account - // withdraws done in adjust_for_post_cpi_token_amounts + // Check post-cpi health let post_cpi_health = compute_health_from_fixed_accounts(&account, HealthType::Init, health_ais)?; require!(post_cpi_health >= 0, MangoError::HealthMustBePositive); msg!("post_cpi_health {:?}", post_cpi_health); - // deactivate inactive token accounts after health check + // Deactivate inactive token accounts after health check for raw_token_index in inactive_tokens { account.tokens.deactivate(raw_token_index); } + // Revoke delegates for vaults + let group = ctx.accounts.group.load()?; + let group_seeds = group_seeds!(group); + for (_, vault_info) in used_vaults.iter() { + if vault_info.withdraw_amount > 0 { + let ix = token::spl_token::instruction::revoke( + &token::spl_token::ID, + &cpi_ais[vault_info.vault_cpi_ai_index].key, + &ctx.accounts.group.key(), + &[], + )?; + solana_program::program::invoke_signed( + &ix, + &[ + cpi_ais[vault_info.vault_cpi_ai_index].clone(), + ctx.accounts.group.to_account_info(), + ], + &[group_seeds], + )?; + } + } + Ok(()) } fn adjust_for_post_cpi_vault_amounts( health_ais: &[AccountInfo], cpi_ais: &[AccountInfo], - used_vaults: Vec, + used_vaults: &HashMap<&Pubkey, AllowedVault>, account: &mut MangoAccount, ) -> Result> { let mut inactive_token_raw_indexes = Vec::with_capacity(used_vaults.len()); - for info in used_vaults { + for (_, info) in used_vaults.iter() { let vault = Account::::try_from(&cpi_ais[info.vault_cpi_ai_index]).unwrap(); let mut bank = health_ais[info.bank_health_ai_index].load_mut::()?; let (position, raw_index) = account.tokens.get_mut_or_create(bank.token_index)?; - let is_active = bank.change_with_fee( + + let loan_origination_fee = info.loan_amount * bank.loan_origination_fee_rate; + bank.collected_fees_native += loan_origination_fee; + + let is_active = bank.change_without_fee( position, - I80F48::from(vault.amount) - I80F48::from(info.pre_amount), + I80F48::from(vault.amount) - I80F48::from(info.pre_amount) - loan_origination_fee, )?; if !is_active { inactive_token_raw_indexes.push(raw_index); diff --git a/programs/mango-v4/src/instructions/register_token.rs b/programs/mango-v4/src/instructions/register_token.rs index 330ef972e..940fb44d8 100644 --- a/programs/mango-v4/src/instructions/register_token.rs +++ b/programs/mango-v4/src/instructions/register_token.rs @@ -113,17 +113,6 @@ pub fn register_token( ) -> Result<()> { // TODO: Error if mint is already configured (technically, init of vault will fail) - // Approve the bank account for withdraws from the vault. This allows us to later sign with a - // bank for foreign cpi calls in margin_trade and thereby give the foreign program the ability - // to withdraw - without the ability to set new delegates or close the token account. - // TODO: we need to refresh this approve occasionally?! - let group = ctx.accounts.group.load()?; - let group_seeds = group_seeds!(group); - token::approve( - ctx.accounts.approve_ctx().with_signer(&[group_seeds]), - u64::MAX, - )?; - let mut bank = ctx.accounts.bank.load_init()?; *bank = Bank { name: fill16_from_str(name)?, diff --git a/programs/mango-v4/src/lib.rs b/programs/mango-v4/src/lib.rs index 373f4c111..bbd5cd257 100644 --- a/programs/mango-v4/src/lib.rs +++ b/programs/mango-v4/src/lib.rs @@ -100,9 +100,10 @@ pub mod mango_v4 { pub fn margin_trade<'key, 'accounts, 'remaining, 'info>( ctx: Context<'key, 'accounts, 'remaining, 'info, MarginTrade<'info>>, num_health_accounts: usize, + withdraws: Vec<(u8, u64)>, cpi_data: Vec, ) -> Result<()> { - instructions::margin_trade(ctx, num_health_accounts, cpi_data) + instructions::margin_trade(ctx, num_health_accounts, withdraws, cpi_data) } /// diff --git a/programs/mango-v4/tests/fixtures/margin_trade.so b/programs/mango-v4/tests/fixtures/margin_trade.so index 97ff6cfe94ad2b5bc377519e446c8a968b031c37..4987419f27b3e3957a97e6202ee3f3d7fee3510f 100755 GIT binary patch literal 204216 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

ZHoh&h_^!!&JO_Z+;|)KL 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 literal 324128 zcmeFa3t(MUnJ>Oi%4rLVErkOiilh{1304CL)Zn9lLajI!G_>NQISr)`Wz1=?WOt84 zT2x9EZ4tFrz2+pPO&xXOj5E|{>hpFS?^vJI$BYH%@6;#pNmaD>_xm3Etg~}Yl0x)< zuXncCmG%18_g>#xd+l{@d)_ryHRN)UKU1QIBjz^Wq$LZjqWPiY?5`+V7%hmV;NQnb zkCV1})Eu_jQR$nt-(gFmnc9$JOvV2X+@(jjwo4jcJAFj*O+%KCEI%mu;j;Fd1_Ji}@#xXve#--~!AFiB zeZ$Nsy5Za?ipzWd$eQ-tlZ8idd7tE$qTf*|KMg#LqTzS2725CKFZFRrF^*?hc}df| zkdXGYz7Yd4f4a4|b{zlNCr44?c;(M98I5Q7ZcA_1lZieh;)6uU`3X#-c-KLZkJCfD0K0`RZ#oI%6xk|@SPqn={1%i? z10PzE_j=;{z2mF%Z%3QBtngX?eb_{(pR3V7)XxV_L46s8csSl+v&Rj@BPbt1c|Lk8 zTEI?n=L$WA+)}Z}WXD#eXAf%u2RQAgKAFA~k0~H%N!>_~tcT4kV+BDOXlIBCb^7bD^`?zd;Fuf<7?h`2YJ;JwS%Mjfd{haU% zc5HdI-=t}uvRM6XD}Kj**XB+1~WV{Rin@3_gbX zNWQTAtKdh7#}M_dSm9Tav5yO2ANlAavBQwhS^xLJKQW)@!at0!uVo=5q%Z3SyU>Ds zSaXbg?hN>xkIs^DYT2>yC9vZywfHiLc6=!u`}lnM?1cGp)iLsAA==lnp(q$(H{z zf8qY)A@l-HUE|A_g;+mnuua2^ll!G>|> z!KltW_%7lR(9L;}@Hb`3>5uZ!hm=o&+_U!Tamz3N25<+J?~K33i(7t*_K1f?o=MY) z$zA7VV?*_v=hgT_z!s80qA?J3LGh1PHX1o`UiKg0Hce6#W3c{Ta+4~kE= zUqDyZ9^Q0*#U3hl@N0oHmK{8wdRCNXRq^13D6eG)@6Fi3i!*jmJ_+!03Xkg$@;i(N z--q=~yz9^-Y!QwNup*aB>)_K|2cI`(@VQ*@QTUYeTgSoYF0QWvKD+&$OFV+|BNCrp zMzlxkoAHlyju;)cQ|^Hu7kQZ<592#;|GHXwVsYN^+ho{i`1P8Su6f|`Xg>-kk0-=? zJU{y4XH@iNv>!b@3f>{}PYoIVcwGPE8P(&@#Qa5kAIX$ATKWH%DPL&izsZy@vhwd` z%Db$5BvamF<=@Jb_gVRmGUbC-{TyKgHeyEkub_QBJf3=tc+9JThsP(x^8wi7 zSpMeY-#+v6o!+5YP?5W!Kcv(ijbl+pmqvqp3A0r=!#^K|d zark&;9X>v#4jfrN+3_h0$K9zXk&T;U$BO_P$ z8_mQckhjJQPkq#KO^#8nuN_COPo*CX@bh{6_zd3eAAj+L>h?a5Psz0RdHg4t_CAmQ zAye-2_zyDWK94_~DffB&P^R4H@thZuNr%u+ycT?Jk1mk%WXIqi_(xolY?L(hNj{WAFXr(^z^xhw zaU`GN8#U#4*FKl?-geu6Kd5laTP=UU@|!Kc-}1ed-zWJ}xzF<3B_HB3Wbx0_=3t!l z`()sF&t8QyFf^(?@eb#OedwRGZPj-7DBi;>EBOEV$|x$86`%IpNwQyBDsL2gx|@1* zA7Mb-bKjr`{3ZYW9TaQGe=Kt%?)M-1GXAlr5i*SqRPyB4{MS_E& zd~`1*48Fe0_;N()EpM~@h~@9J{9(&0-dG1Ky@6ekFND8-VYU5iX1vy~^cNa@zZk&_ z$Dh?GY0|P)*V!in0G_06v*u5MQZc`{SM%Bp`lNhIT1+q6Odl4z9_Viz%%7?b;nzqc8G}NPrda+5+6+X{esBtp~NSc~Q zwSOAgCryn~4*eE>b~imu;csaiA*5t&v!*A^)YSF^5&ueie}7c#y-_Ri3H0g^^mKS9 zp(5Ud%203Pezi;T<2RR4|Bdby)((0@{Lg7-Ue8^qvFNy8^tcqiRN9q#mTCJ^tE5R&m%=GE zTYk0W%}$y+Bp>qO&J1501>a?c&q9GypRb=6d_s7)5#EIPxX0;PYE?L;C6=FO`9+p*mVC&ES7!M7(-Wz$ zjfPK`^sCR;9i#aAl4IiQOvPthzDA?)J}7t|d4vd-N?Qca(R`h*bo6XjIyOlX@qKX) zf1Z>2>5a67+xUA+EU`5W|~mw|U5;FU@rQ#k8}H0>UgG-;bB{o{c?;X~4<^F=(c-SRq* z!~;E+*ZCzL=&-!bJMnw^#X!(PZ@4n&vR=(BB_gKEy@`I93>GOF5^z!L$ zYm@Q9dA?ERZGA70wAj2<*7owAAM>Nn%SlW9_wbDK!uTXRUo&305A!tslX&96g|Lr3 zHV*8hnf-%t8)e)+p(`vO5q!6gDnBgc%9pVHJ}FnZh2`9LOPZ8#;ro@XC=d5z81EI! z8lM%w&r^VMKGJzJ+0mnT#1%SP@n`6Fucsf_sP*&<3z3h@Ixh3qNnY_|{+W_jI+*_} z$t%6gFOa+m8x~61>2dT8R=(KUw<(;?7KI<;L%j|0`8x0k<@aRrGmzhO;de!T zO_Hz3?>Na<~M{r`A{ z!e@K{w5#~_48(Ey=*yx{;dp|V=>f-CV0b-;=+?pvPH)U@uNM2`s(d}gZ3fbqTi;!g!lKb<4}K~YE^#V zLHd!vZwTE*L0|Cs9wy$&qwMPvSv)Nzciq z`yEFFj_)^k91+hlKVtr)vj1>M$2B`AT%H(=%UYhyR6UQ&7MILy7DVE*#wW?ld6w64 zlbNlOPvvKHxSvb+1+`lg(ivyyEC7HdZJ1o#arIj~a{;7OW{ZaY`({?hH(&s&7@ zcR%?;q1WhXI-vY>dYcYPK55#o<^4L&jM*|Q#x?#0ddT-%A--2Ye0BM8iNZ{`pbuSuLWOtPLr61^gM_CP|hbT@1flU@SjS$%cggyDSfG4o~HDtdV89}t0#w) z-UZq&m51qX`*gLz#P+cW2meL)8J_uQj&zJK*ZzeZoB*Eq3dN(n0h1k`!n7tyoerO$ z$d4Q0`V08hfKNVBgokgJY&3j}rfkk*H|yVOpHSLry^AMt}`uTIAdpRZPHyE_z}X!$11hwu*q0Ot!n!}n-< zA86-8K0FTZft=pBU+uje`xty!&Zj+hoah7FKM!~^eXgay_$$p5&%)G4l-{EDyA}Nj zg6}KZ@dzxW%V%r7pKCeO=%HV@2oGzS4y)Ql%Qbw9ZUr2g*m7$>!|I1GPS zPvgh?Fk+6q3ym;kncPh@GsdO={FyXJ^uZxD*7D{4yir%n7p=Y z8t+zpz&SUmFC4FS<8c@Hekc5(>#4_S$&L|epPX=5(!6*rZAZwp;yCw$LD`h5Nz z?o@m@-ZYd~{KWC1&+&lz?YLk4N~mXjXwQBZK$qkGLBXfJp<@4Sf&X^DSM4e> z`*eGa%Y6ceaMuNXVi3*H*MIOa*dy{Ctf2A=(EqVEb3X z-%SMWQiFRI`i%vb9)NIPTobMuQi$(0fLjYchqE|@1Gs$1Wzy$(bG%-Vnk`S`f?e!| zdJHf6P}Ds6KsfCG>|23HS<4yUFdpapx+IuyLVdaIuPfs_9v=V27Pt8PvI_8;0h;qD z({pl9h;Bm~TYMd_Pq>jA_jsjyo#wrs_~SpsPw0pzA6+ad z;qmEg(Rf1g7<&FJov7>KtNn6lN2r9S1TF=`pM(6>NPCfXZ}_9=@36%Yw_-eqH@X_> zA=cZtbSRF`&%(S;SrC0gtNiu0}zs&k50nB7!UQ; z_}X_90lxf`_>LfTd_#H!Z`2DMq`lHk=_XyIw;rCPixLj^32=5Pk7 zU&zf7d9~-7r6BH9xNaYzebSDJ--#G9jO&R(#gFUxmQj9uP{7OgureQP)I8z+7CI7+ z!+6K%3)cS__3?nlEph)o(burOef`+79KyiqFL zZzh+J`=I|^NmBiFIk>+c)^1T8YkTsIf6d>felpq8C3+HD92C+S#v|dp{2nYh;$0f& z_`V^x9?*C$?%zDhF1YW?c3o^|@8fU|OWNh5Hk9K1_)d-Qd>@SS82RXNlJ7sW zob)EPUsK2tJLu0gN#vaG!>BL4!Q^M{+>ZI)fJ=yEuC{l+&p%oDn%vMKcqO(!AM)cM z`2juwj*7cP8!+5Yu`X%##7@nk2<&gR} zvlq9cTg}hK{i~(lD)40i`n|~Pu4MZs{NDT_jGMeu;qjatXZGX{jsiSv+;~9c*S$ao zN>*$8TTP!*__MWNV)sQ5KR)^B$AX8io6~i4S?j5PBfw+$Ld_3fsVU`fBK2YC5#`%} z>2uKU5c{pDv_E4p`FBX$_p80vTOUwg_$0G6b^g^WC-u*K`w9u}u4{~c>FtvXlpk3* zmGh5=znwpv@cV!ao#e-gD=Kkv1y9opix(U(Kj-1|R;X{a_|1KUX3)rSUWqjBH+~y` z=r74w+AANn=fn4A{L|%>T&4UdCF?p+=hV8nn-EYy(=cQWpNAVuY_a&0GLjtcb^&G*2aRa~{_3~Q% zzl{Fv;-xqay-c;ApnZq??o(u5-KXQ^=1Kc>zsldEjPu=UhzI9A^5Xz-9mfCp#P*(K zF8EK~^?A?VoA`Xde&?Z$@8i$VX;#*Er$FZ3FKxHW`GZP4`RF@BM~DyOwlFStIeZg* za{pe)>Bf`WtM5yAefs{$;=Wq@5l;7~L9^=-_glUh&a0s9eBjCXc5h~$-Vp4s3|}SW zM8kBJc#;;iTYtYqe?~noOy%2_3cp-$T~GadKzuqFiwEbogg^d$lfMsfIrzSu@B4@E z8E`Z=^7mN}4SS8J%FW-~A`;X*u<5L|! znzZytdwZ$pL(O_#lAqQ+rtctx8r^tCo%tCm^vgKW~|YEXRbDQ;31!QmyX{)T^(Y)OX>4@ zjPaD%YgyaVPO0Y}4-${(GH>(S@N8}8{<%H3K-a}Vf5s^epZ%Wzn5iGfcntaCod<+3 zv>!B=zX^H%DSi%Wzw)n1{jA4xor`UM0O~|(gy-0}9>;lh=@;Ai|Jc?)zAnbOGljcW z`H&at0mtMpe-#iSTwA}Kd9Gxm`KuM5;WuhNAALc`DJ#5*$nzZlJ#6y9xgY62gUrX{ zcqbcGuL@H&E>7iY`s{Y=ax6?cQ~Ia)cN+c{-}v_rDIKeRDB}*Bo#rFEucAi0!+4qU z`#JsS?n6fJK}quwf*(AgA09+|#t9A3J^H`U&I#u*;bi0C*#buPT?p9c_k8pWsYv}z zf0vA#%+mJx=p|`A^}y{d-o0A!+|waxVVcgXDSuWQe>N$c3SX?;_=0mf(tjdyeHpr@ zcDhmFjF;%MkBN*Q@|W}aSp5Bj@OPi~Gx>YG>~X&H=~m!OzxJZp zf>v}ZJxl@{o{V6klQEy+TkoPMCE=slfS=jxC?baty1rCoUL2D9rbTLe0ag$>!^`h~ zDJotmz1!-UImj?0gs{cenF96u!?dq265< z;(?5^v zlXGeP@UtezTKqT>{K%g7a6Dtvm%=m{2OfXVG8glBEAm|T5JT4=;&;U4{$8~4a?vZ~ z*H_#{n3X2*k)vYb^(llr~zoGbl%sP}!$Zxk>xpB@V0X5x3^tH77C){|d7Y`;nK ztUn#RDMU|}f?DS`_66}Q{nn*u$?rlJeuW-eAMQ8K4Dy8gqgCqPFx=5U2c08p$ENcU z=t4o>-f(^Rp!x-SAM5iS&Y7DWwpzW*WxM1(F5|w`5|ADj`7h&<8ItBBY!2ax9|PQl z>|f-+gsVJu`I4_Y0(mn}zvc6y?{lSbqR(#@M<(W9eBSbShj!hC@d)o-@Lj1syB*IK zbfkXy+2AvDhL4{g8U5WA6eK6;{Fly$ zcMG^0-!?3P=_c}=9?TQo-cz41*zX0Iez~CEu!hgkE1qZiYV-E+i!0;& zRj60jYWeULnsOa5FXKOc7Mzc8eB4hbv$da>hx&VYFb?tFjdg~%b9%z_;#*0V&4(eJ z1%Tsx^7)VOz6Jevc+9^ygg@8la=S6OtDpwWsJhkCM{_>l_l$!rj)+(2IRAYLx~P%`MCZ0{$}NSDD#^&zLWIz!CJ(v-rrOA3*^g( zz-PC6=5Gwzr|*OR1onN~f7^H6b2WcS_C2SD9aGPmYn1!`xa%kPVVm*)aQ>3-kZhhI zoKv_D5yU~Qu$OTCFhu>{C}t#n;1ig#!}c>_!r^-15ZV(i_r}BWnVdIm9M+$Kcq!ax zUC8=vI*!ku^aI3)?XOvf_Pe#7=k>dSdDzz{Y`@joU&Z!CgJ+IiP4U*ckhC%81 zn2GT1r;INRF53$q1`R*dW%>5@4Btps$RFn$U;FUA_DF`WS^nKkx$Lp=(0)Aroqde_ zd-6E^`?rvPOO4NqG)>y{yY;L-x_tS*=A^fQP zF`?cyQ}6l(ysR5U&Nbq}-=NInM2`28S;zojC%oE;Qgb&&e_W;Sdhwo1o{^}Dw9Ch~(*PMXw zzjZxSW(o8Y^;te}9Kvfr%JnYyS!kym$K_foD}2TYccR?SYnRHi1%3hNV0l6%#NXw* zQrhpAcF6{%I~n8tdy$LTXFQ<#81GcQBAz$?lJ_E#mA2Cf5G1HdjbO2_s^^N zWcUT z;(^W5FWF-BZm561#39040p{SLJZ?qa&o311{7WJCc(F%+ukYtweIL<(H^JXWSAJJP z_i=rntQMbkB2M#j2BCeEuF!6~c`udOH}RbHJLEeA?R5U&dek5O8DFG1?t4YO`Zvo9 zwh!R?>6COYOt= znbQ3-yN^BmPMhy5Lp#~Wd{OZyp7$-P#oLp}}B{tW*x&f`0e;T~d#G>G>OgFd%I=U3QoI{THiALplon1Fm< z9lk@$!}bkm5C5q6`R^Q!Lx0?_^!q#-?^L?TkFC(j`ur#gKgOc}5KttXhq|ii-cNsH z{wJi{+y9X51G=Y^PwSN4kZy1PeYBrUx=Uly?f1~Af`{~rT?g_9T0;MqGxUp|Way{; zmjl1Uc!n;9{QCy>8N+dee>RTug?ixQeL6E9^}H6pz5U1WN4!h*+Vz+EMt|$@i3jJ6 z)X${xd=tj;Ka$~t*v}Yz=*x^Z9v^nF{YD`} z;=wHaFAnK%)OPvkmQnPFc!l)8C4)~r`nP82KgsC7CqsY8XO~krUTW4^=_q&Px$^e3g`YC)izYw-7l8#5~2X9yS z!#8S5z58x6#;rRqxIdUJ9VTK2FU-(iPY*to(F3X+@p*AZ4?@3FOAnrt8E-s2cm~=} zL=S!rJVyHinHH-2K~@i1jgF^e@De&QevxwZ_UE#FApfo8Lm+=|HyiC9tNg=xFo!kY zWXk_U(hdD{R|A6fS`R~if-`hQqX(#js_RDyJe0){|*0sAXm-sG(%easA-O#8e9Zd!*vKo$t=Zf+(eJoI{j5jV2^qSc^=GE*z2nd|OX$+` zPT~0*`UCRgt#>0BwkJG)GZ^rX=Wn(KdGc#Rr^*pvs_yOVfE`f&RdE*N!8j|A|M3a= z>g}uIbF}yP{5qi5xk2x@Om-|1e}eBNen&V-(>%)`uza)S_gh}qmpFH$dgb>fmsP)# zrUlmC^sZ^4<_9fa-^fuk9+G%9us`Y_`EbV!)oZX4->FISD*Eqd$XXSgd<*+xx|Cdbppq2karhK3I&Ch1a_gnb~GUbP`E++g>X37s+`7V^F z`!~LSpl-G5{YWcV6Vl%dy&>GsfpM|z^YXncz(Gq;!S;J3k@p)ifAw1)jo9Dc5719_ zp^ETM%=p1@UzdKNN-v>X9{-;L{}J!8{r%(57Cg8woqb;=<8D$sd|l6R|E`LT%KHJ* z;?1PqRc!bzcUt$ zzuNfvAjbFmc=EPe7}7COINu_i9i!h5Y^OYfc+$!0|Xd?i27C?|YqiW_7=M=ZF%! z=Yaak0n__~hzuSd-|==l((f8C)^?=(ete+p_38H|r)j-^_s91s9LK*G@$+J7KQb9l zI}ftr3H9p`_{VWR3|{&9GrxbPmLDIn_VfqwfS!|x?R&~XgPo5HC_8D=D%%@H1Pe{q($F5I39)Rmq`7ZP1=6AOW`@)^Y2#1@H;9#@d`}~ z4Ju%dL!4i0*3jy~k9pdzU2X@d&7ZrDkw2Si@<+da@%4_&O`UP|MS}k&`+e*FVM|-w)zM#vkXSp8o7$Cf?}0F^D%zE`Dwy z-l!8VtdV|#4X#IH@=7Q-~YN9@*EVfazBsYXYzOZ4cq@uwl7+Hu$7wU z=Yyypy*2bZ)R!C3CoU^r+5Wl6r{8mqf$tE;Vf*_s_=;cHsQ85VdixKveYt|~f=v9j z8hO&!YViMV4EosakhR-|cB!8>JI429Y6oVo)PK$k#QPrn?S4FaZZYoJD+o^f-2S(u zy}y4gl@40|u==+Wsi%EwToL;5+iAbXFXF`rpmJ`1pY$8;M>6&s*ncectLFjyJ!mNJ zseoVV{K8x|E}K0q1^K5m+BMpeA4^^&1dy&)cP=x<987AxZFZ}eiiU< zw|Id14$^}4*(Mn%S*yRda?E<^TD{oOa;XF<`VE-*0|EVXE4qab`^Yc9Nso&%RVr6|F%-5?? zMSAXkHSBM#jvMl^-hRMW&_0Bl#b*ooJO)2MNq+8fxtqQR_SgZuLcg>a`P2{1K?aZi zu7Q7_Ksx?uO{HD^^*^Hv&^ud_3S3==0IrsMT4@a7N0q)S{Otkzeh2!xf*-=I3Dy`4bIse5v&M!cJG9qT(QEMv_`t{c z<=-90#!ru{93J_`DQM;_rO) zJC%>ee`DbHl1GW3{O*PA7mS5pa|XX_1N@RJ4xtwMc%jCLq~kF1q~nF)zw}kL~oR42=ACT+ zPU)WdU$(o+;QbNrRrApsr9rZxQTSde+dfs(bjinMr88-oX?fju!#QQihw*4D^wj-4 z>H25ktI8MqhSDDImo=Th_Xr}d0mYy1n-&3nJZSo{$>_RKQ;zpy$TO7h63E--TGphQ%I`tB`*FL*YScXH?}`0AYkZda!Fu1dXTNtD_I1)+m0!9~81Qoh`W5Ou zTN3Y~UrF=$nANw=ggNzAE<|++{V+N-(6m< zKSLS)SugstSNT&Ok~Ec1poc3m`qN1LDOcooHTh)c;E4a@Q03?7$cOKT>({1cwd1n- zneL{mCC`5N5B(NMKBTjrex45f#P7L_-G%t@Jh0z;9PZnS-VPYv&@J(&8#V9x?D0SO z@CWM8fcn1>zVLmM_G7yxKs??(Wd6zg;~w>&1t>V>=D$yq%J+2bpZD_ugPQ00u&i9? z(cTQta9(et|K6c~C&X_i?ceYV+dm!cL%ShgaSkAr`%kG4yA*%_eVUMe*?4C!_)`n7 zxx{P3#POP41Fz6ueH(c3I8ifL4dHdFA#rAA44E~MiF75~P5E$B!2@~NET(1|yckKkkTG5hsj2)K6NSs{0& zuEz$q+kCQB(^(4F_cx*6I-j*19yOl{{C;iEbsyhXaGW;08js7{1Rmap8~k@!zRU7u z%lBAbzxVe0g-iDPXcc_@z2`G!z;ON0NWKSne3*G#Pf#ykgdW7}fi+l1@7QePDPBp_ zot9U;k|xF5f2Sj9QoQ~9)TBxA4*9%?;~AgB@xF%fT#q>aFj5NfB>#xlo1k~8U-JFS zO%=YPS*rhR&wFa|`^U5hVM*C z-LAPl1<8Q>LZeIT@xI>TCiNdllfD;<%L*Uo^{igU$9L13A44v8LM|>xw|jh7t^Mrx zaYpYqj&~p6p!BcY2e?=AP9NonpB}46)bi$C0iw1Z`kL&g{QpGRAlk+OUynGb% zd1;;cr}!52OL3`L;3lWelN9$Y$avkSF0j1f?f3P%zoLE6b@_My{yxXg^L1Z;f%d=G z=v*qX$6v_AMt{~cQ3!KeEYI7K{hzsYyNEQvFw-61-!BL%lX~zU)p~8v7ATw4)&?sU$}lv#(9(< zgYT|~)UP`cFNFDWCf}FI@5J5+DtqW(dB=aaO|9FerGQBuY; zy}TgGo}|V0neASJ;d`|roL{>z|FPe-@2K<}Hv1)gSE4waS9{Rj?-MWN^mp)*4d#z_ zD}0`p<^nd16PBQe@V>hm@XFQ>b{u}MK>y|K?nk?LmD#7w|BQps1?N4_mXz=?jLh>) z)CrktLg?eEBxFSPQmOgY#i?Kfu1yHJkvxhTc?o;Bw&iAt;I zNg5X=!TPLE=Q)exIPRMXC&+gopPaB==ebqH8uAz=2cPHuP5Be_-$Z!ZbUeO)M>hT4 z(RO?PT+!pLiqA%CZ*m^pu6GpPFAzL?q`Xwrc{J^Zarq=WHX9u_f7YerpM;LmnwLty z(&}ZB#>G}i@w+Pur`T-y)s}a?>yUiN$0GR<@a1B`cbVa{P~g<(>%b_!E+xDP^L2^h zvr&c_gZ~Rh;oU5FE|Bt4@dg1fny-tD4r=3A`msg%y82FOS6Z`K+ZQ_|#lC~WDK4@6 zJj*Y#e6!?3K3+mT1bjU~@NG1Fx};xyzN%e^{hva3#@BS+ZF-x=HKtGeUIfkYevSV^ zuaV~y!aIU|sklYTJuXYzn|}@c0zu#&A>B7AN;kQ0ftH7L;;3?JGS0n@Dqkq&k@72m zvs%ihYq>5%dqvJa+~=Yy(SQH`snEZ&)k7^0p+5EV zLHR)`-!6ED?T4gX=?TjRrCjL__mO&09`5fkE-03l2;IqsnF7BZ_sHWjV>vGXm(Jfa zm-1wm;+eO5@o`RG``LbdT<);^OiA%R*YeXXZ{yf{HRKZm0({piA25&O`KVVv!2E5JkJ9nhNPc>nPb9DMVf&TH4+s8WEAs)p zpU>p4X1<7j@NnN{2r1!oF^~Pdy-2;D<(x@9KK64ZmG3T5i6_*zMUWr+y^iI9{?i^R z--$e4{BJ0y>~|kS=ubFr0d0;?x=&>DKmD?|yA$nv9qspZR^rJa;a?@5RQ;;NlPa%D zJgM?b{P)4yOn(=f-nJ|fJsyQuK(F)RgP1&&UbA)NQ1{ak==MOv7u zYmr)T*^_d;Zh~-WnuL4SIB*@`s{^>%_q!80pE(EP#6|pr=UC2XJ_+sp+)csa3YV+v ziSKhzZ=Da^S2&jQnK(Z4sPN->6Tz<;?Lz#{2=Oz0O)~oBexWes)QI{-eFuqAXOr4X zWqvR_?6>)$#q4mv?5oY}aHrYX;*1@(cssA3xE)?(cu`M$KOvP*8HIT0Uud_apL9@9 zx8U!J-}=E(_8;Z90=t)a-~4arpMHH4`VDdvj00gD4&K{@`{P5X=eQ5C{YGgn`CEX8 z>yi7x^m~^E{oU%$+1lQJrzZ5j952M@`+#5Zm;bKw@?-cNCB_+!AMw8%dCn)Tq<32F z-%)b@Pnw@|f7y0K>6rsW@c8eRrv9?+u-4P5u)am(%#dGm{PAeY$dnHZYX!vG+536YB@m5YbQEtXwIpy4l9(LuF z%VZucOxYoD9e#U5Uh*yvj!(VixW`kUi&7oMojTr(3pDTT^3g+5uyV@dNtlg!+>t(EA@bU_up+Rt5jQ}E+{Y47}qZ&f&B;rpd=@TLCbqpNJ3Z%QOzm~tdKk$4zCNA$&^5ZVpbN#n`izw>y-Y>SVIf@Zp}L%QBxMVHp6zt?lO=IiO# za9QiAcYXB7n>0_jZ+jZ#GcaiWrcYAmE9+Nb++yh|(xH&MLG;qcso;H?)aN5TC|8*B z!wBvX`uR(di}QCZzRGvFMt3d$L%!ytl1k@4*DSo{q>MM(9dq7N?+0^vs` zod{n}9|v!8)bY+oS5(0*O~CJ;I1YSNr|{jrv-4DizWRE@iOKuND+J9b^;5P!_j|FN zFB6$ZehuF>mRvbC<)hbB^W_-y=7;0JfBXdab1ZuE2^kNL3C~3M`i-jg(yhYRO`3PU zXXTcUJ|_*F-^Vh4e_rqGnvZsmLpNRDcyx#J?pFHmenDHl_wjYa0QPrd|315aYn30* z%h%r(KR6LP**Xs1oR|G~MV${5f%}GW;F81R@nfQTkeA(0@a4}S=e6U|MNJxyu29as zb>w`L$a%BsXMb--&My+haCuC`pYzk?vHT(9+VSwN_?^XqPd<8{q=klQvcBLtNd2nD zRa~#P0|Nzu$YsewYR(Kac095Sx;5)`JwFV=A-|V zlz4N5O1-}D^ZTyq(^Y?-n==O9jF0eNii$zt0_dxqxyemp;)7V7;F z#wVO7fMrG7zi7`rRo)XNTNa33B^wq>8W;6kOT0?Yxy1I}B;th;8Q1QuVEj(~>uk~e z5dZz2aNLdz-HykXxsPUa@_Y&5g#DJFpWhqcc1Qf*gSN?9v(xnb)I7z%N$ob?wM6r4 zE&kqS^H0;D(&zW&+3#(~+gy&@tzP+A>vyw=e>hKUC7whc5AoZ04)nOJ_!RIRC?CHE zAs^}eTE+e^$vB;MpGQ3KImNfFPsiW+3C-I*Ao0B)(fkcM|8)BAhu>i3i>-Z|!s%>L z_^w~nYf>2E?Q-}DaCdu16kW_e?-sm6dGI}BxL*4#TEx4Izk5_3{yuIl#ybo3Gwi%y zc3jtU@{R4tw?#K%zY%7St~@uQeCS`KX?nhB(DLZOb}m2rj@ZxV#*Jv+GfEW4oNyyRnLq@$nGXIp= z?+4GgP{_f11*JdaBi93=-HsqHc7ZPO8s$?wXnfdxxC&4IJ|?`MdJcR;LEZ*HUPT?Z zR=fA1UA)5JTf5YcY_fj#o`Lwh5A=FG!{6fK!kJ>SabOGMsQo8x9a_Ir`+5AEw0V1n zIQHGWG#PndH9Xr4N6{x0hkog7IC&#}%r*>T`Ef#?7xgQ8VrIPL^w&(1AXpWa? z&kuJtY5W+D^W4lhpFo~|^=wei@n&^GuCdxp0WT*h>B8~)-H-Fp@B8v`E9(W7kK0*3 z;%c~h-eO!G%IRY^K3x~bZ@~C*`5i(R&IcN2))i(#?WjAvZOn*MDv0kC&8ms$OfqJfcljluFvJJ@pp0EPR~P@ zN?p>wJ@>HGd;AyQqKcHa`_4-x@Ar$eox<1tetsn%={-;JYh!_1Ds7aMzt0O4;osaY zH(B{yNh|m(A8^m1jFU9IM^gNLqUKw6YCg5g4`@EM%X=h`{V_>PB^{?d_e;y)F5|W5 zes1~KTVC(aWSsQ|lvMnr*-h#vN2K4l>+iCF6}zuxH%Z%G*?$V2GKv7V!GJW@N{ZFqwZSv#N| z`noQ($G#PnID&p>D?s>s9=3Zo+QsSjfcu30xIA6)^6vr5GcA9>>KiS8(DKceKVy#WgwJcVgZlDd4u_lZT^@8Z87klyd9Y8SbFlKu{9 zr||qdWntQkx^S;Y`*vG5vH#b>&u|`Koa=fN-eYqB?c&{Lmwtbk-3#XQ`~IEtVYpY& zh?1!lKC#5(@?<>_z~lV(dEI}9-s7VXzr(f1l8y$)6`<&(ryY`)-9#Gi<+V`5nZBc7H(1+c8h`DNI90 zJgGgwH}D~xhk;N*PC-=m4GPovc6+S$LNfLl;F$3c&R^4BEZ%c@u>4oplXZMk{qK-& zz|-bckMkAmqtg4^(f9ukz29@=vFUv`@FYLhS-SPV^?pKnKMbpPJ(>)?-+qjGukBSq zL%p9-NAKT05xrM%(WNk>vtSa5*@63gzo+BO*=jGoE}wt0c4VH9w@=@9aB+ZV#wD8i zJT!lW^|Nu8BITd$Ih_Ff{?^d%GhQU$PeVihovq>5E8JD^SL{FkM*a(b0bAgcY}hXT z=NxcLpmSz zDE-SVu84Q3KE%7XN_~L`5b?xCZAZR;9)G&L{5|7bw~GxL&m<>k{F0Ydwzek(e7C6j zQ&xD4rw@Rx;hmO;@{vxDBg6aec~4+vzC2#^IUYD9@cj3zLVfE49OAnT@9q5Fl=cRt zhvnbAbhMxHc<55h^J3?j^U-d(xv*Pgei+(Nr1#XP6T zG~Q))t;5NAd9bOzU9SAWwd-WZB-=A|f)B@g%A>UB z)2i%Q=^(t9k73WrT(x_DUtG(M?+M~NUx)bjM)bRFZ~iq^H2T}4(H{4EEPv8R-tbeF zFMrvk+x(mb%fI!n4_w9afBSL#0rz_>pZf2=d4T2juPnbU-7oED3Etnq?;N84yFl}# z3rh=;3r)iB8Kay|LB2Dy@5}kM8RhKvu@3kPwBxf1X*1GWE%o@s_cOEc$z**ell_jx z-^ZuFQ#qU1RpO#-J@ev+Gwob{p1Pb!_ZP5M^!*y-*c6Grvjmg#TrX>09;r`Mf z^A^wWJva& zQdzjZx&9KLWzfS)dmYE)e76McR!^%aBCFz?ILf7>{oTu10zYX}66_zd`@A6shz_+ROST z{T)xr0smo~>ixia?Qg~SghxE~5zYpq4?sw=-$ywb-=m}OCF;a?gm4VskRHJs^@2Cj zUTLRvlP=O*4^PrX35R-z>$0l8Kb#5#vi_6upHibdy|>Bu9mY{3fXjYQLtWf|MCkN; zp2PRnL%2vF>-XF~h%Ysta6YnJ=M7}j{mN{=%6IEF-fVPad%FiCPR}VFR(xhlb$Win z_1?!1`NVll=s8L80INsg;lC^3{R?=x&UWngOvoxPInBQeDjpthCyRRpzogCl zN>S?zxibX9eFTcf&v_(vu8!rbO6*)#=+F03&i&F&=H))-H)_6?AO6Vo(37&Y2hbk2 z-=ulc^M*6&kDn|Bp+Cm<#$)ow+g_~v0hshY(my4g?;MBD)k3GfU-a*TeZ7>JU&s3m zm6x4&tIPx2rQG+qx%^xLj>Sd(3;yNwy?~!Le=Kkp0$yC?zl2LGhx|;wl-DPrw_$!W z0G&n{FE{=(&fKC62MKF!jxkb9h@As<*1z9(o! zzF3rI(MsH}#wFUyoSx8GnVTniUC7-c4P4Lt{C`~3`OwdMhIY&vw~q?^(+&Q!#UHNB zJ-W65C+hdS*tg{ZHS&Eb>lr!ZqZi;`^7m}x!!F~) zyj-=ME;D}3F*)r+-%w6pF*tKXE`^+aSIu!$PX9~l3%O4kA3v4hldNk=S$A7 zM}7%l_RwxVgsIc-$H09#^1j^Tef&5)A6DD+kQjnZH7H_A`HmnbePzrkne zPdQT~JWdSxPC5I22ix(%z0PSr`gcFy$8~7*b=7@sr+zL@&vWz{zSAZ3^YY>E=y3lr zO^5wDl|2u8`Uh_K}Gk)jwX}$XYjTyhwEA{^``JHkL^sa{A;eGj`{tUWZ@qmUs z)RS4X%d(yqs`wv0FI3C_91QfVmcM8syupK_Z}A>ImlW!$+$Yzs2#n<~j-Ek(v0vc0 zUi&OYLpTYO{;+{Q<4`(f9-PBL`$0`h%fhzsb+f z;Ju^J=ieV-pUCp+-;Tu}v}gRmU?3;T`8nbb^gNcI!^%g?L=gWk*~?{h>_zU+Gyhpj zuZO9RZ3QkWTzgqhJLG;h+bF!hs^jh%? z=QTzNk4BGG|0{ajRa1|9jW23%`2NK5YInz?$B#U{dR|){@PT^#0|bJ8k1D=Xk#SfK z_f|DO9zwftzWh4`aK6v-SlkZD9|wLd zB*{PI|1|=y)!;1>xx{-GNZ$LA?v4z8&2{j59^mmivqrR!cQ*?hk3&PeW{!i`GXN*q zvR(1ouvJt4t}%@lU2m1{%09mGr4moNUHSZ>^6+@F5Vx%g5RQtp47%Kk${cI+l4DD<$`O7URE!Ei;E@kI}z63^nCYW$veHZ^pfXl2`_6mzW}^cF9#0@oOsVcg%{w( z^Uw~z7G6I99RI#H*`oTFSeyd;HhjB8-f_B4sjqkHr;lClG)}4LU0+ST+i&=6H+=S4 zUhU~v^lo8B@8mvW^DET57SX%C0^iS%=c6{&vw**SK=h==r=_JWK6P5(D1V8qmsTd`k0M(O@=xe#Y<9#yxJx$QiEaSaT`V|_M%kNy1|Eo|!e$2_pkNa@>=v~&n7(FO> z-57n}@On>%o+nHDw^{qn=zeK`Q*_YUzdl39DboHfYrj%{&#cg}I{J*^|HbXq@+nCB zJFNYx=&J&MZS*yR{~sCnss|gb{hH_#!k<@1pEURU)Jk!>giy7x;f2{fEIn zEdyWif33m4IqDNRbVbKOk;u=r8T@tM^)=F-^>3`n?^mVuk7V#uds>y&f3YS$ooW5U znem%YJ-i^T ze?_KV<#}~l|4$kER6njv>-%cfKPRn!QBC?UOY1Mr)GPlkP3!+9L*J>W$wwEZ^&iXB zEB;SQ>vw19Q++x=t>2!h*Zyj!K4sWa31o|^U4GL_#?GvllLPfP1B z$!yh85B8lUEVt?}t3jI*ywZf~)1ex-43?vEPRPQo}H zRs7p%n7h1|@X#L<&5&QO(nR@pc+auR>%PR~jF zJqhDTd&kJpw**S^#bLZzI-k*eVhN{L{XydfxWSx+E zdQR2}lQ7PbD*0R_<8WW|vCdb~!O*YHn>4t6ReU*P(%>$s(jPszJQ;i#sp2npLJ?n1 z0)L09@O^|}Ck1X_72Kas8r&sSa{Ixg!ChDd_dAmYH>%>pfk}fqQibp5Ck<|2m7aZU z(%^2bg8TQA2KP`Ee|JtA+yhl`b^mEH?5(#-Zf}`1e7maP-act?TdVlcGih*}tKi-| zX>boz>Dh`&gS)Q^uI)cfg8%KU;=?tQhHqCD+{-5oZgZ8M;czOR$*_x=Rd8+pX%hH* zpbBpDq~W`-3NCm3CWjAQReHwV+R1_25y16xi{bYh^1gVs442-g$bG7dUlQz7oon^F z{Z{qf=9y^ME~odZ-{(9_${|QR{(JQPy_dh2<2W~8P}x_jRezb(>%Lm8`u9Auf@iv~ z#?3%Hg#R9_N5c0^tFY0Rw$ts*$j@;&e6BK@(f?LUAIWM_E*+b zgm*rgG@_^{Sa0#W+3i7|<9!!X6jOPRTQ<0Ww}ku6fW!TDo_{!TAb^iQ`QC#4?ghTF z{eETKzeMN^&y6eu9Jc#cwkt1GKG=Qa$y`+6NlsIO$v6Cmyc9!Uo+^Lv`(uvIa~u55 zFB$Nm*T4Tx z??<-&Azye-$iH`RzLMWx!vXcmch&QhzFkAgkD`v}?;pbZo?pF;{j|OBgZuBTBx?^y z|H4!#3?7^tQn)Goe4EAcgHoOt-F|;dmOuGOe-~8v1)N=9=Ii#G=nFrG%q zGI+W%*Yfdx@g9X+`JDjG*PAEj)4||z|6Q2+BpE-REyYpE^v?Ano%c*1{CnY7oc?2> zC*%+PSIW0%C_M7#cG!vEvy;+qcvrsPRC%Z0C8zdba_%2dKAOG6{l?chW;d{RKFJ(S z+wtCnPd<9zC_J|sp5yt$DPrH-O>SF9!RZAY(sv%)+3zC6{hPIYia#3QN$S{lc&>;1 z3*(@ed@D+K@z2l2dr8;tLhkj7&n~T}J{-vOFJ<~a6aDki>!cs$gzCue$>96YuLSc# zV*23z!{;}T!~7nh!gK(|5yS1F>y{L(a#dqCJDkpwl z%JM=^6{wJVujKP`Yjm|e%6nA68BdO1gw4hS%_^7vM&(=C@W5cxfiLAa!ghA=YurCm z+9l_j{6^j5d5-`n;MX{T0`Q$J-|z6gVa{*9`zk&urY0Ve?WU*CBKk z%b$~RJDUb1EtWrRdG#msUxZ(}*ZkqmgHj(4xc%&xd_Gb~Ki2pU;#^p^pU;z|14Dt1 z#e#4Mr^omud@c9r`1boy`RH4cC!U;o^YWHd=QV1;{0m+%3f^kK<9xz;^5t8UgUyq} z;1QptfJb}^x$7h!#!ckwvBXV7nYihnfD*?An5uhT7ck#1!^!vg??ayP)Bf{_i9YQ2 ze#AH-e@4(Qe9z04zOEyl`-Ab*d*&^k@_T=LzE0mG+kB90Fu%7!%gMKPrAQycz%y?>c?$f_IpC0Uw=LU zusqqK>F~YGRqHwZZ?gEX^rs%Y0&99d7til3ND|@&gfAH1FfnPkH-O z*uHG-Ni5r&e-GQu$h0HhLVS#^amd7DZAM2-M{p|OJ<)ak}Ki~)BEXEbRZ{v)m z5Bv4}4*moD;`v$T-}4*r1Ap_mPt68;H>BsEx9B->wkL~mkBXFs^32j9=h2G-PS(3K z1Aoi$9`{$eZx`a_@@0MR?|BchzPHIo9~D5MyeN-weA4Osq1?OBgK!R9U#%bEcYyRq zzYgN9`@kX;NxxP&ka)M9j}PKI(Z_zJi}BMC_08zyxT~%Ir!j7_p|PeOIh|qqkE1>A zOBQ={c#QigijZ#dnRInRUa35wTYPYjzoZl4%LmDqL1`Y*UkYC~YTof9e~x7MLr=)@ z9}oV7;|O1j55BGodQk6TP`f!sx(1Gx+SMlbRBt260mBejbaGK}!)9t8Lm`+SO2#Jkk* z#=A}4X77|YKvl_`{(yXGMLEY=55A=PHFxMZ`AFm7(C@h2cV+DUx42iIdc$)egm=cD z+3w%`Lbdx4FV{EXgP$US-2*{9wZ3!dFn?C1m*5ZeG9Nux`qkn?M}`jvjSoB*!*L(^ zHT2p1-=EU&z1rvx@d@dF0Die(=eyH;*2+Sb?2EZvH)rVil+nZQA4t!G0X-Fc|I_*N zYmKfDuaK@U2wj-0@Pu(J{RZRlj?8}RrD)d(f4nT1H@M%rFvye6r($Wu6lzhmZg4%R z^6$_S{3q>ihR^Ht?~b-uJelqnsXs{Xfof8}P&rSl{sH$=>HOHFe#E~cPns5p-}mpe zlBR{4KL-DPc@4i7>h*N+jdZ{9RPZy_{q_uY5W`D>vF1P&xE@m zkQ4nDpQK6Uh3}4Zeg)2aLOwLxJUOF4JXLjU2p4Dnh7d4}^p?{^6CBA>~pe*|9X zeeeN)x08+_9`^PhBpm_0Vf;jROW{A>uI!0?os#}8-vyK^_W{l&`cZtHu2152UAIu5 zFziv^Z;O4sWBX97Z$-bv_c?E{bx+IK>zvS^JRT^7e4@N6>kZ#GnN9SfFir{S4EfT9 zcBFd?`4Z?wZ@_OKf2_FZhxEHa+(0{ZyQwwa-(<#5z08+WnIOGc0D9qo+} zLwk2VC!xNWAI1K(3>fcL`0hVrd*2nC-B$eZOyT!A4f^E|%Q+tH6 zKV~A&d4v794r59=-Bh5Q6n@;V`di2?68ysc)JLv!dopp+yN{?n@Z2!r4gU(`5;z`z zkCg1_6a14M+a*oy$A70euoKave(lfoU+7OrZ+4yg)N3@}4e@e&AwC0$+iHCW#QRPj zOI-B0=hx=*KI2nvCzxyx?GaPH@Mkgj)VbxL+R+YO|H2N~AVhQ7vw=D#*-d8*$lG*5cEjGhB8ft;a_ z_%BLQe+c8p6Y7tQ`!*?7K0wFgLA9%jAM$ynSsI3T3!Z^q$bPNiO?+0P2l4+D@JW1q zS=RB0zr-5>{@#8s+Pi<6h&^{ezf*e6o@1N;sjp&pHop*`iy`=s4~J|Y>@wJ0Sbo^b zuR;0S6>aWIioJ{l|GW(RtbC^fA>vUyW$b;o^D_AOzFQm03sWztEssItFYKM;IRAVe z;<(pgTrX#SKVDh-Ixv*4;BE2@`!8nyK#t-MOpb*29l(nRRR4YbP?=}i1i{LC0JSs! z9h0O*?JVAD{%Nt?3zMoRx%LgT%3i)&qWK!7& zOJw|bm-&y~=FiP9(H{a-RlLIZF^n4vFM)h{KnYKx>I6DpJ&OOXS1-@R1=~%pcs~X4 z{=_f;yn1!M=~akV$ge)pE0^CRGH-_ZGTuCXEp)7N!$F;w{|}tU&w(AsHRMi-Iv>J$ z{QehLg?Kr?iQlzVdiTM)dRJ?|#(!5j)Kj;= zaKDq|%ridt{_8aXACfIL-`PE7^i#BibbsS9`14N~{UJUf{TEcxf7db5Pr4q&9;MqI z=Pf>%mjzBfdaLM(mvgonr~`(Fh6TfRSauC~X$#xj4! z%WPk2i@lFuYVYGWjJ;2lEY|l=9OqRcpGJ{;A$Nu7aa=a|CO4eBl=1u=Kw{%1Hh6xjJE@NAM%^=%;Oiw$Gz|yi4WiaD5&M*9RYho{d_M z?NWK?qr1gJWce22U5`J%zOLF%g+I3LAYba)X*=!oF}&CQ0meO+_u7ZhzAm2v`y{_< zFPm%dD<5rr)O-b>h!jA0wYWeT;ni_%ZUSvj(5yRIgsD{0j76^rKkO z`&Og#1LV(cEuYAFn_U@xM#1`q_Tg~LnRa4NfxJg-KVikJvDf`ACs*sauZJ!}d130m z3*zB?;Ba38xV6?it{|my=cJYZ{av)W^4Bf~%}s7K|D%OP9mHdK|j=Tjn9& zPFJ(gb=9bG9PTqhx&pan@esKL`#h`QpPgR!S3Yl&&fBW!#9=8sA%66qwayVeWc$Z{ zj_73QrSpBl>+><_5dUX%)Y@O&ggA-uY;Ul>3+Z|o@7)R!-zIY%{9#FJ(G|vnI zE{{)-{QS>L*D9kc#4DuhyF!;5R6cq~UAn@33)1ybqw9aO_bzZ&UDf^gxkE0GXdOaw z2~HE4fe;9B3?wljXc|aNg7FbdyaDq!!ayhxwKBOHI2<1XNfQzug*-9U$_xYspIB`} zee_~~zc$#arCJqV5nmBot>derZNu;TU5|73J@=kFLxRtL&u8G=z0cZft-aRTYp?w{ z`}lmy*M80QdZE=TBdIr0-k#zOHysY=~J_&#I z{RQf;LVm*f_n`jqF13$RbhFf_**+kzSJ;kNuZuJ7yCy1mrJ!*CX8rUL(c{9b-jB;&K>!2{Bs@m{6eac;Mz=U7_D z@mLqOw60(IynfQL*Wi7z|ZW1{@fmX-$y#mFuxOyOKzs0 zxI@gQuKykj`BFaoKuqW-##{bL$d7GbqQ?hLhvj~863Q80%qJ@5pNMkJ=G8t6xjH=I z-U)$+`-PG=JO>_L&Gri|K8$+j?3W_G@8BnU$0n>I_Azl z?bh;q|3c!ppnqd|f8RB<-wxPsNM{f1)8AWdHLhLHcCuUBYkAxmvagE!n(M>*&IIKBQji-evx;E}jX-p-WgV+c#Dk`-7t} z)4K860?H?l>t3b<`l|rX`uz~}ef}&xXCmmwMvCV#;(1WlA45HDr9Q1bthduW#Ciw( zh4UHY>#m`oU5&u*&T0AS}DWeIwuc1KQvC~=`W+4 z!_yBk4y61@fzKZ%d=C=1_?+kLF@IGkw~hLo>-!Q%_FEdb4^m!%osT^U^%*#*?Yv9j zTt4N3e)luf>t2>O{G>~nlRsYMhwt~tgZl&@`)`2DZ$9sy)Xf|8uvhZ@9RKBa>35(* zI)kLMUBKlW2A)g6c!d&8?FtE|$;U40cVMt-J-EJ3xT2iefbxMnHj$3mX}o=@mcLEu z67M?%?JJXP?<+Z*kF9q_XJR>&mY-lyfy)$%Km$C-n8_d3nrqWNnf zFY5Vf)5BWR`y$kvfc|}JmKV6YYvqV7#6JJxegLpk~Z%3&?bZQrKl1~eXO+#BAvHa|hTr#`wTJQe?g zzO^sff1N)vxX>?M3x;d+Nfrn92%2<1C-L)p1pfU^Z~q>T@j1`0rJTR}!^ZjLY&o}g z!h^+h|4wzP()Ip5K9{xP`3sHv_=Yn3_^y7Y(ucZ^#F z{l+hZk;lh5Sf9+=ugCeN!bDq78B~6DC|}F3P=WUBP`;L5(J6%D9m-d7)n}cOhg|B#UvD`yA%7^yG?`6<_-VS?P1T!IEdF(0Lj~<8q^B2H3lK%7akHLQj z{qB!Zu2ui}&xG$0air}l8;`I*TLTc*?;mk~I^{@F`o8=$?pO7s=V0~rs+>y&o99`l z?I+%7^dL9lnHGHS9^w@L$a`<^Spt~8Z*KMS_sxC%iG0liqA-0q@_Zj_93z1%w*Gd?hb1QIxRV@-RIeRgCA0M(|(*W`PeTplF}=gtNRt$ZkU_Q zt>3Re_%Y%BZve4LP#+Aevi2DE2Zv#=gsTG1$5$nMO`i7R=LYrmtK3!;o+|mJ!USQ= z?Vj}41^l`{Al?%Y`xb?3;x~VjIrk+ij}p!kL(@;&FYzzP;OBGVf0p1ky>tm%lK=N; z0wsy+Ag|Hd9*WVA)ZTg&j(AsP@Uq?_4-_dzKM;8Lch0AuCsB;Pr}(BSzVv;HlWKe% zo>G%Pt@gS1EtBB=no03bTrYlie_BTWLOr{m>_I(wt;9dpW)$qE!%cI)lIn%u2 zX?m|-qxZEC+8q3>bg4YJhA8;Vo|Bg-ob%)NhVQi)Kk0MxzrHTxaVW<#oj|$P?kh%( z7W;8|mPTp8(kS-_%DDH}Mfv(Q^f>BiVh^QJ?Gm4G{3Lkop3GFcB7N$wV&}PJ?VRhK zn*x1P|67AJ^*#qM9&eKmB#|ao=mR$tN$qJ7(lmgTxQiUk54xRXiyN`5VFQ0d2p1+CDdyt9Ck7MJ`g@W1yzYWUOlOHUQH zaUQJR%Q)AIa`63Lv?H;Petk}P?lJi-L>A?D4dfU1bP7OnDz(M5-jh>RE`FY@pOYE) zs6F^OnYDfmi@dnP^&0kn#YpEG*#(3gAk|BNiX0 zahb;;79heoW-5wcfl0E+dNY|a6sT|<6vR0 z#{U9MS8d)nnQ8c~e+l`6Ij8fOY;U|s?^V#9k5|%jxpr&2@$r%K7tZ4rt(}TLFuNqa zqu)MyvT!Ha?S2y zKPPpj`71v!)%satQNVee**l>8 zRC450tH1KYdUxXITD$u>jw#&>6fRvybN^S={S>!Jk)`D;~me-88oM zg=6z4?Iv%Zrw`%xya@2UD2S`QNAb8HO!IM#<*faNbpIG| zDSnrO`x|w~b#^W7bD83EIkUb;3T&U&kC}dw8QL!Vea>clZb7}1Ray_{!|!STXm+0V zhbBjdbGwNRu3Q*?JpSw-XnP0S@B)m6wBMI@Zs(5ze7F9x^SSE zk3%oXiPo-$oj(r>5_Jh2aF@EFa+~K!q<%cPP98_e6$ZCM>ziC*{$n&4 z#Z@_ThTbpGd9BJsqlbm-|Rfj_$1@k=JiuL%1-Jx zDK}o({xmP2a{mSPRXaYvyB+fR5;&qT9-IjpDcm%r_b_g(+6|W@aK%+US8h@DTD=p` z*)KxA)!*Uy{t+*xc`d>}=A`&D_47C)TfgkOoA-w+fvgkw*4q7vd~ae3>hJM?ybQ>2 zwc9wcV*Qvu=lBAD7>6n2#pu}r@A6+hQ`fO24U_7gpyPr(ezjZyaKy^~0nPx|B8d4C z+^@vF5BJLY$0hFd@$*{fh%1eZuMY9K(WM;NBQ3&R%H!V0=N7@GyEndij zUkm!gM?Uru&w8sLkbpGsXdu?eudexr{8FUkcZhh5-|)HcjpxEQ?tKEM^=7?T-#k89 zFNC~x`%1W9AhhcP@K0`sZhy4fPdCZ0Vh;naWbQ1Ho1d!^#*34P|5AnHJkZiR!L(h( zdoLJ{cTSS>@vcs}hvmnz{D2l1gQ7E#CZ3@Ll@0K`4S16EYm|?hRyE*Rg>p&9V#$9P zMahNltMGHixDLJf%ao8_we!fvD_&n0wR5(Uj&&(Mmhkhnu%FT3_oUCst)DXxj*ItY z>Nm)AkJ4v7X9WCEUT?k(`s>%{Y-gO$@^L<&-;L+Z&PCY-IM(lhaQ+%XxDco~4q6k? z;dyb3gEaB3npYcl)z*zSOZ{r+Fl@E7*MD1DfA$=ej!lvd`6pk*euE~gwm3OTr6!?^(h@AFF4*Gf|4^$~$neCfKz7)$oSgg8>dIOe}+B9yN*cv^l^5QS#R_8IG01UPuNJ;HPUvi;SBb% zr~+Kx$=m~izpCLi+W&q{_bVRy|HJTCK&<=Vt?+{qNzRUts@xAV^bg>n^Fu3FpL!KHIe!L`&`pRZRMbD{v`!%LOXp0ynDtYUld_8Q=SF=Wfz8w9L58C#ZFqa$MdZno`?Ix>NcU@8A9;)xjoWv zKAHA7I&6=Fd$c{SQ#~!&s`uFTO~$)7%k$DWZ8tvOMEfdOe@=b*{8RFv`tjsM_1i@m zt*Bm!+2^f7dpLmlRCg%dF|a$<&-=M>et8V?Ykp#!+KKIBPS;2J4G);w26*!MBg~KZ zzVUKft^IH5s{p6IOy!D@@(Q1gX4x2R&!ujStZ{mKR z_D{JH&)^P5+@@h?jnze0u!g`$$BtaJhWXN9fyrGQNL9cz++QcTnj$-;3~^ z2DK7*a^UN#AzkX9bf@7t>3jfo=HDIj`M5J2f!0A@$=%I zDqd@GCkndR8TjY^k$#)`RnX_P7I!|s`V2{8o>LLA9N|LwqDs-#Mkjr5V2+k^ev{iZ z?RIyp^K+Ej%D}$-JrB1p)|XZ6-tvb+sF|HX4We(tg?7fY=+EqoaLEH&A=(+AyPfq6 zTKu&^$Vj=@u-)}*n(^j-ly^B2@2m0L`*WYCs_9t+TaRnkqC6@4zAo2u5i=INLONOd zT_pBracq}>OFypm`@Lc9_k~iv(SEN*zT2zsKXU)b`YnWBd|#W}U3Py7;rRUp*T4H6 z-$&x>v0?q#uEKc-)|Yrz;~wuaK6h)J=j#KDAV2&ep8kMXa+uEtrNUooe!t2m)z^Tf z@zm+OoOCQ+j0Y_~*=TYFoX~08j$hDAkS}!F-Yfb3J*2Q+dvogbVxhNB`azFNJU(A! ze!M*DKBYI+_@Liry+-XadV1a=_AAKyrybu40?lHQ18|ZGzq1z>NHQtB^Hs#P=l|xtMkaTP_ zx`PdL*X7WiAawhzzUy-6zAT4sV)fl@bhkFpU6n(3l+aycbXVojy()+98l&51bT>87 zU7SPrryT#M-^E>=L-#p`e~sZ^r}(?fzS+oV--YGMU%%$F-7d(X`yHXX(CWJ&hwd|t z?oy+>Du?dk2D)={=zc-y&NI4ma_F9JbQc=k#W{4ZZlF6OhwdXncb3tekwf=sMt7dk zU64cfiUzuqa_Dm1*Wb^M2PWmvJxUEC9`7`|Gjix&+(3714&B{Ccf8QUdG&(N&(*|y zv7~GLz!`!U`&iR_wWnt{&^rRW&H9@^7kZJ=8*lWE$b0rl$D|Z5D~j*Z8ogS+((7)Z z$M^f2(R-`V8#4Tn(K~GEu^D=&7`lJ!>P67Hyqo?OrVBD6WcY@KYq(9`n*@cmDtr{{ZMelo?Y_VQDsSIbv=#Rhs? zbLd?u^tPG4_87gbmfoA8_kE*R%U62;Bl)5JHs#Q}Na$@g{M(G)CQA=y=zZJh)$*0z z&l>2h%b|C+(Cah&n~mN&OK;84`>N5aL+^B_9u)bOt{dW$W+E<^8AMz5By^uE?WZ$S>dg3w!N_?H^J1(sfwq4$4{ zUM*kgeZGO-oE&;T!T2Cf&%Ie_^yV17#Tj}ZGkUdrrT6IudNXq9eMjicGW_$5-V94G z$k6++(W~Vvy}xguHz|kS7lmG@;h$ynCRut;hTeOPUM*kgeY}C**c^JF6nf(gf2YwK zYv~yodOM6>Enn$vG^VALD=w{Hh#y&5!#RX5bg+z-vDIO9p;H z4!q{a{hb;389DHpk8`;)@N;tDH9zhjpMjs01F!jUf0ThAn**=;SWlI9;P#96BPHEv zpPG;PW`&3S(%!M&sqnCWvF9!^d(N9nKIT0X-r5K3U*Q|=-{ALU;P>aiYd-8h1HU&1 zUh`r98Ti2*c+H3XXW+Nyz-vD2KLfuh2VV1G{~7poIq;ef`_I6y%7NE>*nd6zw#5n$ zHHp6XA1>H^J={YJ6b|$C0;ki4fSXkhw_}dNVRBR8Y@b>@(5Y~#oy<_UjGe^W$15EC z@GSB%FiGLuKF$^Pa8AqEdbnMY!oe>K-3t}2a!aTDsGK=j?-QS)_bX1<`*o-3eYDN* z_N$yK6LmjC+^=%3Ow{-P;{HuSr;?s;vDMP23Lfmwvb4^>#{GLOtpdY*t)*2kJ|3t{ z)P-zsKb48v5#T)^gVzNaj7O#YR&0MK&MUXH?z8amXl3Hlj34zgm5H|RqknCcMMZiC-r@bAinr>7`J+YNr3 z!M{Bho}Q){z0=?~8~i=F@bpy0=mCT8Gx)dW!qd|gBR&7f`?vJGswVb8Pg#ugd?N4P ziqVE#{PeUqN7?vUX#6C(@buKh=uHMc&){E|3(wHK7{vxZ%iv#=3(uaS7*!0u)8JR< z!n3C-Mz1#b@dm#<7oI&;FT=>%jz9;wj>GC|kJbTPy^s?OYljV6?pHD{u zm#@Qx{`w>Q-nVueSjRso@V?Gk8aG?YHCtajNWTrIDgO9Y0ZY#%q2E3Nhc^5=zS495 zAFeZ#rEr~%bjoeo|F6YEK4(14rDtDv_V<)Hf60oJ3f=ghcR%OhS&|Oty;u+5Z$!So z3ch=7KUt}8p42by*Yi7)H2%=@Hya&>K z2zu~-itR z#7A;x{ubo>dN9+Q!KbHbH{`Pz{iDFU9$%?p7V;0L`RpGn9jb5Fb8^=qd7jk=>D&go zSvk0TiqY4k9LDu>_kE^CoKi^%rFI_F^Ptr;uG6obHI|4xAq4_HwpoWHR5^(sl& z<>ZSk!uLD$n4K-3sB&H1ul&5y;^O2wREY3bXdKP*yu4ni94(*wVpj$6Bjdq2L7MXU z0_2m%QK`JuPc)PFW57}K2UA3@J^f#n`n$YV_dhCWmuF3W+ay2T58W{+>D6|w*(*Et zNV?bLUn-m?^6~v*tGAmx=DtJVdbVr3Tt0WJ;<0lxUup7=w=4eIIcrKkxj-knDkf*Q zkD4A7-*WR`tNWGSD{Z`z*!zZA`TO~4q5VCzh5a?t*Wy4w&GfZR^ri8Cb%E+XyWhSv z_7!RuH?0x5g#Fv2^do9sIB)o%JdcBY`Rqr!doGmnacube^-e!azrlWvaQ=NP-^WUO z`a||}_y;ma{X3HE_XwXnpm<{2w^AB=t=Lc2&cgm@Yn{D4_g8Fh^PiBt#XD5auRMQ- zR4}!>^E)kVc6Ywn-6^U7+7GH1RZgLF@U31ucXIhD+HaO{OpJ7ypvyZ~DHEEH z@{#t_+P*xWesnl|-O?`qP2}PHc)v?|e1-DqQF$}H6Y~NoTuwa7c&-yg*4q7vyqEg{ z>Z=C?amCBz_P_7t+IzffF^K?I^?UJN?hVj$Hh!X=UEd_XdWG77pYP-648$+d^9}KS zs*Kl?4o$}|v+pxLSbyGO=x6wSjb!FNDMz}u(%uJ@4(F8y@f`Emk244RnZ%DLcj-K2 za?>6u7rys8i|c>ZUbs(p7RnKC;d1ml>lAPJy@0)3PwTaOv-7arFP~Q*Kknzg&YKPX z4!wu)KLxzci@F?=Vd@_bX#M?M_;`obi+uOAlt+*DgFBTE`OZd8{lCF_>@qmm?{M}0 zN~YdNhN<`Gk8`~*ZCP(0hpNIt{clEp6Y75rs!Tb4B2#~{lZ@UOH@zzOZW-ef{OSBD z&y5S@Eb=oub9u{cx_b(p57o#@- z5^w>3d2-m6;VVxLug{SK&(jL&3@3-XGxUa&!&?Zyfwe(A*rfg!g!R|32;*a(7C*B3 z_htCWtN$-|o#16iGjP<`cLvOhHzY6dpv4c`5hcy1Uv_TGe{%}c#uV(%r z-l={l^lyt z|L=ewiT>|xs{ap+SpSb^_!>_C2MHhOe^ZYBKLj2}Z41Xc~ z!x?zKXcxlMFNW|R%)s+Kju4*hD1?7c27YM>cEw5Mj-Ak4mWA*ayai0Ba zuGfQBuaK{>UhPsZ-Omu71Hg7md8`ZjE9i|gay$oMUm!o8127n*S?{#~?$`97#nl^x-CA5ZU}-Q%`(yoY3;n6Zmtp-jL(YWz zB_vW%(b^BhV^xO$Mp&UL7ea8KrqEDVfLp>K|mlF61`d5j=0(rB%kGskH z8k8fxr(RZH5BhhHFF8J|vnv=O>9O3apf~?6UwLfa_X1A>bUj}SGJbw9(?S2R%JBc< zQuxWc8s|5+vK~SF>+nATeCXe${yjoo_F4u49Rk7S?}-*8FQ@B>>G`xik8!JjN8x!lXF=9pulBq3d3r8$m*OX1 zl)t~bD}kR!^7waJQhA*# z#iQHN4 z{_PxGU!STj*K)MW-IvtbQ+m!$Fit-}`{_~mus?qf?WbS!*Un_2;53 z`iaK5S-6X_g@*8GmPh?O@AMorKYz&2L9_nE&p~6HHa=*_zV9L#t?k3xCGq!$@Bdr> z;QYrM$d&SO5ynkrKfkPB@z8H@9nbgw5Z@=TM2LN^(tp(U^T5gCitYRqyq}`|%Ydze z&(!`s-md*$yu;!%`+ipL}`odo@Ub$TgV4tq=Tlr6rD`^#K@jpscp|JC!AKKmicq0EoH;9{Cr z!+FoQbxMBxr)r1E^^w}mLt6jj`ok*ktHx^n4y|u;)sW_&ctq}%nd9YoW$sCO@0cL> zu>TV~9uRUeUvSXk^*7*q%-J}r(Y|&6dx-A{%BOnTZFsS~KE(Jhh+8MI{RHvg8h}#1 z56_2f4q7>wk??2w_qZvHYd=W%9)mAfd)TOH;`{%a*mr0zeB&Sc>qTCKe-YBfXo?_c z#V=h3;rmIyzeYbRPmbHd_~Xwr@Ovo-vrob~-unSZyIKX*p R5b%%-uku)p3(3d( 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 rtn6_6S?%{h`F%jM$Lkrl&*O2l&aS4a-1() } +pub async fn account_position_f64(solana: &SolanaCookie, account: Pubkey, bank: Pubkey) -> f64 { + let account_data: MangoAccount = solana.get_account(account).await; + let bank_data: Bank = solana.get_account(bank).await; + let native = account_data + .tokens + .find(bank_data.token_index) + .unwrap() + .native(&bank_data); + native.to_num::() +} + // // a struct for each instruction along with its // ClientInstruction impl @@ -249,6 +260,7 @@ pub struct MarginTradeInstruction<'keypair> { pub owner: &'keypair Keypair, pub mango_token_bank: Pubkey, pub mango_token_vault: Pubkey, + pub withdraw_amount: u64, pub margin_trade_program_id: Pubkey, pub deposit_account: Pubkey, pub deposit_account_owner: Pubkey, @@ -270,6 +282,7 @@ impl<'keypair> ClientInstruction for MarginTradeInstruction<'keypair> { group: account.group, account: self.account, owner: self.owner.pubkey(), + token_program: Token::id(), }; let health_check_metas = derive_health_check_remaining_account_metas( @@ -282,6 +295,7 @@ impl<'keypair> ClientInstruction for MarginTradeInstruction<'keypair> { let instruction = Self::Instruction { num_health_accounts: health_check_metas.len(), + withdraws: vec![(1, self.withdraw_amount)], cpi_data: self.margin_trade_program_ix_cpi_data.clone(), }; diff --git a/programs/mango-v4/tests/test_margin_trade.rs b/programs/mango-v4/tests/test_margin_trade.rs index 2a70e4e64..b18974eaf 100644 --- a/programs/mango-v4/tests/test_margin_trade.rs +++ b/programs/mango-v4/tests/test_margin_trade.rs @@ -1,7 +1,6 @@ #![cfg(feature = "test-bpf")] use anchor_lang::InstructionData; -use fixed::types::I80F48; use solana_program_test::*; use solana_sdk::signature::Keypair; use solana_sdk::signature::Signer; @@ -23,9 +22,13 @@ async fn test_margin_trade() -> Result<(), BanksClientError> { let admin = &Keypair::new(); let owner = &context.users[0].key; let payer = &context.users[1].key; - let mints = &context.mints[0..1]; + let mints = &context.mints[0..2]; let payer_mint0_account = context.users[1].token_accounts[0]; - let dust_threshold = 0.01; + let payer_mint1_account = context.users[1].token_accounts[1]; + let loan_origination_fee = 0.0005; + + // higher resolution that the loan_origination_fee for one token + let balance_f64eq = |a: f64, b: f64| (a - b).abs() < 0.0001; // // SETUP: Create a group, account, register a token (mint0) @@ -41,6 +44,51 @@ async fn test_margin_trade() -> Result<(), BanksClientError> { let bank = tokens[0].bank; let vault = tokens[0].vault; + // + // provide some funds for tokens, so the test user can borrow + // + let provided_amount = 1000; + + let provider_account = send_tx( + solana, + CreateAccountInstruction { + account_num: 1, + group, + owner, + payer, + }, + ) + .await + .unwrap() + .account; + + send_tx( + solana, + DepositInstruction { + amount: provided_amount, + account: provider_account, + token_account: payer_mint0_account, + token_authority: payer, + }, + ) + .await + .unwrap(); + send_tx( + solana, + DepositInstruction { + amount: provided_amount, + account: provider_account, + token_account: payer_mint1_account, + token_authority: payer, + }, + ) + .await + .unwrap(); + + // + // create thes test user account + // + let account = send_tx( solana, CreateAccountInstruction { @@ -75,22 +123,15 @@ async fn test_margin_trade() -> Result<(), BanksClientError> { assert_eq!( solana.token_account_balance(vault).await, - deposit_amount_initial + provided_amount + deposit_amount_initial ); assert_eq!( solana.token_account_balance(payer_mint0_account).await, start_balance - deposit_amount_initial ); - let account_data: MangoAccount = solana.get_account(account).await; - let bank_data: Bank = solana.get_account(bank).await; - assert!( - account_data.tokens.values[0].native(&bank_data) - - I80F48::from_num(deposit_amount_initial) - < dust_threshold - ); - assert!( - bank_data.native_total_deposits() - I80F48::from_num(deposit_amount_initial) - < dust_threshold + assert_eq!( + account_position(solana, account, bank).await, + deposit_amount_initial as i64, ); } @@ -107,6 +148,7 @@ async fn test_margin_trade() -> Result<(), BanksClientError> { owner, mango_token_bank: bank, mango_token_vault: vault, + withdraw_amount, margin_trade_program_id: margin_trade.program, deposit_account: margin_trade.token_account.pubkey(), deposit_account_owner: margin_trade.token_account_owner, @@ -125,7 +167,7 @@ async fn test_margin_trade() -> Result<(), BanksClientError> { } assert_eq!( solana.token_account_balance(vault).await, - deposit_amount_initial - withdraw_amount + deposit_amount + provided_amount + deposit_amount_initial - withdraw_amount + deposit_amount ); assert_eq!( solana @@ -133,15 +175,20 @@ async fn test_margin_trade() -> Result<(), BanksClientError> { .await, withdraw_amount - deposit_amount ); + // no fee because user had positive balance + assert!(balance_f64eq( + account_position_f64(solana, account, bank).await, + (deposit_amount_initial - withdraw_amount + deposit_amount) as f64 + )); // // TEST: Bringing the balance to 0 deactivates the token // - let deposit_amount_initial = solana.token_account_balance(vault).await; + let deposit_amount_initial = account_position(solana, account, bank).await; let margin_account_initial = solana .token_account_balance(margin_trade.token_account.pubkey()) .await; - let withdraw_amount = deposit_amount_initial; + let withdraw_amount = deposit_amount_initial as u64; let deposit_amount = 0; { send_tx( @@ -151,6 +198,7 @@ async fn test_margin_trade() -> Result<(), BanksClientError> { owner, mango_token_bank: bank, mango_token_vault: vault, + withdraw_amount, margin_trade_program_id: margin_trade.program, deposit_account: margin_trade.token_account.pubkey(), deposit_account_owner: margin_trade.token_account_owner, @@ -167,7 +215,7 @@ async fn test_margin_trade() -> Result<(), BanksClientError> { .await .unwrap(); } - assert_eq!(solana.token_account_balance(vault).await, 0); + assert_eq!(solana.token_account_balance(vault).await, provided_amount); assert_eq!( solana .token_account_balance(margin_trade.token_account.pubkey()) @@ -194,6 +242,7 @@ async fn test_margin_trade() -> Result<(), BanksClientError> { owner, mango_token_bank: bank, mango_token_vault: vault, + withdraw_amount, margin_trade_program_id: margin_trade.program, deposit_account: margin_trade.token_account.pubkey(), deposit_account_owner: margin_trade.token_account_owner, @@ -210,16 +259,67 @@ async fn test_margin_trade() -> Result<(), BanksClientError> { .await .unwrap(); } - assert_eq!(solana.token_account_balance(vault).await, deposit_amount); + assert_eq!( + solana.token_account_balance(vault).await, + provided_amount + deposit_amount + ); assert_eq!( solana .token_account_balance(margin_trade.token_account.pubkey()) .await, 0 ); - // Check that position is active - let account_data: MangoAccount = solana.get_account(account).await; - assert_eq!(account_data.tokens.iter_active().count(), 1); + assert!(balance_f64eq( + account_position_f64(solana, account, bank).await, + deposit_amount as f64 + )); + + // + // TEST: Try loan fees by withdrawing more than the user balance + // + let deposit_amount_initial = account_position(solana, account, bank).await as u64; + let withdraw_amount = 500; + let deposit_amount = 450; + { + send_tx( + solana, + MarginTradeInstruction { + account, + owner, + mango_token_bank: bank, + mango_token_vault: vault, + withdraw_amount, + margin_trade_program_id: margin_trade.program, + deposit_account: margin_trade.token_account.pubkey(), + deposit_account_owner: margin_trade.token_account_owner, + margin_trade_program_ix_cpi_data: { + let ix = margin_trade::instruction::MarginTrade { + amount_from: withdraw_amount, + amount_to: deposit_amount, + deposit_account_owner_bump_seeds: margin_trade.token_account_bump, + }; + ix.data() + }, + }, + ) + .await + .unwrap(); + } + assert_eq!( + solana.token_account_balance(vault).await, + provided_amount + deposit_amount_initial + deposit_amount - withdraw_amount + ); + assert_eq!( + solana + .token_account_balance(margin_trade.token_account.pubkey()) + .await, + withdraw_amount - deposit_amount + ); + assert!(balance_f64eq( + account_position_f64(solana, account, bank).await, + (deposit_amount_initial + deposit_amount - withdraw_amount) as f64 + - (withdraw_amount - deposit_amount_initial) as f64 * loan_origination_fee + )); Ok(()) } diff --git a/programs/margin-trade/src/lib.rs b/programs/margin-trade/src/lib.rs index 6fcc56d0a..03d25e59e 100644 --- a/programs/margin-trade/src/lib.rs +++ b/programs/margin-trade/src/lib.rs @@ -14,12 +14,14 @@ pub mod margin_trade { deposit_account_owner_bump_seeds: u8, amount_to: u64, ) -> Result<()> { - msg!( - "withdrawing({}) for mint {:?}", - amount_from, - ctx.accounts.withdraw_account.mint - ); - token::transfer(ctx.accounts.transfer_from_mango_vault_ctx(), amount_from)?; + if amount_from > 0 { + msg!( + "withdrawing({}) for mint {:?}", + amount_from, + ctx.accounts.withdraw_account.mint + ); + token::transfer(ctx.accounts.transfer_from_mango_vault_ctx(), amount_from)?; + } msg!("TODO: do something with the loan"); @@ -52,7 +54,7 @@ impl anchor_lang::Id for MarginTrade { #[derive(Accounts)] pub struct MarginTradeCtx<'info> { - pub withdraw_account_owner: Signer<'info>, + pub withdraw_account_owner: UncheckedAccount<'info>, #[account(mut)] pub withdraw_account: Account<'info, TokenAccount>,