{"version":1,"dataVersion":"13193c03c14ec7ba","siteUrl":"https://crypto.training","count":2341,"k1":1.2,"docFields":["slug","title","kind","source","date","chain","vulnTags","categories","bugClass","severity","protocol","loss","excerpt","excerptFrom","hasReplay"],"docs":[["2026-10-AlpsCon","AlpsCon AI Trade Hub — a public Hardhat address is whitelisted, and a zero entry index pays the historical USDC index","incident","DeFiHackLabs","2026-10","BNB Chain",["vuln/logic/reward-calculation","vuln/access-control/broken-logic","vuln/logic/missing-check"],["logic","access-control"],"`onlyVerified` still accepts the published Hardhat account, and V9's share-earnings formula applies the full stored `profitPerShare` to a prior-hub balance whose `entryProfitPerShare` is still zero",null,null,"On-chain net 152,295.3625 USDC to the attacker EOA","1. The whitelist credential is public. `0xf39F…2266` is Hardhat account #0. Anyone can sign for it. EIP-7702 lets the attacker install their contract as that account's code and then call the hubs as the whitelisted address. A fresh address fails the same check. 2. Unmigrated prior-hub balances are added to the earnings base. V9 counts `getV8Stats(user).user_locked_amount` until `contributor.migrated` is set. [continues]","rootCause",1],["2026-10-Argent","Argent relay modules — a public owner signature is replayed, and the recovery deadline can be wrapped into the past","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/auth/signature-replay"],["auth"],"`execute(address,bytes,uint256,bytes,uint256,uint256)` selector `0xaacaaf88` recovers an owner or guardian signature and does not consume the nonce or the signed hash. The signed deadline is not enforced. On the recovery module, setter `0x254a2e49` takes an attacker-supplied period that wraps the recovery deadline into the past, so `finalizeRecovery` can run in the same transaction",null,null,"50,655.918487 USDC = 48,778.499253","1. A signature is a bearer token with no consumption. `execute` takes a nonce and does not write it, and does not record the signed-message hash as used. Replaying the same bytes is a second authorization. The test's loops (19 and 9) exist only because of that. [continues]","rootCause",1],["2026-10-BiFi","BiFi USDT — one idle gap of 264,060 blocks is reapplied at a live utilization the attacker sets","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["logic"],"The first action after a long idle stores the entire block gap, and every later action in that block multiplies the frozen per-block exchange rate by that full gap at the market's *current* deposit and borrow totals",null,null,"165,575.149730 USDT surplus after a 40,499,999.999997 USDT Morpho flash loan is repaid in","1. `inactiveActionDelta` stores the raw idle gap. The first action writes 264,060. Nothing amortizes that into per-block updates. A 36-day silence becomes one multiplier. 2. The frozen rate and the live rate are different inputs. `actionEXR` is snapshotted once. SIR/BIR are recomputed from totals on every call. Moving utilization after the snapshot changes the index by `rateDelta * fullGap`, not `rateDelta * 1`. 3. The user's index is updated, so the gap can be harvested again at the next rate. [continues]","rootCause",1],["2026-10-BitBayStableVault","BitBay StableVault — withdraw on an empty position pays the caller the whole vault, uncapped by shares","incident","DeFiHackLabs","2026-10","Polygon",["vuln/logic/missing-check","vuln/defi/share-accounting","vuln/defi/price-manipulation"],["logic","defi"],"`_withdraw`'s `liquidity == 0` branch transfers the vault's entire DAI+USDC balance to the caller with no `shareAmount / totalShares` cap. `reposition()` can be driven to leave `liquidity == 0` (recomputed `newLiquidity` rounds to 0) with the whole position sitting idle, so a holder of a single 1-wei share drains everything.",null,null,"14,838.466608989135865711 DAI","The vault's `_withdraw` has two completely different accounting rules and the attacker gets to pick which one runs. 1. The `liquidity == 0` branch pays the whole vault, uncapped by shares. When the vault holds no live position, `_withdraw` transfers `DAI.balanceOf(this)` and `USDC.balanceOf(this)` in full to `recipient` (StableVault.sol:694-700). `shareAmount` never enters the transferred amount — it is used only in the emitted event. [continues]","rootCause",1],["2026-10-EtherVista","EtherVista — swap's constant-product (K) check multiplies two uint112 reserves, so the invariant overflows and the pool drains","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/arithmetic/integer-overflow","vuln/defi/invariant-bypass","vuln/access-control/privileged-role-takeover"],["arithmetic","defi","access-control"],"`require(balance0 * balance1 >= reserve0 * reserve1, \"K\")` — `balance*` are `uint256` locals but `reserve0`/`reserve1` are `uint112` storage, so `reserve0 * reserve1` wraps mod 2^112 and the invariant is checked against garbage, letting a swap remove almost the entire reserve",null,null,null,"The K-check `require(balance0 * balance1 >= reserve0 * reserve1, \"K\")` is evaluated with mismatched integer widths: `balance0` / `balance1` are local `uint` (uint256) variables; `balance0 * balance1` is a full 256-bit product. `reserve0` / `reserve1` are the pair's `uint112 private` storage fields. In Solidity, a binary operation takes the type of its operands, so `reserve0 * reserve1` is computed at `uint112` width. [continues]","rootCause",1],["2026-10-SetProtocolETHMACOAPY","ETHMACOAPY — a base-set donation makes zero-fee actualizeFee ceil unitShares from 12253 to 12264","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/arithmetic/rounding-direction","vuln/logic/fee-calculation","vuln/logic/missing-check"],["arithmetic","logic"],"Same `actualizeFee` / `divCeil` bug as the other 6 October Set. Here the attacker also `Core.deposit`s residual base set and `internalTransfer`s it onto the rebalancing set's vault balance before the ceil, so `unitShares` jumps by 11 (12253 → 12264) instead of resting on an exact floor",null,null,"4.047988247781965824 WETH on this tx","1. Zero-fee `actualizeFee` still ceils `unitShares`. Same bug as `0x54e8…`. A fee of 0 does not freeze the rate. `divCeil` stores a strictly higher integer whenever `currentSetAmount * naturalUnit` is not divisible by `totalSupply`. The stored value here moved by 11, not by 1: 12253 → 12264. 2. The vault balance is not an invariant of the set. Anyone who holds the base set can `deposit` it and `internalTransfer` it to the rebalancing set. [continues]","rootCause",1],["2026-10-FenceTranchePool","Fence tranche pool — the UTC rollover credits a scheduled principal payment that was never paid, and draw pays it again","incident","DeFiHackLabs","2026-10","Avalanche",[],["untagged"],"At the UTC day boundary the pool subtracts the scheduled principal from outstanding principal without pulling USDC. `draw` allows `requested <= funded - outstanding`, so the phantom reduction restores a draw that was already taken",null,null,"1,013,353.611686 USDC","1. Settlement credits a payment the borrower did not make. The schedule says principal is due at 2026-10-28 00:00:00 UTC (`SCHEDULE_DAY = 0x6ae13b00`). Crossing that timestamp reduces outstanding principal. Nothing in the second draw's trace is a USDC `transferFrom` of the borrower. The only USDC transfer is the pool paying the borrower. 2. `draw` trusts `funded - outstanding`. After cycle 1 those are equal, so capacity is zero and the negative control reverts. [continues]","rootCause",1],["2026-10-FlashLoopAdapter","FlashLoopAdapter — caller self-attests as the Safe, then swapRouter.call runs the victim","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call","vuln/input-validation/missing","vuln/logic/missing-check"],["access-control","dependency","input-validation","logic"],"`open()` treats `msg.sender` as the Safe because it asks `msg.sender` whether the adapter is an enabled module. `_swap` then `call`s a caller-supplied `swapRouter` with caller-supplied calldata. Pointing that call at a real Safe that enabled the adapter makes the Safe execute as itself.",null,null,"114.096151469674448809 WETH left on the attacker after repaying a 1,400 WETH Morpho flash","1. Authentication is delegated to the caller. `ISafe(msg.sender).isModuleEnabled(address(this))` is true for any contract that implements the function to return true. A real Safe would answer honestly; an attacker answers yes. `_safe = msg.sender` then stores the lie for the rest of the operation. 2. `swapRouter` is an arbitrary call target. No allowlist, no selector filter, no `msg.sender == router` relationship. `router.call(data)` is an open dispatch from a contract that real Safes trust as a module. [continues]","rootCause",1],["2026-10-GoldPesa","GoldPesa GPXHooks — TAKE_PAIR settles the shared unlock, so another position's debt cancels the burn credit","incident","DeFiHackLabs","2026-10","Base",["vuln/logic/missing-check","vuln/logic/state-update","vuln/defi/flash-loan-attack"],["logic","defi"],"`reBalance` burns protocol liquidity with `PositionManager.modifyLiquiditiesWithoutUnlock(BURN_POSITION, TAKE_PAIR)` inside whatever PoolManager unlock is already open. `TAKE_PAIR` pays the PositionManager's net positive delta, so an attacker's unsettled USDC debt is subtracted from the hook's burn credit and later withdrawn by the attacker.",null,null,null,"1. `TAKE_PAIR` is a net settlement, and the hook assumes it is a gross one. The burn credit and every other unsettled PositionManager delta in this unlock are one number. An unpaid mint of 114,999.999186 USDC reduces the hook's withdrawal by that amount. The hook does not compare `usdcInsideHook` to `usdcInsideUniswap` except to skim a donation when the balance is larger. A shortfall is accepted and used as the new liquidity budget. 2. `modifyLiquiditiesWithoutUnlock` inherits the caller's unlock. [continues]","rootCause",1],["2026-10-KolanHook","KolanHook — expired buy windows settle on the pool's own spot, then the escrowed ETH is bought back with no price limit","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/defi/slippage","vuln/logic/missing-check"],["oracle","defi","logic"],"`accept` after expiry prices the window off `PoolManager.getSlot0` of the same pool and, when the window is not \"back in place\", re-injects the escrowed ETH at that spot and market-buys KLN down to `MIN_SQRT_PRICE + 1`",null,null,"Attacker ETH after the flash loan is repaid: 1.280491451506671761","1. Settlement price is the spot of the pool being settled. `getSlot0` moves when the attacker swaps. The hook is the pool's hook, so the attacker is not manipulating an external oracle. They are trading the inventory the hook will reprice against. 2. `backInPlace` is a single comparison with no tolerance. Pushing the spot above the window's lower tick flips `keep = true` from \"restore the cuts\" to \"place `w.eth` as new liquidity at the new price\". Window 42 takes that path. [continues]","rootCause",1],["2026-10-MakerDAOFlipKeeper","MakerDAO flip-keeper — ungated 0x8804d1de hopes a caller-supplied worker, then exits 200 WETH","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call","vuln/logic/incorrect-state-transition"],["access-control","dependency","logic"],"Selector `0x8804d1de` on the keeper implementation has no auth check. Via the proxy's `delegatecall` it reads `vat()` / `drip()` off a caller-supplied worker, `Vat.hope`s that worker on the keeper's own account, then calls `worker.join`. The worker settles four undealt 2020 ETH-A flips and exits 200 WETH",null,null,"200 ETH exactly","This is not a MakerDAO Vat, Flipper, or GemJoin bug. Those contracts did what they are supposed to do. The loss is a dormant third-party liquidation keeper. The keeper is an OpenZeppelin `AdminUpgradeabilityProxy` whose implementation at `0x6839…5546` is unverified. Its drain selector `0x8804d1de(address,uint256)` never reads `authority` or `msg.sender`. A public alert described this as \"ds-auth with authority == 0\". That framing is wrong: other selectors on the same bytecode do check the caller. [continues]","tldr",1],["2026-10-MALT","MALT sLP — below-peg recovery deposits treasury DAI into the pair, and swap counts it as the caller's input","incident","DeFiHackLabs","2026-10","Polygon",["vuln/logic/missing-check","vuln/logic/incorrect-order-of-operations","vuln/defi/price-manipulation"],["logic","defi"],"`swap` runs a below-peg recovery that `transfer`s DAI from the Capital Source into the pair, then checks constant product on the final balances. Treasury DAI is indistinguishable from DAI the caller transferred in, so 1 DAI of caller input buys thousands of MALT.",null,null,null,"1. The invariant is applied after an exogenous deposit. Constant product is supposed to compare reserves with balances that changed only by the swap's own input and output. DAI that the recovery pushed in raises `balance1` with no matching reduction of `amount1Out` and no matching \"this DAI is not the caller's\". The check passes, and the MALT output is released. 2. The recovery is on the public `swap` path. Selling MALT into the pool is enough to get under peg. [continues]","rootCause",1],["2026-10-SafeApprovalSquat","Safe approval squat — unlimited ERC-20 allowances point at an empty CREATE address anyone can occupy","incident","DeFiHackLabs","2026-10","Avalanche",[],["untagged"],"An ERC-20 approval names an address, not a deployed contract. That address is the 13th `CREATE` of a CreateCall instance that is itself `CREATE2` from the Safe Singleton Factory at salt 0. Anyone can deploy that bytecode, burn 12 nonces, and land a sweeper on the approved address",null,null,"The Safe's entire balance of four tokens","1. The spender is an address with no code, and the address is predictable. ERC-20 does not bind an allowance to bytecode. The first transaction that puts code at `0x3725bD4D…` becomes the spender. Predictability comes from a public factory, salt 0, a public initcode, and a nonce. Twelve `performCreate` calls of `0x60006000f3` are in the trace, and. The next one is the sweeper. 2. The allowance is unlimited and was never revoked. Set 2026-03-07, still `2^256-1` at block 98,603,854. [continues]","rootCause",1],["2026-10-SetProtocol","Set Protocol — zero-fee actualizeFee ceils unitShares from 4927 to 4928 and over-redeems the base set","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/arithmetic/rounding-direction","vuln/logic/fee-calculation","vuln/logic/price-calculation"],["arithmetic","logic"],"`actualizeFee()` is public in Default state. With a zero fee it still rewrites `unitShares` using `divCeil`. Issuance had stored the floored value 4927. The ceil rewrite stores 4928. Redeeming the same quantity pays one extra base-set wei per `naturalUnit`",null,null,"5.083148662083682304 WETH pulled out of the rebalancing set after repaying the flash loan","1. Floor on the way in, ceil on the way out. The stored 4927 is the floored settlement ratio. `calculateNewUnitShares` ceils the same vault balance over the same supply. A remainder of one wei is enough to store `4928`. The fee does not have to be non-zero for that store to happen. The event is explicit: fee quantity 0, new unit shares 4928. 2. The bump is paid by other holders' collateral. Redeeming `Q` at `unitShares + 1` withdraws `Q / naturalUnit` extra base-set wei that the caller did not deposit. [continues]","rootCause",1],["2026-10-SliceFundsModule","Slice FundsModule — Unbacked Release From a Caller-Chosen Source","incident","DeFiHackLabs","2026-10","Base",["vuln/access-control/missing-auth","vuln/logic/missing-validation","vuln/dependency/unsafe-external-call"],["access-control","logic","dependency"],"Selector `0x9d2edfac` calls a caller-supplied source’s `_releaseFromFundsModule` and credits the returned amount with no check that the module’s ETH or USDC balance increased, and no check that the source is a real Slice product. With the withdraw flag set, it pays that credit out of the pooled reserve",null,null,"8.716935563284127413 ETH and 19,820.734001 USDC to the exploit contract","1. The release amount is an untrusted return value. The module treats `sources[i]._releaseFromFundsModule` as if it were an accounting callback from a product it deployed. The only proof that funds arrived would be `address(this).balance` or `token.balanceOf(address(this))` increasing by `amount` across the external call. That delta is never taken. 2. The source list is caller-controlled. There is no registry of product addresses on this path. [continues]","rootCause",1],["2026-10-TIPMine","TIPMine — permissionless mine() burns TIP out of the Pancake pair and sync() leaves the SOL reserve in place","incident","DeFiHackLabs","2026-10","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["access-control","logic"],"`mine()` has no caller check. It removes TIP from the live TIP/SOL pair through `burnFromPool` / `distributeFromPool`, and each of those calls `sync()`, so the SOL reserve stays put while the TIP reserve collapses",null,null,"Reconstructed profit 706.253909658913182860 SOL","1. `mine()` is permissionless. The only gates are `initialTotalSupply > 0` and a one-day timer. At this block the timer is already satisfied. Any address can choose the moment the pair's TIP balance is cut. 2. The released TIP is taken from the AMM pair, not from a treasury. `burnFromPool` and `distributeFromPool` both `_transfer` from `pool`. The economic effect is a donation of TIP reserves to `0xdead`, the mine contract, and the distribution addresses, paid by the LPs. [continues]","rootCause",1],["2026-10-UNCXSmartTokenVesting","UNCX Smart Token Vesting — Shared-Pool Share Double-Debit","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/logic/state-update","vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["logic"],"One `VestingManager` pools every position of a token and pays `release()` as `releasableShares * balance / _totalTokenShares`. `release()` subtracts those shares from the global total but not from `_depositedShares`. `cancel()` subtracts `_depositedShares` again. The denominator falls below the shares the pool still owes, and the attacker’s surviving position is paid other users’ tokens",null,null,"This transaction keeps, after every flash loan is repaid: 55,601,598.708417972560603048 ED","1. Two ledgers, one decrement. The global denominator and the per-position share record are updated by different functions. `release()` writes `schedule.released` and `_totalTokenShares`. `cancel()` reads `_depositedShares` and writes `_totalTokenShares` again. Nothing keeps those three fields in one transition. 2. The payout is a share of the live balance, not of the position’s own deposit. [continues]","rootCause",1],["2026-10-X100Senate","X100 Senate — two flash-bought seats pass a same-block vote that dumps treasury X into the attacker's pool","incident","DeFiHackLabs","2026-10","Ethereum",[],["untagged"],"`applyForSenate` is permissionless. Seats are the top `senateSize` by live frozen stake, with no snapshot. Two of three seats pass (`support * 2 > senateSize`). `propose`, `vote`, and `execute` have no delay, and `execute` calls `address(this)`, which satisfies `onlySenate` on `v3Swap`. `amountOutMinimum` is 0, so the treasury can be aimed at a pool the attacker priced",null,null,null,"1. The electorate is for sale in the same transaction that votes. `applyForSenate` has no whitelist. Rank is live `frozenOf`. Buying 38,200.000002 X, freezing 19,000.000001 on each of two contracts, and paying 100 X each is enough to occupy 2 of 3 seats. The extra 1 wei over 19,000 X is what the test says outranks an incumbent 19,000 X seat. The trace shows both freezes at `19000000001` and both `isSenator` reads succeeding. 2. There is no voting delay and the proposer counts as a vote. [continues]","rootCause",1],["2026-10-X7Finance","X7 Finance (X7Pioneer) — empty-array claimRewards([]) re-accrues the same donated ETH without advancing the watermark, inflating the per-token reward until one NFT drains the whole pool","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/logic/missing-state-update","vuln/logic/incorrect-order-of-operations","vuln/defi/reward-accounting"],["logic","defi"],"A reward-accrual line runs on every call, but the watermark it depends on is only advanced when a non-empty claim pays out. Calling `claimRewards([])` repeatedly double-counts the same donated ETH into `totalRewards`.",null,null,null,"The accrual at (A) and the watermark update at (C) are not performed atomically with respect to each other. `(A)` fires on every invocation and credits `address(this).balance - lastETHBalance` to `totalRewards`. `lastETHBalance` — the watermark that makes `(A)` a *one-time* credit for any given ETH inflow — is updated only inside the `claimable > 0` branch at `(C)`. When `tokenIds` is empty, the loop at `(B)` never executes, so `claimable` stays `0` and the `(C)` branch is skipped. [continues]","rootCause",1],["2026-10-Yapeswap","Yapeswap — Zero-Quorum Governance Capture, Then a Fake Yearn Vault","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/governance/proposal-manipulation","vuln/logic/state-update","vuln/logic/missing-validation"],["governance","logic"],"`WorkersUnion.getVotingStatus` rejects a proposal only when `totalForVotes < minimumVotes`. With the live minimum at 0, one positive sqrt-weighted lock and no opposition is `Passed`. The passed call moves `YapeFactory.feeToSetter`. That role points `registry` and `operator` at the attacker. `YapePair._toYearn` then deposits the pair’s reserves into `registry.latestVault(token)` and adds the departed tokens to `farming[token]`, so `keepBalance` still holds.",null,null,"Reported about $21.9K","1. Quorum is a configuration the code treats as a floor of zero. `totalForVotes < 0` is impossible for a `uint256`. The next branch passes the proposal whenever for-votes strictly beat against-votes. Nobody has to show up to defeat a dust vote. SlowMist measured the historical for-vote at about 0.000055% of voting power. This reconstruction does not need a coalition. One lock from 0.001 WETH is the whole electorate. 2. What a passed proposal may call includes `setFeeToSetter`. [continues]","rootCause",1],["2026-10-ZkLinkNovaBridge","zkLink Nova — Transient finalizeMessageHash Reused to Forge a Batch Root","incident","DeFiHackLabs","2026-10","Ethereum",["vuln/bridge/replay","vuln/bridge/missing-validation","vuln/logic/incorrect-state-transition"],["bridge","logic"],"`claimMessage` stores a transient `finalizeMessageHash` while a source-chain callback runs, then checks it, and never clears it. A second `claimMessage` in the same transaction reuses that hash. The public relayer lets anyone supply the source-service address, so the second call is a direct `EthereumGateway.sendMessage` that runs `ZkLink.syncBatchRoot` for an attacker-chosen root. Withdrawal proofs against that root then pay out.",null,null,"Reported about $783K across two exploit transactions","1. Authentication is a latch, not a per-call proof. `finalizeMessageHash` means “a gateway just told me this exact payload is the message I am claiming.” Leaving it set means the next claim in the transaction inherits that approval. Transient storage made the bug invisible across transactions and obvious inside one. 2. The claim target is an argument. A relayer-gated function that then does `functionCall(callerSuppliedAddress, callerSuppliedBytes)` is an arbitrary call from the Arbitrator’s identity. [continues]","rootCause",1],["2026-09-BeatXswapVestingOracle","BeatXswap LiquidityVestingConvert — UniV3 slot0 spot oracle","incident","Crypto Training","2026-09","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/single-source","vuln/oracle/price-manipulation","vuln/logic/price-calculation"],["oracle","logic"],"Spot-price oracle — `_calculateQuote()` reads `IUniswapV3Pool.slot0()` `sqrtPriceX96` with no TWAP, no deviation bound, no second feed",null,"BeatXswap / BeatSwap — LV Convert (liquidity-backed vesting)","~2.98M–3.07M BTX","1. Single-source spot oracle. One V3 pool's `slot0` is the only price. 2. Same-block manipulability. A dump in the same transaction moves `sqrtPriceX96` before `deposit()`. 3. Protocol-owned inventory. `requiredBTX` is pulled from the converter's BTX balance (`InsufficientReserveBTX` if short) and locked into an LP the attacker can then trade against. 4. 75/25 split does not help. Treasury takes 75% of USDT; the remaining 25% still sizes a BTX mint from the manipulated quote.","rootCause",1],["2026-09-BonfireSwap","BonfireSwap transfer spends any holder's standing allowance — missing caller check on the router's force-sell","incident","DeFiHackLabs","2026-09","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-check","vuln/input-validation/missing"],["access-control","logic","input-validation"],"`transfer(to, amount, beneficiary, deadline)` pulls BONFIRE from `to` with the router's own allowance and never checks that `msg.sender` is `to` or that the caller has any allowance from `to`.",null,null,"Full incident ~66.08 WBNB","BonfireSwap is a custom BSC router for the reflective BONFIRE token (`0x5e90253f…5590`, 10% tax / 5% reflection, pair `0xD3F478F0…38f2` with WBNB). Holders who had used the router still had a standing `approve` to it. `transfer`, `simpleTransfer`, and `loggedTransfer` all call `_safeTransferFrom(token, to, pancakePair, amount)` where `to` is a caller-chosen address. There is no `msg.sender == to` check and no check that the caller was the one who granted the allowance. [continues]","tldr",1],["2026-09-CozyFinance","Cozy Finance v2 — UMA Optimistic Oracle fake YES drains the protection Set","incident","DeFiHackLabs","2026-09","Base",["vuln/oracle/missing-validation","vuln/oracle/missing-circuit-breaker","vuln/logic/missing-check","vuln/access-control/missing-auth"],["oracle","logic","access-control"],"Permissionless UMA `proposePrice(YES=1e18)` accepted by `UMATrigger` with no check that the Aave/Curve event happened; after 5-day liveness, `runProgrammaticCheck` flips TRIGGERED and CPT bought in the same tx as the proposal pays out 1:1",null,null,"~$160K USDC.e","1. Event-based UMA query with no secondary verification. YES is treated as ground truth after liveness. 2. CPT can be minted after (or in the same tx as) the proposal. No snapshot of eligible protection. 3. 5-day liveness with no watcher on a long-tail Optimism market.","rootCause",1],["2026-09-DAOstack","DAOstack Genesis Alpha — permissionless newOrganization mints reputation and drains the avatar","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/access-control/missing-auth","vuln/governance/proposal-manipulation","vuln/logic/missing-validation"],["access-control","governance","logic"],"`UController.newOrganization(avatar)` is permissionless and will register the caller as a full-permission scheme over whatever reputation a caller-supplied avatar reports, including a reputation that already belongs to Genesis Alpha.",null,null,"4.025 ETH, the avatar's entire treasury","1. `newOrganization` is unauthenticated. A contract created in the same transaction, with no reputation and no scheme bits, calls it and gets `0x1F` on the org it just defined. The stranger test is the control experiment. 2. Reputation identity is not unique. The controller stores `avatar.nativeReputation()` and will later mint on that address. It never checks that this Reputation's owner-organization is already Genesis Alpha. [continues]","rootCause",1],["2026-09-RouterDrain","DEX router drain — unverified V3 callback trusts a fake pool and transferFroms any approver","incident","DeFiHackLabs","2026-09","BNB Chain",["vuln/access-control/missing-auth","vuln/input-validation/missing","vuln/logic/missing-check"],["access-control","input-validation","logic"],"`factoryV3() == 0`; swap entry `0x33411b5e` calls attacker-chosen `pool.swap` with no factory check; `uniswapV3SwapCallback` `transferFrom`s a callback-supplied `payer`",null,null,"Incident ~62.28 WBNB from 29 victims","1. Zero factory → callback cannot authenticate a pool. 2. Attacker-chosen pool in the route. 3. Callback-supplied payer replaces the initiator. 4. Standing user approvals to the router are a hot wallet for this path. No price manipulation, no oracle, no privilege.","rootCause",1],["2026-09-DHC","DHC Award vault — claimed reward can be reset and paid again from the shared pool","incident","DeFiHackLabs","2026-09","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],"After `claimAward`, `participateAward(id, dust)` resets status 2 → 1 without a new reserve; `claimAward` pays the same fixed reward again from the shared proxy DHC balance",null,null,"On-chain 71,851.02 USDT","A finite, shared inventory (the proxy's DHC) is paid out by a state machine that can walk backwards. Status 2 is not terminal. Dust re-participate is cheaper than the reward it re-enables, so the loop drains the vault one fixed reward at a time (~1,401 DHC per claim vs a 14,016 DHC \"reward\" parameter — the paid fraction is what matters). Permissionless: the live caller is the attacker's contract, not proxy owner `0x007FA7F9…`.","rootCause",1],["2026-09-DoinGud","DoinGud acceptOffer pays the escrow twice — amount == 0 skips offer deletion","incident","DeFiHackLabs","2026-09","Polygon",["vuln/logic/incorrect-state-transition","vuln/logic/missing-check","vuln/logic/wrong-condition"],["logic"],"`acceptOffer(offerer, tokenId, price, amount)` sends `price` USDC to `msg.sender` when `amount == 0` and does not delete the offer, so the same calldata pays `price` again out of other users' escrow.",null,null,"35,380.154566 USDC net","DoinGud's Polygon marketplace is an EIP-2535 diamond. The escrow USDC sits on the diamond `0xE3A161…eD6A`. The bidding logic lives in an unverified facet `0x123aAFC8…`, which the diamond `delegatecall`s. At the fork block that escrow already held 35,486.935717 USDC of other users' funds — exactly one offer-sized balance, before the attacker deposits anything. `acceptOffer` (selector `0x5c924960`) transfers `price` USDC to the caller. [continues]","tldr",1],["2026-09-EnsoFinance","Enso Finance strategy vault — short Uni V3 TWAP overvalues FARM deposits","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/oracle/manipulable-twap","vuln/oracle/spot-price","vuln/oracle/missing-circuit-breaker","vuln/logic/price-calculation"],["oracle","logic"],"Permissionless `deposit` mints shares on oracle-estimated value delta; FARM is priced off a thin Uni V3 pool with a near-spot TWAP window (~9× vs the V2 market)",null,null,"Headline ~5.6 ETH spot of UNI/AAVE/MKR pulled, net of 0.683 WETH spent on FARM","1. Permissionless deposit mints on estimated value, not on a bounded basket of known tokens with haircuts. 2. FARM estimator uses a manipulable / stale-thin TWAP that diverges ~9× from the liquid V2 pool the attacker actually traded. 3. Withdraw pays real reserves (UNI/AAVE/MKR) against those inflated shares. 4. No circuit breaker comparing deposit token's V2 price vs the oracle print.","rootCause",1],["2026-09-EtherFiVedaAtomicQueue","ether.fi Liquid / Veda AtomicQueue — Unauthenticated solver Drain","incident","Crypto Training","2026-09","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-validation","vuln/dependency/unsafe-external-call"],["access-control","logic","dependency"],"Missing authentication on `AtomicQueue.solve`'s `solver` argument: after a no-op `finishSolve`, the queue `transferFrom`s that address for `want`",null,null,"14.445541086626480232 liquidETH + 7.047848 USDC in the PoC","1. ether.fi Liquid withdrawals on Ethereum share a Veda `AtomicQueue` (AtomicQueue.sol). Users who want to sell `liquidETH` (or other vault shares) for a `want` asset approve the queue and open an `AtomicRequest`. 2. `solve(offer, want, users, runData, solver)` is permissionless. The last argument is an unauthenticated address. [continues]","tldr",1],["2026-09-Flamincome","Flamincome — spot-priced, permissionlessly-inflatable strategy NAV drains the proportional-share YUSDT vault","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/logic/price-calculation","vuln/access-control/missing-auth"],["oracle","logic","access-control"],"A proportional-share vault mints/redeems against a Strategy NAV that (a) prices a Convex position at spot Curve `get_virtual_price()` with no deviation/time-weighting guard, and (b) counts `BaseRewardPool.balanceOf(Strategy)`, a figure any address can inflate via permissionless `stakeFor`. Flash-loan amplified.",null,null,"344,751.209366 USDT net attacker profit, from 597,352.101480 USDT gross loss of the Strate","1. Shares are priced off a manipulable NAV. The vault's deposit/withdraw math is a correct proportional-share formula, but it reads `balance()` (the Strategy NAV) live, both when minting and when redeeming. Any value that can be inflated *between* a deposit and a withdraw directly transfers wealth from the pooled backing to the withdrawer. The vault performs no NAV-consistency check and no single-block/same-transaction guard. 2. The Convex leg is valued at spot `get_virtual_price()`. [continues]","rootCause",1],["2026-09-GaslessReservoirEnabler","GaslessReservoirEnabler — whitelisted WETH plus arbitrary module.call spends every standing approval","incident","DeFiHackLabs","2026-09","Polygon",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call","vuln/input-validation/missing"],["access-control","dependency","input-validation"],"`erc20WithTransfersAndExecute` has no auth. Its module whitelist contains the live WETH token, and `module.call(data)` runs attacker-supplied calldata, so `transferFrom(victim, attacker, amount)` spends approvals users granted the enabler.",null,null,"This tx: 8.7199 WETH from 466 victims","GaslessReservoirEnabler is a Polygon meta-transaction helper. The intended path is EIP-712: a user signs, a relayer calls `executeMetaTransaction`, and `_msgSender()` is the signer so the contract can `transferFrom` that user. A second entrypoint, `erc20WithTransfersAndExecute(ERC20Transfer[], ExecutionInfo[])`, was added to pull tokens and then call whitelisted modules. It is `external` and `nonReentrant` only. It does not check a signature, a role, or that `data` is a known function. [continues]","tldr",1],["2026-09-GDCToken","GDCToken — sell-tax credits 30% to the pair then burns 100% from it and sync()s","incident","Crypto Training","2026-09","BNB Chain",["vuln/logic/fee-calculation","vuln/logic/incorrect-state-transition","vuln/reentrancy/single-function","vuln/access-control/broken-logic"],["logic","reentrancy","access-control"],"Sell path takes a 70% tax so only 30% of the nominal amount reaches the pair, then `_burnSellAgainstPair(user, amount)` burns the full nominal from the pair and `sync()`s. A later swap therefore overpays WBNB. Chained with an EXTCODESIZE EOA-check bypass, false LP-removal classification of buys, and a BNB-reward reentrancy that dumps inventory while `swapping=true`.",null,null,"Pair drained 38.075473326480291171 WBNB","Three independent bugs compose into one drain: 1. Accounting mismatch. Sell tax and sell-burn use different notionals: 30% credited vs 100% burned from the *pair*, not from the seller. `sync()` publishes the poisoned GDC reserve. 2. Access-control via `EXTCODESIZE`. Constructor helpers pass the EOA deposit gate and obtain a deposit record. 3. Deposit record ⇒ “LP removal”. That record is then reused to classify *any* pair→user GDC transfer as a withdrawal, which is the only way to buy. [continues]","rootCause",1],["2026-09-InternetToken","Internet Token swapV3 mints arbitrary INT to a fake pool — validateSupply is burned around","incident","DeFiHackLabs","2026-09","Base",["vuln/reentrancy/cross-contract","vuln/logic/missing-validation","vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition"],["reentrancy","logic","access-control"],"Permissionless `swapV3(token, pool)` treats any contract with the right `token0()`/`token1()` as a Uniswap V3 pool, then `uniswapV3SwapCallback` mints INT to `msg.sender` because that sender was just stored as `currentPoolV3`.",null,null,"Mint 925,411,678.379023085745037207 INT, dump 161,265,976.195260022578593802 INT for 5.846","1. The pool address is caller-supplied and not authenticated. Code size, an exclusion list, and two view functions are not a pool registry. The attacker deploys the pool in the same transaction, so it cannot have been excluded in advance. 2. `currentPoolV3` is the callback authenticator, and the attacker sets it. `msg.sender == currentPoolV3` is the Uniswap pattern. It is only sound if `currentPoolV3` was chosen by the protocol. Here it is the `pool` argument. [continues]","rootCause",1],["2026-09-Likwid","Likwid leverage == 0 borrow — frozen pair reserves re-quote the same BNB on every collateral add","incident","DeFiHackLabs","2026-09","BNB Chain",["vuln/logic/missing-state-update","vuln/defi/price-manipulation","vuln/logic/incorrect-accounting"],["logic","defi"],"`_executeAddCollateralAndBorrow` (the `leverage == 0` path) sizes the borrow with `SwapMath.getAmountOut(pairReserves,...)` and never writes `delta.pairDelta`, so the AMM reserves that feed the next quote do not move. Splitting one collateral pile into many positions repeats the first-trade marginal price.",null,null,"74.310377807370642618 BNB taken from LikwidVault in this transaction","1. The pricing input and the state write are different fields. `getAmountOut` reads `pairReserves`. Only `pairDelta` is the delta the vault applies back onto those reserves. The borrow branch fills every other delta and skips `pairDelta`. 2. `borrowAmount = type(uint256).max` means \"give me `borrowMaxAmount`.\" There is no external price or slippage parameter. The contract substitutes the static quote, so the caller does not even have to know the number. 3. The 20% real-reserve cap is not a price-impact cap. [continues]","rootCause",1],["2026-09-LPBonus","LPBonus (MSN LP-reward pool) — reserve-inconsistency between reward accrual and withdrawal lets a flash-manipulated reserve inflate an LP's FIST claim","incident","DeFiHackLabs","2026-09","BNB Chain",["vuln/logic/reward-calculation","vuln/oracle/price-manipulation","vuln/defi/fee-manipulation","vuln/defi/flash-loan"],["logic","oracle","defi"],"Reward index is accrued against one AMM reserve read and paid against a different one, both from a freely-manipulable `pair.getReserves()`. A flash-loan crush of the MSN reserve inflates the per-share index; a dust withdrawal collects the inflated claim.",null,null,"Final attacker USDT balance 92,633.859396071632955691","1. The reward index is priced on an instantaneous, manipulable AMM reserve. `oneshareFIST += fistIn * 1e18 / reserveMSN` reads `reserveMSN` from `pair.getReserves()` with no TWAP and no bound. A single swap moves it from 504.230164 to 89.327789 and back to 491.113095. 2. Accrual and withdrawal use different reserve reads. The index is bumped under the crushed reserve (89.3) during `BonusSEND`, then paid out under the restored reserve (491.1) during `UserRemoveLp`. [continues]","rootCause",1],["2026-09-MUS","Mutual Uniting System (MUS) — a first-deposit bonus is paid twice and never capped, so a fresh deposit-withdraw returns more ETH than it put in","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/logic/reward-calculation","vuln/logic/missing-check","vuln/access-control/missing-auth"],["logic","access-control"],"Broken accounting. A first-deposit bonus is disbursed twice — once as an immediate ETH refund inside `deposit()`, and again as a redeemable MUS allocation `withdraw()` later cashes for ETH — with no invariant tying total ETH paid out to ETH deposited, and no caller gate on either function.",null,null,"0.400167773791578324 ETH net over-extraction for one fresh deposit-withdraw cycle","1. The first-deposit bonus is paid twice. `deposit{value: D}()` refunds `R` ETH to the caller *immediately* and credits a MUS allocation that `withdraw()` redeems for a further `W` ETH. The contract treats these as one bonus for event-logging purposes (it logs `R+W` and `R` together) but disburses them as two independent ETH outflows. 2. No payout-vs-deposit invariant. Nothing checks `R + W <= D` (or `<= D − fee`). [continues]","rootCause",1],["2026-09-Nimiq","Nimiq HTLC handlers — OpenGSN execute() ignores the signature and opens an HTLC as the liquidity wallet","incident","DeFiHackLabs","2026-09","Polygon",["vuln/access-control/missing-auth","vuln/auth/signature-bypass","vuln/bridge/htlc"],["access-control","auth","bridge"],"Each handler is its own OpenGSN forwarder and its own paymaster. `execute()` discards the EIP-712 signature, nonce, and `checkOpen` preconditions and `transferFrom`s `request.from`. The hub only runs those checks on whichever paymaster the relay names, so a self-staked relay plus an always-accept paymaster never hits `verifyCallPrivate`.",null,null,"50,463.792096 USD of 6-decimal stables: 26,130.641710 USDC + 24,332.489269 USDT0 + 0.66111","Nimiq's Polygon swap handlers custody HTLCs for USDC, USDT0, and bridged USDC.e. The liquidity wallet had approved both handlers for unlimited token. A direct `open()` would pull tokens from `msg.sender` only after `checkOpen`. The gasless path does not. OpenGSN's `RelayHub.relayCall` calls `paymaster.preRelayedCall` and then `forwarder.execute`. [continues]","tldr",1],["2026-09-NotionalFinance","Notional V1 escrow — unbacked fCash mint overflows uint128 ladders and settles as cash","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/arithmetic/overflow","vuln/logic/missing-validation","vuln/input-validation/missing"],["arithmetic","logic","input-validation"],"`safeTransferFrom` of fCash from an account that does not hold it still mints a payer/receiver pair. A ~2^128 short overflows the escrow's uint128 cash ladder so the unbacked long settles at maturity as a real, withdrawable claim sized to the escrow's entire live balance",null,null,"$1.727M","1. Unbacked pair mint via ERC-1155 transfer from an account that does not hold the id. 2. uint128 cash ladder cannot represent a 2^128-scale short; wrap makes free-collateral non-negative. 3. Maturity settlement treats the wrapped long as cash, withdrawable up to the escrow's real ERC-20 balance. 4. No identity / occupancy check tying a receiver claim to a solvent payer.","rootCause",1],["2026-09-OMNI404Erc404Rounding","OMNI404 (O404) — ERC-404 transfer(id≤50) + whitelist rounding drain","incident","Crypto Training","2026-09","Ethereum",["vuln/input-validation/wrong-type","vuln/arithmetic/rounding","vuln/logic/incorrect-state-transition","vuln/defi/fee-manipulation"],["input-validation","arithmetic","logic","defi"],"Overloaded `transfer(to, valueOrId)` treats `valueOrId ≤ 50` as an NFT id and moves `1e18` ERC-20. UniV3 exact-output of 1..21 wei therefore delivers a whole unit. Coupled with whitelist skip of mint/burn on the pool, buy/sell leaks rounding into the NFT bank",null,"OMNI404 / O404 (ERC-404 + LayerZero OFT)","~2.4–3.02 WETH","1. One `uint256` for two types. Amount vs id is inferred from `≤ 50`, not from `msg.sig` / a dedicated `transferFromNFT`. 2. NFT path always moves `units`. A 1-wei AMM transfer becomes a 1e18 ERC-20 transfer. 3. Whitelist asymmetry. Pool skips mint/burn; the attacker does not. Flashing ERC-20 from the pool mints bank NFTs the attacker can seed back. 4. UniV3 does not re-read `balanceOf` for the swapped amount. It trusts the `transfer` it issued. [continues]","rootCause",1],["2026-09-ORB","ORB addPoolAndSell — BNB refund before the sell, then burnLP grinds the pair and a last swap takes the WBNB","incident","DeFiHackLabs","2026-09","BNB Chain",["vuln/reentrancy/cross-function","vuln/defi/reserve-manipulation","vuln/logic/incorrect-order-of-operations"],["reentrancy","defi","logic"],"`ORBToken.receive()` forwards BNB into `ORBCore.addPoolAndSell` with no reentrancy lock. The sell branch refunds that BNB, and `_sellToken` refunds the proceeds, both *before* `burnLP`. `burnLP` burns ORB out of the pair and `sync`s, but only up to 20% of the pair balance per call. A nested reentry buys the pool down to 600 ORB at the bottom, then each unwind burns 20%, and a final taxed sell takes the untouched WBNB.",null,null,"45.302221034270454423 BNB net to the attacker after repaying every flash-loan and Venus le","1. Checks-effects-interactions is inverted twice. State that matters (`burnLP` / `sync`) is after an ETH transfer to an attacker-controlled `account`. Both the pre-sell refund and the post-swap `userBNB` refund are reentry points, and the second one sits immediately before the burn. 2. `receive()` is an unauthenticated sell entry. It sets an unlimited ORB allowance to Core as a side effect and names `msg.sender` as the account whose balance will be sold. 3. `burnLP` + `sync` is an external reserve write. [continues]","rootCause",1],["2026-09-OrderFactory","Order factory — permissionless createOrderForBuyer sets attacker as seller and aborts the buyer's ETH","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-signer","vuln/logic/missing-check"],["access-control","logic"],"Factory creates an order *for* an arbitrary buyer with only `getState(buyer)==1`; attacker-supplied `seller` is written to the privileged slot; `abort(to)` sweeps the buyer's pulled ETH",null,null,"Incident ~24.7 ETH","The factory's order-creation entry (`selector 0xbde886fc`, name unknown — factory unverified) lets any caller create an order \"for\" a buyer. It checks `getState(buyer) == 1` (active request) and does not check `msg.sender == buyer`, take a buyer signature/nonce, or validate the attacker-supplied `seller`. The factory then: 1. Pulls the buyer's full ETH balance out of the Account System into a freshly CREATE'd order proxy. 2. Writes the attacker-chosen `seller` into the order's privileged slot. [continues]","tldr",1],["2026-09-PancakeV3SwapHelper","Pancake V3 Swap Helper — Signed Swap Delta Misread as the WBNB Payout","incident","DeFiHackLabs","2026-09","BNB Chain",["vuln/logic/missing-validation","vuln/logic/incorrect-state-transition","vuln/logic/price-calculation"],["logic"],"`swapTokenForBNBWithRecipient` treats Pancake V3's positive USDT input delta as a WBNB quantity, unwraps that much of the helper's pre-existing WBNB, and sends the BNB to the caller. The pool only delivered 0.002089397784051482 WBNB",null,null,"1.648868884526157960 BNB after the live tx fee","1. The sign convention was not applied to the payout. Verified `PancakeV3Pool.swap` sends the output token only when its delta is negative, and the absolute value of that negative delta is the amount transferred (`uint256(-amount1)` for `zeroForOne`). The helper stored or reused the positive delta instead. `SwapSuccess` proves both numbers were in hand. 2. The positive delta on this path equals `amountIn`, in USDT units. [continues]","rootCause",0],["2026-09-PrimeFinance","PrimeFi verifyReport — permissionless stale Chainlink Data Streams report inflates PRFI and empties the WHYPE reserve","incident","DeFiHackLabs","2026-09","HyperEVM",["vuln/oracle/stale-price","vuln/access-control/missing-auth","vuln/defi/undercollateralized-borrow","vuln/auth/signature-replay"],["oracle","access-control","defi","auth"],"`verifyReport(bytes)` is permissionless. It forwards the payload to the Chainlink verifier, which checks the DON signatures, then stores `report.price` for that `feedId` with no check that `observationsTimestamp` / `validFromTimestamp` is newer than the stored round. A valid stale PRFI report overwrites the live price.",null,null,"425.521620381705945356 WHYPE borrowed out of the lending reserve","1. Signature validity is not freshness. `verifierProxy.verify` accepts any report the DON signed, including one signed in the past. The consumer treats \"the verifier returned\" as \"this is the price to store now.\" 2. The store is an unconditional overwrite. `oracleData[feedId]` is replaced field by field. [continues]","rootCause",1],["2026-09-Reddio","Reddio RedSonic Vault — permissionless registerErc20(stETH) double-counts one balance","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/logic/price-calculation","vuln/access-control/missing-auth","vuln/logic/missing-check"],["logic","access-control"],"ETH-class share price reads the vault's raw stETH balance; `registerErc20(stETH)` is permissionless, so a second share class is backed by the same ERC-20 balance",null,null,"9.253090281137114614 ETH","One inventory, two liabilities. Permissionless listing of an asset that the ETH class already counts as backing is an inflation vector: deposit under class B, redeem class A at the new NAV, redeem class B to unwind the deposit.","rootCause",1],["2026-09-RsETHSafeModule","rsETH Safe drain — Router multicall treats a self-call as authorized and the enabled module delegatecalls a recipe","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/access-control/auth-bypass","vuln/auth/caller-check","vuln/logic/self-call"],["access-control","auth","logic"],"`multicall(address _contract, bytes[] _data)` authorizes the call when `_contract == address(this)`. Wrapping the payload in `multicall(ROUTER, [multicall(MODULE, [moduleCall])])` makes the inner call run with the Router as `msg.sender`. The module trusts the Router and `execTransactionFromModuleReturnData`s a recipe into the Safe with operation delegatecall.",null,null,"2,899.999999999997756821 aEthrsETH pulled from the victim Safe","A whale Safe held 53,402.655157601774360853 aEthrsETH and had enabled a custom module, `0xeA18B13d...`. That module will act on the Safe when the Router calls it. The Router will act for anyone who calls `multicall` with the target set to the Router itself, because its auth check short-circuits on `target == address(this)`. The attack is two nested `multicall`s and nothing else the attacker is allowed to do: 1. Outer: `ROUTER.multicall(ROUTER, [inner])`. Target is the Router, so the caller check passes. [continues]","tldr",1],["2026-09-SecuredFi","Secured.Fi — same-block self-trade pins getMarketUnitPrice at par and drains WBTC","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/oracle/price-manipulation","vuln/logic/price-calculation","vuln/oracle/missing-circuit-breaker"],["oracle","logic"],"`getMarketUnitPrice` = same-block `blockTotalAmount / blockTotalFutureValue` with no TWAP. Cross-account self-trade at par (10000) makes a cheap lend look fully-backed; `withdraw` takes real WBTC",null,null,"Incident ~$104K across bots","1. Same-block volume-weighted price is attacker-controlled if the attacker is both sides. 2. `isReliableBlock` is a volume gate, not a manipulation bound — flash liquidity clears it. 3. Withdraw trusts that unit price as if it were a TWAP.","rootCause",1],["2026-09-SKYDAO","SKYDAO sell path — controlburn + sync() before the net credit desyncs the pair reserve","incident","DeFiHackLabs","2026-09","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/logic/state-update","vuln/defi/price-manipulation"],["logic","defi"],"On a sell, `_transfer` hands the pool controller the gross SKY amount and lets it `controlburn` the pair and `sync()` before the seller's net 65% is credited. Stored `reserve1` latches at 2,854 wei. A direct `pair.swap` then pays out essentially all USDT.",null,null,"183,482.883991401873856911 USDT leaves the SKYDAO/USDT pair","1. External call in the middle of a balance update. `sellToken(amount, …)` runs before `amount -= taxAmount` and before `_basicTransfer(from, pair, amount)`. The controller is handed a number that still includes tokens the pair has not been credited. 2. `controlburn` burns the pair, not the tax. The argument is the gross sell. Combined with `sync()`, the stored SKY reserve is the post-burn dust (2,854 wei), not the post-sell balance. 3. `sync` is the wrong moment. [continues]","rootCause",0],["2026-09-SpiralHookV2","SpiralHookV2 — Uniswap V4 spot getSlot0 prices borrow collateral, and noSameBlockSwap keys the guard on tx.origin","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/access-control/tx-origin","vuln/access-control/guard-bypass"],["oracle","access-control"],"`borrow` values SPIRAL at the live V4 spot (`poolManager.getSlot0`) with no TWAP and no move cap. `noSameBlockSwap` records `lastSwapBlockOf[tx.origin]`, so six fresh EOAs borrow against the pumped spot in the same block.",null,null,"10.707280986613435410 ETH net","1. Collateral is the manipulable spot. A permissionless V4 exact-input ETH→SPIRAL swap moves `slot0` inside the block. `borrow` then lends 40% of that inflated `spiralValueInETH`. 2. The same-block fence is per `tx.origin`, not per pool or per `msg.sender`. The pump burns only the origin that swapped. Any other EOA still has `lastSwapBlockOf == 0` and passes `noSameBlockSwap` while the spot is already wrong. 3. `borrow` is permissionless once `poolInitialized` and `tradingOpen` are set. [continues]","rootCause",1],["2026-09-Startale","Startale ERC-7579 accounts — transient INIT_SLOT stays set after the proxy constructor, so initializeAccount can be called again in the same transaction","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/logic/incorrect-initialization","vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call","vuln/logic/delegatecall-target-confusion"],["logic","access-control","dependency"],"`AccountProxy`'s constructor `tstore`s an \"initializable\" flag that EIP-1153 keeps for the whole transaction. `initializeAccount` for an external caller checks only that flag, then `delegatecall`s a caller-supplied bootstrap.",null,null,"32.555561 USDC swept from 3 reconstructed pre-funded accounts","EIP-1153 transient storage lives until the end of the transaction, not until the end of the constructor frame. `TSTORE` inside `AccountProxy`'s constructor is still visible to a later call to that same address in the same tx. The design assumed \"constructor-only\" and implemented it with `tstore`. [continues]","rootCause",1],["2026-09-SymbiosisBridgeV2SyBtc","Symbiosis BridgeV2 — signed receive mints unbounded syBTC (BSC)","incident","Crypto Training","2026-09","BNB Chain",["vuln/bridge/missing-validation","vuln/logic/missing-validation","vuln/input-validation/missing","vuln/auth/signature-validation"],["bridge","logic","input-validation","auth"],"`receiveRequestV2Signed` executes arbitrary transmitter calldata if an MPC ECDSA over `keccak256(\"receiveRequestV2\"\\|\\|callData\\|\\|receiveSide\\|\\|chainid\\|\\|bridge)` is valid. No amount cap, no BTC inclusion proof, no `msg.sender` binding, no consumed-hash beyond the caller-chosen `externalID`. Synthesis then mints `amount` syBTC 1:1",null,null,"Headline ~$336k realized","1. MPC signature is the only mint gate. There is no on-chain amount ceiling, no BTC proof, and no sanity bound versus `2^62`-scale values. 2. Unconstrained `.call(_callData)` to any transmitter (Synthesis is one). The bridge does not decode or bound the inner `amount`. 3. Request hash omits `msg.sender`. A captured signature is submittable by any EOA until `externalID` is marked `Synthesized`. 4. Serial is attacker/MPC-chosen inside the signed struct, not an independent on-chain nonce the signer cannot pick. [continues]","rootCause",1],["2026-09-TheRedVillage","The Red Village — a public request forwarder is a confused deputy that upgrades a UUPS proxy to attacker code","incident","DeFiHackLabs","2026-09","Polygon",["vuln/access-control/confused-deputy","vuln/access-control/missing-authorization","vuln/proxy/unauthorized-upgrade"],["access-control","proxy"],"`forwardRequest(string,string,bytes)` is public and relays arbitrary calldata to a resolved service with the router as `msg.sender`. The router holds the `_authorizeUpgrade` role on SeasonService, so an attacker makes the router upgrade SeasonService to attacker code. That code, running in the proxy's context, inherits the proxy's ZooKeeper transfer roles and drains every player who approved ZooKeeper.",null,null,null,"The protocol has two trusted relationships that, composed, let anyone upgrade a core proxy to arbitrary code: 1. `forwardRequest` is an open, identity-laundering relay. It is public, authorizes nothing, and forwards arbitrary calldata to a resolvable service as the router. Any `(zone, service)` the router can reach — including privileged administrative selectors like `upgradeTo` — is callable by anyone through it. The original caller's identity is discarded; downstream contracts only ever see the router. [continues]","rootCause",1],["2026-09-UnifiFakeLpRewards","Unifi Protocol — fake LP drains UP rewards for ~5.86 BNB (BSC)","incident","Crypto Training","2026-09","BNB Chain",["vuln/logic/reward-calculation","vuln/input-validation/missing","vuln/logic/missing-check","vuln/access-control/broken-logic"],["logic","input-validation","access-control"],"Manager trusts a caller-supplied pool for eligibility (`token0`/`token1` == WBNB) and reward math (`balanceOf` + `totalSupply`). No factory / pair-code check. A fake LP reporting `token0 = WBNB`, `totalSupply = 1e18`, `balanceOf(this) = 1e18` is paid the manager's UP inventory (`MINT_ROLE`); UP is redeemed against controller native backing",null,null,"~5.86 BNB","1. Caller-supplied pool with no factory / pair-codehash / allowlist check. 2. Reward math uses the pool's own `balanceOf` + `totalSupply`, which a fake LP can set to \"I am 100% of a WBNB pair\". 3. Manager holds `MINT_ROLE` and already sits on ~0.559 UP of inventory; claim transfers that inventory (plus fee mint) to the fake LP. 4. UP is immediately redeemable for controller native — no delay, no LP lock, no oracle on the pair.","rootCause",1],["2026-09-YamFinance","Yam Finance — hardcoded GovernorAlpha quorum on a dormant DAO, then masterFallback drains the expired UMA farms","incident","DeFiHackLabs","2026-09","Ethereum",["vuln/governance/quorum-manipulation","vuln/governance/admin-takeover","vuln/access-control/live-admin-power-on-dormant-protocol","vuln/logic/arbitrary-external-call"],["governance","access-control","logic"],"Quorum and proposal threshold are constants (`200000 * 1024`, `50000 * 1024`), not a share of current turnout. One self-delegated balance cleared both, nobody voted against, and the new Timelock admin used `masterFallback` as an arbitrary call on the farms.",null,null,"48.085375043290366770 WETH and 763.101265318097645247 UMA to the attacker","1. Quorum and the proposal threshold are absolute constants, commented as 4% and 1% of the original YAM supply. They do not track circulating supply, delegated supply, or recent turnout. A single balance whose `getPriorVotes` exceeds `200000 * 1024` is a majority of a one-voter election. 2. The DAO was dormant. `forVotes <= againstVotes` is the only opposition check. With `againstVotes == 0`, any for-vote at or above quorum succeeds. [continues]","rootCause",1],["2026-09-ZentraFinance","Zentra Finance — Custom AToken _burnScaled silently caps oversize burns","incident","Crypto Training","2026-09","Citrea",["vuln/logic/missing-check","vuln/logic/incorrect-state-transition","vuln/input-validation/boundary","vuln/arithmetic/rounding"],["logic","input-validation","arithmetic"],"Custom AToken `_burnScaled` silently caps an oversize burn to the remaining scaled balance instead of reverting, so `repayWithATokens` with zero aTokens still clears the debt",null,null,"~$140,000 ctUSD","A fail-open rounding patch was applied to a function that is also the accounting backstop for `repayWithATokens`. Intended invariant: burning `amount` of aTokens destroys `amount` of claims (scaled by the index). If the user does not have those claims, revert. Patched behaviour: if the scaled burn exceeds the user’s scaled balance, destroy whatever they have (possibly zero) and continue. [continues]","rootCause",1],["2026-08-AjnaFinance","Ajna Finance — self-controlled liquidation via bucketTake / take accounting","incident","DeFiHackLabs","2026-08","Ethereum",["vuln/logic/liquidation-logic","vuln/oracle/missing-validation","vuln/logic/missing-check"],["logic","oracle"],"Oracle-free liquidation: an attacker who owns both the underwater borrower *and* the taker/lender shapes internal bucket prices and walks out with more collateral than quote paid",null,null,"~$775K campaign across 7 Ajna ERC20 pools","Three design choices compose into a critical: 1. No external price. Bucket 2000's price is whatever the attacker arranged in earlier setup txs (already sitting at the fork). Nothing can say \"this collateral is worth ~1:1 with WETH, you cannot settle 48 cbETH for 3.5 WETH.\" 2. No identity separation. The protocol cannot tell that the borrower, the bucket depositor, and the taker are the same economic actor. Self-dealing is in-protocol. 3. Auction settlement frees the rest. [continues]","rootCause",1],["2026-08-AllbridgeCctpPhantomDeposit","Allbridge CCTP — Phantom Deposit on Base (~$191K)","incident","Crypto Training","2026-08","Base",["vuln/bridge/message-validation","vuln/bridge/false-deposit","vuln/defi/flash-loan"],["bridge","defi"],"Bridge message validation / false deposit — `receiveCctpMessage` credits `amount - feeExecuted` from an attested CCTP body into `receivedMessages[hookDataHash]` without checking that USDC was minted or that balances increased",null,"Allbridge Next — CCTP router path (no liquidity pool)","~$191,156 USDC","Allbridge’s new CCTP router on Base treated a Circle-attested generic `MessageTransmitterV2.sendMessage` as a real USDC deposit. The attacker authored a burn-shaped body declaring 1,000,000 USDC, pointed `recipient` at their own harness (so Circle’s TokenMessenger never minted), and set `destinationCaller` to Allbridge’s messenger. [continues]","tldr",1],["2026-08-ArrakisFinance","Arrakis Finance G-UNI — Uniswap V3 mint/burn sandwich with no same-tx snapshot","incident","Crypto Training","2026-08","Ethereum",["vuln/defi/sandwich-attack","vuln/oracle/spot-price","vuln/oracle/missing-circuit-breaker"],["defi","oracle"],"State-dependent Uniswap V3 mint/burn accounting with no same-transaction snapshot: shares are valued off live `pool.slot0()`, so an unprivileged attacker can sandwich mint and burn after skewing spot price and accruing fees",null,null,"2.941350352900037140 WETH","Share issuance and redemption are linear in a spot-valued inventory. Uniswap V3 inventory is not invariant under an intra-transaction price move: Below the range, added liquidity is 100% WETH; the paired ENS is parked idle on the vault. A swap that walks the price back through 32000–60000 pays fees to all liquidity in that range, including the attacker's freshly minted liquidity and the leftover of other LPs. [continues]","rootCause",1],["2026-08-ArrakisGUNI","Arrakis V1 G-UNI — Uniswap V3 spot-priced mint/burn sandwich (typed reconstruction)","incident","DeFiHackLabs","2026-08","Ethereum",["vuln/defi/sandwich-attack","vuln/oracle/spot-price","vuln/oracle/missing-circuit-breaker"],["defi","oracle"],"Permissionless `mint`/`burn` value the Uni V3 position off live `pool.slot0()`; TWAP/deviation wraps only keeper `rebalance()`",null,null,"2.941350352900037140 WETH","`mint` and `burn` in the same transaction do not see \"the same\" pool if the caller can move `slot0` around the vault ticks first. Out-of-range mint issues shares against a 100% WETH position plus idle ENS; restoring the tick puts the (now larger) position in range, accrues the restoring swap's fees, and `burn` pays a richer mix. No privileged role is required. Morpho `flashLoan` + Uni V3 `swap` + vault `mint`/`burn` are all public.","rootCause",1],["2026-08-AtomicAtomicLendingOracleManipulation","Atomic (AtomicLending) — Signature Replay + Flash-Loan Spot Manipulation on Arbitrum (~$29,984)","incident","Crypto Training","2026-08","Arbitrum",["vuln/auth/signature-replay","vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/defi/flash-loan"],["auth","oracle","defi"],"Signature replay on manager-authorized `partialBurn` (`0xa806010f`) — signed digest omits positionId / manager / caller / nonce / deadline / chainId — combined with same-tx Uni V3 spot manipulation under an Aave flash loan (no TWAP / slippage)",null,"Atomic — non-custodial leveraged trading + isolated AtomicLending (`@atomic__green`)","~$29,984.27 USDC","### Primary — signature replay in `0xa806010f` (SlowMist); The vulnerable business logic at `0x62cc5522…4a0a` (reached through proxy `0x51ff48f2…42A8`) authorizes Uniswap V3 LP burns with a manager signature via selector `0xa806010f` (`partialBurn`). The digest that the manager signed — and that `ecrecover` validates — omitted every field that must make an authorization unique: [continues]","rootCause",1],["2026-08-BalancerV1BPool","Balancer V1 BPool — joinswapPoolAmountOut rounding drain (empirical reconstruction)","incident","DeFiHackLabs","2026-08","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss","vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],"After public swaps compress 8-decimal WBTC to dust, `calcSingleInGivenPoolOut` floors `tokenAmountIn` to 1 sat while the full caller-chosen BPT is still minted",null,null,"This pool ~$110,839","18-decimal fixed-point power/ratio math against an 8-decimal reserve of a handful of sats truncates `tokenAmountIn` to 1 wei. `MIN_BALANCE` does not apply after `finalize`. `exitswapPoolAmountIn` has the symmetric rounding, so a 1-sat exit keeps the reserve dusty for the next join. Repeat until BPT supply is captured, then `exitPool`. Every entrypoint used is permissionless. No signer / admin path.","rootCause",1],["2026-08-BalancerV1JoinswapRounding","Balancer V1 BPool joinswapPoolAmountOut rounding — mint BPT for 1 satoshi WBTC after dust compression","incident","Crypto Training","2026-08","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss","vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],"Fixed-point rounding in `BMath.calcSingleInGivenPoolOut` / `BPool.joinswapPoolAmountOut`: after dust-compressing an 8-decimal WBTC reserve, specified BPT out is minted while computed `tokenAmountIn` floors to 1 wei",null,null,"~$234k USD across DPI / USDC / WETH / WBTC","1. Direction of API: specifying output (BPT) and deriving input lets rounding favor the caller on the input side. 2. Decimal mismatch: 8-decimal WBTC balances interact poorly with 18-decimal pool math once the reserve is dust. 3. No dust floor on joins: swaps may empty a reserve; joins still accept `tokenAmountIn == 1`. Together: compress WBTC → mint huge underpriced BPT for 1 sat → skim / dump / exit the other legs.","rootCause",1],["2026-08-BaseUnverifiedArbitraryCall_a317","Base Unverified Arbitrary CALL — Allowance Drain via 0x42be3129","incident","Crypto Training","2026-08","Base",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call","vuln/logic/missing-validation"],["access-control","dependency","logic"],"Missing access control / unrestricted low-level CALL (selector 0x42be3129) abusing existing ERC-20 allowance",null,null,"~16.623 WETH","Missing auth on a helper that can perform arbitrary external calls. No target / selector / calldata allowlist. Combined with ERC-20 allowance previously granted to the helper, this is equivalent to “anyone can spend the victim’s allowance.”","rootCause",1],["2026-08-CashCowCoin","CashCowCoin (CCC) — sell() burns LP inventory then sync(), draining the CCC/WBNB pair","incident","Crypto Training","2026-08","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/logic/missing-check","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["logic","oracle","governance"],"Public `sell()` swaps CCC into the Pancake pair, then burns those CCC out of the LP and `sync()`s — reserves keep a collapsed CCC balance while WBNB has already left",null,null,"~$117K","`sell()` treats the Pancake pair as a burn sink, not as an AMM inventory. After the swap has already delivered WBNB, the sold CCC is removed from the pair and `sync()` publishes the new (CCC-poor, WBNB-poor) reserves. The constant-product invariant is reset against a stolen CCC balance. That is an incorrect state transition: a sell should increase the pair’s CCC reserve (or at least leave it), not decrease it. [continues]","rootCause",1],["2026-08-EnjinCryptoItems","Enjin \"Crypto Items\" — unprotected registry initialize() → manager takeover → delegatecall-body injection drains the ERC-1155 item reserve","incident","DeFiHackLabs","2026-08","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/uninitialized-proxy","vuln/access-control/admin-takeover","vuln/logic/arbitrary-external-call"],["access-control","logic"],"Missing access control on a re-callable initializer. `initialize(uint256)` has no auth and no already-initialized guard, so any address can grab the registry's pending-manager slot, `acceptManager()` to full manager, and then `updateContract` arbitrary code as the body every adapter clone delegatecalls into. Not a private-key / signer compromise — the trace proves takeover via the open initializer.",null,null,"5,231,353 ENJ","1. `initialize(uint256)` on both registries has no access control and no initialized guard. Any address can call it and be written into the pending-manager slot. This is the single root cause; everything else is reachable from it. 2. Manager bootstrap is a one-call grab. `initialize` → `acceptManager()` is enough to move the `manager` slot from the legitimate manager `0x1952e45D` to the attacker. The two-step was meant to protect manager transfer, but its first leg is the open initializer. [continues]","rootCause",1],["2026-08-FalconHeavy","Falcon Heavy (FH) — Sell Path Burns FH From the Pancake Pair","incident","Crypto Training","2026-08","BNB Chain",["vuln/defi/fee-manipulation","vuln/logic/incorrect-state-transition","vuln/defi/pair-reserve-desync"],["defi","logic"],"Deflationary sell tax burns 80% of netAmount from the Pancake pair (and sends 20% from the pair to treasury), then `sync()`s — desyncing LP reserves so a flash-loan buy–sell loop drains USDT",null,null,"~19,999 USDT","1. FH is a fee-on-transfer / “deflationary” BSC token paired with USDT on PancakeSwap V2. 2. On a sell (`to == pair`), after taking a dynamic sell fee from the seller, the token burns 80% of `netAmount` from the pair’s balance and transfers 20% from the pair to the treasury, then calls `pair.sync()`. 3. Those pair-side burns are not the seller’s tokens — they deplete LP inventory and lock a lower FH reserve via `sync()` *before* the seller’s net FH is credited. [continues]","tldr",1],["2026-08-FlashstakeV2","Flashstake V2 — Unit-based instant rewards dump into a mispriced FLASH/WETH pool","incident","Crypto Training","2026-08","Ethereum",["vuln/logic/reward-calculation","vuln/oracle/missing-validation","vuln/logic/missing-check"],["logic","oracle"],"Economic design / mispriced reward: `FlashProtocol.stake()` mints FLASH from quantity × duration × FPY with no market valuation; `FlashApp.receiveFlash()` immediately sells those units into a WETH pool with no vesting, cooldown, or payout cap",null,null,"0.545290142368948672 WETH drained from the FLASH/WETH reward pool","The protocol prices time-locked FLASH units as if they were a claim on WETH in a live AMM. Those are different assets: Mint formula: `units × seconds × FPY` — independent of the external FLASH market. Payout: constant-product sale into a WETH reserve — fully liquid in the same transaction. Once FLASH can be bought cheaper on DODO / Uni V2 / AMP than the implied pool price, `stake(FlashApp, WETH)` is an atomic arb: cheap FLASH in, real WETH out. [continues]","rootCause",1],["2026-08-FloatProtocol","Float Protocol Hypervisor — Uniswap V3 spot-priced deposit/withdraw sandwich","incident","DeFiHackLabs","2026-08","Ethereum",["vuln/defi/sandwich-attack","vuln/oracle/spot-price","vuln/oracle/missing-circuit-breaker"],["defi","oracle"],"LP shares minted off live Uni V3 `slot0`; `withdraw` redeems a pro-rata slice of real tokens. Same-tx tick move turns deposit→withdraw into a drain.",null,null,"10.706591043820923462 ETH","Mint is spot-priced; redeem is inventory-priced. An unprivileged caller with a flash loan: Pushes `slot0` so `getTotalAmounts()` over-states one side. Deposits at that valuation (cheap shares). Pushes `slot0` back. Withdraws a mix whose WETH leg exceeds what was deposited. Two vaults on one pool double the surface: the same two swaps reprice A and B.","rootCause",1],["2026-08-FoxMarket","Fox Market — LP-bond mint priced from a manipulable FOX/USDT spot","incident","DeFiHackLabs","2026-08","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/logic/price-calculation","vuln/governance/flash-loan-attack"],["oracle","logic","governance"],"Spot-priced LP-bond mint: `stake()` sizes FOX as `usdt / getAmountsOut(1 FOX)` against the live Pancake FOX/USDT pair, then swaps half the USDT into that same pair; `Treasury.lpBonds` mints a liquid 3% inviter reward against the stale amount, which is sold back into the inflated pool",null,null,"~$118.7K","The LP-bond treats a manipulable spot AMM as both a price oracle and the execution venue, in that order, inside one function: 1. Read `getAmountsOut(1 FOX)` → decide how many FOX the deposit is \"worth\". 2. Trade half the deposit through the same pool → the reserves that produced (1) no longer exist. 3. Mint the pre-trade FOX amount (plus 3% liquid inviter FOX) as if the deposit had converted at the *old* price. 4. Leave the newly minted inviter FOX free to sell into the *new* (USDT-heavy, FOX-starved) curve. [continues]","rootCause",1],["2026-08-LpdFi","LpdFi — Spot-Oracle Price Manipulation Drains Protocol LP via claimInterest","incident","Crypto Training","2026-08","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/oracle/single-source","vuln/logic/price-calculation"],["oracle","logic"],"Spot-price oracle manipulation: `buy()` sizes the LPD deposit as `uAmount / Lpd.price()` from live Pancake reserves; one issue later `claimInterest` pays `0.5% * uAmount` by burning protocol LP",null,null,"~693,529.79 USDC","1. Single-source spot oracle for a critical accounting input (`buy` deposit size). 2. Notional (`uAmount`) is trusted forever for interest, even though the LPD deposited can be arbitrarily reduced by a temporary price spike. 3. Interest is paid by burning shared LP, so one underfunded whale order can liquidate the entire LP treasury in a single `claimInterest`. [continues]","rootCause",1],["2026-08-MOKE","MOKE LP Dividend Drain — Stale userLPRecord Double-Claim via Unsynced LP Transfers","incident","Crypto Training","2026-08","BNB Chain",["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition","vuln/logic/missing-check","vuln/governance/flash-loan-attack"],["logic","governance"],"LP-dividend tracker credits claims from stale `userLPRecord` after LP is transferred without re-sync — same LP share is claimed many times",null,null,"~$907.7K","Missing LP-transfer hooks + debt accrual on stale records. Eligibility is stored in `userLPRecord` / `userDividendDebt` but is never updated when Pancake LP tokens move. An attacker can: 1. Hold LP amount `R`, with `totalDividendPerLP = 0` so `debt = 0` after sync. 2. Transfer `R` to clone B, `syncUserLP(B)`, transfer back — repeat for many clones. 3. Trigger (or wait for) a large `distributeDividend`. 4. Have every clone claim `R / totalSupply` of the pot. [continues]","rootCause",1],["2026-08-MoonwellMamoOracleManipulation","Moonwell MAMO Thin-Market Oracle Manipulation — Borrow Real Assets Against Inflated Collateral","incident","Crypto Training","2026-08","Base",["vuln/oracle/spot-price","vuln/oracle/thin-liquidity","vuln/oracle/missing-validation"],["oracle"],"Thin-market collateral + manipulable oracle price → over-borrow",null,"Moonwell (`@MoonwellDeFi`)","~$8.7M–$10M","The on-chain flaw is in `ChainlinkOracle.getChainlinkPrice`: it consumes the MAMO/USD feed answer with no deviation, TWAP, or thin-liquidity bound — only `answer > 0` and `updatedAt != 0`: The MAMO/USD feed (OEV wrapper `0xDBD37C27…`) tracks a thin, manipulable MAMO market. An ~8× pump ($0.0105 → $0.088, feed answer `8807216`) therefore flows straight through `getUnderlyingPrice(mMAMO)` = `0.088072160000000000` (1e18) into the Comptroller's collateral valuation. [continues]","rootCause",1],["2026-08-MoreMarkets","More Markets (Flow EVM) — Ankr bonded LST + 97% E-mode drains the WFLOW reserve","incident","Crypto Training","2026-08",null,["vuln/oracle/wrong-feed","vuln/oracle/missing-validation","vuln/logic/price-calculation"],["oracle","logic"],"Aave v3 MOST Mode (E-mode cat 1, 97% LTV) + Ankr bonded LST wrap against a FLOW-correlated oracle — attacker supplies `ANKRFLOW` and empties the WFLOW reserve",null,null,"15,488,124.145 WFLOW emptied from `mFlowWFLOW`","Three config/oracle choices stacked: 1. MOST Mode 97% LTV treats ANKRFLOW as highly correlated with WFLOW (Aave's e-mode assumption: LST ≈ underlying). 2. Oracle is a single ratio×FLOW feed (`latestAnswer() > 0` only). It does not cap ANKRFLOW vs WFLOW, does not read Ankr unstake liquidity, and does not look at UniV3. 3. ANKRFLOW was borrowable-against at that LTV while the WFLOW reserve was 15.5M. [continues]","rootCause",1],["2026-08-NexAicFotSkim","NEX/AIC FoT Skim — Router Double-Transfer + Sell Fee Lets skim() Empty the Pair","incident","Crypto Training","2026-08","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/defi/fee-manipulation","vuln/logic/missing-check"],["logic","defi"],"Missing `return` after the router fee-exemption branch in `_transfer` causes a double ERC20 transfer whenever `from`/`to` is the Pancake router; combined with a 6% AMM sell fee, `skim(router)` drains 2× excess NEX from the pair so `sync()` freezes a ~1-wei NEX reserve and leftover NEX buys nearly all AIC",null,null,"~32.36 BNB","Two interacting defects: 1. Double-transfer on router path — control-flow fall-through after the fee-exemption branch. Any `token.transfer(router, x)` (including the internal transfer performed by UniswapV2 `skim(router)`) attempts to move `2x` out of the sender. 2. Composable with pair accounting — UniswapV2 `skim(to)` sends `balance − reserve` of each token to `to` without updating reserves. [continues]","rootCause",1],["2026-08-PantherBase","Panther Protocol (Base): unopposed self-answered governance proposal captures the Safe","incident","DeFiHackLabs","2026-08","Base",[],["untagged"],null,null,null,"~5.12M ZKP moved","The Zodiac Reality.eth governance module allows a fully permissionless path with no safeguard against an unopposed self-answered proposal: anyone can (1) submit a governance proposal, (2) bond a yes answer to their OWN proposal, and (3) execute it once finalized. No competing no bond is required inside the challenge window, so an unopposed self-answer finalizes after the 12h timeout and executes - capturing the fund-holding Safe's authority to move ~5.12M ZKP to the attacker. [continues]","rootCause",1],["2026-08-ReflexerGEB","Reflexer GEB — unauthenticated GebProxyActions.quitSystem drains library-owned SAFEs","incident","DeFiHackLabs","2026-08","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-owner-check","vuln/logic/missing-check"],["access-control","logic"],"Stateless proxy-actions library is the registered `ownsSAFE` owner; its public `quitSystem` is callable directly, so `msg.sender == library` passes `safeAllowed`",null,null,"5.943599831844387377 ETH","GebProxyActions is a shared, stateless \"proxy actions\" library. It is meant to be DELEGATECALLed through each user's DSProxy so that, from `GebSafeManager`'s point of view, `msg.sender` is the per-user proxy that owns the SAFE. Several ETH-A SAFEs (ids 3, 5, 8, 18) were instead registered with `ownsSAFE[safe] ==` the library's own address `0x84FE…`. `GebProxyActions.quitSystem(manager, safe, dst)` is a plain public function with no authentication. [continues]","tldr",1],["2026-08-StrongBlockGovernanceTakeover","StrongBlock Governance Takeover — Abandoned Governor → Malicious Upgrade → Pool Drain","incident","Crypto Training","2026-08","Ethereum",["vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition"],["access-control","logic"],"Abandoned on-chain Governor + cheap majority of near-worthless STRONG vote token → admin seizure → malicious proxy upgrade → arbitrary calls / pool drain",null,"StrongBlock (`@Strongblock_io`)","~$72K — 32,695.76 STRONG + 383,447.17 STRNGR","1. StrongBlock left an on-chain Governor with live upgrade authority, while the STRONG vote token was economically worthless — so majority voting power was cheap. 2. Attacker used governance to call `setPendingAdmin` on the Governor’s Upgrader, then claimed admin of the Governor proxy. 3. They upgraded the proxy to a minimal implementation exposing `forward(address,bytes)` hard-gated to the attacker EOA (arbitrary-call backdoor under Governor authority). [continues]","tldr",1],["2026-08-TectonicTonicOracleManipulation","Tectonic TONIC Thin-Oracle Collateral Manipulation — Over-Borrow Against Inflated Spot Mark","incident","Crypto Training","2026-08","Cronos",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/oracle/missing-validation","vuln/oracle/single-source"],["oracle"],"Thin-liq TONIC as Compound-fork collateral (CF 20%) priced by manipulable VVS-sourced internal oracle → over-borrow",null,"Tectonic (`@TectonicFi`) — Compound-fork money market","~$75M (PeckShield ~$74M","1. Listing risk: Illiquid TONIC accepted as collateral (CF 20%) despite thin VVS liquidity (reports: ~$1.3M liquidity / ~$11k daily volume). 2. Oracle risk: Internal TONIC/USD path tracks VVS spot (+ CEX) without an effective on-chain bound that would reject a ~100× move before borrows clear. 3. Compound-fork amplification: Once the mark is wrong, `getAccountLiquidity` trusts it; there is no separate “realizable liquidity” check on collateral. [continues]","rootCause",1],["2026-08-TermFinanceGovernanceTakeover","Term Finance Governance Takeover — Thin gtmvETH Majority → Zero Delay Cooldown → Yearn Vault Drain","incident","Crypto Training","2026-08","Ethereum",["vuln/governance/proposal-manipulation","vuln/governance/timelock-bypass","vuln/access-control/centralization"],["governance","access-control"],"Cheap majority of thinly held gtmvETH (wrapped vault shares, ~0.535 supply) → pass a malicious Aragon proposal that zeros Zodiac Delay `txCooldown` (was 608,400 s ≈ 7 days) → enable attacker module → `update_debt` Yearn/Morpho/Aave positions into a hardcoded-recipient exit strategy",null,null,"~$8.5M","1. Cheap majority. Vote power is gtmvETH, an optional wrap of tmvETH vault shares. Almost nobody wrapped (`totalSupply ≈ 0.535`), so ~0.5 ETH of shares bought ~90% of the DAO. Same class as Beanstalk (2022) and the StrongBlock takeover in this registry. 2. Governance can disable its own timelock. Delay's only safety property is `txCooldown`. That value is owner-settable, and the owner is the same Safe/DAO the Delay is meant to slow down. A single passed proposal can `setTxCooldown(0)` and then drain. [continues]","rootCause",1],["2026-08-SandboxOFT","The Sandbox SAND OFT — approveAndCall hijacks LayerZero delegate and mints unbacked SAND","incident","DeFiHackLabs","2026-08","Base",["vuln/access-control/missing-auth","vuln/bridge/message-spoofing","vuln/input-validation/missing"],["access-control","bridge","input-validation"],"ERC677-style `approveAndCall` is an arbitrary CALL-as-token primitive; first-param==caller guard does not constrain target or selector",null,null,"This tx mints 10,000,000 unbacked SAND","1. Unrestricted `target`/`selector` on a helper that executes as the token. 2. OApp identity = token identity, so a CALL-as-token is a CALL-as-OApp. 3. Same address on two chains makes a forged Ethereum→Base packet pass the peer check (`sender == address(this)`). 4. `_credit` trusts the packet once the Endpoint delivers it.","rootCause",1],["2026-08-UnknownHack","The Sandbox SAND OFT (Base) — LayerZero Delegate Hijack via approveAndCall","incident","Crypto Training","2026-08","Base",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call","vuln/bridge/message-spoofing","vuln/logic/missing-validation"],["access-control","dependency","bridge","logic"],"Missing auth on an ERC677-style arbitrary call lets anyone invoke `Endpoint.setDelegate` *as the OFT*, then forge `lzReceive` and `_mint`",null,null,"10,000,000 SAND minted unbacked in this tx","Two independently \"reasonable\" designs compose into an auth bypass: 1. Token-side: `approveAndCall` is a generic `CALL` as the token, guarded only by \"first ABI word == caller\". That guard is the wrong property for a contract that is also a privileged LayerZero OApp. 2. Bridge-side: Endpoint `setDelegate` trusts `msg.sender` as the OApp. That is correct *if* the only code that can run as the OApp is the OApp itself (or its owner-gated wrapper). An arbitrary-call helper breaks that assumption. [continues]","rootCause",1],["2026-08-UnistreetsLaunchpadFactory","Unistreets LaunchpadFactoryAuto — Arbitrary Calldata Injection → V4 LP Burn (2-tx, 2-victim confused deputy)","incident","Crypto Training","2026-08","Ethereum",["vuln/access-control/missing-auth","vuln/logic/arbitrary-call","vuln/logic/confused-deputy"],["access-control","logic"],"Caller-supplied `modifyCalldata` forwarded into `PositionManager.multicall()` with the factory as `msg.sender` while the factory is the ERC-721 owner of every launch's LP position (confused-deputy)",null,"Unistreets (`@unistreetsx`) — one-tx memecoin launchpad, `LaunchpadFactoryAuto`",null,"`contracts/LaunchpadFactoryAuto.sol`, function `launch()`: Three facts combine into a critical confused-deputy: 1. The factory holds the asset. `launch()` mints the concentrated-liquidity position to `address(this)` (L114–L121), so `LaunchpadFactoryAuto` is the ERC-721 owner of every launch's LP NFT. Positions from *all* prior legitimate launches sit on the same address. 2. The factory forwards untrusted bytes with its own authority. `calls[1]` is `modifyCalldata` verbatim from the caller. [continues]","rootCause",1],["2026-08-USM_FUM","USM / FUM (Minimalist USD) — Flash-loan fund/defund extracts ETH buffer via inflated mid-price","incident","Crypto Training","2026-08","Ethereum",["vuln/logic/price-calculation","vuln/arithmetic/rounding","vuln/governance/flash-loan-attack","vuln/oracle/price-manipulation"],["logic","arithmetic","governance","oracle"],"Flash-loaned `fund()` inflates stored ETH/USD mid + bid-ask; `defund()` sells FUM against that inflated buffer price and returns more ETH than was deposited",null,null,"~70.83 ETH","The protocol couples trade-size sliding fees to the mid ETH/USD used for buffer accounting. A flash-loaned `fund()` is allowed to: 1. Temporarily dominate the pool. 2. Push `ethUsdPrice` and `bidAskAdjustment` orders of magnitude above the oracle. 3. Leave that inflated mid in storage for subsequent same-tx `defund()`s. Defund then values FUM as if the buffer were much larger (because USM is “cheaper” in ETH at the inflated mid), paying out real ETH. [continues]","rootCause",1],["2026-08-ZKPantherGovernanceUpgrade","ZKPanther (Base) — Reality.eth governance module → proxy upgrades → ZKP drain","incident","Crypto Training","2026-08","Base",["vuln/governance/proposal-manipulation","vuln/access-control/centralization","vuln/dependency/upgradeable-contract"],["governance","access-control","dependency"],"Optimistic Reality.eth DAO module: low bond (0.5 ETH) + 12h timeout + 8h cooldown, unchallenged “yes” → Safe executes malicious upgrades / drain; Base-specific disable-when-idle protections not enabled",null,"Panther Protocol / ZKPanther (`@ZKPanther`) — Base deployment","~5.12M ZKP","1. Optimistic governance without active defense. Reality modules are designed for *disputable* proposals. With 0.5 ETH bond and a ~20h finalize path, an unmonitored deployment is free real estate for a malicious multi-call proposal. 2. Missing Base “idle disable” protections. Team post-mortem (Discord via DefimonAlerts image): protections that should disable the Reality module when there is no active governance proposal were not turned on for the Base deployment. 3. Privilege concentration. [continues]","rootCause",1],["2026-07-CompoundProvider","BarnBridge SMART Yield — Governance Capture of an Abandoned DAO → Controller Swap → Approval Drain","incident","DeFiHackLabs","2026-07","Ethereum",["vuln/governance/quorum-manipulation","vuln/governance/vote-weight-vs-quorum-asymmetry","vuln/access-control/live-admin-power-on-dormant-protocol","vuln/logic/leftover-approvals"],["governance","access-control","logic"],null,null,null,"776,575.547933 USDC","",null,1],["2026-07-BonzoLend","Bonzo Lend / Supra Oracle — BLS Zero-Signature Price Forgery","incident","Crypto Training","2026-07",null,["vuln/auth/signature-validation","vuln/oracle/missing-validation","vuln/oracle/price-manipulation","vuln/input-validation/missing-validation"],["auth","oracle","input-validation"],"BLS / pairing input validation missing — identity signature + identity committee key accepted as a valid committee signature",null,null,"~$9.05M Wallet A principal","| Layer | What went wrong | | Crypto API misuse | Pairing precompile answers “does this product equal 1?” — not “was this signed by the committee?” Identity inputs make the product 1. | | Missing input validation | No rejection of zero/identity G1 signature, zero/identity G2 pubkey, or off-subgroup points before treating `checkSuccess` as authentication. | | Committee key state | Committee ID 2’s on-chain public key was the G2 identity at the time of the attack (Bonzo report), so the zero-signature path had a zero …","rootCause",1],["2026-07-CrowdRingCircle","CrowdRingCircle Exploit — Premature sync() Turns a Sell-Tax Burn into a Free Reserve Drain","incident","DeFiHackLabs","2026-07","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/oracle/spot-price","vuln/defi/price-manipulation","vuln/logic/wrong-order"],["logic","oracle","defi"],"`_update()`'s \"sell destroy\" tax path burns tokens directly out of the pair's own balance and calls `sync()` before the sold principal is credited to the pair — this window lets the attacker follow up with a single low-level `pair.swap()` that drains almost the entire other-side reserve, because the AMM's cached `reserve1` is momentarily near-zero while its real balance is not",null,null,"201,359.443861203526776802 USDT","1. The reserve-destroy step burns from the pair's *existing* balance, not from the amount in flight. `_safeDeductBalance(to, amount)` returns `min(amount, balanceOf(pair))`. Once a single sell's post-fee `amount` is large enough (or the pair's CRC reserve small enough), `burnAmount` equals essentially the entire current CRC reserve of the pair — wiping it to dust in one call. 2. `sync()` is called before the transfer's own principal lands. [continues]","rootCause",1],["2026-07-DripsDaiHub","Drips Network DaiDripsHub give() — uint128 → int128 cast flips fund flow","incident","Crypto Training","2026-07","Ethereum",["vuln/arithmetic/overflow","vuln/input-validation/boundary","vuln/logic/missing-validation"],["arithmetic","input-validation","logic"],"`uint128 amt` cast to `int128` without `amt ≤ type(int128).max`; large `amt` wraps negative so `-int128(amt)` becomes a positive signed transfer → reserve pays the caller",null,null,"24,882.995421947667857715 DAI","Two coupled mistakes: 1. Missing range validation on a value that crosses a signed/unsigned type boundary (`uint128` → `int128`). Safe max is `2^127 − 1`; the parameter allows up to `2^128 − 1`. 2. Sign-overloaded transfer API: a single `int128` both *moves* funds and *selects direction*. Any wrap that flips the sign silently reverses economic intent with no secondary auth (no allowance needed on the withdraw path — `DaiReserve.withdraw` trusts the hub). Exact on-chain cast (reserve `R = 24882995421947667857715`): [continues]","rootCause",1],["2026-07-edel-xstock","Edel xStock — ERC4626 convertToAssets Donation Inflates Collateral and Drains Reserves","incident","DeFiHackLabs","2026-07","Ethereum",["vuln/defi/donation-attack","vuln/oracle/price-manipulation","vuln/defi/flash-loan-attack"],["defi","oracle"],"Collateral oracle trusts mutable ERC4626 exchange rate; direct GOOGLx donation into the wrapper inflates `convertToAssets()` and thus borrow power in the same transaction",null,null,"204,215.57 USDC + multi-asset xStock wrappers","No virtual-offset / totalAssets accounting separation, no max rate change per block, no TWAP on the wrapper rate.","rootCause",1],["2026-07-Hinkal","Hinkal Shielded Pool — Legacy Note Multi-Nullifier Double-Spend","incident","Crypto Training","2026-07","Ethereum",["vuln/logic/missing-check","vuln/logic/incorrect-state-transition","vuln/auth/signature-validation","vuln/input-validation/missing-validation"],["logic","auth","input-validation"],"Legacy note format fails to bind commitment ↔ unique nullifier; on-chain layer only enforces nullifier *set* membership, not leaf exclusivity",null,null,"~$800K–$822K USDC","### Where the bug lives; | Layer | Status | | On-chain nullifier set | Works as designed (no reuse of *same* nullifier) | | On-chain proof verify | Accepts proofs the verifier circuit allows | | On-chain `prooflessDeposit` format gate | Missing — legacy notes enter the tree | | Circuit nullifier binding (legacy) | Likely defective (closed-source; inferred from client + on-chain multi-spend) |; Inferred legacy construction (BlockSec / de-obfuscated client): [continues]","rootCause",1],["2026-07-IndexCoopExchangeIssuanceTOCTOU","Index Coop ExchangeIssuance TOCTOU — Unlocked SetToken Units + Malicious Manager Hook Drain Residual Inventory","incident","Crypto Training","2026-07","Ethereum",["vuln/logic/incorrect-state-transition","vuln/logic/missing-validation","vuln/dependency/unsafe-external-call","vuln/reentrancy/cross-contract"],["logic","dependency","reentrancy"],"TOCTOU / untrusted SetToken state: quote uses live `getDefaultPositionRealUnit` without locking; manager pre-issue hook inflates `positionMultiplier` before `transferFrom`",null,null,"~\\$9.6K USD","Time-of-check / time-of-use on mutable external SetToken state. | Phase | What is read | When | | Check (quote) | `getDefaultPositionRealUnit` (low, after seed) | Before swaps in `_issueSetForExactWETH` | | Use (pull) | Same units after manager hook mutates `positionMultiplier` | Inside `BIM.issue` after `_callPreIssueHooks` |; The manager is trusted by Set Protocol design for its own SetToken, but `ExchangeIssuance` incorrectly treats arbitrary SetTokens as if their state were immutable for the duration of issue. [continues]","rootCause",1],["2026-07-LienFinance","Lien Finance: crafted bond payoff over-valued by the pricer","incident","DeFiHackLabs","2026-07","Ethereum",[],["untagged"],null,null,null,"~542,144 USDC","BondMakerCollateralizedEth.registerNewBond is permissionless: anyone can register a bond whose payoff (fnMap) they fully control, with ~no real collateral. GeneralizedDotc then prices the bond via bondPricer.calcPriceAndLeverage(payoff, oraclePrice,...) - reading Chainlink at its TRUE value (no oracle is moved) - and massively over-values the crafted, near-worthless bond. [continues]","rootCause",1],["2026-07-LULA","LULA: pre-accumulated reward redeemed against a manipulable pool","incident","DeFiHackLabs","2026-07","BNB Chain",[],["untagged"],null,null,null,"~578,295 USDT","LULA's reward payout redeems a pre-accumulated referral/team reward credit by SELLING the credited LULA into the LULA/USDT pair for USDT at the live spot, with no cap and no TWAP. Weeks earlier the attacker accumulated a large reward credit for free; redeeming it against the pool pays out far more USDT than was ever deposited, draining the pair (~578,295 USDT). In the live tx the attacker also flash-loaned USDT to sweep LULA out of the pair first, maximising the pool deflation and the payout. [continues]","rootCause",1],["2026-07-LumiFinance","Lumi Finance (Sodium ERC-4337 account) — Signature-Bypass Drain","incident","DeFiHackLabs","2026-07","Arbitrum",["vuln/auth/signature-validation","vuln/access-control/broken-logic","vuln/input-validation/missing"],["auth","access-control","input-validation"],"ERC-4337 v0.6 `_validateSignature` reads a 20-byte `signer` straight from the attacker-controlled signature blob and passes it to `SignatureChecker.isValidSignatureNow`; ECDSA recovery fails soft, so validation falls back to an ERC-1271 `staticcall` into the attacker's own contract (which returns magic value `0x1626ba7e`). The UserOp is never bound to the account owner, so the attacker validates arbitrary UserOps against every Sodium account",null,null,"Multi-asset drain across ~50 Sodium smart accounts","Sodium is an ERC-4337 v0.6 smart account. Its `_validateSignature` calls `checkValidSodiumSignature(hash, sig)`. For signature type `0x01` the account reads a 20-byte `signer` directly from the attacker-supplied signature blob (`{0x01}{signer}{signatureBytes}`) and passes it to OpenZeppelin: Because `signer` is attacker-controlled and is not the real owner: 1. `ECDSA.tryRecover(hash, signatureBytes)` returns `(address(0)/wrong, RecoverError)` without reverting. [continues]","rootCause",1],["2026-07-NFTAuctionMarketplace","NFT Auction Marketplace Exploit — Settle-Then-Cancel Double Payout Drains the Escrow Pool","incident","DeFiHackLabs","2026-07","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/logic/missing-check","vuln/logic/state-update"],["logic"],"A completed sale (`buyNow`/`completeAuction`) never marks the listing as settled, so the *same listing* can immediately be `delist`-ed by whoever now owns the NFT (the buyer). `delist` unconditionally refunds the full original listing price out of the marketplace's pooled BNB balance — a second, unearned payout on top of the sale proceeds already paid to the seller",null,null,"2.217610999999999999 BNB","1. `completeAuction` treats \"sale paid\" and \"listing cancellable\" as independent states. A completed sale should be terminal: the NFT has moved, proceeds have been paid, there is nothing left to escrow. Instead the `Sale` record survives with its price/deadline/NFT fields intact — only a buyer pointer changes — so it still *looks*, to `delist`, like a listing with BNB sitting in escrow waiting to be refunded. [continues]","rootCause",1],["2026-07-PerpetualProtocol","Perpetual Protocol (Curie) Exploit — Missing Access Control on OrderBook.updateFundingGrowthAndLiquidityCoefficientInFundingPayment()","incident","DeFiHackLabs","2026-07","Base",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier","vuln/logic/incorrect-state-transition"],["access-control","logic"],"`OrderBook.updateFundingGrowthAndLiquidityCoefficientInFundingPayment()` is missing the caller check every other privileged `OrderBook` function has, so anyone can call it directly with a fabricated, physically-impossible `twPremiumX96` and permanently poison a maker order's cached funding-growth checkpoint — inflating the account's realized PnL enough to drain the vault on withdrawal",null,null,"3,062.213107 USDC.e","1. The intended caller-restriction (`_requireOnlyExchange()`) was dropped from `updateFundingGrowthAndLiquidityCoefficientInFundingPayment()` in both deployed `OrderBook` implementations, while every sibling privileged function (`addLiquidity`/`removeLiquidity`/`removeLiquidityByIds`/`updateOrderDebt` → `_requireOnlyClearingHouse()`; `replaySwap` → inline `_exchange` check) retains its guard. The function became callable by anyone, with fully attacker-controlled funding-growth values. [continues]","rootCause",1],["2026-07-ProToken","Pro Token: transfer-hook reward-swap self-dealing drains the pair","incident","DeFiHackLabs","2026-07","BNB Chain",[],["untagged"],null,null,null,"~605K USDT","The Pro token's transfer logic auto-processes a reward on transfers involving a registered player: it swaps Pro into USDT through the USDT/Pro pair and forwards that USDT straight to an attacker-controlled winner address. By looping a dust Pro transfer out of an attacker player clone, the helper repeatedly triggers the reward swap, each pass shipping USDT out of the pair to the attacker until the pair's USDT reserve is drained (~605K USDT per tx; ~$8.2M cumulative over ~13 txs). [continues]","rootCause",1],["2026-07-ProjektRewardVault","Projekt Reward Vault: fake-purchase allocation from an unverified balance delta","incident","DeFiHackLabs","2026-07","Ethereum",[],["untagged"],null,null,null,"~301.7 ETH","The reward vault exposes a permissionless trackPurchase(buyer) that credits an ETH allocation sized from the buyer's memecoin token-balance DELTA, but never checks that any real ETH was spent to acquire those tokens. The attacker manufactures a large balance delta for free (flash-borrow WETH, push it through Uniswap V2 memecoin pairs and skim the tokens back), calls trackPurchase to register the inflated allocation, then massWithdraw() pays it out - draining 301.70468 ETH from the vault's reward pool.","rootCause",1],["2026-07-RWT","RWT Token Exploit — Owner-Gated burn() Lets a Role-Holder Delete an AMM Pair's Own Reserve","incident","DeFiHackLabs","2026-07","BNB Chain",["vuln/oracle/price-manipulation","vuln/access-control/broken-logic","vuln/logic/incorrect-state-transition"],["oracle","access-control","logic"],"A \"deflationary\" token exposes `burn(address _From, uint256 _amount)` gated by a broad, admin-managed `role` mapping (not a bounded, automatic mechanism). Whoever holds that role can incinerate tokens directly out of any address's balance — including the AMM pair's own reserve — with no consent, no allowance, and no trade. Following the burn with the pair's permissionless `sync()` instantly bakes the deleted balance into the pool's cached reserves, repricing RWT upward with no swap ever occurring, so a subsequent real (and tiny) sell of RWT redeems for wildly outsized USDT.",null,null,"~118,069.28 USDT extracted in this reproduction","1. Overbroad admin surface disguised as `onlyOwner`. The `role` mapping lets the owner delegate full mint/burn power to any contract, and the delegate's power is exactly as strong as the deployer's — nothing scopes it to a bounded \"burn my own tokens\" or \"burn up to X per period\" use case. 2. `burn()` has no consent model. `_burn(_From, _amount)` acts on `_From`'s raw balance regardless of who `_From` is. An AMM pair never approved, expects, or can defend against being the burn target. [continues]","rootCause",1],["2026-07-Sodium","Sodium Smart Wallet Exploit — ERC-4337 Session-Key Validation Bypass / EntryPoint Gas-Deposit Griefing","incident","DeFiHackLabs","2026-07","Arbitrum",["vuln/access-control/missing-auth","vuln/auth/signature-validation","vuln/access-control/broken-logic"],["access-control","auth"],"ERC-4337 smart wallet whose `executeWithSodiumAuthSession` validation path accepts an attacker-chosen session key/signer pair and skips the real authorization proof (which is only checked later, in *execution*, not *validation*) — letting anyone submit fake, self-bundled userOps for wallets they don't own and collect an inflated gas refund from EntryPoint even though the \"transaction\" never does anything",null,null,"~11.76 ETH","1. Arbitrary, self-issued \"signer\" via EIP-1271. `checkValidSodiumSignature`'s `sigType == 0x01` branch lets the caller name any address as `signer` and validates it through `SignatureChecker.isValidSignatureNow`, which accepts EIP-1271 contracts. An attacker-deployed contract that always returns the magic value makes this check meaningless — it proves nothing about who actually authorized the operation. 2. `sessionKey == signer` is a tautology when both are attacker-controlled. [continues]","rootCause",1],["2026-07-SummerFi","Summer.fi FleetCommander — NAV Inflation via Empty-Ark Donation of Undervalued vgUSDC","incident","DeFiHackLabs","2026-07","Ethereum",["vuln/defi/donation-attack","vuln/oracle/price-manipulation","vuln/defi/flash-loan-attack"],["defi","oracle"],"Fleet NAV = live sum of ark `totalAssets()` with no manipulation guard; donating cheap vgUSDC into an empty ark inflates share price for a dominant depositor who then redeems against other LPs",null,null,"~5.60M DAI reproduced on FleetA","Compounded by vgUSDC treating depegged xUSD as full-value collateral (oracle/asset-quality failure in the Silo vault).","rootCause",1],["2026-07-UnprotectedArbBot","UnprotectedArbBot: ungated forwarder drains a pre-granted allowance","incident","DeFiHackLabs","2026-07","Base",[],["untagged"],null,null,null,"~16.623 WETH","The bot's execute() forwards an attacker-supplied target+calldata via a low-level CALL with NO access-control check, then sweeps the named token's balance to msg.sender. A different entrypoint IS onlyOwner-gated, so the omission on execute() is the bug. The attacker makes the bot call WETH.transferFrom(owner, bot, 16.623 WETH) against an allowance the owner had pre-granted the bot, then the same call sweeps that WETH to the attacker - 16.623 WETH (~$31.7K) drained from the owner EOA.","rootCause",1],["66729-stbl-redemption-coreideposit-mints-lp-shares-11-instead-of-a","A 3,000 deposit into a 0.60 redemption pool mints par shares and moves 750 to the old LP","audit-finding","AuditVault","2026-06","Ethereum",["vuln/logic/price-calculation","vuln/logic/state-update"],["logic"],"Shares are minted 1:1 with `stableValueNet` after the pool value has fallen below `totalSupply`",null,null,"Charlie's 3,000 deposit is worth 2,250","`userData.stableValueNet` is a share count, because `iFetchShare` multiplies it by pool value and divides by supply. `iDeposit` treats it as an asset amount. After any redeem, pool value is below supply, so new shares are worth less than the assets just added. The difference is claimable by the shares already outstanding.","rootCause",1],["66732-pending-lp-yield-permanently-destroyed-in-stbl-redemption-co","A new STBL deposit burns the pool NFT and destroys 100 of pending LP yield","audit-finding","AuditVault","2026-06","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Deposit merges and burns the pool NFT before `iClaimYield`",null,null,"100 YLD stranded on a burned pool NFT","The pool's accounting only pays yield that has been copied into `rewardIndex`. Burning the NFT before that copy leaves the tokens in the distributor under an id nobody can claim.","rootCause",1],["2026-06-AIDC","AIDCToken sell-burn drains the AMM pair reserve — deflation logic burns tokens from the LP without a counterpart","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/oracle/price-manipulation","vuln/logic/state-update","vuln/defi/fee-manipulation"],["logic","oracle","defi"],"Sell-side fee token records a 30% \"burn\" against the pair balance, then `transfer`/burn ordering lets an attacker drain the AIDC reserve of the AMM pair while its WBNB reserve is untouched, then buy the WBNB back at an attacker-inflated price.",null,null,"~220.13 WBNB","1. Burn is booked against the pair, not the seller. `_sellTransfer` credits 30% of each sell amount to `accumulatedBurnAmount` while only moving the net into the pair. The pair therefore accrues a deductible liability far larger than the AIDC it actually received. 2. Settlement burns the pair's AIDC and re-syncs without a WBNB counterpart. `_executeAccumulatedBurn` calls `super._update(uniswapPair, deadWallet, actualBurn)` followed by `pair.sync()`. [continues]","rootCause",1],["2026-06-AISOTHPresale","AISOTH Presale Exploit — Same-Tx Buy+Claim of Below-Market Inventory, Dumped Into the Live AIS/USDT Pair","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/incorrect-state-transition","vuln/dos/init-constraint"],["oracle","logic","dos"],"Mispriced presale with same-transaction buy + claim, no vesting/lockup, selling AIS at a fixed `$0.035` while the live AIS/USDT pool priced it ~6.4× higher",null,null,"30,314.76 USDT profit to the attacker","The loss is the product of two design decisions that are individually defensible but catastrophic in combination: 1. A fixed presale price far below the live market price. The presale sold AIS at `$0.035` while the AIS/USDT pool valued it many times higher. A presale price that does not track (or stay below, by policy, *with a lockup*) the market price is a standing arbitrage: the protocol is selling a liquid asset for less than it is worth, on demand. [continues]","rootCause",1],["2026-06-AmbientCrocSwapDex","Ambient (CrocSwap) Exploit — Native-ETH Surplus Settlement Drained via a Self-Dealt Grid-Walk + Range Harvest","incident","DeFiHackLabs","2026-06","Ethereum",["vuln/logic/state-update","vuln/logic/incorrect-state-transition"],["logic"],"AMM settlement-accounting flaw — native-ETH flows settled against an attacker-controlled surplus collateral balance (`reserveFlags = BASE_RESERVE_FLAG`) with no `msg.value` enforcement, letting a self-dealt grid walk + range harvest convert pool value into withdrawable surplus",null,null,"~33.72 WETH + ~55,913.81 USDC extracted from Ambient's ETH/USDC pool in a single tx","The flaw is not signature theft or a permissionless burn; it is an accounting asymmetry in native-ETH surplus settlement that the attacker self-deals against their own pre-funded balance: 1. `reserveFlags` makes price-moving swaps free in ETH terms. Any swap or LP action can ask for its base leg to settle against `surplusCollateral_` rather than transferring tokens. [continues]","rootCause",1],["66733-lp-yield-permanently-orphaned-in-stbl-redemption-coreiwithdr","An STBL withdrawal splits the pool NFT and orphans 500 of LP yield","audit-finding","AuditVault","2026-06","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Withdraw splits the pool NFT before `iClaimYield`",null,null,"500 YLD orphaned on a burned pool NFT","Yield is keyed by NFT id. Burning that id without first calling `claim` leaves the tokens in the distributor under an id the pool no longer owns.","rootCause",1],["2026-06-ATM_LP_Burn","ATM LP-Burn Exploit — Misplaced LP Tokens Are Burn-Redeemable by Anyone via PancakeV2 burn()","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"LP-token misplacement + PancakeV2 `burn()` semantics — `burn()` redeems the pair's own LP balance for whoever calls it, so LP accidentally sent to the pair is a free-for-all",null,null,"1,603.99 WBNB redeemed out of the ATM/WBNB pair","Two facts compose: 1. User error: LP tokens were transferred to the pair contract itself. PancakeV2 LP is a standard ERC-20 with no guard against `to == pair`. The victim's withdrawal flow should have approved the router and called `removeLiquidity`; instead the LP landed in the pair as a dead, ownerless balance. The trace confirms the precondition exactly: `balanceOf[pair] = 400,498.34 LP` while `balanceOf[victim] = 0`. 2. PancakeV2 `burn()` redeems the pair's own LP balance for an arbitrary recipient. [continues]","rootCause",1],["2026-06-ATM","ATM Token Exploit — Per-Address Anti-Whale Guards Sidestepped by 30 Sybil \"Farmer\" Clones","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/logic/missing-check","vuln/defi/slippage"],["logic","defi"],"Broken anti-whale / anti-bot controls (per-sender state keying) + un-bounded `amountOutMin=0` self-dump — Sybil-evadable transfer-tax DeFi token",null,null,"~$243,543 USDT gross drained from the ATM/USDT PancakeSwap pair in the cash-out tx","The token's entire defensive surface is per-address and per-direction, never aggregate and never keyed off anything an attacker can't mint on demand: 1. `MAX_HOLDER` is enforced only on the recipient of a transfer. A whale can therefore *sell* an unlimited amount in a single transaction; it can also *hold* an unlimited amount in aggregate as long as each individual EOA stays under 100,000 ATM. Splitting 2.85M ATM across 30 fresh addresses (94,999 each) satisfies the cap while controlling the same economic position. [continues]","rootCause",1],["2026-06-ATOHook","ATOHook Solady ReentrancyGuard Storage Collision — Inflated getReward() Drain","incident","Crypto Training","2026-06","Ethereum",["vuln/access-control/proxy-storage-collision","vuln/logic/incorrect-state-transition","vuln/logic/reward-calculation","vuln/logic/missing-check"],["access-control","logic"],"Storage slot collision: `rewards[attackContract]` lands on Solady `ReentrancyGuard` fixed slot; `nonReentrant` entry sentinel is paid as claimable ETH",null,null,"14.411518807585587 ETH","1. `ATOHook` is a Uniswap v4 hook with a Synthetix-style native ETH reward stream. Accrued balances live in `mapping(address => uint256) public rewards` at base slot 17. 2. The contract also inherits Solady `ReentrancyGuard`, which stores its lock at a fixed namespaced slot `0x02215292eb9609279094554c6e223f800950648ddfa3da30329838d6c170928d` (not in sequential layout). 3. For the attacker-chosen address `0x2441E480F62bf609A08dA09143e4BAf8a817D757`,; so `rewards[attackContract]` is the guard. [continues]","tldr",1],["2026-06-AztecConnect","Aztec Connect (V3) Exploit — numRealTxs proof-vs-settlement coverage mismatch","incident","DeFiHackLabs","2026-06","Ethereum",["vuln/bridge/missing-validation","vuln/logic/incorrect-state-transition","vuln/access-control/missing-auth"],["bridge","logic","access-control"],"ZK-rollup settlement coverage mismatch — proof commitment hashes full inner-rollup chunks, settlement processes exactly `numRealTxs` txs; a deposit in a proven-but-unsettled slot is minted on L2 without its L1 backing check",null,null,"~$2.19M total drained from the dormant Aztec Connect privacy bridge","The bug is a coverage mismatch between two independent reads of the same untrusted field: | Concern | Quantity used | Formula | Value (attack) | | Proof commitment / minting (Decoder) | non-empty chunks | `ceil(numRealTxs / 32)` | 1 chunk = 32 slots minted | | L1 settlement (RollupProcessorV3) | slots | `numRealTxs` | 1 slot settled |; `numRealTxs` is a 4-byte field at `proofData[0x11c0]`, deliberately placed *after* the `0x00..0x11c0` header that feeds the SHA256 `publicInputsHash`. Consequently: [continues]","rootCause",1],["2026-06-AztecEscapeHatch_exp2","Aztec Escape-Hatch Exploit (variant 2) — Unconstrained Inner proof_id Witness","incident","DeFiHackLabs","2026-06","Ethereum",[],["untagged"],"Unconstrained ZK witness — the escape-hatch circuit publishes the inner `proof_id` via `public_witness_ct(&composer, 0)` which makes the value public but does not constrain it to 0; a prover can set `proof_id = 1` while still proving a join-split funded by a public input.",null,null,"educational reproduction","An unconstrained public witness for `proof_id` in the escape-hatch circuit: the prover can choose any `proof_id`, decoupling the \"fund output notes\" path from the \"settle deposits\" path.","rootCause",1],["2026-06-AztecEscapeHatch","Aztec V1 Escape-Hatch Exploit — Unbacked Withdrawals via Verifier-Trusted Rollup Proofs","incident","DeFiHackLabs","2026-06","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check","vuln/bridge/missing-validation"],["access-control","logic","bridge"],"Value-conservation violation — the on-chain settlement layer pays out a proof-encoded withdrawal to an arbitrary address with no on-chain check that the withdrawal is backed by a matching deposit; the entire value-conservation invariant is delegated to a ZK circuit the attacker was able to satisfy with crafted proofs.",null,null,"~$2.2M","A complete delegation of the value-conservation invariant to the proof system, with no on-chain backstop, exposed permissionlessly. Three design facts compose into the loss: 1. `escapeHatch` is permissionless. The normal `processRollup` path requires a registered provider and a provider signature; `escapeHatch` removes both gates and is open to anyone whenever the escape window is open (:347-356). So the attacker, holding accepted proofs, could submit them directly. [continues]","rootCause",1],["2026-06-BOSS","BOSS Exploit — Helper Mint/Burn Drains the Pair's BOSS Reserve, then a Degenerate-Reserve Swap Loop Empties the USDT Side","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Privileged fee-on-transfer-token helper that `_burn`s the AMM pair's reserve down to dust + `sync()`, collapsing the constant product, then drains the rich side with a hand-rolled `swap()` loop priced off the degenerate reserve",null,null,"~10,207.54 USDT","Three design facts compose into the loss: 1. A privileged helper can burn the pair's reserve and `sync()`. `userMint` and `userBurn` both call `BOSS.burn(pair, …)` + `pair.sync()`. This is an *un-compensated* one-sided reserve removal: BOSS leaves the pool, no USDT does. The stock pair has no defence — `sync()` exists precisely to accept whatever balance the token currently reports (PancakePair.sol:491-493). 2. The attacker controls how far down the BOSS reserve is burned. [continues]","rootCause",1],["2026-06-BYToken","BY Token Exploit — Permissionless triggerAutoBurn() Pool-Reserve Drain","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Broken AMM invariant via a permissionless, un-compensated reserve burn",null,null,"~$87,402","A Uniswap-V2/PancakeSwap pair prices assets purely from its reserves and enforces `x·y ≥ k` only *inside `swap()`*. `sync()` exists to let the pair \"skim\" its balances to match reality — it trusts that token balances only change through `mint`/`burn`/`swap`/transfers it can reason about. `_autoBurn` violates that trust in the worst possible way: It destroys BY held by the pair (`_burn(pool, …)`) and then calls `pair.sync()`, telling the pair \"your BY reserve is now this much smaller.\" No WBNB leaves the pair. [continues]","rootCause",1],["2026-06-CookFinanceIssuance","Cook Finance Issuance — Caller-Chosen Weightings Drain CKToken Components via Thin Pancake Pools","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/incorrect-state-transition","vuln/defi/flash-loan-attack"],["oracle","logic","defi"],"Permissionless `issueWithSingleToken2` accepts attacker-chosen component weightings that size swaps of the CKToken's own inventory through a Pancake V2 spot adapter with zero min-out, so thin-pool seeding turns a 1-unit issue into a real component drain",null,null,"~2.82 BNB net profit to the attacker","1. Cook's `IssuanceModuleV2.issueWithSingleToken2` (IssuanceModuleV2.sol:3124-3153) lets anyone mint a CKToken by supplying a single component token and a caller-chosen `_weightings[]` array. 2. Internally `_issueWithSpec` (IssuanceModuleV2.sol:3365-3387) does: There is no bound that weightings sum to 1e18, and no TWAP/oracle on the swap path. [continues]","tldr",1],["2026-06-DIP","DIP Exploit — Fee-on-Sell Transfer + skim/sync Reserve-Collapse on the DIP/AIC Pair","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Fee-on-transfer token whose sell fee, combined with a permissionless `skim`/`sync`, lets an attacker collapse the pair's DIP reserve to 1 wei and buy out its entire AIC reserve",null,null,"~111,097.59 USDC","A Uniswap-V2/PancakeSwap pair derives prices purely from its cached `reserve0/reserve1`, which it re-anchors to the actual token balances during `skim()` and `sync()`. Those functions are permissionless and assume the pair's token balances move only through deposits/withdrawals it can reason about. A fee-on-transfer token breaks that assumption when the fee path is reachable on the *deposit* side. `DIP._transfer` makes the deposit side controllable: [continues]","rootCause",1],["2026-06-DLMC","DLMC Exploit — Reserve-Derived livePrice Self-Inflation Drains the Token's Own USDT Backing","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/oracle/single-source"],["oracle"],"Self-referential / reserve-derived spot price (`livePrice`) manipulable in a single transaction; mint-to-self keeps circulating supply tiny so a large deposit inflates the price, which the same actor then sells against to drain the backing",null,null,"~$222,560","A single design decision breaks the system: the redemption price is a function of the contract's own manipulable spot reserve, and the same actor that moves the reserve up can immediately sell against the moved-up price within one transaction. Three compounding factors turn that into a clean drain: 1. Self-referential spot pricing. `_updatePrice()` reads `quoteToken.balanceOf(address(this))` as the price numerator (:933). Anyone can move that number by depositing USDT through `buy()`. [continues]","rootCause",1],["2026-06-DTXT","DTXT Exploit — 1-Wei USDT Donation Misclassifies a Sell as a Liquidity Add (Fee Bypass + Stale-Reserve Drain)","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/logic/wrong-condition","vuln/oracle/price-manipulation"],["logic","oracle"],"Fee-bypass via liquidity-add misclassification — a 1-wei USDT donation makes DTXT mis-read a large sell into the pair as a liquidity addition, skipping the sell fee, then swapping the (untaxed) DTXT against stale reserves",null,null,"~35,041.11 USDT drained from the DTXT/USDT PancakeSwap pair","The loss is the composition of two flaws: 1. A spoofable liquidity-add heuristic. `_isLiquidity` infers \"liquidity add\" from a one-sided, un-synced `token0` (USDT) balance increase. Because USDT is a normal ERC-20, anyone can make `bal0 > r0` true by transferring 1 wei of USDT to the pair for free — no real liquidity, no DTXT, no `mint()`. Once that flag is set, DTXT applies the add-liquidity branch (no fee) to a transfer that is functionally a sell. [continues]","rootCause",1],["2026-06-GnosisPay","Gnosis Pay / Zodiac Delay — moduleTxSignedBy ignores EIP-1271 staticcall success","incident","Crypto Training","2026-06","Gnosis",["vuln/auth/signature-validation","vuln/access-control/broken-logic","vuln/logic/missing-check"],["auth","access-control","logic"],"EIP-1271 `staticcall` success boolean ignored — revert data treated as valid magic value",null,null,null,"1. Gnosis Pay card accounts are Safe smart accounts with Zodiac Roles + Delay modules. Outgoing non-card transfers queue in Delay for a short cooldown (`txCooldown = 180` on the victim instance) before `executeNextTx`. 2. `Delay.execTransactionFromModule` is gated by `moduleOnly`. If `msg.sender` is not an enabled module, auth falls back to `moduleTxSignedBy()`, which parses trailing `r,s,v` + salt from the entire `msg.data` (including bytes beyond the ABI-decoded arguments). [continues]","tldr",1],["2026-06-JaredFromSubway","JaredFromSubway MEV Bot — Residual ERC-20 Approvals to Untrusted Bait Wrappers","incident","Crypto Training","2026-06","Ethereum",["vuln/logic/missing-allowance","vuln/dependency/unsafe-external-call","vuln/access-control/broken-logic","vuln/logic/missing-check"],["logic","dependency","access-control"],"Residual ERC-20 allowance to untrusted wrappers; no post-hop consume/revoke check",null,null,"CertiK ~4,424 ETH","1. Over weeks, an attacker deployed ~66 fake tokens / forged Uniswap-v2-style pairs and bait wrappers that looked like profitable sandwich / multi-hop arb opportunities to the bot’s automated strategy. 2. During baited hops the bot `approve`d real WETH/USDC/USDT to untrusted child wrappers. Small baits often consumed allowance (looked normal). Large baits skipped `transferFrom` of the real token, minting path tokens on the forged pair instead — so the real-token allowance remained. [continues]","tldr",1],["2026-06-JB","JB Exploit — Gateway-Driven sell → PoolBurn(pool) + sync() AMM-Reserve Drain (Venus-leveraged)","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Token with a privileged `burn-from-pool + sync()` primitive, driven by an unverified gateway, repeatedly sells JB and then shrinks the pair's JB reserve un-compensated — an AMM constant-product (`x·y = k`) break monetised one cycle at a time",null,null,"49,958.06 USDT","Three design decisions compose into the loss: 1. A token primitive that burns liquidity out of the live AMM pair and `sync()`s it. `JB::b1faeac6` deletes JB held by the PancakeSwap pair and re-syncs the lower balance. Because PancakeSwap's `sync()` does no `k` validation (PancakePair.sol#L491-L493), this is a free, repeatable shrink of one side of the constant product. Value flows toward whoever still holds JB and is positioned to sell into the re-priced pool — i.e. the gateway's caller. [continues]","rootCause",1],["2026-06-LBP","LBP (Little Boy Plus) Exploit — Reserve-Manipulated LP-Credit Inflates Mining Rewards Minted Into the Pool","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/state-update"],["oracle","logic"],"AMM-reserve manipulation feeding a reward-accounting path: LP-credit hashrate is derived from settle-time pool reserves, so a flash-pumped pool inflates mining rewards that are then minted directly into the pair's LBP balance and sold",null,null,"610.56 BNB total","Two design decisions compose into the loss: 1. Reward accounting keyed off instantaneous AMM reserves. `notifyCredit` sets hashrate to `2 × lpDelta × currentRUsdt / currentTotalLp` using the pool's *settle-time* reserves. The protocol deleted the stage-time snapshot for \"code simplicity\" and accepted a documented \"self-inflation surface … only profitable when alice controls a significant fraction of the pool\" (src_LBP.sol#L237-L243). [continues]","rootCause",1],["2026-06-LixirPermitDrain","Lixir vault permit signature bypass — any holder's vault shares drained with a forged signature","incident","DeFiHackLabs","2026-06","Ethereum",["vuln/auth/signature-validation","vuln/logic/missing-check"],["auth","logic"],"Lixir's ERC-2612 `permit` only checked that `ecrecover(...)` returned a non-zero address; it never compared the recovered signer to `owner`, so any attacker could mint a fully valid allowance over any holder's vault shares using a dummy `(v,r,s)` and immediately call `withdrawFrom`/`withdrawETHFrom` to take the underlying assets.",null,null,"2.60 ETH, 4,477.72 USDC, 3,609.95 USDT, 24,182.56 LIX","1. Missing signer-identity check. `permit` validated the *shape* of the `ecrecover` result (`!= address(0)`) but never its *identity* (`== owner`). This is the single load-bearing defect; every other step (deadline, nonce bump, allowance write, event) worked correctly. 2. `ecrecover` semantics exploited. The precompile returns `address(0)` only for structurally invalid inputs (bad `v`, out-of-range `s`, etc.). For any well-formed `(v, r, s)` it returns *some* 20-byte address. [continues]","rootCause",1],["2026-06-NovaBox","NovaBox Exploit — Stale Dividend Checkpoint on Join + Constructor extcodesize Bypass","incident","DeFiHackLabs","2026-06","Ethereum",["vuln/logic/state-update","vuln/access-control/broken-logic"],["logic","access-control"],"Dividend-accounting flaw: new depositors join the dividend list without snapshotting their dividend checkpoints to the post-distribution totals, so they are immediately owed dividends generated by their *own* deposit fees; combined with an `extcodesize(msg.sender) == 0` contract-check that is bypassable during a constructor",null,null,"56.73 ETH drained from the NovaBox dividend pot","Two independent defects compose into the loss: 1. Missing checkpoint initialisation on list join. A correct points-based dividend system MUST set the joiner's checkpoint to the *current* accumulator total at the instant they become eligible. NovaBox does not: `addToList` (NovaBox.sol:242-254) flips `addedToList` to `true` without writing `last*DivPoints`, and the only place those checkpoints are written — `updateAccount` — runs *before* the join and *before* the deposit's fee distribution. [continues]","rootCause",1],["2026-06-OceanBPoolSideStaking","Ocean Protocol BPool / SideStaking gulp drain — pool internal records desynced from real token balance, harvestable via single-sided joins + exits","incident","DeFiHackLabs","2026-06","Polygon",["vuln/logic/state-update","vuln/defi/fee-manipulation","vuln/oracle/price-manipulation"],["logic","defi","oracle"],"Ocean's BPool fork keeps an internal `_records[token].balance` that can desync below the pool's real `IERC20.balanceOf`; a public `gulp()` resyncs it upward, and the SideStaking mirror of every single-sided base-token join mints equal BPT by pulling extra tokens — so an attacker can flash-borrow base token, single-sided-join repeatedly, `gulp()`, then single-sided-exit and drain the resynced surplus.",null,null,"~127,861 mOCEAN","1. Two sources of truth for \"token balance in pool\" with a public re-sync. `_records[token].balance` drives all pricing and the `MAX_IN_RATIO` / `MAX_OUT_RATIO` guards; `IERC20.balanceOf(this)` is read only by the public, unguarded `gulp`. Whenever the two diverge, anyone can fold the gap into the pricing state with a single call. 2. The SideStaking-mirrored join inflates real balances without inflating the base-token record. [continues]","rootCause",1],["2026-06-OLPC","OLPC Exploit — Owner decimalsValue Misconfig Amplifies Pair-Side Burn → amountIn=0 Supporting-Fee Drain","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/access-control/centralization","vuln/oracle/price-manipulation"],["access-control","oracle"],"Privileged misconfiguration (`decimalsValue`) + transfer-hook reserve decay weaponised through an `amountIn = 0` supporting-fee swap that infers input from a pair's excess balance",null,null,"~1,115,903.66 USDT drained","Three design facts compose into the loss: 1. An unbounded privileged scalar (`decimalsValue`) feeds a burn multiplier. The hook in §1 was designed as a 1:1 anti-buy burn (`decimalsValue = 1`), but the owner setter accepts any `uint256`. Setting it to ~7.33e18 turned every OLPC outflow from the pair into a ~7.33e18× reserve burn. This is a misconfiguration that the contract's own logic amplifies, not an arithmetic accident. 2. The hook fires on `skim()` outflows, which anyone can trigger. [continues]","rootCause",1],["2026-06-RoyalRoyalties","RoyalRoyalties Exploit — Zero-Amount ERC-1155 Batch Transfer Inflates tierBalanceOf 100×","incident","DeFiHackLabs","2026-06","Polygon",["vuln/logic/missing-check","vuln/logic/wrong-condition"],["logic"],"Per-tier balance accounting inflation via zero-amount ERC-1155 batch items + pro-rata royalty payout that trusts the inflated balance",null,null,"261,162.93 USDC","Two independent defects compose into the loss: 1. `amounts[i]` is never validated in the LDA accounting. A faithful ERC-1155 implementation would only update ownership when `amounts[i] > 0`. Here the custom `_BALANCES_` ledger keys off the *number of ids* in the batch, not the *quantity transferred*. Because each LDA token id is conceptually \"supply 1,\" the code assumed one id ⇒ one unit, and dropped the amount entirely. A zero-amount item is therefore free balance inflation. [continues]","rootCause",1],["66728-full-redemption-pool-drain-via-inverted-split-piece-assignme","STBL redemption pays the pool remainder to a 1-unit withdraw","audit-finding","AuditVault","2026-06","Ethereum",["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],"Split piece B, the remainder, is transferred to the caller and piece A is kept",null,null,"1999 units taken","The two ids from `split` are used in the opposite order from the split's own definition. The share check is correct. `iFetchShare` of the attacker is 1, so `withdraw(1)` is allowed. The token that moves is the other piece.","rootCause",1],["66731-missing-assetid-validation-in-stbl-redemption-coreideposit-f","STBL redemption: the first iDeposit stores a wrong-asset NFT and locks 1 VAL","audit-finding","AuditVault","2026-06","Ethereum",["vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],"First deposit sets `NFTID = id` with no `assetID == AssetID` check",null,null,"1 VAL locked in the redemption pool","`iDeposit` uses `stableValueNet` for the share total and ignores `assetID` when `NFTID` is still 0. After that write, every honest deposit takes the merge branch and reverts, and `redeem` refuses to pay a foreign NFT out through the configured asset.","rootCause",1],["66730-yield-permanently-locked-in-stbl-xlayer-nft-vault-via-permis","STBL vault: permissionless claim() strands 1000 reward tokens before claimYield","audit-finding","AuditVault","2026-06","Ethereum",["vuln/access-control/missing-auth","vuln/dos/frozen-funds"],["access-control","dos"],"`claim` has no owner check and sends rewards to the NFT owner, which is the vault",null,null,"1000 reward tokens stuck in the NFT vault","The reward is pushed to the NFT owner before the vault measures the transfer. Once `earned` is zero, the vault's own `claim` moves nothing, the delta guard is false, and the vault has no sweep.","rootCause",1],["66735-stbl-ess-nft-vault1-vault-mergelot-skips-yield-claim-before","STBL: mergeLot burns the NFT before the 40 of accrued yield can be claimed","audit-finding","AuditVault","2026-06","Ethereum",["vuln/dos/frozen-funds","vuln/logic/incorrect-order-of-operations"],["dos","logic"],"Merge burns the NFT, which sets `isDisabled`, before yield is transferred",null,null,"40 reward tokens stay in the YieldDistributor","The burn and the claim are ordered the wrong way. The burn is what makes the claim revert, and the snapshot that preserves `earned` does not move the tokens. After the burn there is no id that can still call `claim` for those rewards.","rootCause",1],["2026-06-Thetanuts","Thetanuts Exploit — Zero-Cost Index-Vault mint() via Rounding-Down Component Deposits","incident","DeFiHackLabs","2026-06","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"Share-vs-asset accounting mismatch — `mint()` rounds the required pro-rata component deposit *down to zero*, so index shares can be minted for free",null,null,"105,471.50 USDC drained","The bug is a rounding-direction error combined with no zero-deposit guard in the index vault's `mint()` accounting. Three facts compose into free shares: 1. Pro-rata deposit rounds down. `deposit = amount * componentBalance / totalSupply` uses Solidity integer division, which rounds toward zero. A deposit path must round *in the protocol's favour* (round up, and reject a 0 deposit for a non-zero mint). Here it rounds down and accepts 0. [continues]","rootCause",1],["2026-06-ThetanutsFi","Thetanuts Finance Exploit — Integer-Division Truncation in mint() After the Vault Is Drained to ~0 totalSupply","incident","DeFiHackLabs","2026-06","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"ERC4626-style share-inflation — integer-division truncation in `mint()` once `totalSupply` is crushed to dust, allowing free share minting",null,null,"~$2.1M real-world","The loss is a textbook share-inflation via division truncation, made trivially exploitable because the supply can first be crushed to dust: 1. `mint()` computes the required deposit as `legBalance * amount / totalSupply` and floors. Solidity integer division truncates toward zero. [continues]","rootCause",1],["2026-06-TOPBPool","TOP Exploit — Aragon Instant-Execution Governance Self-Mint + Balancer BPool Drain","incident","DeFiHackLabs","2026-06","Ethereum",["vuln/governance/timelock-bypass","vuln/governance/proposal-manipulation"],["governance"],"Governance — instant-execution (no timelock) self-mint via an unbounded `TokenManager.mint`, with voting power keyed off a *snapshot* that the attacker already satisfies, then dumping the minted supply into a thin AMM",null,null,"944.195477215074054197 WETH","Three independent design choices compose into total loss: 1. Instant execution, no timelock. `Voting._canExecute` returns `true` the moment yea-stake crosses `supportRequiredPct` of snapshot power, and `_vote` executes the script in the same call. There is no delay in which honest holders or a guardian could react, veto, or rage-quit. A timelock would have turned a one-transaction theft into a publicly-visible, cancellable proposal. 2. An attacker who already holds the quorum stake. [continues]","rootCause",1],["2026-06-Vault4626","Vault4626 — Donation of Non-Asset WETH Inflates totalAssets() and Is Paid Out on redeem()","incident","DeFiHackLabs","2026-06","Base",["vuln/defi/donation-attack","vuln/logic/incorrect-accounting","vuln/defi/flash-loan-attack"],["defi","logic"],"`totalAssets()` quotes donated idle non-asset WETH into USDC value, while `redeem()` also transfers that WETH to the redeemer — double-counting donation as both share price and physical payout",null,null,"~13.53 WETH profit","1. `totalAssets()` (Vault4626.sol:496-536) returns idle USDC + LP value plus TWAP-quoted vault balances of the non-asset token (WETH): 2. `redeem()` (Vault4626.sol:390-490) sizes the USDC payout from `convertToAssets(shares)` (which uses inflated `totalAssets()`), then additionally transfers a pro-rata share of the vault's WETH to the redeemer. [continues]","tldr",1],["2026-06-WHALE","WHALE Exploit — Flash-Inflated AMM Reserve → Mining-Hashrate Over-Credit Drain","incident","DeFiHackLabs","2026-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/oracle/spot-price"],["oracle"],"Spot-reserve-driven reward accounting — LP hashrate credited at a flash-inflated USDT reserve, over-minting WHALE mining emission that is swapped out for USDT",null,null,"~$3,460","The protocol prices a long-lived reward right (mining hashrate, which mints WHALE forever) off an instantaneous, manipulable AMM reserve: When you add liquidity, the hashrate you receive equals `2 × yourLP × USDT_reserve / totalLP`, read at the spot reserve right after your mint. Inflate `USDT_reserve` with a flash-borrowed buy *before* you mint, and the same LP shares are credited with a wildly larger hashrate — which then mints WHALE emission you can sell. Two compounding design decisions: [continues]","rootCause",1],["65951-onchainlabexecutefromexecutor-pre-listing-module-backdoor-by","A seller installs an OnChainLab executor before listing and drains 5 ETH after the buyer takes the NFT","audit-finding","AuditVault","2026-05","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Pre-listing executor survives the NFT sale and is invisible to `state`",null,null,"5 ETH moved from the sold lab to the seller","The marketplace signal and the execution check are both missing the same fact: an executor installed by the seller is still authorized after the seller no longer owns the NFT.","rootCause",1],["2026-05-AdsharesBridge","Adshares Bridge Exploit — Compromised Minter Key Fabricates Cross-Chain Mints","incident","DeFiHackLabs","2026-05","Ethereum",["vuln/access-control/secret-exposure","vuln/bridge/missing-validation"],["access-control","bridge"],"Trusted bridge mint authority with no on-chain proof of the native deposit — a single key compromise = unlimited mint",null,null,"~$628K","A trustworthy lock-and-mint bridge must make the Ethereum mint conditional on cryptographic evidence that the native lock happened — typically a relayer signature over `(recipient, amount, srcTxid)` verified on-chain, a Merkle/SPV proof of the native transaction, or an oracle/light-client attestation with a quorum. `WrappedADS` does none of this. It collapses the bridge's trust model down to a single unauthenticated boolean: *\"is `msg.sender` the minter?\"* [continues]","rootCause",1],["2026-05-AROS","AROS Exploit — Leaked claimSigner Key + AMM-Reserve Drain via Signed Claims","incident","DeFiHackLabs","2026-05","BNB Chain",["vuln/access-control/secret-exposure","vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["access-control","oracle"],"Compromised signer key + claim flow that drains tokens directly out of the live AMM pair reserve, breaking `x·y = k`",null,null,"~$295,314","Two independent failures compose into the loss: 1. A leaked `claimSigner` private key. This is the entry condition. [continues]","rootCause",1],["2026-05-AurellionLabs","Aurellion Labs Diamond Re-Init Drain — Unprotected initialize → diamondCut pull/sweep","incident","Crypto Training","2026-05","Arbitrum",["vuln/access-control/uninitialized-proxy","vuln/access-control/missing-auth","vuln/dependency/upgradeable-contract","vuln/access-control/missing-owner-check"],["access-control","dependency"],"Diamond owner set without locking the OZ-style `_initialized` version → unprivileged `initialize(address)` re-seizes owner → `diamondCut` installs `pullERC20`/`sweepERC20` → drains pre-existing USDC allowances",null,null,"456,442.536622 USDC","Two conditions were necessary and jointly sufficient: 1. Initializer not locked. Ownership existed (`owner() == 0x1866…`) but the initializer version remained open, so an unprivileged CREATE could call `initialize(address(this))` and become owner. 2. DiamondCut privilege = full code authority. Once owner, the attacker installed unrestricted ERC-20 pull/sweep functions that trust the diamond’s existing allowances — no per-user auth beyond what ERC-20 already granted. [continues]","rootCause",1],["2026-05-BlastFOMOVault","BlastFOMOVault claimBonus clone-churn drains BNB bonus pool","incident","Crypto Training","2026-05","BNB Chain",["vuln/logic/missing-check","vuln/access-control/broken-logic","vuln/logic/reward-calculation"],["logic","access-control"],"`claimBonus` anti-double-claim is only `lastClaimedRound[msg.sender]` — CREATE clones re-claim each round; reward is a live % of `bonusPool` with no stake / identity binding",null,null,"1.289508079648543283 BNB offline","Two design choices compose into a drain: | Layer | Intended intent | Failure | | Identity | “One claim per address per `blastRound`” | CREATE makes addresses free → unlimited identities per round | | Economics | Fair share of `bonusPool` via live bps | Every claimer is equal; each takes 5–20% of remaining pool → geometric drain under identity churn |; `nonReentrant` only prevents reentrancy into `claimBonus` on the same call frame; it does not stop sequential claims from distinct clones. [continues]","rootCause",1],["2026-05-BoostHook","BoostHook Leveraged Long Exploit — Spot open without post-open solvency + MAX_LIQS_PER_BLOCK cascade cap","incident","Crypto Training","2026-05","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/logic/missing-check","vuln/logic/liquidation-logic"],["oracle","logic"],"Same-transaction spot price manip + leveraged `openLong` records debt/holding without post-open solvency; auto-liq capped at `MAX_LIQS_PER_BLOCK = 5` so 9 toxic positions leave residual protocol bad debt",null,null,"~20.9329 WETH attacker profit","Two independent design choices combine: 1. Open path trusts spot. Leveraged buys settle against the live Uni v4 pool. An atomic flash loan can reprice PERP before `openLong`, so the debt/holding pair stored on the position is not guaranteed to be solvent at a non-manipulated mark after the same transaction unwinds the manip. 2. Liquidation throughput is intentionally rate-limited. [continues]","rootCause",1],["2026-05-DxSale","DxSale Liquidity-Locker Exploit — Stealthy Ownership Takeover + Privileged Drain (~$7.3M BNB)","incident","DeFiHackLabs","2026-05","BNB Chain",["vuln/access-control/centralization","vuln/access-control/missing-owner-check","vuln/accounting/stale-state-reentrant-withdrawal"],["access-control","accounting"],"Centralization / access-control: unrestricted, untraceable ownership transfer of a custodial locker; privileged owner controls (`changeFees`) with no timelock/multisig; \"lock\" guarantee is only as strong as the deployer's key custody",null,null,"~$7.3M in BNB across 1,400+ locked LP positions","The lock guarantee is not cryptographically enforced — it is a *policy* enforced by code that a single, instantly-transferable `owner` ultimately controls. Three composing weaknesses: 1. Custodial design with a single owner key. Users surrender their LP tokens to the contract. The safety of those assets depends entirely on (a) the contract code never giving the owner an asset-touching path, and (b) the owner key staying honest. [continues]","rootCause",1],["65988-armadaredemptioncirculatingsupply-excludes-entitled-but-uncl","Early Armada redeemers take Carol's 300,000 USDC because her unclaimed ARM is dropped from the denominator","audit-finding","AuditVault","2026-05","Ethereum",["vuln/logic/wrong-condition","vuln/logic/reward-calculation"],["logic"],"Redemption denominator excludes entitled-but-unclaimed ARM",null,null,"Carol is paid 0 instead of 300,000 USDC","Entitled ARM is already owed to a named user. Treating the lock contract's whole balance as non-circulating lets whoever redeems first consume the treasury against too small a base.","rootCause",1],["2026-05-Ekubo","Ekubo Protocol Exploit — Flash-Accounting pay() Funded From a Victim's Standing Approval","incident","DeFiHackLabs","2026-05","Ethereum",["vuln/dependency/unsafe-external-call","vuln/logic/missing-check"],["dependency","logic"],"Flash-accounting settlement that trusts a *balance delta* instead of the *source of funds*; combined with an arbitrary-recipient `withdraw`",null,null,"~$1.4M","A flash-accounting singleton must answer one question on settlement: *\"did the locker make me whole for what it took?\"* Ekubo's `Core` answers it by watching its own balance grow during `payCallback` and assuming any growth was the locker paying its own debt. That assumption is false: The Core verifies that its balance increased, not that the locker decreased its own balance. [continues]","rootCause",1],["2026-05-ElevateFi","ElevateFi Exploit — Fixed-USD Staking Packages Priced from Spot DAI/EFI Reserves","incident","DeFiHackLabs","2026-05","Polygon",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/logic/price-calculation"],["oracle","logic"],"Spot-AMM price oracle manipulation — fixed-USD staking packages priced from raw `getReserves()`; reward USD is fixed but EFI converts at a manipulable price both ways",null,null,"~$16,000","The protocol mixes a fixed-USD reward base with a manipulable spot price on both the deposit and the withdrawal side. Three design decisions compose into the loss: 1. Spot AMM reserves used as the USD oracle. `getPriceUSD()` divides `getReserves()` directly (#L1471-L1479). The DAI/EFI pair is thin (~13,111 EFI / ~42,172 DAI at the fork), so a 1.36M-DAI buy moves the EFI price ~1,100×. There is no TWAP, no deviation cap, no second source. [continues]","rootCause",1],["2026-05-FractalProtocol","Fractal Protocol Exploit — Stale-Price / Retroactive-Yield Arbitrage via Permissionless compute()","incident","DeFiHackLabs","2026-05","Arbitrum",["vuln/oracle/stale-price","vuln/access-control/missing-auth","vuln/logic/incorrect-order-of-operations"],["oracle","access-control","logic"],"Stale exchange-rate / retroactive yield accrual — deposit priced below the post-`compute()` redemption price",null,null,"13,707.72 USDC.e","The vault uses a lazily-materialized, monotonically-increasing exchange rate and lets the *mint* side and the *redeem* side observe different snapshots of that rate inside one block, with the attacker fully in control of when the rate jumps. Concretely, four design decisions compose into the bug: 1. Lazy, capped accrual (the 30-day break). `_compute()` only realizes 30 days of price growth per call. [continues]","rootCause",1],["2026-05-HeisenbergHook","HeisenbergHook Fee Path Hijack — Unrestricted poolKey overwrite + permissionless processFees/processBurn","incident","Crypto Training","2026-05","Ethereum",["vuln/logic/incorrect-state-transition","vuln/defi/fee-manipulation","vuln/logic/missing-check","vuln/input-validation/missing"],["logic","defi","input-validation"],"`beforeInitialize` overwrites `poolKey` for any ETH/HEIST pool (no one-shot guard); permissionless `processFees`/`processBurn` then dump fee inventory through the hijacked thin pool",null,null,"0.425919592403168892 ETH attacker profit","Two composition failures: 1. Mutable fee-routing state. `poolKey` is the sole routing target for fee conversion, but any address can cause PoolManager to call `beforeInitialize` on a new ETH/HEIST pool that uses this hook — and the hook trusts that call to rebind routing. 2. Permissionless, slippageless conversion. Once `poolKey` points at a thin attacker pool, `processFees`/`processBurn` dump multi-thousand-HEIST inventory through it. Full-range LP on that pool captures the flow; the real deep pool is bypassed. [continues]","rootCause",1],["2026-05-HumaCreditApprovalBypass","Huma Finance Exploit — Evaluation-Agent Approval Bypass via refreshAccount()","incident","DeFiHackLabs","2026-05","Polygon",["vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["access-control","logic"],"Access-control / state-machine authorization gap — `_updateDueInfo()` promotes a never-approved credit line to `GoodStanding`, letting anyone bypass the Evaluation Agent and drain the pool",null,null,"~$101,390","The root cause is a state-machine authorization gap: there are two distinct paths into the drawable `GoodStanding` state, and only one of them is EA-gated. 1. Intended path: `requestCredit` (`Requested`) → `approveCredit` (`Approved`, EA only) → `drawdown` first-draw (`GoodStanding`). 2. Exploit path: `requestCredit` (`Requested`) → `refreshAccount` → `_updateDueInfo` → `GoodStanding` — the EA is never consulted. [continues]","rootCause",1],["2026-05-INKFinance","INK Finance Exploit — Flash-Loan-Inflated, Permissionless claimPayroll() Treasury Drain","incident","DeFiHackLabs","2026-05","Polygon",["vuln/access-control/missing-auth","vuln/logic/missing-check","vuln/defi/slippage"],["access-control","logic","defi"],"Missing access control + balance-derived payout amount (flash-loan-manipulable accounting)",null,null,"~$140,180","Two independent flaws compose into a critical, fully-permissionless drain: 1. Missing authorization on `claimPayroll`. Anyone can call `claimPayroll(employeeId)` and have the funds sent to themselves (the caller / an arbitrary recipient). The duty-owner lookup (`getDutyOwners` / `getDutyOwnerByIndex`) is performed but its result is not enforced against the recipient — the trace shows the payout went to `0xD7C6…fd10`, which is neither owner. [continues]","rootCause",1],["2026-05-JoeAgent","Joe Agent (JOE) Exploit — removeLiquidityViaContract Reentrancy on Pooled LP Custody","incident","DeFiHackLabs","2026-05","BNB Chain",["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations","vuln/logic/state-update"],["reentrancy","logic"],"Reentrancy via checks-effects-interactions (CEI) violation on shared/custodial state",null,null,"~$45K — 62.5 BNB + 1,848,087 JOE drained from the protocol's pooled LP","Three design decisions compose into a critical reentrancy: 1. LP is pooled in the contract, not held per-user. `zapNativeForLP` deposits everyone's LP into one balance owned by `JoeAgentToken`, and `lpInfo[user].lpAmount` is only an *accounting credit* against that shared pile. Over-redeeming therefore steals other depositors' principal, not the attacker's own. This turns a self-harming double-spend into a profitable theft. 2. No real reentrancy protection. [continues]","rootCause",1],["2026-05-LegendaryMoneyMonNft","LegendaryMoneyMonNft Exploit — cliamRewred() Signature Bypass via ecrecover → address(0) == admin","incident","DeFiHackLabs","2026-05","BNB Chain",["vuln/auth/signature-validation","vuln/logic/missing-check","vuln/access-control/missing-owner-check"],["auth","logic","access-control"],"Missing `ecrecover` return-value (`address(0)`) check + admin misconfigured to zero address ⇒ signature-gated withdrawal fully bypassable",null,null,"~$85,519","The `ecrecover` precompile returns `address(0)` (not a revert) whenever it cannot recover a valid signer — including for the trivially attacker-constructable input `(r, s) = (0, 0)`. Every safe signature library (e.g. OpenZeppelin's `ECDSA.recover`) rejects this by either reverting or checking `signer != address(0)`. `recoverSigner()` here does neither: `verify()` reduces to `ecrecover(...) == admin`. [continues]","rootCause",1],["2026-05-MAPProtocol","MAP Protocol Exploit — Unverified retryMessageIn Forges a Cross-Chain Message to Mint 1e33 MAPO","incident","DeFiHackLabs","2026-05","Ethereum",["vuln/bridge/missing-validation","vuln/bridge/replay","vuln/access-control/missing-auth"],["bridge","access-control"],"Broken cross-chain message authentication — a \"retry\" path replays/forges an arbitrary, never-verified inbound message",null,null,"~$180K","A cross-chain bridge must guarantee that *every* execution of a destination-side effect (here: minting MAPO) is backed by a verified proof that the corresponding event happened on the source chain. MAP's design split inbound handling into two doors: | Door | Proof required? | Sets the mint in motion? | | `messageIn` | Yes — `lightNode.verifyProofDataWithCache` + trusted-relay check | yes | | `retryMessageIn` (exploited build) | No | yes | [continues]","rootCause",1],["2026-05-SEAToken","MetaSea (SEA Token) Exploit — redeemPosition() Over-Pays From an Unguarded Reward Distributor","incident","DeFiHackLabs","2026-05","Arbitrum",["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition","vuln/dos/init-constraint"],["logic","dos"],"Reward-accounting flaw — `redeemPosition()` pays out more value than was deposited, funded from an un-rate-limited shared reserve",null,null,"~$110K total across the attacker campaign","`redeemPosition()` is the inverse of `openPosition()`, but the two are not value-symmetric: Opening a position costs the user 3,000 USDT (1,000 of which the protocol uses to buy SEA, the rest retained / routed to treasury). Redeeming it returns 2,000 USDT in cash plus a reward of reward-SEA pulled fresh from the Distributor that is worth materially more than the 1,000-USDT shortfall. The redeem is therefore a guaranteed-profit operation, and nothing stops it from being run in a tight loop within a single block. [continues]","rootCause",1],["65952-rootvalidatoroninstall-permissionless-and-lacks-self-binding","Molecule: a permissive executor rebinds RootValidator and drains the account","audit-finding","AuditVault","2026-05","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Permissionless install writes a caller-supplied validator binding",null,null,"5 ETH moved out of the OnChainLab after its validator binding is overwritten","The storage key is `msg.sender`, and the value is untrusted calldata. Any call the account itself makes into `onInstall` overwrites the account's binding. A permissive executor turns that into a third-party action. After the write, signature checks recover the signer of the attacker's contract.","rootCause",1],["2026-05-MureDistribution","Mure Distribution Exploit — Attacker-Controlled source Forges Both Verifier and Signature","incident","DeFiHackLabs","2026-05","Ethereum",["vuln/access-control/missing-auth","vuln/auth/signature-validation","vuln/logic/missing-validation"],["access-control","auth","logic"],"Broken authorization — signature verifier sourced from attacker-controlled input + ERC-1271 self-attestation",null,null,"~5.45 ETH","The distributor's entire trust model collapses into one mistake: the signer used to authorize a transfer is discovered from caller-supplied data, then asked to attest to itself. A correct design must anchor the verifier to something the protocol *already trusts*: the pool/source contract must be looked up from a protocol-controlled registry (or `source` must be role/permission-gated), and the signer must be an address whose authority is independently established. Here: 1. `source` is unauthenticated. [continues]","rootCause",1],["57713-h-01-incorrect-accounting-of-currentwithheldethininstantwith","Mystic Finance: instant withdraw leaves currentWithheldETH unchanged and pays the fee out","audit-finding","AuditVault","2026-05","Ethereum",["vuln/logic/state-update","vuln/logic/fee-calculation"],["logic"],"Instant path adds the withdrawal it should only subtract",null,null,"Alice is paid 1,000 ETH","The instant branch pretends staking just delivered `amount` of new ETH. That ETH was already inside `currentWithheldETH`. Adding it and then subtracting `amount` cancels out. Paying `withdrawn` instead of `amount - fee` sends the fee to the user as well.","rootCause",1],["2026-05-NewMarketTrading","New Market Trading Exploit — Payload-Forgery Drain via Axelar \"Express\" Path on a Gnosis Safe Module","incident","DeFiHackLabs","2026-05","Ethereum",["vuln/access-control/missing-auth","vuln/bridge/message-spoofing","vuln/logic/missing-check"],["access-control","bridge","logic"],"Missing authentication / payload forgery — caller-supplied trust data on an unauthenticated Axelar \"express\" entry point",null,null,"~$3.98M total across 88 Gnosis Safes on Ethereum / Base / Arbitrum","`_getDelegate()` ties the delegate to `msg.sender` only in the same-chain path (BaseModule.sol:144-149). On the cross-chain path the module relies on the Axelar gateway to authenticate that the message truly came from `squidRouter` on a real source chain. But by exposing the express path, the module accepts a message that has had zero gateway validation, while still deriving every trust input (`sourceAddress`, `safe`, `delegate`) from caller-controlled calldata. Concretely, three composing flaws: [continues]","rootCause",1],["2026-05-ONTR","ONTR Token Zero-Owner onlyOwner Free Mint → Pancake WETH Drain","incident","Crypto Training","2026-05","Ethereum",["vuln/access-control/missing-owner-check","vuln/access-control/broken-logic","vuln/access-control/uninitialized-owner","vuln/logic/incorrect-state-transition"],["access-control","logic"],"Custom `onlyOwner` treats `owner == address(0)` as authorized → free ownership seize → free balance inflate",null,null,"49.480100697512152261 WETH","Two bugs compose: 1. Auth hole: `onlyOwner` succeeds for everyone after renounce. 2. Hidden mint: owner-gated `desertJasper` + public `glenFlash`/`ashBud` increases spendable balance without updating `totalSupply` or emitting a proper mint event from `address(0)` via the normal `deltaPlume` path. Either alone is dangerous; together they let an unprivileged CREATE drain the only liquid market (WETH/ONTR Pancake pair).","rootCause",1],["2026-05-Renegade","Renegade Darkpool Exploit — Re-Initializable Proxy → Attacker-Controlled delegatecall","incident","DeFiHackLabs","2026-05","Arbitrum",["vuln/access-control/uninitialized-proxy","vuln/dependency/unsafe-external-call","vuln/dependency/upgradeable-contract"],["access-control","dependency"],"Missing initializer guard on an upgradeable contract → attacker-injected `delegatecall` target → full asset drain",null,null,"~$210K","The exploit chains two flaws, both rooted in the upgradeable/initializer pattern: 1. `initialize` is not one-shot. On an upgradeable contract, `initialize` plays the role of a constructor and must be guarded so it can run exactly once (e.g. OpenZeppelin's `initializer` modifier, which sets and checks an `_initialized` flag). [continues]","rootCause",1],["2026-05-Sat1Hook","Sat1Hook Forensics — Grindable Hook Identity, but No Confirmed Protocol Loss","incident","Crypto Training","2026-05","Ethereum",["vuln/input-validation/missing","vuln/logic/missing-validation","vuln/logic/state-update"],["input-validation","logic"],null,null,null,null,"### Confirmed design weakness; `hookData` is data, not authentication. The hook assumes the embedded address represents the economic actor without verifying it against the router caller, payer, token recipient, a signature, or a trusted-router callback schema. Consequently: an early buyer can search candidate `(swapper, ethIn)` pairs off-chain after the previous block hash is known and choose a favorable entropy outcome; one economic actor can spread actions across arbitrary `swapper` keys; [continues]","rootCause",1],["2026-05-SharwaMarginTrading","Sharwa Margin Trading — Uniswap-V3 spot-price oracle used to value NFT collateral","incident","DeFiHackLabs","2026-05","Arbitrum",["vuln/oracle/spot-price","vuln/oracle/manipulable-twap","vuln/logic/price-calculation","vuln/governance/flash-loan-attack"],["oracle","logic","governance"],"Collateral value is read from a manipulable Uniswap V3 spot `Quoter` quote with no Chainlink guard, no TWAP, and no sanity bound, so an attacker can inflate a deposited NFT's valuation inside the same tx it is supplied.",null,null,"~32.85K USDC","1. Spot DEX price used as an oracle. Collateral valuation calls `Quoter.quoteExactInput/quoteExactOutput` on a single Uniswap V3 pool (`UniswapModuleBase.sol:85-93`). A Uniswap V3 spot price is trivially moved by an in-transaction swap, so it is not a valid price oracle. 2. No TWAP. The quote reflects the pool's instantaneous state, not a time-weighted average. There is no `observe()`/`slot0`-TWAP logic anywhere in the module. 3. No Chainlink / no sanity bound on this deployment. [continues]","rootCause",1],["2026-05-SKP","SKP Token Exploit — Owner Backdoor ownerBurnLiquidityPairTokens() Reserve Drain → Collateral Price Inflation","incident","DeFiHackLabs","2026-05","BNB Chain",["vuln/access-control/centralization","vuln/oracle/price-manipulation","vuln/defi/slippage"],["access-control","oracle","defi"],"Owner-controlled rug / privileged AMM-reserve manipulation feeding a price-based lending oracle (broken `x·y=k` invariant)",null,null,"~$212K USD","A constant-product AMM prices a token purely from `reserveUSDT / reserveSKP` and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists so the pair can reconcile its reserves with reality — it assumes balances only changed through operations that respect `k`. `ownerBurnLiquidityPairTokens` violates that assumption in the worst possible way: It removes SKP held *by the pair* and then calls `pair.sync()`, telling the pair \"your SKP reserve is now this much smaller.\" No USDT leaves the pair. [continues]","rootCause",1],["2026-05-SKP_exp2","SKP/USDT Exit-Scam Drain — Pre-Positioned 96.8%-of-Supply \"Whitelist\" Treasury + Pool Drain","incident","DeFiHackLabs","2026-05","BNB Chain",[],["untagged"],"Insider rug pull disguised as a \"smart-contract vulnerability\": owner-controlled fee-whitelist concentrating supply + permissioned pair outflow + broken AMM invariant on dump",null,null,"~$212,195 USDT on-chain / +233,967.42 USDT net in this PoC","This is a rug pull, so the \"root cause\" is a chain of *deliberate* design decisions, each individually plausible-looking, that compose into a guaranteed insider drain: 1. Supply concentration via an owner-set whitelist. `setFeeWhiteList()` is `onlyOwner`. The operator concentrated ~97% of SKP into `WL_ADDRESS` and then designated that same address as the privileged fee-whitelist sink. Outsiders had no path to this state — `onlyOwner` eliminates every external-attacker hypothesis. 2. Permissioned pair outflow. [continues]","rootCause",1],["2026-05-SQTokenStaking","SQ Token Staking Exploit — Hardcoded Owner Backdoor + Self-Minting Staking Rewards","incident","DeFiHackLabs","2026-05","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/centralization","vuln/logic/missing-validation"],["access-control","logic"],"Hardcoded access-control backdoor → privileged self-minting → un-backed reward redemption",null,null,"~$346.1K","The decisive flaw is a planted access-control backdoor. `_checkOwner()` was rewritten to accept a second hardcoded address that happens to be the attacker's own EOA. Everything else is just the attacker exercising the owner-only surface that the backdoor unlocked: 1. Backdoored authorization. Burning ownership to `0xdEaD` looks decentralized/renounced on-chain, but the `&& _msgSender() != 0xE746…378e` escape clause means the deployer kept a master key the whole time. [continues]","rootCause",1],["2026-05-SquidRouterModule","Squid Router Module Exploit — Caller-Supplied Delegate on the Permissionless Axelar Express Path","incident","DeFiHackLabs","2026-05","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/fake-account-substitution","vuln/bridge/missing-validation"],["access-control","bridge"],"Trust-boundary / authorization bypass — a public, unauthenticated entry point that takes the delegate identity from caller-supplied calldata and uses it as the authority for Safe permission checks",null,null,"0.25361701 WBTC + 0.293599251 wTAO + ~0.0221 ETH","The exploit is a single authorization-design failure with two reinforcing parts: 1. The authority is attacker-controlled data. `_processPayload` decodes `delegate` from the payload and uses it as the subject of every `_checkPermission` call. The correct same-chain pattern (`_getDelegate()` → `msg.sender`) guarantees a caller can only act with their own permissions; the express path discards that guarantee. [continues]","rootCause",1],["66047-minterrealizelosses-is-dead-by-default-reverts-on-missing-va","Syntetika: realizeLosses reverts, so a redeemer is paid 200 of a 270 custody","audit-finding","AuditVault","2026-05","Ethereum",["vuln/logic/missing-allowance","vuln/logic/price-calculation"],["logic"],"`burnFrom(vault)` spends an allowance the vault never granted",null,null,"Redeemer with 200 of 300 shares is paid 200 base","The loss path assumes the Minter can burn the vault's hil balance. The token only grants that privilege to the holder and to `owner()`. Those are the vault and the admin. The allowance stays at the default of 0, so the share price cannot fall when custody falls.","rootCause",1],["2026-05-TesseraSwap","TesseraSwap Exploit — CEI Violation: Treasury Pays the Output Token Before Collecting the Input Token","incident","DeFiHackLabs","2026-05","Base",["vuln/logic/incorrect-order-of-operations","vuln/reentrancy/cross-contract","vuln/oracle/price-manipulation"],["logic","reentrancy","oracle"],"Checks-Effects-Interactions / swap-ordering violation — the contract releases the output token from its treasury before verifying the input token has been collected, letting an attacker buy the owed input externally for less than what the treasury paid out and pocket the spread.",null,null,"13,065,334 USDC","Two facts compose into the loss: 1. The output leg precedes the input leg, with an attacker callback in between (CEI violation). A correct swap settles atomically or pulls the input *before* releasing the output. Here the treasury pays `amountOut` first (:59) and then hands the attacker a callback (:60). During that callback the attacker already holds the treasury's USDC. [continues]","rootCause",1],["2026-05-TrustedVolumes","TrustedVolumes Exploit — Permissionless Signer Registration + Wrong-Key Authorization Drains an RFQ Settlement Proxy","incident","DeFiHackLabs","2026-05","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/fake-account-substitution","vuln/auth/signature-validation"],["access-control","auth"],"Broken authorization (auth keyed on attacker-controlled field) chained with missing access control on signer registration",null,null,"~$5.87M USD","The settlement contract conflates *\"who is allowed to authorize this order\"* with *\"whose funds the order moves.\"* In a correct RFQ design, the maker owns the assets (its approval is consumed) and therefore the maker must authorize the order — directly, or through a signer the maker has explicitly delegated. This contract instead: 1. Authorizes against `order.taker`. `taker` is an arbitrary, attacker-supplied field. [continues]","rootCause",1],["2026-05-VerusBridge","Verus–Ethereum Bridge Exploit — Forged Cross-Chain Import With No Source-Amount Validation","incident","DeFiHackLabs","2026-05","Ethereum",["vuln/bridge/missing-validation","vuln/bridge/message-spoofing","vuln/logic/missing-check"],["bridge","logic"],"Cross-chain bridge — missing source-amount / value-conservation validation in `checkCCEValues`; proof authenticity verified, payload semantics not",null,null,"~$11.58M","Authenticity ≠ semantics. The bridge proved a cross-chain message was *included* under a confirmed Verus state root, but it never proved the message was *honest* — i.e. that the Ethereum payout was matched by value actually locked/burned on Verus. Concretely, four design facts compose into a critical bug: 1. No source-amount validation. `checkCCEValues` validates routing (`source == VRSC`, `dest == vETH`) and a hash, but does not read or enforce the value side of the export against the payout amounts. [continues]","rootCause",1],["2026-05-WUSD","WUSD Exploit — Sybil-Farmable _englove() Reward Mint + Thin-Pool GLO Drain","incident","DeFiHackLabs","2026-05","Ethereum",["vuln/logic/reward-calculation","vuln/access-control/missing-auth","vuln/oracle/spot-price"],["logic","access-control","oracle"],"Incentive abuse / unbounded reward minting (no Sybil resistance) → economic value extraction via LP drain",null,null,"Reported ~$200K-class incident","The reward design assumes one human ≈ one address, but enforces nothing of the sort. Four decisions compose into a free-money machine: 1. Reward eligibility is keyed on `balanceOf(msg.sender)` alone. No claim ledger, no cooldown, no nonce, no minimum-age, no off-chain attestation. Any address that currently holds `< 2 GLOVE` qualifies — i.e., every fresh address, forever. 2. Identity is free to create. [continues]","rootCause",1],["2026-05-YSDAO","YSDAO Exploit — Balance-vs-Reserve \"Add/Remove Liquidity\" Tax Bypass + Permissionless Staking.sync() Price Pump","incident","DeFiHackLabs","2026-05","BNB Chain",["vuln/logic/wrong-condition","vuln/access-control/missing-auth","vuln/defi/fee-manipulation","vuln/oracle/price-manipulation"],["logic","access-control","defi","oracle"],"Token transfer-tax logic that derives \"is this add/remove liquidity?\" from instantaneous pair balance-vs-reserve, manipulable inside a swap callback; compounded by an access-control-less `Staking.sync()`",null,null,"~19,490.91 USDT","The token wants to be fee-on-transfer but *not* tax LP operations. The only signal it uses to tell an LP add/remove apart from a swap is `pair USDT balance` vs `pair USDT reserve` at the instant of transfer. That signal is attacker-controlled: 1. A swap recipient sees output before the K-check. PancakeSwap V2 `swap()` optimistically transfers `amount0Out`/`amount1Out` and only then runs the invariant check (and invokes the `pancakeCall` callback if `data.length > 0`). [continues]","rootCause",1],["2026-04-unverified_a152","a152 Authorized-Spender Allowance Drain — privileged spender abused to pull any user's approved tokens","incident","DeFiHackLabs","2026-04","Ethereum",["vuln/access-control/centralization","vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"A privileged \"authorized spender\" contract and its helper were used to invoke the DEX-aggregator AllowanceTarget's `transferFrom` against arbitrary users who had granted token approval to AllowanceTarget, draining their aUSDT, USDT and stETH with no per-user intent check.",null,null,"228,980.735023 USDT drained and consolidated to the attacker","1. No caller-intent binding in `spendFromUser`. The helper moved tokens purely on the strength of the caller being the authorized spender. There was no requirement that the movement correspond to a real user swap order, no signature/permit from `owner`, no per-call amount/recipient check. The authorized-spender privilege was treated as blanket authority to pull *any* user's *any* token. 2. Centralized trust in `0xa152…`. [continues]","rootCause",1],["2026-04-BlockchainBets","Blockchain Bets ERC-1155 stake/transform inflates redeemable BCB → UniV2 dump","incident","Crypto Training","2026-04","Ethereum",["vuln/logic/incorrect-calculation","vuln/logic/missing-check","vuln/logic/reward-calculation"],["logic"],"ERC-1155 stake → transform → unstake path mints more redeemable BCB than deposited",null,null,"17.568954659981801955 ETH","### Inflated redeemable balance on stake / transform / unstake; The vulnerable surface is the unverified ERC-1155 module. From the historical attack bytecode and event log: | Step | Observation | | Stake | Helper deposits 1e9 raw BCB and mints ERC-1155 id `0` for the same amount | | Transform | Position is converted (id transitions; large secondary mint on another id) | | Unstake | Module transfers ~1.8738e15 raw BCB back to the helper (~1.87e6× the 1e9 deposited on that leg) | [continues]","rootCause",1],["2026-04-giddyvaultv3_compound_auth","Giddy YieldBasis VaultV3 — EIP-712 signature only binds swap data, not token/amount/aggregator","incident","DeFiHackLabs","2026-04","Ethereum",["vuln/auth/signature-validation","vuln/access-control/broken-logic","vuln/logic/missing-validation"],["auth","access-control","logic"],"The EIP-712 `VaultAuth` struct hash only commits the `keccak256(swap.data)` blob; `fromToken`, `toToken`, `amount`, and `aggregator` are unsigned and attacker-controllable, so a validly-signed compound authorization can be replayed with arbitrary swap fields.",null,null,"~$1.3M","1. Signature coverage is incomplete. The EIP-712 `VaultAuth` struct hash commits only `nonce`, `deadline`, `amount`, and `keccak256` of the concatenated `swap.data` blobs. The four security-critical fields of each `SwapInfo` (`fromToken`, `toToken`, `amount`, `aggregator`) are not in the typehash, so they are not bound by the signature. A valid signature therefore authorizes *any* swap shape that reuses the signed `data` hashes. 2. The caller is never authenticated. [continues]","rootCause",1],["2026-04-JUDAO","JUDAO sell-hook reserve drain — token transfer hook burns liquidity directly from its own DEX pair, desyncing the AMM reserves the attacker then arbitrages","incident","DeFiHackLabs","2026-04","BNB Chain",["vuln/defi/fee-manipulation","vuln/logic/incorrect-order-of-operations","vuln/oracle/price-manipulation"],["defi","logic","oracle"],"The token's sell transfer-hook unconditionally burns and re-mints JUDAO out of its own Pancake pair and re-syncs pair reserves without the outer transfer ever crediting the pair's accounting, desyncing `pair.getReserves()` from `pair.balanceOf(JUDAO)` so the attacker can pull excess USDT with a direct low-level `pair.swap`.",null,null,"205,259.49 USDT + 36 BNB","1. The token transfers tokens out of an address (`basePair`) that is neither `from` nor `to` of the outer transfer. `super._update(basePair, 0xDead,...)` moves pair-owned JUDAO without the pair's consent or the AMM invariant being satisfied. A token must never rewrite balances of arbitrary third-party accounts from within a transfer hook. 2. Reserve desync via unconditional `pair.sync()`. [continues]","rootCause",1],["2026-04-JuiceboxREVLoans","Juicebox REVLoans Exploit — Trust-on-First-Use of a Caller-Supplied Loan Source Inflates Borrowable Surplus","incident","DeFiHackLabs","2026-04","Ethereum",["vuln/logic/missing-validation","vuln/access-control/missing-auth"],["logic","access-control"],"Trust-on-first-use of an unverified, caller-supplied loan source (terminal + token). A fake source self-reports inflated accounting (36 decimals + an arbitrary `useAllowanceOf` return) so `totalBorrowedFrom` is booked without any real assets moving; this phantom borrow then inflates the borrowable surplus, letting tiny collateral pull real ETH from the genuine terminal.",null,null,"~21.76 ETH","The defect is a trust-on-first-use of an unverified, caller-supplied loan source that is simultaneously: 1. The registrar of accounting it benefits from. `_addTo` writes `totalBorrowedFrom[revnetId][source.terminal][source.token] += addedBorrowAmount` (:795) before any real asset moves, and `borrowFrom` performs zero check that `source.terminal` is a directory-registered Juicebox terminal (:483-520). Any address the attacker deploys becomes a \"loan source\" the first time it is used. 2. The oracle of its own units. [continues]","rootCause",1],["2026-04-KipseliPropAMM","Kipseli PropAMM Exploit — USD-Scale Quote Misread as cbBTC Token Units","incident","DeFiHackLabs","2026-04","Base",["vuln/arithmetic/decimal-mismatch","vuln/oracle/spot-price"],["arithmetic","oracle"],"Decimal/unit-scale confusion — the WETH→cbBTC route returns a USD-denominated, 8-decimal quote, which the wrapper then transfers verbatim as cbBTC units (also 8 decimals), turning a ~$92 quote into ~0.926 cbBTC (~$70K).",null,null,"0.92610395 cbBTC","A decimal/unit confusion between the quote's denomination (USD value, 8 decimals) and the asset actually transferred (cbBTC, 8 decimals, ~$75K/unit). The PropAMM pricing engine values the input in USD: it reads the WETH/USD feed (`231,669,420,000` ≈ $2,316.69) and emits the input's dollar value scaled to 8 decimals (`92,654,870` ≈ \"$92.65\"). The wrapper's `swap()` then hands that integer straight to `IERC20(cbBTC).safeTransfer(recipient, amountOut)` (src_PropAMMWrapper.sol#L40). [continues]","rootCause",1],["2026-04-MONA_LisaVault","MONA / LisaVault Exploit — Self-Referral Node Farming + Insider LP Drain","incident","DeFiHackLabs","2026-04","BNB Chain",["vuln/access-control/fake-account-substitution","vuln/logic/missing-check"],["access-control","logic"],"Sybil-bypassable per-address cap + attacker-controlled multi-tier referral payouts + un-gated dividend pool; compounded by insider LP control",null,null,"20,357.8 USDT net to the attack contract + 10,000 MONA dividends, sourced from","The protocol treats an Ethereum address as a unique identity and treats the referral graph as honest, while letting callers freely populate both: 1. Identity = address. `isNode[msg.sender]` is the entire Sybil defense. Creating fresh contract addresses is free, so the \"300 max / 1-per-address\" supply cap and the per-node economics are meaningless against a single funded actor. 2. Referrals are caller-chosen and self-loopable. [continues]","rootCause",1],["2026-04-PerpPair","PerpPair Exploit — Self-Dealt LP/Trader Pair Inflates Curve-Priced PnL out of the Shared Vault","incident","DeFiHackLabs","2026-04","Linea",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Self-dealt market manipulation: an attacker-controlled trader skews the virtual AMM, an attacker-controlled LP is then priced as having a huge positive PnL through `CurveMath`, and that fabricated PnL is withdrawn from the *shared* collateral vault",null,null,"165,617.735181 USDC net profit asserted by the PoC","The single defect is that PnL is marked-to-curve against a pool state the same actor can move in the same transaction, and the resulting \"profit\" is paid out of a shared collateral pool. Decompose it into the design decisions that compose into the loss: 1. Permissionless, self-composed price manipulation. `trade` and `addLiquidity`/`realizePnL` are open to anyone, with no separation between the actor moving the curve and the actor being priced. [continues]","rootCause",1],["2026-04-QNT_EIP7702_BatchCall","QNT Reserve EIP-7702 + Permissionless BatchCall.batch() Drain","incident","Crypto Training","2026-04","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/broken-logic","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Permissionless batch executor × EIP-7702-delegated privileged EOA",null,null,"1,988.546547972979064297 QNT","### Layer 1 — EIP-7702 admin delegation; At fork block `24978302`, admin code is the 23-byte EIP-7702 designator: Calls to the admin EOA execute BatchExecutor code with `address(this) == admin`. BatchExecutor getters (immutable / view) at that block: | Getter | Value | | `BATCHER()` | `0x044DC3e39c566A95011E272Ec800dBd2cc9c057C` (BatchCall) | | `isOwner(BatchCall)` | `true` | | `DESTINATION()` | another 7702-delegated EOA |; ### Layer 2 — Permissionless `BatchCall.batch()`; BatchCall is unverified. [continues]","rootCause",1],["2026-04-RWAVault","RWAVault Exploit — Overridden ERC4626.withdraw Drops the Allowance Spend","incident","DeFiHackLabs","2026-04","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Access control — an overridden `ERC4626.withdraw` that omits `_spendAllowance(owner, msg.sender, shares)`, letting anyone withdraw any depositor's balance to an arbitrary receiver",null,null,"398,655.47 USDC total vault outflow","A missing allowance spend in an overridden ERC4626 withdraw. The canonical flow is `withdraw → _withdraw(caller, …) → if (caller != owner) _spendAllowance(owner, caller, shares)`. RWAVault overrode the *public* `withdraw` (and `redeem`) with bespoke \"hybrid interest\" logic and, in re-implementing the function body, dropped the `caller != owner` branch that `_spendAllowance` enforces. The function therefore treats `owner` as a free parameter rather than an account whose funds the caller must be authorized to move. [continues]","rootCause",1],["2026-04-SaturnProtocol","Saturn Protocol (sUSDat) — Withdrawal Freeze via strcBalance/vestingAmount Desync + 33% PROCESSOR Extraction","incident","DeFiHackLabs","2026-04","Ethereum",["vuln/arithmetic/underflow","vuln/logic/state-update","vuln/dos/frozen-funds","vuln/logic/fee-calculation"],["arithmetic","logic","dos"],"SAT-001: state-desync → arithmetic underflow DoS; SAT-002: independent dual-tolerance compounding (value leak to a semi-trusted role)",null,null,null,"SAT-001 is a classic paired-write desync. Three functions touch the same accounting state, but only some keep it consistent: | Function | `strcBalance` | `vestingAmount` | Invariant after | | `transferInRewards()` | `+= reward` | `= reward` | balance grows with vesting → OK | | `convertFromStrc()` | `-= strcAmount` | unchanged | guarded by `strcAmount ≤ vestedBalance` → OK | | `burnQueuedShares()` | `-= strcAmount` | unchanged | no guard → can push `strcBalance < unvested` | [continues]","rootCause",1],["2026-04-AaveRebalancerCreditDelegation","sAVAX Rebalancer arbitrary-call drains victim credit delegation — permissionless target/data execution from a delegated Aave borrower","incident","DeFiHackLabs","2026-04","Avalanche",["vuln/access-control/missing-auth","vuln/logic/missing-validation","vuln/dependency/unsafe-external-call"],["access-control","logic","dependency"],"The rebalancer forwards caller-supplied `(target, data)` as an arbitrary external call from its own address, while holding unlimited Aave V3 borrow delegation from a victim; an attacker points that call at `Pool.borrow(WAVAX, …, victim)` to mint debt against the victim and pull the proceeds out.",null,null,"6,999.99 WAVAX","1. Unauthenticated arbitrary external call. The rebalancer executes caller-supplied `(target, data)` from its own address with no `onlyOwner` / allowlist / target whitelist. Selector `0xb2a13230` is `external` and callable by anyone. This is the proximate cause. 2. Caller-controlled `target`/`data` is never tied to the caller's account. Even granting that the contract *wanted* to perform some external call as part of rebalancing (e.g. a swap), it never constrains that call to the caller's own position. [continues]","rootCause",1],["2026-04-SingularityDynaVault","Singularity dynBaseUSDCv3 Exploit — totalAssets() Inflation via a Mis-Configured (Fee-Tier-42 / Zero-Liquidity) Oracle Path","incident","DeFiHackLabs","2026-04","Base",["vuln/oracle/missing-validation","vuln/arithmetic/precision-loss","vuln/logic/price-calculation"],["oracle","arithmetic","logic"],"Oracle mis-configuration — non-USDC reserves priced through a Uniswap V3 path whose direct pool was queried at the non-existent fee tier 42 and whose WETH-fallback pool had zero liquidity, so the oracle returned `0`, `totalAssets()` counted only idle USDC, and ERC-4626 share minting hyper-inflated",null,null,"~$413,132","A single failure cascades into total loss: the NAV oracle returns `0` for the vault's most valuable reserves, and nothing downstream sanity-checks it. 1. Wrong fee tier for the direct pool. The oracle was configured (`uniV3fee[token][USDC] = 42`) to look up a pool at fee tier 42, which is not a valid/enabled Uniswap V3 tier. `factory.getPool(token, USDC, 42)` returns `address(0)` for every reserve token (, and identically for the other vault tokens). 2. Dead fallback pools. [continues]","rootCause",1],["2026-04-SquidMulticallAllowanceDrain","Squid SquidMulticall Exploit — Arbitrary-Target Default Call Turns an Approved Multicall into a Universal transferFrom Proxy","incident","DeFiHackLabs","2026-04","BNB Chain",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth","vuln/logic/missing-allowance"],["dependency","access-control","logic"],"Trust-boundary / arbitrary external call — a permissionless `Default`-type multicall call lets anyone make the widely-approved `SquidMulticall` invoke `transferFrom` against any user who approved it",null,null,"1.0 ETH","The vulnerability is a classic confused-deputy / arbitrary-external-call flaw, compounded by the contract's role as a standing-allowance spender: 1. Unrestricted arbitrary call. `run()` forwards attacker-controlled `callData` to an attacker-controlled `target` with no validation (#L45). The contract is, by construction, a programmable proxy for *whatever bytes you give it.*; 2. The proxy holds privilege users granted to it, not to the caller. [continues]","rootCause",1],["2026-04-SubQuerySettings","SubQuery (SQT) Exploit — Unprotected Settings.setBatchAddress() Role Hijack","incident","DeFiHackLabs","2026-04","Base",["vuln/access-control/missing-modifier","vuln/access-control/centralization"],["access-control"],"Missing access control on a settings setter that rebinds critical protocol roles (`StakingManager`, `RewardsDistributor`) — a privileged-role-hijack leading to direct fund theft",null,null,"218,070,478.035174175990999309 SQT","The loss is a single-failure access-control bug amplified by an architecture that centralizes trust in a mutable registry. 1. The registry write path was unprotected. The deployed `Settings` implementation `0xf282737992…` allowed any caller to invoke `setBatchAddress` and overwrite arbitrary role slots. The verified SubQuery source shows the intended guard (`onlyOwner`, contracts_Settings.sol:29) — the deployed code path simply lacks it. This is the entire entry condition. [continues]","rootCause",1],["2026-04-ThetanutsVaultShareRounding","Thetanuts BTC/USD Vault Exploit — ERC4626-Style First-Depositor Share Rounding at totalSupply() == 0","incident","DeFiHackLabs","2026-04","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"ERC4626-style first-depositor / zero-supply share rounding: a vault that holds assets while `totalSupply() == 0` lets a fresh depositor mint shares whose pro-rata claim sweeps the entire pre-existing asset balance",null,null,"0.15177162 WBTC","A share vault converts between assets and shares with a price that is, in the standard ERC4626 formulation, `pricePerShare = totalAssets / totalSupply`. Two edge cases must be handled or the conversion degenerates: `totalSupply == 0` — there is no price; the first depositor's share count is set by a bootstrap rule (typically `shares = assets`, or `assets` scaled by an offset). `totalSupply == 0` *while* `totalAssets > 0` — the bootstrap rule mints shares as if the vault were empty, but the vault is *not* empty. [continues]","rootCause",1],["2026-04-TTSwapMarket","TTSwap Market: permissionless initGood + attacker-controlled ERC20 skews AMM accounting via buyGood/payGood","incident","Crypto Training","2026-04","Ethereum",["vuln/logic/incorrect-initialization","vuln/logic/missing-check","vuln/oracle/price-manipulation"],["logic","oracle"],"Permissionless market `initGood` with attacker-controlled ERC20 + value/quantity AMM seeding → mispriced `buyGood`/`payGood` inventory drain",null,null,"5.098626217469779632 ETH","### Permissionless `initGood` with attacker-controlled ERC20; `initGood` is not admin-gated (`guardedEntry` reentrancy only). Any caller may register a new good by supplying: `_valuegood` — an existing value good (WETH); `_erc20address` — the new \"normal\" good (attacker CREATE fake token); `_initial` packed uint256 — amount0 = normal qty, amount1 = value-good qty; `_goodConfig` — fee/K parameters for the new good; The fake ERC20 returns success for any `transferFrom` and reports inflated balances. [continues]","rootCause",1],["2026-04-YearnStETHAccumulator","Victim automation execute() missing auth drains yvWETH via Yearn withdrawal path","incident","Crypto Training","2026-04","Ethereum",["vuln/access-control/missing-modifier","vuln/logic/missing-check","vuln/dependency/approval"],["access-control","logic","dependency"],"Permissionless `execute((uint8,bytes)[])` on a personal automation that held the victim's infinite yvWETH allowance",null,null,"429.210570004163139903 ETH","### Permissionless multicall with a live token approval; The automation is an unverified contract. From runtime bytecode / 4byte: | Selector | Signature | Auth | | `0x49650044` | `execute((uint8,bytes)[])` | None | | `0xb2118a8d` | `rescueERC20(address,address,uint256)` | `msg.sender == OWNER` | | `0x099a04e5` | `rescueETH(address,uint256)` | `msg.sender == OWNER` | | `0x8da5cb5b` | `owner()` | view |; `OWNER` is immutably the victim EOA `0x9828…5aFE`. Rescue paths are gated; `execute` is not. [continues]","rootCause",1],["2026-04-XLootStaking","xLOOT Staking Exploit — Duplicate NFT IDs in redeem(uint256[]) Claim the Same Epoch Reward Repeatedly","incident","DeFiHackLabs","2026-04","Ethereum",["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],"Reward-accounting / per-call deduplication failure — `redeem(uint256[])` computes the full claimable amount before it advances the per-NFT `nextRedeem` cursor, and only gates each entry on `ownerOf(id)`, so the same owned NFT supplied N times in one call is paid N times.",null,null,"6.21 ETH total in the live incident","The defect is a classic read-all-then-write-all ordering bug combined with a missing per-call deduplication: 1. Eligibility and payout are computed in a `view` pass that cannot mutate the cursor. `_redeemable` accumulates `claimable += epn` for every array entry, but the only state that gates the addition — `xloot.nextRedeem[id]` — is never updated inside that pass. It is a `view` function. 2. The cursor is advanced only afterwards, and idempotently per distinct id. [continues]","rootCause",1],["2026-03-AlkemiEarn","AlkemiEarn Exploit — Self-Liquidation Storage-Aliasing Collateral Duplication","incident","DeFiHackLabs","2026-03","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/logic/state-update"],["logic"],"Storage-pointer aliasing in self-liquidation (missing `borrower != liquidator` / `borrow != collateral` guard) → collateral accounting duplication",null,null,"43.4540 ETH","The function was written under the implicit assumption that a liquidator and the liquidated borrower are distinct accounts, and that the borrow asset and collateral asset are distinct markets (the canonical Compound case). The comment on line 3481 — *\"Liquidator might already hold some of the collateral asset\"* — shows the author intended to account for a liquidator who *separately* holds collateral, never imagining the liquidator is the borrower in the same asset. [continues]","rootCause",1],["2026-03-ATMBlindBox","ATM BlindBox predictable fallback RNG — attacker evaluates settlement seed before calling settle","incident","DeFiHackLabs","2026-03","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/oracle/missing-validation","vuln/oracle/spot-price"],["logic","oracle"],"Random-number fallback uses on-chain, attacker-readable inputs (`block.prevrandao`, `betId`, `block.timestamp`); the bettor chooses *when* to call `settle`, so they can evaluate the seed off-chain first and only settle winning bets.",null,null,"~13,000,000 ATM","1. Predictable fallback entropy. When the N+2 blockhash expires, the contract substitutes `keccak256(abi.encodePacked(block.prevrandao, betId, block.timestamp))`. All inputs are readable in the settlement block, so the seed is computable in advance by the caller. There is no unpredictable (validator-withheld) component and no commit/reveal. 2. No settlement deadline + permissionless `settle`. A bet can be left open indefinitely, and `settle` is callable by anyone. [continues]","rootCause",1],["2026-03-bce","BCE scheduledDestruction drain — token transfer hook burns LP reserve tokens then sync()s the pair","incident","DeFiHackLabs","2026-03","BNB Chain",["vuln/logic/state-update","vuln/defi/fee-manipulation","vuln/logic/incorrect-order-of-operations"],["logic","defi"],"A transfer-time hook burns `scheduledDestruction` tokens directly out of the Uniswap-V2 pair and calls `sync()`, so anyone who first accumulates `scheduledDestruction` via sells can detonate the burn from a zero-value ordinary transfer and collapse the pair's BCE reserve.",null,null,"~800,000 USDT","1. The destruction is applied to the pair's own balance, not the sender's. `super._update(_uniswapV2Pair, address(0), scheduledDestruction)` burns tokens belonging to the LP, not to the account that triggered the transfer. The pair has no chance to refuse or rebalance — its reserves are rewritten by force. 2. `sync()` immediately re-anchors AMM pricing to the drained balance. After the burn the attacker calls `sync()` indirectly (via the BCE logic) so the pair's `reserveBCE` collapses to the post-burn value. [continues]","rootCause",1],["2026-03-Curve_LlamaLend","Curve LlamaLend (Inverse Finance sDOLA market) Exploit — Oracle / Band Manipulation Mass-Liquidation","incident","DeFiHackLabs","2026-03","Ethereum",["vuln/oracle/price-manipulation","vuln/logic/liquidation-logic"],["oracle","logic"],"Lending-collateral price-oracle / AMM-band manipulation enabling a mass bad-debt liquidation for profit (a price-of-collateral manipulation, not a code bug in any one contract)",null,null,"~$240,000","This was not a single-line bug; it was a composition of three known-but-uncombined hazards, all reachable atomically with flash-loaned capital: 1. Manipulable collateral price. `sDOLA`'s ERC4626 share price is movable in one transaction (donate via `DolaSavings.stake(_, sDOLA)`, or redeem to deflate), and the LLAMMA AMM's *spot/active-band* price is movable by simply swapping a large amount into it. Neither the AMM band price nor `convertToAssets()` has any same-block manipulation guard usable as a lending oracle. [continues]","rootCause",1],["2026-03-DayContract","DayContract / Polarx — Spot Manip + Rigid Principal Guarantee","incident","Crypto Training","2026-03","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/missing-check"],["oracle","logic"],"Spot-priced LP mint + unconditional principal settlement on shared vault LP",null,null,"~$10.6K attacker profit","`DayContract.deposit` converts USDT → LP via Pancake spot reserves (no TWAP). `withdraw` always calls `vault.settlePrincipal(user, fullPrincipal, 0)`, and the vault’s `_ensureUSDTBalance` redeems shared vault LP until it can pay that principal — regardless of the order’s own post-manipulation NAV. Attacker flow (atomic): 1. Flash/deal ~2.04M USDT; deploy 38 registered helpers. 2. Two fair deposits of 1,000 USDT. 3. Buy ~2M USDT of PSTAR → spike spot. [continues]","tldr",1],["2026-03-dTRINITYdLEND","dTRINITY dLEND — flash-premium divided by a 1-wei aToken supply inflates the cbBTC liquidity index","incident","DeFiHackLabs","2026-03","Ethereum",[],["untagged"],"`FlashLoanLogic._handleFlashLoanRepayment` books the premium through `ReserveLogic.cumulateToLiquidityIndex`, which divides by `aToken.totalSupply()`. One scaled unit left in the reserve makes each premium multiply the index. At the final index, a normal deposit is a tiny scaled balance and still borrows the reserve's dUSD. Pre-V3.1: no `virtualUnderlyingBalance`",null,null,"257,328.632216555425511184 dUSD borrowed and kept","1. The index update divides by share supply, and share supply is not the cash. Donating cbBTC to `0x504D0Eac…` raises the balance the flash loan will lend. It does not raise `totalSupply()`. The premium, which is 5 bps of that cash, is credited as if it belonged to one wei of shares. 2. The premium is permissionless and repeatable in one transaction. `flashLoan` → `executeOperation` (the receiver returns `true` and has approved the pool) → repayment → `cumulateToLiquidityIndex`. No position, no waiting period. [continues]","rootCause",0],["2026-03-EST","EST / BNBDeposit Exploit — skim()-Fed Proportional Reward Drain + AMM Reserve Manipulation","incident","DeFiHackLabs","2026-03","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/oracle/spot-price"],["logic","oracle"],"Manipulable proportional reward (`balance × share / total`) + un-compensated AMM reserve removal via `skim()` / token-side `_burn(pool)+sync()`",null,null,"150.16 WBNB","1. Reward = `balance × share / totalLP` with no source accounting. `_claimToken` reads `token.balanceOf(this)` directly. Any EST sent in from outside — by a swap whose recipient is the contract, or by `pair.skim(BNBDeposit)` — counts as distributable yield. The attacker therefore \"pre-pays\" itself by dumping cheaply-obtained EST into the contract and then claiming a share of it back. 2. The 5× USD cap is priced against a pool the attacker controls. [continues]","rootCause",1],["2026-03-InfinitySix","InfinitySix — Stale 1-min TWAP + Instant Referral Bonus Over-Mint","incident","Crypto Training","2026-03","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/incorrect-calculation"],["oracle","logic"],"Instant `directBonus` + same-tx stale TWAP settlement",null,null,"~$273.8K USDT attacker profit","`invest()` immediately credits the sponsor with `directBonus += 5%` of the invest amount. `withdraw()` pays that USDT-denominated bonus in i6 tokens priced by `twapPrice`, but `updateTwap()` refuses to update more than once per minute. Inside one transaction the attacker: 1. Does a small self-invest under `GENESIS_USER` (locks TWAP ≈ 1.05 USDT/i6). 2. Routes ~$124M USDT through a helper that invests with the attacker as referrer → ~$6.2M directBonus + floods the LP (spot ≈ 15,528). [continues]","tldr",1],["65618-after-the-upgrade-permissionless-attacker-can-fully-drain-th","Linea TokenBridge upgrade — permissionless reinitialization drains locks","audit-finding","AuditVault","2026-03",null,["vuln/access-control/uninitialized-proxy","vuln/access-control/missing-auth"],["access-control"],null,null,null,null,"Replacing an inherited initializer changes the storage layout. The live bridge appears uninitialized, letting an arbitrary caller become admin, install an attacker message service, and execute `completeBridging` for all locked tokens.","tldr",1],["2026-03-MovieToken","Movie Token (MT) double-count burn — BSC Mar 2026 ~$242K","incident","Crypto Training","2026-03","BNB Chain",[],["untagged"],null,null,null,"~$242K","1. On sells, `MT._transfer` delivers net tokens to the pair for the swap and adds the same net amount to `pendingBurnAmount` (`PendingBurnRecorded`). 2. Anyone can call `LP_MINING.distributeDailyRewards()` → `MT.extractFromPoolForLpMining` → executes pending burn from the pair’s MT balance + `pair.sync()`. 3. Pair MT reserves collapse while WBNB stays → price inflates → attacker dumps remaining MT for nearly all pair WBNB.","rootCause",1],["65419-myriadctfexchangematchcrossmarketorders-allows-taker-to-rece","Myriad CLOB — free YES tokens when cross-market priceSum > ONE","audit-finding","AuditVault","2026-03",null,[],["untagged"],"`priceSum >= ONE` allows overpay; taker notional clamped to 0","high","Myriad / Polkamarkets CLOB",null,"Remainder-based taker notional assumes maker notionals never exceed fill. That holds for `priceSum == ONE` (modulo dust) but fails when operators pass a higher sum.","rootCause",1],["2026-03-unverified_1304","Old CheckoutPool Bridge Operator (_ALLOW_ALL_) — permissionless bridge() routed an ERC-4337 paymaster into draining CheckoutPool's USDC excess","incident","DeFiHackLabs","2026-03","Polygon",["vuln/access-control/missing-auth","vuln/access-control/broken-logic","vuln/logic/missing-check"],["access-control","logic"],"An abandoned bridge-operator contract left `_ALLOW_ALL_` enabled with no effective caller gate on `bridge()`, so any EOA could drive `bridge()` into the trusted CheckoutPaymaster, which called `CheckoutPool.execute()` and paid out a stored checkout's `targetAmount` from the pool's USDC balance/excess.",null,null,"85,730 USDC","1. No effective caller authorization on `bridge()` + `_ALLOW_ALL_ == true`. The old BOC's `bridge()` reached its body for any `msg.sender` because the `_ALLOW_ALL_` flag bypassed operator whitelisting. There was no `onlyOwner` / `onlyOperator` modifier that survived the allow-all path. This is the primary access-control failure. 2. Stale trust: the paymaster never revoked the old BOC. Even after the new BOC was deployed, `CheckoutPaymaster.isOperatorAllowed(OLD_BOC)` still returned `true`. [continues]","rootCause",1],["65528-surplusprocesssurplus-always-reverts-for-managed-collateral","Parallel 3.1 — processSurplus always reverts for managed collateral","audit-finding","AuditVault","2026-03",null,[],["untagged"],"Surplus measured on manager; pull from diamond (balance always 0)","high","Parallel Parallelizer",null,"Surplus accounting follows managed total assets, but the swap pull path assumes the diamond holds the tokens — true only for unmanaged collateral.","rootCause",1],["2026-03-Revamp","Revamp referral-reward drain — a self-referral that pays contributors out of existing pool BNB","incident","DeFiHackLabs","2026-03","BNB Chain",["vuln/logic/reward-calculation","vuln/defi/flash-loan-attack","vuln/access-control/missing-validation"],["logic","defi","access-control"],"A permissionless user can list a worthless self-issued token, then exploit the per-share reward accounting plus a referral kickback to convert the contract's *pre-existing* native balance into personal reward that is capped at `2 × principal`.",null,null,"2.99 BNB","1. No token-quality gate in `listNewAsset`. Listing only requires an ERC-20 interface and a fee. A worthless attacker-minted token qualifies, so the \"burn a real token\" economic assumption is void. 2. Reward cap is a function of *principal*, not of pool sustainability. `maxReward = totalContributed × 2` is computed from the user's own contribution size, which the attacker controls. By sizing the first contribution to half the contract's BNB balance, the attacker makes the cap equal the entire treasury. [continues]","rootCause",1],["65582-adapter-vault-userwsteth-not-cleared-after-redemption-enabl","Sablier Bob Escrow — Adapter vault _userWstETH not cleared after redemption enables theft of other users' funds","audit-finding","AuditVault","2026-03",null,[],["untagged"],"Stale cross-contract state after burn/redeem; attribution mapping not cleared","high","Sablier Bob Escrow (Lido adapter vaults)",null,"Redemption burns the ERC-20 share but leaves the adapter's per-user wstETH accounting intact. A subsequent share transfer moves *more* wstETH onto the already-redeemed address, inflating the next payout. The two ledgers (shares vs `_userWstETH`) diverge because burns do not update the adapter.","rootCause",1],["65583-circular-slippage-protection-in-sablierlidoadapter-wstethtow","Sablier Bob Escrow — Circular slippage protection in SablierLidoAdapter::_wstETHToWeth enables sandwich attacks","audit-finding","AuditVault","2026-03",null,["vuln/oracle/spot-price"],["oracle"],"On-chain slippage derived from manipulable DEX spot price (circular check)","high","Sablier Bob Escrow (Lido adapter)",null,"On-chain slippage floors computed from the same AMM spot the swap executes against cannot detect a pre-transaction sandwich. The check only proves `exchange` did not move *further* after `get_dy` in the same atomic call — which is always true.","rootCause",1],["2026-03-unverified_237d","StakeOnMe JAKE owner-wrapper reserve asymmetry — public owner-privileged mint vs. burn pays out against an inflated ETH reserve","incident","DeFiHackLabs","2026-03","Ethereum",["vuln/logic/price-calculation","vuln/access-control/missing-auth","vuln/defi/fee-manipulation"],["logic","access-control","defi"],"An unverified public wrapper that is the JAKE meToken `owner()` mints JAKE against a small bonding-curve reserve but burns (pays out ETH) against the wrapper's full and much larger ETH balance, letting anyone cycle the two to drain the wrapper.",null,null,"0.28 ETH","1. Asymmetric reserve accounting between mint and burn. Mint prices JAKE against `poolBalance()` (a tracked JAKE reserve of ~1.919 ETH); burn pays ETH out against `address(this).balance` (the wrapper's full balance of ~2.767 ETH). For a reversible bonding-curve token these MUST be the same variable, otherwise buy-low/sell-high is a guaranteed drain. The first cycle alone paid 0.0355 ETH for 0.025 ETH in [output.txt:1628 vs 1664]. 2. The owner role of the JAKE meToken is held by an unverified public contract. [continues]","rootCause",1],["2026-03-Univ3CollateralToken","Univ3CollateralToken — Uni V3 position counted as collateral for every vault owned by the same minter","incident","DeFiHackLabs","2026-03","Base",["vuln/logic/incorrect-state-transition","vuln/logic/state-update","vuln/access-control/broken-logic"],["logic","access-control"],"`Univ3CollateralToken.balanceOf` and `deposit` index collateral by `vault.minter()` (the EOA/contract that owns the vaults) instead of per-vault, so one Uni V3 NFT deposited against a single vault is counted as collateral for every vault the same minter controls.",null,null,"~57,000 USD","1. Collateral accounting is keyed by `minter` instead of by vault. `deposit` writes to `_underlyingOwners[vault.minter()]` and `balanceOf` reads from the same key. With one NFT in that array, *every* vault the minter owns sees the full collateral value. This is the load-bearing flaw. 2. No uniqueness / single-credit constraint. Nothing prevents the same `tokenId` from simultaneously backing N vaults. [continues]","rootCause",1],["2026-03-Venus_THE","Venus (vTHE) Exploit — Donation-Inflated Exchange Rate + borrowBehalf Drains a Victim's Pre-Approved Delegate","incident","DeFiHackLabs","2026-03","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/access-control/missing-auth"],["logic","access-control"],"Exchange-rate (collateral) inflation via direct underlying donation — `getCashPrior()` reads raw `balanceOf` — compounded with a stale pre-approved `borrowBehalf` delegation",null,null,"913,858.26 CAKE + 1,972.53 WBNB borrowed onto the victim's account and walked off by the a","Two independent issues compose into the loss: 1. Donation-inflatable exchange rate (the primary protocol flaw). Because `getCashPrior()` returns the raw `balanceOf` of the vToken (VBep20.sol:245-247), anyone can push the exchange rate up by simply `transfer`-ing underlying into the contract. The exchange rate is then used by `getAccountSnapshot` → `ComptrollerLens` to value all existing depositors' collateral (ComptrollerLens.sol:257-260). [continues]","rootCause",1],["2026-03-VTSwapHook","VTSwapHook reserve/fee accounting divergence — Uniswap V4 custom-curve hook books full specified amount into reserves while pricing output on the fee-reduced input","incident","DeFiHackLabs","2026-03","Arbitrum",["vuln/logic/incorrect-state-transition","vuln/logic/state-update","vuln/defi/fee-manipulation"],["logic","defi"],"Custom Uniswap V4 swap hook credits the incoming reserve with the full pre-fee `specifiedAmount` but credits/debits the outgoing reserve with the fee-discounted output, so the hook's internal `reserve0`/`reserve1` diverge from the actual `BalanceDelta` enforced by the PoolManager — letting a paired exact-in / exact-out round trip leave both PoolManager deltas positive.",null,null,"4,507,034.03 vATH + 2,007,935.14 ATH","1. Reserve update mixes two different amount bases. `_getUnspecifiedAmount` credits the incoming reserve with the full `specifiedAmount` (pre-fee) but debits the outgoing reserve with `unspecifiedAmount`, which the helper computed from the post-fee input. The two quantities are not on the same footing, so `reserve0 + reserve1` value drifts every swap. 2. The hook relies on `specifiedAmount` returned by the helper but never re-derives the fee-adjusted input. [continues]","rootCause",1],["2026-03-WhalebitOracleManipulation","Whalebit Oracle Manipulation Exploit — Spot-Priced Level Staking Round-Trips a Manipulable Algebra Pool","incident","DeFiHackLabs","2026-03","Polygon",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Manipulable spot-price oracle — level staking deposits and withdrawals are priced from the live CES/USDT Algebra pool; an attacker deposits at a high spot price and withdraws at a self-depressed spot price, extracting more CES than was paid in",null,null,"9,745.17 CES net intra-transaction profit","The protocol prices a redeemable position from a manipulable spot AMM and lets the deposit and the withdrawal of the *same* position be priced at two different, attacker-chosen instants within a single transaction. Three design decisions compose into the loss: 1. Spot oracle. Whalebit's pricer resolves to `algebraPool.globalState().sqrtPrice` — the instantaneous reserve ratio of the CES/USDT pool. It is trivially moved by a swap in the same block. [continues]","rootCause",1],["2026-03-WUKONGStaking","WUKONG Staking — classical reentrancy in unstake() drains pooled LP","incident","Crypto Training","2026-03","BNB Chain",["vuln/reentrancy/single-function","vuln/logic/state-update","vuln/logic/missing-check"],["reentrancy","logic"],"Classical (single-function) reentrancy — interaction before state finalization, no guard",null,null,"~57.68 BNB","Two independent CEI (checks-effects-interactions) violations combine into a single-function reentrancy: 1. Interaction before effects. `payable(msg.sender).call{value:...}(\"\")` (L303) transfers value — and therefore control — to the caller while the position is still open. The caller's fallback can call `unstake()` again. 2. Re-entry gate not yet flipped. On re-entry `hasStaked(msg.sender)` reads `stakeInfoList[index].isStaking`, which is still `true` (L307 hasn't run), so the `require`s at L270/L272 pass again. [continues]","rootCause",1],["2026-03-XocolatlLiquidator","Xocolatl AccountLiquidator — arbitrary caller-supplied HouseOfReserve zeroes the liquidation cost","incident","DeFiHackLabs","2026-03","Base",["vuln/access-control/missing-validation","vuln/logic/liquidation-logic","vuln/arithmetic/rounding"],["access-control","logic","arithmetic"],"`AccountLiquidator.liquidateUser` trusts a caller-supplied `houseOfReserve` for both the accounting token IDs and the price feed, so an attacker deploys a fake reserve that returns the real token IDs but a price of `1`, which makes the liquidation cost round to `0` while real victim collateral is transferred.",null,null,"3.25 cbETH + 0.22 WETH","1. Untrusted `houseOfReserve` argument. `liquidateUser(userToLiquidate, address houseOfReserve)` never validates `houseOfReserve` against a registry of deployed `HouseOfReserve` contracts. The address is taken directly from `msg.sender` and treated as authoritative for every security-relevant getter (`reserveAsset`, `reserveTokenID`, `backedTokenID`, `getLatestPrice`, `liquidationFactor`). A permissionless attacker can pass a contract they control. 2. Token IDs are public, deterministic constants. [continues]","rootCause",1],["2026-02-FoomCash_Groth16","FoomCash / FOOM Lottery — Groth16 verifier with gamma == delta lets anyone forge proofs","incident","Crypto Training","2026-02","Ethereum",["vuln/auth/signature-validation","vuln/logic/missing-check","vuln/logic/missing-validation"],["auth","logic"],"Groth16 verifying key has `gamma == delta`; soundness collapses so a witness-free proof (`A = alpha`, `B = beta`, `C = -vk_x`) verifies for any public inputs",null,null,"19,695,576,757,802.19 FOOM","Groth16's verification equation is; Rearranged, the on-chain check is `e(-A,B) · e(alpha,beta) · e(vk_x,gamma) · e(C,delta) = 1`. With `gamma == delta` the last two factors merge, because pairings are bilinear: so the whole equation collapses to; An attacker who never ran the circuit simply picks: [continues]","rootCause",1],["2026-02-LAXO_Token","LAXO Token Exploit — Uncompensated Pool-Side Burn on Every Sell Breaks x·y = k","incident","DeFiHackLabs","2026-02","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/oracle/spot-price"],["logic","oracle"],"Broken AMM invariant via an un-compensated, attacker-triggered pool-reserve burn (`_burn(pool) + sync()` inside the token's sell path)",null,null,"~137,320 USDT","A PancakeSwap-V2 pair prices assets purely from its reserves and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists to let a pair re-read its real token balances — it trusts that balances only change via `mint`/`burn`/`swap`/honest transfers. `LAXOToken._transfer` violates that trust on every sell: On a sell it destroys LAXO held by the pair (`super._transfer(uniswapV2Pair, DEAD, actualBurn)`) and then calls `pair.sync()`, declaring the pair's LAXO reserve smaller. No USDT leaves the pair. [continues]","rootCause",1],["2026-02-Moonwell","Moonwell cbETH Oracle Incident — Mispriced Collateral Enables Near-Free Liquidation","incident","DeFiHackLabs","2026-02","Base",["vuln/oracle/stale-price","vuln/oracle/missing-validation"],["oracle"],"Oracle integrity failure — unbounded/unchecked Chainlink answer feeds liquidation math (no deviation/min-max sanity bound)",null,null,"~$1.78M protocol-wide bad debt","The proximate trigger was a bad Chainlink `cbETH/USD` round (~$1.12). The reason that off-chain glitch became a $1.78M on-chain loss is a missing oracle integrity layer in Moonwell: 1. No price-deviation / circuit-breaker guard. A correct lending oracle should reject a price that moves >X% from the previous accepted value, or that falls outside a hard min/max band, and should pause/fall-back rather than feed it to liquidations. Moonwell's oracle only checks `answer > 0`. [continues]","rootCause",1],["2026-02-XDKRecycle","XDK Exploit — Sell-Path \"Recycle\" Removes XDK from the Live Pair and sync()s","incident","DeFiHackLabs","2026-02","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/oracle/spot-price"],["logic","oracle"],"A token sell hook (`_recycleFromBlackHoleOnSell`) that moves the token directly out of its own live AMM pair via `_transfer(uniswapV2Pair, …)` and then calls `pair.sync()`, breaking the constant-product invariant `x·y = k` in favour of whoever holds the token",null,null,"~6.84 WBNB","A Uniswap-V2/PancakeSwap pair prices assets purely from its cached reserves and only enforces `x·y ≥ k` inside `swap()`. `sync()` exists to force the cached reserves to equal the actual token balances — it *trusts* that balances only change through mint/burn/swap. `_recycleFromBlackHoleOnSell` violates that trust: It calls `super._transfer(uniswapV2Pair, …)` to move XDK out of the pair's balance, then calls `pair.sync()` to tell the pair \"your XDK reserve is now this much smaller.\" No GPC ever leaves the pair. [continues]","rootCause",1],["2026-01-SPRK","2026-01 Sparkle! (SPRK) Tobin-tax self-transfer inflation","incident","Crypto Training","2026-01","Ethereum",[],["untagged"],null,null,null,"~$14.6K","Sparkle! (2019 activist experiment) maintains: Fixed mint/sell price: `COST_PER_TOKEN = 1e14` (10,000 SPRK ↔ 1 ETH gross). 2% Tobin tax on transfers, tracked as `_tobinsCollected` and paid out virtually via `balanceOf`: `transfer` realizes `balanceOf` into hard `_balances` before updating `_tobinsClaimed`, then does the same for the recipient: On self-transfer (`to == msg.sender`): 1. First write stores realized balance minus value/tax, but leaves `_tobinsClaimed` stale. [continues]","rootCause",1],["64791-mint-pricing-bypasses-oracle-validation-spearbit-none-buck-l","Buck Labs — mint price skips the oracle check","audit-finding","AuditVault","2026-01",null,["vuln/oracle/missing-circuit-breaker","vuln/oracle/price-manipulation"],["oracle"],null,null,"Buck Labs",null,"`latestPrice` is a view. It never updates a circuit breaker and it never requires the two feeds to agree. The first `if (redstoneFresh)` returns immediately, so a depressed but still-fresh primary price is what mint divides by. Pyth at 2e18 is ignored for the whole mint.","rootCause",1],["64790-rewardsengine-v11-missing-distribute-spearbit-none-buck-labs","Buck Labs RewardsEngine — V1.1 never distributes","audit-finding","AuditVault","2026-01",null,["vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Buck Labs",null,"The migration treats V1.1 as a strict superset of V1. The implementation that was reviewed is not. After `upgradeTo`, the proxy's code no longer exposes `distribute(uint256)`. The coupon was already pulled into the proxy by `fund`, which only increases `pending`. Nothing moves `pending` into `claimable`, so the later claim reads zero.","rootCause",1],["2026-01-futureswap","FutureSwap Perpetual Drain — Fee Unit-Mismatch (addFee token-units interpreted as bps/share)","incident","DeFiHackLabs","2026-01","Arbitrum",["vuln/arithmetic/decimal-mismatch","vuln/logic/fee-calculation"],["arithmetic","logic"],"Cross-contract unit / dimension mismatch in fee accounting (token-units vs. basis-points), enabling position over-crediting and inventory drain",null,null,"~394,742.852305 USDC.e net attacker profit","A single quantity — the position fee — crosses a contract boundary while changing its meaning: The engine produces the fee in token units (`|delta| * feeRateWad / 1e18`, a USDC.e amount). The `FeeManager` consumes it as a basis-point / share weight. There is no scaling, no decimals reconciliation, and no upper bound on the value at the boundary. The consequences compose into a critical bug: 1. Dimensional mismatch, unguarded. [continues]","rootCause",1],["65374-users-can-participate-in-an-infinite-number-of-games-they-ha","Majority Protocol — free cross-game participation via unbound questionId","audit-finding","AuditVault","2026-01",null,[],["untagged"],"Missing gameId↔questionId binding in commitReaction","high","Majority Protocol",null,"No validation that `_questionId` belongs to `_gameId` in SessionManager or the strategy.","rootCause",1],["65379-if-multiple-users-call-defaultsessionassertresults-all-but-t","Majority Protocol — multi assertResults causes bond loss for all but first","audit-finding","AuditVault","2026-01",null,[],["untagged"],"No per-session uniqueness on assertDataFor; recordResults reverts on second resolve","high","Majority Protocol",null,"No session-level assertion uniqueness; callback path reverts instead of no-op when winners already recorded.","rootCause",1],["65375-impossible-for-user-to-get-refund-after-re-joining-a-resched","Majority Protocol — re-join after leave permanently locks second entry fee","audit-finding","AuditVault","2026-01",null,[],["untagged"],"hasRefunded not cleared on re-join / rejoin allowed after refund","high","Majority Protocol",null,"`hasRefunded` is sticky across re-joins; `_payEntryFee` does not reset it.","rootCause",1],["65373-attacker-can-drain-all-tokens-from-cancelled-game-since-sess","Majority Protocol — refundCancelledGame missing join check","audit-finding","AuditVault","2026-01",null,[],["untagged"],"Missing join check on refundCancelledGame","high","Majority Protocol (Engage / Majestic Games)",null,"`_refundEntryFee` pays whoever calls; `refundCancelledGame` never gates on join status.","rootCause",1],["65377-impossible-to-claim-rewards-when-ranked-rewards-or-number-of","Majority Protocol — start without ranked rewards locks prize pool","audit-finding","AuditVault","2026-01",null,[],["untagged"],"startAndRevealGameQuestion does not require rewardsConfigured","high","Majority Protocol",null,"No `rewardsConfigured` gate on `startAndRevealGameQuestion`.","rootCause",1],["65378-impossible-to-claim-rewards-when-xptiers-are-not-set-resulti","Majority Protocol — start without XPTiers yields zero unclaimable rewards","audit-finding","AuditVault","2026-01",null,[],["untagged"],"startAndRevealGameQuestion does not require XP tiers","high","Majority Protocol",null,"No XP-tiers configured check on game start.","rootCause",1],["2026-01-makina","Makina Finance Exploit — Self-Referential AUM Oracle Manipulation via Permissionless Re-Accounting","incident","DeFiHackLabs","2026-01","Ethereum",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Price-oracle manipulation — self-referential NAV oracle valued from flash-loan-manipulable spot AMM state, refreshable by anyone",null,null,"~$5.1M USDC drained from the DUSD/USDC pool","The protocol built a circular pricing dependency with no manipulation resistance: 1. NAV is valued from spot AMM reserves. `Caliber._accountForPosition` runs a Weiroll script that reads `balances()` and `get_virtual_price()` of the very Curve pools an attacker can move with a flash loan. There is no TWAP, no `min`/`max` bound on the per-call value change, and no comparison against an independent reference. The merkle allowlist only constrains *which script* runs — not the *values* it reads. [continues]","rootCause",1],["2026-01-MTToken","MT Token Exploit — Fee-on-Transfer Overcharge Drains the AMM Pair via skim()+sync()","incident","DeFiHackLabs","2026-01","BNB Chain",["vuln/arithmetic/overflow","vuln/logic/fee-calculation"],["arithmetic","logic"],"Fee-on-transfer accounting flaw — unbounded fee-share list (`sum(shares) > 100%`) causes sender over-debit; AMM pair becomes the over-charged sender",null,null,"~36,995.24 USDT net pool loss","The fee distribution loop treats `ContractorsFee[setType][i]` as a percentage of `transactFeeValue` (`value = transactFeeValue × pct / 100`), but the protocol filled those arrays with values (`1000, 1200, 2200`) that are far above 100, and *the credited side of the transfer only subtracts one `transactFeeValue`*. Two specific design failures compose into a critical bug: 1. No conservation invariant on the fee split. [continues]","rootCause",1],["2026-01-PRXVT","PRXVT Staking Exploit — Transferable Reward-Receipt Token Resets userRewardPerTokenPaid","incident","DeFiHackLabs","2026-01","Base",["vuln/logic/state-update","vuln/logic/reward-calculation"],["logic"],"Synthetix-StakingRewards reward-accounting flaw — freely transferable receipt token with no `updateReward` hook on transfer, so a recipient with `userRewardPerTokenPaid == 0` claims the entire historical `rewardPerToken` against transferred shares",null,null,"~32.8 ETH","The Synthetix `StakingRewards` accounting pattern is only safe when the share token's transfers run `updateReward` for both the sender and the receiver (which is why canonical Synthetix makes the staked balance non-transferable / internal, and why staked-token wrappers must hook transfers). The per-user checkpoint `userRewardPerTokenPaid` encodes \"the value of `rewardPerToken` at the moment this account last had its rewards settled.\" [continues]","rootCause",1],["64703-h-01-it-is-possible-to-purchase-in-game-items-without-signin","Ruyui — a shop purchase without signup mints 100 CREDIT for 0","audit-finding","AuditVault","2026-01",null,["vuln/access-control/missing-check","vuln/logic/missing-validation"],["access-control","logic"],"Purchase does not require signup","high","Roots of Embervault, Ruyui shop",null,"Signup is what records the user and the referee. The purchase path updates per-user item state and pays credit as if that had already happened. Skipping it grants the item and the credit without the signup fee and without a referee.","rootCause",1],["65328-user-can-bypass-lock-and-withdraw-stake-anytime-cyfrin-none","Statusl — bypass stake lock via leave + migrateToVault","audit-finding","AuditVault","2026-01",null,[],["untagged"],"Missing `hasLeft` guard on migration target","high","Status Network / Statusl",null,"Migration only checks registration and zero staked balance. A vault that has left is empty and still registered, so it accepts a migrate that writes `lockUntil = 0`.","rootCause",1],["65329-global-mp-cap-invariant-can-be-broken-on-unstake-causing-ari","Statusl — global MP cap broken on unstake causes permanent DoS","audit-finding","AuditVault","2026-01",null,[],["untagged"],"Broken invariant `totalMPAccrued <= totalMaxMP` → underflow","high","Status Network / Statusl",null,"Local vault MP gap (`maxMP > mpAccrued`) is projected onto global aggregates without preserving the global cap invariant.","rootCause",1],["2026-01-SynapLogic","SynapLogic Exploit — Uncapped Cumulative Refunds in the Token Sale buy / swap Path","incident","DeFiHackLabs","2026-01","Base",["vuln/input-validation/boundary","vuln/logic/missing-validation"],["input-validation","logic"],"Missing aggregate / loop-bound validation (uncapped cumulative refund — a logic / accounting flaw)",null,null,"~27.65 ETH","A correct percentage-split refund must satisfy the invariant `Σ refund_i ≤ payment` (or, more strictly, `Σ rates_i ≤ 100`). SynapLogic enforced only the *local* constraint `rate_i ≤ 10` and computed each refund against the full payment amount, with no aggregate guard. Three independent missing checks compose into the bug: 1. No cumulative-rate cap. Nothing checks `Σ rates[i] ≤ 100`. Ten entries of 10% already reach 100%; anything beyond is pure theft. 2. No array-length bound. [continues]","rootCause",1],["2026-01-Truebit","Truebit Exploit — Inverted getPurchasePrice Lets Anyone Buy TRU For Free, Then Sell For ETH","incident","DeFiHackLabs","2026-01","Ethereum",["vuln/logic/price-calculation","vuln/arithmetic/division-before-multiply"],["logic","arithmetic"],"Inverted/mis-ordered bonding-curve price formula → free mint + asymmetric reserve payout",null,null,"8,539.41 ETH drained from the bonding-curve pool","A single transposed pair of operands in `_SafeDiv` turns the buy-side price upside down: `getPurchasePrice` returns `(25·T²) / (200·A·R·T + 100·A²·R)` instead of its reciprocal. The result monotonically decreases with the requested `amount` and floors to `0` for any large `amount`. A user can therefore mint an arbitrarily large quantity of TRU for 0 ETH. Three independent design facts compose into a total drain: 1. Inverted price → free buys. [continues]","rootCause",1],["64041-c-01-unrestricted-router-allows-unauthorized-merkle-root-set","AmpleEarn — unrestricted router allows unauthorized merkle root setting","audit-finding","AuditVault","2025-12",null,[],["untagged"],"Router batchSetMerkleRootsStrict has no auth; vault setMerkleRoots authorizes msg.sender, which is the router when not routed through EVC","high","AmpleEarn",null,"Router batchSetMerkleRootsStrict has no auth; vault setMerkleRoots authorizes msg.sender, which is the router when not routed through EVC","rootCause",1],["64955-h-1-user-can-abuse-rounding-issue-in-order-to-borrow-unbacke","Monolith — free-debt rounding allows unbacked borrow","audit-finding","AuditVault","2025-12",null,[],["untagged"],"Rounding / residual free-debt shares","high","Monolith Stablecoin Factory",null,"`increaseDebt` treats an empty free-debt pool as a fresh 1:1 market even when `totalFreeDebtShares > 0`. Residual shares from round-up + redeem-all-but-1 make that pool non-empty in share terms while empty in debt terms, so new borrowers receive full coin mint with a diluted liability.","rootCause",1],["65027-h-03-commission-fees-can-always-be-bypassed-code4rena-panopt","Panoptic — commission fees can always be bypassed","audit-finding","AuditVault","2025-12",null,[],["untagged"],"fee-calculation","high","Panoptic",null,"min(premium, notional) with zero notional on settle path; gate on realizedPremium != 0.","rootCause",1],["65026-h-02-cross-contract-reentrancy-in-liquidation-enables-conver","Panoptic — cross-contract reentrancy converts phantom shares to real shares","audit-finding","AuditVault","2025-12",null,[],["untagged"],"cross-contract","high","Panoptic",null,"ETH refund reentrancy window + revoke treating transferred phantom as consumed.","rootCause",1],["2025-12-RibbonMarginPool","Ribbon Finance MarginPool — corrupted oToken expiry prices via pricer proxy takeover","incident","Crypto Training","2025-12",null,["vuln/oracle/price-manipulation","vuln/access-control/broken-logic","vuln/logic/incorrect-calculation","vuln/dependency/upgradeable-contract"],["oracle","access-control","logic","dependency"],"Pricer ownership/upgrade path → wrong-scale `setExpiryPrice` → OTM call redeem as ITM",null,null,"~$2.7M","1. Centralized pricer ownership / upgradeability with a registry function that could reassign ownership of live pricers used for settlement. 2. No validation that expiry prices match live oracle scale (1e8 USD) or stay within a band of spot. 3. Settlement math trusts finalized expiry prices fully → incorrect ITM payouts from MarginPool.","rootCause",1],["2025-12-yETH","yETH Weighted-StableSwap Exploit — Invariant Rounding Drift Mints Unbacked LP","incident","DeFiHackLabs","2025-12","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"Broken AMM invariant via accumulated rounding drift in the iterative D-invariant / `_pow` math (unbacked LP mint)",null,null,"~$9M — the pool's entire LSD reserve: ~2,587 ETH-equivalent across 8 liquid-staking tokens","The protocol's safety relies on a single mathematical invariant relating Π, Σ and the supply `D`. But that invariant is enforced with finite-precision, incrementally-maintained state: 1. Π is cached and mutated, never reconstructed. `add/remove_liquidity` and `update_rates` carry the previous `vb_prod` forward and multiply it by a *rounded* power term. The pool never recomputes Π from the current balances (except on the very first deposit via `_calc_vb_prod_sum`). [continues]","rootCause",1],["62026-lockup-period-for-unstaking-can-be-decreased-by-staking-agai","A shorter SapienVault top-up pulls the whole lock forward","audit-finding","AuditVault","2025-11","Ethereum",["vuln/governance/timelock-bypass"],["governance"],"Weighted-average unlock lets a larger short lock replace a longer one",null,null,"11000 tokens unlock 26312728 seconds earlier than the 365-day stake","The average treats a shorter lock as a reason to reduce time already committed, instead of as a deposit that must last at least as long.","rootCause",1],["2025-11-BalancerV2","Balancer V2 Exploit — ComposableStablePool Rounding-Error Drain via Rate-Scaled _upscale/_downscale","incident","DeFiHackLabs","2025-11","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"Accumulated rounding error / broken-invariant; \"negligible rounding\" assumption violated by an overridden non-integer scaling factor",null,null,"~$120M total across many affected ComposableStablePools","1. A correctness invariant (\"scaling is lossless\") was true for the base pool but silently broken by a subclass. `BasePool._upscale` documents that there is \"no rounding error unless `_scalingFactor()` is overridden\". `ComposableStablePool` overrides exactly that, folding a live, non-integer market rate into the factor — so the safety assumption is violated for every rate-provided pool. Nobody re-derived the rounding bound after the override. 2. The rounding direction is adversary-favorable and uncapped per swap. [continues]","rootCause",1],["2025-11-DRLVaultV3","DRLVaultV3 Exploit — Self-Referential Slippage Lets a Manipulated Pool Set Its Own \"Minimum Out\"","incident","DeFiHackLabs","2025-11","Ethereum",["vuln/defi/slippage","vuln/oracle/spot-price"],["defi","oracle"],"Oracle / slippage self-reference: trade size-protection derived from the same manipulable spot pool",null,null,"~$100,000","A slippage check is only meaningful if its reference value (the \"expected\" output) is independent of the venue you trade on. `DRLVaultV3` violates this completely: The \"minimum out\" is computed from `QuoterV2`, which simulates a swap on the same pool that `swapRouter.exactInputSingle` then trades against. Whatever price the attacker forces the pool to, the quoter reports *that* price, and the slippage floor collapses to match. The 0.5% tolerance is measured against a number the attacker controls. [continues]","rootCause",1],["64140-h-01-attacker-can-steal-jackpotticketnfts-from-jackpotbridge","Megapot — Attacker can steal JackpotTicketNFTs from JackpotBridgeManager","audit-finding","AuditVault","2025-11",null,[],["untagged"],"User-controlled external call in `_bridgeFunds` after USDC approve","high","Megapot",null,"User-controlled low-level call in `_bridgeFunds` with no whitelist / RelayTxData validation.","rootCause",1],["64142-h-03-lp-pool-cap-may-be-exceeded-on-drawing-settlement-code4","Megapot — LP pool cap may be exceeded on drawing settlement","audit-finding","AuditVault","2025-11",null,[],["untagged"],"processDrawingSettlement computes newLPValue without the same pool-cap clamp used on deposits","high","Megapot",null,"processDrawingSettlement computes newLPValue without the same pool-cap clamp used on deposits","rootCause",1],["64141-h-02-unoptimized-subset-matches-counting-implementation-will","Megapot — Unoptimized subset matches counting exceeds Base tx gas limit","audit-finding","AuditVault","2025-11",null,[],["untagged"],"Uncached `generateSubsets` inside `bonusballMax × normalTiers` nested loops","high","Megapot",null,"Uncached combinatorial subset generation inside nested settlement loops.","rootCause",1],["2025-11-Moonwell","Moonwell Exploit — Corrupted wrsETH Oracle ⇒ Borrow ~$88K Against ~$0.07 of Collateral","incident","DeFiHackLabs","2025-11","Base",["vuln/oracle/wrong-feed","vuln/oracle/missing-validation"],["oracle"],"Oracle price corruption — unbounded/unsanitized exchange-rate feed propagated into collateral valuation",null,null,"~$1M total across Moonwell markets","The wrsETH price for Moonwell is the product of an ETH/USD feed and a wrsETH→ETH exchange-rate feed. That second feed is supposed to track the LST redemption ratio, which for a healthy liquid-staking token sits within a tight band around `1.0`. At the attack block this rate feed was reporting `1,649,934.6` — about 1.65 million× too high. Whether the upstream rate provider was itself compromised/mis-configured or fed a bad update, the failure that turned it into a $1M loss is inside Moonwell's oracle layer: [continues]","rootCause",1],["65287-h-01-forced-premature-position-liquidation-through-withdrawa","Pear — a withdrawal closes the position and it loses 50 collateral","audit-finding","AuditVault","2025-11",null,["vuln/logic/liquidation-logic","vuln/logic/state-update"],["logic"],"Withdrawal forces a liquidation","high","Pear vault",null,"The queue checks that the caller has the shares. It does not check that the asset value of those shares fits in liquid cash. A withdrawal larger than cash forces the position closed, including at a loss.","rootCause",1],["64739-h-01-stake-manipulation-during-cooldown-period-allows-probab","Souls.club — staking during the cooldown flag wins 100 PRIZE the attacker should not","audit-finding","AuditVault","2025-11",null,["vuln/logic/reward-calculation","vuln/logic/wrong-condition"],["logic"],"Stake changes the odds after the round has locked","high","Souls.club Wheel",null,"`joinGame` keeps adding to `stakeByPlayer` after the session has activated. The winner is stake-weighted, so a deposit during that window changes who roll 50 hits.","rootCause",1],["64079-h-1-attacker-can-profit-by-manipulating-uniswap-liquidity-sh","stNXM — attacker profits by manipulating Uniswap liquidity via slot0","audit-finding","AuditVault","2025-11",null,[],["untagged"],"dexBalances reads Uniswap V3 slot0 spot price to value LP inside totalAssets","high","stNXM by EaseDeFi",null,"dexBalances reads Uniswap V3 slot0 spot price to value LP inside totalAssets","rootCause",1],["62973-accountableopenterm-loan-interest-cannot-be-repaid-once-prin","Accountable — AccountableOpenTerm interest cannot be repaid once principal hits zero","audit-finding","AuditVault","2025-10",null,["vuln/logic/debt-accounting"],["logic"],"Principal-first debt model leaves virtual interest unpayable after Repaid","high","Accountable — `AccountableOpenTerm`",null,"Liability is tracked as principal with a separate virtual scale factor, but the only funding paths reduce principal first. Hitting principal zero is treated as full repayment even when scale factor implies unpaid interest.","rootCause",1],["62968-cancelling-redeem-requests-permanently-blocks-the-withdrawal","Accountable — Cancelling redeem requests permanently blocks the withdrawal queue","audit-finding","AuditVault","2025-10",null,["vuln/liveness/queue-deadlock","vuln/logic/pointer-not-advanced"],["liveness","logic"],"Empty-head queue deadlock (pointer not advanced on deleted entry)","high","Accountable (credit vaults) — `AccountableWithdrawalQueue`",null,"Deleted head slots are treated as “processed” but the loop still breaks on `shares_ == 0` without advancing the pointer. The cancel path clears storage without moving `nextRequestId`, so a single dust cancel at the head bricks the entire queue.","rootCause",1],["2025-10-BaseSwapCallback","BaseSwapCallback Exploit — Public uniswapV3SwapCallback Approval Drain","incident","Crypto Training","2025-10","Base",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing callback authentication — any contract that implements `token0()` can invoke `uniswapV3SwapCallback` and `transferFrom` prior approvers",null,null,"~55.51 WETH","Correct Uniswap V3 integrators must authenticate the callback, e.g. via `CallbackValidation.verifyCallback(factory, PoolAddress.PoolKey({...}))` so that `msg.sender == factory.getPool(token0, token1, fee)`. This contract either: omits factory verification entirely, or; only checks that `msg.sender` responds to `token0()` / returns a non-zero token,; which is trivial to spoof. Combined with arbitrary `payer` in callback `data`, any residual ERC-20 allowance becomes freely stealable. [continues]","rootCause",1],["63719-h-01-bonuses-obtainable-without-proper-locking-due-to-flawed","BOB Staking — Bonuses obtainable without proper locking","audit-finding","AuditVault","2025-10",null,["vuln/logic/wrong-condition"],["logic"],"Wrong condition: only enforces lock match when stored `lockPeriod != 0`","high","BOB Staking + BonusWrapper",null,"Lock-period immutability is only enforced for non-zero prior locks. Zero is treated as \"unset\" even after a successful stake that already initialized unlock timing.","rootCause",1],["63720-h-02-delegating-to-address0-empties-contract-via-altergovern","BOB Staking — Delegating to address(0) empties contract via alterGovernanceDelegatee","audit-finding","AuditVault","2025-10",null,["vuln/logic/missing-check"],["logic"],"Missing zero-address reject + wrong \"first delegation\" branch after undelegate","high","BOB Staking",null,"`address(0)` is both the \"not yet delegated\" sentinel and an allowed target. After a real undelegate-to-zero, the user's tokens sit in the zero surrogate, but the next re-delegate reuses the first-time path that pulls from the main contract.","rootCause",1],["63717-c-01-instantwithdraw-does-not-transfer-amountforcontract-lo","BOB Staking — instantWithdraw does not transfer amountForContract","audit-finding","AuditVault","2025-10",null,["vuln/logic/frozen-funds"],["logic"],"Incomplete token path when stake is delegated","high","BOB Staking",null,"The delegated and non-delegated withdraw paths are asymmetric: only the non-delegated path leaves the penalty in the staking contract naturally. The delegated path never repatriates it.","rootCause",1],["64195-h-1-pool-managers-can-steal-all-other-pools-pending-deposits","Centrifuge v3.1 — pool managers steal other pools pending deposits","audit-finding","AuditVault","2025-10",null,[],["untagged"],"Spoke.requestCallback uses current requestManager without binding to the manager that created the request","high","Centrifuge Protocol v3.1",null,"Spoke.requestCallback uses current requestManager without binding to the manager that created the request","rootCause",1],["63707-h-01-assets-deposited-before-calculating-shares-amount-to-mi","Hybra Finance — Assets deposited before calculating shares to mint","audit-finding","AuditVault","2025-10",null,["vuln/logic/wrong-order"],["logic"],"Wrong order: assets updated before share mint math","high","Hybra Finance (GovernanceHYBR)",null,"Share mint uses a denominator that already includes the caller's own assets, so those assets are treated as if they were prior rewards.","rootCause",1],["63700-h-1-seller-pays-buyers-trade-fee-in-token-swaps-leading-to-s","Index Fun: the seller pays the buyer's trade fee on a token swap","audit-finding","AuditVault","2025-10","Ethereum",["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],"Buyer fee subtracted from the seller's proceeds instead of charged on top",null,null,"Seller receives 594 of a 600 price","The token-swap settlement treats the fee as a slice of the seller's price. The JIT path treats it as an additional debit of the buyer. Sellers who already hold outcome tokens, which is the token-swap path, are paid less than the price they listed by exactly the buyer's fee.","rootCause",1],["2025-10-MIMSpell3","MIM Spell (\"MIMSpell3\") Exploit — Collateral-Free MIM Mint from Privileged Cauldrons","incident","DeFiHackLabs","2025-10","Ethereum",["vuln/logic/missing-check","vuln/access-control/missing-auth"],["logic","access-control"],"Missing collateral/solvency check on borrow (broken access/risk control); undercollateralized \"mint\"",null,null,"~$1.7M","The borrow path in the deployed privileged-cauldron master implementation does not verify that the borrower is solvent (or even that any borrow cap is respected). Concretely: 1. No collateral requirement on borrow. `cook(ACTION_BORROW)` mints MIM out of the cauldron's DegenBox balance to `to`, but the end-of-cook `require(_isSolvent(...))` that should reject a zero-collateral borrower is absent from the runtime. So a fresh address with `userCollateralShare == 0` can borrow. 2. No borrow cap. [continues]","rootCause",1],["62865-incorrect-account-assignment-in-token-burning-logic-trailofb","Radius EVMAuth — a burn debits the zero address and leaves the holder unchanged","audit-finding","AuditVault","2025-10",null,["vuln/logic/wrong-condition","vuln/logic/state-update"],["logic"],"Burn debits the wrong account, so the holder's balance is not reduced","high","Radius Technology EVMAuth",null,"The burn account is taken from the transfer's `to` parameter. On a burn that parameter is the zero address by convention, not the token holder. The subsequent group burn and prune therefore never touch the holder, and the revert rolls back the whole debit.","rootCause",1],["62867-missing-debt-validation-in-group-transfer-function-trailofbi","Radius EVMAuth — a group transfer releases collateral while debt remains","audit-finding","AuditVault","2025-10",null,["vuln/logic/missing-check","vuln/logic/state-update"],["logic"],"Expired groups are skipped, so a transfer can finish short and still move collateral","high","Radius Technology EVMAuth",null,"Expired groups are skipped instead of being counted against the requested amount, and the function does not fail when the live groups cannot cover it. The ERC1155 update and the collateral transfer are sized from the requested amount, so they can move more value than the group ledger transferred.","rootCause",1],["62868-missing-debt-validation-in-group-burn-function-trailofbits-n","Radius EVMAuth — group burn returns while debt remains","audit-finding","AuditVault","2025-10",null,["vuln/logic/missing-check","vuln/logic/accounting"],["logic"],null,null,"Radius Technology EVMAuth",null,"Expired groups are skipped with `continue` and are not counted toward the burn. When the live groups cannot cover `amount`, `debt` is still positive at the end of the loop. Nothing reverts. The ERC1155 balance is updated as if every requested token was burned, and the collateral refund follows that balance change. The group array does not.","rootCause",1],["63777-signatures-on-tokenbank-and-allowlist-can-be-reused-in-perpe","Remora — buyTokenOCP signatures reusable forever (missing nonce)","audit-finding","AuditVault","2025-10",null,["vuln/signature/missing-nonce","vuln/auth/replay","vuln/logic/free-mint"],["signature","auth","logic"],"Signature replay (missing nonce)","high","Remora Dynamic Tokens",null,"Off-chain-payment authorization is a pure function of static fields. Without a one-time nonce, each signature is a free mint coupon of unlimited use.","rootCause",1],["63780-divide-before-multiply-loses-precision-in-fivefiftyrule-upda","Remora — div-before-mul in FiveFiftyRule::_updateEntityAllowance exceeds caps","audit-finding","AuditVault","2025-10",null,["vuln/arithmetic/division-before-multiply","vuln/arithmetic/precision-loss"],["arithmetic"],"Division before multiplication / precision loss","high","Remora Dynamic Tokens",null,"Solidity integer division truncates toward zero. Dividing the large denominator by equity first collapses precision before scaling by `amount`.","rootCause",1],["63779-migrating-the-existing-locks-for-an-investor-when-is-resolve","Remora — resolveUser lock migration can be griefed to extend lock duration","audit-finding","AuditVault","2025-10",null,["vuln/dos/griefing","vuln/logic/ordering"],["dos","logic"],"Ordering grief / frontrun during investor resolve","high","Remora Dynamic Tokens",null,"Migration assumes `newAddress` has no prior locks (or that append preserves chronological order). Combined with short-circuit unlock, a single newer front entry freezes older matured ones.","rootCause",1],["63776-signaturevalidatorsetallowlist-is-unrestricted-leading-to-fr","Remora — unrestricted SignatureValidator::setAllowlist enables free buyTokenOCP","audit-finding","AuditVault","2025-10",null,["vuln/access-control/missing-modifier","vuln/auth/allowlist-spoof","vuln/logic/free-mint"],["access-control","auth","logic"],"Missing access control on allowlist mutation → signature-authority spoof → free mint","high","Remora Dynamic Tokens",null,"Authorization for off-chain-payment buys is entirely delegated to `allowlist.isSigner(signer)`. Making the allowlist pointer world-writable collapses that trust root.","rootCause",1],["64373-investors-can-steal-tokens-from-other-investors-since-standa","Securitize DSToken — unapproved transferFrom theft","audit-finding","AuditVault","2025-10",null,["vuln/logic/missing-check","vuln/access-control/broken-logic"],["logic","access-control"],null,null,null,null,"The contract exposes the ERC20 `transferFrom` interface but omits the authorization invariant that distinguishes it from an unrestricted administrative transfer.","rootCause",1],["63761-h-02-partial-signature-replayfrontrunning-attack-on-session","Sequence — partial session-signature replay / frontrun (H-02)","audit-finding","AuditVault","2025-10",null,["vuln/signature/partial-replay","vuln/mev/frontrun","vuln/bridge/replay"],["signature","mev","bridge"],"Partial signature replay / mempool frontrun of multi-call sessions","high","Sequence — `Calls.sol` + `SessionSig.sol`",null,"Atomic multi-call semantics are enforced only by full-tx revert, but authorization is per-call. When the revert also rolls back nonce consumption, every proper prefix of a signed multi-call remains a valid standalone payload.","rootCause",1],["2025-10-SharwaFinance","Sharwa Finance Exploit — Margin Position Closed Against an Attacker-Manipulated Spot Pool (No Slippage Bound)","incident","DeFiHackLabs","2025-10","Arbitrum",["vuln/oracle/spot-price","vuln/defi/slippage"],["oracle","defi"],"Spot-price (AMM) manipulation via flash loan; missing slippage / oracle bound on swap execution; debt accounting tied to manipulable swap proceeds",null,null,"~$146,000 total","The protocol treats two different prices as if they were the same: Quote price at open (`quoteExactOutput`) — sets how much USDC is borrowed (the debt). Execution price at close (`exactInput` with `amountOutMinimum = 0`) — sets how much USDC actually comes back and how much debt is repaid. Because the closing swap has no slippage floor and the repayment is pinned to its raw proceeds, an attacker who controls the spot pool price *at the moment of closing* controls how much of the debt actually gets repaid. [continues]","rootCause",1],["63008-all-rewards-can-be-stolen-due-to-incorrect-active-liquidity","Sorella L2 Angstrom — All rewards can be stolen via incorrect active liquidity at boundary ticks","audit-finding","AuditVault","2025-10",null,["vuln/arithmetic/underflow","vuln/logic/reward-calculation"],["arithmetic","logic"],"Off-by-one tick iterator → understated active L → inflated growth-per-liquidity","high","Sorella L2 Angstrom",null,"Boundary-tick off-by-one in the down iterator. Liquidity that becomes active when leaving the upper bound is never folded into the reward growth denominator, so growth-per-unit-liquidity is inflated exactly in the window an attacker can occupy.","rootCause",1],["63224-mechanism-to-prevent-donation-attack-can-be-gamed-to-cause-w","Strata Tranches — donation-prevention gamed → withdrawals stuck","audit-finding","AuditVault","2025-10",null,[],["untagged"],"Donation inflation under min-share floor","high","Strata Tranches",null,"Donate to Strategy before first deposit → first mint is 1 wei of shares. Later large deposits still leave `totalSupply < MIN_SHARES`. Every withdraw reverts; capital stuck.","tldr",1],["63222-withdrawers-of-susde-always-incur-a-loss-because-parameters","Strata Tranches — sUSDe withdrawers always incur a loss (inverted CDO params)","audit-finding","AuditVault","2025-10",null,[],["untagged"],"Swapped call arguments","high","Strata Tranches v2.0",null,"Argument order mismatch between Tranche and CDO/Strategy withdraw APIs.","rootCause",1],["63223-users-can-get-their-withdrawal-active-requests-dosed-by-mali","Strata Tranches — withdrawal active requests DoS'd by malicious users","audit-finding","AuditVault","2025-10",null,[],["untagged"],"Missing access control + unbounded finalize loop","high","Strata Tranches · UnstakeCooldown",null,"Anyone can call `transfer(..., victim, 1 wei)` and inflate the victim's request array. `finalize` iterates all entries → OOG after ~35k spam (shown via sample×extrapolate).","tldr",1],["2025-10-TokenHolder","TokenHolder / BorrowerOperationsV6 Exploit — Privileged-Role Confused-Deputy Drain via sell()'s Arbitrary Call","incident","DeFiHackLabs","2025-10","BNB Chain",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["dependency","access-control"],"Confused deputy / privileged-role abuse via unrestricted arbitrary external call (no caller auth, no router/token whitelist)",null,null,"20 WBNB drained from the protocol's `TokenHolder` vault per `sell()` call","The vulnerability is a confused deputy: a privileged actor (`BorrowerOperationsV6`, holder of `BORROWER_ROUTER_ROLE`) performs an arbitrary, attacker-specified external call with no restriction on the target or calldata. Four compounding decisions turn this into a free drain: 1. Unrestricted arbitrary call. `inchRouter.call(sellingCode)` lets the caller make `BorrowerOperationsV6` invoke *any* function on *any* contract, with `msg.sender == BorrowerOperationsV6`. [continues]","rootCause",1],["63176-h-10-takers-can-pay-significantly-less-fees-with-makers-losi","Ammplify — H-10: subtreeBorrowedX/Y is node-only (makers underpaid)","audit-finding","AuditVault","2025-09",null,[],["untagged"],null,"high","Ammplify",null,"1. Child holds large `subtreeBorrowed`; parent holds small own borrow. 2. Fee charge on parent adds only `parent.subtreeBorrowedX` (node-only). 3. Child mass ignored → fees ~418 vs correct ~20979 in the demo numbers. 4. Takers underpay; makers lose the residual.","tldr",1],["63177-h-11-takers-pay-significantly-higher-fees-than-expected-due","Ammplify — H-11: Segment-split geometric-mean borrow overstates taker fees","audit-finding","AuditVault","2025-09",null,[],["untagged"],null,"high","Ammplify",null,"1. Full-range borrow at one GM tick is the economically intended base. 2. Segment tree stores liq in multiple nodes; each uses its own GM. 3. Sum of segment borrows ≫ full-range borrow (convexity of amounts vs tick). 4. Fee = rate × inflated base → takers overcharged.","tldr",1],["63169-h-3-mismatch-in-actual-pools-liquidity-and-pool-nodes-liquid","Ammplify — H-3: Pool liquidity vs node liquidity mismatch from wrong PoolWalker.settle route","audit-finding","AuditVault","2025-09",null,["vuln/logic/fee-calculation"],["logic"],"Off-by-one tree index → wrong settlement route","high","Ammplify (itos-finance)",null,"Asymmetric exclusive-high indexing between modify and settle. Routes diverge on the right key, so settlement can miss the dirty right leaf that modify updated.","rootCause",1],["63171-h-5-borrow-fee-uses-apy-as-per-second-rate-causing-extreme-o","Ammplify — H-5: Borrow fee uses APY as per-second rate (extreme overcharge)","audit-finding","AuditVault","2025-09",null,[],["untagged"],"Unit mismatch (annual rate × seconds)","high","Ammplify (itos-finance)",null,"Annual rate applied as if it were already a per-second rate. Library docs (`SmoothRateCurveLib`) define SPR = APR / 31_536_000; the walker never applies that conversion.","rootCause",1],["63172-h-6-user-can-lose-all-funds-when-creating-or-increasing-comp","Ammplify — H-6: First-deposit share inflation steals compounded maker deposits","audit-finding","AuditVault","2025-09",null,[],["untagged"],"ERC-4626-style first depositor inflation on per-segment vaults","high","Ammplify (itos-finance)",null,"Floor division on share mint plus donation-inflatable total liquidity. Minimum liquidity is not a minimum-share guard.","rootCause",1],["63173-h-7-makercollectfees-re-targets-liquidity-to-original-amount","Ammplify — H-7: collectFees re-targets original asset.liq after adjustMaker","audit-finding","AuditVault","2025-09",null,[],["untagged"],null,"high","Ammplify",null,"1. `newMaker` stores `asset.liq = 300e18`. 2. `adjustMaker` sets live liq to `100e18` but leaves `asset.liq` unchanged. 3. `collectFees` re-targets to `asset.liq` → position snaps back to 300e18. 4. User who expected fee-only collection is re-exposed (or may brick if diamond underfunded).","tldr",1],["63174-h-8-incorrect-inside-fees-calculation-for-uninitialized-unis","Ammplify — H-8: Uninitialized Uniswap ticks inflate getInsideFees (funds stuck)","audit-finding","AuditVault","2025-09",null,[],["untagged"],null,"high","Ammplify",null,"1. Open maker while ticks uninitialized and price inside range. 2. Snapshot stores `feeGrowthInside = feeGrowthGlobal` (inflated). 3. Settle initializes ticks; later `getInsideFees` returns ~0. 4. `compound` does `new - stored` → underflow; funds stuck forever.","tldr",1],["63175-h-9-liquidity-borrowed-from-or-repaid-to-parent-nodes-is-not","Ammplify — H-9: Parent borrow marks sibling but settle skips sibling mint","audit-finding","AuditVault","2025-09",null,[],["untagged"],null,"high","Ammplify",null,"1. Taker demand on a child forces borrow from parent. 2. Sibling also receives `preBorrow` (parent liq = both children). 3. Settle walks only the op route (child+parent), not sibling. 4. Uniswap never mints sibling liq → accounting lies; price games steal funds.","tldr",1],["63167-ammplify-maker-spot-price","Ammplify maker spot-price manipulation — AuditVault 63167","audit-finding","AuditVault","2025-09",null,["vuln/oracle/spot-price","vuln/defi/fee-manipulation"],["oracle","defi"],null,null,null,null,"Maker deposits value liquidity using a manipulable Uniswap spot price.","tldr",1],["63179-ammplify-malicious-pool","Ammplify malicious pool address — AuditVault 63179","audit-finding","AuditVault","2025-09",null,["vuln/input-validation/missing","vuln/access-control/missing-auth"],["input-validation","access-control"],null,null,null,null,"newMaker accepts an attacker-controlled pool and transfers protocol token accounting to it.","tldr",1],["63168-h-2-all-taker-collateral-and-collected-fees-can-be-stolen-by","Ammplify: a maker callback moves the spot and the mint spends taker collateral","audit-finding","AuditVault","2025-09","Ethereum",["vuln/reentrancy/single-function","vuln/oracle/spot-price"],["reentrancy","oracle"],"Mint amounts after the RFT callback are not checked against the quote",null,null,"Maker nets 9,910 token1","The charge is computed before an untrusted callback, and the mint is executed after it, against the diamond's own balances. The callback is allowed to change the pool spot. The amounts the pool then requests are paid from taker collateral.","rootCause",1],["62814-h-7-in-the-incentivegauge-upsertincentive-function-updatepo","BMX — a zero-rate incentive upsert pays a staker for the day before the schedule exists","audit-finding","AuditVault","2025-09",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-order-of-operations"],["logic"],"Pool checkpoint skipped, so the next stream includes time before the incentive","high","BMX Deli Swap, IncentiveGauge",null,"The pool checkpoint and the incentive clock are updated in the wrong order. The incentive's `lastUpdate` becomes `block.timestamp`, but `poolLast` stays at the previous checkpoint whenever the stored rate is 0. The stream formula then treats every second since `poolLast` as time this incentive was active.","rootCause",1],["62812-h-5-rangepooladjusttotick-desyncs-when-nexttick-tick-leading","BMX — adjustToTick stops when nextTick equals the target","audit-finding","AuditVault","2025-09",null,["vuln/logic/incorrect-calculation","vuln/logic/wrong-condition"],["logic"],null,null,"BMX Deli Swap",null,"The gauge and the pool disagree on whether a price that sits on an initialized tick has crossed it. The `<=` break treats \"arrived on the tick\" as \"stop before the tick\". Fee payment then uses the wrong in-range position.","rootCause",1],["62815-h-8-voterfinalize-incorrect-rewards-distribution-due-to-tran","BMX — finalize sends WETH before the reward rate is set","audit-finding","AuditVault","2025-09",null,["vuln/logic/reward-calculation"],["logic"],"Old reward rate is applied to WETH that was just deposited","high","BMX Deli Swap `Voter.finalize`",null,"`distribute` pays the previously configured rate out of whatever balance it finds. Depositing the new epoch's WETH before updating the rate makes that balance include the new pot, and a week of the old rate consumes it in one call.","rootCause",1],["62810-h-3-dosed-voterfinalize-due-to-unbounded-pending-removals-la","BMX — pending removals make finalize run out of gas","audit-finding","AuditVault","2025-09",null,["vuln/dos/unbounded-loop"],["dos"],null,null,"BMX Deli Swap",null,"The rest of finalize is batched. This loop is not. Its cost grows with the pending list, and the reward transfer sits after the loop. The list here is three addresses so the playground stays small. The inner call still dies inside the walk.","rootCause",1],["62813-h-6-reward-token-loss-for-lps-during-nft-position-transfer-s","BMX — transferring an LP NFT pays accrued rewards to the buyer","audit-finding","AuditVault","2025-09",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["logic"],"Reward recipient is the post-transfer NFT owner","high","BMX Deli Swap, DeliHook v4 position transfer",null,"The reward recipient is the current NFT owner. The transfer updates that owner before the claim, so the buyer is paid for rewards the seller accrued. Removing the position afterwards leaves a claimable balance of zero.","rootCause",1],["62808-h-1-gas-consumed-in-notifyunsubscribe-is-underestimated-duri","H-1: notifyUnsubscribe gas underestimation leaves phantom gauge liquidity","audit-finding","AuditVault","2025-09",null,[],["untagged"],null,null,null,null,"Uniswap unsubscribes while Deli gauge keeps full position liquidity (phantom dilution)","tldr",1],["62811-h-4-finalize-window-vote-changing-vulnerability-auto-voters","H-4: Finalize-window auto-vote change manipulates past epoch","audit-finding","AuditVault","2025-09",null,[],["untagged"],null,null,null,null,"Post-epoch auto-vote + live balance counted at finalize; WETH allocation manipulated","tldr",1],["2025-09-Kame","Kame Aggregator Exploit — Unvalidated executor.call() in swap() Drains User Approvals","incident","DeFiHackLabs","2025-09",null,["vuln/dependency/unsafe-external-call","vuln/logic/missing-validation"],["dependency","logic"],"Arbitrary external call / unvalidated executor → approval theft (`transferFrom` abuse)",null,null,"18,167.88 USD","A swap aggregator must (a) be approved by users to move their tokens, and (b) call out to liquidity venues during a route. Those two facts make the router a standing custodian of allowances. The fatal mistake is letting the *caller* of `swap()` choose both the call target and the calldata with no constraints. That turns \"execute my route\" into \"execute any call as the router,\" and because the router holds approvals, the most valuable such call is `transferFrom(any_approver, attacker, their_balance)`. [continues]","rootCause",1],["62350-licreditydecreasedebtshare-bypasses-interest-accrual-cyfrin","Licredity — decreaseDebtShare bypasses interest accrual","audit-finding","AuditVault","2025-09",null,["vuln/accounting/missing-accrual"],["accounting"],"Missing pull-accrual on a “safe” path","high","Licredity v1/v2 — debt share accounting",null,"“Repay-only” was treated as safe and skipped the accrual gate that every other state-changing path hits. The share→balance conversion then uses a stale index.","rootCause",1],["62347-proxy-based-self-liquidation-creates-bad-debt-for-lenders-cy","Licredity — proxy-based self-liquidation creates bad debt for lenders","audit-finding","AuditVault","2025-09",null,["vuln/access-control/insufficient-guard","vuln/logic/liquidation-manipulation","vuln/loss-of-funds/bad-debt"],["access-control","logic","loss-of-funds"],"Insufficient guard: checks only the immediate caller, bypassable by routing the seize through a proxy contract","high","Licredity v2.0 — lending (position/liquidation core)",null,"The guard equates \"owner self-liquidating\" with \"owner is the direct `msg.sender`\". An owner-controlled helper contract breaks that equivalence: it is a distinct `msg.sender` while still acting for the owner. Combined with a liquidation top-up that mints unbacked value, the owner can manufacture profit at the lenders' expense.","rootCause",1],["62349-self-triggered-licredity-afterswap-back-run-enables-lp-fee-f","Licredity — self-triggered afterSwap back-run enables LP fee farming","audit-finding","AuditVault","2025-09",null,["vuln/mev/self-backrun"],["mev"],"Self-triggered back-run that pays a second fee leg to the same LP","high","Licredity v1/v2 — Uniswap v4 hook (`_afterSwap`)",null,"The stabilization back-run is economically equivalent to a free second swap for whoever owns the active liquidity around parity. Dominant LPs double-dip fees with low directional risk.","rootCause",1],["62348-swap-and-pop-without-index-fix-up-corrupts-positions-fungibl","Licredity — swap-and-pop without index fix-up corrupts Position fungibles","audit-finding","AuditVault","2025-09",null,["vuln/data-structure/stale-index","vuln/accounting/desync"],["data-structure","accounting"],"Stale cached index after swap-and-pop","high","Licredity v1/v2 — position collateral accounting",null,"Two structures must stay in sync. The array move is performed; the mapping index is not. Later removals trust the stale index and corrupt neighboring slots.","rootCause",1],["64325-totalbalanceenforcer-validation-bypass-when-mixed-with-state","MetaMask — TotalBalanceEnforcer validation bypass with state-modifying enforcers","audit-finding","AuditVault","2025-09",null,[],["untagged"],"afterAllHook early-returns when shared BalanceTracker was cleaned by a prior TotalBalance enforcer; later enforcers skip validation after mid-chain state changes","high","MetaMask Delegation Framework",null,"afterAllHook early-returns when shared BalanceTracker was cleaned by a prior TotalBalance enforcer; later enforcers skip validation after mid-chain state changes","rootCause",1],["2025-09-NGP","NGP Token Exploit — Sell-Fee Burns NGP Out of the Pair and sync()s, Collapsing the AMM Reserve","incident","DeFiHackLabs","2025-09","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/oracle/spot-price"],["logic","oracle"],"Broken AMM invariant via a fee mechanism that debits the pair's own reserve and `sync()`s",null,null,"~493,467 USDT in this single simulated transaction","A fee-on-transfer token may legitimately tax the sender. NGP's market fee (38%) and burn fee (2%) are taken from `from` (the seller) — that is fine. The fatal mistake is that the treasury (25%) and reward (10%) fees are taken from `mainPair`'s balance, i.e. the protocol pays its own fees out of the liquidity pool's reserves, and then calls `sync()` to make the pool acknowledge the loss. This is an *un-compensated removal of one side of the pool's reserves*: [continues]","rootCause",1],["65202-h-04-code-does-not-scale-accpnlpertoken-in-scalevariables-al","Ostium scaleVariables settles PnL at 20 instead of 10","audit-finding","AuditVault","2025-09",null,["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],null,null,"Ostium",null,"The sign check treats a positive per-token PnL as \"already correct\". It is correct only for the old supply. New shares inherit the old per-token value, so the implied total doubles when the share supply doubles.","rootCause",1],["63422-h-4-bucket-rewards-will-be-wiped-by-stakeunstake-before-accr","Super DCA — H-4: Bucket rewards wiped by stake/unstake before accrue","audit-finding","AuditVault","2025-09",null,[],["untagged"],"Index reset without accrual","high","SuperDCAStaking",null,"After rewards accrue on a bucket, any stake/unstake resets `lastRewardIndex` to current `rewardIndex`. Subsequent `accrueReward` sees delta 0 → paid = 0.","tldr",1],["62663-flawed-precision-and-scaling-logic-in-price-mixbytes-none-nu","Tapio price() — two inverted feeds borrow 10^18 times too much","audit-finding","AuditVault","2025-09",null,["vuln/arithmetic/decimal-mismatch"],["arithmetic"],null,null,"NUTS Finance Tapio",null,"`assetDecimals` is applied inside every inverted iteration, so the accumulator's exponent grows by 18 on each extra inverted feed. With feed price `2e8` and feed decimals `8`, the per-feed multiplier is `5e17`. Starting from `1e36`: after one feed: `5e53`, and `/ 1e36` would still be the fair `5e17`; after two feeds: `2.5e71`, and `/ 1e36` is `2.5e35`; The fair composition is `2.5e17`. The ratio is `1018`.","rootCause",1],["2025-08-0x8d2e","0x8d2e Exploit — Permissionless uniswapV3SwapCallback Drains the Contract's USDC","incident","DeFiHackLabs","2025-08","Base",["vuln/access-control/missing-auth","vuln/access-control/broken-logic"],["access-control"],"Missing access control on an external callback / arbitrary external `transfer` of contract funds",null,null,"40,000 USDC","A Uniswap V3 `swap()` flow works like this: the swapper calls `pool.swap(...)`, the pool optimistically sends the output tokens, then calls `swapper.uniswapV3SwapCallback(amount0Delta, amount1Delta, data)` to demand payment of the input side, then checks its `k` invariant. The entire security of the callback rests on the callback verifying `msg.sender == the_expected_pool` — because the callback *pays tokens out*. [continues]","rootCause",1],["2025-08-0xf340","0xf340 VRF-Wrapper Exploit — Permissionless initVRF() Hijacks the LINK Payment Recipient","incident","DeFiHackLabs","2025-08","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/uninitialized-owner"],["access-control"],"Missing access control / re-initialization on `initVRF()` → attacker controls the LINK transfer recipient",null,null,"~$4,000","A Chainlink VRF consumer pays for randomness by transferring `LINK` to the coordinator. This wrapper made the recipient of that payment a mutable storage variable (slot 41) and exposed a permissionless setter (`initVRF`) for it. The combination is a textbook unprotected-initializer / missing-access-control vulnerability: 1. `initVRF` has no access control and no one-shot guard. It can be called by any address at any time, overwriting the LINK recipient. [continues]","rootCause",1],["2025-08-ABCCApp","ABCCApp Exploit — Permissionless addFixedDay() Vesting Time-Warp Drains the DDDD Reward Reserve","incident","DeFiHackLabs","2025-08","BNB Chain",["vuln/access-control/missing-modifier","vuln/logic/incorrect-state-transition"],["access-control","logic"],"Broken access control on time-sensitive state → reward vesting bypass / reserve drain",null,null,"~10,062 BUSD profit per cycle","The vesting model is sound *only if* `lastClaimTime` and `getFixedDay()` are a trustworthy clock. The fatal composition is: 1. `addFixedDay()` has no access control. It is plainly an admin/operator settlement knob (it mirrors `setSettlePrice`, which uses the same `getFixedDay()` offset), yet it is declared `public` with no `onlyOwner`/`isOperator` modifier. Anyone can inflate the global `fixedDay` to any value. 2. The claim clock is `block.timestamp + getFixedDay()`, not a true elapsed time. [continues]","rootCause",1],["2025-08-AutoPooledTradingBot","AutoPooledTradingBot double-withdrawal — withdrawInvestment pays out from deposits without burning shares, so emergencyWithdrawAll pays the same position twice","incident","DeFiHackLabs","2025-08","Ethereum",["vuln/logic/incorrect-state-transition","vuln/logic/state-update","vuln/logic/missing-validation"],["logic"],"Two withdrawal paths operate on disjoint accounting: `withdrawInvestment` reduces only `user.totalWithdrawn` (it never burns `user.shares`, never decrements `tradingPool.totalShares`/`totalETH`), so `emergencyWithdrawAll` redeems the same shares a second time and drains the pool.",null,null,"0.15198 ETH on-chain","1. Two parallel accounting systems that are never reconciled. The contract tracks a user's claim both as deposit counters (`totalInvested`/`totalWithdrawn`) and as pool shares (`user.shares` against `tradingPool`). `deposit` updates both; `withdrawInvestment` updates only the deposit counters; `emergencyWithdrawAll` updates only the shares. There is no invariant linking them. 2. `withdrawInvestment` pays out from the contract balance but does not reduce the user's claim on the pool. [continues]","rootCause",1],["2025-08-BaseCallback0x8d2e","BaseCallback 0x8d2e… Exploit — Unauthenticated uniswapV3SwapCallback Self-Transfer","incident","Crypto Training","2025-08","Base",["vuln/access-control/missing-auth"],["access-control"],"Public `uniswapV3SwapCallback` with no pool auth — positive `amount0Delta` causes `token.transfer(recipient, amount)` using attacker-controlled `data`",null,null,"40,000 USDC","Unlike Q12 (approval `transferFrom` drain), this victim held the USDC itself. Its `uniswapV3SwapCallback` accepts a call from any `msg.sender` and, for `amount0Delta > 0`, does: The live attacker (via a helper contract) simply called: No pool spoofing, no prior approval, no flash loan — pure missing access control on the callback.","tldr",0],["2025-08-ArbitrumBaseSwapper","BaseSwapperUniswapV3 public swap drains its own token balance — arbitrary public access + full-balance refund to caller-chosen recipient","incident","DeFiHackLabs","2025-08","Arbitrum",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier","vuln/logic/state-update","vuln/defi/slippage"],["access-control","logic","defi"],"A swap router wrapper exposes its `exactOutput`-style swap to any caller and, after the router consumes only the input it needs, refunds the contract's *entire* remaining `tokenIn` balance to a caller-controlled `recipient`.",null,null,"~1,847.33 USD","1. Missing access control on the swap entry points. Both `swapExactTokensForTokens` and `swapTokensForExactTokens` are `external payable` with no `_onlyAdmin_` modifier, even though the contract inherits `Admin` and applies the modifier to `setPath`/`setAdmin`. Any caller can invoke them. The intended design was clearly that *only the admin (or a privileged operator)* triggers swaps spending the swapper's balance — that boundary was never enforced. [continues]","rootCause",1],["2025-08-Bebop_dex","Bebop JAM Settlement Exploit — Signature-Bypass + Unconstrained Interactions Drain Stale Approvals","incident","DeFiHackLabs","2025-08","Arbitrum",["vuln/auth/signature-validation","vuln/dependency/unsafe-external-call"],["auth","dependency"],"Missing signature/authorization check + unconstrained arbitrary external call → theft of stale ERC20 allowances",null,null,"20,069.560783 USDC","The protocol authorizes token movement in two independent ways that were never reconciled: 1. Order authorization is enforced via the EIP-712 signature on the `JamOrder`. But that check is *opt-out* whenever `order.taker == msg.sender` — a convenience for self-submitting takers. 2. Token movement in `interactions` is enforced via *who holds the allowance*. [continues]","rootCause",1],["2025-08-BaseBebopSettlement","Bebop JamSettlement self-taker arbitrary-interaction drain — caller-supplied transferFrom calldata executed by the settlement contract against accounts that approved it","incident","DeFiHackLabs","2025-08","Base",["vuln/access-control/missing-auth","vuln/logic/missing-validation","vuln/dependency/unchecked-return-value"],["access-control","logic","dependency"],"The settlement contract executed caller-controlled `interactions` calldata (`transferFrom` against arbitrary `from` addresses) without binding those interactions to a legitimately signed maker order, because a caller can name itself as the order `taker` and thereby bypass signature validation entirely.",null,null,"3,875.46 USD","1. Signature validation is skipped for self-taker orders. `validateOrder` treats `order.taker == msg.sender` as \"the user is settling their own order, no signature needed.\" This collapses the entire authentication premise of the contract: any address can construct a syntactically valid order naming itself as taker and pass validation with an empty signature. 2. `interactions[]` is a fully caller-controlled arbitrary-call primitive with no binding to the signed order. [continues]","rootCause",1],["2025-08-BeefyZapRouter","Beefy ZapRouter arbitrary route execution — arbitrary call() spent victim allowances via transferFrom","incident","DeFiHackLabs","2025-08","Arbitrum",["vuln/access-control/missing-validation","vuln/logic/missing-check","vuln/dependency/unsafe-external-call"],["access-control","logic","dependency"],"Direct-execution path of `executeOrder` only checks `msg.sender == order.user` but lets the caller supply arbitrary `Step.target` + `Step.data`, so the router performs an arbitrary external `call()` as itself — enabling `transferFrom(victim, attacker, amount)` against every token for which victims had granted allowance to the ZapRouter.",null,null,"~6,584.95 USD","1. Self-declared `order.user`. The direct `executeOrder` path treats the caller-supplied `_order.user` as authoritative identity and only checks `msg.sender == _order.user`. Since both are attacker-controlled (the caller *is* the declared user), the authorization is circular and vacuous. There is no signature, no Permit2 witness, and no binding of `order.user` to a real token owner. 2. Arbitrary low-level `call()` with attacker-chosen target and calldata. [continues]","rootCause",1],["62314-c-01-user-can-deny-opponent-nft-rewards-by-marking-safe-post","Beetle — marking a beetle safe after a loss blocks the opponent's NFT","audit-finding","AuditVault","2025-08",null,["vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],"Post-battle shield blocks `claimBeetleFromVictory`","critical","Beetle `BeetleBattleGame`",null,"Safety is only an ownership check. The battle result is not an input, so the loser can change `safeBeetle` after the winner is known and before the claim.","rootCause",1],["2025-08-BscInitcodeToken","BSC \"DD\" initcode-token drain — unverified victim exposes arbitrary token-path swap using its own WBNB","incident","DeFiHackLabs","2025-08","BNB Chain",["vuln/logic/missing-validation","vuln/dependency/unchecked-return-value","vuln/access-control/missing-auth"],["logic","dependency","access-control"],"A public, parameterless-access-control function lets any caller feed attacker-controlled token addresses and a swap path into the victim, which then swaps its own WBNB through attacker-owned pools with `amountIn = balanceOf(this)` and `amountOutMin = 0`, and never checks the fee-on-transfer shortfall on the return leg.",null,null,"~0.913 WBNB in the PoC","1. No access control on the entrypoint. Selector `0xdc0b3665` is callable by anyone; the attacker invokes it directly from the attack contract. There is no `onlyOwner` / role check. 2. Caller-controlled token path with no allow-list. `tokenA`/`tokenB` are taken straight from calldata, so the victim can be forced to swap through attacker-deployed, attacker-controlled fee-on-transfer tokens and attacker-seeded Pancake pairs. 3. `amountIn` derived from the victim's own WBNB balance. [continues]","rootCause",1],["63046-h-2-caller-supplied-controltower-lets-anyone-be-the-migrator","Caller-supplied ControlTower grants migrator power — AuditVault synthetic reduction","audit-finding","AuditVault","2025-08",null,["vuln/access-control/missing-auth","vuln/input-validation/missing"],["access-control","input-validation"],null,"high","[[USG]] - Tangent",null,"This bug report is about a vulnerability found in a contract called the \"2025-08-usg-tangent-judging\" contract. The vulnerability was discovered by multiple individuals and can be exploited to drain a victim's collateral to an attacker's account. The root cause of this vulnerability is that the contract relies on a caller-provided parameter for role checks instead of using its own trusted state. This allows an attacker to pass a fake parameter and gain unauthorized access to the contract's functions. [continues]","tldr",1],["2025-08-coinbase","Coinbase Fee-Account Drain — Confused-Deputy via 0x Settler BASIC Arbitrary Call","incident","DeFiHackLabs","2025-08","Ethereum",["vuln/dependency/unsafe-external-call","vuln/logic/missing-check"],["dependency","logic"],"Confused deputy / dangling token approval to a contract that lets anyone trigger arbitrary calls",null,null,"~$300,000 total across multiple tokens","This is a confused-deputy incident whose true root cause lives *off* the Settler, in operational key/approval management: A Coinbase fee account directly `approve`d the 0x Settler for an unlimited amount of several tokens. The Settler is explicitly designed never to hold such approvals; its built-in \"make an arbitrary call to any pool\" feature (`BASIC`) is only safe under that invariant. The dangling approval converted a benign router capability into a public \"drain my account\" button. [continues]","rootCause",1],["2025-08-d3xai","D3X AI Exploit — Proxy exchange() Prices D3XAT From A Manipulable PancakeSwap Spot Reserve","incident","DeFiHackLabs","2025-08","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Spot-price oracle manipulation — internal \"swap desk\" prices a token from a live, thin AMM reserve that the attacker controls",null,null,"190 BNB","The swap desk's `exchange()` settles trades at the instantaneous marginal price of a thin, permissionless AMM pair, paying from its own token float. An attacker who can move that pair's reserves (anyone, with a flash loan) can make the desk buy D3XAT from them cheap and re-buy it back expensive in the same transaction, pocketing the desk's USDT float. The composing design errors: 1. Spot price, not TWAP/independent oracle. `price()` reads `getAmountsOut(1e18, [D3XAT, USDT])` against the *current* pair reserves. [continues]","rootCause",1],["2025-08-EquilibriaEPendle","Equilibria (VaultEPendle) — reward debt not updated on ERC20 share transfer, draining native-ETH rewards via fresh receivers","incident","DeFiHackLabs","2025-08","Ethereum",["vuln/logic/missing-state-update","vuln/logic/state-update","vuln/access-control/missing-auth"],["logic","access-control"],"`VaultEPendle` is an ERC20 reward-share token whose `earned()` is keyed on live `balanceOf(_account)`, but the inherited OZ `_transfer` does not update `userRewardPerTokenPaid`; combined with a public `getReward(address)` that recomputes rewards for any fresh account, the same shares can be moved through N fresh receivers, each claiming the full accumulated reward stream as native ETH.",null,null,"~62,661.57 USD","1. Reward accounting is keyed on live `balanceOf` but transfers don't settle debt. A Synthetix-style rewarder must either (a) checkpoint both sender and recipient on every `transfer`/`_mint`/`_burn`, or (b) forbid transfers / wrap rewards behind an internal ledger. `VaultEPendle` did neither — it reused OZ's bare `_transfer`, so the `userRewardPerTokenPaid` checkpoint and the accrued `.rewards` field diverge from actual holdings the moment shares move off the deposit/withdraw path. [continues]","rootCause",1],["62252-insufficient-fee-validation-leading-to-user-contract-state-l","EVAA — a short liquidation fee locks the user vault","audit-finding","AuditVault","2025-08",null,["vuln/dos/frozen-funds","vuln/logic/liquidation-logic"],["dos","logic"],null,null,"EVAA Finance",null,"The user contract treats `state != 0` as a lock. The master increments state before it knows the message can pay the reserve and finish. A value in the window locks the account with no completion.","rootCause",1],["2025-08-EverValueCoin","EverValueCoin (EVA) Exploit — Stale-Price Orderbook Settlement Arbitraged Against a Live AMM","incident","DeFiHackLabs","2025-08","Arbitrum",["vuln/oracle/stale-price","vuln/oracle/missing-validation","vuln/defi/slippage"],["oracle","defi"],"Stale-price / un-oracled order matching — instant settlement at a mispriced resting order, arbitraged against the live AMM (no slippage band, no oracle, no decimal-aware sanity check)",null,null,"1.19331 WBTC drained from the order book","An order book is only safe if the resting prices on it track reality. This one had no mechanism to ensure that: 1. Settlement at the resting price with zero slippage/oracle protection. `partiallyFillOrder` / `fillOrder` settle at `matchedOrder.price` regardless of how far that is from the live market. The taker's limit price gates matching but does not bound value transfer (PairLib.sol:529 vs :372). A stale maker price is therefore a free arbitrage for any taker. [continues]","rootCause",1],["64082-h-4-owner-can-steal-funds-from-contract-by-calling-stakenxm","Fake staking pool is accepted by stakeNxm — AuditVault synthetic reduction","audit-finding","AuditVault","2025-08",null,["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],null,"high","[[stETH]] by EaseDeFi",null,"This bug report discusses a vulnerability found in the stNXM contract, which allows the contract owner to steal funds from the contract. The bug was found by multiple individuals and can be exploited by passing a fake staking pool address to the _stakeNxm() function and setting the owner as the fee beneficiary. This allows the owner to inflate rewards and withdraw all funds from the contract. The root cause of the bug is that the owner can pass any address to the _stakeNxm() function without validation. [continues]","tldr",1],["61924-infinitely-locked-votingescrow-positions-are-not-accounted-d","GaugeController drops infinite VotingEscrow locks","audit-finding","AuditVault","2025-08","Ethereum",["vuln/governance/proposal-manipulation","vuln/logic/wrong-condition"],["governance","logic"],"Vote bias is recomputed as slope times time, and an infinite lock has slope 0",null,null,"A 100-token finite lock takes all 10000 emission tokens","The controller rebuilds bias from the slope. An infinite lock has no slope, so the rebuild throws away the deposit.","rootCause",1],["2025-08-Grizzifi","Grizzifi Exploit — Sybil Milestone-Reward Farming via Self-Referral Chain","incident","DeFiHackLabs","2025-08","BNB Chain",["vuln/access-control/fake-account-substitution","vuln/logic/reward-calculation","vuln/logic/state-update"],["access-control","logic"],"Sybil-able incentive accounting — milestone rewards paid for self-created, throwaway \"team members\" with no economic substance",null,null,"~$61,000 USD on-chain","The milestone bonus is an un-collateralized reward whose only entry requirement is a graph shape the attacker fully controls. Four design decisions compose into the bug: 1. Team size has no Sybil resistance. `teamsCount` is incremented once per *(upline, downline-address)* pair. Addresses are free to create, so an attacker manufactures arbitrarily many \"team members\" by deploying throwaway contracts and registering each one. 2. The qualification gate is trivial and uses the wrong metric. [continues]","rootCause",1],["64851-h-03-gtelaunchpadv2pairburn-over-estimates-distribution-amou","GTE — burn over-estimates LP distribution when launchpad fees accrued","audit-finding","AuditVault","2025-08",null,[],["untagged"],"Fee-inclusive pro-rata on burn","high","GTE",null,"Reserves = balances − accrued launchpad fees. Burn ignores that split and treats fee inventory as LP-claimable.","rootCause",1],["64854-h-06-donations-to-distributor-with-arbitrary-quotetoken-can","GTE — Distributor addRewards with fake quoteToken drains real rewards","audit-finding","AuditVault","2025-08",null,[],["untagged"],"Missing quoteAsset validation","high","GTE",null,"Accounting updates use the caller-supplied quote address; payouts use storage `rs.quoteAsset`.","rootCause",1],["64857-h-09-dos-of-launchpad-graduation-via-addliquidity-with-1-wei","GTE — DOS graduation via 1-wei donation + sync","audit-finding","AuditVault","2025-08",null,[],["untagged"],"One-sided reserves break quote","high","GTE",null,"Graduation assumes empty pair (first mint) but attacker can create one-sided reserves first.","rootCause",1],["64853-h-05-gtelaunchpadv2pair-permits-minting-lp-tokens-for-free-w","GTE — free LP mint when accrued launchpad fees are non-zero","audit-finding","AuditVault","2025-08",null,[],["untagged"],"Fee-inclusive deposit measurement","high","GTE",null,"Deposit delta equals fee residual when the caller transferred nothing.","rootCause",1],["64856-h-08-create2-address-of-the-uniswap-pair-used-by-launchpad-d","GTE — Launchpad pairFor CREATE2 salt mismatches factory","audit-finding","AuditVault","2025-08",null,[],["untagged"],"CREATE2 salt mismatch","high","GTE",null,"Two different CREATE2 address formulas for the same pair.","rootCause",1],["64852-h-04-attacker-can-drain-funds-from-gtelaunchpadv2pair-using","GTE — swap drains pair via phantom amountIn from launchpad fees","audit-finding","AuditVault","2025-08",null,[],["untagged"],"Balance/reserve mismatch with fees","high","GTE",null,"amountIn math treats fee inventory as if the attacker deposited it.","rootCause",1],["2025-08-Hexotic","Hexotic (HEX-OTC) Exploit — Mispriced OTC Orders Arbitraged Against Uniswap-V3 Spot","incident","DeFiHackLabs","2025-08","Ethereum",["vuln/oracle/missing-validation","vuln/defi/slippage"],["oracle","defi"],"Permissionless OTC order fill with no price / oracle / slippage validation → stale-order arbitrage",null,null,"~$500 (the over-paid ETH escrowed in two mispriced orders)","`HEXOTC` is a *fixed-price limit-order escrow* with no link to market price. That is fine in principle — but two design properties combine into a free-money bug: 1. Fills are permissionless and price-agnostic. `take` → `buyETH` lets *anyone* collect a maker's escrowed ETH simply by delivering the requested HEX. The contract never asks \"is this a fair price?\" — it only checks the amounts are non-zero. 2. Nothing keeps an offer's price aligned with spot. [continues]","rootCause",1],["64083-h-5-owner-can-hide-a-staked-nft-via-removetokenidatindex-and","Hiding a staked NFT inflates share ownership — AuditVault synthetic reduction","audit-finding","AuditVault","2025-08",null,["vuln/logic/price-calculation","vuln/access-control/missing-owner-check"],["logic","access-control"],null,"high","[[stETH]] by EaseDeFi",null,"Summary: The bug report describes a vulnerability in the stNXM smart contract that allows the owner to manipulate the value of the staked Nexus NFT without withdrawing its stake. This can lead to the owner depositing while the vault appears under-collateralized, then re-exposing the NFT and redeeming the over-minted shares at a higher price, causing loss for all stNXM holders except the owner. The protocol team has fixed this issue in a recent commit.","tldr",1],["61923-loss-of-rewards-when-liquiditygaugetotalsupply0-mixbytes-non","LiquidityGauge drops a reward interval when totalSupply is 0","audit-finding","AuditVault","2025-08","Ethereum",["vuln/logic/reward-calculation","vuln/dos/frozen-funds"],["logic","dos"],"`unsafe_div` by a zero supply returns 0 and the interval is still consumed",null,null,"1000 reward tokens stay in the gauge","A zero supply is treated as a completed interval instead of an interval that should stay open until someone is staked.","rootCause",1],["2025-08-MulticallWithXera","LUXERA (XERA) Exploit — Dangling Infinite Approval to Multicall3 Drained via aggregate3","incident","DeFiHackLabs","2025-08","BNB Chain",["vuln/access-control/secret-exposure","vuln/logic/missing-allowance"],["access-control","logic"],"Operational error — excessive/dangling token approval to a public arbitrary-call relayer (Multicall3)",null,null,"~$17K — 41.0347 WBNB drained from the XERA/WBNB PancakeSwap pair","An EOA that holds funds granted an unbounded token allowance to a public, permissionless arbitrary-call relayer (Multicall3). Any allowance given to Multicall3 is effectively a public allowance — `aggregate3` lets anyone spend it. Multicall3 carries no access control by design; its whole purpose is to relay arbitrary calls under its own address. That is harmless *as long as nobody grants it a standing allowance*. [continues]","rootCause",1],["2025-08-MyCoinMaster","MyCoinMaster missing-access-control on buyBYAdmin lets anyone mint MYC for free and drain the pool via swap — public function lacked an onlyAdmin guard present on every other privileged path","incident","DeFiHackLabs","2025-08","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier","vuln/logic/incorrect-state-transition"],["access-control","logic"],"A permissionless `buyBYAdmin(...)` mints free MYC tokens to any caller and then `swap(...)` redeems those minted tokens for the victim contract's USDT at a fixed admin price, with no value entering the pool.",null,null,"~653.49 USD","1. Missing `onlyAdmin` guard on `buyBYAdmin`. It is the only state-changing privileged function in the contract without `require(msg.sender == admin,...)`. The function name, its signature (`_sponsor`, `_user` parameters), the `UserTX(\"By admin TO MYC\")` label, and the absence of any payment logic (`payable` but no `msg.value`/`transferFrom` use) all show the intent was admin-only credit. The guard was simply forgotten. 2. Minting spendable tokens on a free path. [continues]","rootCause",1],["64081-h-3-owner-can-steal-funds-on-withdraw-by-burning-wrong-unisw","Owner burns liquidity from an arbitrary NFT position — AuditVault synthetic reduction","audit-finding","AuditVault","2025-08",null,["vuln/access-control/missing-owner-check","vuln/logic/state-update"],["access-control","logic"],null,"high","[[stETH]] by EaseDeFi",null,"This bug report discusses an issue found in the stNXM contract, where the owner is able to steal funds from the vault and the protocol is unable to recover them. The bug was found by two users, blockace and elolpuer. The root cause of the bug is that the decreaseLiquidity() function does not check if the tokenId is valid for the wNxm/stNxm pool, allowing the owner to burn vault-held shares and gain more assets. [continues]","tldr",1],["2025-08-PDZ","PDZ / \"TB Build\" Exploit — Spot-Price getAmountsOut Reward Inflation","incident","DeFiHackLabs","2025-08","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Price-oracle manipulation — reward sized from a spot AMM quote (`getAmountsOut`)",null,null,"3.3 BNB","A Uniswap-V2 / PancakeSwap pair prices an asset purely from its current reserves; `getAmountsOut` is a spot marginal-price query. It is one of the most well-known *do-not-use-as-an-oracle* primitives in DeFi, because anyone can shove the reserves in either direction inside the same transaction (especially with a flash loan, so capital is free). `TOKENbnb.burnToHolder` uses exactly this primitive to decide how much real BNB to pay a user: [continues]","rootCause",1],["2025-08-PendleReflector","Pendle Reflector — reflect() operated on Reflector-held balances using caller-supplied, unvalidated market and limit-router addresses","incident","DeFiHackLabs","2025-08","Arbitrum",["vuln/access-control/missing-auth","vuln/input-validation/missing","vuln/defi/slippage"],["access-control","input-validation","defi"],"`reflect()` is permissionless and scales each routed call to the *Reflector's own* token balance, while every address it trusts — the Pendle market (which defines the SY token to drain) and the limit router (whose `fill()` runs inside the real Pendle Router) — is supplied unchecked by the caller, allowing a forged market/router pair to sweep Reflector's PT balances to the attacker.",null,null,"~2,304.18 USD","1. `reflect()` is permissionless. Any externallly-owned account or contract can call it. There is no caller allow-list, owner check, or signature; the function is designed to trust the caller's calldata wholesale. 2. Reflector scales the trade to its own balance, not the caller's. `_scaleSyInput` sets `netSyIn = SY.balanceOf(address(this))`. Whoever triggers the call therefore spends *Reflector's* tokens — but there is no mechanism ensuring the caller is entitled to do so. [continues]","rootCause",1],["57908-h-02-user-can-be-permanently-denied-from-purchasing-new-peng","Penguingotchi: dead penguins still count toward the alive purchase cap","audit-finding","AuditVault","2025-08","Ethereum",["vuln/logic/wrong-condition","vuln/dos/frozen-funds"],["logic","dos"],"Purchase cap reads the historical owned array",null,null,"100 PENG cannot be spent","The cap is named and documented as a limit on living penguins, but the modifier reads the array that is append-only. A death updates only the alive counter.","rootCause",1],["2025-08-PresaleV5","PresaleV5 oracle manipulation — flash-loan spot-price (slot0) read by the presale pricing function let an attacker buy tokens cheap and sell them at fair price","incident","DeFiHackLabs","2025-08","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack","vuln/logic/price-calculation"],["oracle","governance","logic"],"The presale's `getV3Price()` quotes the sale token from the live `slot0()` of a Uniswap V3 pool; a flash-loan-funded attacker drops the spot price in one tx, buys presale tokens at the manipulated (low) price, then sells them back into the same pool at the recovering price.",null,null,"2.3157 ETH","1. Spot-price oracle. `getV3Price()` reads `slot0()` directly. The documented, safe way to consume a Uniswap V3 pool as a price source is `observe()`/`slot0`-derived TWAP over multiple seconds (or `oracle()` observations), never the instantaneous slot. Any single-transaction swap moves `slot0` arbitrarily. 2. Flash-loan-fundable. [continues]","rootCause",1],["56917-checkpoint-resets-totaleffectivesupply-mixbytes-none-resolv","Resolv Staking: checkpoint of the zero address zeroes totalEffectiveSupply","audit-finding","AuditVault","2025-08","Ethereum",["vuln/arithmetic/underflow","vuln/logic/reward-calculation"],["arithmetic","logic"],"Zero-address checkpoint stores a zero total effective supply",null,null,"Alice's claimable reward is 0","The zero address is not a staker, but the function treats it as one and returns a fresh total of 0. `checkpoint` assigns that return value straight into `totalEffectiveSupply`. Reward accrual divides by that total, so a later update cannot credit the index that was already moved. The subtraction order then reverts any real staker's checkpoint.","rootCause",1],["63647-rwfx-undercollateralized-underflow","RWf(x) undercollateralized underflow — AuditVault 63647","audit-finding","AuditVault","2025-08",null,["vuln/arithmetic/underflow","vuln/logic/liquidation-logic"],["arithmetic","logic"],null,null,null,null,"loadSwapState subtracts debt from collateral without handling an undercollateralized system.","tldr",1],["2025-08-SizeFlashLoanLooping","Size Credit FlashLoanLoopingV1_7 Generic-Route Arbitrary Call — third-party token allowance theft via caller-controlled router.call(data)","incident","DeFiHackLabs","2025-08","Ethereum",["vuln/dependency/unsafe-external-call","vuln/logic/missing-validation","vuln/access-control/missing-auth"],["dependency","logic","access-control"],"Public `loopPositionWithFlashLoan` passes attacker-controlled `router` + `data` straight into `_swapGenericRoute`, which does `router.call(data)` with `msg.sender = FlashLoanLoopingV1_7` — letting the periphery spend token allowances users had granted to it.",null,null,"~533 USD","1. Unvalidated arbitrary external call. `_swapGenericRoute` forwards attacker-controlled `(router, data)` straight into `router.call(data)` executing in the periphery's identity. No router allow-list, no `data`-selector validation, no \"must be a real swap\" check. 2. The arbitrary call is reachable from a public, unguarded entrypoint. `loopPositionWithFlashLoan` has no access modifier, so the generic-route path is callable by anyone — not just the owner or an authorised keeper. [continues]","rootCause",1],["2025-08-SizeCredit","Size Credit LeverageUp Exploit — Arbitrary External Call via GenericRoute Swap Drains User Approvals","incident","DeFiHackLabs","2025-08","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["dependency","access-control"],"Arbitrary external call (unvalidated `address.call`) abusing the contract's standing token approvals",null,null,"~$19.7k","A low-level `.call(data)` where both the target and the calldata are attacker-controlled turns the contract into a universal proxy that acts *with the contract's own identity and permissions*. Any privilege the contract has — token allowances it holds, roles it was granted, balances it custodies — becomes exercisable by anyone. Concretely, three design decisions compose into a critical bug: 1. Unrestricted target + calldata. `_swapGenericRoute` passes caller bytes verbatim into `params.router.call(params.data)`. [continues]","rootCause",1],["62198-minter-doesnt-account-for-depegs-exchange-rates-and-decimal","Syntetika — mint ignores decimals and the BTC price","audit-finding","AuditVault","2025-08",null,["vuln/arithmetic/decimal-mismatch"],["arithmetic"],"Decimal and exchange-rate scale dropped on mint","high","Syntetika `Minter`",null,"The mint output is the input integer. Nothing rescales 6-decimal base units into 8-decimal hBTC, and nothing divides by the BTC price. A depegged base asset is accepted the same way.","rootCause",1],["2025-08-unverified_d132","Unverified Polygon swap router drained via fake Uniswap V3 pool — attacker-supplied pair/callback trusted without authentication","incident","DeFiHackLabs","2025-08","Polygon",["vuln/access-control/missing-auth","vuln/logic/missing-validation","vuln/defi/slippage","vuln/oracle/spot-price"],["access-control","logic","defi","oracle"],"The victim's `swapSingleToken` callback blindly trusts an attacker-supplied `pair` address and the `uniswapV3SwapCallback` it triggers, paying out the victim's full DAI balance to the fake pair during the callback with no pool authentication or output-amount check.",null,null,"3,131.106630910288079590 DAI","1. `pair` is an unauthenticated external parameter. `swapSingleToken` accepts any address as `pair` and immediately trusts its `token0`/`token1`/`swap`. There is no whitelist, no factory-derived address check, no EOA/pool sanity test. The \"pool\" can be attacker-deployed bytecode that does anything. 2. The callback trusts the pool-supplied `amountDelta` as the pay amount. A real V3 pool computes `amountDelta` from its own reserves and math; the victim's callback just takes `|amount0Delta|` and transfers it. [continues]","rootCause",1],["2025-08-unverified_6f7a","Unverified proxy 0x6f7a drained via permissionless rebalanceAndAddLiquidity selector — anyone could push a victim's live token balance through its liquidity path","incident","DeFiHackLabs","2025-08","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier","vuln/defi/price-manipulation","vuln/logic/incorrect-order-of-operations"],["access-control","defi","logic"],"A public selector on the proxy (`0xbfd479c4`) lets any caller invoke the implementation's `rebalanceAndAddLiquidity` flow against the proxy's own token balances, with no check that the caller owns those balances — letting an attacker force-swap the victim's DAI/WETH/FEI holdings through Uniswap and capture the induced price imbalance.",null,null,"7,630.46 USD reported","1. Missing access control on a fund-moving selector. `0xbfd479c4` mutates the proxy's token balances and triggers external swaps, yet is callable by an arbitrary address. This is the primary root cause. 2. No ownership/allowance binding between caller and the moved amount. Even if the function were intended to be \"operator\"-ish, nothing ties the `amount` parameter to value the caller deposited or was granted. The function happily rebalances the proxy's treasury using whatever number the caller passes. [continues]","rootCause",1],["2025-08-WXC_Token","WXC Token Exploit — Burn-From-Pool + sync() \"Phantom Reserve\" Drain","incident","DeFiHackLabs","2025-08","BNB Chain",["vuln/defi/slippage","vuln/logic/incorrect-state-transition","vuln/governance/flash-loan-attack"],["defi","logic","governance"],"Broken AMM invariant via an un-compensated, per-sell burn from the pair + `sync()` (token-side reserve manipulation)",null,null,"37.55 WBNB net profit to the attacker","A Uniswap-V2 / PancakeSwap pair prices assets purely from its cached `reserve0/reserve1`. `sync()` exists so the pair can \"catch up\" to its real balances, and `swap()` derives the trader's input from `balance − reserve`. Both trust that token balances only move via mechanisms the pair can reason about (`mint`/`burn` of LP, `swap`, plain transfers it later accounts for). `WXC` violates that trust in the most damaging way possible on every single sell: [continues]","rootCause",1],["2025-08-YuliAI","YuliAI Exploit — Buyback Priced off a Flash-Manipulated V3 Spot Price","incident","DeFiHackLabs","2025-08","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Spot-price oracle manipulation — buyback prices a token off a single-block DEX spot price",null,null,"~$78,800","A constant-product (or concentrated-liquidity) DEX spot price is a *snapshot of two reserves at one instant*. It can be moved arbitrarily far, in either direction, by a single large swap inside the same transaction — and PancakeSwap V3 enforces no constraint that prevents that. Using such a number as the authoritative settlement price for a contract that pays out real assets is the canonical \"spot-price oracle manipulation\" bug. The buyback compounds it in three ways: 1. Spot price as oracle. [continues]","rootCause",1],["62757-yuzu-nonatomic-updatepool","Yuzu non-atomic updatePool sandwich — AuditVault 62757","audit-finding","AuditVault","2025-08",null,["vuln/defi/sandwich-attack","vuln/oracle/spot-price"],["defi","oracle"],null,null,null,null,"A donation can be inserted before updatePool, changing the spot-derived pool value in the same transaction sequence.","tldr",1],["2025-07-AnyswapWETHPermit","AnyswapV4Router permit-fallback drain — trusting a non-reverting permit() on a token that does not enforce it","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/dependency/unchecked-return-value","vuln/logic/missing-validation","vuln/access-control/missing-auth"],["dependency","logic","access-control"],"The router calls `IERC20(_underlying).permit(...)` and treats the absence of a revert as proof that an allowance was set — but it neither checks the return value nor validates the underlying token, so any token whose fallback silently swallows the `permit` selector (WETH9 is the canonical case) lets the router proceed to `transferFrom` against an allowance the victim never signed.",null,null,"200 WETH","1. Blind trust in a non-reverting `permit`. The router models permit success as \"the call returned\" rather than \"the underlying token is EIP-2612 and the signature is valid.\" No `try/catch`, no return-value check, no feature check on `_underlying`. 2. No whitelist on the `token` argument. `token` is taken as-is and used to resolve `_underlying` and to receive the `transferFrom`. [continues]","rootCause",1],["62256-proposals-created-with-voting-mode-earlyexecution-are-vulner","Aragon — EarlyExecution proposals vulnerable to flashloan vote attacks","audit-finding","AuditVault","2025-07",null,["vuln/governance/flashloan-vote"],["governance"],"Same-block flashloan governance capture","high","Aragon Lock-to-Vote governance plugin",null,"Early execution binds “proposal succeeded” to “execute now” without requiring economic finality of the voting weight. Ephemeral flashloaned weight is enough.","rootCause",1],["2025-07-ArcadiaRebalancer","Arcadia RebalancerSpot — Unvalidated swapData → Arbitrary router.call","incident","Crypto Training","2025-07","Base",["vuln/input-validation/missing","vuln/dependency/unsafe-external-call","vuln/access-control/broken-logic","vuln/logic/missing-validation"],["input-validation","dependency","access-control","logic"],"Unvalidated `swapData` → arbitrary low-level `router.call(data)` with `msg.sender == Rebalancer` (AssetManager of victims)",null,null,"~$2.5–3.6M total","Missing input validation on `swapData` combined with trusting `msg.sender == Rebalancer` as sufficient AssetManager auth on victim Accounts. The protocol assumed `router` would always be a DEX; the attacker made `router` the victim Account and `data` a privileged `flashAction` that drains it.","rootCause",1],["2025-07-AvaxBIFKNPair","BIFKN314 (ERC-314) flash-swap LP inflation — reserve snapshot taken after swap-out, before repayment, lets a dust addLiquidity mint pool-dominating LP shares","incident","DeFiHackLabs","2025-07","Avalanche",["vuln/logic/incorrect-order-of-operations","vuln/oracle/price-manipulation","vuln/logic/state-update","vuln/reentrancy/cross-function"],["logic","oracle","reentrancy"],"ERC-314 flash-swap executes the user callback after sending assets out but before any reserve/repayment validation, and `getReserves()` re-reads the live contract balance — so an `addLiquidity` call inside the callback prices LP shares against the post-outflow (depleted) reserves and mints a pool-dominating LP position for dust.",null,null,"~2,422.73 USD","1. Wrong order of operations in `flashSwap`. Assets are transferred out and the user-controlled callback is invoked *before* the protocol has verified repayment or re-established its invariants. This is the textbook flash-swap reentrancy window — except here the \"reentrancy\" is into a *sibling public function* (`addLiquidity`) of the same contract, not an external dependency. 2. Live-balance reserves instead of stored reserves. `getReserves()` reads `address(this).balance` and the live token balance on every call. [continues]","rootCause",1],["2025-07-BoJLeverageMarket","BoJ Leverage Market cbBTC reserve index inflation — flash-loan fee compounding against a near-empty aToken supply inflates the liquidity index to steal every listed asset","incident","DeFiHackLabs","2025-07","Base",["vuln/oracle/price-manipulation","vuln/defi/fee-manipulation","vuln/logic/incorrect-state-transition"],["oracle","defi","logic"],"Flash-loan fee is divided by the aToken total supply to compute the next liquidity index; when the cbBTC reserve's scaled supply is driven to ~1 unit the fee compounding inflates the index ~9 orders of magnitude, letting the attacker mint unbounded collateral value and borrow every asset in the market.",null,null,"~7,227.59 USD","1. No minimum-supply / no-reserve-seed invariant on the index routine. `cumulateToLiquidityIndex` divides by live `totalLiquidity` with no floor. Upstream Aave treats \"totalLiquidity is large\" as an implicit invariant; the BoJ cbBTC reserve had zero liquidity, so the divisor collapsed to ~1 and the fee became a direct index multiplier. 2. Permissionless supply creation. Anyone can `deposit` 1 wei of a listed asset to mint 1 unit of scaled aToken supply and thus set the denominator. [continues]","rootCause",1],["62775-missing-check-of-msgvalue-in-bridgeout-function-allows-dos-o","Camp: bridgeOut records a deposit that msg.value did not pay","audit-finding","AuditVault","2025-07","Ethereum",["vuln/input-validation/missing","vuln/logic/missing-validation"],["input-validation","logic"],"The queued amount is the caller's argument, not msg.value",null,null,"A 0-value deposit of 10 ETH is paid from Bob's later 10 ETH deposit","The queue stores a caller-chosen amount. releaseNext pays queue[head].amount from address(this).balance. Nothing ties that amount to the value that was sent with the deposit.","rootCause",1],["62776-user-deposit-may-not-cover-bridging-fees-quantstamp-camp-mar","Camp: the bridge fee is taken from the next depositor","audit-finding","AuditVault","2025-07","Ethereum",["vuln/logic/fee-calculation","vuln/dos/frozen-funds"],["logic","dos"],"send pays principal plus a fee that bridgeOut never collected",null,null,"A 10 ETH fee is paid out of Bob's 100 ETH deposit","The fee is computed at send time and paid from address(this).balance. bridgeOut only escrowed the principal. The extra value is whoever deposited after this user.","rootCause",1],["62106-h-1-consensuschecksignatures-doesnt-check-duplication-of-sig","Consensus accepts duplicated signers — AuditVault synthetic reduction","audit-finding","AuditVault","2025-07",null,["vuln/bridge/missing-validation","vuln/auth/signature-validation"],["bridge","auth"],null,"high","[[Mellow]] Flexible Vaults",null,"This bug report discusses a vulnerability found in the Mellow Flexible Vaults protocol, which was discovered by multiple individuals. The issue lies in the `SignatureQueue.validateOrder` function, which checks signatures using the `Consensus.checkSignatures` function. However, this does not check for duplicated signers, allowing a malicious attacker to bypass the `threshold` check. [continues]","tldr",1],["63545-h-02-elyasset-price-calculation-errors-cause-underflow-rever","Elytra — the elyAsset price underflows and 1,050 ASSET stays stuck","audit-finding","AuditVault","2025-07",null,["vuln/arithmetic/underflow","vuln/dos/frozen-funds"],["arithmetic","dos"],"Fee is scaled a second time, so the subtraction underflows","high","Elytra, elyAsset price",null,"`protocolFeeInHYPE` and `totalValueInProtocol` are both 18-decimal values. Scaling only the fee makes it larger than the total, so a Solidity 0.8 checked subtraction reverts the whole redemption.","rootCause",1],["2025-07-EmptySetReserve","Empty Set Reserve stale fixed-order drain — buying COMP below market from a hard-coded maker/taker price","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/oracle/price-manipulation","vuln/oracle/stale-price","vuln/logic/price-calculation"],["oracle","logic"],"A public `swap()` fills orders at an owner-set fixed price stored on chain, with no oracle feed, no freshness check, and no market-pegging — so a stale price far below the live COMP market lets anyone buy the reserve's COMP inventory and dump it on Uniswap for the spread.",null,null,"~$1,509.78","1. Price is a hard-coded storage value, not a market signal. `swap()` derives `makerAmount` purely from `order.price`, an owner-set constant. Nothing in the execution path references a live COMP price, a TWAP, an AMM spot, or an external oracle. 2. No freshness / peg / circuit-breaker. `Order` carries no timestamp, no last-updated, no max-deviation band, and no auto-pause when the market moves. An order set once stays executable at that exact rate indefinitely until the owner overwrites it. [continues]","rootCause",1],["61395-c-01-consumers-can-double-the-lockedamount-in-the-session-dr","Etherspot — a batch consumes lockedAmount twice","audit-finding","AuditVault","2025-07",null,["vuln/logic/missing-check","vuln/logic/state-update"],["logic"],"A batch counts the same lock once per item","high","Etherspot `CredibleAccountModule`",null,"The balance check runs before any transfer, so every item in the batch still sees the full wallet balance. Equality with `lockedAmount` is not a one-time gate. Each passing item adds the whole lock to `claimedAmount`.","rootCause",1],["61403-c-01-missing-session-key-uniqueness-validation-in-resourcelo","Etherspot — a second session key overwrites the first","audit-finding","AuditVault","2025-07",null,["vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["logic"],"Reusing a session key silently overwrites the first session","high","Etherspot `CredibleAccountModule`",null,"The session record is a plain assignment keyed by `(sessionKey, wallet)`. A second write to that slot replaces the first session's terms. The lock list is append-only, so the new amount is spendable on top of the lost window.","rootCause",1],["61407-c-05-in-credibleaccountmodule-the-validatesessionkeyparams-f","Etherspot — a session key spends 1000 GLUE past a 100 GLUE limit","audit-finding","AuditVault","2025-07",null,["vuln/access-control/missing-auth","vuln/logic/missing-check","vuln/access-control/missing-modifier"],["access-control","logic"],"Session parameters are not checked against the spend limit","high","Etherspot `CredibleAccountModule`",null,"`validateSessionKeyParams` is public. It forwards the userOp into `_validateSingleCall`, and that helper transfers `amount` out of the wallet after checking only that the session key is bound to that wallet. It never compares `amount` to `sessionLimit`. A key whose limit is 100 GLUE therefore spends N = 1000 GLUE. The caller receives 1000 GLUE and the wallet balance goes to 0. The fixed module reverts `SessionParamsRejected` on the same userOp. The 1000 GLUE stays in the wallet.","tldr",1],["61404-c-02-unauthorized-session-key-takeover-via-missing-ownership","Etherspot — an attacker installs their session key and claims the escrow","audit-finding","AuditVault","2025-07",null,["vuln/access-control/missing-owner-check","vuln/access-control/missing-auth"],["access-control"],"Anyone can take over a live session key and claim its locked tokens","high","Etherspot `CredibleAccountModule`",null,"Ownership of a session key is a single slot overwritten by every successful enable. The escrow is keyed by the session key, not by the wallet that deposited it, so the new owner can claim the old deposit.","rootCause",1],["61412-h-02-in-credibleaccountmodule-the-validateuserop-function-is","Etherspot — an outsider userOp moves 1000 GLUE","audit-finding","AuditVault","2025-07",null,["vuln/access-control/missing-auth","vuln/access-control/missing-check","vuln/logic/missing-check"],["access-control","logic"],"The validator does not authenticate its caller","high","Etherspot `CredibleAccountModule`",null,"`onInstall` sets `validatorInitialized[msg.sender]` when a wallet installs the module as a validator. `validateUserOp` never reads that flag. It checks the signature length, recovers the session key from the first 20 bytes, checks that the key is bound to the userOp wallet, and then `transferFrom`s the amount. An outsider who did not install the module submits that userOp and receives 1000 GLUE. The wallet's installed flag stays true. The caller's flag stays false. [continues]","tldr",1],["61414-h-04-modularetherspotwallet-can-get-dosed-from-uninstalling","Etherspot — execute reverts and 1000 GLUE stays in the wallet","audit-finding","AuditVault","2025-07",null,["vuln/dos/frozen-funds","vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["dos","logic"],"A hook install is allowed on top of an existing validator","high","Etherspot `CredibleAccountModule` / `ModularEtherspotWallet`",null,"Installing the module as a validator requires the hook multiplexer to be the active hook. Installing it as a hook has no matching check. Uninstalling the validator again requires the multiplexer. Uninstalling the hook requires the validator to be gone. The wallet sets the multiplexer, installs the module as the validator, clears the multiplexer, and installs the module as the hook. Both uninstall calls then revert. [continues]","tldr",1],["61413-h-03-the-prepostcheck-is-not-authorizing-the-wallet-paramete","Etherspot — wallet B spends 1000 GLUE from wallet A","audit-finding","AuditVault","2025-07",null,["vuln/access-control/fake-account-substitution","vuln/access-control/missing-check","vuln/logic/missing-check"],["access-control","logic"],"The hook wallet is not `msg.sender`","high","Etherspot `CredibleAccountModule`",null,"When the module is installed as a hook, the wallet calls `preCheck` before execution. The function decodes the wallet from `msgData` and uses that address as the session owner. It never checks that the decoded wallet is `msg.sender`. Wallet B encodes wallet A and 1000 GLUE. `preCheck` pulls 1000 GLUE from A to B and adds 1000 to A's locked total. A did not call. B is not A. The fixed `preCheck` reverts `WalletMismatch` unless `msg.sender == sender`. The same payload from B moves 0, and A still holds 1000 GLUE.","tldr",1],["62110-h-5-incorrect-performance-fee-calculation-in-feemanager-sher","FeeManager miscalculates performance fees — AuditVault synthetic reduction","audit-finding","AuditVault","2025-07",null,["vuln/logic/fee-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],null,"high","[[Mellow]] Flexible Vaults",null,"This bug report discusses an issue found in the performance fee calculation of the Mellow Flexible Vaults protocol. The current formula used in the FeeManager.calculateFee function is incorrect and leads to incorrect fee calculations. The root cause of the issue is that the formula assumes that the price difference can be directly multiplied by the total shares, which is not the case. This can result in incorrect performance fee calculations. [continues]","tldr",1],["2025-07-FPC","FPC Token Exploit — Sell-Side burnLpToken() Drains the Pool's Own FPC Reserve","incident","DeFiHackLabs","2025-07","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/incorrect-order-of-operations","vuln/defi/slippage"],["oracle","logic","defi"],"Broken AMM invariant via an un-compensated, sell-triggered reserve burn (token-side liquidity deletion + `sync()`)",null,null,"~4.67M USDT","A Uniswap-V2/PancakeSwap pair prices assets *purely* from its reserves and enforces `x·y ≥ k` only *inside `swap()`*. `sync()` exists so a pair can adopt its real token balances as reserves — it assumes balances only change through mint/burn/swap or transfers the pair can reason about. `burnLpToken` weaponizes that assumption: [continues]","rootCause",1],["2025-07-gmx","GMX v1 Exploit — GLP Share-Price Manipulation via globalShortAveragePrice","incident","DeFiHackLabs","2025-07","Arbitrum",["vuln/oracle/price-manipulation","vuln/reentrancy/single-function","vuln/logic/state-update"],["oracle","reentrancy","logic"],"Stale / asymmetric global-short accounting → manipulable share (GLP) price; reentrancy-assisted price ratcheting",null,null,"~$41M — GLP-pool reserves drained across 9 tokens","The single decisive flaw is the asymmetry between opening and closing a global short: Opening a short re-derives `globalShortAveragePrice` with a *path-dependent, convex* formula. Closing a short reduces only the *size* and leaves the average price frozen. This breaks the accounting invariant that \"the stored average short price reflects the true cost-basis of the outstanding short interest\". [continues]","rootCause",1],["64871-h-03-dos-attack-via-order-amendment-bypassing-maxlimitspertx","GTE CLOB — amend bypasses maxLimitsPerTx","audit-finding","AuditVault","2025-07",null,[],["untagged"],"Incomplete rate-limit on book mutations","high","GTE CLOB",null,"Amend-to-new-price is operationally a new limit placement but not rate-limited.","rootCause",1],["2025-07-ActivePoolUrgentRedemption","Liquity V2 ActivePool urgentRedemption — permissionless extraction of collateral from shut-down undercollateralized troves at a +2% bonus","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/logic/incorrect-state-transition","vuln/access-control/missing-auth","vuln/defi/slippage","vuln/oracle/price-calculation"],["logic","access-control","defi","oracle"],"A shut-down collateral branch exposes a permissionless `urgentRedemption` that pays a 2% collateral bonus on top of par and skips the ICR≥100% floor, so any caller can burn BOLD for collateral worth more than the BOLD they surrender.",null,null,"~2,696.49 USD","1. Missing access control on `urgentRedemption`. The only guard is `_requireIsShutDown()` src_TroveManager.sol:875. Any EOA/contract can call it once a branch is shut down — the shutdown path was implicitly assumed to be \"safe to open\" because redemptions are normally self-balancing, but that assumption breaks under (2) and (3). 2. Unconditional 2% collateral bonus on a per-trove basis. `URGENT_REDEMPTION_BONUS = 2%` is applied to *every* urgent redemption lot src_TroveManager.sol:858. [continues]","rootCause",1],["2025-07-ActivePoolScrvUsdUrgentRedemption","Liquity V2 scrvUSD branch urgent-redemption arbitrage — permissionless cherry-picking of undercollateralized troves with a 2% bonus","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/logic/incorrect-state-transition","vuln/access-control/missing-auth","vuln/defi/flash-loan-attack"],["logic","access-control","defi"],"After the scrvUSD collateral branch was shut down, `TroveManager.urgentRedemption(...)` let any USDaf (Bold) holder pick arbitrary trove IDs and redeem their debt for `ActivePool` scrvUSD collateral at `price + 2%` bonus with no ICR floor and no TCR/oracle guard, so an attacker could cherry-pick undercollateralized troves whose collateral was worth more than the debt burned.",null,null,"~$4,204.55 USD","1. Caller-controlled trove selection. `urgentRedemption` takes `_troveIds[]` as a calldata array rather than walking the sorted trove list. An attacker can enumerate the list off-chain and select exactly the troves with the most favourable collateral-to-debt ratio. 2. No ICR floor on the urgent path. Unlike `redeemCollateral` (line 790: skip `ICR < 100%`), `urgentRedemption` has no per-trove CR check at all — the only filter is \"active/zombie and debt > 0\" (line 893). [continues]","rootCause",1],["62011-no-fee-enforcement-in-lt-contract-quantstamp-yield-basis-mar","LT never charges the minimum admin fee","audit-finding","AuditVault","2025-07","Ethereum",["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],"`min_admin_fee` is never stored, so the fee curve has a zero floor",null,null,"Fee receiver gets 0","The curve's lower bound is a storage variable that the constructor never sets.","rootCause",1],["62108-h-3-unable-to-withdraw-native-tokens-because-vault-and-redee","Mellow Flexible Vaults — native token withdrawals permanently bricked","audit-finding","AuditVault","2025-07",null,["vuln/dos/frozen-funds"],["dos"],"Missing native-token branch","high","Mellow Flexible Vaults ShareModule / BasicRedeemHook",null,"Native ETH is not an ERC20. Using `balanceOf` on the sentinel address reverts, so both the no-hook path and `BasicRedeemHook` break for native vaults.","rootCause",1],["62109-h-4-protocol-fee-multiple-accrual-in-oraclesubmitreports-she","Mellow Flexible Vaults — protocol fee multi-accrual in submitReports","audit-finding","AuditVault","2025-07",null,["vuln/logic/fee-calculation"],["logic"],"Fee timestamp not advanced per report / only on base asset","high","Mellow Flexible Vaults Oracle / FeeManager / ShareModule",null,"Fee accrual is per-report, but the clock only advances on the base asset. Non-base reports leave `timestamps[vault]` unchanged, so each subsequent report in the same batch recharges the full elapsed interval.","rootCause",1],["62107-h-2-redeemqueue-accounting-mismatch-between-batch-creation-a","Mellow Flexible Vaults — RedeemQueue batch vs claim timestamp mismatch","audit-finding","AuditVault","2025-07",null,["vuln/dos/frozen-funds"],["dos"],"Off-by-one timestamp boundary mismatch","high","Mellow Flexible Vaults RedeemQueue",null,"`upperLookupRecent` already returns the last checkpoint ≤ timestamp. Decrementing excludes that request from the batch while `claim` still treats it as eligible via the price timestamp.","rootCause",1],["2025-07-MulticallWithETH","MulticallWithETH Exploit — Arbitrary-Call aggregate() Drains an Unlimited USDC Approval","incident","DeFiHackLabs","2025-07","BNB Chain",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call","vuln/logic/missing-allowance"],["access-control","dependency","logic"],"Arbitrary external call / unauthenticated proxy-call (CWE-749 / \"phantom approval drain\")",null,null,"~10,536.89 USDC","Two facts must both hold for the loss to occur: 1. The Multicall executes arbitrary, caller-chosen calls with its own identity, with no authorization. `msg.sender` inside the sub-call is the Multicall contract. So any allowance, role, ownership, or permission the Multicall has been granted is usable by anyone who calls `aggregate()`. 2. A victim granted the Multicall a standing, unlimited USDC allowance. [continues]","rootCause",1],["61597-missing-access-control-on-critical-feecontroller-setters-cyf","OctoDeFi — anyone sets the deposit fee to 100% and takes the deposit","audit-finding","AuditVault","2025-07",null,["vuln/access-control/missing-modifier"],["access-control"],null,null,"OctoDeFi",null,"The admin setter checks the percentage against `maxFeeLimits` and does not check the caller. 10000 is inside the cap.","rootCause",1],["61819-h-02-hero-owner-with-mythical-weapon-can-never-receive-weapo","Onchain Heroes — a Mythical weapon never mints weapon shards","audit-finding","AuditVault","2025-07",null,["vuln/logic/reward-calculation"],["logic"],"Packed rarity table has no byte for Mythical (rarity 6)","high","Onchain Heroes, Season 2 Phase 2 `Dragma`",null,"The packed word was sized for rarities 0 through 5. Rarity 6 shifts past every defined byte. `weaponShardChance` is 0, `guaranteedMint` is 0, and the random branch is skipped, so `items.mint` never runs.","rootCause",1],["61818-h-01-hero-owner-can-never-receive-bronze-tier-gacha-tokens-s","Onchain Heroes — bronze gacha is never minted","audit-finding","AuditVault","2025-07",null,["vuln/logic/reward-calculation","vuln/logic/wrong-condition"],["logic"],null,null,"Onchain Heroes",null,"Token id `4 - i` for `i == 3` is bronze id 1, and that iteration is outside the loop. The table byte for bronze is live. The loop never loads it.","rootCause",1],["2025-07-RANTToken","RANT Token Exploit — Self-Transfer Triggers Un-compensated LP Reserve Burn","incident","DeFiHackLabs","2025-07","BNB Chain",["vuln/defi/slippage","vuln/logic/state-update"],["defi","logic"],"Broken AMM invariant via an un-compensated, self-transfer-triggered pool reserve burn (`_burn(uniswapPair, …)` + `pair.sync()`)",null,null,"~311.48 BNB","A Uniswap-V2 / PancakeSwap pair prices assets purely from its reserves and only enforces `x·y ≥ k` *inside* `swap()`. `sync()` exists to let the pair reconcile its reserves with whatever its token balances actually are — it trusts that balances change only through `mint`/`burn`/`swap`/legitimate transfers it can reason about. `_sellBurnLiquidityPairTokens` violates that trust directly: [continues]","rootCause",1],["62111-h-6-redeems-through-redeemqueue-avoid-paying-management-and","Redeem queue burns shares before charging fees — AuditVault synthetic reduction","audit-finding","AuditVault","2025-07",null,["vuln/logic/fee-calculation","vuln/logic/state-update"],["logic"],null,"high","[[Mellow]] Flexible Vaults",null,"This bug report discusses an issue found by a group of users regarding the `redeem` function in the `RedeemQueue` contract. When a user redeems their shares, the shares are immediately burned, but the funds remain in the vault until a report is handled. This means that these funds are not subject to performance and management fees, which results in a loss of fees for the vault. The root cause of this issue is flawed logic in the code. [continues]","tldr",1],["61176-accounting-on-paymentsettler-will-be-corrupted-when-changi","Remora Pledge: changeStablecoin swaps the payment token's decimals without rescaling raw-unit accounting","audit-finding","AuditVault","2025-07",null,[],["untagged"],null,null,null,null,"`PaymentSettler` keeps its fee/payout accounting in raw units of the currently-active stablecoin. The operator can swap that stablecoin for another one — and the replacement may use a different number of decimals — but `changeStablecoin` only rewrites the token address. Every accrued raw amount is left untouched, so its decimal *meaning* silently changes. The stored number never changes; only the divisor used to read it does. [continues]","rootCause",1],["61177-paymentsettler-can-change-stablecoin-but-remoratoken-cant-","Remora Pledge: PaymentSettler can change its stablecoin but RemoraToken can't, permanently DoSing fee-bearing transfers","audit-finding","AuditVault","2025-07",null,[],["untagged"],null,null,null,null,"`RemoraToken` and `PaymentSettler` each store their own `stablecoin` address, and a core invariant requires the two to stay equal. `PaymentSettler` exposes a setter to change its `stablecoin`; `RemoraToken` does not — the inherited `DividendManager.changeStablecoin` was commented out when `PaymentSettler` was introduced. So once the settler's stablecoin is changed, `RemoraToken.stablecoin` can never catch up and the two diverge forever. [continues]","rootCause",1],["61175-attacker-can-make-pledge-on-behalf-of-users-if-those-users","Remora Pledge: pledge spends a victim's stablecoin because it never checks msg.sender == data.signer","audit-finding","AuditVault","2025-07",null,[],["untagged"],null,null,null,null,"`PledgeManager.pledge` pulls tokens from a caller-supplied `data.signer` via `transferFrom(signer,...)`. Users approve the manager up front (often a max approval), so the pull succeeds against that standing allowance. In the non-permit path the function never checks that the caller is the account being spent — `msg.sender == data.signer` is missing — so anyone can pledge on anyone's behalf. The permit path is safe: `IERC20Permit::permit` binds the signature to `signer` via nonce, deadline and domain separator. [continues]","rootCause",1],["61172-pledgemanagerpledge-refundtokens-will-revert-due-to-overfl","Remora Pledge: pricePerToken * numTokens multiplies two uint32, so every pledge above ~$4,294 permanently reverts","audit-finding","AuditVault","2025-07",null,[],["untagged"],null,null,null,null,"`pledge` declares the result as `uint256` and even comments \"account for overflow\" — but both operands are `uint32`, so Solidity evaluates the product in `uint32` FIRST and only widens the (already-computed) result to `uint256`. Under 0.8 checked arithmetic the multiply reverts the moment the product exceeds `type(uint32).max` (4,294,967,295): `refundTokens` carries the identical latent bug (`uint256 refundAmount = numTokens * pricePerToken; //TOOD: overflow check`). [continues]","rootCause",1],["61174-a-single-holder-can-grief-the-payouts-of-all-holders-forwa","Remora Pledge: removing a shared forwarder calls deleteUser, wiping calculatedPayout still owed to every other forwarding holder","audit-finding","AuditVault","2025-07",null,[],["untagged"],null,null,null,null,"Holders may nominate a shared `forwardAddress`; distributions accumulate each forwarded share onto the forwarder's `calculatedPayout`. Once the forwarder empties its own token balance it loses `isHolder`, so `payoutBalance(forwarder)` reads `0` even though `calculatedPayout` still holds funds owed to the *other* holders who are still forwarding to it. `_removePayoutForwardAddress` gates the cleanup only on token balance and `payoutBalance`. [continues]","rootCause",1],["61173-distribution-of-payouts-will-revert-due-to-overflow-when-p","Remora Pledge: uint64 calculatedPayout overflows on high-decimal stablecoin payouts, permanently bricking claims","audit-finding","AuditVault","2025-07",null,[],["untagged"],null,null,null,null,"`DividendManager` accumulates each holder's owed dividend in a `uint256` (`payoutAmount`) but stores it into a `uint64` field, `calculatedPayout`, through a revert-on-overflow `SafeCast.toUint64`. Payouts were sized for a 6-decimal stablecoin (USDC), but the protocol can switch the payment stablecoin to one with 18 decimals (USDS). A `$20` payout then becomes `20e18`, which exceeds `type(uint64).max` (~`1.844e19`), so the cast reverts. [continues]","rootCause",1],["61872-resolv-self-transfer-rewards","Resolv self-transfer reward theft — AuditVault 61872","audit-finding","AuditVault","2025-07",null,["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],null,null,null,null,"Self-transfers credit both sender and recipient reward paths, doubling the reward.","tldr",1],["64270-missing-nonce-validation-in-signature-verification-allows-tr","Securitize OnRamp replay — signed transactions remain valid after use","audit-finding","AuditVault","2025-07",null,["vuln/bridge/replay","vuln/auth/signature-validation","vuln/logic/missing-validation"],["bridge","auth","logic"],null,null,null,null,"Authenticity and freshness are separate properties. Signature recovery proves an authorization was produced by a permitted signer; it does not prove that the authorization has not already been consumed. Incrementing `noncePerInvestor` after recovery does not invalidate an old payload unless `txData.nonce` is compared to that stored value first.","rootCause",1],["63598-c-01-missing-update-of-extra-reward-per-token-during-deposit","StakeDAO — [C-01] Missing extra reward per token update on deposit","audit-finding","AuditVault","2025-07",null,[],["untagged"],"Stale reward index on deposit","high","StakeDAO StrategyWrapper",null,"First user deposits and extra rewards are funded. Second user deposits a huge amount without the index updating first, then withdraws/claims — receives ~100k/100001 of rewards that should all go to the first user.","tldr",1],["2025-07-Stepp2p","Stepp2p Exploit — Double-Refund via modifySaleOrder on an Already-Cancelled Order","incident","DeFiHackLabs","2025-07","BNB Chain",["vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["logic"],"Broken state invariant — missing `active` guard lets a cancelled order be \"modified\" and refunded a second time (double-spend)",null,null,"~$43.8K","A sale order's escrowed value should be redeemable exactly once. The contract tracks two pieces of state that must stay in agreement for that invariant to hold: `sale.active` — the boolean \"this order is live and its funds are still in escrow.\" `sale.remaining` — the USDT amount that is still claimable for this order. `cancelSaleOrder` pays out `remaining`, so after a cancel the *truth* is \"remaining funds = 0.\" [continues]","rootCause",1],["2025-07-StrategyLlamaLendConvex","StrategyLlamaLendConvex share-accounting drain — a dust deposit minted strategy shares that redeemed for the strategy's entire Curve Lend position","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/logic/incorrect-state-transition","vuln/defi/slippage","vuln/logic/price-calculation","vuln/arithmetic/precision-loss"],["logic","defi","arithmetic"],"A permissionless `deposit`/`redeem` path trusted the strategy's own share accounting and the underlying Curve Lend vault's realized redemption, while the default 3-arg `redeem` accepts a 100% loss — letting a dust redeemer claim far more crvUSD than it ever put in",null,null,"563.12 USDC","1. 100% default loss acceptance on `redeem`. The public 3-arg `redeem(shares, receiver, owner)` passes `maxLoss = MAX_BPS`, so the `_withdraw` invariant that would otherwise revert on \"freed < expected\" never engages. Any divergence between the strategy's share-to-asset conversion and the underlying Curve Lend vault's realized payout is silently booked as an accepted loss. 2. Share/asset conversion drift between deposit and redeem. [continues]","rootCause",1],["2025-07-SuperRare","SuperRare Staking Exploit — Permissionless updateMerkleRoot() + Single-Leaf Merkle Forgery","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/access-control/broken-logic","vuln/logic/wrong-condition"],["access-control","logic"],"Broken access control (inverted `!=... ||` authorization predicate) → arbitrary Merkle-root injection → single-leaf proof forgery",null,null,"~$730K","Two independent issues compose into a 1-transaction full drain: 1. Inverted authorization predicate (the bug). `updateMerkleRoot` uses `msg.sender != A || msg.sender != B`, which is a tautology, instead of `msg.sender == A || msg.sender == B`. The state variable that *defines who is allowed to be paid* (`currentClaimRoot`) became writable by anyone. This is the entire vulnerability — the rest is mechanical. 2. Self-attesting single-leaf Merkle proofs. [continues]","rootCause",1],["61230-future-epoch-cache-manipulation-via-calcandcachestakes-allow","Suzaku — caching a future epoch inflates the reward share","audit-finding","AuditVault","2025-07",null,["vuln/logic/reward-calculation","vuln/logic/missing-validation"],["logic"],"A future-epoch cache freezes today's stake and the reward math keeps using it","high","Suzaku Core `AvalancheL1Middleware`",null,"The cache is a permanent answer for that epoch and asset class. Writing it before the epoch starts freezes a stake that the operator can still change. `getOperatorStake` does not fall through to the live stake once the flag is set, so the reward weight stays at the pre-drop number.","rootCause",1],["61238-not-all-reward-token-rewards-are-claimable-cyfrin-none-suzak","Suzaku — claiming one reward token marks every token claimed","audit-finding","AuditVault","2025-07",null,["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],"One claim cursor covers every reward token","high","Suzaku Core `Rewards`",null,"A claim is a per-token transfer, but the cursor it writes is per-user. The next token reads that cursor and treats epochs the user has never been paid for as already claimed.","rootCause",1],["61234-incorrect-reward-claim-logic-causes-loss-of-access-to-interm","Suzaku — claiming sets the cursor past undistributed epochs","audit-finding","AuditVault","2025-07",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["logic"],"Claim cursor skips epochs that are distributed later","high","Suzaku Core `Rewards`",null,"The cursor is not \"the highest epoch this call paid\". It is \"every epoch before the current one\", including holes that have not been distributed. A later `distributeRewards` for one of those holes cannot be claimed, because the next loop starts above it.","rootCause",1],["61236-immediate-stake-cache-updates-enable-reward-distribution-wit","Suzaku — stake cache pays rewards before P-Chain confirmation","audit-finding","AuditVault","2025-07",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["logic"],"Reward uses a stake cache that was updated before confirmation","high","Suzaku Core `AvalancheL1Middleware`",null,"The cache is treated as confirmed stake. It is written at initialization, not at confirmation. `forceUpdateNodes` skips validators with a pending weight update, but the reward path has no such skip, so the two paths disagree about which stake is real.","rootCause",1],["61232-in-delegatorfactory-new-entity-can-be-created-for-a-blacklis","Suzaku Core — a blacklisted delegator version still becomes an entity and pulls 1000 SZK","audit-finding","AuditVault","2025-07",null,["vuln/access-control/missing-check","vuln/access-control/broken-logic","vuln/logic/missing-check"],["access-control","logic"],"A governance blacklist does not bind the factory","high","Suzaku Core `DelegatorFactory`",null,"The owner whitelists an entity implementation as version 0, then blacklists that version. `DelegatorFactory.create` never loads `blacklisted[type_]`. The call still `cloneDeterministic`s the implementation, pushes it into the entity set, and calls `initialize`. The treasury treats every registered entity as allowed to `release` funds, so the new entity transfers 1000 SZK to the caller. The treasury balance goes from 1000 to 0 while `blacklisted[0]` stays true. [continues]","tldr",1],["61237-vault-rewards-incorrectly-scaled-by-cross-asset-class-operat","Suzaku Core: vault rewards are scaled by the operator's cross-asset total","audit-finding","AuditVault","2025-07","Ethereum",["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],"A vault's share is multiplied by the operator's sum across every asset class",null,null,"Vault 2 stakers paid 17,000 RWD instead of the fair 20,000 RWD","`operatorBeneficiariesShares` is a sum across classes. For operator B that sum is: class 1: 700/1000 of a 5000 bp class = 3500; class 2: 100/100 of a 2000 bp class = 2000; class 3: 100/100 of a 3000 bp class = 3000; total = 8500 bp; Vault 2's stake is 100% of the operator's class-2 stake, so the first two multiplications already produce the 2000 bp class share. Multiplying by 8500/10000 dilutes it to 1700 bp. The same path writes vault 3 as 2550 bp instead of its 3000 bp class share. [continues]","rootCause",1],["61233-incorrect-summation-of-curator-shares-in-claimundistributedr","Suzaku counts one curator's share twice and locks 1,000 of the epoch's reward tokens","audit-finding","AuditVault","2025-07","Ethereum",["vuln/logic/reward-calculation","vuln/dos/frozen-funds"],["logic","dos"],"Curator total is added once per vault the curator owns",null,null,"1,000 reward tokens left in the contract","The mapping is a total, and the loop treats it as a per-vault value. The second add does not correspond to any second claim the curator can make.","rootCause",1],["61229-dust-limit-attack-on-forceupdatenodes-allows-dos-of-rebalanc","Suzaku dust forceUpdateNodes leaves 600 stake that a rebalance should have moved","audit-finding","AuditVault","2025-07","Ethereum",["vuln/dos/permanent","vuln/logic/incorrect-state-transition"],["dos","logic"],"Dust update sets pending without changing weight",null,null,"600 stake stays on the node","A pending flag is how the middleware stops a second stake update in the same epoch. The dust call sets that flag without moving stake and without changing the P-Chain weight. The real rebalance, which should pull excess stake back to the vault, sees the flag and does nothing.","rootCause",1],["61231-blacklisted-implementation-versions-are-accessible-through-m","Suzaku migrate installs blacklisted version 2, which sweeps 1,000 DAI","audit-finding","AuditVault","2025-07","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/upgradeable-contract"],["access-control","dependency"],"Blacklist enforced on create, skipped on migrate",null,null,"Blacklisted version 2 sweeps 1,000 DAI","The blacklist was added on the creation path only. Migration of an existing vault writes the implementation directly. Once that implementation is installed, its code runs through the vault, including a sweep of the vault's collateral.","rootCause",1],["61240-inaccurate-uptime-distribution-in-uptimetrackercomputevalida","Suzaku uptime — the split pays 500 instead of 900","audit-finding","AuditVault","2025-07",null,["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],null,null,"Suzaku Core",null,"Elapsed epochs are `currentEpoch - lastCheckpointEpoch`. The seconds to distribute are spread evenly across that whole range. A validator who was offline for the first of those epochs still receives uptime there, and loses the same number of seconds from the epoch where the uptime was actually earned. When the rates differ, the payment is not the payment for the active epoch.","rootCause",1],["2025-07-SWAPPStaking","SWAPP Staking Exploit — Unchecked transferFrom Return Value Lets a Free deposit Mint Staking Balance, Then emergencyWithdraw Drains the Vault","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/dependency/unchecked-return-value","vuln/logic/state-update"],["dependency","logic"],"Unchecked low-level token `transferFrom` return value + non-reverting Compound cToken transfers → phantom credit / accounting desync",null,null,"~$32,196.28","The attack is the composition of three independent design defects: 1. Unchecked `transferFrom` return value in the arbitrary-token branch (:129). The credit to `balances` (:136) happens unconditionally, with no before/after balance verification. For a token that *reverts* on failure this would be merely redundant; for a token that *returns false* (cUSDC) it is a free mint of internal balance. 2. `deposit()` accepts an arbitrary `tokenAddress` with no allow-list. [continues]","rootCause",1],["2025-07-unverified_8fd3","Unverified-proxy USDT drain via recipient-only signature — signed 5-min/recipient message did not bind victim, token, amount, or nonce","incident","DeFiHackLabs","2025-07","BNB Chain",["vuln/auth/signature-validation","vuln/auth/signature-replay","vuln/logic/missing-validation"],["auth","logic"],"The signature scheme only authenticates a 5-minute timestamp bucket and the recipient address; the victim, token, amount, caller, proxy, chain, and nonce are all absent from the signed digest, so any holder who ever approved the proxy can be drained to the signed recipient",null,null,"502.42 USDT","1. Signed message omits the victim. The digest is `keccak256(abi.encodePacked(timeBucket, recipient))` — it authorises a *recipient*, not a *source*. Any account that approved the proxy becomes a valid `victim` argument for the same signature, because `victim` is never bound into the signed bytes. 2. Signed message omits the amount. The implementation reads `amount = balanceOf(victim)` at execution time and transfers whatever that live balance is. [continues]","rootCause",1],["2025-07-Unverified670471","Unverified670471 — Balancer flash-loan callback forwarded to a victim that repays the loan with its own funds","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition","vuln/dependency/unsafe-external-call"],["access-control","logic","dependency"],"The victim's `receiveFlashLoan` callback does not check `msg.sender == BalancerVault`, so any caller can forward a Balancer flash-loan callback to it and force it to repay the loan out of its own token holdings, leaving the borrowed principal with the attacker.",null,null,"~$1,818.33","1. Missing caller authentication on a privileged entry point. `receiveFlashLoan` is, by Balancer's protocol contract, the trigger for a repayment. The victim treated it as safe to execute unconditionally. There is no `require(msg.sender == BALANCER_VAULT)`, no `onlyVault` modifier, no EOA/role check, no re-entrancy guard that would have limited the damage. Any external account or contract could call it. 2. Confusion between \"I am being loaned to\" and \"someone is calling me.\" [continues]","rootCause",1],["2025-07-Unverified6883","Unverified6883 Fake-Pair Callback Hijack — UniswapV2 flash-swap callback trusts a freshly-created attacker pair and pays WETH into it","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/logic/missing-validation","vuln/access-control/missing-auth","vuln/defi/slippage"],["logic","access-control","defi"],"The victim's UniswapV2 flash-swap callback (`uniswapV2Call`) honours a callback from any address it treats as a \"pair\" and routes an attacker-specified `paymentAmount` of its own WETH to an attacker-specified `paymentTo`, without authenticating that the calling pair is one it previously funded or that the payment destination is a trusted recipient.",null,null,"~$1,006.89","1. Unauthenticated callback origin. The victim's `uniswapV2Call` does not verify that `msg.sender` is a UniswapV2 pair the victim itself created, funded, or is contractually responsible for. Any pair created through the canonical factory can trigger it by calling `swap(..., data)` with the victim as `to`. 2. Attacker-controlled settlement destination and amount. `paymentTo` and `paymentAmount` are decoded from the callback `data` with no allow-listing. [continues]","rootCause",1],["2025-07-UPENGBurnSync","UPENG burn+sync drain — permissionless burn(address,uint256) lets anyone torch a Uniswap-V2 pair's token side, then sync() commits the manipulated balance as reserves","incident","DeFiHackLabs","2025-07","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/incorrect-order-of-operations","vuln/defi/slippage"],["access-control","logic","defi"],"UPENG exposes an unauthenticated `burn(address account, uint256 amount)` that any caller can use to destroy tokens held by any address — including the UPENG/WBNB liquidity pair — and the standard permissionless `PancakePair.sync()` then writes the manipulated balance into reserves, breaking the AMM price and letting the attacker extract the pair's WBNB.",null,null,"~1.5 WBNB","1. Unauthenticated arbitrary-address `burn`. UPENG's `burn(address account, uint256 amount)` performs a balance decrement + `Transfer` to `address(0)` with no caller authorization and no allowance check. This is the primary defect — a token must never let an arbitrary caller destroy a third party's balance. The standard safe pattern is either `burn()` (burns `msg.sender`'s own tokens) or `burnFrom(account, amount)` (requires prior `approve`). 2. `PancakePair.sync()` trusts external `balanceOf`. [continues]","rootCause",1],["2025-07-VDS","VDS Exploit — deposit() Mints 5× VDS for AVD, Redemption Refunds AVD 1:1","incident","DeFiHackLabs","2025-07","BNB Chain",["vuln/logic/price-calculation","vuln/logic/incorrect-order-of-operations"],["logic"],"Broken token economic invariant — asymmetric mint/redeem exchange rate (5:1 mint vs 1:1 redeem)",null,null,"~$11,136","The protocol uses two different, hard-coded exchange rates for the same AVD⇄VDS pair: Mint side (`deposit`): 1 AVD → 5 VDS. Redeem side (transfer-to-self burn): 1 VDS → 1 AVD. For any closed-loop pricing this is a contradiction. Composing the two operations gives a strictly profitable cycle: Deposit `A` AVD → receive `5A` VDS → redeem those `5A` VDS → receive `5A` AVD. The redeem rate (1 AVD/VDS) values each VDS at far more AVD than the mint cost (1 VDS = 0.2 AVD). [continues]","rootCause",1],["61328-fees-can-be-stolen-from-partially-unwrapped-uniswapv4wrapper","VII Finance — fees stolen from partially unwrapped UniswapV4Wrapper positions","audit-finding","AuditVault","2025-07",null,[],["untagged"],"Stale fee accounting after partial unwrap / re-wrap","high","VII Finance — `UniswapV4Wrapper`",null,"Unlike Uniswap V3 (where `tokensOwed` lives in the NPM and is reduced by `collect`), V4 settles fees into the wrapper. The wrapper must track residual fees for multi-holder ERC-6909 positions. Paying from `tokensOwed` without decrementing leaves a reusable claim that outlives the position's fee balance.","rootCause",1],["61327-liquidations-can-be-made-to-revert-by-an-attacker-through-va","VII Finance — liquidations can be made to revert by an attacker","audit-finding","AuditVault","2025-07",null,[],["untagged"],"Liquidation DoS via unowned collateral enable + transfer inflation","high","VII Finance — Uniswap position wrappers as EVK collateral",null,"Liquidation assumes every enabled tokenId is a real claim the violator can transfer. Enabling unowned ids plus totalSupply-based normalization invents a transfer amount the account cannot fund, turning a soft zero-value id into a hard revert that aborts the entire liquidation.","rootCause",1],["61329-more-value-can-be-extracted-by-liquidations-than-expected-du","VII Finance — more value extracted by liquidations than expected (normalizedToFull)","audit-finding","AuditVault","2025-07",null,["vuln/logic/liquidation-logic"],["logic"],"Incorrect normalization in liquidation share transfer","high","VII Finance — Uniswap V3/V4 position wrappers as EVK collateral",null,"`balanceOf(sender)` is the sum of unit-of-account values across enabled tokenIds. For each tokenId the code must convert `amount / currentBalance` into a fraction of the sender's claim on that tokenId. Using `totalSupply` treats the sender as if they owned 100% of every tokenId, so partial ownership inflates the ERC-6909 amount transferred on every other leg as well.","rootCause",1],["2025-07-unverified_54cd","weETH LRT Minter Exploit — Unprotected 0x03b79c24(address) Token Sweep","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control — unprotected privileged token transfer (\"rescue\"/sweep)",null,null,"~$285.7K","A privileged \"rescue/sweep\" helper — the kind teams add so an admin can recover stray tokens — was deployed without an access-control modifier. Three properties compose into a critical loss: 1. Missing authorization. `0x03b79c24` performs a privileged action (moving the contract's entire custodied weETH) but checks nothing about `msg.sender`. Anyone can call it. 2. Caller-controlled destination. [continues]","rootCause",1],["2025-07-WETC_Token","WETC Token Exploit — Fee-on-Transfer + skim/sync Reserve Drain","incident","DeFiHackLabs","2025-07","BNB Chain",["vuln/defi/slippage","vuln/oracle/price-manipulation"],["defi","oracle"],"Broken AMM invariant via fee-on-transfer token + permissionless `skim`/`sync` reserve desync",null,null,"~$101k","Two designs that are individually plausible compose into a critical bug: 1. A fee-on-transfer token whose tax can be 100% and is routed to third parties. PancakeSwap V2 pairs assume `token.transfer(to, x)` moves `x` from the pair to `to`. WETC violates this for any transfer where `from == pair`: with `buyPercent` summing to 10000 bps, `transfer(to, x)` moves `x` *out of the pair* but delivers 0 to `to` and `x` to unrelated wallets. The pair's invariant \"balance only changes by amounts I can account for\" is broken. [continues]","rootCause",1],["2025-07-WhereIsMyDragonTreasure","WhereIsMyDragonTreasure — fixed redemption reward larger than the recipe cost to mint a legendary card","incident","DeFiHackLabs","2025-07","Ethereum",["vuln/logic/price-calculation","vuln/logic/wrong-condition","vuln/oracle/price-manipulation"],["logic","oracle"],"The treasure paid a fixed per-card ETH reward computed once at funding time, while the legendary card could be acquired by burning cheap ingredients through an unrelated recipe contract — the reward price was never reconciled against the cheapest minting cost.",null,null,"$47,461.35","1. Reward price is decoupled from acquisition cost. `_singleReward` is computed from `address(this).balance / _legendaryCardAmount` at funding time and frozen forever. Nothing ties it to the cheapest path to mint a legendary card. The moment any minting path (recipe, market, airdrop) becomes cheaper than `_singleReward`, the chest is an arbitrage. 2. The legendary card is mintable by a permissionless recipe. [continues]","rootCause",1],["2025-06-unverified_b5cb","\"b5cb0555\" Exploit — Permissionless printMoney() Forwarder Drains a Trusted Treasury (Confused Deputy)","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/broken-logic","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control / confused-deputy — an unguarded arbitrary-call forwarder is trusted by the fund-holding contract",null,null,"~$35.3K drained from the treasury","This is a textbook confused-deputy failure produced by splitting a privileged \"deputy\" (the forwarder) from the resource owner (the treasury), guarding the *owner* but forgetting to guard the *deputy*. I proved the asymmetry with two differential calls at the fork block: So: 1. The treasury trusts the forwarder unconditionally (`msg.sender == forwarder` ⇒ allowed to move any token, any amount, to any recipient). 2. The forwarder trusts everyone — its default execution path has no caller check. [continues]","rootCause",1],["2025-06-AAVEBoost","AaveBoost Exploit — Permissionless proxyDeposit() Subsidy Drain","incident","DeFiHackLabs","2025-06","Ethereum",["vuln/access-control/missing-auth","vuln/logic/reward-calculation"],["access-control","logic"],"Missing access control / missing per-caller accounting on a self-funded subsidy (logic flaw)",null,null,"~$14.8K","The booster is a self-funded subsidy that anyone can claim, repeatedly, without paying for it. Three independent design decisions compose into the loss: 1. Permissionless entry. `proxyDeposit` has no `onlyOwner` / allow-list / keeper gate. The intended integration was presumably \"front-end calls it on behalf of a depositing user,\" but nothing enforces that the caller is the front-end or that the booster bonus is tied to real user capital. 2. The user contribution is optional. [continues]","rootCause",1],["2025-06-BankrollStackPlus","Bankroll Network Stack Plus — public buyFor(address,...) spends any victim's LINK allowance and lets the caller skim the dividend pool it just inflated","incident","DeFiHackLabs","2025-06","Ethereum",["vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition","vuln/defi/fee-manipulation"],["access-control","logic","defi"],"`buyFor(address customer, uint256 amount)` pulls tokens via `transferFrom(customer, …)` against any address the caller passes in, with no `msg.sender == customer` check, so anyone can spend a third party's standing LINK allowance and force buys on the victim's behalf.",null,null,"~12,234.48 USD","1. `buyFor` has no caller authorization. `_customerAddress` is a public, caller-controlled parameter and is passed straight into `cToken.transferFrom(_customerAddress, …)`. The contract conflates \"the protocol is allowed to move this user's LINK\" (the victim's standing allowance) with \"the caller is allowed to instruct that move\" — it never checks the second. 2. Token-side allowance is the *only* gate, and it was never meant to be a third-party consent gate. [continues]","rootCause",1],["2025-06-BankrollNetwork","BankrollNetwork Stack Exploit — Stale lastPayout Instant-Drip Dividend Inflation","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["logic"],"Reward-accounting flaw — stale `lastPayout` lets a single `donatePool` + `buy` drip a whole donation into `profitPerShare_` in one block, instantly claimable by the depositor",null,null,"24.586 WBNB net attacker profit","The drip is a *rate × elapsed-time* integral with no upper bound on the elapsed-time factor and no clamp against the reservoir it draws from. Under normal operation `distribute()` runs on every buy/sell/withdraw, so `now − lastPayout` stays small (seconds to hours) and the per-call drip is a tiny fraction of `dividendBalance_`. But nothing *enforces* frequent calls. After a 62.79-day dormancy, the first `distribute()` releases far more than the daily rate — in fact more than 100% of the reservoir. [continues]","rootCause",1],["2025-06-BankrollStack","BankrollStack (BankrollNetworkStack) Exploit — Flash-Loan Dividend-Drip Capture","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/governance/flash-loan-attack","vuln/logic/incorrect-order-of-operations","vuln/defi/slippage"],["governance","logic","defi"],"Flash-loan share inflation against a time-based dividend drip (POWH/Bankroll-style `profitPerShare_` accounting)",null,null,"5,385.806 BUSD","The contract distributes a time-based drip of an accumulated, real-asset pool to share-holders, but the per-share credit is `(profit · magnitude) / tokenSupply_` measured at the instant of distribution, with no minimum holding period and no protection against single-block supply inflation. A flash loan collapses all three protections at once: 1. Supply is trivially inflatable for one transaction. `buy()` mints shares 1:1 (minus fee) for any BUSD amount. [continues]","rootCause",1],["2025-06-BasePricePool","BasePricePool withdrawGOUT price-decoupling — manipulable-balance oracle lets flash-bought QCD be redeemed for GOUT at an inflated internal rate","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/logic/price-calculation","vuln/defi/flash-loan-attack"],["oracle","logic","defi"],"`withdrawGOUT` prices the GOUT payout from the post-transfer QCD amount and a circulating-QCD denominator derived from manipulable on-chain token/pair balances, so an attacker can redeem freshly AMM-bought QCD for more GOUT value than the QCD cost.",null,null,"~802.57 USD","1. Internal price oracle built from spot `balanceOf` reads. `getWithdrawOut` derives the GOUT payout from `totalSupply − dead − pairETH − pairUSDT` (denominator) and the contract's own GOUT holding (numerator). Every component is a real-time, permissionlessly-movable balance. There is no time-weighting and no external price feed. 2. Decoupling between the redemption rate and the market price of QCD/GOUT. The `amountIn × GOUT_pool / circulating_QCD` rate is a fixed bookkeeping ratio, not a market price. [continues]","rootCause",1],["62487-h-6-dos-might-happen-to-dinerowithdrawrequestmanager-initiat","Batch nonce overflow freezes withdrawals — AuditVault synthetic reduction","audit-finding","AuditVault","2025-06",null,["vuln/arithmetic/overflow","vuln/dos/lockup"],["arithmetic","dos"],null,"high","[[Notional]] Exponent",null,"This bug report discusses an issue that was found in the Notional Finance protocol by a group of individuals. The issue involves a function called `DineroWithdrawRequestManager#initiateWithdraw()` which is responsible for initiating a withdrawal of WETH. The function calls another function, `DineroWithdrawRequestManager#_initiateWithdrawImpl()`, which then executes a redemption from `PirexETH`. [continues]","tldr",1],["2025-06-BitCrown","BitCrown Distributor Drained via Unprotected batchTransfer — anyone could move the distributor's token balance to any recipient","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/access-control/missing-modifier","vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"A public `batchTransfer(token, recipients, amounts)` function on the distributor performs `IERC20(token).transfer(recipient, amount)` from the distributor's own balance with no access control and no allow-list of tokens/recipients, so any caller can sweep any token the distributor holds.",null,null,"≈ 7,939.27 USDT","1. No access control on a funds-moving function. `batchTransfer` is `external` with no `onlyOwner`/`onlyRole`/`onlyAuthorized` modifier. Any account (here, a throwaway contract deployed from the attacker EOA) can call it. This is the single load-bearing flaw. 2. Caller-controlled token argument. The `token` parameter is not constrained to an allow-list of legitimate payout tokens. The attacker passed BITCROWN, but the same primitive would have drained every other ERC-20 the distributor happened to hold. [continues]","rootCause",1],["2025-06-BSCArbitraryCall0xb5cb","BSC MEV Vault 0xb5cb… — Authorized Helper Arbitrary Call Drains Venus vTokens","incident","Crypto Training","2025-06","BNB Chain",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Privileged vault transfer (`0x0243f5a2`) callable via an authorized helper with a public entry/fallback — effectively arbitrary call into access-controlled target",null,null,"~$1.1M first tx","A Venus-integrated MEV / strategy vault (`0xb5cb…e1b0`) gates sensitive operations (including vToken transfers via selector `0x0243f5a2`) behind `isAuthorized`. Days before the drain, admin called `authorize(0xb5cb…4a87)` on the vault. The helper is not a tightly scoped adapter. Its public surface (fallback / open entry) lets any external caller trigger the vault’s privileged `0x0243f5a2` path, which does: for the vault’s Venus inventory (vUSDT, vUSDC, vETH, vBTC, …). [continues]","tldr",0],["57869-h-02-in-finalize-the-minttodao-amount-of-tokens-are-permane","Daos.live — finalize mints the DAO allocation into a contract that cannot withdraw","audit-finding","AuditVault","2025-06",null,["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],null,null,"Daos.live",null,"The recipient of the extra mint is `address(this)`. Nothing in DaosLive reads that balance back out. The manager address is stored and never used as a mint recipient.","rootCause",1],["57866-c-01-complete-drainage-of-vested-tokens-from-claim-in-daoves","Daos.live DaosVesting — claim() drains the vested token pot","audit-finding","AuditVault","2025-06",null,["vuln/logic/missing-validation","vuln/access-control/missing-auth"],["logic","access-control"],null,null,"Daos.live",null,"`schedules` are keyed by `msg.sender`, so any contract can call `setSchedules` and become a \"dao\". `claim` then trusts that contract for both the token address and the vested amount. The tokens that move are the ones already held by `DaosVesting` for the real contributors.","rootCause",1],["57868-h-01-swapped-tokens-during-finalize-permanently-stuck-in-dao","DaosLive — sniped tokens are paid to the contract and cannot be withdrawn","audit-finding","AuditVault","2025-06",null,["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Tokens are received by a contract that cannot send them on","high","DaosLive `finalize`",null,"The swap succeeds and the tokens have an owner. That owner is the launch contract, and the launch contract has no function that can move an ERC-20 balance.","rootCause",1],["57867-c-02-the-deadline-parameter-in-uniswapv3-swap-causes-sniping","DaosLive — the snipe swap is sent with deadline 0","audit-finding","AuditVault","2025-06",null,["vuln/logic/missing-check","vuln/input-validation/missing","vuln/dos/griefing"],["logic","input-validation","dos"],"A missing deadline is already expired","high","DaosLive `finalize` / Uniswap V3 `exactInputSingle`",null,"Uniswap treats a deadline of 0 as already expired. Omitting the field does not mean \"no deadline\". It means \"deadline in the past\", and `finalize` cannot snipe.","rootCause",1],["66498-c-01-update-inside-detoken-causes-incorrect-accounting-pash","DEToken charges interest on the tokens a deposit just minted and pays out 210 extra RToken","audit-finding","AuditVault","2025-06","Ethereum",["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],"Mint updates the deposit before interest, so the new tokens earn a full period",null,null,"210 RToken paid above the 2,100 fair claim","Interest is a function of the balance at the start of the period. Adding the minted amount first makes the new deposit, and the interest that was already included in the mint, earn the same period again. `setUserDeposit` then writes the pool's intended 2,100 over `_userDeposits`, but the ERC-20 balance stays at 2,310 because the extra mint already happened.","rootCause",1],["57914-inflation-attack-in-diaexternalstaking-allows-stealing-first","DIA — a 1-wei share rounds the next deposit to zero and takes it","audit-finding","AuditVault","2025-06",null,["vuln/arithmetic/rounding","vuln/logic/wrong-condition"],["arithmetic","logic"],"Donation inflates the pool so the next mint rounds to 0","high","DIA `DIAExternalStaking`",null,"Share price is `totalPoolSize / totalShareAmount`. One share against a pool of `deposit + 1` prices the next deposit below 1 share, and the division rounds down to 0. The victim's tokens still join the pool.","rootCause",1],["57917-wdia-prohibits-zero-transfers-which-will-block-rewards-distr","DIA — a 100 percent principal share cannot unstake, because WDIA rejects a zero transfer","audit-finding","AuditVault","2025-06",null,["vuln/dos/frozen-funds","vuln/input-validation/boundary"],["dos","input-validation"],"A zero beneficiary amount reverts the whole unstake","high","DIA `WDIA` and `DIAExternalStaking`",null,"A 100 percent principal share is a configured, valid split. It produces a zero transfer, and the token treats zero as an error instead of a no-op. The staking contract does not skip it.","rootCause",1],["57918-rewards-are-lost-if-user-requests-unstake-in-less-than-one-d","DIA — a 12-hour stake is paid zero because the reward counts only full days","audit-finding","AuditVault","2025-06",null,["vuln/logic/reward-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"A partial day is floored to zero and the reward is dropped","high","DIA `DIAWhitelistedStaking`",null,"The reward is linear in whole days and silent on the remainder. Any unstake requested before the first full day, or in the leftover hours after the last full day, is paid as if that time did not happen.","rootCause",1],["57915-missing-reward-accumulator-initialization-in-stake-creation","DIA — a new stake is paid every reward the pool ever accrued","audit-finding","AuditVault","2025-06",null,["vuln/logic/reward-calculation","vuln/data/uninitialized"],["logic","data"],"Stake creation leaves the user index at 0","high","DIA `DIAWhitelistedStaking` / `DIAStakingCommons`",null,"The index is a cumulative rate. A late staker must start at the current index so they only earn what accrues after they arrive. The stake path skips that write.","rootCause",1],["57919-rewards-claiming-may-fail-due-to-potentially-decreasing-para","DIA — a partial unstake makes the next unstake revert, and 5000 stays locked","audit-finding","AuditVault","2025-06",null,["vuln/dos/frozen-funds","vuln/logic/wrong-condition"],["dos","logic"],"Reward is recomputed from a smaller principal and compared to the old stored value","high","DIA `DIAWhitelistedStaking`",null,"The stored reward was computed on the old principal. Partial unstake reduces `principal` and leaves `reward` in place. The next claim runs the same formula on the new principal, gets a smaller number, and the assert treats that as a failure instead of as a new accrual.","rootCause",1],["57913-paidoutreward-subtraction-may-lead-to-unstake-and-unstakepri","DIA — paidOutReward makes the next unstake revert, and 10000 stays locked","audit-finding","AuditVault","2025-06",null,["vuln/arithmetic/underflow","vuln/dos/frozen-funds"],["arithmetic","dos"],"Reward is zeroed and paidOutReward is not","high","DIA `DIAWhitelistedStaking`",null,"`paidOutReward` is a lifetime accumulator. `reward` is reset to 0 on every claim. The next short window cannot catch up to the accumulator, so the subtraction underflows and both `unstake` and `unstakePrincipal` revert.","rootCause",1],["57921-incorrect-reward-calculation-when-reward-rate-changes-mixbyt","DIA — unstake pays the live rate for days that accrued at the old rate","audit-finding","AuditVault","2025-06",null,["vuln/logic/reward-calculation"],["logic"],"The current rate is applied to the whole stored window","high","DIA `DIAWhitelistedStaking`",null,"The formula has one rate and one window. After `updateRewardRatePerDay` the old rate is gone, so every day in the window is repriced.","rootCause",1],["57924-incorrect-calculation-of-accrued-rewards-in-updaterewardrate","DIA — updateRewardRatePerDay accrues 20 where the old rate accrued 100000","audit-finding","AuditVault","2025-06",null,["vuln/logic/reward-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Accrual uses the new rate and divides by 10,000 too early","high","DIA `DIARewardsDistribution`",null,"Two mistakes stack. The elapsed period is priced at the rate that was not in force, and the per-day index is scaled down by 10,000 before a second 10,000 scale is applied at claim time. For any realistic rate the first division collapses the index.","rootCause",1],["57923-reward-accumulation-manipulation-through-frequent-claims-mix","DIA Lumina: a claim floors the partial day and moves the clock","audit-finding","AuditVault","2025-06",null,["vuln/logic/reward-calculation","vuln/arithmetic/precision-loss","vuln/logic/state-update"],["logic","arithmetic"],null,null,"DIA Lumina staking",null,"Integer division drops every fraction of a day, and the clock is still moved to the current timestamp. The dropped fraction is not waiting in the gap for the next claim. Calling claim often, including twice at the same timestamp after a fractional day, keeps the floored total and never restores the remainder.","rootCause",1],["61408-c-06-anyone-can-uninstall-the-validator-module-from-any-wall","Etherspot CredibleAccountModule — anyone can uninstall a wallet's validator","audit-finding","AuditVault","2025-06","Ethereum",["vuln/access-control/missing-auth","vuln/dos/frozen-funds"],["access-control","dos"],"Calldata `sender` is trusted in place of `msg.sender`",null,null,"1,000.000000 USDC stuck in the victim wallet","ERC-7579 `onUninstall` is invoked by the account, so `msg.sender` is the account being modified. This function ignores `msg.sender` and writes `moduleInitialized[sender]`, where `sender` is `calldataload(data.offset + 32)`. The hook checks that follow (`getActiveHook`, `hasHook`) are evaluated against that spoofed account, not against the caller. With the multiplexer installed on the victim, those checks pass for any external caller.","rootCause",1],["61410-c-08-in-resourcelockvalidator-the-validateuserop-function-la","Etherspot ResourceLockValidator — a lock signature authorizes a different batch","audit-finding","AuditVault","2025-06","Ethereum",["vuln/auth/signature-validation","vuln/logic/missing-check"],["auth","logic"],"Signature covers the ResourceLock root, not the executed batch",null,null,"1,000.000000 USDC leaves the modular wallet and arrives at the attacker","The recovered signer is compared to `ECDSA.recover(root, signature)`, and `root` is the hash of the `ResourceLock` fields only (`chainId`, wallet, session key, validity, bid hash, token data). `userOp.callData`'s execution list is not in that hash. Because `_getResourceLock` returns inside the loop, a later `Execution` is never read during validation and is still performed by the wallet after validation succeeds.","rootCause",1],["61405-c-03-wrong-wallet-validation-in-disablesessionkey-when-calle","Etherspot: disableSessionKey checks the disabler's wallet, not the session owner","audit-finding","AuditVault","2025-06","Ethereum",["vuln/logic/wrong-condition","vuln/access-control/broken-logic"],["logic","access-control"],"Lock check indexes `msg.sender` instead of `targetWallet`",null,null,"1,000 USDC that was locked to a live session is spent to the disabler","The role check correctly allows either the session owner or a disabler to call. `targetWallet` is then set to the session owner. The very next guard ignores that variable and looks up `msg.sender`. For a disabler the lookup is an empty `SessionData`: `validUntil` is 0, the comparison with `block.timestamp` is false, and `isSessionClaimed` is never required to be true. `_removeSessionKey` still runs against `targetWallet`, so the victim's live session and its locked-token record are deleted.","rootCause",1],["2025-06-FixedTokenBSwap","FixedTokenBSwap RTV drain — attacker-supplied path + fake-token transferFrom bypass the on-chain price check, extracting a fixed 10 RTV per call","incident","DeFiHackLabs","2025-06","Ethereum",["vuln/logic/price-calculation","vuln/oracle/price-manipulation","vuln/logic/missing-validation"],["logic","oracle"],"`swap()` trusts a caller-supplied `path` against `UniswapV2Router.getAmountsIn` and then pulls `tokenA` via `transferFrom`, but never validates that `tokenA` is a real, valuable token — so an attacker-deployed fake token with a no-op `transferFrom` makes the \"payment\" free while the contract still sends a fixed 10 real RTV.",null,null,"500 RTV drained from the swap contract","1. Unrestricted `tokenA`. `swap` accepts any address as `path[0]`. There is no allowlist of acceptable input tokens, so an attacker-supplied ERC-20 is honored as payment. 2. Price source is attacker-manipulable. `getAmountsIn` reads whatever Uniswap pair exists for `path[0]/path[1]`. Because Uniswap V2 pair creation is permissionless, the attacker creates and seeds the exact pair whose reserves produce the quote the contract will trust. The contract treats the attacker's pool as a trustworthy oracle. [continues]","rootCause",1],["56966-floodplain-selector-extension-does-not-prevent-ifulfillersou","FloodPlain — a singular sourceConsideration hook drains a fulfiller","audit-finding","AuditVault","2025-06",null,["vuln/logic/wrong-condition","vuln/logic/missing-check"],["logic"],null,null,"Bunni / FloodPlain",null,"The guard compares against one magic value, and that value is not the selector extension of the callback the hook is actually able to invoke. A fulfiller that treats \"called by FloodPlain, extension equals sourceConsideration\" as proof of a real fill will approve or transfer to an attacker-chosen recipient during someone else's pre-hook.","rootCause",1],["2025-06-Gangsterfinance","Gangster Finance \"OG Vault\" Exploit — Stale lastPayout Drip-Pool Drain via Self-donate() + harvest()","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/logic/reward-calculation","vuln/oracle/stale-price","vuln/governance/flash-loan-attack"],["logic","oracle","governance"],"Broken reward accounting — unbounded time-elapsed drip release with a stale `lastPayout`, combined with a permissionless `donate()` that the donor can immediately reclaim via `harvest()`",null,null,"~0.1558 BTCB ≈ $16.5k drained from the vault's BTCB reserves","The exploit composes three design decisions: 1. Unbounded elapsed-time drip. `distribute()` multiplies the per-second drip rate by the *full* `(now − lastPayout)` with no maximum. Any vault that sits idle accumulates an arbitrarily large \"owed\" drip, and the next caller releases all of it at once. The drip pool is meant to bleed out at 3%/day, but 302 idle days mean the *first* interaction releases >900% of the pool — clamped only by `safeSub` to the pool's actual size. [continues]","rootCause",1],["61338-h-02-partner-can-receive-zero-share-despite-surplus-shieldif","GlueX V2 — a partner is paid 0 while 1000 GLX of surplus stays in the router","audit-finding","AuditVault","2025-06",null,["vuln/defi/fee-manipulation","vuln/logic/fee-calculation","vuln/logic/missing-check"],["defi","logic"],"A partner bps of 0 is accepted","high","GlueX V2 `GluexRouter`",null,"`swap` turns the amount delivered above the quote into `surplus`, then pays the partner `(surplus * partnerSurplusShare) / 10000`. Nothing stops `partnerSurplusShare` from being 0. A swap that delivers 1000 GLX against a quote of 0 therefore computes a partner cut of 0, skips the partner transfer, and leaves the 1000 GLX sitting in the router. The partner's balance stays 0. The fixed router treats a share below 10000 bps as 10000. The same zero-share call pays the partner 1000 GLX and the router balance ends at 0.","tldr",1],["2025-06-GradientMakerPool","Gradient Market Maker Pool Exploit — Mixed-Unit LP Share Accounting (ETH wei summed 1:1 with ERC-20 token units)","incident","DeFiHackLabs","2025-06","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],"Broken share accounting — ETH (wei) summed 1:1 with ERC-20 token base units, letting a cheap token mint a dominant share of an ETH-funded pool",null,null,"~$5,000","The pool treats ETH and an arbitrary ERC-20 as fungible at a 1:1 base-unit rate for the purpose of share accounting. Both ETH and GRAY are 18-decimal, so `tokenAmount + msg.value` doesn't even overflow or look obviously wrong — but it silently asserts that 1 GRAY == 1 ETH, which is off by roughly 3 orders of magnitude at the real GRAY price. Concretely, three design decisions compose into a critical bug: 1. Mixed-unit share minting. [continues]","rootCause",1],["62483-h-2-attacker-can-drain-the-entire-suppliers-on-morpho-market","H-2: Attacker drains Morpho suppliers by inflating collateral price","audit-finding","AuditVault","2025-06",null,[],["untagged"],null,null,null,null,"500k USDC drained from Morpho suppliers via post-withdraw yield donation","tldr",1],["62485-h-4-when-users-borrow-directly-from-morpho-price-of-the-coll","H-4: Direct Morpho borrow misprices withdrawal-request collateral","audit-finding","AuditVault","2025-06",null,[],["untagged"],null,null,null,null,"Over-borrow vs request-backed LTV (bad debt) when Morpho price ignores withdraw request","tldr",1],["62488-h-7-rewardmanagermixinclaimaccountrewards-lacks-of-necessary","H-7: claimAccountRewards pays MORPHO the users rewards","audit-finding","AuditVault","2025-06",null,[],["untagged"],null,null,null,null,"100 reward tokens stolen to MORPHO address via permissionless claimAccountRewards","tldr",1],["55151-double-counted-fees-in-partial-bid-claims-mixbytes-none-hanj","Hanji: a partial bid claim returns the unfilled fee and still counts it","audit-finding","AuditVault","2025-06","Ethereum",["vuln/logic/fee-calculation","vuln/logic/state-update"],["logic"],"Reserve decrease uses the filled notional while the unfilled fee is paid back",null,null,"60 quote tokens withdrawn from another LP","The cash movement on cancel uses every share whose fee is being released. The reserve movement uses only the filled shares. After the claim, reserves exceed the cash that still belongs to this order by exactly the returned fee, and the next reserve withdrawal spends someone else's balance.","rootCause",1],["2025-06-HoldSafe","HoldSafe price-manipulation referral drain — oracle pricing of stake value and rewards from a manipulable DEX spot route","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/defi/flash-loan-attack","vuln/logic/price-calculation"],["oracle","defi","logic"],"Stake size and referral reward are both priced via PancakeSwap `getAmountsOut` on a spot HS/WBNB/USDT route, so a one-block flash-loan reserve move makes cheap, attacker-controlled HS count as a large USDT position and entitles referral rewards paid back out in HS.",null,null,"~4,824.96 USD","1. Spot AMM price used as the source of truth for stake sizing. `getTokenAmountFromUSDT` calls `router.getAmountsOut` over the live HS/WBNB/USDT route with no TWAP, no staleness check, and no min/max price bound. Anyone who can move the HS/WBNB reserves for a single block sets the \"USDT value\" of any HS transfer. 2. Reward payouts reuse the same spot oracle in the same direction. `Rewards()` converts a USDT-denominated referral reward into HS tokens via `getTokenAmountFromUSDT` — the identical, manipulable call. [continues]","rootCause",1],["2025-06-InitcodeFactoryFees","InitcodeFactory collectFees — caller-authorizes via fake token creator() and drains ETH on a non-WETH token1","incident","DeFiHackLabs","2025-06","Ethereum",["vuln/access-control/broken-logic","vuln/input-validation/missing","vuln/logic/incorrect-order-of-operations","vuln/dependency/unchecked-return-value"],["access-control","input-validation","logic","dependency"],"`collectFees()` derives its authorization from the attacker-controlled `token0.creator()` and treats an untrusted `token1` as WETH, so a permissionless attacker deploys two fake ERC-20 tokens, makes the Factory the owner of a fee position in their pool, and triggers an ETH payout to the attacker.",null,null,"~2,383.25 USD","1. Untrusted `tokenId` and untrusted position tokens. `collectFees` accepts any tokenId and reads `token0/token1` straight from the V3 manager instead of from a Factory-maintained `(tokenId → coin)` mapping. There is no invariant that the position belongs to a Factory-deployed pool. 2. Missing WETH equality check. The code comment says \"Ensure token1 is always WETH\" but never `require(token1 == WETH)`. The conditional only fixes the inverted-order case, so the \"two non-WETH tokens\" case sails through. [continues]","rootCause",1],["58067-c-03-incentive-rewards-may-be-stolen-pashov-audit-group-none","KittenSwap — a voter claims the next period's incentives","audit-finding","AuditVault","2025-06",null,["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],"Incentives booked for the next period are claimable while that period is still open","high","KittenSwap `VotingReward`",null,"The next period is still accepting votes. Paying it early freezes the share at whoever has voted so far. Bob votes 100, claims, and is paid `500e6 * 100 / 100`. A later voter is owed a share of a balance that is already zero.","rootCause",1],["58066-c-02-lack-of-lastmintedperiod-update-allows-unlimited-mintin","KittenSwap — Lack of lastMintedPeriod update allows unlimited minting of Kitten","audit-finding","AuditVault","2025-06",null,[],["untagged"],"Missing state update / emission guard bypass","high","KittenSwap — `Minter.updatePeriod`",null,"A one-sided guard: the comparison is present, but the state variable that makes it one-shot is never updated. After the first successful period, `lastMintedPeriod` stays at 0 forever.","rootCause",1],["58065-c-01-rebasereward-fails-because-of-incorrect-token-handling","KittenSwap — RebaseReward fails because of incorrect token handling","audit-finding","AuditVault","2025-06",null,[],["untagged"],"Wrong token handling / reward accounting","high","KittenSwap — `RebaseReward.getRewardForTokenId` / `incentivize`",null,"Reward accounting is multi-token, but the payout path is single-token (Kitten lock into ve). Non-Kitten incentives inflate the Kitten claim amount.","rootCause",1],["58068-h-01-votingreward-not-set-on-gauge-pashov-audit-group-none-k","KittenSwap: the gauge never sets votingReward, so fees are not paid","audit-finding","AuditVault","2025-06",null,["vuln/logic/state-update","vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],null,null,"KittenSwap Gauge",null,"The storage slot for `votingReward` is left at zero. The notify path does not check it. A call to the zero address cannot record a reward, so the amount that `claim` reads stays zero. Fees that have already been pulled into the gauge are not forwarded.","rootCause",1],["2025-06-MetaPool","Meta Pool (mpETH) Exploit — Free mint() on a Native-ETH ERC4626 Vault","incident","DeFiHackLabs","2025-06","Ethereum",["vuln/logic/incorrect-state-transition","vuln/access-control/missing-check","vuln/data/uninitialized"],["logic","access-control","data"],"ERC4626 accounting: inherited `mint()` mints shares without collecting assets on a native-ETH (non-`transferFrom`) vault",null,null,"PoC measured profit: 8.892 ETH in cash + 77.79 mpETH","OpenZeppelin's ERC4626 is built around a single invariant: every share-minting path pulls the corresponding assets via `safeTransferFrom(asset, caller, vault, assets)` inside `_deposit`. Both `deposit()` and `mint()` funnel through that one `_deposit`, so collecting funds in `_deposit` covers both entry points. Meta Pool needed a native-ETH vault, so it overrode `_deposit` to drop the `safeTransferFrom` and rely on `msg.value`. [continues]","rootCause",1],["2025-06-unverified_8490","MOMO Buyback-Bot Exploit — Permissionless, Slippage-Free 5ff02eae() Sandwiched on a Thin USD1/MOMO Pool","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/slippage","vuln/defi/sandwich-attack"],["access-control","defi"],"Unprotected, permissionless market operation (no slippage, no caller gate) sandwiched on a low-liquidity AMM pool",null,null,"~$48.3K","The bot is a price-taking market participant whose order is fully attacker-controllable in timing, size context, and execution price. Three independent design failures compose into a one-transaction theft: 1. Permissionless trigger. `5ff02eae()` has no `onlyOwner`/keeper gate. The attacker — not the project — decides *when* the bot spends 48.7K USD1. They fire it at the exact moment the pool is maximally skewed in their favour. 2. No slippage protection. [continues]","rootCause",1],["57714-h-02-user-funds-burned-with-no-eth-returned-due-to-missing-w","Mystic — validator unstake burns frxETH and never records the withdrawal","audit-finding","AuditVault","2025-06",null,["vuln/logic/incorrect-state-transition","vuln/dos/frozen-funds"],["logic","dos"],"Validator fallback returns the unstaked amount and skips the request","high","Mystic `stPlumeMinter`",null,"The burn happens before the branch. The validator path treats the returned value as the whole result and never writes the mapping the withdrawal reads.","rootCause",1],["62491-h-10-malicious-user-can-change-the-tradetype-to-steal-funds","Notional Exponent H-10: caller-controlled TradeType (EXACT_IN → EXACT_OUT) drains the vault on redemption","audit-finding","AuditVault","2025-06",null,[],["untagged"],null,null,null,null,"On redemption, the vault trades every non-asset exit balance into the primary asset. The comment says the intent plainly — *\"Always sell the entire exit balance to the primary token\"* — an EXACT_IN swap: sell exactly `exitBalances[i]` of the sell token for as much asset as the market gives. But the `Trade` is built with a caller-supplied trade type: `amount` is fixed to `exitBalances[i]`, but its meaning depends on `tradeType`: `EXACT_IN_SINGLE` → `amount` is the input (sell exactly `exitBalances[i]`). [continues]","rootCause",1],["62492-h-11-missing-slippage-protection-in-expired-pt-redemption-ca","Notional Exponent H-11: expired-PT redemption uses sy.redeem(..., minTokenOut: 0) → sandwich drains the user","audit-finding","AuditVault","2025-06",null,[],["untagged"],null,null,null,null,"When a Pendle PT has expired, `_redeemPT` routes to `PendlePTLib.redeemExpiredPT`, which burns the PT for SY and then converts the SY to the exit token: The final `sy.redeem(..., minTokenOut: 0,...)` sets the slippage floor to zero. Many SY contracts implement `redeem` by performing an external DEX swap to convert the underlying into `tokenOutSy` (Pendle's `IStandardizedYield.redeem` takes a `minTokenOut` precisely because the conversion can slip). [continues]","rootCause",1],["62484-h-3-dinerowithdrawrequestmanager-vulnerable-to-token-overw","Notional Exponent H-3: Dinero withdraw manager over-withdraws via batch-ID overlap","audit-finding","AuditVault","2025-06",null,[],["untagged"],null,null,null,null,"A withdrawal request encodes a batch range `[initialBatchId, finalBatchId]` captured around `PirexETH.initiateRedemption`. The request id is made unique with a nonce — but the comment itself flags the real hazard: *\"Initial and final batch ids may overlap between requests.\"*; `_finalizeWithdrawImpl` then claims per batch, aggregate-style: `upxETH` is an ERC-1155 keyed by `batchId`, and the manager holds the sum of every request that landed in batch `i`. [continues]","rootCause",1],["62487-h-6-dos-might-happen-to-dinerowithdrawrequestmanager-initi","Notional Exponent H-6: uint16 s_batchNonce overflow permanently bricks Dinero withdrawals","audit-finding","AuditVault","2025-06",null,[],["untagged"],null,null,null,null,"Every withdrawal packs a unique `requestId` out of three fields — a per-request `nonce` and the batch range `[initialBatchId, finalBatchId]`: The nonce is given only the top 16 bits of the id, so `s_batchNonce` is declared as a `uint16`. Under Solidity 0.8 checked arithmetic, once `s_batchNonce` reaches its maximum `65535`, the pre-increment `++s_batchNonce` reverts on overflow — and it runs on *every* `initiateWithdraw`. There is no branch that skips it and no way to reset it. [continues]","rootCause",1],["62489-h-8-incorrect-assumption-that-one-1-pendle-standard-yield-sy","Notional Exponent H-8: PendlePTOracle assumes 1 SY == 1 Yield Token → inflated PT price → bad debt","audit-finding","AuditVault","2025-06",null,[],["untagged"],null,null,null,null,"A Pendle PT (Principal Token) is priced by combining two rates: When `useSyOracleRate == true` (a supported, in-the-test-suite configuration), `ptRate` is SY tokens per PT. It is then multiplied by `baseToUSD`, the Chainlink USD price of the Yield Token — the only feed that exists, because no oracle prices Pendle SY directly. The formula it computes is: This is dimensionally correct only if 1 SY == 1 Yield Token. [continues]","rootCause",1],["62490-h-9-hardcoded-useeth-true-in-remove-liquidity-one-coin-or-","Notional Exponent H-9: hardcoded use_eth = true on Curve V2 exit locks WETH-vault funds","audit-finding","AuditVault","2025-06",null,[],["untagged"],null,null,null,null,"Notional's Curve V2 single-sided LP vault computes the `use_eth` flag dynamically on entry but hardcodes it to `true` on exit. Entry (`_enterPool`) — correct: A vault whose primary token is WETH (not native ETH) enters with `msgValue == 0`, so `use_eth == false` and the pool pulls WETH. Correct. Exit (`_exitPool`) — the bug: When the pool's primary coin is WETH (so `ETH_INDEX == _PRIMARY_INDEX`), `use_eth == true` makes the Curve pool unwrap WETH to native ETH and send ETH to the vault. [continues]","rootCause",1],["62092-h-01-the-poolexposure-for-token1-is-erroneously-calculated-a","Panoptic Hypovault — poolExposure1 premium operands reversed","audit-finding","AuditVault","2025-06",null,["vuln/logic/wrong-math"],["logic"],"Sign / operand swap in premium accounting","high","Panoptic Hypovault / PanopticVaultAccountant",null,"`getAccumulatedFeesAndPositionsData` returns short (owed to vault) and long (owed by vault). Token1 exposure subtracts short from long instead of the reverse, flipping the premium contribution for token1.","rootCause",1],["2025-06-ParaSwapDAIApproval","ParaSwap Augustus — arbitrary exchangeData lets an unprivileged caller drain any account that approved the router — $2,299 DAI","incident","DeFiHackLabs","2025-06","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-validation","vuln/dependency/unsafe-external-call"],["access-control","logic","dependency"],"`simpleSwap` performs arbitrary `low-level call`s to caller-supplied `callees` with caller-supplied `exchangeData` in the router's own context; because those calls run *as the router*, any ERC20 `allowance` some third party ever granted the router can be spent by whoever crafts the `exchangeData`.",null,null,"2,298.68 USD","1. Unrestricted external-call targets. `simpleSwap` performs `callees[i].call(exchangeDataSlice)` with no check that `callees[i]` is a ParaSwap-registered adapter. Any address — including the token contract itself — can be invoked. 2. Unrestricted calldata content. `exchangeData` is sliced purely by byte offsets (`startIndexes`) and passed verbatim. There is no validation that the encoded function is a swap, that the `from`/owner fields reference `msg.sender`, or that the token equals `fromToken`. [continues]","rootCause",1],["2025-06-PegaBall","PegaBall — buyGamesFrom self-funds ticket purchases from the contract balance instead of msg.value — free vendor/referrer cut drain","incident","DeFiHackLabs","2025-06","Ethereum",["vuln/logic/incorrect-state-transition","vuln/access-control/broken-logic","vuln/dependency/unchecked-return-value"],["logic","access-control","dependency"],"A `payable` purchase function trusts the buyer's wallet balance (`_buyer.balance`) instead of the attached `msg.value`, then pays itself with a self-transfer and distributes vendor/referrer cuts from its own holdings — letting anyone \"buy\" tickets for free and skim the commission stream.",null,null,"~0.579 ETH","1. Payment was modeled as a balance check instead of an attached value check. `hasETHBalance` asserts `_msgSender().balance >= price` but never reads `msg.value`. A wallet merely *holding* the requisite ETH satisfies the gate; nothing forces that ETH to actually move into the contract. 2. The contract pays itself for the buyer. `payable(this).call{value: price}` is a self-transfer. [continues]","rootCause",1],["66504-h-03-incorrect-utilization-rate-in-deposit-and-withdraw-oper","Regnum: a deposit prices utilization on stale debt and refunds 160 raUSD","audit-finding","AuditVault","2025-06","Ethereum",["vuln/logic/fee-calculation","vuln/logic/state-update"],["logic"],"Utilization reads `totalUsage` from the last debt action",null,null,"Borrower is refunded 160 raUSD of interest that should have been charged","Interest accrual updates the normalized debt and does not write `totalUsage`. The next deposit still divides the old usage by the new, larger liquidity. The charged interest is `normalizedDebt * currentUsageRate / 1e18`, so the stale rate is applied to the real debt and the borrower pays too little.","rootCause",1],["2025-06-ResupplyFi","Resupply Finance Exploit — Empty-Vault Share-Price Inflation → exchangeRate = 0 → Uncollateralized Borrow","incident","DeFiHackLabs","2025-06","Ethereum",["vuln/oracle/price-manipulation","vuln/arithmetic/rounding","vuln/logic/wrong-condition"],["oracle","arithmetic","logic"],"ERC-4626 first-depositor / empty-vault price inflation + unsafe inverse-price division truncating to zero, defeating the LTV solvency check",null,null,"~$9.6M","Two independent defects compose into a catastrophe: 1. No manipulation-resistant collateral price. `BasicVaultOracle` returns the live `convertToAssets(1e18)` of an ERC-4626 vault. When the vault is empty, the very first depositor can set the share price to anything (classic 4626 first-depositor / inflation attack). The pair was activated for a market whose collateral vault had `totalSupply == 0`. 2. Unsafe inverse-price math with no zero guard. [continues]","rootCause",1],["62035-missing-balance-deduction-in-unstaking-functions-allows-cont","Sapien staking: unstake pays the recorded balance without deducting it","audit-finding","AuditVault","2025-06","Ethereum",["vuln/logic/missing-check","vuln/logic/state-update"],["logic"],"Staking position is paid out and left active",null,null,"A 100 SAPIEN stake is withdrawn four times","The transfer uses the stored amount as the payout and then leaves that storage alone. The next call sees the same active position and pays it again.","rootCause",1],["62036-signature-replay-attack-possible-between-stake-unstake-and-r","Sapien: a stake signature is replayed into claimReward","audit-finding","AuditVault","2025-06","Ethereum",["vuln/auth/signature-replay","vuln/auth/signature-validation"],["auth"],"Stake and reward orders share one packed hash with no nonce",null,null,"One precomputed stake signature moves 1,000 SAPIEN out of the reward pool to the signed us","The packed preimage does not name the action. A digest built for stakeDigest equals the digest claimReward recovers. The order is not marked used, so the signature is still valid on the second action.","rootCause",1],["2025-06-SiloFinance","Silo Finance Exploit — Untrusted Swap/Silo Targets in openLeveragePosition Let Attacker Re-route a \"Swap\" into Silo.borrow","incident","DeFiHackLabs","2025-06","Ethereum",["vuln/input-validation/missing","vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["input-validation","dependency","access-control"],null,null,null,null,"The root cause is lack of destination-binding for user-supplied addresses. `openLeveragePosition` accepts three address-bearing blobs (`FlashArgs.flashloanTarget`, `SwapArgs.exchangeProxy`/`sellToken`/`buyToken`/`allowanceTarget`, `DepositArgs.silo`) and uses each of them as a *trusted* counterparty (flash lender, DEX, Silo) without any of these checks: No allow-list / no market binding. [continues]","rootCause",1],["2025-06-SinstakeZombie","SinstakeNetworkZombie dividend-donation flash-drain — flash-borrowed ZOMBIE donates dividends that the same-tx buyer/seller immediately withdraws, netting excess ZOMBIE convertible to WBNB","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/defi/fee-manipulation","vuln/oracle/spot-price"],["logic","defi","oracle"],"A donation that funds the dividend pool is recognized inside the same transaction, so a temporary flash-borrowed balance mints pool shares, immediately realizes the freshly donated dividend, withdraws it, and still has surplus ZOMBIE to dump against the AMM pair — a classic dividend-yield-fund-manipulation / profit-distribution-ordering flaw.",null,null,"~705.13 USD","1. Dividend-claim eligibility has no temporal separation from donation/purchase. `donatePool()`, `buy()`, `sell()`, and `withdraw()` all run in a single transaction, and each one ends with a `distribute()` that can push `dividendBalance_` into `profitPerShare_`. The same externally owned account (or its attack contract) can be donor, sole holder, and claimant atomically. There is no lock-up, no epoch boundary, and no \"you must have held shares *before* the donation\" check. [continues]","rootCause",1],["2025-06-Stead","Stead Farm Exploit — Permissionless STEAD Drain via Un-Access-Controlled Function","incident","DeFiHackLabs","2025-06","Arbitrum",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control on a token-transferring function (broken authorization)",null,null,"~$14.5k","A single missing authorization check. The function transfers the entire STEAD balance the Farm holds to `msg.sender`, but it never verifies that `msg.sender` is the owner, an operator, or a staker entitled to a reward. The amount is not derived from the caller's stake or accrued reward; it is the raw `balanceOf(address(this))`. Any externally-owned account can therefore drain the contract in one call. Contributing factors: 1. No access modifier. [continues]","rootCause",1],["57016-during-the-yield-phase-when-using-supported-vaults-users-can","Strata — a supported-vault withdrawal takes 600 out of sUSDe","audit-finding","AuditVault","2025-06",null,["vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Strata pUSDe",null,"Yield-phase `_withdraw` knows how to turn sUSDe back into USDe and does not know how to turn a supported vault's shares back into USDe. `totalAssets` still counts those shares, so `withdraw` is allowed. The payment comes from the only liquid source the function understands, which is someone else's staked USDe, and the caller's vault shares remain in the contract. A later withdrawal that needs more USDe than the remaining sUSDe reverts.","rootCause",1],["57015-an-attacker-can-drain-the-entire-protocol-balance-of-susde-d","Strata — a yield-phase redemption takes the vault's entire sUSDe balance","audit-finding","AuditVault","2025-06",null,["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],null,null,"Strata",null,"Yield is a claim on sUSDe that sits above `depositedBase`. It has to be included when choosing how much sUSDe to transfer. It must not be included in the number subtracted from `depositedBase`, because that base is the principal still owed to pUSDe depositors. Subtracting it makes the next `previewYield` count principal as yield. Repeating the redemption walks the base to zero and the sUSDe balance out to the yUSDe caller.","rootCause",1],["58282-h-2-pumponomics-can-be-skipped-when-using-fluidlockerprovide","Superfluid Locker — Pumponomics can be skipped via provideLiquidity","audit-finding","AuditVault","2025-06",null,[],["untagged"],"Mismatch between pump base and LP inventory","high","Superfluid Locker System — `FluidLocker.provideLiquidity` / `_pump`",null,"Pump sizing keys off `msg.value`; LP sizing keys off balance. Pre-funded WETH is LPd without being pumped.","rootCause",1],["58281-h-1-staked-tokens-inside-fluidlocker-can-be-withdrawn-withou","Superfluid Locker — Staked tokens inside FluidLocker can be withdrawn without Unstake","audit-finding","AuditVault","2025-06",null,[],["untagged"],"Missing available-balance validation / double-use of staked funds","high","Superfluid Locker System — `FluidLocker.provideLiquidity`",null,"Stake accounting (`_stakedBalance`) is independent of the FLUID path used by `provideLiquidity`. Only `stake`/`unstake` touch the stake counter; LP paths move the actual tokens.","rootCause",1],["63080-lack-of-hookaddress-in-merkle-tree-schema-in-supervaultaggre","Superform — a merkle proof for one hook is accepted for another, and 100 ASSET moves","audit-finding","AuditVault","2025-06",null,["vuln/access-control/missing-validation","vuln/logic/missing-check"],["access-control","logic"],"Merkle leaf omits the hook, so two hooks share an authorization","high","Superform v2 periphery, SuperVaultAggregator",null,"Deposit and redeem hooks in this system encode the same `address + uint256` arguments. A leaf that ignores the hook address cannot tell those calls apart, so a proof minted for one hook authorizes the other.","rootCause",1],["63079-lack-of-replay-protection-in-pps-oracle-spearbit-none-superf","Superform — a PPS signature with no nonce is replayed and the redeem pays 100 too much","audit-finding","AuditVault","2025-06",null,["vuln/auth/signature-replay","vuln/oracle/stale-price"],["auth","oracle"],"Signature replay of a stale PPS","high","Superform v2 periphery, ECDSA PPS oracle",null,"Verification only checks that the recovered signer is the validator. The signed bytes do not include a nonce, a chain id, or the oracle address, and the oracle does not record that this digest was already used. Any caller who has seen the signature can submit it again after a newer price is posted.","rootCause",1],["2025-06-TokenFactory","TokenFactory fake-router LP drain — caller-supplied swap infrastructure is trusted without verifying the returned pair belongs to the new token","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/access-control/broken-logic","vuln/logic/missing-validation","vuln/dependency/unchecked-return-value"],["access-control","logic","dependency"],"TokenFactory let the caller pass arbitrary `swapRouter` / `swapFactory` addresses and recorded the address returned by `factory.getPair()` as the new token's LP pair without checking that pair actually held the freshly-created token; `transferPair` then moved the protocol's entire balance of that *recorded* LP token to an attacker-chosen destination.",null,null,"~657.17 USD","1. Caller-supplied swap infrastructure. `swapRouter`, `swapFactory`, and `weth` are function arguments with no allow-listing (verified source L493-499). The contract treats any address implementing the IUniswapV2 interface as trustworthy. 2. Returned pair is stored without validation. Line 529 stores whatever `swapFactory.getPair(tokenAddress, weth)` returns. There is no check that the returned pair's `token0()`/`token1()` include `tokenAddress`, and no check that the pair was created in this call. [continues]","rootCause",1],["2025-06-TokenVault","TokenVault (Gangster Finance) — same-tx donate+deposit inflates fresh shares against the drip pool","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/defi/flash-loan-attack","vuln/logic/state-update"],["logic","defi"],"`donate()` into the drip pool and `depositTo()` minting fresh shares are both permissionless within one transaction; the vault adds new shares to `balanceOf_`/`currentTotalStaked` and adjusts `payoutsTo_` against a stale `profitPerShare_` *before* the donation's drip has been distributed, so a transient WBNB position can harvest more WBNB than it deposited/donated.",null,null,"~3,226.51 USD","1. Single-transaction composability with no re-entrancy / snapshot guard. `donate`, `depositTo`, `resolve`, and `harvest` are all permissionless and can be chained inside one transaction (here, a PancakeSwap `pancakeCall` callback). The vault never enforces that a depositor must hold shares across a payout boundary before harvesting, and never locks deposits or snapshots the drip pool at deposit time. 2. Ordering bug in `_depositTokens`. [continues]","rootCause",1],["2025-06-TSAggregatorGeneric","TSAggregatorGeneric arbitrary swap-target calldata drains victim allowance — attacker-chosen swapRouter/data lets swapIn() call any function on any token the aggregator is allowed to spend","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/access-control/missing-validation","vuln/dependency/unsafe-external-call"],["logic","access-control","dependency"],"`swapIn()` performs an arbitrary low-level `swapRouter.call(data)` with fully caller-controlled `swapRouter` and `data`, and the only guard (`swapRouter != tokenTransferProxy`) does not stop the caller from pointing `swapRouter` at any ERC-20 the aggregator is approved to spend — so the \"swap\" becomes an arbitrary `transferFrom` against any user who pre-approved the aggregator.",null,null,"1,300.00 USDT","1. Unrestricted external call target. `swapRouter` is taken verbatim from the caller with only a single pointless exclusion (`!= tokenTransferProxy`). There is no allowlist of trusted DEX routers, so the caller can point it at any contract — in particular at the USDT token itself. 2. Unrestricted external call payload. `data` is taken verbatim from the caller. [continues]","rootCause",1],["62440-ufarm1-9-investor-withdrawals-may-not-function-with-a-nonzer","UFarm: a nonzero withdrawal lockup returns before the withdrawal is queued","audit-finding","AuditVault","2025-06","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Both steps of a locked withdrawal return before withdrawQueue.push",null,null,"An investor deposits 100 and withdraw receives 0","The lockup branch returns unconditionally. withdrawQueue.push sits after that return, so a nonzero lockup never records the shares or transfers the underlying.","rootCause",1],["2025-06-WaleCoin","WAL-E Coin proxy reinitialization → authorized buyback drain — public initialize() with no guard rewrites owner/router and unlocks triggerZeusBuyback","incident","DeFiHackLabs","2025-06","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition","vuln/dependency/upgradeable-contract"],["access-control","logic","dependency"],"An unguarded `initialize(address)` on an upgradeable-proxy implementation lets any caller re-take ownership and point the `router`/`pair` at attacker-controlled code, after which the `authorized`-only `triggerZeusBuyback` forwards the proxy's full BNB balance to that router.",null,null,"1.415367204023272901 BNB","1. `initialize()` has no initialization guard. It is `public`, takes no precautions against being called twice, and performs every privileged setup action (owner, router, pair, supply mint, fee receivers, allowances). The matching guard exists in `DividendDistributor.initialization()` in the same file — it was simply never applied to `RewardsChain.initialize`. 2. The token runs behind an upgradeable proxy with no storage-collision protection for `initialize`. [continues]","rootCause",1],["63676-h-01-strwip-is-always-minted-for-rwip-in-a-11-ratio-pashov-a","Aria — stRWIP is always minted for RWIP in a 1:1 ratio","audit-finding","AuditVault","2025-05",null,["vuln/logic/reward-calculation"],["logic"],"Fixed-ratio share mint vs variable-rate redeem","high","Aria (RWIP / stRWIP staking)",null,"Share issuance ignores the current pool exchange rate. Redemption uses the rate, so newly issued shares capture a free slice of prior rewards.","rootCause",1],["66158-c-04-failure-to-update-user-integral-enables-double-reward-a","BaseGauge pays the same reward accrual twice because integral is never advanced","audit-finding","AuditVault","2025-05","Ethereum",["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],"Reward credit without advancing `userData.integral`",null,null,"2000 reward tokens paid for one 1000 accrual","Two checkpoints exist. The helper writes `userRewardPerTokenPaid`. The claim path reads `integral`. Leaving `integral` at 0 means the historical gap is still open when the user claims.","rootCause",1],["2025-05-BetaPresale","Beta (BETA) Presale — public set() + per-sender-only deposit cap let a recycled flash loan drain the presale","incident","DeFiHackLabs","2025-05","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/incorrect-order-of-operations","vuln/defi/fee-manipulation"],["access-control","logic","defi"],"A permissionless `set(address)` lets anyone redirect the presale withdrawal address, and `deposit()` enforces its 100 BNB maximum only per `msg.sender` while immediately forwarding all held BNB to that mutable address — so a flash-loaned 100 BNB can be recycled through 70 fresh contracts to mint the hard-cap worth of tokens for free.",null,null,"1.921686798824852706 WBNB + 46.474821659738262175 BUSD","1. Missing access control on `set()`. `set(address payable _address)` is `external` with no `onlyOwner` and no modifier, allowing any caller to overwrite `withdrawAddress` at will. This is the single enabler that turns the presale into a self-refunding mint. 2. Per-`msg.sender` deposit cap bypassed by cheap contract deployment. The 100 BNB ceiling is keyed on `msg.sender`; creating a new contract costs a few million gas but resets the limit. [continues]","rootCause",1],["2025-05-bitallx","BitallxSC payout-array bypass drains victim USDT balance — public BitallxPayOut validates only totalSendAmount, never sum(amount[])","incident","DeFiHackLabs","2025-05","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-validation","vuln/logic/missing-check"],["access-control","logic"],"A public, unguarded payout function checks token allowance/balance only against `totalSendAmount` but never checks that the per-recipient `amount[]` sums are bounded by `totalSendAmount`, so `totalSendAmount=0` passes every guard while `transfer` in the loop pays out arbitrary amounts out of the contract's own holdings.",null,null,"2,029.47 USDT","1. Missing sum-validation invariant. The fundamental invariant of a \"deposit-then-distribute\" function — that `sum(amount[i])` must not exceed the `totalSendAmount` actually deposited — is never asserted. The deposit and the distribution are two unrelated token movements that share no enforced relationship. 2. Missing access control. `BitallxPayOut` is `external` with no modifier, so the untrusted caller fully controls all four parameters including `tokencontract`, `wallet[]`, `amount[]`, and `totalSendAmount`. [continues]","rootCause",1],["58333-h-01-router-address-validation-logic-error-prevents-valid-ro","Blackhole — inverted setRouter zero-address check bricks pool launches","audit-finding","AuditVault","2025-05",null,["vuln/access-control/broken-logic","vuln/logic/wrong-condition","vuln/liveness/admin-brick"],["access-control","logic","liveness"],"Inverted zero-address check (broken admin setter)","high","Blackhole (Audit 507) — GenesisPoolManager",null,"A classic inverted null-check. The developer almost certainly meant \"reject the zero address\" (`!=`) but wrote \"require the zero address\" (`==`). The setter becomes a one-way clear function with no path to assign a working router after deploy (or after a mistaken clear).","rootCause",1],["58334-h-02-reward-token-in-gaugefactorycl-can-be-drained-by-anyone","Blackhole — Reward token in GaugeFactoryCL can be drained by anyone","audit-finding","AuditVault","2025-05",null,[],["untagged"],null,"high","Blackhole (Audit 507) — GaugeFactoryCL / Algebra CL gauges",null,"Factory seeding was designed as an admin/voter path but shipped without access control, while still pulling real reward tokens from the factory balance.","rootCause",1],["61494-h-01-escrowtvl-does-not-add-in-flight-usdc-amount-pashov-aud","Blueberry HyperliquidEscrow — tvl() omits in-flight USDC","audit-finding","AuditVault","2025-05",null,["vuln/logic/wrong-state"],["logic"],"Incomplete TVL / share-price accounting","high","Blueberry HyperliquidEscrow",null,"USDC bridging reduces EVM balance while the value remains protocol-owned in-flight. Omitting that amount understates TVL and share price for same-block depositors/redeemers.","rootCause",1],["62593-c-02-missing-packet-id-in-finalizeopen-causes-nft-loss-pasho","C-02: Missing packet ID in finalizeOpen causes NFT loss","audit-finding","AuditVault","2025-05",null,[],["untagged"],null,null,null,null,"Packet NFT stuck in contract; INSTANT_OPEN reverts; user loses NFT with no cards","tldr",1],["61538-reward-distribution-enables-front-running-attacks-and-reward","CAP Labs — a same-block delegation takes 750 of 1000 RWD","audit-finding","AuditVault","2025-05",null,["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],"Reward share ignores how long the stake has been delegated","high","CAP Labs `Delegation`",null,"Vault A already delegates 100 behind an agent. The repayment interest, 1000 RWD, sits on the delegation contract. Vault B delegates 300 and calls `distribute` in the same transaction. The pot is split by current delegation: A receives 250 RWD and B receives 750 RWD. B provided none of the backing before this block. The control locks eligibility after A's deposit. B's later delegation is ignored. A receives the full 1000 RWD and B receives 0.","tldr",1],["61540-stakedcap-decimals-price","CAP Labs — decimal count creates an inaccurate staked price","audit-finding","AuditVault","2025-05",null,["vuln/arithmetic/decimal-mismatch","vuln/arithmetic/precision-loss","vuln/logic/price-calculation"],["arithmetic","logic"],null,null,null,null,"A decimal count is treated as a scaling factor, collapsing 10^6/10^18 normalization into 6/18.","rootCause",1],["61536-fee-auction-zero-assets","CAP Labs — fee auction charges for zero assets","audit-finding","AuditVault","2025-05",null,["vuln/defi/fee-manipulation","vuln/defi/sandwich-attack","vuln/input-validation/missing"],["defi","input-validation"],null,null,null,null,"_transferOutAssets only conditionally transfers positive balances and never rejects an all-zero output.","rootCause",1],["61537-health-vs-slashable-collateral","CAP Labs — health and slashable collateral disagree","audit-finding","AuditVault","2025-05",null,["vuln/logic/incorrect-state-transition","vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],null,null,null,null,"The two calculations use different time bases: current coverage versus historical slashable deposits.","rootCause",1],["61528-inconsistent-balance-tracking-vault-dos","CAP Labs — inconsistent vault balance tracking bricks borrowing","audit-finding","AuditVault","2025-05",null,["vuln/logic/state-update","vuln/dos/frozen-funds","vuln/input-validation/missing"],["logic","dos","input-validation"],null,null,null,null,"burn trusts the transferable balance instead of checking totalSupplies - totalBorrows before decrementing accounting.","rootCause",1],["61535-unvalidated-vault-address-interest-rate","CAP Labs — unvalidated vault address inflates interest rates","audit-finding","AuditVault","2025-05",null,["vuln/oracle/price-manipulation","vuln/input-validation/missing","vuln/dependency/unsafe-external-call"],["oracle","input-validation","dependency"],null,null,null,null,"rate performs an external IVault call before validating that _vault is an approved vault.","rootCause",1],["61525-incorrect-oracle-staleness-period-price-feed-dos","CAP Labs PriceOracle — global staleness period rejects valid feeds","audit-finding","AuditVault","2025-05",null,["vuln/oracle/stale-price","vuln/oracle/missing-validation","vuln/dos/frozen-funds"],["oracle","dos"],null,null,null,null,"The deployment sets `staleness = 1 hours` even though assets have 1-hour and 1-day heartbeats. The contract cannot distinguish a valid slow feed from a genuinely stale one.","rootCause",1],["62647-chat-points-manipulation-by-adding-liquidity-to-custom-pools","Chat points manipulation via custom Uniswap V4 pools","audit-finding","AuditVault","2025-05",null,[],["untagged"],null,null,null,null,"Full chat points for ~1% capital via unvalidated custom pool key","tldr",1],["2025-05-Corkprotocol","Cork Protocol Exploit — Permissionless Market Creation with Attacker-Controlled exchangeRateProvider","incident","DeFiHackLabs","2025-05","Ethereum",["vuln/access-control/missing-modifier","vuln/oracle/price-manipulation"],["access-control","oracle"],"Missing access control → attacker-controlled trust input (exchange-rate oracle) → cross-market RA drain",null,null,"~$12M — 3,760.88 wstETH drained from the live wstETH↔weETH PSM/Vault market","The proximate root cause is a single missing access-control modifier: `CorkConfig.initializeModuleCore` and `CorkConfig.issueNewDs` should be `onlyManager` but are not. That one omission turns a privileged, trusted operation (registering a market and choosing its price oracle) into a permissionless one, and the design's trust model collapses: 1. Attacker-chosen `exchangeRateProvider`. The PSM reads the per-market rate from whatever address was passed at `initializeModuleCore` time. [continues]","rootCause",1],["2025-05-crosswise","Crosswise MasterChef trusted-forwarder hijack — public setter with no access control enables arbitrary _msgSender() spoofing","incident","DeFiHackLabs","2025-05","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/broken-logic","vuln/access-control/centralization"],["access-control"],"`setTrustedForwarder()` has no access modifier, so any caller becomes the GSN \"trusted forwarder\" and can forge `_msgSender()` for every owner/dev/treasury/staker-gated function",null,null,"~4.16 WBNB","1. `setTrustedForwarder` has zero access control. The OpenGSN pattern is *only* secure if the `trustedForwarder` cannot be changed by an attacker. Crosswise shipped the setter as a plain `external` function. This is the single root cause; everything else is a downstream consequence. 2. `BaseRelayRecipient._msgSender()` unconditionally trusts the trailing 20 bytes whenever `msg.sender == trustedForwarder`. There is no signature, nonce, or EIP-2771 forwarder preflight inside the chef. [continues]","rootCause",1],["58580-h-3-attacker-can-steal-an-high-value-token-due-to-lack-of-sw","DODO Cross-Chain DEX — empty swapData skips swap and pays high-value target 1:1","audit-finding","AuditVault","2025-05",null,["vuln/access-control/broken-logic","vuln/loss-of-funds/direct-drain","vuln/logic/missing-swap-enforcement"],["access-control","loss-of-funds","logic"],"Missing swap enforcement when tokens differ","high","DODO Cross-Chain DEX — GatewayTransferNative (`_doMixSwap`)",null,"Empty `swapData` is a legitimate \"no swap needed\" path only when the input token already is the withdrawal token. Without that equality check, the function treats units of token A as interchangeable with units of token B — enabling economic arbitrage against the gateway's inventory whenever token prices differ.","rootCause",1],["58579-h-2-any-attacker-will-steal-accumulated-zrc20-tokens-from-ga","DODO Cross-Chain DEX — missing msg.value check on ETH placeholder drains ZRC20","audit-finding","AuditVault","2025-05",null,["vuln/access-control/missing-auth","vuln/bridge/message-spoofing","vuln/loss-of-funds/direct-drain"],["access-control","bridge","loss-of-funds"],"Missing native-value validation on placeholder token path","high","DODO Cross-Chain DEX — GatewayTransferNative",null,"The ETH placeholder path assumes the caller paid native value equal to `amount`, but never enforces it. Combined with a message that names a different real ZRC20 as the withdrawal target, the claimed amount is satisfied from gateway inventory the attacker never deposited.","rootCause",1],["58578-h-1-missing-swap-withdrawal-validation-enables-accumulated-t","DODO Cross-Chain DEX — swap output token ≠ withdrawal target drains gateway","audit-finding","AuditVault","2025-05",null,["vuln/logic/cross-contract-state-consistency","vuln/loss-of-funds/direct-drain","vuln/bridge/message-parameter-mismatch"],["logic","loss-of-funds","bridge"],"Missing validation between swap output and withdrawal target","high","DODO Cross-Chain DEX — GatewayCrossChain (ZetaChain)",null,"Two independent message fields control the economic flow: the swap's output token and the withdrawal token. The code uses the swap's amount with the withdrawal's token. When they differ, the gateway pays the attacker from whichever balance `targetZRC20` has — typically residual high-value tokens from refunds/prior bridges.","rootCause",1],["58582-h-5-unauthorized-claim-of-non-evm-chain-refunds-in-claimrefu","DODO Cross-Chain DEX — unauthorized claim of non-EVM chain refunds","audit-finding","AuditVault","2025-05",null,["vuln/access-control/auth-bypass","vuln/loss-of-funds/direct-drain","vuln/logic/address-encoding"],["access-control","loss-of-funds","logic"],"Auth bypass for non-EVM refund receivers","high","DODO Cross-Chain DEX — GatewayCrossChain / GatewayTransferNative `claimRefund`",null,"The default `receiver = msg.sender` was meant as a convenience for the bot path, but it also collapses the authorization predicate whenever the wallet is not a 20-byte EVM address. Non-EVM refunds therefore have no beneficiary check for arbitrary EOAs.","rootCause",1],["58581-h-4-gatewaytransfernativewithdrawtonativechain-allows-swappi","DODO Cross-Chain DEX — withdrawToNativeChain swaps arbitrary ZRC20 inventory","audit-finding","AuditVault","2025-05",null,["vuln/access-control/broken-logic","vuln/loss-of-funds/direct-drain","vuln/logic/missing-token-match"],["access-control","loss-of-funds","logic"],"Message-controlled swap input ignores deposited token","high","DODO Cross-Chain DEX — GatewayTransferNative (`_doMixSwap`)",null,"The deposit (`zrc20`, `amount`) and the swap input (`params.fromToken`, `params.fromTokenAmount`) are independent user inputs. Approving `fromToken` with the deposit amount spends the gateway's balance of whatever token the message names — not necessarily what the user paid in.","rootCause",1],["2025-05-DogeAlliance","DogeAlliance sync() reserve manipulation — LP pairs with token balances desynced from reserves drained by permissionless sync + swap","incident","DeFiHackLabs","2025-05","BNB Chain",["vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"A Uniswap-V2-style LP pair whose actual DOGEALLY balance had been driven down to ~1 wei while the paired-side reserve remained large; permissionless `sync()` re-pegged `reserve0` to 1 and left `reserve1` untouched, inflating the DOGEALLY price so a trivial sell drained the paired WBNB/BUSD.",null,null,"~990.33 USD","1. LP token balances were driven to dust while paired-side liquidity remained. The DOGEALLY `_burnLP()` burns `DOGEALLY` *out of the LP pair addresses directly* (via `_burn(dogeallyLPs[n], …)`). Repeated burns collapsed the pairs' actual `DOGEALLY` balance to 1 wei, but never removed the WBNB/BUSD sitting on the other side. This created a structural imbalance between `balance0` (≈0) and `balance1` (full liquidity). 2. Permissionless `sync()` lets anyone re-peg stored reserves to actual balances. [continues]","rootCause",1],["2025-05-Dumbo","Dumbo DUM staking reward inflation — permissionless, repeatable distribute() lets an attacker mint compounding rewards inside one transaction","incident","DeFiHackLabs","2025-05","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/dos/griefing","vuln/defi/flash-loan-attack"],["logic","dos","defi"],"A public, un-gated reward `distribute()` with no per-block/per-epoch re-entrancy or cooldown guard lets any caller trigger reward minting to stakers arbitrarily many times within a single transaction, so a flash-funded staker can self-mint far more DUM rewards than the protocol ever intended to emit per interval.",null,null,"628.447753459629926384 BUSD","1. Missing per-call cadence guard on `distribute()` — the core defect. `distribute()` performs reward minting but never records or checks a `lastDistribute`/`epoch` timestamp or block. There is no `require(block.number > lastBlock)` or `nonReentrant`. Any caller may invoke it as many times as gas allows in a single transaction (the PoC proves 1,950 calls are feasible within gas limits [output.txt:1562, `gas: 53250324`]). [continues]","rootCause",1],["57088-an-incorrect-balance-check-for-the-pt-to-sy-swap-can-lead-to","FIVA AMM: the PT-to-SY balance check ignores locked SY and the user loses the PT","audit-finding","AuditVault","2025-05",null,["vuln/logic/state-update","vuln/input-validation/missing"],["logic","input-validation"],null,"high","FIVA yield tokenization",null,"Other swaps reject `sy_out > total_supply_sy - sy_locked - MINIMUM_LIQUIDITY`. The PT-to-SY swap drops `sy_locked`. With 1000 SY of which 900 is locked, a 200 PT swap is under the raw total, so it is accepted. The pool takes the 200 PT. It cannot pay 200 SY from the unlocked 100, so the user receives nothing. The fixed check includes `syLocked` and returns before `transferFrom`, and the user still has 200 PT. On TON the SY payout is a later message, which is why a failed payout does not roll the PT pull back. [continues]","tldr",1],["57083-an-attacker-can-prevent-the-redemption-of-yt-and-pt-tokens-f","FIVA YTMinter — a shared redeem deposit lets anyone finish the position","audit-finding","AuditVault","2025-05",null,["vuln/access-control/missing-auth","vuln/logic/missing-check","vuln/dos/griefing"],["access-control","logic","dos"],"Missing sender in the redeem-deposit init state","high","FIVA yield tokenization, `YTMinter` / `RedeemDeposit`",null,"The temporary redeem account is addressable by anyone who knows the recipient. The first honest leg opens it. The second leg, from any caller, closes it at `min(pt, yt)`.","rootCause",1],["57093-race-condition-in-yt-swap-and-index-update-can-lead-to-loss","FIVA: a swap between the minter index update and the pool index update sticks 100 PT","audit-finding","AuditVault","2025-05",null,["vuln/logic/state-update","vuln/logic/price-calculation"],["logic"],null,"high","FIVA yield tokenization",null,"The pool and the YT minter each store an index. A swap prices `ytOut` with the pool index and tells the minter to mint from `syOut`. The minter multiplies by its own index. If the minter was updated from 1.1 to 1.2 and the pool was not, a 1000 SY swap books 1100 PT and the minter delivers 1200 PT and 1200 YT. `balanceOf(pool) - totalSupplyPt` is 100. Those 100 PT sit on the pool outside the reserve accounting. [continues]","tldr",1],["58130-h-03-decrease-positions-updatetradesuccess-will-use-wrong-av","Gains Network: decrease uses pre-fee available collateral and under-debits the vault","audit-finding","AuditVault","2025-05","Ethereum",["vuln/logic/fee-calculation","vuln/logic/incorrect-order-of-operations","vuln/logic/state-update"],["logic"],"Closing fee is realized, then the vault pull still uses the pre-fee available collateral",null,null,"Vault debited 150 DAI instead of 190 DAI","`realizeTradingFeesOnOpenTrade` runs first. Its amount includes `closingFeeCollateral`, and the report's own comment says that amount reduces collateral available in the diamond. The token transfer in this reduction moves the 40 DAI fee to the fee sink. `handleTradeValueTransfer` is then given the available figure computed before that reduction. The vault pull is short by exactly the closing fee. [continues]","rootCause",1],["58129-h-02-gettradeskewpriceimpactp-function-ignores-trade-contrac","gTrade charges a v9 close -1e8 of skew (1,000 DAI) instead of 0","audit-finding","AuditVault","2025-05","Ethereum",["vuln/logic/price-calculation","vuln/defi/price-manipulation"],["logic","defi"],"Skew divider ignores contract version",null,null,"A v9 close pays 1,000 DAI of skew impact","The production function has no `contractsVersion` argument. `priceImpactDivider` is the constant 2 so that open and close each pay half. That split is wrong for a trade whose open used an older contract: the close still pays the new half, and nothing in the function can see that the open did not.","rootCause",1],["58131-h-04-traders-could-lose-assets-when-increasing-counter-trade","gTrade keeps 400 DAI when a counter-trade increase is canceled","audit-finding","AuditVault","2025-05","Ethereum",["vuln/logic/fee-calculation","vuln/logic/incorrect-state-transition"],["logic"],"Cancel refund omits `counterTradeCollateralToReturn`",null,null,"400 DAI of escrowed counter-trade collateral is not returned","`prepareCallbackValues` mutates `_partialTrade.collateralAmount` down by the amount that must be returned, and stores that amount on `values`. `handleCanceled` is not given `values`. It transfers `_partialTrade.collateralAmount`, which is the post-reduction number. The returned collateral never leaves the diamond.","rootCause",1],["57884-c-02-users-can-exploit-rounding-to-withdraw-excess-assets-fr","Harmonix — withdraw burns the rounded-down share count","audit-finding","AuditVault","2025-05",null,["vuln/arithmetic/rounding-direction","vuln/arithmetic/rounding","vuln/logic/incorrect-calculation"],["arithmetic","logic"],"ERC-4626 withdraw must round the burned shares up","high","Harmonix `FundContract.withdraw`",null,"`withdraw` specifies the assets that leave and derives the shares that burn. Rounding that division down burns too few shares for the assets paid. ERC-4626 rounds this conversion up so the vault does not pay assets that the burned shares do not cover.","rootCause",1],["57885-c-03-nav-value-overwrites-last-fee-harvest-time-shieldify-no","Harmonix — writing the NAV replaces the fee-harvest timestamp","audit-finding","AuditVault","2025-05",null,["vuln/logic/state-update","vuln/logic/fee-calculation","vuln/logic/incorrect-state-transition"],["logic"],"The NAV write and the harvest timestamp share one slot","high","Harmonix `VaultStore` / fund harvest",null,"Two storage keys are built from the same id. Writing NAV is not a separate slot. It is an overwrite of the last harvest time, and the value written is a NAV, not a timestamp. The harvest check then treats that NAV as the last harvest and refuses to run.","rootCause",1],["57883-c-01-first-depositor-can-inflate-share-price-to-steal-funds","Harmonix FundContract — first depositor inflates the share price and takes the next deposit","audit-finding","AuditVault","2025-05",null,["vuln/arithmetic/rounding","vuln/logic/price-calculation"],["arithmetic","logic"],null,null,"Harmonix Finance (Hyperliquid vault)",null,"`deposit` on an empty vault mints one share per wei of assets. After that, price is a plain ratio of the balance-contract balance to `totalSupply`. Donating assets is not a deposit, so the ratio moves without a matching share mint. The next depositor's share amount rounds down to 0, and the existing shareholder owns 100% of the new balance.","rootCause",1],["57886-h-01-incorrect-withdrawal-state-update-causes-partial-withdr","Harmonix: a partial withdrawal clears isAcquired and strands the rest","audit-finding","AuditVault","2025-05",null,["vuln/logic/state-update","vuln/logic/incorrect-state-transition","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Harmonix Finance, Hyperliquid fund",null,"`acquireWithdrawalFunds` sets `isAcquired` so the user can complete. The completion helper then clears that flag on every call, including a partial one. Shares and `withdrawAmount` are reduced, so the position is still open, but the only gate that allows completion is now false. The leftover assets stay in the fund.","rootCause",1],["57888-h-03-partial-withdrawers-suffer-double-fee-charging-due-to-s","Harmonix: a second partial redeem charges the original fee again","audit-finding","AuditVault","2025-05",null,["vuln/logic/fee-calculation","vuln/logic/state-update"],["logic"],null,null,"Harmonix Finance, Hyperliquid fund",null,"The fee stored at withdrawal open is the fee for the whole share balance. Each partial redeem treats that number as if it still belonged to the shares that remain. Cutting the shares in half without cutting the fee doubles the fee per share. The second half therefore costs as much as the original whole.","rootCause",1],["57889-h-04-faulty-nav-update-logic-creates-compounding-asset-deple","Harmonix: NAV subtracts a fee that is already inside the withdrawal","audit-finding","AuditVault","2025-05",null,["vuln/logic/fee-calculation","vuln/logic/state-update"],["logic"],null,null,"Harmonix Finance, Hyperliquid fund",null,"The gross withdrawal already contains the fee. Subtracting the fee again treats one outflow as two. Each withdrawal removes `feeAmount` of NAV that no asset movement in the fair model requires, and this reduction also pulls that amount out of the contract a second time. Repeating the withdrawal compounds the hole.","rootCause",1],["57887-h-02-incorrect-fee-calculation-period-leads-to-overcharging","Harmonix: the management fee clock starts at vault setup","audit-finding","AuditVault","2025-05",null,["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],null,null,"Harmonix Finance, Hyperliquid fund",null,"The harvest timestamp is stored when the vault is configured, which can be long before any assets arrive. The fee multiplies NAV by that whole gap. Days with a zero balance are billed at the later NAV. The `+ 1` on the per-second rate is the quoted rounding, and it is present in both the buggy period and the fair period, so it is not the gap.","rootCause",1],["55693-h-02-emissionschedulerepochemission-lacks-access-control-and","Hyperstable — anyone can consume an emission epoch and the minter then mints 0","audit-finding","AuditVault","2025-05",null,["vuln/access-control/missing-auth","vuln/logic/state-update"],["access-control","logic"],null,null,"Hyperstable EmissionScheduler",null,"`lastEpoch` is both the \"already emitted\" flag and a value any external caller can write. The mint path trusts the returned tuple, so a consumed epoch mints zero.","rootCause",1],["55694-h-03-rewarddistributorclaim-will-revert-for-tokens-with-expi","Hyperstable — RewardsDistributor.claim reverts once a ve lock expires and the reward stays in the distributor","audit-finding","AuditVault","2025-05",null,["vuln/dos/frozen-funds","vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["dos","logic"],null,null,null,null,"`RewardsDistributor.claim` always forwards a non-zero reward into the voting escrow with `deposit_for`. `vePeg.deposit_for` reverts when `locked.end` is not strictly after `block.timestamp` (`\"Cannot add to expired lock. Withdraw\"`). `increase_unlock_time` uses the same require, so the lock cannot be extended after expiry. The claim reverts and the PEG stays in the distributor.","rootCause",1],["2025-05-IRYSAI","IRYSAI Exploit — Backdoored transferFrom Lets the Tax Wallet Drain the LP Pool","incident","DeFiHackLabs","2025-05","BNB Chain",["vuln/access-control/centralization","vuln/access-control/missing-auth"],["access-control"],"Token backdoor — privileged `transferFrom` allowance-bypass + permissionless `setTaxWallet`",null,null,"~$69.6K","A correct ERC20 `transferFrom` enforces the invariant *\"a spender may only move `sender`'s tokens up to `allowance[sender][spender]`, and that allowance must be debited.\"* IRYSAI breaks this invariant by design for a privileged address: If `msg.sender == _taxWallet`, the balance move in `_transfer` happens with no allowance requirement and no allowance debit. [continues]","rootCause",1],["58017-h-06-lack-of-access-control-in-clgauge-creation-allows-unaut","KittenSwap — anyone can pin a CL gauge and collect the pool's fees","audit-finding","AuditVault","2025-05",null,["vuln/access-control/missing-auth","vuln/logic/missing-check","vuln/logic/reward-calculation"],["access-control","logic"],"Missing access control on a one-shot gauge registration","high","KittenSwap concentrated-liquidity gauges",null,"Gauge creation is a one-shot registration on the pool, but the factory function that performs it is permissionless. The voter is not the only caller who can consume the slot, and the bribe address is caller-supplied, so the gauge that wins the slot also decides where fees go.","rootCause",1],["58011-c-02-clgauge-sends-kitten-rewards-to-itself-instead-of-to-st","KittenSwap — CLGauge pays KITTEN to itself","audit-finding","AuditVault","2025-05",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["logic"],"Staking moves the NFT, so the reward recipient is the gauge","high","KittenSwap `CLGauge`",null,"The NFT cannot stay with the staker, because the gauge has to hold it while the position is staked. The reward recipient is derived from that custody. After `stake`, `ownerOf` is the gauge, so the transfer of KITTEN is from the gauge to the gauge. The staker who called `getReward` receives nothing, and deleting `rewards[tokenId]` consumes the accounting.","rootCause",1],["58014-h-03-externalbribeearned-skips-rewards-before-the-last-token","KittenSwap — earned() skips the checkpoint before the last","audit-finding","AuditVault","2025-05",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["logic"],"The reward for the checkpoint before the last one is computed and then dropped","high","KittenSwap `ExternalBribe`",null,"The addition is delayed by one checkpoint. Iteration `i` adds the reward that iteration `i - 1` stored, then stores checkpoint `i`'s reward for the next pass. Stopping at `_endIndex - 1` means checkpoint `_endIndex - 1` is stored and never added, and checkpoint `_endIndex` is handled only by the tail. The tail pays that last checkpoint only when `block.timestamp > epochEnd`. [continues]","rootCause",1],["58012-h-01-incorrect-next-epoch-supply-usage-affects-reward-calcul","KittenSwap — epoch rewards use the next epoch's supply, so the voter is paid 100 of 1000","audit-finding","AuditVault","2025-05",null,["vuln/logic/reward-calculation"],["logic"],"The index timestamp is the next epoch, not the one being paid","high","KittenSwap `ExternalBribe`",null,"`getPriorSupplyIndex` returns the latest checkpoint whose timestamp is less than or equal to the argument. Passing the exact start of the next epoch makes a checkpoint written at that instant eligible. That checkpoint already includes deposits from the new epoch. The reward for the epoch that just ended is diluted by supply that was not present while it was earned.","rootCause",1],["58150-c-01-split-can-be-abused-to-create-locked-data-with-an-arbit","KittenSwap — split mints an arbitrary locked amount","audit-finding","AuditVault","2025-05",null,["vuln/arithmetic/underflow","vuln/input-validation/missing","vuln/logic/missing-check"],["arithmetic","input-validation","logic"],"Signed subtraction of an unchecked split amount","high","KittenSwap VotingEscrow",null,"The only bound on `_amount` is `_amount > 0`. The subtraction is signed. It reverts only if the result leaves the `int128` range, not if it is negative. One child then carries the attacker-chosen positive amount, which `votingPower` and the bribe claim both treat as real.","rootCause",1],["58018-h-07-inconsistent-rounding-of-lock-time-causes-voting-power","KittenSwap — split skips the week rounding and inflates voting power","audit-finding","AuditVault","2025-05",null,["vuln/arithmetic/rounding","vuln/logic/reward-calculation","vuln/governance/proposal-manipulation"],["arithmetic","logic","governance"],"Lock-end rounding skipped on one path, so slope changes miss the week grid","high","KittenSwap VotingEscrow",null,"Every other lock path floors the unlock time onto `WEEK`. `split` stores the raw sum. Individual power uses that later end immediately, and the global checkpoint can never subtract the slope because `slope_changes` is keyed by a timestamp the week cursor does not visit.","rootCause",1],["58013-h-02-loss-of-claimable-rewards-upon-gauge-deactivation-pasho","KittenSwap Voter — deactivating a gauge deletes claimable rewards","audit-finding","AuditVault","2025-05",null,["vuln/logic/reward-calculation","vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],null,null,"KittenSwap",null,"`claimable` is the only record of rewards already earned and not yet sent to the gauge. Zeroing it on deactivation throws that record away. The tokens were already transferred into the Voter by `notifyRewardAmount`, and nothing else is allowed to withdraw them. Revival does not replay the deleted accrual.","rootCause",1],["58015-h-04-duplicate-tokenid-in-delegate-list-may-inflate-votes-pa","KittenSwap: a same-block delegate duplicates a token id and its vote","audit-finding","AuditVault","2025-05",null,["vuln/governance/proposal-manipulation","vuln/logic/state-update","vuln/logic/reward-calculation"],["governance","logic"],null,null,"KittenSwap VotingEscrow",null,"The checkpoint chosen for a same-timestamp update is the one that already holds the token ids, and the code assumes that destination list is empty. It is not. Appending the old ids onto it duplicates every id. Vote weight is the length of that list, so one locked token counts twice, and a reward paid per vote pays twice.","rootCause",1],["58016-h-05-incorrect-last-pointblk-calculation-due-to-shared-memor","KittenSwap: a shared point struct freezes the historical block","audit-finding","AuditVault","2025-05",null,["vuln/logic/state-update","vuln/logic/incorrect-state-transition","vuln/governance/proposal-manipulation"],["logic","governance"],null,null,"KittenSwap VotingEscrow",null,"In the compiler, a memory-to-memory struct assignment is a reference. `initial_last_point` and `last_point` are the same value. Any write through one is visible through the other, including the timestamp the block slope is measured from. The slope itself is non-zero: this block is 1000000 and the old point is block 800000, over two weeks. The product is still zero because the time input was overwritten.","rootCause",1],["2025-05-KRCToken_pair","KRC Token Exploit — Fee-on-Transfer Token Burns From Its Own Pool, Desyncing Reserves","incident","DeFiHackLabs","2025-05","BNB Chain",["vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Broken AMM invariant — fee-on-transfer token burns from the pool's own balance and `sync()`s",null,null,"~$7,155","A UniswapV2/PancakeSwap pair prices assets purely from its cached reserves and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists so the pair can adopt its real balance as the reserve — it trusts that balance changes are legitimate. `KB._transfer` weaponizes that trust: When KRC is sent into the pair, the token destroys KRC held by the pair (`super._transfer(swap, destroy, …)`) and then calls `pair.sync()`, telling the pair \"your KRC reserve is now this much smaller.\" No USDT leaves. [continues]","rootCause",1],["56947-h-1-incorrect-tier-tracking-when-tier-3-staker-exits-in-a-ce","LayerEdge — Incorrect tier tracking when tier 3 staker exits","audit-finding","AuditVault","2025-05",null,[],["untagged"],"Off-by-one tier boundary on T3 exit","high","LayerEdge Staking",null,"On removal, when the Tier-2 *count* is unchanged, the code assumes the demotion boundary is `new_t1 + new_t2`. That is correct only when a T1/T2 staker left (shrinking the current T1+T2 set). When a T3 leaves, the current T1+T2 set is still the *old* size, so the staker who must demote is at rank `old_t1 + old_t2`.","rootCause",1],["56948-h-2-when-stakercountintree-increases-some-users-may-receive","LayerEdge — When stakerCountInTree increases, some users receive less interest","audit-finding","AuditVault","2025-05",null,[],["untagged"],"Missed promotion at new T2 boundary on stake","high","LayerEdge Staking",null,"When `stakerCountInTree` increases and the Tier-2 *count* is unchanged, the T1+T2 boundary can still move because Tier-1 grew. The code only refreshes the *old* boundary rank, missing the new boundary that should be promoted from T3 to T2.","rootCause",1],["58380-h-11-users-will-lose-funds-due-to-token-decimal-mismatches","LEND H-11: cross-chain borrow ignores per-chain token decimals (~1e12× overborrow)","audit-finding","AuditVault","2025-05",null,[],["untagged"],null,null,null,null,"LEND is a cross-chain money market. A borrow is validated on the source chain against the user's collateral, then the amount is relayed over LayerZero to the destination chain, where `CoreRouter.borrowForCrossChain` pays it out: `_amount` is expressed in the source token's decimals, but it is used to borrow and transfer the destination token with no re-scaling. The same logical asset can have different decimals per chain (USDC is 6 decimals on Ethereum, but a bridged/native variant can be 18 on another chain). [continues]","rootCause",1],["58387-h-18-incorrect-srceid-check-in-borrowwithinterest-sherlock","LEND H-18: incorrect srcEid check in borrowWithInterest (cross-chain debt reads 0 → liquidation evasion)","audit-finding","AuditVault","2025-05",null,[],["untagged"],null,null,null,null,"`LendStorage.borrowWithInterest` sums a borrower's cross-chain debt on the current chain. When a cross-chain borrow is stored on the source chain (Chain A), the record's fields are set to `srcEid = ChainB` (the destination) and `destEid = ChainA` (the current chain). But the filter uses the wrong field: `borrows[i].srcEid` is `ChainB`, and `currentEid` is `ChainA`, so the condition is never true on the source chain. Every real cross-chain borrow is skipped and `borrowWithInterest` returns 0.","rootCause",1],["58389-h-20-multiple-cross-chain-borrows-using-same-collateral-sh","LEND H-20: multiple cross-chain borrows reuse the same collateral (Nx overborrow)","audit-finding","AuditVault","2025-05",null,[],["untagged"],null,null,null,null,"`CrossChainRouter.borrowCrossChain` reads the borrower's current collateral and ships it to the destination chain so the destination market can approve the borrow — but it never locks or reserves that collateral on the source chain before dispatching: The collateral is only registered as used after the destination confirms (`_handleValidBorrowRequest`). [continues]","rootCause",1],["58372-h-3-user-can-evade-liquidation-and-bridge-funds-by-exploit","LEND H-3: both cross-chain mappings populated bricks borrowWithInterest (liquidation evasion)","audit-finding","AuditVault","2025-05",null,[],["untagged"],null,null,null,null,"`borrowWithInterest` assumes that, for a given user and asset on a chain, only ONE of `crossChainBorrows` / `crossChainCollaterals` is ever populated, and enforces it with a hard `require`: That invariant is not actually enforced elsewhere. A user can populate both mappings for the same asset on the same chain by opening cross-chain borrows in both directions: 1. Supply (nearly all) collateral on Chain A, borrow on Chain B → `crossChainBorrows` populated on A. [continues]","rootCause",1],["58384-h-15-incorrect-distribution-of-lend-tokens-to-users-sherlock","LEND rewards are paid on a borrow that was just written, so the borrower gets 200 instead of 100","audit-finding","AuditVault","2025-05","Ethereum",["vuln/logic/reward-calculation","vuln/logic/incorrect-order-of-operations"],["logic"],"`distributeBorrowerLend` runs after `crossChainCollaterals` already includes the new principal",null,null,"100 LEND overpaid","The reward distribution and the principal update share one mapping, and the distribution is second. Anything `borrowWithInterest` reads includes the borrow that the same call just appended. The accrual window did not include that borrow.","rootCause",1],["58382-h-13-incorrect-debt-tracking-in-updaterepaymentstate-sherlo","LEND: a full cross-chain repay clears the borrowed-asset flag while 250 of same-chain debt remains","audit-finding","AuditVault","2025-05","Ethereum",["vuln/logic/liquidation-logic"],["logic"],"Borrowed-asset cleanup ignores remaining same-chain principal",null,null,"Tracked debt is 0","The cleanup decides that the asset has no debt from the cross-chain array alone. A length of 1 means this repay removed the only cross-chain row. It does not mean same-chain `borrowBalance` is zero. The collateral release trusts the flag.","rootCause",1],["58394-h-25-incorrect-desteid-value-in-handleliquidationsuccess-pr","LEND: liquidation success looks up destEid 0 and leaves 500 escrowed","audit-finding","AuditVault","2025-05","Ethereum",["vuln/logic/wrong-condition","vuln/dos/frozen-funds"],["logic","dos"],"Collateral lookup passes a hardcoded destination chain id",null,null,"500 of the liquidator's escrow stays in the router","The success handler does not know the destination chain id yet, and it passes 0 as a placeholder. The finder does not treat 0 as a wildcard. It requires an exact match, so a real row is invisible and the require reverts the message.","rootCause",1],["2025-05-MBUToken","MBU Token Exploit — Decimal-Scaling Bug in deposit() Mints ~1e18× Too Many Tokens","incident","DeFiHackLabs","2025-05","BNB Chain",["vuln/arithmetic/decimal-mismatch","vuln/oracle/spot-price"],["arithmetic","oracle"],"Decimal-scaling / unit-mismatch error in mint math (mint amount ≈ 1e18× too large)",null,null,"~2,157,126 BUSD","A textbook decimal / unit mismatch in fixed-point math: `USD_value (1e18 scale) / MBU_price (1e18 scale)` already yields a raw, unscaled token count. To express it in 18-decimal MBU you would multiply by `1e18` *only if the USD value were not already 1e18-scaled*. Here the value was already 1e18-scaled (it came from `amount × price`, an 18×18 = 1e36-scale product, with one `1e18` carried through), so the additional `× 1e18` in the mint formula is a pure error. Concretely the intended-vs-actual: [continues]","rootCause",1],["2025-05-Nalakuvara_LotteryTicket50","Nalakuvara / LotteryTicketSwap50 Exploit — Fixed-Payout Redemption Drains the AMM Pool","incident","DeFiHackLabs","2025-05","Base",["vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Broken redemption invariant — a fixed nominal payout backed by pool liquidity priced at attacker-manipulated reserves",null,null,"105,470 USDC","The redemption function makes a promise it cannot honor safely: \"Burn `N` ticket-units and I will pay you exactly `N/1e6 × 50 × 0.994` USDC — and I'll get that USDC by pulling liquidity out of the AMM pool and selling the NATA.\" Three design flaws compose into the loss: 1. Fixed payout, variable backing. The amount paid (`amountUSDTALL*994/1000`) is a constant derived only from the ticket count. [continues]","rootCause",1],["56810-locked-residual-token-amounts-on-deposit-mixbytes-none-p2por","P2P Yield Proxy: the deposit fee residual stays in the proxy with no withdraw path","audit-finding","AuditVault","2025-05",null,["vuln/dos/frozen-funds","vuln/logic/state-update"],["dos","logic"],null,"high","P2P.org Staking Lending Proxy",null,"`_deposit` pulls `amount` and forwards `amount * s_clientBasisPointsOfDeposit / 10_000`. With the client share at 8000 bps, a 10000 YLD deposit forwards 8000 and leaves 2000 sitting on the proxy. `deposits[user]` is 8000. `withdrawAll` returns 8000. The 2000 is not tracked and has no transfer. The fixed deposit sends that residual to the treasury, and the proxy balance after withdraw is 0.","tldr",1],["57907-h-01-predictable-randomness-in-activity-outcomes-shieldify-n","PenguinGotchi: the activity roll is the caller's salt","audit-finding","AuditVault","2025-05",null,["vuln/logic/missing-validation","vuln/access-control/missing-modifier","vuln/logic/wrong-condition"],["logic","access-control"],null,null,"PenguinGotchi",null,"Every input to the hash is known before the call. `block.timestamp` is the timestamp of the transaction the caller is building, and salt is theirs. They can discard a losing salt and submit a winning one. The signature does not expire and does not cover the salt, so the same authorization works for the salt they just selected.","rootCause",1],["66188-h-26-stale-interest-accrual-allows-over-borrowing-pashov-aud","Regnum Aurum: a borrow is checked before interest accrues and the position exceeds its 100 token cap","audit-finding","AuditVault","2025-05","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/logic/missing-check"],["logic"],"Collateral validation uses the pre-accrual usage index",null,null,"1 rTKN is borrowed after the stale debt reads 99","The debt read inside `_validateBorrow` multiplies scaled debt by the stored index. That index is stale until `updateReserveState`. The check and the accrual are in the wrong order, so the borrower is allowed to add debt that the updated index cannot support.","rootCause",1],["2025-05-RICE","RICE / BentoBox-Clone Exploit — Signature-less setMasterContractApproval Lets Anyone Drain Any Depositor","incident","DeFiHackLabs","2025-05","Base",["vuln/access-control/missing-auth","vuln/auth/signature-validation"],["access-control","auth"],"Broken access control / signature verification — approval set without authentication",null,null,"~34.52 WETH","A single missing authorization check. `setMasterContractApproval` is the *only* gate that protects every depositor's funds, and the clone shipped it without the authentication that BentoBox enforces: 1. No `msg.sender == user` check on the no-signature path. BentoBox treats `(v,r,s) == (0,0,0)` as \"the user is opting themselves in directly\" and therefore *requires `user == msg.sender`*. [continues]","rootCause",1],["62592-c-01-reentrancy-attack-in-authorizedopenpacket-allows-duplic","RipIt: authorizedOpenPacket pays a second card bundle through the receive hook","audit-finding","AuditVault","2025-05","Ethereum",["vuln/reentrancy/cross-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"safeTransferFrom runs before the OPEN_PACKET burn is finalized",null,null,"One packet pays 200 CARD and 2 cards","The external transfer happens while the packet is still in the OPEN_PACKET burn. The callback is free to clear that burn and start the instant-open path, which pays a full second set before the outer call pays the first.","rootCause",1],["58378-h-9-outdated-exchange-rate-utilization-sherlock-lend-git","Stale exchangeRateStored lets a supplier book extra lTokens and redeem other depositors","audit-finding","AuditVault","2025-05","Ethereum",["vuln/logic/price-calculation","vuln/logic/state-update"],["logic"],"Supply accounting uses `exchangeRateStored` while `mint` accrues interest first",null,null,"10.05 underlying taken from an existing supplier","The accounting rate is taken before accrual and the mint rate is taken after it. Pending interest makes the stored rate smaller, so the router records more shares than `mint` created. Those extra shares are taken from the lTokens already sitting on the router for other suppliers.","rootCause",1],["58397-h-28-subsequent-crosschain-borrows-dont-accrue-interest-on-e","Subsequent cross-chain borrow skips accrued interest — AuditVault synthetic reduction","audit-finding","AuditVault","2025-05",null,["vuln/logic/state-update","vuln/arithmetic/precision-loss"],["logic","arithmetic"],null,"high","LEND",null,"This bug report discusses an issue that was found by a group of individuals on a platform called GitHub. The issue involves borrowing the same asset more than once on a specific chain, which causes the recorded debt to be less than the actual debt. This can result in incorrect calculations of account liquidity, allowing the user to borrow more than they should be allowed to. The root cause of this issue is due to a mistake in the code that updates the user's borrowed amount. [continues]","tldr",1],["61376-asymmetric-first-in-block-swap-initialization-leads-to-stale","Uniswap hooks — a falling first tick leaves the sandwich cap unset","audit-finding","AuditVault","2025-05",null,["vuln/defi/sandwich-attack","vuln/logic/state-update"],["defi","logic"],"The first swap stamps the block without copying ticks","high","OpenZeppelin `AntiSandwichHook`",null,"The hook is supposed to cap later swaps in a block at the opening quote. It copies tick state only in `_after` of the first swap, and only for ticks strictly above the opening tick. It stamps `blockNumber` even when that loop does not run. The pool starts at 1000 A / 1000 B. The first swap sells 400 A, so the tick falls. The copy loop does not run. `ticksReady` stays false. The victim then sells 100 A and receives 47619047619047619047 wei of B instead of the opening quote of about 90.9 B. [continues]","tldr",1],["61378-accrued-limit-order-fees-can-be-stolen-openzeppelin-none-ope","Uniswap hooks — new limit-order liquidity takes 90 of 100 accrued FEE","audit-finding","AuditVault","2025-05",null,["vuln/defi/fee-manipulation","vuln/logic/reward-calculation"],["defi","logic"],"JIT liquidity claims historical fees","high","OpenZeppelin `LimitOrderHook`",null,"An earlier LP has 10 liquidity on an order that has already accrued 100 FEE. The attacker places 90 liquidity, crosses the tick, and withdraws. The payout is the full fee pot times the caller's share of current liquidity. The attacker receives 90 FEE. The earlier LP receives the remaining 10 FEE. The control stores the fee index at deposit. Fees accrued before the attacker arrived pay 0 to the attacker and 100 FEE to the earlier LP.","tldr",1],["61280-incorrect-storage-slot-derivation-breaks-authorization-spear","Uniswap The Compact — incorrect emissary storage slot breaks authorization","audit-finding","AuditVault","2025-05",null,["vuln/access-control/auth-bypass","vuln/loss-of-funds/direct-drain","vuln/storage/slot-collision"],["access-control","loss-of-funds","storage"],"Storage slot collision / broken authorization domain","high","Uniswap The Compact — `EmissaryLib._getEmissaryConfig`",null,"`mstore(0x14, sponsor)` places the 20-byte address so its bytes begin at `0x20`. The subsequent `mstore(0x20, lockTag)` clobbers them. The hashed region therefore never contains the sponsor, so `msg.sender` is not part of the authorization domain.","rootCause",1],["2025-05-unverified_91a1","Unverified Base airdrop-claim contract drained via constructor-time claim spam — per-claimant eligibility keyed on msg.sender with no nonce/code/allow-list guard","incident","DeFiHackLabs","2025-05","Base",["vuln/access-control/broken-logic","vuln/logic/missing-check","vuln/dos/griefing"],["access-control","logic","dos"],"`claim()` payout eligibility is keyed on `msg.sender` with no nonce, code-hash, or allow-list check, so a freshly-deployed contract that calls `claim()` from its constructor is always treated as a first-time eligible claimant and is paid every time.",null,null,"0.208333333333333384 ETH","1. Eligibility keyed on `msg.sender` only. The contract's anti-replay state is `mapping(address => …)`. An address is not a scarce resource: `CREATE` mints a new one for ~21k gas. The \"one claim per address\" guarantee therefore degrades to \"one claim per contract deployment\", which is unbounded. 2. No constructor-time / code-size guard. [continues]","rootCause",1],["2025-05-unverified_0000","Unverified BSC Victim Drain (mintTokens 0x88417d5c) — missing access control lets anyone sweep the contract's ERC20 balances","incident","DeFiHackLabs","2025-05","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier","vuln/logic/missing-check"],["access-control","logic"],"The public selector `0x88417d5c` (`mintTokens(...)`) transfers arbitrary ERC20 tokens held by the contract to `msg.sender` without any `owner()` / storage-owner check, so any caller can drain every token balance the contract custody-holds.",null,null,"5,658.46 USD","1. No access-control modifier on `mintTokens` (selector `0x88417d5c`). The contract stores an `owner` (it answers `owner()` correctly) but the drain entrypoint never reads it. The trace shows a non-owner address (`0x9Aac…902e`) completing the call without revert. 2. `msg.sender` is used as the transfer destination. Even if the function were meant to dispatch to a fixed recipient or to the owner, it instead sends the tokens to whoever called. Combined with cause #1 this turns the function into a public sweep. [continues]","rootCause",1],["2025-05-Unwarp","Unwarp Exploit — Permissionless unwrapWETH(amount, recipient) Self-Balance Drain","incident","DeFiHackLabs","2025-05","Base",["vuln/access-control/missing-auth","vuln/access-control/missing-owner-check"],["access-control"],"Missing access control + caller-controlled recipient on a balance-based WETH unwrap",null,null,"3.9813269016365735 WETH","A WETH-unwrap helper is only safe if the funds it unwraps belong to the caller or if the function is privileged. This one is neither: `unwrapWETH` unwraps `address(this)`'s WETH and forwards the resulting ETH to an arbitrary `recipient`, with no caller authorization and no per-caller balance accounting. Whatever WETH the contract is holding becomes free for the taking. The flash loan does not create the value — it is purely a *balance amplifier*: [continues]","rootCause",1],["2025-05-UsualMoney","Usual Money Exploit — VaultRouter.deposit Routes Through an Attacker-Controlled Swap Venue With No Real Slippage Floor","incident","DeFiHackLabs","2025-05","Ethereum",["vuln/defi/slippage","vuln/logic/missing-check"],["defi","logic"],"Caller-supplied swap venue + ineffective slippage floor → value siphoned into attacker-owned pool and reclaimed",null,null,"~$43,000","The deposit path delegates the entire price-discovery step to two caller-controlled inputs that should never both be trusted on a swap that handles protocol value: 1. The swap venue is caller-chosen. `swapData` is a raw ParaSwap `directUniV3Swap` calldata blob that names the pool (token0, token1, the V3 router, the fee tier). [continues]","rootCause",1],["53805-potential-read-only-reentrancy-mixbytes-none-xpress-protocol","XPress: stale trader balance lends the 1000 reserve","audit-finding","AuditVault","2025-05",null,["vuln/reentrancy/cross-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],null,null,"XPress",null,"The view used by the lender is updated after the external transfer, so a callback observes the pre-debit balance.","rootCause",1],["2025-05-YDTtoken","YDT Token Exploit — Permissionless proxyTransfer() Drains the Liquidity Pool","incident","DeFiHackLabs","2025-05","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/fake-account-substitution"],["access-control"],"Broken access control — caller authorization via a forgeable argument instead of `msg.sender`",null,null,"~41,337 USDT drained from the YDT/USDT PancakeSwap pair","A standard access-control rule: authenticate the *caller*, not a value the caller hands you. The classic safe pattern is `require(msg.sender == trustedAddress)`. YDT instead wrote `require(trustedAddress == callerModule)` where `callerModule` is an argument. Since the trusted module addresses are public knowledge, the predicate is trivially satisfiable by any attacker, collapsing the access control to \"no access control.\" Concretely, the bug composes into a critical loss because of three facts: [continues]","rootCause",1],["57687-h-2-attacker-can-deposit-after-the-keeper-reports-a-loss-but","Yearn yBOLD — Deposit after loss report free-rides collateral recovery","audit-finding","AuditVault","2025-05",null,[],["untagged"],"Temporary PPS depression between loss report and coll auction","high","Yearn yBOLD Liquity v2 Stability Pool strategy",null,"Strategy accounting is BOLD-only between liquidation and collateral auction. A `report` in that window socializes an *unrealized* loss into PPS. Late depositors mint cheap shares that claim the recovery when coll is sold.","rootCause",1],["57686-h-1-a-malicious-attacker-can-steal-25-of-the-funds-of-the-fi","Yearn yBOLD — Steal 25% of first depositor funds via share inflation","audit-finding","AuditVault","2025-05",null,[],["untagged"],"First-depositor / ERC4626 inflation","high","Yearn yBOLD / TokenizedStrategy (yv3 Liquity v2 SP strategy)",null,"Share minting is classic ERC4626 round-down against `totalAssets` with no minimum liquidity. Donating assets (or the finding's deposit/redeem inflation loop) raises PPS so the next depositor's share count floors hard, while their full asset amount is still transferred in.","rootCause",1],["62427-zls1-2-first-depositor-can-front-run-and-steal-the-next-user","Zealous: the first depositor rounds the next stake down to 1 share","audit-finding","AuditVault","2025-05","Ethereum",["vuln/logic/price-calculation","vuln/arithmetic/rounding"],["logic","arithmetic"],"Share mint rounds down after the exchange rate is inflated with rewards",null,null,"A 1,000 ZEAL stake mints 1 share","Rounding down turns X / (1 + X/2) into 1 share once the attacker has left a single share against a donated X/2. The victim's whole deposit joins a pool that the attacker's one share owns half of.","rootCause",1],["56707-h-1-insolvency-as-yusd-will-depeg-overtime-as-the-redemption","Aegis YUSD — a redemption pays 100 collateral and burns 90","audit-finding","AuditVault","2025-04",null,["vuln/logic/fee-calculation","vuln/logic/incorrect-order-of-operations"],["logic"],null,null,"Aegis YUSD",null,"The collateral leg uses the pre-fee YUSD amount. The burn leg uses the post-fee amount. The fee tokens stay in supply and are still a claim on collateral, but the collateral that should have backed them has already been sent to the redeemer. One redemption is enough to open the gap. No time has to pass for the shortfall to exist. Repeating it is what the report means by the depeg growing.","rootCause",1],["58289-incorrect-calculation-of-the-received-swap-amount-allows-gua","Aera Contracts v3 — incorrect received-swap-amount calculation lets guardians bypass the daily loss limit","audit-finding","AuditVault","2025-04",null,["vuln/logic/fee-calculation","vuln/accounting/balance-delta-double-count","vuln/loss-of-funds/partial-drain"],["logic","accounting","loss-of-funds"],"Balance-delta accounting: the amount \"received\" by a swap is measured as a shared token-balance delta, which a nested concurrent swap can inflate (double-count)","high","Aera Contracts v3 — programmable vault + guardian slippage hooks",null,"The hook equates \"amount received by *this* swap\" with \"increase in the vault's `tokenOut` balance across *this* hook's before/after window\". Those are only the same when nothing else moves the balance in that window. A guardian can violate that assumption at will: any callback that runs a second `tokenOut`-increasing swap during the first swap makes the outer window capture *both* swaps' output, so the outer after-hook attributes the inner swap's proceeds to the outer trade. [continues]","rootCause",1],["61822-h-01-lack-of-access-control-in-agentnftv2addvalidator-enable","AgentNftV2.addValidator duplicates a founder and strands their reward","audit-finding","AuditVault","2025-04","Ethereum",["vuln/access-control/missing-auth","vuln/logic/reward-calculation"],["access-control","logic"],"Public validator insert, then mint inserts the same address again",null,null,"Founder is owed 500 reward tokens and receives 0","The public insert and the minter insert both push. The reward loop trusts the list length.","rootCause",1],["2025-04-AIRWA","AIRWA Exploit — Permissionless setBurnRate() + Zero-Value Transfer Pool-Reserve Annihilation","incident","DeFiHackLabs","2025-04","BNB Chain",["vuln/access-control/missing-modifier","vuln/oracle/price-manipulation"],["access-control","oracle"],"Broken AMM invariant via a permissionless, balance-targeted token burn applied to a pool's balance + forced `sync()`",null,null,"~56.73 BNB","A PancakeSwap/Uniswap-V2 pair prices assets purely from its reserves and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists so a pair can \"skim\" its balances up to reality, trusting that token balances only move through mechanisms it can reason about (mint/burn-via-`burn()`/swap/transfers). `AIRWA` weaponizes that trust with two independent design flaws that compose into a critical bug: 1. `setBurnRate(uint256)` has no access control. [continues]","rootCause",1],["2025-04-AmpKashi","AmpKashi (Kashi AMP/USDC) flash-loan oracle manipulation — borrow against a stale spot price","incident","DeFiHackLabs","2025-04","Ethereum",["vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/oracle/stale-price","vuln/defi/flash-loan-attack"],["oracle","defi"],"The Kashi pair's solvency check borrows against a stored, spot-reserves-derived exchange rate that is never refreshed inside `borrow()`, so a flash-manipulated AMP spot price is trusted as the collateral valuation for the entire borrow.",null,null,"572.31 USDC","1. The oracle is consulted out-of-band, not on the borrow path. `borrow()` → `accrue()` → `_borrow()` + `solvent` modifier never calls `updateExchangeRate()`/`oracle.get()`. In the reproduced trace, `updateExchangeRate` appears 0 times [output.txt grep]. Solvency is evaluated against the stale storage value `exchangeRate`. 2. The oracle itself is a spot/reserves price, not a TWAP or manipulated-resistant feed. A flash-loaned buy across AMP's three thin pools moves the very reserves the rate is derived from. [continues]","rootCause",1],["2025-04-AventaRewardClaim","Aventa / IntelliQuant reward-claim drain — claim size is computed from a spot, attacker-controllable token balance","incident","DeFiHackLabs","2025-04","Ethereum",["vuln/logic/reward-calculation","vuln/oracle/spot-price","vuln/access-control/broken-logic"],["logic","oracle","access-control"],"A reward claim whose payout is read from the claimer's live, open-market token balance; the only authorization is `user == msg.sender`, so freshly funded addresses each draw a reward they never earned.",null,null,"~16,019,528 AVENTA","1. Reward basis is an attacker-controllable spot balance. `getClaimableAmount` uses `IntelliQuant.balanceOf(user)` as the principal for the dividend formula. IntelliQuant trades on a public Uniswap V2 pool, so any caller can acquire any amount of it instantly and have it counted as \"earned entitlement.\" 2. No provenance or lock on the balance. The contract never takes custody of the IntelliQuant, never records a deposit, and never snapshots a historical balance in a way the user cannot re-create at will. [continues]","rootCause",1],["55100-h-01-blacklisted-user-can-transfer-tokens-via-approved-addre","beraBTC — a blacklisted holder still moves 1000 tokens through an approval","audit-finding","AuditVault","2025-04",null,["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],null,null,"Terplayer beraBTC",null,"The blacklist is applied to the caller of the token function. `transferFrom`'s caller is the spender, not the owner. An approval created before the blacklist is still a valid allowance, and the modifier never reads `from`.","rootCause",1],["55099-c-01-protocol-loses-mintredeem-fees-due-to-missing-treasury","beraBTC mint and redeem fees are burned or never minted — the treasury stays at 0","audit-finding","AuditVault","2025-04",null,["vuln/logic/fee-calculation","vuln/logic/state-update"],["logic"],"Fee is calculated and then dropped; no treasury credit","high","Terplayer beraBTC",null,"The fee is a local subtraction. Mint destroys the fee by never creating it. Redeem destroys it by burning the gross amount before the subtraction. There is no `treasury` balance update on either path, which is what the report asks for.","rootCause",1],["2025-04-bitdog","BITDOG token — public changeRouterVersion hijacks swap router & drains contract BNB","incident","DeFiHackLabs","2025-04","BNB Chain",["vuln/access-control/missing-modifier","vuln/access-control/missing-owner-check","vuln/oracle/price-manipulation"],["access-control","oracle"],"`changeRouterVersion()` is `public` with the intended `onlyOwner` restriction left as a comment, so anyone can swap the token's Uniswap router/pair for an attacker-controlled helper that fakes a swap and forwards the contract's pre-existing BNB balance to the attacker.",null,null,"2.101368297037048768 BNB","1. Missing access-control modifier on `changeRouterVersion`. The only barrier to rewriting `uniswapV2Router` / `uniswapPair` is a comment (`/* onlyOwner */`). The function is `public`, so any account can install an arbitrary \"router\". 2. Trust assumption on the configured router. `swapAndLiquify`, `swapTokensForEth`, and `addLiquidity` all treat `uniswapV2Router` as a genuine Uniswap implementation and hand it both the contract token balance and `msg.value` in BNB. [continues]","rootCause",1],["61477-c-02-missing-asset-index-check-allows-any-token-to-mint-shar","Blueberry HyperVaultRouter — missing asset index check mints shares for any token","audit-finding","AuditVault","2025-04",null,["vuln/logic/wrong-condition"],["logic"],"Missing zero-index / unregistered-asset check","high","Blueberry HyperVaultRouter",null,"The support check treats index `0` as always valid because USDC lives at `USDC_SPOT_INDEX = 0`. Solidity mappings return `0` for missing keys, so every unknown token is accepted as USDC.","rootCause",1],["61480-blueberry-tvl-share-inflation","Blueberry TVL share inflation — AuditVault 61480","audit-finding","AuditVault","2025-04",null,["vuln/logic/price-calculation","vuln/defi/sandwich-attack"],["logic","defi"],null,null,null,null,"TVL excludes in-flight assets, so a deposit mints twice the fair share amount.","tldr",1],["2025-04-BTNFT","BTNFT Exploit — Permissionless Reward Theft via a Broken _update Override","incident","DeFiHackLabs","2025-04","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Broken access control + wrong reward beneficiary in an overridden ERC-721 hook",null,null,"19,025.92 BUSD received by the attacker","The design intent was: *\"owner sends NFT to the contract → contract pays the owner their vested BTT.\"* The implementation gets both halves of that sentence wrong: 1. Authorization is silently dropped. The custom `_update` branch for `to == address(this)` returns before `super._update`, which is the lone gatekeeper for `_checkAuthorized`. Any address can therefore invoke the claim path for any `tokenId`, since `transferFrom`'s post-check (`previousOwner != from`) is satisfiable by reading `ownerOf` first. [continues]","rootCause",1],["56950-h-1-incorrect-handling-of-erc4626-vaults-with-fees-sherlock","Burve — Incorrect handling of ERC4626 vaults with fees","audit-finding","AuditVault","2025-04",null,[],["untagged"],"Fee-on-deposit not covered / not accounted","high","Burve multi-token pool (ValueFacet → ERC4626 vertex)",null,"Nominal value is booked 1:1 with pre-fee assets; vault fee is ignored.","rootCause",1],["56953-h-4-incorrect-tax-distribution-when-adding-value-single-side","Burve — Incorrect tax distribution when adding value single-sided","audit-finding","AuditVault","2025-04",null,[],["untagged"],"Order-of-operations in reward index update","high","Burve Closure / ValueFacet",null,"1. Single-sided adds charge a tax meant for existing LPs. 2. `valueStaked` is incremented before tax is written into `earningsPerValueX128`. 3. New LP is already in the denominator and captures part of their own tax. 4. HARM: material dilution of Alice's fair tax share (Bob accrues > 0 of own tax).","tldr",1],["56958-h-9-reserve-share-overflows-due-to-too-strict-reward-calcula","Burve — Reserve share overflows due to strict reward calculation","audit-finding","AuditVault","2025-04",null,[],["untagged"],"Share inflation / overflow from dust deposits","high","Burve ReserveLib",null,"1. `ReserveLib.deposit` mints shares as `amount * shares / balance`. 2. Dust residuals leave `balance` tiny while `amount > 0` still mints. 3. Repeated inflation drives `shares` near `type(uint256).max`. 4. Next deposit panics on `shares += minted` → permanent DoS of trim paths.","tldr",1],["56955-h-6-fee-bypass-in-valuefacetremovevaluesingle-sherlock-bur","Burve H-6: fee bypass in ValueFacet.removeValueSingle (variable used before assignment)","audit-finding","AuditVault","2025-04",null,[],["untagged"],null,null,null,null,"`ValueFacet.removeValueSingle` computes the real-token fee (`realTax`) by prorating the nominal fee to the real amount withdrawn. The intended numerator is `realRemoved` (the real tokens being removed). Instead the code passes the named return variable `removedBalance`, which is still `0` at that point — it is only assigned on the *next* line: Because `mulDiv(0, nominalTax, removedNominal) == 0`, `realTax` is always `0`: `c.addEarnings(vid, 0)` — the protocol books no fee for the withdrawal. [continues]","rootCause",1],["56954-h-5-attacker-captures-unclaimed-fees-by-timing-deposit-with","Burve: an attacker captures unclaimed fees by timing a deposit around range re-entry","audit-finding","AuditVault","2025-04",null,[],["untagged"],null,null,null,null,"Burve wraps a set of Uniswap V3 ranges and issues its own share token. Whenever a user mints or burns, `compoundV3Ranges()` first collects the position's accrued fees and folds them back into the position as new liquidity added to `totalNominalLiq` without minting new shares — that is how fees are distributed to shareholders (value-per-share rises). The amount of fee liquidity that can be compounded is computed by `collectAndCalcCompound()`, which is min-gated by BOTH tokens: [continues]","rootCause",1],["56895-h-01-lp-unstaking-only-burns-the-shares-but-leaves-the-under","Cabal: LP unstake burns the shares and still prices them against the pending underlying","audit-finding","AuditVault","2025-04",null,["vuln/logic/state-update","vuln/logic/reward-calculation"],["logic"],null,"high","Cabal liquid staking",null,"Unstake burns the receipt shares immediately. The underlying tokens stay until the delayed undelegation is paid. The next unstake still multiplies by the full underlying balance. After A deposits 100 and B deposits 50, B's exit leaves 100 shares and 150 underlying, with 50 pending. A's exit of 50 shares computes `50 * 150 / 100 = 75`. The batch pays 75. A's remaining 50 shares have 25 ULP behind them. [continues]","tldr",1],["61825-h-04-public-contributionnftmint-leads-to-cascading-issues-lo","ContributionNft.mint lets the proposer pick the impact that gets paid","audit-finding","AuditVault","2025-04","Ethereum",["vuln/access-control/missing-auth","vuln/logic/reward-calculation"],["access-control","logic"],"Proposer-only mint stores an arbitrary core and dataset id",null,null,"Proposer is paid 10000 reward tokens","The proposer gate does not constrain the core or the dataset the impact accounting will trust.","rootCause",1],["2025-04-flylong","FlyLong (FLG) — public balance-forger lets any caller fake the LP's token balance and drain the WBNB side of the pair — access-control/missing-auth","incident","DeFiHackLabs","2025-04","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/broken-logic","vuln/logic/state-update","vuln/oracle/price-manipulation"],["access-control","logic","oracle"],"Anyone can become an `exemptTeam` admin of the token and then write an arbitrary `balanceOf` for any address, so the PancakeSwap pair's post-swap `balance` check is satisfied for free while WBNB is extracted via a flash swap.",null,null,"~1.73 BNB","1. Self-grantable admin flag. `exemptTeam` is the contract's only authorization primitive (`shouldTo()`), but `tokenMarketing` — a *public* function with no caller check — writes `exemptTeam[target] = true`. The gate it does have (`target.balance < 100000` wei) does not protect the contract; it protects the *target*, and any fresh contract trivially passes it. 2. Privilege scope is far too broad. [continues]","rootCause",1],["55703-h-01-early-72-digit-adjustment-in-sqrt-will-lead-to-incorrec","Forte Float128 — [H-01] Early 72-digit adjustment in sqrt wrong exponent","audit-finding","AuditVault","2025-04",null,[],["untagged"],"Incorrect operation order / integer-division loss","high","Forte Float128 solidity library",null,"Halving and digit-normalization do not commute under integer division. Incrementing `rExp` then dividing by 2 loses the carry that should survive into the final exponent.","rootCause",1],["55704-h-02-sqrt-function-silently-reverts-the-entire-control-flow","Forte Float128 — [H-02] Sqrt silently stops the entire call frame on packed 0","audit-finding","AuditVault","2025-04",null,[],["untagged"],"Wrong control-flow primitive (`stop` vs `return 0`)","high","Forte Float128 solidity library",null,"`stop()` is not a function-local return. It aborts the current message call with empty returndata. Inlined into a protocol external function, that kills settlement code that follows `sqrt`.","rootCause",1],["55706-h-04-unwrapping-while-equating-inside-the-eq-function-fails","Forte Float128 — [H-04] eq ignores L_MANTISSA_FLAG / dual encodings","audit-finding","AuditVault","2025-04",null,[],["untagged"],"Equality of representations instead of values","high","Forte Float128 solidity library",null,"Packed floats are a redundant encoding: the same real number has many bit patterns. Bitwise equality is not numerical equality.","rootCause",1],["55707-h-05-precision-loss-in-topackedfloat-function-when-mantissa","Forte Float128 — [H-05] Precision loss in toPackedFloat for mid-range mantissas","audit-finding","AuditVault","2025-04",null,[],["untagged"],"Precision loss / wrong format selection","high","Forte Float128 solidity library",null,"Format selection ignores `digitsMantissa`. When `isResultL` stays false, the code divides by `10^(digits-38)`, zeroing low-order digits that should have been kept in L form.","rootCause",1],["55173-potential-read-only-reentrancy-mixbytes-none-hanji-markdown","Hanji OnchainLOB — a transfer hook still sees the old trader balance","audit-finding","AuditVault","2025-04",null,["vuln/reentrancy/read-only"],["reentrancy"],null,null,"Hanji OnchainLOB",null,"The storage write is on the other side of an external call. The view is correct only after `withdraw` returns. Callers inside the token hook observe the pre-transfer balance.","rootCause",1],["55171-incorrect-handling-of-fee-on-transfer-tokens-mixbytes-none-h","Hanji: nominal credit takes 100 from the honest balance","audit-finding","AuditVault","2025-04",null,["vuln/logic/fee-calculation","vuln/input-validation/missing"],["logic","input-validation"],null,null,"Hanji",null,"The credit uses the requested amount. A fee-on-transfer token delivers less than that amount.","rootCause",1],["57890-h-05-admin-can-overcharge-users-due-to-incorrect-fee-applica","Harmonix — a withdrawal is charged 100 instead of the 3.5 trading fee","audit-finding","AuditVault","2025-04",null,["vuln/logic/fee-calculation"],["logic"],"The trading-fee line reads the management fee","high","Harmonix `FundContract`",null,"When `_shares` equals `userWithdraw.shares`, the expression equals `managementFee`. The management fee was computed as `shares * 10_000 / 1_000_000`. The trading fee is `shares * 350 / 1_000_000`. The withdrawal uses the first number under the second name.","rootCause",1],["2025-04-ImpermaxV3","Impermax V3 Exploit — Self-Liquidation Debt Wipe via restructureBadDebt","incident","DeFiHackLabs","2025-04","Base",["vuln/logic/liquidation-logic","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Self-induced bad-debt restructuring + share/debt accounting asymmetry (lender == borrower)",null,null,"~$300k total","The protocol assumed `restructureBadDebt` would only ever be used on third-party insolvent loans, socialising the loss across lenders who are *different actors* than the borrower. Two design facts break that assumption: 1. Lender and borrower are not separated, and `restructureBadDebt` is permissionless. Nothing stops one actor from being the dominant lender (owning most of `totalSupply`) *and* the borrower of a self-crafted position. [continues]","rootCause",1],["55624-infravaults-permissionless-reward-claiming-can-allow-anyone","InfraVault — permissionless reward claim strands tokens on the MetaVault","audit-finding","AuditVault","2025-04",null,["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],null,null,"Dolomite POLVaults (InfraredBGTMetaVault)",null,"Two pieces have to line up. Infrared lets anyone trigger a user's payout. The MetaVault assumes rewards only arrive inside its own claim, and it forwards the accounted amount rather than the tokens it is holding. A payout that lands between those two steps is invisible to the forwarder.","rootCause",1],["58555-h-03-mishandling-of-receiving-hype-in-the-stakingmanager-use","Kinetiq — receive() re-stakes Core-returned HYPE and bricks confirmWithdrawal","audit-finding","AuditVault","2025-04",null,["vuln/accounting/reward-accounting","vuln/logic/state-update","vuln/liveness/withdrawal-brick"],["accounting","logic","liveness"],"Native receive handler re-enters deposit path (withdrawal funds re-staked)","high","Kinetiq — StakingManager on HyperEVM",null,"`receive()` treats every native credit as a user deposit. Withdrawal returns and validator rewards from Core are not user deposits — they are liquidity the manager must hold to pay `confirmWithdrawal`. Auto-staking them empties the balance the withdrawal path needs and mints unbacked kHYPE to whoever sent the ETH (Core/system).","rootCause",1],["58553-h-01-buffer-silently-locks-staked-hype-in-contract-without-u","Kinetiq: cancelling a buffer withdrawal then redelegating locks 15 HYPE","audit-finding","AuditVault","2025-04",null,["vuln/dos/frozen-funds","vuln/logic/state-update"],["dos","logic"],null,null,null,null,"A user queues a 15 HYPE withdrawal against a 20 HYPE buffer. `queueWithdrawal` reduces `hypeBuffer` to 5 but leaves the HYPE in the contract. `cancelWithdrawal` returns the kHYPE and adds 15 to `_cancelledWithdrawalAmount` without restoring the buffer. `redelegateWithdrawnHYPE` then zeroes that counter and `sendCDeposit`s the 8-decimal amount. No value is sent to L1, so 15 HYPE stays in the contract and is tracked by nothing.","tldr",1],["2025-04-Laundromat","Laundromat Exploit — Free Ring-Membership Drains a Dormant Mixer","incident","DeFiHackLabs","2025-04","Ethereum",["vuln/access-control/missing-auth","vuln/auth/signature-validation"],["access-control","auth"],"Missing access/payment validation → free ring membership → forgeable ring signature",null,null,"~$1.5K","The contract conflates \"a slot in the ring\" with \"an independent, fee-paying participant.\" Two compounding defects: 1. No deposit validation (the disabled `msg.value != payment` check). This single commented-out line means filling a ring slot costs nothing and requires no proof that the public key belongs to a distinct, honest party. The attacker can deterministically generate `(pubkey1, pubkey2)` pairs whose discrete logs it knows and push all of them in. 2. The withdraw verifier trusts the ring's composition. [continues]","rootCause",1],["63737-level-zero-heartbeat","Level zero heartbeat blocks claims — AuditVault 63737","audit-finding","AuditVault","2025-04",null,["vuln/oracle/stale-price","vuln/dos/frozen-funds"],["oracle","dos"],null,null,null,null,"A zero heartbeat is treated as an invalid oracle state and causes every reward claim to revert.","tldr",1],["2025-04-Lifeprotocol","Life Protocol Exploit — Asymmetric Bonding Curve: Pump the Buy Price, Dump at 90% of the Peak","incident","DeFiHackLabs","2025-04","BNB Chain",["vuln/logic/price-calculation","vuln/logic/incorrect-state-transition"],["logic"],"Broken price-curve invariant — asymmetric buy/sell pricing (sell price is never adjusted back down after buys pump it)",null,null,"~18,045 BUSD drained in the reproduced transaction","A solvent automated market maker must satisfy a *path-independence* property: a round trip of \"buy X, then immediately sell X\" must return less than it cost (the spread / fee is the protocol's edge). Life Protocol's curve violates this badly. The buy price is an increasing ramp (cheap early, dear late), but the sell price is a flat line equal to 90% of the *current* price — and the current price is whatever the most recent buy pumped it to. [continues]","rootCause",1],["56801-gettermsinfo-reverts-because-of-block-gas-limit-fixed-consen","MetaMask MultiTokenPeriodEnforcer: getTermsInfo scans every record and the late token cannot be redeemed","audit-finding","AuditVault","2025-04",null,["vuln/dos/gas-limit","vuln/dos/frozen-funds"],["dos"],null,"high","MetaMask Delegation Framework",null,"`getTermsInfo` walks a packed `bytes` array in steps of 116 bytes until it finds the token. There is no index. A one-record call costs 3504 gas. The same token at record 200 of 200 costs 199182 gas. Inside a gas cap of `gasFirst + 45000` — the gas a heavy `redeemDelegations` would have left — the early redeem pays 100 DGT and the late redeem reverts. 1000 DGT remains on the enforcer. The fixed function takes `_tokenIndex` and reads one record. Redeeming record 199 moves the 1000 DGT and uses well under 200000 gas.","tldr",1],["2025-04-multitransferswap","MultiTransferSwap ETH refund drain — loop-accumulation bug lets attacker reclaim msg.value against the contract's own balance","incident","DeFiHackLabs","2025-04","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/logic/incorrect-state-transition","vuln/logic/missing-validation","vuln/defi/slippage"],["logic","defi"],"`multiSwapETHForExactTokens` refunds unused `msg.value` using only the *final* loop iteration's `amounts[0]` instead of the sum of ETH actually spent across all iterations, so an attacker who drives the final iteration's required input near zero collects an oversized refund paid out of the contract's pre-existing ETH balance.",null,null,"~0.339 ETH","1. Loop variable not accumulated. `amounts` is overwritten each iteration rather than summed. The post-loop refund reads the last iteration's `amounts[0]` as if it were representative of all iterations. 2. Refund accounting is decoupled from actual spending. The contract tracks \"ETH spent\" only implicitly via `msg.value - amounts[0]*times`, never via a running accumulator of the `IWETH.deposit{value: amounts[0]}` calls that actually moved value. 3. No total-spend invariant. [continues]","rootCause",1],["2025-04-Roar","R0AR (1R0R) Staking Exploit — Backdoored user.amount + Self-Capping EmergencyWithdraw() Drain","incident","DeFiHackLabs","2025-04","Ethereum",["vuln/access-control/centralization","vuln/logic/reward-calculation"],["access-control","logic"],"Insider backdoor (preset staking balance) composed with a self-capping withdrawal that pays out the whole contract balance",null,null,"~$777K","Two independent flaws compose into a total drain: 1. Trust placed in `user.amount` without an invariant tying it to real deposits. The contract assumes `user.amount` only ever reflects tokens that passed through `deposit()`'s `safeTransferFrom`. But the deployer was able to seed an arbitrary `user.amount` at launch (the insider backdoor). Nothing in the contract reconciles `Σ user.amount` against `lpToken.balanceOf(this)`, so a fabricated stake is indistinguishable from a real one. [continues]","rootCause",1],["2025-04-tcdp","tCDP transferFrom allowance-swap bug drains holders' tokens — ERC-20 transferFrom debits the wrong allowance slot","incident","DeFiHackLabs","2025-04","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/access-control/broken-logic"],["logic","access-control"],"The custom ERC-20 `transferFrom(from, to, value)` debits `_allowed[msg.sender][to]` instead of the standard `_allowed[from][msg.sender]`, so anyone who has set the recipient's allowance toward themselves (or simply self-approves) can move tokens out of arbitrary holders' balances.",null,null,"~2.02 ETH","1. Wrong allowance index in `transferFrom`. Line 111 debits `_allowed[msg.sender][to]` instead of `_allowed[from][msg.sender]`. This single transposition severs the link between the approval a holder grants and the permission `transferFrom` actually enforces — the function never consults the slot that protects the holder. 2. No `require` on the allowance. Even the slot it *does* touch is only ever `sub()`-ed after the balance move; it is never bounds-checked as a precondition. [continues]","rootCause",1],["2025-04-Unverified_6077","Unverified 0x607742A2 Exploit — Permissionless uniswapV3SwapCallback Approval Drain","incident","DeFiHackLabs","2025-04","Base",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing caller authentication on an externally-callable callback → spending other users' ERC20 approvals (CWE-862, missing access control)",null,null,"~$62.3K","Three independently attacker-controlled inputs feed a privileged `transferFrom`, and none is anchored to a trusted contract: 1. Unauthenticated caller. `uniswapV3SwapCallback` is `external` with no `require(msg.sender == expectedPool)`. The contract trusts that *only a real V3 pool* would ever call it — a trust it never verifies. 2. Token chosen via the caller. The token to move is read with `token0()`/`token1()` on `msg.sender`. [continues]","rootCause",1],["55383-incorrect-fee-handling-during-withdrawals-fixed-consensys-no","USDi — a withdrawal fee priced in USDi is paid in backing","audit-finding","AuditVault","2025-04",null,["vuln/logic/fee-calculation","vuln/arithmetic/decimal-mismatch"],["logic","arithmetic"],null,null,"USDi",null,"`getFee` runs on the USDi quantity. The later `backingToken` transfer and the subtraction from the converted amount both treat that quantity as backing. The two units match only when the rate is 1.","rootCause",1],["61826-h-05-validatorregistryvalidatorscoregetpastvalidatorscore-al","Virtuals — new validator receives historic voting credit and the full reward","audit-finding","AuditVault","2025-04",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["logic"],null,"high","Virtuals",null,"Initialization uses the maximum achievable score as a baseline instead of a neutral baseline. Later reward accounting cannot differentiate a recently registered validator from an account that actually participated in all prior votes.","rootCause",1],["61824-h-03-public-servicenftupdateimpact-call-leads-to-cascading-i","Virtuals — public impact recalculation redirects reward allocation","audit-finding","AuditVault","2025-04",null,["vuln/access-control/missing-auth","vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["access-control","logic"],null,"high","Virtuals",null,"A mutable governance parameter is combined with a permissionless state-changing recalculation. The design does not distinguish reading a new configuration from authorized migration of historic accounting records.","rootCause",1],["61827-h-06-missing-prevagentidupdate-in-promptmulti-function-may-c","Virtuals — stale promptMulti cache burns and misroutes user payments","audit-finding","AuditVault","2025-04",null,["vuln/logic/incorrect-state-transition","vuln/logic/state-update","vuln/logic/missing-check"],["logic"],null,"high","Virtuals",null,"The loop mutates the cached address but fails to update the corresponding cached identifier. The branch condition is then evaluated against an obsolete value, allowing uninitialized or stale recipient addresses to be used for transfers.","rootCause",1],["61823-h-02-anybody-can-control-a-users-delegate-by-calling-agentve","Virtuals Protocol — anybody can control a user's delegate via AgentVeToken.stake() with 1 wei","audit-finding","AuditVault","2025-04",null,["vuln/access-control/missing-caller-check","vuln/governance/vote-delegation-hijack","vuln/logic/unconditional-state-write"],["access-control","governance","logic"],"Missing caller check: delegation is applied to `receiver` but chosen by an arbitrary caller who never has to be `receiver`","high","Virtuals Protocol — `virtualPersona/AgentVeToken` (staking / AgentDAO voting)",null,"`stake()` conflates two unrelated authorities: Who funds the stake (`sender`, checked) versus; Whose delegation is set (`receiver`, *not* checked to equal `sender`). Applying `_delegate(receiver, delegatee)` for any caller lets a stranger rewrite a victim's delegation. In an `ERC20Votes` system, `_delegate` moves the *entire* current balance of `receiver` to the new delegatee, so a 1-wei stake is enough to capture arbitrarily large voting power.","rootCause",1],["2025-04-YBToken","YB Token Exploit — Sell-Triggered Uncompensated Pool-Reserve Burn (sync() price manipulation)","incident","DeFiHackLabs","2025-04","BNB Chain",["vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Broken AMM `x·y=k` invariant via an uncompensated, fee-driven reserve burn + `sync()` on every sell",null,null,"15,261.68 BUSD","The same class as classic \"burn-from-pool\" token bugs: a token must never destroy balances held by its own AMM pair and then `sync()`. A Uniswap-V2/PancakeSwap pair prices assets purely from its reserves and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists to reconcile balances the pair can't otherwise observe. YB abuses this: it `_standTransfer`s YB out of the pair to `0xdead` and `sync()`s, asserting \"your YB reserve is now this much smaller.\" No BUSD leaves. [continues]","rootCause",1],["55537-all-ccip-messages-reverts-when-decoded-cyfrin-none-yieldfi-m","YieldFi CCIP: every inbound message reverts when decoded (uint32 vs uint64 chain selector)","audit-finding","AuditVault","2025-04",null,[],["untagged"],null,null,null,null,"`BridgeCCIP.send` builds the custom payload with the `uint64` destination chain selector as the first field: On the destination chain, `_ccipReceive` hands the payload to the real `Codec.decodeBridgeSendPayload`, which decodes that first field into a `uint32`: Every Chainlink CCIP chain selector is a `uint64` far above `uint32.max` (Ethereum = `5009297550715157269`). `abi.decode` validates the high bits of the 32-byte word and reverts when they are non-zero. [continues]","rootCause",1],["55536-missing-source-validation-in-ccip-message-handling-cyfrin-no","YieldFi CCIP: missing source validation lets an untrusted chain drive privileged mint/unlock","audit-finding","AuditVault","2025-04",null,[],["untagged"],null,null,null,null,"`_ccipReceive` acts on the decoded payload without validating who sent it: Chainlink CCIP delivers a message sent from any source chain by any sender contract that paid on that chain — the router (`i_ccipRouter`) only guarantees `msg.sender == router`, which is all `CCIPReceiver.onlyRouter` enforces. [continues]","rootCause",1],["55538-incorrect-owner-passed-to-managerredeem-in-ytoken-withdrawal","YieldFi YToken: wrong owner (msg.sender) passed to Manager.redeem in delegated withdrawals","audit-finding","AuditVault","2025-04",null,[],["untagged"],null,null,null,null,"`YToken` defers withdrawals to a central `Manager`. Third parties may withdraw on a user's behalf with an allowance. But `_withdraw` spends the owner's allowance yet tells the Manager the redeemer is `msg.sender`: When the Manager executes the order it burns `msg.sender`'s shares, not the owner's. So a delegated redemption either reverts (caller holds no shares) or burns the wrong account's tokens (caller happens to hold shares), while the owner's allowance is consumed for nothing.","rootCause",1],["58632-h-2-dirty-evm-state-changes-are-not-committed-before-precomp","ZetaChain: a dirty ZETA transfer is staked again because the precompile does not commit","audit-finding","AuditVault","2025-04","Ethereum",["vuln/logic/state-update"],["logic"],"Staking precompile reads Cosmos state before the dirty EVM transfer is committed",null,null,"100 ZETA is transferred to 0xdead and the same 100 ZETA is staked","Cosmos and the EVM each keep a balance, and the precompile reads the Cosmos one while the EVM one is still dirty. The later commit makes the EVM view win for liquid balances and leaves the Cosmos delegation in place.","rootCause",1],["2025-03-ZeroExSettler","0x MainnetSettler Exploit — Arbitrary transferFrom via the BASIC Action's sellToken == address(0) Confused-Deputy Fall-Through","incident","DeFiHackLabs","2025-03","Ethereum",["vuln/access-control/missing-auth","vuln/business-logic/arbitrary-call","vuln/business-logic/confused-deputy"],["access-control","business-logic"],"Public `execute()` entry accepts a fully attacker-controlled `BASIC` action whose `sellToken == address(0)` branch performs an arbitrary external call to attacker-chosen `pool` with attacker-chosen `data`, turning the Settler into a confused deputy that spends any token allowance any victim ever granted it",null,null,"3,008 USDT","The Settler's `BASIC` action is a *generic* \"approve-and-call an AMM pool\" primitive. Generic primitives are dangerous precisely because the contract author cannot enumerate every callee. Two design choices compose into the exploit: 1. Unfinished `address(0)` sentinel branch. The author added a `sellToken == address(0)` case to mean \"no approval / no balance patch needed\" (a convenience for pools whose interaction doesn't follow the approve-transferFrom template). [continues]","rootCause",1],["2025-03-OneInchFusionV1SettlementHack-sol","1inch Fusion V1 Settlement Exploit — Yul Calldata-Length Underflow Hijacks the Resolver Dynamic Suffix","incident","DeFiHackLabs","2025-03","Ethereum",["vuln/arithmetic/overflow","vuln/input-validation/missing"],["arithmetic","input-validation"],"Hand-rolled Yul calldata manipulation — unchecked `add(interactionLength, suffixLength)` underflow/wraparound that lets an attacker control the `tokensAndAmounts` dynamic suffix and redirect a whitelisted resolver's funds",null,null,"~$4.5M across affected resolvers","The Fusion settlement passes trusted state (which resolver, which token, how much) to itself out-of-band, by appending it to calldata and recovering it via tail-relative offset arithmetic. The boundary between \"data the caller controls\" (the order's interaction bytes) and \"data the contract appends\" (the dynamic suffix) is defined only by an attacker-supplied length, manipulated in hand-written Yul with no overflow protection: 1. Signed-style arithmetic on an unchecked length. [continues]","rootCause",1],["43733-h-2-fluidlocker-getunlockingpercentage-uses-540-instead-of-5","540 seconds is used instead of 540 days — AuditVault synthetic reduction","audit-finding","AuditVault","2025-03",null,["vuln/arithmetic/underflow","vuln/input-validation/boundary"],["arithmetic","input-validation"],null,"high","[[Superfluid]] Locking Contract",null,"The report discusses a bug found in the Superfluid locking contract, where the function _getUnlockingPercentage() incorrectly uses the number 540 instead of 540 days, leading to a large error and potential underflow. This can result in users being unable to unlock their funds or being forced to take a penalty. The root cause is identified as using 540 instead of 540 days in line 388 of the contract. The impact is that users may have their funds stuck or be forced to take a penalty. [continues]","tldr",1],["53948-h-02-the-flashloan-protection-for-zappers-is-insufficient-we","A flash loan can unwind someone else's Bold trove through the zapper","audit-finding","AuditVault","2025-03","Ethereum",["vuln/defi/flash-loan","vuln/access-control/missing-auth"],["defi","access-control"],"Flash-loan callback trusts only the provider",null,null,"60 COLL of trove equity sent to the attacker","The provider check proves the call came from the flash-loan contract. It does not prove the zapper requested that loan. `flashLoan` is permissionless and the recipient is an argument, so the attacker can make the provider satisfy the check while supplying the victim and the receiver.","rootCause",1],["2025-03-Alkimiya_io","Alkimiya SilicaPools Exploit — uint128(shares) Truncation Inflates Redemption Payout","incident","DeFiHackLabs","2025-03","Ethereum",["vuln/arithmetic/overflow","vuln/arithmetic/precision-loss"],["arithmetic"],"Unsafe `uint256 → uint128` downcast desyncing accounting from issued ERC-1155 supply",null,null,"~$95.5K","The accounting model assumes one invariant: `sharesMinted` equals the total issued ERC-1155 share supply for the pool, so that `payout = collateralMinted × yourShares / sharesMinted` conserves collateral. The unsafe `uint128(shares)` cast lets an attacker break that invariant by choosing `shares ≡ small (mod 2¹²⁸)` while minting `shares` real tokens. Concretely: 1. Truncating downcast on a user-supplied value. `uint128(shares)` wraps instead of reverting. [continues]","rootCause",1],["53840-h-01-updatesystemsnapshots-excludecollremainder-lacks-access","Apollon TroveManager — anyone can exclude collateral and inflate a stake","audit-finding","AuditVault","2025-03",null,["vuln/access-control/missing-auth","vuln/logic/state-update"],["access-control","logic"],null,null,"Apollon TroveManager",null,"The snapshot write is external and ungated. Stake for a new trove is `coll * totalStakesSnapshot / totalCollateralSnapshot`. Shrinking the denominator inflates every stake opened afterwards, and the inflated stake is what the reward claim multiplies.","rootCause",1],["2025-03-BBXToken","BBX Token Exploit — Stuck Daily-Burn Repeatedly Drains the Pool's BBX Reserve","incident","DeFiHackLabs","2025-03","BNB Chain",["vuln/logic/state-update","vuln/oracle/price-manipulation"],["logic","oracle"],"Broken AMM invariant via an un-compensated, *unbounded* pool-reserve burn (stuck timer)",null,null,"~11,673.92 BUSD","A PancakeSwap/Uniswap-V2 pair prices its assets purely from `reserve0 / reserve1` and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists so the pair can \"catch up\" to its real token balances — it trusts that those balances move only through `mint`/`burn`/`swap` or transfers it can reason about. `BBXToken._transfer` weaponizes `sync()`: [continues]","rootCause",1],["49515-h-03-stakers-can-lose-their-earned-asugar-shieldify-none-ber","Beraji KO: a second stake moves lastPrintedAt and wipes 1000 unclaimed aSugar","audit-finding","AuditVault","2025-03",null,["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],null,null,"Beraji KO",null,"The accrual window is the gap since `lastPrintedAt`. A second stake replaces that stamp and mints aSugar only for the tokens in the current call. Anything accrued since the previous stamp is not minted and can no longer be claimed.","rootCause",1],["49516-h-04-owner-cannot-claim-token-fees-shieldify-none-beraji-ko","Beraji KO: claimTokenFee zeros the fee and then transfers 0, so 1000 stays","audit-finding","AuditVault","2025-03",null,["vuln/logic/fee-calculation","vuln/logic/incorrect-order-of-operations"],["logic"],null,null,"Beraji KO",null,"The transfer reads the same storage slot the previous statement just set to 0. `tokenFeeClaimed` records the pre-clear amount, so the books say the fee was claimed, while the token movement uses the post-clear amount.","rootCause",1],["49513-h-01-attacker-can-redirect-funds-to-staking-via-allowances-s","Beraji KO: deligateStake pulls 1000 from a victim allowance into staking","audit-finding","AuditVault","2025-03",null,["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],null,null,"Beraji KO",null,"The allowance is granted to the staking contract, and `transferFrom` spends it as the staking contract no matter who called `deligateStake`. Nothing binds the caller to `_account`. An open approval for a later `stake`, `createReward`, or `depositRewardAmount` can be consumed as a stake instead.","rootCause",1],["49514-h-02-users-might-not-be-able-to-fully-claim-shieldify-none-b","Beraji KO: nested updateReward makes a full claim pay 0 instead of 1600","audit-finding","AuditVault","2025-03",null,["vuln/dos/gas-limit","vuln/logic/reward-calculation"],["dos","logic"],null,null,"Beraji KO",null,"The modifier and the outer loop cover the same set. Every cell of the full claim pays for a full pass over the set. Gas grows with the square of locks times rewards, which is the report's 50 by 50 shape. This reduction uses 4 by 4 so the gap fits in one call: the nested claim needs about 328000 gas and the flat claim about 192000.","rootCause",1],["63148-c-01-missing-delegatecall-check-pashov-audit-group-none-bico","Biconomy Composability — [C-01] Missing DelegateCall check","audit-finding","AuditVault","2025-03",null,["vuln/access-control/missing-guard"],["access-control"],"Missing delegatecall-only guard on module entrypoint","high","Biconomy Composability — `ComposableExecutionModule`",null,"The function relies on a documentation convention (“expected to be called via delegatecall”) instead of an on-chain identity check. Direct `CALL` keeps `address(this) == module`, so module-privileged composed logic runs for arbitrary callers.","rootCause",1],["61456-h-03-incorrect-erc20-transfer-implementation-between-evm-and","Blueberry — 1000 USDC is bridged to the legacy Hyperliquid address","audit-finding","AuditVault","2025-03",null,["vuln/bridge/missing-validation","vuln/logic/wrong-condition"],["bridge","logic"],"Cross-VM transfer uses a retired recipient","high","Blueberry `VaultEscrow`",null,"`VaultEscrow.deposit` is how a vault moves USDC from the EVM side onto HyperCore. It transfers the amount to the constant `0x2222222222222222222222222222222222222222`. Hyperliquid replaced that single spot bridge with a per-token system address: first byte `0x20`, and the token index in the low bytes. For token index 200 that address is `0x20000000000000000000000000000000000000C8`. A deposit of N = 1000 USDC (1_000_000_000 base units, 6 decimals) credits the legacy address with 1000 USDC. [continues]","tldr",1],["61458-blueberry-approved-withdrawals","Blueberry approved withdrawal drain — AuditVault 61458","audit-finding","AuditVault","2025-03",null,["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],null,null,null,null,"requestRedeem debits escrow without checking that the caller is an approved withdrawal owner.","tldr",1],["61471-h-03-precision-loss-in-withdrawfroml1vault-can-cause-asset","Blueberry VaultEscrow — precision loss makes the L1 bridge revert","audit-finding","AuditVault","2025-03","Ethereum",["vuln/arithmetic/precision-loss","vuln/dos/frozen-funds"],["arithmetic","dos"],"Spot amount is not the inverse of the perp-decimal scale",null,null,"100001111 spot units stay locked","`_scaleToPerpDecimals` is `assets_ / 10^(spotDecimals - perpDecimals)`. With the exponent equal to 2, `100001111 / 100 = 1000011`. Scaling that back is `1000011 * 100 = 100001100`, which is 11 units short of `assets_`. `sendSpot` spends the original spot amount against a balance that only received the rounded amount, so the L1 transfer reverts after the redeem claim has been recorded.","rootCause",1],["53947-h-01-bold-batch-shares-math-can-be-rebased-by-combining-roun","Bold batch shares truncate, so 99 debt is minted as 0 shares","audit-finding","AuditVault","2025-03","Ethereum",["vuln/arithmetic/rounding","vuln/logic/accounting"],["arithmetic","logic"],"Truncating debt-share division",null,null,"99 BOLD minted for 0 shares","Share minting rounds toward zero. When the debt increase is smaller than the debt already represented by one share, the quotient is 0 but the batch debt and the BOLD mint still include the increase. The new debt is socialized onto the shares that already exist.","rootCause",1],["57722-h-01-dos-on-mint-and-burn-due-to-overestimation-of-available","Burve — DoS on mint() and burn() due to overestimation of available liquidity","audit-finding","AuditVault","2025-03",null,[],["untagged"],"Liquidity overestimate → transfer fail (\"STF\") → DoS","high","Burve single (Uniswap V3 multi-range compounder)",null,"1. Every `mint`/`burn` runs `compoundV3Ranges` → `collectAndCalcCompound`. 2. With 2 equal ranges and 1 wei residual, nominal liq is computed as 14. 3. Real mintable liquidity is 0 (1 wei cannot split across 2 ranges). 4. Compound tries to transfer more than available → `\"STF\"` → mint/burn DoS.","tldr",1],["57723-h-02-first-deposit-front-running-attack-pashov-audit-group-n","Burve — First deposit front-running attack","audit-finding","AuditVault","2025-03",null,[],["untagged"],"First-depositor inflation / donation attack","high","Burve single (ERC-4626-like share vault)",null,"1. Alice mints 1 wei liquidity → 1 share (no dead shares). 2. Alice donates 1e18 of liquidity tokens, inflating `totalNominalLiq`. 3. Charlie mints 2e18 → `shares = 2e18 * 1 / (1e18+1) = 1`. 4. Alice burns her share and extracts ≥1e18 of value including Charlie's deposit.","tldr",1],["2025-03-DCFToken","DCF Token Exploit — Transfer-to-Pair Reserve Burn Inflates DCF Price","incident","DeFiHackLabs","2025-03","BNB Chain",["vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Broken AMM `x·y=k` invariant via an un-compensated, attacker-sized burn of pool reserves + `sync()`",null,null,"~442,028 BSC-USD","A Uniswap-V2 / PancakeSwap pair prices assets purely from its stored reserves and only enforces `x·y ≥ k` *inside* `swap()`. `sync()` exists to let the pair \"true up\" its reserves to its real token balances — it trusts that balances only move via mints/burns/swaps it can reason about. `DCF` violates that trust catastrophically. Three composing flaws: 1. It burns from the pool and `sync()`s. `_burn(pairAddress, deadAmount)` deletes DCF the pair holds; `sync()` then makes the pair adopt the shrunken DCF reserve. [continues]","rootCause",1],["55410-issue-with-fee-payment-during-interchain-callback-mixbytes-n","DIA Spectra — fee dropped during the interchain oracle callback (permanent DoS)","audit-finding","AuditVault","2025-03",null,["vuln/cross-chain/fee-accounting","vuln/dos/liveness","vuln/logic/missing-value-forward"],["cross-chain","dos","logic"],null,null,null,null,"`handle()` receives the fee (`msg.value`) but forwards nothing to `dispatch()`. The fee is stranded in the recipient and the outbound reply is always underpaid.","rootCause",1],["2025-03-DUCKVADER","DUCKVADER Exploit — Permissionless Free-Mint via Broken buyTokens() + Storage Shadowing","incident","DeFiHackLabs","2025-03","Base",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Unauthenticated free token mint (broken payment check + storage-variable shadowing)",null,null,"~5 ETH total in the live attack","The single root cause is that `buyTokens` mints unbounded value for free. Three compounding defects make it exploitable by anyone: 1. Degenerate payment check. `require(msg.value >= amount * 1 ether)` ties the required payment to the `amount` argument, and `amount = 0` makes the requirement vacuous. The function is `payable` but never actually requires payment proportional to what it mints — and what it mints isn't even `amount`, it's the full `maxSupply`. 2. Mint amount unrelated to input. [continues]","rootCause",1],["57056-erc-20-tokens-cannot-be-withdrawn-from-treasury-contract-tra","ERC-20 fees are permanently locked in Treasury — frozen funds","audit-finding","AuditVault","2025-03","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Missing ERC-20 withdrawal path",null,null,"ERC-20 fee balances sent to Treasury cannot be recovered","The contract has no owner-authorized `IERC20(token).transfer` recovery function, so token balances are not part of the withdrawal design.","rootCause",1],["61789-flashloan-functionality-is-blocked-openzeppelin-none-fx-v2-a","f(x) v2 flash loans revert on an honest repayment","audit-finding","AuditVault","2025-03","Ethereum",["vuln/logic/wrong-condition","vuln/dos/griefing"],["logic","dos"],"Repayment is measured against the pre-loan balance",null,null,"900 fxUSD of arbitrage is not realized","The surplus over the pre-loan balance is the fee, not the principal plus the fee. The comparison still demands both.","rootCause",1],["2025-03-H2O","H2O Token Exploit — skim()-Triggered Self-Minting Reward Drain","incident","DeFiHackLabs","2025-03","BNB Chain",["vuln/logic/state-update","vuln/oracle/price-manipulation"],["logic","oracle"],"Fee-on-transfer reward logic triggered on AMM `skim()` → unbounded self-minting / reserve drain (plus weak on-chain randomness)",null,null,"22,470.89 USD","The protocol conflates \"H2O left the pair toward a user\" with \"a user bought H2O\" and pays a reward on the former. But \"H2O leaving the pair\" is something *anyone* can cause without buying anything: `pair.skim(attacker)` makes the pair call `H2O.transfer(attacker, excess)` with `msg.sender == pair`. The token sees `pair == msg.sender`, concludes \"this is a buy\", and runs `_calulate`, minting reward tokens and ultimately transferring real H2O out of the contract's own 100M reserve to the attacker. [continues]","rootCause",1],["57737-c-03-incorrect-index-reset-in-fenwick-tree-after-full-withdr","Hyperhyper — a full withdrawal leaves Fenwick index 3 stale","audit-finding","AuditVault","2025-03",null,["vuln/logic/state-update","vuln/logic/incorrect-calculation"],["logic"],"Incomplete index reset after a full withdrawal","high","Hyperhyper Fenwick lock tree",null,"The tree is the source of unlocked liquidity, and a full withdrawal deletes the key list without clearing every node. The next deposit looks new and overwrites only its own chain. A later add at index 3 accumulates on the pre-withdrawal value.","rootCause",1],["57736-c-02-plp-transfer-or-balance-updates-do-not-update-reward-in","Hyperhyper — a PLP transfer skips the reward index","audit-finding","AuditVault","2025-03",null,["vuln/logic/reward-calculation","vuln/logic/state-update","vuln/logic/missing-check"],["logic"],"Reward index is not checkpointed when the LP balance moves","high","Hyperhyper `LiquidityFacet` / PLP",null,"The reward is the product of the current balance and a stored index delta. Those two values are a pair. Any change to the balance has to snapshot the rewards already earned and set the index to the global index, for both the sender and the recipient, before the balances move. The transfer updates only the balances, so the recipient inherits the sender's unpaid delta and the sender's pending amount falls with the balance.","rootCause",1],["57741-h-04-improper-use-of-locked-funds-as-liquidity-in-positionin","Hyperhyper — call payout spends buyToken locked for a put","audit-finding","AuditVault","2025-03",null,["vuln/logic/missing-check","vuln/logic/state-update"],["logic"],null,null,"Hyperhyper",null,"The payout's notion of \"available buyToken\" is the reward accumulator, not `balanceOf(buyToken) - lockedBuy`. After the swap (which adds nothing here), the transfer uses the raw pool balance. Locked put collateral is part of that balance, so it is spent as if it were free liquidity for the call.","rootCause",1],["57738-h-01-option-premium-calculation-underprices-options-pashov-a","Hyperhyper — option premium is priced on the short input period","audit-finding","AuditVault","2025-03",null,["vuln/logic/price-calculation","vuln/logic/fee-calculation","vuln/logic/incorrect-calculation"],["logic"],"Premium uses a shorter time than the option actually lives","high","Hyperhyper `Strategy._calculatePremium`",null,"The option's lifetime and the time passed into the pricer are different values. Maturity is stored rounded up. The premium is not.","rootCause",1],["57740-h-03-inaccurate-accounting-in-removeliquidity-overstating-li","Hyperhyper — removeLiquidity subtracts the net and not the fee","audit-finding","AuditVault","2025-03",null,["vuln/logic/incorrect-calculation","vuln/logic/state-update"],["logic"],"Accounting drops the withdrawal fee","high","Hyperhyper `LiquidityFacet.removeLiquidity`",null,"`poolAmount` is treated as the tokens still available to LPs, but the fee has already left the token balance. The two ledgers diverge by `pFee` on every removal.","rootCause",1],["57742-h-05-vulnerability-in-positioninteractionfacet-slippage-cont","Hyperhyper — slippage is applied to the spot quote","audit-finding","AuditVault","2025-03",null,["vuln/defi/slippage","vuln/oracle/spot-price","vuln/defi/sandwich-attack"],["defi","oracle"],"User slippage is measured from the manipulable spot","high","Hyperhyper `PositionInteractionFacet._swapAssetToAsset`",null,"The maximum input is derived from the price at execution, not from a price the user bound before the trade. Moving the spot moves the maximum with it. Adding slippage on top makes the bound even looser.","rootCause",1],["57735-c-01-permanent-lock-due-to-missing-unlock-mechanism-for-opti","Hyperhyper — worthless options lock collateral with no unlock","audit-finding","AuditVault","2025-03",null,["vuln/logic/missing-check","vuln/logic/state-update"],["logic"],null,null,"Hyperhyper",null,"Lock and unlock are not paired. `_lockLiquidity` runs on open. The matching decrease of `lockedToken` exists only on the exercise path, and exercise is gated on a positive payoff inside a finite window. An option that expires worthless, or that nobody exercises in time, never takes that path. Nothing else moves the tokens.","rootCause",1],["57743-h-06-payoff-underflow-in-operationaltreasury-locks-assets-pe","Hyperhyper OperationalTreasury — payOff underflow locks the pool collateral","audit-finding","AuditVault","2025-03",null,["vuln/arithmetic/underflow","vuln/logic/fee-calculation","vuln/dos/frozen-funds"],["arithmetic","logic","dos"],null,null,"Hyperhyper",null,"The fee does not look at the pnl. A spot only slightly above the strike makes `feesUSD` larger than `pnl`. The subtraction is checked arithmetic, so the whole `payOff` reverts, including `exerciseOrLiquidatePosition`, which is the call that would have released the pool collateral.","rootCause",1],["57823-h-02-losing-voting-power-in-rewards-distribution-pashov-audi","Hyperstable — a perpetual lock scores zero voting power and is paid nothing","audit-finding","AuditVault","2025-03",null,["vuln/logic/reward-calculation"],["logic"],"Perpetual locks are scored with the decaying-lock formula","high","Hyperstable `RewardsDistributor`",null,"A perpetual lock is a constant balance, not a decaying line. The distributor only knows the decaying point, and that point was stored as the zero point.","rootCause",1],["57822-h-01-faulty-deposit-for-check-pashov-audit-group-none-hypers","Hyperstable — deposit_for rejects a perpetual lock","audit-finding","AuditVault","2025-03",null,["vuln/logic/wrong-condition","vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],"The expiry check does not treat a perpetual lock as live","high","Hyperstable `vePeg.deposit_for` / `RewardsDistributor.claim`",null,"`claim` and `deposit_for` disagree about what a live lock is. `claim` treats `perpetuallyLocked` as live. `deposit_for` treats `end == 0` as expired. Every reward deposit for a perpetual lock hits that require.","rootCause",1],["57821-c-01-delegate-permits-unauthorized-vote-delegation-pashov-au","Hyperstable: anyone can delegate a lock's votes and take its emissions","audit-finding","AuditVault","2025-03","Ethereum",["vuln/access-control/missing-auth","vuln/logic/state-update"],["access-control","logic"],"`delegate` moves voting weight with no owner or operator check",null,null,"Caller harvests 1,000 PEG","The function is permissionless. Ownership of the lock is read only to decide whose vote balance to edit, not to authorize the caller.","rootCause",1],["55055-lock-of-user-funds-due-to-zero-slashindex-update-spearbit-no","InfiniFi — a wiped unwinding bucket stores slashIndex = 0 and locks withdrawals","audit-finding","AuditVault","2025-03",null,["vuln/dos/frozen-funds","vuln/logic/state-update","vuln/dos/lockup"],["dos","logic"],"Division by a slash index left at zero; locked funds cannot unwind","high","InfiniFi",null,"`slashIndex` is a scaling factor, not a balance. Burning the last unwinding receipt makes the numerator zero, so the stored index becomes zero. Every later unwind divides a positive reward weight by that index. Solidity 0.8 panics on division by zero, and there is no other path that moves the locked receipts out.","rootCause",1],["55051-incorrect-accounting-in-lockingcontrollerapplylosses-functio","infiniFi — applyLosses over-slashes later buckets by shrinking the denominator","audit-finding","AuditVault","2025-03",null,["vuln/arithmetic/rounding-direction","vuln/logic/state-update"],["arithmetic","logic"],null,null,"infiniFi LockingController",null,"`_globalReceiptToken` is both the denominator and the running remainder. Decreasing it inside the loop changes the base of every later `mulDivUp`. The sum of the ceils exceeds `_amount`, and the value written back to `globalReceiptToken` is that remainder rather than `global - loss`.","rootCause",1],["55054-broken-accounting-when-cancelunwinding-is-called-one-epoch-a","infiniFi — cancelling an unwind one epoch later locks 800 receipt tokens","audit-finding","AuditVault","2025-03",null,["vuln/logic/state-update","vuln/logic/incorrect-state-transition","vuln/dos/frozen-funds"],["logic","dos"],null,null,"infiniFi UnwindingModule",null,"The slope is booked at a future epoch and removed from the global point as if that epoch had already been rolled. A later roll still sees the ending slope (`rewardWeightIncreases[2] = 150`) and subtracts it from a decrease that is only 100. The subtraction underflows. Settlement never completes.","rootCause",1],["55049-griefing-vector-via-arbitrary-minting-of-iusd-tokens-spearbi","InfiniFi — minting 1 wei of iUSD to a victim makes their redeem revert","audit-finding","AuditVault","2025-03",null,["vuln/dos/griefing","vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition"],["dos","access-control","logic"],"Anyone can mint iUSD to any address, and that mint extends the recipient's transfer restriction. Redeem transfers iUSD, so it reverts","high","InfiniFi — `InfiniFiGateway.mint` / `ReceiptToken._update`",null,"`mint` lets the caller pick `to`, and the receipt token then refuses transfers from `to` until `block.timestamp + restrictionDuration`. With duration `1`, repeating the call keeps pushing the deadline forward. Redeem, stake, and any other iUSD transfer from that address revert. The USDC pulled on the grief mint keeps the ratio at 1, so the accounting does not flag the frozen exit.","rootCause",1],["55052-referencing-the-gateway-balance-in-lockingcontrollerincrease","InfiniFi — Referencing the gateway balance in increaseUnwindingEpochs can DoS the function","audit-finding","AuditVault","2025-03",null,[],["untagged"],"Wrong balance reference / transferable intermediate token","high","InfiniFi Contracts — `LockingController.increaseUnwindingEpochs`",null,"1. LockedPositionTokens are transferable until used to vote. 2. Bob transfers his position tokens to the gateway. 3. Alice deposits her own shares and approves only her amount, then calls `increaseUnwindingEpochs`. 4. Controller reads `balanceOf(gateway)` (= Alice+Bob) and tries to `burnFrom` more than Alice approved → revert. Alice is DoSed.","tldr",1],["55053-stakedtoken-holders-can-circumvent-restriction-by-approving","InfiniFi — StakedToken holders can circumvent restriction by approving another address to withdraw","audit-finding","AuditVault","2025-03",null,[],["untagged"],"Incomplete restriction surface / approval-path bypass","high","InfiniFi Contracts — `StakedToken._withdraw` / `_update`",null,"1. Alice holds siUSD and is action-restricted (cannot transfer/withdraw). 2. Alice approves an unrestricted third party for her shares. 3. Alice's own `withdraw` reverts with `ActionRestricted`. 4. The third party calls `withdraw(assets, alice, alice)` — only `caller` is checked — burns Alice's shares and returns iUSD to Alice. Restriction bypassed.","tldr",1],["55050-double-claiming-of-accrued-rewards-via-unwinding-after-accru","infiniFi: unwinding in the same epoch takes 50 from Bob","audit-finding","AuditVault","2025-03",null,["vuln/logic/reward-calculation"],["logic"],null,null,"infiniFi",null,"The arrival epoch is included because the loop begins one epoch before `fromEpoch`. The user was already paid for that epoch on the locking side.","rootCause",1],["58596-precision-truncation-on-stake-may-lead-to-improper-accountin","Kinetiq LST — precision truncation on stake causes accounting insolvency","audit-finding","AuditVault","2025-03",null,["vuln/accounting/precision-loss","vuln/loss-of-funds/insolvency","vuln/math/truncation"],["accounting","loss-of-funds","math"],"Truncation vs full-amount accounting mismatch","high","Kinetiq LST — StakingManager on HyperEVM",null,"Two different quantities are treated as one: the economic amount the user intended to stake, and the quantum actually accepted by L1. Minting shares against the former while L1 only holds the latter creates permanent unbacked kHYPE equal to `Σ (a_i mod 1e10)`.","rootCause",1],["58595-initialization-upon-declaration-will-not-work-for-proxied-co","Kinetiq: a declaration initializer never reaches the proxy, so the unstake fee is 0","audit-finding","AuditVault","2025-03","Ethereum",["vuln/access-control/uninitialized-proxy","vuln/defi/fee-manipulation"],["access-control","defi"],"Declaration initializer writes the implementation, not the proxy",null,null,"A proxy unstake pays 1,000","Solidity runs declaration initializers in the constructor. A proxy does not delegatecall the constructor. Unless `initialize` writes the same slots, every reader of `unstakeFeeRate` on the proxy sees 0.","rootCause",1],["56685-vlts3-9-withdrawal-queue-priority-bypass-for-feeless-instant","Later stHYPE withdrawal takes 1 HYPE from an earlier 10 HYPE fill","audit-finding","AuditVault","2025-03","Ethereum",["vuln/logic/incorrect-state-transition","vuln/logic/incorrect-order-of-operations"],["logic"],"Withdrawal checkpoint is the claimable cursor, not the amount already requested",null,null,"The later LP receives 1 HYPE","Readiness is `cumulativeClaimable >= checkpoint + amount`. `checkpoint` does not increase when a request is opened. It increases when `update()` observes a balance increase. Every request opened in between stores the same number, so the smallest one becomes ready as soon as the cursor moves by that smaller amount, even if an earlier request is still unpaid.","rootCause",1],["55601-entrypoint-not-included-in-user-operation-hash-creates-the-p","MetaMask DeleGator — userOp hash omits the EntryPoint, so the signature replays","audit-finding","AuditVault","2025-03",null,["vuln/auth/signature-replay","vuln/auth/signature-validation"],["auth"],null,"high","MetaMask Delegation Framework",null,"The signature is checked against a digest that is identical for every EntryPoint. ERC-4337 nonces are stored on the EntryPoint (`EntryPoint.getNonce(sender, key)`), not on the account. A second EntryPoint still has nonce 0 for Alice, so the nonce check does not reject the replay. The report's concrete path is an upgrade: the account address stays the same (EIP-7702 delegation, or a proxy that keeps its address), the new implementation points at a new EntryPoint, and the old signature still verifies.","rootCause",1],["61562-rewards-can-be-stolen-when-incentivizederc20-tokens-are-recu","Paladin Valkyrie — recycled LP liquidity pays the reward token to the caller","audit-finding","AuditVault","2025-03",null,["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],null,null,"Paladin Valkyrie",null,"Liquidity accounting follows the ERC20 transfer with no check that the token is an incentivized LP being parked on a contract that will not keep the rewards. Whoever can call `claim` for the new holder receives the reward token.","rootCause",1],["61553-reward-tokens-can-become-inaccessible-due-to-revert-when-rew","Paladin Valkyrie — uint96 reward-per-token downcast locks the rewards","audit-finding","AuditVault","2025-03","Ethereum",["vuln/arithmetic/overflow","vuln/dos/frozen-funds"],["arithmetic","dos"],"Scaled reward-per-token does not fit in uint96",null,null,"10 ether of reward tokens stay in the incentive contract","`UNIT` is 1e18. Dividing by 6-decimal liquidity (`100 * 10^6`) instead of an 18-decimal supply multiplies the accumulator by `10^12` relative to the reward token. `10 ether * 1e18 / 1e8 = 1e29`. `type(uint96).max` is about `7.92e28`. The checked cast reverts, and because the cast sits on the claim path the tokens cannot be transferred.","rootCause",1],["61554-poolrewards-arrays-can-grow-without-bounds-resulting-in-dos","Paladin Valkyrie — uncapped poolRewards array makes claim run out of gas","audit-finding","AuditVault","2025-03","Ethereum",["vuln/dos/unbounded-loop","vuln/dos/frozen-funds"],["dos"],"Permissionless push into an array that claim loops",null,null,"1,000 ether of reward tokens stay in the pool","The array is append-only and permissionless. Every claim and every transfer notification iterates it and writes three storage slots per entry. Gas therefore grows with the number of spam tokens. Once that cost exceeds the gas the caller forwards, the call reverts and the reward balance cannot be transferred.","rootCause",1],["61556-manipulation-of-price-outside-of-the-fullrangehook-liquidity","Paladin Valkyrie: a price outside the FullRangeHook ticks makes the first mint revert","audit-finding","AuditVault","2025-03","Ethereum",["vuln/oracle/price-manipulation","vuln/logic/price-calculation","vuln/dos/init-constraint"],["oracle","logic","dos"],"Hook ticks stop at ±887220 while the pool price can reach tick 887272",null,null,"First mint of 100 + 100 tokens reverts","The position that is supposed to cover every reachable price does not. Tick 887272 is a legal `slot0` value and it is greater than 887220, so `sqrtPrice` is above `sqrtRatioB` and only `amount1` is converted across the hook's range. That quotient is 5 wei of liquidity for 100 tokens. `1000` cannot be subtracted from 5. For a 6-decimal token the report notes the minimum cannot be reached at all, so the pool stays permanently unseeded. [continues]","rootCause",1],["2025-03-PTM","PTM (Phoenix To Moon) token — public addLiquidity() lets anyone spend the token contract's own PTM/USDT into the LP","incident","DeFiHackLabs","2025-03","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier","vuln/logic/incorrect-state-transition"],["access-control","logic"],"The PTM token's `addLiquidity(uint256,uint256)` is `public` with no access control, and the contract pre-approves the Pancake Router for both its own PTM and its USDT — so any caller can force the token contract to lock its accumulated fee balances into the PTM/USDT pair at attacker-chosen ratios.",null,null,"552.63 USDT","1. `addLiquidity` is `public` with no access control. It should have been `internal` (matched to its only legitimate caller `swapAndLiquify`) or guarded with `onlyOwner`/`isSwap`. As written, any EOA or contract can invoke it. (sources/PTM_2e1377/PTM.sol:1236); 2. The amounts are caller-controlled. `tokenAmount`/`usdtAmount` are function arguments, not `balanceOf[address(this)]` / `IERC20(USDT).balanceOf(address(this))` reads. [continues]","rootCause",1],["2025-03-Pump","Pump / TiPTAG Token Exploit — Permissionless Pre-Listing Liquidity Seeding Drains the Bonding-Curve Listing","incident","DeFiHackLabs","2025-03","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition"],["access-control","logic"],"Access-control / state-machine flaw — pre-listing AMM-pool seeding bypass enabling bonding-curve liquidity theft",null,null,"~11.29 BNB","The protocol assumes the pair is empty until the bonding curve fills and `_makeLiquidityPool()` runs. Three composing flaws break that assumption: 1. Receiver injection in `buyToken`. The buyer chooses an arbitrary `receiver`. Nothing prevents `receiver == pair`. Tokens are delivered via `this.transfer`, so `from == address(this)`. 2. The transfer guard's `from == address(this)` exemption. [continues]","rootCause",1],["2025-03-RnsPay","RnsPay arbitrary dexRouter call drains any token a victim approved to the protocol — attacker-supplied exchange target lets pay() execute transferFrom against arbitrary victims","incident","DeFiHackLabs","2025-03","Ethereum",["vuln/access-control/missing-validation","vuln/logic/missing-check","vuln/dependency/unsafe-external-call"],["access-control","logic","dependency"],"The protocol's `pay()` function lets the caller choose an arbitrary `dexRouterContractAddress` plus arbitrary `dexRouterFeedData` and performs a low-level `router.call(feedData)` from RnsPay's own context — so an attacker can make RnsPay issue `ERC20.transferFrom(victim, attacker, amount)` for any victim who has approved RnsPay.",null,null,"1,050 USDC","1. No validation on the exchange target. `dexRouterContractAddress` is taken verbatim from calldata and called. There is no `require(exchanges[dexRouterContractAddress], \"exchange not allowed\")`. The owner-controlled allow-list exists but is never enforced in `pay()`. 2. No validation on the exchange calldata. `dexRouterFeedData` is opaque bytes passed straight to `.call()`. Nothing checks that the selector is a swap function, that it references the pay token, or that it operates only on the caller's funds. [continues]","rootCause",1],["2025-03-UNI","SamPrisonman (SBF) Exploit — Externally-Controlled Balance Write Lets an Attacker Zero the AMM Pool Reserve","incident","DeFiHackLabs","2025-03","Ethereum",["vuln/dependency/unsafe-external-call","vuln/oracle/price-manipulation"],["dependency","oracle"],"Honeypot / malicious-token bug: external-call-controlled balance write that bypasses underflow and lets the token delete a holder's balance, breaking the AMM `x·y = k` invariant",null,null,"~$14K — 6.5793 WETH drained from the SBF/WETH Uniswap V2 pair","A Uniswap V2 pair prices each side purely from its reserves and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists to let the pair adopt its real token balances as reserves; it assumes a token's `balanceOf(pair)` only ever moves through honest mint/burn/transfer accounting. `SamPrisonman` breaks that assumption at the most basic level: [continues]","rootCause",1],["2025-03-SBRToken","SBR Token Exploit — skim() + broken token transfer zeroes a Uniswap-V2 reserve","incident","DeFiHackLabs","2025-03","Ethereum",["vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Broken AMM invariant via a token whose `transfer` deletes the sender's balance — combined with permissionless `skim()`/`sync()`",null,null,"~8.495 ETH","The fundamental cause is the SBR token, not Uniswap. A Uniswap-V2 pair is a faithful mirror of `balanceOf(pair)`: `skim()` skims surplus, `sync()` snaps reserves to the live balance. Both functions are permissionless by design and are *safe* only under the (universal) ERC-20 assumption that `balanceOf` decreases by exactly the amount transferred and never spontaneously collapses. SBR breaks that assumption. Because its `transfer` deletes the sender's whole balance on a zero/dust transfer: [continues]","rootCause",1],["2025-03-LeverageSIR","SIR (Leverage) Exploit — Dirty Transient-Storage Slot Turns uniswapV3SwapCallback Into an Open Drain","incident","DeFiHackLabs","2025-03","Ethereum",["vuln/access-control/missing-auth","vuln/reentrancy/single-function"],["access-control","reentrancy"],"Broken access control via reusable / attacker-controllable transient storage slot (`tstore`/`tload`); missing slot clearing in the reentrancy guard",null,null,"~$353.8K","The `uniswapV3SwapCallback` authentication assumes slot 1 can only ever contain a legitimate Uniswap pool address that the Vault itself just wrote. Two design facts break that assumption: 1. Slot 1 is dual-purposed and never sanitized. [continues]","rootCause",1],["2025-03-StackMarket","StackMarket graduated-account flash-loan drain — buy path swaps a Uniswap V3 pool with caller-controlled (zero) slippage, then unwinds at the inflated pool price","incident","DeFiHackLabs","2025-03","Base",["vuln/defi/slippage","vuln/logic/incorrect-order-of-operations","vuln/governance/flash-loan-attack"],["defi","logic","governance"],"For a graduated (bonding-curve-completed) account, `buy()` forwards the caller's `minTokens` straight into a Uniswap V3 swap as `amountOutMinimum`, so a flash-funded attacker can buy with zero slippage protection, push the V3 pool price up, and immediately sell the same tokens back into the same pool at the inflated price.",null,null,"0.56 WETH","1. Caller-controlled `amountOutMinimum` with no protocol-enforced floor. `_executeUniswapSwap` passes the user's `minTokens` straight into `amountOutMinimum`. The contract never clamps it (e.g. to a TWAP-derived quote, or to `netAmount · 99 %`). `buy(account, 1, 0)` is a valid call that disables slippage protection entirely. 2. Caller-controlled `sqrtPriceLimitX96` with no clamping. Passing `0` means \"no price limit\", so the swap will walk the V3 ticks as far as the input amount pushes it. [continues]","rootCause",1],["2025-03-unverified_3f27","SWT token burn-then-sync drain — permissionless burn(address,uint256) desyncs an AMM pair's reserves before sync()","incident","DeFiHackLabs","2025-03","Avalanche",["vuln/access-control/missing-auth","vuln/logic/state-update","vuln/defi/price-manipulation"],["access-control","logic","defi"],"The SWT token exposes a public `burn(address from, uint256 amount)` that lets anyone burn an arbitrary holder's tokens (here the AMM pair), so an attacker can collapse the pair's SWT reserve to dust, call `sync()`, then swap a tiny SWT amount back for nearly all of the pair's WAVAX.",null,null,"~0.40 WAVAX","1. Permissionless `burn(address from, …)`. The SWT token lets any caller burn any holder's tokens. There is no owner/allowance/self-only gate. This is the primary defect (`vuln/access-control/missing-auth`). 2. External supply mutation not coordinated with the AMM. A Uniswap-V2 pair's reserves are a *cache* of its token balances, refreshed only inside its own entrypoints. [continues]","rootCause",1],["63314-c-01-accepting-duplicate-signatures-from-one-signer-pashov-a","SXT — [C-01] Accepting duplicate signatures from one signer","audit-finding","AuditVault","2025-03",null,[],["untagged"],"Missing signature uniqueness check","high","SXT SubstrateSignatureValidator",null,"Threshold = 2. Attacker submits the same valid `(v,r,s)` twice. Both recover to one attestor; both count. `validateMessage` returns true.","tldr",1],["43732-h-1-fluidlocker-getunlockingpercentage-incorrectly-divides-o","Unlocking percentage formula applies an 80% penalty — AuditVault synthetic reduction","audit-finding","AuditVault","2025-03",null,["vuln/arithmetic/precision-loss","vuln/logic/price-calculation"],["arithmetic","logic"],null,"high","[[Superfluid]] Locking Contract",null,"The bug report discusses an issue with the `FluidLocker::_getUnlockingPercentage()` function in the Superfluid locking contract. The function incorrectly divides one of the components of the formula by `S`, resulting in a `80%` penalty for users unlocking their Fluid. This bug was found by a group of security researchers and the root cause was identified in line 388 of the code. The bug can be exploited by a user unlocking their Fluid with a duration greater than 0, causing them to suffer a significant loss. [continues]","tldr",1],["2025-03-unverified_de7c","Unverified swapit() helper — public function lets anyone trigger a contract-owned USDC swap through the same AMM pool, harvesting the price impact","incident","DeFiHackLabs","2025-03","Base",["vuln/access-control/missing-owner-check","vuln/defi/sandwich-attack","vuln/defi/slippage"],["access-control","defi"],"A public, unauthenticated `swapit()` swaps the contract's own USDC through a low-liquidity Aerodrome pool; any caller can buy the output token first, trigger the contract's market sell, then sell back into the price impact.",null,null,"980.32 USDC","1. `swapit()` has no access control. The function is `external` with no `onlyOwner` / role check, so any account (or any contract) can invoke it. This turns a private treasury-management operation into a public market signal the attacker can fire on demand. 2. The contract swaps its own funds through a public AMM at a caller-chosen moment. [continues]","rootCause",1],["61559-swaps-are-not-possible-on-pools-registered-with-bunni-due-to","Valkyrie — a Bunni swap reverts and 1000 IN stays with the user","audit-finding","AuditVault","2025-03",null,["vuln/access-control/broken-logic","vuln/dos/griefing","vuln/logic/wrong-condition"],["access-control","dos","logic"],"The hook checks the hub, but Bunni calls it from the hook","high","Paladin Valkyrie `ValkyrieHooklet`",null,"`ValkyrieHooklet.afterSwap` is `onlyBunniHub`. Bunni invokes that hook from `BunniHook`, not from `BunniHub`. The pool in this reduction is that caller. `require(msg.sender == bunniHub)` reverts. The pool catches the failure, refunds the input, and does not transfer output. The user swapped 1000 IN. They still hold 1000 IN. They received 0 OUT. The 1000 OUT inventory stays in the pool. The fixed hook is `onlyBunniHook` and is bound to the pool. The same swap returns true and pays the user 1000 OUT.","tldr",1],["61557-reward-distribution-can-be-blocked-by-an-initial-distributio","Valkyrie — a long first distribution blocks the next reward notify","audit-finding","AuditVault","2025-03",null,["vuln/arithmetic/overflow","vuln/dos/frozen-funds","vuln/logic/reward-calculation"],["arithmetic","dos","logic"],"A first duration near `uint32` max makes every later `depositRewards` revert","high","Paladin Valkyrie incentive logic",null,"The stored end is a `uint32`, and an active distribution extends by adding the new duration to whatever time is left. Nothing stops the first duration from sitting one second below the top of that type. The next extension then cannot be stored.","rootCause",1],["61560-missing-user-liquidity-sync-in-timeweightedincentivelogic-up","Valkyrie — a missing user-liquidity sync pays the staker 0","audit-finding","AuditVault","2025-03",null,["vuln/logic/reward-calculation","vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],"Rewards are checkpointed against a zero user balance","high","Paladin Valkyrie `TimeWeightedIncentiveLogic`",null,"Two balances exist: the manager's live liquidity and the logic's cached copy. The cache is what `_earned` multiplies by. Total liquidity is refreshed when rewards are deposited. User liquidity is not refreshed on claim. A position that was opened before the logic was registered is invisible to the payout, and the first claim freezes the user's cursor at the new index so the missed rewards cannot be claimed later.","rootCause",1],["61555-permissionless-reward-distribution-can-be-abused-to-cause-fu","Valkyrie — a permissionless reward notify locks staked LP","audit-finding","AuditVault","2025-03",null,["vuln/arithmetic/overflow","vuln/dos/frozen-funds","vuln/access-control/missing-auth"],["arithmetic","dos","access-control"],"Permissionless `depositRewards` sets `ratePerSec` to `uint96` max, then the index update reverts","high","Paladin Valkyrie incentive logic",null,"The stored reward index is a `uint96`, but the per-second rate is chosen by whoever calls `depositRewards`. A rate of `uint96` max overflows that index as soon as the position has accrued for more than one second at 1 LP of liquidity. Every later update reverts, including the update inside remove and claim.","rootCause",1],["61558-swaps-performed-in-pools-with-zero-liquidity-can-cause-a-com","Valkyrie — a zero-liquidity swap blocks a 1000 LP deposit","audit-finding","AuditVault","2025-03",null,["vuln/dos/frozen-funds","vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["dos","logic"],"A zero-liquidity swap corrupts the rebalance flag","high","Paladin Valkyrie `FullRangeHook`",null,"`FullRangeHook.beforeSwap` marks `hasAccruedFees` on every swap and does not require the position to have liquidity. A swap while `liquidity == 0` sets the flag. The next `addLiquidity` sees the flag, calls `_rebalance`, and removes `liquidity` as a signed delta. That delta is 0. `Position.update` reverts `CannotUpdateEmptyPosition` when both the delta and the stored liquidity are 0. The depositor still holds 1000 LP. The hook's balance and `liquidity` stay 0. The deposit cannot land. [continues]","tldr",1],["61563-precision-loss-can-result-in-funds-becoming-stuck-in-incenti","Valkyrie — integer reward rates leave incentive tokens stuck","audit-finding","AuditVault","2025-03",null,["vuln/arithmetic/precision-loss","vuln/logic/reward-calculation","vuln/dos/frozen-funds"],["arithmetic","logic","dos"],"Floor division strands `amount % duration`","high","Paladin Valkyrie incentive logic",null,"The rate is an integer number of token units per second. Any deposit that is not a multiple of the duration is rounded down at this division, and no later function adds the dropped units back. Low-decimal tokens such as WBTC make each dropped unit expensive.","rootCause",1],["61561-denial-of-service-for-swaps-on-multirangehook-pools-cyfrin-n","Valkyrie — six ranges stop a swap of 1000 IN","audit-finding","AuditVault","2025-03",null,["vuln/dos/griefing","vuln/logic/missing-check","vuln/logic/missing-validation"],["dos","logic"],"`afterSwap` walks an uncapped array until it runs out of gas","high","Paladin Valkyrie `MultiRangeHook`",null,"`createRange` is permissionless and pushes a new LP token onto `poolLpTokens`. `afterSwap` loops that array and notifies every range. Each notification writes six storage slots. A swap gives `afterSwap` a stipend of 770000 gas, which is enough for five ranges and not for six. With six ranges the stipend runs out, the pool refunds the input, and no output is paid. 1000 IN stays with the user. They receive 0 OUT. The fixed hook rejects `createRange` once five ranges exist. [continues]","tldr",1],["61564-rewards-distributed-with-timeweightedincentivelogic-can-cont","Valkyrie — time-weighted rewards keep growing after the stream ends","audit-finding","AuditVault","2025-03",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition","vuln/logic/fee-calculation"],["logic"],"The ramp ratio is not capped at `endTimestamp`","high","Paladin Valkyrie `TimeWeightedIncentiveLogic`",null,"`maxEarned` is capped because `_newRewardPerToken` stops at `endTimestamp`. The ratio that scales `maxEarned` still treats every second after the checkpoint as part of the ramp, including seconds after the stream ended. Those extra seconds are weighted at `UNIT` in the numerator and only dilute the half-weight ramp in the denominator, so the ratio rises toward 1.","rootCause",1],["2025-03-wKeyDAO","wkeyDAO Exploit — Fixed-Price Presale buy() vs. Live AMM Price Arbitrage","incident","DeFiHackLabs","2025-03","BNB Chain",["vuln/oracle/stale-price","vuln/defi/slippage"],["oracle","defi"],"Fixed/stale on-chain price — protocol sells an asset at a hard-coded price decoupled from its live market price",null,null,"~$767 realized net","A presale that hands out a token at a fixed price is only safe if that token has no liquid secondary market trading above that price, or if access is restricted (allowlist, vesting, per-buyer cap, off-chain settlement). `WebKeyProSales` had none of those guards while WKEY traded freely on PancakeSwap. The composing factors: 1. Hard-coded, oracle-free price. `currentSaleInfo.price` (1,159 BUSD) is a constant. It is never compared against the current WKEY/BUSD pool price. [continues]","rootCause",1],["2025-03-YziAIToken","Yzi AI (YziAI / YziLabs) Exploit — Hard-Coded manager Backdoor in transferFrom","incident","DeFiHackLabs","2025-03","BNB Chain",["vuln/access-control/centralization","vuln/access-control/missing-auth"],["access-control"],"Malicious / rug-pull backdoor — privileged hidden mint-and-dump path inside the ERC20 `transferFrom` override",null,null,"~376.07 BNB","This is not an accounting bug or an AMM-invariant subtlety; it is a deliberately planted backdoor. The token was designed from day one so that the deployer could, at any moment, mint unlimited tokens and convert the pool's entire BNB liquidity into their own funds: Hidden privileged path. The branch is gated on `msg.sender == manager` *and* a non-obvious magic constant `amount == 1199002345`, so it never fires for ordinary users and is easy to miss in a casual code read. [continues]","rootCause",1],["2025-02-unverified_d4f1","0xD4F1…7Cb3 Exploit — Uninitialized OwnableUpgradeable Lets Anyone Become Owner and withdrawFees()","incident","DeFiHackLabs","2025-02","BNB Chain",["vuln/access-control/uninitialized-owner","vuln/access-control/missing-auth"],["access-control"],"Uninitialized implementation / unprotected initializer (`initialize()` never called ⇒ `owner == address(0)` ⇒ anyone claims ownership)",null,null,"23.00702629 BNB ≈ $15.2k","A textbook uninitialized-contract / unprotected-initializer bug: 1. `initialize()` is permissionless. OZ's `initializer` modifier is a *one-shot* guard, not an *access-control* guard. If the deployer does not initialize the contract atomically at deploy time, the initializer is left dangling for anyone to invoke. 2. The contract was deployed but never initialized. On-chain, `_initialized == 0` and `_owner == address(0)` at the fork block. [continues]","rootCause",1],["45546-c-01-scaling-of-ud60x18-variables-sent-to-calculatevotingpo","A 1 second lock matches a 28 day lock and takes 100 of 200 reward tokens","audit-finding","AuditVault","2025-02","Ethereum",["vuln/arithmetic/precision-loss","vuln/logic/reward-calculation"],["arithmetic","logic"],"Raw seconds and stake are passed into UD60x18 math, so the lock multiplier underflows",null,null,"100 reward tokens paid to a 1 second lock","The function divides by `UNIT` as if the inputs were already 18-decimal fixed point. Seconds and token amounts below 1e18 lose the entire lock term. A 1 second lock and a 28 day lock of the same stake get the same power.","rootCause",1],["57206-lack-of-access-control-in-boostcontrollerupdateuserboost-lea","Anyone can point Alice's veRAAC boost at their own pool and collect her 1,000 RAAC reward","audit-finding","AuditVault","2025-02","Ethereum",["vuln/access-control/missing-auth","vuln/logic/reward-calculation"],["access-control","logic"],"`updateUserBoost` has no caller check",null,null,"1,000 RAAC paid to the attacker pool","The delegation record is written by a function that accepts both the user and the pool from the caller. The user is not the caller.","rootCause",1],["2025-02-BankX","BankX Router — swapXSDForETH Reentrancy (BSC focus)","incident","Crypto Training","2025-02","BNB Chain",["vuln/reentrancy/single-function","vuln/logic/incorrect-state-transition"],["reentrancy","logic"],"ETH refund before XSD burn + full `amountInMax` transfer",null,null,"~$43K across BSC + ETH + Optimism","`swapXSDForETH` pulls `amountInMax` XSD into the pool (not the quoted amount), swaps WETH out, unwraps, and `safeTransferETH`s to `msg.sender` before `burnpoolXSD(amountInMax/10)`. A contract attacker reenters on `receive()` while `pid_controller` still has `pricecheck=true` (setPriceCheck runs only after the outer body), performing additional swaps against a desynced pool and burning large XSD from the pool balance. [continues]","tldr",1],["62062-h-02-user-can-steal-other-users-emissions-due-to-vulnerable","Blend v2 — Steal other users' emissions via vulnerable claim","audit-finding","AuditVault","2025-02",null,[],["untagged"],null,"high","Blend v2 — backstop emissions",null,"Share balance and emission index must be checkpointed atomically. Skipping the checkpoint on the deposit recipient leaves them able to claim unearned historical emissions.","rootCause",1],["2025-02-Bybit","Bybit Cold-Wallet Heist — DelegateCall masterCopy Overwrite of a Gnosis Safe","incident","DeFiHackLabs","2025-02","Ethereum",["vuln/access-control/secret-exposure","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"(Not a smart-contract bug.) Off-chain UI/signing compromise weaponizing the Safe `DelegateCall` operation to overwrite the proxy's `masterCopy` storage slot",null,null,"~$1.46–1.5B","The contracts were not vulnerable. The off-chain signing process was: 1. The signing UI was compromised. Attribution (zachXBT, SlowMist, Sygnia/Verichains forensics) pins this on Lazarus injecting malicious JavaScript into the Safe{Wallet} infrastructure (an AWS S3 bucket serving the dApp). Bybit's signers were shown a legitimate-looking ETH transfer in the UI while the device actually computed and signed the EIP-712 hash of the malicious `DelegateCall` transaction. 2. \"What you see is not what you sign.\" [continues]","rootCause",1],["55483-c-02-bet-amount-remains-locked-in-the-flip-contract-when-pla","Coinflip — a winning bet leaves 90 tokens locked in Flip","audit-finding","AuditVault","2025-02",null,["vuln/dos/frozen-funds","vuln/logic/fee-calculation"],["dos","logic"],null,null,"Coinflip",null,"The amount returned to staking is the fee, not the bet minus the manager's cut. The winning payout is still the full net payout, so the unreturned bet cannot back later games.","rootCause",1],["55502-c-01-pending-payouts-excluded-from-total-balance-cause-incor","Coinflip — a withdrawal prices shares on a balance that still owes a payout","audit-finding","AuditVault","2025-02",null,["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],null,null,"Coinflip",null,"A failed payout is a liability that still sits in the token balance. Counting the whole balance as staker equity treats the winner's 200 as if the stakers had earned it. The share price is high by that amount, and the first full withdrawal takes it.","rootCause",1],["55486-h-03-users-can-potentially-steal-other-users-staking-rewards","Coinflip staking — a later deposit takes 80 of an earlier staker's yield","audit-finding","AuditVault","2025-02",null,["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],null,null,"Coinflip staking",null,"The stake balance is the token amount, while the exit price is the pool's token balance. A deposit that arrives after the balance has grown buys yield that was already there.","rootCause",1],["53445-relocking-through-mfdbaseclaimbounty-leads-to-accounting-err","Defi App relock unstakes the gauge and the 100 LP tokens cannot be withdrawn","audit-finding","AuditVault","2025-02","Ethereum",["vuln/dos/frozen-funds","vuln/logic/incorrect-order-of-operations"],["dos","logic"],"Relock restores `locked[user]` after the gauge withdraw and never deposits again",null,null,"100 DLP stuck on MFDBase","The withdraw hook and the relock path are not paired. Unstake is unconditional. Restake updates the balance mapping and skips the gauge. A later withdraw assumes the gauge still holds `locked[user]`.","rootCause",1],["53446-malicious-user-can-flood-a-user-s-staked-locks-array-and-pre","DefiApp: on-behalf stake pushes dust locks until the victim's withdraw runs out of gas","audit-finding","AuditVault","2025-02","Ethereum",["vuln/dos/unbounded-loop","vuln/dos/frozen-funds"],["dos"],"`withdrawExpiredLocks` walks `userLocks.length` with no cap",null,null,"100 LP plus 250 dust units stuck in MFD","The on-behalf push has no length limit, and the withdraw uses that length as the loop bound.","rootCause",1],["2025-02-FourMeme","Four.meme Launchpad Exploit — Liquidity Migration Front-Run via Pre-Initialized Pancake V3 Pool","incident","DeFiHackLabs","2025-02","BNB Chain",["vuln/defi/sandwich-attack","vuln/logic/incorrect-order-of-operations"],["defi","logic"],"Trusted-state assumption on an external call — `createAndInitializePoolIfNecessary` does not re-initialize an already-initialized pool, enabling a price-setting front-run of the launchpad's liquidity migration",null,null,"~$186K total across ~20 meme tokens","The launchpad's migration logic assumes that `createAndInitializePoolIfNecessary` will set the price it passes in. That assumption holds only for a pool that doesn't exist yet. Because pool creation and initialization are permissionless and idempotent (initialize-once), an attacker can win the race: 1. Permissionless pre-creation. Anyone can call `factory.createPool` + `pool.initialize` (or the periphery wrapper) for the meme/WBNB/1% pool before Four.meme migrates. [continues]","rootCause",1],["2025-02-GMT7","GMT7 Helper permissionless drain — unverified trading bot helper exposed public buy/sell functions with no access control and infinite router approval","incident","DeFiHackLabs","2025-02","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier","vuln/defi/slippage"],["access-control","defi"],"A privileged trading-bot helper exposed `buyTokenAmount`, `robotSell2me`, and `transferBnb` as fully permissionless external functions, while it held USDT and an effectively-infinite `approve` to PancakeRouter; anyone could drive it to buy GMT7 and then dump the helper's GMT7 to the attacker.",null,null,"16.75 BNB","1. No access control on any fund-moving function. `buyTokenAmount`, `robotSell2me`, and `transferBnb` are all `external` with no `onlyOwner` / role check. Anyone could invoke them. This is the primary, sufficient root cause. 2. Helper held the funds and the allowances. The contract was custodial: it owned the USDT used to buy GMT7, owned the GMT7 bought, and had a near-`uint256.max` approval to PancakeRouter over both [output.txt:1599]. Public functions with custodial balances = instant drain. [continues]","rootCause",1],["2025-02-GoldReserve","GoldReserve NFT profit double-claim — ERC1155 transfer resets the per-address profit accumulator","incident","DeFiHackLabs","2025-02","BNB Chain",["vuln/logic/state-update","vuln/logic/missing-check","vuln/access-control/missing-auth"],["logic","access-control"],"Profit-sharing withdrawal pattern keyed by *address* while entitlement is read from the *current token balance*; moving tokens to a fresh address resets the per-address accumulator to 0, allowing the same deposited profit to be claimed repeatedly.",null,null,"12.74 BNB","1. Dividend-withdrawal accounting keyed by address instead of by token. `claimedProfitPerAddress` is a `mapping(address => uint256)`. The correct pattern for a transferable share is either (a) a per-account \"debt ratio\" snapshot (`mapping(address => uint256) withdrawnPerShare` combined with a per-account `lastAccumulated` checkpoint that is updated on *every* balance change), or (b) an EIP-4626-style share accounting where the share token itself carries the accounting. [continues]","rootCause",1],["2025-02-HegicOptions","Hegic V8888 Put Pool Exploit — Re-withdrawable Liquidity Tranche (withdrawWithoutHedge)","incident","DeFiHackLabs","2025-02","Ethereum",["vuln/logic/state-update","vuln/logic/missing-check"],["logic"],"Missing state guard — a \"closed\" liquidity tranche can be withdrawn an unlimited number of times because the tranche-state check is commented out and the tranche share is never zeroed",null,null,"~$104M reported total drain of the Hegic V8888 pools","The payout formula is `amount = (t.share * totalBalance) / totalShare`. On the first call `t.share / totalShare = 250000 / 110250000 = 1/441` of `totalBalance` (110,250,000 sat) = 250,000 sat. After the call, `totalShare` and `totalBalance` are both reduced by exactly the withdrawn quantities (`t.share` and `250000` respectively). On the next call `t.share` is unchanged (still `250000*1e20`) but it is now divided by the smaller `totalShare`. [continues]","rootCause",1],["2025-02-HenloKart","HenloKart native-token drain — zero-value race commitment funded from the victim balance, then immediately cancelled back to the attacker","incident","DeFiHackLabs","2025-02","Base",["vuln/logic/wrong-condition","vuln/logic/incorrect-state-transition","vuln/logic/missing-validation","vuln/dependency/unchecked-return-value"],["logic","dependency"],"A native-token (ETH) transfer helper used `from == msg.sender` as authorization to move ETH out of the contract's own balance instead of requiring `msg.value`, so a zero-value race commitment was recorded as fully funded; a simultaneously inverted lock-check in `cancelCommitment` then let the attacker cancel the bogus commitment in the same block and receive the \"refund\" from the victim's balance.",null,null,"0.59 ETH","1. `msg.value` was never bound to the ETH amount moved in the `from == msg.sender` branch of `transferEth`. That branch pays out of `address(this)` unconditionally; the only `msg.value` enforcement lives in the *other* branch, so a caller with `msg.value == 0` and `from == msg.sender` satisfies the \"deposit\" call for free. 2. `commitToRace` did not pre-validate `msg.value >= valueOwed` before routing through `Transfers`. [continues]","rootCause",1],["57791-h-01-attacker-can-make-his-vepeg-nft-unpokeable-pashov-audit","Hyperstable: a 1-wei dust vote makes a vePeg NFT unpokeable","audit-finding","AuditVault","2025-02","Ethereum",["vuln/arithmetic/rounding","vuln/governance/proposal-manipulation"],["arithmetic","governance"],"Dust weight rounds to zero and poke reverts",null,null,"Voting power stays 1,000 instead of the decayed 500","Poke scales every previously stored weight by `currentBalance / oldTotal`. A weight of 1 does not survive that division once the balance has fallen. The require treats a rounded-to-zero pool as a hard failure, so none of the NFT's voting power is updated.","rootCause",1],["55467-h-03-incorrect-proxy-address-tracking-misconfigures-usdxl-po","HypurrFi — the aToken proxy getter returns the implementation","audit-finding","AuditVault","2025-02",null,["vuln/logic/state-update","vuln/dependency/upgradeable-contract"],["logic","dependency"],null,null,"HypurrFi",null,"The deploy script keeps the implementation in `usdxlAToken` and a separate proxy in `usdxlATokenProxy`, then the getter that every later configuration call uses returns the implementation. Treasury updates, facilitator wiring, and mints all hit a contract the pool does not call. The proxy the reserve actually holds is left unconfigured.","rootCause",1],["2025-02-INVISTECH","INVISTECH buy-tax drained the AMM pair — fee-on-transfer tax charged from the pair's own reserves on every buy, breaking the constant-product invariant","incident","DeFiHackLabs","2025-02","BNB Chain",["vuln/defi/fee-manipulation","vuln/logic/fee-calculation","vuln/oracle/price-manipulation"],["defi","logic","oracle"],"A fee-on-transfer token whose `_transfer` deducts tax from the pair's own balance on buys, removing more tokens from the AMM pair than the swap recorded, which makes the pair's spot price trivially manipulable.",null,null,"~5.14 BNB","1. Tax taken from the wrong party on buys. The fee is debited from `sender`, and on a buy the `sender` *is the pair*. A correctly designed fee-on-transfer token should take the buy tax from the buyer (the `recipient`), not from the pair's own reserves. The author conflated \"the pair is involved in the trade\" with \"the pair is a trader.\" 2. The pair is `isPair == true`, not fee-excluded. `setPair(addr, true)` registers the pair as a taxable address instead of (or in addition to) excluding it. [continues]","rootCause",1],["58616-h-08-exchange-rate-calculation-is-incorrect-pashov-audit-gro","Kinetiq — Exchange rate calculation is incorrect","audit-finding","AuditVault","2025-02",null,[],["untagged"],"Cross-instance accounting inconsistency","high","Kinetiq — StakingManager + ValidatorManager",null,"PnL is protocol-global but stake/claim counters are per-manager. Dividing a hybrid numerator by global supply yields a rate that is neither the manager's local NAV nor the protocol NAV — and differs across managers whenever local stakes differ.","rootCause",1],["58615-h-07-exchange-rate-implementation-not-used-in-token-operatio","Kinetiq — Exchange rate implementation not used in token operations","audit-finding","AuditVault","2025-02",null,[],["untagged"],"Exchange-rate API unused in ops","high","Kinetiq — StakingManager",null,"Accounting views and state transitions diverged. The ratio reflects rewards/slashing, but share mint and redeem paths hardcode 1:1, so NAV changes do not adjust user claims.","rootCause",1],["58613-h-05-funds-can-be-permanently-locked-due-to-unsafe-type-cast","Kinetiq — Funds can be permanently locked due to unsafe type casting","audit-finding","AuditVault","2025-02",null,[],["untagged"],"Unsafe downcast truncates delegation amount","high","Kinetiq — StakingManager / L1Write",null,"Solidity's explicit cast to a smaller unsigned type truncates high bits (no revert). Values `>= 2^64` wrap in the low 64 bits; `2^64` itself becomes 0. Combined with unlimited `maxStakeAmount`, a single oversized stake bricks those funds while over-minting receipt tokens.","rootCause",1],["58614-h-06-some-stakers-may-fail-to-withdraw-staking-hype-pashov-a","Kinetiq — Some stakers may fail to withdraw staking HYPE","audit-finding","AuditVault","2025-02",null,[],["untagged"],"Buffer not used on exit (Lido-style buffer inverted)","high","Kinetiq — StakingManager buffer",null,"The buffer exists only on the deposit path. Exit logic treats every withdrawal as a validator exit, defeating the reserve and coupling user exits to the current validator's L1 balance (which may be empty after rebalance).","rootCause",1],["58610-h-02-validatormanager-missing-fund-withdrawal-from-validator","Kinetiq deactivateValidator leaves 1,000 HYPE on the validator","audit-finding","AuditVault","2025-02","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Deactivate records a request and never withdraws",null,null,"1,000 HYPE stays on the validator","The withdrawal request is only an accounting record. The HYPE sits on the validator account. Later closes of that request need the tokens to already be in the staking manager, and they revert because the manager balance is still zero.","rootCause",1],["57202-ownership-parameter-mismatch-in-lendingpools-vault-withdrawa","LendingPool withdraws Curve vault shares with the user as owner and the liquidity stays locked","audit-finding","AuditVault","2025-02","Ethereum",["vuln/dos/frozen-funds","vuln/access-control/missing-owner-check"],["dos","access-control"],"Vault `owner` is `msg.sender` after `deposit` minted the shares to `address(this)`",null,null,"100 crvUSD stuck in the Curve vault","The owner argument does not match the address that received the shares. The pool is `msg.sender` to the vault and the user is the `owner` argument, so the allowance check runs against an account that holds nothing.","rootCause",1],["49433-inflation-attack-mixbytes-none-liquorice-markdown","Liquorice: 67 inflation rounds make a 293 DAI deposit mint 1 share, and the attacker keeps 72.713 DAI","audit-finding","AuditVault","2025-02","Ethereum",["vuln/arithmetic/rounding","vuln/logic/missing-check"],["arithmetic","logic"],"Share mint is `amount * totalSupply / totalDeposits` with no virtual offset",null,null,"72.713 DAI taken from a 293 DAI deposit, about 25 percent","The share price is `totalDeposits / totalSupply` with a floor on the way in. One extra wei of deposits against one share starts a doubling recurrence. A later depositor whose amount is below two rates receives one share for almost two shares of assets, and the attacker redeems half.","rootCause",1],["57712-c-01-miscalculation-in-rewardswill-give-toomuchrewardstouser","Mystic Finance syncRewards: lastRewardAmount stores the cycle delta","audit-finding","AuditVault","2025-02",null,["vuln/logic/reward-calculation"],["logic"],null,null,null,null,"`lastRewardAmount` is supposed to track cumulative yield. The function stores only the latest delta. The next cycle subtracts that stale delta from a larger `yieldEth` and books too much. Cycle 1: yield 10, next 10, last becomes 10. Cycle 2: yield 20, next 10, last is stored as 10 instead of 20. Cycle 3: yield 30, next is 20. Accounted rewards are 40 against 30 of real yield.","rootCause",1],["53034-wrong-reward-distribution-formula-yt-holders-can-get-more-re","Napier: claiming YBT early pays Alice 56.25 rewards and Bob 43.75 for the same YT","audit-finding","AuditVault","2025-02","Ethereum",["vuln/logic/reward-calculation"],["logic"],"External rewards accrue as `totalAccrued / ytSupply`, ignoring YBT already claimed out of the PT",null,null,"Bob receives 43.75 reward tokens instead of 50","The YT index assumes every reward-bearing YBT is still inside the PT and that the whole accrual is shared by YT balances. Claiming YBT moves principal out of the PT without reducing the claimer's YT share. The removed YBT then earns its own rewards, and the smaller PT accrual is still divided by the original YT supply.","rootCause",1],["57145-multiple-delegation-by-double-spending-boosts-and-lack-of-de","One 100 veRAAC balance is delegated twice and claims 200 reward tokens","audit-finding","AuditVault","2025-02","Ethereum",["vuln/logic/state-update","vuln/logic/reward-calculation"],["logic"],"Delegation stored without deducting the caller's remaining boost",null,null,"200 reward tokens paid for 100 veRAAC","The ve balance is an upper bound checked on each call, not a balance that is spent. `totalDelegated` therefore grows by `amount` on every new recipient, and `claimRewards` transfers that sum out of the reward pot.","rootCause",1],["2025-02-LimitOrderProtocol","OpenOcean Limit Order Protocol — unrestricted transferTokens() drains any pre-approved maker","incident","DeFiHackLabs","2025-02","Base",["vuln/access-control/missing-modifier","vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"The public `transferTokens(token, from, to, amount)` helper carries no access-control modifier, so any caller can spend any ERC-20 allowance that a maker has granted to the protocol proxy.",null,null,"2,800,000 BRAINS","1. Wrong visibility / missing modifier on `transferTokens`. The helper performs a privileged action (a `transferFrom` where the *proxy* is the spender) but is declared `external` with no `onlyOperator`/`onlyOwner` gate. It should have been `internal`, or at minimum `onlyOperator` like its only legitimate caller `swap()`. 2. Self-call pattern masked the intended scope. `swap()` calls `this.transferTokens(...)` (an external self-call) rather than an internal function reference. [continues]","rootCause",1],["50077-malicious-tokens-can-be-deployed-at-deterministic-addresses","Optimism Interop — malicious tokens at deterministic addresses steal cross-chain funds","audit-finding","AuditVault","2025-02","Optimism",["vuln/access-control/misplaced-trust","vuln/cross-chain/address-assumption","vuln/loss-of-funds/unbacked-mint"],["access-control","cross-chain","loss-of-funds"],"Misplaced trust in a cross-chain address assumption, enabled by deployer-independent CREATE2 + `initialize()`-based supply allocation","high","Optimism Interop — `SuperchainTokenBridge` + `SuperchainERC20`",null,"The bridge equates \"same token\" with \"same address,\" and the address is a pure function of `(factory, salt, initCode)` — none of which is bound to a trusted deployer. Any token whose identity/ownership/supply is set after the constructor (via `initialize()`, or via a hardcoded address) can be re-deployed with identical code at the identical address on a different chain, with a different party claiming its supply. The bridge then honors the attacker's contract as the canonical token.","rootCause",1],["2025-02-PeapodsFinance","Peapods Finance Exploit — Permissionless depositFromPairedLpToken() Forced Swap at Manipulated Spot Price","incident","DeFiHackLabs","2025-02","Ethereum",["vuln/access-control/missing-auth","vuln/oracle/spot-price"],["access-control","oracle"],"Permissionless forced swap + spot-vs-TWAP slippage bypass (caller-controlled `_slippageOverride`)",null,null,"~$3,500","`depositFromPairedLpToken` lets an untrusted caller both *trigger* a market sell of the protocol's treasury and *choose how much price impact is acceptable*. The slippage protection that should have bounded the execution price to the TWAP is rendered inert by the attacker-supplied `_slippageOverride = 999`. With `sqrtPriceLimitX96 = 0`, the swap then executes against the live spot price of the V3 pool — a price the attacker can move at will within the same transaction. [continues]","rootCause",1],["57160-gauge-period-cannot-be-updated-codehawks-regnum-aurum-acquis","RAAC gauge: distribute() never calls updatePeriod, so 1000 RAAC stays unclaimable","audit-finding","AuditVault","2025-02","Ethereum",["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],"`notifyRewardAmount` runs without `updatePeriod`, so an expired period still fills the emission cap",null,null,"1000 RAAC stuck in the gauge","The period roll is a separate `onlyController` function, and the only controller entry point that notifies rewards does not call it. After one period of emissions, `distributed` stays at the cap forever. Further notifies revert. Tokens already transferred to the gauge are not accounted, so `claim` pays nothing.","rootCause",1],["57190-rtoken-is-not-interest-bearing-due-to-broken-liquidity-index","RAAC RToken burn pays 1000 principal and leaves 1000 of interest in the contract","audit-finding","AuditVault","2025-02","Ethereum",["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],"`burn` computes `amount.rayMul(index)` and then transfers `amount`",null,null,"1000 crvUSD of interest not paid","The interest-bearing conversion is computed and then discarded. Both the burn amount and the underlying payout use the pre-index figure. A depositor cannot receive the index growth that the pool has already accounted as assets.","rootCause",1],["57192-double-usage-index-scaling-in-stabilitypool-liquidation-infl","RAAC StabilityPool: liquidateBorrower scales debt by the usage index twice and the liquidation reverts","audit-finding","AuditVault","2025-02","Ethereum",["vuln/logic/liquidation-logic","vuln/logic/wrong-condition"],["logic"],"`getUserDebt` already includes the usage index, and `rayMul` applies it again",null,null,"Liquidation reverts","The debt is normalized in the lending pool and then treated as raw principal in the stability pool. The balance check therefore asks for `debt * index^2`. The index only increases, so the gap grows until liquidation is impossible even when the pool can pay the real debt.","rootCause",1],["57207-treasury-balance-tracking-bypass-in-feecollector-codehawks-r","RAAC: fee distribution safeTransfers 1000 RAAC into a Treasury that cannot withdraw it","audit-finding","AuditVault","2025-02","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Direct token transfer skips `Treasury.deposit`",null,null,"1000 RAAC locked in the Treasury","The Treasury's solvency check is an internal counter, not `balanceOf`. A raw ERC-20 transfer updates only the token. The fee admin is doing the intended distribution, and still cannot recover the tokens.","rootCause",1],["57155-raacnft-mint-function-receives-funds-to-addressthis-but-has","RAAC: minting an NFT locks the 5 crvUSD price inside the NFT contract","audit-finding","AuditVault","2025-02","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Payment is pulled to `address(this)` and nothing can withdraw it",null,null,"5 crvUSD of the mint price stays in RAACNFT","The price is taken as custody of the NFT contract, and the only outbound transfer in `mint` is the refund of the overpayment. After that line the price has no path out.","rootCause",1],["57138-wrong-amount-is-minted-to-user-when-they-deposit-into-the-le","RAAC: minting the underlying amount lets a 1000 deposit withdraw 1100","audit-finding","AuditVault","2025-02","Ethereum",["vuln/logic/state-update","vuln/logic/price-calculation"],["logic"],"`_mint` receives the underlying amount instead of the scaled share",null,null,"Attacker deposits 1000 USD and withdraws 1100","The token balance is later treated as a scaled share and multiplied by the liquidity index. Writing the underlying amount into that balance makes every later index above 1e27 pay more assets than were deposited.","rootCause",1],["57151-zeno-token-redemption-returns-negligible-usdc-amount-compare","RAAC: redeeming 100 ZENO pays 0.0001 USDC and leaves 99.9999 USDC in the contract","audit-finding","AuditVault","2025-02","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],"Whole-bond amount is transferred as 6-decimal USDC units",null,null,"Holder paid 9,999.8959 USDC for 100 bonds and is paid 100 USDC base units","The bond count and the USDC base unit are treated as the same integer. One bond of face value is 1 USDC, which is `106` base units, not 1.","rootCause",1],["65088-h-01-missing-signature-duplication-check-in-the-submitcheckp","Recall — [H-01] Missing signature duplication check in submitCheckpoint","audit-finding","AuditVault","2025-02",null,[],["untagged"],null,"high","Recall (IPC / subnet actor)",null,"Single weight-6 validator forges majority quorum by repeating itself in signatories[]","tldr",1],["65091-h-04-an-attacker-can-overflow-the-count-of-messages-in-a-bot","Recall — [H-04] Overflow count of messages in bottom-up batch","audit-finding","AuditVault","2025-02",null,[],["untagged"],null,"high","Recall (IPC / subnet actor)",null,"Overpopulated cut batch permanently fails ensureValidCheckpoint — bottom-up halt","tldr",1],["65092-h-05-incorrect-supply-fund-transferral-in-function-leave-can","Recall — [H-05] Incorrect supply fund transferral in leave()","audit-finding","AuditVault","2025-02",null,[],["untagged"],null,"high","Recall (IPC / subnet actor)",null,"leave() pays genesisBalance as ETH collateral instead of supply ERC20 — drains other validators","tldr",1],["65093-h-06-reentrancy-in-function","Recall — [H-06] Reentrancy in leave() leads to halting of bottom-up checkpoints","audit-finding","AuditVault","2025-02",null,[],["untagged"],null,"high","Recall (IPC / subnet actor)",null,"Reentrancy via genesis ETH refund + unguarded stake() bootstraps mid-leave; confirmDeposit reverts forever","tldr",1],["65094-h-07-incorrect-loop-indexing-in-libaddressstakingreleasescom","Recall — [H-07] Incorrect loop indexing in compact()","audit-finding","AuditVault","2025-02",null,[],["untagged"],null,"high","Recall (IPC / subnet actor)",null,"while (i < length) never enters when startIdx > pending length — claimable collateral locked","tldr",1],["65096-h-09-cross-msg-recipient-can-block-checkpoint-submission-cod","Recall — [H-09] Cross msg recipient can block checkpoint submission","audit-finding","AuditVault","2025-02",null,[],["untagged"],null,"high","Recall (IPC / subnet actor)",null,"Unbounded returndata from IPC recipient gas-bombs checkpoint execution under remaining gas","tldr",1],["55111-h-01-overwriting-collateral-breaks-collateral-gains-logic-pa","Roots — [H-01] Overwriting collateral breaks collateral gains logic","audit-finding","AuditVault","2025-02",null,[],["untagged"],"Incomplete state wipe on index reuse","high","Roots — `StabilityPool` collateral enable / gains",null,"1. Alice accrues coll-A gains on stability-pool index 0 and leaves them unclaimed. 2. Coll A is sunset; coll C is enabled and reuses index 0. 3. Product sums for index 0 are zeroed; Alice's pending gain mapping is not. 4. Alice claims index 0 and is paid in coll-C tokens for her coll-A leftover, draining the pool. 5. Bob's coll-C claim reverts (`transfer amount exceeds balance`).","tldr",1],["55114-h-04-borrowers-fail-to-claim-their-surplus-collateral-pashov","Roots — surplus collateral claim reverts and 6 stays in the staker","audit-finding","AuditVault","2025-02",null,["vuln/logic/liquidation-logic","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Roots TroveManager",null,"The surplus number is stored on the trove manager. The tokens are not. They were deposited into the staker. A plain ERC-20 transfer uses the caller's balance, which is the trove manager's, and that balance is 0.","rootCause",1],["55115-h-05-incorrect-activateboost-interface-is-used-pashov-audit","Roots Staker — the wrong activateBoost selector leaves a 7 reward unpaid","audit-finding","AuditVault","2025-02",null,["vuln/logic/wrong-condition","vuln/logic/reward-calculation"],["logic"],null,null,"Roots Staker / BGT",null,"The interface has one address argument. The BGT function has two: the user and the validator pubkey. The call cannot succeed, so a queued boost is never activated and the reward is never transferred.","rootCause",1],["55110-c-01-incorrect-interface-used-for-gauge-contract-in-staker-p","Roots Staker — the wrong getReward selector leaves 5 collateral stuck","audit-finding","AuditVault","2025-02",null,["vuln/dependency/unsafe-external-call","vuln/dos/frozen-funds"],["dependency","dos"],null,null,"Roots Staker",null,"The interface was copied from a gauge. The deployed reward vault is Bera's RewardVault, whose `getReward` takes the account and the recipient. A one-argument call hits no function and reverts. Every action that updates rewards, including withdraw, reverts with it.","rootCause",1],["55116-h-06-bgt-stake-rewards-are-locked-pashov-audit-group-none-ro","Roots Staker stakes BGT into BGTStaker and then cannot claim the HONEY","audit-finding","AuditVault","2025-02",null,["vuln/dos/frozen-funds","vuln/logic/reward-calculation","vuln/dos/lockup"],["dos","logic"],"Rewards booked to a contract that never calls `getReward`","high","Roots",null,"The staking account and the account allowed to pull HONEY are the same address, and that address is a contract with no call to `getReward`. Users cannot pass themselves as `msg.sender` of a call the Staker never makes. The balance sits in `BGTStaker` until something in the Staker's code asks for it.","rootCause",1],["55112-h-02-stale-totalactivedebt-used-in-opentrove-causing-incorre","Roots TroveManager — openTrove writes stale totalActiveDebt","audit-finding","AuditVault","2025-02",null,["vuln/logic/state-update","vuln/logic/incorrect-order-of-operations"],["logic"],null,null,"Roots TroveManager",null,"The cache is taken before the accrual and used after it. The cap check and the stored total both miss the interest that the same transaction just added, so a trove that should hit `maxSystemDebt` still opens.","rootCause",1],["2025-02-Scorch","Scorch OTC scorch() drains ETH via manipulated spot getAmountsOut quote — on-chain price manipulation in a burn-for-ETH function","incident","DeFiHackLabs","2025-02","Ethereum",["vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/logic/price-calculation","vuln/defi/flash-loan-attack"],["oracle","logic","defi"],"A burn-for-ETH function prices the ETH payout with a live Uniswap V2 `getAmountsOut()` spot quote taken from a pool the caller can arbitrarily reprice within the same transaction; no TWAP, no commit-window, and no sanity check on the moving reserves.",null,null,"~0.14 ETH on-chain","1. Manipulable spot oracle. `scorch()` derives the ETH payout from `getAmountsOut` on the OTC/WETH Uniswap V2 pair. AMM spot reserves are not an oracle — they are state any external actor can move within the same transaction by swapping in the pair. The contract treats them as a trustworthy price. 2. No same-block protection. There is no TWAP, no commit/reveal, no minimum blocks-elapsed between swaps in the pair and a `scorch()` call, and no check that the caller did not just modify the pair reserves. [continues]","rootCause",1],["2025-02-StepHeroNFTs","StepHeroNFTs Exploit — Reentrancy in claimReferral() Drains the Marketplace's BNB","incident","DeFiHackLabs","2025-02","BNB Chain",["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Classic reentrancy — external `call` paying out before the referral balance is zeroed (CEI violation)",null,null,"137.9 BNB","A single Checks-Effects-Interactions violation: `claimReferral` performs the external native-BNB transfer (Interaction) to an attacker-controlled address before it sets the referral balance to zero (Effect), and the function has no reentrancy guard. Because the payout target is `msg.sender` (a contract with a malicious `receive()`), control returns to the attacker mid-withdraw, while `referralBalance[attacker]` is still `3 ether`. [continues]","rootCause",1],["54896-incorrect-ft-reserve-used-in-buytoken-leads-to-incorrect-ft","Term Structure: a buy ignores the FT just minted and opens 100 extra of GT debt","audit-finding","AuditVault","2025-02","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/logic/state-update"],["logic"],"The transient FT reserve is read after `market.mint` but still holds the pre-mint balance",null,null,"160 FT of GT debt is opened","The transient reserve is the balance from the start of the swap. `market.mint` increases the balance by `debtTokenAmtIn` and does not write the transient word. The later comparison therefore treats freshly minted FT as missing and borrows it again through `issueFt`.","rootCause",1],["54895-the-totalft-and-accretingprincipal-are-updated-incorrectly-i","Term Structure: withdrawAssets subtracts the withdrawal twice and locks the rest","audit-finding","AuditVault","2025-02","Ethereum",["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],"`_totalFt` and `_accretingPrincipal` are decremented twice when cash covers the withdrawal",null,null,"150 FT stuck after a 200 FT deposit and a 50 FT withdrawal","The sufficient-balance branch updates the totals, and the lines that were meant for the other branch still run afterward.","rootCause",1],["55397-h-2-the-user-can-send-tokens-to-any-address-by-using-two-bri","THORWallet — Bridge path bypasses TITN transfer lock — send to any address","audit-finding","AuditVault","2025-02",null,[],["untagged"],null,"high","THORWallet",null,"Bridge path bypasses TITN transfer lock — send to any address. Harm demonstrated: Transfer-lock invariant broken: bridge credits tokens to arbitrary recipient.","tldr",1],["55396-h-1-mergetgt-has-no-handling-if-tgttoexchange-is-exceeded-du","THORWallet — MergeTgt has no deposit cap vs TGT_TO_EXCHANGE — late claimers stuck","audit-finding","AuditVault","2025-02",null,[],["untagged"],null,"high","THORWallet",null,"MergeTgt has no deposit cap vs TGT_TO_EXCHANGE — late claimers stuck. Harm demonstrated: Over-subscribed TGT deposits leave late claimers unable to redeem TITN.","tldr",1],["52680-no-token-distribution-in-batchrelease-due-to-premature-state","Treasury Vesting — batchRelease updates state before transfer, users get nothing","audit-finding","AuditVault","2025-02",null,["vuln/logic/checks-effects-misapplied","vuln/vesting/skipped-transfer"],["logic","vesting"],"Mis-applied checks-effects-interactions (effects before caching transfer amounts)","high","Treasury Vesting / BlockDAG",null,"Transfer amounts were not cached; CEI was applied by splitting loops without preserving the amounts to send.","rootCause",1],["2025-02-unverified_35bc","Unverified \"Slot\" Staking Contract — releaseSlot() Reentrancy BNB Drain","incident","DeFiHackLabs","2025-02","BNB Chain",["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Classic reentrancy — checks-effects-interactions violation in a \"refund\" function (external value transfer before state is cleared)",null,null,"~$6,700","A textbook reentrancy via the checks-effects-interactions anti-pattern: 1. External call before state update. `releaseSlot` pushes the refund to `msg.sender` *first*, then clears the slot. While that external call is executing, the slot is still `active` and still records its 0.6 BNB amount. 2. No reentrancy guard. There is no `nonReentrant` mutex; re-entering `releaseSlot` for the same `slotId` re-passes the `active` check and re-reads the unchanged amount. 3. Refund amount is per-slot, not balance-aware. [continues]","rootCause",1],["2025-02-Venus_ZKSync","Venus (zkSync Era) Exploit — wUSDM ERC4626 Donation → Oracle Price Inflation → Self-Liquidation Drain","incident","DeFiHackLabs","2025-02","zkSync",["vuln/oracle/price-manipulation","vuln/arithmetic/rounding"],["oracle","arithmetic"],"ERC4626 inflation / donation attack on an oracle price feed; manipulable spot-rate oracle used in liquidation math",null,null,"86.72 WETH ≈ $201,600 extracted by the attacker","The single root cause is using an instantaneous, externally-manipulable ERC4626 share rate as a price oracle for a borrowable/collateral asset, with no manipulation resistance. Three design decisions compose into the exploit: 1. `totalAssets()` = raw `balanceOf`. wUSDM (like stock OZ ERC4626) values itself by its own token balance, which anyone can inflate with a plain transfer. This is the textbook ERC4626 donation/inflation surface. 2. The oracle trusts that rate verbatim. [continues]","rootCause",1],["57208-attackers-can-double-voting-power-and-vetoken-amount-by-lock","veRAAC: a dust lock plus increase mints almost twice the voting power","audit-finding","AuditVault","2025-02","Ethereum",["vuln/logic/state-update"],["logic"],"`increase` adds `amount` twice when it computes bias",null,null,"100 RAAC mints 199.999999999999999999 veRAAC and the same voting power","The lock manager and the bias update both add the same `amount`. The recommended diff in the report drops the extra `+ amount` and passes `userLock.amount` alone into `calculateAndUpdatePower`.","rootCause",1],["57158-users-can-overwrite-existing-locks-in-veraactoken-resulting","veRAACToken: a second lock() overwrites the position and strands 500 RAAC","audit-finding","AuditVault","2025-02","Ethereum",["vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],"createLock replaces `locks[user]` and never returns the tokens already held",null,null,"500 RAAC left in veRAACToken with no lock record","`createLock` is an unconditional write. The previous `amount` is not subtracted from `totalLocked` and is not returned. After the overwrite the contract's RAAC balance is the sum of both deposits, and the user's record is only the latest one.","rootCause",1],["2025-01-98Token","98Token (\"98#\") Exploit — Unprotected public swapTokensForTokens() Drains the Contract's Token Reserve","incident","DeFiHackLabs","2025-01","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/slippage"],["access-control","defi"],"Missing access control — internal helper exposed as `public` (unprotected function)",null,null,"~$28K — 27,995.39 USDT swept out of the USDT/98# PancakeSwap pair","The exploit composes three independent design facts that are each harmless alone: 1. A swap helper spending the contract's own balance is `public`. `swapTokensForTokens` has no `onlyOwner`, no `internal`, no `msg.sender` check. Anyone can call it. 2. The recipient is fully caller-controlled. The `to` argument is forwarded verbatim to the router, so the swap proceeds — `Main`'s tokens go in, the attacker's address comes out. 3. The contract pre-approved the router for `type(uint256).max` and holds a large inventory. [continues]","rootCause",1],["45977-h-2-invariantlib-uses-current-position-for-margin-check-allo","A position cut from 10 to 5 passes the margin check and is liquidated for 15 DSU","audit-finding","AuditVault","2025-01","Ethereum",["vuln/logic/liquidation-logic","vuln/logic/wrong-condition"],["logic"],"The margin check uses the pending current size while liquidation still uses the latest settled size",null,null,"15 DSU paid to the liquidator","The update is allowed to treat the pending size as if it were already the risk. Liquidation does not. A user can withdraw the collateral that the new size would justify, while the size that can still be liquidated is the old one. The account is healthy and liquidatable at the same time.","rootCause",1],["48699-abacus-clear-unused-bond","Abacus clearUnusedBond drains credits — AuditVault 48699","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-modifier","vuln/logic/state-update"],["access-control","logic"],null,null,null,null,"clearUnusedBond lacks the bond-owner restriction and can erase all outstanding credit bonds.","tldr",1],["48701-abacus-past-closure-adjustment","Abacus past-closure adjustment bypass — AuditVault 48701","audit-finding","AuditVault","2025-01",null,["vuln/reentrancy/single-function","vuln/logic/missing-check"],["reentrancy","logic"],null,null,null,null,"adjustTicketInfo does not reject a ticket whose closure has already been finalized.","tldr",1],["48698-abacus-token-mapping","Abacus tokenMapping inconsistency — AuditVault 48698","audit-finding","AuditVault","2025-01",null,["vuln/logic/missing-validation","vuln/logic/incorrect-state-transition"],["logic"],null,null,null,null,"The registration path writes tokenMapping but updates a different existence key, so lookups disagree.","tldr",1],["48700-abacus-locked-ether-transfer","Abacus transferFrom drops locked ether — AuditVault 48700","audit-finding","AuditVault","2025-01",null,["vuln/logic/state-update","vuln/logic/incorrect-state-transition"],["logic"],null,null,null,null,"Position ownership moves without moving the corresponding ethLocked amount.","tldr",1],["2025-01-IPC","AI IPC Token Exploit — Sell-Triggered Pool Burn (_destroy) Drains the AMM Reserve","incident","DeFiHackLabs","2025-01","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/oracle/price-manipulation"],["logic","oracle"],"Broken AMM invariant — token `_transfer` hook burns from the pool and `sync()`s on every sell",null,null,"~591,933 USDT","A Uniswap-V2/PancakeSwap pair prices assets from its reserves and enforces `x·y ≥ k` only inside `swap()`. `sync()` exists so the pair can adopt its real token balances as reserves — it trusts that balances only change through `mint`/`burn`/`swap` and ordinary transfers it can reason about. `_destroy` violates that trust in the worst way: It destroys IPC held by the pair (`balances[pair] -= burnNum`) and then calls `pair.sync()`, telling the pair \"your IPC reserve is now `1e18`.\" No USDT leaves the pair. [continues]","rootCause",1],["2025-01-AIXBTForcedSwap","AIXBT Forced-Swap Exploit — Public \"Auth-Key\" Selector Swaps Victim's Whole Balance into Attacker LP","incident","DeFiHackLabs","2025-01","Base",["vuln/access-control/secret-exposure","vuln/access-control/missing-auth"],["access-control"],"Broken access control on a \"swap whole balance\" selector — the auth `key` is a public bytecode constant (`keccak256(\"1205060227\")`), and the selector accepts caller-supplied pool / tokenOut / recipient params with no price floor",null,null,"13,598.795675 USDC","Three independent design failures stack into the drain: 1. The \"auth key\" is not a secret. Embedding `keccak256(\"1205060227\")` as a bytecode constant means anyone who reads the contract (or its decompilation) possesses the \"credential\". A gate whose key is public is no gate. The intended principals (`runner`, `owner`) are irrelevant once the public-key branch exists. 2. The selector swaps the victim's *whole* balance into *caller-chosen* pools. [continues]","rootCause",1],["57187-any-attempt-to-liquidate-a-user-will-fail-because-stabilityp","Any attempt to liquidate a user will fail — StabilityPool never holds crvUSD","audit-finding","AuditVault","2025-01",null,[],["untagged"],"Liquidity source mismatch / broken liquidation path","high","Core contracts (Codehawks) — `StabilityPool.liquidateBorrower`",null,"1. Operational deposits route crvUSD into the reserve, never into the StabilityPool. 2. A borrower has outstanding debt and should be liquidatable. 3. `liquidateBorrower` reads SP's crvUSD balance (always 0) and reverts `InsufficientBalance`. 4. Debt remains; solvency invariant is broken.","tldr",1],["2025-01-Ast","AST Token Exploit — Faulty transfer Liquidity-Tracking Burns Pool Reserves Twice","incident","DeFiHackLabs","2025-01","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["logic"],"Broken AMM invariant via faulty fee-on-transfer \"liquidity tracking\" that burns pool reserves on `skim`",null,null,"~$65,000","The token tries to re-implement LP accounting from inside an ERC20 transfer hook, but it conflates three unrelated things: A token contract cannot reliably tell \"this transfer is a liquidity removal\" by looking at balances. `checkLiquidityAdd` increments `lastBalance[user]` on *any* BUSD inflow to the pair (not on an actual LP mint by `user`), and `checkLiquidityRm` then declares a \"removal\" whenever `user`'s LP balance is below that phantom number — which is trivially true for a user who never minted LP. [continues]","rootCause",1],["55214-h-03-incorrect-recipient-results-in-the-inability-to-properl","Burve — island shares are minted to the user, so redeem cannot burn them","audit-finding","AuditVault","2025-01",null,["vuln/logic/incorrect-state-transition","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Burve",null,"The island branch uses the user as the share recipient, while every later burn assumes the Burve is the holder. The shares and the burn target disagree, so the underlying cannot move back out through `redeem`.","rootCause",1],["55208-c-01-incorrect-parenthesis-usage-results-in-a-completely-wro","Burve Edge — the below-range ratio pays 0 instead of 5","audit-finding","AuditVault","2025-01",null,["vuln/arithmetic/precision-loss","vuln/logic/price-calculation"],["arithmetic","logic"],null,null,"Burve",null,"The shift amount is `128 / y` rather than a shift of 128 followed by division by y. For any y above 128 the shift amount rounds to 0 and the ratio collapses to `x << 64`.","rootCause",1],["55212-h-01-missing-transfer-of-tokens-before-islandmint-pashov-aud","Burve mints island LP without taking the underlying","audit-finding","AuditVault","2025-01",null,["vuln/logic/incorrect-order-of-operations","vuln/logic/missing-validation"],["logic"],"Shares minted before the token transfer that should fund them","high","Burve",null,"Share issuance and funding are different steps. `Island.mint` trusts that the caller has already delivered underlying. `Burve.mint` is that caller and skips the delivery, so the share credit is not backed.","rootCause",1],["55210-c-03-unrestricted-diamondcut-allows-unauthorized-facet-modif","Burve SimplexDiamond — Unrestricted diamondCut allows unauthorized facet modifications","audit-finding","AuditVault","2025-01",null,[],["untagged"],"Missing access control on diamond upgrade surface","high","Burve — SimplexDiamond (EIP-2535)",null,"EIP-2535 upgrade entrypoint registered without an owner/admin guard.","rootCause",1],["55211-c-04-draining-approved-tokens-by-unrestricted-uniswapv3mintc","Burve's mint callback pulls any approved balance into the pool","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Callback with no caller check spends a third party's approval","high","Burve",null,"Uniswap calls this callback on the minting contract, and the pool is the only caller that should be able to name `amount0Owed` and `amount1Owed`. Without that check, `source` and the amounts are attacker-controlled, and the victim's existing approval is the only permission the transfer needs.","rootCause",1],["57871-h-04-fee-theft-via-arbitrary-contract-impersonation-in-colle","collect() trusts an arbitrary DAO contract — AuditVault synthetic reduction","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],null,"high","Daoslive",null,"The report describes a high-risk bug in the `DaosLocker::collect()` function, which can be exploited by a malicious actor to steal swap fees from legitimate DAOs. This can be done by deploying a fake contract that mimics the original `DaosLive` contract and calling `collect()` using this fake contract. The bug is caused by a lack of authorization checks and contract ownership verification in the affected code. [continues]","tldr",1],["49882-h-01-sale-token-amount-is-not-adjusted-per-its-decimals-pash","DefiApp — sale tokens are not scaled to 18 decimals","audit-finding","AuditVault","2025-01",null,["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],"Missing decimal scale on the sale-token output","high","DefiApp `PublicSale`",null,"USDC has 6 decimals and the price is scaled by `1e18`. `(amount * 1e18) / price` lands on 6-decimal precision. An 18-decimal token needs another `10^(18-6) = 1e12`. The function returns the unscaled value, and `depositUSDC` transfers that value out of the sale inventory.","rootCause",1],["53108-incorrect-margin-calculation-due-to-inconsistent-realized-an","DESK / HMX — Incorrect margin calculation due to inconsistent realized and unrealized balances","audit-finding","AuditVault","2025-01",null,["vuln/logic/liquidation-logic"],["logic"],"Inconsistent collateral-factor application across realized vs unrealized settlement balances","high","DESK / HMX — `LiquidationHandler` margin calculation",null,"1. Liquidation margin = `getSubaccountTotalMargin` (realized, CF already applied) + unsettled PnL. 2. Unsettled PnL only gets the collateral factor when positive; negative unsettled is left raw. 3. Realizing part of a loss changes the realized/unrealized split without changing net equity — but the reported margin jumps. 4. With CF=0.9 and MMR=45: position A (realized 600, uPnL −500) → margin 40 (liquidatable); after realizing 100 → margin 50 (safe). Same economics, opposite liquidation outcome.","tldr",1],["53328-h-10-validatesignature-does-not-properly-handle-address0-pa","DynamicAccount accepts address(0) from ecrecover and pays out","audit-finding","AuditVault","2025-01","Ethereum",["vuln/auth/signature-validation","vuln/access-control/missing-auth"],["auth","access-control"],"`ecrecover` zero address compared to an unset agent",null,null,"1000 USDC moved on a zero signature","`ecrecover` returns `address(0)` when the signature is not a valid point. An unset `agents(0)` is the same value. Comparing them with `==` accepts every invalid signature whenever the account has not registered an agent. `isAdmin(address(0))` is false, so the zero signer falls through to that comparison.","rootCause",1],["61411-h-01-no-check-for-userop-and-userophash-mismatch-nor-the-val","Etherspot CredibleAccountModule — [H-01] no check for userOp / userOpHash mismatch nor sender validity","audit-finding","AuditVault","2025-01",null,[],["untagged"],"Missing authentication / hash binding on ERC-4337 validation entrypoint","high","Etherspot — `CredibleAccountModule`",null,"ERC-4337's EntryPoint is expected to be the only caller of `validateUserOp` and to supply a correctly bound hash. The module trusted that ambient guarantee instead of enforcing it. Direct external calls therefore get full session-claim side effects with attacker-chosen `msg.sender`.","rootCause",1],["62848-h-01-sessionkey-owner-impersonate-session-key-owner","Etherspot CredibleAccountModule — session owner can consume a sibling session","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-owner-check","vuln/auth/signature-validation"],["access-control","auth"],null,null,null,null,"The authorization domain omits the session key parameter. A signature produced by SESSION_TWO is accepted for a call that names SESSION_ONE.","rootCause",1],["62847-c-01-sessionkey-owner-drain-smart-wallet","Etherspot CredibleAccountModule — session-key approval drains the wallet","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-owner-check","vuln/logic/missing-validation"],["access-control","logic"],null,null,null,null,"The selector allowlist treats all `approve` calls as equivalent and does not decode the spender (or amount). A valid session signature consequently grants an unlimited delegated-transfer primitive.","rootCause",1],["62850-h-03-users-escape-paying-tx-gas","Etherspot GasTankPaymaster — user withdraws before sponsored gas repayment","audit-finding","AuditVault","2025-01",null,["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],null,null,null,null,"The balance used for withdrawal is not reduced or locked when `postOp` records gas. A later withdrawal can race the administrative repayment.","rootCause",1],["61409-c-07-resource-lock-validator-signature-proof-replay","Etherspot ResourceLockValidator — replayable signature proof","audit-finding","AuditVault","2025-01",null,["vuln/bridge/replay","vuln/auth/signature-replay"],["bridge","auth"],null,null,null,null,"The validator treats the EntryPoint nonce as sufficient even though the signed hash is reconstructed from ResourceLock call data only. No proof hash is stored as consumed, so a fresh nonce does not create a fresh authorization.","rootCause",1],["44335-incorrect-logic-in-gaugev1notifyrewardamount-mixbytes-none-e","EYWA — notifyRewardAmount pays stakers 200 EYWA instead of 1,000","audit-finding","AuditVault","2025-01",null,["vuln/logic/reward-calculation"],["logic"],null,null,"EYWA",null,"The campaign is sized off the gauge's token balance at the start of the call, and the function never moves `amount_` in. A gauge with a leftover balance campaigns that leftover. A gauge with a zero balance campaigns nothing, even when `amount_` is large. Either way the notified amount is not what stakers receive. Here the leftover is smaller than the notification, so stakers are underpaid.","rootCause",1],["44334-eywa-escrow-reentrancy","EYWA EscrowManager reentrancy — AuditVault 44334","audit-finding","AuditVault","2025-01",null,["vuln/reentrancy/single-function","vuln/logic/state-update"],["reentrancy","logic"],null,null,null,null,"Escrow performs the external receiver callback before its accounting transition, allowing nested withdrawals.","tldr",1],["44337-eywa-poke-dos","EYWA EscrowVoteManager poke DoS — AuditVault 44337","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-owner-check","vuln/dos/griefing"],["access-control","dos"],null,null,null,null,"poke accepts a token ID owned by another account and lets an untrusted caller poison vote state.","tldr",1],["61079-folks-borrow-balance","Folks Finance borrow balance omits interest — AuditVault 61079","audit-finding","AuditVault","2025-01",null,["vuln/logic/incorrect-state-transition","vuln/arithmetic/precision-loss"],["logic","arithmetic"],null,null,null,null,"getLoanLiquidity reports only principal and drops accrued interest from the borrow balance.","tldr",1],["61051-folks-unlimited-loan-health","Folks Finance loan-health underestimation — AuditVault 61051","audit-finding","AuditVault","2025-01",null,["vuln/logic/liquidation-logic","vuln/arithmetic/precision-loss"],["logic","arithmetic"],null,null,null,null,"The health calculation overstates collateral capacity and permits an outsized loan for a minimal deposit.","tldr",1],["61091-folks-liquidation-mixing","Folks Finance mixes stable and variable debt — AuditVault 61091","audit-finding","AuditVault","2025-01",null,["vuln/logic/liquidation-logic","vuln/logic/incorrect-state-transition"],["logic"],null,null,null,null,"Liquidation merges stable debt into the variable bucket, changing the borrower’s debt semantics.","tldr",1],["53302-h-01-swap-is-vulnerable-to-sandwich-attacks-pashov-audit-gr","Gacha _swap sets its own slippage floor from the spot price","audit-finding","AuditVault","2025-01","Ethereum",["vuln/defi/sandwich-attack","vuln/defi/slippage"],["defi"],"Slippage floor computed from the in-transaction spot quote",null,null,"Buyer receives 41,591 MEME, which is 44,536 below the 86,127 stated minimum","The floor is a function of the reserves at the moment `_swap` runs. Those reserves are public pool state. Nothing in the function binds the floor to a quote the buyer signed before the searcher's trade. The 5% band only limits slippage against the already-moved price.","rootCause",1],["53301-c-01-incorrect-reserve-order-in-swap-pashov-audit-group-non","GachaTickets — swap quotes the reserves in the wrong order","audit-finding","AuditVault","2025-01",null,["vuln/logic/price-calculation","vuln/logic/incorrect-order-of-operations"],["logic"],null,null,"GachaTickets",null,"Uniswap V2 reserve order is address order, not the order of the tokens the caller cares about. Binding `getReserves()` positionally to payment-then-token is correct only when the payment token is token0.","rootCause",1],["55404-c-01-unauthorized-access-to-burn-gotcha-token-pashov-audit-g","GachaToken — anyone can burn another holder's Gotcha tokens","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],null,null,"Onchain Heroes (GachaToken)",null,"The `by == address(0)` exception is an internal privilege: Solady uses it so `_burn(from, id, amount)` can burn without a second authorization check. Publishing that parameter on `burnFrom`, and calling the three-argument wrapper from the external `burn`, turns the privilege into a caller input. The caller does not need to be `from`, an operator, or Endgame.","rootCause",1],["53330-h-12-getpositionvalue-does-not-consider-accumulated-fees-pas","getPositionValue ignores Uniswap fees, so a healthy position is liquidated","audit-finding","AuditVault","2025-01","Ethereum",["vuln/logic/fee-calculation","vuln/logic/accounting"],["logic"],"Position value omits `tokensOwed`",null,null,"Liquidator seizes 250 of fees","`positions` returns twelve words. The destructure binds liquidity and the token addresses and discards the last two words, which are the uncollected fees. Collateral that includes a position is therefore short by those fees, and a debt that sits between the two numbers looks unsafe.","rootCause",1],["53285-h-02-unauthorized-access-to-update-function-pashov-audit-gro","Gigaverse — anyone can retarget a name and take its 100 ACCT escrow","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-auth","vuln/logic/state-update"],["access-control","logic"],null,null,"Gigaverse",null,"The handler is trusted because `AccountSystem` grants it `GAME_LOGIC_CONTRACT_ROLE`, and only that role may edit username rows. `update` itself never checks that the caller is the NFT that owns the hook. The `auth` argument is unnamed and unused. The deployed handler later added `require(registeredSystem == msg.sender)`, which is the fix; the reviewed code did not have it.","rootCause",1],["53284-h-01-not-updating-mint-count-cid-and-burn-count-cid-pashov-a","Gigaverse — mintBatch does not update MINT_COUNT_CID, so a later mint exceeds max supply","audit-finding","AuditVault","2025-01",null,["vuln/logic/state-update","vuln/logic/missing-check"],["logic"],"Supply counter not updated on the batch path","high","Gigaverse `GameItems`",null,"Batch mint and batch burn do not update `MINT_COUNT_CID` / `BURN_COUNT_CID`. The supply check on `mint` reads `MINT_COUNT_CID`. A batch that already issued the whole cap is invisible to that check, so the next single mint is allowed to issue the cap again.","rootCause",1],["53288-h-05-zero-username-price-when-it-is-minted-with-mintusername","Gigaverse — mintUsername charges 0 for a name listed at 0.005 ETH","audit-finding","AuditVault","2025-01",null,["vuln/logic/fee-calculation","vuln/logic/price-calculation","vuln/logic/wrong-condition"],["logic"],"Fee is read from the name-NFT table, which stays 0, instead of the AccountSystem table the manager writes","high","Gigaverse — `AccountSystem.mintWithEth` / `GigaNameNFT.mintUsername`",null,"`ETH_MINT_PRICE_CID` is a column id, not a global variable. `AccountSystem.setMintPrice` writes it under the account table. `mintUsername` loads it under the name-NFT table. The two cells are independent, the name-NFT cell has no setter, and the default is `0`. Any caller can satisfy the payment check by sending nothing.","rootCause",1],["56842-potential-read-only-reentrancy-mixbytes-none-xpress-markdown","Hanji LOB: getTraderBalance is stale during the withdraw callback","audit-finding","AuditVault","2025-01",null,["vuln/reentrancy/read-only","vuln/logic/state-update"],["reentrancy","logic"],null,"high","XPress / Hanji OnchainCLOB",null,"`withdraw` sends the tokens and only then decreases `balances[trader]`. The token notifies the recipient in between. `getTraderBalance` during that callback still returns 1000. A lender that requires `getTraderBalance >= amount` transfers another 1000. The trader keeps the honest 1000 withdraw and the attacker EOA receives the extra 1000. Updating the balance before `transfer` makes the same callback see 0, so the lender pays nothing and keeps its 1000.","tldr",1],["56840-incorrect-handling-of-fee-on-transfer-tokens-mixbytes-none-x","Hanji LOB: receiveTokens credits fee-on-transfer tokens for more than it received","audit-finding","AuditVault","2025-01",null,["vuln/defi/fee-manipulation","vuln/logic/state-update"],["defi","logic"],null,"high","XPress / Hanji OnchainCLOB",null,"`receiveTokens` calls `transferFrom` and then adds the requested `amount` to the trader balance. A token that keeps 10% on the way into the book delivers 9000 of a 10000 deposit. The book still owes the attacker 10000. Withdraw pays 10000. The extra 1000 comes out of the victim's deposit. The victim was credited 5000, delivered 4500, and the pool has 3500 left, a 1500 shortfall. The fixed function measures the balance delta and reverts with `fee-on-transfer` when it is not equal to `amount`.","tldr",1],["55405-c-02-malicious-users-can-mint-the-double-guaranteed-mints-pe","HeroERC721A — free mint wipes the paid counter and doubles the RING cap","audit-finding","AuditVault","2025-01",null,["vuln/logic/missing-check","vuln/logic/state-update"],["logic"],null,null,"Onchain Heroes (HeroERC721A)",null,"The free-mint path treats aux as if it only stored the free-mint field. The paid path stores its counter in the same word, above bit 23. Masking before the write deletes that counter. The cap check `already + qty > rings * 2` then sees `already == 0` and allows another full batch.","rootCause",1],["2025-01-HORS","HORS Exploit — Unprotected, Attacker-Callback 0xf78283c7 Drains the Pool's LP Tokens","incident","DeFiHackLabs","2025-01","BNB Chain",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control + arbitrary external callback into an attacker-supplied address that is first granted token approval (asset theft)",null,null,"14.799349453861436868 WBNB","Three independent design failures compose into outright theft: 1. No access control. `0xf78283c7` is callable by anyone. A function that moves/approves the contract's own LP assets must be restricted to a trusted owner/keeper. 2. Attacker-chosen call target with a pre-granted approval. The function approves a *caller-supplied* `recipient` for its full LP balance and then *calls that same address*. [continues]","rootCause",1],["31585-catalyst-tokenid-reconfiguration","IPSeed tokenId reconfiguration drain — AuditVault 31585","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-owner-check","vuln/logic/state-update"],["access-control","logic"],null,null,null,null,"A caller can reconfigure tokenId and withdraw ETH belonging to the previously configured asset.","tldr",1],["50064-h-01-adversary-can-win-proposals-with-voting-power-as-low-as","IQ AI — Adversary can win proposals with voting power as low as 4%","audit-finding","AuditVault","2025-01",null,[],["untagged"],"Quorum misconfiguration / comment-vs-code (treated as 4% effective quorum)","high","IQ AI — `TokenGovernor`",null,"Misread of OZ quorum fraction API: `4` means 4%, not \"1/4\". Comment documents the intended 25% but code ships 4%.","rootCause",1],["2025-01-JPulsepot","JPulsepot / FortuneWheel Exploit — Permissionless swapProfitFees() + Spot-Price Fee Sizing","incident","DeFiHackLabs","2025-01","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/spot-price"],["access-control","oracle"],"Flash-loan price manipulation feeding an un-protected, permissionless internal swap (no slippage, no access control, spot price as oracle)",null,null,"~$21.5K","A constant-product AMM's instantaneous price is *not* an oracle. `getAmountsIn` / `getAmountsOut` return the price implied by the pool's current reserves, which any actor can shift within a single transaction (here, with a flash loan). `swapProfitFees()` makes three compounding mistakes: 1. Permissionless trigger. `swapProfitFees()` is `external` with no `onlyOwner`, keeper allowlist, or `nonReentrant` guard. [continues]","rootCause",1],["38492-karak-increase-balance-shares","Karak increaseBalance share loss — AuditVault 38492","audit-finding","AuditVault","2025-01",null,["vuln/arithmetic/rounding-direction","vuln/logic/reward-calculation"],["arithmetic","logic"],null,null,null,null,"increaseBalance rounds the minted share amount down by a factor of two.","tldr",1],["2025-01-LAURAToken","LAURA Token Exploit — Permissionless removeLiquidityWhenKIncreases() Reserve Burn","incident","DeFiHackLabs","2025-01","Ethereum",["vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition"],["access-control","logic"],"Broken AMM invariant via a permissionless, un-compensated reserve burn (`_balances[pair] -= …; pair.sync()`)",null,null,"12.340357077284305206 ETH","A Uniswap-V2 pair prices assets purely from its reserves and only enforces `x·y ≥ k` *inside* `swap()`. `sync()` exists so a pair can re-baseline its reserves to its real token balances; it trusts that balances only move via `mint` / `burn` / `swap` / honest transfers. `removeLiquidityWhenKIncreases()` weaponizes that trust: It destroys LAURA that the pair holds (`_balances[pair] -= …`) and then calls `pair.sync()`, telling the pair \"your LAURA reserve is now this much smaller.\" [continues]","rootCause",1],["50051-h-01-the-calculation-of-totalassets-could-be-wrong-if-operat","Liquid Ron — totalAssets wrong when operatorFeeAmount > 0","audit-finding","AuditVault","2025-01",null,[],["untagged"],"Fee included in ERC-4626 asset base","high","Liquid Ron — `LiquidRon.totalAssets`",null,"Operator fee is an accounting liability (claimable by operator) but is treated as user-backing assets in the 4626 `totalAssets` formula.","rootCause",1],["2025-01-LPMine","LPMine Exploit — Reward-Time Desync + Pool-Balance Reward Valuation Drains the Reward Pool","incident","DeFiHackLabs","2025-01","BNB Chain",["vuln/logic/reward-calculation","vuln/oracle/price-manipulation"],["logic","oracle"],"Broken reward accounting — (1) reward-timestamp desynchronization across stake \"slots\" and (2) reward valuation read from live, flash-manipulable pool balances",null,null,"~$24k — net +23,293.95 USDT to the attacker","Three composing decisions: 1. Per-slot timestamps, but a combined-slot payout. `getCanClaimed` sums emission from *both* the wto and coar branches into both return values, yet `extractReward` only advances the timestamp of the `_tokenId` it was called with. Claiming via the *opposite* slot id leaves the producing slot's timestamp frozen, so the time delta — and the reward — never decays. The claim is idempotent against its own funding clock. [continues]","rootCause",1],["2025-01-MCAI","MCAI tax-wallet allowance bypass — privileged transferFrom drains the Uniswap V2 pair","incident","DeFiHackLabs","2025-01","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/centralization","vuln/logic/wrong-condition"],["access-control","logic"],"A hard-coded `_taxWallet` can call `transferFrom` against any holder with zero allowance because `_decreaseAllowance` deliberately returns `0` whenever `msg.sender == _taxWallet`, so the allowance check is silently skipped.",null,null,"~12.03 WETH / ETH","1. Deliberate allowance bypass for `_taxWallet`. `_decreaseAllowance` returns `0` whenever `msg.sender == _taxWallet`, so `transferFrom`'s allowance subtraction becomes a no-op. The tax wallet effectively holds `type(uint256).max` allowance on every account without any approval ever being recorded. This is the primary bug. 2. Centralized, stealthy privileged role. `_taxWallet` is a single off-chain-controlled key with no timelock, no multisig, and no event-driven visibility beyond `setTaxWallet`. [continues]","rootCause",1],["53287-h-04-stuck-eth-in-giganamenft-contract-pashov-audit-group-no","mintUsername keeps 1 ETH and the NFT has no withdraw","audit-finding","AuditVault","2025-01","Ethereum",["vuln/dos/frozen-funds"],["dos"],"The mint is payable and neither this contract nor `GameNFT` can withdraw",null,null,"1 ETH paid to `mintUsername` stays in `GigaNameNFT`","The fee is accepted and then there is no function that can move ETH out. The id increment does not change the balance. The ETH is stuck for the manager as well as for the minter.","rootCause",1],["50685-mismatching-data-location-inheritance","Mismatching data location during inheritance — AuditVault 50685","audit-finding","AuditVault","2025-01",null,["vuln/logic/incorrect-state-transition","vuln/input-validation/missing"],["logic","input-validation"],null,null,null,null,"The inherited handler stores a calldata payload through an incompatible data-location boundary.","tldr",1],["2025-01-Mosca","Mosca Exploit — exitProgram() Pays Out Internal Credit That Was Never Backed by a Deposit","incident","DeFiHackLabs","2025-01","BNB Chain",["vuln/logic/state-update","vuln/logic/incorrect-state-transition"],["logic"],"Broken accounting — withdrawal does not clear the credited balance (double/infinite withdrawal of unbacked internal credit)",null,null,"~$19K combined","`exitProgram()` is supposed to be a one-time, fully-settling withdrawal: pay out everything, then zero the account. But the settlement is incomplete. `withdrawAll()` pays `balance + balanceUSDT + balanceUSDC`, yet `exitProgram()` only writes back `user.balance = 0`. The `balanceUSDC`/`balanceUSDT` fields keep their pre-withdrawal values forever. That single missing reset turns a withdrawal into a reusable credit voucher: 1. Unbacked persistence. [continues]","rootCause",1],["2025-01-Mosca2","Mosca Exploit — Self-Compounding join() Balance Inflation Drains the Treasury","incident","DeFiHackLabs","2025-01","BNB Chain",["vuln/arithmetic/overflow","vuln/logic/state-update"],["arithmetic","logic"],"Accounting logic error — internal balance self-compounds on every `join()`, then redeemed for real tokens",null,null,"~$37.6K","Two independent flaws compose into a critical, fully-permissionless drain: 1. `join()` is a balance multiplier. The intended behavior was presumably to top-up a member's balance by the newly-deposited `amount`. Instead, the `diff` term feeds the member's *existing* balance back into the credit calculation: `user.balance += ((amount + (user.balance − 127e18)) × 1000 / 1015) − 28e18`. [continues]","rootCause",1],["56703-h-01-cross-chain-signature-replay-attack-due-to-user-supplie","Next Generation — Cross-chain signature replay via user-supplied domainSeparator","audit-finding","AuditVault","2025-01",null,[],["untagged"],"User-supplied `domainSeparator` not bound to `block.chainid`","high","Next Generation",null,"Domain separator is not computed on-chain with `chainid` / verifyingContract; no deadline.","rootCause",1],["63524-redeemnative-reentrancy-enables-permanent-fund-freeze-system","Notional v4 — redeemNative reentrancy freezes yield tokens","audit-finding","AuditVault","2025-01",null,[],["untagged"],"Reentrancy during redeem trade","high","Notional Finance v4 AbstractYieldStrategy",null,"`redeemNative` snapshots balance, swaps via a path including a malicious token that reenters `initiateWithdraw` (moves N yield tokens and decrements accounting). After return, burn subtracts (M+N) again → N tokens unaccounted/frozen.","tldr",1],["2025-01-ODOS","Odos Limit Order Router Exploit — Public ERC-6492 isValidSigImpl(... allowSideEffects = true) Arbitrary-Call Drain","incident","DeFiHackLabs","2025-01","Base",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["dependency","access-control"],"Arbitrary external call via a public ERC-6492 universal signature validator (`allowSideEffects = true`)",null,null,"15,578.334373 USDC","ERC-6492's \"deploy the counterfactual wallet first\" step is intrinsically an arbitrary low-level call to an attacker-chosen address with attacker-chosen calldata. That is acceptable *only* under two conditions, both of which the library guarantees in its intended usage and Odos broke: 1. It must never be committed to chain. [continues]","rootCause",1],["53319-h-01-anyone-can-redeem-from-users-and-take-the-funds-pashov","Omo — anyone can redeem another user's shares and take the assets","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-owner-check","vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"`owner` is a parameter. The router spends the allowance the user granted it, then sends the assets to a caller-chosen receiver","high","Omo — `OmoRouter.redeem`",null,"Approving the router is required for the user to redeem through it. `redeem` treats that approval as usable by every caller, because `owner` and `receiver` are both arguments. The shares move to the router and the assets move to `receiver`. A searcher who sees the approval in the mempool can take the position before the user does.","rootCause",1],["53324-h-06-omooracle-incorrect-token-decimals-handling-in-getusdva","Omo — getUSDValue ignores token decimals and prices 1,000,000 USDC as 1e12","audit-finding","AuditVault","2025-01",null,["vuln/arithmetic/decimal-mismatch","vuln/oracle/wrong-feed","vuln/logic/price-calculation"],["arithmetic","oracle","logic"],"Decimal mismatch. Every amount is treated as 18 decimals","high","Omo — `OmoOracle.getUSDValue`",null,"`priceFeed.decimals()` is the decimals of the USD quote (8 here), not the decimals of `token`. Dividing the product by `1e18` assumes `amount` is already an 18-decimal quantity. For a token with `d` decimals the buggy value is `10(18-d)` times too small when `d < 18`, and too large when `d > 18`. USDC (`d = 6`) is understated by `1012`, so a debt denominated in USDC looks cheap next to 18-decimal collateral.","rootCause",1],["53325-h-07-omooracle-wrong-use-of-uniswap-interface-to-get-pool-ad","Omo — the oracle reads the factory and lends 100 USD against a 1 USD pool","audit-finding","AuditVault","2025-01",null,["vuln/oracle/wrong-feed","vuln/logic/price-calculation"],["oracle","logic"],null,null,"Omo",null,"`INonfungiblePositionManager.factory()` returns the factory, which is how you *find* a pool. It is not a pool. `slot0` on that address is some other contract's storage. The position already exposes `token0`, `token1`, and `fee` from `positions(tokenId)`. Those three arguments are what `IUniswapV3Factory.getPool` needs.","rootCause",1],["53313-c-02-passing-the-wrong-value-to-burn-function-pashov-audit","Omo — topOff burns assets instead of shares, and Bob's 200 is stuck","audit-finding","AuditVault","2025-01",null,["vuln/logic/wrong-condition","vuln/logic/state-update"],["logic"],"`agentBalance` is assets, `record.shares` is what should burn","high","Omo `OmoVault.topOff`",null,"`agentBalance` is the asset amount transferred to the user. Share price is assets per share, so that number is not a share count. Burning it from the vault's share balance consumes every other escrowed position that happened to sit in the same balance.","rootCause",1],["53317-c-06-borrow-should-decrease-totalassets-value-pashov-audit-g","Omo borrow leaves totalAssets inflated by the amount sent to the agent","audit-finding","AuditVault","2025-01","Ethereum",["vuln/logic/accounting","vuln/logic/incorrect-state-transition"],["logic"],"Borrowed assets stay inside the share-price total",null,null,"Later depositor puts in 100 OUSD and receives 50","`deposit` and `withdraw` price shares with `totalAssets`. `borrow` moves tokens out of the contract and leaves that variable alone, so the share price counts assets the vault no longer holds. The next deposit is diluted, and an earlier depositor can withdraw against the stale total.","rootCause",1],["53315-c-04-funds-get-locked-in-the-vault-pashov-audit-group-none-o","Omo topOff locks a redeem that names another receiver","audit-finding","AuditVault","2025-01","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Agent authorization is checked on the redeem receiver",null,null,"1000 OUSD stuck in the vault","The redeem record has two addresses. `owner` is the user who deposited and who registered the Dynamic Account. `receiver` is who should be paid, and that address is allowed to be someone else. `topOff` treats them as the same account. When they differ, the receiver key is empty even though the owner's agent is authorized.","rootCause",1],["53318-c-07-unrestricted-omoagentonerc721received-allows-permanent","Omo: unrestricted onERC721Received locks 1000","audit-finding","AuditVault","2025-01",null,["vuln/dos/frozen-funds","vuln/access-control/missing-auth"],["dos","access-control"],null,null,"Omo",null,"The hook writes `_positionIds` for any caller. A later loop requires every id to have a nonzero value.","rootCause",1],["53326-h-08-omooracle-getliquidityamounts-uses-spot-price-making-it","OmoOracle prices liquidity from slot0, so a same-transaction swap mints extra debt","audit-finding","AuditVault","2025-01","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Liquidity amounts taken from the spot price",null,null,"1000 extra DEBT minted","`slot0` is the pool's current price. It is writable by a swap in the same transaction that asks for the position value. The amount helper treats that price as the amount of token the liquidity represents, so the reported collateral moves with the spot.","rootCause",1],["53320-h-02-the-transferfrom-in-omoroutersol-has-approval-vulnerabi","OmoRouter transferFrom spends a victim's allowance to the router","audit-finding","AuditVault","2025-01","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Router forwards a caller-supplied `from`",null,null,"1000 vault shares taken from a victim who had approved the router","The vault's `transferFrom` is a normal allowance check against `msg.sender`. When the router calls it, `msg.sender` is the router, so the allowance that matters is the one the victim granted the router. The router never checks that the external caller is `from`, so that allowance is usable by anyone.","rootCause",1],["53316-c-05-the-users-are-not-able-to-redeem-their-funds-pashov-aud","OmoVault — topOff only accepts agent id 0, so users cannot redeem","audit-finding","AuditVault","2025-01",null,["vuln/access-control/broken-logic","vuln/dos/frozen-funds"],["access-control","dos"],null,null,"OmoVault",null,"The authorization read is hardcoded to slot 0 of the agent mapping. Registration uses a non-zero id. No caller can satisfy the check, so the transfer under it never runs.","rootCause",1],["47890-opentrade-loan-validation","OpenTrade rollover loan-address validation — AuditVault 47890","audit-finding","AuditVault","2025-01",null,["vuln/input-validation/missing","vuln/access-control/missing-auth"],["input-validation","access-control"],null,null,null,null,"The rollover entry point accepts an arbitrary loan address instead of validating pool ownership.","tldr",1],["61508-h-01-undervalued-funding-fee-when-accfundingrate-is-negative","Ostium — shorts keep 300000 USDC when the funding rate is negative","audit-finding","AuditVault","2025-01",null,["vuln/logic/fee-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Funding is undervalued when oiDelta is negative","high","Ostium funding",null,"Open interest is 100 long and 400 short, so oiDelta is negative. `accFundingRate` is -1000. Shorts should pay the full rate. Longs should receive that rate scaled by `oiShort / oiLong`. The settle always writes the full rate onto longs and the rate scaled by `oiLong / oiShort` onto shorts. Longs are credited 100000 USDC. The fair credit is 400000 USDC. The escrow was funded with the fair 400000, so the unpaid 300000 is returned to the short. [continues]","tldr",1],["2025-01-Paribus","Paribus Exploit — Algebra/Camelot LP-NFT Collateral Priced from Manipulable Spot Price","incident","DeFiHackLabs","2025-01","Arbitrum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Spot-price oracle manipulation of LP-NFT collateral (Uniswap-V3/Algebra position valuation from instantaneous `globalState()`/`slot0`)",null,null,"~$86K — borrowed assets","A concentrated-liquidity position is a function of three things: its tick range, its liquidity `L`, and the current price. For a *fixed* `L` and range, the amount of `token0` vs `token1` the position represents is entirely determined by where the spot price sits within the range. Uniswap-V3/Algebra expose this current price via `slot0()` / `globalState()` — values that move with every swap and therefore can be pushed anywhere by a single large trade or flash-loan-funded swap. [continues]","rootCause",1],["52747-h-2-vault-inflation-attack-in-autocompoundingpodlp-is-possib","Peapods: dead shares minted to the caller let that caller take 3.92 ether from the next depositor","audit-finding","AuditVault","2025-01","Ethereum",["vuln/arithmetic/rounding","vuln/logic/state-update"],["arithmetic","logic"],"Inflation-protection shares are withdrawable because they are minted to `msg.sender`",null,null,"The next depositor loses 3921167270471535599 of a 20 ether deposit","A share the caller can redeem is not a dead share. After the donation, `ceil(999 * 1000 / 1001)` burns 999 shares for 999 assets and leaves 2 assets and 1 share. Each later round deposits `2 * totalAssets - 1`, mints 1 share, and withdraws 1 asset, which burns that share. Assets become `3^n + 1` after n rounds.","rootCause",1],["52750-h-5-sptknminimaloracle-calculatesptknperbase-does-not-calcu","Peapods: Fraxlend ratio applied after the inversion borrows 150 instead of 37.5","audit-finding","AuditVault","2025-01","Ethereum",["vuln/logic/price-calculation","vuln/logic/incorrect-order-of-operations"],["logic"],"`convertToAssets` runs after the price is inverted",null,null,"100 spTKN borrows 150 BASE","The ratio converts pairedLpTKN into base. It has to scale `_basePerSpTkn18` before `1e36 / _basePerSpTkn18`. Applying it after the inversion multiplies spTKN-per-base by the ratio instead of dividing the base-per-spTKN price by it. A share that is worth more than one asset makes spTKN look more expensive to the lender, so the borrower can take more base.","rootCause",1],["52748-h-3-pod-dos-if-the-leave-as-paired-lp-token-option-is-enable","Peapods: leave-as-paired fees revert debond and lock the bonded PEAS","audit-finding","AuditVault","2025-01","Ethereum",["vuln/dos/frozen-funds","vuln/logic/wrong-condition"],["dos","logic"],"Paired-token deposit reverts with \"R\" when `totalShares` is 0",null,null,"100 PEAS stuck in the pod","The leave-as-paired branch deposits a token that is not `rewardsToken`, and the zero-staker branch only accepts `rewardsToken`.","rootCause",1],["45978-h-3-intent-orders-are-guaranteed-to-execute-but-fees-from-th","Perennial intent fees are withdrawn before they hit collateral, and the referrer takes 100 from LPs","audit-finding","AuditVault","2025-01","Ethereum",["vuln/logic/fee-calculation","vuln/logic/missing-check"],["logic"],"Margin uses collateral and ignores the pending intent fee",null,null,"100 DSU paid to the referrer out of LP collateral","Two checks disagree about what an intent has already promised. Position close is guaranteed because `invalidation` is 0. The fee for that close is not guaranteed: it is pending until commit. Withdrawal is allowed against collateral that does not yet include the fee, so the account can be emptied and the fee becomes bad debt that the referral claim pays from other users.","rootCause",1],["45979-h-4-when-account-is-liquidated-protected-liquidator-can-incr","Perennial: a protected liquidation stores a 262-1 long and takes the maker cash","audit-finding","AuditVault","2025-01","Ethereum",["vuln/logic/wrong-condition","vuln/logic/liquidation-logic"],["logic"],"Pending full close passes protection, and the new long is not required to shrink",null,null,"262-1 units of maker cash paid to the liquidated account","Equality with the pending close is treated as permission to liquidate, and nothing after that compares the new long with the old one. Collateral and position-size checks are skipped because the order is protected.","rootCause",1],["62693-inflation-attack-in-ptokenmoduledeposit-draining-initial-dep","Pike: a donated balance makes the next deposit mint zero pTokens","audit-finding","AuditVault","2025-01","Ethereum",["vuln/logic/price-calculation","vuln/arithmetic/rounding"],["logic","arithmetic"],"exchangeRate uses donated cash, and the mint rounds down to 0 pTokens",null,null,"The victim deposits 5,000 and receives 0 pTokens","getCash counts every token held by the module, including a plain transfer. totalSupply does not. Dividing a later deposit by that rate rounds away the entire deposit when the donation is at least as large as the deposit.","rootCause",1],["57870-h-03-predictable-token-deployment-address-enables-liquidity","Predictable token address enables liquidity front-run — AuditVault synthetic reduction","audit-finding","AuditVault","2025-01",null,["vuln/access-control/broken-logic","vuln/defi/sandwich-attack"],["access-control","defi"],null,"high","Daoslive",null,"This report describes a high-risk bug that allows an attacker to manipulate the deployment of a contract called `DaosToken` within the `DaosLive` contract. This predictability enables a front-running attack, which can result in a loss of protocol funds and a collapse in the token's value on Uniswap. The bug has been fixed by using a more secure method called `CREATE2` with a salt.","tldr",1],["64014-h-01-removed-strategy-bypass-removal-block-withdrawals","Prime Vaults — removed strategy remains callable during withdrawal","audit-finding","AuditVault","2025-01",null,["vuln/logic/incorrect-state-transition","vuln/dos/frozen-funds"],["logic","dos"],null,null,null,null,"The registry's deletion semantics and consumer's enum-only dispatch disagree. A deleted entry is interpreted as `SingleAsset` and remains reachable from the priority queue.","rootCause",1],["38286-puffer-partial-withdrawal-failure","PufferVault partial withdrawal failure — AuditVault 38286","audit-finding","AuditVault","2025-01",null,["vuln/logic/incorrect-state-transition","vuln/dos/frozen-funds"],["logic","dos"],null,null,null,null,"A partial failure returns early and silently leaves later withdrawal requests unhandled.","tldr",1],["51982-pyth-price-exponent-mismatch","Pyth price and exponent mismatch — AuditVault 51982","audit-finding","AuditVault","2025-01",null,["vuln/oracle/wrong-feed","vuln/logic/price-calculation"],["oracle","logic"],null,null,null,null,"A negative Pyth price is converted to an unsigned reported value while the signed stored value remains negative.","tldr",1],["51984-pyth-missing-payable","Pyth validation is not payable — AuditVault 51984","audit-finding","AuditVault","2025-01",null,["vuln/input-validation/missing","vuln/logic/missing-validation"],["input-validation","logic"],null,null,null,null,"The update function is non-payable, so a caller cannot forward the provider fee.","tldr",1],["53453-h-01-excess-payment-when-plugin-owner-reduces-price-shieldif","Reduced plugin price leaves excess payment trapped — AuditVault synthetic reduction","audit-finding","AuditVault","2025-01",null,["vuln/logic/fee-calculation","vuln/input-validation/missing"],["logic","input-validation"],null,"high","Bullasv2",null,"The report discusses a bug in the `Multicall` contract where the `click()` function does not properly check the `msg.value` sent by users. This can lead to a vulnerability where users may send more ETH than necessary, which gets locked in the contract. The bug is located in the `Multicall.sol` file and can be exploited if the plugin owner changes the `entryFee` while a user's transaction is pending. [continues]","tldr",1],["2025-01-RoulettePotV2","RoulettePotV2 Exploit — Permissionless swapProfitFees() Drained Through a Manipulated WBNB/LINK Spot Price","incident","DeFiHackLabs","2025-01","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/spot-price"],["access-control","oracle"],"Spot-AMM price manipulation feeding a permissionless fee-swap (`getAmountsIn/Out` + `amountOutMin = 0`)",null,null,"39.52 WBNB ≈ $27.7K","A Uniswap-V2/PancakeSwap pair prices an asset purely from its instantaneous reserves. Reading that price with `getAmountsIn` / `getAmountsOut` and then immediately trading against the same pool is the textbook \"spot price as oracle\" mistake: the price you read and the price you trade at are both attacker-controlled inside one transaction. `swapProfitFees()` compounds three independent design faults that turn that mistake into free money: 1. Single-pool spot oracle. [continues]","rootCause",1],["61396-h-01-session-key-can-be-consumed-by-unauthorized-scw-shieldi","Session key can be consumed by another smart wallet — AuditVault synthetic reduction","audit-finding","AuditVault","2025-01",null,["vuln/access-control/missing-owner-check","vuln/auth/signature-validation"],["access-control","auth"],null,"high","[[Etherspot]] Credibleaccountmodule Mitigation",null,"The bug report describes an issue with the CredibleAccountModule contract, where there is a lack of check to verify that the session key being used belongs to the actual sender. This can lead to unauthorized consumption of session keys and bypassing of validation checks. A proof of concept is provided to demonstrate how a malicious wallet can exploit this bug. [continues]","tldr",1],["64681-h-01-protocol-insolvency-risk-lack-on-chain-oracle","Shiny Pawn — off-chain offer amount creates underwater loans","audit-finding","AuditVault","2025-01",null,["vuln/oracle/missing-validation","vuln/logic/liquidation-logic"],["oracle","logic"],null,null,null,null,"The protocol imports risk decisions from an off-chain signer and exposes no health-factor liquidation path. When collateral falls, borrower incentives and protocol recovery diverge.","rootCause",1],["64682-h-02-blacklisted-operators-can-not-be-revoked-from-being-an","Shiny sRWA — blacklisted operators cannot be revoked and can steal NFTs","audit-finding","AuditVault","2025-01",null,[],["untagged"],"setApprovalForAll reverts on blacklisted operator even for approved=false; approve still usable by blacklisted operators","high","Shiny sRWA",null,"setApprovalForAll reverts on blacklisted operator even for approved=false; approve still usable by blacklisted operators","rootCause",1],["2025-01-sorraStaking","Sorra Staking Exploit — Reward Recomputed In Full On Every Partial withdraw","incident","DeFiHackLabs","2025-01","Ethereum",[],["untagged"],"Broken accounting — reward computed on full principal but principal decremented per-call (re-claim / over-distribution)",null,null,"~8 ETH across the victim's three deposit/attack cycles","The protocol conflates two distinct accounting operations and never records that a reward has been paid: 1. Reward is principal-scaled but not withdrawal-scaled. `withdraw(_amount)` computes the reward from `getPendingRewards()`, which uses the entire `position.totalAmount` (via `dep.amount`), independent of `_amount`. A correct design would either (a) pro-rate the reward to the fraction of principal being withdrawn, or (b) track accrued-vs-claimed rewards so a reward can only be paid once. [continues]","rootCause",1],["52787-h-01-incorrect-assumptions-about-chain-native-token-will-hea","StackingSalmon — ETH-priced native ante bricks the warn swap","audit-finding","AuditVault","2025-01",null,["vuln/logic/price-calculation","vuln/dos/frozen-funds"],["logic","dos"],null,null,"StackingSalmon Borrower",null,"The ante constants and the liquidation quote assume the chain native token has ETH's price. The swap that is supposed to turn the ante into stable cannot clear an ETH-sized minimum, so the ante cannot be used to repay or to pay a warner.","rootCause",1],["52788-h-02-the-feeprotocol-calculation-in-the-volatilityoracle-get","StackingSalmon: Kodiak fee basis points are read as a Uniswap denominator","audit-finding","AuditVault","2025-01","Ethereum",["vuln/logic/fee-calculation","vuln/oracle/price-manipulation"],["logic","oracle"],"uint32 basis-point feeProtocol decoded with Uniswap V3's 4-bit split",null,null,"Liquidator seizes 10 collateral tokens from a position worth 20,000 against 15,000 of debt","The decoder keeps four bits per token and treats the field as a divisor. Kodiak writes sixteen bits per token and treats the field as basis points. The LP fee used by the implied-vol sum is too high, the IV is too high, and `Borrower.getPrices` marks collateral too cheap.","rootCause",1],["45292-instant-withdrawals-in-priority-pool-can-result-in-loss-of-f","Stake.Link — instant withdrawals can burn LST while stranding underlying","audit-finding","AuditVault","2025-01",null,["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],null,null,null,null,"The instant-withdraw branch executes `stakingPool.withdraw` and then only subtracts `fromPool` from `toWithdraw`. It omits `withdrawn += fromPool`, so the subsequent payout condition is false even after liquidity has reached PriorityPool.","rootCause",1],["55142-unstake-causes-all-users-to-lose-rewards","Surge — [H-03] Unstake causes all users to lose their rewards","audit-finding","AuditVault","2025-01",null,[],["untagged"],"Wrong variable — total vs personal shares","high","Surge — `StakingVault._unstake`",null,"1. User and attacker each stake 1000 into cycle 1 (total shares = 2000). 2. Rewards are injected for the cycle. 3. Attacker unstakes; `_unstake` reads total pool shares and subtracts that from itself → 0. 4. User's `claimRewardsToOwed` sees total = 0 and pays nothing. Rewards wiped for everyone.","tldr",1],["47980-switchboard-reward-manipulation","Switchboard reward manipulation — AuditVault 47980","audit-finding","AuditVault","2025-01",null,["vuln/logic/reward-calculation","vuln/access-control/missing-modifier"],["logic","access-control"],null,null,null,null,"Reward accounting remains writable after an enclave update and has no authorized caller check.","tldr",1],["62659-initial-mint-front-run-inflation-attack-mixbytes-none-nuts-f","Tapio: the first mint rounds the next depositor's shares to zero","audit-finding","AuditVault","2025-01","Ethereum",["vuln/logic/price-calculation","vuln/arithmetic/rounding"],["logic","arithmetic"],"Share count rounds down while minMintAmount checks the token amount",null,null,"The victim deposits 1,000 and receives 0 shares","The donation changes the balance without changing supply. The victim's tokens are pulled in before the division, so the denominator is donation plus deposit plus 1 wei. The numerator is the deposit times a supply of 1. The result is 0. The require that was meant to protect the minter looks at amount, which is exactly minMintAmount.","rootCause",1],["2025-01-IdolsNFT","The Idols NFT Exploit — Self-Transfer Reward Double-Claim via delete claimedSnapshots","incident","DeFiHackLabs","2025-01","Ethereum",["vuln/logic/state-update","vuln/logic/reward-calculation"],["logic"],"Broken reward accounting — a single NFT used as both `from` and `to` of a transfer is paid its cumulative reward twice per transfer, because the per-holder claim snapshot is `delete`d mid-hook",null,null,"97 stETH total across ~15 repeated transactions","The reward-snapshot pattern requires one invariant: after a transfer settles, every involved address's `claimedSnapshots` must equal the current `rewardPerGod`, so that re-claiming yields 0. The hook breaks this invariant for the `from == to` aliasing case. The `delete claimedSnapshots[_from]` on line 230-232 was intended as a *cleanup* for a user who is sending away their last god — \"you'll have 0 NFTs left, so forget your watermark.\" [continues]","rootCause",1],["52749-h-4-autocompoundingpodlp-pairedlptokentopodlp-does-not-corr","The pod compounder swaps again while pTKN is left over, and 12,925 pTKN stays stuck","audit-finding","AuditVault","2025-01","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"The paired-to-pTKN swap size ignores pTKN already held, so the next add is too unbalanced for the slippage check",null,null,"12,925.820234006285946425 pTKN and 5,851.640468012571892851 paired tokens left in the comp","The swap is computed as if the contract held only the new paired tokens. The add then uses the whole pTKN balance, including tokens the swap did not create. The two sides no longer match the pool, and the slippage floors (`amount * (1000 - slippage) / 1000`) cannot both be met.","rootCause",1],["45976-h-1-anyone-can-steal-all-funds-from-the-market-due-to-incorr","Three intents each pass a 40 collateral check and the maker withdraws 20 of LP funds","audit-finding","AuditVault","2025-01","Ethereum",["vuln/logic/missing-check","vuln/logic/price-calculation"],["logic"],"Health adds only the current intent's price gap",null,null,"20 collateral withdrawn above the attacker's 40 deposit","Pending intents are invisible to the health check. The collateral word still shows the deposit, so each new intent is judged as if it were the only one.","rootCause",1],["64067-h-01-recipient-bytes-silent-burn-non-20-byte","Toki Bridge — malformed recipient bytes silently burn tokens","audit-finding","AuditVault","2025-01",null,["vuln/input-validation/wrong-type","vuln/bridge/missing-validation","vuln/dos/frozen-funds"],["input-validation","bridge","dos"],null,null,null,null,"`_validateToLength` checks only broad bounds while destination `decodeAddress` requires exactly 20 bytes. The failure path emits no recoverable transfer payload.","rootCause",1],["2025-01-Unilend","UniLend V2 Exploit — Collateral Self-Withdrawal via Flawed Health-Factor Accounting","incident","DeFiHackLabs","2025-01","Ethereum",["vuln/logic/liquidation-logic","vuln/logic/incorrect-state-transition"],["logic"],"Broken collateral / health-factor accounting in a 2-asset isolated lending pool",null,null,"~60.67 stETH","UniLend's solvency model treats a position as healthy as long as *one* per-token ratio clears the threshold, and it values collateral from the position's remaining lend balance at the moment of the check. Three compounding flaws let the attacker walk off with the stETH: 1. Borrow-side check is satisfied by ephemeral collateral. Borrowing stETH only runs `checkHealthFactorLtv1`, which divides oracle-priced USDC lend collateral by the stETH debt. [continues]","rootCause",1],["44006-h-02-the-usdt-reward-claiming-functionality-of-vestedstaking","USDT claim underflows when contract has a larger balance — AuditVault synthetic reduction","audit-finding","AuditVault","2025-01",null,["vuln/arithmetic/underflow","vuln/dos/frozen-funds"],["arithmetic","dos"],null,"high","[[Csx]]",null,"This bug report describes a high-risk issue in the `claimRewards` function of the `VestedStaking.sol` contract. The issue affects the calculation of USDT rewards and can be exploited by malicious users to prevent others from claiming their rewards. A proof of concept test is included to demonstrate the issue. The affected code is located on line 170 of the `VestedStaking.sol` file. The recommended solution is to fetch the balance of the `msg.sender` instead of the current contract. [continues]","tldr",1],["44004-c-01-malicious-users-can-steal-all-staking-rewards-from-stak","Zero-value transfer doubles staking rewards — AuditVault synthetic reduction","audit-finding","AuditVault","2025-01",null,["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],null,"high","[[Csx]]",null,"The report details a critical bug in the `_claimToCredit()` function of the `StakedCSX.sol` contract. This function has a logical error where the addition assignment operator is used instead of the plain assignment operator. This results in the credit values being doubled on each call, which can be exploited to drain all the staking rewards from the contract. [continues]","tldr",1],["44297-mismatch-in-multiplier-position-causes-incorrect-weight-calc","A six-token QuantAMM swap reads a zero multiplier and pays 1.03 instead of 1","audit-finding","AuditVault","2024-12","Ethereum",["vuln/logic/price-calculation","vuln/logic/state-update"],["logic"],"Token 5's multiplier is read from padding in the second packed slot",null,null,"0.03 token0 overpaid","The pack layout and the unpack index use different strides for the second group of tokens. The first four tokens read `packedIndex + 4`, which is where their multipliers were stored. Tokens past index 4 read `packedIndex + (nTokens - 4)`. For six tokens that is not 4. The lane is the zero padding between w6 and m5.","rootCause",1],["56784-anyone-can-lock-relayer-refunds-and-contract-can-be-drained","Across SpokePool: claimRelayerRefund clears the wrong refund slot and can be repeated","audit-finding","AuditVault","2024-12",null,["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],null,"high","Across SpokePool",null,"The function loads `relayerRefund[token][msg.sender]` and then stores 0 at `relayerRefund[token][refundAddress]`. Those keys are different whenever the caller asks to be paid somewhere else. One call with `refundAddress = victim` deletes the victim's 900 RUSD credit. Nine calls with `refundAddress = attacker` pay 100 RUSD each, because the caller's own credit is never cleared. The pool started with 1000 RUSD and ends at 0.","tldr",1],["49643-h-04-there-are-multiple-issues-with-the-decimal-conversions","BakerFi: redeem pays 1e18 raw USDC for one 18-decimal share","audit-finding","AuditVault","2024-12","Ethereum",["vuln/arithmetic/decimal-mismatch"],["arithmetic"],"18-decimal `withdrawAmount` is spent as 6-decimal raw units",null,null,"1 share that is worth 1 USDC withdraws 1e12 USDC","The strategy's internal accounting is 18 decimals for every asset, including 6-decimal USDC. The undeploy path treats the internal amount as the token's raw amount. Scaling by `10(18 - decimals)` is missing on the way out.","rootCause",1],["2024-12-Bizness","Bizness Locker Exploit — Reentrancy in splitLock Refund Drains Locked Tokens","incident","DeFiHackLabs","2024-12","Base",["vuln/reentrancy/single-function"],["reentrancy"],"Reentrancy via ETH-refund callback — checks-effects-interactions violation in `splitLock`",null,null,"~$15.7k","`splitLock` is meant to be an internal book-keeping operation: shrink lock A by `X`, create lock B holding `X`. Total locked tokens are conserved, so the protocol never needs to move any ERC20 during a split. But `splitLock` charges an ETH fee, and the fee handler refunds the caller's overpayment via a raw external call *before* it has decremented the source lock's `amount`. That external call is fully attacker-controlled (it lands in the attacker's `receive()`), and the Locker has no reentrancy guard. [continues]","rootCause",1],["2024-12-BTC24H","BTC24H Lock Exploit — Access-Control-Free claim() Drains a Token Vesting Lock","incident","DeFiHackLabs","2024-12","Polygon",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control + missing per-beneficiary accounting on a vesting/lock withdrawal",null,null,"~$85.7K","The contract intends to release pre-deposited tokens to a beneficiary, but: 1. Missing access control on `claim()`. No `onlyOwner`, no `require(msg.sender == beneficiary)`, no allowlist. The author wrote an `onlyOwner` modifier but forgot to apply it (or to track a beneficiary at all). The funds are sent to `msg.sender`, so the \"beneficiary\" is simply the first caller after the release date. 2. No per-address claim ledger. With a single global `Claim`, there is no notion of *who* is owed the tokens. [continues]","rootCause",1],["2024-12-CloberDEX","Clober DEX Exploit — Rebalancer._burn Reentrancy via Attacker-Controlled burnHook","incident","DeFiHackLabs","2024-12","Base",["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Reentrancy — stale cached reserves; external hook to a fully attacker-controlled `strategy` fires before pool state is written back",null,null,"~$501K","The reserves are read into local variables at the top of `_burn`, used to compute the payout, and written back to storage only after an external call to a contract the attacker fully controls. Three design decisions compose into a critical, fully self-funding theft: 1. Untrusted external hook mid-update. `pool.strategy.burnHook(...)` is an external call to a caller-chosen address, placed *between* the share-burn and the reserve write-back. [continues]","rootCause",1],["49178-atokenerc6909totalsupply-for-debt-tokens-uses-the-liquidity","Cod3x — debt totalSupply is scaled by the liquidity index","audit-finding","AuditVault","2024-12",null,["vuln/logic/price-calculation","vuln/arithmetic/decimal-mismatch"],["logic","arithmetic"],null,null,"Cod3x Lend",null,"The function assumes every id is an aToken. Debt tokens accrue with the variable borrow index, which is higher than the liquidity index here. Callers that trust `totalSupply` — a health check, a liquidation, or an interest-rate read — see a debt that is too small.","rootCause",1],["49175-rewardscontroller-uses-inconsistent-scaling-in-handleaction","Cod3x — handleAction underflows and sticks a minipool withdraw","audit-finding","AuditVault","2024-12",null,["vuln/arithmetic/underflow","vuln/logic/reward-calculation"],["arithmetic","logic"],null,null,"Cod3x Lend",null,"`scaledTotalSupply` is divided by the minipool liquidity index. The aToken balance and `totalSupply` passed into `handleAction` are not. Subtracting those quantities underflows whenever the minipool index is above 1, which is the report's 1.05 example. The revert is inside the transfer hook, so the withdraw cannot complete.","rootCause",1],["49177-in-updateatoken-and-updatevariabledebttoken-of-the-lendingpo","Cod3x LendingPoolConfigurator — updateAToken stores the wrong reserve index","audit-finding","AuditVault","2024-12",null,["vuln/data/wrong-encoding","vuln/logic/state-update"],["data","logic"],null,null,"Cod3x LendingPoolConfigurator",null,"`abi.encodeWithSelector` was not updated when `reserveType` was added to the initializer. Every argument after `decimals` shifts by one word. The aToken's reserve index becomes the name offset instead of the reserve the deposit was recorded on.","rootCause",1],["49176-index-can-reach-typeuint104max-when-asset-totalsupply-is-dus","Cod3x RewardsDistributor — dust supply overflows the uint104 index and locks the claim","audit-finding","AuditVault","2024-12",null,["vuln/arithmetic/overflow","vuln/dos/frozen-funds"],["arithmetic","dos"],null,null,"Cod3x RewardsDistributor",null,"The index scales rewards by `10decimals / totalBalance`. A dust supply, even for a single second, blows a `uint104` index. The overflow check is inside the claim path, so the revert locks the rewards instead of skipping the update.","rootCause",1],["49180-mix-of-scaled-and-non-scaled-parameters-in-aftertokentransf","Cod3x: _afterTokenTransfer adds shares to an underlying balance and pays Bob 400 for a prior balance of 0","audit-finding","AuditVault","2024-12",null,["vuln/arithmetic/decimal-mismatch","vuln/logic/reward-calculation"],["arithmetic","logic"],null,null,"Cod3x Lend",null,"The hook runs after the share balances have moved, and it tries to rebuild the pre-transfer balances by adding the amount back to the sender and subtracting it from the recipient. That only works when `amount` and `balanceOf` use the same unit. Here `amount` is shares and `balanceOf` is shares times the index. The incentives controller is paid in whatever number comes out.","rootCause",1],["49181-dosing-vault-rehypothecation-through-flashloans-spearbit-non","Cod3x: a flash loan pulls 1000 out of the vault and handleRepayment never puts it back","audit-finding","AuditVault","2024-12",null,["vuln/dos/frozen-funds","vuln/logic/state-update"],["dos","logic"],null,null,"Cod3x Lend",null,"The outbound flash-loan leg moves tokens from the vault to the borrower. The inbound leg updates an accounting variable and does not move tokens. After a repaid flash loan the aToken's token balance and `_underlyingAmount` agree, and the vault's token balance does not. Anyone whose credit still points at the vault cannot withdraw.","rootCause",1],["53124-attacker-can-perform-mev-by-providing-amountoutmin-0-for-all","Cork — Attacker can perform MEV by providing amountOutMin = 0 for ERC-2612 permit swaps","audit-finding","AuditVault","2024-12",null,[],["untagged"],"Slippage parameter not bound into the permit signature; third-party submission","high","Cork Protocol — `FlashSwapRouter` permit-based RA↔DS swaps",null,"1. User signs an EIP-2612 permit so the router can pull RA without a prior `approve` tx. 2. Any third party can submit that permit to `swapRaforDs(..., amountOutMin, user, sig,...)`. 3. Attacker sets `amountOutMin = 0`, frontruns by dumping into the AMM, then lands the victim swap at a ruined rate. 4. Victim loses full input RA and receives far less DS than a fair quote; attacker extracts from the dump leg.","tldr",1],["53126-insufficient-slippage-protection-in-redeemearlylv-leads-to-m","Cork — Insufficient slippage protection in redeemEarlyLv leads to MEV via flash swaps","audit-finding","AuditVault","2024-12",null,[],["untagged"],"Incomplete multi-asset slippage protection","high","Cork Protocol — `VaultCore.redeemEarlyLv`",null,"1. `redeemEarlyLv` takes `amountOutMin` and checks it only against RA from the AMM. 2. CT / DS / PA received have no floors. 3. Attacker skews the RA/CT pool (e.g. flash-style RA→CT swap) so the redeem still clears the RA min but CT is worse. 4. User's basket is value-extracted on the unprotected legs.","tldr",1],["53125-reserve-sales-vulnerable-to-mev-due-to-missing-slippage-prot","Cork — Reserve sales vulnerable to MEV due to missing slippage protection in _sellDsReserve","audit-finding","AuditVault","2024-12",null,[],["untagged"],"Hardcoded zero min-out on internal reserve sale","high","Cork Protocol — `FlashSwapRouter._sellDsReserve`",null,"1. User RA→DS swaps can trigger a protocol reserve sale of DS for RA. 2. `_sellDsReserve` calls the swap with hardcoded `amountOutMin = 0`. 3. An MEV bot dumps DS into the pool first; the reserve sale realizes far less RA. 4. LP / protocol profit from the reserve sale drops materially (report: ~36%).","tldr",1],["57954-h-02-the-target-weight-check-does-not-account-for-redeem-req","Cove: the target-weight check ignores a pending redeem","audit-finding","AuditVault","2024-12",null,["vuln/logic/missing-check","vuln/logic/wrong-condition","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Cove basket manager",null,"Assets already owed to redeemers are not free inventory. The weight check treats them as if the basket still chooses to hold them. A redeem larger than the 5 percent band makes an otherwise on-target book look off-target, and the rebalance that would settle the redeem refuses to run.","rootCause",1],["49875-reentrancy-vulnerability-in-claimwithdrawal-function-mixbyt","Enjoyoors — claimWithdrawal pays before the request is marked claimed","audit-finding","AuditVault","2024-12","Ethereum",["vuln/reentrancy/single-function","vuln/dependency/unsafe-external-call"],["reentrancy","dependency"],null,null,"Enjoyoors",null,"The external token call sits in the middle of the claim. `claimed` is the only lock, and it is written after the call. The callback is the claimant, so `request.user == msg.sender` still holds.","rootCause",1],["49876-stuck-rebase-rewards-due-to-internal-balance-tracking-mixbyt","Enjoyoors — rebase rewards sit above userSupply and cannot be withdrawn","audit-finding","AuditVault","2024-12","Ethereum",["vuln/dos/frozen-funds","vuln/logic/reward-calculation"],["dos","logic"],null,null,"Enjoyoors",null,"`userSupply` is a sum of deposit amounts. The token balance is not that sum once the token rebases. The withdrawal ceiling is the sum, so the extra balance is unowned.","rootCause",1],["47227-signature-reuse-via-front-running-ottersec-none-ethsign-laun","EthSign Launchpad — a whitelist signature can be front-run by another caller","audit-finding","AuditVault","2024-12",null,["vuln/auth/signature-replay","vuln/access-control/missing-auth"],["auth","access-control"],"Signature front-run. The digest is not bound to the caller.","high","EthSign Launchpad `NFTSimpleAuction`",null,"The signed bytes authorize an amount and a code. They do not have to be presented by the account the signer named. Anyone who sees the signature in the mempool can submit it first. The `_usedCodes` write then blocks the intended buyer.","rootCause",1],["2024-12-FEGSmartBridge","FEG SmartBridge — Wormhole relayer allowlist pollution → forged withdraw","incident","Crypto Training","2024-12",null,["vuln/bridge/message-spoofing","vuln/bridge/missing-validation","vuln/access-control/broken-logic"],["bridge","access-control"],"Cross-chain message validation: admin-field allowlist pollution",null,null,"~$1M+ multi-chain","Message verification reduced to “source on allowlist” after allowlist became attacker-writable via an admin-flagged payload field. No binding between deposit proofs / burned inventory on the source chain and withdraw credits on the destination. Relayer composability was out of SmartBridge audit scope (Halborn/CertiK notes).","rootCause",1],["65000-h-03-its-possible-to-add-liquidity-to-uniswapv3-while-token","g8keep buy(pool) mints 1,000,000 LP against an empty balance","audit-finding","AuditVault","2024-12",null,["vuln/logic/price-calculation","vuln/logic/missing-check"],["logic"],null,null,"g8keep",null,"The transfer restriction is only on `transfer`. `buy` moves inventory balances with no check that `to` is not the pool, so a mint callback can satisfy `M0` without the attacker owning any tokens.","rootCause",1],["64998-h-01-migration-will-fail-trying-to-swap-1-wei-of-tokens-to-r","g8keep migration reverts on a 1-wei swap and leaves 1,000,000 tokens in the old pool","audit-finding","AuditVault","2024-12",null,["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],null,null,"g8keep",null,"The else branch hardcodes a 1-wei specified amount. That amount cannot travel from sqrt price 100 to 1000, so the equality check against the target fails on every attempt and migration always reverts.","rootCause",1],["2024-12-GemPadLock","GemPadLock reentrancy (Dec 2024) — multi-chain ~$2M","incident","Crypto Training","2024-12",null,[],["untagged"],null,null,null,"~$1.9–2.2M locked LP / ERC20 inventory","1. `collectFees(lockId)` snapshots GemPad balances, calls `INonfungiblePositionManager.collect()` on a UniV3 NFT lock, then refunds balance deltas to the lock owner. 2. `collect()` eventually `transfer`s pool tokens. If the fee token is attacker-controlled, `transfer` re-enters `multipleLock`. 3. `multipleLock` pulls attacker tokens into GemPad and registers a new lockId while still inside the fee-collect balance window. [continues]","rootCause",1],["2024-12-JHY","JHY Token Exploit — Dividend Pool Drained via 100× Over-Credited distributeCAKEDividends","incident","DeFiHackLabs","2024-12","BNB Chain",["vuln/logic/reward-calculation","vuln/arithmetic/decimal-mismatch"],["logic","arithmetic"],"Broken reward/dividend accounting — distribution credited 100× the deposited amount, combined with LP-balance-driven dividend share",null,null,"~$11.2k","The protocol's invariant *should* be: total JHY paid out as dividends ≤ total JHY escrowed as the 1% sell fee. That invariant is violated by construction. 1. 100× distribution credit (the core arithmetic bug). `distributeCAKEDividends(amount.mul(sellLP))` credits 100× the JHY that `super._transfer(..., amount.mul(sellLP).div(100))` actually escrowed. [continues]","rootCause",1],["2024-12-LABUBU","LABUBU Exploit — Self-Transfer Balance Inflation via Stale Cached Balances","incident","DeFiHackLabs","2024-12","BNB Chain",["vuln/logic/state-update","vuln/logic/incorrect-order-of-operations"],["logic"],"Self-transfer balance inflation (read-before-write of a cached balance)",null,null,"17.40 BNB","The bug is a read-before-write aliasing error. The function assumes `sender` and `recipient` are distinct storage locations and reads them both up front. That assumption holds for ordinary transfers but breaks for the aliased case `sender == recipient`, where the two \"independent\" writes race on one slot and the later write wins with a value computed from a snapshot taken *before* the earlier write. The defects, in order of importance: 1. No `from == to` handling. [continues]","rootCause",1],["2024-12-Moonhacker","MoonHacker Vault Exploit — Unauthenticated AAVE Flash-Loan Callback Drains the Vault","incident","DeFiHackLabs","2024-12","Base",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control on an external flash-loan callback (`executeOperation`) + caller-controlled call targets",null,null,"~$318.9K total across the attacker's full campaign","The single defect is a privileged callback that trusts its caller and its arguments implicitly. A correct AAVE flash-loan receiver must enforce, at the top of `executeOperation`: Neither check exists. That alone would have blocked the attack, because the attacker invoked `executeOperation` directly (it is `msg.sender = attacker`, and the AAVE flash loan the attacker took was started by the *attacker's* contract, so `initiator = attacker`, not the vault). [continues]","rootCause",1],["50036-c-01-anyone-can-re-mint-a-token-that-was-burned-by-the-owner","NFTMirror — Anyone can re-mint a token that was burned by the owner","audit-finding","AuditVault","2024-12",null,[],["untagged"],"Missing state reset after burn / access control hole","high","NFTMirror — `NFTShadow`",null,"Mint gating relies on the default-locked status of token ids. Burn of an unlocked token clears ownership but leaves the unlock flag, so the gate no longer applies to the burned id.","rootCause",1],["50038-h-02-lzreceive-call-for-releaseoneid-results-in-oog-error-pa","NFTMirror — lzReceive for releaseOnEid results in OOG","audit-finding","AuditVault","2024-12",null,[],["untagged"],"Underfunded cross-chain execution gas / DoS","high","NFTMirror — `NFTShadow.getSendOptions` / LayerZero path",null,"Hard-coded gas options ignore real destination work (mint, transfer, optional `validateTransfer`).","rootCause",1],["50037-h-01-executecallback-call-causes-that-ownership-cannot-be-up","NFTMirror: executeCallback on the native NFT rolls back the ownership update, so the old owner still pulls 1000","audit-finding","AuditVault","2024-12",null,["vuln/logic/incorrect-state-transition","vuln/dependency/unsafe-external-call"],["logic","dependency"],null,null,"NFTMirror",null,"`_updateOwnership` always ends in `_shadow.executeCallback(guid)`. The decoded `shadowAddress` is the NFT contract when the message is applied on the native chain. That contract has no successful callback, so the whole update reverts and the previous owner remains.","rootCause",1],["55233-h-6-attacker-can-exploits-batch-sender-role-to-block-result","Non-payable batch sender blocks result submissions — AuditVault synthetic reduction","audit-finding","AuditVault","2024-12",null,["vuln/dos/frozen-funds","vuln/dependency/unchecked-return-value"],["dos","dependency"],null,"high","[[SEDA]] Protocol",null,"This bug report discusses an issue with the SEDA protocol that allows an attacker to exploit the batch sender role and block result submissions by using a contract that reverts when receiving native tokens. The root cause of this issue is that the `postBatch` function allows any address to submit a batch as long as certain conditions are met. This includes validating the batch height, the validators in the batch, and the signatures for the batch. [continues]","tldr",1],["2024-12-Pledge","Pledge Exploit — Permissionless swapTokenU() Drains the Contract's Token Holdings","incident","DeFiHackLabs","2024-12","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/slippage"],["access-control","defi"],"Missing access control on an asset-spending function (arbitrary recipient)",null,null,"~$15K — 14,994.30 USDT swapped out to the attacker","A function that moves the protocol's own assets must be permissioned (or internal). `swapTokenU` is neither. It is the textbook \"missing access control on a fund-moving function\" bug, made worse by an attacker-controlled output recipient: Anyone can call `swapTokenU(contractMFTBalance, attacker)` and the contract will dutifully approve the router, swap its entire MFT inventory, and forward the USDT to the attacker. The contract is, in effect, a public faucet for its own treasury. [continues]","rootCause",1],["49676-critical-malicious-user-can-delete-all-users-deposited-liqui","QuantAMM: missing onlyVault lets a caller pop every depositor's FeeData","audit-finding","AuditVault","2024-12","Ethereum",["vuln/access-control/missing-modifier","vuln/dos/frozen-funds"],["access-control","dos"],"`onAfterRemoveLiquidity` trusts `userData` and has no `onlyVault`",null,null,"50,000 BPT stuck in the hook after five deposits are deleted","The user whose rows are deleted comes from caller-supplied `userData`, and the function is not restricted to the vault.","rootCause",1],["45276-h-1-cnumatokenleveragestrategy-can-be-re-entered-causing-all","Reentered leverageStrategy leaves 10 LST stuck in cNuma and drops the vault price","audit-finding","AuditVault","2024-12","Ethereum",["vuln/reentrancy/single-function","vuln/logic/state-update","vuln/dos/frozen-funds"],["reentrancy","logic","dos"],"Caller-chosen collateral reenters leverage and overwrites `leverageDebt`",null,null,"10 LST moved out of the vault into cNuma and never repaid","The collateral address is an argument, and `transfer` on it runs before `repayLeverage`. Combined with a debt word that stores only the latest borrow, the inner repay settles a 1 wei debt and clears the outer one.","rootCause",1],["49682-slight-miscalculation-in-maxamountsin-for-admin-fee-logic-in","Removing QuantAMM liquidity reverts on a 1 wei admin-fee cap and locks 1,000 tokens","audit-finding","AuditVault","2024-12","Ethereum",["vuln/dos/frozen-funds","vuln/arithmetic/rounding-direction"],["dos","arithmetic"],"`maxAmountsIn` is `mulDown` of the admin fee, 1 wei under the vault",null,null,"1,000 tokens stay in the vault","The hook rounds the fee down and the vault rounds the matching deposit up. The two numbers are not the same value, and the vault treats any excess as a hard revert rather than a smaller fill.","rootCause",1],["2024-12-SlurpyCoin","SlurpyCoin Exploit — Attacker-Timed Token-Owned BuyOrSell Pool Manipulation","incident","DeFiHackLabs","2024-12","BNB Chain",["vuln/reentrancy/single-function","vuln/oracle/price-manipulation"],["reentrancy","oracle"],"Token-owned AMM self-swap with attacker-controlled timing + reentrant reserve manipulation",null,null,"~$3K (reported)","A token must not perform unbounded, externally-timed swaps against its own liquidity pool using the pool's price. SlurpyCoin does exactly that, and hands the trigger to anyone: 1. Attacker-chosen trigger. `BuyOrSell` fires when `balanceOf(address(this)) >= numTokensToSell`. Anyone can satisfy that with a single `transfer(SLURPY_ADDR, 100_000e18)`. The only \"guard\" (`from != uniswapV2Pair`) blocks the *pair* from being the sender, not the attacker. [continues]","rootCause",1],["45409-unsound-assumption-about-structure-of-calldata-arrays-spearb","Solady — a calldata slice is not an ABI array","audit-finding","AuditVault","2024-12",null,["vuln/input-validation/missing","vuln/logic/missing-check"],["input-validation","logic"],"The word before a slice is not the slice length","high","Solady Lifebuoy / ERC1155 calldata copy",null,"`bytes calldata` is a pointer with an offset and a length. Only a top-level ABI encoding places the length in the word immediately before the offset. A slice moves the offset and keeps a shorter length, so the previous word is some other argument. Spending that word as an amount, or as an array length, uses attacker-controlled calldata.","rootCause",1],["45407-isvaliderc6492signaturenowallowsideeffects-allows-arbitrary","Solady — isValidERC6492SignatureNowAllowSideEffects allows arbitrary calls via a crafted signature","audit-finding","AuditVault","2024-12",null,["vuln/access-control/signature-validation","vuln/logic/arbitrary-external-call","vuln/loss-of-funds/direct-drain"],["access-control","logic","loss-of-funds"],"The AllowSideEffects ERC-6492 checker performs a caller-controlled `call(factory, factoryCalldata)` and does not revert its side effects","high","Solady `SignatureCheckerLib` (audited in the Coinbase/Spearbit Solady review)",null,"The AllowSideEffects variant treats a caller-supplied `(factory, calldata)` as a trusted \"prepare the account\" step and performs it with a raw `call` whose side effects are never rolled back. There is no constraint that the call only deploys the `signer`, and no revert wrapper. Any consumer that (a) holds assets and (b) validates signatures with this helper can be made to call anything from its own context.","rootCause",1],["45408-cancelling-bytes320-allows-timelock-takeover-spearbit-none-c","Solady Timelock — cancel(bytes32(0)) lets a canceller become proposer and executor","audit-finding","AuditVault","2024-12",null,["vuln/governance/timelock-bypass","vuln/access-control/broken-logic","vuln/logic/missing-validation"],["governance","access-control","logic"],"Timelock storage collision / reinitialization","high","Solady `Timelock` (Coinbase review)",null,"The operation id is not hashed into the slot. Shifting the id left by 72 bits and xoring the constant leaves the low 72 bits equal to `_TIMELOCK_SLOT` for every id, and leaves the high bits zero when the id itself is zero. The delay word is then indistinguishable from an operation. The pending check only rejects a set low bit or a zero word. `not(odd)` has a clear low bit and is non-zero, so it is wiped.","rootCause",1],["55143-h-04-users-can-take-their-share-of-rewards-in-cycles-they-st","Surge — a claimant takes rewards funded after they unstaked","audit-finding","AuditVault","2024-12",null,["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],null,null,"Surge (StakingVault)",null,"The claim window is a pair of cycle indexes, not a record of rewards that accrued while the user was staked. Setting `cycleEnd` to the in-progress cycle keeps that cycle claimable after the user has left. Rewards accepted into it afterwards are paid in full on the next cycle boundary. The report's example is the same shape: a user who leaves during pool 4's cycle 3 comes back when cycle 4 starts and takes that cycle's rewards, including deposits made after the unstake.","rootCause",1],["55140-h-01-lack-of-slippage-and-access-control-in-positionmanagers","Surge — public collectFees with amountOutMin 0 lets the caller take 4 fee tokens","audit-finding","AuditVault","2024-12",null,["vuln/defi/slippage","vuln/access-control/missing-auth","vuln/defi/sandwich-attack"],["defi","access-control"],null,null,"Surge PositionManager",null,"The swap's floor is a constant 0, and the function that triggers the swap is permissionless. The caller chooses the moment and the router fills at the worst price the constant allows, which is any output at all.","rootCause",1],["49678-fee-evasion-via-lp-token-transfer-resets-deposit-value-codeh","Transferring a QuantAMM LP NFT resets the uplift deposit and the withdrawal pays 999.5 instead of 820","audit-finding","AuditVault","2024-12","Ethereum",["vuln/defi/fee-manipulation","vuln/logic/fee-calculation"],["defi","logic"],"`lpTokenDepositValue` is overwritten with the current pool value on NFT transfer",null,null,"179.5 of pool token that should have been the uplift fee","The fee base is the deposit value at entry. Transfer is not a new deposit, but `afterUpdate` treats it as one and samples the pool at the transfer. Any uplift that accrued before the transfer is no longer in the fee.","rootCause",1],["55229-h-2-malicious-validators-will-bypass-consensus-threshold-req","Validator proof duplication bypasses consensus — AuditVault synthetic reduction","audit-finding","AuditVault","2024-12",null,["vuln/bridge/missing-validation","vuln/bridge/replay"],["bridge"],null,"high","SEDA Protocol",null,"This bug report discusses a critical security issue with the SEDA protocol's cross-chain data verification system. The issue was discovered by a group of researchers and could potentially allow malicious validators to bypass the consensus mechanism and manipulate data on the network. The root cause of the issue was found in the code that accumulates validator voting power without checking for duplicate entries. [continues]","tldr",1],["44320-h-01-vyper-is-not-sent-to-the-treasury-in-buyandburnswapdrag","Vyper Boost — buyAndBurn does not send VYPER to the treasury","audit-finding","AuditVault","2024-12",null,["vuln/logic/fee-calculation","vuln/logic/incorrect-state-transition"],["logic"],null,null,"Vyper Boost",null,"The allocation comment in the audited function shows an 8% liquidity transfer and a 50% treasury transfer, and the treasury transfer was left commented out. `burnVyper` does not know about a reserved treasury share. It burns whatever VYPER is still in the contract, so the treasury's half is burned with the remainder.","rootCause",1],["2024-11-MainnetSettler","0x Protocol \"Settler\" Exploit — Arbitrary External Call via BASIC Action Drains a Leftover Approval","incident","DeFiHackLabs","2024-11","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["dependency","access-control"],"Confused-deputy / arbitrary external call — the router forwards an attacker-chosen `transferFrom` on an attacker-chosen token, exploiting a victim's leftover unlimited approval",null,null,"~$66,000","A swap router that (a) is callable by anyone and (b) exposes a primitive to make an *arbitrary call to an arbitrary contract with arbitrary calldata* is, by definition, a confused deputy: it will exercise any authority it has been granted on behalf of whoever asks. The Settler's authority over a user's tokens comes in two forms: 1. Permit2 allowances — for these, 0x correctly forbids `BASIC` from targeting Permit2 (`_isRestrictedTarget`). [continues]","rootCause",1],["46433-donated-reward-token-can-overflow-the-yieldaccumulator-and-r","A donated reward overflows the uint151 yield accumulator and locks the deposit","audit-finding","AuditVault","2024-11","Ethereum",["vuln/arithmetic/overflow","vuln/dos/frozen-funds"],["arithmetic","dos"],"Donated reward times 1e33 over 999 shares does not fit in uint151",null,null,"1 ether deposit stuck","Share math is `assets * (totalShares + 1000) / (totalAssets + 1)`. A donation of 1 ether with zero shares makes a 1 ether deposit worth 999 shares. The reward donation is then multiplied by 1e33 and divided by those 999 shares, which crosses the 151-bit pack used by every withdrawal.","rootCause",1],["46431-complete-loss-event-counter-resets-to-0-on-partial-loss-cant","A partial loss resets the complete-loss counter and a stale position takes the refill","audit-finding","AuditVault","2024-11","Ethereum",["vuln/logic/state-update","vuln/logic/wrong-condition"],["logic"],"Partial loss leaves `newStrategyCompleteLossEvents` at 0",null,null,"999.999999999999999998 ether taken from a refilled strategy","The partial-loss branch updates yield and loss and forgets the counter. Solidity zeros the unset return. The next `calculateBalance` comparison, which is what wipes positions that missed a complete loss, no longer sees the 4 events the strategy had recorded.","rootCause",1],["2024-11-Ak1111","AkashaOFT (AK1111) Exploit — Permissionless nonblockingLzReceive1() Free-Mint Backdoor","incident","DeFiHackLabs","2024-11","BNB Chain",["vuln/access-control/missing-auth","vuln/bridge/missing-validation"],["access-control","bridge"],"Missing access control → unrestricted `_mint` (free-mint backdoor in a LayerZero OFT)",null,null,"~15,907.5 USDT drained from the AK1111/USDT PancakeSwap pair in this single PoC tx","The minting privilege of an OFT is supposed to be reachable through exactly one path: an authenticated LayerZero message (`lzEndpoint` + `trustedRemote`), which proves an equal amount of supply was burned on another chain. The OFT's whole accounting invariant — *global supply across all chains is conserved* — rests on that single guarded entry point. `nonblockingLzReceive1` punches a second, unauthenticated hole straight into `_mint`: [continues]","rootCause",1],["45462-h-9-abondtokentransferfrom-does-not-work-as-intended-and-all","Autonomint — ABONDToken::transferFrom corrupts userStates and enables Treasury ETH theft","audit-finding","AuditVault","2024-11",null,["vuln/accounting/state-key","vuln/token/erc","vuln/logic/direct-drain"],["accounting","token","logic"],"Wrong mapping key / dual-ledger ERC20","high","Autonomint Colored Dollar V1 — `ABONDToken.transferFrom`",null,"Dual accounting (ERC20 balances + colored `userStates`) updates the wrong address key after debit, breaking EIP-20 semantics and yield redemption.","rootCause",1],["45459-autonomint-cross-chain-price","Autonomint cross-chain price desync — AuditVault 45459","audit-finding","AuditVault","2024-11",null,["vuln/oracle/stale-price","vuln/logic/state-update"],["oracle","logic"],null,null,null,null,"lastEthPrice is updated on one chain without synchronizing the other chain.","tldr",1],["45461-autonomint-downside-dos","Autonomint downsideProtected DoS — AuditVault 45461","audit-finding","AuditVault","2024-11",null,["vuln/arithmetic/underflow","vuln/dos/frozen-funds"],["arithmetic","dos"],null,null,null,null,"An attacker can set downsideProtected so settlement underflows and the protocol is permanently unavailable.","tldr",1],["45458-autonomint-excess-profit","Autonomint excess profit withdrawal — AuditVault 45458","audit-finding","AuditVault","2024-11",null,["vuln/logic/reward-calculation","vuln/access-control/missing-modifier"],["logic","access-control"],null,null,null,null,"The cumulative profit value is not consumed, so CDS owners can withdraw it repeatedly.","tldr",1],["45457-autonomint-odos-data","Autonomint odos data manipulation — AuditVault 45457","audit-finding","AuditVault","2024-11",null,["vuln/input-validation/wrong-type","vuln/logic/missing-validation"],["input-validation","logic"],null,null,null,null,"The assembled Odos payload is trusted without checking its amount or route.","tldr",1],["45456-autonomint-redeem-yields","Autonomint redeemYields accounting — AuditVault 45456","audit-finding","AuditVault","2024-11",null,["vuln/logic/incorrect-state-transition","vuln/access-control/missing-auth"],["logic","access-control"],null,null,null,null,"The caller’s ABOND is debited while redemption state is credited to a different user.","tldr",1],["45460-autonomint-withdraw-accounting","Autonomint withdrawUser deduction — AuditVault 45460","audit-finding","AuditVault","2024-11",null,["vuln/logic/incorrect-state-transition","vuln/arithmetic/precision-loss"],["logic","arithmetic"],null,null,null,null,"withdrawUser deducts one tenth of the user’s deposit instead of the full amount.","tldr",1],["45465-h-12-total-cds-deposited-amount-is-incorrectly-modified-when","Autonomint: a lossy CDS withdrawal corrupts totalCdsDepositedAmount","audit-finding","AuditVault","2024-11",null,[],["untagged"],null,null,null,null,"Before calling the library, `CDS.withdraw` overwrites `cdsDepositDetails.depositedAmount` with the loss-adjusted return value. `CDSLib.withdrawUserWhoNotOptedForLiq` then decrements the aggregate by that already-reduced amount: Removing a 4,000 position that returned only 3,962 leaves the aggregate too high; all subsequent cumulative-value math is computed on the wrong total, stranding USDa. Vulnerable sources: `src/lib/CDSLib.sol` (`withdrawUserWhoNotOptedForLiq`) and `src/Core_logic/CDS.sol` (`withdraw`).","rootCause",1],["45463-h-10-users-can-withdraw-liquidated-collateral-sherlock-auton","Autonomint: a Type-2 liquidated borrower can still withdraw its collateral","audit-finding","AuditVault","2024-11",null,[],["untagged"],null,null,null,null,"`borrowLiquidation.liquidationType2` (used when the position is hedged with a 1x Synthetix short instead of being covered by the CDS) omits every state change that `liquidationType1` performs. Critically it never sets `depositDetail.liquidated = true` and never calls `treasury.updateDepositDetails`. The withdraw path guards on exactly that flag: After a Type-1 liquidation this guard blocks the borrower. [continues]","rootCause",1],["45464-h-11-borrower-withdrawing-at-a-loss-will-cause-losses-for-cd","Autonomint: borrower downside protection is recovered into the whole CDS pool","audit-finding","AuditVault","2024-11",null,[],["untagged"],null,null,null,null,"When a borrower withdraws while underwater, `BorrowLib.withdraw` increases `omniChainData.downsideProtected` and the CDS realizes that loss by subtracting it from `totalCdsDepositedAmount` (`CDS.withdraw` / `CDSLib`). When the price later recovers, the protection is credited back to the pool at large (divided by the full `totalCdsDepositedAmount`) rather than to the specific depositor that funded it. The aggregate therefore drifts below the sum of the individual deposits and a later depositor cannot be made whole. [continues]","rootCause",1],["46430-compoundv2connector-convertsharestoassets-magnitude-scalar-c","Balmy: cToken collateral is priced 1e10 too low and 1 DAI seizes 2e8 DAI","audit-finding","AuditVault","2024-11","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],"Magnitude is `10 + decimals` instead of 18",null,null,"Liquidator pays 1 DAI and receives 2e26 wei of DAI","The magnitude adds a fixed 10 to the underlying decimals. That double-counts the 8 cToken decimals plus an extra 2. The division is too large by `1010` for every 18-decimal underlying, which is the gap the cDAI fork PoC prints.","rootCause",1],["45848-lack-of-an-implementation-for-withdrawing-beneficiaries-bala","Bando — fulfilled beneficiary balances cannot be withdrawn","audit-finding","AuditVault","2024-11",null,["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Missing withdraw. Funds locked after a successful fulfillment.","high","Bando fulfillment escrow",null,"The escrow will not pay a beneficiary unless the caller is the manager. The manager is the only contract supposed to expose that action to the beneficiary, and the audited manager does not. After `registerFulfillment` the tokens are in the escrow and the accounting says they are releasable, but no caller can complete the release.","rootCause",1],["45849-fund-locked-due-to-lack-of-an-implementation-for-withdrawing","Bando — service fees locked in the router","audit-finding","AuditVault","2024-11",null,["vuln/dos/frozen-funds"],["dos"],"Fee collected, then not forwarded and not withdrawable","high","Bando router",null,"The router is willing to accept the fee (the `msg.value` check fails unless the fee is included) but the only outbound value is `request.weiAmount`. Nothing else in `BandoRouterV1` sends the residual balance to the owner, the beneficiary, or the escrow.","rootCause",1],["44375-h-5-attacker-can-drain-stoplimit-contract-funds-through-brac","Bracket receives unlimited StopLimit allowance — AuditVault synthetic reduction","audit-finding","AuditVault","2024-11",null,["vuln/logic/missing-allowance","vuln/dependency/unsafe-external-call"],["logic","dependency"],null,"high","[[Oku'S New Order Types Contract Contest]]",null,"This bug report discusses a vulnerability found in a contract called \"StopLimit\". The issue was discovered by a group of individuals and can be exploited by an attacker to drain funds from the contract. The vulnerability is caused by the contract giving unlimited access to another contract called \"Bracket\" to transfer tokens from the StopLimit contract. [continues]","tldr",1],["51761-decimals-not-ignored-in-amount-calculation-halborn-runemine","Bridge pays 99,000,000 units instead of 990,000","audit-finding","AuditVault","2024-11","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/logic/fee-calculation"],["arithmetic","logic"],"Fee and payout use the raw integer and never scale 8 decimals down to 6",null,null,"98,010,000 extra destination base units are minted","A percentage of the raw integer is only a percentage of the token when both sides share a decimal scale. Here the source integer is 10^8 per token and the destination token is 10^6 per token. Skipping that divide-by-100 mints about 100 times too much, minus the 1% fee on the unscaled amount.","rootCause",1],["2024-11-ChiSale","ChiSale Exploit — Revenue-Share Computed on Full msg.value (Self-Referral ETH Drain)","incident","DeFiHackLabs","2024-11","Ethereum",["vuln/logic/fee-calculation","vuln/logic/incorrect-order-of-operations","vuln/access-control/broken-logic"],["logic","access-control"],"Incorrect refund/payout accounting — revenue share paid on the *full* `msg.value` instead of the *actual* purchase amount; combined with permissionless self-referral",null,null,"~$16.3k","The contract's intended invariant is *\"a buyer pays for the CHI they receive; the referrer earns 22% of that payment.\"* Both halves of that statement are broken: `referralAddress.send(msg.value * 22 / 100)` pays out against the gross ETH sent, while `msg.sender.transfer(remainder)` simultaneously hands back the unused portion of that very same ETH. [continues]","rootCause",1],["50017-h-01-executetransactionfromoutside-does-not-increment-the-no","Clave: executeTransactionFromOutside pays 1000 twice from one nonce-0 signature","audit-finding","AuditVault","2024-11",null,["vuln/auth/signature-replay","vuln/logic/state-update"],["auth","logic"],null,null,"Clave",null,"The digest includes the nonce, but the nonce storage is not updated on the outside path. A signature that was valid for nonce 0 is still valid after it has been used. An operator that later submits the same signed transaction executes it again.","rootCause",1],["2024-11-CoW","CoW Protocol Solver-Router Exploit — Unvalidated uniswapV3SwapCallback Drains Settlement's Residual WETH","incident","DeFiHackLabs","2024-11","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Missing caller authentication in a swap callback (unverified-pool / arbitrary-`transferFrom` via standing token approval)",null,null,"5.373296932158610028 WETH drained from the GPv2Settlement contract","A swap callback is a trusted re-entry point: the AMM pool calls it during `swap()` so the swapper can pay in the input token. The entire security model depends on the callee verifying that the caller is the genuine pool. Uniswap V3 / Pancake V3 codify this with `PoolAddress.computeAddress(factory, poolKey)` and a mandatory `require(msg.sender == pool)`. Omit that check, and the callback degenerates into: \"Anyone may instruct me to `transferFrom(<any payer>, <any recipient>, <any amount>)` of `<any token>`.\" [continues]","rootCause",1],["2024-11-DeltaPrime","DeltaPrime Exploit — Unwhitelisted claimReward() Pair + Cross-Function Reentrancy Drains a SmartLoan's Borrowed Funds as \"Reward\"","incident","DeFiHackLabs","2024-11","Arbitrum",["vuln/reentrancy/cross-function","vuln/logic/missing-validation"],["reentrancy","logic"],"Missing input validation (un-whitelisted pair) + cross-function reentrancy + missing solvency post-check → borrowed funds paid out as \"reward\"",null,null,"66.6195 WETH per loop drained from a DeltaPrime lending pool in the reproduced tx","The drain is a composition of three independent defects in the SmartLoan facets: 1. Un-trusted `pair` / reward token (missing input validation). `claimReward(ILBPair,uint256[])` reads the reward hook and reward token from a `pair` address the caller supplies, with no `isPairWhitelisted` check (every sibling TJ-V2 function has one). The attacker therefore controls both *which contract gets the external call* and *which token is treated as the reward*. [continues]","rootCause",1],["2024-11-proxy_b7e1","ERC1967Proxy (0xb7E1…) Exploit — Unauthenticated \"Order Settlement\" Drains Proxy Reserves","incident","DeFiHackLabs","2024-11","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Missing access control + unvalidated user-supplied accounting (forged-order settlement)",null,null,"~$8.5k","The settlement path of `0x9b3e9b92` combines three failures, each of which alone would be a finding and which together are critical: 1. No access control. The function is reachable by anyone through the proxy fallback. There is no `onlyOwner` / `onlyOperator` / keeper restriction on the order-settlement entry point, so an arbitrary EOA can drive the full create→settle lifecycle. (The proxy admin slot is `0x0`, and the call originates straight from the attacker contract — L22-L25.) [continues]","rootCause",1],["44331-missing-validation-of-vesting-wallets-in-escrowmanagercreate","EYWA — createLock credits a poisoned vesting wallet that never sends its tokens","audit-finding","AuditVault","2024-11",null,["vuln/logic/missing-validation","vuln/access-control/broken-logic","vuln/input-validation/missing"],["logic","access-control","input-validation"],"Missing vesting-wallet validation","high","EYWA DAO `EscrowManager`",null,"The lock amount is the sum of `EYWA.balanceOf` reads. The wallet address is not checked against the vesting factory, and the code never checks that `transfer()` actually moved tokens. A wallet the attacker deployed can report the attacker as beneficiary, sit on a real EYWA balance, and ignore `transfer()`. Listing it twice adds the same balance twice.","rootCause",1],["44338-s-votesbypoolm-pool-persists-indefinitely-leading-to-rewards","EYWA — expired locks keep directing gauge rewards","audit-finding","AuditVault","2024-11","Ethereum",["vuln/governance/proposal-manipulation","vuln/logic/state-update"],["governance","logic"],null,null,"EYWA DAO",null,"Votes are a stored sum, not a per-epoch checkpoint. Expiry changes the escrow's live power and does not write `s_votesByPool`. The only cleaners are `vote`, `poke`, and `reset`, and those refuse a zero live weight. An expired lock therefore keeps its pool in the reward index forever.","rootCause",1],["44336-incorrect-proposalmanagerclock-behaviour-mixbytes-none-eywa","EYWA — ProposalManager.CLOCK returns the block number","audit-finding","AuditVault","2024-11","Ethereum",["vuln/governance/timelock-bypass","vuln/logic/wrong-condition"],["governance","logic"],null,null,"EYWA DAO",null,"The Governor-style clock helper assumes that a token without `CLOCK()` is block-number mode. EYWA's escrow is timestamp mode and simply does not implement the function. The fallback therefore mixes a block number with a delay that was configured as 2 days of seconds. The vote window is placed in 1970 and is already closed.","rootCause",1],["43738-h-1-detaching-hsg-when-theres-non-unregistered-owners-who-no","Hats Signer Gate — detaching the gate leaves a former hat owner in control of the Safe","audit-finding","AuditVault","2024-11","Ethereum",["vuln/access-control/missing-owner-check","vuln/logic/missing-check"],["access-control","logic"],"Detach does not unregister owners who dropped the hat",null,null,"1000 tokens moved out of the Safe by an address that no longer wears the signer hat","`removeSigner` is a separate function, and it refuses to remove an address that still wears the hat. `detachHSG` never calls it. The two calls it does make only clear `guard` and `module` on the Safe. Owner storage is untouched. Once `guard` is the zero address, `execTransaction` skips `checkTransaction`, so `isOwner` is the only check left.","rootCause",1],["2024-11-Matez","Matez Staking Exploit — uint128 Truncation Lets Anyone Stake \"for Free\"","incident","DeFiHackLabs","2024-11","BNB Chain",["vuln/arithmetic/overflow","vuln/logic/state-update"],["arithmetic","logic"],"Integer truncation (`uint256 → uint128` downcast) decoupling *paid amount* from *credited amount*",null,null,"~$80,000","The single defect is a type-width mismatch between the value used to charge the user and the value used to credit the user: `estimateAmountOut(token1, uint128(amnt), 1)` computes the deposit-token amount to pull from a truncated `amnt`, while `selfInvest`, `directInvest`, and `teamInvest` are all incremented by the untruncated `uint256 amnt`. [continues]","rootCause",1],["2024-11-MFT","MFT Token Exploit — Burn-on-Sell sync() Drains the PancakeSwap Pair","incident","DeFiHackLabs","2024-11","BNB Chain",["vuln/oracle/spot-price","vuln/defi/slippage"],["oracle","defi"],"Broken AMM invariant via an un-compensated, permissionlessly-triggerable reserve burn (`_burn(pool)` + `pair.sync()`)",null,null,"~$33.7k","A Uniswap-V2/PancakeSwap pair prices assets purely from its reserves and enforces `x·y ≥ k` *only inside `swap()`*. `sync()` exists to let the pair re-read its real token balances; it trusts that those balances move only through `mint`/`burn`/`swap`/transfers the pair can reason about. `burnLiquidityPairTokens` violates that trust: It destroys MFT held by the pair (`_balances[_mainPair] -= amountToBurn`) and then calls `pair.sync()`, telling the pair \"your MFT reserve is now this much smaller.\" [continues]","rootCause",1],["2024-11-NFTG","NFTG Presale Exploit — Mispriced PresaleWithUSDT() Pays ~13× the USDT Deposited","incident","DeFiHackLabs","2024-11","BNB Chain",["vuln/oracle/wrong-feed","vuln/arithmetic/decimal-mismatch"],["oracle","arithmetic"],"Oracle/denomination mismatch in presale pricing → fixed ~12.94× over-payout per deposit",null,null,"~$10,044","A presale that sells allocation for stablecoin deposits must price the deposit in the same unit it charges. This contract instead: 1. Charges a flat USDT amount (76.5 USDT pulled by `transferFrom`), but; 2. Credits the buyer using a BNB-denominated unit price sourced from the Chainlink BNB/USD feed. [continues]","rootCause",1],["44376-h-6-failure-to-reset-unspent-approval-to-the-target-address","Oku — Failure to reset unspent approval to the target address wipes the contract balance","audit-finding","AuditVault","2024-11",null,["vuln/approval/residual","vuln/logic/direct-drain","vuln/access/untrusted-target"],["approval","logic","access"],"Residual approval / untrusted-target drain","high","Oku Custom Order Types — `OracleLess.execute`",null,"Approvals to untrusted fill targets are not scoped to the amount actually spent. Combined with refunding unspent tokenIn to the order creator, residual allowance becomes a free option on the vault's remaining inventory.","rootCause",1],["44377-h-7-stoplimit-id-collision-with-bracket-orders-due-to-no-val","Oku — stop-limit and bracket orders share one id and a cancel pays twice","audit-finding","AuditVault","2024-11",null,["vuln/logic/missing-validation","vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["logic"],null,"high","Oku custom order types",null,"The id has no contract-specific entropy and no nonce, and the bracket book does not reject an id that is already pending. Stop-limit fills are designed to reuse the stop's id. That reuse is safe only if the id cannot already name a bracket order. Same sender plus same `block.timestamp` makes it name one.","rootCause",1],["44374-h-4-users-can-modify-a-cancelled-order-withdrawing-the-same","Oku OracleLess: a cancelled order can be modified to withdraw its escrow twice","audit-finding","AuditVault","2024-11",null,["vuln/logic/missing-check","vuln/defi/direct-drain","vuln/accounting/double-spend"],["logic","defi","accounting"],null,null,null,null,"`OracleLess.cancelOrder` → `_cancelOrder` removes an order's id from `pendingOrderIds` and refunds `order.amountIn` to the recipient, but it never deletes `orders[orderId]`. The order struct is left fully populated: `modifyOrder` → `_modifyOrder` then re-reads `orders[orderId]` and only checks `msg.sender == order.recipient`. It never checks that the order is still pending/active, so the owner of an already-cancelled order can reduce it and be refunded again: [continues]","rootCause",1],["44378-h-8-insecure-calls-to-safetransferfrom-leads-to-users-tokens","Oku OracleLess: procureTokens pulls from the order recipient, letting an attacker steal a victim's approved tokens","audit-finding","AuditVault","2024-11",null,["vuln/access-control/missing-check","vuln/defi/direct-drain","vuln/token/transferfrom-source"],["access-control","defi","token"],null,null,null,null,"`OracleLess.createOrder` forwards the caller-supplied `recipient` straight into `procureTokens`, which then pulls tokens from that recipient, not from `msg.sender`: Any address with a residual allowance to the protocol can be named as `recipient` by an attacker, and its tokens are pulled into an attacker-crafted order without consent. The attacker then fills their own order through the arbitrary `target`/`txData` call in `fillOrder` → `execute`, keeping the escrowed `tokenIn` and returning only dust `tokenOut`. [continues]","rootCause",1],["44372-h-2-attackers-can-drain-the-oracleless-contract-by-creating","OracleLess executes attacker-controlled target — AuditVault synthetic reduction","audit-finding","AuditVault","2024-11",null,["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],null,"high","[[Oku'S New Order Types Contract Contest]]",null,"The `OracleLess` contract has a vulnerability that allows attackers to drain all `USDT` from the contract. This is caused by the `createOrder()` function not verifying if the `tokenIn` is a legitimate ERC20 token and the `fillOrder()` function not checking if the `target` and `txData` are valid. This allows attackers to create an order with a malicious token and execute it with a malicious `target` and `txData`, resulting in all `USDT` being transferred to the attacker. [continues]","tldr",1],["44373-h-3-lack-of-nonreentrant-modifier-in-fillorder-and-modifyord","Order fill/modify reentrancy steals collateral — AuditVault synthetic reduction","audit-finding","AuditVault","2024-11",null,["vuln/reentrancy/cross-function","vuln/dependency/unsafe-external-call"],["reentrancy","dependency"],null,"high","[[Oku'S New Order Types Contract Contest]]",null,"This bug report highlights an issue with the lack of a certain modifier in the code, which can allow an attacker to steal funds from the victim. The report explains the root causes and provides a detailed attack path, along with a proof of concept. The impact of this bug is considered to be high, as it can result in the loss of funds for both the victim and the protocol. The report also suggests adding the missing modifier to prevent this type of attack. [continues]","tldr",1],["2024-11-PolterFinance_exploit","Polter Finance Exploit — Spot-Reserve Price Oracle Manipulation Drains an Aave-V2 Lending Market","incident","DeFiHackLabs","2024-11","Fantom",[],["untagged"],"Oracle manipulation — DeFi lending price feed reads manipulable spot AMM reserves (not a TWAP/Chainlink-anchored value), inflatable inside a single flash-loaned transaction",null,null,"~$7M — attacker borrowed out the entire lending market against 1 BOO of \"collateral\"","Aave V2's entire risk model rests on one assumption: `getAssetPrice(asset)` returns a value an attacker cannot move cheaply within a transaction. Mainnet Aave satisfies this with Chainlink feeds. Polter Finance broke it by wiring BOO's price to a spot AMM reserve ratio: The BOO oracle computes price as `WFTM_reserve / BOO_reserve` of SpookySwap pools, reading the pools' current ERC20 balances. [continues]","rootCause",1],["46246-overpayment-to-bidder-in-slash-function-due-to-incorrect-amo","Primev — Overpayment to bidder in slash due to incorrect amount transfer","audit-finding","AuditVault","2024-11",null,["vuln/logic/wrong-transfer-amount","vuln/accounting/fee","vuln/logic/direct-drain"],["logic","accounting"],"Wrong transfer amount after correct residual computation","high","Primev — `ProviderRegistry.slash`",null,"Residual/decay accounting is applied to the provider debit but not to the bidder credit — asymmetric transfer.","rootCause",1],["2024-11-RPP","RichPip (RPP) Token Exploit — Sell-Triggered LP Burn Pumps a Self-Manipulated Pool","incident","DeFiHackLabs","2024-11","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Broken AMM invariant via a sell-triggered, un-compensated reserve burn (`_burn(pair)` + `sync()`)",null,null,"+9,718.11 USDT profit reproduced in-fork","A Uniswap-V2 / PancakeSwap pair derives price purely from its reserves and enforces `x·y ≥ k` only *inside `swap()`*. `sync()` exists so a pair can re-read its true balances after a legitimate transfer — it trusts that balances change only through paths it can reason about. `autoLiquidityPairTokens` violates that trust in the worst possible way: It destroys RPP held by the pair (`_burn(pair, 2.06×amount)`) and then calls `pair.sync()`, telling the pair \"your RPP reserve just shrank.\" No USDT leaves the pair. [continues]","rootCause",1],["45985-c-03-removeleverage-uses-an-incorrect-amount-when-redeeming","Self-lending deleverage redeems leftover pods and leaves 980 pair shares unpaid","audit-finding","AuditVault","2024-11","Ethereum",["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],"`redeem` is given leftover pods instead of the pair shares the swap minted",null,null,"980 lending-pair shares never redeemed","The swap's return value is documented as remaining pod amount. `redeem` expects share amount. Using one as the other redeems a dust quantity, and assigning `redeem`'s borrow-token return back into `_podAmtRemaining` also destroys the remaining-pod figure the caller thought it still had.","rootCause",1],["2024-11-X319","Stake319 (X319) Exploit — Permissionless claimEther() drains the contract's BNB","incident","DeFiHackLabs","2024-11","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/broken-logic"],["access-control"],"Missing access control on a fund-withdrawing function (`msg.sender` never checked)",null,null,"20.85 BNB ≈ $12.9k","A function that withdraws value from a contract MUST authenticate the caller. `claimEther` does the opposite of what its structure implies: 1. No `msg.sender` authorization on the value-transferring path. The `CALLER` opcode is used only to *select a branch*, not to *reject* unauthorized callers. The `else` branch (`msg.sender != operator`) is the one that sends native BNB — so being a non-operator is a precondition for the dangerous branch, the exact inversion of a correct access check. [continues]","rootCause",1],["43734-h-3-fontaine-never-stops-the-flows-to-the-tax-and-recipient","Superfluid Locking — Fontaine never stops flows; deposit buffer is permanently lost","audit-finding","AuditVault","2024-11",null,["vuln/lifecycle/missing-close","vuln/funds/locked","vuln/streaming/buffer"],["lifecycle","funds","streaming"],"Missing lifecycle close / permanent buffer lock","high","Superfluid Locking Contract — `Fontaine.initialize`",null,"Streaming lifecycle is half-implemented: open without close. Superfluid's solvency buffer is only returned on close; without close it is stranded.","rootCause",1],["46494-layerzeroadapterexecutemessages-could-lead-to-irrecoverable","Sweep n Flip — LayerZeroAdapter.executeMessages irrecoverable state","audit-finding","AuditVault","2024-11",null,["vuln/dos/frozen-funds"],["dos"],"Array pop mismatch → wrong message deleted, correct one stuck/re-run","high","Sweep n Flip Bridge / LayerZeroAdapter",null,"Mismatch between which message is executed and which is removed from storage.","rootCause",1],["46466-premature-createpair-function-call-will-result-in-the-creati","Sweep n Flip — Premature createPair creates unusable delegated pairs","audit-finding","AuditVault","2024-11",null,["vuln/logic/missing-check"],["logic"],"CREATE2-precomputable wrapper address front-run → permanent delegated flag","high","Sweep n Flip (UniswapV2-NFT AMM)",null,"`createPair` only checks the `isWrapper` registry, not whether an address is a CREATE2-precomputable future wrapper. Front-running `createWrapper` permanently poisons the pair as delegated.","rootCause",1],["46495-incorrect-casting-in-bridge-getroyaltypercentage-leads-to-mi","Sweep n Flip — probe royalty amount is used as the percentage","audit-finding","AuditVault","2024-11","Ethereum",["vuln/logic/fee-calculation","vuln/input-validation/wrong-type"],["logic","input-validation"],null,null,"Sweep n Flip bridge",null,"`royaltyInfo` returns an absolute amount for the sale price it was given. The bridge treats that amount as a percentage and applies it to a different, much larger sale. A small probe price makes a 1% royalty look like 10 bps.","rootCause",1],["46493-permanent-failure-to-bridge-wrapped-erc721-using-bridgesende","Sweep n Flip Bridge — Permanent failure to bridge wrapped ERC721","audit-finding","AuditVault","2024-11",null,["vuln/dos/frozen-funds"],["dos"],"Wrong metadata source for wrapped ERC721 → send always reverts on dest","high","Sweep n Flip Bridge",null,"Payload construction confuses origin vs current-chain addresses. Metadata must come from the contract that exists on the current chain.","rootCause",1],["46496-inaccurate-royalty-calculation-in-werc721royaltyinfo-functio","Sweep n' Flip — WERC721.royaltyInfo pays 0.1% when the bridge stored 1%","audit-finding","AuditVault","2024-11",null,["vuln/logic/fee-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Percentage unit mismatch between Bridge and the wrapper","high","Sweep n' Flip bridge / WERC721",null,"Two contracts disagree on what the percentage word means. Bridge writes `0.001 ether` and calls it 1%. The wrapper divides by `1 ether`, so that same word is 0.1% of the sale. The later fix changed the 1% constant to `100` and made the division match that unit.","rootCause",1],["44371-h-1-unsafe-type-casting-in-token-amount-handling-sherlock-ok","uint256 amount truncates to uint160 — AuditVault synthetic reduction","audit-finding","AuditVault","2024-11",null,["vuln/input-validation/wrong-type","vuln/arithmetic/underflow"],["input-validation","arithmetic"],null,"high","[[Oku'S New Order Types Contract Contest]]",null,"This bug report discusses an issue found in the rotocol's handling of token amounts. The contracts use unsafe type casting from uint256 to uint160, which can lead to silent overflow or underflow conditions. This can potentially allow users to create orders with mismatched amounts, leading to fund loss or manipulation of the system. The root cause of this issue is that Solidity 0.8.x does not protect against data loss during type casting. [continues]","tldr",1],["2024-11-vETH","vETH (Lambo.win) Exploit — Unbacked takeLoan via addVirtualLiquidity Inflates an AMM Pair","incident","DeFiHackLabs","2024-11","Ethereum",["vuln/logic/incorrect-state-transition","vuln/access-control/broken-logic"],["logic","access-control"],"Unbacked token minting into an AMM pair (broken `x·y=k` invariant via virtual-liquidity loan)",null,null,"~$447K total across 3 attackers","The protocol's \"virtual liquidity\" model assumes the loan lifecycle is closed: *factory borrows vETH → seeds an AMM pair → later repays*. Three design facts break that assumption and compose into a profitable exploit: 1. `takeLoan` mints real, spendable, unbacked vETH into an arbitrary address. The only guard is `onlyValidFactory` + a 300-ETH/block cap. There is no requirement that the loan be repaid in the same call, transaction, or even ever. [continues]","rootCause",1],["2024-11-VRug","VRUG (\"Vitalik's Rug\") Exploit — Unsynced UniswapV2 Reserve Donation Harvest","incident","DeFiHackLabs","2024-11","Ethereum",["vuln/defi/slippage","vuln/oracle/spot-price"],["defi","oracle"],"Stale AMM reserve vs. actual balance — untracked token donation harvested via `swap()`",null,null,"~$8.4K","UniswapV2's `K`-invariant only requires that, relative to the cached reserves, the post-swap adjusted balances still satisfy `x·y ≥ k`. It implicitly assumes that the only way `balance1` can exceed `reserve1` is because the caller deposited that token *in the same transaction*. That assumption breaks the moment tokens are pushed to the pair out-of-band: 850,000,000 VRUG was transferred into the pair without `sync()`. [continues]","rootCause",1],["52870-validators-can-front-run-calls-to-addincentive-to-drain-the","A 101-token front-run makes one block pay 100,101 incentive tokens","audit-finding","AuditVault","2024-10","Ethereum",["vuln/defi/sandwich-attack","vuln/logic/wrong-condition"],["defi","logic"],"The first caller pins `incentiveRate` while `amountRemaining` is below the minimum",null,null,"One 0.5 BGT block pays 100,101 incentive tokens","The rate is a permissionless write whenever the remaining inventory is small. A 101 token deposit is enough to move remaining above the minimum, so the victim's later deposit adds tokens and does not replace the rate. The payout then uses the attacker's rate against the victim's tokens.","rootCause",1],["2024-10-AIZPTToken","AIZPT314 Exploit — ERC-314 \"Buy Mints 2× From Reserve\" Price-Skew Drain","incident","DeFiHackLabs","2024-10","BNB Chain",["vuln/oracle/spot-price","vuln/logic/fee-calculation","vuln/defi/slippage"],["oracle","logic","defi"],"Broken AMM invariant — `buy()` removes 2× the bought amount from reserve (user + equal \"fee\" mint) while pricing off `address(this).balance`, letting a buyer corner the token supply and dump it back for nearly all the BNB",null,null,"34.88564338 WBNB","The protocol tries to be a self-contained AMM but breaks the one invariant an AMM must preserve: the reserve change on a trade must equal the counterparty's token movement. In a correct constant-product swap, buying `Δt` tokens for `Δe` BNB moves *exactly* `Δt` out of the reserve to the buyer. Here, `buy()` computes the full curve output `token_amount` but then sends only half to the buyer and the other half to a third party (`feeReceiver`), while still debiting the *whole* `token_amount` from the reserve. [continues]","rootCause",1],["41992-erc-6492-implementation-allows-draining-wallet-funds-by-mani","An ERC-6492 spend approval calls the wallet and moves 10 WETH to the spender","audit-finding","AuditVault","2024-10","Ethereum",["vuln/auth/signature-validation","vuln/access-control/missing-auth"],["auth","access-control"],"A 0x6492 wrapper with a rewritten owner index fails the first check and the checker then calls the wallet",null,null,"10 WETH leaves the smart wallet","The owner index sits outside the signed bytes. Changing it makes a valid signature fail the first lookup. The ERC-6492 side-effect call is specified for preparing a counterfactual account, and here it is aimed at a wallet that is already deployed and already lists the manager as an owner. The batch both steals the balance and repairs the index the signature claimed, so the function returns success instead of reverting the theft.","rootCause",1],["43533-h-4-liquidity-is-incorrectly-calculated-during-addliquidity","An unbalanced LP position makes the AMO quote 4,000 liquidity for 1,000 USD, and the USD stays put","audit-finding","AuditVault","2024-10","Ethereum",["vuln/logic/price-calculation","vuln/dos/frozen-funds"],["logic","dos"],"Liquidity is scaled by in-range liquidity over the USD balance, which a one-sided position can inflate",null,null,"1,000 USD remains in the AMO","Dividing by the USD balance treats that balance as if it backed all in-range liquidity. A position near the USD edge adds liquidity for BOOST and almost no USD, so the ratio `liquidity / usdBalance` jumps. The quote then asks for more liquidity than `usdAmount` can pay at the pool's price.","rootCause",1],["43530-axion-buyback-liquidity","AXION buyback liquidity burn — AuditVault 43530","audit-finding","AuditVault","2024-10",null,["vuln/oracle/spot-price","vuln/logic/price-calculation"],["oracle","logic"],null,null,null,null,"The V3AMO buyback uses a spot-derived amount and burns ten times the requested liquidity.","tldr",1],["49112-h-02-cdpvaultsolliquidatepositionbaddebt-doesnt-correctly-ha","Bad-debt liquidation burns 60 treasury shares instead of 10 and the LP is overpaid","audit-finding","AuditVault","2024-10","Ethereum",["vuln/logic/liquidation-logic","vuln/logic/state-update"],["logic"],"Loss passed to the pool is total debt minus repayment, and profit is 0, so the treasury is charged the interest as well as the principal shortfall",null,null,"Treasury shares fall from 100 to 40","The loss argument is the whole unpaid total, including interest that was never given to the treasury as profit. The principal gap is `debt - repayAmount`, which is 10. Burning 60 shares removes 50 shares of treasury claim that belong to the interest accounting, and the remaining LP shares absorb it as a higher redemption price.","rootCause",1],["43812-erc-7484-registry-checks-missing-on-calls-to-modules-spearbi","Biconomy Nexus — a fallback call skips the ERC-7484 registry and an unregistered module moves the tokens","audit-finding","AuditVault","2024-10","Ethereum",["vuln/access-control/missing-modifier","vuln/logic/missing-check"],["access-control","logic"],"Module execution skips `withRegistry`",null,null,"1000 tokens moved from the account to a fallback module whose attestation was revoked","Installation and executor entry go through `withRegistry`. Fallback dispatch does not. Revoking an attestation updates the registry only. The account's `fallbacks` map still holds the module, and `_fallback` treats a non-zero handler as sufficient. `moduleExecute` then trusts `msg.sender == fallbackHandler` and transfers tokens. That trust was supposed to be re-checked against the registry on every use.","rootCause",1],["46636-claiming-original-allocation-without-staking-rewards-can-lea","Claiming the vested usualS balance first makes the accrued USUAL unclaimable","audit-finding","AuditVault","2024-10","Ethereum",["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],"Staking balance cleared without a reward checkpoint",null,null,"100 USUAL stuck in UsualSP after the vest is claimed","Reward debt is computed from the live balance at checkpoint time. Clearing the balance first makes the owed amount zero, and the balance check then refuses the claim entirely. Nothing writes `rewards[user]` before the balance is gone.","rootCause",1],["45191-h-04-lack-of-differentiation-between-rental-types-leads-to-l","Coded Estate — long-term cancel refunds USDC for a junk booking","audit-finding","AuditVault","2024-10",null,["vuln/logic/wrong-condition","vuln/logic/missing-validation"],["logic"],null,null,"Coded Estate",null,"The two listing denoms are independent, but every cancel path indexes the shared vector by sender and period only. The long-term function then hardcodes the long-term denom for the bank send.","rootCause",1],["2024-10-CompoundFork_exploit","CompoundFork (Pike Finance \"uSUI\") Exploit — Spot-Price Oracle Manipulation of a Compound v2 Fork","incident","DeFiHackLabs","2024-10","Base",[],["untagged"],"DeFi price-oracle manipulation — lending oracle uses a manipulable AMM spot price (`slot0().sqrtPriceX96`) instead of a TWAP",null,null,"~$1M total protocol drain","The lending oracle derives a collateral asset's price from a manipulable AMM spot price (`slot0().sqrtPriceX96` of a single CL pool), and the risk engine trusts that price linearly when sizing borrows. Spot price in an AMM is not a price feed — it is the *result* of the last trade and can be moved arbitrarily within one transaction. The composing decisions: 1. Spot, not TWAP. The custom uSUI feed `0xc112…7e0c` reads `slot0()` directly. [continues]","rootCause",1],["44224-h-1-lenders-and-borrowers-can-not-claim-liquidation-token-af","Debita: burning the veNFT receipt locks 100 AERO that lenders are supposed to claim","audit-finding","AuditVault","2024-10","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"`ownerOf` on a burned receipt reverts the liquidation claim",null,null,"100 AERO of auction proceeds stay in the loan","The claim path needs `decimals` and does not need the current receipt owner. `getDataByReceipt` still calls `ownerOf`, so a burned receipt makes every later claim revert. The liquidation balance is left in the loan.","rootCause",1],["41693-h-06-staking-rewards-should-be-claimed-before-each-balanceof","DYAD — withdrawing before the reward claim pays 0 instead of 1,000 KEROSENE","audit-finding","AuditVault","2024-10",null,["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],null,null,"DYAD",null,"The reward formula reads the current XP, not the XP that was in force since `lastRewardTime`. Deposit, withdraw, mint, burn, and liquidate all change `balanceOfNote` and none of them claim first. A decrease prices the entire elapsed window at the smaller balance, so the staker is underpaid. An increase would overpay. This reproduction is the decrease: the user loses 1,000 KEROSENE.","rootCause",1],["2024-10-Erc20transfer","Erc20transfer Exploit — Permissionless Arbitrary transferFrom Drainer (amount==0 ⇒ \"take it all\")","incident","DeFiHackLabs","2024-10","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Missing access control + missing approval/ownership check on a public `transferFrom` wrapper (approval-phishing harvest)",null,null,"$14,773.35","Three independent missing checks compose into a total drain: 1. No access control. `erc20TransferFrom` has no `onlyOwner` / `onlyRelayer` modifier and never checks `msg.sender`. Any externally-owned account or contract can call it. The `from` (victim) and `to` (recipient) are fully attacker-chosen parameters. 2. No \"caller is `from`\" or signed-authorization check. A safe relayer would require either `msg.sender == from`, or a signature/permit from `from` authorizing *this specific* transfer. [continues]","rootCause",1],["2024-10-FireToken","FireToken Exploit — Deflationary \"burn-from-pool + sync()\" AMM Reserve Drain","incident","DeFiHackLabs","2024-10","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Broken AMM invariant via an *un-compensated* burn of the pool's own reserve + forced `sync()`",null,null,"8.4556 WETH","A Uniswap-V2 pair prices assets purely from its `(reserve0, reserve1)`, and only enforces `x·y ≥ k` *inside* `swap()`. `sync()` exists so the pair can adopt its *actual* token balances as reserves — it implicitly trusts that token balances move only through swaps/mints/burns it can reason about. `FireToken._transfer` violates that trust: On every sell it destroys FIRE held by the pair (`_balances[pair] -= sellAmount`) and then calls `pair.sync()`, telling the pair \"your FIRE reserve is now this much smaller.\" [continues]","rootCause",1],["2024-10-HYDT","HYDT Protocol Exploit — Spot-Reserve Oracle Lets initialMint() Print HYDT at a Manipulated BNB/USD Price","incident","DeFiHackLabs","2024-10","BNB Chain",["vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/oracle/single-source"],["oracle"],"Oracle / price manipulation — spot AMM reserve ratio used as a trusted price feed",null,null,"~$5,800 USDT","A PancakeSwap/Uniswap V2 pair's `getReserves()` returns the *instantaneous* balances. The marginal price `reserveUSDT / reserveWBNB` can be pushed to any value within one transaction by trading against the pool — and reverted just as quickly. Using it as the sole, un-averaged price source for minting a \"stablecoin\" means the attacker, not the market, decides how much HYDT each BNB is worth. Concretely the design defects that compose into the bug: 1. Spot oracle, no TWAP. [continues]","rootCause",1],["2024-10-LavaLending","Lava Lending Exploit — Flash-Inflated Uniswap-V3-LP Collateral Drains an Aave-V2 Fork","incident","DeFiHackLabs","2024-10","Arbitrum",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Manipulable LP-token collateral oracle + self-controllable, flash-inflated collateral position",null,null,"~$131.8K","The oracle did its job (manipulation-resistant *per-token* pricing). The vulnerability is at the protocol-design layer: 1. The collateral asset is freely self-mintable inside one transaction. Accepting a UniV3-LP wrapper whose supply and underlying TVL are unbounded and attacker-controllable means an attacker can synthesize *any amount* of \"collateral\" with borrowed capital, take loans against it, and destroy it again — all atomically. There is no cost basis and no time at risk. [continues]","rootCause",1],["46584-insufficient-slippage-protection-in-mintlvlusd-cantina-none","Level — mintlvlUSD replaces the slippage floor with the slippage itself","audit-finding","AuditVault","2024-10",null,["vuln/defi/slippage","vuln/arithmetic/precision-loss","vuln/defi/sandwich-attack"],["defi","arithmetic"],"Slippage floor overwritten by the allowed-slippage slice","high","Level `LevelBaseReserveManager.mintlvlUSD`",null,"`mulDiv(amount, 5, 10_000)` is the slippage *budget*, not the minimum output. Assigning it over the quote deletes the quote. Subtracting it from the quote leaves a real floor. With the initial parameter of 5 bps, every mint is willing to accept 0.05% of the fair amount.","rootCause",1],["2024-10-MorphoBlue","MorphoBlue PAXG/USDC Market Exploit — Misconfigured Oracle (1e12 Decimal-Scale Error)","incident","DeFiHackLabs","2024-10","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/oracle/wrong-feed"],["arithmetic","oracle"],"Oracle misconfiguration — wrong token-decimal parameters bake a 1e12-too-large `SCALE_FACTOR`, over-pricing collateral by a trillion",null,null,"229,644.22 USDC","The bug is a deployment-time decimal misconfiguration of an otherwise-correct oracle adapter, and a lending core that trusts the market creator to get it right. 1. `SCALE_FACTOR` is immutable and unchecked. It is fixed in the constructor from operator-supplied `baseTokenDecimals`/`quoteTokenDecimals`. The oracle never compares them with the tokens' real `decimals()`. [continues]","rootCause",1],["43809-fallback-logic-prevents-hooks-postcheck-from-getting-execute","Nexus: fallback's assembly return skips the hook and the module keeps 100 tokens","audit-finding","AuditVault","2024-10","Ethereum",["vuln/logic/missing-check"],["logic"],"`return` in assembly exits before `withHook`'s postCheck",null,null,"100 NXT moved off the account","Solidity runs the modifier's trailing statements after the function body. An assembly `return` does not return from the function. It returns from the call. Nothing after it in the modifier executes. The module's token transfer is already in the same frame, so skipping the revert commits the transfer.","rootCause",1],["52869-distributefor-might-be-reentered-leading-to-the-loss-of-bgt","One distributeFor pays 500 BGT because the block increments too late","audit-finding","AuditVault","2024-10","Ethereum",["vuln/reentrancy/single-function"],["reentrancy"],"Incentive transfer calls back before `nextBlock` increments",null,null,"Validator receives 500 BGT from one block","The effect that stops a second payment is written after the interaction. Every nested call still observes `nextBlock == 1` and passes the check. The increments run on the way out, after the BGT has already moved.","rootCause",1],["2024-10-BUBAI","Ora AI (ORAAI) Exploit — Permissionless stuckToken() Allowance Grant Drains the Uniswap Pair","incident","DeFiHackLabs","2024-10","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Missing access control on a state-mutating function → arbitrary allowance grant → pool reserve drain",null,null,"45.93 WETH","This is the simplest, most-classic mistake amplified by an AMM: 1. Missing access control. `stuckToken()` is `external` with no `onlyOwner`/role check. Any address can call it for any `_stuck` target — including the liquidity pair. 2. Allowance granted is the full supply. `_maxTxAmount` is initialised to `_tTotal`, so the granted spend right (1 billion ORAAI) dwarfs anything the pair could ever hold. There is no need to fine-tune amounts. 3. The grant points at an attacker-usable address. [continues]","rootCause",1],["2024-10-P719Token","P719 Token Exploit — Sell Price Inflated by an Un-Compensated Burn Inside transfer()","incident","DeFiHackLabs","2024-10","BNB Chain",["vuln/oracle/spot-price","vuln/logic/incorrect-order-of-operations"],["oracle","logic"],"Broken internal-AMM invariant: sell price is set from a BNB reserve that is not reduced proportionally to the tokens the contract burns on every sell",null,null,"547.18 BNB","P719 tries to be an automated market maker for itself but does not preserve a consistent relationship between its priced reserves and its real token supply. A correct constant-product venue guarantees `x · y = k`: every token added to the pool on a sell must remain in the pool so that the price moves against the seller. P719 instead destroys 95 % of every sold token *after* (or independent of) computing the BNB payout. The effect: 1. Sells are systematically over-priced. [continues]","rootCause",1],["42010-sender-can-brick-stream-by-forcing-overflow-in-debt-calculat","Sablier Flow — Sender can brick a stream by forcing an overflow in the debt calculation","audit-finding","AuditVault","2024-10",null,["vuln/arithmetic/overflow","vuln/dos/permanent","vuln/logic/missing-check"],["arithmetic","dos","logic"],"Unchecked `uint128 * uint128` multiplication with a fully sender-controlled operand (`ratePerSecond`); Solidity 0.8's checked arithmetic reverts once the product overflows, and every debt-dependent entrypoint depends on this one calculation","high","Sablier — token vesting/streaming (`SablierFlow`)",null,"`ratePerSecond` is a sender-controlled parameter with no upper bound enforced relative to `elapsedTime`. The debt calculation assumes the product of \"seconds elapsed\" and \"rate per second\" always fits in a `uint128`, but nothing in the contract enforces that assumption — the sender can set an extreme rate at creation, and Solidity 0.8's checked arithmetic will revert the very first time anyone tries to read or act on the stream's debt after even a few seconds pass.","rootCause",1],["2024-10-SASHAToken","SASHA Token Exploit — Draining a Deployer-Seeded, Massively Mispriced Uniswap V3 Pool","incident","DeFiHackLabs","2024-10","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Mispriced / asymmetrically-seeded AMM pool — cross-pool arbitrage drain (effectively a self-rug of LP funds)",null,null,"~249.28 WETH","Uniswap pools are pure price-from-reserves AMMs. A V3 pool seeded at a deliberately absurd price simply *offers* that price to anyone who trades against it. The four facts that compose into the loss: 1. Asymmetric, mispriced V3 seeding. Someone (the SASHA deployer) created a V3 1% pool and added ~250 WETH of real liquidity against only ~500 SASHA, pinning the price at ~0.5 WETH/SASHA — over a million times the token's real market price. All of that 250 WETH is purchasable for ~500 SASHA. [continues]","rootCause",1],["45235-h-01-createpoold650e2d0-will-not-work-due-to-mismatch-in-sol","Superposition Seawater — createPoolD650E2D0 reverts because the Solidity and Stylus signatures disagree","audit-finding","AuditVault","2024-10","Ethereum",["vuln/logic/wrong-condition","vuln/dos/permanent"],["logic","dos"],"Solidity ABI does not match the Stylus entry",null,null,"Pool creation reverts","The Solidity function's selector is `createPoolD650E2D0(address,uint256,uint32,uint8,uint128)`. The program that actually creates the pool only decodes `(address,uint256,uint32)`. Forwarding `msg.data` sends the five-argument selector. The external Stylus stand-in has no such function, so execution falls through to `fallback` and reverts. `created` stays false. `deposit` requires `created` and reverts before `transferFrom`.","rootCause",1],["41859-h-01-loss-of-fees-due-to-rounding-down-pashov-audit-group-no","TitanX Farms — 1 USDC of collected fees is credited as 0","audit-finding","AuditVault","2024-10",null,["vuln/arithmetic/precision-loss","vuln/arithmetic/rounding","vuln/logic/fee-calculation"],["arithmetic","logic"],null,"high","TitanX Farms",null,"`1e12` is not enough magnitude for a 6-decimal token once liquidity exceeds `1e18`. The report's extreme is `1e6 * 1e12 / 1e38`, which is also 0. The same zero appears as soon as liquidity passes `1e18`: `1e6 * 1e12 / 2e18 = 1e18 / 2e18 = 0`. Collection and accrual are one function, so the tokens move even though the integer division credits nothing.","rootCause",1],["52868-feecollectorclaimfees-lacks-slippage-protection-leading-to-l","Victim pays 1,000 payout tokens and receives 1 wei of fees","audit-finding","AuditVault","2024-10","Ethereum",["vuln/defi/slippage"],["defi"],"`claimFees` sells `payoutAmount` for the full fee balance and takes no minimum",null,null,"Victim pays 1,000 payout tokens and receives 1 wei of the fee token","The payout is taken before the caller can see what the fee balance is, and the function does not take a minimum-out argument. Any non-zero dust balance makes the claim succeed.","rootCause",1],["2024-10-VISTA","Vista Finance Exploit — Flash-Mint Burns Through the Staking Lock to Sell Free Collateral","incident","DeFiHackLabs","2024-10","BNB Chain",["vuln/access-control/broken-logic","vuln/logic/incorrect-state-transition"],["access-control","logic"],"Broken staking-lock invariant: ERC-3156 flash-mint inflates `balanceOf`, the lock check is computed against the inflated balance, and the final raw `_burn` destroys the locked tokens",null,null,"~29,000 USDT","The staking lock is an invariant: *\"a user can never move more than `balanceOf − Σ stakes`.\"* The token enforces it on the only two mutators it overrode — `transfer` and `transferFrom`. But it left two balance-changing primitives unguarded: 1. `_mint` via `flashLoan` inflates `balanceOf` without inflating `stakedAmount`, so it inflates `getFreeBalance` 1:1. [continues]","rootCause",1],["2024-09-unverified_16d0","0x16D0… Exploit — Permissionless multiCallWithRevert Arbitrary-Call Allowance Drain","incident","DeFiHackLabs","2024-09","Ethereum",[],["untagged"],"Permissionless arbitrary external call that inherits the contract's token allowances (confused-deputy / missing access control)",null,null,"329.455616 USDT ≈ $329","An ERC20 `approve` grants a spender the right to move *your* tokens. The user trusted the helper contract with that right. But the helper then re-delegates that right to anyone via an unauthenticated arbitrary-call primitive: `multiCallWithRevert` makes `token.call(data[i])` from `address(this)`. From USDT's point of view the caller is the helper contract — the address that *holds the allowance*. The helper never checks who invoked it or whose tokens the embedded `transferFrom` moves. [continues]","rootCause",1],["2024-09-unverified_766a","0x71cd Swap-Helper Exploit — Permissionless pancakeV3SwapCallback Drains a Pre-Approved Victim","incident","DeFiHackLabs","2024-09","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Missing caller authentication in an AMM swap callback (un-trusted-target / spoofable-pool callback) → theft of a pre-approved token allowance",null,null,"~$100 — 0.18416 WBNB pulled from the victim's pre-approved WBNB allowance","A Uniswap/Pancake V3 swap callback is a privileged trust boundary: the pool transfers the output *first* and then calls `…SwapCallback`, trusting the integrator to pay the owed input *inside* the callback. The canonical safe implementation (see Uniswap's `PancakeV3Pool` / periphery) does: The helper omits that verification entirely. Three independent failures compose into the theft: 1. No caller authentication. The callback does not check `msg.sender == computePoolAddress(...)`. [continues]","rootCause",1],["2024-09-AIRBTC","AIRBTC Exploit — Permissionless done() Token-Sweep Drain of a Helper Contract","incident","DeFiHackLabs","2024-09","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Missing access control — permissionless token-sweep (`done(string,uint256,address)`)",null,null,"~$6.8k","A privileged \"sweep / distribute\" entry point on the helper contract was left callable by anyone: 1. No authorization on `done()`. The function transfers the contract's *entire* AIRBTC balance to a caller-supplied address. It should have been restricted to the owner / an internal distribution flow, but anyone can call it and set `recipient = self`. 2. The helper custodied a large, liquid balance. `0x12050…` held ≈ 1.0099e27 AIRBTC. [continues]","rootCause",1],["2024-09-Bankroll","Bankroll Network Stack Exploit — Self-Buy Dividend Inflation via buyFor(bankRoll, …)","incident","DeFiHackLabs","2024-09","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/access-control/missing-validation"],["logic","access-control"],"Broken dividend-accounting invariant — a holder credits itself dividends by funding *other* accounts' purchases with the contract's own money",null,null,"~404.46 WBNB net profit","The dividend model assumes a buy is net-new capital entering the pool: someone deposits WBNB, keeps 90% as shares, and gifts 10% (split instant/drip) to existing holders. The 20%-instant slice is \"safe\" only because the depositor *forfeits* it. `buyFor` breaks that assumption in two compounding ways: 1. The buy can be funded from an account the caller doesn't own — `transferFrom(_customerAddress, …)`. The function never checks `msg.sender == _customerAddress` nor that an *external* party actually parted with funds. [continues]","rootCause",1],["2024-09-Bedrock_DeFi","Bedrock DeFi (uniBTC) Exploit — mint() Prices Native ETH 1:1 as Native BTC","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/logic/missing-validation","vuln/arithmetic/decimal-mismatch"],["logic","arithmetic"],"Mispriced minting — native asset (ETH) assumed to be BTC; wrong-chain / missing-oracle deployment",null,null,"~$1.7M total during the incident","The protocol's economic model is *\"uniBTC is worth exactly the BTC backing it,\"* and the native-mint path enforces that only on chains where the native coin is BTC. The mainnet deployment carried that assumption across to a chain whose native coin is ETH, which breaks the peg backing: `mint()` mints `msg.value / 1e10` uniBTC unconditionally. On mainnet, `msg.value` is ETH. [continues]","rootCause",1],["2024-09-Caterpillar_Coin_CUT","Caterpillar Coin (CUT) Exploit — LP-Removal \"Value Preservation\" Mints Free Tokens","incident","DeFiHackLabs","2024-09","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/arithmetic/rounding"],["logic","arithmetic"],"Token-mints-tokens on LP removal — \"price/value preservation\" mechanism inflates the remover's balance beyond what the pool actually holds",null,null,"~$1.26M","The protocol implemented a \"value preservation\" feature meant to *compensate* liquidity providers for impermanent loss/fees when they withdraw: on LP removal it computes a \"fair\" CUT value and, if that value exceeds what the pool returned, mints the shortfall to the withdrawer. That is fundamentally unsound for an AMM-backed token: A token must never mint to itself out of thin air as a function of how much liquidity a user removes. [continues]","rootCause",1],["37794-h-05-closetrademarket-providing-wrong-value-when-triggering","closeTradeMarket quotes a zero LINK fee and the 1000 USDC close never settles","audit-finding","AuditVault","2024-09","Ethereum",["vuln/logic/fee-calculation","vuln/dos/frozen-funds"],["logic","dos"],"Oracle notional is divided by `precisionDelta` and `PRECISION` again",null,null,"1000 USDC stuck pending a close whose oracle fee is 0 instead of 1e11 wei of LINK","The recommended argument is `(collateralAmount * leverage) / 1e3`, which keeps collateral precision. The live call divides twice more. `1000e6 * 10000 / 1000 / 1e12 / 1e10` is 0. The undivided notional is 1e10, which is 10000 USDC, and the fee on that notional is 1e11 wei of LINK.","rootCause",1],["40196-permissions-can-drain-approvals-given-to-certain-paymasters","Coinbase Session Keys — a permission drains an approval given to a non-allowlisted paymaster","audit-finding","AuditVault","2024-09",null,["vuln/logic/incorrect-order-of-operations","vuln/access-control/broken-logic","vuln/logic/missing-check"],["logic","access-control"],null,"high","Coinbase Smart Wallet session-key permissions",null,"ERC-4337 runs validation and execution in one `handleOps` transaction, but a revert of the execution call does not roll back the validation calls. `beforeCalls` is on the wrong side of that boundary. The paymaster allowlist is a validation concern: once `validatePaymasterUserOp` returns, the paymaster has already been authorized to charge.","rootCause",1],["2024-09-DOGGO","DOGGO Exploit — Attacker-Triggered Tax Auto-Sell Self-Sandwich","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/defi/sandwich-attack","vuln/oracle/spot-price"],["defi","oracle"],"Attacker-controllable, fixed-size tax auto-sell into the sole pool → self-sandwich / price manipulation",null,null,"~$7K — net 2.7177 ETH extracted by the attacker in one transaction","The token converts an internal accounting condition (its own DOGGO balance vs a threshold) into a market action (a large fixed-size sell into the sole pool with `amountOutMin = 0`) — and the internal condition is freely writable by any external account. Concretely, four design choices compose into the bug: 1. Trigger is a public balance. `contractTokenBalance > _taxSwapThreshold` uses `balanceOf(address(this))`, which anyone can raise by sending DOGGO to the contract. [continues]","rootCause",1],["41686-c-01-the-entire-kerosene-supply-can-be-drained-by-claiming-r","DYAD — a 1 wei Uniswap stake claims the entire kerosene supply","audit-finding","AuditVault","2024-09",null,["vuln/logic/reward-calculation","vuln/arithmetic/precision-loss","vuln/logic/missing-check"],["logic","arithmetic"],null,"high","DYAD Uniswap V3 staking rewards",null,"`liquidity` is a Uniswap uint128 count of liquidity units. `xp` is `balanceOfNote`, which the same review shows is built from 1e18 wad math (`elapsed * adjustedAccrualRate * bonus / 1e18`, with an accrual rate of 1e7 or the documented 1e9). Multiplying those raw values treats 1 unit of XP as 1 wei of kerosene per wei of liquidity per second. There is no division to bring the product back to token decimals.","rootCause",1],["41689-h-02-totalxp-is-wrongly-calculated-for-existing-users-pashov","DYAD — initialize credits lastXP and drops the elapsed bonus","audit-finding","AuditVault","2024-09",null,["vuln/logic/reward-calculation"],["logic"],null,null,"DYAD",null,"The upgrade rewrites each note and copies `lastXP` into `totalXP`. The elapsed bonus is a separate term in `_computeXP`. Skipping that call freezes the note at its last checkpoint.","rootCause",1],["41692-h-05-users-cannot-stake-in-univ3staking-pashov-audit-group-n","DYAD UniswapV3Staking — users cannot stake a Uniswap V3 position","audit-finding","AuditVault","2024-09","Ethereum",["vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["logic"],"ERC721 receiver missing, so `safeTransferFrom` into the staking contract always reverts",null,null,"1,000,000 LP stays with the user","`safeTransferFrom` writes the new owner and then calls `onERC721Received` on the recipient. `UniswapV3Staking` has no such function and no fallback, so the call returns failure, the position manager reverts `UNSAFE_RECIPIENT`, and the owner write is rolled back. The lines that would store `liquidity`, `tokenId`, and `isStaked` never run.","rootCause",1],["2024-09-HANAToken","HANA Token Exploit — Tax-Swap Self-Dump Price Manipulation via Forced Auto-Sell","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/defi/sandwich-attack","vuln/oracle/spot-price"],["defi","oracle"],"Token tax-swap logic dumps the contract's own balance into a flash-loan-manipulated pool at a price the attacker controls",null,null,"~$283 — 0.10833 ETH extracted by the attacker EOA","A fee-on-transfer token that auto-liquidates its treasury must not do so at the instantaneous spot price during an arbitrary user's transaction, and must not let arbitrary users decide when that liquidation happens. HANA violates both: 1. The liquidation is triggered by attacker-controllable state. The only gate is \"contract balance > threshold AND this transfer is a sell.\" [continues]","rootCause",1],["2024-09-INUMI","INUMI Exploit — Unprotected setMarketingWallet() Hijacks the rescueEth() Recipient","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-owner-check"],["access-control"],"Missing access control (broken authorization) on a privileged setter + ETH-rescue function",null,null,"~$11,000","This is a textbook missing-authorization bug, made critical by composing two unguarded functions: 1. `setMarketingWallet()` is permissionless. A function that mutates a payout-destination address is privileged by nature and must be `onlyOwner`. It wasn't. Anyone can point the marketing wallet at themselves. 2. `rescueEth()` is permissionless *and* pays out to that attacker-controllable address. [continues]","rootCause",1],["45168-h-01-unauthorized-contracts-can-bypass-precompile-authorizat","Kakarot — precompile allowlist keys the caller code address","audit-finding","AuditVault","2024-09","zkSync",["vuln/access-control/broken-logic","vuln/access-control/missing-auth"],["access-control"],null,null,"Kakarot zkEVM",null,"The allowlist key is the code being executed, not the account whose storage and balance the call runs against. Delegatecall splits those two. Any listed contract that can be delegatecalled, including one that forwards a caller-supplied recipient, becomes a pass for every other contract.","rootCause",1],["2024-09-MARA","MARA (MaraToken) Exploit — Permissionless Mint via an Unprotected \"Buy\" Proxy that is a Token Keeper","incident","DeFiHackLabs","2024-09","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/centralization"],["access-control"],"Broken access control → unauthorized mint → AMM reserve inflation/drain",null,null,"~8.8 WBNB","The token's mint authority is delegated to a contract whose mint-triggering entry point is permissionless and parameter-driven. Concretely, two independent failures compose into a critical bug: 1. Over-broad keeper trust + arbitrary mint primitive. `releaseTokenFromEventOfProject` is an unconstrained mint (any amount, any recipient, no cost) gated only by a binary keeper flag. There is no cap, no payment check, and no link between minted value and consideration received. [continues]","rootCause",1],["2024-09-OnyxDAO","Onyx Protocol (OnyxDAO) Exploit — Empty-Market Exchange-Rate Inflation + Attacker-Controlled oTokenRepay Liquidation","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/access-control/missing-validation","vuln/oracle/price-manipulation"],["access-control","oracle"],"Empty-market exchange-rate inflation (Compound-fork \"donation\" attack) composed with a liquidation entry point that trusts an attacker-supplied `oTokenRepay` collateral/repay token",null,null,"~$3.8M","This was a two-bug composition, both rooted in misplaced trust: 1. `NFTLiquidation` calls into caller-controlled token addresses with no validation. `oTokenRepay` and `oTokenCollateral` are passed straight from `msg.sender` into low-level external calls (`borrowBalanceCurrent`, `underlying`, `liquidateBorrow`, `mint`, `transfer`). [continues]","rootCause",1],["2024-09-OTSeaStaking","OTSea Staking Exploit — claim() Re-Arms Already-Withdrawn Deposits (Double-Withdraw Drain)","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/logic/incorrect-state-transition","vuln/reentrancy/single-function"],["logic","reentrancy"],"Broken accounting / missing reentry-into-state guard — `claim()` resurrects deposits that `withdraw()` already consumed, enabling unlimited re-withdrawal of the same principal",null,null,"~$26K — 43,944,445 OTSea tokens drained from the staking contract","`rewardReferenceEpoch` is asked to be two things at once: 1. a reward-math anchor that `claim()` legitimately needs to advance, and; 2. a liveness flag where `0` means \"this deposit has been withdrawn, never pay it again\". `withdraw()` respects role #2 (it refuses to act on a `0`). `claim()` only knows about role #1, so it overwrites the flag back to a live value without ever asking \"is this deposit still alive?\". The two functions disagree about what the field means, and the attacker exploits that disagreement: [continues]","rootCause",1],["2024-09-Penpiexyzio","Penpie Exploit — Fake-Market Reward Inflation via Attacker-Controlled getRewardTokens()","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/access-control/missing-validation","vuln/logic/reward-calculation"],["access-control","logic"],"Trusting an attacker-controlled contract's view methods inside accounting (`balanceOf` delta credited as reward); reentrancy/balance-inflation during harvest; permissionless pool registration",null,null,"This PoC slice nets 1,367.72 agETH + 901.79 rswETH","The protocol determines *what* a reward token is, and *how much* was rewarded, from data and code that the market itself supplies, while a malicious market is allowed into the system: 1. Self-declared reward tokens. `getRewardTokens()` is read off the market and trusted verbatim (:632). A fake market simply names the most valuable real LP tokens it wants Penpie to hand out. 2. Balance-delta accounting around an untrusted external call. [continues]","rootCause",1],["2024-09-PestoToken","PESTO (Pesto The Baby King Penguin) Exploit — Flash-Loan-Driven Tax Auto-Swap Self-Sandwich","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/defi/sandwich-attack","vuln/oracle/spot-price"],["defi","oracle"],"Price manipulation via attacker-triggered on-transfer auto-swap of accumulated tax into a thin AMM pool",null,null,"~0.5039 ETH profit to the attacker","A Uniswap-V2 pool prices an asset purely from its instantaneous reserves. The \"sell my accumulated tax for ETH\" routine here is a swap into that pool, executed synchronously inside the very transaction that triggers it, with no slippage protection (`amountOutMin = 0`). Whoever causes the trigger therefore gets to choose the price at which the protocol sells. The four design decisions that compose into a profitable manipulation: 1. Auto-swap is reachable from any sell. [continues]","rootCause",1],["2024-09-PLN","Planet Finance (PLN) Exploit — Zero-Amount Transfer Triggers Uncompensated Pool Burn","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/logic/wrong-condition","vuln/logic/incorrect-state-transition"],["logic"],"Broken AMM invariant via a permissionless, un-compensated reserve burn triggered by a no-cost (amount = 0) transfer to `0xdEaD`",null,null,"~$400k","A Uniswap-V2 pair prices assets purely from its reserves and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists to let the pair re-read its true balances — it trusts that token balances change only through mechanisms it can reason about (mint/burn LP, swap, plain transfers in). PLN's `liqBurnAt` violates that trust: It destroys PLN held by the pair (`_basicTransfer(pair, dead, …)`) and then calls `pair.sync()`, telling the pair \"your PLN reserve is now 100.\" No WETH leaves the pair. [continues]","rootCause",1],["2024-09-Pythia","Pythia Staking Exploit — Reward-Debt Reset via Receipt-Token Transfer","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/logic/state-update","vuln/logic/reward-calculation"],["logic"],"Broken staking reward accounting — receipt token transferable without reward-debt (`pointsCorrection`) adjustment",null,null,"~21 ETH","The receipt token (`SPythia`) is freely transferable, but it is also the unit of reward accounting. The two facts together require that every transfer rebalances `pointsCorrection`. `PythiaTokenStaking` updates reward debt on `mint`/`burn` only and forgets to hook the ERC20 transfer path: 1. No `_update` override. OZ ERC20's `_update` (the single chokepoint through which `transfer`, `transferFrom`, mint, and burn all flow) is left stock. [continues]","rootCause",1],["2024-09-Shezmu","Shezmu Exploit — Unprotected mint() on the Vault Collateral Token","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-owner-check"],["access-control"],"Missing access control on a privileged `mint()` (unlimited fake-collateral mint → over-borrow)",null,null,"~$4.9M realized","A CDP/stablecoin protocol's solvency invariant is *\"every unit of stablecoin is backed by at least its value in genuine collateral.\"* Shezmu protected the mint side (ShezUSD `MINTER_ROLE`) but left the collateral side mintable by anyone. The collateral token at `0x6412…` exposes a public `mint(address,uint256)` with no `onlyOwner` / `onlyRole` / minter check. The vault then treats that collateral as if it were a scarce, market-priced asset and mints ShezUSD against it. [continues]","rootCause",1],["42061-validationdata-not-always-intersected-properly-cantina-none","SmartSession — a userOp time window is overwritten, so 1,000 USDC still moves","audit-finding","AuditVault","2024-09","Ethereum",["vuln/logic/wrong-condition","vuln/logic/incorrect-order-of-operations","vuln/auth/signature-validation"],["logic","auth"],"`ValidationData` is replaced and self-intersected instead of accumulated",null,null,"1,000 USDC transferred","`intersectValidationData(vd, vd)` is the identity (aside from normalizing a zero `validUntil` to `uint48` max). It cannot restore a bound that the assignment on the previous line already threw away. With policy 0 restrictive and policy 1 open, the value that leaves the loop is policy 1. `execute` then treats that open window as permission to transfer.","rootCause",1],["42062-enable-mode-can-be-frontrun-to-add-policies-for-a-different","SmartSession enable-mode can be frontrun to install signed policies under a different permissionId","audit-finding","AuditVault","2024-09",null,["vuln/logic/missing-check","vuln/signature/insufficient-binding"],["logic","signature"],null,null,null,null,"`SmartSession.validateUserOp` parses `(mode, permissionId, packedSig)` out of `userOp.signature` and, in enable mode, forwards them to `_enablePolicies`. `userOp.signature` is not part of the ERC-4337 `userOpHash`, so a bundler or any observer can mutate it freely without invalidating the 4337 signature. Inside `_enablePolicies` (`src/selected/SmartSession.sol#L139-L225`): 1. The enable digest is computed by `HashLib.getAndVerifyDigest` over `sessionToEnable` + `account` + `mode` + `nonce`. [continues]","rootCause",1],["42064-erc-7739-does-not-use-correct-verifyingcontract-address-cant","SmartSession ERC-7739 — a signature for account A spends account B's 1,000 USDC","audit-finding","AuditVault","2024-09","Ethereum",["vuln/auth/signature-replay","vuln/auth/signature-validation","vuln/logic/wrong-condition"],["auth","logic"],"ERC-7739 `verifyingContract` is the session module, so the digest is not account-bound",null,null,"1,000 USDC moved from account B","`_typedDataSignFields` loads `verifyingContract` from `eip712Domain()`, and that function returns `address(this)`. The `mstore` at offset `0xc0` writes that address into the typed-data image. `accept` ignores the account argument and recovers the signer from `digestFor(baked, to, amount)`. Account A and account B therefore present the same digest for the same transfer. A signature recovered against the module is a signature for every account.","rootCause",1],["38333-usds-stability-can-be-compromised-as-collateral-deposited-to","SmartVaultV4 — Gamma collateral is skipped by liquidation","audit-finding","AuditVault","2024-09","Ethereum",["vuln/logic/liquidation-logic","vuln/logic/missing-check","vuln/logic/state-update"],["logic"],null,null,"The Standard Smart Vault",null,"Gamma deposits replace the vault's WETH balance with hypervisor shares. `liquidate` never reads `hypervisors`. The free WETH balance is 0, so `liquidateERC20` transfers nothing. `minted = 0` then makes `canRemoveCollateral` return true immediately, and the borrower calls `removeCollateral` on the WETH that `withdrawYield` just unwrapped.","rootCause",1],["2024-09-unverified_5697","Sniper-Bot Exploit — Unprotected Arbitrary-Call Function Drains a Standing WETH Allowance","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control on an arbitrary external-call primitive + abuse of a standing ERC-20 allowance",null,null,"~$12K — 5.049899842444876795 WETH drained from the victim","Three independent design decisions compose into a one-shot theft: 1. Unauthenticated arbitrary external call. `0x213d8e67` lets *anyone* tell the bot to execute `token.call(arbitraryData)`. Every other value-moving function in the bot checks `isWhitelisted[msg.sender]`; this one does not. An arbitrary-call primitive without access control is equivalent to giving callers the bot's full identity and authority. 2. The bot holds a standing, effectively unlimited token allowance. [continues]","rootCause",1],["60731-incorrect-accounting-in-removeorder-leading-to-loss-of-orde","Talentir — canceling order B locks order A's 100 TOKEN","audit-finding","AuditVault","2024-09",null,["vuln/logic/incorrect-state-transition","vuln/logic/state-update"],["logic"],"The price list drops the oldest order","high","Talentir `TalentirMarketplaceV1`",null,"`_addOrder` pushes new ids to the front of `orderList[price]`. `_removeOrder` always `pop(false)`, which removes the tail. The tail is the oldest order. The maker places order A for 100 TOKEN, then order B for 40 TOKEN, at the same price. Canceling B refunds the 40 TOKEN and pops A. A is marked off-book without a refund. `cancelOrder(A)` then reverts because A is not on the book. The market still holds 100 TOKEN. `getBestOrder` returns B, which is already inactive. [continues]","tldr",1],["2024-09-unverified_03f9","Unverified 0x03F9… Exploit — Permissionless Uniswap V3 Swap-Callback WETH Drain","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Missing access control on a DeFi callback (unauthenticated Uniswap V3 `uniswapV3SwapCallback`)",null,null,"~$1.7k","A Uniswap V3 swap callback is a trusted-by-construction entry point: the pool calls it, and the integrator is expected to (1) confirm that `msg.sender` is the exact pool address that the integrator itself computed for the token/fee tuple, and (2) only then pay the owed amount. The whole security model rests on the integrator refusing to pay anyone who is not that pool. This contract inverts that model: 1. No caller authentication. [continues]","rootCause",1],["2024-09-unverified_a89f","Unverified 0xb309…28Cb MEV Router — Unprotected uniswapV3SwapCallback Token Drain","incident","DeFiHackLabs","2024-09","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Missing access control on an AMM flash-swap callback (un-authenticated `uniswapV3SwapCallback`)",null,null,"0.36 WETH drained in this tx","Uniswap V3's flash-swap pattern is callback-based and inherently dangerous to implement: the pool optimistically transfers the output to the recipient *first*, then calls `uniswapV3SwapCallback(...)` on the caller and expects the input to be repaid before `swap()` returns. A correct integrator MUST authenticate the callback caller, because the callback is the place where it *pays out funds*. The canonical guard is one of: This router has none of that. Its `uniswapV3SwapCallback` handler: [continues]","rootCause",1],["2024-09-WXETA","WXETA (Wrapped Xeta) Exploit — Unprotected Diamond-Facet initialize() → Unlimited Mint → AMM Pool Drain","incident","DeFiHackLabs","2024-09","BNB Chain",["vuln/access-control/uninitialized-proxy","vuln/access-control/missing-auth","vuln/access-control/broken-logic"],["access-control"],"Missing access control on an (un-called) per-facet `initialize()` → privilege takeover → unlimited mint → broken AMM invariant",null,null,"~49,847.5 BUSD drained from the WXETA/BUSD PancakeSwap pair, swapped to 88.30 WBNB","The exploit is a classic uninitialized-privileged-function takeover specialized to the diamond pattern, composing into a mint-and-drain: 1. The facet's initializer is public and self-electing. `initialize()` sets `owner`/`authorized` to `msg.sender` with only a one-time flag for protection (WXETA.sol:56-65). There is no check that the caller is the Diamond owner, the deployer, or any pre-authorized address. 2. The facet's namespace was never initialized at deploy time. [continues]","rootCause",1],["2024-08-unverified_667d","0x8DE7…34E9 Exploit — Permissionless grantRole Lets Anyone Self-Grant Admin and Drain the Bridge/Custody Handler","incident","DeFiHackLabs","2024-08","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-owner-check"],["access-control"],"Broken access control — un-gated `grantRole` (anyone can self-assign `DEFAULT_ADMIN_ROLE`)",null,null,"10,463.638549999999999999 DAI","The handler (`0x667D…A6Dc`) does not independently authenticate the *ultimate* caller; it trusts the router (`0x8DE7…34E9`) to have already authorized the withdrawal. The router *almost* does its job — its `adminWithdraw` is gated. But the role-management surface that decides *who is an admin* was deployed without the standard guard, so the gate is meaningless. I proved both halves empirically against the live fork (helper tests, then removed): [continues]","rootCause",1],["43540-c-01-any-referrer-can-steal-others-scores-pashov-audit-group","A 1 wei deposit moves a 100 ether referrer score and claims the rewards","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/state-update","vuln/logic/reward-calculation"],["logic"],"Every mint overwrites the recipient's referrer in the packed balance word",null,null,"100 ether of referral rewards, plus the 1 wei mint, paid to referrer B","The referrer is not sticky. The depositor chooses it, and the score accounting moves the holder's existing balance onto that id before the `sstore`.","rootCause",1],["41763-h-25-the-attacker-will-prevent-eligible-users-from-claiming","A 1 wei vote after shutdown lets cancel wipe Lewis's 2 ETH claim","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],"Post-execution vote plus a cancel check that reads the live denomination",null,null,"2 ETH of Sudoswap sale proceeds locked in CollectionShutdown","Two checks are wrong. `vote` treats a finished shutdown as still open, and `cancel` scales `MAX_SHUTDOWN_TOKENS` by a denomination the attacker can replace. At denomination 0 the supply check that should block cancel does not fire, and `delete` clears the claim.","rootCause",1],["43542-c-03-fulfiller-can-arbitrate-the-rebalancing-process-interac","A Bunni rebalance fulfiller mints shares before tokenOut is credited and extracts 150","audit-finding","AuditVault","2024-08","Ethereum",["vuln/reentrancy/cross-function","vuln/logic/price-calculation"],["reentrancy","logic"],"`sourceConsideration` runs while tokenIn is gone and tokenOut is not yet in reserves",null,null,"225 token0 gained and 75 token1 given up","The pool's recorded value is not the value it will have at the end of the rebalance. Share minting uses the live reserves. Nothing locks `deposit` between the pre-hook and the post-hook, so the fulfiller prices against the half-updated pool.","rootCause",1],["41742-h-4-in-the-listingssolrelist-function-listingcreated-is-not","A Flayer relist with created set to uint32.max blocks collection shutdown and locks 1000 floor tokens","audit-finding","AuditVault","2024-08","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"`listing.created` is copied from the caller instead of `block.timestamp`",null,null,"1000 FLOOR remains in CollectionShutdown","`created` is an input, not a clock. Shutdown's liveness check trusts it. A future `created` never expires inside the horizon shutdown uses, so an illiquid collection cannot be wound down.","rootCause",1],["2024-08-AAVE_Repay_Adapter","AAVE ParaSwap Repay Adapter — Lingering Allowance + Arbitrary-Call Collateral Drain","incident","DeFiHackLabs","2024-08","Ethereum",[],["untagged"],"Stale ERC20 approval + unchecked arbitrary external call inside a \"swap\" that lets an attacker substitute a fake counterparty for the real one",null,null,"~$56,000 across all tokens left in the adapter","`ParaSwapRepayAdapter` is a *helper* contract that lets an Aave user \"repay debt with collateral\": it pulls the user's aTokens, withdraws the underlying collateral, sells it on ParaSwap for the debt asset, and repays. The selling step lives in `BaseParaSwapBuyAdapter._buyOnParaSwap`. That function has two compounding flaws: 1. It grants the ParaSwap `TokenTransferProxy` an approval for the collateral and never resets it to 0 after the swap (:76-78). Approve-to-zero is done *before* the swap, never *after*. [continues]","tldr",1],["56752-wrong-scaling-for-amount-of-gas-tokens-openzeppelin-none-acr","Across withdraws an 18-decimal gas fee in the custom token's own decimals","audit-finding","AuditVault","2024-08","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/dos/gas-limit"],["arithmetic","dos"],"`getL1CallValue` is 18-decimal and is withdrawn unscaled",null,null,"The funder is charged 2e16 raw units","`getL1CallValue` is correct as an 18-decimal fee and wrong as a token amount whenever the custom gas token does not have 18 decimals. The withdraw and the inbox pull both consume it unchanged.","rootCause",1],["60700-native-tokens-from-the-l1-liquidity-pools-could-be-drained-d","Boba — a wrapping native sum drains 100 ETH from the L1 pool","audit-finding","AuditVault","2024-08",null,["vuln/arithmetic/overflow","vuln/logic/missing-check"],["arithmetic","logic"],"Pre-0.8 addition in the batch deposit","high","Boba `L1LiquidityPool.clientDepositL1Batch`",null,"The pool already holds 100 ETH from an LP. `clientDepositL1Batch` adds each native amount into `ethAmount` and requires `ethAmount == msg.value`. On a compiler older than 0.8 that add wraps. This file is compiled with 0.8.27, so the same add is inside `unchecked`. The attacker sends 1 wei and two amounts: 100 ETH, and `2^256 - 100 ETH + 2`. The wrapped sum is 1. The value check passes. Settlement pays each stored leg that fits in the balance. The 100 ETH leg is paid to the attacker. The huge leg is skipped. [continues]","tldr",1],["60699-using-the-wrong-selector-causes-token-loss-during-erc1155-br","Boba — the wrong ERC1155 selector keeps 1000 tokens on L1","audit-finding","AuditVault","2024-08",null,["vuln/bridge/missing-validation","vuln/logic/wrong-condition"],["bridge","logic"],"The refund message cannot be decoded","high","Boba `L1ERC1155Bridge.finalizeWithdrawalBatch`",null,"The user bridges an ERC1155 batch: id 1 for 400 and id 2 for 600. The escrow token models that sum, N = 1000. `finalizeWithdrawalBatch` pulls the 1000 first. Because `replyNeeded` is true, it sends a message to L2. The selector on that message is `finalizeDeposit`, the single-id function, while the arguments are the batch arrays. L2's `finalizeDeposit` requires a three-word payload. The batch encoding is longer, so the call returns false. Nothing calls `refund`. [continues]","tldr",1],["43545-c-06-double-counting-of-referral-scores-leading-to-over-clai","Bunni: switching referrer pays the old score a second time","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/reward-calculation"],["logic"],"Score moves to the new referrer before rewards are settled",null,null,"0.55 FEE stolen from the referral reserve","Moving the score does not process the destination referrer's pending rewards. The recommendation in C-06 is to settle the referrer who will receive the score before the score is transferred, so the moved balance does not earn rewards that were already paid to the previous referrer.","rootCause",1],["2024-08-COCO","COCO COIN Incident — Abused USDT Allowance Drained via the COCO/USDT Pool","incident","DeFiHackLabs","2024-08","BNB Chain",["vuln/defi/slippage","vuln/logic/missing-validation"],["defi","logic"],"Abused token allowance / approval phishing (off-chain trust failure) — *not* a reentrancy, oracle, or AMM-invariant bug",null,null,"280 BNB total across the campaign","The attacker did not break any contract. They exercised an allowance the victim had already granted: 1. Over-broad approval. The victim `0x51057d…` had executed `USDT.approve(0xb4d13acf… /* attacker contract */, type(uint256).max)`. This is the classic approval-phishing footprint — a user signs an \"unlimited\" token approval to a malicious or compromised contract (often via a fake dApp / drainer). 2. `transferFrom` is permissionless given an allowance. [continues]","rootCause",1],["2024-08-Convergence","Convergence Finance Exploit — Unvalidated claimContracts Lets a Fake Staking Contract Mint the Entire Staking Allocation","incident","DeFiHackLabs","2024-08","Ethereum",["vuln/access-control/missing-validation","vuln/logic/missing-validation"],["access-control","logic"],"Missing input validation / arbitrary external call to an unvalidated contract → unauthorized token mint",null,null,"~$200,000","The protocol split a single privileged action across two contracts and authorized the wrong link of the chain: 1. `CvxRewardDistributor.claimMultipleStaking` treats arbitrary user input as a trusted oracle of claimable rewards. The `claimContracts` array is the user's, but the function calls `claimCvgCvxMultiple()` on each entry and *believes the returned amount*. [continues]","rootCause",1],["41476-h-2-flashswaprouteremptyreserve-and-flashswaprouteremptyrese","Cork: emptyReservePartial returns 0 and the last LV redeem locks 10 RA","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],"The emptied amount is reported as the reserve left behind",null,null,"10 RA stays in the vault","The function's name and the callers both mean \"how much was emptied\". The implementation returns the balance after the subtraction. A full empty is indistinguishable from \"nothing was reserved\".","rootCause",1],["41481-h-7-wrong-accounting-of-locked-ra-when-repurchasing-dspa-wit","Cork: repurchase counts 3 RA of fee twice and the last depositor is short","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],"`incLocked` counts fee RA that `lockUnchecked` already counted",null,null,"Buyer deposits 100 RA and withdraws 103","The RA used to mint CT+DS for the AMM is a slice of the RA the user just provided. It is already in `locked`. `PsmLibrary.unsafeIssueToLv` increments `locked` again by the CT amount. Claims are paid from credit that now sums to more than the token balance.","rootCause",1],["42096-erc20spendinglimitpolicy-doesnt-clear-previous-data-cantina","ERC20 spending limit — a fresh 100 USD limit still locks a 30 USD spend","audit-finding","AuditVault","2024-08",null,["vuln/logic/state-update","vuln/logic/incorrect-state-transition","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Biconomy / Rhinestone Smart Sessions",null,"The new limit and the old counter live in the same struct. Replacing one field does not reset the other. The session looks like it has a fresh 100 USD budget, but the comparison still starts from the previous 80 USD. A token that is absent from the new list is not visited at all, so its old limit remains too.","rootCause",1],["41745-h-7-user-can-pay-less-protected-listing-fees-sherlock-flayer","Flayer protected unlocks get cheaper after the listing count is checkpointed too late","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/fee-calculation","vuln/logic/incorrect-order-of-operations"],["logic"],"Utilization checkpoint is written after `listingCount` has already decreased",null,null,"0.001 collection tokens kept on the second unlock","The fee for a protected listing is a function of how many protected listings the collection still has. That count is updated, and the checkpoint that later reads consume is taken from the updated count, before the next listing is priced. Every subsequent unlock in the batch is one `PER_LISTING` cheaper than the listing that was just closed.","rootCause",1],["41749-h-11-user-can-unlock-protected-listing-without-paying-any-fe","Flayer: a protected listing is unlocked for the raw principal and the compounded fee is never paid","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],"Nominal repayment zeroes `tokenTaken` and skips the compounded unlock fee",null,null,"2055890410801920 of collection-token interest is not burned","Health and unlock price both read the compounded `tokenTaken`. The debt adjustment writes the uncompounded amount. Once `tokenTaken` is 0, every later read of the price is 0, including the burn in `unlockProtectedListing`.","rootCause",1],["41743-h-5-stale-shutdown-params-can-be-reused-to-drain-all-funds-f","Flayer: a second collection shutdown reuses the old sale and pays out 1100 ETH","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/state-update","vuln/logic/missing-check"],["logic"],"`start` keeps `availableClaim` from the previous shutdown and resets quorum from the new token's tiny supply",null,null,"1100 ETH is paid to the attacker","`reclaimVote` only refuses to run when `canExecute` is true, and `execute` sets that flag back to false. `start` copies the stored struct, replaces the token and the quorum, and stores the copy. `availableClaim` and `sweeperPool` survive. The claim formula then mixes the old sale with the new token's balance and the new, much smaller quorum.","rootCause",1],["41741-h-3-quorum-overflow-in-collectionshutdown-leads-to-complete","Flayer: a wrapped shutdown quorum pays 20646 ether on a 1 ether sale","audit-finding","AuditVault","2024-08","Ethereum",["vuln/arithmetic/overflow"],["arithmetic"],"`uint88` downcast of quorum votes",null,null,"20646.851990532126 ETH paid to one holder","`uint88` cannot hold half of `0.6190 ether * 109`. The explicit cast truncates instead of reverting. Every later division by quorum inflates the payout by about the ratio of the true quorum to the wrapped one.","rootCause",1],["41746-h-8-liquidity-provided-when-initializing-a-collection-in-loc","Flayer: collection initializer liquidity is owned by the implementation and cannot be removed","audit-finding","AuditVault","2024-08","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"The only `PoolManager.unlock` adds liquidity credited to the implementation",null,null,"10 WETH and 10 collection tokens left in the pool","The position owner is the peripheral that calls `modifyLiquidity`. The user has no function that makes the implementation unlock the pool with a negative delta. Another contract's `modifyLiquidity` looks up a different owner and reverts.","rootCause",1],["61079-wrong-borrow-balance-calculation-in-the-getloanliquidity-fun","Folks Finance: swapped stable-borrow indexes turn a 200 debt into 50 and release 80 more","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/logic/liquidation-logic"],["logic"],"`calcBorrowBalance` is called with the old index first",null,null,"80 USD drawn from lender cash while the true debt is already 200 against 150 of collateral","The updated index and the stored index are passed in the opposite order from `updateLoanBorrowInterests`.","rootCause",1],["2024-08-IvestDao","iVestDAO Exploit — skim() Re-Routed Through a Reflection Token's Burn-Donation Hook","incident","DeFiHackLabs","2024-08","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/defi/slippage"],["logic","defi"],"Business-logic flaw: reflection-token transfer hook double-spends on a burn-address send, weaponized via `skim()` to break the AMM `x·y=k` invariant",null,null,"~338.28 WBNB","The bug is the composition of two independently-reasonable behaviors: 1. iVESTDAO's `_transfer` double-spends on `to == address(0)`. The intent was \"treat manual burns as donations.\" But the code branches with an `if` that has no `return`, so a zero-address send both burns (A) *and* then performs the regular taxed transfer (B). A correct implementation would either `return` after `__MakeDonation`, or only count the donation once. [continues]","rootCause",1],["38064-native-token-withdrawal-fails-until-manually-approved-codeha","Native-token withdrawal approves the token manager and the maker refund stays in the pool","audit-finding","AuditVault","2024-08","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"`CapitalPool.approve` is given the manager address instead of the token",null,null,"1000 WETH stuck in the capital pool","The argument to `approve` is the spender the pool should approve, not the token the pool should call. The token manager has no `approve` function, so the low-level call returns failure and the withdrawal rolls back.","rootCause",1],["2024-08-NovaXM2E","NovaX M2E Exploit — Stake/Withdraw USD-Value Sandwich via Manipulable AMM Oracle","incident","DeFiHackLabs","2024-08","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Price-oracle manipulation — stored-USD-value sandwich across stake↔withdraw using a spot-AMM oracle",null,null,"~$25,223","The protocol's invariant is *\"a stake is worth a fixed number of dollars; withdrawal returns that many dollars' worth of tokens.\"* That is only safe if \"dollars\" is measured by a manipulation- resistant price. Here it is measured by the spot reserve ratio of a PancakeSwap pair, which a single swap can move arbitrarily within one transaction. Three design facts compose into the bug: 1. Spot-AMM oracle, both directions. `tokenToUsd` (stake) and `usdToToken` (withdraw) read the same manipulable pair. [continues]","rootCause",1],["2024-08-OMPxContract","OMPxContract Exploit — Purchase/BuyBack Price Asymmetry Round-Trip Drain","incident","DeFiHackLabs","2024-08","Ethereum",["vuln/logic/incorrect-state-transition","vuln/logic/price-calculation"],["logic"],"Broken internal-AMM pricing invariant — purchase vs. buyback price asymmetry against a thin reserve",null,null,"4.372869914943298 ETH","Conceptually the price is \"ETH reserve per token.\" A sound market-maker must guarantee that what it pays out on a sell never exceeds what it took in on the matching buy. OMPxContract's two-quote design violates that: 1. The purchase quote pretends the buyer's ETH is not there. `getBuyBackPrice(msg.value)` subtracts the full `msg.value` (:354) so the buyer is priced against the *pre-deposit* reserve. With a thin reserve (5.69 ETH) the base price is tiny: `5.69e18 · 1e18 / 2,269,323e18 ≈ 2.51e12` wei/token. [continues]","rootCause",1],["51986-execution-fee-might-not-be-refunded-to-subaccounts-when-upda","Order update records 0.3 WNT and refunds only 0.001","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/missing-check"],["logic"],"`_autoTopUp` is called with execution fee 0 while the order stores the new deposit",null,null,"Subaccount is not refunded the 0.3 WNT execution fee","The order is credited with the new execution fee and the top-up is told the fee was zero. The cap then binds to the gas term alone, because 0.001 is below 0.5 and the 0.3 is not in the sum.","rootCause",1],["52222-minting-limit-calculation-may-prevent-legitimate-claims-halb","Pepper — minting limit uses totalSupply, blocking legitimate minter airdrops","audit-finding","AuditVault","2024-08",null,["vuln/logic/wrong-condition","vuln/mint/shared-cap"],["logic","mint"],"Shared cap across independent mint paths","high","Pepper",null,"The 40% budget was meant for controlled minter mints but is enforced on the sum of all supply sources.","rootCause",1],["41091-h-05-exposed-removecredidperaddress-addcredidperaddress-al","Phi — Exposed public _add/_removeCredIdPerAddress bricks victim sells","audit-finding","AuditVault","2024-08",null,["vuln/access-control/missing-visibility","vuln/dos/state-corruption"],["access-control","dos"],null,"high","Phi",null,"Public _removeCredIdPerAddress lets anyone strip a victim's credId list so their subsequent sell reverts and shares are frozen","tldr",1],["41090-h-04-forced-endtime-extension-in-updateartsettings-allows-at","Phi — Forced endTime extension in updateArtSettings allows attacker to mint","audit-finding","AuditVault","2024-08",null,["vuln/timing/forced-window-reopen","vuln/nft/unauthorized-mint"],["timing","nft"],null,"high","Phi",null,"After a mint event ends, updateArtSettings forces endTime_ >= now, reopening minting so an attacker can snipe residual maxSupply and dilute holders","tldr",1],["41092-h-06-reentrancy-vulnerability-allows-bypass-of-cooldown-lead","Phi — reentrancy bypasses the cooldown, enabling flash-loan-style reward extraction","audit-finding","AuditVault","2024-08",null,["vuln/reentrancy/single-function","vuln/access-control/stale-state-read","vuln/economic/flash-loan-reward-extraction"],["reentrancy","access-control","economic"],"Reentrancy via ETH refund callback, ordering bug (checks-effects-interactions violation)","high","Phi — `Cred.buyShareCred` / `CuratorRewardsDistributor.distribute`",null,"This is a textbook checks-effects-interactions violation: the *effect* that matters for security (arming the cooldown) is placed after an external interaction (the ETH refund). During that interaction, an attacker-controlled contract regains control with the *old* state still in place — exactly the condition the cooldown exists to prevent.","rootCause",1],["43397-h-06-reentrancy-in-creating-creds-allows-an-attacker-to-stea","Phi — Reentrancy in creating Creds allows an attacker to steal all Ether from the Cred contract","audit-finding","AuditVault","2024-08",null,["vuln/reentrancy/single-function"],["reentrancy"],"Reentrancy + state overwrite before counter increment","high","Phi — `Cred` share trading / cred creation",null,"Effects (cred field writes) and interactions (ETH refund) happen before the critical counter increment, with no reentrancy guard. A second `createCred` on the same open `credIdCounter` overwrites `bondingCurve`, so shares bought under one price function are sold under another.","rootCause",1],["41089-h-03-sharebalance-bloating-eventually-blocks-curator-rewards","Phi — shareBalance bloating eventually blocks curator rewards distribution","audit-finding","AuditVault","2024-08",null,["vuln/dos/unbounded-growth","vuln/gas/enumeration-cost","vuln/logic/missing-cleanup"],["dos","gas","logic"],"Unbounded storage growth feeding an unbounded enumeration loop (DoS via gas-limit exhaustion)","high","Phi — `Cred` / `CuratorRewardsDistributor`",null,"The `EnumerableMap` abstraction is well-suited for a bounded, actively-held set of curators — but `_updateCuratorShareBalance` never removes an entry once added, only ever zeroes its value. Since a cred's popularity is measured in *distinct addresses that have ever traded it*, not *currently active holders*, the map's length grows monotonically with trading activity, independent of the actual number of current shareholders. [continues]","rootCause",1],["41088-h-02-signature-replay-in-createart-allows-to-impersonate-art","Phi — signature replay in createArt allows impersonating the artist","audit-finding","AuditVault","2024-08",null,["vuln/signature/unbound-parameters","vuln/access-control/frontrunning","vuln/logic/silent-duplicate-success"],["signature","access-control","logic"],"Missing binding: the signature covers the art metadata but never the `CreateConfig` (artist/receiver/royaltyBPS), nor the caller","high","Phi — `PhiFactory.createArt`",null,"`createArt` authenticates the *content* being created (the URI and a credential hash) but never authenticates *who owns it* or *who is allowed to submit it*. Since `createERC1155Internal` treats \"art already exists for this URI\" as a harmless no-op rather than a conflict, whichever transaction with this signature lands first — legitimate or not — permanently wins the config slot, and every later resubmission \"succeeds\" while doing nothing.","rootCause",1],["41087-h-01-signature-replay-in-signatureclaim-results-in-unauthori","Phi — signature replay in signatureClaim ignores chain id","audit-finding","AuditVault","2024-08",null,["vuln/access-control/missing-chain-binding","vuln/signature/replay-across-chains","vuln/logic/discarded-validation-field"],["access-control","signature","logic"],"Missing binding: the signed payload encodes a chain id, but the value is never checked against `block.chainid`","high","Phi — `PhiFactory.signatureClaim`",null,"The signed payload's schema *includes* a chain id — the signer clearly intended signatures to be chain-scoped. But `signatureClaim`'s decode statement never binds that value to a variable, so there is nothing left to check against `block.chainid`. The only place that *does* re-derive and substitute the chain id is `Claimable.signatureClaim` (reached via `PhiNFT1155`) — but that substitution happens on the *caller's* side before forwarding, and `PhiFactory.signatureClaim` never enforces that callers go through it.","rootCause",1],["41093-h-07-unrestricted-changes-to-token-settings-allow-artists-to","Phi updateArtSettings — a post-mint royalty hike takes 1000e18 of a sale","audit-finding","AuditVault","2024-08","Ethereum",["vuln/access-control/broken-logic","vuln/logic/missing-check"],["access-control","logic"],null,null,"Phi",null,"`onlyArtCreator` checks that the caller is the artist. It does not check that the art is still unminted, and it does not cap `royaltyBPS`. EIP-2981 `royaltyInfo` multiplies the stored bps by the sale price. A marketplace that honors it will pay the rate that is current at sale time, not the rate the holder saw at mint.","rootCause",1],["41747-h-9-listing-mapping-not-deleted-when-calling-listingsreserv","Reserve leaves the listing in place, so the NFT is sold again and the seller is paid twice","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/state-update","vuln/logic/missing-check"],["logic"],"`reserve` pays the seller and decrements `listingCount` without deleting `_listings`",null,null,"Seller receives 0.4 collection tokens, two 0.2 premiums","The protected listing and the original listing are separate state. Clearing the protected flag does not clear the original listing, and the NFT is still in the locker because the reserver asked not to withdraw it. `fillListings` has no other guard.","rootCause",1],["46671-vulnerability-in-filllporder-allows-draining-of-reward-token","Royco — fillLPOrder credits the whole requested amount as a fee","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/fee-calculation","vuln/logic/reward-calculation"],["logic"],null,null,"Royco",null,"The frontend fee is the order's requested token amount. It is not scaled by the market fee or by how much of the order was filled. Pointing the recipient at the filler, and the requested amount at the book's balance, turns the fee ledger into a withdrawal of the inventory.","rootCause",1],["46674-missing-permissions-check-in-withdraw-and-redeem-functions-i","Royco ERC4626i — Missing permissions check in withdraw and redeem","audit-finding","AuditVault","2024-08",null,["vuln/access-control/missing-modifier"],["access-control"],"Missing access control on share burn / asset transfer","high","Royco — ERC4626i",null,"Share-burn path lacks the standard ERC-4626 authorization check.","rootCause",1],["46672-user-rewards-can-be-permissionlessly-erased-cantina-none-roy","Royco ERC4626i — User rewards can be permissionlessly erased","audit-finding","AuditVault","2024-08",null,["vuln/access-control/missing-modifier"],["access-control"],"Permissionless accrual overwrite; same-block second call zeros rewards","high","Royco — ERC4626i incentivized vault",null,"Overwrite-not-accrue math combined with a permissionless entrypoint and shared `lastUpdate`.","rootCause",1],["46675-unintended-behavior-in-recipe-orderbook-for-null-weiroll-mar","Royco RecipeOrderbook — a null Weiroll market still pulls incentives","audit-finding","AuditVault","2024-08",null,["vuln/logic/wrong-condition","vuln/logic/missing-check"],["logic"],null,null,"Royco RecipeOrderbook",null,"Two defaults line up. A missing order has remaining quantity 0, and `0 > 0` is false, so a zero fill is not rejected. A missing market has `rewardStyle == 0`, which is `Upfront`, so the incentive pull runs even though no market and no order exist.","rootCause",1],["46673-successful-transfers-on-non-existent-tokens-allows-attackers","Royco RecipeOrderbook — successful transfers on non-existent tokens let attackers steal reward tokens","audit-finding","AuditVault","2024-08",null,["vuln/logic/missing-check","vuln/token/codeless-token-transfer","vuln/loss-of-funds/reward-theft"],["logic","token","loss-of-funds"],"No code-existence check before pulling reward tokens; `SafeTransferLib` returns success for a CALL to an address with no code","high","Royco — `RecipeOrderbook` (incentive marketplace)",null,"`createIPOrder` treats a successful `safeTransferFrom` as proof the incentive was deposited, but `SafeTransferLib` cannot distinguish a real transfer from a call to a not-yet-deployed token. There is no `token.code.length > 0` check, so a phantom order records a full incentive amount while depositing nothing — and the orderbook commingles reward balances across orders, so the phantom order is later redeemable against a real deposit.","rootCause",1],["46676-amount-of-protocol-fees-owed-will-be-more-than-intended-in-f","Royco: the first protocol-fee claim bills the campaign end timestamp","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],"First claim uses a zero last-claimed timestamp as the start of the fee window",null,null,"Treasury is paid 1,700.0864 tokens","`feeRewardsLastClaimed` is unset until the first claim writes it. Subtracting 0 from `end` counts every second from the unix epoch through the campaign end, not the seconds the campaign was actually live.","rootCause",1],["42067-installation-reentrancy-concerns-cantina-none-biconomy-pdf","Smart Sessions — enableSessions installs a second module and drains 1000 USD","audit-finding","AuditVault","2024-08",null,["vuln/reentrancy/single-function"],["reentrancy"],null,null,"Biconomy / Rhinestone Smart Sessions",null,"The two storage values that make `isValidSignature` succeed — the session is enabled, and a validator is set — are written before an external call. The storage value that would make it fail — the erc1271 policy — is written after that call. `initializeWithMultiplexer` is specified to run during installation, so a policy that calls out (or a non-malicious policy that forwards to an untrusted contract) runs with the signature gate already open.","rootCause",1],["42065-arrays-are-not-properly-cleared-due-to-iteration-during-remo","Smart Sessions — forward removal leaves a signer who pulls 900 USD","audit-finding","AuditVault","2024-08",null,["vuln/logic/incorrect-state-transition","vuln/logic/wrong-order","vuln/access-control/broken-logic"],["logic","access-control"],null,null,"Biconomy / Rhinestone Smart Sessions",null,"Swap-and-pop stores the tail at the deleted index and shrinks the length by one. A loop that both caches `len` and increments `i` never revisits that slot. Half of the entries are skipped. The value that lands at index 0 and is then jumped over stays in the set, with its position map still set, so `contains` is still true.","rootCause",1],["41366-h-02-use-of-msgvalue-inside-a-loop-pashov-audit-group-none-s","Sofamon GachaMachine — msg.value is spent twice inside one batch","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/fee-calculation","vuln/logic/incorrect-order-of-operations","vuln/logic/wrong-condition"],["logic"],"`msg.value` reused across a loop of internal calls",null,null,"2 ETH taken by the fee sink, and 2 mint credits, for a 1 ETH batch","`msg.value` is the value of the current external call. `batchCommitToMint` calls `commitToMint` as an internal function, so every iteration observes the same `msg.value`. The fee transfer and the `accounted` accumulator both add that full amount again. Nothing in the loop reduces a remaining budget, and the credit `credits[minter] += spins` does not depend on whether this iteration actually paid for a new spin.","rootCause",1],["41367-h-03-orderamount-not-accounted-when-filling-pashov-audit-gro","SofamonExchange — fillAskOrder lets the filler take more than the order","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/missing-check","vuln/logic/fee-calculation","vuln/logic/wrong-condition"],["logic"],"Fill size is not capped at the listed amount, and the payment is not `price * amount`",null,null,"5 NFTs taken from an order of 2, paid with 1 ETH instead of 5 ETH","`amounts[0]` is taken from the filler's calldata, and the ETH value is `order.price` alone. The pool then transfers `amounts[0]` NFTs as long as `msg.value` equals the `maxExpected` argument, which the router also sets to `order.price`. The maker's stored `orderAmount` is not an input to this function, so a calldata amount above that listing is filled in full and underpaid.","rootCause",1],["38062-taker-of-bid-offer-will-loss-assets-without-any-benefit-if-h","Tadle — a partial settleAskTaker pays the taker's collateral to the bid maker","audit-finding","AuditVault","2024-08",null,["vuln/logic/wrong-condition","vuln/logic/fee-calculation","vuln/logic/incorrect-state-transition"],["logic"],null,"high","Tadle pre-market delivery",null,"The equality test gates who receives `collateralFee`, not whether a partial fill is allowed. `_settledPoints > stockInfo.points` reverts, so every smaller positive amount is accepted. Points are pulled before that branch. The else branch does not scale the fee by `settled / points` and does not pay the caller. The following status write closes the stock, so the taker cannot later pass the equality test and take the full-settlement path.","rootCause",1],["38089-missing-abort-status-check-allows-bid-taker-to-steal-users-f","Tadle — closing an aborted bid pays the collateral premium","audit-finding","AuditVault","2024-08",null,["vuln/logic/missing-check","vuln/logic/wrong-condition"],["logic"],"Abort sets `Settled` and the close path never reads `abortOfferStatus`","high","Tadle `DeliveryPlace.closeBidTaker`",null,"Abort and a real settlement share the `Settled` status. `closeBidTaker` does not read `abortOfferStatus`, so the penalty branch pays the collateral rate on top of a deposit that was already the taker's own principal.","rootCause",1],["38066-deliveryplacesettleasktaker-has-incorrect-access-control-cod","Tadle — DeliveryPlace::settleAskTaker has incorrect access control","audit-finding","AuditVault","2024-08",null,["vuln/access-control/wrong-condition","vuln/access-control/role-bypass","vuln/liveness/denial-of-service"],["access-control","liveness"],"Wrong-condition access control: checks the wrong principal against `msg.sender`","high","Tadle — pre-market OTC points-trading protocol",null,"`offerInfo.authority` and `stockInfo.authority` are attached to different roles in Tadle's OTC model: the offer's authority is the party that originally created the offer (maker), while the stock's authority is whoever currently holds the specific settlement stock generated for that leg of the trade (and is the one actually obligated to deliver points on settlement). The devdoc is explicit about which one is supposed to gate `settleAskTaker` — the stock authority — but the code checks the offer authority instead. [continues]","rootCause",1],["38070-the-deliveryplacesettleasktaker-function-mistakenly-uses-mak","Tadle — DeliveryPlace::settleAskTaker() mistakenly uses makerInfo.tokenAddress","audit-finding","AuditVault","2024-08",null,["vuln/accounting/wrong-token","vuln/accounting/direct-drain","vuln/logic/state-corruption"],["accounting","logic"],"Wrong variable used as a function argument (accounting keyed on the wrong token)","high","Tadle — pre-market OTC points-trading protocol",null,"`makerInfo.tokenAddress` and `marketPlaceInfo.tokenAddress` are set at two different points in an offer's lifecycle and can refer to two entirely different tokens: `makerInfo.tokenAddress` is fixed when the maker first creates the offer (their original collateral token), while `marketPlaceInfo.tokenAddress` is the market's configured point token — the asset actually pulled in and delivered during settlement. [continues]","rootCause",1],["38067-formulaic-error-rounds-down-causing-total-loss-of-funds-for","Tadle — formulaic error rounds down, causing total loss of funds for bid takers during abort","audit-finding","AuditVault","2024-08",null,["vuln/math/rounding-direction","vuln/math/integer-bounds","vuln/loss-of-funds/direct-drain"],["math","loss-of-funds"],"Rounding direction / swapped operands in a `mulDiv` call","high","Tadle — pre-market OTC points-trading protocol",null,"`mulDiv(x, y, denominator)` computes `(x * y) / denominator`. The correct refund formula is \"the taker's share of the offer's total backing\" — `purchasedPoints * totalAmount / totalPoints` — which correctly scales a large token amount by a small points ratio. The buggy call instead computes `purchasedPoints * totalPoints / totalAmount`, which has the small point counts as the numerator and the large token amount as the denominator. [continues]","rootCause",1],["41762-h-24-incorrect-index-handling-in-checkpoint-creation-leads-t","The second same-block listing stores checkpoint 1 and locks 1 CT","audit-finding","AuditVault","2024-08","Ethereum",["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],"Same-timestamp checkpoint returns the array length instead of the updated index",null,null,"1 CT locked in ProtectedListings","The early return uses the length captured before the update. Combined with `if (checkpointIndex == 0)` in `createListings`, the first listing's legitimate index 0 forces a second call, and that call hands back an index that was never pushed.","rootCause",1],["43543-c-04-top-bid-can-lock-rent-indefinitely-by-clearing-the-next","The top bid cancels the next bid before K epochs and harvests the fees","audit-finding","AuditVault","2024-08","Ethereum",["vuln/dos/griefing","vuln/logic/missing-check"],["dos","logic"],"Next bid can be replaced and cancelled before its K-epoch promotion",null,null,"1000 fee tokens paid to the manager who cleared a higher bid at no cost","Promotion is delayed by K epochs, and cancellation is permissioned only by the top bid still having K epochs of deposit. Those two rules together let the incumbent delete a challenger before the delay expires, then take the cancellation refund, so the deletion is free.","rootCause",1],["42095-uniactionpolicy-does-not-persist-usages-cantina-none-biconom","UniActionPolicy — two spends move 120 USD through a 100 USD limit","audit-finding","AuditVault","2024-08",null,["vuln/logic/state-update","vuln/logic/wrong-condition","vuln/access-control/broken-logic"],["logic","access-control"],null,null,"Biconomy / Rhinestone Smart Sessions",null,"A usage limit is a value that has to survive the call. Adding into a memory struct inside a view function does not. The comparison `used + amount > limit` always starts from the stored 0, so every spend is judged alone against the full limit.","rootCause",1],["2024-08-VOW","VOW / Vow Finance Exploit — Permissionless 100× VOW→vUSD tokensReceived Mint Mispricing","incident","DeFiHackLabs","2024-08","Ethereum",["vuln/oracle/single-source","vuln/logic/price-calculation"],["oracle","logic"],"Economic / oracle mispricing — un-validated, permissionless mint at a stale internal `usdRate` peg far above market price",null,null,"~$1.0M","The protocol treats `usdRate` as ground truth for converting VOW into a *dollar-pegged stablecoin*, but: 1. The price feed is a static admin parameter, not a market oracle. `getVOWVSCRate()` reads only the two `usdRate` slots. Nothing checks them against the VOW/WETH, VOW/USDT or vUSD/VOW AMM prices, so any gap between the internal peg ($100/VOW) and the market price (≪ $1/VOW) is directly monetisable. 2. The conversion is permissionless and uncapped. [continues]","rootCause",1],["2024-08-YodlRouter","Yodl Router Exploit — Permissionless transferFee() Drains Pre-Approved User Allowances","incident","DeFiHackLabs","2024-08","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Missing access control on a token-moving function + attacker-controlled `from`/`feeBps` (allowance-abuse / arbitrary-`transferFrom`)",null,null,"47,809.355551 USDC","Three design decisions compose into a critical arbitrary-`transferFrom`: 1. `transferFee` is `public` instead of `internal`. It is an accounting helper meant to be called only from within `yodlWithToken`. Public visibility makes it a standalone, unauthenticated entry point. 2. `from` is a free parameter on the ERC20 path with no `from == msg.sender` / `from == address(this)` check. [continues]","rootCause",1],["2024-08-Zenterest","Zenterest Exploit — Stale-Oracle Collateral Mispricing on a Compound Fork","incident","DeFiHackLabs","2024-08","Ethereum",["vuln/oracle/stale-price","vuln/oracle/missing-validation"],["oracle"],"Missing oracle staleness check → collateral mispricing → undercollateralized borrow",null,null,"~$21,000","A push oracle is only safe if consumers reject prices older than some bound — otherwise the feed silently degrades into a constant the moment the off-chain reporter goes quiet (operator wind-down, key loss, dead project, etc.). Zenterest's oracle: 1. Records `updatedAt` but never reads it on the consumer path. The freshness field is decorative. `getUnderlyingPrice`/`assetPrices` return the last-known mantissa unconditionally. 2. The Comptroller has no independent staleness defense either. [continues]","rootCause",1],["37973-inadequate-checking-of-isincreasing-when-trader-adjusts-posi","A Zaros trader flips a long into a larger short while the market is disabled and posts 2,000 USDC","audit-finding","AuditVault","2024-07","Ethereum",["vuln/logic/wrong-condition","vuln/logic/liquidation-logic"],["logic"],"A flip through zero is classified as a decrease",null,null,"2,000 USDC of LP funds posted to a short the trader cannot initially margin","\"Not the same sign\" includes both a genuine reduction and a flip that opens a larger position on the other side. The second case is new risk. It is checked with the looser maintenance margin and it bypasses the disabled-market guard.","rootCause",1],["38504-the-bridging-process-will-revert-if-the-collection-is-matche","ArkProject NFT Bridge — The bridging process will revert if the collection is matched on the destination chain and not on the source chain","audit-finding","AuditVault","2024-07",null,["vuln/logic/wrong-condition","vuln/dos/permanent","vuln/bridge/message-validation"],["logic","dos","bridge"],"Address-pairing mappings are only populated on the chain a collection is withdrawn TO, never on the chain it was bridged FROM, so the verification function can never match — and permanently reverts — for collections in that state","high","ArkProject NFT Bridge — Starknet<->Ethereum NFT bridge (`L1Bridge` / `CollectionManager`)",null,"The verification function treats \"the L1 and L2 addresses in the request must equal what's already recorded in L1Bridge's own mappings\" as the ONLY valid outcome for a collection with a nonzero L1 address — it has no branch for \"this collection's pairing is legitimate but was only ever recorded on the OTHER chain.\" Since the mappings are written only on the receiving chain, any collection whose first bridge direction was the opposite of the current withdrawal direction can never satisfy this check.","rootCause",1],["36914-h-02-incorrectly-assigned-decimal1-parameter-upon-decoding-c","Basin — Incorrectly assigned decimal1 in decodeWellData","audit-finding","AuditVault","2024-07",null,[],["untagged"],null,"high","Basin — Stable2 well function",null,"Copy-paste error on the second zero-default branch. Judge confirmed high severity when decimal0 is non-zero and decimal1 needs the default.","rootCause",1],["36913-h-01-wellupgradeable-can-be-upgraded-by-anyone-code4rena-bas","Basin — WellUpgradeable can be upgraded by anyone","audit-finding","AuditVault","2024-07",null,["vuln/access-control/missing-caller-check","vuln/upgradeable/unauthorized-uups-upgrade","vuln/governance/admin-takeover"],["access-control","upgradeable","governance"],"Missing access control: a `_authorizeUpgrade` override that checks *what* is being upgraded to, but never *who* is calling","high","Basin — BeanstalkFarms' upgradeable constant-function-AMM (`Well`/`WellUpgradeable`), audited under contest repo `code-423n4/2024-07-basin`",null,"The four requires inside `_authorizeUpgrade` all answer the question *\"is this a real, aquifer-registered Well implementation?\"* — a correctness check meant to stop upgrading to garbage addresses. None of them answer the orthogonal question *\"is the caller allowed to upgrade THIS Well?\"*, which is exactly the question `onlyOwner` is supposed to answer and OpenZeppelin's own docs call out as mandatory. [continues]","rootCause",1],["35002-operator-is-not-removed-in-registry-when-validator-has-oweda","Casimir: a full validator return leaves the operator registered and still paid","audit-finding","AuditVault","2024-07",null,["vuln/logic/incorrect-state-transition","vuln/logic/reward-calculation"],["logic"],null,null,"Casimir",null,"`removeOperatorValidator` is not only a collateral-recovery call. It is the update that decreases `operator.validatorCount`. Gating it on a positive shortfall leaves a fully withdrawn operator in the registry. Reward distribution reads that count.","rootCause",1],["35003-accounting-for-rewardstakeratiosum-is-incorrect-when-a-delay","Casimir: an unclaimed delayed balance is counted twice in rewardStakeRatioSum","audit-finding","AuditVault","2024-07",null,["vuln/logic/reward-calculation"],["logic"],null,null,"Casimir",null,"`rewardStakeRatioSum` is increased whenever `rewards` exceeds `latestActiveRewards`. Zeroing `latestActiveRewards` while `reportSweptBalance` still holds the reward makes the same balance pass that test on the next report. The balance tracker itself nets back to 32 ETH. Only the ratio, which prices user shares, keeps the second gain.","rootCause",1],["35001-a-malicious-staker-can-force-validator-withdrawals-by-instan","Casimir: staking and unstaking in one transaction forces a validator exit","audit-finding","AuditVault","2024-07",null,["vuln/dos/griefing"],["dos"],null,null,"Casimir",null,"A deposit and an unstake in one transaction are treated as a liquidity shortfall against active validators. The exit count uses integer division by `VALIDATOR_CAPACITY` and then rounds any remainder up, so any positive shortfall below 32 ETH exits a whole validator. Ready stake that the deposit just created is not spent first.","rootCause",1],["35789-centrifuge-router-can-perform-untrusted-actions-on-behalf-of","Centrifuge — any caller can spend an opened vault through the router","audit-finding","AuditVault","2024-07",null,["vuln/access-control/missing-modifier","vuln/logic/missing-check"],["access-control","logic"],null,"high","Centrifuge VaultRouter",null,"Endorsing the router is a delegation to a contract, not to every user of that contract. The router forwards `owner` and `controller` from calldata. `protected` only records who called. It does not compare that caller to `owner`. So the operator bit, which was meant to let the owner act through the router, lets every other caller act as the owner.","rootCause",1],["35790-assets-can-get-stuck-in-transferproxy-spearbit-none-centrifu","Centrifuge — transferAssets cannot pull the TransferProxy balance","audit-finding","AuditVault","2024-07",null,["vuln/logic/missing-allowance","vuln/dos/frozen-funds"],["logic","dos"],"Missing allowance, so bridged assets are frozen in the proxy","high","Centrifuge `PoolManager.transferAssets` / `TransferProxy`",null,"`transferFrom` spends the proxy's allowance for the caller. Deployment of the proxy does not call `approve(poolManager)`. Every later pull fails, and the tokens have no other exit in this path.","rootCause",1],["52006-signature-does-not-take-all-parameters-into-account-and-can","Common Pool — signature omits nonce/expiry and can be reused","audit-finding","AuditVault","2024-07",null,["vuln/signature/incomplete-scope","vuln/auth/replay"],["signature","auth"],"Incomplete signature domain / replay","high","Common Pool / RFX",null,"Anti-replay fields exist in the struct and are validated against live state, but because they are outside the signed message an attacker can freely rewrite them to match the current epoch.","rootCause",1],["37590-non-standard-erc20-tokens-could-be-locked-in-the-contract-zo","Cyber Finance: a reward token with no bool return, or a fee, stays locked in the distributor","audit-finding","AuditVault","2024-07",null,["vuln/dependency/unchecked-return-value","vuln/dos/frozen-funds","vuln/input-validation/wrong-type"],["dependency","dos","input-validation"],null,null,"Cyber Finance",null,"The high-level `IERC20.transfer` binding demands 32 bytes of returndata. USDT-style tokens return nothing, so the Solidity call reverts before `success` is stored and the whole claim rolls back. Tokens that were already in the distributor cannot leave through this function. A fee-on-transfer token can return a bool and still fail the require: `deposit` credits the requested 1000, the token keeps 100, and `withdrawReward(1000)` gets `false` because the distributor only holds 900. [continues]","rootCause",1],["2024-07-DeFiPlaza","DeFiPlaza Exploit — Constant-Product swap Degenerates When the Input Reserve Is Drained to Zero","incident","DeFiHackLabs","2024-07","Ethereum",["vuln/oracle/price-manipulation","vuln/arithmetic/division-before-multiply"],["oracle","arithmetic"],"Broken AMM invariant — constant-product swap divides by a manipulable, zero-able input reserve",null,null,"~$200K","The flaw is the combination of (a) a constant-product swap that divides by the input reserve with no floor, and (b) a single-sided `removeLiquidity` that can drive one reserve (ETH) to zero while leaving the others full. A healthy AMM keeps `X·Y = k` invariant: as `X` shrinks, the marginal price of `X` explodes, so you can never buy out the whole `Y` reserve cheaply because each unit of input costs exponentially more output. [continues]","rootCause",1],["2024-07-DoughFina","DoughFina Exploit — Permissionless Flash-Loan Connector Drains Any User's DSA","incident","DeFiHackLabs","2024-07","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Broken access control — caller validation that authenticates the *contract* but not the *operation* (confused deputy) + arbitrary external call with attacker-controlled target & calldata",null,null,"~$1.81M","The protocol's authorization model assumes a single, controlled call path (`owner → DSA.doughCall → connector → DSA.executeAction`). Every downstream guard is written for *that* path: \"only the connector may call `executeAction`\". But the connector itself never enforces the front of that path. Concretely: 1. No authentication on `flashloanReq` / `executeOperation`. The connector is a *permissionless deputy*. It will perform privileged DSA operations for whoever calls it. [continues]","rootCause",1],["61051-attacker-can-get-unlimited-loan-for-some-minimum-deposit-due","Folks Finance: ten zero-fAmount deposits make 1 ETH of collateral count eleven times","audit-finding","AuditVault","2024-07","Ethereum",["vuln/logic/missing-check","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Duplicate `colPools` entries re-add the same collateral balance",null,null,"Net 6999999999999999990 wei is extracted","A zero fAmount does not change `balance`, so the next deposit still sees 0 and pushes the same id again. The liquidity loop has no uniqueness check. One real balance is multiplied by the length of the array.","rootCause",1],["40194-h-01-storage-slot-collision-pashov-audit-group-none-gainsnet","Gains — aggregator storage overwrites the OTC owner","audit-finding","AuditVault","2024-07",null,["vuln/access-control/proxy-storage-collision","vuln/logic/state-update"],["access-control","logic"],"A two-slot miscount collides the aggregator tail with OTC storage","high","Gains Network `PriceAggregatorStorage` / `OtcStorage`",null,"The layout comment treats `bytes32[2]` as 64 bits that pack into the first slot. A `bytes32` does not pack into the 64 bits left beside an address, a `uint24`, and a `uint8`. The array takes the next two slots, and the gap is pushed onto the OTC struct.","rootCause",1],["2024-07-GAX","GAX Swap Exploit — Caller-Dictated Output Amount With No Input/Price Check","incident","DeFiHackLabs","2024-07","BNB Chain",["vuln/logic/missing-validation","vuln/logic/price-calculation"],["logic"],"Missing input-vs-output validation in a swap function — caller fully controls the payout amount (a.k.a. \"arbitrary withdrawal / broken swap pricing\")",null,null,"~$49,583.84","The swap function lets the caller name the output amount and never verifies that the input is worth it. Specifically: 1. The payout (`amountOut`) is an unbounded, caller-supplied parameter. The contract calls `USDT.transfer(msg.sender, amountOut)` with no check that `amountOut` corresponds to the value of the GAX received. There is no exchange rate, no oracle, no `amountOut = amountIn * price` computation — the two are completely decoupled. 2. The input (`amountIn`) can be zero. [continues]","rootCause",1],["51279-missing-xgorplestoken-decrement-in-finalizeredeemfor-halborn","Gorples — missing xBorpaBalances decrement in finalizeRedeemFor","audit-finding","AuditVault","2024-07",null,["vuln/accounting/missing-decrement","vuln/redeem/double-claim"],["accounting","redeem"],"Incomplete state update on alternate code path","high","Gorples / Entangle — `xGorplesToken`",null,"Two finalize paths diverged: the user-facing path updates internal balances; the SYSTEM batch path only pays out.","rootCause",1],["58121-h-01-inconsistent-spread-and-price-impact-charges-pashov-aud","gTrade charges 250 DAI instead of 500 DAI when a pre-v9.2 position is increased and closed","audit-finding","AuditVault","2024-07","Ethereum",["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],"Half spread and half price impact on increase, zero on a legacy close",null,null,"Trader pays 250 DAI instead of 500 DAI on a 100,000 DAI increase of a pre-v9.2 trade","`prepareCallbackValues` hardcodes the half-spread flag and the half-impact flag. That 50% rate is the normal charge for a round trip that will also pay 50% on the way out. `getTradeClosingPriceImpact` returns zero impact, zero fee, and the raw market price whenever `maxLiqSpreadP` is 0. A legacy trade therefore pays the open-side half and never pays the close-side half.","rootCause",1],["37690-insufficient-validation-of-referral-address-in-mint-zokyo-no","Heurist — mint pays the referral fee to any address","audit-finding","AuditVault","2024-07",null,["vuln/input-validation/missing","vuln/logic/fee-calculation"],["input-validation","logic"],"Referral address is not validated","high","Heurist `ZkImagine.mint`",null,"The discount is implemented as a payment to an address chosen by the buyer. Nothing ties that address to a referrer the protocol actually registered, and nothing stops the buyer from naming themselves.","rootCause",1],["37688-unrestricted-repeated-minting-via-partner-nft-transfer-explo","Heurist — one partner NFT mints again after each transfer","audit-finding","AuditVault","2024-07",null,["vuln/logic/missing-check","vuln/logic/state-update"],["logic"],"The 24h limit is stored per wallet, not per partner token id","high","Heurist `partnerFreeMint`",null,"The report says users transfer the partner NFT between wallets because the contract does not record which token id was used.","rootCause",1],["37689-reentrance-in-partnerfreemint-zokyo-none-heurist-markdown","Heurist — partnerFreeMint reenters before lastMinted is set","audit-finding","AuditVault","2024-07",null,["vuln/reentrancy/single-function"],["reentrancy"],"Checks-effects-interactions. The stamp is the effect and it is last","high","Heurist `partnerFreeMint`",null,"The report says `_safeMint` runs before `lastMinted` is updated, so a contract receiver can reenter and bypass the 24 hour limit.","rootCause",1],["41066-h-02-the-operator-can-create-a-nativevault-that-can-be-silen","Karak — [H-02] An operator can create a NativeVault that is silently unslashable","audit-finding","AuditVault","2024-07",null,["vuln/access-control/missing-validation","vuln/logic/missing-check","vuln/dos/permanent"],["access-control","logic","dos"],"Operator-controlled `extraData.slashStore` is stored with no validation against the protocol's whitelisted slashing handler; the mismatch makes every real slash revert","high","Karak — restaking (`Core` / `NativeVault` / `SlasherLib`)",null,"A missing input-validation check: `deployVaults()` → `initialize()` never verifies the operator-chosen `slashStore` against `assetSlashingHandlers[asset]`. The `slashAssets()` guard then compares the *protocol's* handler against that *operator's* value, so any mismatch — trivially arranged by the operator — turns the guard into a permanent DoS of slashing for that vault.","rootCause",1],["41067-h-03-a-dos-on-snapshots-due-to-a-rounding-error-in-calculati","Karak — [H-03] A DoS on snapshots due to a rounding error in calculations","audit-finding","AuditVault","2024-07",null,["vuln/arithmetic/underflow","vuln/dos/permanent","vuln/rounding/share-price"],["arithmetic","dos","rounding"],"Unchecked subtraction between a cached value and a freshly-rounded ERC4626 conversion that can round upward past it","high","Karak — restaking (`NativeVault`)",null,"`node.totalRestakedETH` is a point-in-time cache of `convertToAssets(balanceOf(nodeOwner))` from the last successful snapshot. ERC4626-style conversions round using integer division, and as OTHER users deposit or their shares change the global `totalAssets`/`totalSupply` ratio, the SAME node's `balanceOf` converts to a slightly different asset amount than it did before — and can round upward. [continues]","rootCause",1],["41068-h-04-violation-of-invariant-allowing-dsss-to-slash-unregiste","Karak — [H-04] Violation of Invariant Allowing DSSs to Slash Unregistered Operators","audit-finding","AuditVault","2024-07",null,["vuln/logic/wrong-condition","vuln/access-control/missing-validation","vuln/state/invariant-violation"],["logic","access-control","state"],"A time-delayed operation (unregister) and a competing time-delayed operation (slash finalization) can race each other because neither checks the other's pending state","high","Karak — restaking (`Core`)",null,"Two independently time-delayed state machines — the unstake/unregister flow (gated by `MIN_STAKE_UPDATE_DELAY`) and the slash flow (gated by `SLASHING_VETO_WINDOW`) — can be in flight at the same time for the same `(operator, dss)` pair, but neither checks the other's pending state at its own finalization point. [continues]","rootCause",1],["2024-07-Lifiprotocol","LI.FI Protocol Exploit — Arbitrary External Call via Unvalidated depositToGasZipERC20","incident","DeFiHackLabs","2024-07","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["dependency","access-control"],"Arbitrary external call (unvalidated `callTo`/`callData`) → approval drain",null,null,"~$10M across many approved wallets / multiple tokens","The LI.FI Diamond holds open ERC-20 allowances from a huge number of users. Its entire safety argument is: \"the only thing the Diamond will ever do with your tokens is call an allow-listed DEX with an allow-listed selector.\" That invariant is enforced in `SwapperV2._executeSwaps` (`LibAllowList.contractIsAllowed` + `selectorIsAllowed`). `GasZipFacet.depositToGasZipERC20` breaks the invariant in the most direct way possible: 1. It is `public` with no modifiers. [continues]","rootCause",1],["2024-07-LW","LinkingTheWorld (LW) Exploit — _internalSwap Underflow Mints Infinite Self-Balance & Drains the Fee Pool","incident","DeFiHackLabs","2024-07","BNB Chain",["vuln/arithmetic/underflow","vuln/oracle/price-manipulation"],["arithmetic","oracle"],"Unchecked-arithmetic underflow (pre-0.8) → infinite internal balance; AMM fee-swap that prices off the contract's *own* `_balances` mapping instead of real pool reserves",null,null,"~7,395.94 BUSDT","The bug is the combination of an unchecked underflow and an AMM swap priced from the token's own bookkeeping instead of the pool's reserves: 1. Unchecked underflow seeds an infinite self-balance. Under Solidity 0.7.6, `_balances[address(this)] -= swapAmount` with a zero starting balance wraps to ≈ `2²⁵⁶−1`. After that, the contract \"owns\" essentially all the LW that can ever exist, and `transferFrom(address(this), …)` lets anyone pull it out (the `sender==address(this)` path needs no allowance). [continues]","rootCause",1],["36348-h-08-wrong-usage-of-variables-for-calculatesupply-pashov-au","Lucidly — addLiquidity solves supply with the wrong balances","audit-finding","AuditVault","2024-07",null,["vuln/logic/wrong-condition","vuln/logic/state-update"],["logic"],"Wrong arguments to the supply update","high","Lucidly `Pool.addLiquidity`",null,"The first call was written with the arguments of the later fee mint: previous supply, final balances, and round up. Those are the wrong inputs for the LP minted to the depositor. The zero previous supply also makes the first deposit revert.","rootCause",1],["36353-h-13-incorrect-supply-update-when-adding-token-pashov-audit","Lucidly — addToken updates supply with the old amplification","audit-finding","AuditVault","2024-07",null,["vuln/logic/state-update","vuln/logic/price-calculation"],["logic"],"Supply and the LP mint use the pre-update amplification","high","Lucidly `Pool.addToken`",null,"The new amplification is an input of `addToken` because adding an asset changes `A f^n` even when the economic amplification is meant to stay put. The supply update ignores that input and solves the invariant at the previous `A f^n`. The LP minted to the adder, the stored supply, and every later mint that subtracts that supply are then off by the same gap.","rootCause",1],["36352-h-12-incorrect-supply-usage-pashov-audit-group-none-lucidly","Lucidly — removeLiquidity prices the burn with totalSupply","audit-finding","AuditVault","2024-07",null,["vuln/logic/price-calculation","vuln/logic/state-update"],["logic"],"Circulating LP is used where the invariant `supply` belongs","high","Lucidly `Pool.removeLiquidity`",null,"`_burn` changes `totalSupply` immediately and does not change `supply`. The product is documented against the invariant. Reading the circulating supply after the burn feeds a different number into `supply * weight / balance`, so the stored product and the token amounts diverge from the yETH formula.","rootCause",1],["2024-07-MEVbot_0xdd7c","MEV Bot 0xDd7c…3685 Exploit — Forgeable Uniswap-V3 Callback Authentication","incident","DeFiHackLabs","2024-07","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Broken caller authentication — Uniswap-V3 swap-callback pool check derived from attacker-controlled factory + init-code-hash",null,null,"~$19K — 3.481 WETH + 4,021.32 USDT + 3,023.95 USDC drained from another MEV bot","A CREATE2 pool-authentication check is only meaningful if both inputs to the address derivation are trusted protocol constants: If `FACTORY` or `INIT_CODE_HASH` is attacker-controlled, the attacker can invert the equation: choose any `msg.sender` they want, then back-solve a `(FACTORY, INIT_CODE_HASH)` pair (here, by deploying their contract via CREATE2 with a known init-code) so that `derivedPool` equals that `msg.sender`. The \"authentication\" then authenticates the attacker. That is exactly what happens here. [continues]","rootCause",1],["2024-07-Minterest","Minterest (Mantle) Exploit — Stale Exchange-Rate in lendRUSDY Inflates mUSDY Collateral","incident","DeFiHackLabs","2024-07","Blast",["vuln/oracle/stale-price","vuln/logic/incorrect-order-of-operations"],["oracle","logic"],"Stale/asymmetric exchange-rate accounting in a Compound-fork lend/redeem pair; self-deposit moves the rate within the same call",null,null,"~427 ETH","A Compound-fork market’s exchange rate is a function of its own cash: `exchangeRate = (cash + totalBorrows − protocolInterest) / totalTokenSupply`. The market is only safe if mint and redeem evaluate that rate at the same logical instant — either both before the caller’s cash movement or both after. Minterest’s rUSDY override broke that symmetry: [continues]","rootCause",1],["2024-07-MRP","MRP / WMRP Exploit — ERC314 Add/Remove-Liquidity Reserve Drain via Re-entrant Self-Buy","incident","DeFiHackLabs","2024-07","BNB Chain",["vuln/reentrancy/single-function","vuln/defi/slippage"],["reentrancy","defi"],"Broken AMM accounting — re-entrancy between `_addLiquidity` and `_removeLiquidity` lets LP shares be minted against a pre-inflation reserve and redeemed against a post-inflation reserve",null,null,"~17.96 BNB drained from the `WMRP` internal AMM pool","A safe Uniswap-V2 mint/burn pair preserves the invariant that LP shares are *always* valued against the same reserves: you mint `min(dx·L/x, dy·L/y)` and you burn `liquidity·x/L`, both with the same `(x, y, L)` snapshot, so a deposit-then-withdraw round-trip can never extract more than it put in (minus fees). `WMRP` breaks this in two independent ways and then lets re-entrancy stitch them together: 1. Asymmetric reserve snapshots. [continues]","rootCause",1],["50881-non-refunded-excess-fee-in-setpricesfrompricefeed-function","NLX — non-refunded excess fee in _setPricesFromPriceFeeds","audit-finding","AuditVault","2024-07",null,["vuln/fee/missing-refund","vuln/oracle/pyth-update"],["fee","oracle"],"Missing refund of excess native fee","high","NLX / CoreDAO — price-feed oracle module",null,"Fee collection and fee consumption are asymmetric: the module accepts an arbitrary overpay but only spends `updateFee`, with no return of the remainder.","rootCause",1],["2024-07-SBT","SmartBank (SBT) Exploit — Self-Referential Spot-Price Oracle Manipulation","incident","DeFiHackLabs","2024-07","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Internal spot-price oracle manipulation → catastrophic under-collateralized loan",null,null,"~56,470 BUSD","The bank uses a self-referential spot-price oracle for both the buy price and the loan-to-collateral ratio. That is the entire vulnerability: `SBT_Price()` reads `USDT.balanceOf(bank)/SBT.balanceOf(bank)` *at the moment of the call*. Anyone can change both of those balances in the same transaction with `Buy_SBT`, so the price is fully attacker-controlled. Four design decisions compose into a critical bug: 1. Spot price, no time-weighting. `SBT_Price()` is the instantaneous ratio. [continues]","rootCause",1],["2024-07-Spectra_finance","Spectra Finance Exploit — Arbitrary External Call via the Router's KYBER_SWAP Command","incident","DeFiHackLabs","2024-07","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Arbitrary external call / unsanitized call target (CWE-749) abusing third-party token approvals",null,null,"~$73,000","The single root cause: the `KYBER_SWAP` command performs an external call to an unvalidated, caller-supplied address with caller-supplied calldata, executed with the Router's own identity. A safe integration with an external aggregator must constrain *at least one* of: 1. The target. KyberSwap's aggregation router has a known, fixed address (or set of addresses). The handler should require `kyberRouter == <trusted Kyber address>` (or look it up in the `IRegistry`). It validates neither. [continues]","rootCause",1],["38512-bridge-is-unable-to-transfer-ownership-and-upgrade-on-erc721","Starklane — the L1 bridge cannot hand off its ERC721","audit-finding","AuditVault","2024-07","Ethereum",["vuln/dependency/upgradeable-contract","vuln/access-control/centralization"],["dependency","access-control"],null,null,"ArkProject NFT Bridge (Starklane)",null,"`Deployer.deployERC721Bridgeable` runs in the bridge's context, so the collection owner is the bridge contract, not an EOA. Only that contract can call `transferOwnership` or `upgradeToAndCall`. Starklane never exposes a function that makes those calls. Replacing the bridge admin, or deploying a new bridge proxy, does not move the collection.","rootCause",1],["35290-incompatibility-with-multisig-wallets-in-templegoldsend-func","TempleGold — incompatibility with multisig wallets in send()","audit-finding","AuditVault","2024-07",null,["vuln/logic/cross-chain-address-assumption","vuln/dos/permanent-revert","vuln/bridge/liveness"],["logic","dos","bridge"],"Incorrect cross-chain identity assumption: address equality across chains is assumed but not guaranteed for smart-contract wallets","high","TempleGold — the LayerZero-OFT cross-chain TEMPLE governance/rewards token",null,"`send()` conflates *\"only the token owner may authorize this transfer\"* (a correct requirement, already enforced because `_debit` spends `msg.sender`'s own balance) with *\"the owner's address must be identical on the destination chain\"* (an assumption that simply doesn't hold for contract wallets). Every multisig/Safe deployment is chain-specific: the CREATE2 salt, owner set, and factory address can differ per chain, and in practice usually do for anything beyond the most disciplined deployments. [continues]","rootCause",1],["53522-toke-4-incorrect-updating-of-lastupdateblock-could-result-in","Tokemak: empty reward window strands 500","audit-finding","AuditVault","2024-07",null,["vuln/logic/reward-calculation"],["logic"],null,null,"Tokemak",null,"A zero supply does not make the stored reward-per-token zero, but the update still treats a nonzero index as a reason to move the cursor.","rootCause",1],["53523-toke-6-loss-of-reward-from-destinationvaultmainrewarder-if-t","Tokemak: removing an empty destination drops 250 rewards","audit-finding","AuditVault","2024-07",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-order-of-operations"],["logic"],null,null,"Tokemak",null,"The queue removal assumes an empty destination has nothing left to report. The rewarder still holds rewards because the exit did not claim them.","rootCause",1],["53524-toke-14-incorrect-streaming-fee-share-calculation-hexens-non","Tokemak: streaming fee on total assets pays the sink 99999999999999999999","audit-finding","AuditVault","2024-07",null,["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],null,null,"Tokemak",null,"The share formula uses the whole asset balance. The streaming fee is supposed to apply to profit only.","rootCause",1],["37916-h-02-griefing-attack-on-sellers-airdrop-benefits-code4rena-t","TraitForge — Buyer burn/nuke slashes original minter's airdrop allocation","audit-finding","AuditVault","2024-07",null,[],["untagged"],null,"high","TraitForge",null,"Buyer burn/nuke slashes original minter's airdrop allocation. Harm demonstrated: Seller airdrop allocation slashed to zero by buyer burn after transfer.","tldr",1],["37917-h-03-incorrect-percentage-calculation-in-nukefund-and-entity","TraitForge — incorrect percentage calculation in NukeFund and EntityForging","audit-finding","AuditVault","2024-07",null,["vuln/math/percentage-calculation","vuln/logic/fee-miscalculation","vuln/loss-of-funds/fee-misallocation"],["math","logic","loss-of-funds"],"Percentage math error: a denominator (`amount / taxCut`) used where a percentage (`amount * taxCut / 10_000`) was intended","high","TraitForge — generative-trait NFT protocol",null,"`taxCut` is a single integer used directly as a divisor, not converted into a percentage. `1 / taxCut` only equals `taxCut%` at the single point `taxCut = 10` (since `1/10 = 0.1 = 10%`) — everywhere else the relationship is inverted (`1/taxCut` shrinks as `taxCut` grows, the opposite of a percentage). There is no basis-point constant, no bound in `setTaxCut`, and nothing in the interface to warn that the parameter behaves this way.","rootCause",1],["37919-h-05-the-maximum-number-of-generations-is-infinite-code4rena","TraitForge — the maximum number of generations is infinite","audit-finding","AuditVault","2024-07",null,["vuln/logic/missing-bounds-check","vuln/access-control/insufficient-guard","vuln/tokenomics/supply-cap-breach"],["logic","access-control","tokenomics"],"Missing bounds check: the generation counter is incremented with no upper-bound guard","high","TraitForge — generative-trait NFT protocol",null,"`_incrementGeneration` validates the precondition for rolling over (the current generation's mint count reached its cap) but never validates the postcondition (the new generation must not exceed `maxGeneration`). The two checks look similar but protect different things — the missing one is exactly the check that would have made \"maximum 10 generations\" true.","rootCause",1],["37918-h-04-generation-mint-count-reset-forged-token-cap-bypass-code4rena","TraitForge generation count reset lets forged entities bypass the cap","audit-finding","AuditVault","2024-07",null,["vuln/logic/wrong-condition","vuln/logic/state-update","vuln/input-validation/boundary"],["logic","input-validation"],"State-update/accounting reset of a pre-minted next-generation entity.",null,null,"The per-generation entity cap is bypassed","The counter is treated as if only `mintToken()` can create an entity. The forging path violates that assumption by recording a next-generation entity first; the rollover then destroys that state. A caller only needs the normal forge permission and a generation close to its mint cap.","rootCause",1],["37920-h-06-entropy-generator-initialize-alpha-indices-wrong-modifier-code4rena","TraitForge generation rollover is permanently blocked by the wrong modifier","audit-finding","AuditVault","2024-07",null,["vuln/access-control/missing-modifier","vuln/dos/init-constraint","vuln/logic/wrong-condition"],["access-control","dos","logic"],"Access-control mismatch causing a generation-boundary denial of service.",null,null,"Generation rollover reverts, bricking `mintToken`, `mintWithBudget`, and `forge` at the bo","The contract has two distinct authorities: the deployment owner and the NFT contract allowed to update alpha indices. The function protects the latter operation with the former role. No unusual setup is needed; ordinary traffic that reaches the generation cap activates the broken call.","rootCause",1],["34361-math-error-in-creator-payment-calculation-cyfrin-none-cyfrin","Tunnl: creator payment divides by the creator fee","audit-finding","AuditVault","2024-07",null,["vuln/logic/fee-calculation","vuln/logic/missing-check"],["logic"],null,null,"Tunnl",null,"`maxValueUsdc` was inflated with the advertiser fee. Undoing that inflation with a different fee cannot recover the offer. 2000 bp is larger than 1000 bp, so the result is smaller than the offer and `fulfillRequest` does not hit `Exceeds max`. The nodes relay this maximum and the creator is paid that number, not a separate performance amount.","rootCause",1],["2024-07-UnverifiedContr_0x452E25","Unverified MEV/Arb Contract 0x452E25… — Unauthenticated uniswapV3SwapCallback Drains Its Own WETH","incident","DeFiHackLabs","2024-07","Ethereum",["vuln/access-control/missing-auth"],["access-control"],"Missing access control / unauthenticated callback (CWE-862) — trusted-callback impersonation",null,null,"27.349 WETH","Uniswap V3 calls back into the swap initiator (`msg.sender` of `pool.swap()`) via `uniswapV3SwapCallback`, expecting the initiator to pay the input token to the pool. The security model is inverted-trust: the *callback* function trusts that it is being called by a real pool, and the *pool* trusts that the callback will pay. The single invariant that makes this safe is: The callback MUST verify `msg.sender` is the exact V3 pool it intended to swap with, because the callback hands tokens to `msg.sender`. [continues]","rootCause",1],["38003-draining-the-protocol-fully-codehawks-zaros-git","Zaros — draining the protocol fully","audit-finding","AuditVault","2024-07",null,["vuln/economic-design/self-referential-margin","vuln/oracle-manipulation/self-inflicted-price-impact","vuln/loss-of-funds/direct-drain"],["economic-design","oracle-manipulation","loss-of-funds"],"Self-referential validation: a check is satisfied using state that the checked action itself just produced","high","Zaros — perpetuals trading engine",null,"Margin validation is supposed to answer: \"does this account have enough REAL value to support this trade?\" Instead it answers: \"does this account have enough value after this trade's own market impact is already counted?\" Those are different questions whenever the trade itself moves the price — and a same-direction, same-market position increase always does. [continues]","rootCause",1],["37984-incorrect-logic-for-checking-isfillpricevalid-codehawks-zaro","Zaros — incorrect logic for checking isFillPriceValid","audit-finding","AuditVault","2024-07",null,["vuln/logic/wrong-condition","vuln/liveness/order-never-executes","vuln/loss-of-funds/missed-take-profit"],["logic","liveness","loss-of-funds"],"Wrong condition: comparison operators swapped in both branches of a boolean OR","high","Zaros — perpetuals trading engine",null,"`isFillPriceValid` is a single boolean expression that has to get the direction of BOTH comparisons right to make economic sense. Both were written backwards: a buy order requires `target <= fill` (should be `target >= fill`) and a sell order requires `target >= fill` (should be `target <= fill`). Any order a rational trader sets — buy up to a ceiling price, or sell once a floor/target price is reached — fails the check. [continues]","rootCause",1],["37994-liquidationbranchcheckliquidatableaccounts-executes-for-loop","Zaros — LiquidationBranch::checkLiquidatableAccounts() array out-of-bounds","audit-finding","AuditVault","2024-07",null,["vuln/logic/off-by-index","vuln/liveness/dos","vuln/integer-bounds/array-out-of-bounds"],["logic","liveness","integer-bounds"],"Off-by-index: absolute loop variable used where a segment-relative offset was required","high","Zaros — perpetuals trading engine",null,"The output array's length is derived from the segment width (`upperBound - lowerBound`), but the loop's write index is derived from the absolute scan position (`i`). These two quantities only coincide when `lowerBound == 0`. For any other segment, `i` starts already at or beyond the array's length, so the first liquidatable account found in that segment triggers an out-of-bounds write.","rootCause",1],["37983-settlementbranch-fillorder-does-not-guarantee-the-collateral","Zaros — SettlementBranch._fillOrder does not guarantee collateral covers the future liquidation fee","audit-finding","AuditVault","2024-07",null,["vuln/logic/missing-validation","vuln/loss-of-funds/fee-shortfall","vuln/economic-design/underfunded-liquidation"],["logic","loss-of-funds","economic-design"],"Missing validation: no check that a post-fee state satisfies a downstream fixed requirement","high","Zaros — perpetuals trading engine",null,"`_fillOrder` validates that the trader has enough margin to pay the opening-time fees, but never checks the resulting state against the fixed, unconditional fee the position will owe later, at liquidation time. The two checks look similar (\"does the account have enough margin?\") but protect completely different moments in the position's lifecycle — the missing one is exactly what guarantees a liquidatable position can actually be liquidated for its full intended fee.","rootCause",1],["37995-wrong-parameter-passed-in-tradingaccountdeductaccountmargin","Zaros — wrong parameter passed in TradingAccount::deductAccountMargin","audit-finding","AuditVault","2024-07",null,["vuln/logic/liquidation-logic","vuln/loss-of-funds/direct-drain","vuln/logic/wrong-argument"],["logic","loss-of-funds"],"Wrong argument passed to a function — a semantically unrelated value substituted for the intended one","high","Zaros — perpetuals trading engine",null,"`requiredMaintenanceMarginUsdX18` and `accountTotalUnrealizedPnlUsdX18` are two semantically unrelated values that happen to share the same numeric type. One is a margin REQUIREMENT (roughly proportional to position size); the other is the account's actual realized-on-liquidation LOSS. [continues]","rootCause",1],["41818-h-8-liquidated-positions-will-still-accrue-rewards-after-bei","A liquidated NFT keeps its reward weight and is paid 5 ZERO after collateral is wiped","audit-finding","AuditVault","2024-06","Ethereum",["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],"Liquidation never clears the masterchef balance used by `earned`",null,null,"5 ZERO paid to token id 1 after its collateral is 0","The reward weight and the collateral are different variables. Liquidation writes one and not the other. `notifyRewardAmount` divides by `totalBalance`, which still includes the wiped position, and `earned` multiplies by the same stale balance.","rootCause",1],["60243-inconsistent-use-of-basis-points-leading-to-enormous-fees-qu","Altr: a documented 4% grace fee charges 4,000 on a 1,000 debt","audit-finding","AuditVault","2024-06",null,["vuln/logic/fee-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],null,null,null,null,"`PRECISION` is 10,000 and `MAX_REPAY_GRACE_FEE` is `4 * PRECISION`. The comments treat that cap as 4%. `repay` computes `platformFee += (totalPayable * repayGraceFee) / PRECISION`. On a 1,000 debt that is `1000 * 40000 / 10000 = 4000`, four times the debt, instead of the 40 a basis-point 4% would charge.","tldr",1],["2024-06-APEMAGA","APEMAGA Exploit — Public family() Backdoor Burns 99.9% of the Pool's Token Reserve","incident","DeFiHackLabs","2024-06","Ethereum",["vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Public token-destroying backdoor (`family()`) → broken AMM `x·y=k` invariant via uncompensated reserve burn",null,null,"~9.25 WETH","This is a malicious / backdoored token, not an accidental bug. The combination of: 1. A public, unauthenticated function that burns from an arbitrary account. `family(account)` lets anyone destroy ~99.9% of *any* address's APEMAGA — including the AMM pair's reserve. There is no `onlyOwner`, no allowlist, no caller==account check. 2. Burning from the pool is an uncompensated value transfer. A Uniswap-V2 pair prices assets purely from its reserves and only enforces `x·y ≥ k` *inside `swap()`*. [continues]","rootCause",1],["60261-excess-funds-are-locked-in-the-bounty-contract-quantstamp-ar","Arkham bounty: 900 of 1,000 excess tokens stay locked after close","audit-finding","AuditVault","2024-06",null,["vuln/dos/frozen-funds"],["dos"],null,null,null,null,"The bounty comment says excess funding from rejected submissions is accrued as fees. `closeBounty` only does `_accruedFees += fee(excessAccrued, true)`. `fee` returns 10% of the excess. A bounty with 1,000 initial funding and 1,000 excess therefore accrues 100, refunds the funder 1,000, and lets the owner withdraw 100. The other 900 remains in the contract with no withdrawal path.","tldr",1],["58098-h-01-accounts-not-properly-removed-from-roles-upon-revoking","Astrolab — Accounts not properly removed from roles upon revoking","audit-finding","AuditVault","2024-06",null,["vuln/access-control/broken-logic"],["access-control"],"Broken set membership after revoke (stale index)","high","Astrolab (AsSequentialSet / role members)",null,"Membership is decided by the index map, not by scanning `data`. Clearing an array slot / popping without zeroing `index[o]` leaves a stale positive index. After a non-last removal, `data.length` still satisfies `index[o] <= length`, so `has` lies.","rootCause",1],["2024-06-Bazaar","Bazaar (Ryolo LBP) Exploit — Missing exitPool Authorization Burns a Victim's Pool Shares to the Attacker","incident","DeFiHackLabs","2024-06","Blast",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control / broken authorization — `exitPool` redeems another address's pool shares without their consent",null,null,"~$1.4M total","The Vault is described in its own header as *\"A sub-implementation of the Balancer `IVault` interface … This solely enables Join/Exit/Swap functionality\"* (BazaarVault.sol:18-21). In writing a trimmed-down clone of Balancer's Vault, the authors kept Balancer's `(sender, recipient)` calling convention but omitted Balancer's authorization layer. [continues]","rootCause",1],["2024-06-Crb2","CRB2 Token Exploit — Fee-on-Transfer Reflection Drain via Self-sellToken Loop","incident","DeFiHackLabs","2024-06","BNB Chain",["vuln/logic/fee-calculation","vuln/oracle/price-manipulation"],["logic","oracle"],"Fee-on-transfer reflection accounting flaw — accumulated \"fee\" tokens drained to the seller + uncompensated pool reserve manipulation (`super._transfer(pair, …)` / `_burn(pair)` + `sync()`)",null,null,"≈ 15,125.83 USDT","The token treats its own contract balance of CRB as a value reservoir and exposes a permissionless faucet to drain that reservoir as USDT to whoever pokes it. 1. Fees pool into a recoverable bucket. Every pair-side trade parks 5% in `address(this)` (:1131/1141). The contract never irrevocably commits these tokens (no burn, no time-lock, no role check on the payout path) — they sit there waiting to be sold. 2. `to == address(this)` is a public withdraw trigger. [continues]","rootCause",1],["37617-calculation-of-tokenstowithdraw-is-wrong-zokyo-none-devve-ma","Devve — airdrop withdrawal counts minutes as days","audit-finding","AuditVault","2024-06",null,["vuln/logic/reward-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Minutes used where the formula says days","high","Devve `withdrawAirdropTokens` / `getCurrentAirdropBalance`",null,"The report says both functions multiply `airdropTokenPerDay` by minutes passed, not by days passed.","rootCause",1],["37615-incorrect-handling-of-investment-amounts-zokyo-none-devve-ma","Devve — settlement pays the claimed amount, not the ETH received","audit-finding","AuditVault","2024-06",null,["vuln/logic/missing-check","vuln/logic/state-update"],["logic"],"Recorded investment and the ETH actually sent diverge","high","Devve `Treasury.investInProjects` / `settleProjectOwnerFunds`",null,"Two fields describe one investment and nothing forces them to be equal. The balance mapping follows the ETH that arrived. The payout follows the amount in the calldata. Settlement then moves the calldata amount.","rootCause",1],["37616-missing-decimals-conversion-in-settleprojectownerfunds-zokyo","Devve Treasury — settlement pays USDT with no decimal scale","audit-finding","AuditVault","2024-06",null,["vuln/arithmetic/decimal-mismatch"],["arithmetic"],null,null,"Devve",null,"The amount stored on the whitelist is a whole-token count. The USDT balance is stored in base units. Settlement copies the count into the transfer with no scale. A 6-decimal token makes that transfer one million times too small.","rootCause",1],["2024-06-Dyson_money","Dyson.money Exploit — Permissionless harvest() Sandwich Steals Pending Yield from a Near-Empty Vault","incident","DeFiHackLabs","2024-06","BNB Chain",["vuln/defi/sandwich-attack","vuln/access-control/missing-auth"],["defi","access-control"],"Permissionless reward harvest into a vault with no harvest-front-running protection (yield-share inflation / \"harvest sandwich\")",null,null,"~52 BNB","A correctly-designed auto-compounder accrues pending rewards continuously (or at least credits them to the stakers who earned them). Dyson.money instead materializes the entire pending reward bucket into a single `want` deposit at an *attacker-chosen* moment, and distributes it to *current* share holders by simple pro-rata math. Three design decisions compose into a critical bug: 1. Permissionless `harvest()`. [continues]","rootCause",1],["35264-h-03-oraclepoolofferhandler-has-an-invalid-check-on-collater","Gondi — a collateral id outside the range still opens a loan","audit-finding","AuditVault","2024-06",null,["vuln/logic/wrong-condition","vuln/input-validation/missing"],["logic","input-validation"],null,"high","Gondi OraclePoolOfferHandler",null,"A bounds check written with `&&` instead of `||` is unreachable. The false branch is the only branch. Out-of-range collateral is indistinguishable from in-range collateral, and it inherits the principal the pool published for the lucrative ids.","rootCause",1],["35262-h-01-lidos-apr-can-be-maliciously-updated-to-0-value-due-to","Gondi — anyone can set the Lido APR to 0","audit-finding","AuditVault","2024-06",null,["vuln/logic/missing-check","vuln/oracle/missing-validation","vuln/dos/permanent"],["logic","oracle","dos"],null,"high","Gondi LidoEthBaseInterestAllocator",null,"The APR is an annualized share-rate change. A window with no rebase has a zero numerator, so the result is 0 for any positive elapsed time. That 0 overwrites a real sample and is rejected by the quote used to open loans. The tolerance exists so a sample is only taken after enough time for a rebase. It is enforced on `getBaseAprWithUpdate` and missing on `updateLidoValues`.","rootCause",1],["51373-incomplete-implementation-of-handletokenmintandswap-in-maste","HandleTokenMintAndSwap decodes a 1,000 token mint and credits 0","audit-finding","AuditVault","2024-06","Ethereum",["vuln/logic/state-update"],["logic"],"The handler decodes the event and returns without minting",null,null,"A TokenMintAndSwap for 1,000 tokens is decoded and the user receives 0","Decoding the event is not handling it. `seenAmount` proves the 1,000 was read. The next write is `credited = 0`, and the token is never minted, so the user balance stays 0.","rootCause",1],["60148-the-protocol-can-be-drained-through-commitment-duplication-q","Hinkal: moving a nullifier into tokenIds duplicates a 1,000,001 USDC note","audit-finding","AuditVault","2024-06",null,["vuln/logic/missing-check","vuln/logic/state-update"],["logic"],null,null,null,null,"`formBasicInput` appends `tokenIds` and then `inputNullifiers`. A transfer proof whose public input is the single nullifier `7` still verifies if that nullifier is placed in `tokenIds` and `inputNullifiers` is empty. `insertNullifiers` then writes nothing. Alice's old 1,000,001 USDC commitment stays spendable next to a new 1,000,000 USDC commitment. She withdraws both. The pool also held another depositor's 1,000,000 USDC, so she leaves with 2,000,001.","tldr",1],["2024-06-INcufi","INcufi (AkitaDefender) Exploit — Self-Referral Commission Farming + Un-collateralized 1:1 swapCommision","incident","DeFiHackLabs","2024-06","BNB Chain",["vuln/logic/missing-validation","vuln/logic/reward-calculation"],["logic"],"Broken accounting — un-collateralized 1:1 redemption of a freely-farmable commission token for the principal pool, plus self-referral commission farming",null,null,"~$59,643","The protocol treats AKITADEF as if it were *scarce, earned reward equity* and lets it be redeemed 1:1 for the *real* asset (BUSD), while simultaneously letting an attacker mint AKITADEF for free by farming its own referral commissions. Concretely, four independent design failures compose: 1. Self-dealing referrals. `register()` lets the staker choose its own upline, and there is no sybil / identity check. [continues]","rootCause",1],["2024-06-JokInTheBox","JokInTheBox Staking Exploit — Missing unstaked Guard ⇒ Infinite Re-Unstake Drain","incident","DeFiHackLabs","2024-06","Ethereum",["vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["logic"],"Missing state guard / replay — a stake can be unstaked unlimited times (no `unstaked` check)",null,null,"~9.28 ETH of profit to the attacker","The withdrawal path is missing the single most important invariant of any \"withdraw once\" function: a stake that has been settled must not be settleable again. 1. No idempotency guard. `unstake()` writes `unstaked = true` but never checks it. A correct implementation must `require(!stakes[msg.sender][stakeIndex].unstaked, \"Already unstaked!\")` at the top (or zero `amountStaked` on first withdrawal). 2. Memory-copy + immutable payout. [continues]","rootCause",1],["2024-06-MineSTM","MineSTM Exploit — sell() Redeems the Protocol's Own LP at an Attacker-Manipulated Price","incident","DeFiHackLabs","2024-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/access-control/missing-auth"],["oracle","access-control"],"Broken accounting — protocol-owned LP redeemed at a caller-manipulable price; missing share/value relationship",null,null,"~$13.8K","A liquidity-redemption function must convert a *share of ownership* into a *proportional share of the pooled value*. The correct quantity to burn is determined by how much LP the redeemer owns, priced by the constant-product value of that LP — not by a free-floating ratio against a spot reserve. `MineSTM.sell()` instead defines the redemption as: `LP burned = (STM paid) × (pool LP total supply) / (2 × pool STM reserve)`; and pays out of the protocol's own pocket. Two things go wrong simultaneously: [continues]","rootCause",1],["2024-06-NCD","NCD Exploit — Uncapped Self-Mint Staking Reward Farmed Across Disposable Contracts","incident","DeFiHackLabs","2024-06","BNB Chain",["vuln/logic/reward-calculation","vuln/arithmetic/overflow"],["logic","arithmetic"],"Uncapped self-mint reward + permissionless reward eligibility (`balance × 1.5%/day` minted from thin air)",null,null,"~$6,496","The reward is a fixed percentage of an attacker-chosen, instantaneous balance, mintable once per day per eligible address, with eligibility granted to arbitrary contracts. Four design errors compose into a self-minting money printer: 1. No principal/time accounting. `doReward` rewards `balanceOf(now)`, not the balance that was actually staked for the period. Depositing the stack one block before claiming earns the full day's 1.5%. [continues]","rootCause",1],["60495-locked-funds-when-fulfilling-seaport-orders-quantstamp-nifty","NiftyApes — a second Seaport offer item locks 500 SIDE","audit-finding","AuditVault","2024-06",null,["vuln/dos/frozen-funds","vuln/input-validation/missing"],["dos","input-validation"],"Non-WETH offer tokens have no withdraw path","high","NiftyApes `SellerFinancing`",null,"`_validateSaleOrder` checks that the first offer item is WETH. It does not require `offer.length == 1`. The seller fulfills an order whose offer is 1 WETH plus 500 SIDE. The contract pulls both. It forwards only the 1 WETH to the buyer. 500 SIDE remains in the contract, and there is no withdraw. The seller's SIDE balance is 0. The control rejects `offer.length != 1` before any pull. The seller keeps 500 SIDE.","tldr",1],["35124-h-11-lack-of-slippage-control-on-redeempt-function-sherlock","Notional — Pendle PT redemption accepts any SY output","audit-finding","AuditVault","2024-06",null,["vuln/defi/slippage","vuln/logic/missing-check"],["defi","logic"],null,"high","Notional Leveraged Vaults, Pendle PT",null,"The slippage argument is a constant 0, not the minimum the caller passed into instant redemption. The PT to SY hop in this reduction is 1:1, so the whole loss is inside `SY.redeem`. That matches the report: some SY contracts withdraw from an external pool, and one SY share is not one yield token.","rootCause",1],["35126-h-13-kelp-finalizecooldown-cannot-claim-the-withdrawal-if-ad","Notional Leveraged Vaults (Kelp) — a dust withdrawal request permanently freezes the real one","audit-finding","AuditVault","2024-06",null,["vuln/dos/frozen-funds","vuln/logic/hardcoded-index","vuln/access-control/permissionless-griefing"],["dos","logic","access-control"],"Hardcoded index into a permissionlessly-appendable list","high","Notional Leveraged Vaults — Pendle PT and Vault Incentives (Kelp/rsETH staking integration)",null,"The code implicitly assumes the holder's withdrawal-request list on Lido has exactly one entry — the one it itself created via `triggerExtraStep`. That assumption is false the moment a third party (accidentally or maliciously) also requests a withdrawal naming the same holder address, since Lido's queue is append-only and globally permissionless.","rootCause",1],["35122-h-9-wrong-decimal-precision-resulted-in-the-price-being-infl","Notional PendlePTOracle — a 6-decimal PT is priced with an 18-decimal rate","audit-finding","AuditVault","2024-06","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],null,null,"Notional Leveraged Vaults (Pendle PT)",null,"The formula treats Pendle's PT rate as if it were denominated in the PT token's decimals. `getPtToAssetRate` is a fixed 18-decimal rate: `978197897539187120 / 1e18` is about 0.978 asset per PT. Dividing by `106` instead of `1018` multiplies the quoted USD price by `1e12`. Integer evaluation of the report's inputs: buggy answer = `978105526311722494560258400000` (the report's `9.781055263e29`); fair answer = `978105526311722494` (about 0.978 USD in 18 decimals); `buggy / fair = 1e12` in integer division [continues]","rootCause",1],["35119-h-6-loss-of-rewards-due-to-continuous-griefing-attacks-on-l2","Notional vault rewards — a grief pays the shareholder nothing","audit-finding","AuditVault","2024-06",null,["vuln/logic/reward-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],null,null,"Notional Leveraged Vaults",null,"The per-share index is an integer. `99 * 1e8 / 100e8` is 0. The function still accepts the tokens into the vault, then stores an index that did not move. Repeating the call does not repair it, because each drip is judged on its own. The shareholder's claim multiplies their shares by that index and also gets 0.","rootCause",1],["35120-h-7-users-can-deny-the-vault-from-claiming-reward-tokens-she","Notional vaults — a public getReward leaves 1,000 AURA stuck","audit-finding","AuditVault","2024-06",null,["vuln/logic/reward-calculation","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Notional Leveraged Vaults",null,"The claim assumes the only way tokens arrive is inside `_executeClaim`. `getReward(vault)` is not restricted to the vault. A call from anyone moves the pending reward onto the vault before the snapshot. `balanceAfter - balancesBefore` is then 0, and that 0 is what gets stored as the secondary reward.","rootCause",1],["35118-h-5-incorrect-valuation-of-vault-share-sherlock-notional-lev","Notional: a split vault-share withdraw is valued in the wrong decimals","audit-finding","AuditVault","2024-06",null,["vuln/logic/price-calculation","vuln/arithmetic/decimal-mismatch"],["logic","arithmetic"],null,null,"Notional Leveraged Vaults",null,"`totalWithdraw` is in the redemption token's native precision. The exchange rate is an 18-decimal \"BT per RT\" price. Dividing only by `EXCHANGE_RATE_PRECISION` leaves the result in redemption precision, 12 orders above the borrow token's 6 decimals. `500e18 / 500e6 = 1e12`.","rootCause",1],["35123-h-10-incorrect-assumption-that-pt-rate-is-10-post-expiry-she","Notional: post-expiry PT rate is hardcoded to 1.0","audit-finding","AuditVault","2024-06",null,["vuln/logic/price-calculation","vuln/logic/incorrect-state-transition"],["logic"],null,null,"Notional Leveraged Vaults (Pendle PT)",null,"The oracle treats a matured PT as redeemable 1:1 for the SY's yield-bearing token. Pendle redeems PT 1:1 for the accounting asset. For weETH the accounting asset is eETH, and weETH is worth more than eETH, so the PT-to-SY rate at expiry is about 0.9598 rather than 1. Hardcoding 1.0 marks the PT at the full weETH price.","rootCause",1],["60332-invalidated-block-hash-in-cross-layer-communication-quantsta","Pheasant — a zero block hash invalidates a 250 bUSD proof","audit-finding","AuditVault","2024-06","Optimism",["vuln/bridge/missing-validation","vuln/logic/missing-check"],["bridge","logic"],"A zero checkpoint invalidates proofs","high","Pheasant Network child checkpoint",null,"`optimismSendBlockInfo` can be called by any user and forwards the hash into `_processMessageFromRoot`. That function writes `blockHashs[blockNumber] = blockHash` even when the hash is zero. The child already holds 250 bUSD against block 42, and the real hash has been stored. The next call writes `bytes32(0)`. `claim` of the real hash returns 0. The escrow stays at 250 bUSD. The control rejects a zero hash. [continues]","tldr",1],["60329-reentrancy-lets-relayer-withdraw-more-than-expected-by-bond","Pheasant: reentrancy lets a relayer pull 90 from a 100 bond","audit-finding","AuditVault","2024-06",null,["vuln/reentrancy/single-function"],["reentrancy"],null,null,null,null,"`finalizeWithdrawalBond` transfers the requested amount `A` before clearing `withdrawalAmount` or reducing `totalLocked`. The bond token callbacks into the relayer. The relayer bonded 30 and another relayer bonded 70, so `totalLocked` is 100 and `A` is 30. Each re-entry pulls another 30 while the request is still open. Three pulls succeed. 10 remains, which is `100 % 30`. The relayer receives 90, of which 60 belonged to the other relayer.","tldr",1],["36369-h-01-univ3tokenizedlp-can-be-attacked-by-an-initial-donation","Radiant — UniV3TokenizedLp initial donation","audit-finding","AuditVault","2024-06",null,["vuln/arithmetic/precision-loss","vuln/logic/price-calculation"],["arithmetic","logic"],"Share price has no virtual offset, so a donation inflates it","high","Radiant `UniV3TokenizedLp.deposit`",null,"The share price is assets divided by a supply that can be 1 wei. A direct token transfer raises assets without raising supply. The next depositor's mint rounds down to zero, and the 1 wei share owns the donation plus that deposit.","rootCause",1],["36368-c-01-no-approvals-from-helper-to-tokenizedlp-pashov-audit-gr","Radiant — zapWETH never approves TokenizedLp","audit-finding","AuditVault","2024-06",null,["vuln/logic/missing-allowance"],["logic"],"Missing approval from the helper to TokenizedLp","high","Radiant `UniV3PoolHelper.zapWETH`",null,"TokenizedLp pulls the deposit from whoever calls it. The helper is that caller, and it is a fresh holder of the WETH. No line in `zapWETH` or the helper constructor sets an allowance for TokenizedLp, so every zap reverts.","rootCause",1],["36317-c-01-locking-collected-eth-by-triggering-createpoolandaddliq","Serious — locking other tokens' collected ETH by triggering createPoolAndAddLiquidity twice","audit-finding","AuditVault","2024-06",null,["vuln/access-control/missing-state-guard","vuln/accounting/shared-pot-drain","vuln/dos/fund-lock"],["access-control","accounting","dos"],"Missing \"already disabled\" guard on a function that spends from a SHARED resource pool","high","Serious market protocol — a bonding-curve-style token launcher that graduates fully-funded tokens into a Uniswap V3 pool",null,"`nonReentrant` guards against *reentrant* re-entry within a single external call chain, but this bug is a plain *sequential* re-entry: nothing stops the function from being called a second time in an entirely separate transaction, once trading has already been disabled. `tradingEnabled` is written unconditionally rather than read-checked-then-written, so it can never actually gate anything.","rootCause",1],["36318-c-02-uniswaps-pool-can-be-initialized-with-a-different-price","Serious — Uniswap's pool can be initialized with a different price","audit-finding","AuditVault","2024-06",null,["vuln/oracle/spot-price-manipulation","vuln/dex/front-run-pool-init","vuln/logic/unverified-external-state"],["oracle","dex","logic"],"Trusting unverified external state: the price of an already-existing pool is never checked against the protocol's intended target before liquidity is added","high","Serious market protocol — a bonding-curve-style token launcher that graduates fully-funded tokens into a Uniswap V3 pool",null,"The function treats \"the pool already exists\" as equivalent to \"the pool is at the price we expect.\" Those are unrelated facts: pool CREATION is permissionless in Uniswap V3, and the resulting price is whatever the FIRST caller to initialize it chose. Because there is no check comparing the live price to any intended value, and no atomicity between token creation and pool creation, an attacker gets a free window to set the price before the protocol's liquidity is added at that price.","rootCause",1],["47356-inflation-of-pool-balances-ottersec-none-stargate-v2-pdf","Stargate V2: _getPoolBalance treats a direct transfer as liquidity, so a redeem pays an extra 1000","audit-finding","AuditVault","2024-06",null,["vuln/logic/fee-calculation","vuln/logic/price-calculation"],["logic"],null,null,"Stargate V2",null,"`balanceOf` is the token contract's view of every token sitting on the pool, including transfers that skipped `deposit`. The LP supply only grows in `deposit`. Dividing the raw balance by that supply prices the direct transfer into the next redeem. OtterSec also notes that `FeeLibV1.applyFeeView` reverts when this inflated balance exceeds LP TVL. This reduction shows the exchange-rate credit, which is the fund movement.","rootCause",1],["2024-06-SteamSwap","SteamSwap (MineSTM) Exploit — sell() Redeems the Protocol's Own LP To Any Caller","incident","DeFiHackLabs","2024-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/access-control/missing-auth"],["oracle","access-control"],"Broken accounting — protocol redeems LP it owns and sends the proceeds to an arbitrary caller",null,null,"~$91.5k","`sell()` conflates two things that must never be conflated in an AMM-backed vault: \"How much LP does this caller own\" versus \"how much LP does the contract hold.\" The function computes a redemption size from the *deposited STM amount and the pool reserves*, then burns that much of the contract's LP and forwards the proceeds to the caller. Because the contract holds the pooled liquidity of every depositor, *any* caller can drain *everyone's* liquidity by repeatedly redeeming. There is no: [continues]","rootCause",1],["2024-06-UwuLend_Second","UwuLend (2nd hack) — Hardcoded $1.04 sUSDE Oracle + Live 80% Liquidation Threshold","incident","DeFiHackLabs","2024-06","Ethereum",["vuln/oracle/wrong-feed","vuln/logic/wrong-condition"],["oracle","logic"],"Oracle / collateral-parameter misconfiguration — incoherent risk parameters (LTV 0 but liquidation threshold 80%) on an asset priced by a hardcoded, owner-set value",null,null,"~$3.73M","The bug is an incoherent risk-parameter configuration introduced *as the fix for the first hack*: sUSDE was set to LTV = 0 (intending \"this asset can no longer be used as collateral\") but its liquidation threshold was left at 80%. In Aave-v2, LTV and LT are independent: LTV gates new borrows, LT gates the health factor and withdrawals. Setting LTV = 0 while keeping LT > 0 means the asset *still counts as collateral for health* but *not for borrowing power* — exactly the gap the attacker walked through. [continues]","rootCause",1],["2024-06-UwuLend_First","UwuLend Exploit (#1) — sUSDe Oracle Manipulation via Curve Spot Prices in the Median","incident","DeFiHackLabs","2024-06","Ethereum",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack","vuln/oracle/spot-price"],["oracle","governance"],"Price-oracle manipulation — instantaneous Curve spot prices (`get_p`) included in a manipulable median; flash-loan-funded self-liquidation",null,null,"~$19.3M total drained from UwuLend","The oracle's defense was supposed to be \"take a robust median across many independent venues, mostly from EMA/`price_oracle` data.\" Two design errors defeated it: 1. Spot prices were given equal weight to EMA prices in the median set. For each Curve pool the feed inserts *both* `price_oracle(0)` (good) *and* `get_p(0)` (the instantaneous marginal price, which any swap moves). That alone makes 5 of 11 array slots single-transaction-manipulable. [continues]","rootCause",1],["2024-06-Velocore","Velocore V2 Exploit — feeMultiplier Overflow Turns a Withdrawal Into a Pool Drain","incident","DeFiHackLabs","2024-06","Linea",["vuln/arithmetic/underflow","vuln/access-control/missing-auth"],["arithmetic","access-control"],"Unchecked arithmetic underflow in fee math (fee allowed to exceed 100%) → withdrawal converted into a giant token-out; compounded by missing caller (Vault) access control on `velocore__execute`.",null,null,"$6.88M total across all Velocore pools","The whole bug is \"a fee that is allowed to exceed 100% in arithmetic that assumes it never does\", made cheaply reachable by a missing access-control check. 1. Unbounded `feeMultiplier`. The anti-sandwich fee is supposed to make *withdrawing in chunks* cost the same as withdrawing all at once. But it compounds with no ceiling (:308), so a handful of self-directed \"withdrawals\" in one block drives it to billions×. 2. `effectiveFee1e9` is never clamped to `≤ 1e9`. [continues]","rootCause",1],["35755-h-03-adversary-can-prevent-the-launch-of-any-ilo-pool-with-e","Vultisig — adversary can prevent the launch of any ILO pool with enough raised capital, at any moment, by providing single-sided liquidity","audit-finding","AuditVault","2024-06",null,["vuln/oracle/spot-price-manipulation","vuln/dos/permanent-launch-block"],["oracle","dos"],"Spot-price manipulation of a liquidity-less pool, compounded by an unmitigable single-sided-liquidity lock","high","Vultisig — `ILOManager.sol`, the launch coordinator for Vultisig's Initial Liquidity Offering (ILO) pools",null,"An exact spot-price equality check is only safe if the price cannot be manipulated by an outside party between project init and launch. Here it provably can be — cheaply, at any time, by anyone — because the pool legitimately has zero liquidity until the ILO's own launch flow adds it. [continues]","rootCause",1],["35753-h-01-most-users-wont-be-able-to-claim-their-share-of-uniswap","Vultisig — most users won't be able to claim their share of Uniswap fees","audit-finding","AuditVault","2024-06",null,["vuln/accounting/shared-pool-drain","vuln/logic/max-collect-not-own-share","vuln/dos/fund-loss-cascading"],["accounting","logic","dos"],"Shared-resource over-collection: computes an individual share correctly, then withdraws the WHOLE shared pot instead of just that share","high","Vultisig — `ILOPool.sol`, the vesting NFT position contract for Vultisig's Initial Liquidity Offering (ILO) pools",null,"`amount0`/`amount1` (the caller's own fair fee share) are computed correctly from `feeGrowthInside` deltas. But Uniswap V3's `collect()` doesn't scope its payout by \"who is owed what\" — it pays out up to `amount{0,1}Max` of whatever fees are CURRENTLY sitting in the shared tick-range position, regardless of which specific investor earned them. Passing `type(uint128).max` requests \"everything available,\" which necessarily includes every OTHER investor's still-unclaimed share. [continues]","rootCause",1],["35754-h-02-vultisig-whitelisting-can-be-bypassed-by-anyone-code4re","Vultisig — whitelist index zero lets every unlisted buyer purchase","audit-finding","AuditVault","2024-06",null,["vuln/logic/wrong-condition","vuln/access-control/missing-validation","vuln/logic/missing-check"],["logic","access-control"],null,"high","Vultisig",null,"The sentinel value for missing membership overlaps the accepted range. The check needs both an existence test and a range test, but only the range test is present.","rootCause",1],["2024-06-WIFCOIN_ETH","WIFCOIN (WIFStaking) Exploit — Time-Ungated claimEarned() Reward Loop Drains the Staking Pool","incident","DeFiHackLabs","2024-06","Ethereum",["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],"Missing time/lock gating on reward accrual + repeated claim → reward-pool drain",null,null,"~3.41 ETH profit to the attacker","The reward formula `amount × apr / 10000` is meant to be claimed once, after the lock matures, as the total return for the whole staking period. Three design flaws combine into a critical drain: 1. No maturity gate in `claimEarned`. Unlike `earnedToken`/`unstake`, `claimEarned` never checks `endstakeAt <= block.timestamp`. A freshly created stake (locked for 180 days) can claim its full 180-day reward immediately. [continues]","rootCause",1],["2024-06-Will","WILL \"Trading\" Exploit — Over-Sized, Slippage-Free settleExpiredPositions() Buy-Back Sandwich","incident","DeFiHackLabs","2024-06","BNB Chain",["vuln/defi/slippage","vuln/defi/sandwich-attack"],["defi"],"Manipulable AMM settlement: over-sized buy-back + missing slippage guard, sandwiched",null,null,"~52,434 USDT","The settlement logic treats the AMM as a trusted price source and lets an attacker control every input to the value-moving swap: 1. Over-sized notional. Buying back 1.8× the short (instead of the WILL quantity actually owed) means the contract systematically spends more USDT into the pool than the short ever brought in. This is a built-in, repeatable leak even without manipulation. 2. No slippage guard + caller-supplied bound. [continues]","rootCause",1],["2024-06-YYS","YYS / YYSCoin Exploit — sell() Returns the Tokens It \"Sold\" (Double-Payout Drain)","incident","DeFiHackLabs","2024-06","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["logic"],"Broken sell accounting — the \"sell\" routine refunds the seller the very tokens they sold, on top of paying out the proceeds",null,null,"~$28.9K","The bug is entirely inside the unverified invest contract's `sell()`: it does not actually consume the seller's tokens. Two design errors compose into a critical drain: 1. Tokens are refunded after the sale. The closing `YYS.transfer(msg.sender, amount)` returns the (near-) full amount the user just \"sold\". A correct `sell()` would keep the YYS (it was supposed to be exchanged for BUSD-T). [continues]","rootCause",1],["41821-h-11-wrong-calculation-of-supplydebt-balance-of-a-position-d","ZeroLend: max repay clears a 2 token debt after paying 1 share","audit-finding","AuditVault","2024-06","Ethereum",["vuln/logic/price-calculation","vuln/logic/state-update"],["logic"],"Debt balance returns shares plus a delta instead of `shares.rayMul(index)`",null,null,"Borrower keeps 1 of 2 borrowed tokens","Shares and assets are added together. The asset value of a share is `shares.rayMul(index)`. Adding the interest delta to the raw share count does not reconstruct that product, and when the delta is zero the function returns the shares unchanged.","rootCause",1],["41817-h-7-when-bad-debt-is-accumulated-the-loss-is-not-shared-amon","ZeroLend: the first supplier withdraws 50 after bad debt and the other is left with 14","audit-finding","AuditVault","2024-06","Ethereum",["vuln/logic/state-update","vuln/logic/liquidation-logic"],["logic"],"Withdrawal value is `shares * liquidityIndex` and the index ignores bad debt",null,null,"Early supplier receives 50 TB from a pool that only has 64 left","Bad debt reduces cash and does not reduce `liquidityIndex`. The first withdrawal is paid at the pre-loss rate.","rootCause",1],["55659-h-01-malicious-proposer-can-use-pregen-info-to-drain-vault-a","AdapterVault — proposer pregen_info forces a pool buy and extracts 3002 asset","audit-finding","AuditVault","2024-05",null,["vuln/defi/sandwich-attack","vuln/logic/missing-validation"],["defi","logic"],null,null,"AdapterFi AdapterVault",null,"The branch that chooses mint or swap reads numbers the caller supplied. Those numbers are not the pool's quote. A proposer can make the swap branch run at whatever price the pool currently has.","rootCause",1],["35023-h-2-split-transactions-fixed-fees-undercharge-block-stuff-do","Aleo — a fixed 10-credit split fee fills the block ahead of liquidation","audit-finding","AuditVault","2024-05",null,["vuln/logic/fee-calculation","vuln/dos/griefing"],["logic","dos"],"Fixed fee bypasses congestion pricing and fills `MAX_TRANSACTIONS`","high","Aleo `credits.aleo` `split` and `Block::verify_transactions`",null,"Dynamic fees are charged on execute transactions. `split` hardcodes 10 credits at the program layer and does not take a fee commitment, so congestion does not raise its price. A full block of those transactions crowds out a liquidation that does pay the congestion price.","rootCause",1],["34764-h-2-anyone-can-change-the-balance-of-an-account-to-drain-the","Elfi — batchUpdateAccountToken credits a balance and the vault pays it","audit-finding","AuditVault","2024-05",null,["vuln/access-control/missing-modifier","vuln/access-control/missing-auth"],["access-control"],"Missing access control on an account-balance write","high","Elfi `AccountFacet.batchUpdateAccountToken`",null,"The balance used by withdraw is a stored integer. The only permissionless writer was supposed to be `deposit`, which pulls tokens into the vault first. `batchUpdateAccountToken` writes the integer and skips the pull. The account must already exist (`checkExists` in the audited library); one real unit of deposit satisfies that.","rootCause",1],["34767-h-5-updatepositionfrombalancemargin-function-returns-0-if-am","ELFi: a -110 margin update leaves WETH at 0 instead of 30","audit-finding","AuditVault","2024-05",null,["vuln/logic/incorrect-order-of-operations","vuln/logic/liquidation-logic"],["logic"],null,null,"ELFi",null,"The amount consumed from this position is derived from the same storage slot the previous line just cleared.","rootCause",1],["34766-h-4-updateallpositionfrombalancemargin-function-mistakenly-i","ELFI: from-balance is incremented instead of set to the remainder","audit-finding","AuditVault","2024-05",null,["vuln/logic/state-update","vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["logic"],null,null,"ELFI",null,"`reduceAmount` is only used to decide when to stop the loop. It is not the input to the per-position credit. Each position therefore sizes its `+=` off the full settlement, capped only by its own borrow. Once the first position takes a slice, every later position is still incremented as if the whole settlement were still available.","rootCause",1],["34765-h-3-pool-value-does-not-consider-the-open-funding-fees-sherl","ELFI: pool value ignores open funding","audit-finding","AuditVault","2024-05",null,["vuln/logic/fee-calculation","vuln/logic/price-calculation","vuln/defi/sandwich-attack"],["logic","defi"],null,null,"ELFI",null,"Open funding is a pool receivable that `getPoolIntValue` does not count. Mint and redeem both divide by that value. A depositor who arrives before the position update is given too many shares for the true value, then redeems them after the update at the spiked value.","rootCause",1],["47228-claimer-fee-exploitation-ottersec-none-ethsign-launchpad-pdf","EthSign Launchpad: a claimer is charged for zero-value claims","audit-finding","AuditVault","2024-05",null,["vuln/logic/fee-calculation","vuln/dos/griefing"],["logic","dos"],null,null,"EthSign Launchpad DutchAuction",null,"The fee does not depend on `claimableAmountOfSaleTokens`. The charge runs first. With `floorPrice` of 1 ether, a 1-wei payment converts to 0. `_min(0, proRata)` is 0. `claimFlatFee` is 100 FEE either way. Nothing stops a stranger from appending themselves to someone else's claimer list with `setClaimerOnce`.","rootCause",1],["2024-05-EXcommunity","EXcommunity (EXboy / EXgirl) Exploit — purchasedAmount Inflation via Zero-Value transferFrom + Pool Donation","incident","DeFiHackLabs","2024-05","BNB Chain",["vuln/logic/state-update","vuln/defi/slippage"],["logic","defi"],"Business-logic flaw — corruptible internal accounting (`purchasedAmount`) driven by externally-manipulable pool balance, plus unguarded zero-value transfer accounting",null,null,"~32.89 BNB","The protocol tries to infer real economic activity (\"how much BUSDT did users spend buying EXgirl?\") from a single subtraction of two pair fields it does not control: `balanceOf(pair) − reserve0`. That quantity is trivially forgeable: 1. Donation → reserve drift. A direct `transfer` to a Uniswap-V2 pair changes `balanceOf` but not the cached `reserve`. The pair only reconciles on `swap`/`mint`/`burn`/`sync`. So `tokenBal − reserve0` reflects *whatever the attacker last donated*, not genuine purchases. [continues]","rootCause",1],["47332-missing-decimal-correction-ottersec-none-folks-finance-x-cha","Folks Finance — collateral value skips token decimals","audit-finding","AuditVault","2024-05","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],null,null,"Folks Finance x-chain",null,"Token amounts and USD values are added in different scales. The high-decimal collateral is treated as a huge USD balance, and the low-decimal debt is drawn in raw units against that balance.","rootCause",1],["2024-05-GFOX","Galaxy Fox (GFOX) Exploit — Permissionless setMerkleRoot() Lets Anyone Forge an Airdrop Claim","incident","DeFiHackLabs","2024-05","Ethereum",["vuln/access-control/missing-auth","vuln/auth/signature-validation"],["access-control","auth"],"Missing access control on a state-critical setter (`setMerkleRoot`) → forged Merkle-proof airdrop claim",null,null,"~$330K","A Merkle-proof airdrop derives all of its security from one assumption: *the stored `merkleRoot` is a commitment chosen only by the protocol.* The proof system is sound only relative to that root. If an attacker controls the root, the proof check becomes vacuous — they can mint a leaf for any `(recipient, amount)` they like and supply the empty proof. The single decision that broke this: [continues]","rootCause",1],["2024-05-GPU","GPU Token Exploit — Self-Transfer Balance Doubling","incident","DeFiHackLabs","2024-05","BNB Chain",["vuln/logic/state-update","vuln/arithmetic/overflow"],["logic","arithmetic"],"ERC20 self-transfer balance inflation (stale cached-balance write-order bug)",null,null,"~$32K — attacker BUSD balance grew from 26.54 BUSD → 32,624.62 BUSD","The bug is a classic stale read-modify-write ordering flaw, specific to the self-transfer (aliasing) case: `_transfer` loads `_balances[sender]` and `_balances[recipient]` into two local variables before any write. When sender and recipient are the same address, both locals hold the same value `B`. The function then writes `B - amount`, immediately followed by `B + amount` to the same slot. The last write wins, so the slot ends at `B + amount` instead of `B`. [continues]","rootCause",1],["59428-incorrect-reward-updates-upon-xintx-minting-quantstamp-inten","IntentX: minting xINTX updates reward token id 0 and the new stake takes 1,000","audit-finding","AuditVault","2024-05",null,["vuln/logic/reward-calculation"],["logic"],null,null,null,null,"`_stake` declares `uint256 _tokenId` and calls `_updateReward(_tokenId)` before assigning it, so the update runs on token id 0. The new xINTX position keeps `rewardDebt` of 0. An early staker deposits 100 INTX. 1,000 reward tokens are then notified. A later mint of another 100 INTX claims that entire 1,000 because its debt was never set to the accumulator.","tldr",1],["33298-tokenbridgebridgetoken-allows-1-way-erc721-bridging-causing","Linea TokenBridge — ERC721 becomes permanently one-way","audit-finding","AuditVault","2024-05","zkSync",["vuln/bridge/missing-validation","vuln/dos/frozen-funds"],["bridge","dos"],null,null,null,null,"The ERC20 bridge accepts an ERC721 because both expose a `transferFrom`-shaped call. The NFT is locked and represented as one fungible unit, but the return flow cannot release it.","tldr",1],["2024-05-Liquiditytokens","Liquidity Tokens (TLN / VOW / VUSD) Exploit — LP-Stake Reward Inflation & 1:1 TLN→vUSD Redemption","incident","DeFiHackLabs","2024-05","BNB Chain",["vuln/logic/reward-calculation","vuln/access-control/missing-auth"],["logic","access-control"],"Reward-minting accounting flaw (stake reward priced off attacker-supplied LP) + fixed-rate `TLN→vUSD` redemption with no peg / supply backing",null,null,"~$200K","Two independent design errors that compose into a critical, fully on-chain, flash-loanable exploit: 1. Reward is priced off attacker-controlled, freshly-minted LP. The staking pool credits TLN based on the *current* USD value of the deposited VOW/VUSD LP, computed from spot reserves. [continues]","rootCause",1],["36349-h-09-wrong-loop-area-pashov-audit-group-none-lucidly-markdow","Lucidly — supply iteration returns inside the token loop","audit-finding","AuditVault","2024-05",null,["vuln/logic/incorrect-order-of-operations","vuln/logic/price-calculation"],["logic"],"The Newton step returns before every token has updated `r`","high","Lucidly `Pool._calculateSupply`",null,"The per-token update and the convergence test share one loop. After the first token, `s` is already `sp`. The second token's relative error is zero, so the function returns one Newton step early.","rootCause",1],["2024-05-MetaDragon","MetaDragon (P404) Exploit — Permissionless NFT Burn Mints Free ERC20","incident","DeFiHackLabs","2024-05","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Broken access control — missing ownership check on NFT→token conversion (\"ERC-404\"-style fractional pairing) lets anyone burn *other people's* NFTs to mint themselves new ERC20",null,null,"~$180K reported by the original disclosure","The conversion `NFT → 9,800 ERC20` is a mint of fungible value. For the books to balance, the caller must be giving up an NFT they actually own; otherwise value is created from thin air and dumped on whoever holds the matching liquidity. Two redundant guards were meant to enforce \"you must own the NFT you redeem,\" and both were commented out: 1. `P404Token._erc721ToErc20` dropped `require(ownerOf(_tokenId) == msg.sender)` (token.sol:267). [continues]","rootCause",1],["2024-05-MixedSwapRouter","MixedSwapRouter Exploit — Arbitrary transferFrom via Fake \"Pool\" + Same-Token Path","incident","DeFiHackLabs","2024-05","Arbitrum",["vuln/access-control/missing-validation","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing pool allow-listing + caller-controlled `payer` in swap callback → arbitrary ERC20 `transferFrom` against any address that approved the router",null,null,"~293,182 WINR","Uniswap's flash-swap pattern is safe only because the pool that invokes the callback is *trusted and known to the router*. The router trusts the pool to report an honest `amountDelta`, and trusts that the callback's `payer` is someone who genuinely owes the pool money. `MixedSwapRouter` throws both assumptions away: 1. Unauthenticated pool list. `_swap` accepts `params.pool[]` straight from the user and never checks it against an allow-list. [continues]","rootCause",1],["33595-h-02-invalid-validation-allows-users-to-unlock-early-code4re","Munchables — Invalid validation allows users to unlock early","audit-finding","AuditVault","2024-05",null,["vuln/logic/mismatched-invariant-anchor","vuln/access-control/reward-gaming"],["logic","access-control"],"A security check and its corresponding state commit use two different time anchors (\"now\" vs. \"the original lock time\"), so they silently disagree once real time has elapsed","high","Munchables — an NFT/staking game where users lock tokens for a chosen duration in exchange for in-game benefits scaled to that commitment",null,"The check is written as if it validates against the SAME anchor the commit uses (`lastLockTime`), but it actually validates against `block.timestamp` (\"now\"). The two are only the same instant the lock is made. Every second that passes after that, \"now\" runs ahead of `lastLockTime`, so satisfying the check (`now + _duration >= unlockTime`) becomes progressively easier than the commit's own effective guarantee (`lastLockTime + _duration >= unlockTime`) would allow. [continues]","rootCause",1],["33594-h-01-malicious-user-can-call-lockonbehalf-repeatedly-extend","Munchables — Malicious user can call lockOnBehalf to repeatedly extend a user's unlockTime","audit-finding","AuditVault","2024-05",null,["vuln/access-control/missing-authorization","vuln/dos/griefing","vuln/loss-of-funds/locked-funds"],["access-control","dos","loss-of-funds"],"Missing access control on a function that mutates another user's security-relevant state, with no minimum-value requirement to raise attacker cost","high","Munchables — an NFT/staking game where users lock tokens (ETH/ERC20) for a chosen duration to earn in-game benefits",null,"`lockOnBehalf` is meant to let users \"gift\" locked tokens to others, but it reuses the exact same unlock-time-setting logic as a user locking their own tokens — without distinguishing \"I am extending MY OWN lock because I just added more of MY OWN tokens\" from \"a stranger just changed MY unlock time without asking me.\" [continues]","rootCause",1],["2024-05-NORMIE","NORMIE Exploit — Phantom Self-Mint via the premarket_user Flag + skim() Recycling","incident","DeFiHackLabs","2024-05","Base",["vuln/logic/state-update","vuln/arithmetic/overflow"],["logic","arithmetic"],"Logic flaw — unaccounted balance inflation (\"phantom mint\") gated by an attacker-controllable flag; fee-on-transfer token that swaps WETH out of its own pool; `skim()` reserve-recycling",null,null,"~$490K","The exploit is a composition of three independent design errors: 1. Unaccounted balance inflation (the core bug). `_balances[address(this)] += amount` with no offsetting debit breaks the ERC20 invariant `Σ balances == totalSupply`. It manufactures NORMIE in the contract's balance on each qualifying buy. This was almost certainly intended as a one-off launch mechanic for the team wallet, but it is reachable by any flagged address. 2. The \"premarket\" flag is set by attacker-controlled data. [continues]","rootCause",1],["34920-h-01-pointssumslope-not-updated-after-nominee-removal-and-vo","Olas: removing a nominee does not reduce pointsSum.slope","audit-finding","AuditVault","2024-05",null,["vuln/logic/state-update","vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],null,null,"Olas",null,"Bias and slope are both parts of the voting-power point, and only bias is updated when a nominee is removed. Later reads of `pointsSum.slope`, including the decay inside `_getSum` once a week passes, still include the removed nominee. On this single block the slope is used directly as the remaining power and as the ranking for the reward, so the error is visible without rolling the clock.","rootCause",1],["2024-05-OSN","OSN Exploit — LP-Dividend Farming via Instant setBalance→processAccount Reward Payout","incident","DeFiHackLabs","2024-05","BNB Chain",["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],"Reward-distribution accounting flaw — dividend eligibility granted instantly on LP-add with no hold-time / EOA-only / cooldown check, paid out immediately",null,null,"+1,757.97 USDT net to the attacker","A dividend/reflection token is only safe if reward eligibility tracks genuine, sustained liquidity provision. OSN's tracker violated that in three compounding ways: 1. Instant eligibility + instant payout. `setBalance` (called on every LP add/remove) updates the share and *immediately* `processAccount`s the dividend, without the `claimWait`/`canAutoClaim` cooldown that gates the auto-`process()` loop. An address can add liquidity and collect a proportional cut of the pending dividend pool in the same call. [continues]","rootCause",1],["40985-malicious-request-could-burn-restoration-server-gas-fees-spe","Overprotocol — a contract restore target sticks the server's fee","audit-finding","AuditVault","2024-05",null,["vuln/dos/griefing","vuln/logic/missing-check"],["dos","logic"],null,null,"Overprotocol",null,"The proof builder and the restore disagree. The builder will produce a proof for a contract. The restore rejects that target. The fee is taken on the way in, and a failed restore does not refund it. Repeating the request spends whatever the server still has. One request is enough when the fee equals the balance.","rootCause",1],["40983-malicious-restoration-servers-can-replay-restoredata-message","Overprotocol — one RestoreData signature moves the balance twice","audit-finding","AuditVault","2024-05",null,["vuln/auth/signature-replay","vuln/bridge/replay"],["auth","bridge"],null,null,"Overprotocol",null,"Nothing in the restore path consumes the message. The EVM-side check only recovers the signer. A second transaction with the same bytes is indistinguishable from the first.","rootCause",1],["2024-05-Burner","pNetwork Burner Exploit — Permissionless convertAndBurn() + Slippage-Free Kyber Trade → Sandwich","incident","DeFiHackLabs","2024-05","Ethereum",["vuln/access-control/missing-auth","vuln/defi/slippage"],["access-control","defi"],"Permissionless privileged action + missing slippage bound → AMM price-manipulation sandwich",null,null,"~1.726 WETH","The bug is the classic \"someone-else-triggers-my-swap, and my swap has no slippage bound\" combination, on top of a thin pool: 1. Permissionless trigger. Because `convertAndBurn()` carries no access control, the attacker controls the *timing* of the `Burner`'s market buy. A privileged/keeper-gated routine would still need a slippage bound, but the attacker would not be able to schedule it inside their own sandwich. 2. No slippage protection (`minConversionRate = 1`). The conversion accepts any price. [continues]","rootCause",1],["2024-05-PredyFinance","Predy Finance Exploit — Permissionless Pair Registration + Lock-Settlement Bypass Drains the Shared Pool","incident","DeFiHackLabs","2024-05","Arbitrum",["vuln/logic/incorrect-state-transition","vuln/access-control/missing-auth","vuln/logic/missing-validation"],["logic","access-control"],"Broken settlement accounting (take-then-redeposit netting bypass) + permissionless pair registration",null,null,"~$464K","The lock-settlement design assumes that any tokens leaving the pool via `take()` are paid back by the trader from the trader's own funds (settling margin), so that the before/after balance delta reflects a real economic settlement. The implementation conflates two semantically different inflows: Tokens supplied as new LP liquidity are credited the same as tokens repaid to settle a lock. `settle()` looks only at `balanceOf(pool)`. It cannot tell the difference between: [continues]","rootCause",1],["2024-05-RedKeysCoin","RedKeys Game Exploit — Predictable On-Chain \"Randomness\" Lets the Player Always Win","incident","DeFiHackLabs","2024-05","BNB Chain",["vuln/logic/missing-validation","vuln/oracle/spot-price"],["logic","oracle"],"Weak / predictable PRNG (insecure on-chain randomness)",null,null,"~$12K — house bankroll of the `RedKeysGame` contract drained in REDKEYS","The single root cause is using predictable on-chain data as a randomness source for a gambling payout. A secure randomness scheme for a casino must make the result *impossible for the player to know before they commit their bet*. This contract does the opposite: the result is a deterministic function of inputs the player can read in the very same transaction. Concretely: 1. No external entropy. All seed inputs (`counter`, block fields, `msg.sender`) are on-chain and read-accessible. [continues]","rootCause",1],["2024-05-SATURN","SATURN Token Exploit — AutoNukeLP Burns the Pool's Reserve on Every Sell","incident","DeFiHackLabs","2024-05","BNB Chain",["vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Broken AMM invariant via an un-compensated reserve burn on `transfer`-to-pair",null,null,"~15 BNB","A Uniswap-V2/PancakeSwap pair prices assets purely from its reserves and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists to let the pair reconcile its reserve bookkeeping with its actual token balances — it implicitly trusts that those balances change only through `mint`/`burn` (of LP tokens) / `swap` / transfers it can reason about. `Saturn._transfer` violates that trust in the worst possible way: [continues]","rootCause",1],["2024-05-SCROLL","SCROLL Token Exploit — Uniswap UniversalRouter Drained via a balanceOf == type(uint256).max Trap Token","incident","DeFiHackLabs","2024-05","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Malicious/trap ERC-20 (`balanceOf` returns `type(uint256).max`) draining stuck funds in a permissionless router via the public `TRANSFER` command",null,null,"76.36 WETH","This is a trap-token-vs-shared-infrastructure bug, composed of two independent facts that are individually defensible but catastrophic together: 1. The UniversalRouter trusts ERC-20 `balanceOf`/`transfer` honesty and exposes a permissionless `TRANSFER`. The router was designed to be empty between transactions, so a public function that shovels its token balance to an arbitrary recipient was considered safe. The router never holds an allow-list of \"real\" tokens, and `pay()` performs no independent accounting. [continues]","rootCause",1],["35628-insufficient-src-validation-allows-malicious-users-to-steal","Shido WSHIDO — transferFrom moves tokens when allowance is zero","audit-finding","AuditVault","2024-05",null,["vuln/logic/missing-check","vuln/access-control/broken-logic"],["logic","access-control"],"Missing allowance check on transferFrom","high","Shido `WSHIDO.transferFrom`",null,"The allowance update is not a guard. It is an optional side effect. The balance move is outside the condition, and both `src` and `dst` are arguments.","rootCause",1],["2024-05-Sonne","Sonne Finance Exploit — Empty-Market Exchange-Rate Inflation (CompoundV2 Donation Attack)","incident","DeFiHackLabs","2024-05","Base",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"First-depositor / empty-market exchange-rate inflation via underlying donation + redeem rounding-down",null,null,"~$724,290 USDC in this reproduced transaction","This is the canonical CompoundV2 empty-market / first-depositor exchange-rate manipulation, weaponised by an operational mistake in market listing. Four facts compose into the exploit: 1. A market was listed without a seed deposit. [continues]","rootCause",1],["2024-05-TCH","TCH Exploit — Signature-Replay Loophole + Pool-Reserve _burn/sync() Price Manipulation","incident","DeFiHackLabs","2024-05","BNB Chain",["vuln/auth/signature-replay","vuln/auth/signature-malleability","vuln/oracle/price-manipulation"],["auth","oracle"],"ECDSA signature-replay (malleable `keccak256(signature)` nonce) → repeated permissionless pool-reserve burn breaking the AMM constant-product invariant",null,null,"~$18,589","There are two cooperating flaws; either alone would be far less severe. Flaw A — the replay nonce is the malleable signature, not the message nonce. The whole point of the `nonce` parameter is to make each authorized burn one-shot. But `burnToken` never tracks `nonce`; it tracks `keccak256(signature)` (tch.sol:1606-1609). [continues]","rootCause",1],["2024-05-TGC","TGC Exploit — Broken Pledge-Reward Math Mints 113,000× the Stake","incident","DeFiHackLabs","2024-05","BNB Chain",["vuln/logic/reward-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Broken reward accounting — unscaled time-based interest mints reward ≫ principal",null,null,"~$29.6K","1. Unscaled, unbounded time-based reward. The claim formula multiplies principal by raw elapsed *seconds* and a large unscaled coefficient, with no `1e18` fixed-point divisor and no per-period normalization. Over any non-trivial wait, the reward explodes far beyond the principal — and far beyond anything the staker actually deposited. 2. Reward paid from a pre-funded treasury, not from real yield. The contract simply `transfer`s TGC it already holds. [continues]","rootCause",1],["2024-05-Tradeonorion","Trade On Orion (Orion Protocol BSC) Exploit — redeemAtomic Missing Position Check + Liability-Free requestReleaseStake","incident","DeFiHackLabs","2024-05","BNB Chain",["vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["logic"],"Missing solvency/position check on a balance-moving primitive (un-collateralized \"minting\" of internal balances)",null,null,"~$645K","The protocol's safety model is: *\"a negative internal balance is fine as long as the user's collateralized position stays POSITIVE, enforced by `checkPosition` everywhere a balance can go down.\"* Three independent defects break that model: 1. `doRedeemAtomic` has no internal solvency post-condition (the `lock` path has one; the `redeem` path does not), and the wrapper's single `checkPosition(order.sender)` runs *after* both balance moves, not per-move. [continues]","rootCause",1],["2024-05-TSURU","TSURU Wrapper Exploit — Unprotected onERC1155Received Free-Mint Drains the LP","incident","DeFiHackLabs","2024-05","Base",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control / spoofable ERC-1155 receiver hook → unlimited free token mint",null,null,"~$140K","ERC-1155 / ERC-721 receiver hooks (`onERC1155Received`, `onERC721Received`) are callbacks invoked by the token contract during a `safeTransferFrom`. They are *not* deposit functions and must never be trusted as a source of funds, because anyone can call them directly with arbitrary arguments. The secure pattern is: The receiver hook must verify `msg.sender == <the expected token contract>` and may only credit the *escrowed* asset. [continues]","rootCause",1],["32243-h-1-the-calculated-value-for-slippage-protection-in-the-prot","Alchemix: the swap fills at 1980, below the 2475 alUSD floor","audit-finding","AuditVault","2024-04","Optimism",["vuln/defi/slippage","vuln/oracle/wrong-feed"],["defi","oracle"],null,null,"Alchemix",null,"The route sells OP for alUSD, but the minimum is computed from the USD value of OP. alUSD is not USD, so the floor sits below the market.","rootCause",1],["2024-04-ATM","ATM Token Exploit — Forced Zero-Slippage Auto-Swaps Drained via transfer + skim","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/defi/slippage","vuln/logic/incorrect-state-transition"],["defi","logic"],"Business-logic flaw — forced un-slipped AMM swaps + treating direct transfers as \"sells\"",null,null,"+217.96 WBNB net to the attacker","A Uniswap-V2/PancakeSwap pair pays out `swap()` amounts purely from its reserves, with no price floor unless the caller passes one via `amountOutMin`. ATM's auto-distribute logic passes `0`. That turns the contract into a forced, price-insensitive seller of its own token. Three decisions compose into the bug: 1. \"Sell\" detection by recipient, not by call path. The auto-swap condition only checks `_swapPairList[to]`. [continues]","rootCause",1],["2024-04-BigBangSwap","BigBangSwap Exploit — sellRewardToken Pays Out Against a Richer Pool Than the Seller Bought From","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/price-calculation"],["oracle","logic"],"Economic / pricing-oracle mismatch — reward priced on a self-contained, divergent AMM pool that is cheaper to acquire elsewhere",null,null,"~5,085 BUSD extracted from the protocol","`sellRewardToken` uses BigBangSwap's own AMM pool as the price oracle for the BUSD it pays out, while the *same* token (BGG) is freely available far cheaper on a different, more liquid pool (PancakeSwap). The reward function never checks at what price the seller actually obtained the BGG, nor does it reconcile against an external/market price. This is a classic isolated-pool pricing flaw: The protocol promises \"BGG is worth ~0.2 BUSD\" (per its own pool), but the open market sells BGG for ~0.037 BUSD. [continues]","rootCause",1],["2024-04-BNBX","BNBX Exploit — Unprotected Public transferFrom Drains Every Approver","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/access-control/missing-auth"],["access-control"],"Missing access control — public function performs `token.transferFrom(arbitraryAddress, msg.sender, …)`",null,null,"~5 BNB","The helper combines three ingredients that together make theft trivial: 1. No authorization on a fund-moving function. `sweep(address)` (selector `0x11834d4c`) is callable by anyone. There is no `onlyOwner`, no signed-intent check, no `msg.sender == victim` requirement, no allow-list. The very first byte of trust — \"who may invoke a `transferFrom` on someone else's tokens\" — is missing. 2. The victim is fully attacker-controlled and the recipient is `msg.sender`. [continues]","rootCause",1],["36311-h-01-broken-mint-if-market-pre-mint-less-than-p-pashov-audit","Catalyst — mint locks the free premint above the stored value","audit-finding","AuditVault","2024-04",null,["vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["logic"],null,null,"Catalyst (Molecule IPSeed)",null,"The curve's free prefix and the market's stored premint are two different numbers. Spawn only checks that the stored premint itself is free. It does not require the stored premint to equal `p`. Mint then uses the stored number as the end of the free region. Any buy that is still free under `p`, but larger than the stored premint, has `net == 0` and fails the trade-size guard.","rootCause",1],["2024-04-ChaingeFinance","Chainge Finance Exploit — Arbitrary External Call in MinterProxyV2.swap() Drains Approvals","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-validation"],["dependency","access-control"],"Arbitrary external call with attacker-controlled target + calldata (`CALL` injection), abusing the proxy's standing token allowances",null,null,"~$200K across 12 tokens","A contract that holds standing token allowances must treat the ability to call `transferFrom` on those tokens as a privileged capability. `MinterProxyV2.swap()` hands that capability to anyone: It performs `target.call(callData)` with `target` and `callData` taken directly from the caller, and the proxy is the approved spender for every user. Setting `target = USDT`, `callData = transferFrom(victim, attacker, victimBalance)` turns the proxy into a confused deputy that steals from anyone who ever approved it. [continues]","rootCause",1],["33466-h-10-flash-loan-protection-mechanism-can-be-bypassed-via-sel","DYAD — Flash loan protection mechanism can be bypassed via self-liquidations","audit-finding","AuditVault","2024-04",null,["vuln/access-control/guard-bypass","vuln/logic/state-not-refreshed","vuln/flash-loan/protection-bypass"],["access-control","logic","flash-loan"],"A security guard keyed by an identity (note id) that a second code path (liquidation) can silently substitute without updating the guard's bookkeeping","high","DYAD — an over-collateralized stablecoin (DYAD) with a secondary \"Kerosene\" governance/collateral token whose price is derived from the system's own free collateral",null,"The guard is keyed by note id and assumes the only way collateral enters a note is `deposit()` — the single code path that refreshes the marker. `liquidate()` is a second, independent code path that credits a note with fresh collateral (via `vault.move()`) without going through `deposit()`, so it never refreshes the guard. Any code path that can move collateral into an account without calling `deposit()` reopens the exact flash-loan window the guard was built to close.","rootCause",1],["41691-h-04-initialization-of-dyadxpv2-is-impossible-pashov-audit-g","DYAD — Initialization of DyadXPv2 is impossible (unbounded init loop DoS)","audit-finding","AuditVault","2024-04",null,["vuln/dos/unbounded-loop","vuln/dos/block-gas-limit","vuln/upgrade-safety/uninitializable-contract","vuln/liveness/permanent-brick"],["dos","upgrade-safety","liveness"],"Unbounded loop over on-chain-growing supply → per-tx cost exceeds the block gas limit → uninitializable-after-upgrade","high","DYAD — collateralized stablecoin; DyadXPv2 is the Kerosene XP-staking module",null,"The initializer does O(supply) work in a single transaction. Any per-transaction computation whose cost grows with an on-chain, permissionlessly-growing quantity (here the DNFT supply) eventually crosses the block gas limit and becomes unmineable. Because this is the upgrade's one-shot initializer, crossing that threshold does not merely make one call expensive — it makes the entire upgrade impossible to activate, with no recovery path.","rootCause",1],["47343-denial-of-slashing-ottersec-none-ethos-evm-pdf","Ethos: growing delegatedValidators blocks a slash","audit-finding","AuditVault","2024-04",null,["vuln/dos/griefing","vuln/dos/gas-limit","vuln/dos/unbounded-loop"],["dos"],null,null,"Ethos ServiceManager",null,"Pushing a delegation does not get more expensive as the array grows. Scanning it does. Nothing stops the operator from calling `updateDelegation` again with the same operator and consumer. Once the scan no longer fits in the gas available to a slash, `verifyDoubleSigning` cannot finish, so the stake transfer never runs.","rootCause",1],["35943-pegstabilitymodule-assumes-underlying-has-18-decimals-spearb","Euler PSM — a 6-decimal underlying is quoted as if it had 18","audit-finding","AuditVault","2024-04",null,["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],"Decimal mismatch between an 18-decimal synth and a 6-decimal underlying","high","Euler EVK `PegStabilityModule.quoteToUnderlyingGivenIn`",null,"Swap amounts are quoted in the synth's decimals. The module was written as if every underlying also had 18. USDC does not. One human unit of synth is `1e18` wei and one human unit of USDC is `1e6` units, so an unscaled 1:1 quote overpays the underlying by `1e12`.","rootCause",1],["2024-04-FIL314","FIL314 Exploit — Permissionless hourBurn() Crushes the Self-Contained AMM Reserve","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Broken AMM invariant via a permissionless, un-compensated reserve burn (ERC314 reserve manipulation)",null,null,"~14.08 BNB drained from FIL314's built-in BNB reserve","An AMM is only sound if both reserves move together (`x·y = k` is preserved by every swap, and the only way to change `k` is to add/remove *both* sides as liquidity). FIL314 violates that in the worst possible way: `hourBurn()` lets anyone, for free, arbitrarily many times per transaction delete the token side of the pool (`_balances[address(this)]`) while leaving the BNB side (`ethBalance`) untouched. `k` collapses, the marginal price of FIL314 explodes, and the BNB reserve becomes claimable for almost nothing. [continues]","rootCause",1],["2024-04-GFA","GFA (Generation Finance Academy) Exploit — Permissionless setReward / generateReward Self-Mint","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Missing access control (permissionless reward registration + minting)",null,null,"~$14,697","A multi-contract reward system is only as trustworthy as its least-protected write path. GFA split its logic across a token contract (which holds/mints the 8M mine pool) and a `Reward` contract (which decides *who is owed how much*). The token blindly trusts the `Reward` contract's `waitRelease` output, but the `Reward` contract trusts everyone: The `Reward` contract's `setReward`, `generateReward`, and `releaseCoin` are `public` with no `msg.sender == token` check. [continues]","rootCause",1],["35214-h-12-addnewtranche-no-authorization-from-borrower-code4rena","Gondi — a lender tranche is added without the borrower","audit-finding","AuditVault","2024-04",null,["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],null,"high","Gondi MultiSourceLoan",null,"The function treats a lender signature as enough to change the borrower's loan. `refinanceFull` rejects a caller who is neither the lender nor the borrower. `addNewTranche` has no such check. The borrower cannot refuse the new principal, the 10,000 bps APR, or the fee that leaves them with no cash.","rootCause",1],["35215-h-13-processoffersfromexecutiondata-lack-of-check-execution","Gondi — a signed 365-day offer is filled for 730 days","audit-finding","AuditVault","2024-04",null,["vuln/logic/missing-validation","vuln/logic/fee-calculation"],["logic"],null,"high","Gondi MultiSourceLoan",null,"The signature binds `offer.duration`. The value copied onto the loan is `executionData.duration`, and no check relates the two. A nonzero signed duration does not cap the term the borrower can set.","rootCause",1],["35205-h-03-function-distribute-lacks-access-control-allowing-anyon","Gondi — distribute() lacks access control (Pool accounting corruption)","audit-finding","AuditVault","2024-04",null,[],["untagged"],"Missing access control → accounting inflation → fund theft","high","Gondi — NFT lending",null,"`distribute` trusts caller-supplied loan struct fields. The Pool's `loanLiquidation` never receives `principalAddress`, so it cannot reject junk tokens — any amount reported as `_received` inflates share pricing.","rootCause",1],["35212-h-10-the-attackers-front-running-repayloans-so-that-the-debt","Gondi — front-running repayLoan via loanId rotation","audit-finding","AuditVault","2024-04",null,[],["untagged"],"Loan-id invalidation / MEV front-run DoS on repayment","high","Gondi — multi-source NFT lending",null,"Loan identity is a mutable mapping key. Any function that rotates the key without borrower consent can race a repay (or refinance/liquidate) mempool transaction. A hostile lender is highly motivated near expiry: block repayment, then foreclose the NFT.","rootCause",1],["35211-h-09-incorrect-accounting-of-pendingwithdrawal-in-queueclai","Gondi — incorrect _pendingWithdrawal accounting in queueClaiming","audit-finding","AuditVault","2024-04",null,[],["untagged"],"Missing accumulation in multi-queue distribution","high","Gondi — ERC4626 lending pool withdrawal queues",null,"Multi-source distribution into a shared pending array must accumulate. Using `=` keeps only the last source's contribution; prior sources are already zeroed in `getTotalReceived`, so the lost amount is permanent.","rootCause",1],["35213-h-11-incorrect-protocol-fee-implementation-results-in-outsta","Gondi — liquidation drops the protocol fee and shorts the pool","audit-finding","AuditVault","2024-04",null,["vuln/logic/fee-calculation"],["logic"],null,"high","Gondi Pool / LiquidationDistributor",null,"Origination and liquidation do not use the same fee. The value added to `sumApr` is the post-fee APR. The value subtracted on this path is the pre-fee APR, because the distributor never forwards `protocolFee`. With another loan still open, `sumApr` does not underflow. It lands 200,000 units below the remaining loan (`600_000` instead of `800_000`), which is 20 YIELD of annual booked yield.","rootCause",1],["35216-h-14-mergetranchesrefinancepartial-lack-of-nonreentrant-code","Gondi — mergeTranches reenters and double-books one NFT","audit-finding","AuditVault","2024-04",null,["vuln/reentrancy/single-function"],["reentrancy"],null,null,"Gondi",null,"The refinance path takes the reentrancy lock and then makes an external call into an offer validator the caller chose. `mergeTranches` checks that the old loan hash is still stored, allocates a new id, and writes that hash. It never looks at the lock. The callback therefore deletes the original loan and inserts a sibling loan while refinance still has the NFT id in memory. When refinance resumes it writes its own loan for the same token. [continues]","rootCause",1],["35219-h-17-refinancefulladdnewtranche-reusing-a-lenders-signature","Gondi — one lender signature opens a second tranche","audit-finding","AuditVault","2024-04",null,["vuln/auth/signature-replay","vuln/logic/missing-check","vuln/logic/missing-validation"],["auth","logic"],null,"high","Gondi MultiSourceLoan",null,"One struct hash authorizes two different settlements. `refinanceFull` replaces every tranche and, when the new principal equals the old one and interest is zero, sends the lender's WETH to the previous lender. `addNewTranche` appends a tranche and sends that same WETH to the borrower. The signature cannot tell them apart, and the id is not consumed, so the first function to land in a block wins.","rootCause",1],["35206-h-04-function-refinancefromloanexecutiondata-does-not-check","Gondi — refinanceFromLoanExecutionData missing tokenId check","audit-finding","AuditVault","2024-04",null,[],["untagged"],"Missing collateral-id consistency check on refinance","high","Gondi — NFT multi-source lending",null,"Refinance optimizes by not moving the NFT, but still lets the borrower name a different token id for offer validation. Lenders' collateral constraints are checked against the spoofed id, not the asset actually secured by the protocol.","rootCause",1],["35208-h-06-function-settlewithbuyout-does-not-call-loanmanagerloan","Gondi — settleWithBuyout skips LoanManager.loanLiquidation","audit-finding","AuditVault","2024-04",null,[],["untagged"],"Missing liquidation accounting callback on buyout path","high","Gondi — NFT multi-source lending / pool LoanManager",null,"Buyout treats every other lender as a passive EOA address that only needs a token transfer. Pool lenders also need the LoanManager callback that updates outstanding principal and `getTotalReceived` / cash. Without it, tokens sit on the Pool while share accounting still believes the principal is on loan.","rootCause",1],["35217-h-15-baseloanchecks-check-errors-for-expire-code4rena-gondi","Gondi — the exact expiry second is both liquidatable and still live","audit-finding","AuditVault","2024-04",null,["vuln/dos/frozen-funds","vuln/logic/liquidation-logic"],["dos","logic"],null,"high","Gondi MultiSourceLoan",null,"The two checks are not complements. One uses `>` and the other uses `<`. Equality is accepted by both. The report's sequence is then possible: open the auction without clearing the hash, replace the loan through a path that still passes `_baseLoanChecks`, and leave settlement unable to find loan id 1.","rootCause",1],["35207-h-05-triggerfee-is-stolen-from-other-auctions-during-settlew","Gondi — triggerFee stolen from other auctions in settleWithBuyout","audit-finding","AuditVault","2024-04",null,[],["untagged"],"Fee paid from shared contract balance rather than buyer funds","high","Gondi — NFT multi-source lending / liquidation auctions",null,"The buyout path never collects the trigger fee from the main lender. Paying it from the shared balance treats other auctions' locked funds as free liquidity for the fee.","rootCause",1],["35218-h-16-validateoffer-reentry-to-manipulate-exchangerate-code4r","Gondi — validateOffer reentry inflates the exchange rate","audit-finding","AuditVault","2024-04",null,["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],null,"high","Gondi Pool / MultiSourceLoan",null,"Checks-effects-interactions is split across two contracts. The pool records the loan as an asset before the loan contract takes the cash. The validator callback sits in that gap and can call `redeem`. `validateOffer` and `redeem` do not share a lock. A `nonReentrant` modifier that ends when `validateOffer` returns does not cover the callback, because the callback runs after that return.","rootCause",1],["35209-h-07-deploywithdrawalqueue-need-to-clear-queueaccountinglas","Gondi Pool — recycled withdrawal queue keeps stale accounting","audit-finding","AuditVault","2024-04",null,["vuln/logic/state-update","vuln/logic/missing-check"],["logic"],null,null,"Gondi",null,"Queue indexes are `(pending + 1) % (maxQueues + 1)`. The slot that is about to become the pending queue is an old cohort's slot. Deploy replaces the queue contract at that index and clears outstanding-value caches, but `QueueAccounting.thisQueueFraction` and `netPoolFraction` stay. `_updatePendingWithdrawalWithQueue` treats any non-zero `thisQueueFraction` as a live claimant and subtracts that share from the repayment before the remainder is left with the pool.","rootCause",1],["2024-04-GROKD","GROKD Exploit — Permissionless updatePool() + depositFromIDO() Reward Pool Drain","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/reward-calculation"],["access-control","logic"],"Missing access control on privileged reward-config + stake-registration functions (`updatePool`, `depositFromIDO`)",null,null,"~129.8 BNB in this fork reproduction","A MasterChef pending-reward formula is, at heart: Two privileged inputs to this formula were left world-writable: 1. `rewardPerBlock` (via `updatePool`) is the protocol's monetary policy — the single most sensitive economic parameter. Letting anyone set it to `48,000,000 ether` turns one block of accrual into \"drain the whole treasury.\" 2. `userInfo.amount` (via `depositFromIDO`) is the staker's claim weight. [continues]","rootCause",1],["2024-04-Hackathon","Hackathon Token Exploit — sender == recipient == pair Double-Credit Balance Inflation via skim()","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/logic/state-update","vuln/defi/slippage"],["logic","defi"],"Token accounting bug — non-mutually-exclusive `if` branches in `_transfer` mint balance when `sender == recipient` is an AMM pair",null,null,"~$20,911","Two design decisions compose into a critical mint: 1. Non-mutually-exclusive branches. A buy and a sell are conceptually exclusive (a transfer is either *from* the pair or *to* the pair), so the code should use `if (pair[sender]) { … } else if (pair[recipient]) { … }`. Using two separate `if`s means the degenerate case where `sender == recipient == pair` falls into both, and the single debit is paired with a double credit. This is a free mint of the token into any pair-to-pair transfer. [continues]","rootCause",1],["2024-04-HedgeyFinance","Hedgey Finance Exploit — Dangling Approval to Attacker-Controlled tokenLocker","incident","DeFiHackLabs","2024-04","Ethereum",["vuln/access-control/missing-validation","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Dangling ERC20 approval to an unvalidated, attacker-controlled address (missing allowance revocation on cancel)",null,null,"1,303,910.12 USDC drained from the `ClaimCampaigns` contract in a single tx","Four design facts compose into a one-transaction theft: 1. Untrusted approval target. `createLockedCampaign` approves `claimLockup.tokenLocker` — an arbitrary caller-supplied address — instead of a whitelisted/known Hedgey lockup contract. This hands the attacker an allowance over the escrow's tokens. 2. No allowance cleanup on cancel. `cancelCampaign` `delete`s the campaign and refunds the deposit but performs no `safeDecreaseAllowance`. The grant from step 1 outlives the campaign. [continues]","rootCause",1],["2024-04-HoppyFrogERC","Hoppy The Frog Exploit — Tax-Token Auto-Swap Reserve Manipulation","incident","DeFiHackLabs","2024-04","Ethereum",["vuln/oracle/price-manipulation","vuln/defi/sandwich-attack"],["oracle","defi"],"Tax-token internal auto-swap manipulation (self-sandwich of the contract's own `swapTokensForEth`) on a fee-on-transfer AMM path",null,null,"~0.38 WETH profit to the attacker","A Uniswap-V2 pool prices assets from its reserves and enforces `x·y ≥ k` *only inside its own `swap()`*. The Hoppy token couples a second, contract-initiated swap into that same pool to *every user sell* — and the attacker fully controls the trigger condition and the timing. The composing flaws: 1. The auto-swap dumps into the very pool being traded. When the attacker's sell arrives, the token first sells *its own* 4,206.9 HOPPY into the HOPPY/WETH pair before the attacker's trade settles. [continues]","rootCause",1],["35502-anyone-could-remove-anyone-from-the-blacklist-zokyo-none-hyd","Hydro — anyone can clear a DenyList entry and move the frozen balance","audit-finding","AuditVault","2024-04",null,["vuln/access-control/missing-owner-check","vuln/access-control/missing-modifier"],["access-control"],"Missing owner check on a blacklist removal","high","Hydro `remove_addr_from_blacklist`",null,"The deletion is authorized by possession of the list argument, not by the owner capability the other mutating functions take. Anyone who can pass the current list can drop any address that is on it, including themselves.","rootCause",1],["2024-04-MARS","MARS Exploit — Flash-Loan Reflection/Reserve Desync on a Fee-on-Transfer Pair","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Reflection/fee-on-transfer token whose tax credits holders *inside `_transfer`*, desyncing the AMM pair's balance from its stored reserve (\"bad reflection\")",null,null,"> $100K","A constant-product pair is a state machine over its reserves, and `swap()` validates a trade only against `getReserves()`. The pair trusts that nothing mutates its token balances outside of `mint`/`burn`/`swap`/`skim`/`sync`. MARS violates that trust from the inside: Every MARS transfer — including the pair's own inbound buys — silently adds MARS to the pair's `balanceOf` via reflection, without the pair ever being told. The pair's `reserve` therefore chronically *understates* how much MARS it holds. [continues]","rootCause",1],["40578-if-operatorflag-false-attacker-can-steal-all-nfts-within-the","Mellow — a permissionless rebalance swaps out the victim NFT","audit-finding","AuditVault","2024-04",null,["vuln/access-control/missing-modifier","vuln/logic/missing-check"],["access-control","logic"],"With the flag clear, any caller can rebalance and the callback chooses the replacement NFT ids","high","Mellow `Core.rebalance`",null,"The report says that with `operatorFlag == false` an attacker can rebalance positions, pass `minLiquidity` by increasing liquidity on their own NFT, and end holding the victim's position NFT.","rootCause",1],["59205-signature-replay-quantstamp-netmind-markdown","NetMind: one distribution signature pays the GPU provider twice","audit-finding","AuditVault","2024-04",null,["vuln/auth/signature-replay"],["auth"],null,null,null,null,"Bob deposits 10 NMT. An authorized signer signs one distribution: payment id 1, the GPU provider, 2 NMT GPU fee, 1 NMT platform fee, expiry `2000000000`. The digest is `keccak256(abi.encode(...))` and is never marked used. The same 65-byte signature, precomputed offline, is submitted a second time. The GPU provider ends with 4 NMT and `feeTo` with 2 NMT. Only 2 NMT and 1 NMT were authorized. The second use moved another 3 NMT.","tldr",1],["2024-04-NGFS","NGFS (FENGSHOU) Exploit — Permissionless Privilege-Escalation Chain → Unlimited Mint","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/access-control/missing-auth","vuln/arithmetic/overflow"],["access-control","arithmetic"],"Broken access control / privilege escalation → un-collateralized arbitrary mint (`_balances[x] += amount` with no `totalSupply` accounting and an attacker-controllable auth check)",null,null,"~$95,902 reproduced in this PoC","The protocol tried to build a privileged \"reserve sync\" subsystem but wired its trust roots to uninitialized, attacker-claimable state: 1. `delegateCallReserves()` is a permissionless role grant. It hands the `_uniswapV2Proxy` role to whoever calls it first. The one-time `uniswapV2Dele` latch is *not* security — it just means the first caller (here, the attacker) wins the race forever. There is no `onlyOwner`, so the intended keeper never even got the chance to claim it before the attacker did. [continues]","rootCause",1],["2024-04-OpenLeverage2","OpenLeverage (OPBorrowing) Exploit — Self-Liquidation Bad-Debt Drain via 1inch-Callback Price Manipulation","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/oracle/price-manipulation","vuln/dependency/unsafe-external-call"],["oracle","dependency"],"DeFi accounting / self-liquidation bad-debt socialization enabled by an attacker-controlled DEX-aggregator callback (price/oracle manipulation + re-entrancy into `borrow`)",null,null,"~234,000 USD","Three independent design weaknesses compose into a critical bug: 1. Untrusted DEX-aggregator callback in `marginTrade`. Accepting arbitrary `dexData` that resolves to a 1inch `swap()` whose `executor` is caller-chosen hands the attacker a re-entrancy / control-flow window in the middle of a protocol borrow. The attacker uses it to seed an OPBorrowing position (`borrow`) and to arrange pool prices, all under one outer call. [continues]","rootCause",1],["2024-04-PikeFinance","Pike Finance Exploit — Unguarded initialize() → UUPS Upgrade Hijack → ETH Drain","incident","DeFiHackLabs","2024-04","Ethereum",["vuln/access-control/uninitialized-proxy","vuln/dependency/upgradeable-contract"],["access-control","dependency"],"Missing / bypassed initializer guard on a UUPS proxy `initialize()` → storage overwrite → unauthorized `upgradeToAndCall()` → arbitrary logic execution under the proxy's storage & balance",null,null,"479.39 ETH","Three design failures compose into the critical bug: 1. `initialize()` had no working re-initialization guard. Slot 11 was already `1` (initialized), yet the call succeeded and rewrote slot 4 (owner) and slots 0–3. Either the `initializer`/`onlyInitializing` modifier was missing from `initialize`, or it checked the wrong flag, or — as some post-mortems note — the upgrade path Pike used introduced a storage-collision that realigned the `_initialized` slot away from the one the guard reads. [continues]","rootCause",1],["33495-h-08-incorrect-withdraw-queue-balance-in-tvl-calculation-cod","Renzo — incorrect withdraw queue balance in TVL calculation","audit-finding","AuditVault","2024-04",null,[],["untagged"],"precision-loss","high","Renzo",null,"Wrong loop index on the oracle token identity for the withdraw-queue contribution.","rootCause",1],["33494-h-07-dos-of-completequeuedwithdrawal-when-erc20-buffer-is-fi","Renzo: filling the ERC20 buffer reverts completeQueuedWithdrawal","audit-finding","AuditVault","2024-04",null,["vuln/access-control/missing-modifier","vuln/dos/frozen-funds","vuln/dos/lockup"],["access-control","dos"],null,null,"Renzo",null,"The completion path and the buffer-fill path disagree about who is allowed to move tokens into the queue. The delegator is the contract that holds the tokens just withdrawn from EigenLayer. The queue only accepts the RestakeManager. The first time the buffer is short, every ERC20 completion reverts.","rootCause",1],["2024-04-Rico","Rico / Ricobank Exploit — Arbitrary-Target flash() Drains the Bank's Reserves","incident","DeFiHackLabs","2024-04","Arbitrum",["vuln/access-control/missing-validation","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Arbitrary external call (confused-deputy) — flash-mint callback uses the borrower address as the *call target* with attacker-controlled calldata",null,null,"~$36K — every token the `BankDiamond` held was drained","This is a textbook confused-deputy / arbitrary external call: A privileged contract (the bank) makes a low-level `call` to an attacker-supplied address with attacker-supplied calldata, using the bank's own authority (`msg.sender = bank`). The design intended `code` to be the borrower's *own* contract, so that any tokens moved by the callback would be moving the *borrower's* assets (the freshly minted RICO). The implementation never enforces that `code` is the borrower or any trusted party. [continues]","rootCause",1],["44183-h-02-fcfsmint-can-be-called-by-anyone-not-only-by-whiteliste","RunaAGI — FCFSMint does not check the whitelist","audit-finding","AuditVault","2024-04",null,["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],null,null,"Vallarok (RunaAGI)",null,"FCFS was specified as an extra allocation for wallets already on the whitelist. The function enforces a signature and a price, and treats those as if they were the whitelist. The boolean mapping that actually records the list is never read on this path, so any address the signer will sign for can mint.","rootCause",1],["2024-04-SATX","SATX Exploit — Permissionless destroyPoolToken() Reserve Manipulation + skim() Drain","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Broken AMM invariant via a permissionless, un-compensated reserve-shrink burn inside `_transfer`",null,null,"~49.34 WBNB","A Uniswap-V2/PancakeSwap pair prices assets purely from `reserve0/1` and only enforces `x·y ≥ k` inside `swap()`. `sync()` exists to let the pair adopt `balanceOf` as its reserve — it trusts that balances move only through `mint`/`burn`/`swap`/ordinary transfers the pair can reason about. `destroyPoolToken()` breaks that trust in exactly the way the pair cannot defend against: [continues]","rootCause",1],["2024-04-SQUID","SQUID Token Exploit — Permissionless 1:1 V1→V2 Migration + Public sellSwappedTokens Drain","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Public-by-design token-migration swap + permissionless \"sell-on-behalf\" that lets anyone dump contract-held tokens; combined with a 1:1 V1→V2 conversion invariant that ignores market price",null,null,"~$87K — 147.56 WBNB net profit extracted","The contract conflates \"trustless / permissionless\" with \"safe\". Making an action public is only harmless if the action is value-neutral for the caller. Here every public action is value-positive for the caller at the contract's (and LPs') expense: 1. 1:1 V1→V2 ignores price. `swapTokens` should have used a TWAP/oracle rate or a fixed V1-only redemption — never an at-par conversion between two separately-priced tokens. [continues]","rootCause",1],["2024-04-SumerMoney","Sumer Money Exploit — Reentrancy via repayBorrowBehalf Refund Inflates the ETH cToken Exchange Rate","incident","DeFiHackLabs","2024-04","Base",["vuln/reentrancy/single-function"],["reentrancy"],"Reentrancy (CEther-specific): external call to `msg.sender` before accounting state update in `repayBorrowBehalf`",null,null,"~$350K","A state-modifying function (`repayBorrowBehalf`) performs an external call to an untrusted address before any of its effects have been applied, and that external call happens outside the `nonReentrant` scope of the actual repay logic. This is the canonical CEI violation, but it is subtle here because: [continues]","rootCause",1],["2024-04-UnverifiedContr_0x00C409","Unverified Contract 0x00C409 Exploit — Manipulable AMM Callback Drains WETH Reserves","incident","DeFiHackLabs","2024-04","Ethereum",["vuln/oracle/price-manipulation","vuln/dependency/unsafe-external-call"],["oracle","dependency"],"Untrusted external callback / price-feed manipulation — AMM-style contract that queries the caller (`msg.sender`) for reserves, balances, and AMM math",null,null,"~18.27 WETH","The victim is a trust-confused AMM: it treats an externally-supplied address (the `pool` argument to `swapExactAmountIn`) as the source of truth for reserves, balances, swap math, and settlement. There is no whitelist on `pool`, no cross-check against the victim's own storage, and no invariant that the WETH minted in step 2 is bounded by the amount the victim legitimately owes the caller. Three design failures compose into the drain: 1. Untrusted `pool` argument. [continues]","rootCause",1],["2024-04-UPS","UPS (UtopiaSphere) Exploit — Sell-Side _swapBurn Drains the LP Pair via skim","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Broken AMM invariant — protocol `_burn`s tokens directly out of the LP pair on every sell, then `sync()`s; combinable with `skim()` to extract value",null,null,"~$28,147 USDT drained from the UPS/USDT PancakeSwap V2 pair","A Uniswap-V2-style pair only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists so a pair can re-baseline its reserves to its actual token balances after legitimate `mint`/`burn`/transfer activity it can reason about. `_swapBurn` abuses this trust: It destroys UPS that the pair holds (`_burn(pairAddress, …)`) and then tells the pair, via `sync()`, \"your UPS reserve is now this much smaller.\" No USDT leaves the pair. [continues]","rootCause",1],["2024-04-WSM","WSM Presale Exploit — Spot-Oracle Price Manipulation in buyWithBNB() via Flash-Loan Pool Crash","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"Manipulable spot-AMM oracle (price taken from a single Uniswap V3 pool the attacker can swap in the same tx)",null,null,"~2,517,438 WSM","The presale uses a single, live, freely-tradable Uniswap V3 pool as its price source and reads it in the same atomic transaction in which the attacker trades that pool. Three design decisions compose into the exploit: 1. Spot oracle, no manipulation resistance. `fetchPrice()` reads the instantaneous reserves of pool `0xf420`. There is no TWAP, no time-weighted aggregation, no sanity bound, no fallback. Whatever the pool says *now* is the price. 2. The oracle pool is a public swap venue. [continues]","rootCause",1],["2024-04-XBridge","XBridge Exploit — Permissionless listToken() Hijacks Token Ownership Then Drains Bridge Reserves","incident","DeFiHackLabs","2024-04","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-owner-check"],["access-control"],"Broken access control / ownership hijack — public listing function self-assigns token ownership, then `withdrawTokens` trusts that ownership",null,null,"~$1.6M total","`_tokenOwner[token]` is meant to bind a *real* lister to the tokens they deposited, but nothing in `listToken()` enforces that binding. Three design decisions compose into a critical bug: 1. The flat map has no \"already owned\" guard. `listToken` writes `_tokenOwner[_baseToken] = msg.sender` without checking whether the slot already holds someone else. Ownership is silently overwritten. There is no concept of \"this token is already listed; refuse.\" 2. The uniqueness require is scoped the wrong way. [continues]","rootCause",1],["2024-04-YIEDL","YIEDL SpotVault Exploit — Zero-Share redeem() Token-Drain via Attacker-Controlled Swap Routing","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/logic/missing-validation","vuln/dependency/unsafe-external-call"],["logic","dependency"],"Missing access-control / unchecked user-controlled swap calldata on a `sharesToRedeem = 0` redemption",null,null,"~127.48 BNB","`redeem()` is built around a trust assumption that the swap calldata implements the intended asset-conversion: convert portfolio asset `i` *into* `receivingAsset` and leave the proceeds *inside the vault* (so `rcvTokenAccumulator` can measure the delta). Nothing enforces that assumption: The `recipient` encoded inside `dataList[i]` is never checked against `address(this)`. The output token of the swap is never checked against `receivingAsset`. [continues]","rootCause",1],["2024-04-Yield","Yield Protocol Strategy Exploit — Live-Balance burn() Donation Inflation","incident","DeFiHackLabs","2024-04","Arbitrum",["vuln/logic/incorrect-order-of-operations","vuln/arithmetic/rounding"],["logic","arithmetic"],"Incorrect accounting source in vault `burn()` — uses live `balanceOf` instead of cached book value, enabling a donation-inflation value extraction",null,null,"PoC realizes 95,158.56 USDC","A vault-share `burn()` is only safe if the payout is a deterministic function of the vault's internal accounting, never of a balance an outsider can perturb. The Invested `Strategy.burn()` violates this in the simplest possible way: it divides by `totalSupply` but multiplies by the uncached `balanceOf`, so the per-share redemption value is donation-elastic. Three design facts compose into the critical bug: 1. Asymmetric cache discipline. [continues]","rootCause",1],["2024-04-Z123","Z123 (SesameCloudToken) Exploit — Custom-Router update() Pool-Burn Arbitrage","incident","DeFiHackLabs","2024-04","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Broken AMM invariant via an asymmetric, per-swap pool-reserve burn (`update()` → `_transfer(pair, DEAD)` → `sync()`); fee-on-transfer arbitrage loop",null,null,"≈ 135,290 USD","A Uniswap-V2/PancakeSwap-V2 pair maintains `x·y ≥ k` only inside `swap()`. `sync()` is an *honesty* primitive: it re-syncs the cached reserves to the actual token balances, on the assumption that balances only changed through operations the pair understands (`mint`/`burn`/`swap`/`skim`/transfers it authorized). The Z123 design violates that assumption in two compounding ways: 1. `update()` lets a privileged caller delete pair-side tokens with no counter-asset movement. [continues]","rootCause",1],["2024-03-ALP","ALP (ApolloX) Exploit — Public _swap() Drains the Portfolio Vault's LP Tokens","incident","DeFiHackLabs","2024-03","BNB Chain",["vuln/access-control/missing-auth"],["access-control"],"Public, unguarded internal swap function (`_swap` declared `public` with no access control) → arbitrary calldata replayed against the 1inch aggregator ⇒ theft of any token the vault holds",null,null,"~$10,611 USDT","A single visibility keyword turned a trusted internal helper into a public arbitrary-call primitive that simultaneously (a) approved the vault's entire token balance to 1inch and (b) executed attacker-chosen calldata against 1inch. The four design decisions that compose into a critical bug: 1. `_swap` is `public` instead of `internal`. It is named and used as an internal helper, but its visibility makes it an externally callable entry point with no `onlyOwner` / `onlySelf` / `onlyRole` guard. [continues]","rootCause",1],["30916-h-1-claim-functions-dont-validate-if-the-epoch-is-settled-sh","Amphor — claim functions don't validate if the epoch is settled","audit-finding","AuditVault","2024-03",null,["vuln/logic/missing-state-check","vuln/access-control/missing-caller-check","vuln/loss-of-funds/griefing"],["logic","access-control","loss-of-funds"],"Missing state check: claiming is allowed while the request's epoch is still the CURRENT (unsettled) one","high","Amphor — `AsyncSynthVault` (ERC-7540-style asynchronous vault)",null,"`_claimDeposit`/`_claimRedeem` treat \"compute the shares/assets owed\" and \"clear the pending request\" as unconditional, sequential steps. But `_convertToShares`/`_convertToAssets` silently return 0 — not a revert — whenever the request has not yet settled (`isCurrentEpoch(requestId) == true`). Nothing stops a claim from proceeding on an unsettled request; it just converts to zero and still wipes the bookkeeping. [continues]","rootCause",1],["30918-h-3-exchange-rate-is-calculated-incorrectly-when-the-vault-i","Amphor — exchange rate is calculated incorrectly when the vault is closed","audit-finding","AuditVault","2024-03",null,["vuln/logic/rounding-mismatch","vuln/loss-of-funds/direct-drain","vuln/accounting/double-counted-offset"],["logic","loss-of-funds","accounting"],"Double-counted rounding offset: the same `+1` \"virtual share\" term is added twice across two different functions","high","Amphor — `AsyncSynthVault` (ERC-7540-style asynchronous vault)",null,"The `+1` \"virtual share\" offset is Amphor's standard ERC4626 inflation-attack mitigation, and it is meant to be applied exactly once per conversion. But the closed-vault claim path applies it twice: once when `previewSettle` computes the value that gets *stored* into the epoch snapshot, and again when `_convertToShares`/`_convertToAssets` later *reads* that stored value to convert an individual's request. [continues]","rootCause",1],["30917-h-2-calling-requestredeem-with-msgsender-owner-will-lead-to","Amphor AsyncSynthVault — delegated requestRedeem locks the assets","audit-finding","AuditVault","2024-03",null,["vuln/dos/frozen-funds","vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["dos","logic"],null,null,"Amphor",null,"Amphor's async vault allows one open redeem request per user and records which epoch it belongs to in `lastRedeemRequestId`. On claim, the caller is treated as the owner of that request: `owner` here is `msg.sender`, not the `owner` argument of `requestRedeem`. A delegated call therefore writes the index in a slot the claim path never reads, and stores the balance in a slot the owner's claim does not read. `settle()` burns the escrowed shares and moves the underlying into the claimable silo. [continues]","rootCause",1],["2024-03-ARK","ARK Exploit — Public, Rate-Limit-Free autoBurnLiquidityPairTokens() AMM Reserve Drain","incident","DeFiHackLabs","2024-03","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Broken AMM invariant via a permissionless + un-rate-limited \"auto LP-burn\" that removes one side of the pair's reserves without compensating the other, then `sync()`s",null,null,"~377.20 WBNB","A Uniswap-V2/PancakeSwap pair prices assets from its reserves and enforces `x·y ≥ k` only inside `swap()`. `sync()` is an administrative primitive that says \"trust my balances, re-sync reserves to whatever I currently hold.\" It exists for LP `mint`/`burn`, not for arbitrary one-sided destruction. `autoBurnLiquidityPairTokens()` violates that trust in the most direct way: [continues]","rootCause",1],["2024-03-BBT","BBT Exploit — Permissionless setRegistry() + mint() Infinite-Mint Drain","incident","DeFiHackLabs","2024-03","Ethereum",["vuln/access-control/missing-auth","vuln/arithmetic/overflow"],["access-control","arithmetic"],"Public mint with no access control (gated only by an attacker-repointable `registry`), compounded by a public `setRegistry()`",null,null,"5.063858 ETH","Two compounding design errors: 1. `setRegistry()` is a public, unguarded setter for the trust anchor. The entire mint-authorization scheme rests on the registry being a trusted mapping. Letting *anyone* overwrite the registry pointer in one call collapses the whole access-control model — the attacker replaces the judge with their own employee. This is the classic \"mutable trust anchor with no ACL\" anti-pattern. 2. `mint()` has no cap and no native ownership check. [continues]","rootCause",1],["2024-03-Binemon","Binemon (BIN) Exploit — Permissionless sweepTokenForMarketing() Price-Manipulation Arbitrage","incident","DeFiHackLabs","2024-03","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/sandwich-attack"],["access-control","defi"],"Permissionless token-rebalance swap (`sweepTokenForMarketing`) without price-impact / timing control → sandwichable market-sell of contract-held tokens",null,null,"~0.2 BNB","A constant-product AMM prices a token purely from its reserves, and a market sell of a *fixed large size* moves the price by a *predictable large amount*. Three design choices compose into an exploitable price-manipulation primitive: 1. Permissionless trigger. `sweepTokenForMarketing()` has no `onlyOwner` / keeper role. Anyone can fire the sell. That hands a stranger control over *when* a large BIN dump hits the pair. 2. Fixed, known size, no slippage guard. [continues]","rootCause",1],["26293-cancelling-an-auction-refunds-the-wrong-amount-for-unreveale","Cancelling an auction refunds 100 of a 5,000 unrevealed offer and keeps 4,900","audit-finding","AuditVault","2024-03","Ethereum",["vuln/logic/wrong-condition","vuln/dos/frozen-funds"],["logic","dos"],"The unrevealed-offer refund reads `sortedOffers[i].amount`",null,null,"The offeror locked 5,000 and is refunded 100","Two arrays are indexed by the same `i` as if they were the same list. They are not. `sortedOffers[i]` is a different offer from `unrevealedOffers[i]`.","rootCause",1],["32129-h-01-native-gas-tokens-can-become-stuck-in-asdrouter-contrac","Canto — native gas tokens stuck in ASDRouter on successful redemption","audit-finding","AuditVault","2024-03",null,["vuln/fee/missing-refund","vuln/bridge/stuck-asset"],["fee","bridge"],"Missing native refund / stuck ETH","high","Canto asD / ASDRouter",null,"Refunds exist only on failure (`_refundToken`). Success paths assume callers send exact value, but the contract neither requires nor refunds overpayment — so leftover CANTO/ETH is trapped with no owner recovery.","rootCause",1],["37521-liquidation-bonus-is-0-when-currentltv-1e18-zokyo-none-cedro","Cedro — liquidation bonus is zero above 100 percent LTV","audit-finding","AuditVault","2024-03",null,["vuln/logic/liquidation-logic","vuln/logic/reward-calculation"],["logic"],"No liquidation bonus once LTV reaches 100 percent","high","Cedro `LiquidationManager.liquidate`",null,"The discount expression is gated on LTV being under 100 percent. The positions that most need a liquidator are the ones at or above that line, and those are exactly the ones that pay a zero bonus.","rootCause",1],["37520-minted-cetokens-not-added-to-users-list-if-minted-using-repa","Cedro — repay mints ceTokens the health factor never sees","audit-finding","AuditVault","2024-03",null,["vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["logic"],null,null,"Cedro Finance",null,"Collateral that counts is not \"every ceToken balance\". It is \"every id stored in `users[user]`\". Repay updates the balance mapping and skips the list. Later reads of health, borrow limits, and liquidation all walk the list, so the minted ceTokens are invisible. The position is judged on the old collateral only.","rootCause",1],["37522-repay-paused-but-liquidation-enabled-zokyo-none-cedro-financ","Cedro Finance — repay is paused while liquidation stays open","audit-finding","AuditVault","2024-03",null,["vuln/logic/liquidation-logic","vuln/logic/missing-check"],["logic"],"Repay can be paused without pausing liquidation","high","Cedro Finance `repayRequest` / `LiquidationManager.liquidate`",null,"The two pause flags are independent. A per-market repay pause is enough to stop borrowers from curing an underwater position, and nothing on the liquidation path requires the same pause.","rootCause",1],["2024-03-CGT","Curio Governance Token (CGT) Exploit — DAO Governance Takeover via Fake DSChief Vote + Timelocked vat.suck / DSToken.mint","incident","DeFiHackLabs","2024-03","Ethereum",["vuln/governance/proposal-manipulation"],["governance"],"DAO governance takeover — cheap voting-power acquisition into a MakerDAO-style `DSChief`/`DSPause` to pass an arbitrary timelocked spell that is `auth` on the token and on MakerDAO's `Vat`.",null,null,"Unauthorized mint of 1,000,000,000 CGT","The exploit composes two governance-design failures, not a token-code bug: 1. Voting weight was backed by an illiquid token. `DSChief` derives voting power from locked CGT. With CGT having no meaningful market depth, the cost to lock more CGT than every honest delegate combined was effectively zero (here: 20 CGT). Whoever locks the most CGT becomes the `hat`. That collapses MakerDAO's central economic assumption (deep, attack-resistant MKR market) while reusing its exact voting code. [continues]","rootCause",1],["34177-h-07-valid-redemption-proposals-can-be-disputed-by-decreasin","DittoETH — attacker games a stale updatedAt to dispute a valid redemption and steal the penalty","audit-finding","AuditVault","2024-03",null,["vuln/loss-of-funds/direct-drain","vuln/logic/missing-state-update","vuln/access-control/timing-manipulation"],["loss-of-funds","logic","access-control"],"Missing state update: one collateral-changing function updates a staleness timestamp, a sibling function does not","high","DittoETH — decentralized synthetic-asset exchange (redemption dispute mechanism)",null,"The dispute-buffer defense assumes `updatedAt` faithfully tracks the last time a Short Record's collateral (and therefore its CR) genuinely changed. That assumption silently breaks for one specific collateral-changing path. Any timestamp-based defense is only as strong as its weakest writer.","rootCause",1],["34176-h-06-closing-a-sr-during-a-wrong-redemption-proposal-leads-t","DittoETH — disputing a closed Short Record permanently locks its collateral","audit-finding","AuditVault","2024-03",null,["vuln/loss-of-funds/direct-drain","vuln/logic/missing-state-check","vuln/accounting/dead-credit"],["loss-of-funds","logic","accounting"],"Missing state check: a \"give back\" operation doesn't verify its target is still live before crediting it","high","DittoETH — decentralized synthetic-asset exchange (redemption mechanism)",null,"`disputeRedemption` assumes every Short Record named in a proposal's slate is still the same live position it was when the proposal was created. Nothing in the protocol prevents the shorter from closing it in the meantime through a completely ordinary path (exit, being liquidated, or a transfer) — the proposal creates no lock, hold, or reference-count on the Short Record it points at.","rootCause",1],["34175-h-05-flawed-if-check-causes-inaccurate-tracking-of-the-proto","DittoETH — flawed && check corrupts protocol-wide collateral/debt accounting","audit-finding","AuditVault","2024-03",null,["vuln/logic/wrong-boolean-operator","vuln/accounting/invariant-break","vuln/access-control/insufficient-guard"],["logic","accounting","access-control"],"Wrong boolean operator (`&&` instead of `||`) that silently drops one half of a two-part authorization check","high","DittoETH — decentralized synthetic-asset exchange (redemption mechanism)",null,"Two independent facts need to be true for a legitimate early claim: (1) the caller owns the redeemed Short Record, and (2) the `id` argument names THAT redeemer's actual proposal. The code conflates them with `&&`, which only enforces \"at least one holds\" is false to trigger a revert — but since fact (1) is almost always true for a legitimate-looking caller, fact (2) is effectively unchecked.","rootCause",1],["34174-h-04-partially-filled-short-records-created-without-a-short","DittoETH — partially filled Short Records created without a short order cannot be liquidated or exited","audit-finding","AuditVault","2024-03",null,["vuln/dos/permanent-lock","vuln/logic/state-order-mismatch","vuln/access-control/missing-linkage"],["dos","logic","access-control"],"State-ordering mismatch: a status flag (`PartiallyFilled`) is set unconditionally before a conditional side effect (listing the leftover order) that the status implicitly promises","high","DittoETH — decentralized synthetic-asset exchange (order-book shorts)",null,"The status write (`sr.status = SR.PartialFill`) and the order-listing decision (`addSellOrder` gated by the dust check) are two independent effects of the same match result, but only one of them is conditional. The status always claims \"there's a resting order for the leftover\"; the dust check can silently make that false. Nothing re-checks or reconciles the two.","rootCause",1],["40684-beacon-chain-withdrawals-that-occur-at-lastwithdrawaltimesta","EigenLayer — Beacon chain withdrawals at lastWithdrawalTimestamp are lost","audit-finding","AuditVault","2024-03",null,[],["untagged"],"Off-by-one timestamp guard / EIP-4895 ordering","high","EigenLayer — `EigenPod.proofIsForValidTimestamp` / `activateRestaking`",null,"1. `activateRestaking` sets `mostRecentWithdrawalTimestamp = block.timestamp` and sweeps pod ETH. 2. Beacon-chain withdrawals for that timestamp execute after user txs (EIP-4895). 3. `verifyAndProcessWithdrawals` requires `timestamp > mostRecentWithdrawalTimestamp`. 4. A proof for the same timestamp is rejected — the ETH can never be claimed.","tldr",1],["2024-03-ETHFIN","ETHFIN Exploit — Permissionless doBuyback() Buyback-Pot Drain via Holder-Count Manipulation","incident","DeFiHackLabs","2024-03","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Missing access control on a price-moving privileged function (`doBuyback`), combined with a permissionless holder-count gate",null,null,"~2.13 BNB","A buyback is, by construction, a directional market operation that moves price: it removes sell-side liquidity (buys tokens) and then permanently deletes supply (burn). Whoever controls *when* it fires controls a free, protocol-funded price pump. The contract design assumes the buyback only runs as an internal side-effect of organic holder growth — but that assumption is violated by two independent flaws that compose into the exploit: 1. Missing access control. [continues]","rootCause",1],["2024-03-GHT","GHT Exploit — Permissionless transferFrom Drains the Uniswap V2 Pair","incident","DeFiHackLabs","2024-03","Ethereum",["vuln/access-control/missing-auth"],["access-control"],"Broken authorization in ERC20 `transferFrom` (permissionless spend of any holder's balance) compounded against an AMM `sync()` to collapse `k`",null,null,"~$57K — 15.4386 WETH drained from the GHT/WETH pair","Two facts compose into a critical bug: 1. GHT's `transferFrom` skips allowance enforcement. Whoever wrote the ERC404 implementation either omitted the allowance accounting or routed the ERC20 path through a function that bypasses it. The net effect is that GHT balances are permissionlessly movable by any caller. In particular, the pair's GHT can be relocated at will. 2. Uniswap V2 `sync()` makes the pair adopt attacker-controlled balances. `sync()` sets `reserve = balanceOf(pair)` and re-derives `k`. [continues]","rootCause",1],["40668-when-dp2pdtokenathbalance-is-increased-the-power-of-almost","Goat Tech — a higher athBalance leaves other pools on a stale booster","audit-finding","AuditVault","2024-03","Ethereum",["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],null,null,"Goat Tech",null,"Booster is cached per pool, and the cache is refreshed only for the pool that stakes or withdraws. `athBalance` is global. Raising it changes the denominator of every other pool, and those caches are not invalidated.","rootCause",1],["40665-a-user-calling-controllerdctstake-can-bypass-tax-by-first-tr","Goat Tech — A user calling Controller::dctStake can bypass tax by first transferring the tokens to be staked","audit-finding","AuditVault","2024-03",null,["vuln/logic/missing-check","vuln/accounting/tax-bypass","vuln/economic/incentive-misalignment"],["logic","accounting","economic"],"Tax is computed from a caller-supplied parameter instead of the actual balance change the call causes, letting a pre-funded balance be staked for free","high","Goat Tech — staking (`Controller.dctStake`)",null,"`dctStake()` treats the caller-supplied `amount_` parameter as the ground truth for how much is being staked (and therefore how much tax to burn), but `_stake()` independently re-derives \"how much to lock\" from the contract's current balance — a value the caller can inflate ahead of time through any ordinary ERC20 transfer that never touches the tax logic at all. The two functions disagree about what \"the amount being staked\" means, and the attacker exploits exactly that disagreement.","rootCause",1],["40664-anyone-can-vote-multiple-times-by-using-multiple-addresses-a","Goat Tech — one DToken is counted as two votes when private mode is off","audit-finding","AuditVault","2024-03",null,["vuln/governance/proposal-manipulation","vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["governance","logic"],null,"high","Goat Tech DToken voting",null,"Voting power is an additive snapshot of a balance, and the token's transfer hook is not one of the writers of that snapshot. The distributors get `beforeTokenTransfer`. `vote.attackerPower` does not. After the transfer the sender's `powerOf` entry is still the old balance until someone explicitly clears it, and clearing it in this `updatePower` still would not subtract the already-added votes.","rootCause",1],["40666-when-stake-eth-in-earningreinvest-the-reduction-of-maxearnin","Goat Tech — reinvesting ETH earnings does not keep the maxEarning cut","audit-finding","AuditVault","2024-03","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/logic/reward-calculation","vuln/logic/wrong-condition"],["logic"],null,null,"Goat Tech",null,"Two writers touch `maxEarning` in one call, and the second one wins. The reduction is computed from the pre-commission cap. `shareCommission` then raises `sharedA`, and the `sharedA > maxEarning` branch treats that as a reason to raise the cap, not as a reason the user is over it.","rootCause",1],["40669-when-the-poolowner-gets-shared-earnings-the-power-of-that-po","Goat Tech — shared earnings leave that pool's fs stale","audit-finding","AuditVault","2024-03","Ethereum",["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],null,null,"Goat Tech",null,"`fs` is an input to power and it is stored, not derived at payout. The writers that change `balanceOf` or `maxEarningOf` outside the stake and withdraw paths do not update it. A commission transfer is one of those writers. The owner's power stays at the pre-commission value until somebody stakes or withdraws in that pool.","rootCause",1],["2024-03-IT","IntrospectionToken (IT) Exploit — Inflationary Repricing Mint Drains the IT/USDT Pancake Pair","incident","DeFiHackLabs","2024-03","BNB Chain",["vuln/logic/incorrect-state-transition"],["logic"],"Business-logic flaw — inflationary buy-side repricing mint inside `_transfer`, weaponized via direct `swap()` calls (mint-during-buy lets an attacker buy the freshly minted tokens back for USDT they just deposited)",null,null,"~13,357 USDT","A Uniswap-V2 pair enforces `x·y ≥ k` *after* the swap's callbacks return. The token contract hooks into that callback to perform a value-printing side effect (`_mint` to the pair) that the pair then treats as genuine liquidity. This inverts the AMM's safety model: The pair believes its reserves grew honestly (via `mint`/`burn`/deposits). In reality, the token printed reserve-side IT out of thin air mid-swap, and the attacker withdraws that printed IT for the USDT they just handed the pair. [continues]","rootCause",1],["2024-03-Juice","JuiceStaking Exploit — Uncapped stakeWeek Bonus Multiplier Inflation","incident","DeFiHackLabs","2024-03","Ethereum",["vuln/logic/reward-calculation","vuln/input-validation/missing"],["logic","input-validation"],"Staking-reward inflation via an uncapped user-controlled multiplier (`stakeWeek`)",null,null,"~30.086 ETH","The bonus is a pure function of an unbounded user input (`stakingWeek`) multiplied by the genuine accrued `pending`. Three independent design errors compose into the exploit: 1. No upper bound on `stakeWeek`. The only validation is `stakeWeek > 0`. There is no check that `stakingWeek * 7 days` fits the 90-day reward window, no check against a maximum lock, and no check that `bonus` stays within the reward pool. 2. The bonus is paid from the same vault as real rewards, but is not accrued. [continues]","rootCause",1],["2024-03-LavaLending","LavaLending Exploit — WrapperOracle Price-Depeg Lets Manipulated LP Drain the Aave Pool","incident","DeFiHackLabs","2024-03","Arbitrum",["vuln/oracle/price-manipulation","vuln/oracle/manipulable-twap"],["oracle"],"Oracle manipulation — Chainlink-derived fair price fed to `getAssetsBasedOnPrice` ignores the manipulated spot state of the underlying Uniswap V3 pool, letting LP shares be deposited as collateral at an inflated valuation",null,null,"~$340K","The oracle's anti-manipulation design (use Chainlink, not the pool) is inverted for the LP collateral use-case. To price collateral you need the *withdraw value* of the LP position, which is dictated by the pool's actual state — and a thin stable/stable pool is trivially manipulable in a single transaction (flash-loan funded, repaid by the borrowed funds). By forcing the valuation through a fixed 1:1 Chainlink price, the oracle: Reports a value the LP cannot deliver. [continues]","rootCause",1],["2024-03-MO","MO Token Exploit — Self-Recycling Borrow Burns Pool Reserves to Inflate price() and Drain USDT","incident","DeFiHackLabs","2024-03","Base",["vuln/oracle/price-manipulation","vuln/logic/incorrect-state-transition"],["oracle","logic"],"Business-logic flaw — oracle `price()` read from an AMM pair whose reserve the protocol itself burns down on every borrow; combined with a borrow/redeem loop that recycles the same collateral and a redeem that returns the full collateral",null,null,"~572,316 USDT","Three independent design errors compose into a critical drain: 1. The lending oracle is the same pool the protocol mutates. `price()` reads the pair's spot reserves, and `borrow()` *writes* those reserves (burn-from-pair + `sync()`). The oracle is therefore manipulable by the very function that consumes it, with no TWAP, no external feed, and no decay. Each borrow strictly increases `price()`, so the borrower is paid more USDT for the same MO on every call. 2. Collateral is fully recycled. [continues]","rootCause",1],["2024-03-Paraswap","ParaSwap AugustusV6 Exploit — Callback Hijack Drains Pre-Approved User Tokens","incident","DeFiHackLabs","2024-03","Ethereum",["vuln/access-control/missing-auth"],["access-control"],"Missing access control on a swap-callback entry point (permissionless callback hijack / approved-fund abuse)",null,null,"~$24K (whitehat-recovered)","The callback conflates two different \"caller\" concepts: External caller of `uniswapV3SwapCallback` — should be restricted to \"a swap AugustusV6 itself started.\" Re-entrant caller (the pool calling back) — correctly validated via CREATE2 address check. The contract validates the second but leaves the first wide open. [continues]","rootCause",1],["58812-validators-can-submit-multiple-attestations-to-maliciously-f","Powerloom: one validator finalizes a batch by attesting twice","audit-finding","AuditVault","2024-03",null,["vuln/logic/missing-check","vuln/governance/proposal-manipulation"],["logic","governance"],null,null,null,null,"`submitBatchAttestation` counts a vote for the supplied root and never checks `attestationsReceived`. The finalization threshold is 2. One registered validator submits the same malicious root twice, the second vote crosses the threshold, and the 100 token batch settlement is paid to that validator.","tldr",1],["2024-03-Prisma","Prisma Finance Exploit — Unauthorised MigrateTroveZap Flash-Loan Callback Drains Trove Collateral","incident","DeFiHackLabs","2024-03","Ethereum",["vuln/access-control/missing-auth"],["access-control"],"Missing access control on an ERC-3156 flash-loan callback (delegated-ops abuse)",null,null,"~$11M total on-chain","Three design decisions compose into a critical bug: 1. The migrate logic lives inside an ERC-3156 callback with no initiator-binding check. `onFlashLoan` receives `initiator` as the first argument and throws it away. It then trusts `account` decoded from `data` — but `data` is fully controlled by whoever calls `DebtToken.flashLoan`. [continues]","rootCause",1],["31663-h-01-incorrect-quoteweth-implementation-out-of-scope-pashov","Radiant: quoteWETH returns 10 where the WETH reserve says 100","audit-finding","AuditVault","2024-03",null,["vuln/logic/price-calculation"],["logic"],null,null,"Radiant",null,"The numerator of `neededWeth` is the RDNT reserve. The comment and the variable name say WETH. The two reserves are not equal, so the quote is off by the reserve ratio, here 10x.","rootCause",1],["34138-c-02-function-rebase-apply-wrong-apr-in-rivustao-pashov-audi","RivusTAO — rebase turns a 20% APR into a 1.25 price","audit-finding","AuditVault","2024-03",null,["vuln/logic/reward-calculation","vuln/logic/wrong-condition"],["logic"],null,null,"RivusTAO",null,"Burning `apr / 100` of the shares multiplies the price by `1 / (1 - apr/100)`, which is 1.25 when apr is 20. The price multiplier that matches a 20% increase is `1.20`, and the burn that produces it is `apr / (100 + apr)`.","rootCause",1],["2024-03-SSS","SSS Exploit — Self-Transfer Balance-Doubling Lets Attacker Mint Phantom SSS and Drain the WETH Pool","incident","DeFiHackLabs","2024-03","Blast",["vuln/logic/state-update","vuln/arithmetic/overflow"],["logic","arithmetic"],"Broken accounting in `_update` — `from == to` (self-transfer) doubles the balance instead of leaving it unchanged",null,null,"~$4.8M","A tax/limit hook was layered onto `_update` by reordering the standard OpenZeppelin two-line balance update, but the author never reasoned about the `from == to` degenerate case. Three facts compose into a critical bug: 1. `toBalance` is computed from a stale read. `_postCheck` returns `_balances[to] + amount` using the balance *as it was before ③ ran*. The canonical ERC-20 update (`_balances[from] -= amount; _balances[to] += amount;`) is order-independent because both use `+=`/`-=` against live storage. [continues]","rootCause",1],["31929-h-01-gas-issuance-is-inflated-and-will-halt-the-chain-or-lea","Taiko — gas issuance is inflated and will halt the chain or lead to an incorrect base fee","audit-finding","AuditVault","2024-03",null,["vuln/logic/fee-calculation","vuln/dos/liveness-brick","vuln/accounting/stale-reference"],["logic","dos","accounting"],"Stale-reference accounting: `numL1Blocks` is measured against `lastSyncedBlock`, which only advances every `BLOCK_SYNC_THRESHOLD` blocks, not every anchor() call","high","Taiko — `TaikoL2` (L1↔L2 anchoring + EIP-1559 base fee)",null,"`numL1Blocks` is meant to represent \"how many L1 blocks have elapsed since the last accounting\", so the contract can issue `gasTargetPerL1Block` worth of gas for each one. But it's computed against `lastSyncedBlock`, a value that only updates every `BLOCK_SYNC_THRESHOLD` (5) L1 blocks for cross-layer signal-service reasons unrelated to gas accounting. [continues]","rootCause",1],["31930-h-02-validity-and-contests-bond-ca-be-incorrectly-burned-for","Taiko — Validity and contest bonds can be incorrectly burned for the correct and ultimately verified transition","audit-finding","AuditVault","2024-03",null,["vuln/loss-of-funds/frozen-funds","vuln/logic/state-overwrite","vuln/accounting/reward-refund"],["loss-of-funds","logic","accounting"],"Unconditional state overwrite that drops the previous actor's claim to an already-escrowed bond; payout keyed to \"current record\" instead of \"who was actually correct\"","high","Taiko — a based, Ethereum-equivalent ZK-rollup, where block proposers/provers post bonds that back the correctness of the transitions they submit",null,"The protocol tracks exactly one `(prover, validityBond, tier)` triple per transition slot, and every prove/re-prove call replaces it wholesale. Nothing records *who proved the transition that is actually correct* independent of *who is currently on record*. [continues]","rootCause",1],["36000-sgx-verifyproof-allows-front-running-to-prevent-proving-l2-b","Taiko — verifyProof can be front-run so the assigned prover is not paid","audit-finding","AuditVault","2024-03",null,["vuln/access-control/missing-modifier","vuln/dos/griefing"],["access-control","dos"],"Missing caller check lets a copied proof front-run `TaikoL1.proveBlock`","high","Taiko `SgxVerifier.verifyProof`",null,"The proof authorizes an instance rotation, not a caller. The first transaction to present a valid signature consumes the rotation. The contract that was supposed to present it, `TaikoL1`, is not enforced.","rootCause",1],["31933-h-05-signatures-can-be-replayed-in-withdraw-to-withdraw-more","Taiko — withdraw signature replays for another 30 TKO","audit-finding","AuditVault","2024-03",null,["vuln/auth/signature-replay","vuln/logic/missing-validation"],["auth","logic"],null,null,"Taiko TimelockTokenPool",null,"The signed payload does not include a nonce, the grant id, or the amount. Recovery is the only authorization. Anyone who sees the signature can call `withdraw` again whenever the vesting formula unlocks more tokens.","rootCause",1],["31931-h-03-users-will-never-be-able-to-withdraw-their-claimed-aird","Taiko ERC20Airdrop2 — the full claim is stuck once the window closes","audit-finding","AuditVault","2024-03",null,["vuln/dos/frozen-funds","vuln/logic/wrong-condition"],["dos","logic"],null,null,"Taiko",null,"The close of the window and the moment of full unlock are the same timestamp, and the comparison is strict. There is no time after a full unlock in which `withdraw` still succeeds.","rootCause",1],["31932-h-04-taiko-l1-proposer-can-maliciously-cause-loss-of-funds-b","Taiko L1 — proposer charges another account's prover fee","audit-finding","AuditVault","2024-03",null,["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],null,null,"Taiko L1",null,"Coinbase is caller-supplied metadata, and the hook treats it as the fee payer. Nothing checks that coinbase is `msg.sender`. An approval left on the hook from an earlier proposal is spendable by the next proposer.","rootCause",1],["2024-03-TGBS","TGBS Exploit — Repeated Permissionless Pool Burns via Self-Transfer Draining the TGBS/WBNB Pair","incident","DeFiHackLabs","2024-03","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/state-update"],["access-control","logic"],"Broken AMM invariant via repeated permissionless, un-compensated reserve burns (`_burn(pair)` + `sync()`)",null,null,"~$150K","A Uniswap-V2/PancakeSwap pair enforces `x·y ≥ k` only *inside `swap()`*. `sync()` exists to let a pair re-base its stored reserves onto its *actual* token balances — it trusts that balances change through `mint`/`burn`/`swap`/external transfers the pair can reason about. `_burnPool()` violates that trust: It destroys TGBS held by the pair (`super._burn(_swapPair, …)`) and then calls `pair.sync()`, telling the pair \"your TGBS reserve is now 0.3% smaller.\" No WBNB leaves the pair. [continues]","rootCause",1],["2024-03-UnizenIO2","Unizen \"UnizenIO2\" Exploit — Arbitrary-Call TradeAggregator.swap Token Theft","incident","DeFiHackLabs","2024-03","Ethereum",["vuln/dependency/unsafe-external-call","vuln/input-validation/missing"],["dependency","input-validation"],"Missing input validation / arbitrary external call execution — the aggregator trusts caller-supplied `calls[].target` and `calls[].data` verbatim, so anyone can make it invoke `transferFrom(victim, aggregator, …)` and then `transfer(attacker, …)`.",null,null,"~$2.1M","`TradeAggregator.swap` is an unauthenticated generic call dispatcher. It treats the `calls[]` array — produced off-chain by Unizen's own pricing service in normal operation — as trusted input, but exposes it as an untrusted, user-supplied parameter. There is no check that each `calls[i]` debits funds from `msg.sender`, nor that `info.token` is a token the caller is legitimately selling. [continues]","rootCause",1],["2024-03-UnizenIO","Unizen Exploit — Arbitrary call in the Unizen Aggregator Drains Any User Who Approved It","incident","DeFiHackLabs","2024-03","Ethereum",["vuln/dependency/unsafe-external-call","vuln/input-validation/missing"],["dependency","input-validation"],"Arbitrary external `call` with user-controlled calldata (confused-deputy / arbitrary-call via `swap`)",null,null,"~$2.1M total across the attacker's transactions","The aggregator is a confused deputy. It holds a privileged position — many users have granted it ERC-20 allowances — but it lets a caller specify the exact `call` it makes without checking that the call serves a real swap on behalf of `msg.sender`. The composition of failures: 1. User-supplied calldata reaches a raw `call`. A swap \"route\" should be a *selector the aggregator understands* (e.g., \"call Uniswap router with these params\"). Instead it accepts a free-form `(target, data)` blob and executes it verbatim. [continues]","rootCause",1],["26292-unlocking-offers-does-not-return-any-funds-sigmaprime-none-t","Unlocking an offer deletes it first and returns 0 of the 1,000 deposit","audit-finding","AuditVault","2024-03","Ethereum",["vuln/dos/frozen-funds","vuln/logic/state-update"],["dos","logic"],"A storage pointer is read after `delete`, so the returned amount is 0",null,null,"1,000 purchase tokens stay in the locker","`offerToUnlock` is not a copy. It is the slot. Deleting the slot and then reading the pointer reads the zeroed slot. The offer row is gone, so the offeror cannot unlock again, and the tokens were never sent.","rootCause",1],["2024-03-Woofi","WooFi (WooPPV2) Exploit — Slippage-Model Price Collapse Drain","incident","DeFiHackLabs","2024-03","Arbitrum",["vuln/oracle/price-manipulation","vuln/oracle/missing-circuit-breaker"],["oracle"],"Broken internal price oracle — unbounded slippage-model `postPrice` lets one swap drive the on-chain price to ~0",null,null,"~$8M (≈ 522.3 WETH + 141,603 USDCe extracted net)","Three design flaws compose into the drain: 1. The swap function is its own price oracle. `WooPPV2` computes a trade's marginal price from a slippage curve and then *commits* that price to `Wooracle.postPrice`. There is no clamp, no sanity floor, no comparison to the Chainlink reference inside the write path. Whatever the curve spits out becomes the next swap's starting price. 2. The slippage coefficient `k` was set ~100–1000× too large for the pool's real depth. [continues]","rootCause",1],["31886-h-1-pool-can-be-drained-sherlock-woofi-swap-git","WOOFi Swap — pool can be drained","audit-finding","AuditVault","2024-03",null,["vuln/oracle/missing-circuit-breaker","vuln/loss-of-funds/direct-drain","vuln/logic/per-call-only-guard"],["oracle","loss-of-funds","logic"],"Missing circuit breaker: per-swap price-impact/notional caps have no memory of prior swaps in the same transaction, and no bound on the *resulting* payout quantity","high","WOOFi Swap — `WooPPV2` (PMM-based DEX pool)",null,"`maxGamma`/`maxNotionalSwap` are a per-call circuit breaker with no memory across calls. Splitting a dump into pieces that are each individually within the cap defeats the guard's entire purpose (limiting how far a single transaction can move the price). [continues]","rootCause",1],["31191-h-2-if-token-does-not-oversell-users-cannot-claim-tax-refund","Zap TokenSale — tax refund stuck when the sale does not oversell","audit-finding","AuditVault","2024-03",null,["vuln/dos/frozen-funds","vuln/logic/reward-calculation","vuln/logic/wrong-condition"],["dos","logic"],null,null,"Zap Protocol",null,"The surplus check is applied to the whole claim, including the tax refund. The refund does not need a surplus. Sherlock's escalation kept the finding: a tax-free allocation is still owed when the sale does not oversell.","rootCause",1],["31190-h-1-tax-refund-is-calculated-based-on-the-wrong-amount-sherl","Zap TokenSale — tax refund uses the wrong base","audit-finding","AuditVault","2024-03",null,["vuln/logic/fee-calculation"],["logic"],null,null,"Zap Protocol",null,"The partial-refund formula multiplies only the unused principal. The tax-free allocation was already loaded into `taxFreeAllc` and is used for the `>= s.share` check, then dropped from the base. Sherlock's recommendation adds it back: `refundTaxAmount = ((left + taxFreeAllc) * tax) / POINT_BASE`. The escalation that tried to invalidate the issue was rejected. The finding stayed High.","rootCause",1],["2024-03-ZongZi","ZongZi / ZZF Exploit — Manipulated-Price Reward Drain via burnToHolder + receiveRewards","incident","DeFiHackLabs","2024-03","BNB Chain",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Price-manipulation via flash loan + reward accounting that trusts a manipulable AMM spot price (`getAmountsOut`) without an oracle / slippage guard; attacker-printed reward magnitude",null,null,"~$223K","The contract converts a token-quantity obligation (burn N ZONGZI → get BNB) into a BNB amount using the instantaneous AMM spot price, with no slippage bound, no TWAP, and no flash-loan-aware re-entrancy guard across the swap step. Because the pair is the only price source and is manipulable within the same transaction by a flash-loaned trade, the attacker controls the conversion rate. [continues]","rootCause",1],["2024-02-ADC","ADC Exploit — Permissionless calcStepIncome() Drains the MainPool","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Incorrect access control — public, unguarded accounting setter (`calcStepIncome`) lets anyone credit a player with arbitrary income that `withdraw()` pays out as real ETH",null,null,"~18.1 ETH","A single design failure: a state-mutating accounting setter was exposed as a public `external` function with zero authorization. `calcStepIncome` writes attacker-supplied `value_` directly into the player's `stepIncome` ledger. `withdraw()` trusts that ledger. There is no invariant linking credited `stepIncome` to actual ETH the player contributed or to time elapsed — `value_` is taken at face value. [continues]","rootCause",1],["2024-02-AffineDeFi","Affine DeFi LidoLevV3 Exploit — Flashloan-Triggered upgradeTo Drains All Aave Collateral","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Broken flashloan-callback access control — a Balancer flashloan lets any caller reach the governance-gated `_payDebtAndTransferCollateral` path with an attacker-chosen `newStrategy`",null,null,"33.699 aEthwstETH","A flashloan-callback pattern conflated two different trust questions: 1. *\"Am I being called by Balancer?\"* — correctly answered by `msg.sender == BALANCER`. 2. *\"Am I being called because *I* asked Balancer to flash-loan to myself, with parameters *I* chose?\"* — never checked. Balancer's `flashLoan` is a public good: anyone can direct a flashloan at any address that implements `IFlashLoanRecipient`. [continues]","rootCause",1],["58099-h-02-flash-loan-wrong-balance-check-pashov-audit-group-none","Astrolab — the flash-loan check makes the borrower return the principal twice","audit-finding","AuditVault","2024-02",null,["vuln/logic/wrong-condition","vuln/logic/missing-validation"],["logic"],null,null,"Astrolab",null,"`balanceAfter - balanceBefore` is not the amount the borrower returned. The 1000 that `safeTransferFrom` just sent is still inside `balanceBefore`, so it is subtracted again. The check asks for `amount + fee` of *increase* on top of a balance that still included the loan. The borrower pays the principal twice and the fee once. Here the fee is 0, so the extra is exactly 1000.","rootCause",1],["2024-02-Babyloogn","Babyloogn Exploit — Permissionless Airdrop Drain via Zero-Value NFT \"Stake\"","incident","DeFiHackLabs","2024-02","BNB Chain",["vuln/logic/missing-check","vuln/access-control/missing-auth"],["logic","access-control"],"Business-logic / access-control — claim pays out tokens for a worthless (zero-amount) NFT transfer, with no per-user limit or real consumption",null,null,"~2.24 WBNB","Three independent design flaws compose into a one-transaction drain: 1. The \"stake\" is a no-op. The claim requires an ERC-1155 `safeTransferFrom(…, value)` but hard-codes `value = 0`. An ERC-1155 transfer of amount zero is a valid, fee-less event that moves nothing. Treating it as proof-of-eligibility means the gate is decorative. 2. No per-user limit / no consumption of the NFT. The same NFT `id` can be \"staked\" repeatedly — the contract never marks an id or address as claimed. [continues]","rootCause",1],["2024-02-BlueberryProtocol","Blueberry Protocol Exploit — Oracle Decimal Mismatch Enables ~$1.4M Under-Collateralized Borrow","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/oracle/missing-validation"],["arithmetic","oracle"],"Price-oracle decimal mismatch — oracle returns USD prices in 18-decimal mantissa without normalizing for the underlying token's own decimals (OHM=9, USDC=6, WBTC=8), collapsing the Comptroller's liquidity check",null,null,"~$1,375,900 in borrowed assets","The Comptroller's liquidity equation is only dimensionally correct if the oracle returns a price already scaled to `1e(18 + (18 - underlyingDecimals))` so that `price * nativeBalance / 1e18` yields true USD. Compound v2's own `ChainlinkPriceOracle` does exactly this scaling (it divides the Chainlink answer by `feedDecimals` then multiplies by `10^(36 - underlyingDecimals)`). [continues]","rootCause",1],["2024-02-BurnsDefi","BurnsDeFi / BurnsBuild Exploit — Spot-AMM Price-Oracle Manipulation in burnToHolder","incident","DeFiHackLabs","2024-02","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Manipulated-reserve AMM price oracle (spot `getAmountsOut` used for value settlement); classic flash-loan oracle manipulation",null,null,"~$67K — ~31.15 BNB drained from `BurnsBuild` plus ~64,310 BUSDT + ~56,299 Burns tokens sen","A Uniswap-V2 `getAmountsOut` is a marginal-price formula over the *current* reserves. It is safe for slippage checks; it is not safe as a settlement price, because the reserves are controllable inside the same transaction. `BurnsBuild` uses it as a settlement price and pays out BNB it actually owns against that number. The four design decisions that compose into the drain: 1. `burnToHolder` is public — anyone can request a \"burn\" and get a reward credit priced off the pair. [continues]","rootCause",1],["31586-c-02-attacker-can-drain-all-eth-from-ipseed-due-to-malicious","Catalyst IPSeed — a caller-supplied curve drains the ETH pool","audit-finding","AuditVault","2024-02",null,["vuln/logic/missing-check","vuln/logic/price-calculation"],["logic"],null,null,"Catalyst (Molecule IPSeed)",null,"Price is not computed by IPSeed. It is an external call to an address the token's creator chose. Buy and sell then move ETH against that number, and every token draws on the same contract balance. A curve the protocol did not deploy can report 0 on the way in and the entire balance on the way out. The token-id check only ties the id to `msg.sender`. It does not constrain the curve.","rootCause",1],["2024-02-CompoundUni","Compound v2 cUNI Exploit — Stale-Oracle Discount Borrow (Open Oracle UniswapAnchoredView)","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/oracle/stale-price"],["oracle"],"Stale / un-maintained oracle price — off-chain reporter stopped posting, so `prices[UNI_HASH]` lagged the live market and the `isWithinAnchor` TWAP guard no longer corrected it",null,null,"~$439,537 in bad debt created across the Compound v2 cUNI market","The bug is not in any single line of arithmetic — it is a missing freshness invariant in the Open Oracle design: 1. `prices[]` is timeless. The struct has no `lastUpdated`. Once written, the value is treated as canonical by the entire Compound v2 borrow/liquidation pipeline. A feed can rot for hours or days and nothing reverts. 2. All freshness responsibility is off-chain. The on-chain contract assumes a healthy reporter is continuously posting in-band prices. [continues]","rootCause",1],["2024-02-DeezNutz404","DeezNutz (DN404) Exploit — Self-Transfer Balance Inflation in a Reflection-Fork of DN404","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/logic/state-update","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Self-transfer accounting bug — aliased `from`/`to` storage write inflates balance",null,null,"~$170K","A correct reflection-token `_transfer` updates each account exactly once: `rOwned[from] -= rAmount; rOwned[to] += rTransferAmount;`. That is safe even when `from == to`, because the two read-modify-write operations target the same live storage slot in sequence — the net change is `-rAmount + rTransferAmount`, i.e. `≈ 0` (or `-rFee` when a fee applies). DeezNutz instead does a read-into-locals / mutate-locals / write-back-locals pattern. For `from == to`: [continues]","rootCause",1],["2024-02-DN404","DN404 Exploit — Unguarded init() Lets Anyone Re-init a Vesting Proxy and Drain Its Tokens","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/access-control/uninitialized-proxy"],["access-control"],"Missing initializer guard / public privileged `init` → unauthorized ownership takeover → arbitrary token drain via `withdraw`",null,null,"~169,577 USDT","The contract is an upgradeable-behind-a-proxy that mimics the shape of an upgradeable initializer without the discipline of one. Three independent defects compose into a critical drain: 1. Unprotected initializer. `init` mutates privileged state (`owner`) yet has no access control and no re-initialization guard. Any address can run it at any time and install itself as `owner` in the proxy's storage. 2. No caller-binding between proxy and implementation. [continues]","rootCause",1],["2024-02-DualPools","DualPools Exploit — Donation-Inflated Exchange Rate Lets 2 wei of dLINK Borrow the Whole Pool","incident","DeFiHackLabs","2024-02","BNB Chain",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"First-depositor / donation exchange-rate inflation in a Compound-fork lending market (collateral over-valuation → under-collateralized borrow + same-block redeem)",null,null,"~$41,893","This is the canonical Compound/Venus first-depositor (a.k.a. donation) exchange-rate manipulation, made trivially exploitable because the dLINK market was empty: 1. `cash` is a manipulable raw balance. `getCashPrior()` reflects any tokens sent to the contract, including via plain `transfer`. A donation is indistinguishable from organic cash in the exchange-rate formula. 2. No minimum supply / no dead-shares seeding. [continues]","rootCause",1],["2024-02-EGGX","EGGX Exploit — ERC404 Flash-Mintable NFTs Drain a Per-NFT Token Airdrop","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["logic"],"Flash-mintable ERC404 NFTs used to satisfy a per-NFT claim that checks only instantaneous `ownerOf`, with no eligibility snapshot",null,null,"1.9878 WETH","The airdrop credits freshly-mintable assets. `EGGXClaim.check` decides eligibility from the *current* `EGGX.ownerOf(id)`, but ERC404 lets an attacker mint unlimited new NFTs for free by transiently receiving pool liquidity inside a flash loan. The 36 NFT ids the attacker claimed on (30,019 … 30,488) did not exist until the flash-loan transfer minted them moments earlier in the same transaction. Concretely, four facts compose into the exploit: 1. Flash-loanable enabling balance. [continues]","rootCause",1],["51374-re-entrancy-causes-draining-of-funds-through-withdraw-swapto","Entangle Trillion — callback reentrancy drains bridge withdrawals","audit-finding","AuditVault","2024-02",null,["vuln/reentrancy/single-function","vuln/logic/wrong-order"],["reentrancy","logic"],null,null,null,null,"The balance check and the accounting decrement are separated by an external token transfer. An ERC677 or ERC777-style receiver can call back into `withdraw` while the original storage value is still available to every nested call.","rootCause",1],["51369-withdrawals-are-blocked-due-to-wrong-function-name-on-the-cu","Entangle Trillion — Curve/Convex withdrawal selector typo freezes LP exits","audit-finding","AuditVault","2024-02",null,["vuln/dependency/unsafe-external-call","vuln/logic/missing-validation","vuln/dos/frozen-funds"],["dependency","logic","dos"],null,null,null,null,"withdrawLP loads the configured pool then invokes the misspelled interface method. The result cannot be true because the external selector is absent; the chef consequently reverts before it transfers LP to MasterChef.","rootCause",1],["51376-vulnerability-in-compounder-contract-allowing-compromised-eo","Entangle Trillion — dynamic delegatecall lets a compromised master drain Compounder","audit-finding","AuditVault","2024-02",null,["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["dependency","access-control"],null,null,null,null,"The authorization check validates only the caller. It does not constrain dynamic delegatecall targets or payloads to a trusted allowlist, so the authorized caller can select arbitrary executable code in the Compounder context.","rootCause",1],["51370-broken-stargate-deposit-flow-due-to-missing-allowance-halbor","Entangle Trillion — missing Stargate allowance blocks LP deposits","audit-finding","AuditVault","2024-02",null,["vuln/logic/missing-allowance","vuln/dependency/unsafe-external-call","vuln/dos/frozen-funds"],["logic","dependency","dos"],null,null,null,null,"depositLP passes the amount straight into lpStaking.deposit. The staking contract calls transferFrom against the chef, which has a zero allowance because depositLP never performs the needed approve.","rootCause",1],["61090-incorrect-updates-to-pooldepositdatatotalamount-and-loancoll","Folks Finance — incorrect updates to pool.depositData.totalAmount during repay-with-collateral","audit-finding","AuditVault","2024-02",null,["vuln/accounting/double-count","vuln/logic/repay-with-collateral","vuln/loss-of-funds/pool-insolvency"],["accounting","logic","loss-of-funds"],"Accounting error: subtracting `(principal − interest)` re-adds already-counted interest, double-counting it into total deposits","high","Folks Finance — cross-chain lending (Hub/Spoke, `HubPool` + `LoanManager`)",null,"`depositData.totalAmount` is the underlying-denominated total of all deposits and is the numerator of the pool's deposit index. On a repay-with-collateral no token enters the pool: the borrower forfeits collateral to settle `principal + interest` of debt. Correct accounting reduces the deposit total by the principal that was handed back to the pool. Adding the interest back (`- interestPaid`) counts it a second time, so `totalAmount` grows above the physical token backing.","rootCause",1],["2024-02-GAIN","GAIN (GainOS) Exploit — Path-Dependent balanceOf Rebase Bug Drains the AMM Reserve","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/logic/state-update","vuln/logic/incorrect-state-transition"],["logic"],"Broken AMM invariant via a token whose `balanceOf` is path-dependent / manipulable (rebase \"side\" accounting) combined with permissionless `skim()`/`sync()`",null,null,"~6.4329 WETH","A Uniswap-V2 pair assumes one thing about its tokens: `balanceOf` is a faithful, monotone record of tokens actually held. GAIN breaks that assumption in the most dangerous way: `GAIN.balanceOf(account)` is not a function of how many tokens the account holds — it is a function of how many *gons* it holds divided by a divisor that the caller can change for free by flipping the account's \"side\". No tokens move; the number just gets smaller. Concretely, four design decisions compose into a critical bug: [continues]","rootCause",1],["2024-02-Game","Game (TheGame / Anciliainc) Exploit — Reentrancy + Stale bidEther Refund in makeBid()","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Reentrancy with stale state (checks → interaction → effects), enabling repeated over-refund of a stale `bidEther`",null,null,"~20 ETH","A correct auction must lower the recorded high bid (`bidEther`) before refunding the displaced bidder, or must guard re-entry. `Game` does neither: `makeBid()` refunds `bidEther` to the previous bidder via a raw `call`, and only *after* that call returns does it set `bidEther = msg.value`. Inside that call the previous bidder (the attacker) re-enters `makeBid()`. [continues]","rootCause",1],["30496-dos-of-an-account-using-frontrun-mixbytes-none-kinto-markdow","Kinto: a front-run leaves 1000 stuck in a wallet with no timestamp","audit-finding","AuditVault","2024-02",null,["vuln/dos/griefing","vuln/data/uninitialized"],["dos","data"],null,null,"Kinto",null,"Wallet deployment and wallet registration are different paths. CREATE2 of the wallet bytecode occupies the salt, and the path that would have stored `walletTs` is skipped because the code is already there.","rootCause",1],["30497-dos-kintowallet-contract-mixbytes-none-kinto-markdown","Kinto: resetting to one signer leaves policy 2 and sticks 1000","audit-finding","AuditVault","2024-02",null,["vuln/auth/signature-validation","vuln/logic/state-update"],["auth","logic"],null,null,"Kinto",null,"Signer count and signer policy are updated by different functions. `resetSigners` changes the count only. Policy 2 with one owner is a state `setSignerPolicy` itself would reject (`policy == 1 || owners.length > 1`), but the reset bypasses that check.","rootCause",1],["26267-funds-can-be-drained-from-the-protocol-by-liquidating-an-acc","Liquidating inside a transfer hook drains 1,000 cash the sender never deposited","audit-finding","AuditVault","2024-02","Ethereum",["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"External managerData runs before the insolvency check, and the same-transaction bid moves the deficit with no risk check",null,null,"Bob withdraws 1,000 cash","Effects run before the check, and the check is on the wrong account. The hook can change who holds the deficit. The sender is tested after the deficit has been moved. The bidder who received it is never tested.","rootCause",1],["2024-02-Miner","MINER (ERC-X / ERC404-style) Exploit — Fractional-Transfer NFT Mint/Burn Asymmetry Drains the Uniswap V3 Pool","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/logic/state-update","vuln/defi/slippage"],["logic","defi"],"ERC-404/\"ERC-X\" hybrid: fractional ERC20 transfer triggers an asymmetric NFT mint/burn that mints NFTs (= whole-token value) without backing balance — value extracted through a V3 swap callback",null,null,"~$140 ETH reported by the original disclosure","The fundamental break is that `MINER` does not preserve a global invariant between its ERC-20 supply and its live NFT count, and it lets a *fractional*, *permissionless* transfer mutate that NFT count asymmetrically. Concretely: 1. Independent mint/burn arithmetic. `tokens_to_burn` is derived from the *sender's* balance crossings and `tokens_to_mint` from the *receiver's* — they are never reconciled. A sequence of sub-token transfers can mint strictly more NFTs than it burns. [continues]","rootCause",1],["2024-02-MINER_bsc","MINER (ERC404) Exploit — Self-Transfer Balance Inflation via skim()","incident","DeFiHackLabs","2024-02","BNB Chain",["vuln/logic/state-update","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Cached-balance self-transfer inflation in an ERC404 token, weaponized through PancakePair `skim()`",null,null,"~3.5 WBNB","The deflationary \"auto mint/burn\" code was bolted onto a standard ERC20 `_update` that reads `_balances[from]` and `_balances[to]` into local variables up front and writes them back afterwards. This is a safe idiom only if `from != to`. The authors never added the `from == to` guard, so any self-transfer is a self-mint. The flaw compounds with two PancakePair facts: 1. `skim(to)` lets the caller choose the recipient, and that recipient can be the pair itself — turning a pool-maintenance helper into a balance pump. [continues]","rootCause",1],["59402-redeeming-does-not-discount-tokens-of-removed-artists-leadin","Music Protocol: redeeming a removed artist still pays 1,000 RECORD","audit-finding","AuditVault","2024-02",null,["vuln/logic/reward-calculation"],["logic"],null,null,null,null,"`redeem` calls `_calcSinceLastPosition` only while the artist is still verified. After `removeArtist`, a full redeem zeroes the user's stake and leaves `artistStake` at 1,000. A 2,000 RECORD pot split by stake therefore mints 1,000 RECORD to the removed artist. The still-verified artist, who also has 1,000 stake, should have received the whole pot.","tldr",1],["26268-bids-can-be-blocked-by-sending-option-to-liquidator-sigmapri","One wei of an option blocks a liquidation and the 1,000 shortfall is paid from insurance","audit-finding","AuditVault","2024-02","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"The bidder is required to hold only the cash asset, so 1 wei of any other asset reverts the bid",null,null,"A 1,000 shortfall is paid out of insurance cash because the bid reverts","The liquidation's safety check is \"the bidder's balances are exactly the cash asset\", not \"the position the bidder is about to hold is solvent\". Any token the bidder did not ask for fails the check. The transfer of that token does not need the bidder's approval.","rootCause",1],["2024-02-PANDORA","Pandora's Nodes 404 Exploit — transferFrom Allowance Underflow Lets Anyone Move Tokens Out of the Pool","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/arithmetic/underflow","vuln/access-control/missing-check"],["arithmetic","access-control"],"Unchecked-allowance / integer underflow in a non-overflow-safe compiler → broken transfer authorization → AMM reserve drain",null,null,"~$17,000","A standard ERC20 `transferFrom` enforces two invariants: (a) the caller may move at most `allowance[from][caller]` tokens, and (b) moving more must revert. `PandorasNodes404`'s ERC20 branch breaks both: It subtracts the requested amount from the allowance without ever requiring the allowance to be large enough, and it does so under a compiler (0.7.6) where the subtraction wraps instead of reverting. The net effect is that `allowance` is purely cosmetic on the ERC20 path — anyone can move anyone's BLOCK tokens. [continues]","rootCause",1],["40715-openposition-should-not-charge-fees-on-marginfrom-or-charge","Particle — openPosition charges a fee on the user's own marginFrom","audit-finding","AuditVault","2024-02","Ethereum",["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],null,null,"Particle",null,"The fee is described as a charge on borrowed principal, but the product also includes `marginFrom`. Supplying the other side as `marginTo` zeroes `marginFrom` and drops that part of the fee. The two ways of posting the same collateral do not pay the same fee.","rootCause",1],["40714-getowedfee-can-incorrectly-return-zero-because-of-fee-growth","Particle getOwedFee — wrapped fee growth pays the LP 0 instead of 2999999999999999999","audit-finding","AuditVault","2024-02","Ethereum",["vuln/arithmetic/underflow","vuln/logic/fee-calculation"],["arithmetic","logic"],null,null,"Particle",null,"Solidity 0.8 reverts on underflow, so the authors guarded the subtraction with `>`. Uniswap's growth math is defined with wrapping subtraction. `2e18 - (2^256 - 1e18)` is `3e18` in unchecked arithmetic and is not greater than the last snapshot, so the guard returns 0. `2999999999999999999` rather than a round `3e18` is the integer result of scaling that delta by `type(uint128).max / 2^128`. It is one wei under `3e18`.","rootCause",1],["2024-02-ParticleTrade","Particle Trade Exploit — Forged-Lien accountBalance Mint via onERC721Received","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/reentrancy/single-function","vuln/logic/missing-validation"],["reentrancy","logic"],"Spoofable callback (`onERC721Received`) + unbacked credit to `accountBalance` (accounting created from attacker-controlled input)",null,null,"~50.1 ETH per draining lien","The protocol treats `accountBalance` as a trustworthy ETH ledger but lets a single attacker-supplied `Lien` struct decide how much to credit, validated only by a self-hash that the attacker can mint for free. Concretely, four design flaws compose: 1. Free, self-controlled lien creation. `offerBid` requires no real margin (`margin = 0`, `msg.value = 0`) and lets the caller choose `collection` (:645-676). [continues]","rootCause",1],["32162-h-1-two-pyth-prices-can-be-used-in-the-same-transaction-to-a","Perpetual: two Pyth prices pay 150 on a 100 deposit","audit-finding","AuditVault","2024-02",null,["vuln/oracle/spot-price","vuln/logic/price-calculation"],["oracle","logic"],null,null,"Perpetual",null,"The share price is the last stored Pyth update, and deposit and withdraw read it independently. Nothing binds a deposit and a withdraw to the same update.","rootCause",1],["30896-h-1-creating-new-withdrawal-requests-in-conjunction-with-set","Rio — settling an EigenLayer epoch does not increment it, so a later withdrawal reverts and 10 tokens stay in the queue","audit-finding","AuditVault","2024-02",null,["vuln/logic/incorrect-state-transition","vuln/dos/frozen-funds","vuln/logic/missing-check"],["logic","dos"],"A settled epoch stays current, so a new withdrawal cannot be queued or settled again","high","Rio Network — `RioLRTWithdrawalQueue.settleEpochFromEigenLayer`",null,"Incoming withdrawals are booked on `currentEpoch`. The only increment in this contract is `settleCurrentEpoch`, and that runs only when the deposit pool can already cover the epoch. The EigenLayer path marks the epoch settled and records what it received, then leaves the counter where it was. Anything queued after that, including during the wait the report describes, increases `sharesOwed` on an epoch that already has an aggregate root and is already settled. [continues]","rootCause",1],["30898-h-3-malicious-operators-can-undelegate-theirselves-to-manipu","Rio Network — malicious operators can undelegate theirselves to manipulate the LRT exchange rate","audit-finding","AuditVault","2024-02",null,["vuln/oracle/live-external-read","vuln/economic/tvl-manipulation","vuln/trust/semi-trusted-operator"],["oracle","economic","trust"],"Trusting a live external value with no buffer, snapshot, or sanity bound against a semi-trusted counterparty's unilateral action","high","Rio Network — `RioLRTOperatorDelegator` + `RioLRTAssetRegistry` (ETH TVL aggregation) interacting with EigenLayer's `DelegationManager`/`EigenPodManager`",null,"`getETHBalanceInEigenLayer()` treats a value it does not control — a live read from EigenLayer's own state — as if it were an internally-tracked, Rio-controlled ledger entry. But that value can move at any moment, for a reason entirely outside Rio's protocol: the EigenLayer operator a delegator happens to be delegated to has a standing, permissionless right to `undelegate` that delegator whenever it wants. [continues]","rootCause",1],["30902-h-7-reportoutofordervalidatorexits-does-not-updates-the-heap","Rio Network — reportOutOfOrderValidatorExits does not update the utilization heap order","audit-finding","AuditVault","2024-02",null,["vuln/logic/stale-cache","vuln/dos/liveness-freeze","vuln/data-structure/heap-invariant-violation"],["logic","dos","data-structure"],"Stale cache / data-structure invariant violation: a value changes without updating the derived ordering structure that depends on it","high","Rio Network — `RioLRTOperatorRegistry` + `OperatorUtilizationHeap` (ETH-deposit allocation/deallocation)",null,"The utilization heap is a derived data structure — its correctness depends entirely on being updated every time the value it's ordering (utilization) changes. `reportOutOfOrderValidatorExits()` is one of exactly two places that change an operator's `exited` count (the other, `deallocateETHDeposits()`, DOES call `heap.store(...)` at the end), but it skips the update entirely. [continues]","rootCause",1],["30901-h-6-requested-withdrawal-can-be-impossible-to-settle-due-to","Rio Network — requested withdrawal can be impossible to settle due to EigenLayer share value appreciation","audit-finding","AuditVault","2024-02",null,["vuln/accounting/rate-mismatch","vuln/dos/liveness-freeze","vuln/liquid-staking/withdrawal-stuck"],["accounting","dos","liquid-staking"],"Accounting: a share count locked in at one exchange rate is later compared against a share count computed at a different exchange rate","high","Rio Network — `RioLRTCoordinator` (deposits/withdrawals/rebalancing) + `RioLRTDepositPool` (idle-asset settlement)",null,"The withdrawal accounting treats \"shares owed\" as a single, stable quantity across two points in time that can use different exchange rates: the moment of `requestWithdrawal()` and the moment of settlement. [continues]","rootCause",1],["30897-h-2-setting-the-strategy-cap-to-0-does-not-update-the-total","Rio Network — setting the strategy cap to 0 does not update total shares held or the withdrawal queue","audit-finding","AuditVault","2024-02",null,["vuln/accounting/missing-decrement","vuln/logic/wrong-condition","vuln/liquid-staking/double-counted-shares"],["accounting","logic","liquid-staking"],"Accounting: a state-removing admin action fails to update a downstream ledger another function relies on","high","Rio Network — `OperatorRegistryV1Admin` (operator cap management) + `RioLRTCoordinator` (deposits/withdrawals) + `RioLRTAssetRegistry` (share accounting)",null,"Two separate withdrawal paths exist for the same underlying EigenLayer shares: (1) an admin-forced exit when an operator's allocation is removed, and (2) an ordinary user withdrawal processed through the coordinator. Both paths ultimately compete for the same pool of `sharesHeld`. [continues]","rootCause",1],["30900-h-5-swapvalidatordetails-incorrectly-writes-keys-to-memory-r","Rio Network: swapped BLS keys are zeroed in the middle and 64 ETH stays in the beacon deposit","audit-finding","AuditVault","2024-02","Ethereum",["vuln/dos/frozen-funds","vuln/logic/incorrect-order-of-operations"],["dos","logic"],"48-byte BLS key load writes the shifted tail over the middle 16 bytes",null,null,"64 ETH deposited to two corrupted BLS pubkeys","The two mstores overlap by 16 bytes, and the later one carries 16 bytes of zeros in its high half. Memory ends up as 16 correct bytes, 16 zero bytes, and the original 16-byte tail. The chisel dump in issue 84 shows that layout at the free-memory pointer. `allocateETHDeposits` reads those bytes and `stakeETH` passes them to the beacon deposit contract.","rootCause",1],["2024-02-RuggedArt","RuggedArt (RuggedMarket) Exploit — Reentrant targetedPurchase Buys NFTs With Self-Staked Collateral","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/reentrancy/single-function"],["reentrancy"],"Reentrancy + balance-delta accounting confusion (a \"free purchase\" via self-funded balance check)",null,null,"~1.024 WETH","`targetedPurchase` confuses \"the contract's RUGGED balance went up by X\" with \"the caller paid X for a purchase.\" Those are only equivalent if the *only* thing that can change the contract's balance during the call is the swap. They are not: 1. The check measures the contract's balance, not the swap's output. The intended semantics — \"the Universal Router swap produced ≥ `1.1 ether` of RUGGED per NFT\" — is approximated by `afterSwapBalance − beforeSwapBalance`. [continues]","rootCause",1],["2024-02-Seneca","Seneca Protocol Exploit — Arbitrary External Call Abuses User Approvals","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/dependency/unsafe-external-call"],["dependency"],"Arbitrary external call (`callee.call(callData)`) with insufficient target allow-listing → abuse of pre-existing ERC-20 allowances",null,null,"~$6.4M total","A token approval is a delegation of authority: \"this contract may move my tokens.\" The Chamber is trusted by users to do that only inside its own accounting logic (`depositCollateral`, `_addTokens`, `repay`, …), where the destination and amount are constrained by the protocol. `OPERATION_CALL` punches a hole through that contract: it lets *any* external party direct the Chamber to make *any* call to *any* (non-blacklisted) address. Combined with the standing user allowances, this collapses to: [continues]","rootCause",1],["2024-02-SMOOFSStaking","SMOOFS Staking Exploit — Reentrant Withdraw() Drains the Reward-Token Pool via safeTransferFrom Callback","incident","DeFiHackLabs","2024-02","Polygon",["vuln/reentrancy/single-function"],["reentrancy"],"Classic reentrancy — Checks-Effects-Interactions violation in `Withdraw()`; the ERC-721 `safeTransferFrom` callback re-enters before state is cleared",null,null,"The attacker walked away with a net +4,350 MOOVE in this PoC slice","The single root cause is a Checks-Effects-Interactions violation combined with an unused reentrancy guard. Three facts compose: 1. The NFT return is an attacker-controlled external call placed before state cleanup. ERC-721 `safeTransferFrom` is *defined* to call back into the recipient. Putting it before `_removeStake` (and before the carry refund) means the attacker executes arbitrary code while the staking contract still believes the NFT is staked and owned by the attacker. [continues]","rootCause",1],["2024-02-SwarmMarkets","Swarm Markets (XToken) Exploit — Public mint() / burnFrom() Mint-and-Unwrap Drain","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/access-control/missing-modifier"],["access-control"],"Broken access control — mint/burn entry points missing their `onlyWrapper` modifier (free, unbacked mint → unwrap for real collateral)",null,null,"~$7,733","The single root cause is the missing `onlyWrapper` (or any) access-control modifier on `XToken.mint` and `XToken.burnFrom`. The intended design is sound: a 1:1 wrapper where the wrapper is the only minter and unwrap is the only redeemer. The protocol authors clearly intended this — they wrote `WRAPPER_ROLE`, the `onlyWrapper` modifier, `setWrapper()`, and the NatSpec that explicitly states \"the caller must have WRAPPER_ROLE\" on both `mint` and `burnFrom`. [continues]","rootCause",1],["35999-assignmenthooks-may-drain-prover-tko-when-calling-proposeblo","Taiko — a repeated assignment hook drains the prover's TKO","audit-finding","AuditVault","2024-02",null,["vuln/logic/missing-check","vuln/auth/signature-replay"],["logic","auth"],null,null,"Taiko",null,"Two checks are missing, and either one would have stopped the drain. The loop never compares hook addresses, so the proposer can name the assignment hook on every iteration. The hook validates the prover's signature and does not bump a nonce, so the same signature authorizes every pull. The balance check then uses `<` rather than `==`, which was meant to confirm that the bond arrived and instead accepts any larger amount.","rootCause",1],["34318-vulnerability-in-block-proposal-function-allows-token-theft","Taiko — block proposal spends a prover's allowance and takes 1000 TKO","audit-finding","AuditVault","2024-02",null,["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],null,null,"Taiko",null,"Coinbase is treated as the fee payer, and the proposer chooses both that address and the fee. A prover who approved the hook so it could pay its own fees has authorized every later proposer to name them.","rootCause",1],["36001-prover-payment-in-erc20-tokens-always-reverts-sigmaprime-non","Taiko — ERC20 prover payment always reverts","audit-finding","AuditVault","2024-02",null,["vuln/dos/frozen-funds","vuln/logic/wrong-condition"],["dos","logic"],"The ERC20 pull uses TaikoL1 as the token sender","high","Taiko `AssignmentHooks.onProposedBlock`",null,"The ETH branch can pay out of `msg.value`, which really did come from the transaction sender. The ERC20 branch copied that shape and named `msg.sender` as the token source. The hook's caller is the protocol contract, not the proposer, so the token source and the funded account are different addresses.","rootCause",1],["35997-insufficient-signature-hashing-for-sgx-addinstances-sigmapri","Taiko — SGX addInstances signature does not bind newInstance","audit-finding","AuditVault","2024-02",null,["vuln/auth/signature-validation","vuln/logic/missing-check"],["auth","logic"],null,"high","Taiko SGX verifier",null,"The signature attests a list of extra instances and a type tag. The address that replaces the current instance is chosen by the caller after the signature exists. Validity only checks that the recovered signer is the instance being replaced. It does not check that the signer named the replacement.","rootCause",1],["35998-incorrect-value-assigned-to-token-when-recalling-messages-si","Taiko: a recalled message leaves 1000 in the vault","audit-finding","AuditVault","2024-02",null,["vuln/bridge/missing-validation","vuln/data/wrong-encoding"],["bridge","data"],null,null,"Taiko",null,"The encode order is `(ctoken, user, to, amount)`. The recall names the second decoded address `token`. Those are not the same word.","rootCause",1],["35996-fraudulent-messages-may-be-sent-through-the-bridge-sigmaprim","Taiko: any caller can signal a 100 withdrawal from the bridge","audit-finding","AuditVault","2024-02",null,["vuln/bridge/message-spoofing","vuln/access-control/missing-auth"],["bridge","access-control"],null,null,"Taiko",null,"The bridge will call any address. A call into the signal service is indistinguishable from the bridge signaling a message itself, because the signal is keyed by `msg.sender`.","rootCause",1],["31529-h-02-baseleverageexecutor-doesnt-have-a-receive-method-to-re","Tapioca BaseLeverageExecutor — WETH withdraw reverts with no receive()","audit-finding","AuditVault","2024-02",null,["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],null,null,"Tapioca DAO",null,"`withdraw` is an ETH-bearing callback into the executor. The contract can call WETH, but it cannot accept the ETH WETH sends back. The later `wrap{value:}` is never reached.","rootCause",1],["32318-h-07-incorrect-math-means-dataremoveandrepaydataremoveassetf","Tapioca DAO — Incorrect math means removeAssetFromSGL will never work once SGL has accrued interest","audit-finding","AuditVault","2024-02",null,["vuln/logic/argument-type-confusion","vuln/availability/liveness-brick","vuln/accounting/rebase-scaling"],["logic","availability","accounting"],"Argument-type confusion: raw YieldBox shares passed where a `totalAsset.base`-denominated fraction is expected","high","Tapioca DAO — an omnichain money market; `Singularity` is its lending market, `YieldBox` its shared token-share vault, `Magnetar` a periphery helper that batches user actions",null,"`fraction` is Singularity's own internal accounting unit — a share of the pool's *total* claim (idle liquidity plus everything currently out on loan), scaled against `totalAsset.base` (the LP-fraction supply). Raw YieldBox shares of a withdrawal amount are a completely different unit that happens to numerically coincide with a base-denominated fraction only in the special case where the pool has never had any borrow activity. [continues]","rootCause",1],["32315-h-04-incorrect-approval-mechanism-breaks-all-magnetar-functi","Tapioca DAO — Magnetar grants YieldBox approval but markets only accept pearlmit","audit-finding","AuditVault","2024-02",null,[],["untagged"],null,"high","Tapioca DAO",null,"Magnetar grants YieldBox approval but markets only accept pearlmit. Harm demonstrated: Magnetar deposit/lend permanently fails — wrong approval mechanism vs pearlmit.","tldr",1],["32312-h-01-magnetarmintxchainmodulesolmintbblendxchainsgl-can-be-u","Tapioca DAO — mintBBLendXChainSGL compose data.user not bound — force-lend victim","audit-finding","AuditVault","2024-02",null,[],["untagged"],null,"high","Tapioca DAO",null,"mintBBLendXChainSGL compose data.user not bound — force-lend victim. Harm demonstrated: Whitelisted USDO compose forces lend of victim tokens into Magnetar.","tldr",1],["32317-h-06-attacker-can-use-magnetaractionoft-action-of-the-magnet","Tapioca DAO — OFT self-call makes Magnetar msg.sender and bypasses _checkSender","audit-finding","AuditVault","2024-02",null,[],["untagged"],null,"high","Tapioca DAO",null,"OFT self-call makes Magnetar msg.sender and bypasses _checkSender. Harm demonstrated: Nested OFT self-call drains victim collateral approved to Magnetar.","tldr",1],["32313-h-02-missing-check-on-helper-contract-allows-arbitrary-actio","Tapioca DAO — Unwhitelisted marketHelper returns malicious removeCollateral payload","audit-finding","AuditVault","2024-02",null,[],["untagged"],null,"high","Tapioca DAO",null,"Unwhitelisted marketHelper returns malicious removeCollateral payload. Harm demonstrated: Malicious marketHelper steals victim collateral via Magnetar approval.","tldr",1],["31527-c-02-attackers-can-steal-unclaimed-rewards-from-glpstrategy","Tapioca GlpStrategy — deposits mint against a balance that hides GMX rewards","audit-finding","AuditVault","2024-02",null,["vuln/logic/reward-calculation","vuln/logic/missing-check","vuln/logic/price-calculation"],["logic"],null,null,"Tapioca DAO YieldBox / GlpStrategy",null,"Share minting and the harvest are ordered so the balance used for the mint does not contain the rewards the harvest is about to realize. Anyone can deposit while claimable rewards are nonzero, receive too many shares, and withdraw a slice of rewards that accrued to the previous supply.","rootCause",1],["32314-h-03-absence-of-restrictions-on-the-sender-of-the-twtapclaim","Tapioca twTAP — anyone can claim an approved position's rewards","audit-finding","AuditVault","2024-02",null,["vuln/access-control/missing-auth","vuln/access-control/missing-owner-check","vuln/logic/missing-check","vuln/logic/reward-calculation"],["access-control","logic"],null,null,"Tapioca DAO",null,"The permission helper asks whether `_to` is the owner or an approved operator. The cross-chain claim is built so `_to` is `TapTokenReceiver`, which the user is expected to approve. Nothing asks whether the account that triggered the permit, or the account that sent the claim message, is that owner. The receiver then pays `sendTo` from the message, and that field is attacker-controlled.","rootCause",1],["32316-h-05-vested-claimable-amount-calculation-error-code4rena-ta","Tapioca vesting — _vested pays 549 where the cap is 500","audit-finding","AuditVault","2024-02",null,["vuln/logic/reward-calculation","vuln/logic/wrong-condition"],["logic"],null,null,"Tapioca DAO",null,"The offset is applied to the numerator and not to the cap. The schedule is therefore allowed to pay more than `totalAmount` for the last `offset` seconds before `start + duration`.","rootCause",1],["2024-02-Zoomer","ZoomerCoin Exploit — Spot-Priced Upfront Staking Reward Drained via AMM Price Manipulation","incident","DeFiHackLabs","2024-02","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Spot-AMM-priced upfront reward (oracle manipulation) — under-collateralized instant payout",null,null,"~14.39 ETH","A Uniswap V2 pair's `getReserves()` is the current balance ratio. It can be moved arbitrarily, within a single transaction and for free (you get the tokens back when you sell), by anyone with capital — or, as here, with a flash loan. Any contract that prices an asset off `getReserves()` and then *pays out value based on that price in the same transaction* is trivially manipulable. The staking contract violates that principle in the most direct way: 1. Spot-price oracle. [continues]","rootCause",1],["37166-unintended-tokens-proportion-reset-in-applyswapsandpassivere","Aarna — passive rebalance zeroes token proportions","audit-finding","AuditVault","2024-01",null,["vuln/logic/state-update","vuln/data/uninitialized"],["logic","data"],"A zero array is stored when the strategy is not 1","high","Aarna `AFiBase.applySwapsAndPassiveRebal`",null,"The outer check treats every strategy number of 1 or more as a reason to replace the stored proportions. The inner function only knows how to fill the array for strategy 1. Every other strategy returns the zero-initialized array, and the caller stores it.","rootCause",1],["37167-potential-asset-under-disbursement-in-withdraw-function-of-a","Aarna — withdraw pays 400 of a 1000 entitlement","audit-finding","AuditVault","2024-01",null,["vuln/logic/missing-check","vuln/logic/wrong-condition"],["logic"],"A short balance is paid out and treated as a full redemption","high","Aarna `AFiBase.withdraw`",null,"The entitlement and the token balance are different numbers. The code treats a smaller balance as a successful full redemption instead of leaving the position open or recording what is still owed.","rootCause",1],["2024-01-MIMSpell2","Abracadabra / MIM Spell V2 Exploit — repayForAll Rebase De-sync + Rounding-Up Debt Inflation","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/arithmetic/rounding","vuln/logic/incorrect-state-transition"],["arithmetic","logic"],"Broken rebase invariant — interest-bearing-debt `Rebase` de-synchronized by `repayForAll`, then `toBase(roundUp=true)` exponentially inflates `totalBorrow.base` so debt is valued at ~0",null,null,"~$6.5M","The single rebase `totalBorrow` encodes the price of one debt part as `elastic / base`. Two design choices let an attacker drive that price toward zero: 1. `repayForAll` breaks the `elastic ↔ base` coupling. It is the *only* mutator in the contract that changes one side of the rebase without the other. [continues]","rootCause",1],["58102-h-05-fee-calculation-mismatch-in-mint-deposit-redeem-and-wit","Astrolab — deposit and redeem take 10 percent off the gross amount","audit-finding","AuditVault","2024-01",null,["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],"The fee is taken off an amount that already includes the fee","high","Astrolab `As4626`",null,"`mint` and `withdraw` treat the user number as the net amount and add the fee on top. `deposit` and `redeem` treat the user number as the gross amount and then take 10 percent off it. The second pair charges the fee on a base that already contains the fee.","rootCause",1],["58103-h-06-fee-target-mismatch-in-deposit-mint-withdraw-redeem-and","Astrolab — deposit preview fees the caller, execution fees the receiver","audit-finding","AuditVault","2024-01",null,["vuln/logic/fee-calculation","vuln/logic/wrong-condition"],["logic"],"Entry-fee target disagrees between preview and execution","high","Astrolab As4626 vault",null,"The preview and the fee ledger do not name the same account. A caller and a receiver on opposite sides of `exemptionList` make the share mint and `claimableAssetFees` disagree. Here the caller is charged and the receiver is not, so the haircut never becomes a collectable fee and the depositor is minted the shares of a smaller deposit.","rootCause",1],["58100-h-03-flash-loan-not-working-due-to-transferfrom-issue-pashov","Astrolab flashLoanSimple reverts because it transferFroms its own USDC","audit-finding","AuditVault","2024-01","Ethereum",["vuln/logic/missing-check","vuln/dos/permanent"],["logic","dos"],"Self-`transferFrom` with zero allowance",null,null,"250,000.000000 USDC cannot be flash-borrowed","`safeTransferFrom(from, to, amount)` calls `token.transferFrom(from, to, amount)` with `msg.sender` equal to the vault. For a self-pull, `from` is also the vault, so USDC checks `allowed[vault][vault]`. Nothing in `flashLoanSimple` writes that allowance. It stays 0. Any `amount > 0` reverts before `executeOperation`. The fee quote and the `totalLent` increment are inside the reverting call, so neither sticks.","rootCause",1],["58101-h-04-withdraw-worst-price-will-distort-shareprice-pashov-aud","Astrolab withdraw at the worst request price mints the next depositor 2,700 shares instead of 2,800","audit-finding","AuditVault","2024-01","Ethereum",["vuln/logic/price-calculation","vuln/logic/incorrect-calculation"],["logic"],"Stale `last.sharePrice` after a worst-price withdrawal",null,null,"Next depositor is minted 2,700 shares instead of 2,800 for the same 378,000 asset units","A request stores `request.sharePrice` at request time. If the vault appreciates, `min(last.sharePrice, request.sharePrice)` pays the holder less than the live price. The assets that stay behind raise the value of every remaining share. `last.sharePrice` was set to the pre-payout `sharePrice()` and is not updated, so `totalAccountedAssets()` subtracts the remaining claim at the old price. The next `sharePrice()` is too high, and `convertToShares` mints too few shares.","rootCause",1],["2024-01-BarleyFinance","Barley Finance Exploit — Flash-Loaned Collateral Double-Counted as bond() Deposit","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/reentrancy/single-function","vuln/logic/incorrect-state-transition"],["reentrancy","logic"],"Re-entrancy / double-counting — flash-loaned collateral re-used as a `bond()` deposit, inflating share supply against fixed backing",null,null,"~$130K","The flash-loan invariant and the bond invariant are each individually reasonable but are mutually incompatible when both entry points are reachable in the same call frame: `flash()` trusts that \"balance restored\" means \"no value was extracted.\" `bond()` mints shares against any BARL that lands in the contract. So *returning the flash loan via `bond()` looks like a repayment to `flash()` and looks like a fresh deposit to `bond()` — the same BARL is credited twice.*; Concretely, four design facts compose into the …","rootCause",1],["29874-l1blastbridge-uses-wrong-token-order-when-bridging-usd-yield","Blast — _initiateBridgeERC20 encodes DAI as the local token, so the user receives DAI instead of USDB","audit-finding","AuditVault","2024-01",null,["vuln/logic/wrong-order","vuln/bridge/missing-validation","vuln/data/wrong-encoding"],["logic","bridge","data"],"Local and remote token arguments are swapped","high","Blast — `L1BlastBridge._initiateBridgeERC20`",null,"`finalizeBridgeERC20` takes the local token first and the remote token second. For an L2 finalize, local is the L2 token (USDB) and remote is the L1 token (DAI). `_initiateBridgeERC20` passes DAI first. L2 decodes `_localToken = DAI` and transfers that token. The report's failure mode, when no DAI contract exists on L2, is a revert. With both tokens present, which is this reduction, the transfer succeeds and the user is paid the wrong asset.","rootCause",1],["29873-msgsender-has-to-be-un-aliased-in-l2blastbridgefinalizebridg","Blast — finalizeBridgeETHDirect compares msg.sender to the un-aliased L1 bridge and locks the deposit","audit-finding","AuditVault","2024-01",null,["vuln/bridge/missing-validation","vuln/logic/wrong-condition","vuln/dos/frozen-funds"],["bridge","logic","dos"],"The direct L1-to-L2 path checks the raw `msg.sender` instead of `undoL1ToL2Alias(msg.sender)`","high","Blast — `L2BlastBridge.finalizeBridgeETHDirect`",null,"`finalizeBridgeETHDirect` is the direct L1-to-L2 entry, not a messenger relay. On the OP stack a deposit transaction sent by a contract has `msg.sender` equal to `address(uint160(l1Sender) + 0x1111000000000000000000000000000000001111)`. `OTHER_BRIDGE` is stored as the plain L1 address, and other L2BlastBridge functions compare against that plain address after the cross-domain messenger has already un-aliased the sender. This function skips that step, so the equality is false for every real deposit.","rootCause",1],["2024-01-Bmizapper","Bridge Mutual BMIZapper Exploit — Arbitrary External Call Drains Pre-Approved User Funds","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-validation"],["dependency","access-control"],"Arbitrary external call to attacker-controlled target with attacker-controlled calldata (unvalidated \"aggregator\" parameter) — abuse of victims' standing token approvals",null,null,"114,146.247097 USDC","A zap router that proxies user-built aggregator calldata is, in effect, a *generic call-forwarder*. That is only safe under two conditions, both of which `BMIZapper` violates: 1. The call target must be on a hard allowlist. `BMIZapper` performs `_aggregator.call(_aggregatorData)` against an address chosen entirely by the caller, with zero validation of the target or of the function selector inside `_aggregatorData`. An attacker can point it at *any* ERC-20 (here, USDC) or any other contract. [continues]","rootCause",1],["2024-01-CitadelFinance","Citadel Finance Exploit — Spot-Price Oracle Manipulation in CitadelRedeem.redeem()","incident","DeFiHackLabs","2024-01","Arbitrum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Spot-price (AMM `getAmountsOut`) oracle manipulation via flash loan",null,null,"~$93K total across several redeem txs","A constant-product AMM pair (`getAmountOut = in·feeNum·reserveOut / (reserveIn·feeDen + in·feeNum)`) prices an asset purely from its current reserves. Anyone with enough capital — readily borrowed via a flash loan — can move those reserves to almost any ratio for the duration of one transaction, then move them back. `CitadelRedeem` treats that instantaneous, attacker-movable ratio as the authoritative price for how much treasury WETH a CIT position is worth: [continues]","rootCause",1],["34118-h-01-game-fee-locked-in-earlyendgame-pashov-audit-group-none","Curio — earlyEndGame locks the 0.1 ETH game fee","audit-finding","AuditVault","2024-01",null,["vuln/logic/fee-calculation","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Curio",null,"The fee is an accounting decrease of the player's payout, not a transfer. The ETH that used to back the full payout remains in the contract with no path to the treasury.","rootCause",1],["37160-anyone-can-upgrade-an-implementation-zokyo-none-curra-markdo","Curra — anyone can upgrade a proxy and drain it","audit-finding","AuditVault","2024-01",null,["vuln/access-control/missing-modifier","vuln/dependency/upgradeable-contract"],["access-control","dependency"],"Public upgrade after the admin check was removed","high","Curra `ERC1967Factory.upgradeAndCall`",null,"The report says the admin check was removed and both upgrade functions were left public. The factory is still the only address the proxy accepts as the upgrade caller, so going through the factory is enough.","rootCause",1],["2024-01-DAO_SoulMate","DAO SoulMate Exploit — Permissionless redeem() Drains the DAO's SetToken Basket","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control on a value-bearing entry point (CWE-284 / \"no access control\")",null,null,"~$319K","A single missing modifier. `redeem(uint256 _shares, address _receiver)` is a function that (a) operates on assets owned by the contract (the DAO's BUI position) and (b) lets the caller name the recipient of those assets. Such a function must be restricted to the contract's owner/governance/timelock. [continues]","rootCause",1],["30559-h-01-anyone-can-update-the-address-of-the-router-in-the-dcnt","Decent — Anyone can update the Router address in DcntEth","audit-finding","AuditVault","2024-01",null,["vuln/access-control/missing-caller-check"],["access-control"],"Missing access control on privileged configuration","high","Decent — Decent ETH bridge (`DcntEth` OFT + `DecentEthRouter`)",null,"`onlyRouter` correctly protects mint/burn, but the address that *is* the router is writable by anyone. Becoming the router is equivalent to holding the mint/burn privilege for the bridge accounting token, which is redeemable against real WETH held by the router.","rootCause",1],["30561-h-03-when-decentbridgeexecutorexecute-fails-funds-will-be-se","Decent — Failed execute refunds a phantom source-adapter address","audit-finding","AuditVault","2024-01",null,[],["untagged"],"Wrong refund recipient in cross-chain failure path","high","Decent — `DecentEthRouter` + `DecentBridgeExecutor`",null,"The payload's `from` was intended as \"original user\" but is actually the immediate `msg.sender` on the source (the adapter). The failure refund path trusts that field without translating it to a destination-valid user address. Non-CREATE2 deployments make same-address recovery impossible.","rootCause",1],["30560-h-02-due-to-missing-checks-on-minimum-gas-passed-through-lay","Decent — Missing min-gas checks permanently block the LayerZero channel","audit-finding","AuditVault","2024-01",null,["vuln/dos/unbounded-loop"],["dos"],"Missing input validation on cross-chain gas budget","high","Decent — `DecentEthRouter` LayerZero OFT bridge",null,"Cross-chain gas is a safety-critical parameter left to the caller. LayerZero's path-level STORED semantics turn a single underfunded message into a permanent channel DoS — not a one-off failed transfer.","rootCause",1],["2024-01-Freedom","Freedom (FREE / FREEB) Exploit — Slippage-less Treasury Buy at an Attacker-Manipulated Price","incident","DeFiHackLabs","2024-01","BNB Chain",["vuln/oracle/spot-price","vuln/defi/slippage"],["oracle","defi"],"Price-oracle / AMM-spot manipulation → un-slippage-protected treasury swap (`expectedPaymentAmount` controlled by caller)",null,null,"~74.15 WBNB","`FREEB.buyToken` performs a market swap using the protocol's own funds, priced entirely off the instantaneous AMM spot reserve, with a caller-supplied minimum-output of effectively zero, and with no access control. Each of these alone is a smell; together they are a free piñata: 1. Spot price is the only oracle. `swapExactETHForTokens` prices BNB→FREE off the live pool reserves. Those reserves are trivially moved by a single preceding swap — exactly what a flash loan provides. 2. Caller chooses the slippage bound. [continues]","rootCause",1],["2024-01-Gamma","Gamma Strategies (UniProxy / Hypervisor) Exploit — Spot-Price Vault-Share Inflation","incident","DeFiHackLabs","2024-01","Arbitrum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Spot-price LP-share inflation (oracle/price manipulation of vault accounting)",null,null,"~$6.3M across Gamma's affected Hypervisors","Vault share price (mint and the deposit-ratio gate) is derived from the underlying pool's instantaneous `slot0()` price, which an attacker can move atomically within the exploit transaction using flash-loaned capital. Redemption (`withdraw`) is pro-rata against the honest position. The mint-vs-redeem asymmetry under a manipulable price lets the attacker extract more value than they deposit. Four design decisions compose into the bug: 1. Spot price in `deposit`. [continues]","rootCause",1],["30259-h-03-fillorder-executor-can-be-front-run-by-the-order-creato","INIT Capital — fillOrder executor front-run via limitPrice_e36","audit-finding","AuditVault","2024-01",null,["vuln/logic/order-management"],["logic"],"Slippage protection is one-sided (creator only); updateOrder mutates the price used at fill","high","INIT Capital — MarginTradingHook fillOrder",null,"`limitPrice_e36` is treated as immutable intent for the fill math, but `updateOrder` can rewrite it on a live Active order. The executor has no on-chain way to pin the price they observed off-chain.","rootCause",1],["30257-h-01-margintradinghookupdateorder-lacks-access-control-code4","INIT Capital — MarginTradingHook#updateOrder lacks access control","audit-finding","AuditVault","2024-01",null,["vuln/access-control/missing-modifier","vuln/logic/order-management"],["access-control","logic"],"Missing access control: a sibling function (`cancelOrder`) performs the exact check that `updateOrder` omits","high","INIT Capital — margin trading hook (stop-loss / take-profit orders)",null,"`updateOrder` validates \"does the caller own a position\" but never cross-checks that against \"does the ORDER belong to that position.\" Since `_orderId` is a global identifier unrelated to `_posId`, any caller who passes the first (trivially satisfiable) check can act on ANY order in the system.","rootCause",1],["30258-h-02-orders-creator-can-update-tokenout-to-arbitrary-token-c","INIT Capital — Order creator can update tokenOut to arbitrary token","audit-finding","AuditVault","2024-01",null,["vuln/logic/order-management"],["logic"],"Missing invariant re-check on update that exists at create time","high","INIT Capital — MarginTradingHook stop-loss / take-profit orders",null,"Create-time invariants on order shape are not re-enforced on update. `tokenOut` is trusted by fillOrder as the asset the executor must pay; mutating it after creation changes which approved allowance is burned.","rootCause",1],["50682-unlimited-minting-by-reusing-failed-hyperlane-messages-halbo","LMCV — failed Hyperlane message replay mints dPRIME repeatedly","audit-finding","AuditVault","2024-01",null,["vuln/bridge/replay","vuln/bridge/missing-validation","vuln/logic/state-update"],["bridge","logic"],null,null,null,null,"retry reads the retained amount then mints it in a try block. Its successful branch emits ReceivedTransferRemote but never clears failedMessages. The retry is therefore not a one-time state transition.","rootCause",1],["2024-01-LQDX_alert","LQDX / LiquidXv2Zap Exploit — Arbitrary-account deposit() Spends Anyone's Approval","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Missing `account == msg.sender` check → arbitrary spending of third-party ERC20 approvals (broken access control on a \"deposit-for\" function)",null,null,"Every WETH","A \"do X on behalf of `account`\" function that moves `account`'s funds must verify that the caller is authorized to act for `account` — either `msg.sender == account` or an explicit operator/allowance-to-act relationship. `LiquidXv2Zap.deposit()` conflates *two distinct meanings* of `account`: 1. Funding source — whose `transferFrom` allowance is consumed (line 409). 2. Beneficiary — who receives the LP and refunds (lines 426-432). [continues]","rootCause",1],["2024-01-MIC","MIC Token Exploit — LP-Fee Distributor Pays the Same LP Tokens Over and Over","incident","DeFiHackLabs","2024-01","BNB Chain",["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],"Reward/fee distribution without per-recipient claim accounting (re-claimable share via LP-token recycling)",null,null,"~$500K cumulative on-chain","The LP-fee distributor confuses \"holds LP right now\" with \"is entitled to an un-paid slice of this fee epoch.\" Those are different facts. Three design decisions compose into the bug: 1. Eligibility is computed from a *live, transferable* balance. `balanceOf(_addr)` of an ERC20-LP token is freely movable within the same transaction. The same economic LP position can present itself as N different \"holders\" simply by being transferred N times. 2. No per-recipient claim ledger. [continues]","rootCause",1],["30578-h-4-victims-fund-can-be-stolen-due-to-rounding-error-and-exc","Napier — a 1-wei share and a 5 stETH donation round a 10 WETH deposit down to 1 share","audit-finding","AuditVault","2024-01",null,["vuln/arithmetic/rounding","vuln/arithmetic/rounding-direction","vuln/logic/price-calculation"],["arithmetic","logic"],"Donation-inflated exchange rate, round down, and a zero-share revert that does not catch a 1-share mint","high","Napier — `BaseLSTAdapter.prefundedDeposit` / `previewDeposit`",null,"Two things compose. `totalAssets()` trusts `stETH.balanceOf`, so a transfer that is not a deposit raises the exchange rate. `previewDeposit` then rounds down. The only guard is `shares == 0`. A 10 ETH deposit against a 1-wei supply and a 5 ETH donation rounds to 1, not 0, so the guard does not revert and the victim is minted the same number of shares as the attacker.","rootCause",1],["30577-h-3-lp-tokens-always-valued-at-3-pts-sherlock-napier-git","Napier — base LP tokens are always valued at 3 PT","audit-finding","AuditVault","2024-01","Ethereum",["vuln/logic/price-calculation"],["logic"],null,null,"Napier",null,"At the initial Curve deposit, one LP token is one PT of each of the three coins, so one LP is three PT. Curve's `get_virtual_price` starts at `1e18` and grows as trading fees increase the basket relative to LP supply. Napier never reads that price. Every later swap still pretends the LP is worth exactly three PT. This reduction keeps the audited multiply and prices the PT-units at par (the zero-fee case of `calculateSwap` when the exchange rate is `1e18`). The logit curve is not the bug. [continues]","rootCause",1],["2024-01-NBLGAME","NBLGAME (NblNftStake) Exploit — ERC721 onERC721Received Reentrancy Double-Withdraw","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/reentrancy/cross-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"ERC-721 `safeTransferFrom` reentrancy (CEI violation) → withdraw the same deposit twice",null,null,"~$180K","`withdrawNft` violates the Checks-Effects-Interactions pattern. The harmful sequence is: 1. It caches `amount = stakes[_index].nblStakeAmount` into a local (step ①). 2. It makes an external call — `nft.safeTransferFrom` — which calls the attacker's `onERC721Received` *before* the payout and *before* the slot is cleared (step ②). 3. The slot's `nblStakeAmount` is only zeroed at the very end (step ④). So during the reentrant window the slot still reports the full deposit, and the inner `withdrawNft` pays it out. [continues]","rootCause",1],["2024-01-OrbitChain","Orbit Chain Bridge Exploit — Forged Validator Signatures Drain the ETH Vault","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/access-control/secret-exposure","vuln/bridge/missing-validation"],["access-control","bridge"],"Off-chain validator private-key compromise + on-chain signature-set verification with no on-chain spending limits / `ecrecover` zero-address guard",null,null,"~$81.5M total across 5 assets","The proximate cause of the December 2023 / January 2024 Orbit Bridge incident was an off-chain validator private-key compromise: 7 of the 10 multisig signer keys were stolen (Orbit's required quorum was 7), letting the attacker mint valid signatures over arbitrary withdrawal messages. The on-chain code performed exactly as written — the 7 `ecrecover` results in the trace are 7 *genuine* validator addresses: — all 7 hit `isOwner`, so `validatorCount = 7 ≥ required = 7`. [continues]","rootCause",1],["2024-01-PeapodsFinance","Peapods Finance Exploit — Free Index-Token Mint via flash() + bond() Self-Collateralization","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/reentrancy/cross-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Re-entrancy-style accounting flaw — flash-loaned asset re-used as bond collateral; flash post-check satisfied by the bond's own deposit",null,null,"~$1K (PoC extracts 0.1256 WETH + dust","The flash-loan invariant is the wrong one. `flash()` enforces *\"the asset I lent must come back\"* but it does not enforce *\"no new claim on that asset was minted while it was out of my custody.\"* `bond()` violates exactly that: it creates a brand-new claim (`ppPP`) the instant the borrowed PEAS is returned. Three design decisions compose into the bug: 1. The pod flash-lends its own underlying index asset. [continues]","rootCause",1],["53505-prst-5-user-can-lock-and-stake-arbitrary-amount-of-tokens-wi","Persistence: empty funds list locks 100 of Alice's LST","audit-finding","AuditVault","2024-01",null,["vuln/logic/missing-check"],["logic"],null,null,"Persistence",null,"Nothing requires that the funds loop actually matched the denom before the credit is stored.","rootCause",1],["2024-01-RadiantCapital","Radiant Capital Exploit — Empty-Market liquidityIndex Inflation + rayDiv Rounding Drain","incident","DeFiHackLabs","2024-01","Arbitrum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"Empty-market share-price (liquidityIndex) manipulation → `rayDiv`/`rayMul` rounding drain (a precision/\"known Aave-fork\" attack)",null,null,"~$4.5M total across markets","A reserve's share price (`liquidityIndex`) is allowed to be driven to an arbitrary, attacker-chosen magnitude on an empty market, after which the standard fixed-point rounding asymmetry between the mint path (`rayDiv`, half-up) and the withdraw path (`rayMul`, truncate) becomes a large, repeatable profit per operation. Concretely, three design facts compose: 1. The market can be emptied to 1 wei / ~1 scaled share. [continues]","rootCause",1],["29688-h-1-vaults-can-be-bricked-by-selfdestructing-implementations","Rio Vesting Escrow — vaults can be bricked by selfdestruct()ing implementations","audit-finding","AuditVault","2024-01",null,["vuln/access-control/forgeable-immutable-args","vuln/logic/delegatecall-target-confusion","vuln/loss-of-funds/frozen-funds"],["access-control","logic","loss-of-funds"],"Trusting \"immutable\" args that are actually just calldata a caller controls when calling the implementation directly (bypassing the proxy)","high","Rio Vesting Escrow — clone-with-immutable-args vesting/voting escrow",null,"The clone-with-immutable-args pattern is unsafe whenever one of the \"immutable\" arguments controls an address that gets `delegatecall`'d. The values are only immutable in the sense that a LEGITIMATE proxy always appends the same bytes — they are ordinary calldata, fully controlled by whoever calls the implementation directly.","rootCause",1],["2024-01-Shell_MEV_0xa898","SHELL MEV-Bot Drain — Permissionless Arbitrage Function with Attacker-Chosen Recipient","incident","DeFiHackLabs","2024-01","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control + attacker-controlled recipient on a permissionless function operating over pre-granted token approvals",null,null,"~$1,000","This is not an AMM-invariant or pricing bug. The PancakeSwap pair and the SHELL token behave exactly as designed. The loss comes entirely from the MEV bots' own interface design: 1. Permissionless privileged action. `0x5f90d725` moves *other people's* tokens (the victims') yet has no `onlyOwner` / operator check. Anyone can call it. 2. Attacker-controlled destination. The address that receives the SHELL the bot buys is passed in as a parameter. [continues]","rootCause",1],["2024-01-SocketGateway","Socket Gateway Exploit — Arbitrary call in WrappedTokenSwapperImpl Drains User Approvals","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-validation"],["dependency","access-control"],"Arbitrary external call with attacker-controlled target + calldata, executed against approvals held by a shared spender",null,null,"~$3.3M across all approved users","A `delegatecall` router is only as safe as its least-safe route, and route 406 introduced an arbitrary call primitive in a context that holds (via delegatecall) the gateway's identity and therefore the gateway's standing approvals. Concretely, four design decisions compose into a critical bug: 1. Unrestricted call target. `fromToken` is used directly as the `.call` recipient. The attacker points it at USDC (any approved ERC20 works). 2. Unrestricted calldata. [continues]","rootCause",1],["58244-c-01-gateway-creator-can-steal-all-tokens-from-the-gatewayre","Subsquid — Gateway creator can steal all tokens from the GatewayRegistry","audit-finding","AuditVault","2024-01",null,[],["untagged"],"Stale stake array / accounting reset on re-register","high","Subsquid Network — `GatewayRegistry`",null,"Two stores track the same economic reality (`stakes[]` amounts vs `totalUnstaked`). Unregister only clears one; re-register resets the other to zero, so `_unstakeable` overstates unlockable funds.","rootCause",1],["31545-c-01-gateway-creator-can-steal-all-tokens-from-the-gatewayre","Subsquid GatewayRegistry — re-register resets totalUnstaked and the same stake pays twice","audit-finding","AuditVault","2024-01",null,["vuln/logic/state-update","vuln/logic/missing-check","vuln/logic/missing-validation"],["logic"],null,null,"Subsquid",null,"The stake rows and the withdrawn-amount counter live in different storage. `unregister` clears only the gateway struct. The next `register` of the same `peerId` builds a new struct with `totalUnstaked: 0` and does not touch `stakes[peerId]`. `_unstakeable` then returns the full matured amount, and `unstake` transfers it again. The second transfer is real SQD: it comes out of whatever other stakes are still sitting in the contract.","rootCause",1],["58246-h-02-computationunitsavailable-can-overestimate-number-of-av","Subsquid reports 50 computation units for a stake that only bought 10, and a 40-unit job releases 40 reward","audit-finding","AuditVault","2024-01","Ethereum",["vuln/logic/incorrect-calculation","vuln/logic/reward-calculation"],["logic"],"Epoch divided by a shorter-than-epoch lock",null,null,"40 reward tokens released for a job the real 10 units cannot cover","`computationUnits` is the total bought for the whole lock. Dividing the epoch length by a lock shorter than one epoch multiplies that total instead of spreading it. Nothing in `stake` requires `duration >= epochLength`.","rootCause",1],["31546-h-01-missing-check-on-toblock-allows-distributors-to-change","Subsquid rewards — toBlock 0 lets a distributor pay the same blocks twice","audit-finding","AuditVault","2024-01",null,["vuln/logic/wrong-condition","vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],null,null,"Subsquid DistributedRewardsDistribution",null,"The sequential rule treats a zero cursor as \"no distribution yet\" and also lets a distribution write that same zero back. `toBlock < block.number` is true for 0 whenever the chain is past genesis. Nothing rejects a span that runs backwards. A new commitment hash, even one that pays the same worker again, is a fresh approval.","rootCause",1],["31549-h-04-lack-of-access-control-on-tsqds-registertokenonl2-pasho","Subsquid tSQD — anyone pins the L2 token, and the bridge mints it","audit-finding","AuditVault","2024-01",null,["vuln/access-control/missing-auth","vuln/bridge/missing-validation"],["access-control","bridge"],null,null,"Subsquid",null,"The L1 token is the only account the gateway will accept a registration from, because the gateway calls back into `isArbitrumEnabled`. Nothing checks that the account which called `registerTokenOnL2` is the owner. The first successful call wins: `l1ToL2Token` rejects a different address afterwards.","rootCause",1],["31548-h-03-workers-could-withdraw-without-deregister-and-waiting-f","Subsquid WorkerRegistration — withdraw skips the lock when deregisteredAt is 0","audit-finding","AuditVault","2024-01",null,["vuln/logic/missing-check","vuln/dos/lockup","vuln/input-validation/missing"],["logic","dos","input-validation"],null,null,"Subsquid",null,"The lock is measured from `deregisteredAt`. Zero means \"never deregistered\", but the comparison treats zero as a timestamp in the distant past. The bond, which is supposed to stay through a lock after deregistration, is withdrawable for the whole window before the worker becomes active. Because the bond returns immediately, the caller can repeat the register/withdraw pair and grow `activeWorkerIds` without leaving capital in the contract. [continues]","rootCause",1],["37230-function-rm-updatereward-in-vaulteth-v2-has-no-access-contro","TRZN — RM_UpdateReward has no access control","audit-finding","AuditVault","2024-01",null,["vuln/access-control/missing-modifier","vuln/access-control/missing-auth"],["access-control"],"Missing risk-manager authorization","high","TRZN `VaultETH_V2.RM_UpdateReward`",null,"The report says any user can call a function that is supposed to be limited to risk managers. The reward value is what `claim` pays out of the vault.","rootCause",1],["37229-reentrancy-attack-is-possible-on-selleth-function-zokyo-none","TRZN — SellETH pays the risk manager before shares move","audit-finding","AuditVault","2024-01",null,["vuln/reentrancy/single-function","vuln/access-control/missing-modifier"],["reentrancy","access-control"],"Single-function reentrancy. The inherited guard is not applied","high","TRZN `VaultETH.SellETH`",null,"The report says `SellETH` sends Ether to risk managers and that the contract's reentrancy guard is not applied to this function. The external call happens before the share write.","rootCause",1],["48378-improper-settlement-calculation-ottersec-none-vertex-protoco","Vertex PerpEngine — settlement pays the whole AMM instead of the LP share","audit-finding","AuditVault","2024-01",null,["vuln/logic/price-calculation","vuln/logic/wrong-condition"],["logic"],null,null,"Vertex PerpEngine",null,"The settlement formula treats pool inventory as if the settler owned all of it. Every LP who settles is credited with the same full pool value, so the quote vault can be drained down to the last settler's full-pool claim.","rootCause",1],["2024-01-WiseLending02","Wise Lending — Lending-Share Price Inflation via Deposit/Withdraw Rounding Asymmetry","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/arithmetic/rounding-direction","vuln/arithmetic/rounding"],["arithmetic"],"Share-accounting rounding asymmetry → share-price inflation → broken collateral valuation",null,null,"~$464,000","Three design facts compose into the exploit: 1. Asymmetric rounding. Deposit floors shares, withdraw-by-amount ceils shares. On a thin pool (`totalDepositShares` near 1) this asymmetry is not a sub-wei nuisance — it is the dominant term. The attacker can mint 1 share for `2·pseudo−1` tokens, then redeem 1 share for 1 token, keeping the difference in `pseudoTotalPool`. 2. The integrity guard is one-sided. [continues]","rootCause",1],["2024-01-WiseLending03","Wise Lending Exploit — Lending-Share Price Inflation via Rounding Asymmetry + Bad-Debt Donation","incident","DeFiHackLabs","2024-01","Ethereum",["vuln/arithmetic/rounding-direction","vuln/arithmetic/rounding"],["arithmetic"],"Inflation/donation attack on a lending share-pool, enabled by deposit/withdraw rounding asymmetry + uncaught bad-debt donation",null,null,"~$464K","A share-based pool is only safe if the share↔underlying conversion is *consistent*: an amount you can deposit for `n` shares must redeem for ≤ that amount, and the share supply must never collapse to a tiny number while the underlying stays large. Wise Lending breaks both invariants: 1. Rounding favors the protocol in *both* directions, which favors a sole shareholder. Deposits floor (you get fewer shares) and withdrawals ceil (you burn more shares). [continues]","rootCause",1],["2024-01-XSIJ","XSIJ (GGGTOKEN) Exploit — Repeatable, Un-reset autoBurnLiquidityPairTokens() Pool Drain","incident","DeFiHackLabs","2024-01","BNB Chain",["vuln/logic/state-update","vuln/logic/missing-check"],["logic"],"Broken AMM invariant — repeatable, never-reset reserve burn callable from a permissionless transfer path",null,null,"~51,722.57 USDT","A Uniswap-V2/PancakeSwap pair prices assets solely from its reserves and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` lets a pair trust its current token balance as the new reserve. XSIJ abuses that trust: `autoBurnLiquidityPairTokens()` destroys XSIJ held by the pair and calls `pair.sync()`, with no USDT removed. Worse, because `removePoolAmount` is never reset, the destruction repeats on every sell — and a \"sell\" is just a 1-wei transfer to the pair. [continues]","rootCause",1],["40820-incorrect-reward-distribution-when-t-roundedtimestamp-in-fee","ZeroLend — Incorrect reward distribution when t == roundedTimestamp","audit-finding","AuditVault","2024-01",null,[],["untagged"],"Epoch-boundary off-by-one in week supply checkpoint","high","ZeroLend — `FeeDistributor._checkpointTotalSupply`",null,"1. At an exact epoch boundary, `t == roundedTimestamp`. 2. The loop uses `>` so it still writes `veSupply[t]` from the current locker point. 3. Bob locks more after the checkpoint — real supply rises, week supply stays stale. 4. `claim = totalReward * balance / veSupply` overpays Bob 4x the honest share.","tldr",1],["40821-missing-accesscontrol-in-afterlockupdate-cantina-none-zerole","ZeroLend — Missing access control in afterLockUpdate","audit-finding","AuditVault","2024-01",null,[],["untagged"],"Missing access control on balance registration","high","ZeroLend — `ZLRewardsController.afterLockUpdate`",null,"1. `afterLockUpdate` is intended to be called only by `ZeroLocker` after lock changes. 2. It is `external` with no caller restriction. 3. Anyone holding pool tokens can self-register a reward weight. 4. Emissions accrue and are claimed without ever locking.","tldr",1],["40817-zlrewardscontroller-contract-is-incompatible-with-zerolend-s","ZeroLend — the reward controller pays 0 while 1,000 ZERO sits in it","audit-finding","AuditVault","2024-01",null,["vuln/logic/reward-calculation","vuln/dos/frozen-funds"],["logic","dos"],null,null,"ZeroLend",null,"Radiant's reward-bearing tokens call `handleActionAfter` after the balances have changed. ZeroLend's tokens still call Aave's `handleAction(user, totalSupply, userBalance)`. The controller was copied from Radiant without that function, so every hooked balance change reverts and no user is ever accrued.","rootCause",1],["40818-a-malicious-user-can-inflate-his-voting-power-via-merge-cant","ZeroLend — ZeroLocker.merge() lets a staker inflate veNFT voting power ~9×","audit-finding","AuditVault","2024-01",null,["vuln/governance/proposal-manipulation","vuln/logic/missing-check","vuln/logic/timestamp-dependence"],["governance","logic"],"`merge()` moves a lock's whole stake into the destination NFT but never arms `balanceOfNFT`'s same-block flash-vote guard (`ownershipChange[_to] = block.number`), so the inflated NFT can be voted with in the same block","high","ZeroLend — veNFT governance (Solidly/Curve-style `ZeroLocker` voting-escrow), deploys on Linea / zkSync Era",null,"`merge()` is a stake-moving operation that was not treated as an ownership/weight change for the purpose of the same-block guard. The guard's invariant — *\"an NFT whose weight moved this block cannot vote this block\"* — is enforced only in `_transferFrom`, not in `merge`. Because `merge` is attacker-callable on the attacker's own NFTs, the guard is trivially bypassed by merging instead of transferring.","rootCause",1],["40819-dos-in-distribute-cantina-none-zerolend-pdf","ZeroLend distribute — a same-day checkpoint sticks 1000e18 of rewards","audit-finding","AuditVault","2024-01","Ethereum",["vuln/dos/frozen-funds","vuln/dos/griefing"],["dos"],null,null,"ZeroLend",null,"`TOKEN_CHECKPOINT_DEADLINE` is one day. `distribute` does not tolerate a checkpoint that already happened inside that window. The window is shared with `claim`, which also checkpoints, so a normal claim and a deliberate front-run have the same effect. One successful checkpoint sets `lastTokenTime` to the current timestamp. The next call in that block reverts.","rootCause",1],["27687-rebasing-rewards-will-get-stuck-on-the-contract-mixbytes-non","A 100 rebase makes removal underflow, and 1,100 stays in the pool","audit-finding","AuditVault","2023-12","Ethereum",["vuln/dos/frozen-funds","vuln/logic/state-update"],["dos","logic"],"`stored_balances` is not increased when the coin rebases, so subtracting the live withdrawal underflows",null,null,"1,100 of the rebasing coin stays in the pool","Two balances are supposed to track the same coins. Only one of them sees the rebase. The subtraction assumes the stored figure is at least the live figure. After a positive rebase it is not.","rootCause",1],["27689-read-only-reentrancy-in-meta-pool-with-an-old-base-pool-mixb","An unlocked virtual price reads 10 during removal and the metapool pays out 1,000","audit-finding","AuditVault","2023-12","Ethereum",["vuln/reentrancy/read-only","vuln/oracle/price-manipulation"],["reentrancy","oracle"],"`get_virtual_price` does not check the reentrancy lock, so D/supply is inflated while `remove_liquidity` is still in its callback",null,null,"The metapool's 1,000 coin reserve is paid out at a virtual price of 10","The view is part of the price the metapool trusts, and it is not covered by the lock that the state-changing removal already holds. Callers can reenter the price before the removal has finished.","rootCause",1],["2023-12-BCT","BCT Token Exploit — Self-Funding Referral-Reward Drain of the Promotion Pool","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/reward-calculation"],["access-control","logic"],"Tokenomics design flaw — unprotected, over-generous referral reward paid from a shared pool, drainable by a self-referral cycle",null,null,"~10.15 BNB profit to attacker","The reward arithmetic is a guaranteed-profit machine for anyone who can be both sides of the referral graph: 1. Payout exceeds cost. A pool trade costs the trader 15% in fees but pays the upline 40% in BCT. Net of fees, a single actor that owns the entire 5-level upline gains ~25% of the trade amount in fresh BCT every round, drawn from `payTokenAddress`. 2. Reward funded from a shared pool, not the trader. [continues]","rootCause",1],["31275-failure-to-add-modified-facets-and-facets-with-modified-depe","Beanstalk BIP-39 upgrade omits a modified facet, inflating grown Stalk 1,000,000x","audit-finding","AuditVault","2023-12",null,["vuln/dependency/upgradeable-contract","vuln/logic/upgrade-safety"],["dependency","logic"],null,null,null,null,"Beanstalk is an EIP-2535 Diamond. At upgrade time, modified facets are re-cut by listing them in the relevant function of `protocol/scripts/bips.js`. BIP-39 (Seed Gauge) changed the stem-tip scale convention inside `LibTokenSilo`, but the `bipSeedGauge` upgrade script fails to re-cut `SiloFacet`, `FieldFacet`, `BDVFacet`, `ConvertFacet`, `WhitelistFacet`, and every facet whose library dependencies changed. [continues]","rootCause",1],["31276-the-previous-milestone-stem-should-be-scaled-for-use-with-th","Beanstalk Silo — legacy milestone stem decimal mismatch","audit-finding","AuditVault","2023-12",null,["vuln/arithmetic/decimal-mismatch","vuln/logic/state-update"],["arithmetic","logic"],null,null,null,null,"The upgrade moves gauge points to untruncated precision but leaves historic milestone stems truncated. Stem tip adds those incompatible units and depositors lose accrued grown stalk.","tldr",1],["2023-12-BEARNDAO","BEARN/Bvaults convertDustToEarned() Exploit — Permissionless, Slippage-Free Dump of a Strategy's \"Dust\" Balance","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/slippage"],["access-control","defi"],"Permissionless slippage-free swap → AMM price manipulation / sandwich of a protocol-internal swap",null,null,"~$769K","A constant-product AMM prices a token purely from its current reserves and offers no protection to a swapper who does not set `amountOutMin`. `convertDustToEarned()` performs a market swap of a large, known balance (768K BUSD) at the *current* (manipulable) price with `amountOutMin = 0` and is callable by anyone. That is the textbook setup for a sandwich / price-manipulation attack on a protocol-owned swap: Step A — the attacker moves the AMM price away from fair value with a flash loan. [continues]","rootCause",1],["2023-12-Bob","BOBO_BOY (BOB) Exploit — Broken _transfer Fee Branches Desync Pool Reserves","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/logic/state-update","vuln/defi/fee-manipulation"],["logic","defi"],"Broken token transfer accounting → AMM reserve/balance desync (custom fee logic)",null,null,"~3.008 BNB profit drained from the BOB/WBNB PancakeSwap pair","A Uniswap-V2/PancakeSwap pair trusts that a token's `balanceOf` only changes through transfers it can account for, and it re-prices via `reserve` snapshots updated on `swap`/`mint`/`burn`/`sync`. The constant-product check is the pair's only defence. `BOBO_BOY._transfer` quietly violates token conservation: For a transfer where both endpoints are \"market\" addresses, the credit to `to` runs twice and the debit to `from` is recomputed from a stale snapshot. [continues]","rootCause",1],["2023-12-bZx","bZx / Fulcrum iToken Exploit — Empty-Pool Share-Price Inflation (ERC4626-style Donation Attack)","incident","DeFiHackLabs","2023-12","Ethereum",["vuln/arithmetic/rounding","vuln/logic/state-update"],["arithmetic","logic"],"Empty-vault share-price inflation via direct asset donation (ERC4626-style first-depositor / rounding attack)",null,null,"~$208K","The fundamental flaw is the unbounded, donation-manipulable iToken share price combined with using that same price to value loan collateral: 1. No virtual-share / dead-share protection on the vault. `_tokenPrice = underlying * 1e18 / totalSupply` can be inflated arbitrarily by transferring the underlying directly into the contract — `totalSupply` does not move. This is the textbook ERC4626 first-depositor / donation attack. [continues]","rootCause",1],["2023-12-CCV","CCV Exploit — Permissionless Treasury-Proxy Forced Liquidation Sandwich","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/sandwich-attack"],["access-control","defi"],"Missing access control on a value-moving function (permissionless forced liquidation) + AMM sandwich",null,null,"~3,207.63 BUSD drained from two protocol-owned treasury proxies via a sandwiched forced se","The treasury proxies expose a value-moving operation (market-sell the whole balance) with no caller restriction and no slippage bound. That single missing access-control check turns a treasury management routine into a *gift to the public*: anyone can force the protocol's own funds through the AMM at the worst possible price and arrange to be on the other side of the trade. Two independent weaknesses compound: 1. Permissionless forced liquidation. [continues]","rootCause",1],["2023-12-ChannelsFinance","Channels Finance Exploit — Compound-Fork Exchange-Rate Inflation via Donated Underlying","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/oracle/spot-price","vuln/arithmetic/rounding"],["oracle","arithmetic"],"Compound-fork cToken exchange-rate inflation via direct underlying donation (no virtual shares / no minimum first-mint)",null,null,"~$320,000 across 7 markets","The Compound-v2 exchange-rate formula treats all underlying physically held by the cToken as backing for the outstanding cToken supply. It assumes underlying only enters through `mint` (which atomically mints matching cTokens). It has no defense against a direct token transfer (\"donation\") that adds cash without adding supply. Channels inherited this verbatim. The attack chains three consequences of that single flaw: 1. Donation inflates the rate. [continues]","rootCause",1],["2023-12-Channels","Channels Finance Exploit — cToken Exchange-Rate Inflation via Direct LP Donation + LP-Oracle Manipulation","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/oracle/spot-price","vuln/arithmetic/rounding"],["oracle","arithmetic"],"Lending-market collateral mispricing — cToken exchange-rate inflation by direct underlying donation into a near-empty market, compounded by a manipulable LP-token spot-reserve oracle",null,null,"~$4.4K","Three independent weaknesses compose into a clean theft of the BUSD and USDC market cash: 1. Donation-inflatable exchange rate on a near-empty market. Compound's exchange-rate formula `cash / totalSupply` is only safe when `totalSupply` is large relative to plausible donations. The `cCLP_BTCB_BUSD` market had `totalSupply = 2 wei`. A direct `ERC20.transfer` of 174.49 LP into the cToken inflated `exchangeRate` to `8.725e37`, multiplying the value of the attacker's *pre-existing 2-wei position* by ~9e37. [continues]","rootCause",1],["30091-h-04-malicious-delegatees-can-block-delegators-from-redelega","Collective (Revolution Protocol) — malicious delegatees can permanently block delegators from redelegating or transferring their NFTs","audit-finding","AuditVault","2023-12",null,["vuln/logic/wrong-condition","vuln/governance/vote-delegation-loop","vuln/dos/permanent-freeze"],["logic","governance","dos"],"Logic error: a \"convenience\" behavior change breaks an implicit invariant the surrounding arithmetic depends on","high","Collective / Revolution Protocol — `VotesUpgradeable` + `ERC721CheckpointableUpgradeable` (vote delegation)",null,"The \"convenience\" change to `delegates()` breaks an invariant the surrounding arithmetic implicitly depends on: once an account's stored delegatee is `address(0)`, calling `delegate(address(0))` again must be a true no-op. In OpenZeppelin's original code this holds because `delegates()` keeps returning `address(0)`, and `_moveDelegateVotes` explicitly skips the `from` side when it is `address(0)`. [continues]","rootCause",1],["30090-h-03-verbstokentokenuri-is-vulnerable-to-json-injection-atta","Collective (Revolution Protocol) — VerbsToken.tokenURI() JSON injection via unsanitized CultureIndex.createPiece() metadata","audit-finding","AuditVault","2023-12",null,["vuln/injection/json-injection","vuln/logic/wrong-condition","vuln/nft/metadata-mutability"],["injection","logic","nft"],"JSON injection via unsanitized user input concatenated into a JSON string","high","Collective / Revolution Protocol — `CultureIndex` (art-piece submission/voting) + `VerbsToken`/`Descriptor` (NFT minting/metadata)",null,"Two contracts each assume the other side handles validation: `CultureIndex.createPiece()` never validates `metadata.image` / `metadata.animationUrl` against JSON-special characters. `Descriptor.constructTokenURI()` never escapes its string inputs before concatenating them into a JSON literal. [continues]","rootCause",1],["53724-bids-can-be-blocked-by-depositing-tokens-to-liquidator-sigma","Derive: wrapped deposit blocks a 5000 bid","audit-finding","AuditVault","2023-12",null,["vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Derive",null,"Options transfers were gated on recipient approval. Wrapped ERC20 deposits were not, so anyone can plant a non-cash balance on a bidder.","rootCause",1],["2023-12-DominoTT","DominoTT Exploit — thirdweb Multicall + ERC2771 _msgSender() Spoofing Burns the Pool's Tokens","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/access-control/broken-logic","vuln/access-control/missing-auth"],["access-control"],"Access-control bypass via ERC-2771 meta-transaction `_msgSender()` spoofing through `multicall` delegatecall → un-compensated burn of an AMM pair's reserve → broken `x·y=k` invariant",null,null,"~4.84 WBNB net profit to the attacker","This is the well-known OpenZeppelin `Multicall` + `ERC2771Context` interaction bug (disclosed by OpenZeppelin in late 2022 / advisory `GHSA-g4vp-m682-qqmp`), shipped inside thirdweb's pre-fix `TokenERC20`. Three independently reasonable features become an authorization bypass when composed: 1. `burn` authorizes by `_msgSender()`, not `msg.sender`. Under ERC-2771 the \"real caller\" is whatever address is glued onto the end of calldata — *trusted because only a trusted forwarder is supposed to be able to set it.* [continues]","rootCause",1],["2023-12-ElephantStatus","Elephant Money (ElephantStatus) Exploit — Spot-Price Oracle Manipulation of sweep()","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/oracle/spot-price","vuln/access-control/missing-auth"],["oracle","access-control"],"Spot-price (AMM-reserve) oracle manipulation + permissionless buyback trigger",null,null,"~$114K","The protocol uses an AMM spot price as an oracle to decide both *how much* of its Treasury to spend and *at what implied rate* to buy ELEPHANT, and exposes that decision through a permissionless, zero-slippage entry point. A PancakeSwap pair prices assets purely from `getReserves()`, and those reserves can be moved arbitrarily within one transaction by a large swap. So: 1. Spot-price oracle. [continues]","rootCause",1],["2023-12-UnverifiedContr_0x431abb","FCN-TRUST Staking Exploit — Unverified Staking Contract Pays Unbounded FCN Rewards Drained Through a Pre-Inflated FCN/BUSDT Pool","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/logic/reward-calculation","vuln/oracle/spot-price"],["logic","oracle"],"Unbounded / unbacked reward minting in an unaudited staking contract, monetised via a flash-loan against a pre-inflated AMM pool",null,null,"~$500K","This is a double failure that composes into a critical loss: 1. An unverified, unaudited staking contract pays out FCN rewards that are not backed by deposits. The claim path (`0xd9574d4c`) hands the caller ≈226 FCN for a near-free \"stake\" (a cheap NFT + a referral binding + dust burns). There is no accounting that ties the reward to real value the staker locked, and no global cap relating rewards to the contract's actual reserves. [continues]","rootCause",1],["2023-12-FloorProtocol","Floor Protocol Exploit — Permissionless extMulticall() Drains User-Approved NFTs","incident","DeFiHackLabs","2023-12","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control on an arbitrary-external-call multicall (confused-deputy / approval-abuse)",null,null,"~$1.6M total across all victims","The single mistake is a privileged-by-design function that is not privileged-by-code. Three facts compose into a critical loss: 1. `extMulticall` lets anyone make the periphery call any contract with any calldata. The function forwards to `multicall2`, which does `calli.target.call(calli.callData)` for caller-supplied `target` and `callData`. There is no `onlyOwner`, no role check, no allow-list of targets, and no restriction on the selectors that may be invoked. [continues]","rootCause",1],["2023-12-GoodDollar","GoodDollar Exploit — Unvalidated collectInterest Staking-Contract Callback → Reentrant Bonding-Curve Drain","incident","DeFiHackLabs","2023-12","Ethereum",["vuln/input-validation/missing","vuln/reentrancy/cross-contract"],["input-validation","reentrancy"],"Missing input validation / access control → arbitrary external-call (reentrancy) → Bancor bonding-curve manipulation",null,null,"~$2M — drained from the GoodDollar reserve as 625,140.23 DAI + 10,213,394,832.90 G$","`collectInterest` was written under the assumption that the `_stakingContracts` it iterates are trusted, pre-registered GoodDollar staking contracts whose `collectUBIInterest` only transfers genuine accrued interest into the reserve. That assumption is never enforced: 1. No caller authorization. `collectInterest` is `external` with no role gate — by design it is a permissionless keeper entry point. 2. No element validation. The function trusts the caller-supplied `_stakingContracts[]` verbatim. [continues]","rootCause",1],["2023-12-GoodCompound","GoodDollar GoodCompoundStaking Exploit — Slippage-Free COMP Reward Swap into a Pre-Manipulated Pool","incident","DeFiHackLabs","2023-12","Ethereum",["vuln/defi/slippage","vuln/oracle/spot-price"],["defi","oracle"],"Price-oracle / slippage manipulation — protocol-side swap with `minOut = 0` into a reserve-skewed AMM pool",null,null,"~$13K — 250.63 COMP extracted","The protocol performs a value-bearing swap (COMP rewards → DAI) at the AMM spot price with no trustworthy minimum-output bound. Three design decisions compose into the loss: 1. `minOut = 0` on the COMP→WETH leg. The swap accepts *any* amount of WETH back, so a price-skewed pool lets the protocol sell its COMP for essentially nothing. This is the core flaw — slippage protection is the one thing that would have made the attack revert. 2. The slippage cap is a function of the live reserve, not an oracle. [continues]","rootCause",1],["2023-12-HNet","HNet Exploit — ERC-2771 + Multicall _msgSender() Spoofing Burns the Pool's Tokens","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/access-control/broken-logic","vuln/access-control/missing-auth"],["access-control"],"ERC-2771 meta-tx sender spoofing via `multicall` delegatecall (trusted-forwarder context confusion) → unauthorized burn of an arbitrary account's tokens",null,null,"~2.4 WBNB drained from the HNet/WBNB pool in the live attack","The defining property of a *trusted* forwarder is: \"the trailing 20 bytes of `msg.data` are an authenticated assertion of who the original sender is.\" `ERC2771Context` builds its entire security model on that assertion. `Multicall` silently breaks the assertion. When `multicall` does `address(this).delegatecall(data[i])`, two things hold simultaneously: [continues]","rootCause",1],["2023-12-HYPR","HYPR Exploit — Uninitialized L1StandardBridge Proxy → Cross-Domain Messenger Spoof → Bridge Drain","incident","DeFiHackLabs","2023-12","Ethereum",["vuln/access-control/uninitialized-proxy","vuln/bridge/message-spoofing"],["access-control","bridge"],"Uninitialized proxy → attacker-controlled cross-domain messenger → spoofed `onlyOtherBridge` authorization",null,null,"~$200,000","Three independent facts compose into a critical bug: 1. The proxy was deployed but never initialized. The standard, correct deployment of an OP-Stack bridge calls `proxy.upgradeToAndCall(impl, abi.encodeCall(initialize, (realMessenger)))` so that the proxy's `_initialized` slot becomes `2` and `messenger` is set to the genuine `CrossDomainMessenger`. [continues]","rootCause",1],["29589-h-01-liquidations-can-be-prevented-by-frontrunning-and-liqui","INIT Capital — liquidations can be prevented by frontrunning and liquidating 1 debt","audit-finding","AuditVault","2023-12",null,["vuln/logic/liquidation-logic","vuln/dos/liquidation-evasion"],["logic","dos"],"Wrong invariant assumption: \"debtAmtCurrent is always >= lastDebtAmt\" — broken by round-up repayment math after a partial liquidation","high","INIT Capital — lending/leverage money market",null,"`LendingPool.repay()` rounds the repaid token amount up (`_shares.mulDiv(totalDebt, totalDebtShares, Rounding.Up)`). Because `updatePosDebtShares` reads the pool's ratio before that round-up shrinks `totalDebt`/`totalDebtShares`, and the *next* call reads the ratio after it shrunk, the SAME position's remaining shares can be valued 1 wei lower on the second read than the snapshot taken on the first. [continues]","rootCause",1],["29591-h-03-handlerepay-of-moneymarkethook-does-not-consider-the-a","INIT Capital — MoneyMarketHook#_handleRepay can leave user tokens stuck","audit-finding","AuditVault","2023-12",null,["vuln/logic/accounting"],["logic"],"Missing min(shares, positionDebtShares) before transferFrom into the hook","high","INIT Capital — MoneyMarketHook repay path",null,"The hook is a temporary escrow for the multicall repay path, but it sizes the escrow from user intent rather than on-chain residual debt. Any reduction of debt between the user's intent and InitCore's execution (liquidation, partial repay race) leaves a non-zero residual balance inside a contract with no public withdraw.","rootCause",1],["29590-h-02-wlp-tokens-could-be-stolen-code4rena-init-capital-init","INIT Capital — wLp tokens could be stolen","audit-finding","AuditVault","2023-12",null,["vuln/access-control/insufficient-guard","vuln/logic/liquidation-logic","vuln/loss-of-funds/direct-drain"],["access-control","logic","loss-of-funds"],"Insufficient guard: an authorization check gated behind an unrelated business condition, bypassable by a 1-wei-short partial withdrawal","high","INIT Capital — lending/leverage money market",null,"The function conflates two unrelated things: \"is this the LAST withdrawal that empties the wLp\" and \"does `_posId` actually own this wLp.\" The ownership check (`posCollInfo.ids[_wLp].remove(_tokenId)`, which reverts with `NOT_CONTAIN` if `_posId` never held `_tokenId`) is placed inside the bookkeeping branch for the FIRST condition, so it silently never runs for the SECOND. [continues]","rootCause",1],["2023-12-KEST","KEST (KEKESANTA) Exploit — Fee-on-Transfer Reserve De-Sync + skim() Pool Drain","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/logic/state-update","vuln/defi/slippage"],["logic","defi"],"Fee-on-transfer token de-syncing AMM reserves from real balances, weaponized via `skim()` + direct `swap()`",null,null,"~$2.3K","A constant-product pair is only safe if its cached reserves equal the tokens it actually holds after every operation. PancakeSwap maintains this by re-syncing `reserve = balanceOf(token, pair)` inside `mint`/`burn`/`swap`/`skim`/`sync`, and it enforces `x·y ≥ k` *using those cached reserves*. KEST breaks the invariant in two compounding ways: 1. Sells silently shrink what the pair receives. [continues]","rootCause",1],["2023-12-MAMO","MAMO (Matmo) Exploit — Permissionless Mint via Whitelisted BuyToken → giveawayOne","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/broken-logic"],["access-control"],"Broken access control on mint — a whitelisted \"buy\" trampoline that forwards to an unauthenticated `giveawayOne` mint",null,null,"~$3.3K","Three composable mistakes turn a \"treasury giveaway\" feature into a public mint: 1. Mint authority is delegated to a contract that re-exposes it permissionlessly. `giveawayOne` trusts any address with `_liquidity == 1`. The owner whitelisted a helper contract whose `BuyToken` function has no access control and no economic check — it mints a fixed 95M MAMO to `msg.sender` regardless of how much value (`msg.value`) is actually sent. The 19 BNB the attacker forwarded was not validated against the minted amount at all. [continues]","rootCause",1],["2023-12-NFTTrader","NFTTrader Exploit — Reentrancy via editCounterPart() During Swap Settlement","incident","DeFiHackLabs","2023-12","Ethereum",["vuln/reentrancy/cross-function"],["reentrancy"],"Reentrancy — state mutation (`editCounterPart`) during an in-flight `safeTransferFrom` callback, combined with re-reading mutable swap state mid-settlement",null,null,"~$3M total across victims","The settlement of a swap is not atomic with respect to the swap's own parameters. Between moving `nftsOne` out and moving `nftsTwo` in, control flow leaves the contract (via the ERC721 `safeTransferFrom` → `onERC721Received` hook on `nftsOne`), and during that window the swap's counterpart address can be mutated by the creator. Four design decisions compose into a critical bug: 1. No reentrancy guard on `closeSwapIntent`. [continues]","rootCause",1],["2023-12-PHIL","PHIL (PhilC) Exploit — Public, Unrestricted simpleToken() Mint Drains the AMM Pool","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/access-control/missing-auth"],["access-control"],"Missing access control on a public minting function (free, unlimited token issuance)",null,null,"~2.0987 WBNB","The single root cause is a public minting function with no access control and no supply guard: `simpleToken()` is callable by anyone and mints the token's entire 120M initial supply to the caller. It was almost certainly intended as a one-time deployment/initialization helper (or a leftover test/demo function), but it was shipped public and un-gated. Because the minted amount (120M) is ~67× the pool's PHIL reserve (1.8M), the attacker doesn't even need fancy positioning, flash loans, or invariant tricks. [continues]","rootCause",1],["2023-12-PineProtocol","Pine Protocol Exploit — Shared-Vault flashLoan Invariant Bypassed by Cross-Pool repay()","incident","DeFiHackLabs","2023-12","Ethereum",["vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["logic"],"Broken accounting invariant — a flash-loan repayment check that can be satisfied by a side-effect of an unrelated function on a sibling contract that shares the same fund source",null,null,"~$90K total","The two pools are not independent — they share a single `_fundSource` vault, but each pool's `flashLoan` measures its solvency invariant against that shared balance rather than against funds the borrower is genuinely returning. The repayment invariant is satisfiable by *any* inflow to the vault during the callback, and `repay()` on the sibling pool produces exactly such an inflow as a side effect of releasing collateral. Concretely, the bug composes from these design decisions: 1. Shared vault, per-pool invariant. [continues]","rootCause",1],["30089-h-02-artpiecetotalvotessupply-and-artpiecequorumvotes-are-in","Revolution / Collective — art-piece quorum inflated by auctioned ERC721 voting power","audit-finding","AuditVault","2023-12",null,["vuln/governance/quorum-manipulation","vuln/arithmetic/precision-loss"],["governance","arithmetic"],"Quorum supply drift / inaccessible voting power counted","high","Revolution Protocol / Collective",null,"Vote-supply snapshot ignores that the live auction NFT’s voting power is inaccessible: the auction house does not vote, and the eventual buyer is checkpoint-gated against pieces created before they held the token.","rootCause",1],["29738-a-user-can-steal-an-already-transfered-and-bridged-resdl-loc","Stake.Link reSDL bridge — stale approval steals returned lock","audit-finding","AuditVault","2023-12",null,["vuln/access-control/missing-check","vuln/bridge/missing-validation"],["access-control","bridge"],null,null,null,null,"`handleOutgoingRESDL` removes the lock owner but does not delete its transfer approval. When the same ID returns to a victim, the stale approved account transfers the lock away.","tldr",1],["29745-not-update-rewards-in-handleincomingupdate-function-of-sdlpo","Stake.Link rewards — incoming bridge update makes rewards insolvent","audit-finding","AuditVault","2023-12",null,["vuln/logic/reward-calculation","vuln/dos/frozen-funds"],["logic","dos"],null,null,null,null,"The controller's effective balance is increased before its already accrued rewards are checkpointed. It then claims old rewards on newly added stake, exceeding the funded reward pool.","tldr",1],["2023-12-Telcoin","Telcoin Exploit — Uninitialized CloneableProxy Hijacked via Public initialize()","incident","DeFiHackLabs","2023-12","Polygon",["vuln/access-control/uninitialized-proxy","vuln/access-control/uninitialized-owner"],["access-control"],"Unprotected initializer on an uninitialized proxy → arbitrary-logic `delegatecall` → fund theft",null,null,"~$1.24M total across the incident","Three design facts compose into a critical bug: 1. The initializer is public and unprotected beyond the one-time `initializer` modifier. Anyone can be the first caller of `initialize()` on an uninitialized clone. There is no `onlyOwner`, no deployer check, no factory-only restriction. 2. The proxy clones were deployed but left uninitialized. Deployment and initialization were not atomic. [continues]","rootCause",1],["2023-12-TIME","TIME (ChronoTech) Exploit — ERC-2771 + Multicall Arbitrary _msgSender() Spoofing → Pool-Reserve Burn","incident","DeFiHackLabs","2023-12","Ethereum",["vuln/access-control/broken-logic","vuln/access-control/missing-auth"],["access-control"],"ERC-2771 + Multicall sender-spoofing (CVE-class disclosed by OpenZeppelin, Dec 2023): arbitrary `_msgSender()` via attacker-appended trailing calldata in a `delegatecall`-based `multicall`",null,null,"~84.59 ETH","The lethal combination is the well-known ERC-2771 + Multicall trailing-calldata spoof (OpenZeppelin disclosure, Dec 2023): 1. ERC-2771 trusts trailing calldata for identity. `_msgSender()` reads the last 20 bytes whenever `msg.sender` is the trusted forwarder. The whole security model rests on \"only the forwarder can put bytes there, and it only ever appends the verified `from`.\" 2. `Multicall` is `delegatecall`-based and re-enters within the same context. [continues]","rootCause",1],["2023-12-TransitFinance","Transit Finance (TransitSwap V5) Exploit — Forged \"Pool\" in exactInputV3Swap Drains Router-Held Funds","incident","DeFiHackLabs","2023-12","BNB Chain",["vuln/input-validation/missing","vuln/dependency/unsafe-external-call"],["input-validation","dependency"],"Unvalidated, caller-supplied \"pool\" address → forged swap output / arbitrary external call (broken trust boundary in a DEX aggregator)",null,null,"~$43,841","The router conflates \"an address the caller named\" with \"a trusted Uniswap V3 pool.\" The genuine trust anchor — verifying via `CREATE2` that `pool == keccak256(0xff, factory, salt, initCodeHash)` — exists, but it only fires *reactively inside the swap callback*. For an aggregator that: 1. reads accounting data (`token0/token1/fee`) off the caller-named address, and; 2. uses the pool's own `swap()` return value as a quantity that drives subsequent transfers, [continues]","rootCause",1],["34033-h-01-changing-the-reward-rate-results-in-non-claimable-yield","veTenet — changing the reward rate makes 500 tokens unclaimable","audit-finding","AuditVault","2023-12",null,["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],null,null,"veTenet RewardVault",null,"The rate setter moves the accrual cursor forward without settling the interval that cursor still covered. Distribution only pays `pending()`, so the skipped interval is never paid.","rootCause",1],["2023-11-bot","\"bot\" / MEV-bot Router Exploit — Permissionless, Zero-Slippage Forced Swaps + Sandwich Drain","incident","DeFiHackLabs","2023-11","Ethereum",["vuln/access-control/missing-auth","vuln/defi/slippage"],["access-control","defi"],"Missing access control + missing slippage (`min_dy=0`) on a privileged swap helper → forced-swap value extraction via sandwich",null,null,"~$2,000,000","A function that spends a contract's own assets MUST answer two questions before executing: \"is the caller allowed?\" and \"is the output acceptable?\" This router answers neither. 1. No authorization. `f6ebebbb` lets *any* external address direct the router to swap *its own* inventory. Normally an arbitrage bot only swaps when *it* computes a profitable route; here the decision of when, what, and through which pool is handed to the attacker. 2. `min_dy = 0` (no slippage floor). [continues]","rootCause",1],["2023-11-3913","3913 Token Exploit — skim-Driven Invite-Bonus / LP-Burn Vault Drain","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/defi/slippage","vuln/logic/incorrect-state-transition"],["defi","logic"],"Broken token accounting — permissionless mint-equivalent via `skim()`-triggered invite bonus + LP burn",null,null,"~31,354 USD","The token treats a transfer involving a PancakeSwap pair as a trigger to mint value out of a protocol vault, with no protection against a user being on both sides of that transfer: 1. The 6% invite bonus is funded by a vault, not by the counterparty. When a pair sends tokens to user `X`, the token pays `X`'s inviter 6% *extra* tokens from `_smartVault_invite`. Those tokens are not deducted from anyone in the trade — they are net-new liquidity handed out for free. [continues]","rootCause",1],["2023-11-Token8633_9419","9419 (8633/0cCa) Exploit — Permissionless autoAddLp() / autoSwapAndAddToMarketing() Reserve Manipulation","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/spot-price"],["access-control","oracle"],"Permissionless, loopable token-side AMM reserve manipulation (un-access-controlled `autoAddLp` mint+addLiquidity and `autoSwapAndAddToMarketing` repurchase swaps)",null,null,"~$52K (per the PoC `@KeyInfo` header)","A PancakeSwap pair prices assets purely from its reserves. Whoever can move those reserves cheaply and on demand controls the price. The 9419 design exports two functions that do exactly that and makes them callable by anyone, any number of times: 1. Permissionless mint+addLiquidity (`autoAddLp`). It mints brand-new 9419 (`Transfer from 0x0`) and stuffs it into the pool as liquidity for a token-side that costs essentially nothing. [continues]","rootCause",1],["2023-11-AIS","AI SPACE (AIS) Exploit — Permissionless PendingMint Inflation + Unprotected Vault Drain","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/access-control/missing-modifier","vuln/arithmetic/overflow"],["access-control","arithmetic"],"Permissionless mint-accounting inflation + missing access control on `setSwapPairs` / `setAdmin`",null,null,"~$60.7k","The protocol mints \"rewards\" off an accumulator that anyone can inflate, and nothing ties that accumulator to real economic activity: 1. No access control on `setSwapPairs` lets an attacker pick which addresses get inflationary transfer semantics — including, at the end, *themselves*, so they can dump AIS through the untaxed buy path. 2. `PendingMint` accrues on gross transfer volume, not net value. A wash trade (send AIS to the pair, `skim` it right back) generates fee-like accrual with zero capital at risk. [continues]","rootCause",1],["38186-attacker-can-gain-infinitive-flux-by-repeating-this-attack-i","Alchemix — Attacker can gain infinite FLUX by repeating this attack!","audit-finding","AuditVault","2023-11",null,[],["untagged"],"Missing counterpart precondition check (only source-side guarded, not destination-side)","high","Alchemix — `alchemix-v2-dao` (`VotingEscrow`, `Voter`, `FluxToken`)",null,"The protocol assumes each veALCX position accrues FLUX at most once per epoch, enforced by `onlyNewEpoch` on `reset()`/`vote()` per `tokenId`. That per-token cap is sound in isolation — but `merge()` lets an attacker move balance between token IDs mid-epoch, and its only guard (`!voted[_from]`) checks the token that's *losing* balance, not the token that's *gaining* it. [continues]","rootCause",1],["38178-bpt-can-be-locked-for-only-1-week-resulting-in-unfair-alcx-r","Alchemix — BPT can be locked for only 1 week, resulting in unfair ALCX reward distribution","audit-finding","AuditVault","2023-11",null,["vuln/logic/off-by-rounding","vuln/access-control/bypassable-invariant-check","vuln/economic/reward-dilution"],["logic","access-control","economic"],"Off-by-rounding: a boundary check computed from `((timestamp + X) / WEEK) * WEEK` on both sides, which loses precision differently depending on how close `timestamp` is to a `WEEK` boundary","high","Alchemix V2 DAO — `VotingEscrow.sol` (`_createLock`)",null,"The check compares two rounded absolute timestamps instead of comparing the duration directly. `unlockTime` rounds `nowTs + lockDuration` down to the nearest week; the required minimum rounds `nowTs + EPOCH` down to the nearest week. Both roundings discard up to 6 days, 23 hours, 59 minutes, 59 seconds of \"slack\" — but they discard different absolute amounts for the two different additions once `nowTs` sits close enough to a week boundary. [continues]","rootCause",1],["38191-fluxtokencalculatebpt-uses-wrong-algorithm-causing-fluxtoken","Alchemix — FluxToken.calculateBPT uses wrong algorithm causing nftClaim revenue to be 10,000x higher than expected","audit-finding","AuditVault","2023-11",null,[],["untagged"],"Missing scale-factor division on a bps-denominated multiplier","high","Alchemix — `alchemix-v2-dao` (`FluxToken`)",null,"The protocol represents `bptMultiplier` as a basis-points fraction of the input amount (0.4% = 40/10,000), consistent with every other ratio in the contract. `calculateBPT` is the single function responsible for applying that fraction, but it never divides by `BPS` — so it returns the *un-scaled* `_amount * bptMultiplier` (10,000x larger than the fraction it's supposed to represent) instead of `(_amount * bptMultiplier) / BPS`.","rootCause",1],["38187-getactualsupply-should-be-used-instead-of-totalsupply-for-ba","Alchemix — getActualSupply should be used instead of totalSupply for Balancer pools","audit-finding","AuditVault","2023-11",null,[],["untagged"],"Wrong slippage-protection base value (excludes accrued-but-unminted protocol fees)","high","Alchemix — `alchemix-v2-dao` (`RewardsDistributor`, Balancer WeightedPool integration)",null,"Balancer's real join math (`WeightedMath._calcBptOutGivenExactTokensIn`) always uses the pool's true, current state regardless of what the caller believes the supply to be — the caller's `bptAmountOut` argument is purely a minimum-output guard (if the real computed output falls below it, the join reverts). [continues]","rootCause",1],["38110-infinite-minting-of-flux-through-voterpoke-immunefi-alchemix","Alchemix — infinite minting of FLUX through voter.poke()","audit-finding","AuditVault","2023-11",null,["vuln/governance/proposal-manipulation","vuln/reward-calculation/unbounded-accrual","vuln/loss-of-funds/direct-drain"],["governance","reward-calculation","loss-of-funds"],"Unbounded reward accrual reachable through a fully public entry point","high","Alchemix — `alchemix-v2-dao` (Voter / FluxToken / veALCX)",null,"The reward system relies on `poke()`/`_vote()` being called at a natural cadence (once per epoch, as part of normal voting). But `accrueFlux` doesn't actually enforce that cadence — it simply trusts that it will only be called once per epoch. Since `poke()` is public and unrestricted, a holder can call it as many times as they like in any sequence of transactions, and each call adds another full share to their unclaimed balance.","rootCause",1],["38111-insolvency-in-revenuehandlersol-because-unclaimed-revenue-is","Alchemix — insolvency in RevenueHandler.sol because unclaimed revenue is re-counted","audit-finding","AuditVault","2023-11",null,["vuln/accounting/double-counting","vuln/frozen-funds/insolvency","vuln/loss-of-funds/direct-drain"],["accounting","frozen-funds","loss-of-funds"],"Double-counting: a running balance is mistaken for newly-arrived revenue","high","Alchemix — `alchemix-v2-dao` (`RevenueHandler.sol`)",null,"`checkpoint()` is supposed to record only the revenue that arrived since the last checkpoint. Instead, for tokens without a pool adapter, it treats the contract's entire current balance as new revenue. Any revenue from a prior epoch that hasn't been claimed yet is still part of that balance, so it gets attributed to the new epoch as well — every unclaimed epoch's revenue keeps getting re-added on top of itself, forever, until someone claims it.","rootCause",1],["38175-loss-of-unclaimed-bribes-after-burning-vealcx-token-immunefi","Alchemix — loss of unclaimed bribes after burning a veALCX token","audit-finding","AuditVault","2023-11",null,["vuln/access-control/ownership-check-after-burn","vuln/logic/missing-forced-claim","vuln/dos/frozen-funds"],["access-control","logic","dos"],"Ownership-gated claim function whose gate becomes permanently unsatisfiable after an unrelated state transition (burn)","high","Alchemix V2 DAO — `VotingEscrow.sol` (veALCX lock/withdraw) + `Voter.sol` (bribe claims)",null,"`withdraw()` treats \"claim what's owed\" and \"burn the token\" as if they cover the same set of rewards — it explicitly claims ALCX and FLUX first, showing the developers were aware unclaimed rewards must be settled before burn. But bribes earned via `Voter` voting live in a *separate* accounting system (`Bribe` contracts keyed by `tokenId`) that `withdraw()` never touches. [continues]","rootCause",1],["38179-malicious-user-can-mint-unlimited-flux-tokens-immunefi-alche","Alchemix — malicious user can mint unlimited FLUX tokens","audit-finding","AuditVault","2023-11",null,["vuln/logic/missing-epoch-guard","vuln/accounting/double-counting","vuln/economic/unbounded-mint"],["logic","accounting","economic"],"Missing per-epoch \"already claimed\" guard combined with a claim function (`reset`) that recomputes its reward base fresh from CURRENT (mutable) state every call","high","Alchemix V2 DAO — `VotingEscrow.sol` (`merge`, `claimableFlux`) + `Voter.sol` (`reset`)",null,"Two independently-reasonable design choices interact badly: 1. `reset()` recomputes its reward (`claimableFlux`) fresh, from current state, every time it's called — with no memory of what portion of the current locked value has already had its flux claimed. 2. `merge()` only guards against double-counting from voting (checking `voted[]`), because that was the double-count vector the developers had in mind. [continues]","rootCause",1],["38182-newly-created-gauge-may-missed-out-on-its-rewards-immunefi-a","Alchemix — newly created gauge may miss out on its rewards","audit-finding","AuditVault","2023-11",null,["vuln/logic/stale-memory-variable","vuln/timing/read-before-write","vuln/liveness/delayed-reward"],["logic","timing","liveness"],"Stale memory variable: a value cached in memory before a state-mutating call that updates the same storage slot the memory variable was sourced from","high","Alchemix V2 DAO — `Voter.sol` (`_distribute`, `_updateFor`)",null,"`_distribute` was written assuming `claimable[_gauge]` is always already up-to-date by the time it reads it — true for a gauge that has been synced by a prior `_updateFor` call (e.g. from a previous epoch's distribute, or another code path that calls `_updateFor` independently). For a gauge on its very first distribution, no such prior sync exists, so `_updateFor` itself must perform the first sync — and it does so after `_distribute` already captured the (necessarily stale, still-zero) claimable value into memory.","rootCause",1],["38185-precision-loss-causes-minor-loss-of-flux-when-claiming-with","Alchemix — Precision loss causes minor loss of FLUX when claiming with NFTs","audit-finding","AuditVault","2023-11",null,["vuln/arithmetic/precision-loss"],["arithmetic"],"Precision loss from a mathematically-redundant integer-division round-trip","high","Alchemix — `alchemix-v2-dao` (`FluxToken`)",null,"The formula computes an intermediate value (`bpt * veMul`), divides it by `veMax`, then immediately re-multiplies by the same `veMax` before continuing the rest of the computation. Because this division/multiplication pair has no effect other than truncating a remainder, it should simply be removed — the fix is `claimableFlux = (bpt * veMul * (fluxPerVe + BPS)) / BPS / fluxMul;`, which is mathematically identical except it doesn't discard the remainder.","rootCause",1],["38176-revenuehandlercheckpoint-counts-unclaimed-rewards-as-new-rew","Alchemix — RevenueHandler.checkpoint counts unclaimed rewards as new rewards","audit-finding","AuditVault","2023-11",null,["vuln/logic/reward-calculation","vuln/accounting/double-counting","vuln/insolvency/late-claimer-lockout"],["logic","accounting","insolvency"],"Using the contract's raw current balance as \"newly arrived revenue\" instead of the balance delta since the last checkpoint","high","Alchemix V2 DAO — `RevenueHandler.sol` (epoch revenue accounting / claims)",null,"`checkpoint()` treats the contract's absolute token balance as synonymous with \"revenue received this epoch.\" Those are only the same thing if the contract is drained to zero between every checkpoint — i.e., if every user claims every epoch, without exception. The moment any single user leaves their share unclaimed even once, that leftover balance is silently folded into the next epoch's \"new\" revenue, permanently inflating the sum of everyone's `claimable()` balances beyond what the contract actually holds.","rootCause",1],["38174-revenuehandlercheckpoint-isnt-correctly-immunefi-alchemix-gi","Alchemix — RevenueHandler.checkpoint isn't correct when poolAdapter is 0","audit-finding","AuditVault","2023-11",null,["vuln/accounting/double-counting","vuln/reward-calculation/wrong-amount","vuln/loss-of-funds/direct-drain"],["accounting","reward-calculation","loss-of-funds"],"Double-counting: the running balance is mistaken for newly-arrived revenue","high","Alchemix — `alchemix-v2-dao` (`RevenueHandler.sol`)",null,"`amountReceived` is supposed to represent revenue that just arrived — the delta since the previous checkpoint. Instead, for tokens with `poolAdapter == address(0)`, it is simply the contract's total balance at checkpoint time. As long as any prior epoch's revenue sits unclaimed in the contract (the normal case between consecutive epochs, since claiming is user-initiated), that balance is counted again in full. [continues]","rootCause",1],["38184-slippage-protection-is-inaccurate-immunefi-alchemix-git","Alchemix — slippage protection is inaccurate (RevenueHandler._melt)","audit-finding","AuditVault","2023-11",null,["vuln/oracle/naive-slippage-check","vuln/mev/sandwich-attack","vuln/economic/price-manipulation"],["oracle","mev","economic"],"Naive/self-referential slippage protection: `minOut == amountIn` instead of a bound derived from an external fair-price reference","high","Alchemix V2 DAO — `RevenueHandler.sol` (`_melt`)",null,"The comment in the source code is explicit about the assumption being made: \"the price of the alAsset will always be at or below the price of the revenue token.\" That assumption may hold on average, but it says nothing about what happens within a single transaction's price impact window. [continues]","rootCause",1],["38190-stucked-yield-tokens-upon-withdrawal-of-votes-from-bribe-con","Alchemix — Stuck yield tokens upon withdrawal of votes from Bribe contract","audit-finding","AuditVault","2023-11",null,[],["untagged"],"Asymmetric accumulator update (increment on deposit, no matching decrement on withdraw)","high","Alchemix — `alchemix-v2-dao` (`Bribe`)",null,"`Bribe.earned()` (the real reward-accrual function) divides a voter's accrued reward by `_priorSupply` — a checkpoint of `totalVoting` taken at the end of the relevant epoch (`Bribe.sol#L268`, `#L276`). Because `withdraw()` never decrements `totalVoting`, that checkpoint (and every subsequent one, until the next `deposit()` writes a fresh value) stays inflated by exactly the withdrawn amount — even though the withdrawing voter no longer has any claim on future rewards. [continues]","rootCause",1],["38109-unauthorized-minting-of-unlimited-flux-in-1-transaction-immu","Alchemix — unauthorized minting of unlimited FLUX in 1 transaction","audit-finding","AuditVault","2023-11",null,["vuln/access-control/missing-modifier","vuln/reward-calculation/unbounded-accrual","vuln/loss-of-funds/direct-drain"],["access-control","reward-calculation","loss-of-funds"],"Missing per-epoch access guard on a reward-accruing entry point","high","Alchemix — `alchemix-v2-dao` (Voter / FluxToken / veALCX)",null,"The protocol's reward model assumes each veALCX position accrues FLUX at most once per epoch. That invariant is supposed to be enforced by an `onlyNewEpoch(_tokenId)` guard on the public entry points that trigger accrual. `poke()` triggers accrual (via `_vote` → `accrueFlux`) but was never given that guard, so `accrueFlux`'s unconditional `+=` can be invoked repeatedly with no cooldown at all — not even a single block, let alone an epoch.","rootCause",1],["38181-voters-who-withdraw-velacx-tokens-risk-losing-gained-bribes","Alchemix — voters who withdraw veALCX tokens risk losing gained bribes","audit-finding","AuditVault","2023-11",null,["vuln/access-control/ownership-check-after-burn","vuln/logic/missing-forced-claim","vuln/dos/frozen-funds"],["access-control","logic","dos"],"Ownership-gated claim function (`claimBribes`) whose gate becomes permanently unsatisfiable after an unrelated state transition (burn) elsewhere in the normal exit flow","high","Alchemix V2 DAO — `Voter.sol` (bribe claims) + `VotingEscrow.sol` (veALCX lock/withdraw)",null,"The 4-step exit sequence documented for veALCX (`reset` → `startCooldown` → wait → `withdraw`) says nothing about bribes, because bribe accounting lives entirely in `Voter`/`Bribe` contracts, orthogonal to `VotingEscrow`'s lock state machine. `withdraw()`'s burn is unconditional; `claimBribes()`'s only authorization is \"current owner of `_tokenId`.\" [continues]","rootCause",1],["2023-11-BRAND","BrandPad (BRAND) Exploit — Permissionless buyToken() Buyback-Bot Sandwich","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/sandwich-attack"],["access-control","defi"],"Missing access control + zero-slippage market buy on a permissionless buyback bot → price-manipulation sandwich",null,null,"~23.18 WBNB profit to the attacker","A market-buy that (a) spends a privileged contract's own funds, (b) is callable by anyone, and (c) accepts any execution price, is an open invitation to be sandwiched. Three independent failures compose: 1. Permissionless privileged action. `buyToken()` should have been a keeper/owner-only or internally-scheduled action. Because it is public, the attacker — not the project — decides *when* the bot buys. The attacker fires it precisely when the pool is mispriced in the attacker's favour. [continues]","rootCause",1],["2023-11-Burntbubba","Burntbubba (LevX / FarmingLPToken) Exploit — Spot-Price Share Minting Manipulated via Attacker-Created Routing Pools","incident","DeFiHackLabs","2023-11","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Price-manipulation of vault-share minting — value derived from manipulable AMM spot price (`getAmountsOut`) through attacker-created routing pools",null,null,"~$3K — 1,597.51 USDC + 0.6549 WETH extracted by the attacker contract","The protocol prices a deposit using a manipulable, caller-routed spot price and mints shares from that price, while the redemption side honours the real pooled LP. Concretely: 1. Spot price as a valuation oracle. `getAmountsOut` reflects only current reserves. A pool that an attacker just created and seeded with any ratio they like produces any \"price\" they like. Using it to size minted shares is equivalent to letting the depositor declare how many shares they receive. 2. Caller controls the routing path. [continues]","rootCause",1],["2023-11-CAROLProtocol","CAROL Protocol Exploit — Reentrancy in sell() via Mid-Function ETH Payout to Attacker","incident","DeFiHackLabs","2023-11","Base",["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Reentrancy — stale pool reserve read after an attacker-controlled mid-function ETH payout",null,null,"~$53K — attacker ended with 28.471 ETH","Three design errors compose into a critical bug: 1. Interaction before the critical read (reentrancy). `sell()` performs an external interaction that *hands native ETH to `msg.sender`* — `swapExactTokensForETH(..., msg.sender,...)` — and only *afterwards* reads the pool reserve it uses to size the LP redemption. The user controls code that runs between those two points and can change the very state the function trusts. [continues]","rootCause",1],["44005-h-01-unclaimed-user-staking-rewards-are-going-to-get-lost-on","CSX — a second stake wipes 1,000 USDC of unclaimed rewards","audit-finding","AuditVault","2023-11",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["logic"],null,null,"CSX",null,"Pending rewards are `balance * (lastRewardRate - rewardRate) / 1e33`, plus `credit`. `_updateRewardRate` assigns `rewardRate = lastRewardRate`. Without a prior write to `credit`, the difference that was the user's reward is discarded. The global index still accounts for the USDC, so the tokens remain in the contract, but this user can no longer claim them.","rootCause",1],["2023-11-EEE","EEE-COIN Exploit — Flash-Loan Reserve Manipulation via a Compromised LP-Holder Router","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Unprotected price-oracle pool manipulation through a fee-on-transfer + LP-rebalancing router that burns token supply; no slippage/reserve-defence on the pair",null,null,"~$22,814 USDT","The exploit composes three independently-reasonable design choices into a critical bug: 1. The EEE/USDT pair is the sole price oracle and has no reserve defence. `_transfer`, `swapAndFeeForToken`, and the dividend `process()` all key off the instantaneous pair reserves. There is no TWAP, no slippage cap on pool-relative trades, no reentrancy guard that blocks reserve mutation between the read and the use of a reserve. [continues]","rootCause",1],["2023-11-EHX","EHX (Eterna) Exploit — Fee-on-Transfer / AMM skim Drain","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/defi/slippage","vuln/oracle/spot-price"],["defi","oracle"],"Deflationary / fee-on-transfer token incompatible with Uniswap-V2 `skim`/`sync` (K-invariant bypass via direct reserve inflation + skim)",null,null,"Not separately quantified by the project","Uniswap-V2 / PancakeSwap-V2 pairs are only safe for tokens where `balanceOf` moves 1:1 with transfers (no transfer fee, no rebasing, no permissioned mint/burn that targets the pair). The invariant `x·y ≥ k` is enforced *inside `swap()`* by comparing `balanceOf` against `reserve`. The protocol relies on the assumption that the only way `balanceOf(pair)` changes is through `mint`/`burn`/`swap`/ordinary transfers that the pair can re-price against. [continues]","rootCause",1],["2023-11-FiberRouter","FiberRouter Exploit — Arbitrary External Call Drains a Victim's Token Approval","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["dependency","access-control"],"Arbitrary external call with attacker-controlled `target` + `calldata` (CWE-94 / unvalidated low-level call) abusing the router's standing approvals",null,null,"~59.01 USDC stolen from a single victim in this tx","The `FiberRouter` accumulates standing privileges in two forms: 1. Outgoing approvals it grants to swap routers (and to `pool`). 2. Incoming approvals that *users* grant to it so it can pull their `fromToken` when bridging. A function that performs `target.call(arbitraryData)` with `target` and `data` both chosen by the caller turns the contract into a universal proxy for its own privileges. Whatever the `FiberRouter` is allowed to do, the attacker can now do *as* the FiberRouter: [continues]","rootCause",1],["2023-11-grok","GROK Token Exploit — Fee-on-Transfer Tax Auto-Swap Reserve Desync","incident","DeFiHackLabs","2023-11","Ethereum",["vuln/reentrancy/cross-function","vuln/defi/fee-manipulation"],["reentrancy","defi"],"Fee-on-transfer token whose contract-internal tax auto-swap re-enters its own AMM pool mid-swap, desyncing reserves and enabling self-arbitrage",null,null,"~26.39 WETH","A Uniswap-V2 pair prices a swap by the actual balance delta it observes between entering `swap()` and the caller delivering tokens, and it enforces `x·y ≥ k` once per `swap()` call. The pair assumes its own balances do not change for reasons it cannot account for between the quote and the settlement of a single logical swap. GROK breaks that assumption from inside the token's `transfer` hook: [continues]","rootCause",1],["2023-11-KR","KR Token Exploit — Permissionless sellKr() Liquidity-Pool Drain","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Broken access control — public `sellKr()` liquidates the token contract's own LP and pays the BUSD proceeds to an arbitrary `msg.sender`",null,null,"~15,223 BUSD","A `removeLiquidity` on the router is safe *only* if the LP being burned belongs to the caller. Here the KR contract holds the project's LP, and `sellKr` lets any external account instruct the router to: burn the KR contract's LP, and collect the BUSD proceeds to an address the KR contract chooses — which, for 85% of the BUSD, is `msg.sender`. There is no privilege check, no caller-supplied-asset requirement, and no allowance given by the caller. The four design failures that compose into the drain: [continues]","rootCause",1],["2023-11-KyberSwap_exp-eth-1","KyberSwap Elastic Exploit — Tick-Boundary Precision Loss Doubles Pool Liquidity","incident","DeFiHackLabs","2023-11","Ethereum",[],["untagged"],"Rounding / precision loss at a tick boundary → liquidity double-count → broken AMM invariant",null,null,"2.1347 WETH + 6.365 frxETH drained","A concentrated-liquidity AMM is only solvent if `baseL` and the tick-crossing bookkeeping stay perfectly in lockstep: every wei of liquidity added at a tick must be added to / removed from `baseL` exactly once when the price crosses that tick. KyberSwap's swap step rounds the price-to-tick calculation down, so the price stops one wei short of an initialized tick. [continues]","rootCause",0],["2023-11-LinkDao","LinkDao Exploit — Mis-scaled Constant-Product K Check in a Custom Uniswap-V2 Fork","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/arithmetic/decimal-mismatch","vuln/logic/incorrect-order-of-operations"],["arithmetic","logic"],"Broken AMM constant-product invariant — dimensional/scaling mismatch in the `K` check",null,null,"~$30K — 29,662.36 USDT drained from the LKD/USDT pair in a single flash swap","Let `b0,b1` be the post-swap balances and `r0,r1` the pre-swap reserves. Ignoring the tiny fee subtraction (`amount0In × 25` is negligible next to `balance0 × 10000`), the check is: So the post-swap product only has to stay above 1% of the pre-swap product. A correctly scaled check (`× 1e8` on both sides) would instead require `b0·b1 ≥ r0·r1`, i.e. the product may never fall below its previous value — the actual constant-product safety property. [continues]","rootCause",1],["2023-11-MahaLend","MahaLend Exploit — Empty-Reserve Liquidity-Index Inflation + Share-Rounding Theft","incident","DeFiHackLabs","2023-11","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"Empty-market share-inflation (rounding) — liquidity-index manipulation on a freshly-listed reserve via repeated flashloan-fee donation",null,null,"~$20K (per the PoC's `@KeyInfo`)","The composition of three Aave-fork properties on a freshly listed, near-empty reserve: 1. Index growth is divided by `totalSupply` with no floor. On an empty reserve the attacker can set `totalSupply` to 1 wei (donate underlying in, then `withdraw(amount-1)`), turning each flashloan fee into a multiplicative index explosion. This is the canonical Aave \"donation / first-depositor inflation\", but flashloan fees make the donation free and repeatable rather than a one-shot griefing of the next depositor. [continues]","rootCause",1],["2023-11-MetaLend","MetaLend Exploit — Empty-Market Exchange-Rate Inflation via selfdestruct Donation","incident","DeFiHackLabs","2023-11","Ethereum",["vuln/arithmetic/rounding","vuln/logic/price-calculation"],["arithmetic","logic"],"Empty-market share-price inflation / first-depositor donation attack (rounding + `selfdestruct` cash injection)",null,null,"~$4,000","The bug is the well-known Compound-V2 empty-market / first-depositor share-price manipulation, made fully self-funding here by the native-asset donation vector. Four design facts compose into the exploit: 1. The exchange rate is balance-derived, not supply-tracked. `cash` is the live token/ETH balance of the market, so anyone can move it. There is no internal accounting that distinguishes \"underlying supplied via `mint`\" from \"underlying force-fed via transfer/`selfdestruct`.\" [continues]","rootCause",1],["2023-11-MEV_0x8c2d","MEV Bot 0x8c2d Exploit — Permissionless Asset-Harvester Drains a Pre-Approved Victim","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Broken access control on a shared infrastructure contract: self-grantable privileged role + arbitrary-`from` token transfer over a pre-existing allowance",null,null,"366,058.04 BUSDT","A shared, multi-tenant custody contract combined two independently-fatal access-control failures: 1. Self-grantable privilege (`0xac3994ec`). Role designation accepts an arbitrary address from calldata and stores it as privileged with no `onlyOwner` / signature / principal check. The attacker authorizes itself. 2. Arbitrary-`from` transfer over standing allowances (`0x1270d364`). The harvest path performs `BUSDT.transferFrom(from, to, amount)` with a caller-chosen `from` and `to`. [continues]","rootCause",1],["2023-11-MEV_0xa247","MEV-Bot Fleet Exploit (0xa247…) — Unprotected removeAdmin() Lets Anyone Seize and Drain 24 Bot Contracts","incident","DeFiHackLabs","2023-11","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-owner-check"],["access-control"],"Missing access control on a privileged admin-takeover function (`removeAdmin`) → arbitrary asset withdrawal",null,null,"~$150K","A single missing modifier. The bot implementation lets an arbitrary caller rewrite its `owner`/`admin` storage slots via `removeAdmin` (`0xe7d25975`). Every other privileged action (`setPoolToClosed`, the `0xd547557b` step, and the `withdraw` at `0x90fb9dca`) is gated on being the owner — but because the owner itself is attacker-settable, those gates are vacuous. Three properties compound it into a total loss: 1. Owner is attacker-writable. [continues]","rootCause",1],["2023-11-OKC","OKC Exploit — Permissionless processLPReward() Pays Out on a Flash-Minted LP Position","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/reward-calculation"],["access-control","logic"],"Instantaneous-balance reward accounting (no LP snapshot/lock) + `extcodesize`-during-construction holder-filter bypass, amplified by flash loans",null,null,"~6,268 USDT profit per run, paid out of the `MinerPool`'s 8.36M-OKC reward treasury","Three independent design flaws compose into a profitable exploit: 1. Stateless, instantaneous reward accounting. `processLPReward()` rewards based on the LP balance *at call time* with no snapshot or holding period. This is the textbook \"flash-mint a position, claim a pro-rata reward, unwind\" pattern. Because the function is permissionless, the attacker controls *when* it runs and ensures it runs while they hold ~93% of the LP supply. 2. The only sybil guard is bypassable. [continues]","rootCause",1],["2023-11-OnyxProtocol","Onyx Protocol Exploit — Empty-Market Exchange-Rate Inflation (Compound V2 Fork)","incident","DeFiHackLabs","2023-11","Ethereum",["vuln/arithmetic/rounding","vuln/logic/price-calculation"],["arithmetic","logic"],"Empty-market exchange-rate inflation via donation (the classic \"Compound-fork `mint` 1 / `redeem` to dust + direct transfer\" rounding/CEI flaw)",null,null,"~$2,000,000","A Compound V2 cToken trusts `underlying.balanceOf(this)` as \"cash\" and divides it by `totalSupply` to price collateral. With no first-depositor / minimum-liquidity protection, an attacker can shrink `totalSupply` to a couple of wei and then donate underlying directly, making the exchange rate explode. A few wei of cToken then collateralize loans worth the entire protocol. Concretely, four properties of the Onyx fork compose into the exploit: 1. `cash` is balance-based and donation-manipulable. [continues]","rootCause",1],["2023-11-Raft","Raft Finance Exploit — Indexable-Collateral setIndex Inflation + divUp Rounding Mint","incident","DeFiHackLabs","2023-11","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"Share-inflation (donation) attack on an index/share accounting token + `divUp` rounding-up mint",null,null,"~$3.2 M","Three independent design flaws compose into a critical bug: 1. The index is derived from a manipulable, instantaneous balance (`balanceOf(PRM)`) over a manipulable supply. `setIndex` performs `backing / rawSupply` with no lower bound on supply and no protection against direct donations inflating `backing`. This is the textbook ERC4626-style first-depositor / share-inflation attack, but applied to the *index* rather than a share price. [continues]","rootCause",1],["2023-11-ShibaToken","SHIBAINU DAO Exploit — Underpriced ICO Sale + Lock-Bypassing batchTransferLockToken Pool Drain","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/oracle/price-manipulation","vuln/access-control/missing-auth"],["oracle","access-control"],"Mispriced primary-sale oracle + broken vesting-lock enforcement (missing access control / lock check on `batchTransferLockToken`) → flash-loan-funded arbitrage drain",null,null,"~$31K — attacker walked off with 101.70 WBNB","Two independent flaws compose into a critical, permissionless drain: 1. Stale / market-blind presale price. `ICO.buyByBnb` sells SHIBA at a fixed `amountPerStable` (100,000 SHIBA/$1) with no reference to the live AMM price. When the open market priced SHIBA ~50× higher, the presale became free money — buy cheap from the ICO, sell dear on the pool. 2. Vesting lock is trivially bypassable. [continues]","rootCause",1],["2023-11-RBalancer","StakeStone StoneVault Exploit — Same-Block Deposit + instantWithdraw Skims Strategy-Realization Surplus","incident","DeFiHackLabs","2023-11","Ethereum",["vuln/defi/slippage","vuln/logic/price-calculation"],["defi","logic"],"Accounting mismatch: `instantWithdraw` credits the actual strategy-realized ETH instead of the share-price-fair ETH; same-block `deposit → rollToNextRound → instantWithdraw` lets a whale capture the realization surplus that belongs to all LPs",null,null,"~17.07 ETH","The vault uses a conservative, lagging share price for accounting (`min(roundPrice, currentSharePrice)`, and `getRate()`-based book values for the Balancer LP) but settles redemptions at the raw realized cash value of the underlying positions. These two numbers are *not* equal: `instantWithdraw` burns the user's shares at the *book* price (`ethAmount`), but then forwards the entire realized strategy return (`actualAmount`) to that one user. [continues]","rootCause",1],["2023-11-SwampFinance","Swamp Finance Exploit — Atomic earn() Harvest-Sandwich on StrategyBelt_Token","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/sandwich-attack"],["access-control","defi"],"Permissionless atomic compounding (`earn()`) → share value-per-token inflation harvested in a single deposit→earn→withdraw sandwich, amplified by flash-loaned leverage",null,null,"+0.548 WBNB per reproduced cycle","A share-based vault is only safe to credit yield (`wantLockedTotal += harvest`, shares unchanged) when the action that triggers the credit is not controllable, in the same transaction, by a freshly-entered depositor. Three design decisions compose into the bug: 1. `earn()` is permissionless (:1293). Anyone, at any time, can force the strategy to crystallise pending external rewards into `wantLockedTotal`. [continues]","rootCause",1],["2023-11-TheNFTV2","TheNFTV2 Exploit — Broken transferFrom Access Control Lets Anyone Re-Pull Burned NFTs and Drain Their Wrapped DAO","incident","DeFiHackLabs","2023-11","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Broken access control — `transferFrom` permits moving a token *out of the burn (\"dead\") address* with no approval, enabling infinite re-mint/re-burn of a single NFT and recovery of its wrapped DAO",null,null,"~$19,000","The whole exploit is the `approve` → `burn` → `transferFrom(dead → me)` cycle, and the precise reason it works is the *ordering and target of the approval*: 1. The attacker owns the NFT and calls `approve(self, id)` — sets `approval[id] = attacker`. 2. The attacker calls `burn(id)` while still the owner. `burn` refunds 1 DAO and moves the NFT to `DEAD_ADDRESS`. Crucially, `burn` → `_transfer` does NOT clear `approval[id]`. The stale approval `approval[id] = attacker` survives the burn. [continues]","rootCause",1],["2023-11-TheStandard_io","TheStandard.io Exploit — SmartVault swap() with Zero Slippage Protection Through an Attacker-Controlled Pool","incident","DeFiHackLabs","2023-11","Arbitrum",["vuln/defi/slippage","vuln/oracle/price-manipulation"],["defi","oracle"],"Missing slippage / output-amount validation (`amountOutMinimum = 0`) on a vault-owned swap routed through a *caller-chosen, manipulable* pool — collateral drain",null,null,"~$290K","A CDP protocol that already prices collateral with Chainlink has all the information it needs to compute a fair `amountOutMinimum`. Instead, `SmartVaultV2.swap()` outsources price discovery to a Uniswap V3 pool that the caller fully controls, and asks for no minimum output. Concretely: The vault owns ~\\$348k of WBTC, calls `exactInputSingle` with `amountOutMinimum = 0` into a pool the attacker initialized at a junk price, and receives ~\\$200 of PAXG. [continues]","rootCause",1],["2023-11-TrustPad","TrustPad LaunchpadLockableStaking Exploit — Deposit/Withdraw Reward-Accounting Desync","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/logic/state-update","vuln/logic/reward-calculation"],["logic"],"Stateful reward-accounting desync (asymmetric deposit/withdraw counter) → reward-pool theft",null,null,"~$155K","Four design flaws compose into the theft: 1. Asymmetric global accounting. The pool's participation counter (slot `216`) is incremented only when a lock is *opened from zero* (`userInfo.amount == 0`), but decremented on *every* `withdraw`. A deposit→withdraw round-trip is therefore not a no-op for the global state: it nets `-1` on the counter even though the attacker's token position is unchanged. Reward apportionment that divides by (or scales with) this counter is thrown out of balance. [continues]","rootCause",1],["2023-11-WECO","WECO Staking Exploit — Reward-Debt (offsetPoints) Unit Mismatch Lets a Depositor Re-Claim the Whole Reward Pool","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/arithmetic/decimal-mismatch","vuln/logic/reward-calculation"],["arithmetic","logic"],"Broken reward accounting — MasterChef-style reward-debt (`offsetPoints`) stored in two different units (one magnified, one not), so the claim-debt is reset ~`1e20`× too small on every deposit",null,null,"~$18K in the live incident","There is a dimensional (unit) inconsistency in how the reward-debt checkpoint `offsetPoints` is written across the contract. The accumulator math is designed so that an entitlement is `stakingPower * accumulatedRewardsPerStakingPower` (a value already scaled up by `MAGNIFIER`), and the user's *debt* must be stored at that same scale, so that `(entitlement − debt) / MAGNIFIER` yields the real, paid-out amount. `_claimAndLock` does this correctly: it stores `offsetPoints = stakingPower * acc` (full scale). [continues]","rootCause",1],["2023-11-XAI","XAI / CoinToken Exploit — Reflection-Token burn() Collapses Pool Balance via Un-touched _rTotal","incident","DeFiHackLabs","2023-11","BNB Chain",["vuln/logic/state-update","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Reflection-token accounting bug — public `burn()` decrements `_tTotal` but not `_rTotal`, inflating the reflection rate and collapsing every other holder's (incl. the AMM pool's) effective balance to ~0",null,null,"The attacker walked off with 2562.53 WBNB of pool liquidity","In a reflection token, every holder's visible balance is `balanceOf(x) = _rOwned[x] / rate`, `rate = _rTotal / _tTotal`. Because all balances share one global divisor, moving the divisor moves everybody's balance at once. The design only stays sound if any supply change adjusts numerator (`_rOwned`/`_rTotal`) and denominator (`_tTotal`) so that the divisor for *non-participating* accounts is preserved. `_burn()` breaks this: [continues]","rootCause",1],["2023-10-Astrid","Astrid Protocol Exploit — withdraw() Trusts an Attacker-Supplied \"Restaked Token\"","incident","DeFiHackLabs","2023-10","Ethereum",["vuln/access-control/missing-validation","vuln/logic/missing-check","vuln/access-control/fake-account-substitution"],["access-control","logic"],"Missing token whitelist validation → forged-token withdrawal / arbitrary asset drain",null,null,"~$228,591","The protocol's accounting assumes a bijection between a restaked receipt token and its underlying staked token, enforced by the admin-set `stakedTokens` whitelist. `deposit()` honors that assumption (it requires `whitelisted`). But `withdraw()` and `_processWithdrawals()` derive that relationship from the token contract itself instead of from the whitelist: 1. No whitelist check on `withdraw()`. Any contract with non-zero code can be passed as the \"restaked token.\" [continues]","rootCause",1],["2023-10-BelugaDex","BelugaDex Exploit — Stableswap Coverage-Ratio Manipulation via Deposit / Cross-Asset-Swap / Withdraw Looping","incident","DeFiHackLabs","2023-10","Arbitrum",["vuln/oracle/price-manipulation","vuln/defi/slippage","vuln/logic/price-calculation"],["oracle","defi","logic"],"Stableswap (Platypus/Wombat-style) coverage-ratio accounting manipulation — withdraw returns more value than the LP represents after a deliberately skewed cross-asset swap",null,null,"~59.13 ETH extracted","In the Platypus/Wombat single-sided model, *every* state-changing entry point (`deposit`, `swap`, `withdraw`) must keep the global invariant `Σ cash = Σ liability − fees` consistent so that no sequence of operations can extract value. BelugaDex's implementation broke this in the way Platypus itself was exploited (Oct 2022) and several Wombat forks after it: [continues]","rootCause",1],["2023-10-BH","BH Exploit — Spot-Reserve-Priced Liquidity Manager Drained via Flash-Loan Price Manipulation","incident","DeFiHackLabs","2023-10","BNB Chain",["vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"Spot-price liquidity accounting (no TWAP/oracle) → flash-loan price manipulation across a deposit/withdraw boundary",null,null,"~$1.27M","A constant-product AMM's *spot* price (`reserveQuote / reserveBase`) is trivially movable: a single large swap shifts it arbitrarily for the rest of the transaction. Any protocol that prices deposits/withdrawals/collateral off the pair's live reserves — instead of a TWAP, an external oracle, or the user's recorded principal — can be drained by: deposit at the honest price → move the price with a flash-funded swap → withdraw at the manipulated price → repay the flash loan → keep the difference. [continues]","rootCause",1],["2023-10-DePayRouter","DePayRouterV1 Exploit — Output-Only Balance Check + Repeated Plugin Execution Drains Router Funds","incident","DeFiHackLabs","2023-10","Ethereum",["vuln/logic/missing-check","vuln/logic/incorrect-order-of-operations","vuln/access-control/missing-auth"],["logic","access-control"],"Broken accounting invariant — balance check guards the *output* token only, while the plugin list is executed an arbitrary number of times against funds already held by the router",null,null,"~870.92 USDC","The router enforces *\"the OUTPUT token balance must not decrease\"* but never enforces *\"no other token I custody may decrease\"*, and it executes a caller-controlled, un-deduplicated plugin list that re-spends `amounts[0]` on every iteration while only collecting it once. Concretely, the four decisions that compose into the drain: 1. Output-only balance guard. `_ensureBalance` checks `path[last]` only. Any token the router holds — including its own idle USDC, or `path[0]` — is unprotected. [continues]","rootCause",1],["2023-10-Hopelend","HopeLend Exploit — Liquidity-Index Inflation + aToken Rounding-Error Drain","incident","DeFiHackLabs","2023-10","Ethereum",["vuln/arithmetic/rounding","vuln/logic/price-calculation","vuln/oracle/price-manipulation"],["arithmetic","logic","oracle"],"Liquidity-index inflation of a near-empty reserve + half-up rounding in `aToken.rayDiv`/`rayMul` → asset mints/burns for free",null,null,"~$825,000","Aave's scaled-balance design assumes the liquidity index changes slowly and continuously (interest accrual measured in tiny per-second rays). Three design facts violate that assumption when a reserve is allowed to become near-empty: 1. `cumulateToLiquidityIndex` has no lower bound on `totalLiquidity`. Dividing the LP-premium by a 1-wei total liquidity makes a single flash loan multiply the index by `(premium + 1)`. [continues]","rootCause",1],["2023-10-kTAF","Kerberus / kTAF Exploit — Compound-Fork Exchange-Rate Inflation via a Donatable, Tiny-Cash Collateral Token","incident","DeFiHackLabs","2023-10","Ethereum",["vuln/arithmetic/rounding","vuln/logic/price-calculation"],["arithmetic","logic"],"Compound-fork donation / exchange-rate manipulation → under-collateralized borrow (collateral mirage)",null,null,"~$8.19K","A Compound v2 cToken's exchange rate is `(cash + borrows − reserves) / supply`. This is safe only when `cash` cannot be cheaply moved relative to `supply` — Compound's own markets are large and the well-known hardening (seed the market with a non-redeemable \"burn\" supply, or compute cash from an internal accumulator) must be applied. `kTAF` has neither: 1. `cash` is the raw token balance (`getCashPrior()` = `TAF.balanceOf(kTAF)`), so anyone can inflate it with a direct transfer. [continues]","rootCause",1],["2023-10-LaEeb","LaEeb Exploit — Fee-on-Transfer + Auto-Liquify Pool Drain via skim() Recycling","incident","DeFiHackLabs","2023-10","BNB Chain",["vuln/logic/fee-calculation","vuln/defi/slippage","vuln/oracle/price-manipulation"],["logic","defi","oracle"],"Fee-on-transfer token that auto-sells its own fees into its own AMM pair, combined with the permissionless `skim()` primitive, breaking the AMM constant-product invariant",null,null,"~1.81 WBNB","A Uniswap-V2/PancakeSwap pair only enforces the constant-product invariant inside `swap()`. Everything else (`sync`, `skim`, raw `transfer`s) trusts that token balances move in ways the pair can reason about. `LaEeb` violates that trust by using its own liquidity pool as the execution venue for its fee logic: 1. The token auto-sells fees into its own pool. `swapAndLiquify` / `swapTokensForEthXH` / `swapTokensForEthYX` all route LaEeb → WBNB through the same pair that prices LaEeb. [continues]","rootCause",1],["28948-h-1-liquidator-can-liquidate-user-while-increasing-user-posi","Liquidator can increase a position while liquidating — AuditVault synthetic reduction","audit-finding","AuditVault","2023-10",null,["vuln/logic/liquidation-logic","vuln/input-validation/missing"],["logic","input-validation"],null,"high","[[Perennial]]",null,"This bug report is about a vulnerability found in the Market contract of the Perennial Protocol. The vulnerability allows a malicious liquidator to liquidate a user while increasing their position to any value, including the maximum possible value of 2^62-1, which would result in all users losing all funds deposited into the Market. [continues]","tldr",1],["27586-h-1-killwoundedagents-sherlock-looksrare-git","LooksRare \"Infiltration\" — _killWoundedAgents kills a healed agent","audit-finding","AuditVault","2023-10",null,["vuln/logic/wrong-condition","vuln/state/stale-status-check","vuln/loss-of-funds/direct-drain"],["logic","state","loss-of-funds"],"Wrong condition: checks only the agent's current status, never WHEN it was wounded","high","LooksRare \"Infiltration\" — an on-chain NFT survival game",null,"`_killWoundedAgents` is supposed to kill agents that have been `Wounded` for `ROUNDS_TO_BE_WOUNDED_BEFORE_DEAD` rounds without being healed. Its check conflates \"is currently Wounded\" with \"is still wounded from the specific round this sweep is for\" — the two are the same only if an agent can be wounded at most once in its lifetime. [continues]","rootCause",1],["27588-h-3-attacker-can-steal-reward-of-actual-winner-by-force-endi","LooksRare \"Infiltration\" — attacker steals the grand prize by force ending the game","audit-finding","AuditVault","2023-10",null,["vuln/logic/wrong-condition","vuln/access-control/stale-authorization-slot","vuln/loss-of-funds/reward-theft"],["logic","access-control","loss-of-funds"],"Stale authorization slot: the \"winner\" is whoever owns the FIXED array slot 1, not whoever is actually still active when the game ends","high","LooksRare \"Infiltration\" — an on-chain NFT survival game",null,"The prize logic implicitly assumes slot 1 (`agents[1]`) is always occupied by a still-in-the-game agent, and that whoever owns it is the winner once the game ends. Escaping breaks that assumption: it removes an agent from the active headcount but leaves the array slot and its ownership untouched. [continues]","rootCause",1],["2023-10-MaestroRouter2","Maestro Router 2 Exploit — Arbitrary transferFrom via Unvalidated Router Call","incident","DeFiHackLabs","2023-10","Ethereum",["vuln/access-control/missing-validation","vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["access-control","dependency"],"Arbitrary external call / unvalidated calldata forwarding → approval theft (`transferFrom` of third-party funds)",null,null,"~280 ETH across the full campaign","A router that holds delegated spending power for thousands of users must treat the *target* and *selector* of any call it makes as security-critical. The Maestro logic contract instead exposed a fully general \"call(token, data)\" primitive with two unguarded, attacker-controlled inputs: The attacker chooses both the contract to call (`token`) and the exact calldata (`data`). The router then performs that call as itself — i.e., as the address every victim has granted an infinite ERC20 allowance. [continues]","rootCause",1],["28949-h-2-vault-leverage-can-be-increased-to-any-value-up-to-min-m","maxRedeem permits leverage above the configured buffer — AuditVault synthetic reduction","audit-finding","AuditVault","2023-10",null,["vuln/logic/incorrect-state-transition","vuln/logic/price-calculation"],["logic"],null,"high","[[Perennial]]",null,"A bug report has been identified in the Vault leverage calculations. The bug is caused by incorrect `maxRedeem` calculations with closable and `LEVERAGE_BUFFER`. This was found by panprog. The bug means that it is possible for users to increase the Vault leverage to any value up to the minimum margin requirement. This is done by redeeming an amount higher than the `closable` allows. This is done indirectly by limiting the maker limit in the underlying market. [continues]","tldr",1],["2023-10-MicDao","MicDao Exploit — Fixed-Rate Presale Swap Arbitraged Against a Self-Manipulated AMM Pool","incident","DeFiHackLabs","2023-10","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/price-calculation","vuln/defi/slippage"],["oracle","logic","defi"],"Price-oracle / pricing inconsistency: a fixed-rate token sale priced independently of the AMM, combined with a deflationary sell-burn that lets the attacker pump the pool's price",null,null,"~$12.26K","A fixed-price token sale (the presale `SwapContract`) sold MicDao at a rate that was completely decoupled from the only market that could absorb that MicDao (the AMM pool) — and the MicDao token's own 45 % sell-burn let the attacker freely inflate that market's price first. Concretely, three design decisions compose into the loss: 1. Stale, oracle-free sale price. The SwapContract dispenses MicDao at a constant 10:1 ratio. It never checks what MicDao is worth on the AMM at the moment of sale. [continues]","rootCause",1],["29526-h-05-permanent-dos-due-to-non-shrinking-array-usage-in-an-un","NextGen — Permanent DoS due to non-shrinking array in unbounded loops","audit-finding","AuditVault","2023-10",null,[],["untagged"],"Non-shrinking bid array + unbounded loops in claim/highest-bid","high","NextGen",null,"Unbounded growing bid array used in unbounded loops.","rootCause",1],["29347-h-01-incorrect-calculations-for-surplus-auction-creation-cau","Open Dollar — incorrect calculations for surplus auction creation","audit-finding","AuditVault","2023-10",null,[],["untagged"],"underflow","high","Open Dollar",null,"Percentage math uses ONE_HUNDRED_WAD (100e18) where WAD (1e18) is required.","rootCause",1],["29348-h-02-missing-debt-check-lets-users-start-a-debt-auction-of-n","Open Dollar — missing debt check lets users start a debt auction of non-existent debt","audit-finding","AuditVault","2023-10",null,["vuln/logic/check-ordering","vuln/accounting/stale-precondition"],["logic","accounting"],"Stale precondition: a validity check is evaluated before a state-mutating call that can invalidate it, with no re-check afterward","high","Open Dollar — a RAI/Reflexer-style CDP stablecoin",null,"The function validates a precondition (enough unqueued/unauctioned bad debt) and then immediately performs a state change (`_settleDebt`) that can invalidate that very precondition, without re-validating afterward. This is a classic check-then-act-on-stale-state bug: the check and the auction it gates are separated by a state mutation that the check does not account for.","rootCause",1],["2023-10-OpenLeverage","OpenLeverage RewardVaultDelegator Exploit — Re-initializable Proxy → Admin Takeover → Arbitrary delegatecall","incident","DeFiHackLabs","2023-10","BNB Chain",["vuln/access-control/uninitialized-proxy","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Re-initializable proxy (missing initializer guard) → admin hijack → arbitrary `delegatecall` via attacker-controlled implementation",null,null,"~$8K — 37.137 BNB swept from the contract + the addresses that had approved it","The bug is the classic re-initializable proxy / uninitialized-implementation failure, composed of three independently-true facts that together hand over the contract: 1. Missing initializer guard. The implementation's `initialize(address,address,uint64)` does not set/check an `initialized` flag (no `initializer` modifier, no `require(admin == address(0))`, no one-shot latch). The constructor's *\"first delegate gets to initialize\"* comment is the entire protection — and it is only a comment. [continues]","rootCause",1],["29417-depositethandregistervalidators-allows-unauthorized-users-to","P2P — depositEthAndRegisterValidators transfers an uncapped SSV amount","audit-finding","AuditVault","2023-10","Ethereum",["vuln/access-control/missing-auth"],["access-control"],null,null,"P2P.org SSV proxy",null,"The SSV reserve is spent on a caller-supplied amount. The operator allow-list checks the operators in the payload, not that the caller is the operator. One 32 ETH deposit is enough to name the whole reserve.","rootCause",1],["29546-h-02-single-host-can-unfairly-skip-veto-period-for-proposal","Party Protocol — single host can unfairly skip the veto period for a proposal","audit-finding","AuditVault","2023-10",null,["vuln/access-control/identity-bypass","vuln/governance/veto-bypass"],["access-control","governance"],"Identity bypass: a threshold (\"all hosts accepted\") is counted by address slot, not by distinct, snapshot-verified identity","high","Party Protocol — collective on-chain governance/asset-ownership platform",null,"`numHostsAccepted == numHosts` is meant to mean \"every genuinely distinct host has reviewed and accepted this proposal.\" But `isHost` is a live, mutable mapping with no historical snapshot, and `abdicateHost` lets any host move their slot to a new address whenever they like — including mid-proposal. A single person can therefore occupy two \"host slots\" in sequence and satisfy the threshold alone.","rootCause",1],["28951-h-4-attacker-can-call-keeperfactorysettle-with-empty-arrays","Perennial KeeperFactory — empty settle arrays still pay the keeper","audit-finding","AuditVault","2023-10",null,["vuln/logic/missing-check","vuln/defi/fee-manipulation","vuln/logic/fee-calculation"],["logic","defi"],null,null,"Perennial",null,"`settle` treats \"the arrays agree with each other\" as \"there is work to pay for\". Four empty arrays agree, and `abi.encodeCall` of those arrays matches `msg.data`, so the stuffing check passes. The loop condition `i < ids.length` is false immediately. `IKeeperOracle.settle` is never called, which is the path that would have reverted if a market's callback list was empty. The `keep` modifier does not look at how many callbacks ran. It pays anyway.","rootCause",1],["28950-h-3-vault-max-redeem-calculations-limit-redeem-amount-to-the","Perennial: maxRedeem pays 1 of a 2000000 deposit","audit-finding","AuditVault","2023-10",null,["vuln/logic/price-calculation","vuln/logic/wrong-condition"],["logic"],null,null,"Perennial",null,"The cap uses only the current position. It does not compare that position with the target the vault would hold after the redeem. A market that is already far below its target still sets the vault-wide maximum.","rootCause",1],["2023-10-Platypus03","Platypus Finance (PoolSAvax) Exploit — Withdraw-While-Insolvent Coverage-Ratio Manipulation","incident","DeFiHackLabs","2023-10","Avalanche",["vuln/logic/incorrect-state-transition","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["logic","oracle","governance"],"Broken AMM invariant — withdrawal allowed while an asset is under-covered, letting `liability` be burned faster than `cash`, which inflates the surviving coverage ratio and corrupts the swap price curve",null,null,"~$2.0M","`_withdraw` lets an LP redeem from an under-covered asset, paying out only the `cash` available but destroying the full proportional `liability`. This is a *non-conservative* operation on the coverage ratio: Removing `Δcash = cash` and `Δliability = liabilityToBurn` (where `liabilityToBurn > cash`) makes the surviving `cash / liability` ratio larger, not smaller. [continues]","rootCause",1],["2023-10-pSeudoEth","pSeudoEth (pEth) Exploit — skim()-Pumped Reflection Token Drains the AMM Pool","incident","DeFiHackLabs","2023-10","Ethereum",["vuln/defi/slippage","vuln/oracle/spot-price"],["defi","oracle"],"Fee/reflection token whose per-transfer bonus is paid to the *AMM pair*, weaponized through Uniswap V2 `skim()` to inflate the pool's token balance against a frozen reserve",null,null,"~1.44 WETH","This is the classic fee/reflection-token × Uniswap-V2-`skim()` incompatibility, with a twist: the bonus is *additive and fixed* rather than a percentage, which makes the pump trivially repeatable. Three design facts compose into the drain: 1. The reflection bonus is paid to the AMM pair. A correct reflection token *excludes* AMM pairs (and the router) from receiving reflections; `pEth` does not. Every transfer into the pair mints +10 pEth into the pair's balance for free. 2. `skim(pair)` is a self-feeding pump. [continues]","rootCause",1],["35121-h-8-malicious-users-can-steal-reward-tokens-via-re-entrancy","Reward claim reentrancy pays twice — AuditVault synthetic reduction","audit-finding","AuditVault","2023-10",null,["vuln/reentrancy/single-function","vuln/logic/state-update"],["reentrancy","logic"],null,"high","[[Notional]] Leveraged Vaults: Pendle PT and Vault Incentives",null,"This bug report discusses a vulnerability in which malicious users can steal reward tokens through a re-entrancy attack. The vulnerability is caused by a function that updates account rewards during the redemption of vault shares. The function does not properly check for re-entrancy, allowing an attacker to repeatedly claim reward tokens and receive more than they are entitled to. This can result in the theft of reward tokens from the vault and other shareholders. [continues]","tldr",1],["2023-10-StarsArena","Stars Arena Exploit — buyShares Reentrancy Inflates the Price-Curve Weight","incident","DeFiHackLabs","2023-10","Avalanche",["vuln/reentrancy/single-function","vuln/logic/state-update"],["reentrancy","logic"],"Reentrancy via check-effects-interaction violation → price-curve weight manipulation",null,null,"266,102.97 AVAX","A single ordering mistake, amplified by a missing reentrancy guard and a permissionless setter: 1. Check-effects-interaction violated. `buyShares` performs external AVAX `call`s (subject fee, referral fee, overpayment refund) before it updates `sharesBalance` / share-length state. Any recipient that is a contract gets a reentrancy window with the contract in a half-updated state. 2. No `nonReentrant` guard. Nothing prevents reentering the contract during that window. [continues]","rootCause",1],["27587-h-2-winning-agent-id-may-be-uninitialized-when-game-is-over","The winning agent's id stays 0, so the 1,000 grand prize cannot be claimed","audit-finding","AuditVault","2023-10","Ethereum",["vuln/data/uninitialized","vuln/dos/frozen-funds"],["data","dos"],"`agents[1].agentId` is written only on a swap, so an unswapped winner has id 0 and the ownership check reverts",null,null,"1,000 prize tokens stay in the game","The id is lazy, and the claim treats zero as \"not the winner\" rather than \"this slot was never swapped, so the id is the rank\". The owner was stored. The id was not.","rootCause",1],["2023-10-UniBot","UniBot Router Exploit — Arbitrary External Call Drains Unlimited Approvals","incident","DeFiHackLabs","2023-10","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["dependency","access-control"],"Arbitrary external call with attacker-controlled target + calldata, combined with unlimited token approvals (approval-drain via a swap router)",null,null,"1,482.32 UNIBOT drained from 17 approving users","This is a textbook arbitrary-external-call bug compounded by the bot's approval model: 1. The router forwards attacker-controlled calldata to an attacker-influenced target with no allowlist. A swap router should only ever call known DEX functions on known DEX contracts (`swap`, `transferFrom` of the *caller's own* tokens, etc.). UniBot's `0xb2bd16ab` instead executes whatever `bytes data` it is handed. Whoever calls the router can make the router *be* the actor in an arbitrary call. [continues]","rootCause",1],["31192-h-3-reentrancy-in-vestingsolclaim-will-allow-users-to-drain","Vesting claim updates index after an external call — AuditVault synthetic reduction","audit-finding","AuditVault","2023-10",null,["vuln/reentrancy/single-function","vuln/logic/state-update"],["reentrancy","logic"],null,"high","[[Zap Protocol]]",null,"Issue H-3 is a vulnerability in the Vesting.sol contract that allows users to drain the contract by exploiting the claim() function. This is due to the contract executing.call() on the user's address before setting s.index = uint128(i). The vulnerability was found by multiple users and has been escalated for review. It is recommended to use a reentrancy guard to prevent this issue. Various discussions and escalations have taken place regarding the severity and validity of duplicate reports. [continues]","tldr",1],["2023-10-WiseLending","Wise Lending Exploit — First-Depositor Share Inflation via pseudoTotalPool Donation","incident","DeFiHackLabs","2023-10","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss"],["arithmetic"],"First-depositor / donation share-price inflation + division-rounding share theft (ERC4626-style)",null,null,"~$260,000","Two independent flaws compose into a critical theft: 1. The valuation denominator is attacker-controllable for free. `pseudoTotalPool` is supposed to reflect protocol-owned value, but `_cleanUp` lets *anyone* inflate it by `transfer`-ing tokens to the contract — no share is minted in exchange. So one (or a few) wei of shares can be made to \"own\" an arbitrarily large fraction of the pool. [continues]","rootCause",1],["2023-10-ZS","ZS Token Exploit — Permissionless destory_pair_amount() Pool-Reserve Burn","incident","DeFiHackLabs","2023-10","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Broken AMM invariant via a permissionless, un-compensated reserve burn",null,null,"~$14,026","A Uniswap-V2/PancakeSwap pair prices assets purely from its reserves and enforces `x·y ≥ k` only *inside `swap()`*. `sync()` exists to let the pair adopt its real token balances as reserves — it trusts that those balances move only through mint/burn/swap/transfers it can reason about. `destory_pair_amount` violates that trust directly: It destroys ZS held by the pair (`_burn(pancakePair, Burnamount)`) and then calls `pair.sync()`, telling the pair \"your ZS reserve is now this much smaller.\" [continues]","rootCause",1],["2023-09-0x0DEX","0x0 Privacy DEX (OxODex) Exploit — Forged LSAG Ring Signature + Stale _lastWithdrawal Pool Drain","incident","DeFiHackLabs","2023-09","Ethereum",["vuln/auth/signature-validation","vuln/logic/state-update"],["auth","logic"],"Broken ring-signature verification (cryptographic auth bypass) compounded by stale stored parameter (`_lastWithdrawal`)",null,null,"~$61K — ~49.85 ETH drained from the OxODex ETH pool","The hack is the composition of a cryptographic auth bypass and a value-binding bug: 1. Unbound ring-signature verification (primary). `LSAG.verify` accepts a signature whose `keyImage` and `s[]` scalars are unconstrained relative to the ring's public keys, so an attacker who controls the public keys (trivially — they deposit them) can satisfy the closing hash equation without any secret. [continues]","rootCause",1],["2023-09-APIG","APIG Token Exploit — Self-Transfer Balance-Doubling Bug Drains Two Pools","incident","DeFiHackLabs","2023-09","BNB Chain",["vuln/arithmetic/overflow","vuln/logic/state-update"],["arithmetic","logic"],"Broken ERC-20 `transfer` — self-transfer (`from == to`) doubles the sender's balance",null,null,"59.5 ETH + ~72,113.58 BSC-USD ≈ $169K drained from two PancakeSwap pools","A correct ERC-20 `transfer` must be a no-op on the sender's net balance when `from == to`: you cannot send tokens to yourself and end up richer. APIG's transfer violates this: 1. Self-transfer is not special-cased. The function caches `fromBalance`, performs its tax math, credits `to`, then debits `from`. When `from == to`, the credit and the stale-cached debit do not cancel — the balance is left at `old + amount`, i.e. doubled. 2. The doubling is unbounded and free. [continues]","rootCause",1],["2023-09-XSDWETHpool","BankX / XSD Exploit — Router swapXSDForETH() Triggers an Un-Compensated Pool Burn","incident","DeFiHackLabs","2023-09","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/oracle/price-manipulation","vuln/defi/slippage"],["logic","oracle","defi"],"Broken AMM constant-product invariant via an attacker-sized, un-compensated reserve burn (`_burn(pool) + sync()`)",null,null,"56.96 WBNB drained from the XSD/WBNB pool","A Uniswap-V2/PancakeSwap pair prices assets purely from its reserves and enforces `x·y ≥ k` only *inside `swap()`*. Burning one token from the pair and `sync()`ing is a unilateral, un-compensated reserve deletion that no honest AMM should ever perform on a live pool. BankX did exactly that, and made it externally reachable and attacker-scaled: 1. Burn amount is decoupled from swap economics. The burn is `amountInMax/10`, where `amountInMax` is the caller's slippage ceiling, not the value of the trade. [continues]","rootCause",1],["2023-09-BFCToken","BFCToken Exploit — lastTx Deferred Pool-Burn Desyncs PancakeSwap Reserves","incident","DeFiHackLabs","2023-09","BNB Chain",["vuln/defi/slippage","vuln/logic/state-update"],["defi","logic"],"Token-side burn of pool balance + `sync()` desyncs the AMM reserve from the real balance (broken `x·y=k` invariant)",null,null,"~$38K — 179.87 WBNB drained out of the attack","A Uniswap-V2 / PancakeSwap pair enforces `x·y ≥ k` only *inside `swap()`*. `sync()` exists so the pair can trust its token balances — it assumes balances only change via mint/burn/swap that the pair can reason about. `BFCToken` violates that trust: On a sell, BFCToken destroys BFC held by the pair (`super._transfer(pair, dEaD, lastTx)`), decrements supply, and calls `pair.sync()`, telling the pair \"your BFC reserve is now this much smaller.\" [continues]","rootCause",1],["2023-09-CEXISWAP","CEXISWAP Exploit — Unprotected initialize() + UUPS Arbitrary Upgrade Drain","incident","DeFiHackLabs","2023-09","Ethereum",["vuln/access-control/uninitialized-proxy","vuln/dependency/upgradeable-contract"],["access-control","dependency"],"Unprotected/uninitialized proxy initializer → privilege takeover → UUPS arbitrary upgrade & arbitrary-code `delegatecall`",null,null,"30,000 USDT","The attack composes two independent failures, each catastrophic on its own when combined with an upgradeable, fund-holding proxy: 1. Uninitialized / unprotected initializer (the entry). In the proxy pattern, the implementation's constructor does not run in the proxy's storage — initialization *must* happen by calling `initialize()` *through the proxy*, and it *must* be guarded so it can run only once. CEXISWAP's `initialize()` was reachable by an arbitrary caller at a block where the proxy already held 30,000 USDT. [continues]","rootCause",1],["2023-09-DAppSocial","DAppSocial Exploit — withdrawTokensWithAlt Credits Instead of Debiting the Depositor Ledger","incident","DeFiHackLabs","2023-09","Ethereum",["vuln/logic/incorrect-state-transition","vuln/arithmetic/underflow"],["logic","arithmetic"],"Sign-flip / inverted accounting — withdrawal adds to the user balance ledger instead of subtracting, enabling unlimited re-withdrawal",null,null,"~$16K — `10,335.88 USDT` + `6,592.36 USDC` of other depositors' funds drained from the esc","A withdrawal is value leaving the contract; the corresponding ledger entry must be decremented. `withdrawTokensWithAlt` increments it (or, equivalently, fails to enforce the debit against the caller actually being drained), so: 1. Inverted accounting. Pulling `amount` out *raises* the depositor's recorded claim instead of lowering it. After one delegated withdrawal the ledger says the depositor is owed *more*, not less. 2. No hard balance check in `withdrawTokens`. [continues]","rootCause",1],["2023-09-DEXRouter","DEXRouter Exploit — Unprotected functionCallWithValue Drains the Router's Native BNB","incident","DeFiHackLabs","2023-09","BNB Chain",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control on a privileged arbitrary-external-call-with-value primitive (CWE-284 / CWE-862)",null,null,"20 BNB","Two independent missing-access-control defects, either of which is fatal, compose into a trivial drain: 1. `functionCallWithValue` is a public, unguarded \"spend my balance on an arbitrary call\" primitive. `target`, `data`, and `value` are entirely attacker-controlled, and the native value is drawn from the contract's balance. A helper that needs to forward BNB to a *known, trusted* router must restrict either the caller (owner/role) or the `target` (hard-coded to the router) — this contract did neither. [continues]","rootCause",1],["34260-funds-may-freeze-on-the-timelock-if-the-beneficiary-does-not","dForce — 100 tokens freeze when the beneficiary cannot call claim","audit-finding","AuditVault","2023-09",null,["vuln/dos/frozen-funds","vuln/access-control/broken-logic"],["dos","access-control"],null,null,"dForce DefaultTimeLock",null,"Claim is both the release path and an authentication check that the beneficiary itself must satisfy. A beneficiary that is immutable and has no call path can never satisfy it. The tokens have already left the depositor.","rootCause",1],["34259-manipulation-of-global-daily-limits-on-timelockstrategy-mixb","dForce — one redeem fills the global daily limit and delays the next user 86400 seconds","audit-finding","AuditVault","2023-09",null,["vuln/logic/state-update","vuln/dos/lockup"],["logic","dos"],null,null,"dForce TimeLockStrategy",null,"The daily statistic is not keyed by the account that transferred. One large outgoing transfer moves every later transfer, including a tiny one, into a longer timelock. The owner can reset the asset data. Until then the bucket stays high.","rootCause",1],["27473-margin-callers-can-drain-the-tapp-during-liquidation-by-will","DittoETH — a long shortHintArray bills the TAPP for the gas","audit-finding","AuditVault","2023-09",null,["vuln/logic/liquidation-logic","vuln/dos/gas-limit","vuln/logic/missing-check"],["logic","dos"],null,null,"DittoETH",null,"Hints are an optional gas saving, not a bound. The loop charges a storage read per entry and skips cancelled, matched, and uninitialized orders. The fee handler adds that gas, priced at `block.basefee`, to the caller's reimbursement and subtracts it from the TAPP whenever the pool can cover it. A longer array is a larger bill, paid by the pool, and the liquidation still succeeds if one hint is the real short.","rootCause",1],["27465-flag-can-be-overriden-by-another-user-codehawks-dittoeth-git","DittoETH — Flag can be overridden by another user","audit-finding","AuditVault","2023-09",null,["vuln/logic/wrong-threshold","vuln/loss-of-funds/reward-theft","vuln/access-control/shared-resource"],["logic","loss-of-funds","access-control"],"Wrong threshold: compares elapsed time against `firstLiquidationTime` where `secondLiquidationTime` is required","medium","DittoETH — order-book perpetual-style protocol (Codehawks, 2023-09)",null,"DittoETH's liquidation flow has two time tiers: the flagger who flags a short gets an exclusive window (`firstLiquidationTime` → `secondLiquidationTime`) to liquidate it themselves and collect the reward; only after `secondLiquidationTime` should the flaggerId slot become available for reuse by anyone else. [continues]","rootCause",1],["27450-users-can-avoid-liquidation-while-being-under-the-primary-li","DittoETH — last short record refreshes updatedAt and dodges primary liquidation","audit-finding","AuditVault","2023-09",null,["vuln/logic/liquidation-logic","vuln/logic/state-update","vuln/logic/incorrect-state-transition"],["logic"],"Liquidation window reset on the overflow short record",null,null,"1,200 zETH of underwater collateral stays on short record 254","The overflow path and the liquidation clock share one field. Merging a fill is an economic update of debt and collateral. It is also, unconditionally, a write to the flag timestamp. On every id below 254 a new record gets its own `updatedAt`. Id 254 is reused, so the existing flag clock is overwritten.","rootCause",1],["27444-new-orders-can-overwrite-active-orders-when-order-id-reaches","DittoETH — New orders can overwrite active orders when order id reaches 65000","audit-finding","AuditVault","2023-09",null,["vuln/logic/linked-list-corruption","vuln/loss-of-funds/permanent-lock","vuln/access-control/missing-check"],["logic","loss-of-funds","access-control"],"Linked-list state corruption: an ambiguous \"is this the last order?\" check lets a cancel be re-run on an already-cancelled order, self-looping the ID-reuse free list","high","DittoETH — order-book perpetual-style protocol (Codehawks, 2023-09)",null,"The active-order list and the cancelled-order reuse chain share the SAME two struct fields (`prevId`/`nextId`) for two DIFFERENT purposes, both terminated by the same `TAIL`/`HEAD` sentinels. `cancelOrderFarFromOracle`'s \"is this the last order\" test (`nextId == TAIL`) cannot tell which purpose currently applies to a given order — so it happily re-processes an order that is *already* in the cancelled/reuse state. [continues]","rootCause",1],["27454-owner-of-a-bad-shortrecord-can-front-run-flagshort-calls-and","DittoETH — Owner of a bad ShortRecord can front-run flagShort calls AND liquidateSecondary","audit-finding","AuditVault","2023-09",null,["vuln/access-control/insufficient-guard","vuln/logic/liquidation-manipulation","vuln/dos/liveness"],["access-control","logic","dos"],"Insufficient guard: transfer validity is checked against Cancelled/flagged status, but never against collateral health","high","DittoETH — order-book perpetual-style protocol (Codehawks, 2023-09)",null,"A `ShortRecord`'s validity for flagging/liquidation is entirely determined by its `status` field. The transfer path is the ONLY code path that can change `status` to `Cancelled` outside of an actual liquidation — and it is fully owner-controlled and permissionless with respect to the position's own health. Nothing stops an owner from using it purely as an evasion tool the instant their position becomes dangerous.","rootCause",1],["27455-previous-nft-owner-can-burn-nft-from-the-new-owner-codehawks","DittoETH — previous NFT owner burns the NFT the buyer just paid for","audit-finding","AuditVault","2023-09",null,["vuln/access-control/missing-auth","vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["access-control","logic"],null,"high","DittoETH",null,"`deleteShortRecord` treats `tokenId` as leftover data. The NFT mapping is updated to the new owner, and a new short is created for them with the same id, but the cancelled short keeps its copy. Reviving a partial fill makes that copy combinable again. The burn path trusts `currentShort.tokenId != 0` and never asks whether `nft.owner` is still `msg.sender`.","rootCause",1],["27476-users-can-loose-collateral-when-exiting-a-short-codehawks-di","DittoETH — Users can lose collateral when exiting a short","audit-finding","AuditVault","2023-09",null,["vuln/logic/stale-snapshot","vuln/loss-of-funds/permanent-lock","vuln/logic/self-match"],["logic","loss-of-funds"],"Stale snapshot: pre-match debt/collateral values are used to decide disbursement AFTER a same-call self-match mutates the same state","high","DittoETH — order-book perpetual-style protocol (Codehawks, 2023-09)",null,"`exitShort` reads the `ShortRecord`'s state ONCE, before it can possibly change, then makes an irreversible decision (delete + disburse) based on that READ — without re-checking whether the intervening `createForcedBid` call changed the exact record it is about to delete. A self-match is the specific condition under which that assumption breaks: normally a match affects someone ELSE's order/record, but the orderbook does not exclude the caller's own resting orders from being matched.","rootCause",1],["27443-users-lose-funds-and-market-functionality-breaks-when-market","DittoETH — Users lose funds and market functionality breaks when market reaches 65k id","audit-finding","AuditVault","2023-09",null,["vuln/access-control/missing-check","vuln/loss-of-funds/permanent-lock","vuln/logic/missing-refund"],["access-control","loss-of-funds","logic"],"Missing refund: the far-from-oracle cancel path skips the escrow credit that the normal cancel path performs","high","DittoETH — order-book perpetual-style protocol (Codehawks, 2023-09)",null,"`ethEscrowed` (here `escrowed`) and the order linked-list are meant to stay in sync: cancelling an order must always credit back the escrow it was backed by. The owner-gated cancel path (`cancelBid`) does this correctly. The permissionless far-from-oracle cancel path was written against the same unlink primitive but never wired up the refund — an omission, not a deliberate design choice (nothing in the function's purpose requires skipping the refund).","rootCause",1],["51371-exploiting-zero-amountoutmin-in-dexwrappers-for-mev-attacks","Entangle Trillion DexWrapper accepts amountOutMin = 0 — MEV sandwich","audit-finding","AuditVault","2023-09",null,["vuln/defi/mev-sandwich","vuln/defi/missing-slippage-bound"],["defi"],null,null,null,null,"The Entangle Trillion DeFi layer swaps through thin *DexWrapper* contracts (the Halborn report names `UniswapHandler`; the on-chain-verified sibling used here is `RamsesWrapper`). The wrapper performs the swap with a caller-supplied `amountOutMin` and enforces no minimum of its own: Entangle's calling code passes `amountOutMin = 0`, so the protocol's trade has no slippage bound and executes at whatever price the pool is in when the transaction lands. [continues]","rootCause",1],["2023-09-FireBirdPair","FireBird Finance Exploit — Manipulable Protocol-Fee LP Mint Drains the WMATIC/HOPE Pool","incident","DeFiHackLabs","2023-09","Polygon",["vuln/defi/fee-manipulation","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["defi","oracle","governance"],"Manipulable protocol-fee accounting → inflated fee-LP mint → permissionless reserve drain (flash-loan amplified)",null,null,"~3,197.67 WMATIC profit in this tx","A correct AMM protocol fee must be a small fraction of accrued trading fees, fixed at the moment of accrual and bounded by them. FireBird instead: 1. Accumulates fees as an unbounded raw counter (`collectedFee += amountIn·swapFee`) that scales with *gross* swap volume, not net economic activity. Flash-loaned wash trading inflates it arbitrarily for ~zero cost (the round trip only pays the 0.20% fee, which is itself recycled into the counter). [continues]","rootCause",1],["2023-09-FloorDAO","FloorDAO Exploit — Self-Donated Rebase Inflates the Staking index, Over-Paying gFLOOR Redemptions","incident","DeFiHackLabs","2023-09","Ethereum",["vuln/logic/reward-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Rebase-accounting manipulation — staked principal mis-counted as reward profit, inflating the share `index`",null,null,"~40.15 WETH","`rebase()` defines reward as `contractBalance − stakedSupply`. This conflates two economically opposite quantities: Treasury yield (FLOOR minted/sent to the staking contract as genuine reward) — *should* be distributed. User-deposited principal (FLOOR a staker just transferred in) — *must not* be distributed; it is owed back to that staker. Because `stake()` transfers principal in and `unstake(_trigger=true)` re-runs `rebase()` in the same call, an attacker can: 1. Spike `contractBalance` with borrowed principal, [continues]","rootCause",1],["2023-09-HCT","HCT (CoinToken) Exploit — Reflection-Token burn() Deflates the Pool's Reserve to 1 wei","incident","DeFiHackLabs","2023-09","BNB Chain",["vuln/logic/state-update","vuln/defi/slippage","vuln/oracle/price-manipulation"],["logic","defi","oracle"],"Reflection-token accounting flaw — `burn()` mixes r-space and t-space, deflating other holders' balances; AMM price manipulation",null,null,"~$8.6K","A Uniswap-V2/PancakeSwap pair derives price purely from its reserves and trusts that a token's balance only changes through transfers/mints/burns it can reason about; `sync()` exists to let the pair adopt its *current* token balance as the new reserve. `CoinToken` violates that trust at the accounting layer: A holder's visible balance is a global function of `_tTotal`. [continues]","rootCause",1],["2023-09-HeavensGate","Heavens Gate (HATE) Exploit — Rebase-Index Inflation via Permissionless stake/unstake Looping","incident","DeFiHackLabs","2023-09","Ethereum",["vuln/logic/reward-calculation","vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["logic","access-control","oracle"],"OlympusDAO-fork rebase accounting flaw — permissionless `rebase()` + index inflation lets a flash-loan-dominated staker mint redeemable `sHATE` out of accrued rebase rewards",null,null,"~7.85 ETH","The OlympusDAO staking design assumes rewards drip slowly to a broad, *static* set of stakers between epochs. This fork broke that assumption in three ways that compose: 1. `rebase()` is permissionless and bundled into `stake`/`unstake`. The attacker — not an honest keeper — controls *when* the epoch advances and the distribution is split. They advance it at the exact instant they hold the majority of circulating sHATE. 2. The reward is split by *instantaneous* circulating supply. [continues]","rootCause",1],["2023-09-JumpFarm","JumpFarm Exploit — Single-Transaction Rebase Inflation in OlympusDAO-style Staking","incident","DeFiHackLabs","2023-09","Ethereum",["vuln/logic/reward-calculation","vuln/access-control/missing-auth"],["logic","access-control"],"Same-transaction multi-rebase inflation in OlympusDAO-fork staking (`stake`/`unstake` both call `rebase()`, and `rebase()` can fire repeatedly within one block)",null,null,"~2.406 WETH","The protocol assumes rebases happen at most once per epoch in real time, paced by the passage of wall-clock days. The implementation never enforces that. Three concrete flaws compose: 1. Time-debt batching, not rate-limiting. `rebase()` consumes *one* queued epoch per call but places no cap on how many calls can happen in a single block. When the protocol is behind by N epochs (here ~60), an attacker can pull all N rebases into one transaction by calling `stake`/`unstake` repeatedly. [continues]","rootCause",1],["27744-bypassing-payment-fees-through-various-methods-mixbytes-none","Leaving 2 wei on the executor rounds a 10 fee down to 0 and the caller keeps 1,000","audit-finding","AuditVault","2023-09","Ethereum",["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],"The fee is a percentage of whatever output is still on the executor, so a final transfer that leaves 2 wei makes the fee 0",null,null,"The fee recipient is paid 0 instead of 10","The fee base is \"what happens to be left here\", and the caller chooses the path that decides what is left. The fee is not taken on the output the path produced.","rootCause",1],["27233-c-01-collateral-double-spend-post-liquidation-is-possible-pa","Lumin — Collateral double-spend post liquidation is possible","audit-finding","AuditVault","2023-09",null,["vuln/logic/accounting-desync","vuln/loss-of-funds/bad-debt","vuln/access-control/missing-check"],["logic","loss-of-funds","access-control"],"Accounting desync: decrements `lockedAmount` but never `depositAmount` on liquidation","high","Lumin — lending protocol (collateral/loan accounting core)",null,"`depositAmount` and `lockedAmount` are meant to move together during a seize: collateral that leaves the borrower's *locked* bucket must also leave their *deposit* bucket, since it has been paid out to someone else. The Seize branch only updates one side of that pair. The withdrawal gate (`depositAmount - lockedAmount`) then computes a \"free balance\" that still counts funds that no longer belong to the borrower.","rootCause",1],["27234-h-01-disabled-lenders-loan-configuration-can-be-used-by-a-bo","Lumin — Disabled lender's loan configuration can be used by a borrower","audit-finding","AuditVault","2023-09",null,["vuln/access-control/missing-check","vuln/logic/state-flag-ignored"],["access-control","logic"],"Missing check: a state flag is set and can be flipped, but the function that should honor it never reads it","high","Lumin — lending protocol (loan configuration / loan-creation core)",null,"`enabled` is a first-class, mutable piece of state — a lender can create it, read it, and flip it — but no code path that consumes `LoanConfig` ever consults it. The `createLoan` entry point validates only the numeric `availablePrincipal` cap, leaving `enabled` a dead flag: setting it has no observable effect on protocol behavior.","rootCause",1],["26477-h-01-last-nft-from-the-supply-cant-be-minted-pashov-none-mus","MuseumOfMahomes — last NFT of the supply can't be minted (off-by-one >=)","audit-finding","AuditVault","2023-09",null,["vuln/logic/off-by-one","vuln/dos/permanent-mint-block","vuln/loss-of-funds/protocol-value-loss"],["logic","dos","loss-of-funds"],"Off-by-one: `>=` should be `>`","high","MuseumOfMahomes — ERC721 NFT collection (mint / mintPhysical)",null,"`MAX_SUPPLY` is a *count* (3090 tokens), and the highest valid tokenId is `MAX_SUPPLY-1`. Reaching a full collection means `nextId + amount == MAX_SUPPLY`. The `>=` comparison rejects that boundary case, so the last unit is unreachable. The correct guard is `>`: it only rejects sums that would *exceed* the supply.","rootCause",1],["29423-h-1-when-reserveduntiltokenid-100-first-funder-loss-1-nft-sh","Nouns Builder — when reservedUntilTokenId > 100, first founder loses 1% NFT","audit-finding","AuditVault","2023-09",null,["vuln/logic/wrong-condition","vuln/state/unreachable-storage-slot","vuln/loss-of-funds/direct-drain"],["logic","state","loss-of-funds"],"Unreachable storage slot: a value is written outside the range any real lookup ever queries","high","Nouns Builder — NFT DAO auction/funding protocol",null,"The scheduling function and the lookup function disagree about the domain of valid token ids: the scheduler writes at the raw `reservedUntilTokenId` (unbounded), while the lookup always reduces via `% 100` (bounded to `[0, 99]`). Whenever `reservedUntilTokenId >= 100`, the very first slot the scheduler writes falls outside the domain the lookup ever queries, and is lost forever — the founder's promised allocation shrinks by exactly one slot.","rootCause",1],["47891-incorrect-timestamp-calculation-ottersec-none-opentrade-pdf","OpenTrade: the early-redeem deadline subtracts the transfer-in window twice","audit-finding","AuditVault","2023-09",null,["vuln/logic/incorrect-order-of-operations","vuln/logic/wrong-condition"],["logic"],null,null,"OpenTrade Loan",null,"The two window fields are not the same number. Subtracting the transfer-in window from itself drops the transfer-out window from the formula. The deadline moves later by `transferOut - transferIn` days, here 3 days. Early redeem is allowed through that later timestamp, so principal is released during a period that should already be closed.","rootCause",1],["2023-09-QuantumWN","Quantum Wealth Network (QWA) Exploit — Re-entrant rebase() Reward Harvest via stake/unstake Looping","incident","DeFiHackLabs","2023-09","Ethereum",["vuln/logic/reward-calculation","vuln/access-control/missing-auth","vuln/governance/flash-loan-attack"],["logic","access-control","governance"],"Re-entrant / repeatable rebase reward distribution — accumulated epoch rewards harvested by a single looping staker",null,null,"~0.578 WETH","The reward-distribution accounting is correct only if `rebase()` runs at most once per block and rewards are split across all stakers over real elapsed time. The implementation violates both assumptions: 1. No replay guard on `rebase()`. It is `public`, reachable from both `stake` and `unstake`, and re-callable any number of times in one transaction as long as a backlog of stale epochs exists. [continues]","rootCause",1],["2023-09-Kub_Split","Split (Kub) Exploit — Self-Doubling Balance via Manipulable On-Chain \"Token Price\" Oracle","incident","DeFiHackLabs","2023-09","BNB Chain",["vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/logic/state-update"],["oracle","logic"],"Balance/supply inflation driven by an instantaneous, attacker-manipulable on-chain price \"oracle\"",null,null,"~$22.2K","`Split` derives a security-relevant decision (whether to inflate everyone's balances) from `getTokenPrice()`, which is nothing more than an instantaneous read of AMM pool reserves the attacker can fill at will. There is no TWAP, no admin gate, no rate-limit, and the inflation is *unbounded* — `_total`/`_balance` multiply by 2 once per unit the lagging counter is behind. Concretely, four design faults compose into a critical exploit: 1. Spot-price-driven control flow. [continues]","rootCause",1],["44921-methods-related-to-staking-on-sidevault-contract-encode-inco","Tradable — side-vault stake encodes the wrong function","audit-finding","AuditVault","2023-09",null,["vuln/bridge/missing-validation","vuln/logic/wrong-condition"],["bridge","logic"],"The cross-chain stake names a function the staking vault does not implement","high","Tradable `SideVault.stakingAccountDeposit`",null,"The side vault and the margin vault do not share a deposit function. The stake path was encoded with the margin selector and aimed at the staking vault. The selector does not exist there, so every stake through this function reverts at the destination.","rootCause",1],["44920-missing-onlygelatorelay-modifier-zokyo-none-tradable-markdow","Tradable Side Vault — withdrawalRequestForUser has no onlyGelatoRelay, so any caller is paid","audit-finding","AuditVault","2023-09","Ethereum",["vuln/access-control/missing-modifier","vuln/logic/missing-check"],["access-control","logic"],"Relay-only function is missing its modifier",null,null,"1000 tokens paid from the vault to a caller that is not the Gelato relay","The ForUser functions exist so a relay can submit a user's action. The only difference from the direct functions is `_msgSender()`. Without `onlyGelatoRelay`, that difference does not restrict the caller. `_msgSender()` returns the caller, and the body pays `amount` to that address out of the vault. There is no check that the caller deposited `amount`, and there is no check that the caller is Gelato.","rootCause",1],["2023-09-uniclyNFT","Unicly PointFarm Exploit — ERC1155 Reentrancy Inflates Reward Points to Steal a LootRealms NFT","incident","DeFiHackLabs","2023-09","Ethereum",["vuln/reentrancy/cross-function","vuln/logic/reward-calculation"],["reentrancy","logic"],"ERC1155 reentrancy (read-only-balance / state-update-after-callback) in a MasterChef-style reward accountant",null,null,"1 NFT — LootRealms #4689","A reentrancy caused by violating checks-effects-interactions in a reward accountant whose reward token performs an external callback on mint: 1. State-update-after-interaction. `deposit()` mints the reward (an external `onERC1155Received` callback) before writing `user.rewardDebt`. The variable that enforces \"pay each reward once\" is updated last. 2. The reward token is itself a callback token. [continues]","rootCause",1],["28832-h-01-primesol-user-can-claim-prime-token-without-having-any","Venus Prime — stale staking timestamp permits a free revocable Prime claim","audit-finding","AuditVault","2023-09",null,["vuln/logic/incorrect-state-transition","vuln/logic/state-update"],["logic"],null,"high","Venus",null,"Eligibility state is coupled to the stake lifecycle but is not reset on every token state transition that invalidates the prior eligibility context. The stale timestamp is subsequently trusted by `claim` as though the user were still staked.","rootCause",1],["26461-c-02-operator-can-still-claim-rewards-after-being-removed-fr","A removed operator still claims 1,000 rewards because removal does not touch the balance","audit-finding","AuditVault","2023-08","Ethereum",["vuln/logic/reward-calculation","vuln/access-control/broken-logic"],["logic","access-control"],"`deleteOperators` clears `isOperator` and leaves `operatorRewards` unchanged",null,null,"The removed operator claims 1,000 rewards","The operator flag and the reward balance are separate, and only the flag is updated. Claim does not check `isOperator`. Whoever is still in the mapping gets paid.","rootCause",1],["2023-08-Balancer","Balancer Boosted Pools Exploit — Linear-Pool getRate() Inflation via BPT Supply Drain + Precision Loss","incident","DeFiHackLabs","2023-08","Ethereum",["vuln/oracle/price-manipulation","vuln/arithmetic/precision-loss","vuln/arithmetic/rounding"],["oracle","arithmetic"],"Manipulable, instantaneously-computed share price (`getRate()`) + rounding-to-zero precision loss → cross-pool oracle/cache poisoning",null,null,"~$2.1M total across all affected Balancer V2 boosted pools","The bug is the composition of three individually-reasonable design choices: 1. `getRate()` is a spot price with a manipulable denominator. It is `value / circulatingSupply`, and circulating supply is just `totalSupply − VaultBPT`. Because BPT is freely swappable through the Vault, anyone can shrink the divisor arbitrarily within one transaction. There is no TWAP/oracle and no floor on the supply used in the division. 2. `LinearMath` rounds the main-token payout down to zero in a thinned pool. [continues]","rootCause",1],["2023-08-BTC20","BTC20 / 24Pixels Presale Exploit — Spot-AMM Price Oracle Manipulation in buyWithEthDynamic()","incident","DeFiHackLabs","2023-08","Ethereum",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"Price-oracle manipulation — presale prices its tokens off a spot Uniswap V2 reserve via `getAmountsIn`, manipulable inside one transaction with a flash loan",null,null,"~18 ETH reported on-chain","The presale uses a single-block spot AMM reserve as its pricing oracle. A Uniswap V2 pair's `getReserves()` (and therefore `getAmountsIn`) reflects the *current* state of the pool, which any actor can move arbitrarily within the same transaction using a flash loan. Pricing a primary token sale off that number means the sale price can be driven to near-zero on demand. Three design choices compose into the loss: 1. Spot oracle, not TWAP. `getAmountsIn` reads instantaneous reserves. [continues]","rootCause",1],["26973-h-05-it-is-possible-to-dos-all-the-functions-related-to-some","Canto (veRWA) — an integer underflow can permanently DoS a gauge in GaugeController","audit-finding","AuditVault","2023-08",null,["vuln/arithmetic/underflow","vuln/dos/frozen-funds","vuln/logic/incomplete-state-reset"],["arithmetic","dos","logic"],"Integer underflow from an incomplete state reset: `change_gauge_weight` overwrites a checkpoint's `bias` but never its `slope`","high","Canto veRWA — `GaugeController.sol`, a Solidity port of Curve DAO's gauge weight voting system",null,"The checkpoint's `bias` and `slope` are supposed to evolve together — `slope` is only ever meant to be reduced by consuming a scheduled `changes_weight` entry exactly when the walk reaches that entry's timestamp. `change_gauge_weight` breaks this invariant by rewriting `bias` out of band. Once `bias` is forced to (or naturally decays to) `0`, `slope` gets zeroed too via the `else` branch — but without consuming whatever `changes_weight` entries lie ahead. [continues]","rootCause",1],["26976-h-08-if-governance-removes-a-gauge-users-voting-power-for-th","Canto (veRWA) — removing a gauge permanently strands a voter's voting power","audit-finding","AuditVault","2023-08",null,["vuln/access-control/missing-state-reset","vuln/governance/stranded-voting-power","vuln/logic/incomplete-invalidation"],["access-control","governance","logic"],"Incomplete invalidation: removing a gauge invalidates the gauge but not outstanding per-voter state that references it","high","Canto veRWA — `GaugeController.sol`, a Solidity port of Curve DAO's gauge weight voting system",null,"`remove_gauge` treats \"invalidate the gauge\" and \"invalidate everyone's votes on the gauge\" as the same operation, but only does the first. The gauge's *global* weight is reset, yet every voter's *individual* `vote_user_power` / `vote_user_slopes` entry for that gauge survives untouched. [continues]","rootCause",1],["26974-h-06-users-may-be-forced-into-long-lock-times-to-be-able-to","Canto (veRWA) — undelegating back to yourself can force a 5-year lock extension","audit-finding","AuditVault","2023-08",null,["vuln/logic/wrong-comparison-operand","vuln/governance/forced-lock-extension","vuln/access-control/missing-caller-check"],["logic","governance","access-control"],"Wrong comparison operand: the check compares against the lock being vacated, not the caller's own lock","high","Canto veRWA — `VotingEscrow.sol`, forked from FIAT DAO's `VotingEscrow`",null,"The check is meant to stop voting power from outliving the CANTO backing it — i.e., you should only be able to delegate power INTO a lock that unlocks at least as late as the power's own origin. That's the right rule for the delegate direction. For the undelegate direction, the \"origin\" and the \"destination\" are the SAME lock (the caller's own) — but the code still compares against the OLD delegatee's lock, a value that has nothing to do with whether the caller is entitled to their own power back.","rootCause",1],["26975-h-07-lack-of-access-control-in-lendingledgersolcheckpoint-le","Canto (veRWA) — unguarded checkpoint_lender/checkpoint_market let anyone grief a lender's reward to 0","audit-finding","AuditVault","2023-08",null,["vuln/access-control/missing-modifier","vuln/dos/griefing","vuln/logic/incomplete-guard"],["access-control","dos","logic"],"Missing access control combined with an incomplete guard around historical-gap propagation","high","Canto veRWA — `LendingLedger.sol`, the reward-accrual ledger for whitelisted lending markets",null,"Two independent gaps compound into one bug: 1. No caller restriction. These functions are documented as \"never needs to be called explicitly\" — an optimization for reducing gas on other calls — but nothing stops an arbitrary, unrelated address from calling them with an adversarial `_forwardTimestampLimit`. 2. The epoch tracker advances unconditionally. [continues]","rootCause",1],["26347-h-2-liquidatepositionspartya-limits-partyb-loss-to-partyb-al","Capping each partyB loss at the current balance turns a 40 credit into a 1,000 withdrawal","audit-finding","AuditVault","2023-08","Ethereum",["vuln/logic/state-update","vuln/logic/liquidation-logic"],["logic"],"Each partyB loss is capped by partyB's allocated balance at that moment, so loss-then-profit drops the loss",null,null,"PartyB withdraws 1,000 of other users' cash","The cap is applied per position against a balance the same liquidation is about to change. A loss that arrives while the balance is 0 disappears. A later profit does not look back at it.","rootCause",1],["2023-08-CurveBurner","Curve UnderlyingBurner.execute() — Zero-Slippage Sandwich on the 3pool","incident","DeFiHackLabs","2023-08","Ethereum",["vuln/defi/sandwich-attack","vuln/defi/slippage","vuln/access-control/missing-auth"],["defi","access-control"],"Permissionless AMM deposit with zero slippage protection (`min_mint_amount = 0`) → MEV sandwich",null,null,"~$36,700","A Curve StableSwap deposit is, economically, a swap-plus-mint: putting in only the surplus coin (USDT) while the pool is starved of the others (DAI/USDC) is equivalent to selling USDT into the pool at a depressed price. The `min_mint_amount` parameter is what lets a depositor say *\"only execute if I get at least X LP back\"* — i.e., *\"don't let me be sandwiched.\"*; `UnderlyingBurner.execute()` violates this in the worst way: 1. `min_mint_amount` hard-coded to `0`. [continues]","rootCause",1],["2023-08-EAC","EAC Exploit — Permissionless _swapUForToken() Drains the Fund Contract into a Thin Pool","incident","DeFiHackLabs","2023-08","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/sandwich-attack","vuln/oracle/spot-price"],["access-control","defi","oracle"],"Missing access control on a fund-spending function + thin-pool price manipulation (sandwich around a forced victim buy)",null,null,"≈ 6,377 USDT","A Uniswap-V2/PancakeSwap pair prices the two assets purely from its reserves along the constant product `x·y = k`. The marginal price is `reserveUSDT / reserveEAC`. Because the EAC reserve was only 3,511.79 EAC, the price was fragile. The fund's `_swapUForToken` violates two basic safety principles at once: [continues]","rootCause",1],["2023-08-EarningFram","EarningFarm (ENF) Exploit — Withdraw Reentrancy via ETH-Push-Before-Burn in EFVault","incident","DeFiHackLabs","2023-08","Ethereum",["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Reentrancy — external ETH push to `receiver` before `_burn` of shares; shares are moved away during the callback so the burn destroys only 1 wei",null,null,"~$286K","A withdrawal destroys the value receipt (shares) only after handing out the underlying asset, and it trusts whatever `balanceOf(msg.sender)` reads after an attacker-controlled callback. In a correct ERC4626 withdraw, shares are burned before assets leave the contract (`_withdraw` in OZ burns first, transfers last). `EFVault` does the opposite and pays in native ETH routed to an arbitrary `receiver`, which is the strongest possible re-entry primitive (every contract has a `receive`/`fallback`). [continues]","rootCause",1],["2023-08-EHIVE","EHIVE Exploit — stake() Updates staked Before Computing earned, Inflating Rewards","incident","DeFiHackLabs","2023-08","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/logic/reward-calculation"],["logic"],"Stake-accounting ordering bug — `staked` is increased *before* `earned` is recomputed, so the freshly-deposited principal is paid 38 days of retroactive APR",null,null,"~$15K — 9.3258 WETH net profit drained from the EHIVE/WETH pool","A correct linear-reward staking implementation must settle the reward earned on the OLD principal up to now, THEN add the new principal, THEN reset the clock. EHIVE does the first two in the wrong order: `staked += stakeAmount` runs *before* `_userEarned()` is evaluated, while `start` still points to the old deposit time. So `_userEarned` multiplies the new, larger `staked` by the full old elapsed time. Every wei of freshly-added principal is paid retroactive interest for a period it was never staked. [continues]","rootCause",1],["2023-08-Exactly","Exactly Protocol Exploit — DebtManager Permit-Spoofed _msgSender Lets Anyone Act On Behalf Of Any Account","incident","DeFiHackLabs","2023-08","Base",["vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition"],["access-control","logic"],"Broken authentication — spoofable `permit`-driven `_msgSender` allows arbitrary impersonation; downstream collateral seizure / liquidation",null,null,"~$7.3M total across all Exactly markets","The authentication of \"is this account's owner consenting?\" is delegated to a contract that the attacker chooses. Concretely, three design decisions compose into a critical break: 1. `safePermit` trusts an attacker-selectable `token`. It treats \"nonce advanced by exactly 1\" as proof of a valid signature. A malicious `permit()` that ignores `(v, r, s)` and just bumps the nonce defeats it. [continues]","rootCause",1],["2023-08-GSS","GSS Exploit — Fee-on-Transfer / Reflection Token Drained via Cross-Pool skim()","incident","DeFiHackLabs","2023-08","BNB Chain",["vuln/defi/slippage","vuln/logic/state-update"],["defi","logic"],"Fee-on-transfer / reflection token + PancakePair `skim()` reserve-vs-balance desynchronization",null,null,"~$24,883","The constant-product AMM model assumes `balanceOf(pair, token) == reserve` except for genuine, one-directional donations. PancakeSwap's `skim()` exists precisely to refund those donations. GSS violates the assumption: 1. The token mutates pair balances during `transfer`. Fees, the 3×`1e13` airdrop, the burn, the dividend, and the `swapAndDividend0` router round-trip all run `super._transfer` touching the pair address, so after any GSS transfer involving a pair, `balanceOf(pair) ≠ reserve0`. [continues]","rootCause",1],["2023-08-Leetswap","LeetSwap V2 Exploit — Public _transferFeesSupportingTaxTokens() Drains the Pair's Reserves","incident","DeFiHackLabs","2023-08","Base",["vuln/access-control/broken-logic","vuln/logic/missing-check"],["access-control","logic"],"Broken function visibility — internal accounting helper exposed as `public`, allowing permissionless reserve drain",null,null,"~$630,000","The single defect is wrong function visibility: an internal fee-accounting helper was compiled as a `public` function. Everything else follows mechanically: 1. Permissionless reserve removal. `_transferFeesSupportingTaxTokens` lets anyone push the pair's holdings of an arbitrary token to the `fees` contract. The pair never checks that the caller is itself, nor that the move corresponds to a real fee event. 2. A public, unguarded `sync()` legitimizes the theft. [continues]","rootCause",1],["27048-h-02-by-delegating-to-a-non-transcoder-a-delegator-can-reduc","Livepeer — By delegating to a non-transcoder, a delegator can reduce someone else's vote tally","audit-finding","AuditVault","2023-08",null,[],["untagged"],null,"high","Livepeer",null,"1. Non-transcoder Alice votes For with 100; Carol For 5000 → For=5100.\\n2. Bob delegates 1000 to Alice, votes Against.\\n3. Override subtracts 1000 from For without Alice ever holding that weight.\\n4. For=4100, Against=1000 — double influence.","tldr",1],["27047-h-01-underflow-in-updatetranscoderwithfees-can-cause-corrupt","Livepeer — Underflow in updateTranscoderWithFees can cause corrupted data and loss of winning tickets","audit-finding","AuditVault","2023-08",null,[],["untagged"],null,"high","Livepeer",null,"1. treasuryRewardCutRate stored as PreciseMathUtils % (1e27).\\n2. updateTranscoderWithFees uses MathUtils.percOf (1e6).\\n3. 10% cut (1e26) → treasuryRewards >> rewards → underflow.\\n4. Ticket redeem after skipped reward always reverts; ticket expires; fees lost.","tldr",1],["2023-08-NeutraFinance","Neutra Finance Exploit — Convert.getAmountOut() Prices LP by a Spot-Manipulable Reserve","incident","DeFiHackLabs","2023-08","Arbitrum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Spot-price (reserve) manipulation feeding a token-migration valuation oracle",null,null,"~$48K — attacker net +23.57 WETH intra-transaction","A Uniswap-V2 / Camelot pair's `getReserves()` is the instantaneous balance of the pool. It is *not* a price; it is one input to a price, and it moves the instant anyone swaps. `Convert` treats `reserveWETH / totalSupply` as the authoritative redemption value of an LP share, with no manipulation resistance whatsoever: No TWAP, no oracle, no snapshot, no proof that the LP is actually redeemable for that much. [continues]","rootCause",1],["26460-c-01-operators-can-cast-an-extra-vote-to-get-voting-majority","Smoothly — one operator's second vote counts as 2 and pays 1000","audit-finding","AuditVault","2023-08",null,["vuln/governance/proposal-manipulation","vuln/logic/incorrect-state-transition","vuln/logic/wrong-condition"],["governance","logic"],null,null,"Smoothly PoolGovernance",null,"The value compared with the 66 percent bar is the pre-decrement count. A repeat of the same vote increments and then decrements the same slot, so the stored total returns to 1, but the decision already used 2.","rootCause",1],["2023-08-SVT","SVT Exploit — Broken AMM Pricing Round-Trip Drain (flash-loan funded)","incident","DeFiHackLabs","2023-08","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/price-calculation"],["oracle","logic"],"Broken / non-constant-product AMM pricing — asymmetric buy vs. sell price enables a profitable round-trip that drains the quote reserve",null,null,"≈ 397,782 BUSD profit to the attacker, drained from the SVT/BUSD pool's BUSD reserve","The SVT pool's `buy` and `sell` prices are asymmetric and not bound by a preserved invariant. Buying SVT moves the price up far less than selling the same SVT moves it down (or the buy/sell sides read from inconsistent price sources), so an attacker who buys then immediately sells extracts the pool's BUSD reserve. Concretely, the four design failures that compose into a critical bug: 1. No constant-product / arbitrage-free guarantee. [continues]","rootCause",1],["26346-h-1-liquidatepartya-requires-signature-which-doesnt-have-non","SYMMIO liquidatePartyA accepts a replayable, nonce-free Muon liquidation signature","audit-finding","AuditVault","2023-08",null,["vuln/signature/replay","vuln/defi/liquidation"],["signature","defi"],null,null,null,null,"`LibMuon.verifyLiquidationSig` builds the hash the Muon oracle signs from `reqId`, `liquidationId`, `upnl`, `totalUnrealizedLoss`, `symbolIds`, `prices`, `timestamp` and the chain id — but no `partyANonces[partyA]` / `partyBNonces` term (`src/symm/contracts/libraries/LibMuon.sol`, the `verifyLiquidationSig` payload). Every *other* Muon schema in the same file (`verifyPartyAUpnl`, `verifyPairUpnl`, …) DOES include the party nonce, so their signatures are invalidated the moment a party acts. [continues]","rootCause",1],["2023-08-Uwerx","Uwerx (WERX) Exploit — Burn-on-Transfer-to-Pool + skim() Reserve Collapse","incident","DeFiHackLabs","2023-08","Ethereum",["vuln/defi/slippage","vuln/logic/state-update"],["defi","logic"],"Fee-on-transfer / deflationary-token logic error → AMM constant-product invariant break via `_burn(pool)` + `skim`/`sync`",null,null,"174.79 WETH profit","A fee-on-transfer token must never be allowed to mutate balances *inside* an AMM pair without the pair accounting for it through `swap`/`mint`/`burn`. `Uwerx` violates this in the most dangerous way and then leaves the gate wide open: 1. The tax/burn is keyed on a mutable, mis-configured address (`uniswapPoolAddress`), left at the default `0x01`. This makes *any* transfer to `0x01` a token-destroying operation, and `0x01` is freely choosable by an attacker as a `skim` / transfer recipient. [continues]","rootCause",1],["44897-an-attacker-can-make-victims-deposit-be-locked-forever-zokyo","Vaultka — a 1-unit deposit resets the victim's unlock","audit-finding","AuditVault","2023-08","Ethereum",["vuln/dos/frozen-funds","vuln/governance/timelock-bypass"],["dos","governance"],null,null,"Vaultka",null,"The timelock is per receiver, and every deposit overwrites it with a full `lockTime` measured from now. A deposit made for someone else is enough. Repeating a 1-unit deposit before the new unlock keeps the funds frozen. `lockTime` here is 30 days.","rootCause",1],["2023-08-Zunami","Zunami UZD Exploit — Spot-Price totalHoldings() Inflation via SDT Donation","incident","DeFiHackLabs","2023-08","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Manipulable spot-price valuation inside `totalHoldings()` + donatable reward balance → rebase-price (`lpPrice`) inflation",null,null,"~$2.1M","`lpPrice` (the rebase price) is a function of strategy value / supply, and the strategy value trusts: 1. a raw ERC20 balance (`sdt.balanceOf(this)`) that anyone can inflate by donation, and; 2. a single-block AMM spot price to convert that balance to USD. A correct holdings calculation must value reward tokens at a manipulation-resistant price (a TWAP/oracle, or only the amount actually *realized* via a slippage-checked swap), and must not let a donated balance count as protocol value. [continues]","rootCause",1],["55633-h-01-payments-for-coupons-to-booster-are-irretrievable-0x52","[H-01] Buffer Finance v2.5 — payments for coupons to the Booster are irretrievable","audit-finding","AuditVault","2023-07",null,["vuln/logic/locked-funds","vuln/accounting/fee-sink"],["logic","accounting"],null,null,null,null,"The audited `Booster` at commit `84b6060` collects coupon payments into itself: The full `Booster` surface is: `setConfigure`, `getUserBoostData`, `updateUserBoost`, `getBoostPercentage`, `setPrice`, `setBoostPercentage`, `buy`, plus the inherited `Ownable` / `AccessControl` role helpers. None of them transfer an ERC20 out of the contract, and there is no `fallback`/`receive`. Every unit paid for a coupon is therefore permanently frozen — neither the payer, the owner, nor the admin can recover it. [continues]","rootCause",1],["2023-07-ApeDAO","ApeDAO (APE2) Exploit — Permissionless goDead() Pool-Reserve Burn + skim() Tax Pump","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/spot-price","vuln/defi/slippage"],["access-control","oracle","defi"],"Broken AMM invariant via a permissionless, un-compensated pool-reserve burn + skim-based tax amplification",null,null,"~7,522.88 BUSDT","A Uniswap-V2/PancakeSwap pair prices assets purely from its cached reserves and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists so the pair can adopt its real balance as the reserve — it trusts that balances only change through `mint`/`burn`/`swap`/transfers it can reason about. APE2 violates that trust twice over: `goDead()` destroys APEDAO held by the pair (`_rawTransfer(pair, 0xdEaD, …)`) and then calls `pair.sync()`, telling the pair \"your APEDAO reserve is now this much smaller.\" No BUSDT leaves. [continues]","rootCause",1],["2023-07-ArcadiaFi","Arcadia Finance Exploit — Reentrant Self-Liquidation Drains the Lending Pools","incident","DeFiHackLabs","2023-07","Ethereum",["vuln/reentrancy/cross-contract","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Cross-contract reentrancy via attacker-supplied action handler → self-liquidation that erases debt while collateral is already off-vault",null,null,"~$334K recovered at this fork block","The protocol's \"optimistic action, validate at the end\" model assumes the vault is still a debtor when control returns, so that `vaultManagementAction`'s final health check (or `doActionWithLeverage`'s `trustedCreditor == address(this)` check) catches under-collateralisation. The reentrancy breaks every assumption that makes the final check meaningful: 1. No reentrancy guard on the leveraged-action path. [continues]","rootCause",1],["2023-07-AzukiDAO","AzukiDAO (Bean) Exploit — Signature-Replay Mint via Unenforced signatureClaimed Guard","incident","DeFiHackLabs","2023-07","Ethereum",["vuln/auth/signature-replay","vuln/logic/missing-check"],["auth","logic"],"Signature replay — claimed-signature guard written but never read (broken anti-replay)",null,null,"~$69,000","A signature-gated claim must be idempotent: a given authorization may be redeemed exactly once. The canonical defenses are (a) a per-signature/per-nonce \"used\" flag that is *checked before* paying out, or (b) binding a monotonic nonce into the signed message. `Bean` attempted (a) — it has the `signatureClaimed` map — but the check was omitted, so the defense is inert. The signed message binds `msg.sender`: [continues]","rootCause",1],["2023-07-Bamboo","Bamboo AI Exploit — updatePool() Permissionless Pool-Reserve Siphon + skim/sync Drain","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/oracle/spot-price","vuln/defi/slippage","vuln/logic/incorrect-order-of-operations"],["oracle","defi","logic"],"Token-side AMM-reserve manipulation: a permissionless transfer hook that `_balances[pair] -= x` then `pair.sync()`, breaking the constant-product invariant",null,null,"~226 WBNB extracted by the PoC","The flaw is entirely on the token side, and composes from four design decisions: 1. A token must never write to a pair's balance. `updatePool` does `_balances[uniswapPair] -= fA`, directly editing the pool's holdings, then `sync()`s. This is a unilateral, uncompensated reserve deletion — the canonical \"token rebases/burns the pool then syncs\" AMM-manipulation pattern. 2. The hook is permissionless and attacker-clocked. [continues]","rootCause",1],["2023-07-Bao","Bao Finance Exploit — CErc20 Exchange-Rate Inflation via Direct Underlying Donation","incident","DeFiHackLabs","2023-07","Ethereum",["vuln/oracle/price-manipulation","vuln/arithmetic/rounding"],["oracle","arithmetic"],"Compound-fork CToken exchange-rate (rounding/donation) manipulation — empty-market share inflation",null,null,"~$46,000","This is the canonical Compound-fork empty-market exchange-rate inflation bug, identical in class to the Hundred Finance / earlier Bao incidents (referenced in the PoC header). Four design facts compose into a critical exploit: 1. Share price keyed off `balanceOf`, not an internal cash counter. A direct token transfer to the cToken inflates `exchangeRate` with no offsetting cToken supply — a free donation that benefits whoever holds the (tiny) existing supply. 2. No minimum supply / dead-shares. [continues]","rootCause",1],["24319-h-4-cvxaura-distribution-calculation-is-incorrect-and-will-l","Blueberry — AURA cliff math pays the rate after the claim","audit-finding","AuditVault","2023-07",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-order-of-operations"],["logic"],null,null,"Blueberry WAuraPools",null,"The formula is an estimate of AURA that has not been minted yet. The wrapper uses it after the minter has already minted that AURA into the wrapper. `withdraw` calls `IAuraRewarder.withdraw(amount, true)`, and that claim is for the whole vault balance, not the withdrawing user.","rootCause",1],["2023-07-BNO","BNO Exploit — emergencyWithdraw() Resets Stake but Leaves Reward Accounting Intact, Draining the Pool","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/logic/state-update","vuln/logic/reward-calculation"],["logic"],"Broken state accounting — `emergencyWithdraw()` returns principal without clearing `stakeSupply`/`nftAddition`, so reward accrual continues against a phantom stake",null,null,"~$505K","A staking pool that pays rewards in the same asset it custodies must treat its balance as a shared pot: principal accounting and reward accounting both draw on it, so they must move together. `Pool` violates this in `emergencyWithdraw()`: It returns 100% of the caller's principal yet leaves the *global* stake denominator (`poolInfo.stakeSupply`), the NFT weight (`nftAddition`), and the NFT ownership (`nftAmount`) intact. [continues]","rootCause",1],["55634-h-02-bufferbinarypool-can-permanently-lock-funds-on-early-ex","Buffer BufferBinaryPool.send() permanently locks LP funds on an early exercise","audit-finding","AuditVault","2023-07",null,["vuln/dos/frozen-funds"],["dos"],null,null,null,null,"When an option is exercised, `BufferBinaryOptions._exercise` computes the payout. For an EARLY exercise (`option.expiration > closingTime`) the payout is a partial Black–Scholes value, strictly less than the locked size: The pool's `send` then decrements `lockedAmount` by the amount sent, not by the full option size it is unlocking: The option is fully closed (`ll.locked = false`, NFT burned), yet `lockedAmount` is only reduced by `profit`. The `lockedAmount - profit` remainder stays counted as locked forever. [continues]","rootCause",1],["55637-h-05-closeanytime-timestamp-is-never-validated-against-prici","Buffer closeAnytime never ties the user's close signature to the pricing timestamp","audit-finding","AuditVault","2023-07",null,[],["untagged"],null,null,null,null,"`closeAnytime` verifies three independent signatures whose timestamps are never required to agree: `Validator.verifyCloseAnytime` binds only `(assetPair, userSignInfo.timestamp, optionId)` — not the price. `Validator.verifyPublisher` binds `(assetPair, publisherSignInfo.timestamp, closingPrice)`. `unlock(...)` then settles using `publisherSignInfo.timestamp` and `closingPrice`. Nothing ties `userSignInfo.timestamp` to `publisherSignInfo.timestamp`. [continues]","rootCause",1],["55636-h-04-closeanytime-timestamp-is-never-validated-against-curre","Buffer closeAnytime never validates the closing timestamp against the current time","audit-finding","AuditVault","2023-07",null,[],["untagged"],null,null,null,null,"In `BufferRouter.closeAnytime` the closing time handed to the options contract is taken straight from the publisher (pricing) signature and is never checked against `block.timestamp`: The publisher (price oracle) continuously signs `(assetPair, timestamp, price)` tuples. Because `closeAnytime` never requires `publisherSignInfo.timestamp` to be anywhere near the current time, a trader (or, per the finding, a malicious/compromised keeper) can present ANY historical price signature the oracle ever produced. [continues]","rootCause",1],["55635-h-03-market-direction-signature-can-be-abused-if-privatekeep","Buffer market direction is chosen at close, guaranteeing a winning trade","audit-finding","AuditVault","2023-07",null,["vuln/signature/replay"],["signature"],null,null,null,null,"Neither the `QueuedTrade` nor the `Option` struct stores the market direction (`isAbove`). The direction is only supplied and checked at close time, in `BufferRouter.closeAnytime`: `verifyMarketDirection` only checks that `params.isAbove` matches a signature from `optionInfo.signer` — which is the trader's own 1CT key. Since the direction was never committed at open, and the trader controls their own signing key, they simply observe the closing price and sign whichever direction wins. [continues]","rootCause",1],["2023-07-Carson","Carson Token Exploit — Thin-Reserve Price Skew + Fee-on-Transfer Drain via a Custom Pair","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/oracle/spot-price","vuln/defi/slippage"],["oracle","defi"],"AMM price-skew via fee-on-transfer accounting; small-input drain of a thinned reserve through a non-standard pair",null,null,"~$100,677","The constant-product price of a pair is `price = reserveQuote / reserveBase`. A pair becomes *fragile* when one side is driven extremely thin: the marginal value of the scarce token explodes and small trades move enormous value. Carson's design hands an attacker every lever needed to weaponise that: 1. A deflationary fee-on-transfer token paired in a non-standard AMM. [continues]","rootCause",1],["2023-07-Civfund","Civfund (0xf485) Exploit — Forged Uniswap-V3 mint Callback Drains User Approvals","incident","DeFiHackLabs","2023-07","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Untrusted-callback / arbitrary-`transferFrom` — the router's `uniswapV3MintCallback` trusts `msg.sender` to be a real V3 pool and pulls tokens from an attacker-chosen `payer`",null,null,"~$165K","A Uniswap-V3 mint callback is a \"pay me back\" message that a pool sends to its periphery. Its security model assumes: Only a canonical Uniswap-V3 pool can ever call `uniswapV3MintCallback`, and the periphery pays *its own caller's* obligation, from a payer the periphery itself chose. The Civfund router broke both halves of that model: 1. No callback authentication. It never verified that `msg.sender` is a real Uniswap-V3 pool (no `CallbackValidation.verifyCallback`, no factory check, no `getPool` lookup). [continues]","rootCause",1],["2023-07-CIVNFT","CIVNFT / CivTrade Exploit — Missing Access Control + Attacker-Controlled Mint Callback Drains Approved Allowances","incident","DeFiHackLabs","2023-07","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control + attacker-supplied \"pool\" address + unauthenticated mint callback → arbitrary `transferFrom` of third-party allowances",null,null,"~$180K","Uniswap V3's flash-style callbacks are safe only when the integrator enforces *both* of these invariants. CIVNFT enforced neither: 1. Caller / pool authentication (missing). A correct integrator computes the canonical pool address from the official factory + `(token0, token1, fee)` and requires `msg.sender == thatPool` inside `uniswapV3MintCallback`. CIVNFT's callback ran for an arbitrary `msg.sender` (the attacker contract). [continues]","rootCause",1],["54655-vault-s-totalprocessed-count-can-be-inaccurately-increased-b","Coinbase/Base FeeVault — totalProcessed inflated without sending funds (unchecked SafeCall.send)","audit-finding","AuditVault","2023-07","Optimism",["vuln/dependency/unchecked-return-value","vuln/dos/unbounded-loop","vuln/accounting/integrity"],["dependency","dos","accounting"],"Unchecked low-level `call` return value; `SafeCall.send` returns `false` on failure instead of reverting","high","Coinbase / Base — Optimism `FeeVault` (`BaseFeeVault` / `SequencerFeeVault` / `L1FeeVault`)",null,"Two mistakes compose: (1) `totalProcessed` is credited before the transfer, and (2) the transfer's success is never checked (`SafeCall.send` signals failure by return value, not revert). Since `withdraw()` forwards `gasleft()`, any caller can pick a gas budget that starves a gas-consuming recipient, making the transfer fail while `withdraw()` still succeeds with inflated accounting.","rootCause",1],["2023-07-Conic02","Conic Finance (crvUSD Omnipool) Exploit — Curve Pool Imbalance Manipulation of LP Valuation","incident","DeFiHackLabs","2023-07","Ethereum",["vuln/oracle/price-manipulation","vuln/logic/missing-validation","vuln/governance/flash-loan-attack"],["oracle","logic","governance"],"Manipulable LP valuation — deposit/withdraw accounting trusts oracle-priced Curve LP holdings without an imbalance sanity check on the entry/exit paths",null,null,"~$934K total across Conic Omnipools","A Curve \"metapool\" or stableswap pool prices its assets from its *current* reserves. The oracle Conic uses to value its LP holdings (`CrvUsdOracle` / `CurveLPOracleV2`) is built to be manipulation-resistant — it reads each pool's EMA `price_oracle()` feed and uses a `get_dy(0,1,1e6)` probe rather than naive `balanceOf`/`get_virtual_price`. So the *valuation* of the LP token barely moves under a same-block swap. The vulnerability is the mismatch between two views of the same pools that the protocol never reconciles: [continues]","rootCause",1],["2023-07-Conic_exp2","Conic Finance (ETH Omnipool) — Curve LP Oracle Manipulation via Spot-Reserve Pricing","incident","DeFiHackLabs","2023-07","Ethereum",[],["untagged"],"Manipulable spot-reserve LP-token oracle → inflated Omnipool exchange rate → over-redemption of LP shares",null,null,"~$3.26M","A Curve LP token's true, manipulation-resistant value is `get_virtual_price() × underlying_price` (the virtual price is monotonic and cannot be moved by a single swap because it tracks invariant `D` per LP unit). Conic's oracle instead priced the LP token from the live reserves and spot `get_dy`, and the Omnipool then used that price in the very same `exchangeRate()` formula that governs both minting and redemption. Three design decisions compose into the critical bug: 1. Spot-reserve LP valuation. [continues]","rootCause",0],["2023-07-Conic","Conic Finance ETH Omnipool Exploit — Curve Read-Only Reentrancy Oracle Inflation","incident","DeFiHackLabs","2023-07","Ethereum",["vuln/reentrancy/read-only","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["reentrancy","oracle","governance"],"Curve read-only reentrancy → manipulated Curve-LP oracle price → inflated Omnipool exchange rate → over-withdrawal",null,null,"~$3.25M","A balance-based Curve-LP oracle (`balances/totalSupply`) is only valid when the Curve pool's storage is self-consistent. Curve's `remove_liquidity` for pools that pay out native ETH does so with a raw external call *before* the post-state is finalized, and re-enters the caller. [continues]","rootCause",1],["2023-07-Curve_exp02","Curve crv/ETH Pool Drain — Vyper 0.3.0 Broken @nonreentrant Lock (Read-Only/Cross-Function Reentrancy)","incident","DeFiHackLabs","2023-07","Ethereum",[],["untagged"],"Compiler-level reentrancy-lock failure → cross-function reentrancy against AMM accounting (`remove_liquidity` ETH callback re-enters `add_liquidity`/`exchange` with stale reserves & `D`)",null,null,"~7,929.44 WETH extracted in the reproduced single-transaction PoC","A compiler defect (Vyper 0.2.15–0.3.0) made the `@nonreentrant` decorator a no-op, turning a textbook checks-effects-interactions ordering bug in `remove_liquidity` into an exploitable cross-function reentrancy. Two things had to be simultaneously true, and both were: 1. Interaction-before-effect in `remove_liquidity`. The pool transfers native ETH to the caller via `raw_call` (line 978) *before* it finishes writing `self.D` (line 985) and, on the ETH iteration, before the other coin's balance is decremented. [continues]","rootCause",1],["2023-07-Curve_exp01","Curve Finance pETH/ETH Pool — Vyper @nonreentrant Compiler Bug Read-Only/Cross-Function Reentrancy","incident","DeFiHackLabs","2023-07","Ethereum",[],["untagged"],"Cross-function reentrancy — a Vyper compiler bug in the `@nonreentrant('lock')` re-entrancy guard (versions 0.2.15 / 0.2.16 / 0.3.0)",null,null,"6,107.41 WETH net profit drained from the pETH/ETH pool","There are two layers, and the deeper one is not in this contract at all: 1. Primary root cause — Vyper compiler bug (CVE-class). Vyper 0.2.15 / 0.2.16 / 0.3.0 emit broken bytecode for `@nonreentrant(<key>)`. The reentrancy lock that the Curve developers *correctly* applied to every state-mutating function simply did not function. Any protocol that compiled with these versions and relied on the named lock to guard a function that performs an external call (like Curve's native-ETH `raw_call` pushes) was exposed. [continues]","rootCause",1],["19343-voting-tally-does-not-count-the-zero-action-sigmaprime-none","DXdao ERC20Guild — the tally skips the zero action and pays 1000 GUILD","audit-finding","AuditVault","2023-07","Ethereum",["vuln/governance/proposal-manipulation","vuln/logic/wrong-condition","vuln/logic/incorrect-state-transition"],["governance","logic"],null,null,"DXdao ERC20Guild",null,"The tally treats action 0 as a default rather than as a ballot total it has to scan. With an execution threshold below half of `totalLocked`, an action can clear the bar without a majority of voting power. Here the bar is `100 * 30 / 100 = 30`. Action 1 has exactly 30, which is greater than action 0's 29, so it wins. The 29 reject votes are the amount the scanned total is short: `30 + 29 = 59`.","rootCause",1],["2023-07-FFIST","FFIST (FIRE FIST) Exploit — Attacker-Controlled _airdrop() Overwrites the AMM Pool's Token Balance to 1 wei","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/logic/state-update","vuln/oracle/spot-price","vuln/defi/slippage"],["logic","oracle","defi"],"Attacker-controllable balance write (insecure pseudo-random \"airdrop\") used to zero out an AMM pool reserve → broken `x·y = k` invariant",null,null,"~$110K","The vulnerability is a single primitive — an attacker can set the FFIST balance of any address (including the AMM pair) to 1 wei — composed with PancakeSwap's reserve-syncing trust model. Concretely: 1. Insecure pseudo-randomness with attacker-supplied entropy. The \"airdrop\" target is derived from `to`/`tAmount`/`block.number`/`lastAirdropAddress`, all of which are known or controllable. \"Random\" here means \"solvable\": the attacker inverts the XOR/OR to pick a `to` that produces the target address it wants. [continues]","rootCause",1],["2023-07-GYMNET","GYM Network Exploit — GymRouter Pulls Swap Input From the Recipient Instead of the Caller","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/logic/wrong-condition","vuln/access-control/missing-auth"],["logic","access-control"],"Wrong `transferFrom` source address — router spends the recipient's allowance instead of the caller's, enabling theft from any prior approver",null,null,"+117,193.51 GYMNET netted by the attacker","A token router is a shared, public spender: every user who wants to swap through it grants it an ERC-20 allowance once and leaves it in place. The entire safety of that model rests on a single invariant: The router must only ever move tokens owned by the caller (`msg.sender`), spending the caller's own allowance. The deployed `GymRouter` broke that invariant by sourcing the input from the `to` parameter — an address fully chosen by the caller. [continues]","rootCause",1],["2023-07-Libertify","Libertify (LibertiVault) Exploit — Deposit Reentrancy via 1inch Swap Callback Inflates Share Mint","incident","DeFiHackLabs","2023-07","Polygon",["vuln/reentrancy/single-function","vuln/arithmetic/precision-loss"],["reentrancy","arithmetic"],"Reentrancy → ERC-4626-style share-inflation (stale NAV / read-after-external-call)",null,null,"~$452K","The vault violates Checks-Effects-Interactions in its most value-sensitive function: it performs an external, attacker-controllable call (`userSwap` → 1inch → `caller.callBytes`) *between* snapshotting `nav` and *reading* `totalSupply()` to compute the mint, with no reentrancy guard. That creates a read-after-external-call inconsistency in the share formula: Concretely, three design decisions compose into the bug: 1. External call in the middle of mint accounting. [continues]","rootCause",1],["2023-07-LUSD","LUSD (LAYER3) Exploit — Spot-Price Oracle Manipulation via Loan.supply()","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"Spot-price oracle manipulation (`getAmountsOut` used as a price feed) + flash-loan-funded reserve skew",null,null,"~$9.46K this tx","The protocol's solvency rests on one invariant: LUSD is only minted against collateral of at least equal USDT value (scaled by `supplyRatio`). `Loan.supply()` is supposed to enforce that, but it measures collateral value with a price that the *supplier* can set for free in the same transaction. `getAmountsOut` returns the AMM's marginal price, which is a function of the pool's instantaneous reserves. [continues]","rootCause",1],["2023-07-MintoFinance","Minto Finance Exploit — Free BTCMT Minting via Unvalidated paymentToken in ReferralCrowdsale.buyTokens()","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/input-validation/missing","vuln/logic/incorrect-order-of-operations"],["input-validation","logic"],"Missing input validation — unvalidated, attacker-controlled `paymentToken` + send-before-collect ordering ⇒ free token minting (a.k.a. \"fake payment token\" / unchecked external token)",null,null,"~$9.68K","The protocol treats `paymentToken` as trusted data and `transferFrom`'s boolean as proof of payment, while letting the *caller* choose both the token and the price branch. Three design decisions compose into a critical bug: 1. The payment-token whitelist is enforced on only one of four price branches. The `paymentsTokens.contains(payToken)` check is in the trailing `else` branch (:2155-2159) but is *absent* from the locked and `manualPrice > 0` branches. [continues]","rootCause",1],["2023-07-NewFi","NewFi / StakedV3 Exploit — Flash-Loan Price Manipulation of an Unprotected Internal V3 Swap","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/oracle/price-manipulation","vuln/defi/slippage","vuln/governance/flash-loan-attack"],["oracle","defi","governance"],"Flash-loan oracle/AMM price manipulation of an internal swap with no slippage protection + retail-supplied `amountOutMinimum`",null,null,"~$31K — 30,473.19 BUSD net profit to the attacker","A PancakeSwap V3 pool's `slot0()` price is a manipulable spot oracle: a single large swap moves it arbitrarily within one transaction, and a flash loan supplies the capital for free. `StakedV3` trusts that spot price in three compounding ways: 1. Spot price as truth. `Challenge`/`MintTick` read `slot0()` with no TWAP, no deviation bound, and no external oracle cross-check. The amount of liquidity to remove, the swap size, and the new tick band are all functions of a number the attacker controls. [continues]","rootCause",1],["2023-07-Palmswap","Palmswap Exploit — PLP Share Inflation via Permissionless buyUSDP() AUM Manipulation","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/oracle/price-manipulation","vuln/access-control/missing-auth","vuln/arithmetic/precision-loss"],["oracle","access-control","arithmetic"],"Price/share-accounting manipulation — mint-and-redeem an LP share at two different per-share valuations within one transaction",null,null,"~$901,456","Palmswap inherited GMX's design where the GLP/PLP price is `AUM / supply` and the Vault and LP layer share a single AUM that any deposit can move. The bug is the combination of three facts: 1. AUM is mutable by a non-PLP operation. `buyUSDP()` raises `poolAmount` (the dominant AUM term) but mints USDP, not PLP. Therefore one `buyUSDP` call retroactively re-prices every outstanding PLP upward — a pure value transfer to current PLP holders. [continues]","rootCause",1],["24301-h-3-protocol-fee-from-marketsol-is-locked-sherlock-none-pere","Perennial MarketFactory — protocol fee is locked in the factory","audit-finding","AuditVault","2023-07",null,["vuln/dos/frozen-funds","vuln/logic/fee-calculation"],["dos","logic"],null,null,"Perennial V2",null,"The claim path was written so the factory pulls its own fee by calling the market. Nothing on the factory can push that balance onward. There is no `withdraw`, and the factory never approves the treasury. Zeroing `protocolFee` after the push means the market will not pay the same fee again to anyone else.","rootCause",1],["24303-h-5-vaultsol-settleing-the-0-address-will-disrupt-accounting","Perennial Vault — settling the zero address inflates global assets","audit-finding","AuditVault","2023-07",null,["vuln/logic/incorrect-state-transition","vuln/logic/fee-calculation","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Perennial",null,"`_loadContext` always reads `_accounts[address(0)]` into `context.global`, then reads `_accounts[account]` into `context.local`. Those are separate memory copies. For any normal user, `processGlobal` updates the global copy with `toAssetsGlobal` / `toSharesGlobal`, and `processLocal` updates that user's copy with `toAssetsLocal` / `toSharesLocal`. The per-user fee is `keeper / count` so the users split one settlement fee. When `account` is `address(0)`, the local copy is the global account. [continues]","rootCause",1],["24299-h-1-oracle-request-timestamp-and-pending-position-timestamp","Perennial: a mismatched oracle timestamp makes a 1.000000 long impossible to close","audit-finding","AuditVault","2023-07",null,["vuln/logic/incorrect-state-transition","vuln/dos/frozen-funds"],["logic","dos"],"Timestamp mismatch → position update ignored","high","Perennial V2 — `PythOracle.request` / `Market` pending positions",null,"`PythFactory.current()` rounds `block.timestamp` up to the next granularity boundary (`ceilDiv`). The market stamps the new pending position with that future timestamp, then calls `oracle.request` in the same update. `request` does not store `current()`. It stores `block.timestamp`: `commitRequested` writes the price at `versionList[i]`. Settlement then calls `oracle.at(position.timestamp)`. Those two keys differ whenever `block.timestamp` is not already on a boundary. [continues]","rootCause",1],["24302-h-4-pythoracleif-priceexpo-is-less-than-0-wrong-prices-will","Perennial: a negative Pyth exponent records 5e-5 as 5e5 and unlocks a 400,000 USDC borrow","audit-finding","AuditVault","2023-07",null,["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],"Exponent sign dropped → price inflated 10^10","high","Perennial V2 — `PythOracle._recordPrice`",null,"`_recordPrice` always multiplies the Pyth price by `10` raised to the absolute exponent: `Fixed6Lib.from` scales an integer by 1e6, and `mul` divides by 1e6, so the human value is `price * 10^|expo|`. For `price = 5` and `expo = -5` the true value is `5e-5`. The function stores `5e5`. That is a factor of `10^10`. | | Fixed6 raw | Human price | | Buggy record | 500,000e6 | 500,000 | | Fair record | 50 | 0.00005 | [continues]","rootCause",1],["43697-h-01-anyone-can-burn-any-nfts-of-other-users-in-the-material","PHI MaterialObject — anyone can burn another user's object","audit-finding","AuditVault","2023-07",null,["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],null,null,"PHI (Phimaterial)",null,"The burn entry points were written so craft logic could name the account to debit, and that parameter was left callable by anyone. Nothing ties `from` to `msg.sender` or to an approval. The debit and the owner clear both trust the caller-supplied address.","rootCause",1],["2023-07-Platypus02","Platypus Finance (2nd hack) — Coverage-Ratio Arbitrage via withdrawFromOtherAsset","incident","DeFiHackLabs","2023-07","Avalanche",["vuln/logic/incorrect-state-transition","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Broken accounting invariant — coverage-ratio / impairment-gain asymmetry across assets in one aggregate",null,null,"~$51K (one of several attack txs)","The Platypus impairment model assumes a closed loop: *the same depositor, in the same asset, eats exactly the impairment they were credited.* `withdrawFromOtherAsset` breaks that loop by letting LP minted (and bonus-inflated) in one asset be redeemed against another asset's value. Concretely: 1. Asymmetric coverage. At the fork block the USDC asset was under-covered (0.789) while the USDT.e asset was over-covered (1.313). [continues]","rootCause",1],["2023-07-RodeoFinance","Rodeo Finance Exploit — TWAP Oracle Manipulation of the unshETH LP Price","incident","DeFiHackLabs","2023-07","Arbitrum",["vuln/oracle/manipulable-twap","vuln/governance/flash-loan-attack"],["oracle","governance"],"Oracle manipulation — short, low-resolution TWAP over a thin AMM pair used for borrow-collateral pricing",null,null,"~472 ETH","The single root cause is using a low-resolution, AMM-spot-derived TWAP as the authoritative price for borrow collateral. Concretely: 1. The TWAP window is too short and too coarse. A 4-sample average is trivially poisoned over a handful of update cycles. The attacker's prior txs (`0x5f1663…`, `0x9a4622…`) seeded the four `prices[]` slots; by the fork block the average had been driven to 4,219.27 ETH/unshETH — for an asset that is fundamentally worth ≈ 1 ETH. [continues]","rootCause",1],["54668-wrapped-native-asset-address-can-be-freely-chosen-and-is-ass","Sablier — a caller-chosen wrapped native drains tokens already in the proxy","audit-finding","AuditVault","2023-07",null,["vuln/input-validation/missing","vuln/logic/wrong-condition","vuln/dependency/unsafe-external-call"],["input-validation","logic","dependency"],null,null,"Sablier V2 (SablierV2ProxyTarget)",null,"The asset is an argument, not a pinned WETH. `totalAmount` is taken from `msg.value` rather than from the change in `balanceOf`. `createWithDurations` then `transferFrom`s that amount out of the proxy. Any shortfall versus the tokens `deposit` minted is taken from the balance the proxy already held.","rootCause",1],["54669-any-plugins-using-permit2-can-steal-funds-with-frontrunning","Sablier — a Permit2 signature that does not name the recipient is front-run for 1000 tokens","audit-finding","AuditVault","2023-07",null,["vuln/auth/signature-validation","vuln/logic/missing-validation"],["auth","logic"],null,null,"Sablier V2 (Permit2 inside a proxy plugin)",null,"`PermitSingle` commits the token, the amount, the nonce, the deadline, and the spender. It does not commit the action the allowance will be used for. A plugin that calls `permit` and then `transferFrom` can send the tokens anywhere. The recommended fix is `permitWitnessTransferFrom`, with the recipient (and the call) inside the signed witness.","rootCause",1],["54671-any-envoy-with-access-to-sablierv2proxytarget-can-steal-all","Sablier — an envoy of SablierV2ProxyTarget drains the proxy with a dummy permit2","audit-finding","AuditVault","2023-07",null,["vuln/input-validation/missing","vuln/dependency/unsafe-external-call","vuln/access-control/broken-logic"],["input-validation","dependency","access-control"],"The permit2 contract is a caller argument. A dummy no-ops the pull, then the target approves the envoy's sablier for the proxy's own tokens","high","Sablier V2 — `SablierV2ProxyTarget._transferAndApprove`",null,"`Permit2Params.permit2` is untrusted input on a path that ends in `asset.approve(sablierContract, amount)` where `asset` is the proxy's token and `address(this)` is the proxy. The dummy's `transferFrom` does not have to move the owner's tokens. The approval that follows spends whatever the proxy already holds. The envoy permission was only supposed to wrap an owner-signed permit into a stream.","rootCause",1],["54672-owner-can-be-temporarily-changed-within-proxy-calls-allowing","Sablier / PRBProxy — Owner can be temporarily changed within proxy calls","audit-finding","AuditVault","2023-07",null,[],["untagged"],"Transient storage ownership / TOCTOU on owner","high","Sablier (PRBProxy) — `_safeDelegateCall`",null,"1. `execute` DELEGATECALLs a target and only checks that `owner` is unchanged after return. 2. The target overwrites storage slot 0 (`owner`) mid-call to a colluding contract. 3. That temporary owner re-enters `execute` to cancel streams and sweep refunds. 4. Original owner is restored so the final check passes — theft succeeds silently.","tldr",1],["54666-plugins-can-be-maliciously-overridden-by-colliding-signature","Sablier / PRBProxy — Plugins can be maliciously overridden by colliding signatures","audit-finding","AuditVault","2023-07",null,[],["untagged"],"4-byte selector collision / missing install guard","high","Sablier (PRBProxy integration) — `PRBProxyAnnex.installPlugin`",null,"1. Plugins are installed by mapping each selector from `methodList()` → plugin address. 2. There is no check that the selector is free; a later install overwrites the earlier plugin. 3. A malicious \"fee\" plugin lists the same selector as Sablier's `onStreamCanceled`. 4. On stream cancel, the proxy DELEGATECALLs the malicious plugin, which sends the refund to the attacker instead of the owner.","tldr",1],["2023-07-SUT","SUT Token Sale Exploit — Fixed-Price Inventory Sold Far Below Market","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/oracle/stale-price","vuln/arithmetic/precision-loss"],["oracle","arithmetic"],"Stale / mispriced fixed-price sale (price-feed-less primary sale) + integer-division price truncation",null,null,"~$8K USD","A token sale that quotes a flat, manually-maintained price while the same token trades on an open market is only safe as long as the manual price tracks the market. It never does for long. The moment the AMM price rises above the fixed sale price, the sale contract becomes a free arbitrage faucet: buy low from the contract, sell high on the AMM, repeat until the inventory is gone. `SUTTokenSale` compounds this with several missing guardrails: 1. No oracle / market reference. [continues]","rootCause",1],["27531-h-41-rewards-compounded-in-aavestrategy-are-unredeemable-cod","Tapioca DAO — AaveStrategy rewards locked as unredeemable stkAAVE","audit-finding","AuditVault","2023-07",null,[],["untagged"],"Incomplete reward path / frozen funds","high","Tapioca DAO",null,"Compounding was designed around free rewardToken balances; the incentives path delivers staked receipts instead.","rootCause",1],["27529-h-39-aavestrategysol-changing-swapper-breaks-the-contract-co","Tapioca DAO — AaveStrategy setMultiSwapper bricks compound","audit-finding","AuditVault","2023-07",null,[],["untagged"],"Incomplete admin setter / missing allowance transfer","high","Tapioca DAO",null,"Allowance is treated as constructor-only setup, but the swapper is mutable.","rootCause",1],["27530-h-40-balancerstrategysol-withdraw-withdraws-insufficient-to","Tapioca DAO — BalancerStrategy _withdraw scales WETH as BPT","audit-finding","AuditVault","2023-07",null,[],["untagged"],"Unit mismatch / wrong exit kind argument","high","Tapioca DAO",null,"Type-2 Balancer exits withdraw *exactly* `minAmountsOut`, not “at least this much after BPT math.” Scaling by pricePerShare underpays WETH.","rootCause",1],["27537-h-47-users-assets-can-be-stolen-when-removing-them-from-the","Tapioca DAO — FakeBigBang steals Singularity assets via unwhitelisted Magnetar repay","audit-finding","AuditVault","2023-07",null,[],["untagged"],null,"high","Tapioca DAO",null,"FakeBigBang steals Singularity assets via unwhitelisted Magnetar repay. Harm demonstrated: Victim Singularity assets drained to attacker via FakeBigBang YieldBox allowance.","tldr",1],["27533-h-43-accounted-balance-of-glpstrategy-does-not-match-withdra","Tapioca DAO — GlpStrategy currentBalance ignores unclaimed rewards","audit-finding","AuditVault","2023-07",null,[],["untagged"],"Incomplete NAV / reward accounting","high","Tapioca DAO",null,"Share mint uses incomplete TVL, so late depositors buy cheap shares against pending yield.","rootCause",1],["27528-h-38-magnetar-contract-has-no-approval-checking-code4rena-ta","Tapioca DAO — Magnetar has no approval checking (position drain)","audit-finding","AuditVault","2023-07",null,[],["untagged"],"Missing authorization on periphery helper","high","Tapioca DAO — omnichain money market",null,"Magnetar relies on YieldBox approvals granted *to Magnetar itself*, not on a per-caller operator map. Any third party can invoke helpers with a victim `from`.","rootCause",1],["27535-h-45-sglliquidation-computeassetamounttosolvency-market-isso","Tapioca DAO — Market solvency multiplies share before toAmount","audit-finding","AuditVault","2023-07",null,[],["untagged"],"Share→amount conversion order error","high","Tapioca DAO",null,"Share scaling and amount conversion are non-commutative under integer division; pre-scaling bypasses rounding-to-zero.","rootCause",1],["27534-h-44-bigbangrepay-and-singularityrepay-spend-more-than-allow","Tapioca DAO — repay allowance checked on part, pulls elastic","audit-finding","AuditVault","2023-07",null,[],["untagged"],"Unit mismatch (part vs elastic) in allowance","high","Tapioca DAO",null,"Allowance units are treated as asset amounts, but the check uses debt-share parts while the pull uses elastic.","rootCause",1],["27532-h-42-attacker-can-steal-victims-otap-position-contents-via-m","Tapioca DAO — steal oTAP contents via Magnetar exit/unlock","audit-finding","AuditVault","2023-07",null,[],["untagged"],"Missing msg.sender==user + untrusted external targets","high","Tapioca DAO",null,"Multi-flag helper trusts all addresses and the `user` parameter once ERC721 approval exists for Magnetar.","rootCause",1],["2023-07-USDTStakingContract28","USDTStakingContract28 Exploit — Permissionless tokenAllowAll() Self-Approval Drain","incident","DeFiHackLabs","2023-07","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control — a permissionless function that makes the contract approve an arbitrary spender over its own funds",null,null,"~$20,999","A single design defect, with no compounding factors: `tokenAllowAll()` lets an arbitrary caller direct the contract to approve an arbitrary spender for an unlimited allowance over the contract's own token balance. Once that allowance exists, the spender drains the balance with a normal `transferFrom`. Concretely: 1. No access control. The function is `public` with no `onlyOwner`/role/`msg.sender` check. Anyone can call it. 2. Both the token and the spender are caller-controlled. [continues]","rootCause",1],["2023-07-Utopia","Utopia Exploit — _airdrop() Overwrites the Pool's Token Balance to 1, Collapsing the AMM Reserve","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/logic/state-update","vuln/oracle/spot-price","vuln/defi/slippage"],["logic","oracle","defi"],"Business-logic flaw — attacker-predictable \"airdrop\" address whose balance is overwritten (not added) to `1`, usable to zero out the AMM pair's token reserve",null,null,"~$119K","Two independent defects compose into a critical bug: 1. Predictable airdrop target. The seed mixes only public/attacker-chosen values (`lastAirdropAddress`, `block.number`, `from`, `to`). A \"random recipient\" that the caller can *compute and choose* is not random — it is a write primitive to an arbitrary address. 2. Destructive assignment. `_balances[airdropAddress] = 1` replaces the recipient's balance instead of crediting it. For an ordinary EOA receiving 1 wei this is invisible. [continues]","rootCause",1],["47911-inaccurate-withdrawable-token-amount-ottersec-none-vtvl-pdf","VTVL: withdrawAdmin releases 200 when 600 is unreserved","audit-finding","AuditVault","2023-07",null,["vuln/logic/wrong-condition","vuln/dos/frozen-funds"],["logic","dos"],null,null,"VTVL BaseMilestone",null,"The notional product `allocation * recipients.length` is not the number of tokens the contract holds, and it is not the number reserved. `numTokensReservedForVesting` is the only figure that tracks tokens actually set aside. Anything the contract holds above `allocation * recipients.length` can never appear in `availableAmount`, so it cannot be withdrawn. Here the balance is 400 above that product. Those 400 are not part of the 400 reserved either. They are stuck.","rootCause",1],["2023-07-WGPT","WGPT (Wrapped GPT) Exploit — Self-Inflicted removeLiquidity on Every Sell Drains the Pool","incident","DeFiHackLabs","2023-07","BNB Chain",["vuln/defi/slippage","vuln/oracle/spot-price","vuln/access-control/missing-auth"],["defi","oracle","access-control"],"Token transfer hook that calls `router.removeLiquidity()` on protocol-owned LP, draining the pool on every sell (broken AMM accounting / mis-priced self-burn)",null,null,"~$80K — attacker walked away with 76,944.26 BUSD-T of profit","A constant-product pair is only solvent while its reserves stay in the pool. WGPT's transfer hook breaks that on the protocol's own behalf: Every sell calls `router.removeLiquidity(...)` against LP that the token contract owns, withdrawing real BUSD-T + WGPT out of the pair and into the token contract. The withdrawal amount is derived from a doubled, decimals-sloppy `callPrice()` plus a flat `lpNumber`, so it is both *too large* and *attacker-influenceable*. [continues]","rootCause",1],["2023-06-MIMSpell","Abracadabra / MIM ZeroXStargateLPSwapper Exploit — Arbitrary-Calldata Approval Drain","incident","DeFiHackLabs","2023-06","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth","vuln/logic/missing-allowance"],["dependency","access-control","logic"],"Arbitrary external call with attacker-controlled calldata + standing infinite approval (recipient hijack)",null,null,"~$17K — 17,991.96 MIM stolen from the swapper's residual USDT balance","The 0x aggregator API hands integrators an opaque calldata blob to relay. The \"secure\" way to relay it is to constrain everything around the blob: pull exactly the redeemed amount into the call, hard-set the swap recipient to `address(this)`, and verify the contract's MIM balance increased by at least the expected minimum before returning. `ZeroXStargateLPSwapper` does none of these. It relays raw bytes against a proxy that holds an infinite allowance on a token the contract custodies. [continues]","rootCause",1],["2023-06-ARA","ARA Exploit — Permissionless \"Swap-on-Behalf\" Helper Drains a Pre-Approved Address via Pool Price Manipulation","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-allowance","vuln/oracle/price-manipulation","vuln/defi/slippage"],["access-control","logic","oracle","defi"],"Missing access control on a swap-on-behalf helper + AMM spot-price manipulation (sandwich of a forced victim trade)",null,null,"~$125K","A swap helper that spends a third party's pre-approved balance is, in effect, a public function that turns the victim's wallet into a price-taker the attacker controls. Combined with a shallow AMM pool, this is a textbook *forced-victim sandwich*: The attacker uses the helper to push the pool price to a hostile level using the victim's own money (legs they don't profit from directly), and brackets that move with their *own* buy and sell. [continues]","rootCause",1],["2023-06-BabyDogeCoin02","BabyDogeCoin Exploit — Sandwiching the Token's Slippage-Free swapAndLiquify","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/defi/slippage","vuln/defi/sandwich-attack","vuln/oracle/price-manipulation"],["defi","oracle"],"Slippage-free internal AMM swap (`amountOutMin = 0`) sandwiched by a flash-funded price manipulation",null,null,"~$100K","The terminal flaw is #1: a slippage-free, externally-triggerable internal swap. Everything else is leverage/plumbing that makes the profit large and free. 1. `swapExactTokensForETHSupportingFeeOnTransferTokens(half, 0, …)` — the token sells its accumulated liquidity fee with `amountOutMin = 0`. It will execute at *any* price, including a price the attacker manufactured one instruction earlier in the same transaction. 2. The swap is reachable on demand. [continues]","rootCause",1],["18431-protocols-invariants-can-be-broken-cyfrin-beanstalk-wells-ma","Beanstalk Wells — protocol invariant can be broken, bricking a valid withdrawal","audit-finding","AuditVault","2023-06",null,["vuln/math/invariant-violation","vuln/logic/wrong-condition"],["math","logic"],"Invariant violation / rounding + proportional-vs-well-function mismatch","high","Beanstalk Wells / Basin — generalized constant-function AMM",null,"`removeLiquidity` assumes linearity — that burning a fraction `f` of LP should return fraction `f` of each reserve. That preserves `b_0·b_1 = s²` only for the constant-product case in the balanced limit; combined with the rounding in `calcReserve`/`calcLpTokenSupply` (which are not exact inverses), repeated proportional removals push `totalSupply()` above `calcLpTokenSupply(reserves)`. The one-token exit path then solves for a reserve that is larger than the current reserve and underflows. [continues]","rootCause",1],["18434-read-only-reentrancy-cyfrin-beanstalk-wells-markdown","Beanstalk Wells — read-only reentrancy in Well.removeLiquidity","audit-finding","AuditVault","2023-06",null,["vuln/reentrancy/read-only","vuln/logic/cei-violation"],["reentrancy","logic"],"Read-only reentrancy / CEI violation","high","Beanstalk Wells / Basin — generalized constant-function AMM",null,"`removeLiquidity` violates Checks-Effects-Interactions: the effect (commit reserves to storage) happens after the interaction (token transfers). Because the burn *does* happen before the transfers, during the callback the two halves of the price — reserves (stale, high) and totalSupply (already reduced) — are inconsistent. The AMM's own state-write reentrancy guard (`nonReentrant`) does not help: the dangerous read is a *view*, and views are not guarded.","rootCause",1],["18433-removeliquidity-logic-is-not-correct-for-generalized-well-fu","Beanstalk Wells — removeLiquidity is wrong for generalized (non-linear) Well functions","audit-finding","AuditVault","2023-06",null,["vuln/logic/wrong-condition","vuln/math/invariant-violation"],["logic","math"],"Wrong condition / linearity assumption / invariant violation","high","Beanstalk Wells / Basin — generalized constant-function AMM",null,"`removeLiquidity` hard-codes the constant-product intuition that \"burning fraction `f` of LP returns fraction `f` of every reserve\". That inverse is only correct for a linear/constant-product curve. Because `addLiquidity` mints via the Well function but `removeLiquidity` ignores it, the two operations are inconsistent for any non-linear Well function — the exact \"generalized Well function\" case the protocol advertises support for. [continues]","rootCause",1],["20610-c-02-anyone-can-burn-any-nft-in-the-honeyjarportal-pashov-no","Bearcave — anyone can burn a HoneyJar, and ownerOf becomes 0","audit-finding","AuditVault","2023-06",null,["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"The caller check does not read `ownerOf`","high","Bearcave `HoneyJarPortal`",null,"The check compares two arguments the caller controls. It never asks `ownerOf(_tokenId)`. `_from` is not used again. The burn does not care who held the jar.","rootCause",1],["20609-c-01-state-is-not-properly-updated-on-l2-leading-to-stuck-pr","Bearcave — L2 never learns about new sleepers, so 3 prizes stick","audit-finding","AuditVault","2023-06",null,["vuln/logic/state-update","vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],"`addToParty` updates L1 and never messages L2","high","Bearcave `HibernationDen`",null,"The L2 length is a copy of the party. `addToParty` changes the L1 copy and does not change the L2 copy. Every later calculation that trusts `party.sleepoors.length` on L2, including the \"already woke\" guard, is short by the sleepers that were added after the last message.","rootCause",1],["2023-06-Biswap","Biswap V3Migrator Exploit — Arbitrary recipient LP Theft via Unauthorized migrate()","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-allowance","vuln/logic/missing-validation"],["access-control","logic"],"Missing authorization — `transferFrom` from an attacker-chosen `recipient` whose approval was pre-granted",null,null,"~$72K — the victim's entire BTCB/BSC-USD V2 LP position","Two independent flaws compound: 1. Authorization confusion between `msg.sender` and `recipient`. `migrate()` spends `recipient`'s LP via `transferFrom`, but treats `recipient` purely as a *destination* field. The correct invariant — \"only the owner of the LP (or someone they authorized) may migrate it\" — is never expressed. Any pre-existing approval to the migrator becomes a free spend for anyone. [continues]","rootCause",1],["2023-06-BUNN","Bunny Protocol (BUNN) Exploit — Reflection deliver() Inflates Pair Balance, Spoofing the AMM K-Check","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/reentrancy/single-function","vuln/logic/state-update"],["oracle","reentrancy","logic"],"Reflection-token (`balanceOf` not backed by real transfers) breaking the AMM constant-product invariant; spoofed swap input via deflationary supply change",null,null,"52 WBNB drained from the BUNN/WBNB PancakeSwap pair","A Uniswap-V2/PancakeSwap pair enforces `x·y ≥ k` only inside `swap()`, and it determines how much a caller paid in by diffing token `balanceOf` before vs. after the user callback. This is safe only under the assumption that *a token's `balanceOf` changes solely through `transfer` / `transferFrom` that the pair (or someone) initiated*. `BunnyProtocol` violates that assumption fundamentally: [continues]","rootCause",1],["2023-06-Cellframe","Cellframe Network Exploit — Manipulated Reserve Ratio in LpMigration.migrate()","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/defi/slippage","vuln/governance/flash-loan-attack"],["oracle","defi","governance"],"Spot-price / reserve-ratio manipulation feeding an unguarded `addLiquidity` mint (flash-loan-amplified)",null,null,"~$76,000","The migration's \"fair\" new-CELL amount is `resoult * token0` where `resoult = newPoolCellReserve / newPoolWbnbReserve`. This is the instantaneous spot ratio of an AMM pair, which is trivially manipulable inside one transaction. Four design errors compose: 1. Spot reserves used as an oracle. `getReserves()` is read live and used directly to size the deposit. A flash-loan-funded swap can push `cell/eth` arbitrarily high right before calling `migrate()`, so the contract over-deposits new CELL against the user's WBNB. [continues]","rootCause",1],["2023-06-CFC","CFC Exploit — Self-Burning sync() + skim() Reserve Drain","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/state-update","vuln/defi/slippage"],["oracle","logic","defi"],"Token tampers with its own AMM reserve (`_tOwned[pair] -= …` + `pair.sync()`), creating a `balance > reserve` gap that `skim()` lets an attacker repeatedly harvest",null,null,"+6,124.40 BEP20USDT net profit this transaction","The two contracts disagree about who owns the CFC inside the pair: 1. CFC unilaterally edits the pair's balance. `_tOwned[uniswapV2Pair] -= sellAmount` plus `pair.sync()` is a *donation of the pair's assets to `mineAdd`/`0xdead`*, performed by the token on every sell, without the pair's consent. A token must never decrement an AMM pair's balance and resync it; doing so corrupts the pair's accounting. 2. `skim()` is the leak valve. [continues]","rootCause",1],["2023-06-CompounderFinance","Compounder Finance Exploit — Inflatable Share Price via Curve get_virtual_price() Manipulation","incident","DeFiHackLabs","2023-06","Ethereum",["vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/reentrancy/single-function","vuln/governance/flash-loan-attack"],["oracle","reentrancy","governance"],"Vault share-price inflation via a manipulable, reserve-derived oracle (`get_virtual_price()` → `getPricePerFullShare()`) inside the same transaction",null,null,"~$27.17M","The vault prices its shares off an oracle (`get_virtual_price()` → `getPricePerFullShare()`) that is computed from live token balances and can be moved by the same caller, in the same transaction, with flash-loaned capital. Three composing design decisions turn that into a drain: 1. Manipulable price feed. Both `Curve.get_virtual_price()` and `yDAI.getPricePerFullShare()` are spot-balance functions. [continues]","rootCause",1],["2023-06-Contract_0x7657","Contract 0x7657… Exploit — Permissionless transferFrom-Drain of Standing Approvals","incident","DeFiHackLabs","2023-06","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-allowance"],["access-control","logic"],"Missing access control — permissionless `transferFrom` of third-party allowances (approval-phishing drainer)",null,null,"20,000.01 USDT drained from the victim","Two design facts compose into the loss: 1. The value-moving function has no access control. `0x0a8fe064` calls `transferFrom(from, …)` and `approve(msg.sender, …)` *before* (and entirely without) any `require(msg.sender == owner)` check. The only writeable \"owner\" slot (slot 6) is *set by* the function as a side effect, not *checked by* it — so even if there is an owner concept, it is `msg.sender`-overwritable and never gates the transfer. [continues]","rootCause",1],["2023-06-DDCoin","DDCoin (DD) Marketplace Exploit — Self-Granted Allowance Lets the Seller Drain the Escrow Twice","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/logic/missing-allowance","vuln/logic/state-update","vuln/access-control/missing-auth"],["logic","access-control"],"Broken accounting — contract approves the seller for the full sale amount and then transfers it too, so an external `transferFrom` lets the seller pull the same money twice",null,null,"~$300K reported","A correct escrow pays a seller once. `sellItem` instead performs two independent value-release primitives against the same `_amount`: 1. A push — `usdt.transfer(seller, 0.995·_amount)` (the legitimate payout), and; 2. A pull grant — `usdt.approve(seller, _amount)` (an allowance the seller can redeem at will). Because BUSDT is a standard ERC20, the allowance from (2) is fully usable by the seller from *any* context, including a follow-up call in the same transaction. [continues]","rootCause",1],["18772-h-01-user-can-receive-too-few-tokens-when-l2comptroller-is-u","Dhedge L2Comptroller — user can receive too few tokens when unpaused (cross-domain replay)","audit-finding","AuditVault","2023-06","Optimism",["vuln/logic/cross-contract-state-consistency","vuln/bridge/message-replay-ordering","vuln/loss-of-funds/under-crediting"],["logic","bridge","loss-of-funds"],"Cross-domain message replay + non-monotonic state overwrite: a later, larger credit is clobbered by an out-of-order replay of an earlier, smaller one","high","Dhedge buyback-contract (`L1Comptroller` / `L2Comptroller`) — Optimism cross-domain MTA→MTy buy back",null,"`buyBackFromL1` treats the incoming `totalAmountBurntOnL1` as the authoritative *current cumulative* value and stores it directly. That is only correct if the cross-domain messages are delivered in order. Optimism's messenger makes no such guarantee for `failed`/replayed messages — and the report notes the replay is permissionless. [continues]","rootCause",1],["2023-06-MidasCapitalXYZ","Midas Capital Exploit — cToken Exchange-Rate Inflation via Donation Into a Near-Empty Market","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/arithmetic/rounding","vuln/logic/incorrect-state-transition","vuln/oracle/price-manipulation"],["arithmetic","logic","oracle"],"Compound/Fuse cToken exchange-rate inflation via direct donation into a market with near-zero `totalSupply`; manipulated collateral → over-borrow → bad debt",null,null,"~$600K","A Compound cToken trusts that its underlying balance only changes through `mint`, `redeem`, `borrow`, `repay` and `liquidate` — flows that also move `totalSupply`/`totalBorrows` in lockstep, keeping the exchange rate continuous. Midas broke that assumption in two compounding ways: 1. No minimum-liquidity floor. A market can be drained to a dust `totalSupply` (here 1,001 wei) by ordinary `mint`+`redeem`. At that point any donation of underlying makes `exchangeRate = cash / dust` astronomically large. [continues]","rootCause",1],["2023-06-MyAi","MyAi (CoinToken) Exploit — MultiSender Lets Anyone Spend a Victim's Pre-Approved Allowance Into a Hyper-Thin Pool","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-allowance","vuln/oracle/price-manipulation"],["access-control","logic","oracle"],"Missing authorization in a batch helper — anyone can spend a third party's standing ERC20 allowance (`transferFrom(_from, …)` without `msg.sender == _from`)",null,null,"~10.77 WBNB","1. `_from` is attacker-chosen and never bound to the caller. `transferFrom(_from, address(this), …)` will succeed for *any* `_from` that has approved `MultiSender`. The contract delegates all authorization to the ERC20 allowance, but then lets a *third party* (the attacker) trigger the spend. The correct invariant — \"a batch send may only move the caller's own tokens, or tokens the caller is explicitly authorized to move\" — is never enforced. [continues]","rootCause",1],["44679-methods-returning-price-in-the-wrong-units-zokyo-none-narwha","Narwhal vault — share price flips from 1e18 to 6-decimal units","audit-finding","AuditVault","2023-06",null,["vuln/logic/price-calculation"],["logic"],null,null,"Narwhal Finance",null,"The zero-supply branch hardcodes an 18-decimal price. The live branch mixes a 6-decimal balance into that same 1e18 scale and stops there. Callers that divide by 1e18, matching the zero-supply unit, are short by `1012`.","rootCause",1],["2023-06-NST","NST Swap Exploit — Dangling approve() lets the buyer drain the swap contract's USDT reserves","incident","DeFiHackLabs","2023-06","Polygon",["vuln/logic/missing-allowance","vuln/logic/state-update","vuln/logic/incorrect-order-of-operations"],["logic"],"Leftover/dangling ERC-20 `approve()` over the contract's own reserves → reuse via `transferFrom`",null,null,"29,195.083207 USDT","A correct exchange contract that holds a reserve must never grant an external caller an ERC-20 allowance over its own reserve balance. The only legitimate way to pay a user out of a held balance is a direct `transfer(user, amount)` — `transfer` itself *is* the authorization. [continues]","rootCause",1],["2023-06-Pawnfi","Pawnfi ApeStaking Exploit — Unrestricted collectRate + Vault-Funded Staking Drains the P-BAYC ApeCoin Reserve","incident","DeFiHackLabs","2023-06","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier","vuln/logic/missing-validation"],["access-control","logic"],"Broken staking-reward accounting — unrestricted `collectRate` setter + principal funded from the shared vault but credited 1:1 to the caller",null,null,"~$820K","`ApeStaking` mixed up *who owns the staked ApeCoin*: The ApeCoin staked for a BAYC position is sourced from the shared P-BAYC vault (because Yuga's `ApeCoinStaking` pulls APE from whoever escrows the BAYC — the P-Token contract). But on the way back out, `_repayAndClaim` treats 100% of that principal as the individual caller's to collect, gated only by a `collectRate` that the caller sets on themselves with no authorization. Three independent failures compose: 1. Missing access control on `setCollectRate`. [continues]","rootCause",1],["19564-strict-equality-causes-token-purchase-failure-sigmaprime-non","Satori royalties — a 10001 purchase reverts and the NFT stays put","audit-finding","AuditVault","2023-06",null,["vuln/logic/wrong-condition","vuln/arithmetic/rounding","vuln/dos/frozen-funds"],["logic","arithmetic","dos"],null,null,"Satori Sports token royalties",null,"Integer division rounds each royalty leg down. The legs are not required to sum back to the payment, but the function demands that they do. Any cost that is not a multiple of the basis-point denominator fails the purchase after the payment has already been taken into the handler.","rootCause",1],["2023-06-SELLC03","SellToken miner Exploit — Spot-Price Reward Oracle Drained via Flash-Loaned Liquidity","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/logic/reward-calculation","vuln/governance/flash-loan-attack"],["oracle","logic","governance"],"Spot-price (AMM `getAmountsOut`) reward oracle manipulated via flash-loaned liquidity",null,null,"~123.30 WBNB net profit drained from the `miner` contract's SELLC stockpile","Three design decisions compose into a critical bug: 1. Spot-price reward. The payout is derived from `getAmountsOut` on a live PancakeSwap pool. AMM spot price is manipulable within a single block by anyone with capital; combining it with a flash loan makes that capital free. The reward should have been derived from the user's recorded deposit value (`mybnb`/`daybnb` denominated in a stable unit), not re-quoted against a live pool at claim time. 2. Attacker controls which pool prices the reward. [continues]","rootCause",1],["2023-06-SHIDO","SHIDO Exploit — ShidoLock Migration Mint With No Eligibility Check","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/logic/missing-validation","vuln/access-control/missing-auth","vuln/data/uninitialized"],["logic","access-control","data"],"Missing eligibility/access control on a token-migration mint (untrusted, market-buyable input drives a privileged payout)",null,null,"~977.07 WBNB net","The `* 10 9` factor is not the bug. V1 has 9 decimals and V2 has 18, so a 1:1 whole-token migration *requires* multiplying raw V1 units by `10 (18 - 9) = 1e9`. Confirmed against the trace: | | Raw units | Whole tokens | | V1 locked | 10,436,974,088,156,420,258 | 10,436,974,088.156 (÷1e9) | | V2 claimed | 10,436,974,088,156,420,258,000,000,000 | 10,436,974,088.156 (÷1e18) |; The whole-token ratio is 1.0000000000… — a faithful migration. [continues]","rootCause",1],["2023-06-SHIDO_exp2","SHIDO Migration Exploit — claimTokens() Blind × 10⁹ Decimal Scaling Drains the Reward Wallet","incident","DeFiHackLabs","2023-06","BNB Chain",[],["untagged"],"Token-migration decimal-scaling error: raw 9-decimal balance multiplied by `10⁹` to mint 18-decimal V2, granting 1e9× the intended value",null,null,"~976.98 WBNB","The bridge enforces decimal correctness while ignoring value correctness. `× 10⁹` is exactly the right factor to turn a 9-decimal quantity into an 18-decimal quantity that represents *the same number of tokens*. The flaw is the unstated premise behind a 1:1 token-count migration: A 1:1 *count* migration is only sound when 1 unit of the old asset is worth 1 unit of the new asset. [continues]","rootCause",1],["29658-lack-of-contract-existence-check-on-statichyvm-trailofbits-n","StaticHyVM — delegatecall to an account with no code returns success","audit-finding","AuditVault","2023-06",null,["vuln/logic/missing-check","vuln/dependency/unsafe-external-call"],["logic","dependency"],"Missing contract-existence check on delegatecall",null,null,"1,000 vault tokens released","`delegatecall` to an empty account is defined to return success and empty return data. The function checks `success` and does not check that `hyvm` has code. A payload that was supposed to revert, or to set a flag, is skipped, and the caller continues.","rootCause",1],["2023-06-STRAC","STRAC Exploit — Permissionless Token-Drainer in a Helper Contract (Spoofable transferFrom)","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/access-control/missing-auth","vuln/dependency/unchecked-return-value","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control + caller-spoofable `transferFrom` in a permissionless token-mover function",null,null,"12.1629 ETH","Two independent failures compose into a free drain: 1. No access control on a value-moving function. Selector `0x4a75084c` is callable by anyone and moves the helper's own token holdings out to a caller-supplied address. A `require(msg.sender == owner)` (the very pattern the token itself uses on its setters) would have blocked it outright. 2. The \"consideration\" leg is caller-spoofable. [continues]","rootCause",1],["2023-06-Sturdy","Sturdy Finance Exploit — Balancer Read-Only Reentrancy Inflates LP-Token Collateral Price","incident","DeFiHackLabs","2023-06","Ethereum",["vuln/reentrancy/read-only","vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/logic/liquidation-logic"],["reentrancy","oracle","logic"],"Read-only reentrancy → manipulable LP-token (BPT) oracle price → unfair collateral / liquidation accounting",null,null,"~$800K","Three design facts compose into a critical bug: 1. Spot-reserve LP pricing. The BPT collateral price is derived from `getPoolTokens()` / `getRate()` — the pool's *instantaneous* reserves — with no TWAP, no manipulation guard, and no re-derivation from underlying market prices. Any momentary inconsistency in the reported reserves is taken at face value. 2. Balancer V2 read-only reentrancy. [continues]","rootCause",1],["18411-specified-minoutput-will-remain-locked-in-lssvmrouterswapnft","Sudoswap LSSVMRouter — specified minOutput remains locked in the router","audit-finding","AuditVault","2023-06",null,["vuln/dos/frozen-funds","vuln/logic/refund-miscalculation"],["dos","logic"],"Refund miscalculation → frozen funds: `minOutput` is deducted from the amount used to buy NFTs, then never added back into the refund","high","Sudoswap `lssvm2` — NFT AMM router (`LSSVMRouter`)",null,"`minOutput` is an *aggregate slippage floor* — the minimum surplus ETH the user expects to keep. The router treats it as if subtracting it from the buy budget and then adding it back to the return value were value-preserving. It is not: the subtraction happens on the money that gets spent/refunded, while the addition happens only on a return value, never on an actual ETH movement. The slippage floor therefore becomes a withdrawal that has no matching payout — funds freeze in the router.","rootCause",1],["18412-malicious-pair-can-re-enter-veryfastrouter-to-drain-original","Sudoswap VeryFastRouter — malicious pair re-enters swap to drain the original caller's ETH","audit-finding","AuditVault","2023-06",null,["vuln/reentrancy/single-function","vuln/access-control/missing-input-validation"],["reentrancy","access-control"],"Single-function re-entrancy + missing pair validation → internal-accounting manipulation","high","Sudoswap — `lssvm2` (new AMM router with partial-fill support)",null,"The router builds a virtual ETH balance (`ethAmount`) from values returned by the pair, rather than from its own measured balance, and it lets an arbitrary address play the role of \"pair\". Because `swap` is re-entrant, a malicious pair can (a) receive the caller's ETH, (b) re-enter `swap`, and (c) manipulate the `outputAmount`/`inputAmount` return values so the router pays out the caller's ETH to the attacker while the outer accounting nets to zero and never reverts.","rootCause",1],["18413-linearity-assumption-on-the-royalty-can-lead-to-denial-of-se","Sudoswap's linear royalty quote reverts a 2-NFT sale and leaves the NFTs in the pair","audit-finding","AuditVault","2023-06","Ethereum",["vuln/dos/frozen-funds","vuln/logic/fee-calculation","vuln/logic/price-calculation"],["dos","logic"],"Royalty treated as a constant fraction of output",null,null,"2 NFTs stuck in the pair","The quote and the pair do not use the same royalty function. The quote scales a constant fraction. The pair calls `actualOutput`, which charges 0.8 ETH once the fill is 2 NFTs. The minimum is therefore larger than the payment the pair will make.","rootCause",1],["19584-miscalculation-of-amount-returnable-to-sender-sigmaprime-non","Sushi Furo — cancelStream pays the sender 400 shares that already left","audit-finding","AuditVault","2023-06",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["logic"],null,null,"Sushi Furo streams",null,"`recipientBalance` is the amount still payable, not the amount streamed. Subtracting it from the deposit returns the unstreamed shares plus everything already withdrawn. The contract does not hold those withdrawn shares anymore, so the overpayment is taken from other balances in the same contract.","rootCause",1],["19588-reentrancy-vulnerabilities-may-drain-tokens-sigmaprime-none","Sushi Furo — stopVesting pays the vest twice","audit-finding","AuditVault","2023-06",null,["vuln/reentrancy/single-function","vuln/dependency/unsafe-external-call"],["reentrancy","dependency"],null,null,"Sushi Furo",null,"The vest accounting is a memory copy. The storage row is cleared only after the external withdrawals. `bentoBox.withdraw` transfers the underlying token when `toBentoBox` is false. That transfer calls back into the owner, and the owner is still `vest.owner`, so the `NotOwner` check passes again.","rootCause",1],["19587-miscalculation-of-the-returnable-amount-of-tokens-sigmaprime","Sushi Furo vesting — stopVesting pays the owner the 1000 already claimed","audit-finding","AuditVault","2023-06",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["logic"],null,null,"Sushi Furo vesting",null,"`canClaim` is what the recipient could still take, not what has vested. Once the recipient has claimed everything, `canClaim` is 0 and subtracting it from the full schedule returns the full schedule. The tokens for that schedule are already gone, so the transfer spends whatever else the contract holds.","rootCause",1],["47982-incorrect-oracle-garbage-collection-ottersec-none-switchboar","Switchboard — garbage collection drops the live oracle","audit-finding","AuditVault","2023-06",null,["vuln/oracle/stale-price"],["oracle"],null,null,"Switchboard",null,"`numRows` is the count of queues an oracle belongs to. Other code assumes that count matches membership, and a read treats `numRows == 1` as \"this oracle is the one live queue member.\" Garbage collection removes the expired oracle from the array, but it zeroes the heartbeat caller. The fresh oracle is dropped from the read. The expired oracle keeps `numRows == 1` after it has been removed.","rootCause",1],["47983-unbounded-gas-rebate-ottersec-none-switchboard-evm-pdf","Switchboard — uncapped gas rebate drains the pot","audit-finding","AuditVault","2023-06",null,["vuln/logic/fee-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],null,null,"Switchboard",null,"The rebate trusts the caller's gas price and the amount of gas burned inside the snapshot. A builder can raise the price and burn extra gas in the measured window. Ordinary users pay that gas price themselves, so the rebate only makes them whole. A builder does not pay it, so the same formula is a withdrawal from the pot.","rootCause",1],["47981-unchecked-fund-provision-ottersec-none-switchboard-evm-pdf","Switchboard: forward spends 5 ETH the caller did not pay","audit-finding","AuditVault","2023-06",null,["vuln/logic/missing-check","vuln/dependency/unsafe-external-call"],["logic","dependency"],null,null,"Switchboard SbFunction",null,"`transaction.value` is taken from the calldata the caller wrote. It is not bounded by `msg.value` or by a separate pull of funds from that caller. The ETH sent by the call is the contract's own balance. Setting `transaction.value` to that balance and `transaction.to` to an attacker address drains it in one call.","rootCause",1],["2023-06-Themis","Themis Protocol Exploit — Manipulable Balancer-LP (BPT) Price Oracle Enables Over-Borrowing","incident","DeFiHackLabs","2023-06","Arbitrum",["vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/oracle/missing-circuit-breaker","vuln/governance/flash-loan-attack"],["oracle","governance"],"Oracle manipulation — LP-token (BPT) price derived from instantaneous, flash-loan-manipulable pool reserves",null,null,"~$370,000","A Balancer (or any AMM) pool's instantaneous reserves are not a safe price source: they can be pushed to any value within a single atomic transaction with borrowed capital. Themis' BPT oracle read those reserves directly and returned a value-per-share, so the collateral's reported worth moved 1:1 with whatever the attacker did to the pool *in the same transaction* as the borrow. Concretely, three design decisions compose into a critical bug: 1. Spot-reserve LP pricing. [continues]","rootCause",1],["54691-requirevalidadjustmentincurrentmode-bypass-when-not-in-mintl","Threshold USD — mintList early-return lets depositors run away with collateral","audit-finding","AuditVault","2023-06",null,[],["untagged"],"Early-return skips ICR invariants","high","Threshold USD — `BorrowerOperations._requireValidAdjustmentInCurrentMode`",null,"1. When `BorrowerOperations` is removed from `thUSD.mintList`, adjustment guards early-return. 2. ICR / recovery-mode checks never run for `withdrawColl`. 3. Alice withdraws nearly all collateral without repaying debt. 4. Trove ICR collapses to ~0 while bad debt remains against the system.","tldr",1],["2023-06-UN","UN Token Exploit — Fee-on-swap-out + skim() Reserve Drain","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/incorrect-order-of-operations","vuln/logic/fee-calculation"],["oracle","logic"],"Fee-on-transfer charged against the AMM pair's *own* balance + `skim()`-extractable excess (broken AMM reserve accounting)",null,null,"~$13,412","The protocol-level invariant a Uniswap-V2/PancakeSwap pair relies on is: Between `_update()` calls, the pair's *token balance* changes only by amounts the pair itself reasons about (mint / burn / swap / direct deposits it later `sync`s in). `reserve == balance` is restored on every interaction. UN's `_transfer` violates this in two compounding ways: 1. Fee charged to the wrong side on a buy. [continues]","rootCause",1],["2023-06-UnverifiedContr_9ad32","Unverified Staking Contract — claim() Double-Spend of Deposited BUSD","incident","DeFiHackLabs","2023-06","BNB Chain",["vuln/logic/missing-allowance","vuln/logic/state-update","vuln/logic/incorrect-order-of-operations"],["logic"],"Accounting flaw — a deposit refunded twice (residual ERC20 allowance + direct transfer)",null,null,"~$5,955","A single `claim(0, X)` refunds the staked principal twice: Refund #1 (intended): `BUSD.transfer(caller, X)` — sends `X` back. Refund #2 (unintended): `BUSD.approve(caller, X)` leaves a standing allowance the caller drains with `BUSD.transferFrom(vulnContract, caller, X)`. Both refunds draw on the contract's BUSD balance. Because the contract held the deposits of other users, the second refund is paid out of someone else's money. The composition of design errors: 1. Spurious `approve` in a payout path. [continues]","rootCause",1],["27820-nftmintsalemultiple-wont-work-if-other-minter-mints-tokens-w","Vibe — another minter can occupy an id the sale is selling","audit-finding","AuditVault","2023-06","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],null,null,"Vibe",null,"The sale does not own the id space. `mintWithId` is a global write on the NFT. The sale assumes the id is still free at purchase time. Nothing in the sale stops a second minter from using the same id.","rootCause",1],["27818-unrestricted-access-to-the-setvibefees-function-in-mintsaleb","Vibe — setVibeFees is open on the implementation","audit-finding","AuditVault","2023-06","Ethereum",["vuln/access-control/missing-modifier","vuln/defi/fee-manipulation"],["access-control","defi"],null,null,"Vibe",null,"The implementation is a real contract with its own storage, and the modifier treats \"no master\" as \"no caller check\". Fees are read from that storage on the purchase path. Whoever writes them first collects the fee until the owner overwrites the fields.","rootCause",1],["2023-06-VINU","Viral Inu (VINU) Exploit — Permissionless addLiquidityETH() Drains Pool's Own Token Reserve","incident","DeFiHackLabs","2023-06","Ethereum",["vuln/access-control/missing-auth","vuln/logic/state-update","vuln/oracle/price-manipulation"],["access-control","logic","oracle"],"Permissionless balance manipulation — token lets *anyone* move 80% of *any* holder's balance, used to drain the pool's own reserve",null,null,"~$6,000","VINU is a malicious / backdoored token, not a protocol with an accidental bug. The single root cause is: `addLiquidityETH` is a permissionless function that performs an unauthorized debit of an arbitrary address's balance (`_balances[devaddr] -= _balances[devaddr] * 80/100`). When the named victim is the AMM pair, it is an un-compensated removal of one side of the pool's reserve — no WETH leaves, only VINU is yanked out — and a follow-up `sync()` lets the attacker monetize the broken `x·y = k` invariant. [continues]","rootCause",1],["2023-06-DEPUSDT_LEVUSDC","Vortex DEPUSDT / LEVUSDC Exploit — Public approveToken() → Arbitrary Reserve Drain","incident","DeFiHackLabs","2023-06","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier","vuln/logic/missing-allowance"],["access-control","logic"],"Missing access control — `public` token-approval helper callable by anyone, with attacker-controlled token + spender",null,null,"~$106K","The market contract is simultaneously: the custodian of real user funds (USDT/USDC sit in the proxy's balance), and; the owner of a `public`, parameter-generic `safeApprove` wrapper. Allowance is the ERC20 authority primitive: whoever the token-holder approves can move its tokens. By exposing `approveToken(token, spender, amount)` publicly, the protocol handed *every* caller the ability to make the fund-custodian approve them for an arbitrary amount of an arbitrary token. [continues]","rootCause",1],["20072-h-04-delegation-rewards-are-not-counted-toward-granting-fund","Ajna Grants — Delegation rewards are not counted toward granting fund","audit-finding","AuditVault","2023-05",null,["vuln/accounting/double-count","vuln/logic/reward-calculation","vuln/loss-of-funds/treasury-insolvency"],["accounting","logic","loss-of-funds"],"Accounting double-count: the 10% voter (delegate) reward slice is re-added to the treasury book even though it was paid out","high","Ajna Protocol — Ajna Grants (StandardFunding treasury)",null,"`fundsAvailable` represents 100% of the GBC, but only up to 90% (`totalTokensRequested`) is spent on proposals. The remaining slice `fundsAvailable - totalTokensRequested` includes the 10% reserved for — and actually paid as — delegate rewards. `_updateTreasury` re-books all of it as \"unused\", so the treasury double-counts the delegate rewards: they leave the contract *and* are added back to the book.","rootCause",1],["20071-h-03-position-nft-can-be-spammed-with-insignificant-position","Ajna Protocol — Position NFT can be spammed with insignificant positions by anyone until rewards DoS","audit-finding","AuditVault","2023-05",null,["vuln/access-control/missing-authorization","vuln/dos/griefing","vuln/logic/reward-calculation"],["access-control","dos","logic"],"Missing authorization: any caller can write attacker-chosen bucket indexes into any tokenId's `positionIndexes` set","high","Ajna Protocol — permissionless lending (PositionManager / RewardsManager)",null,"`memorializePositions` trusts the caller to be acting for the NFT owner but never checks it. Every other position-mutating entry point carries the `mayInteract` modifier (owner-or-approved); this one does not. Because the set of bucket indexes is caller-controlled and the set is unbounded, a third party gains full write access to another user's NFT state — enough to both brick `burn()` and inflate the reward-index scan past the block gas limit.","rootCause",1],["20070-h-02-positionmanagers-moveliquidity-can-set-wrong-deposit-ti","Ajna Protocol — PositionManager's moveLiquidity freezes LP via wrong deposit time","audit-finding","AuditVault","2023-05",null,[],["untagged"],"Incorrect time inheritance across bucket bankruptcy","high","Ajna Protocol — PositionManager",null,"Source deposit time is a valid liveness certificate only for the source bucket. Copying it to an arbitrary destination ignores that bucket's bankruptcy clock. LenderActions already computes the correct destination time; PositionManager does not.","rootCause",1],["20069-h-01-positionmanagers-moveliquidity-can-freeze-funds-by-remo","Ajna Protocol — PositionManager's moveLiquidity freezes residual LP on partial moves","audit-finding","AuditVault","2023-05",null,["vuln/dos/frozen-funds"],["dos"],"State desync: index dropped before partial LP reduction completes","high","Ajna Protocol — PositionManager",null,"The index set is updated as if the move were always complete. Liquidity constraints in the pool make partial moves real; the PositionManager does not re-check residual LP before dropping the index.","rootCause",1],["2023-05-BabyDogeCoin","BabyDoge FarmZAP Exploit — Untrusted farm Callback Lets Anyone Drain Swapped Tokens","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/dependency/unsafe-external-call","vuln/logic/missing-validation"],["dependency","logic"],"Untrusted external call / phantom-deposit: caller-supplied `farm` is used for `stakeToken()`, `depositOnBehalf()` and receives a max token allowance, leaving the swapped tokens recoverable from the ZAP contract",null,null,"~$7.5M total across repeated runs","The protocol's only safety check (`tokenOut == farm.stakeToken()`) is enforced against an attacker-supplied contract, and the same attacker-supplied contract is both granted an unlimited token allowance and trusted to move the funds. No part of the ZAP verifies that `farm` is a legitimate, protocol-deployed farm. The failure composes from these decisions: 1. No farm allow-list / registry. `farm` is a raw `IFarm` parameter. Any address — including the caller's own contract — satisfies the signature. [continues]","rootCause",1],["2023-05-Bitpaidio","Bitpaidio (BTP) Staking Exploit — Stale-Lock Reinvest Bug Enables Instant Flash-Loaned Staking ROI","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/logic/state-update","vuln/logic/incorrect-state-transition","vuln/logic/wrong-condition"],["logic"],"Broken time-lock invariant — stale (cached) lock-expiry reused across deposits ⇒ instant withdrawal",null,null,"~$30K (PoC nets 10,417.70 BTP of free ROI per round","Two design choices combine into a critical bug: 1. Cached lock-expiry is reused without revalidation. The \"reinvest\" branch trusts the stored `end_time` blindly. The implicit invariant the code *should* enforce — *\"a deposit must be locked for at least 180 days from the moment funds are added\"* — is silently dropped whenever `reinvest == 1`. A correct top-up would either extend `end_time` to `now + 180 days`, or weight the remaining lock by the new amount. Here it does neither. [continues]","rootCause",1],["2023-05-CS","CS Token Exploit — Stale Global sellAmount Drives an Attacker-Triggerable Pool Burn","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/logic/state-update","vuln/logic/incorrect-state-transition","vuln/defi/slippage"],["logic","defi"],"Outdated/uncleared global accounting variable (`sellAmount`) feeding an attacker-triggerable, un-compensated pool burn — broken AMM `x·y=k` invariant",null,null,"~684,175 BSC-USD","A Uniswap-V2 / PancakeSwap pair derives price purely from its reserves and only enforces `x·y ≥ k` *inside* `swap()`. `sync()` exists to let the pair adopt its real token balances. CS abuses that trust: it destroys CS held by the pair (`_tOwned[uniswapV2Pair] -= burnAmount`) and then calls `pair.sync()`, telling the pair \"your CS reserve is now this much smaller.\" No BSC-USD ever leaves the pair, so `k` collapses and the CS price spikes — at the moment of the attacker's choosing. [continues]","rootCause",1],["2023-05-DEI","DEI Stablecoin Exploit — burnFrom() Grants the Caller Infinite Allowance, Draining the DEI/USDC Pair","incident","DeFiHackLabs","2023-05","Arbitrum",["vuln/access-control/missing-auth","vuln/logic/incorrect-state-transition"],["access-control","logic"],"Broken access control in ERC20 `burnFrom` — allowance granted *to* the caller instead of consumed *from* it",null,null,"5,047,470.472572 USDC","The whole exploit rests on one inverted line of logic in DEI's `burnFrom`: A token's `burnFrom(account, amount)` is an *allowance-consuming* operation: the caller must already have been approved by `account`, and the call should decrease that approval. DEI's version instead set/granted an allowance for the caller — turning a privileged spend into a public approval faucet. `burnFrom(victim, 0)` is a free `approve(attacker, MAX)` executed *on the victim's behalf*. Everything downstream is mechanical: [continues]","rootCause",1],["2023-05-ERC20TokenBank","ERC20TokenBank / ExchangeBetweenPools Exploit — Zero-Slippage Curve Swap Sandwich","incident","DeFiHackLabs","2023-05","Ethereum",["vuln/defi/slippage","vuln/defi/sandwich-attack","vuln/logic/missing-validation"],["defi","logic"],"Missing slippage protection (`min_dy = 0`) on a forced, permissionlessly-triggerable Curve swap",null,null,"~$111,500","A Curve `exchange_underlying` price is a pure function of the pool's *current* balances. With `min_dy = 0`, the swap will execute at whatever price the pool is in at the instant it runs — and that instant is chosen by the caller. The `doExchange` flow therefore exposes an entirely uncompensated, attacker-timed market order: The bank's value is converted at a price the attacker controls. [continues]","rootCause",1],["2023-05-FAPEN","FAPEN (Father Pepe Inu) Exploit — unstake() Mints Free Tokens via Backwards Balance Check","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-check","vuln/logic/state-update"],["access-control","logic"],"Broken access control / accounting — a public `unstake()` with an inverted balance check mints the *contract's own* token balance to any caller for free",null,null,"~$600 — 2.042256597375684021 WBNB drained from the FAPEN/WBNB PancakeSwap pair","Two independent design errors compose into a free-mint: 1. Wrong subject in the balance check. The guard validates the *source* of funds (`balances[address(this)]`) instead of the *caller's entitlement*. A function that pays the caller must verify the caller's claim, not merely that the till is non-empty. Here the only precondition is \"the contract has tokens,\" which is always true while fees accrue. 2. No staking ledger exists. [continues]","rootCause",1],["2023-05-landNFT","Goldseed landNFT Exploit — Unprotected Minter Forwarder Lets Anyone Free-Mint 200 Land NFTs","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/broken-logic","vuln/logic/missing-validation"],["access-control","logic"],"Missing access control (broken authorization) on a privileged mint path — a public, un-gated *forwarder* into an `onlyMiner` function",null,null,"200 `land` NFTs minted for free → swapped for 28,601 $XQJ → ≈ 149,616 $BUSD","The authorization model was split across two contracts and broke at the seam: `landNFT` trusts `miner[msg.sender]`. The owner whitelisted the `Miner` contract as a miner. But `Miner` then re-published the mint capability to everyone via a public, un-gated `mint(address[],uint256[])`. The trust boundary that `onlyMiner` was supposed to enforce is only as strong as the *least*-restricted authorized minter — and `Miner` was completely open. Concretely: 1. Capability re-delegation without re-authorization. [continues]","rootCause",1],["2023-05-GPT","GPT Token Exploit — Deflationary transfer-Hook + skim() Pool Drain","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/defi/slippage","vuln/defi/sandwich-attack","vuln/logic/incorrect-order-of-operations"],["defi","logic"],"Deflationary-token transfer hook performs AMM-mutating actions; combined with permissionless `skim()` → constant-product invariant manipulation / pool drain",null,null,"~19,989.31 BUSD extracted by the attacker","The vulnerability is not a single line; it is a *composition* of three independently-reasonable mechanisms that are catastrophic together: 1. AMM-mutating logic inside a token transfer hook. GPT performs `removeLiquidity`, `pair.burn`, `pair.swap` and BUSD shuffling as a side effect of an ordinary transfer. This means the pool's two balances change every time GPT moves, in a way that does not preserve the constant product `k`. [continues]","rootCause",1],["2023-05-HODLCapital","HODL Capital Exploit — Reflection-Rate Manipulation via deliver() Drains the Uniswap Pair","incident","DeFiHackLabs","2023-05","Ethereum",["vuln/logic/incorrect-state-transition","vuln/logic/state-update","vuln/defi/slippage"],["logic","defi"],"Reflection-token (`_rTotal`) rate manipulation through a permissionless `deliver()` that desyncs the AMM pair's `balanceOf` from its stored reserves",null,null,"~2.34 ETH","A Uniswap-V2 pair is only sound when the token it holds has a stable, externally-immutable `balanceOf(pair)` outside of transfers the pair itself mediates. `HODLCapital` violates that assumption in two compounding ways: 1. `_rTotal` is mutable by any caller. `deliver()` lets a third party change the conversion rate between reflection-space and token-space without going through the pair. That is a direct write to the pair's effective balance. 2. The pair stores HODL in reflection-space. [continues]","rootCause",1],["53742-updateregisterederc20modifies-the-wrong-token-sigmaprime-non","Interest Protocol — updateRegisteredErc20 prices DUST and pays out 1000 USDi","audit-finding","AuditVault","2023-05",null,["vuln/logic/state-update","vuln/oracle/wrong-feed"],["logic","oracle"],null,null,"Interest Protocol",null,"`registerErc20` bumps `_tokensRegistered` and writes the new row at that id. `updateRegisteredErc20` was copied from it and still indexes with `_tokensRegistered`. The address argument is ignored. Whichever token was registered last receives every later update.","rootCause",1],["2023-05-Jimbo","Jimbo Protocol Exploit — TraderJoe LB Rebalance Manipulation & Floor-Price Decoupling","incident","DeFiHackLabs","2023-05","Arbitrum",["vuln/oracle/price-manipulation","vuln/logic/incorrect-state-transition","vuln/governance/flash-loan-attack"],["oracle","logic","governance"],"Permissionless rebalance trigger + floor-price decoupling via external LB liquidity injection",null,null,"~359.16 WETH","`shift()` treats the LB pair as if it were a read-only oracle of the protocol's own state. It is not. TraderJoe v2.1 allows anyone to `addLiquidity` to any bin, so the bin reserves that `_calculateNewFloorBin` reads are attacker-controllable. Concretely: 1. External LB liquidity is never accounted for. [continues]","rootCause",1],["2023-05-Level","Level Finance Exploit — Duplicate-Epoch claimMultiple() Reward Multiplication","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/logic/reward-calculation","vuln/logic/missing-check","vuln/input-validation/missing"],["logic","input-validation"],"Missing duplicate-element check in a batch-claim array → reward double-spend / multiplication",null,null,"205,105.54 LVL drained from the referral controller's reward balance","The defining flaw is the absence of a uniqueness/idempotency guard on the batch input, combined with reward accounting that does not collapse repeated entries into one: 1. No duplicate-element check. `claimMultiple` trusts `_epoches` to be a set; it is in fact a raw `uint256[]` the attacker fully controls. Passing `13` two-thousand times is legal. 2. The per-iteration `claimed` book-keeping does not suppress repeats inside one call. [continues]","rootCause",1],["2023-05-LFI","LFI / VLFI Exploit — claimRewards() Reward-Debt Reset via Botched cleanUserMapping Migration","incident","DeFiHackLabs","2023-05","Polygon",["vuln/logic/reward-calculation","vuln/logic/state-update","vuln/data/uninitialized"],["logic","data"],"Broken reward accounting — a storage-migration \"clean\" flag zeroes `rewardDebt`, letting freshly-received LP balances re-claim full historical rewards on every transfer",null,null,"~$36,000","The single root cause is the ordering / scope conflict between the migration reset and the MasterChef debt accounting: `cleanUserMapping()` unconditionally sets `rewardDebt = 0` for any address whose `userCleanMapping` flag is `false`. But the set of \"addresses that have never claimed\" is identical to the set of \"addresses that just received LP tokens for the first time.\" [continues]","rootCause",1],["2023-05-LocalTrader2","LocalTrader2 (LCT) Exploit — Unprotected Proxy Implementation Lets Anyone Set the Token Price to 1 wei","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/access-control/uninitialized-proxy","vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Missing access control on an upgradeable-proxy implementation → attacker-controlled price oracle → free token mint-out → AMM dump",null,null,"383.24 WBNB","The exploit is a two-link chain, but both links are the *same* class of mistake — missing access control — and the second link is what turns a wrong price into money: 1. The price oracle's state setters are permissionless. `storeConstructor(address)` (slot 0 / owner) and `0x925d400c(uint256)` (slot 3 / price) can be called by anyone directly on the proxy. There is no `onlyOwner`, no initializer guard, no role check. This is the primary vulnerability. [continues]","rootCause",1],["2023-05-LocalTrader","LocalTraders (LCT) Exploit — Unprotected Price-Oracle Initializer Drains the LCT/WBNB Pool","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/access-control/uninitialized-proxy","vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Missing access control on an upgradeable contract's (re-)initializer + a price-divisor oracle that the exchange trusts blindly",null,null,"~383.24 WBNB drained from the LCT/WBNB PancakeSwap pair","Two independent failures compose into a full drain: 1. Unauthenticated oracle mutation. The price-oracle proxy's implementation exposes a re-runnable initializer (`storeConstructor`) and an unguarded `setPrice`. There is no `initializer` modifier and no `onlyOwner`, so an attacker can set the LCT price divisor to `1` at will. This is the primary bug. 2. Blind oracle consumption by the exchange. [continues]","rootCause",1],["2023-05-LW","LW Token Exploit — Spot-Price Oracle Manipulation Drains Protocol \"Buyback\" Treasury into the LP, Then Drains the LP","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Manipulable spot-price oracle (`getTokenPrice`) driving a \"buyback/burn\" loop; reserve-vs-balance accounting abuse",null,null,"~$50K live","The protocol built an automated, value-moving control loop on top of a single-block-manipulable spot price, and made every link in that loop permissionless: 1. Manipulable oracle. `getTokenPrice()` reads the raw LP ratio. A flash-loaned USDT dump moves it ~118× in one call (from `100,930/3,767,123 ≈ 0.027` to `1,100,930/346,145 ≈ 3.18`), so the \"is this a big sell?\" gate (`price > 2500e18`) is trivially satisfiable with dust. 2. Permissionless arming. [continues]","rootCause",1],["26042-h-08-due-to-inadequate-checks-an-adversary-can-call-branchbr","Maia DAO — Adversary can poison depositNonce via retrieveDeposit and lock user deposits","audit-finding","AuditVault","2023-05",null,[],["untagged"],null,"high","Maia DAO",null,"1. Attacker calls retrieveDeposit(60) with no ownership check.\\n2. Root marks nonce 60 executed.\\n3. User deposit with nonce 60 is rejected on root; tokens locked on branch.","tldr",1],["26045-h-11-an-attacker-can-steal-accumulated-awards-from-rootbridg","Maia DAO — An attacker can steal Accumulated Awards from RootBridgeAgent by abusing retrySettlement()","audit-finding","AuditVault","2023-05",null,["vuln/accounting/gas-double-spend","vuln/loss-of-funds/reward-drain","vuln/dos/frozen-funds"],["accounting","loss-of-funds","dos"],"Gas-fee double-spend: one deposited `gasToBridgeOut` funds N bridge-outs","high","Maia DAO — Ulysses omnichain (RootBridgeAgent gas accounting)",null,"The gas-fee bookkeeping assumes `retrySettlement` is called at most once per `anyExecute`. When several retries are batched into one `anyExecute` (routed via the VirtualAccount / MulticallRootRouter), `userFeeInfo.gasToBridgeOut` is not consumed/zeroed between them, so each retry re-spends the same paid gas out of the shared reserve — the accumulated awards.","rootCause",1],["26043-h-09-rootbridgeagent-checkparamslibcheckparams-does-not-chec","Maia DAO — checkParams does not check token is underlying of hToken","audit-finding","AuditVault","2023-05",null,[],["untagged"],null,"high","Maia DAO",null,"1. checkParams requires underlying exists and hToken is local, not that they pair.\\n2. Attacker deposits USDC with hToken=hEther.\\n3. Root mints 10 global hEther for 10 USDC.","tldr",1],["26047-h-13-re-adding-a-deprecated-gauge-in-a-new-epoch-before-call","Maia DAO — Re-adding a deprecated gauge in a new epoch before queueRewardsForCycle() leaves gauges without rewards","audit-finding","AuditVault","2023-05",null,["vuln/logic/reward-calculation","vuln/dos/frozen-funds","vuln/timing/stale-cycle-read"],["logic","dos","timing"],"Stale-cycle read: the re-add bumps `_totalWeight.currentCycle` to the current cycle, so the stored (old) total is used","high","Maia DAO — ERC-20 Gauges / FlywheelGaugeRewards",null,"`_getStoredWeight` assumes that if a `Weight`'s `currentCycle` equals the query cycle, its `currentWeight` is not yet \"committed\" for this cycle and the `storedWeight` should be used. The re-add writes `_totalWeight` at the current cycle, tripping that condition, so the freshly increased total is ignored while each gauge's weight (last written in an earlier cycle) is read at full value — an inconsistent snapshot that over-allocates rewards.","rootCause",1],["26041-h-07-redeem-in-beforeredeem-is-using-the-wrong-owner-paramet","Maia DAO — redeem() in beforeRedeem uses the wrong owner parameter","audit-finding","AuditVault","2023-05",null,[],["untagged"],null,"high","Maia DAO",null,"1. redeem burns _owner shares but calls beforeRedeem(receiver).\\n2. flywheel.accrue hits receiver (0 shares).\\n3. Owner never accrues; rewards stranded in flywheel.","tldr",1],["26044-h-10-talosbasestrategyinit-lacks-slippage-protection-code4re","Maia DAO — TalosBaseStrategy#init() lacks slippage protection","audit-finding","AuditVault","2023-05",null,[],["untagged"],null,"high","Maia DAO",null,"1. deposit() has checkDeviation; init() does not.\\n2. amount0Min/amount1Min hardcoded to 0.\\n3. Price manipulation drains 99% of init deposit.","tldr",1],["26048-h-14-user-may-underpay-for-the-remote-call-executiongas-on-t","Maia DAO — User may underpay for remote call ExecutionGas (missing Anycall premium)","audit-finding","AuditVault","2023-05",null,[],["untagged"],null,"high","Maia DAO",null,"1. _payExecutionGas deposits gasprice * gas only.\\n2. Anycall charges (gasprice+premium)*gas.\\n3. Gap taken from other users shared executionBudget.","tldr",1],["2023-05-Melo","Melo (MEL) Exploit — Unprotected mint() → Infinite-Supply Pool Drain","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier","vuln/arithmetic/overflow"],["access-control","arithmetic"],"Missing access control on a privileged `mint()` (CWE-284 / unprotected token minting)",null,null,"~$90,488","A single missing authorization check. `mint()` was almost certainly intended to be called only by a custodial/bridge backend (hence the `txId` argument that records the off-chain originating transaction), but it was deployed `public` with no guard. That turns the token's supply into an attacker-controlled dial. Once supply is attacker-controlled, the AMM does the rest. PancakeSwap prices MEL purely from the pair's reserves. [continues]","rootCause",1],["2023-05-MultiChainCapital","Multi-Chain Capital ($MCC) Exploit — Reflection-Rate Inflation via deliver() + skim()","incident","DeFiHackLabs","2023-05","Ethereum",["vuln/logic/incorrect-state-transition","vuln/logic/state-update","vuln/defi/slippage"],["logic","defi"],"Reflection-token (RFI) accounting flaw — public `deliver()` inflates the global reflection rate, silently re-pricing the pool's balance, harvested via `skim()`",null,null,"~10.2 WETH net profit","The token's reflection rate is a global, mutable price multiplier applied to every holder's balance, and it is decreasable by an unprivileged caller through `deliver()`. The protocol never considered that one of those \"holders\" is an AMM pair whose price depends on its token balance. Three design facts compose into a critical bug: 1. `deliver()` is permissionless and rate-moving. [continues]","rootCause",1],["2023-05-NeverFall","NeverFall (NF) Exploit — sell() Over-Redeems LP Against a Pre-Crashed Pool Reserve","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/defi/slippage","vuln/logic/reward-calculation"],["oracle","defi","logic"],"Broken redemption accounting — `sell()` sizes the LP burn against a manipulable live pool reserve",null,null,"~74,250.89 USDT profit to the attacker","In a Uniswap-V2/PancakeSwap pool, redeeming `L` LP tokens returns `L/totalLP` of *both* reserves, so a withdrawal is only \"fair\" when the LP burned reflects the value being withdrawn. `NeverFallToken.sell()` instead derives the LP burn from a single, live, attacker-controllable reserve: `needLiquidity = amount × totalLP / balanceNF`; This conflates two independent quantities: 1. How much NF the seller is returning (`amount`) — chosen by the attacker, and [continues]","rootCause",1],["2023-05-NOON","NOON (NO) Exploit — Public _transfer() Lets Anyone Drain the AMM Pool For Free","incident","DeFiHackLabs","2023-05","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-allowance","vuln/oracle/price-manipulation"],["access-control","logic","oracle"],"Wrong function visibility — `_transfer(from,to,amount)` is publicly callable, allowing an un-owned, un-approved transfer of any holder's balance",null,null,"1.13645 WETH","A privileged internal balance-moving routine (`_transfer(from,to,amount)`) was given external visibility with no `msg.sender == from` check and no allowance deduction. It is the smart-contract equivalent of leaving the bank vault's internal \"move money between any two accounts\" lever on the public lobby wall. Standard ERC-20 enforces exactly two ways to debit an account: [continues]","rootCause",1],["19152-h-1-balancedvaultsol-loss-of-funds-global-settlement-flywhee","Perennial BalancedVault — a second stale deposit pushes settlement one epoch later","audit-finding","AuditVault","2023-05",null,["vuln/logic/state-update"],["logic"],null,null,"Perennial BalancedVault",null,"One epoch number stands for every pending deposit of the account. A later deposit replaces it. The global queue is not keyed by that number, so it still converts the original assets on the original schedule. Share price is read at settlement time. A higher price mints fewer shares for the same assets.","rootCause",1],["32846-incorrect-accounting-of-earned-and-unlocked-tokens-on-exit-m","Radiant — exit leaves earned and unlocked set and freezes 50 RDNT","audit-finding","AuditVault","2023-05",null,["vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Radiant MultiFeeDistribution",null,"Exit updates one view of the position, `userEarnings` and `total`, and leaves the two fields `withdrawableBalance` actually sums. The next function that subtracts a withdrawable amount from `total` underflows.","rootCause",1],["2023-05-SELLC02","SELLC / QIQI StakingRewards Exploit — Attacker-Chosen Reward-Valuation Token Drains the Reward Pool","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/oracle/spot-price","vuln/logic/missing-validation","vuln/logic/reward-calculation"],["oracle","logic"],"Price/oracle manipulation via a caller-supplied valuation token + a permissionless `claim()` reward formula reading a spot AMM price",null,null,"~1,983.33 QIQI drained from the StakingRewards reward pool in one transaction","The reward valuation trusts a price feed that the caller fully controls in two independent ways: 1. `token1` (the denomination asset) is a free function argument. Nothing forces it to be USDT, SELLC, or any sanctioned reward base. The attacker passes a freshly-minted token (`TOKENA`). 2. The price source is a spot `getAmountsOut` on a pair the attacker created and seeded. [continues]","rootCause",1],["2023-05-SELLC","SELLC / StakingRewards Exploit — Permissionless sell() Drains Staked LP Tokens via a Self-Created Price Oracle","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["access-control","oracle"],"Permissionless reward function + attacker-controlled price oracle → theft of protocol-held LP collateral",null,null,"~$95K — attacker turned 3 WBNB into 332.58 WBNB","Three independent design defects compose into a critical theft of protocol funds: 1. No access control on value-moving functions. Both `addLiquidity` (which writes the `listToken` allow-list) and `sell` (which transfers `token1` out of the contract) are `public` with no `onlyOwner`/role check. The only barrier is `require(listToken[token])` in `sell`, and `addLiquidity` lets *anyone* flip that bit for *any* token. 2. Spot price from a manipulable AMM as the payout oracle. [continues]","rootCause",1],["2023-05-SellToken","SellToken Exploit — Spot-Price Oracle Manipulation of a Leveraged \"Short\" Exchange","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/defi/slippage"],["oracle","defi"],"Price-oracle manipulation — using `Router.getAmountsOut()` (instantaneous AMM spot price) as the trade price for a leveraged product, manipulable by a flash loan",null,null,"~3.11 WBNB profit per cycle","A constant-product AMM (`PancakeSwap`) prices a token purely from its current reserves. `getAmountsOut()` returns the marginal price for *this block* and is, by construction, manipulable for the duration of a single transaction: borrow → swap to move reserves → read the moved price → swap back. `SellToken` builds a *leveraged* product (shorts that pay out a multiple of the price move) on top of this manipulable number, with three compounding mistakes: 1. Spot price as the oracle. [continues]","rootCause",1],["2023-05-SNK","SNK Miner Exploit — Inflated Referral Reward via Just-In-Time Child Staking","incident","DeFiHackLabs","2023-05","BNB Chain",["vuln/logic/reward-calculation","vuln/logic/incorrect-order-of-operations","vuln/logic/state-update"],["logic"],"Reward-accounting flaw — referral (\"community\") reward multiplies a single per-token rate by the *full sum of all children's balances*, with no time-lock or staleness guard on the snapshot",null,null,"The attacker minted 17,845.81 SNK of reward across 10 sock-puppet accounts in a single tra","The dynamic-reward formula conflates two quantities that must be measured over the same time window: A staking reward must equal `(stake that was active during Δt) × (rate that accrued during Δt)`. `SNKMiner` computes `(stake active *now*) × (rate accrued over the *whole* window since the parent's last snapshot)`. Concretely: 1. Live vs. snapshotted balance. `_getMyChildersBalanceOf` reads `balanceOf(child)` at call time. [continues]","rootCause",1],["19616-wrong-balance-checked-before-withdrawal-sigmaprime-none-sush","SushiXSwap — zero withdraw reads the wallet, not BentoBox","audit-finding","AuditVault","2023-05",null,["vuln/logic/wrong-condition","vuln/access-control/missing-auth"],["logic","access-control"],null,null,"SushiXSwap",null,"The zero shortcut was copied from the path that sweeps tokens the contract already holds. This action sweeps a BentoBox position. The wallet balance is the wrong number, and it is 0 in the case the shortcut exists for.","rootCause",1],["19130-h-1-stableoracledai-calculates-getpriceusd-with-inverted-bas","USSD — StableOracleDAI averages DAI-per-ETH with ETH-per-DAI, so 1 DAI mints 799 units","audit-finding","AuditVault","2023-05",null,["vuln/oracle/wrong-feed","vuln/logic/price-calculation"],["oracle","logic"],"Pool leg is DAI per WETH, Chainlink leg is DAI/ETH","high","USSD `StableOracleDAI.getPriceUSD`",null,"The pool call prices WETH in DAI. The Chainlink feed prices DAI in ETH. Adding them, even after the `1e10` scale the source applies to `price`, does not produce a DAI-per-ETH figure. The divisor is about 2.501e24 instead of 2000e18, so the USD price of DAI collapses from $1 to about 0.0008. This is not finding 19133. That finding feeds both legs 2e18 and shows the `1e10` scale alone. Here the two legs point in opposite directions: 2000e18 and 0.0005e18.","rootCause",1],["19135-h-6-wrong-computation-of-the-amounttosellunit-variable-sherl","USSD amountToSellUnits — a partial collateral sell moves 0 instead of 250e18","audit-finding","AuditVault","2023-05","Ethereum",["vuln/arithmetic/precision-loss","vuln/arithmetic/division-before-multiply"],["arithmetic"],null,null,"USSD (Autonomous Secure Dollar)",null,"`amountToBuyLeftUSD` and `collateralval` are both 18-decimal USD notionals. Their ratio does not need another 1e18 of scaling. The parentheses divide that ratio by 1e18 before the balance is applied. For this call: balance = 1000e18 COLL; collateralval = 1000e18; amountToBuyLeftUSD = 250e6 * 1e12 = 250e18; `(250e18 * 1e18 / 1000e18) / 1e18 = 0`; amountToSellUnits = 0; fair = `1000e18 * 250e18 / 1000e18 = 250e18`","rootCause",1],["19137-h-8-lack-of-access-control-for-mintrebalancer-and-burnrebala","USSD mintRebalancer — anyone can mint unbacked supply","audit-finding","AuditVault","2023-05",null,["vuln/access-control/missing-modifier","vuln/logic/state-update","vuln/logic/missing-check"],["access-control","logic"],null,null,"USSD (Autonomous Secure Dollar)",null,"The rebalancer is the only component that should change USSD supply when it defends the peg. Without `onlyBalancer`, supply is a public input. `collateralFactor` divides by `totalSupply`, so every extra token makes the protocol look less collateralized and makes the rebalancer's next trade the wrong size. Minting `type(uint256).max - totalSupply()` also bricks every later mint; this PoC uses a 9x inflation so the factor change is exact.","rootCause",1],["19131-h-2-ussdrebalancersolsellussdbuycollateral-the-check-of-whet","USSD SellUSSDBuyCollateral — the DAI skip is an OR, so 1000 DAI is sold","audit-finding","AuditVault","2023-05","Ethereum",["vuln/logic/wrong-condition","vuln/logic/incorrect-state-transition"],["logic"],null,null,"USSD (Autonomous Secure Dollar)",null,"`token != token0 || token != token1` is the negation of `token == token0 && token == token1`. No collateral is both pool tokens, so the body always runs. DAI is `token1` of the USSD/DAI pool. It still enters `UniV3SwapInput` with its `pathbuy` and an input of `daibought/portions`. Here `daibought` is 2000e18 and `portions` is 2, so the DAI path sells 1000e18 DAI that the AND check does not sell.","rootCause",1],["19133-h-4-the-price-from-stableoracledai-is-returned-with-the-inco","USSD StableOracleDAI — an extra 1e10 on an 18-decimal DAI/ETH feed","audit-finding","AuditVault","2023-05","Ethereum",["vuln/oracle/wrong-feed","vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["oracle","arithmetic","logic"],null,null,"USSD (Autonomous Secure Dollar)",null,"The average in the denominator mixes a 18-decimal Uniswap DAI-per-ETH quote with a Chainlink DAI/ETH answer that the author scaled as if it were 8 decimals. `uint256(price) * 1e10` dominates the sum. Integer division then yields `199999999` rather than `1e18`. `mintForToken` does `ussdOut = daiAmount * 1e18 / price`. For `daiAmount = 1e18`: fair price `1e18` mints `1e18` USSD; buggy price `199999999` mints `5000000025000000125000000625` USSD","rootCause",1],["2023-04-0vix","0VIX Protocol Exploit — vGHST Oracle Manipulation via Balance Donation","incident","DeFiHackLabs","2023-04","Polygon",["vuln/oracle/price-manipulation","vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"Price-oracle manipulation — share-price (ERC4626-style) donation/inflation of a balance-derived exchange rate used as a lending-market oracle",null,null,"~$2.0M","0VIX used a balance-derived, donatable share price (`vGHST.convertVGHST`) directly as a collateral oracle. Because `convertVGHST` reads the vGHST contract's live GHST balance, anyone can spike it by transferring GHST in. Inflating the price of an asset you owe (vGHST) while it is held against collateral you own (USDC) lets you self-liquidate at a profit, draining honest depositors. Three independent design failures compose into the exploit: 1. Manipulable oracle source. [continues]","rootCause",1],["21301-extraordinary-proposal-steal-ajna","Ajna ExtraordinaryFunding — caller-supplied voter accounts drain the treasury","audit-finding","AuditVault","2023-04",null,["vuln/governance/proposal-manipulation","vuln/access-control/missing-owner-check"],["governance","access-control"],null,null,null,null,"The API treats `account` as an authenticated voter identity without requiring a delegation signature or `account == msg.sender`.","rootCause",1],["2023-04-Allbridge_exp2","Allbridge Core Exploit — StableSwap withdraw() Symmetric-Burn Drain via Flash-Loan-Induced Imbalance","incident","DeFiHackLabs","2023-04","BNB Chain",[],["untagged"],"Broken StableSwap invariant — `withdraw()` removes equal `D`-shares from both reserves while the pool is artificially imbalanced, letting an LP redeem far more real token than its share is worth",null,null,"~$549,890 in this single PoC run","The StableSwap math is self-consistent only when redemptions are priced on the curve. Allbridge's `withdraw()` instead applies a balanced, symmetric burn (`tokenBalance -= amountSP; vUsdBalance -= amountSP;`) regardless of the pool's actual `token:vUsd` ratio, and pays the user the *token* leg of a number derived largely from the *vUsd* leg. The chain of design decisions that compose into the bug: 1. Symmetric reserve debit on an asymmetric pool. [continues]","rootCause",1],["2023-04-Allbridge","Allbridge Exploit — StableSwap LP Mispricing via Self-Imbalanced Pools","incident","DeFiHackLabs","2023-04","BNB Chain",["vuln/logic/price-calculation","vuln/defi/slippage"],["logic","defi"],"StableSwap LP-share mispricing: deposit into a balanced pool, withdraw against a self-imbalanced pool",null,null,"~$549,874","The deposit and withdrawal accounting are asymmetric with respect to pool balance: Deposit mints LP assuming a *balanced* add (equal `tokenBalance`/`vUsdBalance` deltas, LP ∝ ΔD). Withdraw redeems LP at the pool's *current* token/vUSD split, converting any vUSD-heavy imbalance into real token via `_preWithdrawSwap` → `getY`. Because the same actor can: 1. Deposit while balanced (cheap LP, priced fairly), then [continues]","rootCause",1],["2023-04-Axioma","Axioma (AXT) Exploit — Mispriced Presale Sells Tokens Far Below the AMM Market Price","incident","DeFiHackLabs","2023-04","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/price-calculation","vuln/defi/slippage"],["oracle","logic","defi"],"Stale / mispriced presale (hard-coded `rate`) decoupled from live AMM price → risk-free arbitrage",null,null,"20.83 WBNB profit on a single 32.5 WBNB flash-loaned buy","A token has exactly one fair price at any instant. Axioma created two independent venues quoting that token at two different prices and put no mechanism in place to keep them in line: 1. PancakeSwap prices AXT dynamically from its reserves — that price had drifted up to ~104.5 AXT/BNB because the pool was thin (only ~135 WBNB of liquidity). 2. The presale priced AXT at a static `rate` of 300 AXT/BNB that the owner had configured and never updated to track the market. [continues]","rootCause",1],["20057-h-02-it-is-impossible-to-slash-queued-withdrawals-that-conta","EigenLayer — impossible to slash queued withdrawals containing a malicious strategy (misplaced ++i)","audit-finding","AuditVault","2023-04",null,["vuln/logic/loop-increment-misplacement","vuln/dos/unslashable-withdrawal","vuln/loss-of-funds/slashing-evasion"],["logic","dos","loss-of-funds"],"Misplaced loop increment: `indicesToSkip` is silently ignored","high","EigenLayer — restaking (StrategyManager slashing / withdrawal queue)",null,"The developer intended `++i` to run every iteration but placed it inside the `else` block alongside the withdraw call. Solidity's `for (…;)` has no built-in increment, so a skipped iteration leaves `i` frozen. The result is that `indicesToSkip` — the exact mechanism meant to let owners route around a malicious strategy — is a no-op.","rootCause",1],["20021-h-06-challenger-reward-can-be-used-to-drain-reserves-and-fre","Frankencoin — CHALLENGER_REWARD can be used to drain reserves and free-mint ZCHF","audit-finding","AuditVault","2023-04",null,["vuln/logic/reward-calculation","vuln/access-control/unbounded-parameter","vuln/loss-of-funds/direct-drain"],["logic","access-control","loss-of-funds"],"Reward computed from an unbounded, attacker-controlled parameter; loss covered by minting","high","Frankencoin — a collateralized, decentralized stablecoin (ZCHF) with an auction-based liquidation mechanism",null,"The challenger reward is a fixed percentage of a *volume* that the position owner alone determines and can inflate without limit. Because the protocol's design guarantees the reward will be paid (falling back to `notifyLoss` → reserve drain → mint), an attacker who is both the position owner and the challenger can convert an arbitrarily large self-reported price directly into ZCHF at the system's expense.","rootCause",1],["20020-h-05-position-owners-can-deny-liquidations-code4rena-franken","Frankencoin — Position owners can deny liquidations (unbounded price overflow)","audit-finding","AuditVault","2023-04",null,["vuln/arithmetic/overflow-dos","vuln/access-control/unbounded-parameter","vuln/loss-of-funds/frozen-funds"],["arithmetic","access-control","loss-of-funds"],"Unbounded owner-set parameter → checked-arithmetic overflow → permanent denial of liquidation (funds frozen)","high","Frankencoin — a collateralized, decentralized stablecoin (ZCHF) with an auction-based liquidation mechanism",null,"The liquidation price is an owner-controlled value with no maximum, yet it is used as a multiplicand in checked arithmetic across every path that resolves a challenge. Setting it to `type(uint256).max` turns each of those multiplications into a guaranteed revert, so the challenge mechanism — the protocol's only tool for liquidating an under-collateralized position — becomes permanently inoperative for that position.","rootCause",1],["20018-h-03-when-the-challenge-is-successful-the-user-can-send-toke","Frankencoin — Successful challenge + collateral top-up skips cooldown","audit-finding","AuditVault","2023-04",null,[],["untagged"],"Conditional cooldown gate skipped via front-run deposit","high","Frankencoin — collateralized ZCHF stablecoin with auction-based challenges",null,"The cooldown extension is gated on the post-withdraw balance rather than on the fact that a challenge succeeded. Any external ERC20 transfer into the position before `end()` can keep the balance above the threshold and silently disable the intended minting freeze.","rootCause",1],["20019-h-04-transfer-position-ownership-to-addr0-to-dos-end-challen","Frankencoin — Transfer position ownership to address(0) DoSes end()","audit-finding","AuditVault","2023-04",null,[],["untagged"],"Ownership transfer to zero → settlement DoS → frozen funds","high","Frankencoin",null,"Settlement always tries to refund excess bid to the current position owner. Ownership is transferable to the zero address, and the ZCHF ERC20 forbids transfers to zero — so a malicious (or desperate) owner can brick every `end()` that would pay them a refund.","rootCause",1],["2023-04-HundredFinance_2","Hundred Finance #2 Exploit — Empty-Market Exchange-Rate Inflation Drains Every Pool","incident","DeFiHackLabs","2023-04","Base",["vuln/oracle/price-manipulation","vuln/arithmetic/rounding","vuln/reentrancy/cross-contract"],["oracle","arithmetic","reentrancy"],"ERC4626-style first-depositor / exchange-rate inflation on an empty market + donation-manipulable `exchangeRate`",null,null,"~$7.4M across all Hundred Finance Optimism markets","The vulnerability is the well-known share-inflation / first-depositor attack applied to a Compound-v2 fork whose collateral market was left nearly empty: 1. `exchangeRate` reads raw balance. `getCashPrior()` counts donated tokens, so the rate's numerator is manipulable by an unsolicited transfer. 2. `totalSupply` is attacker-minimisable. Minting then redeeming all-but-2 shares drives the denominator to 2, amplifying the donation's effect by ~`donation/2`. [continues]","rootCause",1],["21014-contract-funds-can-be-drained-out-auditone-none-lotaheros-ma","IOTA Heroes — cancelTradeOer pays the same order until the post is empty","audit-finding","AuditVault","2023-04",null,["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],null,null,"IOTA Heroes TradingPost",null,"`o` is a memory copy. Storage still says the order is open while the ETH is in flight. The recipient is `msg.sender`, who is allowed to cancel, so the re-entered call passes the same checks and pays `o.price` from whatever ETH the post holds.","rootCause",1],["21017-reentrancy-exploit-in-initiateadventure-function-auditone-no","IOTA Heroes — contractAdventure mints the reward twice","audit-finding","AuditVault","2023-04",null,["vuln/reentrancy/cross-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],null,null,"IOTA Heroes",null,"The external payment is the first interaction, and the \"already adventuring\" bit is the last write. `goAdventure` shares `_initiateAdventure` and only checks `started`. During the payment that bit is still false.","rootCause",1],["21013-settradeoer-and-canceltradeoer-functions-does-not-use-reentr","IOTA Heroes — setTradeOer refunds before the order is closed","audit-finding","AuditVault","2023-04",null,["vuln/reentrancy/single-function","vuln/access-control/missing-modifier"],["reentrancy","access-control"],null,null,"IOTA Heroes TradingPost",null,"The refund uses a memory copy of an order that storage still marks open. Nothing blocks the seller from entering `setTradeOer` again on that call. Each entry pays `prev.price` and `BONUS` from the contract's shared balances.","rootCause",1],["18974-trst-h-1-reentrancy-protection-can-likely-be-bypassed-trust","LUKSO LSP6 KeyManager — a permitted reentry clears the reentrancy guard","audit-finding","AuditVault","2023-04",null,["vuln/reentrancy/single-function","vuln/logic/incorrect-state-transition","vuln/access-control/broken-logic"],["reentrancy","logic","access-control"],null,null,"LUKSO LSP6 KeyManager",null,"The guard is a single bool, not a saved/restored bit. The only way a nested `execute` is legal is the `REENTRANCY` permission. That nested call's exit writes `false`, so the permission check is skipped for every later entry in the same outer call. Code that updates a cap only after an external call is safe only while that second entry is impossible.","rootCause",1],["2023-04-MetaPoint","MetaPoint (POT) Exploit — Permissionless approve() on User-Wallet Contracts Drains Holder Balances","incident","DeFiHackLabs","2023-04","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control — arbitrary/public approval (CWE-862) on user-wallet contracts",null,null,"~8,961.18 POT stolen from 10 holder wallets, liquidated to 83.95 WBNB","The wallet contracts were designed so the MetaPoint backend could custody and move users' POT. The intended flow was presumably: *\"the wallet pre-approves our operator so we can sweep deposits.\"* But the implementation made two fatal choices: 1. The spender is `msg.sender`, not a hard-coded trusted operator. Whoever calls `approve()` is the one who gets approved. There is no notion of \"the backend\" baked in — the bytecode contains the POT address as an immutable, but the *spender* is taken live from `CALLER`. [continues]","rootCause",1],["2023-04-OLIFE","OceanLife (OLIFE) Exploit — Reflection-Rate Collapse Inflates the Pool's Token Balance","incident","DeFiHackLabs","2023-04","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/logic/state-update","vuln/defi/slippage"],["logic","defi"],"Reflection-token accounting flaw — caller-driven `currentRate` collapse inflates an un-excluded holder's (the pool's) balance",null,null,"32.286 WBNB","A Uniswap-V2/PancakeSwap pair reads its token balances via `IERC20.balanceOf(pair)` whenever it `sync`s or performs a fee-on-transfer swap. It trusts that a token's `balanceOf` only changes when tokens are actually moved in or out. OceanLife violates that assumption: `balanceOf(pair)` is `_rOwned[pair] / currentRate` — a function of a global variable (`currentRate`) that *any* unprivileged account can shrink by calling `deliver()` or by churning taxed transfers. [continues]","rootCause",1],["2023-04-Paribus","Paribus Finance Exploit — Compound V2 Fork redeemFresh Cross-Market Reentrancy","incident","DeFiHackLabs","2023-04","Arbitrum",["vuln/reentrancy/cross-contract","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Reentrancy — CEI violation (external transfer before state write) crossing per-market `nonReentrant` guards",null,null,"~$0.79M reported by analysts","A single invariant must hold whenever the comptroller evaluates solvency: an account's recorded collateral (`accountTokens`) must reflect every withdrawal already in flight. `redeemFresh` breaks it by paying out underlying before reducing `accountTokens`. The pETH market pays native ETH, so the redeemer gets a re-entry hook mid-redemption while still appearing fully collateralized. Composed failures: 1. CEI violation in `redeemFresh`: external call (`doTransferOut`) precedes the collateral state write. [continues]","rootCause",1],["48951-h-12-dos-of-market-operations-with-malicious-offers-code4ren","Rubicon — DOS of market operations with malicious offers","audit-finding","AuditVault","2023-04",null,[],["untagged"],"frozen-funds · permanent · dos-resistance","high","Rubicon",null,"offer() accepts owner/recipient=0; OZ ERC20 reverts on transfer to zero, DoSing market fills.","rootCause",1],["48956-h-17-first-depositor-bug-on-unmodified-compound-fork-code4re","Rubicon — First depositor bug on unmodified Compound fork","audit-finding","AuditVault","2023-04",null,[],["untagged"],"First-deposit share inflation / rounding to zero","high","Rubicon BathToken / Compound V2 `CToken` fork",null,"Share minting uses pure division against the exchange rate with no minimum liquidity / dead shares. A donation after a 1-wei mint inflates the rate so the next depositor rounds to zero shares while their underlying is still pulled in.","rootCause",1],["48954-h-15-the-last-borrowed-asset-will-not-be-collateralized-and","Rubicon — Last borrowed asset is not collateralized","audit-finding","AuditVault","2023-04",null,[],["untagged"],"liquidation-logic · direct-drain · liquidation-underwater","high","Rubicon",null,"_borrowLoop supplies, borrows, swaps but never supplies the last swapped asset as collateral.","rootCause",1],["48953-h-14-users-might-get-less-assets-than-expected-upon-migratio","Rubicon — Migration can underpay users via price manipulation","audit-finding","AuditVault","2023-04",null,[],["untagged"],"spot-price · price-manipulation · fot-slippage","high","Rubicon",null,"migrate redeems V1 then mints V2 with no minOut; low-liquidity exchangeRate inflation rounds victim to 0 shares.","rootCause",1],["48952-h-13-when-opening-a-position-the-collateral-of-the-previous","Rubicon — Opening a position reuses prior collateral for borrowing","audit-finding","AuditVault","2023-04",null,[],["untagged"],"liquidation-logic · direct-drain · account-ownership","high","Rubicon",null,"openPosition borrow budget uses _maxBorrow which includes residual capacity from prior positions on the shared Position account.","rootCause",1],["48955-h-16-due-to-the-loss-of-precision-openposition-will-make-the","Rubicon — Precision loss makes openPosition leverage higher than expected","audit-finding","AuditVault","2023-04",null,[],["untagged"],"precision-loss · integer-bounds · liquidation-underwater","high","Rubicon",null,"wmul floor makes desired==init; lastBorrow=0 is treated as full borrow instead of zero extra leverage.","rootCause",1],["48950-h-11-rubiconmarket-checks-slippage-incorrectly-code4rena-rub","Rubicon — RubiconMarket checks slippage incorrectly","audit-finding","AuditVault","2023-04",null,[],["untagged"],"fee-calculation · fot-slippage · direct-drain","high","Rubicon",null,"sellAllAmount requires fill_amt >= min_fill_amount before calcAmountAfterFee, so a post-fee floor can be violated.","rootCause",1],["48949-h-10-some-offers-cant-be-cancelled-code4rena-rubicon-rubicon","Rubicon — Some offers can't be cancelled","audit-finding","AuditVault","2023-04",null,[],["untagged"],"Wrong condition / cross-contract state consistency — cancel assumes book insertion that SimpleMarket.offer never performs","high","Rubicon — `RubiconMarket` / `SimpleMarket`",null,"Cancel was upgraded in `RubiconMarket` to maintain the order book, but the SimpleMarket 6-arg `offer` API was left un-overridden. Offers created through that API never enter `_rank` or `_near`, so the cancel bookkeeping invariants always fail.","rootCause",1],["2023-04-Sentiment","Sentiment Protocol Exploit — Balancer Read-Only Reentrancy Inflates LP-Collateral Price","incident","DeFiHackLabs","2023-04","Arbitrum",["vuln/reentrancy/read-only","vuln/oracle/price-manipulation"],["reentrancy","oracle"],"Read-only reentrancy → manipulated LP-token oracle → under-collateralized borrow",null,null,"~$1.0M total","Balancer V2 settles `exitPool` in this order: (a) compute amounts out, (b) burn the user's BPT (lowering `totalSupply`), (c) call the pool's `onExitPool` hook, (d) decrement the Vault's internal reserve accounting and (e) transfer the underlying tokens to the user. Between (b) and (d) the Vault is in an *inconsistent* state: `totalSupply` is reduced but the queryable `getPoolTokens` balances are not. `WeightedBalancerLPOracle.getPrice` trusts that state to be consistent. [continues]","rootCause",1],["2023-04-silo_finance","Silo Finance Logic-Error Exploit — Interest-Rate Manipulation Drains the Entire XAI Market for ~$0","incident","DeFiHackLabs","2023-04","Ethereum",["vuln/oracle/price-manipulation","vuln/logic/incorrect-state-transition","vuln/logic/fee-calculation"],["oracle","logic"],"Logic error / accounting inconsistency — the borrow-solvency check uses an interest-rate-contaminated collateral value, and the interest rate itself is donation-inflatable, allowing a near-unlimited borrow.",null,null,"The PoC borrows the entire XAI market","Two design choices compose into the bug: 1. The collateral value used for borrowing is `rcomp`-inflated, and `rcomp` is allowed to reach `RCOMP_MAX` (a ~6.5e22 multiplier) instead of being bounded to a sane, sub-100% APR. A saturated rate turns dust into enormous \"collateral.\" 2. Utilization (hence `rcomp`) is manipulable for free because the numerator (`totalBorrowAmount`) and denominator (`totalDeposits`) are *accounting* figures, decoupled from the Silo's real token balance. [continues]","rootCause",1],["2023-04-Sushi_Router","Sushi RouteProcessor2 Exploit — Attacker-Controlled \"Pool\" Drains Approved Tokens via uniswapV3SwapCallback","incident","DeFiHackLabs","2023-04","Ethereum",["vuln/logic/missing-validation","vuln/dependency/unsafe-external-call"],["logic","dependency"],"Missing pool-authenticity validation → arbitrary external call with unvalidated callback → theft of any approved token",null,null,"~$3.3M aggregate across all affected approvers","The Uniswap-V3 swap callback pattern is secure only if the callee verifies the callback caller is a genuine pool. The canonical Uniswap V3 periphery does this with `CallbackValidation.verifyCallback(factory, tokenA, tokenB, fee)`, which recomputes the deterministic pool address from the factory and `require`s `msg.sender == computedPool`. `RouteProcessor2` ported the callback *shape* but dropped the *validation*: 1. Unvalidated pool address. [continues]","rootCause",1],["2023-04-Swapos","Swapos V2 Pair Exploit — Broken k-Value Invariant Lets 10 wei of WETH Drain ~98% of the Pool's SWP","incident","DeFiHackLabs","2023-04","Ethereum",["vuln/arithmetic/precision-loss","vuln/arithmetic/decimal-mismatch"],["arithmetic"],"Broken AMM constant-product invariant — a `k`-value arithmetic error in `swap()` (100x-too-loose fee scaling)",null,null,"Not stated in the trace","The constant-product invariant is the *only* thing preventing an attacker from printing free output tokens. It requires, after a swap, that the fee-adjusted product of balances is at least the prior `reserve0 * reserve1` (both sides scaled identically so the scaling cancels). Swapos scales the two sides differently: LHS factor: `10000 × 10000 = 1e8`; RHS factor: `1000 × 1000 = 1e6`; Ratio LHS/RHS = 100x too loose; With 100x slack, `balance1Adjusted` can be ~100x smaller than `reserve1` would allow. [continues]","rootCause",1],["26296-borrowers-cannot-withdraw-excess-collateral-after-liquidatio","Term Finance — 500 excess collateral stays locked after the loan is repaid","audit-finding","AuditVault","2023-04",null,["vuln/dos/frozen-funds","vuln/logic/wrong-condition","vuln/logic/liquidation-logic"],["dos","logic"],null,null,"Term Finance",null,"The zero check was meant to block an unlock when there is no loan, but a liquidation or default can repay the loan without taking every unit of collateral. Zero is then the state in which the excess should be withdrawable, and it is exactly the state the check rejects.","rootCause",1],["26294-liquidations-fail-with-division-by-zero-errors-sigmaprime-no","Term Finance — a complete liquidation divides by zero and 1000 collateral stays","audit-finding","AuditVault","2023-04",null,["vuln/logic/liquidation-logic","vuln/dos/frozen-funds","vuln/logic/missing-check"],["logic","dos"],null,null,"Term Finance",null,"The cap check assumes a positive repurchase obligation. The function that runs immediately before it, on a complete liquidation, sets that obligation to 0. Solidity 0.8 reverts on division by zero, so the liquidation cannot complete.","rootCause",1],["26295-rollover-bids-are-set-to-maximum-price-causing-reverts-sigma","Term Finance — a rollover bid at uint256 max sticks 1000 purchase tokens","audit-finding","AuditVault","2023-04",null,["vuln/arithmetic/overflow","vuln/logic/price-calculation","vuln/dos/frozen-funds"],["arithmetic","logic","dos"],null,null,"Term Finance auctions",null,"Rollover bids already carry a revealed price. Replacing it with the maximum uint256 makes any later sum with another price overflow under Solidity 0.8. The auction that contains the rollover cannot complete.","rootCause",1],["26299-insufficient-permissions-granted-to-new-auctions-sigmaprime","Term Finance: a reopened auction never receives AUCTION_LOCKER, so 4,000 collateral stays locked","audit-finding","AuditVault","2023-04",null,["vuln/access-control/missing-auth","vuln/dos/frozen-funds"],["access-control","dos"],"Missing role on a reopened auction","high","Term Finance — `TermRepoCollateralManager.reopenToNewAuction`",null,"`auctionLockCollateral` and `auctionUnlockCollateral` are `onlyRole(AUCTION_LOCKER)`. The initial pairing grants that role to the auction. `reopenToNewAuction` replaces the auction and, in the audited code, does not: A bidder can still escrow collateral in the new auction contract. Completing the auction calls `auctionLockCollateral`. Refunding calls `auctionUnlockCollateral`. Both revert with `missing role`. The 4,000 collateral has no exit.","rootCause",1],["26297-no-checks-for-non-zero-output-address-when-using-ecrecover-s","Term Finance: a zero signature authenticates as address(0) and withdraws 1,000 tokens","audit-finding","AuditVault","2023-04",null,["vuln/auth/signature-validation"],["auth"],"`ecrecover` of an invalid signature returns `address(0)`","high","Term Finance — `Authenticator.authenticate`",null,"`ecrecover` returns `address(0)` when the signature is invalid. The audited function treats that as success whenever `termAuth.user` is also `address(0)`: A 65-byte buffer of zeros decodes to `v = 0`, `r = 0`, `s = 0`. That is not a signature from any key. `ecrecover` returns `address(0)`, the comparison is true, and the nonce is consumed so the call looks like a normal authentication. The vault then transfers 1,000 tokens to the caller.","rootCause",1],["47910-locked-tokens-in-milestone-contract-ottersec-none-vtvl-pdf","VTVL — onlyDeposited locks the remaining milestone allocation","audit-finding","AuditVault","2023-04",null,["vuln/dos/frozen-funds","vuln/dos/lockup","vuln/logic/wrong-condition"],["dos","logic"],"Withdrawals ignored by a constant balance check","high","VTVL `BaseMilestone`",null,"The threshold is a constant computed from the original recipient list. Withdrawals reduce `balanceOf` and do not reduce the threshold. Once any recipient is paid, the remaining balance is below `allocation * recipients.length` even though it still equals the unpaid allocations. `setComplete` is gated by that modifier, and `withdraw` requires complete, so the unpaid tokens cannot move.","rootCause",1],["2023-04-YearnFinance","Yearn / iEarn yToken Exploit — APR-Oracle Routing + bZx Donation Inflates Price-Per-Share for ~$11.5M","incident","DeFiHackLabs","2023-04","Ethereum",["vuln/oracle/price-manipulation","vuln/logic/incorrect-order-of-operations","vuln/governance/flash-loan-attack"],["oracle","logic","governance"],"Price/oracle manipulation — (1) manipulable APR oracle controls vault deposit routing, (2) `getPricePerFullShare` is inflation-vulnerable to a direct donation of the vault's *borrowed* venue token (bZx).",null,null,"~$11.5M","1. External/controllable input drives a security-relevant decision. The deposit *destination* (which venue holds the vault's funds) is chosen by `recommend()` from live market APRs, which any user can move by repaying Aave V1 borrows. The vault never validates that the chosen venue is safe against the share-price computation. 2. Share price is a function of live token balances, not accounting. `getPricePerFullShare` trusts that the vault's bZx/Aave token balances only change via legitimate deposit/withdraw. [continues]","rootCause",1],["20533-h-01-mint-function-mekhoneyjarwitheth-will-revert-every-time","BearCave — mekHoneyJarWithETH reverts on every paid mint","audit-finding","AuditVault","2023-03",null,["vuln/logic/missing-check","vuln/input-validation/missing"],["logic","input-validation"],null,null,"BearCave / HoneyBox",null,"The price check and the Solidity mutability disagree. Non-payable functions cannot receive ETH, so the only value the check can ever observe is 0, and 0 is not the mint price.","rootCause",1],["20529-c-01-anyone-can-steal-all-honeyjar-nfts-in-honeyjarportal-an","Bearcave HoneyJarPortal — anyone can pull jars the portal is approved for","audit-finding","AuditVault","2023-03",null,["vuln/access-control/missing-owner-check","vuln/access-control/missing-auth"],["access-control"],null,null,"Bearcave HoneyJarPortal",null,"The debit trusts `_from` and the portal's allowance. It never asks whether the caller is the owner. Approving the portal for bridging therefore lets every other account spend that approval, including for jars the portal itself holds.","rootCause",1],["20531-c-03-anyone-can-mint-all-nfts-through-the-public-mint-before","Bearcave: bundle 0 mints the entire HoneyJar supply before any game exists","audit-finding","AuditVault","2023-03","Ethereum",["vuln/logic/missing-check","vuln/access-control/missing-auth"],["logic","access-control"],"`publicMintTime > block.timestamp` treats an uncreated bundle as already open",null,null,"Caller mints all 100 HoneyJars before any bundle exists","An unset timestamp is not in the future, and the open check only rejects future timestamps. Combined with bundle id 0 matching a zero struct, the public mint runs against a party that does not exist and consumes the global max.","rootCause",1],["2023-03-BIGFI","BIGFI Exploit — Reflection-Token burn() That Shrinks Supply Without Shrinking Reflection Space","incident","DeFiHackLabs","2023-03","BNB Chain",["vuln/defi/slippage","vuln/logic/incorrect-state-transition"],["defi","logic"],"Reflection-token `burn()` desynchronizes `_tTotal` from `_rTotal`, so a holder can collapse every other holder's `balanceOf` (and hence a PancakeSwap pair's reserve) to ~1 wei without moving any tokens — then `sync()`+`swap()` drains the pool",null,null,"30,306.103328283570349973 USDT drained from the BIGFI/USDT PancakeSwap pair","The bug is an accounting invariant violation in the reflection model, then amplified by AMM trust: 1. `_burn` desynchronizes `_tTotal` from `_rTotal`. In a correctly-implemented reflection token, any operation that reduces `_tTotal` must reduce `_rTotal` proportionally (that is what `_reflectFee` does for the fee path). [continues]","rootCause",1],["50695-user-funds-may-get-locked-in-join-contracts-halborn-damfinan","Cage locks 1,000 joined tokens with no way to exit","audit-finding","AuditVault","2023-03","Ethereum",["vuln/dos/frozen-funds"],["dos"],"`cage` sets `live = 0` and nothing sets it back, so `exit` reverts",null,null,"1,000 tokens stay in StakeJoin after `cage`","Stopping the join and unlocking it are not a pair. `cage` is a one-way write. Every later `exit` hits `CollateralJoin/not-live` and the tokens already pulled in by `join` stay on the contract.","rootCause",1],["2023-03-DBW","DBW Finance Exploit — Dividend Reward Double-Claimed via 18 Proxy Clones Each Holding ~100% of the LP","incident","DeFiHackLabs","2023-03","BNB Chain",["vuln/logic/reward-calculation","vuln/access-control/missing-auth"],["logic","access-control"],"Business-logic flaw — dividend rewards computed from the pledgor's LP-share percentage without preventing repeated claiming after transferring the same LP to fresh identities (reward-calculation error).",null,null,"+21,699.52 USDT attacker profit","1. Reward basis is a *fraction* of pledged LP, not a per-share accrual. A pledgor holding ~100% of pledged LP captures ~100% of the dividend pool on *every* claim. There is no snapshot, no reward-debt/per-share accounting (à la MasterChef), and no \"last-claim\" checkpoint that depletes as rewards are taken. 2. No re-pledging / transfer guard. `redemption_lp` freely returns LP; nothing stops re-pledging under a new identity. [continues]","rootCause",1],["2023-03-DKP","DKP Exchange Exploit — Flash-Loan-Manipulated AMM Price Oracle Lets 100 USDT Buy the Whole DKP Reserve","incident","DeFiHackLabs","2023-03","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Price-oracle manipulation — using a manipulable AMM spot reserve ratio as a price feed (classic flash-loan oracle attack).",null,null,"+80,512.62 USDT attacker profit","1. Manipulable oracle. Pricing an off-AMM exchange (`DKPExchange`) off the instantaneous reserves of a low-liquidity AMM pair is the textbook oracle-manipulation anti-pattern. A single flash-loaned swap moves the ratio arbitrarily within one tx. 2. No staleness/TWAP/depth protection. The exchange reads live balances with no time-weighting, no maximum-slippage cap, and no minimum-output check, so the corrupted ratio is applied directly. 3. Self-funded payout. [continues]","rootCause",1],["2023-03-Euler","Euler Finance $197M Exploit — donateToReserves Enables Self-Liquidation That Drains the Protocol's Reserves","incident","DeFiHackLabs","2023-03","Ethereum",["vuln/logic/liquidation-logic","vuln/logic/incorrect-state-transition"],["logic"],"Accounting/logic flaw — `donateToReserves` lets a user mint eToken-credit without depositing underlying, combined with a self-liquidation path that uses inflated collateral to absorb the violator's debt and seize reserves.",null,null,"~$197M","1. Collateral and debt can diverge via donation. `donateToReserves` is an asymmetric operation: it removes collateral (eToken) but leaves the paired debt (dToken) intact. This breaks the invariant that an account's collateral always covers (at the configured factor) its debt. 2. Self-liquidation is permitted. `liquidate` did not forbid `underlying == collateral`. [continues]","rootCause",1],["44578-tx-sender-can-steal-the-released-tokens-of-any-whitelisted-u","Global Interlink — release pays the caller, not the whitelisted user","audit-finding","AuditVault","2023-03",null,["vuln/logic/missing-check","vuln/access-control/missing-auth"],["logic","access-control"],null,null,"Global Interlink",null,"The whitelist and the vested math are keyed by the `receiver` argument. The token movement is keyed by `msg.sender`. Nothing requires those two addresses to match, so the function is a pull of anyone's vested balance.","rootCause",1],["16038-h-01-bond-max-buyer-might-end-up-buying-the-max-buy-of-the-n","Mute.Io — Bond max-buyer might end up buying the max buy of the next epoch","audit-finding","AuditVault","2023-03",null,[],["untagged"],"`max_buy` uses live `maxPurchaseAmount()` with no epoch pin","high","Mute.Io",null,"No epoch-id check on the max_buy path.","rootCause",1],["16040-h-03-dmutesol-attacker-can-push-lock-items-to-victims-array","Mute.Io — dMute: attacker can push lock items to victim's array","audit-finding","AuditVault","2023-03",null,[],["untagged"],"Permissionless `LockTo(to=victim)` + O(n) redeem/scan","high","Mute.Io",null,"No ACL on `LockTo` destination; redeem is O(array length).","rootCause",1],["2023-03-paraspace","ParaSpace Exploit — ApeCoin-Staking (cAPE) Collateral Mis-Accounting + Same-Tx Supply→Borrow","incident","DeFiHackLabs","2023-03","Ethereum",["vuln/logic/incorrect-state-transition","vuln/logic/price-calculation"],["logic"],"Staked-ApeCoin collateral valuation flaw + absence of a withdraw/borrow timelock, enabling same-transaction `supply` → `borrow` against inflated collateral",null,null,"Mar 2023 ParaSpace incident","Two failures compose into the drain: 1. cAPE's collateral value is derived from a live, permissionlessly-inflatable staking position. `cAPE.getPooledApeByShares` reads `ApeCoinStaking.addressPosition(cAPE)`, and `ApeCoinStaking.depositApeCoin(amount, cAPE)` is an unauthenticated entry point — anyone can stake APE on behalf of the `cAPE` pool address and instantly raise the value of every cAPE share. [continues]","rootCause",1],["2023-03-Paraspace_exp_2","ParaSpace Exploit (variant 2) — ApeCoin Staking Supply/Borrow Reentrancy","incident","DeFiHackLabs","2023-03","Ethereum",[],["untagged"],"ApeCoin-staking integration flaw — `supply`/`borrow` against BAYC/MAYC with ApeCoin staking positions allowed borrowing more than collateral due to mis-accounted staked ApeCoin (fix: PR #368 withdraw/borrow timelock).",null,null,"part of the Mar 2023 ParaSpace incident","A collateral-accounting flaw + missing withdraw/borrow timelock in the ApeCoin-staking-collateral integration: staked ApeCoin inflated effective collateral value, and same-tx supply→borrow captured it.","rootCause",1],["2023-03-Phoenix","Phoenix (PHX) Exploit — Missing Access Control on delegateCallSwap(bytes)","incident","DeFiHackLabs","2023-03","Polygon",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control on a generic call-by-data primitive (`delegateCallSwap`), turning the proxy into a universal drain for whatever it holds",null,null,"~$1M+ USDC drained on-chain in the real attack","A delegatecall proxy with a generic \"execute arbitrary calldata\" function is the single most dangerous primitive to expose publicly. Two design failures compose: 1. `delegateCallSwap(bytes)` has no access control. The proxy's own base contract provides `onlyOwner` / `OwnerOrOrigin` (multisig) modifiers (sources/phxProxy_65BaF1/phxProxy.sol:104-158) precisely for privileged operations. `delegateCallSwap` applies none of them. [continues]","rootCause",1],["20224-h-01-exchange-liquidate-function-can-cause-liquidator-to-bur","Polynomial — Exchange._liquidate burns too much powerPerp","audit-finding","AuditVault","2023-03",null,["vuln/liquidation/over-burn","vuln/accounting/asymmetric-settlement"],["liquidation","accounting"],null,"high","Polynomial Protocol",null,"When ShortCollateral caps collateral returned on an underwater short, Exchange still burns the full debtRepaying of powerPerp from the liquidator","tldr",1],["20225-h-02-hedging-during-liquidation-is-incorrect-code4rena-polyn","Polynomial — Hedging during liquidation over-hedges the LiquidityPool","audit-finding","AuditVault","2023-03",null,["vuln/liquidation/incorrect-hedge","vuln/accounting/double-count"],["liquidation","accounting"],null,"high","Polynomial Protocol",null,"Liquidation already balances short inventory and powerPerp burn, but pool.liquidate still hedges again and burns pool funds as fees","tldr",1],["20229-h-06-division-by-zero-error-causes-kangaroovault-to-be-dos-w","Polynomial Protocol — division-by-zero in getTokenPrice bricks KangarooVault with funds locked","audit-finding","AuditVault","2023-03",null,["vuln/dos/frozen-funds","vuln/logic/division-by-zero","vuln/loss-of-funds/locked-funds"],["dos","logic","loss-of-funds"],"Unhandled division by zero → denial of service","high","Polynomial Protocol — KangarooVault (Power-Perp vault)",null,"The `totalFunds == 0` special case exists, but the symmetric `totalSupply == 0` case does not. Funds and supply can desync — funds can be non-zero while supply is zero — after everyone withdraws and a residual settles in. In that state the price is `funds / 0`, which reverts, and every code path that needs a price (deposits) is bricked.","rootCause",1],["20227-h-04-kangaroovaultremovecollateral-updates-storage-without-a","Polynomial Protocol — KangarooVault.removeCollateral updates storage without removing collateral","audit-finding","AuditVault","2023-03",null,["vuln/logic/missing-external-call","vuln/loss-of-funds/locked-funds","vuln/accounting/state-desync"],["logic","loss-of-funds","accounting"],"Missing external call: state updated as if an effect happened, but the effect (asset movement) never does","high","Polynomial Protocol — KangarooVault (Power-Perp short-position vault)",null,"`removeCollateral` performs the *accounting* half of a collateral withdrawal without the *asset-movement* half. Because collateral is only ever returned by the Exchange, and the vault never asks for it, the decrement silently desyncs the books from reality. On close the vault asks the Exchange for only what its (decremented) books claim, so the difference is orphaned in the Exchange.","rootCause",1],["20230-h-07-missing-totalfunds-update-in-liquiditypools-openshort-c","Polynomial Protocol — missing totalFunds update in LiquidityPool.openShort shortchanges LP holders","audit-finding","AuditVault","2023-03",null,["vuln/accounting/fee-accounting","vuln/logic/missing-state-update","vuln/loss-of-funds/direct-drain"],["accounting","logic","loss-of-funds"],"Missing state update: earned revenue not reflected in fund accounting","high","Polynomial Protocol — LiquidityPool",null,"`openShort` performs the cash side of collecting a fee (it keeps sUSD) but omits the accounting side (`totalFunds += net fee`). `totalFunds` is the input to `getTokenPrice`, so the LP token price ignores the earned fee. The revenue sits in the contract's balance, invisible to and unclaimable by the LP holders whose capital backed the trade.","rootCause",1],["20226-h-03-short-positions-can-be-burned-while-holding-collateral","Polynomial Protocol — short positions can be burned while still holding collateral","audit-finding","AuditVault","2023-03",null,["vuln/logic/wrong-condition","vuln/loss-of-funds/locked-funds","vuln/nft/burn-with-residual-state"],["logic","loss-of-funds","nft"],"Wrong condition: state (collateral) survives an entity (the position NFT) that is destroyed too eagerly","high","Polynomial Protocol — options/perps (short-position core)",null,"Burning the position NFT is treated as equivalent to \"the short is closed\", but the NFT is *also* the sole key to the collateral held for that position. Destroying it while `collateralAmount > 0` orphans real assets: the accounting still says the collateral exists, `ShortCollateral` still holds the tokens, but there is no owner the protocol can pay it to. The burn condition must also require `collateralAmount == 0`.","rootCause",1],["20228-h-05-uneven-deduction-of-performance-fee-causes-some-kangaro","Polynomial Protocol — uneven performance-fee deduction shortchanges late KangarooVault holders","audit-finding","AuditVault","2023-03",null,["vuln/accounting/fee-calculation","vuln/logic/price-inconsistency","vuln/mev/frontrun-exposure"],["accounting","logic","mev"],"Price/accounting inconsistency: `getTokenPrice` and `_resetTrade` disagree on whether the fee is already charged","high","Polynomial Protocol — KangarooVault (Power-Perp vault)",null,"`getTokenPrice` and `_resetTrade` disagree about the fee. `_resetTrade` subtracts `premiumCollected * performanceFee` from the value distributed to holders; `getTokenPrice` does not. During the open window the price therefore reflects a fee-free premium. Whoever exits in that window is paid as if no fee existed; the fee is then charged in full against whoever remains.","rootCause",1],["2023-03-poolz","Poolz LockedDeal Exploit — Integer Overflow in getArraySum Crediting Free Vesting Pools","incident","DeFiHackLabs","2023-03","BNB Chain",["vuln/arithmetic/overflow","vuln/logic/missing-check"],["arithmetic","logic"],"Integer overflow in unchecked arithmetic — `getArraySum` sums pool amounts with raw `+` (no SafeMath), so a crafted two-element amount array wraps to ~1 while each individual pool is still credited at full face value.",null,null,"~$390K","Three independent defects compose into the loss: 1. Unchecked arithmetic in `getArraySum`. Solidity 0.6.x has no built-in overflow protection. `sum = sum + _array[i]` silently wraps modulo 2²⁵⁶. An attacker who controls two array elements whose sum exceeds 2²⁵⁶ − 1 can make the function return any small value they want — here, 1. The rest of the contract uses SafeMath, which is exactly what makes this single omission dangerous: reviewers assume \"the contract is SafeMath-clean,\" but one helper is not. [continues]","rootCause",1],["2023-03-safeMoon","SafeMoon Exploit — Unprotected burn(from, amount) Drains the AMM Pair Reserve","incident","DeFiHackLabs","2023-03","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"Broken AMM invariant via a token-level `burn(address from, uint256 amount)` that has no access control / no approval check and so lets anyone burn SFM straight out of the liquidity pair, then `sync()` the now-lop-sided reserves",null,null,"27,463.848 WBNB","Two design failures compose into the drain: 1. `burn(address from, uint256 amount)` is a privileged supply operation exposed as an unauthorised public function. A burn that can target an *arbitrary `from`* is, in effect, a \"transfer anyone's tokens to the burn address\" opcode. It must — at minimum — require either `msg.sender == from` or `allowance[from][msg.sender] >= amount` (the standard BEP20 pattern). SafeMoon V1 required neither. [continues]","rootCause",1],["18724-h-02-golden-egg-will-continue-to-change-throughout-sam-zacho","Sound.xyz SAM — the golden egg id keeps moving after the sale","audit-finding","AuditVault","2023-03",null,["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],null,null,"Sound.xyz SAM",null,"The egg id is a pure function of a counter that SAM mints increment. Nothing snapshots the counter when the fixed-price sale ends, so every later mint changes the modulus and can point the egg at a different token. Fees and any purchase that used the previous id are then aimed at the wrong holder.","rootCause",1],["2023-03-Thena","Thena RewardPool Exploit — Reentrant unstake(…, claim=true) Double-Payout of Converted Rewards","incident","DeFiHackLabs","2023-03","BNB Chain",["vuln/reentrancy/cross-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"CEI violation + missing reentrancy guard on the gauge's reward-conversion/claim path — `unstake(token, amount=0, recipient, claim=true)` harvests THENA, swaps it through two pools into BUSD, and transfers the converted BUSD to the recipient before settling the staker's accrued-reward accounting, so a reentrant / freshly-deployed claimant collects the full reward pool balance twice",null,null,"10,197.896 BUSD","The exploit is a textbook CEI violation with no reentrancy guard on a path that hands control to arbitrary callee code. Three things compose: 1. Reward payout is an *external interaction*, not a storage write. To pay rewards in BUSD the gauge must harvest THENA and swap through two AMMs. Each swap is an external call into a `Pair` whose `swap()` will call `swapCallback`/transfer tokens, and the final payout is an `ERC20.transfer(recipient, …)`. [continues]","rootCause",1],["48377-unauthorized-access-to-updatestates-ottersec-none-vertex-pro","Vertex — updateStates accepts any dt","audit-finding","AuditVault","2023-03","Ethereum",["vuln/access-control/missing-modifier","vuln/logic/reward-calculation"],["access-control","logic"],null,null,"Vertex",null,"`dt` is an argument instead of a difference the endpoint computed from stored timestamps. Without `onlyEndpoint`, the argument is an interest multiplier the caller chooses.","rootCause",1],["18537-h-5-adversary-can-break-deposit-queue-and-cause-loss-of-fund","Y2K Carousel — a reverting receiver freezes the deposit queue","audit-finding","AuditVault","2023-03",null,["vuln/dos/frozen-funds"],["dos"],null,null,"Y2K Earthquake (Carousel)",null,"Queued deposits are not atomic for the depositor, but the relayer's mint is atomic for the whole batch. A callback revert undoes every pop in that call. Because the walk is FILO, a later depositor is processed before everyone who queued earlier, so one bad receiver blocks every deposit in front of it. Those deposits cannot be canceled.","rootCause",1],["18533-h-1-funds-can-be-stolen-because-of-incorrect-update-to-owner","Y2K Carousel — a second rollover enlist points the index at the wrong queue slot","audit-finding","AuditVault","2023-03",null,["vuln/logic/state-update","vuln/logic/incorrect-accounting"],["logic"],null,null,"Y2K Earthquake (Carousel)",null,"The mapping is 1-based (`getRolloverIndex` subtracts one). After the first enlist the attacker's index is 1 and queue slot 0 holds the 100e18 epoch-1 lock. The filler's enlist pushes slot 1 and the length becomes 2. The attacker's second enlist updates slot 0 correctly, then stores `2`. Slot 1 is the filler on epoch 2. The epoch compare in `notRollingOver` is false, so the `AlreadyRollingOver` branch is skipped and the full balance is transferred out. The queue item at slot 0 is not cleared.","rootCause",1],["18536-h-4-when-rolling-over-user-will-lose-his-winnings-from-previ","Y2K Carousel: rolling a winning epoch burns the winnings","audit-finding","AuditVault","2023-03",null,["vuln/logic/reward-calculation","vuln/logic/incorrect-accounting"],["logic"],"Winning payout dropped on rollover","high","Y2K Finance — Earthquake `Carousel` (v2 rollover queue)",null,"`enlistInRollover` stores the depositor's share amount (`queue.assets`), which for this vault is the original deposit. On a winning epoch `previewWithdraw` scales that amount by `claimTVL / finalTVL`, so the shares are worth more than `queue.assets`. `mintRollovers` reads `entitledShares` only to decide whether the user won. The amount it actually mints is `queue.assets - relayerFee`. Burning `queue.assets` then destroys the only claim on the surplus. Emissions are not the bug. [continues]","rootCause",1],["2023-02-BonqDAO","BonqDAO / AllianceBlock Exploit — TellorFlex Oracle Price Manipulation (Cheap-Stake submitValue)","incident","DeFiHackLabs","2023-02","Polygon",["vuln/oracle/price-manipulation","vuln/oracle/single-source"],["oracle"],"Oracle manipulation — the TRB stake bond required to post a TellorFlex price was orders of magnitude cheaper than the extractable profit; an attacker posted an absurdly high then absurdly low wALBT price to mint BEUR and then liquidate every other wALBT CDP",null,null,"~$88M — 100,514,098.34 BEUR minted from BonqDAO in Tx1 + 113,813,998.37 ALBT","The exploit is a textbook cost-of-corruption < value-extractable oracle failure, with two compounding root causes: 1. TellorFlex's stake bond did not scale with the economic weight of the feed. The bond is a fixed 10 TRB regardless of whether the feed prices a $100 NFT or a $100M stablecoin system. The only post-hoc defense is `slashReporter`, which requires governance to *detect, dispute, and slash* — a process that takes time the attacker never grants (both attack txs land inside a single 12-minute window). [continues]","rootCause",1],["2023-02-CowSwap","CowSwap SwapGuard Exploit — Unvalidated Interaction Target in envelope() (arbitrary transferFrom under maxint allowedLoss)","incident","DeFiHackLabs","2023-02","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Trust-boundary / arbitrary-call — caller-supplied interaction `target`+`callData` executed in `SwapGuard`'s context; only post-check is a `balanceOf(vault)` delta gated by attacker-controlled `balanceChanges`/`tokenPrices`/`allowedLoss`",null,null,"114,824.890807160711319588 DAI","`SwapGuard` was designed to be a *guard*, but its threat model was inverted. The contract trusts the caller of `envelope()` to supply benign interactions, an honest `vault`, honest `balanceChanges`, and a conservative `allowedLoss`. None of those assumptions are enforced in code. Concretely, four design failures compose into the drain: 1. No caller authorization. `envelope` is `public payable` with no `onlyOwner`/`onlySettler`/allowlist. [continues]","rootCause",1],["2023-02-Dexible","Dexible Exploit — Caller-Controlled router/routerData in selfSwap/fill","incident","DeFiHackLabs","2023-02","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["dependency","access-control"],"Trust boundary — `selfSwap`/`fill` accept a fully caller-controlled `RouterRequest{router, spender, routeAmount, routerData}` and execute it as Dexible; no allowlist, no shape check on `routerData`.",null,null,"~$1.5M","Dexible is a custodial intermediary: it holds ERC-20 allowances from every user who has ever prepared a swap. With that position comes a hard obligation — *never execute a low-level call whose target or calldata is attacker-influenced*, because such a call inherits Dexible's identity and its accumulated allowance surface. `SwapHandler.fill` violates that obligation on both axes: 1. Unvalidated `router`. Dexible intended to call a small, fixed set of DEX routers. The NatSpec even says so. [continues]","rootCause",1],["2023-02-dForce","dForce Exploit — Read-only Reentrancy via Curve remove_liquidity into the dForce Price Oracle","incident","DeFiHackLabs","2023-02","Arbitrum",["vuln/reentrancy/read-only","vuln/oracle/price-manipulation"],["reentrancy","oracle"],"Read-only reentrancy — an external call in dForce's price path (`PriceOracle → aggregator → Curve.get_virtual_price()`) is re-entered from Curve's `remove_liquidity` while the pool's reserves/`totalSupply` are mid-update, returning a deflated virtual price. dForce's `liquidateBorrow` then uses that stale price to over-seize collateral.",null,null,"~$3.65M","Two independently-reasonable design decisions compose into a critical bug: 1. dForce priced Curve-LP-derived collateral via a live `get_virtual_price()` call. `get_virtual_price()` is a view, so it looks safe to call from a money-market mutation path. But it reads Curve storage that Curve itself mutates *during* `remove_liquidity`. [continues]","rootCause",1],["2023-02-DYNA","DYNA (Dynamic) Exploit — Reward-Inflation in StakingDYNA.deposit/redeem + Time-Bypassable Sell Cap","incident","DeFiHackLabs","2023-02","BNB Chain",["vuln/logic/reward-calculation","vuln/logic/state-update"],["logic"],"Staking reward miscalculation — `deposit` on an existing staker does not advance `lastProcessAt`, so `redeem` accrues interest over a stale interval against an *inflated* principal, letting a flash-loaned position claim un-backed DYNA, which is then dumped through the AMM (the per-day sell cap is bypassed simply by waiting >1 day).",null,null,"~65.44 WBNB drained from the DYNA/WBNB PancakeSwap pair","The fundamental accounting error is that `StakingDYNA.deposit` treats a top-up as if no time had passed without either (a) first paying out the accrued interest on the *old* principal, or (b) splitting the principal into time-bucketed tranches. By deferring `lastProcessAt` only to the first deposit, any later top-up rides the original deposit's \"elapsed time\" but at the new, larger principal — letting an attacker rent principal for one transaction and collect weeks of back-dated interest on it. [continues]","rootCause",1],["2023-02-EFVault","EFVault / ENF Exploit — redeem() Share-Price Decimal Bug Drains USDC","incident","DeFiHackLabs","2023-02","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],"Vault share→asset conversion decimal-scaling bug: `assetsPerShare()` multiplies by a stored `assetDecimal` constant (`5e12` for USDC) on top of its own `1e18/1e24` scaling, inflating `redeem()` payouts by ~5,000,000×",null,null,"3,436,919.309773 USDC","Three independent mistakes compose into the drain: 1. Double decimal scaling in `assetsPerShare()`. `totalAssets` is already denominated in raw USDC (6 decimals) and `totalSupply` in raw ENF wei (18 decimals). The price of one ENF wei in raw USDC is simply `totalAssets / totalSupply`. The helper instead returns `(totalAssets * assetDecimal * 1e18) / totalSupply`, then `redeem()` divides by `1e24`, for a net factor of `assetDecimal * 1e18 / 1e24 = assetDecimal / 1e6`. [continues]","rootCause",1],["2023-02-FDP","FDP (FireDrake) Exploit — Reflective-Token deliver() Inflates the AMM Pair's Balance","incident","DeFiHackLabs","2023-02","BNB Chain",["vuln/defi/slippage","vuln/logic/incorrect-state-transition"],["defi","logic"],"Reflective / charge-token dual-ledger `deliver()` desyncs the AMM pair's `balanceOf` from its cached reserves, breaking `x·y = k`",null,null,"~16.18 WBNB drained from the FDP/WBNB PancakeSwap pair","A Uniswap-V2/PancakeSwap pair treats the token contracts it trades as dumb ERC20s: it reads `IERC20(token).balanceOf(this)` and assumes the only way that balance changes is through transfers it mediates (`mint`/`burn`/`swap`/external transfer + `skim`/`sync`). It then enforces the constant-product invariant `x·y ≥ k` by comparing the *current* balance against the *cached* reserves. [continues]","rootCause",1],["18634-h-8-malicious-revert-reasons-with-faked-lengths-can-disrupt","GMX Synthetics — a faked revert length runs the keeper out of gas","audit-finding","AuditVault","2023-02",null,["vuln/dos/gas-limit","vuln/dos/unbounded-loop","vuln/dos/frozen-funds"],["dos"],null,null,"GMX Synthetics",null,"`abi.decode` of a memory string uses the embedded length, not `result.length`. The callback gas limit does not cover the catch. A revert that is cheap to produce and expensive to decode blows the keeper's remaining gas, and the liquidation never reaches the seize.","rootCause",1],["18632-h-6-keepers-can-be-forced-to-waste-gas-with-long-revert-mess","GMX Synthetics — a long callback revert reverts the keeper batch","audit-finding","AuditVault","2023-02",null,["vuln/dos/gas-limit","vuln/dos/griefing","vuln/dos/frozen-funds"],["dos"],null,null,"GMX Synthetics",null,"The external call is gas-capped. The `catch (bytes memory reasonBytes)` is not. Solidity copies all returndata into the keeper's memory, `abi.decode` copies the string again, and `LOG` charges 8 gas per byte of the combined payload. A revert string sized to the callback stipend therefore costs about as much again on the keeper's side, on top of the stipend that was already consumed. The estimate only added the stipend once, so the batch frame runs out of gas and every later order in that transaction is rolled back.","rootCause",1],["18633-h-7-limit-orders-are-broken-when-there-are-price-gaps-sherlo","GMX Synthetics — a price gap makes a stop revert, so the long stays open","audit-finding","AuditVault","2023-02",null,["vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],null,null,"GMX Synthetics",null,"The straddle encodes \"the price traded across the trigger between these two blocks.\" A gap skips that window: the earlier print is already through the trigger, so `primary >= trigger` is false for a long stop and the later print being even further through does not help. Every later attempt with both prints still below 1900 fails the same check. The stop cannot fire, and the position stays open at the worse price. [continues]","rootCause",1],["18631-h-5-adl-operations-do-not-have-any-slippage-protection-sherl","GMX Synthetics — ADL closes a long below its minimum payout","audit-finding","AuditVault","2023-02",null,["vuln/defi/slippage","vuln/logic/missing-check","vuln/logic/price-calculation"],["defi","logic"],null,null,"GMX Synthetics",null,"ADL is a forced market decrease. The keeper, not the trader, chooses the order, and the only price it writes is the extreme that always passes `BaseOrderUtils.getExecutionPrice`. The output field that would have expressed a floor is hardcoded to zero, and the decrease path never consults it. The impact cap limits the price used to compute pnl, then `priceImpactDiffUsd` is taken out of that pnl anyway. When the pnl is larger than the diff, the difference is discarded instead of becoming claimable collateral. [continues]","rootCause",1],["18636-h-10-collateral-cannot-be-claimed-because-there-is-no-mechan","GMX Synthetics — claimable collateral cannot be claimed","audit-finding","AuditVault","2023-02",null,["vuln/dos/frozen-funds","vuln/logic/missing-checkault"],["dos","logic"],null,null,"GMX Synthetics",null,"Claimable collateral is a stored amount times a factor. The amount is written when price impact is capped. The factor is a DataStore value that starts at 0, and the only admin writer is `Config.setUint`, which rejects any base key that `_initAllowedBaseKeys` did not mark. `CLAIMABLE_COLLATERAL_FACTOR` is not marked. The claim therefore always computes a zero payout, and the `>=` check treats that zero as \"already claimed\".","rootCause",1],["18637-h-11-collateral-cannot-be-claimed-due-to-inverted-comparison","GMX Synthetics — claimCollateral reverts because the claimed-amount check is inverted","audit-finding","AuditVault","2023-02",null,["vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],null,null,"GMX Synthetics",null,"The guard was meant to mean \"nothing left to claim\". That is `adjustedClaimableAmount <= claimedAmount`. The audited code tests the opposite inequality. Because `claimedAmount` is initialized to 0, the true branch is the one every legitimate first claim hits. The subtraction and the `transfer` underneath it are unreachable whenever the account is actually owed tokens. [continues]","rootCause",1],["18635-h-9-user-supplied-slippage-for-decrease-orders-is-ignored-sh","GMX Synthetics — decrease orders ignore the user's slippage floor","audit-finding","AuditVault","2023-02",null,["vuln/defi/slippage","vuln/defi/sandwich-attack","vuln/logic/missing-check"],["defi","logic"],null,null,"GMX Synthetics",null,"The user's floor is an input to order creation and a field on the order. The two decrease collateral swaps replace it with zero, so the pool's `amountOut >= minOut` check cannot fail for any positive quote. The caller that pays the trader does not put the check back. Any price the swap returns is a successful fill.","rootCause",1],["18638-h-12-fee-receiver-is-given-twice-the-amount-of-borrow-fees-i","GMX Synthetics: fee receiver is paid twice the borrowing-fee slice","audit-finding","AuditVault","2023-02","Ethereum",["vuln/logic/fee-calculation","vuln/defi/fee-manipulation"],["logic","defi"],"Borrowing-fee receiver slice counted twice in the position's net cost",null,null,"Fee receiver is paid 600 USD","`feeReceiverAmount` is increased by the receiver's borrowing-fee slice before `totalNetCostAmount` is summed. The sum then adds `borrowingFeeAmount` in full instead of `feeAmountForPool`. The receiver slice is inside both terms. The difference between the buggy cost and the fair cost is exactly that slice, and the settlement pays the receiver `feeReceiverAmount` plus the difference.","rootCause",1],["18640-h-14-pool-value-calculation-uses-wrong-portion-of-the-borrow","GMX Synthetics: pool value adds the borrowing-fee receiver's slice","audit-finding","AuditVault","2023-02","Ethereum",["vuln/logic/fee-calculation","vuln/logic/price-calculation"],["logic"],"Pool value adds the fee-receiver factor of borrowing fees",null,null,"Full withdrawal pays 10,300 USD instead of the fair 10,700 USD","`applyFactor(fees, receiverFactor)` is defined as the receiver's amount. The pool's amount is the complement. Adding the receiver's amount counts someone else's claim as pool value and omits the larger pool claim whenever the receiver factor is below 100%. At 30% the two slices are 300 and 700. The function adds 300.","rootCause",1],["10280-h-8-hatssignergate-multihatssignergate-more-than-maxsignatur","HatsSignerGate lets a claim exceed maxSigners and brick the safe","audit-finding","AuditVault","2023-02","Ethereum",["vuln/access-control/missing-signer","vuln/dos/frozen-funds"],["access-control","dos"],"Stale signer count lets valid signers exceed maxSigners, then reconcile reverts every exec",null,null,"1,000 tokens stay in the safe","`signerCount` is only updated by grant, swap, remove, and reconcile. `claimSigner` reads it before any of those and never recounts wearers. Swapping an invalid owner for a new wearer can therefore push the live valid-signer count above `maxSigners` while the cache still looks legal. Every later exec reconciles first and reverts.","rootCause",1],["2023-02-LaunchZone","LaunchZone (LZ) Exploit — Unverified swapXImp Logic Flaw (Permissionless Victim-Side Swap)","incident","DeFiHackLabs","2023-02","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Logic flaw in an unverified proxy-upgraded implementation: a permissionless caller can drive `swapX` to swap a victim's tokens through a thin/mis-priced pool, crashing the price on one DEX and profiting on the other (cross-DEX price manipulation via a victim-funded, attacker-directed swap).",null,null,"~88,849.89 BUSD reproduced from a single victim in this PoC","Three independent design failures compose into the loss: 1. An unverified, unaudited proxy upgrade. The `swapX` proxy was re-pointed at an implementation (`0x6D898184…`) whose source was never published on BscScan. Whatever review existed for the *old* implementation did not apply. Upgrading a privileged aggregator behind an unverifiable contract is the precondition for everything that followed. 2. Permissionless caller controls the swap *on behalf of a victim*. [continues]","rootCause",1],["29664-low-level-call-missing-existence-check","Mass — low-level call to an empty account falsely succeeds","audit-finding","AuditVault","2023-02",null,["vuln/dependency/unsafe-external-call","vuln/input-validation/missing","vuln/logic/wrong-condition"],["dependency","input-validation","logic"],null,null,null,null,"functionDelegateCallUnverified omits an extcodesize/code.length check before accepting success.","rootCause",1],["2023-02-Orion","Orion Protocol Exploit — Reentrancy via Malicious Deposit Token in swapThroughOrionPool / depositAsset","incident","DeFiHackLabs","2023-02","Ethereum",["vuln/reentrancy/cross-contract"],["reentrancy"],"Cross-function reentrancy — Orion credits its internal balance ledger from a *delta* over the token's `balanceOf(self)`, but that accounting is updated before the AMM's out-transfer of an attacker-controlled token completes; a malicious token's `transfer` callback re-enters `depositAsset` and double-credits the ledger (same family as DFX Finance / Defrost)",null,null,"~$2.84M USDT on Ethereum","Orion mixes two incompatible accounting models in one control flow: Real-token accounting (`balanceOf(Orion)` deltas) for `depositAsset` / `withdraw`, and; Virtual-ledger accounting (per-user `virtualBalances`) for trading. The invariant Orion *assumed* — \"between any two ledger operations, `balanceOf(Orion)` only changes because of *this* contract's own transfers\" — is false the moment an attacker-controlled token is in the swap path. [continues]","rootCause",1],["2023-02-Platypus","Platypus Finance Exploit — Flawed LP-Collateral Pricing in PlatypusTreasure (_getLPUnitPrice)","incident","DeFiHackLabs","2023-02","Avalanche",["vuln/oracle/price-manipulation","vuln/logic/price-calculation"],["oracle","logic"],"Over-valued LP collateral — `_getLPUnitPrice` prices an LP token off the pool's `liability` rather than its `cash`, letting a borrower mint USP against inflated collateral, withdraw the underlying, and leave the debt unbacked",null,null,"~$8.5M","Two design flaws compose into the loss: 1. Collateral valuation ≠ redemption value. `_getLPUnitPrice` prices an LP token at `underlyingPrice × liability / totalSupply`. The economically correct price of an LP token is its *withdrawable* value, `underlyingPrice × cash / totalSupply` (cash being what `Pool.withdraw` actually hands back). `liability` is the pool's *book* obligation to LPs and can exceed `cash` once withdrawal losses or attacker-driven asset imbalance are introduced. [continues]","rootCause",1],["2023-02-RevertFinance","Revert Finance (V3Utils) Exploit — Unvalidated swapData Lets Anyone Route User-Allowance Tokens to an Attacker","incident","DeFiHackLabs","2023-02","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-auth"],["dependency","access-control"],"Trust boundary / arbitrary external call — caller-supplied `swapData` is `address.call(...)`-ed with no whitelist, while `tokenIn.approve(allowanceTarget, amountIn)` gives the arbitrary target an allowance over tokens V3Utils holds on behalf of users",null,null,"19,805.581627 USDC","The vulnerability is a trust-boundary / arbitrary-external-call flaw, the same class as Dexible and LiFi: a \"stateless\" helper that holds user allowances forwards caller-supplied calldata to a caller-supplied target with no validation. Concretely, three design choices compose into the loss: 1. `swapData` is opaque and un-whitelisted. `(swapRouter, allowanceTarget, data)` are all attacker-controllable. [continues]","rootCause",1],["2023-02-Sheep","Sheep Exploit — Reflective-Token _burn Distorts balanceOf, Drains SHEEP/WBNB Pair via DODO Flash","incident","DeFiHackLabs","2023-02","BNB Chain",["vuln/defi/slippage","vuln/logic/incorrect-state-transition"],["defi","logic"],"Reflective (r-space / t-space) token whose public `burn()` mutates `_rOwned` and `_tTotal` in mismatched units, letting an arbitrary caller inflate the AMM pair's `balanceOf` and then `sync()` the distorted reserve to break `x·y = k`.",null,null,"~16.394 WBNB drained from the SHEEP/WBNB PancakeSwap pair","A Uniswap-V2-style AMM pair trusts an ERC20's `balanceOf` as ground truth for its reserves (updated via `swap`/`sync`). For vanilla tokens this is safe because `balanceOf` only changes through `transfer`/`mint`/`burn` that the pair can observe or that net out. For a reflection token, `balanceOf` is a *computed* value that depends on a global `currentRate` which can be manipulated by *any* state change in the token contract — not just transfers involving the pair. [continues]","rootCause",1],["10281-h-9-signers-can-bypass-checks-and-change-threshold-within-a","Signers lower the safe threshold inside one transaction","audit-finding","AuditVault","2023-02","Ethereum",["vuln/access-control/missing-signer","vuln/logic/missing-check"],["access-control","logic"],"Post-exec threshold check follows the signer count changed in the same transaction",null,null,"1,000 tokens transferred after the threshold falls from 3 to 2","The guard is documented as stopping signers from changing the threshold. The check does not snapshot the pre-transaction threshold. Any owner change that leaves `getThreshold()` equal to the new signer count satisfies it. The report's example is 8 owners and a threshold of 8 becoming 7. This reduction uses 3 becoming 2, which is the same comparison, and then spends that lower threshold.","rootCause",1],["2023-02-USDs","Sperax USDs Exploit — isContract()-Based Rebase Accounting Flip on a Pre-Credited EOA","incident","DeFiHackLabs","2023-02","Arbitrum",["vuln/logic/incorrect-state-transition","vuln/logic/state-update"],["logic"],"Rebase-accounting inconsistency keyed on `extcodesize` (`isContract`): the credit↔token exchange rate applied to a holder depends on whether the holder is a contract, and the holder's \"is-a-contract\" status can be flipped after the fact by deploying code (a Gnosis Safe in the real attack; `vm.etch` in the PoC).",null,null,"USDs supply inflation","USDs' accounting has an unstated invariant: *The exchange rate applied when writing credits into an account must match the exchange rate applied when reading that account's balance.*; The contract violates this invariant because the read-side rate is decided lazily and mutably, via `isContract()`, which can change for a given address over its lifetime: 1. The read rate is environment-dependent. [continues]","rootCause",1],["2023-02-Starlink","Starlink (Starlink Coin) Exploit — Reflective Token Fee vs. Pancake skim/sync Reserve Drain","incident","DeFiHackLabs","2023-02","BNB Chain",["vuln/defi/slippage","vuln/logic/incorrect-state-transition"],["defi","logic"],"Reflective / fee-on-transfer token whose sell fee diverges from the AMM pair's `skim()` + `sync()` accounting — a classic \"fee-on-transfer in a vanilla Uniswap-V2 fork\" pool drain.",null,null,"38.359839689566733894 WBNB drained from the Starlink/WBNB PancakeSwap pair","A vanilla Uniswap-V2/Pancake pair assumes the two ERC20s it holds are non-rebasing, non-fee tokens whose `balanceOf(this)` changes only through `mint`/`burn`/`swap`/transfers that the pair itself authored. The entire accounting model — `skim`, `sync`, and the `K` check inside `swap` — is built on that assumption. `StarlinkCoin` violates it. [continues]","rootCause",1],["2023-02-SwapX","SwapX Exploit — Unverified swapX Router Drains Pre-Approved Victim BUSD via Caller-Controlled Recipient","incident","DeFiHackLabs","2023-02","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Unverified swap-router logic flaw: a multi-hop `swapX` entrypoint debits a third-party (caller-nominated) address via `transferFrom` while crediting output to a caller-controlled recipient, so anyone with a victim's standing `approve(swapX, …)` can spend the victim's BUSD.",null,null,"~119,481 BUSD drained from 14 victim EOAs","A Uniswap-V2-style router is supposed to debit `msg.sender` for the input token (via `transferFrom(msg.sender, pair, amountIn)`). BiswapRouter02 above does exactly this (sources/BiswapRouter02_3a6d8c/BiswapRouter02.sol#L725-L727). The unverified SwapX `swapX` implementation instead debits a caller-supplied `payer` argument without ever asserting `payer == msg.sender` or requiring the caller to be an authorized relayer. Three things compose into the loss: 1. Missing sender/payer binding. [continues]","rootCause",1],["29663-unprotected-callcode-allows-anyone-to-destroy-the-hyvm-maste","Unprotected CALLCODE lets anyone destroy the Nested Finance HyVM master","audit-finding","AuditVault","2023-02",null,["vuln/logic/missing-check","vuln/access-control/missing-modifier"],["logic","access-control"],null,null,null,null,"The audited master was deployed from the no-verifier HyVM build, in which the `CHECK_CALLCODE()` guard macro is empty: and `op_callcode` performs the raw opcode (Figure 1.1 in the ToB report, `HyVM.huff#L682-L698`): `CALLCODE` (like `DELEGATECALL`) executes the target's code in HyVM's own storage/address context, so a `SELFDESTRUCT` reached through it destroys HyVM itself. [continues]","rootCause",1],["12294-h-12-attacker-can-prevent-the-system-from-entering-step-5-du","A second push blocks Derby rebalance step 5","audit-finding","AuditVault","2023-01","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Permissionless push increments fundsReceived with no per-chain sent mark",null,null,"12,000 USDC stays in the controller","The stage counter is a tally, not a set of chains. `pushVaultAmounts` is callable by anyone once underlyings have been reported. Calling it again for a chain whose deposit is still at least `minimumAmount` (1,000 USDC) counts that chain a second time. The callback that answers a large withdrawal counts separately. The total can only go up, so it can pass `activeVaults` and never land back on it.","rootCause",1],["2023-01-BEVO","BEVO Exploit — Reflective-Token deliver() Pool-Balance Inflation Drain (PancakeSwap Flash)","incident","DeFiHackLabs","2023-01","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/defi/slippage"],["logic","defi"],"Reflective-token `deliver()` lets a caller inflate the AMM pair's apparent BEVO balance above its cached reserve, then `skim()` the phantom excess and dump it back for the WBNB side",null,null,"144 BNB","The bug is a composition of two individually-documented but jointly-catastrophic design choices in the reflective-token template, neither of which is safe to deploy against a vanilla AMM pair: 1. `deliver()` mutates a global (`_rTotal`) that determines other accounts' balances. Reflective tokens deliberately let holders redistribute their own value to everyone else. That is fine *inside* the token's own economy. [continues]","rootCause",1],["2023-01-BRA","BRA Token Exploit — _transfer Buy/Sell Tax Credited to the Pair Itself, Drained via skim()","incident","DeFiHackLabs","2023-01","BNB Chain",["vuln/logic/state-update","vuln/defi/slippage"],["logic","defi"],"Token-fee accounting flaw — `_transfer` credits BOTH the buy tax AND the sell tax to the LP pair's own balance on a pair→pair transfer, without `sync()`, so each `skim()` mints ~3% extra BRA into the pair and the inflated surplus is repeatedly re-skimmed.",null,null,"~819 BNB","Three independent design errors compose into the drain: 1. `BuyTaxTo` and `SellTaxTo` are configured to the LP pair address itself. A tax whose destination is the AMM pool it is priced against is, by construction, a unilateral donation to one side of the pool — it raises the pair's token balance without any counter-value, desynchronizing `balanceOf(pair)` from `reserve0`. [continues]","rootCause",1],["12293-h-11-vaults-withdrawfromprotocol-incorrectly-scales-amount-t","Derby Vault — withdrawFromProtocol scales a USDC pull by cUSDC decimals","audit-finding","AuditVault","2023-01","Ethereum",["vuln/arithmetic/decimal-mismatch"],["arithmetic"],null,null,"Derby Finance",null,"`ProtocolInfoS.uScale` is documented as the LP token's scale, and cUSDC is an 8-decimal token. The withdrawal amount is already in vault currency. Multiplying by `1e8` and dividing by the vault's `1e6` shifts a USDC amount into cUSDC decimals. Every provider, including Compound, then sizes the share burn off that inflated underlying amount. With Compound's 1.0 exchange-rate mantissa (`1e16` for 6-decimal USDC) the share count equals the amount passed in. The bug is therefore exactly `10(8-6) = 100`.","rootCause",1],["28051-an-intruder-can-block-any-users-mixbytes-none-fantium-markdo","Fantium — mint can clear another user's allow-list permit","audit-finding","AuditVault","2023-01","Ethereum",["vuln/access-control/missing-auth","vuln/dos/griefing"],["access-control","dos"],null,null,"Fantium",null,"The allow-list key is an argument, not `msg.sender`. The caller chooses whose one-mint permit is consumed. The NFT is then minted to the caller.","rootCause",1],["28050-undefined-behavior-for-mint-mixbytes-none-fantium-markdown","Fantium — mint delivers the NFT to the caller, not _to","audit-finding","AuditVault","2023-01","Ethereum",["vuln/access-control/missing-owner-check"],["access-control"],null,null,"Fantium",null,"`_to` is checked only for the zero address. It is not the recipient of `mintTo`. Anyone who calls `mint` in order to give the token to another address keeps it.","rootCause",1],["28052-fantiumnftv1-owners-shadows-erc721upgradeable-owners-mixbyte","Fantium: shadowed _owners locks the real owner of token 1000000","audit-finding","AuditVault","2023-01",null,["vuln/access-control/proxy-storage-collision","vuln/access-control/missing-owner-check"],["access-control"],null,null,"Fantium",null,"Solidity name shadowing. The child state variable does not replace the parent's slot. Every Fantium read of `_owners` misses the ERC721 owner that `_mint` stored.","rootCause",1],["2023-01-GDS","GDS Coin Exploit — Spot-Price pureUsdtToToken Reward Inflation via Nested Flash Loans (BSC)","incident","DeFiHackLabs","2023-01","BNB Chain",["vuln/oracle/spot-price","vuln/logic/reward-calculation"],["oracle","logic"],"Manipulable spot price oracle — `pureUsdtToToken` uses PancakeSwap `getAmountsOut` on the live GDS/USDT pair; a flash-loan price ramp inflates the USDT→GDS conversion that gates reward/activation accounting, letting the attacker mint/destroy GDS at an artificial rate and extract the protocol's USDT",null,null,"~207,248.32 USDT net profit to the attacker","The single root cause is using a flash-loan-manipulable spot AMM price as a trust anchor. Specifically: `pureUsdtToToken` is a `view` that calls `IUniswapV2Router02.getAmountsOut` on the live GDS/USDT pair. The pair's reserves are public, permissionless state that any caller can move with a swap. [continues]","rootCause",1],["2023-01-Midas","Midas Capital Exploit — Reentrancy-inflated Curve-LP Oracle for stMATIC Collateral (Compound v2 fork, Polygon)","incident","DeFiHackLabs","2023-01","Polygon",["vuln/reentrancy/single-function","vuln/oracle/price-manipulation"],["reentrancy","oracle"],"Price-oracle manipulation via reentrancy on a Curve pool's `get_virtual_price()` that prices an LST (stMATIC) collateral — the inflation is read mid-withdrawal, before the pool's reserves have rebalanced, so a single `remove_liquidity` inflates the collateral ~10× and lets the attacker over-borrow every other market.",null,null,"~$6.6M across multiple Midas markets on Polygon","Two design failures compose: 1. A flash-loan/reentrancy-manipulable price source for collateral. The leaf oracle uses the Curve pool's instantaneous `get_virtual_price()` (`D / totalSupply`) as part of the collateral value. That ratio is a spot AMM quantity: anyone who can momentarily distort `totalSupply` relative to `D` controls the reported collateral value. [continues]","rootCause",1],["20422-h-01-anyone-can-use-or-steal-arbitrumswaps-native-asset-bala","Mugen ArbitrumSwaps — anyone unwraps the parked native refund","audit-finding","AuditVault","2023-01",null,["vuln/access-control/missing-auth","vuln/logic/wrong-condition"],["access-control","logic"],null,null,"Mugen",null,"Two assumptions disagree. The swap steps treat every wei on the contract as the caller's, and the Stargate call makes the contract the refund recipient. A back-run of the refund is enough. No role is required.","rootCause",1],["2023-01-OmniEstate","OmniEstate Exploit — Staking Reward Calculated From a Stale Storage Variable (Zero-Duration Over-Claim)","incident","DeFiHackLabs","2023-01","BNB Chain",["vuln/logic/state-update","vuln/logic/missing-validation","vuln/logic/reward-calculation"],["logic"],"Stale non-local state in reward calc + missing `end_date` validation → reward minted on a 1-wei / 0-duration \"stake\", withdrawable immediately",null,null,"ORT minted to the attacker for free","Three independent defects compose into the drain; any one of them would have been serious, the combination is fatal: 1. Missing input validation on `end_date`. `invest` is `public` and accepts an arbitrary `uint256`. Only `3/6/12/24` are honoured; everything else is silently treated as \"no lock\". The correct pattern is `require(end_date == 3 || end_date == 6 || end_date == 12 || end_date == 24)`. 2. Reward accumulator in storage instead of in memory. `total_percent` is a contract state variable. [continues]","rootCause",1],["2023-01-QTN","QTN (QUATERNION) Exploit — Reflection-Supply Rebase Inflation via skim() Loop","incident","DeFiHackLabs","2023-01","Ethereum",["vuln/defi/slippage","vuln/logic/incorrect-state-transition"],["defi","logic"],"Reflection/rebase token — `_gonsPerFragment`-denominated balances are inflated by repeatedly triggering the buy-path `rebasePlus()` through the pair's permissionless `skim()`, then re-aggregating the inflated balances back to the attacker",null,null,"WETH drained from the QTN/WETH Uniswap-V2 pair across two txs","The reflection/rebase design has two compounding flaws: 1. `rebasePlus` is value-redistributing, not value-neutral. Minting `amount/5` into `_totalSupply` while *not* minting any gons shrinks `_gonsPerFragment`, which re-prices every existing gon balance upward in QTN terms. The author appears to have intended this as a holder reward, but it is triggered by *any* `from == pair` transfer — including transfers the attacker manufactures for free with `skim()`. [continues]","rootCause",1],["2023-01-RoeFinance","ROE Finance Exploit — Manipulatable LP-Token Oracle + Re-deposit Collateral Inflation","incident","DeFiHackLabs","2023-01","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Manipulatable on-chain oracle for an LP-token reserve + same-asset re-deposit collateral inflation in an Aave-v2 fork",null,null,"~$64,121","Two independent configuration failures in the Aave-v2 fork compose into the loss: 1. The Uni-V2 WBTC/USDC LP token was listed as a reserve with `borrowingEnabled` and `ltv > 0`. Aave v2 deliberately refuses to list rebasing/_LP tokens as borrowable collateral; the protocol depends on the borrowed asset being *externally* priced and not under the borrower's control. [continues]","rootCause",1],["2023-01-SHOCO","SHOCO Exploit — Reflection deliver() Deflation Inflates the AMM Pair's Effective Balance","incident","DeFiHackLabs","2023-01","Ethereum",["vuln/defi/slippage","vuln/logic/incorrect-state-transition"],["defi","logic"],"Reflection-token accounting — public `deliver()` deflates `_rTotal`, which inflates every reflected holder's effective balance (including the AMM pair's) without `sync()`",null,null,"~4.30 ETH","The bug is an interface mismatch between a rebasing/reflection token and a constant-product AMM. A Uniswap V2 pair is only correct if `token.balanceOf(pair)` changes exclusively through `transfer` / `transferFrom` calls that the pair itself initiated inside `swap` / `mint` / `burn`. The pair re-derives its reserves from `balanceOf` at the end of each such call and assumes the delta is the \"amountIn\" the swapper deposited. [continues]","rootCause",1],["2023-01-ThoreumFinance","Thoreum Finance Exploit — Dividend/Rebase Token Self-Transfer Balance Inflation","incident","DeFiHackLabs","2023-01","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/logic/reward-calculation"],["logic"],"Dividend/rebase fee-on-transfer token whose `transfer()` accrues WBNB dividends to the sender, so a `transfer(self, balance)` self-transfer inflates the caller's balance ~1.7× per call — minting THOREUM from nothing, harvestable against the AMM pair",null,null,"~2,000 BNB across the full Jan-2023 incident","1. The dividend is credited to the sender of the transfer, and `transfer` has no `from != to` guard. A reflection/dividend token must never let a holder trigger its own dividend accrual by transferring to itself. Thoreum's implementation allowed `transfer(self, balance)` to re-enter the fee→swap→dividend path, and because the dividend credit is sized on the *moved* amount it always exceeds the small fee burned — so the net balance strictly increases. That is free money, minted against the pair. [continues]","rootCause",1],["24903-h-03-the-collect-function-will-always-transfer-zero-fees-los","Timeswap V2 — collect() always transfers zero fees then burns the fee position","audit-finding","AuditVault","2023-01",null,[],["untagged"],null,"high","Timeswap V2",null,"collect() always transfers zero fees then burns the fee position. Harm demonstrated: Fee position burned while pool transfers zero fees — permanent fee loss.","tldr",1],["24902-h-02-timeswapv","Timeswap V2 — LiquidityToken uses totalSupply()+1 as tokenId (collision after burn)","audit-finding","AuditVault","2023-01",null,["vuln/logic/reused-identifier","vuln/accounting/tokenid-collision","vuln/loss-of-funds/balance-manipulation"],["logic","accounting","loss-of-funds"],"Reused identifier: a monotonically-*decreasing* value used as a unique id","high","Timeswap V2 — options/AMM liquidity token (`v2-token` package)",null,"`totalSupply()` is a *live count* of currently-tracked tokenIds, not a monotonic counter. Using `totalSupply() + 1` as a unique id assumes the count only grows; burning a tokenId to zero removes it from `_allTokens`, so the next fresh position re-derives a previously-issued id. The fix is a monotonic counter: `id = ++tokenIdCounter`. [continues]","rootCause",1],["2023-01-TINU","TomInu (TINU) Exploit — Reflective-Token (RFI) Reflection-Rate Skim against a Uniswap-V2 Pair","incident","DeFiHackLabs","2023-01","Ethereum",["vuln/defi/slippage","vuln/logic/incorrect-state-transition"],["defi","logic"],"Reflective / fee-on-transfer token in a vanilla Uniswap-V2 pair: `deliver()` deflates the reflection rate so the pair's `balanceOf()` diverges from its stored reserves, enabling `skim()` + a direct `swap()` to drain WETH.",null,null,"~22 WETH","A Uniswap-V2 pair assumes its two underlying tokens behave like ordinary ERC20s: a token's `balanceOf(pair)` only changes when an actual `transfer`/`mint`/`burn` moves tokens into or out of the pair, and the pair is notified via `Sync`/`Swap`. Reflective tokens violate that assumption — `balanceOf` is a derived quantity that depends on global rate state (`_rTotal`, `_tFeeTotal`) that any holder can mutate via `deliver` (or that mutates on every taxed transfer). [continues]","rootCause",1],["2023-01-UFDao","UFO/UFDao (UFT) Exploit — Treasury-Share Mispricing on a Tiny-Supply LP Token","incident","DeFiHackLabs","2023-01","BNB Chain",["vuln/logic/price-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Treasury-share mispricing — LP redemption (`burnLp`) pays a pro-rata share of the entire DAO token balance while the LP `totalSupply` is arbitrarily small; a public, under-priced `buyPublicOffer` lets an attacker mint a near-100% share for a fraction of the treasury",null,null,"~$90,070 USDC","The system conflates two incompatible pricing models: 1. The mint price is a fixed exchange rate (`buyPublicOffer`: USDC in → UFT out, linear in `_lpAmount`). 2. The redeem price is a vault-share of the entire treasury (`burn` / `burnLp`: UFT in → `_share × DAO_total_balance` out). For these to be safe together, the invariant `1 UFT mint-cost ≥ (1 UFT) × (treasury / totalSupply)` must always hold. Concretely, the offer `rate` must satisfy: [continues]","rootCause",1],["2023-01-Upswing","Upswing (UPS) Exploit — sellPressure Farming + releasePressure() LP-Burn That Breaks k","incident","DeFiHackLabs","2023-01","Ethereum",["vuln/defi/slippage","vuln/logic/state-update"],["defi","logic"],"Token with stateful, holder-keyed \"sell pressure\" accounting that, on a permissionless self-transfer of amount 0, burns the holder's accumulated pressure directly out of the live AMM pair (`_burn(UNIv2, …)` + `pair.sync()`), un-compensated → breaks `x·y = k`",null,null,"~22 ETH in the live mainnet attack","Three design errors compose into the drain: 1. `sellPressure` is granted on the *movement* of UPS into the pair, not on the UPS *remaining* in the pair. The accounting has no concept of \"the sell was reversed.\" The attacker exploits this by pushing UPS in and immediately `skim`-ing it back: the pair's *balance* returns to baseline at the end of each iteration (skim sends the excess back to the attacker), but `sellPressure[attacker]` keeps everything it was credited. Each loop iteration is a free pressure grant. [continues]","rootCause",1],["48376-improper-unit-conversion-in-ammequilibrium-ottersec-none-ver","Vertex — ammEquilibrium divides the quote by 1e18","audit-finding","AuditVault","2023-01",null,["vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["arithmetic","logic"],null,null,"Vertex",null,"PRBMath `toInt` strips 18 decimals and `fromInt` adds them. The base leg is scaled up and the quote leg is scaled down, so the quote is smaller than the fair value by 1e36. These reserves are what the perp engine uses for LP and position value.","rootCause",1],["2022-12-AES","AES (AEST) Exploit — Fee-Accumulator distributeFee() Drains the AMM Pair","incident","DeFiHackLabs","2022-12","BNB Chain",["vuln/oracle/price-manipulation","vuln/access-control/missing-auth"],["oracle","access-control"],"Public price-manipulable `distributeFee()` that pulls tokens directly out of the AMM pair via `super._transfer(pair, …)`; combined with an on-chain, swap-driven fee accumulator `swapFeeTotal`",null,null,"~61,608 USDT","A Uniswap-V2/PancakeSwap pair's safety rests on a single rule: the only way token balances inside the pair should change is through `mint` / `burn` / `swap`, each of which re-checks `x·y = k`. `skim()` and `sync()` are escape hatches that assume token balances only drift *up* (donations) — `sync` simply trusts whatever the balance is. `AEST.distributeFee()` shatters that assumption by subtracting AES from the pair's balance through a raw `super._transfer`. [continues]","rootCause",1],["2022-12-APC","APC (ArenaPlay) Exploit — Spot-AMM-Price Swap Drained via Flash-Loan Pump & Dump","incident","DeFiHackLabs","2022-12","BNB Chain",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"Insecure price oracle — using a manipulable spot AMM `getAmountOut` to value tokens in an OTC-style swap; no TWAP, no freshness check, flash-loan-pumpable.",null,null,"PoC reproduces +7,626.99 USDT profit in one cycle","Two design errors compose into a critical bug: 1. Spot AMM price used as an oracle for value transfer. Pricing any token conversion off a single `getAmountOut(getReserves())` read is unsafe by construction: the reserves are the *post-trade* state of a pool that anyone can move. The attacker moved them, then settled, then moved them back. The contract has no defense against same-block reserve manipulation — no TWAP, no moving average, no committed price, no maximum price movement, no per-block cooldown. [continues]","rootCause",1],["2022-12-BBOX","BBOX Token Exploit — Fee-Engine Burns Tokens Out of the LP Pair and sync()s","incident","DeFiHackLabs","2022-12","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/defi/slippage"],["logic","defi"],"Broken AMM invariant — token engine burns its own token out of the LP pair's balance and calls `pair.sync()` (donation/burn manipulation)",null,null,"~38.44 WBNB","A Uniswap-V2/PancakeSwap pair only enforces `x·y ≥ k` *inside `swap()`*. `sync()` is a privileged escape hatch that tells the pair \"your real balance changed through legitimate means; re-sync reserves to actual balances.\" By burning BBOX out of the pair's balance *and* calling `sync()` in the same step, the token contract lies to the pair — it removes one side of the reserves without the matching outflow, collapsing `k`. The design errors that compose into a critical bug: [continues]","rootCause",1],["2022-12-BGLD","BGLD (BlackGold) Exploit — Migration-Contract Inflation + AMM Reserve Manipulation","incident","DeFiHackLabs","2022-12","BNB Chain",["vuln/arithmetic/decimal-mismatch","vuln/oracle/price-manipulation"],["arithmetic","oracle"],"Migration accounting mismatch (debited-amount ≠ credited-amount) → unbacked newBGLD minting, combined with PancakeSwap `skim`/`sync` reserve manipulation on fee-on-transfer tokens",null,null,"~18,063.36 USDT + 8.80 WBNB leftover","Two independent flaws compose into the critical exploit: 1. `migrate()` debits and credits different quantities. A migration must be value-conserving: `v2_out == v1_in` (modulo the intended bonus). Here the v2 payout is computed from the user's *pre-transfer* `balanceOf`, while the v1 pull is the fee-discounted `((balance·10)/11)−1`. With no settlement check, `migrate()` is a money printer: it pays out more v2 (and bonus) than the v1 it locks. [continues]","rootCause",1],["2022-12-Defrost","Defrost Finance lendingSwitchErc20 Exploit — Reentrant Flash-Loan Share Inflation","incident","DeFiHackLabs","2022-12","Avalanche",["vuln/reentrancy/single-function","vuln/arithmetic/rounding"],["reentrancy","arithmetic"],"Reentrancy via ERC-3156 flash-loan callback → vault share-price inflation (price-manipulation / first-depositor-style inflation inside an unguarded callback window)",null,null,"~173,635.82 USDC drained from the Defrost `lendingSwitchErc20`","An ERC-3156 `flashLoan` is, by construction, a reentrancy surface: the lender hands control to an untrusted `receiver` in the middle of the loan. The contract is therefore only safe if no other vault operation can observe the intermediate, half-drained state. Defrost violated that contract in three compounding ways: 1. Balance accounting is not snapshot-based. `getTotalAssets()` reads a live external balance (`aavaToken.balanceOf`). [continues]","rootCause",1],["2022-12-DFS","DFS Exploit — _transfer Accounting Gap Let skim() Self-Loop Mint DFS Out of Thin Air","incident","DeFiHackLabs","2022-12","BNB Chain",["vuln/logic/state-update","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Broken ERC20 accounting in fee-on-transfer `_transfer` — missing sender debit when the AMM pair is `from`/`to` and the fee branch is skipped",null,null,"~1,452 USDT","A Uniswap-V2 pair's reserves are only re-synced inside `swap`, `mint`, `burn`, and `sync`. `skim` deliberately leaves `reserve0`/`reserve1` untouched — it exists to let anyone extract donations/rounding dust without disturbing the price. That invariant (\"`skim` cannot change the pair's pricing state\") is silently assumed by every AMM integration. DFS's `_transfer` breaks that invariant by not being a real balance move when the pair is involved and the fee branch is skipped: [continues]","rootCause",1],["2022-12-ElasticSwap","ElasticSwap Exploit — Internal-Reserve Manipulation Drains the TIC/USDC.e AMM","incident","DeFiHackLabs","2022-12","Avalanche",["vuln/oracle/price-manipulation","vuln/logic/incorrect-state-transition"],["oracle","logic"],"AMM internal-accounting manipulation — swap output computed against attacker-controllable internal reserve that can be zeroed out, breaking `x·y = k`",null,null,"187,460.63 USDC.e drained from the TIC/USDC.e pool","ElasticSwap mixes two sources of truth — the live ERC-20 balance and the `InternalBalances` ledger — and lets the latter be pushed into a state where the AMM's pricing math degenerates. The fatal design choices, each necessary for the exploit: 1. `swapQuoteTokenForBaseToken` reads the live base balance as an authoritative reserve. [continues]","rootCause",1],["2022-12-FPR","FPR Token Exploit — Public setAdmin() Hijack Drains FPR Distributor Contracts + LP","incident","DeFiHackLabs","2022-12","BNB Chain",["vuln/access-control/missing-modifier","vuln/access-control/missing-owner-check"],["access-control"],"Missing access control on admin setter (`setAdmin`) + admin-gated withdrawal (`remaining`) ⇒ public theft of contract-held tokens and LP",null,null,"~$28,095","The distributor contracts were deployed with an unprotected admin setter. Two design flaws compose into a critical bug: 1. Missing access control on `setAdmin`. The function writes its argument straight to the admin slot with no `require(msg.sender == admin)` / `onlyOwner`. Anyone can become admin of any distributor, at any time. 2. Admin privilege is \"withdraw the entire balance of any token held by this contract.\" [continues]","rootCause",1],["2022-12-JAY","JAY Token Exploit — Reentrancy via Attacker-Controlled \"ERC721\" Callback in buyJay","incident","DeFiHackLabs","2022-12","Ethereum",["vuln/reentrancy/cross-contract","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Reentrancy via user-supplied \"ERC721 token address\" + missing `nonReentrant` on a price-forming buy/sell pair",null,null,"~15.32 ETH","Three independent design failures compose into the exploit: 1. User-controlled external call inside a price-forming function. `buyJay` invokes `IERC721(_tokenAddress[id]).transferFrom(...)` on an address supplied by the caller, with no validation that it is a real ERC721 or that a transfer actually occurred. This hands the caller a free reentrancy callback in the middle of the trade. 2. No reentrancy guard anywhere. Neither `buyJay`, `sell`, nor `buyJayWithERC721` uses a `nonReentrant` modifier. [continues]","rootCause",1],["2022-12-Lodestar","Lodestar Finance Exploit — plvGLP Oracle Inflation Drains the Lending Pools","incident","DeFiHackLabs","2022-12","Arbitrum",["vuln/oracle/price-manipulation","vuln/arithmetic/rounding"],["oracle","arithmetic"],"Single-block price-oracle manipulation of an ERC-4626 vault share price via a donation (`donate()`) that inflates `totalAssets` without minting shares",null,null,"~$6.5M drained from Lodestar's lending pools","The exploit is a textbook single-block oracle manipulation composed of three independently-reasonable design choices that interact catastrophically: 1. A vault-share price was used as a live oracle. Lodestar priced `plvGLP` from its ERC-4626 `totalAssets()/totalSupply()` ratio. ERC-4626 share prices are *not* manipul-resistant oracles: the numerator is a plain `balanceOf`, which any external transfer can move. [continues]","rootCause",1],["2022-12-MEVbot_0x28d9","MEV Bot 0x28d9 Exploit — Flash-Loan Callback Hijack via Attacker-Controlled assetTo","incident","DeFiHackLabs","2022-12","Ethereum",["vuln/logic/missing-validation","vuln/dependency/unsafe-external-call"],["logic","dependency"],"Flash-loan callback hijack — attacker-controlled `assetTo` + attacker-controlled `data` lets the attacker become the *beneficiary* of the victim bot's own swap logic, turning the bot into an oracle that buys USDC for the attacker using the bot's USDT",null,null,"~2,670.98 USDC","The DODO flash-swap pattern separates three roles that the victim bot assumed would always coincide: 1. Initiator — who calls `flashLoan` (and becomes `msg.sender` / `sender` in the callback). 2. `assetTo` — who physically receives the loaned tokens and gets the callback. 3. Beneficiary — who keeps the swap output. A safe callback receiver ties all three together: it only honors swaps it *initiated itself*, sends output to *itself*, and repays from *its own* flash-borrowed funds. The MEV bot instead: [continues]","rootCause",1],["2022-12-MUMUG","MUBank Exploit — Flash-Swap Manipulation of Reserve-Dependent Bond Pricing","incident","DeFiHackLabs","2022-12","Avalanche",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"Unsanitized AMM-spot oracle — bonding functions read manipulated pool reserves (manipulable price oracle / stale snapshot)",null,null,"~48,670.71 USDC.e drained from MUBank's reserves","Three design failures compose into the drain: 1. AMM-spot pricing of own-inventory sales. `mu_bond` / `mu_gold_bond` price their payout off the *instantaneous* `getReserves()` of public LPs. Uniswap/Joe `getReserves()` is trivially manipulable within a single transaction (the classic oracle-manipulation anti-pattern). Any contract that uses it as a *settlement* price — not just a display price — is exploitable by a flash-loan / flash-swap. The fix is a TWAP or a committed historical price. [continues]","rootCause",1],["2022-12-Nmbplatform","Nimbus Platform Exploit — Flash-Loan AMM Spot-Price Manipulation of Staking Rewards","incident","DeFiHackLabs","2022-12","BNB Chain",["vuln/oracle/spot-price","vuln/logic/reward-calculation"],["oracle","logic"],"Reward oracle uses manipulable AMM spot price (`getAmountsOut`) — flash-loan price manipulation",null,null,"~$370K reported","A reward accounting system must never price an asset using a value that the claimant can move in the same transaction. Nimbus priced its `rewardsToken` (NIMB) using the AMM's instantaneous `getAmountsOut` quote against a thin pool. `getReward()` is callable by anyone, in the same transaction as a swap that distorts that quote. Four design decisions compose into the bug: 1. Spot-price oracle. [continues]","rootCause",1],["2022-12-NovaExchange","Nova Exchange Exploit — Owner-Only Unlimited Mint via rewardHolders()","incident","DeFiHackLabs","2022-12","BNB Chain",["vuln/access-control/centralization","vuln/access-control/missing-modifier"],["access-control"],"Privileged backdoor — `onlyOwner` unlimited mint disguised as a \"reward holders\" feature (rug-pull infrastructure)",null,null,"The token's value was rugged via unlimited owner minting","This is not a logic error exploited by a third party; it is a deliberate centralization backdoor. Three design decisions compose into a rug: 1. Unbounded privileged mint. `rewardHolders` lets `owner` inflate supply and its own balance to any value at will. There is no `MAX_SUPPLY` ceiling and no cap on `amount`. 2. Asymmetric transfer restrictions. [continues]","rootCause",1],["2022-12-Overnight","Overnight Finance USD+ Exploit — NAV Inflation via Synapse Stable-Pool Manipulation","incident","DeFiHackLabs","2022-12","Avalanche",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Price-oracle manipulation — spot-AMM-priced NAV + mint/redeem in the same flash-loan",null,null,"+144,303 USDC net to the attacker","Overnight `USD+` derived its mint/redeem exchange rate from the spot reserves of an external AMM (the Synapse nUSD stable-pool), and that AMM's reserves are fully controllable inside one transaction via flash-loaned imbalanced liquidity operations. There is no time-weighting, no sanity bound, and no invariant tying redeemed USDC to deposited USDC. The four design decisions that compose into the loss: 1. Spot-AMM-priced NAV. `netAssetValue()` / `totalNetAssets()` read the *current* Synapse pool composition. [continues]","rootCause",1],["10416-rounding-up-in-minting-shares-openzeppelin-pods-finance-ethe","Pods mulDivUp mints 1 share for 1 wei and it withdraws 9900990099009900990 assets","audit-finding","AuditVault","2022-12",null,["vuln/arithmetic/rounding-direction"],["arithmetic"],null,null,"Pods Finance",null,"Share price is 10e18 assets per share. A 1-wei deposit is a fraction of a share. Rounding that fraction up donates a full share, which is then redeemable against the existing assets.","rootCause",1],["2022-12-RFB","RFB (Roast Football) Exploit — Brute-Forceable On-Chain \"Lucky Buyer\" Jackpot Drain","incident","DeFiHackLabs","2022-12","BNB Chain",["vuln/logic/missing-validation","vuln/input-validation/missing"],["logic","input-validation"],"Predictable / brute-forceable on-chain randomness funding a real-ETH reward, with no buy/sell cooldown",null,null,"+12.171906 WBNB net profit to the attacker, captured per single flash-loaned transaction","A buyer-triggered, real-ETH reward is gated only by a \"random\" number that the buyer can compute and steer before sending the transaction — and the buy itself is repeatable with no cooldown. Concretely, four design decisions compose into a free-money loop: 1. On-chain predictable RNG. `keccak256(block.number, block.timestamp, buyer, _balances[pair])` is not random to a contract that constructs the transaction. The attacker reads the same chain state the contract will, so it knows the outcome *before* committing. [continues]","rootCause",1],["2022-12-Rubic","Rubic Exchange Exploit — Arbitrary External Call Drains User Allowances","incident","DeFiHackLabs","2022-12","Ethereum",["vuln/dependency/unsafe-external-call"],["dependency"],"Arbitrary external call with attacker-controlled target + calldata (allowance abuse / \"router\" call injection)",null,null,"~$1,475,491 USDC","The proxy conflates two trust domains: Who is allowed to be called (the whitelist) is checked, but what is allowed to be done in that call (the calldata, and whose assets it touches) is not. The proxy is the holder of every user's approval, and it lends that identity to arbitrary calldata. Three design decisions compose into a critical bug: 1. Caller-supplied call target + caller-supplied calldata. `functionCallWithValue(_params.router, _data,...)` is a generic \"execute on my behalf\" primitive. [continues]","rootCause",1],["2022-12-TIFI","TiFi Finance Exploit — Spot-Price Oracle Manipulation of a Lending Pool","incident","DeFiHackLabs","2022-12","BNB Chain",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"DEX spot-price oracle manipulation (collateral over-valuation in a money market)",null,null,"~87.14 WBNB","The solvency invariant `borrowValue ≤ collateralValue` is enforced against a price that the borrower can move at will, atomically, with capital they don't even need to own (a flash swap). A constant-product AMM's spot reserve ratio is *not* a price oracle — it is a number that any swap mutates. Using it directly to value collateral means: [continues]","rootCause",1],["2022-11-Kashi","Abracadabra / Kashi Cauldron Exploit — Self-Liquidation Against a Stale Exchange Rate","incident","DeFiHackLabs","2022-11","Ethereum",["vuln/oracle/stale-price","vuln/logic/incorrect-order-of-operations"],["oracle","logic"],"Stale / inconsistent oracle exchange rate + missing post-liquidation solvency invariant → profitable self-liquidation",null,null,"~99,017.79 MIM","The single transaction relies on the protocol disagreeing with itself about the exchange rate, plus a liquidation primitive with no self-dealing protection: 1. Two rate snapshots in one tx. `borrow()` uses the cached `exchangeRate`; `liquidate()` refreshes it via `updateExchangeRate()` (:1057-1067). When the cached value lags a moved oracle, the *same* position is \"solvent enough to borrow\" and \"insolvent enough to liquidate\" simultaneously. [continues]","rootCause",1],["2022-11-Annex","Annex Finance Liquidator Exploit — Unauthenticated Flash-Swap Callback Drains the Contract","incident","DeFiHackLabs","2022-11","BNB Chain",["vuln/access-control/missing-auth","vuln/reentrancy/cross-contract"],["access-control","reentrancy"],"Missing flash-swap callback authentication (untrusted `sender` + arbitrary attacker-controlled pair) → self-approval & self-transfer of contract funds",null,null,"~7.2224 WBNB drained from the `Liquidator` contract","A PancakeSwap/Uniswap-V2 flash swap re-enters the recipient via `IPancakeCallee.pancakeCall(sender, amount0, amount1, data)`. The `msg.sender` is the pair; the `sender` argument is *whoever called `pair.swap()`*. Secure flash-swap consumers MUST verify both: 1. `msg.sender` is a pair they trust (the `Liquidator` does this), and; 2. `sender == address(this)` — i.e. *this contract* initiated the swap (the `Liquidator` does not do this). [continues]","rootCause",1],["2022-11-AUR","Aurum Finance (AUR) Exploit — Unprotected changeRewardPerNode() Drains the Node-Reward Pool","incident","DeFiHackLabs","2022-11","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/reward-calculation"],["access-control","logic"],"Missing access control on a state-mutating setter (reward parameter)",null,null,"~$13.4K","This is a textbook broken access control finding. The vulnerability is the composition of three facts, the first being decisive: 1. `changeRewardPerNode()` is `external` with no `onlyOwner` (or any) guard. An attacker controls the single most sensitive economic input of the contract. 2. The reward is `rewardPerDay × elapsed / 86400`, unbounded above. Because `rewardPerDay` is now attacker-controlled and there is no cap, the attacker can target *any* payout — in particular, exactly the pool's full AUR balance. [continues]","rootCause",1],["2022-11-BDEX","BDEX (Bvaults) Exploit — Permissionless convertDustToEarned() Sandwiched into a No-Slippage Pool Swap","incident","DeFiHackLabs","2022-11","BNB Chain",["vuln/defi/sandwich-attack","vuln/defi/slippage","vuln/access-control/missing-auth"],["defi","access-control"],"Public, un-permissioned, slippage-free protocol swap → sandwich / pool-price manipulation",null,null,"16.22 WBNB extracted from the BDEX/WBNB pair in a single transaction","The combination of three properties on `convertDustToEarned()` turns a harmless housekeeping helper into a free-money faucet: 1. Permissionless trigger. The function is `public` with no caller restriction. The attacker decides exactly when the strategy swaps — i.e. *after* the attacker has skewed the pool price. 2. No slippage protection. `_vswapSwapToken` passes `amountOutMin = 1`, so the strategy executes at whatever marginal price the pool offers, however manipulated. [continues]","rootCause",1],["2022-11-MooCAKECTX","Beefy \"Moo CAKE CTX\" Vault Exploit — Harvest-Sandwich Reward Theft","incident","DeFiHackLabs","2022-11","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/sandwich-attack"],["access-control","defi"],"Yield-vault share-price manipulation via permissionless harvest (accrued-reward sandwich) + `isContract` constructor bypass",null,null,"29,913.7 CAKE net to the attacker","The vault prices shares off `strategy.balanceOf()`, an amount that jumps discontinuously whenever `harvest()` is called — and `harvest()` is reachable by anyone, at any time, atomically. This lets an attacker time their entry and exit around the very harvest they themselves trigger: 1. Reward attribution is by current share ownership, not by holding period. All accrued rewards are socialized into share price at harvest time. [continues]","rootCause",1],["2022-11-BrahTOPG","Brahma Finance (BrahTOPG) Zapper Exploit — Arbitrary call Drains User Approvals","incident","DeFiHackLabs","2022-11","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-validation"],["dependency","access-control"],"Arbitrary external call (`swapTarget.call(callData)`) abusing pre-existing ERC20 approvals — \"approval drain via untrusted call target\"",null,null,"~$79,680","The bug is the classic arbitrary external call against a privileged allowance holder: A contract that holds standing token allowances (here: every user's near-infinite USDC/FRAX approval to the Zapper) must NEVER forward an attacker-chosen `(target, calldata)` through a low-level `.call()` from its own address. Doing so lets the caller borrow the contract's identity — and therefore its allowances — to execute `transferFrom(victim → attacker)`. The four design choices that compose into a critical bug: [continues]","rootCause",1],["17856-degate-arbitrary-token-balance-check","DeGate — arbitrary token integration can lock deposits","audit-finding","AuditVault","2022-11",null,["vuln/input-validation/missing","vuln/logic/state-update","vuln/dos/frozen-funds"],["input-validation","logic","dos"],null,null,null,null,"Token integration is permissionless but the checkBalance flag defaults false; accounting trusts nominal amount rather than received balance.","rootCause",1],["2022-11-DFX","DFX Finance Exploit — Reentrancy via Unguarded flash() Inflates LP Share Mint","incident","DeFiHackLabs","2022-11","Ethereum",["vuln/reentrancy/single-function","vuln/arithmetic/precision-loss"],["reentrancy","arithmetic"],"Reentrancy — read-only/cross-function: unguarded `flash()` re-enters `deposit()` while pool balances are deflated, minting inflated LP shares",null,null,"~170,669.64 USDC drained from the XIDR/USDC DFX Curve pool","The pool's LP accounting trusts that its measured token balances reflect \"real\" liquidity at the instant `deposit()` mints shares. `flash()` violates that assumption: it ships reserves out, then hands control to an arbitrary contract (`flashCallback`) *before* the loan is repaid — all while skipping the reentrancy lock that guards every other state-mutating path. Three design decisions compose into a critical bug: 1. Missing `nonReentrant` on `flash()`. [continues]","rootCause",1],["2022-11-MBC_ZZSH","MBC / ZZSH Exploit — Public swapAndLiquifyStepv1() Lets an Attacker Inject the Token's Own Accumulated Fees Into the Pool Reserve","incident","DeFiHackLabs","2022-11","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/slippage","vuln/logic/incorrect-order-of-operations"],["access-control","defi","logic"],"Missing access control on a state-mutating function (`swapAndLiquifyStepv1`) → AMM reserve manipulation",null,null,"5,930.68 USDT profit to the attacker","The protocol's design assumes `swapAndLiquifyStepv1()` is called only by a trusted bot, at a moment of its choosing, so that the accumulated fee USDT is folded back into the pool \"fairly.\" Because the function is `public` and unconditional, an attacker controls *when* it fires and can sandwich it: Buy → call `swapAndLiquifyStepv1()` → sell, all in one transaction. The buy crashes the token reserve and (via the fee) seeds the contract with USDT. The injection then pushes that USDT into the pool's reserve. [continues]","rootCause",1],["2022-11-MEV_0ad8","MEV Bot 0x0AD8…afd4 — Arbitrary-Call Router Drains a Victim's Standing USDC Approval","incident","DeFiHackLabs","2022-11","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Arbitrary external call with attacker-controlled target+calldata → standing-approval theft",null,null,"91,638.11 USDC","A privileged spender (the router) executed an unauthenticated, attacker-defined external call. Three independent properties had to coincide, and all three did: 1. Permissionless arbitrary-call dispatch. Entry point `0x090f88ca` has no `onlyOwner` / searcher whitelist; `vulnerableContract.call(payload)` from a fresh EOA succeeds. The caller fully controls both the *target* (arg0 = USDC) and the *calldata* (arg4 = `transferFrom(...)`). 2. The router is `msg.sender` of the forwarded call. [continues]","rootCause",1],["2022-11-NUM","Multichain (Anyswap) anySwapOutUnderlyingWithPermit — Missing-permit Allowance Theft","incident","DeFiHackLabs","2022-11","Ethereum",["vuln/dependency/unchecked-return-value","vuln/logic/missing-validation"],["dependency","logic"],"Unverified `permit()` on a token that lacks one → arbitrary `transferFrom` of any prior approver's balance",null,null,"557,754.45 NUM swapped out → attacker netted 13,822.28 USDC in this single reproduced tx","Four design decisions compose into the bug: 1. Trusting an unverified external `permit`. The router treats `permit()` as if it atomically sets an allowance from a *verified* signature. For any underlying without EIP-2612 (or with a permissive fallback / non-reverting stub), the call is a no-op and the router proceeds anyway. The router never asserts `allowance(from, router) >= amount` was created *by this permit*. 2. Fully attacker-controlled `from` and `token`. Nothing ties `from` to `msg.sender`. [continues]","rootCause",1],["25723-h-01-data-corruption-in-nftfloororacle-denial-of-service-cod","ParaSpace — [H-01] Data corruption in NFTFloorOracle; Denial of Service","audit-finding","AuditVault","2022-11",null,[],["untagged"],"Incomplete swap-and-pop bookkeeping","high","ParaSpace",null,"1. Remove feeder B (middle): last feeder C is swapped into B's slot. 2. `feederPositionMap[C].index` still says 2 while array length is 2. 3. `removeFeeder(C)` reads `feeders[2]` → out of bounds revert; C stuck forever.","tldr",1],["15976-h-03-interest-rates-are-incorrect-on-liquidation-code4rena-p","ParaSpace — [H-03] Interest rates are incorrect on Liquidation","audit-finding","AuditVault","2022-11",null,["vuln/logic/liquidation-logic"],["logic"],"Incorrect interest-rate accounting on liquidation","high","ParaSpace",null,"Interest-rate strategy assumes `liquidityAdded` has not yet hit the xToken balance. Liquidation transfers first, so the same amount is counted twice.","rootCause",1],["15977-h-04-anyone-can-prevent-themselves-from-being-liquidated-as","ParaSpace — [H-04] Anyone can prevent themselves from being liquidated","audit-finding","AuditVault","2022-11",null,[],["untagged"],"Missing access control on privileged oracle admin","high","ParaSpace",null,"Existence check is not authorization. Feeder removal is a privileged configuration change left open to the world.","rootCause",1],["15978-h-05-attacker-can-manipulate-low-tvl-uniswap-v3-pool-to-borr","ParaSpace — [H-05] Attacker can manipulate low-TVL Uniswap V3 pool to borrow","audit-finding","AuditVault","2022-11",null,[],["untagged"],"Manipulable collateral oracle (spot amounts × external prices)","high","ParaSpace",null,"1. Any UniV3 position whose tokens are listed can be collateral. 2. Value = token amounts in the position × external oracle prices (no pool TVL check). 3. Attacker owns a thin pool, flash-inflates amounts, borrows max, deflates → keeps loan, leaves ~dust collateral.","tldr",1],["15981-h-08-nftfloororacles-asset-and-feeder-structures-can-be-corr","ParaSpace — [H-08] NFTFloorOracle asset and feeder structures can be corrupted","audit-finding","AuditVault","2022-11",null,[],["untagged"],"Unsafe downcast of array index","high","ParaSpace",null,"1. Asset indices stored as `uint8`; `assets` never shrinks on remove (`delete` only). 2. After 256 assets, the next add stores `uint8(256) == 0`. 3. `removeAsset` then zeros the wrong slot — oracle structures permanently broken.","tldr",1],["15982-h-09-uniswapv3-tokens-of-certain-pairs-will-be-wrongly-value","ParaSpace — [H-09] UniswapV3 tokens of certain pairs will be wrongly valued","audit-finding","AuditVault","2022-11",null,[],["untagged"],"Integer division truncates before fixed-point scale","high","ParaSpace",null,"1. Same-decimal branch: `sqrt(token0Price * 1e18 / token1Price) * 2^96 / 1e9`. 2. If `token1Price > token0Price * 1e18`, inner div is 0 → `sqrtPriceX96 = 0`. 3. Amount math treats position as pure amount0 → severe undervaluation → false liquidation.","tldr",1],["15983-h-10-attacker-can-drain-pool-using-executebuywithcredit-with","ParaSpace — [H-10] Attacker can drain pool using executeBuyWithCredit","audit-finding","AuditVault","2022-11",null,[],["untagged"],"Accounting vs execution price mismatch","high","ParaSpace",null,"1. Pool charges the user from OrderInfo consideration built with maker price. 2. LooksRare exchange transfers taker price from the pool to the maker. 3. Attacker is both sides: maker=10, taker=1000 → net drains 990 of pool funds (+ keeps NFT path).","tldr",1],["15980-h-07-user-can-pass-auction-recovery-health-check-easily-with","ParaSpace — flash-loan bypass of the auction recovery health check","audit-finding","AuditVault","2022-11",null,["vuln/reentrancy/single-function","vuln/logic/missing-validation","vuln/dos/lockup"],["reentrancy","logic","dos"],"Missing persistence/delay in an instantaneous recovery health check.","high",null,"Auction recovery can be cancelled while the borrower has no lasting recovery collateral","The health factor is a point-in-time predicate and there is no lock, observation window, or minimum collateral age. A flash loan therefore turns a temporary balance into a durable auction cancellation.","rootCause",1],["2022-11-Polynomial","Polynomial Protocol Exploit — Arbitrary swapTarget.call Drains Pre-Approved User Funds","incident","DeFiHackLabs","2022-11","Ethereum",["vuln/dependency/unsafe-external-call"],["dependency"],"Arbitrary external call (`swapTarget`/`swapData` injection) → unauthorized `transferFrom` of pre-approved allowances",null,null,"~$1.4K","The defining property of a UNIX-style \"confused deputy\" is that a privileged actor performs an action *on behalf of* a less-privileged caller without checking whether the caller is entitled to it. `PolynomialZap` is exactly that: The Zap holds standing ERC20 allowances from many users (the prerequisite to ever zap), and it exposes a permissionless primitive to make it call any address with any calldata. [continues]","rootCause",1],["50907-undelegated-coins-are-not-considered-on-the-reward-distribut","Power reward pays 100 CORE and skips 50 undelegated coins","audit-finding","AuditVault","2022-11","Ethereum",["vuln/logic/reward-calculation"],["logic"],"Reward product uses delegated `rs.coin` and ignores undelegated coins",null,null,"Miner receives 100 CORE instead of 150","Delegated and undelegated coins are both in the round, but only the delegated field is multiplied into the reward. The `remainReward >= paid` check then succeeds against the smaller number, and the miner is credited the smaller number.","rootCause",1],["2022-11-SDAO","sDAO Exploit — Staking-Reward Accounting Manipulation via Self-Inflated totalStakeReward + Shrunken Reward Divisor","incident","DeFiHackLabs","2022-11","BNB Chain",["vuln/logic/reward-calculation","vuln/access-control/missing-auth"],["logic","access-control"],"Broken staking-reward accounting — flash-manipulable reward divisor + attacker-controllable `totalStakeReward` numerator",null,null,"~13,162 USDT profit to the attacker","The staking accumulator's per-share denominator is `LPInstance.balanceOf(address(this))` instead of an internal `totalLPStaked` accumulator. That single design choice makes the reward index a function of a live, externally-mutable token balance rather than of tracked accounting state. Combined with two more flaws, it composes into a critical, flash-loanable bug: 1. Live balance as divisor (the core flaw). [continues]","rootCause",1],["2022-11-SEAMAN","SEAMAN Exploit — Forced Tax-Swap Routed Through a Thin GVC Pool (Price Manipulation)","incident","DeFiHackLabs","2022-11","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Forced/attacker-triggered tax-swap routed through a manipulable AMM pool → price manipulation",null,null,"~$7,782","The SEAMAN contract delegates a price-sensitive, market-moving swap to an attacker-controlled trigger, and routes that swap through a second, thin pool that the attacker can position against: 1. Attacker-controlled trigger of a market-moving action. `swapAndLiquifyV1/V3` market-buy GVC. They are invoked from `_transfer` on *any* transfer to the SEAMAN pair, with no minimum amount and from any caller. So the attacker decides exactly *when* and *how many times* the contract buys GVC — i.e., when to pump. [continues]","rootCause",1],["2022-11-SheepFarm2","SheepFarm Exploit — Free Gems via Repeatable register()","incident","DeFiHackLabs","2022-11","BNB Chain",["vuln/logic/state-update","vuln/access-control/missing-check"],["logic","access-control"],"Broken state-machine guard → unlimited free in-game currency (missing `timestamp` write in `register()`)",null,null,"~3.0556 BNB drained from the SheepFarm bank","`register()` is a one-shot state transition (\"unregistered → registered\") whose only guard is the very state variable it forgets to update. The intended invariant is: *Each address may collect the registration bonus exactly once.*; Enforcing that invariant requires `register()` to set whatever flag it reads. It reads `villages[user].timestamp` but sets `villages[user].neighbor`/`.gems`/`.neighbors`. [continues]","rootCause",1],["2022-11-SheepFarm","SheepFarm Exploit — Free-Gem Mint via Repeatable register()","incident","DeFiHackLabs","2022-11","BNB Chain",["vuln/logic/state-update","vuln/access-control/missing-check"],["logic","access-control"],"Broken state-machine invariant → unbounded free in-game-currency mint → cash-out for real BNB",null,null,"~$80K total across many bots in the wild","The flaw is a missing idempotency / registration latch. The contract's mental model is \"one address registers once and gets the bonus once,\" but the only thing standing between an address and a repeat bonus is `timestamp`, a field that `register()` itself does not touch. This produces a classic free-mint of internal value: 1. No registration latch. `register()` should set a one-way flag the first time it runs (or set `timestamp`), but it sets neither. [continues]","rootCause",1],["43028-h-05-reentrancy-in-liquidstakingmanagersolwithdrawethforknow","Stakehouse LiquidStakingManager — withdrawETHForKnot pays 4 ETH before the knot is banned","audit-finding","AuditVault","2022-11",null,["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],null,null,"Stakehouse",null,"The refund and the \"this knot has already withdrawn\" flag are in the wrong order. The balance check uses the wallet's live ETH balance, which is 8 ETH for two knots and is still 4 ETH after the first send. Nothing else stops a second entry for the same public key until `bannedBLSPublicKeys` is written, and that write is after the external call. `withdrawETHForKnot` is also not `nonReentrant`, unlike `claimRewardsAsNodeRunner` on the same contract.","rootCause",1],["43029-h-06-bringunusedethbackintogiantpool-can-cause-stuck-ether-f","Stakehouse Protocol — bringUnusedETHBackIntoGiantPool can cause stuck ether funds in the Giant Pool","audit-finding","AuditVault","2022-11",null,["vuln/accounting/missing-state-update","vuln/liveness/frozen-funds","vuln/logic/asymmetric-operations"],["accounting","liveness","logic"],"Missing state update: an asymmetric operation (stake decrements `idleETH`, bring-back should re-increment it, but doesn't)","high","Stakehouse Protocol — `GiantMevAndFeesPool` / `GiantPoolBase` (liquid staking, \"Giant Pool\" aggregator)",null,"`idleETH` is meant to mirror \"ETH available for withdrawal or re-staking.\" Every operation that moves ETH out of the idle pool (`batchDepositETHForStaking`) correctly decrements it. But the operation that brings ETH back (`bringUnusedETHBackIntoGiantPool`) is asymmetric — it performs the vault-side burn/payout but omits the corresponding `idleETH` increment. [continues]","rootCause",1],["43033-h-10-giantmevandfeespoolbringunusedethbackintogiantpool-func","Stakehouse Protocol — bringUnusedETHBackIntoGiantPool loses idleETH addition and lets attackers steal ETH from the Giant Pool","audit-finding","AuditVault","2022-11",null,["vuln/logic/reward-calculation","vuln/logic/direct-drain"],["logic"],"Accounting omission: returned capital not re-registered as idle, mis-read as rewards","high","Stakehouse Protocol — `GiantMevAndFeesPool` liquid-staking giant pool",null,"`idleETH` is the only bookkeeping variable that distinguishes idle capital from rewards. Every path that moves capital in or out of the giant pool must keep it consistent. Deposit increments it; staking decrements it; bring-back forgets to re-increment it. The reward formula then treats the re-credited ETH as unprocessed rewards, and the claim path pays them out.","rootCause",1],["43030-h-07-giantlp-with-a-transferhookprocessor-cant-be-burned-use","Stakehouse Protocol — GiantLP with a transferHookProcessor can't be burned, users' funds stuck in the Giant Pool","audit-finding","AuditVault","2022-11",null,["vuln/logic/missing-guard-clause","vuln/liveness/frozen-funds","vuln/logic/asymmetric-branches"],["logic","liveness"],"Missing guard clause / asymmetric branch handling: a symmetric pair of checks (`_from` vs `_to`) is implemented for only one side","high","Stakehouse Protocol — `GiantLP` / `GiantMevAndFeesPool` (liquid staking, \"Giant Pool\" aggregator)",null,"`beforeTokenTransfer` treats `_from == address(0)` (a mint) as a case to skip, but never treats `_to == address(0)` (a burn) the same way. The two checks are supposed to be symmetric — both `_from` and `_to` can legitimately be `address(0)` (mint vs burn) — but only one side got the guard. Because `_distributeETHRewardsToUserForToken`'s very first statement is an unconditional zero-address `require`, the missing guard turns every burn into a guaranteed revert.","rootCause",1],["43032-h-09-incorrect-accounting-in-syndicaterewardsprocessor-resul","Stakehouse Protocol — incorrect accounting in SyndicateRewardsProcessor lets any LP holder steal others' ETH from the fees and MEV vault","audit-finding","AuditVault","2022-11",null,["vuln/accounting/ledger-overwrite","vuln/logic/reward-calculation","vuln/logic/direct-drain"],["accounting","logic"],"Ledger overwrite: an accumulator is assigned instead of incremented","high","Stakehouse Protocol — `SyndicateRewardsProcessor` / `StakingFundsVault` / `GiantMevAndFeesPool` (liquid staking reward accrual)",null,"`claimed[_user][_token]` is meant to be a running total: \"how much has this user claimed for this token, ever?\" Every subsequent `due` computation subtracts it from the user's total lifetime entitlement to find what's newly owed. But the assignment `claimed[_user][_token] = due` replaces the running total with just the latest increment. [continues]","rootCause",1],["43025-h-01-any-user-being-the-first-to-claim-rewards-from-giantmev","Stakehouse Protocol — repeated reward claims drift, letting a curator extract more than their fair share","audit-finding","AuditVault","2022-11",null,["vuln/accounting/incorrect-checkpoint-update","vuln/economic/reward-drift","vuln/logic/insolvency-risk"],["accounting","economic","logic"],"Incorrect checkpoint update: a per-user \"claimed so far\" baseline is overwritten with the wrong value","high","Stakehouse Protocol — `SyndicateRewardsProcessor` / `GiantMevAndFeesPool`",null,"`claimed[user][token]` is meant to be a monotonically growing checkpoint of everything a user has ever been paid, so that `due` always represents only the *newly accrued* portion since their last claim. Writing `claimed = due` instead of `claimed += due` conflates \"the amount of THIS payout\" with \"the cumulative total ever paid\" — two different quantities that only coincide on a user's very first claim. [continues]","rootCause",1],["43034-h-12-sender-transferring-giantmevandfeespool-tokens-can-afte","Stakehouse Protocol — transferring GiantMevAndFeesPool tokens leaves claimed[] high, DoS-ing the sender and orphaning future rewards","audit-finding","AuditVault","2022-11",null,["vuln/logic/reward-calculation","vuln/logic/dos-resistance"],["logic"],"Incomplete transfer accounting for cumulative claimed ledger","high","Stakehouse Protocol — `GiantMevAndFeesPool` / GiantLP transfer hooks",null,"`claimed[]` is a cumulative absolute amount, not a per-share rate. When LP balance drops, the absolute claimed figure must be scaled down (or the design must use per-share claimed). Leaving it high makes; underflow whenever `entitlement(newBalance) < claimed`.","rootCause",1],["43031-h-08-function-withdraweth-from-giantmevandfeespool-can-steal","Stakehouse Protocol — withdrawETH from GiantMevAndFeesPool can steal most of the ETH because idleETH is reduced before burning the LP token","audit-finding","AuditVault","2022-11",null,["vuln/logic/wrong-condition","vuln/accounting/reward-inflation","vuln/logic/instruction-ordering"],["logic","accounting"],"Wrong instruction order: an accounting decrement runs before the hook whose formula depends on it","high","Stakehouse Protocol — `GiantMevAndFeesPool` / `GiantPoolBase` (liquid staking, \"Giant Pool\" aggregator)",null,"`totalRewardsReceived()` is meant to answer \"how much ETH has this contract received from MEV/fees, excluding depositors' idle principal?\" It computes that by subtracting `idleETH` from the contract's balance. But `withdrawETH` decrements `idleETH` for the FULL withdrawal amount before the burn's reward-accrual hook (`updateAccumulatedETHPerLP`) reads `totalRewardsReceived()`. [continues]","rootCause",1],["43027-h-04-unstaking-does-not-update-the-mapping-sethuserclaimfork","Stakehouse Syndicate.unstake leaves the reward claim-debt snapshotted at the pre-unstake balance","audit-finding","AuditVault","2022-11",null,[],["untagged"],null,null,null,null,"`Syndicate` uses the standard MasterChef-style reward-debt accounting: `sETHUserClaimForKnot` is the \"already-credited\" debt. It is re-snapshotted on every stake/claim to `accPerShare * currentStakedBalance`. In `unstake` the order of operations is: 1. `_claimAsStaker(...)` (line 257) pays out the ETH owed and snapshots the debt at `accPerShare * the full pre-unstake balance`. [continues]","rootCause",1],["2022-11-UEarnPool","UEarnPool Exploit — Self-Referral claimTeamReward() Inflation Drain","incident","DeFiHackLabs","2022-11","BNB Chain",["vuln/logic/reward-calculation","vuln/access-control/fake-account-substitution"],["logic","access-control"],"Sybil/self-referral reward inflation — `teamAmount` accounting decoupled from the actual stake that earns it",null,null,"~$2.24M of protocol USDT siphoned in-tx","The reward is paid for referral volume that is double/N-counted by design and never required to be real. Four design decisions compose into a critical drain: 1. Team volume is replicated, not shared. `_addTeamAmount` adds the *full* stake to every upline's `teamAmount`, so one 2.4M deposit makes 20 different accounts simultaneously \"level-3 qualified.\" The reward function treats each of those qualifications as independent and payable. 2. The \"own stake\" gate is trivially small. [continues]","rootCause",1],["19123-yield-ninja-withdraw-accounting","Yield Ninja withdraw accounting — AuditVault 19123","audit-finding","AuditVault","2022-11",null,["vuln/logic/incorrect-state-transition","vuln/arithmetic/precision-loss"],["logic","arithmetic"],null,null,null,null,"withdraw burns shares but fails to debit the corresponding assets.","tldr",1],["20308-zerem-unlock-exponent","Zerem unlockExponent handling — AuditVault 20308","audit-finding","AuditVault","2022-11",null,["vuln/dos/frozen-funds","vuln/arithmetic/precision-loss"],["dos","arithmetic"],null,null,null,null,"The unlock calculation only behaves as intended for exponent one; other exponents leave funds locked.","tldr",1],["2022-10-MEVa47b","0x0000…a47b1 MEV Bot Exploit — Unauthenticated receiveFlashLoan Drains Idle WETH","incident","DeFiHackLabs","2022-10","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control on a flash-loan callback (unauthenticated `receiveFlashLoan` executor)",null,null,"187.56 WETH","The bot's `receiveFlashLoan` is a public, calldata-driven executor with no initiator authentication. It transfers its own funds and routes swap proceeds to an address taken verbatim from attacker-supplied `userData`. Four facts compose into the loss: 1. No initiator check. Balancer's `flashLoan(recipient, …)` lets anyone name the bot as recipient and pass arbitrary `userData`. The bot did not verify the loan was self-initiated by its operator. 2. `userData` is fully trusted. [continues]","rootCause",1],["2022-10-ATK","ATK (\"Journey of Awakening\") Exploit — Spot-Price getPrice() Manipulation via Flash-Loaned Reserve Drain","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"Spot-price oracle manipulation — `getPrice()` reads instantaneous pool balances; flash-loan drains one side mid-transaction",null,null,"~$127K","The single defect is that a security-critical price is read from instantaneous AMM reserves with zero manipulation resistance, and that price gates the size of value transfers (reward payouts). Uniswap-V2 / PancakeSwap pairs price assets purely from their current reserves; those reserves are *designed* to be moved by anyone, intra-block, including via flash-loans where the pair lends its own reserves and expects repayment in the same call. [continues]","rootCause",1],["2022-10-BabySwap","BabySwap SwapMining Exploit — Router-Reported Swap Volume Forged via a Fake Factory","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/oracle/price-manipulation","vuln/logic/missing-validation","vuln/logic/price-calculation"],["oracle","logic"],"Trusted-input integrity — privileged callee (`SwapMining`) trusts an attacker-controllable `amount` reported by the router, enabling forged swap-volume → unbounded liquidity-mining rewards",null,null,"24,245.02 USDT","The exploit is a textbook trust-boundary violation between two contracts that should not trust each other's inputs, made exploitable by a router that delegates reserve/price computation to caller-chosen contracts. 1. `SwapMining.swap()` accepts an unverified `amount`. The reward weight is derived from a number that the privileged caller (router) merely *relays* from untrusted aggregation inputs. [continues]","rootCause",1],["2022-10-BEGO","BEGO (BGeoToken) Exploit — Signature-Gated mint() Bypassed With Empty Signature Arrays","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/auth/signature-validation","vuln/access-control/missing-auth"],["auth","access-control"],"Broken access control / signature-verification bypass — unauthorized `mint()` via empty signature arrays",null,null,"~12.04 WBNB","The contract conflates \"the signature arrays are *consistent*\" with \"the signature arrays are *sufficient*\". Three independent default-true behaviors compound into a full authorization bypass: 1. `checkSignParams` accepts empty arrays. It only checks that the three arrays have equal length; it never checks `length > 0` or `length >= requiredSignerThreshold`. `(0 == 0) && (0 == 0)` is `true`. 2. The recovery loop is bounded by the attacker-controlled array length. [continues]","rootCause",1],["42876-h-01-standardpolicyerc1155sol-returns-amount-1-instead-of-am","Blur — StandardPolicyERC1155 hardcodes matched amount to 1","audit-finding","AuditVault","2022-10",null,["vuln/logic/wrong-condition","vuln/nft/amount-mismatch"],["logic","nft"],"Wrong match amount / under-delivery of ERC1155","high","Blur Exchange",null,"The ERC1155 matching policy was written as a transfer smoke-test and never wired the order’s `amount` field into the match result. Downstream execution trusts the policy’s amount for the NFT leg while still settling the quoted price.","rootCause",1],["2022-10-Carrot","Carrot Token Exploit — Arbitrary transReward() Hijacks the Reward Pool to Bypass transferFrom Allowance","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-allowance","vuln/dependency/unsafe-external-call"],["access-control","logic","dependency"],"Arbitrary external call (access-control bypass) → fee-exemption flag abuse → allowance-check bypass on `transferFrom`",null,null,"~$31,318","Three independent design errors compose into a full theft: 1. Unauthenticated arbitrary external call. `transReward(bytes)` is a public proxy that forwards attacker-controlled calldata to a privileged external contract (the Pool). This is a textbook arbitrary-call sink: the attacker can invoke *any* Pool method, including its ownership transfer (`0xbf699b4b`). 2. A trust decision keyed on a cheaply-mutable external value. [continues]","rootCause",1],["2022-10-EFLeverVault","EFLeverVault Exploit — Direct flashLoan(0x2) Inflate-Balance Drain","incident","DeFiHackLabs","2022-10","Ethereum",["vuln/access-control/missing-auth","vuln/reentrancy/cross-contract"],["access-control","reentrancy"],"Unauthenticated flash-loan recipient callback (`receiveFlashLoan`) + balance-based payout (`to_send = address(this).balance`) that ignores share accounting",null,null,"~480 ETH","Three independent design failures compose into the drain: 1. The flash-loan callback is public and trusts `userData`. `receiveFlashLoan` is Balancer's standard callback signature; the only guard is `msg.sender == balancer`. The intended design is *\"the vault always loans to itself\"*, but Balancer lets *any* address pass `recipient = vault`. There is no nonce, no signature, no EIP-712 authorization tying a flash-loan call to a particular deposit/withdraw request. [continues]","rootCause",1],["2022-10-HEALTH","HEALTH Token Exploit — Permissionless Per-Transfer Pool-Reserve Burn","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/defi/slippage","vuln/oracle/spot-price","vuln/access-control/missing-auth"],["defi","oracle","access-control"],"Broken AMM invariant — token `_transfer` burns from the pair on *every* transfer and `sync()`s, deflating one reserve uncompensated",null,null,"16.64 WBNB","A Uniswap-V2/PancakeSwap pair prices assets purely from its reserves; `sync()` exists so the pair can adopt its real token balances after legitimate inflows. `_transfer` weaponizes that trust: It destroys HEALTH held by the pair (`_balances[pair] -= burnValue`) and immediately calls `pair.sync()`, telling the pair \"your HEALTH reserve is now smaller.\" No WBNB leaves the pair. `k` collapses step by step, and the price of HEALTH (in WBNB) climbs — for free, callable by anyone, even with a 0-value transfer. [continues]","rootCause",1],["2022-10-HPAY","HPAY (Hedge Pay) Exploit — Unprotected setToken() Lets Anyone Restake Junk and Withdraw Real HPAY","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/access-control/missing-modifier","vuln/access-control/missing-auth"],["access-control"],"Missing access control on a critical setter → token confusion (stake worthless token, withdraw valuable token)",null,null,"~114.43 WBNB drained from the HPAY/WBNB PancakeSwap pair in the simplified PoC","Two independent design errors compose into a critical theft: 1. Missing access control on `setToken`. It should have been `onlyRole(DEFAULT_ADMIN_ROLE)` like every sibling setter. Being `public` lets *any* address atomically retarget the pool's staking and reward token. 2. Token-agnostic accounting. The `_balances`/`_totalSupply` ledger tracks bare integers with no record of *which* asset minted each unit. [continues]","rootCause",1],["2022-10-INUKO","INUKO / SIG Bond Exploit — Flash-Loan LP Mispricing via balanceOf-based Valuation","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Flash-loan price/oracle manipulation — LP valuation reads live `balanceOf(pair)` instead of `getReserves()`/TWAP",null,null,"≈ $18.4K","A bond/lending program that values collateral on-chain must use a manipulation-resistant price. `Bond` instead uses the single most manipulable quantity available — the live ERC-20 `balanceOf` of an AMM pair — and amplifies it by `×2 / totalSupply`. Four design flaws compose into the exploit: 1. `balanceOf`-based LP valuation. `LpToToken` reads `USDT.balanceOf(pair)`. [continues]","rootCause",1],["2022-10-Market","Market.xyz / Hundred-clone Exploit — Curve LP Read-Only Reentrancy Inflates Collateral Price","incident","DeFiHackLabs","2022-10","Polygon",["vuln/reentrancy/read-only","vuln/oracle/price-manipulation"],["reentrancy","oracle"],"Read-only reentrancy → stale-`D` / fresh-`totalSupply` virtual-price inflation → lending oracle collateral overpricing",null,null,"~$180k","A Compound/Fuse-style money market computed the USD value of LP-derived collateral by reading an instantaneous, manipulable view (`get_virtual_price`) on a Curve pool, and that view is not safe to read while the pool is mid-`remove_liquidity`: 1. Burn-before-settle ordering. Curve reduces LP `totalSupply` (the price denominator) at the very start of `remove_liquidity`, but only updates `self.D` (the numerator basis) after transferring coins out. 2. A reentrancy handoff in between. [continues]","rootCause",1],["18108-lack-of-contract-existence-check-on-transfer-transferfrom-ca","Meson credits a codeless transferFrom and then pays out 1000 real USDC","audit-finding","AuditVault","2022-10","Ethereum",["vuln/input-validation/missing","vuln/dependency/unchecked-return-value","vuln/logic/missing-check"],["input-validation","dependency","logic"],"Low-level `call` success on an account with no code",null,null,"1000 USDC","`success` from `call` is not evidence that a contract ran. Combined with \"empty returndata means success\", a codeless address is indistinguishable from a token whose `transferFrom` returns nothing. The credit is increased off that boolean alone.","rootCause",1],["18109-usdt-transfers-to-third-party-contracts-will-fail-trailofbit","Meson release to a contract reverts on USDT and leaves 1,000 USDT stuck","audit-finding","AuditVault","2022-10","Ethereum",["vuln/dependency/unsafe-external-call","vuln/dos/frozen-funds","vuln/logic/missing-allowance"],["dependency","dos","logic"],"High-level `increaseAllowance` against a USDT-like token that returns no bool",null,null,"1,000 USDT","The release path assumes every supported token implements OpenZeppelin's `increaseAllowance` and returns a bool. USDT does neither. The transfer to the contract is reverted, not completed. A later deployment switched this call to `approve`, which is what the report recommended. This reduction keeps the audited call.","rootCause",1],["18099-hash-collisions-in-untyped-signatures-trailofbits-meson-prot","Meson untyped signatures — one digest authorizes two swap layouts","audit-finding","AuditVault","2022-10","Ethereum",["vuln/auth/signature-validation","vuln/auth/signature-replay","vuln/logic/missing-validation"],["auth","logic"],"Untyped eth_sign over a 32-byte word shared by request and release",null,null,"1,000.000000 USDC released to the attacker","The encoding is not injective across message types. Any `swap1`, `swap2`, and `recipient` with `swap1 = keccak256(abi.encodePacked(swap2, recipient))` share one eth_sign digest. The signer authorizes swap1's fields. `release` pays swap2's locked net to whatever recipient completes the collision.","rootCause",1],["2022-10-MulticallWithoutCheck","Multicall multicallWithoutCheck() — Unauthenticated Arbitrary-Call Drain","incident","DeFiHackLabs","2022-10","Polygon",["vuln/access-control/missing-auth","vuln/dependency/unsafe-external-call"],["access-control","dependency"],"Missing access control + arbitrary external call (`address.call` with attacker-controlled `target`/`callData`)",null,null,"619.748460 USDT drained from the `Multicall` contract","A raw low-level `call` with caller-controlled `target` and `callData`, executed from a contract that holds assets, is equivalent to handing the caller the contract's private key for the duration of that call. The standard Solidity protections (only the contract itself can move its own tokens) become meaningless, because the attacker *is* directing the contract. The contract held a non-zero ERC20 balance (619.748460 USDT). The combination — [continues]","rootCause",1],["2022-10-N00d","n00d (SushiBar fork) Exploit — ERC777 Reentrancy via Stale totalSushi Share Inflation","incident","DeFiHackLabs","2022-10","Ethereum",["vuln/reentrancy/single-function","vuln/arithmetic/precision-loss"],["reentrancy","arithmetic"],"Read-only/state reentrancy → share-price inflation via the ERC777 `tokensToSend` hook firing before balances settle",null,null,"20.668 WETH drained from the n00d/WETH Uniswap-V2 pair","The bug is a checks-effects-interactions violation that becomes exploitable only because the underlying token is ERC777: 1. `enter()` updates `totalShares` (via `_mint`) before it updates `totalSushi` (via `transferFrom`). The share-price denominator (`totalSushi`) and numerator (`totalShares`) are therefore momentarily inconsistent during the call. 2. ERC777 turns `transferFrom` into an external call to attacker code, executed before balances move. [continues]","rootCause",1],["2022-10-OlympusDao","OlympusDAO BondFixedExpiryTeller Exploit — Unverified Bond-Token in redeem() Drains the Teller","incident","DeFiHackLabs","2022-10","Ethereum",["vuln/access-control/missing-validation","vuln/logic/missing-check"],["access-control","logic"],"Missing input validation / arbitrary-callee — caller-supplied \"bond token\" is trusted without verifying it was issued by the teller",null,null,"~$292K","A teller that custodies collateral must treat the bond-token contract as its own trusted component, not as user input. `redeem()` inverts that trust: It lets the redeemer name the contract that decides (a) whether the bond is matured, (b) how much of the caller's position to burn, and (c) which underlying asset to pay out — and then transfers real collateral based on those self-reported answers. Three composing design decisions turn this into a direct, unconditional drain: 1. No provenance check on `token_`. [continues]","rootCause",1],["57634-eth-can-get-stuck-on-the-contract-zokyo-none-onemind-markdow","Onemind FeePayer: ignored call success sticks the mint fee","audit-finding","AuditVault","2022-10",null,["vuln/dependency/unchecked-return-value"],["dependency"],null,null,null,null,"`FeePayer.handleMintFee` sends `msg.value` to the fee receiver and ignores the boolean returned by `call`. A reverting receiver does not revert the mint, and the ETH remains on FeePayer.","rootCause",1],["57636-royalties-might-get-stuck-on-the-contract-zokyo-none-onemind","Onemind PlatformAuction: unpaid royalty is still subtracted from price","audit-finding","AuditVault","2022-10",null,["vuln/dos/frozen-funds"],["dos"],null,null,null,null,"`_calculateRoyalty` returns `address(0)` when `collectionOwner` has been renounced. `_currencyTransfer` returns false for the zero address. `handleRoyalties` still subtracts the royalty from the price, so that value stays in the auction. On a 1,000 SALE sale the royalty is 100 SALE. The seller receives 900 SALE. The auction keeps 100 SALE.","rootCause",1],["2022-10-PLTD","PLTD Exploit — _bron Sell-Accumulator Burns From the Pool, Breaking x·y = k","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/defi/slippage","vuln/oracle/spot-price","vuln/logic/incorrect-order-of-operations"],["defi","oracle","logic"],"Reflection-token deflation logic burning tokens out of the AMM pair + `sync()`, breaking the constant-product invariant",null,null,"24,497.86 USDT","A PancakeSwap/Uniswap-V2 pair prices assets purely from its reserves and only enforces `x·y ≥ k` *inside `swap()`*. `sync()` exists so the pair can adopt whatever its token balances currently are — it trusts that those balances only move through `mint`/`burn`/`swap`/legitimate transfers. `PLTD` violates that trust directly: [continues]","rootCause",1],["2022-10-RabbyWallet_SwapRouter","Rabby Wallet SwapRouter Exploit — Arbitrary External Call Drains Pre-Approved User Funds","incident","DeFiHackLabs","2022-10","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-validation"],["dependency","access-control"],"Arbitrary external call with attacker-controlled target + calldata, executed with the router's own `msg.sender` authority",null,null,"~$200,000 across all tokens & victims","A swap router that holds users' approvals must only ever make calls to vetted, hard-coded DEX contracts with router-built calldata. Rabby's router instead: 1. Lets the caller pick the call target. `dexRouter` is a free `address` parameter that the router `.call`s. The attacker set it to the USDC token contract. 2. Lets the caller supply the calldata. `data` is forwarded verbatim. The attacker supplied `transferFrom(victim, attacker, balance)`. 3. Executes that call with its own identity. [continues]","rootCause",1],["2022-10-RES_exp2","RES Token Exploit — Permissionless thisAToB() Pool-Reserve Burn Breaks x·y = k","incident","DeFiHackLabs","2022-10","BNB Chain",[],["untagged"],"Broken AMM invariant — a token's `_burn(pool, …)` + `pair.sync()` deletes one side of the reserves with no compensating outflow",null,null,"~$290,671 USDT across both attack txs","The routine conflates \"burn the contract's own RES\" with \"burn RES that lives in the LP\", and it executes both a swap-through-the-pool and a burn-from-the-pool on the same `burnNumber`. Concretely: The swap deposits `burnNumber` RES into the USDT/RES pair and pulls out an equivalent USD value of USDT (which flows on to the USDT/ALL pair). The subsequent `_burn(_swapV2Pair, burnNumber)` removes *exactly* that deposited RES again, and `sync()` ratifies it. [continues]","rootCause",1],["2022-10-RES","RES Token Exploit — Self-Burn-From-Pool + sync() Breaks the AMM Invariant","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/defi/slippage","vuln/oracle/spot-price","vuln/logic/incorrect-order-of-operations"],["defi","oracle","logic"],"Broken constant-product AMM invariant via an *un-compensated* `_burn(pool, …)` + `pair.sync()` (token burns its own liquidity reserve)",null,null,"~$290,671 USDT","A Uniswap-V2/PancakeSwap pair derives price purely from its reserves and only checks `x·y ≥ k` *inside `swap()`*. `sync()` exists to let the pair re-read its true token balances; it trusts that balances only change via `mint`/`burn`/`swap`/transfers the pair can reason about. `_thisAToB` violates that trust: It destroys RES held by the pair (`_burn(_swapV2Pair, burnNumber)`) and then calls `pair.sync()`, telling the pair \"your RES reserve is now this much smaller.\" No USDT leaves the pair. [continues]","rootCause",1],["2022-10-RL","RL (RealLand) Exploit — LP-Incentive Airdrop Drained via Reusable LP Position","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/logic/reward-calculation","vuln/access-control/missing-auth","vuln/oracle/spot-price"],["logic","access-control","oracle"],"Reward accounting computed from instantaneous LP `balanceOf` with no snapshot/lock — a single LP position is re-counted for unlimited fresh claimants",null,null,"9,078.61 USDT net profit to the attacker","The reward owed to an address is `(globalIndex − userIndex) × lpBalanceNow`. Two design flaws combine: 1. The LP balance is read transiently, not escrowed. A correct liquidity-mining contract takes custody of the LP (`stake`/`deposit`) and tracks per-user staked amounts itself, so a unit of LP can only be earning for one address at a time. `RLLpIncentive` instead reads `lpToken.balanceOf(user)` at the moment of the call. [continues]","rootCause",1],["2022-10-TeamFinance","Team Finance Exploit — migrate() Burns Other People's Locked LP via an Unvalidated pair Parameter","incident","DeFiHackLabs","2022-10","Ethereum",["vuln/logic/missing-validation","vuln/access-control/missing-check"],["logic","access-control"],"Missing authorization / parameter validation — caller-supplied `pair` decoupled from the deposit being migrated",null,null,"~$15.8M","The deposit identifier `_id` and the asset to be migrated (`params.pair`) were two independent inputs with no enforced relationship: `LockToken.migrate()` checked (at most) that `msg.sender` was authorized for `_id`, but it never required `params.pair == lockedToken[_id].tokenAddress`. [continues]","rootCause",1],["2022-10-Templedao","TempleDAO StaxLPStaking Exploit — Access-Control-Free migrateStake() Pool Drain","incident","DeFiHackLabs","2022-10","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/missing-validation"],["access-control"],"Missing access control / broken trust assumption on an attacker-supplied address (`oldStaking`)",null,null,"~$2.3M","`migrateStake` encodes a *trust assumption* that the designers never enforced: \"The address passed as `oldStaking` is a legitimate predecessor StaxLPStaking whose `migrateWithdraw` has just transferred `amount` of `stakingToken` into this contract on the caller's behalf.\" That assumption is false on two counts, either of which alone is sufficient: `oldStaking` is not validated. Nothing checks that `oldStaking` is the registered migrator, is a contract the DAO controls, or even is a `StaxLPStaking` at all. [continues]","rootCause",1],["2022-10-TransitSwap","Transit Finance Exploit — Arbitrary transferFrom via Unvalidated Swap Owner","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/logic/missing-validation","vuln/access-control/missing-check"],["logic","access-control"],"Missing owner/`msg.sender` validation on a swap path that calls `transferFrom`; arbitrary-token arbitrary-amount pull from any user holding an allowance",null,null,"~$21M total","`ERC20.transferFrom(owner, to, amount)` authorizes the pull purely on the `allowance[owner][spender]` mapping. It does not know or care who issued the pull — that is the caller's responsibility. The `spender` here is the `ClaimTokens` contract, and any prior Transit user had a standing large allowance to it. The Transit router should have enforced the invariant: [continues]","rootCause",1],["2022-10-Uerii","UERII Token Exploit — Public, Unauthenticated mint() Inflates Supply and Drains the Liquidity Pool","incident","DeFiHackLabs","2022-10","Ethereum",["vuln/access-control/missing-auth","vuln/arithmetic/overflow"],["access-control","arithmetic"],"Missing access control on a token mint function (privilege escalation → unlimited inflation)",null,null,"~$2,500","A token's `mint` operation is a privileged action: it creates value from nothing and directly dilutes every holder and every liquidity pool. The standard pattern is to gate it behind `onlyOwner`, a `MINTER_ROLE`, or to make minting impossible after deployment. UERII's author shipped a `mint()` that is `public` with no caller restriction whatsoever. This is a textbook missing access control / broken privilege escalation bug: [continues]","rootCause",1],["2022-10-ULME","ULME Token Exploit — Permissionless buyMiner() Spends Anyone's Pre-Approved USDT","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Missing authorization on a third-party-funded swap (`transferFrom(user, …)` without the caller being `user` or holding `user`'s approval) — i.e. allowance abuse / unauthorized spending, amplified by a self-sandwich",null,null,"~$250,818 of victim USDT pulled in this replay","`buyMiner` confuses *\"who approved the token contract\"* with *\"who authorized this specific spend.\"* In ERC-20, an allowance from `user` to the ULME contract means \"the ULME contract MAY move my USDT\" — it does not mean \"any third party who can reach a function inside the ULME contract may direct that movement.\" By exposing `user` as a free parameter on a permissionless function, ULME effectively lets anyone act as the spender of every approver's USDT. [continues]","rootCause",1],["2022-10-ULME_exp2","ULME Token Exploit — Permissionless buyMiner() Spends Victims' USDT Allowances","incident","DeFiHackLabs","2022-10","BNB Chain",[],["untagged"],"Missing access control on a token-spending function (arbitrary `transferFrom` of third-party allowances)",null,null,"250,817.77 USDT drained from 100 approved holders","`buyMiner` is an unauthenticated, third-party-allowance-spending function. It lets an arbitrary caller move `transferFrom(user, address(this), …)` for any `user`, monetizing the standing USDT allowances that presale participants granted to the token contract. The standard, safe pattern is `transferFrom(msg.sender, …)` (spend the *caller's* tokens) or an explicit on-behalf-of authorization. ULME instead spends `user`'s tokens while accepting `user` as a free parameter from an unauthenticated caller. [continues]","rootCause",1],["2022-10-VTF","VTF (Victor the Fortune) Exploit — Compounding Time-Based Mint via Self-Service updateUserBalance()","incident","DeFiHackLabs","2022-10","BNB Chain",["vuln/logic/reward-calculation","vuln/access-control/missing-auth"],["logic","access-control"],"Inflationary accounting bug — permissionless, compounding time-based mint; reward accrual decoupled from any cap or authorization",null,null,"≈ 58,419 USDT","The protocol meant \"hold VTF, earn 1%/day\" as a *gentle inflationary reward* for genuine, long-lived holders. Four design decisions compose into a critical, instant, repeatable theft: 1. Reward accrual is realized by a permissionless function with an attacker-chosen target. `updateUserBalance(address _user)` mints to *any* `_user` and is callable by anyone. There is no `onlyOwner`/keeper gate and no check that `msg.sender == _user`. The attacker drives the entire reward machine directly. [continues]","rootCause",1],["2022-10-XaveFinance","Xave Finance Exploit — SafeSnap / Reality DaoModule Permissionless Governance Takeover","incident","DeFiHackLabs","2022-10","Ethereum",["vuln/access-control/missing-auth","vuln/governance/timelock-bypass"],["access-control","governance"],"Broken access control / misconfigured governance — the module's \"DAO vote\" is a self-answerable Reality question with a 1-second timeout and zero minimum bond, executable by anyone",null,null,"100,000,000,000,000 RNBW minted to the attacker","This is not a code bug in the SafeSnap module logic per se; it is a catastrophic misconfiguration of an otherwise-sound governance module, layered on top of a design that gives anyone the right to ask and answer questions. The security of a Reality-governed Safe rests on four parameters, and Xave nullified all of them simultaneously: The `DaoModule` will execute *any* Safe transaction whose Reality question answers `TRUE`. [continues]","rootCause",1],["2022-09-BadGuysbyRPF","Bad Guys by RPF Exploit — Unbounded chosenAmount in WhiteListMint() (Per-Wallet Mint Limit Bypass)","incident","DeFiHackLabs","2022-09","Ethereum",["vuln/logic/missing-check","vuln/input-validation/boundary"],["logic","input-validation"],"Business-logic flaw — missing per-mint / per-wallet quantity cap (the `chosenAmount` parameter is fully attacker-controlled and only bounded by the *global* supply limit)",null,null,"~400 NFTs minted in a single tx by one address that should have been capped at 1","The contract conflates two different limits and only enforces one of them: \"Is this address allowed to mint?\" is answered (Merkle proof + `_numberMinted < 1`). \"How many is this address allowed to mint?\" is *never* answered against a per-wallet limit. `chosenAmount` is a plain `uint256` calldata parameter under full control of the caller, and the function uses it both as \"how many to mint\" and as the thing the global supply check is run against. [continues]","rootCause",1],["2022-09-MEVbadc0de","BADCODE MEV Bot Exploit — Unauthenticated dYdX callFunction Callback Drained to a Max Approval","incident","DeFiHackLabs","2022-09","Ethereum",["vuln/access-control/missing-auth","vuln/dependency/unchecked-return-value"],["access-control","dependency"],"Unauthenticated callback / missing `msg.sender` & account-owner validation on an `ICallee.callFunction` handler → arbitrary `approve`",null,null,"1101.359974579155257683 WETH","The bot exposed `callFunction` as a public, unauthenticated entry point that executes attacker-supplied instructions against itself. dYdX's `Call` action is a *general-purpose, permissionless* way to invoke `callFunction(sender, accountInfo, data)` on any address with any `data`. Combining the two: Anyone can call `dYdX.operate([myAccount], [Call → bot, data=approve(me, max)])`. dYdX dutifully calls `bot.callFunction(me, (me,1), approve-payload)`. The bot trusts the payload and approves the attacker. [continues]","rootCause",1],["2022-09-BNB48MEVBot","BNB48 MEV Bot Exploit — Unprotected pancakeCall Callback Drains the Bot's Inventory","incident","DeFiHackLabs","2022-09","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control on a flash-swap callback (`pancakeCall`) — caller / `token` / recipient all attacker-controlled",null,null,"~$144K","The bot conflated \"this function is named like a pair callback\" with \"this function is only ever called by a pair.\" Every value it acted on was attacker-controlled: 1. No authentication of `msg.sender`. A correct flash-swap consumer recomputes the canonical pair address from the factory + token pair and `require`s `msg.sender == pair`. The bot skipped this, so the \"pair\" was just the attacker's contract. 2. `token0()` / `token1()` were read from `msg.sender`. [continues]","rootCause",1],["2022-09-BXH","BXH Exploit — Spot-Price Bonus Payout Manipulated via Flash-Loan","incident","DeFiHackLabs","2022-09","BNB Chain",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack","vuln/logic/reward-calculation"],["oracle","governance","logic"],"Spot-price (AMM reserve) oracle manipulation → reward over-valuation",null,null,"~31,638 USDT net attacker profit","The bonus payout treats the BXH/USDT pair's current reserve ratio as a trustworthy price oracle. Three compounding decisions make this fatal: 1. Spot reserves, not a TWAP/oracle. `getITokenBonusAmount` reads `getReserves()` at the exact moment of the call (:1605). Anyone who can move those reserves within a transaction controls the payout price. A flash loan moves them for free for one transaction. 2. The \"convert reward → bonus token\" valuation pays out real funds. [continues]","rootCause",1],["2022-09-DPC","DPC (DARK_POOL) Exploit — claimStakeLp Self-Compounds the LP Reward Quota (Geometric Doubling)","incident","DeFiHackLabs","2022-09","BNB Chain",["vuln/logic/reward-calculation","vuln/logic/incorrect-state-transition"],["logic"],"Reward-accounting error — accrual function adds its own output back into the running total without advancing the time anchor, causing geometric self-compounding of an airdrop/LP-reward quota",null,null,"Attacker turns 2 BNB → 11.87 WBNB, i.e","The accrual total is stored in two overlapping places that get added together. `getClaimQuota()` is meant to be a *view* that returns `accrued_since_checkpoint + already_banked`. The checkpoint functions (`stakeLp`, `claimStakeLp`) are supposed to \"bank\" the freshly-accrued slice by adding only the time component to `oldClaimQuota`. Instead they add the entire return value of `getClaimQuota` — which already contains `oldClaimQuota` — back into `oldClaimQuota`: [continues]","rootCause",1],["19345-low-totallocked-may-result-in-guild-takeover-sigmaprime-none","DXdao guild — one wei of lock spends the treasury","audit-finding","AuditVault","2022-09",null,["vuln/governance/proposal-manipulation"],["governance"],null,null,"DXdao ERC20Guild",null,"Majority is a fraction of whatever is currently locked. When that base is 1 wei, 1 wei is a majority. The transfer does not ask whether the locked base is large enough to represent the guild.","rootCause",1],["19347-zero-totallocked-allows-everyone-to-create-proposals-sigmapr","DXdao guild — zero totalLocked lets a stranger pass a paying proposal","audit-finding","AuditVault","2022-09",null,["vuln/governance/proposal-manipulation"],["governance"],null,null,"DXdao ERC20Guild",null,"The minimum is a percentage of the current locked base. A zero base produces a zero minimum. The comparison `0 >= 0` succeeds, so the proposal pays out.","rootCause",1],["17366-funding-payments-are-made-in-the-wrong-token-trailofbits-inc","Funding is paid in vBase instead of UA","audit-finding","AuditVault","2022-09","Ethereum",["vuln/logic/incorrect-calculation","vuln/logic/accounting"],["logic"],"vBase funding notional is settled without the index conversion into UA",null,null,"Alice receives 0.05 vBase and 0 UA instead of 1,000 UA","A funding rate times a vBase amount is not a UA amount. The index price is the missing factor. The clearing house never reads it before settlement, so the user's quote balance is wrong by that factor. Here the factor is 20,000.","rootCause",1],["2022-09-NewFreeDAO","NewFreeDAO (NFD) Exploit — Stateless, Self-Resetting Reward Lets a Borrowed Balance Be Compounded 50×","incident","DeFiHackLabs","2022-09","BNB Chain",["vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],"Broken reward accounting — stateless, externally-resettable per-caller cost basis enabling unbounded reward farming with borrowed (flash-loaned) principal",null,null,"~125M USD headline","The reward contract conflates \"how much you hold right now\" with \"how much you have earned the right to be paid for.\" Three design decisions compose into the bug: 1. Stateless principal. Reward is `≈ 8.32% × balanceOf(caller)` evaluated at call time, against a *spot* balance, not a recorded/locked stake. A balance acquired one instruction earlier (via swap or flash loan) is treated identically to a long-held position. 2. Per-caller, externally-resettable rate limit. [continues]","rootCause",1],["2022-09-NXUSD","NXUSD / Nereus Protocol Exploit — LP-Token Oracle Manipulation Drains a Cauldron Lending Market","incident","DeFiHackLabs","2022-09","Avalanche",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Price-oracle manipulation — instantaneous (single-block, flash-loan-funded) inflation of a Uniswap-V2-style LP token used as lending collateral",null,null,"~$371,406","The NXUSD Cauldron market priced its USDC/WAVAX LP collateral from the pool's *instantaneous* reserves (`getReserves()` + `totalSupply`) valued by spot Chainlink prices — a formula that any swap can move within a single block. There was no use of the constant-product invariant `sqrt(k)`, no TWAP, and no sanity bound on the cached `exchangeRate`. A flash-loan-funded swap inflated the LP unit price ~200,000×, letting the attacker borrow ~$1M of NXUSD against ~$0.5 of true collateral. Three composing decisions: [continues]","rootCause",1],["2022-09-RADT","RADT (RADT-DAO / \"Dream plan\" TWN) Exploit — Permissionless Reward withdraw() Drains the LP Pair's Token Reserve","incident","DeFiHackLabs","2022-09","BNB Chain",["vuln/access-control/missing-auth","vuln/defi/slippage"],["access-control","defi"],"Permissionless external \"reflection/reward\" hook that can move *any* holder's balance — used to drain the LP pair's reserve (broken AMM invariant)",null,null,"~$89,012","A reflection token must, by design, be able to move balances *on behalf of* holders to pay out reflections. RADT implemented that by (a) routing every transfer through an external WRAP contract and (b) giving that WRAP an unrestricted `_transfer(from, to, amount)` callback into the token. The two together would only be safe if the WRAP itself were tightly controlled. It was not: `WRAP.withdraw(from, to, amount)` is a public function with no caller check and no exclusion of the AMM pair. [continues]","rootCause",1],["2022-09-ROI","ROI Token Exploit — Missing onlyOwner on transferOwnership → Reflection-Accounting Mint","incident","DeFiHackLabs","2022-09","BNB Chain",["vuln/access-control/missing-owner-check","vuln/logic/state-update"],["access-control","logic"],"Broken access control (un-guarded `transferOwnership`) chained with a reflection-token (RFI) accounting flaw",null,null,"~157.98 BNB","Two independent flaws compose into a clean drain: 1. Broken access control (primary). `transferOwnership` lacks `onlyOwner`. Ownership of a live token is a single `transferOwnership(attacker)` call away. Once owner, the attacker can rewrite every fee and toggle every account's reward-exclusion state. 2. Asymmetric reflection bookkeeping (the amplifier). The standard SafeMoon-derived `excludeFromReward`/`includeInReward` pair never reconciles `_rOwned` against `_tOwned` on *re-inclusion*. [continues]","rootCause",1],["2022-09-Shadowfi","ShadowFi (SDF) Exploit — Permissionless burn() Drains the AMM Pair Reserve","incident","DeFiHackLabs","2022-09","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control on a token-burning function → un-compensated AMM reserve burn → broken `x·y = k` invariant",null,null,"1,078.62 WBNB","A Uniswap-V2 / PancakeSwap pair prices assets purely from its reserves and enforces `x·y ≥ k` only inside `swap()`. It assumes token balances can only change in ways it can reason about (mint / burn LP / swap / honest transfers it later `sync`s). A fee-on-transfer token that lets a third party destroy the pair's balance violates that assumption catastrophically: `SDF.burn(pair, …)` deletes SDF held by the pair, and `pair.sync()` then tells the pair \"your SDF reserve is now ~0.\" No WBNB leaves the pair. [continues]","rootCause",1],["2022-09-THB","Thunder Brawl (THB) Exploit — claimReward() Reentrancy via ERC-721 Mint Callback","incident","DeFiHackLabs","2022-09","BNB Chain",["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Classic reentrancy — external mint callback (`onERC721Received`) fires before the win record is cleared (CEI violation); compounded by a permissionless `reward()` mint and on-chain-derivable \"secret\" hashes",null,null,"Reentrant draining of `House_Wallet`'s BNB: the single winning bet of 0.30828 BNB was paid","The core defect is a textbook checks-effects-interactions violation: `claimReward` performs the state-clearing effect (`delete winners[_ID][_player]`) *after* an external interaction (`sendReward()` → `_safeMint` → `onERC721Received`) that yields control to the recipient. While the attacker holds control inside `onERC721Received`, the authorizing record is untouched, so the payout condition `winners[_ID][_player] == _amount` is still satisfied and the function can be re-entered for another `2× amount` payout. [continues]","rootCause",1],["17365-ownership-transfers-can-be-front-run-trailofbits-increment-f","transferPerpOwner can be front-run, then the new perp pulls the reserves","audit-finding","AuditVault","2022-09","Ethereum",["vuln/access-control/missing-auth"],["access-control"],"First caller of an unauthenticated transfer becomes the privileged owner",null,null,"1,000 UA pulled by the front-runner","The function is external and the only state check is that `perp` is still unset. The caller is not required to be the admin, the market, or a pre-committed nominee. The first transaction in the mempool wins the role, and every later claim reverts.","rootCause",1],["57560-issues-with-token-transfers-and-rewards-when-a-marinator-is","Umami MarinateV2: delisted marinator rewards are never collected","audit-finding","AuditVault","2022-09",null,["vuln/dos/frozen-funds"],["dos"],null,null,null,null,"`removeFromContractWhitelist` is permissionless and does not pay the marinator. `_beforeTokenTransfer` then skips `_collect` for any party that is no longer whitelisted. A's pending rewards are never written to `toBePaid`. After A transfers its mUMAMI away, relisting A cannot recover them because A's balance is zero. `totalMultipliedStaked` is also left at 300 while supply is 200, because the delisted sender's stake is not removed and the recipient's receipt is added.","rootCause",1],["2022-09-Yyds","YYDS Exploit — Spot-Price Oracle Manipulation via Flash-Swap Reserve Draining","incident","DeFiHackLabs","2022-09","BNB Chain",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"Spot-price (manipulable AMM-balance) oracle used to size token payouts",null,null,"~$397,942","A Uniswap-V2/PancakeSwap pair's spot reserves are not a safe price oracle: anyone can move them arbitrarily within a transaction (a swap or, here, a flash swap) and they snap back when the loan is repaid. `getPriceOfUSDT()` treats `balanceOf(pair)` as if it were a trusted price, so the price it returns is whatever the attacker last set the reserves to. Concretely, three design decisions compose into a critical bug: 1. Spot-balance oracle. [continues]","rootCause",1],["2022-09-ZoomproFinance","Zoompro Finance (ZOOM) Exploit — Manipulable FakeUSDT Reserve Skews the Zoom→USD Price","incident","DeFiHackLabs","2022-09","BNB Chain",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack","vuln/defi/slippage"],["oracle","governance","defi"],"Price-oracle / AMM-reserve manipulation — protocol prices Zoom against a freely-mintable FakeUSDT reserve that the attacker inflates with a donate + `sync()` before dumping",null,null,"≈ 61,160 USDT extracted in a single flash-loan transaction","The protocol's economic value of `$ZOOM` is denominated in FakeUSDT, and FakeUSDT's pool reserve is attacker-controllable at near-zero cost. Three composable design flaws produce the loss: 1. The pricing asset is mintable/donatable by the attacker. The Batch token's `batchToken()` (L1697) lets the caller push arbitrary FakeUSDT into the FakeUSDT/Zoom pair. Combined with `pair.sync()` (L1711), this rewrites the pool's instantaneous price with no swap and no fee. 2. Pricing is spot-reserve based with no TWAP/oracle. [continues]","rootCause",1],["2022-08-ANCH","ANCH Token Exploit — Reflection Reward Minted on Pair-to-Self skim() Transfers","incident","DeFiHackLabs","2022-08","BNB Chain",["vuln/logic/missing-check","vuln/defi/slippage"],["logic","defi"],"Reflection-token accounting flaw — reward minted on AMM-pair transfers; abusable via `pair.skim()` self-transfers",null,null,"526.17 USDT drained from the ANCH/USDT PancakeSwap pair in this single PoC tx","A reflection token's reward must be funded by a *real* economic event (an actual buy/sell that moves the counter-asset). ANCH instead keys the reward on the identity of one transfer endpoint: \"If the pair is the sender, the counterparty just bought — pay them a reward.\" But \"the pair is the sender\" is true for any pair-originated ERC-20 `transfer`, including the internal transfers performed by `skim()` (and by `sync`/liquidity ops). [continues]","rootCause",1],["2022-08-Circle_exp2","Circle / MakerDAO PSM Exploit — Free Vault Closure via a Pre-Authorized CDP","incident","DeFiHackLabs","2022-08","Ethereum",[],["untagged"],"Mis-administered CDP / leaked vault authority — attacker-owned vault closed for free using a flash loan, then its LP collateral redeemed and arbitraged through the MakerDAO PSM",null,null,"~$151.67K","The loss is the over-collateralization spread of CDP #28311, extractable by its authorized operator at zero cost because: 1. The CDP was over-collateralized in mixed assets. 3.314 UNIV2-DAI-USDC LP backed only 7.314M DAI of debt but contained ~7.465M of underlying (3.733M DAI + 3.732M USDC). Whoever could close the vault for free pockets the ~151.7K USDC difference. 2. The CDP's authority had leaked / been pre-assigned to the attacker (`cdpAllow`), so the attacker could call `frob`/`flux` on it via the manager. [continues]","rootCause",1],["2022-08-DDC","DDC (BananaSwapToken) Exploit — Permissionless handleDeductFee() Pool-Reserve Drain","incident","DeFiHackLabs","2022-08","BNB Chain",["vuln/access-control/missing-auth","vuln/access-control/missing-modifier"],["access-control"],"Missing access control on a balance-mutating function → broken AMM `x·y=k` invariant via an un-compensated reserve burn",null,null,"~$104,625","A Uniswap-V2/PancakeSwap pair prices assets purely from its reserves and only enforces `x·y ≥ k` *inside* `swap()`. `sync()` exists to let the pair adopt its real token balances as reserves — it trusts that balances change only through mint/burn/swap/transfers it can reason about. `BananaSwapToken` gives an attacker a way to silently shrink the pair's DDC balance to ~0 without removing any USDT, then `sync()` it. Concretely, four facts compose into a critical bug: 1. No access control on `handleDeductFee`. [continues]","rootCause",1],["2022-08-EGD_Finance","EGD Finance Exploit — Flash-Loan Spot-Price Oracle Manipulation Inflates Staking Rewards","incident","DeFiHackLabs","2022-08","BNB Chain",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"Spot-price (`balanceOf`-based) DEX oracle manipulated via flash loan",null,null,"~$36,044","A Uniswap-V2/PancakeSwap pair's instantaneous reserves are not a safe price source: any actor can borrow one side of the pool inside a single transaction, read the now-skewed reserves, and unwind — all atomically. `getEGDPrice()` uses exactly those instantaneous reserves, and `claimAllReward()` uses that number as the denominator that converts a USD reward into a token payout. Three design decisions compose into the bug: 1. Spot price as oracle. `getEGDPrice()` = `usdtBalance / egdBalance`, read live. [continues]","rootCause",1],["2022-08-EtnProduct","ETN / EtnProduct Exploit — Protocol-Funded Liquidity Sent to the Caller (addLiquidity → msg.sender)","incident","DeFiHackLabs","2022-08","BNB Chain",["vuln/access-control/broken-logic","vuln/logic/incorrect-state-transition"],["access-control","logic"],"Access-controlled-but-self-grantable role + LP minted to `msg.sender` (protocol funds the pool, caller keeps the LP)",null,null,"~$3,074","Protocol-owned value is provisioned into a pool, but the claim on that value (the LP token) is assigned to the untrusted caller. Combined with an authorization gate (`canUploadProduct`) whose required role is permissionlessly mintable, this lets anyone trigger a 700,000-`U` \"donation\" to a pool they exclusively own, then reclaim it via `pair.burn()`. Two design errors compose into the exploit: 1. Wrong LP recipient (the core bug). `addLiquidity` passes `msg.sender` to the router. [continues]","rootCause",1],["17911-unsafe-integer-conversions-in-fpicontrollerpool-trailofbits","FPIControllerPool casts a full-width FRAX amount to -1000e18 and mints 10,001,000 FPI","audit-finding","AuditVault","2022-08","Ethereum",["vuln/arithmetic/overflow","vuln/logic/missing-check","vuln/logic/fee-calculation"],["arithmetic","logic"],"Unsafe `uint256` to `int256` conversion",null,null,"10,001,000 FPI minted","The cast keeps 256 bits but interprets the high bit as a sign. `2^256 - 1000e18` and `-1000e18` are the same bit pattern. The cap check and the later mint use the signed reading. The token transfer uses the original `uint256`.","rootCause",1],["17912-leveragedposition-and-repayassetwithcollateral-do-not-update","Fraxlend leveragedPosition leaves the exchange rate stale, so the next mint withdraws 1500 FRAX","audit-finding","AuditVault","2022-08","Ethereum",["vuln/oracle/stale-price","vuln/logic/state-update","vuln/logic/price-calculation"],["oracle","logic"],"Stale `exchangeRate` on a debt-increasing call",null,null,"Bob mints 1000 shares instead of 500 and withdraws 1500 FRAX","The rate is a cached value. Accruing interest updates `totalAssets` and not `exchangeRate`. A debt-increasing function that skips `updateExchangeRate` leaves the cache in place for every later mint and withdraw in the same block, and for later blocks until something else refreshes it.","rootCause",1],["2022-08-LuckyTiger","LuckyTiger NFT Exploit — Predictable On-Chain \"Randomness\" in a Pay-to-Win Mint","incident","DeFiHackLabs","2022-08","Ethereum",["vuln/logic/missing-check","vuln/logic/price-calculation"],["logic"],"Insecure / predictable on-chain randomness (`block.difficulty` + `block.timestamp`) gating a value transfer",null,null,"NFT mint \"bonus pool\" drained","A value-transferring lottery must derive its outcome from an input the player cannot know or influence at the time they commit funds. `luckytiger` does the opposite: The win/lose bit is `keccak256(block.difficulty, block.timestamp) % 2`, computed in the *same transaction* that pays out. Both inputs are readable by the caller and choosable by the block producer. So the \"random\" payout is in fact deterministic and front-runnable by the very party it is supposed to surprise. [continues]","rootCause",1],["57533-user-funds-lock-in-mystaking-due-to-stakercount-manipulation","Magic Yearn MyStaking: a non-staker can zero stakerCount","audit-finding","AuditVault","2022-08",null,["vuln/dos/frozen-funds"],["dos"],null,null,null,null,"`stake` increments `stakerCount` only when a user goes from zero shares to a position. `withdraw` always executes `stakerCount -= 1`. A caller with zero shares can drive the counter to zero. The real staker's later withdraw underflows and reverts.","rootCause",1],["57534-fee-can-be-applied-multiple-times-to-same-rewards-in-mystaki","Magic Yearn MyStaking: claim fees an already-net unclaimed balance","audit-finding","AuditVault","2022-08",null,["vuln/logic/reward-calculation"],["logic"],null,null,null,null,"`unclaimedAmount` is the post-fee balance. `claimableAmount` adds it into `gross` and takes `FEE_BPS` of that sum, so the same rewards are commissioned again. A stored net balance of 1,000 RWD is charged 10 percent again. The user receives 900 RWD and the fee sink receives 100 RWD.","rootCause",1],["57531-stake-begin-time-updated-before-reward-calculation-in-mystak","Magic Yearn MyStaking: setTimer runs before the fee divisor","audit-finding","AuditVault","2022-08",null,["vuln/logic/reward-calculation"],["logic"],null,null,null,null,"`stakeBegin` is an input to `getDivisorByTime`. `stake` writes `stakeBegin = block.timestamp` before that read, so elapsed time is zero and the divisor is the maximum-fee value. A stake that began at timestamp 1, observed at timestamp 31536001, has elapsed a full year. The long-stake divisor is 100, a 10 MYR fee on 1,000 MYR. After `setTimer` the divisor is 10 and the fee is 100 MYR.","rootCause",1],["57532-incorrect-storage-of-user-rewards-during-staking-in-mystakin","Magic Yearn MyStaking: stake stores claimable rewards twice","audit-finding","AuditVault","2022-08",null,["vuln/logic/reward-calculation"],["logic"],null,null,null,null,"`claimableAmount` returns fresh accrual plus `unclaimedAmount`. `stake` then does `unclaimedAmount += claimable`. The stored rewards are counted twice. Two equal stakers share a 2,000 RWD pool, 1,000 each. The attacker's second `stake(0)` turns a stored 1,000 into 2,000. Their claim empties the pool.","rootCause",1],["2022-08-Circle_exp1","MakerDAO UNIV2DAIUSDC CDP Exploit — Free Collateral Withdrawal via a Mis-priced LP-Token Vault (frob)","incident","DeFiHackLabs","2022-08","Ethereum",[],["untagged"],"Accounting / collateral mis-valuation in a CDP vault — debt position is freed by repaying a `dart` denominated in DAI while the freed collateral (`dink`, an LP token) is worth far more than the debt repaid",null,null,"~$50.5K","The collateral position in CDP 28311 was net-positive for an authorized closer: the redeemable value of its LP collateral exceeded the DAI debt it secured. Three facts compose into the loss: 1. LP-token collateral mis-valuation. The `UNIV2DAIUSDC-A` ilk priced LP tokens such that the urn's `art*rate` (≈ DAI debt) was *less* than the pro-rata DAI+USDC the LP tokens redeem for. Repaying debt worth X therefore released collateral worth `X + surplus`. [continues]","rootCause",1],["2022-08-NomadBridge","Nomad Bridge Exploit — Fraudulent Zero-Root Makes Every Forged Message \"Proven\"","incident","DeFiHackLabs","2022-08","Ethereum",["vuln/bridge/missing-validation","vuln/data/uninitialized"],["bridge","data"],"Broken message-authentication invariant — un-initialized / fraudulent Merkle root treated as a valid (`acceptableRoot`) proof root",null,null,"~$152M drained from the Nomad BridgeRouter over hundreds of copy-paste txs","The single broken invariant is: `acceptableRoot(root)` must return `false` for the zero root. The zero root is special: it is both the default value of the `messages` mapping (the \"not proven\" sentinel) and the result of computing a Merkle root from a non-matching leaf/proof. The whole proving scheme relies on `0x00…0` meaning \"untrusted / unproven.\" The moment `confirmAt[0x00…0]` is set to a nonzero value, that sentinel flips to \"trusted,\" and the entire authentication layer evaporates. [continues]","rootCause",1],["2022-08-Qixi","QIXI Token Exploit — Flash-Swap Repaid With a Free-to-Mint / Fee-Skimming Token","incident","DeFiHackLabs","2022-08","BNB Chain",["vuln/oracle/spot-price","vuln/defi/slippage"],["oracle","defi"],"Mintable / fee-skimming token used to repay a Uniswap-V2 flash-swap (broken `x·y=k` accounting)",null,null,"~6.895 WBNB","A constant-product AMM is only as honest as the two tokens it holds. The invariant `reserveQIXI · reserveWBNB ≥ k` protects WBNB only if QIXI is scarce and hard to obtain at scale. QIXI fails both conditions: The attacker can produce essentially unlimited QIXI at zero cost (owner-mint, `MAXSupply = 1e51`), and the pair will accept that QIXI as full repayment for a flash-swap that drains real WBNB. The pair's `k` check is trivially satisfied by overpaying with a worthless asset. [continues]","rootCause",1],["2022-08-ReaperFarm","Reaper Farm Exploit — ERC-4626 redeem() / withdraw() Missing Allowance Check","incident","DeFiHackLabs","2022-08","Fantom",["vuln/logic/missing-allowance","vuln/access-control/missing-check"],["logic","access-control"],"Broken access control — ERC-4626 `redeem`/`withdraw` missing `msg.sender != owner` allowance check",null,null,"~$1.7M across all vaults","ERC-4626's `withdraw`/`redeem` take an explicit `owner` argument precisely so a third party (a router, a zap contract, a keeper) can move assets *on behalf of* a depositor — but only with prior approval. The entire security of that three-argument form rests on a single conditional: *if the caller is not the owner, consume the caller's allowance over the owner's shares.* [continues]","rootCause",1],["57069-all-auction-initiation-attempts-may-fail-trailofbits-none-re","Reserve — initiateAuction reverts, so 10100 collateral stays unsold","audit-finding","AuditVault","2022-08",null,["vuln/logic/missing-allowance","vuln/dos/frozen-funds"],["logic","dos"],null,null,"Reserve / Gnosis EasyAuction",null,"The allowance and the auctioned amount are the same number, and the auction contract adds a fee on top of the auctioned amount before `transferFrom`. Any non-zero fee makes the pull larger than the allowance. The call reverts, so defaulted collateral is never offered and no bidder can pay.","rootCause",1],["57067-lack-of-a-two-step-process-for-contract-ownership-changes-tr","Reserve — one-step ownership transfer lets the new address sweep 1000","audit-finding","AuditVault","2022-08",null,["vuln/access-control/missing-check","vuln/dependency/upgradeable-contract"],["access-control","dependency"],null,null,"Reserve",null,"The owner slot and the right to move funds change in one call. A wrong address, or a transaction whose recipient is the attacker, cannot be unwound by the previous owner, because `onlyOwner` now fails for them. Two-step leaves the current owner in place until the pending address calls `acceptOwnership`, and the current owner can replace `pendingOwner` before that call.","rootCause",1],["57521-reentrancy-in-main-functions-zokyo-none-trustswap-markdown","TrustSwap LockToken: withdrawTokens transfers before clearing nftMinted","audit-finding","AuditVault","2022-08",null,["vuln/reentrancy/single-function"],["reentrancy"],null,null,null,null,"Zokyo's TrustSwap review of `LockToken.withdrawTokens` reports external `transfer` and `burn` calls before `nftMinted[id]` is written false. While the flag is still true, the same id can be withdrawn again.","rootCause",1],["2022-08-XST","XSTABLE.PROTOCOL (XST) Exploit — skim()-driven elastic-supply mint that re-inflates the pool's own token reserve","incident","DeFiHackLabs","2022-08","Ethereum",["vuln/logic/state-update","vuln/defi/slippage"],["logic","defi"],"Fee/mint-on-transfer interacting with `UniswapV2Pair.skim()` → permissionless re-minting of the pool's own token reserve, breaking constant-product `k`",null,null,"~27 WETH net profit in this reproduction","A Uniswap V2 pair assumes its tokens are *inert*: balances change only through `mint`/`burn`/`swap`/plain transfers it can reason about, and `skim()`/`sync()` exist precisely to reconcile balance vs. `reserve`. `XStable2` violates that assumption in two compounding ways: 1. Direction is inferred from the address, not the value flow. Any transfer whose `msg.sender` is a registered pool is classified as a *buy* and mints new tokens — even when the \"transfer\" is the pair skimming its own surplus back to itself. [continues]","rootCause",1],["2022-08-XST_exp2","XSTABLE.PROTOCOL (XST) Exploit — skim()-Driven Rebase Mint Inflates Pool Reserves","incident","DeFiHackLabs","2022-08","Ethereum",[],["untagged"],"Elastic-supply (rebase) accounting abuse — pool-side balance inflation via `skim()` re-classified as a \"buy\" that mints new tokens",null,null,"27.13 WETH profit to the attacker in this PoC","The protocol conflates \"a supported pool is the sender of a transfer\" with \"a user is buying XST out of the pool, so we should expand supply.\" That assumption holds for a real swap (the pair pushes tokens to a buyer during `swap()`), but it is not the only way a pool can be the sender: Uniswap's `skim()` lets *anyone* trigger a transfer from the pair to an arbitrary recipient — including back to the pair itself. [continues]","rootCause",1],["2022-07-Audius","Audius Governance Takeover — Re-callable initialize() on Live Proxies via Storage-Slot Collision","incident","DeFiHackLabs","2022-07","Ethereum",["vuln/access-control/uninitialized-proxy","vuln/access-control/proxy-storage-collision"],["access-control"],"Uninitialized/re-initializable upgradeable proxy via storage-layout collision → permissionless governance takeover",null,null,"704.18 ETH","A single root cause — *the `initializer` guard was rendered ineffective by a storage-layout collision between the upgradeable logic contracts and their proxy*, allowing `initialize()` to be re-executed on already-deployed, live proxies by an arbitrary caller. Everything else is downstream of that one fact: 1. Re-initializability = full takeover. `initialize()` sets `guardianAddress`, `votingPeriod`, `executionDelay`, and `votingQuorumPercent`. [continues]","rootCause",1],["19279-operations-are-vulnerable-to-signature-replay-via-reentrancy","BLS Wallet — one signature pays twice because the nonce moves too late","audit-finding","AuditVault","2022-07",null,["vuln/reentrancy/single-function","vuln/auth/signature-replay"],["reentrancy","auth"],null,null,"BLS Wallet",null,"The nonce is the replay lock, and it is updated after an untrusted call. A recipient that reenters observes the nonce the signature was made for. The check passes again. Moving the increment above the call invalidates the signature for every nested `process`.","rootCause",1],["2022-07-FlippazOne","FlippazOne Exploit — Missing onlyOwner on the Fund-Withdrawal Functions","incident","DeFiHackLabs","2022-07","Ethereum",["vuln/access-control/missing-modifier","vuln/access-control/missing-auth"],["access-control"],"Broken access control — fund-moving functions missing the `onlyOwner` modifier (CWE-284 / SWC-105 unprotected withdrawal)",null,null,"The entire ETH balance held by the auction contract","Solidity functions default to the `public` visibility/permission of whatever access control you put on them; there is no implicit \"owner-only because the name starts with `owner`\". The four `ownerWithdraw*` functions encode the *intended* trust boundary purely in their names, and the implementation forgot to enforce it with a modifier. [continues]","rootCause",1],["2022-07-LPC","LPC Token Exploit — Self-Transfer Balance Overwrite Mints Free Tokens","incident","DeFiHackLabs","2022-07","BNB Chain",["vuln/logic/state-update","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Aliased storage write in self-transfer (`_balances[sender]` debit overwritten by `_balances[recipient]` credit) → token self-minting",null,null,"~178 BNB","Classic ERC20 implementations are immune to this because they perform the debit and credit against the *live mapping*, not against two stale local snapshots: LPC instead: 1. Snapshots both balances up front into `senderBalance` / `recipientBalance` (so it can run the reward/holder bookkeeping in `_updateBalance` once per side), then; 2. Writes both back from those stale snapshots. For any transfer where `sender == recipient`, the snapshots are identical and the second write overwrites the first. [continues]","rootCause",1],["2022-07-Omni","Omni Protocol Exploit — NFT-Lending Re-Entrancy via withdrawERC721 / liquidationERC721","incident","DeFiHackLabs","2022-07","Ethereum",["vuln/reentrancy/cross-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Cross-function re-entrancy in an NFT money-market: NFT is transferred to the borrower (firing `onERC721Received`) before the position's solvency/state is finalised, letting the attacker re-supply the same NFTs and self-liquidate at a discount",null,null,"≈ 63.26 ETH net profit to the attacker in this single replayed transaction","A Uniswap/Aave-style money market relies on the invariant \"a position is solvent at the end of every external call.\" ERC-721 `safeTransferFrom` violates that the moment the *recipient is a contract*, because it hands control to `onERC721Received` between the collateral leaving the pool and the pool re-validating the position. Omni inherited the Paraspace `burn`-then-callback ordering and exposed it through two reachable functions: 1. Collateral is delivered before the health check is finalised. [continues]","rootCause",1],["10564-extending-the-staking-duration-discards-rewards-openzeppelin","Origin extend discards 50 OGV of rewards","audit-finding","AuditVault","2022-07",null,["vuln/logic/reward-calculation"],["logic"],null,null,"Origin OGV staking",null,"`rewardDebt` is an absolute debt. It is only meaningful if `_collectRewards` has just paid `balance * acc / 1e12 - rewardDebt`. `extend` updates the debt as if that payment happened. It did not, so the outstanding rewards are zeroed.","rootCause",1],["2022-07-Quixotic","Quixotic (Optimism NFT Marketplace) Exploit — Unsigned buyer Parameter Drains Any Approved ERC-20 Allowance","incident","DeFiHackLabs","2022-07","Ethereum",["vuln/auth/signature-validation","vuln/access-control/missing-check"],["auth","access-control"],"Incomplete signature coverage — a value-bearing parameter (`buyer`) is outside the signed struct, enabling allowance theft / signature-scope confusion",null,null,"2,667.79 OP drained from one victim that had approved the marketplace","EIP-712 only protects the fields it hashes. The `SellOrder` typehash and struct enumerate the seller, the NFT, timing, price, quantity, block number, and payment token — but not the counterparty who pays. The settlement code, however, *does* use a counterparty: it pulls ERC-20 from a `buyer` address that is supplied as a bare function argument and never bound to the signature. The seller's signature authorizes \"I will sell *this* NFT for *this* price in *this* token.\" It says nothing about *who* pays. [continues]","rootCause",1],["2022-07-SpaceGodzilla","SpaceGodzilla Exploit — Permissionless swapTokensForOther / swapAndLiquifyStepv1 Pool-Accounting Drain","incident","DeFiHackLabs","2022-07","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/spot-price","vuln/defi/slippage"],["access-control","oracle","defi"],"Missing access control on state-mutating helpers → manipulable AMM reserve accounting (logic / privilege error)",null,null,"~$22,516","A Uniswap-V2/PancakeSwap pair prices assets purely from its `reserve0`/`reserve1`, which only update inside `swap`/`mint`/`burn`/`sync`. Whoever controls when reserves move, and can move tokens into the pair without the pair re-pricing, controls the price. `SpaceGodzilla` hands that control to the public: 1. No access control on `swapTokensForOther` and `swapAndLiquifyStepv1`. These were clearly intended as internal helpers (mirrored by the private `swapAndLiquify()` auto-trigger), but they are declared `public`. [continues]","rootCause",1],["25133-h-04-in-execute-the-amount-routers-pay-is-what-user-signed-b","Connext — routers pay signed amount on execute, credited only bridgedAmt on reconcile","audit-finding","AuditVault","2022-06",null,["vuln/bridge/amount-mismatch","vuln/logic/wrong-condition"],["bridge","logic"],"Signed vs bridged amount mismatch across execute / reconcile","high","Connext",null,"ExecuteArgs carries the amount the user signed on origin. After `swapToLocalAssetIfNeeded`, the nomad message amount can be smaller (swap slippage / deflationary transfer). Fast liquidity uses the larger figure; reconciliation uses the smaller one — routers fund the difference.","rootCause",1],["2022-06-Discover","Discover / ETHpledge Exploit — Self-Referral Bonus Inflation via Spot-Price-Sourced Reward Math","incident","DeFiHackLabs","2022-06","BNB Chain",["vuln/oracle/spot-price","vuln/logic/reward-calculation"],["oracle","logic"],"Reward accounting keyed off a spot-manipulable AMM price + self-referral / attacker-controlled bonus tier, compounding to an over-payment far exceeding the stake",null,null,"The drained reward asset is the `Discover` token","The protocol pays a fixed *USD-value* bonus (`stake × rate`) but settles it in `Discover` tokens at an instantaneous, manipulable AMM price. That is the textbook recipe for a reward-inflation drain: `tokensOut = usdValue × 1e18 / _swapprice`. Halve `_swapprice` → double `tokensOut`. Drive `_swapprice` to near-zero → `tokensOut` explodes. Four design decisions compose into the theft: 1. Spot-price reward denominator. [continues]","rootCause",1],["2022-06-Gym_2","Gym Network SinglePool Exploit — depositFromOtherContract() Mints Stake Without Paying","incident","DeFiHackLabs","2022-06","BNB Chain",["vuln/logic/state-update","vuln/logic/missing-check"],["logic"],"Missing `transferFrom`-in on deposit + self-approval → unbacked stake position, withdrawable as a free token mint against the pool's reserves",null,null,"8,000,000 GYMNET drained from the staking pool's own token reserves","The honest deposit path debits the depositor and credits the stake atomically. The \"auto-deposit\" clone was written by copy-pasting `_deposit` and then deleting the inbound transfer while keeping all of the accounting that assumes the transfer happened. Two independent defects compose into a critical free-mint: 1. Missing collateralization (the core bug). `_autoDeposit` increments `user.totalDepositTokens`, `totalGymnetLocked`, and pushes a `UserDeposits` record, but no GYMNET ever enters the pool. [continues]","rootCause",1],["2022-06-Harmony_multisig","Harmony Horizon Bridge Exploit — Compromised 2-of-5 Multisig Drains the Ethereum-Side Manager","incident","DeFiHackLabs","2022-06","Ethereum",["vuln/access-control/secret-exposure","vuln/access-control/centralization"],["access-control"],"Private-key / signer compromise of a low-threshold multisig — not a code logic flaw; an operational / key-management failure compounded by a too-low `required` threshold",null,null,"Total bridge drain ≈ $100M across many tokens/txs","This was not a smart-contract logic bug. The contracts behaved exactly as written. The exploit is the textbook realization of the risk that a multisig only protects funds if its keys stay secret and its threshold is meaningful relative to the value at stake. Three factors compose into the loss: 1. Compromised signer keys. The attacker controlled the private keys of two multisig owners (`0xf845…A915` and `0x812d…8f25`). [continues]","rootCause",1],["2022-06-InverseFinance","Inverse Finance Exploit — Spot-Balance Oracle Manipulation of the yvCurve-3Crypto Price Feed","incident","DeFiHackLabs","2022-06","Ethereum",["vuln/oracle/spot-price","vuln/oracle/price-manipulation"],["oracle"],"Price-oracle manipulation — using spot ERC-20 balances of an AMM pool as the basis for a lending collateral price",null,null,"~$1.26M to Inverse Finance","A constant-product / Curve invariant AMM holds reserves that shift freely with trading volume. `balanceOf(pool)` is therefore an *attacker-controllable* number within one transaction. Any price oracle built on raw pool balances inherits that controllability. [continues]","rootCause",1],["2022-06-Optimism","Optimism (Wintermute) Exploit — Uninitialized Gnosis Safe Proxy Front-Run","incident","DeFiHackLabs","2022-06","Base",["vuln/access-control/uninitialized-proxy"],["access-control"],"Deployment / front-running — deployed-but-uninitialised proxy: the proxy code was live on L2 but `setup()` had never executed, so all storage was zero and the first caller of `setup()` became the owner.",null,null,"20,000,000 OP tokens","A Gnosis Safe `Proxy` is only \"a Safe\" after its singleton's `setup()` has executed against the proxy's storage. Before that, it is a bare `delegatecall` forwarder sitting on top of empty storage. The singleton's initialiser is the only thing that turns empty storage into a wallet with owners and a threshold — and the \"only once\" guard on `setup()` is itself a storage flag that reads as \"not initialised\" precisely when storage is zero. [continues]","rootCause",1],["42730-h-02-acceptcounteroffer-may-result-in-both-orders-being-fill","Putty — acceptCounterOffer may result in both orders being filled","audit-finding","AuditVault","2022-06",null,[],["untagged"],"wrong-condition","high","Putty",null,"cancel marks cancelled without requiring the order is unfilled.","rootCause",1],["2022-06-Snood","Snood (Schnoodle) Exploit — transferFrom Allowance Bypass Drains the SNOOD/WETH Uniswap Pair","incident","DeFiHackLabs","2022-06","Ethereum",["vuln/logic/missing-check","vuln/access-control/missing-auth"],["logic","access-control"],"Broken/non-standard ERC20 `transferFrom` — reflection-truncation lets `transferFrom` move the pair's entire balance with zero allowance, after which `sync()` + `swap()` extracts all WETH",null,null,"~104.047 WETH","The reflection layer is bolted onto OZ ERC-777 without preserving the invariant \"the value checked by `_spendAllowance` is the same value moved by `_send`.\" Three observations make the mechanism precise: 1. The pair has no reflected allowance. The Uniswap pair never called `SNOOD.approve(attacker, …)`, so the raw underlying `_allowances[pair][attacker]` is `0`. The overridden `allowance(pair, attacker)` returns `_getStandardAmount(0) = 0`. [continues]","rootCause",1],["56646-not-the-whole-amount-of-reef-is-transferred-due-to-accuracy","Sqwid raffle drops the fractional REEF and leaves it in the contract","audit-finding","AuditVault","2022-06","Ethereum",["vuln/arithmetic/precision-loss","vuln/dos/frozen-funds"],["arithmetic","dos"],"`msg.value / 1e18` truncates the raffle entry",null,null,"2.5 REEF is entered","The entry is stored as `msg.value / 1e18`. The settlement pays `stored * 1e18`. The product is the largest whole-REEF amount that does not exceed what was sent. The remainder never leaves the contract in this settlement.","rootCause",1],["2022-06-XCarnival","XCarnival Exploit — Untrusted xToken Argument in pledgeAndBorrow Lets Orders Borrow Against Already-Withdrawn Collateral","incident","DeFiHackLabs","2022-06","Ethereum",["vuln/logic/missing-validation","vuln/logic/incorrect-order-of-operations"],["logic"],"Untrusted callee / missing input validation — `pledgeAndBorrow` forwards a caller-supplied `xToken` address to `IXToken(xToken).borrow(...)` without verifying it is a protocol-listed XToken, so the \"borrow\" half of pledge-and-borrow can be made a no-op and the order is left as phantom collateral.",null,null,"~3,087 ETH","The bug is a composition of two trusting-the-wrong-thing mistakes, neither of which is exploitable on its own: 1. `pledgeAndBorrow` does not authenticate `xToken`. The borrow half of an atomic pledge-and-borrow is dispatched to a user-supplied address. The protocol assumed \"the only sensible `xToken` is one of our pools,\" but an attacker can pass any contract exposing the `borrow(uint256,address,uint256)` selector. [continues]","rootCause",1],["2022-05-Bayc_apecoin","BAYC / ApeCoin Airdrop Exploit — ERC-3156 Flash-Loan of Vaulted BAYC to Steal the APE Claim","incident","DeFiHackLabs","2022-05","Ethereum",["vuln/governance/flash-loan-attack","vuln/logic/missing-validation"],["governance","logic"],"Airdrop design flaw — eligibility credited by *instantaneous* `ERC721Enumerable.balanceOf(msg.sender)` of vaulted/escrow NFTs that are ERC-3156 flash-loanable, with no re-entrancy / per-token claim guard.",null,null,"60,564 APE","Two independently-reasonable design decisions compose into the theft: 1. The airdrop used *current on-chain ownership* as eligibility. `claimTokens` trusts `ERC721Enumerable.balanceOf` / `tokenOfOwnerByIndex` at call time. Any mechanism that lets an attacker become the recorded owner of a BAYC for a single transaction — flash loan, flash-loanable wrapper, single-tx rental — lets them pocket that BAYC's airdrop. [continues]","rootCause",1],["13255-convexpositionhandler-claimrewards-incorrectly-calculates-am","Claim unstakes 10 LP when the fair yield is 5 LP","audit-finding","AuditVault","2022-05","Ethereum",["vuln/logic/reward-calculation"],["logic"],"`yieldEarned` is ETH-scaled and is divided by `1e18` instead of the LP share price",null,null,"10 LP unstaked","`yieldEarned` and `lpTokenEarned` are different units. The first is ETH (price delta times LP balance, with an 18-decimal price). The second has to be a count of LP tokens. Dividing by `1e18` changes the scale and not the unit. Dividing by `currentSharePrice` does both.","rootCause",1],["42551-h-02-dos-blacklisted-user-may-prevent-withdrawexcessrewards","FactoryDAO — Blacklisted user may permanently block withdrawExcessRewards","audit-finding","AuditVault","2022-05",null,[],["untagged"],"Push-payment DoS coupled to global excess-reward gate","high","FactoryDAO — `PermissionlessBasicPoolFactory`",null,"A local per-user transfer failure is coupled to a global owner withdrawal precondition. The cost to an attacker is negligible (1 wei deposit + becoming non-receivable).","rootCause",1],["2022-05-FortressLoans","Fortress Loans Exploit — Governance Capture + Poisoned Umbrella Oracle → Over-borrow","incident","DeFiHackLabs","2022-05","BNB Chain",["vuln/governance/flash-loan-voting","vuln/oracle/price-manipulation"],["governance","oracle"],"Low-governance-quorum takeover → governance-mutated oracle feed → unbounded over-borrow against worthless collateral",null,null,"~3,000,000 USD","Three independent design failures compose into the loss: 1. Governance is cheaply capturable. A 1 % proposal threshold and 4 % quorum on a dormant token let the attacker create and pass Proposal 11 with the help of one aligned voter (`0x58f96A6D…`, who cast 119,774 FTS of votes). The Timelock `delay` was short enough that the proposal could be queued and executed the same day. 2. The collateral price oracle is governance-adjacent and unbounded. [continues]","rootCause",1],["2022-05-HackDao","HackDao Exploit — Fee-on-Transfer Token Listed in a Vanilla Pancake Pair (skim/sync reserve desync)","incident","DeFiHackLabs","2022-05","BNB Chain",["vuln/oracle/spot-price","vuln/defi/slippage"],["oracle","defi"],"Fee-on-transfer / reflection token listed in a vanilla Uniswap-V2 pair — the token's transfer logic mutates balances the pair cannot reconcile, so `skim()`/`sync()` desync reserves from balances and the `K` invariant is enforced against the wrong reference.",null,null,"163.673482526496579211 WBNB drained from the HackDao/WBNB Pancake pair","A Uniswap-V2/Pancake pair assumes its token balances change only through `transferFrom` in `swap`/`mint`/`burn`, `skim`, and `sync`. It computes `amount{0,1}In` as `balance − (reserve − amountOut)` and enforces `K` against the *cached* reserve. This is safe for plain ERC-20s and even for standard fee-on-transfer tokens *if* the pair is the fee-aware variant (`…SupportingFeeOnTransferTokens`). HackDao violates the assumption in two compounding ways: [continues]","rootCause",1],["2022-05-Novo","NOVO Exploit — transferFrom Skips Allowance Check, Pool Reserve Drained","incident","DeFiHackLabs","2022-05","BNB Chain",["vuln/logic/missing-check","vuln/access-control/missing-auth"],["logic","access-control"],"Broken ERC20 `transferFrom` — the allowance check/decay is commented out, so anyone can spend any holder's balance (including the AMM pair's) without approval",null,null,"~248.124 WBNB","A Uniswap-V2/PancakeSwap pair prices NOVO/WBNB purely from `(reserve0, reserve1)`, and `reserve0` is taken to be `balanceOf(pair)` at the last `_update` (after a `swap`, `mint`, `burn`, or `sync`). The pair's security model assumes token balances only change through code paths the pair initiated (its own `_safeTransfer` during `swap`, or LP `mint`/`burn`). [continues]","rootCause",1],["2022-04-AkutarNFT","Aku-Auction (Akutar NFT) Exploit — Push-Payment Refund DoS & Permanently Locked Funds","incident","DeFiHackLabs","2022-04","Ethereum",["vuln/dos/frozen-funds","vuln/dos/griefing"],["dos"],"(1) Push-payment refund DoS — `processRefunds()` loops the bidder array and `.call{value:…}(\"\")`-pushes ETH to each bidder with no failure isolation, so one reverting contract bidder reverts the whole batch and blocks every honest bidder's refund. (2) Unit-mismatched `require` in `claimProjectFunds()` — compares the bidder-index cursor `refundProgress` against the NFT-count accumulator `totalBids`, so the owner can never satisfy the gate and the residual ETH is locked forever.",null,null,"Bidder ETH permanently locked in the Aku/Akutar auction contract","Two independent design defects, each sufficient to strand funds: 1. Push-over-loop without failure isolation. The contract chose to *push* refunds to bidders inside a `for` loop instead of letting each bidder *pull* their own refund. In EVM, a single reverting recipient inside an atomic loop reverts the entire transaction. Combined with no contract-bidder check at `bid()` time, any attacker can pre-plant a reverting bidder anywhere in the `allBids[]` order and hold the whole refund process hostage. [continues]","rootCause",1],["2022-04-Beanstalk","Beanstalk Farms Exploit — Flash-Loan Governance Self-Pass","incident","DeFiHackLabs","2022-04","Ethereum",["vuln/governance/flash-loan-voting","vuln/governance/timelock-bypass"],["governance"],"Governance hijack via flash-loan instant Stalk + unrestricted Diamond _init delegatecall",null,null,"~$182M","1. Instant Stalk on deposit — `depositBeans` mutates governance weight synchronously. 2. Flash-loanable voting power — no lockup/vesting on Stalk. 3. Emergency commit with no timelock — once Stalk threshold met, `emergencyCommit` executes immediately. 4. Unrestricted `_init` delegatecall in the BIP execution path — the Diamond runs attacker code with `address(this) == Diamond`, giving it full access to every ERC20 balance the protocol holds. [continues]","rootCause",1],["2022-04-cftoken","CFToken Exploit — Exposed public _transfer Lets Anyone Drain the Pair's Tokens","incident","DeFiHackLabs","2022-04","BNB Chain",["vuln/access-control/missing-auth"],["access-control"],"Access control / visibility — the ERC20 `_transfer` helper was declared `public` instead of `internal`, exposing an arbitrary `from`/`to`/`amount` balance-mover with no caller authorization",null,null,"The PoC pulls 1,000 CF","This is a visibility / access-control defect, the same class of bug as the Sandbox `_burn` flaw and the various \"internal helper leaked as public\" incidents: an implementation detail that performs a privileged state mutation was exposed as a public, externally-callable function with no caller check. Concretely, three independent mistakes compose into the loss: 1. `_transfer` is `public`. A function named with a leading underscore is, by universal Solidity convention, an `internal` helper. [continues]","rootCause",1],["2022-04-deus","DEUS Finance DEI Exploit — Privileged Swapin Mint + DEI Collateral/LP Mispricing","incident","DeFiHackLabs","2022-04","Fantom",["vuln/access-control/centralization","vuln/oracle/price-manipulation"],["access-control","oracle"],"Centrally-mintable \"stablecoin\" (`Swapin` privileged mint) feeding a DEI mint + LP + lending stack that performs no independent collateral-provenance check — fake USDC is accepted at face value as real collateral.",null,null,"~$1.3M","Two failures compose into the loss: 1. A centrally-mintable \"stablecoin\" with no on-chain backing proof. fUSDC's `Swapin` path is a pure owner-gated mint (`_mint(to, amount)` from `0x0`). The intended design is that each `Swapin` mirrors a real L1 USDC deposit identified by `txhash`. But the contract never verifies that `txhash` on chain — it is an opaque `bytes32` carried only in the `Transaction`-style event. [continues]","rootCause",1],["2022-04-Elephant_Money","Elephant Money Exploit — Infinite Mint via the Unverified Trunk Router (mint/redeem Accounting Flaw + Elephant Buy-Back Feedback)","incident","DeFiHackLabs","2022-04","BNB Chain",["vuln/logic/price-calculation","vuln/defi/fee-manipulation"],["logic","defi"],"Accounting / infinite-mint: the Trunk router mints Trunk 1:0.99 against BUSD at a fixed face ratio, while its `mint()` simultaneously performs an internal Elephant buy-back that the `redeem()` does not symmetrically undo. Combined with a flash-loaned Elephant/WBNB price push, mint→redeem yields more BUSD out than was paid in.",null,null,"~$11M (April 2022, BSC)","1. Unverified router holding the entire mint/redeem accounting. The only contracts with source (Elephant, ElephantDollar) are generic; all the value logic lives in `0xD520a3B47E42…`, which has no published source and was never independently audited. Users trusted a black box with the collateral. 2. Mint/redeem ratio decoupled from held collateral. [continues]","rootCause",1],["2022-04-Gym_1","Gym Network LiquidityMigrationV2 Exploit — Migration Contract Spends Its Own GYMNET to Mint LP for the Caller","incident","DeFiHackLabs","2022-04","BNB Chain",["vuln/logic/incorrect-order-of-operations","vuln/access-control/missing-auth"],["logic","access-control"],"Logic/trust flaw in a migration contract: `migrate()` burns the caller's old LP into the migration contract, then uses the migration contract's own `v2` token balance to mint new LP to the caller, gifting the caller protocol-owned tokens",null,null,"~$2.1M","`LiquidityMigrationV2.migrate` conflates \"value the caller deposited\" with \"value the contract owns.\" A correct migrator would either (a) send the redeemed `GYM`+`BNB` to the caller and let *them* add `GYMNET/WBNB` liquidity with their own `GYMNET`, or (b) mint the new LP to the contract (or the protocol) when spending the contract's `GYMNET`. Instead it does the worst hybrid: the input side is caller-supplied (old LP, flash-loanable); the `GYMNET` side of the new LP is contract-supplied; [continues]","rootCause",1],["24991-h-01-a-malicious-early-userattacker-can-manipulate-the-vault","PoolTogether: a 1-wei deposit plus an aToken donation gives the next depositor 0 shares","audit-finding","AuditVault","2022-04",null,["vuln/arithmetic/precision-loss"],["arithmetic"],"First-depositor inflation","high","PoolTogether — `AaveV3YieldSource._tokenToShares`",null,"When `totalSupply` is not zero, shares are: There is no virtual offset. The first depositor supplies 1 wei and receives 1 share. They then transfer 10,000 aTokens directly to the yield source. That donation increases `aToken.balanceOf(vault)` without minting shares, so one share now claims about 10,000 underlying. The next depositor supplies 9,999 underlying: The vault still pulls the underlying and supplies it to Aave. [continues]","rootCause",1],["2022-04-Rari","Rari Capital / Fei Protocol Fuse Exploit — Mis-Configured Collateral Oracle (USDC Priced Off the ETH/USD Chainlink Feed)","incident","DeFiHackLabs","2022-04","Ethereum",["vuln/oracle/wrong-feed"],["oracle"],"Oracle mis-configuration — a Fuse money-market collateral oracle that returned the wrong asset's Chainlink price (USDC priced off the ETH/USD feed), letting a borrower over-collateralise with cheap stablecoins and borrow the pool's real ETH.",null,null,"~$80M total across the exploited Fuse pools","A money market that prices collateral from a single, admin-configurable oracle and performs no sanity/cross-oracle bound on the returned price. Pool 127's oracle was misconfigured to read the ETH/USD Chainlink feed for the USDC market, so 1 USDC was valued at ~\\$3,526 — i.e. ~1 ether — instead of ~\\$1. The Compound-style liquidity math then mechanically translated that 3,526× collateral over-valuation into a 3,526× borrowing-power over-allowance, and `borrowFresh` drained the pool's genuine ETH. [continues]","rootCause",1],["2022-04-Rikkei","Rikkei Finance Exploit — Permissionless setOracleData() Oracle Hijack on a Compound-style Money Market","incident","DeFiHackLabs","2022-04","BNB Chain",["vuln/access-control/missing-auth","vuln/oracle/price-manipulation"],["access-control","oracle"],"Missing access control on the price-oracle setter — `SimplePriceOracle.setOracleData(asset, source)` lets anyone redirect a market's price feed to an attacker-controlled address, inflating collateral value and enabling an unlimited borrow",null,null,"~$270K","The root cause is a single missing access-control modifier on the most security-critical state-changing function in the system. A money market's price oracle is the input that every borrowing, liquidation, and collateral decision is derived from; making its setter user-writable turns borrowing into a self-authorized infinite-borrow. Three compounding design flaws make the bug catastrophic rather than cosmetic: 1. No auth on `setOracleData`. [continues]","rootCause",1],["2022-04-Saddle","Saddle Finance sUSD MetaPool Exploit — Virtual-Price Manipulation Round-Trip","incident","DeFiHackLabs","2022-04","Ethereum",["vuln/oracle/price-manipulation","vuln/arithmetic/rounding"],["oracle","arithmetic"],"StableSwap metapool virtual-price manipulation — a large flash-loaned round-trip through the metapool captures value because the metapool prices its LP token against a base-pool virtual price that the swap does not reconcile with the live base-pool state",null,null,"On-chain attack: ~$10M","The metapool design assumes the LP token (`saddleUSDV2`) trades at a stable virtual price relative to sUSD, because both ultimately claim the same 4 Curve base-pool assets. In practice that virtual price is a *function of the base pool's reserves*, which a sufficiently large flash-loaned swap can move. The Saddle metapool did not, on each swap: re-read the base pool's live reserves / virtual price (it used a derived/cached value), and [continues]","rootCause",1],["2022-04-Wdoge","WDOGE (Wrapped Doge on BSC) Exploit — Reserves-Out-of-Sync Drain via Repeated skim/sync","incident","DeFiHackLabs","2022-04","BNB Chain",["vuln/oracle/spot-price","vuln/defi/slippage"],["oracle","defi"],"Broken invariant / bad WDOGE token math — WDOGE's `transfer`/pair interaction left the WDOGE/WBNB pair's reserves inconsistent (`balanceOf` ≠ `reserve`), so `skim`/`sync`/`swap` could be chained to extract WBNB.",null,null,"~8 WBNB profit per cycle","A token-level accounting inconsistency in WDOGE: its `transfer` did not keep the Pancake pair's `(reserve0, reserve1)` consistent with actual `balanceOf`, so the pair's `swap`/`skim`/`sync` primitives — which Uniswap-V2 pairs trust to be faithful to true balances — could be gamed. The repeated `transfer`→`swap`→`skim`→`sync` chain exploited the gap between the pair's stored reserves and the real WDOGE balance to over-extract WBNB.","rootCause",1],["2022-04-Zeed","Zeed Finance Exploit — Reward-Fee Tri-Crediting Inflates YEED Pair Balances, Skim-Loop Drains USDT","incident","DeFiHackLabs","2022-04","BNB Chain",["vuln/logic/state-update","vuln/defi/slippage"],["logic","defi"],"Deflationary / reward token whose transfer-fee handler credits the *full* reward fee to every registered AMM pair, desynchronizing each pair's `balanceOf` above its cached `reserve` — a classic `skim`-harvestable donation amplified 10× by a round-robin skim loop",null,null,"~112,446.89 USDT","Two independent design flaws compose into the drain: 1. YEED's `_takeReward` uses the wrong variable when crediting the three dividend pairs. It computes three correct slices (`usdtReward`, `zeedReward`, `hoReward`) but then adds the un-sliced `rewardFee` to each of the three pairs' balances. The net effect is that every sell-side transfer donates `2 × rewardFee` of phantom YEED balance to the three pairs collectively. [continues]","rootCause",1],["2022-03-Agave","Agave Finance Exploit — Reentrancy in liquidationCall (Aave-v2 fork)","incident","DeFiHackLabs","2022-03","Gnosis",["vuln/reentrancy/cross-contract"],["reentrancy"],"Reentrancy — Aave-v2 `liquidationCall` burns the borrower's `aToken` *after* transferring collateral, so a malicious aToken callback can re-enter and borrow again before accounting is settled.",null,null,"~$1.5M","A CEI (checks-effects-interactions) violation in `liquidationCall`: the collateral effect (transfer out) happens before the debt effect (burn the borrowed aToken). In an Aave-v2 fork, if either the collateral token or the debt token has a transfer hook, that hook can re-enter the pool's borrow/redeem functions while the position's debt is still understated. [continues]","rootCause",1],["17624-compromise-of-a-single-oracle-enables-limited-control-of-the","API3 dAPI median can be moved by one compromised report","audit-finding","AuditVault","2022-03","Ethereum",["vuln/oracle/single-source","vuln/oracle/price-manipulation","vuln/oracle/missing-circuit-breaker"],["oracle"],"Median aggregation has no protection against a partially compromised oracle set.",null,null,null,"For three values, the median is the middle ordered value. If two honest oracles report 598 and 603, a compromised third oracle can report 598, 601, 603, or any value in between, and the exact API3 median follows it. A downstream protocol that treats the dAPI result as an executable spot price must add its own deviation, freshness, or circuit-breaker controls; this POC deliberately stops at the real aggregation boundary instead of adding a downstream protocol that is absent from the report.","tldr",1],["17619-publish-subscribe-protocol-users-are-vulnerable-to-a-denial","API3 PSP: a shifted parameter byte blocks publish and sticks the fee","audit-finding","AuditVault","2022-03","Ethereum",["vuln/dos/frozen-funds","vuln/dos/griefing","vuln/logic/missing-validation"],["dos","logic"],"`abi.encodePacked` of two dynamic byte strings",null,null,"Alice's publish reverts","`abi.encodePacked` concatenates the raw bytes of `parameters` and `conditions`. A one-byte shift across that boundary does not change the concatenation, so it does not change the id. The stored record can therefore belong to a different parameter string than the one the subscriber is trying to publish.","rootCause",1],["2022-03-Auctus","Auctus (ACO) Exploit — ACOWriter Trusts Attacker-Supplied acoToken + Arbitrary exchange Call","incident","DeFiHackLabs","2022-03","Ethereum",["vuln/logic/missing-validation","vuln/dependency/unsafe-external-call","vuln/access-control/untrusted-input"],["logic","dependency","access-control"],"Untrusted input + missing validation — `ACOWriter.write` accepts arbitrary `acoToken` (trusts `collateral()`/`strikeAsset()`/`mint*`/`balanceOf`/`approve`/`transfer`) and attacker-controlled `exchangeAddress` + raw `exchangeData` for a low-level call.",null,null,"~$682K USDC pulled from the ACO protocol's collateral/escrow holder","1. No validation that `acoToken` is a genuine ACO deployment. All IACOToken methods are called on attacker-controlled code. 2. `setExchange` + `_exchange.call{value:...}(exchangeData)` is completely open — intended for 0x sales of minted ACOs but usable for arbitrary actions while the writer context (balances + approvals) is live. [continues]","rootCause",1],["2022-03-Bacon","Bacon Protocol Exploit — Reentrancy via ERC-1820 tokensReceived in lend/redeem","incident","DeFiHackLabs","2022-03","Ethereum",["vuln/reentrancy/single-function"],["reentrancy"],"Reentrancy — Bacon's `lend()` triggers an ERC-777/ERC-1820 `tokensReceived` callback on the caller *before* the lending accounting is finalised, so the attacker re-enters `lend()` twice to inflate the accounting, then `redeem()`s more than deposited.",null,null,"~$1M USDC","A CEI violation + missing reentrancy guard on a function that mints pool shares. `lend()` moves USDC into the pool (interaction) and *during that transfer* the ERC-1820 `tokensReceived` callback hands control back to the attacker *before* the lend's share-credit is finalised. The attacker uses that window to call `lend()` again, double-counting the deposit. There is no `nonReentrant` modifier and no intermediate accounting snapshot that would reject the second lend. [continues]","rootCause",1],["2022-03-CompoundTusd","Compound cTUSD sweepToken Exploit — Comptroller Swap to Compliant TrueUSD","incident","DeFiHackLabs","2022-03","Ethereum",["vuln/access-control/missing-modifier","vuln/logic/missing-check"],["access-control","logic"],"Permissionless privileged function — `sweepToken` lacked the `onlyComptroller`/`admin` guard that Compound's normal markets carry, letting anyone sweep the market's \"stuck\" token balance to an attacker address (the modern TrueUSD's `registry`/`canTransfer` path).",null,null,"39,961,358,379,339,258,374,306,712","An access-control gap on a privileged cToken function. `sweepToken` is dangerous by design (it forwards the contract's entire balance of an arbitrary non-underlying token to a destination). In correct Compound, it is gated to admin/governance. The cTUSD delegation either: omitted the `if (msg.sender != admin) revert` / comptroller check, or; the \"underlying vs non-underlying\" guard failed to treat the legacy TUSD (which the modern TUSD proxy *also* accepts via delegation) as protected. [continues]","rootCause",1],["2022-03-Fantasm","Fantasm Finance Exploit — Decimal Miscalculation in mint Over-issues xFTM","incident","DeFiHackLabs","2022-03","Fantom",["vuln/arithmetic/decimal-mismatch"],["arithmetic"],"Decimal/precision error — `Pool.mint` computes `_xftmOut` with the wrong decimal scaling, so the attacker receives far more xFTM than the FSM deposited should yield; the excess is then `collect()`-able.",null,null,"The PoC turns 100 FSM into 27,808,380,491,957,617,661,247 xFTM","A precision/decimal error in the mint-output calculation. Fantasm's `mint` derives `_xftmOut` from the deposited FSM amount and the pool's exchange parameters, but mixes decimal factors (e.g. divides by `1e18` where it should divide by `1e9`, or omits a scaling factor), inflating the credited xFTM by orders of magnitude. Combined with a `collect()` that simply mints whatever `mint()` recorded as pending, the over-issuance becomes withdrawable. Key contributing design issues: [continues]","rootCause",1],["2022-03-HundredFinance","Hundred Finance Exploit — ERC-667 Reentrancy in borrow/redeem (Compound fork)","incident","DeFiHackLabs","2022-03","Gnosis",["vuln/reentrancy/cross-function"],["reentrancy"],"ERC-667 token-hook reentrancy — the Compound fork's `borrow`/`redeem` call `token.transfer` on a hook-bearing token (ERC-677 `onTokenTransfer`), and the cToken state isn't updated before the external call, enabling a borrow-then-repay loop that inflates borrow accounting.",null,null,"The PoC extracts ~$42,994,684","A CEI violation + missing reentrancy guard in a Compound-v2 fork, amplified by an ERC-677/ERC-777 hook-bearing underlying token. Canonical Compound's `Comptroller`/cToken had been hardened against this (`ReentrancyGuard`); the Hundred fork omitted it, and the Gnosis wxDAI token's `transferAndCall` gave the attacker a clean reentry surface on every `doTransferOut`. [continues]","rootCause",1],["2022-03-LiFi","LiFi Exploit — Unvalidated callTo/approveTo in the Pre-Bridge Swap Facet","incident","DeFiHackLabs","2022-03","Ethereum",["vuln/dependency/unsafe-external-call","vuln/logic/missing-validation"],["dependency","logic"],"Arbitrary external call / unvalidated `SwapData.callTo` + `approveTo` — the swap facet honours attacker-supplied `callTo.call(callData)` and `approve(approveTo, …)` with no whitelist, turning the \"pre-bridge swap\" step into a permissioned drain of every token the diamond was ever approved to spend",null,null,"Part of the ~$5.7M drained across many victims in the March 20, 2022 LiFi incident","A trust-boundary violation on a router facet: the diamond treats the entire `SwapData` struct — most dangerously `callTo` and `approveTo` — as attacker-controllable calldata, then performs `approve(approveTo,…)` and `callTo.call(callData)` with no whitelist, no DEX-identity check, and no destination check. Three independent design errors compose into the drain: 1. `callTo` is unvalidated. A swap router must restrict `callTo` to a vetted set of DEX/aggregator addresses. [continues]","rootCause",1],["2022-03-OneRing","OneRing Finance Exploit — Missing Reentrancy Guard + Under-priced depositSafe","incident","DeFiHackLabs","2022-03","Fantom",["vuln/reentrancy/single-function","vuln/logic/state-update"],["reentrancy","logic"],"Reentrancy + accounting flaw — `depositSafe(amount, asset, minOut)` mints vault shares on a flash-deposit, then `withdraw()` redeems them before the vault's oracle/rounding accounting catches up, letting a flash-borrowed deposit be withdrawn for more than deposited.",null,null,"~$1.45M USDC","A flash-loan-friendly deposit/withdraw without reentrancy guard or settlement-epoch gating. The share price was computed from the vault's current holdings *including* the just-flashed deposit, and the withdraw in the same transaction captured the inflated/redemption difference. OneRing allowed same-tx deposit→withdraw (no lockup, no `nonReentrant`), which is the textbook prerequisite for this class of vault drain. Contributing factors: `minOut = 1` on deposit accepted any (even 0) mint, hiding the rounding issue. [continues]","rootCause",1],["2022-03-Paraluni","Paraluni MasterChef Exploit — Reentrancy in depositByAddLiquidity via Malicious Token","incident","DeFiHackLabs","2022-03","BNB Chain",["vuln/reentrancy/single-function"],["reentrancy"],"Reentrancy via a malicious deposit token — `depositByAddLiquidity` transfers an attacker-controlled token *into* the pool while adding liquidity, and the token's `transferFrom` callback re-enters MasterChef to deposit again before accounting settles.",null,null,"~$1.7M","A CEI violation + trusting an external token transfer during a staking deposit. MasterChef's `depositByAddLiquidity` swaps/adds liquidity using caller-supplied tokens, which means it executes `token.transferFrom(…)` on tokens the caller chooses. For a malicious token, that `transferFrom` is a reentry point, and because MasterChef updates the user's staked position *after* the liquidity add (the external call), the nested deposit sees/creates a larger position than it should. [continues]","rootCause",1],["2022-03-RedactedCartel","Redacted Cartel (wxBTRFLY) Exploit — Faulty transferFrom Allowance Logic","incident","DeFiHackLabs","2022-03","Ethereum",["vuln/logic/missing-check","vuln/logic/state-update"],["logic"],"Faulty custom `transferFrom` — the non-standard ERC20 approval/transfer logic mangles the allowance/owner/spender relationship so that an operator can redirect an *existing* allowance to a third party.",null,null,"Allowance hijack","A non-standard, buggy ERC20 `transferFrom`/allowance implementation. Canonical ERC20 semantics are strict: `transferFrom(from, to, amount)` requires `allowance[from][msg.sender] >= amount` and decrements `allowance[from][msg.sender]`. The wxBTRFLY implementation diverged (operator registry + custom allowance bookkeeping), and the divergence let an operator/spender perform a transfer whose debit and credit were not bound to a real owner→spender approval — assigning the victim's spending power to the attacker. [continues]","rootCause",1],["2022-03-Revest","Revest Finance Exploit — Reentrancy in FNFT mintAddressLock/withdraw","incident","DeFiHackLabs","2022-03","Ethereum",["vuln/reentrancy/cross-function"],["reentrancy"],"Reentrancy — Revest's FNFT mint/withdraw path triggers a token callback (`onFNFT`/ERC1155 receiver) on the lock-creator contract before balances settle, letting the attacker re-enter and claim duplicated FNFT value.",null,null,"The PoC extracts 352,835,865,880,437,990,126,099 RENA","A CEI violation + missing reentrancy guard in the FNFT mint/withdraw flow, combined with an ERC-1155/Revest callback that hands control to an attacker-controlled contract mid-operation. The FNFT quantity/deposit accounting was applied after the external callback, so a nested `mintAddressLock` / `withdraw` saw inconsistent state and inflated the attacker's claim.","rootCause",1],["2022-03-Ronin","Ronin Bridge Exploit — Sky Mavis Validator Key Compromise (Forged Withdrawals)","incident","DeFiHackLabs","2022-03","Ethereum",["vuln/access-control/secret-exposure","vuln/bridge/missing-validation"],["access-control","bridge"],"Operational/key-management — the attacker compromised enough Sky Mavis validator nodes to forge a quorum of valid signatures on fake withdrawal requests; the bridge contract's `withdrawERC20For` then honoured them.",null,null,"~$625M","Not a Solidity bug but a validator-key-compromise / operational-security failure: 1. Insufficient signature quorum vs. centralisation: 9 validators, 5 required → compromising a bare majority was enough. 2. Validator key hygiene: keys were compromised (social engineering + a node operator signing arbitrary payloads for the Axie DAO) and not rotated. 3. No anomaly/alerting on out-of-band withdrawal IDs (2,000,000 / 2,000,001 were far beyond the legitimate sequence). [continues]","rootCause",1],["2022-03-TreasureDAO","TreasureDAO Marketplace Exploit — Zero-Quantity Buy Drains Listed NFTs for Free (_pricePerItem * _quantity with _quantity = 0)","incident","DeFiHackLabs","2022-03","Arbitrum",["vuln/logic/missing-check","vuln/input-validation/missing"],["logic","input-validation"],"Marketplace buy path: caller-controlled `_quantity` multiplied into the payment (`totalPrice = _pricePerItem * _quantity`), with no `_quantity > 0` floor, while the inner marketplace moves a full ERC721 token regardless of `_quantity`. Passing `_quantity = 0` yields zero payment but a valid sale.",null,null,"NFT theft","The router re-validated the unit price but never validated the quantity. Quantity was trusted to be `> 0` and to match the item being bought, yet nothing enforced either property. Because the ERC721 transfer inside `TreasureMarketplace.buyItem` is keyed on `_tokenId` alone (an ERC721 token is atomic — there is no \"buy half a token\"), the marketplace cannot actually honour an arbitrary `_quantity` for ERC721s; it just moves the whole token once the `quantity >= _quantity` check passes. [continues]","rootCause",1],["2022-03-Umbrella","Umbrella Network RewardPool Exploit — Integer Underflow in withdraw","incident","DeFiHackLabs","2022-03","Ethereum",["vuln/arithmetic/underflow"],["arithmetic"],"Integer underflow — `_withdraw` computes `_totalSupply - amount` and `_balances[user] - amount` without SafeMath (pre-0.8 / using unchecked math), so withdrawing more than your stake underflows to a huge number and the contract sends you the LP tokens.",null,null,"~$700K","A missing-balance-check + unchecked subtraction (integer underflow) on a withdrawal path. Canonical `StakingRewards` (Synthetix) checks `require(amount > 0)` and implicitly relies on `_balances[msg.sender] >= amount` via SafeMath's revert. This fork dropped both the SafeMath and the balance check, so a withdraw of any `amount` from an un-staked account underflows the accounting and pays out real stakingToken.","rootCause",1],["56425-rewards-calculation-is-done-by-counting-number-of-days-since","Arkouda pays NFT rewards in whole days, not seconds","audit-finding","AuditVault","2022-02","Ethereum",["vuln/logic/reward-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Reward accrual truncates elapsed time to whole days",null,null,"A holder of 1.5 days is minted 3 ARK","The pending amount is `elapsed / 1 days * rewardPerDay`. The division rounds down. Any hold that is not an exact number of days is paid only for the completed days. The seconds formula is `elapsed * rewardPerDay / 1 days`, which keeps the fraction.","rootCause",1],["2022-02-BuildF","Build Finance (BUILD) Exploit — Governance Takeover via Low Quorum → Arbitrary-Proposal Drain","incident","DeFiHackLabs","2022-02","Ethereum",["vuln/governance/proposal-manipulation"],["governance"],"Governance takeover — low quorum + low proposal threshold + arbitrary-calldata `execute` lets a small BUILD holder pass a proposal that self-approves a spender on the treasury's token balance",null,null,"Treasury drain of the Build `Governance` contract's BUILD holdings","Two design defects compose into a full treasury drain: 1. Governance is simultaneously the decision-maker and the custodian. Because `lockVotes` escrows real BUILD tokens on the Governance contract and never auto-returns them, the Governor itself becomes the largest single BUILD holder — 329,224.64 BUILD by the time `execute` runs. Any token the Governor can `approve`-and-`transferFrom` from its own context is therefore one successful proposal away from being drained. [continues]","rootCause",1],["56420-staking-is-not-used-to-calculate-arkouda-tokens-to-be-reward","CWBC — Arkouda rewards use days held and ignore stakeCBWC","audit-finding","AuditVault","2022-02",null,["vuln/logic/reward-calculation","vuln/logic/missing-check","vuln/logic/wrong-condition"],["logic"],null,null,null,null,"`stakeCBWC` sets `staked[id]`. `claimReward` reads that flag into `ignoredStakeFlag` and then does not use it. The mint is `daysHeld * BASE_REWARD` for any owner. Rewards have already started (`rewardGenerationStartTime = 1`), so this is not the pre-start claim. An NFT acquired at timestamp 1, claimed in the block at `1 + 10 days`, mints 100 ARK whether or not it was staked. The unstaked mint is 100 ARK that a staking-gated claim would not pay. `run()` does not warp. [continues]","rootCause",1],["56421-value-of-base-reward-state-variable-is-incorrect-zokyo-none","CWBC — Arkouda.BASE_REWARD is 10 ARK instead of 3 ARK per day","audit-finding","AuditVault","2022-02",null,["vuln/logic/reward-calculation","vuln/logic/missing-validation"],["logic"],null,null,null,null,"`BASE_REWARD` is 10 ARK. The stated minimum tier is 3 ARK per day. `claimReward` pays `daysHeld * BASE_REWARD`. Rewards have already started, so this is not the pre-start claim. An NFT acquired at timestamp 1, claimed in the block at `1 + 10 days`, mints 100 ARK. The spec amount is 30 ARK. The extra 70 ARK is transferred to the holder. `run()` does not warp. The block timestamp is fixed for the transaction.","rootCause",1],["56419-user-can-claim-rewards-before-the-start-zokyo-none-cwbc-mark","CWBC — Arkouda.claimReward mints before rewardGenerationStartTime is set","audit-finding","AuditVault","2022-02",null,["vuln/logic/wrong-condition","vuln/logic/reward-calculation","vuln/logic/missing-check"],["logic"],null,null,null,null,"`rewardGenerationStartTime` defaults to 0 and is written by a separate `startRewardGeneration` call. `claimReward` never rejects 0, so `block.timestamp >= rewardGenerationStartTime` is true before rewards are started. A holder whose NFT was acquired at timestamp 1, observed in the block at timestamp `1 + 10 days`, mints `10 * BASE_REWARD` = 100 ARK. The block timestamp is set once for the whole transaction. `run()` does not warp.","rootCause",1],["42485-h-02-creators-can-steal-sale-revenue-from-owners-sales-code4","Foundation — Creators can steal sale revenue from owners' sales","audit-finding","AuditVault","2022-02",null,[],["untagged"],"Incorrect creator detection via mutable royalty registry","high","Foundation — `NFTMarketCreators` / `NFTMarketFees`",null,"`isCreator` was overloaded to mean both \"seller is the creator\" and \"seller appears in royalty recipients\" (needed for split primary sales). The Royalty Registry makes recipient lists mutable post-mint, so a creator can flip a secondary sale into the creator-sale payout path on demand.","rootCause",1],["19489-staker-potentially-missing-out-on-rewards-or-losses-sigmapri","Linkpool staking — withdraw pays 100e18 when the fair amount is 110e18","audit-finding","AuditVault","2022-02",null,["vuln/logic/reward-calculation"],["logic"],null,null,"Linkpool",null,"`totalStaked` is the last folded-in base, not the strategy's current balance. Profit that has not been copied into `totalStaked` is invisible to `withdraw`, so the staker is paid as if the gain did not exist.","rootCause",1],["2022-02-Meter","Meter.io Exploit — AnyswapV3ERC20 transferWithPermit Guard Logic Flaw","incident","DeFiHackLabs","2022-02","Moonbeam",["vuln/logic/wrong-condition","vuln/auth/signature-validation"],["logic","auth"],"Logic flaw in `transferWithPermit`: `require(to != address(0) || to != address(this))` is tautologically true (should be `&&`); the destination guard does nothing, and the permit/transfer path lets tokens be moved against a target's signature without the intended self/zero protections.",null,null,"~$1M WETH-equivalent","A boolean-operator bug (`||` vs `&&`) defeats a safety `require`, on a function that performs a permissionless, signature-driven direct-storage token transfer. The compound defects: 1. The guard is tautological — it never reverts, so `to` is unconstrained. 2. `transferWithPermit` bypasses the normal `transfer`/`approve` flow and writes `balanceOf` directly, so any signature-authorised movement that the (broken) guard would have blocked now silently succeeds. [continues]","rootCause",1],["2022-02-TecraSpace","TecraSpace (TCR) Exploit — Swapped Allowance Keys in burnFrom","incident","DeFiHackLabs","2022-02","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/logic/missing-validation"],["logic"],"Logic flaw — `burnFrom` indexes the allowance mapping with swapped keys (`_allowances[msg.sender][from]` instead of `_allowances[from][msg.sender]`), so an attacker who *approved the pool* can burn the pool's tokens.",null,null,"639,222 USDT","A transposed mapping key in an allowance guard, which inverts who authorises whom. ERC20's `allowance[owner][spender]` convention is global; reversing the keys on a privileged path (`burnFrom`) turns \"spender needs owner's permission\" into \"owner needs spender's permission\" — and since the caller *is* the spender, the caller can self-satisfy the check by approving the victim. The pool's tokens become burnable by anyone who merely approved the pool. [continues]","rootCause",1],["2022-02-Sandbox","The Sandbox LAND Exploit — Public _burn of Anyone's NFT","incident","DeFiHackLabs","2022-02","Ethereum",["vuln/access-control/missing-auth","vuln/access-control/broken-logic"],["access-control"],"Access control — the internal NFT `_burn` was exposed as an external/public function with no caller check, so anyone can burn any holder's tokens.",null,null,"Asset destruction / griefing","A visibility / access-control defect: an internal `_burn` (an ERC721 implementation detail) was declared `public`/`external` instead of `internal`, with no `onlyOwner` / `onlyApprovedOperator` gate. The correct ERC721 pattern is: `_burn` is internal (only the contract's own logic calls it). The public exit point is `burn(uint256 tokenId)`, which checks `_isApprovedOrOwner(msg.sender, tokenId)`. Sandbox exposed the helper directly, so any address could destroy any other address's LAND. [continues]","rootCause",1],["2022-01-Anyswap","Anyswap (Multichain V4 Router) Exploit — Underlying-Transfer Cross-Chain Drain","incident","DeFiHackLabs","2022-01","Ethereum",["vuln/dependency/unsafe-external-call","vuln/logic/missing-validation"],["dependency","logic"],"Logic flaw — `anySwapOutUnderlyingWithPermit` trusts a malicious `token`'s `underlying()`/`depositVault()` callbacks, moving real underlying (`WETH.transferFrom`) into the anyToken contract which the attacker then drains",null,null,"~$8M (WETH) across the incident","A trust boundary violation: the router accepts an arbitrary `address token` from the caller and treats it as a fully-trusted Anyswap bridge token, calling privileged functions (`burn`, `depositVault`) and trusting its `underlying()` view. The two safety properties that should have held: 1. `token` must be whitelisted/registered as a genuine Anyswap bridge asset. 2. The underlying must be moved to the *router* (or escrowed), not to `token`, unless `token` is trusted. Both were missing. [continues]","rootCause",1],["16760-setminimumdistribution-not-protected","Basis MultiDistributor — unprotected minimum-distribution list growth","audit-finding","AuditVault","2022-01",null,["vuln/access-control/missing-auth","vuln/dos/unbounded-loop"],["access-control","dos"],null,null,null,null,"The mutator is public and unbounded while `distribute` iterates the entire `tokens` array. No role, allowlist, or cap protects the expensive state transition.","rootCause",1],["42454-h-03-double-transfer-in-the-transferandcall-function-of-erc6","Behodler — Double transfer in ERC677 transferAndCall","audit-finding","AuditVault","2022-01",null,[],["untagged"],null,"high","Behodler — Flan / ERC677",null,"Redundant transfer after the ERC20 base transfer already moved the tokens. Flan inherits ERC677, so all `transferAndCall` users are affected.","rootCause",1],["42453-h-01-lack-of-access-control-on-assertgovernanceapproved-can","Behodler / LimboDAO — assertGovernanceApproved has no access control (anyone can lock a user's funds)","audit-finding","AuditVault","2022-01",null,["vuln/access-control/missing-check","vuln/dos/frozen-funds"],["access-control","dos"],null,null,null,null,"`FlashGovernanceArbiter.assertGovernanceApproved` is declared `public` with no access control and trusts its `sender` argument as the `transferFrom` source: The function never checks that `msg.sender == sender`. Any address can pass a victim as `sender`. [continues]","rootCause",1],["28161-possibility-of-taking-burned-shares-mixbytes-none-lido-markd","Lido — an uncapped share burn can be taken by a fresh deposit","audit-finding","AuditVault","2022-01","Ethereum",["vuln/defi/sandwich-attack","vuln/logic/price-calculation"],["defi","logic"],null,null,"Lido",null,"`burnShares` decreases `totalShares` and leaves `totalPooledEther` unchanged. Every share outstanding at that moment is worth more stETH. The report does not limit how large that rebase is, so arriving in the same transaction as the report is enough. The searcher does not need a position from before the report.","rootCause",1],["24657-h-03-a-malicious-treasury-manager-can-burn-treasury-tokens-b","Notional — malicious treasury manager can burn treasury tokens via makerFee","audit-finding","AuditVault","2022-01",null,[],["untagged"],"fee-calculation","high","Notional",null,"Missing zero-fee checks in EIP1271Wallet._validateOrder.","rootCause",1],["24655-h-01-treasury-cannot-claim-comp-tokens-comp-tokens-are-stuck","Notional TreasuryAction — COMP harvest keeps only the balance delta","audit-finding","AuditVault","2022-01",null,["vuln/logic/incorrect-state-transition","vuln/dos/frozen-funds","vuln/dependency/unsafe-external-call"],["logic","dos","dependency"],null,null,"Notional",null,"Compound's `claimComp(address holder, address[] cTokens)` does not check `msg.sender`. Rewards can be pushed onto TreasuryAction at any time. Because the harvest measures a delta instead of the contract's COMP balance, those tokens are invisible to the sweep. Notional's own note says the tokens can only be recovered later by listing cCOMP and using a different reserve path, which is an upgrade, not a harvest.","rootCause",1],["17097-origin-malicious-erc20-finalization-dos","Origin — arbitrary ERC20 can block offer finalization","audit-finding","AuditVault","2022-01",null,["vuln/dependency/unsafe-external-call","vuln/dos/frozen-funds","vuln/input-validation/missing"],["dependency","dos","input-validation"],null,null,null,null,"makeOffer accepts untrusted currency and finalize performs mandatory transfer calls to it.","rootCause",1],["17095-origin-marketplace-repeated-withdraw","Origin — listing deposit can be withdrawn repeatedly","audit-finding","AuditVault","2022-01",null,["vuln/logic/state-update","vuln/logic/missing-check","vuln/logic/wrong-condition"],["logic"],null,null,null,null,"The function transfers listing.deposit without a consumed/withdrawn state transition.","rootCause",1],["17100-origin-token-migration-marketplace-reference","OriginToken migration leaves V00 Marketplace escrow on the paused token","audit-finding","AuditVault","2022-01","Ethereum",["vuln/dependency/upgradeable-contract","vuln/logic/incorrect-state-transition","vuln/dos/lockup"],["dependency","logic","dos"],"Migration pauses the old token, but the Marketplace has no migration hook for its token reference (`tokenAddr`) or existing offer currencies (`Offer.currency`).",null,null,"A 10 OGN listing deposit and a 20 OGN offer","Existing listings and offers can neither be finalized nor withdrawn after migration. Un-pausing the old token would settle against a token that is no longer the active OGN contract, while the newly minted balance is ignored. Migration must update the Marketplace token reference and every outstanding offer atomically, or provide a validated escrow conversion/refund path before pausing the old token.","impact",1],["2022-01-Qubit","Qubit Finance QBridge Exploit — Zero-Address Token Whitelist Bypass","incident","DeFiHackLabs","2022-01","Ethereum",["vuln/bridge/missing-validation","vuln/access-control/broken-logic"],["bridge","access-control"],"Uninitialized/default mapping abuse — unknown `resourceID` → `tokenAddress = address(0)`, which is wrongly whitelisted (`contractWhitelist[0]==true`), so a deposit records success without moving any token, letting the bridge mint unbacked funds on the destination chain.",null,null,"~$80M (the largest Qubit incident","A sentinel / default-value bug plus a missing zero-address guard. The whitelist is the handler's only trust gate before it authorises a cross-chain mint. By letting `address(0)` through: Any `resourceID` not in the mapping becomes a \"valid, whitelisted token address.\" `safeTransferFrom(0x0, …)` is a call to an EOA — it returns `(success=true, data=\"\")`, which the OZ helper treats as a successful ERC20 transfer. So the deposit accounting proceeds as if real tokens were locked, when none were. [continues]","rootCause",1],["28208-using-tokens-with-whitelist-function-mixbytes-none-gearbox-p","Gearbox V1 — a failed whitelist transfer is still added to totalValue","audit-finding","AuditVault","2021-12",null,["vuln/logic/liquidation-logic","vuln/logic/missing-check","vuln/dos/frozen-funds"],["logic","dos"],"Liquidation value counted after a reverted transfer",null,null,"1,000 WUSD stuck on the credit account","Success of the transfer and inclusion in `totalValue` are not the same condition. `force` only decides whether a revert aborts the transaction. It does not decide whether `tv` is real. A whitelist token (USDT-style) reverts when the sender or the recipient is not allowed, so the whole balance stays put while the quote still increases.","rootCause",1],["2021-12-Grim","Grim Finance Exploit — Reentrant depositFor() Share Inflation in the GrimBoost Vault","incident","DeFiHackLabs","2021-12","Fantom",["vuln/reentrancy/single-function","vuln/dependency/unsafe-external-call"],["reentrancy","dependency"],"Reentrancy via attacker-controlled `token` parameter in `depositFor()` → vault-share inflation (CEI / untrusted-external-call)",null,null,"362,770.6 WFTM + 11.78 anyBTC extracted from the GrimBoost vault / SpiritSwap pool","Three design flaws compose into a critical bug: 1. Untrusted external call as the deposit mechanism. `depositFor` pulls funds via `token.transferFrom(...)` with a caller-chosen `token`. That hands the attacker an arbitrary callback in the middle of the deposit. Even the `want()` re-check the vault performs (the repeated `want()` / `balanceOf(vault)` staticcalls in the trace) is useless because the *reentrancy* — not the final token identity — is what's abused. 2. Stale balance anchor (CEI violation). [continues]","rootCause",1],["19837-h-01-wrong-fee-calculation-after-totalsupply-was-0-code4rena","Kuiper — stale fee checkpoint after totalSupply reaches zero","audit-finding","AuditVault","2021-12",null,["vuln/logic/fee-calculation","vuln/logic/state-update","vuln/arithmetic/precision-loss"],["logic","arithmetic"],"Fee-accounting state update omitted on the zero-supply branch.","high",null,"Extra fee tokens are minted after a zero-supply interval, diluting basket holders' underly","The zero-supply branch updates neither the fee checkpoint nor a separate “inactive” marker. Consequently, elapsed time is measured from the last non-zero-supply checkpoint instead of from the first resumed supply.","rootCause",1],["2021-12-NerveBridge","Nerve Bridge (Saddle/MetaSwap) Exploit — Stale baseVirtualPrice Cache Lets a Round-Trip Mint Free fUSD","incident","DeFiHackLabs","2021-12","BNB Chain",["vuln/oracle/stale-price","vuln/logic/state-update"],["oracle","logic"],"Stale cached oracle/virtual-price (price-cache desync) → broken StableSwap invariant via asymmetric round-trip",null,null,"~39,052 BUSD net profit per attack run","MetaSwap values the base-pool LP token with a cached `baseVirtualPrice` (up to 10 minutes stale), while the base pool itself values the very same LP with its live, current-state virtual price. A single transaction can therefore buy LP cheap inside the metapool and redeem/redeposit it at the real price, pocketing the difference — repeatedly. Three design decisions compose into the bug: 1. Cross-contract price desync. The metapool and base pool disagree on `value(1 LP)` within the same block. [continues]","rootCause",1],["56297-deposits-and-shares-may-get-stuck-zokyo-none-rainmaker-markd","Rainmaker — transferring TimeLockPool shares sticks both the deposit and the shares","audit-finding","AuditVault","2021-12",null,["vuln/dos/frozen-funds","vuln/logic/state-update","vuln/logic/missing-check"],["dos","logic"],null,null,null,null,"`deposit` pushes a `Deposit` onto `depositsOf[receiver]` and mints the same amount of shares. `transfer` moves only the share balance. After maturity: user1 still has the `Deposit` but no shares, so `withdraw` reverts on the share burn and the tokens stay in the pool; user2 has the shares and an empty `depositsOf` array, so `withdraw` reverts `\"Deposit does not exist\"`; User2 is a contract with no share-transfer function, so the shares cannot be sent back. Duration is 0, so the lock is already mature in this block. [continues]","rootCause",1],["56308-reentrancy-attack-in-emergencywithdraw-function-zokyo-none-s","Stargate — LPStaking.emergencyWithdraw pays user.amount before clearing it","audit-finding","AuditVault","2021-12",null,["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations","vuln/logic/missing-check"],["reentrancy","logic"],null,null,null,null,"The December 2021 `emergencyWithdraw` transferred `user.amount` and only then wrote `user.amount = 0` and `user.rewardDebt = 0`. The LP token notifies the recipient, so the attacker re-enters while `user.amount` is still the full stake and is paid again. The function also has no emergency-status check, so it is callable in the normal state. A victim has 1000 LP staked. The attacker stakes 100 LP, calls `emergencyWithdraw`, and the callback calls it again. The attacker receives 200 LP. [continues]","rootCause",1],["10705-c01-trapped-proposer-reward-openzeppelin-uma-audit-l2-bridge","UMA prepaid proposer reward of 100 stays trapped in the pair","audit-finding","AuditVault","2021-12",null,["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],null,null,"UMA Long Short Pair",null,"Two independent transfers both intend to fund the same oracle reward. Only the second one is approved to the oracle. The first one has no withdrawal path.","rootCause",1],["2021-12-Visor","Visor Finance (vVISR) Exploit — Free Share Minting via Attacker-Controlled delegatedTransferERC20","incident","DeFiHackLabs","2021-12","Ethereum",["vuln/dependency/unchecked-return-value","vuln/logic/missing-validation"],["dependency","logic"],"Unverified external token transfer — trusting an attacker-controlled `from` contract to (a) self-report its `owner()` and (b) actually move the deposited tokens",null,null,"~$8.2M","The protocol delegates the act of receiving funds to an untrusted, caller-supplied contract, then mints shares as if the funds were received — without ever checking its own balance. A safe vault-deposit pattern must either: pull tokens with `transferFrom` from an address the protocol can hold accountable (and only credit what was actually pulled), or [continues]","rootCause",1],["42324-h-01-anyone-can-arbitrarily-call-fsdvestingupdatevestedtoken","FairSide — anyone can inflate FSDVesting and claim the balance","audit-finding","AuditVault","2021-11","Ethereum",["vuln/access-control/missing-auth","vuln/logic/reward-calculation"],["access-control","logic"],null,null,"FairSide",null,"The beneficiary check does not bind `msg.sender`. Each user has their own vesting contract, and the intended writer is `FSD`. Without that restriction the stored `amount` can be raised above the tokens actually deposited, and the cliff percentage then covers the whole balance.","rootCause",1],["42326-h-03-beneficiary-cant-get-fairsideconviction-nft-unless-they","FairSide FSDVesting — a fully vested beneficiary never receives the conviction NFT","audit-finding","AuditVault","2021-11","Ethereum",["vuln/logic/wrong-condition"],["logic"],"NFT release compares the original vest to this claim only",null,null,"Conviction NFT 1 stays in FSDVesting","`tokenClaim` is the increment paid by the current call. `totalClaimed` is updated to `totalClaimed + tokenClaim` before the NFT check, but the check does not read `totalClaimed`. After any earlier claim, `tokenClaim` is strictly less than `amount` even when this call finishes the vest. The mint and the `transferFrom` sit inside that branch, so they never run. Once `totalClaimed` equals `amount`, a later call computes a zero claim and reverts on `tokenClaim > 0`. The NFT cannot be released by any later transaction.","rootCause",1],["2021-11-Mono","MonoX Finance Exploit — Self-Swap Price Inflation (swapExactTokenForToken(MONO, MONO))","incident","DeFiHackLabs","2021-11","Ethereum",["vuln/oracle/price-manipulation","vuln/logic/price-calculation"],["oracle","logic"],"Broken AMM price accounting — a token can be swapped *for itself*, and the swap's price update ratchets the token's price upward on every call (unbounded self-referential price inflation)",null,null,"~$31M total in the live hack","Two independent design defects compose into a critical, near-zero-capital drain: 1. A token can be swapped for itself. `swapExactTokenForToken(MONO, MONO, …)` is accepted. The price-update math was written assuming `tokenIn` and `tokenOut` are *different* pools. When they are the same pool, the two sequential `_updateTokenInfo` writes operate on the same storage slot, and the second (price-up) write overwrites the first (price-down), so the invariant \"a round-trip is value-neutral\" is broken. [continues]","rootCause",1],["2021-11-Ploutoz","Ploutoz / Dollar Online (DOP) Exploit — Spot-Price Oracle Manipulation Against a bZx/Fulcrum-Fork Lending Pool","incident","DeFiHackLabs","2021-11","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/single-source","vuln/governance/flash-loan-attack"],["oracle","governance"],"Manipulable single-source spot-price oracle → under-collateralized borrow (flash-loan price manipulation)",null,null,"~330,710 BUSD profit to the attacker","A lending protocol's single most safety-critical input is the price of collateral. Ploutoz priced its DOP collateral from the instantaneous reserves of one low-liquidity AMM pair, with no time-weighting and no sanity bound: `collateral value = DOP_amount × latestAnswer(DOP)`, and `latestAnswer(DOP) = reserveBUSD / reserveDOP` of the Twindex pair — a number anyone can move in a single transaction by swapping into that pair. The four design facts that compose into a critical bug: 1. Spot-price oracle. [continues]","rootCause",1],["42395-h-04-improper-implementation-of-arbitrarycall-allows-protoco","Streaming — arbitraryCall lets compromised gov drain user allowances","audit-finding","AuditVault","2021-11",null,["vuln/access-control/dangerous-call","vuln/approval/leftover-allowance"],["access-control","approval"],null,"high","Streaming Protocol",null,"After an incentive is claimed, incentives[token]==0 so compromised governance can arbitraryCall the token with transferFrom and steal leftover allowances","tldr",1],["42396-h-10-recovertokens-doesnt-work-when-issale-is-true-code4rena","Streaming — recoverTokens broken after creatorClaimSoldTokens (isSale)","audit-finding","AuditVault","2021-11",null,["vuln/accounting/missing-state-update","vuln/loss-of-funds/locked-funds"],["accounting","loss-of-funds"],null,"high","Streaming Protocol",null,"creatorClaimSoldTokens does not update redeemedDepositTokens, so recoverTokens underflows and excess deposit tokens are permanently locked","tldr",1],["42394-h-02-tokens-can-be-stolen-when-deposittoken-rewardtoken-code","Streaming — recoverTokens steals rewards when depositToken == rewardToken","audit-finding","AuditVault","2021-11",null,["vuln/accounting/same-token-double-count","vuln/access-control/privileged-drain"],["accounting","access-control"],null,"high","Streaming Protocol",null,"When deposit and reward tokens are the same, recoverTokens' deposit excess formula includes the reward inventory and the creator drains user rewards","tldr",1],["42334-h-04-twaporacle-doesnt-calculate-vaderusdv-exchange-rate-cor","Vader Protocol — TWAP decimal-count price collapse causes USDV over-minting","audit-finding","AuditVault","2021-11",null,["vuln/oracle/price-manipulation","vuln/arithmetic/decimal-mismatch","vuln/logic/price-calculation"],["oracle","arithmetic","logic"],"Decimal-scale mismatch / manipulated price calculation","high","Vader Protocol",null,"The calculation confuses a metadata value with a numerical unit conversion. The oracle's consumers expect a price represented in token base units, while the oracle returns only the number of decimal places. A downstream minter cannot distinguish the malformed `18` from a legitimate price, so inverse pricing turns the tiny denominator into a massive issuance amount.","rootCause",1],["42336-h-14-anyone-can-arbitrarily-mint-fungible-tokens-in-vaderpoo","VaderPoolV2 mintFungible steals a victim's deposit to an attacker (arbitrary from)","audit-finding","AuditVault","2021-11",null,["vuln/access-control/missing-auth","vuln/defi/frontrun"],["access-control","defi"],null,null,null,null,"`VaderPoolV2.mintFungible` is `external` and permissionless, yet it takes a caller-supplied `from` and pulls BOTH deposits from it: A user first `approve`s the pool for both assets, then calls `mintFungible` for themselves. Because `from` is unauthenticated, any account can front-run the victim, calling `mintFungible(foreignAsset, nativeDeposit, foreignDeposit, from = victim, to = attacker)`. [continues]","rootCause",1],["42335-h-13-anyone-can-arbitrarily-mint-synthetic-assets-in-vaderpo","VaderPoolV2 mintSynth mints a victim's deposit to an attacker (arbitrary from)","audit-finding","AuditVault","2021-11",null,["vuln/access-control/missing-auth","vuln/defi/frontrun"],["access-control","defi"],null,null,null,null,"`VaderPoolV2.mintSynth` is `external` and permissionless, yet it takes a caller-supplied `from` and pulls the native deposit from it: The protocol intends users to interact through the router, so a user first `approve`s the pool and then calls `mintSynth` for themselves. Because `from` is unauthenticated, any account can watch the mempool for a pool approval and front-run the victim, calling `mintSynth(foreignAsset, nativeDeposit, from = victim, to = attacker)`. [continues]","rootCause",1],["42333-h-02-redemption-value-of-synths-can-be-manipulated-to-drain","VaderPoolV2 synth redemption priced off manipulable spot reserves drains the pool","audit-finding","AuditVault","2021-11",null,["vuln/defi/price-manipulation","vuln/oracle/spot-price","vuln/defi/direct-drain"],["defi","oracle"],null,null,null,null,"`VaderPoolV2` prices synth minting and redemption off the pool's instantaneous, manipulable spot reserves via `VaderMath.calculateSwap` — with no manipulation-resistant oracle: Because the reserves used for pricing can be moved within the same transaction, an attacker can mint synths cheaply while native looks \"valuable\", then redeem them while native looks \"cheap\", withdrawing more native than they deposited. [continues]","rootCause",1],["42307-h-01-usage-of-an-incorrect-version-of-ownbale-library-can-po","Covalent staking — non-upgradeable Ownable leaves 1000 CQT stuck","audit-finding","AuditVault","2021-10",null,["vuln/dependency/upgradeable-contract","vuln/access-control/uninitialized-owner","vuln/dos/frozen-funds"],["dependency","access-control","dos"],null,null,"Covalent",null,"A proxy `delegatecall`s the implementation, but it uses the proxy's storage. `Ownable`'s constructor runs only when the implementation is created, so it stores the deployer in the implementation's slot 0. The proxy's slot 0 stays zero. Every `onlyOwner` function, including `depositRewardTokens` and `takeOutRewardTokens`, reverts for every caller.","rootCause",1],["2021-10-Cream_2","Cream Finance (Oct 2021) Exploit — yUSD pricePerShare Donation-Inflation → Over-Collateralized Borrow","incident","DeFiHackLabs","2021-10","Ethereum",["vuln/oracle/price-manipulation","vuln/arithmetic/precision-loss"],["oracle","arithmetic"],"Manipulable share-price oracle — collateral mispricing via permissionless ERC-20 donation to a Yearn vault",null,null,"~$130M drained from Cream Finance lending markets","Cream's oracle treated a manipulable `totalAssets/totalSupply` ratio as a trustworthy price. A Yearn vault's `pricePerShare` is only \"fair\" when the only ways to change `totalAssets` and `totalSupply` are matched (`deposit` mints proportional shares, `withdraw` burns proportional shares). The instant an attacker can change *one without the other* — by `withdraw`-ing all shares and then donating the underlying back via a raw `transfer` — the ratio is fully under their control. [continues]","rootCause",1],["2021-10-IndexedFinance","Indexed Finance Exploit — reindexPool + updateMinimumBalance Index-Token Mint/Redeem Manipulation","incident","DeFiHackLabs","2021-10","Ethereum",["vuln/oracle/price-manipulation","vuln/logic/price-calculation"],["oracle","logic"],"Manipulable index-token valuation — controller re-weights a pool using *current* (attacker-drained) reserves, letting the attacker mint index tokens cheaply and redeem them for the full underlying basket",null,null,"~$36M of underlying tokens drained from two index pools","The controller answers \"how much of new token X is one index-share worth?\" using the pool's own current reserves, which the caller controls in the same transaction. Four design decisions compose into a critical mint/redeem arbitrage: 1. Instantaneous pool valuation. `extrapolatePoolValueFromToken()` reads a *live* token balance with no smoothing. Swapping the pool's holdings into one anchor token before calling `updateMinimumBalance` makes the controller believe the pool is ~40× smaller than it is. [continues]","rootCause",1],["42292-h-01-vecvxstrategymanualrebalance-has-wrong-logic-code4rena","Badger veCVX — manualRebalance locks the liquid balance","audit-finding","AuditVault","2021-09","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/logic/wrong-condition"],["arithmetic","logic"],null,null,"BadgerDAO veCVX",null,"The two values are not in the same unit, and the later code treats both as CVX. Once `totalCVXBalance` is larger than 1 CVX, `newLockRatio` is almost always greater than `currentLockRatio`, so the lock branch is taken, and the amount is nearly the whole target rather than the shortfall against what is already locked. When that target exceeds the liquid balance, every liquid token is locked.","rootCause",1],["2021-09-DaoMaker","DAO Maker Exploit — Unprotected init() Re-initialization → emergencyExit Vesting Drain","incident","DeFiHackLabs","2021-09","Ethereum",["vuln/access-control/uninitialized-proxy","vuln/data/uninitialized"],["access-control","data"],"Unprotected / re-callable initializer (missing `initializer` guard + missing access control) → privilege escalation → owner-gated fund drain",null,null,"5,760,000 DERC","Two independent omissions in the vesting clone compose into a critical bug: 1. Re-callable initializer. Clone contracts have no constructor, so initialization is done via an external `init`. The standard, mandatory pattern is to guard it with an `initializer` / \"already-initialized\" check (e.g. OpenZeppelin `Initializable`). DAO Maker's `init` had no such guard, so it could be invoked a second time on an already-live, already-funded contract. 2. No access control on `init`. [continues]","rootCause",1],["18030-liquity-zero-icr-trove-removal","Liquity — zero-ICR reinsertion strands a trove","audit-finding","AuditVault","2021-09",null,["vuln/logic/wrong-condition","vuln/logic/state-update","vuln/dos/frozen-funds"],["logic","dos"],null,null,null,null,"The zero-ICR branch omits reinsertion while other protocol state still assumes the trove is in the sorted list.","rootCause",1],["2021-09-Sushimiso","MISO / SushiSwap Dutch Auction — batch() delegatecall Reuses msg.value","incident","DeFiHackLabs","2021-09","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/dependency/unsafe-external-call"],["logic","dependency"],"`msg.value` reused across `delegatecall`s in a batched-call loop (value-double-counting / refund amplification)",null,null,"400 ETH drained from the live `DutchAuction` at fork block 13,038,771","A normal external call gives each callee its own `msg.value` (and ETH actually moves). `DELEGATECALL`, by EVM design, preserves the caller's `msg.value` without moving any ETH — the callee executes \"as if it were the same call.\" `batch()` issues N `delegatecall`s in sequence, so all N sub-calls observe the identical `msg.value` even though only one `msg.value` worth of ETH ever entered the contract. `commitEth` then makes a fatal assumption: [continues]","rootCause",1],["2021-09-Nimbus","Nimbus Pair Exploit — Broken K-Invariant Check (10000 vs 1000 Scaling Bug)","incident","DeFiHackLabs","2021-09","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/logic/incorrect-order-of-operations"],["arithmetic","logic"],"Broken constant-product (`x·y ≥ k`) invariant check — wrong numeric scaling factor (`10000` on balances vs `1000²` on reserves)",null,null,"73.60 USDT drained from the USDT/NBU Nimbus pair in a single `swap()`","A single copy-paste mistake when changing the swap fee: The balance scaling factor was raised from `1000` → `10000` (to express a 0.15% fee), but the reserve-side scaling on the right of the inequality stayed at `10002`. The invariant's two sides are no longer dimensionally consistent, so the `K` check is 100× weaker than intended and stops enforcing the constant product. The two correct fixes are mutually exclusive but either would work: keep `mul(10000)` on balances and change the RHS to `mul(100002)`, or [continues]","rootCause",1],["2021-09-NowSwap","NowSwap / Nimbus Exploit — Broken k-Invariant via a 10000 vs 1000 Scaling Mismatch","incident","DeFiHackLabs","2021-09","Ethereum",["vuln/arithmetic/decimal-mismatch","vuln/logic/incorrect-order-of-operations"],["arithmetic","logic"],"Broken constant-product (`x·y ≥ k`) check — dimensional/scaling mismatch in the swap invariant",null,null,"~6,247.5 NBU drained from the NWETH/NBU pair in a single swap","The `k`-check is supposed to enforce, after fees, that the product of reserves does not shrink: For the inequality to mean anything, the `scale` on the LHS (applied once per balance, so `scale²` in the product) must equal the `scale²` on the RHS. Nimbus broke that: | Side | Scale per term | Scale of product | | LHS `balanceN.mul(10000)` | `10000` | `10000² = 1e8` | | RHS `…mul(10002)` | — | `1000² = 1e6` |; LHS is `100×` larger than it should be for the comparison to be apples-to-apples. [continues]","rootCause",1],["2021-09-ZABU","ZABU Finance Exploit — MasterChef Reward Inflation via Fee-on-Transfer lpSupply Collapse","incident","DeFiHackLabs","2021-09","Avalanche",["vuln/logic/reward-calculation","vuln/oracle/price-manipulation"],["logic","oracle"],"Accounting integrity — MasterChef reward-per-share derived from manipulable live LP-token balance + fee-on-transfer mismatch",null,null,"4,526,636,431 ZABU drained from the farm, dumped for +1,089.39 WAVAX net profit","A MasterChef must never treat a fee-on-transfer token's live `balanceOf` as the authoritative share supply. SPORE's 6% transfer fee lets an attacker make the farm's recorded liabilities and its actual token balance diverge without limit. Because the reward accumulator divides by that shrinking balance, the attacker manufactures an unbounded `accZABUPerShare` and redeems it against a stake they pre-positioned — converting the farm's entire reward treasury into their own. The composition of design decisions: [continues]","rootCause",1],["2021-08-Cream","Cream Finance / AMP Exploit — Cross-Market Reentrancy via ERC777 tokensReceived","incident","DeFiHackLabs","2021-08","Ethereum",["vuln/reentrancy/cross-contract"],["reentrancy"],"Cross-contract (cross-market) reentrancy — Checks-Effects-Interactions violation + per-contract reentrancy lock",null,null,"~$18.8M","Three independent design facts compose into a critical bug: 1. Checks-Effects-Interactions is violated. `borrowFresh` transfers the underlying out (`doTransferOut`, L785) *before* recording the debt (L788-790). Any reentrant read of the borrower's liquidity during the transfer sees an account with no debt for this borrow. 2. The reentrancy lock is scoped to one contract. `_notEntered` is per-CToken (L1422). Re-entering a *different* market is unguarded. [continues]","rootCause",1],["2021-08-PolyNetwork","Poly Network Exploit — Function-Selector Collision Hijacks the Cross-Chain Keeper Public Key","incident","DeFiHackLabs","2021-08","Ethereum",["vuln/access-control/broken-logic","vuln/bridge/message-spoofing"],["access-control","bridge"],"Access-control bypass via function-selector collision + cross-chain message authenticity not enforcing target/owner separation",null,null,"One of the largest hacks in DeFi history","Two independent flaws compose into a catastrophic one: 1. Unrestricted target + caller-confused deputy. `verifyHeaderAndExecuteTx` lets an arbitrary, proof-supplied `toContract`/`method` be invoked by the ECCM itself. The ECCM is a privileged principal (it owns ECCD and is the manager of LockProxy), but its dispatch primitive treats every cross-chain instruction as fungible. There is no allow-list preventing the dispatcher from being pointed back at the bridge's own administrative contracts. [continues]","rootCause",1],["2021-08-Popsicle","Popsicle Finance (Sorbetto Fragola) Exploit — LP-Token Transfer Skips Reward-Debt Sync","incident","DeFiHackLabs","2021-08","Ethereum",["vuln/logic/state-update","vuln/logic/reward-calculation"],["logic"],"Missing reward-debt synchronization on LP-token `transfer` (MasterChef-style accounting bug)",null,null,"~$20.7M across 8 vaults","A MasterChef-style fee-per-share ledger has exactly one invariant that *must* hold: Whenever an account's share balance changes, its reward debt must be re-snapshotted to the current accumulator *first*. Otherwise the next reward calculation pays out fees for shares the account didn't actually hold during accrual. `SorbettoFragola` enforces this only on the three \"official\" entry points (`deposit`, `withdraw`, `collectFees`) but the PLP token is a transferable ERC20. [continues]","rootCause",1],["2021-08-WaultFinance","Wault Finance Exploit — WUSDMaster redeem() Pro-Rata WEX Drain via Self-Manipulated WEX Price","incident","DeFiHackLabs","2021-08","BNB Chain",["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Price-manipulation of an internal accounting oracle (spot-price/balance-based pro-rata redemption) + flash-loan-funded redeem/stake imbalance",null,null,"~117,670 BUSD captured in the reproduced PoC","The redeem-side accounting is a balance/supply spot \"oracle\" for the WEX share, and the stake-side swap is a zero-slippage spot purchase. Both read state the attacker can move in-transaction, and nothing ties WEX-out to WEX-in: 1. Manipulable pro-rata numerator/denominator. `wexTransferAmount = wexBalance × amount / totalSupply` uses two live globals. [continues]","rootCause",1],["2021-08-XSURGE","XSURGE (Surge) Exploit — Reentrancy on a Liquidity-less Bonding-Curve Token","incident","DeFiHackLabs","2021-08","BNB Chain",["vuln/reentrancy/single-function"],["reentrancy"],"Reentrancy — external value call before balance/supply state update (CEI violation)",null,null,"~$2.56M at the time","Two compounding defects: 1. CEI violation in `sell()`. The BNB transfer (interaction) happens before the balance/supply decrements (effects). During that window the contract's *accounting* is inconsistent: the seller has already received BNB, but `totalSupply` still counts the tokens being sold, so `calculatePrice()` and the mint formula both see a *stale, attacker-favorable* state. 2. Incomplete reentrancy guard. `nonReentrant` is applied to `sell()` only. [continues]","rootCause",1],["2021-07-Chainswap_exp1","ChainSwap Exploit — Self-Signed receive() Cross-Chain Mint (Forgeable Validator Set)","incident","DeFiHackLabs","2021-07","Ethereum",[],["untagged"],"Forgeable signature set / self-authorizing validator — broken cross-chain mint authorization",null,null,"~$8M across many bridged tokens","The validator check is self-referential. ChainSwap intended: \"recover the signer, then confirm the signer is one of our trusted oracles.\" What it actually wrote: \"recover the signer, then confirm the signer equals the address the *caller* told us the signer would be.\" `signatures[i].signatory` is attacker-supplied calldata, not protocol state. The pair `(signature, signatory)` is fully attacker-controlled, so `ecrecover == signatory` is a tautology for anyone who can sign a message — i.e. everyone. [continues]","rootCause",1],["2021-07-Chainswap_exp2","ChainSwap Exploit (BSC) — Self-Signed receive() Cross-Chain Mint (Forgeable Validator Set)","incident","DeFiHackLabs","2021-07","BNB Chain",[],["untagged"],"Forgeable signature set / self-authorizing validator — broken cross-chain mint authorization",null,null,"~$8M across both chains and dozens of bridged tokens","The validator check is self-referential. ChainSwap intended: \"recover the signer, then confirm the signer is one of our trusted oracles.\" What it actually wrote: \"recover the signer, then confirm the signer equals the address the *caller* told us the signer would be.\" `signatures[i].signatory` is attacker-supplied calldata, not protocol state. The pair `(signature, signatory)` is fully attacker-controlled, so `ecrecover == signatory` is a tautology for anyone who can sign a message — i.e. everyone. [continues]","rootCause",1],["25506-h-05-approval-is-not-reset-if-the-call-to-ifulfillhelper-fai","Connext fulfill — a failed helper keeps a 1000 approval and spends the next deposit","audit-finding","AuditVault","2021-07",null,["vuln/logic/missing-check","vuln/logic/state-update","vuln/dependency/unsafe-external-call"],["logic","dependency"],null,null,"Connext TransactionManager",null,"The approval is granted before the external call and is not inside the successful path only. A revert in the helper skips every line that would have consumed the allowance, and the catch does not clear it. The allowance stays equal to `toSend`.","rootCause",1],["2021-07-Levyathan","Levyathan Finance Exploit — Leaked Deployer Key → Timelock-Gated Ownership Hijack → Unlimited mint()","incident","DeFiHackLabs","2021-07","BNB Chain",["vuln/access-control/secret-exposure","vuln/access-control/centralization"],["access-control"],"Operational key compromise (leaked private key) + privileged minter via `Ownable`; plus a logic bug in `emergencyWithdraw` (transfers `rewardDebt`, not `amount`)",null,null,"~$1.5M","The primary root cause is operational, not a Solidity bug: the timelock proposer/executor private key was published. Once an attacker controls the only key that can `schedule()`/`execute()` timelock operations, the timelock provides no protection at all — it is simply a 2-day waiting room that the attacker walks through using the front door. The architectural decisions that turned a key leak into total loss are: 1. The mint key is reachable from a single EOA. [continues]","rootCause",1],["2021-06-88mph","88mph NFT Exploit — Unprotected init() Lets Anyone Seize Ownership of a Live NFT Clone","incident","DeFiHackLabs","2021-06","Ethereum",["vuln/access-control/missing-modifier","vuln/data/uninitialized"],["access-control","data"],"Missing initializer / access-control guard on a clone's `init()` (CWE-665 improper initialization → privilege escalation)",null,null,"No direct fund loss in this PoC","Minimal-proxy clones cannot use constructors, so the initialization logic must live in a regular function (`init`). The cardinal rule of that pattern is: an `init`/initializer function must be callable exactly once, and only by the deployer/factory. This contract violates *both* halves of that rule: 1. No \"already-initialized\" latch. There is no `initialized` boolean (the PoC's own comment even shows the *correct* pattern from `MPHToken.init()`: `require(!initialized, \"...\"); initialized = true;`). [continues]","rootCause",1],["16984-strategy-contracts-balance-tracking-system-could-facilitate","Base/reward token alias inflates burnForBase — reward-accounting theft","audit-finding","AuditVault","2021-06","Ethereum",["vuln/logic/reward-calculation","vuln/logic/missing-validation"],["logic"],"Reward token may equal base token",null,null,"Burners receive reward funding as if it were base principal","Configuration permits the reward token to alias base, so balance-based withdrawal cannot distinguish principal from reward reserves.","rootCause",1],["2021-06-Eleven","Eleven Finance Exploit — emergencyBurn() Pays Out Underlying Without Burning Vault Shares","incident","DeFiHackLabs","2021-06","BNB Chain",["vuln/logic/state-update","vuln/logic/missing-check"],["logic"],"Broken share accounting — emergency-exit path returns underlying without burning shares (double-redemption)",null,null,"~$647.5K","A share-vault's safety depends on a single conservation law: underlying out ⇔ shares burned, in equal measure. Every well-formed exit path must destroy shares proportional to the value it pays out, or the backing collapses. `emergencyBurn()` pays out underlying along a path that destroys zero shares: It transfers `balanceOf(msg.sender)` LP to the caller (sourcing the shortfall from the MasterMind stake, i.e. other users' funds) and then returns — leaving the caller's full share balance intact. [continues]","rootCause",1],["16975-lack-of-contract-existence-check-on-delegatecall-may-lead-to","Non-existent module delegatecall appears successful — unchecked target","audit-finding","AuditVault","2021-06","Ethereum",["vuln/dependency/unsafe-external-call","vuln/input-validation/missing"],["dependency","input-validation"],"Delegatecall lacks code-existence validation",null,null,"Batches silently skip a module call and continue with stale state","The registry's boolean membership check is treated as proof of executable code; the EVM's empty-account delegatecall behavior is ignored.","rootCause",1],["2021-06-PancakeHunny","PancakeHunny Exploit — mintFor() Reward Inflation via balanceOf(this) Donation","incident","DeFiHackLabs","2021-06","BNB Chain",["vuln/logic/reward-calculation","vuln/oracle/spot-price"],["logic","oracle"],"Accounting flaw — reward minting derived from `balanceOf(this)` instead of the declared fee amount (donation-poisonable \"profit\")",null,null,"~$700K–$1M drained from PancakeHunny vaults in the live incident","The intended invariant is: *HUNNY minted to a harvester == 3200 × (BNB value of the performance fee the vault actually paid)*. Two independent decisions break it: 1. `mintFor` uses `balanceOf(address(this))` instead of `feeSum`. The minter assumes its CAKE balance contains *only* the fee just transferred in. But CAKE is a freely transferable BEP20: anyone can `transfer()` tokens straight to the minter. Those donated tokens are silently treated as protocol profit. [continues]","rootCause",1],["16976-use-of-delegatecall-in-a-payable-function-inside-a-loop-trai","Payable delegatecall loop reuses msg.value — value-accounting hazard","audit-finding","AuditVault","2021-06","Ethereum",["vuln/dependency/unsafe-external-call","vuln/logic/state-update"],["dependency","logic"],"Payable delegatecall loop retains original value",null,null,"Future value-sensitive logic can count one payment multiple times","The batch abstraction does not constrain or account for value across delegated subcalls; each sees the same transaction value.","rootCause",1],["2021-06-SafeDollar","SafeDollar (SDO) Exploit — MasterChef Reward Inflation via Drained lpSupply Divisor","incident","DeFiHackLabs","2021-06","Polygon",["vuln/logic/reward-calculation","vuln/governance/flash-loan-attack"],["logic","governance"],"Reward-accounting divisor manipulation — `accRewardPerShare` computed from a live, externally-shrinkable `lpToken.balanceOf(pool)`",null,null,"188,156.50 USDC drained from the SDO/USDC pool","The pool measures \"total shares\" using `lpToken.balanceOf(address(this))` — an externally controllable quantity — instead of an internally tracked `totalDeposited` accumulator. Three design facts compose into a critical mint: 1. Live-balance divisor. `accSdoPerShare` is normalized by `balanceOf(pool)` read fresh in `updatePool`. Any actor who can move the pool's token balance can move the divisor. 2. Fee-on-transfer staked token + deposit fee = a free balance grinder. [continues]","rootCause",1],["16983-failure-to-use-the-batched-transaction-flow-may-enable-theft","Unbatched startPool can be front-run — initial mint theft","audit-finding","AuditVault","2021-06","Ethereum",["vuln/defi/sandwich-attack","vuln/logic/missing-check"],["defi","logic"],"Initial mint assigned to `msg.sender`",null,null,"An honest LP's preloaded base is minted to a front-runner","The function derives ownership from `msg.sender` rather than an explicit beneficiary tied to the deposit or a router-authenticated intent.","rootCause",1],["2021-06-xWin","xWin Finance Exploit — Disabled Slippage Control + _tradeParams.amount-Based Reward Inflation","incident","DeFiHackLabs","2021-06","BNB Chain",["vuln/defi/slippage","vuln/logic/reward-calculation","vuln/governance/flash-loan-attack"],["defi","logic","governance"],"Disabled slippage protection (`priceImpactTolerance = 10000` ⇒ `minOut = 0`) chained with reward accounting that credits the *claimed* deposit amount instead of the *realized* deposit value",null,null,"842.49 BNB of net profit to the attacker","Two independent flaws compose into the exploit: 1. Caller-controlled, unbounded slippage tolerance. `priceImpactTolerance` is supposed to express \"I accept at most X bps of price impact,\" but it is interpreted as a *direct discount on the minimum output*. Passing `10000` sets `minOut = 0`, fully disabling slippage protection. There is no upper-bound check (e.g. `require(priceImpactTolerance <= 1000)`), so a malicious caller can always neutralize the guard. [continues]","rootCause",1],["16980-yield-v2-witch-buy-payall-no-auction","Yield V2 Witch buy/payAll accepted vaults that were not under auction","audit-finding","AuditVault","2021-06",null,["vuln/logic/missing-check","vuln/defi/liquidation"],["logic","defi"],null,null,null,null,"The audited `Witch` source at commit `698ff848^` (the parent of Yield Protocol's fix commit `698ff848`, “draft: minimal fix for require on buy and payAll”) reads `auctions[vaultId].start` to compute the price but never checks that the timestamp is non-zero. A caller can therefore invoke liquidation-only functions for a normal vault. The fix adds `require (auctions[vaultId].start > 0, \"Vault not under auction\")` to both functions. The exact historical contract is vendored at `src/vault/Witch.sol`. [continues]","rootCause",1],["2021-05-bEarn","bEarn / bVaults BUSD-Alpaca Strategy Exploit — emergencyWithdraw Re-prices Shares Against a Self-Inflating wantLockedTotal","incident","DeFiHackLabs","2021-05","BNB Chain",["vuln/logic/incorrect-state-transition","vuln/governance/flash-loan-attack"],["logic","governance"],"Share-accounting / vault price-per-share manipulation — `emergencyWithdraw` re-prices a fixed share balance against a `wantLockedTotal` that the attacker inflates in the *same* call sequence",null,null,"123,089.10 BUSD","The single defective invariant is in `emergencyWithdraw`: A user's payout is `shares × (wantLockedTotal / sharesTotal)` evaluated at call time, but the same caller can move `wantLockedTotal` upward *within the same transaction sequence* — by depositing and immediately emergency-withdrawing, harvesting the strategy's profitable Alpaca redeem on each pass. Concretely, four facts compose: 1. Live, unsnapshotted share price. `emergencyWithdraw` reads `wantLockedTotal`/`sharesTotal` fresh every time. [continues]","rootCause",1],["2021-05-BurgerSwap","BurgerSwap (Demax) Exploit — Re-entrant Multi-Hop Swap Drains the WBNB Side of the Pool Twice","incident","DeFiHackLabs","2021-05","BNB Chain",["vuln/reentrancy/cross-function","vuln/governance/flash-loan-attack"],["reentrancy","governance"],"Cross-function read-only / state re-entrancy in a router that caches AMM quotes across hops and lacks a re-entrancy guard",null,null,"~$3.2M","A correct V2 router is safe even though it pre-computes amounts, because each pair's `swap()` enforces the constant-product invariant `x·y ≥ k` against its *own current* balances at call time: if the reserves moved between quote and execution, the pair's `swap` would revert (`K` check). BurgerSwap breaks this safety in two compounding ways: 1. Cached quote + no re-entrancy guard. [continues]","rootCause",1],["42204-h-08-incorrect-implementation-of-arctan-in-the-contract-fair","FairSide — missing abs in arctan overpays 89200000000000000 FSD","audit-finding","AuditVault","2021-05",null,["vuln/logic/price-calculation","vuln/arithmetic/precision-loss"],["logic","arithmetic"],null,null,"FairSide",null,"The approximation is even in the quadratic part and odd in the leading `a * pi/4`. Taking `abs` only on the quadratic factor keeps the sign on the linear term and the shape on the correction. Using the signed `a` inside `(a - 1)` and `APPROX_B * a` changes the correction whenever `a` is negative, so `calculateDeltaOfFSD` mints or burns the wrong number of FSD.","rootCause",1],["2021-05-JulSwap","JulSwap (JulProtocolV2) Exploit — Spot-Price Manipulation of addBNB() Liquidity Provisioning","incident","DeFiHackLabs","2021-05","BNB Chain",["vuln/oracle/spot-price","vuln/governance/flash-loan-attack"],["oracle","governance"],"AMM spot-price manipulation — liquidity provisioning sized from instantaneous reserves with no slippage / oracle guard",null,null,"522.84 WBNB drained in the reproduced tx","A Uniswap-V2/BSCswap pool's reserves are *spot* state: anyone can shove them around inside a single transaction with a swap and then move them back. `addBNB()` trusts that spot state in two compounding ways: 1. The JULb contribution is sized from the manipulated spot ratio. After the attacker crashes the JULb price, `quote(515 BNB, reserveWBNB=303.41, reserveJUL=85,123)` returns 144,487 JULb — the protocol is tricked into pairing ~10× more JULb than it would at the honest price. [continues]","rootCause",1],["2021-05-PancakeBunny","PancakeBunny Exploit — Flash-Loan LP Price-Oracle Manipulation Mints Unlimited BUNNY","incident","DeFiHackLabs","2021-05","BNB Chain",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"DeFi price-oracle manipulation — spot-reserve LP valuation used to size minted rewards",null,null,"~$45M at the time","A constant-product AMM pair only enforces `x·y ≥ k` *inside its own `swap()`*. Its instantaneous reserves are not a price — they are a position that any actor with enough transient capital can shove arbitrarily far for the duration of one transaction, then restore. `PriceCalculator.valueOfAsset()` treats those reserves as ground truth, and `BunnyMinter` multiplies that truth straight into a `mint()` amount with no upper bound, no TWAP, no sanity ceiling. [continues]","rootCause",1],["2021-05-RariCapital","Rari Capital ETH Pool Exploit — ibETH.totalETH() Accounting Reentrancy via Bank.work()","incident","DeFiHackLabs","2021-05","Ethereum",["vuln/reentrancy/read-only","vuln/oracle/price-manipulation"],["reentrancy","oracle"],"Cross-contract read-only / accounting reentrancy — share price (`totalETH()`) read by an integrator while the underlying ETH balance is transiently mutated inside `Bank.work()`",null,null,"+32.32 ETH to the attacker in a single tx","Rari Capital priced an external, mutable-on-demand asset (ibETH) by reading the issuer's live ETH balance through `Bank.totalETH()`, while Alpha Homora's `Bank.work()` lets any caller execute arbitrary code with the Bank's ETH balance in a transient, attacker-chosen state and no shared reentrancy lock across the integration boundary. Three independent design facts compose into the loss: 1. Live-balance share price. `totalETH()` includes `address(this).balance`. [continues]","rootCause",1],["2021-05-Spartan","Spartan Protocol Exploit — LP-Share Inflation via Spot-Balance Accounting + Unsynced Donation","incident","DeFiHackLabs","2021-05","BNB Chain",["vuln/oracle/spot-price","vuln/arithmetic/rounding","vuln/defi/slippage"],["oracle","arithmetic","defi"],"AMM LP-share inflation: liquidity-share math reads spot `balanceOf` instead of synced reserves, combined with a `removeLiquidity()` that never re-syncs donated balances",null,null,"~$30.5M","A Uniswap-V2-style pool is safe against donations because it computes LP redemptions against the *same* reserve figures it updates on every state change, and (in V2) reserves are read from `getReserves()` which lags raw balances until a `sync`/`mint`/`burn`. Spartan breaks this in two compounding ways: (a) Redemption value is read from `balanceOf(pool)` (spot), which any caller can inflate by donating tokens. [continues]","rootCause",1],["2021-05-ValueDefi","Value DeFi vSafe WBNB Vault — Inflated-Share Mint via Manipulated Alpaca ibBNB Strategy Price","incident","DeFiHackLabs","2021-05","BNB Chain",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack","vuln/arithmetic/rounding"],["oracle","governance","arithmetic"],"Vault share accounting trusting a flash-manipulable external strategy price (oracle / share-price manipulation)",null,null,"attacker minted 396.17 vSafeWBNB shares for a 273.81 WBNB net deposit","The vault prices new shares against a flash-manipulable, externally-derived NAV. Concretely: 1. Share price depends on live strategy valuation. `pricePerShare = balance()/totalSupply()` and `balance()` includes `controller.balanceOf()`, which is recomputed every call from the Alpaca `ibBNB` ratio and Bunny strategy holdings. An attacker who can move those underlying pools moves the vault's share price. 2. The attacker can move the strategy's inputs atomically. [continues]","rootCause",1],["28529-reward-sniffing-mixbytes-none-nucypher-markdown","NuCypher — deposit and withdrawAll sniff the same staked reward","audit-finding","AuditVault","2021-04","Ethereum",["vuln/logic/reward-calculation"],["logic"],null,null,"NuCypher",null,"Staked tokens are treated as withdrawable reward, and the reward actually transferred is not recorded in `totalWithdrawnReward`. The next depositor sees almost the same 9000 and is paid again from the free deposits. Deposits stay enabled, so the deposit and the withdraw happen in one transaction.","rootCause",1],["2021-04-Uranium","Uranium Finance Exploit — Broken Constant-Product K Check (100× Slack in swap())","incident","DeFiHackLabs","2021-04","BNB Chain",["vuln/logic/missing-check","vuln/defi/slippage"],["logic","defi"],"Broken AMM invariant — `K` (constant-product) check uses the wrong magic constant, leaving 100× of slack",null,null,"~$50M total across all pairs","Strip the fee terms (they are negligible here) and the check is effectively: So the post-swap product is allowed to be as low as 1% of the pre-swap product and the `require` still passes. The honest invariant (`balance0·balance1 ≥ reserve0·reserve1`) has been silently relaxed by a factor of 100. Concretely, an attacker can: put 1 wei / 1 token of `token0` into the pool (`amount0In ≈ 1`), and; withdraw `amount1Out` such that the new `balance1 = reserve1 − amount1Out` makes the product land at the 1/100 floor. [continues]","rootCause",1],["2021-03-dodo_flashloan","DODO DVM Flashloan Exploit — Unprotected init() Reinterprets Pool Reserves","incident","DeFiHackLabs","2021-03","Ethereum",["vuln/access-control/missing-modifier","vuln/data/uninitialized"],["access-control","data"],"Missing access control + missing re-init guard on `init()`; stale stored reserves reinterpreted after a token-pair swap",null,null,"~$1,140,965","Three independent flaws compose into a one-transaction, ~$1.14M theft: 1. `init()` is permissionless and re-callable. It is `external` with no `onlyOwner`/factory check and does not consume the `notInitialized` guard. A live, funded pool can be re-initialized by anyone, at any time — DVM.sol:1424. 2. `init()` mutates token roles and curve params but not reserves. After the call, `_BASE_TOKEN_`/`_QUOTE_TOKEN_` describe a *new* pair, while `_BASE_RESERVE_`/`_QUOTE_RESERVE_` still hold the *old* pair's numbers. [continues]","rootCause",1],["2021-03-PAID","PAID Network Exploit — Compromised Upgrade/Owner Key → Unlimited mint()","incident","DeFiHackLabs","2021-03","Ethereum",["vuln/access-control/secret-exposure","vuln/access-control/centralization"],["access-control"],"Compromised privileged key + privileged `mint()` (no supply cap, no timelock) — access-control / centralization failure",null,null,"~$3M realized","The bug is a centralization / access-control design failure, composed of three decisions: 1. A privileged `mint()` with no supply cap. The token grants one role the power to create arbitrary new units. With no `MAX_SUPPLY` check and no per-call ceiling, a single call can mint any amount — here, 10% of supply in one shot, but it could equally have been 10,000%. 2. That power is gated by a single externally-controlled key, with no timelock. [continues]","rootCause",1],["18260-transfer-operations-may-silently-fail-due-to-the-lack-of-con","Pool accepts input when output token has no code — silent transfer failure","audit-finding","AuditVault","2021-02","Ethereum",["vuln/dependency/unchecked-return-value","vuln/input-validation/missing"],["dependency","input-validation"],"Low-level call lacks contract-existence check",null,null,"A swapper loses input tokens without receiving output","The helper validates only the boolean/return-data convention, not `token.code.length > 0`.","rootCause",1],["2021-02-Yearn_ydai","Yearn yDAI v1 Exploit — Curve-Backed Vault Share-Price Manipulation","incident","DeFiHackLabs","2021-02","Ethereum",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Strategy share-price manipulation via fee-asymmetric Curve `remove_liquidity_imbalance` / `add_liquidity` round-trips — value siphoned out of an existing vault's depositors",null,null,"~$11M (Yearn-disclosed)","1. The vault's share price tracks a manipulable external pool. `yVault.balance()` adds `Controller.balanceOf(DAI)` = `StrategyDAI3pool.balanceOf()`, which is denominated through the Curve 3pool's reserves/virtual-price (yVault.sol:290-293). An attacker who can reshape the pool's reserves in the same call controls the inputs to the vault's accounting. 2. `earn()` performs an unguarded strategy deposit into the pool the attacker just imbalanced. [continues]","rootCause",1],["28662-it-is-possible-to-carry-out-attacks-to-manipulate-pools-with","Cover peripheral — a flash loan moves a pool and the router pays the spot price","audit-finding","AuditVault","2021-01",null,["vuln/oracle/spot-price","vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Spot price read inside a flash-loan transaction",null,null,"Router overpays 300 TKA","The price is the pool's current reserves. A flash loan can change those reserves and trade against them before anyone else sees a new block. Nothing records `tx.origin` or a TWAP, so the manipulated ratio is what the router pays out of its own token A.","rootCause",1],["28663-possibility-to-steal-tokens-from-the-contract-balance-mixbyt","Cover Protocol — unlimited approve lets an attacker take 1000 DAI off the router","audit-finding","AuditVault","2021-01",null,["vuln/access-control/missing-auth","vuln/logic/missing-validation"],["access-control","logic"],"Unlimited allowance plus a failed `addCover` that still succeeds","high","Cover Protocol `CoverRouter`",null,"Two missing checks stack. The spender of the unlimited allowance is whatever address the caller passed as `_protocol`. And a false return from `addCover` does not revert or refund, so the tokens the router just pulled are left sitting under that allowance.","rootCause",1],["18213-ousd-allows-users-to-transfer-more-tokens-than-expected-trai","OUSD can transfer more than the displayed balance — rounding/precision loss","audit-finding","AuditVault","2021-01","Ethereum",["vuln/arithmetic/rounding","vuln/arithmetic/precision-loss","vuln/logic/missing-check"],["arithmetic","logic"],"Rounded credit deduction without a pre-balance check",null,null,"A holder can transfer one token more than `balanceOf` reports","The implementation validates only the rounded credit amount, not the exact token balance that users and integrations observe.","rootCause",1],["18214-ousd-total-supply-can-be-arbitrary-even-smaller-than-user-ba","OUSD total supply can fall below user balances — broken rebasing invariant","audit-finding","AuditVault","2021-01","Ethereum",["vuln/logic/wrong-condition","vuln/arithmetic/rounding"],["logic","arithmetic"],"Supply update does not reconcile non-rebasing balances",null,null,"ERC-20 supply accounting becomes inconsistent and can understate claims","The supply setter permits an arbitrary lower value without checking the sum of opted-out balances.","rootCause",1],["18201-reentrancy-and-untrusted-contract-call-in-mintmultiple-diffi","Reentrant mintMultiple callback — untrusted external call","audit-finding","AuditVault","2021-01","Ethereum",["vuln/reentrancy/single-function","vuln/dependency/unsafe-external-call"],["reentrancy","dependency"],"Reentrancy through arbitrary `transferFrom`",null,null,"Reentrant asset callback can mutate vault accounting before mint completion","The vault trusts an arbitrary token contract before settling the temporary imbalance and mint state. No reentrancy guard protects the externally callable minting family.","rootCause",1],["2021-01-Sushi_Badger_Digg","SushiMaker — Bridgeless convert() Lets an Attacker Insert a Fake Pair and Steal Onsen Fee Liquidity (Badger DIGG)","incident","DeFiHackLabs","2021-01","Ethereum",["vuln/access-control/missing-validation","vuln/logic/missing-check"],["access-control","logic"],"Missing/forgeable price source — `bridgeFor()` silently defaults to WETH, letting an attacker register an attacker-controlled pair as the conversion venue and rug the fee LP",null,null,"~81 WBTC + DIGG of accumulated Onsen LP fees siphoned from the SushiMaker","The SushiMaker conflates two very different situations: \"This token has no bridge configured\" is treated exactly like \"swap this token through WETH on the public pair `getPair(token, WETH)`\" — and that pair can be created and stocked by anyone. When Onsen added the WBTC/DIGG pair without an operator setting `setBridge(DIGG, WBTC)` (or any safe bridge), the conversion path for DIGG fell through to WETH. Because: 1. `getPair(DIGG, WETH)` is attacker-creatable. [continues]","rootCause",1],["18200-proposals-could-allow-timelockadmin-takeover-trailofbits-ori","Timelock.admin takeover through a regular proposal — governance privilege escalation","audit-finding","AuditVault","2021-01","Ethereum",["vuln/governance/proposal-manipulation","vuln/access-control/missing-owner-check"],["governance","access-control"],"Unrestricted proposal target for `setPendingAdmin`",null,null,"Governance administration can be seized by a proposal author","Proposal execution accepts a privileged administrative selector without checking that only the dedicated guardian/timelock path may invoke it.","rootCause",1],["18211-external-calls-in-loop-can-lead-to-denial-of-service-trailof","Unbounded external loops can permanently DoS administration — gas-limit denial of service","audit-finding","AuditVault","2021-01","Ethereum",["vuln/dos/unbounded-loop","vuln/dependency/unsafe-external-call"],["dos","dependency"],"Unbounded loop over external token calls",null,null,"Asset approval/liquidation administration becomes uncallable","There is no bounded iteration, removal path, or per-item failure handling for an externally controlled, unbounded list.","rootCause",1],["2020-12-Cover","Cover Protocol Exploit — Stale Pool Snapshot in Blacksmith.deposit() Mints ~40 Quintillion COVER","incident","DeFiHackLabs","2020-12","Ethereum",["vuln/logic/incorrect-state-transition","vuln/oracle/stale-price"],["logic","oracle"],"Stale in-memory accounting snapshot → reward-writeoff desync → unbounded token mint",null,null,"Effectively unbounded","Two flaws compose into a critical, unbounded mint: 1. Stale memory snapshot in `deposit()`. The pool is copied to memory on L118 *before* `updatePool()` mutates storage on L121. The `rewardWriteoff` on L130 is then set from that stale copy. Correct code would re-read `pools[_lpToken]` (storage) *after* `updatePool`, exactly as `withdraw()` and `claimRewards()` re-read it. [continues]","rootCause",1],["2020-11-Pickle","Pickle Finance Exploit — Arbitrary delegatecall Through an Approved Jar Converter Drains the DAI pToken Strategy","incident","DeFiHackLabs","2020-11","Ethereum",["vuln/dependency/unsafe-external-call","vuln/access-control/missing-validation"],["dependency","access-control"],"Arbitrary-call via attacker-controlled `delegatecall` (confused deputy) → access-control bypass on a privileged strategy",null,null,"~$19.7M","The bug is a textbook confused deputy via arbitrary `delegatecall`, made exploitable by a chain of unsafe design choices: 1. `delegatecall` with caller-supplied calldata. `_execute` runs an approved converter, but lets the caller dictate *which function and arguments* run. A converter is only safe if its behaviour is fixed; `CurveProxyLogic` parameterises both the call target and the selector. 2. An approved converter that makes a fully parameterised low-level `call`. [continues]","rootCause",1],["2020-10-HarvestFinance","Harvest Finance Exploit — Vault Share-Price Manipulation via Curve y-Pool Imbalance","incident","DeFiHackLabs","2020-10","Ethereum",["vuln/oracle/price-manipulation","vuln/governance/flash-loan-attack"],["oracle","governance"],"Oracle / share-price manipulation — vault values its assets from a flash-loan-manipulable spot AMM (Curve `calc_withdraw_one_coin`)",null,null,"~$24M total in the live incident","The fUSDC vault derives its share price from the instantaneous spot composition of the Curve y pool. Curve's `calc_withdraw_one_coin` deliberately under-values the over-represented coin, so by flash-loaning the pool into a temporary USDC-heavy state, the attacker depresses the share price, mints cheap shares, restores the pool, and redeems the now-expensive shares — all atomically. Four design facts compose into the bug: 1. Spot AMM used as an oracle. [continues]","rootCause",1],["2020-09-bzx","bZx (iETH) Exploit — Self-Transfer Balance Duplication in _internalTransferFrom","incident","DeFiHackLabs","2020-09","Ethereum",["vuln/logic/missing-check","vuln/logic/incorrect-state-transition"],["logic"],"Accounting bug — ERC20 self-transfer balance duplication (stale read-modify-write in `_internalTransferFrom`)",null,null,"~2,388 ETH at the time","The classic correct ERC20 transfer is `balances[_from] -= v; balances[_to] += v;`, which is self-transfer-safe because the second statement reads the *already debited* storage value. bZx broke that property by caching both balances up front and writing them back from the snapshots: For a self-transfer the two cached values alias the same storage slot. Sequential \"write debit, then write credit-from-stale-snapshot\" turns a no-op into a `+value` mint of `iETH`, while `totalSupply` stays fixed. [continues]","rootCause",1],["11316-h05-rewards-calculation-is-incorrect-when-the-service-provid","Audius claimRewards pays the delegator 550 instead of 50","audit-finding","AuditVault","2020-08",null,["vuln/logic/reward-calculation"],["logic"],null,null,"Audius",null,"The pending decrease is subtracted from the service-provider factory balance and therefore from the \"outside\" total, but it is still inside the staking balance. Subtracting outside from staking adds the locked stake back in and calls it rewards.","rootCause",1],["11323-h12-unresponsive-service-provider-locks-delegator-stake-open","Audius unresponsive provider locks 1000 of delegator stake","audit-finding","AuditVault","2020-08",null,["vuln/dos/frozen-funds","vuln/logic/wrong-condition"],["dos","logic"],null,null,"Audius",null,"The exit is gated on a claim that only the service provider is allowed to submit. If that account never calls `claimRewards`, `lastClaimedFor` stays behind `fundBlock` and every delegator of that provider is stuck.","rootCause",1],["2020-08-Opyn","Opyn ETH Put Exploit — Reused msg.value Across a Multi-Vault exercise() Loop","incident","DeFiHackLabs","2020-08","Ethereum",["vuln/logic/incorrect-order-of-operations","vuln/logic/state-update"],["logic"],"Double-spend via reused `msg.value` in a loop (per-iteration payment validation, no aggregate accounting)",null,null,"~$371K total drained across the attack campaign","The collateralized-options invariant is conservation of underlying: to pull `C` collateral out of a vault, the exerciser must pay in the `U` underlying that the vault's options protect. `exercise()` violates it because the payment validation lives in the inner, per-vault function while the payment medium (ETH `msg.value`) is outer, per-transaction and non-consumable. Three design decisions compose into the double-spend: 1. Payment checked per iteration, not per transaction. [continues]","rootCause",1],["2020-06-Balancer_20200628","Balancer × Statera (STA) Exploit — Deflationary-Token Reserve Desync via gulp()","incident","DeFiHackLabs","2020-06","Ethereum",["vuln/oracle/spot-price","vuln/defi/slippage","vuln/governance/flash-loan-attack"],["oracle","defi","governance"],"Deflationary (fee-on-transfer) token incompatibility → recorded-vs-actual balance desync → AMM price/invariant manipulation",null,null,"~455.87 WETH","Balancer's pricing math is sound *only under the assumption that `_records[token].balance` equals the pool's real token balance*. Two design choices break that assumption against STA: 1. Cached accounting balance. Every swap computes price from `_records[].balance` and updates it by the *intended* transfer amount, never by the *actual* amount received. For a fee-on-transfer token, intended ≠ actual on every transfer, so the record drifts. 2. Permissionless `gulp()`. [continues]","rootCause",1],["2020-06-Bancor","Bancor Network Exploit — Public safeTransferFrom Drains Any Approved User","incident","DeFiHackLabs","2020-06","Ethereum",["vuln/access-control/missing-modifier","vuln/access-control/missing-auth"],["access-control"],"Missing access control / over-broad visibility (`public` instead of `internal`) on a privileged token-moving helper",null,null,"All ERC20 balances of any user who had an open allowance to the vulnerable Bancor contract","The single root cause is incorrect function visibility: helper functions that move user funds were declared `public` instead of `internal`. `safeTransferFrom` was only ever meant to be invoked from inside Bancor's own conversion flow (e.g. `safeTransferFrom(_sourceToken, msg.sender, firstConverter, _amount)` at line 1204), where `_from` is hard-coded to `msg.sender` (the user who initiated the conversion) and `_to` is a trusted converter. [continues]","rootCause",1],["2020-04-LendfMe","Lendf.Me Exploit — ERC777 Re-Entrancy on a Checks-Effects-Interactions Violation in supply()/withdraw()","incident","DeFiHackLabs","2020-04","Ethereum",["vuln/reentrancy/single-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Cross-function re-entrancy (CEI violation) via ERC777 sender callback (`tokensToSend`)",null,null,"~$25,000,000","The bug is the composition of three facts: 1. CEI violation. `supply()` and `withdraw()` both compute the new `principal` from the value read at function entry, then perform the token transfer, then commit `principal`. The \"interactions\" step sits *between* the read and the write of the security-critical state. A re-entrant call that runs during the transfer sees the old `principal` and can act on it, and its own state changes are then clobbered by the outer frame's stale write. [continues]","rootCause",1],["2020-04-uniswap-erc777","Uniswap V1 × imBTC (ERC777) — Reentrancy Reserve-Pricing Drain","incident","DeFiHackLabs","2020-04","Ethereum",[],["untagged"],"Cross-contract reentrancy via ERC777 transfer hook + check-effects-interaction violation (state read/priced before reserve update)",null,null,"+0.0837168576630010 ETH profit from 1 ETH of working capital","Two independently-reasonable design choices combine into a critical bug: 1. Uniswap V1 reads the token reserve live and pays out before settling the inbound token transfer (check-effects-interaction inverted, no reentrancy guard). The \"input reserve\" used to price a sell is `balanceOf(self)` *captured before the seller's tokens have actually been received*. 2. imBTC (ERC777) hands the sender a synchronous callback inside `transferFrom`, before debiting them. [continues]","rootCause",1],["11483-h04-user-can-unknowingly-contribute-to-the-wrong-market-outc","1,000 REP is credited to outcome A when the user paid for B","audit-finding","AuditVault","2020-02","Ethereum",["vuln/logic/wrong-condition","vuln/logic/incorrect-state-transition"],["logic"],"`disavowCrowdsourcers` leaves `preemptiveDisputeCrowdsourcer` pointing at the old outcome",null,null,"1,000 REP the user sent for outcome B is credited to outcome A","Two pieces of state are supposed to describe the same tentative outcome: the last reporting participant, and the preemptive crowdsourcer. Disavow updates the first and not the second. The contribute path checks the first, then writes the user's REP into the second.","rootCause",1],["11480-h01-malicious-market-can-arbitrarily-decide-when-to-pay-affi","A malicious market skips a 1,000 CASH affiliate payment","audit-finding","AuditVault","2020-02","Ethereum",["vuln/defi/fee-manipulation","vuln/logic/missing-check"],["defi","logic"],"A market-chosen validator can revert and zero the referrer, which skips the affiliate payout",null,null,"1,000 CASH affiliate payment is not paid","The validator address is stored on the market with no allowlist. The call's failure path returns `address(0)` instead of the already-looked-up referrer. The creator chooses the validator, so they choose whether the call succeeds. Revert means the 1,000 CASH affiliate payment is never taken out of their fee.","rootCause",1],["11479-c01-anyone-can-register-backdoored-wallets-for-any-owner-in","A stranger registers a backdoored wallet and spends 1,000 of the victim's CASH","audit-finding","AuditVault","2020-02","Ethereum",["vuln/access-control/missing-auth","vuln/logic/missing-check"],["access-control","logic"],"`register` files a safe under `owners[0]` with no module check and no owner authorization",null,null,"1,000 CASH","The registry treats \"this proxy looks like a one-of-one Safe whose owner slot says the victim\" as \"this is the victim's wallet\". Owner slot and control are not the same thing once a module is enabled. Modules are not part of the check, so the stranger can satisfy every require and still be the party that can move tokens.","rootCause",1],["11481-h02-market-creators-can-avoid-paying-20-cut-of-affiliate-fee","Market creator skips the trader's 200 CASH source cut","audit-finding","AuditVault","2020-02","Ethereum",["vuln/defi/fee-manipulation","vuln/logic/missing-check"],["defi","logic"],"`setFingerprint` can be overwritten so the self-referral check zeroes a real referrer",null,null,"200 CASH, the trader's 20% of a 1,000 CASH affiliate fee, is not paid","The self-referral check trusts a fingerprint the affiliate can rewrite in the same block, before the fee is recorded. Equality then looks like self-referral even though the referrer is a different address. The whole affiliate branch is skipped, including the 20% that the code would have transferred to the trader immediately.","rootCause",1],["13826-tokens-are-unlocked-only-when-delegation-ends-addressed-cons","1,000 SKL stays unclaimable after 600 is delegated for 90 days","audit-finding","AuditVault","2020-01","Ethereum",["vuln/dos/frozen-funds","vuln/logic/wrong-condition"],["dos","logic"],"Unlock requires `totalDelegated >= purchased` inside the delegation callback and never checks the 90-day rule",null,null,"1,000 SKL cannot be claimed","The unlock predicate is the wrong one, and it is only evaluated when a purchased delegation is recorded. A later block where 90 days have elapsed does not get a second look. Half delegated is enough under the stated rule and is not enough under this `if`.","rootCause",1],["13825-getlockedcount-is-iterating-over-all-history-of-delegations","48 delegations make getLockedCount exceed 40,000 gas and 1,000 tokens stay put","audit-finding","AuditVault","2020-01","Ethereum",["vuln/dos/frozen-funds","vuln/dos/griefing"],["dos"],"Unbounded loop over every delegation a holder has ever had, on the transfer path",null,null,"A transfer of 1,000 tokens reverts","The locked amount is recomputed from the full history on every transfer. Nothing bounds that history. A stored counter updated when a delegation is created or when it unlocks answers the same question without the loop.","rootCause",1],["13827-tokens-after-delegation-should-not-be-unlocked-automatically","Ending a 1,000 SKL delegation unlocks it while 5,000 is still locked","audit-finding","AuditVault","2020-01","Ethereum",["vuln/logic/wrong-condition","vuln/logic/incorrect-state-transition"],["logic"],"Delegation end moves the amount to `unlocked` instead of back to `purchased`",null,null,"1,000 SKL withdrawn when the delegation ends","Delegation end and unlock are the same write. The lock predicate is never consulted, so any ended delegation becomes spendable even when the holder has not delegated half, let alone all, of the purchased balance.","rootCause",1],["13843-users-can-burn-delegated-tokens-using-re-entrancy-attack-add","SKALE LockableERC777 — a burn callback delegates tokens and then burns them","audit-finding","AuditVault","2020-01",null,["vuln/reentrancy/single-function"],["reentrancy"],null,null,"SKALE Token",null,"The lock is observed before the external call and the balance is updated after it. `tokensToSend` is allowed to change `delegated`. Nothing reads that new lock again. The subtraction uses the amount from the original call, so a delegation performed in the callback does not stop the burn.","rootCause",1],["13828-some-unlocked-tokens-can-become-locked-after-delegation-is-r","SKALE TokenState — rejecting a mixed delegation re-locks unlocked tokens","audit-finding","AuditVault","2020-01",null,["vuln/logic/wrong-condition","vuln/dos/frozen-funds"],["logic","dos"],null,null,"SKALE Token",null,"Purchased versus unlocked is not stored per token inside the delegation. One boolean stands in for the whole amount. When the delegated amount is larger than the purchased balance, the unlocked part is included in the flag. `purchasedProposedToPurchased` does not know that split, so the reject path locks tokens that were free. With 40 purchased and a delegation of 100, the inner branch sets `_purchased` to 0 and the flag to true. The later `+= delegation.amount` writes 100. [continues]","rootCause",1],["19293-users-can-form-malicious-requests-to-steal-tokens-from-oracl","Chainlink Oracle — a crafted request makes fulfill transfer the oracle's LINK","audit-finding","AuditVault","2019-06",null,["vuln/dependency/unsafe-external-call"],["dependency"],null,null,"Chainlink",null,"The fulfillment call is an arbitrary call built from user input, executed by the oracle. `transfer` spends the caller's balance. The caller is the oracle, so the oracle's LINK is the balance that moves. `_data` from the oracle is the amount.","rootCause",1],["11899-buyers-can-lock-funds-indefinitely-openzeppelin-openbazaars","Buyer top-up locks 1,000 CASH past the seller timeout","audit-finding","AuditVault","2018-10","Ethereum",["vuln/dos/frozen-funds","vuln/logic/missing-check"],["dos","logic"],"Any buyer top-up sets `lastModified` to now, so `isTimeLockExpired` stays false",null,null,"1,000 CASH plus the 1 wei top-up stay in escrow","The clock is the time since the last modification, and every top-up is a modification. The buyer is allowed to modify the funded trade. There is no cap on how many times, and the new timestamp replaces the old one instead of preserving the original fund time.","rootCause",1],["2018-10-SpankChain","SpankChain Exploit — Classic Reentrancy in LedgerChannel.LCOpenTimeout()","incident","DeFiHackLabs","2018-10","Ethereum",["vuln/reentrancy/cross-function","vuln/logic/incorrect-order-of-operations"],["reentrancy","logic"],"Reentrancy (state-mutation-after-external-call) via a caller-supplied malicious ERC20 token",null,null,"155 ETH net profit","A textbook state-mutation-after-external-call (reentrancy) bug, made exploitable because the contract trusts a caller-supplied ERC20. Concretely, four design decisions compose into the drain: 1. Checks-Effects-Interactions is violated. `LCOpenTimeout` performs its two refund transfers *before* `delete Channels[_lcID]`. The guard `require(isOpen == false)` and `require(msg.sender == partyA)` are both still satisfiable on re-entry because the channel state is untouched until the very end. [continues]","rootCause",1],["2018-04-BEC","BEC (BeautyChain) Exploit — batchTransfer() Integer-Overflow Infinite Mint (batchOverflow)","incident","DeFiHackLabs","2018-04","Ethereum",["vuln/arithmetic/overflow","vuln/logic/missing-check"],["arithmetic","logic"],"Unchecked integer multiplication overflow (`cnt * _value`) — pre-0.8 arithmetic, missing `SafeMath.mul`, the canonical *batchOverflow* (CVE-2018-10299)",null,null,"Token economically destroyed","Pre-0.8 Solidity performs modular (wrapping) arithmetic with no implicit overflow trap. The defense of that era was to route every operation through `SafeMath`. BEC did so consistently — except for the single multiplication that computes the batch total. The exploit chain is purely arithmetic: 1. Attacker calls `batchTransfer([r1, r2], 2^255)`. `cnt = 2`. 2. `amount = 2 * 2^255`. In `uint256`, `2 * 2^255 = 2^256`, which reduces mod `2^256` to `0`. 3. `require(cnt > 0 && cnt <= 20)` → `2` passes. [continues]","rootCause",1],["2018-04-SmartMesh","SmartMesh (SMT) Exploit — transferProxy Integer-Overflow Mint (proxyOverflow / CVE-2018-10376)","incident","DeFiHackLabs","2018-04","Ethereum",["vuln/arithmetic/overflow","vuln/logic/missing-check"],["arithmetic","logic"],"Unchecked integer overflow in a guard expression (pre-0.8 arithmetic, no SafeMath) → unauthorized mint",null,null,"The bug minted ~5.07 × 10⁵⁸ SMT out of thin air","Adding two unbounded, attacker-controlled `uint256` values inside a security guard, in an environment with wrapping arithmetic and no SafeMath. The guard at L206 was *intended* to mean \"the sender must own at least `value + fee`.\" In wrapping arithmetic, `value + fee` is not the mathematical sum — it is `(value + fee) mod 2²⁵⁶`. The attacker selects `value` and `fee` so that this modular sum is `0`, turning a \"must have enough\" check into a \"must have less than zero\" check that no balance can fail. [continues]","rootCause",1],["2017-11-Parity_kill","Parity WalletLibrary kill — Uninitialized Shared Library Self-Destruct (the \"devops199\" freeze)","incident","DeFiHackLabs","2017-11","Ethereum",["vuln/access-control/uninitialized-proxy","vuln/access-control/missing-modifier"],["access-control"],"Uninitialized contract + missing initialization guard on a *shared* `delegatecall` library + un-gated `suicide`/`selfdestruct`",null,null,"513,774.16 ETH permanently frozen across ~587 Parity multisig wallets","This is a composition of three independent design errors, each individually survivable, fatal in combination: 1. A shared, mutable library with public initializer and no self-initialization. The single `WalletLibrary` instance was deployed but never had `initWallet` executed against its *own* storage. [continues]","rootCause",1],["2017-07-Parity_first_hack","Parity Multisig First Hack (July 2017) — Unprotected initWallet Re-initialization","incident","DeFiHackLabs","2017-07","Ethereum",["vuln/access-control/missing-modifier","vuln/access-control/uninitialized-owner"],["access-control"],"Missing access control on an \"initializer\" — unprotected re-initialization → owner takeover",null,null,"82,189.93 ETH drained from a single victim wallet in the PoC","The vulnerability is a textbook uninitialized/ re-initializable proxy: an initializer function that *behaves* like a constructor but is a plain public function with no guard, sitting behind a proxy that forwards arbitrary calldata to it. Four design facts compose into total loss: 1. No access control on `initWallet`. It can be called by anyone, any number of times, at any point in the wallet's life. (WalletLibrary.sol:216); 2. No \"already initialized\" latch. [continues]","rootCause",1],["16039-h-02-attacker-can-front-run-bond-buyer-and-make-them-buy-it","[H-02] Attacker can front-run a MuteBond buyer and lower their payout","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`MuteBond` prices a bond as a function of the time elapsed in the current epoch: `bondPrice()` is the payout-per-LP the buyer receives (a *higher* price is *better* for the buyer). After every purchase, `deposit()` advances `epochStart` forward by ~5% of the elapsed time: Advancing `epochStart` shrinks `timeElapsed` for the next `bondPrice()`, so each purchase lowers the price for the following buyer. [continues]","rootCause",1],["32130-h-02-dual-transaction-nature-of-composed-message-transfer-al","[H-02] Canto asD — permissionless lzCompose lets anyone steal a bridged composed-message transfer","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`_dstReceiver` comes from the caller-supplied payload and is trusted verbatim.","rootCause",1],["25134-h-05-routers-are-not-enforced-to-repay-aave-portal-loan-code","[H-05] Connext routers are not enforced to repay the Aave Portal loan","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"To provide fast liquidity when a router is under-collateralized, `BridgeFacet.execute` draws an unbacked Aave Portal loan on Connext's credit line (`_executePortalTransfer`: `mintUnbacked`; `withdraw`), pays the user, and records `portalDebt[transferId]`. Connext — not the router — is the borrower on Aave's books. When the slow nomad message later arrives, `_reconcile` calls `_reconcileProcessPortal`, which is *supposed* to use the bridged funds to repay Aave. [continues]","rootCause",1],["27536-h-46-toft-leveragedown-always-fails-if-toft-is-a-wrapper-for","[H-46] TOFT leverageDown always fails when the TOFT wraps the native gas token","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A `TapiocaOFT`/`mTapiocaOFT` can wrap either an ERC20 or the native gas token. When it wraps native, its underlying is recorded as the sentinel `erc20 == address(0)` (`TapiocaOFT.sol:74`, `BaseTOFTStorage.sol:28`). The cross-chain leverage-down flow (`sendForLeverage` → LayerZero → `leverageDown` → `leverageDownInternal`) unwraps the underlying and then swaps it to USDO. The swap approval is done unconditionally with an ERC20 call: For a native-wrapping TOFT this is `IERC20(address(0)).approve(...)`. [continues]","rootCause",1],["65079-h-01-claim-allows-payouts-from-an-arbitrary-token-pool-not-t","Abster Freefall: A player who staked a game in the small-pool token (USDC) claims the payout out of the lar","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A player who staked a game in the small-pool token (USDC) claims the payout out of the large-pool token (WETH) — Freefall.claim reads the pool and pays from the caller-supplied _tokenAddress without checking it equals game.tokenAddress — draining 100 WETH (the entire pool) to the attacker EOA who never wagered WETH.","rootCause",1],["62971-partial-redemptions-can-be-used-to-steal-assets-cyfrin-none","Accountable: A partially-filled redeem controller re-requests; the never-decremented request.totalValue","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A partially-filled redeem controller re-requests; the never-decremented request.totalValue inflates the averaged request.sharePrice, crediting ~500 assets for 200 shares worth 400 at true price 2, letting the controller drain the ~100 surplus base-assets from the pooled vault to the attacker EOA.","rootCause",1],["62972-accountableasyncredeemvaultfulfillredeemrequest-ignores-proc","Accountable: A RequestPrice redeemer who locked a 100-asset guarantee at request-time price (1e18) is s","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A RequestPrice redeemer who locked a 100-asset guarantee at request-time price (1e18) is settled at the lower fulfilment-time price (0.5e18) and paid only 50 assets, losing 50 that stay retained in the vault for the remaining holders.","rootCause",1],["62970-critical-dos-in-queue-processing-if-async-cancellations-are","Accountable: An async-pending cancel leaves its redeem request queued with shares intact while pendingC","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"An async-pending cancel leaves its redeem request queued with shares intact while pendingCancelRedeemRequest=true, so processUpToShares() permanently reverts on the _fulfillRedeemRequest cancel guard and every queued share (150 shares here: A's 50 stuck at the head + B's 100 behind it) is frozen and unclaimable.","rootCause",1],["62969-accountableasyncredeemvaultfulfillcancelredeemrequest-can-de","Accountable: fulfillCancelRedeemRequest calls _reduce with the pendingRedeemRequest that _fulfillCancel","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"fulfillCancelRedeemRequest calls _reduce with the pendingRedeemRequest that _fulfillCancelRedeemRequest already zeroed, so _reduce(controller,0) no-ops and leaves a stale 100-share request in the FIFO queue (totalQueuedShares desynced); processUpToShares then hits it and _fulfillRedeemRequest reverts NoRedeemRequest permanently, freezing all subsequent queue redemptions (100 shares locked, recorde","rootCause",1],["20073-h-05-incorrect-calculation-of-the-remaining-updatedrewards-l","Ajna H-05 — cross-pool reward-cap underflow bricks unstake / claimRewards","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`RewardsManager` tracks the rewards handed out per epoch across ALL pools: but the reward cap it compares against is computed from a single pool's burn (`src/ajna/src/RewardsManager.sol:719-725`): The same bug exists in `_calculateNewRewards` (`RewardsManager.sol:546-549`, `newRewards_ = rewardsCapped - rewardsClaimedInEpoch_`). When a large pool has pushed the shared `updateRewardsClaimed[epoch]` above a *small* pool's per-pool `rewardsCap`, the subtraction underflows (Solidity 0.8 panic `0x11`) and reverts. [continues]","rootCause",1],["20074-h-06-the-lender-could-possibly-lose-unclaimed-rewards-in-cas","Ajna H-06 — a bankrupt bucket wipes a lender's already-earned staking rewards","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"When a bucket goes bankrupt after a lender's deposit, `PositionManager` treats the whole tracked position as gone — `getPositionIndexesFiltered` filters the bucket out and `getLP` returns `0` whenever `depositTime <= bankruptcyTime` (`src/ajna/src/PositionManager.sol`), and `memorializePositions` zeroes `position.lps` (L192-199): `RewardsManager.calculateRewards` / `_calculateAndClaimRewards` iterate over `getPositionIndexesFiltered(tokenId)`. [continues]","rootCause",1],["38196-malicious-user-can-steal-flux-token-by-abusing-voterpoke-imm","Alchemix: A malicious veALCX holder pokes 3x in one epoch","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A malicious veALCX holder pokes 3x in one epoch, tripling unclaimedFlux via accrueFlux's unbounded accumulation, then claimFlux mints 3 FLUX (3x the fair 1e18 single-epoch entitlement, a 2e18 illegitimate over-mint) to the attacker EOA.","rootCause",1],["38189-lack-of-access-control-in-poke-function-allows-in-unlimited","Alchemix: A veALCX holder calls poke() 3x within one epoch (poke lacks the onlyNewEpoch guard that v","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A veALCX holder calls poke() 3x within one epoch (poke lacks the onlyNewEpoch guard that vote()/reset() have), re-accruing FLUX each call so unclaimedFlux reaches 3x the legitimate per-epoch entitlement — 2e18 excess FLUX over-minted to the attacker.","rootCause",1],["63178-h-12-missing-width-scaling-in-feewalkerup-non-visited-underc","Ammplify: A compounding maker on a width-8 non-visited node is credited only 1/8 (1 ether) of the 8","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A compounding maker on a width-8 non-visited node is credited only 1/8 (1 ether) of the 8 ether of fees it earned; the ~87.5% shortfall (7 ether) is stranded and permanently unclaimable, recorded as LOST-FEE to the SINK.","rootCause",1],["63170-h-4-uncollected-fees-from-users-nft-position-are-stuck-in-nf","Ammplify: A user's 100+100 uncollected UniV3 position fees are collected by the decomposer and swept","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A user's 100+100 uncollected UniV3 position fees are collected by the decomposer and swept to caller==NFTManager, but decomposeAndMint never forwards them, so the user permanently loses those fees (stranded in NFTManager).","rootCause",1],["63937-c-01-anyone-can-re-initialize-the-swapproxy-pashov-audit-gro","Anyone can re-initialize the swapProxy","incident","DeFiHackLabs",null,null,[],["untagged"],null,null,null,null,"SwapImpl.initialize has no access control and no once-guard, so an attacker re-initializes the proxy with a malicious permit2; initialize then approves it for all the proxy's WETH, letting the attacker drain 100 WETH of royalties.","rootCause",1],["58097-c-02-wrong-usage-of-mapping-target-in-cancelredeemrequest-pa","Astrolab: cancelRedeemRequest burns another user's shares","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The `cancelRedeemRequest` guard only checks that `msg.sender` is the `operator` or the `owner` — never that the operator holds an allowance over the owner's shares — and it reads the redeem request from `req.byOperator[operator]` (the *caller's own* request) instead of `req.byOperator[owner]`. So any caller can supply their own request's `shares` and stale `sharePrice`, then have the opportunity-cost burn destroy an arbitrary `owner`'s shares. The vulnerable lines, reproduced verbatim:","rootCause",1],["32467-attacker-can-stall-undelegations-openzeppelin-none-forta-sta","Attacker can stall Forta vault undelegations (locked funds via balance donation)","audit-finding","AuditVault",null,null,["vuln/logic/incorrect-value-source","vuln/defi/griefing","vuln/math/underflow-dos"],["logic","defi","math"],null,null,null,null,"Undelegating a subject's stake is a two-step flow: 1. The operator calls `FortaStakingVault.initiateUndelegate`: it clones an `InactiveSharesDistributor`, transfers the vault's FortaStaking active shares to it, and arms the FortaStaking withdrawal delay. 2. After the delay, anyone calls `FortaStakingVault.undelegate`, which drives `InactiveSharesDistributor.undelegate` to pull the FORT back into the vault. The distributor computes how much FORT it received the wrong way. [continues]","rootCause",1],["16739-aztec-confidentialapprove-replay-status","AZTEC confidentialApprove signature replay / revocation inversion","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`confidentialApprove` validates an EIP-712 signature over `(noteHash, spender, spenderApproval)` and then writes `confidentialApproved[noteHash][spender] = spenderApproval`. The vulnerable version keeps no record that a signature was used, so any signature the owner ever produced remains valid forever. An attacker (or the spender) who observed the owner's original `spenderApproval = true` signature can resubmit it at any later time — including after the owner has revoked — and the approval is reinstated.","rootCause",1],["16736-aztec-swap-validator-missing-pairing-check","AZTEC Swap validator: missing elliptic-curve pairing check","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"An AZTEC note is a pair of bn128 points `(gamma, sigma)` with `sigma = gamma^k * h^a`, where `k` is the confidential value and `gamma` is supposed to be a trusted-setup point. A balanced-proof validator must check: 1. each commitment is on-curve and `k`, `a` are in range — `validateCommitment`; 2. the Fiat–Shamir challenge reconstructs — `keccak256(sender || commitments || B_i) == challenge`; 3. the pairing `e(sigma_acc, t2) * e(gamma_acc, g2) == 1` — `validatePairing`. [continues]","rootCause",1],["63500-double-order-attack-via-callback-mechanism-mixbytes-none-bar","Barter DAO: A malicious taker re-enters swap() for a second same-maker order sharing the same takerTok","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A malicious taker re-enters swap() for a second same-maker order sharing the same takerToken during the callback; that single payment satisfies the first order's post-callback balance-delta check too, so the taker collects makerToken from both orders while paying takerToken for only one — netting 100 STOLEN-MAKER (order #1's makerToken) for free while the maker is robbed of one full order.","rootCause",1],["63501-replay-attack-via-balance-based-nonce-mixbytes-none-barter-d","Barter DAO: A one-time signed order authorizing a single 100-makerToken fill is replayed after the mak","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A one-time signed order authorizing a single 100-makerToken fill is replayed after the maker's balance recovers, filling it twice and draining 200 STOLEN-MAKER to the attacker EOA from one signature.","rootCause",1],["20530-c-02-reentrancy-allows-any-user-allowed-even-one-free-honeyj","BearCave: reentrancy in claim mints the whole HoneyJar supply for free","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"HoneyBox.claim mints HoneyJar NFTs (via honeyJar.batchMint -> _safeMint, an unsafe external call to the recipient's onERC721Received) BEFORE it updates claimed[bundleId_] and before it records the claim in the Gatekeeper. An attacker entitled to exactly ONE free HoneyJar re-enters claim from the onERC721Received callback; each re-entry sees stale claimed/gatekeeper state so _getNumClaimable keeps returning the full entitlement and _canMintHoneyJar only bounds against the live minted supply. [continues]","rootCause",1],["61470-h-02-donated-tokens-are-never-deposited-into-vaults-pashov-a","Blueberry HyperEVM Vault: donated tokens inflate share price but can never be redeemed","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`HyperEvmVault._totalEscrowValue` computes the vault's total assets (the share-price numerator) by summing each escrow's `tvl()`. `VaultEscrow.tvl()` returns `vaultEquity_ + assetBalance`, i.e. the L1-vault equity plus the escrow's raw ERC20 balance — so tokens donated directly to an escrow inflate total assets even though they are never pushed into the L1 vault and never become equity. The vulnerable lines, reproduced verbatim: [continues]","rootCause",1],["61468-c-01-incorrect-fee-due-to-double-subtracting-requestsumasset","Blueberry HyperEvmVault: _calculateFee double-subtracts requestSum.assets","audit-finding","AuditVault",null,null,["vuln/logic/fee-calculation","vuln/arithmetic/underflow"],["logic","arithmetic"],null,null,null,null,"`_calculateFee(grossAssets)` subtracts `$.requestSum.assets` from `grossAssets` to size the fee base — but `grossAssets` is passed straight from `_totalEscrowValue`, which already returned `assets_ - $.requestSum.assets`. The pending-redemption amount is therefore subtracted twice, so the management fee is levied on a doubly-reduced value (or the second subtraction underflows and reverts). The vulnerable line, reproduced verbatim from the report: [continues]","rootCause",1],["61457-h-04-malicious-users-may-block-other-withdrawals-pashov-audi","Blueberry HyperEvmVault: a never-cleared redeem request blocks other withdrawals","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In HyperEvmVault the redeem is a two-step flow: `requestRedeem` records a `RedeemRequest` and reserves the assets in a shared Escrow, then `withdraw` calls `_beforeWithdraw` to deduct that request and pay out. `_beforeWithdraw` loads the caller's request into a memory copy and decrements it, but never writes the updated struct back to `$.redeemRequests[msg.sender]` — so the stored request is never reduced. The vulnerable lines, reproduced verbatim: [continues]","rootCause",1],["61469-h-01-flawed-withdrawal-logic-when-caller-differs-from-share","Blueberry HyperEvmVault: redeem preview converts on the caller, not the share owner","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Withdrawals in HyperEvmVault are gated by a per-account `redeemRequests` snapshot (the shares and assets that settled back from L1). The overridden `previewWithdraw()` / `previewRedeem()` index that snapshot by `msg.sender` — the caller — even though ERC4626 supports a flow where the caller differs from the share `owner`. The vulnerable bodies, reproduced verbatim from the report: [continues]","rootCause",1],["61478-h-01-getrate-ignores-szdecimals-pashov-audit-group-none-blue","Blueberry: getRate() ignores szDecimals, under-pricing spot assets 100x","audit-finding","AuditVault",null,null,["vuln/oracle/spot-price"],["oracle"],null,null,null,null,"`getRate()` reads a raw spot price from the Hyperliquid SPOT-PX precompile and scales it by a fixed `USDC_SPOT_SCALING = 10 (18 - 8)` — it assumes every asset's price carries exactly 8 meaningful decimals. In Hyperliquid the number of meaningful price decimals is `8 - szDecimals`, so any asset with `szDecimals > 0` is under-reported by exactly `10 szDecimals`. The vulnerable scaling line, reproduced verbatim: The precompile result is multiplied only by the constant `USDC_SPOT_SCALING`. [continues]","rootCause",1],["61454-h-01-unapproved-requests-are-not-deducted-from-total-assets","Blueberry: requestRedeem never deducts redemption requests from vault totals","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`HyperEvmVault.requestRedeem()` records a redemption request into `request` and `$.totalRedeemRequests`, but never subtracts the requested shares/assets from `totalSupply()` or the `tvl()` escrow. Until the request is finalized, every share-price calculation (`assets = shares.mulDivDown(tvl(), totalSupply())`) still counts the already-spoken-for shares and assets, so the reported price stays stale and inflated for every other user. The vulnerable lines, reproduced verbatim: [continues]","rootCause",1],["61455-h-02-withdraw-check-can-be-bypassed-pashov-audit-group-none","Blueberry: withdraw() equity check bypassed by a stale once-per-block precompile","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `VaultEscrow`, `withdraw()` guards the requested amount with `require(assets_ <= _vaultEquity(),...)`, and `_vaultEquity()` reads the vault's equity from the HyperCore vault-equity precompile at `VAULT_EQUITY_PRECOMPILE_ADDRESS` (`0x…0802`). Per the HyperLiquid docs that precompile is synced Core→EVM only once, at block construction — it is not updated per transaction, so multiple same-block withdrawals all read the same stale equity and each passes the check. The vulnerable lines, reproduced verbatim: [continues]","rootCause",1],["62809-h-2-users-voting-weight-can-be-double-counted-when-finalize","BMX: An attacker with two addresses in different finalizeEpoch tally batches unstakes 1000e18 s","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"An attacker with two addresses in different finalizeEpoch tally batches unstakes 1000e18 sbfBMX from an already-tallied address and restakes it to a not-yet-tallied one, so the same balance is counted twice — a voting option's weight is inflated to 2000e18 (2x the real 1000e18 stake), crediting 1000e18 phantom vote weight to the attacker's chosen option.","rootCause",1],["63718-c-02-stakes-not-forwarded-post-delegation-positions-unwithdr","BOB: A user who re-stakes after delegating governance can never withdraw: unbond()/instantWithd","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A user who re-stakes after delegating governance can never withdraw: unbond()/instantWithdraw() revert because the surrogate holds only the 100-token pre-delegation portion while the exit paths pull the full 150, permanently freezing 150 staked tokens (50 stranded in BobStaking + 100 in the surrogate).","rootCause",1],["64665-eligible-supply-is-not-reduced-on-late-entry-spearbit-none-b","Buck Labs: A late inflow disqualifies account A but leaves its 100-token balance in currentEligibleSu","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A late inflow disqualifies account A but leaves its 100-token balance in currentEligibleSupply, inflating globalEligibleUnits (the distribution denominator); eligible account C is under-paid by 550,000 reward tokens and 600,000 reward tokens are permanently locked (undistributed) in the RewardsEngine.","rootCause",1],["64666-totalexcludedsupply-drifts-from-reality-spearbit-none-buck-l","Buck Labs: Stale totalExcludedSupply (1","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Stale totalExcludedSupply (1,000,000e18) exceeds the shrunken totalSupply (100,000e18) after an excluded whale's tokens are burned through the hook, so configureEpoch()'s totalSupply()-totalExcludedSupply underflows and reverts permanently, freezing the 50,000e18 reward-USDC pool (rewards distribution can never be configured).","rootCause",1],["64664-abi-struct-mismatch-in-band-config-spearbit-none-buck-labs-s","Buck Labs: The BandConfig struct mismatch makes LiquidityWindow ABI-decode floorBps from PolicyManage","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The BandConfig struct mismatch makes LiquidityWindow ABI-decode floorBps from PolicyManager's deviationThresholdBps (25 bps) instead of the real floorBps (100 bps), so requestRefund lets a refunder over-drain 7,500 USDC (75 bps of supply) of reserves below the intended floor to the attacker EOA.","rootCause",1],["56951-burve-incorrect-implementation-of-erc4626viewadjustor","Burve: ERC4626ViewAdjustor reverses toNominal/toReal, inflating LST deposits","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The adjustor's two conversion helpers are swapped: `toNominal` (real→nominal) calls `convertToShares` and `toReal` (nominal→real) calls `convertToAssets`, so every conversion applies the ERC4626 share/asset peg in the *wrong* direction. When the pool sizes a single-token LST deposit through `toReal`, it therefore pulls roughly `1.1x` too many shares from the user. The two helpers, reproduced verbatim from the finding: [continues]","rootCause",1],["56955-burve-fee-bypass-in-valuefacet-removevaluesingle","Burve: Fee bypass in ValueFacet.removeValueSingle","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Burve/src/multi/facets/ValueFacet.sol` (`removeValueSingle`, L214-L245), the function's named return variable `removedBalance` is used as the numerator of the real-fee calculation before it has been assigned — so it is still `0`. `realTax` is therefore always `0`, no fee is collected, and the user is paid the full amount. The vulnerable lines, reproduced verbatim: `realTax = FullMath.mulDiv(removedBalance, nominalTax, removedNominal)` was intended to be `realTax = realRemoved * nominalTax / removedNominal`. [continues]","rootCause",1],["55209-c-02-incorrect-cumulativevalue-in-liqfacetaddliq-gives-less","Burve: Incorrect cumulativeValue in LiqFacet::addLiq mints too few shares","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In Burve's `LiqFacet::addLiq`, the closure's total value `cumulativeValue` is the denominator of the share formula `shares = FullMath.mulDiv(addedBalance, totalShares, cumulativeValue)`. It is initialized to `tokenBalance` — the token reserve after the user's own deposit has been pulled in — instead of `preBalance[idx]`, the reserve before the deposit. The vulnerable lines, reproduced verbatim: [continues]","rootCause",1],["56952-burve-incorrect-netting-logic-leads-to-excessive-withdrawal-amounts","Burve: incorrect netting zeroes the deposit and over-withdraws","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"When `commit` has both a pending deposit and a pending withdrawal, it tries to net them so the vault only moves (and pays fees on) the difference. In the `assetsToWithdraw > assetsToDeposit` branch it sets `assetsToDeposit = 0` before the next line subtracts it, so `assetsToWithdraw -= assetsToDeposit` subtracts 0 — the netting is a no-op and the full withdrawal is executed. The verbatim vulnerable source: [continues]","rootCause",1],["56956-burve-noopvault-donation-attack-drains-assets-from-a-closure","Burve: NoopVault donation attack drains a Closure's assets","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`NoopVault` is a bare OpenZeppelin `ERC4626` vertex vault with no donation protection — it seeds no initial share supply and adds no meaningful virtual-share offset (`_decimalsOffset` defaults to `0`). An attacker can front-run the vault's first use, mint the only share for 1 wei, then donate assets directly to inflate the share price, so the first honest Closure deposit mints zero shares and is lost. The vulnerable contract, reproduced verbatim: [continues]","rootCause",1],["56957-h-8-valuefacetremovevaluesingle-will-withdraw-less-than-requ","Burve: removeValueSingle withdraws less than required (unaccounted tax)","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"removeValueSingle withdraws only removedBalance (tax already deducted) from the vertex vault instead of removedBalance + realTax, so the vault releases 10e18 (realTax) fewer tokens than the op needs and the booked tax earnings are unbacked - a DoS once the compensating double-tax is fixed.","rootCause",1],["61950-c-01-carryvoteforward-enables-double-voting-pashov-audit-gro","carryVoteForward() enables double voting","incident","DeFiHackLabs",null,null,[],["untagged"],null,null,null,null,"carryVoteForward casts votes for the next period but never sets voted[tokenId]=true, so checkPeriodVoted stays false and the notVoted guard is bypassed - the attacker splits the still-unvoted NFT and votes again, double-counting 100e18 of voting weight.","rootCause",1],["36310-c-01-withdrawing-collateral-and-fees-and-bypassing-trust-saf","Catalyst: checkIfBeneficiaryIsATrustedSafe validates only the Safe proxy codehash","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`IPSeedTrust.checkIfBeneficiaryIsATrustedSafe` gates every collateral/fee withdrawal (`claimCollateral`, `projectSucceeded`) on the beneficiary being a genuine 2/2 Gnosis Safe co-owned by the `protocolTrustee`. But it only compares the beneficiary proxy's codehash to `SAFE_PROXY_130_CODEHASH` and then trusts the `getThreshold()`/`getOwners()`/`isOwner()` values that same proxy returns — it never validates the singleton the proxy delegatecalls to. The vulnerable check, reproduced verbatim from the audited source: [continues]","rootCause",1],["55503-c-02-pending-stake-not-accounted-for-in-liquidity-calculatio","Coinflip: pending stake counted as liquidity, drained by a prior staker","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In the audited Coinflip `Staking` contract, `requestStake()` moves the staker's tokens into the contract immediately via `safeTransferFrom`, but never records them as a *pending* stake to be excluded from available liquidity. Every share and pro-rata calculation then reads the raw `IERC20(token).balanceOf(address(this))`, which now includes the still-pending tokens. The vulnerable line, reproduced verbatim from the finding: [continues]","rootCause",1],["63357-h-01-malicious-users-can-brick-vault-operations-by-exploitin","Colbfinance: Any whitelisted user loops deposit + early-withdraw to inflate the global totalDepositToPr","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Any whitelisted user loops deposit + early-withdraw to inflate the global totalDepositToProcess up to maxTotalDeposit while real vault balance returns to 0, permanently bricking all deposits (DepositOverflowTotalCap forever); the 500e18 locked capacity is recorded to the SINK.","rootCause",1],["57953-h-01-incorrect-basket-usd-value-will-cause-incorrect-results","Cove: stale basket USD value passes an over-deviated rebalance","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In Cove's `BasketManagerUtils` rebalance library, `totalValues` — the per-basket USD value — is populated by `_initializeBasketData` and then handed to both `_validateExternalTrades` and `_isTargetWeightMet`. But `_processInternalTrades`, which charges a swap fee that lowers each basket's real USD value, is called without the `totalValues` array and never decrements it, so the later deviation check divides post-fee balances by a stale, too-high denominator. The vulnerable call order, reproduced verbatim: [continues]","rootCause",1],["62822-h-01-not-excluding-accruedprotocolfee-from-state-update-oper","Covenant: With protocol fees on","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"With protocol fees on, a full/last redeem sets amountOut=baseTokenSupply (== the full baseSupply, since the accrued fee is never excluded), so the state update baseSupply-amountOut-protocolFees underflows and reverts for any fee>0 — the final redeemer can never withdraw and the entire 1,000,000 base supply is permanently locked (redeem DoS).","rootCause",1],["55092-crestal-network-anyone-approving-blueprintv5-can-drain-erc20-via-payment-paywitherc20","Crestal Network: Payment::payWithERC20 is public — anyone can drain an approved victim","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `crestal-omni-contracts/src/Payment.sol#L25-L32`, the token-pull helper is declared `public` (it should be `internal`), and it takes an arbitrary `fromAddress`. The function is reproduced verbatim: Because it is `public`, anyone can call it directly and supply any `fromAddress` that still has an allowance to the `BlueprintV5` (Payment) contract, moving those tokens to any `toAddress` of the attacker's choosing.","rootCause",1],["61287-rebaseable-tokens-cause-unfair-vesting-and-claim-failures-","CryptoLegacy: Vesting mixes a live rebasing balance with a stored total, so a rebase makes equal shares pay unequally","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`amountToDistribute = token.balanceOf(this) + totalClaimedAmount` adds a LIVE rebasing balance to a STORED non-rebasing running total. When the token rebases between two beneficiaries' claims, the distribution base shifts, so beneficiaries holding EQUAL shares end with UNEQUAL totals (1,125 vs 875) — a 250-token unfair disparity.","rootCause",1],["41690-h-03-updatexp-can-be-omitted-during-liquidation-pashov-audit","DYAD: updateXP can be omitted during liquidation","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`VaultManagerV5.liquidate` calls `dyad.burn(id, msg.sender, amount)`, which changes the note's debt. A note's `DyadXPv2` XP accrues with a debt bonus that grows with `dyadMinted`, so the XP snapshot must be resynced with `dyadXP.updateXP(id)` whenever the debt changes. But `updateXP` is only called inside the collateral loop, guarded by `if (address(vault) == KEROSENE_VAULT)`. [continues]","rootCause",1],["63542-c-02-withdrawal-requests-through-deposit-pool-lost-permanent","Elytra: A user's elyAsset is burned on requestWithdrawal","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A user's elyAsset is burned on requestWithdrawal, but the vault records the deposit pool (msg.sender) as the request owner, so the user's completeWithdrawal() reverts forever and 6e18 underlying HYPE is permanently locked in the vault.","rootCause",1],["63543-c-03-tvl-errors-by-including-pending-withdrawal-assets-pasho","Elytra: getTotalAssetTVL keeps counting the unstaking-vault backing of a pending withdrawal whose","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"getTotalAssetTVL keeps counting the unstaking-vault backing of a pending withdrawal whose elyHYPE shares were already burned, spiking price from 1.5 to 3.75; the attacker redeems 4e18 elyHYPE for 15e18 HYPE (vs 6e18 fair), draining the 9e18 reserve owed to the pending withdrawer, who is then paid 0.","rootCause",1],["63546-h-03-scaling-error-in-elyasset-price-calculation-leads-to-fe","Elytra: Missing 1e18 scale collapses tempElyAssetPrice to 2 (far below the 18-decimal oldElyAssetP","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Missing 1e18 scale collapses tempElyAssetPrice to 2 (far below the 18-decimal oldElyAssetPrice 1e18), so the reward/fee branch never fires and the protocol permanently accrues 0 performance fee instead of the owed 100e18 per update.","rootCause",1],["63541-c-01-receivefromdepositpool-does-not-track-assets-transferre","Elytra: receiveFromDepositPool reads balanceBefore and balanceAfter with no transfer between them","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"receiveFromDepositPool reads balanceBefore and balanceAfter with no transfer between them so received is always 0; claimableAssets never increases, every withdrawer's claim pays 0 while 10e18 WHYPE stays permanently locked in the unstaking vault.","rootCause",1],["63544-h-01-tvl-double-counts-assets-returned-from-strategy-to-vaul","Elytra: receiveFromStrategy increments the vault's claimableAssets without decrementing the deposi","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"receiveFromStrategy increments the vault's claimableAssets without decrementing the deposit pool's assetsAllocatedToStrategies, so getTotalAssetTVL double-counts the returned assets: it reports 200e18 TVL while the protocol truly holds only 100e18 (a 100e18 phantom over-report that inflates the elyAsset mint/redeem price).","rootCause",1],["63547-h-04-strategy-allocation-tracking-errors-affect-tvl-calculat","Elytra: static strategy-allocation tracker mis-reports vault TVL","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Elytra tracks how many assets sit inside its restaking strategies with a static storage counter, `assetsAllocatedToStrategies[asset]`, and sums that counter into `getTotalAssetTVL()`. The counter is only bumped on allocate (`+= amount`) and decremented on deallocate by the *tokens actually withdrawn* (`-= withdrawn`) — it is never reconciled against the strategy's real balance, so yield that grows inside the strategy is invisible to it. The vulnerable accounting, reproduced verbatim from the finding: [continues]","rootCause",1],["48439-stealing-tokens-from-protocol-ottersec-none-entertainmint-pd","Entertainmint — a creator retargets raise currency after minting","audit-finding","AuditVault",null,"Ethereum",["vuln/logic/incorrect-state-transition","vuln/logic/missing-check"],["logic"],null,null,"Entertainmint",null,"Currency and the numeric balance are independent fields. Withdraw pays the balance in whatever currency is set at the end. The scheduled-gap update runs after `minted` is already the goal, so a filled presale in a cheap token becomes a claim on a valuable token.","rootCause",1],["59895-calling-withdrawforfeit-multiple-times-for-a-single-deposi","Epoch Island: withdrawForfeit recomputes the forfeit on an un-scaled reward base, so partial forfeits over-repay","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"forfeitReward is computed as `(earned + rewardTokensClaimed) * percentage / 1e18`, but rewardTokensClaimed is never reduced as the deposit is partially forfeited. Forfeiting in multiple partial steps recomputes the forfeit against the un-scaled base each time, so the user repays more rewardToken (150 vs the fair 100) than they ever received.","rootCause",1],["62849-h-02-paid-tokens-by-smart-contract-wallets-are-not-refunded","Etherspot: A smart-contract wallet's partial invoice payment (40e18 tokens) is permanently locked in","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A smart-contract wallet's partial invoice payment (40e18 tokens) is permanently locked in InvoiceManager when a SETTLER cancels the stuck invoice: cancelInvoice deletes all credited-token accounting with no refund to the paying wallet, and the only exit (emergencyWithdraw) sweeps to the admin.","rootCause",1],["55523-double-counting-of-the-migrated-stake-mixbytes-none-euler-ma","Euler HookTargetStakeDelegator double-counts the migrated stake","audit-finding","AuditVault",null,null,["vuln/logic/accounting-error","vuln/defi/reward-accounting","vuln/dos/fund-lock"],["logic","defi","dos"],null,null,null,null,"`HookTargetStakeDelegator` mirrors EVault share balances into Berachain's Proof-of-Liquidity reward vault. Stake is always delegated to an account's EVC *owner*. When a sub-account first receives shares its owner may not yet be registered, so the stake is temporarily delegated directly to the sub-account. Once the owner registers, the next operation must *migrate* that stake to the owner. `_migrateStake` performs the migration itself: [continues]","rootCause",1],["61788-attacker-can-lock-user-funds-through-redeem-function-openzep","f(x) Protocol: An attacker uses dust redeems (no minimum rawDebt) to append 800+ child nodes to a tick's","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"An attacker uses dust redeems (no minimum rawDebt) to append 800+ child nodes to a tick's parent-pointer chain; the verbatim recursive TickLogic._getRootNodeAndCompress then exhausts the 30M block gas limit whenever a victim calls operate() to close/update a position in that tick, permanently locking the victim's 100e18 collateral (position becomes un-closable), while the PR #22 iterative fix reso","rootCause",1],["65649-fluid-processnormalsupplyaction-permits-an-uncapped-withdrawal","Fluid DEX v2: _processNormalSupplyAction permits an uncapped withdrawal","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `fluid-contracts/contracts/protocols/moneyMarket/core/operateModule/helpers.sol`, the withdraw branch of `_processNormalSupplyAction` caps `withdrawAmountRaw_` to the user's `tokenRawSupply_` — but only for the position-storage update and health-factor check. It never re-caps `supplyAmount_`, the value it hands to `LIQUIDITY.operate` at the end of the branch. The vulnerable lines, reproduced verbatim: [continues]","rootCause",1],["61019-infinite-interest-rate-bug-immunefi-folks-finance-git","Folks Finance: Missing utilisation-ratio guard: on a fresh pool the attacker pushes totalDebt (1e18) far","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Missing utilisation-ratio guard: on a fresh pool the attacker pushes totalDebt (1e18) far above totalDeposits (1e5), so calcUtilisationRatio returns 1e31 (>>100%) and the variable borrow rate explodes to ~4e31; after one block the attacker's 1e5-wei deposit over-mints to a ~5.7e23 underlying claim (~5.7e18x the pool's real asset base), letting them drain the entire pool and steal every co-deposito","rootCause",1],["55705-h-03-natural-logarithm-function-silently-accepts-invalid-non","Forte Float128 Ln.ln silently accepts non-positive inputs (mispriced settlement / stolen collateral)","audit-finding","AuditVault",null,null,["vuln/math/missing-input-validation","vuln/defi/mispricing"],["math","defi"],null,null,null,null,"The natural-log entry point `Ln.ln` extracts the mantissa with a mask that omits the sign bit and never checks the value's sign or zero-ness: `MANTISSA_MASK` covers bits `0..239`; the sign lives in `MANTISSA_SIGN_MASK` (bit `240`), which `ln` never reads. So for a negative input the function computes `ln(|input|)` (e.g. `ln(-2)` returns exactly `ln(2) = 0.69314718055994530941723212145817656807`), and for zero it returns a finite garbage value (`-18781.450104...`, when the true value is `-∞`). [continues]","rootCause",1],["58127-c-01-decrease-position-can-be-abused-to-withdraw-pnl-twice-p","Gains Network gTrade: decrease position withdraws realized PnL twice","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"When a position is decreased, `prepareCallbackValues` computes `values.existingPnlCollateral` from the trade's `openPrice` and `collateralAmount` alone and never subtracts the PnL the trader has already realized/withdrawn on this position. The value paid out, `collateralSentToTrader = partialTrade.collateralAmount + partialTradePnlCollateral`, therefore hands back a proportional slice of the full mark-to-market PnL a second time. The vulnerable lines, reproduced verbatim: [continues]","rootCause",1],["40188-h-01-inconsistent-spread-and-price-impact-charges-pashov-aud","Gains Network gTrade: pre-v9.2 trades escape half their spread and price-impact charges","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The protocol splits the spread + price-impact charge in half between the position-size *increase* and the *close*. But the increase path charges half unconditionally, while the close path charges zero for any trade opened before v9.2 — so a pre-v9.2 trade that increases and then closes pays only 50% of what it owes. The vulnerable increase-side call, reproduced verbatim: The `true` in `getMarketExecutionPrice(..., /*useHalfSpread*/ true)` halves the charge on every increase. [continues]","rootCause",1],["58128-h-01-holding-fees-accounting-discrepancy-when-collateral-is","Gains Network: holding-fee accounting under-collects for the vault","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"realizeHoldingFeesOnOpenTrade caps the collateral transferred to the vault to what is available (amountSentToVaultCollateral = min(holdingFeesCollateral, availableCollateralInDiamond)) but records the FULL holdingFeesCollateral into realizedTradingFeesCollateral. A 500x/1 ETH position accrues 1.5 ETH of holding fees: only 1 ETH is transferred to the vault while 1.5 ETH is recorded as realized. [continues]","rootCause",1],["53286-h-03-soulbound-tokens-cannot-be-minted-or-burnt-due-to-an-in","Gigaverse: GameNFT._update bricks minting and burning of soulbound tokens","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"OpenZeppelin's ERC721 routes every mint, transfer and burn through `_update`. `GameNFT` overrides it with a blanket `require(!isSoulbound,...)` that also fires on mints (`prevOwner == 0`) and burns (`to == 0`), not just transfers — so a soulbound token can never be minted and, once soulbound, can never be burnt. The vulnerable override, reproduced verbatim: The check makes no attempt to distinguish a mint (`prevOwner == address(0)`) or a burn (`to == address(0)`) from a real owner-to-owner transfer. [continues]","rootCause",1],["64870-h-02-dust-orders-can-block-order-posting-code4rena-gte-gte-g","GTE: A maker order ground to a sub-minimum one-lot dust rests at the front of the book; a subse","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A maker order ground to a sub-minimum one-lot dust rests at the front of the book; a subsequent healthy taker fill first matches the dust, computing quoteDelta = baseDelta*price/baseSize == 0, so totalQuoteSent stays 0 and the fill reverts with ZeroCostTrade — the taker is denied execution and the real liquidity resting behind the dust is unreachable (permanent liveness DoS/griefing at that price","rootCause",1],["64835-h-02-backstop-bid-side-frozen-by-tick-size-constraint-code4r","GTE: Non-strict crossing check traps min-tick backstop bids","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"if (ds.getBestAsk() <= newOrder.price) uses a non-strict <=, so a backstop bid at the minimum tick is treated as crossing a min-tick ask and reverts, permanently freezing backstop bid placement at that level.","rootCause",1],["64869-h-01-order-double-linked-list-is-broken-because-orderprevord","GTE: order.prevOrderId written to a memory copy, never persisted","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"order.prevOrderId = tailOrder.id is set on a MEMORY copy of the order and never written back to storage, so every order's back-pointer is null; removing the tail forces limit.tailOrder = null, corrupting the doubly-linked list and breaking subsequent order placement.","rootCause",1],["64858-h-10-protocol-fails-to-charge-fees-from-swap-amount-code4ren","GTE: swap() fails to charge the launchpad fee from the swapper","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"swap()'s K-check only deducts the 0.3% swap fee, but _update() additionally distributes a launchpad fee from the pool reserves that the swapper never paid, leaking 300e18 of LP liquidity to the distributor per swap.","rootCause",1],["55104-h-1-usdc-rewards-will-not-be-distributed-if-updaterewardsst","H-1: USDC rewards are never distributed if _updateRewardsStates is triggered too often","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`rewardPerToken` accumulates the per-token reward with a `1e18` factor that up-scales the staking token (18-decimal SYMM) but performs no up-scaling of the reward token: For a 6-decimal reward the increment `(elapsed * rate * 1e18) / totalSupply` is tiny, and `_updateRewardsStates` writes `perTokenStored` and advances `lastUpdated` on every call: So if the increment for the elapsed window rounds down to zero, the accrued rewards are silently discarded, yet `lastUpdated` moves forward — permanently.","rootCause",1],["63976-h-01-anyone-can-finalize-the-sale-early-via-testfinalizesett","Harmonix Finance: Any unprivileged EOA calls the unprotected public testFinalizeSettlement() to flip settlem","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Any unprivileged EOA calls the unprotected public testFinalizeSettlement() to flip settlementFinalized=true, after which every buyer's purchase() reverts permanently (both a fresh buyer and an existing buyer are frozen out); the sale is bricked and allocations locked at an attacker-chosen block. No theft; the blocked payment magnitude (1000e18) is marked to the SINK.","rootCause",1],["63977-h-02-the-finalizesettlement-can-be-dossed-leading-to-refund","Harmonix Finance: Anyone front-runs finalizeSettlement() by directly transferring 1 wei of purchaseToken to","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Anyone front-runs finalizeSettlement() by directly transferring 1 wei of purchaseToken to the sale; the strict equality on the live balance never holds again, so settlement can never finalize and the entire ~600,000 purchaseToken refund pool (gated on finalization) is permanently frozen in the contract.","rootCause",1],["60149-all-funds-become-irredeemable-when-the-tree-is-halfway-pop","Hinkal: Merkle insert never stores the top root once the tree is half-full, locking every deposit","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The insert loop rebuilds the path into the local `prevHash` but only writes lower nodes to storage; at the top level the `if (i != twoPower)` guard skips the final write, so the computed root is never stored to tree[twoPower]. Once the tree is more than half populated the published root stays 0, no membership proof matches, every commitment becomes un-nullifiable, and all deposits are permanently locked.","rootCause",1],["60150-commitments-can-be-overwritten-by-overflowing-the-tree-qua","Hinkal: Tree capacity guard uses != instead of <=, letting an overflow overwrite an earlier commitment","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The full-tree guard checks `require(newIndex != 2LEVELS)` (line 59) instead of `<=`, so once the tree is full an insert with newIndex > 2LEVELS passes. The overflowing leaf is then written at an index that aliases an earlier position, and its parent (index/2) wraps back into the leaf region (onto MINIMUM_INDEX) — overwriting a previously-stored commitment and invalidating that depositor's funds.","rootCause",1],["63683-c-01-incorrect-reward-calculation-pashov-audit-group-none-hy","HYBUX: A user unstaking through the router forfeits their entire accrued reward (1000 HYBUX): _un","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A user unstaking through the router forfeits their entire accrued reward (1000 HYBUX): _unstakeNFTs claims for msg.sender (the router, which holds no position) then wipes the user's accrual, so the reward is never paid and becomes permanently unrecoverable.","rootCause",1],["63684-h-01-cross-contract-signature-replay-allows-users-to-inflate","HYBUX: Attacker replays a legendary-rarity (weight-100) signature from one NFTStaking deployment","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Attacker replays a legendary-rarity (weight-100) signature from one NFTStaking deployment onto a second deployment sharing the signer, crediting a common (weight-1) NFT with legendary weight and claiming 100,000 REWARD-HYBUX — 100x the 1,000-token weight-1 baseline (a 99,000-token / 99x over-payment).","rootCause",1],["57739-h-02-insufficient-liquidity-checks-for-put-may-cause-exercis","Hyperhyper: PUT liquidity check ignores the payout token","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"OperationalTreasury._checkEnoughLiquidity gates a PUT open on the TOTAL stablecoin value of the pool (availableStable = _getPoolValue(true,false), the USD sum of every listed stablecoin) instead of the balance of the specific payout token pos.buyToken. With poolAmount[USDC]=0 and poolAmount[USDXL]=3500e18 the pool looks solvent (3500 USD), so a USDC PUT with sizeUSD=3500e18 opens (0 + 3500e18 !> 3500e18) even though there is 0 USDC to ever pay it. [continues]","rootCause",1],["63922-h-01-deprecated-safeapprove-usage-blocks-collateral-approval","Hyperlend: After the first successful collateral supply for a token","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"After the first successful collateral supply for a token, every later executeOperation() for that token reverts inside the deprecated SafeERC20.safeApprove (non-zero-to-non-zero allowance), permanently bricking collateral supply through this path (liveness DoS; 100e18 collateral un-suppliable per call, no funds stolen).","rootCause",1],["57824-h-03-non-perpetual-locks-gaining-extra-delegation-power-pash","Hyperstable: Non-perpetual locks gain extra delegation power","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`vePeg._delegate(_from, _to)` gates delegation on the *source* token `_from` being perpetually locked, intending that only perpetual locks carry delegation power. But delegation is then applied at the address level: `_moveAllDelegates` copies every tokenId the owner holds — including non-perpetual locks — into the delegatee's checkpoint, so passing one perpetual lock through the gate leaks the voting power of all the owner's non-perpetual locks. The vulnerable lines, reproduced verbatim from the finding: [continues]","rootCause",1],["59427-user-pending-rewards-can-never-be-paid-out-quantstamp-inte","IntentX: claim() reads pending rewards for the zero address, then wipes the caller's real balance unpaid","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"claim() reads `_amountOut = pendingRewards[_owner]` (line 89) while `_owner` is still the zero address (== 0), accumulates only the per-token rewards, then sets `_owner` to the caller (line 92) and wipes `pendingRewards[_owner] = 0` (line 93). The caller's real accrued pending balance is never included in the payout total and is zeroed — the staker permanently loses their rewards.","rootCause",1],["58706-h-01-payers-exploit-reentrantsettle-to-bypass-payments-with","Itos: reentrantSettle self-transfer bypasses payment","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`RFTLib.reentrantSettle` tracks a cumulative `transact.delta[token]` across nested (reentrant) calls and validates it against the contract's own balance change at the end of the outer call. It never rejects `payer == address(this)`, so a malicious `IRFTPayer` can re-enter during its `tokenRequestCB` and trigger a second settle with a negative amount whose `safeTransfer` becomes a self-transfer — leaving the real balance unchanged while zeroing the tracked delta. [continues]","rootCause",1],["38491-h-03-activevalidatorcount-is-never-set-or-increased-pashov-a","Karak NativeVault: activeValidatorCount is never incremented, bricking every snapshot","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `NativeVaultLib.validateWithdrawalCredentials`, a validator is registered as `ACTIVE` with its `restakedBalanceWei` set and written back to storage — but `ownerToNode[nodeOwner].activeValidatorCount` is never set or increased. The counter is only ever *decremented* (in `validateSnapshotProof` when a validator's beacon balance hits 0), so it starts and stays at 0. The verbatim registration tail, with the missing increment marked: [continues]","rootCause",1],["58611-h-03-deactivated-validator-retains-old-balance-after-reactiv","Kinetiq: reactivated validator retains stale balance (underflow DoS)","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"ValidatorManager.deactivateValidator creates a rebalance withdrawal for the validator's balance but never zeroes validatorData.balance nor subtracts it from totalBalance; OracleManager skips inactive validators, so the stale balance survives. [continues]","rootCause",1],["58609-h-01-addrebalancerequest-may-use-outdated-balance-for-deleg","Kinetiq: rebalance request uses an outdated validator balance","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"ValidatorManager._addRebalanceRequest persists a fixed withdrawal amount validated against the validator balance at request time; closeRebalanceRequest reuses that stale amount and never re-reads the live balance. Rewards accruing between request and close (100e18 -> 110e18) leave 10e18 permanently stuck: a full-deactivation close retrieves only the stale 100e18. (Symmetric case: a balance decrease makes the undelegation revert and freezes the request.)","rootCause",1],["58612-h-04-reportslashingevent-reverts-if-outdated-balance-is-belo","Kinetiq: reportSlashingEvent reverts when the stale balance is below the slash amount","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `ValidatorManager.reportSlashingEvent`, the newly-reported slash `amount` is checked against the validator's stale, previously-reported `val.balance` rather than its real, up-to-date balance. Because `val.balance` is only refreshed by the oracle's periodic update, it lags the validator's real balance between rounds — so a legitimate slash can exceed the stored value and revert. The vulnerable code, reproduced verbatim: [continues]","rootCause",1],["58157-h-06-lack-of-access-control-in-clgauge-creation-allows-unaut","KittenSwap: CLGauge creation lacks access control","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Permissionless CLGaugeFactory.createGauge lets an attacker front-run Voter.createCLGauge and consume the pool's one-shot setGaugeAndPositionManager slot, permanently reverting legitimate gauge creation (DoS of pool emissions/rewards) and binding the pool to an unauthorized gauge","rootCause",1],["58151-c-02-clgauge-sends-kitten-rewards-to-itself-instead-of-to-st","KittenSwap: CLGauge sends staking rewards to itself","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"CLGauge._getReward derives the reward recipient from nfp.ownerOf(nfpTokenId), which after staking is the gauge itself; the KITTEN reward is self-transferred gauge->gauge, the staker receives 0 and 100% of rewards are stranded/lost","rootCause",1],["61952-h-02-reward-rates-can-be-reset-to-0-and-future-rewards-can-b","KittenSwap: distributing a stale zero-vote period resets a gauge's reward rate to 0","audit-finding","AuditVault",null,null,["vuln/logic/reward-calculation"],["logic"],null,null,null,null,"`Voter.distribute(_period, _gauge)` accepts any valid past period so a missed distribution can settle in the current period, but `_distribute` never returns early when the supplied gauge had no votes for that past period (`ps.gaugeTotalVotes[_gauge] == 0`). Because the past period itself had global votes, `emissions` computes to exactly `0` with no guard, and that `0` is forwarded to `IGauge(_gauge).notifyRewardAmount(0)`. The vulnerable lines, reproduced verbatim from the finding: [continues]","rootCause",1],["58154-h-03-externalbribeearned-skips-rewards-before-the-last-token","KittenSwap: ExternalBribe.earned skips one epoch of rewards","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"ExternalBribe.earned accumulates each checkpoint's epoch reward one loop iteration late (reward += prevRewards.balance fires at the START of the next iteration), but the loop bound is `i <= _endIndex - 1` instead of `i <= _endIndex`, so the reward computed for the checkpoint at index _endIndex-1 is NEVER added and the post-loop block only handles _endIndex. [continues]","rootCause",1],["58153-h-02-loss-of-claimable-rewards-upon-gauge-deactivation-pasho","KittenSwap: gauge deactivation destroys accrued rewards","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Voter.killGauge sets claimable[_gauge]=0, permanently destroying a gauge's already-accrued rewards; because _updateFor already advanced supplyIndex[_gauge] to the global index, reviveGauge cannot re-accrue them. Two equally-weighted gauges each accrue 100e18; killing then reviving gauge A makes it receive 0 on distribution while identical gauge B receives its full 100e18, and the equivalent base tokens are stranded in the Voter forever.","rootCause",1],["58207-c-03-incentive-rewards-may-be-stolen-pashov-audit-group-none","KittenSwap: getRewardForPeriod lets a voter claim a still-open future period","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In KittenSwap's `VotingReward`, `getRewardForPeriod` forwards any caller-supplied `_period` into `_getReward` without ever checking it is not a still-open future period. Both `incentivize` and `_deposit` write into `getCurrentPeriod() + 1`, so a voter can claim that next, still-accumulating period while they are momentarily its only voter and take 100% of its incentives. The vulnerable functions, reproduced verbatim from the finding: [continues]","rootCause",1],["61951-h-01-repeated-distributions-for-killed-gauges-can-block-vali","KittenSwap: killed-gauge distributions can be replayed to block valid payouts","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"When a gauge is killed (`isAlive == false`), `_distribute` routes that gauge's pending emissions back to the `minter` and zeroes them out — but, unlike the live `else` branch, it never sets `es.distributed = true`. The `if (es.distributed) revert` guard therefore never trips for a killed gauge, so anyone can call `distribute(killedGauge)` repeatedly within the same period. The vulnerable branch, reproduced verbatim from the audited `Voter`: [continues]","rootCause",1],["58206-c-02-lack-of-lastmintedperiod-update-allows-unlimited-mintin","KittenSwap: missing lastMintedPeriod update allows unlimited minting","incident","DeFiHackLabs",null,null,[],["untagged"],null,null,null,null,"updatePeriod() mints the weekly emission when currentPeriod>lastMintedPeriod but never updates lastMintedPeriod, so the condition stays true forever and anyone can mint the emission repeatedly - unlimited Kitten supply (9 extra periods = 1800e18 over-minted).","rootCause",1],["61953-h-03-permissionless-voting-through-votercarryvoteforward-pas","KittenSwap: permissionless voting through Voter::carryVoteForward()","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The `carryVoteForward` function in `Voter.sol` is `public` with no access control: it re-casts a `veKITTEN`'s past-period vote into the next period but never checks that `msg.sender` owns or is approved for `_tokenId`. The vulnerable lines, reproduced verbatim: The gated `vote()` path guards its entry with `veKitten.isApprovedOrOwner(msg.sender, _tokenId)`, but `carryVoteForward` omits that check entirely. [continues]","rootCause",1],["58155-h-04-duplicate-tokenid-in-delegate-list-may-inflate-votes-pa","KittenSwap: same-block delegation bricks the vote-move loop","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"VotingEscrow._moveAllDelegates reuses the latest checkpoint on a same-block move (_findWhatCheckpointToWrite returns _nCheckPoints-1), so dstRepNew aliases dstRepOld and the verbatim copy loop pushes onto the array whose.length it re-reads each iteration; a second same-block delegation to the same delegatee grows the tokenId list without bound and runs out of gas, permanently bricking that delegation in-block (DoS of governance delegation / vote-move path)","rootCause",1],["58010-c-01-split-can-be-abused-to-create-locked-data-with-an-arbit","KittenSwap: split can create locked data with an arbitrary owner","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"KittenSwap VotingEscrow.split(_from,_amount) never validates _amount against the token's locked balance. [continues]","rootCause",1],["58208-h-01-votingreward-not-set-on-gauge-pashov-audit-group-none-k","KittenSwap: votingReward not set on Gauge traps all swap fees","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The `Gauge` contract never sets `votingReward` during initialization and exposes no setter, so it stays `address(0)`. When `notifyRewardAmount()` claims the pair's swap fees and reaches the forwarding call, it invokes a function on a zero-code address, which reverts and permanently blocks fee distribution. The vulnerable block, reproduced verbatim: `votingReward` is declared with the `IVotingReward` type but is assigned nowhere — the constructor sets only `lpToken`, and no `setVotingReward`-style function exists. [continues]","rootCause",1],["58379-lend-malicious-liquidator-can-liquidate-without-providing-collateral","LEND (Lend-V2): cross-chain liquidator seizes collateral without providing repayment","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/CrossChainRouter.sol`, the Chain-B (debt chain) liquidation entry-point validates the borrower's position and immediately calls `_executeLiquidation`, which dispatches a collateral-seize message to Chain A — but it never transfers or escrows the repayment token from the liquidator. The vulnerable lines, reproduced verbatim: The seize on Chain A executes as an independent LayerZero message and hands the borrower's collateral to the liquidator. [continues]","rootCause",1],["58384-lend-incorrect-distribution-of-lend-tokens-to-users","Lend V2: _handleBorrowCrossChainRequest distributes LEND on an already-inflated balance","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/CrossChainRouter.sol`, `_handleBorrowCrossChainRequest` first updates the borrower's `crossChainCollaterals` entry — adding `payload.amount` to `principle` — and only afterwards calls `distributeBorrowerLend`. But `distributeBorrowerLend` derives the borrower's LEND reward from that very mapping (via `borrowWithInterest`), so distribution runs on the already-inflated balance. The vulnerable ordering, reproduced verbatim: [continues]","rootCause",1],["58386-lend-liquidating-corerouter-can-cause-excess-borrower-loss","Lend V2: a liquidated CoreRouter overpays early redeemers and strands the last","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/CoreRouter.sol`, `redeem` computes each user's payout as `_amount * exchangeRateBefore`, derived purely from the LToken exchange rate. Because CoreRouter is a single pooled account that is both supplier and borrower in the LToken market, it can be liquidated there — but the payout never consults CoreRouter's actual remaining collateral, so early redeemers are paid in full while the last redeemer is stranded. The vulnerable line, reproduced verbatim: [continues]","rootCause",1],["58392-lend-cross-chain-collateral-is-miscalculated-in-borrowwithinterest","Lend V2: cross-chain collateral is miscounted as zero in borrowWithInterest","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"When a user borrows cross-chain from source chain A to destination chain B, the collateral record is stored on chain B with `srcEid != destEid`. But while summing that debt, `borrowWithInterest` only counts a cross-chain collateral when `destEid == currentEid && srcEid == currentEid` — a condition that can never be satisfied because `srcEid` is always different from `destEid`. The vulnerable line, reproduced verbatim from the finding: [continues]","rootCause",1],["58391-lend-liquidation-validation-logic-is-wrong","Lend V2: cross-chain liquidation check misuses payload.amount","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"On Chain A (the collateral chain), the cross-chain liquidation check treats `payload.amount` as if it were an additional borrow amount — but `payload.amount` is the number of collateral tokens to seize (`seizeTokens`, computed on Chain B). It is passed into `getHypotheticalAccountLiquidityCollateral(...)` as the `borrowAmount` parameter, so the check asks \"if this user borrowed that much more, would they be underwater?\" instead of validating actual health. The vulnerable line, reproduced verbatim: [continues]","rootCause",1],["58377-lend-cross-chain-liquidation-computes-maxliquidatable-incorrectly","LEND V2: cross-chain liquidation computes maxLiquidatable incorrectly","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/LendStorage.sol`, `getMaxLiquidationRepayAmount` sizes the cross-chain liquidation cap with `borrowWithInterest()`. That helper only sums cross-chain borrows that originated from the current chain; it never includes borrows whose destination is the current chain. So for a genuine inbound cross-chain debt the cap resolves to `0`. The vulnerable function, reproduced verbatim from the finding: [continues]","rootCause",1],["58388-lend-cross-chain-liquidation-reduces-debt-by-collateral-seized","Lend V2: cross-chain liquidation reduces debt by the collateral seized","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Cross-chain liquidation reuses a single generic `Payload.amount` field across every LayerZero hop. `_executeLiquidationCore` writes `seizeTokens` (the amount of collateral to seize, in collateral-lToken units) into that field, and the return hop hands the very same value to `repayCrossChainBorrowInternal` as the repay amount — so the borrower's debt is reduced by the collateral seized, not by the liquidator's actual `params.repayAmount`. The vulnerable send, reproduced verbatim from the finding's Root Cause: [continues]","rootCause",1],["58381-lend-incorrect-lend-reward-distribution-for-cross-chain-borrows","Lend V2: incorrect LEND reward distribution for cross-chain borrows","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/LendStorage.sol`, `distributeBorrowerLend()` sizes each borrower's LEND reward with `borrowWithInterest()`, which sums `crossChainBorrows` — debt that *originated* on this chain but was executed elsewhere — instead of `crossChainCollaterals`, the borrows actually *executed* on this chain. The vulnerable calculation, reproduced verbatim: [continues]","rootCause",1],["58374-lend-wrong-l-token-seize-amount-in-liquidatecrosschain","Lend V2: wrong lToken seize amount in cross-chain liquidation","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Cross-chain liquidation executes on Chain B (where the debt lives), but the number of collateral lTokens to seize is computed from `params.lTokenToSeize` — the Chain B twin of the collateral lToken. `liquidateCalculateSeizeTokens` divides by that lToken's `exchangeRateStored()`, i.e. Chain B's exchange rate, even though the seize is later applied on Chain A against a collateral lToken whose exchange rate is different. The vulnerable call, reproduced verbatim: [continues]","rootCause",1],["58390-lend-borrower-can-redeem-collateral-immediately-after-borrowing","Lend: borrower can redeem collateral immediately after a cross-chain borrow","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/CrossChainRouter.sol#L113`, `borrowCrossChain()` adds collateral tracking and snapshots the current collateral into the LayerZero message, then fires the borrow — without locking the collateral on the source chain. The vulnerable body is reproduced verbatim: Because no lock is placed and the pending borrow is not recorded on the source chain, the user can immediately call `redeem()` on the source chain — the liquidity check sees no debt and releases all collateral. [continues]","rootCause",1],["58395-lend-cross-chain-debt-accrues-incorrectly","Lend: borrowWithInterest scales cross-chain debt by the same-chain borrow index","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/LendStorage.sol`, `borrowWithInterest()` sums each cross-chain borrow's principal re-scaled by an accrued borrow index — but it re-scales by `LTokenInterface(_lToken).borrowIndex()`, the same-chain lToken passed in, while the debt physically accrued (and its stored `borrowIndex` was recorded) on the destination chain. The two indices diverge, so the accrued cross-chain debt is computed against the wrong index. [continues]","rootCause",1],["58370-lend-repeated-claims-of-the-same-rewards-drain-lend-reserves","LEND: claimLend never resets accrued rewards, draining LEND reserves","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/CoreRouter.sol`'s `claimLend()`, the final loop grants each holder their accrued LEND via `grantLendInternal()` but ignores its return value and never resets `lendStorage.lendAccrued`. Because the accrued balance survives the payout, a user can call `claimLend()` again and again and re-collect the same reward every time. The vulnerable lines, reproduced verbatim: `grantLendInternal()` transfers the LEND and returns the un-granted remainder (0 on success), but the caller discards it. [continues]","rootCause",1],["58396-lend-corerouter-borrow-has-an-incorrect-collateral-check","Lend: CoreRouter.borrow() uses an incorrect collateral check","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/CoreRouter.sol#L153`, `borrow()` computes the correct hypothetical debt (`borrowed`, the total hypothetical USD debt) but then discards it, checking a separate `borrowAmount` that collapses to `0` on a first borrow. The vulnerable block is reproduced verbatim: On a first borrow in a market, `currentBorrow.borrowIndex == 0`, so the ternary yields `borrowAmount = 0`. [continues]","rootCause",1],["58376-lend-corerouter-redemption-payout-is-miscalculated","LEND: CoreRouter.redeem overpays a precomputed amount, draining its reserve","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`CoreRouter.redeem` computes `expectedUnderlying` from `exchangeRateStored()` before the redeem, then pays the user that fixed amount. It never checks how much underlying `LToken.redeem()` actually transferred back — so when the LToken returns less (a redemption fee, or a rate not reflected in the stored value), CoreRouter pays out more than it received. The vulnerable lines, reproduced verbatim: [continues]","rootCause",1],["58378-lend-supplying-uses-an-outdated-exchange-rate","LEND: CoreRouter.supply credits lTokens with a stale exchange rate","audit-finding","AuditVault",null,null,["vuln/oracle/stale-price"],["oracle"],null,null,null,null,"In `Lend-V2/src/LayerZero/CoreRouter.sol`, `supply` reads the market's exchange rate with `exchangeRateStored()` *before* calling `mint()`. `mint()` internally accrues interest first, so the market mints lTokens at the current (higher) rate — but `CoreRouter` credits the supplier using the lower stale rate, over-crediting them. The vulnerable body, reproduced verbatim: [continues]","rootCause",1],["58375-lend-cross-chain-borrow-ignores-existing-debt-in-collateral-validation","LEND: Cross-chain borrow ignores existing debt in collateral validation","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `borrowCrossChain()`, the collateral read destructures `getHypotheticalAccountLiquidityCollateral`, which returns `(totalBorrowed, totalCollateral)`, but keeps only the collateral value and discards `totalBorrowed`. The raw collateral — with no deduction for the user's existing debt — is then shipped to the destination chain as the sole liquidity check. The vulnerable lines, reproduced verbatim: The destination chain validates the inbound borrow only against this raw value: [continues]","rootCause",1],["58383-lend-cross-chain-liquidation-uses-the-wrong-srctoken","LEND: cross-chain liquidation uses the wrong srcToken","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"On the destination chain, `_handleLiquidationSuccess` looks up the borrow position by passing `payload.srcToken` to `findCrossChainCollateral`. But `payload.srcToken` carries the destination chain's borrowed token (`params.borrowedAsset`), while `crossChainCollaterals[...].srcToken` was stored as the source chain's underlying — so even for the \"same\" asset (e.g. USDC) the addresses differ and the match fails. The vulnerable settlement code, reproduced verbatim: [continues]","rootCause",1],["58393-lend-cross-chain-repayment-updates-the-wrong-borrow-balance","Lend: cross-chain repayment updates the wrong borrow balance","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A cross-chain repayment flows through `CoreRouter.repayBorrowInternal()`. It correctly *reads* the debt from the cross-chain accounting (`borrowWithInterest`) when `_isSameChain == false`, but then it updates the same-chain borrow-balance slot instead of the cross-chain `crossChainBorrow`/`crossChainCollateral` records. The vulnerable function is reproduced verbatim: [continues]","rootCause",1],["58385-lend-cross-chain-repayment-updates-same-chain-borrow-balances","LEND: cross-chain repayment wipes the borrower's same-chain debt","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/CoreRouter.sol`, `repayBorrowInternal` runs its `// Update same-chain borrow balances` block unconditionally — there is no `if (_isSameChain)` guard. When a cross-chain debt is repaid (`_isSameChain == false`), `borrowedAmount` is the cross-chain balance, yet the block still calls `removeBorrowBalance(borrower, _lToken)`, deleting the borrower's unrelated same-chain `borrowBalance` record for the same lToken. The vulnerable lines, reproduced verbatim: [continues]","rootCause",1],["58371-lend-protocol-reward-tokens-are-permanently-stuck","Lend: liquidation protocolReward is permanently stuck","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `Lend-V2/src/LayerZero/CoreRouter.sol`, every liquidation carves out `PROTOCOL_SEIZE_SHARE_MANTISSA` (2.8%) of the seized collateral and records it in `protocolReward` via `updateProtocolReward`. That mapping is only ever incremented — no function in `LendStorage.sol`, `CoreRouter.sol`, or `CrossChainRouter.sol` ever redeems, transfers, or decrements it. The vulnerable lines, reproduced verbatim: [continues]","rootCause",1],["33354-h-01-availability-of-deposit-invariant-can-be-bypassed-code4","LoopFi PrelaunchPoints — H-01: availability-of-deposit invariant can be bypassed","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The audited claim path for wrapped-LRT tokens converts the swapped ETH into `lpETH` 1:1, but reads the amount to mint from the contract's *entire* ETH balance: `claimedAmount` is meant to be only the ETH bought from the caller's own swap (`buyAmount`). Because it is `address(this).balance`, any other ETH sitting in the contract is minted as `lpETH` to the claimer. The contract's own `receive()` even documents that directly-sent ETH is \"locked forever\" — but the LRT claim path lets an attacker sweep it. [continues]","rootCause",1],["58543-h-01-incorrect-vesting-interest-calculation-enables-mev-atta","LoopVaults: inverted _vestingInterest() enables an MEV sandwich","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Harvested interest is meant to vest — stay locked right after an update and release linearly over `vestingDuration` — so a deposit/redeem sandwiching the harvest cannot capture it. But `_vestingInterest()` is inverted: it returns `0` when `block.timestamp == lastUpdate` (right after the update) and rises to the full amount only at `vestingDuration`. [continues]","rootCause",1],["36354-h-14-incorrect-parameters-bricks-certain-functions-pashov-au","Lucidly: incorrect parameters brick certain functions","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Pool.setWeightBands and setRamp declare their array parameters as fixed-length uint256[MAX_NUM_TOKENS] calldata with MAX_NUM_TOKENS=32, so the ABI forces the caller to pass exactly 32 elements. But both functions loop for (t=0; t<MAX_NUM_TOKENS; t++) with the guard if (t >= _numTokens) revert Pool__IndexOutOfBounds();, so for any pool with fewer than 32 tokens (the normal case, here _numTokens=3) a valid 32-length call always reverts at t==3. [continues]","rootCause",1],["65372-depositmanager-refundentryfee-doesnt-deduct-referral-rewards","Majority Protocol: An attacker's referrer claims 10 MJT of unbacked referral rewards (5 sock-puppets join+lea","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"An attacker's referrer claims 10 MJT of unbacked referral rewards (5 sock-puppets join+leave a game at net-zero token cost while _refundEntryFee omits the referralRewards decrement), draining tokens honest players contributed to the pool and leaving it insolvent (290e18 < 300e18 owed to winners).","rootCause",1],["65376-depositmanagergetrewards-always-includes-referrer-fee-result","Majority Protocol: In a game with no referrers","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In a game with no referrers, getRewards still subtracts REFERRER_FEE (2%), so 2% of the pool (20e18 of 1000e18) is withheld from the winner and locked in DepositManager as an unclaimable referral accrued to address(0).","rootCause",1],["62723-h-1-rebalancer-can-steal-funds-from-markets-by-sending-to-cu","Malda: A semi-trusted rebalancer forwards the operator-supplied","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A semi-trusted rebalancer forwards the operator-supplied, unchecked params.receiver to Everclear's newIntent, so 1000e18 of market funds extracted for cross-chain rebalancing are delivered to the attacker's own address instead of the destination market.","rootCause",1],["62716-h-01-full-restricted-users-can-still-deposit-kann-none-manif","ManifestFinance: A FULL_RESTRICTED (blacklisted/sanctioned) caller successfully deposits and mints 1000e18","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A FULL_RESTRICTED (blacklisted/sanctioned) caller successfully deposits and mints 1000e18 vault shares to a clean receiver they control — a deposit that must revert with OperationNotAllowed instead succeeds, bypassing the compliance restriction; the fixed variant (caller-side FULL check) correctly reverts.","rootCause",1],["62715-c-01-first-deposit-can-result-in-zero-shares-due-to-direct-t","ManifestFinance: The first depositor into a fresh (totalSupply==0) sUSH vault receives 0 shares for a posit","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The first depositor into a fresh (totalSupply==0) sUSH vault receives 0 shares for a positive 100 USH deposit after an attacker directly transfers 100 USH into the empty vault, so the victim's 100 USH is pulled in against 0 shares and permanently locked.","rootCause",1],["58701-h-01-attackers-can-exploit-yield-distribution-through-onun","Multipli: Reported yield instantly reprices shares, so a same-block sandwich siphons the LP's yield","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"onUnderlyingBalanceUpdate sets aggregatedUnderlyingBalances = newAggregatedBalance immediately (line 114), so totalAssets() jumps in one block; line 117 then reprices every share on that inflated total. An attacker who deposits right before the update and redeems right after captures part of the yield that belonged to existing long-term depositors — halving the honest LP's return.","rootCause",1],["65418-oracle-void-outcome-leaves-predictionmarketv3managerclobvoid","Myriad: An oracle-voided market (outcome -1) resolves without setting voidedPayouts","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"An oracle-voided market (outcome -1) resolves without setting voidedPayouts, so every position holder's collateral (1e18) is permanently frozen in ConditionalTokens because redeemVoided reverts on require(0+0==1e18).","rootCause",1],["50882-multiple-price-fetches-leading-to-arbitrage-in-oracle-implem","NLX Oracle: multiple in-block price fetches enable risk-free arbitrage","audit-finding","AuditVault",null,"Base",[],["untagged"],null,null,null,null,"`Oracle.setPrices()` is the keeper entrypoint that prices every protocol action. It calls `_setPricesFromPriceFeeds`, which: The caller supplies `pythUpdateData` and the oracle applies whichever price that blob decodes to, with the only freshness check being a coarse `heartbeatDuration` (1 day). Pyth publishes a new signed price roughly every 400ms, so at any moment there are several valid, signed prices for the same feed. Nothing pins the price used within a block to a single reference. [continues]","rootCause",1],["63525-inability-to-claim-rewards-from-the-curve-gauge-mixbytes-non","Notional Finance: Curve-gauge LP stakers receive 0 accrued CRV on exit because _unstakeLpTokens calls withdr","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Curve-gauge LP stakers receive 0 accrued CRV on exit because _unstakeLpTokens calls withdraw(poolClaim) without the _claim_rewards flag (defaults False) and no reward-manager claim path exists, so 1000 CRV stays locked in the gauge, undelivered.","rootCause",1],["62486-h-5-migraterewardpool-fails-due-to-incompatible-storage-desi","Notional: migrateRewardPool is ineffective due to an immutable reward pool","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"migrateRewardPool updates the reward pool in storage only, but new LP deposits route through the strategy's immutable pool, so after migration 100e18 of fresh deposits still land in the deprecated old pool - the migration is silently ineffective.","rootCause",1],["62694-arithmetic-overflow-in-getprice-when-feeds-return-large-valu","NUTS Finance: A valid large feed price (>~$100k) overflows getPrice()'s plain 256-bit compositePrice *","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A valid large feed price (>~$100k) overflows getPrice()'s plain 256-bit `compositePrice * rate` multiply, reverting permanently (Panic 0x11) and freezing every dependent market that must price or liquidate through the oracle — 1000e18 collateral locked in the demo LendingMarket.","rootCause",1],["62662-buffer-drainage-through-repeated-rebase-calls-due-to-stale-s","NUTS Finance: Because rebase()'s oldD>newD branch never syncs balances/totalSupply","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Because rebase()'s oldD>newD branch never syncs balances/totalSupply, 3 permissionless calls each recompute the same 100-unit gap and drain the poolToken buffer 3x (300 destroyed) vs 100 for one legitimate call — a value-destruction DoS of LP-holder-owned buffer value.","rootCause",1],["34921-h-02-arbitrary-tokens-and-data-can-be-bridged-to-gnosistarge","Olas H-02 — Arbitrary tokens and data can be bridged to GnosisTargetDispenserL2","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`GnosisTargetDispenserL2` receives OLAS + staking data from L1 in two ways: pure data via the AMB (`receiveMessage`), or tokens-plus-data via the Gnosis Omnibridge, whose mediator invokes the `onTokenBridged` callback. The AMB path validates the L1 origin (`_receiveMessage` reverts unless `sourceProcessor == l1DepositProcessor`, where `sourceProcessor` is read from the trusted AMB via `messageSender()`). The token path does not: [continues]","rootCause",1],["42441-h-01-openlevv1libs-and-lpools-dotransferout-functions-call-n","OpenLeverage LPool.doTransferOut — native transfer 2300-gas stipend freezes contract lenders' funds","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"For a WETH money-market pool, `LPool.doTransferOut` unwraps WETH to native ETH and forwards it with Solidity's `payable.transfer`, which hard-caps the callee to a 2300-gas stipend: Any lender that is a smart contract (a multisig, a vault, a router, another protocol) whose ETH-receiving path does more than trivial work — e.g. a single `SSTORE` (~20k gas) — cannot execute inside the 2300-gas stipend. The `transfer` reverts, and with it the entire `redeem` / `redeemUnderlying` / `borrow` call. [continues]","rootCause",1],["18210-lack-of-return-value-checks-can-lead-to-unexpected-results-t","Origin Dollar (OUSD): CompoundStrategy.liquidate() ignores Compound's redeem error code","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`CompoundStrategy.liquidate()` redeems the strategy's entire cToken balance back to the underlying asset, but discards the return value of `cToken.redeem`: Compound's `cToken.redeem` is documented to return `0` on success and a non-zero error code otherwise (see `ICompound.ICERC20.redeem`), and it does not revert when a redemption fails (e.g. `TOKEN_INSUFFICIENT_CASH = 9` when a highly-utilised market has no cash to pay out). [continues]","rootCause",1],["65201-h-03-lp-providers-will-not-get-liquidation-fee-most-times-pa","Ostium: A 3 USDC liquidation fee routed via OstiumVault.receiveAssets enters the vault's USDC bala","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A 3 USDC liquidation fee routed via OstiumVault.receiveAssets enters the vault's USDC balance but sinks into accPnlPerToken with no share-price update; when net trader PnL is negative the clamp in updateShareToAssetsPrice() neutralizes it, so the sole LP's claimable value stays flat (0 delta) while the fixed reward path raises it by the full 3 USDC — 3 LOCKED-USDC of LP reward is stuck/unclaimable","rootCause",1],["65199-h-01-function-unlockdeposit-adds-discounted-assets-as-trader","Ostium: unlockDeposit() socializes deposit discounts into trader PnL, leaving the vault insolvent","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"When a locked deposit unlocks, the discount it was granted must be socialized so each share's redemption value drops accordingly. Ostium's `unlockDeposit()` instead adds the per-token discount (`accPnlDelta`) to `accPnlPerTokenUsed` — the *trader* profit-and-loss accumulator — and then calls `updateShareToAssetsPrice()`, which only marks the price down while that accumulator is positive. The vulnerable block, reproduced verbatim: [continues]","rootCause",1],["63445-h-01-stakers-may-fail-to-claim-all-incentives-pashov-audit-g","Ouroboros: permanent buildsPOL flag locks staked positions forever","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Once a staked position is flagged `buildsPOL` (protocol-owned liquidity) the flag is permanent — no code path ever resets it to `false`. Both exit paths, `decreaseLiquidity` and `withdrawToken`, hard-`require(!buildsPOL, 'E024')`, so a POL position's underlying liquidity and its NFT are locked forever. The vulnerable lines, reproduced verbatim from the finding:","rootCause",1],["65025-h-01-builderwallet-init-is-unprotectedre-initializable-enabl","Panoptic: BuilderWallet init() is unprotected and re-initializable","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"BuilderWallet.init() has no access control and no only-once guard, so an attacker re-calls init(attacker) to overwrite builderAdmin, then passes sweep()'s msg.sender==builderAdmin check and transfers out the wallet's entire ERC20 balance - draining 500e18 of protocol-distributed builder fees to the attacker.","rootCause",1],["25724-h-08-nftfloororacles-asset-and-feeder-structures-can-be-corr","ParaSpace: uint8 asset index truncates past 255 assets, colliding slots","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"assetFeederMap[_asset].index = uint8(assets.length - 1) (L176) truncates once more than 256 assets exist: asset #257 gets index uint8(256)==0, colliding with asset #1. On removal, `uint8 assetIndex = assetFeederMap[_asset].index` reads that collided 0, so `delete assets[0]` zeroes asset #1's slot while it stays registered — a corrupted oracle registry.","rootCause",1],["65286-c-01-missing-authorization-in-withdraw-and-redeem-allows-the","Pear: Any caller redeems a victim's ERC4626 vault shares to themselves — victim's 1000e18 shares","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Any caller redeems a victim's ERC4626 vault shares to themselves — victim's 1000e18 shares are burned to 0 and 1000e18 underlying is transferred to the attacker EOA, draining all depositors.","rootCause",1],["27249-c-01-calling-curvewithdraw-will-likely-result-in-users-losin","Pino C-01 — Curve::withdraw strands users' native ETH","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`Curve.withdraw` simply forwards to `remove_liquidity`: For a Curve pool that holds ETH (e.g. the stETH pool), `remove_liquidity` sends native ETH to the caller — the Pino router. `withdraw` never wraps it to WETH and never forwards it to the user. The router's only user-facing exits are: `sweepToken(IERC20,address)` — moves an ERC20 balance, not native ETH; `unwrapWETH9(address)` — unwraps the router's WETH balance, which is `0` here. There is no `sweepETH`. [continues]","rootCause",1],["62866-expired-token-groups-not-synchronized-with-erc1155-balance-t","Radius Technology: Expired auth tokens are pruned from the custom group ledger but never burned from the auth","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Expired auth tokens are pruned from the custom group ledger but never burned from the authoritative ERC1155 balance, so 50 phantom expired tokens remain transferable and are moved to the sink (should have been destroyed).","rootCause",1],["58205-c-01-rebasereward-fails-because-of-incorrect-token-handling","RebaseReward deposits the wrong token on claim","incident","DeFiHackLabs",null,null,[],["untagged"],null,null,null,null,"RebaseReward.getReward always calls veKitten.deposit_for (depositing KITTEN) regardless of the reward token, so a non-Kitten (token0) reward is paid out as Kitten while 100e18 of token0 stays locked in the contract forever.","rootCause",1],["63402-h-02-borrowers-can-avoid-paying-interest-for-lenders-pashov","RegnumAurum: A dust borrow resets position.positionIndex to the current usageIndex while adding only pr","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A dust borrow resets position.positionIndex to the current usageIndex while adding only principal to rawDebtBalance, collapsing usageIndex/positionIndex to ~1 and wiping 50 crvUSD of accrued interest from the borrower's tracked debt, so lenders never receive it.","rootCause",1],["63401-h-01-parameter-change-skews-getters-pashov-audit-group-none","RegnumAurum: parameter change skews the interest getters","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`updateState` books the elapsed interest into `liquidityIndex` using the cached `currentLiquidityRate` (the rate last calculated, with the fee that was in force at the last update). But the view getter `getLiquidityIndex` — which backs `getNormalizedIncome` / `getNormalizedDebt` — recalculates the liquidity rate on the fly from the *live* `protocolFeeRate`. [continues]","rootCause",1],["63781-updating-the-entity-allowance-when-the-individual-belongs-to","Remora: A single canTransfer from InvestorA inflates the allowance of EntityB and EntityD (entitie","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A single canTransfer from InvestorA inflates the allowance of EntityB and EntityD (entities InvestorA is not part of) by 2000 units each because co-group member InvestorB is their catalyst, corrupting 5/50-rule accounting; on the receiver path an under-allowanced unrelated entity makes a legitimate transfer return false (DoS).","rootCause",1],["63778-pending-payouts-when-resolving-an-investor-are-lost-because","Remora: resolveUser migrates a departing investor's pending dividend into DividendManager._resolve","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"resolveUser migrates a departing investor's pending dividend into DividendManager._resolvedPay[newAddress], which no function ever reads, so P=1,000 USDC (1000000000 units) stays permanently locked in the manager and the new address can never claim it; a second resolve to the same address also overwrites and destroys the prior amount.","rootCause",1],["33493-h-06-the-amount-of-xezeth-in-circulation-will-not-represent","Renzo bridge: xezETH supply desyncs from ezETH backing (H-06)","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Minting xezETH is a two-step, two-chain flow and BOTH steps price the deposit at the *current* ezETH valuation — sampled at two different times: 1. L2 — `xRenzoDeposit.deposit()` mints `xezETH = amountOut * 1e18 / lastPrice` at the L2 valuation at deposit time. 2. L1 — after `sweep()`, Connext calls `xRenzoBridge.xReceive()`, which deposits the bridged ETH into `RestakeManager.depositETH()`. [continues]","rootCause",1],["27331-h-01-custom-redemption-might-revert-if-old-assets-were-unreg","Reserve quoteCustomRedemption reverts once an old basket asset is unregistered (redemption DoS)","audit-finding","AuditVault",null,null,["vuln/logic/array-out-of-bounds","vuln/defi/denial-of-service"],["logic","defi"],null,null,null,null,"Reserve's `BasketHandlerP1.quoteCustomRedemption` prices a redemption against one or more *historical* baskets. It allocates its working array from the current registry size: The historical basket (`basketHistory[nonce]`) can contain more distinct ERC20s than `assetRegistry.size()` returns, because an asset that was in an old basket can later be unregistered. [continues]","rootCause",1],["27332-h-02-a-new-era-might-be-triggered-despite-a-significant-valu","Reserve StRSR: a small RSR seizure can trigger a new era and wipe a still-valuable stake pool","audit-finding","AuditVault",null,null,["vuln/logic/wrong-condition","vuln/defi/locked-funds"],["logic","defi"],null,null,null,null,"In `StRSRP1.seizeRSR` an RSR seizure removes RSR from `stakeRSR` (the RSR backing the pool) but leaves `totalStakes` (the stRSR share supply) untouched, then recomputes the exchange rate: Because `stakeRate == totalStakes * 1e18 / stakeRSR`, each seizure *raises* the rate. The assumption behind resetting the era when `stakeRate > MAX_STAKE_RATE` is that \"there is not much left after the seizure\". [continues]","rootCause",1],["62187-h-01-transferfee-uses-an-incorrect-transfer-method-pashov-au","Resolv: transferFee() uses safeTransferFrom instead of safeTransfer","incident","DeFiHackLabs",null,null,[],["untagged"],null,null,null,null,"transferFee() uses safeTransferFrom to move the contract's own tokens (no self-allowance) instead of safeTransfer, so every fee withdrawal reverts and 100e18 of protocol fees are permanently stuck.","rootCause",1],["62543-h-06-incorrect-pendingcounts-calculation-pashov-audit-group","RipIt: A single attacker spin with a large user-controlled _prizeCount over-reserves the entire p","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A single attacker spin with a large user-controlled _prizeCount over-reserves the entire prize pool (prizePools[rarity].pendingCount inflated to == available), so a legitimate victim's spin(_,1) reverts InsufficientPrizes even though all prizes physically remain — a liveness DoS; over-reservation delta = reserved(3) − distributable-per-spin(1) = 2 prizes.","rootCause",1],["62541-h-04-dos-risk-from-pending-prize-locking-mechanism-pashov-au","RipIt: A spin with prizeCount=2 makes SpinLottery's min-guarantee reserve the lone scarce high-ra","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A spin with prizeCount=2 makes SpinLottery's min-guarantee reserve the lone scarce high-rarity prize (whose weighted allocation is 0), locking the whole supply as pending so every subsequent user's spin reverts InsufficientPrizes — a temporary DoS; 1 scarce prize is marked locked to the SINK and UserB's spin actually reverts, while deleting the min-guarantee line lets UserB spin succeed.","rootCause",1],["62542-h-05-currency-validation-missing-in-listing-and-offer-reques","RipIt: acceptOffer books the offerCurrency fee into the single acceptedCurrency-denominated total","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"acceptOffer books the offerCurrency fee into the single acceptedCurrency-denominated totalPendingFees scalar; an attacker offer in a worthless token inflates totalPendingFees to 2F while only F of real USDC is held, so emergencyShutdown (the only fee-withdrawal path) permanently reverts and the real F of USDC fees is locked.","rootCause",1],["62594-h-01-missing-index-updates-in-burnpacketfrominventory-cause","RipIt: burnPacketFromInventory swap-pops the tail packet into the burned slot but never updates t","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"burnPacketFromInventory swap-pops the tail packet into the burned slot but never updates the moved packet's _packetInventoryIdx, so a later burn of that moved packet reads a stale out-of-bounds index and reverts with Panic(0x32) — the packet becomes permanently unremovable (inventory DoS).","rootCause",1],["62539-h-02-insufficient-restrictions-in-instantopenpacket-risk-dos","RipIt: Two same-block INSTANT_OPEN_PACKET requests for a packetType with only 1 bundle both pass","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Two same-block INSTANT_OPEN_PACKET requests for a packetType with only 1 bundle both pass the request-time check; the first VRF fulfillment pops the bundle and serves user1, but user2's fulfillRandomWords reverts (NoAvailableCardBundles) and, per Chainlink's no-retry-on-revert semantics, user2's packet is permanently stuck/unopenable (1 locked Packet NFT frozen).","rootCause",1],["62544-h-07-spinlottery-will-break-if-the-first-prizeid-is-selected","RipIt: When the first prizeId is selected","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"When the first prizeId is selected, _claimPrize does both firstPrizeId++ and nextPrizeId--, collapsing a 2-prize window to 0 after one claim; the moved survivor and its escrowed NFT are permanently stranded (next spin reverts NoPrizesAvailable), vs the fixed variant which claims both prizes.","rootCause",1],["55113-h-03-incorrect-boost-management-leads-to-staking-reward-loss","Roots: missing queueDropBoost strands staking rewards","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Staker calls rewardCache.dropBoost(validator, toFulfill) without a preceding queueDropBoost, so the BGT dropBoostQueue is empty and BGT.dropBoost returns false: the boost is never dropped and the toFulfill reward is never freed. A staker's 1000e18 of expected rewards stays permanently stuck in the reward cache (silent staking-reward loss).","rootCause",1],["41365-h-01-signatures-can-be-replayed-using-different-addresses-pa","Sofamon: commitToMint signatures can be replayed using different addresses","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"In `commitToMint`, the digest the `signer` authorizes is built from `_collectionId`, `spins`, `nonce`, `msg.value`, and `minter` — but not `msg.sender`. The only per-caller binding is `nonce = userNonce[msg.sender]`, which is `0` for any fresh account, so a single signer-approved signature is accepted by the `approved == signer` check from any number of different callers that each still sit at nonce 0. The vulnerable function, reproduced verbatim: [continues]","rootCause",1],["59249-underflow-in-farm-getrewardaccrualtimeelapsed-quantstamp-s","Sperax Farms: future farm-start underflows elapsed time, letting the first depositor drain the whole reward pool","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"At setup, `_setupFarm()` writes the (possibly future) `farmStartTime` into `lastFundUpdateTime`. Deposits are already permitted at that point, and every deposit calls `_updateFarmRewardData()`, which asks `_getRewardAccrualTimeElapsed()` how much time has passed since the last update. That helper subtracts inside an `unchecked` block with no guard for a future start time: [continues]","rootCause",1],["59251-reward-inflation-through-a-flash-loan-quantstamp-sperax-fa","Sperax Farms: same-block deposit + withdraw leaves the reward-weight snapshot inflated","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Sperax's `Rewarder`/`Farm` let a user `deposit` and `withdraw` in the same block. `deposit` snapshots the user's current staked balance as their reward-earning `weight` (calibration). `withdraw` decrements the staked balance but does not reconcile the snapshot — so the inflated `weight` recorded during a flash-loaned deposit survives the withdrawal and is used to compute rewards long after the tokens are gone.","rootCause",1],["62540-h-03-prize-locking-mechanism-inconsistency-with-weight-propo","SpinLottery: prize-lock/weight mismatch bricks higher-rarity spins","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Prize locking does not reserve a prize for every weighted rarity, so a spin whose VRF value maps to a higher rarity with no locked prize reverts in fulfillRandomness - the user's paid spinCost is permanently stuck (DoS).","rootCause",1],["63599-c-02-checkpoints-are-almost-always-outdated-due-to-missing","StakeDAO: The strategy wrapper never overrides ERC20 _update","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The strategy wrapper never overrides ERC20 _update, so wrapper tokens moved by a plain transfer (standing in for a Morpho Blue collateral seizure) carry no checkpoint for the recipient; Bob's redeem then runs checkpoint.balance -= amount against a zero checkpoint, underflows and reverts permanently, locking 1000e18 wrapper tokens plus their underlying in the wrapper.","rootCause",1],["43026-h-02-rewards-of-giantmevandfeespool-can-be-locked-for-all-us","Stakehouse Protocol: A malicious LP holder uses GiantLP's unprotected ERC20 transfer to move LP into the GiantM","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A malicious LP holder uses GiantLP's unprotected ERC20 transfer to move LP into the GiantMevAndFeesPool itself; the pool's self-held share stays in totalSupply so a fixed slice of every subsequent MEV/fee reward accrues to a phantom pool share that no code path can ever distribute, permanently freezing that ETH (40 ETH locked in the PoC) while honest LPs' total claimable rewards strictly decrease","rootCause",1],["65327-any-slasher-can-increase-another-ones-reveal-delays-cyfrin-n","Statusl: A griefing SLASHER_ROLE holder spams slashCommit(victim","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A griefing SLASHER_ROLE holder spams slashCommit(victim, arbitraryHash) to inflate the shared lastRevealStartTime[victim], pushing the honest slasher's real slashReveal 24*3600s (1 day) into the future so it reverts RLN__RevealWindowNotStarted, denying the honest slasher their 1000-KARMA slash reward for an attacker-chosen duration.","rootCause",1],["65322-any-staker-can-fully-avoid-slashing-by-triggering-oog-revert","Statusl: A staker who pre-registers thousands of vaults makes slash()'s unbounded per-vault reward-","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A staker who pre-registers thousands of vaults makes slash()'s unbounded per-vault reward-aggregation loop exceed the block gas limit, so slash() always OOG-reverts and the protocol can never seize the staker's 1000e18 slashable stake (slashing fully evaded).","rootCause",1],["65324-malicious-actors-can-force-vaults-to-exit-if-they-wish-to-ge","Statusl: An attacker registers many same-codehash vaults naming the victim as owner","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"An attacker registers many same-codehash vaults naming the victim as owner, inflating vaults[victim] until redeemRewards()/updateAccount() exceed the block gas limit, permanently locking the victim's 5,000 KARMA of accrued rewards (unclaimable unless a legitimate vault fully exits).","rootCause",1],["65326-anyone-can-dodge-reveal-delays-by-providing-unrelated-accoun","Statusl: An insider slasher dodges the commit-reveal delay queue by committing against an unused","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"An insider slasher dodges the commit-reveal delay queue by committing against an unused, unrelated account (0-delay revealStartTime) and revealing in the same block, minting the 1-token slashing reward to the attacker EOA that the honest, delay-abiding slasher should have received.","rootCause",1],["65325-malicious-actors-can-get-free-rewards-if-contract-gets-pause","Statusl: Attacker recovers their full staked principal via the paused-revert catch path while the S","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Attacker recovers their full staked principal via the paused-revert catch path while the StakeManager still counts the phantom stake, letting them drain 50 reward tokens from the pool for free at honest stakers' expense.","rootCause",1],["64080-h-2-the-vault-can-be-drained-sherlock-steth-by-easedefi-git","stETH: The (untrusted) vault owner calls stakeNxm to deposit the vault's 1000 NXM into a Nexus st","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The (untrusted) vault owner calls stakeNxm to deposit the vault's 1000 NXM into a Nexus staking NFT the owner keeps, then withdraws the stake — draining the vault: vault wNXM/NXM go to 0 and the attacker EOA gains 1000 NXM.","rootCause",1],["58248-h-04-lack-of-access-control-on-tsqds-registertokenonl2-pasho","Subsquid (tSQD): unrestricted registerTokenOnL2 lets anyone brick the L2 bridge","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"The tSQD L1 token exposes `registerTokenOnL2`, which sets the token's L2 counterpart in Arbitrum's generic-custom gateway, but declares it `public payable` with no owner/admin restriction. Arbitrum's gateway records the L1→L2 mapping one-way, so whoever calls this first — including an unprivileged attacker — permanently fixes the L2 address. The vulnerable function, reproduced verbatim: The only guard is the one-shot `shouldRegisterGateway` boolean — it prevents a second registration but never checks the caller. [continues]","rootCause",1],["31547-h-02-computationunitsavailable-can-overestimate-number-of-av","Subsquid: computationUnitsAvailable over-reports for short stakes","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"GatewayRegistry.computationUnitsAvailable computes a peer's per-epoch compute units as `computationUnits * epochLength / (lockEnd - lockStart)`, where `computationUnits` is the TOTAL units granted for the whole staking window and `(lockEnd - lockStart)` is that window's duration. There is no minimum staking duration, so when duration < epochLength the ratio epochLength/duration is > 1 and the reported per-epoch figure exceeds the total the peer ever paid for. [continues]","rootCause",1],["58245-h-01-missing-check-on-toblock-allows-distributors-to-change","Subsquid: missing toBlock check enables repeated reward distribution","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"commit() validates toBlock < block.number but never toBlock >= fromBlock, so a malicious distributor commits a degenerate range [fromBlock=1, toBlock=0]; distribute() then runs lastBlockRewarded = toBlock = 0, pinning the sequential guard (lastBlockRewarded == 0 || fromBlock == lastBlockRewarded+1) permanently open. [continues]","rootCause",1],["58247-h-03-workers-could-withdraw-without-deregister-and-waiting-f","Subsquid: workers withdraw their bond without deregistering","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A worker registers and immediately withdraws its bond without ever calling deregister() and without serving the lock period, because withdraw only checks `block.number >= deregisteredAt + lockPeriod()` and deregisteredAt is still 0; the worker is never removed from activeWorkerIds, so each cycle plants a dangling ghost entry (unbounded-loop / DoS vector) at zero net cost while the full bond is returned","rootCause",1],["65495-h-01-missing-authorization-check-allows-unauthorized-fund-wi","SukukFi: withdraw()/redeem() lack a msg.sender==owner / allowance check","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"_withdraw(assets, shares, receiver, owner) runs with no check that msg.sender is the owner or has the owner's allowance, so any caller burns the owner's shares and redirects the underlying to an arbitrary receiver — draining an approving depositor's entire position.","rootCause",1],["63420-h-2-attackers-will-steal-rewards-from-legitimate-pools-by-ma","Super DCA: An attacker's unlisted duplicate DCA/USDC V4 pool (same hook) triggers the shared per-toke","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"An attacker's unlisted duplicate DCA/USDC V4 pool (same hook) triggers the shared per-token reward accrual and captures the community donation, stealing 500e18 DCA (the community half of USDC's 1000e18 reward bucket) to the attacker EOA while the legitimately-listed pool receives 0.","rootCause",1],["63419-h-1-users-with-pre-campaign-trades-will-drain-cashback-funds","Super DCA: Cashback elapsed-time not clamped to campaign start","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"timeElapsed = currentTime - trade.startTime is not clamped to the campaign's start, so a trade opened before the campaign claims retroactive cashback for pre-campaign epochs, draining the pool (50 of 60 USDC) that a correctly-clamped contract would owe as 0.","rootCause",1],["63075-malicious-actor-can-overwrite-others-user-state-via-1-wei-va","Superform: A 1-wei SuperVault share transfer clones the sender's fulfilled-redeem state (maxWithdraw=","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A 1-wei SuperVault share transfer clones the sender's fulfilled-redeem state (maxWithdraw=100) onto the recipient via _update, letting the attacker double-withdraw and drain 100 STOLEN-ASSET of another user's escrowed funds to the attacker EOA (escrow drained 200->0; victim's 100 claim left unbacked).","rootCause",1],["63077-controller-and-receiver-cannot-redeem-shares-after-depositin","Superform: A depositor who sets receiver != controller can never redeem: shares mint to the receiver","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A depositor who sets receiver != controller can never redeem: shares mint to the receiver while the redeem cost-basis state is recorded under the controller, so receiver-redeem reverts INSUFFICIENT_SHARES (empty state) and controller-redeem reverts (no shares) — 100 USDC is permanently locked in the vault.","rootCause",1],["63076-strategisthooksroot-permissions-may-be-circumvented-by-any-s","Superform: A strategist sandboxed by a strategy-specific hooks root (that excludes the transferErc20","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A strategist sandboxed by a strategy-specific hooks root (that excludes the transferErc20 hook) escapes the sandbox by supplying a valid GLOBAL Merkle proof + empty strategy proof; validateHook returns true before enforcing the strategy root, so the globally-permitted transferErc20 hook executes and drains 1000 STOLEN-USDC from the vault to the attacker.","rootCause",1],["63081-cancelled-redeem-requests-make-shares-permanently-unredeemab","Superform: A user who cancels a pending redeem has their per-controller accumulatorShares/accumulator","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A user who cancels a pending redeem has their per-controller accumulatorShares/accumulatorCostBasis wiped by `delete superVaultState[controller]`, so every subsequent fulfillRedeem reverts INSUFFICIENT_SHARES() and their 100 shares' full asset backing (100e18) is frozen in the strategy forever.","rootCause",1],["61235-timestamp-boundary-condition-causes-reward-dilution-for-ac","Suzaku: disabledTime >= timestamp counts a boundary-disabled operator as active, diluting real operators","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"_wasActiveAt returns active when `disabledTime >= timestamp`, so an operator disabled at exactly the epoch start is still counted as active. Its stake inflates the epoch's total stake ~2x, diluting the genuinely-active operator's reward share to 50 ETH instead of the full 100 ETH — the lost 50 ETH stays stuck.","rootCause",1],["61239-division-by-zero-in-rewards-distribution-can-cause-permane","Suzaku: Reward distribution divides by a zero historical-epoch stake, bricking the epoch forever","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"distribution fetches the CURRENT asset classes but reads the PAST epoch's totalStakeCache, which is 0 for an asset class that had no stake in that epoch. `Math.mulDiv(operatorStake, BASIS_POINTS_DENOMINATOR, totalStake)` (line 147) then divides by zero and reverts — permanently bricking that epoch's reward distribution.","rootCause",1],["61233-incorrect-summation-of-curator-shares-in-claimundistribute","Suzaku: Undistributed-rewards sum double-counts a multi-vault curator, stranding reward tokens","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`totalDistributedShares += curatorShares[epoch][curator]` is summed once PER OWNED VAULT, so a curator owning two vaults is counted twice. That inflates totalDistributedShares, shrinking `undistributedRewards = totalRewards - mulDiv(totalRewards, totalDistributedShares, 10000)`, so the distributor claims 30,000 instead of 40,000 — 10,000 tokens are permanently stranded.","rootCause",1],["63290-h-01-permissionless-sendcurrentoperatorskeys-pashov-audit-gr","Tanssi: permissionless sendCurrentOperatorsKeys() spams the bridge for free","audit-finding","AuditVault",null,null,["vuln/dos/griefing"],["dos"],null,null,null,null,"`Middleware.sendCurrentOperatorsKeys()` is declared `external` with no access-control modifier, so any external actor can call it. It forwards to `Gateway.sendOperatorsData()` (whose `onlyMiddleware` guard is satisfied because the Middleware itself is the caller), which submits an outbound bridge message and increments the channel's outbound nonce — and because the ticket is built with `ticket.costs = Costs(0, 0)`, every such message is fee-less. The vulnerable function, reproduced verbatim: [continues]","rootCause",1],["64975-direct-vault-deposits-incorrectly-counted-as-revenue-leading","Tenbin: A third-party direct deposit into the underlying ERC4626 vault is mislabeled as protocol r","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A third-party direct deposit into the underlying ERC4626 vault is mislabeled as protocol revenue by _computeNewRevenue; the collector withdraws it, draining 1000 collateral of the manager's own principal to the collector sink while true protocol yield is 0.","rootCause",1],["64973-redeem-nonce-mis-tracked-enables-replay-spearbit-none-tenbin","Tenbin: One delegated redeem order replayed 3x drains 3000e18 collateral to the attacker (order.re","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"One delegated redeem order replayed 3x drains 3000e18 collateral to the attacker (order.recipient) and burns the victim/payer's assets 3x, because redeem records the nonce under the signer's slot while validating the payer's, so the payer nonce is never consumed.","rootCause",1],["64974-revenue-accounting-ignores-losses-spearbit-none-tenbin-pdf","Tenbin: Revenue accounting never subtracts vault losses","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Revenue accounting never subtracts vault losses, so after a 100->120->105 gain-then-loss the stale pendingRevenue (20) exceeds true net yield (5); withdrawRevenue(20) pays out the full stale figure, draining 15 units of manager principal collateral to the collector (sink) as fake revenue.","rootCause",1],["62638-c-01-withdrawal-calculation-causes-underflow-locking-all-use","Terplayer: A staker's legitimate withdraw() reverts on arithmetic underflow: ceiling-division delegat","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A staker's legitimate withdraw() reverts on arithmetic underflow: ceiling-division delegated shares over-count so totalDelegatedAmount exceeds amount and remainingAmount = amount - totalDelegatedAmount underflows (Panic 0x11), permanently locking the staked position (2 BVT blocked here) behind a reverting withdraw.","rootCause",1],["63508-requestredemption-reverts-because-l1btcredeemerwormholes-ban","Threshold: Every Wormhole tBTC redemption reverts because the redeemer's satoshi balance is never cre","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"Every Wormhole tBTC redemption reverts because the redeemer's satoshi balance is never credited in the Bank, so Bridge.requestRedemption's bank.transferBalanceFrom reverts (\"Transfer amount exceeds balance\") — bridged tBTC is permanently stranded (redemption-path DoS).","rootCause",1],["59721-vested-unclaimed-tokens-become-frozen-once-admin-revokes-t","TokenOps: withdraw() is gated by isActive, so revoking a grant freezes already-vested-but-unclaimed tokens","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"revokeGrant sets isActive=false and only deducts the UNVESTED remainder from the reservation, but withdraw() is guarded by `require(grant.isActive)` (line 66). A grantee's already-vested-but-unwithdrawn tokens stay reserved in the contract yet can be withdrawn by no one — they are permanently frozen once the admin revokes.","rootCause",1],["37915-h-01-wrong-minting-logic-based-on-total-token-count-across-g","TraitForge H-01 — wrong minting logic based on total token count across generations","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`TraitForgeNft.mintWithBudget` is meant to let a whitelisted user batch-mint as many tokens as their budget affords, up to the current generation's cap. Its loop guard, however, compares the global `_tokenIds` counter (total tokens minted across *all* generations) against the *per-generation* cap `maxTokensPerGen`: Within generation 1 `_tokenIds == generationMintCounts[1]`, so the guard behaves. [continues]","rootCause",1],["62524-infinite-loop-in-tick-iteration-due-to-misaligned-current-ti","Uniswap Hooks: A currentTick misaligned to tickSpacing makes AntiSandwichHook's verbatim tick != current","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A currentTick misaligned to tickSpacing makes AntiSandwichHook's verbatim `tick != currentTick` top-of-block snapshot loop step over the target and never terminate, so _beforeSwap reverts (OOG) even under a full 30M-gas block budget — every swap on the pool is permanently bricked (liveness DoS).","rootCause",1],["18535-h-3-depositfee-can-be-bypassed-via-deposit-queue-sherlock-no","Y2K Earthquake — depositFee can be bypassed via the deposit queue","audit-finding","AuditVault",null,null,["vuln/logic/fee-calculation","vuln/defi/fee-theft"],["logic","defi"],null,null,null,null,"Audited source: `sherlock-audit/2023-03-Y2K` @ `93e3994`, file `Earthquake/src/v2/Carousel/Carousel.sol`, vendored here at `src/src/v2/Carousel/Carousel.sol`. The dynamic `depositFee` (linear from `0` at epoch creation up to `depositFee` bps at epoch start) is charged only on the direct path, `_deposit` for a non-zero epoch id: The queue path does not. [continues]","rootCause",1],["18534-h-2-earlier-users-in-rollover-queue-can-grief-later-users-sh","Y2K Earthquake — earlier rollover-queue users can grief later users (permanent rollover DoS)","audit-finding","AuditVault",null,null,["vuln/dos/griefing","vuln/logic/state-desync"],["dos","logic"],null,null,null,null,"Audited source: `sherlock-audit/2023-03-Y2K` @ `93e3994`, file `Earthquake/src/v2/Carousel/Carousel.sol`, vendored here at `src/src/v2/Carousel/Carousel.sol`. `mintRollovers(epochId, operations)` tracks how far the queue has been processed with a single index, `rolloverAccounting[epochId]`, and starts each call at that index: `delistInRollover(owner)` removes a queue entry with a swap-and-pop: it moves the LAST queued user into the removed slot and shrinks the array: [continues]","rootCause",1],["19124-h-02-first-vault-depositor-can-steal-subsequent-depositors-t","Yield Ninja: First-depositor share inflation via unrounded share formula","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"shares = (_amount * totalSupply()) / _pool lets the first depositor donate to _pool so the next real depositor's shares round to 0; the attacker then redeems the victim's deposit — classic first-depositor theft.","rootCause",1],["62756-h-01-pending-withdrawals-in-yuzuilp-contract-are-not-conside","YuzuUSD: A withdrawer who opens a redeem order is paid the fixed pre-yield amount (100e18) at final","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"A withdrawer who opens a redeem order is paid the fixed pre-yield amount (100e18) at finalize, while their still-counted shares earned 50e18 of yield during the pending window; that 50e18 leaks to the remaining holder (B's redeemable rises 150e18->200e18), so the withdrawer loses their rightful pro-rata yield.","rootCause",1],["62758-h-03-fee-avoidance-possible-by-uncollected-fees-in-pool-acco","YuzuUSD: Redeem fee left in poolSize inflates share price","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"poolSize -= assets subtracts only the net payout, leaving the redeem fee in the pool; the escaped fee inflates the share price for remaining holders instead of going to the fee treasury — value silently redistributed rather than collected.","rootCause",1],["59358-loss-of-pending-reward-when-unstaking-quantstamp-zero-stak","Zero Staking: full-exit unstake deletes the Staker struct and wipes non-zero owedRewards","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"On a full-balance unstake, the contract cleans up by deleting the caller's `Staker` record. When `exit = true`, it takes the branch that skips the owed-reward payout and falls straight through to the `delete`, which zeroes `owedRewards` even when it is non-zero: The original finding shows the same root cause in `StakingERC20.sol` (and identically in `StakingERC721.sol`): `delete stakers[msg.sender]` resets every field of the struct — including `owedRewards` — with no transfer of those rewards. [continues]","rootCause",1],["59357-malicious-user-can-drain-rewards-through-reentrancy-in-sta","Zero Staking: reentrancy in stake() re-credits a stale reward timestamp to drain the reward pool","audit-finding","AuditVault",null,null,[],["untagged"],null,null,null,null,"`StakingERC721.stake()` accrues pending rewards from the elapsed window `(now - staker.lastUpdatedTimestamp)`, but only writes `staker.lastUpdatedTimestamp` at the very end of the call. In between, it calls `_safeMint()`, which invokes `onERC721Received()` on the recipient. A malicious contract staker re-enters `stake()` during that callback: because `lastUpdatedTimestamp` is still the stale pre-call value, `_checkRewards()` credits the *same* elapsed window again on every reentry. [continues]","rootCause",1],["63315-c-02-emptying-eth-from-zkpaysol-pashov-audit-group-none-sxt","ZKPay: emptying ETH via a NATIVE query that pays nothing","incident","DeFiHackLabs",null,null,[],["untagged"],null,null,null,null,"handleQueryPayment credits actualAmountReceived=tokenAmount for NATIVE without checking msg.value, so an attacker credits a 10 ETH payment sending 0 ETH then cancels to withdraw 10 ETH it never deposited, draining the contract.","rootCause",1],["56710-potential-signature-replay-attack-in-erc1271handler-openzepp","zkSync SSO ERC1271Handler.isValidSignature accepts an owner signature with no account/chain binding (replay)","audit-finding","AuditVault",null,null,["vuln/signature/replay","vuln/account/erc"],["signature","account"],null,null,null,null,"`ERC1271Handler.isValidSignature(bytes32 hash, bytes signature)` (`src/handlers/ERC1271Handler.sol`) validates a 65-byte EOA owner signature like this: The signer is recovered directly from the raw `hash` and the only additional check is `_isK1Owner(signer)`. There is no binding to the verifying account and no binding to the chain id. A recent change removed the EIP-712 typed-data wrapping (`_hashTypedDataV4`, which mixed in `block.chainid` and `address(this)`), so the same digest is accepted: [continues]","rootCause",1]],"terms":["000","000000006e30","000000024e9","00000025ab2b","000000e44","000001e18","000004c7","000004cc","000004ce","000004f3","000004f8","000004f9","00000648e18","0000b8460001","0000b8470001","0000b8490001","0000e19","000242e24","0004e26","0005e18","000a","000e18","000e24","000e6","000m","000th","000x","0015e23","001b","001e18","001e19","001e26","002078e18","00269e18","002e18","002m","003b","003e22","003e23","003e34","004b2cc0","004e18","004e40","005e18","005e21","005e25","005e27","005m","006e18","007fa9385b","008000000","008e18","0099e27","009e19","009e26","009e64","00c8","00da66","00e12","00e15","00e27","00e52","00e8d4a51000","00e9","0104e18","010ba52c","010e18","0110e18","011e24","012e18","012e6","013e18","013e21","013e25","013e33","0142e18","0155m","015e18","015e41","015f7e","016e18","016e21","016e29","016m","017fa9385b","018e56948","0195e18","019e32","01e11","01e14","01e18","01e2","01e22","01e6","01e9","020e18","021b","021e9","022a","022c0d9f","022e24","022e26","022m","023764e44","023e18","023e21","023e9","0243f5a2","024b","024e","024e21","024e44","025e18","025e28","026e21","02723e18","027e40","027e8","028e18","028e31","029e26","02e12","02e15","02e18","02e28","032e25","0357e20","036e11","036e28","037e","037e18","038e27","03ceb0","03e18","03e19","03e24","03e33","03f9","0437e19","0437e27","0437e28","043e","043e17","044d","0457e23","045e29","046e23","046m","0478e27","047d9","047e18","048e27","048e9","0499e18","049e35","04e12","04e16","04e18","04e27","04fd8634","050000e44","050e18","050e6","0518e18","051e23","051e28","054e23","0581e18","058e22","058e23","058e24","058e27","05e","05e12","05e18","05e23","05e24","05e34","05e44","05e7","05e8","05e9","0615bd","0642163b5284","064e","0652e26","065e26","065f","066e18","066m","069e18","069m","06a72","06b2","06c9","06ce","06e","06e18","06e21","06e23","06eb48","06ed1650","070e19","070e22","071e15","071e21","071e25","07297e","072e17","074e","074e30","0754e18","075e14","075e46","076e26","077e26","077m","078a9e","078e17","078e21","079d270296","079e33","07a","07db4b","07e11","07e15","07e19","07e23","07e24","080e","080e18","083e14","083e20","0845e26","084e","084e25","084e35","085d4780","085e14","085e19","085e33","086e18","0876f","087e18","087e35","088e32","089e18","089e31","089m","08e","08e18","08e21","08e25","08e29","08e36","08e9","090e22","090f88ca","0929e18","092e22","094e22","0956e22","095c","095e30","095e35","0962e19","096e19","0985a","098e12","098e18","098e25","09e18","09e19","09e21","09e22","0a","0a1aaa","0a8fe064","0ac33ba","0address","0amount","0b","0b5c","0bb1","0c","0c14e8","0c4418c","0c9f9","0cbb","0cca","0d","0d24","0d55fc","0d76","0d85325","0da","0da5","0dae","0db0","0dde","0e","0e165","0e18","0e21","0e22","0e24","0e28","0e33","0e36","0e3f","0e42","0e47","0e6","0e7","0e8","0e8e","0e9","0f","0f1a","0f3e","0fa0","0fc3","0fea","0k","0manager","0s","0vix","0vixexp","0x","0x0003","0x000300000025ab2b","0x00030000b8460001","0x00030000b8470001","0x00030000b8490001","0x1b52","0x1f90","0x28d9","0x7657","0x8191","0xa247","0xa898","0xf986351d","0xleia","0xrektora","1000","10000","100000","1000000","10000000","100000000","1000000000","10000000000","1000000000000","10000000000000","100000000000000","1000000000000000","10000000000000000000","1000000000000000000000","1000000000000000000000000000","10000000000000000000000000000","1000000000000000000000000000000","1000000000e18","100000000e18","10000000e18","1000000e18","1000000e6","100000e18","100000e6","10000e18","10001000e18","1000128097","1000e10","1000e18","1000e6","1000e8","1000th","1000x","100101e18","10030","10030000000000000000","1005e18","100b","100e18","100e24","100e6","100e8","100e9","100k","100m","100t","100th","100x","101000","10100e18","10133949192393802606886848","101e12","101e18","1023e12","10353","1037e28","10383a1","1038522285394433553","103e23","103e28","104383594837","10463","104e17","104k","104m","1050","10500","1050000000","1050e18","1050e6","10537110432","105d0aba","105e18","105k","1068e18","106c","106e22","106k","107039651","107e18","107e29","107k","108500e6","108b","108k","109893180044731784967907","109k","109m","10e12","10e14","10e18","10e3","10e36","10e6","10e8","10e9","10k","10pt","10ptdecimals","10th","10usdc","10x","110000000000","1100e18","110e18","110k","110m","1112544981282161707685","113951614762384370","113k","114000e18","1141e18","114k","114m","115900795717219113","116e20","116e37","116m","117k","117m","119023","119023523157","1199002345","119k","11e18","11e24","11e25","11e9","11k","11nrvbusd","12","12000","12000000000000000000000000","120000e18","120000e6","120012e6","1200e18","120225946717","120e18","120k","120m","121e18","1227e18","122e19","122e33","123e24","124m","12589e28","125e18","125e23","125e28","125e29","1267769327","126e12","126k","126m","127e18","127k","1283d","128657759164064","128e19","129e9","12d0","12dec25","12e15","12e18","12e21","12h","12k","12x","1300e18","130k","131863","131e11","131e22","131e24","131e25","131e26","131k","132e20","132e26","132k","133e18","133e21","133m","134b","134k","134m","13598795675","135k","135m","13645e18","1365e18","136e9","136th","137320176743718966418330","137e12","1386177371611400691923","1386177371611400691923000","1386190371831588322082000","13888888888888888","1388888888888952","138e15","139e18","139m","13c7","13d83b","13e","13e1","13e18","13e19","13e26","13e9","13k","13th","140000e6","140180175562","140e18","140k","140m","1411e18","141e17","141k","142658e18","1427628","142e26","143200000000000","143500e18","1439e28","143e24","143m","1442","144k","145d","145e30","145k","146e15","146e26","146k","147k","1483759420813816376845","148e23","148e35","1497e18","149e18","149m","14e","14e18","14e21","14e24","14e25","14e28","14ebbb","14fc17a","14k","14th","15","1500000","150000000","150000000000","15000000000000","150000000e6","150000e18","15000e36","1500e18","1500e36","150e18","150e9","150k","150m","151k","152b","152e26","152e8","152m","1535e18","153e24","153m","154m","155e","155k","155m","156e24","156m","1579e77","157e17","157e77","1587504533e","158e15","158e18","158e28","158e60","159e28","159e36","15e12","15e18","15e22","15e25","15e26","15e4","15e40","15e59","15e8","15e9","15ea8","15k","15x","16000e18","1600e18","160e18","160k","160m","161e11","161k","161m","162000e18","162e12","162e20","162e22","162e30","162k","1630e12","163e","165000e6","165032317990799320700554","1650672435","1650674809","1651113560","165e31","165k","166e19","166e20","1675276266","16777104","16777120","167e26","1688e23","168e13","169k","16b","16bb886","16d0","16e","16e12","16e18","16e24","16e25","16e62","16e77","16f04","16fb27ce","16k","1700000000","17000000e6","170141184","170k","170m","17200000e6","17246885701212305622476302","172fc","172m","17310000e6","173k","17484167","174876e800","175000e6","175e18","175e8","175k","176e25","176m","1780453099185000000000000000","1782e26","1788479927","1788480095","178e29","178k","178m","17975143719","179e9","17d1","17e18","17e21","17e23","17e801","17k","18000e18","18000e6","1800e18","180541666e18","1807e18","180d","180e9","180k","18149401","181a","181k","182m","183f","184k","186f","186k","187e15","187e21","188518e18","188e10","188e18","189e18","189e37","18b9","18d","18dp","18e","18e18","18e24","18e25","18h39m","18th","18x","190e18","190k","191k","1920000","192e22","192e23","193020254960","193d","193k","194293561859","1945780700000000000","194e19","1955253","196875656","19780000000000000000000","19788","197m","19800e18","198m","199k","199m","19dc30ba","19e","19e15","19e18","19e33","19fc","19th","1a","1a00","1a05","1a35","1a4c","1a6","1a65","1a6b","1a93a581b9","1acb","1b","1b4d","1bae","1bc7881","1c","1c24","1c82","1d","1d1e","1dbe94","1e","1e10","1e11","1e12","1e13","1e14","1e15","1e16","1e17","1e18","1e18x","1e19","1e2","1e20","1e21","1e22","1e23","1e24","1e25","1e26","1e27","1e28","1e29","1e3","1e30","1e31","1e32","1e33","1e34","1e36","1e37","1e38","1e4","1e40","1e42","1e44","1e45","1e5","1e51","1e54","1e6","1e6x","1e7","1e70","1e71","1e8","1e9","1ebc","1f","1f44","1f6ea08600","1f78","1f91637","1fc8e","1g","1h","1inch","1k","1min","1r0r","1s","1st","1wei","1x","20","2000","20000","2000000","20000000","20000000000","20000000e18","2000000e6","2000001","200000e18","200000e6","20000e18","2000e18","2000e6","2000e8","2000th","20057735863910611438","200600e18","200e18","200k","200m","200th","200x","2010e18","201e18","202695e6","202e19","2038e18","203e26","204e","204e22","204e27","20550e18","205e24","205e31","205m","2069e18","207m","2083e18","2085e16","208e18","208k","20d9013","20e12","20e16","20e18","20e6","20h","20k","20th","21000e18","2101368297037048768","210d","210k","211k","211m","2126e","212e20","212k","213d8e67","214224507283633242","214k","215m","216e12","216e18","2181e18","218325e18","218e18","2192e24","219349","219349e18","219k","219x","21af6a","21e18","21e20","21e24","21e26","21f","21fcb","21k","21st","220k","2216e18","22189176","221d207","221m","2227585181466568852543","222e","222e19","222k","2230717","223975555653555068856","223e18","223k","224000000000000000000","224e13","224e18","22500000000","226e25","226k","2276295880553","227b","227k","2295","2299037211488404869263","2299037211488404869264","229e9756","22ab","22c0","22d4","22e18","22e21","22k","230000","2300075790545800624","2300e8","2302947556164439284","2302947556164439286","230e9","230k","2314608095639771350177","2318016587420379","23196045","231k","232423631596475387317","232e20","232k","2330075796547960349","233e12","233e20","233k","234e14","234k","236e21","237d","23811c","239e29","23a69e75","23aaf9c010","23b872dd","23b9","23e25","23e28","23e9","24","2400000","2400e18","240e18","240m","241k","2420000","2420000e18","242b","242k","243002223e18","2444e19","244e29","2450e18","245e18","2463e18","246e24","247m","248e21","248k","249e22","249e23","249e43","24e18","24e8","24f09c6c","24h","24k","24pixels","24th","25000","250000","25000000","250000e18","25000e18","25000e6","2500e18","250b","250e18","250e6","250k","251e9","252e18","252e34","252k","253m","25470e18","255e28","255e30","255m","256433041811851","2565e18","256e18","256e23","256e25","256e27","2570000e18","257m","259m","25e","25e11","25e13","25e18","25e24","25e34","25f9","25k","25sep2025","25th","260000","260e6","260k","261e21","261k","262e29","26400e18","2640e18","2649e13","264e","265d3","265k","267010781166742363801758","2696e29","269f2","26d0c6","26dec2024","26e18","26e21","26e23","26e28","26e30","26e33","26e35","26e48","26f79","26k","26x","270000e18","270k","2738e20","273k","27463848254806782408231","274e11","274k","275e18","275e31","275f","2770000","27711805093e18","2774e19","277e18","277e29","278k","27b9","27bd8","27d5","27e10","27e18","27e21","27e23","27e24","27k","27mar2025","280000","280m","281m","282d","282e18","283e25","283e9","28463","28500e18","2850e18","285e18","286e10","286k","286m","287m","2882503","28bd","28cb","28e12","28e15","28e17","28e18","28e19","28e6","290000e18","290e18","290k","2914299300544423","291e18","292d5b7","292k","293182","293182421809175367609122","293e18","293e28","293t","294e27","294k","2957e11","295e21","296e29","296th","2978658352619485704640","297b7","297e24","29809e18","298e18","29b","29bc","29k","2a","2a6","2a6f","2a7","2aa9d","2aab","2ad8d6","2b","2b3e1496","2b5f","2b9dc6","2ba1","2bbc","2bd02","2bd3","2c","2c50","2c599","2c60","2c60b7","2ca","2caa","2cc7","2cf8","2cfd","2d","2e","2e10","2e11","2e12","2e13","2e1377","2e14","2e15","2e16","2e17","2e18","2e19","2e20","2e21","2e22","2e23","2e24","2e25","2e26","2e27","2e28","2e29","2e34","2e36","2e37","2e6","2e8","2e9","2ef9","2f","2f422fe9","2faa","2fcd","2g","2k","2nd","2s","2u","2x","3000","3000000","3000000000","3000000e6","300000e18","30000e18","300037034111437845493368","3000e18","3000e6","3005437937396574487084","3008","3008000000","300e18","300e6","300k","3012a71","3023e21","302d","302e24","304e23","306a","307e17","307e21","307e22","308453642","308k","3090th","309e29","30a3","30d","30e18","30e21","30k","3100e18","310344","310377810e18","311k","31250e18","3125e18","312e21","313e21","3141e18","314dc6f0","314k","314m","31536000","315e15","315k","31622","31636cf","319431787","319a","319k","31e17","31e3","31e32","31ec7","3206293935581265143878","320e34","320k","32278351334263579577","323e18","323e23","3249e18","324e9","325e18","325e26","32663166885742087138","327e21","32971743","329e","329e24","32b1a6c","32e12","32e18","32e26","32e27","32eb","3300000000","3300d4c","3300e18","330k","333334","333e26","333f26b","334e21","334e24","334e68","335b","335e27","336e18","336f","336k","339e12","339e24","339m","33c98","33e18","33e22","33e8","33fb","33k","340282368","340k","34159898e29","342e18","344b","344e18","344e19","344k","3461018d57","346137034345014454603094","347k","348e23","348k","349e18","349m","34b664","34cfac","34e15","34e161c","34e18","34e19","34e21","34e29","34e9","3500e18","350e18","350e24","350k","350m","351e18","3523e18","353e18","354e18","354e56","355k","356m","3590e8","3593e14","35a254","35bc","35e11","35e14","35e15","35e18","35e2","35e25","35e2d","35e3","35e9","35k","3600","360000","36099999999999999900","363d1","364e18","365e18","365k","366b","366bf1","366k","367e20","3689e18","36b5","36e10","36e11","36e18","36e20","36e9","36f8","36th","370e18","370k","371k","3733e18","3737e36","374e","374e24","375e21","3766e18","376m","378e","379e24","37e15","37e18","37e29","37e49b","37e9","380e18","3816f8","3828a","383b","383e24","383k","383m","384e18","385e21","386m","38793028","3880000000","388m","38a","38b","38b5","38e15","38e9","38f2","38fc","390k","390m","3913exp","392k","3933e27","393e27","393m","393rd","3945e19","394742852305","394911","395035","395bdf","396369e","396e35","397k","3987e30","398e","39b","39bf","39e18","39e9","3a","3a14","3a3c","3a6d8c","3a84a","3ac7","3b","3b09","3b0baff","3b21650d","3b4","3b72f","3b8c","3c","3c05c","3c4b","3ce5","3crv","3crypto","3d","3d11015d","3d1110","3d539801af","3d68","3d8f33a94008400","3d964581","3db1eb","3e","3e10","3e11","3e12","3e13","3e14","3e1496","3e15","3e16","3e17","3e18","3e20","3e21","3e22","3e24","3e27","3e29","3e31","3e345747","3e55b","3e6","3e64","3e8","3e9","3e9a","3eaf","3f","3f18","3f443c31","3f6f","3f93","3fa17","3g","3h","3i","3j","3k","3pool","3rd","3s","3u","3v","3x","40000","400000","40000000","4000000000","40000000000","4000000000000","400000001","400000e18","400000e6","40000e6","4000e18","400e18","400k","400m","401k","40282e38","402e38","402m","4035e12","403e21","403k","404e26","405e20","405m","406e18","406e24","407e27","407k","408793e18","40e18","40e27","40eb","40k","410e26","411180097e25","411e25","412b","412e10","412e13","412e15","412e24","4138e18","414b","415e24","415k","416th","4175e10","4175e13","417k","418k","418m","4190f1","419d9","419m","41c1df0e","41e15","41e20","41e25","41e9","42074e70","421b","422e17","422e18","4236","4236940422340651762428","423n4","4242e18","4245e22","4258e25","426e37","427e22","427e23","429e62","429m","42a8","42e10","42e17","42e18","42e19","42e24","42e8","42k","4309d","430k","431e24","435e13","435m","4365e25","4370e18","437e9","437m","438e19","438m","439k","43d","43df","43e34","43e37","43k","4405e18","440d","440e12","440k","442d","442e15","442k","44656863632","4465e9","446d","446m","4486","448e29","44a7","44b0","44e18","44e53","45000000e6","450000e18","450e18","450m","4510e25","4514e7","4519e2","451a","451e18","451k","451m","452k","453e13","453e18","453e24","453m","455b","455e24","456442536622","456e12","456e16","4587e39","45ca8a","45e","45e12","45e18","45e20","45e29","4622a","4626e18","46360332002032","463e6","464k","4653e20","4657e25","465m","4670e18","467k","468e12","469e19","46a7","46e15","46e18","46e23","46e25","46fa611","46k","470b","470e18","471e24","47294222088336002957","472997613026749247557538","472e14","472e26","472e32","47391215","473e","4760e18","4766e11","478m","4798ce5b","479e18","47d4","47e18","47e21","47e22","47e25","47e4","47k","4819e25","481e16","481e18","481e25","481e29","482e21","483e25","484d","485984777954","485e31","485m","486m","487495176743718966418330","487e39","487k","488e23","488e24","488m","489e21","48a04f3","48a6","48df","48e18","48e9","48k","49000000e6","490k","49255e18","49375e16","493e19","493e20","493e27","493k","4948e18","495e18","496500e6","497e18","497e26","4985e24","49863998","4996e18","499999999999999999","499e24","49e18","49e6","4a","4a0a","4a34","4a75084c","4a7ed80","4a8","4a87","4a8a","4a97e6","4b","4b3f","4byte","4c","4c768f","4c7d","4d","4d32","4d7e","4d85","4d8a","4da","4dad","4dec","4e","4e11","4e12","4e13","4e14","4e15","4e17","4e18","4e19","4e21","4e22","4e24","4e25","4e26","4e27","4e31","4e34","4e36","4e38","4e5","4e6","4e68","4e7","4e8","4e8c","4e9","4f","4f1f05bc","4f52","4f5d","4fab","4g","4h","4i","4j","4k","4l","4m","4n","4o","4th","4x","500000","50000000","5000000e18","50000e18","50000e6","5000e18","5000e8","50025e18","500e18","500e6","500k","500m","500x","5011e18","501c","501e18","501e24","501e28","502e18","502k","503c","50463e6","5047470472572","504e11","504e24","504e25","505e29","505k","506e18","507e18","507k","507m","509e9","50e","50e18","50e21","50e23","50e25","50e4","50e6","50e9","50k","50th","510e18","511f","512e21","512k","5137937396574487084","514e16","514e25","514m","516e6","51758376","5178e18","517e23","518e21","519e33","51b","51b6","51bd","51e12","51e18","5200000000000000000","52057043674336149349295101","521472358420158","522e35","5231353e18","524102e18","524e15","525e18","525e22","525m","526e23","526m","5271e9a","5273e18","527e14","527e21","52bc","52d3b6","52e","52e14","52e18","52e26","52e30","52e35","52e6","5305e18","5308e18","5325e27","5329e18","533e20","534060e18","535k","536e9","536th","5375","5395e18","539e37","53e11","53e18","53e21","53e27","53e7","53k","54","540e18","540e21","540e37","542e14","5432e18","544755","5462e9","5465e18","547e22","547e24","547m","548e16","548e18","548e29","54ca","54e18","54e19","55000000e6","5501e18","550e18","551k","5536e18","5536e22","553d","553x","555e","555e12","557k","5589328092301986679","558e20","559e15","559e22","559e30","559k","55abdd9a","55e","55e17","55e18","55e22","55e27","55e29","55e30","55e8","55f","55f939","55fbd","55k","560525526525080924601515","56125794","561e24","5621f7","5621f7c","5625e18","56372227","564e18","565e18","566m","5670e18","568e9","568k","56cc2","56e15","56e16","56e18","56e36","56e36f8","56f2fe95","56k","570k","571e18","571e29","572e16","572e22","572e27","573e18","573k","574k","576557e18","576e20","576e23","57853248","5793e18","57a3e59","57b4b","57e","57e24","57th","580d","580e6","581e","582e11","584b","585e26","589a","58aa","58adb","58d6","58e18","58e21","58k","590f","590fb","590k","591e17","5947e37","594e20","594e26","594m","5955466788004705247296","595813431745","59643","596e33","5978e18","597e18","597e28","5989e16","5989e18","599e22","599f","59c","59cd9","59e18","59e34","5a","5a00","5a0e","5a71","5a79","5ae569","5ae6","5afe","5b","5bd3c","5bf4","5bf9","5bnb","5c","5c31","5d","5d8c","5da5","5e","5e10","5e11","5e12","5e13","5e14","5e15","5e17","5e18","5e19","5e20","5e22","5e23","5e24","5e26","5e27","5e28","5e35","5e36","5e37","5e4","5e5","5e53","5e6","5e71","5e8","5e85","5e9","5ede72f","5f52d50","5f78","5f97","5fc8d","5fcc","5ff02eae","5h","5k","5th","5x","600","600000","6000000","60000000","60000000e6","60000e18","6002159723","6002759998","6002760000","600e18","600e6","600k","600m","602e24","603e21","603k","604d6d","605k","6066e23","606k","607d60e6","6081e18","6081e20","609e24","60e18","60f3","60k","610k","610m","614e18","616e12","616e15","617e18","61840939882","6187e18","618e23","619b","61e31","6247fa757","624e21","625m","626e","628k","6292026e15","629e14","629e23","629e27","62c0","62e","62e18","630k","631b","631e","631e18","636e18","636k","637e25","6388e27","63e18","63e23","63e3","640k","641e24","641m","642e33","643e","643e21","644e17","6454e","645k","6474802836xx","649e13","64c1","64e12","64e18","64e21","64e27","64e5","64ea","64f","650k","650m","652e18","654e18","654e24","65560","657e25","657m","65855246851492826558","6596e21","659e25","65a3","65b","65be","65e13","65e17","65e18","65e19","65e23","65e39","65k","6634528","663f2922","6648e27","6648e39","667e28","667f","668b2","669e24","66e24","672e31","673e12","6763rd","676562","678e24","679m","67b580","67e21","67e25","67k","68074207302582789247186905","680k","681m","685000e18","6855184233076263744","6857e18","687e22","68835e18","688e","688e22","68d5","68dd4","68e11","68e14","68e18","68e21","68e31","68e42","68f20cbb","69325a","693e21","69422c","695k","6969000000000000000000","6969e18","696e12","696e21","697b","698e27","698ff848","6990e18","6998e17","6999e18","69a","69b","69e","69e14","69e17","69e18","69e21","69e22","69e23","69f3a4","69k","6a","6a0cbb1","6a60","6a7c","6aa9","6b","6b82f","6b8d","6b974","6ba52","6c","6c07","6c0960f9","6c648fca","6c7e","6c8e","6c93","6d","6d678","6db0","6dd27f","6deb85","6dp","6e","6e10","6e12","6e13","6e14","6e15","6e16","6e17","6e18","6e1d","6e21","6e22","6e24","6e28","6e36","6e4","6e5a","6e7f5","6e8","6e9","6ea4","6ed1","6ee4","6ef3","6f11","6f5f","6f7a","6fd","6fde","6k","6th","6x","70000","700000","70000e18","7000e18","700e18","700k","700x","701k","70210","7022e18","7024740288","702m","70310","7034e21","703e18","706817","706e24","707e12","708e26","708e33","708m","70k","71035e18","71076","710k","714e24","715e16","716e15","717c","71849442e15","718d","718e38","719x","71a6","71e18","71e21","71m","720e9","721a","7227e18","722e18","722e21","7251e18","725e37","726e14","7287f1","729e21","729f","72e18","72e21","72h","72k","73","730k","732e18","732e29","732m","733m","735e23","7387e18","739e","739e10","739e23","739e36","73c1f","73db","73e18","73e23","73e24","73rd","74060d7","74095e43","741e","741e23","741m","743e12","743e6","744648e18","744e21","744e22","745e37","7461a","746a522127","7477e18","748460e6","74a","74e18","74e21","74e24","74e25","74e43","74eda0","750e18","750m","752e21","7556e28","755e17","7597463305","759e18","75e","75e12","75e14","75e16","75e18","75e19","75e30","75e33","75e39","75k","76000e18","761k","762e25","7643e12","764e30","767e18","768947220961","768e11","768k","7699924203452039651","769k","76a9","76e","76e12","76e18","76e24","76e33","76k","770k","7731e27","7731e9","773e11","773e43","774f","775e29","777e20","777k","77842e9","7787dba1","77a684","77b5","77e16","77e18","77e23","77e29","77e43","781055263e29","781e24","781e28","783k","784e9","7853248e7","786t","787e18","787e20","787e25","7880e18","789e","789e14","789e58","789e76","78c4","78d8b","78e","78e11","78e15","78e27","78e35","78e9","78f5","78f5bf","78ff","791e18","79228162514264337593543950336","7939","793e","794e24","7955e22","795e6","796d","796e16","796e24","796m","797c","797e18","797e27","797e37","797m","798e12","798e18","7990e39","7996e30","799e32","799e35","79a2","79e18","79e21","79e23","7a","7ace","7ad7","7af","7af7783","7aff","7b","7c","7c23ac","7cb3","7ce36bc7","7cfe","7d","7dai","7db2","7e","7e0c","7e11","7e12","7e15","7e17","7e18","7e18x","7e20","7e21","7e23","7e27","7e38","7e47","7e5","7e58","7e6","7e7","7e851e","7e9","7f","7f0","7f0a","7f63","7f90fd4","7fa9","7fa9385b","7fa9385be102","7fe7","7fee","7k","7th","7x","800","80000","800000","80000000","8000000e18","80000e18","80000e6","8000e18","8000e6","8005e26","800e18","800e6","800k","800th","803k","8049e18","804e18","804m","805m","806e18","80788e20","807e17","807e20","807e25","807m","809e27","80d1","80e","80e19","80e21","80ea","80fd","80k","81045e28","811e24","812d","812e18","813e27","814e27","815e","819359223486269","819e17","81d7","81e12","81e15","81e18","81e20","81e28","81f9","820a","820k","821k","822e25","822e28","8233e18","823c","8244e18","825m","8266e6","826e18","826f","827m","828c","829df9","82e18","82e21","82e23","82e2338","831e31","83222","83252","832m","833589fc","8340000000000000000","8340e18","8356e21","835e75","836e12","839e24","83e18","83e22","840k","8411e26","841e14","841e24","841k","844e","844e12","844e18","844e19","844m","845e22","846113f1","848cd7","849e28","84a2","84b6060","84e17","84e18","84e24","84ec","84ecd","850000000e18","85000e18","850e6","850k","850m","851e21","8546e18","855k","8568688e24","857e","857m","85b","85c","85d","85e18","85e23","85e8","86000e18","860m","86400","867e18","868m","86b6","86e18","86e20","86e21","86e9","86k","870m","87132251","8718395e25","872e36","8738e15","873e13","873e16","873e31","875e18","875m","878747e18","878e23","878e29","8792873290680252648282","87b9922","87c7","87de","87e15","87e18","87e21","87e6","87fc","881e9","882m","883917967954","883e15","883e24","884359926938","886e24","886m","8873e21","887e20","887e24","887ef","887m","888e18","889a111","88b953","88e14","88e18","88e26","88e48","88mph","88mphexp","8919e18","897e16","897e18","898e18","899e24","899e28","899m","89a0","89bd","89da","89e18","89f5","8a30","8a6b3b2","8a90","8a9a","8b1e","8be","8bea","8c25","8c70","8ca718b8","8cc7","8cf18dd9","8cf90b","8d","8d4b","8dd4","8dp","8e05","8e13","8e15","8e16","8e17","8e18","8e19","8e20","8e21","8e22","8e23","8e24","8e26","8e27","8e273","8e29","8e36","8e3f","8e4","8e42","8e62ffe8","8e8","8e9","8f2354","8f25","8f4c","8f6","8f6f","8h","8k","8th","8x","9000e18","900e15","900e18","900k","901467122762682970176","9021e17","902421e18","902e","9039e18","903e28","904e18","904f81","904f81eff3","905e17","906e18","906e21","907b4","907e18","907e26","907m","909a","909e45","909e47","90d1e8a1","90d7","90e18","90e23","90e9","90fb9dca","90k","90th","910k","911e24","911e33","913e18","9143e15","915e18","916e28","917e12","917e23","918m","9195e27","919e18","91e18","91e25","91e9","91faf46","921e18","922e22","922e28","922e33","9239127f","923b8a2a","923c35b","923e18","923e27","924e28","925d400c","927206640178","927e18","928e14","929468e18","9296e18","929e18","929e21","92af1","92db","92e","92e18","92e25","92e28","92e29","92ef","92f8ffaf","931b","933f8","934cbb","9350e18","935e","936e10","937e15","938566826811","939e21","939f","939k","93e18","93e25","93e3994","93f011","93f2","9419v2","9419v3","94258e18","942e24","942e26","943e26","944e18","9457e18","945e","945k","946k","947e26","94887e14","94891e14","948e15","94d7","94e14","94e18","94e26","94e52","94x","95000000e18","9500000e18","95086243144","950e18","950k","952e15","955e13","955m","9576e15","957e18","958e","958e18","95a0","95cd","95e12","95e15","95e18","95e31","95k","95x","960k","962e20","96317e18","963e19","968947e18","969bb0","969d","969e18","969e21","96bc0","96e13","96e14","96e18","96e21","96e24","96e31","96e8","9706e21","971d1","972e26","973cb961","973e28","974b","974e23","9751217521","975m","976e28","976m","9770e18","977e21","977e28","9786e21","978e18","97e","97e17","97e18","97e24","97e28","97e76253","98000","98000e18","9801da","9833e19","9840e18","984d","985e27","986ca","987217bc","9897e18","989833","98b0","98cb3c","98d5fa5f74","98e","98e15","98e18","98e25","98e28","98e9","98token","9900e18","990e24","990e9","990m","992e21","992k","99325e18","993b","993m","994e17","9956e28","995e14","995e24","9965e18","996e25","996m","997e18","9982e5","998e15","998e16","998e18","998k","998m","9996e18","99972e18","9998e31","9999983e17","99999999","9999999993997840276","999999999999999998000","999999999999999e18","99999999e27","9999e18","999e11","999e12","999e13","999e15","999e17","999e18","999e19","999e21","999e23","999e24","999e25","999e27","999e28","999e29","999e30","999e31","99e16","99e18","99e25","99e42","99e64fd1","99x","9a1","9a1a","9a76","9a79","9ab3","9acd","9ad6caf8","9ae8","9b16e7","9c","9c47","9c64","9cfc","9d2edfac","9d60a","9d72","9dc845","9e","9e14","9e15","9e16","9e17","9e18","9e20","9e23","9e24","9e25","9e27","9e28","9e37","9e5","9e5a7","9e9","9e934fdc","9ec","9ecb25","9f4","9k","9th","9x","_100pct","_1percent","_4percent","_6percent","_89percent","__","____","______gap","___self","__deposit","__gap","__order","__suppli","__transfer","__weight","_a","_aabcabcabc","_account","_accru","_adapt","_add","_add112","_addliquidiwafiwvq","_addr","_address","_adjust","_admin","_after","_aggreg","_airdrop","_aksuwhf","_allow","_ammpool","_amount","_amount0","_amount1","_amplif","_amt","_answer","_ape","_approv","_approve_","_arctan","_arg","_arg0","_arg1","_arg2","_arrai","_asset","_at","_attack","_attestor","_auction","_auth","_aux","_avail","_avatar","_b","_babcabcabc","_balanc","_balance0","_balance1","_balances_","_base","_befor","_beneficiari","_bid","_bl1","_bl2","_blacklist","_bnbvalu","_bond","_boost","_bor","_borrow","_bounti","_bp","_bribe","_bridg","_bron","_bui","_burn","_burnfew","_buyer","_cabcabcabc","_calibr","_call","_calldata","_caller","_calul","_cancel","_capac","_chain","_checkpoint","_checkpoint_","_claim","_claimabl","_close","_coin","_collater","_collect","_compound","_comput","_config","_connector","_contract","_control","_convert","_core","_count","_cr","_create2","_credit","_currenc","_dabor","_dai","_dao","_data","_datatoken","_daylimit","_de","_debit","_debt","_decim","_deglov","_del","_delai","_deleg","_delegate","_delet","_delta","_delta0","_deploy","_deposit","_depositor","_destroi","_di","_dispatch","_distribut","_distributor","_dividend","_dolbur","_downscal","_doz","_drain","_drawdown","_drip","_durat","_earn","_enabl","_encod","_englov","_epoch","_erc1820","_erc20","_erc20address","_escrow","_exchang","_exclud","_execut","_executor","_exercis","_exnam","_exp","_expect","_expiri","_f","_fallback","_farm","_fee","_feeder","_fill","_final","_fingerprint","_flip","_for","_founder","_franco","_frid","_from","_ga","_gaug","_gel","_give","_glove","_group","_guid","_h2","_harvest","_hash","_hide","_holder","_hook","_i","_i_","_id","_impact","_implement","_import","_incomingeth","_index","_index0","_info","_init","_initi","_initialized_","_input","_insert","_instant","_invit","_invitor","_irn","_isregist","_k","_k_","_kei","_kitten","_leaf","_lender","_length","_limit","_liquid","_liquiditypool","_list","_live","_lkck","_loan","_lock","_lock_","_locked0","_locked1","_logic","_logs_","_lp","_lpaddr","_ltv","_m","_maintainer_","_manag","_margin","_market","_max","_melt","_messag","_messeng","_meta","_metadata","_method","_min","_mint","_mode","_moler","_move","_mul","_multipli","_name","_namei","_near","_nft","_nftid","_nonc","_normaldata","_now","_num","_o2","_offset","_one","_oper","_opt","_oracex","_oracl","_order","_origin","_own","_owner","_pa","_pai","_pair","_param","_pars","_part1","_part2","_payload","_paymentaddress","_payout","_pend","_percent","_percentag","_period","_permit2","_pid","_pkg","_plan","_player","_pledg","_pool","_popul","_posit","_pow","_prev","_price","_product","_proof","_propos","_protocol","_proxi","_pseudo","_pubkey1","_pubkey2","_pull","_pump","_purchas","_push","_quantiti","_queue","_quoter","_r","_rank","_rcomp","_rebal","_rebas","_recaddr","_recaddr2","_receiv","_recipi","_reconcil","_record","_recov","_redeem","_reduc","_referr","_refund","_regist","_registri","_rejoic","_relay","_releas","_remain","_remov","_repai","_report","_reposit","_requir","_reserv","_reserve0","_reserve1","_reset","_resolv","_restor","_reward","_rewardbit","_role","_root","_roter","_round","_rout","_router","_run","_runner","_s","_s4","_s5","_safe","_sagar","_salt","_san","_sbt_","_seiz","_selector","_sell","_sellc","_send","_sender","_sent","_settl","_shadow","_share","_sig","_sign","_signatur","_signer","_size","_slippag","_snap","_snapshot","_sop","_sourc","_sp","_spender","_sponsor","_sq","_sqrt","_stabl","_stake","_staker","_start","_state","_statu","_storag","_strategi","_stuck","_subject","_subscrib","_success","_suppli","_support","_swap","_swap0","_swap1","_swapper","_swappric","_symbol","_sync","_t","_target","_taxedeth","_taxfew","_team","_term","_tier","_tiers_","_time","_timelock","_timestamp","_tm1","_to","_token","_token0","_token1","_tokenid","_tolen","_total","_trade","_trader","_transfer","_treasuri","_trigger","_tx","_type","_un","_undeploi","_underli","_unstak","_unsubscrib","_unwrap","_updat","_update0","_update1","_upscal","_usdt","_user","_v","_valid","_valu","_valuedata","_valuegood","_vault","_verifi","_vest","_vestingpool","_vote","_voter","_wallet","_wbnb","_weight","_whitelist","_who","_withdraw","_wlp","_wrap","_x","_x1","_xloot","_xp","_xsdamount","_y","a0","a00","a00b","a032","a03341d","a0787","a0a0","a0b1","a0b277f","a1","a10de7","a14","a152","a17aa3","a1bb03","a2","a283","a2a7e","a2a9","a2f22a0","a3","a30","a35","a367","a3d1","a4","a443","a446","a47","a47b1","a47b1f","a4a1bb03","a4a1bb04","a4ba","a4c9","a5","a513","a53","a59","a5964","a5ec","a5ef","a5f372","a5f644","a5f8","a6","a60","a62c3c","a65","a6b","a6be","a6c0","a6dc","a7","a70","a703","a703d","a70c86","a76","a79","a7b","a7ea7a53bfd9","a8","a81598","a821","a89f","a8c9","a9","a90","a9059cbb","a915","a96","a96d","a98","a99c40","a9a","a9ac","a9d0","a9e7","aa","aa504","aa67b4","aa8f35","aa9d","aaa","aaasum","aarna","aav","aava","aavatoken","aaveactions","aaveboost","aaveflash","aavegotchi","aaveoracle","aaveoracle7287f1","aavepool","aavepoolv3","aavestrategy","aavesupply","aavetokenv3","aavev3","aavev3yieldsource","ab","ab141181","ab2f","ab50","ab6b2","aba2","abacu","abandon","abar","abari","abbrevi","abc","abcc","abccapp","abdic","abdicatehost","abep20","abi","abid","abil","abl","abnbeth","abnorm","abond","abondamount","abondtoken","abort","abortaskoffer","abortbidtaker","abortofferstatus","abracadabra","abridg","abrupt","absamount","absdelta","absenc","absent","absolut","absorb","abspricediff","absslippage","abstain","abster","abstoken","abstract","abstractrewards","abstractwithdrawrequestmanager","abstractyieldstrategy","absurd","absurdli","abund","abus","ac","ac00","ac0c75","ac96","academ","academi","acb","acbbtc","acc","accbasetoken","acccakepershare","acceler","accept","acceptableprice","acceptableroot","acceptadmin","acceptamount","acceptbid","acceptbidsellnfttomarketcheck","acceptbidsellnfttomarketlienupdate","acceptcounteroffer","acceptdata","acceptedcurrency","acceptgov","acceptjob","acceptmanager","acceptoffer","acceptownership","acceptperpowner","acceptpositionmanagerrewards","accerc20perpower","access","accesscontrol","accesscontrolinit","accesscontrolupgradeable","accessor","accf3","accfeepershare","accfeepersharefortoken0","accfundingrate","accid","accident","accitokenpershare","accnew","accold","accompani","accomplic","accord","accordingli","account","account1","account2","account3","account_","accounta","accountableasyncredeemvault","accountableasyncredeemvaultbase","accountableopenterm","accountablewithdrawalqueue","accountassets","accountb","accountbalance","accountbalances","accountborrows","accountborrowsnew","accountborrowsprior","accountdebt","accountdrain","accountedassets","accountedrewards","accountfacet","accountforposition","accountforsendcoll","accountgaslimits","accountid","accountinfo","accountingcontext","accountingcontextfortokenof","accountingengine","accountingvalueof","accountinitializationfailed","accountisblacklisted","accountliquidator","accountliquidatornotliquidatable","accountliquidity","accountliquiditylocalvars","accountmanager","accountnotinitialized","accountproxy","accountsafes","accountsids","accountsidswithactivepositions","accountssettled","accountstate","accountstates","accountstier","accountsystem","accounttable","accounttokens","accounttokensnew","accounttotalrewards","accounttotalunrealizedpnlusdx18","accountunhealthy","accountvaults","accpershare","accpershareatunstake","accpnldelta","accpnlpertoken","accpnlpertokenthreshold","accpnlpertokenused","accpointspershare","accret","accretingprincipal","accrewardpershare","accrewardpertoken","accrewardprecision","accrewards","accrewardspershare","accrewardspertoken","accrps","accru","accrual","accrualblocknumber","accrualstart","accrualstarttimestamp","accrueactiveinterests","accruedfees","accruedfeesusd18","accruedinterest","accruedlaunchpadfee0","accruedlaunchpadfee1","accruedmp","accruedquantammfees","accruedsincecheckpoint","accruedtax","accruedtotreasury","accruefixedcryptofee","accrueflux","accrueinterest","accrueinterestforbothsilos","accruereward","accruerewards","accruetokenfees","accrueuserreward","accsdopershare","accstatic","acct","accum","accumprotocolfees","accumul","accumulatedburnamount","accumulatedburnexecuted","accumulatedethperfreefloatingshare","accumulatedethperlpshare","accumulatedethpershare","accumulatedfee","accumulatedfees","accumulatedmsnfee","accumulatedprofitpernft","accumulatedreward","accumulatedrewards","accumulatedrewardsperstakingpower","accumulatereferralrewards","accumulatesecondaryrewardviaclaim","accumulatorcostbasis","accumulatorshares","acczabupershare","acd","acead","acf","acfb","achiev","ack","acknowledg","acl","aco","acobalance","acos","acotoken","acowrit","acowriter","acquir","acquirevotes","acquirewithdrawalfunds","acquisit","across","act","actdealcommontransfer","actdeallpremovebehavior","actdeallpremovebehaviortrue","actflag","action","actionborrow","actionborrowexr","actiondata","actiondepositexr","actionexr","actionhandler","actionid","actioninvalid","actionmulticall","actionpolicies","actionrepay","actionreposition","actionrestricted","actionrestriction","actionsexecutionparams","actiontransferdeal","actiontype","activ","activateaccount","activateandcall","activateboost","activatefailover","activaterestaking","activatetime","activeagents","activeband","activebin","activecollateral","activecontracts","activedeposits","activehook","activeid","activeoperatorsbyethdepositutilization","activeorders","activeordersbyaddressreadonly","activeperiod","activepool","activepoolcached","activepooldee8a9","activeproxy","activerewardusdrate","activeseconds","activestakescount","activetrades","activevalidatorcount","activevalidatorstake","activevaults","activeworkerids","activist","actor","actor1","actor2","actual","actualamount","actualamountin","actualamountout","actualamountreceived","actualbalance","actualbalancechange","actualbalancedeltacausedbythiscall","actualborrowed","actualburn","actualchange","actualcumulativeissuance","actualdeduct","actualduration","actualethwithdraw","actualgas","actualgascost","actualizefee","actualliquidationamount","actuallp","actualmintamount","actualout","actualoutput","actualpayout","actualprice","actualratio","actualreceived","actualrecyclexdk","actualrepayamount","actualrewardtokengains","actualsupply","actualtakeramount","actualtoamount","actualtokengains","actualtokenwithdraw","actualuser","actualwithdrawamount","actualwithdrawn","ad","ad31","ad9c","ada","adadpair","adai","adapt","adapterfi","adaptermanager","adapterparams","adapterpool","adaptervault","adaptor","adata","adbb6fb","adc","adcexp","add","add128","add128fees","add_","addanswertohistory","addasset","addbabydogecoinwbnbliquidity","addbal","addbalance","addbnb","addbonuspool","addborrowmargininusd","addborrowposition","addbp","addcash","addcollateral","addcollateralsurplus","addcollateralvault","addcommitment","addcover","addcoverandcreatepools","addcrosschaincollateral","adddebtswapadapter","adddelegatorentity","adddepositableasset","adddust","addearnings","added0","addedbalance","addedborrowamount","addedtolist","addend","adder","adderc20collateraloption","addescrow","addethabove","addfailed","addfee","addfistfee","addfixedday","addfounders","addfunds","addgauge","addgems","addholder","addi","addincentive","addingliquidity","addinstances","addinvitereward","addit","addition","additionalbalance","additionalcollateral","additionaldividends","additionalfee","additionalfunds","additionalpayload","addliq","addliquidity","addliquidityall","addliquiditybnb","addliquidityeth","addliquidityparams","addliquiditysingletokenkeepyt","addliquiditytime","addliquiditytraderjoev2","addliquidityunlocktime","addliquidityusdt","addliquidityv2","addliquidityweth","addlockedamount","addlp","addlpandstake","addlpliquidity","addlpminmrpamount","addmargin","addmarketvalue","addmonths","addmultiple","addneworder","addnewtranche","addorder","addownedasset","addowneraddress","addownerwiththreshold","addpair","addpairlogic","addpairparam","addpairparams","addpnltocollateral","addpoolandsell","addpositionid","addproposal","addproposalwithnonce","addquoterewards","addr","addr1","addr2","addr3","addr3c","addrcc","addrebalancerequest","addrelayworkers","addreserves","address","address2","addressa","addressbytes","addressdata","addresserror","addressformarketing","addressnotsigned","addressone","addressposition","addressset","addresstobytes32","addresstoid","addresstwo","addressupgradeable","addresswbnb","addreveal","addreward","addrewards","addrewardtopool","addrtobind","addrtoinvite","addseconds","addsellorder","addsession","addsessiontypehash","addshare","addshares","addstrategy","addstrategymanager","addsupportedpool","addteam","addteamamount","addthensubuint","addto","addtoken","addtokenbalance","addtokenbalanceincontract","addtokens","addtokensbelow","addtokenstotransaction","addtokensupply","addtolist","addtopancakefarm","addtoparty","addtosteam","addtransaction","addusdtsdaoliquidity","adduserborrowedasset","addusersuppliedasset","addvalidator","addvalue","addvaluesingle","addvirtualliquidity","adequ","adj","adjac","adjgrowthfactor","adjust","adjustcollateral","adjustedaccrualrate","adjustedamount","adjustedclaimableamount","adjustedin","adjustedpositionpnlusd","adjustedpriceimpactdiffusd","adjustedtokenpershare","adjustfailed","adjustfee","adjustmaker","adjustor","adjustorlib","adjustpoints","adjustpointsfortransfer","adjustpoolprice","adjustposition","adjustprice","adjustratepersecond","adjustticketinfo","adjusttotick","adl","admin","adminaddress","adminamount","adminfeepercent","admininitialized","administ","administr","adminlib","adminrole","adminupgradeabilityproxy","adminwallet","adminwithdraw","adminwithdrawn","admiss","admit","adopt","adr","adsaddress","adshar","advanc","advanceepoch","advancetonextdown","advantag","advantageinfo","adventur","advers","adversari","advertis","advertiserfee","advertiserfeepercentagebp","advic","advis","advisori","ae","ae04a","ae1","ae6","aeaf","aeafd","aegi","aelin","aera","aero","aerodrom","aerodromefactory","aerodromerouter","aest","aethir","aethrseth","aethwsteth","aexp","af","af4","af4f","af9","afd4","afd5f60a","afe3","afe5","affect","affidavit","affili","affiliateaddress","affiliatefeedivisor","affiliatefees","affiliatefingerprint","affiliaterewardamount","affiliateuser","affiliatevalidator","affiliatevalidatorgas","affiliatevalidatorselector","affin","affirm","afford","afibase","aflowevmb","afor","after0","after1","after_","afterallhook","afteramount","afterb","afterbalance","afterexecute","afterlockupdate","afternominalmain","afterordercancellation","afterordercancellationerror","aftersecond","afterstakehook","afterswap","afterswapbalance","aftertokentransfer","aftertradeweight","afteru","afterupdate","afterw","afterward","afterwithdrawbalance","ag","againstvotes","agav","agent","agentbalance","agentdao","agentid","agentindex","agentnft","agentnftv2","agentstatus","agenttba","agentvetoken","ageth","ageur","agg","aggrav","aggreg","aggregate3","aggregateaccount","aggregatedunderlyingbalances","aggregateoracle","aggregateroot","aggregationrouter","aggregationrouterv4","aggregationrouterv5","aggregatoranswer","aggregatordata","aggregatorinterface","aggregatororacle","aggregatorv3interface","aggress","agi","agk","agnost","ago","agre","agreement","agtoken","agtokens","ahead","ai","aic","aicbalance","aid","aidc","aidcsellhelper","aidctoken","aim","air","airbtc","airdop","airdopamount","airdrop","airdrop2","airdropaddress","airdropamount","airdropgrapestoken","airdropprogress","airdropreward","airdroprewardcontract","airdropstarttime","airdroptokenperday","airdroptokensperday","airnod","airtight","airwa","aisoth","aisothpresaleexp","aispac","aitradehubnotverifyerror","aiwgpttoken","aixbt","aixbtforcedswapexp","aizpt","aizpt314","aizpttokenexp","ajna","ak1111","akasha","akashaoft","akin","akita","akitadef","akitadefender","aku","akuauction","akunfts","akutar","akutarnft","akutarnftexp","akutarnftexploit","al","alarm","alasset","albt","alchem","alchemech","alchemix","alcx","alcxamount","aleo","alert","aleth","algebra","algebragauge","algebragaugefactory","algebranfpmanagerinterface","algebrapool","algebrapoolstate","algebraswapcallback","algebrav1priceoracle","algo","algorithm","alia","alias","alic","alicealt","alicecontract","aliceexpposid","aliceorderid","align","alik","aliv","alivecount","alivepenguins","alkemi","alkemiearn","alkemiearnpublic","alkimiya","allamount","allasset","allbids","allborrowshare","allbridg","allbridgeexp","allbridgeexp2","allc","allclaimamount","allcollateralshare","allianc","allianceblock","allinavusdc","allliquidatedorder","alllp","allmarkets","alloc","allocatedbalancebefore","allocatedperpool","allocatedperpoolbefore","allocatedstethrewards","allocatedunderlying","allocateethdeposits","allocatefees","allocatefunds","allocpoint","allorders","allot","allow","allowall","allowallcontracts","allowanc","allowanceamount","allowanceholder","allowancemodule","allowancespent","allowancetarget","allowasyncreenter","allowe","allowedaddresses","allowedbasekeys","allowedborrow","allowedcaller","alloweddifference","allowedinputtokens","allowedloss","allowedordersigner","allowedordersignerregistered","allowedpeers","allowedrouters","allowedselectors","allowedsettlement","allowedslippage","alloweduniswappools","allowedwhitelistindex","allowfailure","allowhandler","allowlist","allowlist_","allowlistset","allowperpetual","allowpoolburn","allowsideeffects","allpoolz","allshare","allshares","allstak","alltokenamount","alltokens","alltokensandamounts","allusdt","allw","allzero","almost","alon","along","alongsid","alp","alpaca","alpacawbnb","alpacawbnbvault","alpapo","alpexp","alpha","alpha1","alphag1","alphai","alphax","alpi","alpscon","alpsconexp","alpsconexploit","alptokenout","alreadi","alreadyanode","alreadybanked","alreadyclaimed","alreadyclaimedforlatestepoch","alreadydelivered","alreadydistributed","alreadyexecuted","alreadyhasreferrals","alreadyhasreferrer","alreadyinitialized","alreadylate","alreadyminted","alreadyqueued","alreadyrefunded","alreadyregistered","alreadyrollingover","alreadysoldusdt18","alreadyspent","alreadyvalidator","alt","altaccount","alter","altergovernancedelegatee","altern","alternativesellamount","altexpiry","although","altof","altr","alusd","alusdfraxb3crvf","alusdsdola","alusdtousd","alwai","alwaysrevert","am","amamm","aman","amap","amass","amb","ambient","ambientcrocswapdexexp","ambigu","ambir","amend","amid","amierc7702","aml","amm","ammbase","ammbasex18","ammequilibrium","ammliquidationdeadline","ammo","ammpairs","ammplifi","ammquote","ammquotex18","amms","ammtoken","ammunit","amnt","amntin","amo","among","amort","amount","amount0","amount0current","amount0delta","amount0desired","amount0in","amount0infee","amount0inunitliqx64","amount0max","amount0min","amount0out","amount0owed","amount0v2","amount0v2tomigrate","amount0v3","amount1","amount1current","amount1delta","amount1desired","amount1in","amount1infee","amount1inunitliqx64","amount1max","amount1maximum","amount1min","amount1out","amount1owed","amount1v2","amount1v2tomigrate","amount1v3","amount2","amount22","amount_","amounta","amountadded0","amountaddedvalue","amountafter","amountafterfee","amountafterfees","amountaftertax","amountain","amountallocated","amountamin","amountaout","amountavailable","amountb","amountbefore","amountbmin","amountbnb","amountbnbliquidity","amountbnbmarketing","amountbnbmin","amountbnbteam","amountborrowed","amountborrowedwithfee","amountbought","amountbout","amountbtogo","amountbunnytomint","amountbunnytomintforbunnybnb","amountburn","amountcalculated","amountcantbezero","amountcheck","amountclaimed","amountcollected","amountcollected0","amountcollected1","amountcontract","amountcountdeadbnb","amountcrossmin","amountdeadbnb","amountdeadfee","amountdelta","amountdeposit","amountdeposit1","amountdeposit2","amountdeposited","amountdepositedwei","amountdividend","amountdoublesell","amountehxtotransfer","amounterror","amounteth","amountethin","amountethmin","amountethrecived","amountethstaked","amountfee","amountforcontract","amountforlinkfee","amountforuser","amountfromborrowed","amountfrombuffer","amounthunnytomint","amounti","amountin","amountinabovemax","amountindelta","amountineth","amountinmax","amountinmaximum","amountinmono","amountinput","amountinraw","amountinsatoshis","amountinswap","amountintoken","amountinunderlying","amountinusd","amountinvite","amountinwithfee","amountld","amountleft","amountliquidityfee","amountlp","amountlpfee","amountmarketingfeetokens","amountmaxsell","amountmin","amountminted","amountmismatch","amountmrp","amountmustbegreaterthanzero","amountnataout","amountnative","amountnativein","amountnativeout","amountnotbezero","amountnote","amountofafee","amountofcollateralneededeth","amountoftokens","amountorid","amountout","amountout1","amountout2","amountoutdelta","amountoutmin","amountoutminimum","amountoutput","amountowed","amountpaid","amountparameterposition","amountperloop","amountperp","amountperpool","amountperstable","amountpluspremium","amountpool","amountpressure","amountquote","amountreceived","amountreceivedld","amountremaining","amountrepaid","amounts1","amounts2","amounts_","amountsbefore","amountscaled","amountscaledseen","amountsd","amountseized","amountseizeerror","amountsent","amountsentld","amountsenttovaultcollateral","amountshare","amountsin","amountsold","amountsout","amountsp","amountspecified","amountspecifiedremaining","amountstaked","amountsynth","amountt","amounttemp","amounttickets","amounttkn","amounttkndepositing","amountto","amounttoborrow","amounttoburn","amounttobuy","amounttobuyleftusd","amounttoclaim","amounttodead","amounttodecreaseineth","amounttodeduct","amounttodeposit","amounttodepositafterfee","amounttodistribute","amounttoken","amounttoken0","amounttoken1","amounttokendesired","amounttokenin","amounttokenmin","amounttokenout","amounttokenrecived","amounttokens","amounttokensminted","amounttokenstaked","amounttomint","amounttomintwad","amounttoohigh","amounttoolow","amounttopay","amounttoreceive","amounttosell","amounttosellunits","amounttosend","amounttostake","amounttosupplyorreedem","amounttoswap","amounttotal","amounttowithdraw","amountu","amountunstaked","amountuout","amountusd0","amountusd0ppin","amountusdc","amountusdt","amountusdtall","amountvalue","amountvested","amountvusd","amountwei","amountwithoutfee","amountx","amountx18","amountxdelta","amountxsharedecimals","amout","amp","amphor","ampkashi","ampl","ampleearn","ampli","amplif","amplifi","amplification_","amplytokensrecipient","ampshare","amptokensrecipient","amt","amt0","amt1","amt18","amtbusd","amtcollateraltopay","amtin","amtkr","amtoolow","amtout","amtperepoch","amttorepay","amtunderlyingtopay","analog","analogu","analysi","analyt","ancestor","anch","anchexp","anchor","anchorbin","anchorprice","anchortoken","anchtoken","anci","ancient","anciliainc","ancillari","andi","andn","andola","angl","angri","angstrom","anim","animationurl","ankr","ankrbnb","ankrflow","ankrflowsupplycap","annex","annihil","annoi","annot","announc","annual","anoint","anomal","anomali","anonym","anoth","anotheraddress","answer","answeredinround","answerexpiration","ant","anti","anticip","antipattern","antisandwichhook","antisnipattackpositionmanager","anvil","anvilstate","any2","any2evmmessage","anyaccount","anyaddress","anyamount","anyapproveduser","anyapprover","anybodi","anycal","anydebt","anyexecute","anymor","anyname","anyon","anyswap","anyswapout","anyswapoutunderlying","anyswapoutunderlyingwithpermit","anyswapoutunderlyingwithtransferpermit","anyswapv1erc20","anyswapv3erc20","anyswapv4router","anyswapv5erc20","anytarget","anyth","anytim","anytoken","anytokens","anyuser","anyuserwhoapprovedus","anyvcrv3","anyvcrv3crypto","anywai","anyweth","anywher","ao","aout","ap","apart","apc","apcout","apctoken","apctoken2aa504","apcusdtpair","ape2","apecoin","apecoinstaking","apedao","apedaoexp","apemaga","apepair","apepool","apestaking","apestaking1","apestaking2","apeswap","api","api3","apig","apigexp","apiid","apis","apo","apollo","apollon","apollox","apolloxredeemdata","app","appar","appear","append","appendduplicate","appl","appli","applic","applicablegas","applicablevalue","applier","applyburn","applydividendfee","applyentropy","applyfactor","applyfeeview","applyforsenate","applylosses","applyratio","applyrebalforproportions","applysingleredemption","applyslippage","applystake","applyswapsandpassiverebal","applytransactval","appoint","apport","apportion","appproxyupgradeable","apprais","appreci","approach","appropri","approv","approva","approvalall","approvaldata","approvalfailed","approvalp","approvalsignaturehash","approveandcall","approveborrow","approvecredit","approvedaddress","approvedamount","approvedbyea","approveddelegates","approvedelegation","approvedexecuted","approvedjarconverters","approvedoldstaking","approvedplugins","approvedpurchaseamount","approvedrouters","approveerc20","approvefailed","approvefor","approvefuncselector","approveifrequired","approvemax","approveproxy","approveredeemrequest","approvesafemodification","approveto","approvetoken","approvetokens","approvewithsignature","approx","approxa","approxb","approxim","approxparams","appstorage","apr","aprbps","april","aprinbps","aprs","apt","apx","apxeth","apylock","aquif","aquifi","ar","ara","araexp","aragon","arb","arbiscan","arbit","arbitr","arbitrag","arbitrageur","arbitrari","arbitrarili","arbitraryaddress","arbitrarycall","arbitrarycaller","arbitrarydata","arbitraryfrom","arbitraryhash","arbitraryuser","arbitrum","arbitrumswaps","arc","arcadia","arcadiafiexp","architect","architectur","archiv","arcinner","arctan","area","arelps","aren","arena","arenaplay","arg","arg0","arg1","arg2","arg3","arg4","arg5","argent","argentreplayattacker","argsbs","argsoffset","argssize","argu","arguabl","argument","aria","aris","arith","arithcontract","arithlib","arithmet","ark","arkbalance","arkham","arkouda","arkproject","arm","armabl","armada","armadacrowdfund","armor","aro","arosexp","around","arp","arr","arrai","arraki","arrakisvaultv1","arrakisvaultv1d68b05","arrang","arraylength","arraymutation","arriv","art","artaddr","artbyurihash","artdata","artefact","arth","arthusd","artid","artifact","artifici","artist","artiststake","artnft","artpiece","artpiecemetadata","as4626","ascend","asd","asdcrv","asdoft","asdrouter","asg","asgamount","ash","ashbud","asid","ask","asker","askfilled","askquestion","asksettling","asmaths","aspir","assembl","assequentialset","assert","assertagentownership","assertapproxeqabs","assertapproxeqrel","assertdatafor","asserteq","assertge","assertgovernanceapproved","assertgt","asserthost","assertlt","assertresults","asserttrue","assess","asset","assetactiontype","assetadded","assetaddr","assetaddress","assetamount","assetamounts","assetbalance","assetbalances","assetborrow","assetclass","assetclasses","assetclassid","assetclassshare","assetcollateral","assetdata","assetdecimal","assetdecimals","assetfeedermap","assetharvestingcontract","assethash","assetid","assetids","assetin","assetindex","assetindexes","assetinfo","assetinlp","assetlib","assetlogic","assetmanager","assetmapping","assetof","assetout","assetpair","assetpoolstatus","assetprice","assetpricer","assetprices","assetregistry","assetregistryp1","assetreturned","assetriskparams","assets_","assetsaccountant","assetsallocatedtostrategies","assetsbefore","assetsdiscount","assetsforwant","assetshareratio","assetsin","assetslashinghandlers","assetsmapped","assetsout","assetspershare","assetspersubject","assetsplusyield","assetsreceived","assetsreceivedfromdepositpool","assetsreceivedfromstrategy","assetsref","assetssources","assetsstates","assetstates","assetstoadd","assetstodeposit","assetstomint","assetstooffer","assetstopool","assetstorage","assetstoredeem","assetstotoken1","assetstotransfer","assetstouser","assetstowithdraw","assetsupply","assetsvault","assetswapped","assetto","assettoken","assettopricegetter","assettoswapfrom","assettoswapto","assettotaldeposits","assettransferonloanaction","assettype","assetuser","assetvalueinusd","assign","assignedprover","assignemissary","assignmenthooks","assist","associ","associatedsmartwallet","assort","assum","assumpt","ast","asteth","astexp","astrid","astridexp","astridprotocol","astrolab","astronom","astsushi","asugar","asuint256","asunitlessnumber","asweivalue","asymmetr","asymmetri","asymptot","async","asynchron","asyncsynthvault","at","ata","ath","athbalance","athlet","atk","atkexp","atkreserve","atktoken","atl","atleast","atm","atmblindboxhelper","atmexp","atmlpburnexp","atmtoken","ato","atohook","atohooka10de7","atoken","atokenaddress","atokenamountin","atokens","atom","atomicgreen","atomiclending","atomicprice","atomicqueue","atomicrequest","atomicrequestfulfilled","atomicsolverv5","atomicvaultlogic","att","att1","att2","attach","attachdelegation","attachednftid","attack","attack1","attack2","attackcontract","attackcontract1","attackcontract2","attackcount","attacker1","attacker2","attackeraddress","attackerafter","attackeramount","attackerbalance","attackerbefore","attackerc","attackerc1","attackerc2","attackerca","attackercb","attackercc","attackerchosenrecipient","attackercontract","attackerdaiafter","attackerdaibefore","attackerdata","attackerdeployed","attackerdeposit","attackereoa","attackerethafter","attackerethbefore","attackergain","attackerhelper","attackerholdings","attackerimpl","attackerlist","attackerlogic","attackermodule","attackerpool","attackerpower","attackerprofit","attackerprover","attackerraise","attackerreceived","attackerreceiver","attackerrecipient","attackerrecv","attackerrouter","attackerseizer","attackersigner","attackersink","attackertcrbalance","attackerusdcegain","attackerusdcgain","attackerusdtprofit","attackervault","attackerworker","attackfill","attackhelper","attackimport","attackpair","attackreceiver","attackreleased","attackschedule","attacktx1","attacktx2","attc","attempt","attemptslash","attest","attestationsreceived","attestor","attestorindex","attestorslength","atto","attodecimal","attodecimallib","attract","attribut","auction","auctionactive","auctionbidaddstimer","auctionbidstepprecesion","auctionbidstepshare","auctiondebt","auctionedsellamount","auctionended","auctionendtime","auctionendtimestamp","auctionhouse","auctionid","auctioningtoken","auctionlockcollateral","auctionlocker","auctionrecoveryhealthfactor","auctionstarttimer","auctionsurplus","auctionunlockcollateral","auctionvaliditytime","auctionwithbuyoutloanliquidator","auctu","audio","audit","audit3","auditor","auditvault","audiu","audiusadminupgradeabilityproxy","audiusexp","aug","augment","augur","august","augustu","augustusregistry","augustusrfq","augustusswapper","augustusv6","aum","aumaddition","aumdeduction","auminusdg","auminusdp","aur","aura","aurellion","aurexp","aurum","aurumnodepool","ausdc","ausdcusdclp","ausdt","auth","authcountof","authent","authenticatefor","authgemjoin5","authgemjoin50a5964","author","authoris","authorit","authorizationexpired","authorizedcaller","authorizedfor","authorizedopenpacket","authorizedpool","authorizedsigner","authorizedspender","authorizedwlsigner","authorizehubbymanager","authorizeupgrade","authp","authproof","authquotaof","authquotas","auto","auto1","autoaddlp","autoassignfees","autoassigntreasurysplitpercentage","autoburn","autoburnliquiditypairtokens","autodeflation","autodeposit","autoindex","autoliquiditypairtokens","autoliquidityreceiver","autom","automat","automatedmarketmakerpair","automatedmarketmakerpairs","automatedtrigger","automationmaster","autonola","autonom","autonomint","autonukelp","autopooledtradingbot","autoquotaperiod","autoquotaratio","autorelockdisabled","autosellnukelp","autoswap","autoswapandaddtomarketing","autotopup","autotopupsubaccount","aux","auxiliari","av","avai","avail","availableamount","availablebalance","availableborrowable","availableborrows","availableclaim","availablecollateral","availablecollateralindiamond","availablefunds","availableliquidity","availableliquidityafter","availableliquiditybefore","availablepayouttoken","availableprincipal","availableprofit","availablereward","availablerewardreserve","availablerewards","availablerouters","availableshares","availablestable","availabletokens","availableusd","avalanch","avalanchel1middleware","avatar","avax","avd","aventa","aventarewardclaim","aventarewardclaimbatch","aventarewardclaimhelper","averag","averagebuyprice","averageprice","averagewithdrawprice","avert","avg","avgbaseassetinlp18","avgbuyprice","avgfumsellprice","avgliquidationthreshold","avgprice","avoid","avusdc","aw","awai","await","awaken","awar","award","awardminingemission","aweeth","aweth","awhype","ax","ax96","axelar","axelarexpressexecutablewithtoken","axi","axioma","axiomapresale","axion","axl","axlusdc","axt","aztec","aztecconnect","aztecescapehatchexp","aztecprotocol","aztecrollup","azuki","azukidao","azukidaoexp","b0","b09","b098","b0aeae","b0bac262","b0baf","b0f34b","b1","b10","b16","b177","b177e","b1faeac6","b2","b20a0b6f","b20eecf3","b24","b24d","b25","b2bd16ab","b2c0","b2d05e00","b2f","b3","b34b101f","b3b1","b3b251b4","b3e1496","b4","b422ac07","b458","b46","b468","b46f","b48","b5","b51b95","b58f","b5b6","b5cb","b5cb0555","b5d9","b5f","b6","b664","b6fd","b7","b70c79f4","b72f","b78","b7a5b156","b7e1","b7f0","b8","b806e","b846","b847","b849","b85","b85c","b8dc09","b8f","b9","b94793","b953","b95ae97","b986284c","b9922","b9c7","b9d1","b9f48","b_","ba","ba2098","ba3","ba33","ba381f8f","ba3c","ba5","ba5c","baa","babi","babydog","babydoge","babydogecoin","babydogecoin02exp","babydogecoinexp","babydogelibrary","babydogerouter","babydogeswap","babydogetowbnbinfarmzap","babydogetowbnbinpancake","babylibrary","babylibrarysmartrouter","babyloogn","babyloognnft","babyreserve","babysmartrouter","babyswap","babyswapexp","babyswapfactory","back","backdat","backdoor","backedasset","backedtokenid","backend","backer","backfil","backingamount","backingcollateral","backingpershare","backingtoken","backinplace","backlog","backlp","backport","backrun","backslash","backstop","backunbacked","backward","backwardsspans","bacon","bad","badassets","badcod","badd","baddaiout","baddebt","baddebtrealized","badger","badgerdao","badguysbyrpf","badguysbyrpfexp","badinteractionresponse","badli","bafe5","baff","bag","baghold","bai","bait","bake","baker","bakerfi","bal","bal0","bal1","bal2","bala","balan","balanac","balanc","balance0","balance0adj","balance0adjusted","balance0after","balance0before","balance0new","balance0old","balance1","balance1adj","balance1adjusted","balance1after","balance1before","balance2","balance_","balancea","balanceaave","balanceadapters","balanceadjusted","balanceafter","balanceafter0","balanceafter1","balanceafterassetfrom","balanceafterinteraction","balanceaftertransfer","balanceattacker","balancebefore","balancebeforeassetfrom","balancebeforeassetto","balancebeforerepay","balancechange","balancechangepershare","balancechanges","balancecheckpoints","balancecompoundintoken","balancecontract","balancedecreaseallowed","balancedelta","balancedvault","balancedydx","balancefrom","balancefulcrumintoken","balanceinafter","balanceinbefore","balanceincrease","balanceinlock","balanceinterval","balanceleftforinterval","balancelog","balancemanager","balancen","balancenf","balancenotenough","balanceof","balanceofallnfts","balanceofandtotalsupply","balanceofat","balanceoferc20","balanceofgrownstalk","balanceoflp","balanceofnft","balanceofnote","balanceofotherbep20token","balanceofpool","balanceofreceiver","balanceofself","balanceofstake","balanceoftokenat","balanceofvault","balanceofwant","balanceofy","balanceofyycrv","balanceofyycrvinycrv","balanceofyycrvinytusd","balanceoldtoken","balanceoutafter","balanceoutbefore","balanceowner","balancepath1","balancepath2","balancer20200628exp","balancercallbackexploit","balancerecipient","balancerexp","balancerpool","balancerpoolid","balancerstrategy","balancerswap","balancertoken","balancerv1bpoolexp","balancerv1joinswaproundingexp","balancerv2exp","balancervault","balances0","balances1","balancesbefore","balancesbeforeinteractions","balancesfrom","balancesfromnew","balanceslot","balancesofowner","balancestaking","balancesto","balancestonew","balancesupdated","balancet","balanceto","balancetracker","balanceusdc","balanceusddecimal","balanceusdt","balbefore","bali","ball","ballgam","balloon","ballot","balmi","baloeth","balpair","balthis","baltoken","balweth","bamboo","bambooai","bambooaied5678","bambooexp","bamount","ban","banana","bananaswaptoken","bancor","bancornetwork","band","bandconfig","bando","bandoerc20fulfillablev1","bandofulfillablev1","bandofulfillmentmanagerv1","bandorouterv1","bang","bank","bankbalance","bankbalanceof","bankdiamond","bankrol","bankroll","bankrollnetwork","bankrollnetworkexp","bankrollnetworkstack","bankrollnetworkstackplus","bankrollstack","bankrupt","bankruptci","bankruptcytime","bankstakingreward","bankx","bankxlibrary","bankxrouter","bannedblspublickeys","banner","banof","bao","baoeth","baoexp","bar","bare","baretoken","barl","barlei","barleyfinanceexp","barn","barnbridge","barrier","barter","base","base100","base64","base8","baseaccount","baseaddress","baseamount","baseamounts","baseasset","baseassets","basebalance","basebalancenotenough","basebebopsettlementattack","basecacheexpiretime","basecachelastupdated","basecallback","basecreditlimitrate","basecrosschainparams","basecurrency","basecurrencyunit","basecustomcurve","basedec","basedecimals","basedelta","basedivider","basedtoken","basefe","basefee","basefee_","basefeeadjustmentquotient","basefeed1","basefeed2","basefeerate","basefeevault","baseflow","basegauge","basehook","baseisfraxpair","basel","baseleverageexecutor","baselin","baseloanchecks","baselptoken","baselptokenindex","baselptout","baselstadapter","basemilestone","basemodule","baseorderutils","baseownershipupdatecost","basepair","baseparaswapbuyadapter","basepercent","basepercents","basepersptkn18","basepoints","basepool","baseprice","basepricepool","basequotecannotbesame","baserate","baserateamount","baseratio","baserelayrecipient","baserenegotiationchecks","basereserve","basereserveflag","basereserveqty","basereward","baserewarder","baserewardpool","basescan","baseset","basesetup","basesize","baseslippagehooks","basestaking","basesupertoken","basesupply","baseswap","baseswapcallback","baseswapperuniswapv3","basetimestamp","basetoftleveragemodule","basetoftstorage","basetoken","basetokenaddress","basetokenbalance","basetokendecimals","basetokenid","basetokennotsettled","basetokenprice","basetokenqty","basetokenqtymin","basetokenreserveqty","basetokens","basetokensupply","basetousd","basetousddecimals","basetousdoracle","basev1","basevalidatorscore","basevault","basevaultconversionsample","basevirtualprice","basevirtualpriceprecision","basex18","basi","basic","basicissuancemodule","basicissuancemoduled8ef3c","basicredeemhook","basicselltopool","basictransfer","basicvaultoracle","basin","basispoint","basispointmax","basispoints","basispointsdenominator","basket","basketassets","basketbalance","basketbalances","baskethandlerp1","baskethistory","basketid","basketlibp1","basketmanagerutils","baskettargetweights","basset","bat","batch","batchabl","batchcall","batchclaimfor","batchcommittomint","batchdebt","batchdebtsharesdelta","batchdepositethforstaking","batchdisablesessionkeys","batcher","batchevaluationg1scalar","batchexecs","batchexecutor","batchflashloan","batchharvestmarketrewards","batchid","batchliquidation","batchmint","batchok","batchopeningcommitment","batchoverflow","batchrelease","batchsetmerklerootsstrict","batchswap","batchswapstep","batchtoken","batchtokentransfer","batchtransfer","batchtransferlocktoken","batchupdateaccounttoken","bath","bathhouse","bathtoken","bathv2","batteri","battl","bayc","baycapecoinexp","bazaar","bazaarvault","bb","bb0","bb03","bb04","bb12","bb787d","bbalanc","bbank","bbe3caf","bbf1","bbg","bbl","bbox","bboxexp","bboxtoken","bbswap","bbswapandliquifyenabled","bbt","bbtoken","bbx","bbxtoken","bc","bc0","bc1q","bc3","bc7881","bcb","bce","bcit","bcp","bct","bctexp","bd","bd3","bd7e","bdag","bdagtoken","bdb","bdbao","bdbaoeth","bdbstbl","bdc2","bdd0","bdd077f6","bdex","bdf","bdiv","bdv","bdvfacet","be40","bea90","beacon","beaconchainethstrategy","beaconcontractaddress","beaconupgraded","beam","bean","beandeposit","beanstalk","beanstalkfarms","beanstalkgov","beanz","bear","bearcav","bearcave","bearer","bearn","bearnexp","beat","beatswap","beatxswap","beauti","beautychain","bebop","bebopjamorderfilled","bec","becam","becexp","becom","bectoken","bedrock","bedrockdefiexp","beef","beefi","beefyvault","beefyvaulta","beefyvaultb","beefyvaultv6","beefyzaprouter","beefyzaprouterexp","beefyzaprouterf49f7b","beethoven","beethovenx","beetl","beetlebattlegame","befb1b1","beff5","befh","befhbal","befor","before0","before1","beforeaddliquidity","beforeamount","beforeb","beforebalance","beforecalls","beforedeposit","beforeeth","beforeexecution","beforehand","beforeinitialize","beforeldatransfer","beforelend","beforeredeem","beforeswap","beforeswapbalance","beforeswapdelta","beforeswapreturndelta","beforetoken0","beforetoken1","beforetokentransfer","beforetransfer","beforetransferhandler","beforeu","beforeupdatehandler","beforew","beforewithdraw","beforewithdrawbalance","beforewithdrawexpiredlocks","began","begin","beginera","bego","behalf","behav","behavior","behaviorrevertonerror","behaviour","behind","behodl","beinvit","belief","believ","belong","belowrecoverymodecr","belowx96","belt","beltbnb","beluga","belugadex","bend","bene","benefici","beneficiari","beneficiaryisnottrustful","beneficiaryof","beneficiarywithdraw","benefit","benign","benqi","bento","bentobox","bentoboxtotals","bentoboxv1","beosin","bep","bep20","bep20fpr","bep20interface","bep20token","bep20tokena","bep20tokenaddress","bep20tokenimplementation","bep20tokenimplementationba5fe2","bep20usdt","bera","berabtc","berachain","beraji","besid","bespok","best","bet","beta","beta2","betaclaimed","betadepositcycler","betadistributionamount","betag2","betamount","beth","betid","betrai","betresult","betsize","better","bettoken","bettokenowed","bettor","beur","bevo","bevoexp","bewar","beyond","bf","bf07","bf27","bf4","bf58","bf699b4b","bf7b763d","bf9","bf94","bf99","bfc","bfctoken","bfctokenexp","bfd479c4","bfee","bfor","bgeotoken","bgg","bggsold","bgld","bgt","bgtstaker","bgtvalue","bh","bhexp","bhset","bhub","bi","bia","bias","biasabl","biasof","biconomi","bid","bidaddress","bidamountzchf","bidaskadj","bidaskadjustment","biddata","bidder","bidderwithdraw","bidether","bidindex","bidirect","bidmax","bidpricerevealed","bidsplaced","bidtaken","bidtoken","bif","bifi","bifiexploiter","bifkn314","bifkn314call","bifkn314mintable","big","bigbang","bigbangswap","bigc","bigfi","bigfiexp","bigger","biggest","biglimit","bigpool","biject","bil","bilinear","bill","billabl","billion","billionth","billrefreshed","bim","bin","binanc","binari","bind","bindabl","binder","bindingcontract","bindinternal","bindinvite","bindinviter","bindinvitor","bindparent","bindreferral","bindreferrer","binemon","binemonexp","binsset","bip","bips","bipseedgauge","bir","bird","birdwallet","biswap","biswaplibrary","biswappair","biswaprouter","biswaprouter02","biswaprouter023a6d8c","biswapv2router","bit","bitallx","bitallxpayout","bitallxpayoutattack","bitallxsc","bitallxsca5f372","bitbay","bitcoin","bitcrown","bitcrowndistributor","bitcrowninitcodeexploit","bitdog","bite","bitfield","bitmap","bitpaidio","bitpaidioexp","bitwis","biu","biz","biznessexp","bl","black","blackaddr","blackaddress","blackgold","blackgoldmigration","blackhol","blackhole","blackholelp","blacklist","blacklistaccount","blacklisted","blacklistprotocol","blacklistswitch","blackscholespricebinary","blacksmith","blackwholerate","blake2b","blake2f","blame","blameless","blank","blanket","blast","blastapi","blastfomo","blastfomovault","blastround","blc","bled","bleed","blend","bless","blind","blindbox","blinder","blindli","blk","blm","bloat","blob","block","blockac","blockaid","blockamount","blockburnswitch","blockcalcamount","blockchain","blockcontext","blockdag","blockdelay","blockdelta","blockdiff","blocker","blockhash","blockhashs","blockinglzreceive","blocklist","blockmultiplier","blocknum","blocknumber","blockoflastrestructureorliquidation","blockrazor","blockremaindburnamount","blockremaining","blocksec","blockselapsed","blockslope","blockstart","blockswaplab","blocksyncthreshold","blocktimestamp","blocktimestampdeposit","blocktimestampinseconds","blocktimestamplast","blocktotalamount","blocktotalfuturevalue","blog","blow","blown","blowup","blp","blsincorrectinputmessaage","blsinvalidpublickeyorsignaturepoints","blsprecompilegascost","blspubkey","blspublickeyofknot","blt1","blt2","blt3","bltt12","blue","blueberri","blueprint","blueprintv5","blunt","blur","blurexchange","bmath","bmi","bmibal","bmiconstituents","bmiconstituentsweightings","bmizapp","bmizapper","bmizapper4622af","bmizapperexp","bmul","bmx","bn","bn128","bn254","bnb","bnb48","bnb48mevbotexp","bnbaddress","bnbamount","bnbamountbefore","bnbamounttobuy","bnbbalance","bnbdeposit","bnbeve","bnbin","bnborusdt","bnbp","bnbpaymentreceiver","bnbprice","bnbprofit","bnbreceived","bnbreserve","bnbtobusdt","bnbtorfb","bnbusd","bnbusdfeed","bnbvalue","bnbx","bnbxexp","bno","bnoexp","bnt","bo","board","bob","boba","bobexp","bobo","boboboy","bobposid","bobshares","bobstaking","bobtokenid","bobvaultshare","boc","bodi","bogu","bohm","boi","boilerpl","bojrecoveryhelper","bold","boldamount","boldlot","boldpriceinusd","boldtoken","bolt","bomb","bond","bondabl","bondamount","bonddata","bondfee","bondfixedexpiryteller","bondfundamount","bondfundfee","bondholders","bondid","bondingcurve","bondingcurvesupply","bondingcurvetotalamount","bondlist","bondmakercollateralizedeth","bondmustdouble","bondnotredeemable","bondprice","bondpricer","bondtokenimplementation","bondtokens","bondtoreturn","bone","bonfir","bonfireswap","bonfireswap17e801","bonfireswapexp","bonq","bonqdao","bonqdaoexp","bonu","bonus","bonusamount","bonusbal","bonusballmax","bonusbps","bonusfromaddress","bonusindex","bonusloot","bonuspercent","bonuspool","bonusrewardtable","bonussend","bonusstakingpower","bonustoken","bonustokens","bonuswrapper","bonzo","boo","boobi","book","bookedeth","bookend","bookida","bookkeep","bookkept","bookkey","bookkeya","bookkeyb","bookmanager","bool","boolean","booreserve","boost","boostabl","boostalreadydelegated","booster","boosthook","boosthook3db1eb","bootstrap","bootstrapcall","bor","bore","borewell","boringbatchable","boringrebase","born","borpa","borr","borrextrainfos","borrow","borrowable0","borrowable1","borrowableamountfrom","borrowall","borrowallowance","borrowallowancedelegated","borrowallowed","borrowalreadyliquidated","borrowamount","borrowamountcap","borrowamountfrom","borrowamountmax","borrowamountwithfee","borrowamtneededtoswap","borrowandwithdrawmax","borrowassets","borrowatmaturity","borrowbalance","borrowbalance0","borrowbalance1","borrowbalancecurrent","borrowbalances","borrowbalancestored","borrowbalancestoredinternal","borrowbalancetargeunderwaterasset","borrowbehalf","borrowbnb","borrowbps","borrowcap","borrowcaps","borrowcashnotavailable","borrowcomptrollerrejection","borrowcrosschain","borrowedamount","borrowedasset","borrowedassetlisted","borrowedeth","borrowedl","borrowedltoken","borrowedsum","borrowedwei","borroweramount","borrowerdelta","borrowerdeposit","borroweroper","borroweroperations","borroweroperationsv6","borrowerops","borrowerrouterrole","borrowershortfall","borroweth","borrowexactamount","borrowfee","borrowforcrosschain","borrowfresh","borrowfreshnesscheck","borrowfrom","borrowfromallcauldrons","borrowguardianpaused","borrowhelper","borrowindex","borrowingenabled","borrowingfeeamount","borrowingfeeamountforfeereceiver","borrowingfeereceiverfactor","borrowingfeereceiverfactorstored","borrowinternal","borrowleverage","borrowlib","borrowlimit","borrowlimitusp","borrowliquidated","borrowliquidation","borrowlogic","borrowloop","borrowmarketstate","borrowmax","borrowmaxamount","borrowminamount","borrowopeningfee","borrowopeningfeeprecision","borroworder","borrowordercreated","borroworders","borroworderscount","borrowovercollateral","borrowpart","borrowpartperaddress","borrowpaused","borrowpercent","borrowpool","borrowprecision","borrowrealreserves","borrowshare","borrowsharepriceafter","borrowsharepricebefore","borrowshortfall","borrowsingleloan","borrowswapoutput","borrowtaken","borrowtoken","borrowtokenbuytax","borrowtotalamount","borrowusdc","borrowusdcto","borrowusdito","borrowvalue","borrowvars","borrowwithinterest","borrowwithinterestsame","boss","bossexp","bossreserve","bot","botbusd","botch","botcheck","botexp","bother","bottom","botusdc","botusdt","botwbnb","bought","boughtamount","boughtusdc","bounc","bound","boundari","boundedpriceoracle","bounti","box","bp","bpair","bpdenominator","bpool","bposit","bpow","bppumpratio","bprotocol","bps1000000","bpsdenominator","bpsscale","bpt","bptamountin","bptamountout","bptbalance","bptin","bptindex","bptmultiplier","bptout","bptprice","bpts","bptsupply","br","bra","brace","bracket","braexp","brah","brahma","brahtopg","brahtopgexp","brain","brake","branch","branchroot","brand","brandpad","bratoken","brawl","breach","breadth","break","breakdown","breaker","breath","brequir","bribe","bribestart","brick","bridg","bridge4","bridgeabl","bridgeabstract","bridgeburnaddress","bridgeccip","bridgedamt","bridgedetails","bridgedtoken","bridgedtokenamount","bridgeduser","bridgefacet","bridgefor","bridgefunds","bridgeless","bridgemint","bridgeminter","bridgeout","bridgeparams","bridgereceivedasset","bridgerouter","bridgesendhash","bridgesendpayload","bridgeswap","bridgetarget","bridgeuser","bridgev2","bridgewithpayload","brief","briefli","bring","bringunusedethbackintogiantpool","brittl","broad","broadcast","broader","broke","broken","broker","brokerag","bron","brond","brone","bronnum","brontransfer","bronz","brought","browser","brun","brute","bs","bsc","bscex","bscexdeployer","bscscan","bscswap","bscswapcall","bscswapfactory","bscswaplibrary","bscswappair","bscswaprouter02","bscusd","bscusdt","bscusdttokencontract","bscv5","bside","bsign","bstbl","bstethstable","bsub","bt","btc","btc20","btc20exp","btc20wethpair2","btc24","btc24h","btc24hexp","btcb","btcbbusd","btcfeed","btcmt","btcusd","btcwftmaddress","btl","btnft","btnftexp","bto","btoken","btokenbalance","btp","btrfly","btt","btttoken","btx","btxamountout","bubai","bubaiexp","bubbl","bubblesort","buck","bucket","bucket1","bucketbankrupt","bucketbankruptafterdeposit","buckettake","bud","budget","budgetleft","buff","buffamount","buffer","bufferbase","bufferbinaryoptions","bufferbinarypool","buffereth","bufferethcache","bufferrouter","buffertofill","bug","bugfix","buggi","buggyclaimed","bui","build","builder","builderadmin","builderwallet","buildfexp","buildmsgandoptions","buildquestion","buildspol","buildtbtcauth","built","bulk","bullasv2","bump","bundl","bundleid","bundler","bundlesadded","bunicatch","bunn","bunnexp","bunni","bunnihook","bunnihub","bunnybnbamount","bunnybnbpair","bunnyminter","bunnyprotocol","bunnytoken","bunnytokenc9849e","bunnyzap","bunu","bunusamount","burden","burger","burgerswap","burgerswapexp","buri","burn","burn0","burn1","burnabl","burnactions","burnaddr","burnaddress","burnalp","burnamount","burnamountpair","burnamt","burnandwithdraw","burnbatch","burnbatchobject","burnblock","burnbuyfees","burncapdivisor","burncountcid","burncyclelp","burndead","burndebttokens","burndenominator","burndivested","burndyad","burnedefi","burnedfromliquiditypool","burnedfrompool","burnedtokensforeth","burnedunderlying","burner","burnerc721","burnerrole","burnexactliquidity","burnfee","burnfeepercent","burnfeerate","burnfeerewards","burnfew","burnforbase","burnfrom","burnfrompair","burnfrompool","burnfromstakingcontract","burnfungible","burngroupbalances","burnholder","burnhook","burnhour","burninterval","burnliquiditypairtokens","burnlp","burnlpposition","burnlpstoken","burnlptoken","burnlptokensforeth","burnnft","burnnum","burnnumber","burnobject","burnpacketfrominventory","burnpair","burnpairs","burnparams","burnpercentage","burnpool","burnpoolamount","burnpooltokens","burnpoolxsd","burnposition","burnqueuedshares","burnrate","burnrebalancer","burnreceipt","burnreputation","burnsbuild","burnscaled","burnsdefi","burnsellagainstpair","burnsellfees","burnshares","burnshortnft","burnsquidv2amount","burnstoken","burnsub1ethcap","burnswap","burnswappool","burnswbnb","burnsyncexploit","burnsynth","burnt","burntax","burntbubba","burnticket","burntoekn","burntoether","burntoholder","burntoken","burntoken0afterwithdraw","burntokenamount","burntokens","burntokensamount","burntokentodead","burntonoterate","burntoselldeadrate","burntxfee","burnuntil","burnvalue","burnvyper","burnwhennostakers","burst","burv","busd","busdamount","busdc","busdcut","busdholder","busdpaid","busdpair","busdpool","busdt","busdtbhlp","busdtbtcb","busdtbusd","busdtexptoken","busdtmetawin","busdtreserve","busdtsplit","busdtstm","busdttozs","busdtusdc","busdtwbnb","busdtwbnbpair","busi","businesscontract","businessdrequired","businesstrequired","busl","button","buyabl","buyadc","buyaddliqfee","buyaddress","buyallamount","buyamount","buyamounts","buyamt","buyandburn","buyasset","buyatspot","buyauction","buyback","buyback_","buybackamount","buybackamounttmp","buybacker","buybackfroml1","buybackincrement","buybacklkdandtreasurypercentage","buybackpotbnb","buybackreserve","buybackvalue","buybnbamount","buybond","buyburned","buybyadmin","buybybnb","buycalldata","buycar","buycount","buycoupon","buydei","buydestroyfee","buyeddddd","buyer","buyeractor","buyercontributioncoefficient","buyerfeerate","buyerinfo","buyeth","buyethamount","buyfee","buyfeeamount","buyfeebps","buyfeerate","buyfiat","buyfor","buyfromcex","buyfromdex","buyfromsupply","buygames","buygamesfrom","buygamesinfo","buygem","buygood","buyhex","buyindex","buyinfo","buyingprohibited","buyitem","buyjay","buyjaynonft","buyjaywitherc721","buyleverage","buylptokens","buyminer","buynft","buynfts","buynode","buynow","buynowprice","buynst","buyonparaswap","buyorders","buyorsell","buyout","buypenguin","buyper","buypercent","buyprice","buypublicoffer","buyquote","buyres","buyrewardtokenpath","buyroute","buysbt","buysharecred","buyshares","buyshareswithreferrer","buysuccess","buyswap","buytax","buytaxfee","buytaxpercentage","buytaxto","buytoken","buytokenamap","buytokenamount","buytokenandfees","buytokenfeerate","buytokenocp","buytokens","buytokensanddepositonbehalf","buytokensinvalidlength","buytokentypehash","buytotalfees","buytru","buyulm","buyusdp","buyussdsellcollateral","buywithbnb","buywitheth","buywithethdynamic","buywithusdt","buyxdkwithgpcuntilspent","bvault","bvaults","bvaultsbank","bvaultsstrategy","bvt","bwbtc","bweth","bx96","bxh","bybit","bybitexp","byholder","byoperator","bypass","byte","bytecod","bytes1","bytes12","bytes16","bytes20","bytes28","bytes29","bytes32","bytes32toaddress","bytes4","bytes5","bytes9","bytestoaddress","bytesutil","bytoken","bytokenexp","byzantin","byzantineclosechannel","bzx","bzxexp","bzxiusdc","c0","c01","c01a","c02aaa39","c042","c04386","c05c","c0de","c0ffeebab","c1","c11","c15","c15d","c170","c19","c1a2f0550","c1b1ef56","c1c2ef","c1cf","c1d","c1e2","c2","c214","c23","c24","c2a","c2c566","c3","c302","c31","c31c","c3298fa","c38","c38c","c3a755","c3ab","c4","c428","c45","c453","c47","c4da","c5","c547","c566","c599","c5cf","c60a","c669","c6c9","c7","c70","c712","c712c8","c75a","c75e","c761","c768f","c78","c78ba3","c79","c8","c86","c88c","c8c85a","c8e","c9","c90c93","c96","c9849","c9c8","c9f27","c9f9","c9fc5a","ca","ca0","ca0e","ca11","cabal","cach","cacheassetprice","cachedassets","cachedblockhash","cachedpool","cachedpoolkey","cachedproject","cachedreserve","cachedstake","cachedwithheldeth","cacheliquidatableaccountsids","cachetokenratesifnecessary","cacl","caclinvitelimit","caclitem","cacul","caculatesellburntoamount","cadenc","cae6d7","caff","cage","cairo","cake","cakebalance","cakelp","cakevault","cakewbnb","cal","calbooster","calc","calc1559","calc1559basefee","calcamount","calcamountafterfee","calcandcachestakes","calcbaseamountsellquote","calcborrowbalance","calcborrowinterestindex","calcbptoutgivenexacttokensin","calcbuycost","calcdepositinterestrate","calcdiscount","calcdistroy","calcfeewithprecision","calcfinalprice","calcinterestamount","calcinvariant","calcliquidityshare","calcliquidityunits","calclptokensupply","calclptokenunderlying","calcmainoutperbptin","calcnewreservestake","calcoutgivenin","calcpendinguser","calcpnl","calcpool","calcpooloutgivensinglein","calcpoolvalueintoken","calcposition","calcprice","calcpriceandleverage","calcquoteamountsellbase","calcrate","calcreachamount","calcredeemproportional","calcreserve","calcshares","calcsincelastposition","calcsingleingivenpoolout","calcsingleoutgivenpoolin","calcstableborrowbalance","calcstableborrowinterestrate","calcstepincome","calcsupply","calcswapoutput","calctokenamount","calctransferfees","calcul","calculateaccrual","calculateaccum","calculateaddressactivestake","calculateall","calculateamounttotransferwithyield","calculateanchorpricefromethprice","calculateandclaimrewards","calculateanddistributerewards","calculateandstorevaultshares","calculateandupdatepower","calculateassetamount","calculatebalance","calculatebasetokenqty","calculatebasetoquote","calculateboost","calculatebpt","calculateburnfew","calculatebuyfee","calculatecollateraltopay","calculatecommitment","calculatecoverrewardsforperiod","calculatedeltaoffsd","calculatedfee","calculatedpayout","calculatedroot","calculatedstate","calculatefee","calculatefees","calculatefeesusd","calculatefillorderinfo","calculategaugeallocation","calculatehealthfactorfrombalances","calculateincentivefeeinflation","calculateinsurancefundfeefromamount","calculateinterestrates","calculatelendingshares","calculateliquidityindex","calculateliquidityrate","calculateltvs","calculatemanagementfeeamount","calculatemaxstakeperiod","calculatemessagehash","calculatemintamount","calculatemintexpansion","calculatemintinterest","calculatemintprice","calculatenewfloorbin","calculatenewrewards","calculatenewunitshares","calculatenextsetnewunitshares","calculateoperatorshare","calculatependingrewards","calculatepersecondperuserreward","calculatepersecondreward","calculatepremium","calculateprice","calculatepriceincrease","calculatepurchasereturn","calculateqtytoreturnafterfees","calculatequote","calculateratex64","calculatercomp","calculateredeemdepositstateinit","calculatereferrerrewards","calculateremoveliquidity","calculaterepaysize","calculaterewards","calculateroyalty","calculatesalereturn","calculateschedule","calculateshare","calculateshares","calculatesharestomintfeecollection","calculatesptknperbase","calculatesupply","calculateswap","calculateswapamount","calculatetaxfew","calculatetimelockparams","calculatetotalcost","calculateunclaimedfreefloatingethshare","calculateuseraccountdata","calculateuserearningbyshares","calculateuserlpvalue","calculateutilizationrate","calculatevestedamount","calculatevestingclaim","calculatevoteweight","calculatevotingpower","calculatewithdrawonetoken","calculationfeenum","calculationprofitnum","calcutilisationratio","calcvbprodsum","calcwithdrawonecoin","caldeductfee","caldeductionadc","calendar","calib","calibr","calimrewr","call","call1","call2","call3","callabl","callandtransfer","callas","callback","callbackarmed","callbackasset","callbackcontract","callbackdata","callbackgaslimit","callbacksuccess","callbacktarget","callbackvalidation","callburn","callbytes","callcod","calldata","calldatacopi","calldatafee","calldataload","calldatas","calle","caller","calleraddress","callercode","callercodeaddress","callerfee","callerisalreadyowner","callerisnotlocker","callermodule","callernotbeacon","callernotmanager","callerordelegated","callersuppliedaddress","callersuppliedamount","callersuppliedbytes","callfailed","callfeerecipient","callfunc","callfunction","callgaslimit","calli","callidx","callisvalidsignature","callout","callpath","callpayload","callposttransferhooks","callpreissuehooks","callprice","callrequestcallback","calls","callsucceeded","callsuccess","callto","calltobalancemanagernotallowed","calltokensreceived","calltokenstosend","calltradeaftercallback","calltyp","calltype","calltypedelegatecall","calltypesingle","calluniswapv3mintcallback","calluniswapv3poolsswapexactamountout","callvalu","callvulnerablecontract","callwallet","calm","calmultiplier","calul","calulategasfees","came","camelot","camelotrouter","camouflag","camount","camp","campaign","campaigncancelled","campaigndata","campaignid","campaignidtodata","campaignparameters","campaignstarted","canautoclaim","canborrow","canbuy","cancall","cancancel","cancel","cancelbid","cancelburn","cancelcampaign","cancelcommitment","canceledamounta","canceledamountb","cancelinbookeddenom","cancelinvoice","cancellationregistry","cancelledwithdrawalamount","cancellerrole","cancellisting","cancelmanyorders","cancelnextbid","cancelorder","cancelorderfarfromoracle","cancelprevioussellorders","cancelredeemrequest","cancelredeemrequestpending","cancelsaleorder","cancelsameepoch","cancelstream","cancelswapintent","canceltradeoer","cancelunwinding","cancelwithdrawal","canclaim","cancompletewithdraw","cancun","candid","candidaci","canexecute","canh","canhamount","canmatchmakerask","canmatchmakerbid","canmint","canminthoneyjar","cannot","cannotburn","cannotcancelmorethan1000orders","cannotcompose","cannotseizeownposition","cannottransferflaggedshort","cannotupdateemptyposition","cannotwithdraw","cannotyetclaim","canon","canonicalerc20","canonicaltoken","canonlyclaimyourshort","canremovecollateral","canrepaydebtfully","canreset","canreward","canrewards","cansell","canshift","canstake","canswap","cant","cantconvertcvxforotheruser","cantina","canto","cantoasdaddress","cantolzeid","cantorefundaddress","cantransfer","cantwithdrawwrappedtokens","canuploadproduct","canwithdraw","cap","capabl","capac","capamountmicros","cape","capit","capitalis","capitalpool","capitalpooladdr","capitalsource","cappedcr","cappedtenth","cappedvalue","capperposition","capreached","captokendecimals","captur","car","card","cardid","cardin","care","carefulli","careless","carelessli","carniv","carol","carolclaim","carolprotocol","carolprotocolexp","caroltoken","caroltoweth","carousel","carri","carrier","carrot","carrotexp","carryvoteforward","carson","cartel","carv","cascad","case","cash","cashabl","cashaccounting","cashadded","cashaddusdminusloss","cashamount","cashback","cashbackclaim","cashcollected","cashcow","cashcowcoin","cashin","cashout","cashoutamount","cashoutcount","cashoutfee","cashoutfrom","cashouttaxrate","cashpayer","cashplusborrowsminusreserves","cashprior","cashreceiver","cashremoved","casimir","casino","casinoinfo","cast","castvote","casual","cat","catalogu","catalyst","catastroph","catch","catchup","categori","caterpillar","caterpillarcoincutexp","caught","cauldron","cauldronmediumriskv1","cauldronv2","cauldronv4","caus","cautious","cave","caveat","cavgprice","caw","cb","cb3","cb3b","cb5a02","cb9","cbalance","cbbtc","cbbtcdecimals","cbbtcprice","cbbtcpriceusd","cbdata","cbeth","cbethbackedtokenid","cbethethlp","cbethethpool","cbethreserve","cbethreservetokenid","cblacklist","cbr","cbridge","cbridgedata","cbtc","cbusd","cbwc","cc","cc0e781","cc10","cc2","cc5","cc58","cc5f","cc6aa6","cc7","cc75ac","cc8a","cc99bba5","cc9c1","ccc","cccbalance","cccoriginal","cccup","ccd","cce","cceheightsandnindex","ccip","ccipreceive","ccipreceiver","cclp","cclpbtcbbusd","ccomp","ccr","cctp","cctptokenmessenger","ccv","ccvexp","cd","cd467","cda1","cdai","cdaiaddress","cdbe","cde4c03ac","cdo","cdp","cdpallow","cdps","cdsdepositdetails","cdslib","ce","ce1b3","ce2c","ce2cfbp","ce2d","ce5","ceas","ced21ba","cedro","cei","ceid","ceil","ceildiv","celer","cell","cellfram","cellframeexp","cement","censorship","cent","center","centersell","centr","central","centralis","centrifug","cerc20","cerc20delegate","cerc20delegator","cerc20immutable","ceremoni","certain","certainli","certi","certif","certik","cesamount","cestokenv1","ceta","ceth","cether","cether23811c","cetoken","cetokens","cex","cexiswap","cexiswapexp","cf","cf0","cf04","cf6","cf6355","cf6357","cf7","cf7a","cf7e","cf8","cf90","cfc","cfd","cfd0","cfd1","cfd2","cff","cffdeposit","cffwithdraw","cfg","cfrax","cftoken","cftokensinglepoolmerge","cgt","ch","chain","chaina","chainandgas","chainb","chaing","chaingefinanceexp","chainid","chainlink","chainlinkadapter","chainlinkadapteroracle","chainlinkbnbusd","chainlinkcompositeoracle","chainlinkdatafeedlib","chainlinkoevwrapper","chainlinkoracle","chainlinkoraclecompositefixed","chainlinkprice","chainlinkpriceoracle","chainlinkv3oracle","chainswap","chainswapexp1","chainswapexp2","challeng","challengerreward","challengeseconds","chamber","chamber2","chanc","chang","change1","changeadmin","changeamount","changeclaimed","changedtokenamounts","changefees","changegaugeweight","changenodeprice","changeposition","changeratio","changerewardpernode","changerouterversion","changesettings","changespherexoperator","changestablecoin","changesupply","changesweight","changeusdc2usdt","changeusdt2usdc","changevotingrule","channel","channelsfinanceexp","charact","charg","chargeaddress","chargeanddistributefees","chargeclaimflatfee","chargedperiod","chargefee","chargefees","chargefull","charger","chargetruefeerate","chariti","charli","chasm","chat","chd","chdoch","cheap","cheapen","cheaper","cheapest","cheapli","cheat","cheatcod","check","checkabl","checkaction","checkactionrestriction","checkafterexecution","checkandenabletrading","checkandsavewl","checkault","checkauthorized","checkbaddebt","checkbalance","checkbalances","checkblock","checkbondingcurvestate","checkbound","checkburnandtransfer","checkcallcode","checkcangetextrapenguin","checkccevalues","checkclaim","checkcleanup","checkcollateral","checkcollateralexist","checkcontract","checkdaydf","checkdeadline","checkdeviation","checkdrawdowneligibility","checkeduntil","checkedwallet","checkeligible","checkenoughliquidity","checker","checkethvalue","checkexists","checkexportandtransfers","checkfirstaction","checkfordonations","checkhealthfactorltv0","checkhealthfactorltv1","checkhodlersell","checkifbeneficiaryisatrustedsafe","checkiffromchaintxexist","checkifstrategy","checkinstructionisallowed","checkinvestment","checkkey","checklink","checkliquidable","checkliquidatableaccounts","checkliquidation","checkliquidationvalid","checkliquidityadd","checkliquidityrm","checklist","checkmaxwallet","checkmigrate","checkmr","checkopen","checkoracle","checkorder","checkout","checkoutpaymaster","checkoutpool","checkoutstate","checkowner","checkownerposition","checkpairing","checkparameters","checkparams","checkperiodrange","checkperiodvoted","checkpermission","checkpertxcap","checkpoint","checkpointcount","checkpointgauge","checkpointindex","checkpointlender","checkpointlength","checkpointmarket","checkpointstart","checkpointtimestamp","checkpointtoken","checkpointtotalsupply","checkposition","checkpricebounds","checkpricechange","checkpricedeviation","checkproof","checkrebalance","checkrecoverymodeviolation","checkredeem","checkregistry","checkreport","checkrequest","checkresolver","checkreward","checkrewards","checkrole","checksafe","checksalestate","checksender","checksignature","checksignatures","checksignparams","checkslippage","checkslippageandtransfer","checksolvent","checkstablecoin","checkstart","checksuccess","checksum","checksumcheck","checkswithdraw","checktrader","checktransaction","checktransfercooldown","checktxlimit","checkunlocked","checkupkeep","checkvaliderc20payment","checkvalidity","checkvalidposition","checkvalidsodiumsignature","checkvaultout","checkvaultstatus","checkwhitelisting","checkzeroassetstorage","chef","chequ","cherri","chest","chew","chi","chicontract","chief","child","childcontract","childer","children","childrenofgainos","chip","chisale","chisaleexp","chisel","choic","chokepoint","choos","choosabl","choreographi","chose","chosen","chosenamount","chosencoinbase","chronic","chrono","chronolog","chronotech","chug","chugsplash","chunk","chunksize","churn","ci","cid","cik","cipher","circ","circl","circleexp1","circuit","circul","circular","circulatingjimbo","circulatingqcd","circulatingsupply","circulatingsupplyvalue","circumv","cit","citadel","citadelfinanceexp","citadelredeem","citadelstaking","cite","citizenship","citrea","citstaking","citstakingaddy","civ","civfund","civfundexp","civnft","civtrade","ck","cktoken","cl","claim","claimabl","claimable0","claimable1","claimableamount","claimableamountofsaletokens","claimableassetfees","claimableassets","claimablecoll","claimablecollateralamount","claimablecollateralamountkey","claimablecollateralfactor","claimablecollateralfactorkey","claimablecount","claimablefactor","claimableflux","claimableof","claimablereferralbonus","claimablereward","claimablerewards","claimablesilo","claimablestakedtokenamount","claimablevotes","claimaccountrewards","claimadmin","claimall","claimallreward","claimallrewards","claimamount","claimanddistributealgebrapoolfees","claimandlock","claimandrequestdeposit","claimandrequestredeem","claimant","claimasemissary","claimasstaker","claimauction","claimaward","claimbeetlefromvictory","claimbonus","claimboostrewards","claimbounty","claimbribes","claimcall","claimcampaigns","claimcollateral","claimcollateralaslender","claimcomp","claimcompandtransfer","claimcontracts","claimcontribution","claimcount","claimcoverrewards","claimcvgcvxmultiple","claimcvgcvxsimple","claimdddd","claimdelegatereward","claimdeposit","claimdividend","claimdpcairdrop","claimduration","claimearned","claimed0","claimed1","claimedamount","claimedamounta","claimedamountb","claimedamountof","claimedby","claimedcollateralamount","claimedcollateralamountkey","claimedprofitperaddress","claimedreward","claimedsnapshots","claimedsofar","claimedvalueinusdt","claimenabled","claimend","claimer","claimerok","claimerreward","claimertobuyers","claimether","claimethrewards","claimextras","claimfee","claimfees","claimfeesfor","claimfixed","claimflatfee","claimflux","claimfor","claimgrandprize","claimindex","claiminterest","claiminternal","claiminterval","claimlend","claimless","claimlockup","claimlockupcreated","claimlockups","claimlucky","claimmessage","claimmultiple","claimmultiplestaking","claimnft","claimnodereward","claimof","claimoperatorfee","claimorder","claimoriginalallocation","claimpaused","claimpayout","claimpayroll","claimpending","claimprimarychainsyncl2txhashmessage","claimprincipal","claimprize","claimprofit","claimprojectfunds","claimproposal","claimprotocolfees","claimquota","claimquotatime","claimredeem","claimreferral","claimreferralrewards","claimrefund","claimrelayerrefund","claimremainingcollateral","claimremaininginterest","claimreward","claimrewardfactory","claimrewardimpl","claimrewards","claimrewardsasnoderunner","claimrewardstoowed","claimrewardtokens","claimsaletoken","claimserviceresults","claimsigner","claimstakelp","claimstakerewards","claimstart","claimstarttime","claimteamreward","claimtime","claimtocredit","claimtoken","claimtoken1","claimtokenfee","claimtokens","claimtvl","claimundistributedrewards","claimup","claimvalueusdt","claimvaultrewards","claimvestedtokens","claimwait","claimwinnings","claimwithdrawal","claimyield","clamp","clarifi","clariti","class","classic","classif","classifi","classshare","claus","clave","claw","clawback","clc","clcoracle","clean","cleaner","cleanest","cleanli","cleanup","cleanusermapping","clear","clearallprices","clearanc","clearcrowdsourcers","cleardeposit","clearer","clearest","clearinghouse","clearinghousecallee","clearlegacyslot","clearli","clearpayer","clearpendingcloseorders","clearpool","clearunusedbond","clearuserwsteth","clever","clgauge","clgaugefactory","clgaugefactoryfixed","cliam","cliamrewred","click","client","clientdepositl1batch","clientpayl1settlement","cliff","cliffamount","climb","clip","clo","clob","clobber","clober","cloblib","clock","clockabl","clone","cloneabl","cloneableproxy","clonedeterministic","clonefactory","clonex","cloprice","closabl","close","closeanytime","closebidtaker","closebounty","closebtcposition","closedcollaterizationrate","closefactor","closefactormantissa","closeposition","closeprivate","closer","closerebalancerequest","closerequestdata","closeshort","closeswapintent","closetime","closetrade","closetrademarket","closetrove","closewindow","closingfeecollateral","closingpositionsize","closingprice","closingtime","closur","closureid","cloud","clp","clpool","clpoolec8e53","club","cluster","cm","cmd","cmeth","cmim","cmpd","cmtransferfailed","cn","cnc","cnccrvusd","cnceth","cnote","cnt","cnuma","co","coalit","coar","coaramount","coarlpamount","coarrewardtime","coars","coarser","coartoken","coartokenid","coco","cocoexp","cod3x","code","code4","code4rena","codebas","codec","codegen","codehash","codehawk","codehawks","codelength","codeless","codes","codifi","coef","coeff","coeffici","coerc","coexist","coher","cohort","coin","coin0","coin02","coin1","coin9419","coinaddress","coinbas","coinbasefeeaccount","coincid","coincident","coinerc20","coinerc20balanceof","coinflip","coinprice","coinspaid","coinsult","cointicket","cointoken","cointrol","coinusdt","col","colamount","colbfin","cold","coldpath","coldtime","coll","collamount","collamt","collaps","collat","collater","collateraladded","collateraladdress","collateralalreadyclaimed","collateralamount","collateralamountrequired","collateralamounts","collateralamounttopull","collateralbalance","collateralbalanceafterdecrease","collateralborrower","collateralchange","collateralchanged","collateralcount","collateraldecimals","collateraldelta","collateraleth","collateralfactor","collateralfactormantissa","collateralfee","collateralfromgtoken","collateralgainsbydepositor","collateralid","collateralin","collateralindex","collateralinorwithdrawn","collateralis","collateraliz","collateralizationrate","collateralizedbalance","collateralizedmint","collateraljoin","collateralltokenb","collateralmath","collateralminted","collateralnotsupported","collateralof","collateralonlydeposits","collateralpenalty","collateralper","collateralpercent","collateralpool","collateralpooladdress","collateralprice","collateralrate","collateralreceived","collateralreceiver","collateralselltax","collateralsent","collateralsenttotrader","collateralsetting","collateralsettings","collateralshare","collateralsource","collateralspiral","collateralstate","collateralstates","collateraltoborrower","collateraltodeposit","collateraltoken","collateraltokenamount","collateraltokenid","collateraltokenprice","collateraltokenpricemin","collateraltokens","collateraltokensent","collateraltoremove","collateraltracker","collateraltype","collateralunit","collateralusd","collateralv","collateralvalue","collaterizationrate","collaterizationrateprecision","collatpenaltybal","collatratio","collatxsd","collbalance","collcount","colldecrease","collect","collect0","collect1","collectandcalccompound","collectcandidacyfee","collected0","collected1","collectedfee","collectedfee0","collectedfee1","collectedswapfees","collectedweth","collectfee","collectfeefromprotocol","collectfees","collectinterest","collectioncheckpoints","collectionid","collectionl1req","collectionl2req","collectionmanager","collectionowner","collectionparams","collectionshutdown","collectiontoken","collectiontransferownership","collectionupgrade","collectionwhitelist","collectlpfees","collectmoney","collector","collectorrole","collectparams","collectrate","collectrefbonus","collectrewards","collectto","collecttokenbalance","collectubiinterest","collid","collis","colllot","collpool","collratio","collratiocompressed","collratiooffset","collrem","colltoken","colltokenamt","collud","collus","collvalue","colmakerxratex128","colmakeryratex128","color","coloss","colpools","colredeemed","coltakeryratex128","column","columnid","com","combin","combinatori","combineshorts","combo","come","comfort","comm","command","commandid","commenc","commensur","comment","commid","commingl","commis","commisionamount","commiss","commissioncontracttoken","commissionedevent","commit","commitblock","commitclock","commitcontroller","commitepoc","commiteth","commitmenthash","commitmentlocked","commitmentlockperiod","commitmentlockstart","commitmessage","commitowner","commitreaction","commitrequested","committ","committe","committedroot","committedseed","committeeid","committeepublickey","committokensfrom","committomint","committorace","commitverification","commnft","common","commondiv","commonli","commun","communityfee","commut","commutativekeccak256","comp","compact","compani","companion","compar","compareshareprice","comparestrings","comparison","compat","compbalance","compens","compet","competit","competitor","compil","complaint","complement","complet","completeauction","completebridging","completedepochs","completelossevents","completequeuedwithdrawal","completestakeupdate","completetransferwithpayload","completevalidatorweightupdate","completewithdrawal","complex","compli","complianc","compliant","complic","compon","componentbalance","componentp1","componentquantities","componentreceived","compor","compos","composableexecution","composableexecutionmodule","composablestablepool","composablestablepoolrates","composablestablepools","composefrom","composemsg","composit","compositedebt","compositeprice","compound","compoundedborrowbalance","compoundedfactor","compoundedliquiditybalance","compounderfinanceexp","compoundfork","compoundingliq","compoundprovider","compoundstrategy","compoundswaps","compoundv2","compoundv3ranges","compress","compromis","comptodaiswappath","comptrol","comptrollere16db3","comptrollerinterface","comptrollerlens","comptrollerstorage","compund","compusdoracle","comput","computationunits","computationunitsavailable","computeaccountaddress","computeaddress","computeamountout","computecostofliquidation","computecreateaddress","computedaddress","computedhash","computediscountedfee","computedpool","computefees","computelongreturn","computematuritydate","computeminimumbalance","computenav","computenewrevenue","computepooladdress","computeshortlambda","computeshortreturn","computeswapstep","computetokenid","computetokens","computeuserhealthratio","computevalidatoruptime","computexp","con","concat","concaten","conceal","concentr","concept","conceptu","concern","conclud","conclus","concret","concurr","condens","condit","condition","conditionaltokens","conduit","conf","confeder","confer","confid","confidenti","confidentialapprove","confidentialapproved","config","config_","configbra","configdata","configid","configmaps","configur","configureepoch","confin","confirm","confirmandcheck","confirmat","confirmdeposit","confirmedstateroot","confirmmint","confirmtime","confirmtransaction","confirmwithdrawal","confisc","conflat","conflict","conform","confus","confuseddeputy","congest","congestionfee","conic","conic02","conic02exp","conicethpool","conicethpoolbb787d","coniclpamount","conicpool","conicpoolv2","conjunct","conjur","conkeeperspkbytes","connect","connector","connectordeleverageparaswap","connectorflashloan","connectorid","connectorid22","connext","connextmessage","conquer","consecut","consensu","consensusclosechannel","consent","consequ","conserv","consid","consider","considerationitem","consist","consol","console2","consolid","constant","constantct","constantproduct2","constantproductlibrary","constantproductpool","constantsutils","constitu","constitut","constrain","constraint","constraintantemax","construct","constructor","constructorclaimhelper","constructtokenuri","consult","consum","consumeoffer","consumpt","consumptionreturnpool","cont","contain","containsdao","containssigner","contamin","contemporan","contemporari","content","contest","contestbond","context","contigu","continu","contract","contract0x1f90","contract0x7657exp","contract0x8d2","contract1","contract2","contract28","contractabccabccapp","contractaddr","contractaddress","contractaddresses","contractadventure","contractbalance","contractbalanceafter","contractbalancebefore","contractbnb","contractbnbbefore","contractcallnotallowed","contractcodelen","contractdeployment","contractethbalance","contractexists","contractf9ff","contractfallback","contractisallowed","contractlist","contractlptbalance","contractmftbalance","contractor","contractorsaddress","contractorsfee","contractowner","contractptmbalance","contractregistry","contracts9419v3","contractsaaveboost","contractsairdropgrapestoken","contractsapestaking","contractsaros","contractsarrakisvaultv1","contractsatmtoken","contractsbananabananaswaptoken","contractsbasecreditpool","contractsbasefeemanager","contractsbaseportfoliov2","contractsbasesecuritymanager","contractsbasesilo","contractsbatchswap","contractsbbg","contractsbean","contractsbifkn314","contractsblackgoldmigration","contractsblacksmith","contractsblindboxv2","contractsbonfireswap","contractsbtc24h","contractsburnsbuild","contractsca","contractsccv","contractscerc20","contractschamber2","contractscitredeem","contractscoco","contractscontrtactegddefi","contractsconvert","contractscorebytoken","contractscoreclpool","contractscorecorkconfig","contractscoredao","contractscorelp","contractscoremodulecore","contractscoreshop","contractscorevault","contractscover","contractscrowdringcircle","contractsctoken","contractsctokencether","contractsctokenctoken","contractscurve","contractscurveswap","contractsdaomodule","contractsdcf","contractsdecentralizedindex","contractsdeeznutz","contractsdelegatorinterface","contractsdemorllpincentive","contractsdiamondsecurityonlyself","contractsdlmctoken","contractsdn404reflect","contractsellamount","contractserc20indexable","contractserc404","contractsfarminglptoken","contractsfarmzap","contractsfhtoken","contractsflattennexusdip","contractsflattennexusnex","contractsfortunewheelfortunewheel","contractsgamegame","contractsgdcgdctoken","contractsgradientmarketmakerpool","contractsgymrouter","contractsgymsinglepool","contractsidolmain","contractsimportsschnoodlev9base","contractsinterestratemodel","contractsjuicestaking","contractskapeape2","contractslaxotoken","contractsldasroyal1155lda","contractslendingplatypustreasure","contractslibertivault","contractsliblsag","contractslibrariesdatafetcher","contractslibrarieslibdiamond","contractslibrariespsmlib","contractslibsolvency","contractslinearmath","contractslinearpool","contractslinearvesting","contractslinkdaodexpair","contractsliquidityliquidityunifier","contractsliquidunstakepool","contractsliquidxv2zap","contractslisanodesubscription","contractslisareferralregistry","contractsloan","contractslpmigration","contractslw","contractsmainhelper","contractsmetametaswaputils","contractsminterproxyv2","contractsmixinssettlelayer","contractsmodulespayments","contractsmonamonatoken","contractsmoovestaking","contractsmubank","contractsmulticall","contractsmulticallwitheth","contractsnft","contractsnftfactory","contractsopborrowing","contractsoracleserc4626oracle","contractsoraclesmasterpriceoracle","contractsotoken","contractspair","contractspancakev3pool","contractspendlecontractsrouterreflector","contractspendlependlestakingbaseupg","contractsperipherydebtmanager","contractsperipheryv3migrator","contractsplvglpplvglptoken","contractspool","contractspoolhegicpool","contractspoolloan","contractsprotoken","contractsreserve","contractsreward","contractsrewardshypervisor","contractsrewardvaultdelegator","contractsrichpiptoken","contractsrollupprocessor","contractsrouteprocessor2","contractsroutersquidmulticall","contractsroyaltiesroyalties","contractsrubicproxy","contractssaturn","contractssettings","contractssettlement","contractssimplepriceoracle","contractssmartnode","contractssodium","contractssquidv1tosquidv2tokenswap","contractsstablephantompool","contractsstaking","contractsstepp2p","contractsstonevault","contractsswapguard","contractsswapmixedswaprouter","contractsswaposv2pair","contractsswaputils","contractstestrant","contractstgbs","contractstlnswap","contractstoken","contractstokenoftv1oft","contractstokenrewards","contractstokensconvertor","contractstokensqwa","contractstokenxtokenwrapper","contractsuniswapforkrouter","contractsuniswapuniswapanchoredview","contractsupports","contractsusm","contractsutilsboringbatchable","contractsvault","contractsverifierturboverifier","contractsversion","contractsvlfiv8","contractsvvisr","contractswebkeysales","contractsweightedindex","contractswetc","contractswifstaking","contractswisecore","contractswiselending","contractswmrp","contractswooppv2","contractswooraclev21","contractswusd","contractsxbridge4","contractsxdk","contractsxnft","contractsxsdpoolsxsdwethpool","contractsxsdxsdstablecoin","contractsxtoken","contractszapsbeefyzaprouter","contractszs","contracttest","contracttoken","contracttokenbalance","contracttousers","contracttype","contractu","contracturi","contractusdtbalance","contractwhitelist","contradict","contradictori","contrast","contribut","contributetotentative","contributioneth","contributionnft","contributionseth","contributionstoken","contributor","control","controlburn","controlclaimed","controllerv4","controlpaid","controlplane","controlstake","controltower","contrtact","conveni","convent","convention","converg","convers","conversionprice","convert","convert128x128","convert128x128pricetodecimal","convertalleth","convertandburn","convertdusttoearned","convertedusdc","converteth","convertfacet","convertfromstrc","convertfromusdat","convertor","convertor6b82fd","convertreportedprice","convertscale","convertsharestoassets","converttoassets","converttolp","converttoshares","converttosharesfromasset","converttosharesfromtotals","converttotokens","converttousd","convertusd0pptotokens","convertusdbalancedecimaltotokendecimal","convertvghst","convertweth","convex","convexpositionhandler","convexrewardpool","convict","convinc","convolut","cook","cool","cooldown","cooldownduration","coop","cooper","coord","coordin","cope","copen","copi","copycat","core","coredao","coreid","coreliquidation","coreliquidity","corelogic","coreof","corerouter","corewithdrawbare","corewithdrawtoken","cork","corkconfig","corkhook","corner","correct","correctcumulativeissuance","correctli","correl","correlatedtoken","correspond","correspondingli","correspondingtoken","corrobor","corroborativeethsymbolcomporator","corrupt","cosign","cosmet","cosmo","cosmosbalance","cost","costbasis","costless","costli","costof","costofliquidation","costpertoken","couldn","council","count","countedafterexit","counter","counterfactu","counterfeit","counterpart","counterparti","countertradecollateraltoreturn","countless","countri","countryhead","countryid","countsubsetmatches","coupl","coupon","couponprice","courtesi","cout","cov","coval","cove","coven","cover","coverag","coveragea","coverageb","coverageinitial","coveragewanted","coverrewards","coverrouter","coversharesburnrequested","covratiolow","cow","cowexp","cowswap","cowswapexp","cozi","cpd","cplv","cplvglp","cpmm","cpp","cpt","cqt","cr","crack","craft","craftabl","crafteddata","craftedto","cramp","crank","crash","crashabl","crater","cratio","crb","crb2","crb2exp","crbtoken","crc","crcreth2","crdai","crdpi","cre","cream","cream2exp","creamexp","creamfi","creat","creatabl","create2","create2factory","createaavedebt","createaccount","createadlorder","createairdropvesting","createandinitializepoolifnecessary","createart","createaward","createcall","createcampaign","createchannel","createcheckpoint","createclgauge","createclone","createcloseethposition","createcollection","createcollision","createconfig","createcontract","createcred","createcredinternal","createdat","createdatblocknumber","createerc1155internal","createeternalfarming","createflow","createforbuyer","createforcedbid","createfork","creategauge","creategrant","createhash","createimports","createiporder","createlistings","createloan","createlock","createlockedcampaign","createlockfixed","createlockuntil","createlongshortpair","createmarginaccount","createmarket","createmasspools","createnewmarket","createnode","createoffer","createopenethposition","createorder","createorderforbuyer","createpair","createparams","createpiece","createpool","createpoolandaddliquidity","createpoold650e2d0","createposition","createproposal","createproxy","createproxywithnonce","createrange","createredeemorder","createredeemrequest","createreferral","createretryableticket","createreward","createsaleorder","createselectfork","createshortrecord","createsplitnft","createstream","createswapintent","createtaker","createtokenandaddliquidity","createtokenpool","createtokento","createtwo","createv4stakeentry","createvault","createvesting","createwithdurations","createwrapper","createyieldcontract","creatim","creation","creationtime","creationtimestamp","creator","creator_","creatorarray","creatorbps","creatorclaimsoldtokens","creatorfee","creatorfeepercentagebp","creatorrecipients","creatorrev","creatorroyaltybasispoints","creatorshares","cred","creddata","credenti","credhash","credibl","credibleaccountmodul","credibleaccountmodule","credibleaccountmodulemodulenotinstalled","credibleaccountrole","credid","credidcounter","credidexistsperaddress","credit","creditaccount","creditamount","creditapproved","creditbackaddress","creditbalances","creditedamount","creditednodeeth","creditinitiated","creditless","creditlessof","creditlimit","creditlimitrate","creditlimits","creditlinealreadyexists","creditmanager","creditor","creditorrole","creditout","creditproceeds","creditrecord","creditrecordmapping","creditremainder","creditsdeducted","creditspertoken","creditsrefunded","creditstate","creditsurplus","creditsused","creditto","credittokenstoinvoice","credittransfer","credituser","creep","creld","crept","creservetransferimport","crestal","creth","creth2","crfei","crftt","crgno","crippl","criteria","critic","crlowerthanmin","croc","crocquery","crocswap","cron","crono","cross","crossabl","crosschain","crosschainborrow","crosschainborrows","crosschaincollateral","crosschaincollaterals","crosschainliquidationexecute","crosschainltokenmap","crosschainmint","crosschainrouter","crossdeleverage","crossdomainmessenger","crosslevel","crosstargetaddress","crosstargetnetwork","crosstargettoken","crosstick","crosstoken","crosswis","crosswisetrustedforwarderattack","crowd","crowdfund","crowdringcircl","crowdringcircle","crowdringcircle858143","crowdsal","crowdsourc","crown","crperp","crrune","crss","crstatic","crsteth","crtoohigh","crucial","crumb","cruni","crusdc","crusdt","crush","crux","crv","crv3","crv3crypto","crv3cryptolptoken","crvbean","crvearned","crvearningsinfeetoken","crvfrax","crvlpholdings","crvlptokenprice","crvpoolbtcval","crvpoolusdtval","crvpoolwethval","crvstrategystablemainnet","crvtofeetokenpath","crvusd","crvusdbalance","crvusdcontroller","crvusdoracle","crvusdredeemed","crvusdtoken","crvusdusdcpool","crvusduzdpool","crxsushi","crygg","crypto","cryptograph","cryptolegacy","crystal","crystallis","cryusd","cs","csc","csexp","csign","csix","cste","cstecrv","csui","cswap","csx","ct","ct0","ct1","ct2","ct3","ctaf","ctimestep","ctk","cto","ctoken","ctokenbalance","ctokencollateral","ctokenmodify","ctokens","ctor","ctrl","ctsellamount","ctusd","ctx","cu","cubic","cul","cultur","cultureindex","cum","cumul","cumulatetoliquidityindex","cumulativeburnedheist","cumulativeclaimable","cumulativedailyloss","cumulativegrowthx128","cumulativelast","cumulativevalue","cumulativeweight","cuni","cunitoken","cur","curat","curatorowner","curatorrewardsdistributor","curatorshares","curbalance","curburnepoch","curdata","curday","cure","curent","curentlevel","curepochconpubkeybytes","curepochpkbytes","curi","curio","curios","curr","curra","currdebtshares","currenc","currency0","currency1","currencyandamount","currencydelta","currencyi","currencyiaddress","currencytransfer","curreni","current","currentaccrual","currentallowance","currentamount","currentanswer","currentassets","currentauction","currentbal","currentbalance","currentbatchdebtshares","currentblockdeposits","currentblocknumber","currentbondid","currentborrow","currentborrowindex","currentbuffer","currentburn","currentburned","currentcheckpoint","currentclaimroot","currentcycle","currentcycleid","currentdailyamount","currentday","currentdelegate","currentdelegation","currentdistribution","currentdistributor","currentdividends","currenteid","currenteligiblesu","currenteligiblesupply","currentepoch","currentera","currentfactor","currentgains","currentgeneration","currentid","currentindex","currentinstance","currentk","currentliquidationthreshold","currentliquidity","currentliquidityrate","currentlock","currentlockratio","currentlp","currentltv","currentnativebalance","currentnum","currentoutput","currentownerofreceipt","currentperiod","currentphase","currentpieceid","currentpool","currentpoolv3","currentposition","currentprice","currentpricepoint","currentproposal","currentquantity","currentrate","currentreserve","currentreserveaddress","currentreward","currentrewards","currentround","currentroundagentsalive","currentrusdt","currentsaleinfo","currentseason","currentsellfee","currentset","currentsetamount","currentsharedetails","currentshareprice","currentsharerate","currentshares","currentshort","currentsignercount","currentsqrtp","currentsr","currentstage","currentstake","currentstakedbalance","currentstate","currentstep","currentstore","currentsupply","currentsupplyscaled","currentswap","currenttick","currenttime","currenttimestamp","currenttokenrequester","currenttotal","currenttotallp","currenttotalshares","currenttotalstaked","currenttotalsupply","currentusagerate","currentutilizationindex","currentutilizationrate","currentvalue","currentweight","currentwithheldeth","currenyid","currepoch","currindex","currprice","currtimestamp","cursor","curtamount","curtamount22","curv","curvatur","curve2","curve3","curve3pool","curveburner","curveburnerexp","curvecompoundconvexsynthchef","curvecontractinterface","curveexp01","curveexp02","curvefiswap","curvefunctionsig","curvegauge","curvehandler","curvelend","curveliquidityprovider","curvellamalend","curvelp","curvelpamount","curvelporaclev2","curvelptoken","curvelptounderlying","curvemath","curveparameterdecimals","curveparameters","curvepool","curvepools","curvepoolsize","curvepoolslength","curvepoolutils","curvepricedenominator","curveproxylogic","curveregistry","curveregistrycache","curves_","curvest","curvestakedaoextrastratbase","curvestakedaostratbase","curveswap","curvetoken","curveunderlyingindex","curvevault","curvevoterproxy","curveyswap","cusd","cusdc","cusdt","cushion","custod","custodi","custodian","custodianmint","custodianminted","custom","customarili","customcalldata","customdata","customeraddress","customerror","customgastokenfunder","customlp","customnulladdress","customoraclenavissuancemodule","custompricegetter","customuintsizechecks","cut","cutoff","cuttabl","cv3","cva","cvault","cvaultdai","cve","cvg","cvgclaimable","cvgcontroltower","cvgrewards","cvx","cvxeth","cvxrewardcount","cvxrewarddistributor","cvxrewards","cvxstaking","cvxtolock","cwbc","cwbnb","cwbtc","cwe","cweth","cyber","cycl","cycleend","cycleid","cycler","cyclestart","cyfrin","cynthia","cypher","cyver","d0","d0000","d00d","d08","d0afef78","d0d1","d0e7","d1","d101","d164","d18","d1f57894","d2","d20380","d2110","d213","d24d","d29","d29b","d2bc","d2f6","d3","d360","d37","d37e","d3ee","d3mm","d3xat","d4","d430","d464","d467","d4a","d4a0","d4a4","d4ac","d4dd","d4fd","d5","d50","d51b","d56","d565","d593","d5de","d6","d60","d650","d666","d678","d68","d681","d683b81c","d68b05","d6f6","d6f6c2","d7","d779","d7897","d7897c","d792","d8","d83b","d849668","d85","d86","d88f","d8a","d9","d970","d9e4","da","da5","da9","dac6","dada","daddr","daddress","daf","daf3","dag","dai","dai3pool","daiamount","daiamt","daibal","daibought","daidrainamount","daidripshub","daieth","daiethoracle","daijoin","daili","dailyaccpnldeltapertoken","dailyburnrate","dailycap","dailydrainbps","dailyinitialmintlimit","dailyinitialmints","dailyinterest","dailylimit","dailylimitcheck","dailylosslimit","dailyreleaserate","dailyrewardrate","dailystarttime","dailyusdt","daipool","daireserve","daitoconvert","daitoken","daitoweth","daiusdc","daiwethpair","daiwethprice","dalii","damag","damagingli","dan","danc","danger","dangl","dao","daoaddress","daofee","daoio","daomakerexp","daomodule","daos","daosliv","daoslive","daoslocker","daosoulmateexp","daostack","daostackexploit","daostoken","daosvesting","daotokens","daototalbalance","daousdtbalance","dapi","dapp","dapps","dappsocial","dapptest","darc","darcusdc","darcv2cbbtc","darcweth","dark","darkpool","darkpoolfrozen","darkpoolfrozenerror","dart","dashboard","dat","data","data1","data2","data_","dataarray","databas","datafetcher","datahash","datain","datalist","dataof","dataread","dataroot","dataset","datasetid","datasetimpactweight","datasize","dataslot","datastore","datastreamconsumer","datatimestamp","datatoken","datatokenaddress","datatokenbalance","datatypes","dataview","date","datetime","dateutils","dave","daw","dawl","day2","day22","daybnb","daycontract","daylimit","dayrat","daysecond","dayselapsed","dayselapsedstored","daysheld","dayss","daystim","daywisesale","db","db0","db3","db31","db4","db41580","db6","db92e","db96","dba","dbalance","dbc3","dbias","dbtcb","dbusd","dbw","dc","dc0b3665","dc14","dc16","dc8","dca","dcf","dcfpair","dcnt","dcnteth","dct","dctstake","dcttaxpercent","dd","dd1b","dd4","dd70","ddai","ddb6","ddc","ddcexp","ddcoin","ddcoinexp","ddd","dddd","ddddamount","ddddprice","ddtoken","de","de7c","dea","deacb","deactiv","deactivatevalidator","dead","deadaddress","deadagentscount","deadamount","deadbeef","deadcfg","deadholeaddress","deadlin","deadline","deadlinecheck","deadlock","deadrate","deadwallet","deadwalletaddress","deal","dealabl","dealloc","deallocateethdeposits","deallocatestrategyshares","dealt","dear","dearer","death","deauthor","deb85","debank","debas","debit","debita","debitfrom","debitor","debitremainder","debitsurplus","debittransfer","debituser","debond","debondamount","debondfee","debounc","debridge","debt","debt_","debtamount","debtamounts","debtamountusp","debtamtcurrent","debtasset","debtauctionbidsize","debtbalance","debtcapreached","debtchange","debtdata","debtdecrease","debteth","debtfungiblecollateral","debtgascompensation","debtincrease","debtleft","debtmanager","debtof","debtor","debtoverflow","debtratemode","debtratio","debtratiocompressed","debtrepay","debtrepaying","debtreportqueue","debtshares","debtsharetoamtcurrent","debtsharetoamtstored","debttodeduct","debttoken","debttokenamtin","debttokens","debttokentoswap","debtusd","debtwst","debug","debug_","debugtracetransaction","dec","dec0","dec1","dec18","dec2024","dec25","decad","decai","decayrate","decemb","decent","decentbridgeadapter","decentbridgeexecutor","decentethrouter","decentr","decentralis","decentralizedindex","decentxyz","decept","decid","decim","decimal0","decimal1","decimalconversionrate","decimaldelta","decimalprecision","decimalsmultipliers","decimalsoffset","decimalstoken","decimalsusd","decimalsvalue","decis","declar","declin","decod","decodeaccountingoutputstate","decodeaddress","decodebatch","decodebridgesendpayload","decodecall","decodedinnerdatasize","decodedprice","decodedproof","decodedproposaldata","decodedtransactiondatasize","decodefirstpool","decodeoftcomposemsg","decodeproof","decoderecipient","decoderequestdataprivate","decodesuffix","decodetokenmintandswap","decodewelldata","decoi","decommiss","decompil","decompos","decomposeandmint","decomposeldaid","decor","decoupl","decreas","decreaseallowance","decreaseauthquota","decreasecollateral","decreasedebtshare","decreasedeposit","decreaseglobalshortsize","decreaseinsuranceshare","decreaseliquidity","decreaselongposition","decreaseorderutils","decreasependingdepositbalance","decreaseposition","decreasepositionswaptype","decreasesharesheldforasset","decreasestrategyallocation","decreasingburntamount","decrement","decrementorderamount","decrementpoolbalances","decur","decurityhq","ded3aeb","dedic","deduct","deductaccountmargin","deductfeeleftamount","dedup","dedupl","dee1","dee8a9","deep","deepen","deeper","deepest","deepli","deer","deez","deeznutz","deeznutz404exp","def","default","defaultaddress","defaultadmin","defaultadminrole","defaultante","defaultdecaydiscountrateindays","defaulteddebt","defaultexpireduration","defaultimbalancethreshold","defaultnavthreshold","defaultoracle","defaultpool","defaultsellamount","defaultsender","defaultstrategy","defaulttargetdispenserl2","defaulttimelock","defaultwallet","defeat","defect","defenc","defend","defens","defer","defi","defi5","defiapp","deficit","deficittotopup","defihacklabs","defimon","defimonalerts","defin","definit","defiplaza","deflat","deflationamount","deflationari","deflationfee","deflationmodule","deflationstopped","deflationtransfer","defrost","defund","defus","degate","degen","degenbox","degener","degeneraci","degrad","dehealth","dehydr","dei","deilendersolidex","deitomint","del","delai","delamount","delay4a97e6","delay_","delayedeffectivebalance","dele","deleg","delegat","delegate","delegatebalanceof","delegateboost","delegatebundler","delegatec","delegatecal","delegatecall","delegatecalled","delegatecallreserves","delegatecalls","delegatecallswap","delegatedamount","delegatedborrowallowance","delegatedoughcall","delegatedpool","delegatedstakes","delegatedstaking","delegatedto","delegatedtransfererc20","delegatedvalidators","delegateereward","delegatefailed","delegatemanagerv2","delegateset","delegatestake","delegateto","delegatetransfer","delegatevotes","delegatewithdraw","delegationcontroller","delegationid","delegationids","delegationmanager","delegationsurrogate","delegator","delegatorcore","delegatorfactory","delegatorfactoryfixed","delegatorfactoryversionblacklisted","delegatorscannerpoolsubject","delet","deleteoperators","deleteshortrecord","deleteuser","deleverag","deleverageautomation","delfee","deli","deliber","delig","deligatestake","delihook","delimit","delist","delistinrollover","deliv","deliver","delivereth","deliveri","deliveryplace","deliveryreserveu","deloop","deloopallcollaterals","deloopinoneormultipletransactions","delta","delta0","delta1","delta2","deltaasset","deltabatchid","deltaids","deltal","deltamax","deltampmax","deltamptotal","deltanominalmain","deltaplume","deltaprime","deltaqty1","deltascale","deltashares","deltastable","deltatotal","deltax1","deltax2","deltay1","deltay2","demand","demax","demaxplatform","demaxswaplibrary","demo","demolish","demonstr","demot","den","deni","denial","denom","denomin","denorm","denormalizefrom18","dent","denylist","dep","depart","departur","depay","depayrouterexp","depayrouterv1","depayuniv1","depeg","depegswap","depend","deperc20","deplet","depletedclaim","deploi","deploy","deployanchorliquidity","deploycontract","deploydate","deployedtokens","deployerc721bridgeable","deployfloorliquidity","deployfunds","deployjimboliquidity","deploymentaddress","deploymentconstants","deploytime","deployvaults","deploywithdrawalqueue","depo","deposi","deposit","deposit0","deposit1","deposit2","depositableassets","depositaddress","depositall","depositamount","depositandborrowapeandstake","depositandcall","depositandlend","depositandswap","depositapecoin","depositarbcheck","depositargs","depositasset","depositassetto","depositbayc","depositbeans","depositblock","depositbonustoken","depositborrowwithdrawape","depositbyaddliquidity","depositcollateral","depositcontract","depositdata","depositdelta","depositdesk","depositdetail","depositdetails","depositedamount","depositedat","depositedbalance","depositedbase","depositedinsameblock","depositedshares","depositedtokens","depositedunderlying","depositerc20","depositeth","depositethandregistervalidators","depositexactamount","depositfee","depositfeebp","depositfixed","depositfor","depositfromido","depositfromothercontract","depositfrompairedlptoken","depositid","depositinfo","depositinfos","depositintobalancerpool","depositintovault","deposititoken","depositkey","depositlockstart","depositlp","depositlv","depositmanager","depositmarket","depositmax","depositmin","depositnativetoken","depositnbl","depositnft","depositnonce","depositnotfound","deposito","depositof","depositonbehalf","depositor","depositorsshare","depositoverflowtotalcap","depositpaused","depositpool","depositposition","depositprecision","depositprofit","depositproxy","depositpsm","depositqueue","depositrequestbalance","depositrequired","depositrewardamount","depositrewards","depositrewardtokens","depositsafe","depositsauce","depositsof","depositspore","depositstake","depositstruct","depositsums","depositsurplus","depositsurpluscode","depositsushi","depositswap","deposittake","deposittime","depositto","deposittocurve","deposittogasziperc20","deposittoken","deposittokens","deposittoolow","deposittotalamount","depositts","deposittype","depositusdc","depositvalueinbtc","depositvalueusd","depositvault","depositweeth","depositwithexpiry","depositx","deposityield","deprec","depress","depsums","depth","depusdt","depusdtlevusdcexp","deputi","derace","derbi","derc","deregist","deregisteredat","deregistr","deriv","derivedpool","desc","descend","descprecision","describ","descript","descriptor","deseri","deserializetxargs","desert","desertjasper","deserv","design","designaterole","desir","desireddenorm","desk","desper","despit","dest","destaddress","destamount","destbalanceof","destcaller","destdecimals","desteid","destin","destinationaddress","destinationamo","destinationandflags","destinationcaller","destinationchains","destinationdomain","destinationtoken","destl","destltoken","destori","destorypairamount","destprice","destroi","destroy","destroyaddress","destroyminingaccounts","destroynum","destroypooltoken","destroyratio","destroytokens","destruct","destructionoflotterytickets","destructur","destsystemid","desttoken","destunderlying","desync","desynchron","desynchronis","detach","detachhsg","detail","detailshash","detect","detector","determin","determinedmultiplier","determinist","deterr","deth","dethcollateral","detoken","deton","detour","deu","deusexp","dev","devaddr","devaddress","devalu","devast","devdoc","develop","developmentamount","developmentwallet","devfee","devfees","deviat","deviationthresholdbps","devic","devops199","devshare","devv","devwallet","dex","dexagg","dexbalance","dexbalancei","dexbalances","dexdata","dexes","dexibl","dexibleexp","dexid","dexinfo","dexrouter","dexroutercontractaddress","dexrouterexp","dexrouterfeeddata","dexsellcap","dexspender","dexswap","dextoken","dexwrapper","df","df56","df9","dfa11","dfa12","dfa14","dfb418d","dfbf","dfdb187","dforce","dforcecontract","dforceexp","dfp","dfp2","dfpconfig","dfs2b806e","dfx","dfxexp","dgt","dgusd","dhc","dhedg","dhedge","di","dia","diaexternalstaking","dial","diamond","diamondc1e088","diamondcut","diamondowner","diamondstorage","diamondstoragelib","diarewardsdistribution","diastakingcommons","diawhitelistedstaking","dice","dictat","didget","didlcclose","didlcopen","didn","didnt","dif","diff","diffaggacc","diffasset","diffassetsign","diffday","diffdays","differ","differenti","diffeth","difficulti","diffrepayamount","diffsecond","diffstable","diffstablesign","digest","digestfor","digesti","digestsignature","digg","digit","digitsmantissa","dilut","dimens","dimension","diminish","dimitra","dimitratoken","dinero","dinerowithdrawrequestmanager","dink","dip","dipexp","dipinput","direct","directbonus","directbonusrate","directcount","directdelegate","directinvest","direction","directli","directori","directpoolswapfee","directreferralcount","directsender","directswaprouter","directtimestamp","directtotaltokenssold","directuniv3swap","directvalue","dirt","dirti","disabl","disabledpaymaster","disabledtime","disableinitializers","disablemodule","disablesessionkey","disablestaking","disabletransferblock","disableyield","disadc","disagr","disagre","disallow","disappear","disarm","disassembl","disavow","disavowcrowdsourcers","disburs","disbursecollateral","disbursesurplus","disbursesurpluscode","discard","disciplin","disclos","disclosur","disconnect","discontinu","discord","discount","discountrateto","discourag","discov","discover","discoveri","discrep","discret","discrimin","discuss","disfavor","disguis","disincent","disincentiv","disjoint","disloc","dismantl","dispar","dispatch","dispatchcount","dispatchvip","dispens","displac","displai","dispos","disposit","disproportion","disput","disputecr","disputeredemption","disputeredemptionbuffer","disputesr","disputewindow","disqualifi","disrupt","dist","distanc","distant","distb","distbuyfee","distil","distinct","distinctli","distinguish","distort","distribut","distributea","distributeairdrop","distributeamount","distributeb","distributeborrowerlend","distributebuytax","distributecakedividends","distributecalls","distributecollectedfees","distributecurrency","distributedailyrewards","distributedfrompool","distributedividend","distributedividends","distributedrewardsdistribution","distributedynamic","distributeeth","distributeethrewardstouserfortoken","distributefee","distributefees","distributeflow","distributefor","distributefrompool","distributeoperatorreward","distributeownertokens","distributepowerreward","distributeredeem","distributereferralrewards","distributerewards","distributerewardsbatch","distributestake","distributestakes","distributesupplierlend","distributeteamrewards","distributeto","distributetokens","distributioncreator","distributionhelper","distributioninterval","distributionkey","distributionrecord","distributionx","distributiony","distributor","distributorrole","distro","distroi","distsellfee","disturb","distx96","ditto","dittoeth","div","div_","divceil","divdown","diverg","divers","divert","divest","divid","dividend","dividend0","dividendaccount","dividendaddress","dividendamount","dividendbalance","dividendcredit","dividenddistributed","dividenddistributor","dividendfee","dividendhandle","dividendjhylp","dividendlptracker","dividendmanager","dividendpayingtoken","dividendpool","dividendsamount","dividendsof","dividendspaid","dividendstransferred","dividendtracker","dividendwithdrawn","divis","divisor","divorc","divpoints","divscalarbyexptruncate","divsfee","divu","divup","divwad","divwaddown","dkp","dkpexchange","dkpinpair","dkpout","dl","dlcollateral","dlend","dlink","dlmc","dlmcbuyhelper","dlmcexp","dlmctoken","dlocker","dlp","dmtr","dmute","dn","dn404","dnd","dnft","dnftsupply","do","doactionwithleverage","doactivity","doburn","dobuyback","doc","document","dodelegatecall","dodg","dodo","dodo1","dodo2","dodo5","dodo7","dodo8","dodoapprove","dodocall","dodof","dodoflashloan","dodoinitialized","dodopool","dodorouteproxy","dodoswap","dodowbnbbefore","dodowbnbpool","doesn","doesnt","doexchange","dofirstparamequalsaddress","doflushpol","doge","dogeal","dogealliance","dogeallylps","doggo","doin","doingud","doingudexploit","doit","dola","dola3pool","dolasavings","doliquidate","dollar","dolli","dolockatomic","dolomit","domain","domaina","domainid","domainseparator","domaintochainid","domerchantlock","domin","domino","dominott","domixswap","don","donat","donateandborrow","donatedust","donatepool","donatetoreserves","donor","donothing","doodl","doodlevault","doom","door","dop","dopamount","doredeematomic","doreward","dormanc","dormant","dosafetransferacceptancecheck","dosed","doses","dosing","dosplit","doswap","dot","dotc","dotransfer","dotransferin","dotransferout","doubl","doublesigningevidence","doubli","dough","doughcall","doughcore","doughdsa","doughfina","doughindex","down","downcast","downgrad","downlin","download","downscal","downscaledown","downscaleup","downsid","downsideprotected","downstream","downward","dowork","dozen","dp","dp2pdtoken","dpc","dpcairdrop","dpclp","dpclptime","dpclptotal","dpi","dplu","dpp","dpp1","dpp5","dppadvanced","dppflashloancall","dpporacle","dpporacle0x1b52","dpporacle0x8191","dpporacle1","dpporacle2","dpporacle26d0c6","dpporacle3","dprime","dprk","draft","drag","dragma","dragon","dragonx","drain","drainabl","drainag","drainamount","drainblock","draincalls","draincbethvictims","drainedamount","drainer","drainerhelper","drainfacet","drainfromlpto","drainselector","draintoken","draintokens","drainwethvictims","drake","dramat","drastic","draw","drawabl","drawagain","drawdate","drawdown","drawdownmade","drawn","dream","drequir","dress","drew","dreward","drift","drip","dripfee","drippool","drippoolbalance","driprate","drivabl","drive","driven","driver","drl","drlvaultv3","drlvaultv3exp","drop","dropandcheckpoint","dropboost","dropboostqueue","drope","droppair","drove","drpc","dry","ds","ds2","ds3","dsa","dsaaddress","dsas","dsauthority","dschief","dsid","dslope","dsp","dspause","dspflashloancall","dspos","dsproxy","dss","dssflash","dsspsm","dsspsm89b78c","dsss","dst","dstaccount","dstbasestakingvault","dstchain","dstchainid","dstdecimals","dsteid","dstgasforcall","dstid","dstlzeid","dstoken","dstreceiver","dstrep","dstrepnew","dstrepold","dsttoken","dsu","dt","dtoken","dtokenburn","dtokens","dtrinity","dtt","dtxt","dtxtexp","dual","dualiti","dualpool","dualpools","dualpoolsexp","duck","duckvad","duckvaderaa8f35","dude","due","duedate","dum","dumb","dumbo","dumbodistributor","dummi","dump","dumpabl","dumpbusd","dumpccv","dup","dupe","duplic","durabl","durat","durationdays","dusd","dusdc","dusers","dust","dusti","dustposition","dustreceiver","dutch","dutchauction","duti","dutifulli","dv","dvb","dvm","dvmflashloancall","dvn","dvns","dwarf","dwbnb","dx","dxbl","dxburn","dxburntoken","dxdao","dxlockerlp","dxmint","dxsale","dy","dy_","dyad","dyadminfee","dyadminted","dyadstablecoin","dyadxp","dyadxpv2","dydx","dydxsolomargin","dyfee","dyn","dyna","dynaexp","dynam","dynamicaccount","dynamicearned","dynamicsalestate","dynamicsuffix","dynamicusdt","dynarray","dynavault","dynavaultlib","dynbaseusdcv3","dyson","dysonvault","dyst","dystopian","dystopiancheck","dystrouter","dystrouter2","e0","e020","e024","e03","e03a","e088","e0f1","e1","e1359d8","e1496","e16","e17","e17r","e18","e19038","e1b0","e1c","e1d","e2","e20","e21","e22c","e23","e233","e24","e258","e27","e273","e28","e283","e29","e2bac5c","e2ca0","e2f95","e3","e33423","e36","e39fd8","e3bda7c","e3da","e3f","e4","e4626","e4626viewadjustor","e48","e4f","e5","e5019a","e53","e539","e53d","e5441fc","e545","e56193ed37","e5d8c","e6","e62c","e63983","e64","e68","e6e8","e7","e700","e730bde0","e759","e7a513","e7ad","e7c042","e8","e83","e851","e853","e871","e883f0","e8d","e9","e90571","e91b","e956","ea","ea05","ea07","ea22","ea22f","ea88","eaapproved","eaba","eac","eacaggregatorproxy","ead","eaf","eagerli","earli","earlier","earliest","earlyby","earlyendgame","earlyexecution","earlyredeemrequestclosingtimestamp","earlyunboundtax","earmark","earmarkedstakes","earn","earnedaddress","earnedamount","earnedamt","earnedbynonce","earnedfixed","earnedtimeweighted","earnedtoken","earnedtowantpath","earner","earnfees","earningfarm","earningframexp","earningreinvest","earningsbooked","earningspervaluex128","earningwithdraw","earnreward","earthquak","eas","easedefi","easi","easier","easili","easyauction","easyfinalizeredeem","easylaunch","eat","eaten","eb","eb0c","eb48","ebc6","ebc6bf9","ebd6","ec","ec19","ec586b87","ec68","ecadd","eccd","eccm","eccmproxy","ecdsa","ecdsasignature","ecdsaupgradeable","ecdsavalidatorstorage","ecf2","echo","ecio","ecma","ecmul","econom","economi","ecosystem","ecosystemamount","ecosystempool","ecosystempoolratio","ecpair","ecpairing","ecrecov","ed","ed31444","ed5678","ed6a","ed83f5d6","edai","edamount","edd","edd1","edel","edg","edgen","edit","editcounterpart","editioncutofftime","editionmaxmintable","editionmaxmintablelower","editionmaxmintableupper","editminbidstep","editor","editori","ee","ee3f781a","ee4","ee60","eeb","eebfa7","eee","eeecoin","eeee","eeeee","eeeexp","eeefd4","eef","eefe","eerc314","eeth","ef","ef3","ef3c","ef87","ef98","efe5","eff","eff5","effect","effectivebalances","effectivebid","effectivecol","effectivefee1e9","effectiveflashloanamount","effectivegasprice","effectiveprice","effectivetransferamount","effectivevalue","effici","effort","efgnffw","efi","efiamount","efiprofit","eflevervault","eflevervaulte39fd8","eftoken","efvault","efvaultexp","eg","egd","egdbalance","egdfinance","egdfinanceexp","egg","eggx","eggxclaim","eggxe2f95e","ehiv","ehiveexp","ehx","ehxexp","ei","eid","eigen","eigenlayer","eigenpod","eigenpodmanager","eight","eighteen","eighth","eighti","eip","eip1153","eip1167","eip1271","eip1271magicvalue","eip1271wallet","eip1559","eip173","eip173proxy","eip1967","eip197","eip20","eip20interface","eip2200","eip2535","eip2612","eip2771","eip2981","eip3009","eip3156","eip4337","eip4626","eip4895","eip6780","eip712","eip712domain","eip7702","eip7702delegatorcore","either","eject","ekubo","ekuboexp","ekubotraceexploitrouter","el","elaps","elapsedepochs","elapsedseconds","elapsedtime","elast","elasticswap","elect","elector","element","eleph","elephantdollar","elephante283d0","elephantmoneyexp","elephantstatus","elev","elevatefi","elevatefiexp","eleven","elevenexp","elevenneversellvault","eleventh","elfi","eli","elig","eligibleforextrareward","eligibleforfeetake","elimin","ellipsi","ellipt","elolpu","elp","els","elsewher","elvchobj","elyasset","elyassetamount","elyassetsupply","elyhype","elytra","elytradepositpoolv1","elytraoraclev1","elytraunstakingvault","ema","emb","embed","embervault","embodi","emerg","emergencybanexpiry","emergencyburn","emergencycommit","emergencycouncil","emergencyexit","emergencypenaltybps","emergencyshutdown","emergencystop","emergencywithdraw","emergencywithdrawall","emiss","emissari","emissarylib","emissioncap","emissionpersecond","emissionprecision","emissionsalreadydistributedforperiod","emissionscheduler","emissionsminted","emit","emiterc20bridgefinalized","emitloan","emitt","emitupdate","emp","empir","employe","employeeid","empt","empti","emptycode","emptymerkleroot","emptypath","emptyreservepartial","en","enabl","enableactivate","enableairdrop","enableascollateral","enablebonus","enableburnlp","enabledata","enabledmodule","enabledsessions","enabledtime","enabledtokenids","enableexploit","enablemarketingaddlp","enablemint","enablemodule","enablepolicies","enablerandomredeem","enablerepurchase","enableselector","enablesession","enablesessionkey","enablesessions","enableswap","enableswitch","enabletargetredeem","enabletokenidascollateral","enabletrading","enact","enactswap","enclav","encod","encodecall","encodedata","encodedcall","encodeddata","encodedistributionkey","encodedmessage","encodedopsec","encodedproofdata","encodedswap","encodepacked","encodetransactiondata","encodewithselector","encodewithsignature","encourag","encumb","end","endamount","endblock","enddat","enddate","endem","endgam","endind","endindex","endlessli","endors","endpoint","endpointv2","endpool","endposition","endpresale","endproposal","endraffle","endraw","endrewards","endstak","endstakeat","endstaking","endtime","endtimestamp","endtimestampcache","endts","endunlock","enf","enforc","enforcepolicies","enforcerole","engag","engin","engineamountout","english","enj","enjin","enjincryptoitemsattack","enjoyoor","enlarg","enlist","enlistinrollover","enorm","enough","enoughcash","enoughfee","enqueu","enrich","enrol","enso","ensooracle","ensur","ensureapprove","ensurebalance","ensurebiddercashbalance","ensuredeadline","ensurelocaltoken","ensurenonrebasingmigration","ensurenotinvaultcontext","ensurepoolbalanced","ensuretransferin","ensureusdtbalance","ensurevalidcheckpoint","ent","entangl","entangle51371","enter","enteramount","enterfeeid","entermarkets","enternftmarkets","enterpool","enterpris","enterprisejoin","enterprisejoinfee","enterraffle","enterstaking","entertainmint","entir","entirecoll","entiredebt","entirepool","entireti","entiti","entitl","entitledshares","entity_","entityb","entityd","entityforging","entranc","entrancefeefactor","entrancefeefactormax","entrant","entri","entropi","entropygenerator","entryfee","entrypoint","entrypoints","entryprice","entryprofitpershare","enum","enumer","enumerablemap","enumerableset","enumerableset4337","env","envalid","envaliduser","envelop","enviar","environ","envoi","eo","eoa","eoas","eout","ep","ependl","ependle","ependledepositor","ependleobtained","ependlerewardpool","ephemer","epilogu","epn","epoc","epoch","epoch1","epoch2","epoch_","epochalreadysettled","epochduration","epochemission","epochend","epochid","epochisinitialized","epochlength","epochnumber","epochrevenue","epochrevenues","epochrewards","epochsize","epochstart","epochstartts","epochtimestamp","epochtoscaletosums","epochtotalreceipttoken","epochtotalvesupply","epochuservebalance","epochwithdrawals","epp","epsilon","eq","eqb","eqcov","equal","equat","equil","equilibr","equilibria","equilibrium","equip","equiti","equityinspot","equiv","equival","era","eras","erc","erc1155","erc1155amounts","erc1155balance","erc1155contract","erc1155enumerable","erc1155ids","erc1155ratio","erc1155tokenaddress","erc1271","erc1271handler","erc1271installed","erc1271magic","erc1271policies","erc1271revert","erc1271success","erc1363","erc165","erc165checker","erc1724","erc1820","erc1967","erc1967factory","erc1967proxy","erc1967proxyb7e1d1","erc1967proxyce1b3e","erc1967utils","erc20","erc20addr","erc20airdrop2","erc20approve","erc20bal","erc20balanceof","erc20balanceofreceiverbefore","erc20balanceofsenderbefore","erc20balances","erc20bondtoken","erc20bridgefinalized","erc20burnable","erc20burnableupgradeable","erc20detailed","erc20dripshub","erc20ethmanager","erc20flashmint","erc20guild","erc20indexable","erc20indexabled0db31","erc20insufficientallowance","erc20insufficientbalance","erc20interfac","erc20invalidreceiver","erc20invalidsender","erc20mintable","erc20permit","erc20pool","erc20poolfactory","erc20proxi","erc20proxy","erc20referrer","erc20reserve","erc20safetransfer","erc20sall","erc20sendselector","erc20stransfers","erc20stransferslength","erc20toerc721","erc20token","erc20tokenaddress","erc20tokenbank","erc20tokenbankexp","erc20tokenbankinterface","erc20transf","erc20transfer","erc20transferfrom","erc20upgradeable","erc20vault","erc20votes","erc20votingtoken","erc20withdraw","erc20withdrawalfinalized","erc20withtransfersandexecute","erc2612","erc2771","erc2771context","erc2771contextupgradeable","erc2981","erc314","erc3156","erc3156flashborrower","erc404","erc4337","erc4626","erc4626decimalmixin","erc4626i","erc4626oracle","erc4626oracle7fb95a","erc4626upgradeable","erc4626viewadjustor","erc6492","erc6492deployfailed","erc6492detectionsuffix","erc6492suffix","erc667","erc677","erc677initializabletoken","erc6909","erc6909insufficientbalance","erc7201","erc721","erc721address","erc721bridgeable","erc721checkpointableupgradeable","erc721enumerable","erc721healthfactor","erc721holder","erc721ids","erc721incorrectowner","erc721interface","erc721invalidreceiver","erc721lendingpool02","erc721nonexistenttoken","erc721receiver","erc721toerc20","erc721tokenaddress","erc721totalsupply","erc721upgradeable","erc721votingtoken","erc7484","erc7540","erc7540request","erc7579","erc7739","erc777","erc777tokenssender","erc777upgradeable","ercamount","ercamountleft","ercdebt","ercdebtredeemed","ercescrowed","ercfilled","ercx","erod","err","errant","errlimitin","errlimitout","errlock","errmathapprox","errmaxinratio","errminbalance","errnoneready","errnotbound","errnotfinalized","erro","erron","error","erroratl","errorbalanceincreasenotallowed","errorbtl","errorcodes","errorinsufficientflashloanreturn","errormintreceiveristm","errornovotingpower","erroronlyadmin","errorselector","errorslib","errorutils","errorverifyingaddressmapping","errpoolamountintoolow","errpoolamountouttoolow","errswapfailed","errswapnotpublic","errtokenamountintoolow","errtokenready","errtransferfailed","es","escal","escap","escapeblockrangeincorrect","escapehatch","escapehatchcircuit","escheat","escrow","escrowedforthisorder","escrowedtokenid","escrowfor","escrowlength","escrowmanager","escrowof","escrowportion","escrowtype","escrowvotemanager","especi","esr","ess","essenc","essenti","est","establish","estat","estim","estimateamountout","esttoken","estuari","et","eta","etch","etern","eterna","eternalvirtualpool","eth","eth4","eth4divsowing","eth6","eth6divsowing","ethaddress","ethamount","ethbacked","ethbalance","ethbalanceinunverifiedvalidators","ethbalances","ethbaseunit","ethbefore","ethbought","ethbuffer","ethcall","ethcost","ethcrosschaindata","ethcrosschainmanager","ethcrv","ethcum","ethdepositsize","ethdivpoints","ethdrain","ethearned","ether","ethereum","ethereumbundlerv2","ethereumgateway","etherfivedaatomicqueueexp","ethern","ethernalfinanceii","etherprice","etherscan","etherspot","ethervista","ethervistapair","ethescrowed","ethfeed","ethfi","ethfilled","ethfin","ethfinexp","ethfromdefund","ethfromsell","ethgetblockbynumber","ethgetcode","ethhash","ethheld","ethin","ethindex","ethinpool","ethitem","ethlocked","ethlp","ethlpamount","ethlpreward","ethmacoapi","ethmanager","ethmintpricecid","ethneeded","etho","ethout","ethpaid","ethperdai","ethpledge","ethpool","ethprice","ethpumped","ethpurchase","ethquote","ethr","ethreceive","ethreceived","ethrecipient","ethrefund","ethreserve","ethreserved","ethsdtpool","ethsign","ethsigned","ethsignedmessage","ethsignedmessagehash","ethtojay","ethtoken","ethtokenaddr","ethtokenaddress","ethtomint","ethtorefund","ethtotokeninput","ethtotokenswapinput","ethtotransfer","ethtransactionamounts","ethtransferfailed","ethunit","ethusd","ethusdagg","ethusdprice","ethvalueoftokens","ethwst","ethx","etn","etnproduct","etnproductexp","etnshop","etoken","etokenmint","etokens","eu","euler","eulerprotocol","eur","eure","eurf","euros","eurtotoken","eusd","ev","eva","evaa","evacu","evad","eval","evalu","evaluateproposaloutcome","evapor","evas","evault","evc","evenli","event","eventemitter","eventended","eventnam","eventpackageid","eventparams","eventslib","eventu","ever","everclear","everclearfeeadapter","everi","evervaluecoin","everybodi","everyon","everyth","everytimeselllimitamount","everywher","evetokenerc20","evid","evidenc","evil","evilbootstrap","evilinit","evilpair","evilpaymaster","eviltoken","evk","evm","evmauth","evmerror","evmscaling","evmspotdecimals","evmversion","evolut","evolv","ex","exa","exact","exactbaselptout","exactbptinfortokensout","exactin","exactinath","exactinput","exactinputinternalv3","exactinputparams","exactinputsingle","exactinputsingleparams","exactinputv3swap","exactinsingle","exactli","exactlyexp","exactout","exactoutput","exactoutputparams","exactoutputsingle","exactoutsingle","exactsyin","examin","exampl","exaop","exausdc","exaweth","exawst","exawsteth","exboy","exce","exceed","exceededamount","exceededmaxredeemorder","exceedingclaimableamount","exceedingpositionsizecollateral","exceedonetimemaxwithdraw","exceedsdailyloss","exceedsmaxsupply","exceedtotalbalance","exceedtotaldeposit","except","excerpt","excess","excessaccrued","excessequity","excessiveinputamount","excessivelysafecall","excesspayment","exchang","exchangeaddress","exchangebetweenpools","exchangecallfailed","exchangecallmissing","exchangedata","exchangedataslice","exchangedkp","exchangefungible","exchangeissuance","exchangeissuancec8c85a","exchangepath","exchangepercentage","exchangeprecision","exchangepricesprecision","exchangeproxy","exchangerate","exchangeratebase","exchangeratebefore","exchangeratecurrent","exchangerateinfo","exchangeratemantissa","exchangerateprecision","exchangerateprovider","exchangerates","exchangeratestored","exchangeratestoredinternal","exchangetype","exchangeunderlying","exchangev4","exchangewithatomic","excl","exclud","excludeaccount","excludedfees","excludedfrom","excludedfromdividends","excludedfromfee","excludedfromtax","excludedpools","excludedtradingfee","excludefee","excludefeefromlisting","excludefromfees","excludefromreward","exclus","exclusivefromfee","exclusivitydeadline","excommunity","exec","execdisablehsgasonlymodule","execprecompile","execremovehsgasguard","execresult","execsellnfttomarketpush","exectransaction","exectransactionfrommodule","exectransactionfrommodulereturndata","execut","executeaaveaction","executeaccumulatedburn","executeaction","executeaddcollateralandborrow","executeaddleverage","executeadl","executeargs","executeassigner","executebatch","executebid","executebondingcurveswap","executeborrow","executeborrowparams","executebuy","executebuyorder","executebuywithcredit","executecall","executecallback","executecalldata","executecappedadl","executeclaim","executecomposable","executecomposabledelegatecall","executecrosschaintx","executedecrease","executedecreaseposition","executedecreasepositionsizemarket","executedelegatecall","executedproposaltransactions","executedshares","executedvalue","executeextraordinary","executefromexecutor","executeinteractions","executeinternal","executeliquidation","executeliquidationcore","executemessages","executemetatransaction","executenexttx","executeoperation","executeorder","executeparams","executeparaswap","executeportaltransfer","executepreapprovedtransaction","executeproposal","executeproposalwithindex","executerace","executerecipe","executerecovery","executeredemptiontrades","executerelay","executeroute","executesell","executesifdecided","executesteps","executestop","executeswap","executeswaps","executetokenswap","executetokentransfer","executetrade","executetransaction","executetransactionfromoutside","executetransfer","executeuniswapsell","executeuniswapswap","executevote","executeweth","executewithdrawerc721","executewithsession","executewithsodiumauthrecover","executewithsodiumauthsession","executewithtoken","executionamount","executionbudget","executiondata","executiondelay","executionduration","executionfee","executionfeearg","executionfrommodulesuccess","executiongas","executioninfo","executioninfos","executioninfoslength","executionlib","executionperiod","executionpricemismatch","executionreverted","executionscript","executionsuccess","executor","executorinstalled","executorrole","exempt","exemptionlist","exemptreceiver","exemptteam","exercis","exercisecall","exerciseorliquidate","exerciseorliquidateposition","exercisewindow","exfil","exfiltr","exgirl","exhaust","exhibit","exist","existingorderid","existingpnlcollateral","existingpositionsizecollateral","existingtrade","exit","exit1","exit2","exitbalance","exitbalances","exitfee","exitfeefactor","exitmarket","exitpool","exitpoolrequest","exitprogram","exitreverted","exitshort","exitshortfacet","exitswap","exitswappoolamountin","exitvalidators","exnam","exogen","exot","exp","exp01","exp02","exp1","exp2","exp3","expand","expandreserveratio","expans","expect","expectamount","expectedamount","expectedamountout","expectedbalancechange","expectedchange","expecteddecimals","expectedethout","expectedexchange","expectedisgreater","expectedlpusdtbalance","expectedmin","expectedout","expectedoutput","expectedpaymentamount","expectedpool","expectedquestionid","expectedstrc","expectedtokens","expectedunderlying","expectedusdtbalance","expectedusdtprofit","expectedwithdrawablebalance","expectrevert","expens","experi","experiment","expir","expirationtime","expirationtimestamp","expiredamount","expirednotclosedusdt","expiredtokensburned","expiresat","expiresin","expiri","expiry_","expiryinterval","expirytimestamp","explain","explan","explicit","explicitli","explod","exploit","exploit2","exploitauxcontract","exploitauxcontract2","exploitcontract","exploitgain","exploithelper","exploitmevbot","exploittest","exploitzs","explor","explos","expo","expon","exponentbit","exponenti","exponentialnoerror","exponentmask","export","expos","exposur","exposure0","exposure1","expprecision","express","expressexecute","expressexecutewithtoken","expressexecutor","expscale","exptoken","exr","exrate","exrd","ext","extcodehash","extcodes","extend","extens","extern","externalbribe","externalcall","externaldata","externalfee","externalid","externallli","externaltrades","externalunlockcollateral","extmulticall","extra","extract","extractallcollaterals","extractfee","extractfrompoolforlpmining","extractor","extractreward","extractrollupbeneficiary","extracttimestamp","extradata","extrafeebps","extrafeereceiver","extrainfo","extrainstances","extraordinari","extraordinarili","extraordinaryfunding","extrapol","extrapolatedvalue","extrapolatepoolvaluefromtoken","extrarandomization","extrarepayamount","extrareward","extrarewardpertoken","extrashare","extratoken","extravusd","extrem","exttload","exvul","ey","eywa","ez","ezeth","f0","f04","f060","f07","f08ac2","f0xf986351d","f1","f1121318093","f15","f16fb27ce","f17a","f181","f1f","f2","f211","f285","f2916","f2916e","f29e","f2c8","f2df","f3","f316","f335","f368","f3a1","f3e","f4","f41","f41b","f441a5","f48","f49","f535","f5396ef0","f56","f5b","f5d","f604","f619","f6282c50ff","f63","f644","f67","f697","f6ebebbb","f71f8","f71f8xx","f78","f7b","f7e","f8","f845","f849","f867","f8cd1275","f8f4","f9","f93","f95985","f95d7da3","f97","f982","f_","fa17","fa26","fa461e33","fa59","fa69","fa757","fa7b","fa9","fa9385b","fab","fabric","fabul","facad","facadeoutput","face","facet","facil","facilit","fact","facto","factor","factor0","factor1","factorbps","factori","factorycalldata","factorydao","factorynotinstanceerror","factoryv3","factoryvalid","fada","fageur","fail","failedmessages","failedmulticall","failingasset","failingtarget","failopaque","failov","failoveractive","failsendingnative","failunlock","failur","fair","fairamount","fairclosing","fairdebt","fairer","fairethout","fairfee","fairlaunch","fairli","fairminout","fairmint","fairout","fairpayout","fairprice","fairpriceminout","fairquote","fairrate","fairreward","fairsat1","fairside","fairsideconviction","fairsnapshot","fairstate","fairtradingfee","fairvalue","fairweight","fairwithdrawable","faith","faithfulli","fake","fakeaccount","fakeavatar","fakebigbang","fakecbethreserve","fakecollateral","fakecreatortoken","fakefactory","fakefrom","fakehouseofreserve","fakejar","fakejara","fakejarb","fakeloansourceterminal","fakelp","fakemarket","fakemarketi","fakemonalisa","fakeold","fakeotokencollateral","fakeotokenrepay","fakepair","fakepaircontract","fakependlemarketlimitrouter","fakepool","fakerepay","fakerevamptoken","fakerouter","fakesigner","fakesource","fakeswap","fakeswapmarker","faket","faketoken","faketoken0","faketoken1","faketxid","fakeunderlying","fakeusdc","fakeusdt","fal","falcon","falha","fall","fallback","fallbackhandler","fallbackoracle","fallen","falpha","fals","famili","famount","fan","fanci","fankr","fankrbnb","fantasi","fantasm","fantium","fantiumnftcontract","fantiumnftv1","fantom","fapen","fapenexp","faq","far","farm","farm2","farmabl","farmcontractaddress","farmer","farmid","farminfo","farminglptoken","farmstarttime","farmtoken","farmutil","farmzap","fast","fastbalanceof","faster","fastest","fastpricefeed","fat","fatal","father","fatheraddr","fatheramount","fatherpepeinu","fatten","faucet","fault","faulti","favor","favour","fb","fb61","fb95a","fb974f","fbd","fbdc4","fbe81135","fbec6d5","fbep20","fbeth","fbf0","fbff","fbnb","fbnbaddress","fbp","fbtc","fbusd","fc","fc0b0b","fc1d","fc45","fc54","fc8","fcae","fcash","fcb","fcbb","fcbf04a","fcd","fcf","fcfsmint","fcfsminted","fcn","fcnbusdt","fcntoken","fcntoken0fea05","fd","fd0","fd10","fd4","fd8b","fdac","fdai","fdf658","fdot","fdp","fdpexp","fdusd","fe","fe00","fe006","fe12","fe2","fe5","fe7","fea","feaa","feasibl","featur","feb","februari","feced2ff","fed","fed1","fee","fee0","fee0earned","fee0pershare","fee1","fee1e9","fee1earned","feeaccount","feeaccumulator","feeactualization","feeaddress","feeamount","feeamountdeductedfromyield","feeamountforpool","feeamounts","feeamt","feearray","feeassets","feeauction","feebalance","feebase","feebeneficiary","feebps","feebpsscale","feeburned","feeclaimed","feecollected","feecollectedweight","feecollectedx","feecollectedy","feecollector","feeconfig","feecut","feed","feed1","feed2","feedabl","feedata","feedback","feeddata","feeddecimals","feedealamount","feeden","feedenominator","feeder","feederindex","feederpositionmap","feedid","feedisburser","feedistribution","feedistributor","feedivfactor","feedivisor","feedof","feedprice","feeexecuted","feefactor","feeforsend","feefreerouter","feegrowthglobal","feegrowthglobal0x128","feegrowthinside","feegrowthinside0lastx128","feegrowthinside0x128","feehandler","feeinfeeunits","feeinformation","feelength","feelibv1","feemanager","feemultiplier","feenum","feenumerator","feeof","feeon","feeonbuy","feeontransf","feeontransfer","feeoutflows","feepaid","feepart","feepayer","feepercent","feepercent1","feepercentage","feepercentageexceedlimit","feepercentages","feeportion","feepot","feeprecision","feeprotocol","feequantity","feerate","feeratewad","feeratio","feereceipient","feereceiver","feereceiveramount","feerecipient","feerecipients","feereimbursed","feerewardslastclaimed","fees0","fees0owed","fees1","fees1owed","feesaccrued","feescollected","feesearned","feeshares","feesink","feeslist","feesmt","feestaken","feestructure","feesum","feesusd","feetake","feetaken","feetaker","feetier","feeto","feetoken","feetokenamounttotransfer","feetokenid","feetokens","feetosetter","feetotransfer","feetype","feevault","feewallet","feewalleta","feewalletb","feewhitelist","feg","fei","feidaiwetharb","fell","fenc","fengshou","fenwick","fenwickstree","ferri","fetch","fetchassets","fetcher","fetchoperatorfee","fetchordeploysurrogate","fetchprice","fetchpriceview","fetchrewards","feth","feth127","feth127pool","few","fewer","fewest","ff","ff0e","ff4","ff4c","ff5","ff52","ff72","ff7708","ff80","ffadc","ffcb","ffd","ffff","ffist","ffistexp","ffts","fg","fh","fhay","fhtokendcf0df","fi","fiat","fiatcoin","fiattokenv21","fiattokenv22","fiattowithdraw","fiber","fiberrouter","fiberrouterexp","fiction","fictiti","fiddli","fidel","field","fieldfacet","fifo","fifteen","fifth","fifti","figur","fil","fil314","fil314exp","file","file2","fill","fillabl","fillamount","fillamt","fillaskorder","filledtak","filledtakeramount","filler","filler1","filler2","fillerc","fillerc20withdrawbuffer","filliporder","filllisting","filllistings","filllporder","filloffchainorders","fillorder","fillorderinteraction","fillorderparams","fillorderto","fillordertoselector","fillpercentage","fillprice","fillpricex18","fillquote","fillsellorder","fillshortrecord","fillstoplimitorder","filo","filter","fina","final","finalamount","finalbalance","finalbalancetokenout","finalbatchid","finalborrowamount","finalbuytax","finaleffectivebalance","finalholder","finalis","finalizeatstored","finalizebridgeerc20","finalizebridgeethdirect","finalizecooldown","finalizedeposit","finalizedepositbatch","finalizeepoch","finalizeerc20withdrawal","finalizeethwithdrawal","finalizeinboundtransfer","finalizeinteraction","finalizelock","finalizemessagehash","finalizeopen","finalizerecovery","finalizeredeem","finalizeredeemfor","finalizesettlement","finalizeslashing","finalizestake","finalizets","finalizeunstake","finalizewithdrawal","finalizewithdrawalbatch","finalizewithdrawalbond","finalizewithdrawimpl","finalprice","finalprocess","finalselltax","finalstablecoinamount","finaltvl","finalweth","financ","financi","find","findandrecordtierchange","findcrosschaincollateral","findentity","finder","findfeasibleborrowband","findtimestamp","findwhatcheckpointtowrite","fine","finger","fingerprint","finish","finishredeem","finishround","finishsolve","finishtime","finit","fire","firebird","firebirdpair","firebirdpairexp","firebirdreservefund","firedrak","firedrake","firetoken","firetokenexp","firewal","firm","first","firstclassdata","firstconverter","firstdaimoveamount","firstheldblock","firsthelperfunding","firstlevel","firstliquidationtime","firstlpprovidetime","firstnet","firstobj","firstparamnotsender","firstpoolid","firstprizeid","firstshort","firstshortmustbenft","firststakeat","firsttrove","fist","fistin","fistlp","fistlptoken","fit","fiva","five","fivefiftyrule","fiveminutebucket","fix","fixabl","fixed18","fixed6","fixed6lib","fixedcryptofee","fixeddata1","fixeddata2","fixedday","fixedeth","fixedfloat","fixedliqcost","fixedliquidationcost","fixedpoint","fixedpoint128","fixedpoint96","fixedpointmathlib","fixedprice","fixedranksreward","fixedrateatstaking","fixedtimelockstaking","fixedtokenbswap","fixedtokenbswapsingleswap","fixedtotokennativedecimals","fixedusd","fixlib","fixm","fixmemoffset","fixminecoin","fixminecoinratio","fixone256","fjchf","fjeur","fjgbp","fl","flag","flaggedat","flagger","flagger1","flagger2","flaggerhint","flaggerid","flaggeridcounter","flaggertoreplace","flagmapping","flagshort","flagstorage","flamincom","flamincomeexp","flamincomeexploit","flan","flash","flash1","flash2","flash3","flashabl","flashaccountant","flashaction","flashactive","flashaft","flashamount","flashamountwbnb","flashapp","flashappb0aeae","flashargs","flashbalance","flashbot","flashbusdamount","flashbusdrepay","flashcallback","flashfee","flashfeedai","flashfeereceiver","flashgovernancearbiter","flashgovernanceconfig","flashlender","flashloan","flashloanactive","flashloanamount","flashloanamountborrowtoken","flashloanbuffer","flashloancallback","flashloandefault","flashloanfailed","flashloanfee","flashloaninitiator","flashloanlogic","flashloanloopingv17","flashloanpremiumtoprotocol","flashloanpremiumtotal","flashloanprovider","flashloanrepaymentparams","flashloanreq","flashloansimple","flashloantarget","flashloantoken","flashloanvars","flashloopadapter","flashmint","flashminted","flashpair","flashpool","flashprotocol","flashprotocol15eb0c","flashrebalanceout","flashrepay","flashstak","flashswap","flashswaprouter","flashtoken","flashvoter","flashwbnbamount","flashwbnbrepay","flashweth","flashwethamount","flat","flatfee","flatfeeusdc","flatten","flavor","flavour","flaw","flayer","fleet","fleeta","fleetcommander","flex","flexibl","flg","flight","flip","flipkeeperworker","flippauseminting","flippaz","flippazone","flipper","fliptoken","flix","float","float128","floatingsupply","floatprotocolexp","flock","floki","flood","floodplain","floor","floorbin","floorbps","floordao","floordaoexp","flooringgetter","flooringperiphery","floorout","floorprice","floorprotocolexp","floorstaking","floorvalue","flow","flowev","flowintopool","flp","fltc","fluctuat","fluid","fluidlocker","flush","flushpol","flutter","flux","fluxmul","fluxperve","fluxtoken","fly","flylong","flylongdrainattack","flylongexp","flywheel","flywheelgaugerewards","fmt","fn","fnf","fnft","fnfthandler","fnftid","fnfts","fnmap","fo","focu","focus","fold","folder","folk","follow","fomo","fontain","fool","foom","foomcash","foomlottery","foomlottery239af9","foot","footbal","footgun","foothold","footnot","footprint","foranynftsthrougheth","forattacker","forbid","forbidden","forc","forceabl","forceandwaiverrewards","forceapprove","forcedeallocate","forceschedule","forcesend","forceupdatenodes","forcewithdraw","forcewithtax","forcibl","foreclos","forei","foreign","foreignasset","foreigndeposit","forens","forev","forex","forfeit","forfeitreward","forg","forgeabl","forgedblob","forgeddata","forgedroot","forgedsig","forger","forgeri","forgershare","forget","forgewithlisted","forgingfee","forgiv","forgiven","forgo","forgon","forgot","forgotten","fork","forkblock","form","formal","format","formbasicinput","former","formp","formul","formula","fort","forta","fortastaking","fortastakingvault","forth","forti","fortress","fortressloan","fortressloansexp","fortresspriceoracle","fortube","fortun","fortunewheel","foruser","forvotes","forward","forwardaddress","forwardedaddress","forwardedholder","forwardfees","forwardparams","forwardpayload","forwardrequest","forwardtimestamplimit","fot","found","foundat","foundationaddress","foundationamount","foundationfee","foundationwallet","founder","founderparams","founderpct","foundri","foundrytoken","four","fourth","fox","foxdistributor","foxlpbondspool","foxtoken","foxtousdtpath","fp","fpb1","fpb2","fpc","fpi","fpicontrollerpool","fpq1","fpq2","fpr","fpy","fractal","fraction","fractionalis","fragil","fragment","fragola","fram","frame","framework","frankencoin","frankenstein","fraudul","frax","fraxamount","fraxamounti256","fraxb3","fraxborrowcap","fraxborrowedbalances","fraxborrowedsum","fraxbp","fraxlend","fraxlendpair","fraxusdcpool","free","freeb","freebalance","freebproxy","freecollateral","freed","freedcollateral","freedebt","freedom","freedomexp","freefal","freefallfixed","freefunds","freegameid","freeli","freememorypointer","freememptr","freemint","freeshares","freetoken","freez","freezefarm","frequenc","frequent","fresh","freshacc","freshaccount","freshli","friction","frictionless","friend","friendli","frob","frog","from","from18","from3rd","from_","fromaddr","fromaddress","fromaddressdata","fromamount","fromasset","fromassetpool","frombalance","frombalancebefore","frombalancebeforetransfer","frombank","frombasket","fromblock","fromchain","fromchainid","fromcontract","fromcontractaddr","fromdecimals","fromepoc","fromepoch","fromfeerate","fromfew","fromindex","fromint","frominternalbalance","fromjar","fromjaramount","fromlocked","fromnfttotoken","fromnominal","fromperiod","frompool","fromposition","fromprice","fromprincipal","fromreward","fromstate","fromsystemprecision","fromtick","fromtoken","fromtokenamount","fromunderlying","fromunderlyingamount","fromvault","fromwhitelist","fromzrc20","front","frontend","frontendrecipient","frontier","frontrun","frontrunn","froze","frozen","frozenactionexr","frozenmax","frozenof","frwd","frx","frxeth","fs","fsamm","fsammhaybusd","fsd","fsdvesting","fshib","fsm","fsof","fst","fstswap","fstswapcall","ft","ftm","ftmusd","ftmx","ftoken","ftreserve","ftsaddress","ftskey","ftt","fudg","fuel","fulcrum","fulfil","fulfillcancel","fulfillcancelredeemrequest","fulfillchecked","fulfillfunctionid","fulfillmultipleorders","fulfillorder","fulfillrandomness","fulfillrandomwords","fulfillredeem","fulfillredeemrequest","fulfillrequest","full","fullallowance","fullamount","fullbalance","fulldddd","fullgap","fulli","fullmath","fullmuldiv","fullmuldivup","fullnativebalance","fullprincipal","fullrangehook","fullrestricted","fullrestrictedstakerrole","fullreward","fullsharebalance","fulltokenbalance","fullwithdraw","fullyclaim","fullyclaimreward","fullyfilled","fum","fumbl","fumfromfund","fumin","fumout","fumprice","fumsellprice0","fumsellprice2","fumsupply","fun","func","func19c","func1d89","func43kdpns","function","functioncall","functioncallwithvalue","functiondelegatecall","functiondelegatecallunverified","functionfeeconfigs","functionid","fund","fundabl","fundadded","fundaddress","fundament","fundamount","fundblock","fundcommitment","fundcontract","fundedprincipal","fundedreward","funder","fundfum","fundingfeeamount","fundinggrowthglobal","fundinggrowthrangeinfo","fundingpayment","fundingpayments","fundingvotepowercast","fundliquiditytraderjoev2","fundmanager","fundmanagerburnfrom","fundo","fundposition","fundrate","fundsavailable","fundsborrowed","fundsdeposited","fundsmodule","fundsneeded","fundsource","fundsreceived","fundsreceiver","fundswithdrawn","fundtokenidx","fungibl","fungiblebalance","fungiblesoffset","fungiblestates","funnel","furo","fusd","fusdc","fusdc127","fusdpool","fusdt","fuse","fusion","futur","futureperiod","futureswap","futureswapexp","futuretoken","fuzz","fuzzer","fwd","fweth","fx","fxrp","fxusd","g0","g003","g007","g1","g16","g2","g4vp","g8keep","ga","gacha","gachamachine","gachatickets","gachatoken","gachatokenid","gadget","gain","gainafterfee","gaino","gainos","galaxi","galaxyfox","gambl","game","gameabl","gameamount","gameexp","gamefee","gamefi","gameid","gameinfo","gameitems","gamelogiccontractrole","gamemode","gamenft","gameover","gameownership","gamepools","gameprice","gamif","gamifi","gamma","gamma0","gamma1","gamma2","gammaacc","gammai","gammatobeclaim","gammax1","gammax2","gammay1","gammay2","gangster","gangsterfin","gangsterfinanceexp","gap","gappedworse","garbag","gargantuan","gasamount","gasexcess","gasfee","gasfees","gasfirst","gasforrelay","gasleft","gasless","gaslessreservoirenabler","gaslessreservoirenabler9b58fd","gaslimit","gaspric","gasprice","gaspricebid","gasspent","gasspentwei","gasswapout","gastank","gastankpaymaster","gastargetperl1block","gasterm","gastobridgeout","gastoforward","gastoken","gasused","gaszipfacet","gasziprouter","gate","gatekeep","gatewai","gatewayaddress","gatewaybyaddress","gatewaycrosschain","gatewayregistry","gatewaytoken","gatewaytransfernative","gatewaywithtoken","gather","gator","gaug","gauge1","gauge2","gaugea","gaugeaddr","gaugeb","gaugecl","gaugecontroller","gaugeemissions","gaugefactorycl","gaugeremoved","gaugetopool","gaugetotalvotes","gaugeweight","gave","gax","gaxexp","gaxtoken","gbc","gbp","gc","gcidx","gcoracleid","gd","gdc","gdcbuyer","gdcexploit","gdcreferrer","gdctoken","gdctokene33423","gdexpansiontomint","gdinteresttomint","gdsexp","gdstoken","gdstokenc1bb12","gdstousdt","gdsupply","gdsusdt","gdsusdtaddliquidity","gdsusdtremovliquidity","gdt","gdubi","gdx","ge","gearbox","geb","gebproxyactions","gebsafemanager","gebsafemanagerlike","gelato","gelatofi","gelatoslippagebps","gelatoslippageinterval","gem","gemamt","gemamt18","gembonus","gemjoin","gemjoin5","gemjoina81598","gempad","gempadlock","gen","gener","generalis","generaliz","generalizeddotc","generalmintnotopen","generateorderid","generateperformance","generatequotesignature","generaterefcode","generatereward","generatesteam","generatesteamfromupsburn","generatesubsets","generatetokens","generationentitycounts","generationincremented","generationmintcounts","genericlogic","genericroute","genericrouteparams","genericrouter","genericswaproutefailed","genesi","genesisbal","genesisbalance","genesispool","genesispoolmanager","genesisprotocol","genesisuser","genom","gentl","genuin","geo","geograph","geometr","get","getaaveportaldebt","getacceptedtokeninfo","getacceptedtokens","getaccountbalance","getaccountfingerprint","getaccountinfo","getaccountliquidity","getaccountowner","getaccountsnapshot","getaccounttoken","getaccrewards","getaccruedrewards","getaccumulatedfeesandpositionsdata","getactionexr","getactivehook","getactiveid","getactiveworkers","getactualprice","getactualsupply","getadapter","getaddliquiditytrigger","getaddress","getaddressa","getaggregationamountsout","getallconfig","getallfundinggrowth","getallocations","getalltokens","getallvalue","getamount","getamount0toreachk","getamount1toreachk","getamountin","getamountout","getamountoutwithfee","getamounts","getamountsforliquidity","getamountsin","getamountsout","getandsetnewloanid","getandupdatelockedamount","getandvalidatereferrer","getandvalidatesafefromsender","getandverifydigest","getapproved","getapproximatevirtualsupply","getaprecise","getapystake","getargaddress","getarraysum","getasset","getassetclassids","getassetprice","getassets","getassetsbasedonprice","getassetswithstate","getaum","getauminusdp","getaurapendingreward","getaux","getavailablebalance","getavailabledelegatorreward","getavailableliquidity1","getaverageprice","getbalance","getbankstorage","getbaseaprwithupdate","getbasetokens","getbestask","getbestorder","getbeststrategy","getblocknumber","getblocknumber64","getbnb","getbnbpriceinusdt","getbond","getbookkey","getboostpercentage","getborrowbalance","getborrowdetails","getborrowerrepurchaseobligation","getborrowing","getborrowingfees","getbufferdeficit","getbuybacklkdpercentage","getbuybackprice","getbuyprice","getcalculatedbnbrecieved","getcallparams","getcanclaimed","getcanclaimusdt","getcash","getcashprior","getcashpriorwithflashloan","getchainid","getchainlinkprice","getcheckout","getcitinusdallfixedrates","getclaimableamount","getclaimableassets","getclaimableflux","getclaimablepercent","getclaimabletokenamountandgammatoclaim","getclaimquota","getclientratebylenderrateperblock","getcollamt","getcollateral","getcollateralamount","getcollateralratio","getcollateralratiospotprice","getcollateralsurplus","getcollateralvalue","getcollectedfees","getcomponents","getconfig","getconfigsforborrow","getconfiguration","getconfirmations","getcontract","getcontractaddress","getcontributiontokenamount","getcorrectthreshold","getcreatorpaymentinfo","getcreditlimit","getcreditlimitrate","getcreditlimitusd","getcrosschaincollaterals","getcrvusdusdeemainusd","getctokenfor","getcumulativepayouts","getcurepochconpubkeybytes","getcurrentairdropbalance","getcurrentburnrate","getcurrentday","getcurrentepoch","getcurrenticr","getcurrentperiod","getcurrentprice","getcurrentsupply","getcurrenttick","getcurrentvalue","getcurrentvotes","getcurvepoolprice","getd","getdatabefore","getdatabyreceipt","getday","getddddvalueinusdt","getdebt","getdebtamount","getdebtbalance","getdebtof","getdebtrepayamount","getdebtwithaccruedinterest","getdecimals","getdefaultpositionrealunit","getdelegate","getdelegatereward","getdelegatestake","getdelegation","getdelegationsbyholder","getdeployedswapassets","getdepositamount","getdepositat","getderivedprice","getdetailedaum","getdirectreferralcount","getdiscountbyamount","getdiscountrate","getdistributionstorage","getdivestflashloanamounts","getdivisorbytime","getdmem","getdn404storage","getdocboolvalue","getdoughconnector","getdpcprice","getdueinfo","getdutyownerbyindex","getdutyowners","getdy","geteachreward","getegdprice","geteigenpodshares","getemissary","getemissaryconfig","getepochstartts","getequilibriumcoverageratio","getequsdt","geterc20bycontract","getescapehatchstatus","getethbalanceineigenlayer","getethcrosschainmanager","getethsignedatomicorderhash","getethsignedmessagehash","getethundermanagement","getexchangecash","getexchangeprices","getexchangeratio","getexecutionprice","getexecutoradmin","getexp","getfactors","getfasttransferamount","getfee","getfeecollected","getfeed","getfeegrowthinside","getfeepercentage","getfeerate","getfees","getfinalizets","getfixedday","getflashloanfeepercentage","getfpy","getfractionaltokens","getfractionforamount","getfreebalance","getfundingpayments","getfundnavvalue","getgateway","getgaugeweight","getglobalshortaverageprice","getglobalshortdelta","getgoldeneggtokenid","getgrossliquidityandbalancesfordeposit","gethighestprice","getholdermanagementstorage","gethooks","gethubaddr","gethypotheticalaccountliquidity","gethypotheticalaccountliquidityinternal","getid","getidforunderlying","getimplementation","getinactiveactiondelta","getinformationstorage","getinitialswapdata","getinputpositionvalue","getinputprice","getinsidefees","getinterest","getinterestamount","getinterfaceimplementer","getintoracleprices","getinvestedvalue","getinvitersuns","getinvpricex128","getisownedtokensbackfillcomplete","getitokenbonusamount","getjoev2lbhooklens","getkbusdt","getkeybyid","getkyberrouter","getl1callvalue","getlastconfirmedvrscstateroot","getlastglobalpoint","getlastupdatedblock","getlatestaddress","getlatestblockid","getlatestprice","getlatestrate","getlatesttrovedata","getlength","getlidodata","getlidoupdatetolerance","getlimit","getlineprice","getlinkamountfortoken","getlinkfee","getliq","getliqparams","getliquidassets","getliquidationvalue","getliquidityamounts","getliquidityforamount0","getliquidityforamount1","getliquidityforamounts","getliquidityindex","getlivepricefrominheritance","getloanliquidity","getlockedamount","getlockedamountbyaddress","getlockedcount","getlockedcountbounded","getlocker","getlowestprice","getlp","getlpamount","getlpfairprice","getlpprice","getlpunitprice","getmarginbalanceusd","getmarketexecutionprice","getmarketmaker","getmarketunitprice","getmarketunpnl","getmarkprice","getmax","getmaxdrawdown","getmaxliquidationrepayamount","getmaxscore","getmaxtotalwithdrawalqueues","getmaxwithdrawalamount","getmbupriceinusdt","getmeltvalue","getmetadata","getmethodsig","getmin","getmindelay","getminout","getmintamount","getmintamounts","getmintimebetweenwithdrawalqueues","getmintvalue","getmodulefee","getmodules","getmp","getmpethfrompool","getmugbondquote","getmulticollatdiamond","getmychildersbalanceof","getmyshort","getnativetoken","getnativetokensymbol","getnav","getnavinnumeraire","getnewcalldata","getnewglobalexr","getnewindex","getnewloanaccounting","getnextglobalshortaverageprice","getnextmanager","getnexttokenid","getnftdata","getnodereward","getnodewithcreatime","getnonce","getnormalizeddebt","getnormalizedincome","getnumclaimable","getoffsettime","getoffsettimehours","getoldtokenbalance","getonchainprice","getooswap","getoperatorstake","getoperatorutilizationheapforeth","getoracleprice","getorcreate","getorder","getorderborrowbalancecurrent","getorderbyday","getorderdetail","getoutputpositionvalue","getowedfee","getownbalance","getowner","getownerbalance","getowners","getownstorage","getp","getpackeduseroperationhash","getpair","getparams","getparaswapdata","getparent","getpasttotalsupply","getpayload","getpendingreward","getpendingrewards","getpendingstethreward","getpercenta","getpercentagestaked","getperiod","getpermissionentry","getpertokenreward","getplayerusernameid","getpmmstate","getpnlpercent","getpointers","getpool","getpooladdress","getpoolbalance","getpooledapebyshares","getpooledavaxbyshares","getpooledethbyshares","getpoolid","getpoolintvalue","getpoolkey","getpoolmetadata","getpoolstorage","getpooltokens","getpoolvalue","getposdebtshares","getposition","getpositiondata","getpositiondebt","getpositionfees","getpositionid","getpositionindexesfiltered","getpositionobject","getpositionprice","getpositionvalue","getpostliquidationcollateralratio","getpremarketuser","getpric","getprice","getpriceanddecimals","getpriceandscale","getpricebypositiondata","getpricefeedprice","getpriceforlevel","getpricefromid","getpriceofusdt","getpriceperfullshare","getprices","getpriceunsafe","getpriceusd","getpricewbnb","getpricex128","getpriorbalanceindex","getpriorsupplyindex","getpriorvotes","getprofit","getprofitforeth","getprorataownership","getprotocolinfo","getpseudototalpool","getptrate","getpttoassetrate","getpttosyrate","getpurchasedamount","getpurchaseprice","getquantammadmin","getquantity","getquestionid","getquoteadjusted","getquoteattick","getquoteforusdc","getquoteforweth","getrandom","getrandomonchain","getrate","getratiofor","getredeemablepayouts","getreferrer","getreflectedamount","getreflectrate","getrelayerfeeforamount","getreleasableamount","getreleasableshares","getremainingbalance","getremoveliquidityonetokenout","getremovetokens","getrequesthash","getrequeststatus","getrequiredcollateral","getrequiredcomponentunitsforissue","getreservenormalizedincome","getreservenormalizedvariabledebt","getreserves","getreservessorted","getresourcelock","getrestorationproof","getresult","getrevertmessage","getrevertmsg","getreward","getrewardaccrualtimeelapsed","getrewardamountof","getrewardforowner","getrewardforperiod","getrewardforstakingstore","getrewardfortokenid","getrewardforuser","getrewardpoolslot","getrewards","getrewardtoken","getrewardtokens","getringhash","getroleadmin","getrolloverindex","getrootnodeandcompress","getrouteradd","getroyalties","getroyaltypayoutaddress","getroyaltypayoutrate","getroyaltypercentage","getrusdybyshares","getsafe","getsalecost","getsavedorspotoracleprice","getscalingfactor","getsellburnratio","getsellfee","getsellordercancellationblocknumber","getsellparam","getsellprice","getsendoptions","getserviceproviderdetails","getsessionkeysbywallet","getsetissueamountforeth","getsettlementstate","getshareprice","getsharesbyrusdy","getsilos","getsingletimepoint","getsirandbironblock","getslashedamount","getslot0","getslotpower","getsoldtokens","getsponsorpart","getsqrtpriceattick","getsqrtratioattick","getstabilizer","getstakeamount","getstakedbalance","getstandardamount","getstate","getstaticincome","getstethtoethoracleprice","getstorageat","getstoredmessage","getstoredweight","getstoremessagehash","getsubaccounttotalmargin","getsum","getsupportedasset","getswapamt","getswapdata","getswapfeepercent","getswapfeepercentage","getswapin","getswapprice","gettableuint256value","gettargets","gettax","gettba","getter","gettermsinfo","getthreshold","gettickatsqrtratio","getticketstorage","gettimerangeby","gettimeweightedaverage","gettoken2price","gettokenaddress","gettokenaddressfor","gettokenamountforlink","gettokenamountfortoken","gettokenamountfromusdt","gettokenconfigbyreporter","gettokenfromhere","gettokenid","gettokenliquidity","gettokenmanager","gettokenprice","gettokenpricesellc","gettokenpriceusdt","gettokenrate","gettokenrecord","gettokens","gettokentobnbprice","gettokentransferproxy","gettokenvalue","gettokenvalueinusdt","gettopmanager","gettotalamounts","gettotalandperpoolunderlying","gettotalassetbalance","gettotalassets","gettotalassettvl","gettotalbalanceforasset","gettotalbaretoken","gettotalborrowingfees","gettotaldeposits","gettotaldepositshares","gettotalfeepercentage","gettotalliquidityasset","gettotalliquiditystable","gettotalpool","gettotalreceived","gettotalrewards","gettotalstaked","gettotalsupply","gettotaltokens","gettotalvalue","gettotalvotes","gettradeavailablecollateralindiamond","gettradeclosingpriceimpact","gettradepriceimpact","gettradepriceimpactp","gettraderbalance","gettradeskewpriceimpactp","gettransactionhash","gettransferfromdata","gettransfertype","gettransientftreserve","gettreasury","gettreasuryadd","gettreasurypercentage","gettrickamt","gettrovecollanddebt","gettvalues","gettxtype","getuint","getuint256","getumbrellaprice","getunclaimedflux","getunderlyingamount","getunderlyingbalances","getunderlyingnftprice","getunderlyingprice","getunderlyingtokens","getuniswapv2router","getunit","getunits","getuniv2liq","getunlockingpercentage","getunspecifiedamount","getunstakingvaultbalance","getunvestedamount","getupdatefee","getupgradeprice","getupwardreferrers","getusdedaiemainusd","getusdefraxemainusd","getusdeghoemainusd","getusdeusdcemainusd","getusdnormalizedvalue","getusdprice","getusdvalue","getusdxlatokenproxy","getusedmargin","getuseraccount","getuseraccountdata","getuserboostdata","getusercanmint","getusercollateralamount","getuserdebt","getuserinfo","getuserlevel","getuserlockedamount","getuserophash","getuserreferrallevels","getuserstaking","getuserunclaimedrewards","getv1storage","getv3price","getv8stats","getvalueinnumeraire","getvalues","getvatstorage","getvault","getvaultvaluesafe","getvestedamount","getvirtualprice","getvotes","getvotesbytokenid","getvotingpowerforproposalcreation","getvotingpowerforproposalexecution","getvotingpowerof","getvotingstatus","getvowvscrate","getwadprice","getwaitreleasecoin","getweight","getwhiteliststorage","getwithdrawablebalance","getwithdrawalrequests","getwithdrawalstatus","getwithdrawout","getwstethbysteth","getwxetastorage","getxcp","getxdown","getxxxmodule","gety","getyield","gf","gfa","gflaggerid","gfloor","gfox","gfoxexp","gfoxtoken","gfstaking","gfx","gg","ggg","gggtoken","gho","ghost","ghsa","ghst","ghstmarketprice","ghststakedforvghst","ght","ghtcontract","ghybr","giant","giantlp","giantm","giantmevandfeespool","giantmevandfeespoolbase","giantpoolbase","giantsavethvaultpool","giddi","giddylibraryv3","giddyvaultv3","gift","giga","giganamenft","giganamenftbeforeupdatehandler","giganoobnft","giganoobnftbeforeupdatehandler","gigant","gigavers","gimmick","girl","git","github","give","giveamt","giveawai","giveawayone","givefraxtoamo","givefullwidth","given","givenfreefunds","givenout","giventotalsupply","giver","glanc","glare","glb","glbdebtval","glen","glenflash","glitch","glo","global","global0","globalairdropinfo","globalcollateralratio","globalconfiguration","globalcum","globaldata","globaldatalibrary","globaldepositexr","globaleligibleunits","globalescrow","globalexr","globalhooksroot","globalhooksvetoed","globalindex","globalliquidityasset","globalliquiditystable","globalotcslot","globalpoint","globalproof","globalreceipttoken","globalrewards","globalsettlement","globalshortaverageprice","globalshortaverageprices","globalshortsize","globalshortsizes","globalslash","globalstate","globalsupply","globaltotalvotes","glovabl","glove","glovefarmed","glp","glpamount","glpdepositor","glpmanager","glporacle","glpstrategy","glpsupply","glu","glue","gluex","gluexrouter","gluexrouterfixed","glx","gm","gmt7","gmt7exp","gmt7helper","gmtick","gmx","gmxexp","gmxpositioncallback","gmxvault","gn","gnimb","gno","gnosi","gnosissafe","gnosissafe34cfac","gnosissaferegistry","gnosistargetdispenserl2","gnosistrade","gnsdiamondfixed","go","goadventure","goal","goat","goblin","god","godead","godzilla","goe","gold","goldcoin","golden","goldpesa","goldreserve","goldse","gon","gonbalance","gonbalances","gondi","gone","gonsperfragment","gonsperfragmentnew","gonsperfragmentold","gontotalvalue","gonvalue","good","good1","good1swap","good2","good2swap","goodcompoundstaking","goodcompoundstakingv2","goodconfig","gooddollar","gooddollartoken","goodfundmanager","goodmarketmaker","goodreservecdai","goodstanding","goog","googlx","gorpl","gospel","gotcha","gotchi","gotparticipants","gotten","gout","goutbalance","goutpool","gov","govern","governancedelegatee","governancehybr","governancepoolcap","governor","governoralpha","governorproxy","governorvotesquorumfraction","govid","gpc","gpt","gptexp","gpu","gpufee","gputoken","gpv2settlement","gpx","gpxhooks","gpxhooks4519e2","grab","grace","gracefulli","grade","gradient","gradientmarketmakerpool","gradientpool","gradual","graduat","grai","grand","grandpa","grant","grantabl","grante","granter","grantlendinternal","grantrole","granular","grape","grapestoken","graph","gratuit","graveyard","greas","greater","greatli","greedi","green","grep","grew","grid","grief","griefer","grim","grimboost","grimboostvault","grimexp","grind","grindabl","grinder","grizzifi","grizzifiexp","grok","grokd","gross","grossassets","grossli","grossliquidity","grossvalue","grotesqu","groth16","ground","group","grow","growabl","grower","grown","growth","growth1e18","growthinfo","growthoutsidetickmap","grt","gs","gsd","gsn","gsnutils","gsnv2","gss","gssdao","gssexp","gssgssdaopool","gt","gte","gtmv","gtmveth","gto","gtrade","guarante","guaranteedmint","guard","guardedentry","guardedpull","guardian","guardianaddress","guardiancount","guardmanager","guardrail","guardview","gud","guess","guesswin","guesswork","gui","guid","guidanc","guild","gulp","gun","gunilporacle","gupdatedat","gusd","gut","guysbi","gvc","gw","gwei","gx","gy","gym","gym1exp","gymnast","gymnet","gymrouter","gymrouterc3a755","gymsinglepool","h0","h02","h0y","h1","h1y","h2","h2balanc","h2obal","h2oexp","hack","hackathon","hackdao","hackdaoexp","hacker","hackerdao","hackertemplate","haddress","hadn","hai","hair","haircut","halborn","half","halfamt","halfray","halfspread","halfwai","hallmark","halt","haltsubmitimports","halv","hammer","hamount","hamster","hana","hanabalcontract","hand","handedli","handl","handleaction","handleactionafter","handleactionafterfortoken","handleactions","handleborrow","handleborrowcrosschainrequest","handlebuy","handlecanceled","handleddepeggedcurvepool","handledeductfee","handledepeggedcurvepool","handledeposit","handleexecuteliquidity","handlefees","handleflashloanrepayment","handleliquidationexecute","handleliquidationsuccess","handlemintfee","handleop","handleoperation","handleops","handleoutflow","handleoutgoingresdl","handlepermit","handlepostop","handlequerypayment","handler","handleratio","handlerdatastorage","handlerdatastorageaddr","handlerepay","handlerepayment","handlereport","handleroyalties","handlertranscation","handlesell","handlespecialuser","handletax","handletaxsellandlpkvalue","handletokenmintandswap","handletradevaluetransfer","handlevalidborrowrequest","handlewithdraworrelocklogic","handoff","handov","handshak","hang","hanji","happen","happi","happili","har","hard","hardcap","hardcapethamount","hardcod","harden","harder","hardhat","hardwar","harm","harmless","harmlessli","harmoni","harmonix","harmonymultisigexp","harsher","hartokensale","harvest","harvestandreport","harvestassets","harvestbatchmarketrewards","harvestfinanceexp","harvesthoney","harvestlp","harvestmarket","harvestmarketrewards","harvestondeposit","harvestperformancefee","harvestreward","harvesttoosoon","hasaccruedfees","hasactivegrant","hasclaimed","hascoindirectly","hasdebtinothersilo","hasdeposited","hasdepositrecord","hasdirectreferrals","haseth","hasethbalance","hash","hashalreadyconsumed","hashamount","hashdistribution","hashedmessage","hashedtransfers","hashedvalue","hashexecuted","hashinattackerblob","hashlib","hashoffer","hashoftransfers","hashook","hashorder","hashpubkeytopubkey","hashrat","hashrateused","hashreservetransfers","hashstruct","hashtopoint","hashtypeddata","hashtypeddatav4","hashvalue","hashvaluetwo","hasleft","hasmultiplepools","hasn","haspartiallywithdrawn","haspermission","haspricefeed","hasprofit","hasreferrer","hasrefunded","hasrevertmessage","hasrole","hassignedup","hasstaked","hassubscriber","hassucceeded","hastoken","hasvault","haswithdrawn","hat","hatch","hate","hatestaking","hatssignergate","haul","haveamount","haven","havgprice","hawk","hax","hazard","haze","hazedeer","hbal","hbtc","hbytes","hc","hct","hctexp","hdai","head","headcount","header","headlin","headpercent","headroom","heal","healcost","health","healthbps","healthexp","healthf","healthfactor","healthfactor0","healthfactor1","healthfactorafterdecrease","healthfactorliquidationthreshold","healthfactorltv","healthi","healthier","healthratio","heap","hear","heart","heartbeat","heartbeatduration","heaven","heavensgateexp","heavi","heavier","heavili","hedera","hedg","hedgei","hedgeyfinance","heed","hegic","hegicpool","height","heightsandtxnum","heisenberg","heisenberghook","heisenberghookbea90e","heist","heistreceived","held","heldamount","heldasset","heldbusd","hello","help","helper","helper1","helper1356","helper2","helperaddress","helperamount0out","helperb","helperbalance","helpercontract","helperexploit","helperexploitcontract","helperi","henlo","henlokart","henlokartstorage","her","hero","heroerc721a","heroid","heroowner","heth","hether","hethwbtc","heurist","hex","hexag","hexen","hexinterface","hexot","hexotc","hf","hfor","hfun","hhb","hhbto","hi0","hibern","hibernationden","hid","hidden","hide","hierarchi","high","higher","highest","highestbid","highfee","highli","highlight","highprecisionprice","hightick","hijack","hike","hil","hilbtctoken","hing","hinkal","hinkalbase","hint","hintarraytoolong","histor","histori","historicalagent","historicalattackpayloads","historicalblk","historicalcalldata","historicaldebtshares","historicalethprofit","historicalprofit","historyrewards","hit","hive","hmx","hnet","ho","hoard","hoc","hodl","hodlcapital","hodlcapitaleda47e","hodlcapitalexploit","hodler","hodog","hodogewbnbpair","hofreserve","hold","holder","holder0","holder1","holder2","holder21","holderindex","holderone","holdersamount","holderstatus","holderthree","holdertwo","holdingfeescollateral","holdingout","holdingtoken","holdsafe","holdsafeattack","hole","home","homemad","homora","honei","honest","honesti","honestli","honestprover","honeybox","honeyjar","honeyjarportal","honeyjarpriceerc20","honeyjars","honeypot","honor","honour","hood","hook","hook26267","hook_","hookbeforecheck","hookcontract","hookdata","hookdatahash","hookgas","hookinitialized","hooklens","hooklet","hooksdata","hookshash","hooktarget","hooktargetstakedelegator","hoorai","hop","hope","hopelend","hopelendexp","hoppi","hopr","hor","horeward","horizon","horsbalance","horsexp","host","hostag","hostil","hoststatustransferred","hot","hotfix","hotpath","hotswap","hour","hourburn","hourburntime","hourli","hoursnow","hous","housekeep","houseofcoin","houseofreserve","housepool","housewallet","howev","hoyeedpair","hp","hpai","hpayexp","hpaytoken","hpledg","hpool","hq","hr","hreceiv","hs","hse","hsg","hsm","hsms","hsnx","htl","htlc","htlcrecipient","htlcs","hto","htoken","htokenamount","http","hub","hubcontract","hubpool","hubpoolstate","huff","huge","hugeamount","huma","human","humanstandardtoken","hundr","hundredfinance2exp","hundredpc","hundredth","hunni","hunnybalance","hunnybnbamount","hunnybnbfliptoken","hunnyminter","hunnyperprofitbnb","hunnypool","hunt","husd","husdc","hwbtc","hwhale","hx","hy","hybr","hybra","hybrid","hybux","hydro","hydt","hygien","hype","hypeamount","hypebuffer","hyper","hypercor","hypercore","hyperevm","hyperevmvault","hyperhyp","hyperinflateprice","hyperlan","hyperlend","hyperliquid","hyperliquidescrow","hyperliquidspotbridge","hypern","hyperst","hyperswap","hyperswappair","hypervaultrouter","hypervisor","hypescorestored","hypetokhype","hypothesi","hypothet","hypovault","hypr","hypurr","hypurrfi","hyvm","hyvmmasterruntime","i0xcf","i0xcfe0","i256","i4","i6","i9419","i9419marketing","i9419repurchase","ia","iaav","iaaveincentivescontroller","iaavepool","iabstractrewards","iaco","iacotoken","iactcheckcontract","iactionbase","iactivepool","iaddr1","iaerc6909","iaerodromerouter","iajnapool","ialgebrav1factory","ialgebrav1pool","iamptokensrecipient","iapepool","iapproveproxy","iapprover","iaquifer","iasset","iatm","iatmtoken","iatoken","iatomicsolver","iattacker","iaurarewarder","ib","ibabyfactory","ibabypair","ibacon","ibalancer","ibalancerflashloanrecipient","ibalancerpool","ibasegauge","ibaserewardpool","ibasestrategy","ibaseswaprouter","ibasewraplp","ibasisasset","ibazaarlbp","ibbnb","ibbusd","ibc","ibeefytokenmanager","ibep20","ibeth","ibgt","ibgtstaker","ibifkn314","ibifkn314callee","ibiswappair","iblacklist","ibnb","ibnbdeposit","ibondfixedexpiryteller","ibookmanager","iborrowable","iborrowing","ibribe","iburn","iburnable","iburnaddressinterface","ibvault","ic","ic0","icallbackasset","icallee","icapitalpool","icciprouter","icerc20","ick","icktoken","iclaimyield","iclock","ico","icommonstruct","icompound","icomptroller","icompute","icontroller","iconverter","iconvexrewardpool","icorroborativetoken","icr","ictoken","icurve","icurve2tokenpoolv2","icurvefi","icurvegauge","icurvehandlerv3","icurvepool","icurvepoolv1","icurvepoolv2","icurvetwocryptooptimized","icvxstakingpositionservice","id","id0","id1","id2","id22","id2asset","id3","idai","idao","idaoslive","idaostoken","idea","ideal","idefaultpool","idemaxpair","idempot","ident","identicaltokens","identifi","idepayrouterv1plugin","ideposit","idex","idexfactory","idexrouter","idiamond","idiom","idisputecrowdsourcer","idistributioncreator","idl","idleamount","idleeth","ido","idodo","idodocallee","idol","idolmain","idolsnftexp","idorole","idoughdsa","idoughindex","idtoblockoflastdeposit","idtoowner","idtotalsupply","idx","idx0","idx1","idx2","idxof","ie","iearn","iearnaprwithpool","ielytrastrategy","ientity","ierc1155","ierc1155receiver","ierc1271","ierc1271wallet","ierc165","ierc1967","ierc1967proxy","ierc20","ierc2020","ierc20burnable","ierc20extension","ierc20indexable","ierc20like","ierc20metadata","ierc20minimal","ierc20permit","ierc20permitupgradeable","ierc20reserve","ierc20token","ierc20upgradeable","ierc2981","ierc3156","ierc3156flashborrower","ierc3156flashborrowerupgradeable","ierc3156flashlender","ierc4626","ierc721","ierc721burnable","ierc721enumerable","ierc721like","ierc721metadata","ierc721receiver","ierc721updatehandler","ierc7484","ierc7540","ierc7540vault","ierc7702","ierc777","ierc777sender","ieth","iethervistafactory","iethitem","iexchangeproxy","iexchangerateprovider","if","ifactory","ifadmin","ifarm","ifeeratemodel","ifetchshare","iff","ifirebirdfactory","ifirebirdformula","iflashcallback","iflashloanreceiver","iflashloanrecipient","iflashreceiver","iflashtoken","ifluxtoken","ifnotpaused","ifnotreentrantdeposit","ifnotreentrantwithdrawal","ifrax","ifraxlendpair","ifulfiller","ifulfillhelper","igauge","igenesispool","igetroyalties","iglove","ignor","ignoredmin","ignoredstakeflag","ignoredust","ignosissafe","igoodstaking","ihana","ihandler","ihasrouter","ihook","ihooks","ihouseofcoin","ihouseofreserve","ihubcoreregistry","ihypervisor","ii","iia","iii","iilo","iilomanager","iilopool","iindexpool","iinitcore","iinitializableatoken","iinstance","iip","iipseedcurve","ijackpotv1","ijambalancemanager","ijar","ijb","ijbterminal","ijoin","ikeeperoracle","il","il1","il1gateway","il2","il2erc1155bridge","ilb","ilbhooklens","ilbhooksbaserewarder","ilbpair","ildatransferhook","ilendingpool","ileveragehelper1356","ilfi","ilfitoken","ilido","ilidowithdraw","ilinkdaodexcallee","ilinkdaodexfactory","iliquid","iliquiditypool","iliquidxv2factory","ilk","ill","illeg","illegitim","illiquid","illusori","illustr","ilo","iloanmanager","iloantoken","ilomanager","ilopool","ilp","ilpfutureyieldcontract","ilptoken","ilv","im","imachine","imag","imagin","imaginari","imailbox","imainregistry","imanager","imanagerhook26267","imarginpositionmanager","imarket","imarkethandlerdatastorage","imarketoracle","imarketregistry","imarketvault","imasterbelt","imasterchef","imastermind","imath","imbal","imbalanc","imbalancetreshold","imbtc","imerc20","imessagerecipient","imessagetransmitter","imim","iminer","imini","imintable","imintablecontract","imintableerc20","iminter","immateri","immea","immedi","immediatereleasetokens","immediatetokens","immin","immun","immunefi","immut","immutablecreate2factory","imoolahflashloancallback","imorpho","imorphoflashloancallback","imp","impact","impactcharged","impactfee","impair","imped","imperfect","imperman","impermax","impermaxv3borrowable","impermaxv3collateral","impermaxv3exp","imperson","impl","impl1","impl2","impladdress","implaus","implement","implementation_","implementationslot","implementbuy","implementsell","impli","implicit","implicitli","impliedquotetokenqty","implment","import","importantli","importrelation","importseedfromthird","importtransactions","impos","imposs","impossiblepooladdress","impostor","impract","improp","improv","imtoken","imultisourceloan","in","inabl","inaccess","inaccur","inact","inactiveactiondelta","inactivesharesdistributor","inaddr","inadequ","inamount","inbaseqty","inbound","inbox","inc","incent","incentiv","incentiveamount","incentivefee","incentivefeepaid","incentivegauge","incentiveid","incentivekey","incentiverate","incentiveratestored","incentivescontroller","incentivescontrollerlocal","incentivizederc20","incept","inch","inchrouter","incid","incident","inciner","incl","inclaim","inclocked","includ","includeinreward","inclus","incoher","incom","incomingask","incompat","incomplet","incompleteepochtime","inconsist","inconsistentlockperiod","incorpor","incorrect","incorrectamountsent","incorrectcollateral","incorrectercdebt","incorrectindex","incorrectli","incorrectnumberofsharesqueued","incorrectposition","incorrectproposal","incr","increas","increaseallowance","increasebalance","increasebalanceallowance","increasecollateral","increasedebt","increasedeposit","increaseinelyassetprice","increaselock","increaselocktime","increaselongposition","increasepoolamount","increaseposition","increasepositionsize","increasepositionsizevalues","increaseprotocolexposure","increasetotalandpseudototalpool","increaseunlocktime","increaseunwindingepochs","increaseusdpamount","increasingli","increment","incrementalownershipupdatecost","incrementgeneration","incrementlimitsplaced","incrementuplineteamcount","incrfund","incufi","incufiexp","incumb","incur","ind","inde","indefinit","indeflation","indent","independ","index","index0","index1","index_","indexcoopexchangeissuancetoctouexp","indexedfinanceexp","indexeslength","indexgap","indexincrement","indexnew","indexof","indexold","indexpool","indexprecision","indexprice","indextoken","indextokens","indexupdated","indic","indicestoskip","indicestoskipindex","indiffer","indirect","indirectli","indirecttimestamp","indirectvalue","indistinguish","individu","individualdata","induc","industri","ineffect","inelig","inequ","inert","ineth","inevent","inevit","inexhaust","inf","infeas","infer","inferpendinghashrate","infexpiry","infiltr","infin","infini","infinifi","infinifigateway","infinit","infinitesim","infinitysix","inflash","inflashloan","inflashswap","inflat","inflationari","inflict","inflight","inflightbridge","inflow","influenc","info","inform","informationstorage","infra","infrar","infraredbgtmetavault","infrastructur","infravault","inft","inftshadow","infura","ing","ingest","ingredi","inher","inherit","inheritdoc","inimbuscallee","init","init2","initallowedbasekeys","initamount","initbalance","initcalldata","initcod","initcode","initcodefactory","initcodehash","initcore","initdata","initdaylimit","initdestbalance","initgood","initi","initialamount","initialarp","initialasset","initialbalance","initialbalancetokenout","initialbatchid","initialbptsupply","initialbuytax","initialcakebalance","initialcr","initialdeposit","initialdestbalance","initialexchangerate","initialexchangeratemantissa","initialfragmentssupply","initialgas","initialguess","initialinputbalance","initialis","initializ","initializablev2","initializeaccount","initializealphaindices","initializebasketdata","initializecollection","initializedilopools","initializedpools","initializedticks","initializefee","initializelock","initializemodulecore","initializeowner","initializerange","initializeselector","initializevalidatorstakeupdate","initializewithmultiplexer","initiallastpoint","initialmargin","initialmargininusd","initialmargininusdfrombalance","initialmint","initialmintlimit","initialmints","initialmintv2","initialoutputbalance","initialowner","initialpoolpricex96","initialprice","initialreporter","initialrewardaccumulator","initialselltax","initialshare","initialsregistered","initialsupply","initialtoken","initialtotalsupply","initialuniswapk","initialunlocktimeoffset","initialusd0balance","initialusdtbalance","initiateadventure","initiateauction","initiatebridgeerc20","initiateburn","initiatecredit","initiatedeposit","initiateredemption","initiateundelegate","initiatewithdraw","initiatewithdrawal","initiatewithdrawimpl","initinterval","initmargin","initmultiowned","initowner","initparam","initperiods","initpool","initposid","initposids","initproposed","initreserve","initreserves","initslot","initstate","initsupply","inittoken","initvalidatorscore","initvrf","initwallet","initwithdraw","inject","injectedlogic","ink","inkfinanceexp","inlin","inminer","inner","innercalldata","innerhandleop","innermost","innerpair","innersig","innertransferfrom","innoc","innocu","inonfungiblepositionmanager","inop","inprogressproposalsareuptodate","inptr","input","inputamount","inputamountnotreceived","inputasset","inputbalance","inputdata","inputl","inputnullifiers","inputtoken","inputtoohigh","inputtotalsupply","inputvalue","inrecord","inscript","inscriptionid","insecur","insensit","insert","insertcommitments","insertnullifiers","insertuint","insid","inside0","insidi","insight","insignific","insist","insolv","insolve","inspect","instal","installexecutor","installmodule","installplugin","instanc","instant","instantan","instantbps","instantfee","instanti","instantli","instantopen","instantopenpacket","instantredeemlocal","instantredemptionfee","instantwithd","instantwithdraw","instantwithdrawalrate","instatus","instead","instig","instruct","instructiontype","instrument","insuffici","insufficientamount","insufficientamountreceived","insufficientamountreceivedafterswap","insufficientbalance","insufficientbalancebeforeswap","insufficientbalanceinafterpayment","insufficientbalanceincontract","insufficientbalanceoutafterpayment","insufficientcardbundles","insufficientcash","insufficientcollateral","insufficientdeposit","insufficientinputamount","insufficientliqburn","insufficientliquidity","insufficientliquidityburned","insufficientoutputamount","insufficientprizes","insufficientreservebtx","insufficientshares","insufficientsharesforwithdrawal","insufficientsharesreceived","insufficienttokenout","insufficienttokenqty","insufficienttotalsupplytocancel","insufficientusualsallocation","insufficientvaultequity","insur","insuranceamount","insurancedecrease","insurancefund","insuranceshare","inswap","inswapandliquify","int","int128","int192","int24","int256","int56","int8","intact","inteam","integ","integr","integralinv","integratorfeeaddress","integratorfeeinfo","integratortofeeinfo","intelli","intelliquant","intend","intendedbuyer","intens","intent","intention","intentparams","intentprice","intentx","inter","interact","interactionlength","interactionlengthoffset","interactionoffset","interactionsfailed","interactivedata","intercept","interchain","interchaintransfer","interchang","interest","interestattack","interestbps1000000xblock","interestclaimable","interestclaimed","interestdecimalprecision","interestincdai","interestindex","interestminted","interestmodel","interestpaid","interestperusdtpersecond","interestrate","interestratemode","interestratepositionmanager","interestratepositionmanager9ab6b2","interesttoken","interesttop","interfac","interfaceaddr","interfaceid","interfaceiderc1155","interfaceiderc165","interfaceiderc721","interfaceiderc721metadata","interfer","interleav","interlink","interlock","intermedi","intermediari","intermediarytoken","intermediatecontract","intern","internaladdorupdatesession","internalbalance","internalbalances","internalbase","internalbribe","internalcash","internalid","internalperplogic","internalquote","internalquotetokenreserveqty","internalreaduseroperationvalidator","internalseize","internalstakeforaddress","internalsupply","internalswap","internaltrades","internaltransfer","internaltransferfrom","internalwithdrawcollateral","internet","interop","interplai","interpos","interpret","interreceive","intersect","intersectvalidationdata","interv","intervalindays","intervalspassed","interven","intervent","intocurve","intoken","intokenamount","intoud60x18","intouint256","intra","intrins","introduc","introspect","introspectiontoken","intrud","intuit","intx","inu","inuko","inukoexp","inumi","inv","invalid","invalidaddr","invalidaddress","invalidamount","invalidaprerror","invalidateordernonce","invalidaugustus","invalidauthorization","invalidbalance","invalidbasekey","invalidbeneficiary","invalidburnamount","invalidcalculation","invalidcaller","invalidcode","invalidcollectionl1address","invalidcollectionl2address","invalidcommitmentplayer","invalidcontract","invalidcreator","invalidexecutor","invalidindex","invalidinput","invalidinputerror","invalidinputtoken","invalidinstructiontype","invalidlien","invalidlimit","invalidloanerror","invalidmerkleproof","invalidmoduleaddress","invalidnewhosterror","invalidnftsell","invalidnonce","invalidofferstatus","invalidoffset","invalidorderprices","invalidpair","invalidparameter","invalidpath","invalidpercent","invalidpermissionid","invalidphase","invalidpoints","invalidpooltoken","invalidprincipalamounterror","invalidrecipient","invalidreportversion","invalidsessionkey","invalidshortorder","invalidsignature","invalidsigners","invalidsourceaddress","invalidtarget","invalidto","invalidtoken","invalidtokenaddress","invalidtokenid","invalidtokenowner","invalidvalidafter","invalidvaliduntil","invalidvestingwallet","invalidweightconfiguration","invalidwithdrawnshares","invari","invariantmax","invdelta","invent","inventori","inventoryat","inventorylength","invers","invert","invest","investcount","investedamount","investedbalance","investedunderlyingbalance","investgood","investig","investinprojects","investmentmanagerfacet","investmentpercent","investor","investor1","investor2","investora","investoractor","investoraddress","investorb","investorinvestedamountperprojectineth","investorlist","investresult","investstate","investusdt","investvalue","invis","invistech","invit","invite","invitebonus","invitecount","invitelimit","invitemap","inviteraddress","inviterate","inviterrewardamount","inviterrewardratio","invitor","invitorinfo","invoc","invoic","invoicemanager","invok","involuntari","involv","invt","inwindow","io","io2","iobasemiddlewarereader","ioerc20","ioft","iogateway","iomovault","ioraai","ioracle","ioraclemiddleware","ioracletrigger","iorderbook","iordercallbackreceiver","iorionpoolv2callee","iota","iotex","iotx","iou","ious","iovernightexchange","iownablesmartwallet","iownermanager","ip","ipactionswapytv3","ipair","ipancakecallee","ipancakefactory","ipancakelibrary","ipancakepair","ipancakepari","ipancakerouter","ipancakerouter01","ipancakerouter02","ipancakev3factory","ipancakev3pool","iparaswapaugustus","ipayer","ipaymaster","ipbayc","ipc","ipcout","ipendlelimitrouter","ipendlemarket","ipermit2","ipf","ipikefinanceproxy","ipmarket","ipolicy","ipolynomialvault","ipool","ipooladapter","ipoolmanager","ipoolv3","ipositioninteraction","ipositionmanager","iposmanager","ipprincipaltoken","ipredepositvault","ipredypool","ipricefeed","ipricefeeds","ipricegetter","ipriceoracle","ipriceoraclegetter","iprovider","ipseed","ipseedtrust","iptokenapestaking","ipump","ipyieldtoken","iq","iquote","iquoterv2","ir","iramsesrouter","irateprovider","irebasetoken","irecovery","iredeem","iredeemhook","ireferenceassetoracle","ireferral","iregistry","iresolver","irestakedeth","irewardpool","irewardsdistributor","irft","irftpayer","irm","irnspay","irollupprocessor","iron","irouter","irouterbtt","irouterlike","irouters","irrat","irreconcil","irrecover","irredeem","irrelev","irrespect","irretriev","irrevers","irrevoc","irtoken","irysai","isablierbob","isabove","isaccounthealthy","isacquired","isactionallowed","isactivated","isactive","isactiveorzombie","isadapter","isadd","isaddldx","isaddliquidity","isaddliquidityv1","isaddlp","isadmin","isafe","isairaddr","isairdrop","isalgebra","isalive","isallow","isallowedaggregator","isallowsell","isape","isapproved","isapproveddelegate","isapprovederc20","isapprovedforall","isapprovedorowner","isapprovedstablecoin","isarbitrumenabled","isassetsupported","isatomicrequestvalid","isauction","isauthorised","isauthorized","isauthorizedsigner","isautocomp","isbalanceincreaseallowed","isbare","isbelowlimit","isbindreferral","isblacklisted","isbnb","isborrowcapreached","isburnpair","isbuy","isbuynotlocked","isbuyorder","isbuyswap","iscal","iscapped","isclaim","iscollateralincrease","iscollateralized","iscollectionwhitelist","iscommandexecuted","iscompound","iscompounding","iscomptroller","isconfirmed","isconstructor","iscontract","isconvert","iscounterfactual","iscreator","iscurrentepoch","isdebttoken","isdefaultready","isdel","isdelegationslashable","isdelivers","isdelldx","isdelliquidity","isdepegged","isdeposit","isdepositcapreached","isdexpair","isdirty","isdisabled","isduringprefund","isenable","isentity","isenvoy","iserc721approved","iseth","isether","isethernative","isettleractions","isettoken","isexactinput","isexcluded","isexcludedfrombonus","isexcludedfromfee","isexcludedfromfees","isexcludedfromfew","isexcludedfromrewards","isexcludedfromtransfer","isexemptfromrestriction","isfarm","isfcfsmintingactive","isfeeexempt","isfeetokenallowed","isfiat","isfiatcoin","isfillpricevalid","isfinalized","isfinished","isfirstdeposit","isfirstin","isfirsttimeinvestmentaccount","isforfounder","isfrompair","isfromtokennative","isgauge","isgivenin","isgoblin","isgovernanceaddress","isgreaterthanzero","ish","ishezmucollateraltoken","isholder","ishost","isignalservice","isignaturetransfer","isilo","isilo1356","isin","isincreasing","isindispute","isinit","isinitializable","isinitialized","isinitializedmodule","isinmigrationtovtwo","isinstancevalid","isinwhitelist","isisessionvalidatorset","isize","isk1owner","iskilled","iskyc","island","islastcceinorder","islastout","islateentry","islaunch","islaunched","islicensed","islimited","isliquidatable","isliquidity","islisted","islistedxtoken","isloansourceof","islocalorigin","islock","islocked","islong","islongbaseasset","islp","islpstopburn","ismainpair","ismanaged","ismanager","ismarket","ismarketentered","ismarketing","ismarketlisted","ismarketpair","ismartchef","ismartvaultmanagerv3","ismintable","isminter","ismodel","ismoduleenabled","isn","isnative","isnativeasset","isnewstyle","isnft","isnode","isnonrebasingaccount","isnonrebasingfrom","isnonrebasingto","isnotemergency","isnotexpired","isnotpaused","isodd","isodiumauth","isoffersorted","isofficialnft","isok","isol","isolidlyrouter","isomething","isopen","isopenlpmining","isopenlpspecialdealflag","isopenswap","isopentodead","isopentrade","isopentwap","isoperationdone","isoperationpending","isoperator","isoperatorallowed","isoperatorregisteredtodss","isoptimismmintableerc20","isorderliquidated","isoundeditionv11","isource","isown","isownedtokensbackfillcomplete","isowner","isp","ispair","ispairs","ispairwhitelisted","ispassiverebalenabled","ispause","ispaused","ispaymasterenabled","ispayoffavailable","ispermit2","isplatformtoken","ispool","ispoolactive","ispoolowner","ispositionsupported","ispositive","ispresaledone","isprofit","isproposable","ispurchased","isquidmulticall","isquoteasset","isreadonly","isrebalancing","isregister","isregistered","isregisteredcurvepool","isregisteredfarm","isregisteredtoken","isrelevant","isreliableblock","isremoval","isremove","isremoveliquidity","isrenegotiationoffercancelled","isrestrictedtarget","isresultl","isrftpayer","isrollover","isrouter","iss","issafe","issale","issamechain","issell","issellswap","issenator","issessionclaimed","isset","issettoken","isshareownerpdv","issigned","issigner","issigners","issoft","issolvent","issoulbound","issoulboundcid","isspv4","isstablecoin","isstaked","isstaking","isstakingcontract","isstakingenabled","isstart","isstate","issu","issuabl","issuanc","issuancemodulev2","issubscriptionopen","issueft","issuefttoself","issuenewds","issuequantity","issuer","issuesetforexacttoken","issuesetforexactweth","issuetoken","issuetokenamounttouse","issuetokenquantity","issuewithsingletoken2","issuewithspec","issupportallpools","issupportedpool","issvtoken","isswap","isswappair","isswapprice","istaking","istakingpool","istakingrewards","istandardizedyield","istargetweightmet","istaxexempt","istaxless","isterminalof","istimelockexpired","istoeth","istoken0","istoken0vt","istokeninindex","istokensupported","istokenvalid","istokenwhitelisted","istopair","istoplevelcall","istoptier","istorqueloan","istranscoder","istransfer","istransmitter","istrategy","istrigger","istroveinbatch","istrusted","istrustedcreditorset","istrustedforwarder","isttovt","istxlimitexempt","isuniversalrouter","isunlocked","isuperchainerc20","isupervaultstrategy","isupplyfeeder","isupplytoken","isus","isusedwithdrawal","isushimaker","isusingascollateral","isv3","isvalid","isvalidator","isvalidaugustus","isvalidchain","isvalidcontractsignature","isvaliddnft","isvalidepoch","isvaliderc6492signaturenow","isvalidgauge","isvalidnow","isvalidpair","isvalidresourceid","isvalidsig","isvalidsigimpl","isvalidsignature","isvalidsignaturenow","isvalidsigner","isvalidsigwithsideeffects","isvalidtokenid","isvalidversion","isvaluepct","isvaultstakedindss","isvendor","isverified","isvrfpending","iswap","iswapcallback","iswapfactory","iswapmining","iswappair","iswapper","iswaprouter","iswearerofhat","iswethpool","iswhite","iswhiteaddress","iswhitelist","iswhitelisted","iswithdraw","iswithdrawallallowed","iswithinanchor","iswithinthreshold","iswithintolerance","isworkeractive","iswrapped","iswrapper","isxwin","isxwinfund","isyntfabric","iszero","iszombietrove","item","itemadapterclone","itemcount","itemid","itemplegold","itemsell","itemsold","iter","itesseraswapcallback","itethertoken","ithorchainrouter","itm","ito","itoft","itoken","itokenizedhook","itokenmanager","itokenmessenger","itradingcallbacks","itradingstorage","itransferfrom","itransferwithbeneficiary","itreasury","iun","iunilendv2core","iuniswap","iuniswapchecker","iuniswappair","iuniswapv2","iuniswapv2callee","iuniswapv2factory","iuniswapv2pair","iuniswapv2router","iuniswapv2router01","iuniswapv2router02","iuniswapv3factory","iuniswapv3mintcallback","iuniswapv3pool","iuniswapv3poollike","iuniswapv3pooloracle","iuniswapv3swapcallback","iuniv2","iuniv3pool","iunverifiedde7cswapper","iupdatepositionsizeutils","iuraniumcallee","iusd","iusdc","iusdp","iusdt","iuseroperationvalidator","iussd","iv","iv2","iv3","iv3migrator","iv3swaprouter","ivalidator","ivalueliquidrouter","ivariabledebttoken","ivat","ivault","ivest","ivestdao","ivestingescrowfactory","ivestingwallet","iviol","ivisor","ivoter","ivotingadaptor","ivotingescrow","ivotingreward","ivulnerable","ivulnerableswap","iwbnb","iwbtc","iwellfunction","iweth","iweth9","iwithdraw","iwooraclev2","iwrappednativeasset","iwrappednativetoken","iwrapper","iwrappertoken","ix","ixsdwet","ixsdwethpool","ixtoken","iy","iyfi","izrc20","ja","jack","jackpot","jackpotbridgemanager","jackpotticketnfts","jai","jake","jakeamount","jakeout","jam","jambalancemanager","jaminteraction","jamorder","jamsettlement","jamvalidation","jan","januari","japan","jar","jare","jaredfromsubway","jasper","java","javascript","jayexp","jaytoeth","jb","jbaccountingcontext","jbcashouts","jbexp","jbmultiterminal","jbpermissions","jchf","jcnh","jdecompos","jenni","jetton","jeur","jftm","jftmspookytokenv2pool","jg","jgbp","jgtime","jhy","jhylp","jhytoken","jimbo","jimbocontroller","jit","jmul","job","jobids","joe","joeagentattacker","joeagentexp","joeagenttoken","joebefore","joecall","joereceived","joerouter","join","join5","joinduringcooldown","joiner","joinfee","joingame","joinpledge","joinpool","joinswap","joinswapexternamountin","joinswappoolamountout","joinswaprounding","jointli","jok","joker","jokinthebox","jokintheboxstaking","joktoken","journei","jpair","jpulsepot","jrt","js","json","jsub","ju","judao","judaotoken","judg","judgment","juggl","juic","juicebox","juicestaked","juicestaking","juici","jul","julb","juli","julprotocolv2","julswap","julswapexp","jultoken","jump","jumpdest","jumpfarm","jumpfarmexp","jumpi","jun","june","junior","junk","junktoken","justifi","k1","k1x","k1y","k1z","k2x","k2y","k2z","k_","kaboom","kafter","kakarot","kame","kandura","kangaroo","kangaroovault","kap","kape","kapi","karak","karma","kart","kashi","kashipair","kashipairmediumriskv1","kb","kbar","kbari","kbefore","kbusdt","kdai","keccak","keccak256","keep","keepbalance","keeper","keeperbudget","keeperexecutecloseethposition","keeperexecuteopenethposition","keeperfactory","keeperfactoryinvalidsettleerror","keeperfee","kei","kekesanta","kel","kelp","kelpcooldownholder","kepper","kept","kerberu","kernel","kerosen","kerosenedeposited","kerosenevault","kest","kestexp","kestwbnb","key1","keyb","keyc","keyhash","keyi","keyimage","keyinfo","keymanager","keyor","keypair","keys1","keys2","keyword","khype","khypesupply","khypetohype","kick","kickback","kicker","kicktime","kill","killedgauge","killer","killgauge","killme","killwoundedagents","kimo","kind","kine","kinetiq","king","kinto","kintowallet","kips","kipselipropammexp","kitten","kittenswap","klast","klastchanged","klen","kln","kndx","knew","knob","knock","knot","know","knowabl","knowledg","known","knownpancakerouter","knownpool","ko","kodiak","kokonut","kolan","kolanhook","kolanhookexploit","kr","krc","krctokenpairexp","krexp","kt","ktaf","ktafexp","kub","kubdex","kubprice","kubsplit","kubsplitexp","kubusdt","kuiper","kupia","kupiasec","kyber","kyberfeewallet","kybernetwork","kyberrouter","kyberswap","kyberswapexp","kyc","l1","l10","l100","l1001","l101","l1016","l102","l1022","l103","l1035","l1036","l104","l1042","l1049","l105","l106","l1061","l1066","l107","l1079","l108","l1082","l1088","l1089","l109","l1092","l1095","l10963","l1097","l110","l1102","l11023","l1107","l1108","l111","l1119","l112","l1122","l1123","l11244","l1125","l11291","l11293","l113","l1135","l1137","l114","l11401","l1141","l1142","l1143","l1146","l11478","l115","l116","l117","l1172","l118","l119","l12","l120","l12049","l1207","l121","l122","l1220","l123","l1233","l1238","l124","l1240","l1244","l1247","l125","l1257","l126","l127","l12726","l1274","l128","l129","l130","l131","l132","l133","l1330","l134","l1343","l135","l1350","l136","l137","l1374","l13741","l13747","l138","l1384","l139","l13927","l140","l141","l142","l1422","l143","l144","l145","l146","l147","l1471","l1478","l1479","l148","l149","l1497","l14972","l14978","l15","l150","l151","l152","l153","l1533","l1534","l1538","l1539","l154","l155","l156","l1564","l1565","l1566","l1567","l1569","l157","l1570","l1571","l1573","l1574","l1575","l1576","l1577","l1578","l1579","l158","l1580","l1581","l1582","l1583","l1584","l1585","l1587","l1588","l1589","l159","l1590","l1592","l1593","l1594","l1595","l1596","l1597","l1598","l1599","l16","l160","l1601","l1602","l1603","l1605","l1606","l1607","l1608","l1609","l161","l1610","l1611","l1612","l1614","l1615","l1616","l1619","l162","l1620","l1621","l1622","l1623","l1624","l1625","l1628","l1629","l163","l1630","l1632","l1633","l1634","l1635","l1636","l1637","l164","l1640","l1641","l1642","l1645","l1646","l1647","l1648","l165","l1652","l1653","l1654","l1655","l1657","l1658","l1659","l166","l1660","l1662","l1663","l1664","l1665","l1666","l1668","l167","l1670","l1671","l1672","l1673","l1674","l1676","l1677","l168","l1681","l1682","l1683","l1686","l1687","l1689","l169","l1690","l1692","l1694","l1696","l1697","l1698","l17","l170","l1703","l1706","l1709","l171","l1710","l1711","l1713","l1716","l1719","l172","l1720","l1723","l1725","l1727","l1729","l173","l1730","l1732","l1734","l1735","l1736","l1737","l174","l1740","l1741","l175","l1750","l1751","l1752","l1753","l17532","l17553","l1756","l1757","l1758","l17592","l176","l1761","l17617","l1762","l1763","l1764","l17641","l1765","l1769","l177","l1772","l1773","l17733","l17752","l178","l1781","l1784","l1785","l1786","l179","l1792","l1793","l1796","l1797","l18","l180","l1801","l1803","l1804","l1808","l1809","l181","l1810","l1812","l1816","l1817","l182","l1820","l1821","l1822","l1826","l1827","l18283","l183","l18300","l1831","l1832","l1833","l18332","l1838","l184","l1843","l1844","l1847","l185","l1850","l1852","l1856","l186","l1866","l1868","l1869","l187","l1870","l1872","l1877","l1878","l1879","l188","l1880","l1882","l1883","l1888","l1889","l189","l1890","l1892","l1894","l1896","l19","l190","l1900","l1904","l1905","l1906","l1907","l191","l1910","l1911","l1912","l1916","l192","l1923","l1924","l193","l1932","l1935","l194","l1942","l1948","l195","l1950","l1954","l196","l1962","l1966","l197","l1970","l1974","l1975","l19767","l19779","l1978","l1979","l198","l1980","l19805","l1986","l199","l1990","l1991","l1992","l1995","l1996","l1blastbridge","l1block","l1blockid","l1bridge","l1burntamountof","l1chugsplashproxy","l1comptroller","l1depositor","l1depositprocessor","l1erc1155bridge","l1erc20bridge","l1feevault","l1liquiditypool","l1livenessbondnotreceived","l1mapping","l1req","l1sender","l1standardbridge","l1token","l1tol2addresses","l1tol2token","l1write","l1writeprecompile","l2","l20","l200","l2000","l2007","l201","l2012","l2015","l202","l2021","l203","l2036","l204","l2040","l2041","l2045","l2048","l205","l2052","l2053","l206","l2061","l2064","l207","l2074","l2078","l2079","l208","l2084","l209","l2098","l210","l2102","l2105","l2109","l211","l2117","l2119","l212","l2120","l2123","l213","l2130","l2131","l2133","l214","l215","l2152","l2155","l216","l217","l2170","l218","l219","l21927","l2198","l2199","l22","l220","l221","l2211","l2216","l2218","l2219","l222","l2222","l223","l22352","l2237","l2238","l224","l2243","l225","l2253","l226","l227","l2273","l228","l229","l23","l230","l231","l2315","l232","l2327","l2329","l233","l2339","l234","l235","l2355","l2359","l236","l2363","l237","l2371","l238","l2382","l2383","l2386","l2387","l2389","l239","l2390","l2392","l2397","l24","l240","l2405","l241","l24137","l242","l2422","l2425","l2426","l243","l2431","l2433","l244","l2444","l2447","l245","l246","l2467","l247","l2471","l248","l249","l25","l250","l251","l252","l253","l2537","l254","l2540","l2549","l255","l2552","l256","l257","l259","l2590","l260","l261","l2619","l262","l2627","l263","l264","l265","l2655","l266","l267","l268","l269","l2696","l27","l270","l2702","l271","l272","l273","l2731","l274","l2747","l275","l276","l2766","l277","l278","l2785","l279","l2791","l28","l280","l2802","l281","l2811","l2814","l282","l283","l284","l285","l286","l2860","l287","l288","l2884","l29","l290","l291","l292","l293","l2932","l294","l295","l2954","l2957","l296","l297","l298","l2987","l299","l2arbitrumtoken","l2attacker","l2basefeemismatch","l2blastbridge","l2comptroller","l2customtokenaddress","l2gaslimit","l2gasprice","l2logsroothashes","l2mapping","l2maxsubmissioncost","l2messagerelayer","l2req","l2standardbridge","l2token","l2tokenaddress","l2tokenrelayer","l2tol1addresses","l30","l301","l302","l303","l3031","l304","l305","l306","l307","l308","l309","l31","l310","l311","l312","l3127","l313","l3143","l316","l3165","l3167","l317","l318","l319","l32","l320","l321","l322","l3220","l323","l3230","l3236","l324","l325","l326","l3265","l327","l328","l329","l33","l330","l331","l332","l333","l3332","l334","l335","l336","l337","l338","l339","l34","l340","l341","l342","l343","l344","l345","l347","l348","l349","l35","l350","l351","l352","l353","l354","l355","l356","l357","l358","l36","l360","l360489","l361","l362","l364","l366","l368","l369","l37","l371","l372","l373","l374","l376","l3778","l38","l380","l381","l382","l3828","l383","l384","l385","l387","l389","l39","l391","l392","l3932","l3938","l394","l395","l3956","l396","l3963","l397","l398","l399","l4","l40","l400","l401","l403","l404","l405","l406","l4068","l407","l4070","l4079","l408","l409","l41","l410","l412","l4128","l413","l4131","l414","l415","l416","l417","l418","l4189","l42","l420","l421","l422","l423","l425","l426","l427","l428","l43","l430","l431","l432","l433","l434","l436","l437","l44","l440","l442","l443","l447","l448","l449","l45","l452","l453","l454","l455","l457","l4577","l458","l4581","l46","l460","l4601","l461","l464","l467","l468","l47","l473","l475","l476","l478","l48","l480","l481","l483","l485","l486","l487","l488","l489","l49","l491","l492","l493","l494","l495","l496","l497","l50","l500","l503","l505","l506","l507","l508","l51","l512","l514","l518","l519","l52","l521","l522","l523","l528","l529","l53","l530","l532","l533","l534","l535","l539","l54","l5426","l548","l549","l55","l5565","l5567","l5587","l559","l56","l560","l561","l562","l564","l57","l570","l575","l578","l58","l584","l585","l5871","l5899","l59","l591","l594","l597","l598","l6","l60","l6010","l602","l6041","l6047","l606","l6064","l6080","l6088","l609","l61","l610","l6101","l611","l615","l616","l618","l619","l62","l625","l6294","l63","l630","l6301","l633","l634","l635","l64","l640","l646","l647","l648","l65","l651","l652","l658","l66","l662","l6627","l667","l669","l67","l673","l68","l680","l682","l684","l685","l686","l687","l69","l691","l698","l70","l700","l7021","l7031","l7039","l706","l7066","l709","l7099","l71","l712","l7156","l716","l7160","l72","l725","l726","l727","l728","l729","l73","l733","l738","l739","l74","l740","l747","l75","l751","l757","l76","l760","l765","l767","l77","l770","l78","l785","l788","l789","l79","l790","l792","l793","l794","l8","l80","l803","l8095","l81","l811","l8111","l812","l814","l817","l82","l829","l83","l831","l833","l834","l837","l84","l85","l855","l857","l86","l862","l866","l867","l87","l88","l882","l889","l89","l890","l893","l9","l90","l900","l908","l91","l92","l9276","l93","l937","l94","l9437","l949","l95","l950","l9513","l954","l96","l966","l97","l98","l99","la","lab","label","labubu","lack","ladder","ladl","laeeb","laeebexp","lag","laid","lambda","lambo","lambofactory","lambovethrouter","land","landnft","landnftexp","lane","languag","lar","larg","largeamount","largebalances","largebetamount","larger","largest","largesttrancheidx","lash","last","last24hr","last4","last4ethdivpoints","last4tokendivpoints","last6","last6ethdivpoints","last6tokendivpoints","lastaccountingtime","lastaccrualtime","lastaccruedepoch","lastaccumulated","lastaction","lastactiontime","lastaddedat","lastaddlptime","lastairdropaddress","lastamount","lastbalance","lastbalanceupdatetimestamp","lastblock","lastblockid","lastblocknum","lastblockrewarded","lastblockupdated","lastborrow","lastburn","lastburngaptime","lastburnpool","lastburntime","lastburntimestamp","lastbuy","lastbuyblock","lastbuytime","lastcalledpool","lastchange","lastcheckpointedbalance","lastcheckpointepoch","lastclaim","lastclaimat","lastclaimed","lastclaimedepoch","lastclaimedfor","lastclaimedforsp","lastclaimedindex","lastclaimedround","lastclaimtime","lastclaimtimestamp","lastcount","lastdayreserves","lastdebtamt","lastdebtliquidtyindex","lastdeducted","lastdelta","lastdeposit","lastdepositrequestid","lastdeposittime","lastdestroynum","lastdiscount","lastdistribute","lastdistributeblock","lastdistributiontime","lastdistributiontimestamp","lastearn","lastearnblock","lasteffective","lastepoch","lastepochclaimedcurator","lastepochclaimedoperator","lastepochclaimedstaker","lastepochend","lastepochstart","lastethbalance","lastethprice","lastexpansion","lastextension","lastfee","lastfeecollectiontimestamp","lastflashgovernanceact","lastfundupdatetime","lastgauge","lastgoodprice","lastgoodpricetime","lastharvest","lastharvestmanagementfeetime","lastharvestperformancefeetime","lastharvesttime","lasthash","lastheartbeat","lasthour","lastindex","lastissue","lastl1block","lastloanblock","lastlock","lastlocked","lastlocktime","lastloss","lastlpburntime","lastmarketbalance","lastmarketupdateepoch","lastmerged","lastminetime","lastminted","lastmintedperiod","lastmodified","lastmsgvalue","lastorderid","lastordertimestamp","lastpaidto","lastpayout","lastperiodprincipal","lastperiodyield","lastpledgetime","lastpoint","lastpoolid","lastpower","lastprice","lastprintedat","lastproceeds","lastprocessat","lastprocesstimestamp","lastprofit","lastprofitpershare","lastprotocolfee","lastpushed","lastqueueindex","lastrebalance","lastrebaltime","lastrebaseblock","lastrebasetime","lastrecycletime","lastredeemrequestid","lastreposition","lastrequestid","lastreturned","lastreveal","lastrevealstarttime","lastreward","lastrewardamount","lastrewardblock","lastrewardindex","lastrewardrate","lastrewardsrangeindex","lastrewardtime","lastroll","lastsavedbalance","lastsellblock","lastsellisadd","lastsettledpoints","laststakerewardepoch","laststaketime","lastsupply","lastswap","lastswapblock","lastswapblockof","lastsyncedblock","lasttick","lasttim","lasttime","lasttimerewardapplicable","lasttimestamp","lasttimeupdatequotaof","lasttokentime","lasttotal","lasttotalassets","lasttotalaum","lasttotallp","lasttotalstakereward","lasttradeblock","lasttradetimestamp","lasttransaction","lasttransfer","lasttransfertime","lasttrove","lastts","lasttwpremiumgrowthbelowx96","lasttwpremiumgrowthinsidex96","lasttx","lasttxtimes","lastupdate","lastupdateblock","lastupdated","lastupdatedat","lastupdatedblock","lastupdatedtimestamp","lastupdatetime","lastupdatetimeapplicable","lastupdatetimestamp","lastupdatets","lastuptimeepoch","lastuserbalance","lastuserupdateepoch","lastvalue","lastvoted","lastwithdraw","lastwithdrawal","lastwithdrawaltime","lastwithdrawaltimestamp","lastwithdrawepochid","lastwithdraws","lastwithdrawtimestamp","lastxp","lastxtoken","latch","late","latenc","latent","later","laterneed","latest","latestactivebalanceafterfee","latestactiverewards","latestanswer","latesteligibleindex","latestmagnitude","latestpositionlocal","latestprice","latestrounddata","latestroundid","latestvault","latter","launch","launchasset","launchchallenge","launchedblock","launcher","launchpad","launchpadfactoryauto","launchpadfactorysafe","launchpadfeedistributor","launchpadlockablestaking","launchpadlp","launchpadlpbal","launchpool","launchtime","launchtotal","launchzone","launchzoneexp","launder","laundri","laundromat","laundromat934cbb","laundromatexp","laura","lava","lavalending","lavalendingexp","law","laxo","laxotoken","layer","layer3","layeredge","layerzero","layerzeroadapter","layout","lazaru","lazi","lazili","lb","lbhooklens","lbp","lbpexp","lbphashrate","lbppair","lbt","lc","lcid","lcopentimeout","lct","lctexchange","lctlivepriceinterface","lctlivepriceinterfaceaddr","ld","lda","ldabalance","ldaid","ldas","ldasupply","ldf","ldo","ldx","ldxadd","ldxrate","lea","lead","leader","leaf","leaffor","leak","leakag","leaki","lean","leap","learn","leash","least","leav","leaveaspairedlptoken","leaverescheduledgame","leavestaking","led","ledger","ledgerchannel","leet","leetswap","leetswapexp","leetswapv2pair","left","leftamount","leftbonusbalance","leftov","leftover","leftoverrewards","leftquota","leftrewardamount","leftslot","leg","legaci","legacystatus","legacystatusprocessed","legacystatusproven","legacytusd","legal","legbalance","legdeposit","legendari","legendarybalance","legendarybefore","legendarycard","legendarycardamount","legendarymoneymonnft","legendarymoneymonnftexp","legit","legitbootstrap","legitim","legitimaci","legitimatelyrefundable","legitreceiver","legout","leia","leisur","len","lend","lendabl","lendaccrued","lendamount","lendbalance0","lendbalance1","lendbook","lenddelta","lender","lenderactions","lendersassets","lendf","lendfmeexploit","lendfresh","lending03","lendingledger","lendingmarket","lendingmarketbalances","lendingmarketbalancesepoch","lendingmarkettotalbalance","lendingmarkettotalbalanceepoch","lendingpair","lendingpool","lendingpoolconfigurator","lendingpooldata","lendingpoolv2","lendingswitcherc20","lendinitialindex","lendrusdy","lendsharepriceafter","lendsharepricebefore","lendshares","lendstorage","lendstoragefixed","lendtokens","lendtrol","lendtrollerinterfacev2","length","lengthen","lengthglobalproof","lengthmismatch","lenient","lent","leonardo","lerc20interface","less","lessdebt","lesser","lesson","let","lethal","letthecontracthaveusdc","lev","level","levelbasereservemanager","levelclaimed","levelconfig","levelconfigs","levelexp","levellength","levelminting","levelratio","levelreferralcontrollerv2","levelreward","lever","leverag","leveragebuffer","leveragedebt","leveragedown","leveragedowninternal","leveragedposition","leveragefee","leveragepercent","leveragesirexp","leveragestrategy","leverageup","leverageupwithswap","leveragevars","leverc20","leverdown","leverdowntroveparams","levi","levtoken","levusdc","levx","levyathan","levyathanexp","lewi","lf","lfi","lfiexp","lft","lgood","lh","li","liab","liabil","liabilityadded","liabilityremoved","liabilitytoburn","liar","lib","lib1559","lib1559math","liballowlist","libasset","libatomic","libconnextstorage","libdiamond","libdiamondcut","liberti","libertifi","libertifyexp","libertivault","libexchange","libmanager","libmath","libmuon","liboracle","liborders","libproving","librari","libshortrecord","libsrutil","libswap","libtokensilo","libutil","libverifying","libwhitelist","licens","licred","lido","lidocurvepool","lidodata","lidoethbaseinterestallocator","lidolevv3","lidowithdraw","lie","lien","lien2","lienid","life","lifeamount","lifebuoi","lifecycl","lifeprotocol","lifeprotocolcontract","lifeprotocolexp","lifetim","lifetoken","lifetokenamount","lifi","lifidata","lifidiamond","lifiexp","lift","light","lightnode","lightweight","like","likelihood","likewis","likwid","likwidexp","limb","limbo","limbodao","limit","limitamount","limitbid","limitindex","limitorderdata","limitorderhook","limitorderprotocol","limitorderprotocolexp","limitorderproxy","limitprice","limitpricee36","limitrouter","limitsecondquota","limitsell","limitstake","limittoexecute","linchpin","line","linea","lineag","linear","linearli","linearmath","linearvesting","liner","linger","link","linkabl","linkag","linkamount","linkdao","linkdaodex","linkdaodexcall","linkdaodexpair","linkdaoexp","linkhash","linkingtheworld","linkpaid","linkparameters","linkparams","linkpool","linkspent","linktokenaddr","linktoweth","linkusdpricefeed","lint","linter","lion","lip","liq","liq0","liq1","liqamount","liqburnat","liqdiscountedprice","liqfacet","liqmaxdiscount","liqparam","liqprice","liqsthisblock","liquid","liquidat","liquidatableaccountsids","liquidate","liquidateaccount","liquidateaccounts","liquidateallusers","liquidateborrow","liquidateborrowallowed","liquidateborrower","liquidateborrowinternal","liquidatecalculateseizetokens","liquidatecontract","liquidatecrosschain","liquidatedcollateralusdx18","liquidatedorder","liquidateerc20","liquidateerc721","liquidatelimitusp","liquidatepartya","liquidatepositionbaddebt","liquidatepositionspartya","liquidatesecondary","liquidateseizeupdate","liquidateuser","liquidatevars","liquidatevault","liquidatewithsinglerepay","liquidatewithsinglerepayfresh","liquidationamount","liquidationassetshare","liquidationbranch","liquidationcall","liquidationconf","liquidationdiscount","liquidationdistributor","liquidationequityshare","liquidationerc721","liquidationfacet","liquidationfactor","liquidationfee","liquidationfeerecipient","liquidationfees","liquidationfeeusd","liquidationfeeusdx18","liquidationhandler","liquidationhealthbps","liquidationhelper","liquidationid","liquidationincentive","liquidationincentivemantissa","liquidationkeeper","liquidationmanager","liquidationmultiplier","liquidationmultiplierprecision","liquidationoperations","liquidationparam","liquidationparams","liquidationpricepenaltydiscount","liquidationreward","liquidationsuccess","liquidationtargetltv","liquidationthreshold","liquidationthresholdafterdecrease","liquidationtype","liquidationtype1","liquidationtype2","liquidatorcoverexposure","liquidatorxoleheld","liquideth","liquidity0","liquidity1","liquidityadded","liquidityamount","liquidityamount0","liquidityamount1","liquidityamounts","liquiditybackedsell","liquiditybalancebase","liquiditybalanceeth","liquidityburned","liquiditycoefficientinfundingpayment","liquiditydecimals","liquiditydelta","liquidityerc20","liquidityeth","liquidityevent","liquidityfacet","liquidityfee","liquidityfeeinbasispoints","liquidityfeeusdt","liquidityforamounts","liquiditygauge","liquiditygaugev6","liquidityhelper","liquidityindex","liquidityininitialassetdp","liquiditymigrated","liquiditymigrationv2","liquidityminted","liquiditymodule","liquiditynet","liquiditynotremoved","liquidityof","liquiditypairbalance","liquiditypool","liquidityremoved","liquidityshar","liquidityshare","liquiditysharepool","liquidityswapfrom","liquiditytoken","liquiditytomigrate","liquidityunifier","liquidityunifier837dba","liquidityvestingconvert","liquidityvestingconvertonce","liquiditywallet","liquiditywindow","liquidprofit","liquidrate","liquidron","liquidstakingmanager","liquidti","liquidunstakepool","liquidxv2","liquidxv2zap","liquifi","liquiti","liquitymath","liquoric","liqvalue","lisa","lisavault","list","lista","listabl","listadao","listeditem","listen","lister","listingcount","listingfee","listingfeecollector","listingid","listingnotavailable","listitem","listmarketing","listnewasset","listtoken","liter","littl","liuiditi","liuiditypool","live","liveblastround","livebonuspool","livehype","livenessbond","livep","liveprice","livepricerate","lix","lixir","lixirpermitdrain","lkck","lkd","ll","llama","llamalend","llamma","lltv","lmantissaflag","lmcv","ln","lnfeerate","lnhelper","lo0","lo0p","load","loadcontext","loadswapstate","loan","loanabl","loanaddress","loanamount","loanamountavailableincontract","loanamountowed","loanamountpaid","loanconfig","loanconfigs","loanedamountthisblock","loanget","loanid","loaninterestindex","loaninterestrate","loanliquidated","loanliquidation","loanlocal","loanmaintenance","loanmanager","loanmanagerlogic","loanmergedtranches","loanof","loanopendata","loanopenings","loanparamslocal","loanrepaid","loansourcesof","loanstablerate","loanstarttime","loanstate","loantaken","loantermination","loanterms","loantoken","loantoken539ff5","loantokenlogicstandard","loantokenlogicweth","loantype","lob","lobbi","lobreservesbytokenid","local","localclaimed","localdata","localdomain","localreplayprofit","localresults","localsetupdebt","localstaked","localtoken","localtrader2","localtrader2exp","localtraders","locat","lock","lockabl","lockableerc777","lockacquired","lockafter","lockandvote","lockatomic","lockbefore","lockbox","lockburn","lockdata","lockdate","lockdep","lockduration","lockdurationreducederror","locked_","lockedamount","lockedbalance","lockedbuy","lockedby","lockeddeal","lockeddepositnft","lockedduration","lockedgods","lockedof","lockedpositiontokens","lockedpremium","lockedprizes","lockedprofit","lockedpurchase","lockedrewards","lockedsavings","lockedtime","lockedtoken","lockedtokens","lockedtokensnotclaimed","lockedtotal","lockeduntil","lockedusd","lockedvow","lockend","lockended","locker","lockfees","lockforliquidation","lockfromenable","lockhistory","lockholder","lockid","lockingcontroller","lockingperiod","lockliquidity","lockmanager","lockonbehalf","lockout","lockperiod","lockproxy","lockshares","locksplit","lockstake","lockstart","lockstep","lockswapfee","locktag","lockthefomoswap","locktheswap","lockthesync","locktim","locktime","locktimesamp","locktimestamp","lockto","locktoken","locktoken6dd27f","locktokenproxy","locktokens","lockunchecked","lockuntil","lockup","lockupexpiryblock","lockuplinear","lockupperiod","lockvotes","lockwithdrawn","lode","lodestar","lodestarcontractsctoken","lodestarexp","log","logaccrue","logaddcollateral","loganyswapout","logbook","logborrow","logbpt","logbptss","logburnandmint","logchipurchase","logdebug","logdenormupdated","logdeposit","logexchangerate","logfillorder","logflashloan","loggedtransfer","logic","logicless","logit","logjoin","logminimumbalanceupdated","logmint","lognamed","lognameddecimaluint","lognameduint","lognewanswer","lognewquestion","logo","logourl","logrebase","logregisterprotocol","logrepay","logrepayforall","logsetmastercontractapproval","logsupply","logswap","logtake","logtokenready","logunlocktransfer","logvaultout","logwin","logwithdraw","lok","lone","long","longer","longest","longpremium","longrecipient","longshortpair","longterm","longtermrental","longtokenusd","look","lookback","looksrare","lookup","loop","loopabl","loopactivation","loopfi","loophol","loopparams","loopparamsv17","looppositionwithflashloan","looptransfer","loopvaults","loos","looser","loot","lootrealms","lop","lopsid","lose","loser","loss","lossaccum","lossesamount","lossi","lossless","losslessli","lost","lostmorethanallowed","lostreward","lot","lota","lotb","lotteri","lotteryticketswap50","loud","loudli","low","lower","lowerbound","lowerfeegrowthoutside0x128","lowerhint","lowertarget","lowertick","lowertwpremiumgrowthoutsidex96","lowest","lowestsell","lowtick","lowtotaldebt","loyalti","lp","lp0","lp0amt","lp0bal","lp1","lp18","lp1amt","lp1bal","lp2","lpaccount","lpaddress","lpamount","lpamountbefore","lpamountin","lpamountout","lpamounttotokenamount","lpavax","lpb","lpbal","lpbalance","lpbalancenow","lpbalanceof","lpbamountfrom","lpbonds","lpbonus","lpburn","lpburned","lpburnenabled","lpburnfrequency","lpburnrate","lpbusd","lpbuyfees","lpc","lpcexp","lpcontract","lpd","lpd38763e","lpdawl","lpdelta","lpdepositor","lpdfi","lpdfice6a6e","lpdividendtracker","lpdivisor","lpeth","lpethvault","lpfee","lpfeeaccounta","lpfeeaccountb","lpfeeclaimer","lpfeerate","lpforsell","lpfoxamount","lpfoxtoken","lpfutureyieldcontractaddress","lpholdercount","lpinfo","lpinstance","lplv","lplvglp","lpmftbalance","lpmigration","lpminbalance","lpmine","lpmining","lpmint","lpnew","lpnumber","lpold","lpool","lpop","lpotheramount","lpout","lpowner","lppair","lppairaddress","lppools","lpprice","lpprincipalvalue","lpq128","lpquota","lpquotanum","lpraddr","lprec","lpreceived","lprecived","lprewardamount","lprewardprocessor","lprewsam","lpsellfees","lpshares","lpsharesburned","lpsharestoburn","lpsharestomint","lpshell","lpslice","lpslippage","lpspended","lpstaked","lpstaking","lpstakingpool","lpstep","lpsupply","lpswitchaddrrate","lpt","lptax","lptoburn","lptoken","lptokenaddress","lptokenamount","lptokenbalance","lptokendepositvalue","lptokendepositvaluenow","lptokenearned","lptokeneth","lptokens","lptokensupply","lptosig","lptotal","lptotalsupply","lptotoken","lptpooltoken","lptrackingmodule","lptxfee","lpusdc","lpusdtamount","lpvalueinusdt","lqdx","lqdxalertexp","lr","lrt","lrtoken","ls","lsag","lsb","lsd","lsp","lsp6","lssvm","lssvm2","lssvmrouter","lst","lsts","lsw","lt","ltail","ltc","ltj","ltoken","ltokencollateral","ltokeninterface","ltokens","ltokentoseize","ltokentounderlying","ltv","ltv0","ltv1","ltvbps","ltvprecision","ltvs","lua","luausd","lucidli","luck","lucki","luckymultiplier","luckynum","luckytig","luckytiger","luckytigerexp","lucr","lukso","lula","lull","lumi","lumin","lumina","lump","lunch","lusd","lusdexp","lusdpool","luxera","lv","lvar","lvl","lvlix","lvlusd","lvlusdamount","lvusdc","lvweth","lw","lwexp","lwtousdt","lx","ly","lyra","lz","lzapp","lzcompose","lzendpoint","lzpayload","lzreceive","lzsend","m0","m1","m2","m5","m6","m682","machin","machineri","machineshare","machineshareoracle","machineutils","macro","made","maestro","maestrorouter2exp","magic","magicinternetmoney","magicvalue","magnet","magnetar","magnetarassetxchainmodule","magnetarmintxchainmodule","magnetaroptionmodule","magnif","magnifi","magnifieddividendpershare","magnitud","magnitudecorrection","maha","mahalend","mahom","mai","maia","mail","mailbox","main","mainbalance","mainextracted","mainhelper","mainindex","mainnet","mainnetsettler","mainpair","mainpool","mainregistry","mainstream","maintain","mainten","maintenancemargin","maintokenids","mainutxo","mainwallet","majest","major","mak","make","makeaddr","makebeacondeposits","makebid","makedonation","makekey","makeliquiditypool","makelockeddeposit","makeoffer","maker","makeramount","makerask","makerasset","makerdao","makerdaoflipkeeperexp","makerfee","makerfeepermille","makerinfo","makerlike","makerorder","makerpayout","makerrefund","makertoken","makerwallet","makerxfeesperliqx128","makeryfeesperliqx128","makina","makingamount","malda","malform","malfunct","malic","malici","maliciousadapter","maliciousallowlist","maliciousanyswaptoken","maliciousbitdogrouter","maliciouscall","maliciouscalldata","maliciouserc20","maliciousimpl","maliciousmarkethelper","maliciouspermit2","maliciousregistry","maliciousstakingcontract","maliciousswaptoken","malicioustoken","maliciousvault","malleabl","malt","malwar","mamo","man","manag","managegasout","managementaddress","managementfee","managementfeebps","managementfeerate","manageposition","manageraddress","managercanmint","managerdata","managerfee","managerrole","managerupdate","manageuserbalance","mandat","mandatori","mangl","mango","manifest","manifestfinance","manip","manipul","manipulat","mantissa","mantissalflagmask","mantissamask","mantissamultiplier","mantissasignmask","mantl","manual","manualepochinit","manualprice","manualrebalance","manualrebalancefixed","manualswap","manualsync","manualvote","manualwithdraw","manufactur","map","mapo","mapoexecute","mapoexecutor","mappingbase","mappingerc20definition","mappingtoken","mapprotocolexp","mapstakinginfo","mar","mar2025","mara","maratoken","march","margin","marginaccount","marginaccountdeposit","marginaccountid","marginalfunctionality","marginamount","marginamountupdate","marginbalance","marginbalanceusdx18","margincall","margincallineligiblewindow","margincallthreshold","margincollateralrecipient","margindelta","marginforone","marginfrom","marginpool","marginpos","marginpositions","marginto","margintrade","margintradinghook","marginwithoutfee","marin","marinatev2","mark","markbeetlesafe","markedli","marker","market","marketaddr","marketaddress","marketamount","marketandtiffs","marketbuyfees","marketcapsqrtcontroller","marketcontext","marketcreatorfees","marketcreatorrole","marketdecrease","marketentered","marketersanddevs","marketexp","marketfactory","marketfee","marketfeerate","marketfees","marketfixed","markethelper","marketid","marketidtoweirollmarket","marketin","marketingaddress","marketingamount","marketingautoaddlp","marketingfeeratio","marketingfeereceiver","marketingfeetokens","marketingfeetotal","marketinghelper","marketingshare","marketingwallet","marketingwalletaddress","marketingwalletupdated","marketinsufficientmarginerror","marketnotfresh","marketnotlisted","marketout","marketovercloseerror","marketpair","marketparams","marketpermit","marketplac","marketplaceaddress","marketplaceinfo","marketplacestatus","marketprice","marketregistry","marketsellfees","marketsetting","marketstate","markettax","marketutils","marketutilsfixed","marketwallet","markfromchaintxexist","markprice","markproposalasinvalid","markup","marsexp","marsh","marth","mask","masquerad","mass","massiv","masswithdraw","mast","master","masterc","masterchef","mastercmgr","mastercontract","mastercontractof","mastercopy","masterfallback","mastermind","masterpenpie","masterplatypus","masterpriceoracle","masterpriceoraclecc6aa6","mastertransfersenabled","match","matcha","matchdata","matchedorder","matchincomingsell","matchingpolicy","matchorder","matchtotal","mate","materi","materialis","materialobject","matez","matezstakingprogram","math","mathemat","matherr","matherror","mathhelper","mathlib","mathupgradeable","mathutil","mathutils","matic","maticx","matmo","matrix","matter","matur","maturitytimestamp","mavi","max","maxaccpnlpertoken","maxage","maxalivepenguins","maxallowedgap","maxamount","maxamountin","maxamountpertx","maxamounts","maxamountsin","maxamounttoswap","maxapproveerc20","maxassets","maxbasispoints","maxbatchsize","maxbin","maxboldamount","maxbonusthreshold","maxborrow","maxborrowable","maxborrowparts","maxborrowusdc","maxbps","maxburn","maxburnamount","maxburnamountperrunbasispoints","maxburnbps","maxburnfee","maxburntostop","maxbuy","maxbuyamount","maxcanburn","maxcanmint","maxcatchup","maxclaimpertx","maxclaims","maxcopy","maxcounts","maxcreatorpayment","maxcreditline","maxcreditlinecheck","maxdailywaitseconds","maxdebt","maxdebtmanager","maxdelegates","maxdepositentries","maxdestamount","maxdeviation","maxdigitsm","maxdrawdown","maxdrop","maxduration","maxearned","maxearning","maxearningof","maxexpected","maxextrafeebps","maxfeelimits","maxfeepercentage","maxfeepergas","maxfeerate","maxflashloan","maxgamma","maxgasforcustomgateway","maxgasforrouter","maxgeneration","maxglove","maxholder","maxhoneyjar","maxim","maximis","maximum","maximumallowedltv","maximumborrowtoken","maximumdeposit","maximumdepositethamount","maximumexponent","maximumltv","maximumltvreached","maximumpenguinsacquired","maximumwithdraw","maxin","maxinprogressproposals","maxinputamount","maxinratio","maxint","maxldigitnumber","maxleverage","maxlimitspertx","maxliqsperblock","maxliqsperswap","maxliqspreadp","maxliquidatable","maxliquidationamount","maxliquiditypercentageswap","maxliquiditypertick","maxloan","maxloanperblock","maxlockduration","maxlockenabled","maxloss","maxltv","maxmdigitnumber","maxmint","maxmp","maxmsgsperbottomupbatch","maxnftamount","maxnodes","maxnodesreached","maxnotionalswap","maxnotionalvalue","maxnumassets","maxnumberordersfilled","maxnumtokens","maxoffer","maxout","maxoutgoutpertx","maxoutratio","maxpayout","maxpercent","maxpercentage","maxperiods","maxperwallet","maxpositionimpactfactor","maxpositionimpactfactorforadl","maxpositionimpactfactorforliquidations","maxpowrelerr","maxprevious","maxprice","maxpriceage","maxpricedeviation","maxprincipal","maxpriorityfeepergas","maxprotectedtokenamount","maxpurchaseamount","maxqueues","maxquotetokenamounttorepay","maxrarityid","maxrate","maxrebategas","maxrecyclerate","maxredeem","maxredeemablefixed","maxredeemepoc","maxrepay","maxrepaygracefee","maxreturn","maxreward","maxrewards","maxrewardsbps","maxrewardslpdynamicamount","maxringparticipant","maxrulelimit","maxsafe","maxsafetokenamount","maxsell","maxsellamount","maxsellburn","maxsellvalueusdt18","maxshareprice","maxshares","maxshutdowntokens","maxsigners","maxsignersreached","maxsigs","maxslippage","maxslippagebps","maxslippagethresholdbasispoints","maxsoldamount","maxsortlength","maxsqrt","maxsqrtprice","maxsqrtpricex96","maxsqrtratio","maxstakeamount","maxstakerate","maxstaking","maxstaleness","maxsubmissioncostforcustomgateway","maxsubmissioncostforrouter","maxsuppli","maxsupply","maxsupplystaking","maxswap","maxsystemdebt","maxtaking","maxtaxfreeallocation","maxtaxswap","maxtick","maxtim","maxtokenamount","maxtokenbalance","maxtokens","maxtokenspereth","maxtokenspergen","maxtokenstosell","maxtolerancebps","maxtotal","maxtotaldeposit","maxtotalsupply","maxtotalsupplyerc721","maxtradeamount","maxtradesperboost","maxtranche","maxtransactions","maxtransferamount","maxtxamount","maxuint","maxuint256","maxuint96","maxusabletick","maxvalue","maxvalueusdc","maxvictimtokenin","maxwallet","maxweightdeviation","maxwithdraw","maxwithdrawal","maxwithdrawalamount","mayb","mayberevert","mayborrowed","mayc","mayinteract","mazi","mb","mbalance","mbc","mbczzshexp","mbu","mbuprice","mbutokenexp","mbuusdtpair","mcai","mcaiexploit","mcampaignparameters","mcb","mcbbtc","mcbeth","mcc","mcr","md","mdailylimit","mdao","mean","meaning","meaningfulli","meaningless","meant","meantim","meanwhil","measur","meat","mechan","median","mediat","medium","meet","megapot","mek","mekhoneyjarwitherc20","mekhoneyjarwitheth","mel","mellow","melo","melt","mem","member","membership","memcpi","meme","memecast","memecoin","memnoncoversharesburnrequested","memo","memoffset","memori","memorializepositions","memorializepositionsparams","mempool","ment","mental","merc20delegator","merchant","merci","mere","merg","mergelot","mergetgt","mergetranches","mergetype","merkl","merklelib","merkleproof","merkleroot","merr","mesh","meson","messaag","messag","messag2","messag3","messagebody","messagedata","messagehash","messageid","messagein","messageinevent","messagelib","messagereceived","messagerelay","messageroot","messagesender","messagetransmitter","messagetransmitterv2","messagetype","messagingfee","messagingreceipt","messeng","met","meta","metaa","metab","metacoinbase","metadata","metadragon","metaindexfrom","metaindexto","metalend","metalendexp","metamask","metamintsynthetictokenbtc","metaminttransaction","metaminttransactionbtc","metamorpho","metapoint","metapointexp","metapool","metaroutestructs","metasea","metastablepool","metaswap","metaswapstorage","metaswaputils","metatoken","metavault","metavers","metaversetoken","meter","meth","method","methodid","methodlist","metoken","metric","mev","mev0xa247exp","mevbot","mevbot0x28d9exp","mevbotaddr","meywa","mfd","mfdbase","mflowwflow","mft","mftexp","mgr","mi","mic","micdao","micexp","micro","microscop","microsecond","mictoken","micwbnb","mid","mida","midascapitalxyzexp","midasexp","middl","middlewar","middlewaregatewaynotset","midglove","midnight","midtokens","migrant","migrantaddress","migrat","migrateaccount","migratelp","migrateparams","migraterewardpool","migratestake","migrateto","migratetovault","migratetrove","migratetrovezap","migratewithdraw","mileston","milestoneachieved","milestoneamount","milestoneindex","milestonereward","milestoneseason","milestonestem","mili","milk","milktech","mill","million","millisecond","mim","mimatic","mimcurvestakedao","mimic","mimick","mimspell2exp","mimspell3","mimspell3exp","mimspell3exploit","mimspellexp","min","min40","minadminfee","minamount","minamountld","minamountnotreceived","minamountout","minamounts","minamountsout","minamounttoreceive","minanswers","minasketh","minatob","minbalance","minbasetokenqty","minbmirecv","minbnb","minbond","minbonusbps","minborrowamount","minborrowlevel","minbptamountout","minbridgereceivedamount","minburnamount","minbuy","mincktokenrec","mincoll","mincollateral","mincollateralusd","mincollatratio","mincollnotreached","minconversionrate","mincvgcvxamountout","mind","mindelay","mindeposit","mindex","mindirect","mindistribution","mindstgasforcall","mindy","mine","mineadd","minedaliyratio","minedsincelastupdate","minenablereceiver","minepool","miner","minerbscexp","minerethprofit","minerexp","minerpool","minestarttime","minestm","minestmb7d0a1","mineth","minethout","minexeccost","minexpected","minexpectedoutput","minfillamount","mingl","minglovable","mingpxexpected","minholdingout","mini","minim","minimalforwarder","minimalist","minimis","minimum","minimumamount","minimumamountout","minimumbalance","minimumbond","minimumbpt","minimumcollateral","minimumcr","minimumdelay","minimumdeposit","minimumdepositamount","minimumdepositatcreation","minimumdepositethamount","minimumfee","minimumindex","minimumliquidity","minimumout","minimumreliableamount","minimumstake","minimumtokenbalancefordividends","minimumtokens","minimumtokensbeforeswap","minimumtradesize","minimumvotes","minimumvotesforproposing","minincentiverate","miningcontract","miningmax","mininvestformilestone","minipool","miniproxy","minit","minitoken","minldigitnumber","minlegendarycost","minliq","minliquidity","minliquidityratio","minliquiditythreshold","minlpreceived","minmargin","minmintamount","minnavexpected","minnetdebt","minor","minout","minoutamount","minoutpassed","minoutput","minoutputamount","minpoolamountout","minpoolclaim","minprice","minpurchaseamount","minquoteamount","minreceive","minreceivedamount","minreturn","minreturnamount","minrulelimit","minsetreceive","minshare","minshares","minsharestoreceive","minsharesviolation","minshorterc","minsignatures","minsqrt","minsqrtprice","minsqrtpricex96","minsqrtratio","minstake","minstakedrequired","minstakeupdatedelay","minstakingamount","minsupply","minswap","mint","mintabl","mintableautocompundrelockbonus","mintablesupplystaking","mintabletoken","mintableunderlyingamount","mintaddresslock","mintagginterestandaccountfortrovechange","mintallowed","mintamount","mintandstakeglp","mintandstakeglpeth","mintasugar","mintbatch","mintbatchfixed","mintbblendxchainsgl","mintbehalf","mintboxset","mintbposition","mintcommited","mintconfig","mintcontract","mintcount","mintcountcid","mintcreditless","mintdata","mintdepositinqueue","mintdivested","mintdyad","mintedamount","mintedatsnapshot","minteddyad","mintedmapo","mintedreward","mintedstaking","mintedthisblock","minter","minter_","minterallowance","minterallowances","minterapproval","minterapprove","minterblock","minterc721","minterest","minterestexp","minterminted","minteronly","minterproxyv2","minterrole","minterusd0pp","mintetn","mintexpansion","mintfee","mintfeerate","mintfor","mintfortoken","mintforv2","mintfpi","mintfresh","mintfrom","mintfrombridge","mintfungible","mintgooddollars","minthoneyjarforbear","minthook","minthreshold","minthunny","mintick","minticket","mintinghub","mintinterest","mintinternal","mintlimit","mintliquidityfee","mintlist","mintlp","mintlvl","mintlvlusd","mintmultiple","mintnft","mintnominalliq","mintnormal","mintnreth","minto","mintofinanceexp","mintokenamount","mintokenout","mintokenreturn","mintokens","mintokenspaidout","mintokenspereth","mintokenstoreceive","mintonbehalf","mintparams","mintpassdiscount","mintpassowner","mintphysical","mintpoolshare","mintposition","mintpositionforuser","mintprice","mintqty","mintqwa","mintradeamount","mintradesize","mintranche","mintrandomness","mintrange","mintrangeliqlp","mintrebalancer","mintreputation","mintrequestamount","mintreserves","mintreturns","mintreward","mintrole","mintrollovers","mintsalebase","mintscaled","mintself","mintservice","mintshares","mintsoulbound","mintstaking","mintsynth","mintthis","minttick","mintto","minttodao","minttoken","minttokens","minttopayable","minttopoolifneeded","minttoself","mintubi","mintunbacked","mintunbalanced","mintunderflow","mintup","mintusername","mintusernamebyminter","mintvalue","mintvault","mintwapprice","mintwithbudget","mintwitheth","mintwithether","mintwithid","mintwithoutcheck","mintxnamount","mintzero","minu","minunderlyingreceived","minusabletick","minuscul","minusdc","minusdcexpected","minusdcprofit","minusdtamount","minusdtreceived","minut","minweight","minwithdraw","mip","mirag","mirror","mirrordelta","misalign","misalloc","misappli","misassumpt","misbehav","misc","miscalcul","misclassif","misclassifi","miscomput","misconfig","misconfigur","miscount","misdirect","misfil","misl","mislabel","mislead","misleadingli","mismatch","misnom","miso","mispair","misplac","mispric","misread","misrepres","misrout","miss","missedperiods","missingaccountfunds","misspel","mist","mistak","mistaken","mistakenli","mistim","misus","mitig","mix","mixbytes","mixedswaprouter","mixer","mixin","mixswap","mixswapparams","mjt","mk","mkr","mkt","mkusd","mlastday","mliq","mlm","mload","mlockamount","mm","mmai","mmamo","mmeth","mmm","mmr","mnu","mnumowners","mnz","mo","moc","mocean","mock","mockcall","mockcollateral","mockerc20","mockflashloanprovider","mocklpeth","mocklpethvault","mockphinft1155","mockpool","mockslotregistry","mockstakehouseuniverse","mockthenarewardpool","mocktoken","mockyieldbox","mod","mode","model","moder","modern","modest","modexp","modif","modifi","modifyamount","modifycalldata","modifyliquidities","modifyliquiditieswithoutunlock","modifyliquidity","modifyorder","modifysaleorder","modul","modular","modularetherspotwallet","modulecall","modulecore","modulecount","moduleexecute","moduleinitialized","modulenotenabled","modulenotinstalled","moduleonly","moduleregistry","modulerole","moduletxhash","moduletxsignedby","moduletype","moduletypefallback","moduletypevalidator","modulewhitelist","modulo","modulu","moexp","mofi","mog","moke","mokei","mokelpdividend","mokelpdividend5ae569","moketoken","mokeyfeetotal","molecul","moment","momentari","momentarili","momo","momoout","mon","mona","monatoken311838","monei","monero","monet","monetari","monetis","monetiz","moneymarket","moneymarkethook","moneymarketidentifier","monitor","monkei","monkeywallet","mono","monoexp","monolith","monoswap","monoton","monox","monoxpool","monstrou","month","monthfee","monthfeeamount","monthfeeamt","monthli","moo","moocurvestmatic","moolah","moolah932158","moomarket","moon","moonhack","moonhacker","moonhackerexp","moonriv","moonwel","moonwelldefi","moonwellexp","moot","mootoken","mootokens","moov","mop","mor","moral","morethan4tokens","morpho","morphoblue","morphoblueexp","morphoborrow","morphochainlinkoraclev2","morphosupplycollateral","mortem","mosca","moscaexp","mostli","mostrecentwithdrawaltimestamp","mosv3","motion","motiv","mount","mountain","mouth","movabl","move","moveabl","movealldelegates","movedelegatevotes","movedistribution","movedpacket","moveliquidity","movement","movepower","movequotetoken","mover","movetoken","movi","mow","mownerindex","mowners","mp","mpaccrued","mpc","mpcsignature","mpending","mpendl","mpendle","mpeth","mph","mphnft","mphtoken","mpool","mr","mrequired","mrp","mrpexp","ms","msg","msg1","msg2","msgdata","msghash","msgreceipt","msgreceive","msgsend","msgsender","msgsendernotsigner","msgsenderwhitelist","msgtype","msgvalue","msn","mspenttoday","mst","msteth","mstore","msw","msweth","mt","mta","mtapiocaoft","mtfeeratemodel","mtoken","mtokenborrowed","mtokencollateral","mtokens","mtypes","mu","mubank","mubond","mubondquote","mucoin","mucoinamount","mucoinbondamount","mucoinswapamount","mug","mugen","mugold","mugoldbond","mul","mul_","muld18","muldiv","muldivdown","muldivfloor","muldivroundingup","muldivup","muldown","mule","mulexp","mulnumber","mulscalartruncate","mulscalartruncateadduint","mult","multi","multical","multicall","multicall2","multicall3","multicallrootrouter","multicallupgradeable","multicallv4","multicallwitheth","multicallwithoutcheck","multicallwithrevert","multichain","multichaincapital","multichaincapitalexp","multichainmintactive","multiclaim","multidistributor","multifeedistribution","multihop","multiliquidityadded","multiown","multipl","multiplelock","multiplex","multipli","multiplicand","multiplieraddress","multiplierbase","multirangehook","multisend","multisender","multiset","multisig","multisigwallet","multisourceloan","multiswap","multiswapethforexacttokens","multiswapoutputrepay","multiswapper","multisync","multitokenperiodenforcer","multitokenswapdata","multitransferswap","multruncate","mulu","mulu88","mulwad","mulwaddown","mulwadup","mulx128","mumami","mumoney","mumoneyminter","munchabl","muon","mure","muredistribution","muredistributionexploit","muredistributionstorage","mureerrors","muresignersource","musd","musdc","musdi","musdout","musdy","musdytoken","muserop","museum","museumofmahomes","music","musig","mut","mutabl","mutat","mute","mutebond","mutex","mutousdce","mutual","mux","mvd","mvestingwallet","mvotesforpool","mwbtc","mweth","mwr","mwrseth","mwst","mwsteth","myaccount","myaddress","myai","myaiexp","mybalance","mybnb","myc","mycoinmast","mycoinmaster","mycoinmasterattack","mycontract","mydividends","myearnings","myerc20","mymin","myminerid","mypressure","myr","myreward","myriad","mystaking","mystic","myteam","mythic","mytoken","mytokens","myvotes","mywallet","n0","n00d","n00dexp","n00dreserve","n00dtoken","n1","n2","n3","n32","n4","nada","nai","nail","naiv","nake","nalakuvara","name","name1","name_","namenft","nameservice","namespac","nametable","namount","nano","nao","napier","napierpool","narr","narrow","narrowli","narwhal","nat","nata","nativ","nativeaddress","nativeasset","nativebalance","nativebtc","nativedeposit","nativeeth","nativefarm","nativefee","nativefeepercent","nativereputation","nativereserve","nativereserveafter","nativetoken","nativetokenaddress","nativetokensused","nativevalue","nativevault","nativevaultlib","nativewrap","natspec","natur","naturalunit","naturalunitsoutstanding","nav","navamount","navkey","nbl","nblgame","nblgameexp","nblnftstake","nblstakeamount","nbnb","nbsp","nbu","nbuwbnb","nc","ncd","ncd_","ncdexp","ncheckpoints","ncliq","ncoins","ncr","ncufi","ne","near","nearbi","nearest","nearestcurrenttick","nearli","neatli","necess","necessari","necessarili","need","neededweth","needliquidity","needlp","needlpamount","needssolvencycheck","needtkn","needtorepay","neg","negat","neglig","negoti","neighbor","neither","nenoughcash","neptun","nereu","nerv","nerve3","nerve3lp","nerve3pool","nervebridgeexp","ness","nest","nestedfi","nestedvictimcallbackdata","net","netamount","netamountpaidout","netapr","netasset","netassetvalue","netbaselpttoaccount","netbossin","netdelta0","netdelta1","netin","netinput","netinputamount","netmind","netout","netoutamount","netpayment","netpoolfraction","netptin","netsyin","netsyout","nettokenout","netvalue","network","neu","neu1","neuter","neutra","neutrafinanceexp","neutral","neutralis","never","neverfall","neverfallexp","neverfalltoken","new","newaddress","newaddresses","newadmin","newaggregatedbalance","newamount","newamountin","newamounts","newassettransaction","newbalance","newbalances","newbgld","newbi","newbias","newbidethermin","newboost","newborrowamount","newborrowpart","newcalldata","newcap","newcell","newclaimrootadded","newcollateralfactor","newcollateralization","newcollateraltokens","newcollectrate","newd","newdata","newdataroot","newdatasize","newdebt","newdebtamt","newdebtshares","newdec","newdelay","newdelegatee","newdenorm","newdeposit","newdepositid","newdt","newduration","neweffectivebalance","newelastic","newer","newest","neweth4divpoints","neweth6divpoints","newfacet","newfees","newfi","newfloorbin","newfounder","newfreedao","newfreedaoexp","newgauge","newid","newimpl","newimplementation","newimplmentation","newindex","newinstance","newintent","newinvariant","newlast","newli","newliquidity","newloanid","newlockratio","newlong","newloss","newlptokensupply","newlpvalue","newlucky","newmainbalance","newmaker","newmessage","newmetadata","newminbidstep","newmintedstaking","newnodeprice","newnullifiers","newnullroot","newofferid","newolif","newolifereserve","neworacle","neworder","neworganization","newowner","newowners","newpairaddress","newpandorareserve","newpartyhost","newpendingadmin","newperiod","newpertokenreward","newpiece","newpoints","newpool","newpoolcellreserve","newpoolsupply","newpoolwbnbreserve","newpower","newprice","newpricemantissa","newpricepershare","newprincipal","newprinciplewithamount","newproduct","newquorum","newrate","newrealizedtradingfeescollateral","newrecipientbalance","newreport","newreservej","newrevenue","newreward","newrewardpertoken","newrewardpool","newrewardrate","newrewards","newroot","newrootroot","newrouteraddress","newrpt","newsenderbalance","newshareprice","newshells","newsigners","newsize","newslashamount","newslice","newslope","newsquidbalance","newsquidtoken","newstable","newstablecoin","newstake","newstakingcontract","newstore","newstrategy","newstrategycompletelossevents","newsum","newsupply","newsupplyindex","newsurrogate","newswap","newt1","newt2","newtaker","newthreshold","newticklower","newtickupper","newtoken","newtokenbalancein","newtokenbalanceout","newton","newtonmethodcubic","newtony","newtotalassets","newtotaldebt","newtotaleffectivesupply","newunitshares","newunlock","newunlocktime","newuri","newusdtbalance","newuser","newuserregistered","newvalidrouter","newvote","newwallet","newwlpamt","newyield","nex","nexae04ae","next","nextaddress","nextaverageprice","nextbalance","nextbasket","nextbetid","nextbid","nextblock","nextbuybackmembercount","nextcontract","nextdrawdate","nextepoc","nextepoch","nextepochstart","nextepocid","nextgen","nextid","nextindex","nextinitializedtickwithinoneword","nextlienid","nextliquidityindex","nextoffset","nextorderid","nextownerindex","nextperiod","nextprice","nextprizeid","nextredeem","nextrequestid","nextrewards","nextrollupid","nextscaledvariabledebt","nextshortid","nextsize","nextsqrtp","nextsupply","nexttick","nexttime","nexttimestamp","nexttokenid","nexttokenin","nexttrove","nextusertocheck","nextvariableborrowindex","nextvirtualid","nexu","nf","nfarm","nfd","nfor","nfp","nfpmanager","nfptokenid","nft","nft1155","nft20","nft8","nft9","nftaddition","nftaddress","nftamount","nftcheck","nftclaim","nftcollateraltokenid","nftcollection","nftcontract","nftfactory","nftfloororacle","nftg","nftgexp","nfthasloan","nftid","nftids","nftliquidation","nftmanager","nftmanagerfixed","nftmapping","nftmarketcreators","nftmarketfees","nftminted","nftmintsalemultiple","nftmirror","nftnotreceived","nftoverlord","nftrecipient","nfts","nftshadow","nftsimpleauction","nftsone","nftssold","nftstakecarryamount","nftstaking","nftstakingfixed","nftstate","nftstwo","nfttokenid","nfttrader","nfttraderexp","nfttype","nftv1","nftv2","nftvaultaddress","nftvaultcontroller","nftweights","nftx","nftxvault","nftxvaultupgradeable","ng","ngf","ngfstoken","ngp","ngpexp","ngptoken","nholders","nibbl","nice","nich","nifti","niftyapes","nimb","nimbu","nimbuscall","nimbuspair","nimbuspaira0ff0e","nimbusreferralprogram","nimiq","nine","nineti","ninja","ninth","nk","nlps","nlx","nmbplatform","nmbplatformexp","nmt","nnnn","noactivegrant","noassetstowithdraw","noavailablecardbundles","nobodi","noborrowinthesameblock","nochallenge","nocode","node","nodeaddr","nodeaddress","nodeamount","nodebuyer","nodeentity","nodefee","nodeid","nodeimplementation","nodeinfo","nodelegatecall","nodelist","nodeowner","nodependingupdate","nodepool","nodeprice","noderefererof","nodes404","nodesofuser","nodestakecache","nodesubscribed","nodesubscriptionlisab9d8f0","nodetokens","noerror","noexplicitamounttorepayonbehalf","nofeewhitelist","nogrant","nois","noliquidity","nomad","nomadbaseinitialize","nomadbridgeexp","nomatchinglock","nomin","nominalfinalaum","nominalliq0","nominalliq1","nominalmain","nominaltax","nomine","non","noname","nonassettoken","nonassettosend","nonbase","nonblock","nonblockinglzapp","nonblockinglzreceive","nonblockinglzreceive1","nonc","nonceafter","noncealreadyused","noncebefore","noncedata","nonceinflation","nonceperinvestor","nonceused","noncoversharesburnrequested","none","nonetheless","nonexist","nonfung","nonfungiblepositionmanager","nonpayable","nonrebasingcreditspertoken","nonrebasingsupply","nonreentr","nonreentrant","nonreentrantafter","nonreentrantbefore","nonsens","nonsequenti","nontransferrable","nonwhitelistedmodule","nonzero","noob","noon","noop","noopstub","noopswaphelper","noopvault","noownershiptransferinlast24hrs","nopaymentmade","nope","nopendingredeemrequest","noposition","noprizesavailable","noredeemrequest","noreentrant","noreferrer","noregisteredaccount","norewardavailable","norewards","norewardstoclaim","normal","normalis","normalizationfactor","normalizedamount","normalizeddebt","normalizedprice","normalizedquote","normalizedtofull","normalizedweight","normalizedweights","normalizeto18","normaltiers","normalwithdrawactionidentifier","normi","nosameblockswap","nosession","nosharesowedinepoch","nosharestoredeem","nostakingselected","noswap","noswapfromzerobalance","notabl","notactiveorder","notagentowner","notallowed","notapproved","notapprovedorowner","notar","notari","notat","notauthorized","notavailable","notavendor","notbanned","notblacklisted","notblocked","notburned","notcalledfromsafe","notconfirmed","notcontain","notdeposited","note","noteamount","notedata","notehash","noteid","notenoughassets","notenoughbalance","notenoughcash","notenoughethvaluetransferred","notenoughfunds","notenoughremainingquantity","notenoughsupply","notentered","noterepayment","notesignature","notexpdata","noth","notic","notif","notifi","notifychallengesucceeded","notifycredit","notifyharvest","notifyloss","notifypartialloss","notifyreward","notifyrewardamount","notifyswap","notifytransfer","notifyunsubscribe","notifyunsubscribewithcontext","notinitializable","notinitialized","notinthewhitelist","notion","notionalfee","notionalsofar","notionalswap","notminted","notokenstorelease","notowner","notownernorapproved","notpause","notpaused","notpublic","notrandomairdropaddr","notransferleverage","notrecoverymode","notrestakemanager","notrollingover","notrtokenormfd","notset","notslashstore","notsleeping","notstak","notstaking","notstarted","notsupportederror","notunderwater","notverified","notvoted","notwhitelisted","notwhitelistedrewardtoken","notzero","noun","nov","nova","novabox","novaboxexp","novaconstructorhelper","novaexchangeexp","novax","novel","novelti","novemb","novo","novoa0787d","novoexp","novolp","novonft","novotes","now_","nowher","nowhour","nowindow","nowprice","nowswap","nowswapexp","nowtime","nowts","nowvalue","np","npm","nr","nrv","nrvpid","nrwd","ns","nshouldpurchase","nst","nstamount","nstexp","nstout","nsuccessfulrefunds","ntoken","ntokenaddress","ntokens","ntokens1","nu","nucypher","nudg","nuisanc","nuke","nukefund","nuker","null","nulladdress","nullifi","nullifierhash","nullroot","num","num721","num721toburn","num721tomint","numa","numbaskets","number","number64","numberminted","numberofcoins","numberofnodes","numberofpublicinputspertx","numberofreceipttokens","numberofstakes","numberoftokens","numberofvaults","numberofwinners","numbids","numcatalyst","numclaim","numendpoints","numer","numerair","numexp","numfilledblocks","numhosts","numhostsaccepted","numinnerrollups","numitems","numjoinsplitsperrollup","numl1blocks","numliqbins","numnftperaddress","numnodes","numnotemptyinnerrollups","numoen","numofpayments","numofrings","numofvaults","numorderstocancel","numrealtransactionsoffset","numrealtxs","numrolluptxs","numrows","numtokens","numtokensreservedforvesting","numtokenssellrate","numtokensselltoaddtoliquidity","numtokensselltofund","numtokenstosell","numtxproofs","numtxs","numtxsperinnerrollup","numtxsperrollup","numused","numvow","numvsc","nusd","nusdlp","nut","nutz","nutz404","nv2","nvd","nweth","nx","nxm","nxmmaster","nxt","nxtp","nxusd","o2","o2bal","o404","oapp","ob","obals","obedi","obei","obfusc","obj","object","objectids","oblig","obligingli","obliter","oboex","obscur","observ","observationperiod","observationstimestamp","observationtimestamp","obsolet","obstacl","obtain","obtc","obviou","obvious","occup","occupi","occur","occurr","ocean","oceanlife","och","ocp","oct","octo","octob","octodefi","od","odai","odd","odddigit","oddethers","oddz","odo","odosrouter","oer","oerc20delegate","oerc20delegator","oerr","oeth","oether","oev","oex","off","offaddliquiditytrigger","offby","offchain","offchaingameidtoonchaingameid","offchainorder","offend","offens","offer","offeramount","offerbid","offercurrency","offerdecimals","offerid","offerinfo","offerlibraries","offeror","offerrate","offerstatus","offertounlock","offertype","offici","officialy","officialyebalance","officialyeswapitattack","officialyetoken","offlin","offload","offset","offset_","offsetpoints","ofoth","oft","oftcomposemessage","oftcore","often","oftoken0","oftoken1","oftreceipt","ofts","oftsand","oftsent","oftv2","og","ogliq","ogmint","ogn","ogv","ohash","ohm","oi","oidelta","oilong","oishort","ok","okai","okc","okfee","okstrats","oku","ol","ola","olasamount","old","oldaddress","oldadmin","oldbalance","oldbalances","oldbgld","oldbias","oldboc","oldboost","oldbridgeoperator","oldcell","oldclaimquota","oldclaimquotanew","oldclaimquotaold","oldd","olddata","olddec","olddelegate","oldeffectivebalance","oldelyassetp","oldelyassetprice","older","oldest","oldestobservation","oldesttimestamp","oldfrombalance","oldgaugeweight","oldid","oldimplementation","oldindex","oldinstance","oldlisting","oldlpbalance","oldolifereserve","oldowner","oldpandorareserve","oldpoints","oldpool","oldprice","oldproduct","oldreferrer","oldrewardpool","oldrewardrate","oldsenderbalance","oldslope","oldsquidtoken","oldstaking","oldstakingcontract","oldsum","oldsupply","oldt1","oldt2","oldtobalance","oldtoken","oldtotal","olduser","oldvalue","oldwcresreserve","oldweight","olif","olifeexp","olifewbnblppool","olink","olp","olpc","olpcexp","olpctoken","olympu","olympusdao","olympusdaoexp","om","omatic","omaticx","omiss","omit","omni","omni404","omnibridg","omnichain","omnichaindata","omniestate","omniestateexp","omniexp","omnipool","omnipot","omniservice","omniserviceproxy","omnistakingpool","omo","omoagent","omooracle","omorouter","omorouterfixed","omovault","ompx","ompxcontract","ompxcontractexp","ompxtoken","on","onafterremoveliquidity","onbalance","onbehalf","onbehalfof","onblindboxentry","onblockproposed","onboard","onbook","onbuyback","oncall","oncancelredeemrequest","onchain","onchainclob","onchaingameid","onchainlab","onchainlob","oncompute","oncurve","ondelegationend","ondeposit","ondo","ondonate","ondonation","one18dp","oneapcinusdt","oneclickcontractrole","oneclickephemeralswapoutput","oneclickproxy","onedao","onedec18","onee36","oneforzero","onehundredpercent","onehundredwad","oneinch","oneinchaggregatoraddress","oneinchaggrouter","onemantissa","onemind","oneminustradingfee","onenable","onepct","onerc1155batchreceived","onerc1155received","onerc721received","onering","oneshar","onesharefist","onesqrtpricex96","oneth","onetimeamount","oneusdtinapc","onevaultusdccapacity","onexitpool","oneyear","oneyearinseconds","onflash","onflashloan","onfnft","ongo","ongoingdebtof","ongoingwithdrawals","oninstall","onleaderboard","onlin","onlock","onlyactivated","onlyactivepool","onlyactivepoolhelper","onlyadmin","onlyallowed","onlyallowedcaller","onlyallowedcontract","onlyallowedcontracts","onlyapprovedoperator","onlyapprovedrouter","onlyartcreator","onlyassetmanager","onlyatm","onlyauthorised","onlyauthorized","onlybagholders","onlybalancer","onlybalancervault","onlybank","onlybeforedate","onlybeneficiary","onlyborrowerrouter","onlybridge","onlybunnihook","onlybunnihub","onlybylocker","onlyclaim","onlycomptroller","onlyconfig","onlycontroller","onlycore","onlycoreaddress","onlydelegatecall","onlydeposited","onlydistributor","onlydividenddistributor","onlyearners","onlyeaserviceaccount","onlyenabledpair","onlyendpoint","onlyengine","onlyeoa","onlyexchange","onlyexecutor","onlyfactory","onlyfromvault","onlyfsd","onlygateway","onlygelatorelay","onlygov","onlygovernance","onlygovorsubgov","onlyhandler","onlyhashrate","onlyhook","onlyhousewallet","onlyifinitialized","onlyinitializing","onlyinitiator","onlyissuer","onlykeeper","onlylbp","onlylimitorderprotocol","onlylistercandeposit","onlylockzap","onlymain","onlymanager","onlymanagercontract","onlymanagerorowner","onlymanyown","onlymarket","onlymastercontractowner","onlymiddleware","onlyminer","onlymining","onlymint","onlyminter","onlymodule","onlymrpcontract","onlynewepoch","onlyonorafter","onlyoperator","onlyoperatororstrategy","onlyotherbridge","onlyown","onlyowner","onlyownerifpaused","onlyownerorinsolvent","onlyplatformmanager","onlypool","onlypoolmanager","onlypositionmanager","onlyprotocol","onlyproxy","onlyproxyadmin","onlypublisher","onlyrecipient","onlyredeemer","onlyrelay","onlyrelayer","onlyrelayhub","onlyremoterouter","onlyreplica","onlyrestakemanager","onlyrole","onlyroler","onlyrollupprovider","onlyrouter","onlyrunnerscript","onlysablierbob","onlyself","onlysenate","onlysettler","onlysignedbympc","onlysolver","onlystaking","onlystakingcontract","onlystakingmanager","onlystakingpool","onlystorageowner","onlystrategist","onlystrategy","onlystronghands","onlyswapper","onlyteller","onlythis","onlytoken","onlytokenlistercanwithdraw","onlytoself","onlytrackingtoken","onlytrustedcaller","onlyuninitialized","onlyvalidamount","onlyvalidandinitializedck","onlyvalidasset","onlyvalidfactory","onlyvault","onlyvaultorgovernor","onlyvaults","onlyvaultwrapper","onlyverified","onlyvoter","onlywallet","onlywhale","onlywhenassetnotexisted","onlywhenfeederexisted","onlywhitelist","onlywhitelisted","onlywhitelistmint","onlywrapper","onlyx","onlyxwinprotocol","onmessagerecalled","onmessagerecalledfixed","onmoolahflashloan","onmorphoflashloan","onoftreceived","onpolstart","onproposedblock","onpull","onramp","onrebase","onrecv","onredeem","onsen","onsharetransfer","onstreamcanceled","onswap","onswapcallback","onto","ontokenbridged","ontokenpurchase","ontokenreceived","ontokens","ontokentransfer","ontr","onunderlyingbalanceupdate","onuninstall","onunlock","onward","onwithdraw","onwithdrawal","onyx","onyxdao","onyxprotocolexp","oo","oob","oog","oogs","oor","ooswap","op","op0","op1","op2","op3","opac","opaqu","opaxg","opborrowing","opborrowingdelegator","opborrowinglib","opcallcode","opcod","open","openaccount","openandredeem","opencall","opencollaterizationrate","opencorech","opendays","opendebt","openfundingfee","opengoldeneggmetadata","opengsn","openingfee","openingts","openleverag","openleverage","openleverageexp","openleverageposition","openlevv1","openlevv1lib","openli","openliquiditytrigger","openlong","openminhealthbps","openocean","openorder","openorderidsmap","openordermap","openpacket","openplatfromtime","openposition","openpositiondrainer","openprice","openprivate","openrequestdata","openschedule","opensellburn","openshort","opensqrtpricex96","opentime","opentrad","opentrade","opentrading","opentrove","opentrustedmarginaccount","openwithpermit","openzeppelin","openzeppelincontractsproxyproxy","opepe","oper","operand","operatemodule","operatingconfig","operation","operationaltreasury","operationcall","operationid","operationimpl","operationnotallowed","operator_","operatora","operatoractivestake","operatorb","operatorbeneficiariesshares","operatorbeneficiariessharesperassetclass","operatorclassshares","operatordata","operatordelegator","operatorfeeamount","operatorflag","operatorid","operatorids","operatorlength","operatoroperations","operatorregistry","operatorregistryv1admin","operatorrewards","operatorrole","operatorshare","operatorsharedetails","operatorshares","operatorstake","operatorstakecache","operatorutilizationheap","opinfo","oppon","opportun","opportunist","opportunitycost","oppos","opposit","opreverted","opsec","opsucceeded","opt","opt0","opt1","opt2","opt3","opt4","optim","optimis","optimismmintable","optimismmintableerc20","optimismsendblockinfo","optimist","optimisticoracle","optimisticseconds","option","optionaldvncount","optionid","optioninfo","optionmath","optionprices","optionscontract","optousd","optype","opyn","ora","oraai","oraaib0f34b","oracl","oracle1","oracle2","oracle3","oracle4","oracle5","oracleadapterchecked","oracleaddress","oraclechainlink","oracleconsumer","oraclecontract","oraclecontracts","oracledata","oracledecimals","oraclefacade","oraclegc","oracleheartbeat","oracleid","oracleless","oraclelib","oraclelibrary","oraclemanager","oraclemodule","oraclemove","oraclepoolofferhandler","oraclepremium","oracleprice","oraclepricemantissa","oraclepricemismatch","oracleprocess","oraclequeuelib","oracleregistry","oraclerequestrecipient","oracletimeout","oracletrigger","oracletriggeraddress","oracletwap","oracleuniprice","oracleversion","orb","orbcore","orbit","orbitchainexp","orbtoken","orchestr","order","order10001","orderallowed","orderamount","orderbook","orderbookfactory","ordercancelled","ordercount","orderdata","orderdebtstates","orderemap","ordererrors","orderexpired","orderfeerecipient","orderfeeusdx18","orderfilled","orderhandlerfixed","orderhash","orderhashtoremainingquantity","orderhintarray","orderid","orderidcounttoolow","orderidlength","orderids","orderinfo","orderli","orderlib","orderlist","ordernonce","orderpool","orderregistered","orderremoved","ordersfacet","orderstatus","ordertype","ordinari","org","organ","organization","ori","orient","orig","origattacker","origin","originaddress","originalamount","originalbonusbalance","originalcaller","originalclaimed","originalinitiator","originalorder","originalpercentage","originalreserve","originalshortrecordcancelled","originchain","originerc721address","originpositionkey","originswap","origintoken","orion","orionexp","orionpool","orionpoolswap","orionpoolv2","orionpoolv2call","orionpoolv2pair","oriontoken","orionvault","orn","orphan","ort","orthogon","os","oscil","oseth","osethweth","osn","osnexp","ost","ostack","ostium","ostiumvault","ostmatic","ostoken","oswap","ot","otap","otapaddress","otc","otcstorage","other","otheraccount","otheraddress","otheramount","otherbep20token","otherbridge","othercallsetrelationship","otherhalf","otherlptotalshrink","otherpaircontractaddress","othertoken","otheruser","otherweth","otherwis","otm","otoken","otokencollateral","otokenrepay","otokens","otokensissued","otokenstoexercise","otsea","otseaerrors","otsearevenuedistributor","otseastaking","otter","ottersec","ouroboro","ourselv","ousd","ousdc","ousdt","out","out1","out2","outaddr","outamount","outbid","outbidd","outbound","outcom","outdat","outdec","outer","outermost","outevent","outflow","outgo","outgout","outlai","outlandish","outlin","outliv","outminusfee","outnumb","outoffunds","outofgas","output","outputamount","outputasset","outputbal","outputbalance","outputbase","outputowner","outputsize","outputtoken","outputtotalsupply","outran","outrank","outrecord","outright","outryolo","outsid","outside0","outsiz","outsourc","outstan","outstand","outstandingamount","outstandingdebt","outstandingprincipal","outstandingrepayabledebt","outstandingvalues","outtoken","outu","outusdt","outvot","outweigh","outweth","outwtoamount","ov","over","overag","overal","overborrow","overbroad","overcharg","overcollateralizedloan","overdu","overestim","overflow","overflowburnamount","overflowdata","overflowerror","overflowseed","overhead","overkil","overlai","overlap","overload","overlook","overlord","overminimumtokenbalance","overmint","overmintokenbalance","overnight","overnightexp","overnightusdplusminter","overnightusdtplusminter","overpai","overpaid","overpay","overpopul","overpr","overpric","overprotocol","overrid","overridden","overriden","overrod","overrun","overs","oversel","overshoot","oversight","oversold","overspend","overst","overstat","overturn","overvalu","overweight","overwhelm","overwhelmingli","overwithdraw","overwrit","overwritecollateral","overwritten","overwrot","ovghst","ovusd","ow","owasp","owbtc","owed0","owed1","owedamount","owedrealizedpnl","owedrewards","oweth","owingeth","owingeth4","owingeth6","owingtoken","own","ownabl","ownable2","ownable2step","ownableinit","ownablestorage","ownableunauthorizedaccount","ownableupgradeable","ownaddress","ownborrow","ownedinit","ownedpositions","ownedtokens","ownedtokensindex","ownedupgradeable","owner","owner0","owner_","owneraddr","owneraddressdata","ownerbal","ownerbalance","ownerburnliquiditypairtokens","ownerd","ownerexists","ownerfee","ownerindex","ownerindexbit","ownerless","ownermanager","ownernotcaller","ownerof","ownerofusdc","ownerororigin","ownerrev","ownerrevto","ownerrole","ownersdone","ownership","ownershipalreadyclaimed","ownershipchange","ownershiptransferred","ownerstake","ownertokencount","ownertonftokenidlist","ownertonode","ownertorolloverqueueindex","ownertotokencount","ownerwithdraw","ownerwithdrawall","ownerwithdrawallto","ownerwithdrawfee","ownerwithdrawto","ownssafe","owst","owstweth","ox","oxcn","oxodex","oz","p0","p1","p2","p2controller","p2erouter","p2p","p2pssvproxy","p404","p404contract","p404nft","p404token","p719","p719tokenexp","pa","paal","pace","pack","packag","packageid","packageusd","packdata","packed1","packed2","packedfloat","packedindex","packedpoolvb","packedsig","packeduseroperation","packeduseroptypehash","packet","packetid","packetinventory","packetinventoryidx","packetnftaddress","packettype","packettypeid","packettypetocardbundles","packetverified","packpoolvb","pad","pafter","page","pager","pagerduty","pagin","pai","paid","paid0","paid1","paidamount","paidcall","paidefi","paidexp","paidfee","paidlocal","paidminted","paidout","paidoutreward","paidprover","paidquestionid","paidremote","paidremoved","paidtoborrower","paiduser","paint","pair","pair0","pair1","pair2","pair3","paira99c40","pairabl","pairadd","pairaddress","pairamount","pairamountchange","pairbal","pairbal2","pairbalance","pairbalanceafter","pairbalancebefore","pairbossbalance","pairbusdt","paircost","paircreated","pairdeibalance","pairdelta","pairedlptkn","pairedlptoken","pairedremaining","pairedswapamt","paireth","pairexists","pairfees","pairfor","pairheldlp","pairid","pairindex","pairkr","pairlib","pairlist","pairlost","pairlp","pairmo","pairnex","pairofpid","pairreservekr","pairreserves","pairscroll","pairsfm","pairstarttime","pairswtbalance","pairtoken","pairtokenamount","pairtokenbalance","pairtotallp","pairtotalsupply","pairupengbalance","pairusdt","pairusdtafter","pairusdtbefore","pairview","pairwavaxafter","pairwbnb","pairwbnbbefore","pairwbnbsatx","pairwis","pairydtbalance","paladin","palmswap","pamount","pancak","pancakebunny","pancakebunnyexp","pancakebuyer","pancakecall","pancakefactory","pancakehunny","pancakelibrary","pancakepair","pancakepair055771","pancakepair1dbe94","pancakepair2","pancakepair77a684","pancakepairc1c2ef","pancakerouter","pancakerouteraddr","pancakeroutertoken","pancakeseller","pancakeswap","pancakeswaprouter","pancakeswaptoken","pancakev2","pancakev3","pancakev3flashcallback","pancakev3pool","pancakev3pool172fcd","pancakev3smartrouter","pancakev3swapcallback","pancakev3swaphelperexp","pandora","pandoraexp","pandorasnodes404","pangolin","pangolincall","pangolinpair1","pangolinpair2","panic","panopt","panopticvaultaccountant","panprog","panther","pao","paper","par","para","parad","parallel","paraluni","param","param0","param1","param2","param3","param4","param5","paramet","parameter","parameteris","parameterless","parametermismatch","parameterpayload","parametr","parammet","paramrule","params0","params1","params_","paraphras","paraproxy","paraproxylib","pararouter","paraspac","paraspace","paraswap","paraswapcalldata","paraswapcontract","paraswapexp","paraswaprepayadapter","paratransferproxy","parb","parent","parentaddr","parentaddress","parentgasused","parenthes","parenti","parentid","parentoffset","pari","paribu","paribusexp","pariti","park","pars","parseaddress","parser","part","part1","part1a","part2","part2a","partak","partakeaddlp","parti","partial","partialburn","partialfill","partiallyfilled","partiallyfillorder","partialtrade","partialtradepnlcollateral","partialtransactionproof","particip","participateaward","participatetoauction","particl","particleexchange","particular","partit","partli","partner","partnerfreemint","partnerinfo","partnershare","partnerslippage","partnerslippageshare","partnersurplus","partnersurplusshare","partusdt","partya","partyaavailablebalanceforliquidation","partyaddresses","partyalreadywoke","partyanonces","partyb","partybnonces","partygovernance","partyi","pashov","pass","passag","passeddays","passedseconds","passiv","passivecommissionrate","passivefee","passnow","passthrough","passtime","past","pastslippagebounds","patch","path","path0","path1","path1decimals","path2","path2decimals","pathatob","pathbui","pathlen","patholog","pathsel","patron","patronnft","pattern","paus","pausabl","pauseabl","pauseclaim","pausemint","pauseorunpause","pausepool","pauser","pauserrole","pauseswap","pavax","pawn","pawnedprincipal","pawnfi","pawnfiexp","pawnprice","paxg","paxgtoweth","payabl","payall","payamount","payamt","payback","paybackamount","paybase","paycallback","paycoin","paydai","paydebtandtransfercollateral","paydepositors","paydirect","paye","payentryfee","payer","payeth","payexecutiongas","payfee","paygem","paygood","payin","payinfo","payload","payloadcontract","payloadhash","payloadhashes","paymast","paymasteranddata","payme","payment","paymentaddress","paymentaddressnotbezeroaddress","paymentamount","paymentasset","paymentcurrency","paymenterc20","paymenterc20registry","paymentresolved","paymentsettler","paymentstokens","paymentsuccess","paymentto","paymenttoken","paymentwallet","paymrp","payoff","payofftrade","payout","payoutamount","payoutbalance","payoutfor","payoutfrequency","payoutinfo","payoutmult","payoutrate","payoutsto","payoutstoafterbuy","payouttoken","payoutvalueusd","payprefund","payprotocolandtrader","payquote","payreceiver","payreentrancylock","payrewards","payrol","payrollclaimed","payseller","paytoken","paytokenaddress","paytokenamountin","paytokencontractaddress","payusdt","paywitherc20","pbaas","pbalanc","pbayc","pbnb","pbtcb","pbusd","pbx","pc","pcake","pcape","pconfig","pct","pctbase","pd","pdai","pdf","pdolly","pdv","pdz","pdzbal","pdzexp","pea","peak","peakprice","peapod","pear","pearlmit","peck","peckshield","pectra","peel","peer","peerid","peeridhash","peg","pega","pegaball","pegaballattack","pegaballv1implementation","pegstabilitymodule","pegsupply","pegswaps","pen","penal","penalis","penalti","penaltyamount","pend","pendingadmin","pendingamount","pendingbribereward","pendingbrun","pendingburnamount","pendingburneth","pendingburnrecorded","pendingbxh","pendingc","pendingcancelredeemrequest","pendingcompound","pendingcount","pendingdepositrequest","pendingdeposits","pendingepochs","pendingexecution","pendingfee","pendingfeeheist","pendingfit","pendingflashdecision","pendingforqueue","pendinglocal","pendingmanager","pendingmint","pendingorderids","pendingowner","pendingownerproceeds","pendingpayouts","pendingprotocolfee","pendingqueueindex","pendingquoterewards","pendingredeem","pendingredeemrequest","pendingremovals","pendingrevenue","pendingreward","pendingrewards","pendingsaleamount","pendingsellburn","pendingshares","pendingstake","pendingtoken","pendingtotal","pendingupgrade","pendingwithdrawal","pendingwithdrawals","pendingwithdrawalsrequests","pendl","pendlelpt","pendlemarket","pendlemarketfactoryv3","pendlemarketregisterhelper","pendleoracle","pendleprincipaltoken","pendleptlib","pendleptoracle","pendlerouter","pendlestaking","pendlestakingbaseupg","pendleyieldcontractfactory","peng","penguin","penguincount","penguingotchi","penguinid","penguinids","penni","penpi","peopl","pepe","pepecoin","pepetoweth","pepper","perblockrate","perc","percafterfeex96","percall","perceiv","percent","percent1","percent2","percentag","percentagetoburn","percentagetomigrate","percentdenominator","percentdiv","percentforlpburn","percentforrebase","percentfortxlimit","percentmul","percentsdivider","percis","percof","percontractgdsamount","perday","perenni","perfect","perfectli","perform","performaction","performancefee","performanceupdated","performcalls","performcreate","performdepositrewardbyrewardtype","performfarm","performoperations","performpairing","performupkeep","period","periodamount","periodduration","periodfinish","periodfrom","periodid","periodspassed","periodto","periph","peripher","peripheri","peripheryerrors","peripheryvalidation","perlisting","perlp","perman","permil","permill","permiss","permissiondenied","permissioneddynavault","permissionid","permissionids","permissionless","permissionlessbasicpoolfactory","permissionlessli","permissionlessrebalances","permissionname","permissionsmanager","permit","permit2","permit2address","permit2approve","permit2params","permit2paymentabstract","permit2paymenttakersubmitted","permitpayload","permitr","permits","permitsingle","permittransferfrom","permittypehash","permitv","permitwitness","permitwitnesstransferfrom","perp","perpdecimals","perpengine","perpetu","perpetuallylocked","perpetuallylockedbalance","perpetualprotocolexp","perpoolunderlying","perpownable","perpownableownershipalreadyclaimed","perpownabletransferzeroaddress","perpownertransferred","perppair","perppairexp","persecondrate","persharepaid","persharestored","persist","person","persona","personalbids","personalvault","personhood","perspect","pertoken","pertokenrewardlast","pertokenstored","perturb","pesa","pesto","pestothebabykingpenguin","peth","pfee","phalcon","phantom","phase","pheasant","phi","phifactory","phil","philc","phimateri","phinft1155","phish","phisigneraddress","phoenix","phoenixexp","phx","phxproxy","phxproxy65baf1","physic","pi","pick","pickl","pickleexp","pictur","pid","pid_","pidcontroller","piec","pieceid","piecem","piggi","piggyback","pike","pikefinanceexp","pikeproxy","pile","pillar","pin","pine","pinelendinglibrary","pinewallet","pinfo","ping","pino","pioneer","pip","pipe","pipelin","pirex","pirexeth","piti","pittanc","pivot","pixel","pk","pk1","pk2","pkg","pkgid","place","placehold","placement","placeorder","placesellorder","plai","plain","plainli","plamen","plan","plan1roi","plane","planet","planneddebt","plant","plat","plateau","platfee","platform","platformauction","platformcontroller","platformfee","platformfees","platformpool","platfrom","platypu","platypus02","platypus02exp","platypus03","platypus03exp","platypustreasure","platypustreasureborrowpaused","platypustreasureexceedcollateralfactor","platypustreasureinvalidamount","plausibl","playbook","player","playerfee","playeri","playerownedpenguins","playerpayout","playgame","playground","plaza","plazz","pleas","pledg","pledgeaddr","pledgeaddress","pledgeamount","pledgeandborrow","pledgedata","pledgedof","pledgein","pledgeinfo","pledgeinternal","pledgelp","pledgemanager","pledger","pledgetoken","pledgeu","pledgor","pledgorshare","plenti","plex","pln","plntoken","plonk","plot","ploutoz","ploutozexp","plp","plp_","plpamount","plpdecimals","plpmanager","plpsupply","pltd","pltdexp","plu","plug","pluggabl","plugin","plumb","plume","plural","plutu","plutusdao","plv","plvglp","plvglptoken","plvglptoken5326e7","plvglptokenamount","plx","pm","pmem","pmm","pmmpricing","pmmstate","pn","pnetwork","pnft","pnfttoken","png","pnl","pnls","pnlsign","pnlusdx18","pnt","po","poc","pocket","pocs","pod","podamountout","podamtreceived","podamtremaining","podownershares","pohm","point","point128","point96","pointbase","pointer","pointfarm","pointfarmbalance","pointhandle","pointless","pointmultiplier","pointscorrection","pointshop","pointssum","pointsweight","pointtoken","poison","poke","pokeabl","pokefailedoverprice","pol","polarx","poli","polic","polici","policydata","policyinit","policymanage","policymanager","polish","polkamarket","poll","pollut","polter","polvault","polvaults","polydex","polydexcall","polygon","polygontrvrouter","polynetwork","polynetworkexp","polynomi","polynomialexp","polynomialzap","pong","ponzi","pool","pool0","pool02","pool0pricedintoken1","pool1","pool2","pool_","poola","pooladapter","pooladdress","poolamount","poolamountin","poolamountout","poolaprinbps","poolb","poolbal","poolbalance","poolbalanceafter","poolbalancebefore","poolbalances","poolbalancesharevalue","poolbgg","poolboost","poolburn","poolburned","poolbusd","poolbypair","poolc9fc5a","poolcached","poolclaim","poolclosed","poolconfig","poolcostofamountin","poolcounters","poolcreated","poolcreationreward","pooldata","pooldigit","pooledtokens","pooleth","poolexcess","poolexposure0","poolexposure1","poolf441a5","poolfee","poolforgauge","poolgovernance","poolhash","poolid","poolidx","poolindex","poolindexoutofbounds","poolinfo","poolinitcodehash","poolinitialized","poolkey","poolkeyset","poollast","poollength","poollist","poollptokens","poolmanager","poolmath","poolmaths","poolmeta","poolmetadata","poolmint","poolname","poolnfreserve","poolnotsupported","poolnum","pooloperatorrole","poolout","poolowner","poolparameters","poolparams","poolprecisiondecimals","poolpriceoracle","poolpriceperunit","poolratio","poolreserve","poolrewards","poolsalt","poolsavax","poolsharesgiven","poolsize","poolstate","poolstates","poolstorage","poolsupply","pooltcrbalance","poolticksstate","pooltime","pooltip","pooltogeth","pooltogether","pooltoken","pooltokenbalance","pooltokensobtained","pooltype","poolunderlying","poolusdt","pooluserliquidity","poolv2borrowamount","poolv3","poolvalue","poolvalueafter","poolvaluebefore","poolvote","poolwalker","poolwbnb","poolwbtc","poolweight","poolweth","poolwethafter","poolwethbefore","poolwtao","poolz","poolzexp","poor","poorer","poorli","pop","popback","popmsgval","popsicl","popsicleexp","popul","popular","port","portal","portaldebt","portalfacet","portfolio","portion","posborrextrainfo","posborrinfos","poscollinfo","poscollinfos","pose","poseidon","poseidon2","poseidon3","poseidon6","poseidonhash","posid","posit","position","positionamount","positionbalance","positioncalculator","positioncaller","positioncount","positiondata","positiondebtshares","positionfeeamountforpool","positionid","positionidof","positionids","positionindex","positionindexes","positioninrange","positioninteractionfacet","positionliquidity","positionmanager","positionminted","positionmultiplier","positionnfts","positionnotfound","positionobject","positionopened","positionpnlusd","positionpnlx18","positionrouter","positionscaleddebt","positionsize","positionsizecollateraldelta","positionstate","positiontimelock","positiontoken","positiontovault","positionvaluator","positionview","poskey","posmanager","possess","possibl","possui","post","postbalance","postbatch","postcheck","postcondit","poster","postfill","postfix","postlimitorder","postliquidationcollateralratio","postmortem","postonlyorderwouldbefilled","postop","postopmode","postprice","postran","postresult","postspread","postsqrt","poststate","postswap","postswapchecked","postswaphandler","postswapreserve","pot","potenti","potentialwithdraws","pour","pow","powder","powdown","power","powerball","powerblockfactor","powerfactor","powerfarm","powerloom","powerof","powerperp","powerused","powh","powup","pp","ppairing","ppf","ppg","ppm","pposit","pppp","ppv2","pr","practic","pragma","pragmat","prank","prb","prbmath","prbproxy","prbproxyannex","pre","preapproved","prebalance","preborrow","precallbalance","precaut","preced","preces","precheck","precis","precisemath","precisemathutils","precisemul","precision18","precision_","precisiondecimals","precisiondelta","precisionfactor","preciv","precompil","precompilecallfailed","precomput","precomputedwrapper","precondit","preconf","precursor","predat","predecessor","predeploi","predeposit","predepositphase","predetermin","predi","predic","predict","predypool","predytradeaftercallback","preemptiv","preemptivedisputecrowdsourcer","preexistingvaultwbtc","prefer","prefix","preflight","prefund","prefundeddeposit","pregas","pregen","pregeninfo","preimag","prelaunch","prelaunchpoints","preliminari","preload","premarket","premarkets","premarketuser","prematur","preminedlp","premint","premis","premium","premiumamount","premiumcollected","premiumfee","premiumpercentage","premiumperflashloan","premiumtolp","premiumtoprotocol","preofferinfo","preopgas","prep","prepaid","prepaidfeepercent","prepar","preparationswithdraw","preparatori","prepareadd","preparecallbackvalues","preparedata","prepareinputparams","prepareliquidationvalues","preparepool","prepareto","prepend","preq","preran","prerelayedcall","prerelease","prerequisit","presal","presaleaisbalance","presalebep20","presalebep20760c2a","presalebscv5","presalebscv5flat","presaleendtimestamp","presalestart","presalestarttimestamp","presalev5","presalewithusdt","presenc","present","preserv","preset","presqrt","press","pressur","prestakingtrade","prestarttimerewards","prestat","prestatetracer","presum","pretend","pretens","pretransfercheck","prev","prevagentid","prevail","prevbal","prevbalance","prevbnbamount","prevent","preventautoswap","preventblacklisted","preventreentrant","preventsametxorigin","preventswapbefore","preverificationgas","prevhash","prevhead","previd","preview","previewclaimablebonus","previewclaimdeposit","previewcurrentbonusbps","previewdeposit","previewfair","previewfee","previewmint","previewredeem","previewredeemorder","previewrewardaccum","previewrewards","previewsettle","previewunstake","previewwithdraw","previewyield","previou","previous","previousbalance","previousbond","previousbondmustnotbeatmaxprevious","previouselastic","previoushelper","previousliquidityfee","previousnominalmain","previousowner","previouspricemantissa","previousreferrer","previousstrategycompletelossevents","previoustaxfee","prevliquidityindex","prevorderid","prevowner","prevrandao","prevrewards","prevshareprice","prevslash","prevstep","prevsupply","prevts","prevvb","prevvote","preward","prewithdrawswap","preworks","prfi","price","price0","price0cumulativelast","price1","price18","price1cumulativelast","price2","price_","priceabl","priceadjusted","priceafterimpact","priceaggregatorstorage","priceatcurrentbin","priceatliquidation","pricebalancerpercent","pricebefore","priceborrowed","priceborrowedmantissa","pricecalculator","pricecalculatorbsc","pricecheck","pricecollateral","pricecollateralmantissa","pricecumulative","pricecumulativelast","pricecurve","priced18","pricedata","pricedec","pricedecimals","pricedelta","pricedeviationguard","priceerror","pricefeed","pricefeeddaieth","pricefeeds","pricegout","priceguarded","priceid","priceimpact","priceimpactdiff","priceimpactdiffusd","priceimpactdivider","priceimpactp","priceimpacttolerance","priceinbnb","priceincrease","priceincrement","priceincrementbygen","priceinfo","priceinterface","priceinternal","priceinvalid","priceless","pricemono","pricenow","priceof","priceofusdt","priceofvds","priceoracle","priceoracleproxy","priceoraclev2","priceout","pricepair","priceperfullshare","priceperitem","pricepershar","pricepershare","pricepertoken","pricepertokeninwei","priceposted","priceprecision","priceproposed","priceprops","priceqcd","pricer","priceratecache","pricescalar","pricescale","pricesource","pricesum","pricethreshold","pricetimestamp","pricetofillat","pricetokenbyexchange","priceupdated","priceusd","priceusdpercoll","pricex128","pricex18","pricex96fromsqrtpricex96","pricier","primari","primarili","primarybridge","primarychaingateway","primaryindex","primaryliquidationcr","primaryreservebefore","prime","primefi","primerecyclewindow","primestrategy","primev","primit","primitivetobmi","princip","principaladdress","principalamount","principalbefore","principalclaimed","principaldeposited","principalpaid","principalprecision","principalreceiver","principalreduction","principalwalletsharebps","principl","print","printer","printmoney","prior","priorbalance","prioriti","prioritypool","priorsupply","prisma","prisonman","pristin","privaci","privat","privateearned","privatekey","privileg","privilegedloan","privilegedpull","privilegedseller","prize","prizecount","prizeid","prizepools","prm","prng","pro","proactiv","probabl","probe","probeprice","problem","proce","procedur","proceed","process","processaccount","processaddliquidity","processamend","processblockoverflow","processburn","processclaim","processdata","processdeposit","processdepositsandwithdrawals","processdistributions","processdrawingsettlement","processed_","processedmessages","processedtxids","processfees","processglobal","processinterests","processinternaltrades","processlidooraclereport","processlocal","processlpreward","processmessage","processmessagefromroot","processmyerc20","processnormalsupplyaction","processoffersfromexecutiondata","processor","processor2","processorder","processorrole","processpair0","processpair1","processpayload","processpendingfees","processpendingremovals","processproof","processrefunds","processrepay","processrequest","processrollup","processrollupproof","processroute","processsafe","processstrict","processsurplus","processswap","processtransactions","processuptorequestid","processuptoshares","processv3callback","processvalidatorwithdrawals","processwithdraw","processwithdrawalbeforerestaking","processwithdrawalqueue","processwithdrawals","procur","procuretokens","prod","prodfinal","produc","producenum","product","product2","profil","profit","profitattack","profitdenominator","profitdistributor","profitfee","profitmaxunlocktime","profitperdaw","profitpershare","profitreceiver","profittaxtokenamount","profitthis","profittoken","profitu","program","programm","programmat","progress","prohibit","project","projectcontractslpd","projectcontractslpdfi","projectcontractsmokelpdividend","projectid","projectlaunch","projectsucceeded","projecttotalcollectedinusdt","projekt","promin","promis","promot","promotereward","promoterewardswitch","prompt","promptli","promptmulti","prone","proof","proofdata","proofdataptr","proofid","proofisforvalidtimestamp","proofless","prooflessdeposit","proofoutputs","proofverified","prop","propag","propaganda","propagandaaddress","propagateerror","propamm","propammwrapper","proper","properli","properti","proport","proportion","proportionaldeposit","proportionalfee0","proportionalfee1","proportionalliquidity","proportionalshare","proportionaltoxp","proportionaltoxpreward","propos","proposalcount","proposalcreated","proposalcreatefactory","proposaldata","proposaldeadline","proposaldisputewindow","proposalexecuted","proposalid","proposalmanager","proposalproposer","proposalquestioncreated","proposalsnapshot","proposalstate","proposalthreshold","proposaltype","proposeblock","proposedprice","proposedtounlocked","proposeepoch","proposeprice","proposerebalance","proposerreward","proposerrole","proposescheme","proposetx","proposit","prorat","prorata","proratabase","prorataownership","prospect","protect","protectedlistings","protectedlistingsfixed","protest","protocol","protocolandpoolon","protocolfee","protocolfeegrowth","protocolfeehook","protocolfeeinhype","protocolfeepercent","protocolfeerate","protocolfees","protocolfeescollector","protocolfeeto","protocolinfos","protocolinterest","protocolnum","protocolpause","protocolpaused","protocolreward","protocolseizesharemantissa","protocolsharefee","protocoltrustee","provabl","prove","proveblock","provecomponents","proveimports","proven","prover","proverfee","provid","provideerc20","provideerc721","providefrom","provideliquidity","provideraddr","providerregistry","providerstake","provis","proxi","proxiabl","proxiableuuid","proxim","proxy1","proxy1db92e","proxy2","proxya","proxyactions","proxyaddr","proxyaddress","proxyadmin","proxyb","proxyb7e1exp","proxybalance","proxybuyer","proxycallifnotowner","proxycodehash","proxycreation","proxydeposit","proxydepusdt","proxyfactory","proxylevusdc","proxyoverflow","proxyreserves","proxyseller","proxystorage","proxystorageposition","proxytransfer","proxywethbalance","prune","prunegroups","prxvt","prxvtexp","prxvtstaking","prxvttoken","ps","pseudo","pseudocod","pseudoeth","pseudototalpool","psm","psmlibrary","psp","pspend","pspstorage","psrouter","pstar","pt","ptag","ptdecimals","ptin","ptkn","ptm","ptm2e1377","ptmpendle","ptoken","ptokens","ptokenstaking","ptout","ptr","ptrate","ptsendandcall","ptstkependle","pub","pub1i","pub1x","pubkei","pubkey1","pubkey2","pubkeys1","pubkeys2","public","publicinput","publicinputshash","publickeys","publickeys1","publickeys2","publicli","publicmint","publicminttime","publicoffer","publicoffers","publicoutput","publicowner","publicsale","publicswap","publicvalue","publicwitnessct","publish","publishencoded","publishersigninfo","publishtax","publishtime","pubsignals","pudgi","puf","pufeth","puffer","puffervault","pull","pullcustomgas","pulledfromsusde","puller","pullerc20","pullfees","pullfromlp","pullfunds","pullinput","pullpayment","pullsigned","pullto","pulltokens","pullunderlying","pulsepot","pump","pumpabl","pumper","pumpereoa","pumpexp","pumponom","pumptoken","punch","punish","punit","puppet","purchas","purchaseamount","purchasebattlepass","purchasecost","purchasedamount","purchasedpoints","purchasedproposedtopurchased","purchasedtounlocked","purchaseparameters","purchaseparams","purchaseplp","purchasesafe","purchaseservicecredits","purchaseshopitem","purchasetoken","purchasetokens","purchasevalue","purchasewithbonuses","pure","pureamount","purer","pureusdttotoken","puriti","purpos","pursu","pusdc","pusde","pusdt","push","push1","push2","push20","push4","pushabl","pushbasednftsupply","pushfcash","pushfront","pushpoolshare","pushto","pushunderlying","pushvaultamounts","put","putcurepochconpubkeybytes","putti","pv2","pv4","pwbtc","pweth","pwn","pwnft","pwnnf","pwusdm","px","pxeth","py","pyth","pythaggregatorv3","pythfactory","pythfresh","pythia","pythiaescrowrewards","pythiatokenstaking","pythoracle","pythprice","pythpx","pythstructs","pythtime","pythupdatedata","q1","q12","q128","q192","q2","q64","q96","qbridge","qbridgehandler","qcd","qi","qilp","qiqi","qiusdc","qiusdcn","qixi","qixiexp","qnt","qq","qqmp","qsp","qtn","qty","qty0","qty1","qtyort","quadrant","quadrat","quadrillion","qualif","qualifi","qualit","qualiti","quant","quantamm","quantif","quantifi","quantit","quantiti","quantiz","quantstamp","quantum","quantumwnexp","quarantin","quarter","quasi","quaternion","qubit","queri","queryabl","queryaddressprovider","querycurvetick","querydata","queryhash","queryid","queryrate","querysellquote","quest","question","questioncooldown","questionhash","questionid","questionids","questiontimeout","queu","queue","queueaccounting","queueclaimall","queueclaiming","queuecurrentepochsettlement","queuedrewards","queuedropboost","queuedshares","queuedtrade","queuedwithdrawal","queueethcache","queueid","queueitem","queuenewrewards","queuenonce","queueoperatorstrategyexit","queueoutstandingvalues","queueredeem","queuerewarder","queuerewardsforcycle","queuetransaction","queuewithdrawal","quick","quickli","quickswap","quiet","quietli","quill","quillaudit","quillaudits","quintillion","quirk","quit","quitsystem","quixot","quixoticexp","quorum","quorumdenominator","quorummet","quorumnotmet","quorumnumerator","quorumnumeratorvalue","quorumvotes","quorumvotesbps","quot","quota","quotaamount","quotacap","quotastart","quotastarttime","quotatime","quoteamount","quoteasset","quoteassetamount","quotebalance","quoteborrow","quotecollateral","quotecustomredemption","quotedapr","quotedec","quotedecimals","quotedelta","quotedliquidity","quoteexactinput","quoteexactinputsingle","quoteexactinputsingleparams","quoteexactoutput","quoteexactoutputsingle","quotefair","quotefeed1","quotefeed2","quoteflow","quotefrom","quoteinput","quotelinear","quoteparams","quotepool","quoteprice","quoter","quotereserve","quotereserveflag","quotereserveqty","quoterouted","quoterv2","quotespecificpoolswithtimeperiod","quotetoken","quotetokenaddress","quotetokenbalance","quotetokendecimals","quotetokenqty","quotetokenqtytoreturn","quotetokenreserveqty","quotetounderlyinggivenin","quoteusdtfactor","quotevault","quotevaultconversionsample","quoteweth","quotewithdraw","quotex18","quotient","qwa","qwastaking","qwastaking69422c","qwatreasury","qx","r0","r0ar","r0arstaking","r0artoken","r0artokenbalance","r1","r15","r16","r2","r20","r3","r4","r8","ra","raac","raachp","raacnft","raacnfthouseprice","raacnftinsufficientfundsmint","raactoken","rabbi","rabbyswap","rabbyswaprouter","rabbywalletswaprouterexp","raca","race","racecommitment","racecommitments","rad","radiant","radiantlendingpool","radio","radioshack","radioshackpair","radiu","radt","radtexp","raffl","rafor","raft","raftcollateraltoken","raftdebttoken","raftexp","rag","rage","rai","rail","rainmak","rair","rais","raisekeeperfee","rake","ram","ramount","ramp","rampstart","rampweight","rams","ramseswrapper","ran","rand","randao","randlucky","randmod","randnum","rando","random","randombytes","randomnumber","randomtrade","rang","rangecount","rangesize","rank","rankedrewardsnotset","rant","rantcenter","rantnode","ranttoken","rapid","rare","rarest","rarestakingv1","rari","raricapitalexp","raricomptroller","rariexp","rarifundcontroller","rarifundmanager","rarifundtoken","rariti","rarityconfig","rarityconfigs","rarityweightindexes","rarma","rata","ratchet","rate","ratebump","rateconfig","ratecurrent","ratedata","rateday","ratedecimals","ratedelta","ratei","ratelib","rateoracle","ratepercision","ratepersec","ratepersecond","rateperyearwad","rateppm","rateprecision","ratescale","ratesi","ratestored","rather","ratifi","ratio","ratioend","ratioexceedsone","ration","ratioprecision","ratiostart","ratiox192","rausd","rausedtomint","raw","rawamount","rawamountwithinterest","rawbalance","rawcal","rawcall","rawdebt","rawdebtbalance","rawdiv","rawexecute","rawimpact","rawinterestamounttomint","rawmul","rawpending","rawsupply","rawtransfer","raydiv","raymul","raymuls","razor","rbalanc","rbalancer","rbalancerexp","rbase","rbnb","rburn","rc","rc1","rc20","rc3","rc4","rc5","rcb","rcbeth","rcbethc","rcharity","rcomp","rcompmax","rcpt","rcv","rcvtokenaccumulator","rcvtokensize","rd","rdeflationerc20","rdnt","rdntaddr","re","reach","reachabl","reachamount","reacquir","react","reaction","reactiv","reactivatevalidator","read","readabl","readaddress","readandagreed","readback","readd","reader","readi","readili","readm","readonli","readsodiumnetworkauth","readtokens","readuint8","readyforexecution","readyvalidatorstake","real","realamount","realavatar","realbalance","realdebt","realdelegate","realduration","realelapsed","realhash","realign","realis","realist","realiti","realitio","realitymodule","realitymoduleeth","realiz","realizedmintfee","realizedpnl","realizedpnlcollateral","realizedpremium","realizedtradingfeescollateral","realizedusdvalue","realizeholdingfeesonopentrade","realizelosses","realizepnl","realizerevenue","realizetradingfeesonopentrade","realland","realli","reallpbalance","realm","realmessenger","realmonalisa","realn","realneeded","realpancakev3pool","realpool","realremoved","realreserves","realt","realtax","realtoken","realtomintserialbtc","realvictim","realx","realxys","realy","reaper","reaperfarmexp","reapervault","reapervaultv2","reappli","rearrang","reason","reasonbytes","reassign","rebal","rebalanc","rebalance","rebalanceandaddliquidity","rebalancefeecalculator","rebalanceincreased","rebalanceratio","rebalancerequest","rebalancerequestadded","rebalancereverted","rebalanceroutine","rebalancerspot","rebalancerweth","rebalancethreshold","rebalancingrewardactive","rebalancingsettokenv3","rebalcontract","rebalperiod","rebas","rebaseamount","rebasecount","rebasefrequency","rebaselimitamount","rebaseoptions","rebaseplus","rebasereward","rebasestate","rebasestrategies","rebasethreetimes","rebasetime","rebasetimeinterval","rebasingcreditspertoken","rebasoor","rebat","rebateforreferrer","rebateto","rebatewei","rebind","rebond","rebound","rebui","rebuild","rebuilt","rec","recal","recalbooster","recalcul","recalfs","recaptur","receipi","receipt","receiptid","receipttoken","receipttokenamount","receipttokencontractaddress","receiv","receive1","receiveapproval","receiveassets","receivebaseamount","receivecalldata","receivecctpmessage","receivecollateralfromvault","receivedamount","receivedasset","receivedeth","receivedfee","receivedlessthanminreturn","receivedmessages","receivedtokenamount","receivedtransferremote","receivedwnt","receiveflash","receiveflashloan","receiveflashloanonleverdowntrove","receivefraxfromamo","receivefromdepositpool","receivefromstrategy","receivelp","receivemessage","receivenfts","receivequote","receiver1","receiver2","receiver_","receiveraddress","receiverequestv2","receiverequestv2signed","receivereward","receiverewards","receiverewird","receiverfactor","receiverlaunched","receiverofunderlying","receiverstates","receiveside","receivetim","receivetoken","receivetokenandmintbond","receivetokens","receivetypehash","receiveuln","receiveuln302","receiveuppool","receivevalue","receivingaddress","receivingasset","receivingassetid","receivingfunds","recent","recentpendingvalue","recept","recharg","reciev","recip","recipeexecutor","recipeorderbook","recipi","recipient_","recipientaddr","recipientaddress","recipientallow","recipientamount","recipientbalance","recipientbasispoints","recipientimplementation","recipientof","reciproc","reciv","reclaim","reclaimvote","reclamar","reclassifi","recogn","recognis","recognit","recogniz","recombin","recommend","recommit","recompil","recomput","recon","reconcil","reconcileprocessportal","reconcilesignercount","reconcili","reconfigur","reconnaiss","reconoutput","reconsid","reconstitut","reconstruct","record","recordburn","recordedlp","recordedreserve","recordeduptime","recordfee","recordmarketcreatorfees","recordownersafe","recordprice","recordresults","recordroyalties","recordstake","recount","recoup","recours","recov","recover","recoveraddr","recoveramount","recoverbep20","recoverdonatedfund","recoveredaddress","recoveredsigner","recovererc20","recovererror","recoveri","recoverlevownership","recoversigner","recovertokens","recoveryoverflowconfig","recreat","recruit","recur","recurr","recurs","recv","recycl","recyclecoldtime","recycleeth","recyclefromblackholeonsell","red","redact","reddio","reddioexp","redeem","redeemableghstpervghst","redeemableshare","redeemall","redeemallowed","redeemamount","redeemamountin","redeematomic","redeemcalculator","redeemcollateral","redeemcustom","redeemdata","redeemdelegations","redeemdeposit","redeemearly","redeemearlylv","redeemeddai","redeemeddeposittokens","redeemedids","redeemer2","redeemerassetuser","redeemerrole","redeemeth","redeemexpiredpt","redeemfailed","redeemfair","redeemfeebp","redeemfeerate","redeemfresh","redeemfrom3rdpartyprotocol","redeeminfo","redeeminternal","redeemloot","redeemlp","redeemnative","redeemorder","redeemparams","redeemposition","redeempositions","redeemproportional","redeempt","redeempy","redeemqueue","redeemrate","redeemrequest","redeemrequestbalance","redeemrequestcanceled","redeemrequests","redeemrewards","redeemshort","redeemsuccess","redeemto","redeemtoken","redeemtokens","redeemtokensin","redeemtoomuch","redeemunderlying","redeemunderlyinginternal","redeemunderlyingtodai","redeemvoided","redeemweth","redeemwithupxeth","redeemyields","redeleg","redelegatewithdrawnhype","redempt","redemptionamountsat","redemptionassets","redemptionfacet","redemptionkey","redemptionlp","redemptionprecision","redemptionrequest","redemptiontrades","redeploi","redeploy","redeposit","redesign","redfromcontract","redirect","redistribut","redkei","redkeys","redkeysgame","redkeystoken","redrain","redsonic","redston","redstone","redstonefresh","redstoneprice","redstonepx","redstonetime","reduc","reduceactualltv","reduceamount","reducebuytaxat","reduceselltaxat","reducetoratio","reduct","reductionpercliff","redund","reedem","reedempositions","reef","reenter","reenter1","reenter2","reenter3","reentercount","reentr","reentranc","reentrancy","reentrancycalls","reentrancycheck","reentrancyguard","reentrancyguardentered","reentrancyguardslot","reentrancyguardupgradeable","reentrancystatus","reentrancysteps","reentrant","reentrantli","reentrantsettle","reentri","reentry","reentrylock","reexploit","ref","ref_","refactor","refbonusper","refbyaddr","refcode","refer","refere","referenc","referenceasset","referenceassetoracle","referencevalue","referenti","referr","referraladdress","referralamount","referralbalance","referralbonusclaimed","referralclaimed","referralcode","referralcrowdsale","referralearnings","referraleth","referralfee","referralfeepercent","referralmanager","referralmodule","referralpoint","referralpool","referralregistry","referralregistrylisa651c11","referralrewardpaid","referralrewards","referralroot","referredcount","referrercleared","referrercut","referrercutpercentage","referrerfee","referrerrewards","reff","reffee","reffral","refil","refin","refinancefromloanexecutiondata","refinancefull","refinancepartial","reflect","reflectedamount","reflectfee","reflectionfromtoken","reflector","reflector5039da","reflex","reflexergebexp","refresh","refreshaccount","refreshbasket","refreshdestroyminingaccount","refreshpid","reftoreward","refuel","refund","refund0","refund1","refundaddress","refundamount","refundaseth","refundbids","refundcancelledgame","refundcommitment","refunddust","refundentryfee","refundeth","refundfeeamount","refundflags","refundi","refundinfo","refundperiter","refundprogress","refundreservetoken","refundscompleted","refundtaxamount","refundtoken","refundtokens","refus","refuser","reg","regain","regard","regardless","regen","regener","regim","region","regist","registeraffiliate","registerallowedordersigner","registerblspublickeys","registeredat","registeredbalances","registeredindexin","registeredindexout","registeredmarketplaces","registeredmvd","registeredpool","registeredsystem","registererc20","registerfor","registerfulfillment","registerinterface","registerjetton","registernewbond","registerorder","registerpair","registerpenpiepool","registerprotocol","registerscheme","registertokenonl2","registertokentol2","registervalidators","registervault","registerwithdraw","registr","registrar","registri","registry_","registryaddress","registrycontract","regnum","regnumaurum","regress","regrow","regul","regular","regularli","rehash","rehypothec","reimbours","reimburs","reimplement","reindex","reindexpool","reindextokens","reinforc","reiniti","reinsert","reinstat","reinterpret","reintroduc","reinvent","reinvest","reject","rejoin","rekt","rektora","rel","relai","relat","relationship","relax","relay","relaycall","relaychain","relaydata","relayerapproval","relayerc20","relayerfee","relayergascharge","relayerrefund","relayhub","relaymessage","relaymessagel2gaslimit","relayrequest","relaytokens","relaytokensandcall","relaytxdata","releas","releasableshares","releaseablepools","releaseamount","releasebody","releasecoin","releasedate","releasefromfundsmodule","releaseinterval","releasenext","releaseoneid","releasepercents","releaseperiods","releasepressure","releaseslot","releasetimestamp","releasetocontract","releasetokenfromeventofproject","releasetoreceiver","releasetyped","relev","reli","reliabl","relianc","relief","relist","reload","reloc","relock","rem","remain","remainamount","remaind","remainingallowance","remainingallowanceforthiscampaign","remainingamount","remainingbold","remainingbusd","remainingcash","remainingdeposits","remainingduration","remainingfund","remaininggas","remainingincreaseduration","remaininglockduration","remainingpayout","remainingperiods","remainingproofs","remainingshares","remainingsupply","remainingtounstake","remaininguptime","remainingusdt","remainingvalue","remainreward","remainssolvent","remap","remedi","rememb","remint","remora","remorapercentdenominator","remoratoken","remot","remotedomain","remotetoken","remotetokenmessengers","remov","removeaddrfromblacklist","removeadmin","removeall","removeallfee","removeamount","removeartist","removeasset","removeassetfromsgl","removeassetto","removeat","removeatunordered","removeautovoter","removeborrowbalance","removebyid","removecash","removecollateral","removecollateralwlpto","removecredidperaddress","removecrosschaincollateral","removedbalance","removedcollateral","removedelegation","removednominal","removefee","removefeeder","removefloorliquidity","removefromarray","removefromcontractwhitelist","removegauge","removeleverage","removeliability","removeliq","removeliquidity","removeliquiditybyids","removeliquidityeth","removeliquidityethsupportingfee","removeliquidityformember","removeliquidityimbalance","removeliquidityone","removeliquidityonecoin","removeliquidityonetoken","removeliquidityproportional","removeliquiditysingletoken","removeliquidityv2","removeliquidityviacontract","removeliquidityviacontractfor","removeliquiditywhenkincreases","removelp","removelpliquidity","removelptoblackwholerate","removemaker","removenominee","removenonfloorliquidity","removeoperatorvalidator","removeorder","removeorderfrombook","removeowner","removeowneratindex","removepayoutforwardaddress","removepoolamount","removepositionfailed","removerouterliquidity","removerouterliquidityfor","removesession","removesessionkey","removeshare","removesigner","removestake","removestaking","removestrategy","removetoken","removetokenenumeration","removetokenfrom","removetokenfromownerlist","removetotalsupply","removeunderlying","removeusdt","removeuserborrowedasset","removeusername","removevaluesingle","ren","rena","renam","renbtc","render","renegad","renegadeexp","renegadeexploitcontract","renegadetokenlist","renegoti","renegotiationid","renegotiationoffer","renew","renounc","renounceownership","renown","rent","rental","rentaltype","renter","renzo","renzooracle","reopen","reopentonewauction","reorder","rep","repack","repai","repaid","repaidassets","repaidinterest","repair","repatri","repay","repayaaveportal","repayamount","repayamountfinal","repayamounttouse","repayamt","repayandclaim","repayassetwithcollateral","repayatmaturity","repayatoken","repayborrow","repayborrowbehalf","repayborrowbehalfinternal","repayborrowendbyopenlev","repayborrowinternal","repaycreditaccount","repaycrosschainborrowinternal","repaycrosschainliquidation","repaydebt","repayflashloan","repayforall","repaygracefee","repayi","repayinternal","repayleverage","repayloan","repayparams","repaypause","repayrequest","repayshares","repaysuccess","repaytovault","repaywithatokens","repaywithcollateral","repaywithcollateralpoolparams","repeat","repeatedli","repeg","repetit","repid","replac","replaceinstance","replai","replay","replayswap","replayswapparams","replayswapresponse","repledge","replenish","repli","replic","replica","replyneeded","repo","repoint","repopul","report","report1","report2","reportactivebalance","reportallreserves","reportdata","reportedfreefunds","reportedli","reportedprice","reporterlasttimestamp","reportinglock","reportoutofordervalidatorexits","reportsale","reportslashingevent","reportsweptbalance","reportv3","reportversion","reposit","repositori","repost","repr","repres","represent","representation","repric","repro","reproduc","reproduct","repurchas","repurchase6827","repurchase6827pool","repurchaseaddress","repurpos","reput","reputationof","req","req0","reqid","request","request_","requestamount","requestcallback","requestcredit","requestdata","requestdeposit","requestdonate","requestearlyredeem","requestedamount","requestedexits","requestedgrowth1e18","requestedpricemantissa","requestedrestakedtokenshares","requestedsession","requestedunstakerewardamount","requestid","requestids","requestmanager","requestnotfound","requestprice","requestrandomness","requestredeem","requestredemption","requestrefund","requestreleasestake","requestservice","requestslashing","requestsof","requeststake","requestsum","requesttime","requesttokenid","requesttypehash","requestunstake","requestwithdrawal","requestwithdrawals","requir","requireamountgreaterthanzero","requireauth","requireboldbalancecoversredemption","requirecallerisbo","requirecallerisboortrovemorsp","requirecallerisborroweroperations","requireclaimpermission","required1","requiredamount","requiredapproves","requiredbtx","requireddvns","requiredexits","requiredfee","requiredl1callvalue","requiredmaintenancemarginusdx18","requiredprefund","requiredsignatures","requiredsigners","requiredsignerthreshold","requiredtoken","requiredusdt","requirefromentrypoint","requirehashverifiedv2","requireinitializable","requireisoperator","requireisshutdown","requireliquidity","requireloanongoing","requirelocker","requirenoerror","requirenotblacklisted","requireonlyclearinghouse","requireonlyexchange","requirereceptionack","requirerootverified","requiresauth","requiretopassmessage","requirevalidadjustmentincurrentmode","requisit","reran","reread","rerout","res0","res1","resal","resampl","rescal","reschedul","rescu","rescueerc20","rescueeth","rescuer","rescuerrole","resd","resdl","rese","research","reseed","resel","reserv","reserve0","reserve0n","reserve0old","reserve1","reserve18","reserve1n","reserve1old","reservea","reserveaddress","reserveafter","reserveafternburns","reservealtamount","reserveape","reserveapes","reserveark","reserveasset","reserveassetdecimals","reserveb","reservebal","reservebalance","reservebase","reservebbx","reservebce","reservebefore","reservebefore0","reservebefore1","reservebfc","reserveblock","reservebnbafter","reservebnbbefore","reservebno","reservebtcb","reservebusd","reservebusdt","reservebxh","reservecache","reserved3xat","reservedata","reservedataupdated","reserveddc","reservedebit","reservedop","reservedsupply","reserveduntiltokenid","reservedust","reserveeac","reserveeth","reservefactor","reservefapen","reservefcn","reserveffist","reservefire","reserveflags","reserveforeign","reservefund","reservefusdt","reservegdc","reserveght","reservehnet","reservehoppy","reservein","reserveinput","reserveipc","reservejudao","reservejul","reservekest","reserveleft","reservelib","reservelogic","reservelpd","reservelw","reservembu","reservemel","reservemeta","reservemicdao","reservemsn","reservemsnnow","reservemt","reservemultisync","reserven","reservenata","reservenative","reservengfs","reservengp","reserveofbnbside","reserveorb","reserveout","reserveoutput","reservepln","reservepltd","reservepool","reserveqixi","reservequote","reserveratedata","reserveratio","reserveregistry","reservertokenaddress","reserveryolo","reserves0","reserves1","reserves2","reserves3","reservesbefore","reservescount","reservescroll","reservesdata","reserveskp","reservesta","reservestrac","reservesupply","reservesvt","reserveswapper","reservethis","reservetoken","reservetokenafter","reservetokenbefore","reservetokenid","reservetokens","reservetype","reservetypes","reserveu","reserveunitprice","reserveups","reserveusdc","reserveusdt","reserveusedascollateral","reserveusedascollateraldisabled","reservewavax","reservewbnb","reserveweth","reservexai","reservexdk","reserveydt","reserveyys","reservezoom","reservezoomer","reservoir","reset","resetratefrom","resetsigners","resetsignersfixed","resett","resettrade","resexp2","reshap","reshuffl","resid","residu","residual0","residualamt","residualbidpercentafterdecay","residualvaultwbtc","resili","resilientoracle","resin","resist","resiz","reso","resold","resolut","resolv","resolvedoutcome","resolvedpay","resolvedpayof","resolveorders","resolvepay","resolverisnotwhitelisted","resolvetokenvalue","resolveuser","resort","resoult","resourc","resourceid","resourceidtotokencontractaddress","resourcelock","resourcelockvalidator","resout","respect","respond","respons","rest","restak","restakedbalancewei","restakedtokenaddress","restakemanager","restart","restor","restorationtx","restoreallfee","restoredata","restrain","restrict","restrictactionuntil","restrictedminttoggle","restricteduntil","restrictionduration","restrictminting","restructur","restructurebaddebt","restructuredebt","resttoreimbourse","resubmiss","resubmit","result","result1","result2","resultdigit","resultfor","resultparity","resum","resumpt","resuppli","resupplypair","resupplypaircore","resurrect","resv","resync","resynchron","ret","retail","retain","retamount","retarget","retent","retest","reth","rethethlp","rethethpool","retir","retoffset","retri","retriev","retrievebounty","retrievedeposit","retrievehoneypot","retroact","retrofit","retryabl","retryhash","retrymessag2","retrymessag3","retrymessage","retrymessagein","retrysettlement","retryverifyfail","retsize","retstateroot","return","returnamount","returnassets","returnbytes","returndata","returndatacopi","returndatas","returndatasize","returndelta","returndust","returnedamount","returnedstate","returnedwei","returnhighestbid","returningtoken","returnlivenessbond","returnrawithctds","returntokens","returnvalue","returnvalues","retval","reus","reusabl","reusd","reuseorderids","rev","revalid","revalu","revamp","revampexploit","revbp","reveal","revealstarttime","revenu","revenuehandler","revenuelock","revenuerealized","revenueshare","revenuesharepercentage","revenuetoken","revenuetokenbalance","revenuetokenconfig","revenuetokenconfigs","revenuetokens","revers","revert","revertbecauseuserdidnotprovideagreement","revertmessageparser","revertonerror","revertonfail","revertwith","revest","revfeeamount","review","revis","revisit","reviv","revivegauge","revloan","revloans","revloansource","revloansrevnetsmismatch","revloanszerocollateralloanisinvalid","revnet","revnetid","revnetowner","revoc","revok","revokeallsigners","revokeconfirmation","revokedelegate","revokegrant","revokeremovednomineevotingpower","revokerole","revokeself","revolut","rew","reward","rewardaccumulator","rewardaction","rewardadded","rewardamount","rewardamounts","rewardamt","rewardbit","rewardbps","rewardbusd","rewardcache","rewardcap","rewardcapexceeded","rewardclaim","rewardclaimed","rewardconfigindex","rewardcount","rewarddata","rewarddebt","rewarddecimals","rewarddistributed","rewardduration","rewardfee","rewardfoxtoken","rewardgenerationstarttime","rewardholders","rewardid","rewardindex","rewardindexq128","rewardinfo","rewardkeys","rewardlastupdatetime","rewardmap","rewardnode","rewardof","rewardowner","rewardpaid","rewardpaidto","rewardparent","rewardperblock","rewardpercentage","rewardpercents","rewardperday","rewardperdeposit","rewardpergod","rewardperiod","rewardpernode","rewardpersec","rewardpersecond","rewardpershare","rewardpertoken","rewardpertokenpaid","rewardpertokenstored","rewardperuint","rewardpool","rewardpooladdress","rewardpoolbalance","rewardpoolrewards","rewardpoolshares","rewardpoolstorage","rewardqueue","rewardrate","rewardrateperday","rewardratepersecond","rewardratio","rewardreceiver","rewardrecipient","rewardreferenceepoch","rewardremaining","rewardreserve","rewards1","rewards2","rewards_","rewardsaccrued","rewardsamount","rewardsbalanceof","rewardsbalanceofaccount","rewardsbytoken","rewardscap","rewardscapped","rewardschain","rewardsclaimed","rewardsclaimedinepoch","rewardsconfigured","rewardscontract","rewardsdistributed","rewardsdistributor","rewardsender","rewardsengine","rewardsenginefixed","rewardsexceedmax","rewardsfeeshare","rewardsforstakingcontract","rewardshypervisor","rewardshypervisorc9f27a","rewardsize","rewardslocked","rewardsmanager","rewardsof","rewardsold","rewardspaid","rewardspaymenttoken","rewardsperlpq128","rewardspersec","rewardspoolfee","rewardspricex96","rewardsrate","rewardsreceived","rewardsremaining","rewardsshareperassetclass","rewardssqrtpricex96","rewardsswapslippage","rewardstakeratiosum","rewardstate","rewardstatus","rewardstoken","rewardstokenamount","rewardstokenholder","rewardstyle","rewardsun1","rewardsun2","rewardsupply","rewardswithdrawn","rewardthrottle","rewardtime","rewardtoken","rewardtokenbalance","rewardtokencount","rewardtokenminamounts","rewardtokens","rewardtokensclaimed","rewardtosend","rewardtotal","rewardtrader","rewardtypeset","rewardvault","rewardvaultdelegator","rewardwallet","rewardweight","rewardweightdecrease","rewardweightincreases","rewardwriteoff","rewird","rework","rewr","rewrap","rewrit","rewritten","rewrot","rexp","rf","rfb","rfbexp","rfbtobnb","rfee","rfi","rfq","rft","rftdata","rftlib","rftpayer","rfusdc","rfx","rh","rhineston","rhsbuggy","rhscorrect","ribbon","ribbonmarginpoolexp","rice","rich","richer","richest","richoracle","richpip","richpiptoken","rico","ricobank","ricoexp","ride","rider","rig","right","rightfulli","rightrange","rightslot","rigid","rikkei","rimbtc","rin","ring","ring1","ring2","ringcalcz1","ringcalcz2","ringhash","ringindex","rings","rio","riolrtassetregistry","riolrtcoordinator","riolrtdepositpool","riolrtoperatordelegator","riolrtoperatorregistry","riolrtwithdrawalqueue","rip","ripit","rise","risen","riseratio","risk","riskconfig","riski","riskiest","riskless","riskmanager","riskratio","rival","rivu","rivustao","rl","rlexp","rllpincentive","rln","rlnrevealwindownotstarted","rltoken","rm","rman","rmupdatereward","rn","rnbw","rnd","rng","rnspay","rnspayexploit","roar","roarexp","roast","rob","robin","robinhood","robot","robot1","robot2","robotsell2me","robust","robustli","rocket","rocketpool","rodeo","rodeofinanceexp","roe","roefinanceexp","rogu","roi","roipercentage","roireturn","roitoken","role","roleadminchanged","rolegranted","rolename","roler","roll","rollback","rollfork","rollov","rolloveraccounting","rolloverperiodinblocks","rolloverqueue","rolltonextround","rollup","rollupbeneficiary","rollupdatasize","rollupheaderlength","rollupid","rollupprocessed","rollupprocessor","rollupprocessorlibrary","rollupprocessorv3","rollupproviders","rollupsize","ron","ronin","room","root","rootbridgeagent","roothash","rootk","rootklast","rootroot","rootvalidator","rootvalidatorregistered","rose","rot","rotat","roter","rotertoken","rotocol","roughli","roulett","roulettepotv2","round","roundeddiv","roundedtimestamp","roundid","roundprice","roundpricepershare","roundstobewoundedbeforedead","roundup","rout","routabl","routeamount","routeamounthint","routeamounts","routedata","routeid","routeimpl","routelength","routepath","routeprocessor","routeprocessor2","router","router01","router02","router02address","router2","routeraddr","routeraddress","routeramount","routeramt","routerbalance","routerbalances","routerbyt","routercallnative","routercheck","routercontractaddress","routerdata","routerfadda9","routerfee","routerhash","routernotavailable","routerrequest","routersetter","routersfacet","routerv1","routerv2","routerv3","routin","row","rowned","rownedfrom","rownednew","rownedto","royal","royal1155","royal1155lda","royalroyalties","royalroyaltiesexp","royalti","royaltiescontract","royaltyamount","royaltybps","royaltyfloat","royaltyinfo","royaltynft","royaltypaid","royaltypayout","royaltyregistry","royalutil","royco","rp","rpc","rpcs","rpf","rpfcontract","rpg","rpow","rpp","rppbalance","rppexp","rpt","rptstored","rr","rrewardamount","rs","rscoin","rset","rseth","rsr","rsrp1","rsupply","rsv","rsveth","rsvst","rsvsteth","rsw","rsweth","rt","rtamount","rtkn","rtocbeth","rtoken","rtokenfixed","rtotal","rtransferamount","rtv","rubic","rubicexp","rubicon","rubiconmarket","rubicproxy","rug","ruggedart","ruggedartexp","ruggedmarket","ruggedtoken","ruin","rule","run","run2","runa","runaagi","runawai","runbook","runcheckpoint","runcontrol","rundata","rundumboinflation","rune","runexploit","runfourliquidations","runinteractions","runnabl","runner","runprogrammaticcheck","runscript","runtim","rusd","rusdc","rusdcn","rusdi","rusdt","rusdy","rusdylendamount","rusdyw","rust","ruyui","rvalue","rwa","rwaerrors","rwavault","rwavaultexp","rwd","rwdsupply","rweth","rwip","rwt","rwtf8a367","rwtrwt","rx","ryolo","s0","s009","s016","s1","s2","s3","s4","s8","s9","sa","sablier","sablierbob","sabliercontract","sablierflow","sablierlidoadapter","sablierv2proxytarget","sabotag","sacrific","saddl","saddleexp","saddleusdv2","saf","safe","safeadd","safeallowed","safeamount","safeamountdecimal","safeapprove","safeapprovealltokens","safeapproveifbelow","safeapprovewithretry","safebatchtransferfrom","safebeetle","safebeetleupdated","safebonustransfer","safecall","safecan","safecast","safecreate2","safedecreaseallowance","safedeductapplied","safedeductbalance","safedelegatecall","safediv","safedollar","safedollarexp","safeengine","safeerc20","safeerc20upgradeable","safeeth","safeethtransfer","safegetunderlyingprice","safegoodtransfer","safeguard","safeincreaseallowance","safeitokentransfer","safemark","safemath","safemint","safemoon","safemoonexp","safemul","safemuldivfloor","safeownable","safepermit","safeproxy130codehash","safer","saferecord","saferecorded","safes","safesend","safesession","safesnap","safest","safesub","safeswap","safeti","safetoken","safetokentransfer","safetransfer","safetransferbnb","safetransfereth","safetransferfrom","safetransferlib","safetransfers","safetransfertoken","safetxgas","safetybuffer","safezabutransfer","sai","said","sail","saita","saitachain","salari","sale","salebalance","salecanceled","saledate","saleid","saleinfo","salemodifyed","saleoffstatus","saleprice","salesupply","salesupplyminted","saletoken","saletokensdelivered","saleu","salmon","salt","sam","sameblockguard","samechaindebt","samecoinvalue","sametxorigin","sammint","samount","sampl","sampler","samprisonman","sanction","sand","sandbox","sandboxoftexp","sandwich","sane","sani","sanit","saniti","sape","sapien","sapienvault","sasha","saswecoininvaliddepositamount","sat","sat1","sat1hook","sat1swaprouter","satellit","satisfi","satori","satoshi","satstoweistd","satsuma","satur","saturn","saturnexp","satx","sauc","sav","savax","save","savecontext","savedola","saver","saveresult","saw","sb","sbalbeforeonpair","sbatchnonce","sbf","sbfbmx","sbfunction","sblck","sbr","sbt","sbtprice","sc","scaffold","scalar","scalarroot","scale","scaledamount","scaledbalance","scaledbalanceof","scaledbalancetobal","scaledbalancetobalance","scaledbalancetokenbase","scaleddebt","scaledmath","scaledminted","scaledongoingdebt","scaledrate","scaledsupply","scaledtotalsupply","scaleduserdebt","scalefactor","scaleforburn","scaler","scalesyinput","scaletoperpdecimals","scaletospotdecimals","scalevariables","scalingdecimals","scalingfactor","scalingfactors","scalingnumerator","scam","scampaignparameters","scan","scanandliquidate","scanbudget","scanner","scarc","scarcer","scarciti","scatter","scenario","schedul","scheduleday","scheduleddestruction","scheduledprincipal","schema","scheme","schemeregistrar","schnoodl","schnoodlecontracts","schnoodlev9base","schnorr","schnorrsign","schole","school","sclientbasispointsofdeposit","sconfig","scoop","scope","scope4","scorch","scorcha3d0e7","score","scoreof","scout","scr","scrape","scratch","scratchpad","scream","screen","screw","script","scriptabl","scripthash","scroll","scrutin","scrutini","scrv","scrvusd","scsx","sculpt","scw","sd","sdai","sdao","sdaodelta","sdaotousdt","sdcrvcompounder","sdex","sdf","sdftowbnb","sdk","sdl","sdo","sdola","sdoreward","sdorewardpool","sdr","sdrcb","sdrcbeth","sdreth","sdrusdc","sdt","sdtearned","sdtearningsinfeetoken","sdttofeetokenpath","sdum","se","sea","seal","seam","seaman","seaport","search","searcher","season","seasonservice","seat","seatokenexp","seawat","seawateramm","sec","second","secondamount","secondari","secondarili","secondarychaingateways","secondcoaramount","secondcontract","secondidx","secondlevel","secondliquidationtime","secondmoved","secondpayout","secondquota","secondsago","secondsagos","secondsextended","secondsin1year","secondsinaday","secondsinside","secondsinsideinitial","secondsperliquidityinsideinitialx128","secondsperliquidityinsidex128","secondsperyear","secondsponser","secondssponsore","secondsstaked","secondtoken","secondwto","secondwtoamount","secp256k1n","secreci","secret","secrethash","secretli","secretpk","section","secur","securedfiexp","securedfimaker","securit","securitizeonramp","securitycheckpassed","sed","seda","see","seed","seedeth","seedfromperiod","seedmatured","seedposition","seedweth","seem","seemingli","seen","seenamount","seenuser","segment","segreg","sei","seitrac","seiz","seizabl","seizeassets","seizeatoken","seizedrsr","seizer","seizersr","seizesupplyamounttargetcollateralasset","seizetokens","seizur","sel","select","selector","selectorextension","selectorisallowed","selectorof","selectortoimplandposition","self","selfbalance","selfbrequired","selfcrb","selfdestruct","selfinvest","selfliquidation","selfmad","selfmadetoken","selfonly","selfownedstethburner","selfpesto","selfrefer","selfswap","sell","sell2m","sellabl","sellacotokens","sellactual","selladdress","sellall","sellallamount","sellalltokentoweth","sellamount","sellamounts","sellanch","sellback","sellbase","sellbasetoken","sellbnblowest","sellburn","sellburned","sellburnliquiditypairtokens","sellburnrate","sellburntax","sellburntoken","sellburntokenratio","sellc","sellc02","sellc02exp","sellc03","sellc03exp","sellcooldownblocks","sellcount","sellcreditmarketparams","sellcreditmarketparamsarray","selldead","selldesfee","selldestroyenabled","selldestroyfee","selldsreserve","sellenable","sellenvfee","seller","selleractor","selleramount","sellerfinancing","selleth","sellfee","sellfeeamount","sellfeerate","sellfromliquidity","sellfundamount","sellfundfee","sellgem","sellingcode","sellitem","sellkr","selllisting","selllp","selllpamount","selllpfee","sellmarketingfee","sellmatchalgo","sellmaxr","sellmnz","sellnf","sellnftfeeeth","sellnfttomarketafterexec","sellnfttomarketbeforeexec","sellnst","selloption","sellord","sellorder","sellorders","sellordertypehash","sellper","sellpercentage","sellpreaddress","sellpressure","sellprice","sellqilp","sellquotachanged","sellquote","sellrant","sellrecycledfromblackhole","sellrecyclerate","sellremainingxdkforgpc","sellres","sellrewardtoken","sellroute","sellsdo","sellsharecred","sellshares","sellsize","sellsman","sellsparkle","sellsperblock","sellstate","sellswaplimitrate","sellswappedtokens","sellswaptimelimit","selltax","selltaxburn","selltaxdistributed","selltaxpercentage","selltaxto","selltoken","selltokenamount","selltokenandfees","selltokenexp","selltokenfeerate","selltokens","selltokensinvalidlength","selltokenstousdc","selltoliquidityprovider","selltopair","selltotalfees","selltouniswap","selltransaction","selltransfer","selltru","sellusdp","selluserpercent","sellussdbuycollateral","sellvalueusdt18","sellvillage","sellwool","sellxdkintorecyclewindow","sellzabu","semant","semi","semver","senat","senatesize","sencod","send","sendamount","sendasd","sendbnb","sendcdeposit","sendcoll","sendcollateral","sendcurrentoperatorskeys","sender","sender_","senderallowsell","senderamount","senderbalance","senderbalanceafter","senderbalancebefore","senderc20paymentswithroyalties","senderc721usingnative","senderdebit","senderinvestor","sendermismatch","sendernotallowed","senderorself","sendertier","sendeth","sendether","sendethto","sendethtofee","sendforleverage","sendfrom","sendfunctionsrequest","sendfunds","sendfundstovault","sendfundswithrelayerfee","sendingassetid","sendmessage","sendminer","sendoperatorsdata","sendparam","sendrecipea","sendrecipeb","sendrecipec","sendreff","sendreward","sendrewarddys","sendrewards","sendsignal","sendspot","sendto","sendtokendelegate","sendusdclasstransfer","sendvalue","sendvaulttransfer","sendxchainamount","seneca","senior","sens","sensibl","sensit","sent","sentenc","sentfee","sentiment","sentimentexp","sentinel","sep2025","separ","sept","septemb","seq","sequenc","sequencerfeevault","sequenti","ser","seri","serial","serializedtransfers","seriou","seriousmarket","seriousmarketprotocol","serv","server","servic","serviceid","servicemanager","servicenft","serviceprovider","sesam","sesamecloudtoken","sescrowvotemanager","session","sessionclaimed","sessiondata","sessionenabled","sessionexpires","sessionid","sessionkey","sessionkeyalreadylive","sessionkeydisabler","sessionkeyowned","sessionkeysigner","sessionkeytowallet","sessionlimit","sessionmanager","sessionone","sessionowner","sessionparamsrejected","sessionsig","sessionspent","sessiontoenable","sessiontwo","sessionuniqueid","sessionvalidator","sessionvalidators","sessionwallet","set","set4337","setaccountinfo","setadmin","setallowlist","setamounttodeposit","setapprovalforall","setatoken","setattacker","setauctionvaliditytime","setauthorization","setautomatedmarketmakerpair","setautorelock","setaux","setbalance","setbaseuri","setbatch","setbatchaddress","setbinstate","setblocks","setbnb","setboost","setboostpercentage","setborrowburnrate","setbridge","setbunnihook","setburnrate","setbuyfee","setcalldataparameter","setclaimedtomax","setclaimeronce","setclaimstart","setcode","setcollateralfactor","setcollectrate","setcomplete","setcompletefixed","setconfig","setconfigure","setcontractaddress","setcontractorsfee","setcontracturi","setcount","setcreditrecord","setdailyrewardrate","setdecim","setdecimalsvalue","setdelay","setdelegate","setdelegateapproval","setdelegation","setdevaddress","setdirectprice","setdohealthcheck","setdrips","setenablenextepoch","setenableswitch","setendorsedoperator","setexactorderprice","setexchange","setexpiryprice","setextradata","setfarm","setfarmingratio","setfee","setfeedidbymiddleware","setfeeto","setfeetosetter","setfeewhitelist","setfingerprint","setflagger","setfunctionfeeconfig","setgateway","setgaugeandpositionmanager","setglobaltokengetter","seth","sethook","sethstakedbalanceforknot","sethuserclaimforknot","setimpl","setimplementation","setindex","setinitializable","setinstanceowner","setinterfaceimplementer","setinviter","setissueamount","setkepperofsystem","setlastimport","setliability","setliquidationparams","setliquidity","setliquidityfeepercent","setlisttoken","setlockduration","setmarketingwallet","setmaster","setmastercontractapproval","setmaxnodes","setmaxsoldamount","setmerkleroot","setmerkleroots","setminer","setminimumbalance","setminimumdistribution","setmintprice","setmode","setmultichainmanager","setmultiswapper","setnumberofwinners","setnumrows","setoperator","setoperatorstrategycap","setoptimistictimeout","setoracledata","setowner","setpair","setpairaddr","setparameters","setpartusdt","setpath","setpayer","setpeer","setpending","setpendingadmin","setpendinggov","setpermissionsfor","setpool","setpoolkey","setpools","setpooltoclosed","setprice","setpricecheck","setpriceoracle","setprices","setpricesfrompricefeeds","setpriceswithbitsandexecute","setprimaryprice","setprotocolexp","setproxysync","setramp","setrandomin","setrankedrewards","setrarity","setrates","setreceipt","setrecoverydeadline","setreferrer","setregistry","setrelayerapproval","setreplaysig","setrequestsumassets","setreserveduntiltokenid","setreserves","setreward","setrole","setroleadmin","setroter","setrouter","setroutersetter","setsaleinfo","setschedules","setsellfee","setserviceproviderfactoryaddress","setsettleprice","setshutdownflag","setsignerpolicy","setslashablestake","setsoulbound","setsplit","setstakingconfiguration","setstarttime1","setswapfee","setswappairs","setsymbolsprice","settabl","settaxcut","settaxfeepercent","settaxwallet","setteamfees","setteamwallet","setter","settimer","settl","settleabl","settleallfunding","settleasktaker","settleburn","settlecurrency","settlecurrentepoch","settledbaseamount","settledebt","settledpoints","settledpointtokenamount","settleepochfromeigenlayer","settleexpired","settleexpiredpositions","settleflat","settleflows","settlefor","settlefunding","settleglobal","settleinterest","settlekeepconfig","settlelayer","settleliquidation","settlem","settlematuredassets","settlement","settlementbranch","settlementdestorymining","settlementfeerecipient","settlementfeeusdx18","settlementfinalized","settlementlpmining","settlementreference","settlementvault","settleoptions","settleorder","settleorders","settlepair","settlepnl","settleprice","settleprincipal","settleprojectownerfunds","settler","settlerebalancewithdrawal","settlerewardusd","settlerexploit","settletime","settletrader","settletransferfee","settletransferfrom","settleunbid","settleuserfundingpayments","settlewithbuyout","settoken","settokenaddr","settokengetter","settokenpersy","settokenprice","settokenredeemed","settokens","settokensperinterval","settokenuri","settradeoer","settransf","settransferfundealtypecontractaddress","settransientftreserve","settreasury","settreasuryaddress","settrustedforwarder","settxcooldown","settxexpiration","settype","setuint","setuintarray","setuniv3fee","setup","setupcalldata","setupclaim","setupfarm","setuprole","setupvaultsetting","setuserdeposit","setuseremode","setusername","setuserusereserveascollateral","setusingascollateral","setvalue","setvaluer","setvariabledebttoken","setvaultstate","setvibefees","setvictimtransferrule","setvoter","setvotingreward","setweightbands","setweights","setweighttozero","setwrapper","setxptiers","seudo","seven","sever","sexpectedpool","seywa","sf","sfloor","sfm","sfmoon","sfox","sfrx","sfrxeth","sftmx","sg","sgl","sglcommon","sglp","sgreceive","sgt","sgx","sgxinvalidinstance","sgxverifier","sgz","sh","sha","sha256","sha3","shack","shadow","shadowaddress","shadowfi","shallow","shamir","shape","shard","share","shareamount","sharebalance","sharebalanceat","sharebalancelength","sharebasedpoints","sharecommission","shareda","sharedebttoken","sharedetails","sharefee","shareforclass","sharefrom","sharehold","shareholdingfeepercent","sharemodule","sharenumb","shareowner","shareprice","sharepricedecreased","sharepriceincreased","shareprotectedcollateraltoken","sharerate","shareresolution","sharereturned","shares_","sharesadded","sharesafter","sharesalreadyqueuedthisepoch","sharesbalance","sharesbefore","sharesburned","sharesdelta","sharesfrompool","sharesheld","sharesincludingfees","shareslen","sharesminted","sharesof","sharesout","sharesowed","sharesowedcurrentepoch","sharesqueued","sharesreceived","sharesremaining","sharesrequested","sharessent","sharessupply","sharestoasset","sharestoburn","sharestomint","sharestoredeem","sharestoremove","sharestorepay","sharestotal","sharestouser","sharestradingfee","sharesupply","shareto","sharetoamount","sharetoassetsprice","sharetokendecimalsoffset","sharetomin","sharevalue","shark","sharkteam","sharp","sharpli","sharwa","sharwamargintradingexp","shate","shatter","shave","shed","sheep","sheepfarm","sheepfarm2exp","sheet","shelf","shell","shellholder","shellmev0xa898exp","sherlock","shez","shezmu","shezmuexp","shezmuusd","shezmuvaultproxy","shezusd","shib","shiba","shibainu","shibatokenexp","shido","shidoexp","shidoexp2","shidoinu","shidolock","shidov1","shidov2","shield","shieldifi","shift","shift96","shim","shini","ship","shiro","shirocipher","shit","shitcoin","shl","sho","shock","shoco","shocoexp","shoot","shop","shopid","shopids","shopnft","shoptokenid","short","short1","short2","shortamount","shortchang","shortcollateral","shortcurveparametera","shortcurveparameterb","shortcut","shorten","shorter","shortfal","shortfilleth","shorthintarray","shorthintid","shortid","shortid1","shortid2","shortid3","shortli","shortmaxid","shortorder","shortorderid","shortordertype","shortparams","shortpayout","shortpremium","shortrecipient","shortrecord","shortrecordfacet","shortrecordid","shortrecords","shortreturn","shortsharesbalance","shortstart","shortstracker","shorttoken","shorttokenusd","shot","shouldmatch","shouldn","shouldregistergateway","shouldtakefee","shouldteammarketing","shouldto","shouldvalidateascendingprice","shove","shovel","show","showcas","shown","shr","shrank","shredder","shrink","shrinkabl","shrinkag","shrunk","shrunken","shuffl","shut","shutdown","shutdownquorumpercent","shutdowntime","shutdownvotes","shuttl","si","sibl","sick","sicl","siclerouter","sicleswap","side","sidea","sideb","sidecar","sidedli","sideeffectcalled","sidekick","sidestaking","sidestep","sidevault","sig","sig0","siga","sigamount","sigb","sigbalance","sigbalancelowercap","sigindex","sigma","sigmaacc","sigmai","sign","signal","signalservice","signandattachdelegation","signatori","signatoryi","signatur","signature_","signaturebytes","signaturechecker","signaturecheckerlib","signatureclaim","signatureclaimed","signaturedata","signaturedepositqueue","signatureexpired","signaturehash","signaturelog","signaturemanager","signaturequeue","signatureredeemqueue","signaturevalidator","signedamount","signeddata","signedduration","signedhash","signedmsghash","signedsum","signedvaa","signer","signercount","signernonce","signerpolicy","signerrole","signerscannotchangethreshold","signific","significantli","signup","sigp","sigswape545","sigtolp","sigtovalidate","sigtype","sigv","sigvalidation","sigvalidationfailed","sigvalidationsuccess","silenc","silent","silentsyncpair","silica","silicapools","silo","silo1356","siloconfig","siloexit","silofacet","silofin","silofinanceattack","silofinanceexp","silomanagedvault","silorepository","silov2facet","sim","similar","similarli","simpl","simpledata","simplefeidaipsm","simpleloggedtransfer","simplemarket","simplepackagerateppm","simplepackageusd","simplepriceoracle","simpler","simplest","simpleswap","simpletoken","simpletransfer","simplevault","simplex","simplexdiamond","simpli","simplic","simplif","simplifi","simul","simulateburn","simulateoraclecall","simultan","sinc","sing","singl","singleasset","singleassetstrategy","singlepool","singleredemption","singleredemptionvalues","singlereward","singleton","singletransact","singleuntaxedtransfer","singular","singularity_","singularitydynavaultexp","sink","sinstak","sinstakenetworkzombie","sip","siphon","sir","sirstructs","sister","sit","site","situat","siusd","six","sixmonth","sixteen","sixth","sixti","size","sizeabl","sizecredit","sizedelta","sizedeltausd","sizemarket","sizetoswap","sizeua","sizeusd","sjump","skale","skeleton","skew","skewabl","skewedprice","skim","skimfee","skimmabl","skimmedout","skimpools","skimreceiver","skip","skipfeecheck","skippedredeem","skl","skp","skpexp2","skpinpair","skpowner","skpusdtpair","sky","skydao","skydao7eba33","skyrocket","slab","slack","slam","slash","slashabl","slashassets","slashcommit","slashcommitments","slashedamount","slashedassets","slashedcount","slasher","slasherlib","slasherrole","slashid","slashindex","slashinghandler","slashingreported","slashingvetowindow","slashqueuedwithdrawal","slashreporter","slashrequest","slashrequests","slashreveal","slashrevealwindowtime","slashstore","slashtimestamp","slate","slave","sleep","sleeper","sleepoor","slice","slid","slide","slight","slightli","slip","slipbps","slippag","slippagebps","slippageerror","slippageexceeded","slippagefunc","slippageless","slippageoverride","slippagetolerance","slippagetolerances","slippagetype","slippagewallet","slipstream","slither","sliver","sload","slope","slopechanges","slopeseenbycheckpoint","sloppi","slot","slot0","slot0tick","slot1","slot15","slot5","slotid","slotpowermultiplies","slow","slower","slowli","slowmist","slt","slug","slumber","slumberparties","slurp","slurpi","slurpyaddr","slurpycoin","sm1","sm2","small","smaller","smallest","smart","smartaccount","smartbank","smartbanksbtbalance","smartbankusdtbalance","smartbridge","smartchef","smartloan","smartloansfactory","smartloanwrappednativetokenfacet","smartmesh","smartnode","smartoperation","smartrouter","smartsess","smartsession","smartvault","smartvaultinvite","smartvaultmanagerv2","smartvaultv2","smartvaultv4","smartwallet","smas05","smash","smell","smoke","smol","smolbrain","smoof","smoofsstaking","smoofsstakingexp","smoofstokenid","smooth","smoothli","smoothratecurvelib","smt","smt55f939","smuggl","snap","snapa","snapb","snapshot","snapshotblock","snapshotcreated","snapshotcumulativesinside","snapshoterror","snapshotfinished","snapshottime","snark","snif","sniff","sniffer","snip","snipe","snipeamount","snipeid","sniper","snk","snkexp","snkminer","snood","snoodexp","snowbal","snowboard","snx","social","socialis","sock","socket","socketgateway","socketgatewayexp","socketswaptokens","sodium","sodiumvictim1","sodiumvictim2","sofamon","sofamonexchange","soffers","soft","sog","soil","sol","sol1","sol1asttoken","soladi","solana","solc","sold","soldamount","sole","solhint","solid","solidex","solidli","solidst","solium","solmat","solo","solomargin","solut","solv","solvabl","solveforamount","solvenc","solvencyparams","solvent","solver","solverauth","solverrole","somebodi","somehow","someminimum","somemint","someon","someth","sometim","somewher","son","sonbonus","sonic","sonn","sonneexp","soon","sophist","sor","sorbetto","sorbettofragola","sorella","sorra","sorrastaking","sort","sortedamount","sortedkeys","sortedoffers","sortedtroves","sortoperatorsbypower","sorttokens","soul","soulbound","soulbounded","soulmate","soulmatecontract","sound","sourc","sourceaccount","sourceadapter","sourceaddress","sourcebalance","sourcechain","sourcechaincanonicalmessageservice","sourcechainclaimcalldata","sourcechainid","sourcechainl1gateway","sourcechainselector","sourceconsideration","sourceconsiderations","sourcecut","sourcecutdivisor","sourcecutskipped","sourcedomain","sourcefeeamount","sourceprice","sourceprocessor","sourcer","sourcerfee","sourcesender","sourcetodestprecision","sourcetodestrate","sourcetoken","sousdc","sovelo","sp","space","spacegodzilla","spacegodzillaexp","spair","spam","spamcount","spammabl","span","spank","spankchain","spankchainexp","spare","sparingli","spark","sparkl","sparta","spartan","spartanexp","spawn","spdx","speak","spearbit","spec","special","specialis","specif","specifi","specificids","specifiedamount","specperday","specreward","spectra","speed","spell","spell2","spell3","spelladdr","spend","spendabl","spendallowance","spender","spenderapproval","spenderhelper","spendfromuser","spendinglimit","spendingmessagestoexecute","spent","spent1","sperax","spercent","spfactory","sphere","spherex","spherexengine","spike","spill","spin","spincost","spinlottery","spiral","spiralamount","spiralhookv2","spiralhookv2exp","spiralpullfail","spiralvalueineth","spirit","spiritswap","spit","spk","splash","splice","split","splitamount","splitamount1","splitamount2","spliter","splitethfee","splitfee","splitid","splitlock","splitmerge","splitothertoken2holder","splitothertoken2ldx","splitsignature","splitter","splitweights","splockedstake","spmm","spoil","spoke","spoken","spokepool","sponser","sponsor","spontan","spoof","spoofabl","spoofedsender","spooki","spookyrouter","spookyswap","spore","spore6e7f5c","sport","sportvault","spot","spotdecimals","spotmarket","spotpaid","spotprice","spotpxprecompileaddress","spotreturns","spotter","spotvault","spr","sprai","spread","spreadbps","spreadcharged","spreaddivisor","spreadp","sprk","spss","sptkn","sptknbaseprice18","spun","spuriou","spv","spx","spythia","sq","sqcontracts","sqd","sqrt","sqrt512","sqrtlib","sqrtlimit","sqrtlower","sqrtp","sqrtprice","sqrtpricelimit","sqrtpricelimitx96","sqrtpricelower","sqrtpricex96","sqrtpricex96erc20token1","sqrtpricex96existing","sqrtpricex96frompoolandinterval","sqrtpricex96new","sqrtpricex96wethtoken1","sqrtratioax96","sqrtratiob","sqrtratiobx96","sqrtratiox96","sqrtupper","sqt","sqtoken","sqtokenstakingexp","squander","squar","squash","squashedroots","squat","squeez","squid","squidexp","squidmulticall","squidmulticallallowancedrainexp","squidrouter","squidroutermodule","squidroutermoduleexp","squidrouterstr","squidtokenswap","squidv1balancebefore","squidv2balancebefore","sqwa","sqwaf5bf1f","sqwid","sr","src","srcabstractyodlrouter","srcaccount","srcactivepool","srcaddress","srcamount","srcbalancerweightedbalancerlporacle","srcbasejamvalidation","srcblastfomovault","srcbondfixedexpiryteller","srcborroweroperationsv6","srcchainid","srcdecimals","srcdependenciesconstants","srcdrlvaultv3","srceid","srcflat","srcflooringperiphery","srcfoomlottery","srcgpxgpxhooks","srcheisenberghook","srchookboosthook","srcinputamount","srcinterfaceimulticall","srcinvestor","srcjambalancemanager","srclbp","srclbphashrate","srclibrariesjaminteraction","srclibrarieslogicsupplylogic","srclibrarieslogictradelogic","srclibrariespositioncalculator","srcliquidatordexswap","srclocker","srcmarket","srcmoolahmoolah","srcmulticall","srcmuredistribution","srcoraclesoracletwap","srcpredypool","srcpropammwrapper","srcprxvtstaking","srcrebalancer","srcrebalancerslibrariesswaplogic","srcreceiver","srcreferrallevelreferralcontrollerv2","srcrep","srcrevloans","srcsdola","srcsigner","srcsocketgateway","srcstartalesmartaccount","srcswapperszeroxstargatelpswapper","srctesseraswap","srctoken","srctrovemanager","srcttswapmarket","srctxid","srctypesglobaldata","srcv3utils","srcvat","srcvaultrwavault","srcvirtualtoken","srcwhale","srcwhalehashrate","srcwithdraw","srczapper","srlty","sroyaltyinfo","srwa","ss","ssamountin","sscontract","sscontracts","ssinrecord","sso","ssponsor","sspv4","sss","sssexp","sstate","sstore","ssv","ssvpayload","st","st001","sta","stabil","stabilitypool","stabilizermint","stabl","stable2","stablebalance","stableborrowchangedelta","stableborrowinterestindex","stablebound","stablebridgingfee","stablecoin","stablecoinamount","stablecoinbalances","stablecoinmismatch","stablecoinreceived","stablecoinvalue","stablecoinvault","stabledecimals","stablemath","stableoracledai","stableoraclemath","stableperbnb","stablephantom","stablephantompool","stablepool","stablereserve","stableswap","stabletoken","stabletokenexposure","stablevaluenet","stablevault","stack","stackingsalmon","stackmarket","stackmarketattack","stackmarketexp","stackmarketrecipientisnull","stacktoken","stage","stage1","stage1ended","stagesecondlbpliquidity","stagets","stai","stake","stake319","stakea","stakeabl","stakeafter","stakeamount","stakeandclaimreward","stakeat","stakebalance","stakebefore","stakebegin","stakebook","stakebyplayer","stakecbwc","stakecore","stakecount","stakedalps","stakedamount","stakedao","stakedat","stakedays","stakedbalance","stakedbalances","stakedcsx","stakedday","stakedetail","stakedfoxtoken","stakedigest","stakedlock","stakedof","stakedoftime","stakedoftimesum","stakedslipstream","stakedsupply","stakedtoken","stakedtokenaddr","stakedtokenaddress","stakedtokendecimals","stakedtokens","stakedum","stakeduration","stakedusdat","stakedusertoken","stakedv3","stakedv3b8dc09","stakedv3extracted","stakeefi","stakeeth","stakefactory","stakefor","stakeforrelaymanager","stakefrommarginaccountforuser","stakehelper","stakehous","stakehouseapi","stakeid","stakeindex","stakeinfo","stakeinfolist","stakejoin","stakelogic","stakelp","stakemanager","stakemanagervaultalreadyregistered","stakemsgsender","stakenft","stakenfts","stakenonceinfos","stakenonces","stakenxm","stakeof","stakeonme","stakeowner","stakependingrewards","stakeperiod","stakephase","staker","stakerate","stakerbalance","stakercount","stakercountintree","stakerdelta","stakerdetails","stakerof","stakerreward","stakersr","stakersrtotake","stakersstartinseconds","stakestart","stakestaus","stakestone","stakesupply","staketime","staketoken","staketokenpool","staketokenpools","staketokens","stakeusd","stakevalue","stakevalueusd","stakevaultfailedtoleave","stakevaultnotowner","stakeweek","stakewithfeerewarddistribution","staking1","staking2","stakingaccountdeposit","stakingaccountdepositforuser","stakingbalance","stakingcontracts","stakingcount","stakingcusdcbalance","stakingdata","stakingdyna","stakingemissions","stakingenabled","stakingendtime","stakingerc20","stakingerc721","stakingfactory","stakingfee","stakingfundsvault","stakingfundsvaults","stakingid","stakingimplementation","stakingindex","stakinginfo","stakingko","stakingmanager","stakingmanagers","stakingnft","stakingpool","stakingpooladdress","stakingpooltoken","stakingpower","stakingproxy","stakingrewardfactory","stakingrewards","stakingrewards1","stakingrewards2","stakingrewardtoken","stakingsqtbefore","stakingstarttime","stakingstorage","stakingstoreindex","stakingtoken","stakingupgradeablev10","stakingvault","stakingweek","stale","stalecheckpoint","staledebt","stalefeeddos","stalepool","stalk","stalkearnedperseason","stall","stamp","stanc","stand","standalon","standard","standardbridge","standardbridgeinit","standardfunding","standardimportfee","standardis","standardpolicyerc1155","standardtoken","standardtransfer","standtransfer","star","stargat","stargaterouter","stargateswap","stargatesynthchef","stark","starklan","starknet","starlink","starlinkcoin","starlinkexp","starlinktowbnb","starsarenaexp","start","start_","startal","startamount","startandrevealgamequestion","startat","startauction","startbalance","startblock","startbuy","startcooldown","startdat","startdate","startedat","starter","startflashloan","startidx","startind","startindex","startindexes","startingcdaibalance","startingid","startingnextepoch","startingshortid","startissue","startjay","startnewdistributionperiod","startnewround","startofyeartimestamp","startpancaketime","startpool","startprank","startprice","startproject","startrewardgeneration","startsin","startsnapshot","startsqrtp","startsupply","startswap","startswaptime","starttick","starttim","starttime","starttime1","starttimeforswap","starttimestamp","starttokenid","starttradeblock","starttradetime","startunbond","startunix","startunwinding","startvote","starv","stash","stat","stata","stataweth","state","statechangeduringstaticcall","statedmin","stateless","statement","stateopen","statera","stateroot","static","staticaccpershare","staticcal","staticdatasize","statichyvm","staticreward","staticusdt","statist","statu","statusl","stau","stax","staxlpstaking","stbl","stblinvalidasset","stblylddisabled","stc","std","stdev","stdstore","ste","stead","steadi","steadili","steadtoken","steal","stealabl","stealamount","stealfromanyonewhoapprovedme","stealth","stealthaddressstructure","stealthi","steam","steamgenerated","steamswap","steamswapexp","stecrv","steep","steepest","steepli","steer","steerabl","stem","stemtip","stemtipfortoken","stemtipfortokenuntruncated","step","step1","step2","stepamount","stepcap","stepheronfts","stepincome","stepp2p","steppabl","steptarget","steptoken","steptokens","stepv1","steril","steth","stethamount","stethdeposit","stethsubmit","stf","sthope","sthype","stick","sticker","sticki","stilllocked","stillvesting","stipend","stitch","stk","stkaave","stkn","stm","stmatci","stmatcif","stmatic","stmaticeth","stmaticf","stmaticoracle","stnxm","stock","stockinfo","stockpil","stoken","stokenbalance","stole","stolen","stolenamount","stolenusdc","stolenusdtamount","stolenwbtc","stone","stoneminter","stonevault","stood","stop","stopburnsupply","stopflow","stopindex","stoplimit","stoplossdecrease","stoppabl","stopprank","stopvesting","stor","stor6","stor7","stor8","stor97019","storabl","storag","storb","store","storeconstructor","storedbalance","storedbalances","storedborrowindex","storeddeadline","storedduration","storederc721ids","storedindex","storedpool","storedprice","storedrates","storedreserve","storedsupply","storedsurrogates","storedweight","storemessagedata","storerewardqty","storestate","storesubscription","stori","stplumeminter","stprxvt","str","strac","stracexp","straddl","strai","straight","straightforward","strand","stranger","strangeropened","strat","strata","strateg","strategi","strategieslength","strategist","strategy3b4ffd","strategyallocated","strategybalance","strategybase","strategybelttoken","strategycmpddaiv2","strategycommonsolidlyhybridpoollp","strategycontroller","strategydai3pool","strategydaicurve","strategydata","strategyfactory","strategyfixed","strategyimpl","strategykind","strategyleverage","strategylib","strategyllamalendconvex","strategyllamalendconvexexp","strategymanager","strategynumber","strategyrouterv3","strategyst","strategystethaccumulatorv3","strategysyrup","strategytbtc","strategywrapper","stratharvest","strc","strcamount","strcamountusd","strcbalance","strcoracle","strcprice","strcpurchaseprice","strcsaleprice","strctotalassets","stream","streamedvesting","streamid","streamingfee","strength","strengthen","stress","stretch","strg","strict","strictcheckbuy","stricter","strictli","stride","strike","strikeasset","string","strip","strngr","strong","strongblock","strongblockio","stronger","strongest","stronghand","strongli","strsr","strsrp1","strsrp1votes","struct","structhash","structur","strwip","stsupply","stub","stuck","stucketh","stucktoken","studi","stuf","stuff","stumbl","sturdi","sturdyexp","sturdyoracle","style","stylu","stypes","su","sub","sub1","sub_","subaccount","subaccountid","subamount","subbal","subbp","subcal","subclass","subgroup","subject","subjectfee","subjectfeepercent","submiss","submissionblock","submissioncost","submit","submitanswer","submitbatchattestation","submitcheckpoint","submitimports","submitliquidation","submitproposal","submitreports","submitsplit","submitt","submittransaction","submitvalue","submitvote","submodul","subnet","subpool","subquery","subquerysettingsexp","subs","subscrib","subscribenode","subscript","subscriptionid","subscriptionnotopen","subsect","subsequ","subset","subsid","subsidi","subsquid","substanc","substanti","substitut","substrat","substratesignaturevalidator","subsystem","subtl","subtler","subtleti","subtot","subtract","subtrahend","subtre","subtreeborrow","subtreeborrowed","subtreeborrowedx","subtreetliq","subuint","subwai","succ","succe","succeed","success","success1","success2","successfulli","successor","successref","suck","sudden","suddenli","sudoswap","suffer","suffic","suffici","suffix","suffixdata","suffixlength","sugar","suggest","sui","suicid","suit","sukuk","sukukfi","sum","sumagk","sumamount","sumapr","sumborrowpluseffects","sumcollateral","sumer","sumermoney","sumermoneyexp","sumfinal","sumi","sumknownweight","summari","summaris","summat","summer","summon","sumnative","sumofactivestakes","sumofbalances","sumunknownweight","sumusd","sumweight","sun","sun1","sun2","sunset","sunsetexpiry","sup","supamount","super","superchain","superchainerc20","superchaintokenbridge","superchainusdc","superdcacashback","superdcastaking","superfici","superfluid","superform","superior","supermajor","superposit","superrare","superrareexp","supersed","superset","superus","supervault","supervaultaggregator","supervaultstate","supervisor","supplement","suppli","suppliabl","supplier","supplyafter","supplyamount","supplyape","supplyat","supplybalance","supplybalanceliquidatorcollateralasset","supplybalances","supplybalancetargetcollateralasset","supplybefore","supplycap","supplycheckpoints","supplycollateral","supplyerc721","supplyexchangeprice","supplyfeeder","supplyindex","supplyindex0","supplyindex1","supplylogic","supplyratio","supplyreceived","supplyshares","supplysource","supplysuccess","supplytoken","supplytokenaddress","supplywithdrawn","support","supportedcollection","supportedcurrency","supportedpairs","supportedpools","supportedtoken","supportingfeeontransfer","supportingfeeontransfertokens","supportmarket","supportpools","supportrequiredpct","supportsinterface","suppos","supposedli","suppress","supra","surcharg","sure","surfac","surg","surgetoken","surgic","surplu","surplus","surplusamount","surplusbalances","surpluscollateral","surplustransferpercentage","surpris","surrend","surrog","surround","surviv","survivor","suscept","susd","susdat","susde","susdeassets","susdecollateral","susdepriceinusd","susdepriceproviderbunicatch","susdescalingfactor","susds","susdt","sush","sushi","sushibadgerdiggexp","sushibar","sushiexp","sushimaker","sushirouter","sushiswap","sushiswapgoblin","sushitoken","sushiusdc","sushiv2","sushixswap","suspect","suspend","suspici","sustain","sut","sutexp","suttokensale","suzaku","svotesbypool","svt","svtamount","svtbalance2","svtexp","swallow","swamp","swampfinanceexp","swap","swap1","swap2","swap3","swap5","swap50","swapabiencoder","swapaforb","swapaidcforbnb","swapall","swapalltoweth","swapalongpath","swapamount","swapamountbps","swapamountin","swapamountout","swapandcrossoneinch","swapanddeposit","swapanddividend","swapanddividend0","swapandfeefortoken","swapandliquify","swapandliquifybylimitonly","swapandliquifyenabled","swapandliquifystepv1","swapandliquifyv1","swapandliquifyv3","swapandrepay","swapandsenddividends","swapandsendlpfee","swapandsendlpfeeevent","swapandstartbridgetokensviacbridge","swapandtodividend","swapany","swapargs","swapargsencoded","swapassetforpt","swapassettoasset","swapatamount","swapauto","swapavaxforexacttokens","swapbabydoge","swapback","swapbad","swapbnbforchosentokenandpayout","swapbnbforexacttokens","swapbnbtogout","swapbnbtotokens","swapborrowratemode","swapbridgeamount","swapbui","swapburn","swapbusdfordum","swapbusdttodd","swapcallback","swapcallbackdata","swapcalldata","swapcollector","swapcommision","swapcontract","swapcost","swapcreator","swapdata","swapdebtparaswap","swapdelfee","swapdescription","swapdragonxtovyperandburn","swapdumforbusd","swapenable","swapenabled","swapethforbankx","swapethforexacttokens","swapethformpeth","swapethforspecificnfts","swapethfortokens","swapethfortokenstoaddress","swapethtotokens","swapexact","swapexactamountin","swapexactamountout","swapexactethfortokens","swapexactin","swapexactinput","swapexactinputsingle","swapexactjarforjar","swapexactsyforyt","swapexacttokenfortoken","swapexacttokens","swapexacttokensforbnb","swapexacttokensforeth","swapexacttokensfornative","swapexacttokensfortokens","swapexacttokensfortokenssimple","swapexacttokensfortokenswithfeeamount","swapexecute","swapextradata","swapfacet","swapfactory","swapfailed","swapfee","swapfeeamount","swapfeecharged","swapfeerate","swapfeetotal","swapfixed","swapflashloan","swapfromvusd","swapgenericroute","swapgivenout","swapguard","swaphandler","swaphcttowbnb","swaphelper","swaphistory","swapid","swapids","swapimpl","swapin","swapinfo","swapinfotypehash","swaping","swapinprogress","swapinsameblock","swapit","swaplist","swaplock","swaplogic","swaplpaddr","swapmanual","swapmatch","swapmath","swapmeta","swapmethod","swapmining","swapminout","swapmp","swapmpethforeth","swapmsnforfist","swapnativeforexacttokens","swapnftsforspecificnftsthrougheth","swapnftsfortoken","swapo","swaponwithdrawal","swaporder","swaposv2","swaposv2pair","swapout","swapoutput","swapoutputamount","swapp","swappabl","swappair","swappairaddress","swappairho","swappairlist","swappairzeed","swapparam","swapparams","swapparamsarray","swappath","swappaused","swappedamounts","swappedv3","swapper","swapperv2","swapplatformsendaddress","swappodforborrowtoken","swapprecondition","swapprice","swapprofitfees","swapprofittocollateraltoken","swapprotected","swapproxy","swappstakingexp","swapquotetokenforbasetoken","swaprafords","swapremove","swapreq","swaprequest","swapresult","swaprewardtokens","swaprouter","swapselector","swapsellaward","swapsellstats","swapsingletoken","swapsorted","swapspiralforethoncurve","swapstatus","swapstorage","swapstruct","swapsuccess","swaptarget","swaptaxtokenforbnb","swapthreshold","swapthresholdprice","swapthroughorionpool","swaptimelimit","swapto","swaptoaddress","swaptoken","swaptokenforbnbwithrecipient","swaptokenforexacttoken","swaptokenforfund","swaptokenforspecificnfts","swaptokenforusdt","swaptokenforweth","swaptokens","swaptokensatamount","swaptokensfor","swaptokensforcake","swaptokensforcurrency","swaptokensfordead","swaptokensforeth","swaptokensforethxh","swaptokensforethyx","swaptokensforexacteth","swaptokensforexacttokens","swaptokensforother","swaptokensfortokens","swaptokensforusdt","swaptokensforusdt2user","swaptokensout","swaptokentotoken","swaptokenu","swaptolocalassetifneeded","swaptounderlyinggivenin","swaptousdc","swaptovolt","swaptovusd","swaptoward","swaptoweth","swaptypes","swapufortoken","swapunderlying","swapunderlyinginfo","swapuniv3","swapuniv3swapcallback","swapusptoothertoken","swaputils","swapv2factory","swapv2pair","swapv3","swapvalidatordetails","swapvalue","swapvcashvalue","swapviarouter","swapwbnb","swapwbnbtohct","swapwithbpt","swapwitheth","swapwrappedimpl","swapx","swapxexp","swapximp","swapximpl","swapxsdforeth","swarm","swarmmarketsexp","swc","sweep","sweepabl","sweeper","sweeperc20","sweeperpool","sweepeth","sweeptoken","sweeptokenformarketing","sweetheart","swell","swept","swing","switch","switchbasket","switchboard","swith","swollen","swp","swt","swung","sxt","sy","sybil","sybtc","sygnia","syieldtokenbalance","syin","sylocked","symb","symbiosi","symbol","symbolhash","symbolids","symm","symmetr","symmetri","symmio","symmstaking","synap","synaplogic","synaplogicerc20","synaps","sync","syncactionexr","syncaddr","syncamount","syncbatchroot","syncchaindata","synchron","synchypescore","syncl2txhash","syncl2txhashrelayer","syncledger","syncpair","syncpool","syncprice","syncrewards","syncuser","syncuserlp","syncuserredemptions","syncvillage","syndic","syndicaterewardsprocessor","synonym","synt","syntact","synterc20","syntetika","syntfabric","synth","synthamount","synthchef","synthes","synthesi","synthesizestate","synthesizestates","synthet","synthetix","syntrepraddr","syout","syrup","syrupusdc","sys002","system","systemaddress","systemat","systemcalculations","systemconfig","systemsourceid","systemtotalmint","sz","szdecimals","szk","t0","t1","t2","t3","t3913","tabl","tadl","tadlefactory","taf","tag","tagaifun","taiko","taikol1","taikol2","taikol2like","taikotoken","tail","tailorder","taint","take","takeabl","takeafee","takeallfee","takeamt","takedfist","takefee","takefunds","takeinitialsback","takeinviterfeekt","takeloan","taken","takeoutrewardtokens","takeov","takeover","takepair","taker","takeramount","takerasset","takerate","takerbid","takereward","takerfee","takerorder","takerratex64","takerreceiveamount","takerreceiveamountafterfee","takerreceivetoken","takersendamount","takersendtoken","takersubmitted","takertok","takertoken","takerwithdraw","takesell","takesellfee","taketransfer","taketxfees","takeunstaketax","takingamount","takingfee","takingfeedata","tale","talentir","talentirmarketplacev1","talk","talli","talo","talosbasestrategy","tamount","tamper","tamperedsig","tangent","tank","tanssi","tao","tap","taper","tapio","tapioca","tapiocaoft","tapiocaz","tapp","taptokenreceiver","targ","target","target_","targetaccount","targetamount","targetasset","targetbal","targetblock","targetbuffer","targetchaindepositaddress","targetcontract","targetdata","targetdebt","targetedpurchase","targetendtimestamp","targetfloorbin","targetfloorprice","targetinginvalidcontract","targetleveragepercent","targetliq","targetloops","targetmarketid","targetpool","targetprice","targetrelayeronly","targetrelease","targetreward","targetsqrtp","targetstarttimestamp","targetsupply","targetswap","targetthreshold","targettoken","targetuser","targetwallet","targetweightsnotmet","targetxdk","targetzrc20","task","tautolog","tax","taxa","taxabl","taxamount","taxapply","taxat","taxbps","taxcut","taxdistributionpool","taxedtokens","taxexecuted","taxfee","taxfees","taxfew","taxflowrate","taxfre","taxfreeallc","taxgw","taxmodule","taxmoduleaddress","taxonomi","taxrate","taxreceiver","taxremainder","taxswapthreshold","taxto","taxtoken","taxwallet","tb","tba","tbbuild","tbtc","tbtcamount","tbtcvault","tburn","tburntotal","tc","tcdp","tcdpda4c9e","tch","tcharity","tcharitytotal","tchexp","tchtoken","tcr","tcrdiff","tcrdifftoucrdiff","tcrtoken","tdev","tdevtotal","te","tea","teach","teafactory","team","teamaddr","teamamount","teambalance","teambonu","teamdev","teamdrequired","teamfee","teamfinanceexp","teaminvest","teamlength","teammilestones","teamperform","teamrate","teamrequir","teamscount","teamshare","teamwallet","teamwalletaddress","tear","teardown","tech","technic","techniqu","technolog","technologywallet","tecra","tecraspace","tecton","tectonicfi","tectonicoracled360d8","tectonictonicoraclemanipulationexp","teeth","tel","telcoin","telcoinexp","telegram","telemetri","tell","teller","tellerohmbalance","tellertokennotmatured","tellerunknownbondtoken","tellor","tellorflex","tellorflexcontractstellorflex","temp","tempadc","tempelyassetprice","tempfromaddress","temphelper","templ","templat","templateid","templedao","templegold","tempnexttick","tempor","temporari","temporarili","temporarilypaused","temppair","temptoken","ten","tenant","tenarmor","tenbin","tend","tenet","tent","tenth","tenur","ter","term","termauth","termin","termrepocollateralmanager","termslength","termswithrealrate","ternari","ternoa","terplay","terribl","territori","tessera","tesseraengine","tesseraswap","tesseraswapcallback","tesseraswapexp","tesseraswapwithallowances","tesseraswapwithcallback","tesseratrade","tesseratreasury","test","test1","test1max","test1min","test2","test3","test5a79leg","testattack","testattacktx2","testblockliquidationspocenablecollateral","testburn","testclaim","testclaimprojectfunds","testcleangivecast","testcontrolclaimaftersettleiscorrect","testcontrolhoneststakepaystax","testcontrolnogrieffullreward","testcontrolnopriorzeroingneverunderflows","testcontrolsameepochcanundelegate","testcrosschainreplaysameaccount","testdosattack","teste545leg","testexp","testexploit","testexploitstealwlp","testfakeexploit","testfinalizesettlement","testfixbindsaccountandchainrejectsreplay","testfulltimewarpreproduction","testhonestsoledeploymentissafe","testimoni","testnetcostiszero","testneworganizationispermissionless","testnormal","testpoc","testpocminimal","testpocsimplified","testrealdrain","testrealtimegapreproduction","testrealtimegriefreproduction","testrelayerforgedregister","testrelaypayloadsmatchonchain","testremovinganunusedgaugeisharmless","testrepaywithoutinterestissolvent","testrunbypassestax","testrunoverflowbricksstreampermanently","testschemaomitsnonce","testseconddrawrevertswithoutrollover","testsinglefullswapreverts","testundelegateremoveseigenpodshares","testupdatenotownerorder","testwhiteliststilltrustshardhataccount","testwithoutrootinstallreverts","testyamgovernancetakeover","tether","tetheraddress","tethertoken","text","textbook","tf","tfee","tfeetotal","tgb","tgc","tgcexp","tgt","tgttoexchange","th","than1000","than4","thank","thanprice","thatclaimer","thatpool","thatroot","thb","thbexp","thbr","thbroulette","theater","theatr","thedao","thedayblockcount","theexpectedpool","theft","thegame","theirbalance","theirownaddress","theirselv","theirwholebalance","themi","themisexp","thena","thenaexp","thenarewardpool","thenftv2","thenftv2exp","theoret","thepoolyoucalled","thereaft","therebi","therefor","thereof","thespend","thestandard","theswap","theta","thetanut","thetanutsfiexp","thetanutsvaultshareroundingexp","thick","thief","thin","thing","think","thinli","thinner","third","thirdparty","thirdweb","thisaddress","thisamount","thisatob","thisbalance","thispairalreadylisted","thispool","thisqueuefraction","thisrecyclebalance","thisrecyclemaxbalance","thistokenid","thistokenin","thistokenout","thistranche","thor","thorchain","thoreum","thorwallet","though","thought","thousand","thousandth","thread","threat","threaten","three","threefold","threshold","thresholdbefore","thresholdbridge","threw","throttl","throughout","throughput","throw","throwawai","thrown","thruster","thrusterpair","thunder","thunderbrawl","thunderbrawlroulette","thursdai","thusd","ti","tic","tick","tick_","tickafter","tickcumulatives","tickemission","ticker","ticker_","ticket","ticketcount","ticketincost","ticketnonce","ticketnonces","ticketprice","ticketstorage","tickettype","ticketvalue","tickfull","tickgridstep","tickiteratordown","ticklogic","ticklower","tickmap","tickmath","ticksize","tickspacing","ticksready","tickupper","tidi","tie","tier","tierbalanceof","tierc20","tierid","tiersupply","tif","tifi","tifibusd","tifitowbnb","tiger","tigger","tight","tighten","tighter","tightli","till","tillin","tilt","time","time1","time314","time_","timeabl","timebase","timebucket","timecomponent","timedelta","timediff","timeelapsed","timeexp","timefram","timekey","timelength","timeless","timelimitfromlastbuy","timelin","timelock","timelockadmin","timelockcontroller","timelockedgovernance","timelockinvalidoperation","timelockpool","timelocksixmonth","timelockslot","timelockstrategy","timelocktokenpool","timemanagement","timeout","timeouthours","timeoutsecs","timepoint","timeproposed","timer","timerend","timesamp","timesince","timesincelastdistribution","timesincelastupdate","timestamp","timestampinmili","timestampvalid","timeswap","timeswapv2liquiditytoken","timeswapv2liquiditytokenposition","timeswapv2liquiditytokenpositionids","timeswapv2liquiditytokenpositions","timeswapv2token","timetoslurp","timeweight","timeweightedincentivelogic","timeweth","tin","tini","tiniest","tinu","tinuexp","tinyoffset","tip","tipmine","tiptag","tiptoken","titan","titanx","titl","titn","tj","tk0","tk1","tka","tkb","tkn","tkn18","tko","tkobalance","tl","tln","tlnswap","tlntoken","tlo","tload","tm","tmp","tmv","tmveth","to18","to18conversionfactor","to_","toactual","toaddr","toaddress","toaddressdata","toamount","toamountbeforetax","toamtcurrent","toasset","toassethash","toassetpool","toassets","toassetsglobal","toassetslocal","tob","tobal","tobalance","tobalancedelta","tobank","tobase","tobeforeswapdelta","tobeliquidatedhelper","tobentobox","tobepaid","tobin","tobinsclaimed","tobinscollected","toblock","toburn","tocb","tochain","tochainid","toclaim","tocontract","toctou","todai","todecimals","todest","todo","toekn","toelastic","toemit","toerc20amount","toethsignedmessagehash","toexpected","tofamount","tofeerate","toft","tofterc20","tofulfill","togeth","toggl","tohold","toid","toindex","toint","toint128","toint256","tointernalbalance","tojar","tojarminamount","tok","tokamount0","tokamount1","toke","tokemak","token","token0","token0address","token0amount","token0amt","token0offset","token0owed","token0persharepaid","token0persharestored","token0price","token0raw","token0reserves","token0rewards","token1","token1address","token1amount","token1amt","token1data","token1flux","token1persharepaid","token1persharestored","token1price","token1raw","token1reserves","token1rewards","token2","token2flux","token4","token5","token57","token8633","token86339419exp","token98","token_","tokena","tokenacommission","tokenaddr","tokenaddress","tokenaddresses","tokenaddy","tokenaic","tokenairdrop","tokenallowall","tokenalreadyexists","tokenalreadyvotedthisepoch","tokenamount","tokenamount2","tokenamountin","tokenamountinafterfee","tokenamountout","tokenamountrequested","tokenamounts","tokenamountsout","tokenamountsrequested","tokenamtout","tokenand","tokenapprovals","tokenassets","tokenb","tokenbal","tokenbalance","tokenbalanceafter","tokenbalancebefore","tokenbalancein","tokenbalanceledger","tokenbalancetype","tokenbank","tokenbbal","tokenbefore","tokenbnb","tokenbout","tokenboutvalueusd","tokenbridge","tokenbuytransferreward","tokencheckpointdeadline","tokenclaim","tokenclaimable","tokenclaimed","tokenclaimedrewards","tokencollateral","tokenconfig","tokencontract","tokencontractaddresstoresourceid","tokencreated","tokencreator","tokencsx","tokendata","tokendatas","tokendecimals","tokendeposited","tokendistributor","tokendividendtracker","tokendoesnotexist","tokendrain","tokenerc20","tokenethvalue","tokenexchange","tokenexchangeunderlying","tokenextracted","tokenfactory","tokenfee","tokenfeebalance","tokenfeeclaimed","tokenformarketing","tokenforswap","tokenfrom","tokenfromreflection","tokengovernor","tokenhandler","tokenholder","tokenholderexp","tokenholdersmap","tokenid","tokenid1","tokenid2","tokenida","tokenidcounter","tokenidluckys","tokenidof","tokenidoracleaddress","tokenidorvalue","tokenids","tokenidtocasino","tokenidtokenltv","tokenidvotesinperiod","tokenidx","tokenin","tokeninandpoolsalt","tokenincontract","tokenindex","tokenindexfrom","tokenindexto","tokeninfo","tokeninfos","tokeninprice","tokeninratio","tokenins","tokeninsufficientcash","tokeninterfaceerc20","tokeninternalswap","tokenislocked","tokenizeconviction","tokenizedlp","tokenizedlptoken","tokenizedstrategy","tokenizeduniswapv3position","tokenkey","tokenlastbalance","tokenlength","tokenlist","tokenlisted","tokenlistedtodex","tokenlocker","tokenlockup","tokenm","tokenmanager","tokenmapped","tokenmapping","tokenmarketing","tokenmessenger","tokenmessengersaddr","tokenmessengerv2","tokenmeta","tokenmigration","tokenmindistribution","tokenmintandswap","tokenminter","tokenname","tokennata","tokennotlisted","tokenofownerbyindex","tokenom","tokenops","tokenout","tokenoutcontract","tokenoutmin","tokenoutprice","tokenoutratio","tokenouts","tokenoutsy","tokenouttotal","tokenowner","tokenownerwithchainid","tokenp","tokenpairconvert","tokenperpoint","tokenpershare","tokenpersy","tokenpolicydata","tokenposition","tokenprecisionmultipliers","tokenprice","tokenpriceinbnb","tokenprices","tokenpricetime","tokenpriceusd","tokenpurchased","tokenratecaches","tokenratecacheupdated","tokenrawsupply","tokenreal","tokenreceived","tokenreceiver","tokenrecipient","tokenreferencevalue","tokenrefund","tokenreg","tokenregistry","tokenrepaymentfailed","tokenrequestcb","tokenreserve","tokenreserveafter","tokenrewards","tokenrewardsperepoch","tokens0","tokens0owed","tokens1","tokens1owed","tokensale","tokensales","tokensamount","tokensandamounts","tokensandamountslength","tokensbought","tokensburned","tokensclaimed","tokenselltransferreward","tokensforlp","tokensforswap","tokenshares","tokensholdings","tokensintokenweights","tokenslength","tokensminted","tokensoffered","tokensold","tokensource","tokensout","tokensowed","tokensowed0","tokensowed1","tokensperinterval","tokenspernft","tokenspurchased","tokensreceived","tokensreceivedthisvsc","tokensreceivedvow","tokensregistered","tokensrequested","tokenssenderhash","tokenssenderinterfacehash","tokenssold","tokensstaking","tokenstablecoin","tokenstake","tokenstakingpooldelegate","tokenstarttime","tokenstate","tokenstatus","tokenstoburn","tokenstobuy","tokenstobuyback","tokenstoclaim","tokenstodenom","tokenstomint","tokenstopurchase","tokenstorage","tokenstoreturn","tokenstosend","tokenstoswap","tokenstotransfer","tokenstouser","tokenstowithdraw","tokensupply","tokensupplyaddr","tokenswap","tokenswapunderlying","tokenswuiavailablebycurrentprice","tokensymbol","tokentaken","tokentax","tokentoburn","tokentodraw","tokentoethinput","tokentoethswapinput","tokentoeur","tokentohouseprice","tokentohunnybnb","tokentoinfo","tokentoliquiditypool","tokentonfttrades","tokentopay","tokentorepay","tokentosell","tokentoshares","tokentoswap","tokentotalfeeamount","tokentotalrewards","tokentotoken","tokentotokeninput","tokentotokenwithchainid","tokentotransfer","tokentousd","tokentousdint","tokentowallet","tokentoweth","tokentrade","tokentraits","tokentransfer","tokentransfer0","tokentransferproxy","tokentransfersell","tokentypes","tokenunit","tokenuri","tokenusdc","tokenusdt","tokenv1","tokenv2","tokenvalue","tokenvalueinquoteasset","tokenvault","tokenweight","tokenweight0","tokenweightin","tokenweth","tokenwithdrawn","tokenx","tokenxamount","tokey","toki","tol","told","toler","tolerancebps","tolock","tolocked","tolongtokenid","tolp","tolpid","tom","tombston","tomint","tominu","toml","ton","tonic","tonken","tonominal","tonreserve","tonreserveamount","tood","took","tool","tool0","tool1","tool2","tool3","tool4","toolate","toolchain","toomanyitems","toosoon","toothless","top","topackedfloat","topartition","topawn","topb","topbid","topbpooldrain","topbpoolexp","topermissionidmemory","topg","topic","topic0","topic1","topic2","topoff","topofftoagent","topolog","toposition","topup","topupamount","topupvesting","torch","toreal","toredeem","toreferrer","toremove","torepay","torewards","torn","tornado","torqu","tosell","tosend","toshare","toshares","tosharesglobal","toshareslocal","toshorttokenid","toswap","tosystemprecision","tot","tota","total","total0","total1","total4","total4ethdivpoints","total4tokendivpoints","total6","total6ethdivpoints","total6tokendivpoints","totalaccepted","totalaccountedassets","totalaccrued","totalactivedebt","totalactivestakedusd","totaladminfees","totalaffiliatefees","totalagainstvotes","totalallocated","totalallocpoint","totalamount","totalamountburntonl1","totalamountclaimed","totalamountover","totalamounttorepay","totalasset","totalassetborrowstored","totalassets","totalassetsbefore","totalassetssnapshotfordeposit","totalassetstoslash","totalassetsupply","totalasugar","totalbacked","totalbaddebteth","totalbal","totalbalance","totalbalanceenforc","totalbalanceenforcer","totalbalanceinspfactory","totalbalanceinstaking","totalbalanceoutsidestaking","totalbalances","totalbaselpttimesn","totalbidaddresses","totalbids","totalbnbfee","totalbnbforlink","totalboost","totalboosttrades","totalborrow","totalborrowamount","totalborrowbalancebase","totalborrowed","totalborrowedeth","totalborrowedfrom","totalborrowingfees","totalborrows","totalborrowshare","totalborrowsnew","totalburnamount","totalburned","totalburnrewards","totalbuy","totalcash","totalcashminted","totalcashoutfeescollected","totalcdsdepositedamount","totalcirculatingjimbo","totalclaimable","totalclaimableamountofsaletokens","totalclaimableredemption","totalclaimablewithdrawals","totalclaimed","totalclaimedamount","totalclaimedinterest","totalclaimedshares","totalcliffs","totalclosedpnl","totalcollateral","totalcollateralbalancebase","totalcollateraleth","totalcollateralineth","totalcollateralof","totalcollateralsnapshot","totalcollateraltopay","totalcollectedamount","totalcommitted","totalcontributed","totalcontribution","totalcost","totalctokensupply","totalcurvelpbalance","totalcvgclaimable","totalcvxbalance","totalcvxclaimable","totaldealprice","totaldebt","totaldebtamount","totaldebtbalance","totaldebteth","totaldebtforcollateral","totaldebtineth","totaldebtof","totaldebtshare","totaldebtshares","totaldei","totaldelegated","totaldelegatedamount","totaldelta","totaldeposit","totaldepositcap","totaldepositdollarvalue","totaldeposited","totaldepositedethbalance","totaldeposits","totaldepositshares","totaldepositswei","totaldepositswithinterest","totaldepositswithinterests","totaldeposittokens","totaldeposittopr","totaldeposittoprocess","totaldistributed","totaldistributedshares","totaldistributionshares","totaldistributors","totaldividendperlp","totalearned","totalearnings","totaleffectivesupply","totalemissions","totalentities","totalentitlement","totalescrowvalue","totaleth","totalethamount","totalethdeployed","totalethincontract","totalexcludedsupply","totalfee","totalfeepercentage","totalfeeratio","totalfees","totalfeeshares","totalforauction","totalforfeitpaid","totalforvotes","totalfreedebt","totalfreedebtshares","totalfrozen","totalft","totalfunds","totalfusefees","totalgasrequired","totalgds","totalglp","totalgons","totalgymnetlocked","totalgymnetunlocked","totalholder","totalholders","totalholdings","totalhype","totalidle","totalinputspent","totalinterest","totalinvested","totalinvestment","totaljimboinpool","totallent","totalliabilities","totalliq","totalliquidity","totalliquiditybalancebase","totalliquidityfee","totallocked","totalloss","totallp","totallpafter","totallpamount","totallpbal","totallpbalance","totallpnow","totallpshares","totallpstaked","totallpsupply","totallptmintedforusers","totallptokensupply","totalmargin","totalmaxmp","totalmilestoneearned","totalmined","totalmint","totalminted","totalmliq","totalmp","totalmpaccrued","totalmpstaked","totalmultipliedstaked","totalnative","totalnativecontributed","totalneeded","totalnetasset","totalnetassets","totalnetcostamount","totalnominalliq","totalnoncoversharesburnt","totalnum","totalonauctiondebt","totalowed","totalpaid","totalpaidout","totalpayable","totalpaymenttokencollected","totalpayout","totalpayouts","totalpendingfees","totalpercent","totalpercent2","totalpledgedlp","totalpoints","totalpool","totalpooledether","totalpoolsize","totalposition","totalpower","totalpremium","totalprice","totalprincipal","totalprivatesold","totalprocessed","totalprofitclaimed","totalprofitdeposited","totalproposals","totalquantity","totalqueuedforwithdrawal","totalqueuedshares","totalquotesent","totalraised","totalrarityweight","totalreceipttokens","totalreceived","totalrecordedlp","totalredeemrequests","totalreferralbonuswithdrawn","totalrefund","totalreleased","totalreleases","totalremaincnt","totalreserve","totalreservebnb","totalreserves","totalrestakedeth","totalreturnamount","totalrevenue","totalreward","totalrewards","totalrewardsdistributed","totalrewardsreceived","totalrewardweight","totalrewardweightdecrease","totalsaletokenavailable","totalscore","totalsendamount","totalsent","totalsettled","totalshare","totalshareamount","totalshares","totalshells","totalslashing","totalstake","totalstakeamount","totalstakecache","totalstakecached","totalstaked","totalstakedat","totalstakedatwarp","totalstakednbl","totalstakelpamount","totalstakereward","totalstakes","totalstakessnapshot","totalstrovechange","totalsupplies","totalsupply","totalsupplyamount","totalsupplyasset","totalsupplyat","totalsupplybeforeburn","totalsupplyinvalue","totalsupplylp","totalsupplynew","totalsupplypt","totalsupplysnapshotfordeposit","totalsupplysy","totalsurplus","totalsushi","totalswapped","totalswappedtosell","totaltaxifbuying","totaltaxifselling","totaltliq","totaltoclaim","totaltoken","totaltoken0","totaltoken1","totaltokenbalance","totaltokens","totaltokenshares","totaltokensrequested","totaltokensupply","totaltokensupplywithreservedtokensof","totaltokenxbalance","totaltosend","totaltoswap","totaltvl","totalunderlying","totalunrealizedloss","totalunstaked","totalusage","totalusd","totalusdt","totalusdtcost","totalusdtreceived","totalusdttowithdraw","totalusdtwithdrawn","totaluserbalance","totalvalidatorcount","totalvalidators","totalvalue","totalvalueinprotocol","totalvalues","totalvaluestake","totalvaluestakeusd","totalvariations","totalvaultdeposits","totalvaultshares","totalvaultsharesbefore","totalvillages","totalvotes","totalvotesinperiod","totalvotessupply","totalvoteweight","totalvoting","totalwei","totalweight","totalweth","totalwethdeposited","totalwithdraw","totalwithdrawalrequests","totalwithdrawn","totalwithdrawnamount","totalwithdrawnreward","totalwsteth","totalxborrows","totalxp","totastake","totoken","totol","totreasury","tottswapuint256","totypeddatahash","touch","touchstakingaccount","touint","touint128","touint160","touint208","touint256","touint64","touint96","tounderlyingfee","tousdtamount","tousdtfee","touser","tout","towad0","towad1","toward","tower","towhitelist","towithdraw","towithdrawfrompool","towned","townedu","toxic","toyearn","tpad","trace","tracer","tracesingleswap","track","trackeddebt","trackedproxy","trackedreserve","tracker","trackpurchase","trad","tradabl","trade","tradeabl","tradeablesupply","tradeaggregator","tradeamount","tradeandwrapcomponents","tradecontroller","tradecost","tradedata","tradeexecuted","tradefee","tradefeesdata","tradeopeninterestusd","tradeparams","trader","trader2","traderaddress","traderbalance","traderbalances","traderesult","traderjoe","traderjoev2facet","traderjoev2norewardhook","traderjoev2poolnotwhitelisted","tradernftid","tradesizeoutofrange","tradeskewmultiplier","tradestatus","tradetype","tradevcashvalue","trading_","tradingaccount","tradingaccountid","tradingactive","tradingcommonutils","tradingenable","tradingenabled","tradingopen","tradingopened","tradingoperationconfig","tradingpaused","tradingpoint","tradingpool","tradingpost","tradingreserve","tradingstarttime","tradingtake","traffic","tragedi","trail","trailofbit","train","trait","traitforg","traitforge","traitforgenft","trampolin","tran","tranch","trancheid","trancheindex","tranchestate","transact","transactether","transactfeevalue","transactionadded","transactionamount","transactioncount","transactionexists","transactionfee","transactionid","transactionmanager","transacttoken","transcat","transcod","transcript","transer","transerfeelog","transfee","transfeeamount","transfer","transfer0","transferais","transferallfunds","transferallowed","transferamount","transferandapprove","transferandcall","transferandvalidate","transferanytokento","transferasset","transferassetfromuser","transferassets","transferassetsto","transferassettouser","transferback","transferbalance","transferbalancefrom","transferbaseout","transferbbox","transferbboxhelp","transferblocktime","transferbnb","transferburndonation","transferbuy","transfercollateral","transferdata","transferdelay","transferenabled","transfererc20","transfererc20in","transfererc20out","transfererc721","transfererror","transfereth","transferfailed","transferfee","transferfeerate","transferfeessupportingtaxtokens","transferfrom","transferfromandswaptokenstobnb","transferfromcalldata","transferfromcontract","transferfromdata","transferfromerc20","transferfromfailed","transferfromfuncselector","transferfromnft","transferfromowner","transferfrompair","transferfroms","transferfuncselector","transferfundealtypecontractaddress","transferfunds","transfergroups","transferhelper","transferhookprocessor","transferid","transferin","transferinrewards","transferintoken","transferinwindowdurationdays","transferlistingfee","transferlock","transferlocktoken","transferlp","transfermaxassetsforshares","transfermoneyback","transfernative","transfernf","transfernft","transfernftinternal","transfernotify","transferorigin","transferout","transferoutassets","transferoutwindowdurationdays","transferownership","transferpair","transferpayout","transferperpowner","transferplp","transferproportional","transferproxy","transferquoteout","transferr","transferrabletoken","transferrecipient","transferreddx","transferseizedtokenfresh","transfersell","transfershortrecord","transfersingle","transferstandard","transfersub","transferswap","transfertax","transfertelfromcloneableproxy","transfertemps","transfertime","transfertimecheck","transfertimelock","transferto","transfertoaddresseth","transfertocompound","transfertoken","transfertokenlock","transfertokens","transfertokensfromcontract","transfertokenswithpermit2","transfertokenxamount","transfertoslashstore","transfertouser","transfertype","transfertypehash","transferunderlying","transferunderlyingto","transferunderlyingtoken","transferunderlyingtokenfrom","transferunlocked","transferusdt","transferwithbeneficiary","transferwithfee","transferwithpermit","transferwithsig","transferwithtax","transform","transformerc20","transformloserate","transformprice","transient","transientstorage","transit","transitionstate","transitswap","transitswapped","transitswaprouterv5","translat","translatetoerc20","transmit","transmitt","transpar","transparentupgradeableproxy","transport","transpos","transposit","transreward","trap","trash","travel","travers","trb","treasur","treasuredao","treasuredaoexp","treasuremarketplace","treasuremarketplacebuyer","treasurenftoracle","treasuri","treasuryaction","treasuryaddress","treasuryamount","treasuryamt","treasurycb5a02","treasurymanager","treasurymint","treasurypct","treasurypermille","treasuryrate","treasuryrewardcutrate","treasuryrewards","treasuryusdc","treasurywallet","treat","treatment","tree","treeindex","treetick","treewidth","trend","trequir","treshold","tri","trick","trickamt","trickl","tricrypto","tricrypto2","trie","trigger","triggerautoburn","triggerbin","triggerbuyback","triggerbuybackmultiplier","triggerextrastep","triggerfee","triggerownershipupdate","triggerpricee36","triggerzeusbuyback","trillion","trim","triniti","trio","trip","tripl","tripool","tripoolcoins","tripoollp","trivial","trojan","trophi","trove","trovechange","trovedebtupdate","troveid","troveids","trovemanager","trovemanager9dc845","trovemanagerfrom","trovemanagerto","troveowner","troveupdated","tru","true","truebit","truebitexp","trueusd","truli","truncat","truncatedamount","truncatedcast","trunk","trunkamount","trunksupply","trust","trustcaller","truste","trustedaddress","trustedcreditor","trusteddodopool","trustedforwarder","trustedlist","trustedowner","trustedremote","trustedvolumes","trustedvolumesexp","trustingli","trustless","trustpad","trustpadexp","trustswap","trustworthi","truth","truthfulli","trv","trvzookeeper","trx","trxn","trxntype","try","tryadd","tryavertchallenge","trydeposit","tryget","trynewsettlement","trypublish","trypyth","tryrecover","tryredstone","tryresetdailyaccpnldelta","trysell","trysettle","tryspend","trytoboost","trytransfer","trytransferbounded","trzn","ts","tsaggregatorattack","tsaggregatorgeneric","tsaggregatortokentransferproxy","tsl","tsqd","tss","tstore","tsuka","tsupply","tsuru","tsuruwrapper","tt","ttl","tto","ttoken","ttokens","ttonic","ttotal","ttp","ttransferamount","ttswap","ttswaperror","tube","tunabl","tune","tunnl","tupl","turbo","turboverifier","turn","turnkei","turnoffreentrancyprotection","turnonreentrancyprotection","turnout","tusd","tusdc","tusdt","tuser","tv","tv2","tvalue","tvl","tvl_","tvlinbnb","tw","twa","twab","twaml","twap","twapcheck","twapduration","twapinterval","twapok","twaporacle","twapoverride","twappaid","twapprice","twaps","twapseconds","twaptick","twapupdateinterval","tweak","twelv","twenti","twice","twin","twindex","twist","twn","twndc8cb9","twocrypto","twofeeunits","twofold","twopow96","twopower","twowaybatcher","twpremium","twpremiumdivbysqrtpricegrowthinsidex96","twpremiumdivbysqrtpricex96","twpremiumgrowthbelowx96","twpremiumgrowthglobalx96","twpremiumgrowthinsidex96","twpremiumx96","twtap","tx","tx0","tx1","tx2","tx3","tx4","txa","txargs","txcooldown","txcount","txcreatedat","txcreationtimestamp","txdata","txexpiration","txgas","txhash","txhashdata","txhashes","txheader","txid","txidfound","txids","txindex","txlimitamount","txn","txnonce","txorg","txparams","txproof","txpublicinputlength","txreward","txroot","txt","txtype","ty","typ","type","type1","type2","type_","typeconvert","typeddatasignfields","typehash","typeof","typeofltv","typeofproduct","typestd","typetxoutput","typic","typo","tz","u256","u32","u88","ua","uamount","uasset","ubi","uc","ucontroller","ucr","ucrdiff","ucur1","ud","ud60x18","ud60x18zero","udai","udamount","udprice","uearnpool","uearnpoolexp","uerii","uf","ufarm","ufarmpool","ufdao","ufixed18lib","ufixed6","ufo","uft","ugas","ui","uinc","uint","uint104","uint112","uint120","uint128","uint144","uint151","uint16","uint160","uint160bitssize","uint176","uint192","uint208","uint216","uint224","uint24","uint248","uint256","uint2str","uint32","uint40","uint48","uint512","uint64","uint8","uint80","uint88","uint96","uintoverflowed","uintset","uintswap","ujenny","ulm","ulmeexp2","ulmeout","uln","uln302","ulnconfig","ulnconfigset","ulp","ultim","ultra","ulyss","uma","umafarmingmar","umami","umarket","umatrigger","umbrella","un","unabl","unaccept","unaccount","unaccountedfeeasgrowth1e18","unadjust","unaffect","unalign","unambigu","unappli","unapprov","unassign","unattain","unattend","unattest","unattract","unauct","unaudit","unauthent","unauthor","unauthoris","unauthorizedagent","unauthorizedcaller","unauthorizedzzzzzz","unavail","unavoid","unawar","unback","unbal","unbalanc","unban","unbatch","unbid","unbil","unbilledprincipal","unblacklist","unblock","unbond","unbondcommission","unbondfeerate","unbondingamount","unbondingat","unbondrequested","unbondtype","unbondwithdrawn","unbound","unboundedli","unburn","unburneddestination","uncach","uncag","uncal","uncalcul","uncap","uncapit","uncaptur","uncaught","unchalleng","unchang","uncheck","uncheckpoint","unclaim","unclaimedamount","unclaimedflux","unclaimedstakingrewardusd","unclamp","unclear","unclos","uncollater","uncollect","uncom","uncombin","uncompens","uncompound","uncondit","uncondition","unconfigur","unconfirm","uncons","unconstrain","unconsum","uncontrol","uncorrel","uncov","uncreat","uncredit","uncx","undealt","undefin","undeleg","undelegatedcoin","undelegaterequests","undelegatestake","undeliv","undeploi","underborrow","undercharg","undercollater","undercollateralis","undercount","undercredit","undercut","underestim","underflow","underfund","undergo","undergon","underli","underlimit","underlying_","underlyingamount","underlyingasset","underlyingassetaddresses","underlyingbalance","underlyingbalanceafter","underlyingbalancebefore","underlyingbalanceincrease","underlyingbalanceupdated","underlyingborrowtoken","underlyingburner","underlyingcoins","underlyingcollateraltoken","underlyingdecimals","underlyingheld","underlyingin","underlyingowners","underlyingprice","underlyingrequiredtoexercise","underlyingscale","underlyingtoken","underlyingtokendecimals","underlyingtokeninterface","underlyingtokenprice","underlyingtolstrate","underlyingtoltoken","underlyingtoreceive","underlyingtotransfer","underlyingunit","underlyingusdprice","underlyingwithdrawn","undermin","underneath","underpai","underpaid","underpay","underpin","underpr","underpric","unders","undersc","underscor","undersel","underst","understand","understood","undervalu","underwat","underweight","underwrit","underwrot","undesir","undetect","undifferenti","undisclos","undistribut","undistributedrewards","undivid","undivideddividends","undo","undocu","undol1tol2alias","undon","undump","unearn","uneconom","unenforc","unentitl","unequ","unescap","uneven","unexercis","unexp","unexpect","unexpectedli","unexpir","unexplain","unfair","unfairli","unfavor","unfil","unfinaliz","unfinish","unfix","unflag","unfloor","unforg","unfortun","unfreez","unfreezefarm","unfrozen","unfund","ungat","ungrant","unguard","unhandl","unharvest","unhealthi","unhedg","uni","uniactionlib","uniactionpolicy","unibot","unibotexp","unibotrouter","unibtc","unibtcamount","unibtcamt","unicli","unicod","unidirect","uniexp","unifail","unifi","unifiedmul","unifiedpoint","uniform","uniformli","unihash","unilater","unilend","unilendexp","unilp","uniniti","uninitialis","uninitializ","uninstal","uninstalledfrom","unintend","unintent","union","unipool","unipool1","unipool2","uniproxy","uniqu","unirouter","unirouteraddress","unistreet","unistreetsx","unisupplyratio","uniswap","uniswapanchoredview","uniswapcontract","uniswapfactory","uniswaphandler","uniswaphelper","uniswapmodulebase","uniswapmodulewithchainlink","uniswapmodulewithoutchainlink","uniswaponly","uniswappair","uniswappool","uniswappooladdress","uniswapprivileges","uniswapquote","uniswaprouter","uniswaprouteraddress","uniswapv2","uniswapv2call","uniswapv2dele","uniswapv2erc20","uniswapv2library","uniswapv2pair","uniswapv2pair0","uniswapv2pair1","uniswapv2pairaic","uniswapv2pairamount","uniswapv2pairlist","uniswapv2pairusdt","uniswapv2proxy","uniswapv2router","uniswapv2swaphelper","uniswapv2utils","uniswapv3","uniswapv3broker","uniswapv3factory","uniswapv3factoryallowed","uniswapv3factoryandff","uniswapv3flashcallback","uniswapv3flashpool","uniswapv3mintcallback","uniswapv3oracle","uniswapv3pool","uniswapv3poolinitcodehash","uniswapv3router","uniswapv3staking","uniswapv3swapcallback","uniswapv3swaprouter","uniswapv3swapto","uniswapv4wrapper","unit","unit0","unit1","uniti","unitless","unitprice","unitqty","unitrol","unitroller8f2354","unitshares","univ2","univ2daiusdc","univ2lp","univ3","univ3collateraltoken","univ3collateraltokenexp","univ3fee","univ3flash1","univ3flash2","univ3flash3","univ3pool","univ3pooladdress","univ3poolhelper","univ3posnft","univ3priceoracle","univ3router","univ3swapexactin","univ3swapinput","univ3tokenizedlp","univ3twapusdtoracle","univ3vaultaddress","univers","universalrouter","universalrouterexecute","universalsigvalidator","universegoldmountain","uniwethpool","unix","unizen","unizenio2","unizenio2exp","unkei","unknown","unknownhackexp","unknownhackexploit","unlaunch","unless","unlicens","unlik","unlimit","unlink","unliquid","unlist","unlock","unlockcallback","unlockdata","unlockdate","unlockdeposit","unlockedshares","unlockevent","unlockexponent","unlockflowrate","unlockoffer","unlockpercent","unlockpersecond","unlockprice","unlockprotectedlisting","unlockrecipient","unlockshares","unlockslot","unlockstart","unlocktim","unlocktime","unlocktimeestimate","unlocktimestamp","unlockto","unlocktoken","unlockworthless","unlucki","unmanag","unmanipul","unmatch","unmatchedcollections","unmerg","unmigr","unmin","unmint","unmistak","unmitig","unmodifi","unmonitor","unmov","unnam","unnecessari","unnot","uno","unobserv","unopen","unoppos","unoptim","unord","unoswap","unoswapto","unown","unpack","unpackprize","unpaid","unpatch","unpaus","unpaused","unpay","unpnl","unpok","unpredict","unpric","unprivileg","unprocess","unprocessedbnb","unprofit","unprotect","unprotectedarbbot","unproven","unpublish","unquest","unqueu","unqueuedunauctioneddebt","unquot","unreach","unreal","unrealis","unrecogn","unrecover","unredeem","unreduc","unreferenc","unregist","unregisteroperatorfromdss","unreimburs","unrel","unreleas","unreli","unremov","unrepay","unreserv","unrespons","unrestrict","unreturn","unrev","unrevealedofferor","unrevealedoffers","unreview","unrevok","unround","unsaf","unsafeadd","unsafedeposittoken","unsafediv","unsafeexecutevote","unsafeissuetolv","unsafemul","unsafenominalliq","unsaferecipient","unsafesub","unsalvag","unsanit","unsanitis","unsatisfi","unsatur","unscal","unsecur","unseed","unsel","unset","unsettl","unsettledamount","unsettleddebt","unsh","unshar","unsheth","unsign","unslash","unsnapshot","unsold","unsolicit","unsort","unsound","unspecifi","unspecifiedamount","unspent","unspoof","unstak","unstake","unstakeallsdum","unstakeandredeemglp","unstakeandredeemplp","unstakecontract","unstakecooldown","unstakedday","unstakedpendingamounts","unstakedshares","unstakefeerate","unstakefromvalidator","unstakelp","unstakelptokens","unstakenft","unstakenfts","unstakeprincipal","unstakequeueamount","unstakestatus","unstaketoken","unstaketokensviaadapter","unstakingduration","unstakingfrozentime","unstakingrequesttime","unstakingvaultbalance","unstat","unstopp","unstream","unsubscrib","unsuccess","unsuccessfulexecution","unsupervis","unsupport","unsupportedsource","unsurfac","unswap","unswept","unsync","untag","untal","untangl","untax","untouch","untrac","untrack","untrunc","untrust","untrustedcurve","untyp","unus","unusedcount","unusedparam","unusu","unvalid","unverifi","unverified03f9exp","unverified16d0","unverified237dexp","unverified35bcexp","unverified670471","unverified6883","unverified6f7aexp","unverified8490exp","unverifieda89fexp","unverifiedb5cbexp","unverifiedcontract1","unverifiedreport","unverifiedvictim","unvest","unvestedamount","unvet","unvot","unwant","unwarp","unwhitelist","unwind","unwindingmodule","unwithdraw","unwithdrawn","unwound","unwrap","unwrapp","unwraptokens","unwrapweth","unwrapweth9","unwrapwithcap","up","upamount","upbnb","upcom","upcomingfundingpayment","upcomingfundingrate","upcontroller","updat","updateaccount","updateaccounttoken","updateaccumulatedethperlp","updateallowance","updateallpositionfrombalancemargin","updatealluserstate","updatealreadycompletedinthisblock","updateandgetfee","updateartsettings","updateatoken","updateatomicrequest","updatebalance","updatebasefeerate","updatebasevirtualprice","updatebeaconsetwithbeacons","updatebeaconwithsigneddata","updateborrow","updateborrowbalance","updatebot","updatebucketexchangerates","updatebucketexchangeratesandclaim","updatecap","updatecheckpoint","updatecontract","updatecrosschaincollateral","updatecuratorsharebalance","updatecurrency","updatecurrencyfixed","updatecurrentanswer","updated","updatedat","updatedatblock","updatedbalance","updatedebt","updatedebtandcollateralindex","updatedebtreporting","updatedelegate","updatedelegatedprice","updatedelegation","updatedepositdetails","updatedindex","updatedis","updatedpayouts","updatedrewards","updatedtobalance","updatedueinfo","updateeffectivebalance","updateelyassetprice","updateemissions","updateentityallowance","updateercdebt","updateexchangerate","updateexpiredorders","updateextrarewardstate","updatefair","updatefarm","updatefarmrewarddata","updatefee","updatefeesreward","updatefg","updateflux","updatefor","updatefunding","updateglobalpoint","updateglobalstate","updateguarded","updateimpact","updateindex","updateindexes","updateinterestrates","updateinterestratesandliquidity","updateinterval","updateinvestment","updateliability","updatelidovalues","updateliquidityandcrosstick","updatelistingaftertransfer","updateloanborrowinterests","updateloanconfigenabledstatus","updateloanlastids","updatemarket","updatemaxdebt","updatemaxdebtforstrategy","updatemaxearning","updatemerkleroot","updateminimumbalance","updatenav","updateoracleandstartingshort","updateorder","updateorderdebt","updateownership","updatependingwithdrawalwithqueue","updateperformance","updateperiod","updatepool","updatepooldata","updatepoolwithinterestsandtimestamp","updateposdebtshares","updateposition","updatepositionfrombalancemargin","updatepower","updateprice","updatepricefeeds","updateprotocolreward","updaterate","updaterates","updateregister","updateregisterederc20","updateregistry","updaterepaymentstate","updatereservestate","updatereward","updaterewardaccumulator","updaterewardfornfp","updaterewardrate","updaterewardrateperday","updaterewards","updaterewardsclaimed","updaterewardsclaimed1","updaterewardsstates","updaterewardstate","updateroyalties","updaterrole","updatesale","updateshareratio","updatesharetoassetsprice","updatesnapshot","updatestakeamount","updatestalkperbdvperseasonfortoken","updatestate","updatestates","updatestatesasendpoint","updatestrategyrewards","updatesupply","updateteambusiness","updatetier","updatetime","updatetimestamp","updatetokenaddress","updatetokeninfo","updatetokenprice","updatetokenratecache","updatetotalaum","updatetotalinvestment","updatetradesuccess","updatetranscoderwithfees","updatetreasury","updatetwap","updateu","updateuntilepoch","updateusdxltreasury","updateuserbalance","updateuserboost","updateuserreward","updateuserrewards","updateuserwithdrawal","updateutilizationbyid","updateutokenproportion","updatevalidatorperformance","updatevariabledebttoken","updatevault","updatevaultnavthreshold","updatevaultstate","updatevestedtokens","updatewallet","updatewalletselector","updatewithacceptancecheck","updatewithrepaywithcollateral","updatexp","upeng","upfront","upfundsreceived","upg","upgrad","upgradeabilityproxy","upgradeabletokenerc777erc777upgradeable","upgradeandcall","upgradebeacontoandcall","upgradepackage","upgraderrole","upgradeto","upgradetoandcall","upgradetoandcalluups","upgradevillage","upkeep","uplift","upliftfeebps","uplifthookfixed","uplin","upload","upnl","upon","upper","upperbound","upperfeegrowthoutside0x128","upperhint","upperlookuprecent","uppertarget","uppertick","uprecipient","upredeemer","upsburned","upscal","upscalearray","upsert","upsertincentive","upsid","upsmath","upstkn","upstream","upsw","upswing","upswing35a254","uptim","uptimeof","uptimeperepoch","uptimetodistribute","uptoken","upward","upx","upxeth","ur","uranium","uraniumexp","uraniumpair","uraniumswap","urg","urgent","urgentredeemcollateralfromtrove","urgentredemption","urgentredemptionbonus","uri","uri_","url","url_","urn","urnhandler","us","us1","usabl","usag","usageascollateral","usageindex","uscale","usd","usd0","usd0pp","usd1","usd18","usd1bal","usd8","usda","usdaf","usdamount","usdat","usdatamount","usdb","usdbalance","usdc","usdc2","usdc_","usdcaddress","usdcafter","usdcamount","usdcamountin","usdcbal","usdcbalance","usdcbefore","usdcbusd","usdcdaiv4vault","usdcdrained","usdce","usdcedrained","usdceprofit","usdcetomu","usdcholder","usdcimportfee","usdcin","usdcinsidehook","usdcinsideuniswap","usdcloan","usdclp","usdcpair","usdcpool","usdcprofit","usdcrepayment","usdcspotdecimals","usdcspotindex","usdcspotscaling","usdctoken","usdctoweth","usdcusdce","usdcusdclp","usde","usdf","usdfdecimalmultiplier","usdg","usdi","usdlp","usdm","usdn","usdo","usdout","usdp","usdpamount","usdpereth","usdplu","usdplus","usdr","usdrate","usds","usds67b580","usdsexp","usdstolen","usdt","usdt0","usdt18","usdt2","usdt2us","usdt_","usdtaddr","usdtaddress","usdtafter","usdtal","usdtallowancevictim","usdtamount","usdtamountin","usdtamounttomint","usdtavailable","usdtbalance","usdtbalanced","usdtbalanceof","usdtbalancesslot","usdtbefore","usdtcontract","usdtdecimals","usdtdrained","usdte","usdtfeed","usdtin","usdtinpair","usdtlike","usdtloan","usdtlp","usdtoeficeil","usdtotoken","usdtout","usdtpair","usdtplus","usdtpool","usdtprofit","usdtrepayment","usdtreserve","usdtreward","usdtshorted","usdtstakingcontract28","usdtstakingcontract28exp","usdttofoxpath","usdttogds","usdttoken","usdttokenerc20","usdttolw","usdttopair","usdttosdao","usdttotoken","usdttoweth","usdttransferamount","usdttreasuryamount","usdtyeedhoswappair","usdtyeedpair","usdv","usdv2","usdvalue","usdvalueofgym","usdvalueoftokens","usdvalues","usdxl","usdxlatoken","usdxlatokenproxy","usdyamount","usdylendamount","usdysharesamount","usdyw","useallowanceof","useascollateral","useatokens","usebalance","usedamount","usedcodes","usedevents","usedfunds","usedids","usediscount","usedmargin","usedmessages","usednonce","usednonces","usedsignatures","usedweights","useeth","usefreshsupply","usehalfspread","useless","usenonce","usepermit","user","user1","user2","user3","usera","useraccount","useractor1","useractor2","useraddlp","useraddr","useraddress","useramount","useratomicrequest","userb","userbalance","userbalanceoftoken0","userbalanceoftoken1","userbalanceop","userbalances","userbalancetime","userbals","userblacklisted","userbnb","userboost","userboosts","userboosttrades","userborrowbalanceeth","userborrowpart","userborrowshares","userburn","usercheckpoint","usercheckpoints","userclaim","userclaimedepoch","userclaimedinterest","usercleanmapping","usercmd","usercollateral","usercollateralbalance","usercollateralbalanceeth","usercollateralchanged","usercollateralfee","usercollaterals","usercollateralshare","usercollateraltokenbalance","userconfig","userconfiguration","usercontrolledint","usercrosschaincollaterals","usercum","userdata","userdebt","userdepos","userdeposit","userdepositfrom","userdeposits","userdepositto","userdividenddebt","userearned","userearnings","useremodecategory","useremodeset","usereserves","usereservesbase","usereservesquote","userexr","userfeeinfo","usergw","userharvest","userhealthfactorltv","useri","userindex","userindexes","userinfo","userinfos","userlast","userliquidity","userlock","userlockedamount","userlockernumber","userlocks","userlp","userlpamount","userlpdelta","userlprecord","userlpstakeamount","userlpsynced","userlstbalances","userltv","usermint","usernam","usernameid","usernonce","userop","useropcosigner","useroperation","useroperationevent","userophash","useropinfo","userops","useroraccount","userout","userpaid","userpendingdeposit","userpendingdepositslot","userpendingdividend","userpledge","userpledgedlp","userpositions","userreceived","userrecord","userredeem","userredeems","userreferralrewards","userreleased","userremainingpoints","userremovelp","userreward","userrewarddata","userrewardpertokenpaid","userrewards","userrewardsdistributed","userrewardweight","usersconfig","usersdeposit","usersemodecategory","usershare","usersharebalance","usershares","usershidov1","usershidov2","usershopitempurchases","usersigninfo","usersindex","usersnap","usersoldvalueusdt18","usersstat","userstaked","userstakedusd","userstakeindex","userstakeinfo","userstakerecord","userstakingpower","userstarttime","userstat","userstates","userstoliquidate","usersuppliedaddress","usersupply","usersupplycurrent","usersupplyupdated","userswap","usertaxrate","usertimelock","usertoaccount","usertoliquidate","usertotol","usertx","usertxdetails","userunclaimedrewards","userusdt","userusepoolascollateral","uservaultequity","uservirtualtraderposition","uservotes","uservoteweight","userwallet","userweight","userwethshare","userwithdraw","userwsteth","usespotprice","usesyoraclerate","usevalue1","usevalue2","usewhitelistswith","usg","ush","usingpermit2","usm","usm2a7fff","usmeffectivesupply","usmsupply","usp","usr","usr003","usr010","usrrwdindexq128","ussd","ussdout","usst","usual","usualmoneyexp","usuals","usualsp","usui","ususde","usx","utb","utc","util","utilis","utilisationratio","utilizationheap","utilizationrate","utilmath","utoken","utokenproportions","utopia","utopiaexp","utopiasphere","utterli","utxo","uuid","uup","uupsownableproxied","uupsupgradeable","uupsupgradeableinit","uusdt","uv3","uv3p","uwbtc","uwerx","uwerxexp","uweth","uwu","uwulend","uwuoracle","ux","uxrp","uxsd","uzd","uzdcrvfraxpool","v0","v00","v00marketplace","v1","v10","v11","v12","v13","v1address","v1in","v1storage","v1to","v2","v2address","v2amount","v2boo","v2cb","v2migrator","v2out","v2pair","v2pairs","v2router","v3","v3amo","v3fee","v3migrator","v3pair","v3pool","v3pools","v3positionvaluator","v3router","v3swap","v3swapexactin","v3tokenid","v3twaputils","v3utils","v4","v4finalinitialized","v4price","v5","v6","v7","v8","v8888","v9","va","vaa","vacat","vacuou","vacuous","vacuum","vader","vaderin","vadermath","vaderperusdv","vaderpoolv2","vaderrouterv2","val","vala","valb","valid","validafter","validateaddsessionproof","validateandprepareliquidation","validateapproval","validateartcreationsignature","validateassetidisnotvirtual","validateauthorization","validatebatchcall","validateborrow","validateborrowafter","validatebridgedata","validatecallback","validatecommitment","validatecontractcallandmint","validateconversion","validatedata","validatedeposit","validateexternaltrades","validatefeeactualization","validatehandler","validatehfandltv","validatehook","validatekey","validatelien","validatelistlength","validatemarginrequirement","validatemerkleroots","validatemessage","validatenonce","validateoffer","validateorder","validateowner","validatepairing","validatepaymasteruserop","validatepool","validatepoolbypid","validatepooltokens","validatepoolv3tokens","validatepostconditions","validatepreconditions","validateprotection","validatereference","validateriskparams","validaterounddata","validatesaleorder","validatesellersignature","validatesessionkeyparams","validateshieldsignatureunpacked","validatesignature","validatesigoffchain","validatesinglecall","validatesnapshotproof","validatesnapshotproofs","validatesupply","validateswap","validatetokendata","validatetolength","validatetransfer","validateunitshares","validateupgrade","validateuserop","validatewithdrawalcredentials","validationdata","validationdatafrompolicy","validationfailed","validationid","validationlogic","validatorcapacity","validatorcount","validatordata","validatordetails","validatorfieldsproof","validatorid","validatorindex","validatorindexes","validatorinitialized","validatormanager","validatorminstakedrequired","validatorof","validatorpoolrewards","validatorproof","validatorpubkey","validatorpubkeyhash","validatorpubkeyhashtodetails","validatorreactivated","validatorrebalancerequests","validatorscore","validatorstatus","validatorswithpendingrebalance","validfactories","validfromtimestamp","validitybond","validli","validlisting","validlockperiods","validmanager","validproof","validreferrer","validrtokens","validset","validsignaturescount","validsignercount","validuntil","valinor","valist","valkyri","valkyriehooklet","vallarok","valu","valuabl","valuat","value0","value1","value2","value_","valuebefore","valuedefiexp","valuedeposited","valuefacet","valueforgateway","valueforrouter","valuein","valueinbnb","valueineur","valueinineur","valueinusd","valueless","valuelong","valueof","valueofasset","valueorid","valueoutineur","valueowed","valuepreservationbyremovelp","valueprovider","valuer","valueshort","valuestaked","valuetoken","valuetoken0","valuetoken1","valuetomove","valueu","valueusd0","valueusd1","valv","vanilla","vanish","vaniti","vapor","var","vari","variabl","variabledebttoken","variabledebttokenaddress","variabledebtwavax","varianc","variant","variat","variou","vast","vastli","vat","vath","vatstorage","vault","vault015f7e","vault4626","vaulta","vaultaamount","vaultadapter","vaultaddress","vaultaddresses","vaultamounts","vaultassetclass","vaultauth","vaultauthtypehash","vaultb","vaultbalance","vaultbamount","vaultbasketbalance","vaultborrowingpower","vaultbpt","vaultconfiglib","vaultcontract","vaultcontroller","vaultcore","vaultcountof","vaultdata","vaulte4626","vaulte90571","vaultefiloss","vaultependle","vaultequity","vaultequityprecompileaddress","vaultescrow","vaulteth","vaultethv2","vaultfactory","vaultfees","vaultfliptoflip","vaultid","vaultids","vaultin","vaultinandcall","vaultinstance","vaultisopen","vaultka","vaultlicenser","vaultmanagementaction","vaultmanagerv1","vaultmanagerv2","vaultmanagerv5","vaultmath","vaultmathlib","vaultminter","vaultnft","vaultnonasset","vaultnonassetquoted","vaultnumber","vaultof","vaultout","vaultowner","vaultowners","vaultparameters","vaultparams","vaultproxy","vaultreentrancylib","vaultrelayer","vaultrouter","vaultshare","vaultshares","vaultsmaxwithdraw","vaultstage","vaultstake","vaultstate","vaultstates","vaultstoexercisefrom","vaultstorage","vaultstore","vaultswaps","vaulttbtc","vaulttemp","vaulttoexercisefrom","vaulttokenized","vaulttotalwsteth","vaultuser","vaultv2","vaultv3","vaultvaluexsharedecimals","vaultversion","vaultwithdraw","vaultyusdt","vb","vbase","vbaseamounttosettle","vbep20","vbnb","vbot","vbprod","vbprodfinal","vbsum","vbsumfinal","vbtc","vbtcb","vbusd","vcake","vcash","vch","vd","vdebtusdc","vdebtweth","vdebtwsteth","vdstoken","vdtoken","vdwbtcusdclp","ve","vealcx","vector","vecvx","veda","veforat","vehicl","vekitten","velo","veloc","velockid","velocor","velocoreexecute","velocoreexp","velodrom","vemax","vemul","vend","vendor","vendorcut","vendorcutpercentage","vendorinfo","vendorregistered","vendorregistration","venft","venfts","venu","venusvtheborrowbehalfruntime","vepeg","vepoch","veraac","veraactoken","verb","verbatim","verbos","verbstoken","verdict","verichain","verif","verifi","verificationgaslimit","verificationkey","verificationkeys","verifier_","verifierproxy","verifyandprocesswithdrawals","verifyblock","verifycallback","verifycallprivate","verifycloseanytime","verifycollectionaddress","verifyctreasury","verifydoublesigning","verifyeip712","verifyentitled","verifyheaderandexecutetx","verifyingcontract","verifyinstanceandgetemissionsamount","verifyinternal","verifyliquidationsig","verifymarketdirection","verifyoracleproofv2","verifyorder","verifypairupnl","verifypartyaupnl","verifypersonalsign","verifypool","verifyproof","verifyproofandupdatestate","verifyproofdatawithcache","verifypublisher","verifyreport","verifyreportifnecessary","verifyrequestaddresses","verifysig","verifysignature","verifysingle","verifytransactions","verifytssandgateway","versa","version","versionlist","versu","vertex","vertic","veru","verusconstants","verusobjects","verusproof","verusproofaddress","verwa","veryfastrouter","vest","vestdao","vestedamount","vestedbalance","vestedshare","vestedstaking","vester","vestid","vestig","vestingamount","vestingamountsofar","vestingduration","vestingend","vestingescrow","vestingescrowvuln","vestingid","vestinginterest","vestingmanager","vestingperiod","vestingschedule","vestingschedules","vestingstart","vestingtiers","vestingtime","vestingwallet","vestingwallets","vesupply","vet","vetenet","veth","vethtotalsupply","veto","vetoken","vetokenid","vevote","veyape","vg","vghst","vgusdc","viair","vibe","vibeerc721","vibetreasury","vic","vicallowance","vicbalance","vice","vicitm","victim","victim1","victim2","victim_","victima","victimabefore","victimaccount","victimaddress2","victimafter","victimallowance","victimautomationreconstructed","victimb","victimbal","victimbalance","victimbalanceafter","victimbalancebefore","victimbalancedrainer","victimbbefore","victimbefore","victimbnbafter","victimbnbbefore","victimburned","victimcallbackpayload","victimdeposit","victimdsa","victimi","victimibusd","victimid","victimimplementation","victimloss","victimorprotocoldestination","victimpair","victimproxy","victimresolver","victimsafe","victimsassets","victimshares","victimsuppliedmin","victimswaphop","victimswapkey","victimtoken","victimwallet","victimwethbal","victimwethpayment","victor","victori","vid","video","view","viewabl","viewdeposit","viewingkeys","viewstakerewards","vii","villag","vin","vinci","vini","vinu","vinuexp","violat","vip","viptime","viral","virtual","virtualaccount","virtualassets","virtualbalanceprod","virtualbalanceprodfinal","virtualbalances","virtualbalancesum","virtualbalancesumfinal","virtualcash","virtualid","virtualpersona","virtualprice","virtualshares","virtualsupply","virtualtoken","virtualtokenid","virtualtraderposition","virtualunderlyingbalance","visibl","visit","visor","visorexp","visr","visrbalance","visrdeposit","vist","vista","vistafinance","vitalik","vix","vk","vl","vlcollateralbalanceis0","vlcollateralcannotcovernewborrow","vlcollateralsameasborrowingcurrency","vldepositalreadyinuse","vlfi","vlfi8","vlink","vlp","vltransfernotallowed","vlts3","vm","vma","voce","void","voidedpayouts","vol","volatil","volatilev1","volatilev2","volt","volum","volumebefore","volumezchf","voluntari","vortex","vote","vote_","voteandclaim","votecast","votecounter","votedslope","voteextraordinary","voteforgaugeweights","voteid","votelock","votemagnitudeno","votemagnitudeyes","voter","voteractivestake","voteraddr","voterstake","voterstate","votescast","votesupgradeable","voteuserpower","voteuserslopes","votewithreason","votingadaptor","votingdelay","votingescrow","votingmode","votingperiod","votingpower","votingpowerallocatedbydelegatee","votingpowercurveafactor","votingpowerforproposalexecution","votingquorumpercent","votingreward","votingrule","votingstate","votingtoken","voucher","vovo","vow","vowamount","vowbalance","vowcontract","vowexp","vowtoken","vowtolock","vowvsc","vp","vprice","vquote","vquotebalancex18","vr","vra","vrf","vrfrequestpayload","vrsc","vrug","vs","vsafe","vsafevaultbase","vsafevaultwbnb","vsafewbnb","vsc","vscamount","vsctoken","vsctokenmanager","vswap","vswappaths","vswaprouteraddress","vswapswaptoken","vt","vtf","vtfexp","vthe","vtoken","vtokenbalance","vtokenborrowed","vtokencollateral","vtokenfromerc20","vtokens","vtswaphook","vtswaphookexploit","vtswaphookhelper","vtvl","vul","vuln","vuln2","vulncontract","vulncontractname","vulner","vulnerablecontract","vulnerablemoved","vulnerablerebalancer","vulnerableswapper","vulnfunctionsignature","vult","vultisig","vun","vunbalance","vusd","vusdbalance","vusdc","vusdfiattoken","vusdm","vusdnewamount","vusdt","vusdtoken","vv","vvisr","vvisr3a84ad","vvma","vvvv","vvvvv","vwap","vwbnb","vweth","vwstethcrvgaug","vyper","vyper1","vyper2","vyperamount","vypercontract","vypercontract1","vypercontract2","vypercontract4b5bfd","w5","w6","wad","wad18","waddiv","wadmuldown","wadmulup","wadraymath","wads","wadtoray","wager","wai","wait","waitnotover","waitrelease","waiv","waiver","wake","wakesleeper","wal","walbt","wale","walecoin","walecoinattack","walecoinexp","walk","walker","walkerlib","walkthrough","wall","wallet","walletaddress","walletfrozen","walletinitcode","walletlibrary","walletmismatch","walletowner","wallettokenbalance","wallettotokens","walletts","want","want0","wantaddress","wantamt","wantedasset","wantedtoken","wantharvested","wantlockedtotal","wanttoken","war","warchest","warden","warm","warmpath","warmrange","warmup","warmupperiod","warn","warner","warp","warrant","wasactiveat","wash","washtrading","wasn","wast","watch","watcher","water","watermark","wault","waultfinanceexp","waultswap","waultswapcall","waurapools","wavax","wave","wbarl","wbn","wbnb","wbnbaddr","wbnbaddress","wbnbafter","wbnbalpaca","wbnbamount","wbnbbefore","wbnbbusd","wbnbbusdpair","wbnbbusdt","wbnbdown","wbnbout","wbnbpair","wbnbreserve","wbnbthoreumlp","wbnbtobabydogeinpancake","wbnbtobusd","wbnbtobusdt","wbnbtoken","wbnbtokenlpaddress","wbnbtoole","wbnbtostarlink","wbnbusdtpair","wbtc","wbtcbal","wbtcperlock","wbtcswapplp","wbtctoweth","wcre","wcres","wcro","wd","wdia","wdiv","wdoge","wdogeout","wdogewbnb","weak","weaken","weaker","weakest","wealth","weapon","weaponis","weaponiz","weaponshardchance","weaponshardtable","wear","wearer","web","web3","webkei","webkeyprosales","weco","wecobalanceafterseconddeposit","wecobalancebeforeseconddeposit","wecoexp","wecoin","wecostaking","wecostakingbalance","week","weekli","weeklyemission","weekslocked","weeth","wei","weiamount","weibought","weight","weight0","weight_","weighta","weightb","weightc","weightd","weightedbalancerlporacle","weightedfactor","weightedindex","weightedmath","weightedpool","weightedpoolfixed","weightedrate","weightlist","weightprecision","weights_","weiperasset","weipercentprecision","weipershare","weiprecision","weirol","weirollmarket","well","well1","well1clone","well2","well2clone","wellfunction","wellimplementation","wellupgradeable","went","werc721","werc7575","werc7575vault","weren","werx","wet","wetc","wetctokenexp","weth","weth20","weth9","weth9addr","wethaddress","wethafter","wethamount","wethamountin","wethamountout","wethbackedtokenid","wethbal","wethdeposit","wethe","wethfee","wethgained","wethght","wethleft","wethout","wethpool","wethpriceusd","wethprofit","wethreceived","wethreceivedafterunstaking","wethreserve","wethreservetokenid","wethsilo","wethusd","wethusdc","wethusdclp","wethusdcpool","wethusdcpool3","wethvalue","wethwithdraw","weweeth","wex","wexamount","wexbalance","wexpermille","wextransferamount","wf","wflow","wftm","wftmreserve","wftmspookytokenv3pool","wgooglx","wgpt","wgptexp","whale","whalebit","whalebitoraclemanipulationexp","whaleexp","whalehashrate","whalethreshold","whash","whatev","whatsoev","whbar","wheel","whelist","whendeposited","whenev","whenliquidationnotpaused","whennotlocked","whennotpaused","whenoperational","whenvotingadaptorisset","wherea","whereismydragon","whereismydragontreasure","whereismydragontreasureexp","wherev","whether","whichev","white","whiteaddress","whitehat","whitelist","whitelisteddex","whitelisteddexes","whitelistedhandler","whitelistedmastercontracts","whitelistedtokens","whitelistenabled","whitelistfacet","whitelistindex","whitelistmint","whitelistmode","whiteliststorage","whitelisttime","whitemap","whitespac","whoever","whole","wholereef","wholesal","whose","whype","wich","wide","widen","wider","width","widthdraw","wif","wifcoin","wifstaking","wild","wildcard","wildli","will","willfallback","willing","willingli","willuptick","win","wind","windfal","windhustl","window","windowclosed","windowsize","windowstillopen","winner","winnersalreadyrecorded","winr","wintermut","wipe","wire","wise","wisecore","wiselending","wiselending03exp","wiselending37e49b","wiser","wisesal","wisesecurity","wish","wit","witch","witdraw","withamount","withchainlink","withd","withdr","withdral","withdraw","withdraw1","withdraw2","withdrawableamount","withdrawablebalance","withdrawabledividend","withdrawabledividendof","withdrawablesecondary","withdrawabletotallps","withdrawaccountbalance","withdrawaddress","withdrawaddresslock","withdrawadmin","withdrawadminfees","withdrawairdroptokens","withdrawala","withdrawaladdress","withdrawalamount","withdrawalamountafterfees","withdrawalamountinequil","withdrawalb","withdrawalbynonowner","withdrawalcredentialsaddress","withdrawaldata","withdrawalfee","withdrawalid","withdrawall","withdrawallockupperiod","withdrawallwbtc","withdrawalnetwork","withdrawalprocessed","withdrawalprocessingcurrentindex","withdrawalqueue","withdrawalqueueeth","withdrawalrequest","withdrawalrequestforuser","withdrawalrequesthash","withdrawalrequests","withdrawalrequestsbyuser","withdrawalrequestslength","withdrawalrequeststatus","withdrawalsalreadyqueuedforepoch","withdrawalsnotongoing","withdrawalsnotqueuedforepoch","withdrawalstarttime","withdrawalstatus","withdrawaltimestamp","withdrawaltoken","withdrawaltokens","withdrawaltype","withdrawalwindow","withdrawamount","withdrawamountraw","withdrawandclaim","withdrawandremoveliquidity","withdrawandstoreerc721","withdrawandunwrap","withdrawapecoin","withdrawarequest","withdrawassets","withdrawbeaconchaineth","withdrawcoll","withdrawcollateral","withdrawdata","withdrawdividendofuser","withdrawerc20","withdrawerc20for","withdrawerc721","withdrawerindex","withdraweth","withdrawethforknot","withdrawethfrom","withdrawexactamount","withdrawexactshares","withdrawexcessrewards","withdrawexpiredlocks","withdrawfee","withdrawfees","withdrawfeeseth","withdrawfiat","withdrawfinal","withdrawfor","withdrawforfeit","withdrawfrom","withdrawfroml1vault","withdrawfromotherasset","withdrawfrompreviousrewardpool","withdrawfromprotocol","withdrawfromvalidator","withdrawfromvault","withdrawfunds","withdrawg16verifier","withdrawg16verifierc04386","withdrawgout","withdrawgovernanceasset","withdrawid","withdrawinfo","withdrawingweth","withdrawinternal","withdrawinvestment","withdrawkerosene","withdrawless","withdrawliquidity","withdrawliquiditytraderjoev2","withdrawlisting","withdrawlock","withdrawlocked","withdrawlp","withdrawmarket","withdrawmoney","withdrawmultiple","withdrawn","withdrawnamount","withdrawndividends","withdrawnfromstrategy","withdrawnft","withdrawnftsto","withdrawnlength","withdrawnpershare","withdrawnprofitpershare","withdrawnrewards","withdrawnshares","withdrawnunderlying","withdrawonecoini","withdrawonecoinu","withdrawplazz","withdrawplx","withdrawpoolamount","withdrawqueue","withdrawrefund","withdrawremaining","withdrawreserves","withdrawreturnamountbyreferral","withdrawrevenue","withdrawreward","withdrawrewardfactory","withdrawrewards","withdrawservicefees","withdrawshares","withdrawsimple","withdrawspore","withdrawsstatus","withdrawstart","withdrawstep","withdrawteam","withdrawto","withdrawtochain","withdrawtoken","withdrawtokens","withdrawtokenswithalt","withdrawtokenvalue","withdrawtomanager","withdrawtonativechain","withdrawtoolarge","withdrawtosecondaryreserve","withdrawuser","withdrawuserwhonotoptedforliq","withdrawvalidator","withdrawvalidatorpoolrewards","withdrawvalue","withdrawweth","withdrawwithfee","withdrawwithouthedge","withdrawyield","withdrew","withheld","withhold","withholdeth","withhook","within","withinnetexposurecaponliquidation","without","withoutcheck","withoutkeeperglobal","withoutkeeperlocal","withpermit","withregistry","withrevert","withupdate","wkei","wkeydao","wl","wladdress","wlf","wlist","wlnft","wlp","wlps","wlt","wmatic","wmatichopepairswap","wmaticstmatic","wmrp","wmstrx","wmul","wn","wnative","wnativerelayer","wnb","wnt","wnvdax","wnxm","wo","wobbl","wod","woeth","wofeasible","woke","wombat","won","wonderland","woo","woof","woofi","wool","woopp","wooppv2","wooracl","woprice","wopriceinbound","word","work","workaround","worker","workerderegistered","workerid","workerids","workerregistration","workerrewards","workersunion","workhelper","world","wormhol","wors","worsen","worst","worth","worthless","worthwhil","wouldn","wound","woundedagentid","woundedagentids","woundedagentidscount","woundedagentidsinround","woundedat","wout","wpricingratio","wqqqx","wr","wrap","wrapandcreatewithdurations","wraparound","wrapeth","wrapnative","wrapnativetoken","wrappedads","wrappedallowed","wrappedbalance","wrappedeth","wrappedindex","wrappednative","wrappedtoken","wrappedtokenaddr","wrappedtokenswapperimpl","wrapper","wrapperaavetoken","wrapperaddress","wrapperoracle","wrapperpercentage","wrapperrole","wrapsto","wrapto","wreck","wring","writabl","write","writeabl","writeburnedbalance","writecheckpoint","writegaugeweight","writeinstance","writeoff","writer","writestorage","writesupplycheckpoint","writetokenbalance","writeup","writevotingcheckpoint","written","wrong","wrongamounteth","wrongbalanceafterswap","wrongethamount","wronginteractiontargetselector","wrongli","wrote","wrseth","wshido","wsm","wsol","wspyx","wst","wsteth","wstethamount","wstethcrv","wstethcrvgaug","wstethreserve","wstethtoweth","wstethusd","wstethweth","wstusd","wstusr","wswap","wswaprouter","wta","wtao","wto","wtoaddress","wtoamount","wtoken","wtorewardtime","wtotokenid","wtslax","wtype","wui","wukong","wusd","wusdm","wusdm848cd7","wusdmaster","wusdr","wusdrusdc","www","wx","wxbtrfly","wxc","wxctokenexp","wxdai","wxeta","wxetadiamond","wxetastorag","wysiwi","x0","x01","x100","x128","x18","x19","x192","x19ethereum","x1e2","x30","x319","x319exp","x43","x5","x64","x7","x7pioneer","x96","xa422","xai","xaiexp","xamount","xat","xave","xboi","xborpaamount","xborpabalances","xbp","xbptoken","xbridge","xbt","xcall","xcarnival","xcfees","xchf","xcn","xcommun","xcp","xdai","xdao","xdc6eaaa9","xdk","xdkinblackholelp","xdkrecycleexp","xdomainmessagesender","xe","xeqb","xera","xerc20","xerc20lockbox","xeta","xez","xezeth","xfee","xfer","xfraxtemplelp","xftm","xftmout","xgirl","xgorplestoken","xh","xidr","xintx","xloot","xlootstakingexp","xmax","xmint","xn00d","xne","xnft","xocolatl","xole","xor","xore","xp","xpress","xprovider","xptiers","xqj","xrate","xrd","xreceive","xrenzobridge","xrenzodeposit","xrp","xs","xsd","xsdaddress","xsdburned","xsdethpool","xsdstablecoin","xsdstablecoin39400e","xsdwet","xsdweth","xsdwethpool","xsdwethpooladdress","xsdwethpoolbfbcb8","xsdwethpoolexp","xsij","xst","xst2","xstabl","xstable2","xstexp2","xstock","xsupply","xsurg","xsushi","xswap","xthreshold","xtoken","xtoken2","xtokend08e24","xtokens","xtokensupply","xtokentotoken","xtokenwrapper","xtokenwrapper2b9dc6","xusd","xusdc","xv","xv2","xwin","xwindefi","xwinfarm","xwinrewards","xx","xxx","xxxexploit","xy","xyl","xyx192","xyz","y2","y3","y3crv","yai","yam","yank","yape","yapefactory","yapepair","yapeswap","yb","ybold","ybt","ybtbtcgauge","ybtokenexp","ycfees","ycrv","ycrvtounderlying","yd","ydai","ydaiyusdcyusdtytusd","ydt","ydtmaincontract","ydttoken","ye","yea","year","yearn","yearnydaiexp","yeed","yellow","yerc20","yesterdai","yeth","yethexp","yetneeded","yfi","ygg","yiedl","yield","yieldaccum","yieldaccumulator","yieldbasis","yieldbox","yieldcontrollto","yielddistributor","yieldearned","yieldeth","yieldfi","yieldphase","yieldsharing","yieldspace","yieldstrategy1","yieldstrategy2","yieldtoken","yieldtokensredeemed","yjl","yld","yodl","yodlrouter","yodlrouterexp","yodlwithtoken","yoink","younger","yourlp","yourshares","ypool","yr","ys","ys1","ys2","ysdao","yt","ytbal","ytminter","yto","ytoken","ytokenl2","ytokens","ytout","ytsupply","ytusd","ytv3","yuga","yul","yuli","yuliai","yusd","yusdc","yusde","yusdt","yusdtdepositusdtamount","yuzu","yuzuilp","yuzuissuer","yuzuusd","yv","yv3","yvault","yvcrv","yvcrv3cryptofeed","yvcurve","yvcurve3crypto","yvdai","yvlusd","yvweth","yx","yy","yycr","yycrv","yyd","yydsaddress","yydsamount","yydsexp","yydsincontract","yydsinpair","yydsinpairhuman","yyscoin","yysexp","yzi","yziai","yzilabs","z0","z1","z123","z2","za","zabu","zabuexp","zabuperblock","zabureward","zach","zachxbt","zap","zapassetstobunnybnb","zapcall","zapdata","zapin","zapintoken","zapnativeforlp","zappedin","zapper","zaprouter","zaptobmi","zapweth","zar","zaro","zc","zchf","zct","zctusd","zeal","zealou","zed","zeed","zeedexp","zeedreward","zeedyeedpair","zen","zenmph","zeno","zenterest","zenterestexp","zenterestpricefeed","zentra","zenwhite","zeppelin","zerem","zero","zero2","zeroabl","zeroaddr","zeroaddress","zeroamount","zeroassets","zeroborrowerrepurchaseobligation","zerobytes","zeroclaims","zerocosttrade","zerodivision","zeroentry","zeroforone","zeroforonemask","zerolend","zerolocker","zerooffset","zeroout","zerorelay","zeroshares","zerosharesassigned","zerotoone","zerotransferamount","zerovalue","zeroxexchangeproxy","zeroxstargatelpswapper","zeta","zetachain","zeth","zethyieldrate","zeu","zf","zi","zid","zidandaffiliate","zip","zk","zkassetbase","zkassetbasefixed","zkevm","zkimagine","zklink","zkp","zkpanther","zkpay","zksync","zl","zlrewardscontroller","zodiac","zokyo","zombi","zone","zong","zongzi","zongziholder","zongzitoholder","zoo","zookeeper","zoom","zoomer","zoomercoin","zoomerexp","zoomin","zoompro","zoomprofinanceexp","zrc20","zro","zrx","zs","zsbusdt","zsexp","zt","ztokenamountin","ztokens","zunami","zunamiexp","zusdc","zx","zxi","zyber","zzf","zzsh"],"df":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,77,1,36,1,1,2,1,1,4,1,1,1,1,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,6,1,6,1,1,2,1,3,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,116,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,44,7,16,3,1,4,1,2,1,2,2,1,1,1,1,1,2,2,3,1,4,9,1,8,1,1,1,69,8,1,1,1,1,1,1,1,1,95,1,3,2,2,10,15,1,1,6,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,32,1,1,1,1,1,6,1,1,1,1,4,1,2,5,5,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,3,5,1,1,1,2,1,1,1,1,1,1,1,1,1,2,3,3,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,1,1,1,1,1,1,2,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,3,1,3,1,4,1,7,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,21,1,1,2,1,1,1,1,3,10,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,3,1,1,2,1,3,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,3,3,1,2,1,1,1,2,1,1,3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,15,1,1,1,1,1,1,1,1,1,22,1,1,1,11,1,1,5,1,1,14,21,10,39,13,11,18,13,7,324,1,4,2,7,4,5,6,15,5,13,23,6,6,6,13,6,3,7,1,17,2,1,8,2,1,1,1,5,1,2,55,1,3,1,1,41,46,1,2,1,1,1,1,1,1,4,14,7,1,1,2,6,1,4,3,1,3,3,2,1,1,1,1,1,1,4,15,1,2,1,1,1,21,16,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,10,3,1,3,3,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,3,1,1,7,4,1,1,1,1,1,2,1,1,1,1,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,7,1,1,1,3,2,3,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,32,1,1,1,1,1,1,32,1,1,1,1,1,1,1,13,1,3,1,1,1,1,1,1,1,10,6,1,2,1,2,1,4,3,4,2,44,3,2,2,4,1,1,1,6,4,1,1,1,1,1,3,7,3,1,4,1,1,1,1,6,13,2,1,14,1,1,1,1,1,1,1,5,1,1,1,1,11,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,4,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,3,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,49,1,1,1,1,1,42,1,1,1,1,1,1,30,1,1,1,8,2,17,1,1,1,1,1,1,1,9,1,3,1,3,1,2,1,2,1,14,1,2,2,1,2,1,1,2,1,1,1,1,4,1,1,4,1,1,1,1,1,2,1,1,2,6,11,2,1,2,1,9,1,3,2,1,1,1,1,3,1,2,2,5,6,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,1,1,1,1,1,1,1,1,1,1,1,3,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,22,1,1,1,1,1,1,1,1,23,1,3,11,1,1,5,1,1,1,1,1,1,1,7,2,1,1,1,1,2,7,3,3,2,2,2,1,1,1,1,1,2,2,1,1,2,4,1,4,4,1,1,1,1,1,1,1,1,6,1,1,1,1,4,4,3,1,1,1,1,3,1,1,30,5,10,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,15,1,1,1,1,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,16,1,1,1,1,1,1,1,13,1,1,1,1,7,1,3,1,1,6,1,3,4,1,8,1,4,43,2,1,5,2,3,2,3,2,1,1,1,1,1,1,3,1,2,1,7,1,1,1,1,1,1,1,2,14,3,10,1,4,1,1,1,1,1,1,1,3,1,3,1,1,1,1,1,2,1,2,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,3,1,1,1,1,1,9,1,1,1,1,7,1,1,1,1,5,1,1,1,1,1,1,5,1,1,1,1,4,2,1,1,1,1,1,1,1,7,1,2,1,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,12,2,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,2,1,1,4,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,2,1,1,1,1,2,1,1,3,1,1,3,2,1,8,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,2,3,7,2,1,1,17,2,2,1,2,1,1,1,1,1,2,1,1,2,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,2,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,2,1,2,1,1,1,14,1,1,1,2,1,3,1,1,1,1,1,1,1,1,1,2,4,1,1,1,1,1,2,7,4,1,1,1,6,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,1,1,1,1,2,2,1,1,1,1,7,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,2,12,1,1,2,1,1,1,1,2,1,4,1,1,1,1,6,1,1,2,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,17,2,1,4,1,1,8,10,1,2,4,1,3,1,20,1,149,1,1,2,4,2,1,31,1,1,2,1,1,1,1,14,1,1,1,2,1,1,1,1,1,1,95,1,1,1,1,3,1,1,1,1,1,1,1,3,1,9,1,2,2,1,1,3,115,1,1,1,1,2,2,2,1,1,1,1,3,1,6,2,1,1,1,5,2,1,3,1,2,1,3,1,1,1,1,4,2,1,1,2,22,1,2,1,2,1,8,1,1,1,10,2,1,3,1,2,21,1,1,1,4,7,2,6,1,1,1,2,1,1,3,2,1,1,1,3,1,1,1,2,3,1,6,1,2,1,3,1,1,1,4,1,10,1,1,1,1,1,2,1,1,1,42,1,9,1,2,1,2,1,1,3,3,1,1,1,3,1,7,1,1,1,1,6,1,1,2,10,1,1,1,1,2,1,1,1,1,1,2,2,1,1,2,1,5,1,3,1,1,4,9,2,1,1,1,1,2,1,1,1,1,1,1,2,1,2,4,1,2,1,1,6,100,1,1,3,2,1,1,1,1,3,1,7,1,2,1,1,1,1,4,1,1,1,3,4,1,24,1,2,4,5,1,1,1,4,1,3,1,1,1,5,4,9,1,1,1,1,22,1,1,1,2,13,2,2,1,1,1,2,1,1,1,1,1,1,5,1,1,4,1,1,2,4,1,1,21,17,2,6,5,3,3,3,1,1,1,1,1,1,1,1,3,1,1,5,3,28,28,3,3,1,4,1,3,3,2,1,1,6,2,1,5,1,1,2,1,1,1,1,1,1,3,1,8,6,1,3,1,21,1,1,7,2,3,2,1,1,1,2,2,2,1,1,3,1,9,4,3,4,2,1,1,1,1,1,4,5,1,21,1,1,1,1,1,3,4,4,1,1,1,1,1,1,4,1,1,1,61,56,42,39,1,3,1,1,1,168,2,1,1,1,1,1,4,4,1,2,86,1,1,1,3,25,3,5,31,1,1,5,1,1,1,8,1,2,2,5,2,3,37,1,1,4,1,1,2,1,1,10,4,1,1,1,1,1,1,1,12,1,1,1,1,2,10,1,1,1,1,7,1,1,1,1,4,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,2,1,1,1,1,3,1,2,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,2,113,1,1,1,1,2,1,3,1,3,1,2,1,1,5,1,19,1,1,1,1,1,4,13,1,1,1,1,1,1,1,1,1,253,2,78,126,1,9,2,1,1,14,1,1,2,6,2,1,1,1,14,36,45,75,1,1,1,1,1,16,1,1,1,20,10,1,76,9,1,1,1,1,1,1,1,33,1,1,5,468,1,1,2,1,1,1,1,1,1,1,1,1,2,2,3,1,1,1,722,15,1,1,3,1,1,1,1,3,13,1,1,1,3,1,4,13,1241,2,1,1,4,1,1,1,1,1,1,1,2,1,6,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,8,2,1,2,1,1,3,1,2,3,1,2,1,2,1,10,1,1,1,1,3,1,309,124,2,1,1,1,2,1,2,1,2,2,1,1,1,2,1,4,15,1,2,1,1,1,1,1,2,3,1,274,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,32,3,7,5,1,1,1,1,1,1,129,1,1,11,421,89,1,1,1,1,299,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,2,220,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,3,2,1,1,1,1,1,1,1,1,1,2,1,102,1,1,648,3,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,4,1,2,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,279,1,1,2,1,1,41,1,1,1,1,1,1,1,1,1,1,981,1,1,2,1,3,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,3,1,1,1,1,3,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,73,28,1,1,1,1,1,1,3,91,1,2,12,1,1,1,1,1,3,1,1,1,2,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1,111,3,1,1,1,1,1,1,1,1541,1,1,1,2,1,2,2,1,1,1,1,1,1,2,1,1,3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,1,1,1,2,1,1,1,1,1,1,2,3,1,1,1,4,3,6,1,95,1,1,2,2,1,1,1,1,1,1,1,3,2,1,1,1,2,2,1,1,1,1,225,1,1,1,1,2,20,1,1,3,1,2,1,1,6,47,1,1,1,121,1,1,6,1,1,1,39,11,1,1,1,3,3,2,1,1,1,1,1,1,1,1,3,5,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,65,1,9,1,2,1,1,1,1,1,1,1,1,2,5,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,5,1,12,1,1,1,1,76,1,26,2,2,20,1,1,4,1,1,1,1,1,1,1,1,5,2,130,1,1,1,1,1,1,1,2,1,2,2,1,3,3,1,1,8,13,20,7,1,1,25,15,3,1,1,1,1,1,14,59,1,1,1,33,1,2,4,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,6,1,1,3,2,19,13,1,1,43,1,12,1,1,1,2,1,1,1,1,3,8,16,76,1,1,1,1,14,5,10,1,1,1,1,1,1,1,1,1,1,3,1,1,2,1,1,2,1,1,1,1,1,87,1,2,1,1,2,1,6,1,4,1,3,658,1,1,1,1,2,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,95,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,142,191,26,16,3,3,1,1,1,1,12,1,1,1,1,1,1,1,1,1,922,1,1,2,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,6,1,7,1,21,1,1,6,1,1,4,1,1,1,305,1,42,1,1,1,8,1,4,1,4,1,1,1,1,1,402,1,1,1,1,2,3,13,1,1,28,1,8,2,1,3,7,2,1635,183,2,19,2,54,1,1,1,4,76,2,2,1,2,166,2,17,2,46,1,1,1,1,4,65,3,2,1,2,5,1,12,4,1,1,2,5,1,3,1,1,6,1,1,4,1,7,4,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,4,1,1,1,1,1,1,1,1,1,3,1,1,1,1,2,1,2,1,1,1,1,1,119,1,2,1,4,3,1,3,1,1,1,1,1,1,1,7,3,1,1,5,2,1,1,6,1,1,1,2,1,2,1,1,1,1,1,1,2,1,70,1,1,2,60,16,2,2,1,1,1,2,1,1,1,1,1,1,10,2,1,2,1,1,1,1,6,1,2,1,1,1,1,1,1,2,1,4,2,13,1,7,2,2,1,1,2,1,1,1,7,1,1,1,1,1,1,2,1,1,6,1,1,2,1,2,2,1,1,1,1,1,1,1,2,3,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,3,1,1,1,2,1,1,1,1,1,1,2,6,3,1,7,1,1,22,93,1,1,1,1,51,1,1,1,1,1,2,1,1,2,1,1,1,6,1,13,1,4,1,1,77,1,1,1,1,5,3,1,1,1,1,1,3,1,1,1,1,2,1,1,1,2,36,1,2,2,4,1,17,16,3,266,1,66,7,1,1,53,4,1,2,1,22,6,1,1,2,2,2,1,2,5,1,1,1,2,1,712,4,3,2,3,1,3,1,3,1,1,113,9,3,1,2,1,1,1,39,1,44,1,1,15,18,1,1,1,1,1,1,4,2,1,1,1,1,1,2,1,1,3,19,2,1,1,1,2,1,1,1,1,1,22,8,64,29,1,1,339,14,1,1,1,1,1,1,4,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,4,13,7,612,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,5,1,1,33,1,1,82,1,1,22,3,5,1,2,1,1,1,1,1,1,1,1,1,3,19,3,1,2,66,4,471,74,2,2,1,2,1,1,1,21,1,1,2,1,1,13,8,1,1,2,1,4,2,1,42,9,6,5,5,5,3,1,1,1,1,1,1,1,190,1,2,1,1,1,272,8,1,1,4,2,46,3,1,1,6,2,1,93,1,1,124,2,1,1,19,1,1,91,9,1,1,1,2,2,1,1,8,32,3,1,1,1,1,3,1,3,1,2,2,1,1,1,1,16,170,1,1,1,2,1,1,88,1,415,1,8,5,1,37,1,1,42,1,5,1,2,1,652,1,1,1,4,6,1,2,1,1,1,2,1,2,2,1,1,2,2,1,1,9,1,1,4,1,1,1,1,1,2,1,1,1,2,1,1,1,2,3,1,1,1,7,1,3,1,1,1,1,1,1,2,1,1,1,1,3,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,2,3,2,1,2,2,1,1,3,2,1,109,3,1,1,1,2,1,1,197,124,3,1,1,1,1,1,7,41,1,1,1,1,1,60,46,1,6,3,3,1,1,2,1,1,8,1,1,1,1,1,5,1,2,1,2,1,1,1,26,9,1,11,232,1,1,1,1,1,1,1,1,7,1,1,30,1,1,1418,1,1,31,2,5,1,1,1,2,2,1,1,2,19,1,4,1,1,1,1,19,1,1,1,1,1,7,1,1,2,2,1,1,1,1,1,2,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,6,57,1,22,1,1,1,1,1,1,1,1,35,36,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,393,1,15,77,3,1,1,4,2,4,1,5,2,1,2,1,4,1,1,1,1,1,3,1,1,4,1,5,1,2,447,2,105,1,1,1,363,27,21,1,1,1,1,1,3,1,1,1,6,1,1,2,2,108,1,1,1,1,1,4,1,1,1,2,1,42,33,1,8,2,1,1,4,10,6,1,2,2,1,1,2,1,1,1,4,1,1,1,165,3,2,1,2,3,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,11,2,3,10,1,1,1,1,1,34,1,1,1,1,8,1,1,1,1,1,94,1,1,313,2,1,55,9,1,1,3,1,2,3,2,2,1,1,1,1,2,2,1,5,1,1,2,1,1,1,1,4,1,1,1,2,1,1,12,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,6,1,1,1,1,5,1,1,1,1,1,3,8,1,1,1,1,1,1,1,5,1,1,7,1,21,1,1,1,1,3,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,2,1,1,6,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,942,3,20,1,1,8,2,1,2,1,1,1,1,7,1,1,19,1,19,1,14,1,1,107,1,1,4,1,2,1,2,1,1,1,1,9,1,1,17,1,1,5,29,1,1,107,4,3,1,1,1,1,1711,54,2,25,1,2,1,1,50,2,24,1,3,2,1,1,2,1,2,36,1,1,1,1,1,2,42,2,2,1,1,1,2,1,1,1,2,5,1,1,1,1,1,2,1,1,1,1,12,2,2,1,1,743,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,12,1,1,3,1,1,1,1,1,1,1,1,1,2,1,1,2,1,2,1,2,1,1,37,2,2,1,1,1,1,1,1,1,1,1,2,9,1,1,4,1,85,1,2,1,1,1,1,3,37,1,1,1,12,1,2,1,3,1,1,2,2,2,1,2,2,2,1,2,1,1,1,1,11,59,2,1,1,1,1,1,9,2,466,1,1,1,1,1,10,1,3,2,4,1,1,1,1,1,1,1,1,1,1,2,3,1,1,1,4,3,1,1,1,1,1,1,1,2,1,1,1,1,51,4,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,3,1,1,4,1,2,3,2,1,1,1,1,1,1,1,1,1,1,1,1,12,2,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,74,25,2,1,1,3,8,1,5,1,1,3,2,20,1,1,2,1,1,1,1,1,1,1,1,134,2,1,1,1,1,1,2,1,3,1,1,1,1,1,2,1,1,1,1,2,1,1,2,1,1,1,3,1,1,2,1,1,1,1,16,4,1,1,1,5,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,14,1,1,1,1,3,1,10,2,1,1,79,4,2,4,2,1,17,1,1,2,2,2,2,2,42,1,524,1,2,1,1,5,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,1,12,1,1,1,1,9,1,1,1,1,1,23,1,1,1,1,1,1,1,1,5,56,1,1,110,30,50,1,34,221,2,1,1,54,104,1,1,3,1,1,1,2,1,2,49,1,1,1,26,21,2,12,12,1,1,2,1,37,1,1,2,2,1,1,1,3,3,2,1,4,6,7,12,12,3,1,1,1,1,1,2,2,1,1,1,1,82,1,1,2,1,2,1,1,183,5,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,3,9,2,1,1,8,37,1,1,1,1,1,14,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,43,1,1,1,2,1,9,1,1,1,1,1,1,5,1,41,2,1,1,2,2,8,181,1,1,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,2,1,4,1,1,1,1,1,1,54,1,1,1,1,1,1,3,1,1,1,1,8,1,4,1,1,1,1,1,1,7,13,1,1,1,1,2,1,1,25,1,1,1,1,1,1,1,1,1,24,1,5,13,43,1,1,1,1,1,13,20,2,2,24,1,1,71,3,1,7,35,1102,1,1,1,1,1,2,1,1,1,3,1,2,5,1,1,3,1,1,5,1,2,1,1,5,1,1,2,1,1,4,1,1,4,1,1,2,20,2,1,1,1,1,1,1,1,1,1,1,1,25,15,1,1,7,2,1,3,1,1,1,1,1,1,1,1,5,6,3,2,2,163,1,1,1,3,1,1,2,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,5,65,2,1,1,1,1,1,3,1,1,1,86,10,1,3,5,1,7,2,2,1,2,14,5,52,1,1,1,2,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,56,10,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,3,1,189,1,2,1,95,1,1,1,1,1,489,33,1,18,1,2,4,1,1,49,1,1,5,1,1,1,15,1,1,1,641,1,1,1,2,1,1,12,1,28,1,1,1,1,1,1,2,1,12,1,1,4,1,4,1,1,1,1,1,5,3,1,1,3,7,2,1,1,4,4,1,1,3,1,1,1,5,1,1,1,1,1,3,1,1,4,1,1,1,2,1,11,1,1,1,2,1,2,1,2,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,10,4,1,1,1,50,1,2,1,1,2,9,1,1,1,186,1,1,3,545,100,1,11,34,112,1,1,6,1,2,1,1,1,4,1,18,2,1,1,2,1,1,1,1,1,1,1,1,2,9,1,1,1,1,1,2,3,327,1,65,1,1,1,5,1,259,3,72,2,1,19,2,62,131,1,2,1,1,2,1,1,2,2,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,2,11,21,2,2,12,7,14,17,342,1,1,1,1,1,1,1,1,9,2,1,3,5,102,1,1,13,2,2,1,1,1,1,1,1,1,1,1,1,1,1,5,2,36,1,1,1,1,1,1,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,5,33,1,1,1,1,1,61,1,1,1,45,1,1,1,1,1,2,1,718,1,92,1,501,119,17,1,1,1,1,1,1,1,78,42,1,75,27,4,4,1,1,2,1,7,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,612,1,1,14,1,2,6,1,36,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,1,1,1,5,1,1,3,1,1,19,1,1,1,2,2,1,1,1,2,1,4,1,1,1,2,1,2,2,1,1,1,1,2,1,3,2,1,2,2,1,7,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,3,7,1,1,1,1,3,1,1,1,1,1,1,1,5,18,86,3,1,1,1,1,1,1,31,1,1,1,1,1,1,1,1,1,1,2,1,20,1,1,1,1,9,6,1,1,1,1,11,2,1,1,1,1,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,106,1,1,1,1,1,1,4,1,1,3,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,3,1,1,1,19,1,1,1,1,2,8,1,2,1,1,1,2,1,1,1,1,1,1,1,3,1,1,2,1,1,1,3,1,1,1,1,1,208,366,59,1,1,1,8,1,1,156,1,46,1,1,2,2,7,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,9,1,1,1,1,1,1,1,1,1,1,2,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,3,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,3,2,1,1,1,131,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,12,1,1,1,1,26,1,8,1,2,6,1,56,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,3,1,1,1,1,3,1,1,1,564,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,4,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,4,1,1,4,5,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,3,1,1744,1,1,1,244,1,1,381,1,1,1,1,1,1,1,9,1,1,1,327,8,1,13,14,39,1006,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,3,1,2,1,1,1,1,1,2,1,1,2,1,1,1,56,5,1,1,1,2,36,1,2,3,1,1,1,1,1,2,1,1,73,1,1,1,1,1,1,1,1,1,1,1,1,2,1,6,2,1,2,1,1,1,2,1,2,1,1,4,1,4,11,1,4,1,1,1,1,1,2,911,1,1,1,1,1,1,1,1,163,1,1,1,1,1,1,1,2,1,1,3,4,5,1,3,6,2,2,1,3,1,1,1,649,24,21,1,1,770,2,1,1,1,1,1,1,1,1,1,150,1,5,1,2,15,9,3,1,1,8,1,1,1,1,1,5,146,2,1,1,2,1,1,6,14,129,173,1,1,2,1,1,1,1,1,1,1,1,5,2,1,1,1,1,1,11,1,1,2,3,3,2,59,3,3,1,2,5,51,100,1,3,1,1,104,5,1,1,2,362,1,2,3,1,1,24,1,1,1,1,1,6,1,1,1,1,10,1,1,1,1,1,1,1,2,1,1,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,1,1,1,1,1,11,1,1,11,1,1,1,1,9,2,4,1,2,5,1,1,1,1,1,2,2,3,35,1,75,2,1,5,1,1,3,1,19,2,1,1,40,2,3,7,1,1,1,2,9,10,5,1,5,1,1,1,5,4,1,1,1,5,1,1,19,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,609,1,1,1,1,1,19,147,1,1,1,1,1,2,3,1,1,1,1,2,1,1,13,1,1,1,1,14,613,1,2,1,1,1,1,2,1,2,1,1,1,1,1,2,1,1,1,1,1,31,1,3,167,1,1,1,1,3,1,1,1,1,3,3,1,1,1,1,154,2,30,6,97,15,3,1415,2,2,2,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,2,1,81,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,2,1,2,3,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,2,1,1,1,1,27,1,2,6,1,1,1,1,17,1,1,7,1,4,1,1,1,59,2,190,2,2,39,271,1,1,1,1,1,1,1,1,37,1,15,11,6,1,1,1,4,1,101,30,8,1,1,10,1,2,1,2,1,1,1,24,1,1,1,1,1,1,1,1,1,1,1,9,563,133,1,1,6,1,1,2,1,1,2,1,2,1,2,6,2,1,1,1,1,1,1,1,1,1,1,1,7,2,1,1,1,31,1,1,1,1,1,3,1,1,2,1,1,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,9,1,1,1,1,1,2,1,1,1,1,1,1,1,17,1,1,1,1,1,1,2,6,1,1,1,4,2,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,21,1,1,29,1,2,1,1,1,2,1,1,1,1,1,1,2,2,1,1,5,1,1,1,1,1,2,1,1,2,2,45,1,1,148,137,7,16,1,5,1,25,1,1,1,95,2,11,27,14,1,262,1,1,1,1,1,3,1,1,1,15,1,1,2,1,1,4,4,2,1,1,1,3,19,1,1,7,3,49,4,1,6,11,1,1,41,1,38,2,1,1,1,1,1,4,326,3,1,1,1,1,1,2,1,1,3,1,1,1,1,1,2,1,1,1,1,1,3,3,8,1,1,2,1,1,1,4,2,1,1,1,1,1,2,3,1,2,1,2,1,12,2,1,1,1,1,5,1,1,1,1,1,6,443,1,11,10,2,1,9,6,2,1,5,4,1,1,2,5,2,1,4,4,68,2,1,1,1,1,16,1,15,3,1,1,4,1,1,1,1,6,1,1,7,1,1,15,1,2,22,1,3,225,5,410,1,1,2,14,1,1,1,3,1,1,1,1,1,1,1,1,10,1,2,1,1,1,1,1,1,14,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,1,1,3,1,1,1,1,2,1,1,5,1,1,1,1,1,1,10,1,1,1,1,3,1,1,1,1,1,3,1,4,2,2,1,1,1,1,1,2,210,2,2,2,1,3,3,1,1,1,1,1,1,1,6,3,1,4,1,1,1,1,1,3,4,1,1,1,1,2,15,1,1,1,1,1,1,1,2,7,19,2,2,2,1,1,1,3,1,3,1,1,1,1,1,7,1,1,1,13,1,7,299,1,2,2,217,29,1,10,2,2,4,95,1,3,1,1,12,1,1,223,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,1,1,1,1,1,2,1,2,1,37,2,3,18,1,3,1,10,3,2,5,177,1,1,62,7,1,59,3,1,1,26,2,3,206,1,1,1,1,1,1,1,1,1,3,2,5,6,3,44,1,1,1,1,1,456,1,1,1,1,1,1,2,58,1,1,238,1,2,3,1,1,1,1,1,1,1,2,7,72,1,32,1,1,1,2,1,1,653,2,2,1,10,1,1,1,1,1,1,3,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,5,3,1,31,16,10,7,5,1,254,8,3,239,1,1,2,3,1,4,2,2,1,1,72,1,1,1,1,1,171,1,3,431,1,1,1,1,1,1,1,1,3,46,2,3,47,3,3,1,3,1,1,2,1,2,2,1,2,24,1,6,2,1,1,1,1,4,1,1,6,6,1,26,34,77,77,7,1,127,43,1,10,315,1,1,1,1,1,4,2,73,43,1,109,132,1,1,31,233,1,10,1,1,115,1,1,3,3,1,7,14,1,86,1,74,1298,1,1,1,4,6,1,1,4,5,1,1,9,1,1,1,1,1,1,1,5,1,1,1,1,3,1,1,3,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,71,1,14,1,3,1,1,2,1,3,2,28,102,1,1,1,1,1,7,1494,1,1,1,1,1,1,1,1,29,22,1,8,105,1,388,1,1,1,1,2,1,1,1,1,1,2,1,1,1,1,24,1,13,1,1,1,1,1,1,1,1,10,1,1,1,3,1,5,4,82,1,1,6,1,13,1,1,97,2,194,2,1,1,1,3,1,9,1,2,6,1,1,48,322,1,163,4,1,85,2,1,3,1,73,1,17,2,1,430,1,4,1,1,1,1,4,5,373,1,116,6,6,9,38,1,4,1,1,1,1,43,4,1,2,1,2,1,2,1,204,12,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,13,1,54,1,2,1,1,1,64,1,2,1,1,1,1,1,2,1,1,1,3,11,1,1,1,443,4,38,1,1,2,1,1,5,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,4,8,1,1,1,1,2,2,1,1,1,1,1,6,1,13,2,2,5,2,1,2,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,67,2,1,38,1,1,1,1,1,1,1,1,1,1,6,1,7,1,14,1,12,1,1,4,1,1,447,1,1,1,2,2,2,1,1,1,1,3,1,1,1,1,3,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,2,1,1,1,1,1,1,207,1,1,1,1,2,1,198,1,75,1,5,1,8,1,1,1,6,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,35,1,1,1,1,26,9,31,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,2,1,1,1,1,1,1,1,1,26,12,1,3,3,1,4,1,1,1,1,1,1,1,2,3,9,1,1,1,1,1,1,1,1,26,4,1,1,16,2,1,1,2,4,1,1,1,1,1,2,89,4,1,1,1,1,1,1,1,1,1,7,12,1,2,2,1,1,1,1,2,1,1,1,1,1,2,1,6,1,1,26,6,5,1,1,1,1,1,1,633,1,3,1,1,1,1,1,14,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,8,1,1,14,1,2,1,3,1,5,1,1,1,1,1,1,1,1,2,1,1,1,1,6,2,1,1,1,1,7,1,1,1,13,2,2,1,2,1,1,2,1,1,1,2,2,1,3,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,8,3,3,1,1,2,1,2,1,2,1,1,2,2,2,1,1,1,1,1,16,1,1,154,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,1,2,8,2,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,2,2,8,3,4,1,99,11,1,1,87,1,1,1,4,1,1,1,1,1,1,1,54,3,1,1,1,1,1,5,1,1,1,1,4,1,1,1,1,1,1,4,1,1,11,1,1,120,1,2,1,1,8,1,1,1,9,1,3,1,1,1,1,12,1,1,3,1,3,1,1,1,1,1,1,1,1,5,1,1,1,1,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,238,1,2,1,1,1,1,1,2,1,3,38,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,32,1,1,5,52,9,119,1,2,1,1,1,1,2,6,1,1,1,1,1,1,1,1,1,1,8,1,1,1,2,1,1,1,1,2,1,1,2,1,2,485,1,1,2,1,1,1,1,1,1,1,1,1,2,2,2,1,1,5,1,1,1,1,1,6,1,33,1,1,1,1,1,1,1,1,1,2,1,1,2,1,4,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,4,1,1,1,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,92,1,1,1,9,2,140,8,1,2,1,1,1,84,1,1,2,1,4,1,150,1,4,1,1,13,9,2,1,1,1,1,2,112,1,2,1,1,1,1,1,3,2,1,1,1,262,1,4,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,1,2,1,1,2,1,1,1,1,5,2,1,1,7,1,2,1,1,1,7,1,1,68,1,1,1,1,1,1,30,1,4,3,1,1,3,12,1,2,2,1,94,374,1,1,2,3,2,1,4,1,1,1,232,88,10,163,1,1,1,2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,5,5,9,3,1,1,9,91,124,3,2,2,1,1,1,1,6,1,1,1,2,1,1,1,1,124,1,1,2,2,1,76,57,2,1,8,4,1,1,96,7,34,12,15,1,1,1,1,9,139,1,1,10,1,1,1,1,1,1,1,2,1,2,1,1,1,1,83,103,21,23,169,9,262,1,2,7,1,25,5,3,55,10,1,75,1,61,1,1,1,1,2,1,4,1,6,5,81,2,12,1,1,2,1,1,5,105,1,1,1,1,2,158,1,11,1,2,1,4,124,4,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,1,1,1,3,1,1,1,1,1,1,176,1,3,1,5,1,1,6,69,2,2,1,1,6,1,137,1,1,16,4,1,1,1,1,276,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,62,1,1,1,5,1,64,1,3,20,14,10,190,5,1,2,2,7,4,1,1,1,1,1,13,1,295,1,24,1,424,159,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,919,1,2,1,1,2,4,13,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,2,1,1,2,1,2,1,1,1,5,1,3,3,2,1,10,1,1,2,4,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,247,1,1,1,2,1,1,1,1,1,3,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,4,3,1,1,8,5,1,1,1,1,1,1,1,3,1,1,1,1,13,26,1,155,1,1,23,1,2,1,3,2,1,349,1,3,4,1,57,5,4,1,1,1,1,7,538,1,31,1,11,1,42,27,1,2,1,1,1,11,108,1,1,1,1,1,1,1,6,9,2,1,1,151,2,3,1,2,2,1,1,27,1,2,1,2,2,46,13,7,4,1,54,1,61,4,30,1,31,1,2,1,1,6,3,1,1,44,1,1,1,2,1,16,1,1,2,1,105,1,2,1,1,3,2,85,1,1,1,1,1,1,3,1,1,2,5,1,1,1,1,1,2,1,1,6,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,2,1,1,1,1,1,1,9,10,2,5,26,1,5,1,2,1,1,1,5,1,23,1,1,1,16,1,4,107,1,1,1,1,1,440,5,1,1,1,1,1,1,30,1,2,1,1,12,1,49,3,10,2,1,1,3,1,2,10,1,1,559,1,1,1,1,1,2,698,3,1,1,1,1,1,3,1,1,2,6,99,1,1,6,1,1,1,1,3,1,2,33,53,13,5,2,1,1,8,1,1,1,49,10,8,6,1,3,1,40,1,3,11,5,7,12,4,3,20,1,6,1,2,1,7,1,1,47,1,2,5,6,16,5,1,13,9,1,3,1,1,1,5,2,2,3,1,1,1,1,51,1,21,39,196,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,2,1,1,1,1,1,1,4,1,2,1,1,1,1,1,1,1,3,1,1,1,1,69,1,1,1,1,3,1,12,12,233,4,3,7,102,2,13,2,165,49,1,1,1,2,5,1,1,2,1,1,1,1,3,1,2,1,2,1,1,1,1,77,40,1,1,3,1,1,4,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,2,1,267,1,1,1,1,14,67,1,12,98,5,2,1,1,1,1,1,1,3,1,1,1,1,1,1,74,1,1,2,1,5,1,1,1,1,1,1,1,1,2,1,1,1,67,1,1,1,40,1,1,13,1,1,80,1,1,3,168,191,1,1,3,1,13,1,1,1,1,17,1,1,1,1,3,7,1,2,1,5,1,1,1,1,1,4,10,196,1,4,1,1,1,1,1,1,294,9,2,1,1,2,1,1,4,2,45,10,1,18,24,1,1,1,1,1,1,3,1,60,1,1,9,20,21,1,1,3,3,1,3,1,1,1,8,1,3,1,992,29,3,1,1,1,1,1,14,1,1,1,1,1,1,1,1,6,7,58,1,1,1,3,1,43,1,1,3,5,2,70,16,1,1,2,2,3,180,112,16,1,1,1,284,1,1,1,1,1,5,1,16,44,1,1,1,1,1,1,1,1,2,2,1,1,1,1,3,1,2,1,1,27,1,1,1,2,1,1,1,1,2,2,5,2,2,1,3,3,4,3,1,1,1,1,1,1,13,1,1,1,1,1,1,1,1,44,1,1,1,1,1,7,325,1,1,1,2,1,38,7,106,1,4,1,1,320,2,1,1,4,2,3,43,2,1,18,3,3,2,57,1,8,1,1,1,3,1,1,1,13,1,7,1,3,1,3,2,5,1,2,2,2,1,30,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,4,1,1,1,1,1,17,1,1,1,1,4,2,2,1,2,1,2,1,1,1,1,1,1,1,1,1,4,1,5,1,1,1,1,2,2,1,1,1,3,1,1,1,1,1,1,1,1,2,1,1,2,2,1,6,1,1,1,1,1,1,3,1,1,1,1,3,1,2,1,1,1,25,1,1,1,1,1,1,1,2,1,1,1,2,78,106,1,1,1,1,1,1,2,1,156,3,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,5,4,4,15,3,9,1,1,1,21,5,2,1,2,1,1,1,3,1,1,1,1,1,1,1,23,1,1,1,1,6,1,1,1,187,4,6,1,1,1,1,1,38,38,1,1,1,1,1,1,1,1,1,31,3,18,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,735,1,2,1,1,1,1,1,1,1,4,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,18,8,7,3,1,13,2,1,1,2,3,3,4,1,1,1,1,1,8,1,2,1,1,5,13,1,1,2,1,2,1,1,1,43,1,10,1,270,1,1,1,1,3,120,1,2,2,11,1,2,3,22,3,1,1,1,1,6,1,1,6,1,1,2,4,6,54,1,1,93,1,1,1,1,485,25,1,4,1,1,1,7,2,1,1,13,12,22,1,1,43,1,1,1,2,1,1,1,1,14,1,41,1,1,1,1,1,1,1,1,555,1,3,2,2,1,4,2,1,1,440,1,1,1,1,3,238,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,2,1,1,1,2,1,1,265,9,1,1,1,1,1,1,1,1,70,1,42,16,9,1,617,1,3,1,1,1,1,1,3,1,1,16,1,1,1,1,1,1,1,1,1,1,1,8,6,1,1,1,2,466,1,1,7,68,1,2,1,1,1,2,8,4,3,54,499,2,1,2,3,5,1,1,85,1,1,1,1,1,1,2,3,1,1,1,1,7,1,282,1,1,34,1,1,2,1,1,1,1,1,837,1,2,1,1,15,75,1,1,1,1,1,1,1,1,1,429,9,2,3,53,1,1,1,12,31,1,4,1,1,1,1,9,1,3,2,23,357,23,1,2,1,2,1,1,1,5,1,1,1,125,1,1,1,1,2,1,2,6,1,4,2,1,3,1,1,2,1,1,1,1,1,1,1,1,8,63,1,1,449,12,1,1,4,4,1,16,1,7,156,11,20,15,26,1,1,1,1,1,1,1,9,1,1,1,1,1,1,1,5,1,1,6,19,1,4,1,1,1,491,1,1,1,1,1,1,1,1,1,1,7,2,1,1,1,2,3,1,1,1,2,1,1,2,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,2,4,1,1,1,1,1,1,4,5,2,3,2,4,8,2,9,8,58,1,2,1,1,3,1,3,1,1,1,1,7,1,6,1,2,60,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,3,1,4,2,16,1,1,2,1,5,1,1,1,2,5,27,1,2,1,1,2,2,1,1,2,1,1,1,217,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,5,13,28,1,1,1,1,155,1,1,1,2,3,1,1,1,1,27,1,1,6,218,1,47,3,10,1,1,1,6,5,6,2,1,1,559,1,1,1,1,4,15,1,4,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,290,36,1,1,1,1,1,1,6,17,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,2,1,1,1,1,1,1,1,1,1,1,1,3,2,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,3,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,2,1,1,1,1,1,10,1,1,1,7,1,51,1,5,9,1,2,5,495,1,1,1,1,1,2,17,327,1,1,1107,1,2,69,147,1,19,2,97,1,6,1,1,1,1,1,4,48,3,3,1,2,1,10,3,5,1,498,1,1,1,1,11,1,1,35,9,1,1,726,1,2,3,1,7,1,1,5,33,1,1,1,1,1,1,273,37,1,1,1,1,2,1,1,1,2,57,7,114,1,1,3,1,2,191,1,1,1,1,4,1,1,1,1,1,1,1,1,1,2,37,1,4,1,1,11,4,1,1,12,13,1,7,1,1,3,110,5,2,1,1,1,1,1,1,1,1,1,1,36,1,2,1,24,1,1,1,2,1,4,6,1,552,1,1,2,1,1,1,1,1,3,1,1,3,2,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,3,1,1,4,2,1,1,2,27,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,2,2,1,1,2,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,46,1,2,34,2,1,1,26,1,1,1,1,1,10,1,39,1,656,1,1,1,4,194,1,1,1,1,2,1,2,9,1,1,1,2,2,3,3,1,1,1,8,464,1,1,3,8,1,5,1,4,175,1,1,2,1,1,1,1,1,1,1,2,1,1,1,6,1,1,2,2,1,1,1,4,66,3,1,82,2,1,1,1,1,3,2,43,1,1,1,4,1,156,101,74,972,1,2,1,4,1,1,1,1,1,3,1,3,16,1,5,1,1,5,284,43,1,1,1,37,1,2,2,5,1,1,1,1,2,1,17,20,14,1132,3,1,1,1,2,1,1,1,1,239,404,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,9,1,1,1,1,1,1,1,3,2,38,1,5,1,6,3,3,2,1,1,1,1,1,4,1,1,1,1,1,1,4,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,1,1,1,1,1,1,1,1,1,5,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,37,1,5,1,43,31,4,2,145,4,174,1,1,1,158,2,1,1,1,1,1,1,336,2,1,1,1,1,1,1,1,1,171,268,2,1,1,1,1,4,1,13,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,22,22,135,1,1,1,1,1,1,2,1,1,1,1,1,1,1,3,1,1,1,1,1,3,1,1,4,1,1,2,1,1,1,1,1,9,1,1,1,2,1,2,1,1,1,158,105,1,3,8,1,439,35,1,6,1,1,1,1,1,3,2,1,3,1,1,1,260,56,1,3,1,1,1,1,1,1,2,1,1,22,2,17,1,1,15,141,3,1,1,1,5,23,8,5,77,23,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,5,1,1,2,1,1,1,1,1,1,1,1,6,47,7,1,1,22,1,910,13,1,1,10,1,1,1,1,2,5,30,1,1,6,2,1,1,1,1,2,1,8,1,1,1,1,1,1,1,2,2,1,217,1,1,1,2,8,1,3,1,2,7,5,1,1,1,1,1,4,1,1,1,1,1,2,1,1,1,1,2,1,2,2,1,1,1,1,3,1,2,3,1,2,1,123,3,1,4,1,1,3,1,3,1,1,1,1,1,1,2,5,1,2,2,5,1,5,1,1,1,1,1,1,1,2,4,1,1,1,1,1,1,1,2,1,1,2,1,1,8,4,1,1,4,1,1,3,1,5,1,1,3,2,3,1,27,7,1,2,1,1,32,1,1,1,1,5,1,1,2,1,1,109,23,1,12,1,1,1,1,1,1,1,1,1,3,1,7,1,1,1,1,1,1,1,97,14,1,4,3,1,1,1,1,6,10,1,1,160,1,4,2,7,2,624,1,1,1,29,1,110,1,3,1,1,1,1,8,1,1,1,1,1,1,1,2,1,6,1,1,1,1,1,1,1,1,1,3,1,1,13,1,580,4,1,1,2,1,1,1,1,4,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,1,1,1,1,1,1,1,1,1,3,1,1,1,189,3,204,2,2,1,2,1,1,3,34,4,3,76,1,1,1,1,15,255,1,1,1,1,1,1,1,1,1,2,812,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,3,1,1,1,48,3,62,1,1,1028,2,1,4,1,1,1,1,1,1,1,1,1,1,1,3,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,285,1,3,1,1,1,2,1,1,1,1,1,1,1,1,1,431,1,1,1,1,1,1,1,2,6,1,1,1,1,1,2,1,1,2,4,2,1,1,1,1,830,1,4,1,1,1,2,2,1,1,3,1,3,1,1,1,1,20,1,1,1,1,1,1,2,4,1,1,1,1,1,94,3,1,1,1,1,1,1,56,1,1,9,1,3,293,6,6,1,1,1,9,1,54,99,1,1,1,1,1,1,1,29,5,1,1,1,2,13,1,171,1,1,1,1,1,1,1,2,1,1,1,242,1,1,1,1,1,7,3,9,2,1,13,1,1,5,12,1,1,1,4,1,1,3,1,1,1,1,1,1,12,2,2,37,4,8,178,3,1,6,1,1,1,1,6,1,17,2,1,5,1,1,71,5,292,1,2,10,1,1,1,2,1,1,6,1,1,9,2,1,2,87,1,9,1,103,16,1,1,1,1,2,9,1,20,1,1,2,1,1,2,11,13,547,2,57,5,4,1,8,1,1,172,6,1,1,1,2,1,2,1,1,1,2,4,1,1,3,427,1,1,1,1,1,1,3,1,2,41,6,1,1,1,1,2,1,1,41,1,191,3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1,16,11,1,1,46,4,4,1,3,15,1,1,1,1,1,1,1,2,1,1,561,1,1,1,1,16,1,1,4,1,1,1,3,1,91,1,1,1,1,1,77,1,6,5,317,1,1,207,22,1,2,7,2,1,3,1,1,1,1,3,1,6,2,1,9,1,1,1,1,2,2,3,1,1,1,1,2,1,1,3,1,1,1,1,1,1,1,2,1,2,1,1,1,1,2,1,13,1,1,1,1,1,1,79,6,1,1,89,11,5,265,1,1,1,1,2,2,4,1,1,3,2,1,1,1,1,1,1,4,2,1,1,1,1,1,1,1,1,5,3,26,1,1,1,1,1,3,1,1,1,3,1,876,1,1,8,1,1,554,15,2,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,6,6,1,1,1,1597,4,4,4,1,1,1,1107,4,1,3,29,1,1,1,3,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,2,1,1,1,4,2,26,1,1,1,13,3,1,5,1,1,3,5,1,86,1,1,1,1,30,2,1,1,2,1,1,1,1,1,4,1,3,1,2,390,5,1,2,1,1,1,195,1,1,1,1,1,2,61,4,1,1,3,1,7,1,1,1,1,3,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,2,1,1,192,1,10,1,1,1,3,1,1,1,7,3,1,1,3,2,3,2,1,1,1,1,1,1,1,1,1,1,4,1,1,583,4,23,1,1,3,3,2,4,2,2,1,45,2,1,2,2,1,1,4,1,1,1,1,2,1,21,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,8,1,1,2,3,1,1,1,1,7,157,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,5,2,2,1,2,13,2,1,1,1,1,1,1,1,249,1,2,37,249,1,1,1,1,1,1,7,1,13,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,7,87,1,1,4,12,37,1,1,2,1,1,3,1,3,1,1,1,1,1,10,1,2,1,1,1,1,1,2,1,1,1,9,1,1,1,1,1,1,2,1,2,1,1,1,1,2,1,2,1,1,1,1,1,2,1,1,1,1,13,15,1,1,4,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,2,3,2,7,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,7,1,1,2,1,1,1,1,1,1,1,1,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,2,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,2,4,1,1,1,12,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,12,2,2,1,1,2,2,1,1,1,1,6,2,1,1,1,1,1,1,2,1,1,4,1,1,1,27,1,1,1,1,1,1,1,7,4,1,4,1,1,1,2,1,1,1,1,1,1,3,2,2,1,2,1,1,1,1,2,1,1,1,1,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,174,1,1,1,1,3,1,22,1,1,2,2,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,2,1,1,2,1,1,1,1,1,2,1,1,1,1,1,3,1,1,1,2,4,2,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,14,1,3,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,11,1,1,1,1,2,1,2,1,1,1,2,3,1,1,3,1,1,1,1,1,1,1,1,2,3,1,1,1,1,1,1,1,2,1,1,3,1,2,1,1,1,1,2,1,1,1,1,2,3,1,1,1,1,2,1,16,1,1,1,2,1,2,1,2,1,2,1,1,1,1,1,1,1,3,2,1,1,1,4,1,1,1,2,1,1,1,2,1,1,1,3,1,1,1,9,1,3,1,1,22,4,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,2,1,6,1,1,1,1,1,1,1,24,4,1,8,1,3,1,1,1,1,23,3,3,1,1,1,11,4,4,1,3,6,181,1,3,1,1,1,118,1,2,1,1,1,7,1,1,1,1,1,1,171,1,1,1,3,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,2,1,1,1,5,2,1,1,1,2,1,1,6,1,1,1,1,1,1,1,1,1,16,1,1,1,1,1,3,17,2,1,1,1,1,1,103,1,15,5,1,4,1,1,141,11,1,1,1,1,1,5,1,2,16,73,5,1,1,1,1,31,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,236,3,1,1,9,3,1,1,1,1,2,1,2,1,1,2,1,1,1,7,5,1,2,1,1,1,5,6,1,2,1,221,3,1,2,1,2,2,1,1,9,1,1,1,75,1,1,3,10,23,4,52,4,1,1,1,1,10,3,1,1,1,2,1,102,1,8,1,1,2,1,58,18,179,1,1,20,42,1,1,1,1,5,1,2,1,1,1,1,1,1,48,11,1,1,1,5,107,1,688,1,1,29,1,1,1,5,1,1,7,1,1,3,4,6,4,3,15,1,1,1,9,1,1,1,8,1,1,3,1,1,3,1,1,1,1,1,1,2,1,2,1,1,1,64,1,1,1,4,1,1,1,2,1,2,22,5,135,1,1,1,3,4,15,1,40,7,1,1,1,1,376,2,129,3,1,1,2,1,2,1,1,1,1,2,3,1,3,4,1,3,1,1,1,3,1,1,1,1,1,61,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,4,5,289,2,51,37,174,1,1,59,48,6,1,6,240,42,5,1,10,1,1,1,133,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,155,1,2,1,1,1,1,1,1,2,2,1,1,1,1,2,2,1,1,1,1,2,1,1,1,1,17,1,3,1,1,1,1,1,13,1,1,1,1,1,1,1,8,18,1,1,2,6,2,1,1,2,1,16,1,1,1,1,1,1,1,1,1,9,1,125,59,1,28,4,1,47,1,1,1,3,1,1,1,3,1,35,1,1,2,1,7,11,1,1,1,42,1,14,1,8,1,1,1,2,1,3,1,1,1,1,8,1,521,1,1,1,1,41,340,2,1,1,2,1,1,1,2,1,3,1,1,1,1,2,8,1,1,1,1,1,1,10,15,1,1,1,1,1,6,1,1,1,1,1,1,1,4,13,21,2,287,84,19,2,1,4,2,1,2,33,1,2,1,8,4,1,10,1,112,24,1,1,1,1,1,1,1,1,182,1,1,1,1,3,4,4,1,1,1,1,1,1,1,1490,327,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,33,3,2,4,7,470,3,16,1,3,4,2,1,1,14,65,27,2,214,1,1,1,1,4,1,1,1,1,1,2,2,1,1,1,50,5,1,1,1,1,1,1,3,1,1,3,2,19,1,14,2,1,1,43,1,1,3,1,15,5,1,1,1,1,24,1,1,1,1,1,1,3,2,2,1,5,1,1,2,4,1,1,2,1,1,1,5,1,24,18,1,1,1,1,131,2,1,111,1,51,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,9,2,1,1,19,16,1,2,20,1,3,4,5,9,1,2,1,10,1,2,1,7,1,1,1,5,1,1,2,15,1,1,1,1,2,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,4,1,1,1,1,1,2,1,1,2,1,3,1,1,1,1,5,1,1,1,5,2,2,1,1,1,1,3,1,1,1,1,545,1,8,7,1,3,2,1,1,1,1,10,44,1,1,21,292,1,27,1,3,3,1,3,1,1,1,1,56,1,5,4,3,3,1,1,1,1,1,1,1,2,1,21,1,1,1,1,1,1,1,1,1,4,2,2,1,1,2,2,386,1,1,1,1,1,14,1,2,1,1,1,11,1,4,4,1,1,7,16,1,1,1,1,2,1,1,1,1,1,1,1,3,1,1,1,1,1,2,2,1,1,2,2,1,1,1,3,3,1,1,4,1,1,1,1,1,2,1,3,1,1,1,196,1,1,1,1,2,1,1,1,2,1,1,1,1,1,6,2,2,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,1,2,4,16,1,5,2,1,1,1,1,5,1,1,1,3,1,8,2,2,1,1,2,1,1,2,1,1,1,1,1,2,1,1,29,13,1,2,1,1,1,1,1,1,3,1,2,1,2,3,384,1,1,1,13,1,81,1,2,1,1,1,157,1,1,4,2,2,1,1,1,1,1,13,62,1,1,1,5,299,1,1,2,1,68,20,32,1,1,44,8,1,1,1,13,96,1,1,2,2,9,1,1,1,3,1,3,15,1,1,1,1,3,1,35,1,4,52,8,1,3,2,1,1,1,1,1,2,1,1,2,7,1,166,29,2,51,1,1,378,1,9,2,43,1,18,38,1,45,1,1,367,1,1,1,1,11,2,1,1,1,241,4,1,1,3,2,2,1,1,1,1,1,3,1,1,1,2,2,1,1,1,112,1,3,1,1,1,1,1,4,8,2,4,22,1,2,333,265,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,2,1,27,1,1,1,6,8,1,1,22,52,1,10,4,4,6,6,7,1,1,1,1,2,1,20,1,2,2,7,7,7,1,77,1,1,1,1,2,580,4,17,1,1,48,30,147,8,1,3,1,1,21,1,1,1,1,44,1,6,17,100,5,2,86,1,1,1,2,1,13,2,1,2,2,2,2,1,1,573,1,1,1,5,1,2,1,1,1,1,1,1,2,10,1,1,1,1,5,21,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,2,2,1,1,1,1,1,1,1,1,1,1,3,1,1,4,1,1,1,1,1,1,1,1,1,1,1,2,2,1,3,2,1,1,1,2,1,1,1,1,3,2,1,1,1,1,1,2,1,1,1,2,3,91,1,3,1,24,1,98,1,1,6,2,2,1,1,2,5,1,1,1,461,5,1,1,1,1,1,1,4,1,1,1,4,1,1,4,7,24,1,2,1,807,2,2,1,1,3,40,1,14,43,1,1,1,31,106,158,1,1,2,88,1,2,1,1,1,3,1,1,646,1,21,1,2,178,4,1,1,8,2,1,1,1,1,1,2,1,14,1,16,2,15,2,1,2,1,1,1,1,1,1,1,11,1,1,1,1,11,8,25,15,1,17,102,1,1,42,1,103,109,1,1,1,1,1,1,262,1,2,69,16,1,1,2,2,153,1,1,1,2,1,6,2,1,3,111,1,1,1,1,1,1,3,1,1,1,1,2,3,1,1,1,1,95,1,1,1,1,3,1,2,13,1,1,32,6,1,1,741,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,2,1,4,1,1,1,11,1,1,1,49,1,1,11,1,1,5,1,1,1,207,11,36,1,1,1,1,2,4,1,1,1,2,179,1,2,5,1,2,1,1,1,1,1,1,1,3,1,1,1,1,1,1,3,1,3,1,1,1,1,1,1,1,2,1,1,1,1,3,1,1,1,2,1,1,1,1,1,1,1,1,1,1,3,1,2,3,5,3,2,1,1,1,1,1,1,2,468,1,1,6,142,1,1,33,43,33,1,1,1,1,1,1,1,1,1,20,1,1,1,1,1,1,1,1,1,1,1,1,36,1,32,1,1,1,1,1,1,1,1,1,1,1,14,2,1,206,1,42,1,1,16,1,1,1,1,1,2,1,4,1,1,1,1,1,3,1,1,3,2,1,1,1,9,1,4,2,2,1,18,1,5,1,5,1,2,1,1,1,1,7,1,1,1,1,1,1,1,1,1,10,1,1,1,1,1,3,1,1,1,1,1,1,1,2,1,3,1,1,1,1,2,1,1,5,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,2,1,1,2,4,1,1,2,1,1,6,1,75,1,1,10,4,1,1,1,2,2,1,1,2,6,2,1,5,1,11,2,2,1,2,1,1,2,4,1,1,1,1,2,1,1,6,13,1,1,1,1,1,1,5,2,2,1,1,1,1,6,2,1,1,6,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,21,1,1,1,2,1,1,3,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,4,1,1,3,2,2,14,1,12,6,1,1,1,1,1,1,3,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,21,1,1,1,1,1,2,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,5,5,1,1,1,1,2,3,1,2,2,1,1,1,2,2,1,1,4,1,1,1,2,1,2,34,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,72,1,1,3,1,1,2,1,1,1,1,1,4,1,1,1,1,1,1,1,1,8,1,3,3,1,1,1,4,1,1,1,1,3,1,1,1,1,2,1,1,1,1,1,1,1,1,3,1,1,1,1,1,2,3,4,1,3,1,1,1,4,1,2,1,3,8,1,1,3,1,1,1,1,3,1,1,8,1,1,1,1,3,2,1,1,1,1,139,1,23,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,2,1,4,2,1,1,1,1,2,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,4,1,1,2,1,4,1,1,1,1,1,1,1,1,1,1,1,2,1,3,3,2,1,1,1,1,1,1,1,1,1,1,1,10,4,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,9,1,1,3,1,4,9,2,1,1,2,1,2,1,1,1,1,1,12,1,219,1,1,1,1,1,1,225,1,1,1,3,6,1,6,1,2,1,1,1,1,1,1,1,1,2,1,1,2,1,8,48,4,4,10,5,1,16,1,1,2,1,1,1,1,1,3,2,1,1,1,1,3,1,3,2,1,1,1,1,2,5,1,1,1,1,1,1,3,1,10,1,1,1,4,2,2,5,1,3,2,1,1,2,1,4,2,2,2,1,1,1,1,1,4,1,1,1,1,1,1,4,1,2,2,2,2,3,5,1,6,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,15,1,9,1,1,1,1,3,1,1,46,1,1,1,1,2,1,5,4,4,2,1,5,1,1,1,1,1,1,1,1,1,1,10,1,1,1,1,28,1,1,1,1,1,1,1,3,1,3,1,1,1,1,123,1,1,1,1,3,4,3,14,1,12,1,1,1,1,1,1,1,1,1,3,1,1,1,3,3,1,1,1,5,3,1,2,1,1,2,1,1,5,1,1,13,107,671,1,179,1,1,1,1,1,1,401,1,1,1,1,1,119,1,1,6,2,2,1,1,1,1,1,1,1,2,1,36,1,1,2,1,1,4,6,1,2,5,4,1,1,41,1,2,2,1,1,2,18,1,12,1,2,1,1,1,26,25,6,1,1,1,1,6,4,1,2,69,1,12,178,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,2,1,16,39,1,6,1,5,1,5,2,11,1,1,5,1,1,11,17,1,1,13,1,10,1,1,1,9,1,1,1,2,10,2,1,1,1,15,1,8,1,1,1,1,1,1,13,1,1,10,1,1,2,1,2,1,10,6,8,1,15,10,3,7,1,1,11,5,1,7,1,1,10,1,1,1,10,1,13,8,1,1,9,9,6,6,15,16,1,5,1,12,1,9,11,1,1,1,11,1,13,1,10,11,7,1,8,10,5,8,11,1,1,1,10,12,1,1,1,3,11,9,6,11,2,1,1,1,8,9,10,2,3,1,1,1,11,1,1,1,1,3,1,1,3,3,13,2,2,1,3,3,1,2,1,1,13,3,1,1,1,4,2,1,4,3,3,14,2,2,3,3,2,4,1,2,11,3,1,1,3,2,1,2,7,2,2,2,2,1,2,3,1,4,3,2,2,2,1,1,1,11,1,1,1,2,2,2,1,10,1,1,1,1,1,2,3,10,1,1,1,1,1,2,2,10,1,2,1,2,3,2,1,9,2,2,1,1,1,2,8,1,2,1,1,2,5,1,8,1,1,1,17,1,2,3,1,1,13,1,1,1,1,1,13,1,1,1,3,1,3,10,1,1,12,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,2,1,1,1,12,2,2,1,1,5,1,2,1,1,7,1,1,2,1,2,8,1,1,1,2,2,8,1,1,1,1,8,3,1,1,1,1,1,9,1,1,1,1,1,1,8,2,1,1,7,1,1,1,4,1,1,1,8,1,2,1,1,1,5,1,1,1,1,1,5,1,3,1,2,1,10,1,1,1,1,1,5,2,1,1,1,12,1,1,7,3,1,11,2,1,7,1,1,3,1,1,9,1,1,1,1,1,1,1,5,1,1,1,9,1,1,2,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,29,3,6,1,1,4,2,1,11,1,4,1,3,1,1,1,1,1,1,1,7,1,1,9,1,1,1,8,1,5,1,10,1,1,1,2,1,1,6,1,1,6,1,1,2,8,3,1,1,4,6,1,7,7,1,1,2,4,4,4,1,1,1,1,7,1,4,1,1,1,5,1,3,1,2,6,1,10,1,4,8,5,1,5,1,1,4,1,4,3,1,1,4,1,6,1,3,1,1,1,1,1,4,1,1,1,3,4,2,4,1,5,1,1,1,1,1,1,3,1,1,8,4,1,2,1,1,1,5,4,2,6,5,2,3,1,1,2,1,4,3,4,1,5,4,1,4,1,2,8,2,1,3,4,3,4,1,3,6,1,4,3,3,1,3,1,4,2,1,6,1,2,4,1,3,5,1,5,1,1,1,7,3,4,4,1,4,1,1,12,1,1,1,4,1,4,1,1,1,2,4,2,1,2,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,5,1,4,1,1,4,4,4,3,3,3,1,1,4,1,2,1,1,2,2,3,9,1,1,1,1,1,1,1,3,4,1,1,2,2,3,6,3,1,2,3,1,2,3,2,2,1,2,10,1,2,3,1,3,1,3,3,2,5,1,1,1,3,3,2,2,1,1,4,1,1,2,2,5,2,2,3,4,4,3,1,2,2,1,6,1,3,3,1,2,4,1,1,4,3,4,1,1,1,1,1,1,2,1,1,1,1,1,8,2,1,1,3,1,3,1,1,1,1,3,1,15,1,2,1,1,1,2,2,3,2,4,1,7,1,2,1,1,1,1,1,2,8,5,1,2,1,1,1,1,4,3,1,3,1,2,1,11,1,2,2,1,1,1,1,1,6,2,1,2,1,1,1,7,2,1,1,1,7,1,3,2,2,1,2,1,2,6,2,1,6,1,1,2,1,11,2,1,1,1,1,1,8,1,1,1,2,10,2,1,1,1,1,7,1,1,1,3,1,1,11,1,1,1,11,1,1,1,1,3,1,1,1,1,11,1,1,1,10,1,2,1,1,5,1,2,3,1,7,5,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,8,1,1,7,1,1,1,1,1,8,2,1,1,1,8,1,1,3,10,1,1,1,1,9,1,5,1,2,1,1,1,1,7,1,2,4,1,1,1,1,1,1,1,1,8,1,1,2,1,9,1,1,2,1,1,12,1,1,1,10,1,1,9,1,1,6,1,1,1,8,1,15,1,1,1,14,1,1,1,1,2,5,1,1,6,1,1,1,1,1,4,1,10,1,1,1,1,8,7,2,2,6,1,1,1,17,8,1,1,8,1,1,1,13,1,1,8,10,1,10,1,8,1,1,11,1,1,1,11,1,12,9,6,8,45,17,2,40,8,1,1,1,22,1,1,1,1,1,223,1,1,2,1,1,412,2,2,1,201,23,1,1,427,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,2,1,3,1,1,2,1,1,4,1,1,1,1,1,1,4,1,1,3,1,1,2,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,3,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,2,1,1,1,1,1,2,1,1,1,1,3,2,1,1,2,1,1,6,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,4,1,1,1,1,1,6,1,1,4,1,1,1,1,1,1,3,1,1,1,2,1,4,2,2,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,6,1,5,2,1,1,6,2,3,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,28,44,1,12,562,1,62,1,1,16,1,1,1,5,14,1,1,10,46,1,1,1,2,16,1,1,1,1,1,1,1,2,1,2,1,16,1,1,1,1,1,2,1,1,2,1,1,93,1,2,27,1,22,2,7,8,4,1,2,1,1,1,1,2,1,1,2,2,1,1,4,1,1,1,1,1,1,2,4,1,1,1,21,4,16,1,51,7,1,5,1,7,1,239,777,1,1,2,1,103,1,1,1,1,1,517,1,1,160,1,1,1,1,1,216,22,1,1,1,1,18,1,1,4,1,1,1,1,1,1,20,1,310,3,1,1,1,1,1,19,198,4,1,1,1,1,1,1,67,1,1,1,1,1,1,1,1,1,1,1,1,1,15,1,2,1,1,1,1,1,1,1,20,1,1,3,2,330,4,1,1,1,18,1,3,184,1,2,13,823,3,1,6,185,1,1,1,1,1,1,1,1,1,1,43,77,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,6,19,1,29,2,3,3,1,80,1,1,1,5,1,1,2,1,1,1,1,1,1,1,1,1,2,4,1,69,5,2,1,1,1,1,1,6,4,15,1,1,1,1,1,17,2,1,1,6,1,1,12,1,1,1,14,1,1,2,1,1,1,28,12,1,1,167,1,14,1,1,1,1,1,379,1,2,1,1,1,1,1,1,3,3,1,1,1,1,1,2,494,4,5,29,29,1,1,1,4,76,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,8,3,1,1,39,2,1,1,1,1,1,1,1,2,1,888,36,1,1,1,1,1,13,1,2,1,5,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,4,2,1,2,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,2,4,5,1,1,4,1,1,2,1,1,1,3,1,2,1,2,2,1,1,1,2,1,1,8,1,1,1,3,1,2,1,1,6,6,3,1,2,1,1,3,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,24,7,2,1,1,2,1,343,6,3,2,2,1,5,2,2,1,2,1,1,1,1,3,41,44,1,1,766,1,1,1,2,2,1,1,1,1,1,1,1,3,2,1,1,1,1,1,3,1,1,1,1,139,1,1,330,1,1,1,1,2,1,1,1,1,1,10,1,1,1,3,1,1,3,1,2,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,5,1,1,102,1,1,1,1,2,1,1,2,1,1,1,11,622,2,1,1,1,1,1,1,1,1,1,1,1,6,2,1,10,5,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,6,3,1,1,1,1,1,6,1,39,1,1,1,1,1,7,3,1,2,2,1,1,7,1,1,1,1,3,8,1,1,1,16,1,2,1,1,2,1,4,1,1,3,1,2,23,1,1,1,1,1,1,1,1,1,353,1,1,2,1,3,1,1,1,1,1,1,1,2,1,1,1,1445,1,1,1,1,1,1,27,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,155,165,1,1,1,1,1,1,1,165,1,4,24,450,3,1,1,2,1,1,1,1,1,9,3,45,1,3,8,214,3,767,1,1,4,3,1,126,1,1,13,1,1,11,1,2,6,230,119,1,1,1,1,2,1,9,1,2,1,1,442,1,1,1,3,1,1,1,2,1,3,20,1,3,1,1,1,2,1,9,1,1,1,1,1,3,1,2,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,3,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,4,1,4,1,1,26,1,1,1,1,1,1,4,2,4,1,2,4,1,1,1,1,2,1,1,1,1,1,8,1,8,1,2,4,1,1,1,2,1,14,2,1,17,1,1,1,21,1,8,4,2,4,36,1,1,2,1,1,1,1,5,2,3,1,1,1,1,1,3,1,1,1,1,2,1,4,1,5,1,1,1,7,1,2,1,1,1,1,1,2,1,1,1,4,2,14,1,2,1,2,5,1,1,1,1,1,1,1,24,28,1,1,1,1,210,1,1,39,3,1,1,8,1,1,2,1,8,2,90,1,2,1,1,1,7,1,1,52,1,1,1,1,68,3,10,3,1,1,84,19,1,1,1,1,1,36,1,888,3,1,1,1,1,1,1,2,71,2,2,1,7,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,10,3,1,167,1,1,1,1,1,1,1,3,1,1,1,1,1,3,1,6,1,1,3,2,297,1,1,2,1,1,1,1,1,1,1,1,1,3,1,16,1,1,9,2,4,586,1,30,1,1,1,1,1,32,1,1,1,1,2,1,1,1,80,183,1,1,1,2,1,2,1,1,4,1,1,1,12,128,2,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,3,1,1,1,184,1,1,32,410,1,4,1,1,1,1,1,2,1,1,6,1,1,2,2,1,1,1,1,4,1,1,5,2,1,1,2,1,1,1,1,5,1,1,1,1,2,1,1,2,1,1,17,1,2,1,3,1,1,1,1,1,1,1,2,1,3,1,4,1,1,1,19,4,13,38,1,1,52,1,26,1,2,1,2,1,1,1,1,2,1,1,554,1,1,1,1,1,1,1,1,54,1,1,1,1,361,12,7,8,1,1,1,1,3,9,1,1,2,50,29,1,1,535,2,3,1,1,6,3,1,1,1,1,1,1,1,1,1,2,1,3,1,1,1,6,3,1,1,1,1,1,4,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,2,2,2,1,1,1,1,1,2,1,2,1,1,1,1,2,44,11,105,1,1,1,1,1,1,1,1,1,4,1,1,5,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,3,4,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,2,1,1,1,1,1,1,1,2,1,7,1,1,1,1,1,1,1,1,1,2,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,2,1,1,1,3,2,1,1,1,2,1,2,4,2,1,1,1,2,1,1,16,1,1,1,1,2,5,1,3,1,1,4,1,3,3,1,2,1,2,1,1,1,1,1,1,6,5,2,1,1,1,1,1,1,2,6,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,2,2,1,1,211,145,30,27,165,1,7,182,1,240,6,10,5,9,3,2,1,1,1,7,1,3,5,16,29,1,16,1,5,1,2,1,473,2,1,18,1,3,1,3,2,80,14,1,1,2,1,33,1,5,2,2,1,3,1,94,1,1,1,1,5,2,1,1,1,1,1,1,2,1,1,1,1,1,8,21,38,1,1,1,38,1,1,1,1,1,3,1,1,1,2,1,1,10,1,1,1,1,1,1,1,1,1,1,4,4,42,3,1,1,7,59,1,2,1,1,1,3,1,1,2,1,1,74,2,1,1,9,7,4,1,1,113,3,1,1,25,8,1,1,1,1,1,1,62,1,1,2,1,2,1,1,1,1,1,6,1,1,1,1,1,2,1,5,1,2,45,2,9,1,1,3,1,1,1,1,1,1,355,1,1,6,1,1,10,7,2,1,1,1,2,2,1,1,2,1,1,2,1,1,1,1,1,1,2,2,1,1,1,1,1,3,2,4,1,1,1,1,4,31,1,1,1,1,1,19,1,1,1,1,1,2,1,2,2,1,2,1,1,1,1,1,1,16,90,1,1,6,347,5,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,1,1,1,1,2,1,1,1,1,12,1,1,1,2,1,1,1,1,5,1,1,11,36,1,1,2,3,1,1,5,2,1,2,1,3,1,1,1,1,1,1,1,1,2,3,1,1,6,2,1,1,2,2,1,1040,44,1,1,1,1,1,1,1,22,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,3,1,1,1,1,79,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,4,1,2,2,1,1,2,1,1,3,1,1,1,2,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,1,2,1,1,3,1,2,1,1,1,3,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,2,1,1,7,1,1,2,1,1,5,1,4,14,1,1,2,1,1,1,1,1,2,1,1,1,1,1,2,1,1,2,1,1,219,2,1,4,1,1,1,1,1,29,1,1,1,1,92,1,3,1,1,1,5,1,7,2,3,1,1,21,2,2,1,1,4,7,1,145,1,1,1,5,75,6,1,2,1030,1,1,1,26,76,12,3,1,4,74,49,5,1,3,2,1,1,1,1,6,3,1,2,1,8,24,1,4,1,1,1,1,2,1,2,1,3,1,1,35,1,1,8,1,1,1,1,1,1,1,1,3,2,12,46,152,1,13,32,1,4,264,1,1,2,1,3,3,1,75,5,1,2,1,1,1,1,1,1,2,1,1,1,1,3,1,1,1,10,2,1,1,1,1,1,1,1,1,1,3,167,2,14,1,1,1,2,1,156,1,43,2,13,7,2,1,1,79,1,1,1,1,2,1,41,1,1,1,7,1,1,1,1,3,1,23,1,1,11,1,1,1,1,5,1,3,4,1,1,1,6,2,1,1,49,3,1,1,1,1,29,2,1,13,1,1,1,2,1,3,1,19,997,1,2,1,1,1,3,94,1,1,10,1,1,1,2,2,4,1,4,1,1,1,1,1,2,1,1,1,1,2,1,1,33,1094,1,1,1,1,1,1,1,103,1,1,1,6,1,1,3,1,16,1,1,3,1,1,1,3,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,275,6,2,47,8,1,3,5,6,1,1,1,3,3,2,130,23,1,1,2,1,2,1,1,1,1,5,1,1,1,1,1,1,1,1,2,137,1,4,202,1,1,1,1,3,1,1,53,1,5,1,1,1,1,1,1,1,1,1,1,1,1,3,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,67,164,3,1,8,1,15,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,4,1,2,1,1,1,1,1,2,4,3,1,1,1,4,1,1,1,1,1,1,1,1,7,7,4,2,1,1,1,15,4,1,267,1,1,1,2,6,1,1,1,1,3,1,2,6,3,1,11,1,158,1,2,1,1,3,1,1,1,1,1,1,1,3,1,1,1,3,1,1,10,40,2,1,25,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,4,1,1,1,170,1,2,1,80,1,4,28,7,592,1,1,1,1,2,1,1,63,4,60,2,3,128,1,2,1,3,1,1,1,1,1,94,1,1,872,5,1,2,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,2,2,45,1,1,5,1,1,56,4,1366,1,1,1,716,2,1,2,1,4,1,1,1,11,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,10,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,7,2,1,1,1,44,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,2,1,9,1,1,1,1,1,1,1,2,1,1,1,3,1,1,7,2,1,1,2,2,1,4,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,2,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,2,3,1,6,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,3,1,384,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,6,2,1,1,4,1,2,1,4,1,1,1,2,1,1,1,1,1,1,1,2,1,1,4,1,1,1,1,1,6,68,1,1,1,4,1,2,216,2,1,1,1,1,1,2,1,2,1,1,1,1,2,1,1,1,14,1,1,3,1,1,1,1,2,1,3,1,1,2,62,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,3,2,2,1,1,1,14,1,2,1,1,1,2,1,1,2,2,1,1,1,42,1,2,1,36,1,1,2,1,1,2,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,13,1,1,1,7,1,3,1,1,1,45,1,1,1,1,3,2,842,1,1,1,1,2,2,1,1,119,1,1,1,1,1,1,1,1,105,3,5,9,5,2,1,1,6,252,1,1,5,1,1,1,43,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,303,2,1,1,2,1,1,2,2,1,1,1,1,1,1,1,1,1,1,3,1,4,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,86,1,3,1,3,1,1,1,1,1,1,1,2,1,1,2,693,43,7,40,2,2,1,1,1,1,12,1,1,1,1,1,1,1,88,1,1,1,2,1,3,1,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,8,1,1,3,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,29,2,10,1,1,9,1,7,1,1,54,1,1,1,1,1,556,1,2,1,1,1,1,1,2,1,1,1,1,1,1,91,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,4,1,3,1,3,1,1,2,1,1,1,1,1,1,1,3,1,1,1,1,1,1,5,1,1,1,1,1,1,1,3,1,1,5,2,6,1,8,1,19,1,1,1,5,163,1,1,1,3,12,108,2,11,2,1,14,34,4,4,1,1,2,4,1,1,1,1,3,7,1,1,1,3,1,2,2,1,3,2,2,2,1,1,1,1,2,1,1,4,1,63,2,1,1,1,2,5,1,2,1,1,1,1,22,1,1,1,1,49,1,75,1,1,1,12,1,1,17,1,1,1,1,2,1,1,2,1,1,1,1,1,5,1,1,1,1,87,1,1,1,1,8,2,3,1,189,1,1,11,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,18,4,1,1,1,1,1,1,4,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,5,1,1,1,1,21,82,6,1,1,5,2,1,1,1,3,1,1,1,1,10,1,2,2,1,3,1,1,1,1,29,2,2,1,16,1,3,7,1,1,1,1,9,2,1,2,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,3,1,1,1,1,1,2,1,1,1,2,4,22,1,1,1,1,1,1,1,1,2,2,1,1,8,1,8,1,1,3,4,3,1,1,1,1,11,1,1,1,1,1,1,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,5,1,1,2,1,1,1,2,1,1,5,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,14,1,1,3,1,12,1,1,1,194,1,1,1,1,2,1,1,1,1,1,1,1,1,3,1,1,1,1,33,1,1,5,1,1,5,1,1,1,1,1,1,1,1,1,2,1,3,1,1,1,2,1,1,1,1,1,1,1,1,1,6,1,1,1,1,2,1,1,1,1,1,4,1,1,1,1,1,1,8,9,1,1,1,1,1,1,1,1,1,1,1,3,1,109,1,2,1,1,2,1,1,3,1,20,1,1,2,1,1,5,2,7,3,2,1,188,1,1,1,1,2,17,1,1,1,1,1,7,524,1,1,1,1,1,1,1,1,1,2,1,1,1,4,1,1,2,1,3,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,2,1,3,1,4,1,1,127,1,1,551,10,1,1,9,2,1,1,1,2,1,1,1,1,1,1,1,4,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,5,1,1,6,36,1,2,1,16,1,1,1,1,1,19,1,1,2,1,23,1,1,73,1,4,1,1,1,1,1,2,2,1,1,1,612,4,4,4,1,1,1,2,1,1,1,1,4,1,1,1,1,1,4,1,1,2,1,1,1,1,14,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,408,1,1,2,6,1,1,1,1,1,1,1,2,1,2,1,2,8,1,1,16,1,1,1,1,1,1,2,1,1,1,1,2,2,4,108,9,13,1,1,5,1,1,324,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,8,1,5,5,7,1,1,1,1,1,1,5,1,1,1,1,1,1,1,13,1,26,1,1,1,1,2,1,1,1,1,5,1,1,124,1,4,1,1,3,1,1,1,1,1,1,1,1,1,1,5,2,3,4,1,1,1,4,3,1,21,23,2,1,83,3,1,64,8,1,65,1,1,3,1,1,1,2,361,7,1,1,1,1,1,1,6,1,1,1,1,31,1,100,1,11,5,1,100,1,1,2,1,2,2,1,1,2,3,1,1,1,1,1,1,2,1,8,1,1,1,70,1,1,1,1,3,1,3,8,22,1,1,2,1,2,3,1,1,1,30,19,22,1,6,1,2,228,17,1,4,1,23,2,10,4,2,3,10,2,1,16,1,8,3,1,102,1,46,6,1,1,225,1,1,2,2,1,1,2,1,1,1,1,1,372,35,2,2,2,1,1,4,1,1,1,1,1,1,1,631,1,2,1,1,1,1,1,1,1,3,2,1,3,1,1,50,1,1,1,1,1,1,125,1,1,11,1,2,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,37,3,7,9,1,1,1,1,1,1,1,1,1,1,2,1,1,109,8,1,1,1,1,1,3,1,1,1,3,1,7,2,1,1,1,1,1,1,1,1,17,1,2,1,1,1,1094,706,11,11,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,609,1,7,8,1,1,1,1,11,1,1,4,1,12,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,8,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,3,1,2,1,2,1,1,1,1,1,1,1,1,1,2,1,12,1,1,323,1,1,1,63,2,1,4,48,1,1,1,1,1,38,2,2,1,259,2,1,15,35,16,6,1,1,5,1,1,1,1,1,1,1,1,16,4,1,1,2,1,19,15,17,1,10,1,138,3,2,7,2,2,1,190,4,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,11,8,1,1,1,1,1,1,39,1,1,1,68,1,1,1,1,2,1,15,57,8,2,1,170,1,1,1,1,1,1,223,88,1,2,1,1,3,1,1,33,1,1,3,1,24,4,3,8,2,2,1,1,1,1,1,1,3,1,1,1,1,2,1,1,1,2,915,3,3,2,7,1,1,1,1,1,121,2,62,1012,1,2,1,1,1,2,1,1,7,1,2,2,246,188,5,1,1,1,1,1,2,1,1,1,2,1,1,1,1,4,1,255,1,1,1,5,2,1,1,1,1,1,1,1,12,2,43,1,1,3,1,1,1,1,121,1,3,1,6,1,1,158,1,1,2,1,1,1,1,1,3,1,1,1,4,1,1,9,1,390,4,2,1,2,1,1,3,7,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,2,1,1,1,1,1,7,1,1,1,8,2,2,1,1,1,1,1,1,1,3,39,1,6,2,1,4,4,1,2,12,3,2,38,1,1,1,1,1,1,1,1,4,1,16,1,188,2,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,3,1,1,9,10,1,1,2,1,1,1,1,1,1,1,15,1,2,1,1,2,1,1,3,1,1,1,1,1,4,1,2,1,1,2,1,18,3,1,1,1,1,3,2,1,4,107,1,1,127,1,1,1,1,1,1,1,3,1,1,1,1,1,12,8,21,308,1,3,1,1,1,1,1,1,1,1,151,1,1,3,1,1,1,1,1,2,19,2,1,1,1,298,1,1,78,2,1,2,1,661,1,50,1,2,2,138,32,1,1,1,1,1,1,1,1,2,1,1,1,1,2,16,2,1,25,2,1,1,1,1,1,1,1,1,1,1,1,1,50,13,1,1,1,1,8,1,1,1,5,1,1,1,4,1,1,72,40,2,9,2,1,1,1,1,9,2,2,1,1,1,1,35,3,91,1,1,1,16,1,2,19,1,1,1,1,3,1,1,18,1,62,1,1,1,2,6,1,1,1,2,8,3,3,1,3,5,1,3,1,1,1,1,142,5,4,2,1,21,130,4,1,13,1,1,1,1,11,1,2,1,19,1,1,2,1,1,1,5,1,1,1,1,1,1,1,1,14,1,24,1,1,1,1,1,28,1,1,2,19,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,1,9,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,453,5,2,7,18,2,1,1,1,1,1,1,1,1,1,3,1,2,1,1,23,1,1,1,1,17,1,1,1,1,918,3,73,1,10,1,1,1,1,1,525,1,3,2,23,1,1,1,6,1,1,1,1,2,2,31,23,1,1,5,1,2,2,18,1,1,1,1,1,1,1,2,1,1,1,1,1,16,1,1,1,9,1,1,4,2,1084,2,1,2,4,2,1,2,4,16,7,1,3,1,2,1,13,1,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,1,1,1,2,1,2,1,1,1,1,1,5,1,1,1,13,1,1,1,13,1,2,11,1,1,1,1,1,20,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,4,1,3,1,1,1,1,3,1,2,3,1,1,1,1,1,1,6,1,1,1,1,2,1,1,3,1,1,1,2,1,1,1,1,1,1,1,1,1,1,5,2,1,20,1,1,1,1,25,3,9,4,1,1,7,43,1,1,1,1,3,1,1,1,1,1,5,699,1,1,1,1,1,1,4,1,1,10,1,2,3,2,1,1,1,18,1,1,1,2,1,2,1,1,1,1,2,2,1,1,1,1,1,1,1,4,13,80,1,428,1,1,3,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,51,17,1,5,4,2,2,119,1,1,1,1,1,1,2,1,2,1,8,1,1,2,3,1,1,2,49,27,3,1,69,3,1,2,1,576,1,2,1,1,1,24,1,5,257,1,1,1,1,1,1,1,2,1,15,1,21,1,99,1,1,4,2,3,1,1,1,1,9,26,1,1,1,1,1,116,10,1,6,1,1,1,1,4,1,1,2,1,1,3,1,4,1,1,5,84,1,1,1,1,1,3,3,1,1,11,3,1,32,3,1,1,4,1,1,1,1,1,2,2,1,1,1,11,19,1,1,1,1,1,1,1,1,1,1,7,90,106,4,1,6,11,1,1,1,1,18,9,1,1,25,1,7,2,2,1,158,1,1,3,1,6,2,1,1,1,37,1,1,1,5,1,1,2,8,1,1,1,1,1,9,2,95,69,2,1,1,1,1,1,1,2,1,1,1,1,1,1,2,3,2,1,1,1,5,1,1,1,1,2,1,1,994,10,4,8,1,3,2,1,1,1,2,1,1,1,1,1,3,2,1,1,1,2,3,1,1,2,1,1,2,2,2,1,1,6,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,8,2,1,1,1,2,1,1,10,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,3,1,1,1,2,1,1,53,3,1,1,1,2,1,37,1,1,1,1,187,1,319,1,5,1,1,1,1,1,1,2,1,17,62,10,1,197,1,5,1,1,1,1,1,1,229,1,1,353,1,1,1,65,2,1,1,1,1,79,2,2,22,1,10,166,1,5,102,1,1,1,1,2,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,12,2,1,1,1,1,2,1,1,1,1,1,3,2,2,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,4,1,194,1,276,1,2,919,1,1,1,3,1,1,8,13,1,1,1,1,18,4,4,36,5,72,1,1,1,4,1,1,1,1,1,20,15,1,1,5,2,1,1,113,3,2,2,1,1,1,1,1,3,16,1,1,1,1,1,13,18,76,89,29,1,1,1,1,1,1,2,64,1,1,1,1,1,1,2,9,1,1,2,1,3,3,1,4,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,260,2,1,1,755,1,9,1,1,2,1,2,2,2,2,1,1,1,1,1,1,1,1,1,12,138,1,1,1,33,9,3,206,1,1,1,4,1,1,1,7,209,3,3,9,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,2,1,1,1,1,150,9,2,1,3,6,1,1,1,1,2,1,23,1,2,1,2,1,1,1,5,2,1,1,5,3,1,1,4,1,1,8,1,1,1,1,760,1,1,1,1,1,42,1,1,1,1,2,1,1,1,1,1,72,1,2,1,3,1,1,1,1,1,1,812,1,1,1,1,1,1,1,1,1,1,1,1,4,1,93,7,1,1,1,1,1,2,2,2,4,91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,417,1,1,1,1,54,1,1,2,3,374,2,1,1,2,1,1,1,1,3,1,1,1,179,1,1,4,1,2,2,1,1,1,1,4,1,2,15,1,1,1,1,1,1,2,1,1,1,1,2,3,1,2,1,1,2,3,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,9,2,2,1,1,3,1,5,30,1,2,5,4,1,11,1,115,1,1,2,1,3,6,1,1,1,40,2,1,1,1,1,1,3,1,1,30,1,1,3,1,1,49,78,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,4,3,3,1,10,4,1,4,2,6,4,1,1,1,26,1,1,1,1,1,6,1,241,10,1,2,1,1,1,7,2,1,2,2,1,1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,7,3,1,1,1,3,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,49,1,1,1,1,52,2,1,3,1,1,1,1,8,11,1,1,1,1,1,1,1,1,1,1,27,1,1,2,11,1,1,1,1,43,1,1,1,1,1,1,1,1,1,1,16,3,1,1,133,1,1,1,14,8,1,1,1,1,57,3,1,1,1,1,1,30,1,4,1,104,2,1,7,1,1,1,1,1,3,8,1,1,2,1,1,1,1,1,1,9,1,2,1,1,72,33,474,1,1,1,1,1,2,1,1,1,1,1,4,1,1,1,1,1,1,1,370,6,233,1,1,2,2,1,1,1,1,429,1,1,1,1,3,1,1,2,1,1,1,2,1,1,1,5,11,1,5,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,3,1,631,291,205,1,2,17,3,3,1,954,25,1,1,1,1,7,23,2,1,27,1,1,1,1,1,931,1,1,2,1,1,1,1,1,2,31,26,33,1,1,1,184,1,1,1,1,1,1,1,1,1,1,1,1,21,1,1,1,1,2,1,1,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,2,1,111,1,7,61,34,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,77,3,1,1,1,1,1,4,1,1,1,1,1,1,1,6,1,1,1,5,1,3,1,15,2,2,11,1,2,1,1,2,72,2,5,1,1,1277,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,23,1,1,1,1,1,3,1,1,1,1,1,2,1,1,1,3,1,1,1,1,1,1,1,3,1,2,2,1,2,1,1,1,1,2,1,30,1,1,1,2,9,1,2,470,1,2,2,1,3,3,1,1,1,2,1,64,1,1,2,12,3,2,1,2,112,1,1,99,3,116,1,1,38,2,2,1,15,2,158,541,2,1,1,1,1,2,1,1,1,1,1,2,1,1,360,54,1,2,1,1,3,1,1,2,56,1,5,2,1,7,2,15,3,26,4,68,1,1,1,81,1,1,1,421,1,1,1,1,20,6,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,3,1,1,3,2,1,2,2,1,12,3,1,24,1,1,1,1,1,2,2,1,210,1,1,3,1,1,1,1,1,18,4,5,5,1,37,16,1,1,1,1,1,2,4,1,1,1,1,1,280,1,1,1,3,1,124,1,16,2,1,1,33,1,1,1,1,9,295,5,1,1,16,1,1,6,1,1,284,7,1,58,3,1,1,104,1,1,1,1,2,145,3,14,1,1,1,24,72,1,2,1,1,1,3,1,1,1,4,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,12,5,2,2,1,142,1,6,1,1,1,7,1,38,1,1,1,1,2,1,154,3,2,3,4,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,102,1,1,4,2,109,1,2,2,13,235,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,58,2,99,1,1,1,4,2,16,1,1,7,2,1,1,1,6,2,1,1,1,4,11,1,2,5,4,1,5,477,1,4,1,189,41,23,34,3,43,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,126,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,25,115,11,2,1,2,2,8,3,1,610,1,96,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,23,8,5,12,1,1,9,1,2,1,602,1,1,1,1,2,1,3,1,1,1,1,1,1,1,3,6,1,1,1,3,1,1,2,1,2,1,1,1,3,1,4,3,63,1,8,1,1,4,1,7,2,1,1,1,1,1,1,3,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,3,1,1,3,1,6,1,1,1,1,2,1,2,1,21,1,1,6,3,1,1,3,1,5,1,10,5,1,587,449,1,1,5,2,193,1,15,3,1,2,1,1,1,1,16,1,1,1,2,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,404,122,1,7,1,210,1,141,11,1,1,1,1,3,3,5,1,1,15,4,1,573,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,6,8,1,1,67,7,1,24,4,274,56,6,1,1,1,1,3,1,10,1,1,234,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,13,2,1,1,2,1,9,1,1,1,1,1,1,1,2,1,1,1,4,5,1,1393,2,1,2,1,2,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,4,1,7,2,16,1,2,1,1,1,1,2,2,1,4,710,253,1,1,251,1,1,1,10,3,1,1,1,1,1,1,1,1,10,1,2,2,1,1,2,1,1,1,1,1,1,1,2,4,2,1,4,1,6,3,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,2,1,1,1,1,1,50,2,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,45,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,2,19,1,1,1,11,12,1,1,1,1,1,1,6,151,1,1,1,2,1,1,6,1,1,211,1,1,1,1,3,2,1,158,3,1,2,9,83,1,1,1,1,1,1,1,2,1,1,15,1,1,2,2,1,28,8,25,158,17,1,1,2,2,133,1,1,1,1,295,1,2,1,1,1,7,1,1,1,1,5,441,1,1,1,2,1,16,1,2,1,1,2,1,10,1,20,3,103,1,5,1,2,8,1,1,5,1,19,13,1,1,1,10,1,2,1,1,1,2,1,1,1,1,1,1445,6,1,1,27,6,9,1,1,1,3,1,1,1,1,1,1,1,4,1,1,103,11,1,1,4,1,2,1,1,1,22,2,34,4,1,1,1,1,1,1,1,1,1,61,1158,1,1,1,1,1,1,1,121,2,2,4,2,1,1,1,1,1,1,1,1,9,80,1,1,1,1,1,1,1,3,1,535,3,1,1,7,1,1,1,1,1,3,1,1,1,1,1,1,3,21,1,1,1,1,1,2,1,1,4,1,1,1,3,1,1,2,1,13,1,2,1,1,1,2,1,1,1,1,1,2,1,8,1,11,1,7,2,1,1,2,1,1,12,4,1,1,2,1,1,1,3,1,1,1,1,1,1,1,2,1,1,1,3,1,1,1,1,6,1,2,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,3,1,1,2,1,1,1,1,2,11,1,1,1,1,1,1,1,1,1,21,1,1,1,2,1,1,1,1,1,3,1,2,1,1,1,1,1,5,1,3,69,21,2,1,1,1,1,1,4,11,4,3,1,2,1,1,1,6,4,1,1,1,1,1,25,14,2,1,1,1,1,1,1,7,1,6,146,2,1,1,1,1,1,2,6,1,1,1,1,1,1,1,7,2,2,1,1,1,1,8,7,86,3,1,207,1,2,1,2,1,1,1,1,1,2,1,1,1,1,1,3,1,1,1,1,1,5,1,1,1,1,1,3,2,1,1,1,1,1,27,4,1,1,1,1,1,1,2,3,1,1,1,449,1,2,1,1,117,1,3,12,1,1,2,1,4,1,1,1,2,2,1,1,1,1,2,2,1,4,369,1,1,1,1,1,1,1,11,1,25,1,1,1,109,2,1,394,1,1,6,1,1,1,3,388,1,1,1,1,1,1,1,1,4,1,2,468,5,17,1,2,1,4,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,85,31,17,1,1,1,1,1,1,1,1,11,1,3,2,1,3,1,1,1,1,1,6,3,8,1,1,1,1,2,1,1,1,2,1,1,1,9,1,2,3,1,1,9,1,1,1,1,2,2,2,1,1,1,4,1,15,1,1,1,1,8,2,1,14,1,1,1,1,2,41,913,1,1,1,2,2,1,1,1,1,1,1,1,2,3,8,1,1,25,1,1,1,1,2,1,1,1,2,1,4,7,1,1,1,20,1,2,1,1,1,1,1,1,1,1,1,2,2,5,2,1,1,1,8,1,1,1,2,2,3,1,6,1,1,1,539,1,1,2,1,28,1,1,1,1,1,1,1,1,1,9,1,2,1,1,1,2,1,1,1,24,1,1,1,1,1,4,10,1,1,28,13,7,1,1,1,1,1,1,5,1,1,1,1,1,1,4,8,2,61,1,1,192,1,14,163,3,2,1,1,1,1,125,5,9,1,1,1,112,1,1,3,2,1,1,1,3,1,1,4,1,1,2,28,2,1,1,1,1,1,1,27,1,1,7,3,7,1,92,72,1,2,173,1,3,1,1,1,30,2,1,1,1,364,1,4,1,1,15,3,1,1,1,1,2,59,1,1,1,1,11,1,1,2,2,1,1,1,1,1,1,3,6,21,1,289,1,2,1,1,1,1,1,1,1,1,1,1,7,2,3,1,1,1,1,1,1,1,5,2,1,2,1,38,1,1,5,42,3,3,3,13,56,1,1,1,5,19,1,1,1,1,1,1,1,1,1,1,9,100,1,1,1,10,2,1,1,1,6,1,1,3,1,13,1,1,1,1,1,3,3,1,1,2,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,1,4,1,1,12,14,4,1,9,1,1,1,15,548,1,55,1,1,1,1,2,1,2,1,1,1,3,2,1,1,3,1,1,1,1,3,1,1,1,1,1,1,2,2,22,1,2,1,8,108,1,1,2,1,1,2,2,213,421,1,1,1,1,1,2,1,39,1,1,4,15,1,1,68,2,1,1,1,1,1,1,9,13,1,56,237,1,1,1,1,888,1,1,1,18,1,1,1,1,1,1,1,1,1,486,1,20,1,1,1,2,2,1,13,2,1,1,1,1,1,3,1,1,1,1,1,1,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,77,1,1,1,1,12,1,4,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,12,1,1,1,1,3,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,68,4,1,1,1,1,614,3,2,1,1,2,2,1,1139,1,1,1,7,1,1,1,1,1,1,1,1,1,1,2,2,1,4,1,2,1,1,1,1,2,3,1,1,1,1,1,1,1,2,1,1,1,2,1,1,2,5,2,1,1,2,13,4,31,253,6,1,1,1,19,2,296,4,1,1,152,1,23,1,6,3,1,4,1,1,34,7,49,2,1,1,1,1,1,1,38,1,2,1,1,1,8,1,1,1,3,1,1,4,1,1,1,1,1,1,1,1,2,2,3,1085,1,1,4,1,1,14,1,1,1,1,2,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,1,1,1,4,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,4,1,1,1,1,1,1,4,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,1,1,2,1,1,65,1,326,2,1,3,1,1,1,1,1,3,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,154,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,11,1,1,1,1,1,1,1,1,1,2,6,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,298,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,17,92,1,1,2,1,1,1,1,2,2,1,1,3,1,2,1,1,2,1,1,1,1,1,5,2,1,7,1,1,14,1,100,2,686,5,3,1,1,1,2,2,1,1,1,2,1,20,1,2,1,1,11,1,1,1,1,1,1,5,2,1,1,1,1,1,1,1,1,1,1,2,5,2,3,1,1,1,1,1,1,1,1,1,1,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,8,2,1,1,2,12,1,5,2,1,3,2,3,1,1,17,1,2,1,1,1,1,3,1,1,1,3,1,1,2,2,2,2,12,4,57,1,2,2,133,1,1,3,4,5,1,1,1,1,3,4,1,1,1,1,288,1,1,3,3,2,1,1,6,2,11,90,1,2,1,3,1,1,1,3,1,1,1,1,1,1,1,1,6,2,4,4,1,1,1,1,1,1,86,1,4,2,1,1,1,1,14,3,287,1,69,11,5,1,157,2,1,20,19,2,5,7,2,2,2,2,4,47,1,1,1,1,529,1,1,1,3,1,1,1,13,1,68,1,1,1,1,1,1,1,10,1,1,179,28,2,1,3,2,242,2,1,5,1,1,1,1,1,3,2,1,1,1,1,1,1,1,1,2,1,1,1,88,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,2,1,3,241,2,1,1,9,1,1,1,1,1,1,1,1,1,1,1,15,3,60,1,1,1,1,1,1,1,3,15,3,1,1,1,1,1,399,3,1,7,24,1,1,41,215,5,988,1,1,1,2,2,1,9,1,1,6,1,1,88,1,1,1,51,2,1,7,332,15,2,2,40,1,3,4,3,385,3,1,2,1,1,1,1,1,1,2,2,69,2,1,151,1,4,1,1,1,295,1,1,3,2,1,1,1,1,2,1,1,2,1,5,2,31,4,1,1,2,1,1,1,4,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,5,1,1,1,1,132,1,4,1,46,20,1,293,3,1,1,1,1,1,1,1,1,1,3,6,25,8,10,1,1,1,317,31,1,2,1,1,1,1,49,1,9,26,3,8,1,1,1,1,1,1,1,1,399,142,11,60,1,1,1,1,1,1,1,1,1,1,1,1,3,2,3,2,1,1,1,1,1,1,2,8,11,1,1,1,1,1,1,12,1,1,1,1,1,20,1,1,263,1,1,1,1,1,1,1,1,1,1,5,7,2,1,3,1,1,1,1,1,1,1,3,23,2,1,1,1,1,1,2,1,1,3,1,1,10,1,1,928,1,1,6,4,3,206,2,99,4,99,1,6,1,1,3,3,3,2,18,1,1,73,1,41,9,1,1,1,6,2,1,82,47,4,3,1,1,2,2,1,18,1,1,1,1,1,1,1,20,1,2,1,1,1,2,3,4,1,1,1,24,637,1,1,3,1,4,1,1,1,1,1,2,1,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,14,41,1,1,1,14,1,1,14,1,1,1,9,1,4,1,1,1,1,8,2,1,2,23,168,1,128,49,1,1,1,1,2,2,5,1,1,1,309,42,18,90,1,1,1,1,1,318,1,3,1,1,2,1,1,35,1,24,1,2,3,1,1,1,1,1,2,1,1,1,1,5,167,2,1,1,2,1,1,1,1,1,1,1,3,1,1,1,1,1,3,3,1,1,16,3,28,10,2,1,1,1,1,1,2,1,244,1,1,1,4,1,1,1,1,2,1,52,1,1,1,1,1,1,1,1,2,4,2,1,1,2,1,8,74,1,1,1,1,5,7,2,16,1,36,2,1,1,1,2,3,1,3,4,1,1,1,1,1,11,1,1,1,6,4,1,1,1,2,2,1,1,1,1,1,1,1,1,6,133,1,1,2,3,2,1,1,1,1,1,2,2,2,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,12,1,1,40,1,1,13,3,2,75,2,1,1,1,1,1,71,2,1,1,1,1,1,1,1,2,1,1,1,1,2,1,18,1,1,4,1,76,2,1,1,1,1,1,24,1,1,1,2,730,394,1,1,1,1,6,1,1,1,1,1,1,1,1,1,2,1,2,2,1,2,3,1,2,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,10,1,1,3,5,1,1,1,2,1,1,2,1,1,1,1,2,1,1,1,1,2,1,146,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,2,1,1,3,1,1,1,1,2,1,8,1,1,2,1,2,1,1,1,7,1,1,1,1,3,1,2,12,1,2,1,262,1,1,1,1,3,2,1,22,1,183,17,181,2,1,1,1,1,1,2,2,1,1,5,1,1,1,1,1,1,1,1,1,1,1,594,1,1,2,2,1,1,1,6,1,1,1,1,2,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,9,1,1,1,1,2,1,1,1,1,1,1,20,1,2,2,1,1,1,1,1,3,1,16,8,3,1,1,1003,1,1,10,17,1,1,1,41,1,25,1,1,2,1,1,63,7,1,1,1,7,1,1,1,3,1,2,2,1,4,12,1,124,7,1,1,1,1,2,2,1,1,1,2,2,1,1,13,1,4,1,1,1,896,1,1,2,1,1,1,1,1,1,1,1,2,1,28,2,1,1,1,1,1,16,1,4,1,1,16,5,4,1,1,2,1,1,2,1,1,1,4,26,3,4,1,1,2,194,1,1,1,1,3,1,1,3,271,1,1,1,5,1,1,2,2,2,1,1,1,1,1,491,1,603,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,11,1,1,1,1,1,6,12,251,3,60,30,1,6,5,1,89,1,4,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,40,1,2,2,3,4,3,1,1,34,1,6,98,1,6,1,60,19,1,12,2,1,2,2,3,2,1,1,1,84,7,72,1,1,30,129,1,1,1,8,7,1,1,1,1,331,2,4,1,248,1,1,2,1,1,1,2,2,1,1,18,1,1,15,1,1,103,1,1,1,1,1,1,1,1,4,1,1,1,1,6,1,1,1,1,5,1,6,1,1,1,136,5,7,5,10,1,4,37,2,1,1,5,1,3,5,204,1,1,1,1,1,1,1,1,1,297,47,247,2,4,20,1,1,2,3,4,4,4,17,98,9,1,1,1,23,1,4,27,1,1,228,1,1,1,2,4,1,1,1,1,1,1,8,3,1,1,3,1,1,1,1,1,1,1,1,1,7,1,2,2,93,1,1,1,1,1,1,1,5,6,1,1,1,1,1,2,1,1,1,1,2,1,1,881,1,23,1,2,1,1,2,1,2,1,1,1,2,1,1,1,1,3,1,1,3,1,1,1,1,1,2,1,1,111,1,1,1,1,1,2,10,2,1,1,7,173,2,6,1,2,18,136,4,1,2,161,1,1,1,1,1,4,10,3,11,57,3,1,11,1,8,1,1,1,1,1,1,1,1,28,1,1,1,1,3,18,1,1,1,1,1,4,3,5,8,1,1,1,13,1,1,1,1,1,12,4,1,904,3,2,1,1,1,1,1,1,1,1,1,13,1,1,1,1,1,1,1,1,17,2,6,2,1,1,1,1,1,1,1,1,1,1,1,1,2,3,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,4,5,1,1,1,4,1,1,15,1,1,1,1,1,1,7,1,2,1,1,1,1,1,3,7,2,20,1,3,1,1,1,1,1,1,23,1,53,1,1,1,2,1,1,6,12,1,1,1,1,1,4,1,2,1,1,1,1,1,1,2,1,1,4,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,12,5,1,1,6,1,1,7,2,4,1,2,1,30,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,25,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,6,2,1,1,1,1,1,1,1,1,13,1,1,1,24,1,3,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,199,2,6,2,2,2,4,1,1,2,61,25,39,1,4,1,1,1,1,1,1,11,15,1,1,1,1,1,1,1,27,1,1,2,59,7,2,1,1,1,1,2,343,1,1,1,1,1,18,1,1,1,1,2,3,1,1,1,1,1,1,4,3,1,1,1,1,2,1,10,1,1,3,1,1,1,85,7,1,2,3,1,1,119,2,17,1,1,1,1,1,1,1,10,12,3,2,1,49,5,1,1,15,1,12,3,1,1,1,70,1,1,532,1,2,1,1,1,19,1,1,1,1,624,1,25,1,2,36,3,3,1,2,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1,4,1,1,1,1,1,2,1,1,2,15,1,1,19,6,1,1,1,1,3,5,2,2,19,1,1,1,1,1,361,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,3,1,6,186,1,4,12,1,1,2,1,1,1,1,6,1,1,1,2,2,1,1,1,1,1,1,1,5,1,1,3,2,1,1,3,1,1,4,2,3,1,1,1,2,1,1,1,3,1,1,1,1,1,2,3,2,2,82,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,1,1,7,2,2,6,1,1,1,1,1,1,1,1,1,1,1,1,3,64,1,1,1,1,1,1,1,11,1,1,1,1,2,18,2,1,1,1,3,23,34,1,1,1,50,2,6,3,1,1,1,6,1,1,121,1,24,1,1,1,2,1,3,3,2,1,1,1,1,1,1,1,1,1,658,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,103,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,3,16,96,2,6,9,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,3,1,1,1,1,224,1,1,1,1,1,1,1,2,1,1,1,1,7,1,4,7,360,2,1,1,1,1,3,1,1,1,3,195,133,27,8,7,158,1,3,1,1,2,3,1,1,2,1,1,2,1,1,1,3,1,1,2,135,5,50,1,3,10,1,386,1,139,1,1,1,17,17,2,20,38,5,1,1,1,1,1,1,1,69,1,84,1,1,1,1,2,1,18,1,1,2,1,2,1,1,1,1,1,1,1,12,1,9,1,8,1,13,2,23,38,1,1,1,1,2,1,1,1,2,1,54,11,2,14,3,2,4,942,1,1,1,1,1,1,1,3,7,7,1,1,3,1,1,1,3,110,1,3,1,1,1,1,1,1,1,1,7,1,1,2,1,13,1,1,1,1,1,488,1,1,2,2,1,1,1,1,1,1,2,1,2,276,1,4,1,1,18,1,1,1,1,1,3,2,1,1,1,1,1,5,1,8,1,1,1,1,1,1,3,2,2,1,1,2,1,3,2,2,7,1,12,1,1,2,1,1,1,1,1,2,1,4,1,1,2,1,1,1,1,1,1,1,2,2,1,2,3,1,1,3,13,2,1,6,1,1,1,1,4,2,1,1,2,1,1,165,14,3,2,1,2,3,14,1,1,1,4,1,1,2,3,1738,355,1,1,2,1,1,1,1,1,1,1,1,345,1,1,2,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,6,15,1,6,30,2,1,1,1,1,1,1,50,2,5,3,3,1,1,3,2,1,1,1,2,13,1,17,1,1,3,3,2,3,1,1,1,1,1,2,1,1,1,1,1,1,1,5,7,1,1,1,1,3,1,3,2,5,1,1,1,3,1,8,3,1,1,1,1,1,1,1,1,13,1,1,3,1,1,129,5,5,1,2,1,1,1,1,22,1,1,2,3,51,1,2,4,2,2,2,3,1,3,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,7,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,9,1,50,2,1,1,1,1,2,1,4,1,1,1,2,1,1,1,1,1,8,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,2,1,2,6,1,2,1,1,1,1,1,2,1,2,1,1,2,1,7,1,2,2,1,1,1,1,2,1,2,1,2,2,2,2,1,1,1,11,1,1,1,2,1,1,4,1,1,1,1,1,1,1,1,2,1,1,4,2,1,1,1,5,2,1,1,1,11,1,3,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,5,1,1,2,2,1,3,1,1,1,1,5,1,1,2,2,2,1,1,1,1,3,15,74,1,1,2,1,1,1,1,2,3,1,1,2,1,1,2,1,1,1,50,10,1,1,1,1,1,1,1,1,1,2,214,2,1,1,1,1,1,1,1,1,3,2,1,1,4,1,2,1,3,1,1,1,3,1,1,2,2,1,1,4,1,1,2,3,1,1,1,1,1,1,1,1,996,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,16,1,1,1,1,1,1,47,1,1,1,1,1,1,1,2,10,1,1,1,1,1,1,1,1,1,1,2,1,1,10,1,1,4,1,1,1,25,1,2,1,4,1,1,13,1,1,2,1,2,1,1,1,10,1,1,1,1,1,8,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,3,1,1,3,1,1,5,1,9,3,1,1,1,1,1,1,1,2,2,1,1,1,1,1,2,1,1,3,4,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,4,1,1,1,1,1,1,1,1,1,4,3,1,2,1,1,11,1,1,5,1,4,1,2,1,1,2,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,3,3,1,2,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,1,1,1,1,15,1,1,2,4,10,1,3,2,1,1,1,1,1,1,2,1,22,1,1,6,2,2,1,16,1,1,1,1,1,2,1,2,1,323,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,4,1,1,3,1,1,1,1,1,6,1,2,2,1,1,1,1,1,1,2,1,1,10,2,1,1,1,1,1,3,2,2,3,2,1,1,1,1,7,1,1,1,1,2,1,1,1,1,2,1,13,1,1,1,1,171,1,1,11,2,1,7,2,2,1,1,1,1,2,2,2,110,2,1,2,1,17,3,2,1,1,731,1,1,327,1,1,1,15,1,1,11,291,17,1,1,1,1,1,1,1,1,1,1,1,3,67,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,3,2,1,3,2,9,3,1,1,1,1,1,2,1,1,1,2,1,26,1,14,7,1,6,5,1,3,28,2,1,1,828,1,1,1,1,1,1,4,4,1,1,1,2,2,1,1,1,1,1582,1,1,1,2,12,1,4,2,1,2,1,2,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,6,4,1,1,471,1,2,1,1,1,1,1,1,1,1,3,1,1,1,1,26,1,2,3,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,13,1,1,1,1,1,2,3,3,1,1,1,1,2,1,5,3,1,2,2,1,1,1,1,1,1,3,1,10,1,5,2,1,1,1,1,1,1,1,1,3,1,1,1,1,2,1,1,1,5,1,1,1,83,1,220,1,2,1,1,11,1,1,2,15,9,1,2,1,1,24,1,3,2,1,4,1,1,1,1,1,250,1,3,3,2,1,1,2,1,1,1,1,1,1,1,596,2,26,1,1,1,2,1,1,67,60,1,1,3,1,1,356,2,1,1,2,1,1,1,2,1,10,9,1,1,205,18,1,1,1,401,1,1,11,2,1,2,2,7,1,1,1,1,1,2,837,1,1,1,21,60,2,1,1,1,1,613,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,20,76,1,1,1,1,1,1,67,1,1,1,2,1,1,1,2,1,1,1,1,1,2,1,1,2,109,1,1,1,1,3,1,3,1,10,1,1,2,3,1,1,1,1,17,1,1,1,1,2,2,20,1,17,1,1,344,1,1,1,1,6,1,1,1,1,1,1,41,2,1,3,5,1,1,274,1,1,2,1,1,1,1,3,5,1,1,1,1,5,2,154,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,439,1,12,12,2,1,1,1,2,2,1,1,4,1,1,7,1,2,1,5,1,1,1,1,3,1,1,1,1,1,1,1,164,2,28,1,294,1,1,1,1,1,11,1,1,1,1,1,15,4,1,1,1,1,3,2,1,2,1,1,1,1,1,2,4,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,9,1,249,1,32,2,71,2,1,27,53,1,1,3,2,1,1,17,4,1573,1,39,7,15,1,30,67,5,5,20,1,1,1,1,2,1,1,2,2,2,1,1,29,3,1,4,1,1,1,1,2,190,21,2,9,1,1,4,1,15,1,4,2,1,1,1,1,1,11,86,65,3,1,2,1,8,19,1,65,2,4,1,1,1,1,1,1,1,6,1,1,2,1,1,1,1,163,3,3,1,2,1,3,1,33,1,1,2,1,243,102,1,62,2,4,1,1,2,2,5,6,4,1,19,1,55,96,2,2,1,18,3,3,1,1,1,2,1,1,2,11,1,1,1,1,2,1,4,12,3,1,2,1,2,79,9,1,1,273,1,1,5,1,1,3,1,2,1,1,1,1,1,1,3,1,1,1,4,1,1,4,1,1,1,1,1,2,1,1,1,1,9,1,10,14,4,1,6,1,2,1,4,2,19,5,5,8,37,1,2,1,1,1,1,2,11,1,4,3,14,1,1,6,1,3,5,5,1,5,1,2,1,1,13,1,3,1,5,2,3,5,1,1,2,1,1,2,1,1,1,1,1,12,1,84,2,1,4,1,99,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,6,1,23,1,1,1,40,1,1,3,1,3,2,1,1,1,1,2,29,3,1,1,1,1,474,1,1,2,1,1,1,2,1,1,9,1,1,1,1,3,1,26,24,1,1,4,66,1,1,1,1,1,1,1,32,1,1,7,1,2,1,1,5,1,4,1,7,1,1,2,22,1,1,1,381,2,2,1,1,3,1,10,1,2,13,2,1,30,1,1,1,1,1,1,3,1,1,1,1,2,1,1,2,1,1,32,7,1,1,2,1,3,2,1,1,1,29,1,1,3,88,1,34,119,3,3,5,137,2,1,1,1,1,1,1,1,1,2,1,1,3,1,1,2,1,1,10,1,1,1,2,1,2,1,2,6,1,1,1,2,6,4,3,19,1,1,2,8,2,1,1,1,1,1,1,3,2,2,6,1,35,3,14,2,3,1,1,1,2,31,4,1,16,65,1,1,2,1,1,1,1,23,9,2,6,20,10,2,1,13,1,1,66,1,1,1,1,1,1,49,2,1,1,1,1,2,1,153,2,1,3,1,1,1,1,1,1,1,5,1,2,1,12,1,1,1,21,9,1,1,1,1,1,12,2,1,5,10,1,4,1,1,12,1,88,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,1,2,2,1,1,2,1,1,1,5,1,1,3,1,8,420,1,1,6,132,1,6,3,120,1,1,76,1,1,6,36,127,1,1,1,1,1,1,1,1,1,1,1,2,1,5,1,1,3,1,1,4,107,1,2,3,25,151,1,1,1,1,1,7,1,1,6,1,1,1,712,2,1,4,2,2,2,1,1,2,1,1,4,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,2,14,1,1,2,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,2,1,6,1,1,1,2,1,2,1,1,1,4,1,1,1,1,2,3,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,2,1,3,16,1,1,1,2,1,1,4,3,1,1,1,1,1,1,1,1,13,1,1,2,2,3,1,1,1,4,1,1,1,1,2,2,1,1,5,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,63,1,1,144,2,1,1,1,1,1,10,11,2,2,2,3,1,1,9,1,2,5,51,1,1,1,1,1,2,1,1,1,3,2,1,1,3,1,1,17,1,1,1,2,1,1,1,1,28,1,1,1,1,1,1,1,1,2,2,2,2,5,1,2,1,2,1,31,1,28,21,1,3,1,257,2,1,2,1,1,1,3,1,3,1,1,1,1,363,1,1,2,1,3,1,1,1,1,1,1,2,6,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,2,1,2,1,1,1,6,1,1,1,4,1,1,1,3,1,3,1,1,1,2,1,1,2,1,1,1,312,2,1,1,1,1,1,6,1,1,1,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,2,1,1,5,1,1,2,2,1,4,1,1,1,1,1,1,5,2,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,2,1,1,1,1,1,1,1,2,1,1,2,1,1,3,1,1,1,1,1,2,1,1,4,1,1,8,1,1,931,12,10,2,4,2,1,1,1,4,10,5,1,5,6,1,1,1,1,1,1,1,1,2,1,1,1,4,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,4,1,5,1,1,2,1,17,3,1,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,25,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,3,1,1,12,1,3,1,4,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,2,3,1,3,1,1,3,1,1,1,1,1,2,1,1,1,1,1,6,1,1,1,5,1,1,10,1,1,1,1,1,1,2,9,60,3,1,1,1,1,2,1,2,1,1,2,1,3,14,1,3,2,1,1,1,1,1,1,2,2,2,1,14,1,1,1,1,6,1,1,81,2,1,1,1,1,1,5,1,495,1,1,1,1,1,1,1,1,1,334,1,1,2,1,4,1,1,1,1,2,1,1,1,51,1,1,16,7,3,3,1,6,1,1,1,11,3,4,4,1,1,1,3,1,11,2,1,676,2,1,2,1,1,1,1,1,4,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,1,1,2,1,1,1,1,2,1,6,1,3,1,1,1,3,2,3,1,2,1,2,2,2,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,3,1,1,12,1,1,1295,43,85,2,4,2,1,1,1,1,4,2,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,25,9,2,1,26,7,109,3,1,1,1,52,1,6,4,20,5,1,1,524,1,1,2,1,1,3,1,1,1,1,1,2,3,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,5,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,2,1,1,2,2,1,2,1,2,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,5,1,1,1,1,1,2,1,3,1,1,1,3,1,1,1,1,1,1,47,10,31,1,1,1,2,6,2,2,1,1,1,1,2,1,1,1,24,1,1,1,1,1,6,1,71,1,4,1,3,2,2,269,18,1,2,3,54,448,1,1,1,1,1,1,1,10,1,1,1,1,1,1,1,1,3,1,1,1,1,1,2,1,1,1,2,6,1,1,1,1,1,1,1,2,1,1,1,4,57,1,64,8,1,1,1,1,1,1,4,2,77,1,3,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,2,41,1,5,1,13,1,1,1,1,1,1,1,3,2,1,1,1,1,1,4,1,394,5,5,1,1,1,1,1,1,4,1,2,2,25,1,2,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,1,2,3,1,406,1,1,1,1,3,3,1,1,1,1,1,143,3,1,2,210,1,1,2,1,1,1,1,1,2,1,4,4,1,1,1,1,1,85,7,2,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,1,128,1,1,6,1,1,7,1,1,1,41,1,2,2,1,93,1,1,1,1,1,1,3,1,1,1,1,47,1,1,1,1,1,1,1,1,1,1,2,15,1,6,5,1,1,1,1,4,1,1,1,4,1,3,1,1,1,1,2,1,1,1,1,1,1,1,1,11,1,1,1,290,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,1,1,1,3,1,1,1,2,5,2082,1,4,1,290,4,1,1,1,1,1,3,1,1,5,2,2,1,1,1,5,1,2,1,1,1,1,9,1,4,1,1,13,1,1,1,8,1,1,1,1,1,40,1,1,1,1,5,1,2,1,295,83,2,1,2,3,1,1,1,1,1,1,1,1,457,2,1,7,8,229,3,1,1,2,1,1,1,1,1,70,1,2,3,1,1,1,2,1,5,1,1,13,1,1,4,1,18,1,210,3,1,11,1,3,5,18,3,5,5,1,1,1,1,1,8,4,1,1,219,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,60,1,1,1,1,1,1,1,1,8,4,2,1,1,30,2,8,1,3,65,15,10,1,1,4,2,1,1,1,1,1,1,1,1,1,1,1,29,4,1,1,5,573,2,1,154,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,121,1,1,1,1,2,1,1,57,2,1,1,1,1,4,1,1,404,1,22,1,3,1,2,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,2,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,21,1,1,1,1,1,1,252,16,1,3,2,1,160,1,1,63,1,1,5,1,1,1,2,85,16,29,2,2,206,1,1,1,1,1,1,1,1,1,1,1,1,1,1,173,609,1,6,679,2,1,40,16,5,10,1,1,1,1,4,2,32,12,1,2,1,1,56,7,3,1,274,1,1,1,20,1,1,1,58,72,3,1,3,1,1,1,1,2,3,7,1,1,1,1,1,1,1,830,1,1,4,1,1,1,1,1,1,2,1,2,2,1,1,1,3,1,1,1,1,1,1,7,1,14,1,1,1,1,1,2,1,3,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,1,14,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,4,1,1,3,2,1,2,1,2,1,1,1,2,1,3,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,2,1,3,1,2,1,178,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,2,1,2,1,1,1,1,1,1,1,1,2,1,5,8,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,31,7,2,1,1,299,1,660,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,5,1,1,1,1,5,2,1,1,1,1,1,2,1,1,1,1,1,1,1,14,1,2,1,2,2,1,2,2,1,1,59,543,2,10,1,2,1,1,2,1,1,29,2,50,3,28,300,109,3,1,4,1,1,1,1,1,1,1,1,2,222,1,1,2,1,1,1,1,1,1,1,1,2,1,1,101,1,2,2,1,1,1,1,5,2,21,382,1,1,1,1,1,1,17,1,1,1,1,1,161,355,1,1,1,1,15,24,2,1,1,1,1,28,25,1,1,1,1,1,1,1,1,3,1,1,1,2,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,8,1,7,6,11,2,4,1,1,1,1,1,1,2,1,1,53,1,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,4,1,9,3,1,1,1,1,1,1,1,1,3,1,2,2,1,1,1,1,1,2,1,2,1,1,1,2,2,2,1,1,1,1,1,3,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,4,1,3,1,1,6,6,1,1,1,1,4,1,1,1,1,2,2,1,1,1,1,1,1,3,4,1,1,1,1,17,1,29,17,1,1,1,2,2,4,1,1,3,1,1,252,1,1,1,9,1,2,1,1,3,1,1,1,1,1,1,1,1,8,1,1,1,1,1,2,1,1,1,1,1,1,1,1,6,1,1,1,5,1,2,1,1,3,1,1,1,1,1,2,3,1,4,1,3,1,1,2,5,1,2,1,1,3,1,2,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,18,1,1,1,1,1,1,1,4,1,1,1,2,6,1,4,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,126,1,1083,1,1,1,5,3,5,1,1,1,1,1,1,24,1,7,2,1,1,1,2,2,2,1,2,1,1,2,2,2,1,1,1,1,2,1,1,17,1,1,2,1,1,2,1,1,4,2,2,5,3,3,6,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1],"postings":["F64","5Qki","ug2m","iwFu","nwYr","hwFC","lQeQ","lQeQ","lQeQ","lQeQ","lQeQ","lQeQ","wgch","iwEz","iwEz","iwEz","jg4o","/Q8u","2wEo","tg3d","lgF3","FcADkCgrA3YMUAGCFHkNKiJqGdEYWiReC11CMggvGnADkkNjCisE3F2zBFsUSKQByA6kTSsdmR1cHpwCUjF2FKQUSAZfIjA9hiqSAS8JNy4vE51pMAIeHZBRQwQmDJMFug0wCE8JTwIhECIJL17Cb2sNKwR7AysiLycuJGwCLiWyGx4bYh/aGscDMBG8SCQGbAkoByIBNy1EIeQ","zQpU","CEIWTBiHBTsSeR1mFjIGRxBCBeURJwkpfoAEtOkBKosCzydTOZICX0laXjFYkircmgGBDnQNqsYBORu2AzZJVz2cPCViskU2EFZ2hQ","nQcv","3QSc","gwuwKOM","zQok","iwFt","1Qax+AQqBLe5BIY","5ApX","7Akd","zAsx","5wN1","oQ63T7OaAYY","1Qsr","2Ql1","1wkn","yQ8l","9AIk","pwuy","vxB2","rA4h","1QazwAMw","+QVE","vQsv","wg8y","khAl","5gNZ","xwuT","7QRG","0gcq4QRc","0Qfk","oQ6l","2gEo","tAVm","+QTK","gAdK","pwyJ","0wEl","1wss","2A2s","vw5Y","4QiV","5wM4","tQEp","yRFH","vAwi","qQMw","vwtS","mA00","1g4q","iQsm","uQ8m","kQpM","pw81","lg0r","8A6f","rA4h","X5Y","hgsq","+wwt","NTY","phCC","xwuT","yg4+","vAwi","rwIt","pAmc","qwkk","Ij6XAWKIASjtAbvUAcgkPqwBKiONKGOxAzCrAXNqLfQCRA","3ggs","sQ0q","mA00","0QeI","lQps","hQmE","xQgy","pw+A","lQdp","wwEm","7QE1","kQ4l","nwYr","wAWK","wAWK","xQgy","pANC","qgmF","KjQ","kgoz","nwYr","4ggv","pwvI","iQu+","zAuQ","zgsw","mQsx","ogYv","3gah","1gIn","5giq","2A5Y","uQFLhAsmhQMcTUw","pgsq","/AMv","qwEl","gg4t","mgYz","nQuI","zQIx","nwVc","lw0t","KGg","vBB9","2gko","lAk3","7AdU","+wyc","+gwp","+gyBAYI","P2E","lg5p","XlA","P0w","hgtI","gBAk","qAlD","nwVc","pA+y","vA9y","nwVL","twEs","6geA","9AIk","sQ4h","kg8y","swFp8wkq","nwU4","nQiD","nwYr","6QKi","oQVy","1wco","0QF6","gBCQ","vwI8","9QE/","sgkq","0QF6","vQsv","8BE8","9g0l","pAFX","Wj6NDjEmcw","5Qwl","oQ4f","xBCn","nwax","mgsu","rQws","8BE8","+g45","gg4t","qQMw","5QlG","lhAp","xgws","twom","nQkq","lg4o","khBV","FCg","kg5b","xAcp","uApu","FCg","pwMr","rA4h","xBCe","FCg","4BHG","8wEp","8wEp","uw0j","xQuj","mgbG","3Ac3","uwEt","jw0t","pgsq","1wco","ug45","kRAx","ywsx","ywts","d20","+gcw","wgsn","kg8y","jw+c","kQot","+wNq","+g45","7Qhv","/Ako","aCs","7Qwl","wARx","hggp","5w5q","ug45","sQ2d","gAdh","5gkr","gBCQ","9AIk","1g9w","pg40","qQdc","gg5N","yAMq","FCg","7Qc9","9AKa","pAUh","hQlV","gQVc","oAV+","vwQw","/wa0nQYr","5Qlo","1wl5","kg8y","zQ8i","wAcjE4U","8wEp","yg4+","ig85","8wEp","ywsx","7Akd","0Ac78gYu","pgsq","9AIk","qAM9","5Aod","7Qs0","vQIv","nAtb","nAOO","wgch3wZf","8wEp","xwKn","TVA","2Q8g","6Ao7","8Aw5","9g+j","yQl1","yQl1","swQ0pgsg","iA82","swQ0","pQgvggOtsgQg","rRAo","gAWT","7Qs0","pQgv","pwut","rgFE","GXQ","+g45","2Q9H","+g45","KjSVBDCCAyrQAlG5AzjEATc","fjk","KjSVBDCCAyrQAlG5AzjEATc","qwwm","rgFE","zQJ86gYr","3w8q","2gM25wEqrwku","uQU5","sQ2d","eiU","zQqA","7gdP","2gOA","lQ4j","0AfEowJ0","+AU2","qQw2","mgsu","qQw2","pQ8q","uw6C","kAuU","HSo","rgFE","4Al1","+wMg","qAko","vQsv","yQl1","ug+E","uw3q","uw18","AH8vhQZZCn4XHhsqCXwLTRKkAyoHqAVtCHQEbANoBi0HuhGcDDBURAcrBdVlzQcvLC8GSQEwAdpgMC62BDQzVRBABbQ5QzNvQnIZ3R24DOooOAs3CWYHhUvEDjIRlFZZByEkaAQvAUUDaj0pE0QmSBkoIzMQORyiBI8GuwKFBa4jbAHgBY8ba0ytBdwNXQstHC0UPyEiCZwOVxouAS8ELRBEA4smggQ1J0MOQwJbAzUGewJTBFwBMAGfAXwHnBYqDLcJqRq+AnADwhejByY2KASSDUQBoQWHETsBcASBGptFnRabAqg1nw","iwGa","iwFu","iwEz","iwEz","iwEz","nAop","/QzH","uA4l","8AyK","nAop","xwvK","7Qqy","ggtW","kgxr","2hCB","2wKa6AFyzwKBrAKMuAZg","FVYbg16FAU8LKhJ3Fzwle12rFIAOqEdwUnQYXRHLGnIT0wkrBrMIRh3RpQLVFOdj2xOmDbML3UJ8mQEvcZMBqQ1YLGs7gwa3swGNK3EaZhB5HCFabgvWGyveAps","2wKaUC+kASuhAn0RwtsDuFVR","kwFXMGUOeooBs7YBwkXj9gLcZHGgATLrAlYqj1y7XKoBq3CgOmI","UDVZLOIHmQ","hAV2","dXrAAYoFYL8CsA","6A5W","gQWavgk1","hwgt","0QI4/Ax1","mgEq0AKV","+QVE","xw8p","0QWN","uw40","mQoj","0gVNhgJf","0gWUqwgu","T1DNBi+BCKw","1xBE","qwbP4QKSKtySBjM","cSo7lAlv9gHbzAOcuARPCU+KBF/3AZ0","CEI","FZpUgMEGdsEBN+gCL94Ba5oCvO4BnQ","nQ9k","gQku","mBE9","Q01pwVZ3eHktK0q+G1sUSBtlWOVCoxM1GG8KXwd2FLIBnwTmM+AcqwFYQsICaCvPKOEmhmF6nQGWSuofxXElF8As4jC5AtkZqBryAschyQHNGyU1bBLbTroS8AGnKWIgmTPiVTwG6BZICZMMtxFEEGwGnQdKAj0DuAG7AdMHuQrkEssFwAPCB7wDvQ","mwGDoQJpZCoYaMoBm9MBza4Di+4Djg","sQjI","rQtd","qg4r","sweb","9g1x","+QUn","9wwo","gQ/P","HSpMgBdqLJsxiz+kB90C4BB1DeQ4vQPjS0gOvwyDHLYOnwpLI50M0kFbFeIDaWGkEnYb3S/qAe1DswO/dcsGcSWtM2Ip1gyjE6R3zDJlICohixVcCVQc1GWYIbcKexGYEXkUygi0AkgdxgZ4A1wbVQjpAfElWlrMEeIB4yWXMZ0F7R+tCbc/7gFKCEQmjAPBATwKuALUBqwFPQ/CATwEygHGAVsE4QHXBqYBbAFIA14JcQZIDsgOwwjMHsAQ0A","wQRW","ggPl5wxE9wFy","8wjTsgYq","hAh1ywMe","9gHRlAGt7QPKMJ2lAoXuAkUrJcoBcpoBJZMC5w","VmAW0W1KDSueA9lOx0qAvwHakQId+wOXFso+NDM1StJFTg","hQ9t","rQtd","2A3mRDsfNLcCxTO1FLU","3Ap0","sQ0q","uQ8m","hAgt","rw21S18Bqw","qw8o","wAVA","qQNp","rAWG","9gI3","6w5Y","+gwp","oQEs","7wd7","ug5d","sAkt2ANu","wgWL8QpL","oQVs","jwF5","8BE8","nwR/","oQVy","5QJJ","kwmP","3Aa8","9AJ3","1wco","mQN1","8wEp","wAMvpQkl","3QMw","zQMr","nwU4","uQw0","9gI3","7Agx","lQxx","5QIr","nwkl","yA8z","7Awr","lgpv","sAKkFkocdGZIsQJOGHbLAm8ZuW08GzJmKgNSAydRIS8sXUoPZl+HQMwJgSMgHdAFLn5fJ7ogaFBsJVoDxQ26Ia4IRQ","ugs6","wA+j","1A4z","9QiS","hwFj","F4sDqrULcZkDVnEgV0I","8gic","8gic","phAq","nA6X","rwdCJrOrAtC4A1E","jQqC","mAmchgJ1","pwswwATgkwFEM6IBcw","3QQw5Qc02AJSSDk6ZA","5gErmQN0","5QIr","xA+l","iAtV","Q00","5wM4","Q3M3JQ","/Q1u","gQku","xgU4","8wx4","khBA","P5U","khAl","mA00","mA1o","swVf","3QlSgwN99wGl","wAEngQYquAMpEXqLA8c","5Q0z","xAwl","ugEn","TcCPB7U","nhB9","+gk4","H0s","yA93","Q00","mA1X","mA00","sgU2","0QJc","jwFGtwFK","wwEm2AsoICM","5gErD3CnCdo","8A64","2gGD","xwkz","9AKa","vQsv","U6B1krsMKg","qQox","+g51","pg40","qQox","7QE1","5QIr","lRAr","2QEq","lRAr","pgbTiwfF","5w5+","mgEq","mAMs","pBAj","ATE","9AI5","8gFp","qQox","rwpE","jwEp","SsQJug","REGfDh4","rwl7","6AON","wgchkAMv","oQ4f","ugEn","6w41","2wGT","2wFG","qQNp","xwc3oAcx","fyc","gBCQ","wgfL","uQRx7ghS","5AlN","5gkrzQaF","sAyy","7AYk","pwc1","+QUn","3wmm","zA9e","rg1T","1wco","twEs","ug92","2QEq","kgsp","3QMb","3QMw","3QMb","swR9","swR9","jgw1","8wEp","wgch","7wfN","+g45","kAsq","1w2T","9A29","pBAj","qQOZ","tA8p","lRAr","DNc","Njg","lwE8","Iy37CM8","NpL2CJjxAk8","RXLQCVa/Bik","xggo","3QIj","zARK","2A03","+QUn","/Q0Z","yA93","4w42","qQMw","oAUv","sxBL","/wkc","iA+Y","KXQ","hgsq","QoI","mgYz","2wEo","kQJ0","qwE3","3QMw","/g0v","pAUh","zgdX","6wxJ","yA8z","sw0k","9A1a","pBAj","2wFw","oQ4f","pgsq","+g45","6QS7","pgFH6AmW","lg4o","nw0t","jAJ9","yA+N","yA8z","zA+J","yA8z","aYAIXNwKKg","3wps","zgc1kQNsvwSW","3wps","2wbV3gOa3gY6iAG1","pAk6","FZrDCSKEAXRreQ2wxgFQ7wFB","0gZF9AgzAtUErw","wwyF","yAkq","3wcf","gBAk","pQ+G","1Acu","oQ4f","oQ5f","jg83","qwNw","0As4","pQck","vQsv","yw0y","pgkx","sQ3C","qgGeBioLY4QBPD1BHCwBnE8w/QNIFIQBjkuUoAEi+AGjEJdyKjgtXiUIGYMBp00i","/Q0Z","wgsn","lQFA5wIv","0Qc4","vwes","gBCQ","xAsm","zA9eAmFi0Q","3QMbhQaCnAGXTyptNXIxSLIPKqwBddsBuQ","nAopmAQg","5Qcq","wg8c","sAkt","nApr","pg+U","gBAk","hgwk","FHo","FZo","gwqK","0gdI","iBFh","rAEnhgmL","7wwp","sRA2","hgwk","1QFA","wwww","4w4e","zQ8i","zQ91","5gMn","zQ91","F33MDlk","hwgt","H1w","tQEp","mQoj","xQ8c","xQ8c","yA84","jwxW","uQx+","fyc","sQ2d","/Q1H","uA5B","uA7L","owW0","owot","jg6R","8guN","3QMb","mgWY","zwdB","ygqZ","hwi5xgdp","wAVA","xAFd","6A5J","yAeJ","gQll","9Qs4","3wPF","3wI5","kgE3kgGX","vhBE","8QQ0","mgpGAW8","5gFK2AlN","vhAn","yA93","Kkc","nQkq","vhAn","lhAp","jw0t","/Q0Z","CEI","vxCd","hwEm","ow1k","xAwl","pwc1","kwl8","owot","Jks","Jks","yw0y","8gGR","iQ9t","4wwu","9w8m","KXQ","wgsn","1wkn","owot/wUo","Frc","PUQ","ngU0","lgEm","6QdkkQMwvAbD","yg04","xghF","hQkzkART","hAhM","mQmAzgFx0wFX","kgwq","vwGV","3gko","xg+V","0xA0","uAw7dX0","lwGk","vwUv","9Aws","fyc","ogwx","5Qki","lg66","tAc0","xAvb","MEA","tgYxowSm4AOd","+w4vBThMKw","ogU3","pgY+oAIo","vQsv","0gu5","uwtc","7gWs1QYw","vBAx","9Q/N","gAMwzwYzxwYp","OMhCJQ","4wxO","fyc","fyc","mQoj","swRw","mQoj","mQoj","vAea","emg","4wwu","gBBY","mQoj","mQoj","5w28","GDM","rQ2J","jAEy","oAW7","C80","6Q5h","9AxL","+hBE","BL2QCYY","gA+b","7gV2","pwEfLCWXAjtJNJ4BQZkCQOACMx8nggMhJygFJLABKQkdDypzLA","wg8c","whAw","2Q8g","oAwr","pgEp","/AOv","pgEp","1Qoo","twEs","UDU8oBsfLCV9MZoBO0k0NTVpQdYBNUNA4AIzHyfGAUe8ASEnKAUkS0plKQkdDypzLA","1QpZ","7wc7","pgg5","pwEfLCXgAjSeAUH5BDMfJ4IDIScoBSSwASkJHQ","sAmU","lwGk","pwEfLCWWCSepAyi1ASk","jg9t","P5s","Vh5RHywlIGJaldABdacD35oBLEFBDy9onsIDNyXCqQE2","ALKMAXcfdU8nV3ifAc8YnI8B6xyfSJqTAc9FvALpsQGD8gFHAUe9AugE7XKaeUko2A","iwEzLCwDQyFgpwTJ0wHlMmudAV9puvADGQ","OFUXeAE1ggEmf4YjJCGoQzE4rRC2TqeLAaUJ8CnjLLdrIQLlCPAJ3QofFtQjxlriA95BzWCeQMDJAaMUpTmhS8Rl1x0hUGsp42C/KjFYUAuF","T3gBNS0mGXYfYIgBL90DVO0BiKICoCQk1AGykAEqJYs","CEKqAT4qvBk/XFy/Aa2vAVC6B72jAdOxASKKAUQ","OFUTZDJYHUgfLJUChRxkMmQLwoYD2JQBNMECezghqAGyEixJIjbRU0o","wAEngQEohgFqejTBAXCMAW0fvEiwpAMxNZLOAsEnTyl3","lQFAqAFnICP8C4Mo3j45bkU","AngVyQazAS0BSwTaBO4N1Qx0AoICnQHFAcgB1gZ5FSkHvAugArYFbQREAWoToR6tAaMDYAbcBXgEHgyRB9gG1QLMCYkMeAFlBcQIoi0tAaUC0ANzC8MBpQKrF0oCvA3bAW4O7wrsOLQGUAIpCbkOyQHfDCcGswGLFG8ZtgpiA/kE0QOmDcwNpg/FAq4CMgK8CtMX2QNqD+ADvQnmBnQT7wvGAbwGwAfRIcwJsgrwKfUB5gzeA3AB4guGAa8KiQOcAuEHuhigDnMKbhPiBHkEyQSoBc4BmwkoBYwL8AeKBe0B7QhbAjoLbQGaFKgE1BrEDFII3wJMDbwCswORE7cCLBJVAtIDzgG0A4gHqAH0DswD0wOwA3oQRgE5AcICewIvCM0srAQrA/IQNhTdAdMEdwTeA1IBKAGZAaYMqgExBdoETBt9CK0BqweEAbEGSwLrB5wUswQnAt4CvxAxDSoLkQhUBykFswStAbYDKgUsBowBnwjUBaECTgOjBSYEMghUCMEOtQS5BisSLwN7AWwLtwFsCCwBhwiLBs8IvxKvA+MD+AKFA5ojnANEAc4BtQHHBFIIpQM9ASQD2wH2A/UBoAV4AVUBwQMrDWAEugnHBroL0wHOAX8BrQFaASUDcgK7AcsCRwXpAXYUJAmqAcMCigdJAecBmgHvAuILggR0AskBNASkA84JyQXBEaABVgivBVAENQSgEMsJvQXVA7sROAe3AZACxgT2Al8B7gIcAiMEdgRwAYkDPwfGKoQE4AUbAtsHJAKbA3YBcgWhApICugbQBXwJtA0hATgZ2AW3CHoUhwrkA+oF3wXsCuUe1wPXAmMGygHGD+AISQdSB6MBjAHeMVgBwQKm","pQdF","5QmFASuXBC7KASk","qwFWjg6b","wgW/hARlvAFuQyQM54YCKGwv","2QKQnQslTS+EASk","7wGsrghQfzeVAkjmAi4","jAGgrgO7yAHJmAl5LyViJw","wwEmeqMtboABt8ECx48BeAopogJJ2wOqLIkV42CNNXIxomUo","UDXtAS9fPD42/wPh","bC1vKPQCdxGeQ6PJBJAhH5cCotkBGYACdx6HngGmN2I","Cq+WAWomximsdpJMnqACyAjrggHNfdWUAosRU27QWaATlU2iQlMFK4ABbyrUnAGPETKuAjw","hwEm1wY47wKp7gPDLZjRAqY","qQMw2AGbG969AmP5A93wAxw","iQShlQFptwLnqwF+JjHxBzo","HrA3XkvU1AE/jQLY3gIfhgK8B9ItI70BnrICygFgYMM","zwR3EMEimzKP+gmH6AG2","7wGbxAMy0gl8","kAGdCt3nBd1tplN3+wLM6gOk","gw+p","sQGDTW807x3GKeFi7U2ekQLFe8oRi94BekfJdp5kw/MBbXfy2AGx","0gSxkwWv","zAfJ","jgFY4AZPjgLLER+4AsC4AUa8AZQRJA","vwXBwwmJ","0Ac7","nwbA","7Alm","nQSq8AV0qwO4Ht6/A9I","pg/C","7AnQ+AJU","Bd4I4YYBKQGFIywCLAMvfishmipsBzKcAb8QLTZfM2yKAa8edQ7LAjhMtifuOsQtQD+6A74dwSTNKCh4qwhLJaIByD/jM9MZJQ1KCKIYpRDUKeU9IwbWINQVRRXGDiAM1hwlEj5+oQ1/A3s51R7LZVA","gwvB","8gGR5gXFzgfO","X2I","0gTE","RT1wYAIsIGkb2VExDpkKmifPhgHbaTQry70BOHqKGy9FJUDiDSEjjwqvYB99QDnVDB4IawFMXMMog3y/K3YZyWAuE8EWKhSUMEQnSAHVGicE0jjt","Djl5JijLDi0ycUbSBUkZJ5cBZIcBrM8CIwJ5BTcKWQfSAy8IOiFpffEjykEiB2YPjhYtBbQBr2F7EYMwMgcphAElNs0BzkSLN883qwcgB1cWzRtNEkgtKBkjBSUOxpkCyA","xBA4","0wElhg4g","rANu","3wNx","/g0v","mgW9","2Q8g","0wEl","5AmJuwNMEiqgAnk","TEaqAY1teoUBRoYBw8QEKh7cDa4D6AyRaUhqq4UB8JUDQQ","F30Df4wBKZoEQJ8ELrEFUAsw","qQ1g","4ATm","RXLADpY","7AY+OzXcArhkLscBL54BIg","pApS","jAe1ogfPwwJBCbQ","7gOzaWTsCpc","FVY","8AaiuQVKugIe","9QfG+gMx7wOE","qAQvXHY","9Qed","ug8w","3gos","3g+E","9wxF","NnU","GJCdAW+ICybQAnM","FZouTeQCK64Co40DL+ACJ8MB6jHqA9LlAbQYkqEBbB65Fkh8tA","mwGD","EzPEC7U","2gGi","mgku","9wwo","CpYOVStNngKK2AFxEHaSAuFBL8ABb/YBVBRlKirSAScFVukD7QdsJkkQtQo6G7httQ","oQGEC3ezAdrzA26oAYE5eWSFG4/jAYTNAWkNbz59mwGbMoUWPIUBKw","oAXHH6DdBm7LAck","9waX","kA+d","rgRg","+w2x","VV4","ogZP","gA4g","ugEn","5glg","1QFA","qQOU","vQwm","wQSC","2Qsq","pQGe","1wfq","eiU","sgc/","qQeG","ihAb","hwt2","zxGI","sA6O","kgsp","Q03TASwaeVfguQQj9wImwAF6/QGFSnSVA7g","NjjyA3+QCiU","U7g","8Aax8wc2/AKp","7AE3VFCSCC8","nAuU","xAQz","2QJq","oQGb","nQl0iQeS","rwLA","lRAr","aCs","pAG9","6gdA","1QyM","RT0","5w09","ug5d","pwMr","9QE/","6wg3","8wFGjQ66","/Q8u","lQ1p","lQ1r","7wwp","zwxQ","5weR","Q00","7QSy","5Qwl","7QSP","+g45","+g45","swSluwgo","wAJ5","oQGE2A1v","pQZv","rASc","iw56","IHY","2gFN","5gkr","8wEp","swUy3gQt","Ozs","3QO6","1gIn","kQot","3QNR","7Awr","xwMwFlE","uQ8m","xwwo","gwwn","wAgv","ogsx","nAyU","3QIj","1wMv","1wN5","+QWT","gQU4","7gRc","nwEu","pQa1ogMzcLJCKQ","1wkn","owGV","bSM","+QUn","1wtk","+QVE","+QVE","sgWC","Rmn+Bq8","3QMb","gQku","3QIj","nAp6","5QIr","+Qwm","7AYk","+QUn","xQ0r","xAcp","xAwl","KDQ","PYBnSgHGqwht","3QIj","0QGf","2Ama","gBAk","lQdp","hQFN","3QuVEH4","jw+c","xwxH","vA9z","+Aow","1g0v","4wwu","yg97","pwMr","FWc","IFA","4w42","4w4e","4wsn","ygHNpQ1m","vwVQ","7Ak1","pgsq","Fjo","6A4r","3ggs","1wkn8QUz","lhAp","lRAr","zQo9","0Aky","0QvV","0QvK","2Qo1YSEBKw","pxA2","9A5D","kwE3ywKmCT/UBNkB1YwDULkCyA","oQYm3AMy5gQ2BSs","lgy9","gBCQ","WXE","lwoe","+QGM","lwoe2QQu","kwd2","Ozs","ow3N","oQYm","Q00SXqsFb4QHdjP11wF0","tw3T","lwoe/wWO","ugEn","7Qwl","ygsi","pwc1","2Aan","qAM9","7QE1","2Qsq","wgch","fDA","jg01","wwi2","gwc5","oQ4f","xAsm","lQuT","mQ+N","qQox","/wS7","sA5r","NHudAXo","0wIn8QVbxgEr3gKQRFLQA1oMPA","rww2","ygtt","qwGK","WXGwDkGNASk","2QKIAUo","mAEqoQoyxwSQ","bSM","4gSn","7wtpoAMu","lQFA","wAKq","lAt4","3gfL","3geu","ig9d","5gkr","mxBK","eHY","6gJu","gQU4","vwKg","uAyU","8ghp","+wM5","4w1f","zQok","7QZy","yQuj","9AIk","1wuC","yQvI","gAcr","QYs","+gx0","oQ5s","twEs","7Akd","+AU2","9g0l","ugEn","yAGS","tAdWmQMk","pwto","wws4","2wmJ","mBAs","lgpv","jg4o","gBCv","wAJS","swQ0","pQ8q","1A4z","jw+c","ogsx5QN5","wgw0","5Akt","ohBG","RT34Ci8","1AKy","wgEz","5gHB","nAwr","swwo","/g5i","oQ4f","hAgt","gw4q","3wps","3wmU","lQrR","hgwk","ngwo","7giM","mgoo","wwzI","jQof","7QfC","og00","qQox","kgsp","pQabAa/yCSw","8wEp","yw4y","zwse","0hG2","pgkxqQLKdSXcAUg","7gYw","zQtJ","kgO3","9g43","mglO","mglO","zQVd","nwU4","lxAu","vA8r","+wxr","wA6X","3QIj","hgtI","7Agx","zw96","tQ6d","vQsv","qgk5","1wQlwwlN","wg8c","wg8c","zgc15wYs","pQEtAh+3AS4DMSsyFTdJOxktMDQ+NIcBNscBP94CPBpCvAFDAjgRJC1GDGcDNC1GGy8WKE0nES84QggsODdpKkUjHlAQSw","2Qo1","2Qo1","UoY","7Qs0","swQ0","+g45","ciUzLQIfmAGbHy4DMaIBTWU1CTSHATbHAT/eAjwaJrwBJwI4ESQtKAxPAzQtRhsvDjQIRE0nES84JggsODdpKkUjHlAQSw","jxAs","wg8c","ugqC","vwKb","9Qur","rgFE","nA8p","pwEfugExogEtmgY8GkK8ASdAKAwvYShNJxEveDeuAT4","oAwr","FCjFCjXMBCo","+g45","+g45","wQg0","wQg0","swQ0","kQsz","xwkz","pwEfugExogEtmgY8lgJGugEnES94N64BI2C/","pwEfugExogEtmgY8+QMojgFU","kQ4l","gwtyVCw","6w0h","qQprXSo","nwW3","qQoxwgFh7gIzhwNJ","+wMgswgvqwJV","9gJkAVOXBMxn6A","gwtJ/gOd","rAHPMeYdRTp3JixNYDPDVMhQyroBxwNwIdoonh2GCaIi70tXHpha0gl6UcRF2gkmL8NjJXQmG4EaykTGBKYITS/GAX8CsqoBrCG5AbcEgmRhOrcBvhtFDXBGqA","xgk/JnHfATE","nAcvowky","2gM2hQQ3","2gJKlwVq0AVVBCs","xwal","yAw7","0guC","jgfcmgJ3BDaZAj8TVPYBnQ","1QXVhgG9rQLDugYc","jgdt","NUI","wg8c","2gPc","8wxJ","gwuLNzo82A","sgLS1gHDhgOuMiPDA51VJPYBtw","twEs7Qd41AEw","7QQo","twEsqgExogFNmgY8","9Q+r","twEs","3Ako","gwQt","pgFHvwFdzwKfuAF00QQvrgIh","eyzLASu5AivDAiGpAbkUrIQBuGQuUyF0LyCwfiKkAac","qANJNk0","+QpH","SbyFAWgEJhhaA0w+oM0DfJoClnxj2QOdxwGE8gFmVbmbAbk","xgVc","gQku","+gk4","3gos","nAcv","tQEp","gA6I","vQwmZs01N8YBUvcC0A","mwGD","xgU4","7QRk","7QSy","mwJ6AchevS5jQKHRB1RkeuAEjCHKFK8gtg","vgs0hAUw","vwKNmAIlxgcy","kgSN","wAWK","wAMv","rw4v","pg40","vwsx","kgsp","4w2q","nwYr","gAd9","3gko","iwxf","pgtI","pQ8q","pgEp","pQbBmQJEqAJSHCXABVCLAXA","jwEp","oQwppAErfDTrAU8","zQsq","6w5u","Ij4","zwtm","rwxy","wwi2","gA+a","tg5C","3QI9","mgEq","ow00mwN4","mQ/a","mgLP","1wQl","3wlOqQMq","5gNw","1QZ5","fDA","3AlF","2Qp1","kgsp","wAVy","9AIk","FCg","5QJJ","kBBe","iQt4","3wEw","hwib","zQok","1wco","uQ8m","ciU","1wkn","1QyM","rA5a","1w+D","5gkr","2wEo","jgOG","nAopdik","vghExQVI","1wlj","rg4n","9w8m","qQVZ","gQGT","uQ5f","kwmU7gYk","jAKs","1wkn","qgWL","RoM","vQsv","lwlN","kwmj","kwme","ciU","uwIn","Mk0","3gos","2gM2","8Aty","yA9i","f9S6A52GCTe9Azc","qw6U","mgYz","oQEs","5gjC","8QQ0","+wmQ","ww4v","1gIn","sAy4","/Q6g","8wFu","wAKq","1gh3","pgEp","ow00","sBDK","zwu+","1giq","phCS","7Qs0","uQWL","8wSi","mQNO","mQo9sQM4","8wEp","rA4h","ww6F","7wfg","phHk","zAlL","xg8z","2QEq9glC","d2DPDjM","vxBU","1weQ","QHQ","kxAk","8wFd","nQSF","dy2zCK79BDI","9ghl","pwMr","rA5a","7gVz","3wNJ","zA8r","aaQ","xwV6iwJx","vwti","0gvU","vwti","uRAr","hAi9","lQKx","/xG4","3Q+A","kgqe","+g5C","lQow","yggp","xgs7","+g45","+g45","xgu2","Wk4","4Qgz","jAGg","gANR","6wqd","oAUvUkP7Ac3rASKhASkFl4QEOTw9","1wkn","hwEm","4wuM","3wKE","rA4h","iA1x","whAw","lQdU","pQck","5glJ","rw4v","uQ8m","1wco","lgqp","pgGt","hgsq","3wQr","pQd5","gQVg","+QrB","vBAx","kw6F","9g5b","iwqB","nQtL","vQsv","TJU","lwoe","hwEm","uApV","jw9O","/Q1H","9gw6","xAsm","2Q8g","2Q8g","twEs","+wkj","twEs2wlF","FoM","TEY","pgFE0gQ2/Qd4","5w1i","pgtH","mw0o","+gwp","+wwt","oAW3","hQlz","7Akd","3wEw","Q00","Q00","rw84","7gWj","pAUh","lQqw","ggQ2","5gkr","MEA","MEA","+wwtXTe9AoA","hgxA","hQEtFFcOHxMnCSYLMgUlFSlHLV0yHD0BMBcvFy9hLWgvMzZKMFo1HyouKRo4pwEzMisRSAIqDyx9PiIwDScBKj4mEkITLFk0IS4LKBwvBFcLLwGSeCgRLiUxEDUPMWIlAT97Mw","mxCQ","1gg3","lw60","/Q+O","mg2S","hQEtFDUOHxMnCSYQJRUpRy1RMAwyHTAuUGEtmwE2SmlaNU0pwQEzMisRKgIqDyx9PiIwDScBKj4mEkITLFk0IS4LKBwvBDULL3koNlMQNQ8xYiUBP3tU","MEA","3AJ1","rwiS","3glr","XzM","1Q0r","hQEtFFcOHxMnCSYQJVwtXTIdMC4v/AFZSjCnASnzASsRKgIqDyx9PiIwDio+JhJXEyx6Lis1Cy+vATEQNXElfDM","vwUv","xQgy","7gVK","Ht/IAbkh25UKqUd31gKWDblt3w","zQpS7ATK","hQEtIh8TJxklXC16MC4v/AE25AMrnwE+IjAOKlAmEyx6LitXygE1","4wuB","+g45","5g4t","tgQp","0wGc","qwEl","jwF5","hwEmIB8TJ50CL5IILHouPpIBTrYBNQ","9QuH","3wcf/wIs4QKL","3gNN","3gbVwwVN9AMr","owot","xwu7xgRM","2gko","+QVOuAlH","xgU4","sAEqIiaWBIW1AleRAu6cASJnIDdkP8pK1QOFbkoFMcEBYQ","xw8p","6AMw8Ad4","tA4g4QEr","4g6N","pguwlgS+","gBAk","3gah","xg2fAps","2Q8g","4wwu","2Q8g","whAw","vAco6AGKVrD9BUI","twEs","xBA4","ugEnnQIvkggsei4","GDM","oQs5","jAGg","uwIn","2Q8g","6Qssei4","6Qss","6Qss","twkrsgIs","pgFH+wQmci3qAjLAAS+uAkY","HkxGeYIBzCGcngmLd97mAXt8TRFJKnp60Q","qQu0owIi","wgFB","+AowASk","+Aow","rwmSVKmmAYsLY64F4gHiDmhsuzje","pw4y","bEJ8KcQHew","hAV21Qog","rwGs","9gw6","gBAk","qAko","6AFH0gkhiARf","zww2","swJsBJQ","Q02GCyU","Q02PByr4ArS4AtbtAzw","6AHW7wIljAN8+wEohAN9OaM","5w2q8gOW","uQU6","5Qdx","nAdQSZ8","oQZb","+gwp","wgch","6AEp","7QFY","2QIt","1Qsr","vxAy","xAxA","qQox","mw1+","DWg","8gVDrAPnnAIhwQFMGKS8A3JC1xun","9AIk","hAUq","czXAAUQQMYkCSqoIp5MCQQ","7QE1","pgVX","pgU0","yAkq","pQ4l","3ggs","tA4g","wwEm","1wco","/Ako","tAR4","eiU","1wkn","3ghL","3ghL","P4U","iA0q","eiU","6gem","mwsm","/Q0Z","QCs","gQku","Wj4","pgV3","7Q43","wg9r","yAkq","rxAv","rxAv","3QIj","3QKR","qwiiPJoblAGN3wWSX6Ulo3N/AZh1iA+oAWMPqw","1wco","6A4r","+gcw","5AIr","2wEo","xQ0r","mgEq","phCS","O4I","3ggs","rxAv","mgmNkQUyhAIv","3ggs0Qcv","4w42","rxAv","pgFH9wUv","ogZJ","pwwz","ihAb","0QF6","tw4k","qQMw","+gx9","+wxM","pA9B","7Qwl","+Qwm","7wUh","sgkq","sgkq","9AIk","5AJ5","tgSLygqk","xghb","MUw","gg4t","+Q5v","sAkt","oQ4f","/wQr","qAko","wwue","xg5W","nQkq","Oow","sgEj","2Qo1","qQU2","xgiHrQEzhgEpgQKohgEg","4AS3","TVA","/Q5C","ngR2AX8","RHs","qQMw","wwue","CJE","uw40","pga4","jQGe","pw4y","xAwl","uQ8m","7AxK","+Qwm","REG1DM0","ogtT","ohAo","jQE6","ogYv","ogYv","pg82","2wQy","pwhy","8wIu","pAGXpgoigQMy","lRAr","sgF4","1QrG","oQUr","gQku","JT0","owku1gF7","7Akd","qQNR","mQ+l","xggo","eiU","qw8o","wguD","2wkv","gBAk","rA0x","zwxs","aCs","rgWN","1gg3","vQKP9gE0oAcvlAI9rgIr","qAOc","2wEo","zwxD","uAIz","7Awr","ihAx","mgYz","mA00","5gkr","1wco","qwEl","rQ1J","hw+f","rQFO","HV8","tgQ7kAQoswJe","sQ+P","pQF3","qQOZ","rxAv","1Qsr","sQxZ","wg9r","xQiL","owot","hgsq","7Qs0","2wFG","sAkt","7gZR","pwsw","kA29","pQgv","2QEq","9AIk","2QEq","zQo/","oQ4f","pA9B","4Qce","7Qs0","kRAx","sRA2","gAd9","+Apc","4w4e","vhAn","nQl0","xwuT","0QF6","wgtD","wgtY","oQYm","rwJC","igsl","owWx","3wGG","zgc1","ihAx","Ajg","2Q9f","0Qu3","qAo2","2wEo","xgU4hAZilgFT","ciU","zgEyBSWhASQyQjIxqQE4wgEuUC03Mw0oBE9YJQFSpwEvngEpmQEqXSkbLzEjMiePAU6FASQ","O8Q","oQGP","/Qx4","hAGH","rwFh","rAOK","rwFh","eII","UDUiJWElBiqbASQyJjIxqQE4kgItRCgELwcnUSUBUqcBL54BKZkBKl0pGy8xIzKgjwEuhQEk","0QG0","qgF+FaDfBZ4","9AIkMiYyMakBOLIDJagBL54BKZkBKl1GTCPGAiQ","+g45","+wNd","pgMmjQUlxgIpmQEq7wMk","1hA1","jQE6","swwo","nQFY","G34","G34","5Aod","zQLGWSbNAZkvdJEDJcYCKYgFJA","kgnRvQM2","gBCe","qQpT","qQox","+wNd","kgng9AIk","5wM4igS08wEtOEiLA1L7AihouQ","xgnBgQYpdZo","xgU4tQQ9zgEl","8QfB9wZJ","xAxcnwIe","1gJ04gZS","uAlS","rwIt","lRG2","wg/F","6wp9","nAcvSck","wAcj0gG+","wAcj","6whN","wAcj+AF6","cSrHCHqNAiSAAis","tw4k","rwHEqwI25wQ08AUh","pgNCjQUlxgIpiAUk","jg6H","rwFh","5gNh","6w9P","swgl","swgl","swgl","swgl","pgFHjgF3owIl3AMlrAFO3gFn","swgl","swgl","swgl","swgl","9wKfpQPNUCTJB14","doVcJv8GhKoCpQ","0QGl+wWdxAYg","2Q8g","ZHk","4ggv","amY","SFCaD52lArQ","4BFJ","4ggv","tQJUvAGoSmUOdnuj2AEv2QHLpwG3GeIEpmW3L0lkOUBkEVgDUhhYPNZnOCM2O5ZxLARAcLgj1Ag3Ej0BbCPFJr0","9gI3FjI9zqwFy+kBLA","wwPE8wKMyAIzHyo6aI0BHSyLgAMgH3JgLg","rwyLYaD0AYhCM0RT","mRG5","1wco","2wQy","nAM8","tg3G","xQ2W","kxAk","kAsq","2Q8g","JT0","lw2F","mQsx","vQsv","5Qcq","pgsq","swwo","pwuL","8A4u","oQwp","ywt+","hAxr","ygqZ","aoVXUFl8LErzAcKiAtW2AbusAchaNZgDskPWxAGSC3TXAY+HAdQ","jwEp","1wkn","5Qcq","wwE6","qAS3hggv","pAk6","eqwRM+QLKQ","xwQu","ogtr","nAcv","8wEp","uwEt","xgU4","lg5p","1gJE","/Q0Z","ugpX","xwMw","1wco","nQo8nAQ6","8wEp","kBA5","sgkq/wIg","sw0k","sgkq","hwiR","wQFo5gKCO6c","vw8k","2QEq","5QIr","kBA5","QHQ","ihAb","pBAj","rA1S","oQ4f","eiU","7Qwl","2g+T","5gxzAnk","xggo","xAwl","kgwq","jAGg","2wQy","0Aee","kwsq","pwQ1BT+ABtF6SIYCMQ","8BFi","yQvX","1wtL","mA00","sBAm","xggo","vAdG","owot","xAcp","oQM3","2gF7","L4U","0wO4","uQ8m","wQFQ","9AIk","hQG1H1c","mQGCwAm1","jwEp","vAdt","8wsn","9A6E","Djk","wRGl","8wEp","9AJQ","KDQ","1we5","wwyM","5wpx","tgGI","uQ5O","+Qwm","+Qwm","0QF6","rAqy","gBAk","wg8c","MEA","8wmF","TVA","1Q2c","ngu3","2gFF","gwc5","1g2k","HSo","yQin","5gkr","qw8o","yw6D","vgs0","8wEp","ogYv","5wUq","gBAk","ciWQDqc","yg4+","zgM8","kgsp","Q02nAjGZBHW5CVM","1g0v","1g3D","rg4n","gBAk","owUy","nA2J","1BCP","nA2J","pgFH","gA6I","8QQ0","xAxA","mgku","mgku","xAjD","hw95","vw8k","zQtJ","eiU","xghF","gBAk","pwwz","7QeZ","qQoxrwQ1","2A5Y","sQ0q","1wvI","4wuB","1wKE","9Ada","pw5e","sRBx","nwU4","wAMv","pg5v","pg6C","ciU","vQ0i","9wZl","2QJ1","2QIt","7Akd","jQpK","ogXB","zAiA","7QRP","yw0y","lQs3","6AU1","pQY04wg2","xAsm","5Qk9","oQ4f","7Q0n","1gJE","jQE6","0wEl","jw/F","MUw","2gGDZWHjAqE","rA5N","7gwo","7Qs0","7Qs0","+AU2","3QIj","xAtC","2QJM","0Qc4","wQg0","iw3S","7gZR","6wg3","9QE/","7Qwl","7Qwl","nwU4","owpN","owqE","pBA+","owku","qQw2","qQw2","rA0x","9AIk","czUSLTqgwAMr0gI4dkKRASK6ASkoIQYpvgEkmgFHHkIPKoQBJUok","vg1a","twEs","nA8p","Aeo","Rr4","twEs","vwGg","FChfNRIt+gNJ0gJbdkKRASK6ASkoIQYpvgE/uAEm3QEk","FCg","xQ8c","GHE","hQwt","czWMBEnZBCK6ASkoIQYp0wRV","oAwr","czXlCCK7BiQ","IFA","1A4z","czU/eLIBK4AHougC0tQDVw","lwXP","lgFogwoxmQRw","mwEz5wzaVsQBzA","2Q5V","vwQwmwWdqAF7KYOtA7AB1nMrbUo","nQmG","f0SzAfHgCSqzAUo","wQEvEJgpRWlHOTyQAZwddldPfys9rCO+H70VsjsvL4kYYhi9LFqvAYoMlSm/TlgfIjJUEnFjWztqA9YQkwFPNIUkRwJkVkgurCEkHoBFKAbHKksFhQbBaEI","kwomtAUp","5Aod","ugSifznIAqbaAU/7A7o","cUiwDR8","2wEogAhPkgQn","4Qho4QYc","pguwI3W0Ahk","NUKQDU8","sgLn","6QK5","xQu7","8wl0","zAzS","sgLI","JT2PCFLOBS0","sgLI","9QiSiAVH","+g51","xgGmvwFs8ARtD3rBA1S4AsDsAUQ","mA6r","lgEm","qQNp","fDA","2Q8g","pQk8","zgPe","qgk59QMt","FYA9sVRH0AE3SpAfSbgDOVg7wAEwKSLlAVCuAiF4Hi1v","8wFi1wh5zQOc","xwFnggc1RYElIVCKP0prXeoFd2+qHFc","0wV+","wwFlJUfWB8biBCA","tAgx","hAV2","0gZT","wwIx","+QUn","+QUn","+QVE","nwR/qwsk9QFO","whAw","XFTLC51MIQ","lBCY","lw0t","bC0","iA1b","3Aec","YL3MDk0","0Qc4","eiWiDik","tAI8","xggo","7Akd","vQsv","kw15pgImlgGM","9AI5","gwwn","hQtp","lBB6","hwgt","lgpv","gQlO","tAc0","ngee","1weZ","xAxV","tAeY","gQku","qwEl","8wEp","3g+C","hQ8o","iwFthA4u","vQwm","sw0k","oQ4f","qQpT","7Aes","nQsr","qw6w","ogx2","ID0","1g6P","lQow","qAM9","+Qes","hw+T","+gwp","Q3aaAiM","7Qwl","wg4u","7Qs0","5QxW","phCS","kQpM","5gkr","3QIj","2A41","hQ98","qwl6LZQ","4Acx","2Ask","sglI","pwyJ","1gInowgp","1wlz","vBCa","sgkq","HSo","6w5X","jg5B","oAUv","ugsh","hgiY","wwEm","0Ale","wwFC","zg9Z","mQoj","7Ak1","1wkn","vQIvhQxO","sRCI","sRCI","2AuM","kAsq","2Qqv","ngc0","mQoj","2Auo","gQyr","VV4","qgk5","xAd2","xAeW","swVU","xBCm","gAcr","5wVI","1wkn","2Qsq","qw8o","5Akt","gg57","RZI","rQ2t","lQ6h","rA4h","fyc","mw0o","oQ4f","wQ64","lwoe","mwqZ","1QyM","0gYj","5g2b","+wVN","+wUt","1QFA","swQ0","xgws","7QiI","vwVl","3wGSuAWl4gMp","xgU4","3AlF","BL0","2hCY","7Qs0","4AnM","jgyq","3wGO","3w9y","3w+k","5Al7","8wFG","9A5q","wgEz","pRDY","uQ4h","9Aws","gQU4","7gVM","bSM","5AIrigNM","nAop","gBAk","hwiR5AKd6wMq","rA4h","rA6G","pwty","+g45","9gyb","4AQ5DikDVrQDL7QBSxMd4AMieSrWASs","kAOB","H0s","1RA7","3Qs7","4AQ5Dim3Ay+0ASwTNeADPc8CKw","IWA","vw41","wQQ0","FCg","4AQ5Dim3Ay/HATXgAyI","jwEp","FCg","mRAn","Ozs","+gwp","rg22","tgYxowQ18wIiaCAFOg","FCg","GHE","/g5C","+g45","XzPrDT6CASsNIA","oAyeuQMg","lgFo","mwEz","6ws8","qQox","6ws8","vw85","sQ9b","sAFJugFuswWCiQMqmQQkygG+Abk","iA82","ow4ukAIv","pBAj","eiWdDC0","zQo/","6wqI","rxAv","uwJQ","khCI","5QkizgYv","kg9T","vAeh","2Q8g","lwGk","+wwt","swQ0","2Q84","3QJY","6AEp","6AEp","F30MLboCI/oBJQZCygI1uAIuLjewAS+RATUhKfkBQQ","kAicnQNd","6gFa","qRAi","jAJ9","qRAi","uQGJ","yQR2","RVgbUBJsnA1qjgHNhAF5","yQi9","RT0","qRAi","1wco","5QJg","lwo1","qRAi","7Akd","vxAy","mgku","rw4v","uQ8m","7QE1","kQot","phAq","pgFH","+Aow","mA00","gQ5c","wQRw","5giA","vQKl","sgkq","oQ4f","xgs7","6wrZ","yQg1","2AFZ","Wj6fCkQ","rA4h","C0U","wAc+","lBAp","1wdF","5Aod","2Qks","1wco","igvO","zwQr","SJQ","ugpX","uAE8","rA0x","xgVc","ow1IjgNB","zgc1lQce","Jog","RT3IAjc","RT0","pgsq","mQ+l","mQ+l","rA5a","1wco","5gkr","hgwk","oQ4f","xAsm","uQU5","mwsm","rA0xBSo","uAIz","5Qwl","/Ako","rwV/","sQw5","mQpC","wwEm","zwxD","2As/","ig85","tAhS","8wEp","nwYr","ygvJ","B3U","zA0i","xghF","9A6W","pQY0","pgY+sQGdlAVJwgMo","1wkn","1wlz","1wkn2gJZ","sQxn","zgt3","pwRYjQkrA28INw","xQ0r","4Qce","8gWE","fyc","+QUn","sQwg","5AIr","kgsp","vBA5","2Q4z","+ApH8AGpxQMo","gBAk","2QuW","kQpM","nArT","OIigCSI","tA1K","hQsn","/Q8u","hwgt","9gEs","0QF6","qAko","mQsx","hQvg","+QUn","hQt3","swQ0","gg6o","3wdeKMB6Lg","ngwo","jRDd","BMw","vQtT","2QF/","5wqo","5wrN","mQtT","qAko","ggslAyc","jwxB","7QxB","4AQ5","5wou","yRBo","mw3C","7gRu","0QF6","hgsq","zQ8i","mQtt","qAmD","8gjC","vQsv","3gos","wQ6e","0wc3","jQof","lxAu","ogtT","tg5C","oQ4f","0gYj","5glJ","2glF","0xA0","lw6cvAI0","hQ8o","E28","5Qwl","8gjC","kgsp","hwEmjAjakwIq","1wss","1wue3QMp","+g45","+g45","7Q2H","wAVm","+QUn","qwNo","jQE6","rw4v","5QlG","sQwg","L0A","wgsn","wQRw","/w0n","sAkt","qAOW","lQ6r","ohAo","jQof","qw8o","og1u","pg82","ggRx","pg9y","xAt/","2Qo1","ugsh","rA4h","1wkn","kQ4leTk","rgFr","PnA","6whN","sAWG","6whN","kQ4leTk","BEONDiU","owOF","tAXM","kAEo","mQPG","kQ4lxgJs","gQ5c","pQgv","L5C1CWStBCU","vAfA","twEs","xAEeoAhk1QVC","vQLBsAuj","2ANS","6gIxMmG7BEeZAVWDBG00lgUxlgJ9","lRGu","mg8z","5Ao0","lRGu","pQF3","V40","mg95","rQws","4ATG","HSo","wAcj","+g45","hAh6zwg0","kQ4l","mQN1","mQN1","nQE2DiU","2gqqAqs","xgs7+QI1lgI7","swJEsAmBjQE5DXj9AXUzJm9X","oQs5+wQ1","qQNp","twEs","FYAoRA+VjgKIgwJC+wF9GLF8VHpthgE1KTBzVTUvXysyNSGbIps","6w1gjgKn","/Ah81gRg","tAxV","wAWKsAGi","vgnG","hAV2","tw9w","tA0r","lgEm","tQEp/wVW","7Q1h","owpN","GDOBCa8","6woo","WXFiWgg6uwskZzNcng","Eks","iA0q","zQsq","6AQ1","phC3","tAeY","zQsq","0QE6","3QIj","0QF6","oQ4f","pw4y","7QE1","sw5Y","kwct","1wkn","jwEp","kwct","sw9T","tA0r","rg2M","2gM2","uA82","vxAy","+gEn","qQox","1wco","mQoj","gQU4","+QeE","2gM2","mwFC","pgsqmQV2","0QE6","rg1r","nQsr","swQ0oAcv","9wwo","oQ4f","7g41","pwhM","7Akd","rgwv","1wco","3glc","KDQ","7Akd","owGe","KEg","swQ0","3QNc","og00iwIm","rA4h","1wkn","0ASB","lAtm","igrL","igqa","FWc","swJE","mQoj","tQSA","7Akd","yA84","gg4t","6w07","qAM9ngla","5gkr","+wl7","5QlG","gBCQ","wwEm","eiU","5gkr","sg4v","twiT4wVN","hwOi","kA4g","9g0l","1gh3","7wVh","qQMw","gg+AATA","rAyg","pBAjGKM","lwfIswY4","6w0h","3AeB","3AeB","4Qh5","tA0r","4QiA","tA4g","sgfprwGc","zQok","1wea","ckg","jQo3","nQtL","9Q0l","lBAp","lBAp","lBAp","xwV64gHSvgcxFqCwASgqbA","wgEz","7Q43","oA1E","wQhJ","hA+I","owtC","ogk2","kwmn","Q03kAzX8BlgDKsEDUg","pQMr","rA5e","hgwk","xg8z","nQcv","kwE3","+gcw","hwuo","rwGf","KDQ","rA4h","lAsv","ugshwAN1","3gko","tAQ6","8wl0","2Qsq","4A+G","yggp","jQE6","0Qk8","wgsn","gA4gKis9ag","4w1f","rwGf","5g5D","hAxr","qhA3","7gYw","7Akd","vQsv","7gYw","jg6H","jg7k","7Ak1","3ggs","jg6R","2Qo1","nQcv","yg11","rwpE","owNa","gQku","+wNq","1wlM","lAk3","nBDM","nBA1","4QhW","RkI","ugsh","clY","tgQ7","5QdI","tgQp","xgxA","lBAp","6A4r","hAUqngZT","3Ac3","igqg","1QZ5","+wMg","3wI5","hQ9G","1g52","1g52","3QqE","mgYz","+g51","HSo","vw8k","+g45","2Qo1wAF7wAMg","qwwm","2Q8g","swHByA0v","GWo","lQFAlAlr","qw8o","2Q4z","2A5Y","OztUktQBR/kDSndbRLDwAikzRugBNFDOOVQXTsoBr3A3","2Ql1","ggtu","+wkj","wAWK5ApT","4g5z","0QXK5wMx/wWv","wQg0","pgsq","3w9I","rgm0","6wrP","9QEk","wAcj","qAko","yBBq","wQg0gwOM","/wQrJMLIBSiCA0Q","tw5v","uA+3","igtm","3Qs7","3Qs7","U7qwA0Q","A5GoA1CmBJWVAUzXAlCxASjLAiY","5wUqgweugQFgjAIm","rwlL","uA1z","iQsm","mAl66gN8KjEedZ0CbSVx","3w2H","ugJg","7Akd","5wM4","tATC","sgc/","qQMw/Qde","twkr","nBA1","nBA1","3ggs","zgtR","uQ8m","1RB7","owtC","lQ51","eiU","lgxL","kRAx","kRAx","2hCY","swQ0","1A144QNF","1wkn","hAin","xwvX","pgFe6g08","zQok","jAEy","5QxB","kQot","yg04","7gZR","8wEp","jwxB","qw8o","6w41","eiU","zwlV","0QF6","owku3QYk","yQ8l","6wvj","7QmLAZUBrAGV","5gNw","pBAj","lQdp","zwse","3QvF","lQdp","+AyG","qAM9","gBAk","3gpL","oQ00","gQku","5gNw","KDQ","oQM3","1wco","mAEq","8wEp","1gh3","MEA","wAh9","pwSC8AKJ","9AIk","nAXL","nwU4","wAh9","3AaC","rww2","sgkq","2wRl","zgOF","qQMw","ugEn","vQKw","tAhn","3QIj","9gEs","+Qk2","pgsqsAWD","1wkn","nBKfAaM","+g45","4wsn","pwtQ","pwud","qw4y","5wVI","5gMn","5gMn","pwswhQIx","vAe9","lRAr","uwxW","qQI6","oAUv","+Qc4","+Qc4","wgsn","GDPVBCg","kgsp","3QIjgAiG","5gNh","2A2s","khBA","mguS","mguS","gQku","wgOrzwS7","yQhO","wQQ0","mQsx","4wwu","6AFH","pgZR","5gkr","yAMq","xQhr","fJs","sA6C","kwsq","pAGXzgRqrQctHCO1AUg","2Qsq","3wJXjAsh","wgGv","yAw7","wgsn","Eks","wgtZ","/Qw4","pgg5","IYY","3w9I","3w9f","FCg","mQsx","qwkk","pgsq","rA4h","jANL","mQtt","gBAk","7Akd","0w+d","0QWb","2AeV","vA9K","IFA","pg40","gQku","rQ2a","gBCQ","nQcv","1wdF","zA8r","hgtf","lQcy","jg6H","nQcv","kgwq","nQg34AS6","1gKL6wGM0wZP","vA8r","mQOC","qwMv","qwMv","/Qx4","7Ak1","1wdc","2Q8g","xgFt","2Qo1","mwGD","0gYjYjQ","wwyM","vxAy","mQOd","7goo","+wOt","kwsq","tQSr5Qoz","2wGD","ywtQ","wA44","8gWr","uRGd","wQRw","7Ayg","8wam","ixAq","6wie","qw4y","1A9x","eiU","wQQ0","0guC","tg9g","5QxB","xggo","1g/B","VmA","+Aow","7Qs0","vQKA","9Aws","5QcqxwUx","jw+I","1Qsr","5AlN","zAsx","pg82","jQo3","mAtM","+QVE","qAoe","pg+H","pg82","vAwijwO8","wg8c","6wqd","lRAr","1Qp0","4Qce","6QmgvQWHJbw","4gRZ","2gM2","zwxs","nA8p","bEw","yQslnwPE","5QdIwQMq","1gsm","zwRJ","8AzL","tgJF","rAaGiAE00gMqNCFYSJ8Br40CPQ","7gwo","8wkz","kwmw","pRG1FDg","HSo","HSo","wQhW","rgFE","pgg5","Fjo","vQWG","lwG8","owOF","+wMg","QkA","3Qs7","+wMg","Dl4","7Qs0","gA+a","9gLO","hwGJwwZtEUM","2Q5V","rQe8","7A5Q","fyfnAic","fyfBBiMBKqABM0s2XiuZASabAyzSAYkgJkpEELk","ggtu","HSo","aCv9CyU","yQ8l","rQ27","tQQ7","iguc","FCisByM","FCg","twEs2wkpoQUvDzA","3wGG","7Qs0","7Qs0","nAOO","pgFHjgE8KzmNBCQ9OKUFNQ","7Qxq","uA3D","9gLAAXY","faA","faA","faA","fbA","ogvK","oguP","rQ98","qwjN","yA6g","tgjXmwFI","4AqiAYA","wwix","rwlx","xAjO","gQHh","3geu","iALsOeg1iQF9/QHiAu3uAuYBuhXDeuIjrbEDpALhywHrjQLHC9Ibvw","kQ5pkARY","qw7J","wgd5SKzxAY6YBd0","pw22","xAR7","fdDSCM+VAeE21y7KUd3KAdKLAeU","IJucAbaxAtIOZqIF3OUB5CavzAHUuAHiO8U","sgFZ","mQHLygrB","sASW4Akg5wG6NqY","1Qro","ywvMd+Ye3g","xASa","fG+gAkxOuimaTvJFxny4pQHXHJ9UsAqxsgFpetMjlOYCZ3W1UYkIqyXnXXY","kAu7","M9Mv5Q2UGNIS2wGlDNkWvTrkErU5uQWuC2ACpSOyAZcJ5QzEHeMXyAneBMILwA/bFc0c7wjwAtAM2SreBZUMyQuoAtwa4AHbI9AeuwbrKsogvCXsC80j3A7RUOcOsATSJNAc53KtDJwwnBLFA6opqCnWFeMD6gF6AdgB4AHbBOMBqA7dD8gByQnRDccEdQLaBd4Duw7zB64K3Q+/AcID2QLSHtkV1gLfAeIH5QTPE+QK2BDJAXQvhQL2A8Qb5wbVLM833iTtBMwBXwOgB8EH2gVvCbsExQGsFusB1wGvBPQI2gPQAt0CxAXmFM8J1wHlBNEF3C3kEMIe4AfaFOAMzwTACJwD3Qi2B80InhTdAb4d7hvUI+4F6ATiB9wDxgHjAfID5RvjHeQa9g","ggjb","ggjb","8wFt0AaQ","a+IWq5UKdALc","hwSPkQ3k","6w0h","fJuXA5qNAYoTp2+wVXBQmBCAC3jMAX0cf8YBlDCBkAGcAswTeCl5CbIzlCxAdYQQpgGfK1ENTQjUA2MFtRhvDXdddg","3gjn","qBDb","tQ/iX30","tASW","tASW","tASW","9Q3U","8gHbAW2ZAXRB5qICps4CkJYBnIMEtyqxN64Z0+0B0agB9Tfn","mgjA","6AFH","pwWz","wgnIAt0","Y30","mQbT","sgWt","GOw","gQHn","3geu","KLNNuzA7N+9lsRK2C7A+jk7PGEdf0we7Ge4h6ASaMckksSTeTuswzxfHDOwU6APbC6MB2VTECu8b1gLUEMwjswPuCdcJiBHsAWoQ8AKpAuMD5RDYBbMe7w+oF8gB8CnYF8QUvAnyCuQJ5wGlDN8a2xXhAYwa2ALnHesaSAfwEtge1S7pHbxw3gyDBcAH8AjQA+YfhQHED+oB0w3rAeAD1AKgEc8F0QPPFvATyQ3sEOIJdy7HFqYh2ATGiwFMCUk","lw2e","lw2e","gAHf","xAiV","sASW4Akg5wG6","jxDR","xQ+/","tg9o","tg9o","twiw","1QzR","wQhu","rQvCCsOsBdY","owNy","hwKl0wHYRuQL0BW+pQNmmgJ9gQTRQWo","3wjm","6AiXXK4","rwvGCcs","uRCU","+Q71","xwi+cKePA90","HpkKig6+A28IjiHOCnUGzQHNA1oERguVAY0xzgFXAlENzRKwaKUd0SKkHExmnj1JBLIeiweUF9MnmiCND70FqQ2KFMEX7g2YDrIt4RXILqwK2Qp7HedlfxHLGoIErQRtM6gMvQSuJkQHlgTgA2MBohSPF9UxsRhqCKokkBCmApQEsA7FDc0LcxBrBE8E4x7QA84BuBHgGeYBcwrfG2QJ3hqsAaIimAQ1Cb5M4BDCCZsGiBHmGHAB1wKECI0PghF2B64e5QHlK80YlwigIo0B8DJ/AtgNcgGIFnAMrBnJCUQqs05zFdY","pg+K","2APJ","3geu","+xHg","uArHzwS3","vwvshwTi","zQOdrAeO","hAXo","zxDH","mguS","wg9f","zwKVrwiizAGY","mgyD","FLz7Ccr1AVyfAp2UAWSYAsY","sQvs1ga8","CYQ","vwzJ","1A+c","8QfODqoj0fMG7inA","sAEqvg13","lAHp","swh/0AHRqALg","tAh5","La+CDOE","frQ","oQWigQTUlweB","vQiQ","ww6j","lgGR","pQrD","T9IBwsUFvYkBng","M9PBD5o","owPN","+QzZ","qw7LgQKx","LYUVmVrXowGgqgLJBJ7hAacyn6UB0HWiuAGWF7QuwqgD5aMBxwvPJpAq2Qe8DM4GzHnG","fsI","1RDOAcs","d7M","hAeuyAHM","sQfJ","daU3dxtnB2icAm/TA6/7AWqGBY8","rAG5","d8I","+Quw","CsU2vRDTlwTsKM+IAqXUA30Bch9unQbL","iwve6wVJ","3BDV","mgTY/gTUmQLL","+A21","tAVxbsY","E3OkAazuAbokuATxXKa3A8VngIgC3GtzdIEWxwpx5AGyFnUkfUusdryHAc8hTEfB","5wN2","+AXq","5wGm","vwI8rgKkkwJzygEp","IWB8gIgBnuwG0aAC6oAGugTW","9gmd7QGs","d7OvAr0CqRi6Hpv0A7s","owNA","9QGq","owNy","HSqpAaY","lgFf","pgO9","mwnqAaetAdg","rAXI2QPq","UHI","gQeg","rAHW","rAHjtAZ/vwXu","xhB2","7xE8","vgHi","jwdtAaM","X6y4CIK9BtE","kQ/f","Y1M3ekx0fL/0CKrnBNA","2BDD","tAyfjgTm","mQHJ","iwdmAWYBXw","jw2h","QrE","2AbS","CqCvB9myA314wQ","zQvU","2AHGHqaLA9TXAW/0AcCaAca2Aoz6AdZzr4wBvg","zg7d","hg65","fmw","yhDY","oBCq","4QeZV+Y","jAyL","owOc","owOd","M7Qv6q0B24AD5ATXAuY9lHzhL6NRwROZA7Yh0CDgrgKpAZMB2AXMAbgj6xfEFO8P4hbslAHdB+8L9G3nNNsL5j3zLeUNvyDqQIcckCztBe0Q9wTDUNkRrg","uwzE","lAS7BuqXB/Vm0wHh6ARVMfIC8wLx","owMr","V8jvC9g","rAHZ","igKa3g9K","2BDn","hAXf","e7jrB5myAo4","6gTovwHfwAio","1A3d","rAmg","+wNm","3geu9ALcF9M","sBCr","Qm4lxxvFhgHU0ATSpgjnFeY","5QTf","CqA","qwHT","0ge7","vAHO3gKmxgPthwPySsv0A6g","+A1y","vw7R","vgHoiA7x","jQGQFKwd8fYDw/sC06IB0krIetoM3owEPA","sBCy","ygiu","oxHa","pgO9","0wKkxAeN","4w50","owNy","8gmt","lw3D","sBCr","9AJnzgzO","lAS7mw3Z","pQ/L","mgzc","nQXI/QKr","1hCq","oQajjQTCbOPIAaWMAbQ","hAhI","oAVL0wKLH+A","pA50","pg+h","vAnmA+IDyNsBzQ","xwGrpAGhAaACq6oB5wHKddvKAfLhCto","fmrFD48","/grd","/gra","oQvr","wxCP","kQ68FKY","tg/E","2gPE","pQ/j","sBBj","jweg","Ij4","4QfhuQTt","jgew","swuQAt8","VblFpYsOw7MB3Q","lQva","7gM60QhK","hwFw","lBB9","9gJeAVOZBtSsA3ECbO8Dkw","DYERmRaNG5MBzRKIE3oBhwWZCqUBjQGcAm4CqQ9KAYMRd1mrJqAWvnCkHHFLyyuyJJsKwBDhI4cP2R+UB98luYUB6y64Hc0FyxJmC6IImwJ/OX8YokyCAqkTlSOMBdQKdgeXFLBBsRiWCKoEhwu/HmEhhRK6Ap0OmDl8CJ0H1AHIDMUbbwqQXCgLvBaFOdcl1wqYCX0E4A+CEUwTjwzKDMwDiC6uAk0LnQm7GnoVkAaOGCsDLAF5ApQDkAxxAXICexUwIEc4s3PU","3gfg","owNy","9Q6mR4mKAYU","wgfcuQLl","pBAj","zgFo","xAR7","1A3i","lAS7lweZzAGm","mQHJ","OHhEm4cG6d8DizKI6QLB3AG0","vgHQ","iQKvAcA","hwJ6","hAXY","lwvX","Lbc","gAdzkwmQQsHHAcE","tAh5","xwfs","zQ/E","uwLqpAji3wTm","UMGwBMTiBYvDBEI","qAp4","YsANUDY7xQKaygHMsQKStAGoOJV+gld3uQHDSa9N5irxctcY1DbqKs0TuC3vDOgB31P0QGQ","+wMg","rwihuAG0","KNL5BbP4BIPWA9g","8ATjpwblBpNFqN0C8g","rAF3","tgrI","tgrY","mgGl6QXX5QLa8Abt","mQHS","hwXC8QhErgO8","B5I","rAF3","ow5p","yQPd6A2dA+cBxTRk","vwJ1rgJykwKf5glh","/AOrZMjwBjhC1vcC44kBxgnbB9YE6g","nAea","lQ2m","kw/r","oQbQ","lATNsAGvD36HAXSMAi89rfMB5gHCGrmyAYUMr4kB3DPJGqwmrowByjbmggHZAu0E6DLrN/I","FCg","jwF5","8wHL","lgTjAds","8gHNX2AjxQKiAZdjptgBrVDspQLLWLTNA9HqApMIng","+ArRAcE","hArHoQWo","E3M","tRDi","6w1n","+ArRAcE","2wTF","2wTF","DOk","4gO4","zxDv","5guO","BbdVyOkBppYIdYYF+Q","3BDV","owGF","mAnI0QXtWV+SAco","1A3c","1g23","rgWnsgHH","hAzLAq4Brweq","tg+k","tg+d","QrFF2GxtEMvKAcyFA6LpAttEqFDdCuQ/yQWsowHUCLpHodoBvnC0P4QBoTrlfMY","pgGvMsyPAsrrAonuAaKSAr0QiwfTKVcBoJgDsy++A88B2gHKhwHHswLz","tQ+lpAHX","PHwBd0HqFur3DpY46g","5wa8LayNArCdAabnBs8","wAHP4wGXgQ0j","3BBLAUoC8A","tAGnlwp//QTJ","2AGI","EZE","5QnL","owq+","2AGI","+Aav","tQWw","mgjg","lguYAY/GAdw","/Q2s","A8Y","4ArgAds3sr0F4gHa","7QHLsAnciAOk","BOVotwbeBZwD0wW1ywG3AtK2AaiwA9xUn70D3SbQGqcfy0rIK55B5CvUDbIGWHOvOroNeEDMAeEe429Q","BOBotwbeBcID0wW1ywG3AtK2AaiwA9xUn70D3SaZGqcfy0rIK55B5CvUDbIGWHOvOroNeEDMAeEe429Q","qQuRBJ0KnQ","M4vRCYrpB6s","CYQ","4Qe/8QKWF52PA7U","2AGI","7weYhgSr8AVG","2AGwzQ2XHYs","gg/GAaY","jAOg","uwLg","daX6Au7rBuE/g+ABejp0","B6q4Acs","vAHR","mAnl0QXlTZsMX5IByg","tg9o","tg+k","B9XCEO0","owNA","1Qm3","owOo","yQi0","hA5f","/QLK","+AV8zwKAlgKE","sg3H","ogTQ0wq+R+MdceIBSAbJA8EGZQ","0wezmwHotwZCH9LgAfABzw","uwmu","6AFj+QHYgAaa","8Qbi","wQIoZb0n2EDFDck85I4Dn4IBsekBwwrUIKYduwGuGrkbnaMBhYkBnjPdGsHZAeAP1w","hgqx","+A2e","VbkalCqmkAXorAPK2gLf9gTm","qQbnwAjk","9AKTzQqFAeA","0wWolQZu","rAG1","rAHd","owNy","vAHh5wGo","mAncqQfT","tRDhD6Y","0QLQ","vAHE","+AKxygR5uQKO","uQ6q","jAN0+QXdEKFg5zXTRuD4BcYqh3T0","QrHdC+LeAdYEkQ","B8fCCNyAAuc","6gJ5sgLgEeeQA8s","lxBCVEg","V4w","/ANn","xwfd","6BDG","pBA+","2AbB4wXU6gJ+owHa","8wFtpwKmlwfLxwK10wHc","hwGc","B9fNAVOFAS0Bi0ynuQGmmgF/F+UBoa8C2lqsRu7DAb+hAWQDpssB3QVyUYGYAY4nxhLY","7Al/","7Al/","1wzf","tg/s","zgFo","pwxLkQIl+AFy","0QJg8wW8wAHaqATA","8wbjyAXEpwPHW+Y","qAO4","pg+K","tg+7","3gSu","hAqK","gAFq","mQHVDZfXDC6lAqM","E3M","RMI","0ga+","Bb0utB25Cq8IshKXmwG0QmCYAskm0wTMAtgf4h67fOQvo1GsEOwGtmjnugHRQvMLqQHYBdEBzAHRI/AX1QF0E+MBqRLDD6kD7zaoAswBywfMVMg95naqCO4B9QLHPfULVi/RMs8k6QqHHLgUogOcA6YS8AXmEOsB0AHMUqM","BHwBt5UBpQy+qwHpI5MZhjzeHts6zwLlO64/2DXWT7MYvTrIkgHFzQLiA/AU5ynIHbIJuQTTowHDCNIBxjvUD+EB2kK5A7UYbwHqGt8V4Ra3B4UB8W3cDsIylirUCHUH4Q7FFsYf0wrUI+4R4gPKAeYD2gPG","BMpoxRPIaK+7AbN7uWe4H9Ywft8BrVLFxAG+MaQqqAbMlQHYBb8WthDQOM4I1weuMK8MpQKtLdM9gCt0DcEGnATAAbYYy1V8I7QYhA25QLkByg9mD8yLAew","BMpoxRPIaK+7AbN7uWe4H9aPAoJSxcQBvluoBsyVAdgFvxa2ENA4zgjXB64wrwylAq0t0z2AK3QNwQacBMABthjLVXwjtBiEDblByg9mD8yLAc0","5wq3","+Qy7OK8BpQ","jwzS","3giR","vgHQ","D9IYxgjQEskI6w7gFaAB0QjnAuQVwgyBDdQI0B3AD+EC5wy+KLQyyxKlC7AGaga6FuIi6StxNZ4RxQrtG88HmQXFHcwS4QzlAnMD0xuPA9sk6SFpEdQD2iejSuMB2gq4MFAN2QywB5gDwwqZB0YH0wGFIdMBYTxuBpkb2gyWI3UD5Qm+AoIGzwnFAXEBLQeDAWgQ0gK8AtkDRAfmCeAF0QKmDIMBnQXBAdoJbgfpCMcGoAPaA5kMuQO3JmobnA1zA1oJ4AKPCJQJoQ3TAcUBrxXVAUYC1AGwByUG4AeZBLMG2RGgAsIC4i3dCKEGegHPEosehQW+B0gCdA+kDe8E2AjGBUMF0gN1CZ4BgwHvE64DzQafLLog1gXoCX4CuAHHA4UCxwLwAqwD6hbSDXYBxxS9AuAXIgQ2CKoIfA6KBZ4BowTdE54B2gP2Aq0fcQXR","+wNmnwe6","hAzh","Y30","pgG+","pBGw","1wbp","0gGAjwHu6gvYoAGt","6gGs4QTTpATPAeE","pgLG","ngOCvA3M","BHwcwh+bF+kMiAbbBHUGvgi9AUEEqiYtDOwDpw/oDLIYbAG2IKIn5iExDoYGOQ/nKbwGiQ/eUctF8CGUK6QCzw6hA8AbxjmdGpdZTUTJAbQcQxbmIIBDPkqaA1YFqEHlB7ISmQ/uIX4FugHdlQGlBYEmpwpsLpQBqAejB4QSix6FDHoetQR5CZ4EnT2fC3oTog10E1h8hROoHoQBowxbQYsegGvrBMo31CjXD94","ogxJ","ogxJ","9QHY","8wakhgalOnQ","pgHDGrSBAUUFzwvrb7qYAejJAYotypABrocCvgXFkwHOFVcUriuyTi63AaA71C+7HYUB8SbuBb515g","6Q7iWYuSAco","vgTDqgbbxAbJAcMBzA","FLySAcFp0/gB64wBzALJuQLBxAK2mAGpBYgj7zPtNsQn6IEB3RrWFvMCvx2okAHHILsL6geaA4cckCzrBegP9AHzAuaEAUk","vgHQ","vgHi","2gOmHtTkCseYAtEWRg","R0A","yQrV","hAiV","hwGx2wGu4gKQ6QXjCuSsBYcd2zc/","hwGc","ywu/+AKj","+Qy7OqA","dNPQBK/pBcIKw2Cz","2AbSpQZ4","0gvoM+aOAuY","A98rXAtvftohmLQBl1TBHqoBr1eiFegqzy3clQGE8AGwvwGxSYICjoMBgxTYNqkQgSrPoAFyCsshug+yE6wn4AKuOeIQoym2kQGudegj4hfx","mAuD","kA9y","8wG/7wJ/9AigvQHc","kw8i","wAGd","vA58kgF6","8wvJ","8wG/","mAEqFkQJLKACgosBf+MDa4EEQMsDfQRqB7w","tAVmighahAIcUms","lBCG","igor","6gS/","xA+G","nBCV","1wOC","hwNi","JqlyKqcBm6MCf8MCJDwejAGylQIllQItHD6PAhxTag","bo4","mxCQ","rgGs","+g45","uAozvARD","mAEqkwKwtgQe+AI1KSWxAj7PAYABMD8cKIY","tAWA","qwOw","+wMg","2RG3","mAEqmwM0tAGz+gEe0gUk8gEqHTI","igqg","2Q8g","Yog","wg8c","mQOIyAQemQc5SBw","jQof","UDU","nA2N","5g6s","5g59","2Q4z","2Q4z","mQOI","4QRm","+g45SBw","/QyR","3QMb","mQGm","mQ94","gA84","+gwp","7gOc","+g45","lwl3","RaKTAVmXBrw","H0s","rQ8m","/AOv","BXI","BXI","FCg","7we8","FCiXA7CwBi8","owNa","7Qs0","7Qs0","owNa","wQhW","rgFE","sA82","7gQ8","O4J+bQ","mQ94","1A4z","7Qc9","uQFt","HSqWBDTjAio","+wMg","swKZowai","uA+8","jw9J","jw9J","tAQ6","+A2s","3wI5","P1o","lgcq","HSo","twEsHCWDDSrSAdg","rw6m","7Qs0","gQXE","7Qs0","nQTM","nQTM","ywrAAcU","AKoFiQG9AdgKsgGkBbYF2wKhDXUCaQmwAq4DyAGACH8E6Aa9CJICfgJ3I5YIvgG4BnoIqAegBoQNiweRBPINwyxjZ4gLsQHHQPnIAaNsjhaLR6Q47zfZG6UCzDLNP7IB7iLbKbQBn3vhGOlCKARYEukS4yjRHZ8C3wFRBK4BaA3jEaQtmQeeA5cPlQOwDL0BgQaXCqMI8QHBGIUPsArRDFgIvwKeDqEPvAqsB5kJfAryCKcEtBVtEZcQuwTgDeQFiQFCBM8w0gSXF6kInCKPCJ0NrQXOBuwHvwGJMccBzQqPRPI","sg6k","sg6k","tAjH","pQPc","tw4k0wEb","uw1n","SMAQfqgIbA","SJQ","uQGN7AG+tA2p","wgch","1gyuAa4","sg4v","pQMr","7gZR6QROdzV3Sgci","yw9U","ADAOOQozCj4DPQF5B2kDQBB0nwGG1AI0Tjj+Atpcr4IBqQdr3gF5JaHBBPA","5wia","twEs","qQJt","yguX","owku","9AWwAbMBswGx","TM4GVAKreIrUA6QUfoIBdXE1DUFzbl5zxQGZ+AKK","6hA8","6hA8","mRAn","sw0k","tQLL","tQK7","5Qvr","5Qvr","wg6x","AYECdgSSAcsHrgQzAaYCoAOfA7oDXAuqAbQGnAQ2DYUOswWRCKMGUwuLCrgEwRN5BsQEqgFwAmgDbAKzAcEBhQI7AqAEtAOIAtUDqQikB8w+owd6BLYFsQFyGE8KvQTKAnIBaQV1DLUJnAW5AdUCuQGRBp4O1wubAqUByg6sBcMH0wKwIGAEZw+FDswBxQLBBXwBywNhAkgbqgbmH60CogeQAXguqQfpAd0DlwE8AnQHrA12FpgKcwEsLLEBlC64KcY05QrmB6UGdgTlAVIBpAaNFNMBsAFZCpMVpBa+BEYBpBzXAT0BQQmxBp4FrA2bAbAVeAKJCs0DkwOWBpAIvwW/DMIDTQ6aAtkhuQmnB58HsAPFAogDqiWgArMBlQN1AagGqQWzDH8TvgexBZUIrBDiBR4HxQmYBtYBzQGrE6kCKAatAasMoQSeAZwBKB6uAosDNwOxAZkChAqwAbcBuCSTCi4EmQGMB84GgQPVC6IGjwKLF88NpANwDoEBygrKAbgNhhgqEcUNeAquBMFM0ShpBekBwwmfBGgFciGpBq0EpSd+ApkG0QG6AeABQxKRAnwLuQzMB4oHJgFrBVQDaAI2AoAIiwWgDO0BcQ56Bl4swwSoAaQScgK8BdILuAe8BJkIrwjDEjwI4ALRBdUbxRHlLKgotCpWATY","/Q2BhQS/","Jm4RWgZjEGUJRQTFEDVGUAg/MEQHeQNpA0NAOx2JBz8bOQGEAT9kVSKpcU8ER/cBcldjEIeyAVcEVQFOFiMWowEhQ4ZBSDRJGkc9VAFKBlMBRQ1OAVMXPQJOCoYhRAFPGIMBhAGIKUsTRByvC1AGQzVBAU0PYwJqKqIEOA5CIU0FRAJOGFQFQQOiSUkORgY4GH8CSAZwNBgCUQRLAk8","A5EGTgJXBaABTw1OBEwIMAZPEEwaWwRQBD8LQgSdC60KQw6TBqYUUwdGKj4IcwE9THQBOwE4EKoMsgJKAlQIcRhCF1QbRQM8FMkBRR04C0ZNgBJECKMRnghGOEsBOxfRATouUAdQC04HzCFjFUBhSBm0J0cHRBBBRc1Qsxt+BKQBSgNAGYMIRxCiD0sMSQlEF0kJpyygGG0FSCqWGEUCSD1wEUwOPhFFBMcGQwZJDjEbQhJNAUUYUQRODaEMTQlGHEURShdOBFAGQw+RAUYBPRJLFEADSQ09B60bOhNaBUMYMAqdFWoKagJHBUYERgtABEUHcwe5BX0GcRNz","tATd","FWuWATvYAqC5A0rbAUdbSdMCgagBQyFC","hAfeBbg","hAef","hAe3","KeQHSxRe2wLIsgHQbke3AYSoAfgD6zhNoQWqpQGiV8vEAUQ","ngi/","oQjF","ngjuA20","hwJwsQidFcGWArveAcBObA","wQ5qyQF/","R3o","/wfa","3wGG","wwKbCpwEoBCGFlPkATLECIxMpLwBUR2jHqw2LAEnUbc","X2IxKDZEQaUxnD6XI5fCAaQnhA6XXlCGAa9spxKoC8yHAX+KASMRzWlRdTsBRgtTJjYXpmWqCUYkRm0qKUMEYBCmJYkMVB+gTJQSpg","AjgTaxWnCGkDth9aHkHRAZsiRLwCOz65CEcUlEhMatsPYCeyNaMQgjHpLqItTgMrS6YiTYYB2wnECoUULh+sKaMQqBSsD9EJokl1X6snZBWbH7QI4VLNdmEWTkY7","YikHMAQjP6YNRiCtASgFSgidD3NLKB45AoVAVAhDLj4TZANGFZ4+Lx0wNashqQ1ArQE1MTQJnRHKLSpAR3qCGUcUVASJLTIOPQowBFcxMxodRrkGgwNjCi8OMQGQA5cBRA+aEI0fQw8yECxvKxgrCZgCTAtcHZUWhxGbA3ASUQ8vAj07SBUiFUcLQRpAC0UBWgROWyIapA","wgt5","3Qmp","qQu+","2xCs","5Alr","U1BHQTJuc3WRAWYab7wCRQJivAHWKsEYea8CrMMDyokC0zxKOEM","5AfI","0ANm","qAZi","kAF4T2P7AUOGAZ5fd7QBSlegFTwbf7ABocEBecABJpgCRBRPMDkfdTFvS0swM0ND","pQEtkwMtuAcmhAF5BSZISDy10AFHFWgjWg","lg6Q","Pq4/nBNBHK4CuGBaCKoTshE+BW4RoAFzCbAxTheJkQFANZTfAk8XhAGTA3oIsA/eAaEKaSKmIXIDrmZJAqoVTQ9wBKEjtQK1Oc0dpCWXCIoPsAlJJaYurwpsDWsOqFFPCHErmw2mAqolrkSbBJcBOiFpC64HnyWoD28InAyrCqoUvQVzBE8CQw1rBJwHnBxpCo4CpRhHdEYDSg","rgFrmAGlXYWWApW0BjTrAkp8vpUBSwGI","9Qtc","mgEq","H0s","2wRl","uAmq","twEs","xgFt","e782gx3aYu+eA9Fn45cBvskBsDLncCYtSGxLAb9B0SGrG3FS7EVRLmIyohE6DNsnaynqYN0Q5QLWAkMW9i7Vd/EB+Bim","pBDW","xQ6i","9AKdwAdU2gE16wMnOkM","AKYB1wW/AXUBoAHvBZoGowFnApEBqAPnBFwGpAajAkkGNwLZCMQD4AiUBcAEgwNaAccE2ASRAqQEsgHBCX4E2gGVAXUBjgR2A6ACQgKgA2gDoARuApoBOgGCA0EGoAR6ApkDpAS7AaYBZQGjAUAEbQRhA3gBNgE/AmoCPwG8AXoBowHICkQGbgI9CqsBcQHHAZAGoAnREK8GdgFzEJwPtg90BJ4ElAPIA74EmQGfAUQBvgSpE88BtwFICrQBxAO5CGsDPxNwA9sBrQVZBrgBpwNfBz8CfQYvAnwBlgWPCT0C0gGfAsMGQQG4Ac4CyAOkA6cHrAWVB7MB0QE6AokHlgV4AXQBdQFzAb8ERQKqBpMQmwSoBXUKrQOdDKQOQQHOCisMhA1sBZgBkBFiA4sDjAWeBKgJzQOBBksBggNCAX0BTwG4AsABaAFgBH8H1AugCK4KxRVPEKQBmQvdAtgBswLBA7QTcwTSBKkCnwKUCK4BtgJ8A9EKoQKsCUQDzwmXDV0LjgnpAW4TPAHLBLsEpwVfCIYCcxWxBH8CzwHMDHcEswSABm4BeAFIA7sBZAJKA94B4wVBBkMGcR+pBMMHvQ+dBNYGawvRC2AaQgPcA84Erw3RB3gFXAbSBJkChgWlAcABnQFQAXIEgARRAZsJUQq0As0CXQWYBpwBPALLAUsCcANXAY0DUgJqB4kFYAE9BkkHpAFvAZsBegFCDH0BQwGjBk0BcQGZAaMBWAGeCq0H0gE8A38E5wZOBt8G0ALPB5kDZwMlBXQD0AWnBlAGtgRLBNAB0wHKBpMMqgJFAbACZgYqA7cPMQPiAk0S0ASiAqYGcwG5CXYHRA1MAvQFoAewAqEBag7BA5sLrwKqAXcCsgduAZkLrgVwA2wGVwR2CHQNUAKJBE0KSgZ2BysBrgamC4MHkwO7FmoPkwdHB2cBfRHgCEECnwhhAXAWvAO2AYkFkQGPB90HpwHiAmQGiApFArMEXgQ8AVoCewFNAWsGPAJvAZ4HSwSIA3QEaBtxAr0BqAVPA58BVQGXAlABugN3AaQGSwOzAlYKsgO9AuUGQQvxAaQBUQLrBKEGMQShA78BzwdfArYBXQGVAdkBugSvAW8HiQLFBL4Bowe1B0QCxgfYAXIBVAFvAlAJnwFKC5QBUgFxAYUCxgGIAlkITQirAbEN0ANnBdIDSQtqAZQBawjTAzsVzyzKCnQB1xCdHkkCPgfaBqIISQ7xBZAOTQJGBE8VnALG","hw7d","pQ/w","NdeuC0w","xw/Z","rwpE","rwrK","rwq0","uw/P","pwrS","9BHt","NTY","8Qqg","QOB8QA","G+DZEc0","kAFBmQ7kc00","lA9Y","+wbG","sQGD","ANUE4wPQA9MCTQLUAdQH1AHRAdQB1ATUAdIB0wHgAdED1wHVA6kB4QLRAdUB1APfAdEC5gHRAc8J3wLuC+AB2QLVAdQB0QHVAtgBzgnUAugD1AHhAt0H1wLRAdQC1AHcAd0F1AHRAdcD1wFGAdgE1wfXAdcB1QHlAdUBtAHlBNwBYgHfAeYC1AHVAtcB1ALUAecB3wPVAu4B4APvAtQB3wHhAtQC1wLXAuwB6wLeAtsB8APeA0EFSgLjA+YC1APfAdQB1wEyAYgC1w/DA9cJ0QSKCtcH4gFRBuAB1wbXAdsK1wlPAtMI6gHvAekC4QHtAtQB1wLmAd4D1APXAtQI1wLlAegB1wGvAeAF3wHXAtIB7ATUAtAK4QHjAeEC4AXbAd0F2gHbA0QN5QJBAUUC4QTXBNMB1QHjBfAD6gHoAdQF7AHgAtcEfQnXAtcLzwXUAeAHNALUAdMF0wLyBdcC1ALTAtQD4AHhAdQB0QvnAfAB0gHTAtMB0gTVDNcC5QHiDMoK1QLnBtMB2gHuAeoD8QbXAeYC1AHXAukD4gfXAeUJ1wPiBdgB1wHoA9QC0gbTA9gC1wGZA9cC2wLXB9sDkgvXBNQF1wfqAeAB3gPiAT4B5QPqAdUD1QWtAeUB6QLXA98H7wHVC9cF5gHTAd8f6ALXBecCcwS7AeMB1wPXAtcB1wXXBtcC1wbrAdcC4wLeA+EH1wHgBtcC1wHXAdcJ1wbgAdcI1wJEC/IO1wHVBUsB6wG5BOoB1wXSAdQC3wTXA+kE1wLXBjwCjgLUAtcC6AHUA9cE1gPUAdcG7QjXAlsC1wTXBugI7QfXAdQB3wHnAdcE1AVGAe4B4wHpAdcC1wFIA+8F6wFWAeEB4QHuAfML1w1HA9cC0wPUAdIB1wPlAdsF1AXrBdUBowHgBeoE1wXkAtcBsQbVAtQB3AXXBdcB2AfTAuEC5ANNBd4C3QHrBdwGTwHZBNQK0wPdA+kD1QjqB+0E1wLhAdcB1wHjBuEB2wGnAtcB1wXsBO0C1wHUBNoB6QHXAuAHVgXsAtcC4wLXAuQC1wLVAdoB1wHZAdsD1wLsAa4C1wHkAdID5QHvAdcGPQHSAtQB1ALqAdsCKgjpAuQG2APXAeAITQHqAd8C6AGeBeIF1wzYDLUC6ALXBNcI3gU9CNcD1wHtAekDugPnA+IF1wTSAesB2gXXAukB1wRIAtYG1wPfA+4G5wHXAuUBuALjAdkD0wLsAccB6wK3AdcC5QHjA+UBdwHgAesC1AXTCOAB0wHpBtcC7gXsAe0B3QPjAtwB6wRNAeAD1AbSAeAG1wHbAdcI2gPhA2wC5QLsAdcD0wLSAdUB1ALTBIIB2gHXAtMB1wTUA9cD1wTTAdIB6QLYAekD1wFNAd8FXAXFAd0LVAHXAekDZQbXBKUB1AXXBdMN8APVAdQB4QXXAtUF7QHVA9QD6QPfA+sD1wqYA9cB2gHrAuYBWAXhAt8B6gFDAUMCawJDAewB6QFLCOkD2gTiA9cD1QTXBdMB0wbXAdQB7AGFEdcF4wHXAU4C1wPXBe4J3wPXBdoB1w7XAd0E2gFaAdcD1wHXA04C2AHaAeIBcALXDNoCmwXuBagB5AVUAWoB1wHsAdUB2gHXA+cB3QS7CN0C1wHXBnIE4QPqA+IC5gHXAdsB7AGyBesC1wTXAZ0BogHUAdcB7wHXAeoB2wHeAdcB4AGmAdcB6AZtAtgB5gHsAcQB2wbtAuAL5wLXAksC4wLvBNcB6QOTAeQC3QLXCNcBMwHBAesB2AGhAdcD6QfUAuMI1wRoCO8BYwHhAukH1wjJAdcCRwGeAdcC1wLYAdgC1AJAAukCigKsA+EEVAFQAuQB5AKlC0kBSwblAe0E1wTdAdcD4gfqBdcKrwLkAe4Cww7NEkcLRg5GD0sPsAi2LcUBRh5OAkQOqg","M6RzRBak0QFHHjyNAUUXRaAD3dgDUC6BN8VuSRFJmAFE7gFB","9QuK","1QGI","1RFMGEQKQw","4wwu","5ApI","zAe+","tQbj","f6CzBkugCaI","bJ+SAXm0BT8XgHh3HawOrAXJ6AFJtQKnyAJwRk05vg","iQ9r","vBDH","vBDD","Vo9YSLcPTA","zgYn","pwN+AWVGdLEKSA","tAE/yAGkqQJIyQVDjQJRJkSFAWsOIC1FD0ioASwBJ8kBmg","AOoBcAE4AdYCZwRjAZEBgQKnAbMCugK3BG8HagHMArgCuALMAuYBgAHlAdgBmgF1AZ0CwgJPAfkBhgGqAW8CtQGwAXgBmQFyC8ACQAKyAU4DzgM1ArEExwHeAc8F7wFnAcIDKQHdAXkBTwLQAVgBMAHRAi0BIwHtAXQCqgGEATUCXAEsAS0BogIlAdABcAHtAZkBJwHiBcgBKQFUAc8BxwHCAeUBqwE6Aa4C3ALwAXgBMwLtAdIBtwFhASoBuQHzATYBjgEuAiwBtQHXATQBLQGrAboCLAG6AUABJwFDAYsBvQHQAcYB5wEmAb4BKQKoAbgB1QEnAVoBUAFcAaEC5QHuAbEBtwFeAqYB4AXOAdEByQHIAtUB1AHpAd8BsAE8AewCKgHGASgBoAPxB/QBwAHyAncCvwE1AnkGJAEsBJ4E5QHIBGAEgAHrAucFfwLvBVkDSAW5ArYFngQ6AeED3AKhBEQBPAEyAc8CMwF7AbkBJwIvAbsB7wEpAewB0AGmA9gC0wWlAzEBOAInAaoCpQMtASwCVwFYAaEBXQIxAvEBbwErBc8BbAFsAWwBbAHSAVoBzwJeAc4CmQGfBGABQQQwAu0BbgG1AbkCYgJYAsIB0QE3C8kBwAGrAToB7wFtAbkByAHcATcBswGkAWkB4AHIAbUBqgEwArwGhwrwAy0CqALkA9gCfQEqA+ACrgE8CMcB2wGyBsABsgI6As8DJwE4AdICgAPGAcMDvgN4AXQBdQHiAXQDUgFQBmIBjgLQAZQJoASvAtYFYQMwBEsB0AU1AakEPwLcAbgENAHAAbwBKQLcAc8E4wGXAa4BgAE0Aa8C2wTAAW0BaQTUAaoI2wHYAeQBrQEyAmACrQE5AZgBNgLkAeMB1QI1A6wCKAEpA9wCMwXmAUEDvgOiAbgB3wJPAVsDewLACHECywTqA+4B2wLIAjgCKwGqAYwBIQHzAcQDsQPpAZICnAKaATYBsAFmCbcCLwFmAe4BOwHHA7cBwAHQA+UB0ALgAZwCQQPaAc8C0wNxB1oD7QHoAioBWAW4AWYBfwKiAUMB0QU2AScCnQVRA20B7gHcAbABxAS2AbQHvgHrAvEEMwMwAmEB0gGqAdgD1QHUAqwBYgRqAb0B+QTeAzEE1QGoCC4BmwPdBGMBtwKqAt0BqwHgBdEBZAHcAbsGyQaeAdoBewFdA8gB0QFRBTgEZALSBysDrQHvBbMGzQSpAlQBjgHfBdIBLwHHA9UEugHoAVgCXAhiAT8CwwHSA+cB7wKzAYcDtgEjASoBdQIpAeICNwGsAjMENQFGAWABWwHiATcB5QLWAcUELwE3AdcBZAHCAc0BywEnAToB6QEqAtkB+QJAAjIBPQGrAeYB0gaTAzgByQKEAdwHgQJZAUoMnQF6AWYE8QHvAdYF7gThAS8BygEtAckEPAGPBlcBkwNBAdkCngNYAScClwHXBDIB2AHvAjUBKQSNBdIDNwHdAvgB8QH4A/YCzAEzAagEgAWuAcUB2gHGAyoBSALAAUMB5AXTArcB0AGeASEBLgLUAdUB1wFjAdQF9wG1Ac4D4gJAAZ4DqAJmAS4DXQLyAvABNgHVAToBNAG2ApsBOQHAAdIB5wIvAa4BiQK0AccBIQNKAcID2ALNBekD0AHzAWMBrwFqAaACtQPkAZ8BPANlAs4BqAHlAWABKAIoAaoB0wEuAakBdgHeAl8BIgGTBGQCcQLWAeADLQG8AtUC0AF1AWoBgAFXAV8BMgL0A8oB6wHUBLMBKwErAT0CHwTVAdwBPQIwAeoBHgKCAeQBPAHpAs4E6gHoATEB4QLgAbwBkQJWAS8CkgHvA70C6wHhAr8BpgFAAd8CtgHaA3EC5QbgAjMC4AGMAtkC1gEvAygC0gPNAzkBsgX5AcoCtAFwATsBwQIoAmUBKAG5BOEFzAGbATABYAclAZICJwHnAVsBQgGdAeUB+QKKAT8BNQGwATMBnwEqAbYBNwLDAqwBzgEmATcBtQLOAjkBMQGsA84BMAHcBtoBvwHVA94B2QTAAVQBqgLGAYQBmQGxAckBrQEnATgBcgHVATsCzgHGAcAC1gGqATABHgHyAbIB3wHQAd0BwQHUAUIBmwF3BGsCMAK4AfEBJwOTAroBYwGgAUoCNAJHASYBRgFpAScBSALyATsBwwHhB3ADrAG8AekBwAPgBdEB6AHvAbwB1AGwA0sHMgF9AagB8gG+AdADLwSoAiYB2QEsAdABNgE3AVwC5QXSArsB6QHRAVoBdAHNAS8CZAEwAcwBjQFgASgBugLzA80B2AdvBcAFKgFnAq8BogIlBisB1wElAaoBhgE5Aa8CuAGmAjoBqAKsASkBogHnAt8C2QPLB8wB3AGJArMBtAHlBCUBaQHLAfEBNAHZAT8C4wKqAcwB1QE0ATQB0ALlBu8B5AG8AdIB8gFRASoBkAEkAegHIwH2AaABqgE3BpAESAE4AecB9QLNA+cE5AHcASgBNwfGAs0C4gLJATwB9AGiA8oB3wEnAdkB2QLoAe8ByAHgAd8BJQFgAcgDvQG9AS4BtgFaAVMB0gFNAcsBXwGHAi0B0QHmAzQCKAHXAeUBJQHPAdkC9gHGAV0BkwLmAZoESAHtAbYCrwHBAbABwAFkAuAB1gFbAckCJwEvAbAB1wHCAeMBsAFeAVMBowPqATQBxAM1Ad4DwwE6AbEBKwHXAaMBUAE+ATICxgW+Ad4BMwLsATIBeQFfAtsBsgLfAdUBuwHoAcEB8gG0Ai0BYwGaATwDzQE3Ab4BKQK7A0MBSgE3BKIBLwEuAbwBQgFYATgB7AFrAUgB2QIwAfABNgFiAboD3wGmAroB9QHqASIDNAHjAbIBLAGkATABXAFRAigFnAEqAdABUQRgAccBJgK2AUkBiQIxAdoCswG7AiYBRQK6An0BJAMcAWgBqwFeATMB2QLfAYkC3QFwAUMB1QF/AcUE5QPJASABugHDAYQB0QIqAd4CgwiRAWMHcgFyAVQBqwHuASYBxAEnBNQDowEkAtcB1wKjAacDnAEqAlIBcQGlA8YB5QEpAfUB0AG2BLACrgGsAdkBwQHfAb4CpQK6AyIBNwHaAdgBrAIvASYBNgGvAaUE4AGsBL0BJALWAtcBvAG1ATgBrQM8AbwB3AI9Ak0FiwG7AjUBRAWrAewBrAGoBNYKZgSuAkAD0gHwAfEENwXFAm4DcgZLAUwBngPMAfgHwgJJBIUJPASxAoYCbgK4B50EtQLdAkQDwQPGA98CnAZ5A3UBSQtBBEYD2wTCCEIFqAbwAfcB1gHzBKoORgGRAdYH6ASrAZwC9g","hAeeoAl9","hAfN","hAdz","9AnLA+UB6sQDrQ","6Ad2","3RDX","3RDX","/gG9","/wFi","zA9Q","6Ad2","3gjt0QHn","KcQ","1wRlgQWs9AO27QEmFCJG0w","zA2NxwKQ","1wRl","kgG4","jAF5","zAqo","zgXR","jAla","5gHl","9gJeAVM","mgWY","owEu","hw/k","sgGE","sgHD","4gvh","5gF0","MYc","wgSv","1wHQ","1wFb","5w2vVSE","zA9Q","1Q2c","MYc","Mdw","yRC8","2wiL","2QiD","5gtO","+BDW","pQWc","xA+m","lAblAuw","lgaM","0wFn8wa6Yn90pm56O4CHAukCzQ","nAp7sAPC","gBLv","2giZAds","wA56","gBLv","zgXR5QarrwLP","4g6i","4RHSAes","sALvsQ+2Ad4","4RFB","4RFBAeg","kgzR","6gXd+AlI","6gXd","zgHa+QfncCaZAUuVAlFxOlzYcLgEQ9QBUQ","lQmw","oA2u","+hF7","oA3o","vBDppQFBAa4","oA0o","ALkCzRC3EbQWtwHRC84BSiG5AaQCrwHEA6gBJwy4CboFaAqEAdQDtgROEUcDZwh1BUABmAqCB8cDnwIlAUAFKhL2E8wTvAmiDOwE1gfhEKUFKwHpA7ECwhmrFcsI9ByZB6sBpQGCAW8MiQHhAnwByQHuAVEGRQh2EdIEMAGAAacEoQOhHX4RmwbBClgH2gPXAcAC6g/RCboD2QvAAZ0IZBTNAcMMOAVRDTMMsQ7KAesKpxf0BrcMogXTE2IUthBJAlQCeAFCIUkEsQuJCcwRRwqgAWUExAFtAdA70ALTBEMOfwuLApYChwW3Ao8CZRVKAaESjwndEi0fnAi3DVIE7wNLBLQIixWgJpUBrhS9AmQFXQK9A00KYhLPFNUTHwWmA1ENigyvCYsL5AXQAXICMwN9BS8LhAfPGKsB5AevBSYBJQZDApgEsgJdBZ8DsQS5BN0B6APPAeoEygW5AfUEXAE6AjQCzQWjB7UBYgNLAaEEKwGkAa8BTAFhCVQJSgkyD8cDxQFJB3IEhgKGBl0CTgN1DG8CQwbHEKMTgwR/FCgruQacAagHrAHYDOMiTwlSBnsT3gnICmsVjQe6BDwBtQKtAkcFtwJIA4gETQG/ApYCdwLcBFANOgNxBK8BiwHMCbAERgI1C5cL0wVtAcQHqQW1BaEDzwmPC6AMWQFfDSsFniCXBo4bQAEkAmIDbwFrCaICnwZLAaMImQaeA10OwReqAeAByAFHIbsDgwPKA0ELxQVQAaEF6QW7BLcG7AdsAUgBQAbBA90B+APLA78BcAFKBbgH5xDhAWgDVQZCCsID0wnpFdgCpwHW","AnIQ5hHtFVUO1hZUOMo6qQZAUrME8AfAEGIGvhDJI+EIaCS+AkUMQwF5AdYDviDJE7gu3QrPB94D2wNzE3Aw1RJRGUsOkSLmF98CUzk+VkZV2AzeAT88tzF+JXAazhJHHSETugNGAmQaSytNAUgckgkmUEQPaw7QBNIBuwTpCbkB6hFwBbUERARzAqkBTCu/Cs8FKghLBYoUnSp/P6YDRgFFFEYiTQ+6E4ojJgy4EG8OohE6CEABjQK7HEsH5wVHAcoEhA1kCMkNSTG5NJgDTQFMIzkMmRqJAYcBRxPeHmoPvQxGA0YTcAhKE0EKggOjDOoHiQm9GJw","xghw8QVv","jQyX","jQy9","5gXB","ggPn3QXN","ggPP","uAelhgKu","xwJ6","xwJ61w5Q","6wGulhBH","9gag","ig+G","4gdI","5QKf8giE","vw6Z","qQuRBOkK7asF4A","0wEl2wJpKSX7AYnVAS0fnMMCJgElzAIvyAFSIFkOK0ckuQG/AUg","3QMb","sQKv2Q/V","pQOS","vw6Z","zwWX","ohDb","e7A","lAbYvgVz","aleXBmYB4Q","alc","AIkgUAPNGkQJvhbsDPIFQgFdD94WowJ8FH0WoAHHA+AESgeyA20DXQdwDXMEkwfYAsodbh3EAdIC5QNgCkYCuQUrDVIz1AGiETQGugiPAYIB0w3yAuQBiQHYAdQGowcwAZAOzgKvBmAJmANJEV4CnAGcAb4wkBVNG94JbAmSEbECoAHNAsoQSgXaA7MGZA/DDIgB7QVFDYAIlQ1PEJcCaQeRHLAFnhOyDnYpxAmJAmUHjgPvAcgOdANMFHMZaAiTBHkLmgGiA44B0QbYAtAC2RTECi0R3AbFJmEFRRMhCdsEbwU3AXoBvwbSAaENLgKMAkcMjgSsCEYFjgaTBo4CLQ3mCsYCRAGLAq8LfwbkATwIngx9DW0T1giJDj8PJhNMC0gCSw2wBUMEhQuIAosETgRuCEAIfRGaBKEBzQmRA8ECtwemAZMBngGbCEgBTwWGAksB8gZCAaUBwQYwCiwH0QE2EtgL1Q6aA2oCdQymFjAgTwK/CHgEqAG9CS0PLw/bAskBYQOMAdMDoALmB1IBojiPE3wHrhKeBZMKIAKTAZ4BkwiSAukCRwMwAiwBPAhLAaMDdwFEAkUE4g3KAXUBxAFxBIUB4QHTAUoBzQHeE1IE3gKVAb8HMAeWISgElBSXAnQLHRJIFaUCoRncA7IBZwGLC7ACcgiREGoGQAFiH+QCRwbMC5Mbbg+/CsYJrwKaDKAhoAHZBkoJ6wJIB1EEZRHzCEg","aOA","aHE","4g7B","3g7JAcMCRZ0DPw","4g7B","8RHr","pQ2j","I4Y","wQXe","oA25","0QvU","0Qvk","IFA","9Aih","jxLg","jxLp","khDd","Fjo","7Qs0","qQGZ","2A5K","BENSRSVMAkIMSR1EoAGSoQE8cHENz1U6BkFgVAdRdtEWRy850gFPL2alAUUjayhNBU4qayxHC1GIAqMDPoIBHBmCU04NTg","7giycS6WBYQ","rwKZowNs2gNLswFWxgJ6xQFT9wGt","P2HWAbfQB62FBNUDQw","1A/3","1A+c","1A++","1A/s","1A9x","1A/n","EzMbhQJLFLUIRgoeC8cIMAEfDS0JMiKEAZ4KmwgpBG0EhwceIisCRBInRikVogqiFC4DNwFOFJEXOAG7HaMCqAw8NIYL9DJgAS8BnQalXmQaL5oBqgGoHTU6MhAqCVgIaxJaQ7ggRCdDEGQBSwZVAUkLaAYuBWwBSQIlCzkFqjBqDWYGfSgoDjw8HWAmCUcBTwI4AVAHJAdRBnAOQAEyGkMBJQd3DGIFlQRVET0TbBysAUUCTQyhJB8DqgJLD1AJjAJUAjckTgM8KCgZXgQyBiEIIQMhCSoBKxAqAXoitgFCAn4BJgYwC7IJpQE5FaEMJiq6Ab0BvCYqE1ECJgkiECsNnw","EzM","jQTK","Wk4tnxtRngFQY8a3A1TVAnE9lI8DmssCM1Ur","AZgFdgJ6BrMBywKIA6YCOgJTB3ADPgFPBFkBQwFnDKwDgAJrAcoIcwKfAowGUAQcBXUNHwUrAlMDzQUlBnYEcAKeCEMFMwF5BJcIQwFDAjMELgPMCEUCgwJ0AbsGlgJcBD8FtAIzB5AHOwLAAyoFKAU+A9MKpAGdBjwCoh1xFzoGmQc4CZEBqg99B78JSAJrA5cQdwF/DUoJkQWBA90CqALJBY4ExQNlBUUYowejBisKPgFmBpsJsQFVGocbdSC/A84XrQiZBYIZphN5AZoNwwJuEjYNXAFyAZcBiwXMC2wVRwghCTYLsh6kBDQBogGKJycIvBZHF6QTtgYvAjQHJAKdC0sKSgSSAYABIQZ+AkYFQQSnAS4HogE3BUIDpBHHBDgBxQotArQDuwezB8QDfwG5C3kGlgclATEMbQYoAUQFrAWaCiwTzxLZAXcJdQWGAl0ILwa8BVQCQAO8AkMBSwizA2UBoA3HAyoBRAOFBKcBSAYnAaUEfwFVAi4BQgKuDS4DfQlEAUoDoworAVgBgQPAA54IIwFCCjEEhARSA0QDcALBBDMSVAtCBrUDLAmlATsBTQKPAygKRwZOBCUDRwGgAXYHQgI+A2EDYwUmAn4EOQRVASoBrwhmBKMBwQRnBS8DmwKRBUQBJQFnA8MBpAOlAZgBLALAAawBRgGeBo0LLgU0BDYTSAJOAcIHrAElA6gETggoAYQBhQJ2BbsBnAVwAoQCIAc7AWsBNQKNAnQBewGGBCUDiAe4ATYRpxFFAiEBLAKbAp8JihG7AkQBrAGbAS0DnwFwASsCfwEtAzQRrAaZAmcCIgGtBMoITQy2AUUBNweHBjMCPQ4lA2sFGQJdAkABWgS8BDwEagU6AiMCdgpfA2QDMghUA8ECkAOUASUEIQmoAzEMcwKdAkoBQgahDZ0HyQeFAS8BLgGtAnQBlgS/AkgJLgI+BksOKgKABjwEngJHArcDogGpBVcBQAN0AVoGJQNwAsQDeQLMDGAaaAc/AUoOtQUpA0IBugHFByYB0wNHApIBswNLAaEBowGPAi8EcQ/aAjgBdQGfDzsLwgJHFUwMRgTTCW4amwi4CUgGowk/D3wDSQY8BkoKTAxlAkYXSAPICsQ","LaQ1sgE6Gj0VlgdxCEMGswNFBKoLSGKlEMsrqwSfIkUPOg+XA3ZJcIQB0Tohdq6qASkEnAHEBkEF5gynJ5Eo4gVoDC8MgRWiT54CTjqtAlYBZwYqCqwWViOsEkwWywPMC0MhUwZxSEwFyQ5GBn4IiBGfEboIqBFDA6AoSi3DCZ8TSA5JA5ZTogGkJsQSnApzEqUcpgRIAZwBpw+wFUokHRtqA74PsARKFn4mnQigEEgzlk1M","1Adr","1Ae1","1Adr","1Aew","AVIB9QG4AUYCSQGzAd0DRQFmBUkBSwQ6AjMDRQRLAjUHQwVuArEEPghOEOkDSQO8AU4DXgU+DIIEpwGBDXYGOQ0zB1sGKgTLA+YDpwEuBMkDNwSpAWECagc8ASwDQAYzBEYGLAU6A2gDKxWkG+wjWAxFAjMCKwGkBNwVeAUtAzQBSAQxAakB4AIrBU4WRAwyATcNOgE6BqkCgAFJBV8CLxMtCWIQQgLDAW8C6AE4AWAIJwE4AWwCnxIvBmUBfjA0DXcBNAZODXwLKwE5A3UK8QZDA0gd5gLgDCsELAE0AzYYKgU4C6cCNhHMA3kIIRqtGS8lPgtCCuUCTQGuD60JdwJmBmcB8g/NN7gDcgaHAjgDpwOqAtcCRgddBHwBwQ0sBqEDVCfeB0AJ8QugAS8G0gEmCqcGsgsvHUIDTRrBASoFsgaZAUMHSQSlI9YFaANMAZ4CPAQrBY4HSQ2tBF0KHwbIArACrBEeB24D3wFZAWcByAPdClYbVBCqAcwP9AUlA1wGoxAmG3ADzQJoC68BsAakC18BKgJwDS4FSQIxCGwNMgFCBOYDagKsA8gELQKQAX8BhAOuAakCQww/A/oFUwapAyIELwH3AqMOyxOCDDkBKAG9BckEmhQtA9kDMgI/A58BrwMfA0QU6glbGC8IfAVOD4QNaQhpCqIBRBpaEEYEOAFHAzoGPgqbAioBsQZmBUoKRhWmAWsDKALkE+oLKg5HAqUBRgxrBHIKPwFpA74FIAlID+0MLhZOASkDLgU1DycGQQJPEjMBLgyODqADRjHgReYqTg","hwLo","Aqk","rgzZ","Ar4","AtI","rgzZ","tAiI","7QRykwJz","rgzJ","5wfB","hwIv","A3Y","lQWj","kwV8","nwGYCJg","1Aen","9wymowLq","F30JUAaKA5EMhwFAAZYTxAnfAVoGdwSXBnkEcQWUBnUJbwGcDzsDKQONAc4DtCNIC+AI0QdHBksPRBTQBYER6gO0DecBhgnPCpcQ0ge8CZcORQF8BUoG4wNEA+IB6QVFBr0J8giRAW4D8QKQCHcCnAOsFc0dogKxAfISnA9YIUYN2RZOAU0jng6uATM42BiDCNcY8QLOAe8I7xjBGVQDngOWGeQ9lRx6CpcGUBpJCaAEcQZrDb8CeAq1H4wC6hivBd8C9QHqEZEUuAHMBc4JTQSdHWsDgwptAZ0OSgRKB0kKyRKdBEYGMgXSBaEBmBFmA6sCvApcBH0a1RFTCekGuQnECz0S1AHEAaMHkwFNC/MOUgcmCDcBpQFKCmgFpwa1A3MBagNgAqQFcAFuAZMDRANNBM0DowyOCqMB8wlQGOUBuQNSAqUDJBRZC00U1ARlC1EYSwKeBHMvYQRlBfMJUg3MC0wsRw1rFkIL5gftBT8GmxVUBlYDUArKA0wCTw5OB1ACpApQBEsLWCXKArIIgwtFC1oDfwN9D1oSNyFMHksFeTCVQ/AIRhzVAj4h0QGcCdoM7gj1CfU","oA7S","zAHR","4wXtAs4","mQpC","8Qm8","0A9l","3Avh","xAFd","ng3j","8gSu","kgulAUo","swrJ","8ALI","ng2P","swqV","hgmD","1Adr","sQuR","9gLLAdzCCco","9gKJAZc","9gJe","qwi8","kwHJ","ogLT","uQqv","0Aky","qxHq","rghR","mQ7g","9ArflAfC","3AGY","CKArdgS0BIIOWBk/C0IJxAiSB0oCPg2TB60HzwKiEMcB1wM8ASwTLBwpLqETOhInC2k2pClWIpsBKh5RBEgRIC1IDTsIWhrHBEsHNnlxAXEBcQFxAXEBcQepAaYHIRKRHJx2LRKWD0EcOxpABTtaTAeiHkMYThQuGSEdMjSkBisrIiCsGEsMwQm1GysIPiBHB0oTSQaMBjwCoRRrFaQKtS/JF30VUSCjDHAXow1IiQGbEi0flgw+CKUCqBhHBJMBNlVSDisHpAihGlzPAbQ","7AVx","7AVx","AjgCtgHsAV4GWQHrAVIBSwKpAX4FiwXPAU0DuAJMAbAHmgVZBksBUQFaA10K3QFZEeMMjwHGBecClANxBDwBlQOyAcgBbQUwAqgHrQarAaADpAFIA7YBZwRDA58CeAJBA4MBRQKfAa0EZQG/AkMBdAKzAU8BtwGSAp4HpAFCCkoHsgNHAUQCwwGwAjkC1wGNAd4EtAiBAXwFNQg/ASwTjgFXB9gFPhl/BnkBOAKzA4gEoAKZBacLPQK5AUoCJwM/A64CuAFIAsoJTgeIBp8JlgdiBJEBtgG2A4EBQQbJASwCywHFAqEFSAKAAZgCQgFFA4UNVgWRAa8ByQG3AtEFmQZqCmgB3QJDAzgCxQTPA5sCcAKfBKwORQbYAaAakgR/ArQBWAPDAb8GpgGQBbIBkANFBcwEdQa5CJAIqQSkBN0BlwGjA+ESSAmzAswDagTSD80ITQEvAWwBtwI9BosIWQe/BIYCiQIwAZEBxwLJBXoFggKwBaYBcBeRAXcMviJJApgCPgRHAcoQrw1JAZsDTQfBBJoDnAWXEs0BNQFOBTgIohjmBNwBzwTIAp4BzgYkArULww2iAZoBowGeAqEBOQViAcUDoAO4AcoBNwHACzwCOQmCAoUBdALLBY4FhAFxDUoFUQLBCs4CPgHFBM4B4QbEAdIGSAVFAd8EdQPQBcECvgRCAUAERAeTASgFHgIhAcUB5QNiBrsHqgFPAUIBrQ3QA6UFagO0AcsJOQE/CKoCygeFAUoClQGlAn8CrQGGAeICYAGaA3cFKwGrBXkEzgZwAacCoAKpA74CSATNAVcBJwGlAUgBoQKZA7MCjAFsA60K1AGNBeQFzAHPAXMDbQRHAdsFmgJHArEEngHWAWICfgLUAYgBdwJ3AlAGtwU/BJ0DoQUoAV8CaQI/AWIIlxCcA0gESQLMBZoHSAPUAr8CrQqnAUQFgAcnAYgBtgJqAZwBtQWrAm8BxQSzAc0BsAGxAWQCygFNBKcBwAOXBLsC6gHHAyoB0ALJAWMBwgW6ASsCQwObAZQBaAGeByIC9AJFAqkBjgEsAZsBzgFzAW4GzANJB7oCiANUBJsEqAKKAagBOwfIBUcBPgJ0AUkCXwFPArcOzQWcAZ4BjQFyA6gCnQSuAnABPwGfArsBiQZRAakD1QGRAbcBxAGGAkgCnAKmCIgCwg+nAUsBxgLCCEoBsQJ0AjkCvQJpAoQBowK8BMwCywLhAlEHugbSBKsDhQO8BJ8ETgpvAa0BMgLOAbABRgHNCscCegaGBZQBtgOsCHYCrApCD3QEugElAkQEvALEAToBsQFcAYQCkgW/A2AEqQHMAXgBuQO6CkgCZgFtAUACrQOzAdABWwGGAqICmwHLApgCLAGxBYgBqQVHAmgDKwJxAj4BzAKwBY0EOgLKCZwCzwOjAtsERgI1CIQElwSUAaMCTAJRAzABOQKyBW0CcgFCBVYCuAJBBZ8IUQHCA8QBSgOvBHoDmwFiAb8CRQLJAq8FyAGyBcgBYAXFAZkLfwTIAasCIAaUDW8BYAGyBt8BzQJaAVIOzAPSApgBqAGGAbEBogGiAisDQALAAksCqwNEA64BcgGIAUEBzAK5A0MGRQM5A74DwwHvAXsBjAGfCb0ESAREAn8CRxDQA7YWpAJKBksCwwagBD0BSAtCAUQLRgRKBTgEuwKwAqMBpAFABeQBywJFFaUCmgZKA8sDowRMAb0BzQ9OBUkNTg7o","oAUvrAbp9wOu","owuy","vQTM","oxLo","1wSp","/g3B","9QmJ","jwGk","aN1xzQ","/g0v","gwpH","Vtc","iAWo","wgOx","Y30","Y2I","BeoI5Q","zQ6w","swip","qAl/iQO7lAGGCaw","9gEs","swipzgTW","dq8","pwjS","swi/","9Q1s","2wHM","2gGDlQR3kQix","kwu3","9QE/","6xDQ","1AvO","kwt1","wgOq","IHA","hwu2","zAvW","ALkJTgJFBDYDfgqkA3AQRAq/C0EKmRjIAisEagqZBVwC2glDA5cC9hPMEWcDxwMpAqEXZi7QOZsUhgtKA6EHdhGdBc0ZdAfUAtARaQrYD6MCcxfLAUMHugZjBWwq3QebDrIGsw9cCbMDkQtlAZ0MtwmjCHIV0BbPAqECPQJPBc0BhgGRAUoYbQl0BDYGeg3QCHYCpgtuGMoBxwuYBpsBohBAHIsDnAaHAs0CyQnHDcwBmQVhCGYMmAE9FJ8NrwNeFJkCqwigAaoBRw01A0IBjwo7Ca4W2QxyCs4JmwYlDU0CjQHZA5wBngN1BK4JhRZJD9oGfwKjAzIB4wrPCsEDjQM2BoIRtgGPBN8HoxCXA6UKrhTWAroqzwY/AaMEqBSjBrEdHQqgCY4CRwFICrEFogcqApgIcwaxB5wHzAJIBl8MyAImCdMEhxdOAX0FnQVsDYkDcAx4CXQCVAJ9A60IXBRWCUgCLAK8AYIFcRKkBnMCeQLPBaIFLApCAdYDow7YBbAFdwRqAnAH2gZfAaYEbQTGB0UlmwMzB5wLfgdzBT4CwwaBAdwUWgEfAp4NawSABUsDRgg6ASoDswFuAjIC5gjDA08GiwGABHQYZw/IBWwDpgPBEcYOSQOTEyQHtQGgCbMMbQ+xASYJRAuvDU0BTAurArEDRQRBAaoBLwFJA5kGwQxFCHUErAOsKOoMPAq5AsUUPAXIBbgKiQKyBsEKSgt8Ca4D2wXlCkIHYQRJ","7wc7","sgkq","nAqRpgUy","8gsx","sQyj","B+8DUjbyCKkGUwJyJI48Zx/wAd4CbgvETEqDAYoh3AriHa4Era4BT+wBvBm7Gbcw5lZEQNdiPSrKP0gG8wHJCc4GKEPgBdkB6wHnjwFIuwE5LJRuabsC5w","igln","sAFA","3Aqr","1wM+","igm7","7Arc","jAK4","6wS/","kgry","kgpJ","AJcCfgHYAr0CkgLLBIEFpAG1B3IDTQGQAnYC6gHDAU0BPQPVEVQJbgKYBGAFawHSBYwBWgJFCFAB0gOPAeYDggKxAYwDdQFjAtQCvwF5AmwD9gR5AU8B6AEzAmoFSgFqAWMC2wJoB8YBRwFAAY8BQgFLAcQBjwJ3A+IBQQNbAZcDhgFRA0sBeQFHAfMBSANPAd4BQALJAoQBZQFIAkgBQAFCA6UBuwFLAY4BPAKKAS8DwAJGAj0DhwHOAaIBQAFFAS4CvgHFAUgC5AK7AeUHjAG4AT0EUAFMBu4CYQGCBKECtQVLBKsC3gRPBkoBwgWoEkoBnAPgAn8BeQXjAXQCZAI+A3cCdQI+AZ8BtANCAuABhgaVAq4CuwGFAm4DPwNIAeACSANDAu8BawVyAdYGnALNAasCYAF+BosBtwJ2C58BRwa7AuQEngFLAUwBUAFMBakBSAFlAUkBqQGRAaABkQF9AjwEjwK0AcoBcwKfBJ4BwQHGBdACWQVBAT0BkgSwAU8DYQTFAj4BrAGZAWIDOAGsAUsBVgFQBdwBwQNIArEB3QF3AZYCzwiFAmYHRwGXBtwDnAa/BNkGqQJ2AaUFgANwAXADywNpA30CQAFRAVAGtwPwAUkBeAFMA+UDkgGtAc0C0QGRB7IEkQGCAp4DtgNdAbQMPgH1A0sCQwyNAX4CigPSAZoBygGEAr0BuwPUBJIIwAPLATQB8AHYAroBfgJkBHUBiwJbAtAB0wFKAk0GrAFqA6ADsAIwAXwBRwM4CbICSAKFD3QDjAF5AUcBUwGeBKYBUAFFAekBvwG9BrMD4gTKFMsFogLoA0oCrgJbAUIBfwJHAW0DbgWgAuUFiQGvDpsBgwWKBEQB7QHmAl4GdwGDAVQDywKsBWgBlANfAcgDzwGsAU4FcwGvAuUC0AHYFF8BzgG7AdsGrgLcAXYDbwJKB0UCSArhAa0B4wFBAbsB6wOXA3MEvwKRAkMDTwNuAYoGkgGgAuYDqwRGAXYCxwFeAlMBeAGIAUIB2wOoAaMBSQG+ATICvgFwAcwCaAGLAUMC3gKbBNEG3ARBAUoHgAuwAtICwgPaBKMBRgiPAl0E2gLeAkwJPwFIAeYB7AOwAfMCTAKzAqQBkwOXAYYEOwTMB0oBSwKRAtwGeAF6BrkBXAfmAeECzgGoAkwBwAPDAmYFvwGjAsICaAJLAcADYAF6AUkBQwEkAs4C7gNOAdABtAKyAqYBvwJqA0cBwQFJAyEEtAE+AdoFpAGDAekD0gKiAqEB4QKWAqMDRAFAAUgDSwGHAYIBRwGcAkUBYAFBAY8BPAHGAWkBlQHEAUIBiQFQAUsExQKyBNgCLQTOBUQBSgHNBW4FZAY8A8UBTQFxA8sBpwGeAkIBmgFCAYcG0wKdBHgBoA3qAUgBrAE/AUQE6wOOAUoFYwaBAeMBlgJcAXwDdARyAW4DVAG5BbMBzQNIAUkBTQKkAaABSwdjA8wCbAHIBGoEoAHQAa8BcAFXAUQBUQGtAUAEQgF9AdEBlQGnA0IBYwNAAkQKUAG5AfgBwgXHA4MBkQKHBlABTgFfAscBRgKsApEBTAGYAaMBUQFQAdoBTwFHAcIBSgG4AU8CSwFeAkgBmAHBASYBLAEkAdoCmQSjB04CfwNKAkkCRwJGAXsBRwGNAU4BswOLAccGmwOxAdIDcQGBBM4CRAOVAY4DdgFOBaoB2AFoAtcBQAJyA58CSwbEAT8BhAG9AZICTAVRAWsBRwNFAUEB3QHlAZABiwEwAUgBlwF2AsEBggZQBncHgwNKAacCngJKAd4BsgLhAukCegHeAeIB4AFHAUUCkAEsBZcBlQFnAlEBtQpEAi8BUwPtAUQB3wHAAyUBrwI/AoIBxgKhAsICKAFEAU8F8AS8AYwB0QRYAeEBSQG5BHMDSQGIAUUBxAFMBoYBjgNNAU0BzwFECUUDRgOEBqgCwAGFAZkBWAVHAkME3ASXAUACawGSBG4BPQKFAdMBQAF0AeYEjQPTAe4BgwNJAscBOgOtAUoDgAG8AZcEkwGpA8gBvgGfAZcDigE8AcgBzAG4AXoBtwFDAtUB0gFGATwDYwKIAeYCoQJLAWQBYAFEAaoBlQLCAbcB5gVPAq0FpgFoAZAB7QHjCcEB2gRJAacBTAOXAccCKQFhAZ8BVQNKBJcCvAKIAkECdgGbAasBRwHhAXADhgHeBEMBTgOFAWQDSwGZAdUCQQFLAeYCnQGMAsACUwJEAcYBewHMA9kB4gE8AmoBxwNHAe4CRgGfAa8BcQGXAjoClAFAA1QBWQFHApEBpwHdAa4B2QKtAYkBsALfAWkBoANzBEEC8QRnA7AFmQFxAWABcQKDCVMB3AFjAYEBzQakAcEBSgVpAzUBVwS+AZwBSAJGAU4BQQGKAUsBQgF2AXIB2QE3AU0CgQJ1Aq8CrQG8AcEBhQLxArgB1wGXAcEBsAJnAuUC7gOHAdsCgAGOAd0CygHhAq4CsQGVAasH0AGlAeICyAEzAdcBrAJLAeAGSgdvBcEBhgU8BlAFhgHOAeMCsAnFA0YDTAFBD0gM1AFDAmwB5AE3Br0I3gI5BtMFsgc9EpoFUgNrBqMDSAFCAUgBSAtHBk0Diwx4AUgFnwZV","5BDS","5BDS","8wyyzwTN","hQ9W","wwi4YFifAUo","5Qwl","jg3C","4wqQ","qRDo","nw90","jQmj","hwKw","zgrM","1AuD","wAQvpQPI6AJUpAPcUDSHAdVGvg","4gV0","2gM2","jxCK","tRDq","tRC3","pASAmA2xAjk","6woo","kgO7","3Qlj","A6Y","yQSxAtGwDM4","kg6r","/BDq","sgHH","fdM","AELkEEc","iQFougfg","whCB","7xA8","Cbw","zwZm","3wHj","I54","tQLi","jAzO","mhDZ","pw3G","2A7pAeE","yAvU","pgOnsAfA","swfM","tA9J","vgrr","4w4e","JH8ybAQ+HZcHdhpDDoUaoRRAMssEmkxGaC0+LxrIEbkankMqM5IPuSuONEcRMR68LzkQUE1OFtwuhChvBlMyeQK3SXUnyCiHC04JISmtE0MGiTa5AZkCqAqJICwHjQunHUgPqAVUGegPvgZ5GH0fxASJWKkW2SA/EB8nTBShKVYvKRMpFW8vaxxEI2UKKWuwZZ8","HUg5YDKDowGBsgGVV3jtAaYEVrICeiczHiNGTQNQVURcY4IBdBBCGKMxfvIBpBNFKSgytQE3M3JkSzXKhgE2","ixBr","8Q3Z","wQSe","pgFr","hgmt","2wqt","nwlBngIvvwXV","HnUmcRvDEyUFLRKYLLsxSg3XSi8MhhvuEjdfxW/MHDkfjSDuDVsCyhGwBzgsvSjnBWhNygrUPEsEyBs4cd0F4x/TGMMZLghBEIEYTZwBSEN3AdcTTgN2GCsBJgkwPcYJgRrbAeQDMAKBA7sdeAFTAtsF3gIpCn8BKSS9D44EWAHeTm0hmA5NBdEIyAYuB9UmKQEuDXENaQUuDeUYlRSZAiQvwwdoChsUaAImB1AF1QfeBisE1qoBUg","9gFC","pBB+Bbk","mAEqpQEvqQG5XrkcOUDYxAU0lgKMAS0T57wCr1oj","9gag","4Qce","aE0","lgd4","IHY","8wZK1geza34","0gpD","2gpu","AEI","iQGZpAuU","zwaw","nwm3","xwhl","IuA","qAu8","tw9k","swjV","wwKr","uQnaB+gD0g","6we+","lgdZ","tQeo","jQ5Q","owlY","owmD","owmD","owlY","tQF/","KNI","sAbR","U4yyDtU","hQ+A","yAKt","AqkEUAHLBbMZRwtAAp4GoyrRDIsPXQ4zBWwEMwZ6NJRX2gHGLeR7hSOxFKoufRy6MCslOhC5BWoCpQunLNQr6QjeHt8LuB+7CrAmLwymKDgDmQ4nB6MQSgzZCuMvrzB1DNg2vALhGdcE5wLBC50UlQItDsgR5gG8BdQo2SnnBkMiKgLECK4IuRghDDsBkwjfBJctiwGiEXYF4AHPF8IxUwK7DsoBKAa8I0kGeAKRAckKKzqyHLQShwGCDmQImgmvA60uLQzbFD4E8gTJDrkKNhLAC8Mx5B+QAag8nCXu","kwTJlgOwJkE","zwdo","kwTk","kwTd","0Qc4","rRHX","JT0","0wFH","AOwBvgFUAcYB3QHVAdAB6AHPAc8B4wHSAfQB2AH0AesBmAHlAegB4QHZAcIB7wLwAckCngHfAdAB2gHEAc4B7wKGAdcB0QLdAeQB6wHhAuYByQLLAYMB7wHNAecB4AHTAdsB5gF4AZsBrAHNAXwBdwFwAd4B7wLRAtYB4wGUAYwBzQHcAuIBrgGlAcAB7wHpAdcCxAPbAeACcQHVA9MBUAHFAdwC8gHdBd0BpQHnAvIB9QHlAXoC5gHJAagBzwHyAeQB6QHgAc0BvQHmAfEB1QHpAecB2wGrAtMCzgHNAdUBwQHbAa8B7AHUAeEB5gFPAe4BqgHtAawBbgHZAZ8BdAHqAfoB8QLoAeYC9wHpAfQB5gEuAcMB6AHnAfcBrwHjAdkB2AHuAckB5QFaAdoB0QHXAeIB9gGdAekB4QGCAe8B4wHiAfQB1gHeAdUBcQJlAekDnAHTAbsE6gLdAeoC6wHvAeQBywHfAc4B5wE+AaoCzAHIAsoBmgd0AesB7QKsAuMGqwTJBOUFnQHSAvQB2gTiAfICmgPnAd8DwwPSAvQKtAGzA9gB5QHpA8wCoATjBO4B5wGfAdQBygHxAbEB3QG/AvIC7QHAAe4CpgHLAuYC3wPoAkoDrQHnAu4B9gGiAbgB8wLeAeoBzQHyAe0B3gGVAucC1AHZAYgBzwHkAZEC4AHWAaAB2gHGAdwByAHoAtoBkwJeAX0C7QGzAqcE4gLbAfcB4wHjAfkBxQXmAeMBhwHQA9sCxgKxAvUB7QHXAeUB8gHbAYID8AHyAecB1wHrAfUB1AHmAfAC5wLwAekB8AK+As0CnwbEArkB7gGxAaQChQPDAuoB7gG5A+0B4AHTAasB4wHxAeUD1ALbAccCzQPsAZUB6wHlAWEBrALrAdsB+gG+AfMBfwHyA/cB3gH2AdIBsQfQAa8C2AH2AugC8gLaAZcBrwHpAa4EvAOhBuwB8wHrBaYD2wPvAtAFvAHXAasD7gHPAaYEzQH0AdUB0gHkAvcFigHoAdMBrwHoAdAB0gHzAbEC8gHcB+UJzgHcBLwBzwHIAdUB5wHoBPAB0gHkAe8BogH2AvQBxwLDAdwBTQHTA9UC7AH1AsUE8QHfAfEBtQHYAe0CxQl/BPEC7wPPAuIBzALmAvMB8gH4AeoB6wHwAeUB8AGzAs4DpwGSAqoB3ALOAeoB7QLAAd8BpwHoAbAB4AKzAaQB3wHrAfgBuQHuAvMB1Qb3AasDegHxAfoBqAKsAcMC2wKpCKsB8AHrAesC6QHjAdoC0ANKAcMD7AbjAbQB3QHRAekCyAHNAeYBkQP3AZUB2gHGA90GwQHbAfYB4wHsAc8BtQKyAZwB8wPjArsC5QHqAb8C4wGOA+YB8AGRAewBsgHKAfID6QF+AdICmAHeA6gCsgHAAYQF4gSsBKsCsQHwAdgC6AGJApUC9AKyAeUBywHUAagE2AauAa0B4wGlAdoC4gHeAfABpQLyAcoB6wHKAc8C7QGyAYUBggLQA+wB8APzAdAL2QG4AY4BrAH0AawB8wHqAaUB7QKzAe4B3wGJAdoBsAGTAuwDPwKGAeYB4QGtAbMB7QL0AdEC6wHZAaYB8QHYAcwD6AKzAt0C8AHkAcABpAPLAb8B8gGTAX8B2QHuAtcB7wHuAeQB5QH1AYoB8ALNAe8DzgFGAfUB9wHqAe0BRwHeAfAB6gHzAeQD8wGjAb4C6AHfAdAB6gOoAawB4gVoAboD5wGsAaoDzQL3AewB4gGuAaABrwHTA78B6AHmAfAC3gLLA94CkAGrAYsB1wHOAtIB9QO6AuAB7wG6AvkC7QTwAd4CagHZAfAC5gHTAaUC9wGBAusBhQG5AcoB8QTyAasB4ALWAfUB1gH3CGAC8AWLAZ8C8gPpAfICwwGpAdEDywLhAXwB5AHwAbIBrwHqA8YEsAGIAaYB8wHzAcwB6wHTAqQB7wHVAqwBwgHEBM0BsAS+AdMBtQHYAeoCtQHBAtUB6QKGAfIC1wPwAdUB1wHLAesCzgHFAuUB5wFzAd4B0wHtAukDqALxAdID7QNyBNgFcAHtAe4B8gHwAdoBrgLoAdwB7wLiAewBzQHZAe0B0wHtAe4BfwHuAecB6gHrAfEB5QJ/Ad4B7gHrAt8CoALwAaIF7AHeAakB3AHdAaMB3AFOAZIC0QH2AvID6gFxAbsB3wHZAtsB2QHJAcICxAGLA+4BrAHxAeoB4wGbAesB3wL1AeIBkQGaAYcF3wHoAeMBvgLNAfIC3AHdA+cCvQG1An8D0AHWAeEB7AHoAeUB0QHrAfQB5QHVAb0FsQHdAt8C1gHKAsMB7QLlAe8B9AHxAeMBeAHlAdkB7wHzAsMBSQGQAXYBgAL0AcoBuwLEAfUB4ALTAeEB7wHsAtQD6gV5Ac8BtwPiAqgD8gPwAegBvQHjAo4B+QK3AeAC5wHbAfEB7QHqAewBdAGuAbYB6wHkAfYBxgHmBOgB3gH1At4B6QHoAfECqQGZAb4BnQHKAeoC0gLPAewB1QKdAeMB7AG1Ae0B5wHbAfEB8wHtAeYCyQG4AdwB0AHwAd8BTwHMAdcBcgHiAfoB2QKUAdoB9gGxAeEB3wG2AUwB6ATtAucE7wHdAe4BjgKAAeICxwLXAZ0BzgG5AcYBxwHlAboB7QHsAfQE1QKOAd8BqgGLAbYByAG5AdoB1QHsAeIBsQOdAYsC4wHiAewB7gHbArMCwAGzAdgBnQHeA6QBwAHLAewB8gHfA68E9QGxAeQB8gHgAesB4QHgAXwC1QXYAe8B8QHEAbQBuQHEAY0BiwL4AfAB2gHmAdMBsAGkAdIB8wHYAvABwgGoAcIB4wHtAqMBjALeA9MB0QKsAeYB8AH6AckB3wH0Ae4B5QTJAuUB3QHKAeYBrwHwAbwD7gKuA+ABqAF7AbgB8AGrAtED2QTVA+AB4gGsAdUB9AHwApgD8QHJAeYB1AHVAe8B3wHsAd0B9gHSAc8B8wHeAcwBxwSFAWMD7QHQAekBwAPiAfAB3gGHAecDzgSrAqQBzQLDAq4B8wG1AqQD6wHUAUoBYwicAc4B9gG/BNoB9AHOAcIC3wLPAa0BxwLfAdkCowHtAsAEhwKbAsUB9ALTAswEygHqAewBoQHVAdoH5wS3AvABrQHyAc0BvAHuAe8B6gHeAuQB7gPxAeAB8gHrAfABlAG2AdwBuAHYA+QB7QHYAq4BrgHSAdQB5QH0AZIB5gH2AecB4AHMAdoB2QHhAtIB5wHSAeAB8QGjAfMB2gHmAtoB4wG3AegDrwJxBO8BpgHwAe8B2AHxAVIBwAHUAfkB6AGaAd0BlgLnA+UBoAHxAdgC4AHsAeYB3QHkAcQB5gFVAa4B6QHpAboB2QHcAeIB6wH0AeoB6wHaAe0B4wHpAfAB8QHzAXgB4gHgAfIBzAHLBNcC2wHmAewB1gHrAu8B2wHtAesB6ALoAq4B2gbFAegB7wHcAfMC7gHDAe8C9QHhAY8C8wHoAuwB6QHNAc0B8gLrAu4B5AGiAtMB9AHxAbkBxQHrAeABrgHvAdwBzgHsArsB6ANuAeQC5wGtAuIC4gGEAekC8AGvAsYEcALmAXcB7AHoAdYBrgHoAasC7QGxAt0B+ALwArcC1AHXAfEBoQG3AcAB3QX1AfIC0wGpAd0C4ALeAZIB0wHcAbgB4AHkAdYB3wHvAfABywHJAd8BuAGuAcMB7gG3AdYC5wLFAecCywHCAewB4wHfAtUB5gHBAeID5gPIAe4CtgHCAe8BWgHRAZ4BnQHCAdUB7gGsAekByAHwAewB8gKuAbsBpQLeAuUBoAHVAewBvwLpAu4B9QPQAc8DRwNMAaYB3gHGA9AB2AbMAukB4gHnAtYB1wHjAdUBvgHuA5kB5AHuBPwB0wHvAUcBbgFIAeYB5QHdAckB0QHUAfICxQb2BFABvwLOA94B0gKXAfAB8AHuAkQBwwHMAfQB4AHhA9kB3gGbBPYG3wTcAeIE5gLUAe8BpQLYA9ABwAHsAfMFcQGTA9cB0AHuA7wB4wLnAegCkAHTAtQB+QM8AeIF5gFqAUgB6ALoAkUB2wJGAdkD8QH1BOcDRwFPAkwD1AHrAdIB0AHTAdQBzQHVBdgBzwHsA+4B7w","gA6I","uARM","Y30","mgrY7ARR","ygif","5gm8sASC","jwibAZw","mwvI","6w3E","rBFE","gAWq","nAdv","mwvy","lQ6AKrI","1wlo","mwkk","yQOS1AHLlwy9","yALV8wG3","sgPK","kAsq","8Qwo","tw9k","8AnY","Y8s","Y1M","qxBy","uAWs","TqI","Tr8","rA9N","nAdv","4w7H","0wFnjAZe+QGFRHuVAntCiFKG","sgHa","wwjmpwG7","nQjCA9o","mQF7","uAqd","CYQ","0RCu","kgub","fdZVyg","pBBz","6gzp","rA5u","uA97","1g4q","vBGx","xBHBBbI","vgTu7gxEAjc","yASt","+hBs","sQfe","yQhx1ANPhwM8XUo","UtL5DFPGAnw","lgFfqgEpxAKhRk+aApzeB6w","UsQ","BL8JRxWvMN8EyhzcAUoEnAPKBDMnLRyuE59I5AfBQYAPRA1EZ4Vpsw24FkMvSBp2BTAH0C3TW44a2CHdJ+MOTQmND8UM6hvgF4os1WNOB5UjRAchI04BbwmGBka1AUYEcgHpB2sHmgG/F9oHRgNHEMpp1Q9rDrIlyRPYAdwUTALyC9EQwRDWBMYB4AH1B5sGrRGDA48HeAMgBb8nrxLhB1AZUy0kBLYMnAHHQPMB7xNzC+cKRQo7H0chRhveTkY","ygtr","2AfF","uQ6/OeE","iA7JAe0","wxA7","hw6X","hw6f","+glv","6gbS","DUc","nALk","ywTArwzTAcg","ywTAsAy+","5Ae8","5AfN","6gZ0","/wfA9AXB","wQ3RAdc","yQeN","9QW2","owLB","hw7x","AlQEtAJAAVQBhgawA88LiAGcAogBbAG3EvYBQAO6A8UEsAhgBNYCvwF4BMEBuQ7DBIIDpQKBCEoOeA9BAW4I9QFBBmoBrAKFBesO7ALFBGoCogusCJ8FVRFsBdEfTwJ0CU4evAHIA+8Z+BR8EUIC8QFYBNMktQJyAUkDUgWKK0ICbQFVBbILcQXYAdELZhF2B4khewlaEc0B7gV8AqIBSAlCA3VKhAbCCXEDRwZxAckNWQTfFq0S4wXjWX0L6Q7xAVUFqANnDWYLmwZfG3YPTwSKEUwT+SJnFMkEJgLJBH8EXgRMFOYV5h9CCEwDdRWcIGwLRgedAo8IOwFnCXoCowN6CMgPiAyICzwDzg5MDO0GdRI9CEgCeAHyPaYCOAVRCG4DRQHqH/UBgwurEPcISgr1GqsFcAOQAX8ISws/AcUSQQi7D88CuwroAUwLRwayBKMYkhFDAWwBNBxaAZ4d2gJ8BU4OkQVABHABcw3EGEgMWgn5DVQBRAvlIMgCSApCD0cCfQZkAUYC6wZSE+wCiQFJBE0YrAHUAYUI6wt8N00BTBjnCKoB7xR1AXYU2ixsAu5AsBPtAUYCtQxIA3APpBS+","1g9w","xgW2","9gbZ","NUI","TnfLDp8","M6o2caYB0iY73gFHWOGdAdLnAZpbRApGkAGaT1kCbIoBQtoDpXulCYYCghveAcM","/wWn","9Qvr","CoZCRuUPfQ","xgWN","7wfscZ0","4Qys","mAGs","fjkLoQ8qiQQ78Ah+2QKI","cqkyswGfGIcWR4sBdgY5D5tsSzSmCpsgcQKzKZQLtgyaI6pWl09NeZoHvpcBv0pDAZUtlgRoCmsOngHBmAGUOUoQsBygFbQon0FkKJtsQBE6WsAMniHEFUMGpRJHEkFtRg","yAvd","iwHI","iwHA","BqoGZgblD6spTiesGGgKiQHKEbIH2RTjAqspdhTqE9oEPjmuCJwj5hWyAbsBphJAJmoBowlRGdMJdCeTF3BAph/AGakBpgG4ArICqRAwYMU9oR1lRKIhp22GBrEpVQlHUXALjAKxA54duwbPH3gidig+IG8DiQFrCE0MhgR5DUQBgwbPBXkKjh8mA1cKiwdcAtYByAfYAbsDSAGYB9IGuwhCBUcGKD6LAcYJcxQtBmkKjCHIAk0UTR9BA4oFGQSxFDgGkgU5HnYFLwhOCmwYigE1D58Nxy03DE8CpAM4GloWpRo/RdIKVjhIBtoUwURDJZ8","kgXA","kgLK","xwGl9gZlVKDtAWOgAkE3RQ","kQmg","xw33","0QOn","kAFBEltTjH8/LkiTAVAmpCRLIKYzTSewAkUhsz5UlwKdEaobRosBPwFONKdqsAZICkIpaRq4D0gcTRtNDlEMRyFDCasQRgyteEJvUQRLe0MNQw","gQJLvwVokgHDA/O4AaWkATJakyBDPb63Ap+qATI","1Qid","1Qjg","lxE6","0QVIygVE5wNI","fUKRCpayAUQ","rg70YDc","SZc","zAFL","twEs","jg83","2Qo1","vATG","2Q9M","vQTQ","4wJvApTYBN8","2gGwIEGyArh96ZMCbQ","qQWD","qQWt","rg7d","1AFl","LdU","kwqn","0AR8","nwEu7w03oQEv","pw7A","pw7A","2AGI","yg7I","nBA1","swQ0","6gdA","X0YgSAFJHzwFRxQoNDcJjCSxQD8ErRZEAT8MRFU0BUMNPEtPdE8rSDCRBEtGYwjASzSuAV4MeCdCKkMvPBgrC5sEPgpGDUMTowkhA2xQJw+xbMMagx9DB0QzIUpFG0YLYRw5A3sTIxtHB0gKRwpOCU8MSg1FDFBFOy/RIIwaRB04mwFj","wg9f","N1Y/zPcDnpMCc/8GaQzSuAGFhQH3Avg","yhDf","yBCZApQ","yBCZ","yhC7","iw7M","dlo","yBDJ","yBCZ","yBCZ","kwqn","zQJKHUo","7QGdCVfFC6BIopcEmw","ywpaAWw","SJ0","tBBZ","rxBE","rxBE","kA6b","rgLh","4giy","xwkz","gAEyqwjE","EZE","/ArW","lQyX","hQ7S","hQ7J","hA+y","vQWG","MLZft50B2P4C5wbl","twrZ","dXrMAT7AAnPNAUQRx/8BkcoBPF6PE4PHA8ghoEJZ","5Aa7","rQ2t","/QbW","lQO1","ClAgUAWFEGEUjAMeDZUOpzhuF6E1jDHPAzoYYg6VEkNNQnZYH2gvzDqQE6Mr1CidCE8Hpgk8LZkBLAJxFE4NxBpIAURzfwZUS4YtMk1LAiEJakV0BaMQexlDF28KyhKeApwVNx+fBEIj3wuhCagecAp9JEgEdit+A6oCOgOnTZ8wnh84EUMgQRSiDaMUSR9SfX4vekyHKok","6BDG","ALIro4EBpi5IkAFKzAE+C3agA+cESkLLR0NiQGCgJlFkRxVCLV4pSXDHHUaOAUsT0H7NRUsjRRhm","NdutD3o","0Q/dB78","lgHUAtTbAqNLrij4AeFcvkHzGM0R8gHnAewB1AP5YmnGBPsB+hD2uQG2sAGK","rQby","5wSa","5gTmzQGPqQXcEPE","2wuZ","5gS/","vgSu","2wvc","5gTW","5wTW","4Qfn","oQ6U","9wJTxQSalAK/DbPxAnE","3QKt7gij","B6AbuCJ/A90BtgXIEaIKPgXBDzAlLAR3CcUC8QQ/AV4GcwdLAh4ORAjMDj0D0AHMDskv7A04IEYGdRhrCOwoQipPBN4FaA3jBPQFS0k+OGA7TBlSD3YCT2PASr4L2QLCEZ4mKTBDMlMQ6QqECs8Xrh5LGi8JTgxHBMAe0guvAn0D8AJ6KPcB+A4jGOkBNgVIAaYd8TpSAoIMKwbbHM8QQgMsZzQLrgrfFb4MZwKrDsQHq1HJIWsFRgJdAbcO1whpAUoNzwMyE10FrgeKDsMHRgJJBEYH3RKyAi4CLShWCGsKTBSJAbYBJwTUB7YoSh1tD28KsAk5As8COBI1IkcgvD/0Kcc","0ALm","zgyd","1xHq","tgaY","sQrZ","qQLU","xAyQ","3Ql9A1w","mBG8","4Angdec","SJQFyA","tgac","R92TAa0gvw","qQJKlgKj/QqJ","1QnB","+Qzf","zQKqNUrQAma+AlzqApf0A74ipzNB","OZuBAbNqZzJG0QWkdU4/O0JQggJ1lQGd0QGWkAFkPJc","3QHLXWhhUMUDyYECMx+WG4XBAkkJWAHeT7IHrGNGY6Fci0EoFEcJOj2sFrg","2gFIsQGR9QVMWIygAuSJBEoOig","0Q/C","0Q95","d6Mkn/QBdgFwAUESKyZZI3JCYDV0J56oAktWRhU3brEQuz2lHcbHAXBbt1o3xQE8jgI4eEBQRw","AMpoawH51wGoH67UAuoMlDm+JMAGc6UBq+ED94gB6DKUEvU","QYsI9Cz4","SUA","9A5H","aPg","aKo","aNY","EYIDpnigigGZ/QKcMnHwAca6Ai7+AYIjzqkBOj7LK2anAkw","hQGgPHHXAXBVRmqdClBSgQZAtAFyRGsglQOxGlk3aEm2Jq0FnBN7HHEHzBZ8FKQJdhAzCHMOeAFyBm46qzOCCioBcgEvQacJgBWdCyoNowJ1WpowjgGeBZ1zZA+rCDQuWhS1BJMNyR10FHJZbwFrAl0FJgo3BzYLMQ","0Qf4","0QLD","0QLD","EIUCfmtDD2AZq6wB41KcCHCIAaHWA+hH5BPyMOgGnDBvIqccbg7zCN2uAZRW5CH3HvgUeQaoxAFkP+0N8DXyBXsBnXhJHcI","hwqx","wgzjHuk","6wmnKpetAsce1Q","vw+Z","xQ9y","/Q5C","/Q5I","/Q63","4wjT","4wjk","0g9mAcE","1BAp","vwT3","adY","aZY","qAtl","AI4","4gyU","+QX1","+QVy","tAfV","tAfJ","tAc0","N9zZDOMBzwG7AbspzaQD7AHr","gwfp","gwe9","gwe9","7hGj","6wio","6wj2","6wio","xQ/e","xQ/J","xQ9y","xQ/b","xQ9H","xQ9v","xQ9U","xAGH6Qf3iALxjwU4","iwFCBZi9Aj3eCUlYPskBpA","tQvY","/Q3y","rgvWBeQB1A","qwtzB2s","rQnG/AHFAbwBwQHBAcYBxQG5Ab0BwQHFAdcBxQG+AckBxgG3qgWxAac","qQvgAbwCzAHNAY8B7QGtAVEERgLkAeiqBeYB6A","rAu+","iwnG","CoYCWQo6CXALMBHVCX8PuD1nCkEYQyrFY0YCPhwjDUoxOi09Dz5VTogBSQVA+QFLM3IUSC5EsgFXQEJKazJCYE6LAkGAAUsZQhQ8IUcCPA6/I0oTQQRNAUwYQQ","tQvo","NqNelkHvmwK3xgLqjAGV2AEuxAG7cR6kAY6+BOwE3g","sRGd","sRGd","tgaY","1QHa7QUh","1QGx","mgku","tgao","8AmN","sAGg+wmlgQR+","DjmzAcGNBUTMA3M65tkEPHDeIqc","wQHp2wLMsgLDH9rYAUJPuDtEAkhJyzrl3ATIJm9Hj4YByBXFLUY","Zt8VsQFPDZkI3A3MYZYGrgTZJbYX5hLUENZi5yKlGuxApwPTAdcDcjLZFuAB7AXZHOYG4xPuCt0I1jXLF+EvgwPXHuSXAbw50R2qMZUBwA+6CLEu1EbxCskDUh3GD6sK4wXMAcAotxKuBcIHhi/MGbELlwGVGd0nmjWUCqVFvRDOQeZDnivGEc0RxgPNIeIJ3HaLMJdLSCF/","5QuT","3A+E","mAtM","4ApJ","9QF2JHI0nMwBYL4ChFs/zAEz3QGevAFBCkeLA0oWvAo5NSQ","mAGh6wWz0wlLKzwnPA","1QL1xQHlxgPJ5QMkFqrJA59+KI8BxALqAtY","1QKg","1QKi","wQHK","wQG/","wQFx","8QSu","9wx7","iBG9","xQ/Y","wQ5q","ON+FDdUBzw","vg1a","vQ1U","jwrDAew","9wx7","wQ5q","ggS/+wmk","/Q2k","vA4h","vg9Z","swh5","iQsm","C9gZ3j3sKztgUDzCHZ5ONRO/AUIBZQM8AroTUB51CdUGSw9naeEs2wWsPMobrRqsR+gx1h+yHNsKQwuXA9gGOyLTN9Yf4RhiBqklSyzAFtAIYzLlAewFWB5JAt8B0RWvJk9feSpaDE4EvgLZC6MB4APpDYIUygGRAZgGnx3tL8YX2zf0CuQNnQy0A9oVXAM7OkwSdaUBbgWyELlo7gPjAfgSyk+sA0wB7AY/AVEM5w","vAxx","vAxxAmw","vAxx","zgbg","vAxxAmw","tgrH","pgO/AmUYUB51CcLrA9g","sQh8","/ANn7Ap1qgGIEHc","vg+D","jQNH0ghJN9U","BJkBQgGaAqACYALwAW8ErAJNA+kCggFtBNECugGNAc0BbAOUA6kFhgKpBKYL8ARKAl4FWAG+AdgDmQGWAcECsQJaAVgC3QKyAsgCkQFQBMgD2wM+BEIDUAOVAc4BbAXyA+kCYAPQBaQBnATnAuQCTwFIAsMLnQShAmoDRAFbAfMBrgH1BPgCKgLZAj8BQgLzAVcB4gEnAfMBrwFCAWgBzwKgAzwCawFKBLcB8weaBLsBWQGAASgDegXIA7oBdAKcBFABVAHDAbQGYQvWAYEB2gFyBKUETwHlA+US0AjqAZwFfwVLBe8B3QHsAcEBtgGTAe8CPgO5CUoBngLzAokC2gXzAe0DwwTvA1MEkQK5BssDeQM/AVMBjgOtAfUEdgGLA6IFmwNlAbYFmQbfAdwBSwHLAboBTQFNBqYBxgHvASsCgwLhEsEBewyrDdcG7QFAAsEGuQE8AeUCnwO6AekLfgJAAUUHwQrKBvMHzBHLBLgE4wGyAnwC3AFrBFoDSAHYAdAFLgijCD8K8AHYBM8B3AGUAo0B6AFLAfIBPAJ9BukCsQlmA3YKqwOyAZIHpQa8AuoF5hNAA3EBYwJBAckBmgJYCeEEegHxFMsMeQG+Ac8MrAisBLYKyQTLCD4B9wNHAqkC7AHOAZQEzAPyBmkCywOkC3MG0wTICI8BmAt+CLcEtgfsAmUB0AK3AukR3wKNAsAEiwbjA6YBvwGfBVoHiw/nASMBSwK7BPEHgQH2AeoCawRhB8wEywLMAqUF8QVIBd0F7wRsA5YBbgGMAaAC2AarAYQBsALZBfAJwwagAUUC8wEtBL0F7gRPAZgCtwjRAfYBzQTBBLUBRgKSBoIC5gPDB7UDrgGcBEcCXwSrAdUN6wTOAW0BlgHKA+kVLwHlAdYCsAKMA3oBWAPKAfYEiQXoAbEB5gY+Ak8P+AenAUgC3QHoCIgBdgJqAsEC0weEAWwI7QlLAdQIQQNdAt0B8AJKAa0DngXPA4IBegIpBIoB6gOlBZID9wKSAUQDcAVIAfECRALcBKsJ0QfzBcsMzgLkBTsBqwKdArQBQwVlBXkNkQVmAZQFoQHMA6YNuAFEAaQBbgGlA0gByhBQAUcBaAM0AekCpgLRAUoC7AObB0QDUwSeA5ID7wGNBbgB3wSfAqABdwLTAZ0BPQGhBkwBqgGVBLwBZAFYA1cGSQbRAkwJdAi6ArcHqAWjAXYKxwHrBkQBcQLxAWQFpQWkAnoB4AGuBegCugODAe8C9QPAAdwB3gfHBfQB7wPyAvMBowORAdICqwGrA2EK9AGsAs4B6gJSA+8BMgL0A58EqgM0ATQJPwPoA04BzwKqCkEIzQGpAsEB8QLBAp0I2AHkAeMBjwjNBqIFkAlBAcMI9QHsA7AEnQLsBGAC4gKlAWQB9AXrBNwC8gSpAi4EpASUCT0CPAHVAW8DtgF8A/EBrwF5AYcCiALpBO4B9AhPAfQCdhJFAbMC8gNDBPQCRwbkBu8BUwHgAfABbgLJAdwKPgG3Ap8FzANGCL8BeQE2AfQB7wNWAsYDsAPkAZQD5AJtA/kC2gHOAocD7QPNAUACpQLlAVEBqwF6BXECcAPeAb4C9QFvAm0DvAfvAtIKcwHLA0IHbwLiCBsHrAFGAUABpQTXAdcB7ASUCHsIZQGmBu8ERQG1A68C0QLNAaEC7wIuAWoChQXNA80CXQGfB0cMvQVLBa4LNwJFBDkEzCHnD6wXigjiD2UC6AbsBcUC0QvXB0QCTQLoD+0","zAHn","zgaX","7BHC","vxDF","vwLXrgLT","yQ1n","uwEt","rgH0rwK7tQriNIU","b1A","3wzm","kg+v","iA7W","3Qys","1Ai1","+Ap5","vgNh","/g3v","qgHc","qgF+","6gSN","6ANu","vw5G","rgFI","7QSXkwJz","owlY","hAnh","/AK9","S2U","AEIHtASuA8gDTwh0BE0CXAyHAksEUAKEAc0KzhC/AlIBxgJcB1sERBtrBEIRWRNDBmYCaQVIAkAG0QO0Bb4OuBrCJU8D9yVKA0gEsiJxB8MB3BiUQqcJSBFHELkGOlNNLD5A0gXJFEZB0BacDD8lRAuqD/FdORHtB+YCaQtJSsgqrGtETFgL0DXYToklSBdJDrZBShhIDIsZShJRHXJTRRGuAdIYSgbdKEUFTQFOCzowrQFGOGYLpSLZXNIKMw","jgLr","jgKz","jgWr","c84","qQbsUOA","9Q3Z","wgrT","hwIv","swzp","4giy","qQ7W","7gS0","gw8w","zwdo","3RFM","BL4KswFLG4IaQQVABcUIoAx8E3QBXwRoBJICbAaaAoMdLR50BG8HMgu2DitImQZgA7QmoRWfGGcQOgc4BXgBcRqRLcwMXgiaNWgjpBiGDCskqhI/GMsjrAh2A24kKwNzBHcdLjA4Ho4MggpzD8oSoAeYFDoLfQGaOKoveQi8CIAhcBCmBqwFcxWjI2gBfwktC8wTdgulFngJnR4zDJoHnhxsAYMLpAVmCi8E0gS/CT4NawdzCK0BeQdnAjEHTRenHboJeAZ2BGcMmwQ2BLUGKBElAiwtbQdkHjQGswR3CaoDvQNoGo0YLQN5D2seySEgBoIPnyA8BDcHRwExBHcBSxcmBXwEZRF0DJMVXhxxI2YBxgqcGMwBcQ0xByE","C64dSAW3BFAENgaCBWIFdQKeBlAJbAlGAz8BHxuSCbkEiwKCAVkBTwazAUIBxAKmAk4FwQymJZ8PoDCgG4ESSwQ+E0oGnwNIAjkVnReRAkcZRBg8HdIJbQZIEkUpzgKeAZILQAORHbAMSRRDFo0WTQdPB4YNRgZQD5chzgKmJ44BrgKoAZwEpgGeDMsVTAtEGnsEWgKtB4kimwRpGa8wXSMtAdQBpAWADscIzgEvIj4QSwWjBTMBTQpPFJYBTCFOB5UDngw+H7MBMgVHHiMLagOaAVsLWAZCCU0TlgI/FKkQpwFLCUgBlB1HAikCQxJEDbUPxA5HBr0BMQNCBisCQg7EDKUGqgZkETUESBiZDzQBRwpIHE0PTQW3AqseRAIrIMYDmQjHBE8SRRBQDkQDpgVkFUQEPwVCCEILJwRGBZ0ogAejA0wERQTOCXEFnQ9DDq0QSgyvAU4MQAdeBDwPpgSOElMEpxuYDKcKSwUvDK4Fng3QBjQBXRaILZkuQg","YiklJuMBbpsCnzpl5QGfGChpL6oBpAJ8M84wwVFHCoYEYIoBmZwBsDScC1AWmwmZF24pdVQoJR1OlA","ekbZAlHMATgjpHQxrgFlmwEq5gNoBysBakpvCEwBymAg6wJIW0k","AODgCfaKB2E","hQvzoQXjB+o","hQsn","rRB8","4Am3","4AmA","GN8dx6MB8foGlwLwuwZOFTwVTgZjA64grknf","2AGI","2AHE","2AGr","2AGr","6hBh","ALg","AGI","ADA","4Amg","AGkBfQOZApoBigG4AXMBYAGsAcQBiQGRAc4BpgG2AX4BiwFLAYABfQLbA5QCTQKHAXABQwGoAoUCeQKpAtMBnAHUA3kB3QGXAU0CxAGnAbUBygF4AnIF2QGpAoIESgFAAVsERgFQAX0BUAE1BFoCvgOhBbMFoAPSAbkBPgGvAR8CRQE+ApgCPAW4AqcBbQJBBCcBmAKHAWwBmwPZAXQF2QF6AXwBrgHoAXACrQFpAdABdAFDAUMBmgLcAa0BzAGUAtwCtAKaAboBxgKmAUsBpAV1AcUBIwLSA1wEcAFAAacDtAG7AZEFpQdoAcgDowKfApsBOQFZA5MBmALLA90BuAXFASkB2wOkBykB3gJbBrQF0AThAcsDrgGzA8IESgnPCpcCxQmZAc4DSgF3AtMDiAGBAWUB2QWuBYgFwgV4BIcCngHJA0gEmQNKAqYByASRAc4CoQHEAtIC3weQBNAFrwWtAWUDygLRAUcBmQLjAaIBaQF9AdUBygJwAlsCmgLJAbgGZgOyAkkDLwPTAugB6ANDAbcBywG9Ab4BuwSLBWYEjgPOA80BmgGkAU0FYAe5A0ABdAGQBc0FlwKEAUsBOgF6BL0IZgLKDGYCvwTkAtACcwPHAckCfAHnAdgBkwjRAnAB2gEvA3MD3QO5AU8BtwFRAVAHyQK8AlwEyAWmBLABkgapAX8CPwRwBmYBNgJ6AbcCaQpLAYQBSQnjBUcFzQKEAdADbgbNAXwD3wPNA5cDOAGKATsBrQI9A7MFuAFsB7EBzgHGBtECeQHUAasB0wGUAWcBsgJtBc8ExwGsAUgBlAFPAd0BzwHeFMwDpgG7AUUByQHRAtYCtgOXBs8FnQJnAaoDiQGqBs0EuQHTAWsD6gl+B5ECyQHKAWoD0ArSAX0IcwTKA6cEsAHhAbcCowbRAcEFhAbSBF8BkwSoAWcMeQGLA44DcQqvAeACowE8B2kDuAHYBucBlwZIBLkHpQGbAZgB5wSXAUoBnQFKAkMFPwLNAc8DTgWgBGsDrgHaBJUBxAOkAZMB1wK5AsIBSgHVAdkElAOPAZoBsAGmArsDkwLbAd0BeAGvAeoB7QG3AmkDcAGiAkEGcgPgAZEBqAGIB+ECrQJjAc0FWwNTAagC0QM8Ar0BoQPCAUIMrwI0AYgBZQPBAUQCNQK2AcoCjQRTAZ8E2QLRAWUHogKzA28FngG3BSoDugGPAaUBlQTmAegDSwIuAX8BVwKbAYMFawHKA5YEzgFWBM8BrAEuAWkBIwJ+AsQDrQVoAcABoQJLApsErwJyCc8CpAKmArcCXQEvBJgCTQGLBMsCOwLNAUUBqQF6ASwCYAHrAaIBmAFkAUIBKQHCAk0BIgJgBoMBXAGDAY0CLQTWAXYBdQJvA0IFbgG4AaQDywGjAXQCgQGwATwBnALFAz0DngKuAUIBbwGNBqsBzQJAAdgBcgKzBJ0F8AJ+AX4B6QJIAj8BRAF/Bo4GvQOZBOMBswXLAXQBUQ1QAcUBbgKXBT0BUwO0A6gBiQQ7ASkBSAN8AuAC3gQnAb8EnAYqAUUBaQGzB04BmQGRBLEBoQJFAcsELwGRAYYEsQLnAegChwF+A6gDRgKtAUMCQgN+CnICTwGkAtMETAG9ASwBawGWAsMBhwF7BZsBggF/AaAC0AFwA3cFQgWiAX4C0AJwAl4B6QGIAokBVwInAUgDdQLEBMsBQwRIBcYCnQNEA7cBQAFHAawE0AOwAb4BQwPEAbUD4wGgCIYCZQHeAS8BmQFxAUcBdQRuA20BwwSFAeICxw2nBKgE0gPgBCgDfgR1A80CvQGaAncB0gGwApcB6QFaAd4BZwKfA8wBugGsBIoCzQGgAmkBcgGkAZYCdgJuBIcOMgGHAYQFzgSzAbwCqwJ7BXIEzwJNATgCygmcAnQCswGpAc8DgQFSA7gCzwHNAlwEYAJ+Ar0CkAOqAUQCrgF2A9gBPAFGAT0CqAKsA8sB5gLdAeUCtgKUA74BJQFEA1QBkAOoAaQBJgHXBdEClAFAAVoESwFDAZQBIQVDAYoDRgJIAj4CtwRuA0cBRAFNBaoC0gKiCVQCbwFCAdEEtAHDAZYBfQGuAZQEPgVyBLMBeAGFA7EBaQSXAZ0BSwiYAtcE0ASoAS4DpgEiAc4KaQFGAuMC2QGyAX4BdQNyA54BxgLGAroBlAExBMEBSwFhAcgBqAGyArsBegZ7A5wEOQfEDEADIAG6Ab0DTwFxBdECmggmA70FzgxmAdEB4QLEBG8EvwF2AXIBSgGLAdYCLgImBosBuwKZAUsGuQOMAaYIOQOnAnEDjQGsAb8C2gKtAmQGgQG/ASkBOwHLAs8H4QLhA0cBdQOVAccGsASYArkHlwJFAcUDOQXTATwBRwHiBegD1gXDAz0JcgZqA80DcQKdAuoCygTYAakBrQHPBD0IPgK6DdAFSQNjD8cMywfZBLsPRgTQAd8EowNQAac","tAFi","ig+G","jQOGugNN","jwPE","qwdy","1g46","nwFsCGw","tAFi","tAGO","6gNI","lgFm","mQbC","tQrH","4gG4","8wqokge7","+w3T","dp4","/Qfp","8ALI","QmKjC5MMTgX4QzSJA2s","9gvn","dUONAcz1BJz9BEhOR8EBoo0CSA","ggLM","G2E+snNGCH4IcXU94gF9XUNIij5rogK7nwGTBUHDAap5dIYBQQGWYUF2RVl6I7E","1wmT","9gup","pgFt0QFF2wRI6AJE0AJHdqg","9gvL","3Qi2","xAF16Qf2qAF0YJk","xAEe","xAEe","rQmF","BZ0RUwN0B3ABSASFAtIHhRiUA5cVRAQ/Ac0HcAO8BpkCQwNmBG8ESQuaCUABowFBA3ECxAttBEUBNwGUCV4NqwI8AYoDlAXUA9kEQAVLBj4RuAVCCVoSegSsK1QUegpEAXcFyQFpE2ACqwpGAZUJkws0AXUMUhtFCMgDtwOkArEIYQJsDCcFzQSWDF4FnQifBaMFvwFHBqgasw1OBc4GmBV5Ab0BfwZGGNYBuR9NA4QBPRVqBKgEMAmiKIwHSQGmKHMHkQyREmgHRASaGM8EVQPLAkoQaSvOBEsOTQnEBk4DSAiyCboBQgeUKp0FfwZVBM4FSgJrAZIHQgFPBZsFvgmVEMMHbANKC3oCSQOHAZcKVQWuGKILrAOnAUMGvyhCCDwFnAGaAUYDpQfIAcgJXgKOBD4ERwdDDG8NRQU8BJ0GcAu2EJ4HkxK0BUcB1gSgCUQJSgQ+BUgIqQJCAc8DqglEA5MHuAXNBOAEUAVNA1oBlgdhCq8EQgXEATsEpghsBkcBxQNsCZUFxQvRCUsEhANOA0MBcASiA0sCSgGZBjcNRQ2yAtETKgQ/AkgMRR1SBc4BJQE8A1EBtQW0AS0CTQ1kBXoGxwSDB80BKwTJC8sPPASqAqURxQGDA14EoQFKBL0BxAGcCb8DgA6eAUcDpAHQA6AIsAWnA6wHVBR1AZABqAXPAWUBwwqoAkUBnQJPDEsELQFXD20DUAdMAlIGwgVECkMIQwOECZcCawqhEEAJqQqxBVACQhPGBj8Snw9xEGIQfAOABK4huBDLAeMGhxJCGtQTqAJ8C8cLwwWjEsIhVg","kAJ6","FKYJagpcCocDxCqvDkWuAqI9pniuzgFKPKonfRVpNaAoa6oBwQpAJk0NSBppIL8QRQU/ZkIEVxBERoABjwtIAYECj6ABPzRILaEuQwFJf1YFS2BmO6sOoA","8gdr","0AR8","vwUv","wgdy0QMqkAKoPD0GcBtgNyTzAZU","3hHb","asXwAUirA8rvBkI","alo","1AFAqQrCMnGwA0A","qQa6","9QLx","9gJC","MYc","3gxa","BIALvxHAApoBzATYGNADxgLQAVkE1Q28CWID6gbZAbEBoAJFAUIFsQHFArwC1APgAdwErAjKAs8D6QfKA0EO6gHJAk8ENwJDAbMD3ALvArsJ3AW7AfED1wnOBc0EwAK4C9UB4gEpCKUDrB6kHtEFqga6BtAD5A2gAT0C1AZFBb0MsAnHDbgcyQbPB+AZkQWmB64QuQGfHNwJrA+mCs0KxgHaELoHtgFcKNsF0QawDLAFvByxAswB2wJkAeQD1QngAc8T3iHAEdMDuCKcAq4CJhVhDbYSwAycAaQSqgLXAbgGrBi+CKwI1gLFBWIF4gGwAtsI4wTXAcIG1AGxArQB0AXGBJkK3AS3Aa4KrAHdBGsHrAPMCNAC5wG3HtEGQgjJDsQGzg95CNYEqgumEaUI0gFMDb4FnAaiA7wD0gGwA8IDngLNAccI6RHDArECzgRAAXQFsAG0AuoBpgG0ApcBoQHdBc0BsQGeBh0GTQG1BroBOAKlAUIFsAe/AbABrwNxA9wFngHeA4kJ4gU/BNUOoBDgDOUH0gYqA58HsAFUCe4DrgvdAc4C4ga1AdIB2gPQAaYFvAGwAugGsQWlAZwRfAHNAZ8CrAHfAq4C0AG9BLABrAOuB8MDwwGkA+YG8gm0AeUHtwLTAckB2QGiDrkC1AKsCL4DKgTOBrcBqQSyAboDxQLeAtMCwwK9A88I2wWsApoD2wPWAqoI3gbbC9wCyALLAc0BYgHMAWIE4wGuAcwF3QbdApoCdwGhAV4BXgicAtIEswijAboBUQPVAdQFywHTCcgBtQLdA7MBxgHYDN0MwgpFA7ULqwPqEN8CngmMAYQB4AvAAs4BPwLTA88BiQPhAbAFswGzA0ABPwHpAdsCWgFqAsoB2gHXAfAB4AG2AtgB2wHAAXMD3AHoAuYCxwLMAz4BOgSbAbUOsA+lAb4GrAKgAXAJrALJAc0FyQGmAbsBuAXPBnQB4wE+Ad8EwwGtAbsCzwzSBY0JxwLWA9EDlwfIAcwDYgWkBKcJOBBgDksJswHRBz4ISAFNBpEQqgKuAbcCqAGBArgFTQrgBdUDqw00","9wqO","9wqu","rQ7a","+wOo","kQI0mQ43","xwFnrQrJvALP","lwLGAcUBvgHDAcIBwgHEAcUBswG0AbHDDrEBrg","9wqO","9wqu","J1xFReMDRc4BSjyqJ30VaTWg3AFAJk0NSBppMEUFP2ZCFERHjwtIowE/NEgtoS5DAUl/VgVLYGY7qw6g","2wFg","qQKcc1+XAl8ejZUEsheZwgGe7gGT","nAf3mQil","nAfi","tgfhAbXmB+k","U4yUAWGDAW6DBYuZBKSkAkPjAW4","ArOqASc","APABUgHZAe8BvwHZAe0B4wGrAaEC4wGyAbQB8wHxAeEB6AGjAZ8BWwHsAfcCvwHhAboB9AHlAewBnAHZAfEB8wH3Ad0BPAHCAuoB3wHPAfUBfgLJAdAB9gHSAZYB7QGvAfEBNgH5AeIB6gHhAdgBxwH4AfcBnQGqAXQB9gHzAecB9wH1AdACYAHuBskB6AJOBPcBZgPxBKYBMwOvBMgC9QHyAVwCTAH2AicClAHnAe4B1wHzAesB7gKCAcQB3ALYAfcB6AHzAcoE9QHzAdwC1wLyAfABmwFZAtsBSgHqAeEB7QHbAZgB7gH0AdsBfwHGAr4B9gHqAssB0gHxAd8BYwHlAd0B0AH4AeMB8QHeAb4B7wHYAfQB9wHzAfgB0AHaAqgB+AHrAd0B6AHyAXABfQLUAdEBzAFlAboB5gHTAegBzQLjAeEB7gG0AZwB6AHiAdACvQH6AeoB9gGsAX8B8gHHAdgB5QLnAcgHpwH4AeQE8gH6AtgDjgHLAfEB7gHvBJEC0wJvAqsBrwHQAesC4wHsAecBUQHtAekB1wHsAnQD9QOaAugCqASwBfABxgLhApsDzgHlBfME7AFrAbsB5gGfAewB3gHjAboC8wLaAdIB3wG+AdkC1QHRAYEB5AKuAu8BxgOwAdkC+AGKAvED4QHXAfEB8gHqAewB4QLmAsMB9AHiAfcB5AKCAfQB+QHhAe4B5gHbAuIBmAH0AbQCygHPBcsBuwFtAvUCqwGnAfEB9AGkAfIDrQH1AdIB5AJdAc4BWwJlAU8DYwHsAe8B7AHyAewB2wHgAeUB8QHDAfAB4wHaAfcB6QHrAekB6wLtAbMBuwHyAecBfwHzAfEB8gFyBmYBYAJ9AfIBYAGxAZ0B8AX3Ab8BkgG8AdwB5QHVAe0B8QH2ArsD5ALeAcYC5AH0Ad0B3AHhAd0CyQHsAeQB2gFYAcQBhwHzAuAB2gHUAeQB+gPlCs8BnwHNAfQB7AL1AWUBzQKgAZQB2wL1AXkC2gHuAdIB9wHPAvAB5QKXAnIB+AHHAdwD4QPdAeQB0AHTAdwB1gLsAfcB8gLpAaQDuATuAfMB3QHyAdMB7gLLAcsB+QHzAsUBzgH0Aa8B6gHvAagBtgHvA+UBvwGRAewCjwXZAfECnwHjAu4BqQLtAa4B+QH5AdYB6AHzA9cB6AHuAckB6ALlAcoB8gKeAYoCvwHhAesB4APmAvUE9gL3AvMB5wLlAcsBUwH1AdkC5AG3AdAF6wGlA/YB4gHzAugD0AH1AeoBxgHxAeAB8QHzAfAD5gKtAZABbALzAq8BrwHtAs4C9QHOAWoB4QHnAewB3QHTAb8B8AGfAfQB3QJxAfcD8gG2AvIB8QHyAvMB8wLrAe8B+AGLAsgB+AH1B6IEnwL3AeMC8APuAfMB4QH5Ae8B7QHaBLYByAHvAZ0B7gLnAcgCzALxBegB5gLxBssB4wHxAagC7QLpAe8CrAP2AbcBKwHgAfEB6gPkAfcDOwGlAfEB2wHNAdgD9QHmA38B7QFkAq4B5wLjB/gC5wL3BvcBpQHsAcwB0gHKBNcB+AH2AegB7QGxBPQB9wHXAaQBowF1AdsB8AHtAdkB2AHoAvMB8AHxBe8BdgLzAegB4QPNAfAD2wHcA+8BnwS4ArYB9QLlAYgBxQH2AvgB0wHoAfMB4gHgAd8BuAPwAfMB6gHnAdIB9gHsA3wB5QH0AecB6ATxAucB4wHyAcYB8AH6AuQBtQHpAuwB5QEoAqQB9wH3AfYBpAH2AWEBcgLxAdMBqQHpAqEB7gHvAbkBpgLoAeYB9wHhAvECPwLbAuIB7QHoAeoB5QHwAfcB6gH1A8UDsQHhAeUB4gHIA+cC8QHkAfAB1wGwAbUB7QHvAe0BlQLvAdkBuQP0AtsBvAHkAdcDcgKIBfQD6wHbBMUB+gHqAeEC5gH4A9kBzQH1AS0F9gFSAeUB3wHXAc0B4wHoAeEB6gL7AdcGxgLoAfgCtAHXAcYB7gH4ApgB8ALmArcBfgLiBNkB7QEeBIMBzgLrAeYC6wH1AYQB+QH2AYsB1QLvAbEB6gH0AfEBugGyAYkBrgOHAaoD4wGFAekB4AHlAvYBuwJOAVMB9QLqAdUB8QHFAcMB0gK+AewB9wHtAe0B+AHrAfcB+QK1AfEBXQF4Ad4D9ALWAuQB5gHkAfEB9gHdAu0B6AGjAeAB7gFzAfUB7AF0AekB8AFPAqwB5wHzAeEBrQHPAeQC3QG3ApAF1wLpAfYB7AHuAukD9QHzATwCVgFUAY8B7wHyASIB9QHtAfMB2QGrAY0B7QHNAXYBPAFpAe0BYgHuAfECdQGfAcoBnwHOAa0BlwHAAugB4AGpAdoBhgGsAeIBywHsASMB7AHfAuMB4QHtAfYBRwPlAZoC6wHZAeMB7wHyAfIB6wHtAfcBygHWAfUB9AHAAfYCIwH3AdoB4QFHBM0B8wF4AtQD2AF5AdMC8wHpAU8B8wHeBMoD4AHIAdcB6AHWAmEC7gLdAeQF3gE8AfAB5gK2AeoB9gGWAfcC5AGpAbsBywH4AUsBbQFmAW4B1QHUAfEB2wFsAaoC3QHqAfEBlAG4AfEBuwHOAeoB5wLqAfIBzwHjBH0C3QHhAe8B7AHzBJACpQL3A+oB9QHvAfEB5QHQAdED2gHoAewBMwFuAfAB1QLaAdMBiwH5AdEC4QHoBeYB6gLNAfcB1QGPArkB3wHzAdYB5APhAbkB7AHtAfIB9AHZAusB+QHxAZ0B3AHSAfIB8AGzAdsBwwHcAdEBygHeAcYB3gHlAfMB9wHQAbEB8AHjAecB2AHwAfQB7gHyAeMB0gHxAZIDtQGNAekBjwHJAZsBTAHvBO0BnALYAs4C9QHzAfEB7gH3AfQC8wKvAe0BWgbcAaQB9wG0AX0B6AGGAbwB4gH6Ad0B9AOkAa4BwwHxAd4CjwLwA8IC6gH2AesBtwHjAtYB8QP0ArwC2QHbAfMC8gHSAegB8gHnAekB5QH6BOcBrQGrAtwBmQHQAd4B7gHKAfMB7AHuAfgB8gH2AfUCRgPnAeUC7QHuAesDygPqAtMB2AHzAfECfwHxAesB5QHiAfIB7wHhAeIB7AMrAewB8AHyAvEB8AH5ASEB6ALwAfYC5wHwAfAC7gEkAfIB+AHLAesB3wHwAaQBygJfAusB7AFlAtQB0gTLAd4B7QH5Ae0B6gH2AeABKAHoAmoBLQHRAeQB3AHjAqIG8QHvAfUB7wLwAeUB7gHjAcgB8AGTAfcB5AE6Ad0BUgL4AfYB7gGVAuABzwGrAd0EZwHnAe8BxAGPAcgF8wKxAeUB6gHKAbIF2wHnAcsD5wJ/AeIB3gHkAbIC5ALhBKAC9wG8AfUB8wLJAtMB1gHlAeIBZwHzAd0B8wG4Ae8DMQHiAfQB+gH4AfsB6wLsAuUB8gH2AeMCzwHdAfQC8wHrAfQB7gTvAY4BeQHXAfYB7AHyAeYCygHwAeIB9gFpAe8B8QH2AeYB4gHuArMBsAHeAewB+QHuAfUB4ALVAdoCzQHhAdkB3gG0AfIB0QGaAe8BhAHtAt4C5QKmAc8C7gGeAewB9gHCAdICvgG5Aa4BiwHfAdsB5QGSAfcD4wHoAfkBtgH3AekB8gE3AVcB8wHaAdAB6QG+AZ8B5AGgAk0B6gHgAd4BiwGmAYMB8gHnAewBawHMAeoBXQH2AtYB9wK0Aa4B6QFtAX0B8QG7AesB4QPtAWsB9gF0AfQBggHnAfQCKALxAvYCYAHpAvYC6QHnAeABVwJuAfkBtwIxAecB9gHaAfEBxgFtA/gB3QHiAeoBugHSAaQB9AHzAcQC9QHyAbgB8gLYAYkBcQJoBHoBcwLYAuMBzQLaAbwBhAHRAfYBzQGHAr0DswGUAd8C2QPPAdUC3QTNAccBqQK6Ae4B9wGiAeIB8wHwAfQB2ATJAuAB6gIxAbUB6gOlAWgB0gHwAawBsgGVAfkB8wTsBfEC8QL1AtwB9gF5AfgB6wGjAecB6wLSAeYBswJeAZ4BqAHfAsgB8wPtAc8BRAHtAcACnAHxAa8B4gHbAWMCVgKvAe4B8gHzAfIBzgGXAvIBoATdAcsB4gGbBHQD6AJHA8UBvAPYAeoCQQHlArYD5ALXAugC1QHEApUF7gHnATsB9QHxAfYB9QHqA0sB9AHkA24B8QL4AlUB5gE9AbAC5wV0AUcF3wPmAZsBOwL4AfgD6wO9AeEE9gHmAYoB7QE+AbgB9AHbAe8B3AHuAcEB6QFwAe8B6gHLAT8BbQH1AfEC8gGkAtAB0AHSCrEB8QJBBUkB4wHxAWQB7QLUAbkB5QVIAfEESAG0AvQC9AmqA0YB6AFHBEwFRgHjAvsB9AHgAccC5wJGAdsB0gH2Ae4B8wE2","BOoEjwF9AtwKtgSfAmwGrAGeAS0H6A/XAeEcuhNQA9gBIwXnBZwD3QXaGjUUxAKfBTcK7AkvCyYIKCarLKcDTATqBNAQtgO3AuYEMQZEBuUC5T3cA8ENLx2wNC86KRbdAysT2Qa0GTgd0gVUAcMPMgx1B2064iIvCrIFvwWvHF4X4AMkAd4ozR3wBKsLSQE6CrIEsw44Du4B3wFPU5oV3yV1AZMH1xYvAcYMMQQ5LCEQYA0zBqQEugwrECMCPAgtBb4BUwMvPScEMRtCAiUStAYxBTAc7gNgI9wLMg/UA1wINREuAzEXuQHFDcsk3wHlAUEBKA1MAjgaLQIvA0oNvAQrATIGShdrDLgB8QtMFR4JKgLlC7EC0gKrBFgBVQ80BCsPdwncAU8DKwLFAzIEtQKmFj4BVgFhAlgDNQs1BCYB3wUwBe8GhgMmCykKNgpmBCkIuQe8ASMGJAajBaoFkzbvAe4E3BKiCPBv4EXZ","ObIByQ","GZ8IpAGeCKrWAasz6gTQJeWGAtlCtfEBzTuzHK8B32nfRMZjuiserwO4","FY69ASY","BL0XRQgtT8sIpwW1zQHFBDEO1E0vUS9TK1QyEDJvL5AB2Sw4EE+8ATk8SQ0zNlN5MSHZJsIap2m/Dy0cLQUrEjIGKxdTDeApKgLJC4cIWAEkDzQEKxkvCDIePBA1FVsYNh2EDXgFfzvmAdUe3m/e","gwy8","zATd","yAOB","FY6UDbzVAZrlArw","BOQH3BBFO7oTMAMtASMF2gWcA9EFxS7EAp8YL2hMHdkSyT2/zQE1GTgiMiNt7AHpD0mAAZpYLw0xMCEQKxOkECsaLQkvQTFW4ybCCzIaNREuAzFK2Q8tAjgcLwMrGCsXMg3nC0wVHgvUC4cC0gdAIncKLwMrIT4BVgE8AlgDNRUwC1sDJh9JBCkIuQejASMMeEDXAeUWogjmb1A","gAbiugbF","6wzOkwK7","/g5i","6wy8kwKY","A7gB6wSPAWMC4wreBJ8ImAGeCOAP2QHhD0ANHhbYBuoFywPdBdoaNQwtCKIHNwrsFCZdLQTbBegPtgGFArcC3wpEBqMBIwGwPcQDwQ0vHbAfOBUvFz0UNSXdAysQSgPbBp8ZOB3iBVQBww8yDFAHbTriIi8K0QXKBa8cXhfgAyQp0h3uBMgLKgE6BTcJ3Q44Dt0B0gFPU5oV3iOrAnUBkwfXF7gMMQIoLiEQYA0zCq4FMAcrECMCPAJhC7IBMUAnBDEbQgIlErQGMQHFIOkQUBaZGtQBMgEtCTURLhrHAbINpSTfAegBQQEoDUweLwNhDbAEKwW4GTIMogHyCy0VHgvkC7EC0gZYAUAMLgcrGM0BTwXFAzIEtRlWAWECNQM1CzUEJgHZCuUGhgwzAikKNg4pD7oBUwt6AatA1wHuBNQSogUnA/FvlBs4Ktk","ObIByQ","GZ8IiwGeCICJAtspo4YC20K18QHSO90crwHSad5EuGOuKx6vA6I","FY69ASY","BMJSHhYtBtcFcAO4BcUmLYoBLR2zEobxASsyOCIyjwLgPC+4ATFAKxwwBytkMVbOJpkapws1XswPLR4vA0o86yAeC8QTWAEkLC8mPAI1AzUgWzWEAT4MeEDMAdUe0296","gwy8","zATd","yAOB","uAKc","FdiUDbDVAZrlArw","BOQH42faBcIDygW1LqKfAdIRIwGGPYYQLzw4FS8XPRQ1QTU7MhAyE21cL5AB4A8qBjcXOBAvU5qVASEQSQ0zNjF5MSHcQi0aLk3bDy0hKy8yDdwLLSDUC7EC0gckDC4HKxkvCDIdVgE8EDUVWwwzDDYOKQ+dASMMeECSAeUWogUnA+xvUA","OT7HBeK6BrI","6wzOkwKt","/g5i","6wy8kwJ1","uALe6QrGAbmtAnrqATg","tg/K","igbzggLhAZkB4OcB9QHTAceNAt4DqdkB2gKulAHm","RaL8BsyhBaXHA74","kg6r","HKQ","4QetoQPF","OHj+AcL7BMmhA64Xcg","yAx5","uAS2ygXL8AHH","FuE","/wZn","nwWmzgOZEVHDAk+sAcPcAZo","Ft4","1grR","RdD8BsChBcjHA74","4Qdj","nwWmzgOZEVHDAk+sAcNAopwBmg","8gnSpQaqDZ4FqQ","xASz","xASi2QR9","qRC9","xASz","qgKcxATUwAWB","rgxX","0APF","FuQ","pBCe","qhDR","qhBx","9wac","9QGg","3Alx","qQHQ","8Q/d","gwnL","gwnV","gwnV","+Aqkd7w","2Qt0","vwva","2Qu2","2QvO","3ALLyAJlyQKerQGZ","mQ7G","1Ask","1As/","rRCf","wQ+l","pgt3","8QyB","vgs0","ygiQ","WpftB+H0ApQ","Wpc","mAGB","yg/I","yg+r","nQvW3gPS","gwLb","nQbaJtc","gwLZ","rQre","2gSt","oBC7","M4s","AjgJgQaRCLYR7xV+A+o94gh3EjUGLgTbBuwIjQLtGrQI0SHMG9Qn1wXnBCgL6hKGAZUEw0bVBr8ZKgbDLi86qwfPAjAgSUaQBMgdow1+JttWyQo4RskB0gHpAcwOixAjFygELxfLRfIT6hR0M80JLhzOI9ACvwJuFqsYlSF4JkMzkQEqE9ccyAW1AZQE5wRMC5cBvgfIF34EuRHgAaUa3AXVCeUY4AJQASwBKB3fAXgpcAaaBU8JVhxgATcM4QyvAUYrPgfTBiAC3wSUAeUDPAylE6oGygfgHR4FmiGXOrEBZDzeEbITtQO4Et0gqQ","9gav","oQfm8QbT","pQ5s","vgPPaniPAey8BvA","uALB0gKNvQeI","gBCQ","Wr7nB+SJAV8","9gag","mBJC","7Q2H","iQ+v","1grN","oxJW","pguj","/AMvK3HyBGZabvICuaQCr7ABxQ","UNP8B4CMCMM","xgws","2QvP","9wrXQ+OzAdlQ2AG0","5ArxdcQ","2Qt0","8QyB","/gilvALjG0y9Amg3n2um","mhLH","kAej","xwjl","5AJq2Aid","qAR4","5AK9pA3K","5AKW","5ALH","mQF7","2BDD","mg/A","pQ6Y","qAPRqgTI","rArs","C8I+ZlrYBuoIWALuB1EfKg5hD8kbtSezCSgLywQxBtVZqB7CNUcmqicrEMlY3w9tDbjtAT4y2kXzKsk5LhjBJ3UCqRhuBrEephWzFd1YxgqyEqIFcxWcIqIC3DLXIoYBeRgyBXg0LwMrCaIzRjLfBKcExie/EjIYHgXfIZc5HAHAPeMnuBLYTO8k5kWj","lwoe","lwoe","KkfoDcY","C0Vi1jKZCECWAdMdSAKiAUhOLyPP2wHQCswNtjnWJNAm4xY4CNcBpAGjENcERgXoW9IEzAfOuAFOFOMcvRzLDLBr0QbAIuYDugexBEom2wZ+AaoWbSzxAVwaySbLIbsB3S+aepsEpwWeGFQMNAncE8ERx0y9YsERohLB","EeMZR8wByxvbJzN3qB/Sb6po5C6sJrnkAzPyAed41g6iD9U","wQi+dnU","7QfTlQnM","1gJE","uwGk","xwR4","+wTk+Qve","+waV","ywvX","5QJ7","pgt3","rA68","dro","tgStDsmwA7apAX2RAtYF5gHqzwI+O7dUrw","UJH8B8w","swfl","wQEvaZw","ohAo","uQ8m","yArC","4Qez","NuqfBesE6pIFqFmMzAKb","1QW9","T3gBNQ","wQEv","wxHQ","0wt9","zAjA","mRGw","iBHP","vgPf7gfd","9AfC","RLSdCMxvXuoBtQ","vQ3uAdM","CYQYuQmaBkALwVp0DcEH1iuyzQE3ngIv6QQ2dM8","Kpo","gQKvAdDqBu7LASa/BtWrAe0B3g","hxDgAco","1w7GX94","1wGm","qATP","0wXUZq4","0wV+","hAXm","0AmK","Nr/nBuoK3jzLwgHcP9S+AY8","tw1m","tw3y","kwme","rQzw","/wic","mwze","mQ5SngHV","qQTo","hxHo","pgFrvgHV2QrQAcjmAp4FqQ","xAyo","xAyo","xARehgvG","5AKW","mAGBkQ+2","5ALPpQy+","yg/W","ds4","0gov","yg+B","2QXp","0wqp","0AqI","zgxxmQTF","4gS/swLQhQK4","9Aea","4Qum","tw3o","mQ5S","lwV9","7ga/","tgS7","1w0o","5AjXAeyhAWrRAWs","rQ3C","zwPm","bcI","tgSL","tgS0","ggbf","pgFrggPV7go0","qATf","xwOW","hA3B","vQ3QAcg","ig/L","kgfn","rQyv","9wqu","lQew","sArE","jQNb3gXT","QtT+A/OZBljDAbQkn9MD+A","4Qm/AdoB3g","wASr","Omu0AcHBB0uEASulAoEjSfQBSA","7gHB","1Q/K","Hk4FoyrAhAGfZDttOGFEZUY9nhwwBafBAko7zwH2VXoHRqoCT2Ss/wFGKp25AazCAag","EqMMiQaxF+ILujGjCMcOwC+YBCcSowGcB6IOnBlLQKVfYAKgJqIfPxueAaAwpQLAM5QFrVSuMVDVAaUHcXObBnJAogorAqM1pwKYB50KOwOhA3kErQc9ViompR5yBJwPYQxVAqEUnw2qBaQHSwOeFK0GpRKsBH4aqBKhEEcqykGmBqoHoAqpBmoLTAmsBJYHcRQ9FaIESgxCAqYHoAKnC8EDtgmtF0IToBOcD6kHpjiQCL8KrEBxBJIWmg","wwjN","1Q9/","wAQv","kxCQ","HKE7+R7IDM0FyW+bLZcr41emcpIWZb0B7ThBLuJX9ALwK88PJ3rUCrEU5QtVpgHPNPUBzwHlHtYG3RH1AekB2hu4AZYN4AztZmsc0oQB3SxpISAk3lXXHOUSxA1nBZtL0ALSHOUXqcoBVg","mgku","mgku","mQ/Q","wQvb","whCk","rARltgMn","wQuB","6AuA","3wrsAnA","/wrW","lwuu","whDf","gANE0AZAlQKMNVS+AUYgoQ","bKE","WXE3mMQBLfwGMu4Bk3JLGJ2lAXEhKP8BbgSsBywBJw","ogGn","xgIr7gpGrwFL7wEs","mA/2","mA9M","TEYWKROtFKEHZwqmA6AOxAafB5sLxTB7B0UXSiTSAUVyyStPFDh2nAWoQTKCApwCnTnDAR4BSGNCVuccTRJBBqQMLwrTHuwGRgViCR4C8xaTOX8BJyqzAqYFkggxAZoXRwtzCzgESzCuHSkBSTOMSdIfngFBDZ5VqQHAECEXqRqSBtIi1wxLAywGgxg3Ar0DkzvFFNkJQRdCpQE9","ng14","mQqu","6A6r","mA+a","rgxXmwHmNyAQIKEBjw","2wRlzAOJ5wbV","pAqq","0QdZ","vwLt","qwGL","uQ9n","kAGYvAqQzgNB","yQcp","kgLB","jAvs","jAvs","SOSrDO0","8wzH","SPc","SGA","1AxR7gHE","ciUBNRky5wEuzAG1NKIMonl2pQHFCjUZIwgpBnEVOnsshgEtlgEwFD8GLw4xTqADJwFTEZsdrAssAW8UdCyqLShbJR0nAyhXNww1ITM","pQul","uQI2+gyg","+gy3hQJB","mgLozgbIVsu7BJw","3geE","cTwaQgE7HzumAT1QqWJE4gNKYUCfAVCDAUkinD9PPklAR58BWOcBRw","TWteO09Fej+zAarIA0jgAUT1AUpnQ21RXkDMAUUGQBbJF1MtSw","2wSkpQKe8QTE","AEIIrhBxAn8FUgKrAqMZbApCA0AZPwFDCr8TSQttCTMHdQ14BUMCnwZeAaUDLAplEkUBPAMqBUMKKRlzDrQdegg8EisPVgSvDF0GPwG5AscDVhGrCWcOSwGiBmsFKwFEBIsHtQZ8D7UEggNvBTsJQgNgAoYBYQOzAzgFbA9AAS8OeQqbDKsMTgFmAWkVmQ+EFGMBRQcpBXUBoQtiBUMBgQ11A6sFsAakD2wESxyXA3EWhAZ2A2oCNw/MBK8GtAa7A7MCowLLDEcFswWzFcAOQgZuDaQCsQl/E6QOjgO7BloBaQOnKHEBawtrBW0EdwKZJc0BoArKBasMuwayC6ECfANODo0DQge2BVAQqAmdA1wBKArHA6QGLg9dBaEHpgV0EaMDmwRtBcYBgwpEBaAJJwOhCJcDfApnA0kSJwLLArMMeASmGY0DwQGuAkgCewPDNE0CrAR2BIMeowVHCHcIxwTEAk0LNASWA1EEmwWtAWYHJg+bAWkDpxK7AmkBiANaAzIDfgd/C2cCegMoA3UGMwc/BZcMRg6xAaQaSgRoBZ8RuAFaCdEFxgUrBSgBKwIfGcQHagm5DkUGzwOQBTwPhAmnBWAWkAezAdEQbgPICVEamwalBGgBfQFiM5wFphawA0QBeRVHDIopfBdOAWsGowE3Ay4JegSsHGoDZQdtAXIBNASeELgouRbPHaQUSQmpGj8Tvg","hwlg","BlABzyTXHPQB3gLwA+AGowK6Pb0LoAKYE1kBuyfwBqAa4DiCEZtLzEbOJHQ8skyWqwGrc94HxhfABqECgCEqRuQLqyHdG/EE2CSZYd0YmQPIA649pU/ITEYGxS6bFaAVzSvABGkKuzLaX9Qhkie7FaoP+AHNCcEq4BPJAeU05gqcQc9MvA","K8WvAa0gu6QFSpsIThNdAZA","hQ9W","yAb2","Vo8X4QlfBEYDnAKgDEIBOwKXNjwRiAY31QJiA7wcRTWSL8g7rCyuBZihAU0KoDyYK9A1qQhDE65krRabLTwimXioA0cDgyhrIkgdsEeEPocRSyG5MFgRpAWgBEcJmwWyG8oKSyurJpcQa9cCyw","ugGZxAqIGZABfw","mwqn","sARi6w3L","wguo","AEIBNQ2NFjwpUGNpIiZpJxktBWoMKz4rJSoeJ01wEXBhLMIBrXJjD2WmA0eSAyA","ATUjPLACLRErPiuCAiw","6gTw","6gTw","wQI/9wFo","3ghLwwOo","uARojwVN","uAqd","qQKckQrF","zQKcmgLI9QKBygG8hQSO","qg3T","2gNs","pQ3s","/Qs7hQHN","5Qki","ALICSQOdAYsBSwNQAsYBiQe6A4sCggF/A1EBsgWjCI4CaQSAAsICdgROAqwDzgF+AZAK3AF2BaEDjAd3AdoDRAHMBJMCwAJ/AnED0ANdAqQCswF8AU0BmQGjBW8CkgGsBH8JOwKFBm0CuQHeBEIBegOUArgCngRiA8MBuwFHAp4DUAFdA6oCsgKrAZkB1wfQAY4BrQbAAm4CkAOuApwBTwNCAasBoQGiDKgGVgGrCcIKgA6cB7EBqBmZBLkBkAHEA0wDUAKtAtcBqgE/ApsKtwPSAakCxgGVA3ACsAGfA7gCcAJvBKQFtQS3CF4GxAGwB8YHTgLBDE4BdAK4AaEEqQJlAZ8BvwGnBagKXQaxBcYHmwKPBLoB1AlCAb8GmwGnB4QBdAGZAmQDrAPPC7wBbQKEBJ4BbwLdDLQCsQHHAXYImwuSBNkIpwGAA8IGlwHTAUgBtAKiAZEDpQSYBK0IZQHMB0ACkgG+BYYGZAOeAZ4BsQGZA8sCogmkA5ILtASoDMkBbgG3AaEEyAO7AmcCbANKAp8C5gKuCaMByQGGBUYLWAKAFIkItAOmBpcBtQKUAnwBPAKkBZMNuwLLBq4DgwKYCqsBswjNEakVbgGYAVAGyQfPBZgBqAGTAdoEsQN1Ac4CiAPBA2cBzgFxAqQQlwKkAUEBvQSeAbEBnQG0C78JgQZ2B9QBmgG8A0sD1AFGAcQBoAK7A90ByAHZA5kDswE7A6wB3QKyA2MBSAGyAsIFxgKnAZ4BbQHaCqMLoga6BVEShgRoAccF3ASkAmMCXgFOA6YIKQGNAZsElAKVAp8BwAiMBHkIvAOiAW8EmgLCA5sCsQSdApgB2QN4BHoBfAbGBE4BogpoAswEdwK1AcoCbAGOBaIBbQKVA7cBcQOeA8ABwwFuAccFowHWD6YDpgHeBsMDnAKWAccEswGIAZIExQE8AmsBwAGyCD8CogOsAYQBbQiZAm0FlQLQBL8BowarAckBtAS/AWwBrAFMAawIpQF0CNsIZwS1AncEnAnOAdMCmQN9CEIBwALSAuMDpwbKAboCLANcBMQBVAWxCasCYwGWA8kDsgO/AUMCtQFhAdICuQGqAdQBRQGpAaABsgVzAr8BnwTBBNEBuAG+AbsHhwePAsABwQM6AaIBdgGBA5YDowG5Ad0BSAKiAbYCpAGjAZcCjgGRAlcEtwFnA3EBUQa5AZwCZQNMAq0CeAKbAbYDoQKvAagBfAGlA70CeATMAkIBogGCAX8DUwafBqgBdwTRAr8BmQOnAagBugPBAp0CswFdAb4CQwRZCMsBoAOgBXQBwAKmA2EB0QFtA9wEqATYAn0IyAG/A2UBxwFoAm4CvQGOAawBsQFGApsBwAGfAaAC1gPAAqcBqAGwArQNtQOiAdcBrALEA6gBpwFyAboBsAHHAbsBtwPBAp0B4AKoCHsBtAGnAcMBcAKdAcABoAXRA7sDrgF6AmMBagJ6BtABqAxQCKwCsAJ6Bc8CowG3AtcGQgPZB6ABmgFdAlwCogZgBYcClwKlBbwBrgHGAWQBTgPRAkgBqQGxAkcBYAWvAb4BWgK2AaYBawO+AswBPAGUAncBqARNAcEDowF3AX0BrQS0AaQE0AbWAsMBxwGoAaIIYQW8AbYEmQGyAdQBqAGgBcQFogJnAbYB3ANIAaAB3QGLAZgB4gK2AqgFqALIAbQB4wG8AZ8CpwKmAZ0ByQLGCUICgAKZA6sBcAesBEwEYANfBE8BrgPiBbMBqQN4BqoDRxDIAdgBagGsAqoDfw2wA54KnALjA1cBrAOEBKIBogF1AtQClAK5B5sCvwJtAWcBnwOmATYDzgFnBKoEvQG6A54CVgG7ApEKfwOvAnsBvgLcDrYBQAG8HtQb0w5JBqMBwwG2IpYFoghJH8Y","4QLx6gvjnQHQA+4","4QKd6gucoAFq","4QJrig28","4QLX6gvToAG4","6w+8","4QLL6gvCoAG8","6A/C","4QLc6gueoAFq","6A+K","7g+W","BJkDdRR+Ay0BXBJQMrwKlDCgCmJFpDpoFGgFRh2iA6ICSgtLLUsIqQWfIZsBTQWxDbEOmTNsCc8PnAVRD0QmfQfNDWADkh52IFtkd0h1C8cHnheUMKUDRgWwG0kCpwGeAaUMoRTBG3ULnxGUBZsCzAseJMcHfwmZD0MCTg2VAaECnhNKHmMxcQWBBKwRHgm9CJozcgJDGZwEcRJrHDIkTB5HRUQEZB3GETEinyutLkMjlwJXAasZIQZGByEBURCkCrMDdQavHJ4BlwRCBGsCmCF5B34BoWSsA2sHhiJ0owFJRDY","c3XQBX+jAm3+AYnRAeIB4gHTZ5f+An8","mwqnsARzoAG3","yw5O","iwrH5gJF","4wuk","uQ8m","uQ+V","AXALWRpLC1DWAaWlAndmrC5AjgGXhAEqcpEUggJRQJlHRCGmKo8eM2JbFo0ZjgebBMUXOw1RHpwThoUBm0e9KngDkBepKacrKAZ+UZ9YlVG/f0Y","6w9P","HmsGfw+LX5YGZQueE6UWpC6WL6EaeQp89AFw9QGcWIgja0ijWYIPokJYCKIBNkGLLYmxAWw1SAGNNbcbyx6bxwG7JX4lnROcHbAOnAY+Abgamkh6CVAUng6ifEo","wQWH","qAR4","V2a9AdTuAboBk6EB77oDYhG+O0qDA7JK+2i3DPsB8tMB6V+f","BENNHFybJ2WQAs9ESGBkwgJ+9gHGlgGawwFnhgEtzAFXLaYrWk5NHkQNOQ","rw76","rw6u","rw7O","rw6m","rw6E","rQzQ","9wzvdNsB8tMBvg","9wzDdN4","rQz4","rQxH","3gj1","ggSo","9wx7","9wzQdG8","9wxb","9wyd","ggRsAZObDJ8","PcQFbhO6Ar/DAd8QWK0BpkevAbypAb5U088CcZ8BkdkCnVnSGOdmkii6cNA","0g/QAeU","8gv5","8gu3","igqR","V2a9AdQ","4Am3","4Anq","8gTA","4Ann","4Amg","QuwN6QHvHEUbw64BxIQDtATFAaw0dhDBgQGxdqO3Aatid0p0jwF8C8aJA5/ZAXQBfwGh","qwKNrAJkZG5ma/0DVhZ0Kiy8A8I","A1MDtAazNCsQchpXEacFrRQzBKEabA60AkEFbwLSH5xmnkpBTzxRaAi0HTAHnrkBnHmkBkQodgjJBkgdmhdneaEnpwY2BC1aPhCJClILkwxeLGEGUyeYjQEpQMZkKwerIJwpOAEoDqhLZgFnH2xBPxbLG3QJbgkkCy4BswibBigMKw","0gFuCpgx5UjSF9GQAW0f6QnPStIvy5gCqIABjjWdB94fxymtB8qsAdYiyAbHDuqjBDMnrKcBzhU8FEA5SAtGBEs","mwS3","kRDO","AJcClAJUB8UFOQHeEa8IpwFsC8QGxRZUBIQDcRFXDa4HMwaHB20LQgJDCpsBsw5PBkMBgQutATwQqgIuAn8EmAxzC2ICjAEsHMoI5Aq7DsgBSgWnCp8UdAuXCUoMlwGFDlcKjgSCCUwLzQGUAa0CgAlDBLsBzgQ3Ay8IPRHJBoALnwNLB64lqAuOFEUEmgPTAU4C0BVVBokDQgN0BNgHkAOeDksL4AbQAdYXwh5FELASUwXgAVAUqAGdBIYOhCFFAuUCtBagBXkDTgG3AVQTqAFOAc8Cywx0AoIChAFmDIgBPANyFNQH4AuBCJoBSwKeAaQBhQlDAZcDawFyAUkFYwNMAzwJqAVJDUgFoAVIA20KigZxBmMIYApDCKYKcQY+CNQHrgGqCpEGigSIA7YCZQJpC8MElBNWDJ8DSgJOA0MFhQKaAYkJkwqLDkgHrgRBA1IBqgLeB6AMKgKLA6wBRAe4DGIBzweqBJoEhwZNA7cBPAFODY0DZQFED9EC3gKpBS8EUQi0CcAFPQrgBJcNRBJtDkUExg+mB7AB3QOjBaIBSQJIBEQHpQdOBX8HSgGLBnsCSANNBrsEjwOaAk4FfwdICFQB4gWFAjEDmwZDCJcIegGgAiABRgGtBEgGsgOkAYgEixNIEmwGOA1+Dy8BSQ19BZ4JsQHGAcQEoAKlAUEHqSG5BX8BhQGoC6wDgwOaATkCXAfCAY4CuQHtApsDZQTSBmoBOweeA68BgwLCBqYBqQK4AagFQgE6AkgJdh1FC00CNQZHC+UIRgKlAZYThA9+A4kBSQFEAqAJeRFpBHkHoQXHC3EYRxGsAk4DnAGxBJ8BTRF7AqYBSQmqA5oWMw6CB0ASRAG0HToRowpGBT8ESAZEAT4BrwJCFJYJPAhEAZ0XSR9W","bqVCQDh71gJ9XscRulayrAVgN7Ycez5EdIfOAUidAto","5guO","5guO","oAFq","vwSZ","pw6D","ogGb","iA7CAY4CoQHt","/QjD","Edw","kAXQAdA","3gpk","ywrN","9wJT","igXL","/w7l","ywq7","alc","3Alx","0At5","0Aub","hwFj","rQK4mASJ","lAGgoAncHb7EA9I","pQEt3QFKgQFENS3iBShoJSjKGkoFTycmpgFQFaqOAk4","swRAhARMogF14QJHhgGVfzWTATc","AjgEvAHSBegFTwFLAWcBpgK4A+cE0QLhBr4BSwKEApkBPgLABuMBogU+BbQBTAHVAWYKZQTsAesB3wLEAdkGiwPBAWcEqQNPBDADrAFcDNMDxAEmAzICeQMtAr0ElwLdAikBRALpBPUCgQFXArgC5ALcB0cB2wJCAesCJwLwAugDowFaA0ACpwLvA2gB6wUeAqYFhgM9Be8EKwMoA5IBZgpHBDcIfgJ7AdgDJwbUAYEEqwq0B5ET9Qs8A7wB1QHpAdUB2wKPAvcCYgJTCjECcgH3AXUD6gXcAfQBdQFlAWME2AKeASsBKwacAZgBYQFmAV0CjAMkAjcBMQX0AakH6gWmAjoNZwHIA6YKyAFJAWMDkQZwDS0ByQJmB3MBuQPTAsMJ3AOxA6QJnALxApoEMArUBOgF6gItBnIKugKcDdIFcQGSAasD9wKmBzsBYAKpBMkEpgG8AesFtQ6AA30IOQHlAe4EeQGMBu4B4QjnBNQHOApnBMkFyAHgBnIDagHnAugBNwOZBIMFXQW+BkAEaAPcAsgKvQXMAjYEwAHTE30BcQMhAXEBeQHuB6QFxALwB/ED1wjtAnkG9QN4Bd4EPgTwCOQFrwx/A/cBPge/DFQHnAR2At4GVwHwBeILjgLyA10BoxHwAVkBiQZKAbAB9QPCC4II1wFtBigD9AE+A20BXQFyArYEmgFhA9QB6AFbASoE3QKNApkEOAGJApkCTgKOBd0ELwbnA20C8wR6AXQBagFgAW4B1QP4EYYHiQJNB+ABLQjEAegBfAFqAjEDYAnwBeAF9QZ2B7QHtgPtBnMENwLbAnoL7QHFA9sCIQaDCpEJwgHZCKUCOgJNAXoBKAKFBvMC7gNYBJEBcAWIAWQJ6wPBAzMExwHHA2gC6QNnAc8D7QFEApUCPQZsAX8HxwnRAe4C0wd5AW4B4wLZAdgEXQFQBHgBvgGGAyMI5grWAdoBdAJuCCYB8QOwAeAB0wGmBeMBcwHLAcoC9QiwBfMFbgVtAugC5gNSB+0B9QTYB2IEWgG4Cs0DKQG0AekBQgP0AYEFhAIxAssCKwLuBroKuwm2A2gE9QfrBWsD9wHBAi4CLwPYB+cG3wUuBfcCpgdtAVMBiARUA4ARcQJIC6QDQAqcBJoDWQIoBvQB7QdGAtsDYQPZBOUDjQGXAe4BVgJAAtoCdwLvAskB3wH2AzYB7gHvBYYC5AK9A/QB4QPnAvcE1gF2AjgO7AN5AfgC3APsATIC6wGPAS8IVgFWCT8DuAR6BG0ChgJ6CysF9gp4A+oK8gFpCTsCJwSHBEEBmQjRAeUPwwTpBCgB5Ql5A2kCRQN5D28CxAN8A/MCZgHnBPME8AHgCGMB7RQrAb8CzgV5At0CnwbwBJ0BQQHtAVMB7wHaAr8C8xIsA7MBcAjKAs4B6wWnA0kD6wGnA+oBTAEmA94CrAGcAxwC1QJVAWICRQHfAyIH7wF/AoMC8wGTAaoB5QGAAp0D7AbAAesB6QG8A+wJJgXsBEcBJAHXBM4B3Ay7A4gE8wwqA5AM6wbjAu0BoAbtAi4BagK7EeQJ6APWA/YD6wVoCzcB4wFtA2EBOQTRIesDagfEA+QBxQLSA9ABrQ7LBJwCiAXpCjYKcxHoC84Fug/N","4gw2","zgu2","JXI","mhCp","4gw2","rAR3","T+cB5w","3Qyv","lgHZ","5AyO","/Qd6","lgFC","0wHG","uQGn7AxF","rQ8m","vRC9","/w5B","1guc","5wbe","/w1d","1A9xBXE","hQiy","UJE","xBCm","lA3Z","rwih","/Amx","vAS3","S2U","wAjAmQfq","jw3u5QGf+AHYXbIESA","WmM","tQd0","ADAIQgVCATkKMwo+AjwBPQNoBWkCQAFADHwBdwN0SzMEKQwzOip/kzk3GCu9ATZDLKADMrYBI5YBVZ4BNgo0BSBRLYwBJo0C8w","qBDb","qBDv","FjoLNTF7DC8LMAEfAi0DJwIqASUDLAEsAS0DJQEsAiYCJwEyBS0BKQEmAicDMgcpAyYRHwIsCSMBJgIpBScBLQEvAS0DJxUqBiiZASTGAVGTAUrqBJbeAZdNNoEBLQonCCUBJQIeBRkCJwEgASoBLQEqCygDJQEoAScEJAMpBiABHwIuATEBJQE0ATIEMgEhkwEkAxwBIgEjBDMCJAIrASIBJwIdCSAJIEbK","1AKT","2RB/","lAHOAryEAc/IAjaGBPUd6Q5hF0oP3gHRBPgCaQXHNUQH+p4C4bcBwQnmIsFCRIsBJxSs","6AjGUq8Erg","4gSo/QRS6QWoZy8lrA","lgGq","qglKtQS3","wwZM","8wEp","8wEp","6whx","qwjz","qwiU","4ATQ","5Az1","5Ay6","Tpo5u9sB2A","O94HvSO5FKYohLwBUqAB2YYBqyJkD7FFST3JoAK0fqzpAaKSATY5ixZ/oAPQ","mwFORD6AAqc","7g/g","FOrxDqg","O04nPwfAK7cOpw+kJJ8YTFbgCtoQyxrHLLBayqgBng3WAn4SpwFL1wF9FL8Y0w1tFnQaSh6uIG8Chw+XWW0dVAuiA6EFzAfOMyNUwBVKI8IboQvWFKtInRYmEdMHwWrKJ7kXGQZlC0IFogc8FbMInQHHBqYolSK8EZ8LPCpHK6ESnCBCrgHI","ogFRqwGc/QRGnAa5","AEkEmQO0Aa4GXANPA8UCwAJTBU0CtwKoCKEIwQF7AcwC3AFRCOQBYQHZCk4CwQJTAaYB1wHQAlwHwAPMBZgBrgLLAz4EtwWQBEMSqQSaB9wEsQHAAawBogGsApkDQQLPAb8BRQNtAWYDngNDAZ8CtwGfAYIFzQLpAuoByAFGAYgCQgQ8A6UCrAO/BUcGxAmgDFYUxg+rB+oT3Aq7AUsEtAHLAeQB6wK1AukCmQxKA98CwAKwBekB5gJIAa0EagLXCnoKeQXiEEcBqgvVBNoFUAGgAuEHPAHVBowMPASRBooP0AbBAq0HfQLbAp8EiA1uAbAEzQGuAqAQRwWzHMcBxgE+ArIHuAXTA2wH0QHYEEABqQHBBsQDogPgAZ0DqwJDBc4HSwJHH6QB3wFwAsQCrgNMCU0BSwaiB6kBoBCNAk8VUwPAB1AGTghRAcIZ4wiqB+kLth3HB64CjRStAW0E1wbiB/AV2AFBAZsIngOmB4YIsAJbAqQKugjbCO0CWQrKA88B0QaXBfAFcAXgBt0KoiGjAdYFUwRDBdwDyAZlA+EI0QLsFNQDSgFLCZ4CQgGjDlgCxQhJAUwKnQKfBEcDzANGApwESgI8AacFrAGeBNkC5BVwAqYCcQTLAbIBrQPmAkIDoAFFATsCuAPJAbsDpwJLBrYGSQuZBUYGjQLQAewHtgnVBd0ETQGbCkQDcAWlAd0BmgGNG+sFmgJ2BbEC3gWlA50CeQHlFFIKuwXpAcUCpgFCBbgH5gHGAboCfQG6AU0BSBJHA6IBkwHoAsgF3gHPBkgCpAS7A64H5wJJBOYGqAK3AusCRwShAuwBXAHuG0gIuASwArwBRwHFB0gF1AGfAUsJygHgBW4D0QFHAasJoxLbAbMCegHhAkgG3wWpA7kBjQJSCsMOxAHfAoQBzQJEAk0DvwKIBkQKyAONA04Bqwp9BaEJwg2uDDwK0AnZArUG4gHHEbAC2AGVCoEGngg8A60GkALFAr8DrQTkA9oE5AHCAakC6QHHCegDTw/EAp4BqALnAW4I7gKqA1AB3gNLAW4C5wGmAbkB2gG/AZsBpgHKCYsC2gWlA0ENqwRLAZ4BxgLMBKwBcwPGC2sBQQFHAUACrwFiBUcH3wG8AbgDsAKjAYQCyQGaA+UHYAGGAcYHtgORAscGUgO1AtUErAGsBscGogHQAVIDTQFMAjcBLAtzAkUCvAarBtMB5QXcCKABRgJqCNgCwATDEaUDRRy7M9sltghJDkILuArA","O4IKwBqWA6kykwOfKaESbhudWacQngmiFWtMo0OKJZI/xQpLdpRcTFCXC6cWQQimDEYKmRylC0oNmJUBJAunEaMBaEObE7o8mQhDJ2wOnAGwB6QNUQmlA2UcpgybAkADqRqbBbMPpQGiEagBpAZEKaYCpSaiG3EIPSKbD8cBiiS5LEQTpgaJZacGpwKmHpt0oQd9vwGj","swVL/QOq","6gemmAjV","tASN","6gek1QOe","9AxC","/xG4","gg9I","O7ZkLgJ2PkoyUWMkwgNhlgK6Tk5hYmF2F+CPAaCGAXEPLQcfYmAi6RVFogGtrALS","og7p","qBDe","4wLUywnS","rgyP","uAI+","Y2IteCyYfz9BRSqfKE/AClg4QSOoqwFBA0IEnw","DjlrbRcoRDJ/J5wDIc0BR94BTg","qBDU","qBDN","Njj+BzE","wg9f","uQFI+wjB4QWYxQFJ","6wvLxAK9","rw69","Dp4bZwvAG2w+OhShNz6FAZEYtQKfFdcgbiKFD/cH7okBPjyDKMEXhTIzZitPRjnEToiWAu0CKIcBTns5ZNRDSgFvE1RXOREiIssqKjXkBys6O1JEKj4JcQ","tAKigAKWogR3lwKccNEQfoMBin2HXaQ","tAJ3gAKWuQaccNEQfoMBig","tASWuQaccLwQfoMBig","vQKCsAiccLwQfoMBig","vQKCsAicgAF+gwGK2gGk","vQKCsAicgAF+","AcI","ATE","lBCo","mA5H","mA5H","gwop","kAFB","BosBdQ2mAlMFYQK3BLwGgAOnBakHURpBHGoMdil2A6IDQBCsILk94wI+D8cTcyKfAnUFwQW7JmUCjAunCKkKtBybBqUQegfPArIfqgPLCHwH0ROdCU0CUAPaKWYBqAs+A84RpAeTBaASsgdPDkkBuxfmBpUBYxDmAdQOpiDLAscW1gLKMeAPZgKfB88D1wgrA8UUSCHKDK8H6ALRCM0TxQSnC5QOzxfHBMABfBaWCCkBjQLkAVkSbAHIBeEDSxLMDmsHVSLSA0oC3AR8ApEMlQ3gBp0DSwXJCLsCtwzIAZUPowsrNJwBfAPTEb4Kpw/MAY8BKBpxCD4DYBm4JpEBmyKiArUaSA+MD4gKawGnE3kDywKsBrsHygROBtAvfgMoAtUOqga7C30OTR7ZEeYKSA1JB7EG0Ri3AXMFNAVUAtImRQNuAWsVTAJyBacIcgqbDcwMywu6CSkYrgxqA74JUAfFAm0NUgWjBiwBJwnGAiMZshNgAmAFnq4BaxNC","6wPA","uAE8tw0p","2wTU","2wTC","2wSk","ADAE2gHWBkUC2AWjFNUB0Q/SBugB6hXmBdUTpxMmAqAG5QHlLdkF4QLVA+Ua1QjZCNkG3QbpAuUX5QbZHtkC3CXZAdkD3A7ZCdkTvAfTET0IKwXaCNkC2QPZAtkB1gjZEbgH1hriFuMC2QzVAdYO2QHBB9kM2RzZCEkBvgPZC+gB2QLlCtkB2hDmBdkL2QzZA9YC1QLVBtkP2QnZDdkV2Q7ZBdkL2AHZENkBKwabAdkF1QrZAtkF2Qs+BtkG2QTcA5cB2QHZAtkB2Q3hCtkL2QXZBNgE2QTZCtkC2RHhAdgENA4hAdcB2QXoA+MH2QHZBNYd2QHZC90y2QLZCdkD6BzZBtkC3AcxAtkE2QHZAtkE2QYqAuYEMw3ZAuQJ2QvlAtkM2RnYD9kEggPYHdsU2QOhAdkC5QycAdkD2wLnH9kY4wblDeUB5QmgAtkD2QLZAdkB1xPZCtgK4RByAdgB5QHZBNkB5QfZAdkF1gHZF+UCTgHZBNkO2RHjAtUa2QltCtkE1ATZAtgH2xGjDdUF1g7ZCKUHpwZLBC0M1QzlA9UI7QPWE+kD1hrmCZoE2QF2C1gFrwncD90C2QTdAdkB2QTZAqAE3AQ0B9kc2AHZA54N2QzYCUoPqwTXCTYK3gMxCtkO3APZCeAJ4QHZASAW1g3VBdkC2QTaAdgX2QTXAdcDJgbmAdkFmgouDIYB7QHrDKoIlQfZPJ8OnQS1BT5V0g","ZPHFB7QiZ5kB9v0F8ALXAfMBvA","5Alr","3wi0","4Q/LArEBsQGs","qQi0Imc","Bl6GATsF+BS4DLgHsCNQLaI1gKsBmVWzAmOzAYzlAXsExwXiAmUq5DunJmAZPkS9HIkMiiE9E3JY20IpDowLqxeZBKgrs0SFQNgpIjrPiwEmFKwJZgMlEiKCATMjlQtAE0o","uAEoqAZOjQFC","kQHE","kQGH","RH9hnzeg0AFu1AMrbi8","d6MV9g","jAFZ","FEsMUQGyB0MSxQhAHKIKPkM7Bp8WbxOiE50NljLfDHMtXTNBNZoFqV6ICGgMqwiwJUsTQx9TAj4sSCF2CUV8sB+DLCEQmQ+oVkwbKBCcEnYMTAFMFk0PQAShIJgQRQOSCbIMSRgrAT0cgRBIHqwwRwOwBnIErz0eHjQtsgOoA0AOPxl8D9INnRFCCkMdcBebCaAFygtIIEcnVxNgAUMKRxKjA6IUMzdyMKIDWi6QL0gJpgJyAkEZRg18","+wO4","hwFw","EslifAyIJtEK4AtzBeQS2BWdBdgHbQKAFcoLsRjvDHsBsgFQAksY6gSyAb8dn3fcNbQCzg94JzIDmgh5CIsv7BPUDs+XAWYj3QgrF6IFawXaCrIiawKXD6MZlAPBIKkCZQbVE9ABzRR1D/IHzSCwEHUKiBHMCtcIzwmUIdkJqBqbHJ0l8R2ZAnQFuQGWBMcYjwaQEXQXeBqAArgG4ATtBvAU8AaLFWsaizuXG8Ya4hF0EJUq6QvyCl0PnwlyFJQLmBatBMALvg2OAfVcmg3uB18T2Q69Qc8CZwWsFIAu3CZDDr8EZgmDBkUG5QxMCG4K6gaKEk0QSAbF","OeIB2w","Oo0","OW8","N7QnRF+HHKGaAWuAApmqAp0jmn3IkwGyuAGwaKAspANHtgGYAbERqpIBngOi","0g/f","oQe+","BUEGrgOzATYRdgqaCZwzRQ+vNEIdVSI9O88MfyBgD4VX0QmvC0MEbwqmCZAwyyGgHmYGuQPYAZAgQR3nA5YLPQdnEdw8dmxoF0IHZQF1rwFFFHABlR3QD5gByxvNJSEWsgwhNIYadA2FBq4EyGd9DOIF0QHlJ3BA0gMoRZ0nLwuuC0U3KD+6A0IFTxONFrIYlwGrAckBSh2dHSkCaQk1CDgCJQFwBZMMlyzKCHUGjh1KKY8DRhOp","iwjSBPgB5QH0pgKwVdwSsPsDpQvT","jwjj","jwiv","jwic","8gxL9gJe","xAvh/gN2","wg9g","kAjc","2AFhFDe5ASu3BDfRBnKJAS4sICY+","Ym4xKUZxDSt+lw9r7AFtEnpVr312O46CAj3WAW91bDqbQm4mohFpEKcIjAhqFT4KqS6jC54qhRKkFnEBbnpaVH4Sbg","jwjoAuyZAvM","qgqy","kQiv","jAuP","jAu7","zgp+Ac0Blw","hg6b","ygjVngHu8Abz","ygjV","6Amq8AbD","6AnW8Abc","9ATL","9ATL","oAHR","oAHR","ME+eAZ+rAViQAXLdA8gha2RIcygHrXlJBar+AcaoATUYRTMz4AFp","BtMBjQSMAm8VbAtBB3se5wRgCTMEYgeaDW0HfR6ZAaACbAiiBXcGiAOWBWAznUaeBYQDnQVqBmsHnAZ3CaEFMQm3EoAQZQudFKwJQw2hY4Afzx+kJZdKSAXND8sZpBzBF84Hagt2BaMOniBoCp4ObgeFBaILRQ2BBNgZhwZyC8oBYxhIAaEYzwcwAT4C5gHaAdYB8wHaBq8KiweGDkIFdQGiJZ4DZSSCBccEnwFgEKIbTQmHG+4LpwV9C0cImQHKBFQFpgSrBoEEzgl0BHUKkQbkDX0BpghkCIgGizFrJIEOlwRtA4wgkQFNBsUCxQLDEJYUmwZvB58Hswx2GqcK0ASiEHcGiQqDJGgMZAOGII8BzRDhCaoNmAM8DGkBaQXEKSoFiAGpB+EUfQTsCoQCqghiB90DewPQHDUcWgleQJQFixl1BS8Nmg2UUnIB8AGKIrA7sA","mgZ9","nAiF","hQ9p","nQhjAt8","0QqV","/w1d","B5IDoArJDHARsA98FZEBbA1TDJQCaAElBCwFLAJcDCcDYgZ5AmcwXRcoUKACvBJ1FWcWbiiUKc1AIAFnNrEfqh3JNKIC2RWVcL00qBevBNoCpA64D6UilwzwBooUHwnGCMAEfrIBiAOAQ38Rnx8pGqU1fSOLA4IDyQ63GSsNgxuBWJ9NKliqC5sVQATIHKkBHxZFDoIqKQEuEmw4zwp7Rm4zdAd7JjwXPBJnAkMBxj5M","4Aix","AKACXAFLAYYBSAFJAmkCUgKFAZcBtgE2AVEDjwFFAoUCVQNFAioBTAGRAjUBZAEtAZMBpwNoAz4CogJAAUABTAI+AnICtAWABHQFPQs1DzMEHwF5BCsBgQGlAq8BIwFdAVkCogFBAnwBYwFxAS0CuQF2AXQBaAF7ATkBfAF2BaEBhgF/AkQCVgFsAToCKQOSAXgD0QFhAqYBKgG4BWoBmQN7AikBlwKhA1oCawJZAowBnAJHAn4BPwGNAUMBkAGZAZMDWQJVAakDbAZpBUcBpQFnAZ8BcQEuATkBYQEqAU0BfgSLAvIGTAE9BFABTAVzAa8CQgWWF0oFPhNKDYoCcwE/AXIBjgJ3BIAQOAMtAicDuAFIAoYFwQNvAZwFMQw3E3ACRgEyAUcMbAJtATwHsQIrASYDQwNuCusMkQWqASoFPQpwAcoFcQGEAUsHogE4ATACOwSyDm4GcQF+JEcMswG0DFwEvANECCsQzgFCAUkFlwKUBXwBVANLAjMNRiBLATsCfgOBDkkLRwFAAUgBUgGUDkgBTRl9AXENJw6BAYEBfhFPCGIDRwFFGIQMTwRECk4BWAFUH1ISZgGSAV8kRwFHEmoNWQFICkwJKgdUAT0CSAVDBTgyQAkxA2sGXQQ0BEIBQASxBnYDYAFgDVYgTAOjA0wNVgKFFEoFRRlRDEsJRwNCHz4DbhE9A6oEQgRWAYIJPwFOEYUJdwFzAXsBdQdFCLQENQ5IEqEFThbQBzgEgANhA1ABSApIEmgBTAlKA5kCRAVGBrQJmwNHCUYBUSBIAZgJtANDAacHSwYsAT8FMQY0A0gDtgF0BkgTdwpmCEoHmwEhAzoIJBarAz8BUQFXAT8EQQ8rB0YNVQFNFE0BKAFGFScIWQFVAjUGTwFSASABKgGOEJ4BJwSoBCYGHwQlAVcCeQNUASEQOwVHAUcEQQJMA7QOQg1OA7MKWg1LBkgBOQwiEkQCUQUzA0MBSQGeBkMFVQhHATMCKQIlAT8CKwEiAx0CZgdTBioLcQTmBlQEXQUuA0cFmwM+B0cCTQRSCUAJRAVKAUECRAEmAWkOVQNAAXsDuA1wAW4BOwE1A1ERPCxVFJs2SQ88ATw","3Au0","ADAOOQozCj4DPQhpA0AQdA","CEIFQhc8BGgHQA","4QGw","FCgRPUdCEDAROgU3BEIBPAMqDUsFJw2BBC0WQGUzAkkBawIvHGoIsBU3LYEGQx4wFjABdQhwTawBOhCaKUY5NPwFMQQq0AIlfVoUOQ","0wEl","7g/m","CEILMwstBjwRWTMrApICQgMnAl8DfAEsBiwCJgE5By0RQhEfAm4DJwJEAioCIwMpDTMBZQ9YAyphiiaGCCuCAXAcNjE0AToMXC0oOTQaQAEqAj+7BU4","5Qub","Hi2lAWV+c5cBMSo2","4QHV","zAFCiQ87","vghE","BswIngKwA7kK7wFOCMoG7gVQBEsIRALcA8YCfwPFAe4GmQOiB/UDeAFUAkQDZgPrAU8B4AOlBsoC7gKZBG4CmAGgAtwB0QX6A88BeQE+AfoCrwbUAZoDQAImA1cEzgTKArYBqgJEAbgD7gRTAWcD4AHZAuwBagHqAeYBqQHzA/kBfQP5A9EIwgHfAc8EowGaBPICoQFwAakE5QeZAikEoAW7AeMB4QJnBXoB8gLkAdEH8w5+AfEFZwKlAecRqAXlCScGYgf0Aq4GagKyAaIGqwLsA5kBogTrAcQB2ATwCpsBsgXzAfIBnwFFBJYJgQP1Au4DpgL1BVsF6QS6BOYDqgKLGFkGKgX0A/AC8QLlArcE6gOLA+QB9wPtAewGqwM6A94DrgHgBO0Cxw/5AvEB2gF/AeAByw2bA7AD4gL0Bq0EuAfgA8YB8wWjAa4F9gG2At8OgQFzClABrwXoAZQD6wNwBZkMmgOKApIDxQOFArgFxgTYFIMJqgdAAvAFUA3LBNcE4ATPD+IC4wXyA3IGlwRKAmEBfhvaAbYEmAH2BUcF9QGOAvUB+gFyBIYDUgH4AfIG7gWhB7MI3wXuArwC1AHtAbsDpgLIAuwCiw3cBtMI7A3YCMkHnQHHB+QMpgfWBM0EmgLVAqoDpQqyAuQKqgGuAU8COQGYAZ8CvgVABbUBjwTvIO4JNwPbBWAC4gjLAfMDjwF5CfcB9wLqAWEBdgHrAawCKAN1BvYHdwbrAqwILwWeB+QE5APtBvAB1gEuBaoBTAHrAeoB8QViB7UBLgKKBkoE4AKVAU0CKAPyAZ4PvQbOAaUC3AHhAX8BRwOYCqUClgf2Ap8C8gH0AeUBmgEiA7wEPQHqAd4ByAHfC+YCWg2/A6UGtAHqAukDygFMAssBpgOdC+wCoATrAbgC6AHtA50C1AdqAfgCcwaZAuAC7QHtAecB8wHXAcIDsgPgBbQBkALrBPcCcQHdAe0BtgGqAksLdwHgAZcN4AJYASUFpAJFAmACNwRAAS4BQQGUCcgCoQ7dBcUHsgOmAbgB3AHZAmUBWQKoA2YE2AH4AXMCnw5eAscB9we/AaADoQbmAtsC4wHZAcwB5wHqAkcG5gRmAp8GLQiZAfYC7ArWAdoCnwHnBaAC0gG3AuUBrgOgAbMH7AGmASwCYQL0BPsBzgHsAu0H3wK+AuQC5A+kAUgBswPFA1IBewTAAroBvgrVD1kY6ALWAdwDsQOjAToC0gKYAq0GTwdvA+kGXQHuCWMI3wTiApwDSAHkAsgCJQGeAh4CqgHYAfYE2QEqAfsO9QHfD0gBqQTxCi8D6wIgA/AB8QK0AvUB9wKjAbEBSgGKBKQDuwTZA/MDeRG5A6MDrAOmAdQBRgEuBOEC0wOeBdUDWwFIBakEtAGuAUUFzQRLAcYBpgHdAZsE6AafASoBzQHzBEsIoAGXAc8DxgQrAiMBsQMcBGoCqAIkAuMBuAGwBsUBcwFvA/QBkgSkCeQBcAJxAbwD2QJ1Bp8CRQV8A20BvAXwAe0BfQLuAWwHRgHCAa0BjwFLAiwBJwWrBHcI7gG6BC8B0wOHBe8D6wK4AcgBVAbaDlYGfwPfAeUI2APqAdYF7wH1AfEB6AHnAfQBuAbqAsIB+wHzBuYE8AH2AfMB+gH5AfoB+weuJ9EFyQPBBboBPwHDAskD7QTuAaEB9wHnCfUB9AHxA/sB6gTQBfAa9QO+AdkCuQL1A/IB7wHTBucD8wHzA+I","iQy/","5RHX","8QOx","cZS6CKrlBOKTBN8","ignKqgGtogN16QJUSkeMAcw","rgyB","6gWuhAuk","qwnn","wQHM","kwN5","kwOC/g7R","jgPo","kwOC/g7m","wQHevwzF","+QuL","gg7v","sgLl3ASw","0A60lQPv","xgtU","3Ajr","b6UC5hH12gXa5gPJvQGAXLICrIgE1Q","rgyB","oAxw","8QOxVN6vDLFxuw","xQTO","4Qc5","iAG5","/BDC","2RB/","4wLnpgnC","/wuA","zgyd","oAxw","tQzSAbc","owlY","iBGW","8gHN","pwjZ2QWI","tAqDAcG6B+U","7xE8","4gk8","ownC","/wGu/AL08wvvAeoB8gHeA+0","1wG5","ihHSA+AB8g","jARb","4hHE","Hc4","/gG0","0gqc","vQjg","uxDgpQHp","ihFG","gg7r","6BDc","4QO8","sQrXtwbUedI","jBHS","jRHQ","oxJW","SJQ","1g2g","1g2g","zQOo","/RD4nwHB","/A3d","Hck","zQOd","1g2gEdI","8xDl","xAxk","5hHU","Hbg","/RD3","hwuN","zAt4","wAgvmQex","uAzkgALx+AG3","5wTSrg3M","/wic","tgS0vgPR","tgSkvgOo","1g23","iQzC","JrHAAUuEDaw","+wvEBYs","5Abc","Ip5glAuCCaBytzRkG8kV3wKHCrELtQJsLpgZogOeEjoJZAXMDJIYpgSgBckW0BnHBKMUlQG4ApcymwpIGlo1oiWMPtkejguFBcgmyxveD0gUywmoJJ0XswObAVEfqwafIUgZjAihKKYJPwlEDb8muwKzAboDvRNCCOYY6QHmAecCYwxjJZ8IeQFiQ8YKUTapHrgVSTG9AUURhxtkKLEHfhsoJIYBmyWFAp4GwiqxC9o2kAWlA6IIQQWhM8wGIARwLSQQvg22CoANcgOUA6oQSgVHGZAO1RJJH6k","hAqzONkBsg","sgTH","vQqv","9AKs","jAshzgPa","2g7a","5QJd","CKADrgioC04TuQ9CI5UJtAWZBKQLpgw7BpYNQQOnAqIEzQSmDGgKqwKaB88C0RyoAp4KYRjOKJsU0xStBGsCyQ+YAZsDlyKkAsMFyAOgAcYqbwe3BnsMoRVmA8wdygPGBdASUCKdAcwInhGeL6QCoQKaAk8XzwKjCksGyQKnAYIqzy/VHdcGlw3MEqgtyhe0AY8CahXECZkBvwqPJ64pjwefApsIvgEpDcsC0hOiEMkDywuhAq4WpgyTA0ANxRKjI80FywHJApUCngFCBk4CYg+bBHELoQKnCJgMkzlJGNEJogO4CZkBYxO7CMQBrgOFAsQGogGiApsNSAaeBJ4FxA1MC58SpAGdGqgNkAudB0QBcQRNCaQVPwO9H8YFRwLPAk4XxgLFE6YEqxamBs8bnQ6iDZcClwSQBDwGqQOeA6UDswGvBKIFmAGQBLERnwKpAtAKTwGoGsoDiwxMB3sKpghBCjwHrAKhCpMHnAWXAaMKqwKkG2oVkApJBNMFqQ2nE0MJmgdRA58spA","NrUSuwizHKEJlxc7BpYEQg6iHaAB2wyfJ9BKvBGgI5sDlySaDEkcNgZ2DJsDlF+RB78HvBOdBMFFpAKhAccBmhvEAjAQpwHQmwGoC5gtlgyXAY8QSQfEBk4DmQG1a74O4gfPHskioweZPUcGugLEDaEBywMrAp4BQiahAqcCbQaYQ2UsvwTHBEkb6AmTApsTngSeBcQDSQpMF8MGpAihEngBqA2QCpMBlwjADUIauwOsAcIHpgZzAUcimR6QEY0UrB+aBaITkAzPBKUEpASiGqkDczTdCXsBbQmmBUsUrAGeF5cBowtwD78xwwSpEUcfzgGeAUUPoJwBxw","+wX3ONCHBeY","7A59","+wVz","0wvw","0wt+","0wu1","4AjBtAHGOsUBwwGxAbCWBrE","X2IWLHJhlQFBJoA4bGV0IWRGdxll3QFuCW0XbSmegQGdQpl7LQajJGcrXBGiQJsJkSCvNzZKpj54EKAKjQttPXEhIAJzMm4onRZ1Wm0Sbhh1EjkYoA","ugs6","9ATu","6gJ5","xhB2","xhB2","X5YfYFOfBpIUrgLKFtAW0FGkCqwDnyaugAFKC0g12AuUCZ6IAUmtAdQkyT2iP8UBlQHRDqWIAaEBpgUtRNNQpwGpIJkdtwyWDtcEpFPKAkgKvAWTFqQsmhCYM5gBliU8BKoHvU22IOAC0TSpIkcGqQOzB0EGoTCmEpwowQ","J74rsQK5FpQLQ1y/A2UBnwRLFHZkPSOoMKazAcqYAaPFAWpSmAHZP30BPmGZIaYVdkrdNqMNnQ3lAdUxdTWoCa0cfkq2IaqTAaEeqQwhBi8Be5ABWgtHVKQJJwFKEJoGQA","ogU3","b1DyCJcBugHS+gbpAec","iAbA2QNaAVo","4QmXAboBrg","rw5y","3Qqn","1AHooAj0","9Any","ng7V","twGfCnorlJMDgKgCNekG7DJ4JfI","5w5S","5w5+","kA4g","6Q93","kAF+","bOoB8VXu7Af1gQWm","wgEz","bSPBCC8","bHA","bXFVhQ","bto","btI","bo4","LYIJ7xJbPZdB6p8B7OAC5JYBzAHWAeQD5wZ8PyQdfaABeCevigHPWH0S4EfTE+eUAiE6zh23iQHuBuQ","NqqQAZyfAXvABCQdeb0BccUCuBOvzgKY","hRHF","LUkJ048FwP0BTjJujAE9kwGBaqbuAm9XiIkBvA","BUEIRwOwAqML9AFOBcMTUQObAuUHxhRiCKIEsgdzAZQCRQmXBkEDnQhDA0UEggK0BZMDnwStDrkTQQRCBN0BigvOCD4OqQakCYwb0iVABWgBJwVQA7UQrwOeA2oFpwKwCqQKPwKtAXQJbAJKAUYeqQWrAmwDuBWuB5sXrgnBG54BvDLHC6UBNCeUPpIMnwK6BNEHRwQ/EGMUXgFTIIoBiSBUGq4qS0VLAqIOzQIpBJkMpweiAYEGqQxBRV4TQAE+H6kW0ANCB7QM3gVHC04CtARqArwB7wFLAkcESAJyGFQIYgezCnwNWQmxGD0DTQFHAj0EdAxMEVcTZwVUDM8EiyeiB58CQgOmBq4GuAdlEaUU1wdXAm8CTAeREUYDQAKvDkcBogJ0D3EHpAGEBEcGuAS1BJ8CTw6rBUgExymTBlICpw/LA2AJcwhhBEURaAPMCb8BQQHGJ9kFow/hFkkFPwyzA0AMRwRaAXoFtAajBbAGqQs6FkYCrARVA4sBYwlXAUsCSAG7C84JpQLAAVIBqASfBZ8CpBGTATYBqQFFBKwBywa7GqYVNwN1ArQItwpFAk8EXQZWBU0CUQWMAUcFzQOwAbUDSQKLAa8LsAhGtQFh","O1E","O78","HdI","Hd8","Hbg","HSo","HU0","O54","tAVAkwJ1CXkMNxE9DGj+A6U","6AFv","6AFv","kAGYFlsZoANlBUmRAr9ESmRGLJAXZ9gBniKfDUYmSyulAWUDv8kBfiGnAT4dehOrxQJRCKwKxU+opQGCigEsBmTsAUc","pgFb","vQdq","AMwB2AHcAdoB4QHhAcwB8QHuAecByQHaAdkBvwHTAdoBugHlAdEB4gHiAdwB1AHNAegB5QHjAeIB6QG/AdsB3AHXAeAB2AHfAdgBvAG0AeoB6AHqAdEBywGzAb4B6QHlAdwB2gHRAe8BtQHcAYoB6wHXAecB2QHgAVcBrQHgAc8B8wGmAcYBzQHQAdAB6wHaAcQBvwHKAa4B4gGuAdoB4wHaAekB3gHYAYUBwwHfAeIB4AHBAdAByAHnAfEB7AHqAegBxwHgAekB5gHpA+kB2QHvAucB5gHgAe4C7QHrAeoB4AHsAeQB7wG4AYgB6wHmAecB2AHeAeIB3AHjAbIBbALtAfIB8QHjAeQC0wHqAesB2QHhAeAC7AHlAewB6AHnAfMB5gHuAeYB7QHpAfYC6AHhAfUBhAHuAbUB0gHuAe0C8wH1AfEB3wHvAd8B7AHwAecB4gHZAfIB7gHWAeoBaAHmAdsB7gHnAe4B7AG8AdwB0AHrAe0BxwGKAd4B9AG6AcIB1AGGAekC9AHRAdMB5gHfAfEB3QHlAekB7QHrAeoBsgHxAcwD6AHIA84D7QHhAcUE7gHQApYCyAGqAeUC4gHxAd0D2ALyAcQD1wKkArkD2gNXA4IB4QHWAdsB4wHlBPUF4QW2A7gG8ALbAc4D7AT1AfUB5QHUAdAB5gHnAeYB7QG8AfQBzQHnAegB2gLnA/IBegHBAdoD4wHfA94B7QGJAe8B7QLyA+4B8AL0Ae0B5wHyAbwB3QHTAeQB5QHdAdsCkQLfBOoF5wHiAaUB4wHsBeME7wGLA9cFgQLVAbQB7AHlCWcB7AHiAe4B8wHmAeYB0AHbAukB6gHWAe0B5wHwAewB7wHsAvEB3ALQBNgJxQHDAvQB5gHxAtkBtATsAfMBrwS8Ae8EiwM0Au0B6gLbAdUC9AHuAegBqAGTBfIB5wHiAvIBtwLjAeQCtwW4BvEB6AHTAecB6QHNAdgB5gHlCd0H5AHnBOIBpATiBUUBLQTmAe8CnQLzAXwBngK8AekB4QHfAdkB8QH1AusB2gHdAe4C3QLoAeYB7QPtAccBvAHjBecCxwHkBtIBogHtAT0D6gLmAu8B5QHsAfICvAGoAu0B4gLGA/AB8wLnAfEC2gPLAnoEkQF1Ad0B8gFjAeMD8QbfAUIIvAqpAugB7wHtAewB6AHzAe8B7AG0AvMJ3AHQAegBcgHpAZIC5AbzAfIB4wHpAeMD1wfsBOMB5gH0BsUO8gH1A30BcQLyAeYBOgLxBtYB9gLyA+MB2QHpBdYCgQm+ApgC2gLZAaMBogL0AtUB8ALlAuEB2gPkAdIBqQLyAekBwgOGAsIBzQHeBOEB4gFDBLoB3AbpA7kB4QTLAtwB3wLLAuwEngL0AdoB8wfXAaQF1AHoAeoC3QHtAcEB9wGvA7YB8QGyAXYC9gHLAcQBxwK4Ao4C8APiAacCtgiaA9UC7gLjAfEB8wHqBOkB7gHgAbkBqwG7AekB4QHUAeYC6ALvA5wF4gG6AeQB3gd1AdcD7AHpAesB8gHFAdQD7QHmAY4B5QTsAe8B8gHuAeoBzAHnA/YE+AHxAvIB9QHTAfUB9gHhAd8B7ALoA/UC9AH0AfAB7QGuAdgD6ALYA/EB6Aa2BN8C1AHbBNIB5AHgAt8BjQO5AdQBtQLhBmMI1wHyAd8CSgLeA4MB3QLXAugB7wG/AuQGXQG2AU0B8AHcBPYB3gHzAX8B7gHiBnYBpwF2BO4BNge8A+oB7ATtBfQB4AHeAesDhgFhArwBrgTcAuEB5QLfAeEB5QHmAeQBawHSAegB8QHYA7wC3QO5AuEC9QHhA/AC6gHvAsYB8gLwA+4B7wHnAeUB7QHRAe4B6AHmAecB7gLtAeYB6gL1AbwBTgLJAdwB6wPeAW0D5AKmAmoCzgGxAegB5QH2AfUC7gHuAvUB8wHwA/MC7AHfAdoB+QHwAfMB5wHxAd0B5QHyAawB2gLfAe8B9QbvAeEDVQLnAekC4AHqA+4B3QHUAecB7gLhA+oBbgbmAfMB9ALZAbsD8QHuAfMC5QHhAdYB2gG4Ad0B7wHeAfMBfwScAeMB6wTxAdUCdQHwA/IBtQNsAWUD9QHyAfAB4AFaAcEC1gV3AXMBewF1AdYB5QLfA+oF6gP0AeoCzAH1AdcCoAHwAdsChgPoAeYB7AGWAeYB1gHqAuoBzgHzAfMFywGnBOsB6QHiBOkE7wP2AdkB7gHxAecB5wHfAd4BigH0AfIB7QHqAekB7wHsAfMBhgLLAekB5QH1AegB6wKAAu0B8AHxAvMB8gHwAfAB7QPVAbICMgGKBeYCvwL0AfAB8gLmAegB9AHwAd8B3wHtAekB5gHyAfEB7gHiAfEB4QHfAekB9gHzAfEB1QHnAfIB5QHtAfEB2QHVAfICcAHvAfUC8QGPA/QCmwGyAuUB3QHFAfIC9ALkAekB7wHoAfAB6wH3AekB8gLHCGsBoAHrAe8B7wHuAe4FagLgAe4D5AGiAukB7QStAu8B9AHlAeEB8AHdAd4D7QLpAucByAHqAvAB7AHlAesB5ALbA1cBgwHoAfUB9QLhAecB7QHtAeYC8wHwAegB5gHyAewB4QJgA6AB4wHuA9MBVgG0AdkExwGpAdMD4wHtAfIC8QHyAfcB8AFzAcoC2gLuAe4B7AHqAeQB5gHlAtAB7QLvAegC8gHrAd0C8wHfAuUHzAHjAtgB5gLKAegB8wLNA/AB5QHwAfMB8wHgAfEB7AHrAvAB8gHVAecB5wHwAa8B2QGsBe8B4AHsAeYD7gH0AekB0gGYA3MCnQHlAagB3wHdAcsC7QFqA+wCfQPrAeMB6wLOB+gB4gH0AeUH7ALkAuECsgHXAd8ChQGwAeYBnAHvBq4BOgHoAeEC3QLkAe0C7QHpAfAB6QHkAdAB5gGSATIDOQK5BOcC7wHkAe0B4wGcAewB7QHiAd4C6gHbAtID6AHkAuAB6wHpAdwBtAF5AcgB4gHmAesC4QHuAe4B5gHjAcUB5QHXAe4B5wH2AegB0gGcAegBvAHtAe4B4gHuAfYB8wH0Ae0B8QLoAfMB8AH3BNsD1AFPAfEC8AH0AdsBwwJ9AcQBZgbTA/AB7AHtAeoC9QHfAeUB6AHpAcMBlQFDAdAB7gHmAfID6wH3AeYB5wHNAfQB6wHwAeoB6wHqAesB8AHoAfgB9gHoAd4B3wPSAeEB6AHvAesB8AHIAvAB7gHjAfAB5gHgAeUD6QFTA8kB4wHMAfAB7gLuAUIB4AHlAfQC4gHeAe4C9AHxAvMB7AHqAegB6ALzAucB8QLnAfIB5AHqAdcB1gHkAeYB5gHaAbwB4gHwAd4BpQGwAdwBZgLuAeoBqgHeAdkB7QG6Ac8B4AHpAd8B5QHEAu4G1QHpAt4BrQKWAbwCvQTxAu4C0gLhAvUD2QHrBLEB8gHvAcgC7AHuAugC4QHgAdQB5QHwAewB3AHvAe0B7AHsAusB4ALiAusC8AHbAe0C6wHuAu8B6gHzAd4B8gLhAeEB2QL0AccB6wGBA/UBrgKRAfAB4gHEA+8B6wHsAfAB6wKZAYABkQbbAbwB6AHfAeIB7QHyAdIBzwO/AcQGtwG+A+MBswHgAcgB0gFIAcQB1gRoBOIEvgXiAsEBmwJuA7sEyQXhBOQBeQHgAZkBOgRJAUYEvgFHBNQFQwXMAmwGPwK1BngFUANxAokBPwXNAacC0QLiAssB4weqBugC5AF9C9cCsAV+AVEBxgS4Ad0B4AG/AdkB3gGkAZ8CcgLkAUcB2gK1BYsC0AneBFcBxQ","6AGT","6AGV","V1QLbgy7GSYjqQlCGZtrlAGRAoAXXAMtBYOFATAM1wSwPuE12AGvDCmsAYk0Jws4D5k0jAFKSLvKAY4Df74CaegCWA","xgK6pgQ+","xgK2nAKTH3/rASTcBIo","6AEp","0xCr","0xCr","kwp3ggSH","7QQovQFw","1gil","zwQr","7QQovQFw","oQN0A0JXICw1IE5tZjpMkgFKFWwCyBKwF2QQmQE4DpAO4gKYGC2iBl0","6AW1","wAfQAiEGKRdo","pAW7","pAWN","gAeB","rAOK","bGq1AneuAYQTnj9suwKQEKndAW8IjkYejAEmlwE1JYSfAa8XgBBqJnMJbakBmA","3AI0","3AI0","mwM6","0gVN","0BE9","pQFgBabkCaRowW2xpAKLdqg","1gIn","1gIn","oQEsGi0","uwKGrQFw","GWo","9Qtc","qwGT","oQt6","B3U","tgVo5AOc","9gnn","hwEmNXwEJ5gCZgZgCjACO7wBNA","vApw","jxHh","wgEz","2AOf","kg5p","sgRx","BK0","qwJU","jgJ0","vQSK","6Q9E","0gEm","0gFY","wwFl","whAw","0QeI","wwdt","sAFfrAE0PV+QAjY","qwE3","3wQr","7wVs","0RBt","PUQ","xwQu","xwQu","tAVAkwJ1CXkMNxE9DGg","Djk7shqgN3oLLeYBRhorfCwCLV+xApJ2rHDPRHhJfBVRE00KcRRdBXYKqyBPFk0ZQgGnBJ8UTgGDHzI6cBGCQUkrmguoZUcDvw1fDX4XnwyGUXk2dhh+LLw1NAx0WHQKcg97KjlQhh8+SasHRxlENFUKSA","tQmD","B70raQbcF2kBch+YHLkSywJBCEAEOwGmBp0JSExGhgGtzgFL3gLkxQLmQM0qcuAEZw","/gnP","pwXo","pwXS","pwWz","pwjG","pwiz","pwiJ","ugKf","AjhieSxIC04Hvy3FF2lbmVadQUdeKQJRBc18og5Lb5xvRQ2PtAGpIaIKZZ0CxTtMVLvaAZwurR1KS6ELohBAFoRIkgt9dERGnQ","CsMt2SftlwPeROpsnjV8jQGnVsTTAcMyuAHpAe4j4D3rB7pz80LmAd8B9ipitQFaAVoBYhjpAft39iXnMPkH8Q9ZB+9K8hbpO6oBqg","0w6x","pAqJ","pAqJ","pAqJ","4gva","qA+c","rw/R","pArG","rw+6","ngvF","qA+Z","qA+c","3A3X","3A3p","0w6e","pAqJ","4Qum","3A3X","0w65","wgml","1A+o","rQ/nkwGNAcA","DIwYTRR4GHwJewZuEX0BPAlGAk8CMwKmCzMQThk/HUcHYRA9BXYGPAJCEkYDmgw+CbMBtAmqC0sKqwFGBawKrgM9Aa4GtgRwAkgCsAFDAkcFsQquBWAKrgezFXcDoAFQA0kCRASwBrEaegM9C0cFOAJLCDwIZwFaDEUYlAKSFpIDrgSvAVEERQxBArQJRQglBEsBswVJA54DmwKeAdUB2ASzC7QGRgxgBJcKpwVNAjsBSARPArABTApLBawBQAhRAkcDRSlFBbABswGzAbEKsAiyArMBsQGxAbMBsQyuA7EEQgK0BT8LsAmuArEBtAG2AawCrgi2B64BrhTSAaMEzwWsAUoGVwWwAcwERwK0AbQBtAG0AbMBswXYAZ4BrARwAkgHcwK6A6wBrgVaB7EBlwNBA7QRRgdOBUkElQGWA0wCRAdKBUkFSAaNCJ4ggw5CGZUQpQI7CEsDSgaaB0MHagZ1AZMQygdLAVYWSgVFAUkMbQpNAUcBUQJGBUQCSAcyAUgFPA+LAZUBrAGVA0IKQg2DBCMDTQFIBEMEQgFCGX8bngElCnMBcwhQA78CSQZDArUCogKkGkICagFFCEADUQVVBFACRQKRApkBvga4BJUIRgNPA0oDeQ+kBLEDdQGsCI4BoQOwAUoDrgNGBE4EsQI/AakBtwKAAYsCoAhPAZ0XSQacBKAURANHBoIDiAGjEkoXUgVRC58CawNTA6cBRAtJAUMBQwZPAUsLSwiTAZETTQ1FAUYEuQHZAlIBqgM8AlEIQw/PAzkDQAOfAp8BqwHOAZ0EQgnBAdwISApDATwKRgNCA0gNTAJNCk8GqAjRArQBswlDBMoIQgadAUwEOww+AW4KRgmhC0kMlwSiBEcDRwKtAUkCOQJHApkGbwbJDHEGlhebAaMBpwGrAaIGRwFIDkACSAW8CaIHtgWuDpkClAWXAqICcAJIAtIBzQG/Ab8C1QTiAeEB0AeWAZcL0gzVAawQhwXTAbwHuQetAsgC5wfEBKMEzBbcAqgIwgV3AWMB1w88CdUUvgHUDbcCxAHH","1guk","Yj9ERLkCS4oBngGiAaJIS6sDS60BR/IBjiOyFYMBhPEBpLIDnQ","nwKzAbQeqwasCq4Erga2CLAIsQquD64HsyKwhQGuF7QWsw2eAaIBogSzC7QusEywAbMBswGxCrAKswGxAbEBswGxDK4DsQa0ELAJrgKxAbQBtgGsAq4ItgeuAa4erAywB7QBtAG0AbQBswGzB6wSrAGuDLEHtPsDUyixBKwMsASuDT8PT9oCtAGz8gHDAXQBfwecAZg+kTqdBXcBYzu3","rQ/ikwHKAcc","rQ+6","rQ9I","OFUPjN4HL4AHeQ","rBAnKqg","xxByAWoBaAFr","pwik","1wPoX+m+A99APMkB8Q","tgRgvgNU","9Ad+","1wN6nQRU","/Qnx","5gHzjgHs6QbD6wL5","yAx5","yAyk","9AIk","yAzR","ww7z","7QSjhwTsvgP4","jQHA","ww4+","qwSwmArjpwOnAbM","ww7Q","BkmPDKwco/QBJQ2L","+wkj","HtiQAbw","AdwGsAPiBLUBtgKpBbUBsQG2AbUExAGyAckCsQHJAtMB4QS2At4BtwHmA08BugHSCdQD3gLNC84BuQO1AeMBtwTSAr8C0QTkArUE8Qm6A7UCtgG6AboF3QLFAtkHugRwA7oD1ge1ArYBtwLUAbgCugHhArwBwQa3AbsD6gK2AbEBtwL1AroE1wG6ArUCtQEvA9IKugO2Bc0CuQXWFuMIewrJB7oB7gG+Ab8B1gPUCNcKuRO6AboD0gGyAdgBtQO1AbkDtgO5DbUDtgW1AcICsgGwBLUCyQXZBbYBuQG2B7EBtQXRDdYENwm6A+IBywG3AckFyAO1AboBvAW2AbkCug26AdkMqAa4CbUF5QG0AroG2QXbA7UBtw6+ArQC5QW3DLoCuwG3GOMGtAK2AbkDuQa6AWADugXYB7oBzAm6A+MHugO2CLQDuwK6BLoEuge6DroEtgflBbUBuQTHAuQHtwa7AboCugq3AbcQtgK6H7sH6wanAboBuQPjAtcD2Qm6AuEGuQO6ArkDtwe5AbUGugK6ArkPugHXFboO4wfIBdEJuAS5A8sGuQvZAboCugy5BroM4wq6CNkIRgG6AboLuQG6AbsHvQHVAuICwAK/AboBtgG5N7oL2QO5DLkFuQW5DL8IwQO/BboHuhG6A7sLugfjBLoCugSmBNkBuwG2A7oD4gO6BL8HugHQAboH1gfDB9wB0Aa6AboBxQO6ArkCRgG6Ab8EugG7AboG6ga6Ab8KvwK/B9kCugG6CboBuQK6C7kG2RXZAboC2QK6CLERugq6CroGugK6DcoDuwO6BroBugLTA7oGugK/BroDuwK6EroGuQK6BdQBzAG6A8kCugG6CLYHtQe/CbkDugHnBt0Itge2AboHtg64AbYDuQ23AtkKuQG5CboFtgW6AosC2Q66A7cBtQHJBboCywW6AbcDtgO2A7cD1hHFAbYCqQa5ArcBtgfDAbYJtwO2BLcDuhW6EroB8gS5AboDugO6BcAEwAXACNoBuQJlDboEuQGFBLoGuwW6DLoKRwq6AcIBuAG6BLYBuQy6ELkD4wLGAboBtwHDBeIBuQm2AroCuwHBAssBugK5AboIuwK6Ar8FzQHAArkLbAfZAboE1wG3CLoCWQa6A78BdgK5A9AJmxLZAsUCuhK6CLsBuxHdAdAXjgW6D7oFuh5AM+JO4iFG","mBCuAUw","B8MN1AXNBKQCXALQCUchdgRpBswOQyjADLYDrANKAuQDtQV+BM0DSAKgA0AoQCXRM0oEfwI/AZ8HPhmsAtATww1FDcoQlwGuAZ0JcYgB2QlQA7IjSwe0DGE2zmG5aa0ScwOkErUCSBLPJ84cxQHbApog3xdTDt0R6xHVC9MgiRlDEqsEnk1CMkRl0w+YI1EXTBBJC9Ao0hnHAb02hDFEG9IOTQ3WBuBbvwrFCLscxwKOBEYTnQdIAd4Buh3HAlEMxgFJCqYKQEVuB6wIGAfSNXSGAaI","4QjT","mQ+z","mQ94","AIkBqAnHAa4BtQVPDE0IPQSRBMYCqQT0BFYBygPpBZ0KvgK8BaIMkQJGA1QB4xRHAYIS0gHNAaAB3wOYBsYB0AGhAbABpgPqAt8BvAGsBaMB4wPzBPQC8QbMAboCoAK/AYoFoAKtApACSgXXCKoEqw9MB+MEqxnZA94B0gHNKD4B4QGAAa4CSwQ+DKoHcwmIBGsClg6cC9wN4wJ5AucMuAOxBb0DugLPBbQB5gOPDckM5RfmBecCzgTwBqoLZgXNA6AQRxfgAqkBzwXmArIBqwPYCdgG7AiuEG0CpgTYAsUGxxXaDdMLNQp9AncNqQbbCqIDpwyYL5EF0QPWCcsCWQ6qBz8G3wTRAzEWtwaaB8gO4ww4BnYHyAOkEWkRRQGEA7QW0gVHC04CvQXJBtMBvAGkB0oF5QN0Ae8BpwpIAdcWmQTUBp8DwwL5AbgL6gZ5A9IG5BK/CMwCiwvuBk8qqAGcB80BLgK1BYYI5gKGBdQJrgfGC9AD2APVA8cDogIsA6sDnwJ5BO4H4wOyBMEPpgPQAdQEeQGjB9QBrQinBfAJowPJAskBwQPLBqwCtwHSAdAdnQrLBdkFdAjAB00NNwXZA7oBmALEAc0DyALTAr4FrQSlCsgJ3gpBBN4BUAeRDs8BuhCtBKUE6gG5AeQpjAJJBpwHnwSXAr0FrAnXCbYPwASnAzYCsQfmBXAE5QKbAaMYrwLQBi0ChgHmBEEDegq0B6wIwwKIDsYCIhiFEkAIrhBYCJABxw2oCKAFpAdCB6MGRQXIAY4D0wqoAUIQ3wKtAZ0BpgbdAacGtgTjAZ0B2QHUAeEBswGsArAEZQitAagG7gPTAygF3QOpBkgBxwXiBM0NRwPNAWcCYAOiB74OIAbAA7wIsQpSA0cUvwTeAeACNwWnDE8FTggrAYwDnQakAaoF2AdgAjMBfAGsAUgDwxGVA9k50hKuDa0ichPZEEYMTg9y","cXcJqt8B0gizOOM+vgY4T3sHf27IpgJPfkJlrVWzhgFHDNI0qLECQB9hL014iQijGIQCtgrTAdcMqw","1wGSAqFdoAM2Ap0koixGngWHggFDTk4haTyazwGbKqwjvbgBKwqdayhAQDOj1gHG","sAF1","1AJK","kg+t","rQTP","7Qd0","mQO4kAaxJbE","rgHG","5wbI","JT0","M+naAkeeBeqmAcDAAYJk1w","hwFw","Y8A","mBB2AXI","mBB2AXI","OVQY5gJcDdwCKQFTBa8FjwbsCEEQQgE7A7IzZgJdA0pe3QPYBKMKxAtiDHMXtQakFr1qtBGSVMQKyCaNIGcBfh3RBDBemFjFJsgK1wtLGEYN4wTyAUwG6hxuCucFlTqnB9AYwgd+JD8DdAm9AtUG4gnhAi0IMRLsGu41QgRpBkUF0AGjNKgd6wvLIW4B9hbaA+gNYgzpF5IEMhq1E3UPSxduDk0BswxMA9ovJQemA0EdZwRMIJAXqRhpDDwRPBnJAZombQOeOakNywPYAcoRoQc8ErU25gHl","ygfD","pwvt","+wNm","+wNm","c88","xwFKuQGM5AbplgHl","aIc","tw/O","pQKp","pwfO/gHQ","6gO0","RroDqQpcIrEC2QKIRvU3cwRFRaCeApxFSBFLakoClIEBrgGXAaYFhhiiCZkHQWW4JaENRz+CQUtPbClkD0sbUR16GUYbdENEfFELqCdNZCcQsm88Hzk","BJkNeVFwAWI3mhE7GV2NAT3iAUA0ix1DdJcuUVFlMJ0ZaGV4LXYUnTRwEktxbQZ+CVaCAXkSdEd1OaNen6sBRH9AiwF8AUY","dU0","SaksegLZqAWUiAGG/gGCtAJ01QIn","oQeXAaY","oAeu","3hG8","tw1xAXEBcQFx","hAe3AbQBtAG0AbQBswGzAbABtgGz","nQe5Cob+AcUTMSyJlgGh","tgK2","mBC4AbQ","mBC4AbQ","vQVj","gAN2","+QVJxAWZ","pwvq","iAjj","iAij","mQb2pQd1qQFbGcQ","wAtH","vA5l","nhDn","EEk2SgJbGx8HNSVuAV0BbwKkHyMKtga9AWUJQgN8AyYTuiJwBswplxqgDUQNSh9YWuQk9RuIBYIPOwtzBn0qngzPCucC0ALYJUoC5TCrBVASSQItAmAgeCtzB30DPhpmOXkXRwWjAXgCSw9yAUkFYweWEbsCrA3uAaYGlwKkHnIFzCCBM7kE0APICMwCrxhDBEsDmgF3BcsmVBKAClMDiAOZEDwRzhRwAZMC6QJMC9UOxQbREawESQGeBboUXRFrB+MLhQIuH2cC4Ai0D4kGwhO9BWkK7BtNAjMBvwZvA08DrgRUDaYKUBLqLi0B8QN5EnoWIyqwDDQBnANEDEgQZAJaCJsFSANpFG8I4ANUC8YLSgPKFKATOQ1yB6cbRAVHA6kJXwpQCH0OSRdGCFIVWQjaBk8K4xGwQ6wX4Q2tKbAgrAO/BLIBuQ/t","vAG2jwqplgHq","qAycDK4","0AqI","/wiwsgZE","8Qe7D+4Bpg","rAjM","hwTskg25","8Q00AZw","nQtrsAOj","nQu6","nQvF","hwXV","igzn","nQZ4","rhDb","gQ5I","pwSC","vw7T","tQri","phGt","jQLM","kwGb","BouzASyrASsqZwNnlQJ3jAQqtgJhA3ymAmR+bA","jgNnA2c","GPcyTgm4","hQG/NOqrAeiZAcSpAdmMBEi2AuoD7tECO1PX","nQP7","wQTx","wQTI","wQQ0","wQQ0","UuYkRh1HEJ4hPBHIH+piRh74U0GWAdh2T+4Bx0Vv7AFJJUeeAcJoejLUOUQXjBfjBMMhqQtYPz8KswreAVFhs6MBTh7JUlthTA","3QRx","9ALp","jxJM","wg3g","UsSiAtnpAWnbAaTHApxRwY8CMIUBbg","uAak","3QRR","UsQ","/wic","9AJn","BLUyfxNYCbEgfgNDEnASQwxFCIIXPCNMCX4OWkFGaUU3SzRHCkorcTdLI0gDPgRMP1MKUDduL05ERCSaFnwUSQpDEEoVeg1TGnctQidQEkAjRAudIW1ySBNEDD4CUQZCMk8CiBBABkwbRwFIAU40SAZxAksRRxNNOU4GRBhKII0MgCaBEm8GPyRRCk0FRA5PEDEJSCxGD0sBSgRJCEwPR0mSAX0NQA1yBjYHhwOMC0YORg2tA88LtG1JCtQ","vA5V","uQWi","JZ0ciwVpCHcIYAVOAVQJTwdqB3UDXwg5AjIFoAFDA7wOfgI1C6ICbQGiDXEBXgRtBG8EcQ1mBmUBnwWiDWEFpAexAyxCPgsxAtMIkwNSAycMcAtuCWsBaxJlBWcPawibA9YbdA1vAXgMbAWnO8wDdQqCAW4NgAGRCi8PZhlsHCoeSwR3BVooYxOhCaMr0gx3EGEGzQcuC8ggnyV5A2kBSAZfBFsRgRJ2BLcCRgKhAnEBhwNrBSgEdwGBAncBWgNsBMgOWgZxFpwToARyEGsKYQRvAXADgxVsBHgEbwZ6B3YLZAJwAk0EbgG/CmgCgwR3A5kINgNyATECdwR7AncCfAMhF3MGnAGdA3UCnAFjAW8BdQJ8ApICnwFoAscXfAE4AWIEow55CXUNZwSuAW8NbAKuG3wEmgenB28FqwJ5DpMMngFyAnEDygOLA3cBbwJ1BW0CJgGCASsCsAJ6AnQHLgmHAi8GuAV0AZQBfgF4AiQCWgJnBTABZgRtCUkMtQN8BGkBcgMnA3EEOAlwAWsBYw0qBUEFbgKqAXUCdQpvAnADbAh3BWYBaAF7AW0DdQJ2AYQBbgc1AWwRfQUlCWQBZwV5A5UCcwFkAWsNcQGsC3MCcgF3AoYCcAh1CI4BngFcAYEGcQdnA0EBrQKKJTwBUA9iGyUFaQ0uA60FbQsmAWIDggR0AnwBRwJ3Am4BcwJxDp0BdQFvCHYLbgJQEW4FcgR5AacBbQVtAWwCuwTBAacOaAF5AoAKcwUuAXAPiQZeAqsCHRLNF0YInhB9AW4BbwKYCW0EbQJyAnUFbQRxAX0DcRBiAXQQdilJPJ0PPgdJAT0","7wNs8gUp","5w6s","R3ohPg1DPpIzSAFhTzgN1Q49R2hwY0ejV7BIrOABgQ1GNmdaSCxHIE1ankFqF3Y5RA3DD0YCTw9CGUcuTi9NNFERRxZFE3ELQSU8ID4QXwOUBHsNSQNDB0MYREBHGzwJPBE7AXoErgFHC3ABYW5O","GvQGtBeQUscjR5ABYMcHXc0BedUB5g","iQG9","B2g","wQHHmwWJ2AF6","K7o","WKmnDZ0","ngXSmAGYkQaG","nwHpCNE","nwGqCGI","3g/N","vw3c","vw2t","twe0","pQeN/QTm","pQeN/QTm","vw35","b6sBrgHO+A/XAeg","b10","cYQ","6RCAAYg","cUg","rwzj","rwzD","rwxl","qQU22QUlQe/BA2I","MEA","/w2P","Qm4","hA5/AbE","3AJ1","xwd1","HSq6A4JcNJEDzB0ehQIrnAElQfAVJNsBJPgBKBcc","4Qce","owOF","2Q+x","2Q+x","ess","xAeqHR6hAyVWJNsBJI8CHA","P64","tQEp","3Qs7","3Qs7","7Qs0","7QvC","lBCO","mwGD","twEs","HSrEBx6hAyVWJNsBJI8CHA","C88","HSo","owsm","4wuB","4QceoQMlVj/bAT6PAhw","gw2X","1gg3","1BBd","HSo","1BBd","FCjaCijRA4Q","twEstwNu8wI19wMk2wEk1QE2OhxIzA","2RGW","H7E","ITU","pANC","pAPB","xBA4","wg8c","uQJDqAUesgGnxQIk6gMc","7Qs0","uQJD","lwelSjWMAbLrAiTdAp1FOUgc","nQNN","DYczK/0BjyQxbCtmNDoorQEzCC90KtYCHecBLyM/KS5AKogBPQaHazUQKw43nwEr","mQ94","7goo","lwdX","qAko","4QcekgRszwMc","sw6w","iwEz","iwEz","iwEz","sAkt","sAkt","xwyw","/QmP","MECEAY6tBh74AjW2BJyiATY","9A5D","owNa","rQWG","8Aw5","yggp","sRA2","6Qon","2Qo1","5gyV","mQOItgmLngG3e0E","uAoz","7QSX","L5A","2Qks","swQ0","GWrvDjY","GWo","qwFt","4gfG0AEqsQJrggHtL83UAfE","5QzuL9s","5Qy1L74","5QzC","5QxK","lA0l","5Qx4","5QzY","lA1z","lA0l","lA0l","6A5W","6A6P","lQrw","lQrF","lA0l","6A6m","6A7L","6A5u","6A4r","ADABMQKVAUYB2wGdAo8B8gKuAm8CfgGBAXICugJUBkUBfgLPA4ABrwG1AcsDvgGUAtEC4AK0AUACgAJ2AbgCQAPMAbUDgAKVAdkD0wG8AT0Bugx7BLgCfgRUAbkBlAPDAdIBHwF5BJQC2gJqASMBiwHZApABrQGZAkwB4QGZAXYCwAGgAm0BOQIyBWQBngN3Ap0BmQNPA4kBiQVtAXEBmgG/CHsBNAFlAc8DQgE3AicBkwFIAcIBKgE1AX8CvgNkAZsCuwEtAr0DQwOHAXUBigGmAcUFRgKfBKgBgQLVATwB7wKUAa0BvgF2A6MHoQFhAXMEeQF2AlgEvAJhAZIEcQSeBaYELwHNAZUBcQbNAc4FrwakBcEKjQSCA58DdQGeAqcFbwPBAXMFKwuWAo0D1QRsAjQBbQHDAcYFkQFvBc4JnwNkB3cDgAtnAakJywNBAXUBvwJ5AdsEiQGVAWUDtQHGAaMBtQTQBZQBsg+YAsEC0QHBBWwBnAG9DHYBQgNgAt8BOgSdBKUExgazCMQIsgGTAa4EmwJjAZwCoAXWB60Dmwd4BOIIsgbbArkDOQHUAYoCxwG9AXALzAMrBrkCJQKwAVEBoQLqA0IBhgL3Bb0Gpw3JBZYDbAG4Bp4CrAJnApQBygZ1B2oBqQGkBJ4BqgGtA8YCqQTNC9ADyQPEASoCpQOpB6sFggGXAqMDowq4BHkBkAesAW8JhwFyArAB2wLPEmYJnAG8A2YCjAHSAXgBgwPZAb0EmwSgAqwFkQGMBGoCSweEBqIEqQFDBNwGoQLpBckBvQw+AbkBdQGjAtgEmQLCAuUCxAU/AaAD4gm4AUoF1AKQAWkBtQYvAcMH0gKnAdkFiwTaA7wCygOeA4cEtwEqAbICnQLEAZMBxgLbA7YBtQSnAckB4QLJAcEBxQLKAdYBgQKkAZUB0wG/AdABZAGGAbcGsQKfBJ4CnQicBGoB3QJmApUB4gHTAfcBRgSbDaAEcQTDAdABoALHAmMBQwGhAkACywXCAZ0BPAGtAZsEnguUAdcB0Q6dAaUBSwGLBmwDeQGSCesBuwEqAcoFqgVDAVoBpgGoAXwC0wFnAZoC4ANzAe0B3QGbAmsEqQaGA9cDmQOxAqIDcwHSAToBlQExArsBygG0AboBzgKqAa8ETwShAT4H1gHCCM0BbwGwArQEXgNfAcQCxgGXAYwBpwHEAcMCnQGFAZYBdQbQBroCuwIrAqwBhQNkAaMCuQGLAT0BvwG6An8BdwGIATACSQXCAXkDvgFxAZ4ByQGoAoEEewFUAUIB4AGxAbkBpAHOBOkCdASyAaMDqAOGBYMB0QLdAs0B0QfbCdYDrgJ6AZcBjgHtAU0DuAHSAtgEhgGEBYsELgLfAkUChQXKAdkBsgStAUcBwgNaBWQDgwG6AY4BswHJAbsBmQOwAZMB5gLEAb8BZgWFAbABrgLbCGQBxwHSAb4KkAOXAowCngIrAqkBwQK6AYEBrgG5AaQBpgE7AqABvAHpA7QBzgHTAcEBbgEsAc0BqQHIAXwBfwHbAc0GkwW3BKgBsgLABNMBJgGiATEBrAKiAXEBwwiRAdIB3gLDAcYBYwGTAXUDewTAAcEDywQsAo8B6gLVAbcB2AFlAY8CdQGHA8sBogHHApcCrgJwAdICvAG+AtIBnwS3AdkCngFwAXUBfgHFA7cBMAG2AdACwgHaBWgBvQKsEscBhQGaAYIBcwPNAkoBzQF4AbwBKQKlAecBygGkAZ8BoQG9Ac0BQgHDAa8DqAHmAbUBYQGjAcsFxwKLAcEDoALSBCUBwQGbAb4BjQFPAs4BcwKVAn0DrAJ9BrMBtAG6AcEDTgG0AbsImQKeAZEDxwFNA4EE1gJqAXsJSQKjATcCeARCAT0CzwKqAekCoQG5BNMCJwNfAcUB0QGEAp0BsAcZA6ABwwFrA8YENQHRA5QBrAKtAdEBVwFxAmsBugPGAdYBrAW3AZED1gG7AbcB1wSgAdYCewHQAWsBggHOAcEBagK0ASQBpwF3AbYC0QK+AlwBpgG2As8BbgTACmMDKgF1AYIBcQFiAfQB7AW7ArUDigExBZcBxQFzAZYBnAFYAWEDgQSqAnkBfgGIAVwBKAPHAb0BlwWMAcgErAFOAZ0ByQHPAZwD3wHQAakBrwGbAo4CTQGWBWgDsANCAc0B1gPEAegB2AOAA2oCJgO4ArcBuQNFAb0BIwFUAoAB2gHyAYsCnALJAXoBHQW8BF8CfwKjAWsZdQKdAb0GbQHOB30CvgWqAc0BiwF7AXwBmAErAbcBLgOoBOEEewK8AioDvwLUAbABewMmA9UBWQGNBKAEdQGuAdsBzgKuAYQCVAG5AUUBmQXaAt8ENAF2BbQBoQJLDJUGrgKnAaQDZg6sBjwC6QFIAkwBQQPXBVUBmQRJAuIChQS8B5sBqAFsAXIItwVEAz4EtgW3AqoBRwWqAj0BPgNMCEkBTAKpAcoCmgFlBIoEqAPBAWEBwA9JBuMDSQFGBssGTgJIAUIGRgOn","kAGYrwd2XEI","TJUCd0umC84C7+0C4TFBC7UR7ELZEeUG1WnWYd7bAd+9AUKVAkte1q0B144C1w","1wHP","1wHi","vgM8hwPBxQN54wFJQnYXaWWqH9k","6gNvCV0","gAHk","4wSs5wav","ygtt","hgFD","4wTj","Cdo","lAHStAKiqAhCFrQBvgfkY58","twl1","eGY","JE1IgzbfLnBc9KIBuGKypwOdywHGwQEqJVEdwBBGC09CoGOevQHPYMbXApY","jAt/","D1EntSlGEplTPENGND/9AtPIAZ5YiZQBnihWRztNP8ABoZIBRyRqmwE+4wLj","2RC0","GsaeAnK2AsqjAaG0Am8Tyq4BlGzgEUm2AUNgrEqWJpzxAmw","8gqi","1Q/s","KkcIuRWMNa0T5ASbF5QMiQ6lCmgFJQfPIM4QyCHjIkpJsQOQAToErAGkJcEQtwZDEEg3LAItGuQDcRfufGMmqgFpJ6YVlwTLCUwCw1EqItQEewYhAoAhnkB4AoEWZRu7ASEm2gGzCewCvh5DCJ0CIRmkBOggKyY1A9ULlDdzE0ML6AyeCqQEShC4AtQDrBKmB08EPxO3CuQcwAu0FTYQPyG8JNIBQhWlGERKIQ/KA0YBgRCsPU4eqBlPBMYJfQScEqEIcAwmDK4KlzabD5gQck5MfKM2Ng","ngw2","hw/T","PHwBd0GWxQ+P","vQSK","igKruwSJ","jwG0","jBC9LbI","jBBn","hg99","hg9k","/g2B","lAFtugKkjwGcgAanU70geUykKyjsAy8","6gdA","6A5B","1gEu6QOwrQOlY3wHIQFzPsuoAbIcthepA5gsww69TG8yjtgBmRSC","pgOf","A6g","eeGTCiEPYlSb6gNf","TEYCUxRwCyNKoSIq7gJ0WiseLzpiJpilAckDdQN+HtcGQRaiPD+dATPhAUZHm0pDP3w8rjihjgFyLCsHWgU4","1waw","1waw","A+IEQgXPB58GaiNXGsIU2QMjCi0bWxvnJHoG6R61C203fwbBFicHLEVmAtAtzxHFN7oxTj2jAodF1QScDrcBuDmxNtEguwrBCMkWMh1lDj4HWwiBDMsEiQMnDG03LyRYFSwDSgXeK+ADyhpPAtsZoRJPG9MMaRhcEk8IgyFFUSoJsQTvBYgQvwu0GqQu0AaSCiYCnQFQBNU9KR/cBiUDLQUrEmsC2w4tV8QNyAWMBycadQ92C40SvwZ1A7cDXBp5HyYXRzAkDbsKcxQnBUINozjnKXpGqQ","C5xs4bYLlIcDfg","C5yiDJSHA9A","wAcj","4RGo","nhDw","yQiL","AO0BmgF1AewBygHkAboBxwHrAcMC8QHbAdgB8QHuAfABkQH5AewBQAHEAb4CqAHVAcQBzwKvAfcBrgHTAcsB6wG3AdMBpwHjAfAB5wHgAe8BugHxAbcBtAHvAtEC2QHvAdQB9AG0Ac8B5gHUAu0B8QFwAe0BKwGLAa8BrQKsAdgCWwHpAnYBbQN6A04BZgP2AdcBfgFxAbkE5gHLAugB6wHAAaQBwAPbAaEB9AL3AekBmwHeArwB7AHsAaAB7wHxAeEC2AHpAe0B5AL4Ae4B+QFtAvMBlgHqAfIB5QHiAcsBbwLWAZsBmwLTAfEB+AGgAdkBdAGQAfcB5QHaAXABtgFoAbMB1gGyAecBxAHMAcgB5wHRAbQBzwHiAeYB1wLgAe8B7gHUAdYB7AFXAbQBuAGbAYgBvAH2AlkB8gHcAeoB4gGfAbEB+QG3AeABTgHKAe8B8APAAqQB0AHpAcMC9wHnAe8B2AHeAdIBwwGZAfEBmwHyAfQCkgHBBHUDuAHyAfABdwHpAuEBgwbfAvEB4QGdA6MCbgHkA9wCogHIBOIB7gHiAfUChgFYAt0C2gFuBNwDSAOwAm0D0wGFAvUBdgHgAsIB3wHtAsoBzgHzAd0E4wHeAXUB4AF/AfcB8gHuAcoB0wHvAuEBxAHxAqYDrwHkAXUCrgLlAb4D2gHdAucB8gLPAfICdQG+AugB8gH0AbwCkwF0AZ4B6AHVAeAB5QKkAW4B7AGYAa4BuwGIAU4BswLmASQCxgFTAZgB6gPXAm0BuQHpAkoBmgPzAeYCWALTAd8B5QFiAaUBYAKZATUBtgJwAvgB8AH4Ab8B9QGPAdoB5QHyAecB8wHcAdsB6AHSAfEB7gH3AusBywHvAdcB6gFmAe4BcAJyAZQBaQFmAnUBbQGeAWkBUwHKAasB7wHRAYsE0AHMAe0B4QJaAZYByQHTAbIB8QLhA8UC8QH2AUoBiwHSApEB9AH3AaMB2QHeAfMBbQLuAfAB2wGTAeIBuQGpAeIB9ALdAeUCqgLTAt8ErQHYAaoBngHSAYEBywHzAZ4B0wFqAZQBswKeAVYBqwH0AYwBywHHAcsBbgHXAeQBpQHSAeYBggHEAWAB2QJKAfIGlALOApwBrwGmAXAC0wKQAncCgQHpAe0B+AHrAfQB8QNlAYYB9QGuAfMByAH3AW0B5gH2A3gD5QHxAsQC+AKIA/UB4wLiAeUB4gFRAasCxQLxAfcB4wG0BJcB7wHoBPUB6wF+A+oC5gLzBMsC0QTvAtMB3wH1Ae8C+AHyAZAB2wLDAaQB2gHYAdsB3gFxAWMBuQHeAsED0QFNAaEC2AFqAe4BlQHwAfgB+QFVASwB9APTAWgC4QGEAZIBwgFjAlkB5AG0A5IB7AGqAbgB9AH4AegBagEvAeMB9QHrAfAB8gHUAdUDewHOAekBgwFdAuEB8QHfAssBbwFzAe8B7AG4AegB6APABKIB8QPLAXUB8AHwAfEB4wF9AXEBgwHUAeIBzQHPAeAG7QHsAegB+AF6AtUBvwHUAqEB0QFWA4EB6gL2A9MF5wI5AcoC8AHjAYkB8wMwAdMB5AG3Ae8B2wHqAvoB+gHCAdAB2wHFAWoC9gKLAXYCpAF+AnsBMQOdAWoBcAGwBy4EtgN6A+QB6AHuAsUB6QHRBIIBvwE4AcIC7gHlAewB+gHjBOYBdgHtAXAB3gHvAUoB6AH0AfkBnQXeAoQBRgHxAXcBlgLHAcwD5AHdAXEB7wGlAdsIZgKxAeIB4wPpAt8B8wHrAfQDiQHJAfAB5wHQAZwBlwTvAWkB6QHOAeABugfLAfMC7QHXAfQE+AIoAdMB8gH0AegBqQHxAZkBXQHPAeABrwF9AcYB3QE7AvMB+QHhAbgB7gHuAckB1wGPAVoB9QHeA+cB4AHZAekB5gGmAfIB8AHsAd8BfATvAccBbQHoAdQB2AHAAfMBRQF3AvAB1AHYAb0B8gG5AWgB6AHVBM0CiQHuAfABsgHkAfMGTQH2BKsB4QGoAcwC4wFTAWgBWAGaAZMB4APtAVsCWwIvAdYBpAXYAfcB8QFdAeAC1AH3AWoB9QG+Ad4B8AK1AawD7gLsAfAB7wHsAeYBzwHFAeEC8AGzAcMBygK8AdoBdgGXBJgBxQGoAq0BuAHFAfQC9QFTAvIB5QHEAdUBzgHyAV8C2QFGAdcBswGpAfUBtQF/AZ0C5gH2BLABiAHHAcIBUgH4AdsB4wFuAU4CvwGjAeABrgHgAeMBfQFrAvEB8QHyAcUBXAHyAeYBzAH2AUIDegGrAbkD9QL0AfIBwgHSAfMBsQHjAfYB8gHiAeoB1AH5AewC5AGZAesBaAHyAa8CnAFsAe4B7AGcBXIBrAFpArQBjgHsA5sB9AHwAfIB1AH0AmsB5wG+AekB0AGBAeUBxQHyAekB1AHxAeEBTwHfAecB9QHpAe0B5AHFAe4B5wE9AdMC1gLrArEGxwH1AfcB9QHuAXYB8wHHAa8B0gHRAZsCogP5AkQBtgK0AbkB4gHjAbMCpAJdAT4B8wHQAfQB+QHIAfMB2AHrAX4B9QHlAegB5gHTAsACqwH5AVIBbgG1AXMB9QH5AuoBzQF0AZIB8QLWAe0C4AGrAWgB+AHfAa4B4gHvAdMBjAFcAc8BbAFqAbsBdwFzAXsBdQHwAVoBbQHiAcYB9QGkA9gC8QG4AbwBygGaAeQBegHgAW4D4gGtBdAB8wHhAZ0BwwFgAfAB0AHcAagB6wH0AbYBrAJ0AYgBYwG/AdAB4AGrAZYB3wGlAcQB8gHtAZcB9wLdAaIC7gH3AakB5AHbAd4BzALxAdsBrAFIAc0B5wHmAaoB0QLQAeMB9gHrAb8BNwHzAXgC5wHjAbEB5AGwAa0B8wGVAeQB9gP2AdIB9wEyAZcBigL3AfcB7gHvAYkCyAG1AeUB2QHOAfYB3QHzAcwBWAHJAbwB7QG+AdoB7gHdAewB7wHsAa8BzgFNAcsBvwH2AfcBswHeAfQBvAHtAeME6gIwA+IB3AHFAoYBewL0AuEC9wLVAegBtwH5AdkB7wHXAfMB6wHRAXUDeAE7AmABSAGwAlgB9AH3AfUB7gHhAeUElwHxAfgBjQGvAeIBmAHqAfIBnwOdAfMB9QHyAbsB8QHPAUsB9gH1A9oCsgGxAfEC9AHfAe4B2gGVAfMB4gHUAdoBygTxAeQB3gHPAfIB5wHzAfYB9AL0AcMB3gEvAeEBRQE7AeQBpwPkAZEBngHpAZEB4QOmAdIBfQHmAXcB7QF5Al0C8wH3AeIB8QHwAb4B9AG9BGgB2gH4Ad8B8gH3AeYBqwLlAeoB5QHoAcMC0wHnAeUBmQHoAe8BYQHpAYUB9QG8AeABUgHSAeoB7wL1AeoD9wHkAbgE2wGWAc8B8QHvAfcBpgHxAfMC0wGBAfMB2gHIAe0IzwH4AfEB8AHaAewBSAHjAcAB9AHwAW0B8wHuAZEC8AL5AfkB3QKFAZkB9ALPAaEC0wLaAfcBjQn1AeABqAHfBvcB9QFwAVwBQgH1AXwBmQHsAeIB2wNtAswCvQI0AdsD9AHrAYsB5AGaAV8B0wGmAcQB+AHmAckBzgHZAfkBigFOAV0BcAGBAbUEUAG6AvUBVgH1AfYBnAH0AfUBwQG2AZ8B9wHyAYkBpQGbAWkByAG3AeoB1QH3AeUB9QH2AXkBzgH2AeEB6wFpAe0C8gH3AeoB6QH3AfEB5wHpAWgBvQGoAdgBzwKtAc4B7wFvAeMB3QHKAe4B8wHsAfcB6gHoAdwC4gbQAdsBvAHzAeUBwAHaAeYB4gHoAc0B4AHmAe8B8gHxAVkD8QHwAcIBYQK7AfkB1QGeAfQB6AHfAaYBWgHvAewBzgFTAU0B2QHvAeQB6QH2AdYB8AHDAccBpwG3AfcBRgGRAeAB6QK9AXcC4AH0AbIB8gHtAfEBowG2AcsB9AHfAe0BkAHzAe8B2QG7AX0BKALlA1sBiwHqAegChQLzAfEBaAGIAfAB+QHXAekByQHwAbUB6QHWAcYB9QEwAvMB0gHgAeIB7AKLAfcB8AG4Ad0B4QGlAWcB5QHvAeEBhQHhAe8B8gJmAYUB6gG/Ae8BrAGhAckBrwGqAc8BlQJzAekBewHsBc8B4AGyAYYBnQRkAvQDbgLcAfcBnwG4Ae4CugHxAeABrAHmAVUEwAM+AVcB5QH5AfYB5AK/AfQB5wH3AUABpgHeAe4B8AQrAXAB6QHmAvgBigH1AdQBZALFAZsC0QFaAfQB+QHyAccB3gHyAaYC5gFZAWkB8QH0AmoDxAHfAd8B+gH3AX4B2wH6Ae0B8wHoAYABdwF6AUUBuwGuAdMB8wHyAeYBmAHnAfcB9gLrA9MDdAZHBvACyAH2Ac0CxwJsA/EC8gLoAdwD8wH5A+8D8QG/AfMCSgH1A/MC+gL1AesCRgGHA2oBVQv1BbwCPAHsAfUB7gH8AfQB+QS4B9QDywG7Cd4BywE+BOUB8wGqAe8GdQG8AfcEUALrATYC8AG2A8UCcgHpAe8C4wFCAkQBVQKsAWgIZQHPAfQC5gHfAtkD1waIBHgBcQaZBPgBjwVGAXMBzgHaAzY","BPAHnCSpJ48WxQblBXAD3gW1yAG2A7cC0hLYBZ4BOQ95jwHeTWYwKyeaIG2MAdAX4EnkPE/oASEjrMoB7ibiGqdp4B6/EisSph0yDe4LliDfDbIDXwOcBWoLNATGHsVKUzHDDHABuUDxAfIEahr1b+4","yw0yxgJS","BJlSjxypBXADp7gGxZEE1ia/Gqdpt0KmKt4LliC2DW8GghRkaDIxhAxwAaNA6AHeHs9v3g","yA6g","6QbI3weg","kw46","kw46","BPAHySSpJ7cWxQblBbMD3gW1yAG2A7cC0heeATkPeY8B3E1mMCtHbYwBvhfgSe88L+gBnCOkL82bAewm0BqnaeEwKxKmHTIN8guWIN4NsgacBCkQZB7FSlMJ0yjDDHABuUDtAfIEahr2","yw0yxgJS","BJlSjxypBXADp7gGxZEE1ia/Gqdpt0KmKuULliC2DW8GghRkaDIxhAxwAaNA5gHeHs8","yA6g","6QbIvwOroASg","pwxV9ALY","qQox","0hAs","7wyFcNo","iglr","cpUzLQ","DlwcmkcqEt2OAcKHAUERxJsBqxGSLpAeOwJTHirVAWkyKasBqgHoMkAGnmjckQFQfcp1LXuTCDwuoy1KTkEu0Qy6FaMOSAJLSeUh81up","rxBE","rxBE","9Aeo","/g2s","C1c","hAw+Aqo","DlwEoxiaRyoS3SbEaLSHAUERxJQBsQe6EZJMYAJTHioCgNMBaTIp3gFABp5WdhL0G6AhsYYBtUzKckR+kwg8LpsTnRpKTkEu0QagBroVow5IAktJ0CHzW6k","tgSkvgO+","tgSLvgOo","zAvM","qwlm","8QTE","/g3lrAPc","5wSb","7wyF","jASu","/whC/wOr","InJzdD+PWMr3CCY","rw2+","7wyF","hAy+","7wyF","kg6T","oQVz8QiT","Nr8","jBDb","qANl","hg3N","CT4hNJUCPEEwQC92KeQBMwtWHi5kNX85fS4","uQLBAd0","qQox6AWs","rQ3q","RXc","A88BpwOjAbED1gGuArkBrgGYA8QDOgOjAmECTQHmAVICiwM8AnQB1wGzAq4BigHIA8ACwQKLAeUBNgGkCckBKwJuA3cBogJbDtUM3QEfBXEBMAPxAc0FqQGoAiwBzgFwAs0BygGfAcgC0QG8BMoCvAG2ASYBtAh+AeIBxAFRAW4CJgFsAasBlwFIA1kCZgKxA74BZQFrA8kBNwLKAcQBiAPOAUMCNwekAS8BXwGlBk4CqAHQCnoB4QHdAUABtgJKAswCxQHxC+UB4Q57BEENLwFyDrkOyQU6Bn8EbAR/AdUDawLaAmEC1AVrB4wDhwOlAc0FYwFhAkkC2xV5BuUDaAR2A4gD1QVfAXQBWwuNAdkCOgHbA6QB3QHYAdwBKwF/AdEE6QOKAb8BWxA8CY8B5QaUBNMF0QZoAuUBowKsBJsBzwfPA88LZwbLBJQGrgqSAl0FuQo1DbIB3QHIAqcFsQTLA7gDTgjkCa4FrQJAAcoCnQXBAbsFRgFGAzQCngagBsECjALJAdsC0QHPDLkBpQLBCdoC1wHYAfICLAHAA4MJNgHdBn8C4gbSD6IDfgOeAdADqQ2KAp4GyAG6AsUGfAGWAZ0Bmg/NCMgHXQHSB80BLwNvBGAksQHdAckO1ALtCsgDxwIwBVwEzwJ8A68DpgRdEI0CMgHFAbAB3QWJATQH4AKGAcIJewHeAqIC0wTDBeIBfwJ5BL8EngPHAesBhgLBAXACrAPJBEYEmAExAdkBjwE6BqMGOwXLAcYFMArYAloBqQ2oAbMe1gExA2cErAPuAq0BSAQyAacBngLRAUYBpQs3DMQEyQU3A8sGoQSwBewCfwEhBoMBwwWwBeEDiwnKAowDuwHEApAB8AHcAdIEWQKeAXEBwAKhEGwG0gGeAaMCzgOsAZECqgKcAZUB5AHRBbIBsQHuAs8BRAOJAokGqgbCAdsCiQGdAugCbwKoBsEHtgHaB+ACxQHgAagEIwHeAZEBwAfzBTYBvgLPBIEIygFuAsQBxQyxBdYBfQOxAtgHvwSEBrgB4QHhBNgCKALXC3kBjgEwCLwDmQHUAUQDjgPTAaIDsgG4AXUCNwToAbkCNwHTBLcCQgI+AdQC1gaPBbUBzQG3Ae0EIQFoApkB8wKBAYECmQJaATsBkwHCAdIB4QGwApwBjAThAcABVAHQASYBSwHKAc8EewznBN0CaQGSAq8BngFxAcABbQ7GAeIB1QGvAbEGwwHkA3YDLQfTAaQB6QFNAu8B3QOaAnoC4gLbAcYBwQFtAtsBxwIxBcMBpQGCAqUBZQGwAS8BtALFAXUBqAKZB48BNQLLBYwFtAXIAdABnwHNAdsCeAbQAfEBfQHBAeIBwwNJAcgDKAKXAcMBlgKlBpcBxgbMBNIBngXHAVMCygG8AZsBZQHcAeoC0gEtAeMBpgGRAdkIZQHiAc8BjgGpAioBqgG+AcEB4QKoBMAE0gKFBIYFXAHjASIKdQEoAaoG2gFSBO8D1AF3BCEKJQHYAnIDmQPXAcUBsQFJAbAB8g3rAugB8gLBAeQBcgPrAeIFugKlAuYBQQHqAb8D7wGmAYsCJwLeAc8BrwHRAbQB0gFrAeMBQQG4AlcBzQNYATgCzwKxAcoB3QLiAcoBrQEyAqIHugLYAdgEfgLJApoCqgI2BOoBlAM1AZcD7QJjAWECkwGpAVsEywPnArwDiQGeAdICdgGIAcEG1QLVAcwBuQEiA+YBxQGwAjMB4QF4CUkB5QHFBLUCQgWuATEBywLeATcBWQHhA3kD3gGiA8ABvQNGATMCJAHmBNkB3gNaAakBfwFwBaoHegbTCdEG1gGfAXUEvwOXCtYBlgLRA68BuQHlA7wBsAe4AdcC7gLlBCoDfgJ+Ae4B4wKqAbwBcQLCBLAFpAGqAScBbAGeAm4B2QHUAsoNjwFHCEsMxgPQCL4C1g3dBe4F5gLCB0MMzjVyCukQPAFoCD8C6wM/C0YETwFJBkYMzg","wQWw","3QMb","hwEm","1A9x","gwui","mAu2","xAW0ugXk","vgftGtM","7w6N","9w/J","oA14","sgmu","jAN0","rguP","jAO2","5ghtiQQp","HtA","7wyF","7wyv","7wyF","7Qyo","kg6T","oQVz8QiT","mBLj","lg+1","lg+1","wxBl","mgM6","uQJmAZU","lQxL","rAvd","rAuX","2Ayx","iA1I","1Q2j","PFc","PUQ","PYC4AYw","lwFhDC4dJxE6yQHkPS9pSIIDIR81ywOXkQFCqQLM","vgwg","vgwg","8wiqAeCKBWA","/g3B","vxDM","vxCw","pQFg","rAnO","hAw+","vxDT","vxCw","kgsp","pgvdLWg","hAx+","rgLh","pQbxAaY","hgiW","pQbmAaY","9A6/","7QukkwQk","2APY","sg6k","dy0ELAMz/QQtO5y4AaVTYSEvDHVeoy8jH4kaUiJvCZ4mJ35wHikKbxovKGobKiWTHo0KKyxcGWQBagpgAWsEdAQnC5tWfQLPKCYXRw","EamwDNU","gQeEDa4","3weJ","7gdt","2wcv","2wcv","wAcj","sAz4","sAzX","sAyu","sAxq","vg7c9gGe","IatNXXylTMm+BVrbA0LiAdSpAfPpAVE","mg/Y","mg/O","tgFcG5nBCdKyBfY","xBDP","AjgHbiI+BacixRh8A0IirCmmDPYRRQXOGMgIrxdKL6oDqRxIC68KqCixJjZ+pR1CEZA3PhRABkdRzQ1KBapC0CvdI48KSgWvCatbRiBCO6YGSUZNC6IEOwKSHs4evERUAUkxUyYvIEwTRy5OAbcKRxsiAdIKxAhQEU0TSSVRA6kjQQFMJKoaugNBFj8mRgRLMEgERyZBK6QHORK/C2AYSihtBEEsviDgWNE","+RDd","jwfpAeg","jwew","kAej","jwfT","kAfS","rwnqlwF1kwLi","J+FCcSq9eIYD1VddIFfnAY5L1YQCzxfod/cPVXz5CCg7HnwqB5JZ2yyKIC9Z9hamiwHjH9Ey2RGvCZ8DqQ2AA2ptxQKxA5kBvwH07QH0","1Al1","1Aky","1Anf","WlvMAucB0gHp+QJrsQHS0gG3Ck7CAnKjA2QYdGcl","0gfo","pwOrAZ4","pwMr","pwOUAb2qBLg","pgO+","qAO0","kg2hzwPv","kg3rzwPO","kg26zwOt","kwGk","twWwvAbQ","twWVvAZs","twWVvAZs","2g7p","0QVBkwUd","sQ3U","sQzm","sQzJ","sQxf","hwE+LT/hBUjBAVqWAT3JAWRx0BvuDouJATedAeI","FlMBejh4AXIroBNZWikSQUeZBbpgRCeacjCIAqVgNZkBP1tCsgFnCMoJLA49DIsBYhpgF1kfqhlHDc4xng0sD6AViRFpCUoDdDBqNysSPSwnHKYLOQxzJp0CrCQyCDMZoAYmAaoOQAWiEb86LAEnCaQKSifAK7gNzw","+Ap5d7w","0gr3","0gq/","0gpU","VKs","VKs","HpyIA0meAauhA0rrAUAcocYDm4oBks4BqA","6xCqAas","ALIDkQL0CPMBXgJ/B9UH3gJwAW4GgBHNBs0ErgLTAaIBcgFAAbsBWAGwBdIB0wPuBnEG3wSzBZwC8wNCAccJRwNGA8kB8QKlEc8CywJ0AZsBfgJDAp0CeALAA54BzAGqA40B3gFtBEMDZwHxAz8BlgKKA+0BowxKBM8IRwHMA2kDbQU+CGwB0QTNCeIE2gHUBsoU5gTLE8MB0QGeApkHxQHAAcUBpAFyBz4ClQ2gAWACdwO7BfIESAU5AV0SRQPzEtsNdQbIB58BnwHMAb8LQwo8Aq0C5AdZC/MMVgH1Ab4IbwKwB7UD1AVAAckrggzQAr0IigOsA8MEiwnNDUUH4AqLC5QLQwKxBsIFyhSsBHoDpwPQBZQJigZnBZ8JiwGsApgG7wzYE38n1QXXAegDgA/6FkQEQgOnBaAFOQJXA+QCWgLQA58CswOxDdAVkwFQA9cGLwltF6cGiwFaAeoFjQVDBEgBswGHCzwCuwF6At8BZgieAnsFbhBKA6smZxS6A6YCsxB3AYwJnQXOA+UFpgXuBNwJcQJlBJQK9QXaA8QEJAjkA4gE0AKlDc8DpwOkBNsFUQicCHoCKAGpAewBRwFoAmgNyw7VAd0BigbfAZ4FmgT1AfYBygHyAkgHhA+bBekCswG6CT8I1wHvCJkBWgFsAfoB5RCvAcgCyANIAVQB5gNvAr8M7AFcAZMBlwfiBT4MVwJIAmsCtgM4B9EJmQHIBLUBrAm5AasDNAKbAuAClwNQAb0BmwOQAaQIqRHiBTwHUQFHDcMDRwFIBOgE8gN4AcgONgs2AogCxgFXCuwDxAJFAbAOthF/A6cBcQqsCEkEpgMpBKwDywecBaICRAtJAkMDzgR0BrADSgKgA50BUAJuDVoBWgFiCasIlwJtCHEBUg6cDs8EJwaVAr0B7wVLA6UBrAGXAk8ByQGTA1IBPAFOBSAN8QXaAvcBRgPmAT4GsgHrAagIywxPBpMChQS7B44DvQGjAk8BzgNDAUIDqgymAtYFrwLoAecB9wHXBEYCTwOwATkDtQp+AlEErAFKAasDSQS1ArsG5APCBGkCQAJHAbsBRQOkAXUB8xRIAeIB7wHjAs8FiQHRAZYJUAL4BFID1QXeCrQEJAJkAaQBLgFvAWsDrAH2BrYBswJXBEsBQgHtAbkCRAH1BrIHfwFOAjkCoQJ0ECkG4ALEAdcHRwXkBUEBzwpEAbQL9gLYCdkFrgboFHEEwUldAj8NRwjJB6w","RMI","jAuL","WdE","Y1M","+gGp","pQbXAeZ2L/EC6QHesAE0es6AAs/0Ac8Epw","+Q91","2wLHH7PnB8g","lALmzQGV","5AbQ1AW76wO2DcA","jQp0","ugJg","+Q9r","+Q9C","twKs","5Qdm","vw6y","SJQ","SJQ","1AFl","jQo3Acg","1gKonAacaak","mxHh","0QJg","rRCm","Y0OgCevjAbAU6Q","ugGmrArJ0AO7","gwqG","gwqG","xAeq","xAeq","aHE","uwxC","arg","7AOw6AGY","lQF0","uAa2","wgvg","wQrX","AlxvKhhbESoLLTRLDUoNKTxNEihmrzdACb1YUCXkXWlemHcqPCooMM0BMxOhNy0mJhMza0YVIhknP3I9KkAtAc0UKwcjJD1BIAygCkISMQ7QCcooOTImDBwhcAaDKCkqJxg1CkxFtQ","uQmuA6cDpATb","+Q91","+Q91","5gqo","5QpU","4QxxfXE","nwG9CI0","hw69","8Aax","sQHv","9Ada","IHA","9wym","uAbu","7gSL","9QHargdY","+gGpghBd","qQO/","sBBj","wwTD","1Adr","5wFs","/APJ","uQmu","owlYlQOU+APg","aro","tA4g","6AGm+w3iAe8B4w","lgfO","Ht7uAjI","swRAdoOwDJY","BUgIQg","jAXC","mxG2","vQSK","7g5P","sg7J","hRHv","+Q+L","gAKr","uALA","ugGm","2hDX","2hCh","X8HkAXvMBsVN6zHhAciqApT8AZgVimt+cNYM1w","fqOyD6c","jwnF","xAfJ","jAzx","owm9","jwnF","tA66","tA5n","tA7f","+Q91","hRHW","1APmngXYBMI","1APOngXgBMI","1APA","yA+7","5ATH","xAeA","xAeq","+Q/X","+Q91","rQ68","bcsGmS9bC80DuQE1FVUBpBjOKC84dRI9I6gCwx3nDjcFYxB8DFk6Zy3LGKosclNAdkUT6hueM5sW1QeYDp4B7GM5KYsC2Ay4PC9wdRpFCtgjbVvGCi8XSglMAqlGmSeiK2cJ1kZBJ7BPkjNJCZ8esB0oATMNrhc8D18H1waxA88nuQguBHdXRD9DG+YKTDDiAuMC3w","JE0L4hZZFdDaAUsL8DrUYdOTAew1od4B8kJJIc0HSYABnTNGG5Ys43WrIayjAZluU4cChRSKG7Q","Wsj/Cas","Wmw","+QLU","vwKqrgLNkwKm","L+K0B826AUYblizjlgGsmASFFIo","2gPL","qgjBAd27BGIBYgFi","rQrY","xAyi","3w9fB6PtAeU","kwPc/g7f","HMYdPg9gEj4r5gH0NKa6AbCBAdDtAqQC6M8BuqYC3grNA+HTAjq/At8T23n7a/Q","hBHb","hgFD","5AaeoArv","7xG0","7xGs","4wrN","7xFh","hBGY","hBG/","1wGG","2QpY","FOoLwA5zBEwypQdBA0IElA/uEM4cugr6AoAE4h9oA7sQ4wfZMOwEjReaDZwDThvwDH0D3gHuAdsnyAHSBtgB7xH0AYsV+AH6GzoVsD6bC5EBnxiGAa0W9imeFDkYdgvqEc8ahg73BN1Z7gU1B44XmQN9HeIanBFqAaYV4wHwAnEBcQTMHe8HoARWEtIgyi5JBuwdQwNLA6QFcTJLCisO8gxYE6YLxAGjD74KPRNCGSggQgOrA0gHZAd9Kew4JwSdDqAanx7sGEgP2Qx/GrUF3gbPNaYgygvkPKsDTQGCFskBkhjFDJYDSAOvEeMupTJ1GPIQggLpArEhng/yAaAZsQjpHYccWzpKBlUswQ","3gl2sQax","tgHy","3gG7","mwjg","/ATq","/ASg","2w7JAZI","vQOL","tgHYmgFOGjE","cWg","vAPm","tgHn","wQ6r","4QdT","0gOpAXo","2g2m","7RCx","hQ5O","cWg","0xDJAaA","7QXP","7gHj","9QHO3AN2","9QGM","lw/S","9Ayz","qwPuzgRx2gjs","ywvp","jAns","zg3WAl0","zg2u","zg3B","0A1d","kRBN","rwFnOo5T8fgEQShMhQFKpQI+SE8kUeQCOlFRBjwPOgtHSk1FSw","9wz1db3SAc0B+A","vw85","4Qjf","4Qi5","pQgvwAHOX83RAfHlAjk","pgg5","1Q2chAEzHTc","2Q4z","oA5a","vQy5","tg9o","xwt5","qwiU","uQJD","rwlx","lQrX","sA74","sA5a","sA7K","2QuN","2QuN","5Qn0","5QnO","8wT6","8wTT","8wts","FCg","gAR0","7wc7","pgg5","rwH4","wwH3","1gqB","8QSe","ggv2","gguB","jQofjwOJ3gE5","nA8p","tw83","7QWw","7QWw","sQzZ","sQzG","sQzG","sQzZ","8guA","vwc/","uQWL","xA7y","rw84","PNMB0UGEjQ9r","gwvG","gwuS","hg9R","lQG3","NG+7BuECxiVplwGpATnDAdFClQPfa+lDzNwBvJICxNkBqA","wA2V","7wal","oQud","pQ9J","gwtJrAHwlwPl","xg8z","TrbdB0LYAtQBtOIBygHYAcjaAmsE0xy7","qwhCvASc","xg9V","rww2","fK0LYw1tB04daBqjP0pDay/EKKwsQgaVAWCEATZCpSvJBs8ah5cCQTFMP8gLTCNUbkgiVA3QAXkITAPGDLIk0ApnCUMDqQg4JXQFcwNIEYgetR5FE0ILMQiGAawkTTxhOygJuwa5Dpo6ohBNA0oFQQJxA2gzQhVADEYHpA2zEFkOaQShA84hQgQuA0cBniqGBjYMSQJ2BkUBqwwzG96pAU4","6Qy/AcF3vgGw","4A27jQOs","AZjHC6zqAajqAaI","hQuzoQWh","phAq","E68CzDxZnQGCCYMBggWDB4MqhFF2mQGwAbGtAobYApfgAohDkMQCVg","FZk","Fbc","0xCoAaA","0xCoAaA","uQLBAdY","uQI2ASs","0xDyAaA","O4IkljqmM6QOoosBpCitG3EybBDEbWQEyJcBQ3bJDzU7j6kBgwaiPnZ9azmsO587o01+DS8eowIvAaYcaRyhQa0NRDEZGKEqc0GdOsl3NguaF4sCjTRH","0xBd","AG4BoQGzAX8CQQezAUcCfgUoC1wDTAW+DKYCrAqVEXIBWQKMBLwCcQ8rAlgFmAxMAqgEmQGUAWwCRwJwBs0PaAG4BKgBUQI0BW4BSwK7Bp0BkgIpA5sDcwagA10FrAKiA2gGnwOSAnEGxwebAcwCdwSHB1YCLASWAYIBtQOyAbkFhANyAV8JzhDJBGgEcQGNAp4DpgVzDX8HrwigBmkDnwOtBUMJmgO6AV0BhgFqBZ4GpAJ8CaIETgKtAo4CpgGxAWUFNAGnBr4EnATLB8wLdQKMAzwWXgV0AVUEggqLA2AEzASACdQEnQO5CVsHPQFQAZcGbQFhAqAFLQWSBE4CjANzBKsGoAGkBZ0DqwiRA58QKwFkBX4HpwahCsMFagRkBMMBswSTAcoB0AFtArgGywY4AS8EPQdgAbQCXQbcAZ0HogUwAmcBlwXZAU8EtgtwD3IHowKWJGMEXQaYA54VzAPZApsNuQUnAWYOzQdoAn4EdAK+Bo4DmAW6AWEUmQakASoGcwJKAc4RiwGlBZ8JPwSVCWEDowGeDLUBzQKyAkINxAG9AnAHmwNhAaUDagNmAqIEowaUBGEGdQZ9BVsBWwNEAZsElgG0Al0DYxBhAVkLYwOEAVMGggKTAXABfQiRAWoBbwijD3ABhQPEAc0IawS0BaMD0wW7AsYCvwRtApUBpwGgBUsBogZPAccDowE+AV0CfApRAcsJuQJICWgCzgFHArMCuwOaCL0CVgKpBMwDiwFoATYEmQScAycBXwN0BaUDVgK+B6ECtgVWAlwCQANzCJMCjQEhAXcDpRFjAVoFggLKAlwBLwSyBNEKeQQ7A50DKAJNAoICwQRHBVoCbApDBHUBzAKfApgCiAGZBUkIfQYvBloBwwFIB4kBnwepBEwBdAGjAa8BsAJnA6sDlwieBFcBSQd2AqAQogShAVoBvQFUAWAByAF7Ao8DPgGbAXUBnQRfA7ABJQWuBFQEpASfCmoBJgIsAmYBqwiTCXUCdQqjA2IFohSxAWgBrAGcCCwFJgKaBMQHYAGfEX4DcAKDAowCNAo/A8kBlAKrBG0DcwaOBNEIsgRdCSgHQgGKB3kPJQJgAngCywIZCr0CjAKTAosH4QOcBEIBwg88CJgBIAHWA8QJcQRSBJ8BpBEzAoQGHgZMAqICqAGsAoUBYwOnAaEKKAKmAYABqQdzB34BpgLIB3IBqAGeC5gDrAGeAmYCsAK1CDAFqALXARwBIgFrA6ABYgZHBr4DugWEBqwHyQyrA4kGbwFaAiQKlAFxBm4CmAIpBogEUgOCAZ8CKgMiAZUPKwOaAicBdgpmAnEC1gKVAm0CfAKpAb4YpCHMBKwBUAM6Az0IuAK9BpsENwVGDE4CRA6gEUkHqQejB7EMRwFJGckDRg","0xDH","0wfHnwWD","0wds","lQ7J","uwLfqwa73wXYK9iHAXU","xQ7EKy4","uwJE","uwJE","8A6F","uwJs","uwIn","uwJb","9w+W","9w+W","vAL5","vAJs","ggmUAY0","2Qo1","1w52","1w52","3wku","rxBE","rxBE","ihJI","4giy","xwkz","gAEylgaqlQK0","1gfi","5gjYxwd7","qxDB","zAFw","wgSqfaO8A3oBl2ZNEXSdAT5jQHlFnAJ7N18wnQ","lQHh","gAGX","xgiO","qA3W","CNMBPidAXykThDJ/3AKIfuXtDKw","twrW","1AHE","1AG5","yAOr","yAOr","dXoLpmh7WWTAAnMfwa4BuSGlX0OQAZFxdSfkkAGPE4N2wH95zwHoDoQWoBTBAqcsWVLK","6w7m","4wsn","rQ2t","mhHi","lQO1","8BDk","6BDG","vQWG","1wdJywe9HSRyQQhF","A391dg6aD0A+nN8CzTZXLtJYLNMBKhYoCh4LhVQvCkYULA8qBFIWMgxLGCQlMhUiOYEKPAExPqwpKgplASYdTx4mCUk+MiMvOSZeKB4lAzVEOw4+N1sSPQgwB/AjHHQrDDMNLAFdKEJ12w9JBkQOSQqj","8BHZ","6Q7l","B7MYUhd/EpRVSgqiB4gL5gJIFqAC6wFlZD4BPwI/Bj4YryOACKIUcA2qAcg3XEtuBE4VnSZFBKxT6BVjBswPcnimDnUSnhVpHGsOwQUpA08IvhbSBb0QrTpoFnUXojvqFHwnqQHzAUgHngHRFCoKowyjLXUdfQRJCrUIfQJLAXUjxDOQArkRaxaXL0QEuxlrJkoDrALrB0oDZAZCA3sd6gOkCSgNXAPbAm057iObBIwOqQXcGqMLiArBD6QDThRxBG4BnQGdAmsB1Q2dF6kRcAY7IGsMcRZHVHY1Rw","Y2IknzigB1VBpecCkDRIBLATevsBmJ0Bw3tNQnEFmVqqLaUkRowCsl12A6QOQi23GnQGlh+pArISohg8hgGoxAGb","GKhdTR+TJplVjwG4LUtQrQ+OXYUDRUNJIEkiRyWaA4M/hT6iH4OPAcswrjOGBmUhSylwKS0cmw1IBUYfmQZHB5EqKCmELslifgiKFc0fSBqMS06YAUNDqBF1DnwURnVNDtInRkd1","kAK4","M4sDtQpCRrYbiialGIa8AYY8gwaTV7I5KFRJhgJ1CZnWAYgij4oBnE+RBJNNo3BMEIcLd25vArEhhwKbEYWjAUcEoQg/bcgkrQ","AlQCVAGpBVACWQM2BG8VaAKaCUkIggV1DncCUi9IAUkHPglBBDMCXwWfCYgSagVIAWcEiwM8FDkBfwNAEVABTBKbCl8ZcRJ0A38KmRJPBj83kwpMB3cLig5tML4EOgWjCUU4UQikEZ8CRRGeDa0GQyCLDzcQTQEyDC8BUDg2BjwkQgg8DGElmAtaCHUJRgJ2HGkCSAJ8AaIDSwtFAVoIMgE/CokIdhdGCEgBZQF4CkgMuwmiCp8ZcgShA54TYQWbASYPeQSGEUgCQhK4BnMnSwNFAZ4Cow6oB5sIawdCBkEJUAFLBmYGSQF0GEcIwgbPAsEILS7DCEkTPQhIBa0BRBV0AkUEcQOqDJcDRRpPBlAJtQlRCYkBTB6PBssIpQ1EFVkJdglHD5AMWgRMEkIHqgejDDUJiwF7AncIeRBGDoYFcxCJDpYIowJDDZUJKgKVCZsFXwM/BUICgQqwAysESAGnAiEGJARIAW8EfAlEAU0hNQFGFaYGRgJHCD4BRgVzBUYDRgZEF2ACIwVBCkcEeRpjHnAIrANBBzcMRAqQEM0IlAJPCpcBqAi2IzwatgxEBklCPAGsGUYOtw","7Q/EAdw","ggux","jhCt","Vo82YgdpBaEpoBNlBSpbdyp2OqQCa6UBdBBmU6EBeaABLm+BLZkPLwyhS29hvBzKFJYDdRWPC6QqLQUeBG0Nmk1yBj8CPwOfA5gYuEpxLHYOhAOtmAEyCpgSqixxIZAUm1JlImAItkYbAZw3MAOg","GJkLbS4cDVAOdRQyF34BZRBLDV4GowikA6YQoQrTVnMRpwuJC20ppAVnCJkLnhpWBZEJ0AKiGJAGowJGAkkkyyChB6smpEZsL0g2rxW2KZsvOA9WMKAGyihHYD8Evi1SB6MDegNkG5wKthw0By8URQRGBbcDniRDAcISphInAoUXPBjXF6cUtS94B60BQQqOEHgtzDslDFYTZR91A8YcNBGyCyIqqg5EBnM9Qg1uJ2sTKAhGTMwkuRieBUEKaBNBAnEMMgdGCmAFSHCRErUVbg","7Qlf","X5Y","7AhP4QLusQJg","zQvM","1AvS","1AvS","tQHDuAOj","2AZv","bUKBCEM","EIEG5hh4KVQMXQyyIochwxp/EuEXlk+RT9sg4STYKc0TPTS8ED9OZLMB3wHzNvgBywepAesZpSBZ3wGeswG1BYw+RRSePvZnlxFHFFoPaaUBxC5ODO5ETkjvAeUQLBTaLdgx9QbX","gRHF","jwe1","jwfq","VkU8RyCdpwE/Gps2mReutwOcU0bRAUsBSwjfqgFFOnFESg9XVqCUAakmRyNYKZ0NTRNPN0M/R2ZD","vwKg+gJ6oQGXGUpUdZcBrJUBQh+OQ3SYAX6nAZ8smz6aGD8iagfHC4g9n0mZPY02pA","sg5SCs0","hwKlpQLoFNr4Bb8V3W2VqQHdIPEy8owB505sqgFK","hwKlpQLoFNr4Bb8V3W2VqQHdIOUy7owB4U5sqgFK","wQ5q","wQ6e","swwopQGs","7gOz","D35HYH3abXkedgFwPXkPcDx0BswBV1ZwfHIGbY4CbwqEWYaBAawQuzF8oAFtiAF1TceIAakNZRifGr4NsS3lDGcBbgxyOosC0gOAWbkM0Q","tQ6q","wg9f","uAmstwVy","+w5nAW4","7w6m","iA82","iA82","1AdvY4a3BL4","wgTBAeShAcw","wgTBAeQ","khGw","9ATAAcIBwwHB","xgJw6QRwhwHN6wSqGJn+AZM","twGhzQOS0AJv9AFRB0TpAqXsAUA","kgGy5AGXMkWzAaT9AjsTueIFYxKyhAEeygEobkkB5Q","rwGsE/p3oYED9AFuAXEH8YABZOEC9foDn/UBzcgBiQ","2AHxlQLy0gvZ","2AHC","vw+b","7QN0","vw9f","2AHE","ugW/oQtv","3Qmn5QUy","wgHr","nA92","pAnl","wwXW","EU8HUwhRCENsQAVDCkUUQwJIM1BOPgE/Hj80RxVIBz4fPTRFF0cVbhlMLD43PQFkVEkpQkpHUEoFSxFIEUgRQxBKL0IETDRIBlI4QwVHCU0VTQ87QkcbnR1IDlBYRwRCBEwFSGFID1EWQhFKNUQGSRJKBkY7QwhEDaEPPwQ/EkkLRgRhCUYKRA9PFkMBRitBAUsYRws7BUECQDJQAiczShlFEsA","wwXh","wwXF","wgHo4gdU","/Q3j","kw46B/M","mg5N","ggpG","AEkJThpPB4IBowd7E1kEWAZpA34EMwmsBJUGpQ92BLkNRQJCAsAhUwmhATwXPQRHAkUCaQhjDaQJQgFCBKQXSiQyBlASSglGDkUGSgE/IlQMOwFLAV0GdwRSIqYHTwlCED8BVQI7A0sPbTdNHEsMSAc2H0cQjQ5LA0sCPQE+IHEMdihOJEoFnhR+JHQpORV9DUUXSghDBXILpgdGSkYHZBNjDb8GdgWFAXgB0idMBkkLPwlOAmwGagjGBUUPShN8CK8MIg5ZAYIHRBNxBVYBeBpsBF8CpClUDnkTYw1xBJYSrQSlCyoDxwhEGkwQcAhTA0IHOwxHE04GRCBICEgBTQpQDl0HSiRxJmQDnQJJDEwNjRpYBpwUUwd0Cj8KTgFeBEgKpA1FArQDRgc+BZsQdgukBloDaxGgDEEBhgRtBFINrRqpCz4IXQ9/A78CfxVzDHMKQAWXAV0CkA1IBEcFRQRBAlkKRQRJCIKUAXwuvA","swQ0wAds4QIzJjmQAcw","0wEl","tQ6d","xQ8c","whAw","6w41","6Ao7","GHGOCDk","3Qs7","UpQ","9Av4","9Ave","9AtQ","3QIj","7Q6m","8gnE","6Q7P","rwn4","rwlx","sQ7u","2ARaiwHmAu7OAd8T97UJ1QNFetw","5QXr","+xDV","1Qv2","1Qup","Wss","JsM","AtWMDum4Ac8","9QGMUPfXActx8mPplwJKlwHz+QL2nwNx","xQK++w49","tg9G","xQLM","eHaABMHBAq4MhThxHHEBcQpx","G3435wyyDB/SAsQK4OAD1nfhAeoBagLoAvigAcAt1TT8A90E7wTwRKga5lPzAuEb6wPjAfHAAdgBzwLuF/J32BjbPr8H9Rb51wHwAUho4w","pAri","wg2Z","Unc","Ut8","xQ/f","pgfufdqBAu8D3AT3BG5e7nRSwwFNF9EBucwB4wfpFvg","rw+t","pAr4","xQ/Z","mQqh","nBFu","2w3Q","xQ/R","rwp0","owit","sQft","Ass","Ajg","5ALV","5AKl","5AJp","KIJCHwxfBCVNTxiqDnZwkUtFAT60AUKSAWEJl6UBLyMjF7OXASgvKgIlA6UN6ggrKE4cjg8+PHUzKRkpLikUVB9ARXch4iV2JagJMQckCiJjWoQBQRBHXX1Pjw","xgp1","rwnq","4AR5","4w3yMDo","4w2e","lAG6lAJJrwXJCk1JSVgw0wO/5wGJwQFJ","1g1M","ogml","4BBM","0wue","owPM","2AGr","Y7Yzb/oCy4gEy+ID2Q","Y50","D1EjuRJ/Q6lziTt1P3e/AoEGjTm6ygHAC6URog24hwF6Fa4Em2CFFYtQpCFHHHYLb2C0LXUcVj90AeIzMgxaQ2QHkhE+JoguPBiHFnI2IkUlEIcxfA","hwFywAJu","lgEm","WsU","5gn2uAP7","kAEoK4E","BJmfAXsfZdoCSsIDpNYE4U2KsQRt","AZgDVAizCM0CUwJTAYIEagKHAW8NSwNPAVABwgm7AbcJgxTVEHIGPwI8CT8BjgNgDKQCOwKqBKQBRwJiAyoBQwG1AuwBrQJBA1sBRQO7AY4DSwHeAb4CxwLSAm0BvwHuASkCrATHB0sQRA6wJOUSPiN/AcQBsR6vBLYEQwHRC2EPRQjfCa0FwAfICj8bdAo9FcEJvA+vPr8oSxJ0A54Gyis7Az0fRw5IAWwzzAF6Cs0BzwLNDkYIPzhgBj0ByUajEUsQTgFFDkQHngLgBUgaQQLRB9EB4SLCAqk6qRkyEkkBQw9DB6sKzwamHMUbUwjAB5AEQwFvAjwJNQWnFEQB0Q7FKkkFSxXfDtANqwWnBEcgURdMELgEvxZJBzUh1AbSBKkKrw63HCUHqg1hDkQEoAOpHpMxUTLQAzwVTRCuDE4JTw/OBkwFtQhFB0sBkwKrF6UcRxRHN80NRUlGBKcDRw+4CmY7x0qQK+Q","tAFx","tAE/","kAsq","tAFi","pgtH","ggvZ","4w6k","kAuRpAJ9","e2M","tAHR","5gnO","5gll","ng1b","gwvjwwTo","xg/P","gwuS","Ask","gwzpqwKE","rg6E","6wzkowHtCekQjg","lw6e","jg6f","jg5q","lw7Z","lw60","lw5y","A6gBxgKLCXsJ5UFxUnYbpjKxQkI6OQreAdcs6iOkBeZ/5heqBZ02miXiMpQe5zDwMfIHyxu3R2QMO0DLBNQD66oBdSqbHrZ7mq8Bqw6nUpsV5ALUT5NbYBScFu0Cn7ABvAatJzcXZwJDAe1G5wSq","7gPx","7gPk","7gNR","7gPe","7gOc","A6g","gASz0wNyxQpC","qwP1","qwOX","qwNr","xATn","IlBHpQ2ZE6FsdRBzvAWjswRQ","kxFn","Rkp6QmN5hgij","lQ3C","lQ1N","0gTT","2wRl","2Abv","2AZF","Vew2QqsJ5aQE7wGrB9xMxA","IHC7AeqQA+81irQCyZADstAB1BGB7AHQBCxdrzeh0gFJ","tQ4s","IHA","sQ6u","sQ6T","7wO8Abw","oAWK","2wGU","VoRepwiz1gHzBParAeoB+CnKAj64AZsBpiD1CJfpAbCUAekMpGHg5ANeCLwGWmivL+MD3GK0rwHT","phB7","5AqJ","nA5e","5AqJ","tAzD","vBDm","1AeZ","qwHI","qwEl","7gGCCoIFgweDKoSPAoqJAoaQAaxcYyG6SafgBJsJlQKXAY0BjgGdSZ4IfgKFAaADlqQBrTs5","og2x","DFmaA0TnDXUeO3Cs","LUskHF2zHqSIAUoopPIBPJEFrJIBRbkCTU1KbLOXAqs","B0ssST48HfYERxk7A6kCQHmcCkoMoBo/Ujw0SwlGGp47LSJJR08bMGSboAJCO0wiTlmbD0MPQh+sG9UB6hRJYEgpRm5KgAFSIkgRRGhCB0wOTowBnylIEEY","DzY","jgGt","jgHB","jgHo","vQvR","6AEp8wUvZq5FPlEnMppkMRuIEW0MpYgBSws7+wMv","hwEmIiyXAqOoAa21BKYRwdgBoAKPUcBGoxE3FygbpAwoHH4LMgeZgwKOc24QhA","qwVgDcI","oAWkggdJ","aYApliuHBdMQo2utEGQUqmGRCz3UAcYCow9NB7RkeMIBk/gBtJcBo127sAGsJ7GUAXu0AryTAUU","wgG6","oQFD","cZQBqQinOZJHqUBoE3wPjgFIP3kHcipxAXgcn1pBKpAyrwFsEYKNAn8RRRFCDkgFWneeE1EIqiDCA5UDewyrIzsCfQNoDo8BhAxEEIERpwdFS3UcnAefF0gRpTpsImsMlAGQPqc1pwdhBaoBrDV2jwGVAaABiBOdBHQJewecAZ0LqB2iBlcOegGQNIQmdi9/","nATb6AXjObI","5Qnl","swUy2wKwgwVSB35+KP0CQHVJ","AVhQwAzQEicCPig1ASoR4gXFigErGmsJuYABwiOdKp0MtSxzC2R7T60BSugCpQJtDMKJAbIfkCrOXKkqwqEBwgHPDVc4iDBpDnvRAs8","AKUB5QH5AbgBuwFoAXYBaAG4AaEBYAFXAc4BhwLIAc8B4wK4ASgBzwGeApUCfwF+AioBxAJRArcB0AHUAYUChAGEAlAB6AFtAZYB9QL4Ao0BfwLcAWEBTAJyAXIBtwJEAXABWgNAAXwBzAHEAZcBngGgBNwBpgHUAnIBHAHCAVADhwGFAdsBywF9CFQBfgHMBN8B2AFnAsEB2wK8AtgBqQF9AiwBRgFwAqcBpwFnAaMBzQG4AYMBhgVKAt0CmgJvATsBmQL0AbwDZQHjAmYBaAHIAdgCtQKsAjwBoAFDAe0BXwKRAa8ERQFOAY0BowN1AcsC0gGcAWsByQGzAYIBLAG3AtgBmQOxAVQB+QHdAc0CqAGEA6YCLAJhA40BewFHAtUBqwJZAUoBtwGvAaABrAJ9B58CkAKsApUBVAOlAo4BRwHcAkIEwwKgAp4BswG5B1wCrgGaA50EhAmoCOgBhgHRAX0EOgpKAaMB3QHBAo0BwAGdAtQBwAKSAZMBiQF9AY4C0QFOAaEDqQKuA+IBkwG+AtgBYgJuAXACegFsAo0BZwFSAdUCMQHYAm8B2AWdCdUBVAKOAWEDswOEAosBhQRpB04BdAGMA5MBkAVgAiwB0gFLAV0CTQFNAbwCtQGWAeEB4wGkAVoBuwHBAdQCcAS/Ae8CnQGYAp8BiQG1AtsB5wPoAagBUwHeAnMF1QFNAY4ESQGxAasBxQNPBIMBmQJsAxsB2AGBAVYBYQV9Ad0BMAHLAaMCpwFGATAD5gLiCIUHRwHyCM4FfAF1Ac4EyQPoAusB9wFGCjUBvwLqAmYE8QF9At4BewK1AlEDjQWlAd8DwwOcCIIIsgR5AbMByAKFAdUBZgFZAoIERgXYAaEDRwLaAXoLggKWA94E4AKNAc0D4AXnCIIB1AOhAZ0BKwJZArEEmgLJAZABpAG0AZwBiQGRAaQBnwHMA5ICYQV5AdEBwgFNAbMB5AM4CqwBQQKaAcYGqQa0A94CuAFYAesBpgVsAYQBpgLCAawGvgMtDYoIwQQ5BXYBpAO4AlQC1AEvA9UBdAG3D5EEUwm8BKUHmARrA84DjAGuB7MGfAHPAV8BpQNuAq0E1wGkBMsDygFlAtcDxANHCbUHTAPAAVcCpwH1AWkBmgHdAbUC6gWOAsECtwSCBO0BjAHgAUEFeQJ1AcYCowG0AU0BxQFyArwC9wK5AZYBgwQ1BEgBUAHFA+EBzQHMAZUBogGkAYIBWAE8AUcBkQHcAq4BSgHVA20BpgJxAoQBjwLNAukGkwF4AzEHcQK+AXMBdgHVA9IC4gGbAe4DggLhDccDvAKnB+kJYATcAdICWgGRAU0DkAGRATIBpwGrAo8BKQFwAu8HsQKFAXoBuwrNAdQD3gLZA9IBsgHHAdkEnAGYA8wB9wLKAYoEvAFaAaUB7AHRA9sB5AFEBOoGyQF6Aa4BwAOJAZ0BVAF4AewB5QFiAccBqQOkAXwB8gHsAU0ClQGEAWgBZgO7AbEBLQP2AfIBuwLiAWoCcALaAoYCzQPmAl0C9QKyAeACVANQAZwBrAOqAsoBlwKoAW0BoQHGAVIBhgFSBGkB3QFGAYkFrAHeBbQBSQSjAnUBTgHhAkoBhAJBA6YB/AHcAeEBxgHsAdsB9wF6A3QBYgGuAVYBdgFJA34BTQGtAoEBTAKxAZsEswKIAZkBwgOTA7QB8wOTAc4DKwEoASIDlAHQAVcB1AHnAeEDXQnlAdYBxQJ9BZwEUQbVAasB1wTNAloEVgFNAokF2QHMAfsBZQHjBI8BawFIBPYB6wPIA58BxwKWAa0BoAG/ArgBQgGWAXQBNwHBAXABLwKxA3wCmQK1BHEDxwJHAb4CuQHlAXMDtwG0AWkBkQO9A8QBZwHZAUYB2AK4A5YBnAGWA0cBVAGGAdUBtQFFAccB4AHiAXcBiAFLAcoBkQFaAaMBhQJbAcUBUQZJAaMGsAJ/A3wCNAJHAbABTgJAArEBfgFTAosB2QRtBMgBbAGeAVABvAHwBNICZgHlBM0DbQHhAccBwgHPAZUCbAHIAt4BbgWoAjMD2gHYAz8BvAGHAXQCdwPNAzQDtgGKAUEBRgF0AtEBjAElAZABZwLkA/UDuAHkBngKeQHiAjYCaAGPCLIBTQHjAcsEnwOrAuEB1wGwAsMBaQfGAZ4CRAKxBLwBlgLVA8kB1gItAngBdgFDAVoCfgJaATQBTgHXAj8ISATKAZQB6AHPB4oCqgG/AZsBygGlBE8DzQNIAUQJRQHCAVABNwHOBmED4QO6AlAD0wHOCmkCkQGVAbYBzgPhAjkBQAHiAj4D1wGXB0ECqQJWAToCdQKGArYCmwXVAZcC4QFrAbcBsAGjApgCtQFNAicB2AHMAkYBUQF2ArgB6QJcAeABiAHwAu8CrwGcAsIBVwFtBIoBVARPBZ4C2AF2AaMBvAHCBDEGeQNDAdIBgQNXAWYB4AFwAbQBrASQAtQEdQGmAZ8BvwEtASgBOAKJAZQB2gG5AcYDRwGaBN0B3wPMATwDuwG1AUwBRwLHAcAC4wH5A70CkwF5AcEBbAJyAlYBSgHeArwBtgFEAuQBfgLfAdABdAHNAVECnAJUAdECrgHKAU8BpAHUAa0BKQGvAcMBqwNaAbYCfQOxA5sB0wJxBYQDvwGpAdcB2QHuA84G5QTTBJ8BsQHdAdwBvQNdAtYBJAGrCXIBRQJ8AokCfQHkASQCUgHHAqIBogKZA9ECUgKkAk8CzwOSAZoBcAFPAeADSQF9AokB7gVKAoQByAFMAboBVALxAV8EdgTMAd8BPQXiAZcBSAFFAZUC2wdHEOoB7AG2BOQD0Qo8AkYBOwSWAUcG1gS1Ar0FqwR6AtoBRxGvAkoBvgPoAssGPQemBtgD7wVMAvUC3QJQB6UBPwjDC+YE7wH2BcIByAHFAdoD6AH6Ad4DzwZtBrcCjwLTCag","0gKJ","SLs","pQnN","pQmC","pQmV","qwFtBKw","An4","7QVs","twWS","Ar7hBd4CuA","pBAj","nQNRpw1I","ogGtIPDCA8nzA9+oBm4","9wjT","gwdH","uwLBBKCdDW8","1Qan","wgHN","sATIxwTf+QG1+ANWngPi","1wR/","pQFlggM1","pQmC","jwGk","WcHICjkhltUCabcBqw","xwnQ","nATF","kgvBkgUj","4g6S","gwrf","cn4IfEBg5A9Q","/Qa9","nwyf","cn4IfOoBOboOUA","LsM","LrQ","7gQ8vwqh","0wGciwOugALNoAKlA2U3McABMBE3O2MGokUlBi1mLVttLs01IQE5La+rAW4FLg","iQEnuwsl","jgpi","nwm3","VZE","VZE","VZE","4g7c","2g6+","tg+d","tg+d","tg+d","tg+T","ApQFdQF6Fq8NQA6kGZxriAY6gAGTIl9dlhg2ywG9BMipAUUIm2rduwGYAVFBxZgBuzh3FHfYBsA","8QPBVLwBtDPEAbQBsJsF2JwCwrwErAGqAa4BrgG4AbABsw","hhHC","hhHC","nwFBswVCb0sRSMQETqUBSd4BQg","e0HvDdY","6g6m","PHwBrkFD","1Qr4","1QpF","1QrA","1QrS","1Qoo","1Qrt","1QrG","1Qoo","PL0Bu0GrjQ9rOJY","ogK9AcEBwgHEAe7PDuc","8gnEzATc7AGc","8QtO+QS3","VX6DAX8","EH8GwQrrAuwG9ALrCtoLlQfnA7kV9ApKBIcI3ge/Cr8J6wLkCO0Zuw2tBUIE7wfuCPEDKhOgUbwDhRClAdwC9C3NGXUDyA2bAnAcrh9hArsC6QP1ATAUbBHMFOcN3QvkBfYL3yS9LbcT5QHqA5II6QHuAfMFOCL3BvkvtSbXJV8F3ArqIL4H8wvzC/UN8wf4CL4OjBDcATsKrE7yH4Ar7gx9Dq4DhwK3B/MQ1gVLBHQGIQXzAuIJzQz0H/UEewL0BUdB7gdHHpUEKhTfAnMH2xb0BkgM6wLZA60J3wrhDUIDJwTxDk0YiRZYIuQQmw7RAcQF7xtWBdwItwHXD68BpQHxDPUMtlCWBSADLgTIE10EtgLqA94BOhTpAfUVTwGeG7gH3AG1AecHMwJdFIISiwVJAkEB1wPtSvgJ9wT2BfcB8QPjApc","iA/A","iA98","xwOW","RpGLAozGDc0","1gGG","vw3D","vg5L5gE+","xwHs","gAMw","3QpU","+Qy7Ot4","nQbt","wwFC","pwTL","eyylD6o","1gHU","yw22","5Aod","vg4s","zQ8i","ngee","KMY","sAny","sAlN","swz0","swxY","2Q9M","5QLdmgd9","pgN8AX4BZaoEedIHPA","ZrUWTxXcPucBuDHYAcIB4gKEQOYh6AHfYuYipVqnBMdLyALmBMAi3BPjEqI1pRfsAbAx7BXrCZ6XAewquA/JHUZkoDbhI+IK5AOHHcYPqwrPBYAMyAvsEr4SnQy7L7gYmgGmA6cIqwGVD+sKvSeahAGnEOJBaX/OFOoqz5oB0gyrQD47ug","9ge9Ab8","hgt9","hgvX","hgvX","4ApJ","lAim","gQJzAqbzDrk","mAtM","zwGy","zAH0","ADA4vgjoI0NALhTFFbwHJQqRLZopwD6cHHQDlQGmAZRYOyySO3svqgaHI4MEkgqSArIYdih/G6WxAdgKlxumXSYCNSCnKnwMJRAwAXw0RhKdGV0BUBMtF6AWiDYqRCIc0g1HCakPnQM1A8gJgw6cF0YTbQNAGCUDqROXBy8RRh7HEXoWuhZiIqseSiySB8QKzwwoJTwBiiBdHbtzggjXFKQJREqeBYlRmwGCBc4","Xl6jBHNClLABSocBpCtohwJtkwEx+ANDEc4","lgo1","e6qWCGD1Adc","Y1PnCEaYB0dIalQ/","5QIr","9gL2Ae7CAfABuza0DOndBTU","9gLGAcY","9gKkAdA","9gJC","9gKJAX0","bXEcaPoFdYEBaUNy0wFzD6N/ZUtvNoKtAnI8RiqylwFI","4AXCjAWwNa1PkqICVg","F8At8wTQAucJ6gj2G0YZfy9oE88Q7QzGU1CdAtFD7gXJGtQb9BrnK6Ya10ufiQHoNLo36ANJAaUnWGH5DjMp8Bf2F/cL8Rt0A9gphzB80wFqK74BcQ1jBuU5cwP2NvkH+A/2FkF8yED1sQHm","6QpN","uQ6z","7w7Q","0gpqF38","9g65","wQia","wQiJ","7w62","7w7U","pQVkeqbuAeQ","oAWd","oAVN","7w7P","W7s","hQ+j","2gWp","1xDk","W7s","9g60","9g7T","hArH","PLwBuEHIuwuv","FvA","Fss","Frc","FlQ","/Q3q","/Q3o","/Q1v","I+wB8VK5GPky2QIzBu0550XjC2Al8gHnB6ABuQF2JcwiQW06UOJrqKQB70XFAegI6osBthSzF4I4dRrwEfU9aW6lAfIrxxjrXeYI3zCnNnEHIw3jae4QzhflAeYKdAvNFogF9QoiDMAStwXrFElyykyT","JHbdAb0NWjihgQGbuweKJG2gASyTAkIKSw","wAGdhgus","+QHp","+QHl","jgHc","sQ60","kwct","wAHC","xgzG","jgHj","/wKj","I+E","0Qux","vBCn","4Qfe2whj","gQLE","Vec","PKcBougG+Q","swWB","Bl4NcwKaDWwEiAimArUv7gnHAsECegGUCSwIORatB58DpBTJA2AFJwYnBnoOpgtjKz4MmS3uCqoGehesCjkB5A1oCq0csR6/Ab8CuQ9HBZoplALDAdkNWQ/uBz8C5QvPD9QD0wnXAc4CnR7NEk0CqwnNAZAEnAyjK7YXuTBKA8YIeCjBD20BoALwBmcE2Qk1M9Ib0SSTBaEFKQLmKOcDsQU3BY8HLRJhDSgEmwdQO8ABnAycETkQ1ATiAbMDbASUCjIOyQ5IBLEKbwFwBBwXdQydBd0BHgW2BL0epRdnJ8AyMQ3bBJsEJCdaAX8BWgFaATsBvAFaA9AQhgRUA88DKAMpHZozNwIhD3wDywMqCPAFMglqAYwGtAKWJXsI2gLGCXMS5gG/CWAGuQXZCq0BqB9HEDhQqghMBp0GMhCrA8wHIwq6BXVGzgGtAkcBLgkmBHIGhwEnFHYDtxepCFYezRJGCvAB6QFwCzwMqAdIAj4RSh3RCeMgRgLT","asE","aleyDCs","2gZ0","W04Elh+SAoYQpRx3Bl0KmARxAzoJcAhlYptvKwSZUiBURRmUWlIEbSgsDUVMvjmeQCMTnm1NAZshLw+kFIIPVhGVDqgF0RGmE6AFuyODDo4EbwRCDj8tKEO+DpccuAxPAnkDnhh3An4FoxNCCiUJfgJZGWgGfFKcA3wXxi/LE1xAqBI+DaoEPgLAEMgelxe7HHADuQGKAjEDaAGTF5gCpAzJQpQIkgajNkcWiRA8IsoDSQNGFkgCPjVFB0sZow","yA9i","2ga3","2gbV","2gZ0","2ga8","AI4BowF+AXYEkgKuBcMBrgKRAaEEoAKTB4cBmwFgAoYBwwFyArUDgAeHAXMBiwHJA6EBeAFvAsELfgO9BYEBqAGRBdYNxgGXB7gCoAKOAVAClAJ9AZcBpQKcAYIBrAVqCbMEuwN6AXkEVwW6AXsImgm4AV8CxAN1Aa0DpwGlAcoCVwHKAqQDsAJxAoUKcAKUA7sDfgGIAZEHzAl0BrsOfwWuCHoPkQ2vBrkBpQ+xAcABiASgAocCewqMB4UCqAOrAaECoQGRBp4EywShAsYHkwi3BHYJowJ5Ap8LngKaB3cEkgS6CqwMoQN5BoEGhQmDAaUCewNnC7ICuhKTB6QQmgGUEqwCeASiB5AB5AJgCq8CrwKJDrEJgwa8DLUVtQJ2AocF0wywBKoFSwHZA54PnwGiBbwIhwJwG7gHnwKKAZwGow2aDLMCshmVA28BpgPbCdEmmwGeFX8JcAmfELgGgweJAq0CvgWwAYYCpwKzBnsExwSXBqUImAPDAYoDrAGXDZ8CwwFeAU4DiAemBI8GqAOxA24SpwGZAYgWpQKHAqYIsALqApMDhgGlAq8GnQFuBpEDxgzNCrERyQPGDL4RdQOLA4IDogN9AnUEgwOIA4ACkgN9AZwIdRqVA50EnAF4AswBcQFjA5oEiQGXDa0BnQpzB4oFfQGRAZUCdAWOB4QBegFpCYkEpwG5D98BgQGsBqsNqAOIBJMBxgKsAa0VnAGuCnkBYgGhDWEBjwa0ApQBggGQAXUBiAWDAZICrgFoBMwCkAO5AoUCqRWqA3kFkwNrAX8GLgJ9A4wHvAaBBYADuQKoBHcGjwx8AagCfwF+BJ0BiwJ/AtMGkQaMBEAOVwGlC28BzgFxAWUCjQVkBHkBpRYqA6UBogJ4C7MMpgGkBpcErgd5AcUHfQKPBq4CeAGdAZEJwwaFAaUNngetAaQBqAHIAZQKrQJ1AXYWhwh4A5oFgQGBAZwGlQHSCJ8EaAK8AcwGnwStA6UDbAKDBMsHkgSmBZwFegFqBIIBuA6/AnYBdgG0AUICfgO3AbECqgdWAb4ClgGgAYoDhQHRAe0C1APZAdgBvQF1BI4DrQGbAa8MnAOvAccJeAOpBrIGcQGdAbwBrQHSAbkDVAF+ApMBkAF7BIICWQFjBXsBqAGuAnYBrgtxBXECfwd6BHYCXgNqAq4BviHfBagDvAi3ArcPjgLSC5oCsAKdA3sCdgGlAZkIrwGiAVUBoAGPAYIBgAShBNALgAnHArED0QPjFaYHxgTiBFAJawbDAtkQzwHFC8QBvwzUAb0B0gXQBWUYXRTS","Ds4juUewE5oLQqABOAQ+UZENcIQEn0SnV0wh1yx5Uc0FRRXTHqWOAUSrAbE3vfQBzgbFccAwLAEnA7kD0hPUEnQLwwdLrwGk","pQfj","jwHgbaCpAeCRAvoa8hP1Au2aAcQ33yuO1gImeSplsxfxB57EA9xs1pUB9w","sAsq","tgWzGqw","Hi2HA/LPBva4Auw","jwHX","jwF5","GYIY7g+2KE0SdkPaFFJDf8YBVcgBSyRtGM8hec8BTlktH0UbeQVHBWpkwQFmBkUMrhkjfacKjQdqAY4SUShKEYECZAFTC0wRUD9oQCEEuChUAUMSYYUBJB9yA0IcUCZBAUYYc3VJ","MbA","zwyi","qwjsogKeQjXYAW6oA7E","qwi9","jxCS","zQqe","iwEzOR5/MbAEOF9rKDBQKTyUES6MAiYWMnhZaC9bjJIBMA","uAjs","lgvO","lgt0","AG4BuAHrA0IB9AGqAXoBcwFSA6cCSwGPAYgBSwOAA04Dugf3AX0BZQSeA+QDnwLzBHsBdgHlAfQGYwSLAW0DnwLtAe8BrgTxBXsDywG9At0GvwPDASkGhwGsAVgIeQMsAYAE6QFcAj0BswKdBX4B3QO4A3QCrAHeBW0C6AWWBKQE7AHSATsELAROAVMDUAH6AkEF+AGPA6gDywH1ArIB5ALjCHoDnwHrAfgBTwEqBEgB5gGrBEoHaQFiCOcL6QS/CfsK6wX2AfEB6gLkBOoMxAGwBGMD4QNzAakKeRO8A7wD1AG0A58BaQG8AkoCTwGKAcQFgAmRA8QBpwVFBI0LTg/SAdUCnwK+AZcBdwFoBCYBZgGeAYkXgwKWAtgDtwZ+Aa4GXgN6AZwB5QHuA/gB4wk/BqgK7QJ8CZMBtRqRA/QB+wH1AfoB+gH4AcgCfwP1A9UB6QbfATsK+AGCDksFqQP5BnMCWQKtB2cJNA50BNwBnBuUAXcFdQTWCVcPeQVlB98GZAPlDOwFxgGOAcwG8Am8Ac8B2gF1EtMCtgvHAzACmQJrBGYBUQXWAdEC8wjqAuYLywLQA+EB1QVDBPUIOwHoBeENjAHvB+wClhRmAfgB6wnyB7QBwQfsAqQB8wm1A4UI6wR1AZUB9ALpBKIGxgSfAYABsgOHBL0DWAH5A4UD8ATnAaQKmg/3AYECjgF9HqIC7gxeAtMR4gPPDTsMkgWmBn0DowKrA/IBpQhpAfMBwwdgAeMDugLbAeADfgHcAqkD1waBApsGVwPtAW4BuAEkA08BZANUB/cB4ALaA74B7QHOBHADfwFBAZcCowT4BOsCIQEnAfsCrwHWAygGTQbtAekONgLcAfkD2gOFB6gE0QFXBdIB8wL3AcAC6wGLAvABuAXjAYYFnAFMAr4C8ALFCEIBjQroBTYDVAP5A+UCyQTNB08BSQm5AuoC0g3pAesBMAiPA4MBbwHXAZAB8AHrBGoBpQHHArYBigFiAtkDkwT0CFUBXgFNAWwRhAIrApIBrALCAlQC3QHnAXkD8gG/AbAC0wF0AXEDYwNhASYBlQH0AXcGrwpsBuQBmQKYAbABlQFZD9kBwwGcA+0B4wWfBmMBSwaVAb4ChAHFASkEjQKVBD8D6wPnAq8FpQShAWYCLwFnA5EC0QKSBcECmgHwBqwHywHkBYMCjgHUArEGjgGXAY4CngLxAt4C7ALAAZkBYQPPCvEBvQJnBM8FQQFnAYwCvgOcAcoB0gGsBZMJbwGLBF8C1QGLB8YClwFaATcG6wf3A/EC8QHvA/EB9wP1AeAF1gYzATwB2QT3AfMB1whWAUAH0AEvAvIBWQJ2CPgB+ASTAfgChQMoBIEBeAV+Ae0E+AVkBKEBmAGkASEB3QGoAVoCJgH3AcYBvQHIAsACdQL1AfgB7gOPAZcCvQE7BF0BTwHTBMgDKgGSDIYDzAG4BWYBNwKkAd4FUgSHAi8BmwGaAUgETwGPBXsBsgXWAeYBlgGtBcwBkATOAV4B7AHkBrgHaQGYBKEB8AWjA+IF+wHVA/EBfwHQBOsBjgF3AvgB7QF6AogB8QSqA/MCugOrHEYI9QndASoFegGIAUAB+QO+AXwNfwKcAWwCmAFaAUMBggHFA9sOygXDAm0UtAiBNOAm4gH5AbUB9AH1AfkB8gH7AccB9wH8AvwCsgH3Ae8B+wH7AbQRuAFJCu0BQg","1wRl","1wRl","sgGY","oQ6RFps","uQGx","uQEs","lgrPBiluQD+bgwLBVakWb4cB1Q7SAT09GwlA","jAfT","Iuk0HhMwLV8chCGTQ5HEAVkDZ7kDnYECzn+ndECnASBGyFWNRbwUyBKyCqAvLk7fBIsKzgEiRqysAbkI7w","5QfJ","sgHB","Ikw","wQEv","qAer","owFm","oAyc/gLP","oAye","0wGT0gLOMsS/BeIGe7wBJOYDhA56ASILoTskugHI","0gai","0gai","2gFilAUwcdb5AZI","wQGC","0wFAhQokqAI5vgFZ","igt6","wQGC","0wHq","5Qwl","kwo9","SGC/AXr0B0Qbm6gFlA","lgpvoQRIlQE5","tw5v","tw5v","ogTSog3iBsQ","oQTkBJ+6A77fCbgH6QfvAec","wRHJCp4","pQSf","ng1q","uxFIAbEH0Aie","uxFIAbEH0Aie","nQ9k","nQuZ","2gPH4g2JBs0","wAlC","3QMb","lgIs","9gJCAU6IB8KKA725AlU","lgLm","/wmo","lgLE","3we5","jwF5","+AowAWJ2Ug","kQ5p","oATa","zA2ia2+VAb5H0A","tw5v","sgHY","hwIv","lgpvtgVQ","gAkh","oQTkA8nmBiXCAo3HApCpAd4GzQLBAfAC7QbJ","pQ6v","iw7q","iw7Y","iw67Aeg","iw6B","0wFn6w1Z","9Qad","jAfTAdU","hwLHigzC","kQ6+","wQEv","jAfT","SJRxgQ","zw3g","xxHG","9ghh","Its","/AlL","hwJ6","hwJ6","/Al6","/AlG","/Al6","/Amo","/Al6","hwKluQLEjQa89APH","hwJ6","kQ6J","2gJ/","0AmK","9QjM","InI","wA56","+Aqk","+Aqk","jQl2","gRCE","kQJy","wQEv","2QKvyQHQzgSjBaNbiizVyAfc","0Ale","ApQ","VV4","0gG6","0gG6","wA6j","0AmK","oQTdAt4B4pgNuQLnAuEC6QPfB9QBSA","vBGJBMUCzQq/","cvo","ctA","ctw","ApRRXBLzB7QBzAzhQEgjcQorGoA2tpgB9jLuE0dVzRySIWQOyAF+DL+jAaNPyQ5NCqAg+Vv1biEjISzIX20M8zjrFPYN2gHzDSQZ9gNGpgJYELcS+ApHB7QB0Rz2H5YC+gH5LJecAj0","iA82","2AF/yAuo","ggqi","pQtV","lQek4AIq","KIfFBGRv3wK0DKX6BoI4K+8CKkcs","iA82","iA82","iA82","ADACOAeoCKwCQgSRAU4GLQyPAUkKdghjAn4DvQK1CrYaegWvBSUE1AknFCkWfQRnBzchyAUoEzUJLBs0HqUGywRmB2oDagq7BicCoAGnCTkULg2fHXYFgARjAUICySW6AsUIZitvPKMieAZXHZIbfQS6BjYWwgGrBs0zTiyBIk4wgghIMjIDzAh7DEcCMwSoBi4QWgovGS0FhAHWAXMDQlptEagJVQFuBMQPnAmiA3IEQwGhAjYDvgliD3ADKgUzCLgDKAEvFy0XRgQfCDAFRjCZE80GKgqPBOMIrQG+FL0BVwOJArcJSwWLE0YEpQo4CKMUmgytBjYCbxRRD6IHegSCAWIFMwK/Ar4CLANsFmECnRo2AoINuQgmAboBaw0qAswEiwaeBS8DYQIfD1wGiQbeBpIMUyKvFkoHPAQoFS4BhwsvAWsCLwFoCM4crCPdAi4GawG1AXoFbQ+uAjMZSRBaHK43dwomBzYCIge8Ft8FpYQBoA","xgxh","pQaB","7QOyqAyOrAFE","A7kESwK4AlcCRwE5A0UCTQK5A5MEzwFNAaoFowhxA84CSwLfAZwEgAJUAaQBtgG8A2EDYgXlAakBsgTKCGUCwQROArkCuAPBAYMFrQJBA6UCqwIqA3wCpgRGAasCQgG8AUgBsQZDAakCpQO+A8kBZwOYAWYBywJLAUMDdQG0A0ECQwLjAUcCawFAAmkFpwKgAU8BeAGgAccBigOmAUgBcAFIAUAEQgM8ATwCVQGdBUYCnwNHAkcDzgE5A80BQATZB8IBnQGsBNQBTAVzAagBmwGxAUIE5BfhAdkTsARKDHkIdAOqA6cDQgqgAVQCugFKAp4G1QNIBHoBogahA5sCtQWoAmUC1AeZDcQBRwynAlACTQSpAnIBSQFWAscBRQGlFVcCbQemB5MJPgNrBEABSwWhAzwBpgXBAZYNQAVYA6sVzQO3AkoKqg8+B34CcgJMCsAErhC5AqMEhgGXCLcDdAKZDEsCOANDBugUqwFNBj4EegGcCK0BSwvUAUcDpAGvDc0CxQHKFLoHUAHDA6YHSQzKFU8DSgQ+BXcBtw9sDbcEhgeXA9AQtwbREEYJPxMtCYUJRRexBaMBqwK3BEYBxAc7A7MEbwRGA0QDQgRgAcgCvAVUAUEMSAxBCOABgwGCAdAQtwWdAa4KpgJpBEwKmwhMCNYB4AUeAvoJSwXQB0MRQgKdBLUBqgGJCqgCSwTAC+MBSgGnAkAESgGGA0cGcQOwAYIPRwJEAW4FRAq1Aq8CRwJSAUIERgJLBj0NTgHIA18FtghDA+sB4wPIAasBPQRHApwDsgelAbELRAPLB48BrwrNBHICdgteAaoDSQS0Aa8FegiqDWABRAJgB6wDqgJsAboBQwGoBaQEuwJCBUkLUAJFAUgFsQOXBcYEegFHAUcFTwJBAkoBRwNcAU8BrQGuBl4BnwJLAUwBRgGyAb8BUQZJCa0DtwZGAYACSAJ+BNoI2AHNA04GxQNFBkUBpAZEA0MBQAVJAqsBQgFIAkMEnwKtB5MFbQFBBkgBTQK/CL8QSgRPAXIBrghHBkkBnwN7B0MJzAGpAkcKRAFsA5YCUAJDAkEBRgFFAcwBwgM/CKIETgFuAcgBqQdJAlgCkgLEAckDTwVNAXEHuwNtAboCRgdSB1gBnhZuAT0BOQJwBbwIrAM/AUQDPw5CAUACQwFJBDwDpgZjBlEC0wJNArgBRwK+A0EGrQo6AU8BTwGsCpQEmwGeAagGtQG8BqoFcQVLAUwBSAFIAcQCzwE5AkcBtwRDAdkBSAE+AiIDSwRBAbQChAJuDHQCYQasAXICmwNOBTsEhQVvAkcBSQLSAa0BtQ6+A5oNiQ1CB0cBzARyBbIBgAdGBEsCTQFMAp8FSAJLArYFuQGuA6oDSQFBCtsBrQKwAVUEyAFICNoLngvQAUYKsQhQBrgNbgdsBVAeuAa/A3APPwfOCHwW5wbGDUkFTQ","Brswsw/SBU4EUwe6AthQoxSaAkIFSwqkD5QE0A27CYEd7SacAWYgpiLDB3MFYiy7K5sJsTDLArkBcAKPAuQB8DBFBFoVYwadAbwRRhB5FD2AAbdXxCFENJ4GyQiEAVoCQhmhOakLJxW4Ab5KcwhABEomp01tC84BjQlMMkgX1xNCFaYFSALzGOoTrA1HIj4CTgXIJ0gGURPTT587RSmKAb4TuR2mCEgxjgRGGrspyA06FqABzAabAckRvBKwLqwqOwR/WUZWcgjl","+gFF","OVQJYiqs4QGqpAJ4TNT1AY9euU/xpQPolQNC","ffBF00XopQLqFNpAs+wDyzTGmAG/CuwB1gSYBuJtlSNMLp0vRx/HAa4B7QHOAcgBWgXjIPMy7yuxAnVf506mOqFwShyXGLE","BlAoeAKDCc4PsAaBEC8EiBF9CKARiwLsAcIHuR1ABdsLPAPUCDIR7BeiEMcwawnXKKgWuw/lBJUD+AHZDqARwwGlApMBowGXCeMhzhrZLaYNPgbZMd4dsQJuGT4VsAxFgQGAAsU02wO9LeIW4kzMAu4C2hP0E+cNnAngAtwE9RKaAc8rfBrgAnEHzgPgAcUE5AJpJGsbMxRiOLoD8gHWAYg8jxK8DfEH8QGQVdEQ3y4sAp0w3QZDD9UPKzxuC04cZRspCWgEgwiEDSFl5E5WHc8EwhK9ArFL0wrzdX8jbQvB","qhBx","4gOs","PMoB2UHVCdK1DzEHxA","0gZe","PKgBpw","4gOs","xBA4","nQuT","jgF6KriOB5ypCLQ","tgnO","POcB8UHjd97/BNwCu+sB7ckCsQH6AfMG7gFjYvVD6SbuCutN7+cC0A","9AZ27QG/","rAvh","lQyX","4QhWtAOv","lQxr","qwvz","qwvg","iA1x","/gxD","lQyX","ugJJ","mw73","mAldoghE","iQFJiAbXD/MBlwGmNbPXAby2A6bQApc","mw5q","xg7J","xg6s","xg6s","xg6f","0QXrjgrC","VFpAk8sBSA","A+QPxwGoCJwHrwWAAZsZjgjbDqUGxwbCCtIDfQJIA5cC0QeSAbMBiALgFKAI0w3PAl0EswarBNICmAVmAecVPgGkDXQNng+1BnICVxhaDUIDdAY+AisFPAN/GLgKhRCTAuUB5ALABc0CwAvODdkK0AJJA1IZSAgqB+kEuAdVD9gIrBZlDEcKRgt7C3ANpQRBA8MLWAU/BqMDUAKpBM8H4ga/DGICpAPDB2cTxwRIAr8BiwaWA10F1w+xAecDbSTnD7ACcAHZAXwkvgFCA1YBogO8CHIHpQHmEc0EQwOvAZoKggOWC9YEoRIrAtoabgtQAuMSkgSlAVMMYQdFAacHhgjHAUIDuR3CGeQBzQGcA5YDtwF+A9IB0BaNClwDYwKoCdABwwHHAbEHiwOdAuUHhAdiAYkU5QN2BM8DUAV9AYUDgAc6ATwCzwSiAnMRagrqCLIBnQV7Aq4CaA+3AYQNyxK+Bp4BxAPEA28EugydBugDbgpOBOQPtgl0CrMDzQyCDH8DWgnsDpgBhAPRAWcJsQFdH5YDqAfBHGEIkgGiCr0CeAKAB04D4wlHAdME0QPIBUcCTQjFB04EVQ5IBO4v6Au3BnMEvgvmAX0KeANIAbwBywJ9DCQCbQK7Al4EjAOwCpQPgxuVB9AGeAZgAr8MPwFlA1ICywjXAj8HzgInBesBzgImDL4HngimA70DUgJHBN0O0AG8AX0MdxC3BUgDPgduDX4HwAEmFtYEcg2YC0AHnRLhBS4C0A3GAtMBiQZkC1ICKA6/EmYIzAGlBMwDbQd/AcwCSxpyAUwG2gugA7gJyhZDAV8GRATkCdkBTgFjAqQDtAJxEVACiwPYC0oKTAVDAdUBPwlJDHEQbQO4","pQ9+","AG4hQ0yIDiwCqAhkJ4Q8Yk1ADGIkXTZ0P2whXjhwA3NLcyOaG0cCajhiX5pZnw5/IXsEZUVKFZIUglZodW01fBerAnkhrhuhAWUJigj0AXgVZhaMCmkMhgKnDY8VdSR1V3cGiBFoA3ExsBNrCUhBaDymBm4CMAhtDnZ8bwFrICsDmg","uQus","mw6u","kw+u","zgE9hAe0AWDnAUQuSQ","tA4g","E6gfaQmCClkCegFgCLMYpAShB3UClwGZBJcLSgesArkGxwdOCbgGngpiBLgEQAarAl0DpQc9CogBsAKQA0MISAFMASkQsQfsDV0BrwQ0EuwIyxVqA8UDlwPAESwESAGEFZ0CrQGFAtAGrAFvC5EFgQyIBkgBp0Q8FEABqQerEKYGqBmzBqkMcAeYDJ0GMANCCKMBqgieL6QCxQGjAZoCwSClG7QGRxNpAUUDPCdHKZcXdgizBkoR0BlfFJcBjwKYDIoSmQGeDDwEZBFDBaMLpBeLCkYavgGNB6EPpQOrASgEbAScCjETQgaRGLAIcgFAA68CohdWDUQHlgRFBWoDPAJyBE8FywLGBHQJXw11DkcCoQmQAZgFqASdB7sHoBOpKzsBkwFzAWAIkgWwA9IBzwi+AkcDiQ9ICTIHkQaiApsCqwZIBk8DLgG5AWoCTANMAaYDxAKNA6YITAdyBHECTArDAasDSAEtAU4BSRDJCZ4JqgRwAZACpgMxBZMKrQykFKwEOgLTBKMCZAFNDJoDJBZEB0MBmSJBDK4BSAGrE6wEXwSqBpwNqgmqEKEDkASZB0QJQwLWB5gBrAGvAp0HTQtEA2MNogqfCn0M0AK6Ab8ViAZLA2UKnwejC3kCogQ6B0ECQApwGskYSgprBJ4BVwOpDacCbQWbA3ECoxe1EaBJtzKgLkU","rwItwgoo/QE1","F7EF2hK4C7gBuAVhBLgBXgFyCLcFuwOKEz4JPA2SI0MCagg7GDoBPBaiA94dr0VGEqoFRg+vBa8NnyWxZp4BoD2xAapkqQSq/AFFF7EFS3ZMSUwkVEg9IdgB4QdYU0lrSFhDU0MKtCNJCEkiRRJQBEcCQwlAB0YaSglwAUQfo09OKUwKRQZABDkBRwXPQkEVRQ","E03oDmc","nAdv","LoU+yhCAngKRCytv6ALbAd0B5A9YiAf4B+4C+B9/oQKQ7gF8yQHZA+8HnQ","lgSSnA1G","QEK/AdEdpCx1MbMOukyuHNUIsyy1NtJUkhzLMWkzWhuwZF0d4UGsH0oVoXbRT8s/uyrMqwGUQM0PvASnJ8kUfRPDDNEJYyPZHawLRwNCQDNqXVcYMD0JrguuI78Phwi3BrcGQwHHBKsBsQJbCtEZ5QvSA6kQrA2uCasM0gqs","FOkNngTaDfMG5hVrAtgB4ASrG9QC1AdmBzoM8g/1BesGvwLnBPMe6AP3K/EZ11F9Be8B9AHZIdYYdwaeSuoN0wHkIasDTUbzAe8P8gLYLG0r7hnkHtlI5xf0BTUR5QXXD+UZxwLfAfAB8TZKCqcI8DL3B7sQvQv4Aeor2R/wC9kRsCrvDNkVWiHjIdkB9gg8C/cB+gGqBd0BuQHiBuMG7QvwIvoK7AGxH9pR2RmoSdMIxgHqKvcGvAqWCNEB5SPQFd8srBVFCHMMux6FF9wFkgypFO8Q8wPoCqAGkwarCnsB9wXxCuMD3Ar1BLUb6wTZAdgB3h/2H8EB6Bu+avAQ6xfBDtUF9w","3Alx","ywjhqwVA","mgFB","9g3d","6QTgAcY","tQ/l","9wGd","nwGYCJg","nwGYCJg","6wV9","2RDi","uRDY","9wHn","uRCn","8wq7","iwHA","5gLkAek","zAHi","zAF/","pQ/Q","6QTJ","6QSHAcM","vQ09","zAF/","hRJE","Mts","3Ap2","mgJj9Amh","qANFmQFNZTR7puMBSHxMXy6nAqQfSWZ+VKw","lgGxywNJJF3TAsU2VkRTGZ5fcyNaCWQdd50BaRglAVM8LZYCJkDwAenQAkQaSBdM","2w7qAdw","xwRE+wZB","YnBFPakBd40BlXKjHj7kAdCNAaQbvY0EpOgCQ9YByg","wgF5iwFK3AaVXJDGBE6JAnYDRA","kAEoRzkDKLsFMvYCgZwBMJcBIFk/igEfBjJTcZMBbgJHR38","0QFtbrgRoBVdxAORfJahAZtNo8ECpDKkM50KoymcB6Ynn/cCti6n","ALcgsQSQCUsHsSm1BbUBtgqZBCoCvAW2AbEEugwnBbcMrAOwA7ADRQGxAZ8EpgGsBrYGtQGhA2QEiAWpCc8Gtga4AckGdgidBNEHsQG+AsMSsAi6AVgfvQS6ArAeTwusBbAQsAhgBasDRgioAuEFtguuBdkBZQG1GboDoQKhBq8QtAe3B7UFYATVBXgBdAF1AXMBdAS3AbMEsxy1CoIBrATQBrsBxAXDB7ICtgbTCLEMSwKmBMcHsAuwDLAC1iE3Ad4Bpga3F6ACRwNtJcANsAGoAdIB0wJ9IsICpATADroKugquB6QEtQhUAkoMtwS6DrYKaQ/LBbUFsgG4Ca4CugjUA5kMsgTKAzcB0wbPApkCrAS2BDYCsgG6AbUCpAPHAaoBngnSAb0VqQO+CroJtgZVBLcPrgGkA6QIYgJ3BKYCnQ3MBFUGvwLZAagKpgKsEbIDLgRHAr4NiwWZCrsCugK6A94ETwnJEKYIoQe0BKYCuAOmBaQJOgIuBLUPsgeuBMwFMwGaAzUNpAmqCmgEpBOZFqYVsgKuCUkCaQHbCNAGugKjBNQDpgW/AaYDrgJlGaQBsAHDA8wBeQScA8MDmgWjBkkMnwi3AaoBtwGvAawEugZGFroMqALUBcwGsQKwBJ0ITwS8AbcCsQywBLQFYwucBLwFrAOkA6QGqAJzEa4EpwGvBswBowGwAqgB0AJDBJoNxxCdApIKtQ/hC3oTnwo5Ap8Bogx0BCcEqg80BiECJwKuA78BkANIDK8EdAmtBqgCrgGuBDEMsASsB6cFNQKyAa4DrgKmBKEEbQWmArABzAGsCMsCuQnHAbIBrgVKA6oIqgWdCKQIOQOXGcACughyAXICugKlAqYHvgOsC3EC5AHfA7oEsgGyAnoDtAx1BdEIsQadGJc3Sy2d","X2I","kA5Y","+Q7j","+Q69","+Q7l","+Q69","+Q7W","/wL0","pwNC3wWqHZN1iG+cM6ahAzMBa9ACRA","wg1N7wJB","qAvI","vg7afEZapQ","lgHcyALVqgGtjAuoFd4","AG4PNgeDCnYKmgjIAr0NiwN/DFIGbCVMDmgHXRSjAYoMahFfCM0EZg1gYrgJ2A0nLZYLOg6nA44B7g7CAb4bfyB0ATACZASTFGwBrzGzC+0QZjDwBeAbZxiwCUABKgWBYHdCxgOfAeE9nyjyKKNpeCRuES4UpA1HXVYUTEScHWYzdgJSAk8x21ZhHDgHgCvwAS0LThzvATckThUeCVwNpwnFA6QGqge6G2gnrAJYCGAN5hdXHXMPWgEjA14CRQR1Aq4cTwq8H3oFxxFx","jg7R","jg7R","pQFl9AGQA44PtFiXMVH1AlqPAkeJAk/AAlwNpwm6ELo","3gO8ywzO","3gOvywxR","qRB+","qRDL","qRAi","qRB+","nQM9","7gM6","7gM6","2wmn","qhBx","tQFg","sQzR","/gxp","PLwBuEGWjQ9rOI8","DK7pCMs","DLQm9QpXC+oqwxStJsYF0wP5CrsJ9ZUB+AiJAvEP2TiKFC8/0AGdQsEB5Gyc9gGNLvsMhFJ52AKDQHUGHqADKUrYCTI12E7kAfDSAeE","lgz3","lgxL","lgxL","2Qb1","2Qb0","2QY4","DK4cwnzHH6/hAaEc7/IFSCvLP5Ft3wHtBTW2AfIm4YQCdpIBuQ","iQtC","uQ+b","xgz1","hQFN","9w+H","6Q93","xwTk","xwRO","hQwt","lgrk","lgrC","lQ3r","3A/k","xwTy","xwSr","Ffk","Fck","xwd1","xwd1","tgRguAEs4QGXsQF+VJ1fzA","gAl+","3QHFAcSZD6sBtAGj","GnIGUQxtC/RRdFdjUt9o7vcB5QH0KKJWthJewQLOBMV9yjJYDkV3sD+hIOQQ34gB5gHxAcFinQysFNsOQr0CtwHzPEht4g","8wuV","kg2h","4RDQ","N+Q","oAHR","CKAgQ2NNBJMMTie1DD0IsRaxNr8kQke2FmUkagxPBD4sR5oBaRttaWMmTSnRQUUS1BFHKdEM3hLnCYRHSCPFBUsXcgpOAckSRxYzHcgBIxpWNUwMSwa7Yk1awCPSRMsRmRq6J94zkgHMPJwCRCWOHEcbbgnEeYr5Ae0BrA","mhLf","9ASo","9ASo","Kn0o8zcnC9kSKR6ajQE9iAKlAfEUsCnHL7EE9+AB9A53fDEDpklMH0YocAz3GuQVMAXFEygY2DPeVSEkzgSJBMYBoUW0CN8BwgHaAdohXUhsPcWoATsfPP0B7DN1Cek","5gu8","tAyf","tAys","5QrL","5Qq7","tgy3AbQ","0wnB","AG4BcAFJAnwBvQFQAcwBoAKqArMCswFRBaYCUwcqAlwBuAHNAa8C1AWRAZQDaQGFBIYEOAJ4AboEgAKbAZMBiwXAA9oBvgGZBZ4DuAJ+Ab0DsgW8AUYEfgLAA3cEdQKLAZgCPAGHAacHaALOCawEJwKaAuADQQI3ApMBswGRAUcCpgFKAZ8EQQHBAWoJ4QGTBJ8GRgGJAcUFmAEtAt0BxwEvAjwBwwJVBKYCmgV6A0AEqwGtAkAEowidAWMEyAGdBjwScwJGIsIGTQRKAbQEcgGhBIIBkwGgAZoE1gGPAacHwgGeAngC0gFSBj8BzwF5AccBzgGnAcIFRQSRCpgBmwlFBEQBtAPFAa0CxQSsAq0GYQeiAbACbQNrAXoBxAFlAaYGixjGBW4GpQZPAsUCgwa8AksBgAfBAUYTTQFFAU0GvSTlBakDywR9AVECkQKpB64IpQTABEUMpAKcAsQCyAGyBpQFcgKeAoMCpgxLAZYBRx7MA6EBUwJaAVEC0gGtCcQBqQGxBZ8BdQNjAqMBUAHBAmclUwdFA6YGlwNFBtYVKwR9Bz4BngOoAUUDOw2cBGMDyAXUAsADTQerBIkBmgG8BKATnwGYAbMBTgSOAckLjgWkDo4EsALFBZ8BqwGyBsQBlgJxB6MCiwSYDE0BowPIA7EBRgKeAYgDQwHHA0gBcgGZA50BOwS9AqQBkwSsAUIBZgQpAUkCpwG1AUEBrgqsAaEKuwKYAUoFshRVAVsELwFTAyYKnQSxB0QCPwGuApADpwOfAUQHzgFTAmACeQF2Ak0CxQOsA6IBeASdBW0BTwdrAo8BiQXHA6UBoQFMAa4ERwLDBngEWQK6AeEDcARCAsUCRgOkAZMCwwGnAmgCoQSbAZoBTQJOAk4U3AF1AZgGnAGdA6UCwwGiAawDYAGgAr4CvQG7ATwCmgi3AngF1gIqB0oBQgKjA6YBuAFEBacCrwMjBL4BvwKwAZ4DoQHACcYBTQWgCXAGwwJXCHILqQWcA5UJowUqAaUCwgGwArAEqgGxDKUEkAQlBKABnAGwAWoBnASWBpgBmQRAApkBqQGfBK0CmgJQCk8DawZPAqYBnwKiAp4CTwGdAcUCowHPAdQDogFsAqQBdwGXAr0BnAOyAnADkgFXAUkBowHUBM0BsAJQA7oCoAHLAsoDRgGlAcoBiQGrAaIBlQVHBUgESAV+Ap0BWgmoAU4EwAOZAtADxQWdAkgDoAGIAkkCoAIxBqkBRwKsAaABmgGrAekCoQGvAcQBpgGmAp0GuAeVB6kDjgGnA50JSAKxAmcBewO3AlIDpwHAAaIC0AGsCpwDtwOzAUQG0gLIAbcBVwepArEJqgGeAYMBZAOdDJgCegGmCsgBjQFEArQIugJGC6IEXA5ZAZ4GvAFkAT0BaQGsAYcB2ge/CKIBVgOhArwDvwFCAcEEywPLAqYBzAG0AsoClAEhAm4BpgGpA7YCtwNqAr8BnAGoA6MCRwFHAY4DvgKbAZ8CqQm5Ap0CeQFHAoMCMQFBAYAH1wIrA+IBnQJDASkFpwGtBJ4BdQJLAkgBQQGdAckBSAGpAawBlgGmAdEBegKUBKgCnQK5BKcCpgG5AZsBqAGiA0YGoQHIAVEFngGhAqUBcQOsBKEBogK4AqUCnAGoAZIDqgFHAd0CrAU5AaIBJwF6AcAGbwNTAr8BbwLNAa4JwAG8DOMCsQKhBMYDRwGeCagDuwO8AawBmgGpAscDrgGuAt0BuQKhArYGkgOZAaECJwGfAocCtgitA6QBnQGkAdsDhwJIAcoBnwd6BaIBxAGsAZcBSwVHBaADRgZLCEEGTAHWAUQCuBeHAUACQwdGBEsBRwo7AzcTowSREUkGSQFMAqkCQQVJCTwBPARCAUgC1QFICEYESwVGAkcBRwPSBW0DSAObBuQ","3gmh","VVgKRogBcyudgQGvD0g0qRt+FjYJyw9/CKILoAZ0GHxxMAeBW74I4B5IRbYEvwNIVUkejBByB54CwyGmJ4sJ5wNqGHYFnA6fDaIxKASMQJEHowh1InsBnBFuHqIpW0ajCUcSrDKrAVADRwm2EIMMZC+zI8MeVwyBA2oVYgZrBF0F0wGuKUYYowiIKp1BdAVAF74NayhSCisNshenDKACuiI8A3UIRBFIDDoDPQnVCDsHRg1ODEUWQQtG","yxB5","AMABqAfcAe8C0gTDAtgCpASLA38CfgTqAy0EoAHmArABygF2A+cBzA/EArsBpAGbAWgB5wS2DbUEtATmBNoGnAH2AWUD5wWVAdYBbAHEAfEEaAG9AzkBoArUA64ChQHCBK4CsAbLB+QD3QGYA9QE6wTSAT4BkgGnCtgF0AKzAocEggafBIgEnQLQCysBsgGKBOYB8gmSBH4R7AFdAusDhR6+Bp8E6AHgBTwB5gPmCvME8QKWAtMB8gd1AcABvAvLCdsNwAVXFzwBnwX1BPkB8AHyAeIHnw5sBMIFSAZxAdoC4gj2BbsB2AS3CN8LwA1rAS0ayAutDpEChwfHAcQBnAY8FvkDggEtB9kLvQzWAu4D3QP3AZACxBWeAewCpQGvAvUBawPiCfIK0QO1AfQG9A2KB7YNpQHkAcoGowOMBsQBqQJuB6EPSAzjAqECWwTqHtsm7wPVC/QIywHPE/EKwwrMCHACuQPxCEcBagPwBEcDyAHxAtcCbQKNBPgBcgHUA88E3wGBAuME4QHJAWUQxwWEC78CwQH3BeIB5gHKELEVnQSmEOYC8Q/xBtYE2gRMBW0BlALgDnwCpQeRAfYEzwagAeQDpQnmAr4D6wPYATECtgHNAawErgHqAugFwwG9AZsPewHsAtMC5ATqBoEBuQPpAesEtwVGAbEB6QZ/BuwH8AGrAn8G0QfGBL8BcQN9AcsDvQIeAeAClAlNBsEOpBPZAWMGOwU+A/cE9QYqAaICpgeqDd8I3wMnAecBRgGlAiUEpQHYAcEC5AJ1BdYB6wNLBaEBmgI+AUgBvwHaEfcBOgGtAlABqwLVAicBowVQAVMBIgHrArwCHgPBB8QDcQPSCiwC8gWsAo0BVwHDDNIDkQKjAjAHkgGrA4kDcQHzB/MCLgKPAbwDgQL3AmcCJgHlAcQDlgE5B+EErga8BO4C8gakB/EF0wa/AqgC4gHJCCUBxwPTAeQEzQPLAdQB0QTpAckK5wLcAcABmAbIAoEFxQGlAsYD6gHtAbsJagHtATIFmwT0At8BWgXoDJYCYwfKBKYLTAJwAdsD8QTuCCUBsg2PB1YEtQV6A+oBJAN0AfUFqQNOAekCxgTFAekBbALhAY8B7gEhAXIBewF0AvYBRQGVAbcCwAHrAvYDgwLLAecBsgTXCbAF9gFvAXERgQPFAuUKxgLNAdgBiAXyAfYBYgZKBS4B1wGsAdAF4gHlAp4CgwxrA+oB8AUlAkcBRw/iAYIBpALVAdcB8QGYBj8P7wqLDTUDvAfQAXQHYwVuBVUExQHvDbYB1QOtAcQEbwNCAUECpQFZD2ADYgV5DKotjBjSBEsG0SnF","H3AOSwRMHFAEWASRDk03xwOgE0kQZwRqB4IJZSGUEkYiOgmKAUQIWgIvAjwU3QYtAWwXagtBD5EOkBefDGkLMCEwBjA8zSZ8ByUSyQQoC3UpKwJTTCFJmCWfE6IQKxUyIFgabg1MAx8JdhtwGWcIWyiACncZeEMqA1gJShGkDkcBaCwrAUcM7CEzI3kNOwjFHkcDhwOYBUAIOQUqFHgeaw5OE4QXmRicCVkPRCNPHcMHYiygCL0CPShjBkcKJQkvAXgBQAVlAkcLKAbKOo0GbxxDBkIDSAhWXfktLAksASdoPDpIGUwISQftEUIacQ","LYIBhQuDAV0few+HBNcPiwGNO6TjAYG9BIcTt7YB4+wCvXrq3gT0","5BHt","5BHZ","4g85","zAiA","hQ9W","4xHt","sAEq","FIMZSw47KGIKcRpjDZMJeA5tA3QmZRKxU2YGuBCVFWk/nAaZHpsGmgFPAp0MzwiQJ80Ic0pCV34FegpnXCtZmFqZBsUEtXYoHHUDKhWqEUccxSqSJaYImyKMB1IVyA2sLW4Svg2RAX19dRJZCXYCoAsoGZUoRBuoHcoVKyCdD5IOVwSQKHQUqSiXGUADSx1UBEMCqZcBznI+N50aqg","FoN2oBk7GIcccXScA04POSygAWVBKy5NPakfSN8BnD1gVXC2AU+LASsILQImSjlJXhUrD6IDKgUsEScNJj0sDDQEJiUnDSkvHxRh3QEuJHoRI05AGDcYMA","wgaF","BYgIsRa7TpQLrQGRA2wK0wNnB24GKgaWUykdoCk2LJkoVBtlJX4RQAl0RalCtK4CfwudK7Bbx3eHDioFmSBjF6QBRgODH54XnA9pBMgwuD2bHEoD1Qk4NKALoxCgAcRPKSZpBT8DywbFBKQxRkyoCFoLqh8qJS8EKAg5EDIXzgMlAjEds1YqFqsHIREpFJUOSRipDkYgQA","Y7IJRR8zLHWtAWkpNw1rNE9ftfMCcB8/tgJtbqorckB3OLFk2RRDYqoC9aMBhxooG2MNYhJxlAHjiQH3","6gzZdqoC4IsD4A","Y8FEmJ0GpSOR","4g1p","gAmW","zAlNoAPz","7AxK","vwNx6wH3yALNBrP0BN6+A/gDsQ","qgXW","qgXfyAKE","qhCc","qhBx","qhC2","7AzS","qhBx","qhBx","qhBx","pgva","pgva","mgFn","pxD2","pxDc","pxBs","1AObwAV0CWI","A38BmQNCAfcBoQJXAdQD9QKIBmsByQJyAroE9QHqAooBPAPqAfgCmgXTAccErgL5Aq4B9wHzAe4CRALyASsB8wOIAd8LUgHcAXsE9Az1BfEB+gKnAeYB9gFcBfMB+wSvA/YCxwI5AfAF9QHjAdgGqQfBAbEB8QO8A4MFagKuAuoBbQHFAvMDtAGiAZ4CxAL3AaUCpAPcAeACJwPKAqADugHzBPABlALvBLMB8AL3AW4DKgHFAdMC+QLYDEwB4wWVA8gCjgGTC68K+QLzCtMWxQXwBjsB2gsoBvADwwjXAfcKSAHxA6ADsw/5A8cB3An3Adgb+AHTBaAB5wJhAUIBeAGYAaUIngltCNQFMAGBB+cC0g0wAacHugE4BO8M6ASeA3YE7Aj1DowF9QpHAdwF8gG7CCkDowGmAvUD+gTyCbkB3AolAT0BagjnBc8C9AGqAs4GVgL5CtsBqAH2ApQDyAzoA5IBpQHIBJYJrQT3EckP2gKfBGMBiQZZAvIFtg30C9QG9gPyAfIJZw32ApcB5AWoBfAJrAXzCuMC0BHXB8QBxQVtA/kFOQnJAboBSgK0A/cI5Aj3A78BzBr5CvkBZgncAaUCxgPTAe8F7gHUAvICSQVPAe4EbQLrA9YD1g6YAfgB6hevA7UB3QGoBPgQ6RHnDroBMRDvAsgB6gnhDvQBUwLuAbsElwfoAYQNzQPrA7cCagLwAqIFjQWdBs4C9Qn2AU4BoQH5A84B9gE5AksD1AdsAfkBPgidCMQEuQjmAugB6gP2A8IB9wHzAdMBKQK9AfkBIgdmBtsBjgLnBLABXALzAaoCMwL3AbcCsAX7CPgBogNYAvsBtgTOAW0L9AHdDiYD8wdqC7YBRQGYA1wBZwStA90B7QNzBM4FUgNDAswCaguGAeYB9wNxAYACsQagAeIBsAHkAdsE9QLuAikC8wWwBo8D8wT0AoUH9AGXCPACXgGTAukB0APwAVQCQgG+A8EBZwHYAr8C9QT1AdcB5QJCAesB0Qf0BsED9QfXAfMD9gH2BpwF8ATPAagB8gJ1C8UB0gLFB0QBogH1AaMC0QHRA9cE8QTzAcACtQG+A58IoAFCAdEBmAHaAkcBMAGAAbEDOwX2AdMSTQLnBL0B2gG+AfAC6gGcAb8B4QFiA9wBSQQoA0cBmgvhBN0H7AX6AfMDvgHsAbYH3gW8BIwB7AOsAsACKwTpBd4DTwXdBusK4wNGC/cE2QYnAeMB2QGqA/UD+QbsBKwCkwGiDW8D8QPkBMoBpwHBBCABxgOgAZgB1QHJAeAB6wG1AfMB8gLmAaYB8QGpAUYBmAG6AUsB0gXHASEGLgMqAzEBmgLVAr0KdgTiAcEB8wTvA7kHNQG4AfgD4AbvA/QC+AH1AtsQNwJxASYB9wfQAc8CxQKHBskC4gHfA+4B1gHmBMIB6AOXA9oB2QRpA8MEpAHHA2IDxwJKBMMB5wRzBCAEbwvAAfMB6gHjBPcBwAd3Ac4BdQG9DLUC3gLeAUgHrAOxAccBywSGAcAB3QH4BG0CpQTPA8IB0wGPBocGzQWEAekDjgHOC/UMwgbtAbYG5gmXAa4CZgXMEM4B3AHkEOkjPhhMCEwFyATEAvQGsQfrCEUFSQflDN4JbQLk","OW8","OW8","VkUMP7oCTF+S/gOEoAGi9QG8BryDAj+UAXCMAWQyvAFlMYY","CLk","8gXUpAiC","f4w1YjR7nQeCkQS91wHH","4AnA","D8MqsgjhFd8SnAveVM0SzAJoDdJH1CSrIOPJAeWKAckhSHPaWq7RAcEgrFznCMsI43aNH25K7gTUTM1W6BqsM8wdYCSgCsLBAatQhw","pguO","hQlV","3whT","owNy8gKEkwR4AaOkAsY","zQzS","iQrq","lg6c","5wWz","lQbJ","pgtH","iQp9","zQ69","c70","3glc","vgeC","kwGB","rA56","D4Q","5wWK","1wue","IUOiAa1HdJgH8jxhM02+AR4Dn0ryEXC2ATwwYtwBti6v","J4w","zwse","lRBq","hAiA8AONeJyBArhjWw","6AF7","rwJ/","0wJ6vgfOBo0","pg+K","nRDP","NI0uP0br9AG6X5KZAaUSqWzm7gGougLrVtUESKsBjVjzigEfT5FHZDLrEHU","Vos","D+A","kwFX","hhBpAj4","iALUAs8","0wLJ","2gbp","twnR","c7TCATs","nQfa","KPDaA87FBGXkBeY","0gaJ","pwfP","8wLk","2w7HAaQ","/wvU","8wTVhQHp","+w7vAdw","zQzZ","9RHP","/wTa","pgvn","CMuJDZg","lwmC","twW70gTw6gHd","rwKpRKs","4Qi5","twW7vAbd","CM9Jjg","uAHZ","D65kyswD6TS2kgTgIL1XsA","uA3L","vQfR","GDM","lwrr","Ntm1Cn0","lwq8","INw","lg6c","7w/d","/ws7","1wms","lwrO","5wWz","f6A","ig2Y","lwp7","pgU0","iBDb","jANT0gbgdC/MAY9U9pABeyxZowGdGk8Eqy64fas","twl1","ugul","6wPY","4gyF","vxCT","0wLpvgfnBuo","0wKl1gbnaL12YR+jvAGK3QOn","mQWW","8gzR","kg+Y","tw+4","0wKGvgd9BpQ","gAN2","gAN2","twm3","8gmD","7Q7f","/wbo","uQau","pgNEswiWjQJYhwFF6gGe","yATAAcABwQG8AeExwAHDfvEBxwHvAbwB4foKqwHGAckBtgGxAbA","NJyiATwDX1ztc/RF0xXtAe4kvSDfFvAL9QvyLWUS9kn1K/EdLosBzgbuGulb0BmICfcM6gfuCfUN8AORGPkJ6RDpFcI/vTnfGPcVvQP3A/QB4wHyBfgX6Bv4L/EC5gWPMPYg7RvwA9AIeAbCF+gB+Q+aAfISiwerCeoB9DdBA/EW9gOpBvYp8gWfHnQIxASCGdQJzyMpAvEMMgf4AakFrAzaHuoI+BXSCNkI9Qns","7QrJugGJogNt","lgo1","1Adl","7Qqu","rwlx","2QFI","vQ09","wQjyLOoa0AruGPAC3iXJQawG203cJXYGNQH3NvEHlQj2CvYEjw2DBPQb5h7uC/MQ4RpDAvQN8vYB9QSDMeczeg","1QuZ","iQsm","iQsm","4gwn","kAuR","5w5+","jwxW","7Qgq","8Asm","5Ao0","kQotBkg","zw96","M0kIzy1jK1faA+BtccIBmmikjQGfHa5LlwOVF5kCzYMBqsgBpIUBnVqjR6GOAUE","aE0","nAdv","nAdv","/hDP","pAGimwGgkQWe6QOxOqHXAc9sPHmlbbA","wAVXpASaZlTMAaRkxJgCpg","kgq5","rQ2D","ogO7","zQ1j","doWwAt4BywG5qgTP/gGi+wHCe9f4AbfGAjtLxQ","uQLMAcY","zQLL","/wbL","6AXf","tBBZ","vQdq","CcUGURswOD/9AfFIKyfQHO9zldoC0xfhOfPrAfkbH4IB2yrhFHBQT1WZMePvAcM10GA2","8gmD","gAy0","xw8p","6gNv","8gzb","8gnC","wwtt","8gnY","3QTT","hwjG","vg7c","7w7j","DzY","0QLr","ywvQ","9Aem","8gWM","wAfMF5UErAfC6AG09gG1","rAzG","yA/R","lQqX","tQJz","F3oJjwn4GGYd8QPnCMANRhTiGKcDsg/POKQa9iDxGsARcwV+HUQYZxeVBEkBfgGvMO8GsH9qK7QYrxLkDS8H0hLdAqAOvBrYDuwBdlbuLOQL1g+CB+wJ3gNNCMwGoBBEHuUL0wWbAWwElw/hGuUW5AKMHdkMyAmxDPQNphTSEWwC4RdUC1Ay0QWmSWU4z0FJDKYU1UfRD80c2QWsAmMS1gLAAa4yTCHNCcwO5x9YJTQD8yzaDk0KsQGpKZ4H9RCFHOEHcA7AI8QRox64C+4G8UnmVEI","0Ah2","hwiX","hgKu","sgWC","zQLf","xwgm","ygeg/gF9vgHDE4M","yAnL","Yog","rwlxN4mwBNU","pQak","pgPuAX4BZf0Bsa0C6A","xgxp","xgxp","3QRq","2AOf","2APb","2AOM","1A2X","vgHY","zQKe","lg6C","pA50","IL8","3w/k","tg7t","tg48","tg7W","7Q3t","lA2f","gg/wAew","xwQ8xQjX","tg48","tAF8","Xrw","Xr8","9gzC","9AeG","wwJ7","9wbs","wgnwAuc","1QJz","mw7I","dlqsAtw","7QFM","qw7p","sQeM","+w4v","rgl9","qQWD","yQjc","jAjWAdo","6wvw","6wuL","0Amu","rQ0r","2API5wl6XLE","2AOM","xgWN","mw7o","7AGfH70DtDE8RldLzQ27qgH0GehJnpcBzF69a7kZqvsB8D3nH+6GAsPnA9E","vwUv","wAXi","rg6v","0Ale","iwLVA9Q","uQLRAZ2wAdGXAevFB9UP6EznAeA","lA2R","uQJyAWk","iwK2","rgl9","7QHl","gg+JAZQ","yAzx","tw2q","2wnq","1gLW","lgzg","2wk7","2wFw","hQvAvwPU4gGy","phCh","phCh","hQtpvwOo","lxK+","lgo1","lgqY","ngXSmAGYkQaG","iQ/4","uQXj","uQWV","zBCu","5xDi","BLUcuAFIBLcIvQOyHrgCsw2zBT8BqAW2B1AIyAWuAdgCoAGmB70FOwmzAcwCrAHhAZoKlwOjBUcBxgGpBrQTwwWkFHUHbAPOBrgEwTazAbwD2QewBNEBwAynIpELRALVJUwk0gy7DS8WsgHJEtYTyR+0BqkFzgRNBnQEzRSFAmYSmQxPFtELrQKhBW0MqQ9SEawY0AqzA9ADiQaRIdsimwqlLLYE0AJzA40XvBpeDK4OoCZaEkEG1gRjD7YJzwxOCNEEjROuG60Wowe1BkYJqAV1BNkQ4gVoGaELoAixCD0DLgErA6sC1hilAYENQgvMBn4GTBPOFEkFowq8BNMCowZwCsgQxgeZA7UBiQNRAa4KoQO2Br0OygrcA+IElxbpBncFawHKFKolvDLSB08OKB6vCKQDtgJDBUQLngKmN3AZYAPUAXsYmQqoAksItgFNAUcMnAndDrETpQPiAt8PlwGdAW4HowLAAacIqB9ID8MJQAG9AY0Btgh4GMANsBacCawEVAFQJLgXKSC6B7cCSQPBATwpuh3ACMsG4y1JGrM","AegDfAO6AbkJkQPcAnUCMwG6An4B2wF7BGAEuwWAAd4BdgGZBMUB1AGsAZYBhQKhAaMDggSbDaMCqwHlAd4B7AKfCuwGzAdYBcoC3QF+BXAB1QJ8Aq0EagezA68BsQGkAYIIxAFYA88B5wLIAasCtwKKBWsBsAKwAskDiALJA9QCjAHpA7wC0AKhAd4B1g2zDM0OdBrSFn8TuQq3BpgBrQGyBM4V0wXPAd8CdwKGA1IC1AFqC9UCwQu3AvAB7RO7B9kB1QGGApkBggVyCW4PoQFsEoUJpgbKB9IBzQOJFNgE4CqdAqYG6ASkKMAEvAfZAd0D2gHoC9YLohZ3B6UDiRXKCJECcAqYBI0PlAPWAp8bpQSGAZUQlxTiJXwD8QyoCu0HfwigAu8BmwfSA9cR0wHNAVkJrQo4ArMHggPpBL4MwAaKA4EB6AGzCpUOswLeAs4BPQqxBp4S0gyLCaUB0AzVAcICtwOuBpADnQFuBJMF6AKrCtAT2hiJCWsQogfRCOkCZgGVBJ4C2APLC0IOoAKiAbwDzAGPBqkCnQPdAXkLfxG1An0HvARDAdMIkgJRA4YNngG0AjYHwwf6AugBgReIAmoBqQGTAcMDrRDPAXID5AKQIOoD3wPrAaACrgKJAmoBrgFoBNMB9AGQHNYEbQN5AaEPjAfkENIExgSKAuEPJAqvAqIWxwa4Aa0JlAF8AcsK0AOGCqYDuw/bBqwDegSKDNkLzwWJAYMBfEmdAYAFxQSoDOwQwQGBAaAEdAHlAfQJygJvArsGRwanAa0DpQeYCX0GsgeyA4gEQQJ1ApwKhQ6SBKMCgQPHAYYFsgLcAq4FiwuAArcBpgsiDEUGfg5+BXsCrgVjA18BWQOuApgIeAPvBnEGigO7C64i2QJ9A/gBKwq3ByoBdgS0BJMBYwKyB6sEzAd7EoAC5xJhCMcCsR6HE88BagTcA0kFRh2IBXUFvQXYBbwWzCvE","CoYCyQSXCFMFahd7Bo0BggNwAmIMbQ4+BUYZZhifGksFnxCgSJoPThM6M6JFVANJBzw0vscBwEkhCtecAZA7dgzEAc0NSQKeAXQCs1FtFndOfkHHJaAb5l6SHlYEUBShCE8qow+cRq0wR1rHDm4/SgHOrwGgggGUDJc","0gWU","iA98","yQmh","Mp5qrdMBnY0BZwSrXq4QX5oKfA","vwPp","pQ9+","AaMScwGmBJMNtgShArQDbgPRAZ4G5RaBAkEDnwKRCmIErAesDuQE3BCkDdsBuwOAApgDmwNgArADfgG/Bb0DqQ/LSbYbxhOdAZUTjBTCLOsFlAeQRGcHswHLIKoGyx9tAs894QHDA5cEgw/MBHYWmB9qCnAOjQG7J38MlQTSGUIHyTG3DdwKpwnoBnMUrAKDAcRY2yDDAdAUyQ2xBesKdwyrEMQE0QGmCMsO0xzlC6ADsAjVAmYmlQTKBLoSygF/E30FigKxEoYNwwy9CYIEpgKrKOoGkBlhHJAs0ReOL5cLwQbVCXoXlKUBbxKsF7wVmCLCHt4KrhLhAcgCpwujCXgJ3A6YBaYKxwa1C0sGcQl6BqMZhBeuAbsupQPOCKcCygGCAYAC5xGAOtUC5S/SD7wW0xXQBckRnw","zAiA","GJMNcguDCHgIpyMfFcgddMgBkSCnJnIZmhKFnwFyPaZVsSpuV3MWWUSVGn5Md2yVJF5pgTScLmokQgiTDpkIlRq4G6InfAFvJSoRsw14DsF5pG2yIiKBAbUpdAfY4AHK","0Ale","+ga9","6AqhrAV9","T6gBkQ","c3XrAUjBA5iGA5UxQmSgiQa1","c2w","0hBV","0hBV","vxB+","hwts","3w3j","owmDzgLW","zAFu","zAFu","7AeFajc","mQlU","2AGI","vwUv","5wZy","Ang","6AW1/gMrggKquAJaE8NSXD0cBK4TIA","tAFi","twFL","twFL","PnA","IW4","3Ako","pANC","Yog","2Q8g","+gxk","9A5DEVw","owOFggQkG9ACIQYpF2jUBrxHOUgc","7AGk","owOF","sAmU","7QOL","owOF","wg8c","sgkq","oAwr","2Q8g","qwWO","vgN9","vgN9","wwyM","uApV","vQKlhQ0cLJY","gA+a","qglJ","swVf","QkA","vQKl","pgV3","qQmV","owOF","FCjFCjXMBCo","pgV3","Fjo","NTY","kw8i","OztSOo0MkpcDNg","mgYz","+g45","+g45","7Qs0","rww2","jg2z","+g45","7QSX","7QSX","qQMw","QkC3BKvDApqjAmqbBTlfIA","owNa","uQpA","Wmw","+gwp","uQFt","rwxH","H0s","qhBx","qQY7","/Q+O","7Qs0","Qm4","kwRzxgY1Tq0","FCjFCjU","2Qo1","0AJ4","zQTD","Ntsg4gmhA5sTwQLaA3weqwK1BKkHYxcvBsUULgW7C9kNxwK0ONExpwaiAd0RiQGXF/gD9Rg+dJsgSynuD54xuQWWAeMP4yiwAp8B5Afgbd4DqBDkRegTl1XeJOEbwinkAdQOqAPkMV0BzASmFPgBnwM8Eu4EyyKiD+cD2wHuBXAB0DLfAt0y2QKtFqgT6Q4sBdUb3wJqIe4N2QneAqsLzAW8AUEBRj+1CkQN0herB0kwPBNxCkED4wn0AesG0gO6BKYBuAs0DEYCkAJhAUgFIQXqB0xH1g/hDXEBtRCVB9wBIwNGB8ICpSSaBfYu7RjiBM4DRjByLOYKyS18EtQISAJIA+kZww","qwza","uwXg","wgGv","3Qao","gwnU","ggnJ","d0c","jgOx","ngGp","2Qit","lQwt","pgHIyws3","8Qw3","pgHI","gAOh","gAOh","kgE3JpvLArT0AlWMA26PAaUb31qdtQJGG08WRbIChQ","emg","rxAv","5A31","qQhC","dKccn0PFiwEuIlGCAcqYArgpLinkkgKsWJ2HAYQHxyGDAYtTdGowAmUplNcB8rwBxhZ8B7IC8wpxAqA","oBDO","3gIuvAOy5AKsiAKLvQEwAmUplLADsg","oBAm","hQsnpwUn","JJ3QCeQE5hq7iAWBogHl","9Als","AqkcqgXIGcYB0gVuGbsEYh/NN8gFUTncAywPhIkB0kqldLkxpkIvxALsJ8UZkFWQDZUGZi7cLZQHnAHRBPIYzj11PMIJ0xbIL6IkwAdESvMC3wejZN1J4gejXZowkgwrcOQS1wWWNkQTSwnhAjosQCdE","gwq6","gwq6","hgqU","0w3d","jgPS","jQo8AcQ","gwjl","gwim","rAvT","vwUv","lRFD","5wp1","kgq9","2AOl","wguW","Aqk","lQyX","rBDi","rBBE","qgi2vATtAts","5gxzAnk","lQyd","Qm4","2Qnc6gaW","I8g","tQHI","owvC","fpw","7wyj","qwlm","9gEs","W7s","jQqPAYs","qghP","wguw","ugFR","qghPvATW","nA7i","qgrO","PMYB0kGR","fow","gwig","lRFD","kgru","8wHO0AaQVZA","rBAn","nAxE","sA+S","ANQCuQPgCOsI4QW5ArQBvAGyArEDtQG3BrkCtwK4BrEEeAS2AbYFwALFAbUBtAK5CrQUvQixILcDvQK5CLgDvQW0Bb0EtgPXCbUCuAa9CLwGtgHOAtoDfgZ7AqADvAi9AcoFxAPFArEDoAV/Ar0J5AG8DL0HwQHYCLwBvQHBArwKvAZrELYIuQG8AmAFtAG9ELwDuQjlBLECvALBBMEBvQK9Be8B8QG9BLQCvQG9AbwBvALeAbwDvQa8BrkCugK8ArQFngPMA7wBvQGsAWYBwQG8AbkEuQLGAbkByQS9AdICvQvABeMGtQK9CsEB0we9AbkC1A+qAb0BuQG8AbwBuQG5Ab0CvQG9AcUEtwG8Ac4BwQK5AbkBuQm8Cr0BkAK8Cr0B2gHQAboDtgLZA7wBfQOzA70Buge7AcEHzgO7A7wBuQG2D70BvAK8CrYEvQG5AugBvQPOAcEJwQW9A7gHtAO8A7kBuQO4AtYE3gHOBLwBvQG9CrgBuAfBAcEBvQW9BL0BvAm9ArkCtAijAc4NvAW8Ab0HwQS2A7wCvgPXCLwD1gWiBbgBvAm8A88CvQK9BLwCuwWsAbwBvAO6Ab0BvQK9Al4BmgG9Ab0GvAG9A7wHvAO9A7wPvQK8ArwD2QW6BrgBvAS8AbYaugK8BbkCvAG8A70E1wRmBpkB5QO5CbwD3wHBB7MBugKIAb0BZgu9ArwGwQa8AbwIvAzZBbwDuQG5AbkIvAHOBrwBwQZ/BL0CvAG7BLYE2gHhAc4CwQfBAbwB1QLhBL0HvQG8BbwBvAi9A70EvAG8AbwBvAG8A7wE2QKIBr0DvQO9BNYBvQK8A8ECugHaBrkBvQS6B7wFvAe8BL0Exgm6C7QQtAe9Bi4FvQG+ArkBvQK7BsEBvQLZDLkBwQi9AcERwQO8Ab0CvAK9FdcBsQG9BbwBvQLZBZYBvAi4BCoBvQG5AdsL2QG5Bb0BygGmBLwFugKSDLwCgQS7CKkCvAS9B+4C0wa3AdMD0gW8BrADvQO6AdQDvQOuAb0BvAO5A8QBvQG5AZIE1wG5ArQFuQG9CMgEJwaLC7wCtgG6AbwFzwG2BLwCugZZBI8BvAi8BK4HvAG9FrwBuAK8HssLwQOwAbQGYQLWAbwCvAK8ApwCuAa2AcwN4AG4AbkHxga1BLkDuQK8BLgEvQG5ArQEKweNB7sD1QW5Cs8GvAm4A70CugO9BMMBvQHJBbkEvAHZBc4PvAPXAoMCvAS8ArwFpALFBssCfAe6CqIIwQG6Br0CzwK9ApIBuQK3A7kQwQW2B7oFuAG8A74BvQ0wArkBuQG9AsEBwQHBAr4Bswd8BcEEvArBA64EmgK8BbQJugq8ArkBvQG5AsEIvAHFCNYBoAXGAcsBvAXpAmgB6wO8BLYDvAGQAs8CzwbOA7wCvAK5BN8CzgTBAaYNYwTBAnADrBugAdYO7gSkCJAHrAPKEtoBvBnBDNQDPQKkAd4FygHSBUoVvAjkA6MTRwnVAUcPxwK8","gRJH","ggef","rQ98","mw8w","zwHO","mQrB","kQ0q0AOt","4xG8","kwOZ","8AXO","Hbw","ggfMwwms","tA67","1APA","tgWa","qwvu","pg+K","xw+a","whBw","jxC2","vBBj","qBDN","gQW2","hgPvAe8","pQ++","hRHF","8gKYrwNehQLOyQjc","pQW0","jAWd","3wqQ","pw19","/whx","DYE","vATA","zQ6i","+Aq+AY52yA","6xHD","6xHH","1g2d","kARc","Qko","OHg","7hGj","kgtX","kgtX","mhLH","ng3Y","4BCg","Bb0Iyw","BZ0","kwO0","7AOn","3wNL","3wOA","iAWx","+gF/nQ7G","3QRq","0QGg","tA5n","FdU","mgLY","1g11","hQSq","xwOx","vA58","3wqQ","xwasd7UazgizsQWP0APB","+A7B","0QGg","jQzP","0gZe","hQLLMWvCCHkBYg","zwiv","uAaY","wgjaAdEBkVTB","5gq/6AS0K3UOaAHr","4woq","pg+K","+QuL","3QRq","4g6S","/whCpgWD","ALM","3wOA","2QPB","xwR9","/g9vAcs","ngup","tQXK","+Q91","ww+d","ww9Z","lRHb","8wGo","HqqgENc","mg+B","kgq7","mgxx","5gHg","1gKejA27mQKm","mQF7","AM0B2QHZAbIB3gFpAYsB8wGhAWMB5wHgAfABuwHsAegBOQHtAegB0gH3AYABxgLiAc4BfwG2AdsBywLtAbgB4AHYAaUC7AJZAekBkQHdAXUBdgHyAu4BowHzAfIB5QHPAfIDngGDApID8QGuAe4BiwGCAU0BiAFyAcsDvAFOAXYB2gFQAbAB9QH2AfMBtgHaAuUB6QGwA+IDowHfAeQCwwHiAdsC7gLjAdoBcQEfAeEB7QE+Ab4BJwLdAdcBzQGgAb4ChwGaAcAB0wLJASYBzAFeAZcCggHNAeMBgwGwAdoCbgG/AZkBeQHEAdgBKQHLAuoBeAHiAdgBtwHDAegB0AHFAaAB5gHQArYBagHsAawBzgHNAkcB5AGyAd8BnAGWAWgBwAHnAZsB0QHaAdoBYAE3AacB+AGzAaAB9gEnAfsB3AGnAYgB8gHxAS8B0AHSAYkBigG9AbMBkgLAAvQCvgF8AdkB2QEmAp0BYgHpAZ8B1gHSAW0B5gK/AdIBpQKKAtgBggLAApIBogGIAVYBvwFMBdoBYgJDAdAB5widAdADdwQvAdECkwGBAnQBzwHPAfgEwwGxAfULoAGtAXkB6gHfBPYBfAFUBNMDdAHvAe8BmwHRAcoBpAHxAfMB9wG+AcsBkwH1AcoByQHIArkCcgOwAYYCggGcA+oB2QGJAcYB8ALdAXAC9AH0AbgB1QHeAdQB4ALvAu0B3gHZAcABywJ5AbMBwAHSAeUBvwGyAcIB3gLTAX0CsgGfAtUD+gTQBKICzwPYArgBswHLAboC3gGOAcwCbgHaAXACqgGyAekB7gHWA5kC4wHSAWUB9wHpAYIB4gGDAcIByAHdAeoB3AHcAeEBqgGIAtUBQwKsAWYCkAHLAccB6wHIAdMB7gHKAcQBuwR2AeEB6AGjAbwBegHpAdIB1QFnAmEEoQLxAekBbQLYAXEB7gHXAeYBkALAAYIB1QLjAdAB9QHZAdwCzgHMAeEBmAHMA6MBeAF0AXUBcwHjA6UBuQK1AcYBdAKzAfYCrwKVAXADcALTA1wB6QGNAcsB1gHeA7wBYAFwA98GuAHjAtgBfQHiAtYBvwGLAegCkAOBAe0B6AGYAWACzQRzAs4ByQHPAcgBwgFyAdgBhgLgBKEDkAHPAu8D0AKiAtMBtgJ5ApEBmgHfAWQB1gHfAcICpgLLAaYF8AHCAusBgQGgAcYBzQG0AegB6AHzA7UEzgHMAd0BxwFsAcsD8gGbAmwB4QHeApMB0gGzAZwBsgHdAaUBowKwAbICtgHPAXYB3gLKAagB8gHxAdoB3AHWAcYDzQHSAWABXQHPAbYCpwK6AdwB8AGJAcABlQL2AqUC1AHDAeIB3QHhAfAB2ALmAbkDewLSAd4E1wHuAbYBvwHwAZwBmwHHAXEBswF8BMsCzAKfAegB8AHzAuoB8QFrAW0DggHzAboByAHEAeQBuQXiAcsCrgF6AtEBpAHkAcwDegHaAdgB7gGBAeMBzwahAuEBewHcAaEBuQKiAXYB8QPNAtkC5gHgA6IB2AP3AdcC2wPVAcQBcgHUAZgDlgF8AZgBywJwAXoByAHXBY8E8AdtApMCoAKVAW8BwwLtAb0B5AKUAdABfgLCA6MBsgHsAoUByAGmAXQBzwGyAXIB7QG+AX0B5gLdAdIB1AFoAcUBvgH4AXkCtQFxAqEB9QJmAdUIrwHBAm4B6AHbAd0BgQHEAuEB6wHZAc8BngHIAeoBzAHQAeMB4wHSAsEBuQG7ASQBsAG1AWYB7AF2AdoBswGlAXAB1QLTAdECrAH0AbMCdgH0AcYBaQEoAeEBwwHpAcIBgAFyAcoBRwHxAewB4gHGAbABYgHXAZICrwH5AeQB1AGRAXIBoQHNAfEBRwLcAegBrQHrAeMB3wHWAYQB0QEnAdQB1QFtAbUCdgHRAfgC4AHaAdwBxQO3AbEB8gHyAcMB3QK9Ae0BmwHIAX8BqwFqAYsBbgHkAdUBkQHxAUEC2QGqA+EBvgG3AosBlwG8ArwB5wGxAeUC8QHQAe4BqgGlAtAC2QHoAuQBswHcAYkChwLxAeQBZwF7AeYB1QLlAakB9gFiAuwBgQGuAdIBdwHhAaIBtgHZAfoB4QHkAaUC1wG0AdsBtwG9AfcB8wG6Aq4DwwGCAucC5QHdAr0ClgPkAsIB3QHlAqkC3wFfAd8CRgFNAdcBoAGLAsEB1QFpAe0B4gPRAmAB4QHvAcQBdgHRAiEBygGWAcYC5AGcAegDqAFrAaECvQFiAZcB0ALWAdkBoQGxAWACcQHaAcQB2gFdAtgBxAGfAaABoQHmAbcBvAG7AbgBuQHOAUMB4gGeAdIBwAGtAZcB+QHFAdMB4ALVAdMBXQGcAXwBuQK5Ad4BQgF+AdUBwwLcAWUBxgHTAbkBiwGeAc4CQwHnAeAB8wGqAeAB9gHBAcsBrwHrAeQB2AHSAbsB5wGWAcgB6wHWAcEB4gHkAcEB1AG7AnUByAGYAdUBewJGAYICxgG9AWwB6wHPAeMBpAHOAYsBdwGoAeoCwgF3AYgBwAHwAdEBygHkAZ0BoAHsAfkB9gGGAbgB7QI+AecBtwHuAY4B0QLEAdMBsAGOAcwCmQHkAdoByAHlArMB8gHMAbQByQGCAdUBpQKqApwB4gFpAXIBgAHbAVIB2AFqAeUB+QHlAc4B3AF/AcwCugHyAeQBtQPgA8QBdAG0AbwEgwHmAs0C5AH3AW8BzwHtAeEBsQHsAe8B0QFkAW0BmgFtAYQBpQGvAXUC8AGxAW8BqAFwAfAB5gH2Aj8BpgLvAWMB3QHoAo8BpQHBArUB8ALiAaUBtwHLA84BVwGjAXsBagElAekBjgF1AeQB2wG2AfoB6gG7AeAB7wHjAp4B1AHNAcsBuQG1AoABlAHiAe0B7gHDAawB1QHVAWEBiwK3AvQC4QHhAfIBggGPAncC5AHHAeAC1wHTAc8BygH2AaoB3wG9AbwBvgEkAZkB7QHSAs4B3wG/AcMB4AG0AckBywGqAW0BZQHUAbMBZAGvBLMB9gJjA9sB3wFhAXoB7AGPAbcBlALuAvUB0gFSAcgBnwHeAdMB2gHxAcMB+QHwAsYB0gHWAZkBuwGmAdkBUgGgAbUBxwHGAbsB8QJTAaUCWgFmAewByAHMAdUB3AKbAsEBuQHRAaoB8AK3AcgB0QHFAbIBugG9A8sBogGpApEBlgFvAuAB8gHkAekBZwHUAdYCWgFXAcUBlAHxAewB8wG7AWYBzwHuAe8CvQGhAfUBTQGVAZoB2wHhAYcB0wLeAawBbAHmAecB4QHVAs8B0AF9BHkE4AG9AXoB7AHyAcUCfQGjAmwBkwGAAeIByQG8AugB0AGYAYIBxgLOAZQBhwGpASkBawHuAe8BsQGZAdYB0gLuArIC8gHCAsoB3gG5AakBlAGcAVsBfAK4Ad8BswHUAckB3gHHAeEBzQHiAVgBagHsAX0B0wHEAbgBrwHiAn0BrwKsAbMBywGDAcABvgF7AWgBwwLHAs4B0wGeAboBcQJ+AWQBWgGHAdkBgAGQAsoBKwHrAecB5gHzAeUBugHlCLoB5wFtAfgBtAGtAcoC1wHFA+kB0gKaAakCtwFcAaUDsgL4A18B4gKcAp0BzAGoAe4B1AHsAWABkQG6AfMB9AHrAcoBvgHqAaIBzwJHAYEBjAHPA9wBygHpAeEBrAHsAZ8BxAF4ArMBRwHGAdgB0AGxAZYB4ALUAZsB4QGpAbEBfgHlAeAD5AG9AbwBaQHYAdQB2wHSAeEB5QHLAaUB6wHCAe8B2AGoAbIBqwKNAfkB0gG8AewBuAHeAdwB+QF0AcwB3QH0AeACvQZjAfcBbAGLAZAB7wHeAeQB2QFjAd0B3AHAAuYCjQPRAeABwwG+AvIB4wG8ApIB0QHwAfIBQgH6Ae0B0gHxAsUB9QGuAdUB0wGLAeEB5AHlAdEBzgG/AcEB4AH4AfcB2AHfAXcBlwFoAdsBbAHgAb4CwwHdAp0B1AHcAaUB0QGYAdgC5AGlAX4EsAHHAcEBxgHcAfMBxgHPAWUB5QH2AegBZgHEAdUBiQHcAtABzgHIASYB7gK+As0BzwO5AZkBywHaAW0B6AF5AcIB2ALCAbYBYQKXAe4BZgFaAfEB2QGzAYMB4AH5AswCqgLAAa0BmgHNA7wC1wHHAaIB0wHiAu8CmgLhAekBcgFUAdYBqAHuAV0BlQLVAXgB4gFvAewBwwEkAeIEzgHRAt4BMQHHAXEB3gG+AfYBzwHiAWYB2gHsAc8BywHlAbgBtwHyAdcB7gK9AdMB2wHvAZABsQFTAtQB6QHQAccBmwHZAUoBvgLYAcsB5QHrAckBjQG9A+UBmwGuAeIBvQH1AScBhgHOAd8B4gHIAewB5QHlAbgB7wHTAZABcQHUAW0B7gGVAfMBlQHvAdIBkQHoAewC3AHeAcYCSwPSAUwD5ARAAbwFvgFBATwBsQLMArEG0wefA9MCswKZAYkBRgFIAdUBoAHdBawCQwOWB78B1ARpA9sDwQKnArkBiwJEAa8DtwI/AqYB4gGtAYkBYwa3AZ4CtwFJAT4BiQFlA78BSgI9AdUDTAW9AdkD6QHfAcMBSQKaAWUBxQPFAXMBwwWjATwF4wTBAT8BsAZGBNMBrgOzAnEBRwLUBtkCTgPWA0ICxQSnAd4","gAdK","gAcr","0AKj","AlQCgAWuAWAFSwnEBVEGOg6HApwMWgGjC5wFcg5EAaQJPgptAZkebgakAUMDQgZzCpMCQweuAUIBagO0CcoCmgNKCm0GQhVWJVEFTh6qB50CrQJUAVIDmw2gCa8EvR9XEX4fvSKxD0ENSBlvEJogdgyjEEUIZQuqH2AeTQxnAmwGSw1QE3MybRFrBK4DSQKnCj8VtBtYAVALdglVDq8EngNpEkoBQQhUE2sgvQtkAq4FnwJaCJ4BQQFjIYIFnRGvDV4Xpww7F0kHphNMDIMJbA9JBZ4IPhl6A2ICowFjBXEEngFlA24BfAGrDEkgjglCH1czeQ2uBMgHngO6B1IBQwHAAUUJmQG1BVUEVQLQCGAKsgJEBloFVAZGAUcIqQhRBVQBUgGcB7cFoAWqAbYBUwyvC6EOTgGtCJsCnQeQD00FqwaABc0SagV4F5oCvRFSAbUJfgJQApkDkwJNAqgIewFSArMERguYAZYETQi4AVMYPAphEjkCXAFDAT4LhwvGB0gERwigCXoCRQOoAUgJTQFSBFACTgtMAsIVpgeWCKIBoARbA5gDnAM9Bo8BUAGmAUAHpxO9B00GRQQ7AY8GQALJATgObhSGAn0PtxCcAuwHQQi5B4YGmQFLBrEBfQfQDHQRxAGzvwFO","sgmj","/ANn","AEkBWAXDAUsBywFjAVAEswKpBMIDiwLyAkoCdgOpAe8CvwJUBcoBPgSFAUAEVgU+Br8HShx8B4sBlAhsA00LhQVHBzoDbgPeBqEDMwenB/ME0QKJCTwCJwO2BiYEvg1TCzAC4xadAqQBQwb1BOUSPgvwDi0E9gNFAesBPhWlCaUG9QJ2BugQ1SbyAfMCvwSWBokYyQEvDoUPxwG4CakUIAhvBuEUMAtIBdMIOwLjBu0DpQE0A6sLrw4wBfYO4g+PAbMDywEqHC8E7wGxBHURdQcqBYcNqBSuGe0LtgzaA+sDhAQmBEszwA3oBOkDJAGdAe8D9CItAvUBKgjDB5oCWAalBzQNSQEhCDMEuwL4CpoBoQa2AZgK+AH4BaQQtQrgDcwMogItDXoFxAztBDUN+QwvCyoLzwFgDnUKKwN0BvEFJQTXBm4CPwHQAzAQ2wPdA/ADUQScAegD6ATiAq4BJwHWAeUCTx7MBPUC7Q5KBGcC5AFjAmgFmQKDAegFTQTLAekHqAiqAuwI0AxSBcoVtQLcGM8EdwEqAyYHvQLqCeIBhgHVBukDKgGCEqUCKwKwAU0EJwHfAWMBJAE7AyUCMQOGAksGJgIkDugCLgOtBYkCMQEnBLUNMgFNAaMBMAvrDOkCcBEgAigG9wH1BF0B1gG/BL0BLx0nAjgBJQLmBeIBJQKwAccBRQIhBykExAyjCqgBaQNNAj8BRgGZFYwCUAErE2UCzgO8CdQC9g+hBZQLjgKhAsoGyQEqA+0B9QvdAkQEPwPGAYQGlAHQCpQGOwHqATABOQLQAT4B8wHaAV0GoQFKAfAG8Au3B34JqAPbAcYF4AMpAb8PvgUiA+wB5wFtB8sD7QOdAYIEpARGBTIChwZlAWwDSQHnDuIETwFTA70CQQGLAl4F3ATmA7kCkwGUAu8CSglxA70M1wS3ECoF0AG/ASUBvQTCCygEWwGPA3UBeAEnAZ8DmgjrBmAH5QHcBcsD8ALpG+4CuCqsAdoSsTS4GJwUSBjc","vQSz","uBCk","hQ68","qQGZ","hQ7g","vw+C","9AJ9","gALGM6uvApXuAqocmAGraTvjA6meAas","4gyF","xAyl","mA75","AcoBeAJ8A88HngI5AbkD6QW2Ar4B1gGmAtgCYAFyA74FgAewAe8B2wShAaMFRAHaAZsBpwZCAp0GqwG0AZEB8wKfApEEcQE+CdkCwAVwBZ8CxgF+BXABggHAAXwQrwKkBCgFdAXSAuEB2wLjB2sB6QKwAX4BXwXFAlkE5QOWAvABoAGhAd4Byw3oAmgYoAbNC50fthPoCpkGwwHqAfICygJ1FegFggHkAqMHRwFqCYkCwgKcBV4BrgXkCMUJdAW7B5AB6wGbApkBggN3A7EH2AF8Ac0O4gHsApYBZw+FCcIG4gvWAm8EwQ5tN00BpwLBKZcDzwvQAfADgwGuBrEixQfcA3MVlQeKEdgUnxSWB6UFlQGIHrcF8CiyCaANoAd/Cu0B4wfjA7ERrAG4AVkCnhqCB9kMZgZtAqQBgQHaAZkGrASVBqoK0wK1AYsGpQHQBm4DnhK5DIsB5wi7AaQKywXJA2sJ6wrZAqsKvQWLCeUFqBi9EnwHdgh6CZIBlQTHAvQZswKuB+EJ5wPnHYoCfQvGAewHSAbEDq0CHgd0CKsB6wGBB6sQiAJqApMB2wZzCLgGcgPrAt0etwLvA/IBVwF1AccBoAZqAa4G8B3YBIkDrxfvCdEH4gqPC8gKiwRhAnYOnA6BCpQBfAGyCYwBzgJIC6YBlxHkCJUBehCmBI4H0gq/DpMMpCx2AYAV2gjHCKwB6wHdBHQNbwLOBdIBkwrIEH0E3QKuB/EClgGIBOkCdQLZCt8HvgvOAlYDwgnpAa4F5gSOAokGwgHSAXwLIhKwCKENgAhfAVkDqQp4CeQJ4Cu7Aq4CfQfGAcYD1At2BJ0EgAFjDd8Z3ALdA8wlgCTUK0kCuA3HCcwSPxzj","CqA2fK4EX4oCrx+l5gJz7gNvzwGE","5guO","b5RpsswBoRflQWdyv+8BqMkCxlfBkQGLBogOsJgEhA","CsU2p1J56gJnvQFq3gHIvwF3lQJ9I4sGiA6wyQKbFJW7Aa4","BHwbXAFRDUsKoShibb+YAWpz8pYBtagCpFg9B90GSB+QhwLEGO6LAW11lAyfKHprnyG1GG8IkyCzCqMmnA6qCEIB0wjgN4hRwwGSAX0egAFjrwHK","AEkBugG4Ac0CogLjAa4BcwHgAfECugHmAbMBSQHEA9AC3wLYAsYBfgJNApICwgHRAU8B6wFUAocBlAHLAdEBSQLCA70B4wGeAdwB2wKkAs8CxQHdAbgB2gPMA8gChwVOAWwBRgO7AcEB7AbcAnEFUAHYA6QBzAJ5Az4CsgLNCL4EdgGnAaoDnAFuA+IBlAO6AWsFyQN6ApgCeQJAAkIB5ALAAdwC0wG/AugBlgGhAdwERAHpAWcB6wObAtoBnwGzAtoBrAHRAsAB8gE8AfIC5QHEAqIBoAFCAroBpAGlBawD4QJTA9IF4AHUAVkDQANuAUoBoAdsAXsB5QnNAZ4CQgbqBYAF0wK4Ac4BzgGcDOUT2gLeCOoBSwJbAu0BqAHgAeYBngHTAc4CUAGXBXAC0wLUA3MEywPzAlQBaQLkAdAB0gHSAe4EswNpAuAEpAHMAa4B2AHCAeABkgbZAc4F5AHpB+QHZwGlAX4FqwS8AnABzgHoAt0F2AKxAe4B5AHuA8IC4QGKAkIEjANzBuUCfQHPAYEBuQGDBY4CyAGPAXoDygG5AbgB4QfpAVUF1QFAAd4B0AHvA9QB1AHaAuQBfwHYAnIBugHXAXoMwwG3AswC2wPUAt0F2AFjBuQCRwHqAXYDtgF8AXAO2ALwAqkFoALTAekB8AHyAvYJtAHrArMD3wewAcYCqgPQAz8BqwdtAUIBLQHvAXUCYwG6Ae4E8wKVAZ0CwwLfA4YB4wLOArYC4wOoArgJjQXwA10B3gLgBtcCywLkAYoB4gJ5AcUB6gHBA+MB0gGpArQFggFfAaIC7gdjA8gBMAGkAc4CowezBMwB0wGUAeICbQJaC9EDnwLeAbMB0gW5AoUC5gfpBegC6QTbAcoBegSaArQEcQHPAewC1gGWAccDdgHgAbYCSgKYA7sDqQGtAakCwgHkApEDegHmAu4B5ATqCrcCfwRNBbcCkQeXAdUBugHWAdYBxwHMAYMEcwW5AuYCswRyAfABuATnAecBzAJlAecB5AG2AuwDjAHjA74GuAVKAekBZwXZAaQB5wG9A2kFcALIBIQCywHtCKsB4AHhCL4E5gOGBHEFxwE6AeUBcQHjAeoBywG7AYoFXwKcAUYB0gHyAcgBxwSfBm0BzAF6AeQB7wHcAbIBrgPnAVoG4gHSA9sBoAOsAqIDRwjQAdwBygJpA4YFwALDAsgH6QXWBO4BzwJqAuoC0QHxA9YB2AG7BD8F0gHBAscBdgHYAXABogfMAdoC7gNeBb4DywHKAbMCeQRtAm0BegHpA+UExwbsAsUC7wPMAssDywGvA+YCsAyZAd4B5wFyAbACcwKIAYYCsgGnAscDQwK9AdEBuAGoAaYB5gLZAnEEPgHmAs0BpwPACMACygLXAssCzwG5A8UBtAHjAUIB2wEyAesCfwGRAckCrAHEAcMCzQGHAccB2AF4Ac0CZAXgA54BuALuAaMDTgNLAewC7wHaAnYD5APmAXUB6AHmBIQC0AFxAaUC4wLRAdYD5QJtA+UDpQK0AnoCwQPCAmwBxAjOAU4BewHdAtEBywHNAucBowGWBsQCmQHNAmcC7QFtBI8BxQPrAd0BvgLOAeoD6gPpAeQDcQE7A30BygHeAWoCbgJzAdQBzQHVAeEGqwXjB7gGlgKfAewB2QFgAbIBQgKPAb4BiQG4AZkBwAG2BOYBwgHoAW4B1wLLBHMB1QZrCOUBqwGjApMB2AGbAfIBVAGeAoAB4AHHBWsBbwF3AdIBzALGAUgD5Ae4BXAC8wF6AccF0AGwAeECRwFGAWwBgAG9AroBqAHxAaUBsAHoBZEBwwKgAsoE8QbfA/QI8AHIAisBrQHnAtQCrANJAYQBXAOVA58CnwFLA60G6AHhAeADmgHFAS8BcQG0Ae8B2AK4AcUBeQKfA+cD6ALVCdADrQHeAbwCngHOAcgBhQKOAuwC5AHSAdUCmwHpBOsB1wG2AfACcwHDAtgB7QKdAe4DUQLUAdsB7gTyAs4BwgHOAu4D4wPrAbcB8AHPAsoBkwKbAmwKygHdArED4gHXA10BfQFvAdoBXwF6AtcKggKaAYEB4QHSDMwGxQTZAccBPAGFAZIBmwHNAe8BpQTgBG4EwAFxAs0B7AKnA+oB4AHGApkBhAVzAsoE6QGwA+oB3gOQAe0BkwKyArEB6wHWAUgBuwFfAeQBywPQAZcERgFNA5wCzwXkAtQBPgJYAUYCTQHVAmoBaAK5AccBzQOaAeEK3AJMAaUDdAOvBnQDlQLsAc8CyQGwAbwBtQGgAr4D5wLlA1AB2QPTAeYB4QHkAaYBxgHfAUcC0QHfAe4CqAGkAcsC9QK8ArkC6QOlAp0B4QLoAZsCywHlBJ8D7AahAswEuAHKAtYBQwE2AroEwAFUBbYD4QKHAfcGPwRnAbMEvwLeBNsBhgKaB+IB3gHZBHgCogbOBXgBwgHkAWEBRwbGAcgC2AKcAbQB2QK+Bb8BmAPFAcQChgGwAtgFtgHUAbwBvgNuAq4BowRJATYCagGmAdMBhgLCAaoBgAPcAU4BpwO3AswM5ALPAqwBzAOnA98CSgi+AtIJxAHtAUwCZgJJCEUFRgE7AkoD1QNLA2wRSwRpAUQE7wZJAUYEswWdDbcBcQZIAUoBoALKBO0EzwelAz8D6AGpA0QBQgvOA7gMvQTiCqoCTgrkAqs","3Qe8","3QfM","3QeZ","+guX","8we7","ggis","uATy","7wal","+wNm","/wms","FKY","1gg7","FKY","UJFmygV5jwe4","5giZ","pAUh","hw/0pAEnGCE","Y7M","kQvm","kAKx","+QbJ","qxBC","alg","2wqo","kxCp","WsM","4gzg","9AJn","JJ0","uwWl","Vd0","wAjumQfzQeU","uQJyAWk","9Q6E0QF2","9Q6m0QGhCLY","owlY","+ASizQJy","uwHg","+ASi","xQdy","ugyb","/Qmy","qQKhtwvT","uQyU","AaM","kQotngQv","vBDA","qwEl","qwEl","KoI6eQYfNZgIbAKmFIcKbwVuB0ciJEwoD3hKogmcA2MadC10Dl4sng9gKmQQzjk2SXajAUg8WwGZAqElhA0peDMsSi8sJDIORx0eP3EBVjWfIylGJElsKiYBKR6PCTQCNDSfDzwQJZIByhFzAjB1kiRN","tgbgoATmeTZWqCrC","1gq8","gwea","mA3W","5gKzAbY","N1oGoRJQATUJcR92AT4XRA8uDdVGkQMkrwFCCG6WAjtI9osBMgF4Bm43NybHHNkD+IcBJQkoIfvIATNMe3JsqwKFOTFYKgJMOUkQNbUB8A","yQl1","lQizA+U","lQidA9SxAc4","mAim","igaa","yQl1","nwnE","1wRc","zQKMjQfS","7Amy","3hDQ","CMYI7SXUH1oK3ympF8xE1wHyHO5ERAq0PvU7zEPwHrYGry3tOOgx7JcBxCDxJt4B8RrsMOwG8yGIEfQ/nF64CfAe5RM4HG9JVgHmO0RXrwjVA/YB7AHjAvkiZjClAc4uwgKlQu4CugzzBLUi1go+AeRO7QgzIJ0wKAi4CPAFfCLDWjEEOR74AfEI4yZMBN1+6xTF","gQzf","rQRm","yQnS","wwXM","2gag","2gag","uwdp","kRHC","sw9U","2gTc","+ga6","kgiI","/QuOBI0","owjE","oAeqAd1KvvUC4J0BpwSi","/QvZBNI","sw8x","3hBHCeI","3hDQ","iwPq","kgVd","gg3CAqU","mwtE","xg3kAro","kgWn","2gSe","kApQ7wE7hAHUAfM","jQS0","DUoCfgFJH0Q","ogGnU4ysA1/fA3BYMhWfJUgJQqMEdDxdQFE","EbY","Tkk50+oGwQ/Z","1w7b","1w7b","6g6m","6g6m","hA/G","4g3FiwOx","AVADVANLAbkFRwJRAboBTwKQAoADfgHNAX8BrwNOA7kCTwFNAscChANJAW0BSwJEAcICuQOPAbUB0wJ7Ak4FTAJiAXwCWQFKAcMCWARrAX0EfgFcAVoDZgNbBUYIQwJKAUECRQFCAV0FSgGYAUMBRgRGAWcCQgEzAToCtQFCA0oCYwJFAqYDWQFPAZ4DRwGjAkIBSwGBAbgCTgJKBGoBpwFFAn0CQAHRAWkBcwE7AW8EQAFPAmACRgFqBLUBwAJCAWgCuwLBAjwCVQZGAj0CzgFHASYBRwGfAW0COQO2A34BQwE+A50BnQGhAnEBnQVQB2ICaQS3AZMErgFaCEYCzQHKB0oCfgJtAT4MgQRoBdsJSwFgAz4BZQNgAa0CbgFQAlgBawNCB0oCYAF3A08BSgGvAbQByQI/A0gDcAZEArACbQI/A08CbgRlAmUBRQK0Aq0EowRqBNYERgFHAUcDzwlLAlACdwLNBCsCVgFEAYMBbAE+BLoBQgHWAdEDzgGJAqUB3ARBA6ICbQdBAT0BQwPNAngFewRkAUcCQwOgAksFzwNhAlYBSANLAkYHsAPQAmYBqQdrAZMHUQFBAVMF2gPOBGAILAGIAYkDTQFHAa0DywFOB6UBUQFQAWQCbQVxAkkCqgNBA0QFkQKmAWwIZQFiATwCcgJFAaQBcgJJA88DmwKqBKMBPANLBGAGTQKmBk8ETQKrAoEBSwKrArwCqQEzAqMCSgKtA9ABzwHiAU0FYgE+BEwBWgHNAdQBsQHYAoYCkAJJAk0DtAHQA7sCRwFQAZcFbQNLAmABSwVIAk8CzwFKAeACewlxAdABuQHdAkcBfQKlBSEDUAmjAeUJkw85CUoCSwJjAUIBTwJvBTwFSAG5A9IDRQFkAq4DiQKHA7cCdQKtAa4C6QNjBM0JTgGDA84CnQLbBFEC0AE9A94CRwdKAkEBRgFuAnYBggY/AVEMuAK2AT0DZwZmAVoBngJfAUoCygW3AkgBRQxoAkIJSwNyBm4FpAdyAU0BmwFHA7QBRgNEA0IBSAFIAYABSgHIApkCSQRBAYoCRQGEAdMDjQHAA3EChAF6BM8BzQNRC2MFZgLEAqUCNwLMBUMCowO3CdUC5QFpBEwCSAYpAT8BSAFKA0IBQAE+AqACwQGcAWMIyQlLBEsERwijDFMCVANnAZYBTAHABHIBTAOMAmYFZQJ0AkIBsQFHAkkGhwGfArEBkwGYAkACgwFDAUoERwOdAyEB0QTLAs0ENAHGAp8DegJHAVEEugRmAXACOwFLApYFOwFBAUcHRgZKAj0ErwNCA50FoQGMAxwDfwW0Bc8BrgFiAa4BVgOBAUgBWAJHAZcBxQNHA80DTgJNAasBZgFPAX4HRALZAZMCjQEiAT0BcQI/AUQBfwJPAYsD0AEqC0UDJQS7AlEBSwJJAnkBoQG9Aa8FUAFIAXkDSQFNBEsBQwKWCDsBRAFEBMgBsgGyAkoDRwE+AnsBQwJGA2kBsQFDAoIBSgKDBEACRAFRAXABnwREA1ABmQFtDCsDWwNQAUcBRwJDAaIBaQGqAogCSgHCBHgCSQFKAXABzgJ0AkACdAFMAUYCugFRBEwCSQF+A3YBfAGbATUBYwFgBMAFRgGvAp8BTgPVBH0BuwGtATsCjQKJAb0BQgF3AUkCnQGPBGsCUQJHA0UBTgOEAksBRAF5ATYEcgNJAksDXQVJAo4CawWlAm8CSAG1Am4BRAV2AXEBRwFJAUgBgQVQA4IDuQzGAZ4BmwFKAXABUwRRAnoDTQFHAZ8CcgFCB1EGRQNaBGsDrAG2Ak4CrAEqAqABbAF6Aj8BUQG/AkMBoQRtA0sCegI9BEkBwwOHAVEBTgOqBZkCcgGIAWwBaAF1A00DeAamA50GlwFFAkUC1AHTAdMD0gLUAoMCuAFRAlADcQHBBZUFnQNEAtcFXQK1AUABwQGqArwCzAFXAcoEQgJJAT8COgHHAp4BSgJCAbYBQgTNAkQCggKDAZ8BSQKRAcQFVAFHAWoBRgGYAT0BRgQ+AVEBrQFGAnYBowFLAUcBsgFsAkUBQQJMAk0CYwhPAjoBTwFPAUIEMQNKA3QEcgFtBUUCRgNDA60FQgONBEwDiQFyA0cHdwGqAWQBRgFnAckBwQJLAbEBbAJLAaIDqwFTBDwCVgJYAdwCSwJ6ArICRAGKBJcBQwGTAU4DlwW+AUUBwwK6A2cBcAFyAXsBOQFHAUcBnARLB3QEawG7AYYCoQdgAmMDlgGABlMEaAG9AlgCrgG/AUcBcwTJBK4BiwFsAk8FbgG0AUECSwFzBDcBwQHSAo0BcASpAqwEdAFCAUoCvgJJAUECQwGGAowDlAM5AXIBkgPFAXABUQFwAZUBkAJqAaYCTwGoAoQBlQJyAYMCRgO6EkgYnwXPGYUPzAXBAb0cpAeNCKkEvBhhJlYDnw","9Auf","gQyN","zAiA","qwLV","/gut","rgXK","hgha","mQWt","Dn0GsQN6GYYyKRwzKJgRugqgF38Qpxh2KbYKqwFLA38IrBGSBL8IrQOiAoY4pwGiAbUBjgyeFjw+RQZsQkEbSQLNAUpBowFiG2sT5yCmNz8lJx+oE30DRxKqB0QJlg2gGEYGwQNFCKIGaQlAAoUBvA1IRm0WeQuiMqMBVg9aBZkBhAaaAZ4CTh1EAqIHyyFOBJkFsBCeB6EBQgGnAacHRRznH6MNnR+cDWsjRwWeBaYFTwZCBEgEniywA6QjSgafAasBoAipAdcDoBW2E54GSgGcBKkDphVED6QBtxlOAUYaRAlFArsBlA55AYkZqAOiIUAWggiEJm0ISAWOBkkDQgGdAZ0Ipx51DUcRRwFAATMHbwlvAr8E2gTFCWAQoQSwA44QSAFNA0EELAEnA7AESA2fAkQCfQivAYwCmgdRAqABnw2jAaA","vwrn","0gV3","7wnL","6QfN","lgdZ","ng1r","oQbH","kQrSBo0","lg2n","ng25","fpfpA2mHCk8","ygfD5AHGrwGEfHQ","mANz4gRu4gGoowGolgJ7","+gdu","gQezOYdDng","6AnwrwK3AbcB5QG9vgTp","6Amq8AbD","6Amq8AbD","6Amq","uw7LmwGNlgLW","3AmI","nA/R","7g6f","AkkBxANQBYEBswFHBHMBowF2ApcBVAF6BXMCTgNIAeABsAHVAnkCwQNJA3gBWQG3Ap4BSQPcA1QJ0wF8AV4BwAFKAXoB1gWvA0ECVAVmAbsEyQZlAUMFPgHnAUEDwAFdAzwBSAFKAa8BQwHYBEYBvAJCAbABSAGxBUoCxwK2ApoB4wFnAVkB2gTPAeICoAF0AUMBQwFBAb4GQwVrAWYCaQJgAYQBfgGbAkADoAHaAcICbgM9A0IBaAKrAksBtAE8AlUB3wGUBu0COwFHAUQBRwKaATwCYQHdAa0B0AF2AdsCPgdIApID4gHUAbcGsgJCA/ABjQKTDOUF4ApODrkLcAVLAcMBhQqqAT4CRANpB0oEYwJPAu4BRgZ1AUgC2QbVBXIJ1AFlAaUBmQGNBcwB3QNEBa0HjA9QAk0FSAGwAsYBRAGRAUUBPgLSE8ACyweWB08EcghDAzgBQAk8AUYCcQPvBsUB0QG0AbYBswGzAc4DbAe0BFECyxRKCroBrQPKBdIDrwG7AVABpQctAnIBdAHMHEUBmgLsAUkHRgnVAkMOuAODA1YDngLWEecEOwR9BHoCjgKGAn8B2wHnAc4BvAvmAWUCMAhLCk8B8xLhAfUBUwTNA0UJTgFJDoYBig3qBOoDYAFKAksCfQVoEEUCmAtMBKUBcwYnBEIMigaeEuEBRgqEEugKzgFKB20CSAq+A0EISgSpAd0BSQJ2BLEL6QFJA10BuANGA7cBegNxAUgC5ARQAWADngGWDN4KSgNKAeYB4QjbC+UJwAGvAUQMQgSxCkgEQgFADOUB5gHdAx4DnAOoBXQERwHiBLsD2w5SBb4ExwFuBZkD0gM/AdwBfAFQA4kLkwGjAVQBwwRDAcoC2gJHAbEG0gJNAdsCzw1wAkQDTQOvCG8EcQVCBF8BuAFzA6ADjwvyAXUBeAHKAZcBsgtkArEEawHtA8gBngO/AdQByQGIAWkCpwFHBj0RvALyFOIBTANFBagEqgOxBJABSwhSAqUDRwamBzsBRAFECMkDRwFHAlEBQwGoBEIBuwG0A+ICQgKjApkBcgK/CVACRQFIAd4OhgJQAkcCrANPBEoESAFPAkkBoQMeAUsBRAOwAkYBQgEkAacGcgQnAckD7gHUBaEDRgFuAbkBbwFIArEE0glHAkIBYAGqA9MBTQO9AUUDSAR3An4D7AStBkkCSwJIBGoESwfIBEgByQFBB00HtgO3BsELTQGfA0oLTQIoAkkBQgPgArMBvgF7C9wCrgJHCzwBeAJ7AkkCmQJBAUYCvAFPAUsIcQKTBE4BRgGsAUYHrANBAbcCnAjmAp4LvQTdBb8GUQHWAbYERwO7CEABuQa8BOoBaAGDAZwBwwLtAdUBpQWnAkkBPwFXAToDPwFyAzwBQgFeBEgBhQJoAcABPwFDAWQDpAGyAbUCSAY9AUYCcAI+AtgBnAJNAksBhQK3AU0BRQREAk4MkAF5AUIKSwRJAZ4FRQFDAZQGSgRQA0sBSwFCAqoBlQPVAt8BOQJHBWsBdwFIAT4FSwJMA7sBbgHwArQHvAVLBkQFRgJMAU4FwASYA10DgAFwAcACdgFHAzwHxgdrAnsCrArZA94GUwguAyQBtQlJAdQCTAJCA0YEKQF2Ad8B3QLfBUgCzgJHAmoDRQGuA8YE5wJDCa0CTgZXAYIHxwXUA10CNQr2AkcLQAdAD80F4ARLCOIBQwTAIDgH1h/KAkEPoyRGBsE","eGZPSQWkc7gaP0tJb0eWAp9ar0RP6wHMGdkJnErBFGxfRRtq7gHJMm+cAUEuTCJMZCwciA","BuNHZUK8Q7TYAYt3LDY/twG2ngKSAuhkoIcBPRpSAk5lumdXTlCCAd7MAZ7mAbgg4A","jAKk","6w34","AEkDdANJAkAD7wJvAn4EhwNUAYsBMwSnAWoBwQFSAoABbAFtAbkGggeYBKwCvgWAAWMFSgFNA2kHZQWxBLwIRAGsA6kBOgVNAcABowJCAUkCOgI+AVcBbAKnAb0BXgNUASwCVAFGAmEFsQGxAUICjwIzAYkGNwFaAU0CVwGfAVoBUQFgAc0CWAKgAmcCYgI7AVsBPQJCAjcBugF1AyoBUAFIAkEBqQJAA6QBPwFBAcYBggLHAYsCOgG8AkQBLwGSBL4CpwE9Aq0BZAFHATIBdgSAAU0BgwRyB7QBYgWyB6kCQwGvBKMHSxBWAq0DdxNtBmkESgF4AXsBSANDAUIBUAJcAlQBmgGlAqwDxgdQA2oD1gOeA0UBlwOEAakBwANDAm0GaAleATkClwFOCUoLTgGlAaILsQE7BNMEVAFoAUABnwHCAboBiQFJAXwCLxNsArcCogVIBnEB0wxVBLgBYgdRAbgDOwNGDcUBTQdEAbwQiwqdC3sEqAm4AXECZwd0Ak0DZwtiCIwESAKUAmYBUAJyBpQFKAGAA3oCSQyPBYQbSwFlAksBcAJIATQD0AmfAZ4BZQ1JAVsEsSHBAbsHgQObBm8BhAJuH8QDgwIrAiYBSQNmAbYDcQ18DaELWQSgBkUBWQGDEskBhQG/BagEbglVA5sQnwNaAVcFVgFKAcQHwAJQCmEBugI0CG8DYwGHAUkBywJLA1cBuQJvBIgBQQGeAZQBpwHHAcIDSQRDA6ABWQFHAUwBqQNtBUADkAFZAZwLawpIAfIBYgFHF1EHuAFxAYwMkgFOA2AGZQNmAUkEjAROAZYMlAGTCmgBZQSLBbYBSwFyAX8QTwNtAdADVQFOAa0KfAJhAVADvgJrAU4DswJyA1IBbgFQAZQBnAKCAW4BSQGhAWgCTgGxAU0CaAFOBFEQMwF+AaYBYgKjA1ABSwGIA2ICVwGBATwBrwF7BG0CmgR2AZ4NbQFwAkgFXwGxAqIMoQS5ASMDUQFJAYACMAGbAYECIwGCAXsBoQGyBTgBUAFABWYDbANaCHUBbgKUEKkIfgSoA1UEeQG3AcIBuAG7AlgBfQNLAXIBXALDAlMBZwbTBG8BRgFxBGMEjQOIAV4BWwFVATcBJQRqAXwBqgE3AZoBkQEvAZ4BwQG5AcMBYQFfATgBWgGfBFYBRgPSAW8BZgG4EcMBlQFcAn0BdwKuArsBcgGqAX0BzQFaAb0BUwGDAVABqwG4AUUBfwHLAWcCkAFXAZIBRAFkAX0BSwRvAsYEZQWcA1QCbALGAYIBiAFiAbwBMgFZAZMBcAxYAnkBtATXBGsBgQOgA2MBYgafAdYBhwFHAUsBdgGOA8UC3AJzAlUCbwGcAUcBagFPAqEFzAGJAWMCYQGCAXcB1wFQAkgBgwFOAc0BQAHJAZQGUAFDBrMKKgOsAtUB0wZWAoUBdwG5AWsBoQLZA6wBZQLOAWUDTgFCCrQCUAHMA1IBmwWmAWkBegFtAb4BZQFQAUsB5wKAAS0BawFoAU4Bcgh2AdIBfwFkA1gBmgGEAccHuAKtAVoBxgZiBXUBlwFcCXgBTQGtAXEH1QiBBkUFyQN1AcICXgYvAlMBQAKBC4wCdAGFAqEDigFOA00BxwXAAbsDRwElAUsBcwOkAUYBXgKKAU0BNQFiAVIBjwFaAl4BbQLMAZYCvQJ2AXABtwGrAZQBWgFXAWYBkgKqAVABVAFnCZQCYgFrAUoBRwPuB34DygG0AWgBqAJXAXcBegFPAZ4BWwV5AWMDbwFqAWwBcAFcAUgBkwE4Aa4BpwHSAWABRwE+AZUBlwGWAUoEqAFiAXoBtAFSATwDsgGPAWoBqwFSATABXgNQBloBswFRBIEBTQFIA4kBpQJjAY0CLgFKAUsBZwNTA7AEYAGxAmoEYALaAVoDHQV5Bb4BfwdJB3UMcwImAkYEXQPGAcAHPgLMAWYCUgJCAVcBXQJIAUEBgwGyAVYBVAFQAl0BZAJoAkICbgKOA2wB2wFJAdIB1wG9AW8CWQFQA0sJZQFMAcgBtAM7AbUDSQw/Aa8BXAFRAW96PQ","+QynuAF4","hQjk","hQjZ","C8E","iBHP","2wE3","iBG9","9wzd","mQZd","9AOu","E7gYdQFnBrkHPgPFDt8ExgarGZQRkgtFCkcBMwGzGJsQXBCkCS4BKw+bQ6EDoxd5BKcWjAXAAjkGpD2pAeUBmReuB0EHPASpDIIJvATQGKs6zgJgAp0IpgPAC6gLSgXQPlgEkQk2IWMmpSNgA5gvRB6YRWsBPxigDZ0ELwacJi0FqgNRE80DLzksCMIIKBiyGYwDNgxPIm0HYwIsDckGYwaeCKwFHAsrE0cHMTk5BioELhMwBJcKiAd0DJkBNxXQCn0RyAHTDJYKxwJYG4kG1QGqB3IOpA9DGckKNRclBlYQUR93CTQQdCRFDrAHzT+gDj4CrQaeBMYcOAymDp0IqQMwGUURZgGPEeAMkgy+HXUfnAG2BDcRuQqBA6oDYwJOCMRzOBeuB8gQUiPD","8gWs","eKKrAvhPwTv4yQ3r","rQTP","pQdF9wiw","IUgJmjkfCWoxStMBpKEDz9gG0MUBJxtuN50mdYABe2mQlQE2","SbKqAWKgBVCyAULFAkBFl7YDOx88rgEz","nAefI6L5AzE","9Q1E","vg/A","kQHmkQmQlAGGBfBCYAx+Gq+/AnM","ogo4","uwuo","uwtr","uwuU","uwto","+g3EAcEB1KAE3QHf","GYInTB9iC1gFiBwzD0ENpwlpB6EELRFGBZ8FlBJ/C6gCjEA7Az4BQxegFSsBbASkG60GgxtJLU8XZASsKs0KsgW5IHQJ0R0+AZARSxCnFZodxBChUngvowinJmoEcxFIEEUCNQ2YAZUbRQOeCoIDpwSYIpgfLwJyAkoKnQE8EVAudgwqFK8LPASkBEAFegpmIzwKKBBJCksPwgg9BkIWWgfHA+9FThSYEWUWpQqRBmcDqx0sCqEBhg57DZ8GSwW4AkQMqBFDBnsBbQQlREQJwxSXB54sRgPPIkcDqA5CB6sLORMwEEQFcQ4qGEMcmAUuIL0GyxOcASUNjQxoJKMSvgG9KTACSA80A1YcpA7YGD0QrQpGBfACpgtQAZEGnjK6DkcZnw","5AIrmghj","6w7s","6w41","gBHYN+s","uAz0","3A+u","jgF6kgRuuAFuKD+nB3anA6o","ADCPAcIrmRdHigOkwQJuJCPAAT0DtZwDl94BRnIpqQGuAa4","A38FewKgA0czfCKpAZUDRQ90CWACagVKOIcEoCuKTXIBaQKHH0gCkQSGEZgFRRZHBmE1xhZNAlYGUQE8N68CKk2jMcMlZ2mIIpcXpAjPKqUGSzs7BEwffCRqAWwBbQfPC50MKRJQCn8VhhN9BKIIOAWtD5MlvCgrBj0FmwKfBckIPgRXDEIZsQerCMENRhe/I0MOaxd5BGsCywEvAV8CMQ9EG3ABgQKbDbkIOBHIAY4NowFxAq4yQhi9Ar4MQjdJCs4DUS9QBG8F4Q1GAV4BOgq/CD8LOwtJDJgBkAF6JjMCyBR4DS0BQSasAlEJSR1HOHIOTglNPoE8zBeiJKgHUBaj","ALIGfgizFMABLQGQAvQMmgKNC8YOlCAjDD4CLCDQEc4G4w/BAkID4A3zBcADKBeRAZ4I8AwvDz4VjQupDVIHrgazVp8g4wd7CX89PRtpCYQg7C1DVXoRvwVhM54DeQG4CNoN2gHpCz4e4gHcB3IqpgenE+gOSwldB04NNwPfAWIZSAOxB30agwrBH/McuwlIHt4GnQOXBbIGSQc6BPACSQF0BU0JywbPA98D6QIzEewIdTdHBfIL1AT0JY4CLxd7AigCMQyHCW4H7AHuA+8FpxWhFi8I8gTwA5ADXAE4BO4E9QTECYwD+hwyA50UkhbwFE0BLAjtJfIEygSaFMsTsRAjCUkK8AVcAm8Ctx9aBcUH2QKxE2gCgwHpCYAHhg4vCK0TTQ6iAc4PbQ0xBYUHtBJ1A6YQdRhnBMwKvAHNAx0IbyjUE6kDKQ6lAlcfrgPyAeMB8AfheJsX1g","2Qaq","wgmY","6AsuZlg","nAop","9wzI","ixL0","ixLt","jQt1","P1o","P78","sQe6","GqqXB8LHA6cBc4MELg","+AqnAWI","sgFZ","sQd7","sgGy","sgGE","Jog","0wGT1QeqMK9Epm6lO6oErw99WaZCxlKw","zA+H","Jog","6AsuZlg","rAjGAcMBxg","nQblJurhAss","nQa6Jn8","E0IilSLqMLAFOgSlGn4+KXqeI1cC5R3nwAFjA5sK4yviD7wJZhCXBe4lLD6wO5AteQjPAp4LdQfTLFodOAjhRL8HgLoBlJgBjwM5FXACZl9JNeYkTiCiLM1HKnydBzAX5xFrFLWhAUYdwQpGLdcCnShnAY0DiAjNHkc","NTZSnLsOMg","zwSjZKmcBEQ","SKE","zAlNiAeg","jALZpQfCZ77pBrBr7w","aaUWSAyaATsbQBOZAaMsYTOzQGyAAbFNnhYtI2QfmgJq7QGfOXMdQyF4ZLddpwSFIqOBAak9Zhh9BmVLoQKiEGNbhTg0A6MTS1NIGZkLYBKdRGcKlg2mCqIJeSiiA5lEmA4oD0ELbwOn","QY4VhBNxKbIC0BEtL58hjBNyPisFpgY9A0oGbAOtAZkBhAK6CHkaox5QFs4JRQxqN0QKYGaZN5wVRxKeAn4URwGdOSYImRWHEWYdwgpoJOUVmQOCBG0KigSkQmdOYBiIFNcFkQ6DA4UEdgWgBX4oLANEDzwPhg8oDX0CRxSCE3AzriE+GocHtBkpI7orRAKZB7AXkAKkNr0Mh1dNN0EE1wHrEZAbeA3HIpYNRRVPJpkGrROHA3sBUBRBAZIYcgTZGHEM7CROxQHx","wANF","SND5BDAs0A","1Aez","1Acu","JE07RgSVMV4RXhJDClETQARhBz4ynCNLC0YEmwMrGJktRgJHDUwDoUJLBzpBniBEFEtIUwtdFFJ0nCNYOlALSh9qAyMEQw1ZC0wIQgFKBUkFSFubIk8OihlLAVYFSQRGJmIERxlCIkYXQgFCB38ITgOdDkQYnAdJDkguQhdbF0wORCFRIEgFSQhDDEMESUmHE1MMPwJXLWYCZgJNDUUBRh1ECJ8FQCWkF0sbQhVDAp8STwg9IzwDSRRHARwHOQKrG2ANvRpIAU0EUhpEEFUUSA","hwL0xgjnlgKF3gHlTu4","wQ7I","jw/N","hwLGxgjT","NlECiAO1BawEkgWKAU4QPgFOAVQEUAFABE8LkQisDmsPswGgDjQBnwFrDEMDlgSrC6UYoAWwBqQEsys+FaAMnweTAaAFkQqeBIkBogq9B5cOmAKdDYsBaBuZBpwHiyZhAV4CeAFeCZURrASxB60CmwGpM7gF2AujBV4YthI8AZ4RRgGkA5ITswyjBcAYqyeVCKgSkSg/IrYPVBiODI4TjhKYAZ8MixhGAX8OswuYA7QKewpIHqcKrARGBHUUkAGFAZELmwq3BJs7owFWCCMIpwyeAZoDThhNBaoKOxrhFZsePwGSA1INmgGgIk8MyRtJAkcNmAJICKkKxAWlB64aSgJ3DJIDTAG2BaQHoAivAp8ISAFIAUYCSBKoA6gCQQFUAVEJSQKsBEIMVQigBKMPrBWmCUcSUQtHAa0Dpw5hBJ0CTxyWAXoDTSGMCZwRnxFYA2kJmQWtAakRpAadApsBgiGoH0IFnwKmCZwPQgJyAaIRoQtwAkUCsgh7AokGRgGiAasJgwWEBmgGXgG8A6wDVgqhDLAIbgJHA0YGbwFrAqgVSQ54BWIBqgKfFUcBSwFKAUcBSwFMAkcBRgFHAUwCQARIAUsBQAFBATwBRAFBAUwBQAFAAVABSQFMAkQBRAFCATcBSQFFAzwBOQFGATsBTQFKAjwBRwFGAUgBSwFMAUEFQAFQAUMBxgE6AT0BSAE9BksBRwNCAUQBtQI8AkMBOwFsAUkBNwFJAUYBRAFGAUYBSgFFAj8BQwE4AUQBSAFAAT4BOQFOAT0BrgE+AUABUAFCAUgBSQE+AUcBPwFFAUcBSAFKAj0BPgFQAVIBTAFMAUkCUAJJAkkBTAE2BDwBPwJGAUkCSgJEAUIBRgFEAt0DdQFIAUIBcAFIAUMBSAE/BEUCSQFGAkkBTgFLAUQBRAFNAUkBRgFIAUcCTwFJAUwESQFGA0gBQgNCA0YBSgFQAckDNg","lxBC","4A27jQOs","4gw2tgMsAUQ","0Amc","/g64","DK4r6gJODuZprwP5E/UR1gP0GSkuwUJvAvGMAkc0SMgCwrABKjvP8gHsCc5q0wHWvAI5sALS","tAXM","1Aky","jwuj","kA9y","jgdu","R+JprwP4E/WdAW8C8Q","swFA","swG6","swFA","qhHB","N+oQjJAB2gP0GSnlB8/yAewJzmrTAdM","1wEr","vgwg","vgw5","1wEr","1wFh","wQTI","uAaH","wg90F7E","2Q/Y","iQuD","iQuDAaQ","4w/U","gAeBUTjOAVc","+g45","ixB2","7QeZ","2Q8g","vxAy","2Q8g","oQ59","HSo","7Qs0","qgE3","C5w","kAEo","P/g","P0w","P34","P34","sw6u","qwHn","qwGL","6QT0AfQ","6QTXAeQ","6gSi","iQtX","iQuJAdg","kwuL3gTL","/wlB","OO0","OIg","iAv3","iAtV","fJtbQrAFuAT5AcEB89AEO7oBLWZqnAFCCzw","nQE2","lw0t","JrTyAkHJAbutAs77A4MJ7gFd3AHFkwFrNSSGAu8","kgtX","3Qs7","mRAn","lALt","1wFpoAFg6gHrhAO36gOXE2KbAsycAfML7w","mQ/JC78","1wFCpgxqnAFCCzw","iwfp","iwfkArg","1QH6lQj0Ee4S5scB2w","pw6k","gwxp","gwxp","pQ8q","7gVK","1gpR8QRH","gwNGBGI","6QnDAcIBvw","bo4q2BHPLanyAT0XS3W0igGSCrIF02vD7wGVkQGzYT8usmKkdqso32XZIIUMvilEJ0xLtT7BBMgDyQPKAs8NcQ3KINEZSRXfDZE","6gm7","BfEI7SXQBLs5xxZKAUMFqQiMAyYFThFQAogHlgNXDpsIaARZKKRcni9XHj8bpy/BHZ43qiwoJNc1RXHMDEwj0HhEBqgBnlm+FFMGuymuKUoOoCS6IEoGsxSzEqg3zglJEMoB4g7QH5cKKhGmCZcp0yNONbQoSSurHaBGtSawFK0tRRlMBX0ElnYkKq4Hq1dhWUEByDXo","3wq47AG0","wg90","9wTenwHosQV5co00+Q","7Qy4","7QxG","5wGdqgtSmwGg","cTw","eiUFJzSSBCxDllOcSyynBD8FpAavJTt3b2NBDSGjAyaGATomJSFWVag","Y6edAt0","gAO4","zg9H","TrgFtyy7EcsUvwFFAbcI3g7OFUcbUAbIGU8DwlY5mAG3F7slRQxBHLsLrEi7NFA73rwBuwaoFUhSu6EBoStHBEINP0Cl0wPUEE5tuxDaF0A8uxbf","xwdPlwi/","hALDqwbSAbs","mANzkAZoMDy6AVczUWy6etc","1g9w","ihAb","2AvE","2AGNnwo7","8gaOMp9LSNMCKio9fX3oAq5mN5oC0A","kAFBHUPCAsxxQu8CmIcBeUem/wGpT0rAAao","eHYBPuoBR0IrwwPR","kg3N","eHYBPuoBR0IrwwPR","1QGI","1QGx","wQRz","4QS/qAaDCXwBi6QDJA","2Anr7QHcsgG9Tko","2Ama","6gnP","6gnv","FWs4wEMotgtp6wNO","9Qvs","9QuX","HSojKw3d9AE+HUg7xo0CdxOVNiEUwtMDQkBoBrKzA2YDYD8lGjycAfUSIA","QY4","4wsn","nAwr","sw8x","sw8x","nAwr","rgFE","sAkt","nAwr","+g45","7gz5","xwkz","igtm","HSo","QCs","7A6K","7A4v","7A59","sgKkzQKy1AnU","tw4k","xw/h","xw9i","7An4","mgxU","AH8CXAGiBmMGfQGqAnQC6wamAUoCTQEtArMDTwh1AXEEZwLfBUwB1wPmBY4FPQFKAc4FywHQAVMBygN7A8gBNgG/Au4BYwK7Al4BSwFQAlQBjQWkBKgBXAJdAu4ELAJsA48CmwJmAScIQgOsAecBwANuAcMCNwE3A5MBjwEqAc8B7wNKAt8BagGhAb8BZgF4AdkBrQHUAm4B1AHXAawCmwIqATUBIwFAAZYCXAGhAWgBbQE9AUgFJwLTAbcDmwSmAq0CPQLdAiYCeQF/AnkBwwLLAqAKhgGrASkLqALUBUER3wPbA3QYXgXhBzIBhQJnAagBKwFjBLcCKAK8A9UHSgOxAZ4CJwN0Ay0BLAKKAXoE2wQrBbkKawJbAZ8FQRE3BOAEywNRAeUBrgGGBrUCWgNEA8ECkRHEAr0J1wGgBZoBkwnZAckCNgOTAWABSQbNAY4BqQGcAt4DdA4gAcEBTQGoAYIBwwHJAl0Qpg32AfUB8AH5AdoB9wHqCZAE0Q2XAYIDZxeCBIUBjwJyB/MB7QKxAW8BmQrOCL0EqAHNFcYHSgF2A3UBiAPCCdcC0QXmCGoBOwGTDkEB7xWsB0wBIQxFImYFzQObAXcB7gLSDXwNSQLqA+YCTwQnCkUQ3APbAqgE4QZVCVUD7QLVBs4CuAYtBHcFhwlOCeoGmAs/AyECagOgA34FQQGuAbgC5gVfBJMCogNCBKUDZQK9AowCvAGmBSwF4gGhDE0K+RWjAbUBzgLxCHwCtgTJCbQM8wp5C0oKiAZbAmsEsQTHBX4Gqgx3AUAErANOCFIC7gE8AygBjgJuAZ4EiQIqAtoEPg8zCMwMOwHtAaIBtQFMAXUETQGtAZMCvATUBcwBSQeBAkQBSwGZBtgDkATFA6gBVwOyAUgFrALfA14BPAFWBp4EPAdaAyEBlQRMAkAFmgF8AXEE2QTEAkwDZwePBaYC1QKOAuQFkQT3BGMBUwFDBMoCuQqABL4GUQGiBYsCnwGnBskBbAFAAaUBJgbBAWEDwQGIAkgFtwx6AkQCUwieA5ACRQcuBCsDJANeAV4BsgheBnwCqgMmAWwBqwOXArUG6gXHDEMB1AZ2AZAGrgKpAaMBdAJJBpwDJgKUAYwBdgE3AXsKTwImAy8CSAGdASUBkAFAAW4BYQltBE0G1gQqAcgFXAKGBEoCagF0AaIBTgE3GqcJvQRRAp0FpAFDAb4BsQO6BrwBzgFNAUsDjAJJASsJmAO8CqQBUworAUwBbAh7DEYCcQhrAUAHNwKCAkgQogFXBJoBnAL4Aa0BiQapA2QBqgY8A8IERgNxAo0ENAPoAbIBaQNoAU0FbgGkAcUJcQRKAakKrARtAUEBhQVqAcgBLgY3BHECLgTTATECmQG+AccBpguqAsUJrQPQBbIBhgJRDGIDwQFwAeYCvwKJA8ECowHsAiMBHAJiAdoEdwG/AUMB1AGsA8EGywXtDWoK5QejAY4ESgc+AncDTAM5ApEBJAHjAlkC8QHxAnABiARcBJ8CKgRLBiYBywJxCssGYgSdC7oBzQG1AXsCRAGCA/AOSyrhEmsJNw30AfUC5QHeAfAB9QHxAfQB9QHuAz4C9AH0AfUB9AGqBqAFlhWjGKoTbQvv","oQTR","mgGl","oQTR","sgnB","sgkq","Mq8GeAPHX0oQS+8BwSPE6wLh6QHxmQFDM2m9BKKMASous0WiAaI7RlFEf80","EzMCaxbKBUsLTgFXCF4BWQLwFLs4RxDvAUcGvglrD0sTRQXpGHMEQgTsF9whggLODFADRBBPA7wJSAtKPz4VPAlBDa0GQwMbHIUuRxlOFyUSwQGiGkMuTTVHCEUuhCbFW70HzRdKBa8BxQLCIaMhQR9GJEwQoRRCBWEEZQlCAUwGSRxOAlQLRQMqKWAg6wFKEbUBuwNNBeMBRzNMDKoHVBtHDUcCRAOABbEESidHETEEzAZMCkkJRy5OD0kGQw1RBZIBkwdNAkcHUAG3HkcCTQpRBWkKaxlEAU8BSw5OAUYBSQPuBN8BSStYO5cEYApUCIkCPgG0AkYCTQKvJ0kIrBpHBt0HSwFLBEsEqxdGA8kJXwrhAec0SglJH6YBxBSwEsWMAXIa3w","lgp1","lgqe","zQ8i","+gHM","xAdD","R0CTAYg","R86TAYgg1w","3BFJ","owFt","lgqq","3QMb","mBDZAdk","mBBi","mRBs","Sr4JtR5osgfW0wGZ0QLEevcB9wHsAePBAWA6QKsB4w","wQ3R","wQ1j","uArx","uAp1","wwGkkAGiK/EB2h2mjgFNwgJH0AFakwGkHaEfR9oBjIoDRhaW","AbEBwgJ/AosDPgKuArECUQNWAcQFTghRAosBbQdHAawCSwhLEFkBSgZGAncKxQGyAY8EogQpCyMGmQJNBm8PbwI7AWcD6QSgA58HpAS1ArgBRQGFAR8GawlqAjwEQAKCAXYHxwPSCkcBQASrAbcCqwTiB7MCjgs8CeANSgHKBzQFZgvQAXECbASzAUoB0QThBzsFSQLSAUsCPAREDs4EogK8CbUPfwSnAT8BtQG+AdcImQGWAvMB8glHAswH7QMsBKYFqQGgBz4NiAK4ECoFYwo+AUcDkAI4AWABSQ8wDUABqRtdAusCbAGTAakB0AHREYgIbQdJBeQXMgJRCOcBlwGbAUYBuwjJAU0DcgpLAnMF3QmvAsoHigGWA2EBngJNAzcEuQ2pAUABiQR9CK4BOwFHAZACpwLQD4sQRwcsAW0BiginC8IMtgOSA4EFTwnSBm4GpQKZEZ4BLgQ+AXMF4QGXBEIDZgeCDHsERwFNAU4KcwF2AmUChQ+1BHQDlwbLBEsDSgedCNQCRwFLAqUBzwneAk0HTwFGBGECoAFGA7ADjQc3B58BLgS8BqUBigKHAYQGcAumAS0BiwKRCsQMYwWWBFMCmwNAAWQBywFwAnwF0AGcBHkE1ANwAXYB0AHkAnABPgKsCIADqw5LAnAE3AVCAUMFdgJiAYkDYAGXBFEBQgx4AbkB4wHnA7ECSwFWBS8BmQGFAccCfgOGBJUChgFqATkCZgJzCXMBowLLA6cBUwaLAnoBdAIqA4EEYQJpBUIIPAGsAUIDoAGnASIEcAJsAR0B6AVJAUIB0AHLA+MESgZGA2wBagOaAkcBjQaZAqMCNQOWAYkBPAjJAVIBdgHYAdABUQOCBEQE6QF/AU4BwAGWBZEBYwJ8AXELeAGCAbMFQwNZCa8DzgR5EzsBbAOrAeYB7gPQAroDoAFEAkMBZgHiA0IEQgKYAYQEQAJEAVEE3AFeA9YDRRG5A58DkwKbA0wCRwXbA0gCQgJEAb8CsAFMAp4FhwbJAZcEeQJ2BkcBRgOtAZ8BawFMCMgBOwHdBacGfwVxAqgBfwORAfEBjwPSAYwDQwGeAUcBSQaoA0MCpgKfAksBdQExCrUCxAFeAUYBbwGvAZ8CSAFuAZ0FZAPLA7ANkAriASsB1wJkAZsEsQNSA1EFQwd+A0QCpgFTBLwHTQFaBLYBpgGUBGIKSQExAksBcAVGBN0DcgaEAYMDTwbBCisCKAd8AbcEYRTLAbcDhgGbAUYB8QNwAUABrAFzAWUCaQGgAboBZwGoAbQDdAGXAT8C1gHuAboBkAS+AUICvQKBAbsDnQFAAWUBvgSvAiEBjQGiAscDmAE9AUYBewGqAlEBUQZLAUcBRwHuAkUBQQO0BdMIxgMzAX4PTAXWASkBSARDAjcDUAJJAaIBSwpwAjEHtAFkAbEFpQGaArABywoqA3AByAK2AXIBYQJDA4oCsQM3AiYDVQI7AsoDwwGjAV4BcgFHBq0DmQPjBqYEbwJ/AnwIYAGGAU8JmgHNBKEEUgRKBJ4ElQHOA0wCngHpAbYBtwFOAY4BrgMsAScCwAFpDNQDoQGjAoIB0QFyBM4D0QJhDKADagJrAmQCzQVWASkDnjHQB7Yb+A5DKpoJ4AnNMJ8","tA+u","mQHmuAFz","jgng","ow6d","jAmh","kAHc","lwzlAY8","ww7Y","3wHaMjQ","kgqO","ww7i","xATk","0QKW","oQOp","ggPoAec","txDD","lwzj","jw1E","jw2s","E00","c0osQS2vY00KoSVIIkQmRHdKIkkpRgtDDEueAksjTSNIwgFObj1J3h2pDkQC3wHaZkYESDlDwAJFDFAhQbgB+sEBtA","iQui","yAmnxAHTowVE","CT4CjBpHAoADNAE+AXE2bgGlCpQIuQKHBzMrQho8CYkIkQHSEt8GTAhCEd4RqAPTB+cBgSGnDnMFJxtWB90CWAfAHFEUtQ2ZG+ActBPdBt8C6igtEaYNwAE/BrgRXwPID6wBhgfUAbEDmAybGrsUuFDcQrwUZjC0AtcTyQWfAqoWQwjfF3QBpQdFCU0JShWFHfABng81Bn4O1QltGUsCZQrNBekfRSyvJcwIwg5NAlQV7QzMAqEBiRLYAcoDQwxLCLgHMSy9BEchog5KApEGdARTAZkCVxbGCccMTgFRAccGQwiQHTUGfANIA0oWwRzWDJIEzQnOEXAPuhRBDDgonALpD7ICwwItBMYLoRlyBJgCSxRuCakRSwxiDVwOPRJGBcABTRHODHsEowthKkUBaxluBpwBlwmHCUIIsQtOBFwtPAxCCdAU7ga0Kj5UwQ","8QyL","vw9j","kAnP","kATT","7gRfqgucAZc","5ght","iQWx","1geF","mgK6","0gvMM5vGAd0","ZuOZAZb/Aso","nA0r","+gPa","X2I","X2I","LpARfgPOAcgJwQLIFsQJcT+mAZsQhxiqC4gGKw+MS6cBrQVwB3wJzwVISMofyAW6JrIOqwdsN88ksy5CG7ADWRmkEYoctza1BskLqQ0uBssunCd9CVAUiwGgDr4KmQOzBKIHbCTAB7wDZhekFycJlQJxHZ0LKgKYC7UIsgFEGEoDsQ2QHYUKsAXEA0YItwaUBqUJpxIfBG0TuQsnIjsFuAc5KHcDiAaXAqoDYANrD4sCxRJzB3QDTAFjBVMC1waOIGwkRQFiEZwEsgKUGnwHpAG8C9MKrgubAp8IfwHDAbANnA6bG50KgwIiAZYBeiawAXkEixOkB80qogRSBKgDIQejBDoBlQGXNk4CiAWCBkETuA9WC7sDwApaCZQrpQKhD7oDnARHB0cBxhA2Am4KLwupUcw","4geYrQM1","GsYovRCxQkAYJ0osV5VWnFqEBHLHA5kCWA1JCycc3LEB0DCWcpUFbzJCSJshpSW5KS9JKjfVPo0DYHVxiwGq","nANfB8CGA1QNnM8CVZoERg","A1MbrBCFOmsLSiCjFkIEZxq2aJkRlTSjJ6YIZR+RBZs7RCaS9QKdCKQdIQZwGp8rrQFzGaQMuAt+CZUCnyRJBFsLlwWuAcAEbgGiCo4MKgVSA04JdwEwG10GnAZFAWMErRFIBn0hd0NRPG8BRRI+AZcBtxtBEqQEpRAuCaUSuQKbEZARnQSGDZIPsCaiAU0DjgpJAyQKnAIvGbMKKw4jKzwOajKlBZQDoj2iBS4MbjB+FqwnRB+rA8ELwRO0CpkLeGdE","oQZGhwQ2+AMgG1gBtwdkLEgVOwI+J0gZMwI4D4MThig/","pQdO4AKQeU4","ANMBxgHIAdAB6gG5Ar8B4gHTAccB6wHEAtsB1AHUAasDygGOAeQB3gHmAd4BuQHcAqQBzwFwAcgB3AGJAtwB3wHQAtIB1QHSAd0BwwHOAtgBwgHbAZoB2QHhAawByAHGAdAB3gFyAYIE4wHbArkEtAGpAYcBuALUAsAC0gGeAocBxALtAasBpwLAAd0D0wHXAecCwwG4Ae4CywK8A6EBvAHWAdIBwAHTAu0BtgGvAZcCmQGaAdsB0gE/AusBwwG3AtgB0AHsAdACswKHA+oB4gHLAbABtwHeAcsC0AFHAUABuQHhAdUB2AHtAdIBdQHiAd0C5QGwAdcCxAJxAdoB5wHOAeUB6QHsAs4B3gHEAbgCwwGSAdgBqwHKAd8BuwGsAdEBLQHcAS0B4AHLAc4B2wFlAboCvAFGAUoFzgJ/At0BRwGUAZUBqgGfAeUBzQHnAXMB2QGUAuEBvAGjAaAD3QLVAc0B2QLfAd4C3ge3AowB2gGdA9sB5QW5AaIBwQXpAZIB1AHbBeACjAXKBbUG4AirAtYEfwHOA9gCOwHAApwB3gHOAegB5wHRAZMBzgGaAYcBnwG9A2kHnAG5ApMBvAHKAU8BzwHGAdID0gGlAuYBswGRAbUC4wKPAdcBtAHRAt0BzwGuAesB2AHlAdcB5gHiAfECRAGoApsB1QWbAecGagHiAdcEcALoAaUBcAGjAb0CkAHUBM8C0QHAAeABzwHfAa4E1gGbAd0BpgFqAdIDyQKsArwBwAG8AeMCfQnlAbwB5gHmAcsBpAG5AdkF3QHKAeID3gHNAW0FuASyAd8C4QG9ArsBmwHRAbwDoQG6Ac0B0gGLAd0BvAGJA8cB6AHqBL0E0gJ+AsEBugHXAdkCzQGcAcgBxAHTAbcGzQarAbgBygHNAl0CuAJhB6oEvAKxAcsCnQHsAeAH4gHcAcwB2gLEAWsH4AHMAeACvAHoAugHywHhA7wCewS6A+kCRQJyAsMBqQK5ArkB7wGUAtUDzwHbAuQBdAHKBMYC5AK2BaIBRgHpAcwBtwO5Ab0DXQHWAcwC2gHBBOAC4ATHAdwB4AHLA78BvwHpAXABowHJAasBkQHAAtEB1gORAdACuQJNAn4CzwG6AtECzARHAcIBvwHhAd4DjQW8Ad8BvQPaAacChQGtAb0B3wHgAbwDswG4ApII0AHJAdQBswTWAeABVwK8AboB4gK8A5cBfwLtBegBkQOqAdEB2QG5AXoBvgO6BaEB6ALRAe0B3wKyAd4BvAG5AkoCnwOjA0cBewOrAdQBlATbAakC6QHpA0UE7AHmAYkChATDAuABwQJOAXkCigK3AeABzgHTAe0B0AHzBtEBxgFUAeMBZALWBKQC6wPlAXIB6AHgAkcBTQHSCUYBuwHMAdQBvQG4Ao4C2gHWAucFuAfHAdMDpALdAecBzAHsA/AB1AJKAZ4B1wHYAb4BmAJFAkgC6wPhBZEBvwFbAUEB5QTzAdMBnQHRAccBvQHuAksBugKvAfUB2gHRAZkB4QFGA5cB3wHDAd8BhQGZAegB1gLhAW0BuQLPAUYB4ALVATwB3wFCAWwBxALoAcIB6AK5AeIC5QHcAd4B4wLvAuABnwLjAzgB4gN/A70BuAG8A7wDwQTiAWwCVAHjAegBwgLqAsgB6QKQA7kBVwHfAe4ExgHnAa4B1gHYAd8BxQHSAe8DUQHVAs0CfwHEAeABmwHkA9UB1AHVAeEC7gHQAYAE5AG6AaECtQHBAs8G8AO9AdMB5gHVAesB7QK9AsoD5QGzAs4BagLcAdgBbQG9AeYB8QO5Ab0EdgO8A2kB1AHcAsIB2AFMAdsBxwLjAdwBTgHRAn0D4gK5A50CrwGzA7AC6QHXAfIBpwK5AeEB5wHRAU4B3wGnA9kE9gHdApsBxgGeAesB2AFPBcUB8QHgAqcD1gHhAeoC7ALNAcQBpgLMAuoBdgHlAtABrgGyA8kB6AF4AcICyQJxAecB5APDAe0CuAHOAdoBiQS8AeEBxgGvAeAB4AHtAkkBzQK4AbgDyQHjAUQC6gHWAdUD7AGGArkD4gLSAdwCiAGpAdMBywHDAboB3gHqAcMB2gHVAd0BqAGGAdIBpwHtAdoC0AOgAdgBdgHTAfcB4AGjAuwB8APlArgBcAPHAt0BmAHYAbcB7gG6AWMB6wO8BM4CuQHqAdwBmQHZAcgBoAPgAtsC3AFtAZoC5wG/Ab4CrgLLAvEBzQLjAXkDsAGYAd4B1wO0AdkCwQLkAdoB3gGzAZ0COwHTAckEuQPRBc4CsAKoAq4BvAKkAUgBxwHaAYEBmAHEA+kCwgHWAcsB6QK6AtECzgKTAaUBoQLmAesDpgLSAb0FvgJuAccBUAGxAasDkwGeAqYBQQHyASYBsgHfAdwBSAGbAcYB3gFKArcB1wHBAp8B6AGkAuwCxQGWAvABsAGjApoD9wGkAeIC4gK2AqAB6AHWAX4CygG9AcgBMQGxA8IByAHcAs4B2QLdAeIB0wHKAcgItAHsBLcD6wHXAtEBuQFOAYoC6gNEAakBNgGKAcoC5gFmBEsBwgOuA+UB8gGrAcoCbQO3AdMBpQGpAYkB2wG2AYIB6QG1Aa0EyQFNAekBsAGsBeYB1QHKAcIBiQG2Ac4BowF8Bt4C5gLHBMIBeAK9AcUC6wG5AXEB3QJRAZsB3gGyAa8CyAOVAkIBsQFRAfEByQGNAWEBfwFhAssCUgLQAakBpQJTAbwB4gF6A9MCzgHYAcQC2wGPAe0B5AJcAkEB5ALSAZECrwLdA7wC2QFSAt4EmwKHAXUDzwHVA7kCowKVAuQEzQHUAt4BTQEyAYcHwQLIAcYBzwHnAekB4gPeAdcC7wHrAeIB0QPCAdEB0AHVArIGkQKEAtwB1gKTAokBgwLEAekB4QJIAcoB1wGyAugB3gHPAdwB6wPcAawB0wGzAdABvwFfAfIC0QLuAcsBmQFqArQB4QHEAUgBswLpAUABYAFLAUkC0wG1ATwBoALDAcgBawGkAUYCkAG5ATwBbwFbAXcBUQFIAZwCyQHNAecB1wHIAaQBTQFmAc8B3gHSAqQBcwPTAacE7QGbAdUBOgEyAdUB3QHWAbwC1wWSAbsD2QFJAckB8QGsAdYBhgFFAUMCvwHIAogB8gG3AegEsQKiAUgB4wHdAdgBrQGmAXIBsAEoAeoB4QF6A3cBkALVAS4BqgG9AbMB4wHWBMkD2AGhAegBrAHABtUBrAHuAroCtgKnAegDwwLoAcUCmwHOAZECngLhAtcEwgGdAfABzwHBAc8BwgKwAtcBvwGQAXABgQHBATcDcwHXAm8B4gJ2AcgChAHkAe0CegG5ArkDnAHNAeUBagGuAs0C1AHGArkCsAG5AcUDuQHVAbwB5QHaAeEBvAVyBWMBRQLbA+0B4wLmAaUBmAG5AUIB2gHZAbgBnwGIAtQB4AOwAbwBnwHZAVcBxgN0AUIBSgG+AaIB7gHDAasBuQKmAdsB3QHTAsYB4AN0AdwBxAPWAp4BxQHZAd0BzgHuAegB4gG4AscD2wG2AeMB6AHlAb4F3giZBLYBlQLoAfEDQQJEBN4CcgdJA8EB8gOsAtIDRwbNAkYBhwLVAqMEswHSAcQCygLYAW8CvAJEAeACowK5AZ8D3wFJAW4EswFtAuABsgHbAakCQAFjAusBPQNAAZ4D7QHeAUcBxANIB0wB5AS0BeABYwHOAz8BxQFGAdkCSgRuBDwDSAHQAuADnQnWAXgCrgLHAcIB6AHVAkcCSQLXA0kBbQHlAU4DbQnpAcUBnw","iwGLkw9A","/QdUJ54","kwXMAsk","lA7V","c68","5wa/","iA68","xwTM","+Qqh","xw7RmQNJ","1wFb","wAOkJ4s","oAWK","fkM","owO4","mA7r","1QLG","qwHf","ow7I","7wtp","wg2Z","kQ5p","rRB7","ogOb","jAF5pAKx","qQ28","lgGr","vQNa","vQNa","yAxR","phGt","MoYr3warFawl1YwETNAB0jzJ5QF2","5At/","jAnK","qwFf","An4","CJE","0gbM","0gbc","4ghv","gRHg","lBBG","kwqS","5gF0","wwE6","+QV/","xgxa","0Amc","2Qje","5w09","vxHP","+wXY","+wXP","VWW+CEsVmQ","5AJq","lgOx","tQFg","JcM","/gxD","mgFB","qwFfIfg","zAHk","zAHu","zAFw","pgHP9QWe","+Qpi","2AGI","sQnE","pg3P","jAF5","gBHB","nwGwCME","jAF5","AIIwTwU2KuMe8WvsOu4DtgGMG98O1gRPBPMk0A+0DeVHYA7PB5Ij+QHzAuQC7gFkFHw3mx/YB4QM8xO+BegH5gmXGrMBwQK0AtmMASQtyyHiH88l9QGgI/YfNDbZJ13dAdoE+QzkE88CyA70BfIB9gF3Ae8G4QxICeFG7wPwBUMGLxM7EuqbAbBgthrqHnQN3m7sSyE06S3UBMsK3AbcRfgZeAXN","/gfV","lwyN","ogjN","mgzi","oghD","mgzd","9xDm","sQW8","/wrp","+wpXBKg","qwnt","A5E","3gqE","zgy4","qwFu","CMQ","7Qlf","JXKVAWQ","uQff","sQix","8w5a","7gRf","ow7Z","ohLm","IUM","owm+","1gJ+","xQrO","uQmuB8k","6AKR0QJ/","6Q7X","OcEBcg","vwI8rgJykwK/","CYQ","mAOe","tA2H","Vek","iwHp","iwHV","+QqT","vgGw","mwfO8gbLB6s","rwJ/","kg+F","mwee","2Qiu","sw9s","kw+j","ygui","XaMGpw","sgl+","khGH","zQNx","1g1l","Rmm2A/FkQucBsZ0BZeMB01jtAYYB6EOwJWoxzhabAbFB5I4BtEW6YO8ROgzBJ21S7TfuA84G8gNtBLo","pgNE","9gKsAcY","RIEOsQQ26gGhY9DCCnA","7wUh","kwfv","kweN","7Anq","drUDiBxAKbIByVjKB8rPAaAr5VBwmwJH9AHiygGO8wLya+OfAbrVAc4","ug8w","tA3V","ecCeAbMHzygr0gF7iwbgkQPT","owrg","wQnFmAG7OHcUdw","kwfk","kwdM","tgrH","N7QRuzNcDJ8EbQO5AbQUSf4BsCZuF2BJnhlcHTAQo1IvB229AaRUnQpjgQF4Mq0OcwLsQp4GSBGZFJ48qQmaWr0NokTFCVEEcgeoAaQQvFN6FXwHpzWuDLEnZBWXCJkakAOdD5cQnSiaFXUciQlMHbw9oyudBqQDnw","5AecXD8","D7cUoxqADnYlzgKVAZkCly2/BaIEbQddBWQLxgWlCZkPow2yB54DqjOcDn9AUwmWBGYUpAxJAbYZPB+VBMMNOg2nL7cMPgJoI2UHfwaUBZgEngWfDpIctwF6A2UFeg1NHcU0rAudC5wJrQOVAYw6zBjQB6QTWQedAoQglgMhDaMHZgynDEEC0jZWBX8JnxG8ETsMnAmeEVIO4RBwCHMGQwirAqMGMRFTBMgHSwJCB1IHmgJpE04DqB6JD6MGkwmdA3UB2yHKBioBpQpDBZsSqgOwB6QCRQKpEGUKfAylCKYcoxKbAbYUawJOAtkUpAFPA54HnQK/BJ8DqwdYAtMBoAeQBaYBsBiEAb0DnQHSAUgUUQS0CkoHpwibAlEGnxNOAZslXAyWCpwM0Q69B5sERAvRDm0BoBLUAqMCVAeqAqkeWg1FA54BiAGdAaIGpgR9AakJnQ+pFKADsAJLD6AFpAq4Bb8cUBSoOUgE4gi9AmABfAGNAoAUyByzlQFC","qQyo9gKr","b0NIoQ","lgKhHZmUAW4hmXpKC0+qAps5O4YBWibFMHsTwAuYBaQuMhaZBcglTyZ/MKk8Hml3AZ1ApzokT2splE+XBZ0dogMoFEcSpE9rHKYBNgydFylMSw","AaMMpwGxAkkDbwG6AoMD3girCK8Bjga1AbkBzgV3BZ0BdwWCB7IJsRGcCXUCtAE6Bc4SmgUzB48EoAetAkEEngF4C2EBUAJZAqQFSAWvCUoOnwO4AaEdqj3RAaoEowO6GawCdAR/AnUDogfPDr4IpCiACIoTyRi4A2wDegmiApoIqgl8AsUd1APKG9ssygW4ATUFwTKOAYoEtgEsBKoEyhJlAbMTRhTLEtcMyhWuB6YBnge/Aa4wqBSlBaQCtQKcCdUXdxJnEnUBtQOiAqMIjRO1AlgBnw5UA64fmxeHDpMG0APIA6IFhhF3CKwDewWdBXEDoxhJDccHswFLAUsHgwOIBKoBXAGeApsEkRanAVMHrg2dA8MSxAuKAkEDMAa/Ar0JmhUeBFIDkwkzBs0DfxSsCIQLgAOdAsAhygaYDbgBpwFlF0cEkwGeB7kJyARtEaQJSQSKBH4CzyepAngCSQVLAoIFigmzArcBbwi3Aa8N1RCzBKYH0AWzBKoDlQajElsC1we3C0sEcASVAqcE3Sa3CNQEXxvABC0Mtwc/A8oglgYsAZkBowFqAosDlwRNHKgCjgF+AoQBawjKBqAErAFBAUgEpgL2AXkBygidCUIUcAK9BGwBpAKbAUoinR6lBlIBoQJHBukB4ARmCX0EVAFQA00NpgKhAk4MbAR0C8sIrwKDAoMCqALDA9APPAvBK7cPSS82FkIDQwi4BkQ","hg/2","iAq/","zAmj","oguo","jQLO","oguo","lQuT","lQtb","FqUMejDRHe8DbGm7pwKYAS0wcI0BwhNP1AGmoAFYEl4orkenBMwOoQMzH5UGwhpHQiwnR0JEEUxAwCCjNCssUYwByAOGESUecnRgXZsFZw","bz8","jgHW1wF+gwI1FyvBAiOiAYY9uQNzCSRKKrIBqE0y1wGNxwLNEiM","bl1qYYMDS4UFQs8CSRFElwFF7QFHA0dqQRNI","ywTAygH0AeDlCrgBvh7L","owPn","RH8","hwx+","ONoezcMOrAtB","pA9B","F7EF2gRRDWkBuARpB7gBuAVhBLgBXgGSAnoBYAW3BbsDigTgDz4HPwHiAckGoweSI0MCagg7EUAHOgE8FNICogPeHaQT3CJCEEYSqgVGD68Frw2fJbFMmRWcBZ4BoD2xAapkqQSqpQFEV0UXsQVLdkwwXxlMJFQHQwF7QD0WpgvYAeEHWFNJHj5NSByFGDAkQ1NDCrQWnw1JCEkiRRJQBEcCQwlAB0YaSglwAUQfo09OIUkITApFAUEFQAQ5AUcFzxR2G0oTQRVF5QHT","NawhjxdCCeUPswzovwF4I0Q207QBxwuUWbSHAil84z6WFUdAY1E/QW9mZjWzAuwB4weOB+MKo3/Q3QFJK1bIArE","qwGfJdkWm1WdjAGbpAVIW5TZA6Q","ng1q","qQOZ","dtQb0cwDrWS0wwazAn8Bxwd/B6iJAUE","3QSV","lQWrgAmr","1gr2","lwqsP+k","1gqo","1grQ","1gpv","ADCiAbQ6cYICMAow8QGOyAGXAaa6AigRew4j8gE02QGfH1EIJxEvEpcDogIjAShQLV0iDR09bg","pQbG","Nok","1grA","1gqB","ugzz","uQzd","uQxO","ugzz","ugza","dO4","dOo","FVbFAYcgafYB3CTrAdCnA+fzCecB2A","AOgOxgT0AvcDqAPvCewD5A7gAusMvQPsAfEGlRBUCtMB8gFjAfYC8gOpCbYEQQGtAUID3wP3AfYB7wHpBvkC+AOHAuUDJgH1AUMCtQO4CUQFOwHSA58FwgPYAz0D3gPqB/EHlARECvEC8AGjAdUEugF3A+cLKQS5DHcPsxC/BOwFoQr1AcsFWwHuBeYF3wGBAcsH0AKgAk8EsRT0ArIB8AjHBe8D1gG5AosFZwHQA60BuQGRAfUBxAH6AfcE6grjAcgBxQOcAtYBJgJFA4UD7ANCA7kB1AHQAdYC5QHuA+4DdAKdA9gB7QHPAuwC6wHjBuMD5AfrAsIBuwLHC+8S2ALVEuMCqgHUAZsBXQHiAtMBwgFkA38PYAO+AbYB+gbPA8kCrgP3BFgC8RA/AekDSwHTBNYF2genAmAE0wLfAfAC9wTjC98HzgHuA20GnALlAuQB5QHwDqkB8AHbAtkC5gPZAXsD7QSgAcME9wbsAdQH8wHpAtMC3g3MAekD4QJvAfQFgwFQA6INPAfkAfEOOQivBIQB7gxaAWwM3Q3oA08BuAP3BdsBlQLKArkB+wHEBO8H+AFaBq8CfwrSA+wb9AbYDfIJjwPGA84C8APxAfAO2QHxC+QI9gHZAjoB7Qp9AtcB6wfhAvQC0gT0AeQFhQPeBpsB9gO1AtkD9weeAb8NzgLOA8IGvAtRCpgB7Ra0AqIBTwSqA98D6wLyAfMBagLAC00B6QL4BIQDjQTzA/gCtAJ3COsL6AUwCdoBSwO2Ac0DZwVwAcQBzQLzBrQIRwGMCEIB+QHgAfAM9QHIAaUDmAOYAWgCtQLTCOID7wjvAdAF8gj0BaIPjQEhBSYCZQHJBL4EvgU2AfYBxAFMAmYDWALWAS8S9AKuA80JrAPhAs4CKQKlAasBzwLoA6wEKgrrA8ENsQveAsoB7AH3Ae8C2AHrAdAC2QGjAfICsAFHAeQMvQiOAfUC3QUkBNwE6AS3Ak4E1ALwAtIBRwaBAagC9QGsBnkEywN3A50FRASHAe8B8gbUBDYBcwxDAz8B+gPtAVMIhgRGBnYE8gFGBKQI3BO/AVEDqAXxBeMC5QHkAegI3AH4B/AFwwGYCLUG9wH0B30JrAHwA0YJpQFgAUwefAS/BPMMyQFVBvMDYAHlA10C0wf2AfsD4QHsBD8EhwrQAdcBRQLxC0gDQwRuBc4J8ALID5sCtgTEAVIB5wL5AfoB+QHFAfAB7ATmAV0DogGlA9UHsQfIAigB8wExA7cC3AT8BIQF7wHkAmcF7wHOA0YCuQLJAWgBQgxEAaAFkwcjAfQB1AXcAikCJQK8A7wJyQbUBNQC6QHlAdQM9QvaAdYB4gH8A74B0wpuCMQDTQFMBdQG3AkoD+cE4wH5CuEC2Q7wBfgB6wHiAkcJ8wbBDqkBOQX2BcsDzAHsBb0KhQJHA/ABtQTnB0YByQPeAcUEnQHlDOMJ9APUCPcBUA7ABOAK5gK0Aa8BrwPcCcME8AG+BrsPVg","EvERTwGxIawBciDIBsUCuw9CAzIO0QlyAkMWZwVxCUID6gfWF+oKPQ+ICJ0n2g+hEZcB0hCxDkQmrAJHGFYCyQGeBrQSownMFa888yfbBuARwQNLPvMmowKoEWwNwQPbPtIBaxlqDaURLBRmD+NCahVfDk4BbQ2lA4gJ7Qe6D9MfXUIqFEcL5gNLJKMBagWlEqQSsgGaAdYMRljrA0wF4gLjE6wOvB6fG+MC0AHcAWYB3wH0AegByQHiA80BZw5RC9IC21i7CGgXYAyDHLkt5ypIPtEB9gH1UDMKjic9BIQTwAL3Ey4JjxhvBoAgLgKkFmQN2T/SAecLwx/lAe8m5QGaEkgbwhaDB70","+A3D","+A21","xwTcwQm2Ac2YAcAC5X/Z","kAni","zwri","jBHlAeY","4gXb","iQ5g","iA6NAY4","iA7g","iA6NAY4","9xFD","iA62AbY","qwu/Ar4D3wLkBburBeY","wAF2sgmi","xgKX","qwy0","0QvS","4Qmy","0wu8","gQim","xQPY","tQ5G","8gxl","mw/a","uQo/","swSopgLWsAGBpgTgSM2KAcCGA2o","sRHEBMU","0Qvn","4Qnd","4Qkp","jAFiC0swSnpzTEcHtUqbVfEOnVFjHZy2AdYWxugBZgujFVY1oAV5CcIDbxpCMlidAaV9R3FEWKNCqCmwGtEWPKECSg","sgS2","4g66","4AvH","Gt8","vALZ","jgHt8QF2vQ1j","5QWM","vQXD","rwvfCeU","nAd/","yQmy","4gXSpgi8AdD4Aqk","vQez","kwvB3gTu","8Q+0","+gfk","jAFi","swS4","vBCu","+gfR","+get","tQLN","kA2K","4Qns","RsY","ig/N","vw97","hQnw","zAPRrArNwgPw","+A3N6AJMWs0","6wLwUlOKAb7MBNd0boEEyQHyGrysA+k","2gag","2gag","8gzg","swSo","iQ5g","iA6NAY4","wQXh","Iy0","zgbw","zgGU","xwGr","acw","hwrm","jgHaaVoMYHhgUFoTYGOcjgHWHd+LA7IZ80giRUdHqE+77QHGrwTF","jgGl","jgF6","kAm+","qQfy","zga8","9Aih","ugZqjwbq","zANsSKq5A9lGteUFisID2w","+A1y","+Au7","kAng","rQvDAogIo6sFtw","3gHfYz4","3AvcEME","7wnG","Rec","hgha","xwGE","xhHg","/A08","yQnn","yQl1","yQmh","jAFi","FOA","4AfKvwXs","+gff","xwQ8","ww7Q","+wR1","kAPF","xgN2","ugfG","jAE6lQ1F","7RHQ","lwHw","wRDm","FLA","jAHZ","9xG/","wQXk","xQ/c","7wnr","mAi5","ig/u","ig/J","4QnFAtc","6AXy","+Aeb","gAS9ggVN","1gbK","7wmX","twGd","XFSMAdT0Aepr3TDh9wF/KO0kzf0CJgI/mAGUzgEtAVuAAcwDnkRtLOpQugG9AdSEAmQ","oA5a","5Q1w","EunSAboBd0HXIoVHy12xKZy7Ad6DAZpr1BqsCbkDd+QC3o4Cs0rjEKysAboCtQGzYZJ80wS0Ad8fzkTrNuQkPw","2g7E","ywapMKs","8wjJ","kAmq","AIw","jAHlgQ3h","ig/r","kwGF","kwnL","vw+m","4w7c","mw/C","1AaV6ASe","xwHK2gRe","5w6Q","9QTS","yQmmsQPRAeeFAvM/zg","/A3N","lAO1","NMA","xwHR","9Ai0","/g9vAdU","nwna","9wGD","5QbejAK3","gwHoCc0","A1NcRiFJI8EVPxO3FD4OnQvkAqRJRBNGBqIYPzPPGdN0sgxOMWM0x1OnggKkDGd7uFo7MtaIAkUJ2A1DRoEBMWRMIakIeDXHJUcXSBo9QjlaQ26gTcIBPBivEes","nAdE","rwxJ","JE0I9RpCCLYLcQZGJ0MdagknB0AMdgQ8B6YJRwlxAz4UPAJCEkYinCQxA6AKSAdDG0UPRgPuA6YC+xVFPzwVRQFNZK8BqAaUBjwFQwihpAGYTJ8VPxWkHY8CmCJ8CTwFQginAUm4AZUDQwieBE4UpwFEAUYHSAWWAaIBMgY8AmgpRgGbBCMESAWsBEIIRRIiGKkRow2dDTscmAcmB5wckwGeEo4BQAJLA54dnxBIA50DyBisD6AJoAKgBKMOpBlCBKwBnAifCkMQTgafA6QKqiSpBkgBRAlFDjwCURk9ArESlwGiAz8EmQylAaQPPASCC0UROhpIEJ0HnCBRCUkSkQKjA6wJPAi/AUEBvgi7LUcDRgJBBKIBogVAD58WtQKgDnADSwFEHbGdAfc","BJk9iwO1ArormQlGAaACnAmaBqANpgFBFKkKmwOjAocDoQdvDEcD1BJilAGkJXcCnAVxMrEEigGnEMwvehqpAsshpA2US4EMowJqJ7IGrASmKK5pRyKWIqUYkw+lC6MNmCGkDZ8DphByH50urQ6kBmgGdwGaG5gbrRWsCbgHmw2qBWsTkwqmAUQjcwZ/BaURkw+wApwSqQmlA0gSpgpjAq8BsAKkA5ABYgRuBHMNyQGkBqcCfARpBqINoBBrHG8OoAJoAasIpSekBp8HmgK0DZgRoyCgCnMSbA+qBaMKnQtgFp8KWgWmB1oGpAebAogJsAKXE6IhlxCGCZwRnwywFK4MkAh7H3UfnBCSGacHegyrzAHI","IKRwQUtomAGnhwilswFDogSX","IL5XfWRYmAFr4QSZVMC2AaEfmX2xogGkEan3AX5cnSvXAaYIKQ","kwOt","fE8qo/wEQvUBisYG0Q","lAfF","c5kHoAGgMmcuk8ICm6MDmgqgCplfnThIcC84gUamIZdKJiukOJ0boVSb1wGmFaYOnQKmCJs","kg9G","+gF/","+gF/","BEZBchKKH5kzphItAZgEJxQyFJwENwlCOeEBmS6GBH0bQQ86N5EVplV7EzAYJRdgE2ojmhV6DW0po9UBKQSJBqANd2QpBpQcMx2sAaEUYQ9zEk4WmCYrJTABdTQzD6YKKhXLD7UDnA+JF70OsAExDmIi1wI2HiUGLQJBCikONhemCWwnUigfAvMlKyCwBiEKnQElB2QBLxU6BKIlpkKaClgChgepCKULPAh+BG8YrwUiC78yqCd9GGZ/Pg28TKs","tAVJ5QHL","uQI/SkY/Nv4EP4kBpjaEA6aXAUDHAU3cAjoHQQ","bzoCrOkBpjGRiAGmLKOUA3KHAVEBvj+ZPiInHBdvHlJYPwpHL4AFopkBZWJzEihvKyC8WV8NK08rTzw","G8MxRnCYygGknwHeqQKvwAG4oAEvG6YNlmOaP8t30dsCPg","oA3o","ClAEfQbMB0UGdgG4DM4DzASqAZoBvAlCB6kEdgLKCUUIXgHcE5UBUgkwC58CWwa0DUgCSgFjCiwCNw89FecTzQi+FcwLpwd0FaANSgdCCK8FcR05AV0LpBt5A2IKUQ2qBD4NtgWeAjceuRTpHukISgVhC9kI2SJFCKkBqwWoBUoOdAXpBnEEKwbNB2AEeQKSB60FNAbmCl0BbApmEncITwGYDawN4wOGA9IUigzDDkIDzSPcCokEyAR0CKQNzwbPAkYD5AZzGdsCzgFWBkwGZgOlAZwNbgHnA2oEKg9FD5kBpwxIAUkEzQzSA8YS6Qi9CboKfwc8Fa0T1ATNGM8OTgKwBdQRtQ0kEqUCNAOfAc0D4AOvAskCtQkhAm8CUQe7BmADZAG5AloDjQbgB0IP3gEfBlMDngQoH9AjoQLcBM0FwwjdAcUGyQNbHHQNRgEmB7kCygS9BaIDTwIhFNgKJAR4FUYOnhB4A6kBtgGwBI8TQwOeBZ0GfAMiAUUCRgLVCEgEzRU2CisXywJ+Bq0LpA2oAs0fegXaEU8B3wmtAbAPfwfDAhkRQg/PB7IBqzIyDHQDTgl2AS4BYwiXAkUIMAVHBc4DPAE+AsYCSxXiAyYERAIxC0ADowMjAV0OfSiuFEcLzy3WAZkHagO3DUsG1Qu9ETwSQAhJCdQEPAJDBDcdRQGcDZYKPwpEB0I","2RGW","3gpz","xxBy","3grD","7AhP","kAEoxAp1Qiw","X8g","X2I","lQt0","uAKcGXOOAkmUAkqdAcG3AaYrSQhEQKCIAqFpSXCbUKIbpi6X","gAdz","9A1/","IXa5BnQ","9AXS","zwGn","+Qc4zgN5LCe+BJU","lATDAdCaDbAB2A","lAR6mw3H","lARQ","mQHZ","mQHZ","kQLRSWzoA54","Mmkn1zK5D6+aAkN12UHDjAPEugFJuAFJNWhHtxWEhwFyuAKvEEAyjJgBh2lh","9ge4","9gdt","sgWtlwVz6QH3UZcBwfoC5psC2g","gw2XAbGVBdU","ciUilyBiPylTK74CdaIBUUYk1QE0BShXKi93CiEJph2KLB4BMRBAJSxfqREwNmsKNSWeBTsPKC0sHFsMKwJqBTQJMQgrMTMyQAkgDCErMhamFjAoKAVvBqgDJgUjQoQmugYnFyE","RF6DB6XPBpAGXg","jQrB","ywHBeEQyxKIDZwFnhAvS","oQFDkQPN4gSLbkYYqg+SqAGJoQG5vgJvlQGgEao","2gbJ","nBHS","rAHBDKZqyRPORc8dYxCCDUMG7Q+PR9FQOQebDe6tAa959FnQWoYWoAVfBpcXRxcjAsc4sM4Bl1ZaAuMLqgy/DM0Rq2LNb6xUbC/LXXtsegTNTr8YZQ","sAxL","QO0G7w2MDb0N4iHmhALlB0sLQogB6xSAQWojOq4CawmiULM2ohCGxwGtNOQoqwflBu7EAu07tgpDB0M/rAbYGWwWfhKTK5gr8A/1BihGvKQB3Q","7gitswLw","oQvo","kgPY","nBCI","mwvl","jQrB","2gu6BLYJoawFrA","ATUGdQKEHMIKwwmADLUVwQWpAUYEVAZKAR8NLQMlC0cCPgJFC0AFQwJOH1QHLwMeEKcBKgG+BHAFnwk9BZ0JLAQnAe4W8gWqBKIbMgspEE4GJwguBysGPwguAesmawOhBUoCSQJaFzchQAxIA0sOQAFFCdUC8wH0DscgKQqGAXAWqATlAmAEYivPE00BSwZPHOgJzwhPHG8JNi00AT4U7gHsCC4ETQdEHkcPlQikF8oDgAgkA0UC8gegAzQKggJoBCkGfgWwAyoCmQHhCTgBHwG7AR4BZQJCCUkRzB/DAe0HowFTDSUG8gVvCSYMzAM7AiUH1g1PBVINMwjuAa8BZga6AysGLgGdDTQEOQUvAZoExwU+BrkOowScBycBIgQoAUcDQgGnAeABlQJQCewBwwErAmIElgRvA0IC5QjlAisEggQtBUMBHgI9AkIJTQUxBc0opQeTCkgTMA1bAUIBQwO4Aj8FYAEvB+IHRANQAasE1wVmCawFLwE0AkcFJALqA7wEMAGIAUsGJgSSCUwOwwevBH0EpgUtAUgH7AFEASUHLAZEAaIEKQQvAp0BnAbOBukB9AH1Ae8FIgQvBKsH2APIFccKJQFRBSEEKAMpAS0DJBBODisCQQ8rAY0F4AzVBoEBuwLfAzIBIheqA5sFIQInA6oB5gLiAaECJQpTAi0EUgHgATkDewYlBT8BSgNWBqkDqQJVCi8BNQE7BEYDQglHAUcDKhEqATIBTw8+AY4DNRAvAy0CSwI5AiIPnAQyATkB5AMpCMEMbw47AW4IRwVwE6YYJhxOAlIBqgZNBksINwmBH70CRgFIOEwCcQSsBHcB5gGwFOcHSgZEAXADOQLtD0kQuALSJEQdnA","tQzYAeIB0w","ngjk","3wik","9AIk","wASG","wBGq","gA4gwAPp","8Q2m","JXI","sQVNpgJJzQep","rRHX","JbQ","8w1W","mwvc","hgnW","8w2E7AO4","1QfP","/wnc","CYQ","hwTo","lgKR","tQzSAdQBWA","tAzXAVoBVw","yQRsrAHT+QOPqwW14gG+AaoC1hSH","+xC4","3wnU","iQugAeA","lASU","vAea","/AHD","gAmWxAFzAXsBdQ","uQWjvQqr","asE","uQWj","tw4k","vRCg","9g+r","6wpv0QNl","vAy8AdUB0g","vAy8","vQzVAdI","mgyd","uAmWmwf1","9QbT","lQfaxwJBH6EnONQCUhlEngKha28Ba2ipFK5Xwg","E6h0nw","oQbx","oQaz","oQaa","oQbE","qwE77QGuAbu2CayKBZY","1glC","oQaK","oQZe","+Qf1","+QdK","2wbEAcQBvAG+AcABwg","AMUB1AviAp4FsghhAp0ChwLFCUcHwQLfAYEFTgfUCr4GvAFYElMFTQK5D2sCoALKA6YJlwM7AckBWQLTAlAGQwGdBHgE5wVbB2cDkAbTA8YBmQKYA3EBQAG2A6EDuAypBLQBWQJIAUADywlMAT0LPA25FtsTaQSeB0sGPgFbBHUERAipBb8KSAO2DdQImAVgAqsIiwxHCd8CcAKiA64DxQFQAj8BSQc8HcYCoxB7A1AJoQSSBDoRygaqEYAFygPGAc0QuATpBW0MsweYBGYBrQHQAtAIcgmeCXITlhqYBb8BLwJIAbECLAObCs0BywZqBkcDsQFwAzgEeAfKAe4IoAvLCcIBOwN5B4EErwSRE8cGTwLgA3MDlQOmAXsD7CWXBZoU9QefAtIDxAbOBY4CcwOkDo4FuQLIBUsHnwU4BaMHsgbDBKIElQRPA34Jcgm1AfQCygKmAWwCqAuaCoQLogGLEusIzga1BJACrAdFBrsGywKFBfIBcAREB6cHzwFNBUsFoATACskRlAGNAkcIpQxxB98DWAiBBasCTgHsASEIbQynAXUIPAP1A2MEvwGuAZIP2gPIA0kLnwJtC0MEiARIAZkCsAShAUIBpwXiApcD7QSjCV0FlgKaAXcS0AmsBEkPsATEAbQBQxWSAqoBPgGcBLUBbgWfAmABiAGJBEADUQXLAZ8BtwlbBcQEwgVHAasGMgJMAnMCUAKbASIBSQSXAqsCngGABpIDTAbaCFQCcgRGATED3gK1Bo4ByAS5B6sByA2QAcABxwPFArACKw7LAUkBiQFZD20CRwFHAYUCdg98CkoDNga+A70GiQotAfMBtAJ+BsYQpwN+CCgNSAqRB0EB2QrIAbgNRQW5D8EFyQjbBsABiARKBr8G4gG+AkQD2gPaAjwJngK+BjwFawJSApACPAyuFXULkgROBaIG5QShAUUEwAebAbEBcgEiAZYBSAGcAbIJPgK1BKcCcws8D6AFrwLSBpIBpQFrArcBQAHLAyUBcgKkCL4MhgajAq8BYAWWD7ACYQEkBZsHxgFPBE0BPwJBAZgGfwOrAe8BJgeoAogC2QfpB2wDmgFJB6oBoAGNA4ABzAGlB8AD4QFLA38BwgagCUsYnwduED0ERgORCEQHrAJGCrIRngNKAbIPqAFjAd8DmwPUCKsJQwfCFtINWA","+AGC","vggnASn9AZGbBq8BdAF/AZh1iA+8EKsstw","1gEu6gZtIUp9PAJCgwFQrgGVK2LZAauSAVE","6QTdAcM","vwzE","DFkHTSHNbUOSA32fAbvzAtq8CPWAAdg","+gVagQZaAloBWgJaAVo","2gWgqwKL","faA","rgegadvaBuLkAUhlsg","bouLBqWDBl31AXg","lQek","jQo8","jQrJAYs","X9afAryJBa+jAaFjug","wAVQxwmc","zgdD","VkXeCcHmBEG5AUg","tQFGkQjeXUXYAlE","Hqohv5gBxw9KCeYYgDyrDr1H4RHxH8AN3xXdPr47oCHANnW9Ad1E0hjkAbMlsI4Bwx2WDioG8Choaqsc7ATYFu4BwDywFccQtyPoF+sgfQEmAeAB6gHaAnQj2QzRA6MD9B0lHeUBvgG+OO8B8ie2A9UEhAaqGeoJnRP3G+Uv0xomBrkDa3HEC/OpAcg","1QM06ggv","5QxK","vwwv","pwty","qQPR","fDA7dSOiZeVbgd8DVwFxG1RBygEoE6a6Abhk+DT2mwFLZK8","vwJ7","Iq9nSRCmhge/AVUsgQWECMzpAcohqkdrygFCxAGnEqQVww","0QhQwQGezARl","qQPm","qQNp","ugXGAcYBxMYL0A","uAnH","jRBu","kAGY","qASj","0gvHM+hgsQ+jnwG2B4Q","zQ+b","qASG","jwGk1gbhHawz3rkBxJwEndoC5g","5Qfh","gxGr","aqYDqx87IbkWjxh9WEoMRvoC09UCVjdC4AJQ7AGb9gFGAUc","aqY","bZZAnw","iQLnbeMB7MIB7zfLAuhv7wHbEdr3A+IV7GDsAc8B5jfu8QGlLuoC2iCyGN3AAUHiAfQ","/wmo","3wqQAc8B3w","BJkLmRGKH6MTsQS3DG4QtAGZAtkFaAW5BnYGmgGgEaADagSiAXcGkwGmBZ8JpAarA+AHwA2rAcsBtgIoGLcCJAGqFtEC0CHWC58kswekDrEBawy1IjgERAKeEdIJNhybFtUHmwXNArMRRwq0G6kHuA2RD6QEshOgAZkMyR92BHYBxwPPIDgLpxZpAVMQsgOUAtMimAODG6RgnQq1C48CagywB60cnwIqCJ4Cmgq7ATAMmB9HAa8BpAxsF5sUvCIhG50CKgiVBTkNuQExBG0aIQTBA5ICnwW+Aa0HoQfWFqEEwQm0DY4VnQKgE2cmZQahATALJwKcB5YFKgEvDosZnwYyAjgBYwFHBVkEjATiA3MKmhCbAbYBbANTAaIQiwJjDm0NtgWJArwEtQOADmgiwgQ4CWoBpBulAS8EiwibCbQOmwHBCMsEqgMiDuAKKwM3C6QDeQFcDiUBfQogDlgFcQNpASQTZAJpAnsCsQEhAlEBaQImASQCmzSmDLYCsQGiCjAEcwiNCGUBghhHCWAHaQF4JUQXJAWwBYYBqgfcBCkFuAOUBKQFigN1BS8CNgsxB60emBhrEuQfmxZjB6Yj4A2/","1wHlsAKP7AfOlQXCENg","BUECwgbODaQI6wTbAjQDiQPVAvEFtgHVAfUElgzvAeAD6ALzCMIBmALhA9oEzgXUBusQlBXaB3sN8QHjDuoCvAHyBIcEhwT6AoAB7wLFBcsC8AX1Ae0E6gPxFVgCegHDCPEB5AzwAvAB7wfNBeMEswfnCtUCZwXDCCsBJwO7CKcIngq2AeMB3QlPAsgPPwL3AfQf0ANOBKEBTQHrAVojtAG0FvMD8BaSA9gGtgv6AvkXtAEsAfgB9QHkAfMB5gXUDuUD+QT1BbEKZgNYBe0Kwg/VAfYB9BXKBLYB6AecEeoBnjG6B9gCwQLvAfEC3gK6CewE8BDLC7YFzRVtA94GzgXsAskC9gHXCu4DSwHkBScC8AL4BqAD4BPcB+oX5QLPCFwOwAHiE7kE6gGzBfcB5gHtCr4FbQLwCvAG+gTyC+UP3hrxAfIC2wftAZsE5wdAAfEB7wFdEPID9Q6+A8cB0wHuC/ME2gYqAaEDawGcCfMBsQvHB+oLKgvXA98I8gFXBKsEUQM0AUIB7QkqBaEB7gLMAksEUAJoD+MB6QHsAvUB8gHgAVUDhQjyAe0BWgLxCmIEkwb1A/ED0wPtBvUL4gO7B6QBywLkC74B4ATKA9MF0ge7BIQDtAnpAsMN1AHiDvcC3AHwBZEDXAbpBeQJRRhGBr0B4QTrAfkDcwLvBqkCfwHzD+oI1QTDB3AC4gLkAcoB8AnsCSoBdwlOBM8O6wPoFOwD1wNxAcUD8A3uB2UCJQLHDOgEzwf0CusB0A9+BbsVzQSTAeYB7gH1AVoB7gaiAfAB9QHEAd8H8QPnArQE7wH0A/AB3wLzCOkD9AT2AfMBvgHYA/sC+wGVCe8D8AVUAckB3gH2AfIB6wG0AbsF+BD0BPcNRgNxAugJ9gH0BrII4gFxA+0ORQvaA7sB7AbXEZUI7ArzBawG9gTqB0MC9AaTAuICvgPxBOsFSQH3AegD8gHaBOwBNwLcBLkeqAbkBfUJ6wS+BeQIKwNAF8EN8BepKNQHuwu1A8AB+QHcAfcO7BTpAfUByQH0AfQB2gHkAdkB7QH3AfYC9AP4Ae0BnALuCsoEuQalDbQOwBftAe0B8g","5Qd2","lgKy","iA7CAdg","lgKqxAG4L/Ez24cDnhLhH0uFA47JAsEx7x5phgPmAT19zA","hwtE","tAjC","N7g","0gay8AaZAa4","/wic","3QPQ","ygvP","ygtr","sgHD","yAx5","8wXL","jwF5","tQix4QGeBnBcMBJ6rgLeWaCtAYIOhwEi","zA9Q","nQjhAcI","hwS3","4QWs","3Ayx","pAXU","mBG8","pAWe","eqBge/0CP84DhA64pQFvKjAXI6wBc2m4WnFjIcYBxxuU","pAFH","3Ayx","sQ+P","8QTX","S5mZDek","wxFA","1wRl","8QTR","xQSx","ugbLwgVU","1g11","1wFb","igLA","wA6z","8wuX1QN2","8wuX","gA6o","vATL4QODsgNC","xAE2","N6E","0Ale","/wlU","hwTrkA3T","kQ6V","kQ68","hwKluQLEjQZ9jwKx5QHH","3QW3","MM8","vg/D","vg91","0Amk","pAWe","2QK0iQOr4gFDIZLrAYq3AbZDzIwCdaYCx5kCzA","hwum","5wjk","yAx5","iw6B","4QWs0wLNngGq","gRCu","8Q3n","8QF6","3QOT","rAiS","9wJOtAOU5gdk","tw3x","MK2VBta4B59Dow","zQp99ANq","wASGgQpq","1wHl","iBGi","8wvO","9gJe","mAuO","9gKJAa8","CKAJrQW0DbwWPhhYBskHXgV6B3wFJw0wB54RkxMfAtEFdA3LHeAE8wOjCJ0PLCbqDqUCehORB8IHnBrSN8kIJhhtCuwF1DtjA7MJwQWgHboNSAFwA6UFzAvXCIUDcxNgCKYHQwiLFG4BKxGCBK4KVwFqArgUuQtxBSoHLAtyCNoHrQw5AqUMaSwnCk4T8BHqAWATwAOXGeACeAHFAnsb7AZrApkd7gLrC+MB3gHfAdQB6xChCccH3gf4EKgP0QP3BK8CtQosAaMJ1wKnFMIFnAPyBVgIvgewCM4l0CEiCJwegRKHC28H7wqxFs4ISxYxFYoDaQa2Aa0BywSnAfIB5wZAAk8CaAHBGFsFaAamBloBdASQAqcBtAfUD6QGfBDPCPYI4BaoC6AJWhHbKqkBnAb0CpcE5AfQAc4MhgFQASgFfQenGkgx6QLtBMYJzQuLCyQG5gHaCtAOPBNuD8oBewaZBB4DLRLBBG4BcQ1lBOQH4h3xDN0HXQueB+0IqTbgBywmcQS6DnYR2ga0BOAMuAk7FKwB0hFDHK4M0AHQIc0F8Ce+","gwmtkgeV","gwmtkgeV","zAS5MaY","EZE","yAPNhAHDtwTV","yAPPhAHDtwTV","gwzV","gwzh","gwzh","hBE7","yAM9","1wVw","gwzS","nALLrAHlowPPEepQYckI3g","qgKl6AjrAdQ","ogjR","mwjHggbbAc3bA+0","qQih","qQjO","qQhJ","+A7B","8Qes","8QdFAlEOsA","8QffDtoBxQGm","ywjj","ywja","vg9A","2AZO","2A6oAXs","MbmFAsRwfLECufYBm+ABuAN8KDwEsjpNsAFRBTGWAuazBOACuw","lBJt","yAOr","9wzq","xgK1","sg/q","lARQ","uwHL","kgvfAc4","3gFu2Aa5ngSx1QFdhAFIZ4TRAe0","bt0zQxI2oQEtlgGfSNagAaSoAcC8AbmbAdasAjsycSW7ywG5Ct9K2TrrZ+LRAUY","9gKkAc8","3wqQAoA","8Q2HogPr","kxHi","kxHK","8gSu","9gJeAVPoB7g","3wrL","gAmW0wOl9QI4","3g9r","6gnF","5BDS","5BDP","hAfi","xAFd2AVupQFhZXr+BiMwoqYBsA","tQje","7gnE","5BBH","diwHJiwsCiYELAQtAS8EJ9YE3vMEJrYEJA8nAh0","lga1","TZWhBDzwBKHVAZCmBX+AAZ0Vqw","AZgLWRKcCVwIqQyQA84BvQmUAYoIognABKIBMwqlDNQGQQKRAagCpgWgAj4FYgO0AZgCxgJtAqYBfgJxAp8CSgShCUsGeANAAaQHowSgAaEEPAOlBaQGugJAAqkDjAFIDikYuQ3OBJwaywRNBaoBmwGgApwBZgKdBrYMnASgA6QLcATJB6QKawikEGUOawWUBM4DYxhtAqEIogZ4BsADpgNDA5UBmwl0AZkFSw+pAswFbxCmIbICkQpOB6UYbQKvBNAIowuiB0sgZwSsAX0CsBOiCK4CZwNtA8sBT1NmBNAENBGcET4LQhqqCc8eowSbCM4KWh5rCZ4MtQdkA5gMpRSkAW0O1A3NBUQMnQ6bHawDMwF4I5sCcApoBqYIJQO5B3EFdwKeAoQBIRF4A3APVAGcA8cGQgSnCKEGqgqVDpsBowg9BncCpwGnB6QBTREiA8gBmhSCCKwBUQ+KAzsBTQSqAaMLkwFEDZwBsAopASoBdQefBr8BsQdLB6MJcwKfA0YCTwavCUICRAa0AqYEjQKnDsgIogd9A+IHJBSyA5kDKwIxB4IWqwdIAp0GcRamAZ4BvQeiApsIegKnBl4JiQZ8B6cGxwSME20Cqgp5DK4YzgNwAs0EuwKvCJ0IZAE9AZ0CSATDCaIDogKiAz8BaQzDAagKmQOcApgDqASCCrAQmwKdEo4BqAOdAqwDzgOnAUoGYgKgAp0FmAOcEKUFohhzApwCtwFOAzoDXwSXAqQDQAGNBW0JugbHBawGXhEnEUkFcAVrDHkJmQPEDWwEqwIyB58Plw","+QHU","/At9A9E","UFK+CkI","BZ0HsxdtAX8GNAuvAncnogFiBB8HHwxGBVoFMhAoA4QEnwEqBZYCLgIsAi4DRAFAAiwCOxdlCnAITyEkHJwFpRpmA4ACYAadGS0GbAVwFJsYZwSODIYCoQqeB54gPApHCMEnwCGcDpEsqBSfKZsBLwKhBzYITQIyDC8UfgadFSwBRQFxAqYfSAeiAq4DnAk+FFMbSARZBskNmAjSAzUExAWeAaACORlvCU4DmAbSBKAGTQmAA3YEcA9tBTcGbA1jCUMqQwGgAmgCLQZnKowwyQecEZwDNgI6ATQJdwR3GiwgPQhTA1MCNgE4AkoBQhB5Az4CMwR1AUcVbAwzAUAEyw2IGZAGqwM9AaoBKALFBLINWgQnA0IGowMzA0kBmQQxJykQOAPDAqkOpAFhOCsBogMrBS8CSwxoA1cBWAOCAyYGRwF0AkgEshZLFpsBWwOaA1EHpRMtAz8IdwuTBVAJSQOWAa0ChRZ2FCECJxGlAa4TVxSlDC8IqAijFTIElwM0A6oTQwdnAX4RrgFIAU4BPAaMAXIBbgFzAnIBRgMoEFIHm0W3KZ8FIgMnASgGLyWnFUA","aaUJJQRCFqAdLN4BYhZRwAGoqgNHUEsEUj9OGk45Wg4jG3UhlgtKc0YjJE8zRSsun2hDiAGGBX0oSlp9LlQ","nA/V","ZL0GgzXlCL4/dPMEXPEB61zjkQHXhgNk","nwG7CLA","2w6wAWs","hQGgtwZKigFAJ0I","DUcJOhuABKwBdzZ1FKYJoQN7F04eoAVEFUAMTC/CI3tKowKtB5c8ogidAqkb0RrAIEcdzRfPEmRV3DaXCsga5jaJLewWMgJXKZoEQygyP38L2RCbC6cMqAKkF4kRRBLUCpMIhjWAEkkO0AIwbCgbogpwA38SsQ3CBkQQSRjHBaEIQg2OI54IwghOMjYJxC8/HzoeRSGeB10PWBilBZQGpAo0AYYGrgyqHaIxywOfGJMLxQLXWLkTphlqDqiqAW4","nA/T","tQKl4gXjhwiU","6wjr","6wi7","FnWmAew04NYBvxLc2gGCNtqDA/WMAfAB7csCtN4CwA","6wjC","FnU","AH8Bgh1OBk0BVAxSDpsBpw+kATUJ7ha7ArYKQQaTA4cWkwGtB1sIRQHMBc0QzgLMEjIDOQF/CNgU1Q1LOT4KkQqeBIkCLQOEAmoFmQcrHkYBaQNiB4YCgQF/AYkKuAY4ASsXrAehDU8POAknHpMOjQupDasJrw5wCmoeuwG/Ab8B8hSTGIoCTQlTAqUENgGLAY4BhgGGAY0BfwGGDYYG9yTJDK0uPgjPEeUBcBp5BocBggtyDHdBQRHNIpEUYSDxFJIznAjiGJQBjQjXCMcERwTyCc8FQxFPIKEKRgmLAZUBrAGVD2QOpRbBErgangtzA1QLSQrsFlEDlAmyFZEBTgGZAZcGrgSVA1AKOA+RFK0WqQWPCaIOfgGEE6ACPwGrCNELtwm0BuIUngFzAeYBeRCGC5cHmA0/BCgMxQmQFp8GRA6LA3wjaAbYBXoIcRlGA70KuwWyBEcgkgpGBskHUA6pAkcKQAHOC94G7wRaCkcDRgRFCxwB5xR0AX8uogb2AjEKfwrYDqUSugFGAmoBaA/DApgGnAGYCIAB6RPUJNIBxAHeGK0OiQaICp0Hyg6rBXEG7gFUAWEE8QPyBd0","nw9G","ugOs","+RG0","wAG/","jxDv","wwXG","wwWw","wwVw","wwWG","QHw","qQ9a","4AHT","ywy0","wAFAzw6e","VfXqByn5BqI","pQ/t","qgSd","Vbk","VZE","jxCq","mwjk3gnc","wwXQ","T5MBNQ","nA8p","Y5VYo15yEJwSnTxOLKQSWjNVF3oIt0WRBoTVApktayaxN8Q1wBqWJYILngMhVz44lh+MPEf1AVilAZ0HocIBRzewYL8BvA3CN0kBTANJ","pweZ/gGC","+gFFrggeOZ0","aLTDAqyIAUBAM90EnGXBMnUbSnOvF2plsAinO73RAbUX2hGhNTmoAtk","aLQ","jQN0wwHRjAjS","jQN0","oQEsyQHyyQV00gLCDvrDAnVuyawB1wH5Gsk","sgS+rQG43AqM","IHDWDMM","uQU64wOnwQGE0wE35wJy","BMwErgOuEc8ORwGjKzMNohA1CYwGlAdFEKIBmgXLBi0GJQJnBJ8GZCOtA7sdpDWZBUsJthBKCL8BRhCcBEoDtQlkE8ottwWhAcQBewLJRa8HYzWGIYtRnySwBIwNRwJrEm4J5Q97DEsMagtFBGoB0BK5F54GjyyWLq8PngiiFskWkQmCGbwGywtwA8gaSwS+FVUMzwVlBIIMPwG/CWkCpgZKDtYEtQK1GDMIRxueIJ4CjQJDHr8HyBIkAyUE3Ax2DqMKyAJEBGoRUwVIBUAR1xSTEZcDxA+mBtAKpQq6Bo0EYwhiDOADKwasBNAWYgGFAUEHTRCMD0oF0ANoBEcJURiYHTIRwxmABXwBzghYAVwKhwREBsMIogV1Aq8DlAfPApAvUiMrB0YCjztKA4kWvwc5AaIyzApfARsHMQWcAm8BayOaArAEswiXCrUMwhRADakDOw1GGUMKmlpJCE4EmwFC","+ArI","tQmo","Ca5zbx2mTZsrchBqMqIgRBp+MMEN0C9+M3cnWjDUQL8mzBJuCdR+zEKkBa00zBltDtoydwLiOXUygRqSKtIGpQeNGq8bdAGZDnoGZBbBImMUdWHIDtOJAbEgahvFBZ4FXCGoAdoLyi1qS9IoSTGTIGkMrDFACXkQRx1HYFA","XkQEqf8Ba70Ep/gCQ21JuQRT","kwu3","cqkBxQelAUEEoA2pGHgFLBplBNoSzwKpVJkvxxW7DdNnqTZ1IqMzoAHGDL0hL1h2J9R+ugq/GcAIrgynD7whopUBLwzSEtAf0g6rG30Kv1tLFrEUwWLEA94BajnRYacI02CjNsxNdwKsAagUcgKsCKxzbnLFpQGf","SsT1B6j2AcE","/ApN","zg5P","BH8Bcgp+pAFAVHDMAU9JyUNJAkmYAWJkh5kB1GW+WmZ35fYBrB3jAe+nAYkOawo54QF/cjMBcAGsS5E","2wRLwgGc","7gRg1QTNyQTT","AaoCkQZUBY0NfjNTEPAEbgFiDpkLbwTFFEAnSAGkDcIDLCV6BaoYWgdtFJwKZgJgBDYJ3w3TGHAMLgZ8A0EVtx9LF5sTbAOVC7EGdBBWAUUBWA3xJ7InhAljF00XzQ6eBYgFWgg2AakMowxgNH4JehUwBKYnSwZEA4wBiQrKDkoHWgVGATUL8Q3NLZoYSQtaC0ADPQp8AzAUVgtQDooCcQJADKYQoQ1gBFUBfgHFD10CtAaRCVMBkwhrAaMcnxOhAXIEaBRUB/EPPARQCM4BhAZTFHUJSRYeCrEBwQegB6MBxAt/E0kHcQE7CG4KcxI/BTMWoRNHAUcFKRNtDJoDiAFMCHwPWgGlBGIBXQxqDlkEqRCQATYEMQieCYAwLAlOBH8LqQfeB58EaiLCCjgCkAl/AkUD8AHPAbkC8wOAHicPKAKjKEINbgErFzEBNAFyCoUFcwTKAckEUwqHE08GZQsqA3ABUQZDCXACYwvTAkcJHQS+BUcI1x8kF0IUJxmnAk4Jwxm8DVAU5hE9ETsPRB3QCaUqSAHmDWkGRg","Xuo","yQGs","ixLP","ggeS","0wna","kQNb","mBJC","kQN/","iRHJ","3wOA4AiNsQKF","qgtZgAVx","+AGxFF34BGnACKORAsg","Y2IZT+UBQ+oLTnmjEqs","rwtmgQRvJnA","BEYDQgRFAqcJOgIzA0UESwI1DkAEPif0FIsG7wh5AkYH+Ca+CXEOqzhFeS42mVk2Y4ZBNAKbPyrDAVqBAiRYcVblXGSJAUEhSlnDvgG0DEgI5wVOITa5AUslQWF6","hQHg","7xE8","Wpc","dLQ","pwiJ","ILgDTxCcBLQGgAyyB7MGRRahBLgBmQGVAZkClwWgAaACnAKgAaYFrQKfBJoBqQK5ApgDowGTA58BrAOfBJgBwQSiAZ8CogKmAWUBkwGmB5ICvQGJBpgFoBKcAp8EoQKTBKMInQGcBKQBnQjkAaoznBagAZoDmwOnDaIHnwSZDKQJmwOXCpYLkQKtDqYCoQSpAaADqgKeA4sWowKRDKQMsQ28FJsimwqeAZIEqQmrA6kHoxg/BpwDyQ2jBpkF8weaIaQCoRCfEKQtowOmBpcirgWYArgBngSiA5ENnCKgApcOyQumDZ4DpBCzCp0BpweWAp0KlwGPCqYDogGaAaMJoASgAaMBngSZA50FtQKkAZwCnAGYAZ8CngWkAqcCpRiYIK8NnQ2NAWEElAGbAXICnwOrGp0FngOjEGQIbgGiDa0DuwukAa0ClQGnApkBlQKiA5sBmgOjBaMBoBCnAaYBmAKjBJwBnQOcApYDoAKmAaABkgGhAp4EmgKeAsoEoQaeAasHrAKoAZkCowOmB5oBmwOlBJ4EsAGeAawDiQGnAqYGmAG5CJ0DkwmdAZoL3w6cBJoIowalAcgCpQKrAp0DowqnApcMoAScBLACnwGfAZgBqQGYAZkEiQGlAa4BqQGfBK0EpQOsEaUCnwKiAZMBngGbAaYBlgOjA6wBmwGiAa4BkAGkApcBmwGOAZEBngO4AqUFowKaBKQFoQGnBpsBoAFsAm8BnwGiAagBqg2iAZsBugG1CJ8HpAeZA54CSQObAp0CqAS1A6sBoAKXBp0BtwHHAqABmgShAp8BpgGmGqcCngGdCZwBogGkAZsBqQGfBZsBlQKnAZoBmgK0AaEKnAyfApsDtQOZBJ0BqgGxCp4FnQGbCaACmAFBDK4BjQGrCZgBsQGfCL0MowKcCJ0BngKhBpoCqAKhDJsClwHGAZcFnASbBqkCngKmB6ADpgGpAaQCmAKvAagBnQKbAagBrQGcAqYBowOjBJcCmwGfAqkJmwKdAqgLpAOlBbYBnQGmAawBoAWnAqoDngKdAaIEnQGmAaYBqQGYAZYCnAeoAacBnQGpAaYEpwGlAaYCmwGoAaIInwGhB54HoAObAZMBogGpBqgDrANAAqABnAiZCZsGmgOsE28CpQKhB5ABngmoAZwCsgKeA24BqQGYBKIBogWUBKQCnwKSA5kBoQGhBaYBqwuaAqQEoQGkD6IEqAL6","+ATC","+ARn","9QHa","9QGy","9QEk","2BDk","zAiAjAjd","Hqobug6MIT4GowmjHrMdIxKaNuc1mQPIA5tHpBykDKaEAUgzpCmSYtATpZ0BliwhHZMlonuhG5kDpkmeFZsQo0KpVpohpgtCIqUSpRKoMqVErRCjA59FlgO5NJkMpQSkAqAQwQevbKUPnBKZQqMspAegEJeHAfM","5gWl","3BHy","BJkLtw9rF3YEVBTZBXsEjw7BCYgJmROhJJoD3QSjBM8DowbEA10LlAKfAtEBnwEqBW0CmBmUBUUcmQXTAqckYhWeCaICqgTcD50k5zWaGjwDnwN0AawVrgzLDkoiyg3sD6QEKwKmB5QFowamCtwEpAOid24inAWeBNQQYQ2hDNYDiRqYAnUgow6fINIGqQaZCpkBngzcFVoL7QiRG9EF0R/FBK0MpQEeD7MIwgMqDsQC2gGuBXATcAEkBJwFUATdIIsPYwHfAqEFpgbOCT8FrAakA0oSigWZA+ID4wFzAtgDrQHyAiIHowkhAbEaqQgoBKYFowWqH8ADaQOwAeUB4witAdQGiRvBEKYBygKwAukEtQvmC3YKoQSqHTUMuAW8EJ8C1gIoCaULpQ6iAeoB4ginB1MFrATSBOYEKBOYBooMmRY9AaAImQrZBoUBywK/CLccOwZEBZ8EtQFrEFcJJgHnBdADqAGmAsIHpwSkBHsKpQJoAn0B0CSoBTUCsw6aBuMFqAHUBOIFnAWmB58MrAujAqMBuglrAZcCpARHAaUCzgHbA5kG4wLwEMAJxgalAqESKgjCBLEEnwybApkDowGmEJoCpwa3D6AQ8AHVLmcvPgSuGvELQgdMD0c","wA56","/weqI9E","wgekvQGcwQV6","7wxI","vAeo","5BDS","nA6g","4BHl","sAGn","qAnR","zAS5MaY","PMsB6PIIMNgCnRhHywQ8KfU","QMcJsgZ4AUEFyApGBDoo5gGzEUoKQAdTAmkLSAdLD58ppFpKasovSw9tOFEERSlJWN0YSI0CRAxJBUgKowGhUaF8RyxCF0MBgRXfSOgGajdQGLACQh5MBkwCWFCDAcgpSkyqH64NRSc9AZ0YSh5GRUIHTBA+HDwCpQnrBkAKtgVHBeMM8STVC4wO2xbeE0gRlw","kwvO","R6mMAeAHiCAnngF/ngN1OH9xxkjlsQGlPuADoAPHbbUB0Ql+MrAEmw99WchB4VOBB8RVRRaoC66KAc8K4QK/GdcZGwl3","zA9e","0wFn","0wHK","tw5IlQFQ","7g6e","kwtK","AEICSQK/DJcFjgktBEwCugSCAXQBRwd8C6QBwgdBEqYJlgQfDJkDlQOXAX0FXAJdA2wFgwGaA4QCbQnxAWIEQxJABn4BbAFAAuECrgGTBUID3QHcAcIFsAefAs4BmQFEAWgByAGfAuEBfQEqBsIGpAGaBs0BdghpAccC5A6iBn0MswnQA2cLmQS9AmABcxBCCocBOAWrAbkFywKFAXAGiQLaA4kKPwJlAbQGdwi5AmgFlwHRBnkEsAI7Aq4IyQVxAb8CLwNbA54EvQHMAaMDZgRtA50BhQSKAbIBrAWxBGEDmwG1AVgCswGZAWwCcQJAAbIFbQo6FasEwAOeAlsCtAGgB74NiQF4A0cBbgaHDooFuAqYAZEBnwIrAa0G4gUyBKEBfwitBXIBsAN6CJQDqAGmAp8JyBBwBmoBTQNIAaMBrwE+BEwIZgFNB6IKPwNFDMMBNgFvAd4EnQ6fBqYCYQHSAlAHSQnQDrsFYwiEAroCowEvBHcB1A9sBXAITATaB0QBzQiZA7sCthHLA6kDaANoBWEQrwejAcQC1AGtBrQJlgHSCXAFmAR1As0CpgQjAbgBZgKmBJkBjQXFAp4EmQFjBOcIHgaRBdQBdAZxASwGoQFhCS0UigndBGgBOQEtDH8EzQerA8kEQgFXA3EIhARsAbMBSwaoAWIDiQEvAYQKegF1BJcBZQlUAsgDrgLjAsIBiQTKA8gBiQKqA4MEuwG0A7sERgNOAUoB3AIxAmgCcgPQApoDKgLHA5kHSgSlBXADxA6SAb4ERwGCAkIB1QHbApYBIgFLA6AKVQLWAssCiwHIA7UFrQHRA2oEKwO5AXEDZAFxASYDYgGDAdoBVgGJA0cGZwWtAU4DuAF0BXAC7AF/AkgLyQljAaIBdQmyAacGVAHGAbMFqQ3uBn8OXAFXAWwBUQGtBUcBkQFyAkIBvwOiA8ABTgNHAZ8FpwKxAUUEpgGZAeUFzAHiBN0EnwGjAkMBNAOWAaEBOAKjA6AESgFiATABtQFLAbQBcwLEAXMCcAHHDoYCoQM8BGkBJgFOAWkScAFjBMYEZgJ4A0gDygG9AXkDgwJEApkBxAZjBm8GWQOfBr0CYgKBAS8EYQHUAnYBxAeIB00KKgHHAXcBaQSQAnkDSgFoAY8CsARJAcgBaQOHAXMGjQKhAXwEnwJxCD0BhAHNAzwCpAVhAtoCWwy0AVwDdAFoArUBvANvBlgEtQRzBp4KsQGKAbwBNwbJAb0EPAKdAbUBogGiDWsDnAHRBjoBmAGmAa8FvQHECEkBZAFaAaIDKAZbBUQCbQI/AWsFpQR/AtABngFRAawCUwFIAncFpgSIAcsCrQOsAaoMngRHBeEBxwK7B+cEYQOCAZ8FSgiwAzgFKAQxAYcEQwiLAaUCLAJLAmQC0gbLA2sJjwWKBEUCcgNuAZIDsgJdAqAFUAEiAW0CmQI3BdwDzwXIAZQBjwKOBG0QYwFdAUIEugLGAnQKsgRHAlIBbgJBAXUCkQEsAScHyAK6AosBvAEqAdACbgF1Ar0BfAusBJ0CeAKlAqwBpALBDsoBRgdHAUsDSwHSCJUCegJLAq4DrgZMAUcBawJCATcCRQVGAtIDYQFHAkgBSwTDBFABQwGjAb8EtgfRA0QFQwE7BqkBrwJKAW0HiQG1ArABsQFEAT4BwgKRAqYBsgGJAT8JUgNJAWgGdQRnAa4ESQVCCHEHUQGmBEkCRwX1A0YCRwNJBuIC1gejAW0Ckw","8QrhlQfg","8QqmlQfj","MVI","swJKKUjIAj0upMMBwVdIAXRYQhGJgQVF","hRHF","1wG7","KXQ","/Qmf","jQPE","/w06","1giL5ANHnQGr","mAqG","tQEp","iAXI","ixBr","1gNY","lBLiAtM","3AKi9ASe","tQFg","tQHb","wguh","mAqG","ggbQ","1wGv","lwOw","2Qfn","AMaUEO0","MnOyA7MYZ6YHRLIGTA","sAG63AngxwTj","pQGy","O34Ihw6iArgMYguDKHAT4S9lOF1Toj1MeGcBl6ECr4YBbQVLBk8Dq7IBfJ0BQkWjZLsNHjidQG4kcWB8bJ0FIfUBqw","bKHyAmBRkHmbnAGbD5orjiafuAKgIZndAZIEjZIBqbwBoP0BmS2o","Q60IozWmL5+/BCyZApGpAZ4Yp/cFqAhH","DUdimOcGydgBm4cCLwSlpgZj","5AHHAbqfA5KZAZxhjg","7wea","NkA9mRiaBSgEkwJCAzUBKgM2AqAMmwEnBGkENwVIAi0JHgs9CygBkwsrFJ4NpSh0BjIEoQcpGp8EmR6kD5ESPQWgIJoYNiJtI10IngEvDikCqRuGDG0BORGeKcEHOwGhETIMLwRHA0UodgEhJysEMwcmCJEpIwYsFCQCMBIrFTIBKg8kD5gNowMpAzcBKQIzBDUBowE7ATgBKgWdB6QDNQMuBkACMgGZBywFOAEwLS0FPAinDC8HJgMpFzMFLwWeATEUIRErBi4IJQSTAacCMQNDBS8ZMwEqBzMFnAV1Ex0NfAY+C0MDHwgwAh4GpgU4AZgFnASdA5MjnAMoCSwKOwOkA6MMlwR4CyYBJQYqBkcBOAafBqECPgEqAi8SqgSTByQBOwOhASIBMQIqApcCjgGRAS8CqQGkASwClgaaGDsNMgOdCJ8DKgR3BisBmQGpAp4HnQogDCYBmgJtAqECnwGmCaQBsxCnBJ0BpgElCaQCOQEoAiEDdQQpAzgLnBKfBJ8PkwSkASMCqiR7JpoCqBCXApcPXwmkAZQOIQWmAjgBNAcxAZ8NKhGjBDUBYQinAaEGnQKmBjAHOQadBqcEmwoyAaEMJQUuAyYOoAq1DpohbQqrAWYGrAMpAikInQQoBJIBmwM3AScBowGlAqYELxE4DqILSkKRIE4wPA","fa4bQ4oDmRukhwVYpQSEJ0nbAtA","wwZ/wwI+mwQ0","BEMXuR2ADkoZlgSVDqQGvAm9C6kBoAHAAVgDvQWrA6YJUQemBLEPmAEtGpIlvQXYB70OPg29G5MHvBC8FoYLQgGfCL0H1Ae6FrkCvw29BLwHugK9CaIJpwm5DpkHtiRHDrAFvAS3G8EYMASvBc8NdQa8Cr0BKgq5E4AJtxWjBLMTvQ29EL0juQy3B5EEvQy8Ar0P0Rq5CagFjgyOBL0YvA01CYsDvAY9Ar0OlgK9DMMMvAO4ArkPvAJIELwDywq9BbkBuQG5Ab0B1AW3A0gBvQG5AmsUtgO9B0wDXge4AbYClQLmD7sYvAW3AUcWJAKOCYgB0gSsA5sOUQ6/E30KvAnXAp4FuQq9AikEvAdXAbkFvSG1CLwMvQO9A70DQwK4AawUTQVDBLkFvQ4nBrcBuAzbBKk0SwaqBdQBzwZ/A3ABygG9EFMJwwy1AbwDvBa4CD8TuAK6BEcJthG8BbwC2BC5HKsBuQGbEcUOugTPBVoChgO7EaYFuQW5CaoM5By2An4Rug6bA5gOcQdMDFoDiQq+CbwGnxamDcITpAG+BZ4HoAK8BWMBxQGCEkcF6AqABrkCuQO8C7kDywdSAsENvAK5I30GvQq8AUAERgG8BLwCvAK8Z8MIuBq9GLwraA","9QPT","2BG9","pglNkgUl","pgGXqgiR6AWX","EU8","kwRHswhA1QJyjQI8","xAdD7wKx","6RDrAcw","6RDh","6RDQ","AI4BxihnBrgZuwfTAchGZiRRBOMCnSedM6hAsSPlJUgBKzrLDTsR6zfMHaMxlkZGkgFvBqgKe1p5EUUqbAlaCewQTTa4KnFIqAqyGM0apwo8DO93Kh6PBbgBvQHiMdAPOALOE/g31z2rYWEDnhw9CuIT2wqYLsMQ6jfgEzwfOSLtKrgBtD6eFkAM4xFuaOYK9g","jwjr","mw7b","3QMb","igzg","mg+B","BkkLTwK6Gksj3gO4AmUFdwhUAX4XPwjMBX4FjgSlAzcQSQJlDjYH3gymB40NSArgAdUBcgFLE6QMdQGlBaQXeQHNGXQGRApKGEQFSguEBHwOYhNrB6kBlhHQDoETmxWjAUgPzglHDsswSASrIdBFWghNEKQBWALJCH1OtgJKQLwRTgx5IMofPQuvH04CnipRAq8HdQjMBUYvtQWDAZkBtAxfGMMFxQ9LFWhBVgNqCJgElANEG0MJ1wF9Or4EmDNFDU0FRQJQDmMBcgl2BKYGUA/FCL4UURjBAqkHdQNOE7MDoBVGBE0DYQ1NHkkElQGBFX0UNB6tI7wFqgRvHY0TzQrSBpQIWAVCAqgU0x2HAlAB6RVRAjsEbQKNBj4IcwFlAkgRPAtwBjsJgQXfAcUrXRVuEN8KeglJAoYBSwbVNEAL2wQ3BcUaSQZHMKgLSRZMAUgHywJd","+BC9","O4LLCj6UBEE","ADABbx5SBTwRSwSDAoIFTAR/AkIKNQ4vAUsEHwYwA6EHNROaAUIEMwV+BDMCQQE8AmsCgwJYAlwBfQLRAjQBTAIfA54B7AY1ASMBJgSGAkYChgUnAjMKaQZ7BqsPYgJ3QLUCVAlfATIFKwU8AnMMMQxqASwChgFIBLMTJAhBBDALOgI3BPQJTAM9BDcCWAFCBUMDbhRQHmAJOAGhAjsDdAd4AXQBdQFzAXQKNgFvED0P1RFwAjsBPgdLEisK5gIyBZ4HVwYoAUk2IRCeBWEHrAEqATsEbQtsDb4JKgFPKXYFwAQzCzQeLgsnBCMbNQo1CWoVSgEqCKceKAM/ASMHNwhGATsDNwgvA1gFOgm9AqUBOwswDE0BLQVRAU0KcQlVAVsFOQOHAdAVKQFNATQINQEpF00BeAoxEyoUfAOFBC4GegYxA6ACJAFnBC0NUxJQAlgGTAEiASwBKAKJAkYCngFEAy0PkweLAigDXQXTBSsBPgSDBI4FNQQ8AWsBPA8vA0QDTAFSAVIBeAbID3kPVQdJAyoFOwEnAz0OMAlJAicGSAE/Aj8DdwXKAkwBMQEuASYBWgFHBJABMQEmApMBKgFmCE8JTwV2AU0BMQdvBG0CMQIwBJECJAQkA1cBSQMwA0cBRAJQCFMEbAExAzgBXAGWBEcCOwFGAkgEMgEtASQDUwOFAkMHdgJBAVQBUQYuAikINgOgASwETwI1BTsBNAE1AaUBYQEmA1ADowQoAZ0XKgEyA04DUwUrASsDKQFOAksEOgSaEUADbAEtAYQBmwc0AncCSguFBKoCKwRjDjcCVQQrBTgBMglgAygBNw0zAXIBPQF6A0YBnAdCAToCJQJIBi8BJwMtASoLQgF0AqIBKAMjDzEITQduASACSgWlBDUIdA0zAzICMwJSAUIBSgFBAkoGQwFJASsBPAKBAU0CNQZDAjcEOQWjAjEBOQNvAVEBOQGEATEGdwE8AjIBIgM0ATIBXQEsATMBMAEpCeoKOAcuAYMB8wEmAUUKPgFFAzgBRQNeBXkIcQaMCV4CcQhyAXICjgRDBGgDkAajBEkDqQFxAYkCTQMpBMYBxgNXECcDUAJxDD4HOA7jAZcBXAHPAWgEgQZMITwFSgI8N04HSAFJA2UFoA82D0QTRg","1RCC","pQ/p","3gW+","qwGL","lgbA","0hDZ","uA++","2QTi","2gmhlAU1FGs","ogFbCJ78AZ8xpnhFDKQMxR2SHaUlpzWUTKVXpzVFF0livzLIJZM0ohjIDpkUTQKZULU1vgJJCZo4wyminAGdDZMHqnWiApQUoyDDCqgSnQumAqcGqBdEB54bRwOlb6o","jwjGkQWd","twFDvAiOqQZ/","J4AKsALpHuJiugiuJJY31xO2FuI9pB7GAXQJ2x5zqwHlkwLRLtIh12XOfqkixwWgGkIYzCzIAZ0K0yKlCLIlzwOmSaMna2esiwFACaxHQQS/CrMarBSmMaYXYDvJD9Mpyg","vwJ1rgJykwJz","iwnyeCn3ATg","iwms","vAznAekB7w","vAyM","vAyM","vQy5AdI","vQy5","vAydAr8","vAw9AYI","vAyn","nAN5IXs","iwGANUJrjcEEshekwwEoV7oJMXdtC2+AAaxqKg+ukgKJTqYQhxU2BjMLcGQrBXkzfAEpZZ0","lBCx","b6vgA6MboqIGIZ0BqNwDmw","jgfApgH2","tAi2","tAh5","tAiT","tAhP","tQ/DZdA/8JUBow","2RB/","7Amh","cT71A5f6AjGjApOxAcH5BEE","6ALSvwJt1wHQ4Ai/Nrk+Mw","0hAz","YtEBYkSsA54Hn4gBPyiqRauGAan2AqYdS2dTO9A7ThSeDMwoRn+vXZtgnk6klAI5AYswoCmEjQGA","O4I0mCmhCqcVZAlnH6MblsEBX0Gp6wFpFJQM0FGgbHaUASUBIcYBzWqiDJmMAXV6owIyEYEST3o5CEdVpQ55E6IEOjzOHWQHRA","J1wdXg5UGKwH0ApBIHAQxgEnA7MGRio+CKsMPGw5uQFDHasSRCqsMlNMRQlOPkUiriuvIkUdnkWueEIHPkJRT0cDQg6oNksNRxvIAUQDQA9ADUUCrBpBAkoIqxyhDJ9ISBJCAVAooxFENUUqUAWFEpoSSQE/AjoXQweuC0Y4RwpCEbIVPBVOCW1GPg6qAUIHoQhDHKwRSAGxFrc","BFQJSklFE0oEQhpwEkMBQSA9BkIOPQVvZT4BPwdQRVcVa40BRxFFHz8KSXJPHEUuShlFGEQLWEVKBp8dSx1EB0oJQQFIFaFoTzZOBKcKSWJ3C0cHTRZEGEMEURVHKkIIaBO9IUQGQghJEkYSRxpPOE1APAVJBEECRQyeD0kCRVSSCZkmdBhPLTsaRgU8AXkLSTyJME0NRRBFXr8","qgGelQLynwSuFOGLBbSUAWlB4Q","0g6u","HHMCqgW/W0MHLQhnI0AFlgObHEABRRJMDkIMogk+KzsBRQM/B5okORA/F0YBRwFHEE0FSAGcHUUCpgs9CGsqsx92CkgMOgIpDkEXSKABRSVgBkUQRSZtJzkSpAdELKYUTA5JAjIaQQFKOY0GQD9HGCokuw5ECTIUZghTFisMqgRCAacURB+YGS4GMQyTGkoYxhdBD6oDpBQuHUIbQAdLF7ABLwVIISUIRwW0BFIlowFhH0kCmAFBFqYBmA48H0AiQA97AiwMRwdMFMgNqCE9Bz4WNQahIUcBzghvAW8IewIgHkcQvAFNB4QBfwWUBkcCdQGbBGkBShd7EK8XyCqg","DjmCAUQkNw1oHjAHKw0pAyx+P6IBkiK2NikWKtQBLBQkQ6ERI7wBfAQhE3wKKkIuRC07LBsppQEoBy9ROkV8AiIYowEvIjUyST4rNygRNjqvDycRGwEqBjEbJw","xwlV","fUPQAiv7A372BCBKKhYfHyJkH7gBIEVA","ADAEvwfHAU0OdhGZAZ0DhQKHBOAKvQO9B7IFgQiuDKkGpAKBAyMDfQLPAXUCuQGZBMECxAOsB0MGYgO6CyoBgwm4AWUGtwV1EoUBJgWUD6sB8QF/ApAEPghMDJ4JegsvKHQJMwE2B6oFjw4nAWcCJwguAaIFaQErBaQJawNkAX0JgBqaAV4BpiOhCXYPLyyrBcsD4BKFC8ELfQM+AmgHuBBmB6IKmwnJCpkGwgZiAp8M2hGyA2wBtwGjAksBwQzFAbkCcgurBtApIQOMBpAB1wKUFnYJTwOcAsEDjAeRCKcWhgHkDWYlxQLlBHMDORNZB18BvQmdCNkCewGBAs8MhwSkBM8EshJ3BJgBZAu+GUogpARoCNsS0QRxAbgH2AzSAbUPqwPQD6gCrgRzEi4OcgG/A6QMmwJlFbADpAtoBZ8FewEiAZ4NdAbGA18nZwmMDI0CghyaEKgUcwueAbwIPwKmCYkBSQh9E0YGuwKiBM0BWAHhCDEDdwSJAiQBqQTEBpoKwweKA7sBMgnQBKIMZgWoC5kEqAGsA3EC2wKqBHACNgHEAqQGsAqMDYsGTQt9ArIE4wFiAd0EtRXfBYwCcQJ+BS0HKwXHBUQCtgmqAkgBgQWsDNYGKwamC3UC3AbeBV8SJQFiDNEBogdnCJ4BJwOQBKQHHwNAAq8GsAJuAbMBawglCKMpPASNDLMCZwGoBUwCcgs3AacDjQF1AzQEZQzPBdMBnQQ2BJcFqQNgEUcCcBOwB3cfPgjhAb0HLAFyDSoBmwGhAqEF6gG5BGkFRQu8Ap8ZSxPlArEPRg5GAkAEvx9wHVIIUA5kCJMESA1JC3gITgFO","cH0","5gzS","gQlM","gQmE","lxG/","1QriNCaMAaiPAzw","5AcuZTU","B0sjMBZMD6YKshfRN0AJQAmrAT0CQBBGGptDewqeJ0giry+9E20foBCyDkAvnQ5FBS0R1B9kZLFYP4ABpjVEEEFFQgE8Fps2TBdHa6YImw7ICNAXSAGdHUgESTVHE38CRRdHFUIHRhtGPT8HsgaoCasfnSxEEEY4nyqsPq4CRwVBDk8XlgNDEGmNAZwCTwdBBzcG0w","KKlBtwd9ATwaihC4ECUKKQRtGaMapAdHNpwFti9tAqJfV2meDHAqQhAoMbiqAcAxx0w5ILdvtjFVPM4OpDMwa6onmA2tT0Z9JQZEHYoD2n6iHk2PAqQGSA","yAbA","IHYRgAqSA50bshZiBpIIugV5F6YKhQJFBpMJpAejCDwyQkWsU60Yqie1AT1mQAlzH0gEbQ4+BkkvSAMsDksGokxtMZwYRAtYE5hC0hK4D04dpzdbIm8ClRtLAaBHSi9IB1wEpwJLDJ4HThGbT6YToAJDGEcG3wtrDEUl4QZPHUoFQgFsAVFQRxNNDUwBTw1HC1ENRAaUBzwKRg9LBaA6RSQ/CpsIQgymA6QJSAOmAUYGgg+qD0saJgIoAocNQxYyA1EFTRtJCZlEQQNCJTkYoBZ6CothTBZCKMk","E00CVgvZATUJagf1A5YEVRlZBR4IogFLA4gBShJ6AkQFMAHpEHcBWQJ+CaYHlgGhAoUMWgeiIDwCqVxLJT8f3AhKJEIBUgawAboNnjFIBFEORReWIOgtQhN1DkcX6wfRAzcEnQ6qHtMguyrNDZElwTKsKcsXpgTAEGAPhQvBAZp8Nw/NGUsMJQVQFD4Um1l2FURbszPLC1MDpA3VDXkFuTSCLuAIKgTIOx8D1QHiVqYPlzJLAlgK4hVSA2YgJgRMA4wpfAdNBq4JhQJAAmIDzwOQAz8Ffx/AFegEsg/KNmADcAHmDEcDdQdLBkwCZgNMAkQFzxNGFkQTqRY9DXUFPA08B0gLRxJx","swQ0","jAvb","d0QfoASmB0PDAZcLXZkBqTi0IaNAbJUBMZgBcWx5LXOFAaEPmwnCFaEaUh2IugHIlAGfab1Sog9qDmlInA4rXZkk0HC1","AcsEnQNCE7AKVAWaAd4Huwc+ApgMww7EATMZmAJXB8EBxglCCXUGzwmOAa0LowSsBioBrQotBasD0wNEAS8YowdIC9QJwhagFM0QqgTBB0YBqg+3Aa0DeQO4BEgRzQxFEtEQSwNMBkgcLQ+KCmgGOAGbB88Dpgx4AXQBdQFzAXQDmxbeA84Byh5AKLsEiQItCqwLyipLATsINhk7AWcHeAd2A60UNR1LAdgD6STNCZwI0AbRDiMbNQzQDrgMLR4yAUcCfQ0qBpgDoBbOFEMBzwVQBMwpyCAmA24PhwGiBCwjrgavBu0BnAuqCNEDhwtLA1QCoAHLC+AOsQqlDE0MlQyoAVoCPgbQCHkGmQJYB2sMHguVCF4niwGvC0MMpRI/C48EOCNNFCwEuAyfIScEpQPIC70C3BlLASAJRQHQKFoEbgRgBrkDQgLVAZUHQw2cCjwBjQHWDtAWSRZpB1cFxQXOG8kDsQXIAWMFZwR0A0QL0QoyG6MFdARzCaQPswS1CZkGqgqrAjkBcgWnATEeqR1rBoAIWg1AE3IB2QZrBz8F1wlxAXALzwJkBYoIRQJCBaYStA2VElYIrQOOBq4ghwNDGscSRCpCDEMCPw2fD+APxA","G54","AZiPAs20BJuEAtHNAc2NA7FbrJkBpqwBoSpL","lg+m","ngxG","AG4fkgJgAzwUgBWKA1IPSxBQBJkdKAdHVaQBdg1FDXAyZgiZD1IbeDpnP6ECmSnLBHMfzQyXHaQLeQhJBXUMYiWaBTYKgWZdXmUMRy+BApgdWxqUAX4u0AFiGWgMjQeHEiEFrAN5Qm0FQwe0CM0RKhWGDZ8/Tg+1BlwJ1wfMHNIEdRSgCsQM3huHBjIFTROOI0hIYgJoCMoELweJG2gziiG6Cq4RzzC2A1gIPxVwEEgEwSp+BH0SKAuGD6ULPB9BCTlCcQpNAUwGggGnGoAFpwRWD2ADSBU8EpcqrQLIBcMPiRWoHqw","qw5w","6Q5+","nAdvugadigNM","tAQ64QY3+ARu","xQ8c","xAGQkwKmuATGoAJEXSHSAbwzKg","4wG+rgVnEmcBZwxnbTcOQtkB6F1R0QGk0wI71QGYRZE/qA","hAqK","An4rggSXAncYbBeIAX0QSi6+EdkDRnHGFJ8fqyeWK2sjpAnFiwFKP3oBkxd6GEhqzT7WHEgtqw5FD15MfxUvAZsJKQHIf0YHzCiwJ9QPRCOoA30ZqRg+CNEDMwPoDYsBwx2BHrIGtgTkKr0CzhpDDW8Q9hg2D58NQxyfBkQ1sBiiEZkayjFEHkkJnwSWBnEEQgJLGUICSyuVDr4OwS3NDDcQQgJBF54RlxDVvwGf","9wJF","HWoQQQm1EEoGRiWZASUJXAspA2gFUiuBAnkJXTuuCEYBUQGvAdpsegGSGbwcbibMFXTbAWAsLDMmHYcQJyAwW40YbVKdFV0KUwbcCEYCeASdUmoOlRd4EVwVKRahNCRlwwFjHTgHniPHOaQDtwHSEl8qpgnOJ0hhfwpCCXIByiZ0P4wLfB0qPEIVnzYnIpUn0ge+DJY","ANkCOALUAbQBtAHZAlQBmwF4AdsC6wG+AeAB2gGzAYEBVwGAAcACxAGCAcYBSgNjAc8B4AHwAdUBLQHIAboBiAGAAYoCyAGCAXYBjQGFAXkBwQHHAa8BzAF7AcoCdwKhAaQB0QJEAcwBfQHqAacBhQPNAcwBjALWApUEtwHZAdMBxQG3AVoBfgGdAcgCcQHAA9cB0wHbA+cB4QJPA9UBnwGDAuYB3wHTAbEC3gGyAegCdAHwAZEB2QK8AXkBgAHpAdoBoAHqAkIDZAJ/AncCwAHYAeEBrQGaAd8B0gHGAacBMwF8Ab8BswHxAdIBqwGKAdMB8AG5AUEBagHrAd0B4wLSAeQBcALpAeYBtwG3AXkB3QGbAcAC0QFpAeUBhwHHAcEBPwHeAScB5gHyAUYCzgGTAS8B2gF8Ab0B4QFGAesF2wLqAbUC2QGxAeMBigHJAeoBwwGxAd4C4AGYAqAB2wjKAbgE5QF2BNkBsQNDAp0J4wLsAeoEqAeCAdoCwwXaE5wC4wSyBPIB3QHhAdkBygHsAfIB8gHrAsEB1wG+ArsB2wHBAd0C1QfYAZ4CzwHzAYkBwAHmAuUB0QLNAfECsQHNAuACywJvAc4BfgKWA8cJawOiBuwEzAG0AuII5wF5AeUCxAHHAVsDxAK6Ab8BtgHXAewBdAGMAeoE6QGAAfMBzwHYAd8B6AHZAdUC6wF8AegB8QHzBNABzgGhAcYBqgF8AmYE8AJ5ArUESgHlAdsBxwJ4AbUBwgE8A7YGxQHxAnsBxAF8AcAB5gHzAcEGsgGHAcYC7wFxAukB8QFGA8EBowbQAt4BvAPMAYECYgHoBfICbALrAWAC2ATSCpsKuAHMBPoBfAbzAe8B9AFpAoMEcwG4AWgBMAGgAecCaAHyA+IFrgKSAeQHcQFkA8kB4wKBAu0B8QHqAe4G3wHDAdYBogGEAa4B3QHNAdwB6AJlAWAB2QHlAc8IYgLkAd8C7A98AVQBWgOKAXEBTQHXAb0D9QHJAfUB5QGUAcsB1AGyArQB9AFoAlsBnQKcA80B5QH3A5IC6wLIAZwBqAFqAVAB3gHUAYsB6gLjAZULsQHUAY8C4gJ6Ae8C3wvsAuMB6gbsAbgC3gHxB7kBWgGUAa0EzAHkBoEJiQF2A+ECKwTvA2YCcwImAdsB5gLkAd4B1ALiA9ECywhmB8gFwwG4AZsK7gHnA4cB2wG8BMUB4AHODZQBvgSZAagBwgGlAuIBygH0BPQChQbcAdIDjQzZAusC7gLoAc0B6gHKA14B6AGAAdYBsAHgAdkBzQHIAWcDjwLwAWwE0gHjAdgBRQGWAp8GoAHKAaEBrwLxAe4BlgKWASkDvgHgAdYB1AGnA8EB9QHjAegB8wHGAe4BzQLvAbkC4wH2AfEB8wG9AZ8BqwHNAfQCsAHKA/MCwALxAdEBjwHnAsECpQGmBHAB8AH4Ar4CdAGUAacBqAHcBOYB7QXeAb4BcwHNBHQCeQTGAmIFVQK2AWwCxAE5AcgCgAKSBOIElgHjA+wD0wHTAdgE6gHtBOoBfgHMA0QB6AHqAYYEUAGaAuMBtgHtA14FxAG7AqwB8gHXBHMDRgHxAdUB0gHtAdwBzAVqApUBawPNAscB5gFxAboCxgF6AusB6gHsB5IDRgK8AbgBQgLjAtEB7AHWAdMB5QFzAfEB7wK5AX4B6gGWAdUC2wHUAeABiAHsAvMBqwHhAu0CxwPPAfMBmwaxAbACnwLlAd8BywHgAu0B9gLUAmsCrgHWAssB4wHCAbkB7gGyAeQBRQG2AacCegLWA0UC5gHrAaYBzQS/AYsF6wHKAuYBowOkAdkC0gHFAUsFvAGjAdAE2gHeAbcCugFXAq8B4AGQAVYCzQLXAeEB1wG5AewBzwHGAq0C4wJFAbUB1QGdAswE0wOgAr0FywHvAecB3wGnAZ8CywGLAnEB3QifAe8BtwHuAcEF6QHCAdABywFvAeAB2AHwAlMCVAFkAkkD3wHaA+UB4QGbAYYC2QFLAaoCygLRAtUC4AKkAd4BrAjKAbwCswLKAb0BswFmArgDuAHxAekB9gHtAdAB3QLJAm0B4QHiAYYBugTrAaoBtwLNAb4B5wTPAl0B5gHkA1MB7wHpAtsC2wGlAcYCzAHAAdUB1wHtAfUCkAEmASQB5QG9AeYBgAGXAXEBpwGcAdEBHgHOAdQC6wF1AXMBrgJrAdIBkgPpAu4E6wN4ArUD6wG5AdAB0wHnAdwBgAKvATIB5wHoAekBzAKFAqkBygGcAkgBvgHFAXAB6wEtAbQB5AHcBugBnwO2AnAB5AVZAqgB1wHsAdQBzgGtAc4DxQOcA0MBxQF/AdgB6QJZAUgBlwGcAuEB0gLjAdsEmgHAAdoCtgGMAb8BdgHaAb8HcQTrAaUC7AW0BfkBdwHtAeMB5QGJAe8ExgKyAW0B3QGxAWcB9wHiAcoBRAHMAvYB2QLbAdgCvgHuAWkBYQFyAu0BlwHmA+cE9gL0AeEB5wHGBOcB2wHBAqIB8AHnAXABpgKXAZYB2QG9AdQBoAnGAdwB3gLRAc4B5gEkAYcB3gPdA8kBrQO1BsoBnwHrAd4BnQHoAUgB1gimAUEB0AGfAcMEuQLbA6kCPAHcBNgDYAKoBcUD6gHJAtcCcAPGAdwBxAHUAesBqgHUAsYDOQE1A2AC1wLRAZAB5gG3AvQBwAKTAjwBuAKqAdYBvAF0AZoB7gHTAagBkQHNAcgDeQHFAV4CmwHPAakB3wHPAaEBqAH2AeMBvwHXAbQB0wG6ASEC0wHhAmYB9AHAAX0B8AHfAtYB7AHZAekJ3wLgAegB3AHbAd0B1AJ5ATQD2ALmA7oB4wHoAbAC3AHSAt8BuAGAAc4B8QL2AusBUwPvAekB2AHjAeUB8gHhAZMB7QHTAb8BrgG2AakB6wHMAcgE6gLRAXIC1wGmAcEBwAHXAecBiwHHAc8BeAFwAtMFvwF5AqkBzAHHAlYBtgHvAbEB5QG6AegBvgHjAeoC3gHlAdUC3QKwAecB4AHcA38CYwHsAcoBxwGcAcAB+QKJAdIBmQJNAcECnQGYAsUDzgOrAd8ByAHKAcYC3QajAtcBzALPAdkD0wPPAeoBowGpAsoBvQG3AvIB5gHOAoQErQGjAacBqwHWAeUBnALsAtwBvAFqASUB7QHuAbIBugHnA3UBvAHrApQBsAGHAigDvAJEAbYBIgFxAdcBJwF7AkQCygG5AS8BpgTQAaoDwAGkArADtALfAagBzQFjB3UCjwGXAdwBSAHFAeoBfwGvAcMBqgGYAW8C1whMAY0DqgGjAYoBdApJAnABRAXvAWcCPAHlBNgDRwFGBdQC1wPFBUgGkQG3AeEDaQFEAtwDmwTMAm4ESgayB8kDwQWyBu8EUgVQAZ0DSQKoAe0HSQGpAUoBywNGAUQBzQI8AcwDQgJIAkgG1wzVAcgBRwZuAXEDTgLwAb4BxwerAZwByw","/QzH","8AyK","swJE","xgK6pgQ+6QSZaCY","xgK2nAKTH3/rASTcBIp1Qg","3wzc","tQJg","kgx2HcJByoIC2w","uAlqogO0O6aeAtpCzQ","vAF0","xw3e","c71Uk5gDsagDbZ8BiAotGnO6Aspb0w","7AFQ","7AFQ","lxB+","6gM7","wAh3","qQbW","0QJg","1werC6MlbcMBqfYBrA","0wvD","3wNJ","7Q+u","wAjM","nwwuxAKkIWI","dtI","8wam","5wHq+QJC/wSf","5wFs","5wHf","/QuOBI0","nwVn","QHw","pwvb","pQN9","vw93","9wzH","jAFi","OW8","bXE","mg9l","lgFf","lgF8","4Alo","Y1M","1g1t","mwtk","rwlx","rwx2","5AJp","sQ54","vBBv","wgFl","Frc","2Qaq","lwp7","kwRz","iAuP","qAmg","uAp1","1gpv","+QdI","mw9y","pQxx","c3U","vAea","+wOO","qw5t","qw6H","+wNm","qw5t","ngx95AGW","vBCa","VoQ","qAnP6wZv","2Alv","2Alv","yA5x","jw1/","hQ+A","/wRi","6Qpv","mgp6","4wun","/Q6/","4Amq","dl8","mgqi","6ATY","yguX","rArE","ugt4","lA1z","QY4","dXQ","SbU","nQZm","pAp0","IMs","wgOk","wwyM","tw9w","zgZt","vA9g","1g2Z","+gmL","rQxw","2QFx","gAFs","kQ5k","xAx0","8Qts","wQeA","xg+u","+wOS","1g1t","lQzL","lQy6","mwqt","wwt4","IbQ","zQNx","4wqx","tAGO","tAFi","/Al/","yg+7","wQhh","+QrEdrw","zg9t","sgl3","alg","pgl6","tAFi","uQp7","uQ53","9A6E","/AKA","nBCI","nBCw","0Alt","7wVh","oQ59","3wda","+A2s","Kkc","1AJn","4Qdj","oAx4","6wxx","tw5i","0gZf","wgV5","xQx2","lw/F","wQdL","uAnC","/Q+O","4wu+","pwdz","cVw","1w1s","uwFz","gAFs","vw5z","pQly","vAGk","7gSL","zQ+o","lwmm","Y30","1wlj","lQyp","vAHMBGeNApzBCKo","iwOT","zAua","/g1g","mglw","2A17","zg9t","gANv","iQp1","lwm7","rwJ08QJu","gwd1","0wVj","IWA","jgx/","ugqC","8wts","mQp3","rwx6","Ur8","jxB8","X5Y","cTw","iATh","oA3G","/Q+O","sgWB","6Qpv","ogOA","hQlz","+QrE","7wtp","xwhy","jQqk","jQp5","rAFo","3Alx","2wGz","vg+T","8wts","8wts","vg9A","uwJb","8Aty","uQGfpAIbZzMLSXGfBjjjATglNXIvBcZmczFsEKoRMhpYIVYhxwtXIScEmAhVCiYBhgVxNSYhxg4tFysCh0GUETkNxxItC5UU1AQ9DTcNXCw1B2kBOQFgEcAPOBTnASYCjgYsATUGKgErAmkDThstAisBPAI1D94GmgExB98LIh7jEz4bYANdK9ECbw2CBigkLg","6wi0","bbdszOsCs7MC31PDDdIExQe5uwGoEcsc0Byz2gHBpQHc","kgtX","qwGLlhDJA8E","mwOm","nBB/","doWpBGc","9Q+8","nQPFtAKn2gNu","K6OXC5Y","QYsUfjt+DaBCY3JgJoWNAir/AYhiZlhdL3xUQh52D4sGjuwCnQmiD5Uoky2NMpo9nCB+GZ9YXlJtyQFS","HHMHT0arFOAMbgNiBr0Bow6hC0cGQwWhBocDaAFRDfYERAOfISxQQgqgA6ILhQZpED8YpRGhCMYJ5RTaELwEzgmnVpEZ1x8+e6Y+RUYkJ1AEqRtHLqcnpj8oNZMDUQEqJC4VqwXPFdQHoAstLsMWwjYsJKwIQAkqLjIFrwNPN0gGpDM0B6MEJRynDagKswJRFacfohGWDDgsnkZGBKMj0AWeKjIUpBCbCCMMcgMiCroDviaQFWQBtArfBJ8FpgFLA0Ea4zWXEkFEtj+P","xxDA","wgNy","zgTG","fcQ","fa8","AOtSsU8sLd7gAeGQDJwSmQ","ANUDkQHiAsUB3QFAAU4B3gTgAdQFKALUAdEB9QHUA9IB3AHdAdMB4AHRA9cB1QOpAeYC0QHVAeUBzgHrAd8B0QLmAfIBzwLIAroF5QFhAfICvQfVAU4B4AHbAtUB1AHRAdwC5gHkBp0BwgG7AeUBRAHqAcQC1gHqAt0BcgGFAT4CvAGOAdcByAHRAdwC1AHgAd0BlwHQAkcB1AHRAdcBsQLXAX4B2ANoAd0BiAKaAT4CvQHeAdoB1QHlAdUBtAHxAYoBUAGnAeEBYgHdAeYBrAHUAdUC3QHuAcEB5AHnAewBgQHIAeUBswHsAegBhQFbAfUBwAHUAeYB4QFhAeMC3ALwAbwB7QHvAuUC5wHvAuAB3gOzAocDuQLjA+kC6AF8At8B6wHfAogBwAHnBJMCugHMAaMH0wPjBnkD2wLAAsIB3wS+AbUDnQHgBr8B4gG3AaoBoATgAdcC0gTXAeQFkgXiAWoBWgGyAWcBsQFoA7cC5gVmAloB8QHyAe8C5gHsAuMB4wFkAfAB4wKoAdQBrwLXAeIB4QdKAdcBlQHlAewB1wHMAesBwAK6AuwB6QF1AeAB7AFIA9QC0AGlAs0BygK5AmkBZQHjAeUB4wFOAeMCRAFrAtsB4gHJBOEB4gFtAbUBRAyRAe8BYgFdAWABWwHjAcsBjwHPAeUBowPTAesB4wXzAqgB6gHrAeABngTxAeABsQHhAXABZgGIAXABcwFyAXMBaQFmAXwBdQG0AdkBpQHlAc8BowHHAWYFjgG6AeQBwQOKAdQB5QFnAdcH1AHgAbsBNgG+Ab4B3QLvAVMBUAPiAbMB5wLgAdAB3wK6AecB5wHUAdUDvAjwAe8B0gHTAcoB2AHgAUcD2QKuAdABvwFzAWMBrQFgAXEBtwGuAdcC6gHkAV8BWQFyAV0BYAGxAb0BYQm8AbwBRwFIAtwBaQHpAa8BuwKyAbcB0wHVAe8B8AHXAvEDywFrAasB3wHmAVwB5wHcAb8B7gPiBUoC2wHpAscFcALbA+wEugHcAeIB7wPUAuQFjQHaAeQC2AHBAdcBmQG/AcoB5AG2AdsBuAHXAU0EyAFGAd0CbAJkAVsBqQFkAXQBbAGyAawBdAFnAdwB3gGWAV0B5AGyAWAD4wG1AU0BsAFaAn4B7QHoAecB4gGjAe0B2wHlA+sB2QFgAVsB2AFdAWwBYwFmAuUB6QLgAZIC4gJqBK4B7wHWA70BYwWiAc8B3AHBAqcBogHmAdwB6AHvAm0BkQGLAY0Biwh0AXMBdQGMAmkB2wFrBb8BowGGAYYB8AFqAdcF7AN6AswByQHuAdcBcALXAtcB1wNfAtcFoQHcAtoBYwGlA10B7wHXAuMC5AI+AekB2wbhAekBrwFmAWoD1wG2AdcB3wHXAbEBbAFkAYQBagPLAdcG6AHXBHkBdwPXAcoBRAFmAXgCfQWCAc4B8QHiAa0BugGyAZUB5AG8BIkBwALfAdUBswFKAa4CSwHvAbkC0gLvAdcBQQGEAb4B1wHdAdgBYQHjA1kB3wG8Ab0B7ATXAtcFSgG3AagCsAHXAc8B1wG9AewB1APiBUoC1AHkAtICnQG2AeoGrALZAUsBbQLaAW0D2QG7AbICagFoAegD0QGiA84B8ALlApYBYQHUAdcB3QHmAecB1wO5AdgByQFkAa0BoAHcAfIB6AHvAecC6AFsA+0DqAHLAesBrgHhAe0B8QHyA6MCQwGzAa0BrQFDAeAB5QI/AVQCagFgAUYBiQK1AYUBmAFvAcQB1AHXAu0D1AHSAeMBYQF0AeUB2wJxAZIBUAHYAZoBkQFXAu4BVQN/AdgBowHoAocBcwLpAcQBxAHHAfEBcQKSAUIB7QFiAeEB1gKuAbUD5AFEAdcB4wJhAVkBWwHmAtYCzQHXAeEBgQVQAdYC4wGzAesBSwFVAU0BUQFSAW8C3gLdAesBeAKpAbYB4gFfAVsBygLSAuUCuQGuAdQBrwHLAVwBtgGvAbwCWgGmAdMBVAHUAd0BnAGcAekBfwLVAqoBTAGLA2sB6wHEAbgBqwFcAcYC8ATmAV0B4QHlAdkB5AHaAbIDdAHmAeIBfgGlAdcB3AG/A8wB8AHAAUcC7wLyAdsBTgFYAWwB4gHpAeEBYwHgA20BSgFpAaYCYgKpAYkB7AFRAesBzgHlAt4C5gHhAdkC2gHnAd8B2wHbATIBygHXAXwB6wHfATwB1wHrAdcCQgHlAfIB6AG9AnUCZgE9AdIC1AHUAvAB4wFsAe4BrgFfAWgBpAG6AqgB7QLrAcEBfANrAdsBlAFkAeUB4AHYAcwBuwJwAV0BUAG8AewB6gFjAegBngGsAVQD4gF7An8C3QI4AZgBqgGOAbQBrAEeA5kB2AF0AbUB1wG+AY0B4AFSAVIBTgF/AckBxAGyAegBXgHhAWEBXAG4AeIBagFKBWMB6gG2AmMBbwJxAVgBdQGpAr8BsgHnAngB1wH0AekD2QPoA+QBSAG9Ab0BzQHiBPAB8AHmAk0BugFXAdsBYwHpAdcBfwKGAaYC2QH2Aq4BngG6AdwBSQLmApwB8ANeAbMC6gHgAuYB3QHCAeYB6wFHAtYBiQHsAeMB7AGcAtcB5wHpAekBrwGwAekBugHqAe0BfQHUBdYDawXSAdYB6QHSAdwBXAPpAZsB8AGWBOwB7QHrAsMB4wHYAeMB6wHLAZsCogHrAkwB6wFCASQDVwHVAesCmgNHAecB3wHkAU4BuwFuA8MBpAHpAsEB4QG4AtgBqwHrAvIB3AGsAtYBVAHVAegB1gFIAdYCpQHBAbgB4gHXAaoB1gHfAV8BWgFiAdYBxgFhAdoBsgLmAagC0AHfAdkB6gGpAdgB7AHvAuMBTQHfA6gBsANIAWoBbwHFAeYBwgFHAUsBewFsAlUBWgGCAcUC4gHwAVYBrwGpAZgCnwG4AeQB4gHlAU0BnQHQAdQBXwFGA9sDYgFoAd8BVgFjAtAIrQHzAX0BdwHVAeUB5wJTAY4C6QFoAeABnAFHArMB6gHVAUsC1wGzAuoBnwGnAeUCsAHxAaEBUQHXAVoBsgFaAbQBpQHAAWIDpgJlAdsB4gHxAugD3AIrAeEBtwHhAeoBtgGZAVgB0wHPAakB8AHrAdICVQbuAqIB2gGUAXQBwAHrAbYC2wFtAcwB2gG2AaoBIwHXAZgCTALoAeYDwQFmAZ4B2wHrAewBhQHPCcQCywK3AbUBtQHXAmABxwFwAe0B3QFOAXwB1wLTAdwF8QidAeQB0AHVAdwBlQGDAa8C5QHlAckBWQHpAaIB0wHNAcIBugGwAc8BvwG0AbgB3gHjAtIC6AFaAdsBoQLnAdcB0gGZAU4BzwHcAd4B6QHHAbMB2wOmBmgCsgHaAc4BuQK7AsUB7gHaAusCqAHoAZwBtwGtAcsCpwHoAfMB4AHaAecCvAHrAekBwgO7AXEFvwGyAeYBzQHXAdcBkgFSAkoBgAN/AuAD6wG+AbwB5wLoAd8B2wHuAdkBkwFjAaUBmgHwAbsB5wOtAeQBwwG2Ad8B7AHxAd0B6gHfAeEB3wHoAdcB2gHvAbkCpAGlAbkBbQLjAegB7QHjAd0CpwGlAp4B8AFLAeEBuwGsAX8FaALNAe8BawHaAksC4wGbAfACjwFTAeEB7wLfAbsB6QHPAdsC2QHCAeUEvALXAokB6wHYAtcD7gWgAX0B6wG8AeUDmwKUAuAB3QHPArwGmQFwAXcB7wG8AeIC6QFkAmQE1wF2AccFsQHsAdwBLQFHAZ4B1wLXAWkB2AHYAtgBqAHtAXEB6QSsAtkB5AFMA9QB0wGyAe0B4wKlAqcCpAGMAcgCoQG0AXkDuAFKAeoBZQLlAfEC2gFZAdsE4AHhAdMC+QOtAVMD7QHFAaABjgGsAesBogJkAXUBlQG9AZwBogGiAa8BuwHkAfACwwTtAUoB3AH3B80YsAM8CkgDngNGBVUZsAi2HdIBvASWC8UBRg3nB7QH1AVECPQC8wSqAswNVwKv","L+k","zRB1","vRCT","yBBc","nQto","xxBj","vgK8","mw9y","dpkKsRpBG5YIbwOheasoa0VjBVRVzWBkDaNMOeMBLyOR+AErJC9yqT7XNqYFrwlmNT5CphmnA2ngAVSRAkg","KppRLCplBiVHkRbNB4/pAs7pA6JHmUurI0NjRAq6AidMRMYCaZgBpQebEawivEnU","1w2f","1QGfpQa7ngHP7AIyFYSYAqSJAUajAkw","BZ0oSSJ4ATUZgB1DDUcC2hZACJICvQO7BZhdzxDRMkgOMSLXNjYFlgqnCXswzQKcKp5rOyefC5oCz0iQJkwUhD9ZLswPszOjH9cZ2wNIBXAlwi7GCewUiSHSBpIF3Sy6A7wxlhN9AZoiXAHJDEcOSiifAkMPkAMeBGIxfkaHEuERRw66Hz8CmSmpM8UKlx6FDVECsgmnAtUKyBO6JEkBSw26BLUCLgdLA50CzALAB58YeQdaCVAoNxHJEUsUoQFCAqoMzAvdLaQJ0ARFUdY6RhdQ","tgmJ","AVUPUQXtDNcCLRaUCWIBrQG1B3YLjwLtDHkGoANCCJ8KUgnOAaEHeAPAAZMHdQdWAXsDowZ3AlMBnwJYBFkCmQHdArgDhwWrASYBtwG2CZkEJgONBpEEPhKxCSc4vwJfBGcHoAJiD64GdAO4BUgHKwVuCJgEZAxKBWIF2xCmBNQBNwWnAWkBngO0Ey0JrQbOAboD1wNgBucEpR1eAVgDcgQtB+QJcwpKD2YKwAJFAswHNARYB6IUqQEtAt8LkA2dBqQMWBHDA2wSqQWsDm0NYxzjCnIaggqRG+8ItQOPDyMHWRRLBr4OZg23BHIDpAEqCEoPixKsCawGoAGjArICsQEuA50IHwUuAZ4HMg3DAcMM7B/HEK0D2AbxA2EGJgW/BcMRpASzBksBpgGjBGEDowFhBaMDZAFnAp0P4gHFBk0DmQOmBfAEpwShAWYBngJgAk0IyhekBTIClgGBAaUFkgEoAUwBjgHrAe0ESwZmBp4LmRHKA7MGNQKNAZ0BURnMA0wLeQhMBNoBngLGBEgBjQgsBa8BmwSlBTELiAEpCVIBkgLvAmcJnwGfAZsBSgSPAy4CqQetAtEBKgEwFKYCLwMpB0QBJQKnAWwDRQGtBC8ELAEkAVEEUQsuBUkWuQJCCUMBpQYtB0QCmgGjAZ4F8AayA5ALqQQmAWwBLwF+AjQDpglCAWwJqgSpAa8Dpw0lASgHmwVHAYoDJBmkAbcBxwKjAx8BjALMAbEBSAzLAp0BUAnrAp4BtQPHCXoCewkrCocGMwZ+ApwL4gggArsOIAGiAjoCXAK5BCYFqgFsA2QBJQGEAYMIVAK6Ab8CIAOhAbkBIQM7BDgDWgHvE3YBugHICh4DuQKPAVoFTwGzDHkCJgSsAnIBmAOcAroEkQJOAqkFfAKmAcMC2QGECH8MSQYuA3oDvwKcArECdASJAq8BzAVtAh0YcBiQASQJGwOyBaMEdwomCrwHtgJxBuME8wfUKmgDtgnzAUIBNwJtGj0pyQ7gAWMG0gGUCOECZwVJI24CRxSNBIA","ng1r","ng1r","zxFJ","ogno","hQvrvwPr","mQ9H","lgcq","gwuS","uAHY","uAF3","IeegAj8","IWA","mQqE","vgxs","jge3","WO0wzi+ZDanIAadBsg3glQLgSeuGAu+jAbsBwGy/0AGaAp7iAaswiwVvtwJBDOVWYwdoCkEoRg","xQGQ","igTgMKZ+rMkBZuAC0QHgbL8BngLGqQbkBEVY0gFo","tAqD","ugSv","tgRg","oxKA","tgSW","hgjE","uw3n","3xHh","HtP6Aahcvxjc7gRUpQLntQGwamiCA6uaAuo","wA+i","2hHV","/w/p","mAEqkg9xBiY","wAKa","dL6TAe+5Ak71CNjaAX0","5gGpUDhvtvoFJQ","EFEyzgz0BeAPPwbZAXMEoglGArgGkhaTDswKtwHYB2JI8hlsGrYWjw5PVqUXRQdBIDwcilQ/Bm0nQxFgED4XcRdPFG+FAUdVSxNJOPRWSwSpC+YgXQ7UD0c4SyueBnBRpRpKDVMYRQKRBHoCYAF1B8QB3QFQCFoMxTqqCEwQQx5FC+YanhWVKUUbSQjxIlE/zwLNAbAFrAKtAbMP3EfbCbERq3Ou","yAzU","WsA","pQk8BJWlAowfoSpJywMg","eW0","dtcDsgJjM7IHXX/jb6eDArDaA5YCTrIBxAHXtQY8","tA5p","0hDf","AEIBNSmaPeUZfhp6RaNGnjaaKEYPlCOfN4QvoAHEFOg8ugLJB50piQ7kDfAIKh/MBMwCoZIB5QGlAo8JnxyqJa8KlwrcGrkN3xybCMgG0Ad5BJgWohrOB84jhgWSJs8F1AtzFDweSgFzCLQH5A7JI8s4hQjHFSkqXEPeDJ0HazjqIOsHqhLLD9wL1hjOC5UGzQLNPe4GNB6YH5tJPhRoEqED8gIrK88UiRR8AbwOTh7EDbIaRg3RFU0Y6gu6Dz8Bv1TE","LoUKVQ","BcoFUAOvAp4Z8QuqCH4MgAy4HD8EdQWhAkYY9wVHA0oHoAN4BzsCQxWFFTkIPgd0RWcISgPBB1w/gAejC2cBdwF3AWcBzgGxBH4GPQRQOa8VegzuCKAdqweeFoQR9gklAu8PlAOiDqIenAOoCX4eMDlaJz4FRSzMEFoKmBaHCa8BtQG4CIoXXQmkB5oDfwXMQIAhLw9PCccCtAJIBZsCXgSABz4LSyBkB0cMKwNWCaYCRgY8C0kcowHDE4kCPBekIYoIgSAqNnkB2RJxASEFRQKpA8QB4gGODVUbTwUkI4gHhQFGAlERpQMkA2IBXgtFAU4EVAR9Ap4HSwWgAUMQJi9IDkcORBNDE2QEmwu6G4AbYgVyCpYVTglaAV8KuQxIBUIZ7gGdDJINKQ9IC0cKnARLAnMCSwGiCXkBVgVLBUkBRwVxAZMzZRaOFEEKQA4nA1kJeQW0BiEQSAaqAswWQQPNIKAGYyPuBKMCZgOuAdEB5wHbA7sBpQHMB0wEfBasDkUjUA","yAhekQm3","zgTC","+QqT","tgLB","iwevAbUBuA","zgSm","oASrnQ3uCa4B0QHnAdsDuwGlAcw","+Qpi","+QpEdoU","+wPu5gK5AboBuJgBrgHE","+wPm","+wOB","c6YZWTtPFKUMYkjBL6kVxLUBxfUB0QIrJJg0xS6kAtwKvAO0gwFgbsalAZlEaitUDyUKYw2rEYgVUAk1AZ8OuBCLC9NDcxklAlAWs2qcM1AOUhZQDsUBcAEmDIwGkRxWGGBSTA","AVACkQWgA64TnAZNBEMCRwk+HbMGRQ2VC4sDaAtvAZwE0AY+FqAJowGsAqYBwwmSApYHQQShEZ8JqAFABKMJPQTIBpEBsQKMBX4GuReoArEQqgfkA54COwFrApwJPgJEBoQWcAU5DpgKpBGtCqoEpgVrAakImRmREpsB1QGpAp8ZfhKgBXAFowGgBaYJSgLMDsQjRQXQCZwDngGLAXNBUwEhHaACRwR6K1ALmxTPG5sBWgtDD6UHpQSmA0gEqhRNAZ8RSAE/FWkJjAjSA6YCsgmYDp4C4QSZCLYFcgunBPIBSgEyAykEngFBAdwGzwJ1BJwItgGiC1QBgg1jAp4BSwHPCr0InQqUBJsBiAGQAUoIvwWEBawBHgFVA8ERrAGmAaMHpwuWB6ILtAGjAYEJRg1KBp4TogVRBKMLRwEyBooBTAJrBFAIUQ1EAUQCmQbLAewGmwa2AkgCSALZA5oBiQjGAqUFTgqxAcECxxO2G6UUOwtJDkUEmQRAE+YCXQWHAb0CWwIxBaIBRgQnAUwJkAGkBJ4YpwmvA4oFOAZIA6UCQgbIAtcBoQy4BLABowyuCJcHxQmdBCgDRhefBX8CvgOsBp8BwwKfAsEEmgHJBIQInwvNA7ACZQLQAbwG1QeFDaoFOgSvD40M1yrGD6ICOgHhA0oFWwepA6UNmAJGAp0DqAhHC6MH0gSoAUIFrwGAA3MKRgKsBkcJoAiWA6cHpwI+Dn8KvA9MAakFOwmgA6UDaQOZBrgJQAp3Ab8baQvSAZ8FnAWfAbALpQHrBZ8CLw2jA74DoQFRAZ4BRQFGFUcZiwRHBUkHOyBCDrgNTgKjBa4ByQE+A8QEoAlQBEkFQStHDps","gwpH","EqMKfg6aCUkIghq6J60cQxKeATcEZws9AaMElQ6kBaMGYQJtBWMtfQqSHneJAcEZqwnOCDwDbxFmE6ALQQWgCZ4NsiekJkc4uQ2nC0gXNRShCcocpkejGJ5TbRJKCUEBex1RFNQB0BZMAaIHTQJIEFAFdwNNDZ0d5RiXGE8RqQtEHbQBbgJGDpkCfQVEDr0BvwOqHEwBmAJOBUQIShjNBkkkiQg/AkIKTAKlCEQPngJNA1sNrA6eC6gGRwN6FkcCOwFGA9gIUwFRAlocQgsxAloLox+dFUICqwGVAbACRwVhGKQDdwafIE8KlBmWCYUJawNEA8MaXA6eJ6QGcQvJAZICggHCFkoKgQKmBJYBfQQ9FSgFPAJWIUcBnAUiAScRYDJNBJEHTQulEisaSAJIHKQMSRywE7ESOQFODZwBSAi8EqkkthZY","SNCSAa2VBMORA0w","7wXD","Hk4yUhhrD0cOZBWaCKcJmQOpCUMDYjOdBjxDOANmAbMfPzNHCNIELAKiM5obmVcwHGUFZAbPHkM/rwNtMbZQPgNPBJc1pBSbM34ImQmiNWYFZiKmUKIUpEHgCmkURBB5AZUSbQtvJSQrrzG7GScGJQqRF0wJUQSoLLZLRwZJOpMOIxBICisCRR4lB2IBGRWXEkA3vAm5CIYOdQuCDEIWgBFMAjACYBJHUEA","qQox+wMx","3Ang","pwja7gUjaig","pwiJ","EH9GuQmwXUAFoB6jE6sI2RZYHd5VaAFGR2kZY2dpJJ0DgweiKqEBsQu71gGqB7AasmW6FsthZRCqAksSlRa+HTIWPwHAE6YYswgiAZgQSVuWNHkOmxi9DtoH0h3OCJACrBeeA5oCnALKLLEcxBeqEE4yogPdAdQWqyyiI64Erg6vA5awAX0RpAmhcr4GcimcGcYHwg","1gfM","lQGzEXwFJfoBKzJdzwUxKzwISzSlH52OAoIIR4QCK0OoLp4WokBS","7AT3xgQq","7ASw","EUUHtBCpAmgLSxlTBLEDkQ5iBuABuwKhAccEPgKZBC0JpgXPAXoDoQmhAYwGUQFKAdYCWAKyAqEBWwREA7ECigHQAc0DKgE1AiYBuAUsAWABeQEvCs4Bigq6ASYD1QLnBbwDMA15AW4IvAUnDKUBLwRPFpgEzgRPAZwKqgVDAicCXANHASgCdAPXClIBvAJjAS0BfwEnBo0DOQJKAysBXwVOCqgCNwExFJ0NUQI6A7gENwLmAaYBKwFjAp4BtgJQE20ERgWIBkkZcAJQBcEOQAEvAp4CWA7lD5sKcQxNDZMEMxekAuUBwAErAzYRdQ5gEjMKywSlAnkCngSqCVkCZQqkAS8BQAGZEIsJuQ41BkoEQweEF9oBrBCmAUkDpAQ7Da8iLAF9AVASJATkBzUcLQmPAqcHww+YAnYMwwU3A6AEoAFrAjgBawSlBmQCywKnA7cCKgVAA3EBLwFfBuQJ1gmiB+YN2QEwCWABOQ2dAWgDYAdEA0kEMgRxDXMVbQOjAyoKWgFVA6ECrgG6CcYGtgJAATcFfAEuAsQBpgK8BC4DegWiAUsD2QFNAioC6gHBAlEIbAq5BskBnAigAqEBzAJHAp8FTQF8AZ4GugE6BZ4BMwoyDLgEpQVVAaACVgY8AacIuQhtDq8BNw+iBJgLVQ2fA1wKqAGgCmMEzQglAX4GWAFFAzcFrAJzASsGJgOXAbcBqQOZAV0LWAKyBC8CngJsA9wIsgIwAjgBtQJaBmcCVwQwDDwEgAOvCHMJpQR1CEwGRQHoBF0CRAG9AscDMQOjCcQDZwI1BVEHewV0AS8BQA/RDScLJQSfA3kCOgLyASYBKQGaBOEHygKjAp8FLQJmBK4BKwGkAbcCawUtAZ0BeglaAysEaAI+Cq0IcwVcDLEBehvtC9gCUgbYAmkE9AYlAVYJTgmoAqUFlAWbAnIFJAK3BaYCowGeBCoGMg2cAbwKuQNdAUkBjwaEAbcFhAI3A54KMAKhA1gBRwWwAp0H0AKlA9YD1wYqAawFKAFlBzEDLgSEBSQC0AecBCsLgwhgA6wOdQWbCC4Engc+AqgKQQLMBmQEpwKqDVkBQgE2AssGVwWkBLwBpAE4EKwCNRHsBkAuvje2Jz8DwQRGAUcE6gGqArMF4gLjBOs","jxJM","xgKnswqniAFAU5s","mQyE","1wHq","1wHq","3AG8","REESRc8GbdcCKA","TlMGWsYD2esKO64C6A","ALIBvgrIBtAB2AEzAoABOgjYBrEGRwLbCUIbNQRaDFAG0gl5GcMIKAG9AXkPigSfAWsMywKuBGgChgOHA2cHpQPNCN8KoAtsAXMRzAEnD80Byht2A8IFwha8Ao8B8Qp4BfQPvQfAKcwDsBuqAs0SuwGKED4JwQHDBnYGxwSsA+EPRAe0Ec4D2QHqBp0CuQHbBocF3AajAcsD1gNcAbkWsQI8C7oTwga1AisBRgSSEskDcQR0Ct8JYweSBNsIyARLEnoB3AK2A8wJNQYsAtcBogpuGHsC9QS7B58IsgXNAcsCogzNEeMoQQmODWYDzgWNCcokzAJJCn8L1gHFA6wH2hiaAucBngH4BqIKVgTjBs4BqwKLBuIGLQXzAdAB1werCqIHygzpAecEwwLcCrYC5A6YDLwJzQPTBM0CnQZ3DKMLdxzaDr4FYwFVBNcFtAPZAj0CyQTtBNkE6AKoAqkF1xYjA7IBiQXuArcC4wLOC9oB7QHAApYC1A5jB5gDtwHZDCwGpQTqAW8HTQF0BzABbAWACUQDJQm8BY4C3QS5C60F6wLoA+AB4wS5CLUCuwOJA8IMJAV0Ar8GpgTFAdUFfBaiA64FxgLIAzUKsA7xBcACcASgA58HrAklBuAbeAd5BbICIQjpA6sH3wHbBC8G6Q+vFaoFXwypB7MSowGqBukGiQS8CKQERgOaB80GtQHKAfgH5QXoApsByQSCBZoE0wPJC2IJow3QCZ0NpAaPBXMJ2QSdAaIBvAKdC7cHqQ/zA8MBnwObClkHwAe3AcoCrwGXAsgDdgQrCcoJawO8ATkIhgy+AycLuQHABb4FrAZkArYBvAGCBK8RhAKmCHkEOQmMBEwD6QVmAYIBXQM1CUsMSANoATwEmALjAkwFlwTBArMI6gPiBcQFmQVGAUgLyAPqB0YG0Aa4AmMDtwJCC64FTBdGBvcB9gFCAUgBSAFqCYgD5QVJAUYC0gXmAukBcQHVA8QD1gFCBL0","rAhc","FEs/tQ8pD5QEQwJuED4aQwuOF5Emd03OH9IgfxrLAqY8PRbPJvMqqieeZ2oFsQHMENAkhw5+DOUE6AlJVeEL7RWpBblhzBD1BTpAuAHgBsITeiW3E+YINgYqI8AKnw9WBMALQit4Cb0IPyuJDNUr7Q1lH3kJ8gcsGXICgAmqApkExgLtBJ0HngHdF+cHiASgB1EBfF5ZAz8BQwivHYc34iLGApsO5QepASE63AGdDXcGKAg5EaYIwgtxAZ4BPAQlBkME4wN8N6sgmAJWBTUwzxNLBkwebgvdDXILQwWwPUoaSRFJB8EBQg","DFklqKIBl9YE14wBxuAGOA","zwSjngKigQFP6AI+0AOlWzE","aMjuAZ6ZBTuEA6Io7A61rwJG8gM/O6Q","IUgFiGxHHLOMAbIJMQpzD6KBAZofL0OjTEKMApsdmB2yCqIZqGYoSKQvPCiwL7AKrBmJRKQKQA2lGJMhSYYBSLEBPzSITscbzhBBOlJJRgxg","iQTt","uwFzhQdtgwR1KKw","6wib","6whx","6wic","+QGk","EqMViBWAFrEFvwdeMkEoyIgBUB5IaZs0z6QBpgY+Jc6NAkcMSFt+CT5QdyFHEpgvTiRtMLN8mz5JDM4eTweTCkcsUXWWMlwemDVFBEZBPBTgKmklSB9rMq0","3gHzLdGzATzuCPM","rAzp","gANvpQsl","+AWX","6AtHZt0","iRDR","5AbEoArK","hRG7","BUELSQFFBosDfwFhBEsHeQJDCLUDWgOpB5QmhgxQHDMYLgJlBjcFoANgBZsEfAGHCUQGpA4oLH8DzQHPB7AYeQ1wA0MBPgifDzgTOQOdBKYLXgFTGNEJQQFsCFABSgQmEYYDUQK3EZoshQJeCC0EZQPNIM0WpQjAGaMMKArLC4oYTQTDEaEPeQMqBUYEogxtA1ERsA+lGr8DjAdmM0oCkDq1OnEIgwFrD3cBPAFOA04TfBnGDIsItAmDArgEnQ5nF6gD1SVLBnMCTApGCU4RbgRFFscBLwNTB64IIiJfASMSHwKuAlEFNRWSBHQCvQO+AqUMSiY7CXQBsQ/QBCcBPgGcAyUDaQ9RAUsH0Au/CyEKYwseBcIOvwRpAuMHaQarBcc0PwMgDUEISAjpHl0TXjKdA0oN0gJyEnEFvQ2qBG0RcgE3AicCZgJKAc0DoBypAmwOUSU1CWEFpQFxB60oTAVBAY0Mawg2D08OmwJ6IOYJgQbNDSoMnxlwBLEB8Qf2A1QDOwtLDFESSANBKKMPRBdAAT4JcD5L","b90gfyGgxgLiUq3PBTWnAUYW9hB/BPJm8uUCpg","zgxQ","zgxQ","zgxC","zgxC","vBDS","tRBs","7w94","zgxx","P8a/DbQ","lQd/","/g2k","/g1g","F9E","jRCK","tw7E","tw7E","gQlX","cJE","F+Y","iRDs","lgHl4AFeAca8BiE69AJGjQLZAlj/ARnLAalC6Qnpde4","7gaf","AXBWjQTdCB8OnTZiBJNrLBM6EDYXeAosQag8iiieWKMTogRfCnqxATtP0AHIHEoCmwumUppMjQpccaglaB2KDYZkKFExHntlvAviFoVCfVCvSnMHKwSkClQSqhScK3k0fhyrH0EpZxOxBEUEgg","owOc","2gIsowd8","wgw0","kxDJ","xwmC","FbdmXEnYEcgEcQ5zD8cbwh50J4tMONYCoaUBLwpzDWoNnRZtBNcHeiR3ZjEBlBHCCD4chSjYEcUDpy8fAbgDsyGZIC8EhS93CnQEsCjEDSUKcwNzCjAUbyOpToIBrDw0AnUIPwLMBqhKRxG2IXIKIRC0DSojdyKdbWMCbgY5Bs8TxA","7QhC","3gis2wV3","7QnO","4gjx","4gje","4ggv","4gi1","VvQ16A","ihAb","ihAx","ihAb","sAeLgAnx6AGs","pQeWoARzE6VElakBqQdEjwK/L+YJ5hOuBUI","ihAb","kxCK","phAq","CKABVAP0AW8D5QG8AjMFugK+Bj0CcgKsBe0DdgWTA1YBNgsrCFsDbAOrAWwCWQK6A6MBVAOpBHIByANuAUoHQQJCA3sGpQGZAUcCawWSAjIBbQWaAXICJwTbAd4FoQKpA0ICpgNKA9wCUQG3AmUBowWmAaYD1AWkArIDLARCAb0BlQGhAXEDNgo9BMcBVgFAAjwCZAFhB3QE0gG6AnMDqhaABOUIfQVmCGcJlAmxFj4CtgPLA9MC1QeJAi0JuQEuBKISPwGlDLQCagjAB+cBYQPZBeYCPQYrCagSsgqOGqwCoQLfBKQDsgPeBLMHegezEukF2BXMBcACqwG/C50B0AHUAYEKfAZYAyUGuAKtAlADngF+DkkDyglLCJcGoArNCaoCSwKXAXUEsQfkA0sGOgbxKcUDfQFxBekIvwU8A5EIzQGtO9AKzQnJFWgeZgaOBDIBWgHNAd8BdgFaBbkBrwLiAb8EnQPMAvUEixKEAsAERgF4AaAB+AOgBUUBSQ2+BCoHSAVwAvQBaQGACXQCaQSiA6IG7QL3AmcCxgPhAdkHlQHLAcwC6ANGAi0HywVCBEEFmQHGAagOXAR2A9wEwwdLDk8CrQPPCuwB7QZnA5sMKwM3A6YCnAJyBI0EnANAA4ACJA0+EKcB3AEqBs0Hogx/CTUC4QLZCmQCRhfXB5oL4QO8B8gLywl3AXMBewF1GkkB5gYuAqsDqAh9BGEGjw7lA6QERQieA+QFmgKlAaUE2QaNAcwCKwfhAUQHJwZ0AlgF0QieDowKaQJOB4gEpwF6AUYBxQHQAWsDrgMwA+8ERAElCrsVjwFJBDEH1AJaASYGMAGfDPQCywd3CX0CsQcrA6gBmwerA0wCmg+mAqkCiQZEAU0GowNqAZYNSgXJAdUGUQR9AZgBaAGtAVoBhAOpENwBKwGxDJ4LowNIBeEOZQJ3AqYJqgOiEWQEeQGnB7kCpAFYAWcGUQFYAZwBYwWKAeEBOgVEArQNShM1AqYBNQhtCNsDrARpBo0B1AJDAWwBnQjABKgDKAx/AXcBSAbEBiYB7ATKAUADsgFZBYYINAu/B4MQcgFyAVQERQR8AWgBfQvJBE8PuQRkBqQBuwM3AScGwwS3BNwBiAKaA6cI3AGZBM8EjwFyAd8CdgKAE0sBPAxJJkYPXwGnA+QKvV9CAW0Gzw","yQKGUqYjbfsMsw","DLcZiwyAPHx7wGPpR7vQAUpC0y7WVYoC5BSkb+gofxmeKrQu7Qe/HzcRfxUrCS4FWkZZGM0o5DbYRlUC1MICwwE8LzhOyBrAB7Q2RVgl","qQbj","kwrH","MZP0Cdo","hw6m","EIU","yAMq3AEhG+eQBqevA7M","jwjs","Gr4","DOQ","igat","0hDc","ogjO","lASqmw3M","jRBPD7k","9AIk","8Qdw","1AIt","jwjY","nA94","jQjl","jQiZ","0RBy","sw/E","jwji","8AOz","qgfM","KXQ","gAzQ","vwUv","8APPJNubDdA","mRJt","qwEl","qwGg","lwjZ","ogjU","xAE20gVa9ATqMiI","mQTY2AHpZ05A3LgCf64BYyzIb1E","yQnX","mAdj","EzM","/A98","owGmbjQ","4Qce5wiZ","9Q3U","4Qce","ww6x","nwhN","9AIk","wwJ73QSvAuIBmL4DnaQDTg","Kck","dXrWAb1QriMtLIpagegC7eIFiSQjXqYghJMBWXa+","InKuDOc","jAvlErc","EUWuBc28A3UBpfkEqQ","+wjkAdU","ywfx","4gOs2AjR","jA+7","ug/Z","ug9F","sAXi","nxLP","4wl/","nw2W","9QeA","9gTK","iwOh","JDz/AivICzU0KBswKCA","/Aun","uRE4","0gy4","mwtz","nwhN","5gPD","rA9N","mgFK","/gd0","kwGh","rgx2","EIU","0Azf","rAfj","4Qce","ww6j","AEIQUQhsCTUIkQEwCnsKcAKeDqsRMydDCkEtmANCGD6NAaQWrRvQH80Jpz3DGc4fpYwBywOmJqZP3Y0BagXbJjseZwJPLpQBJwdvNnUB7CdKjAGTMs4XO1FPGLQEegZKBEcNtQGLBI0JXiQ/lQFRAk9FyjnDO0IO6QxMBEYerxKsMHifAUkU2ylQRME","/Au1xwK+","wgWm","EL4wdKMBsQGCAYbjAfQeoRVmjwLelQHaDtACQhWkSZkCpALbRPUmXSqDAVISoGDIR+QC5g6zBcgYtw/vwgTGCfsW0QfTAb1E8wLwReBE1zXl","jQi/","jAuP","jAuP","gxDT","0xHU","1Qjg","5g+h","5g/f","5g+j","5g+h","igjhAvYB+gH2Ac7QBnI","jwhP","ALIBmPgFsJYCxtUD1qIDpqUCtw","jwjJ","6wJsAWwBbAFsAdIBWgFsSr3KArgBsAHEPZvBCDuMAm4","xAZ3","6wJsAWwBbAFsAWwBWgFsSr3KArgBsAHEPZs","7wLL","kRFG","igi6AugBrwHu","jQjw","jgip","ANwC3ANsAdUC3QKGA0IB7gThAYsJfgLNAtYEugvuBZYE4ANgBrUFzQORB5EG5AbtA2IC3Qe2AcAB4QKoCqYF6gImAWAHuwTxCdUBuwGgAvoC0giuA3sDyAbWBbgDYgGLA2gBpwdCAcwDYQKmAS8BkgZiA0cBrgLWAYsJzwHXCLABnAH0DD8KYgqVCbMj6QwoApUDzwa/A5UCvALKBOQCtQHTAUgCixe/FLcPhQHmDcsBvwLWBbEFYAppC5sGPQufBnUCUwexBd8XLQS5LGYCvwJ5DNIF4g31A1wByAuxBGwFRgm1A7gCdQF5A6ICag29A7EGtQTIB5MMkg7jB9ICgAFtBmMDdAhwAnoMpQPdA8ACpgFQBtIH3QF6AtYETxPCA9wJmQTyAfAP0R/OAtUCqQjXCM8B1wPtAcgKmwzMBrgEuAKyCeIE7gLtCNQMjwbSCGgCIQrkBTgB2wLEBbEIzwTwCaUDcAHEBMYG7QVxAdEDxAJKAdEL5QjwArgD4QFbBnIL2RCNCCkNog3cAp0D8Aq+AdYJ2whHAkwE9wHRAtIDgQF0Bb4K5wKTAzEBpwNKAckBwwfFD58EbwFwAewCmALIA3wIjwEyASwBuAQ8A3YCnAIiBx0C4AGXCMIBjgUyBcUPoAHbA7UBwQHjBrAHTQQeBnUB7AhIATMImw1FBZwCvQEoBnkP6gG9B8sBqATTATsBRA3lB9sM5gHZCUUZ6w4iAs8B5gOKBa8USwZHA+cEyAvXBYkDhwe1C7oDNgF1CrMFPwKJAmwGkwPeD0YErgLKELMDLgmcBcUB7AGIAuoCqAOpAcYIWgS+B3kLwBQrCG0HrSOsBlECwQSpBzsD7gGeBF8OVgHjBFAD6QX6AbgBsATkBdsFoQLyBccCbgPZAtsIiAOyCdIDtQiwA88BOgJvAdgDyAa6AaQF4AbUA+wDQwI3B0sC1QRyB0oDfAIuAogIhQtUAqEFnwHZBOwF5QLYCLQExwEjA7oBnAQrASID4wNaAtIC6wOTAswLTwazCewBJgawDqgH2wEkAtICQgrhAcEC0wymBvcGbwFnAsAByQKBAnsD3gGZCHADzAHaBeQDvQWKA9YRwQHVAUwNOwhLAY4BaAFxAtIBhwlyCYIBtQaLDnUDQAN4A8sH4QWqBNcFaApBBXITZQGhCs4B4wK8BtQL6wlYAeIB3gE2","9g/W","lQ6q","lgGR","8wqokgfj","lQ7ioQK0","5AizrQhG","qxE7","lgEm","rAHh","rAGN","lgHozwaSsQKb","5QeS","lgpv","lgFB","9g+j","aqxCUIIL5w","rAFQ","6QGwjAvK","8Qdw","lgGK","lgFm","alc","thDf","thDH","wwWc","lgHY","aoE","wwXB","gwfM","kRFG","aoE","aqcfbg","ciXfCi4","yA2b","sxAv","qwGL","hhHR","ihCNCd4","ihAb","ihAx","ihAx","ihAb","xA94","kQ5p","N7QETgrABFgIoiFsAZkYmgVBB58BoQlDBEUBRAWTBaAJqwO7HaEGrAidD6ojSBCcEGYhrATFFZsmjgipAaAgkShkBHQvmwqeBbQMqQe4BEgnogmZNnpPsiJPDKIQnB6VBpckjgWkCbULmwadE4sfTgWZCLUCpAWfAkoJbRiYB8oZrwV/CJ0OYQWbA58XRgadH5sCogzNAa0DpgJJCpMClQ2jFqcHRAGcAbcDqgKWBqABkgGhAp4Emg+rCagDowOmB5oNngXKCJgVnSTOByoLoyByAp8BqwOYAZkGmQatApoCpRbEAqICngOWBVADogGjBJcCjgZwBssLoQF9BpsEbwGfE3UInxGeB50EbwJwBKAClwqgAUEERwFHA6YIcRKnAkwXpwWhCpwCRwqfAacWSQGeBZ0BmxmNNagCay2mAZsBpANpAa8KoweXApsMmwKdDaQErwZFAc4LngJJBkwDmAOcAVgIqgKmBKcDQgGbC6EIoQKlBKAEkw+JB6IobwKlCZABwwqcArIGqQWiAaIJsAihAqMQmgmyAZ8PpgFL","7Qmk","asE","ah8","arQ","rglH2QJJ","Tcw","Br8bzwJtBb0DSQO0AakhUge/A7ITlBrFB4UBeRSEBrcKQA6uAzwHywS1A0QFOQOtA58CywGwEdkCPAdFKewTOA1EA4sQngZICLknkQjgEJwbpxA8LaoCTQK9AUsXXQnxAc8B3wH0AdoB4wHJB7sEtwKvBLtCwyVpI5cGwBm0DyEKpQ2IMEUFqx2uFjATywKkE+MOuwFFF2AOtA2nBTcGUwqnBrw2gh5AAXI5TAJNC7oBsQOuDGIBcxbhHEAJoBmeDKkFuA+eAzAIbQvSAXIFTwpOHMEMzwe7ArsQRhm7A+0GwQLaIvMByALwEt0XSglIHrwDpgvWAcEN0wOgAaQGkwZBAdsB1QelB8ok6RapNbEBQQe5ArsF4AimJLsHnQOhDMcCzyCbBD0CuwmyAa8CugamJLoTWByzEqsE1AJHGawBRwTBB8EFwQW9E1MEoRJFCOgB0QO5ENMDSwHOE6QHsAGoBXEHuwJGDLgV0ifqH98B9AKJAqoB6gHiAUAB5wHWBcQB5AHHAqoiozQ2","wwKb","O4JQwA/fBdMGZQK6BN8Qkzxaan2cAbcBuwHIAboBuR/RAekBswHZAbYB8QFwBk4DzzqqF9hS6jaKH8JBuQjIDo4FjQK0xwHhX24HdypxDL86USbLE8gB3xdlTI5RuVqOjAFASXMMczXRJXk0XxLJCqsf6QTYAdg7RgahYbABuALyAdEB6AHRAdAB2AHSAekFvwHCAe8B6wfC","zBGc","oQTPAuqbDV4EzgO5","zBGc","owTqAayYDaUCOQKqAsgDuQae","wRHJ","wRHJ","0gWU","oATrArKZDa0BiQieCqo","oAzW","lQvf","kgqe","vwup","vwvN","vwvL","sQRz","vwsx","/APV","/ANQ","Vs21CM0","kQHB","Vh4","Vqo","VoQ","xgzj","xxD5","qwPq","ihAb","ihAb","/APs","lgFm","ihAb","iBGW","c3ULYDNqDId9aBdzA2tsdDteKC0TkYwBpJ0CWhVaUTIBs4sBnYEBQ0dtCFUtjCJyVHRScgVwCDQblilcBpxBolhIOFcrRDtyM54","Wnc","ihAb","ihAx","ihAx","I+FYLASOB8TYAaEWnQwwIpAlbqoBeocBh/UCSErILiIBpQwt2QFsSi0HKwEyoAEiDjJlNWByAjIEzQ","8QQ04QIq1wQ2Fy9YNKkBNAcxywEkGCc","Ht+DASwj7CK5IduFAfNO4vIByQm9AeoC5iLpuQJmF9k1tgG/nAOpD+sR8QKjAdMkdxvjggFguQHsDblFySjiC6OcAewQtg","uQ/l","uQ/N","uQ+U","xg9V","qwyr","qwyr","qwxX","qwyr","uQ+7","uQ++","uQ+7","uQ+7","vhB4","qwyA","xAHsyAHzTuHyAckJvQHbAuYi2oUDcgGrqwNXEfICIKwFtg","1gXDJMM","vAw9","vAyg","jAMy","+gWd","qww/","qwxV","ihAb","ihAb","QLsNlQi6AR4NYgxdISg0XZkCaNwBepQFUqQBRk57twFiAh4YWBBoH8MxgAtnPuwJHAFpDVsJbK4Bpw","VZ4OZCimBZgPfpwBP6ACzLgEo9UBf4kBzo8DnZEBTQ","hxGn","9QGMygIwmQpv","/wkczgG1pgGm","ihDf","JaNrKIYM+qACmw","7AmD","lg1Q","tQFg","4wuF","/gwk","/gwk","vAfo","3gPVywze","0waFAcvoBOo","A90z4jreiwPy5wLgmQHoAesm4ZUEtA","8QHI","8QHY","+wPX","+wM5","2AvL","wQRz","xQ7c","0gG6","+gEnngG8Ds7oA+QuKOwB2jDcZ+1K8QHvO9ME4g/XWfFC8lKeCeFOvgXgFnBwNSXlCs0C4Tu7zQH1","iQuiAcJOJPQDeg","2At9","zA96","mANB9gOnmgKmMDxBd3DqAa872ARPD0xZ6kK3zwFHLqRJJjjX","swQ0oAd9","qxAn","+we8","NuKgD+w","2Aj2AsAB0+oFsA","hhKf","tQFx","owPM","jAvk","jAvk","ogHH6w2U","JE0Vbye9FkYIOQ0zCnQDKhEsA80a3Qo7BDIBRRFzBt0HPAJCHZ00yQ1PEuBQ0XPBFbwETB4rOJwC7zXfGZpnxB5vG7gErxpFF7EoxIgBehuiIkM2nx2oB3AL0gNNBkczTBQsBh0erCZIBl0W0xFMAs4CKhRXFzIaKCcvClATQxDMAiwgJQIrF0hIRAy1FiQJSARAOscB3wHdB3ITOQ9vBMMJdAVLNTxSKAtBT/Aumzm8Gdo","xgHdnwHg3wizE84","lQF0","mQXn","vQS8","kgKd","kQpN","/BDw","/BHa","mQrK","mQpz","tAGOnQG+NFexDO9e7EzCQew","jwO6BflJOOcDQ0h8AvLHAkh+SIwD4BtCLFbsAvk","lAPP","jAhUArw","lAPg/g7i","oRHs","4BDC","hQNX","0QK+","6wnQlAVB","kgqO","kgqO","lBCe","lBCo","X8I","7Ania8U","zgeg","sQGt5Qm2NpoLQkPX8AKR","2ArC","lgu2","CLoBhD+7TaAWpAfSIqqGBaBEp6MBbmJYC95rI4QBxf8C3Qk/BoktrgHLH+V60wLqG5uAAfZl9xbV","CJEBc4YBKQajiQLB7A7V","CL8Bc4YBKQajiQLB","qwFf","CYQ","qwFf","qwFf","+A7l","8Qzq","AEIC1AHLAuMI0QKsA6MBTQuZA+0DcAejBYMFwwTSAeEBggSbBK0CWQHNENsIxwFiA24BQwSfAb4CQQekAdkBmQenAesCxQEzCGsBtQLjAYcBQgPKAXkEjAHqArkBwAFDAUMF8QWkBGwFtwFnBLwBWQI/AaMCwAG3Bt0D9AI8AakDuAdmArwF0wS/AYABaAJtCcQBbAFWC7ABuwJzCK8BfwXlDtwQWgGvA88GpwOOAq8ElgZWBZoB0ALJAnUBQg2iA6QBuQNIBLABrgU5AYgJbASYBI0BdgmlAqsBRgamBOoB3gHpAe4B3wbJAcgBpwbIAegDPwRCAckHggLIAs0B2wHrAd4B5AHVAssG6wdBAu4B5gW4CtkFQAOVBToB7gTQCMED3wKtCmwFjwmdAeYFzgVsApIB4gPuAd4CYgKsAp8GxgPPAzoH0AWAAc0GdARqBtAGuQGCAq0D8wRJBJ8CxQyeAc0FQQPeCtYGwgN/A8EOpAU+BEwJ7A+6A9cCRQToKdUI4Q9tE7AC6gaoAXcDPwjOBc0RaAfWArsDmgLBBXQB3QOoDpgBTQEwBUoEnATFAt0FywGkEkgFoguWCeYI1QfcAccCmgG1AaQGRg9HAWQEgQPWAeMDSAGKCUkGyAWGBqsGqgLDAd0H7wPKAp0HWAHFBL8EtQbFAkAG0AM8Cn0BlAHbEvMB5wM7AXoMngPCAqsDcQH0AaEBvAhlCKUBtAOWAcsCRwXPC0ICvgKsAWsBrAGGAWICdQdABnQEngOhBKMMagjaBZUGcAKSAigCQQFHBOoBrwKiAksD7ARaAfIESQPhBkQBSgdxAesB3AF5A9YEPAGWA20GrAK2ASgBzAKwBn4B3QS8AU4FuQP1ArEB1wHcCc0EygXcA5kBmwIkBWoEmgjSAZAFqAJ8C3QBuAY7AUQBlwGlArwCyQRJAbEBwwFkAbYBcQNIAcoGdgGmA+kB0wSZA58GvgJFAUUCtgO4AuoBvwHkAZEC4AHkAY8D2QKmAX0DsATrBFEC2ATJAZwGfQHGAYECQgFrApIB5AeJA4wC8gahA6ABvwExAUcBSAXmAoYBlQHcAuIBXQFXA2sB1QHVAYUHygdtAaQBtwKnAtEBRAJcAXMCKQFiCLMM3ANDA6ABhQWcAYwCTQPUAr4B6gTIC+UFKge9B7IBYgGbA70CQgZkB+UBdQJ2BVQBRwbGBaYCngG3BJICuQHGAbcH+AXNAaICqQSgCkUBuwFMBc0G2AHuEdoDcwJ1ArsCUQSlAm8LJQIeBcQBgQE5AlwCxQrPA0sBogLsA2kExAEmBkQDxAG9AdEDswHHATwBRgWyAbIClgV3AagCwQHZCKIBaBC0DJIFowSHA8QBpwNVB8QCnQKIBaYCpgGAAZsDwALQAdICwgHLAZ0HuQG8A3IJPAXpAsIBzATQAUQDSQjjAqIB0wHrAl8DgQVJDW8CQQG+Dc8RpQG3Br8BjgvWAewHJAFZAaABiAGkCYsCbQR1AckDdAEnAWcBhgOCA0MBzghjAngBhwbdAXoBnQKsA2YLwAbbAksERgLYBbEEyQG0BNIC0gLnAkQHVQVNAtMFSwOQGEQBowmdA+8C8AHUBeYC7wL0AsgC1gHmAu0CxgLeAkgB6AI9B9AGTA3TAeQBRgKjAawBPAJ1A0gG1gtEAdkE7wa3AuwHwQH2A0YB1QPj","nwxz","yg3Y8gHjA6g","lQ2m","mQqu","vQ7Z","3A3a","VsI","lAGaiwLIAegRpJMCyzffhwHL5AGdtQG5LNxLV8gB5ZwBJS62","/ATe","7hDJAbQ","Ar4","7w6N","wBHsB+w","vBHe","2gSt","2wFo","2QG/","ygyY","jQPa","pw3z","+wZh","+Qvm","7Ajd","pwFs","ygXW","kA3G","8gqilQfU","wQTD","oQTnBayWDbEC7wLXAsgD4gbE","9xCr","9xDh","jwPkAd4ByQbJATR544EBwc4C4kNbjgLsfdYFywHf6wHG","8BE8","qw/CAcw","kgtC","0gjwAeLHCZs","ygyY","sQOkrQOoygO81QQmCZs","hQqQ","nwbq","pQ5s","tgfM","6xGo","qBGj","jBDp","RsM","6QnsvASY","wAii","jgjg","gQ3l","vQev","lAHhtQK5Aea2DVU02QLw","twHAqgKV","jAuP","mglD","Ie0","5wvV","1wSRBu8vwvsCz4ADtsgByPADhw","wwLJ","7gns","vgGC","uwTQyQOqgQSspwG1H+4YpSCfEOwHqwy4BLNPlx+8","wgd5vQGc","wgd5vQFx","zhHo","zgbKigFk","jQPX","2wuZ","e94Ovw","sgXo","hAux","aHE","BbQItw","BdkIqw","tQrc","zAvJ9APpnQFK","6AiX","3xBL","/wvX","jQ7P","wguk","7gnd","sgFZ","7Ajt","4g6S","vgHF","1gJ+","swPNAdsB2wHeAeQBsA","5RBM","2wbd","wAjP","MIMTrRxiswHKEa+7CNJk4dkG9g","xwZoxAvvF+M","lAGarALcJ7g","5RDV","fXg","e9EOvw","A8A","wAPMJ+c","/Qq8","2QPZkg7D","+AOt","6xHD","vgGCKMQ","1QbB0gbd","ngHxsQK4","8Qzq","mgzX","1wtC","sQGt","ig+R","jAE6NO9Sr33xAfGJAcuAAegT1KED4aUC4zLmaLbsAXLNAcKwAVCoAek","tg+2","tg/K","C64MkQekBG0KmwRPFLUgeQbdDEYGTxOKDJ8HwQygA2oE8gqgBc4M2QHpA9gFrQ3tB8sGexTOE9smegFiED0lwwGoAeAU8EnsBcwhuDveJWUC7EPzA6MCyQHEDFkBMgLeCtQHpwbqU6aVAcgUwDJ6E/AmwEhJAaUDkwHrKZUI7wc+F6QHljfcAXEEMwGLBfYHzwqqJK0IKBHvGJEU7wqpCewZNAKmAnYIIgIxB1AB3xTcA+QGyCZGAUYE5At0BOgR9AH3AfYB3AHfDkIVqQRCAcoH9A92A68O5gh3AfAGnw2OBqQMxwGRDo0TlwdYEWMJ9gKTH/ILbgNUBaACcwF/EekhPAO5BPAJNQVkEDcBnBwoDu8HXwatCOcKeyHcEboNyBHPCNID8QrzAe4FpAOfJOdw7w3w","0wU2","1QPf","nAwrDyaOAyY","nAwr","nAxK","nAxO","nwqt","jw2h","wAxQ","vwx2","7wwp","vRDM","2hHS","vgxs","2gOq","4wxl","xAFd","4wxO","vgyY","vAygApY","vQygAZg","vQxlAWw","tQHW","tQFg","sQmdZ8Q","0AG5hQLf6AjaAZjCAcEhuktrTYU","vQxlAZg","vRCg","vQxl","vAyOAZI","qwyA","vRDY","uQ8m","vQyR","yA6g","8A6T","qwxD","qwxv","jw3A","vwy2sQLE","vRCg","zAXl","jAMy","gA4gvgJE","+wvgBms","mAP2qgSu1wKkcIMBpJID7xuiqQOL","mANB8QeDrgMk","mwM6igNLqQakwgEg","uAI+","AEITyxJ4BUcJSQJLBlEWwh5iEngFhQrZAjcG6BDgD2Qb2gU5IM88SgXSGK0Knx1TKs0DSSljG3At1B/FAbYMqn/NGNIWSiynDKIDrlBmHGkCSAFPEbQoxQmaAr0BmQ9IA8o8UwVgB7FqhgLEKrcE1wtBBGgxqwpCTqs8UCHAENYfWQJNPKAflw2yBMwHegJIClIVrQR7HKoHqBjAKVYMnROXRHIEQwmzEbICugetAWkJRh4qCDwL4Ca/BIQ5NxhxQ9JYShU/","UXjYAZwPMyKfjAGqXeDmAZG2Bqcwz7oCRxm/","wwTU","wwSe","FoMXaQnREEoNXAebCG4GawVxCHQEawe4ELQQxgZrEFwe2m95MGsz8gGoAd03YhvaOlETtAhmEscIyUBMHW1cQgdgWLEeXgGjHLgW8QuPEkgG6j+xR3UEtgFwB3ANVgWcRqwapAJiEM1o5RO3BGY0bgWrC08jRgFRA5AyiRHQRmkKRBZBDkoCSwSgVLwQPxBDC0MClECXJHIibQOrINx3SGJFM9gH3xROAvIERg1O","kgGW","qQZg","iwrN","pgPsAagB3aoE8Q","tAix","9Qex","sg2g","+wh1","Wk4","/wi2","gQex","CdYGtwt2DjQCggtiB4BR5ic/ggKTC6oX8zGbBeKsAdAi0Q6lBaME0AzmIGECppMBaB6ZAvIaxyNvKXkX+g17BC89oljijAHdDXINkwmXVb0pzHIrdGddjBUuFyIMKCSqA+GCAdoC7y5HCjkZSSZsDao","hwkylgFH2gPO","jQFn","ugGz","qAyC","7wzg","7wyo","igqbmAGcngGjkwSjAcg","+gf4","+gfE","+geJ","+gdI","1QM0pQTzOWbZB/c","1QM0","+gea","+gfK","+gdu","+geo","jBC7","4Q+aArEBsQGs","iQuD","tw4k","/AKy5gGq6AOuDLWDArJmpjjQtAG1H7LlAaptrg","vAfU","sgjC","AooE5h7IA4AaiwdQGpIY3QlKGOUHWwqWCD8JQgakDu0XKQujD6wPnySjAUULzVzgAW4EqQRjGkUNbyBtFmAavUvUHNQbSy/xV5UiYwTpIbcLbgT8RYoBKhOtELQgvAKYH6MOoxObJTcDwi+mD0sCmxqkEmgEeh6KAxwaI0WjBh0HvQRgE7QOnw1HCb0CTwXDBDIM2AHSD8ABtwLTAy8BwAOoAcEriASrAlMNdwh9AqUTewm8A7YJxwesIp8GyBOoFJgFSAT6BVIIKzHDSlAFIAKJITIFQgPOHS5MYgElNI4LPgpuBS4LygqbB9UQYsUBsw","+wbs","ywbNMOg","7QOy","+wbT","gQGT6APDAcYBxuoBecgBgy+AswOA","pwrT","rhDC","2QlX","lgcqNfGiAbLxASwxozuXLD8mtCTf","tAR4","uRGdGKg1nw","ugqC","uQU5","9gs/","5wWz","HSoMdP0CJvEDpc8CK3gsmAE/JoyXAlhbbTQcFyA","KjQ","gA84","+gKzxwq7AdI","oQtW","QCvcC7QkxQ","qw0/","FCg","lQcy","qwO1","4wsn","4wsn","mxAr","4wsn","FCisAvWLCXxcVfQDSg","TaU","sgkq","sgkq","wQg0","ywt8XFU","wAL0","HV+CAS4PRKsOIEM1","lBAp","+wwt","nQE2","sAkt","rgFE","mgFI","sAkt","nBA1","0As4","6wg3","oQud","twFL","7gcv","sg0j","jg6H","6wg3","G34WTA","7Qs0","ywfx","nwEu","FCg","tgQp","wg4u","7AeF","OW8","+g45","+g45","+QeE","qQY7","+g45","+g45","dkI","B0IMbzqlDWwgPzqO","+g45","ugxF","swwo","bSM","sg0j","nQFY","qQw2","zAFb","kgxH","GMGlAqUXZ60DkYoBxwFmAYvQAoavAT9mMfYCK1oy","fjk","8wts","qwkk","nApe","1w52","8wts","9wLc","wg8c","7QVs","AsgB9gJyAeAF+QTVAnkCsgTdD9wP3gKjAYgKxgLFAeQJ0gVQBPMFVAcfAaQEPgdqAsgCUh2eA+sB9ALSD8MB3QZHBcoHhAuPAuEXoBjnCm8DcxnYCLAT+QFzD48M3AvwAfMXPwZ5B4sV6ALDA6oHmwXgAZcEigj5Au8B6AH3AfcB+AScAtoX7gF5BpsLuxDQAmYG6AbzAd4B8AfuBoAn7iPKAekO3gS9AeIU7QN5Arce2wipAuYOtwrxA7ofRTJuCtgOwA7OB3wQzTD0DOAhyQZJHsUQ6AS2NMUMZgRMAvMCrATRJPgFuAPkAfMC7hGYAeUFyw3cCfEBdwyZEu4cvRbwCVMF1h+hDXIU5hDTCOAB+QKsBFgN8gKuAegRSAXlCpUJ8gHtEe0G2grgFJkBig/sGNcJSw7CBvgFXgPXBJQD5APvC9wH0D76AmwIwg+LDecDNBmjA+QC+wHRAvoB+AF0B5kDShrHBtYC9xK1BesD6wGgD6kPIAO8Aj8SxgNmAmUH8AJuCnEDbR2ODkgBqwboBqgP+Qv2CTwFcBDNAiMCVQYrAm0K3QG9CPsBzQHuAfYB4xGHFL8LKwN2AXICvxZBAvQC6wdLAfYO8Qo7AcMBRALbCFZ4lhaMELg","sxC+","kwt1pwLd","mQ+j","A8s","uQ3s","1wMv","V8M","tg2oBKo","tg2o","7AnSrQWyC4o","D5s+wBs+C6QZwgiaB60oOgfAZaUG1BFwC5wNmQGiSJ4TsgTZO849OwfpBEwyxM4C2XamLGYLrUpoSU0UWH2zEuVV9YABf4gBSOABmnXdiwHm","4RHS","c30","vgO0","jAE6","wQfC","wQer","lAFu","0QKF","vgPE","vQSK","D4Q","pAvP","+QuL","tQLJ","gAmo","V9Y","kgub","kgtX","yQsl","mQ9zC9Y","3QKRPl4","tg3gBMw","uAmC","D7ccSW1DT50BKRJFZJk8ogsrM2YkRXGthQGmBpcxkdkCfxsqLSoHnRsdKkMSHgohNycFowxEgAKanQFKK0c6ogowlQGm","zAGk","tguG","2QEq0geingKbWHWQA48","gAGmIMEGRBCJkAFwNq8RrRdJeUpDZA2jTKJAsAJFogFLDKYWSwWkC6MNtRGeAUEBmkVOYK0JpjecJ0QomAU/EJ2HAUIIUDfTK6glQhnFCkUCSXqcCJ1fsxdFA0MMQhZIHTwpuAObKboLsiTN","vwLcEd7kArrjAbVdQ9UB2idZhgPxkgW7","Cs8Orh3TFOkF4AW6AasihRidCX4NyBBBCECmAUMoviP5AfkB6wHaLRsmh0umGZpLwU/kPMhbbAF+AX4oZh2lJaxEXjhRbO9VfgGyAcEBvgG/AcABXgF+AX4Q81BUAVcBYgFRAVQBXgFGAUsBXgFiAaQBXgFeAWwBVAFGC7UIuQP3EfkejgS2A9AC3QHcBasLRgFGAUsSvQKyAssnwQHBAcMBwAHBAcIBxAHEAcNGvwG2AcIBtgHEAcIBwFPqLvcMrh/qIMMJzgbnCcsCuwnXC7cduwFFAfMbzQG7D9McxQJnAd4kQSm/EaoBq218JLE","SZc","SamUAxs","1A1g","jRBM","hQ/U","gQaR","gQaFPIU","rQPpAeQB5wHa0QK5PKQ","gQaR","2QpV","GLw","GDM","vQak","rgPl","Sdk","qw6U","doU","0g/Q","bEXNBLSZAmsno7cBnmJ3iQGW5AOf","sAlJ","9gvC","9gs/","4wJHywmt","rgxo","4wJH","rgyW","ig+n","oQHp6Q2n","oQGK","oQHH","mQ+NC8k","gA9L","uAHNlwuY","AccB5QK9A+YKzAPkArcD2gJwAeUBxwLaAmAE8wWxAfUCtwTeAe0B1wFWAa8CoQGvB8EIwwGlBtUB5gHoAaIC1AJ+AY8N1gPeAdcBawOoBOwC6gF+BXAB8wJ8BmoBqwHRCnkJxAFmBL8DrQKsAooB4QWiAtABNwHEAqkBsgGfAfUG7wPvAukCxQmsBuAOrQewBUgEzQKUC94DvwbZB3oFuAHlCbYDxgHKD88E7QbuBMwC0AHjAe0E5xLIA98F8gH1AsQBIwGGATkE9gGWAdkGzwHiBeYGUwXmCPYBVwTzA6AG4wiaAesCvwGCBSsB1RHZBuoB7AHtAswBLw3UA94EwALOAfcG4wEwCT8B8ATlEM0B7hChKeQL4BWtAYkL7AjDA/QB8RZ2FsUH5gHnAs4H2QLMBTYH5wiHAnACgAyND7gg2AWTBN8NjA7UEukcXgvhCtECpQbIBfIC6ALoBb0BtwLrCLQDzgK4BI4CLQLoAYMB1AdKAa0DsQHQAqcEpgeLAoID1wPmAc8E3QTiASECQwHgBtkDrAH2AeYBWQjqCJwF9wHBAeQC6gLxAbMHhQnVEGwC7gHaBeUCpwHpAVAC8wnJAaQDpgLQCusJ4QPyBdYDywLpDO0FiwXtAZ0GwAHwBKwP6QRaAZYBiRnzA7AE4gLuAbQGOQFmB+8C5gGsA2oC2AXLAu0P4AHcA+4CTgWpAucD7wG6DcsBzQ7xAugEhgHFBtcB5QjlBscB8wM8BfAD2gLnAZYH3QTmBfIH5wHPApYCzQfZCOUBkwHoA9wTzAGLAuQKdQGODikFiwLrAlcB7AP0AcQGagGuBfAB7QGhCMYHtg3QA+0BvAGYAjsIMAjKAaYG7gasA+ADLAPZAd0E3QTbAusC5wbFCDAHNQTFDnAErAigAuQBSQaDA84B3wHiCs0CphitASoE0wnGAigCigrVAuICrwnPAaINMgvXEz4DqASqHesBgBXjA78B6wPmAckI4wHoAfEEdAXfAckDlAKfArIC8RClA9MNqAb1AbQFTQGEAYMC6QTmAqACTQKuBd4D5g8eA/IBngJMAtAB5QPQAuEBVQGXAeUB4AXkBksFoQFRAfIB6gecBzQOMgHZAXUKcQGJAlQDLgKmAU4B3QWPA9cBWQGLAd8BMwY5AfQDeAJmAtkF9gZAA8sT8ghSEOQCTAHNAcQCkAGgAkcBLgXYA7cKIgFxAccCKAK/AeEC7QvBCaEIyALaBbYDwwLMC9UFPBrRBLYR0QLSD9wCpw2xFnIK7QPVAvIFvAjzAdkN7AGwGdkRxA","lwe7","lwem","/QeeE9M","sAHe","Bl4","wQfe","Y30","qwGL","3Qnn","+RG0","6AZy","ca4","zgT1F+k","zgToF9I","zgSQF9Q","cWg","rQLg","lgaM8gffAckDlM0DvQ","K3U","wg/O","fuk","ft0","fmo","SJSdAsm9B5eiAZATa84CmA","2gLU","Bl5mdSRqBG4C1DSmEqDSAZIqrIYBrirIxgFtC+sSn1CybC11hkN8HjKuAXMGzU9IKJzNAXgMrCLyX9cB1ComCpD3AawYSAmg","tw+Q","lAFu","mQzV","1wtr","rgxX","tg+T","tg+d","+QzV","xQHh","1RCCAc8","8AuS","1gm9","uQPiAeI","ugOs","4Q/MAuIB7QHW","7gjS","+QzU","0QKy","MEDrCiY","GHE","zA9e","yguX","+g45","wQ+l","0wEl","uQVq","qAko","IbQ","vwzlsQLL","7wc7","lwzH","nApe","nApe","5Q3v","7we8","vQKP","ID0","NGWiATw","kA9y","sQLBtQdLpAjnAcE","/wT6","/wR0","2grs","2grs","/wTi9gT3","9Qnu","9QnG","vQL0tArxqwM1","kg5b","xgws","swQ0","5w3Q","0wEl","mg/0","mg8z","8Qyq","8QyG","0AtE","tQL3","tQKm","tQKm","vQKs","Gn8qfwNsEsEUmQpwEkUCMxplCURHJAhiF/EBbS9iCmIEYgGiB58aJALxAZsGvzTRIIkP+gH6VSklS0o+DTbjATIQnBehF7oBbweiD4ICuUfRAWgVcSI3FGcB+BR0FCgkTQSfDCg2hwGnBLwjNRPRG3YabhIvBc8MUAJyF3YJeQ/sHmoOoBwoA5QNbw+cLisFOQstGSUGPwg0C1xQGQJdKEkElAwkELMfLRVnAW44KQKbV24drAO3LaE","qQWt","lQ7J","tw83","iwN5Xqgx5LEB6+oEpvcG3gGiBrNmbQ","ywXW4Qvb","AH8vlhC/BZ0eiAVsAb4DcQGhD7EEWgewA3sKKQJ0EYYUmQOYBecX0gLPDEwstBzZJKkC2R6mDeYLZx6pMUMQhDDHDngSzAGNBDANciByBzMLzgHuApojPR5SYLUDbxLoBYkRhh/KE+YeuAqGAuEX2gpGCr4M3gPkAbEZMSrKEMQhVQ5HAacHoxdVIIIDQwI5CiEU5AehB9QBwAjXBbUKvweJDycFfQh9BpQFzkl5CGsLOwFEDrICagGoD0AWMg63BI8DSgFHBE8BRwT3CWkC5QLfBKYQwAFGBKsGvhDIDn4V9gTAB7A5RQJJErwQlQ69D5sT0AncFZcKhzPoKbkOdhKoAkUJRwWnGboBQAkpCJ8ClhaJ9wHVUkQ","qAR4WXO/Ar8jm/MBlA6w6gHq0gKk","2wuZ","gAPe/wHr","lQ7J","/wSy","1Ae+","AfACzA6RBeEHiAVyCI0R2AR1FzYIoh7kENYDhQmBAWoErBPZC0gHzE9yIzwEcgFyAWknwgOuINYVcxa/AfkehQLFB4MPnAK3E6iYAcgOKwh1DpUMPxB+R30ILwXUHucUOEHOHKsJdIsBqD2+IkMGnIgBgSaEIt8Jt0eIGWEFSQSiHOYQTwPQDzYYfArZEXo2UX+eNMIdVhK2BqhIqgFtBbsaszzDA6IfoZ0BvA","7Q2H","zg96","/wHfvwaX","yQ6z","aL5zxMcEtbcFdA","7AaD","BccF2AWvAUkDMwNUDFAINAeWBtMFoiSwCpQJUgomAjoUNwpYDWQIWwE2AT8OQQOKAbgMZAUrD5sNgAJDOqUERANFICcHIwRKE2EYMhmQQSdQVCpkAVABWSJZHksENA5ADEAopgZKAa4MSkxOJUcrVw5OBDgJhR6eBOwIhQaYCjIVcQboLTEVNRUsCEwFrBtOATIbUgRNBF0BSRxVCUsGIQN7AygQWAZZCksDQQOdFDUOXRVOGVQSHRRHDVkENwGwBmoJYQRiCSoURgErDFoFRgMeAmcDJBc8CEADPwFgGyoOSwJWB0oGNgGJDkQGJQtDE30BLgsoCKcpLQF6AmgQIwIrMmEHJwjiCDcCUgNdDIMCWweIDWQCSwEyBSEORgeeAj5cRRVzdUkWbBM/","ggug","ZHnPCesBg9oG1g","swrf","tAqD","A0sGPgFgCUIGalHAS9Y3N48ELeMCLIYBTbkBKzAq","1QGfiAOzlQWlswF3G3QLo/QBeoYBRcMBPg","iAtCtwKt","1QLX","6gO8","+g45","3Ako","7wGznA7C","EMtHjRE+At8oRxdCCiYNJw49A20DyAe+DOsf1QLsB6sg2yUtaGkcny/nDM0hsgPUKuYHbAVGDbZMv0ylDz4wshzYF9sFuB3fDqUimy7CSJI7uA2gCbAJiAHVBIYOSwdBCNc1MgXiCJtaSCLaE9JZ5wTgJ5kTSwMxDccDvwrlHMkhzgTHC8AHnw6xD8gk5gycCakJUhYjAtYDmQGbCYoNzgLwC00Myxq5EaEkeAHdDXsJ7QMxAtICkwgkBMABIwO3A4ASzBHDJSUt4APKAnsCnwpwA9UB3Dl1GUMoqjdEGnM","vQeu","6QzJeNU","aqw","alc","aoE","aoE","aqc","uQbmmQTpF9Q","0gqWF50","0gp7","wAtP","pQFl","B9UB7AWnFXIEiArVBu0B6w/xAZ4BuwN2A/EEhg2WCbkn8wPwES4U1gLjCIgD3QJECLIFqwS7A74V+QuIBOgJiALzAfgH9Rn2AfIB0RKTA+QXtguxB24MygHuIzoErAHLJcEQtwX3AbQD1Qp0HG8e1QFFAS0C9Qb0BLgRsxf5CtMPxgz7KO8doASAEfkQ+QPyBsAL8A7AB+AE6xjhBtwFlwTSC8MCugHcAcsJ6AWEBPYChxHdB/UZwwi0CDQKygnnB/cCzQJ7AkMDKgG1AroF+BYfBewB4wTAC80EmAfNBNkkjQ3cGtwLIQTcIuMB0QVHA/cB7ALZB9kD2xa0AsAGIQw0AUEHzAnuBnsChAcuCtwB5gHvAYEBiwHtAc4BhgrKAkoD8Q43BvYD5APFCcor7xewB0UO7h37AfYGRxaQAZYBuw8mAVQF4QXNAUsB8wfCCvsa2gKaAZAB8QedArQJ7A7eDvMDWQLgCT0T1A2DAd8W0wQoB8YKcQHOF/Yb5AhRCSIDZgZ/AWUDWAFPBb4GwgLxBLEDuw+2A7kR6xTaDN8PwQHQAYgL6QGqBaoP6wriHWsGngriAqgCngHrBvIN1wH1B3oF7gQyAiMJPQTtKuQPwQntAu4G6wPGBHcEkgXcAigs1y/uC/UC8ybaA+ECwwHhAcsBrwGtAeYC0QPoAW0B3gHcHewBxwOjM1g","6gnF","5QeSmgJ9eo6YA5U","tAh5","kQ5p","lgvo","zQ6w","4gvh","4gvV","5Qdm","ygsi","uAfm","9gJeAaA","jwG6","qwKg","/wl9","/ATV","iQLO","TtjSC9g","gwhw","rgyejQGl","sQeR","tAh5","UobBEOM","kxHr","9AdL","7g27","zgiu","/gGv3wFCqwXtjgKfAZU","lgt0Ac0","lgt0","twGZ","pAXgiQTAUuEUkqABkAGWAbs","6QXh","tAh5+gNX","pAXB","qwaU","6w0h","kAEohgOSO1YKrdQCodMCRvsDLg","kAEo","kAEo","Iy0lmEgoBiYcPgGSAokCLB5IIUt0MRjNngFxCE8vQU1PVSdguBKzMl8IZQJYGyEFNwyTAS4Rdh9MeyoeSXBaAfII6xMxDzNaKQKYCDcGxhdUB0dONUE2SE1UIQJEFS0OlwYoFEkBMgldAUsCRUWLHXgLVAhuFjIGVgElBCIBJ2M2C0sBJE7iUdI","zw61","zw61","wg2Z","8ghp","8gFp","qwVa","f58PhTU8nAGuC0oMZYUBZiGpV6Ia7ig/D+RdphVFcOzbAS4dxxkrKC4FLRioDSt1lxSzXTEoypUCIQjTOTdXpA","gQku","8wEp9QilkwW3QZo","2grkAdgB4A","2wqe","2wpa","2grDAVoBtw","pgGjogZwpQJXAVoBWgFXYrcXm8oCbg5aAVp5SA","3g9r","0gq3F28","2gqqAqs","3gi2","C1c5tR9iFG0QxAtwGJ4Sah2hApN4rwZqM2VCpDtmC84FQQzOGqMUsDzTE45zoQqYF5yLAaMTSQNtBMYSmQKaaiEHzQKcBJ0LhxmXBMwqoBhACXUZSSumEpMupzKkFlAUsQlBAag9qgjSFZkIcQhDA6sKdgeQBHYCbiF5D7MCcxWnH1wFmwGgBVEebSa8GcULWhIvCm8FNAFoArkTpQyfE6oGSzCeCJcPlwZtLeKGATcVRho7DD8qQQtGH0cVUA","AMMEpguaApEM3Ag9BbcIzQrtAfMDKwftBtoCeAE1Di8BMwMpBzABTAItAycDJQMsAasBLQMlASwCJgE5AfMBMgVNAUcBJgInAjMBMgY3ASkBowImATwDSAEzAlkCLgphAmcEmwEqAuYB9QLMAiwBwQKAAS0BLwFcCaYGLAKTCbwD0QEoBNsHdA9hBdwXVgUsGS0BvAL2CGkJ6QoxBJYFqAX2CisE5AF5DF4BnAv4AW4CrQLtBDoBiAwsAzoCPSXhEs4DUAYbATABSQecDvMHZgEvC1EFyQdiDfUH7g8pCTABLxqeCbwKXAEpA9oIlAL1BnMF4gbCC5wF7wLdEd0Gzh42B+AVxwrJCfcgLwM0BvsBmwqhAqQNgw1TBfgEvALnAekBvA28AjAg9wT0DN0HbRfDAewDIwLJAWcB9wNbBdwGKgHmAnICbQHWA08EHwaECY8H9w9pAuMb0QbGA08GfARqIjcP8w37A/UB9Qm7BjMGmQF8BvMCNwKSBC4KOgOGASgDfwMvCPYTQQFIDCEFrwF/AkYGewFGBx0GLQpGER8EfQX3BTwHOA7eCjUYlgMoCSwGHQMuATsBnRvWAScBKgxdASoOOR4xBLsCcwpJArwFJgFCFlcIOAI7D1UcMQmABiAINAO0AmwIlAKLBNcCpgGLCbQHKgPWCisEOQXzAbIE3AHzEEADNQo0AS8FawIoDjIFJAOTAcwD9AN9AUwHTwZTCnIBtwK9C0wKRAglAzUHkAEgAvcBSAsoAjgBJQFFAScDhAQpAvcJVwIyAysBWwLeAlABNQG/AU8DLAKbASUBgAJvAXwOPgemHTUEYAQ3C+QEKAwmBeEDkAMpCooBNQRGAb0IKQUmB+ECtAEiAT4DKQIlA2kB7wEnAh0H8QIgEEQQJwzzBX8CzgS7AbsCJAQuBy4IKgpyEjACOBApC3QT9QFmAfYHQgOwBW4DSgK9A9YEkARnDOkVSgdwG+YG6QF1IWULbgx4AXgKeg","qgjv","qgjy","T3gBNQ","R+eTAcLoDaQ","9gJeAZI","qwyA","7wV31gdPuQOwWOY","qwa5","qwa5","f/I","aaUGJwSnAqQBmQFHA6wBoARICqECmgE7BEEClgGjAZMEoQOfCqsBowamCZYCoR6fBKECoRssIJkprAenFJ8EmRWbAZ0poQemAaoCnhmjApE5IDspMqMGKYEBowmXJ0sCphWcD9AToAKXGaYglwmfAZ0KnRWmBJoEKQqgAa4FmQ6YAZ8HpBChLK8BLRkvBz4Cnw7DD50toxCTApUJmwGaGacEowicApYERQGmAaABkgOeBJoMyA+jFJkErAUpAUcGmAGlBU4PnReCB5oDSQWjBqUDrAGlAasFowyXFbEEqQaJApkCnwilAkUXkwJPApYKkAGkA6kCkQSkAiQBUQSjApoJoQyfAn4KwwWbCp8PqQKeAjEDmwHQCqsDlwqsB58BpgGmCIMVpQukAZsKpwGaAZoDygqcBqcGnwiZBJ0RnQyYAkwMjRSsIagVuAuzGqgBrQGcAqYBowGjAqMBrwE6BJsBnwKpGKQIogJFB6cBSgGqA54DrgWsAaYCmAGWApwCqAGGBKgBpwGdArEBnAOnAqYBQgKoAUYDnwahB6sDpQVJApsCNgeoDqISmgOsDO0LoRKoBjEBowaiAaICnwE1Ai4CpwmZAaEHqwsxAzIDoRCi","OIg3Jy6WCDssRwihUGkMmwSzAT4ByhJ8JpsSrU6/cXA9zRfuIWoYuyF2CZQnnkZ7BnVzwhkwWqtBoUu0En1PjhimT0gSpjZyMmIcpgGr4AGgjgE8B5cGhA21I78EvjKqGUoL0BhLAXMBRwFLBUcISwVBCUQJbgOzC0YCQBlEDqkBSAM5B2kDZAm4AlIBTAFMAUkESQdBGD8IRwJ4ApcDSQFuAXEBRwFHB7QBRgFOAXgCaQ","jwEpCSqvAy5rNg5A7wOqLlU2mYMDSokCKA","FHsCdQO6DHIFgAHHBocBxBBuD1ge3AKOB3YXeQFEBaAFuQKJA50CigG4Bd8DRQFfDm0CrwR3J3QagAd6LNAElAM+AT8CggKgBDERZwWfAagCdwfGDugqygmhF6EByQQvHdognAKeAZ0BnDN4H4YLrgTOB/EB6AOxAbY2hxW7R8gGiAHYIqQg3QjqFrwHxgPLD68V2B0/A7IWxQXYDjgMpgLgCEMDwAaeEpsB6BV4BdAKwQmqCEIBKATaAoEKyhHAAvMYLgnEEMwMiAuIAU4pfwJHA5oOywGsELsTMwG/HHQJtgfyFMICSDchCIgOjzuVKjAVKxKBC8sBbwYvS0ADpQ0oPMMGxSI5BfEByA2cJq4DNAfIJLwLsgGwAVoTMAHLAc4dKgE2IaYuqx9BEzYEfgeyCyQZNQLnGscCsQXbW3UFlh5qAj8","5gF0","0QbQ","vAPJ","6QTXAcM","7QRykwJz","b1A","K4s","cWg","7gnLAaw","b1A","4gR/uAR2","2BDD","b4I","iA98","JXI","7gSw","6QiH","qgiz","GMM5mdgGv8IFK6wCSw","VFp4rztGoAZEngVP","3wOAmgLL9AGLaaJarlqgwAOUvQGThgFu","gAFqNZawD/Y","5RDE","gAFq","hwE+igGcsQOk5QKkEKbeAbCqAs8BmYQDRw","NG80ggVCA84LQRVBA0cITiikFDlSqh2nCz0CTw6qAzkBpChHDaIJnAVFAcsVPAQ2BUEGPSF0OUc4qFOqkQFMKUcwzCZJdaYSTCOeJT8ORjKdCjsETBu1AZsIXxJYCEdGqmdHA0gKQgioEEcBoAOtI04fWmnTBUsKSARODqwGTxG6IEAbZA9IBKgMqQxGAk0FRAJFE08LrARJAY4DRQGdDa0FsgVIAawNPgaZBUYDRg48CUYTtX2f","EFEBSS69KjAGyxdDCSkDlgIzCngEVhEmCC0JPBDLAi4XnQhCFK8INBnmBLYKPhqyEq4Q0AKyAc8nghhRAlYOzRF9AUcJlQdGH8spfAayAckgZQaxKlYE0wbKAewRo1ZyAm4cowvqEHkJpAyUB1oMdDsyKeE0aAy3EIAawATNDXgOoQNELkMGpQHaFVY1wAeqCG8IQg3aSMAgQgLSIbkfazi0B9MCVBpRAp8CcRRnDa8woSunAiwKqw1TDKQVnlEZAjkHmwHoA/AJJxFkBdcPJTxHLNgHgAlJGqUPQRBgBsopuQG1FEET3w1tByk5dQrYFqI24hiMA70","ogbqhQmAQmA","mBC5AbU","7QnRkAQZ","qgLh","+xGM","9AKV","0Ale","0gKy5AGywwFy1gW0eKGcBdI","kQI0","ig6v","b8s","9AKa0wOU","hw6X","tQqr","jRF1","8gyn","EMJalAWEEWwYtAU2GkMBsAOBG685jwNYJIYJPAexCq0aeRHeEEYR2QLXIkUoMA/eYL46hBF2IIsKYwSiAUEZsAS6OqwfuBGgAqwxr1UxCkAUqhTJJt8JbipIGpsVLgx6BEpwQgThC04MtQS2HCgPylLnCTERzgKcIp8CqBPPHesNygGfBoAFqwGSLqQQoQ24DLICVxVLD4MNlAK8CZgOig7oBUAJJxSiFrMVdBYzAjoF2QHIAUoE2x4oKFEKnhNHA0cVyQ1gAa8twwU1ENQTVQVcAWIX6gFKE9EEiwTYC9cBmAnnAakGoBefEj4RqgTFJM4BQwS3AtM","6gJ5","rBCI","7gSMjAMw","7gQ8jAMw","iRCi","ClAJTQpNCsYJTwJpEsABWQlTPjsVajY5BEAYPEU+DkIQRlVwEzwZPhc6DUABRUtEXT0FTD9TcVhQWhZLGEcFTAROakRgSghOGEYROxE9EEoNRgWIA00mSAFOK1AKSxVuD0UJcgNHLCU7SC8xD0dNRAY8BkMFRQtJS0A0Qw1IHaoEtAFoLDsXRglECGEYQAs8G2MpQSbSwAFU","VugSpAdSQk8GmQR5BswOpxiSH67SAWED0jizLEkMwFh5I50K0roB0wNfM3+XAZkD6QHwTMA4nzPYRZRPpVu2GustpALYJ58OxwtHJKZEqAKsE3RSM0HvFpIPOQRaDVtm7DqxA7cMxR/KHbYPswlSRr4DwQRQ","2gjNAec","mg+r","wAG6hgFr7QFwdLM0uoUCTssFSecElQ","wAHFEoCECqTJAW4","8guA","9gJe","A1MBfA3XC3MMQxpiAl4DegZlJX4IRhuzDkUMnxQ6M1cRpS08DIkGQgecVKkKrCKlDVUoRz2EAU6oAbkRYj1FhgFKBUkJRgmeDDwEn0KuLYIuPR0qBbkOLSdjFasPRB5XC6UVQBx9CWQxUgFDDFEhkhJCATgES00pFFoBVwKlBEgLRwhQJUIFxgHXAbUmRDeAE0YVQA53Am8TUQQyCqkGJAmvBE0TsQyFA0MbWwFPR0UDRgJOM0oPkgF9Ez4HcidgD1Y","rAFHtgZIwAGkKJjFAaRQqOoCbg","bSPhArDSA0ZacYYBTChDKZ0KvAtLkgE7RUMETzSiAqoNSA5IC08bUQijXEOFAakDQBSnEZ8gqAyhD5gPIhlKEIkDqFWYELYhRQ","vgM8qgI1BnbBA0VqV7YCUOYBRi6NEqEegB5zoQEs","HrKmAV0ukWt5xQNzYaR2hKABnGIjsQOAKSsWIRIZM2ueAUc","oAG9","mgrc","mgrU","mgpG","ToGlAbCpCowjjQHEsAKvmgG/NKAIdg","AMoFaAWgA7kRTgFwA2wQkg58GswJ0xw6F7MDyQqFBc0MhAJqAbgDUQHnLWIeuC5LKHcaogF9FeEMQQzTBUMHvgV5CFMKszSSBc01OwqZBXcBqE6QJacJSQJYA0YNfhOlMMcGqCzMBpch2wFgA3MkpRjUJEUc7CfOFOobvwSfCM8PiA1CF9MbRhgrA08dkw1NAVAYcxfGBUIKsi2IIIwZNwVHFG0FTRExIUsKwQmLC1MBiBGEAY8PhAG4D84TSAFlA1AB3gRNAaYxo18vA9gD2g9vCkQNQwaWGa8CbQ1aCEIGTQFXATgH0QfZCVISzAW8N9sDzAelFLwEXhsgA7wQ0xVJC7Ik0QQkFkgCSCnQE9cWRDPiBKg","ww+d","4Ahu","H3CEAYWRAUu7Ben2AVCSA6Nl2nLZILyjAtc","yAbM","+wNm","5gWl","4wus","vQxl","+wNm","oQ6v","9gKJAX0","1wmT","xw9ediQ","8AqM","3hGo","+AuI","xwOz","E6gcWQaFMz4FiBB4E5gLnwyiHZoDSiVQCqo/OwShB1AfSF88AkUapASbHZtiRRRLEKQUYCpHC87QAbo1TjdBAUo2WALBBjI7lhqIBUYDThB3GpsRkhA6DUQBRBO8D0cSbgo/K6U3RC2sA4cdRwOtBqUdRBK3GFEFRQlIAkknTRlEOJtDKg+kNpsgRQ5jGGsPcBCnCUYDTil6BsAoOQSYCH8nUQJFDjQ","EqM3shDBBkYQPw2tAZwDphmmEycGrwOWB0EBhwOhNkJJoEyRDaQEuz6xDDodoDKrEkQUpAxXGqQiUwOwxwGoAZ8olgafJaMumgqEE1E6sxhLEEM9ogVJB6MBoBGmGFsBKARpKLoNynE/DqUlng/IAZcaTAShCqoeRQNUAmoIrAVLBp8LdwerIKcBpyucEEMXm0OdHZcDoQ6eAUAFszJSAkoKoxSdAaIXnAalC6kNbQaTDUcBpAKgD24IhASsBsACvwtvC5AXsQSmC5IHQaQBPg","JVQLhkKVF6FPuckBUDY+K6sBRDBungGnlwXDEDsOoDfdrgKjKj8OQpkBOhW1GGA","YqkYRuUCS1SllANPGU6LAag7QCajCpYgPQN8CUYJR0JF8wFEIp5WwyuW2QGXA6g+sFhI","D1EknBZYCFgCuAOPAWYCewZuA6kHpQSUBKQFRiRBA0oCQQJDAoQIOwmkBD8EQAZLBaUHnwNHBJ8llhecJDsEPwZGEU4ESgiiA0gCQwOiEj8XrQ1MAkwKRCGmEUcHgAlGAkhCTgxFCKViSAF+A3kcsSWpB1A0QiylC1hZRxigEkwJSgm2AUgKSAFILaQNPAw/FjsLSg2tC4gHpgVHDksBVgaxCqcCpzeSAp8BQg3iBrQGlARCFj0DQwdHAYcOUg5EGEMHpgWEG0QQogVCAaQFSAZJB1UBRCBBD0QEqQqaO1QEfQJAAkkFnQjJEEYWohxFA0ICUhhOCT8DrAWMAkQC0gtLHkQMRiWfA6gDPhc8FaYEUQY+AjQKRQNMJEYESAVKCEsDSxtLCkQBVgaeEjsHQBrAA1oXQhZHBE4JTQRICksGSQFBCCsGVQVID68BRs4BVQKf","Y6L7ApuNAazvATuaBc+NAqzUAmBVaght","A+IB1ATWAdQC1QfVENUB4ATRAdUD0QTVCdcB1QHVAdQG4QLVBtUN0gLiDOIE0gXgB9UB2QnVCuIN0gLVDdUJ0QTVEtUL1APUA9UIoBrZENkL2Q7ZGdIL1wrZBqIB1AjSAdEB1QLZBdUO1QPRAdQB2QjZDNMP1QHUBtkE1ALVAdMY1gbTB+IQ1QnVBtQI4g3ZAdUF2QjZDdkL2QjZAdkF2QrUBtkZ0wnZCNgP2QvjDtcL2QLVAeAD4QnZC8UBrAHYAdUG1SHTC9gQwQ7lCNkl1zbYCeIB2SDZBNUB1AOcAtcL2QHZAdYIoQTXA+MK3QaqAW8D2QTZB9kKqA3ZBtkF2RTZHGgF2Q7ZAnEG2RfXCtkW5QTZBdYC2QN0DtgD2QjZAdka2QLZBp8W1y2nFdkF2SHZD9klbgPYAdkC1wvZBtkM2wHZAXIS1wTZAdkC2Qd5BdkB1wLZBdYF1gbWB9YD2QrVAd0O6AHVAtYD2RTiAdQE2QfaAdkE1QFvAtUI2QrWBdYZ1gLVAtIB4wjUAdYf1wnWAuMD4gHWENYB1wbXC9kB1gzWGNkg2QTXA+MB2QjZA9kE2QHZCdkC2QTZAtkE2RTiAdcE1CTVDNUCZwHaFNgH1gHZA3IL2QXZCdUP2QbZBtkB2R/ZF9gB2AHiG9kB3wHZBawC1wG7AtkU1gXZAtke1SrVBNlZ2QHZLNk","ixDK","vgWsRME","qwLSrQSg0wJmKNFPOAXtiQYm","qwKg","RH9HM2okwQIpfDbjATJVggJsvAEoJE1Ghyg1Wi+KAShNKwU5Cy0ZJQY/CDSJAZQMJC8tTikCmw","FVYWdRDNCX8PuA","O80Jfw+4","GKhUdQGUQ4FqzyEnAq0XtSrND61NQx+FAkAQuGOQA6tIohpPcoMUWD2DTopVSDSmJoNomzPJC5oBRDRDCkccmAdEPqcKpCGiKj9OziOMOTc0ygzKCUQXpxKkCps/nH5NQ48PRghIJkYgREZDC0k","gQHQKl+IA0DNAp7sAj2gArLoAkfhAZcJR0ZC","swjR","ILQ8uwzgCkgBSgdGBawUox6JEmEBmhM5hwGnAXAUuQ1EggGHG0obvwdJKUYJSwKMDEt5TqUBSwq0C0sOTQIhIUjGAeMOTR/DAWMDbQVMBUYfKQZGcURDQxWRHkYDRwGrEd8bnglIBGoDSw6YJKwMURymDI0FQxGeH0gYsh3BEzoT2ASiArkDcgFvGMkHpx7FDNIDSx5BHHF3bw","qQnM","QbsVqwyWEXUHoA9oG3gfZRa+AmBdwiazIm8cTIEBxmJiJ7lSdq8BcxnEI4LCAY0EQw5NFaMKQgShG5YHSg1GCJ4Yo0QxLG0NbhjJIawRcgSzG3gaqg+6KmkDqgejHqYR2hJcZqIbbgJrBXoSsgJuJEUXbjHLG6hCvht7Ftg","qQm9","uASy","IHA","IHA","kA6/ItM","UvM","pwNCmgVIlQVMRDw","xw6z","hwLjXpTHAZShBo+WAqKsAog","hwLjpQKUoQaPlgKirAKI","ct8BdQJ0BqAEoD6nG38BcQ4rBkwG0AKliwG1Da2pAbkJdAKdMnUMYgKkIXYBuhy5A6Q5fiYmdKQIXwqdGWgjZFDSK2xHgxJlEbMRdQGhIooGpiEtKscrXAJzFHJEcx5+A3wBfBFjEEUNdgc2BHADbBK3Hn0Unzc/AzIQozhiIJANQg01AW8DqUV3A34CmgyGBnICgAiHDakPgAavcSgDcCRGswG8","swid/gVD","owFFRT3LAqUULmKq/gKkDU74AtAJl70BYpQCptEBgg","Gn8","nA0r","lw35sQL6","yA/a","yA+h","d938Ac7jBlfQAaNOjQ","AXkEQQzWAjMLThVJAc0B8wRUAk4EWgNiAl4DegfwBloCRSLiB0gIywhPAm4Fkx9GB0AGiQI8cZsLUCK3L0ECYRFJBEUfQRphAnwkZQV2CsEcTwevBmAOnwo/YJIKMBJGY0UvdgdHDvIg3SJKSkEd5ArSAcoR7hmCRCMDRgm3ROoZQRJHEWGJAbsbcglMEIwLRgnwCkcBSApEBXd1RCeHDkUCTDGxDUY8PhrZCDMMSSJHFqsO5At1AkYIvAZAEnQEaxdTFUkRyQuSC78CpTW8lwGLA/I","d3A","eII","NcM","rgie","mgXKtQTc","AHIHqhZRGN8L2AZKAWYI4gH0Es4PvAd2GIQJcQb2B20B+AOyDOoBQwL1AqMBpAvFBXAH7x6lEfUB9gvQCJkYbAZ3BmgaayNgG+wTK072KNwbkSixCfUEzQHsDOAX7wvhB6UBkwGmE/ID8wqvBusB6Qb5AXY20A5KB66QAfMf0QSjD64BSxvFLXIIywVuY0cXRwf1Gt4BdAHMAugBMg/uAr4HuhPvFJkDbxz3A5YDnSHPE8sf+wObBogGpQiPJcEChQebBowHowbxE98j9QeeA90wXiGfCN8SyQL0Cp8GRBzaMfQVew3TEl8EbCOfAqQL8QKlEY4YnQltGzwJ1w24AoIGpBTsJ+gEhAjFARsVhQLfDcwS7QHwCvkB9gH6AfcB+gZIAUsS3A7qHPcS1ATxAzsCSQvyMkQFPCblAvg","lxKw","uQGrSfIByOQC66QG444B63fW5gPSMsQQxV/Z","1g+b","tgXGGtM","pwGY","S3ahCovnAaUBow","AngIxgQ5BVUBRQfHA5kP0wTpAj4N6wtsAUYCSQPMAlALtQViB1gHKgubG6QDSAM2BPMKi5UBmh0jMDcJvAPIAdgKuzQxB6wLvz2CUesg3yHQGEFYOy8sP61G7whIRtsJkwyXCillcSLWC1sQHQeOF5EBYxCxBeoPJwluILoFhAs7A30B7QLnIOcDbQPpATcM8gHpJc0JRAbWB3sG8hLmRDQBNQmMAywKYgG4K/ETZBFbAjRDggZvAtoLdQcnEMAJtQ+wP4oOQwotApoFRwKfATYdKgI1E9UM5hMgHM0MhAjPATEF8gonBvAC5wwoBDYM7hjvAd4EoSfE","eHaABLRB8ZYEdQ","S3Y","zwna","7AqL5wGlAaM","7Q30","lxLt","uQGs","tAhu","tgXV","lxLR","iRDF","0AWs","/Q/b","tQns","kA2i","/Ay4","rQ/I","UKs","rQ995QHs","yQW0mgaB","1g+b","iwu/","khG5hQFI","zBBkA5c","zxDl","zBCQ","sgqC","ggKlAcrzDkk","mgWn","mgV9","kgOw","kgNZ","kgPR","6BDG","AEIPUQdTBeMNlTa1BLwRsAfLAasESAq4A7IEQQZCDq0TlRC+EowCcCTpJqkKjgc4F4wRshXGDZ4G7gWgL54D2FjeBecDjjJFGYcFPgZrDM0CRwTNHa0B0FWkAUkClBeSB9gGzQZ5Ge8Q5wieHUoB3w9HGq8DnQGXBscEzQqoC78DzAk6FLMDrwFCDeUNrAbADugI4gnkO2w8QwNGCMQEiAxmAqMF2APWAUIDugPsA88C0AREB5wJyxOeF30D8gOEDEIewRRnFYsKPQPNAekEzQbWIlED6UBJEaED1AGzB7QDyAHvAeoCoA1FBMgB1wtzCkgEiAPSEq0LeSGCA0UFUg3fAlIRtANXF9JGYg0+EDoBnguLDbUEpSCtG0UCvQdHBbsCzwHbFHICwwHiB5sdkwdzIawKRBOSHzcopAS5AWoCawjiA8Q8wgpJAkgNQyOwFj8CwQ61AswN1gZJB+IS8w","lAzX","/gutAeIBow","hgPn","qAewjAHQ7APbzQFD0AKg","tAg8","d3A","ogJnAXcBbAF3AYUBww","BJkkaBhiFFobmAxcBTIJbgN5E2MFogG6Dn8nrTfBGk8/gGSkRUd6jCapIGNPwHF5H6AXKQGgFR8tmzqnG0o6QjWyA24DcFKcMaYmyRGfO0kEZgWjLcUbK1CcNWIcZAFqAUxEKgubDJkLpgUrCZgIrSwxKXImmwYrE3oDoFAoAnINNgKZC6QWKZwBow","9ASzAuY","9ASzAuY","pgJa","jAu4","SGAFaxHx+gxGvQHqiAPf","nRLF","ATUfUAMtBKABuQKgFb0QygFyARwcIwhqCicGLRYzA8wPZAUjAkEILw7ABzpooRSlHU4wugi1EqUNygyaA50BXjHDA2oBlBpIBnASLR3UFaIPQQeWIK8KWgZKAncTRgZgB00FWifPBHAUKwLGMk8pkg0/KEUD2w9KN2ohlgumAs4BwQV4C6UCsBQoLZgBiBtiAaoUVER+E5sCfBQtJmkR0wt6CMwBoVWWAVMOwQueFLIZpR6aCykMLAYoI9INdwnzBMUCvQTOAtEhLwPxEPMJXQo3DOI1QAEqAUMB8xZCAfIEtgjzBPENnQFqMnkEVxRID7YeQwKPAqgSHBRHHTVNlg8sBqwcQCWwL6oCfgq7BtIGSQ","8Q9R","2wrM","IatMY5MEtTKfSZQDz60B1nKmAV4B1wHDyAGlggW+HZxSR+sBUA","nQiDAV4BzQHD","bWM","tAjM","tAi0","tAhP","ALIC9QSJAUsB2QGEAsICQgHMATYD0QJFAlMDxAPEBegB+gJCBvQFWQV7AlwR5wk1EecLXgZCAmwFPgLjAkIG5QbjCdcDqgg2A8ECpwcsCDUNlANUCywHeAHxAUABPALxAsIF7wzjCj8LqwzXCiwU2wLKBa8C8gTQAacDJwQ8C9QFzQ3uCSsFMQrzJCwFYwQ3AmUOQgTkBKwFPAo9BT0GpgS5AacGQAowBGxR6gezEaoN7gwpDugK4AhnETgCOwPYBTYDWwLiBkAa6wGXFOECuA7aBZcgogmmAS8TzSnIDdoBRwGoBjgi7gHpBkQF7Ct/BOYCcAPsBzcF2glAAtYB8QEvBloO2wGmC1Ya7A9MD0ABJg/yHcwBdg/LBewE4gUrB+4C4QmTA2YGsguECUIIKgRNA2EKLATNAaEX1wQ2BNMCvwsrCT0BvxAxBLYG1QniGSUCsgMoCdEBswxHA3ULKRAmCWkDNwGfA0AEXwVEAbUFrAZ/BbsBzQzHAo4CSgmkBIkYTA47HrcUSAJDEqAHSAKLJUoEKQVCCb0FrghHBLsQnBbqCpYNSAtlAc8UIRO+ATkEPgSXCd8C7AMjEa0LtgJ7ASACUwU0C8gEPgpPAs0DMwVBCqoVvAJBGTkUShTKAqQBQRtrE+gGkwbUEkcJrgGrB0gCSwbPA7cCQQOxAVkNJwVRAm0S2xTjK4ABwwG8A+kP7gE7CEYJuQY+H/AB6wnqB7cYSAzT","1AFT","1AFT","2AGI","3wHZ","0wOm","ng2c","wgt5","6wG/","6wGu","6wGu","lQyv","oAHB","lgfY","wgtD","3gqx","lguf","3wHR","6wF2","2AGI","2AGI","2AGI","2AGI","IzpGpQSUDaAMmhVOC0QDbgifbagVngI7HnodTl54LV5iQibUJqoJrZEBoYgBbgJwGJ5NwhNCBHFOpgtONHA7fQOWA0cEdwKHG05NRwOwATcGpAJFAkUUrBsnSLAMpBVDHEcenhPNZqNCqQ6iAaY8oklJMsslZgV6G6EELxSk","pxDk","pxCl","pxC4","lwKohQm14QO/3wK5GUg","e6A","AcUSQj4cPygSUQ2fRiRMYmRK3wFADHkpOjKwAa06RR6bD5orjqkBLSmxA2Axoyx8CD4kKAIoHzICHARHCD0OIxYnCTMLrwGtAa4Brx0qAnkJKBRKEi9GkmpIFawlJFhlTS4Frw1Gao4QUgcuD10HKxCED2otLAEnAisBRBVOCzEuPA","ngTl","1gqalALgywKq","nwFsCGwORgFqyAFNogHKTT4TltQCa0uilQEhF+RtyG53CTJBRhxWtgHH2QO2ZLg","yQKEywJtmAJdHSlWth8nFrdII6YEri6+XK6gAaxPsbQBvA","0wGrOaS9AnbyAvY2zqUCslTkILvQAs7yAZM","EM4TowWKGY4EkgGgIpwBwwq9A90YegPmAoQGNQ0pBSUI1QW4AqQIZQIeAlUCkgltBGIFrRPAGNMH5QbOLikkpwHPD7IRrQ7fDHUBaQnWBcMSowK+BeENjA6sOzAspijIAcwboAToIMcQMCRWCqMt5AVrCske3ATKQaMQ4xQ/AkENrxJFHvMOzALdBUEKghHtBC8ObBPBA58IvxptArQFwg4hNysVmxJrBi0PVQHQGtoUwyDcHIccMA2xAr8HQxvHC8sEeAHYB6QBnQFKAaMFogcuAZEFtwF9F80BJgGFFC0QxQEsBowPgAagAq0KZgFoBnMCeR+jDYcGzQGzI5IPqgbeCcMDrQJMBqkQoAGxLKEOIAOiDUgEsQLBBbsHuQI5A7ADxgY4Fp0CjA+qAW4HsgGfBbsUlwRFCb0BpQKlATMB0wmmBOsOvgYrCCMEnAZ6JlQDuw7JBdMBZga+BZwQkgG4CIUBsQOxBkUFhBU0HLQIxgOqAs8IrHDkHd8","PHwBdzlalQ/XOLc","dlo","e6C0DaY","ywns9AVA","kAF+0QRaZvHIBpwVY7YDmDiH","E3GjBD7FAkLyCtI","nwu0","1gvI","1gsm","1gvG","1gtE","BEMHRRPFRtT3AeCgAY5BycADhP8BqMIC5QHg0wGk3gOs","+wNm","AEkH0AFAAtMDgQHUBKkL1AGcAdMEhgpJBNEImQXUEtED1QNFAn4C0gVLBJUTRgPRA1sBQhDRA5gC2AVLBlgE4QJJCWgBQwhGAdQD1ALUBNUVhhKbDNECmwzXFtcT2AxgBNgB1AHXAtQC2AXXFdQB1wfUAtABlwhLCJ0CZAFTBdQa1wLYAtMK1AjXBEsOVwrPCJ0H1AHTBdMJ1ALTAtQFegnUDpQikguMDaUuSRNgA3UWmgfUAdgEUQw2B9cGowTVAtkCSwu0EtgDRxrXGHYB1wNKDNcvTg3YAXwI1wPXAdgO1xHYBKQO1wHYJc4EaxVIBZED1zHFF9QC1wpsAtcF1wXXAdgBXAUgAj4GIQWsIKUEfQ7HCtcFShPXA1gRLwPXBlAB2AHXA9cF2ATYCFACeAd4HNcB1wjXA0MJ1QHXAdUC4AJWA3kLzwXbAT8c1wPXE30D1xC5Bd8I0gbXCEAK1wVIAsoRRwTXC0cGmwGOCKcE1AJJBNcDNQJHA3cC1wRGBNoC1w6nFVkENgLDGdcB1wHVBEYCkAFIA00BpgrUAtMQkgHUDJoN2AHgBtgE2ANHByoD2AiSAy0BKAyeH0gM4AhSDtcR1wHXAagCaw3UA9cBogK/C6kFpgWkCpAE2AGwA4gD2wJHBEUB1wTXAdgJ2w2yBdcF1AbUAdUC1wPbA9cCSwJIAkgCSAXXCrsOfwrXBDwJRgFKEkcL1AXYCEIK2AbUAdQC1QPYBtgM1AbXC9UElAHXAtgFQwZKAaoF1wbYA9gC1wKnEdsFpkxHO7k","jw2c","QcFjuDdgVHQ1iGNqbMwFqZsBNuEBaqkCkgKfEy0HpKMCbskBsBElISQiwSU0MnIKpCmqZm4","swSv","AVIBeAFTA7wEhAFFAeACwQJ/BVYDtQJ/AUoCKgFjAnYBxgSLAYoBWQFICc8DewNaBGADtAKCCFsBVgRQAngBlQFZAlACfgEzBGMETwHEAVADwwJ5A80QZgGIAUYDsxCoAVIBbgVAAZwEpgN6AWcEZwlFAqYDrgEqArgCsAVIAWABSAHTAogBlQFAAjMDigevB8ABMgJhAc0BuAdKCX8FTBNtAqUFywenCG4Vcwl0B3AC0QS5BcELYAOIAlQDLQFIAsEFnQkxCWwZxQakBGADXwFqAYYBTAW1A20HxwOHENQJfwHmD0IDQwNoAtoHogJhAq0DnAGHAcwMYRhzAaEYjAfGAVECOwRtB5ADZwtFCT0DSAV/ApMIogMoC3oIRgRAFHUJKwPGASwBNAM2B2MDSwHnBUAGYQFyAz8C4Q3lEswHfQFxAkoBIQpiCJETxwZ9BXMDLwfmJYcLOAFxH9YHYQNHDHMBZwUyASoC0gRuAkoLoAOzCecPxQQpAjMGwgE4AVgBmwEuCx8LSQOeAdQB4wpIAZoGYAZaBnIDgwjfEo4C3BLgA6ABSQTbAXAF5wHEBHYEYASCEzcCQgEoC4gRdQcrAqMGcQHBBSUBiAZNCTABSQROAVgR6wGmBXcFugJWBo0DaQScBZ0HHQeeJcgBaQJ3AUcJ6gGdDlQEVgKtCXcBcwF7AXUOiQS9A3MDow6KCH0KPQR7BEcIQgKTBccGRAbaAUQBdAMqBXMOcwVNCFEBWgF0Bx4ExwOkE0wMog2gG3oChAGhCJwBSA93AWsGRgTVD20HdwZfBD8BbgNuAXYDzAYoAiEJpASBCkcENQbJCuUBngFrA3UIqgd5AkoWeg2GAXkJXARwATwBahGKCCAFTgNWAWEHWQElAYADzQPcAq0GIAEfB3kBswlSAj0BwAFKBm8GuglnEKsBawExBpcEPgGgBjUHcQHUB5MBfgGsATgDUQG0AZ4JyRdECKEN5gRmBBwDXQKgB04NfxCVCX4FRgSDDIIErQPFAiUCQQFMA1QBUAOwA40FRwN6AiIGRAPDC3QHtQRqAb8JWQPOBH8HnAGYBkACdAlMBHIIbQM8CnAUkRBxAmwJRAxwCbICqA+qAmEJQgQ8ATwOZRVxEZ8","DIQEuhnDCFIPTA9pA1QB6AykA7YGPijNCUMIjAKeA6MIdAVAAcMIpA2QD2EVTAhCRT4Wxg2tG5girgK3D6wdyiAwAnEDsgzQCZgR1hlOB7UHUQozC70RyRNJBaIIYx1pBbcCgAVMB4kD4wHPHXYB7h1hM8UFwgJlDnwGpAujEVgnPwN1E1kTOAmBEsUG4wnKCUwDPAtJBLYBe0HYFd4GyAHfCMwKSxhlHXQKRguZH0dLnghCAacGiATQNEkCzAp5JUAGQwXaB74F1gFEHEYKJQhECEwLyRJOAk0FVAZ7CmolSwugTVoVnyx2HWogRwE5BuAHXAJKA8QMQw4gB6wBRhh/AkwCNRVQBcoENwvFBDsBPg55EawV3AI6C0kFOQFHB74CcBVjCm8Hxw3kBJ4O0QG5FZATVxGwAUsBRE7s","ng1r","pQrVAZ0","qwtz","yAO0","ywjI","ng1r","jAPF","ng3O","pAWA","lgdZ","zgZ8","vQjb","xgnB","gxHS","jRGs","AOQC6wHCAswEPgLhAs0BxgFRAfQCSwHPAuwBUwW6AfEC8gLvBPgBwgU0AWMB8QKqBlYDxgHhAaYBtQF+AaQBgAb0AegB6wFKCFMEwQOiAuYC5QO7BqwBxwHeAvIB7wJxAeEF8wHfAewE2wHrAXMFvQH1AaYC4AHUAfUD9QHxAoMBoQLlA1kCnQPpAfYCJgKhA+cELgSyA60BHwJCA0cCRAHdAaAB3wImApsC3wKdAecD8wGlAkMBLwKkATYB4AHeAfMF5gOsAjoB7gPyAmkBmgfGBJ0DmgJ8C8UB0gKCAuQClgLQAm8EdwLbAfMB1g3hAX8H6AS4BecHVAJ/A98F8AHwBa4GyQTbAdQBqwPoAtQBMQGeAdABkwGMAicDJwO8ASwByAGGAdEBxgPYAkcB7AHXAe8B8QGRBugFLgGABZgDRQHvA3YCSgjnAeEB6AztBfEE0QT3AXwB1QHAAosBPAb4AewMxgLeAtwFrwKeAuAC8AG0B6kBxwIxAewBygGrAVYB7gGKAt8B8AGDAtsD9AHNAXUCwwL4AekBegLHAqMD3wWpAfAB2AHMAXoC7wTzB+8E7QLsBIAByQHZAcMO8gHVAfYDnQK3A6ABcQOQAeUD6QHyAekFwwHDBOUBtgLoAuEC2QHEAncFpgO1AdwB5wHJAe8E2QHsEc4DegLKA+cF1wNHBO0B0QFWB/YFjgGlB3IBxwLOAp8BYAPLAW4BawNMAtMB3AHsAdEB6QKRAqkF7wTtAeEC1gLwAbIB8wJxBc4C8gH3ATwETQHoAm0C6QLuBb4DrAHRBV4BNQKiAt8C6gF/AToBzwe4AUQBpgHbB9UGgQa2CsYHSQHVBdsB5gTFAWoD7AHhAe0DqQPFAfMC8AHEAbsB9QvxBuMD3wJCBrUBtwHXAqwB2wOFBXYB5wLSAnQC1giyAtAF1QL4BO8JtgH4AewB6gPVAy0DxQHSBeYC9QKLAVsEhAXNB4oB2AHuAVYH1wGmAtICZAHKAcICpAS9AYQBVQHfB+YBuwa4ATYFWgH5Ad4DpgHYBM0H3ALuAoYC5QHqBMkBPwZWBOMBqQHqDNQBcALvBoMB5wPlAZkB7wS/AkoEjwHwAd4C2QHbAb0BaAHtAcECbQa+ASkB5gLUAcAD8gHnCpoG1gPBAZsJkQL0BEYCigFaAdMEYQGUA2EBcwLwAe0BkAHPAfEB1wGeAV8BiQaiAq8D7QPTAisBdAOhAucBXQvJAoMB2QKZAqEBmwG1BGQCTgH3AaoEoAPKC5EB6QLrBaACMgKqAdgE0gHAAeYBdwLnAdAB2gLhAfkB8QGVB2QBzQFlDd0C3AQ+C5sCtgE3Ap0BwwLVBJsCwwEjA9EF8wH4BdUBbwfQAfMBvQGAAfQB2gE6Ae8B1QGdAdMIagEqAb4E6wPzA6gB7QHyA+gC5gKKBG4E9gXxAR0B9gHCAfUB1gHlAa8B4gNDBVgEfwH0AfIEeQHMAscCrAGiBMwCJgTsA84BtwGwASoCoAPbC1oDpQbnAV0BtwSuASsBuALuAzIB5AJcA6kDJwJKAVoFyAExAe0B8AKxAewB9wK7Ae8B8ALwAsEBkgrxA9QB3AFMBuYC7wXlCkgBUgPgA3UC+AVEAvIB1QHtCNwC9ALXAeYB3QWbBfYBQwPNA8YCpgV3BPMB0AFWAdwBsgO5AfMDvQHEAtME6wLmBUADXQLNAXkEqQTkArYDzgOsAaoB1gLzAtcBgwHUA8MB6QLoAsgCxAG9BOkEYAK0ApgB8gSvA/UBuAHvAe4BKwGkAs0DYQIfBusBsAG8A9UBrwFxAlwC9ASgAdMBwQW5AcIC2gHyBbsCTwWuATID4gegAfcCWgbsAe0I3wKlAuIF5gFaAZwBVgGyAcsExQH2AaQB5gE/AzkB8wGoAVcIxQE0BPUBngFXB+4HSAGGAdUBTgFkAfEBrQU8B+8BewGqApABowJ3AjQB4AHqAUsBeAGNAZEC0gLuAdgBwgH1AbQC1QnvAjoD2ALhAd4BmAFBAmIBhgLYBDEBKwTWATcB6gHTAYcBrwFgA+cG2gK3Ae0BhAGdA0gG3QVDAasDMgEiBYMBLAXCBjIG2QVSBSkCsgH7Ao4GbgL1ARwCowLsAucC2gGrAUYBiQSyAloC2wLjAiAB+AH1AugKmATlA5YB1gTrAX4B9gL4AqgB9QP1Ac0CRAF0AtcB4gGbAfUB7wHdAcwB4wHoBEcD7QEkAtoBpAEuA9sCGALsApEC8gHSAfAC8APhAbQB5AHJAfIB9gGBAkEC8AYrA+0B2AHwAZ0CfgFuA6UN5gF8AacBlwLjCvIJtwFIA9MBtAJBAp8H1gLhAfoB4gLYA/kF4AHoA+kB3wJjAfAF9wI6C9EIagZGCeIQbwbnAcADuALlAcsB6ANxAeAD5gNBAe8B8wNJAb4C7wXuDOIB9gjXAecBlwjeAnUF6Qj4AtYBcwF6A8U","3gqS","3gq1diQ","1As/","3Qmw","zAHg8gHG","wQIopQYv3wUq2QEu","lAGakwOCkQHOgwKdZtnmAqZKsQaXMvPLAsNj4iZvqwHP","9wx6","/wN6","Llw","wAg/","9wx7dMY","vhDQ","3QPp","kA7t","qwkk","9wxr","xg/F","rgienwNI","gAN2","9wwo","2w/o","uAqdnQNB","xwGr","ogrt","3gqx","aqk","jAfg","tw/a","iwfp4AZv","oBBm","gxLX","4ANWAe4","swm0","EO7yDNg","rhCq","1wup","LKE","LLahA8j3CEiXAsqTA6M","5Avg","+AqPAWJ2lQ","/AO6pgy5+gHv","/APXpgy9","qgyw","JUfgAc3GAdBH7Hzy8AWqvgHGuwPuNsy8Aec","xwnn","tw/c","0wXjZrI","6Ao7zwS42QHtUsQ","twGZ","twHR","rAvX","zAXI","iQ+X","hQSq","0AvN","oQrmnQOL","+wMg","0xG4","4Qev","iQ9r","twaz0ghr","lgey","5wrI","5wrR","pA2r","4Aeq","lRGu","qg/X","lA3l","BUIfkgy1BpIBtC2ZA7sW3wN+BUoBmgpBBM0EwQWrC8wNlgLcBugSjgTTBEIkYAq0FrkVnAWuAaALoAFYBLoJkhi2FsYNnR2aCkIbzQdPB+EBvwXZAeAGxQRgAkUCpQLUCiAM2wXjAdQDWBeCBecCqwiIA9oB6AGzAi0IWA9YA34E1QIwFU0MygddBsgT0hC2AWwChQdtCUkERgjLCN0MuQltNsQO7wnBFrMKpAZyAU0C4wXFAZoOqgWeCK4BiQnMAuEUwRJbH9ANkwJjD9II5QSxGHoEyx5dCKwBKQPZAcUUng/HBKoKywXeBb4Clg/dFLkF1hNdAlMFyBqLBI4Cejk8Ac4GyQVPG3MF2QPDA6kBsQHbAtYD3gqjDXkEqwTKBdMLkgGvA9ADnCLJDtUK0AHOBMwBogOkA0sBrwOkBKUPxAjgB/MC4RHME6QVmgtiASYHbwF2BS8EuAh1BOIY9AGmBs4JzQe5ArUVqRaNBbMFlQXQCeAIswnQCMMGnAzAAeMBcwHoIDsPqgfRBCYB6Q59Fs4BoAF5ATQD4QuxA0g4vxCTCF8CVgWJArsBRwLvJFYGbwK5AUUUaQlkCbwMvAPQAdUF0QLhBzkbnhGVCWgLoRhQD7wXRA4+DuYBwQ+9BWgP2gtrBLoE1A+fAu0","1g2g","gxG4","6wnN","lwnEnQGD","sAbP","ugFR","wQXF","Q4c","+wMg","0wnBpwTbogTB","4Qna","hgFr","9gTK","qwXTAbgB6AK6JH5m0A","iRDJ","2g/f","VV4","+g/Z","khBU","/Q0Z","sQjN","4QWs","alc","anE","ugtz","4wpl","N6E","kARctwKsywbozwPq","wAOaJ86dDs4","vAxx","wAjh","nAeySHPwBtJtpQfaPKwOJRBt","fb/qAtP1BZ2aAq3BA7Y","zQNx","An4","+xHi","/gqq","ggbM","0wdF","ngdK","4QK36gvVoAHl","oQN3","6AOV","xwY+","6QdQ","OYMBcjW8OkJJcxVG4QFGyAVJ0gJ7hwFaHsSABMc0yA","sQFQH8oFrwjLNHRFgFUvjgHQngOgBHcHyxCoFMh4ZAhuYHkMLR9tlAE+d64gPSm2jQGUPXIGLIkCwA","4QVa","AXADbAtRFlQDfAhPCU4Cfgh8BHoKWAZmAnsGbg5CBDwfKAhCAkEDSgJBAkMKOwmOCEACggRLD0cHuR5XPzsKRgRSDU4DUgFKC3AFORyADbYNTAJMBVAFRAUvE1cQTwk+AUcQRgJIGUQFviROCj4CRQixY1MDTw2BD1IPp0xJBUIspQtYTEUXSheeCEYBTAROBUoJQQFICkgBSDo8DD8Jnw07C0okRwyoAkslYhRUD1QFQgyhD1wCQhDMBj0DQwdHHEABRBhDC1QLwyxIDkQTdwtPAkFUTgRUA08DQAJJDUkQRgFEJEoQQgZQAZofrAdEDUsFcRlEDEYOwS8/DkIEpAxRBj4HSwRNBK0fMQVGBEgNSwNLG0sKRAxBDTsHQARFBU4rQhZHBE4JTQhHBksVVQVIEEbOAVU","jw3P","jw0t","M+ke4mrhW9sTthbiZejJAeiTAtFP12XhfqkixzfMLcNZz0yjogLWR0EEvwqzwAHTKco","jRBu","mQ62A8E","jRDm","9Ar21QUyvwHw","9ArxlAfn","9ArB","GYIdvgfEFXsEMwm1BEMHNQNCAV0BPwNCA5cB1AXDAVsPmgzQAUMDTgJKApgEmANtAUAEOwKaBUMBawU/BKoFrgFlCnAEyQNHAaoBYgJdCKMHjQ+vAckEsxdKIkoCYAFFB7YXSgK9BsoCoQGEAbUBawRdBcYJRAG8DEQQkwGQDE0Mwh5BAckFPRCgAqcHOiTNC8oTkg07A6kFswPKBEEeSgaUBjwThgnQFU0FPQHDDU0HQAZHFE8UqQdQAUUWkxhKAksCaxWGNkcLRgO4GVAChQFECEoCfQWYAqoFeghBA7UFpgVLAZwHrQeqAVkGRwRGA0QDQguyAUkNSBbBEVsERgJEDbEDTAZrCPUEnhDgBUsDSgFLK9QEqAKvBHcNmARDBJ4CRwVJBE0BPhJuEX8RoQZJAasC2APYA74ClQ2xCMwGbAJzAqcMnAdEBM8jmgjSBVAJcgFLAUMYnQFEAVEBQwGcA8gBQgVKD0QBmAi/BZcFvQRQAaQIrgFMAr8ETwGtAUkEgwKeAZEBwgGDAcsDTBFMDqoLewGwAUgBmwqfBkUITwNAB0sCSAc3AUsHpQFDAboDuwXRAW8EiAi/Bk0LlQKeAjgBSAZzAoYCzArOAZoE0QquDpsCewRhAkEETwFLCbYBkwROCs4CpQJMC00B0gpFAp8BNwdzBHoDeQWjFbUCgwHLDUkBPwFEAaECsgWXBkgBoAWlA8oBzwJGCKoCwAFIAoABggKcAnQGTQTjD08PTgG4AcoInwUxAUUGogRLAUwHRwmpApwDpwFLA0EFqwxLAUoIcghgAjsJoAbKAbUGegO6A5MFQAMgFVAGUgNHCkkBhQJPA0gBTQG6AsQDkQeUAssCSwHSAUcCQwRLAZcBSgHXAkQEQwZFBaQWjiVEDowNUAOZCkcPxAyJAbUtRAFCA6MLPwdGBkQ","xQjt","wQPfxgRryQGK","pgNj4AqbvwFdB14","hwhr","CoYVcBx+GFw9mAqaCKcDLTg+AUMoiUieDZoVhit0QjgPSoABjh9CF0hfkRVrJ6QHmw+aXGwClzgpNVEOZBhtDXIQogPQBV0UOyaTIy8FmSudGFsfzQJEAr0LkRNYzAFLF0gcpGVuJawGQq8Bcwd5nAGmF84QRA","NYebCYq8AcmOAWqyAzk","3QO2gwagrAHi9APi","lBCQ","lBB9","oAHW","oAHW","8wE8YOlVZYIGSmfoBum8Bkg","A1MNsA5OE7kGwwuQBEoBegmzARwCuAOPA7IBtgSiAZYETQalA6UBuwSZAZUBmQKXAZkEoAGgBMUIxAKhArEDuQG0AZgCsAGjAZMDSwGhApoBnwKgBKEBxwKiAdcCxgKmAbIBkwGmAZsHcQGWAd4BbgJtAZkFoAKgAbUBPAGaDZ8EnwShAUgBkwubAasBfASkAZ0BtgiqBJYgfA+2DJsBcwLBAbkBaAHKBLgBmganB5wDoAOiAaQGtASpFZsDZAFgBUUElguRDccEpgGhBawBPwGmAcwBSRinAqMCuQVuA3oDmgGkCWgGXAFgCnAI0QubCMQQpgrBCp4Bog2rAXMJowFcB6UQnQacCNADlAWjFdICkh6tAaMBmgKwA0wKqQGxBbkNuQunAWYVUAGmB6MDpgaXAaUCRR+uA2YCmAqRDZwNoQSlB0QEiQagApcUnwWmBIkJqQOkELMCpAefAZ0BpwLKBZYCnQqXAY8CmAy0AaMBngamBqsBowWZA50HWAKnAWMBmAFkAloFpBpKApgBuQVRGq8BRAS9CJ0OYQSUBJ8BRAhTBdABggF+AdMIeATCBZ4DxxKWAsADmwFuAaINrQOmBCQBbAGmBXMBrQKVAacDlQV3AZoBSQOmBKMRpwGmASoCowScAcMDqgKWAbQCrwKmAbYBkgGhAZ8BngI8ApoBrQGeBs0GngekAbUBrwGoAb8CowqaAZsBRwKlAcYDngGeAZkCsAKsAqwKmAGlBB4HkwMhBZYBwwKrE6kFnASaCLQFqgHJA6UBpQGrAp0CzAHHBZMFpwqqBKALqwGYAakBSAGZBIkCmQKfBK0GoQFlCL0KRwGfAqIBogGeAZsBpgJMAqMB2gKsAqIBhwGQAa8ClwGbAbcBuQRvAcMGowKaCcUBpwegA28BnwOqCsUDogGbAboBdQeJAZ8GqAGkCaMBwwWbAp0GcAO1AaAClwWlAqwDoAOjA0cBnwGmAaYCnQZxCNIJpwSdCYUBogGkAZsBqQGrBcEBawKnAZoBmgOhCpwCRwGtA70HpwGbA7UDmQKDAp0MngWdAZsJoAKYA4YBxwm4AY0KmAGxDTwKwgmeB2QBxAKoAawNmwKXAaIBlwNcAVUEmQHBBqkDqAN2BawCSAHJAZsDmAGQAa8BqAGpAcQBmwGoAa0BnAKmAaMBowKjBLECmwHEAqkJ0gKdAU8BqAGiB8oDxwSjBKIBwgLOAaAFpwFKAaoDngGXAZ0BogGtAZoBtQKmAaYCmAGuAaYEhgSoAsMCpgF1A6cBpQGmAkEBqAGiA58FnwGhBksBngGhBqADswJwB8UDrAOkAqABnAWiAasCvwW8AbgBugKbBc0ErAlqDKUCoQeQAZ4JSQGcBMMCrAGjAcsBpQGYA6IBogmkB5kBoQGhAaMFygydAaQBpwOhAaQDnwyiA5cBtQutpAGX","xgt5","FbZTrUM3IW4GQrACR0JeHnMdS5sBM1IkAU1ERwNBmAFvmgFLI0bWAUl5qghNcuEGRkxADUNnTASiLUcBxkGcAZMEvA","ixB6","aqnWAfQfnAtK6gHQL8aAAb3vAWhFiGrRFbM","xA3N","TcDAAXQENJcBnjt8ZaYcnmZPWC9qZjWjOIQXXC9NBygYbD1CECQmWBxRFl1HmU6LEoQmmwtXBDASNgpHC6QwVxFH6wGkEKOPAXlWNggvakgPPAM7HT4oPA","OKNzxKwCxknxAc4B5QJiAu/SAtAarBzehgF5bpNzl0aeAU8rwfoEzyPDmAHeAuwCsgLIAuYBvwU/AdQ","pBCe","tAhP4QGX","1wNo","OKM","oATT","oQTOAdACYgLvlg2xAuwCoALIAtwBuQbU","OMU9dB1HCMkRugOpA2oFpQNIeqseoAOkNdkQdQLNBqkDsTmgCX01ygXoAbAB8ATfDrICqTPnF8U5wRmjJ4FY6RfRCOAi6RzHEUsSWQvWEkEKzjG7F6IM4gLuVIoDcgvNNSIDqh7ODaQlnRC3EZ8C6QHKCEgEfwW9EZUrxSWtJzgb2wnHEDYDoBdHKLYn6QJzIaAVOBWsC9UlsAZrBrEwqQnLKkICiQiyEG4FywjCBnQKuwOtGFsGuAOtD5UNyiNvAWs/gmBqBLgCsgLIBNkBzQXnAcgJ5i94","qwGL","nQ/L","qwFf","OJ4","wAii","gAWq","OHg","oATkBqyWDd4DzwRACOI","oATkAtAErJYN3gPPBEABwQFCBuI","8AvnsAJ5","8Avn","gRCu","HmsCdhbcIN8RywtIAacEbQNGBb0ZKgxHH2UEShFhAb4CQAydIZInmS/LFZsNvgZlFs5mRwO0GOILbg6RAi0H0QTmGGUNwgvWDJ8kqgN3L3Mj6QO3F08Nug6dHU8BYw90Q8oK0gHLFZ4DqQK6BqYEOgLNFawMmhVKIaMtKAHMC9cDMwHIN4oJywOlBEMt7QTSAXwEagLKKMkMvQ4tBZwSoBw+BzkPiwFSDaUUwgbODs4PMgx2BngQbRWoCKwDpwHWC4AGLRnMC88EzgGeFDQLtROLAmkHyQVkDqQaxwV+SDwEXAzaCbwc2AjjCZEFQwXQE0EDiiOyAbAJsQPMAoQBohbYCL0NlhzUJrwBvwVkIyUKowLKAcMFRwumA4YMThBNB6YSvUzVKrsLwQWxNKs","f0iZDbI","sw7QFoowpw","oA6Q","+AXSywmd","4gjIdOs","ww+E","7A6y","YzcaJgJIRPUTPANLzwLRF5kcMll+8QNyEnUjoQqaiAFvDpcLQ6gBnxWtHqe4AUcUoChPJ53YATQCzYgBuw","qATR","kwbNtwuz","qwFf","tAhPzQeu","oATknA3R","L7AS1jRDAqMHxzPaB9gjk1K7XmcNowq6YMAbsVS1NaoRkmq6UjgStC2g+QFDIc66AdM62gK2DuAkzBXeWUwxtwm3VMkB3BKyFykMQwasCD2PAdc2y0OyB+Acso8Bri+9","e6CmBaSwA0hbUnxIFjQEcl+5QZ6BAbw4m6wBKQmd","ckgNscEGTesBousEPw6okAFz","lwdIBPIvq64Dpw","mwfj","F2sbTRFNH0YaWxZwQyoCQggwB5sRnRAvODwSYA45OXM1K9wCOw2YHpU36QHnCpYOn5wBjT8qBjMULws6jwGVAuQBsidzHYtQIhknKzWgATIcODOBAq0C82o1OioS2gMwBGkJoCO/FiQKGzedavMWRA","pQ8q","bEULcAacDzsEmBVFBEIEkhRRD84FRQWiDZ1WrQZEDj0TOTimCEkjm2yvOj4XQyJPVZoulzBYggFGCUIVSJ0BkhibHHMQRQtQFE4goRlwCEQycg5EGkgGSS9PO6IerNMBnQirA0EaPBo9O24WOww+G0oXQRtrCLtAkgs2OTw","oQNQ2gKamANLtwRN","wgGFFqtROrwCn27jY5w3NTikPJyMAaYuJJ8BNWeRSq0TyBWYMqYnnAa9LigNSAWbD8c+JxuZdKjNAUcQSAi+hQHV","2xBH","uAE/H5KFAUgbRRvYCaYjLZ0BpAdKH6QDkiCvG2sTsYECcp4BWykuCqc6oeYBY0ufN6YfnmArEp8Mllt0GqhHnxFvpAFF","0gpD","7gm8Ll4","7gm8","sQPR","wwHdsAEurgitT6x1q70DbQ","xghw1gEplARH","yA/O","yA90","MYdEerECpwF+JnEv7KIBsiVwhwIzMG4lwS2ABe1MiA5mGqMBvAK1C5wLdg+LQrYLrFeCJ5EGTT2QAo4CgAKNJ5xMQm/JD5wDeDE0EJ4F4DKmTa5mVwtyN9BasQ","jg3q","/APb","9gJC","mgmZhQOj","nwjZ","jAE7K2S4Asx+ZFnJiwO3BaUIS9ECvwG9gAFLEKOAAcpmpesBrApq","xgW2","xgWN","0Qi9nAam","9AxC","FbMJ0w1JBU8JzgGoAZgIrAJZAtsBlAXMCGU0bQq3EMEDWxJoAj0KPBFFAjkD1RhzBIIEtxdKL1ADRApKBk8DnglwC68yTDJPDEMoq6MBPi5PHEUuSkfnWLEFdAO9E0cvZx9GW3UGSRxODUUpMiNEEjwKRzNME1QBSxo7F1NGTBOtLrAGRCGsB0gDuAfAAb8GTRBIDkkLQwpEIbwKcQisBEwWRRFYOkgBsw6zC3sCRgS4L0YsSx6UCcIKrAFHBakKbyVKEE0TRwVtBEERTjvEC91Vpw","+RDE","uQW0+ApB","1RDH","0QjZ","4wjAAb4Bxg","dXrVBjM","AXAQzQirPb8JYgtaKHARswuOA6QFXBg9ArUmcwRFA+QZ6RO2EsAexgFsBc8EyRPIAXQjOi2nCeIBtgZoBr4L0QLWBZYNRQG3AbsBuwG6Abk/SGCKAfS5Aa4mPyhmBJw5Kk7SDY0BYTvUF0Afdx7vHIMezwFHA1SVAaYg6xHSGcoE1gbiC9NE2x8lFlGEAcYP0ASkLr0GigRNCnMm8CG9PuMtowGnAasPfgtHcq4","0Am/","swip","swh/","/QHk","0AnU","/w1d","vwuewAL1E5c","/w06","0APM","0Ale9gLX","9gFz9AHRtwGc1gbggwPm","oQXr","9wtT","oQXj","EUU","+g7O","2QKrAWw","wQhh","ggzT","LUEUjuECm5EFf4AG+CEz","sAkt","3QNc","2A41","2A41","2A41","gwuS","1A4z","xhAu","+AvAAbyHAvPFAkU","gA7A","gA6C","swhC","swhV","swh/","sw6w","kA6/OOU","yA6m","3gTR","mgXf","GvM","8gy2","8gyn","MYD0Ac4wpI4C9LkCxfYCttkCSjLc8ARP","sgPKAccByQHLAckByAHJAcgBw8YBuw","sgNsAWc","3wGj4ALHowOnyQWqvAGj","G98RdmH3QPBPpAXo5gH2Asj2AfWXAVlY8kieCu+UAd8MyKMB0Hq3A4sBtuoBb9sB8xPwgAFRPncB2AHi","xg+u","jQHl8gTm7wHDlQNJwwSw","/wWx","/QuOBI0","lgdZ","uQNs","tQNa","tANsAVoBbAFsAWw","pAmn","QEI7oEk8mgFIIkT/AUvRAjtnsBObDDelAZuOAUMTqQml6QGkJW59mwhqDkEiRUWhjAG7BJ0","/Q3B","0hCt","0hCp","pgGjjgGqNm4SpPUBnrEBnrwBpMsBlakBnFOljgGXbUVennhFJah6mA","7goo","XzNYQ6ACPpUJnA","WXEGtSHdBS0NNwKxAzwPRA/OBi1f4RveHD1TQgMrAT0YLwIpH1A1hRiHB2B87xVtEooY1zbsBmYpeQQ4ATsC3SQrA0cUmxGCCj8M1wV4DWAI0QGWBzECJxONBDgljQSWBDkDhyEpDosBgwF9AX8tiRC+AUkTNgsrGaIIMgQoAjwsSgFpBzNAUBY7DIkdMzF5FCYZlQzQJE0HlChxHkgfQAwtScQeTwnqAXUzNB01An4NMQQ1FEUlPAk8AjgbwC7EFZQOKxRrDTEGMAI4DiwCKQI1LmAmQw","zgxx","tQGl","tQGM","tQLG","lAFu","ArMBkQK8BK4EQgI2AbAOLQK4AasBuAHDB0cBPgJxA0ALqwe9BEITcQzAAcgJmAYsASwBbQZdATkFfw9HAUcBoAF8BnUKXgibCJYDaAEsCiYBXQ2HA58BnwE8CY4HKwKcGa8FSAvBCHIXeQZzApwIagN5CNYHiQF3FzEIvwFED9kBRghnBpACowTNBqEFgARjC3AEjAN8BLADYAGiApEFQQc8CjEBdAJCApUHkAG9EdQDfATeAcwBygiVEUMEkwSwArIKTgJLEzQCxg/EBbsIbQSlA7MLegWGAqIJswKQAXUE0wJdBm0HzQShD2gIgQanA24ERwLBBuMGSgXeFSoPtQJ2Bs8LrQFsE2YNcAFqBN4UdguXB8kBngdyCnIWpQy4E28EjQk4BNMCbARKATQEdQRtBYADpAZGBDUEmQJvApoJPAJCBqsNQw1uAdoEZwKjBWwChQ+VAeIB3wdyBkgMSAW+BssCVwbcBskDyQLDA8UBLAHOEaYHxwFiAXoGthbPAnQHpAi6Br8BOQXAAskBdwGPA54IagLQAc4GVRDIATwDfAK6AmoD1QXTCLkEQgqZAs0BUwSIBj4EYgWZAjADVAFCAUIJvQLQAcwCqwujAdoGoAPLAVwEvgVjAnQBMwFjAdACRQ1zAroHyQQ7BigCxQKbAdcF0QWVB4kBngeTA3QBugMqAS8FbQFJD7IB4AZ1AbkEhQG5BKYCxgGiA3QDeAlrA5cBmwGaA6QBrwEmA2cGeRFyCFEBrgOVAbsDSAFXBXUJeALgBHYBdwVLAakEQAHLDnEEaAK9BGsGLwR1AZ8EugFIAZ8BtAOxBJ0QfQJuASUJZAMoATECQgFTBUcB2w+YC2kBcgWjEFkESwRuDNUMjQHLCrECrBnJBssBHgHVAoMBYgEZAicBQQKhBDEBvQI1At4BdgJCBasHKQI7By4DawRkBb4CpAGeB3cGowK1BCoBpBJPB8MCuwKwCjcBrAJnA0IJbgqmA0cFqAOHBa4BmQKvC6cBRAs2ASUEywUwBtIFvgc5B9gHvgeaENMItQYtAZAJXwRMAzkBqALLAmQDogGiBZQEbQJyAnUBRAFhAW4BdQFtAaMDcQFJA3EGqgNjAZ0BpAK1Bp8BkgFhAt4fgAJIBq4BpAPTCJUEnz2yBb0Ing6WEp0DowvIFE8XNg","X0ZYQ+0BtsABz8sJLw","yg/A","nw/r","0Ami","tQLC","tQFg","tQFg","O+JB0RDNJKBbpgOciwHpQ/AJzUe5btlrlQGIYeUt0FPMAetJyY8Bjg7PN7M2twPUtQTqQIxlzQHKjAHlVMcr1g","6AfF","mBAsASc","hQaV","uRD2","Bou8AdaOA/IC0QH17QIjpgJLvQGQZEn2AZ+eATAxpA","0wTe","dkYRcAQzD0hQWgXIOMNTWBnFE58CRSJpHTwwyS5YBLoDkUtKGsdvYA7LwAFBDDARuUeVHK0rLwYlM20MoQ5PMKdCSwsnEJMvLwK2Bo4Vox2gJZ2dAnddpgOmdLs5NgKnSZeUAdI","uAGmJ66xDkg","3wGj9QGb1gVKbKqtAbUOjgGfsAKhjgK8AdQ","wAVA3gYo","iwqj","iwqj","qgO0KLEBrg","qgO0","mQ9LC8k","Rrov+bcBz6QHbUqTlgJONILMAWsYm4kBeQ","dco","dZc","Bb8IuQNuBHQKLQd4A2gHlw7EDH8IHAWrAccBnwaiBNwLmwajAtMCtw6gBm0HlgIzA6kBQwMzAWgJhgyEA9QG3gKcAYcELwYvAeMJRwK5AbkFKgEoBaoIKwyoAsQFJxwsFLMB2wHPAy0FqgEyBF8BgAHXBJEBUAMxA+4BcQYxA4cBoAKiA6gDRQEsBC4BqwbIDi4NMAs6EXkBbQSpA6EDKwSsA1sSLwS0A5sBPQUrATwEOwafBZUNnxOzAbQBswG0Ab0JuROjBrgERwEvBKQGtAKWAW4BpQItAlEDpQIwHlERkAM0AjMFzgk4AyoLUwK8ApUNSwI3Az4EeglZBm0HLxJIBrsRNQYsAWEDpgktAUoEUQXKFTMDMAG8ASsCPhWrDS4XOw+GAyQCMAWuA7wBRgK9B9MBhAI5AbkLmAZlBMED7wKyAbkBRgG4AbYDJAG5ATUCOAeLATIBbQI0CCgFKgOqAzcBXQIzAbIDNQR7ATcEXQE7A7MBtQGxAawEJwE6B4ICpwKrDEgKYQKfAZwGTQU6AnoDWANYBrkB5QYtAaYB5AFPFo0FQgImAjUIIAQ9AV0B3AHMA8oDLATBBC8GMQEqASgDKgjNBOcBMwKWAcMEMwE+ATIIOAKdAzcDLgMuAiMDdgM2AzQDwAE5BdECngN5BCsBMQNdDDMBKgFBASoCLAN8AjwFnAGtAiwB0wG2ASgBrgGMAWQBPQK1AqIBjgi5AbsEpQEzAq8EoQE4AigBMgWFAV0GKwErBLUDLQEzAZkCMAIeA5sBPAVWAy0BMQVOAy8DJwNwAnQEpgFAEaIK7gk5AlYCUQTHASwFhQGqAigK1wHZATALXAKvAskB1QRnBqMCRwK0Ab8BLgI3BpoBmgK6AaUCYQIuA7QBtQIqBLQBRgKyAjICnwIvAcsCKQEyAXkBOAFKBbYBrQIxASoBjASaAWoDJgFkAaUBKgK1BDAKYwaFASYBdwNIC3sGLQaTAbUDeALIBdUD4ARTBK4BMQVLBlwDgAHKAigE9gM1AmIBJgMvAoUBqgMsASgBOwY1B0AGYAF6A60BMgMuAcwCcwLEBUcBKAWfA6UDJgFHAS0FjgqhAcQJQQKbAjQCPwGZAagCxAM0AjQIPwGeASsBZAMqAiQDxgciAZEBNwK0AlECcwYyA10BuwK7ArsDzAI3B9kELQIzATwBPQRHBUgBNAG1A50BJQIeBHsBLgGiAScBIAGxAaQBgwupBCgBJwO4ASQBRwIpAUMJQAaiAiECQwGQAaUCLwEwAcICUwFIApsBqAPBAjUFOgFdA0wBnwFNCjMDxQKpAn4BvQK9CGUDPAO+ATcCRgWnAqoEOQKLASYDOAK3BqcIPAIyASIDZgEyATkDMAGoAygMywQ4BDEBlwOeBVUDJAUjBSUEpwG4AmgEcQODAiAGKgnOAXcEdRu5BywILgRqBUgEnwWfA7QDpgEmA0MDjAltGEQjqiWRBUIy1TNGC9kHQgHBBFA","yAHd","yAGU","xgK1","ywey","nAff","+QpEugWZ","ADABmBCpDZwttQvFB6MCqQOmAWsFawEwA6gBIwSyAbkBhwIsAV4BLQN2AcgBWwEmAqABMgUtBLECZwGyBjcBqQEzAzwBKgE1AYYBhQI2Ai4CLAOIAXcBqQE9A6gCJwEuBLsCnQKeAqEDQwIvAS0DJwEvAbMBjgEeA6UFrgclATIBKgKSAT4BfwEoAZgEZAejAXMGNQ2eEn0DvRpPAXwFLQS5AbIBMgR7AsoCrQLRASkDMQMrBzEEPQInAWsCngQsBJAGRQFdDZgBowGdCEEEtQs6AjcJ0AIsAqICPAE9BDcBOAKmASsCKwE9A3AVLwIpBUEGKwE8BrsGbASmCKEcqwp2B4gBegkwC4QEuwmzASkCLQcwAp0GLghFCCUEMgIwBXMGfwYpAzQCuAW4B7sCfwMqDXENaQQ3ATIBsgW+CTYBsAFsBTkBdQZXAjsPuQJjEqUChQE1BiwBYQOMBnYDnQqrFTMDMAJzA3MDNAE+A54HiwZ1BpsHLgQ+BpsBngQjBiwBOAE7E2gBwgU4DZ4DthAtAnwBXAE5BVABcwE0B5YChQqTAZICNAisAz8CKgMpA5MBKQIzBDUCwQGyASoBNwFvA50HwAEfAWIBHgG8Ai4BKgVAAowBkQGxATsKrAG7CqECWQEtB1YCyxWqATkFkghsAWcDbgnNAaIEgAGiASYCpwEpB9AFvwFLAYIDUgMsAzMBnARvBjEBKgEoC5oGdwEhAZQEMwJwCp0CQAQuAi8BLgEkA8cENgEuAa8BmQExAncBOQJuAdIELQKpAaEEZAHbBKIMcQFBAaYCowMzAnwFkAFDA7sDsgFrAS4BPQI8ArABIgGeBnEGLQHBAs0EiwN/AXwCdgUnBSsBWwE9A4oBWQFWAqYBdwM1AyMBWQE8AbkHLQExBTEDfgMnBagBfwJdAVYBQAGHCMQLZwUvAygBPgNvBIQBqQUqAY8BdQIuATsBJwIoAeECqQpcAoMIJQMnASoBuQFCAWoBdAKLAmcCQwEzASkCoAXaAcQBJgGRASsEOQExASYDKgHEAS8CxgdxAisCRgGPBEcBjwKFAXYBMQGbCCUBuQEiATEBYQIwAR4CLgFzAmcCJgGlAWsBKgN4ATsCMANHBi4BiQI8BI0BtgFkArkBfAFrAnANMgFmASQGWgKEASUDKgMtASwGKwEyASgBLgErASkBUgMvAnICNgImAn8BLwFJAasBiwKXBrgBNQIiASYBUwKqAmQELAEoAXoBggxACioBrgInAWUBpgFIBisCogFkASkBOQFQAb0BIQRrAiYBRwEtAjgLnAJgAUAJWQEyAYEBLQE0AS8BPwEoASsEnQHCATQBZwhlATEBSQEyA50BPQVmAl8CyQKAAjcCxwRLBbUBMgF7An0IbQEoCHMELQO5BaMKJQFiBxkCXQEgAnsBuAsoA1UCYgM/AXYDKQFqAV4ESAGtAmkBvAFgAWcBsAOLApkC0AI1ASECMAe6ATQFowE0AS4BtAE6AaIBcwKbAWYCrwlaAioBMgGvAakKpAOrATEBKwE8AjUBfQE3AnYBPwRkAjcDuwE5AaUBfgEmAS0BKAE4AawCMAGYAjABOQGiATEBhgQ3AS4BwgEmATIBIgNmAXICLAHQAUsBgwgyAjYBsAQoAZ4BXAJuBHoBgAKKATcCJgEwAokCcwSvAiMDgAJFAaUBvAFeAXsDdgI3B0cGKgMgBX8BwAK/DVAGLgMkAZ4JvgGjAsACLAE5AWYDKQErAosBTQFMAisBNQIuAsICKAU2AiIBdQJ2ASgCLwEmAb8CgQmrAzIDMAI4ATMBLgdtBSwBNAEpAcIBNQJ0EJUGpBCwCLMFSAeHBFUEPQfQLqABPQa6BElKnw","LHaGAcrpCHc","3Qlj","tAGO","/Qif","3QmP","ugGV","1gKohQe2uwLV","tgSl","ugF7","hggp/wJp","mQLWBbTOAuwZ0R+oPaw","B3QJUR1zFqkHvgS/AnwD5gZ7AVsNtAS5BD8RsQTnCWcMpgZBLYkCPTlGD7xOlxNgNXwR9BCwGjwGsgqvSU4by0qeD3EFQARjBDABUhFjHK46bkpKKLACrwpIJ0MESAFFA9IntyhGA+sYdxhVGEgL4wSCGqIMgidNFHUWhgNOAkQtnATKJkNCSCamH1EGSQR2Ek4V5yvFAYQBxwhGB0gIQixHBCRFziRQF4EYPw8/BqYIl0/AOK4FZgVvYNsKoidIAUsEgbYB+A","1gfC","kBLz","jQFnpwRxrwZMEk7gBEgBSw","LUs","vQPN","hAFq","rAq3","Z7QEuRme","kgq2","4AenlQLG","b5i0Ac8zRjvOZbaYAc0CeWa1Bs8+ywTQcc4cqxWnQLp7pAXMJXoOyyLGWt1zQQ+rO8VipHLQFNcOQCDPH557iRA5LaE","N1YyShUzFUcITidLGUBfPhZOJD8kcAlQB0WvAT9PsElFLkpPR1ZJEEgJRixKOkghSwlILEc5QD5iA00MR0FLC00CRw5EF0MESCZHHkwuThg2UU0ESRVELEYzUA9AGz81QYsBaQdvSksOSRJA","hQNXTk8aS3Sj2QKgaYOGAZX7AZd30lxFuQFrd1GsAUg","mQFDpgNjvwaAwgFE9QSj","hwJwnQHG","xxDv","xxDj","JMxG4Cmj7QrpO8CtAo4pJqsCQA","gAyj","arA","alg","JYUOnEA1BXYUMhuiiAF0C6kVqzdnpAHNlQFlFs8+zVo1EKOSAZsBzBRbXEwUdBE0XaYCmhZzdEIURgjXCNEKxhkrASYSoZ8CvTujHJszVSHTL3tedjGnJlUJoRRGE64BpgGqArMWxg","uAKcAj60BE7eAb8KpYgBoT2na6DcAXqWAaE","mQmABiUELusBlhScswJFlAE8mQNJ","vwQwLzyoBUMSHmyYDrE","Ym4","5ghHggNH3QLG","U7g","QmICnRJFE9ZYLwPRELYD6n+AByOeAWZcPzFT8QKEDpgz0FmjRGMGYwz5EkQet07FTpcWbEuwFsYiiAeVZqUsyRg6EmUgpAg+eMgUcl+fBZm5Ae8","RHE","gQlldCqIBEY","nQGgoQGTFmsUkdwBq7oCjhOOwwR1kgFz0ALzfXE","oQNUCqw0p9kFR+ABbA","abHVAqd4kdUFR8QBl8gDSyMw","jANlmwFHiwE28AQinAGTBJYKkIkBfBFTCHubAke8AUU","lwFLDaK3A7DQCks","+QmkM1KfB54","xAKRDokWkQqYD4spi4UBkECeOZuaAZ4wjgyOE44fi4MCclApC3HcAaAEnYEEgA","iQ+o","YqlDn6sGRY4Bka0BPbAErA","yQRt","2ggoqgEn","tgKG","HHq7B6rzAcLTAjIloR5NX0w","nwlG","hxHF","B7Q51CpYJp8RrBWlc08WoFu1B3cD1jufQ8oSuzmjE/C+AdAcVCasFUokxxa9BW8YWlVuCaEMd1CITY4XvAmZJY02Q1VorQGpcKgLmydXD4UptyJGOYoZnFbipwG+CEBHSA","gAVG","7QSIkwJz","qwM82QHG2wao1gJGqQPn","2wG3yAaDrgFIU7ph0lQq","oQEsVSzDA0DNAkH1AUQoRWlheqEBMKUBm26PH5tLRwZjoAGhDMU","7gi2aUe8AnWRAqhZoA","1wmi","aGv/AoiVBakfJLIBqRFLGjs4Km0yJ0honuIBQ4gBnA","F708uJ8BsvsH8gHvAeCOBOuIAd3CAew","7QmL","7QmGAdgBRg","7Qm4","7QmL","/Q1G","pQFFwAZKwQFAogJIrwXY","iQhpdDs","/gXI/Qje","A1PnBqiZA7g","9ArB","+w7A","+w5n","vwc/","NUtWMwO5CKAePwyhAcURaxqkP8sWRQXAgQGmJksepyi/KLl1ehhTX6UmqIwBSBXaElU0zD1dGJUCJAhlV5sQc0mqBZB94AylCa0DO6wCkTqOBnUFQw+9CCh7RxjSAdIOegpBqAGWFqwKPw","gQVH","ugE9VdKLAaJf0GzQlgFFnALEQb5EwQdtogKjP2u+AqMayDxMFJ5ZyRjSJ549nxmr","owGIEm8OkRy9S1hyeSvDkgE8R9UoWFW1C22JAaWqAqY2UXTRCtQBqytHA7sWdQFzE35WwIABrlXnDqkGSQuPCKgCegx4BV0a0VKYEK1hygPGWmo","D+0zvQTcCFMeoAeZCG0C4wZKAWoXgwL6CEUT1AKkCY8EtQPAA6QOqwPyB6QCnQE9KnES9AHKHI8GwwWNGbghpAG1BkcD9AGuAo8BvwPnDr8B1gHxAfIRbAfvDFEM4QbrBWME2wfYBecQ9hdPCvMa3wJOAUwDiQXXA5EYejOcDoUG5AGrBY0QlgXGA3sGzgRjAfQD8Cd6DN0bbyLlJfMtshHdCagT5QvZAaUOjgFjA9MUvxFpA6sC4h7kAlEurwqdGFET0QKvCp0C5w/XDeoC7AFKCJUBuQXVAt0IQgSNBUwZSxpxBY0EdzuSDtgO7QmxBPETkAFgEekGsQfuC54BQwR8B0gDSQJwCCsChy3sAu8B5AfqDqRYugd7FeMOlw5KBGw1UQ07AsYCQAwtHnEHygftAkcLiAoqEN0BpwfsAdEBxALJHOAJMBGMA90lmwtJBmEc9UCvS8sBww/yF8oBsBLsAtEC9gXFAu0BPgXVBHACPgGyBXIUmgG8AcUO4wy9CegDcQfgAfA","kQnI","/Q7e","D4Q","kQkr","pATomA3bBq0","2APY","7Abk","gwR+","1wV6","rgnK","ygHA","D4Q","Rs4","nwla","8gps","e20","fZ4","3Q7rAdEBtw","wwGP6wztbN0","pQVagAFvqAVw","qgfM","sweJE+U","D98","kQNb","pQVa","1Q7H","1gqS","+Adm","5QGkqwHPcy2hB9Q","2wFo","lwWcMns","rghR","yRGy","mwGD","8wOA","fUI","igbR","kgtX","pwORAYM2pQ","nQGr","nQHU","ng1r","ng1r","C5w5cR5uBdwE2wJjFtEB3gg7DCoD8wLgH+po6yOnAb4Dz0neF/YO0jHUGeYP6FJ8BJQl3QHNEbeCAbA94mjRC1kPYhrzElQCvCTxX88C5xt9CuIG3DjmHHFLOQfZDucJVwTlLbYDshxJGFIhvgK3AbkHsw6pEXRyuVlrL4YO8gnMrgGxfO82ymnwC8Y","qwM8","sQuR","kgrF","+w7A","xwSl2wQ2kQWY","/gXI","7Qm3AbsBugHAigLAAdoBxgHHAccBzQG9Aco","7Qm3AbsBugHAigLAAdoBxgHHAccBwQG9Aco","BecI4Ai2CHsTrQmyAbYIsQe9CYYNsQ+OAaUGegKzBvQJQzLIApUCdCC8C68GxwK0BLACvherDqgQxRV1EOcCjAVGD3sFeQqrDKEMdAfcDKQB1QZ8Ab4BqQGdF6QaQwS8CbgGiw+rPI0CrwrGB9oMkQa8AqUBeQG0DHIENBWHCtkB4RNzK8AKyBZ3IcEmmByyGuQWyyWZGakCeQHpAYAGngK+BnkCaw6jJcga7AR4H84LYxPoDL8RnAG+BcEBrQ6LBNAFqAV6A6wTlgWmB64GfwzjDLgEiSOoDL0EhAN7B+ML0SO8DeIBuAWJB+8XxQXcCbsGuxB3GoECuALdBusBvwKzCtcIphXJEawNogOfCtkSpgtxAakBbAa4B7QaeAGVCNYBzwWfFrsMfQaSEIwIxQueBrAQnA6lDdAElQ2pAnQQhQPOBKsBnwnOAWwBuASzAtECrgWRAZICyQGbBXwB6AHKB8EDtwHSCKYGxgyfBM0FlwGKAo0BhQWEBJcCxweJAZQBsgVrAbkMjAJ8HrsV3AOlArkpdQSOFYgDagLEAaEBnQfFAssCngJ7BZ0Cew/UA4cY2xDFCt4C0AjOAaECRQrZDdVB1QZJBsQNYSLuAcYKwQ","7wV3uQOqpgSs9APQ","Bd0I0voK0A","9QGX1QlHS2sncQGpAWyXAZw","GFMEzxNZA2kEtRBKDFQIWx1HB5ILRSlDHcgFvgl+FjwHRQ1GCkoI0AVtI5kCUid1Cj8P2QmXF5wGPn+SJ0UwSwrQHKkidQHQH0dPbA/QJ0c5RQ2Pc0YT0gzLAkAeuxymL8ITnxVHG0kJRAeNAb0TngPFCqhInRiSDFMKmQ9IGkEPRCNIJYQfVAS6AkEHTR9KFVEPRAg9DCtKWAGqJ0IFogOqBUIJQAanKU8cbjU8E0MZrAzaNU0BoxCkBqECSxlRM9IYnhZCH7cCkSao","gAmW4QGd","dXrLBpo5OJACK6wBLwmwvwE4QjckLR4qgQG4MTFjZw","3gmjNbM","I8g/KQTIEF8JJwGmBkUNrxglD1EM3BFpA4MD1i/RJoofYAbJBM8JvQHHMroQfgGtDHIF6QFtH8kOdg2uEq4C7wJ5D0EOginRA9Aegx/KAdcLywybDc4MagGkBcwIyTOhKeICnQvFBM0NsAmJBW0DcQLKAk0jywy4AdIE1B3eB8oOpBHoA78djQrNAtACpgSsLMkTnA/WB84H0gWYCtwBrgLmAYkDzQTDEs0D1xKHBJkFhQmJKModIwacFZ4NoCp9HrYG3xLZB5wh2gfDBLkFlAmmBGYBmwebAcABkQWeLoIBpA+vFm8ZtgjIKEIB1y3XDDIIkwHdAcMi4RaqEqEBdhLMB8EIZAJrB9sFfQk0G7URiChsAnEFmARlAdgDUg0oAjwJoANtA7ABwQPtF9cgpQ5aDaMQexqgQm0GrBuFI2MBrxlJAUwhPxPX","RvkciAvcCm0G8g+rKOQanQsqAql1kzOjBMYf8wH1AfUYyh74CeUD1FfiMjMsqSK5qwH5ZvUSZWMmWPkPqGTOlAGfFrQBrByZSNwMnjN9DmR38UL5CYYFRgmOGdYQbUlyIM6dAug","oQzF","kgq3","bWM","bbcfeQ","pgPAAe0B1Tbv9AN5","pw6D","RkI","6gPO1AqO","nwWP","xwgm","7AaC","7Abk","gwOjBKLmDs8","7AaY","jAF52QyS","rgl9","qANxqgSs","sA82","fYU","nwmi","7AZp","BZ0aSwRPYs4B51GSFs0HeAGMF+wP0pcBzQfVAdogty6fAs0dginnK8IBwBTkB30Y3wxqCcs55D/KEcpBzheWCtUdyQmbA8UpzyCGDcsF0wu+H2MVwgHdBq0vf3SnXZgQmCLOB+IYtiW9JrIcsCTaB9IRogjEA9Y/vQPDC3MJzgzPFuFNjQ0+B90Wqk9GBqMBzCTkU40IpNUB2gbo","I4ZjyYYBhlnRD7oOye8Bp3azYstc0gqlRoBaxwLDBLgYYAXAA481oXnprwHeQ6iMAZ0B5xTGJKlaZyLxA6IOSTS7B/cXJkQuE0gCpwVzC+8m1QLU","9Q2d","fco","nAp7lQKmlAGw","5wN2","yA51","9QGX/AI02QbqS3s","zwXA","kAXP4AjQBJWUA9k","5g36","5g3j","5g3B","5g3I","gA6I","gA6I","xgHA","nArv","duk","dpk","dsg","dnE","9Qme","vQXV","iwrj","6g2w7QJs","J1zzCeQ","mgrqAb8","lw71","2geV2gHv","tAna","Z9kC1QLZFtkB2QHXAdgX1R3UJtkv2hjcF9kG2QfSBtkG2RLZAtkH1QW+BNwC3BnZAdkV2gPZAtkB1QPYA9kB2QTXEdYD2BHZCdkN1QHVAtwK1QLVCNUF1QjWDNkD2QrVJ9kC2QLlGdkE2QXVAtkB2QnWAtYC4wLVAdQJ2QHlAdUM1QHWAdYB1QHVAdUB1wrZA9gB5Q3ZAdcI2QPZAdkK2QLYAeMF2QfZC9gM2QTXF9wM2QHXA9cG2QXYAdgJ2QLZBdkC1ALZA9kI2QLZBNYC2QTZCNgC1wHVAdkL2QXZCdkB3BjZA9wD3AjZB9kM1wLZCtkc2QLZAtkG2QHZAdUF2QPZBdcE1RTZAdkG1gXdAtkC1AvVAdcO1QjUBbgG3AnWB9gC1APZB9MH1wHUCNkF2QbZBtQE2RTeAeoO2RDiENUE2QnUE9UC2ALZBdkD1hDVAtUE2gbZBtUC1AHUAtgH2QTZD9kE1QPZBdwY1QnZAuUB2QvVAtkJ2QrZD9MJ0zTZDNcB2QHWBNUN1AzVA9UQ2QrcB9UO2QHVAdgW2QnWDtYH2QLWC9kF1QLcEtQC1QnZENQCtAvXDNYB1gHWAdcC4wbcDNQK3ArpAeoB2QLZAdkE1wzZBNgq1QzWDb0F2Q3VBtwd3AvcCNkV2QjnDuMZ1wLXA9QB1ALVAtYE1gLZDdQF1i3YBtkK2QHlA9kC2Re4KtWBAd0K2Q","rgzj","qgS0","7giE","8gns","NncXa5QBoDnP3wJBnAHPlgLLJmYIflJuUkKIBTvvAYsmzg","AEIBmAxvPFgysQ5oAkIZiAh3Mz4WjEpGFtIBnkmUsAFFKc4xNilsRGsG14wByzDFbMsZtk67DT4SmB5PFz4jIhc/AXcfSTO4D0QQ0w3eBkZbhAG4Q68OtmxFFZwoygaZAsECp2NMBpwoQxBADSsCqxOaB14ErAqfFpQDngWYC40SQSQ7eqARpQ","/AzQ","rQGwxgHA+wW4IysOnFaIhwKsAohzNwl0tgGb0gPW","QtLnAqMeuibIELcBuwG7AboB5gGeG79AxVXRRq4ppAWpUagnzUCp0QHCGaZPswWRDaE0pR2gDLMCqga2BmIGpgyiE8gFwgqQA6ACxQWyA6EEcgaTFJASuAqYDswEiwbRBooLwA3IEMYNmQLMCZ0BjgOkCK0BoAFzD5cBpxCqBLwUlAzBDK4aoAisJtkDxQWJBc8OrAGuAbIBqQfoAo0EsgSlA3cEpQ2kAbIWqQJ9Cp4CmQKaBYkBxgGlCrECtgijBKsnl23V","pgtvvwJUigEpE4EBMA","+w4vB4E","pgtv","gw9R","7w4p","gQSs","oQYm","oA4g","jwwlaianASA","sBBj","uA6E","gQSs","sBBY","xwMw","xwMw","CVRtmRFwUnEcjD5KdWUakRh7TZ4g2BSkEqNFTQ3HiwKgCJlPuhN5Cl8MmwLKDLsjoQGyB78Qgwd2BUomow91B68LSwiwDKwJcQtxDbBMLjOlASYBqRHHAY8EyQGQAZYHnwg4JqcEoSXKBCwZxASXlwGuOaIXKRIhAicQdAtuC4UHqAgeF74QhhCvC3kKpWa+AXcIlCRw","kAF+","mA3p","T7wBkQ","iQFu","ggS/sAUqswPtL8u7Aq4","ggT5","ggS/","ggS0","1wf3","G8U","G78","G0o","ihAb","xAHz9Q3b","uQ8m","xAGx","5w2y","JT0DNEGxBCMcbhA1ASoJLgE0AS0OziBokgErBc8wa40BuYsBNkdiJDAJogU5WVohbR9DQtkfo0FvB0IFwiV3E6EIKmcjG7I1JynZAbY+LhDFAbk6TlW5Am0VqC+tAXEBcQGSBFoZKCbEFSg2MTUmCzYHmCjFAXARyQOsNaoXVAFQAxgGsgi4tgHN","gRC5","qwlD","2ASn","JZ0TxwOYGpEnmxCgDYQXdWCxKXIBaUrWAVcTaAG6kwGRBt9OqhqpbNEh8m3eAkRS5knAowLBQfR342bjzQGjNKoy1A5UQnMQchN2AXIXY2ajjgGf","pwaz","9Q9z","JZ1XmzR1iQFyAWlfS5MBkfsB3swIWkBUZXYBchdj","OHg","pQiP","AlRQuw2WBbQSmQVjKUo1oVPbOM8QOTJyAbYBnhrGHIIFYyC5GjAjpRedoQFVJ747UBKyZpcNsihKX5YHKjKXDCQsog0tCB0NNj4mAzU+uAFGAUgPQwFRN1oHYgFTA6sBgAdLF3cFJhWjAbgBSQehDswBMiclBK8GUCGzMC0Mqg/DA2QOjRpRHioolAkgBZs0wQJIKzMfJgMrD3tAoxtXHWU","jgve","jgve","/QO/AsoC1A","K9AMVhhpFHoFPgdQA0gBShhCBUEWRAZHCD8FLANANzxASg6ZED0URAVKCUQDXgFTIUEJUANJBEUWPD1AOlASbCFGBT41SwdMCU0CSQtHA1IwUAZOLUcBRVFGIEgFRAJKC1ofRgJGBXcIRwVMGFoyUwN1IUQOxBNIEHUFTAZJDlYRTgVKCE4FTQE+EUQBRgKjCHUGRQE7BrQBdwSrDEkJRAdGB0YCRwxPA0ICR0GnAUsQQwxECEoEPgVuCEoPRANQAkUYQgRMBXADfwNPA0QGQixHDEUDSAquDTYISw1BBUcDSBlKBaYSUgNRBFESRAY8BUkCQwZPAUsKSAyjHUwJfAdYKEIHPxY8AUYFQwFGA0YBPAFICaMDeAJFK0gMSwJpAWcDSAVGDEAJRgN/EK8ERwGXA0MHWQZHBa4GcAt0BZoeUgNHEEgGSwFCLbU5uU7E","BeUDxgFOBrcB0gLtGm0TqAY9AUoDzQ/sDPEPyQTWBzMImgLuAScJRwXJFtwXrgLHDfIGSgIoMsYG6AF/B+gu0he1A08BOQHMPaAEbAHwAZ4K4A71A8QEthf3A7wG9wRxDMAV5ClQBd4B30J1AdMhyTS7HOoMviKcBNoW2QXnB9oK6TT1MK8B8hptAbYKwQffAb4l8yOBF58L1hkvF+0CqBbnC9wM8SBRAbcNOgFHA68E8QS1ApwPQiSvA0YC9ActEbwppwGjB+sT0wHuDGkC7QL1Ae4c5wFFEqUErAHHAnQE7AHoBO0B3w1kAewBexbvBCcRsxjJAaYE2gjdAvEG7xfGAX0jaAKkASkE7ykrEG8P8AhyAvAJ2gjfAowH7gaPAvYcxxdkAZsGXwRXAWsEvAHFA8ACsQFPArQE9AbQCMYEOw20FqkD1idLAesFog9LAYwI5wiWD9kFvCB1Gu0IRg7zCc8BNwFDAfQBnwMmE6Ql4gblEOMjRzVJNL0Uww","xQsk","oQ5f","pgNEAeA35g","5w3q","BZ24AYcWgNQBQhneHsnUAz8spKkDRDe6hwKpGlLNAic","vg9X","sQ/s","sQ8l","rhE3","apQww7MCcfUDZnI8ZkPcAqgij1ipO44IoF1vO6kNT4cBmjyfDHY","gRD5","gRCe","qwnT","7gjS","JH8RdvICzQ","CoYr3xZ2CbnTAmm0AcXnCrw","kgyc","lAWljQxH","xA2z","gwO4+AWY3wGa8wLgsgRJ","xQ6C","xQ6C","wg8y","W8I","7giE","2Ak82QJ7pwN7bcg","xQuAE31Ze5sB4fIBIxrSO+cyxWFDOes","ELEClwdqCqMByAioFYsCyAPSA+UQswWzDyMYswHEAYgBnANCA7MKoRykDGcKzQSwBEQKoFDPBOQGvQulGSwKlxCdEMUEtwPlD2sISEG5Eq8Zyy/WQ0Y8cQWrBksGywmwGFACcSmuDK4BvwKyCacHmAOkE6wG0ARkFTUKNQxdC84JqQq4E5gUcBjTJNYteQfKNE8PegysDd8PkxLoCrMJ3BC+CtcESxA9DOwBuA4tCbgI5QfaDMYYygXkFcsCbw9cDrgJdAGfGa0F4QLlA8oB1A7gH6YQsAHwAjIJOwpJAtkG8gNIDCgFrxisDXoarA+6GtoF4wxhA7AG0g09ASQZrxmuCrwJqwF8CaEOqCPIASAHlSSZAmECpBidAa4DRQKrBMsF4gepAUYR2QpwA5IGmwZgGbwYwxe5BrkFtQaHCbwJYxi1A8wDrg0/B38SigNBAdUG1gZCAZcBcgLFAdgFTQFKBIgD4AXEBV4JSwFHCUMDcgdKAz8ESAc+DEorPw7DBb4EbgK9Cck","tQmo","dl+HC3jyBJ4utw","tAju","tAip","tAhP","tAjK","tAi+","tAia","B6oClRR7BT4BLQWZDrUEjAK3AYACqQSbBn8CdgO2BLcCWgJHDEYGmgJmCM4BswNfBCUBXANDAW8G6QFrAZ8EmgFiAykCbgFbAjMdkQEjC3oHrQMvBKIGbQSxAz4DYARjB6kHnQVzAcgC6BugAugJtQiODLIDnwQ4PncC7AHlCYolxgGnDM0HzgcvQsIHyAHkAsgHRwbIBLwd5gHtBnATewPBBtoLNQjgA7Md4BN5A3cJzQM2DkACOwvGBmMUywcsASEJpCa3GXwFsgs+BtEp7hy3BUgGXwo1GWgHNwGZE6IH0gFkD2gB0A6mA7kWfwM3BLkGpB2VHaIQhwjNBaUChAJNHmMFnQPcATkCogNOD6YHrhIhAScDKAotAp0HWgV9CUQBtAEyEcALoQEoAqcXdwZAFGcXHQHmBrwMzgHbAWIBsQ5xAeMLLxbdC4UGfQN2AikCzgGeAXMB4AFRA4kBqwZ5AccESgFvAYcBsQeiCIsBLgFYAkoExAGmAqoBfAFqES0CfgGzAm0LzgiJCp0Cggc3AeICngU7BKIBqQG+Am0EZBysAkMQgwIsAnUBKAHZEn4MKwEtBXMCnAN6DFwFIwGFBKEGIgFqB7AGfArCDpYIIQXQAbED4gKeDWUPRQFaAlwBeAEkD2sGWgHMAScBLwI7A8oJ4QewBj4W2wtFAn0WMAGDD0AHZQGoCbIRhQRtA6MHrh7NFiYJuAg+AqgYbQY6AnUFpgFJAy8LoAVwF/AKzws8AsUC0BXoCKkPoRupCD4aSQbACUIxwQJG","0wSwHs0ryhHJHL7TAc4trTjAzwbA","vwgpzgF0","xgLq","yAxh","9QHghw+X","9QGy","9QGy","6gGlnAXUB+mxB6Y","hgfUB7g","K6MDhQWcPjwGoyO1Cr0HOw2bApklhvUBXiip3QLMdk5lzCayB6IQKiKjBnBWLgGVMiIQIQOudplqRQuoGqxdpAM/zQGgA80aRyGhCKEbnArFF7wcyRcYOKAeTCPM","sQFqtgRHwQRviAJsbGECuUVfG5oYkKEBNw","8glJ","SFAOHiJ2GJg0pS+eU0KiAXATZrUFfFo+eKCFAXUHRAFMlwKlckxobQ","CGkLMwhFFEANmDVII1U6Mo8CG1tMhAOa3gEuQ+wtKw0eiQJKLsYtphQtCTT3AYYpNiFfvAHP","9Amf","ig/4","ig/j","ig/H","ig/I","ig+R","PKsBwc0PGw","vA7d","ggSTGzBAg5sBby5wUZYnsJECSxmmQcgTmQ1MNKUdrgxeApAGagZiJcsFrA1pAoEFTQdyBpwUghJ1Cq4SKQaVBscLzg2QEMkNkQJvCY4BhAOGCEIBKQFzD5MBnxCqGJRCQQ6+GKYTXwpCBoQELhRzJyYHIgyPCEwrT21Q","yAsl","yAsl","8wtXHCUeR0QoCnN6QSaSI3aFAU8","nQQwQDDBAjTrAnV9KkUxOi0cKReUHUAPOAklDCYBKRAvESidAUIGLBgqLiI","iQq7tQGsDyoFTQ2cFFcSYyKVEZQNkBDFD1QJhQGEHIcBnxCkGJR7XxQuFGI","nAop","nAop","jwwlHkdERQ","jwwlHkdEKA","uAyU","jwwlHkdEKA","4grE","3g+E","pRC8","xAGtfGrpBnHpASmTAS8pUBey1wFv","/gJs","owPu3APimgKu","/wbX","AcMCtAHeAXIBvAGqA88CtALHAo8CtwFNAlYBugHNAasBuwHGA8EByAF4Ac4CTAFPAcwBjgF0AcUCdAKlAsABwQFmAkwCqAHFAdACTASxAawBgAG2AdQBsQGcAp0C3gHAAt0BtgKnAdcBhgHcBHcB1AGrAsoBtgGsAswByAHJAdcB1gGaAd0BywGeAR8BeQHZA9oBMAGnAi0B4gGwAZoCdwHTAbsBzgGfAdcBtAF2AW0BuQEsAdYC0AHMATIG4AHPAs0B3wLvAcQB5QLmArYBKQGdAr4B1wF/AbECwwGxAbkCvAHWAecBvwKnAeYBowFkAkIB3AFAAdwC4wJJAcYBjwFWAbkBngGxASwCpwLOAbMCyAGsAX4CtQHWAooBRgHfAsUBpgKpAsYBPQLUAUIBvwPRAZ0BewEqAW0BpQFxA9oEtQNpAcMBfATFAb8CWAOuAYcCuwHMAZ0JzQFLAaIFRgSBA1oCegbTBKIEbQvGA7EDvwTIAZIB3AGyAZQBxgG0Ac8BJwK4AZMBzgHIAdYCRANCAXEBzAJxAs4E2QHRAicBygLVBMACyAHdAcgBtQKrAZ4ByQHWAaMFswnKAWUCrQFgBIMB5QRRBsIFOgG0AcELsgHFAYgBygGxAaEBngOxAbMBdgHQAd8BtQErBNMB1gKwEMABsAGuAikB2QSnAc0FKwPOAasBqQXVAc8GyQHhB6MCvALXAaIBSgGrAdwCvAXABskBXwGzAdEB0QG0AcQB2gGgENkKwQMqB5YB0gSvBsIB1QHtAcwD4gXNAjAC0QPCAy4IrAiCBLMExwHiAdsB2wiiAygBRgN6Aq4HtAWeAjgD2BuhAagBrwG/AcIBwQGgAaoDNgrGAWYFqwYvAdIBrgGjAdoD4gSiB7YMwASyBuUBwQa8AasD1wKwBM8BpQJkBNgBUQGRBrAT2AGuBIEC2wHiA7UB1wGpArkNYQ27BH0HegSuApUEuwGsAVASyAFXAbwFwARXAtgH2gOIAbkIZgW2ArUC2AHCAbAFmgGzAWYB3wFGAcwBtgGYAs0BxAHBAtIHiwKBAtYIoAO2AbICxAXmAZkC3QSgAbcBtAGzAbABngG6AskCOwRaAsQBhgHIAR4COgG6BtMC1wG9AdEBsQWyArMDzwFQCrMD0Qa3A1EEpgPIAtIHuQG3BC8BzAFjBEAGpgLZAbADygFtA2kFzgHeBEICsQKjAagMrAHUBLsDYgKzAVYB2wlzAc0BvAEoDcQBmAKyAagBUQGzAssC3gFuAdgMtgGGA6wCjQHCA8IEYALGAboBgwHMAigBlQHBAVQBtALJAYkB2gLEBFoBSgFHA6gM4AKKA3cDVQG2Ad8D2wKuAasBUAHVAcsCzwHRAaEBuAHKAr4CvwHeCLMBtQSuAdYGrgE4AcoBzAGwAqsDygRWA7IBKwHQAs4B1APBAbQByQLYArIBvgIoAeMBpwGsAdECsQI4Aa8BlQOxAagBUwPIAycK0QG4AdwBXQm+BboILwOqA+ABywGpA7QBLAFWBIsBiQSwAW8C1QLUAckBYAjOAacBXQG0Ak0GywNpAbQBXQJ/AVYBzAOIAbABpQHOAcgCZgHUA78BugFfAWQBxAGdBHACpALFAcgBtAGyBbQBtQXEAbQDsgLPAp8DtAHVAt0BiwGeAqQBsAHgAXQBJQLbA80BowGbAYYBWgHAAT8BzwHaAbIBvQGuArUC2AKRBMoDpQPSBOABnQGkASYB4QHSAUMBawGzAcUB3AzRAi0BgQNdA7UCoQffAU4HwAG5A7UB4wNjAtACNgKGAnABwwHEAc8DyARYAdsB0QHZA8kBaAGrAX4CswHLASUBrAEsAW4IUAGxAq4DugS6AtAE2AGnAtsBrAGrAWgCQgS9AaMBRwG/AZsB2gHeArIBxALVAccC0QEpAbcCtAEkAqsGtgHMAcoCswHYA9sBzwWxAYoBSgHcAi8BSQHaAbwCdQGUAVsBqgHRAeQCwQSwAVoBvwFvAb4BtQO8Ab8BJAErB7sBsAHgAbgBrQLmBMUF1QFqAW8CnQG7AV0BuwK7AnEBuwGxAcMLlAKaAaIBqwSjAscFtQPJAcsCpgV2AbYBXQK1Ac4BKg6uAZABqgIjAdEB4QPVAcwGVQKlAZMBpgGSAboDwQGNAaoCrgGrAjsB6AKuAb0C1AElAdUCrQPFAcsBrwK6Ab4DyQOfAbUBcwfUAsgEjAFxA70CzQFLBNgDsgHRApUD0wE3B9EC0QNXAdYBogF+AcYBsQGwAYkBzAGAAakBtwO3AdYBlwVDAbIB6QG7Aa4BZAPGAaUBTAK9AUEBsgOtBrwByAE1BEYBMwGQAssBbwO/Aa0BTwG/AbsBuQFOATACyQI7BJIBIgGwApUBtgJ6AYoCuQFRAScBrgHXAXkDcQXkAb4EawGzAYYC3wZeAbwCyQixBL0CsQROA7sBUgGwAtgE1wIbAcIC0ARyAUACXAKtAS4BfgF5AmoBGAJRBMkCnwPgArkCbQFnAW8C2Q6zBZIBhAHBAY8BsAqvArMBNAOwA1ECuQHECs0GxAREAWgCQAbIBHIBwAM8AbkErgS/ClABrh9KAW0EnQQ+CbcBcQG9AUcJtgvjB8UCxBTNAa8IwQHfBboCtgHaAsMGxgHQAcIIRgSsAcUBWQ","GYIanF+WCZ8TwQ0tkgGcBlIJSUyejQGrPpmvAXN8pzKoVjk8SziZOpyBAUITSQEnGapEr7wDSBGcJaIqIE1Z","8QF6jQJWAWw","ogYv","bZM","mAEq","1wFC","uAIz","U6AMMwQ6LdAbojRkfqScBOFGsTqv9wTdDbBIKxK0","+Qac","/wV5","jAHO","/wV5","3QKu","oQHI","1wFC","gw6s","owFqkwWc/AMh5AFOlgExH2o","VmCdApsERbAFpOYBPJUCSXZR","BvZQbB19I8scZzpQDO4BzwVvNFoGPimqRp4hPQxeBMZJLCCcFmQIsgLMEp4QfZwBlAI+a2ZIRxFKggFfC0gMTxSDEr0sZitEDpoPyB2IL0grpA5rM0QGRjS2KZccrDytakQ3oHODGEoHrAxJLUtLoRepa1AcSQ","lgG3","Bkk","2AOM","lgHd8QnU5gJF","lgEm","Bl54OR2fFUAUHgoyZ5s+RAM3UiqGA5cfckc0UmdlnifPEsA/twkdDotqSB6gPik3qg0yBo8EciV3QCEip1hhFCq2AXACJgVpBSIHYDckDkIPLiF2A0BVOg","kA+o","nAea","1gg7gAGW3QV6","zgYnbm2aA0sOpd4GpA","zwKV5Qq/","AjgHPgWNRFQlRwdgEkEZfSirA9kf3gJCWEodryKxNjYMPDRspAF3DE2VAT5GuEWZbKADqFDeHjACiCtBAjwBTCRfF5NEoyieE4kFuSA0Ak8QqQ8wTq0PUQFmGE0R1Q5CHJkLKAHAAy0grRlGC70CM0JrB6IKJSfSSDUcqgsnAplBTRVDCUQNOQe1NdZYrg","CtxN5c8CywH1AfYY+B6bCfbrA8GUAUcN4doCSDmkMneNAkUouA","pgN8","wANQ","wAPqJ+M","wAN5J4s","eqwMQ7YNQg","E28Bpg8tGYACnQJiFkUKvQhrBSMGSgKXBaoEoQGJBqAKKRCPCLMEJQF3AZsBqQU2A6ICPAGrCqQJigJmDXwYYgNzFD4rOx6iAWsfmxBGCEY1RTsgBEVLqBWFC6oJdQxiIaQgiTiXPpxBZSCbKEsJRhxlCDIYaR26EqkOgD86Aa4QaBWnBW4lnAJtCHcMphSsCXEKqBWBFSYWqSunAqspmgSKFJ8CogNHApYCUwFzBzEEtQSAC3kJTgk2A58CcQ+bASQJpQbJC7cNRwFKDyYIdgpsE6wCSg9EBLIDqhSnBpoCtQJ+A6MEoQSmCKoSRQFBB6kGaguxCb0Eqg+FAXIFoQZgAXYBQA6OBWIZTQVPAVICuQUhA5wGowYxHkMBgwamDKUDogNBBHIBmA91A0wKwgxKCKYCowNtBZwFrj50FrEENwekCUwIQxIzDSwHfwecAZgBRwaVAUsfPANIOkIbqgI8DjwQRhtC","A7VDSha7FpUDQwNmAsUMhQOjC5MYRwWfCZkGQhqiHCw/YDCJD7IXkRsmAj0Yox5NJMImkkCwAZ43S4IBnkqqKlkHSwpQN6QBTwOrIkgOOjOUASgnQiSfF6oimBBFBLUGmiq6HlIDdAR3An8gKBa0DTsBkw5EAVEBQwVCGLgirAJHDr8BZw/CAVgcLQKdCMwHqgqoAqwPkgeTAkcEmAmrAXkHrBMnDLUSgQ5ODUMGqg1LF6kGrQt1EJsBXCqiAqIRQAc8A9ISSyalAkUVJgqcEkISqgGuCi4GiSzAKqMQSwmh","Sk4WUAFA8gEnvgYrswImJ60jNY4DKWUkgAFhFjoDYyBEF6goPw","9gHa","9gHT","9gEs","BIABchdzBHsBSAFsLFMRlgkrATABHwssAV8GTwMnAaYIgwaFA7ACaQZDAUEQSwRIAzUCJgTVBC0JiRFAAmkCfwKTDGEOYTRKBF0CLRaxCrEHkAQsAbsDwxUuBEUX3AWCCTwFNwGQAWUEKw3TBugGdAZ1B5oLYgZ1CL4IMBaTC8sH2wd1Cy8ETg2jCLQCxAFwA6UJrRijCsoOswnABnQDXQF8DoICqgzoBp0ggBGlASoJzgexFrYTnwIvCIwIpRPBAqQHJwltDKMKTQisFmYCXw6+EGMJpRGXBooO2RCeAtYHaAzUKDkGgxFdBEgNtguDCMAIugl/AXYJVB3NBawQLwlNB7QHUQbQDSIFYwKyAnYDLQIrB4YCsgR0EaQFKwKBAjwDxRNFCtgFXQGTAn8EPwiOFW8ILAo7EKcCMAeiGS4IYAKuElsGnQlHBE8FTwFCATgCkxaABUkGJwGfBKUJUgQtASQBMAJ+BMsOzwMoAykBSQc2Bzccvhg4A7wFowIoF+IO3gKnBigINAmgByQHkAMiGKMCnxGUCVoDowJxBsACLwJBASoBLQJ/AaEBvARWA7UGJwIjASgFJgUgAaUFNAORAXQCWgKEBjkCqwIlCy8FMRRjBMoBbQYxBn0HpwU1BGwEMQVICz4FNAKDAjMBggoqBnEGjwFwAkkJ0wJyCCkZxQGaCYYhkgxCAU0BTAl3C28ReAguCE0BlQ5KBK0RpAJAGkEkRhA+CD8X0gGuAT8HRAtIA/geTg","/gfU","+BHq","+BHB","kQp9","5gOy","2gNsZlzJBrVOcFqg","Ajg","lAFtAqAFQooEnnwmBDT4AqZ/a60BZwQqCixIo3YyJiOjATSxASw","CpsxuxCdQG01uhK6BdQ40Ga1AqcSm0J6MPdrw1uHoAHIAaQB5zkvTdIS8AHMODEL4JMBqgpBEPYxmXQzGLtYVxF2ITVGpWxRBrIq9GluBygBfVjJvQHVAewJaw","+wPc","+wMg","tAj4","tAjZ","tAgx","7Am0","7Anf","+wM5","mQSo/gff","lwpYoQTr","7AnZ","uA7d","+wfk","S50","vwj22gbYC6I","pA9z","mQ/SC3s","mQ94","vwjg","S+IuzTe3X8MyKCCdUqwklES3Tu6pAnKiATwYwFvlKYoJhg/MdOtHoW3INJ+2AsVfwn/sUOoQ9hxM","sAG3","kAzI","6QTh","2Q/C+wFM","kgdy","zAjA","3Arn","6QTd","6Amq8AbD","jwLQ3Qfs","0AleGKq7AZShAZ+UBOY","qBHgENA","qBHIEN8","uBHw","0Ale0wFC1wPF","6gK6iQPi8wXI","fmrHAdwKlaoL9g","9gnZyQIvqAHb","5w2J","5w1c","xgGl","jgvo","d/k","d7w","fc87uZoDsVKa4AHglQJwN5FKQgLT4QF4hgKqGEK7Abg","kw46","nAp+","nArR","nAop","8wlC","gQXz","gQXE","tg57","Br+QAfArLwtCXpwRJzuXlQHGJJAbszO0NGYYsx4qHLBgq0OzM5Zlx4UB0QFYSnEDLQEzIqt/KyeSBI0CsA6dGXVHNXJPLJAMRGb3AfYB1gydc5pXhmZGP7Ai0w","lgHU","gwT2","gw6i","gwTb","gwSX","fMTlAWsCdMECZK4H7p4CSHtP","C0UEmgKsBOIBOgOCAaYDagPRAZ4CLQ/NB70E0gXHAcEBewGHEY8Gww3bBOoJmQGiBG8MoQKNAoABdwPTASgF4QRxASoBlgRZBt0BkgFRBZUDzgViD3wBagG2AsABkgLABnADaALPBJQCcBufEXAKhS+FAZkCtROlB7YCugvAMYcCoQVbBWkCmQJoFXQHowd4DGwEpA9FFm0kaRpwBi4W0hQ0AlUMggJqHrcByQKhAaMGegmvAd8NiRNjH3YHYiS5AoEXYQ12Fr4IwgKjBV8EJAFLBskEwwytFHcGuQpIDZkIkQW8B8gC1weVAjcE8wTuBXsC3wFkAngUSgEwDKIfej3ABG8IyRBkArMGmgHOCtoDtwXPBH0N1wKLAswBMAFNCK8PMwPlBVUFMgPBAygBwwRqBnwB5wwtAXQHOA+DBEoB2QfNAkgCggGJAa0Oqg3HAXcTzQy4B8cQpA2aC8MD5gJmBD8BdATEB9MCkQaFA3cBSALCETICxQLXA9UIJQIiAbsJdQFzAW8DmASNAt4EJw+6AXwQywOKAXUIXwfPBn0DhAKCBHECVQR8CCgFmAQiAy8DNAGFA4QJkxONApEBxAh4B6IF2QG3AaICdxm3ArUBhgKpAWECpAPYAaUBuwiqATEHlQy1C3oOjA1jAdIHYQm4C9QNdwOXBboBsQO2ASYFvANlAcADlwUhAkMB2QFHAYICewKlASYBJALBAbMB3gG8AiwCpwOFAY4HzAuLAZwSqgKBA4QBKQqHAk8BlgF+BJMBgAGZAbgCMAQ5BG0BbAK4BXwBoQGuAjMBggF2D7EBnwikD5cBIwZ7H3cYnhElBGcBxgRqBZQCewKwBbgB0QInBaUIuwV4FTQ","mQqh","iAuP","iAuP","1guMugGE","6Ap2","HXujAd0B3CuxfOAhtJIB5yOuHYRMuDSzfW4m2QafXLMBHi62JtI1s1U0CkR4jiaBAUkkygdKEEUzmhidA6VOe2DlygFMDKFCQyaVYtvLAek","jgGFiQiwf0OpBEYGRQ7Q8wFG","DUcDUTKzGLYsmicuE6lNsDOaBa0vPz6dAZgNRRTgQpIB6iijH64WnBSoC+YJYQybA/cBqwGzAvUC9QSJG78g2wHCGbGOAZ42oBSYEbYT0WVIGkcSRwTvAfAe+gnjBEcu2gLmA6wCek3oDZob3Ti5AfMHkRdIA38FSxOsKusBRAWgApcEvAU2AWoMQxSrBqYBxgLUCOsuJASuEzweoAGzTZEi9BeJApwJKgNMG0sRpwotQY4KoQSiFUkYvQVaE0YDZBWhFKQZ5gxGTsMf7Qm0Jr8H5wXl","jQzP","xgHtIPGZCreLBBs","JrQ","lxJI","A6YC1gJCB1wFsgfaA3oDPQPgBJsBqQIwBIcBqQV7AjgDVAFrArUB6gKVBj0BQhCuCc0BxAIpBisEZAa9AYcBlwFMBYEBLAKcAtwGsgHtAa8FwwgzEcEF0AkmATcBKQjhBiYDgAXPBkcHPgEqAa0TNQlzBN0FzAJLGaIbMgiSEKwEOAyEB98BtwWACaoZ4gnuBjoJQhwvB0gQQgNDCMwEJwE4BHoQIAfMG5sG0xJQAagHSw3TBlMHQQjbAzYRMwirAnUWkATMCX4CugGyA40Jfw/MAUcF6AI4KsgCQwY2A50HrieRHk0X5w+lBjgQORvFBKYDJAI1AcsJMhMpA6UDvgJ/AdEDOwcoBC8BNwOnATECnwFICTIEogR1EGkDLS6YCWwCZgF3BWcBJg+KCCwEvgTNB6YE5A2lA04PdQ9rAzYPbgYrBL0MMwEqDkUEKASxAYkDvQJkDOoD3AmoDSsBKwOzBC0FNQ3CBoUkggiMAT4NiwEdCYULxAHQAd4EhQRyA/ICtwImAb0GsQjUAi4DKwowC7IIRgSwAbwCMgFDA4oDJQHKAdoF1QE4AksDSgFEAakBwwjACWwGRwMxAacDqBKDB74GgAd9BtEDLwSoAV0GgAFnAlAFmAqVBCwBRxWpBz8I0gIlAbkF1AQoAZ8CRwZQC2cGUgNBCecFtgHUDFkCKhTNBjIL3QK4C4oDPAS/ATsLpAzNAUgLWAIgAycDwAtfBW8FjQEhBDUBigKhEC8B9QJKCacHfwGlEVYEawRnDsMNsAWWAuIImwIpCDIChw4pFiQERwx0HGAKegq8FmQEIwViAicCKANQAy8BWQVXAzEHISHPL9EBUAfwBs5J0A","PNMBog","ygsi","bC0","N3fZCGK1Bo9KyQ","kAli/wac","U1xE7tIJbw","M3ZJbxejDGMIYhBkfIAGZiN1Apk8a5wBcyxzDGCvAWZWpg19aoIDdEdoDI0WeUxzEHcidSttC3lLKAFvEn/9AWgUJh9+P2worheQIqcKaBJzIIQTnAF7CJ0","T6sBvg","8wHM","Qkq2BW/mAam8A6alApIuRSZaDWcQWgFiB0IGLAQuK6kXIgp0NVpt6A","uA5CVjeiAWM","T7sBvaAGog","T2kBug","mAGhDWUVPRufEitILTVpREkmpBmpQJ42nBBkEpojNwEyWC2hAS8kmgJmBaUcOj6GJVEYLEc0uQFJHDAMoA4vDjEqkAYsIDECMjcmBJ8xMigqBqcdjgKTEJgEijUlDWU7piqOHzkISQMyFKQeIwk9NJ47mgY7","nAqR","kAHTtweV3gJ38wG3S8jrAdsrt0Xk","/w0n","4w1f","4w2u","wQy9ygLCAbw","kAHV","4w15","kAHT","0AHp9waVH9e/AvKXAdQB2wGEWutqLZEBeDvvK9VFxQ","vhCg","vgfhGtoB5wG+2QHFAfLUB/E","zg+F","2Qeo2wGq1AfD","2AeV","vgejGpWwCcg","tAnj1Adu","2QpYlgKFmALzpAF9GKw","hw9G","zg+7K6A","ugGzOW0","ugHZxwz2","gQ6W","QYssQg61DqEnQFt3AXcBdwF3J9Qh1k0/MqGZAeWWAbQr3gSpoQGGtwHNUMMoXR3i9gHjGXGFAeoLrULBKjyoAdfJAsE","hAa0","tA3T","1gK+hQep","7gSk","tQLU","8wFt","ugFg","ugHI","ugGz","5gja","5giy","5gi/","kw8i","kw8i","5gix","5ght","rAR3hAUt","4xG8","4xHh","1AIt","1AIt","xg+u","sAkt","lwellAJmiQJmowKT","+xFh","6w41","zA9e","qwmS","qwlm","Hkx6KjompAE3JjwHK4QBrJgBL7ACpXIzsQEzkQEmjgFZfEkdOKMBn6YBJA","+g45","rAOK","3QMb","iA82","FCi3B/HgAWbaBVw","elXJC4w","eoDJC8g","2AE+","HSqmDIw","3w8q","elXACYI","wg8c","/QlT","3w9I","hgtI","jwuj","hgtw","mAWK","FCg","nQpt","wAVyggkugAEcdys","IHA","pQdtugPxAd8B2yYp","7A5r","hANp","wg8c","lQ4j","qwlmBS0","+hBEA7k","+hBE","2AE+","zAEs","ej/BAVD3Bio","+g45","vAea","7QQo","2Q8g","5wyc","AfA","1QpC","ej8","RaL6DiQ","vxAy","owNa","tAVApQog","6whNLE0","vw8k","HSqGA4XMBDuqAVTkA5G6AZs","kwmj","6RCt","oAwr","/QyR","7wc7","mQlU","mgYzpQkkVCQ","hg8w","+g45","oQu3","oAwr","jAqNzgOLA3w","sgkq","7wfgcpU","yAxh","vw6D","twEs","AH8dKhKWEKojKR0nF+kQhhzdKjfTAjA0M7IBb3i4DOEXI3fEoAFoCGreAbcEjzOr7wFXlgE1LZY","kAuU","HVE","7Qs0","7Qs0","+wMg","lgFC","mgZ9","nQz3rwNe","zA9e","7Qs0","2Qo1","tAmNvwSy","D4RjlQVEGrARpyaULH42WAThDT8BZCbyAytDSRG+ENgCWhx0YHQJsw2zAZpx1lo/FrYGrRSeCdYLqI4BmyfNSUgUQgp9DLQDzwO0HIcQphu9DdILRAeUIYEKbQeVBtMe3BQoIbgSeDMuC3EWUQmWEuwnzkAsFd4TKwJVJGpYmQlpM6cVgY0BnyooHVUEIQIzKEAW2x10EbMBRgvRTkc","BIABcgeMCEseTQW+BDsUUAE1Bo8GuwKiAWILHy9xCYQHQj1pDuEwlweBCmAGWxh3NKIQkx55GaROZBXhBXMOcByeBnkBmyWYBU8I5iOzA6NvyyRFG6gTfSJMJrE0PxxyEY4Vfl2OIqUKRwqdMUYGzwFLAZsTpgh2OHMxlgiTEEcOkBmkAnECbhehE8wehAybBIIBdgSQA6AJRQKgGKMRng3EHHwZxQiUBaoKQS9hBzoGygdcBdAxRUduAkgGPgioCaUuXQOcN8cTbiKmFmNZ2kJGOK4","wgFL","9AF+","1wra","4gLp","jQzP","uQq9","lQF8qAez","vQiQ","AOgjTxZjDHIptg+cBukB7Q5wAaMIrRFHFJMByg09EWMJ6gbBR2AB1gvUBWsNdz5BBskPJgvjA0MB0QNWCLkCNgekFWAJdC/hAckDzAVdIscI3ALRAUoMhy7IELAWygXrCs4GaQ7qFp48a0tmFocRlyfYGCoPQhfXNUgBORNhG+4K0wW7A60GvQ+/AvQSpgVLA0YF31P6AfUaowuZEZIiJQ52JEoBSQGxAfQOYBOXBIYDkgLeAYMCrgTLArAQgwX2CEwupQFrDkgMtgH1DOMksFGOBz0J9AOsAecifgncBnsN6gbJCcItSAzlCa8B8wHJEXIDiAeWA94FKwRrArgPzgSmA7AGcwSoJFMERwr3J7EQkB7gD0cCsQTAA4YG3wq1JOEDvhfOBM0R4iLoAkojjSTjAz8NRxS9","hQvLSHD3Atg","sQWa","zQvL","ug6y","shFG","sQWR","hQnT","zQtw","wAN57wcy","lRBq","ngyr","ngxS","9wms","/xBn","yQTN","9wnV","7A5r","+g13AXcBjqAEzAHL","/QFiR2IKYgRi","/QFiR2IKYgRi","lgFCrQGbWk2qAURsqW+eyAFJJmYox/AB0ocBYG56MlDZAtAomQ","7weakgGuGrs","oQNUB0ncAUPUBCJBoURPZ2O5A0gZTA","qA/Q","uAjH","qArS","5wFhFGAWhZACLAFFAS0lcf4DKDlnAq4naChelgEsM4mDAaQypBamAWjZAaYDcckBGw","wQRw8AKXiAQyhgI3Jzw","hAUq9gk5","Qm4","7goo0QOE","pgg5","pgg5","kgGh","nQE2O4iDA8E","IW4","hg68","ITU","cSo","lBDr","lBDt","lBBB","AXAxlyvML3kNuAPWoALcKWefAtQBvLABWFtcmQHPXbFiScABnAd2ugJMSoxlVAFQ4AG0K+s","vAOa","jAF5","nAHW","nQE2","GYKbBDr1AZ6PAz5atMcFcQ","9Q2n","jAu4","cSo","BUEKtxJuAk8CRwNDB6kBQAfTBH4HngrLC78SSASiEYINmgPCCEEFMwfWA2UGkwG3CK0DoQNgCTwBPAqfBCYKmAOjFywWXQyoFNsIzAI4CygFzgcxAzEMSAM5A9EIbjOuCCsCniBBF2ANYBCuAsoCyilIDj4lSwYtNs0JqiBAATAHWB9pAXIbnUChK58Fpg0/E5cJnwJXCUgKpQ8jCkYEqwR6AZ4LrgSYFzgT3hWHBKYFTxnKDiACPgTQAbsC0wEsJUwRnQZHDJMBcAeiBLAYpgmcB0cVoQQrAkkD1w4pCKMSsAseAaMJ1BiZCEMEUQOmBKcHpQvPE0oFRAVhDrAHrQe1AtQG1QXVBKUCnwKiDa0ETyFHBMMCgQfLB6UBog4qCqQLSxtHDEISTQI2A0gKmwebBaoWhQqjGEkMrQZPOKsUog+pAUQgngK3DmAO1QSwA6UBoxpMBKEBMBGlAbEEXBCrJDwPKjKsBSkCdgFyEKYIqyI0yQGf","sQFqwQR2qAiZlwJ9","VZ47KAvcuAF3xAxyvQEp","mwGt","mwGt","mwGt","cbU","2AGI","JVQW00HoD0IBYg3xEbjvAdUjaSBxCalH1o0BXkvuY3CBAUbBAUMCJA5dAWMGQkWzNsUt9DpGjQFZImiMAfKMAdkKWjtmBUkVOEyqBNUB0zvcpQE/","BZwFYAxUJqIEYh6QJ2QSfiM9GUcEKxxiPJlra1N0SYAro98CmiFjigFNPzknnQN1BihSbXWWQqdCm3eNdWQBjBpGTXcPph7fZKhL0gFL","7Qs0","sAyu","G34","4BFJ","5w3d","pg/f","kQsz","kgE3","WMw","hQFKD00ph7oBRS1JV0AjwAG9PpygAeMgnJkByu4BfJ4BKkCHB0MsLwFfAjFUahRAHagonrUBKRArMTMCMVcpaE1g3EOw","EKKOBKABpQ","QEybAUC0A9OFAcejA7BSRpIB64cBSQ61H4sfpGpGH/U5R2JuHYkVa8sBtw","mwvr","9w2R","9w3t","9w2R","9w3D","rw+J","zwSj","O4I","sgGYxwGr0QUp7wJzNH5TUJQCMw","oAeT","lwGk","igo+","2Qv3","+g45","vQv4","vQt2","sgFsmAcpowN+U1CUAjM","+QKr","vQtT","uQtz","QkA","QkA","kQmB","9gjl","2Qo1xQHW5AHRavI","+wwt","Wmw","0wEl","lBBB","sw9j","gQmJ","2Qo1","BWwCdQNSA0ICtwNLCWEHPgNpA9ECNAE+AkEKTBbQBYYEbAiyBG4GnAFIAR8CLQF8AicCXAFcATUCLAEsAS0DJQFvATABowKmAa0FLQEpASYCJwNaA6oDoQGpAXoCJgGfAdoCoQcsAi4BNAEtBJ4CUgGsAWQBdANqASMBJgE/ASkCuANUAy0CdwFYAYECJgFbAy8BuwTTBToCWwGNASoB2QErAasBKgGiASgEZAcrAXMFWwGdBkcCpwGCBFcEWgKAB6UKNBg6A6cHngE8AVQENgSCAykBfAIxDa4BOAKDAS0CRgH5AywEYQMxBLgOLgm8BF8JWAJnAbIBNw1rAmEFNwE4AX4DJgGlAagBMAIvAagOZgRtCqIFKwE8CS8QqQGhAjsRIAEvBy0QrwphCoIFewiWApkCLQcwAp0TewOjBDICMAS0Ab8GlAUoA54BNAJVDJcCpANDHMoCNwFwASEBLAE0A8QKhAzNAbkBlwFSAT8QeRXfBeEB3wGzA6YGaQGlApMKyhe3AaQCnwO8AzQE9A0xDbMLlwSJBuEBjQHJEsQBvwEwBa4ENQLzGi0CMgEqAV0FLwGlAa4HvAI1Cn4BPwPZCtMBUwIhAoMCzwGfAdcCsQSrAjsCKgE3BJ0EzQFaAooBHwJCAcIBqQEuASoFywIyAT0BbQE7CqwBMAotAncBlAXoAcoEZw+PBS8BxAGWBcUCyge9AsQF2AVWBXABqgKnASkMNwUsA2IDMwEvBGUFTQHLAUgBWhAzAb4C8wU+AaIKWQJABC4CLwEuAbsBIwOcA74DXAExAdICOQJcAZ4CLwKlAioFqQExDccCMwGPAioCkAMzAr0FnwEnAcoBLAG/AcABugIoAbIDvQItASIBYAa3A8gB1wKlAbkG0AE4ASMBsgGZAhwKgwI9ArMELQEzAaACMAHJAR4CggGpATwBKQE8AYcEIgEtAd8D0AJnA6UDJwQrBF0C3wE1BD8PZwjCAT4HtgFyBSoBHQPaATsBuQJ9AT0CKAt7AWIEagHJAyUDaQJGAUIBJgElArgCogGRAjMBKQGuAS8BNwSVAYIBqwGwAdABnwLnATkBMQEmA6sBsgO5Br0CwwesASEByQJeAVcBpgEpATIBJwFcASYBWgG/AUQBJQJ6AmEBSAFgAbABOAEuAaMCJAErASYBLAFkAZkGMAQnBS4BLALdAroCMQFCAZMBowG4ATIBuQFMAU0MQgEyAWYBXAGdA9cEvQF+A90DLQEsBn0BdgHDAp4BgAExAy8CuAQmAl8BigE2AWoBoAKeBbgBNAGZAiID3QGzAngBZAG5AS8BtgF8Aa8GYQpdB0oBZgLTAVoBrgFIAt4FKwHIAYUBKQHYAbYCIQEsAl8BKAMpA7QLKgNzA2wHMgF3AZUBtwG5AbQBsgGhAh8BLQFaAbEBaAE0CD8BagErATIDKgEjASQIIwIiAZ8DzwPNAb8GMgHOCVoBugEoAXEHPQQtAjMBYQGyBc0BJwTSBCUBpAJiBS4CJwEgASoBqAEqC0UCWQOoAiMBKAFAAykBJgYfAn0BawElAeIBgwNkAjsCJwF8ATUBIQIwASACPAEkAXgBOgI0BIsBnwJqAS8BjQFJAYEEPgEyC4YBrAE1ATMFZQHDA0oBYgMtAVsBWgOqAZ0BZAFPAacBLgXCBDUBogFiAakBQgKtAZoBMQG4ATABngIwAZ8BpwFTBTcBLgF6AWMBawHYAzQBMgGuASwBeQEwASkJhgI1BIEBMwEmA28BRAIxASkCswE3AiYDYAIjAYUDMgFUAT4BUALBAaUBiAEkAs0BaQEnAp4B6QR/A3sEhAKEASoDIAe8AmoMYwZoAyQBJAlTAZwEXAGMAX0BJQHjASkBYgEpAd0BLAEnAisDWwJ/AsECIwNjAp8BNwFwBK0BJgHDAqEGKwNvAaMBJwFUAzABIQGnAdwB2wzTAnYBYAE1Za1gyQec","oAu0","wQ3PA80","jwGk","gQnz","8ASe","KjQ","yAG7","vQKC","tQix","aE0doAuY3QJG","kgGyKUg","xASm","kwH7","kwHB","kwGE","7A7e","7A5r","7A7j","ngzW5AHM","gg5d","5xDF","mw/6","mw+o","mw9y","mw9B","9w30","nQr3","nQrK","nQpt","nwzx","nwye","vgvw","vgtX","WuQ","T5MB39ED9QHQAo4C8soC2twBwJwBzPAG3WTnAvkC6QHhAeoC3AHwBvE","rQiPpgHkHsBA6gH5AtUB6osDuQ","0wnkHrhA2gHxAtUB6osDuQ","rQiPxAFOQeE","sgrN","DjkPKjBrAVMHfiUlNHQJftQHvzs/JmbdASXjAlo","hQFk7wKu","8wEp","D34","fE/NDM4","MdnpAkyKAmU","qwhA9gJ6+wSk","Y9MV5/gO1Hx0","eKw","8A/U","gwqZ","U8Q","U58","oQFDPW66A7QcSfkJYVxwKH1+SQ","VbE","hAfVpAJ/","qAl/","yQ2t","G34RdtMF2e8BbZUDkg","4QLOgAScxQFTigFJuwNKCUJWTTU5D6c9wjVLArHCAUg","/AOy","kQjK","3QM4ogo5","1AlL","mgWaa5M","wQWX","8QnU","7Ao9","H5IGtgR3EphRygJZC2oESgVbCEsESALbBmpVpi6rAj9ewQ1ENo1QxAevZ6kfyoYCSynfwQFDYkdiS4ABSUJx0AE5GEpVnQe1DUsFKC7PNZMwiwGFO0YV0rsBxA","6Aff","AMwdainKStAJcQ1bEOwRzdMDzfQCcw","mgV9","AEIBUAF4A0ECdQWzFW4DoQRIE4IFTAJAB38HUg9GCEMBPgFKBj8GQwFGAUQHMwk+CE8ERwFAA58BoQHJBkEBwQGhAp4EQAVHBFARUQFLAjwCVQg9AZQCqwNdCX4LnBJ/Brk2OAU/BpkMSgSIAqIHSAJIA6IGRAVKCj8CPxZHDZADsQdlA0QDPhTBAbYCRQKRCz0HYAk4CjwBRgJIBDoeQQVRG5QVTALUGkUKiwSsAj4BPBiHHz4BuRu0AmcDbSymGMkIpQ+mAqYkpRNUGUokSCiiCUYGQwRIDqcEQhWEC64DSgiuGKQL1g2UB6cGbwUgB7sBIQGGGXYPUw7HGZUCQwVJBE4DTQjACacJnQZjBmMBPAJCAk0BRQJQBz0GSQGrCEQHRgibAzwBYgNNAY4BPQdCAUIIRQZyDIgCSAI/AsgNPAVFFrQBpQdHFIsHoBNAD0gIaQZbFa4BSgJPAksGRgd7AkkTUQXQDYYIixI2C0gGSQ5FCqUaxgxHBEUMTgRhAokRRAGnF0oCSwuOHUwNPAhHBZUGsgJECEEBtQFAAT4GYAWbBGsDXAFlDmcCQwU8AUYDpgJDAUYBmAE9A0gESAFGAnQBiwJHE2kDTwGoAUIBfhJrA0YQnQVHAW0iUQmKA0cHRQQ7AUAEugU4ArAGPAG1BdYJwAleCVEMsAItEEcBvASYA0IENxFKEDkGoQNFAUYLcgMpBqGAAUkeSA","4gyI","kgHj","kgGK","kgF5","V1RUoOIHww","A5ENsDVYLpIdeAFuAjcBigJfBU4RqAtACZEoKTKqEHwJZgLMGs0rzx3qENQBuAV8B5oF7wHrBtkKehSbCT8EcRhrPp4wRwKOIFsJrBCQA38TsyWpOpYmzQ6SVXYISwzdC/APxQHmKn0NZgXcA+pL4QNHAtwESwJJF7sWyQEjDLcCyw1NENMozBTFA3kDdAnIJSY9iQuLJ0cHfAFdAWAiRChLArQMcQesBEcN0guZUMQmKCNyNpoIuDlGCcgqfQJIDiYHowFtCUMU2T/zF84jXQdHKdAGwgb2EZUH5wh1J1AB0h2JL84P7wlOCPMWWAHI","lwPe","qgmFtwbg","lwNjsgTs","hwJ6uQKGngWhZOEL+nW+mwHv1wHkDa9qwwHD","tA7g","Nay5B64","EakCqPgOpA","2AGrFDcJJDieYMGeBKVPiyigN00HsZABK0N3X5gRdIwBNnDGVst03h0+TLL/AbgkSA","qAM95wfyugT4","yQ/J","jwuj","yQ9t","jwu/","kwHOzAE52QGp4gSZvQWsmQM8","kwG7","kwGW","FHoJak0fywfNrwLJugXf","nhAu","nhDS","8wEpogRj","jAm7AcMBxwHH","6QK/oA7wAdsB+gK1AbI","F80dgRLBN8IRhAJBBqsCQhS+FKEgdWGZBXE17RKtGFYDbDabFbwkyQhdFOQOc4YCzFW7zwHCA+wtJATmUE4muwjfR7MsPhqfHkgzlgFUF+cSSSN7MuEBUQp+FbdmQAFwMKQNdlpMJ9+tAUsD1gj1","wQRz","7xDW","ckgBShNDBUIZRwGfCUgJQwRIGUAFSwJnDT0uPhlNK0gESCJEvwFJAkwyQwxLAkcfS1tFH08IQgNHR0cBTSZQAkgISwpIKE4USAFCUDwuS0NOMUICMgJFL0YbTRNINEcNOwJEaEcORgFGAVEBRwFINUgEQwJJGUkaTAFPC1EDRQVSFEcKRAxFFEZnQgtDBkYCSAJHB0gfOh9KBkkBSwWmEUYFSw08CTwCQxVHAUAIRwM8CUFDTQRIB0QEQg","+Q+e","6hDR","0gKJ","tA6I","A3YCnQSuA00CngXNAXsBjgZKBbMCngNyAowBigVpArgCUATAAX8KrAGOB80BtgZ4AXIHjAwfA6wCcQKsA9IEaASzAnAGJgKMAaYCqxTVDJsEowVfAXcBvgeOAWAFUQGkCMoDRA1nAcsDWwKqAYMBaAt0AWwPewylAagEegG1AqsDrwRyBWYZfwaWAXMCcgGhAWkFwAKHAnsDaweMB2cCfgtKD8gDeQGTDLgCSgLhB5wNnQqzAXICkgEmDK0LlALJA3kEzAFqAo8OpgY4A8EHdgKoE7kdqAHMAcMCzAGvAbEBaAijBHcHfQNzB78DpQReA30WlQOeAn8LxQFfArQOsgOfA9YBsAbWBUMDfAiSA7IDnwRaEZoDagarA5EBnAONB6saihGnA7EBrSF4CMEBpgOZBswCchJ/BJQHfASJBJ4CtQ89A+AEqQGlBGAEcAnFAqkOywZZB4kDcAG+AcgDTgTKCT8GgQ2pB7ICgQbQBDsDQwReBIgKiwZpAX4FkwQxCFEBhQFrB7sDnwzTApwGpAHFA7cCfwh/CycDbgapAosBuAKBBcMLSwJaBG8MhBmYA6cGxwF1A80FzwGpAk4BfQJ1A7sBbQGHArICqgNmAZ4EqwJ+BXUBlhDfAYYH0AavAbQDyQLEAWMBaweXA6oBdQmDCnoBkwVXB8sGngGwA4EClwFvA88BegnPAYkEowS3A3QGrQKBAY0BgQGCEtABqAhFAasJuAGGA5ABSAShBp8U0QTVAY0B0wK2AcIDiwOsA4gBhwSUAboBlgKTBY8BkAWFBYYBjwGHApECkAGWCDoDgQaABIUBawKdBZQFtQJ9AZYD3gFMCJsDqgi5AXcDjQSlAbAC0wLVAXUCwwGwA6gBYwF/AX4C3QV/CeACwgFqBZ8BcAKsAbACrwXMBZ8CewPDC40BdAPHAWQC4APLBXEWbgGeDKoCiAGfA3sCegvNBrsBrQqNC3gDkwmqBpsBdAqMAYsC7AGuAb8Dhg+tA3YIrA5DBzoDkQFyA7cFIAHGAqIJygJCA5UCOgKAAVgDogGuAcUCqgbZAaACawSzAm4DhATbAZICewZ8Ao8Idw6bA3YBfQF7AcQBzgY4AnQFgQiFBYQIhQFiBDkCiAM5AsgBkQF9B4ABeAWnBsoBqQqhAp0B2QGhAjgEmAF+ClkEtAGdA64GUBOjA7sEowi+CbEGjg6UCpMCcwRdEnsHzgFnBIEJsw3PB4AG1ReYBNEFvgHmC5YGwgbFB9IC0QXSAkINxATgB7EDTga/AkkFvwHJDdUD1ALKP9oDzg","X0YsbagBShNC3QG0sAFPrwPAElYbtDGeDlwCKxOGMCstSVifKaYRUQs7BFIVdwipiwOEqQEzcMs","qwGg","6QK/oA7aBLUBsg","iRHo","ixHj","ihHb","6QK/oA65AbQBsQGuAd0B4A","iRFHBNA","ixFI","ihFG","N1Z6TxM8qwRFkAOTAfOVA0UnoAJBCklARPECQjFL","PnBWkxFFBiUpn4UBapkDdsUDZSZ9LoGjAkrSAok","XaMTkTKnCW3OBKWHASs/yBCjQVywAUIdkiB8MkRdf9cBT11PRM12op4BLAEnJCRpQw","6QFx","6Aql","DlwpVhFgBlMGWg86KTuqAfEFPztkIulHSzvRRuZ3i4kDRiVHZz17SEgyCTECvFhIIfEkY0B2VkMkiC5GAp4HrX1mAeoo2g3qEuwO7APzAqcG9GvjIuhBsA","tgJr","nhDw","xg/N","mgSmmQ3V","jRDs","tgJr","9BGw","tgKX","mAPkyAHkd4uuA0fiAUhTvFhIIe/eAYi0AWY24CDlC/Nr4w","tgLs","e7UO6RJ3EVyZAbuFAdo5vA7rfrQp8RztTcwBnjzmnAFIcZ4DQylwMMgyToMBtQOWEUMgKiFzYdazAVEX5IgBRxRMcTUJlg5IAscIS4UBzAL3AkYC+AHgKDY","sgTt","sgRe","1AXA","3gah","kQS/","tRHF","kQRx","sgzW","A8ABlwmBAdcBrgOLAigEcQO4AioHugaAAYsIiwO1AngIwAGOBUIIgQKcBrwBoQepBIgGnAGrA6ACjgFDAqcBqQN6AVoCggLYAb8BowFcAaMCMgaNAZwCsQKLAXkBOgFZArkEbgF0AZkBpAJ7AUgBgwGtBMEEvgKlA5kBsAYqA6wBmgFgAm4BVwGBAi0BkAGhAYICfgM8BGcFuwJoCIYBhgE+A2gNewSfCYwSiAezCJEZfwREAYoFNgFgAT8BqwGABKAFlxNjAqsDhgPDCaQJpARTBYIEdgukAp8LyAE7A9UBmQWJA5IBfAGoAZ4BeQKgE5YCpAcwAWMFgAqDA4sDUQGeAbYHJwF2AZUCiQOLAVEOogbLAZsO3QScEpEFzAfFAXgNngLDBIsIXQhlBmoCKwF5AYsBWgtpAUYTtgGKHooBKwGTA1oBmg0yAYAFOQmRBJ0LZwedD4oBrxCnA8omXgGVA8EEOx5oCtAHqQFYAXQTpSlZBZ4BmgGJBL4GhgJcCMIBggKuDL8Bqw5uA4YBigSABagCrgNtAXgBiAGfAbQFQAKFAYsBjwGYCzAKgBiFCXgBOQGJDVIDsAlQBTIBcAQpAoAGlwRbBMAEtQhtAV8EngGnAqgUlAGNDZcBPwKPAYsDrQKiAS4IpQI6AYIEgAJmBHEDKgWZAUcCnAuCA9MBtwF/BZwBMgdoArkCLwGhA7wCsgOzAWEHrQaDAdQHmwIoAXEMfQHAAcYIJgaEAXoOeAGSA08Dax6HA4gCrgNIBJ8HogLNAp8DdQF2AaQFKAspAaELkQG3A5gIVQSVBKwBuAI3BZ0CJgzGBZYCxQV5AzQBjAGBAYECOATQAo4BlwKdAr8DiQG/AS8BrAGZBpkIsAKbBjwCrwZsAnUBywE7DqsNdgNrAZECjwaaAisFhQRIA8YDNgjSBMQCZQFsAUYBtwKLAbQBZAJKAVsCpQaLBowCswmFAawBegN4CbECXQGBBnsGeAifCaQBLQenBMMFuwGNC8MCgwG2AyoCJAErDYUBmQg4AiIJnAIoAY8LegSyBocEqQUlAtoFgQEvAXgCkQGYAXQCyQnFAqAClgGVAiMFPAG5CJ0CmALCA2QCtQOEAYQCfQGRAsMBewIlAokBtgOPAXEBegQ6AisOMwR9AaYKHgY8AnABawGKA2YEQwGhBXUErQEoAcwBqAIwAngBkQGoAXwCZQXBArkBmAKrAjQCpwGFAYECjgN/BpQBuAGWAqECnQJTA5IBjwV5AZABuQK4ArcCWQG0A18BrgOMAZoBygElAYoCSgKeAtIGcAGDAsAGiwMgBl4ChgFPCtQEJwaODMcCugM5AX0DkAF6AbEBcwGhAZ0CpgGjAtECZgJ3BHsFJwSACisDYwJEAaYDcAWlAZkBoAGUAa8GogGyAikBOwE1D3UFPBo7BJYE0gHQHl8BRAHIAVsLXAhEB2QBsg7QCtQE1wLMAfABZATTDLQPSQfS","lQt0","5whfU5wLgg","6AZ71weZ","wQ2FAZk","Ncw","PLjtBqZGtcQGmA","lwHnzgit","lwHK","/AhU","A+UBgAFBAV4FRQHUArME5wGoBXEBogJKAmoCSwloA6UDXAe+CMQJQgLQAccFgRU3AeYDbARPBNYDpwG5AnQFQAYyApQBSgGeAboBwAEmAicBSgJ3Ba4FWAFsCrcChQ0qCnADuAVLBS8IcQMmBpELfAUpAuYDhwLqBCkCpQrkA9cZrAmnETIDTAHgAcgBmwJLDN8CpgRgCi0FLgR0AaQCzwGcBMYJLhOkB9kDYARPDjgCQgGJCZYErwFzAnMDlwNfAWwByAl1A48DogFJAk0DqQWDA+gCcQNLBdUFsQE7BqoFrwjpBcwKzgiqA3IEygi0BKcMNAF4E0QK3QjIB2QTMwJyEGQCqQjNCmgBNQbWAjcCfQrOBakHoANoBa0IzgJLAX0DSARNAaMFoBUhA1AGNgV9Aa0BpwmtFWYCKwFgAbABLwN5BLcBPAXMC8sTSwGXA9EBfAeqAXECSgF9A9IJ0xCFAaQHoAJHEyoBiQd9ApMFbQJrDKkCqAVjBiMFZgFRATcBRgVwCTwCOwJxBekElgw7BHEChgSEATAB9AE/BmYDUQJtEIoBuQI+CHAGmwGxBacExAG6D7oFRAa4AeMXVgGyBM4BgQNDC4gCTwJ2ATMFfQKbDZwB0RB+A7gC4QOnB8sDrAGeDYENSwOXAyEFLwEoAWsGqASHBUgPvgdXCoYHJgKwAqwBPAORAcwLogpDBT0CMwKgBL4KPAovBJoDdQoqBaUC3QHqAT0EhgKbBHYCRwEpB6UBhAbgAqgB3AY+CL4BMQOCAZ8HbhVzAp8HJwE4AesB7QKwAtwIfgIvA0QB2wgwB+4CoQEsBloBJgFsCKwDVAE7FJUBSANjCX0PRwHIA98HOwimHyoPKAF2A88B0wGmAnUBegXuBWEBowNNAo4BKg1pAscCtQp1CTEBKwGmCWYCOgiyBOoBsAVTC2UDWAmeBqISXwKRCJwBTgJHCNEGXAFpAWkByglECpQCUQEnBNACWgRHBzUBqwtzDjMCfgxrAvQDUAXaAVUDUASnBCYCiwqoA10LpwOvATAEpQTDAqEJUwJJCtkCiQqJBispUwPIAr0DjgF1DBsBZgVyATEEZAV6BdIDKAU2AiICoQeACksHUQ9gA5cBqBOGGTkBRhhJC0MFOxI+ATkHaQqIB8EHTAPOGMEVwwG1EEYFsQ","/AzF","jQN0","4woq","+wfP","OeoB8J8KWA","B/ATxgXlDtAJYQ18C8kFywOcBE4OTQHXCUgB0wW0F24BSAmmDo4FUA6kAkEEJwShAkYGigOoAaUDqQesBaQQeQmxFqoFtAM+B3EBbQ6wA0IGQAOeA4QGPwJ8IaUHaQHrAY0B7wVEBGAljgPzAdwc2AGBEEkgsg+lAcorkg6RDoELxgidBEsESQNKFqIopgGfHGMCnARYD8oPsw5FFpYBfh80GNMNiC2PDaojqwRyCdwOTgieBp4DRQO7AZUEtQWkAUIBkwXzDVwFSASzB5UDkQWxC6cC9Bs8EnsDxwF1DUsKogVHFd8JoxVxBKkIyQmVCa4TlgasBJwD0gZ9AaQGqQKeBkgHdAlKB10KPARNBbEEvQOmB6wnuw+aDn8LzwaoEEMDIQdKFMMBSAKpE0MDwQNKAXgCrwiaC40GSQZYCkcBaAaoAY8PpATwBKERqwJzBqMBnBuoA5wfeAdICEIDKAJRD64CmAurCrkGVStdBrEBbBC4BKQTpQPEBmkZkAEfAp4CrwWsFlQGcwGyEJwRnBxHAb0EpAWmBJwfJQKmDMoDRQJHARwIjgi8A64EhAxeDp8KkBKIEp8DNgfbA30Y1wGUCGACbRhLBUEE0gu0M0YdsAmwAUkkZQmxCe4","oA6Q","oQxN","xghR","iQ+Y","pwec","5wfB","TlM","mQiw","kBLu","nwOk","pxA2","pwue","vw9j","TqI","5we5","vw9j","pwue","vAOa","7QJh","7ALSAt1Otw","mQjT","1wlM","pwdQ/gHF","vw9j","nwPC","nQlW","FnVZpA","FnU","zAa3","AYICdgSSAcsHrgQzAa8CdQa6DoAHhwQ2DUAPogSRCKMGUwuLAVAC1wehBMEZoAFYA6oBXwJoAY8EigGbAYUCOwJiBKMDiALXA6kDXANIBC0FzBB7DVsJnBi8C7YFsQFyIr8EtAJyAXkFPAy1CXgFpgHEAqsBkRTKC5sCpQHKDs4FwwfTArAgYARnD4UEqQW4BcwByAFAAcEF1gHLA6EYtAWqBuYfrQKiB5ABeB7sAcQNngnhAcMDdAE8AnQHrAKNC3YWmAdsBCwUahmULm8pujA4BPIK3Q3ABMsBUgGkBkoU0wGsAVkKkyvGBHABOxzBAT0BQQncC6wO4wlQDokDqwfcA7cDlg6/BYIMogNNMWsJpweZB7ADxQWqJaACwQTMAagGfwKiA3UMfxGiAqwHsQWVCIMQ4gUeB74IlgEzBtYB5gGrDakG7AIoBsABqwyhBJ4BnAFGHq4CiwM3A4gBmQKECnoBjwG4HJ4IkwouBJkBjAe8BoED1QuiBo8Z7AVrCKQDcA/OCsMBuA2GEaoHKgSdDbMKRwN4Cq4EwUzRFmESsge8CJ8JciF4Bq0EaBKqFX4CmQayAVUB8gFDC50HkQFGAaYLuQzMB4oHJgFrAaUEVANoAjYCgAiLDEcF8gFxDnoGXihIBL0EswGuFMMCRAOyC7UHvASZCL8aPAjHArEgxRHlCkkMSD60GskFQgtWATY","sAEqpAEt1QNpNIeRAUH+Ap4pmTwuFdU","kAja","3Qao","ugxv","nQGA","6QTJ","/Qky","b1A","8w7i","CJELM2mbHaoDaAabAYUNxQN/D8xOsQFyKHIBaRG1MZsRrAzTQ8wJy0WtAncHQFF2TpRXgEt2BqQGKxZZCpNNPTqJbKcRxQWqJ14FqDGxHeIFHjSrDKEkrgKLBogNegGPAWVOoj7KGIZArrcBrSt+CuATkQJ8F8wHihBoDIsR7kGoBHYBchS8ELVoz1S0","uQVq","FnVHoxuCKYoKXwOIpgFnCZFxhQ+NCzBMeDlk8AHbmgGx2QGKC38wlUipGpwqhDCTDpkBjAeVQKQcfAFvJSoRsw14DsGDAVgJclRuBrIBVUhFGnFwvASZCK8","D66cAV+JB08lTYcBdQx/aSg8N0yVBoEtr+8BaXVDpAEsAScZsg","qwKNvQFGhgdDHSlSTF1HCUeDAkE0Qg","5w1Q","ADAEgAJJBIsCjAKzAXIBpgNzASgMmwqPA0sCxwLgAnYCaAtiEpkEbAxGAR8GwAGUAkUBIwKpBXwBlwPBAj8CbwEmAXQHLQImCGMDoAU8BDMCWAaVBrUDWgEuAsQBKgFqAmsJagdlAR4CpgEvBW4HlwEyBSoGYwKKA30CKwErASkEpAk/BScNywPUA68EawVMDNkJVAFWAZ4CLQYyBWgDSwjNBnECZAaiApEBdASsAnUCdgNSA38BKwVuBJsPdxJdAWAFcwR1AWsDPQdCAc4CeAGoAYMCcBMtA50FdQFIBaICeApsBVwBrgNQCKMEqwEwDmcWzgT3AckC8xKdCHADKQKNA2UChgIwAS8DogGzA3QIKwK4BiUBXAauBHMKpwJgA9IOTw/uBNwKxwM4AjsEpQF3BfMBuAG6AqoC9QFXB40BpAVlAZECYAQ4BXcCiQRBAYIBYwGYAaMEcA5pB5AD5QeHAXIClAJ9DV8ZpgJLAVEDaQRqD4oHTgQ+Bm4BWQJ9Bp4DOANkDF8EJAFyAU4DywKDBI4E7xifAkgBKgPGA3wJlgWtB2IDkAdpASgDfwJJA1oBzQNGBpwBlwI4ASoFbQQvAzgBHwGABC4IVAIvBM4CWgZQCGYCYwNMBOAN8wJ/Bb8GaAhSBkABMQKSAUEBpQhQBlsBZgNGA4YLJQZLBKMCkQFqAWcFtAFLAkkFkQFcA5UBQwp/BGMBngltAUkDvgTSCm0COgVxAV0BJAObATABTQHJAk8CuAIrA2MLxwK9AVEBoQEqAnUBzwGgAsEBPAOOAiEBYwNFAbMCkgFGAS4GdQdxA2cBKwiGATYB4AEjASgDHAGjBKUD6QOqBHABXQFQAS0CJgFjAVEGPAOBAbYDgQFNAckEbwmdArEDxwOYCGoKYwWXAi8F5gY5AYcFKgEdAlIBpQJcAkUF0AG+B1wBRAEwA1oB5AhvAUYCJgFWApQCrQIqCr4I0QFFAyoBmQGsAZEIvQKHA7kFXwFcAaMBTQExAjIBaQImBSUCUAMwAYsBOAKOAS8BJAErAVsBtQJJA+0BOwIwDDwHrwF8BIwIOwGmAycBxwFNAc4B1AGqBuQEhgF1BLYC5gGDA3oBNgSyBTMEVQPEAe4BNwJsAZcEWAE7AWoDIgEmAUECdAHcAXQBZAElBKwCRgZiAWgBxxB3A2gGcQFdAnQDNwV1AXQCfwFHA04BaQFRAX8CdQJ2DIoF9AFyAXYCTwJ+BLwCegFWDEsFlwgjBEwC2QHDAd8B7AErBa4BMhQ9BF8GrgIhBloGywZuAWAELQwoAz8DTwOxBKEI+AExAVUBpQGcBDIBqgUhAWABiQEgASwBJgOqAzsDNQGrATQBhwFmAToBKgNTAzIHvQGkATMCSAEyB0EDRQFKAawDTgM8AjUCWwF+AoQElwarAasBLgMoApMCMAEiAkgCNgFtBcoEUwNLBCwBMwKWEJ4CsAHoAZ0BjwUuBagBKwG5Am4ChwGEAYUBIwIzAqUBQQEkA6IBXAJbAXkHewFBIGsDogFOAnQBngZpAWgBPgIbA5QCYAJ9AaMBSAIrAr8HLgtJAicBJwFvBpkBpgHJBI4EsgJsBCEK9wXKA3oaPAjRELoGTALXBaAW1QjzB50HPQ5KEswPrBZEAeAc1g","0g6u","NTaSCbj7BRw","6wjF","ow7y","qg5D","kgbZ","jQKv","lgTymQjJgwXz","uBFD","rwjh","T+UB7CtBuQFL8AFiXbeCAt2lAz8BTl22NKYRSa4C9Z8ByakBzBeC","UHI","8QTP","kwom","9wZV","wQzS","vQ+5","qwXP","ywJx","hQnK","hQnK","ow7v","aauiB9ItpQ8mswHZ0QFQZOhm9A","nAXHD9sCugKqAuqEBLg","qwWW","ogLZ","qget","ngyw5AHu","AcUDmQZQCagLTgZNB6MRpAFoA0wOqwJyBWUEqAFbCM8IiQOiBKQBfgGZA0YEfAFtAzMCSQamAT4CRQfLBqsBrAROBEECLAG1AW0BogNAAskCkwGmAkgGPwFGAqEDPQGjBaEBUQuIBcQBRAKLAUUEoQFIAZMLSAFMBbEBTAWrAZ4CQgVtB98GmgnNAUoFfRjzBzsDnAHQAZ8BygJLEEoMPwRIAqIC0AREDpsBPwGlAWUKlgRpCEcKvgtQAj8CtgKeAj4HnxdBAXYGTwmmAZ8PsQGmAp8DnwGsDXoC1gHMBEcRpgqbBt4ERwXTB0ABUQI+B4QCowFOAUwGwAhmDEsCRQHEAkIBowe7AqIEPANLApkMmgJHIL8BoQPOC4YPRwS4A0UNawmTC0cLsgaXAUkMygJ9FkoCmAI+AXMERQNuFYcUXxpHAbMBnylIBUQBnQqdAloIkQNBC0sBmgJJAkMBOQKlAt0FvAWeA6wGtQJsATwEnwFCAjIESQRBAbMXQQPUB8EWUwFEDEIBqQNrB74BwQGbBUICoQJMAaYCvwaMDKwDogfIA0gFSBVzAUkBTAyjBEcCnAZGBpUBZgOiAUoBzgNHCqAPRwOYCpwBzQGWAaIDoQKgAaICUgXFAbgHPQPIBN8GpAG1AUQEtAOtA9AEmgJHAjwBYgNNBFgCRwMoDj8EyAtpA0QfSQWNA9kHSQHNAkcORAGXBMgIoAFECFMBnwG1Aa8BSgaJAbkBmQFRAYYJRQGhArsBhgPRCGQCxAJQAUcDrAG4ApsDkQJHAVEERwHJAUoBrwKkAakDngGkAUwByAOWD60HRwGgAUYBuQGhAZ8BigGoDKABRwSdC6gLTwJDA0kFqwafAsYJswFrAcUCIgKaAUYCRgNIAaYBsQGwAaobnQFKAnMFxAGcBUUBbgFJAb4DRQNHAZoFchGFA58BsAGbAS0BUQLEAmEDRg+xBEYBSQ5VAYMHSBqWA1gPRAWJBJoBdgJIArQLpwO1AjoESgmpBEABPwJJA0MBPANIApsEPQU+AVEBSAFGBLoBRwJEA0ESvhGFAsICRQyeAXUBnQOaAbUByAFMBbwDRwE9BKgCnQKxBEsBSwPBDHUBUQarAq8CcwurAlcEtQHDAZ8DRwFAAUcERwU3CHQFwAtxIUUF3gGsA7QBmAFLC4oDdAKhAZsCRQGhAUICQQROAkMJXQarAkgIPQqoA9AKRge3BKQYSg5QDUcTShFCEEwXRhZJDOA","5gcy","ToE","bZR2bKkBl9gBnt0CS/4EtYoFRw","S5oLMwQ+F2gYaCDmBKcCnwTkFKUXzAHwCGEgcCh0CmYKpw44CGobJCtKAqkFJrsBLQc1jwLBRaYYLlTAL3EBcQFxAdEBcUKOM20GlhArK548RRCfGtoPoCKsMcUJ4W2sH2QBrh98a7YeaRbMAqYB1wGCB4RMIg8iOrURvyJEC0UcRC0pBHQf4QFw","qQEs","pgmniQaC","QNU","QLs","QCs","5QbGAcU","pwOeQKmoB4adA0YZoqcBgwxdHy4","+w3zAdTmASC6Ap8","+w2fAc2gBJ8","e1wCnAJvCD4rPi2GUHQ1lxA5TEgOpNgBNKwBX1WdFW0IpBtaDy9YcDtlkAFtWp0eagemKqYPZw5wGJsBJiykDagIoAeTDS8gnghqMWoQMgOdA6oisRB5HSoYJg90ZG02awheEYABhCIkEiUFfixi","ALIBwgFUA2gBtAFCAUABVAKuArICSwK8Am8CVgxDAjoIQAFnAoUCdAF7BKwBZgFaAk4DbAFjA6wDcwJ3AUoDVgSUBI4Fygm3A38HpQUnGZEFOgd7AU0CXwGfAawDQgjDA0QFNwTEBDYCQgM8AUYCZQVAAVQBQQFeAV0PRwKrAakNnQSdBnYJewS7CF0FcApRHkIGQARDB3wC6QROBIoGUgOwA1QImQFXA9sBTwKSAnAPlxWiEnsFSgREAWkCuwJwF3IFSAdRClUVRg9YBZ4CRxpGAXoJngFRB5AGWQE7BskLPAhLAYEDeQSCAX0FrgrFCrECmQ1jBIoIbhHDATQCigVIBL4HnBKkAXADsQ02A0oRvAFPBkoBTgmXAScCbgJ8GKwIswiLEcERTgOICKMaRgKTKFkGVgZMA5YLiwKfAc0BXgixBYwBTgIpBEYBsAPTBbIEcgGOASgBxgOGBacCpwJaFUoLogJNCLAInhEtBWQHXguSCJsCqQGsCXYF4gPkDsgEdAZpAXYCYgFlBbMESwG3AWUBqgRODlADTQhyAcwEUAGVBUkBlgGeAk4BqAN+AnIBkgOEAcsMegSmAU0CLAScDigBUgO9Ak0BIgbQAVgBUQVZAXQGXgG5AWsSjQHCA8wBSQFnAlYBngGNAlcCUQFHAVABfwZABG8EnQdSAYEDpQReD1QDYgWcBMoC0AVPCksBpQNJBU0CcwZHAUYFWAddAaABggFRBGEDfAE+A0UKwAVGAUgCsgW5ArgJdwaqAlMBNARUAZ4BpgRQA6kBRgJFAkQBUAFNAlcBUQNrBHEDTgGjAtcCzwFwA+kBWAYxAUIBTgExCFoKagNRAl8FQwSGAZgDSwFxBU4BrQR1BJkEqAHMAT8BxgWuA1UEkwRQAU0BRAFKBk0BeQi0B6ADgQq3ArMBaAdFAW4BTQGEBUICeQR6AbIDQgFeAmEGegFKA2ABeQKnA8YETQFQA6kFVQFUAUMBnQGjAXUKTQZ6B3oBqwRMAoUKUwFcCXEDVw6aAaoDowFGBm4MWwNAAUABQwFKAXMGagFrBlABaARVCnsCzwFRAUcBqwVaAaMDJwNSBK8BSgGdAnQBbgJVBMcB1ANXAVIOngKmAUwBMgFKAUcHjwOXA6UBWwGGAUwDawFQAU8BSApWAmwGpgSGBIQC0ANtAUkEPANMAnwBRwJnBFAFfwFCEYgIgATQAVkCcgJiAsoBtAJGAncLqAXRAV8DSQ3TCEsKdAlTAUAGfQRMAVkBVgF+AXkNpgNJAa4CTwFOA3ADSwlLAksBtAM7A00BegXlAcIFrwE/AqAX0DutM70JxARJAko","6AvkZp0","wgLp","/wG1Z5A","qww/a5sNsw","pQKl1QVInQGmsQKxvQF8","HM0","HH4","FrcMch4rJHkIoAU8KUEJRRE/EbYwQkRlCpsBkRCkEGonRhZQJ7szQExEED8EpCV+KUwQaglSGsETIVWbDkIuP0JJEEgobitGGoMnR2NECEgiQiNDEj8RPwFETD4HwAFCA4IGhAREFm0CZxWsDtgBQixHAUg40wGSAaYuKxJDFzwKRiKFFKYoRgRAFMQCchBJQUUISDUqFYQLpARHH3E/dh9GO8UnPBxQL9E","lwuE","1gvD","jQvA","5AJq","pQ8q","lQ7E","/gxDV6Y","vAzTAZIBpg","1guz","xQG2","3AXB","pQY0","uAhs5gG0AbABsQGz4QHl6QKi","ggyg","A5ECSAK9Aa4Rggc9CJ4JUhNBAm4HZQVUBB4DshNqAUIFbAg/BmoYuQIqD6YCJQOpA2oBWQuYBiYOOgKNATIClBdMDZkhkgqeBDoMmwytEJwJLAl6AZc4pjngCFwBfB1NG1lBJQKwKyolTAVdA4kuwQRzBdgG0CWpI3UbrwlxEcoxRBg0AkIGewFqAj8FKQFmAVECmQagAUYDoA1zDj0HWgYwK0cCTA1oE58DKRxtCCgjlAmtDkYDJANHBcUdbQaBAiICoQE7AygBlAJEHEICrAqDDTUBHgKSA28CrQTDAtQTrgEzAdMUqQWEAygSgALDGSUEoAOtAYAIiQEqCkcFwgEmA9AChRjDBWoEgAMxAbgKLAFkB6IKWAJUBzEgrwGYAmsJjQJnESAIuAHNBJoBwgG+BIoDXAylEC4CJQJ/DFcERQa0AYMC3gNaDEQGPAU/BigPnQrHAj0ENwZKAd0C3wSFCMsBiQJ6CboVQQElAroHJwHWBmMBaQU0BNEJQgh3BroElAEhBn0BmAFaA5wFIQa0A7QBKwLYAzIPxBK7AykBvgX2ATcILQEoEC4EzAdlC8sGrAbNBpMClQTdBX0KuAGABM0EmgN7A5QCtRq7AlsCtwIuDRsFngTtBKUPkgHfBnwLrAowA5ABwAxtAikWRQHTAr4BQQJEC0IDRQ1ICVABQxWbEEQCQAJeAmME4AFCBEcBqQFFA0oDZBDTAj8CRgZCAdQLQxJGC20DSAJtAZsHWAGs","9Q69","sg59","KDRSP1mNJ37CBSgjH0gtgQEobjUDigNvbSYBJQkqMiQEdQQqC2SbASEEKEQjCisHIlVWFj4FIQkqKilKlQkcCrgBIj0bugHB","tgZh","1QPF","pQbDAdg","pga7","pgak","vQ+j","xQ6v","jxHH","ApkBzgHQBHoHNgOUBYsIXAGKBrUCggK3AbkEsgRJAXsImgSTBcADhwGfCFkF2AGNB3IBwgOjAaUGxgG0AkwBmwJWAqoBcQGvAXwBugFxAagBdgI/Am8BnAGnAawBuAXbAZABzwRtATICuQKYAa4BoQFHAY0BjwGLAdYBKgFxApYCqQJ2BaUBkQG2AbMCvQGsAZMCggGpAswEpAKlAZIBgQFIAZkCrwG5A2cBVAI8BH8HvQGUAp8BgAGcAUABQAKSAWECbQFYBDABoAOdBHQBuATCAbsGcwOiBFsFzAG5Aa8G0wfbAXEBoAaZDloFvgauBNUBtAG6A9wBZgG/AZICuwKsAo4CUgNxB3wDeAGIA2sGLALJAW0BuwF5C0oJvwEkAsoBxQWSBKoDRgFpAWwBpAV+AaMBxQuUAbsDeQFNAsgCxQGgAkIBwgKdAXEDphNtAnQCtgWbASoFPQHRArACqQW4B8kB1wK1BasCcAKVA3ABgw2gAX0HxxDUB3ADZAMqB4IBkgR7B3ABsgGAAZECjwfLAZcBiwalCEUCzwavBLUCxwKFAXsBrwE2BdMFhAG4BDQCsAzFAtADoQl0A20MYQN9AYoBrQGIAdgCngRZA5AHxgF+Ac4BoAO0Bq4E0gOHC8YBggGFFCoL1wa9AdUCyx/BBUsDXQSnA4ABPAycBMkBpAHNB3YExQfOBLgGrgGNAbADRRByAXUFywacB6QDvhB5Ar4BkAG3BW4BxQJgBs8CtQKUCbICagbNApkCxwHBAU0CpAKDA74BrAGNAbkExAGjAbYB1wJFAUkDRwG/A0YBrQJ3ATwCoQFdAdcBgAGyBbwCfgGRAcEB0gVcBsUBnAdWAnoCxAHVBYwBTQOCAZ8CrgGmB5gEngG6AcoETwGvAcIM3gFnA74JsgFkBK4CJgKfASkMlwEeAVUBoQFRBMIBUwLEAbYEyAVbAYgBXAGMBlwHxwF8AoYBwQGcAXcBUwF9ArkBiQGvDMUBawGhAr4DQwKKAUYFcwGzAZYB1QG8AqACxgKtBLwDoQHXBMgPggJEA6MDmwJ8A3UCaAFjATICsQE7AXEDTgHYBGsBvQc9AZABVgGXBLYCKgR8AmIBfwMcCHECrQJHAr8BvwSOAbcDNQEeAcgBoQFCAX0BSAG+BpgBTQSEAdcDwAOdA70B1wGnBIYCwAiwCKgDkQVeA7kBUQPBA6EB1wNJA4sEgAGlAU0EygFsAWAGqALMAacBbAG+BIAEoAPMAnYBqwFqAVUGvQKIAZcBuAG+A8QBmQJBAdsBtAR6AcYBgAMqAqwCdQGZA8UDagKbAZACXwLAAbECfQKMAUYBjgLAAScBOAG2AbsBiwHHAqECwQGQASoBjAEeAVwBbgGUAW0BJAFzAW8BcAEkAWcE0AWbAakCWATABMUCaQHDAbABMQG2AaQBuwHKAckERwPIAokEfQGjAcYI0QFFBJgCLQGRBF0DtAJDAbUC1QNxAqYBQgGcAiYCnwE/AVkBqwFnApEBVQGyBJ0BpwNNAUQCRALPAb0DLAFHAUkNzArJAZIChwGlAkoGcQGcASUBxwLXAasDnwOZAiYCxQKjA5kKYAGkAqIBnwHJBbYBgAFjAb4B0AHCAZ8BQwQtAbsBwwHKATQI2AGrAacByQOyAoUIRQKeA08BnAGKA78FiwGpAasCnQjRAZ8LsAGxAnACUAKlAaMDsgejAbIBfQKSAZwFLwJBAVwBuAJ/AXYJWAJYA1IDsgGkA3wBQgW9BSUBfgR/AdABRgKJAXIBZAGCAYoBowHLAdUBSgG/AYUBpgKcA8kBowGNApMBzgKtAYsEmAEyCTMCxwEyAU8BtwRKAlMEdAMtAW0ClQKeAbUBZAE1AXYFxAGBAX4DxwFpAUkBuAJCAbUBSAHbAWsBqQG3ATsBagHCAcUBhAGaAaQDhgKdAUIBygSrAXIBkgGJAcEBrwEpCDIBoQFZAc8EdAGyAXAC0gGcAUQClQGrApQBQwGvBMQGyQO8AoABYgGhAaUCVAGUAScCWwbFA7ADhAaaB3cD0QylBS4DegHNBWkEdwFmAowCvgPUA2QBsAJNAUwCtAFZAa8DqgOxASMCdQFEAnoBoQFtAU8DxgGvAZUL0gG5AUsEcQGdAWcBdQEuCZcDcgGcAUUCoAOpArASuBU5AjsBsglBB64MtAPVBKMGswmuA0QCiQE+CqYIxgGkD6kBxgTFB50H0QivC0QDSQG6A74OmwRG","9wKl","9gKJAX0","hwiZ","1AIt","kAGYNDxI6GebH/O/BdwC9MYCQDdLc6M1w3uyULpwR7kC9w","EqNrXQlrC+8CoyGkDaAcPjdpIjgEaBqkOagetByKGNJWmAyqBmwZyQFmYOcyN2WnP8soSyFSKWl1UQV9ArsajQSjDUkIySooH00QqwRYN+oYuQ1PHyoYSBDAGd8ZoC/VGr0/wSfXB30NSAVGSvArpA63H5sGNgTUAasB7AKSG6AJMBDNBaiQAXI3twG+CtYcR0ZJLz8Jww","/A3s","kgPq","7BHW","7BHW","0Qjc","zQuz","zQuK","zQtw","vQ+Q","AOcGXginC7gKTwG6BLIBkQEwA0sDtQFQAosFeAadE7EFHgGMA2wFtgTsBaQGuwOkAUgBSgdGA0IBYAKICUkDsgJZAXkEoQNfBI4F1gJ2Ap4CLQLiAkICXwpCAkMCrgJzAa8CxALpAsgBPAm7C2kJdQLkAeMBegKpArwEzAlDCtMIRgbeCLEQngaBDacBZgKhBFQCYgWnB3wGegOeB20EsgM5ApUGmQdEASQCiRG1BZcNOwHGA6EIqgG0AXgBcQE+AqwBwRSDDc0I3QJoAUcGzwGACDwDbxFeBHoEbxhsDIIN7QGrCbQanQqkA34Chga+BEsMdQe3AYwV+APlBKUEbBmoE6cDzBRyClAHSQV6B9oE3w0rA3YBTwWkAj4IhAZ6BbYHqwPeBJ4WjBu3CtABjgK4A68UvQGGAcoQWghHCMcNcQJGA9YDTgGHAXYBsgGeBIUIzQGcAacMpw6hDZEH7AzZBroGuQ5/AeICawmdBUIBcAV8AYEKmAKrBpETyQdDCHAEowzSBIsFfQFDCS4DegWsBJoGwRA+BtYGSAN1AkIGvQGgAUYCqgTKDrwEyAfQAsYLPgG1B6gBpAkpAocFmAyZA70FSAK3AeQUmAHqA6gCwQKaA7IJiwFQAYkDpQV2A3gTJQa3B6QChwGYArQGcwmLBEUGtwrfAlABIQGGBJwIUAOiAsICMAVIAbIJURBJB1ABogGoBMcGSAWCAXUEyAeVBuwBwAKLA08DrAWbAp0GQwbFBrkBtALKAqYBewFtBGQJzQFCLZoDQwJ/A4kO0wlJAmED2BS3BVEPjgHYAeIBTQp4AUECRRSjAmEInQaWA7UBaQGIAoMBdAOPCJ8CSQOFB4ABpwqmBJEDIQWkAbkCIAI8AoQJRwSwAXcCuwFEAcsKhQIqBNYMlQFbAUUEnQiXB0kBigN0AUgDSAScB0MEMgtRCjUKRAbHAzAD3wFXCpgCJAR6A2wEcwKBAW8BwARvD8ELUAOMBkcLggq+ArkBngG2BZQEbRo5BkABIQF0Ab4BRgVxCkgKSw5ACUkB7g5NAzwBRwRMCaMBmQNjAkYIQgZqATsMrgFDAZ0CrQG2BKACpAg/AkcFPgHjAkwBTBBGA0oCRAvMCGwLwgtJAk4CSARoAtYCSgFQ","ogHUILXeBcqyAZcCtVC0ngOhHqe/Ap8","0giXArU","wgaekAF58gRk","AG4LVwvACXAIXBQ7AcUCcCXqAsZRpRa7BUcNqBVHFC8wfwa2HNIDdxtgFUcYSQV5WFMzu0S+CJYa9wy5WdQG5AF6A9/AAb8NhRSCK9QCaSZlnAGTB0KJAU1UdgmvswKtHrs0TuwCPwNEFEoISQO9","mgVe","uwar","AN8","GnIbdhmrSEIleQGWejiDA7yFAdDHCFYgRG9B","UVkSHxm5BJY3QCBCaEY4n9ABLiawvwJ6UXoR8gyrf6xyXi2dNlQjx1xTpAGYTmFK6StaLk8GpyugAU0Lxe4BckI8","jgjW","/Qd6lAWYnARJQjw","mgir","d3A","mQF7","mQF7","sAGgCGjlAjCVATZ3gLYDLiMwpQIz1wHo","wQWH","uQVA3AirvwKg","0Ax6AvQ","AEIwwRZKI0oEQkc/AmodvGx1vAFABc0zdjpy4QFEck05SHJIqwRNBEmMAWszrCFxK0I","AJYERgK8A6MBnALHAzYCywRWAX8BawFVAnYDrQEtAt4EPAKbAVkBeQJsArUBbgPKAs0BPgFWAVkBOAM+ApwCRAFwAUwCZgFAAYcChwGGAlABQAOjAqUBlAFXAWUBewGgAx4BnAeYAZQDfAEfAsADTQGfBKICnwJ4AY0ELAEtAm0BdgPOAWYJfwKDArkBsQG2AYMBRgHQApIBcAFVAocBjQFxAc8BYAEzAoQCLgHBAUMBpwF1AmABzgEfAokB1wElA0gBrAFpATUCQgIpAe4BjwIsAloBfAGNAX0B0QGcAS8BbQGpBOUFogJTA5oBnwSNAWEBZAN+AXELKwFHQU8KZgFLAkUFJwIvBEUCnQNOCsQEewKBBswCmwa7AW8RrQGECUoEZhbAAToGqAKcAd4BcgEmAzACzwFuEi0JMAFeD1ABngV6ApYIOAFQAqcRXQiXED0UNQFmBD8HggFjC64BcQGCA48DTghiDGsEKwF7AjYGVwVPASkFMwwrAjgepgKIAUsBVAE6AXIBfgN/Cp4BqgxQEVgCNgR6ECoBNQZjASEKiR6jA1QIrwdUJScLOBQ1H2YBXwZkAp4CxwZKAZgHJAJQAtkLNAGcEjcDoAVGAcYBtwFYATcERQRPAZ4DsgOFAV8BLgEqBZQCuQE9AYwBuwqEDi0eRxKvCncGJgTIAYEW1Ak3FEsUYQeSBcAGPAeeFsoDXRBmCIsIng50GMYMSAmtCE4RQCBVFFMNMAhKDMgEKQKmAVoSmRMhCFQMMAEeAUQTdhI4AeIBUxtHITUPSB0qAacDzixbB5sJtAEoEosTSzMeBTcFQxPBBkMKeAKyBUYPWAaeBCoFpAxMA6INQxQ5BVcHWwGLAVgTURJCD4UCrAQcCD8DgAwgHKsIqBcpAy4E5wSwDJsGYAjrBIAIVBBRBrABvQa3CsQNvifhRr0cvwK1Br0CvhjH","AEIwwRZKI0oEQkc/AmodvGx1vAFABc0zdjpy4QFEck05SHJIqwRNBEmMAWszrCFxK0I","gg85","pQLh0A7S","1AIt","wQLqE4g","wQIo","wQIo","wQKH","jgFZgwFyUdF1PvsCiQ","vRAk","wAHl","wAH1","OVQNSkGpDO8ESxXuEa8D9GTNAWYD2B1jAUJI+gH5AfsB8gLmAegB0gL7Ae0yoxSbFZIDsAV3COkO+QX3AfkDcALGSKwhkAzKAfkC1gL6ILorrCmxRUhK1UVEAvUaSB7OC/YO0G5GQvQB6wHzLK8BqSH8A8EBvyGKDt0N9QG6AsYH0gTfEFMBQwpJD/cB9QPrAfkBnAHgAdkC9wH3At0B9AFPGY4z7wL1AfgH+QtRAfkM53n4CKcI+gRJNvQRcAH3AfUkIDhPcEAS5xS+JuwETQFMPvgJ9gGBAewB7xLdAtEBwxiqIu8FZU/yAosD8QXhAfIB4gHvCfIB7w","rgtd","rgtd","hwx+","sQrP","igaxzQrm","kQSz","lgTB4QzR","4Qm1AuWYBNAB1qAEwQHt","mANR","kwE38AKu7gbblQfu","kwG3kwvj","rgu3","rgvVBdMB3Q","kAOV","7g++","lwSewAzx","jgOx","rgu3","4QWs","kQWx","rguP","rgu3","sQro","wAEn","+Ao7pAJDRzwdQRM6Aj8zdS1K","ADAIQgVCATkGKAQzCj4CPAFjA2gFaQJAAUAHkAl0LEIDeg0wDW4EOgU3BEIBPAMqDUsFJw2BBC0WQFqlCzMCSQFrAi8cagiwFTctgQHuBUMeMBYwAXUIcE2sAToQmg7pG0YBXzg0lQGr3AGn5gFzpQExBCqoAdmoASUGjmu7DFoUOTPD","wQLR","zgzZ","BZ0ByARSAUUBswFHA1EDMwFrBDMCcgQtAUsCVwRUA6kCmgE+Hn8GyQG1ApYBuAK6AY8IXgViBjABQQJqAz8CeAI1AnQBsgVtAaoCiQPKCLYDMgK5BFABKQFVAiYBgAJxAaUCiQJzAUEKWwK/ByMBowhMAUABLQMnAVQGLwSiA7MERAJABLABcQGDAZMEMAiTBa4BNQhDLJACsAGXB40IpgE8AbQENgJbCEQCxQXUBzgCgwefAkgBSAqWA4gB4AibASQIrgejBrkCfgLNCJ4DpAHKAqYCPQQ3AmUIVBCeAWwD0AEvCKIDuwy1AUcE1QOBBW0DOANJAaIDcg2bAtcBzA24CD0DXQHJAYwBYAKgCWIBfQNuCXMCcAI7A0UMMwcxA20E7gTjB5wHYwPFBigBXwO2CskCpgNGAUcExAOvAU8E1QrNBWEHMgE9CJABuQRmAYIBMgKdCGMCRwNSBXUKsQOYBXoZQwY2DKoCzBKiBTACKwqlAXADnQFGCpgD5ROXAYwGZgNOAVwBOw1wAZkC2AJaCHYEmALFAqEHrRJpAjkFnwFfATQRcAKXAWoCygd1CWoDNwk7A54FswonBmUFPQltAzgCnAmiAikWxwHdCTkDxQJAAn8HMQmEBa0BZQFtAZQFRALIBcMFNw7hBF8DNwExASoDZQaJCpYC1QGYBDIBmwGECGgCqgYvBGIDzAQ6BoUCNgXUAo8DiQKgAZsHzQPhBp0GyAVLBaAEYwQpAy0FcAYuBnwFbwXLAdACMAWxAisBKwVdAn0Bngh6CYgLkgG7CnsBohVYAcUCnALcAlEILAioAS4RXA4+Di8BQgSZBEcGdAaLCsEJXAEvAjECMgFoBDsGkAUuAm0QsAR5BoIDRgFGDLsDmwuTFUABdQizAXYFNgE3AzEFUQI1A0UFdAOmCaQEdA59CpcCKwJNAWcHtALQA2sQjwQtC0kFLQFwB8UNvAORBGcC0AGrB6kKZgk3BskWsgIlAh4YWwIoAY0B0QGhAUUDxQPBCHcDMgMrC0YKNQNHAYUFmxSgA6sCfQFKB7MDnQo3A7sGigLFA0cCkQE5AVoKMgY5ASwCtAGiB8MEUQg4BDECTwVjAisKiQFJDJ0MYAMgHb8BRBG2B6IBogHPA74BnQmoAWEJshLXB9cKXAe5DzwRaQp2AugPVQvhEa8BugY4BTkCPS6jLUIESg","VX5fPyTVU8vVAZ09v5UBzo8CQmSU0QGe2wGlsAVH","1AuD","6w1g","wQLBiQqBAXYBiA","3QJt9wjAeqjfAd0","/gKZ","B0JLe40BYy3tJGbAAsZL20idRkglvP0Bnu8E2yy/6ALoBvoUvQ","9BDR","wgFB5AQ+xgMdvwI/BiA0QYoCpg","FWsGng1ID0wHzhJSDlAEVwFjBT4RPgKRAo4MbhSgBKwCXxOlA6sBPQOHBkIQRwQ5HIA4ywHPCjgLKBMtC5UlohY6B7ADgARFGpEMeA8bCjwcnzFRHaowRyiTHYJB0BNPCEkDRzMsPZAJfQeiD5gLSxMqDEQMpAKFAYsZQTGxE5sMoghLFH8KxQpuIIgFZgWuIUgHpQIoKkkGKwctGE4OlhZFCW8EzQQsKKAULgdVBJMBrgyQCKYNUAIlCEQFJgFCDKQORgSiAagmpAmqAqsbhRh/BSobmgN3ASQQNRR3CUkDpg8iAUEYTA08EMgFRAWfBqITPwFOAzwHRQNkASUHaQcwAaIBrwrHKWoDbgmnB7EKOxYwCqEObws7BiMDRwJHAYAPIB6lCiQPSAxNEXAPORpLXbo7ozRV","fV1EcdkBiNUCq6QBefcCm3Q9nQKj9gE+wgGvnQHx","Ym4HpSm74gS1gQG0CKWHAUoRyz6farPJAaBciUy3cp3bAWc3ipMBdRytMEY8pQ","zgG7iQNkrQK5zQJ8HIsB6gFfAcU41AFy1gGAAfABV8IDl+ECvg","JtIat0DjL+1a5gHlmQHNL6mfAedQ01GdZmx/4hjinQH4adsUcukB8ugB4i/jDbw08knjKuMCtokC6A","tg57","igKa","rAnZ","qQ7W","tg57","rAne","tg57","Xd9A34wFy1DBPI0ykQGZMfKLCuo","pBLW","mQjb","pBLK","mQiQ","qQZu","qQZu","kxBO","lwGfBs/EAUPVCzzmAao","nQHB","6RC/","wARctQpQYOw+kjLSAZo","MbACN4ICXVg3XWTuAiw/zJQB25wBigqiInRltDk3EMpUtoMCay/UyAM8ATw","2Aq0","tQJdWDeKBLD6Azc","lwel","pw6k","MYc","DNoBgQN/BFcJwALyAm4EVAHHAfQDggLwBrkB7Qg7A9wGtAJpAWYCigNGBFIGRQHkAnEBWwiYBmsEwwVcBNwCowLQAlwBjAJgAW8JdARiAe4HbgWeBLICiQIsAp4FZwJlAa0FwwGjBm4EvgPkAcwEfQNECL8ByATAAssSYQHZBHkHbQKMC7kP0gKEGMUKZga9AboBxgKAArkC4Q/PBFAFpAGeAnUF0gLGEGsG3QOyHLcBsgNMCSsBbwPmAr0E2gLJDacE2Qa4BW8KmgdgCJwCfQY6DZIGrAt2B8oN0RTLCVoIwAqCEEAC7QHEBcUGowSDDmIC2gHoE6YG3AaMAY4BsQFxAWQBdw3ABrYHUAEwATsBZw67Ad0F0AbABdEFaQGmBJ0PrgzAG7AHVA2sIrUBqhLXArwT4QOIAeULsAaGDpgClgS/FugFKQOYBscBzAGjB7AJ1gJtA9MBkATdAb0CSAFUB6gEmwHbBLEHgAGhEZ4Bug/gDEUBVQRMCewKqgxaCNsDewzhDrIBpQLjE2gD5wLbA/QBpgJLAbAG1gPmAsAExgK1AtICkwnPDVEB3wNNA9oE5wFiBGECaAJCAb4BuwHOAcMEawF8DusC1wcoAZACHAPBBbEBxQJkAcUPcwFCAWsM3gHoA+0LlgHTAncD7wLnAr4CdwFzAXsLiAPwAqwEuwrLAaUK3wF4CpMJbgTNBLED0gHcApQCrALXAekEwgOCAtEDrQGSAW8DbgKuE7sESAZ7AloCuQHgCEABlwLKAXwCxAXCBtAMgAGSAtYCSBt4A9QK2wScCYICtgHVBcIIiQGgBY0BxwG9AtABuAJICrYPvwNMCXoEhQKfA9UC0xXKA7AB7Ai3Ad8DhwLvCl4E3gFKAskEIwN1Ds4B2wFiBcIBSAG1AeAJdQHGCIoBTQKbAXkQmwKyA6EHzQNrAaINswG8AcwBqwJcAbIEhAfDA6QCawS1AW0B5AbZAdcBqgetBK4BegKTBK4E2QHCCdoCcgeuBZIJwgFrAt8BoAO2As4BrgHlBM0EpgLCAaABpglsAWwLSwHRASwDxwp1CswBJQLvBd8BvgO2A8ICowEcAccBtwLBAc0IcAFbBNsCmwPNA/ECuAFzAXsCfgbWAc8CzgLRBdgCmgGrCNsNzgO7BqkC0wV1AaQMegRtAbUFfQGLBIYI1QHWA58BhQGTAXUBsAzlAUgBpwbvBsIBvwFvBpUGpANBCkIC2QH0BHcE8BCACZEIzgNqD50PygGyA28CSgFyA9ADTA/FAkkBqQj1ATwJPwTXAdULRgJHAcQC4gZGDeEBrA","nA+5","hwqx","nwF2","qQNp","J7U","J7U","J7U","0hDF","9g7T","lQs3","VkUMP5kDkv4DhJUDcgZ1gwI/","jguqBqo","tgaY","V40","uA/f","zgfM8QeP","wQy9ygJsAWw","ygu0","yguX","qAFn","qAp4AZI","lQ2m","qQqS","qQqS4AdG","3wmU","fE8","4BCcAZg","4BCcAZg","1A9x","1A9x","+Aeb","V9Q","ihB/","7xHq","qwFf","H8U","H7E","mQl9","5gNwlQWX","hhHk","mA2/","mA2Q","mA23","vwex","H93UCY4","vwfmBSk","OzuaAYhsl6ACSQ","5QeQ","5wTF","ngup","0wnc","lQs3","H9I","fMjlBa5eS+EEqQ","M0nJAkWSCOkG6g7s","jgu4Bs4","jguqBrwOfQ","rwd20gWN","5ALH0ATckwG+cMc","lgI+xwGY8QOdeCi5Ad6zBM+NAecPmw","3QNn4gtf","J9HyCLFa0yh3AuYLzQHXA8wLYA","MYAs3AboabbOA8Fr3dEB0hGR","WNkuySlnCOYBsALVA9oHqTm3HrlxZUHnDd8GkCrfMN8O1DZnF6Za8jG+9AHeKuQ7iC9DFWcjaALHOkcYdB5DDKMaOwGhDtoCQzF4C0cFrQ1CGM0vqSayKEgH1UjMCrUmYBeDKXoM3HDnygHlCdME8GjVLtQCTg","qw48","lAjWAcQ","7wW8","7wVh","zQOzogJhggve","+hCr","qQbqUOU85Q","qQZu","qQaX","qQY7","2A/G","T6YBr80FMIEEzq0EmY0B3hXi","yw6O","1AGfygHNAawB47wDrwOW","nwNm","bl0fgg","En4V3yrRDZpF41SdtgKbGt/SAb0X3h58XpwC7g+eHe0maTyxD+hL3wPyE9FHpydzEowD7AiBAuEPnR/wJFEGVQrpApcB6jBPMTsMVwGPUtMuwQ4/WYQs6hfyGE8F1EDpHvgCvQs7Ackg8QviMtZJTAjWLd1JPz7OAd4","rgeu","ywjL","iwtR","vw/F","0w7D","5wp1","tg6m","xwR9","mwuW","xwR9","nQuX","vQee3AGc5gI7","XkQ","mQnj","tg7C","twqB","nw6g","ngup","uQfZ","4QlaAVqFB8U","5xDF","Mb2KA8bfBKsKpQ","6AfcvAqo","wARcpQKkwAFo+QHOyQKrZUSpAfFH5BXMBNYD0TvZMuwB7gjR1AGs","xhCa","vA9g","8AnAkQJX","gAy0","7gnVAV8BK48CgAHW","7gnE","gAyL","gAza","qApvAXI","nQOhiAI+4gMyjwU/eyY","PKcBokHCEn4xrBK6IL22BMDvAqQ8nQTUPrIDIwPevAGsWckyhRDGJ5Ur0NEBnza7P644wAF7AdbfAeI","7A6d","PHwBdw","fkM","1Amd","PHwBdw","fkPFD48","ixBr","ixBr","fkPFD48","fkM","ig9l","uQI/","AI4COAJ8CW8pfwZyG2YGow+hBn4QhwOgArMWqwTSEkAEmQGbAmADoQGwFdMHogx0Db0C5gW9FscjmQNzAz8CiAWaEMsJkQGhPpcFmQzcCtB0zimWDZwSnhCCBMIBkj0wAZEsLDdHAa4DwAI5C2wEyxqVGagGph2jFZYEpwuYCEcI2QNPGIkBlieRGNoC0wh1AdAKsQq2CHAEvwHBBqgHuw/ZAasGoxKWB6IQpgHPAZwCogGnAaYBxxKeDG0NdQ5jAdIGyQetA6UFyALLAZUJpAGsAqgGMAibDNcGpgaqAokLzgQrF5kHOwOPCHQE4AHVJaAEegGwDbICuiGfB0ECYwXYB5sHyQHTDZsBjhdkAdIBqgK2KKoIyRGhB6UTvhGiBt8IpgJ4AasNwQU9AVIItRuqEdgRyQLVDZ0crAPIAeABwQO/B7ABPwGTCZsIQgKwBpwBoAOmAZsCfQGYBacDrQVLA3googOsFIkBlAe9EsYQSgF8B6wIgglzAd0BbwXnC9YCmxCiJ54BfQgnEnIRmhWXBJcb4QLHAdoBsR64I20NPgHQC0oSzwRlH3gGbg14Dus","6Q93","hwFw","6Q93","xghw","gwXC","hwFw","hwFw","rQ98","hA6k","vQGh4AGZ","hQ6V","qQh1","fkM","fkM","4wyF","wxBW","fkM","ixBr","xBB7","ClJBz90JnIkH3gTz","+gehhwGlTsw/kAHPAcXEASQBgRnCkwPOjAHYD9Aesw","NYU75QHxNbYSdxmfkAOjDH1Zp54ERjWhAkJx2zKTHukhuxt+BjaiAVo0rDqiApvdAcsOqCdwVrN24BK1","cWg","ceU","cJE","rBBK","CecLQAfmC/ANSSvpSGsDQgazILgBuAavLtcB5jxiBNAI8xrRB+cd0U6yGMEYsQnuBr4BZwKVAWcK3RZzH0se2AG2AbASnS5RQs0N2gHTAbEI5RngCJEcfQhYE9kj7wHkB9YB2wHVAecGtAHaAaYPRzPBAUoGzwjKBL8k4g3OAZsGswHpR8k15w3KAbkCbQPXAt0D0gXvGCkCtwqtEUsGpBlHB8MLaxlaDMgGcwpwCO0SkRfaAuEEZAJHDM8ByAOdAY8B3QGYB50B5z7kA6EBcAOLAsABnAH0A0gVxxooFn0o5wayCqxBxgKSBLgUuShzAZIBjAs/QoEcbg7MMDwC1A+kAckKbQqzD7UJxgnGC1ov0SO3CHsJ0wHWC/oB9gHJA+cBmw16N7IBwgLEJKkYuQ5EB+ITjQ","lwdI","uQld","mwhi","7hDhAdM","iwazjQFsAqI","mwiO","5Acu","zQLH","jAax","bEUNaz8/mwGiygFKIkkUWmZA+AFHSEiHAZYCfxrBQ0xVKCh2Qk2QAT8OSBJCEk0TSWxSNDopRmNQI0U","6gJu","6gLo","swJELDkULswEPyumvgIe","En4dlxZyBMgNlQ1iEJkCsgItBKAEoAhjBTIVoQFbA2UNIwhgA28KLxJKAW0TbgksBJ4NLygtCz4DLwJUETEOLgxOCaMNnwtnEnYKshl0ApoLSQE8EIINYBCtGD0KMAqCD5kCLQe8CDwQcwpmEpkMYgUqHjcBiBCPDKMppgqmBjYBpQKLJy8lviVmB4MiaQhfAX0JnQ1qECkDugN+DUkEXgV7AaEBJwF8EUMQoiFPATkBpBquBiYCNQOdEogIvAemEWQBKgIuBqINhgdyAU4DSga7AXoEqgI2ApsZcAOYD3UBpwQoBmsBPQdmBi0KqA1JBB8WLQajA34emQMkBXwSqQedAqoNoAROB68LngOpAS8FMQSfCqESpQJEB3IBeAKjBGcDkAZLBqURwAfEAjEBoQF8EGsDdQsqC5kBKASTA5sENgImBk8RmAJ0AygcZQolBiEBhiR+By0CegqOAlwBmQOdGqEYqhJBAXECHgprDiAGkBA0ATIDZAY1ASEGtAKbCzollQRQDKcEoAxtB50CwQixATALpAUoBW8VpAtbLS4DegrCBjkQawc2A0sGcBI7AY4BVw","xwH3","TEYhlA4sBCceoAWnA2UGbRKHBx4KPSckPp4xlxAkL5xDoYcBKDOkhQGpqwFFDx+OASoBKDgxPGwscQMtCykMHguxXT4WXgsyIC4XoSt3jAEtEioKIwIiYyAXJAVGTEeLASQwIQ","U7joBsPoBrE","HOcUT5cCs9UE1GpargFOViuoAs3TAdr9Aqw","nAfU","xwHE","wg7I","8wEp2gGqngpgS+GAAciOATg","NYWMBHOrBdzWBWtZKw","RXJSfjyc8wNGpgQdqQSq","8APPwQ3M","vgvD","sRGd","AYABOAXdAvkB3wPgAesCjAL4ATMB0ATeBN4B4wNRAUMD9QNZAdkB7QP4AeoD+QFSBHYC7wKDAV0CVwaWAboEzQPcAdcD8AJyAvoB7QR/A9UBuwKRAmIC7wLEBcQC9wJFAt4B5gLICH0D5AH5CK0F5wXvBvID7AHdA94BxwH4BPcFpgM3AeAD5AG5AjUB6gE2A9EBoATmA8IB7gHgAe4O+AH5AfkF2gHZA/kC5gytBPAB7gTeAbgB6gLVAXQE+DTUBtUC9QLZBS8CiALyA2IJ+AFiBGIE9QNxBMsJ7QHtA84KngK9AaQC2gPhHCwCzgf4AuYBoQKsA+EBiwKKEswE+gb1BfoC6wPyAcIC9gIvAfYFMAXrA8sB3QfkApgKrQLvAtkB8AHfAuYSRyDfAd0B5wGSC8QD4xXUAugE9QHAAesBNguxFOMB0hapCOMBswGgAesB3QG7Dr4E6wLrCTsB9gOnCOsDyQzAAb4J9gGmB2YItg6VDzkC8wW2AtQCSQG5AuIB9Aa0DdQMngHYBMQB8wbuBPgG7AKFDHwBvQFfD+sN7wG3BmYBkgGjA+4D+AK+AeQPqQHqCe0C+gPcCMAEZAGrAdcFzAF+AtgIawHzA5sB5QTkAfgD9AHOAfMB7wGeAawGvQLNAi8D5APnAvUEMAbjAUYG9wXqAe4DggvvAe4JtgGdAYkF7wH1AfUF7gLuBfED1gH0BbgB3AEyAcQB8wHdAtQH7Q3MBvkBvQPOBNMFnwX2BfABpwPgAroE2gnZAr4BoAfSBEsB0wXJBNEDqgJmBS0BwQFIBfMT6QfqAuYBsgHpA/cB8gLkAc8BqQjYAdgC6QW3AbsBugHhAcgG1wPhAY4CMgLdCz4BnwfyAdsF8gHqASgCkQctAewEHgRmAaAC7gPyAesD8gHOA4ID2wT2CfgILwLzAo0B9QPwAdEBtwHUAXYBkAVHAfgDygRjAtUHWgHzAssByAjHBUgB2QKVCFUBiAGdBowCpgfMAZwS6AUhAfoF5gK5A/YC4QIlAe8BjQH4AnsF9QHGArUByALfBKEH9AJlA/gEUwTzAeYB8QfqAdoB4QHHAccBwQHWAeoFVQWdA0MEKgT2Bk4C9AIrC48EegLgBFoBVwFYBNkBoAH3AfoB9QH2BHEKnQH2Ad0VrgjhCs8DlQEtAuEB7gH3AfkB8gb1Ae0E3QHlAewJLQWBAusDnQGRDIEI9gTtBrwFYQHzAdwB8AT3CccL9gc9A6MB5xXTASoXiANDBq8B6wJ3AdoGgQFpCvYBngQ0A/AIswJ8Ac8L4Ab5AfwB+QH3Ae0B9AHgAfsB9wr1A4IBvgPiBOgDhQTRB8gBMBnoBm0IzAL0ArwDvgTsAZsF7QFdAe8CiwPtAW0BSQIlAe8C9giYEtMCXgGcBuMRwwqYBfsE7QHkBXkDGAQmBIgFywL7Bk4IbAb2A/UE9wzxA3sB1wTMLrgR9BKLJPoQ3Qj5B/gLtAXsBqgM4gFtEuw","fcs","faA","fcs","faA","vwJ1vwHjb3KiC5s","1gK+jAHOBLyRA5w910LdUds0txagJsok5OAB2BHrtAHwqQPL","hAfi","zQOV6gXskgWza6k","sgqa","0hDV","mQqE","mAGriwJK","xhCh","Up0","qQa0","lgzm","lBBr","lBC5","gA69","ogHH","tgpq","fWw","xQ0r","pgMm","BOoBnQJCD4MC1gXNC3wCNAOiA0AFNgiAEzUYKwEwAakCXAE+AkMCKgN8AUwCLQJtAiwBMA1EBikEKQcqE8gFIwE2BCwJJwJVAbAPJgMqBkYSbil4DuIJuAeqAXMBigzdEbIDgAaGASMFdAfxBl0BTgFqIOMBWQmmAWEHgwZDBugB1wLiA9UDvgHOAZIELRGTCusEtAjmAWEBOAaLB3gEdApZAU0H9wHoA6oBwAG3AW4EXwPZA2wB5As1A70B7yRJEp8gxATzA84B8gHyAWcD7wutA+wEmgJLA4kBNARoAlsCtgJjBEANXwLWBnsFrgKjBW0EcA6TAdsGSgLmB7ELcBSoDC8BtBTbAc8Q4giyBW8C3wFLDLcU2An0AeIMmQZ5FfIE6wL2AsEIbgdkBWYFMwFtBZ4LQwE3A6AEOg3rCOYDfAHGA+UB8QH1AaoFnwKBBLAHyQraBdkNcQXICy8DhANFAUQBfyFtFnEIswnTC2kHpQV0ILkFLARLBY8D8QFLA0UQywlTE4QKthL5Db0G5gOCB2oN5AW4AXAPXgLpEIUB4QMpMlgCvQRRAVcFtQKhBykF3AJaAnUIvhWOGcUQ4QJ5BkECewFZBCgEVgdKCjUIVjFKCEIDvQJMCLUFywWvG9QMegHEA5MPShBBAzcCrBxiBvEHmCCUBDIDKwIhErcbVQHFAcQCrAHWA8Qr0Qc8AVgJkAGnAX8P8QFSD2YHbgEzBsMDpQRuAXEDrRjhB2AUGw5/AVAI4QiEBCgHzwudJecrvQ","EMgEwglqFc0bpgLYAZ4KPh9tEsAULgzhCaQooL8BXUqpO6tJqjuaxAGZA59ZKQ9yVkmAAYAJKiNmL0nFA61rID+XO2sKvyatNkaRAc8","xAcp","FMI","HX8","8gnM","8gnM","5guO","qQKhNLZEUPIFS0Z4MUM","6wLCAcMBwAHCAdMBxwHESrEBsAGwyAK4AbABsAGwAbM7d80Krg","BOE","BL0","gQzV","uQ+U","oQEs","gAyL","8gny","8glZ","UtM","jwEp","7wUh","7wUh","Y1O2CYQ","sQdH","Uk5Q3w","1QOh6gi2","UoY","owOS","9wW2","xwi6","4gPO","xwi6","BcY","uA97","lgbg","kwom","tQnC","MK0ihn+l","lgZhtAR5","tg1t","tg/C","Uto","yAav","4gOD","xhB2","ygrg","LdU","tg9O","lQGgA9s4y9UDWg","/wzB","0hBu","rApm","uwvn","qwwm","5wa9qQK+4wXg","5QPL","qQmq","mQHZ","tg7h","mAWpoAqm","uA/A","ugqC","ogGb","jxDe","xhBG","xhAu","jxDh","2w5+","xwhl","zgyd","hQFN","vAea","UuM","wgM2","kwqn","8wEp","nA/x","nA/n","nA8p","nA/L","5w3w","5w2J","5w1c","eHY","tgnBsQTj5wGxxAGw","5w13","zwvz0gIf","eHY","pwbU","zwvp","zwtC","tgnL","gAMwhQHc6ATREdSmAU2SAYZHepcD4wvINMw","wwL2","wgLF","dZ8","baU1hPQJf2hg9gGj9wJIlQG8","jAsh","BJlOsR9oJdQsxm2ZVrw2xgJaHbEEm2K9Js8IkI8BfRVwPJcEmoYBZBlwAqVAQhOnElUVpgXCDUIyaAGjPYQBVUVOGGdzmyKuCUo0o1omNFwJbQFvFbTCAagRKA6xFp1CaQxmFZICYSPQ","rQ+Q","2Agl9wKXwgI/lAGhbaM","ogFR/wKvArD8BCVWU6EBvGjIwgG1wATU","khGH","7gHjpA/b","lwPJc3l/hNsCLp0CnA","A5EBVAmnBygCiAHgBEUGNQPaDmkEvgxKEVADHgwpAVsGMAEfAi0BZASnAqMCLAEsBEABQQGtASYBkgEnBi0BKQMnAoABMgFnAikBdgN+ATMDPAEqATUB6AbBBKoBLQVbAZsCeQKwBVoCXAFDAoEBQwIvAagELwI8AR4DLwxAAp8EKgJwAXELKwY1BikDLAQnDaUoLQV3DT4FYQdSAzEOLgMxEi4DNwGnBUEEMBh/BK4BpAQ3ATgFKwE9Ay8VLwIpBTABVgZhDDYDGw1IESAIRBA9ClELLwR7B70BeAE7ASkCLQcwCC4Irg4wA3sINQU+BqIMKwOwHi8CNwEyDzYBdA9gJpIGLARDBjYDfSe8AzQBPh0uBD4SkgE7EzUKNQvvAV0ZLwEvCCQCNQoyAWUCNAgoAz8BPgEqAykDWwMzBjsBOAEqATcBTgMoBE8BNwLsAlICewE6AaQKLwFICjgLLQIpAWQEuRovATkNJQExA68KNAlcDDcCvgYsAzMI7QMxASoBKBNOBDMBPgEyEC4CLwFmAyoFNgEuAjQBMQM5DisBYg8zBSwDqAFUBDICIQEnAygBTwFbATMCnQUtAWEBcgwtAZkGNgE4AkYBMgIcCkkC2wYtAiYCsAIeAn4CPAI8Bi0JTwMnBX0DJhsvBzUEOQYqAZsDLgGwAScCKA0wASkBYgsnA2kCJQQ/ATUCMwEpAi8BQgSmAUkIMQM+AlABLxFUAmgCLwMpATIDJgQlASUFMAEeAi4DrgErASYBSwIqAqsCOwIwCS4BLARJAjEBJgKAAlMBuQ5cDCUGLQgyASgBhQFKASkBsgNQAjMCZgImAksBLwo7ATQHLwMwAi8BSgEoAbUaQwI4BysBkAElAUUFIQZCASkBLQI4DS8BQAM1BiUCKwFNATQCSQEoAUoCNwG5AjQCNAiDAkkBMgQjASQKIgI3GCgBNx0lASUCawkqAUABKgJOCSgEaAQoASQDcwEmBh8CLgIlATQBgwOqAiECJwEvATUBIQFnAWgBOQEsBCECtgSjBEQBOgU7AjIJcQMyEDECPAI1AjcBNQEpAS4EQwU1AWoBLwEuASYBTQFFAWcBMQE5ATADMAE5ATYGNwI8AUIDWAMyAbgCMwIpClkBWAQoAUoBPAM2BCkE3wEmAXYCiQIjBSIBPgIzArUBbQNeAZADuAV/A3sBOAaAAyAJTwwmAkMHvQsqAowDOQExA5kEYwFhAisChAFOAYUChAKCASMCSAE2AiIGUAEmAoABLwOBAYMBeQKAAYABUwMyA1AQogFWASkRdR05KkQBSQHqC3UbdRFGA9kFbBtJ","vw6Z","yAxR","mQF7","kwFX","6QjL","vQGh4AGZ","jwG0c13pBK6jAdNeegV8I3Qgx9cBwhPPNqSeAYMIKRaZpwKTNawefw","EqMHggVrFZwpuwOWAkABpgF6CWoDiAKkAVwBSgREA0YEYAGgAWwLbQVBApYBRwOOAioCtQpHAbIMhAiIAnMZZQUqAqEsRiKqBk0ESgKbA6cBoQqrA3ATphpEBEUFyQRvBWwHkQFHC7YBlw2fBTwKsSKKBzAIOgKxGmwBiiDQHEkIdAhFCJ0EZQJFA54BuQGoC4kBPAN6AnUOcwO6HaUBoQKzAk8JqgV+D5cOWBdyCpEHpQKjJEsCYwG1A5spRAuqEyQUPx1fFK8OSwFfB7ECTgVxAbABdgy1BKcDSAGcCJQBdBBUB0oImwLtGHkD3wJAFY0BmxGCBHkBhQElAigESw58AqMDhwtSAqUDTASpAaoUmQKlAyUGTgeLBq8FZQGgClYHRAOjCKoCQgFjBaACPAPMDIsBpAVCCGIJzwaOBHEDTQVNB6YGZwVvBJ0DmQl3HUgOWAV/AW8PXASrAccKRAReBrcEQg2nCZkCugKcAWkBlgLEAcMETweBAk8BfhVwAmcChQJMApoEdgJYAy4FygNGAWwCrQKKAUwHOwd9AZsFyALpC+ADgwmvDDYBpwNoA7cDwwrLHLoMVgNRA1ADeQdRBJcMUwM1AbcHmwVDJ50JqAxFCdARyQKEA2IJwBFYAzoCPwGZAZwEmwo/D5ALbgdWBLsKmwVxArwDxwHiCqgCogVIBXEBRQS4AUkBSwSJBJgCSAK9CkYNgwZEAoAGPAJDBJEErgdmBUEWlwZADE8MiwInBLASngIxA2sBZAdNApQSiguuAW8GMAKuATMHtwc0AqgFoQfQB5UBwgRAAUEISRq2AocUtQWfCZoGRAFIBLAOpQHQAz4QQQKnCt4F0QtFAcIE1gSfArMGSQhO","1BHs","1BHn","AG4C3AKYA3UBoAWnAVICtgLaAboDvQLDA2ECTQFMAcQDzwHNBbkIQAO9AqwBkgWYAc8E3gbKAUACfwV3AXgBcgHdAXsBUAPRA6EDuwHMAaIBywNqAa4DRQLHAnYDygKzAX0BxwJ1AWwCXwNrA9QBnAG9AaABrgLPAUoBTQHcAckDSQFKAV8BuAK5BJsCmQJYA6YBrAGqBKQCxAJFAaIBzAFEAcYEOwHTAtwCQAJDAUABvgOhAT8BwAHOAc8BvQTYArUBfQGfCrMCpAG0AeUBaAG5AZ8BqQGSAasB2AG2AWAEPgR1BJcByASxAVQGwALBBKQBbQWdBlgCwAPKBs0DrQFpAn8MyQOeBKYB0QWyA90CvQTBAp8BzwK2AsUCrQJ7A5QLzwInAYQCrgRIBMUBtwJDA6IB2AVKAdkBmQLPBdQBawKtBtYCzQTbAWoCzQG3AbUCWAKzAn4C4gHPApkBzgHPBEEBuwE6BcgB4wFQAawBZQHBAX4BxAGyApkCtAJNAWkCSwGpApgCsQLOAdEBTwHPAmwCbQNIBcwBsAOjAaUBUQHIA50CqQHnAqECgAG+BXUBqgGWCbsCywN0AcIBRgqvA9kHxgQ2Bs8CYASmAZQBSgJdAssBTwHKAsEEsAK4A50BggPZAqkHrgGnBIMCUQSXA1YCcAFBAc4CoATCBKMHWgPIAqQBtgGOAcsBbQFCAVADngTlAdsEwAE8BMwBxQTsBqYCYgGkAWoBigGrAa8B3wF+A9sEoAHNAtgB3wZKAc8BywHFA+gBwwG8Aq0CgQJkBaYBrgLPAZIBsgGJAccBnwd6AUYBngNqAtEBxwHOAssByQHQBM4FyQHNAacBoQJNBEoBzwOTCMwBnwKpB9ABqAnYAaUDzwZPAs0Dwg5KAUoHwAK7ArsBtQPSAdsEzwHMAs0D0gacBs0L2gfIAscCQgOcAtcBiwPXAs0CoQvPAqoBcgGSArMEugJGBMUBogbLAo0JtQLOATwBPQVIAa0FngGMAcUBfQJGBXkC1QJaAVoFQgJHA0ECQgPHAs8CzQGCArACvwHMAboBogHPAtkB4AM6AaIBtQGwAZ4CxAGeBG0BqwKaAXcBTAHNAWwBdgGbAicCwwG3A8UBhQGkA0kBQQGaAc8EQwaUA54B0AHNAs8FeAaEAsAB1AGCCM4BegGrAdICwwVDAs4CpAGJApsBTwHdAYMD4gHPA8IBqQHJAmsCpgS7AScBKQGoAb4CygKGAXABPgFdAXECPgHbBXYBsAKlAT0BOwObAiwBSwJLA0oBnAFmA0cFywExAX4B2QGyAlIBSAGYAUgBQwE7BM0BegLDAbEBZwGzAYkBZwHWAbEBwgGqAXAFWgLMApcBnQJLAXQEuwGcAsEE1AFjAy4BtgHOA5kBUgK0AZ4CtQF7AbECowGPAaUBmwHSAaMBMQKPBEECxgLKAYsFKgKyAtoFgALLAcIBlwGuAa4BvQLcAroBugGCAdML4QK3AtgBXwG5Ap4BQgHTAUgBPQJLAU4CPQHaAaICxwJNAaEB6AHOBeUBvAOJBUgBmQFIATABoQLIASMDhgFtAc4CrQGrAZcBZwFyA4EBswGqA1ICTwFuA60B3AHBA0gB5wHUAUQB6QHQBsoJ5wLVAWwDvgFnAsUBkQGaAUsBbQG7CpcBeQLSAkkBiAJHAdkCxwbBA9MBmAGhAbkDywGABOABugGSAUcBPgLKAcIBQAHMAbgCaQPQAUIFOAKnAkQBUQd6A7gBwgGRAa0BiQHaA8UBjwHaAqUB6wHhAS8B5AGJAZwBcwM6AXYBxwKbAsEBrAEmA7oBJQGuAa8BhwN5AUIBzQHQAdUCpALTAX8BsQHFAo4BhwHLArQErALEAosBfwHGBL8CmwGuAqoCiQKMA9cD0QKIBYkCmAG7AbUFjwLVAcABzgKoAdoDdwG/AdsBhAHFAYoBfQKuAakBKwGuAUkFSwGcAswBvAGgAbcBrAHAAbcBSwGfAc4EWAHPAbYByQJIAWYBkwHEAb0CdAHPAqEBSAFuAa8GQgQ6DaQBfQFFAeQDJQO+As8CuQFqAdoDxAJtA1AGpAJDAoEIiQL0BHwBwgGiAc8EPAJ3AVEBtQFJAcwBnQHLA8gBRALCAqICPQRJAckDywJ4A4oCUwLdAaMCdAGtBNQC1gLNAcwBWgPSAdcBqwG0C0UBRgHOBnMBzAHQAtIBzwGwBr4CkgPZAjsBVgLAAssBrALjAjwBqgG+AcABbQFIAaEBuwLGAbwCOQHTBOABQgKlAsYBpgIjAeEBwwGTAmQBvwHBA9ABhQGyAdMCxwE/AdEBugPGAZoBWgKlArEBrgGvAcQBPQFxATwBkgFCAzQBkALSAc8BfAFHAWgBjQOxArsCsgOiB8ICcgGlAW8BcQK8AcgB0gHdAc4COAG6AckFbgNFAs4BtQFmA8oBfwFHAXEEsgGXAaYBogFfAVwCuwHJAc0CtQGCATABRgGnAsACXQK6ArUBywFGAZwBzgJMAbIBiwSNAtQBnwWfAcsCxgSxAUoBPAHOAa8BSQHSArIBSQNDAXsCzwIrBaMBdAG2AqkBwQMlAbACdwHBAZAC2AF5BHMDvwHZBioCmgF0BnEErAF1AtcFpAFvAZ8B3AehAr4J4QGeAaMBxgF7AtgBSAKsAYwBrwFSAkIBxgHFAc8BNwHFAsEBjQFrAa8BxAIjAtQBbAN1AqMBrwJEAaYBYAesAUUCjAKaBM0B0wHcAbIBnQFGA8sCrwHmBc0BUAHGAaAB2wF/AcUCfwGhBLYCoANGBEABlQVAAbwE0QHDAUABUAWqB84BrAq6CdsDlgK5A8QCvwG+AtoEtQHCAboDqwNbBK8DbQNqAroHrgSRAb4FngOqBNAFwQG9Ac8DuQHUBEEBPAlCBaMBxQK9Bj8BsALBAUUBvQFJAUYBbwRrA0kEyQO5BKoE1AHQAsEB2gNGA6sB1gKf","wwKr","gAdV0gSR","gAGmGKEIwQ5IB2APXXJzF0oqnxRnGckCn7oBnjN8uAGpDaAUmGw7CHtqmyKeEqUlbQmrDKARzg2Wd7kWqlDEA3AXYgWfEaQTqAOwDGMBfwF+CJ8JwEenEn4FmwOnILUBnxKqBpsZrxSsEckEOgbKA2QGoheZDGsEpBG2BKMiOAJ0TDhpogGiEqEZVy+Y","A4g9rBYzFJQKfAlDKaMENxBROW1GoQZUYrAGUhtzOqkQQRFGGXMRRBBkCbkNPhIrIDgDNxKxBTpApShrBLIBoixFB6onfRONEk4XbQN/BSkEmQY1BGsJQwoqJ1Eahw0lBEwOMhVRBFoQKBIhAVcCvxCjE00CaAshBT4chQWgApAFnhubHHsgJgvKC1IIKDCeBGoBsRKCBa0ggQF+BVoCdQ5wApYDxAwuCjEEhwpIIqwFMwdvDoUMYRudAqkLhA4kBM0CzRBYA6sJKCGFFCsOLQhvBV8emxWeCaAGLwO3Aq4RMQKkFMIBwwSkBrMGoAGfBmkFLwumAnsGbQFsCiwDdgp1B6EEjwIxF2AUayx3AZIHZgSwAS4EXQ9LCZkiggGzMdM9UAuI","pQmD","c0pFaD5CIGexAWr8AqF+SxFIVFMgQAvDQ1YXojNr4AFGE56kAmvfAkZtRA","7QjREdQ","AVA1UR9eBT4VQxyaCyYPnwlECFwDLAkzMz9hJwaiPTsDjg+XHDAfJxw2MTQRMxMlFihmNhssSEUiLERfAn0jKgEhHR9mMnCoKz0FIgimFUYIKxM8EiceJAw1Cx0EpQMoAygcnAczEDkmRAcwBnUiPxAkECwVJg81CiUDKCxJCC0aMgQvGysHPRwoWIQEmAUlCy8DKxKoCx4Ozg84ATEFMAg3FyoKOAk2DCMDKUgsBSkBKwc1Ai4GIwxJCSsKTw8shwGW","uAxU","JZIMdacKeqgCvNsCqhOW","MUw","MUw","gA28","JWM","2w+q","nwNiAVqWBlfcB4c","DUoDSRt1EDsNxARGdrpGvQG+Ab9ypC0+P3AJ3g/zWagR8AL1ApALlAJxHF4NZUosASFixYIBRQpxTCZ40YsBndACpJMBsAnQrQGrSp4KJwbSDKEXoROXAagYywGqAcwBywKYAfA","iAK9Ab4Bvw","7gUs1wkzVCc","8QOx","+wRx+Qvu","DUo","bSPwAhuhCi8CICMunAEkCCkCJQUnCyA","5gkrsQK3twMn","J7AgnnigBorsCk0","oAzd","AjgBSwLDAkIBQgFjAVIBRQFZAzYBXgFJAUsCpgotAXACNQOSAksBugGLAt4FZgHCCZkCggGaB00BcQNACFABNQaYAb8CcQHfBF4EPwsjAXQHlwSvAaABLAxyBJoBhwE6AVgIoAM1AoMCNgKEAoQC4AOGA24BSwGkA50BWgFAAZYCJgZIAowCfgJ3AScBLwImAR4PnAHfBD4BKgFNAUADZgEwBysNPAKMAeURgArhAZ0ELBNzAoEBvAhhBPIHRgFHA2sNTgE9A6sCRAQsAkkBZwFIAdkGiAW3DDcBnwVtDXAQSwGiB2wImQN8A9gBzQ6tBCkGKgVXAd0C8AhvBpseRQaeFckPzwLHBGUHvAMpB50HMxvUAbcBTQFyBjUFaQE8BTMMmiB/AnIDUAHTBMsDkAe+AWwLjBJBAYIBqBQqCCEDUAe8F8oKTwPXBFQEmx7YCycKTgE4EY8DgwFOBTgEcAhZAqAUmRKFAqYLsQhGA0sClQmdBDUB0AFtB50EqQQfAh4BJwiCAsMCLwGRCkgLLQObCIMBXBZTGH0BTQGbBUIBKAK3AXELqwKlAZkCTQV0A5wFmQYxEjMBKgPAA20CmA03BrcCxwMlBX4EQwI5BmEDxQFxD9EGRAEqBTMHlgJbAe0CywGgAUcDQgVRAckCzQSmAj8ELQEzBnwBhwJxAcUCPgKcATABRwSdBK8DSARIBDUEKAFCBzgCXQShAVMPTh2KCNQDqAKxBKgCfwF9Ap0DQwq/AdECpQNOBG4ESAFGAbACQAWsA0IHfgEuAysFRAHCB58C0wZrAnIElQPWAzQCRwLTAUwCJAFRAXkEMQTaBUsBKwGHB68GTAplAtAClQJvAk4IiwGIAsMC1wKiAqQBMAJTBTUEqAMtAcwDsAOkAjYEMQlCAaADdgE3ASAIQwFHAiIKLAEoDosD0AdKAycBTwHaAUgBzwK+AysBKwElA0cEQgVRAUcHigpTA68BRAWxAisCTQMoA3MCKA5LCsMIyguNAUQLKAyqCGACkglAAooGPQG7B5sE0wR5AjgCaAV+AasDpwUgBW8GMgGJAXIBogSkAaoCLAKdASUBIQI0AasFNAGJAogBogFoBE0BMgkzAioHhAR9BS0CuwasBkcCZARCAaUFqwFrAZYBsgaoDTQDpQFBCmgBRAJRBiYDSQElA5cDQwscAxwBVQKiASUBJAMiAasCHQLbAnoKhAPNASAGXgFrF98FrQGjAacBqwNIAkwCRwIxAiQCagMsCCYEfgG8AssCsgJtBUkG2wYxAdkBJwWVAnUOSAehB1YCRgWVAjwPRA1KEj0fPxiIEzwXkA2f","5gqo","4Qic","0APO","1AF9","nQE2N5EzgAqcmwI/CimwBJmGAR1pSBQn3gEo","mgku","kQKe","AjiXATUqJjO+G1YnMwtTMzc5yAGKGCoFKwHJXj91OwMhAbgufiaedINPRgUqCYwVH/wBL/QBx3csD0APlAklfk8UpxEgVi0baw","9gGmuQGoAb4ehdcBry5+Jn/WBbKVAZQ","owvC","0APc","AZgCuQGqAXICQgFCBIwBvwGNBIAEOgJ8A5QJbAF4BTABZQJpBj4DOAM+AoIOdgWBCFUIyQGHA7MBrgaBA7QBcQLYAm4BlQF1AWwBiwFfBUEBgAGcAqYBMgV2AbUBxARCAakBkgU3AWkBhAJBAY8BKgE1AVkBaAaoAYACzAFlAbABvgJ9ApsBRAGbAUgCaQE1AngCKQKZBJ4BLwHKA4IBLwWmAbgLRAElAUAFoQKhBMMHaQGYDGICjAFbBJ4EoAjLBFcHnwHOBE4ZZASeAYoBOwNzAVkBgAEnAq0CexExAVwCqAEtBWoBSAJ1ArgHwgJ8BHgIowFlAo8BrgVBAnwClgmEApEPdAJfAbMFSAGpAWMDSQE9Aa0CcBVFAikEzAKTBSsD0wI7BVoDbAM4AYQBvgdhAXQBRgKQA3QBcg6pBJ0CqgXABVsEXARLA4IRnAR3AqEFcAF4AYADeQeZAXEBnQuiA7UMkQKoA2QCjga0BZgBnQM0AnUMqQFGCFMCfxW4Ao0BSwHUAboCiAZtAWwFNgLIBXoGwQKuAaQERQuiFsABNQasAjoJRCScAisCVAFzAzQBPgM7DZwNLgRtAXMFygFDA9ABIwiwEkcBNQrKDMgJ0wQ9BaQBngJjBJ8BnQRbBJMEmQhrAcwCrAU9A0oCbQGiASMDZwGkBHAEoQJxAUEBpgOnBJAEkQM4ATwDvgFkAZwBSgejCW4DQwZuAWoCsAMtBEYE0AJWCbUITQc5A5ACvQFkB2wBMQPJB7QCPwE0ApAC4QImA24FYwJyAdcEmAKwAbABxwGuBk0FRwWBAbICKAPJDTMBoQFRAn8CowEzAT4BrwpoAZwCNwYuA9QCnAScAX4BgwExArcBZANnApsFoQSjAWgLYgF4A6YBvQGIAZ8FiwGcAY4ErQGWAoQBoAZSAnYBwgItASIBpQPRA6EBsAaKAtAHRgGZBW0BvgHHBUkBewGSAjwBigW6AdgCsQEeAiMBxgHKASkBgwWrBm8DzgFsA5MBaQJMAcMEJgKaAbwBnAeRBWMDsQMkBawCjwmnA4YDKgPFAUsBpQG4A3YBqgFDCqsBqAFRCUkCJwGIAWcBQg03AcIDlQSfBpoDKgGhAS8BSwGEBLcCcAGKAVcBTQGpAc4BywOyAToENAF7AjIBuwF4AXIBowE7A2cDkAGBAZcDjgGRAbYBpAGpAVkBfwt4BkcBLASqAjECNgHVAacBnwFOAcABUwS9AUgFVwJDATICpAF1Ap0BogGTAcUBlwGhASUI0AVdAZkCLgHXCTYGqAE3CasBYwJiAaABaAFyAsoBoQGjA6wBpQF6BqwHjAPQB0gBfQGfAqUBOAElA60EowFvAmcBTgJuBLkBlQGfAmQBogJtAUMBpgN1BkQDtwM1AqIEJQKbAT8BNAQrAy0BnQFEAWkDVQY/AisBpgOdAkkBcQKTBHEElgGzBHIDWgSLAbMBRAldAW0BRQG/Ac4FfAVXArAIJwVVAUIBjAGdAUAFgwJTBCoBawF2CMQBcQakAagCqgGMAagBRwJ0AUMBwQW3Ai4BqAF+ATQDswErAYEBtAStAVYBYAGoA0oCrAI5AZ8BOwN4A4cBtAG2BIwBnwJOCaQDrAGvAXEBQwRlA6kBogE2BLsBbgE8AjUCNwNIAZ8DRwG2BIcCsQNiASgBnAExAaYDnQFIAr0ChgQ3A1UCnANWATIBgwEsAWUBrwGiCMsBQgGsAVEBmAWhAWsCNgdwAbcCzQKvAXYBoQEkBE8ERgMkBEcCmQZwBm8DgQMgB0QOgQYuA1gKfwOyAokBOQExA5gBwQe5AlsItAI6ASIDSgNxAUkBsgIvBroDowMyBGEBngJGAjwDTwdmAXQBRwI1AUQSgASxAjwDyAFACaEImAJyDIcEsQZGCEINnQG4B50EPgFeCK4CPgikAagItA6pFGEKlwvj","oAxK","rAKnpAGq","kQI0J9jSCEA","uAKd","EUnFAkSjAyedBDW5AR5iILoBIQ","0APK","1AJM","jAE77QRJqwRN0wJFpAFC","ElYLTRRMXikBKDQebHx0QqMBLmicDG5HhlrKH8Q1iyljI3MUZl4oLbtdogyVSpkDWFlZDFs3NEw02wHKqQGjVE0zOFBQ","oAwr","oAzb","oAwr","oAwr","oAwr","kQnu","BKYEQBtPAboMSwXHAcQNyAJZA2AhgAFBC4cBeAqxB3IEiwR5BUACJgRBAcUOLAZnBEACawN1Aj0CQAEtBFEFVQXPA2IDUgGrDT4HSAI9A3YBeQF2BjwFsQHaE9c0eQZCCjEGfgZIA3AFKwFEDzkCfgGfBqcDSgWtAqIGRw6yAk0IVgJbAXEezBhAEKwNQAdHCHMJmhRHBLADpgVACp0SRQ6yA54RSw5LC7ECbgXKBpwGyySXAkceog4hBDciyQpzAlQBlQNHIk0XqBBVAn0bZhEvAkoHRQ2fDn8CqwWYAk4DyQKBBKcCpw5sAkIKjxmiAq8F1hdGCMYGQguFA0gFQAzJAT4CzwZ/A5ENSAF6EcME5QRHAkwMSwGLFkoFSwXEFH0CcwwhBX8ElANUEasHRAIoB0cPSBCKIJoHygeIF0gbtQSPCpQJgwGSDIgIhyNQAkgCmQJCCaMQkgZMC1cDhgFCAjACnQG5AecEeA/VCTM7JwFPA38QOhJEAi8BUwaPAVgEiQhqE04CSQFGCIgBgARVFUwCRgqyBVADxwc0BKkGgwJGAWADZQHJC80ExgFXAToCqgFpBXQJdAOkBJMBbgJtAmsEpQosBUQQYwQyAkIHpQKSCYQWTAVwFlwDfxGSB0MGzwFZBVkBqww8EnQGXhUuDrABxgNHA1oFLhVfD8MIYQKCB7AIoCTDHeIXzQKsG4kZmhhRBrwByAWqELsBvgG6","En5RHyx5BW4fQB2RKMavAZ5ioT48GEkUMzZQCZ8ix90BewFLSEhYUwUeOnUblQygSjAmnGGiF7E+jSxRAZNnh0lJ6QG5EqMqfzZLiQLP","kQl1","nxLP","8gyH","iQSh","ngyP5AGm","vQSd","iwzb","gg57","ngya5AF7","CKAHNhs0DbQoYhKZAkoTawpBFZ9OnkY/FZ4Wl3M+AUcjZnI+eJ8UpRnLXE7rAYdTSyNEEUIGngyeRlY4jELDAcQfkRFMDzEBby6oB5xiRx09Z5sFoh+kErAEcQKkEFIBvCmYLzEPazKaFqgNLjo+Aq94ng","SZdLmmF1vwNAhARqtgOCvwJ8","FoMNbSbhNuApZwmEG+4GoxWfF543YBuwBtwOKxZYG8sGOgfhNKsCRwa8E1hIoxBtBW0RlyXDM5UEbgYqAkcdlGK+Fm8UZgrQEbQLjBS9YZEF4wHjC3UqjQbjDx4EUgJjAu8WQw59OHwNiwq7BHAEoQHgD9UXfALxGUcN5yRFFiobTh8rBTEHSworC801bDbrBLARIAIvIDITSQxhC8giMRjqFd8B2wVzHz0JmBPHAa4JuAaCAqUCJwJHA+45nQkxBIctWRvsAs4MegicGL4UugG9J3IXoQZcG74ExRZyE24pphZJ","3wjc","2g3O","3wSXWJW8Bmw","4AWU","jAjfAdE","ArQcLSqHEJ8C7gXhC1gRLApKDqMBxhqbB2APuQe7A2YC5gP1B7QMtBTnDdUNfBijFNoNigSgCrsbNwExFTIMLAXPDGkksgPeBGAD7AP4A+4O4xDvM/EIRgXOBfUXzQKdJmIi8RenD80B4yTNA7k3dxbpUuQPLytwAowJwgzqAjkThSiuC0wQpgeFCPQgmQVICu0Iwwq/DTcDsgRLDfUD1wLYGM0T7QZrA4wBtARLB1cBWgFaAVcJvBpCA8IBewX3E3sDswLwA5YTmQOHCW8P3gG/IKAD8QH0E2sI6h9jAfIE9QpQBfYXmzzaBvYL0wHmAeEB3AG5B4YIUA2xB8MMjQT1A7Qi9QnlAe4Rvgi3CvMHPQLiAt4W9wjWA/UCmw1TEJcCRAPWB9YPlAeqAskChwXOAbMDsQL0EdcYyQJ9HUcFbQHsD/MV2ANoA2kJRAqrAmoG7gO6ArYgWQRoKaEFyAZBA6YK4wjiDZcBxwy3NOMp7QbnBfIB8QaIDkwTow","1A+s","mA3S","oQVz","oQVz","0APeB+edBIXgB9k","1wO4","5g2v","rAKj","Wuk","Wmw","qwyr","lwmC","2gOf","lBHF","3QPr8g2I","0wHXB20twdMB8WGgBeoXueUB4lK/UbACOUZMH8pi3zDOPrQG4jF9PMsB5zvZBNsP2VngC8IB2QFsNehS6QnIAt5MlyXlTtIP5C6H/QGy","0wez","rgTJjw3oC+IB0g","rgTG","2gPh","0wG6B4OVBKPXAsLQAW8GyW2YT6hZppQBsIcCeg","wASGtQTk5wOx5QGW","+wPk","+wO5","rgTpwQF3nwG+UR/5AayyAXo7gBN9Wa2SBa8F2wHV","0wGTjAZeZ8ZitjCFRLhupTuqBK8PqFmXQohShg","oQW9","zQoklgIuNeD3AS4zMjdDRdw","sw96","qwmJ","4QQt6AM1pAM0","C64WyA14ScAGQhS7IUMCjhqfC0pupwWoBDEr3UWtHkAVkhmuB+QzthE/G+kPcxV5MOWmAb0nsxJFAlANQQxTCsMEcRXFhAFPGZYUtAm3AtYGPBJ1FZADqQ2IE0YingnTaEoExwLAEbsNRQJIBMgEaQ3AAeEKSAZ3G7sLtQzDBEgBxxybIa0GchhNDMUInyKpBugQ7h/rGHog2RCFA4IE5QzMBOYHvQKXBEgHTQGuFzoBUgS8BrsK5yW0Ae8HTA6zBUsUQBo4CSAyQRlBJ20jdQH1CrMD24cBbwLRApMPzw","7AxIMENnShekDEM","gQVz6wG2","8gmD","nwm1","kwTR","8gmD","IX0","jASu","iAvA","3AmI","6w5F","kQ/X","GFMJvDioFHEIQzCrdNAdOANyAYGGAaMomStH9ARMGJwp3gRNEjxcREzNdeBFbTF+K7BnShhCC6UNkQE9N60lwwHHC6IjqFG8aEc","sw6R","uQJyAWk","kQml","B8wFWSG3Ib4FvxBTFXYvhJIBnQHAggHm/QHZ4gHqQpmPAuFDuKcBQtQBWj2JJuoHtXHJNXaPAUw","mwew","3QeZ","mwfK","uQKdAcA","rwp0","DFmtBdniAdafCHY","B8xHpyp2L4TeDcnEAUw","Lbc","AfMBVAXDBVkDdALsAaMBxwFLBNQH9gOaA+cItQOnAbkBewG1AlkDwANgA50GzAS7AuACRgLeAcoCogLiA5oDcQTHAaIDQAE/AewC3wPoAlcJmQNtArsP9gPuBigGXwIqATUB4AK9AYkC8ALSAccCvgPtB9oC2AVeAb8CjAHeArYE8QQ8A6YBsAKsAcAC8wKfAs4CJgJoA88RXgaCCMMCggWDB4MCogFGCcEB5xDQCO8FhApzAWYB4wHwBMUEpwp8A6MDJwbSAa0CNAE9AqQD9gKIBJECyAFpBeABnAKbAb8I4QRKBWwE0Q1gA68BywGwAV8EaQGpAisB5ANSAUUBPgGLAYAQ0gH0A5MBSAboCKQC0gN4BNUDewMwB7UEnAJ8A7IPLy5tCTQDyweKCnQKewqkBCsBUAFQAYwJrALVC/EJagnQEL4HsgOaAdwEfQk2BqcB2QqDDkEC4A3CByoBpgN9AXECrAE7A3YHtQKkCcsBqwKGAYoB1hO+C4kCqwGMGbgDhgTNBG0LOBSzAegCwAHvArEEqQKAAbYFWQHhEy0B6QF8BrIErwPNAdAGZwL0CsIE5QcjA5UCzQbFBL4BowJYBO4BnQSiAu8EQgHNBNECjQLLAp4DewLiAp0BWgWjB+kBxANpBO8SsRFACEAB8QNBAswH2QVvBE4B2gZ2A58DiAGFAcgc2Q3iBcIF3Ql0DncCfgE8AcQC5Qa1Ai0CdwIhBvMFywF5Ae0EowVzBXwBuQGhBicGsgOeBnMGuAWlAUkLnw3YAdcDtgU9Ab0HQgXUBDECsQNyAtoEkwjqArUKdwFzAXsBdQnjAdkFzgbpAXQHKgSsBboC4wyXCZICaQGgAlEEIQKLA44CSgGqA9AErgKFBL8BtAPTB+gJlwPAAbECRwKiAqsBxwInAkIBJAQlASIBMQOMAWYCjgXqAUsClgTDBtQCjAMuA3wCywGdBScCwAKWAXsKxQUwB0QO7gFPATYBdQfOCNACTgE5CGsBqQFWBucCMAGfAkgKegFtAs4GdwZqAzYBhQGxAZ4HowObAYQDIQdQAtEHowitAzUBWwFbBCUDpAG3CEUDSwG8AewF3w2oBcABVAFaAk8FKwToDnoOcAZgAq8LoQbQAeAFuwHHAdcB3gNnBbABWAJoAt4BsgPfA5sKmAN5B3IKdwMhA64FuQFuAbYCcQLcCNUBpAFzA6UCogHnDJoBSQKFAdsBNQWFBL8BoQFpBNsBnQOaAjgDqQLrAtwE4wY+Aj0ISwSWAcIFqgjxBLcDSQHtA9IC3QjjBOQMoAJxBa0Cvwf0Bl4RJwQuBIQOuAXSB8IE3wdIAc4E0ALGBEEIKwHjA6gBSwbJAkYK1QG+ASwDywHSA9cBoQzJApUFQBCVAs0BxgE8DEwKOgHUA7YB1QLDCcIP0gREAeYDOQF4AuoB4gHCAkIMPgiWAsIEqQXLBcsIzQlRAswBRRBPAbUPxQbH","tAjH","aOQ","tAjj+gO9","IoU","Ikw","hw5w","tQ/L","mgix","6wJpygSo0Aam","qwra","pQVa","MJcYlN0NbA","SJTdDWw","ogGb","nBHS","0g6w","rgHViwRq","8Qbv","zAEs","hw5H","uAWnvAPZ","+ASx","+ATU","lBB9","ig5n","9AJn","lxE6","uQWh","hQ+h","xgPJ","xgPP","vA1+","igHm7gNdwQKe","/g2l","H8c","1wHPrQy7twPfCEA","wRGjAkA","qwfY","H5I","TsQqog","tQFeEaaTAW2VBOhSI3MlAdYid74BvTzRTYUnQgEkBCUBIg1LES5JIGMlMSsmYFEhS0Y/VTMnLUiBAcI","uwLe","qQLo","tgTE","2RC0","iQOm","Sk4Enw","U5+yDro","wwWD","LWk","Acw","0ANm","uwIn","7grG","ogGb","hwG3","uwLO","hg6M","sAHThwnW","wAim","hgKi","6g6m","0APMugab","rQ+sC3sKXw","lAfP","lQ6y","pQV3","pQXN","hwGR","2wrJ","sQ+3","hQZn","XaM","XaMG0w","nwHNCNM","zAHB","qg2v","ugnYB+U","rQ/i","ugno","iAjV","iAjE","B6pMXFQ93g1H","qg2s","H+Y","H9E","H7E","vAPA","4g+X","uAFX","1gda","hwGc","uQU5","Laxd+AaYAjcIvwLmA5gC5gaYD+5z9RC6AcgHXDuAAcUnz74BcxayggLWP+MSskSkCqWPAb4o4gRLNnkuxAnwGtUBegPpAupeQknpPOSTAWxvQQ6qEuYfcpYBxil7FL5PhQ","igGv","+garrgK+","ScwNtB9DAkcIvC5DLEsOTGkxUkhImimoPOpR2yZFXEI2RYsB5OwBdTraGuEFZSfyAadWbjNRX1FSjAxQpQFkA00t8SY+I6Y","zwrjAac","zwqW","zwTq","AZilAaMTSBNGJmlCqguvG58zR0qmsAHPBPQB5/QBqXmjtwFJGW85RjBMX5+jAdwCnX1J0QEivgH3ZNQ","hwVW","iwXV","jAXb","iwXC","2wcv","oQM3rwQ7EzoCKvgBknxJCiqsAq/+Ak8wow","kQnx","mAGhHZYiKwQoI1o2dwJzKYQqWByq+AGlE2OXAaUHQ4YBLjqydzNDKlZWF04VeTw+DSo+LjSbAaQBMAdYJEhEmxSYC01Urk9qTjAZUPQBtSVDSEY","oQGK","AZgEiwZFAmwEtAJzA1QCUwNFBIIEtwe/AaMBZwZXAT4BZQJAA44FrgIrBLUEWwFWBVMHfgGfCL4FTQOCAcEBPgmzAZUBmQJDAc8ERgFcAU8BvANUB64EmQLiA34EbQJnAUcDmgNYAjwFogF9BEICugORAqAEZgRoAtUBcAGYAdoBrwInBH8IQgLWBbEBMgFAA1kBoQKTBGMISwadB8sBQwWWCXICtwKlCnIRsAh8AXMISgJaAYACdQFDAZ8CZAeqA6cCigGGAr0CnANSBKQCVAFpAj8FmQPIA58MuwOjBE4JlgmBAXECRwGtCdADdQGiCKAEiAHCAcwDrAJoEacCswFIAZEFQQGsDJsDQgY4AXwIeQHGA7UCzwI6BV0IdgGpAU0DgQFyAqsE1QJsA8gHfwjOApsHeAJwAZ4FZgJ0AZABiAXAAUYCZwTJAVoCrgKqAW0BaAHSA3QCpgV8CT8GlAKZAi0DpgSUBHIBZAWEAacJ1wPGAmAKyBW5AcUBrQFZCcgEiQJNAV8JrQPjAqYEcQE4BM4HWAGCAUYRtApKAnEB3wW1ApcBpQfMCXILuAWOBpgH1gM/GkkETRFuApcSJAKfAaMEYAqFA1UDfg1xA2cEmwW6AasD6wGXAaYDRQKxA60CnALdA0cBjw1/AZoCZgJLA34DvwSgA1sBsAFQBpEDTAR7A60BtgPBCMMB5ANpBckBSgGoBG4GSAjLAqkB4AKKBc4B4QKQBmoDoAPLAl0CJgjQAo4BTgWmAXkFtAKbBbMMUwE+BMYHwAOiB8gFYAOGC7IB6QOlA8AC0QFzAU4DrwPxA7QJmQGsAagBcgEjBjYBSgFUAZUBQAJDAq0BogFLB5YQSAVRAkYClAicApYCrAG3AaEBpgOOAZMCRAPAAVkBSwLNBIsBWgOiA1kBhAEqBUQBVwKIA1MCdgeoAZEDPAFiCEMChgPTAroCrQKrAasBUAJuAzwBTANWBLcCdQErAsMDxQJEBM0EeQXQA1QBkwY7AsINSQG3AlgEdQGwBZQBtQF4BFwFpwV8CUcBZwO6AXEDcgE1AT4BnwGYBkwCcgK3BVYBYQGoBKEBbAKlArgBegKSAXUBxAZuAZIGkwNPAyYCpgFQAawFXgKwBM0DvgJTAZYEUQXAAUwCmwZKBaACdgKfB5kBywFyAXUCiQGhBJsJtwLOAcgFSwFJA3ECbgIoAa0CqASbBs8CnwKrAXQBoAKXC2wBRgFEAkcBjgFOApUBRwGACMgFTQnTAbIBTQNlAVQHrAVOAY4CpgdQAUkBvgejBKwFuQmtAZsBdwLBA1wCQQFUAk0FrAW9AZ4CpgG2Ak4BRgGgAaoBzgOjB0wLXAFTCkEBTAm9A94JmwXJAW4C0AHGBB4DyARdAssCPgu4AiABgQFXA2EFYgXhAbMEvgN2ApgJyAGqAaIBcQKqAksCWALQAjUCRwSCAZ8CdQFEAaQB1APlC0cCMwJuCqMBQQFaA30ByQG9C64DsgFLAlcB0AG0AcACmAG9ATADlgFKBUkDUgirAUsLWQWsAkgCbghKAaYBVQNgApEBqANfAUEBIwNHAZwEOQGiB74FQQOdAYAKzwhWBawERQK9Ay4ESghwAW4DTwGtAbgDPwKYB64BaQPWB2oGTwGPA8ABxQG5Ad4JqgJOA3EBpgNND44BxAFLAnQIoANGBksNSQaXBqwQhwX2Ae4Itwg8BecKPwOpAsMLiwPhA0gKwQPABakGzgNKDs4DPxXQA20RnA","oAfp","lxHp","lxG/","hwTVsgSm3gjrAe4","CtoHqRCrC2cQ4wHZCUoDdgKZA84LsxSUAYsBmwJ3DJwB7AmfEn8M5RqgAScSoxhaAqQBTAN+AmMD0wpaCKUvwAsoIzkTyxRGAZcacgF4AWUlgAPxAcYCTwLxCZcCnD7gCUcPrhfUDDwERSB1E0MD1AKkAkoNPQFsCJEP1wevB/AdKj72KScUaRTWMTUetw0qAcNZdwL2As8CRRRwB6sB3golCfMMXAGjEGQBoQLGBT4BMgg4Cy4POQIkM0YOsgLYAt0KRB6yA40EsBT2AuwBuBiYAYIDQxsxFpIMpCnkCEcBpgd0BMwBcAckBCQXMQRXDGIB8RfgBjIBKBNzAtEJoQjfBkYEQgroBuMEJwTECGQFOgiaA9kLWgw8G+0CbQGsAYkHoAorBMgM8ge5CPEQ2hIxDScEfCElBKIIOgGiIX0duwpzDM0HUwSuE5MDMBKbCXMVvw9bAokQywLsDs8D5AiSBDcX3zXAG+QhRgs+EUoEUAjZCbAEtQZEFMMCeAVJE0IG8g","tA0r","tA1K","1QPF","0APs","qANlzgOZ","zQtI","8wwh2QKb","PNQBlJgDxYwF7esCsWVnTcxX2bYCow","4Qh7","pQbx","5A2B","8AlVkALj","8AmVkAKL","PNQBrUG8","PNQBlEGN","rgin","mQFD","C64","sgWBnQKjmgRMnwFEClgFP6ICToABqg","AGIFcgWGDFQHfwHBBIYImgJxAlwCQAxXAZQGTQS1BGQCUAJQATUKPgUzCpYBWgJwASMEhAHQAWwCygHIAbwDkwHGAsgCygGwBoYBfwInA1kGigGWBGgBQgGmASoBqAZ3Ai4DbAHBAn0BRQlyAswCswNyAX8BagGTA2gRnwFuAZMCKgVNAYAEMAltBbMFYwF9AowBLAQnDS8PLBktDCcLKw1aClgBUhZ3GFMBNwueCkoBdgFCAysZLw5RD2cNhDNRCjUPYBFOCCsB9gclBEgCMANkCLwcQBxlAmkCIQEsFJUHVxFBHXMBmQpyAnMfxAtLKUMEmgZFATgVbCVMAn8CVwZzATQJNQI4CzQMpgQpA3UBXQtsAS4RZgdUAT0MSg4tHmEBOQFxEGsPtAEmGy8JNwN/ELEDTga9DKcMJQY8A6EBUgFxBC8CTQIqBUoVLAWzA5wDJwGhCIAGZQxZCSMBgQEyBTAIbAhJBHUERgK/CIAEXgFMAy8LTAKUAVcQfwOeBVQDKAGoA1UETwZrAVoDdAFWBbIBKAuyCYEEfQFsAVUBogGlBzcHTAGJAlwGkQFGA1UBRwFNFGsCUwFXAUgCMgFmAUoCpALKAq8BrgExATEBRwGdArcBLgFNAX4CqQEmAb8BxwFLBGAGiwV+A3ECNANCArcBVwFQAZcCUwwnAVwBeAFIATAHWAFMBksBSwZOAlIBngFKASkBVgNNAm0CSgKBAkcBjwFlAWoB1gJYBk4DjAZIApcBTQGmCLEBQwZACkgBhQKwAT8BugFKAbwGSgFGAkgBigGGAtEBLAJQAbMCdQEpA4oBqQqMAmcEUgEtBSUBTQFQApABLwE/ASgE2gFaATQCSAlSAU0EfwJiAb8HfANaB9oFhwGhAX4JQQIoDJ4KrgiLAZwCHgVvAWABOgGCAZYBXQEqC3cChgVcAXgBwQNNAWoFhQGEAi4CRQFnBCsGWgZKAXsBJQJuAXABVQJLAXEEPgOfAqYBUAJOCZIEWAuUBFIBbgM1AlABagFIAWUFxgF+A1YBuANwAZMG0AJkAnwGiAKzA1EDNAFyAUwCMwFBASkDswZaATYBewZIA1kBewKgAXYEZwQrAzkDVQGgAT4BbwN0AW0BbgKiAk4CxAm2BkoDORVfApYELgO/Aa4JGwFAAkwEagGIAYoBmAF1ASkFcAE1Ai4EKAQqAWwCIgF0AUMBYwEoArkCTgKnBkoEUwFgBWUPPwFdb9AMzQ","wAxQ","vwx2","WmPKDkF0Yg","Wj5LO9YLSUJUvgFnCHspM21s","Wj4","hQtHDaqaBKuBAUGLAUM","kgtX","UnvACuaZBLEB2g","CLkMiBtAE8ogrwfKDEMEbRF8AmwJYgVBFkADQAXSCzoNuQ+0FnUBzgTLGpoCZwakF8YDlyaiLaYDpQFHDWsBUAWxH4ED0A9hBi8RRhRtIqAmcBGSBmUFQgLHFs4oigQ9BUwJNg1vE00BnQKAMMpJRAyXBktIyw09C2gEdgVOBocBbQFZBJsHTBDTAdEQMQagAqEITQFzDscFWw3XF4IF2QzTA00BKCLFKkAGngHjByEJeQd4FDIFRwOeI6MBRAdHFIIUWQGkAZgNrAbIDUgESQTpBn8KdhhHBnEHQgFzBkACZAinAlAGpRNGAWkNSgNCAo4FRjR7Ao8QhRJlB1oDkwSwAZEmyAjZAkcGsQhRBMQBjgFhCZgOexVIJbAFhgnaGK4G4wFdEUkHJAWXJkcEQSGjHpoCRgFvE0s8bwJBLMkNRgJBQ5cDoRFIFjwVowtHBUMEuRPoC/AYSRi6Ekg","oAWK","1wMv","9gGm1AbJ","/g3W","/g0v","+gHL","0AG5","rQnY","Qm4","jAEy","pQtQvgFP","qQVM","Qr8","3Qro","swJKrwKo7gJFHZ5YaRGi","hQ+a","uAGC","acrZAtA","vRHXC+w","jAEy","jAEy","rgjU","0QdZC0x9TYACSQ","D36EASlGcVLLFZpigAGwhQGShwHNbrAZnALFC6E0sDA1GoBFdwfOPJ8kSRVTCJclmgXHAcsTKg+iA2gIKBONL6VURxd0AXIphA8lF7QMfDydSJsMaxuBBXAimAJ6AsdDzSonCCYFrQWjBDoTugeLAzgORhahNL0DYDDRFKozcQupDp2DAUk0wQ","GKjEAZj5Dpc","rApt","A6IGuwNZE1wMSQriBk4HbgywBZ8QYi9HC4ATdRLhDXwERx+RF+8B6gOdLHIBaRNKL6Q06A17FO4GgzvVGM0xSzDIA9svpAHZBZgR1HO+B3xHSAToNYEl0BzgAeATzlPNEPQlZhjq6AFzBKI0rApJK34BnQuiC3oF1wGFAZwBWBqmNOoQoS2VAa4HTWqqUbcuxhLNGmAJigaWC2sD6UW4EOmXAfkbTg","wwnMnAZK","tA6S","6BHq","hgni","6BHZ","iQLJAcu7DcM","jwjZAdg","AZgI6iysBoIHgldDEXAESBS1MPQPSzVrA9UBya4BlRPZF78YnV6bBrtCrBGsBzWxAd1IHi9cId1BnATvENE24wfiC6CoAr4QTi5VAldPUhDM4QHwywHCAV+mAY0","9g6Z","+wO4","8gHN","DYXgBpQ3n9AFnw","mgyD","B0IEVwKnBE8JcgVcB3kNSQJLBk4ZWgZbBFAEPwY+AUoGPwZDBkECQglDB2cCTwdCA0MIQwNHA0AIkhQ8BEoNQAh2GkJjPwxEDkQEdglEDUcLQQFLBE0EUAI/AUkCRAFCGUUHQVZKhAE7IkcGy35NB0QYfAZHAU0GSiBQCWsYQQttElkCRQ5CIM8evwx/FkgGPhquDUMIih18CkYNcgJ0KkI0QwFvD0IDRw+PDE4VRQ5+CKoxSCHCCEMLSAZPBEAFQgZMEkcBRgZMFFEYSR1GAUQDRyFKAnMFSgVHBEIlVwFJEkoFThpIK0ATvww/BTwClwUfA0AKSBVEAkUROiVFBkwBSAGzA0gIQxdsArUIQwRHAUkTYgmtGnELUwtHD0cDRgVWB0ADigLaA0MTbQZVBXAPSAJIAUukAVQ","B0IUYSCCNmgNMwdKFKYJWwieCUACKQKsBkIDQhRAC2MWYTScDz4FSwKgAj4CRBdIaDYGPQ8+AUdUTghjMYYBdl1HDkhRQixEggFFQIIWUzN+CJEKSBl5EFYLRil7FjwPiwnIBWIIKS8hCKAfZgpQFacOPgXMJL8BvRZRAVAPRhKhCEIUSAaiCEgFkAF/ArgGQA4/DEcCSCx2DJ8chA9GDZ4eTTSaBT4SugE/U0wCRQFGCEMGSyVGBkQLSSCZPU8FRgJBI40GSSxILaM","UpQhmQNfBSwpoosBdBFqM7EBawyWnQGbIqM0mQxiebKlAZ0IbQKdGbAjn1CdK6wIgAemOJUFoQ2jUnUaZ0h5HGcCagFmBJYtiQkmBbABbQiuBmsTdwWgBGoRdRBFFKgCrgKfBFkHk0FzHqQEoxOBF3MGagpxAW0NcgM8EKQrhQ9/BGkCJgObLjESngOiFqYImxybSiSVAek","AK4CogKmAXIBSQF1AXEBkQGGAYYBZgFvAbIBfgG6AZwBSwJFAVYCawFVAWoBdgFwAW0BcQGIAj0BNQGlAW0BkAF4AUsCaAGfATQBdQFxAWkBhwGFAaMBpwFNAT4BVgF2ATgBTANdAZkBVwNMAXQBZgFAAU0CcgNQAWYBeAFkAlACUAGbAd0F1gGcAz4BTgPLAb8BlAFAAcwBsAJPBKsBpwKqAa4CxgGuAbMBpwGwArYBqwGqA7UBqgHEAbUCsQGrBa4B1QGxAsQCsQG6A9QBsQLGAbgBsALOAbsBrAGqAeIBywK+AqsC3QFRAWoBwgGyAdABywLVAbEBvAGyAagDKgKuAaoBywGoAVwBsAOjAbIBqwHEAYgCqwHNAXkCqAJtAasFkgKiBGQBxgGoAasBPAFKAWQBuQEoAbQLzQGwAasErAGrBsMCqgGrBLEGwAe3CsIFtxPOBrIEyAG7Aa4CrAK8AVgByQO7AUYBqAFWAtUBkQFzAbEHyQPLA70BSgVqAcwDwwG6Aa4CMQNxASsDkQJKCasBrAOfBcIEvwlwAq4CqguqApcBoQKxBLEB0QFKAbUBsAFsAasBrAFDArEQYAFpBM4CpwV/ASoFrAHBCYIDqwOrAr8HewKyAoIEdA29B48BhxC3CscKsAGsBLYDkAQ0AXgBrgG4AsAHtQUzA7MISwi2BLsCrgOnAaoBsAasBdABqwO3Ar8MuQLMAYQCuRtNAa4BtwGzAcABqAKtApsBqgm7AdEBqgWkBqwBjgLKAT8DhwtnArkUaQGrBmYB1wPTBqwBqgKuBpEFfgGBAn4RxgOoArACqgGDA64BuAOxDc0MngGnAZsDsQfNBLQBmgGVBLgBrAG1DXIFuQG6AcAEtgG2BMYHjgLSA6sOtgK9AqgBxAHIBbsBuAGwB9cCygK2CMcBrgKxBW4DqAOxAa4BtgGvArQBkgKrAa4BKQGuAZkDrgGwAasBswG5AaoBrgOxBKwBuwK1AbcBywGuAasBvAGxAcECkQOuArECywHBCr0Brgq2AqwBuQZpDo4BZwm5AbkBxwtjAboBtQO3CbYBsQSzAcUBrAKuAdUJYAGMApQIsQOqAa4EtwW7AbIBtwGuELwBmwGrAa4EqAGsAawKqwLIAdMDzgKuAc0BJALQAqoDqwHDAdoBrAGzAtEBtQGzAaQBtwKzAcMBsQLKBa4Bsg+sAcwBzQG5AtwDsQGnAcUDvgKuAasBqAGxAa8BywHPAaoBsQGyAa4CxwKoAbcBygbGBs4BwALGBLQBzgGoAbABygKrA6oHrAHHAckCrAGGA6gBrgG0ArYBsQHJAsgBwwHEAcwB0ga5AaoEswHNA9kDuQNsBaQB2gGrAbMQqwPAA1YCsQOqAa4DqwSuAcoFtgG0A6sBsAG4AsgDqwq1AawBsARqBLcDrgGsAbcBswG5AbICIQKqAa4BqwGrAa0BpwG2AaoDTAHJAcABtgGrAbMEsQGvAc4CrAGwAa0BtgGRELcBpQG5AssBzgG0AbsB0QHJAasBrAHWAbABswHOAcwBuAGoAcIBuwHFAa0BxAG8AdoBsQHSAb8BqAGsAc8BswTiArUErQXBAbUCxQK8AZ0BrAG9Aa4BygGuAc8BzAHAAb4BewuuAdABvgGuAcEDUQTUAcoCugGoA68BrwYrAa4BywGxAdIBwAGvA8kCsAKxArYCswGxAbgBuwHMAqsCnQGdAVgBygHCAagCyQKzAasBdAKxAawBqwGxAacBtwHMB64GvwqsAcICsgG/AbIBvAa3Ab8BtAGzAa4BvAG3AroBowLIAaQCsQGxAcgCwQGyCr4CuwFTA6sBrgJSA7UBwAHHAc0BsgGsAbsBsQHUArAB2gHHAcwBtgHSCLEBsAGsAbADwQGoAa4BtgfiAq8BsAGuBrcF3AG4AbQJywHSAacBwweqBLMC2QGyAbwEpwGsAbIIswGuAswF1AGxAcIBrwG2AdwBrAuoAtQBqgG3AaoCyQGwAa0BbwKwAbEFqgGxArEBtgG2Ab4B0wKzAbMByAHJAq4BqwGwAcsBxwHGAcsBzgHQAckBzQHLAbYB2AGzAq4BvAG1AcABwgGrAbQBsAGsArUBsAGkAU4IYwGxArQBtAHRAcMKrAOyAcIB0QG6AqoBuAGzAcwBygG7BJYBzQHLA7MB0wG2AbABvQG/AawB2AHMAcwBzQGuAasBzwGqAawBugGnBMkBrAGoAawBwwGuA7EBqwGwAcsBtgGuAckDwgW1AbMBsAGxBKoBtAFwAWYBxAGwAawCrAGoAqoBtQHMAcsBvwKsAsgBswPQAcYBswG7AbkBwAGuAacBvgLLAa4BtAHYAdIBsAO7AcIBvAHEAeMBqwHGAawBrgGwAbABrQHFAq4GxQG+AdIBuwqwArcCrAS6AloBrQHIBGkFrgGoArYCngG8AbsBqwGuAcgBrAG/AbEBsgGwAqwBuwGEAawBhQGuAYQBvQLKAq0B2QKnAawBsQGuASgCsQGxAcgBgAGuBIMBeQGBAYABgAGuAcoBsAG0A6wBtQHHAcIBRgzOAc0Bug5HCDwHQQ1FAWcCYQpIDDoDY0aqCWQBRAdoIosBRg9W","9Qva","5w5bGaQ","gA+a","mgEqhwQrxQktAVs","owot","2As/","xwtE","kwpC","8Asm","O4K+B0jbCKA","xAum","0wR58QKqiAXz","sgLYeH4mqgGrAbEBrgGoAat75wPsKMnFAbSEAXaIBemZAuGxAvI","lhHG","swidYb65Aa/mA5iPAz4","whE+","lhHG","f5Us67kGc8MDoXpG","B0sDYA+CDlwMNwhOBJwBgwtsAaMFWAVFC8MBcAFDCUUFrAFIDGAIbAFjBTsEmAd+A0oFtQ5MCb8DbQNqA5UFSw3JDcsIsRqAD9INpBeAAb0EpAGhBLwCtQFqDUoBnghGBFYCdRebA5kNrhZ1AXUCtQWjA0kCYwW9A0IOaQx2BngRgAtxBJ8ObSFGFnABeAHAA2goZA2tAZAUsR2GA5MDhQG4A3oLfgV6B8kRdiG9B4QGpxOdBCsEnQWYCj8DygqcD9Auvg2pA0cMzQZpAncHfQemBJ8IhQFtCrEDlghPASkGTgGcAaoBiA2tB7cFqwKaAUkdrBx5DmgRUAVEAcgNJQEhBVoEnAtcEWQYsQRwDLAGSwR8GKcHRAJ6CJMGahWEBIYSmwGBB54BVgptBkUVtxJ5D3UEcwZ/Bm8CSQJ2G88GQgGkAcEBjgNxBtECggWyAUYDdwODDS8EcwTABHwFeQGzCGYBig3BAY0FTAqCCpQHiAXFEnYFagN6BMcBuwWJBkMNoAbHH5gFbgdWBakGUgd3DVAETgHHCFkBvwGGAb4CYQV6AccJjgGbAUgBnwRtGJIBhgpFDnkKrwnODX4DwAhYBFYIbQlCA2sDswx6AUoSUAFEAbUBTgmbEkMBbQdzBoQCYwRxBVcChwGxA0cCqQF7CEgCgAhlDIELjws6ApwJ4AFiCcQIXxBgAeEluAyfAaQChA9BA3ABfQRpA6wLYgGgEaYZQR9MEEgdqQtCC6QKSR1DCUYFlw","I21AQxpCAZINugG3IkQHXgYtEUZA1RBxNLoPSHfSEkYaRwGgtgG5QLqdAcJJPC2bmAFUJUQyI1JFG7pHYAlmb1wINqsBzQWQFbgsSCA4TqgRRhm7Jro9uxa7","1gPN","1gPd","5gy8","V78WQjLzCO8MoIIBxeQBkAerB54vzacBrwVwsQFtcmgflRS7hgE8C9EtdVBlgQGhhAGsG58raAVtAZEsliTPYqgdSBkoZsgLvAG2E58EmSzK","nwFB","nwHMCMw","nwGYCJg","7wWZ1wKcYn/iAXo7gA","4gyN","AvQ","sQxN","swhm","kQvrmgWd","7Al/","HWoD4F3ptgPaxgKlR7iIBOkLux1CnwLTBtswrxVSanuRAUgFoWCp","OnLTAbAtPkSLlAG/RT88wxjY2wOtFtX9AqwRlWu2LtpvRgVICEY/LTTtEKw","UFKHAZ95eE1NIvjsAeGjAkMhmhyrjgTRqgHO7gJBIkgrzw","AccCdgF8AY8BqgHHAZEBwwHcAZwBrgLdAckBqwHdArYBpgI6ArsBxAKeAcYBxQHdAc8CpAHWAbACkAPSAcYBqgG/AasBcwLKAb8B2gHqAccCrwLmAXgBsgGNAYIBogGbAd4BwQHmAswCcQKUA1gFgQGoAdQBWAFUAcQH3ASpAbIDzgG9BbUBqwFBAsUDUAKUAbMBkwGvAtABcAK/AcwBsAGtAtABvQFJBKwBvAG2AYcCsQGvAnkCegGTAXgC3AGBAbEBoAGRArsCpQKtAZUCsALnArgBlwG/Ab4BwQGvAcwBqQHEAXcCngW6AacBYAHcAUMBmwHsAt8BtgGhAb4BywGdAoUBYAE8AcsCtgGUBMsBpAGRAacCegKiAZsC0wFbBEADygGwB8QBlwKwA5QGqwFtA8IBxgW0BNICpQWlB8sDcgXiDqYCoQPVAaUJ5QFLArgC0wHUAZUB3AKCAtEFuQJrC2MCuwG7AqQD2QHnAasBywHXAbABlQKpAsEBrwFvAbEE1wXCAaQBnAS1AaIBfQOzAtwByQXiAd8BxQHNBq8BdAF0ApgCpgG7BLEDkAHlAYYB2gGZAqQCsAGzAYcBvQGlBLsC0gHKAawBngRsAWcI1gPECaUB2QHMBIsBrgPbA5sD2wFhAnsD2wGbAdAEsQOcAt0CwQGrAtIByAGzAc8EeAF0AXUBcwHjAa8CyAHVBHQCsgHLB6cH0AKaAbsCoAFnA6YDkgPKB4IErQG4Ac0GuAGnA9QBvwGvA5oBigKZAb0BjQN7A0QBrQnQA98DZQLKAksClQKjAsUB3QN4A5QEsAHDAV8CngLbBrEBxwZ2AnMBtQKMAocFnAOrApcDuQWpBaUCTQLjAeoBywFzAYsB6APRAaYEygGqAdICrQG0AaIDvALNBucB3gG4AaQBcAqrAsAC4QHNAU8BrQapBJIEqwK7AcQCswHcBucBuQN2B04BnQTIAbEBpQG5BNEBqgGzAbQBsgGaAbYH4ALMAZcBwgGxAbIC6wPHAksCXgGjAcUCmwGmA9gBtQSoBOcIqASEBakCrAJoCrIBiQSjAtkBuAHkBskF4APHAaUF6gGlAtIGqQGYAbMDrwTjD20BdAG7AawBjQGsAbQB5AKeBsMCkwLIAbkBuwGiBKcDnAXCAa0BpgzHAoABSQKAAsoB6gK/AUYB5gKkAscBmQGFAacBmwOsAZ0DlQGtAcwBzAGkAbwCugFIAnMBkgXkAskBvAKKBdsG2gOeBawC1gJaAUoBoATcAb4ChQV6BdsCxQp4AZgJoQGwAqwC3wOGAaUCrwO4AYUBuQHgBbkBswHHAtQB7AHGAYAFlwXSAR4CgwKLAcQC2gN7AZwCxQJtApcBqAI3AacBoQPMB68E1AHZAqEBtAF+AbABpgWYBKwBywXIAtEEggK+AbkBJAOgAXUDkwGPAccEQwGAA7MCRwHOAcAC6ALUAagDPgOuAcoD1whHAZcB0AFGAbMCrgJ1AbsB5QKcAeIBjwGBAaoB4QHmAUUBfwHCAdIBvwLIAXkExAW5AacBPQfAAakBiQOcApsCxAHWAr0CrQF2ASkGmgHgAd8CdAGWA7MB5gHSA28BtgHIAYQCsQF7At0B3gG5AbcBlwGyAcIBwwLBAR4BkgKuBaABlwHYAZUBgwGtAtIB6QHLAdEGqwGpB50ClgaIArkD5ATOBIQBSwKiAYAGywKdAn0BngGPAd4HswHdA2IDqwGVAbgBqAJwBHACfwG3AnoEiwFSAucB5gF1AYgBdAF0Ao4BiQGiAZcBwAGjBMwBngHRAa4BwgLHArIEtwKIBrMBxQGdAZEBoQGIAcUBnQGsAcgB4gFPAdkCvAWDAmsBfwGdAbwBjwGIAZsBiQKXAYMBqQR0BNoFcAHSAaQBmwGOA7UCzwLnAcABaQFuAXcCwgK8AdEB6wGvCY0ByAHHAX4CqgGpA7kBnQOqAUUCzwHeArMBawGRAsUBnQG4AowBvQHKAZ8BcAG8Aa0DhQTHA8YCzQF6Aa4IwgHaAdcDZQG/AdYB4gKLAYwB7gGrAboBpQFJAaUC2ALHAXEBtAHNAaYBtAOiAbMBswSyA7kBywGvA9IBlAGeApwDpwGVAXoBkgGCAs8BwgSoAckBewJRAcABvQG7AeIBQwKOAWEC5gTUAaICwQHOAc8BogHoAUQCzAPPAXsCqQFRAakBwwHbAZkBlwHSAbsBeAG2Aa8BkwiwAUoBSAHGBkYHSQGrAYMBtAOFAs4DygHbAcYByAG6AY0B5QitAUUC5AGAAcAD2gPDAaoDegHXAcwBmwGJBLIC1ATfAeMBmwJ4AaIC6gHOBMEBuQHSAeMBkQFrAbgCwwrEAdEBPwHjAToBxwKCAZ4DkQF0A6sCrwG+AcgBaQLYAskE1QNfAZwClgHNAZEBkgG8AdwBwgHUAqgBwQG3AsEB7AHBAogB4wFNAaIB3gF0Ab8BUAHeAccDrwHfBJ4B4AGmAbsBTwHKAc0ByAGpAaQBrwKaAa8BqgGSAXQD1AFyAasBmgLrAakCQwLEArcC8AHCAdQDUAHnAYoBrAKdAdYCsQMiAVYDsAFBBcoBbAHdAYgBtwHXAdwDxQK5AdMBqgOuBqkDsgPlAYwCfAGNAVICwwJUAUkDZAPAAn0CtgF+BJ0BrQG0AtEBygFwA1ABwAF6AqcBaQO1AXMDvgHSAuICzwKUCV4BdwHcAdQBwQW2AcQBcgToAqAE5QKOAUcBrgXfAeADfwHHAuEBcQHYApoEagGxAc8BdgFyAd8BtgHaAkABugFmAbsB0AJzAnkBqQOqAecC4QKbAdwBvwKvBecBngLwAWMB1wEnAcACnQKPAdkBuQFGA9kBrQK8AbsBzQLWAugDggGAAsMBfwHMAcwH0ARhAcUCSwPYAbEGvgGxAtIE4wG4BYACzALlBJYDywLQAskB0QHUDVAC2AFHCNQG2wPeAuQGqQHQBcUEwQWyBUoBiAxQA8cCxgPZAdsDzAJkBjwF4wLOBeABXQHTAdcM1QFHCOMCzAbJB+Y","lgSgAWebDd4","9Ae2","2hDM","8g3j","MuTOA3Q","1AKk","hBG/","2Q3A","kQvr","AEkFwwjVAdMCfwGzAkIUvgKhAaIBPgp2JHERHxGgA40kUQQpBmgNRiQ+CrANjAigBnoEoipmAsgDMgMzCWIUxgZIDNECkwK3DFMT6AGTA0oFwQuCD9AE3QdWAXUkGy3XBI0CXAt7A7cJzgZFAds0NgpLGb0MvwyeBCsQ3BWHB8sDSAGNCJ0QzgVQAtEhSARKAqMBogFGFFoE0wdDGEoFSAKkASwO0AHRCMgUdQvXBFoCaQKWHYkBQQJCAnUOUQWKCS4BmwdaA8gKZAlNBroGTQWgA3cNnQg3A5UIuwepDmkBWgHhBpAElSNGBCgD4QOhAokH1BHEATgBORI2F0sBuQRKB44BLwSYAncHbgLYAicBIgF1Cb0DPQWyClMCYgOLGC0D0wN7A0YOswiDDuwLtARnAUUFyAGTEiwBcQffA08GXQEwCVoONQGfBcQB5wd0CbAiJQmOA3UZqAWvCDgMJAklDH8GgghIAmscpQE7G68PgxCjBMoEixIrHMMCrgPcAdsJYAJICd8MQi1nAsEEPwiXApIFIA+CApYLtgFjAjUJMQGfFTQebgN0A6YqchQ7A40Wmwh7A70UXQO3EZQDfAhCA0oOeQI3EjECJwI5AjAGagdKBXYEw1CzDsNabg","AbEIcwyAB3oIwwOABrUDmwu7ApQCfgOCAXYGsgm3BGASKwKhAi0BfAJQAmgBnARGBM4DJgJSAloFKQE+AsgCMwGgBJ8FswwsAVsBLgFmAx8CpgOzBX4EwwPOBogFrAGaBsACpAOgA7oCxwGUAnkPKwIpBHkJVAEsBCcXnBpPAVYDLQegAjMFgAkrBIYJJwOeByMBLgE5Bl0FMQy9AZ8VZQ07AYEBdAGIAU0DvQKgA6oEmQLBE6cCLw0rAcgKZgZ1AjgH1QR6BlgKoAFnF2AVrQhdBasDrwUtAqMCNA6XCJ0IWQmfCk0MqAM4CV0VOAc0A6oKMg22AWoBOwGvJGkIowPDBocYQxHjAU8UQA2hBD4arwG2CiQCbA5tBzkQkR6XAT8KpgQjAiEGtQmyBqQHOAGnA7QLiwWxB6MDPwgtAy0F0gVCI08Exgm0BpUQSglGDDECQxIhBZsCjAO2Cq0DLgIvC48CMQQ5AjYCRwGaCLUBMRAqAnMCvQMzAW0GIQG7AqABuQIoAtABnwE9AigCiAGFCDoFigEzBpoDygEyBl0GKwQfAZIDUQWkAR4CggEoAbgBKQctA50ClRJ3CCoIMwicDKMFvwGlB0kCtgl+AjsBogEwCycBKgKwCK8CXQIvBaMBpQKwBjEDpgEqDSsCygJgBoUDKQRTBIcBJQK+AkgBYAFmAywCpANwASQBKgaiBJkMRwKlISoMKAnDAjYHSwh3BIECIAG/CLAHrgE2C64IJwKmAZ4DxAWoAaQJlQOaDioCswpzAkoBLQFRBh8FdQZgCGgByQEkAaoHZwN7AXUMmAtPAqwHtwSWAzwBXAQ7EsMElwk8CUQDngSyAVgFhQSvA6QFOwKtArEB2AFyAZgBOQF6AkgCoAVNA54CLwGwBZ8CThGgA64CnQYxDUMHnQImBDEDpg+iBDICzAMpA7AFsQ2PAqABKQSiBJ0DQANfASIBIwGoA7UBWwOkAicB3QJ5BoMIKgMgDVYGUwRYBIIDlwg+A0gErwG8AX0FdwG2ASwBJwIrBUIEIwW8AqEBJwKABZkKSQF4ATIEqRJ7AkQ/ozNHBz0Ewg","tAhP","4wsn","ygHA","3QKt","oQbj","b1A","wg9f","ngOCyQPR1gHhlgLIAZNBxMMFww","pgiH","pgiH","lgvi","vgra","vA3o","9Ax5","vA2w","+QG/HLGHAkryA6umAU6sAr+xAZtZvqEC6w","ixDP","ixDc","WXE","3wen","wQRz","igO0","4wyv","qwxDkgGtAb8","vQ3OAb8","UlQ0mh9FB2gSaC+dLbO0AXgqrUhc4gFCFGFnSyzGAaACyZoBRxaWXmgwPoYBhylzEUdTehuwQXMf1RmBDGQZmTG9D5AjtBhgEUoFo12jRD4","CFE","J7AgnnigBorSBy4","7g+W","igb0AbMBsYwB9QHFAeA","FCi/CeSbCO8","FCi/CeSbCO8","tAGO+Q4o","9Qs4","6Ao7","0wEl","7Qs0","ggtW","HSqTCS29BLeNATk","lBDG","pwhg","3wOg","PnA","GDM","jgx/","QkBbNvsMR/cBig","swQ0","1gE8","pgg5","pgg5","mQOc","QkA","mwqK","9AI5hgw5SBw","vxAy","sgkq","/g0v","wg8c","rgFE","igtm","hwIv","hwIv","5QKm","2Qo1","uwJb","1RA7","1QpC","6A4r","jgx/","5gNh","Fjo","H3DODYc","pgg5","nQE2DiW7DJs","+g45","kgE3","V4w","pQvU","swSo","swSo","qQNp","uwJb","sAkt","YojQCCqxAoyIASsSOA","uA82","KoDzBUk","MEA","2waH","rwFa","qwGK8gkr","uwIn","yg4+","QCs","fDA","NTY","swjv","2Q8g","1hA1","lQdp","mQGm","kAFE","qwGK","sA82","1RA7","8Aw5","6w9P","MtktxShCBNwbqQxdA8oJiFhnMLGHAZqTAa1jvWOrR7lVqx9CGaRZYFNAEswX0StEGNEWoUA7O5qPAm1LGQRZAionpD6OK0AaQgqTswHP","qAmZ","pQFFbHT3CYXNAZiZAr0","kQJ0","MskwPwpFIykERw52JJAoncYDSxNFFONvdeIBQA3SOVIqQjkyGo8knjiZTTgHTSxte6YJcSOfDaERRDxIIkMIlyDmD2QQPTRFT1oFiQzCAcEWYFetDKGlAak","G8cR1GHRjAFIrwJaAWwCxzuuA2IBynXwlwHjWPRS30GlC1phtAGVAawBlZMB8nq3AoABiwG2J0KeA20T5oAB8CLWAdE","BuCgAaP/BU7GBkY","wQNIhALJ","DlwaaAJHJ6INLw6hAl0DmQGVCk8DoAagBdIKbQKgA3EJWwNlBKYCk0KdPJwQZgInFXgspAdGF6INngO0I5prqQejGJ1LoQKaAT5DpgqmMzRSZQmeMZcBgRigFVoDbAKcAZ4FghyYIyYKnUnFF8cELg+nApkDbh6mFasPOgLrBKsPpgibCJ4EngSJA6YMowOdDZoZpAemCqoByQedDacZnwOYAZkMrSGWA7gMjga0AWsCkgVJBKQGpwShF6IDdRijCoICrgSfAqAXnRymCCsEqQGfBZsIoRenCowCRAueAksVzhKYAigBNw1wMMwQPx6vFagOpQisD3EHbhabBaUFnwmhBqAQlx8gBl4ZngmoBZ4EqQ+3BJIFoQGjEqQBpwagEag","2gKfgQWipAFnqAVJ","NrUXpgXPA2UEsh2ZK6EDNA+SIGcEkgGrAkgCmBfLAvUF1gTxUqANrQhdLoIUqSCWGKcV1S5FBckMfSqcM8oH0AyjD58D2jpvCqUJqQHLG7cEQhRFD9gN80ynFI8KKAUqAZ4C6QjLB54NpwSyEW4K5CPRBZQNbgHSFJ8BmxQsCe4GrwV/A48K6gHVAcMRthaFJzMWrQXgEJsc2QQoAnAR5BW+NjASjiG5GHgGTwFHA7MEjgeIBTsxNQdrN7YDbA2pA6cBpxNEB5oBmgNpCpwXLRUrBOoGlgE3DI0N1Q+qBLcLJQogAsYFwQH3AdwC3wH4BbQEaxDJBWQDUQpIAiEINBLwAu4OnwSjHKkBIgXYBOwJNAN4ArQLpAXCAdkFvAZDAaIBTgWCAtkCsgilAsoByATFBt0DvgWaIZAFtQWpBtcBfRfKB8AloBDPBrwITCLFC78ccAXtHNUBTCmf","0gbS","0gbV","5wia","BOcI5wVFAsUFfgHxCLMI6AGABZAC3wPbDm4JbAb3DS8XpQZME1gPShKsAVAK0wSIAZUYORh3EeczqwpcBnkI3Qh6Bj8BSALVNu8ElAXMIy0K8h71BKgG8CTpJm0Kyhu9A5VCugWtC64L5hPpJqcx9AP3BZkBwASYAXxC6xzOAUEC5RTDBeMQzANDDM8RxQvFAdsiuwHqAZsGoAmQC38a7wfRCrMloQHJHkMJWgNAV8wajQ6eJb0O7wvBCe41wQLaINoh3wLnB0kW2Qx4E1YMSgLXCbIB1A/4ArQgcxXADr8GqwMtCUQRWAGqGHYN3gFGHqkLKg+mB54JjQucBa4S0yb0ILIUeBEmDdkH3wEcAYQBphB6OeIL3AHoA+0IcwO4An4HuQnSB+kBnQeZAVYMlwFLCpwBmE7QAqktNg","qQblUMU","wQ/R","yQyl","GdU","mAee","wg8c","oQ4f","ALsBagW0AUIBUQGEA64CtgGbBYgCdQVKBXABSAItATwBcguZAa0BcwK2AroCeAgrBn4IgQKRA58CugSoBHgGYwuOA8QNMxB6AXkBuQJ5BqACxAezBC0PYgLKA8ABPQF5BYgLzwNoCJEESAt3EIwEbRDNB3oGuQOpIHIBaQxrA4YEyAl+A5EBoQpqASsGaQVODJsclAxJApMHaANmDKUMgQOwAVEChQmDAaUEqwyJE14BZwSBBJMc0QijBqYFog5zA14DRBI8BJUE1wXPF74OwgOeE3MPYwKtBm0BagLOCHAHtgeNC8ESZgysCqoBvBeACW8BpgNuApQkkQmbA2IFSwroBMsCfQKOB6kJnwFHDdMGqQGbA6IRyQriCrwOawFDDGoFXglGAqYKfhG+B6cBmQzhDYcBRAnPAucCTxNlA7gOuwFeB0YMfAN4DHUF1BaFA0kHzAeKCskBfgptCVELtgGVB5IDqQWaEFUCgwGrI4cDrAFCB6sKzgN1B7gDrAE/AYIIkQG+CW8IkwOUBNsB3gbwDJAQkAWSB5wHggVHBJIEtwVFD1MNfgSeEpkhqCOEFZADewbSAZQD0QGgBEQRqASMAqoBqguiD9cGzQS4AVEWsA0oAZ0BkQNVL8sDlgGsAYMLrQmHBlYFoQdpAmUF1ATKCJMTPw+QAqYFSAt3BU4DqgaFBlIBfgO3AbECqgO5BbsDlwWyApcBnwPZAzkLVg5kBqMMRAGkA9AFsAHUB5sEtARZA90DRwHGAkcCrgGBApMKuAw5EsABUwHPGcQBaAExA30G3QW3EY4CsgO3BGECqgehAqMEvgFMA3EChAOXA6AFqQHgEDwD0gXHArEHQg5HDaMItCrKAbICngU9CFAHYwHNBGUEShBICEYD1xhC","4grh+AWh","kQuC","uxCA","2wp5","zA96","mQrK","mQrB","NI0","twzS","DjkGSyesCbUDngy4CpEGYgHBCEUFPBafBE0BvQK5An4Fsw+iAqMBogySAT8GmQKYBJEMpAxhAqgEZgmdBFYPlgVaKpwRnxFxBU4MoiDSHNEMpgdwC8wGmhKkEEAQszidDngdVgqkInUmUwecGss1pSGuJdMPlwPlQlAEmwenAbAPsxxGBcMBngNFB8cEpAVkB6YPywRUCM8fWwNrJHANJQFNEp4+QwmjH50IoA/NBKERcwYpCKMDIwSeA7ABngNCGisBKAEiDSoRwgjlAcEGiwawKJ8FQiSxAkcGpgWvAbAcpBK7G2EXnRThA5oBmhldCp4OqQKHBZUGtAtEDJ8DyAuxGaARwx+jApwJngerAZoInQibE6kEphGoA5sbmxidGZYSSwhGBTwCVhKvCdABvAPHA5wWvxi9BL0ZkAFBHeABsQnbCoIDywRmBq0DkQR/Ta0bRB9y","N74NfwF1AX40aBS5A28NwQTVBqMSPQuKA5IIvgqoDIUfpwG6C3IRtQ55AuYbnAmgAbEEswGiDW0RvRBxBLADjgJ6AU8DxBpwCJ4BlRNvA2EGfw+9B4wFfhFiBacI3QHeBl0BtgFdDdACngZFCbEGawHSCbYDpgKhAUoKxBdkBb8Fsw9bAt0CswKYAaAE1gfUCKQFZAF3AzYDXQm3BaABrwVABL0DtAGBBjwYwQFHAp4QpQItAq8Ftg5mAcoa5gFmAmwD3QS5A8MR0wJjDLEGcgScGmUCnxx2AaYTvAK2BLMIYAO2BLQBzBGZAWMCnQLBAqkXaAOhA8oBOAWLFdEFdQazD6IVtQK8A5UOsw6EAmoBnQpVAuUDlg7UCscBjwHHA1gLKgGrBE4LxQnBLN0HdQtsBGgD4wXHAcEPUAGeEYELuxpjApwDzgLJA7EFpQenAq8HtBG9B1gHqgWxBaQKbQJkCEINXwPLAuMIuAMpC6MBjgO1BbATmybECC0BLAV/AX0JSQ1sBFcHyQE5DtQVdwZWBr4IaQZrB6MDqwGeAq4QNA1VCKIJbQHXA9sDZAKtFkUR1w5aBV0RoAHdAcIChw6iBR8EPwY8AtIKPgKlA6kFRwhuEWsEQQHhB0MBbQhGILsHpgSbBLIByAV7FbQH3wJfHSoCqwbhF9MB2wuoHCoC2gJLAygHsgp4Ao0Idxq+GjcOuQa2P3I","ogJadWM","jQxi","pQSf","lQ08","0AG5","kARcxQNjPnSaAnQ","phAq","qQGmrgYorAFXXGrNAaWgAXoipAYsSpZMlztuBJ8YRQ","tQt/","ng9S","rQlz","rQhS","rAZm","tQtU","pQU+","vQSK","ugNt","ogHS","/g/BAasp0A","/w/M","mgd7","mgd7","1gRw","tgQ+","mQd2","4Qx3","HpxipnWMkQHK2gFkQ6McL4kCKUSMAogBhQGcpAFOb5ixAXWmAZrlAZooOUjFrAFCC0pEZQ","Y5UvN5MCK5wBNKUELy2jEpUBiEfLJZ53N2Q0BTE+qzI2hgJuFmIHbQGRM214fWRD","DskFuASuAdoB0wjnE/AmyQe+AnoWiBLeEccBowirAXwBtQO1Bl8C7gK5Ct0QiQncKcwWLB+bCZMGzgK2AtsMvQaqAvUHRw61KuATzBDpCuQFoRAwCdwEuxHWPbkM3QugH0kDpxOhHeEDqxU6SLkl0zTFE68IbCHGJocj7gLuBNAIPQeuBaMBv0agWtUMuAaeBl8GqBlYFJ4HoS6JCcEMoQiBA9McYxgoBbEZyAmjBUkJ5RdOA6ISWQTyA9wctB2nEeENwAyoAeAIdAHmA6UBmRLiBb8N3gF6IrQkmiMrApgtswyXFEAeVCG5Be0O2QmLBjsS9xacCrEHywqZBHoBgAfRCrgBKkjwErQE1tkBwg","4wJH","GJA","2Qzi","1wEr","3wdo","yANI","5gNZggu0","iwGx","1wGX","vRDI","vRAk","vRA+","sgFd","NL0","1AJ1jQV8vwS0","oAwr","jAu7","/w6B","3wcf","3wfA","3ALLugR71QWM","lgey","1AJ4","GWoIgt8Bv7oKoA","3wdo","zgEy","5gNqqAl8","nAG9","Dnc","sAEq","sAEq","0wsv","3AK6Yr8oYbsBx7kBq/kEbQPNlQEriwLO","yAMq","yAMq","iwGx","3wcf3ght","jwyn","wwzm1AL3","owPL","QbE","wQWH","D7cBghZuAjQRlAaCAosIygtaCcwVQQGZBXYCJSSpCuQLaweECl0TkgPOASgMYQadCH0JngR3BS8CXwFXKjwhcwo5AjEWYBfMEUoDrALBASsRoCuPA20TrwWrBkcu0RClEXsXNQXGGcgCZAltKcUtRwOuCaMRzTJFD9ASOwGgEXsENQhBAjUnfQmdDqQEngxyBsUJLhVQB6IUsg6WE082cCVMAk0FMhYqK6cIbQdDCJ8EQgGaDGsMKBGLDEIuNgVvAT8EjgEvB6YNZwUoAqoZPg83F7gRLwV5AZ4FJRuhDDEMRxHFBiofIAeKCzADLARGBlYYZAtJFZwOKwVwASsQgAHUC6MJxxafJkYDQRNEDSAKgiFODDJBOQxoHkUMJy58FiUQKAV6B1YJsRIyBsMcSBJJGVVESRY8B9MquA","BlAErxNRC0gJUATqC3wIuxYvEUMCfQeCBdQkswJFD4MI2QZDAuoP1QWpiwHgEz8kcw2SB9UjuQlqaE4bMlmABWoIKi3VAbgQeSa6MywVNSYtBJsDyg9cEPUM5QbWD8cLSAVAA8dTlwYoAcsE2AaXLmcBbCYxM5ECpgIzCCIOjkSdCqMqfVhoIOcQhQSwJ6kOoBSjBIosOTN1GKwaWhabApITuTqoEcINNQGBE2sGYQwtCagJSB9cC5sLpQdGIa4kMQMpBCwCqQojHjAQYgOXAdGcAUw","uQfH","SLu3CGcBPQ","Nawxrr0CP1+ewgHLmwQu0QI32wJ9","yAMq","AMICfgGVBcUGgwVzAmcIUQEtAXABxQE1DpAITAHMAT4IjgJNFF8YUARKC2oCogPQBJwFiwR+ApYDdAHKAoEBewZZFmANMwVnBUYIjAGSAcIDchCuA5QbpQ/ADXkIVAGnDZ0B1QejDDEEhQuVD8sCiQLTAU4DRAFnA1MFQQTMC+YN3gk3BLoKtgFmA3MIwwLUBGYFtQOSBEkItQJoBJACMAo/A5IEOgt+A2gR6wldBLYRaQWyBMcCkQNrBIoD3AFNA00DTgTbBIICewHEAdYEJQStBXkDrBjFBKwMZwFgAmcLlAN2BE0DUwaRAWgEpwJjA6kI1QJjAagFPwa0AtALbRdpAaMNmgnNFYkMqAG7A8IS0wOsCOUEzQSlA4MHzgFZC9ABpAJwA6gFhBErAmYKwQ9pAW8FxhRYC6oCeQNmBZ4BzQFhBpkBUAG+BrAFiQJtBZgF2gPGA8EGlAnODqkEvATOA8ADzwGDB6UEsgi5AuECMQuRB3ABZQKLBeMFPgVVDXkBqwHUA7EBnAF8BeQBaQm8BEIFfwdrBnUJhQhSAWUJNgJ9CXUJaQvCAuUClQF/BVgGiQGFATMERASXBHUCsATSAcgCwgmOCIYBigFfBH0EPAJdCiMDKQFhBn4FSgK0BJIBoAZOAzMBPwnJB58EfQUvAsEQiQMuEZgBkwxdDVcEfwK1AYMIkQFEB74GnQG9EoQIIgcuAi8GdATVCJsBxQKjA0oFQgNAAz8Crwc7Ba4GqQFfAaIErQTQBLsJRwFWBFYIVwU1AdQDWATWASIBJgEgAY0HhgGwAXkBpQmQCsQCeg4rBIoMpAGkAbgDWgLXDlINQQK4B7YMoA2GA3ID1QHUAYkB7Qu+Ai8BKApcAWkTeAHQBcMHuwK0AXcB3waUAVACswGwAXACJwKrBngC3ALBAkUCaQl3B5EOwQRuAtEKpgKxBHYRqwF+A00CNQKFAWMCWgM3AsEGLQGjBbgBcgHJA2sIkQKCDLEGxQFZAmsBWgHkA3wEvguCCq4NWgYgBb8BmhNyA44BNQewApgMQANxAYoEkAFGC4UHVw/lArAPdgmXAtIBxQFdASkBsAGOAUQH0At0C9ED0QTVBcEPzAm8Dq0LxALVAb0B1gmyAj0LngHUAbAN7QNMBqcCRgfCBKMIwQ27D0YFyAGbAck","TcA5mp4CgANpAZ7DA586lrkB8ogBnjV3DW8SoIUBQhieAaUdohGkPXWgAV8gog2GB2kDmQxrBZQHpANGjgGXAaMXvzJPI1AI0B5LgwGd","tQji","JLHIAVBUmrQKLI0BrB3b","nAup","8wzO","8wyC","wg+s","1w/U","nQ7XAeUB7Q","nQ6qAdY","nw7U","pQeKgghRIa0","mQ3r","mQ0v","vgtG","AlQNSwZWEUsEmgGtLGYFuwh5BKQBpQF2BCcElQxkFYQQngknAWcCmwaTBT0KXQfdA5QEowRVBpgDtAirDGICjAu5DVgEcjKbEJEDdAguAaILjgqnGKIRoQW6AWUDRAGeGaMJzhWbJYolbiejDl4Mqgh6DmImngR6CTYBqSBPG3YBfy1gAcECpRdhEYYTcQecAqMJZiJtGXMZaAKeBn4CqwJtAqAWnAF4IpEephxIFh4DhhNJEWQBtAKuE1ADpgKcAo4BTg2vAcYEmwGaAS0DIQFOBGIUdwilGVECRgtEAY0EbQNGAV8KpQHgA20jfBlFEDkCVgh1G24BkgNyAUQIdAGfAm8HmQzABbkTdgUnCVADRQSRAsYBgQOlB5MEJwTQAW4V2QTqBGMJiQElB6QGbgF6AqMBQAEpBr8EbwQ2B1cCkwQiAkEBLwFtBCUBpgJcAZ0HUAawEGgHKwGiAXQQoQq0B0QBPQYrBakBYQKfBUsKpwY+CGcCxgGWAcwMagp/AS8RXA+eAZoGGRZiA5APYAaHASECogGmAZsGcwMhBaYCOAJHA6IDcQFuFrIOpgJmCp4DLgGgBjABegpDBYADpwOJAykInAJZDUkDowK8AakKIgurB38CnAR/A78BSgOdB2AOdQKhEmYEsAewDEsIoQOGFmIBngIuKTwczQrjJKYWoAE9Q0kKxQ","E+0J8QhNEel3wwjSH0dZsBrOMD8wYznzCs0H37ECa6sB5F9CN6IJ4wOuMbOJAXlQRwqDB0Mx3hPbOrEHoQTqDKsVaBTDIJwkfgn5DNoUijdgQc0s5wHaNdkZwhUrCrQxJhvxDG0EbQLmB208xUqzSe8B6g","2A5Y","rAGu2AND5wOm","zQuc","bec","2A69","oA2O","ugvU","+hHC","pBDJ1wHg","oA0o","lA3a","A6ecAX4NsQWfEzxxMgp1NV75AXLHAmrjAUcxlzwnFprmAscBl4ABXFhHFkhG7GZqPqk","vwJ1rgJy","rAFHFkslYZICfIsBdaMCnSFwjwEeiAFqVXShASsTn6ABnAIvmwFglQFGiQFi","sgdH","9AJe","pQGfHzx/RBy3uAR3MimkAUlaRw8hJSO0Ap/SAkwzKWSiAaI","e1wBbwlkBm0BYgZwBF8BfgZKCUQESwFtBWkSZQ9tF2JBnAaZBXcBmwFzAp0CaCNtB2lAgAF9BGkkbxFgJW8adSNcBHADdCx1DGIlZRB+DnkEbQ1jKG4iZgxpKUJiaguiCXAKawVtCmMDZQl0AntFaDdtE2QCcBFoEXMVZQFoEW8OYw58JXkIdwttBmcJbQtpAZ0lcwdvCXYNcwhuGWQKdxRzAn0LrwdiHnwIfANxAaoOgglyDm4EeAmCBnYEaAZrDXYCYRh9A2UBbglqDWQBaxlzAWkLcBRxFq4uawddEVgFXAE/DZ4Edgx7AZAEagdzBHcGbgJzDHUEfhBuAWsXcgaoB3IIbgR2HKIMazxtC2YEngh+AW8BazyX","xgxpU8/+AZk","tg/Y","xgxp","mQ2w","3QqnxgKoEStjwp0BKQ","swGSVKV1pC9wIppmwxSlbKkPO4wBlyWmep510MUCRSRJigGiQqQUSRSthQGwW6sHViqZ","wwahsANCNT+LASsojjSfIavRAqY","+wXQ8wRUqgF+nANzKN8","PcQZYBZFB3ULMySzG0IXZQVxD5wNzTqoFHsnixZvPjxfdQuSEGgwhxzLmQGcAnN+X0ZkJKKKASsUcgRSI3cKlgczAmoqdRulKakeRw7bD0IBQwuYBYkldgbDBU8BRw1wAncWRwRvE6QhnQZwBEsEsgG3DKEFKAhsSTSeAaghpRZ9DmcXgBJBBygBngqbM3ccWhFnAbEcyhCkA58rQQ","eqALoFaYnAGfV6SFAsD1Ab+qAn2GAXcXdCqlD0gIm2iTUqE7qTFiRiFAbjiXGnobjYgBpA","oQEstw1K","4Qce","7wVh","cSo","mgl2","igor","lQow","mwHV","wg9f","wg8c","VVg","swQ0","wg9r","wg9f","gwxp","wg8c","wg8c","TEavAyCqBTzbBZs","+g45","+gxk","qglJ","2AZL","2Q8g","1wNo","Jts","9wuP","pQgv","5wx/","wg/Y","1Qnz","1Qne","1QnL","kAv6","kAtI","kAuU","kAuU","uQJD","igtm","lwHG","uQtz","qwk/","qQY7jgk3","wg8c","+g45","wg8c","zAlNlwSyIPIQqweZ","gw4q","pANp","vwGglw0q","7gRg","0w+d","uAJz","iA82","sw9j","qQNp","qAko","1g4q","MEvTA6CKBtWrApMIRMUCOw","VkUMPw88CazFAaAiqpICdRFDowJIGJYPcQaZA22AAYUrwDIhG0QIRwGlDEYepmdNInEDsAylCH0FchxMZoIZjCl6K3IGQ05xGT4nQwGUC2EFrBtyF5IWcgFuIDwYiYcBpFc9","NacSjMwJVgcoyQOKHSDiASA","4Q+a","kgE3","GKhiaBZBJZYSqxCSI5a8AnMHvx6klwGmP6dSpN8BLzt0XpWLASoEQDN2CKPrApv+Ajc","4AR7","ADACtwP3AmkBngG1AucC+wNoAd8C8AM6AnEBtgKuA8ECxgFIAccB7gHTAcECwgFkAswBiwOFAUQDngLeAqMC1wHoAdECygHPAr0C6gHDA5kBQgPzCIMB2ATuCOgEsQGaBfEBjgGyAsUB8AEnAbYCPAI1AvUBbwH1BEwC5wHrAeEBdgh0AccDjANGAfEDKQG4AfkBxwFHAbcBfwIzAlkB9gRRAdMC3QG3BY8B5wHuBOUB2Qa1Au4BLQHoAcYBggJ3AYoC4wSYB/IBpwLxASYC9QHXAkoC3AFbAc0BoAP6AbcC7QHjAXoD+wF7Ac4H7QOZAj8BzgRZBrkG+AHTCo8F7wHSAdUBxwHsAt0B8QK8BNQJ8QP4BKsBvwFUAewCmAXTAuQBsAHFAe0B4QGRAkIB9QPyAc8B8wSTAccCnwO9BsoCmwHtBE8BYAHvAZAB+QL2CfAB4wOKAd4B9wLzA/kDUQHrAfIB8AjxBEEBxQNhB8gBnQHMAdwB9wGkA88E7gHMAecBxgKNBKgRiAHWAV8E+AF2AfEE8QG4Ac8GmwLOAY0B0QG9BJQB3gFJA1oE4wHqAd8C2gO1COAGygHvArYBrwOeAXME+QK8AvIBrgL6AfgB9QPmAfEJrgqhAa0B7AM/BfgEugGtBvgBtAKYAbYBmAL5AckDTgHzAZkC7QHwCd8B+gHpBLoC3QJsAi0BuQH5BdwG3QNjAjMC+QrlAfQB2QHjAfcBfAS5AfYD+QczBEoB+QKYBesBTwFKATcBMgGtAfEBTwNQBesDuQHRAugG+QXVApAF8gu2Ar0E8BCxAZ0B4AlDAeIF3AHlAtwGuQetC/QD4wK8Am0D9wP3AdMBugHqApcB3gORA+cJvATkAfgHtwHQAfUG+QalCfEBXA9fA+sB5QFXBY4BdwHgAvYBuwX1AfcCxgQ5DfgC+gHYA3wH2gHEBz8B4gHOBroCvALrA/MIRwVxA44ErQLzAekB9AH6Ae4CRQFbAfEBzgHbAfIBZgGkBJQB0QNyAkwBygHtAS4ByAVAAu4BngEvB+UD8AG4A+YC8QHsBegCcAHiAfUL+QSwAfUD6wG5AfAB5QXZAi8B+wFMBtgBkgTcAdYETALvAfEH8wHsA94BQAGiAfoBkQOAA/kC6gT5AYkBmQP6AfMC8gLrA/MCmwLMB30BhAJIC6EByQHnAW4BrQL5AvgDPgHWBPgE4QH5AXgD0QOFAngB2gPJAqkB9ALlArEBngNcAc4CawPoAfEBLQbRAXUBUgHtAcgE+AJ/BPcBowLWAe4BwAHGAuYC8QHEAb4BvAOQAsEBigGEAUgB7AHjAegB2wHAAdUBPQTKAu0C5QWmAi4DigFuBokBXAEjAVwByALgAzAB6QX0AdYEzAPBAegD9AHuAbkBjQHoAZIB4QKnAc0G2AHGCfkB+AnMAj8C1wH3Ae0NqgNjAfgB+AHuAvME5AH2As8EkQGNBvoC4QEuAu8EfA2/AVcE5APrA1kB+ALhAXYBZwQ/Ae0DKQJPBfgCYgLvBt0DXQGpAcIE5A3LAbAD8wHtAtkB5gHJAfEB8gK/AiUFxwHIAe0D2wLoAZYBfAGlAX0B+QKyA40EVAEnA/MC3gHYAvUEaQGyAcwBMQLWAzsD3wn8Ab8B0gKJAfoGYgRIBMAG5gHTAcACcAHpAfcC2wG1ApUCSALgAdECVwI3A3EFkwFqAb0B5gGkAkEBzAF5At8BhQHFAdwBSgGwAb4B+gHwBJ0BNgWjCLEEzwJZAqYB8QfdASUBdAGDAosC1QHMAu0BpwOqAS0C7gG1A7kFvAKjAvMD+AitAd8BdgFXAesCbwHvB7kC9AfdAd0DbAGPAmsBSgmxAY8BWguhAeoI8QPVAbQB5gvrAngBxQeZAr0D+gL6AscBzQHoBPABfgLIAYICxwG5CP0B+gKHAlwBaQFFAbAD+QFdA9EBqQV0ATgDoAF6AbwB9gHxAt4E+wHgAd8B6AHmAfUBwwHYAcABJAFBASEDZQLmAeQBOAG3AS4B0QE6AdcDzwHyAjILKgLeAecCkwGMAcYBrwFUAbIB4AK4A+IBtwHGA/QB4QHoAZACdAOtAjEC9QLPAcUB8AGjASYBqwLLAVMB1gEwAWEF8gE5BFsBTgHPAecBuQFRBLIBdgHmAfsBmgHZAbkE+QHwAt0BKgHeAvcD2gG1BPEBpgKMAeQB2QG7BoYBdgLqBPMByQPzAVYBvAGkAssC6AFwAfcDxgYgBIAC2gfrCvAHWAH5AbAHRwGJCagBKgXxAe0B6wEkAvUBXQG0Ab8BsQf4AvACrAKuAaoCagHeAkQD4gHdA+gBaQXrBdEFlgX2AvIK9xD6AegBjQn5BL4I4ALNBLED5AH3BugMmAL5BekTyQTFBfAOvwrsAfUB5wXrCN4DzALnBesDfwP4A/gFwAXcFdsIyQH7BPA","OW+OAnoFrFLB5gEq6QGcVCrQAStKL6gC4XRS0QG3zQHA","lRCe","lRCV","OW+OAnpXwckCKuUDYrcC4QEyxAK3zQFqiQF6","gQn1","lRBq","iwN5","lg4/","BUgIhw","RYswq6EBvNABoogLcA","OW8I1CfMVMRLuzooSnlCcULo7AGxe6Aa3QZBHscxZlyabrNm4AE1F8uSAmMFqOoBhD7PLvAWNi+jkAHghQHjKOc","zwGn","iw7m","C0XGAZ/JAZrMC7sGl0S5","dcj0BNM","jg6H","zwi0","9QOv","hwjU","iAyxgQOv","sgFZ","5wKorAWuE/Mp07kDsZ8Cg3rkb0g","3wE+","pw6D","yQyl","5wGd","1wQ/","1wSR","1wSR","tgK4oQOl","/QKnnQyr","nQuT","FZ0NhQnwBU8LmAleA/QB4wXmCNcGeA2tAlcFmAOVCZQErAGmDlIUhAFtAbQGNwmwBVcCPQ0vDbUBagKiA+YCdgHoAqMHjQaUBzwDswT1F7Qh+QuMA6oTTwNGCUgLnwqQAl4BUy8mA5keQQ27BkMDMBz0R7oiqB5GIeZGRwjILrgJrQXvAbwUvAPOAoMnxAuJJ+sH6hfqBdID7g+tD3gkQQiyF64C2QNPDKsLYQPLBOsPHhusBGEJwgHfEaQSnAq9AS8BvBuKD6QBaAE7IMQBsgeKC8MIwwHFAswKmAmdA24bTAxRIkcOcgHYCFMUdCxmEE4JgAGnAncIQAGfG3gHTgl1BrwGQw1RBKABRQFBBmABwAKwCFAGyQ2nCpwBuQKbClEdowe8BEQBTwE0C6YDqwHBBOsE6QFyBEwnqgdFENwDQRtqBUgBRARgClQFaQNvAj4B3wKcBNoBRwUrIUkIrAFIA1oPOQdHAT0FTgdLBYwJPBXwA2AGzAa7AUcD7AHpNOUJSRqfBaYBvgN8EU4VSBe3BTwITAJEAkIBNxlDAjoKRzj1A/QBTAWlHD8IRANGDkg","xAeq","xAeq","xQt1","9AbeCb0","pgZFsQKMqwKgJG6MAiNpm64ByAcd","oQV6","TcjlAaTkB54","1Aev","1gqa3wSq","QY4nnLQLjIwD6yZ6Q3Yeaw","0wfM+Qb5AvIC3pUD8g","zA7m","zA7Y","K+Y","uwyo","pw6/","ywKmnQKUkwZXBNk","4w6f","zwjH","gRCu","sgLW","OMA","rQrk3ATW","6Am/","+gxv","nQKn","nQKw","nQKn5gbL","rgri","nQKwkQji","2Abgwgir","wgt5","JbQ","9AZq","/QjD","3wHkkwHRCFc","gQn0","1grA3wSq","qA/daU0eRA","/QbH","bKCXC7w","hBFg","L4USiwh/GakHMAnDA8YCbS14AWUBKQewEWgdYAziSLIO5iFIOkEETAF2BeAHMBU8RJ4BLRraF3gEaAxwEdQTtByoIT4h3TJ2A78dzApzSiQLVSZfKk8UolfCD2Eh0zJ0CaEJQARyHo4CxALYE8cHaXc5Bx0WRAyIAlEHowraJNMB4QLbGcwKJwZMHjAa3gjPBHADbAjmCnQBvx19DEgIQgaBAbUPywxyBa4IwiiYGKIgrA1JAq4BogPWBMQNsgOwB90CtwKvCSwFWgakJkgKtgJnAW4GrgJRDHICpgopCsIFcQGeBEkFfA7WAaMLcAE8Qt0QySHY","/ggzwgJdkAQ8","5wGd","+AKYrwE1PM2aCRk","zgFo","9w7n","BY8I1YUH6A","2A41","/QLZlgW9sAPM","/QKn","3Qlj","3QmP","5gtO","3Ayx","yQbz","BZ4I4g","mAXLlwScXnSlBH3GAZ8","3wHM","mg+BKYQ","9A2V6wF/","VrE2MpoFe44B1sMH2Q","iw7v","DavBAWiRAZWxBpfoBrA","2wi0","b2o","mAjm","ngPN","ngPN","ngPN","ngPN","bidjnw","yAM9Q6eLAqXcB98","OT4","3wGG","5wKo","2Qve","1BD0","/ge+","nQto","oBDlCpw","jAXx","jQ3q","sgU2pQWs","gwnp","5hCN","E6hoTOsCJ8kFcR/StQLoqwJIggFZ","iArCNKcBvsIDaQ","zQfZ","qwyA","zQfXhQO9F8yPBdQ","E+Y","8RHs","/QLh4AZjvAGt","uwzS","Xn+pCJiPA5FgroQCdQ","wQus","wQus","rgmolAPCHsA","6AbUlgjE","3QLt7wynPjE","3QI9","ciUnNQt4DTWQAShmKzFmBjBaLaYDOCYtogExQCu0AS4fMmm2ESgFO2k0Ej55ITceBjwEWxBxvAGqDDM","BsMqvRBiuQej9AJLJDONAkE","zwmx","N7LOBOs","hQXf","pAU9","ZtYb4hZLRqglpVTeIF4BdtABpZ0B3jy3FmwdmogD4FhSnQFLOsJbJTEr0gFuA1cHVUxXBBwpaoUB0AlEEUZPwjJHBrcHQg","8BDN","wQfi","oAaf","ggKl","1gLaIF4BU+QG4OcFHA","3QGo","5AXU","wg8cCrs","zA9w","zA8r","IFAVSwdsGmAfLFFVAS8LJpMBKw5EJ0stiCayDl4PzRNkGT4JggG0BzwsMwxiKqoCjihPFEc/olFGJksPehBKCEsFxBcxDzsXZzh+KpgFQjU2FStFKA0rFFAPViEkBL4oKQ5nCT4JMSRTAZMLtglLBkwLJwypAjYBrwFHATITdQsqA3YITxBDJW0OfQSmB1YGvgGsAkIUnBqxEXYDUyBMEFgXZAI6BZIcSAxuDCUCvwmLBm4ebQlnGagGuQukDLMGTRZFDjwwbQEkF5MBjgkoCHUSOQEkP7FBPjZI","qQFCBGcpPPICptgBn5EBMpUBfT9VkQFNHpBFkxBDqAFLfsswPSZlxAGhL0Uze1GXA8VSqB2j","+Qpi","OU4ZhkChtQJuqgFHNEi0BKIktaYBZewBLbsBPh5B","kRB9","IW4","IW4","gRCE","gA+a","HSo","rww2","5waQ","FCg","OU64BEc0SA","3glr","uwEt/gNqxwErpgIxZD6vAk6bBJY","wgzz","wgxI","wg/N","tQFg","QfI","8wx4","QY4","As4byw7SA84WfwHjAmwGXhe9CZkZhgUzCM5iJAhiR2IKYgRiAaIqv7kBKTPWAdcB2CW/AbwBvQHMAbkBuAHEHDYTwi12ZbAnjhcyEJwXoRe6AW8WggK5R9EBaAzYCXFBZwPDB3QUKCRNBJ89vwHGBIcBpwS8IzURWgFsNm4SLxFQAnIYngikLWoOoBwoEKsZqiQrBI8BOQstGSUGPwg0C1xllwarE5QMJAm1Ji0VZwFuFtYiKQKbI+xNKgSsA7eiAcU6rg","kwFH2wNctwHWAfS5AR8nviA5HzLUA0sgNIYCWAcrNDnwAcg","rAHT","uQw0hgJYBys0OQ","7gRcuAM5HzI","pgbe","vwvw","vwvv","vwtI","mgGaGJ0Mgq8GVMQFKvUBpA","9AJr2wEr6ANBkgNnB4rhAZ0kmNgBoRucBXU","sQ6k","bC0","BMwMsBKvCdcQmAo9GbIMNQXUAlwaQg9BCFsI4gE7BeQJqwKkC1UEphKgAz4s0R6cEWgBWwaZE8gGnyjNBaIp4QzEF9EErwKZDGwayh2pBeUFnTxKB+EEZAG0A3opfR9ACXk3lSDkDMkk5x/gA58WhBSFRIsH1gjFBEgNhATMEMoDsxfRCtAFqw+JBSka0C2dCaYKpwdJDGUDnAHNBXkZdRVWAUYbQwGVAosFsQG/B8YVaw8/CsgTzCiSCdk2chtMDCwQiwPLAbsByA/LLUcxrCLOI+BNGQJpCL0DyggoJUgBah3PA08BrA2rBM0J0wtCAsIGMBl/BmAOrwU2EkkCUAeoRXYBdgK6J6EQLAQ1BksIRxVECDwOzARABT0TxA44CMcK1AZkAVABpwNJFm4BRAdCCWwERwlxBXUFRgRCCas","gwuS","/wGdC5zUDkcBuw","Iq/XET8","Iq9tKWQp3wVrcZDQBiJ8LA","jAK4pQdo","AFADSwFGAUgJXAE2ATkCSwFvA18IvgQ+BjQCNAOCAkAEPhprAVMIHgkzAykCeQR6ATADLQGGAScBJwIqASUBNQJMASwBLQI+AUADJgE5AScBVAUtASkBJgInAjMBMgQoAykBMwM8ASoBVwEqATMCNgIuAiwCTgE0AS0BRwQ3AicBLgYmATcBKQObAicDLQNDAS8DHgMvCjoCJQFlASoESAIoBFsHKwErASkFNQZGAiQBLASWDS8PLBM6Bi0FPAEyBDYCJwQ8ASkGpwcxAzEDJwEtBiwDIwEuDDEJLgM3BkEEMAs6AccBNwssAacEPQQ3ATgCQgFKAisBPQEwFy8CKQW4BisBYRFJB0MVIAh+BMAMPQowCE0DLw07ASkCLQcwAkwGqxAlBDIGLQc1BikDNAIzDCsFKgOXFWECNAIvAjcBMgEhASwENglZATIBQAV6Bi8DOxPPEioBNRA2Ay0bawQzAzACKwImBGQBYwM7DVINLgQ+BycEIwYsATgBOxJaATUBMAU4BDUMORAtAjIBKgE5BS8BLwE0ByQCWAHLATgEpQQyAT8CNAgoBCMBKgEhAikDWwEpAY0BMwQ1AjsBOAEqATcEKAQvATcCOAEfATEBHgEnAToBLgEqBUAELwtbATAKLQKwAS0BdgZWF7MCTA0xDC8BNAg1DGwJLAMzBS8FNwExASoBKBAzASoBIQEuBDMCMgxAATcFLwEuAyoCJQM2AS4CNAExAigBOQM2Ai8BMAGJBysBWw8zAkEBKgUzByEBJwMoAS8DRgEuAT0FIgErDC0BMwSzAlkBOAE9AlMCHAorASsBPQIfBMMBtgEmAzUDIwEoCS0BMQQeATEDLwsmATMBQAFXCHkLJAUvBD4HOQEsBSoBNAFBAi4CQwIoAlIBKAmnATABRwEwBugCJQMnASoBKQFCASYBJQQ/ATUBKgEzASkBKgEvATcEUwEuAjcBKwQ5AVMBJgI+ASoBMAFhElgBpgIvAjEBKQM4ASYEJQIiATEBfQIwAR4BOAFOASwCpAErASYBLAIqBDsCMAlOASwHJgE2AicBMgM7DTIBLQEkATAHNQElBi0BLAYrATIBKAEuAikBMQMvAjMCNgImAiwEIAc7ATQDIgEmAy8CNAEwAi8BLAFFATsNQAPMByoBMgHGAScDngYrAiUBKAEpATkBKAIhAZ8FJgFHAS0COAJ+B54CKgIvAUADNQYlATIBKwEtATQBLwE/ASgGNAE0ATQIPwExASsBUwNIAT0BJAPGByICNwYrBTgBMgu2ASgBWgc9BC0CMwE8AT0PJQIeBRkDOQFJAioLKAIgAaIEIwFFASQBygIpASYBWwQgAR8DMQElATQBMgMrATIBIQInAjUDMAJLAiQBJQEhAYkBNAE7Bi4BLwE6ASoEOwIyDDIBNQjKBi0BUgErATwCNQI3AikBLgRDAjcDNQE5AS8BLgEmAigBOAExATkBMAEiAjABOQE2ATEBOQPAATcBLgE8ASYBMgEiBDIBOQEsATMBMAEpCDICNgE1BEYCJgcpAcsCWgImCTIBIgEjARwEQQQiEioDIB4/ASQJGwEqAm4CLAE5AVICJANHAS4HLgImAigCfgM2AiICJwGoASgCLwEmAy8JMQMyAzABIQFcDzQBKQI1DkcUR44BqgVHC8IJSg","twma","twnl","twlK","AFAOfQF+HEAKhSU+iQKehwHASrK6ASxUnhGaAZUvR3OThQJErQKcN52gAScCXMYBYoIBtwpIBK8DmE7IRqsunwGj","rgyd","DrMNjAIqBb4IxwS3IEkhshgmI9wh7RagBp0EdhGgCsIzWQF4BuID3ArsB+cW3TpCG8kH6Tl6CdMHdSK0KswT4RzLD9cHpAmqApYfuQqqPKtFbyHQBtcZaQrbAegC0QGYAcAf1ApWRekB8gPwAdsF9AHDC9IqzAFgBfoC7BaeG+Ei5Q22DE0N8x3rRp0V2RTwAYYB6S2WAbFZLhGuA+AD7gHzC5MEvgveDcM9kRxeAd0UpzjgBu4IwA6uFusGzAHsAbcD3qkB3wjqJEArG1LqEOkj0wzcAdIzywRSR5s","kgiw","ywHhO66QBtg","0w3d","nAje","6xBI","6xBI","Yx/qAbOlBWsgsgHOA98G598F6g","rQ98","rQ98","gAyL","0wnc","lwjP","kgiI","kgjg","kwjKA7E","2AiN","wwKb3wS6AZi3AeeFAtkC5Q","7gSn","1AJn","7gSL","7gRf","kwiO","2Ais","2Ajh","zxHL","sw/H","/AunA5ABsw","oAe/","+g3K","B6q4AqAbbB2xqgHDA2KMBU2YAt/JAY/pAWrAAYgn4V+q","tAi+","AeEBOAGVAUYB1gGdAUIEvwnxDy0FzA5cAVoFzQGfCX4DfwHgCcADqgJ+Bi8BMwMpBpIBMAFYAroDJwIqASUBhwRtAogBQAIwAn8BRAEyBS0BKQFCAqwHhANwA6ACSQcuBkwBXgE3AzcBsQIuAYsCSQIjAloBKQIsAiwBJwIvAS0DpAFpAq4DkAGXCjoCJQO3A18CcAQwCEoFNwFYBdYBywKqAYIf1QFnDuQB6APYC0QBPAmAAykNMQWJBCcHPQF2ATkD0QNdEmAN7AihAUcLLAM6AV8BUQhKAngG6QLNAegPnwMpDDwDpwH0AeoEUAZcETAEsQleAX0GbAEtArQRgANgDJ8CNQbsBowBOgR2DDMDLgnRB0EE2gK4AsECLQE2BHoCNQUoAdMFgAyaAjgDSBs4AzcBMgEhAjQJoQM2CbIFQAGQJ4UGhAFPBrYDNgPCIjACSQImAS8DNBExFMAEWQSrCIgTNQJtCDUeMgFEAaUFLwkkAjUCXAs0CCgExAiJAa0FpgNZCzcDNwFSAUkBowHZAU4GQANiAjsFLAPrAzAKLQJHGbwHlgbFB0ABMQT0BicB9QI0AfADMgFbAXICWBCDBUsDMwEvBC8FNwF8BfIEqgOjA08DVQOFBoEKKwJAAXkJKgawAlwFOQI2Ai8BmQkxDzMBKgFBB20EMgJOAWsBIgGnAk8CYwKUAT0ETQ8zBlkDzALnAVQDfgKlBUkBKwdMAkICUQKDA5sBPAI8BmQBUgW2A08DmwpAFCQG6gHqASgJjwUqAUcFiAKdAmoB3wXOBTABXgFRCEEDJwfGAzUBKgEzASkBKgLkBDECJgSAAzEBdAMqAi8DmQVICVQBOgErAlABngKVArgCJgEkAo4BJQI9A0kBTwKKAS4CfgEkASsCYgEkAV8GqQSMBiwCPAI0BJQCQwM/DlMBTQEkAVEBwwOzA1gBgwMqAy0BSwS4AzIBWQFNAkYBMQt0AdsBNgGdA1wFeAI1AiIBJgGfAaUBsAJWAiUBLwEsASgHpAFjBKUCZgsyAp0DJQYrA68COQLLAW0BLAJfAUUCJgEpAS0CXAGnCioCdAp3ATICLQG7Aj8BKAFKAnUBegTUCHYBjgErBCoBPQEkCD0CIg1cAoUDZgZJAigMdQJUCEQIQQFAAqYEvAE/AS8COQFJAXsIagQoA0EBWwFiA80BoANHAdsDywI5AUwCZQFrAaEChgNJAWwBdQMvATUBOwFPAWgBIAMkAZUBIQI0AYQDNQE4AnkBLwE6AnMDOwIyDDIBggFjBlMEHgMtCSkBfAUxCCYBLQEoATgBMQM8AeQDpwg8AjIBvgNWAXIBOQEsAykPKAFWBzEBKQRMAnYEPQFfAzIBsgFTAcECRgFiASUBPwIrASIDPwF5BH8DewFxCXQQ6gKxA74Cawe7AT8EaQZmBjEBewRHAcINpQJfAyIBtgInASgCUAEmAy8KJAIyBGUCMw1yATQCOwZHGMEC0w3WA6Yb9gHsAcQIxgE7AUQCNwFJAUYCRgs+CbcBSQXaAeEPSSlEBUgOQgfWA38","4wfZQ4eKBITrAds","qhGb","7gre","0gPbAeo","9Acs","wAd/","rAi7","wQVI","swSljwFS7wnAJM8","sAOf","0wriQtI","1Arj","8Qja","9wfZ","9wfF","9RDT","lQuo","FHo","8wpc","7gRf","owmZ","FO0","8gOxO9w","AeE","uAiiuwhA","uAjf","oBG3AdM","vwjh","ghG5","hQ/G","ghG5","FHo","9we6","+Aij","0gPM","3QSc","xQ+2","wAd/IqPeA4E","hAPs","/A28","BcM","BosMnAWuBa4ZpwG/AdECsBW8DbQCyBeqEqwQvAHKB6wWpBC2Iq4MqxPCDL4IdwF3AXcXdxB+C1BRvAHBAbwKixa7GqsD0Aq9JXEBcQFxAXEBcTtqNmAfbi6sBao6sQGzAbEZYn3OF6gGTgzRA4gSwxeoCbEiqw3CA6sSRAOuJcIjxBGsBboHkgPBBqoRywjkGX4BvwfMDasYrAu2DVojwwTNE64cJwTSAbkZpAVlC5AXqwPEBFAHpRCuG6oZpANHBsUHtAKxA9ACNQmrAa4BsAKqBskCYQawAcMgwwZ+Ca4KnBewHpgI4AZqAawKrAPEAcQBwgG4AcEIrgKrFY4UtwGqAbMG2AR+CcECsAuuBckFsAF+A64CvwGrA6wCsDbPAsUFqxK9AqUCxB67D64FugGrAqgBsAaxAdsCrgOwBa4TsAKsBqoDqAqrAb4EngJdAbwBvgKsAbwFrAOsBrMDmwZvAsABUA2rAclXqAurAas0qwGoBKcCqAGq","kAJYwQJWhwQl","MEtSaCCEBEQUYAZCL1gEPDHNSGUOeQlGBGhLqUKUA6ABQwGoArUD0AHRB9sTUQHTFoEDeQuaQ7cOyQK2IZQVaQR9AXE3pgnKOXYPaiObCpcBpgh2C1g3pw1IBJ4RuglpB9IBnAGQAaEIQgK0FE0NowR2Ab8BxwGsAasDHgGNAb8BzAGLIHUBvAamAY0ImRCiAcoXywGND80bdgW3DVUGnQ9BCs8BxRI4A4kJkghoDXcBcwF7AXUJghGaCH8EqAhICmoTnweYCbgISwHEBF0BvwGZAawCtAG+AcMBiALEKkcZaAK3Aa0CXQHOAXsHXwFRDUkDrRy3BZ8edw3KAX8BdgGfJ4QBhQ1qB3oChQVKCt8LYzA0ApYlkxB5AdMarxCeCjEBwgM4AcEHhR0wGSgMdFynAasHRxibMMMBdAF/AswC1wOcAZgGQAM8EKoIrAPFBNUFngZQAlUJkQG3A9UDtQKtApsHnQOaBLIBpgNAArICoAGjCu4EiAKoBNQJdwFjAbQDmwidAUYBzQlIBtcU0gPJB7cHyQOo","ngTQAdE","pgTJpQ3f","7BFG","pgTepQ1F","MEs","nw8o","mwSgjQ08ELI","AkkNUWR1GEIfSw9tdpkenAOgUz+kBKUYaCUtYkccfyhKAaJQRClNRas5fWhRD1GBAr8RRg4+JEooO0iiG3FkPQdIRz0KQg","wwJEhgUp/gFHugVM","sw1JlQOyAvg","AXAJUAQ5BH4L4RK2Za0pQitEDYwUtxnaA54XZAbQcVYooCrREqAPTS5YGT4Kei1lDZEKoxnUGyFKrgrRBGh+lxBNHM0PaR3EAk0hL3XLGzIDlymnE58BmASjLVMPJRcuGJYC0CA5hwFCETQBNQXWAX4nVlKZPNwDHhg4SjYWeSOcF0IHjwaQCGNAvywnCVkJZwh1B50pUDY7","hQS0","wwbR","HeE","9Q3X","DL4OxghM0QGeFEY+dQt3D6KsAsjjBUPLAz7cAWQNpHSxfUk","ErsOdgPcEksLlw5JCJINHwWyBcYGmQKyAqMETAI9AqABhgloGnsEHwIsCLMJYAYnA6QWpwKpNpweLQV3BDMFLx0sBJkVmwEkDIoblQlCAysZqg7IEDA/wQWyG30CdAWxFTwGKwGxCJ8LjAyfBcolqgqpRakDXyQrCnEaoQZ1BUMKRQLAElkL7wKFJC8Khhn3ETgGqgShBkIBtAHGDs0CaTKHHHcQoAdVCaINriNoA4sJRgi3BJUDlQJzAacBLQFoBlEBMRAqAsIMywSVDNgEegieB6QJRgZ0AcwHUAUwIMEDMwGmATUPdBWjAoYFigIuBT0OvQiQEKoJmgZ6ApoCpQHLE6UCfQWgATICSgoqBC4IpwZ5DDwFtgQyD+kBfgKOAdECUwVrAW8DSAquAigDYghmB0sPLwOrHlMCdwPNAqwCbAMrAnQCOQkmG0ECyQXBBIwtawmYKWACYAFJAqwDvAN2B4MCKAiZAXgFSAFsA3cIaQSxDmICOASwAisDqg28AXUGZgRFCjUBawHMAy4FqgSeAp0JIgVBB50DoQM0AkwUjQXKCWMCKwYcAU8CHAIpAnoDKwSyAWkEqgOhAUEGmgleGSQJGwY5A8UELhB6Bp8DhxWoAYUIdQRgGUgCQAtHCjkJuA+rETsBRAI3BK8LPgREA60pRAM8CT8ERSXB","gwzZ","gwy9","gwwn","gwyH","gw6E","gw6s","wAfZ","wAem","oQPj","qwGTC2o","AL8BwgHdAaQBtgK0As4BrgGgArMCOQGuAX8CfgFvAZUE4AJ2AX4ESwE9ATUBpQLgA4ABpgI0BkAB1AV/AUwDxQF+BJUBvgXOAkAClwVTAeYB3gZ1A3EDuwNjA24BVAUrA9YBrAEjAl0CPAElBF8BRwJrAUACMAFlAzIC5AJqAWIB2gEmAncEZwTPA20BYgGxAkIEmQXAAYQEawEfAUsB3QJfAScBLgXqA28CiQIsAXoD5wOfAXEBpgGWAR4DbwVuAs4DvgF7AakBZQJtASsBPgOIAbMB5gFuA9MPpQKRAZ4BrAFDB7gC3QOiAegDuwRtA9wByQSQAZ0BzgR1BNQLoQNKAZwFpQK1B3MCQgWgAWoDMQNrA+cGcgGgBFABfwFEBnUJRAJ8BfIDkAREAn8BPwS2C60BZQPRAdwFjgFwA8EEyQE0BEwGSgJ/ASsBYwGeB0ID1wF9AVYB0AK/AdEC2gFtAsAErgdRAmoB1wjPBS8BMQLiAXgFuAWzAsEFmwF0AToHdBDQAtAFrAF9AbYCrQGcA74CqgGgBG0BYQjJAm4CbgLBAbIC2QHTAusDwwKrATsBeQPlAdABigHVAaMBowK5BrQFkQOhAawExQLNAZ0GwQGaAX0DfwFdA9IBaQE1AecDxgE+AZ0DngIzAZwBnQS5Bd0CfgG+AyoBZAGUA50BngNYBG0I5wFNBOQCfgTZBbUC7AHOCL4FagLOBUACugFnAXQG2gQ8AbIDggFjAZgEig9pAbkGuwEhAXEBuQeAAaUCvAOlE3YJqAWYAiYBSQNmAVEDqwG1BNkKpQSJEcYCnANeA9wExgGXCaMCrwLPAqMEuwrAAaEBUgemAbsawwFWAZ0BVAk1AqYCpQalAdwBywG1AecEngHjArgCzwG7AqMFcQKsAckBqwO2A6oCoALYA4gEogSTAYABOQXDBXoCngG3AqICaAJaA5QBmwaOBc4ELQjaBsIBmgLvCMwC3wGDAZgCOQPfBI8BywXDA9IFdwFuBZQB6wFZA0ADTgJwAV4CdAXMAaUDhQLgAZwBfwV9Bp0GpgO6BaYFiAPFAngBxgNTAVYCRwKoAuUDygGlAcwCxwjaAnYBQgEjAX0CRgGfAeYCLgHEBOgCSQR3Ap4CKgJxA2YBugc0AcYGZQJfArICLAPZAW0BnQLLA3sEUQJxAZ0BawQoBGkGNQmqAqwFSwGZAqMCqgGeA90BlAGHAqABQwLIBZ4CkwJoAh4D0ALOBpABZwGEAZsBrQG3Ac0BTAaxBIABdALYA9kRmQOpAyUClgHcAn0DbQWnAckCywV1AsABOwG/BHwDTQPXBa8BqAEwBa4GdwGgAdMC3AGcB58CYAJCAcICvgO2AVsBSwO0Ad4CwAFuAaUCUALhBV0ByAG9AecCTQKXA5UBMgF4ArcBLwJIASkBeQEnAZ4BtgHUAkQBXAHYAaIEdAKYAbUBTQKgASsCuQGqAaUDcQGhApoDRwG8CJ0E5wFXAWwCRwGfAnUEWgHtAV4BowGaAcgIdQGqAsgC4wLTAb4IjQHAAYQCvgFEAtABzAErAUcFugO/CHQCaAadA0gBjAFEAi8CdAIlApsRqg04A44BxQOAAmoBKASYAc0BnwJ1BqQHhQV/BL0BzgFSB8QBSgWjA8EBtAHGAXEGUgWeAacBSwFwAyMHXwRkBU0D3wLPAWYCXAKUAtYHzQ5OCnEGcgGMAbYBVQHSAZgClQHDAlUCOQEgAeoCqAGkAWUE2gFnA80DZgMnAnwCQAMpAUMFWgNRAVMBrAGtA7MCqgGnA4QD2AJQASwDgwdzAnECzwGwBHUF3gmdApgBzgHcA9AByQHbAWIBWwJ9BqgCuwFNAaYBNQLPBcoFdQFFAiYBQgKaAmsCiALJAnwCngOdAUMFfgHpBDkGnQEoBioBWQNaAkYFxQElA5cBfAFHAZMD2AGoASsCigLKAmsCIwVtAtsNew+xBE8GogaqAecBrAPTBKsGtQGnAogBagF2BZIDrAFBAZgBZwGkAb4BvQI3AbAHjAEjA7cFwAGfAlkEXgO0AysGpwOrASEBngGCAdQB5AOvCDMCdgGaAa4VtAS0BYsCiwdJAd4Uhwm2AW4ESwfZBJ8DNwJGDLIBpwM9AmMF4wKyBIoJ5gN8HbIB+AFIAsgDRQiXA0kG0AybBOcDzg","wg9f","xBCe","1wMv","yAtI","xwMw","6wil","+wvsAV4","nwlG","zgEy","qwFf","UJE","9Q2j","9xH0","/wue","/wuA","gQ7Y","/Q0Z","I/nsC+Ezqw","I9s","jwzm","jwyj","BrQLRQxRKD0pJzijTpsCqgXQfGA7nWZyX8sMphnQD44FSgKfDKQ/fBx2XYQL3keZAcQcZhGTBzEEggJwA00fRy6fMjMnSwigAcsQXTWspwE5aY8plJgBUzQ6BX8gR4QBhVme","hAS/AboBwQ","AjgOnAauE5EMrFCEAcsJ2kScJ5YRqwG4jQG9SKIYrXWQNXkN4wFmFUWPAbEf2ChuAV8poAXgtQHtELsYQwMkDTEtfBZEQNFYlRHOAogQWwVcDVANKxF4KZgeqQuTDZopoQKEAZYqsx9aDmY1ZDFuJbkBhARYHXEHLhciTGAwvQ","jAKr","mQO9","AZMBSQNnBE4BegG6Ac0BRwFcAlEDTQJrAX0E5QVcAkgEVANDApoDSwJEBqABUQRdAZgBxQGQA5MEfwJKA50FpQZaAa4CZglQA1QG4wXcBbMBbAFDAUYCkQiWAW0ESgI+B1kENwHsAZkBvwJ+AawBsALQAZkDQQFqCIsBQgFLATsEZwW4A0MCcAGpAUgFtAJLBIABSgh8AZEDuQLHAS4BOQXWCLsEVgWQBnsC0gFCCK8BrgKvAaUDqwGJBNIFtAOvAbQBsgG3AT4BswGzAaEBqAKwAbABtAylAYEBmgGxBLUBtgLSAfgBWwI+AT8BPgE/AYcBXAJGAj4DkQmqAZ4CdwHcAYkBJwFKAowDPwGfCK4DmQXMAbwBvAG6AcIBkAGiAbEBmAFEBrACswFtBYsBSgFGAWkBVwKOAqMEtgGeAZgBlQGmAcoHygGiAnUEmgJIAeABpgF9AYYBQgKlA3wDoAtmAcQBwAGcAeQDxAE2BUEBogGeAbMDPQHBAr4DUQOrAT4BbwJDAzgBQAI4AZwHbgJIAdECSwE6Ac4CsQpyAUUBzQHIAcoByAHIAqsBkwFNAZQBog2lAaYBlgKoAagFwAGxBbUDqgHrAaYDTgbMAaIBuwI+AXkCrwNGAaoFqgJBAbEGfQW/A7ICgAOdAcoBUQHAAkUBmgFJAnIBSge7Ab8BvwSeAckDjAWxAaIGcwG8A08BQwKUAocBTwHGAp0CrwKXBnkBygOnBm4CSAFTA08BswGbAUwBzAGWAacBtQHOArIC7QFLAYMB1QRAAY8BUQKxAWoC2QEwAaQBRwNtAZgBzQG0AdUEPAHTAa4BcAFmAagCzQ+gA4UBhAK4BUUDUAaQAUkErwKxApEBqALRDMgCnQG2AccBrAOiAakBiQKoAUoDsAVHAUUCsgJwAZQDsgGlAZoBrAHPBJwEswG4AqQFngKbB6sChgFEAkoDmgGVAawEqgKfArUKoATEAUcCTgHIBIwBnQScAXYBsgFCAqgBjgGCAoQBhwzXAbcBxAGOBUQB0QGxAn8BwwFEAS8B2gJ9BJ8BJAJzCN0DSwGGA0IDngh0AUkBngGkAa4C0gKpAooD1wNZBuABiQE/AZoBbgQ8AkIBmAG6AccCwgGRAacFcgFnAq4BqgKOAUMFxwFIAWEBhAKsA4ICcAFKApgBbQGjBIwCiAFPAZwGmgFxA6sBugG5AVcCnAHMAbEBQwGDAaUDRAKmBsABiwGxAWoKlAKvAZEBPwJhAucEqQLAAaICmAGXAZ0ClwHJAqsBpgJLAY0BgwHrAdEDSwFTAcoBSgFLBZoDRgGnAU8BpgGjAq8CwgOjA0MBqwKlAZYDvQJMAn0CcwR9AtIJVgFCAtoB4AFJAWsNuwFDAboBvgJLA0UBSQGxAU4CjQOFAcIBrgGvAqcBswGuAqYBqQGlAaoBrgGjAZUFcwF2AkMHQQK7AVQCdwFgAqEBPAHMAUIBeQKrAnoB3wRkBlkDgwKyAboBUwGcAkQBpwFKAz4DRgGvA3kDRgJHAjwCYAE+AkgCowGCAYQDzwRHBZcBRQF2ApgBgQJ3AVMCUgLdAowBtQPAA0gBnQJEBKYBzwNKCMMDRQPIAVgB4QGfAawC6AGnAnIFSwZIA0gCtAGYAaQBoASyCDsCMARqAUoDoAQ+AWwCQwFAAZQCmwG2A0UCSgFhBUABpQFEBLQCVQFEBUUBSAKEAZkFaQFtAcMBZwJUBHMFbgFCA0EBTAFKA3kCqgLTA08DRAGZArABKwJCBJkBzAPrB04CRwHMA4sBrQNGAbAETgFMAU0B0QSpA4AEpQFIAaMCSQGvBIsDRQKWBEUBdwJ0AbwBmANPATYBowGvAnIDSQOcArABawPIArIIdwFqAUcBlgFIA0YBRAHRAsUDpgGGAYABggGBAXYBiAF5AUIDywHSA+sKSgFNBUgBcwF/AZAFRwNwAqcCQgLGAoYBewFHAaoBpgG9AUMEigGXAY4BTQGfB2QHRAGRAj8DSQFDAUMDpARLCasBxQFLAVkBsQNJBqMBcQNFAWgBxQLHBVoDwQGuAasBhQlFAkUBbgGPAYsBlAF3AsAFjQi7AcwL3gKtAV8BYAGRAZ8CrgJIAUABPgFfAboBtAKBAcQBjANLA3ECRAE6AawB2APrAUIFswJ7A8MBQANJAsIBQwHDAlECcgRRAYADqgFCAcUBkgR0AcgDiQFEAm0DdQJNArEBsAGvArQB1AGuAZ4BpAOlAYwBQgGYAqQDmgGvAUUBwQaOAUwCRQLBAWICSARwAUoB1wFTAU0CQgFJA0IBQQFLAdEBSAM7AUgBswFvAUcBhgF3AXgCbQM+AW4BPAJLAUsFcwFGA0YBUwFPAU0BUwNWAbUBWAJCAzwBZgFDAUkDoAOoAyYDdwNAAbYDQQFHAX8CRwLXAnsCRwFHAXABYQFpBW8BbwF7AUEJSAG6Ab0DbQFxAWACYwu9AVABnwe7AUcBSgStAaMBpwGrBHEBeQJHAcICbgFOAUEBUgFnAk0BTAI3AVkCQAfkAb4BRAGhB0QBSQFBAkMBwwODAnwDOQHIArQDQAF7AbwBRQFGAZcBagGkAsIC2gKuAXADcAFuBHQDbwp1A5UB1AG9BqcCugFABXABRAbFBEYInATRA4cBrAOjAV4BPQxCA+sG2QRsAUYKiQZjBswHoALCBLwDUAGdA9cBTANJAbwBpQWpCLoB1wVIArkDfgFhA8IHlwRGA80HSQmfAaMC5QJWAVUCrw","sgdLGEY","yQyl","5wvFYqUB2gLx","zAzr","vw6j","lwe7","lwem","tQLu","mQqE","NXY","rgwv","rgzB","9QHJ","rgrC","0wWo/wSuF7Q","bo5MUZUE0/UC51Tg3wSR","mQqu","5AG7","1gqa","7g41","vgO5","vgMt","+wNm","mQqE","7xE8","2RCp","mA7i","uAmu","uAlq","8BHI","oQ5W","oQ4f","oQ4f","vgF9zwg3Xso","AEIOzQJJIeAKOwUrHl4M7ghIAUoErgF2AkYbfAFCAaQBugmsA0cBbQZfBmoDPwW8B4EHSgW/B0cGSwY+A7gESAbSEMMEdgdwI3EFTQegBT8SSgZPCkgBSAaiC88BTgNEA14KlgucA8wDkAGcA+sOpwi0CJgfqQOhM3AF2wTQAkcKSgjtAkcYSRDVAnsB0QU/C3IRQxFDCmcFyA1LAkgETwN1BekETQF0AUkLRwNSLHYKTiHQEGkesQdEDpQJrwPJBU0CzwhuDG8J4BFLCkgFzRRNCkYCkwdFAc0KpALgA0gBQghIAZkB2gtIB8cS4gegG24F3QF5CI0FPg/NCLYO4ydLBIIG6iNCC8wC8QNeAcgFRQFjAkgDQgI8DeMBPQShDWkMRgTHBY4BpAjBDk4RRBjHFS4CTQR0DUQQQAVTC7AOLwhpDkYDTwFBBWsDRwRPAUIOwwakBc0DYQKoBkcDTARwAfQB8ALyBmsBQgFOBOkK5go2D0MBPwHHAUsKbwGfAkUCRgNHBUcX0w5IAlEOzgFOGKEBTQraDksGhxVNAU0bUQJQGUEDPgJOAkcHQgc/AsANQApIBEYFJARwAUYGowXRAZsBRAJODeMBrAHICXQDdwXXAZ0BRQxQA0sGSAFIAz4BRgFHHDwBoQXBAUsCSASfA0kDkwOqBY4IRwljAWkS6RiJBUcKSQFFAk8GqgFBA0IFfxNEIN0P3g5LCVADRx7GAqIISwijCUQCRgFKAYYKThviCdkiRBBO","/At9","+wv6AccCrQ","+wvJ","+wuu","+wvS","+wvuA60","+wuq","+wva","+wvJ","/gvR","+wvE","Htc","HsE","Hi0","7Q/c","AG4BxAGXAXQCcgHgAe8BjgFzAroCvgO6AdoEwwZ+Ay0CjAO6AX0D4QMwAT4BswLYAWkFxwF2AZcDPgFrAcMClALHAqYB+wGpAX8BnwPXAb0JvgScAn4CTgSCA8MBfAJ5BMcBrAFmCMAEvwTCAc8DuQKMBbcBsAKtAdwDWQK4AUYD6AKqAUACPAR1BdYDhAI7BG4EdgLfBikFQwPFAYICQAMmAooB4AgyBWcBuAG+BYcBcARKFEcHoDtaAYoKeRN3A8wD4wQjAsMDtQHlAVMB3wXkCXwDrQF0CZYKcQGPD+oB1wLKCdACswG9F4MCcwXIBm8ByQm3AXkF9AHaCTgGdBWAAcgazgutGLwBzhYlBjACpQJmD9kPmATcAaMbmgFnA1kC1gSwGKEF1iHLAbIRzQJ2H5QFgQLQBJ0RYQ2QDyMIUAazAqQKJAG5CMcCZRxkA0kHuQGMB8oCpApHA7IMaAGqAegGkwb2BJoBrQFgA6wE2ANYAVoCHgHAC0kHLBBjAqIBfR6aAnUMeRMoA2oFdAg7DJILuRFpAUsBeAePCmADdAmMAqcGnAU5AT8DeBpxAsECkAjyAowBlgE8AsEB1QNcAZYFTQhIBk0HlAIjBN4KdQRnBuIBzQJNAXsDgAKRAewGqRSiFlIDwgLyBL4HpwGsBh0DgAL1AigTyQR7A4MBKgFnApsBgAXAAaYDRQZtBLoKaBJzAisClgGUAtECJwGBAX8CeQLWAzECSAEwAYsGuAFCAWsBTAFnFjEBwgE2AY0CfA8nAb4BuQGKATAIJQeCCYQCKQRxApUEJgZZAkYFuwKgAmIBZgEgAS8EhQK6AscHcQePDccCOAHDCL8BoQFnBJUEnAKJAXQEaQpxAi8KZwEyAYwCrwKfAX4IkwlvAVwEhwJuAboJURhBDr4KWwhBAVUKOQFAAo8NtQFQArMH3AF4BYQFRQWfBJoCfwFfAeYBlwGbAkoBZAHnAaABoQQsArEBxAGjBvgHpwTEA64BdQyGA+oBrAXfA7YBLgVSBHcDbgF+BrsBIgPDAUcBfgWgAocGhQGCAsgCiAmqDLYBtw7pA0UBfwFrAlUD3wHNAsUCbQG/AcIFvQXjA8AR9xwbBnoBUgXCAU4PdQE2AnoBSwJnAc0DugSjCo69AcQ","tw4k","tw4k","tw4k","vw+o","kgHI","4wLd","6QpN","0grGF6M","B93YBEClBzIjM24ye1s","vgs0","Qus","Qm4","3QPc","1wco","ogtT/QNQ","gwQt","gwQt","wgsnhgPL","gwWmywKB5AZ9jQF7","0gpqF3I","zgfB","7g/P","7g/t","0w5j","AIEBUgGpAkMCSQG3Ab8BcgJFA1ICOQF1AbMCQAGNAaUCmQKoAUoCUQHjAVIE4gHbBJwCqgGzA4UBaQa+Aa0BxQHPAbkB1gHoAYAD6wLTAaoBzQG7AT0B3wN/B0EC6gQeArkCYwK7AtQBSwPWAToBuQRNAb0BxwKsBT4BuQFSAbcBrQGmAb0DsQF+AZIBzgGyAToBRQXhAdIBqgHJAb8CmgGMArkB0QNsAVoB3gGpAUEB8AFCA88EqgKhAucCkAQsAUUBNwHJAaUBUwJlAc0CNgFBAd4CZAKhAd4BPwFcAeYBiALSAckBQQHOAd8C4wG9BUIC4wJzAd0BUgGTAYYBqQF7AUIC0wGiATcBnQO4B+sBtgXNB0cCQwHhBMgNkgrkBbsTlAbKBKABqgG3AXABlAFMAUMBggFjAlwClgHdAdkC0wNOB5wDUgFUAuYBigLiA+4BjQJJAVgB5wHbAkoB8wFHAY8B7wVOCbcBkgLTAdcFVwTAC9QBSwGYC6QBkAHqAbcBXwHqBJQBvwFAAZ8CYwHHAe8B0QKZE1cC3QK+BeIBTQXLAcQJrAFsAqMD6wHKAZ8HewHTAY8CggPdAZMO0AbDAd4QYAqgCrIB2ASdB4wBmgHpAc0CZweWAe0EjAtLCMEG0AJZAVABsAFyBtwFtQFJAvYBvAJJDI8CYALVAZQbpAGeAV8DQgHmAVED3wndAZ4BngyRAdcBWwFYA94LWAJGFN8BxgZKAb0DmwbDAZYCvx/HA+oCrgK9AUkDZgHJA1QNzQ2tBE4HQwTfBkUBWQHHBuwM2QG4AfEFnwSPCVUDmxDNAoYBzwFXBVYBugHjB+sC1QKkCLoBgQLNCMADYwGzAbAB6QLbBNUCWATuAUEBngKfAd0BxgOZBOMBZALFAZ4C0AHUAosBWgRtAb0CmgG1AVkBnAV5BUoBVArAAmwBugXSGcABVgG9DNIB9gNgCU0FjAHRAUQC1gGWDLgIuANNAdsETAVNAYcBnAGkEMIBzQHhAY4EVQFOAdAKqwJhAa0D4wJUAS4DzAKlA4wBWgFQAbwBkgJDAcwBdgGkAUsC0AHPAU0CVAHxBFEBRw+mAY8B4gGBAukDUAJYA7UCRQHJAaoBpwGIAegBQgLGAb8GWQFQB7IF0AGeBpoBXwHeAUsBWgLuA74HxQGNA80BZgPsAUkB9AHfAagB2gHQAskBYQGSAdQB5AaIAUAEPAGhA1YLoQJOAZQNNgPBA8ID6gLwBOMDkwTIAdQFWAGtA5YBcgHgAuYCUwFUCkcCvwiPA+EBrwGtAcsBmQHaBLYBrQG0ATcBoQHRAZoBkwSyAckBOAGpAfcElgTaAbIBuwG7EdoBwAHKAscBaAFIAcgCnwGrAfQBuwHPAbAB3gG5AbEB4QFGAdgCsAFEAaEBpwLTAewBpQHvAcUBoARRAuEEUgXXAa0CVAJTAskBqQGhAb8BzwGVAZsBXAGWDOQB1wGQAeYB0AfbAZ8DRwOtAeoGnwHBAdUBnwFLAaYBVgPLAugCcwLFArQBsgFHAZYBvwJ8BegBiQFFAswBuQHTAcoBuQJIAZsBrQHoAusBoAbNAc4G0QqjAUsCzwE/AdAB3wZWAUUB5AG3AeMCrAKsAUICpwHMAusBggGpApEBpgrqArIB3wNSAZsF0QHmAYEBbQHbAWUBUAG0Ab0CzAHHA04B2giOAakBuAFkA7wC3gHdB98C2gGwAdQGyQVcAcQBvAmsAlAI3wSNAswB7wHBBNoC1AiVAcIIXgE6AbgB2QGEAUgLQQKmAcACuQOsAU4DTQHGBeoB0ATJAUsBXgPIBMMB6gGaAb0B9gGJASABoQHEAc4B8gHUAeABWAHpAtMBNQG8AdcBvwF3AVcBqANQAbEBVAngAVoCygGsDLsD8gHtAUEBqAJXAfQBtwFzAd4BswShAXEBugOuAYwBrAHVAacBSAGTAUgBWwG1AakBtQGHAT4BlQGXAecF7AHqAcoBpwFSATwDwwHdAccB6wFSAe8BpQjPAUIBWQFRBFYBxQFIA5YB4QJJAaYCRgFKAUsB0AGqAmACQAH0A9kBbgPvA9sBpQLbAVoB4wI0BX8F5AF5B8MVqQKkB0QB7gnnAcQCjQJpAl0BPwFrAUEBrQHrAa4BVAFQBcYEwwLeAt8B0wLaAfABxQHWAcACtAHpAU4C2AHwBb8DSwFMAeoByQM7AdIBkwFNDW0CXAFRAValAdc","5g5O","0wGTigIbpAoqOE4","2QJ5","KjA","rwIt","lArGPIg","uAyU+AOO","3QMw","5g6j","xgG2nwGm8ghr","2QLe","5QJ73wiQE2s","5QJv","8ATU","5QJ7","tAjk","AGIGSQtJAUsmVUU9OEKvASuLAyF/bFIj1AJjPOV1YgQldSAQNXcrJiEmYw","3QPj","lgKq","tAjs","B70","4gLO","zgdD","fjmFA00","1QGJgQF16wIqBTg","Qs8","Qm4","zgh0","5wM4","QsI","GaMCoii6JsYM1glGAp0vzxSQGKtbwCd5AZAG8zfgJXUHSBExBrwJ3hQ5CMA+TQ7cEGx0vCXWaYcBrgFaQp8fXSndGbIfL1lRBVcRNwaZDqoCvCywrAFyBW0J4QOAKrwG2AOVCKgIahwxAlA/0hBkAqIn0wIoBVcjUAayB3kRcQkiObALbjGsAXsFpwHmAY0G1gLnIaYEzw7CE9QJsgXsEOsFrAvJDs8GewV6AT9ArgFdAccBSA9uB54BwxSp","+wM55gJXAlo","Qso","4gJ0","xwNi","xwOU","LHE","wQRN","alcDYzd4CZsHPz9zTZoGsRCTIbkmdgQ3Z7ggfzXJENsKyw0q0QFmA24WTjC9NZeCAd8Twx2pC+0ZhCEqEXwBth18CkckcyvKF8gCKCgqF58PMgU0DyoCHhosR04lxQ3LBsIte2isBEgiQmusIoJ2tLsBwg","1Qid","1QjJ","SbUOjBHXDXTiAoO3CDWQAR/bAienAs4","vg+c","tARRhgd4Omo","HmsPaRrDI7cNowVvAZEIZAt4AkcFxAOaAbwCeAKYAssEnwGjAWIDZQFtA6oCaQRxBJsBiAKuBWcCogxmBMcBnAFlE6QBkASwBzwDqj53BIgBZgJbGKIGagN1BWsTqAJkAWAJlgGLCmcBZQ11Aa4CeQdlAYABsAKaAXEBaQLOE20KdhaKAacHYQF0AYkFdBZvGpsKngGSC3AMowXFF6QFnhN1DJogZwHIAkgDZBR6BmUCagGRJZ42ZgKYArgFoizDQXkKnQSXE5gNgAFmBnAsWhCkA20snQSmCoAElAJyG6ELSRFkA64EmwFuC58DrQOhA3ADoQK6BG0G3wWuAZoJaBFvAZgPVwx8B5IDtwOeB5cCYgGVAZkGKQaaAY4DpQV3A7ABQw50BaMGkwhpFrkaLgF2AbYEdhWqBZwCogqpCJMK2wO7E58FqgJyAmMErAGkAaIBxwJiA5sGbwNnD0cH0gGgAdwCbwNxAaoMpQFrAaoBtQGdC6gbcAJ2AasDaAd2DaUZpAWeBqwBnAFqAmcIawNkAZoDaQ2yCSUCmwmMDaMBXAWbAqEJZA6mCnEKcwadArcEpAHXDGsHXQ/CA8kBlwGiBMMEkgmoA3YFWgXXBK8DagGbAogEcwpuDcMDogp0BqgDywGmAqAOrQFuBXIDxwNHBpwBcgHMBqUBqgFzAZsCdg9LBUkGcQKjBmQBmQigAqcBqgOiA5kJXwGSAn0M0gGcApcMpQltC2YHbgK/AmcBfgmqBJ8IZwSmAZULmho1FUgGQQJADjxRUA","8wesC7MBsAGxAbMBsw","ZOsJlLEGp4MEeibYfEc","ZKQ","ZL0","/Q3m","ugI+Lq8Kswe9AbsBvAZ3ZTrkBJs","zwTF","NUshjxIrMEMgPAukPXY3fy2iD0QBPzU+NKkU7VW2Xj3TAYIfljpFEUILSEg8C8EXpWanFEAIVBdnCqQEaQZxjAFTDKsCR0JJBEwhcBo2EJCYAc0Gqx1tD0QIQRDMFkNJRiFIIXNirgRzFMgYYrMBSA","AbYIuAHbDZEYaxGCF9wHXhU1CqgBMwFIFyYCZRWbF5oIRgqpFZ4TnnWbXZ0GzmlJBTNA2DblqwGvEpElnw+7AdYBxQHDAcAtgQR7DrcjQg5NCe0WfgtMI54VuBzIB6IBPASVJpABXgGdBmMDUQJ/MboMrAKjCJh4cwY5Jnkv0gmAC+AFnxdWFqAFkDSzIKcKjA5NBZstUiqHDOURuEWBA5IYhguHDsEGpwgmEawknQTLA3cilhBKAZUE5grgKTQDSyFMIz0G4g","ClI","hg9b","rw/c","rw/c","CsI","oBC7","mwrr","NXYOyj21NEEo2V2hB+Yf4/EBfAGIAfEB1A5mkgJgM2leSDO4NqZcbyM9TqhuLx2+QaQanlbs7AHUH7GVAt8","0ATIAdUBwAG/wwy3","3AHZ","Q00","1AnT","sgkqsQKF","eiVNbwGSrQGlSuv0ATK/AqXtAVKmAWk0c/UBMoUBMIsCeA","vwPr","BcsI2QHBBbMDgxGACU8FSwGmBsUB0RdaInELpwRKAd8JfwSjAyYfKQN1AqkOlAjOB5IWxAaoA8kbnAK+CN0dPh60D7cR1gHPAeYvigJDC8EG5ge7ENUJuShHAq8Vyx3gBOIFmSBJEtINsiM7BNEKvh7QGqkLugbJAdcX8BbAKc0TpAulBsgJ0AG5RuocPATEEOEBQx7QC4ME4hKpJbsPswWmJOAPRgmzBe4BqAlNAl0HQjtEEq4IWAdHDD8iTANZD6EPbw3PAd0RQAVSAukU0QfwDVAJ2QG3AboBxwRPAUUFpAikGLEDMRL7C6sGsgGwAYoFbCrfD78PpgmiAqoExQznCZwW+gOzDKIETgNHB6AQngOsBOEB3SV+D9ID7BlRCU0InRiuAqoCrhdJBU0Spge9ATAGkAunD1YHqw8rAoAhxSywF0sCcgu5B9EhRCLuBUVY1Rk8","ng3D","+RDk","hAyq","hAxc","kQuC","kQuo","hASv","kAngtgNp","kQs3","hAyX","5wia","C0UUcA12GkIBngHuAdUCdgzCAnEBWwRQAWIDRgGgBSsC6wKhCkYEoANiAkgN1wMpBDcCswafDEAEUgUqBKQDswd9BTwBHgGKEpIBPgJtAZMQViZRBU4TtAaLBJ4BSwafAy8CtQ5SA3gDJwEtBqwDjAcrGEUlqQKcA58BKyphEVoLdBLKBG8lLw1QC1wBnRC5L0YErB1sCKoQegpnEEYVUwd3CkkCbh9PBZgzIy6eE60LjAlzA/UCnAVHGM0IsgFIAkcLpAJCA6QIfgGLDGcsRg9OCicB3AI0BEIBQAucA0YOLwmnAkIUZQHADz8FsQmcBJcCgglHIpwLLwJjBkUSKghCJTgHowlwAZUBKAEiAkwBMyZJKkIHNQE+AUUKmQIrBnQDbgORDGQDnwwmASQBOwkeBisCQhyxCL0Unw4yECwBPwMgCEMBRw0oDWMPTwFbB3EFRwEoAqYHoRqaBLcjpQMtAa0DTQiuDZ8URwhyAWoCUAcZCDILqQdABKcZPRKXBD4BtAs6AaUCQgIzC6UKnwo5AZ0DdQKdA0gBIgS9DkwCTA9RBKwBvQdUAXICmwRFBDsGowEcB6wEHQR6BUEE0QvQM10IjAinEqsFXAK9FqEOlQinAa4ZRkKcAkogowywEEgBbw","SJ0","rwKL","gwzB","wg8c","3wmf","9gK7AXRrmwHtxQHSggLX6gnK","4gNXAbrFAZs","bHoPLA7LkgJ0Q7cJPLgBZ4cGl4gDJw","eywOwg","uQ2R","Cr+fC+8C9AL3Au0B9QL4BfgBZ+EDvQvOvgH3Aeg","sgvk","sgvk","qQtUAuECpQXDBZ8","lAFAyAGi8wHugwdzM2NnaAWfO2+NAYDlAVEJUMQBnQ","zwTu","zwQr","zwQr","PUTqDF4BzwfC","pw1e","xwt5","W7uYASnYBYo","3Q/A","3Q/z","3Q9v","3Q+A","3Q/A","W7s","QYsI1KMIUvEBOTKrMdEZKqIBdkQ3Vz8bQ0g1","twWwuAKa","2AkytAEh","fqg/Qi83CZwdziDPLVcoojkvQ35JkZsBKokEbAwoOyZBdzitA8QRYxOhGJU2TY0BI2VKMqolQyA3CMoaNjfPfUcerEeJGEEKQglCBlE","DjlgdDZ4hQQ2","jQaxAbMBsfQBsTKrXcSQAbnzBqg","CHoHNhlhBWkEUh13CIUMogakIUUQUQhRAbMCRwFFAh8GQwRqD0IDZQrRCS4BaQRgA0MOpAFMCGEVyhiBHVREag5bBywPaQVuD8YfNgR8AYAPdBRsA00YSghvGqMS0ByjLs8JQgJ3CEoTKidTCKULbgLTGKFEWQdzUksWRgOICS4NQgiFG2kZwwGcDUACZwZsDE0HQANMGUsC5QhPFHsUrRSZAWoxoQWfGF8SKw4eCzgLoAYrBEgCPy5IBygozwVZCZcLZgOQBrYDRwZ8AZYFRA5zFKcIbAOfAU4BTAOLDFANhwwoBLIHlhA0Bi8JSQrHDksHfwV6BZ8OjQyoA6cnbQJGBy1DXAW8CJsDJQFXArUJqg9aCjwITQZNBEwhhQxKCnQJNgtAB0EPmRFjAosHIgGjAV0JQwSgAmcBcxR3DlAGUgItDm4GTgJSApUQRBinBDsDRgFyEJ4cQANJWz4foxVEG84","jgHf3QWu0gSZ","qgfp","xwO4hwROoQSbigEmmgMklwFq","2AHy","2AHA","2AHO","2AGI","1AGf9gdGvAE+OEbsAkN1Rg","vg6u","IFFfSBFB0QFDQj+dBE2WAkIPUIMBpaICmGudCT0FPiBCCUYJRooBQA","wAyj0QJy","uwKd","kAEoqgE+vwW9ggIjzQWc","/wxe","9gmd","IUgHqUFKCXEUQwY7CEAgPwVICFFocwKBCzgDswGAAT8EdQKZGUiEAUAKcEBIF0kucjNLiQE/Hk0mqBOpE1CHApkJSi2nDUdGRRVOFUUFQwNII2ABRAlKDEINRCRpD58IRhNMRT8yTQNPSasSQQbNI7YXyBU6Aj8dRgGYDkcFQSFJB0MGR0JGDUEWQSeHD0fsAWE","BHwPtjG19wGdwQGT","Aa8BSQNBDjMDqhJDF5sHhhmgAz8BHwGkBKQFogI/A34BxAF8A0QCawG5BYwMQgS8BZMFpguhDMkBgwJ/BCwLdAGkAWoDSg6fBKQCvwxsDCkDzAXhFpwNqBGlBJ4IPwKtF6IFogGtA9IBqQRDCEoJngOtCrERzgTUBZUIzATdEqkB1hQ9AaQKnw90Hk0YdQtuC00FaAfXAU4TsBKfA60FPgLDBLYMYiCwBMUDiAOTDU0DogeOATAJTwnnH1AGuwHMJJwCsApuGqE0ZSapCscLggzHAswJsQ7PBNUHtAGkIaoH4RfNDLQDYw8/Ctka0BtCB9MExxCZA3QFuQOlBLQF8g6iBVoHfQLRAqMEXgYhBKgBOwRqAc8EpwJpDY4IrA2NAagawQ/VA80EzQORCN8JqRbeCT0OoQ7zCq8BtQpHBX0BmgLoCsAJwAFzBcgHyAOsBOsBpAObCa0CowHZAUwKiwKZB5IBpwJsAagBWQPAAbwH0ASiAroIcgF4CMMBdAHRBN4EvAGoC68DmAygAa4BIAR0AeIdxQNPAewKoAGbDlENlAy7AZ4B0AOdA3UCnQM0BFIHjgOdAqANTwmtGpoDuQ5/CmAC9QfRCn4EawGzAUoEdAx2BaACbgKkBjwIoAU+Am4S8AGoFYoMsgJnAbQBSAVrAcoCnQE+DIAIZQWvBTwQxgOTA0YJhAGjCkcBegF4CUEd7QNCG6UCnAKiAaIaxgaqBCQIRQGfApkBMglgAqADnhM8EUIC1wZGGrcK2xCuGrgaqAhxIHE","vg7P","kguvAYw","sAHJA3+hAaIFogGt5gJQigPZlgHPnQfXKts","ZHk","EzM","8Qs2","kQPOBNQ","zAvn","uQrA","fmApHxw87wibMSq9AnA","vAnM","oQ5F","AL8IUXrbH6yFBLmjBIa9BvIB6AHn","hhDlAeY","hhDl","ogGwlwSi","RcBEoR1tBqYksRKdAqEbagR3CLASpyiPBqY4owuMFZwHiyDQCzR1aSudTboSzAq+D6Y4m3TLEaYBpQG0AqMbpiVtG6QFwhtKKYwangVmCpkHfwFWDmg+pDRxiAFuI8UB0Ae5AmhISAFSC8ULlAF+HK5LUUOaAqkspFytDG8DUgVKYZIEwocBnR3CB7EIRwu4BTwBvhjSC0QHugPDBa0TtAG2FM0Gww7TBkUSwAK+CZs","oQ6i","4ARCFKjeApnQAsNgSrEBMd0E+RTVfac","kBHs","ADAJPgVcBrMRaQZAHEAI1QHTBa4OmwyrCXYBsgPiHbYB5QO3DtMtzBa2Zus5bw6VIlMgcRd4AXQBdQFzAXQEsBqAFj8HjBy8DGUTziWqEWIDbRI6IsQUIXm8L+SfAZsP2gvLAfEB2AHyAdU/zhaVAiQVQgNqOpkNKwMfIsUPPyrCBLsprg1EAd8wxR7SCa0xJg6wAUdMYCWqVJ0Fwgt0LSELdAS5HdcBYRxtINYHngE8C68khALTBCAJYwdyAXIbcQarBLoBuQNETpB0qjzp","XZFQgs8CbTzPI7LqA8lMpCGvugHThQGdPEPmAkBVcDDQAc8gyA","qwEl","xQgy","VV4","mQGD","zwSgggSc","VbFKzRQ2Jau1AdCrAUUXxKIHRpUDpg","0QiX","EIHYAZyjAZEZpq0Cdn2XNMxinOUBpiQ6HT4rwUmQMTIJiRqRxAKQQqgEyAPD","0Qii","0Qi9","Bl7RBL4","1wSj","lhCc","8gwxpANL","mQGmbnCkAXA0p/oCqoMBTHql2QalAbBuQBFx","twGhFUaFAaB8mqwESC5EpQFN4wJJJk0feZkDbgiYMDM","AIwB0QFcA6cBdgFoAsMBUgKFAUIBXgE2ATkBSQK+ASgBVgGlAk4DfgIqAS0ByAFQAnABLQF6AUcBbgQ0AYoCQQJrAUABTAFNAV8BpQHIAZkBwwI+A1cBRAJaAVsCQAOHAYMBmwHFA2UC4wFJAnYCTgWFAnEBYwhUBisBqQNrAXwBgAFSAmMELAN2AW0DbwKjAYMBhgdoBV8BiwFSAW4BhAI3AaMERwEqAY4CQgQ8A1YBLgGPAXcGNwJMA2kBagKhAXEBQgGlAUACLANBBZABpATUBiwCkAR7AbkBMgFAAVUBKwF2AUoBbQFaBGQHSwJtBJUBVAVjAUcCVwVqBsUpOgYtBaMCSAF/AWcBhAF4AUQCXAJUAlYFTgqTAZACRAZ6AWwCjQJSBl0BnA5EAT8DdBROAbEMLAGcAUsBdghtAaYBZwEmAZQBngGDAnABbhJXBHMFMAFNBSsBeApVAmwEggFiBycBPwFQAp8DjAEwDU0BWAazG24WjAV7CYwDvAM8CJAMZQJCAoUBUAJZDEkFgw6hHksBTQErAlkCLAQ2CdACwwVeBmgBdQF5AWAEOAtBAjYUKgdKAYIDdgZVAy0fYwVUBksBURCbDUkLWQRFFl8ERgJ1ElUOzgVMCl8IigSuCWoK1wOsAnEBugZGAlgKRwhzAlgBxgFHAlMCrgiMAoQBmgVUBYQBVApIIWgCwhCkDpQBxQFEDGAOwAGRCWoBSxVXBkQKRgJhAVAFVAFOCVoCoQFNAacBtwI5BHcGTgOkEFUClwFNBVABMgGOBUUCjgR/AVIBjwZNAUYBKwaXB1kHXwGvAoIFpgdLAVsISQNRAb4BTwJmAdMCvwFQBogBQARqB1oJVgFOAVcQVBqRBJkD2wJTDUgDpgirA1UB0AGSBVIBPgE3Ay8FYQhWGKEBRgOSAjEBRwFaAs4BvgFzAVQBhgFQAdwBRQFsAkgDRAFQAloBsgFmArQB1RBhBTQDQgFOAoQQQgGWAVAB3wGjB70EawdLBHoCRwFLApYFMwQmBEcBTgHPAjUJIgFNByUCQAKMBrgBwgZQCnkBSwI2AjgIsQJNAsYDbQGfA2sCTAJJAk4BaQqaBy0FgwMtAmUBUAJaAh8CRAKRAUgPUAJHB4wCIgJpBuAGSAHSAr8ITQKBC5YIwA1eBYgDQAFAAkoNWAJWAVoCdQGfBDwGWQG2AowBRwHXAl4DhQG2AU0DTQVaAkoBJAJ/AUYBiAFCBXEBaAJXBlQNUgFKAUcKVAQ+BIIBZgRnBGQBqgF6CC0COASDAsEESgRIAWwDUgE8BkcDSANtBYEClAFsBFYCXAJSATYBcwaFAUsBqgFRAlMCVAR0AU8CMwJeA1oCXgGNAU4CZQHlB+8GhALFAjkGXgFEAnkScQTLCmYCUgKJAbYBsQJvAWsOewJPAnUGTwOxCkoDSwNUAzsDjwLeCz8CRQGVC5wBmG6ICp0","Wj6QAzs","d0cFvRMpBUALmANbGS1uShChCkRoPD1GK6YgfSDQCkUFSp4Cnk9OHy98nQicXXwPPA86Hq8CeVmoAmoFqhk+C0UZLgYqD54XRhulHURCnC1RLqoDMgyqKaovRAqXGsszTBVuJ0ICqRU6DJxWlAqlGyE7RQ","0QFHsQhG1gNGrQFtzwFG","Wd8yprUDSBPg","6gid","hAWSE82EAuAnSV66NMyFAUjdAbk","zQMr","vQGH","AJcFQRmcHoABgAW9B0AWYhCYA2wLXAFgAqYGaymfIrgGaQOkE64JLCzJKdYLRhzQAr8fNQ1rCEkBPg3QAtECngZ0FJsGsTbXAVEW2RqdH6gINQk0AjMZYAHQA5cMlwJpBj0E0xqkDZcuYCPSAT4FRThNNMEkhAjHBnYVtAuYHMcHbQGjEHIJ4xKdEcsDJgjUAoQEPQ7ABbgFbwXCA7MBrw+bH70EaALXDWUQ2hdhAS4GIhycAikD1QrJB6wFwBBtAaAVlgd0Ls4SogHGBD8dWAVIAtgJfRa3GKcGaRTXCtcFqASkCS4DMQNJDd8LoAFoBsQRfAxFJdcCoho0CaoGuQOqApMV0BhfFJoLoQ9kGjwEpgIhA5AFgQqGEk8HyAJBA+ELRgm2CHEMMQbUB1YJfxq0A3IN0RjaFsENvRJnAbYNuQShEUUDMQS0Bi42lxlDQUkURBdHHbk","0ATBAcABwAG/lQzfLso","6BDu","6BDZ","6BDc","7gSQlQdw","twaz","wg/iILs","wg8c","wg9V","wg/G","+Q96Mco","nQbLkAYs1wKqfCQ","nQa4","kQzI","NduND0QgrQ","AjgCRgWXAZwDbwfRBLUFegGnA1cDPAHUA3YBkQGVAYkCtgbyAVYBNgQ+BEQFggOHAUIFowGjAlMDzwJQBFQHcgLEAogBYgLbAysBjgF8ApIFjgGVA3oBSwHEAj4BmwFvAlgBOQZNAacCvgKDBX8E1QJtAnwCZQKGAYMCNgmjA5MDsQK8AawCNQEjAbgCKQKPApoBWQHGAXwBLQKVAzMBQgnLAnsEJgQ8ASsEfgTCAaATqAGxNXsMowFFA2YEqwLJAqACeQMrDakBrAOcAqYDhggrCZsJNwa+CGYC+xTbB3cD9wErBDADfAO/Dy0JMAEqBOMBwAGjCaIBeQ84AbECywPWATAO+ActD78BiAGbEzUCyQqlAsYBYAmEBNUBugsrCe0BuwIyBCsBZAFJATYGNQZgBUkEhgnlAWoSyArcBKYCMgG0Ab0BawM2C5EGzwefBW0GfAI8CqoNwAljATsDuwe5KY8BpgR+C8wPtyskATUGzQZSAmUFxwNHDDwB0wMtA2kBdwvIAyQDZheRCFsE1gRuAXYLLwGqAc0BdwFoA4UFkQOvBE8BjQVaBkgItw7OCcYB1wGYAYUTywFgBDwDtgOeAXcFiwFhB7cCRAHRE2wDSgF4CnoCKAHVAZ4HlQelBdAUhQJJAS4FghAwA7kMxglwA3MHfAOcBo0CmgF9A6oqvQHGDB4NTQpPCUgKage4DdQCpwKHBL8GtQEdCIsCoxCqEPEDnwP1BtcD0gR6AfQBZQHQAVUCjwlpC0cEyAmsBLUGcwvYAjAEwwNOB+cHagE4AZcB0ga7EXIIkQG9A/MCbgLLAY8ClAmZBEoN2wmwCaEEiRKxDUcBnwxRA8kCfAJ9A+oDlAOiB6sBTQOaAukrgSZgAn4FVQpiBVwEpg2XBqIBXAImA3ACaAFEAWYCRwOQDLQEJAGOBk0B0gexBMoeqwPDAWsDSAXJBtcDJgHJBrUDXQIxAWUPgwJBCFMBnwZCASgEvQIlCc4DowGlB7YLWwbFCXISzwaHAnUDshUxCpADLghIBScCKAZxDp4RqQN7Ad4BwAGsDckDlQ7aCtgJRxE9BaEFaQNrATwJxgFGApoD8APAAUgGrgJAAXoGPwFFA0oG6QqiAdAI6ANEBqMJZQ9JC9k","hgOk","hgP0","hgNn","zAPL","FHs","LWk","JXIO4e8KRg","mgzv","0A27A7s","GHFUQkiOH2gDkWiTBrkOshaRCpgPiymLfOkJkBh9KJ45mylYrQGOE44fizCqedIHsSWCRrMvbwNzY6IBgHmSBI0QnS6khQKFWYxAMBd56wG4D+9E0g","D6zEBFrbCYSMAUYN3B/k","xw8p","xw8p","5g/H","rg6E","vgTvzgf2","jAyL","jAyL","DUodViJGJSoaMwRPLS8bK30tECsGblBmCCkrdC9kGWBwLBxqLiE3PlRYbGwCZc8BKxgzM0a9AdoeOxpTHywGK4YBNB03QSARJa0BIwQcBUkSIAkgI2k","vwva","CpEC0QO3BDMHfwynAVkPdxo1I5kZYgGeAn8DNwKTB58PwwGTAaYBfgOzBUIMoBFuBSsCoQKTO5kTnB2nGJkVmwOtCbUtbiE9DqATrC6TP2VFTRmLBu8SpyeXPrcCQxHLCIMEyS1WEZcKnQGnCZ0bvgigCpkDnQh8A5gDrwlZODkF3gidELYDmwOfCrEKqA6eA6MQtSWTBZkHmhqmDZYHkgOeBJoBIgdmDaQEmQyaCZ4FrAOJA6YGmAmdA5MMNw95CJwMoxCjF54KrgFyBJgFiQKZEl0JWwGMB5MBngKmAZ0DowSbB5sCkQSkENcFwAuoAacCiwuiC58YuwafA6sBoAKXC5oIpgm3FaYJogefB5oTvQ6ZAh8CnQE0EJ0ajQyfHiUCYweaI40CmQiUCJgCRgIkA6gBnAGcAqYEowSXBakYpAOlCaAPnAaYAdgDwRKbBZ8NngFwAswHmwy8CqQTmiKeCagBnAKKAp4FjhKSBKECoxKkAVQTogSoFHphng","Kr7pDiJ8LA","RPrPCMM","RHE","RLI","RJ0","RHE","xAfj","xAeq","xAeq","8wL5","nQ/n","nQ+s","xAeq","xAeq","tQ75","Qt4","lAG/","EH8DTQfGCFAGQxqCEFQXYwo1CLoKSgJmArYWQQVKD6ACRg5hF60SUAaRCJY+sydIC0oJRA1EHXYDxQeeAUUS6wZFGJ8GQAk8A0gYhzdRBrNASyRTWH4h5QpoEJwRsRKqIpU2Mg9NAkkIoBGtB0gBOiRKDJ0SaA5pL0sEbwdcDnUBUgm7DIoIsQacES0HZQE+AbEEuwGMCPEERhBcGp8GXwGbDkYFfAhDAUcGbQvnBKsW8wU2A5kDRTGaBEoNNQEqG+kQRwVPAb0DSgRcBbwIKxqbA68BRwFID7ATLA9JAjMGQw9IBnQTwRHZAtoMLAUmCOMbQwEyDzEBwwqRBmQEVRQrA0YNsBdiFT8PIARAAaYGmAFNAlwGPQnlPm8CSwxHAtADQwJIC6gJQRJgB9sFRQo5C28KzRwuD7sQGAZLBEMDRQg2AkMDhg1h","kQt3","dl8RPk8uxwFNI0UtS/8ET2RtzQKZG5OTAUh4RIEBRww8dUUPoA","kQI08QFH4wMqtwIpB9B5N2rCAb4Hf5YC7JsCMg","lRDT","ngxS","CoYXSAdDCblUSgm5CnENnxSrBIcCoHsrhQIwEt87YFupAa8G2tcB2DSEAXEsrxZud2VxMRXeGag8vQaICSt1KgPKGZAanY8BKCkgBHoB2gtJE54TPDpnI3Vkw06gDWI","rgJssAJsPK+8C0s","wQ3VAb0BwAHG","wgOR","xQzT4ALMfyM","9AJlxAPPwgEwhQFyAb3VAXR3i1+amgErEItivw/pOb4e+QHx","nQ/d","nQ/n","xAEe","nQ/P","nQ+o","nQ/L","1Q0r","uAbX5gis","ng+u","qww/","BUIYewG6Aj0G1gJDAjAFRAjbBJYJtQfABVIDuAO9BbsB3QPOAscIsQHDAsUDmASZBNgDwgShAaYBpgXpAdQBQge5BMcBowG9A58BoQFRAp8EtQHcAlsCogKfA4YBngFtAegBywaSAaQDoQE/AuUDxAWrBaMEsAhHAX4EpgKsBuYMeQHlAvgEpQFWArYHtwRzBtYE6QPlA1EFqBNKA88DLQVLAWAEoQg+AuYD2QTnA5wDkwHmAsYKSAGzAcACqgmkDbEV6wzLBcIEiQFIAoAB0wGfAkkDuBPMAqMN4wHKBVEF1AabBcQFpgPQAo0ObBhgGs0GQALRAZ4D2wajELIM5QLBBEkBSgZsF5oC7APAA9YFmBS7A1kCngFRA6oJ1QLDDHICpAGvA6chqQGyBzsMlAN2GCsD9QbHAkYVnA2hC20LwAFxCt0HzwFGAYwKnAJ2B30D5BCXAqQBeQFIBd0CfQHOBqQFugeXAdgCpQhHBFMCZgVXAUYCRgTzAU4CvAG4AZ4BwQrEAVoBpwFjArIC6ATSBLYBQQwwCkoTpwzOAoQBrw26BK8EywHhBYIFfRx4CeYBUgGmAZ4OxQOYAq4BTQSsC0YDvgMuAuADTgG1AkoDqwFtArwBiAO8AtYB4wKoAk0B9QJaBKMN0ASzAW8DdwNQBTIClgGiASIBdQG9ATsCsgJ7AZ4BygE8AqgBIgGyBqYGwwGrArIEnwajAzAHmgGbAa8E5wH1A5QDrAFPAZoBpgG4AqcB0AbJBYIBcgbTB8cB1AK3AdwQrwWWA5wEmgRNA/gBSQpJAbYCKAK0C78BkwFIC9YBcgEpAbADtQF/A1IBzQFFAsEGsAHLAusB1AUxA7oBzgGLAbQFXQWlB9QFkwKbAr0BhgHTBrYBowO6AZcBeQRLAakBfAG1AbIB0QRvApoEzQatBKECxgGgAU4BygGhAlkI2gGIB1ABSAHIAtkFrAFxA3oBsAKyCL0BqQFDAs4BuAObAsoBrgFIBM8EsALHBFgBkwFDA1oDzQGjAkgBSgKmAdIBpQeuAUMFowHBAeIEqQZ9Ap4CpgHnBqwFxQeyAqcBxAFrAs4NnQGtAc8CfAGvAVsEtgHNAbAB0wLiAeUBowErAp8BLQFFAecBTgGoCM0BzQLNA7sBoQFJCsUBwgHOAskKigFvA2YHwAK/C18DWAVgCcYBqgF9DWUNlwJEAWIEsQNWAaoGqQOoA6QF0gOpAngFsQK5AZsDnALEAXMCqwGdAtwCKwhPBr0CuwLmAe0J1AGwA6sBPgFBATwCVwKmAawBxQSXAnEEtgGXAaoBxgEmAW4BxgJTAc4B3wFuBbEBhgTdArQCxAGAA6cBuAG3AeYCMATPBeMC7AW+AUoEvwNHAdsDxAV+A7EFtgNiATMCYAKkE6MaoQTGA6AHaAPPAUAEQgZMAaoCbwFrAisFhAKkCEsBTAPnFLIBpAawA2YDwwMzAagBKRNABLQC4U6tEkgMyCrHA8wN3Amf","3Qr3","zges","3QqE","S64","N5AajtoBVGHMUjBhYOABysUBZVAxTCH+A7ibAksLxZkBProB1QHB","N0w","7wGb","2wSk5wIhmwO4jgJx","3QpP","2xDl","2xBH","ugHZ0gHq/gyp","4AF0","I5cWVA1KJDUWbB9BDJMBugRpBKQBXgajLagEpBS5NF8DfxpgK4BsmStzFJ47qFCfcJU3zxSoT20GrAhYB7IGnQ2cA5FEvQbQDk0CSAaVJKYQXTSaCFEBoCOmAaAZbVVUGs0VRhKSBHQDmBGaJFANpAR5B5oJoQNKBqUBrx1MBqgITwibBKgcpglxF54OSQeBEH4WnQ1cEq0msE+QCG8CpgNxB5sRoiCeEYYNrQVGGooDqVxMC7I","lwin","4wvN","nw+w","7wGb","pg/G","AooDnQzhBq0YqQZLE2AB0wtaBncKwSM+MddElAemCtKBAd0cwh/ODDQKvj2xJm1OQxzIDkZuwBaHPaxBSh3PNVYDzGC0DoGaAaEGsBKNArUBtgEiN28ftytjFUkqogOzH1MTXVXECUQGTgSrAdcdsxPSNHsDtBuA3AFRNaEBpRqOFKwKshfAAr0kugS3AUcMoi+5A6gfwhFMCrsGSg","3wO+","8wJETbgnihJ86QNIggLK","xwFnrAF5NJ6jC4haPA","ALICVAF/A9YEnAKfCEsEjwYtBIMC6QeuA4UCnAt+BSsWMwNxCh8FqAXiBWwFRAM/EW0BOgKFBTcDyQJlAUMCtgQ8BEUHRQLGAqkCoAS4AW8FYgORA8kCZQVJDTIDWwF/BfYJ0gLDB8gLlg2lBrUEayRABVsGmgHjFVQByRPPCj8CPwFFEsofRQE+AnALaQFmB30JtRiABtMCzAOfA40JwAYvB7ApTgfEB7IG1AG5DqMQwwV8BEsFKBS8GTUFSwI7A0IOrQanBmoBqwLACXocuwG7ErUQ4xGJCHMHVByDAqURbgJxMmYBXwkqBp8CSgKTH20BsARDBKgMuQuiATEBOQPbAZ4USATiCUEdgwJuAtwEkhCBC9EMghRvCMsMzQhNFXcCcAGZA6YCQQpxAiQEMATFAU4SvwZ6FqMDUA2KBzYCRBaeAasFxQLcCKsEbgROB3YDsQRMEzMInBKCB50FjALKBlwBkwm1B5gBegiYCTgMtAncBrkEpgpTAYAETwPCAUcLpQGEBnUIewg9AjYBewZ7A0cDiAJdBqYBygekAbsLuAQoB5sDQgNDBtICMRDAI1MGRQQ5ASgNQwfdCm8FJQGeAncCVwNhBOEMUgKmBaABlAdJEesCnRNcBNQBWAFqBEcCRQtrBRkDYAdHAtEFQgKcBVwPqAWzAVoFyAjCAncBdQJvBcgBVARBBKQMpAKmAcUCvAeiAaQNqg3WAW4CqwJIAkcK4wqmBp0FyQiBAY0FrAdLAmMEwQRFCsoCRwSpHbQGqwJ1HNACygPhAeADiARrArcEkgGbDKUGbAOyAWcFoRtKOM0LtxhDF70BPQbVA5YCyB6xB0Yamw","vBBj","wQI/","HkwLkRC6CYIYdw6kBYgJsgVcAzMIoQGWArQCbQtfAX4ibQNAAYcFSwxmEUoHSAJiDnNLPhV0HUQarQ6lAnYGZQNjAZQCkQJUFaMIPQVvCkIDQwSuCH0BdANkA4sBsw4vK0cMzgORCXQCsx6oD50yqASRD4EGOgYvKswQJzBpL6ACUD1IHZgQQwqgBi4KOAE8AqENfQwwDZEFhBmjD58KsCiJCN4NXQqbErsIdgStBkMBoQI2IHcDpAWcAnADuwFoAnEJhQdmAVEMtBErCEgKRwHUD50DJwR3GiQFfAwsC7wCtAJ2C7ELkgs/Ap4DSgfJAWQBkQxlCYoJRwrKAb8ETwKuArwCkgSeGK0QfghwA5cBnQehEeACywquBTcTMAQoHJ0BSgcrDiYCmhlzATwFdwSfAroBqgbFCsgBRgKpDYQKUyDUDaMFZARcDyABogWQDX0EdgwwA3MBYgSICK8CRRy7DXMHMQVCA0sHsAaGBKgBTg2hD3QBngNSC44EVwrGAmBBiwqYBmoBTQS5CqESwAieEqoCghCVGjk6QBSu","kAGYnwGZFERIkbkBM6MBqRGX9gKjF5tfmm6cA30Tpf0BSIABUV86Aa0UQjConQGSC6sCQw","mQ+l","6wt8/QJF","jAKGtQNJyQeUrgElK6R3vjqY","mQ/JC+M","ygmx","GavACXh3sQ","dlo","4Al1","9gnT","6Aq4","mgHd4wjmiQfy","mgrW","1wPInQSaTN2UA86FBNlXQg","lgdZvgTO","lgdZ","dbvMAYfnB9cB5l3tE9ZZ60qdAWU","zwF8","ggrW","mA23","hBF5","8grqlQfj","mgHCzgnM","lBCoBOQB5Q","c8o","lBCo","vAyd","wAHC","kgXlBOs","/Qx4","pg+z","swqV3wJ+AdM","rQ7y","9QGU","vRCN","vRB0","mQzf","mQmi","lQxr","gBGAN+U","ygbj","kg2hAcs","vAxx","zgG7","zgGU","hAfp","vQ2zAYs","kgKv","sAHskAFqlwHgKvSVA1lesJcClWPrUdMVg9sC1YECJgnV","gQTk","1QqB","1QqB","4APf","xw+a","/wOv","QGICgipFG2MY2g1QB2sgbxmxIdlASgJ9AVIEaxJ8DXkRohWnAUsLzAJCNpVARiSdZJ4UjXE8Q7kGg1FDA1cBRiOyG00uqWV9DLU2VARSK3kePAGvX1EElBdFHU8GlQekKag6ig5BAnQEZBFQEJ4MNxqcII4DSz8nDc4HQDg+YKUDjgqkB3ADsBSjK50hVwFdCqgMehinA6EDgiZIMOg","vwJ75wJPasGDAuwEsMIBSA","kwje","uQ96","DLNXHwZKA0UmRx5AIHAWKyfRA+ZESglIccIDXhY8GZ0wsgptBK4OkSqfB3UBuCKkCbELugvMftMknAbWC4464QfCJJ0QqyjbCGlPrg66CMYCpSTgAlQY3huiC00TbRDhIMQBnSI8F70CtAKfHMkX4gG6DssHjgluSb8EoBVxGJ8itFZwHNgCSySECpYBxwudG2IMaxJHH5IKOCGvErEm5jSWGNEB0hzZNNknvyPTDsJWRA","LWnIA6/kAlnPAkONA7IczoYCT0ifHKhhTTx0","ggRspQSk9AYwlgFBIyk","AtUP4AZ6C7wiiCO8BLwWvAG8AboBuw+QDtIX1Ca8HqAHwTm8BrwNxQa8ErwCvQe4BJ0FwQLBGbwP0Qq8ArwEuwO8Ab0EuhG5A7sRvAm8CoADuAG3ArkUuAW4CLkMvAO8MbwCvAGBAb0dvAfhCrkCuQK5ArgByAm9Ab0OuQG5AbcBuAG4AnIJvAPDAb0NvAG5CLwDvAG8CrwCuwG5BbwHvAu7DLwZuwLBBawHvAG6A7oGvAW7AbsJvAK8BbwCtgK9A7wIvQK8BLkCvAS8CLsCugG4AbwLvQW9CbwBwRi8A8EDwQi8B7wYvBy8ArwIvAG8AbgFvAO8AZgEugSAA28RvAWUCdwCtS3BELsCtgO8C5YXvCGjDLwIsAi4BygJuAS8HH4BvQO8BbwDuQqMBrcCtwjYArwGzAIrA7sHvAS8E7gDvA/YBrIOMAO8Ar4BvAteArwTvA7UAcoJuQ2jBqMe3AO9DLofxhPeAqAIwRCfBbwBuAG7C74CXQm8CbkOuQJHBdUCuQu8BqEBwRLOAs8JvBDKAtECuwm+DLkBuQG5AboCuQbBDLYH1gPBCr8BugG8ArwBvAS6DLwCsSy3AVATuwK4BaIDvA23BsEdwQvBCLwDsRK8CL4OuRu6A7YBtgS5BLkCvA22BbkYsAGiCX0RvASgAZ8FvAG+A7wCvA22Qr4BtApfLb0KPA2sB7IZuQrjBnM","Ang","9w2R","Eck","sgie","zwPg8wep","zwPg8wep","ogW61QRfAff7At0","8wzQ","8wyo","/g/xAfEp8Q","/g/dAc0","wg8c","1w/w","+Amc","I1Y","I40","I1Y","QLqpBfkB8tgJ9Q","pQfGsgjx","pQei","pQeN","wg/E","6QXi","wg9f","wg+R","ihAx","8wFi","wwGP3AOPuARoB6GBAnk","hwu56AGFkgPL","HSqKAaKSAXJ+UQjyhAOjTPQBo2L1Ksc5yRq5McOXAUycBcFH6jbyDEsB7AHDAfOXAdcC8ATBENkDyw","3xCo","3xDv","oAmy","0w+z","nAii","8gfDKqNTeA","/BHB","9hGy","jxLA","3RDbAb0Bsg","1QjJ","ANUBoQHhAcEBmQSOAWMEuQE5BKMBbwOTAYsBmQFqAaQEqgFLAb8BQwKCAo8BSwGAAWQBkQGaBUABvwamA7IBtgG1AZ0EnwVyAWkDxANGAWsEHAF7AbgCZQFsAYkHxgSpAWIBwQKeAaoCvQGaAbEBoQEjAY4B2gZ6AZkBzwF2AooBLAFvAjMFSgJyASkHzANEAaoBlgGsAbcBywEmAmUBmgGaAkgBkAKYArgBVgMtAW0EngLLArMBnwKfBVwBbgEoASwBlQHRAbkDdwG8AS8DsAHIAUYFogG4AjIBPQLVAboC5AKUBLIEQwFjCWICugLWA8gDkQGeAVYBYQGvCNQCowJdBK0BxgFRAZUH5QFKAW4CaQJ3At8CqAFtB5IFwwKgAcUDngJCBTwBygHOAX8B3AFZBJcCjQLQBSsBpwhgAqADugKRAy0BLAK/AcsKSAPPAc0CWgZ8B88CVw+qAWUB1gtwAaoBlwOhAboBywHiBMABqgEmAZQErAGKBc4CcwHwAnwBpwRgBaMBgQahASoCowSkBVEEjQHEBWgBTQHEATgCzQGhBTAC2wLGAasDWAOjB8UBmwG6BtwFwAJmA0ECrQubAa0DmwQsAdIBLQLRA24EdwHNBKACfAHPAVkBVAItAssBsAHRBUwCxQFwA6UB2gPcAp8CKwFTBpwBuQJqAqgFqQGQATYCwwlkASkD2AboAZkBdAdGAcoE8QTPA5gEpAZtAd4BqQGGBeECigI3AnMBWgSxBbQDogFZBIcBygGnAaIB0AHOAlMCkAFyAZ4BpAfXA0sDlgKLA00BUQKRA0gQpQSsATsCSgFQBjYBpgK8BKcGygKBA0UP3wHQBUkClwG1BakHoAfKAWEExQHQDOsHQwSaBtYCyQecDGcDfQvEBqADnwa2A7gCPATbAjIBKgG1BdwDngaEBDgIdgOvBKUERwGeAtADjgXEAcUBTgGeAn8BuQFxAjsBOARNAqoCPwWjAlIBnAGYAYIBqQa4AqcHUQGQBawBMAHfAT8DZwK4AVYCoQFRAtgFqgKIAlwDrgF8AlYBxATFAcoB4wOjBM4CeQGLBc8BZwGeBcADmwGjAuIHLwKNA14FKQudAyUC0QF9BYgFpAJPBL0DxwKeA0MBiALICVoBvgNXAsUCrwFYA+YDzAOBAVgB0wF0Bi4BVwKJCXoBvAVLBNYCKgGhAaUBPgNvAdIH7AOSBSoBdQdeCJQBLAVrAkICKAItAT0CYAaLCNEFrAGbAcYGMAXxAysBuwNwAa8BoQGeArcBSAFWAqwBjAGUAXMCawaXAq0DTwGhAXIBsgKhAsIBJwJDAlIBowGWAT0DQBDEATMC6gkoAtIDiwFTA8UFKgTGAbcCkwEoAqoBQwLFB+UBpwGsBFoFsQPGASoBZwJCAWYCYQM1A0UERwHOAd4BywFiAlEBnwYmA8ECZQLRA9YBqAVNAcEGIQRNA08BpAKeBkcCsQXpAtABpwNOAaoBlgNJA0kBowFtAYkDjAPgAacEsQKbArgChQKBB0gEvgMnB3sByANrASUBUQKoBUECmwGEBMkBygPOB7gBzAKgBSACKAHJAYUBggFYAaABqAE1AYYDsQOQAjAEbgF5AsYExQqdA6sEeQS2AoMCjgRJBOoBfQHYAUsD3wE6AbIDgQM4ASQBhAF/BOkC5wShBXoBWwHDBDwBUAG6AdEBtQGfBZYBzwKxAUgEzwQ/AzIFYgGhA0YGcQEtAk8BVQFNAXICKwYyA10BZgPfA5UFkgTBAegGsAS+BCcBuwVyAcYB1AGwAssDwwFiAU4BegVlAT4BnwR2AuABmwFLAYcCiwFzAVcBwgJrAZABdgNkAaEFdAF3CaQBlAEhBc0ClALTAr8BaAOcASEB0AV5AbQCrwErAr8BOwKlCTMCKgEyA5gDSgKrAsEBkgGoBDECqAHPAaIBRgTOBEMCWwJNAoUBZwKxAXUBKAFcAbEBgAIiAqYBOQHEAUEFNwKdAYgCIgZCA8YB2ARPAb0ErAFsAYUDdAKhAkMEMQZOAXYCuwFNBRwBxwPPAYwBMwFtA38BPQEnAuEGmwGDAXsBbAOuA84BhgKzB0QCTwWjAWQEUwa3AoICLQFtCn8BnALVAugBOQIlAU4BKQFkApUBngGaBcoCgwRaAkMGJwMvBLEJmgEkAqoDQAKHAagDPATUApUBvQNgAbkBjwF7BMUSvAK+AjwBpwNAAUACwAXeAdQBwwQ8ATkCOwHqCUECjASuAUMCmQLACasB7QREBqIBNwSvAboGrgTaBbUFiwVHAqoCpAGoBPIMtgXUAVIHVQRMBkgBPwFRCdcFswe5AbkGuwWsA0YCzgHq","iwqB","0QvS","mQFxbnCdAaH2Ak/UAiisAXPkA2DYAZs","tQJz","Ars","DUIDwg1RBqMBTQq0EkwCvQi+DDMFwgMvAaYDKQGVB8QFJwNCAVICTQGmAUQDPwKqAT0DpgloAm0BOgQoAzcByQOfAqgCnwSYAqECRQSdA54C0wGpBjYCQgOUA54CRgO0AVQDHghGBToEQAOrAk0BNwupAUsBnAOnAXAEfgLIAV0DVwSeBcwHdQe1BKUFmRN7BL4GgAGqAUABcwOhAaYGUgazB1AGogGkBZYFqQcrDkQDQgabBHMLhwGXDCwCdAGmAlEBbga6Aa8BJgFSFpYDowJJBW4GSQHNDUICOAlhArUGrA5tIrcKUQuCAToCcwctA1wHYQJ2DmUEMgJCAm0CoweUBZIESwOzA8YGtQJPAWMEmhNKCU0BbAO9AUgHkAZXB3oHiQOsJKkHUAFOA6YGVSJ9A0kERgSkAa8Dow1ABX0ISQRNC5EGxQLZBksMRgGoATAJVQmeFaQBsgGbBkoBVAOXBJYCUAI4C14IKAOiAl8BZgZdAbYFVwGHA1gBUAGmCLUDZgF7ATkBmAFOAaQFKQFJA8MHQwa6AZwJSANHB6UCXAeKFc0HQAGTA74I1QGKB5UCrQ3AAbkEgwtvBTcQ0gFJAmkBoQGiAoADVQFOAa0KRgNQA7YISgNSAlABPAMoAVICQwGTBJ4CdxeSAZgFfAF6B0wDUQFrAmMBPAFSAbIFrQOlBYYChAFZAkkBWQZeA74Dowi7ApoJSQhvAnsBUAx1BloDvwGTAXQBIgJgAdcBlAFvD8oBbAM9BVQDdAS7BE8GfwGwA3ICJwJJAdYCggy+BE4EbgNdAUcBzAFVAmYEpAFSBCoBSQF0BIkBXwOQBJEBfQVNAVcFywRtBokDwQFEBEgBRwKxAlMBsAKwAVABUwGnAkYBRwEwAa0BOAJNAZ4BewGpAZABTgG2AUsCcALTAk4KWAY9AooBYgFvCjsBzAGxAYsDQgKqBIcFQwFMDpkBUgFHAUsBTQRNAjMEPwKrAUoDewKXAa4EpgF8AakEQQGrAVACnwHTAU4BeAJvAW8GUAFDBlALlQI2Ab8BVAGqBnECbgJIAp8CVwZMAVAEQgbIBJwDfgNSAaECKgNzAacCPwM/AUsBrAKMAZYBKA5kA6gBRgJHB0UCVAhzBa4BUwHDCk0DshIhAkUGuQNQCIEBkQFTC2cGogOeAlUETQtFAUsD2QZlATUBUgFSApACqAKkAUsBbgFIAagCrQPDAbECVwKXA24BrQG7CXMDUgZKATQDOAKkA6UBowGOA0UCUAKsAT8ERwVvAXEBRQF+AUsBpgGdAZwCTwFyAVACoQE5AjEFSAFJAVADdQSzAUwCUgo8AlYFVgRDAnMDTQK5AsYBVRFaAjkBIgNQCHsHYAy8DEsGsALPAo0JqAGfBG0CXQFuAYkCTAEpAqIBogOwAp0GrQNQAiIBdQFMAk4GmQqyAqcDWBB7BH8UtwmYC7ATbhlDE2MCTgVQDKQBsBZSGbwBww","MK0JsgG24AGoPEb1AdBZc9wDvpkBhBXCMMVkpIYDoLMCywHP","bo5MlQ","qgLF","uwGk","xQGK","ngXHELQ","1RHn","1RHX","hg3n","hwIv","uwGk","hQWQ","9ASz","9wTG","8AlZjwKe","Uvg","sgeP","UsU","UoY","UrA","UoY","UoY","UoY","UrA","hgKxPJ/DAaq6AWVgc7UBxA","wgKfwwGqnwEhxAaAmAOkxAHY","rA0x","rA0x","gA+k","AMkBxwHYAaIBpwHVAbcB4wHPAcMB2wGsAc8B0AHMAdYB0gHkAaEB2QHmAY4B1gLCAcQCngHGAaYB2wHIAdIB1wHKAbABxwHEAr8BzQHGAaoBzgHNAUsCuAHCAdgBwwHZAckB5QHGAeIBeAHLAbYBwQGnAaIBnQHBAegC0wGtAdYBogGpAcMBuwGXAtACpQHAAbwB1QHTAsQCuQHFAcgCsgGvArsCswHrA98BwASkAacBqwHSAagB4QGOAckBlAK7AcQBqAGXAcMBwQHEAqwBvQG/AccBxAHEAbUBrgSsAbwBtgHLArEBrwHIAc8BwAGlAaQB3wGqAdUBvwHFAbcBuAGUAdQBzQHBAU4BrQHAAr8CyQLDAbgBLQHcAckBygGxAbgBXwHOAdYBsgKgAYMBnQHPAcEBtQHKAeoB6QGsAbwBeQG2AaEBsAHLAcgBtgHDATwCywHBAZMBuwTGAsQBpwGRAcYBwAG6AogB5AGfAYgCrQGrAbwBuQHKAbAHxAHPAcEBsAPNAbwF2QGiAsUB1QS/ArQEvQKlBcgCzQHWAdEDswOeAa8E3gOhCLwBvgKmAakB1gSlCcEBxgHYAb8C5QGdAa0BsgHBAdkBkwG3AtMDywKXB70DtwHuAYkBuwHUAtcB0ALFAcwBqwGjAdwBxAGVArIBrgGeAeEBpgGxArkBtQG6AcMC2ALYAaQBwQGYAXkBywG1AbIBrAKwAbMCvgHlAZ0CvgGLAeIB4AHWAc0BygHFBNAB1QHXAcYBmAKmAc0EsQLFAbcB0wGGAdgBqAGCAcgBoAHoAdIBtAHPAdsB1AG+AakBrQHTAeIBfAHIAZ4B4ALJAqwBcgLFA54BngHWAjcBlgK6B8kB1AHMBMcB0AGoAs0D2wO+AbYCvAOrAckB8gHBA7EBswLLAbgB4AF1AdkBqwK8AeAB3AGzCcEC1gHrAcoErAHLAaQCqgPiAsoDxgRuAssB3wGcAqoDpgOSA8oDLQGmA8EBvwOtAdwBuwaUAeoBxgGkAbsBsgGvA5oBigHHAc4BrwGeAd4BwwHWA9oBrQJpBekC6gGxBK0BuQHNAbYCuwKtAZoBlwGbAdkB1QOfA80CwwHKAbAByQGLAZ4BngGtAa4BngSsAeMB2QKhBKwCzgHgAtICsQHIAa0CsQHcAqwBqwHgAb4CkgHeAa4ByQOpApgBqgG+AcgBiQHiAcYB5AHQAdkBxwGfAdoCwAHjAaYCpwG6AdkB2wHSAq0BtgHTAdYB3QHOAtQCpQKzArsB7QHEAcEBnALHAY0FqAHKAasBtgPfAeEBfgHbA68BuAKpB6wBqwHeAdwB5AG4AeYB6ALIBOEB0wPmA7wDvQGeAZ0BsQPIAbEBpQG5AeIDlQGqAbMBtAGyAdYBvAXjAt8BWAHMAc8ByAGxAc0BnAHjAq8BuALVAbABswHOAeMCsgHBA9oB1AGRAYgCqAGhA90EygSoB7cBngHOAZsBrAK7BKsDvAOyAb4BmgHOAsUBpgHhAd4B0AHMBckEaAG7AZ4BoAHHAaUDgwHNAZYByAFgAacBjgHnAdIBuALaAXcBUgGkAt4DzAHNA+oMtQF0AY4BrAGfAawBtAHvAdgBngLYAdYBmgGJAdICkwG+AeABvwG7AaICsALoAaYDqgK/AccB0gGtAaYBrgHGBMgCzwOjAbECqwF5AsAB5wHWAewC2wLqAckB3AHBAdoBpgHMAdUB0gHEAqwBgAGVAuIC8AHMAdcBogHeAW0BrwGIAd4BzwGhAsUC6ALZAZ4B0wHnA7wChQOUA8wB1gGqAa4BzATiAtcBzwG7Ab0BxAGvA9MB6AGIAbkBggSoApoDwQGrAeAB0gGCArwBtwJwAtsBugHjAcsBxQHdAXEB6gTGAbAC1gKxA+kBpQKvAsEBuAGvAbkBwwGaBcsB2ALbAacB5gGABZcBvgGsAewBswHmAiUBsgLIAcQC5wLRAdkBwQHTAcUCvwK9AboCwgHHAdkBwwOsAs4BoQGPAscBxgKmAeUB3AGxAdkBtAHPAbABpgPWAYMBmAHhA6wBsAKcApcBxQHMAcMB2QGwArYBzwHYAbwCyQHHAaABoAO7AcgB2QGsAdcBpwGqAb8BSgHNAegCqAHMAe8C3wHaAsYBrQHgAcEBywFwAa4B4gPSAeIFuwLCAbsBoQG8AewBmwGuAtwC6gLRAcQB2QG0AbkB4gHXAbUBqQHOAdYB2QHGAdsB3gHRAtkB0AHABMUBpwHXAd8BrQKiAt4B1AHNAdkBnQLSAsgBjgHSAbgCvQKtAaIBcQayAZsBlQLGAYsDvQHmAcwBgQHoAW8BvQGwAa4B0AHcAXsCvAS+Ad8B4AHDAdsBuwGrAdMCrgG3ApIB1wGgAZcBwAHKAacBzwLrAbYB3gHmBqsC2AWxAcICsgHZAaIB0QHLAcMBiAGVAeAC7AHRAYEBpwHiAdwB6AOuApAByAGAAt8BwQG7AtABoQHQAtMB1AHtAcAEogKkAekB6wKkAcoBoQPeAbgBxAPFAZICkQGdAcEB5wK7AcoBjwLYAbgBxwHnAeMB0AHdAdkBdAGEAc4BwgHZAeMB6AHDBOAB2AGpAa4ByAHHAeAB1QHIAakB4AGXAdsBjwHaAaMB0QOWAY8B2wHTAc8BtwFzAfAB1QHGAdEB2QHLAeMBeQFtAr8BzAHbAdwBhQHPAeIB0AG/AcUBiAG1AYkBzwHMAb8BvwHIAZcBfQF0ApkC2wKmA9kBvgGkAcEBjgLAAZkB3AHaAuAB0AG8Aa4BrQHMAcQC4AHLAfQB1gGLAZcBkAKcAa0D4AHIAdIBywHlAb8BywPUAZ0B6QGvAb8B1wHtAfAB4wKzAb4BkQHJAcsBnQHdAm4B1QHaAcQBywHOAesDrwTHAtEBxgG8AcEBegHLAp8BsgWUAcoBzAGfAbQB1AG+AeoB7ALMAbUB4gHPAawBxALIAdAB2AG2AecBcQHIAZwBpgGXA7QBswGzA7QBsgLNAusBwwHXAcgBxwHfAa4B6QGvAfUBrAGnAcAB5AGoAa0B5QHwAZQCiAGfAcoBuQF7Ac0BpQHAAb0B3wHuAYMBlwHcAc0CzgTYAaIClAGcAawBogHaAd0CvwPSAaYBfQHDAeQB8AHTAccB3AHPAcsByAGjAcgBzAGvBJoE3gHlAa0BxQLOAcoB6AG2AcUE2QFfA6sBrQHJAcMCrgGZAa4BqwGGAd0B0QHiAdEB4wHcCa0BiQHOAaIBgALPAtoB3gLDAesBqALdAeEBzAGsAb0B2wPBAuoEsQKbAtIB4gHWAdsB2QPPAcEBgQGpAbkBqQHdAdMClQJHBcoBtwLTAdYBzgGTAdYBxwG/Aa0B0gPgAa0BiAKrAc4B0AHVAcgB2QG9AZgB4AGtApgB3wGzAcACtwG+ApYB3wHHAcAB2AHXAdkBtwHcAcYB4wGhAo8B5gHJAckBzQHkAdQB4wGyAuQB4wGqAbQDrwXWAdYBpgHbAcUB2AHUAc4B1AHHAc8BswGaAa8B2ALPA6MBzQHgAcYC4AGvAcQB2wG2AbsDrgHqAdsB2AFTAr0B0AHUAcQBvwGOAeIC6QHgAeEBywG3AcIB9AHeAb4B1AKuArEBnAGdAdQB6gHlAdwCjAG/AacBuQHiAdABzwLfAb8FqQG+AbMB3wKhAcEBwwG0AacBvAH2AZIB4gLUAdcCuwHIAckBxAHPAtwCrgHRA9cBrgGmAcMBrgHlAcUBrgGBArEBzwHLArkBwQLBAuEBygLBAXEBvAHVAYQBwQKjAYYCegbIAXcB0gHYAa4BrgHPA1EC1AGaA9UBnwGgAb0B3ALMAo4BlgHPBdYByALZAq4BuwHiAscCqAGIAukB0gG/AeoBvgG2AscB7QLYAroBswHHAdIBngHYAawB5QHYAakBxwHeAbEBvAKAAcQEngTLAcYDxAHvAUQBsAKdAc0BugHpAeUBoQHQAVwBzQGtAq4BuwHBAZcB3QGiAdQBrAHXAdoB7gHbAd0BqQLMBM8D0AThAcUF2ALNAdYB2QHeAccBvgHRAtIC1gLjAcsCuQOAAcUBzANNAd4ClgPLAdUB3wHCAckB0QHUAdYDzAHWArwCywLSAlABvwHYA9UB1gNEAcgB1AHGATsCwwHMBugBxQLeA88B0AOyAc8B1QTBAbkEsgLEAdECtALhAeQC0ALUAdIDvQFJAXkDxwHKAcYD5AHbAtQB2gFKAWQCwwLvA6MGzgPJAdQB7gFdAdMI1ATSB9ID2QHSAcwB0wXJA0YC0gLeAVY","FMKeCb8rxI4FpQ","3QljmgLwyALN6AJE","7AqeIosGiA6P","jw7T","/QKn","0BDK","ADABogLDAUMC6wF0BMMBTQLtDcMI3wHpDEsBpgJnAnYCvgZEApsLzgF2ApUEHAHzAloCMwHZA38E2gH3A6kBvQS8AkgBxgG8AUIB2AEnAY4B5gFVAkoDQgFEAXYDLAJdA8MBvAG8AcYBuwJFAycBbwNgAcICywLqAccBgAPQAYACKgHiAlgBeAFZAssCSQGiAYQBtgE9AtYB3QFtAScBvAK9At8BSAEmAd0BhwLQAbUBLAHoAZ0BvgFGAaoCtAGQAdUCsQMvBaACzgGwAr0CbwFPAa0BsQPhA3EC6QGzAakCdQGdAXoBtgOcBLMBVAZHApwBdgHnBW4CzgGOAoECyQdXA1gDegGkBcMFegLNAagIoQPEAt8ETQThAnUBmwJtAWUDvAHBAo0BUgK8AVIBywLaB3wC2gHKAokBegGSAbwBvgMtA6IB3wTDA2kBkwK8Ar0BTga4A2sErQLNAt8BRQQwAbQFtgFoAnABrQHcAe8BtgJBA5kCxwFzAmMCiAGxAdMBmQF5AsgCvQLWAdkB3gGeAcoBqwO9ArwCvAS7A7wBvQGXAmYByAOtAqoCrQWwAqQDuQHRArsGsgLZAdYG2wHRAbwC0QHHA3ABywFwAcoExgHiAbcBqga4AbcCuQJ2AtIB0wHSAdcB0gE2AagEewOzAcQBzgHwAbgBzAG+ArgCUAa5A0oJvAKtAbwDywbTAY4BOgHnAnkBLQFRAbsC5AHTBNwVnAHDAr4BvAGMAbwBMAG9AYUBtQfFAe0ExQLLAcMDhAFDCMkESwGBAtYCqwOtBbkCxAF0AdUCuAXVBb0BvQJ0Aq0BaQOgBNcBkwG5AbkBtwG4AcEBYwFNAa0BqQHjAmgDOgG8A8sBvQLXAaYC4AF0BdwCyQG5Bt8BcwG8A7wB0AXcBbwCuwHQArMB0AK8BMYDvAFQBk4EuwLgAo0FSwPJEk8DUQSzAsECkQFRA8QFoAG8AboDugLwAbEDvASkAbsBuwShBE0BvAK8BJcBvAGxAbYBpwG9AmYBvAE7AaABwAGXBNECvAS5ArwEvAKrAYMBsgS7AbcBugG4AbwD4ALLAnECZwFlAb0FvQe4AtgBywG2AoYBdwG3AeMB3gavAUoGxAFOAqYBvAHWAdwBwQPBAosEQQLCBHgDvANNAp4BbQFhBHABRwHCBHEBmQHaAXIB6wFyAYsBvAKIAmYCrQFMApUBkwI5C8EBqwJjArwBiQG8CLwBvAHAAasEvAO8AZ8BRwlRAYIG5wGfAaABWAF5BuMBvAJbAa4BUwK6A38FvAGcAcECow3jBJkBmwEmAakBagGbA5gBdAP0BTsB4AHTAtMB2AFLA94BRgF7AdYC1gHJBnMBSwEqAbkBuwK6AmsBvAflAUkBwwIqAawDtQKyAccHdgLxBEsDvAGYBeEBeAJdA3MBpwGPAbkBxgS3Ap4BcwHUAdIBywJjAdABIQVdArkHbAG8AeQDsAK7B9IBtwK4BG8BPAFIAawBLwFoAX0DXAHUAdQBuAIiAckBvARmAR0B1QHfBM4BWQLfBF4BiAHSAagBuQJBAaIDmwHhA7wDygHBAcsBeQHVAbkDqAFWAXgCTQGNAygBjgGRAZ8CtwK3AdwCXQNzATwBcgK8BKUCuAEhAn4CuwHIATMBTgTeBMcBKggzAm8EVgKbArgBrwGaAckCSQJTAbcBpwbsBLEBkAGNAe0BpAHgAdUCzwFuApsDiwNRAX0EvAFjAb4BvALLA3cBcgK6AUIBZgEpArwBcgGMAWoC0wHHAUgBgwJbAdMBMQHhAoIB9APcAdgCyQJ3AbABYAGFBdMB5wG0BdMD0gG0AcQBOgGfAi8CwwKLAp4BaQGoAZ8CxQOrAUYCMAF6AXkBTgOvAbwB5wGsAaUBSwGSAdQB0gHbAbYBeQV8BC4EvQN8AVsBdwJAAWMB1wHWAroD0wLcA9UB5QLUAyQBwgLoAY8B1AHYAkMBqwMqA14BhQG4A4MBSwL0AcQCngJyA5sCygGcAt4CvAFDAeQBNgFLAV8CKAHZA1gBdwKpAcsDlgJmAjQBtAGCAcwBlQHJAusBuAG7A6QE0AOiAb4BYwFdBX8C6gFLAckCswHWAawBOgJKAWwBxAFxAUUBrgFkAswBdAHmASECaQFvAewBuQGyAsUBpAFRASQB4wF/AbkBfAJ9A9QBcQJ+AcsBvAJSAdwB9gKhAcEB2AHVA7sB0AIoAa0CagGMAa4BaAF3Ab8C7AFtAbcFrQGjA7wBeAGzAccJzQTmAekB5gLgAXMBZgJmAnoBSAFKAb4BXQenAU0CrAG5AbkBuQG6ArkB1gXBAWMBxgGcCL0B+QHtAfUB4AHjASUDcgLBAzcCOgRKAdoBugG8ArwBvALiAroBnQKXAycEnAL2A3cEqQNCAUcF1AFkAVQCcgFIAaYCeAGrAXsBIAJKAb4B4gE+AWYBwQFvAq4BrgPLAcMBTQEqAZcBtwF8Ad0BsAHLB6kC4gFsAToBtgKIAu0BtgHRAV8DfQKoAtcB0gFbBUYCQwFIA84BeQFHAjcCwQGtAboBZwFLA8QDqQFIAbADjwGnAcABOQJ4AfYBugHRAlABRgFAAsECMgHJAbQD5gPIAcEFKgLRAbwByANNAUgBugHuAp8BcAG4AssBugGhAcYBVQGHAmgBvAR0Ak8BowHuAXIDRwFaAkYFeQLBAWcHeQGEAoQQ0gO2AbYDjgG5AbkDuQLkAeADRAGrAuMGtgG7A9cBuQHPAogBwAKZAqQBVgGiAaIB3QPEAdECZAKXAbYB3QXQAaEBswJvAn8BuwFBAm8KTAFLA+wCZQGyAkkBRQS8Ab4DvALxAUsBSAF2AbQBxQPLAkcMxQGxBkEDaANAAkkOOwFNCUEDRgHTEGwBvATCBDsDNwOdCJ0DiQNOCWQERwGlB+QCSQO9BssBuQZJB9ADvAjVAvMJTgm+AkkGbQRCBocDpwM2","iQFJzQGeNZGUBrM","0RCi","sAktxAIy1QKK","vwJGrwGsbUtHSAGjHpfxAY8OTQpGCpnSAUCCAZwlqRFkKZwJn0CbGUw4RwhID3cXrB2cMEMQSlWsGkIGqf0BQA","sQHb","wRDd","wwVw","igRsAqxKcQ","Bqo","Iy0","uAKwowJLmgPlarE","UoY","iw7M","X7Y","X9A","X3c","jQ/k","kA2i","lgd4","vwud","qxAn","wQWH","hwRR","yQ6z","kA3x","7wsx","+AowASl2MQ","Dsc","wQ3XA80","nQvq","mQ7v","7gR+","5QipkwIwAUd2Ug","0gpqF3I","QJ91lnVxAdgBowHylQGdwQN1PqMBZtQBsQOqH6AXpE5tgQKpWSgUrb0BmzaaJjw7KifwAWgBYwyY","rQJ/","rQKl","rQLM","zQOagQNDc0vQAT/xAW6BASeuASqXAZsycVZbkwFGN7kyRw","gg3BAdMBwQ","+Q/y","8gjF0AYcBs4E4HLU","zA+c","+Q9D","lw+2Kxx8Sw","pAF4zwvdrgF9T7Nc3g","7gTT","DacdRwTUMYB0nAzICZxWkzWXG+UvUwyvFksEYwQ8AUYULzh7OT4lzRlnDosIMEGoRb5KjhvPIkMGlxKwDdAcqghXJycCPxrBKVcYQgHSCFQMnghoJjwEPBtCM6AaTAtCB08WuAJjIn8aaQa5MmEFSSrKA7gQahVGAUQLtBSnMT0FaQ9jNEYK6A5fM6kjlxjCAqUCkiKYG8FASg/PH083SHDQRu4FuAZEAtcITA","yQNZ","3wHL","3wEw","8wKX","swFABEMxPQRQBzy0Akc6SRBLtQFFR013QsYBSidID0IiRoQBPj1MM0xwczE/QUauAXA2Oi1gJ0gfRAeMCVUDQBFI","pwRH2wVG","vQLW","yAMq","gwXlkwpL","wg8c","gwXl","yQaw","vAF0","vAF0","Vc8caGfE8QSw","2AGu","VeWDAdqSD7c","jguW","6QbGAcU","AFABzAGcAnwBcgSsAbwCmgFvAY0BjQF/AzMBRQJUB0gBawRsApABjwNoArIBdQFxAWkDhgGYAU0CVgGhATgJdQGICFAGSQI1BbkBMwmsBPMJyQNSAowBfgVwA3wFtQYtBlYCYAV5CLkDWAN9AbQBzARbAT0CQgJuAaYEKgJ4B3EBYAF5AUEExRa8AXkBiBC0BVQM5Q4vHuQCsQK1CkQBeAQzAWICYwJxAqoCVgJSA0IKMQFvAy0FXgONAXkCogJKA0UBcQVoDUUFQRyOATsClQZUAq0CZwYvEy0KTQ+HED8BMAJpA7oBUQ5uAs0BrwFYA9spqAfAAjsPMwtiCpACSAPuAXIBbQI2DF8EoAGZBO8KdxIzB9AD8gJLAnEBowGjASECUQNQB+QCNgJlBdEF3AJAA3AOiw/dB7MB0wZKGu8SwQhJAzQEOyWXCiwBfQFQEoME7QmlBysVMgKtDk4EOBmeCIwFhAGuA3IDxQawBKcDTgeAAlQBcQGMAXgG+AVrDuQG8QF8CKcPOQg5ECcC7AFxBGkRhQNeKEwBfw45BK0FVAEuCS4DiAZoBE0CaALyAekUbwijDlIBPQRNASIDuQqeC4QCfQT2D3cBVgKNBm8Bpwi4CycJVgJXGygEVQP4DDsBJwKmCMoXJQF+A7QBUgKQAW0BRQGxATcGJgG+ByYCpQMvEaUFkAQnBVoGYgEwAjgCLAFaCm8D0wNlA6gDvwTSBMYBrwNZAjsD9Q1RCEwLwQhtDcAKNALuC1oZKgQ/CFYb+gktAt0GWQNlAcIELQGdAccE+gXkAXYDnwVQF3UONxLlAW8SbgFeAToEdAHzAfcLbwaCAogDqgZFAaUCqAPHA6QNRQElAbQIngI+A5cEVAEyCVQElwGWAb4MpQVXCZYCNwRqBEgCXAVHATABVAFxAUEKeARLDkkBNgdIBEcJywWCBuQIWgOjGF4ErA2DCIQJqAFABVcEQQOaASwBJwOQFVkCSwZXAtgCdAeMBN4E4Qa7AikBUQE1BN85uyW5J+4aPwfMAcwE8ha1","/wLekQPNAcMB0YkCsA","mwiw","kAagAcM","kgbR","/wLN","7gaf","AFABMQSdCKcVPgR0BEcCcQk2AkwnTwEzB3IEHwJqA3gSbQh7CikGNQQ2Ai4CjwGuAy0CWwZnA0kBNQKuArQGTAItBKUGLwUsBrABQAM8EGEMYwPDASw1jQk8ATIBRQQrAy8BkwUxDjgBiQItDWsHkQ+fAc8kPAU3A0IHLzN1AUkdLwGcCrEMYiE6BdJKkBw4I2AQQwdRCOY8MDGqAqACIwd1D18SWAPIEUoFLQQ5C0wHXB43AXAkjAE9BZkHWwNtMecGJQJiAcALNBdmBiwNbQmmFqYQLghaAS4LLwQqTRwOHwQtEvQXNQGfDKAcKgKoHaAJtQQ1ASoCQgHFEyoD1g+uCzgDOwaoAjADLgOwFKEcMgEtCTUOKwEyBTEFSyffBmMUZCKYBDUDwwMlGEofjQEiDDcHvR+aAScBqAfbCiUBVwUkJ0sKMQ8yGCkGqASeBCYDOAMwAW4NcQ1SDXEEOAQxBiYMHAcrEyoI4hJDGykIGApIBScZOBI1QbABqwG0D7NctRLI","rQjB","owrg","owqq","kwnD","kwmP","pAm0mgV0","dy0caSRkC9Ie9QGKAeUB8wHoAeoX0AtwDLQLqB7URDAjvjXwUEgCy0NkTdABowhnL8ki1AFxCMQG3CC/2ALGAXQI8iYqI6sl4hLnM/U4UxdFIoMT0AH1EMRBQ4UBmwyWJNZIQy7NAdIVcxZuD7I8xQJ5Eax5+j/lOOMB+Q","7gOs2wRMhwObqgOX","2AO3","pAqA","nQa6Jr+UBOc","8gV2","4AHlAp0BnbANUcgB43fUAfI","3AvG","lQZx","lAbH","kw+Z","lAaXD9f3CuU","3AvG","2ANH","0xHt","2API","owql","owpn","Q8OVAffxBNqgAeylAvJQx+EEqKsB7Q","yQZ3","yQZ3","2AGI","6hC3","6hA8","vw+P","2AGy","2AGy","2AGy","2AGy","wAO7J70","wAMv","wAMv","AvQDnQNCAT4EsQF9ArAOawQ+AaMFNAJhLH0JRgMpB3EVuhjBEngBaQKTBjUQoA87BKcB0gUoBWMM0CbSEYEURQ2nDH0MhQPfGWAcYSfuBp4CKRypDtwRTQRTBjYJ5CzJG50IKxTNAd0DyxGQD0oSNgK7ArkDiQRJBUABeRzNOkMebAipGtgCQgagDnwXYBHOJJcGyhLBBKAFNwVfITgOSgG/EFMNrhHzCj8DygFtIHAMng+hEDgUbQqiApoHngRjBJUHxwOsBMwEnAFwBq0PpSjEC4oEbQ+dDkQSbwU7FSwFqg2nDqYT0RZmBsIDZwRcBMkCJwlQAZsTmhy9HnsB5gubF5UFoAIwAi8BjgQvBDUBrAZQCF0RwAyaAYohoQKmDLoFlBDJC64inAijCTcJ8gM1AjQBNARYCpkVpgSrCYgF0wRFGUEIfSCmAzEEnQqlHk8HKw2hBsUBPAa4I0ISRQYxBUsMSwZ4AycBJwEoD8ACsAhGPjsKaAHgTuQaQwZF","hg7O","BJdfH5cBcaUDpowDvdoE5LUCY4MBJBiXQaM","ohBt","3ArU","gwrk","/gOqAa/7B5c","mgWY","3gSa","3Ara","Y1OFASmmBlanAYuGA+RL578C0w","H9oGeIIGfg","H7s","H7E","AaOZASqKCLg","hg3dJNQ","AaMkR+EMng","8wqokgfj","iAig","hg1g","pQ2i","iAbA","iAaw","gwrh","9QfG","pQ30","7Quo","pQ2i","KjTQC9GMAb2/As4","wAjF","wAiF","AG4DpAF1BEACUAW3BaYCUwOjB7gBSAFyAc8BzAWhBEsBzgGpA7kBcgR3CUwHQAWVBMIDUARmArIFwgTSAZUBeQHGBEoBQQNCAqQCpAFIAb0DfQHPAXYCRgFBAzMBrAFJCUUCQgN6ApEDNwFAAb8BvgPYAXoBQgLFA8oFRQJAA54BXwHBAWsBwgJpBL0CagFuBEgCQgGiAcEBzgO0BEoFwQK5A0cFzgE5AaADQAjRAdQCSAedA9MGthGwD04U0QpLAkUBfwE+AasBPgFbCL0DzA1PBj8DNAFuAZkGwQfNCJsDjAGuBaQItAKkBm8BnwxLAUwCTAV6AnICtgHIBYUBihLDAkUNmgHQCrkHzgg/AXcCnwN0AToNegHbB4oK0ASMAsEKRg+8B5QBUQFQA0UHSQVBCMAC3AHGCD8KrwaLBm8FjwHDDpEDQwfIFE0BSwKtAj0CuQSLCE0BvAHFDFAGbQvVAk8SnwJQCKMJTgHZJEoCSwI+An8CmwSRGkwLbAu+D6MH5ARKBJADTQlHDDwISATjAaoBSwFKCUgCWghHFk8IvgNIAUUERwStA8sBkwJCAUgBdAKbBZcEzAHsHbIFnwjGBMMCvwZGBn8BzQi0A6YI3AGQB0QCswJ8C3UCggmRAUsERwVIAkIOxwNRAdUBTARjAeQBSQFEEIIDcgLcAaECzQOxAUoGQwNLArACqwKjBbABoA9HA0YGvQHABaMBRwOgAr0BRwJqBcoBrAFLA9EDZgTIAtwBQgaBBKUMrwQ8A1ABTQGeAcsCxQJHAqECjQhFApsGgg+3E0UIQgFLBJoDVAHRBaoFdgQ9AkMMRAhKC9ICsAFyAUUBpQFFArkDqgLdArUCzwdVAUUBRQFIB9kJ1QF6BEMEfwGoAUoDrwHZAbsCogGjAUoBgQIeAUQCQAFIAnMEUQZJA8kBxwi3BawFugG2AXYHRgPFAkcCQgG/A9EFkwGrB6QCwARyAU8DjAJJB6gCQwJDAbQBnwFLCFEFrAFBBUcERwFJBXkBQgGLA74DTQpKA0wBPwJIB0gDTQGpATcDQgOjAqcBRwO6DVAEegPNA1gBjQF2AlEC6gFDAUMCQQGMAUUBbAFPAbMISQFKBpALVAFBAUwE3wh3AVwJpgJFAXsGyQU8ArAGowJDCZ4ImQG1AUEDPgrSBVYBOgI/AkoCogE8AUIFhQSoAnAEQwJGAkgCRwFDBN8CSASoAUYCpgFzAXoEpQFuArMCmgFNAakLawFoAU8BmQKrCLkDdwGjArkCxgGGAZsBQwbXAnoDVgJJAUsDqALSAcABwgGYAYcBfQFGAm8BPQTCAkgBPgHEAa0BeQJLAUsBwANLAcAD3gZEAp4ESwRDBKABcgJGAUMBoQSfApwBQAK5A28BogK6AaYBzwOsAUcJxQHJApsBvgm6B78BYwqrBokCsgOgC6gC0gNXBEEE0AHOAsYBlgSnCqECTwXXAkMG2QSFBM0CUQFID7gBrAHUDkYJSwWkA0AERwm+Am4FPAlGELwFvALOC0YBmgPCGKAG1Bo8BEgPSQNED0YBTgSqCzY","Y5WYA45MpaYM2A","FPVm7yXuCN7WAuYB5wHpAXQB6pIB0AHd2gX0AfMB9gGyAvUen5cBx5cCrm/G1wL5AZ8N9Q","8AqM","8AqM","/QNNAlcBSw","7wrAAauWB58","nwGYCJg","/QNXAWICSwGA","nwGYCJg","tw4kiwFf","mgXK","sAHRctUB2wPNAdgKbRTxCt09mUDxIN0E7ST7AfkDQwL2AVF01S72F/IQ5ib0jwHY6gO6AdAt9wVwYfgB+xPAXdcf+VHzCLDIAcC4AVUv9gHxAfgC9wL4Aq4CnQHhIPI","lwyBAek","mAyX","sQu8hAZF","lwzgAc8","tRFF","8AOz","xQKxjwPHwwbJAZ8","tRHF","8APE","mAyP","sRHE","sRHUBMU","pw3b","fT0spmZ/7AMt2wGlASgIk/wBfLcCKjQsMZUht048P6YKckuXBZ1ZvweaDGpGqw","twj1","twhr","twiG","kA3m","oQ5F","hQ3o","hQ2z","hQ3b","kgvW0wJRO/k","IPg","IGM","ID0","IHw","ILE","IHA","kguB","kguB","oA6F","oA6F","oA5a","oA4g","kgu5","oA5N","oA45","oA4g","GJk","kgtX","kgvh","0wEl","9g/L","S+4","S98","S7k","S6M","OdfYC/U","OW8","OW8","ObI","CubhBurpAkuABN+EAfoB+kD3C8w","mQ/H","mQ/Q","2A68AbA","CsGPD9gLpw","mQ+5","mQ94","6wbP","6wbd","GE6uAmvWBNq2AeEBuo0DwboG5w","HKEUTwOqBYgXaQG8C8IUPwijBrAKohSfB1ERsAhIEYkMwyHfMEoRaAF4BEYHQhPyAfEHQxvCCVcXeQjEB4UdVgakBU8KlQFACKEC4QZeFS0wQBFBF7UHcwvTN6UdlxHAUHMDSwGiAcJHnxJ9HG8E3xKPEEkNThumCkMQSBu/B1MOnxKbC2IB/AH6AfACOymZBFcXmQW/CpUCJA3pHJwMngKMKMUBoxDBGX8Erx2sJXMItAxCA0UXrBeBF28HrwxMBKETSBxEEpAOSAREJmIBYgHZDlAIqwqcB7cHTQSfBUYESDJFDa4LzRFgBKEjmAfJBUMOtweKBJwBThuVA0wLRwFKCp8HSAGpArIIPghCJmYKoQFJAjkFeQ5gBLoC8TO6AbkCahBCEkkHng5gGDwebiSnArkTtkSXFfQ","gAc/","3ghL","W8I","4g2u","oAff","rBGnArk","swGp","pQZL","uAnl","rA4h","rA5u","+QGs","hwGi","0wiM","0giX","0gjaAd3HCcE","/wiZ/wOrCpydAZisAXk","2QKOAco","2QLOAds","HKE","2QKRAaE","GOewAZKnAtbuAd8B2IYCsF5hAVmvAsoen6EBZ54FiBGq","3QW3Abg","3QXA","7wPB","7wNn","GLs","yAGS","vQRa","hA+Y","BJkQgw9PCHU0lgN8AZUFPgKUBToCXAGVAXUDbhUzBXgHvgjOA4QCRwJEBDcI4wKtBmAHUQI8BLkHPQREA0UC0QIqBrpQQgY7DJkTpAU/AUgCSAJIA6ofbxi8AkwBlQZQBFYBRAFCG5EmcAJID9ACXjqrA0UMqwtFCH4ISQNzCz4XQzU6OVAvPgFCJYY8RxKkB58Lcyl2BC4INwOZAnoEngcyAUkNcRJRAlYJ0hHPBjkJawgpBm8Epw15C3kKSBUhEagJxAFCBJwHUgShAUMEmghNEKYJnAZCAUcDaAVMAWgELQJLB9UMpAGsA5kVSAWsA4kDhxJEBSgGNRBMFCwKvBC1AkQMughCAkMCmAO/BDEBSQOfBscDRQoqAmsBZw5PAXICSgxLA0gCTASSA8MJ2gtyAq8LhgFGA1cCwgGiAqQBSQVaA0UNTgNDArIEmwOcBzYGWgRrAXYEaAUwASUnSgKiBEUCpgNSA1EFJA1TBEQBohGqCkkDSwMqAUYCRgdnD00NqxQhAqgRWgJAAkAOhQqZEiECSAY9An8CQhJNAU4LOg2wBSsHZgVDCFwBJgKjBZgCwQF5AkEGLgOUBnUDqAqhB4wTJAOsBUcB1wJJAqQCJwa+Cs0NxgwmET4DnBUmIqE2RwVJBKk/oAKkCUUlPCC5","6Q7P","6ApJ0ARM","PWwV0S0nB7UBJge5Bp2EAbGFApszUyOitAK1YC13pRY3IysjKAqiJSsgMU9RdzEgQX+niAF4BZsWpAIwOjcdxgS3AacctUwmCT8Xtiwh","A5EGrgOMDKgsQR9iBjAGUAeZAS0abwdlAkETLgMqCmALig4lA1UIZgmJAqgonCVzELoOkySqKq8DqgKeB1sIzAgtBFAMeANeAakB0VGzEHgCKRGlAnYFsAJTBpwLLSA4HrcBLwVkMKMBbQKjDnUVfgidAXoGfRKABSYBQgM0HZ4LmyByJpcDlgZuCqYJQgWfCCgOoAybAUcCYwZaA5glLRNYAmcGoAyWBMIKWgVuC4EOvwFwBnkKfwJcAXUCSAF8As4BywFqB8sCMwRnBD4BUxxYBSgHgQKiA40WKgedA3UEMgGgASgBjAIzASgEvQo9BCsMehEfDSgJoAYxCpUBdAMmCyoGWgKZBlYLngI5D9MNYg0qAnELKgYxAXMIpwM+AjACuwXgBYcBkAUyBZMCgQEyDmYDcwqLB7wIrQRpBG8IvQHLDKoCjwrRA7cIdR+aBp8EYQhWCn8EegGnF1ABUgMpBcQNeQukAz8CKwR4IooIrgKvJoUKvBIoApcFXBFrCEMDugUmAqcEIRyoAaIErwE0AX0CfwUtDVoGngQmBb8DlgHJCKgFIhSACDgCJQVoAyYGQAKjAlkWXw2dE2sH1AucBZIDQAJkCoUDbQpnA1APRAShA3UFlAKdB6ANnAtIHTwNQyQ4EkUa4g5ICkUbQgmn","2RBR","kAyv","6QfD","5Adz","yhCU","pQVI","TcDvBnsjXroCI3BqPKOiAlw","khG5","0wG+mwUw6gKlPswGzG64P8QPh5sBeFJKB7+AAlBHJA","pQVu","+hFR","pw2s","1gPO","An4","uwPN","ng2X","9ArB","1QGm","rAvq","QCs","xwit","pQqebVcBdQ","uASN","6A6B","L5A","X2I","3Qlj","rhDG","zAuQ","hQsn","6ASt","6ASU","kQJyTCOCArLxBF7+ATDrAt7wASI","ItknQCSnBcgBNQR9OjUoKg4rSC1ELik8MXFQMAo1GDApNQszLzdQQwktFcsB2BBenwGKHjgFOl6+WC8MNBKoEyoFVQpIASgFLgUtAT0BSw0zCSgtMQMvKpokMAxIDi8FiQFOOCwHKhcmBDIRLR2jA+ULNxI0HlMFeA8sCVwRVwsvA3MHNAiqA34RNxlGCy0TJRisIekCIQjeUNMHPAcyAzMpWgGoPI4QSBdEAiIBSw","6A5W","7w5G","rAaIBb8FxJEGkA","vgPdoQG4iAG9Ntgm44kDkDZRDy0GWNsBMSTv2QK9","RNSDAbB5vRPtdNegAuU2nARBIqHjAjE+TS3eBt8/5TnMFyoU4hFTN3sNjhzQGGEC7DTlIigW4QHJAeJbKAhYAXIEJgXVESEJ5zVGuAGj","vwmb","zhCl","yBCsAqs","yRC0","5weR","rAqPHFq3AYA","lQyX","vA58kgF6K3U","Qm4","7Aqe","9Q3r","wQpq","kRJt","SNrdBp0dg70BtAF+/gO4CtV4ixFpFG8","xAeq","wgeLuQLV","1g11","yAyt","yAyk","sgy0","mQbT","4wPM6AfN","rhCq","0gYj","1QF/","fscJQtAEcIIE2C5kcXmYA1j7ASo4eQ","1AnU","6Aji","sAFA","nBHi","6weu","rRAo","xghw8QVv","hwFw","+QzfOqA","pwTB","hQ9W","2gZ0","rAyg","wQEvhhDG","wRFE","2Q2yAdw","jAdm","iw6B","0wlu","wwtt","hwjg","sQncZ5o","0QJg","2wrS","oQbX","tQKy","wwEm+QTZowFIqgPaCSkzwAR1qgG3Uoz9AaQLm1lXH0U","0wHRjAZeyQGqMK1EuW56O6oEuQ/HWaZCv1LPcm+HAUAOUA","0wFn","6Ap2","R96TAYMgrsgNXw","zAFw","1gqk","wQTZ","jRFM","qwvVB6U","rgOe","vw9j","ig/n","nQto","4QqA","tQFg","kQ68","7Qmk","/gtY","zQG6","rgxX","gwx8","Wmz/CZ8","mBC4AbQ","3QMb","xgGm","uA9Z","rQ9c","vAHWowLThgbh","rgPQ","lA7V","5g+2","5Qdm","5Qdm","5Qd2","pQSf","gAl+","4BHG","5Aey","lBCS","4wie","D4Q","7Ain","jgPPAbIBuwHCB6z7Dsk","9gJ6AXY","yQPk6w3mA9I","aK3ZBks","mgoo6wGClwGSR3o3gAyPBIo","A3Y","/Q3ExQFf","NY8","qwyA","vA58","/Q3V","vQfd","0QJg","tQKH","7A6X","5Qdm","iAnM","7wFx","9AdU","kQK8","xAfM","Wsw","nwGkCMo","kA2i","khG5","zBBk","zBCx","+wMg","nQiDwQJk","pQMr","+gGz","5gGb","tAFi","hwhr","RHE","nQGA","kwom","og/u","nAy0JJ8","mgp6","mhHL","tAh5","ig+R","lgFv","lwHZ","lwHG","0AHp7ArUAdsBhMQBLQ","oQaj","mw/p","sgrO","sgRx","sgRe","jgO/","zgxx","5w67","kQJy","cYA","sgre","lBAp","qwlm","mQF7","sgrA","nAqf","lBFQ","xwWYAZ8","hw69","yweK","0wFnhQiFRHu8AX1Ze0KIUoY","5wia","tQ+q","6AOze+c","1wRl","wg9f","rgqS","wwtt","gA+k","5g9w","hQ9p","tQLr","0wdQhQI8BkY4TY8ERRFKNk0ELlxe","Qpk","+wh1","wgpK","zgfZ","jQ+d","jASu","kxLJ","pw2a","9AJ1","9AKJ","9w23","yA51","wwJ7","7RHN","lgdZ","JUc","oQQstwWlRCn3BSQ","+gGWnAjIdHrCBMc","+wNm","3Aao","qwiU","An4","2ANh","wguk","owGF","xhB2","nQLN","ugnJ6QOzXrE","Ang","xhB2","jwmg","zAuQ","tA1G","/BC+","gAGG","iQ/h","lgdZ","nQSh","cX8","yghE","9Qfr","qwGu","kgXX","Ao4","hBLO","wg9f","1wHVf7+FBzvwAX8","+wNm","9wJT","yAuD","6AjG","6AjM","8QyQ","ogNI","nQZK","1QfJ","mQJn","1wFb","+QLX","rgzN","rAbKBbo","ngWy","A3abBbKYAp8","ngWZ","6xHW","oQ22Acc","jQa2qAKt","xA+O","xA8+","zBDj","zBBx","kgF5","wwJ7","4RC5","xwiR","wg9f","ig9l","kQ7f","2giZ","uQjM3wjO","kguB","LtQ","jwmg","8Q2H","swrj","hwuv","wBHX","5AS2","xglN","lAGz","pwTB","QCs","5g4t","JXI","swp3","EzM","1wm8","QtA","OT4","xglN","qw9xAXI","2Qqf","yRCr","zQNx","zQNx","uQ5R","hwSPkQ3Y","tA3V","sw3P","lgdZ","lgdZ","3Qm4","xAxk","1AJn","Aqk","/Q6F","xQnH","9AKl","owhb","jAyL","gQGr","ww6j","ww54","JXI+H7cEwQ","1gXPJJ3xC8I","6xGy","7RC4","7Qmk","+wuQAZU","wQS1","yA8z","0QWt","jgPh","swrB","0gaJowLK","xxDN","RXc","vg+i","8Qw3","vg9p","owGFbnQ","rgrV","2Q9x","6gOO","BbQIgQ","mweenwhFjwG0ONU","wAGd","gAnh","mgXX","NG+yA9NegbQBfNIElhmQZYPqAbUBdI8BpSbS0QHm","/whx","tAhP","kAsq","nAav","rgdw","4Q+a","hgW3wQHg","zga0","9QnL","Qpk","thHZ","nwFsCGw","1g7I","lAa4","sBCO","lxG/","9xFD","GbYISAmUNWJbsUbGvwOjbeXPAnUBpb0DsgFH","lgdZywF7","/Qjfrgcn","6w3P","6Asu","9QEknggm","lQxrwAGc","jwni","1giJ","yQai","2ANh","4Qh7ywKXaWtpzgrNTc4","jA6zmgO1","lwuE","kQJy","1wSJ","qwS/","iw6Y","OW8","kQ2P0APO","1wRl","tgac","owGvbqmCBNUecg","1wRl","nQna","tg/V","tQFgA5sCwxvDhQEsnwHB9gGj1QHMEcWqAZwBuxGUSZ1WoLsBx1u1jwHsaY8CxCfyUKoHWQSkA68DdpECvQPR","+gGT","+gGp","tgaY","2RHQ","1QGB","ng2D","lg/l","7wzmBtxq5WavK843NXeh","2gPD7wLLtwKo7QSc","xAeq","kwHT0gaq0QXFBLk","wA68","/BC+","shFG","lgSSAec","Naw","7gYw","9AIk","gAG3","nA6X","7wuV","1APbngWcBJw","1APOngXX","1APVogXM","zBBk","7QHkmgaX","9gag","6A7L","hQ9W","pBBz","iAG5lAYv","9gHE","9gFC","nw/i","hAXL","oQN34wSAyAPJBkAztRDwQ6om2grOFLoQjDelIHQQ2werDNUEs2c+B3zaAeQ","SJQ","5Aef","tAGO","vA+2","vA+v","8Qt3","7QWw","EIE","LKs","5gyn","oQbS","MsM","wwZJ","hwuv","Wp0","2wbe","2wbV","BL0ccAPiDHcWohFHE1ADdQF8BaEDTAKqA5ABLARaCpEDVAfZETQJxwSuEqQWKgIoVKEFPBwxDi4G3j5bIDY5ICIwCq0BxxAtJ0AgKziVWuMMMAJhJC4wOBA5IpYNgg4+AcIiOiNaHy8csgbHF0sOMQGsASgQoQhjC9gRNgM0ATEEOQYtB7MTKgLHAzMK0QFcBS4GWReRDSsMMAUoDzEDfh7gDD4NSCe6BbcElwaJAWUMKhMyAXMBjwUpA20FJQosA7gIOwIwCiwKbBItEbUHMgQpBN0InQtUCjQDLxsyB+gGwxA4ETULLwo0Cl8BawMqASMBJBi1DY8LLRNADYwLmQJvAycDKAEkA2kBJglrAb8BNAZQAicBvgE1ASEELATRB0sJYAIyDDIR0gfJCjUDLgY5B8wG0wE8BmYBrARLECgJiQgrB2gBPgRiCB0xzBB9E4gFmQHKAqMDgAqB","nwaU","vAPE","oAmf","2BHU","MnPSDagBpg","jxCK","bt/TAd+IAcBM6wGbAXLNAfMB8fcCtAptDu/ABMhEyULjHMEVRVl7XLoKx4YByQTTNcM","+hHj","ww4v","rwudCaM","yQPU6w3k","tAOlAt0BowGX","ywNU","2ATe","2xF5","0xHf","lgds","4Qfe","8QtO","7wfY","+w3D","kxHd","rA9y","5g+d","sw9U","sw9s","rQfKArE","xgic","yRDL","nA94","7QmkkQJY","9QF1","KKk","sQG88guT","sw9s","lg19","mArO/gJ9","8Aav","wRCd","uwNf","Wmw","9wqn","5gHfkgl5","xghw","3QNo","1QHI","An4","zBBk","Ccwn2y9i","5wp1","kwct","+Alo","Ca6VBZU","rAayBb8FmKgEhw","qw+0AXI","/Q2I","4wN8","vA/h","KdejEGQ","5Q3j","0AGR","ug+E","mgGv","pw3k","mgF6","gwad","ngnH+QKK","cWg","zwbN","0QLI","pxB2","rAuv","ng0f","RHE","lgbU","lQxr","L7i0Cyc","5gS/","GNp4hCbJIZKmAbS7AYmNAeb9AXm9Ad0BTJECgs8BfYsBt4AE4w","3gTE","lA7qpgFFxwHV","wgu6","2ANh","9wyV","iA1E","sw3O","nwFsCGw","zwuy","nQbHJss","ug6J","xwPa","mQqE","NUs","nA94","uwux","oAiQ","lAFeogWY2QXikgGWAbUB6g7cAsQ96QLVAu0","sg27","f6A","9QF1","ixBr","mgl2mQTE","wA7P","tgRgvgN+","0gGA","xwGF","owhb","Q+abCtY","vAzFAZIBbA","LHY","sg7S","ihHSA7UB3g","tQqr","7wtp","jA68","4Aeq","7wuK","wwtt","tQFg","tQHA","+QpHdmk","vQnmBcoEuA","oAaw","oAaw","8A2/","9QF1","iBGW","E00","mRGw","uQjE3wii","mBG8","iASp","twTEHcrDAdo","iASf","ToG3Dng","1Amc","rQxD","6QWo","mgvN","qw+0AXI","wwtt","9QF8","/wl9","khCI","qw9xAcM","iA7JAckDlA","lgaM","wg+x","rwuI","7wWz","OdQB1A","tgYx","R8IGpYYBZwetILjCBadr2u8B0ANmcbb2Ar8h3qEBdAq7AdU9rg","1xBE","oAWz","nQpt","BW0Ipw","rA5u","7wSeOZs","1AG/","ihHSBMI","uAHl","yAjGkQm9","2A59","tAGh","gAmo","gAl+","gAl+","gAl+","mBG8","vAxxAaABig","qwbk3QqW","xQXa","rgxX","wA6l","wgchvQEq/wMkswKJ","rAyg","hA+/","1g11","1gXtJJ0","kQ68","4w65","AMg","zAF/uQSV","xgJC","ow4u","/Q6v","8BDJAd4Cvg","1gLZ","AMs","xAyQ","mgp60gJ6MJIQjB+FOHQXgAyPBIo","1Amd","sgbA4wVr5QTj","sAqg","EIE","Ht0WjbIBuYAJ3BvamwFEIKABrAFBMe4pomjkIeUbkjBrBOtJ1weSDm8rQhF3KUM","E5/UBMqkBnCdBjw","mQe2","jA/P","wQyh","tQW3","E54","pQjL","wgekuQK3","uAmC","lwzQ","2ANh","rgie","8QjD","8Qis","qQPa","0gYj","7gfK","8A6j","xAGa","uARo","vQ2DAcqQAoUrdQ","2A59","kwl8","uAn4","+wvX","hAzx","kwnw","kwmn","kwl8","kwl8","oAd9","7RDS","9g1x","+grQqQJ1","gAm6","rQKeXqDpB9htpt0DdMoCuw","jguW","uw37","uw1J","uw2x","8wn6","8wlV","hQKE","fZwPYtYDWcABL98CnTeVWW2WAXIjbTprLaB9gR2NSKJI8wHtAfEBQAFUAdkB5SMi0AEpqgHp","3Q7jA8UBfZ0D1w","/hGo","2w6TAVQBxgFAAVQBsgHRnQO9","/hE/","2w6TAoUEuw","2w4z","sAHM","sAFp","sAFp","BZ1SjaoEarACayGZqwHRH8EbTSCiB6EULTXrJkU4RwOwCyo3otYBnYQBdwJDY5cJpjjP","lAbvAsYNxA","lAboAsYNxA","lAa2","lAaB","lAaB","3gJ2ggKP/gShjQF5bHACZzYlngFc9wJyBjcqdg","lAbGAbwBxoQLsA","nQSbVpnPB4welQ","kQlJ","rwSQ0wegmQRq","rwSQhAeQT6CZBGo+f5UBqw","EzMPrwNUCEsKtCDoD54CPh8mAicHmARtBKEORAOmAb8LbwajDEkLJiGqM2gVPxKHA6ADdwxwBqQbMBedAqcEwgjMK50DUQynBycQdQ+gBZ4QTxl9DkwgSQOeDZ4yMgKeBKoHiQV7B8UKpweYLm4fuGVIEo4CeTCVBHUBcApYBSgJTgRlBsgdkS2fB54UYw8sKb8KKwM3BZwVLwZOAysYMwtoAigQHQKwBasFaCVtAoIFQAScCr0FlgI/L0kQMAolBZwUmQLEC2UTnwdyMkgPpQKbAn4GSAFyAVoGpgOPCCsRIA1EA6EBRwR5AW4engecAoIDnwqaAncOnAoyDDQKSQcjBFMDoyqWCpwSJwSiBHQGSwMgAowDOAnUAiAGQwlQApYKrQgvFjMKHgWOA0UEZgo1BKAIlgOnAmUGnQcyA5sDvhtMDsEFqwidFkQmnhmhCUEFgQkyBKQDRktGA8UBQwxHDTcXQgZFFkE","zQJq","pQOq3wFDlgb0","mgvw","nQ+x","nQ9k","EH8CowJrKMYB0ghZEqERKwVJBJkFRgjNAkknbASTA1MEXQjDG0UgyQdpNnQHoQJbFaA8lwtjDisN3CG4BKYJVifAAsga0A9PKUgEWUCmM4KLAUUJnkLQBc0EMgV2AsodrgGwCHcargGjDNIKgww3ATAmYTBhAUMCagFhCE8CvQ/NDYYPQwKiBmUD2ROmEN8MUAdIGHAHRyWmH3oVyS9FBDgDpQNrD9MLxAGRCaYCTAN5CnkVjA5ACrsHohEtGp85eSSJIqYLbAFxQ4ERWAehAiQJIBxGQpoDpgSWF0idAWwKlglmZkYMOTdIAUgfTg","ugGV","9QFwoAot","ugGV","V40","5wVp","hQFKVEufBE7pAUL9AXbmAUqyAkA","qxCb","qxCb","oAHW","oAHW","2gGi","rAHs","At0CfwzOGEMRVA1pBcwU1wmCBaIOtQI9DIcFWQ2tEDsB4QKzB9gOfQlGAn8H2hbyGbkObgvNGLo/9gmLKJgBwwFpAUUNyQOJBq8JQSbBDM0gyxq8DqofQgV+IeAL9AHvL3wBlAX0IEcvxw9wEeIYbQvVKqQ+SxGrEUgBqCWkLZIIvhuDAZkBtBBIAdYCQwPJIksERwzqB60mQAzND64DrQbQBkQCqA2aDUMBRwMoDqgiTBQsAssExQNIAUkaoA6fDUcLZQnLC8YORwbjAtkCzB+hBtcCtwqnCkUJwButF/kiwg9RA0MOzwSKBuQGQwRDBrwG3APtHNsBtApMDM4GxRlIAmUERwyiB6gMpQS3HkwOOhisD+UGSAGwAuQHaAGxA34w4AFtBqwFRxy8Kk4DnAJNAUwJugWoBEIMgw6sG8ILSAzADOkWSBNEBdQCygLFHGQ9+Qyb","nQKw","/Q6F","yA+i","2QiDAZkBtA","jQ9o","ownk","owmD","An4","9xDA","hAK5","Asg","jhLl","jhLQ","uAOJxQvZ","tQG5","tQG+","tgiS","kgWs","jhLQ","kQXy","xwWY","S6E","9ALp","9ALA","9AKC","9AK/","xwWY","1QHa4QTiqAQs","xwWY","sRHEBMU","rAG1","rAH4","rAEn","9ALz0wfzgQKdEs3dAfk","9AI/wwuy","tw7k","9AK1","tw64","xwq8kwKu","9AKj","jguW","7QLwAuIB5QHpUL7jDJ8","wQPd","wQO8","wQNm","wQPr","mALk","wAX1","wAVX","wAXG","mAKz","oQEs0wHc0wfqgQKvuAF4BM8B0wHCAcUBxgHWAcwBwgHDK2KiA9M","9AJ3","9AKL","gA4g","hwRR","ug7w","eHbhDiAxGw","TncFjBBiFdcnughikgTfnwEsxQRr+ALMcJoj6BLcHr9x1zjeXeE","uQWVzAlH","uQWV","yRCU","3hHa","qA+Y","hwRR","BZ0IRwJRKFYITD9gCEMaahBpHXkOQBhiQJ4pdQdHHW8KrRpCA2kEm0OfJs4LpUd6CJBEggGfPo4BpgdJGU8QngibbUgSpgs0BccHTSInAWQeggVnCsEPiwRND2onhwlLC88RpQlwGmAKogObAp4DxRxzAnwFQgI8DKIeMAxxStBCYgywCmkmbwkwCS4HaQFCBowzNgTqBYkxnQ1HGCoCLxKZK+MBmwNqDGw3hwKXCcYBmQFCCUAKiDUeA0MYQicqImJdnhhLF3yBAUwwtRy1","xw3j","3gJIigJGtQJLCkgtSTJB4AFLigJGBEgxSXFNNUiiAUVYHMoB2w","9AnOAbgBzgHQAds","qxDj","pgGjqAX3ngOhxQZB","rQzq","tA/V","B0ICcwGcAZwKgBpAEmYHUBB+Bl4KcRltFV8YdBVlCUYHZxRhRaMNNihDCYkDmyWZS5UJYQZKAXQtnx4tBKQLpQVKEUUKhgaPBpkGlCWZI2onchCyLXkFmwikEYQNoAigJ6YmvRloJGwKfgJtCmYPkQthB1EBPg2kEEEqewc7AzcRfAVlIKUEoQYkDpsGShchA0sMIganCDMJRhE8Az4UrDFCBKYEcws7BigCTQowHGMhYAqmDXcCigWpCqYOggp8Co8QSAtuJqEBowN2C2MSLgafDnsIXhCvC3cVlC9gBV8PhQU6A5UOVg6QB0sJawgnCmokkhpbBJcBZwOaAUUGRhlSAsIEMg96BXAecBVPIXEIa0B2DcRYODzM","CKS5Bb6LA+X2A3Rb4SrYAd9p0AjPSWsBrw","wgx0","9w3h","CKQ","wQW+","mg2n","owry4wHXAcsHs5YC+A","hgxA","owrUgQTT","5wjSAcJR0QHRAcMBvwG+AcIBxgHNAb0BzwHQAb4BywHP","MVAFtQlhJDo9agdiTJ55qASUG50jQgrREUOOAZ0EZSxWkwGuIaRwpQ/NIXcOKQmyCzEdWC+fIjcunAhgEU4RkiukHtMcHhM3EWYcOwpkQSsClw0nNEwJkRnABqkQuBBsF6ItfALND6AznxNYGJAHHgSRFSUMaj02JSgHPiuPB3AHbgVrT6kcLwKrHU0HOwytgQE8GaY","owrK4wG9AakHf5YC7A","hgwk","hgwk","pA6g","pA6g","jwF/B/ITphX6GTkGxV4/FaAESkdQCJxLOlZBHHmZAUl1TvoBmBiWbo8lmX/xAeOgAZcNRMABQUBLBpdTQiltWYcjTg","vgGt","vgGt","vgGt","vgGt","kwu2","kwtg","vgHh","kgvOAbY","kguB","kgvNAZw","kguq","kgvM","lgHy","WPE","WOU","uAjq","wQej1ASo","kgbJ","qgTE","2wTY","oQZr","qQP7","qQPE","qQOZ","NeqkCnUPiZoFsA","EYgC6QJrA9kFUQajBzACbQdJAucCVgjXAUwE0wLTAmAC7AFsAc8BrgHxBNMB8AHkA2YLVAJ5GFsCRgnxCUEFYgtqAUMC0wxhA0MD2QM8AUYDZhI9A20DTxLZDtwEsQrnAcgCbEDZCFAG1gPWCNUB1gPoA18FTgxCAo4awBJJAkkC1QFDAjwV1QeIEEIDVQxRAlUTrgiZEEcG1gLWAdUjYAF0IVAE6gLcPtUf2QJtDUZJYCyrMtQf2QHZKNkMQxNCDUE90yFRNNYjSgW+C0kZ2QOvAkgGRwTZAUIQ9Qd0A9UI2QFBBCkIRwMjA9kC1QhCBYoDRQZMJD0MzRBcA54CVBDjBZII1RPZD9MYcwFRDEAD1hDmA9UDfAdiEdUL1AbbAtkB5gHmAdIBagvWAdoE2RLVAaAB1gPVBNkC1gjZFD8K1ALTCEUC0w/TAlAU1QIoA9YOTgrfAdcPUxTYBE4KQxCfFVYSQAvZCtkCSAHZBNkCVARBA1Ae2QFBEVYM7QTVAtwB3APdB9kB1gTZAnAIQgj1EtsD8wT0ArYFbwM/Bt4M9gz4E9YBvgq0CtYF2AfZAYwB1gLYAdkC2QHdA9YG2QHWBuUDhQHZAVQE1hlLGuYyyBCyN7oBow","ggLXAajzDtI","hQJs","+AGx","NdAX6AKuzgXYfsqoCK4g71jFpgHK","NceND64grg","TEY","nAbK","6AqJ","2wHz","4gyrOfk","mw0o","lAnzOu8","zgnR","lAl0","lQfQ6Qbr","CO0","CMg","CJE","QMGnA6nrAYLwASGsBXQsn4ICrQ","9gI/+wFH7APqlQRi0wJA","6AE9","uAKcrwhj","wgPS","wgNz","wgMp","xAGaoghL/AKeSlKZAUU","yQLuAtTaAuwakrwDSQFJ","wgPx","3AvpENs","sA+m","ClAMmwJTAYIEagKnH84TjhGIA9kUawJcAW8LQgbNBZYNowesAWQB5gKeBMwCaQJ8AnEDQALTAqMBZgOVDUYGtwGJFs4RJxw+E3sQfwGCAZoDvAG3EdoBPQi5AbQDrQSqAUMBehNkAUUF3R3MDYIxxQarC48CbylHGXsVTA7PErUMmAGQCMoKYx9nAmwfchHUNtANxwbVCEIIrgjNBGFEmgbaP9AI7AjlAXYatQRBAfgFeQXQLdYaPwWuBXUWogGuDEIBtxB6BqMbwARKBa8IxwJ3F+IGrwWqCX0fSwF8CeYEPgGzEEIXIQZ1AkQJzwpnFqoKtgF1G7UR1QE4JM8H3witAR4JTAXCGOArSxlrAaEJwAMsCI4EOgnQBNMDNgFlAXgHsAXRAdgDQgKbBc0QvgS3AeQBUgPRA+oDnQZwHKgOkg1sBcchnwGKAW4OyAFYBHgFhhXHFnkEcwTTAY4JpgR2AUcS4ANDDHEGmwJrAdIDSAG3EpsLaBB+BqYCUwNfB4kTtgOrBn4JvCKyC7gBtwHPF78MnQd0LUELNwY5BEoLRjXxA0cESAh1DZoXPwZxB94ISQZtBNAB+g","zwS19wbe1gPR","mRLZ","7wdI7gRd","xhHr","7wf0hgSz","ywzTBFA","vw/C","vw9y","fK043ZIBp6UGN5cC2Z4BQFFQLkYVbg","8wEp","zguR","uQFe","CFEOOixuNW0Zfk1gHoIPVwxmTmoGMQxeAa4ObAZ5A2IfnQN/B4YGU0plBGMgaV1kBnkOdgLDCpsKrSRtEYosewJjJ6wLaAaGF2gSdRiZKqMscyhyCpoGZxl4CX4pX0poEpI3bwNzCp0n1yJWbJ0XUwKZN2o10m62CGYPgi94CIEEZTKRZXwodAR7A5pFxiJlI5cDKTLP","BJk","2Q4z","O1EMQOQIog","kAEosAO0ggGk0QNLggEwTlCkATBlSKICWxlR","bGomcBeG9gLNZSqYAp9FQnYeogGkISghnygqJVUpcUGAFKoIcjYlhwFIYJQIMBNBajY","auSvA869BXDFCEI","Y7EOaJwB6gNYNkIXrVO4U7gCty63UL0Q3he3AYkFuVy6ggJzFb0LwxAnM8MCtA/ACb0Fwgy1BL0VuizWJLsgvhY3HqYmvkWmDURJ2ztNPMhzkgG6GLt6Sy7ADrl5vhzMM7YEkWDTFNAK1Q","jQJ05gaE/wN2H6I","9w/l","9w+s","9w/O","9w9f","KKV6hCUv1gJh3wWc+AIsIiuAAVVdl68Bpg","ogGw4gOhqAlG","ohCk","xgLm","xgIr","oAVPoAb4","xwnq","ANgIrgdZDEUDLQWwCoIC6DkrBT4IdB+iBCoKng81AT4FwAknA0ILaweMB8gLKwW3VCkfkxc3JDoDYyEtIDAkNgEtC60ByzAwAXED1ROBCy0CdCbGFjgHNBuGggEuBGhM2y0jBCkEcAs3CC8JhocBngMoMSULSgQvATAPpCEuIBwTdwQ1AtA25AHUMyUFKQFCGlMGvRkyBTsHKh6OGKUamRCpBkYPNDh0B5caKAUoPz0hIBsmFTUY2RseHTgONwI8Ee4WNw0jYioENxSOMes","7xDr","2gGKIEH0BUFbcb0Cck8rRyszQw","yA7L","twHA","qAloPC0","2AHi","F81LRjkzJi8ynlCbECeHATZDmxalhgE5GjbEAaYtpAyeHDIILDGjbJ0hKh2kATINMwkrDXQCxgcoAxwDpniXGzcyRAssBqVhNGUfdagHmRVyDTsDNQlxLTEBNw4iBjkGcg8oBioIJkomAicUTAUlFCoEoRWnXNE","0QGoN+sB+QH5d4spi4UBkHmbrQHJKY4TjuoBdQGT9QJs6AMgBYSKAusE8g","PUQLUAqwICUEXwoyBikBaQuhAm0RRQIfEZsBbQqPEZ8HYA1bBXYPtCnOC6sCyARrCikGawlyFqQGoQlQM5E3qgl2OKUdyR2QFZkJywo4A5sZyxObAbMEPw2kDs0GzWGgNSQwmhg0HioCLhBlCqUZLQJ/BdwavhmkBVcLwwaeDy8IRg/DBIkGMg2tA0cd5gHcAisRsQJ/ArULJwifB2kGHQiEBXwDKAYwAb8LigyzCMMBZwYxGcQLgAWcFL8Oxw6GEKIHMQeHBn0BjwFlAUsBuQYqAVEJcwpyE7QIUQHVB6UCwAQ0FswBzgLIAc4HmgElEHUOwAa6DC8eXQ9oDpEXhAooEcgIXjGaDYUpzAkxAVUCqAKzAjwBIQJDBYkBORKXA24NKgnDES4FqAhxB6oKrwo5E0YYlzOjAUIJnRcuD3UGJwJlBaEIwwghAy4GnQNKCMALRxFADzkGbgRLAp4qv1dMC5sFSg","wgdO","sw6Y","sAWGDNGmAmwlkVBLXj6xAagd2wGvggGkCDVenHkzSW5HhA8iTB12ek1AbUY","AIYeTjTPDfUeQhWWAr06gETwC+wylVieXKtCWJABz3TGnAFKKdQ4QDvDAstpPQarKIkCRww/Bvc9R1nHEywsuARRBzUOKwMuEkt6SdIBS2+xOpIVrkrF","gQnd","X2I","X2I","oQEs","mQa1V6LsA6E4cewG1A","mg13","JdbXA9c","JXI","lAtx","oQz4","oQy8","oQwp","oQxG","CEILMwstBjwRWTMrApICQgMnAl8DfAEsBiwCJgE5By0RQhEfAm4DJwJEAioCIwMpDTMBZQ9YAyphihOvE4YIK4IBcAV6FzYxNAE6DFwTshooOTQaQAEqAj8m464Cp+cCTpgGxg","xwLGAcIBxwHFAcYBxSnEpg6sAbABrgG0","Tt0","Tt0","7w5G","iASxAbOwBK7eCLABqw","Y5sHQQeZDEIS0wHZB58DmgGfCp8CxgpQEboDsQyfCKEOnQE9BZ1MPyWZGD8BnwfwDU4CVBpCVF44uQKrK54Kok+iBqMBqwFJRMoUqRCfEeceRWxDBJkamCWiNpACKQ2sBowI1wicCUgwwQekAsoFUgVOCjESpgJUBJwdOgIuEKMaoRrRNEsboAa6GVUFRwsyG5ANSwN4A5oVUCtDCKsQsw2fIZ4MnwG9LUYIPQaTFMcByk+iLaYGVwVuAcgNpQFKBcVC02k+DqoXnwKmFqAY2JIBrAN1Aew","/gLt","BLMNqQphA8gCUQG5Am0BjAzQA90DyAPJAYwBggXUA6wCkgKpBq4C0AHbA6QMlgQfAbQEZAGwATUCoQG8AecGbAmnAcoF0ALGAj4EpgWlA0cBkwGZAUIC0AHQAaECrQPCAukCxQKrASkDyQegAa0DcQPKAdIBSAG0AscBmAHMAs4BqgOaA7gJmQKjBN0EvAx0AWwDuwKkBnMBngKcAUIEpAeiBkYHnAjWBdIOOgLsCMYBxAKgAnMBcgZ1Aj4Cew7cAq8HYANIAq4Fvg9EAoQBpAHZCaML4gLPC74BpwGuAVABsQGhBNMD6QWlFNUCyQjFA+UE2wqPAscDlQFAAacIqQGpAuUDugHWDUAHngHbJXALxwHCCdYHhwNsCnsGPwjFAkkHcQXDAZAHnQPjCcwDkhumAdsBxgGhAs0BngR6Ca0BqQHUBZIJ4ybSBsUBRQNQDdQeywKYF5wYlwS8BtUCtQttB6YBzwGtBbECwQKpCbkD1AngD/IMqgLKCMMDmA2AAXICQwJ6BEYFQQFYAlgBngFJB3cBrQHUAXcBqQHfAUIBjwFIAp4CkQWFAasBswHMBVoGMAxBAUoG3gXPE6MCiQHPB10F1ANMBuABrgKdAUgFQAF+AkwBKQjTBNkLogGqBJ0BXwFbBN0BrwNVC+QLzwu2AqMBrQNHAqoBjAGXAkYFegHIAacD0gKkAsABlQJvAacC0AHcAfQEwQFoAV0GgwFCBVEDUQFEAZYFpAGnAekGogNFATsBtAGSAkwBwwFEA5oCngehArUCyAheA0oBQgJtA6YBhgZxBeQDyQGfBG8D3AFZAdkCpgGHBrEEPwHHA78C4QG1A0wFwwHJAc8FXAyZA0UFuQemBMgB0QJJA6oC4ALkAcABtgJHAaACyQjgAt4G9APGBHADsAJAAmEEagGfAcABgQFIAdMBYwLTAUAC1wHGBbcGoQFXAdYD1QGmA+0H6gLHAaYBqwKiA4EBpgJMBbsBmwGiA6QCQgGpA6YBVwFMAeACTAvhBUcD6APCATEByQGlAVEBrQLLAX4BtQRHA9MFpQNOAb8E2APOBL4DRQFOAY4D2QKpAckBjQFqAWcFTQNCBZ8BngHhBFMHRwLLAbMBuAHZAc8DYQHDAmABzAGdBqQGuwFNCtoDJwGdAkgC5gPLA0cBTQG6AakBgAHMBUUCUQGaAsMBvQHgBYkGpQGYA6IBpwdpAZsDzQGsAUMBpgOMArgKqgF3As0FSQHWB0kCrwGtBqsBqQGfAY4BywHsA7UEXQWJAtgBRgesBscCtgSJAn4DsgOJAp0DwQb1AnQJvwSkAVgCpQM6AdoCPwLKC6kCpgGfAcwFTQKXAXoBbwGuAeYBtAE9AUYBxQGqAj4FsgKmA9MBlQHIAcoC0gGqDnYB6QGyBO8KSQLEA9gE0wSXAbcBtAVFAZ8DVwfQAkcBbwGGBN0BpwLCAt8DSwJMAUIBrwFLAaIDKAZcB0oB0gKlAoYGgwGhAXwB2AXAA6wBQQGvAUACYgVQAnoCPAHCBMkB1wLeAZsB1QPHApoJ7AHPDKsCyAdvAkQN5QJtAXoBwAGyAb4BawKtAd0BogGiAp8B1wZ3Ap8D2QK+AnACrwPcAUECQwG7BN0BRQOaAbgCwwW9AYoBtQSUBGQEyQFIAegB5gHKBKEEyAXcAkwBzQG2AoAC3AF0BGwDfwG0CkUCwQFhB24ESwnjBb8BSQFGBI0BRwG4AeoCRAJEA2oEWwOdA3MB1QKuA6kDPgGyBUAEsQawAUoDqARMB0kHPwHFAW4BSQJKErABywNlBU4CpAK8AkYDbwNMAo8CqgGHAU4BeAO+AeIERgRVAlk","vgHE","3QfO","AecWeh7XGGsFYgGHAVoznwRCAc4CUi5APkXDAunPBGZ45hJv5QJRggFGHEJsOyS4BNwLTBBABFAWw0+zCdI","rQ/Y","Ab4","uQVA","nwWm5wU+zwGirAGsmgGo","gQuz","G8U","J4CGAWcIjJ8BLZkCT/YIlrABwQ","kw+L","4Ayn","CoPiCdSaBb0","T1ABV6EG4tsBgA","pQFFlAE/+gJLH2zACEReSA","8gV2zwbsygLwAec","fvCND9Q48Q","0gFuRD6CASyvBkcDRp0BLh8+OEYLJTonpwJDVSggRjpfBIA","wgeE","+wuQ","2QpY","pgV3uAOYxAKcKTFtO1aLIIGAAXvcARs","hg9k","1w75","IM8","KjQ5StoBL7gFqocBfP4CwowB6NEBVA","2wSD","2wSD","wwzx9ALdE/A","yg9u","bC0","wwz19ALtE/g","wwzo","wwyM","tw9w","WdE","1guk","WbI","WdGYC7Y","WbI","hAX47Qat","hAXi","hAXl","hAVA","F4stfwxXBh4NYgxdHDMWigRlH10xJOgBaFkpKmRSNm2YYSsVMhSGNh8LggJskwHUJpUDKCRNLTYRKwiHKDVARBovUYwGSgalA58qKDCwFlsHKwU5Cy0ZJQY/CDRUYgIeGFgQaAuUDCQPViAtFWc5KQKbDBwB8wsnAlsJbCckQ2ITuA","yAns","ww/y","ww+g","vwV3rwHGxgYrCi0","ww+e","tA0r","8wts","2QZ9AZc","8wzT","3gc41gYg","HM8GcgptCG8DVj6XR5g/wJgBYa0BThe8BskWM4gFa1TjhQHRejUvOJQBPyZISzl/Sg","6AbJoAF2YaeZA7nXBcI","L6kHfw7WLpUBnwlPASYDSQe1AidFswqRa1NaoQOXFHICuwlgCec0egctBeIG4gVzFXgRcQG7AdADlwZwBXYIVi7KII8SxwQ/GNoiITArAskosAawC5cl0AKEArkn0QrgMHgOzg/PGcsLehT1KEoUjy1zBncnrAdwAiICaASyEbI4gQ4iAccMShd1CioBNAfgAqEZlQOiB6wOdQy0GuUT4RStCKE/SA1GAZIBygc7En8L5gmtEX40JAuWM+EPYApnJHsEpAnOAVUMMQ4qA0cDYwKCApYBkgFKB0wHsxo5AaQOcwuTDY8NuhJbCHsHmgKmPyYE5gM2HMACoAbhAtA7PBDsCtEuPR5VB0gVvRo2","pBDN","6wqo","uQhh","mwlC5wO4oARs","akHJBEu5AzHOA0U","TbhedaYBqlRWtwLBArSKAzuXAT4EwjArhQVMigFAETQBoFo3","qwFd","Ij5YRl4+nAGdjwEtC005pQnlDyvqAZtKlxQ1DWo7mkUxZyQ7IQSDcDMjMSiZUy42KAkzBiwMnS7LxQFNQTcSKDUpApsPXVewCzYcIUU8EJY/tTlu","8wFirgSmjQNHW7ieAXL0AaPvAYY","1w52","wwWn","2wf5","2wfF","BJkFTgGGBTYHgwicDJoFxQ3FFHIBjgR+AY8FTgOiBHwHcQhcAZkEmQFtAz8CTwlkAZcKtAZfAqwBiQKDBJgCoQi5Am0CmwOgA5IBhAFgAqECgQFRAXMCbwWrBW8MRwOGH2EGpgxwAkoNryRoCaUKfAYnAcgCdASfCmkGpA1gFa0BrRVKAqYDaSBuBisBhQmmBpU2qxSeAY0OcwKpDKsZMAJtAZ4BhAetAckEtQHOEXQFmx+jD58RZw52F6YGrAqXA5QfwQVLDDktuQc5DrMBdQWDBJwclwOWAZsVXQVHA5gIKAikBIkGcQOVCncEPAKwAZgKSAF0AS8GWhIpHM0JUxZhBqwCiwK2C6UQLwemAYEQZAOuBpcNVgbAASQIgwZDAiQBewajF7kBmAWkAb0EdQIhAXMCtwEoAaYBKARoBp4TxxG1ArAFbQKDAqEFQgHGB8MCqgQeD6EDdwi+BbEWpwYqBZQDKAGLFqAHQwU/AsQCbweJAUkBmQIrCKUBpQG0A+EPpQLNCMoBSgEkA2YBZwEiAn0ClwFmATgCLANzAW8CeAd5BKQFgAGnAqUCoQMmA60CuwiLCEICnQuyBKQBSQepA3UEcQIzCksCaAO3ApMBnQYvAbwDdQGfAygIrAZ8Cq0DTAGxApwCjgWcAaIBKAOfAYMFawQtAjgNLwR5Aa8TkQmqAm4BSwSbAaAIPQOWATcGqQYyAZsLKA95AT0GnAvOB50CKgFADiABogFoDx8FawWUBHIBRwK7ArgBhwGxCCwEpQa0AqQBqQudAm8PowI8BDcDZwSnAbsBaQdxA4kEbgKRAVQCbQVtAnIBPgFiASIFbgFLA6IIMgGkAlEEcQJ8A0kBjwOXArMCcARgAmYQRwe8BF8DvgHHA6sCSAdgC1QDsRlIAagBbgHCApgBnAW3AXcCLghDBHEBcgKfArsCfQydBXEDoAGfGsIPPBI8A5gISwFMB6ADmSI4Aq0Gowk/HEkMTAVDBkUIlxBODVc","ogZCzQFI","BY8DUQWrVscFPhYzB0oLKAqaBbcIbA2OCYcJtgZ/CEAHN1+fHrYCSASGB80VqQGDBsgXQQs/BpkTPQ/VDIMw4wLkDcEIrwSyAr0CnQFHD5ESthXPDKoX6D6oYZQNiCJEA30HbwTlA64B4A2oQ7QflwfJDkIJixqROT8BSAbQIuxfUSZcHJsBRwNiGj8KgxtSK5gBkwT0CaoGuAvXCLAlJhNrCEkQaShJGksCMQreAbIJhhtMEkIUKls8HGkypAKYAT0PrxqqCLMGRQzFAccHQRvoC70Qqg1fC0crzCRNBksEQxNFAtM3TAbWEkYSRg7cCK8KwgXHCtQcqSNxA9QGSRDF","3AblA66eBOk","/Qrm","/QqV","nwG3CGw","pASA","pASmmA3C","tAFi","iQTk","vQxl","mg/o","vQzbAbI","+AqYAZN2aQ","tQ+q","BY8Iq+sPzA","xgG2nwHN3wgmE2s","wRGj","pgSdmw2jCtQ","9w7F","vAM9","jRLU","Y6Vpf4oGyQ","+BDW","nwuw","sAeL","Y24","oxLF","AuUj6ibLXEA0d8kBoXp2BqMC1zOwZWpFYhHpELc05Rh/SfgMvyi2AvFO9ghCBd4Ogg/PAud0Yz5pJY1u2wXeAdwB3S4nF8cIoCzzD2UBmApyMOmHAcYFugG5Ar0Dtg7Fb+ASjQG6Jt8Quw1vGOwfpTDSG0s76yJmM7Q13g","3QTP","At8","An4","lwvX","4AbgqAYq","+gKpAYM","+A7H","2wF3","tAFi","zQpS","3gKG","nwaU","6Qjb","hwTj","ogSy","vgWo","4AiikAaf","4wtM","vAFA","gAaE9AFasgN3+gKp","xgOzjgG/AcfCAcABvg","ADABaAlQAVcCpwRFAVYFkQctA7wEVANoC5wCSwE4IHUIuwSpCJQCageZFJwEsQUoApsDQAFmAX4BgQGmAZoBQgujA6YCggafETMBpAGaEoYDoQY+CSkBzjlxAmwLmQmcB6AHKw2iAWsCJwsxA5cQJANOCZYLkQhhBaQCawK7B0AIrAbJA9AONg3RCbMCezmmC1YPzQtRCKUBnRY/Cq8HlAOsAykRYhteC2RCKhF2IjMDZgKYA6sHuQTNCnwXQwJ4CMMgcy/TAjgXmgatA3IHRQdtBMYSdCDKA8EQVRB8AyUDcAR5BJwEdgFlAW0BvweBD74JcAc3DmABaxF4AXwDahO5AS4EhgebA08BKgRzASsDcBGBBTIDOwNCAr4DOwGgAZICnwpwAmwKKgS7C0QBbAZHGTEBdgN4Cr0BdwpjBb4JeAGCBmoHNQ51AZQBcgIoAksGZQPQBEQF1gaeASoCsAtKCp8GrwFuAaUIXQSKAisCwgubAicCkAQlDm8FcAHEBycDhwWsCCcCogg7CsIB2QhxAmsHhAG4BJoCKw2fDJ0DIgJoCaUeJQLeBCsFcAkmAa8DUQLiElIDJQY/BJ8JfQ0rEq0GjR9gBrAHcgRiAmAGPgyXAlcRbQkhAqIDIQKYBJ0HLAKrBUUZmwGZCKMFnQI1C54Dog1tCkAIQQSfBqEHngQ2As0FkwGYGJkBtRllDXUJbQ2UBHIBJQFAAWsCKQGxD0MBmwKZAicBJwLMBZkfogJ2G7QdSwOQDkgisDGjMpw","swKexgNi","d6MmoB2ZGZwjc0RoGmsGbAKiAa0BLhhkFZENpA2SKHEbRk6RKagBnkOjtwGXaikPcg17BZ5OnQRrSZYqoU82XH1qgTdxB7t6lX+eGJsIaQupBTQYpgFzB3M0cQUoO2MNYktGGaEObA","JDwIcQzBsAE9S0QrLjVhbzYBLTE6AilvLHwmSz4XOfkDTWE7PytGNgEuPSgfNxgonQFDnAFXAiUFVho2CGFaQA23CzsGmApIN0wPRxNG","FWsITQNRJ3oFlQFrA1IBWBE/CkUORgNCCUMDtganDngbmwVGBHEDgRO0AVkCrQFAAckLTAEpCnMjtx9LC1Qr1yNHC3AFrgLIBUkHPB09JeIBOg5FJ9AXywdMEFYKSAeoD0sQRx6/BmQN1QGzEcsjqQcsASEDUAdJIU8FcwOVB58lJyLSA8QD0FFPASkabAoyObUghgVEAr86PiRKBqsXRxBjBL8Ckg89BkkHTgZtFJkCsBM/LawESRS0AUMXqgtyA2ACcQdRBkYYRwcyAUEBTAJzCpcFigFRCkkOcgmoAbUfsAbFEj8ClgMxD6sTfApKA0wBnQW+BEgjRAl+J9kLuBxYF0YCnQRKDiUEPwxENnUPThTAB5sBsQFyA0gCsgI9BX0CPgJ1E7IHPANJBkYMRQG9BiUDOQLNHWkDlhI/CkkDTwU/AkEHXQOzBkcFiARBBEELOQFJB6qbAcoEmw","adY","7QOd","AXATSw1IFKcXRgKIFTdD5xmVB6aeATkTsSKnJTwSzQGnBOIbqhjIHtwCSB2oe8II0ArOJ3860RWMG9EHzxLMB0c4z37WN68B1wXlCeoM4TOuGUwPnB+rBkcQQi+Zd3y0Ac40vBGQJWEfPQm9A5dg0GaZEnT8AccrRg","A1MBVCdAQUUQTwx0CEE0PAo9Zzs/P1Q9EkPfAUAZbB1FM0KDAZYsWYUBpRdCdU1GPyVFG0khQxlENKQCpRFMJkUTSR6jD1AgdAJFAklIoLkBlyNLBUYsQAQ5AUcLv09EDEM3lw","mgOivwNYgwFMpQEunQJNmwWB","AOk","jAE7rQSs/wmvJms9NxZB","mAGhAioZaxqkE6ABoAGdAZ0BoQGkBaUEpgGbCJ0BpQGkBKkHqwemAaQBnQGcAqAanAFUAaMBngGlGacBqQGvAa4Bpg4tBCMFnhOlyAFLBqwFvAG6A0oEfBeeKaZCTROeBsIBvgG+EbgBvAGyEk8EjBGpA5scqzNSMnIBbgJwLjcQMh28A5sCmgGbAZ0BZwN8AXACVwieAaMBnwYtAkoCkgM5A7sHugZEAU0JtwSBBMEBmgGaBZkBmwGVAZwBmw07E3oBfAZ/AX0YQgFOF08BXySlCYwBgga8DWcOnAFECooUdRCLAaUBkAGWDUoBwAG+AcABwBSaAZ4BoQOeAZoBnQalBZkSTgVJCJsBkwgvAkcBjwGeBp8LnQGfAasBpQGoAagBnAGXAZ4BpQGbAakBlwGlAaMBnSOjAZoEowKbAaQCoBZvAmABhwJwAXwIfgF7AV8BtwhwA40BlwGbAZ0hVheQB74NUwFWAWQKSwSECVEBUBBbAbkUVQJSGU8BVQFNFC8TpQGjBl8BWgF/AVYBWiRHDqUCwQFdJnEDbQmaAkoBQQGZAkUJuwhDMyoQvgyjJZ1WMRtEAlEHTAFWNVUCPQJjFHMDbARFBK4BRBc+D0kOVQE8ATwISAFlAaEMqhunAzY","qgFLLDxpexGgCS0ykV0wuwGxHasyplyXNYgmhmbGNkJklQmJJaIOrXCBEi4iQxOpHTIRohOjO38nqzc6H6eRAaUNexGwBmQOqCJxDTkBjDJGGnFxdQ0s","kgF5oAhUmQUyL5clgw","uA/k","igTCAcEBvQHBAcIBwgHCRsTKDKsBqw","uA9n","iBA+","oBG3","ArMcLTSxEKkBHwSFA+sBuRDcAkIBqAuvCqMhcQFGD7YXoQ3FWcIFygecEq4VVDJaGukHpgekEGAJ6yT4Be8pzA6DGcUINSd0Gq1FUDKphwFzCqUB3Q3SD6ASewHuA6QjLRzcP7AE9wWQGnMSphKOB3wY0ARLCiEBJwe5HOkDfAI+HqYq8CFJA68aaQGADeQBLxThEaUN8QIlBe8DmwgkAWcKJyDgA4EI4QG+GDMVSAt8AZ0SwQi7AqYBJQm0ASkFLAVMEb0MKwK3BJkQ4QjCMYIT4wlIESgImQkuBKYQSAhXAy4D+QRuMYwDrQzJD0w4liCjAewIJxm6A8ILzQLOBKwEpANBBkML15IB6Q","uQSv","xgt5","4QeU","vhBg","xgLI","amY","qAvh","4Qdt","5gi0","iwS6","ohDI","iwRj","rgXr","mRLV","aas","vgxT","3QMb","FWc","ILw","tAFi","0hBV","2APO","AcENngW/AfcDeg6tCHMEUgHmBuUW1QFQAVcFzgjnBtAM5wnsA88Byw2XA9AN5AHUA8EFswVsA9UB9ANIAuUDfw/rCscLkgHPL0YEzy7MAdMBP0R2DtIv6AO+HeUBOAfFAeAE3hyqBpUf4wJ3BtoBlBFBFzIOyQjCE5IW6x/oCsYOtgG7MswB9gTpGUJF8Ql9CckB1BrVDMcV4DK5Acon5gfnA5ws7xfrG/cq0AjQAsUOrgGcAsgD4wHvA+YS6wtCHZ8J5hPeFtkP4ALeKDsH3AHIAtoxt07UN9EHoQFLB4gPgguUhgFFJoEIZTl0BEcn7wpaA0UP6QGfDekMnwbmDs0VQAuKD7sGoyytBKEBnSwzAXYB7gKXCLcDRgKAE+IBPALgNvgD7gbfSZUF6wbiA+kMcRVWAeo","eII","e6wOlw","nQGA","b1A","qwFu","oAe6","eII","qwGT","qwElvAaR","uQmuB8k","qwG/","uwPN","qgF+","2wQy","e/MO9g","e5kOmQ","qwHK","6A+j","VZE","Y1M","jAF5mBGf","kw/D","kw+0","6gHZ","mgl2","1gHLYKCiBG8Cl/4BJYABbzFLoAGLBcU9pe0CqAaLF3E+RyV7P4ovLg","tgI4","hwFCGIoIyg","2RG9","9AK/","tAG2","4gHo","hQ6V","H3AU0wGNLrKZA2a3AYKzAmYKzxqvV7PaAYKiA3f5A9Q","6QHn","1gHS","pgKh","4gKu","0hBV","whCc","tgKg","qQI68gT00QLo+QGMqALjB2piN84BOA","NYU75QHvNW0SdxmfkAOjDH1Zp9MEoQJCowGT8AKiApvdAcsOqCKjBXA","hgz7","hgy9","mwee8gas","E2+dASr3AjX+Ay+lAyK1Ayg","1gmsrgXG","kQpN","0Amc","2gWgqwKL","9Qtc","VkVumg+ckQE5bqmbA01hQ8wCQtYBRnycKJ8xqeEBpApJFylasQ","oAG9","oAG9","wgsn","2wLy","8Qu5","hQwt","hQzw","hQx4","xQ0r","/wH1R0Igz4UG0IUBqIIBkosB8eEEvT9I","3AvE","ALMCXAOJBMgBhkVQAVcf0wIqBCwFJQxrBTMYLgGIAx8ENwwsCScaKAUwDjUGKQIkISwlnQSgGyxKQgErGy8OPEiAIClJKyQyBjYJWQEyajACKwKrBT4hPhI4JysTLQIyLSECKQM3CTsJYwIvBB8ahD2bDzIBKBh7A6IlPgsrDqkJKAcwGKYQogIsAygCKAKAG1cPKwctBqwDKCA1SCUEKgMmByoKpQ0wEyEENA4xETsLrQU0GC0Nax+gJEAeIQEsBy0ZJU9fAlEBeQFcBZwBYRAZEVgClwOiFDIFIQggAUsxLRA3Bi4EnSWhD00ETCSEMUwH0gdqJDIrPA","LUEofhNrBC0BPgQqBCwGLAspEqcBNRMnFCctNdEBLSgn0AIxET4HJzU5SzUSMQQuFThRKVMqE4kuKDkeAiMPHjwdBSccJwsqDDcGMQUwHzsLLgQraCYuKwghBCg3MgMqASNLGQMgYx4EMRUuOCkKIwslGSApKkkp","6whx","c1ILbBU3KkY2R64BVKYFJhcsDU0bTia1eEApJHdTbE5qnwFLS2EBPRg6PdFHUQPIE0d3jAMkIEsfPw","uAGbowrzvgMsCzI","2wtX","Gn8ctVndFEUhqRPfOrQajQJdNnQCXZEB0kNr1QHTGm0d2AvyAvgJzGfPPc01i0vsAUxq648Bk1aXIJsP6DDdIEIBzy9pCpxNphLJBLcGWjTJG9kBtBLzGvhE2SDFwwHKK7A","jwF5","7Q5Q","0Q95","6gnVuwSYLp4","0gbS","0gbV","/wic","0gaJrQJxpgVs","0gZe","uQFGIaIglogCYr4BVzPPIMI/veEBnUxnUV4bxS6mCVwrRStHPYVJWCmdJ88BNhdTLH5DxhtfAW4gPyEvDswRYNEBKBmAYLYk0COl","0Q95","1wGf","swr4Aqs","zwGU","iQEn/QYpwQHMwwYbIygCLxNA","K2yPAT1ARf8B6WPTyQNG9AFC7ALsnAGzrAGtjAKW","2RGW","hgy3","hgxI","QbEDtTZoASwObgM7PJKrAXzrAZpCbn8rBptSVyadFKAgshGfiwEqZzIHL4IBhihpNIQcK0crH3IMR1F+BCsQuRGDAdFirRCxDEIIfQVuczoHWj5KJjYXyg","zg9H","2QI/0wFOxwI4EHVfbBdKaXh9LhxE8gKirAJCHjcXJzo+","VZs","iAWvOurKAbVma4AFp33pA4V8qA","yQnf","yQmh","lQ4/","owHhnwTV","wgV5","qwG/xwWOkQOp","qwGL","lQHl","lQG7","lQG3","lQH2qwJ0+QGraZ6SAjEWKcgBd4EBKg","lQHE","BEYKfQNFBJMBOgWUBbgCbAGqA4gEogJtAWkCqQdABlcBlAhYAbAItgFQAlkEfgGNDG4BOgmPB78DmQFEA8UEYAWdArIC1gUyAWcDSAM3AcgEwgFhA0gFwAFWAbMB0wHUAUQBHwQ3AUcBQwOzAzYBrAFCBloBLwGaAqwEOgnkAp0DrQGwAbkCQASnAmgESgmnBVQFkQFHB0EXURBDFIUClAFtAawBnwNcA5oDkwNOCngBVAGJAScBvgKuA2oDSQGGBMwJTgleA0IGVwSWC6IBSwFUC4IBdQGIAqsBuQaLAYAEsgG4Ai8DzBBXAr8CcwWmBWoCPApVBJ4CmwFiB30BPAFGAoIDvANYC7EBtgVTAYcFlQ5fArEGmwppAUgEZgdNAbIEUQlMA6sTZARIAmkCQAG+AYcBNgaUBkkFmQxiAmADKgJRGZ8HiANQC7EFOgfTA1gQNhSJCDsCsAGmBrQPrBiNAy8EcANpBIEBoA7NB0kETgeQAeADRQYsAZkTpgE1BsANrhOsAaYBcQFBB50ITgK1ArMIRwg9A20CpAKgAUkDKQRGBkMCtgHVASoBUAQoBI0BgQSRAicBnwG1AXgEowNaAkEBOwNoAoIFrw1NCMEXRxJrD44EKRhlBMsEnQGeA4sRSwZtAkQIagJJAmEGVARiAqkFUAGVATEEwgJLAk4BSwh1AWgPcAKGAacFfAGyAUgDdQKWAZwCrwEoApICewEuAZ4FfAGhBqERmQy8CUkDVgu5A6UBiRB0AeoCTBCgA1QIZwJwAksCbQGwAc0NSwHJBq4InQSXC10BKgG1AYABogVyAVIBgAWZA8QCLgFEAYIBYgHaBGEBpAJ3Ck8FkAGPA08BhAR2A5sBWgRRAVQBlwFwA4sBkAJFAR4CUAOnASsBowIkAa0EOwZSBW4IoAFqAWIBegGfAcsBXAGWBF8LrAm5BnYBLAdhASgDTQFWAy8GVQK5AT8Bdg1ICEAEegZxAUMByw+ECtABlwRRAUgBsASsAqoBowOMA5ECsAF/AqMJugNOAlsFTQGpAjQBhgJDAWEEtAGxAWgJowIrAWQDSAGyAa4IvQNMAUwLpw0oAVcJXAVWAaoEIQjIA3EBYwYZAYkDrAIqBZYEYAJYCU4KRQJRAkUFWgGDA0gH3wFeAWIBRwF/AagGsQOLAbABvgNMAzIMUgIzClQDyAGYAWgDVwKmAU8FYAHPAmMD0gOiAUsBxQFFBDABPAM5AacBZwW6AWIDvQY5AXMCQQnEAUIBqAafA1IFcwJzAUoBSwaJAc8HiQPeASQCRgW1A3ECmweAAa0DzAF0AeoB7QHWBrwOJwRSBKQJUwONBZgDdQIuBTUGKAJPDKYMMQEkAlQUNAJ7AaoYpENEB0M4PASwCsoVSQ","zAHC","zAGj","yQ+t","rQ8m","FcSRAaMDphBtIpNkdV1MK5sTew5GxAGQiwOmCVBToxKVDaMXRANNBzs+ngFVNogMNosBmghjHpsYMghJKXEZxWVvKp4QvCrACT4wqFmsA6RhkhOBOkA","AlwHcgffDXoCkgHeBsYCswLzA0sFcwNLCewBrgnnA2wBlQPQAcgDwAWpBtQCvQN1BccCZgO7BFwB6wTCAYUDkwIwAdYBYAE6DWIDKRIsC8QC4AHlAaoEQQHUAiwF4gRqArEBtgFdAYoDkgbABuMB7AqPCdMFnQisMJ4G4AyUBLoFwBpsAroBkQSpBG8IrgZeGKAOeQLcBsQDswW6AtMB6gKeEH0JyRA+BvIL1QTXD2YILQKqCMom4gKrDOoD0wfAFLwDjAOfA38XzyBNAzcBeQGYAXQE1AvJA7wIdwH3A8gCcQHaAp8J6R2OAcID3g7JGu4I1w/lHXwJhBeiBc8EigLeGnYC2AXKAo0gXAPmCHUI6wHsAekDtA3BA90GsQKUA5oFWgZxLOIaLxaLCKwNiAPaDPUGqAPUBIwKXQJ8BLsGYgKMA3MJSQXuGaEDmwOQAqYHvgjPBUYNngKEByMWxAG9FngBow9OCs0E4wLIAlUDJAOIF2MEKAOtCtMB6gFzCycLrAKYAWAHuQK+Cc0BfQHzFnYCfgJ5BFQGSQVEBowCtgeuBCcMvASXA+8BtSm+AuEKoAJvAmwWsRXnA98BpgRlAewHkQJqAZADUAJEAd4HLQLwEtULdwZwDKEZjAeyH2AKsglgAiACoQ2wA8QFcgl7BOkJzAJ2AakIQgE+B3wCaAKwB5wJjwWiDm0BVhXtAY4CugKWAs0ORgQ0BEEXJQPiA3AQ4A9wFNQBagq/AlAYRwNVA7sF7wRAApUEngN2BWcDLwPUCjkBhgfrATMNsgFIDEsDbwJHDGwGSQTMAbgJOwKzAmECRglnAaACxgFeBEkCSAdCA5cD3wZuAkYFPwFDCKACPhB5AqABdQxnBEYBcgVCCEgBQgJwAUMCPwG6DkkBRgJvFaU","rgxtzwJx","3QNn","rgwv","Yx+cBME","mwOG","7gWO","/Qy0","0AtEoQFQ","6woo","zQokQypmPw","/Q5C","wwXe","wwXW","wwWc","oAylhgOk","/gLtAenpAuYqbAffrQe+AfQBvw","mQa9","xw3m","xw3I","xQ0r","pg3U","1wt0","bUIK3BtHqAfDAcQBvl5D4AFEpgFAlAPI","zQL6BqiaAig0K4gBaYkDKh5eaDNrZTqVDnxIKNsBhwqrIzQ","rg1L","mQWW","zQK1","zQKu","zQLD","/wjDAV/+Az+nAT+MAY8gbA","zQOq","8hB1","nQS5","nQS5","0Aky","6gxx","6gxx","pQGrqgOjvAVHmgFQ","oAHRBHgCo+0CunF1Hs8R12+1vQEf0QTDbGGLAbqeA0I","zgLAkQF0VbJuSLABXhuoFqSFAUZWSwZwG0JQRDyVPLCuAYHfAdBLoLsBvh+hJZWqAT4","7wealgKP","BUgYagqADksZUyBdBywbmAS9BUMRSwmgApYBagOrFj0CnwJbAs4EcQ0rBpQNqgGWHXUBwQH1A3EBcQFtDU8H5gRrCK4CqgR1CnoEegR0EoQKeg96BqojfiSkIXoOxwLKMHoHOwItCE4dwQdjAWMBYwGoAsgBogGiAzwBiSFDDjQIdwJ+B38Mzg7LCUMJbQFmAWMBXQFmAWkhsgRLFF0dMQJDBboFdQJ6BeIKtQF6HnUHWAHFBH4GfAevBnULRAd1AbcMhCY8CjEKpA9IDZIGUQJFAVEBUQdYCFoBSwFaCdABUwfWC1gBJwEpBFkBfQJwAXIFTRw7BVwOWgFYBl0BVgFjC1sDzx2aAUkMUQFTBVYCWAYqHGkCTwWcB9MHpwhdDcUJoQvSEscaiAHOBYEETQFTAU8BhgNRAcoKnQFPElgJYQKiAUAFpAJFBEIBWgE4AV0GeAREBmUBVgJpAV0BWAFaBFMCYwJjAVgHkxaDBoQBWAFWAtEEWANYBbkEegImB00CzgJlAkgBYAJpAVoIXQFPAU0BVgdtBFMBXQFaAV0ISQWdAjYSTw+mAXEBegmiD5oBSAGQAcoBSgWiAqoFeQokAU0BVhCEDmoTaAJ6DVoBcAGaGoQBhBNIATQBOwFCAToJjQI5FCcWvAYvB6gKSwS2AX0IohJLAdkQnwK8E1YMJgzPCEQQTwFHAkwJVgMjAXIGegFeGlgfWgxNBboBuQukGpUCsBzCD0gBRRdhA6QElheRG7IfnQU2FdIntw","BcMEPgpNDm4USxFKI80BlBOICj4XShOzGs8SxDycEZwCeiKeBXckRT5zaVaHAVi2AcwVsywvHMoLZwVwP6AIfBStBKQfcAGVOSEpcQtOA2UonweeBmMIsAU2AmIJ0QFBFHcKLTxtLz8QTQ2lAl0etgGQErYBmhs4LKIBiSGdArI1TSCMEMsjsEFiHC8HqASCCXgOmBYxHHIvcBFaA3I6mTwxG8AxbkGJM9Y","mQFDqgF7TdcXQqwERRxIlgFza5VDlYsBRiLOK8iTAWpBczFJnwHVSFAJR5wBRg","8AmVvwXV","kAGY","SLv0CMzBBGTjA6U","oAFqhAaf","sgLm","mAKzAeY","QIIPqgHSPYIIyAdoIMp4tWelUrIP0UirI7MHq+4Cs/UBtwvMCXwYzV2aOzcMvUKxGL5osD40lAG9A8gzsFu1B65Hrges","kQis","qAHuswHS","2wLS","f0gTR68BProBQNYBp50CQY8CQqgEPw","WdiRCLO4CKsBsA","WXE","5wFMtAGw1QaoD9n7AfgB2AWLIJ6ZAj5GnQ","+gta","AM0CSQRJBrMCfQI5AYgCugFXApMCMwNKAioCcAE9ATUSNwg7DIwGUAiJAlQCcQGPDk0CQQR0CUQBdgGnBK0CXwi5BroBWAF8ASgQoAKEDdAPfQF3A4kEzQFKBW4JRQNZEJAKYwE8NpwYxhTNTisCKxBdE7MPLwYbCjgFzwrUJsQVvhCmI+EB0Ct5KN0HZQR2A2UpIX2YUz/qAa9bihlHCx5AVhyvA0Q4QhIuFMQfSAOqDH8H2gtJB6AKt2rLFEYJInymQYwXJhtNEDoDQFksAScMvAcnBX0brggpFoiFAeoi4Q","AEIIoFubGVsBPRCCQT0Hn3y7AqXgAXADPgtMeHqDAkevAUi4AVBun4kByMsBsKABVkNAhAHsowGs","wwU/","WmM","nARh","eW0","3QMb","yAN2","5wM4","0wKl","A38QMwhFBT0FhQKAAWgHRAh3AoMmSxQ1Ca0GlBKTBCoqMwUvB58IPAkwCWILngnQAtwBagpfIHsB0QKjKXMCaQ05El4BUwjHEF0DWQSbEp4HoASqN58YngOqCIUEbgNQAXYEYBpwFC46agOSCEsCzQKUHVkBXQKJAzIMdwbJEnANzALQCHYNLRelF2IQagGxJIoYjAFlCSsBZgFmF54HkxqyBmgERxAuCzwqpBtbAYQESgmdGCkBwQGBCckCHgsvJKoLaDJiBXEBbw4nD54cVwFxBGQCdRxuK4gEjwttCEgBdhVDApYKNzaeAnwRTQGeJ1oKSAKkF5kCLgqCN4UDPxcpAzgGWhsfCq8XegapAWYLaQ1gBZYBzwdvD5UGsQFAA18EdQG/BJQFlw9fBaUIJxC6D9AJKgRSA64GSyCpAYgDnxifDU0KaAtWAkEQnTyeBZgxoAlkBqABOwE1CEcBsghAHEYXPRGfQJ0wQg","oBCb","gwa9","lAvu","0A/w","pQHVpQjVjgVv","rwFntQZCuwRD3gGf","tATdpAJF9AJN0AP1","nA3E","nA2N","nA1K","4ghv","5gPW","5gNw","1wGw","AEkBNQKyAaYBwQFQAXUFTQGnAVIBuwGVA4gBQAFnAn0BoAG+AXwBqwF6AsIBjgE9Ab8BUAM9Ad8BlwGiAp8BowJJAW4BRAG9AVIBmgHYAdgBxAGJAaMCTgWdAcABeQVYAc4CuwHCAc4CRgJ9AjUBpgGEAbUDtgFfAz4BTgOtAXQBUAK3AsECggFDAWsBwAKYAbIBxwKjApkBqwG5AskBwAGoAm0B1wGrAW8BlQGeAbkBsQLCAaEBlgHBAcIBzQInAZMBbQGpAYsBgAHnAm4BrwE3AU0BaQGPAbsCUQKKAZ0C1AHFAkMCngFHAXgBRAHRAXgBtQFwAZ8BwAGqAsQBZQF+AWoBYgE/ASkDPAGhAVQBuQGBAcgCrwLUATMEVQXPAW4B0QFhAXECRwFEAY0CwgGAASsBWQGpAU0BwANuAYIHSwGXAagEgwFUBZQBKQPHAYgDrQG/AXoFcwF6BMsBtAK7AckCrAKCA34BbgTLAcoDYwe7AZICrAGlAboD1gJUAn0CLQShAbMBQAPjAbMBaQHVAbEBXALGAVIB1QGpATECcwHSAooEqANyAcQBhQJlAdwBVgEnA5YBxwGhAXEBwAGjAcACfQF0AkUCbAGcAqICwQGuAaYBlQGmAbEBvwIuAZ0CXgExBeQBhAFNAncGzwHMBLUBSwFUArQBiwKdA3MByAFnAc4CxQGIAXgBvAFjAZQCyAGQAbgBzQGlAaUBjQHQAcAC0gOgAdQEngGeAXkBaQGSAYYBowFmAYwBggGoAWwBjwFhAnYF1QG0AY4ESgHGAckDqQKbA7UBxgPWAbcBdQHEAdEBmAGlAa0BggGgAXUBjQGpATABdQFJAcQBjAG0AcQNrQFtAb8BqAGiAYEBtAGAAS0EhwPDA9UBuAF1BM0BtgHWAZsBcgGfAnABygK8CXACogNzAp0FoAFNAbMByAK9Ac4EiwF0AuIBLwHUAnIBpwGGAjwCdgNKA4EFfAF/A9kByAJLAn0CuAGGAWYBwwGgBKcBfwPOAY4BTwN9ATQCogKnAacBhgR1BMkCOAJ9AUACdQGzArQBfwG6AYsBhAFnAX8BuwKqAaYCowLNAXUBvgGdAaYBogGzAWoBtAFuATsBxQHKAcACVwPIAb4BYAFbAYQBtgKPAzIBgwKBAqcBQAF5AW4BtwHcAWoB0wFXAYcBdgF2AtkBbQOSAtkB1QGbAsEBpQFYAb4BgALNAcYBcAHXAXABxgjNAakBugGRAqwBTwGyAbgDpgGPAV4BOgHAAdMBlgU2Aa8BrAGwAdsBfQHMAb8BhAStA30DzwZxAXwDswGBAWEEhQK7ATAC2QF4AW4BzAOdAcUDygF4AWoBbgGdAcsBcgGLAp4BhgJ/AXwCaQGdAawJoQSmAXkCegNLAUQBfQFKAosFtAHYAcoBsgGVAasBngGEAaQBuATXAeMBuAG4AsEBugK0AcoBxAN6AtQBlgG6AooBmgHWAbYCwwPCAe0BqAFlAZsBfAqZAqgDrAG5Ad8BKgFxAb8BfAKUAVYBsQF5AnABnwFMA3wCxgG0AcgIRwE/Al4BkQGxA90BjgHRAX0BfAKeAbABKgGpAmEBcgHDAbwBfAKzAa0BjAGoAU4B1QKTAccBNwHHAZcBWgEoAY0CagFyAXoBoAFyAXQBagFMAYsBwAGLAW0BfgLIAb8BtAGUAa4BvQGlAdoBdgGYAp0BmwFuAboBlAFwAacCjAG5AbABnQGTAZAB2wGdArcBYQFiAqEEqgFsA40CYQHOAYoBeQGYAYICtgGHAacBZQGPAZUB0gXBAy0BcAXNAY0BrgFgAXwB2QJ/AXgBngFgAmECxwG7AkQCqQF3BF4BKAFyAtMBRALNAXQB2AdsAc8CJQbNAVMBbgF3AWQBgQHDAZYBdwFfBIoBZQFgAaMBugFlAVsCZQFcAakCwQJaAdYClwLWAa4BOgOCAqQBqAF+AbkBqwGtAsgCagGWAZECzgGhAdIDkAF6AZwBLgNWAXMB5AG4AXQBmwG9AW0BsAHhAqYByQGtAUkBWQKRAUsBmwKvASECrAG1AroGSgF6AqYCYgLDAZ0BhwKiAnEBowHPAUMBcwFLAXQC1wHPAVgBpAHbATwBwAGnAVQB2AGsAYcBeQHcAWsBbAGoAckBWQFlAYcCmwLOAZQBUQHYAcwBlQJ9Ab4DmQSrAVIEuQG5ApQDkQG3Ab8BhAHGAcIBowHbAR8BeQFdAp0BeQEmAbQBmwLAAasCKAHIAV4BiwF/AoYBfwFcAdUBQAFuAXIB1AGrAXIC7AHbAaYBoQFaAaYBjQGLAdEBwwFOAYEBbwHDAU4BdwGXAbIB3AGzAXwBcQHNBngBhgFzAWwB2QHHA5YBowKzAc4BjwGoAYMBuQG9AVUB3QPJASwBkAKNAYQBSAHFAqQBcgF6AZIBhgHFAscBuQGnAdECcwFcAWMBiwGrAaYCbwHSAqsBrgFOAc8ByQHWAb4DjwHNAYcBwwF4AXIBzAPCAVIBqgG6AVwBRQGgAZcDqAGuAbkBoAHNAZAEzAFhAboBmgHIAV4BMAJLA1sBiAGTBcQCwgJgAqMBRgJcAbUBmQG6AswDJgLVAdAB4AElApsBhgG1AbUBmQFEAVABrQGQAYoBSgHNAbYB0ATEAeICUQTbAXwCTgHXAsMCpQGwAVMCMQG6AU4B0AFDAa0B1gGuAYwBpQG2AVoBhgFeCMUBrQG3AZgBzQFfBGYDYQGgAUcBmAFwArAFkgG0AbABpwJLAU0BxgGvAsUBhAFyAr0BsAHxAskBcAGrAbIBtQFsATUGqwG9AVYB1QHCAcMBkgEvAXEBNAEwAYABugFaAUcBOwG/AZoENQG1AXoBbQHaA1ABqgF9AYEDeQGDAnoB4wG0AeUBnAHGAY4BaAKBAa0DxQG3AYYBlAG6AaQBkwJXASwBdQHgAZQCoAHVAagBmQHOAUIBlwFQAYkB1AGqAc0BiQFzAcIBcQJmAb4DfAGIAboBUgJ5AbYBuAHKAckBTQGbAq4BwwF1AR8BkwG+AbEBhwFkAlUGdgFqAZsBZAKEAccBmgGBAX0B1AJvAr4CoAJ9AkwBeANyA9oBqQGiAccBmAEyAbgJqwGuAaUBNwHCAbwBwgObAbMBnAHWAUIBvQGBAeEBVgG2AeEDbQLeBIUBfwHfAVoBqQGoAc4BsQF8Ab8B2AO1AdMCSQG2AZgBXwFOAV0CkgGMAmcBlQGlAa0CewGJAdsBmgFqAWsBuAHMAUcBggFzAWoBWwGbA00BHwHCAXsBXQF8ATQBXgPVAdABvAKSAbwCugJYATkB4AEmASQBhQGqAW4BiAGPAagBwgHbAYMCvQFvAVcB4gG3AmYBUAGgA3gEYAKeAbUCYgFrAXIBRwHeAVIBjwFzAUEBmQJFAXMBtAOWAX0BWgE8AlcBngHDAY8BKQF5AZoBjAFgAc0BcQHWBJcBcwHAAa0CsgGjAawBqQFIAdYCMAFUAXoBmwFzAZwBywLkAX0BrwFCAcABnAF5AsMBMgG6ASwBawFBAUgBcAGsAa0GlwHMAWwBsAGTArEBpwFCAcoBmQKfA3ICcwFvAb0B1gHIAnIBowG4ASQBsQKFAZ0BIwGkAcEBXgFiAcUBWgJKAVoBQwJzB4EBcQFBAckChANgAs0BwQd1AWUBaQS2AqgFmAFvBLcCwAHVAU0BaAGYBWkBaAKpAWABsAGZAbICQgFyAV0BVQFbAWsBzgGVAdQFVwGEAb8CowIoAqoCdQNbAUsBbQF2AcABZQF/AcsBQQKnAWkBzgRXA4MBXgFOAbkDhgKTATMDYQF7AnkDlQLgAT4BPwFvAXYCNQNRBUcERwJHA6UHQQE8A0wExgufA2ADugFuBbUBuQFxA4cEVQE6AT0B8gRIBLQDwgJDAsAGNwJGAUQIwgNAAT4BOQdpAz4DRQFHAkoBSQdJBEkENgJyBUYBcgG1AUoERgFEAVUCrARCBT8CvgM/AkYMRwGSCkgHRg","A4gK2wV+BNgHhgKqBIYDiAnIBJ0MWgHJIswIgQPhBr8IwgHtBGwH0QQzAoINKgqiAbQD4QujAkYOOgNECD0DRwJoBsUv9Q70HncEcwLIBdcCuw2eAlMD6xbXDpkBaQiWBvYB+BKXBdwESAGoA90BqQHQBU0VkQhpDWgH0wm8FYMHxQe+CYwucAHoBcwa7wJ1BHgG0wbECYEK7AG2Bb4FngSrBuwHrQF5A9QMTQGpDtUOggNDCMQNaRXPFusDswTQA6ID0wPRKE8E3xChDtAWVhudFYEMogKaDk4E2QbiC58MewHoA1EHMAG8BsYKuQPIA+AWixVaEE0GjAysBG8EqQitA/EJzQFdA4UBQhq7Bu8GoQJ6AogGexzeAeUFnQOcAZUBcAHLA0UEuQGfDR0G8gG+A6gGSgXeCJoB5QfuBLAC5gZtBsIGcgkhBp0ZvgEvEu0DdQInBOEMoQGmA90lpwYvA80C3ALdAY4CggErAWMBYAi3BMoCSgKjA/YEwgGkBd4XTAfOC4YJhgHfAdQBrQdyDzIQnwLOAUsYnQXwE7wCTANIB9MBagJNBZ8GZAGqE64Bwg3MB0sJ6QKoAUsN1QFFDasB1BjnAlELvQE0Ad4C8QPNBhkCbgNrAeAQqwLPBd4KuAGIAeIB4gJdAcoBPAHeC50E8wSjBqIBlxF1BcACyAGNAqYKVwFrAdYCtgrDAp0BxgG2BKYBlgG7AZgCMArmAa0Bph7gDOQDyAW7BoAGPAR9A4MKzQHKAr0BvAOuAqgFVgLWB9MabgNkFnIGuQ6iA3ECdALdBfUB8wH3AcgB7wQ0AXYJwQXTAdYVmx5VENYg9AlJCb0FuwlJB9YQRQHVAdMKRgOnAU8SwwHg","wQV/","wQVI","wQUq","wQVI","yAut","4QRN","sA82","hgO2AfI","4QQt","4QQt","mRHn","jwF5","jwGx","xwO5","xwN7","AEIDkZ0BwQ1DLupfaFbkf9E5plizzwG5FKRMowW+igI8AkIFqBhCL20MnVZysAGBXLwUS4oBQgpHJ6gXSxOcNEdOqC9IEUg","jgGF9ATQrAFg","gAlMowR1","jw9OFTwVTnK1","xgLUnwPzhAfdd+UB5QHriwP2","Hog1jAhOCJUBeQsnApkBJQFYAiwCLQNAASwDeAEnATICzAMtASkBuAKDAjMBdwSYAykBbQImBCoKNAGEBLkCuwEnAS4EnwEjASYBpAHWAiwJJwFRA7kDjAg9BKcGrQIoBDAHhgGlAWICWgN2BikDSxyaEdQIjQRMESkIdQgxBEoKTgGrFC4BiwwwDtYRZgM4Bb0ZwwLCCVoDPB3BBlgKIArQDj0FywGLBDALogXKCy0FWgKQBp4HtwKrAaMG4AJkBN4CMAOpCMELmQwrAWMDyx+qAZUEbQSJCDIOSQO0DtYcLAFhAToInwF+Ai0EeRijBqsCpgd3HS4LJwRFCLwLdhBBAjUcLQWPBYIEnwQkAjUKMgM0DCMBnQEhAq8DNwHMASkBuQigAi4HkQM4BCcBjQEuCT0BfQs4C8kImxAwF7oKnwQ0B38Bzw6ZB0sEpAoxB4ENlgUzAbIGWg0vAZkBJAJ0AXoBrQM2AW0CNAFAApkBXQM2CT4CKwFSCGQKcwUzAjwBbQSMAiICuAIoAkYByQM8AogIoQHGAqMEMwKXBTgCSwFzAsAFJwVJCTMBJgFjAp4CvAM8B68BTQG9BB4BggMvAycLoALnDqIIrQSFBrcBXQHJBSoBHQRqAUMJPgebATABpQO0BycDQgQ/AmcFgAFmArIDUwM3ArcEMQWoAnQBhg8yAUYBiQNXAoEBMgEnAVwCrgMlAzEBMQG5Ah4FdQG4BJYCcAHeA1EHTgIuAUsHJgOsATIMaQFSAqsCLQGkAbUCygmGA4QB4AYrAVMBUgRSA8AGJgIsA1oDngOCAYMBmARwAaYBbAJmAoUCJQG+A68GcRIyBSUD1AQrAagBKAEpAzEBOgcpDn8GNQhKAS0ErgErA54CtgHFATQIZQExAo4DaAIkAYsHpQKeDosKKwM3C4EEug99A3wEmAHAAiACiAFIAuEJWwOIAa8BJwOEASQDKQFDBakEjAElAWcEZAIhAicCrAeJBDQFjQQ6ASoDUwE7DZ0BMgweBFIBpgRQATcIMQQ1Ai8BLgJuAY4BSAJnA8YEfgYuATwCswSXAawCQgEzAY8LpAUoATMDrASgAYADvwFMASYFVAPGARwBIgEjAdoHKwa5AZ0VXg+lAUUIJAGpCioEQgNGCrYHggQ2Ap8BoQJ2AacCrQEmATYLjgInAbAJmQo/BoIWlANoAkAETAfEA7EFSg5QAlUUQw1lAsICSAI+CnELtgW1JK8DvQHoA78BwQJrC24SVw","pgmnOZ/6BXE","B6oHs2yggQNA5AOTuAGmYqRlZD6pDlklZhkuoAEq5wGzXV4fag","vApw","4A1nAnWLA7E","6QzZeNoBt4sD7g","6QxseL4","4g11","4g2D","kwSmPIJTtsoBmD2mUEiEAnwaRz5I2wFLUH8Ova0ByH9G","DlITqxqCa6MTbQZxE1IFKwijSo0WoF6vIadqkkmeL7cGTyzFVKJGRhClK50pRRCnD4EXQQvKWqqIATMJSxGlBE0BSSJ0ASJ1bgkrAWYfnhWaIrIplxLCJkolohJPG0UBQRl0D1YBqht7H0QOrQmnAa0RpBc4B44YSxY0CVB2kxGSjgFK","cJEGmQabA0hCVMoBThCIQlxXsg1MvwJVygOZC6w7iSqmODGxArIOUqABaQZvAoQEgAGaAZoWvNoBiCA8","vA9gGnA","CPYB8RreBFwGaQJZAeEGQAKvDsEQRQTyBrAO6QRIDeoBywlFBukG8gZ1B/UCogHGCGcE8gbKC4ABxxH1AYgGtg3TPloGnQLhAbIKsQG8Bz4guw/3AegChQFnBfATjAydCakBiRnrBPAeOAf5F6AHRyusA88BvgzyArMIzAhFBekLKwlGF9gBrxvZAmkB8AtMAfYE4wKlA0sK4ASXJ4UQ1AO3GccGvwVUA0IHaQfrHuIM8gLKA9gV4ALVAYIGpxnmL/UBvwhDCMgJtQWcDuoS1yG2Bn8jdBO5BZ0raBJYBSgE6CpCCUwX3QOwCbAG8QF1G6UD6hKoAvcB6gHrIloB0QHNBosPnQZNAd8OSAz1BL8GVQVFFUoFmwhmBUgDxghTCycIPARpBKEcugOaHtwkYw7lBW4IYhuYEe4DrgJFLKsJuReFDs4WqQtCBUgGQwF2F6EIcwUyC9gBdQbnA5EB3QpuBT8F4wZJAl8KeQmyA7wEmRS2AiYEcws6DXwI5QTYA9wCkwF/AqMXpAmwFuICxBJEBEIa3QHZDKIebAjQGuIDamhsDeIE9g3ZB5w","pwqu","xQfi","pwqu","Wmw","OHhq0c8BwdQEyw","OJA","nQVp","8ALN","lgeD","qgXX","uQJmAWk","uQKdAa0","khGH","khHY","sQ6W","NXZE5SQ2BoUTtQR6AS0hmAwpjgE3JLUB3CM8eHMHWoQBKq8DzCSXBi5Ljgd7EXMHRGC2IccKNRTnF59lrgK5GFZAJhG1FswdmDBEEnYRkgfMLTo4bgVbA5pMHUKICZ8M8Rw7ftkJPw","CuPiCbrrAdks45YDQg","1wvj","1wu/","ygn3","xwt5","mgbx","0A/a","8wfW1AFH8QW/","mgay","mgbE","0AdFvAMhWfw","uAE/jQ6k","eWsXfgZCUUxWS60BnzNKhgFT1gJIC0q4AczSAULWAaYMRx5OPkTlAn0URQFG","5Qub","Gc1RpyGbMHmjAadOfPUBO8cFpT1QRkp5qMUCtQ+vecQ","wAg/8AdJ","apE","alw","CM4t3R5mRUKnAawrSgw/MbgBZQzxBssGeR6VCXYS6+4BRyOxF3uJAaYxQ0xEFdFgog7SDfYf5w5rCD0dmhChkQG5HoMzxQHZL0OGAUDUATsFhjhFH3xBbS/qAnw","twns","twnm","CK7xA8K1Db4","/AtU","X9x49GlqmAPjRbWsAnFb0CB42gHisAKuYVQqogmSK84G5g","nQZK6ARp9gFMyQGwVLE","1wG1","1wHv","oA14","kw/g","ogGEG4cFQX1GIJUJkWid0wFTA3dJIYMBjniCsAFDMnfMAWwBiQx3vgFloAFlIWQgsBOlXKDnAps","0A+e","2AWd","7g72","7g5q","7g6f","tg/C","twW8ywRR8QHP","7gQ8jAMw","2A41AXE","tg9O","xwP2oQdJ0ARMJms9Nw","owPd","mwfu","yA9AaUE","6ApJ0ARMJms9Nw","xQ0r","JaM","Je6GCW4","JT0","JaM","tg7h","qQlxrgIszwHcH3OSAaE","1w64","AjgNNkceDWIMXVVdZaG0AWiRAWGBASHNAUf3A5CWAq0tYgIeGFgQaFtnRxwBaQ1bCWyAAp0Vqw","AO4l5gHDDbQk648BjskCkHvyxgJ3AoSwArRGyZoBoL8BsQHLAtTXAmqPAZY","6ArG","ogpR","ogqX","mA7t","I20DeQifD8QIcgiVClQLfBCtCSwzSAeVDmUEbxJxFJ0GYmptAYYGagFdD5UWrXOcYzkfYiUhTnYrZgg0FnAXiRaZCzgNKxOXA2kHnRdqCCgFgAEhCKAHiApGBF4GZhGTECkbhhJsDY0GcCDFB1wBow6WAqUJogvPGSQBnghOE3AYagYiRKMDmR6ZISgcYQKiGnQXRgF9CJ4GJQSkBZEHZxdyA28cnxB1CDMCggerCHc1og5rA2kZLQGNBp8FswqDB50KLQ2NCqA5mxNsBWsFlAYhCCE3ZxGgA24DnAKoCHEbMxijAlUGXgN6B7gHgAOUK2YELAecAnYBchFxCXEJlQg4ELenAWk","YnzKCZk","lgG8","UDUOLwEzCmgBTAJMA0MCSAFBA0wBSwFNA0ABSwJDAkQBVAVNAUcBQgJEA1QHRwNCEUsCYQOmBj4BQgJHAiwDQwFMAWgBTQNDFV8GRgQwZDEDcCQxMz1AG1ZmDlYsKDchDp8HrEBE5gEfBDohLbIB5kYohgGgygHUAjVBLQovSkwIOwJECCUBQAI1BU4CRAEgAUkBTQFICygCOAFWASgBRAIjAkADRwFDBTkBOAJOAVMBQQFXAVMDggFUATtVMQSWETQXPA9KAyQDRAEiASMDKQEzAj8CKwFRAUMCRwlMCTlwkQ","0hCR","IFAdgExFbNI0exeahwGI3wOwFkoISxs8AkIfqAHJYUsRmGQnVVZ7RRZTEqUFSwSlCeU8TxSgM6ZPUAtaB+AFTQJECkwJcyWSHEgagjasHkgBbAdLBKQLQgdNDHAg5gO/JiQJshqfMZc","xQ1L","zwul","+AmioQEx","oBD6","oBCS","oBDU","oBBm","oBCt","oBBm","oBCa","3ghL","8xBm","xQ0rkwLK","xQ3l","iQGo","8wEp","/AzTnAH0","hQLn","hQLC","twG1kATMnwPAjQF0J3MOuQFyzQKb1AKl","pBHgAdQ","ywnm","wQf1","VWVqdhRHfU6HAT4ISw860QNLOkjBBEc6QiM/e0QIPAmeggFEE0wmv1Nn","jgHu2wHP8AHyAfQ95gL1LuwB9wHkAeQB6r4LyQHkAcshRAFy","2gSt","2gTOcM4","K3UYdnenswJFWLwUqCCiHq6pAmi0BaP1Ancuc1fLAaoBzAHLApgByQm5MEk","2QSQ","+QSiHpzdC7A","K3WuBKg+XtcLrA","7hCkAaoBzAHLApg","hQXCAcMBxQHCAcABwQHHAcSaDNE","lxBz","gAXB4gXR","pxG2","8QPBG3EBcQFxAXEBcWno+QvIAso5SQ","8QPB","+QTP+wux","nAyk","kQTCAcR7wAG/AbQ1x+QLsw","K4k","K4k","xQS8","Q+emB/P1AuC6A5PlAes","jgHD","yAXN","jQGCGJ8","+gGWpwIsAdC2BaUjRBvIBiluesIE0kckDq+eAd8FwQPgA98","1gPA","lQvw","xQXC","xQXC","/AzynAH2","mA6r","rAR3","rAR3","nQ/n","1Qbe","yAHj","pwvT","pwu0","pwu0","Nn+QAZyWBajoBJATl84CbA","7A6X","/Qq8","2RB/","5Aec","1A/b","1A/b","1Ae+","rgxX","9gJeAVM","qQeG","3AbK","qQXO","N6E","tgZs","tgZs","kxCQ","9wx7","/Aml","uxC2","qwi8","kQ68","wgGF","wgGF","Nn+QAZyWBajoBJATl84CbA","HcA","xQ8c","sgzN","phDLBeQC4w","6A5W","6A5W","1Q9/","7A5r","mgOI","rAts","sQus","4Qdt","jAN0","+QV/","mAu2","ohB3","4Qim","rRDj","phDG","wwEm","uwKI","7gPclgHfogajyQOmsQHaDNE","qxDk","5QWf","5QWf","5AJq","5AJq","6wzM","6wTh","xwFn","xwFn","9g6h","2ga3","1wSR","jAfT","rwuICZE","tAFi","mxCG","tAFi","phBI","2AHGxAmCgAOXBc8","2AGI","uBC3","hw/c","hQiL","6gSi","oQ6vvwPW","dJc","dJc","Z+cE5A","mgez","zgfc/QPqigF8","+gex","4BGl","3wde","xwyG","ngzSUYWTAcEal5ECpg","vRBJ","2hHS","pwiJ","9gLpAeSIB0GKA92FA+w","nA6XBa8","pQuTxwNr","1QPf","7wyF","2hHS","vgxs","oQ6FmAGprgLM","vAxx","vQxl","+gcw","+gea","CLgB1QfsAdYB6QGuB88B3gexA88B0AH2BPIFrQLkAzYD0AFvAuwF2QJuA3cGzQNJA+ICnwLeCKMB7gHWBGIDrAHpBPUE0AH0AfMP9QHQAfgB6QHlA98EXwOuAcIBKALbAcoCrQLYAkMB6gOAArsEiASwA0sBiwTcA/EO+QLuA8sK5wPzBfMDrQb0AcUBnQGdBtAOnQO7Be4GvQSvAdcH2gXcEOkEpRLjEewFiQPGDMYBrhTHAd8H0AHzDOgD6APJB9UBrAXwAfcB9wPTB4sSxArXAu4B4wLABMABzAL0AfgIoAHMCc0GzQexCecFdAvXB9cD8gHDAl0D8wvfBOcD3QkpB4oB7wnyB/cJ3w3bAd8B9gPdAcMGwwG7BbEBzQmqDdoB2gGnC8YB2xetA7AMoQHqAT8BrxTcEJEG2Rh6BrQG9AGpAfAB8wHoBdICeATsAuUH5QLbBPYC4QH1A7wNSQLkBugD3gTlBuICdAHyAeID2AnWA90E9gHMCvUB7wLbBuEM2QGjBqMBvgK2A+EE+gH1AcwMvgGZDsIBxwaqBekPzgLxCi4D+gFlA+wF0gPXBOMHrAGqB9UE4QLoAfEB8AFUAfUB0AHqA50B3gLhAbgCxwGFDOEBSgPpCMIB5QHPBfABmQO5AeEJ0QLbCtgE8AKLAfQF6gPFAcsC9wPYAeYG4gqhAZMHyQLmAcIP8AGFAYIC+grKCeoF0wL1BtcBcAL1Aq4B8wHrAfcBpQHpA6YD7ATmAaACsgW3B7kF9QHoAfcH6wHtArQBqQHyAeoD1BDkAsgB2QSRAtkG2QE9AuQD9QX0C7kE7wP0BOQC1gLsAvIFyQTJBu0ClhPVA/kB5gLNBOEBsga3AesB9ATzBdUF1AlhBeIFzQXUAcIB+gPwAtgC5AryAlgBlwH0AY8B9wHXAlcE9AH1AfYUwgL4ATYM8QHeCHwC8Ab6A8kJ0ALxAfUB6QH6AecB+AHOAfEJ5wH3AfoGzwOvE9wDgAHGAoEB6wIgA8MBsgHUAdIDpAflBu4DmAWYAcIBbQqyAbEBrAHOBYUG7wHwASsFxwHqBigCege3A+gC8QOiBPoF5gnmA/cB1w3rEeMK6gHmAdkM7AGcC6oB5AHuBbIC1QfWAcsC5wLtAvEE0AHWAeMLjRGiBOgB7QHXBOYCbAT7CX0E7xXFDb0SrAXcD8YH8gEwDbQJ8gPaBmADyQL2AyYE1wLZBOQB8QbvAeUDzgaqBDkBkAb0BusEgAHLAe4DuwHmA6EE6gFqCdEB9grVD3EGqAToAekBqQLnCdgGzyHpA+UBygL3AkYFtAL1AegBcwLPAsgB7QHYAukI4A6+BegF3gP1AdUH7QNAB+8BSQL4B9QB1wFqAvAB2AfwAq8C8QPlAfABwhnUAfIB2gTpCsQB8QXWAd8D6AhpAfUB0QH5AvAD4Aj1BPUJbQntAtwB7QLPA80C2Q","rwHe","rwHe8AGqAa8ro02okQfJB+xOhw","nwORAZcro02okQfJB+lOhw","tAhP","2Qeo2wHA1AeW","qQvEVUY","tw6b","qw6c","rgPD","rQOs","5wFh9wFAoQFiqAMt0gF8QaC4Aa+oAikUhBFG","eGYHSAxCDUMJQzY5tgFHF0k2Q1tZCkkcS8cBQiFMZloDnBBKa0QiTB1HGUJIRwhESqE5QxdNKEU0RwpCFEwMPQhNJYyEAiAHSUKoOzwBRChHAU4/TwNIIUEiSA","9gJe","pxB2","wAG2xANDO8cDUl+vywKsGZsMqCZNrQFIQkUoTyRRFUkon3CcAUWRAaQoohRFK0w","AWgCkQFGAp0BQgRFBkkBowKmBKgDkge+BMcDZwE0AUkEQAFAA88BbwGFAr4IfgErCUAG4Qb0CX8BMwk+BUICbQZDAZkFbQHUA6AGoAegAusERwQmB60CQQPkBa0CLAPWAnQCaQTLAmoD4QGpAqQBhwTFBUYPcwE8AWkEkxFbT50FqgFzD04JuAGfBTkCqhvICa0VoiRhCcARR1vXAToNNAtyD70CMAOeApkElwdkC84HghvBBi8ByBE2DUEDpBDvIKYXfiDGJUMLzD1EBmgjPwVDA5MIowRFC6QIyATIA0k0hwgmCWoFawdaBWUBbQFvAUAEpwLeBVABUwYlE54BMRIzCD4MnAecAaYBQgmPBXEHLQOoCdAClQoqBzMD1AszAWsBewIpASgTUxlIBzANOA2TBVIFmhEzCC8SHQMuATsEvwLLJi8HJgFaBYsBsQhZCMMIRw2ODHEQoQLlA6EFqQi7AXgIwRSoBCwKtwhCA0MDLwGvAqAEWgKDArALQARhJCsEOQQsAygGUQ6tFEYBrhzaCSsFTQ2fAbUMqQHkEEEKnQOrDpcGKAGiBYUNkQxeBYIFowREA6QCMQGTC3MENQqiAcAKNwGsCDcEogOmAS0CnQhHBqgKyQMwBH8NqwSwASUIJh+/AZsJIBJUA8gGsBKlAk0EKwOiAaIFQAiSATYIRAJ9DKMJiAs+CaEGTAlLATwRQgbICnAHhwRVAToBPQI9DdkGSQW4AboCRQVEC6AKiAI+DagBqQZGCjwKPwZJA3IFvBrJA68","mglD","NlH9A30coxfPCZ45m6wBlZ0CbowBWmPLXzEdeAKNH5sjeN0BGSzVVZo8Yw6cBSISKhmfhgHPFt4dRFFJ","1gu1","ZtYB4Bvq","6gOajQiP+AJi","6gNv","6gNvjQiP+AJi","gAyL","qQqj","xxBy","igaa","AukB6QPPGKEb5AHNCGIBrRDSNdYyqwWgzQHVG0IZ2HWsF6I7iENPpAFOJ0hXSAFyWGkJ2Ag7b11v3A7YCz1IQgxVAkUCUBRQE8gKxCFNYV0aMQtRnwF2Jq4XcQL2AfUBnwFBA/UF2iFGAUcfvyVecW0qxQ","zAvC","2w70AfIBjQFBA/M","mwF1rAjuiQJ5hgNi","uAyUgALD+AFj","uAyUgAKv+AFj","zgbN","zgZ6","zgZD","xwlH","tAiI","tAh5","swng","rwu6Cc4","qQ6+","JEITtDN6NyxUPxuxFdqAASulAdSVAdHeA+EFpQSmNkZWrhfDbkuuAbPnAq6QAeN59g","lQwt","lQwt","lQwt","9RFI","4QJD","3w3Y","3w1z","jhHC","kgO7","kgx26AGquQF+LIo","kgx26AGq","eIKxBbQ","qQa0","3w+K","jQNbhAhz","jQNbhAhz","BKcCqgHMAZEEzwKeAqsDcwafBocCtAeKAr8Cvge0BXgH3AOZAp0BxgNbD4wDlwiyCsUBjgR4AakFcAOnBNABtQa8AdQCmwipBXQDgQGmBKcCvwKzBZcBvgLaAakCdwGTAbICzQFPAtUEmQNRAboBoAHFD3ABtAGUBZMEnxC+AXsOpgylAcsCqxGqHbcElAHkAmgBawKsArcChwLJEasCfgORAboCowLEAc4C0QR7FLALtRTQAb8BwAK3Ab8F0gO6BNsCwRPHBKQFlgHgBXESxQOsBJwCMAmxEcsbuQPRB4IBowy9ArQHigRMBngg0gG7BcABiwODDqwD0gKiArEZ1ALNAuIDwAyCB5UY1AJ+HHcJfAF/AtEPwBDjB8sBngmRHJQRbwGeB6YIowStAtMFrA21FZABgwdKBcgGggGnCc4N2QN5AkMMvw/CAskI1wOFAYsHfhDXAoUs4QHJAXkNSAm4DHcQvw6hBqYDzAJxBqwBrQuzDnUDyAlmBc8CyxaoAZ4SfwGdBMATtgeyAqUIswa/Eb8Iywa5EYIDsg2WCN4DtgiEBtsBxgR2AeMQYgy5EHQCrgbcBiYCkwfGAo8FyQHNAcoFngTgAakCwQKZAZAErQLIA7MCsgSXBGsCnwonBr8GaQGSA5cDxQ+bCqMGawjIA5wB2AHdB+AEvAPPCXwBmwi0AcgBZAGBAbYCpAZxAYsDlwi0BcUB0AKlAdABuwilAd4BrQGjBeEFpQHMAc8CoxG6AdAF1APDBNwI4ArgBKMB5gOgAqgMrgiNDKIBqgulE8YIgQGPA2YBxQ3WArsEsQTHAZ8BlwlsBrMIuQGqBK4BqgnFAsUC1gLeA6sLoQ10A6MGvgKfBNIIwQaJAs4BwgW8AmUIrwTbBngPnQiYAakDwwGmCcgCrgfABqMJnQazAYYLagO+BpoFoAzVAcYByARrApQDkgGoDYQIXwmqAY4JqwOvAbAGjwHJFtkMYRDSDOgE5AbmAsIszQ7KAbIDvwPGA9ANygHfBGUDqQjlBc0hzA","7A5r","tw9k","1wGf","yguv","mgPA","ugFRFJSMAX+sArFpdzyRmQFDjgNqF3K5AbgklLwBZhqX6QHV","8g7S","4QJDI7U","oAyc","V4w","xBDJ","1gJ+d3HlAYIf1JUDv3V/6ALIBaQGcWmogAK4","rweZ","3QOT8QOB5AZ9jQF7","3QNn8QOB5AZ9jQE5","vw9j","3QNn","twGZowJ7lQKZggveCeOaAdIC0w","XrNinYcDZucC2+gBtQOilgHAYoIMaHV2HXqHAsl9fgw5ILq7Acs","mQmi","xwQu","lgm1","rgfb","kQuCrgQ5","mhHL","uQeX","rwjG","rwjG","MYc","xhB2","xhB2","hwuWsAObiALu","BHw","owO1","3QNn","+wOS","3wey","jwx4nAJw","6gNIxwyr","lA29","sBBj","ZtYb4g","d3D0DW4","gwyn","gwx8","yA6R","lAqWPIhNkw","kwqqP2oXnA","Qm4","Qr8","qQuRBJ0Csgid","sAFQ","lAFu","lAFu","tw6b","uAaY","vwPlswSo","mhCp","5AWgzQvUBMU","7wOW","5g98","rAHZ","AEIFQQk5AVEBfwd6AZMBdAiIBKsQSw2ZIVMBeQKsEs8IlgLMBnQPSwROHEMGkgeaAlUXyxaeC54ZqBKcHI8C0g0tB7YSeijQAqsBuQ9+FMYCwQfBIM8H0AjRBq8IuQPPBL4YsQW5BXAEpguvD9QKsQHQTE0gqhCqFp8DhQHOH7QLwgMrBDMRsA+7BM8R0AGyFNECrgrSECsBoBJQBcgPqgybCaYSxhE8CcUErwE9A0sgsRepAaYMnw/KB5sUSxBDAlUZsgFrAawEtgtDD0MCZieqBdUHoRysAZUEqBSBEU0lrQR9DEknsQlDAUABbgmICs8bMgqeCLMLJhGlAYABTCHBFrUPNgzDCDAI2wNCDNEMlQK+AawSmhfNBo8FywFBCcUGXAZJCEkF1B7VAbcKpQnFC6wBmgzcBz8SaQhwC3MMtRO3BDMTowvqEJwBfAyfBEwEKRdUMOgRNxQ+CawHLAEnBtIBSCfFFnMLlQq4JMYOaQK7AqMVPgmuAmQBmwG6BEoS3ArQLE4","8AhV","4w/i","lQO1","yRDN","kguqAXU","2weh","7weK","kwvF","xQfL9gKh","owlY","1wGG","1wGR","5gF0","3gqH","aGuKCczGAYm+Ap4qWowCTw","Kpr+Cb0","aGvQCok","ggmUAY0","gwmN","ggmU","ixBr","lwuE","3Qao","yQyl","mAq5","mAq5","wwWc","uQJyAWk","vRCj","sgFZ","sgFZ","7Amq","5gvS","nAJx","FLw","FLw","9wex","9wfH","lgfe","lged","lgeD","lgfN","gAFq","3wqQN84Bwg","3QNn","oA14","oA14","7w+r","8Qis","wwtt","wwu/","5w09","kQKe","4wqQ","mQ+9C9c","oQZr","jAsh5QGB","Xi+UC6+PA6bhAbc","SGAF0AQyNSkeR6wBrt8BkAU6vwPYBkgurr4BrQe6rAJ+6QNK3wFy","gAmW","vwHLqQ0rEjk8Lkuu","ggn0Aec","wgml","gRCE","ggnO","gwnc","hgWxeL/WAWvXBnD1A84","1Adr","hgWx","2QpY","7gbL1wnkAfA","5gF0","U7hut5oDr40DxfcBLq0B9WXr2AI7","wQGg+QZs","+gF+zgEq","gAWz","rgxX","6wTKoQeL","pwqu","InI","5guOY6U","An4","2BHU","X2I","qAuv","zQuc","ugueiwOC","nhDZ","pgFr","0AIxDZM/pmbDxgOZ4AI/a6kij2e0Bagb5gHnEUIUtia4ELcl3gHoSWkKoiuGe5MXbSuhERsMtR3uBdAGuQ","HH4hgC2asgvIIGkBmEucNaMB5n7cPy9TJ2XI","vQzE","xRDqAfI","7Al/","pQ9+","OHg","tw6b","mg2V","1gaj","sgW6lgd50wOG","0weK","RLSdB20","sQu5","5AodwgSk","6QSeAaIBog","AZgCUwVRBrMDkQaLAY0M0QF4A6kLnAHEC34BYgKQAYcLdwhsCMIBlgM/AR8GyAOsASMJpgG2BYwB0QZsBI8CtAKaBzcEoAW2BlEBhAqxBWoCQAZvCqQBPAS7BEYCnwZABcUEywmbAmICugNMGqUPPhXHC3MJRgSbDaAGuQQsAqIBrQGZBmkGbgokDJYBiwtlAXAUqQE4BakBtAFpAqwVyQJzBX8GPQpoAZICNgTcAUsJRgWdLMsEdQpwGKMBpQFwAzMDRAWRAZ8KPwKQBLoHng1HAkMsZwG3AqEBUwFiAaMN8AJJDTACtw5IArsbkQRQK5wJRQhGFaEWtxN0AU0BTgWmBcsDZRh5AnwJpxRLDpoBowalAUYIRQOeAacHogG1AqQCewSAAUoEyARJAkgFQwVIC0oCWgGsB1YCghWuFp4JywJAAa8CTAFECIYIfQzCBbMBTxVMBJsOowG4A6YCSQGZAUIE2ARtAYcBlQPJAZUGewNOGiwDpAJ8BZYDSAG0AnEDagOCDFYBRgOeB4sIiApHCrAXUgaqAZMBUgOuAnsBRBC0D8cCzANJAZ4NPQjBBkQETgRKA54KpAOYAqYGwAEmBrgMXQXRC6IDmwJBAUwBYwN5ApsEtQGMAWYBwQGHAZEEpAJrCskBTAKMAcUHSQiBBJ4HSAN9AYICfwGdA1EEwAgsAUkHfQebAp0GcAxDA2IKQAGlAUkCLwtAAaoNeAybBZ8DKBN+BLMHaQI/AX4CcgSzAnALWQExB24BvAdJBEwDTQGmAXoGeg2fA88FUgzRCroKOQJcDVgHPwRcCF8CtgNDAUkFsAVDBSYBJAemAaMDRxJPAjoCqBWmAqALQgOZBWsCpgGjATABRgFHAagBlgRDCKcBpQW4DaEHSQeTAXAGVwRrAxwBwQO1AaUEvAtBAZMepQUuA0cKSQZIAU0BJQNSA3YBcgOwBm0CfgKSAUQDoQF7AbUDRAiwCFULzAOlBaIBSAJIE5UasyJCEJoHrQnNDK4HwRejDKEOsxm0","sgXk","sgXO","vwVB","lwFL1gWonQRAQEc7UBpDDkN/nilFRTySAUoEsFpJ","3gnJ","BFQDSwNQJ1AGVgJUFb8FXAfAIVwFpg5ZAoEFYiGlBqQDoBlZCnUQcw/QM3QgZwU/AUgaP2k4CToESBJFF0c5kSyiCXMjug+/AXEelUhPTns1qye6EEkCfAfEEUFXQiemJ3QlPhFECJ0ISAxQO4oynA3ODfMpQgaZK1ESxB9NAdAxSHOZLq4ORk9JFEgztV9HCW9GTQtEG6wjdQ1MaEkB7DJ4","pAW6","P5veApk","B5I","vQGh","jg7t","AZgh1ktpBUgBSgJDBD4BRgFBCkoCYwJFAzsBwBVRAkcPQAJGAygBSwJzIEASTAh1HIUBWB1NBzgIkwaRDokLvgJIFEQNRAGLG6YLQidPLUAN8hVKEpAQSQ/xF/QDRgWjAp4EQzLNBN4JNiHCJU4JkQRLGmFYRhqODHQHnwNIGakCSQZGDEkDqgtIAUgHpBpKCU0cJgpCBvUQTA7oC0skqhxOA04EQwV3BcsFPhJGEzMBoQQ8AkYCxAyeF0YEPAHEMD82SAZEC0cBRwl9D3gJRQ7CBkcUaQZMBKcUoQNGA0cBSBFCDSoXSARDBKAHUTZRGpwOTQJRM1MgRwVIBlYJOgQ+BPIB1QGlBcopnQg1CkQCMgxPFkUMUAJJAa4BJgkwCkgbSx4lN28LRREYCOwCQwNFGlEUREDaAfE","uQim","uQjM","NlGyC71m8Alj","wQumCqM","tAE/ig9O","1AeZ","1wTh","1wS5","1wSp","1wQl","IUhWRxSayQGxc2IWXB9t8QOeIrFHtdkBbvEB1t8BXQ","EzMBRQakAn4CmRSeAd0MWgHgDIcCSQmMGiopSAdLHbAhsDqhG6pZNwnAFIsozA2dCzvPATlw6S8sE8RzhGwpZXEiYgtFF455PQLbIzMEs0N9CycS30WsDCyfAa0GmxQnD1gZSQhQNy0OQxO9IDVklgJuCywBJxGcAygEWTXN","qwiA","qwhm","6w1v","pQdF2wZBAkDAAUWBAVE","BJkDqgPmAa4DXAZgBYICYQJNCFQM1wLFAaYCdwpiCVYDowfsAq4JeQG4BI4QSgm8AjMCphOUBLwDkQFOArgExAK6A20ESwZpB7oFyR98A+YOUAFMBZEDjAumB78oTQSeAckKkxZQCHUB7gFIA4USRB/qBOsD5QHcAXQBjgFNBUgBZQNEFpoCbQp2CacHtgfJB6ECMALVDq0DQAhEGkoPvRi1A68UZQIwAm0CSQFzD0cCQwxLAkcX6wLBCEgBeQNPDr4FjQzzA80JwgFsEaEBuheUJ0IBTwaQRMsRjhHQCNwBpwLWAp8BSwaYB9EWhxC2BJkG1QlICsoO0gfwAqIhaAb0D9ADhA6sBnYFeQvTC54PdQxwEkkBQwNGBpMCTgZDBG0TnwVHCuwDsAQ8AkUDkgNoBEYBUA7HBk4EfAJtA0YBigZGAcYJmQixA38CihKDA8Ej4wGmEqgB8wJ1D9MLVQNuAbsFhwTTDMMikATkB3kCpwSkCUwG+AZMB0YBZANIAekQYwKdB6EC2QJwDaMOQwyzCp0FjAh6EkwMUQJOHeYCXQi/ArUCagUoAdwB0AxLBCMYrgFIAUoMewuWCMECyQliCZ0BQAJADNwJzwiLCNsImQJDAXIBewW5DisCegNOCzoHwAVKBo4FRQNIAuMDcQG0A1ACZwN+CZUBqgiqAzwMnwi/BLkB1QGvAqUBsAFHDjkIsguyApgBfwFwBuMBgQJKC78BahKCA44J7wSlBssFaQFjD6EHRALMBdMCiAQxBqEDxgHQD3ABSwJ0BUo4QzGuKTwaRg","4wvW","qwiU","qw+5Abg","rA+1","AngLRypWBVcGxhB7Ebw0SwxqBkIPaDs8C84rTwfjET8MdwlGFG4MZTM+GTZ0PokBR1GgDaQs2GCmGCoHRj4pQ0yNAZYBRxmNHXkMig8/Lj4xRAikG3UGaQFtBFQXa3C9AaEBQQZIWh84TBBYBSELnjVGBIQF1wU+B3wITC1KEaYVSxtgKL8tZiWm","KGhuQSugpAGkG0RXaKICYqYDJUUtpwGw7wFHG6efAT01TDwqCqVeUglLPa8ZSw","lgGgPk9fng4/NZctZbwBqI8Cn0SPDpoTcoMBOwtKEMk0lRKjOaEamw9CCphotRtHNsQDSc8BpnWeUnFJnBBtEsUVU/sBow","tA7S","qwjt","BL5otyyhDUUG9StOwgFBxQFFFJKxAZ4HPxzQKKgWpN4BSguebzsBQQMuLEcCPCylUUAIQhVFGEIfjSSgrAEyHUhcSVpMBDsVmxzNA04DYA1HImMWSgiIIUtU5RSH","2gJs/gNFzwEtqwOREaSwAicjPF1A","pwtF","tg/N","qwFf","fjOFA0RaRb8ETmColQSiBiQYsw18hgFFPiQBSj1O","E6gxXhuFFEoCQwpICD4JQTFRFjkDrQU+WqEBPgZQA5s2qwdETT1rRQdJIUIBSQdGC0NjzRhQf6hbRhc8JUoCQR9GIEIBQANMHpobfxpOA0YFpwZKAaMJ2kWkLz8MqxZMEcw3QllKB1EBRy1AB50CSBNIA6sGTQazP0cVbhxJBEwBrgV4BMgCSAuxAcoDTxaVHptVSwxGEqYIRwVDAbIBSAtLFkQdRwx0DnEZSiabFTkCTghwDKIBSAGOAktoOQSk","1w2i","gRE8","AklsXQ","3gqvvgWu","9QFCgQKwuAUvBE7rAnoKnSdC8wFHhQGJ","7gbL","wgml","/w1p","ywJx2gs/K3E","ngvf","9AOz+gU/xwGz","AtKMAXr9AUYMgkSyDD+HAoRQh60BlPEDhx+QBlf3A9tw3ESn","Asg","6BDc","zwvR","7QRy","tAhP1gFDvQLE","alc","CT5GeAGIJUMl4sABSECuAVCCAbRMzBeW4AHJNUibAi0coxgtJisZvBRMPI2uAUacAZgOSAFRSigWWCi5A085ciehjwG1ZEMWuQrRTkI","9Qfk","MnOtBn6dAeAazg","Bc4I3J8B2C6qSPQkql9WJN0C1HxEVIIQcQHKAY8C1gGJAWI+zFbQGLsCzCCMNPcT7BkfNnAB4wHqQygXToQBuAVEPSYTTDPiW30SYi5+NkII60e9HryGAZ4MXTDoLnEB3lbasgG7DUQdWQXx","yQPKAs3QAeb6AnH5A0QJeZ0FzzVk","lwin","BcoIwPIGZw","BUgIrg","ogJn","4xHZ","4xG8","swft","swfG","3Qao+QXQ","/QrO","mwWq","tQuP4ARk","lgLoQz/ZBiorswPADJHTAc4","lgLo","AXAEcgVQCagBSw6DBEsCNAGRAW8BnwJLCTgQaQGMCVIBZQSeBHsfZgMsEE0HUBBbApUIdwRpECcCMwFgEEcEOQPGLUYimha+FUoJSB9XLYMxQw6ZWTQWJRcpEzg4YQZBA1tgSSwnNTkSpByXE0MPNxdJD7ABMEZ9CilcQAqtGW8GMw8oB1AYMg2nAZ0MrAIjCzEUMxVFCCgBbw4dBLkDKAN1CrUPdg2YAzgERAY5AiYEMBhCEUQBZwEsG0kDJi9HAYUCMQ+gDTkGJQSvKE4OQxcyAncDPwWMAjQcWAFBB6kSKAg9FngBUAJrCVwCog4lAqsCTgKxCh8GhgNDCj0GRgFwCEQFZihIEKYGrx8qCKsNYAQ7BZcCHAKgAagBbQNeAkcLRwYqDGkOoQROAyQLKgJuAmAFKQFMASkFqAV5DCcFfQsxBjACZwGPEX8","HSoHsUihBkIvLJ8BmhAxygOulwEyGTM6SJ4BpA4tAlQiYkEwFKMKWYYBpYoBowNAD6IXKwifF35rnjSkFE3tASc","YpvbCqI","RkI6Mg2sGh+fAYQHUiYuKF0lL12FC39LM8MBYTYkKioPJA2PMCcDKkItIjUZLy8rETY3LAa8KisJjhFFFCYmhHWcAytIMiYwAyxPew40GiIBTDclCBkTIDE0Ih4EMSIxElFcQuAB0DPV","jAGk","/Afg","AEILzwZJAqgBbgSZA2EGqwqjBKkEnAN3A7oNaQOyB0EBjgR+A8UGogGWA3ABqwuWB0MDdgE+AqcBTwZCAWwOyQimCHYDiAeTBUADQAe2A4cCoAemCD0BPQRoAc4Kgg81CYIERQHQCtMWegO0BLcCzQWcBbYIcwWuBj8FcAaoGpABlguYAmsSpAOmB9QG0AKkAUsDiAZIAoACYwaKBckJywajDqQJpgNDBEAD3gOQAdcBoQF0A2QErAW1A7AOkwGgAtABqQRbAcoGugOFAdcFyQjsCE4GoAJjAj4CdAueBrEEsALEFXoJZAKeBEMJzQKoB58BfgGgBcwK4ASVBaYDoQR3ApsFygTHCKIHqxawDswMpgFKCKUNiAqcA80N2wZ7AqwCPBDLAtkT0ASaApwCzw2sBaMJjgnTFcsE0CTKBkMJpQeBD80BpAJ/AZwGkQNJBKUBSBDNCG0BRgauAsEJeg/XA38BPA3FI84CrAJuBpoCggmxA4gIfAHDA7EDvw5oDeABdgOkAW0BpwJ6AkMBQwJDB6MCoA6fA6IG0AHOCMIEMgGgA3ECawKeAmwIhASBAW0DSQekDdkDmgbPBcoIpxHNBL0GSAF1Bq0EeQW9ATwGzhtNA4sIwQZEBocLbgGeEsgEpwJWBLsEjwRpAW0HwAeeAoEMpAFPAWYDcwSkA5YBkgJJCHwBxAGOA0wQzgiPA34BYxJTAcAQwgPLA4EQUwShAaMOaBJlAaYBngXLApwFnwFiDnIQxgSfArMWbwF9AYEPRRG3A94QzQpvAZwRZAKdBD4CMgucDMEIvgLHBGQMsQEkCy4LoghpAXIBugq7BqMEogLABn8HlwpHBnMH7wGABqYGhwXZAn4HngOlAYoEKQYwAjoBfQekAV0UmwHJCHQEcAGPGI4FvQXJAX8DjApzBRgBuA6hAbEBtAGiC2wBrhDMBcMPRwOtCMIFQRSsA00KjgxJDdcB0xGpBqAFuRJoAVASRApCCmUHlwVIBm4ORgOr","kQ/t","MrvgAa81vgPAnwulCTufAbEXhU7L","pwdI2AHI","VmBwVQ7cfT0URDZQC6c4YGarFZAmmtwB3kFvLHATRh2YDEoDbc8BlgpCBC0BtAvrIvcWHgm9b7Efniw8E4gncQnFRL1z5ZwBpjXkD30FJAIrmAFHXUQqvzVQ","8Anl","pAa3nAFNDnE2Ski0hgKcMq86xSuyQEhDsy9DAUMQSmSXG5SGAkESrA","R8M5sTCgKq0gfwm+OIg6vhZOBYFhvmpyKr4Quy18H75Emz3IzwHaB7vhASP+AdEB0gLTGZcLvxi+AbsD4n5GBoFuwBS7U6ZksQFLAUTyAc8","ixLP","I6EzRX6fLa8YSBRdXpESkFqz0AHAL7MN0TOc/QFCpQGqxQGVJZYPjg6fSJ0XmgF7AccEnyPFAb4WoSnFLpgBnR7RDLECoROOLKwaqRWsBaE8RB7ZCIMGxzGtCbEYRA","gQKv","9w8m","ArkItAG4BLYBuQK3AscGuQG5BbEBsQG4BbEBtwK5BbgCsAWzCdYCtwW0A9QDuQmRAbMDsQGyBLkBtQO1BrMBtwG8BLEBtQJoA7cQuwS5DLUBsgG2ArgDuAWwCbcGuQK3DbkDvAG4AbgEuwG8CrYBuQG4BIgBuwK7AcUW2iCwELwBvQO8CbsGuQG5F4wEtQywAbgGswG3A5EEvAS4AtABuAOxAbUUvAG0BLwBvAS8BbQCtgG8A9EGtQG8AbggrwOwArYCuwm8BrcJuAG0ArUDyAm4DbgEuQK8AbkBuQK4BbgDvAG8BrgCvAOqA7wHvAK7ApADswR6AbsFvAGqCn0BtgGzB7sNvALTArkDuQG2AbkPvBC9A7kBvQm4AbYESgLYBrUBuQW4CbgDuQa7BrsCuwSzBL8WtgK4B7wCuwG8BbsIvAG8AbsDvAG7ArwFvwq7ArwCvA65BboBvAm9CrwGuwG7E7wIuxO8BLoOvAq5AbsJzg25BrMLuRe7BrkEuQK8ArYEvAa7A7wDuAW8ErgBvAW8AbwDvBO2AbkCuQKuC08CvBq7BqwCvAOsB7MUvAq8EbwGvAG5CrwLtgjGA7wDvAyxCLsNtAOPCdIFuAe8A4sB5Qi4AbkCwAO7B7QPwwu8BasBvAG7A7sKuAOzASIBuwyqC7wEvQG7FbsCuwi9CrEivAm8FbsBvAe7E7YIzQO0B7cLuAO8BrkDtg68BrwLuwG8AbkGuAi7ArgCvA17ArgFugS4AbsDuyW4A7kMvAK8BrgBuQe7A7kBuQG5BLkBuQK3DrkIuQW8DbsBuwK1ArkBuwq4CbcEvAS8BLwEvAm7A70BvQe8ELwCvAG8BLwKvAK8AbwDvAa8BLsCuwu7CLYE1w27BKUB0wW7FbgDuA68A74Guwm5FbsNvAy5HLsDvAi2A7gHuBS6AbsBuw6CB7sWuwO8A8gCngG7ArwGvAW7FrgUqgG2ErwzswWzCtA","tgR6","7gnO","7gm8","7gmp","WraVBJ45m1ttnQK6CrO4AbQisM8DtO0DsSxG","tAqzASI","qwlm","7QmL","mgu6","BXIGVwJHAdoFTQxSApMGeANHDL8Csge9GX4SQQ2uB0MHSgKcCUEC0QKTCngCygKEDbMKgQdCBKUBkAJKDcsIcQLLCj0FTALIBJ4JlAemAssMNAqlBkMPfDFDE5UmTA5FCp0MPAKuDT0QdQk6AkYh3wm/BkMBqAFhBd8PYAJ3C3YC4xjjCNof8hLKBM0C1gXrGNEQlwyYBI0FzQGmEswH8QHJCocahAnTAekHRRFkF0QYngaYAXIKRgykCWYB1Qm/AoYBnghbEHsNxwpGBGEIcgxOAb0BSA5LBW0DQxGkBYAWhATnBdUHTwGYBOoNQAE+CygFzhxDFeEMVhieDUsQsgTPCJcIRwZ/Cr4HggWkAbUCrQXRE8oGQg+NBqECvQKyCH8VZwVICm0HvwTbDrkBRAfMAqADkQVABioQsRtoAVwDggNBCK8DpApCA9sEjQKPAkcGRwFjBmkDUQRxCkgGdQF+C0gNux2dB4wBZATLCI0PSgSdD9kWKgNTCasDPwWZA24IxRSgA2oNSAGNK6kGGQI5DMQcpAdICiUDZAmILdgB8REwAigFPQdCB6YG4Q6rDjARvA5BBWsRVgKiBcsKhyaICMkGWQhvBkAFRQE8ATIBRQw1FUggywHBDOoTn1CMHdA","uwtoBEKgAUqTAvE","ngbT","mBLQ","tQiYuAG+kAQZ","7wHIwgV7","xQGQthCM","ixHL","8AXR","kAFB","kQI0","yAyl","9AKVrQRbpwVh","mBE9","mBG8","lgey","+Ap5d2k","kgS/B6g","lAXQ","yAx5","+Q8n","FEsRVA1NP6wPrgqHKHhB2BdXLKAM4ATSH10Q2xTmD64QuSWaBr8Fnw29R04HfRamB9GrAZQo3SSlA6cmsSR3A0gFqirwDJkFRwRGIcwR5w3LCqUKORFNApsR8gHhAYwXcSPsBlYYNh5GBXwj2xSQHnYFTgjpH8U4UQFDLdAayhKJA3oRqBl4EXAG5AdDAklnKyeYA+gfihKQBssWUAziPZkF6wHmAtoBmQ5FM8IO7QmhByMqcQ1vCr8TJQaiAaIDNQWEHlUeSgOCE5ga5Q5JAUYD5QdDBcwjtCI8B9UcqghC","8Aax","0gjnAdkBjA","9QLP","xgK1","mgu6","6wjW","6wg3","EbMvb6QEfL8D0g","lAKsjAFgvQFF1AIy1wNx+gOmM3yyAcU","jQLP3w/v","5wWpO0ndAiqwAXQ","iwFCDkMftQqrjgGgGqQSpN8BS8oBm6oBoxGnDqUgVkRTNaIVI5gBKHxIKZYlotsCcWyk","aIc","2AYszQgq","ATEEQg2jCyoDuAKvArEOxAVWBJYHvQ1pAbwCVANlCaIBjgTEBaQCHwOUApgCKgKZA0YHnAOmB58EQgGgA7QEywFAAkIBnwKmAUEDoAVWAUUGQgI7B10DRgPWAj0CrgVRDWYERAGcAaoCqQGeAbACSAeKBZsGpAHDBXMEswSkF0olOAOhB5oGQh6XD6cUYgatC6QCTAmcAqoZbQQ2DKQMuQnPBZkTQATKAssBbCCyFD4JowKdGr0CwQIrAakCqAZGGYYkPgRMEKwJUgFnD90VRwumB6UdxwSuA0oErAFCBKIBwg9FDaEEpQdEGnsFzSZ5A5YBqQWqCW0TgQPPAUoDogVDBJkIngedB6QFzAekBG0Bmgd8DqICrgO7BcEZpBjJBpQClQKsA4ELehSeFKEBpgVzDD8GpgamCc0DlQKiB6MBxQU+ELACKgacCUgS2QNWAcgByAKeA8YFrAKoAz4DpgLCBkMDPASrBLABQwSJAacIRQXHB6EB0RqZDFEISwp/AasFQxdHAXICsALCBJYCQwWmCKsJbgScBsABxAilAUcDogObBq8BUAGsAqIBowZEBLwEUQafBKQKoQKbAaABbANIAaICqh9OAUEDuAXHDz8HsglBAUYGTQKlCHkRpwWeBqwDpAFNAp8GlQJRBLQYPAGbA7UCowNBBLELkwSdAZsJoAStF0wfnQOhBDwEqAGsAaEMsQREBJAFywieAqYCpAqkBagBnROkCpsCcgK0AUIKuQW2AagCogGdAaYBtRCaAqsGSAupCksKRBGKAZMBuAfHA6wDugKgAa4BoQNdBJkJmwaaC2UKmgFvB9MEoAFKBHIIsgJ8A24BqQGYB7kFpwSrBksBoQWmDDkKnw+XMowIzCo4ArYKkSZC","AO4C2AVCDVcP7gpBCeMB1hyfB9AN5gSlBFAMmQLHA2oF8AlZAkEEZgPZC4AE2wWZAScQLwr4CD0EsgTyH8URsQEvCaAJ6gypBdED+ATsFdoR2w74Aa8O4QfmAZsO1iTSA+cE8gHVAa4BsgHnBMkLYw3tAswVmwXRB78L0APyAY8P8wHvA88BmAbkA/MBnwGsBfUEkALYAqgS9gTKFcADoxDhCOwM9wH5CvgWTwHSBeAB7QStB+QGahHvBE8C9AHzA/MG1gL0bbQH9wb1AekB6QH4AeMczBgtBssDRA+zCvUGzyXrATkXrgKxCfkDrwixDPAI8hK1AdsBqxflB2AF6wOoAksC+QzpBesC8BH3BPUB9DSlA44G9gzUB0gEMwa3BOsHqQHGDEQBpQ+jF9YGvAuVA6wc5gd1C0gDdQLtAvkSiQ0lAuQFrxKBAroM7AeRBMwI+QSxAvoEjwWoBPkE6AF4EtIDWhP4AtIBtA6vGuEQtgLRDtUikAaVGvgBqAH1Cssj6wy2HqMLwATuAV8B9wHuAYEKaQ+CD2wn8ATmBuMNHgy2BGkK+QjaAdgH8g3AJbgG6gEzBjkC9BucEOQS8AjEJisEoAjOBHsM5QG3C+YQrgOxIzoB2AFxCWwB+ALlA2ED3QHJAecBzAT2AeIFagT3BckB2wLBAfUC7gTEAs0EzhT1BfgB8wS6BuQMbwFJG/c","sQuRxwK1","+A2e","zwXcCszJAus","Wj4","ixBA","kQ2Y","vAtc","1g5I","hAzB","pQu6","hAzB","ixCu","ygtr","jQ/Y","9ALe","0grPF8M","ygtr","fE/fAzIWSxS6PVJbSnpIM6AlSApKRikTlwLvBU3MAj4jJQsvaSI2h071kAGtEx6WAScaJCAvkgGRMkM","wA3v","wA3i","uQFG","ugGzf6ENl9sDJv8GKK0Cbw","wwGk3ANNvAKigwSNvAGfUUdaKjwx","ugGV","ugF7","ALILlWKUBJlPoXudpQKemgLFVKAJgCTSbNA60XunHqAG0Z0Bo70BP6wBlyvOzAGdAqc","WXEQpQSUEZIWMxGfFqMxeSCIHToNoAiTBpEkkSxuDqAIi2/LFpAuQmQqzAG4BI5PewNIB0mEAccVrBhCC6c80SzSBT0hwRm5BZxQfXOoA8BcLAOVVW8plwppG5koR2uhB58RQE5IQpeXAfE","7BHU","A1OPAZbLAYz6AbAGReICouoBUo8BnZ0BqegBqw","9QFCqgp1gQFwpgOf","tgSsgQV19gWhrgLa","+wJg8wVDrwFH3gFHAaf7BNQ","Vo/oB37fAkfsAr+HArwB1Q","0wW73AafnQGrTpmRAawFSWOz","5Qi9","mgGl","rwlF","5Q2w","uQKdAZU","hwtE","Gn8NxjLRHqMEbQTKE0cbQ58BqN0Cg1JFtwG0L0JWhlqdDEaaAUhbQtoBer8Ctg","e20","uQKdAZU","2wvOAd4","Fa9BbDO3P8jUAaaJBJaiAqY","kAW/AbwBvQHMAbkBuAHE","kAW/AbwBvQHHAbkBuAHE","kwVR","cq0goSg9AbgE0jtBFY827gvXLKQpUrwBZgFZPbcTTQ6/MuMzrimXBIkuahVpOsQBdg6kDIJWmQHcBKkNtBqsOtwImwKeF3AXawfhBz0eeWPDPLQEthJCB9AImghvB9tSnwqpAZkllwTnDcAnvhSxA60cuA1FIbdHvgekBNgBwjWdB3kfpBZgCEcF0wSiDEFCnwekD7MLmheoyAHN","swhs","yAHI","0gpD","sg5G","5AI5pAxH","BUIIlgM5AtUK1gLoA0MC3wi6AeECXAK1C5gJiQFyAtsG1QM1AuwG4wLbBYUCxwG7AZUB4QTCAscEqwSsAcUD6wS7Ae0DzQLoBtYC2gHwCrIBbQPeA0gGvAPLAecBnwibAuwCnwHgAaYBQQGoBeADxQGCAtABywKHATwBigG6AbUDwASfAdUCywG3AeYBwAM5AroDtAPSB9wBpgizA2MBzQffA7cV4QG+ArEDqAJ8AesC1BWkA9ELtQSRAogCqQSoAsAF3QuGAcQF0wHmD9cMlg60A2kLeQPOAdQG1QHSAd8BywnMDsYCkQG0BL8BYgJpAdQCxAG/BrcEnwLbBJUJvgS5AnALwgqKAeIJvgxDAbAEhQqWDKUC3AXoAdMC4wPVBVgBtATTArkDZgjPAr4EnAOpCLQJ1QHoDNMBsAJHA4obfQbLBJEJTQ8wBbkHrgVNHfIBOgJDCc4imwOfAc8ESwHmCLAIkgG5BbIHlinDAeQKegeOFaYDlgbSAsoHyQzVBdAGzwNLAq8B6QK9BM4G6gTTAsEDRwRGA7wB7ALOAUgCfwF4CS8T1QXOAasmZwbHDtgF0QHgArUM4QKZBFIHLwSuBZ4DywSpA38E0QOWAdgDIQGKBjIKzAPSA9ACLwTLBXMG3QGgAWgFmggrAaAD4AqzAoIB1wSQCr0C4AKxBNoEzgO4AcIIPwS4A8YEiwHdAbcBqwZGAbAGdQjQBosD4gLQBrsCMQXjC3QDlhOZA9oEOwHUBM4HcwHeAWwEKgLHBIgC3Aa1B+MB5wXgA64BJQHHA8sB7wGIAecB4wSWAuACwAFgAbIFjAGxAlEC5AjFAY8B6gHQBjIBlwPEAWMBRgHLAYkCvQFzAZ8CvAG9AikE6AHjA7EB6QHsA8wDhwKcA2MC4gHUB7kCbQefAaEC2ATuA68CswI/Dd8B2gGbAeQB7AfSAegDvAOvBnoCzQLTAZ4BzATiAjMCggLnArUE6AIoBYoD3wLoAeMCuwTmAcED5wK4Ar4CyAHXDakIbgJ/AUIF6gPmBOMBnwXAAlED5grhCGIBwwWBBSgBKwPBBMAIlQHnB6oB0ATDA+QG1gLCAuMG3APpAuEF3QHrCe8IxQOjAegBzQiMAaMLIAHhAdgB6w17AdECxgK+BeEB2wHJBN4B4AJpAe4B4QHoAeUD1wGUA5MBcgGUAdMB6AF7AccCQgHuAqcB3gHhAeECTQLcBDoBwAPeAW4GpwfZAb4KxQLUBKkBQQTCA+cB5wXgDNwBuAK+AkgDmwGyBIYB3gLGBb8BuwHIA+ELVgXSAegDbgW1AucD4gNTBmsBIgGjBDMBtQLDATkBzwPOBZoCugGNAr4BqgLRC14ErAvhB88C3wGgCdYI0wO8Ap8GrgPRAs8C2gLiATYDNwLsAdIEtwgrA4sCrgHUAX0DtRnkBm8GlQbaA0ECmAK5AsYD3gKxAsQEdwHnB9oDvQhDAjoCsAxrFDgD0Qw+AUcBZQY9BtgB4QVJENYGvwK4B+4E4AFGAcgFzAFNBG8FuQLkAXEBbQJOAUgHwALmAlc","7AkdDd6vAbvcA8c","Vo9upYkBSl4vKjSIAZztAn6NAbBFhhhOFpjBAbU1dBlniQGrEDGfAWQ","3Ap0","8QOx","EtESuhSIJl4LMAFBByoKLAMzAaABbAc+AmgDoA5BLUoHMsoBug4mJz0RMAk4BzDNAW5AwYwCsT9AJyoaMhyTDEUaQVt0C5M6TTTJFmeFAVEQSWaBKC8XYRYqDb4hISiiFKaKAtU","TWVkgxGrCnCrAUW+AVBvpaEDQjtwJFQUPllNBkcMRRRIV0JfoQhOGkUUrx9HIJ6dAZ0xazhqN58uoj1uFnALig","GegG8UDZBKgOKgElA0wFJQFLBCcX6QLwC4gEHwnOB+wJJwfhB6wGiALxAXlC6QnvD7UHMwFyAXkBJxKMBDgDTA95AisSdBDuEXMCawiJAkI05ALhAeAL7RW5AWcEzQNvMToNwxqQA8QC2SaHH3IENgnuBzkDzgeAAzgvtii6BIoif2rlAu8P4BrkAtgH2AsyJdEM8gGNAe8B9gHzEiUFpT/WE+AHoA7OKO0JXgydHtwQ8wPaAbQsNSWQCMUiagmBBOsC7A8wKcQBpwvGGzsZrwLGIfMC6wHhAd8OlwHXGSoVLAPJBC0fZQWTAd8BNATuWIEUvAvkCHQCawEyE9IFvxOpEegFqxWFCukC2RLnAoQa1gscGckLxhOgB8oV5wbQB9YE4Qco","JbSGAV+QAT+dAYzMBaeaAkYRl0dO","2ANh","pQHECXSqA64","2ATj","2ARa","pQFlYlxJTg1EiQHR0wG53AGwkQK4DSEhS5QBwz1QFFANs1tHmgKsfa9snzGmmgE8ATw","2ASu","8QbK","8QbK","vAdH","KENSaAFcWJzFATTQAUYLdT9NpgGHFk4WnxlfCpkhcCQypQFGDKYIgscBsxknCZYLiQQrCZcHkhObCVMmmwShHExcrAt1FJgNpAUrkAGgBSEvpRudRDkRmTqoImcaRg","mgFB","wQJiYuSjBZtqnrgBVowCeQ","bEVPSCxMtQFMCkkoT/gBpzNJuQFLO540W0xCwANDOEhmSNsBVio8","CKAMph93HXIeiw5PFHgIQweUD6kJQwKrENIVuwqnDUIZnCLOCJwJrkKjCUdB2i+YhQGZBcg7lwJHYdQFiwNPWJ9DTwdDAawNTBJBedAsSwG3A0cvlAtIA5xCniNlIEkOywaqAUMIuxOiBUcDRQN1F5kFmXygHJ1HkgO7A9EKRgK2AccMS1BgAZ0EPiCeD78FYg1NBJsMmwvDAZYxPgKoEqECUQZwAkMCjwipC2sDRxW+EdEcngZ8BmQHTQWvGYwFdgWTLkwoPWXT","X2JcecIIc7sBkb4DoQ","kBCSAX0","MfMPfhHaCX0PtxynAaYH5AZXCLgGihzFAfE3YS6vEesSSh9rM3s/zBNIG+M5o1yYBLgW0BGADdwnJ4QCwxy0LPEPtii1BsAyxgR9LisXnx74CtY6wgHzAeIhQQ+sBKkB5QHtAcMEUQVVArc0QhQ8CsU9pDMlO6kJ4ATQJeEwQAbOJ6YnTAJKAUcSrhOaJ6EDvwV9DdVPuwT0D/gU9B/HBu0B9AlLW0Qq7wRKL0g","sg0j","iA7O","sgyk","9QFh4gGm","Udo","DNgoVgRVH1Q2XiKxKT5lq258AW4cp9wBIYgCbg","mgWYONw","yAOn","xQjr3gK3","lgu2Ad4","MdHMB8M","1RCCAcM","1wOt","vgHr","BFQL1gKpCOQXvQH2ArECQgv3EbECUA/ABisELQGOAicDJQE1AZcBLAItAyUBoQQnATIFLQEpA6ACMwEyAfICbgM3AZkBsQHwAaUBPAOrArwF+AGEAjQBnwKnBScBTgJhBCYCjAFqASwDJwEtAS8BegG5AicHLwLZA0YHdQYqAigDlgEwCCsFWweUDXYB0ARzB30KLAfNBuoMLQXiDCkDMQ0xBEoKLgW6AW0L3AHmA6MJRQRkCzoG5wHdBr4CTAJ4AVEENwGGAysDPQLTC4wG6gUvAkkGKgK6A0kBPANhAesB7wRoBnECSQfEBPkR5gFFA3oQoAR6AaUI8gEwEL0CkAGIBTsByAItBzAC2Q4rB8sBZQQyBYICjALnAZ8Bdg0zBXUHsQI4A6sU8wh1AlsBMgGGAlEDUAoyAfkFOQb4BFgNjALwHCwEtQY2Ay0iYwLkAiYH0AE7Gk4WOAE7A+ER7Ak1A9UIZQE5EC0CggcvAS8IJARcAcYHMgE/AjQMqQHzAswENwMzBoMEYAMoAtICLwE3AjgBiQOEAToBhgZAAq0BagH3ATsKOATgBecX5wt6AlMC1gekBOQBjANBBuMENASPAiYCNQKVB5cC6gLlCCwB3AIzAS8ELwZlAkkLswJ1AewG6gFJAjMBPgGiBvQB4AVuBi8BLgMqBTYBqgI0ATECoAE5AzYCqAb0A0oBWw8zAkEBsgUzAvYFVwRlAS8BKAMuAT0CdwItAWEIyQUtAVUHOAEjASgBXwLjCqEBKwE9BmcCZQKfBUwB8QI8BsABQAUxAy8HWQZAEOMBMwHNAiQFLwHkAkIBPgO+BDkBLAWvAc0CvwMnAp0CMQHfBHMGpwEpATAIUgMnAn8BQgEmAbYEPwE1AroCKgEvAfAEMQPiASsE+QExApcCSAIvBq8G0QUyBFMBVwKMATIB3QE4ArgDJQGvAzEDzwJQBCsCfwGmAWEGMAT2BS4BbAdCA0MBhQH3AUwPLQEkCEMBvgZrBysBMgEoBDEFXAJmBF8CNgF/AXsHOwFqATUGZwJWAnMBLwnvCb8JMgQ4AaMHowJyAkcDsgM6BzgNLwFAAzUIKwEtAz8BSwErAjcCbQG/Ae4BNAK6BzECMgUkEoYC6gQyCy8BXAE3BLkHLQM8CqoGJQJQCsoBKga/Ba0DogInAlwBKAEkAykBJgUgA30BYgF+Aa0FMgGSAicBLwFkAZYBqwFYAVoBLAPgASEClQU4AskCOgEqASsDYAGkCrUDMgHOAdgBuAznATECPAMvATcBQwXbAjEENQIvAXACxAEoAWkCgAFIAzABrQGJATEFwAI8AVABUwQ0AkwCXwNwAkYG6gE2AuIDYAEzAfgCOARHAUcDNwUrBkUBIgGxARwBywEpBSsBIgh5A3EDeQ51BoARjwEkCO0E9QIsAn0FWQJNAUwCKwH2B+cBIwM2AiIGLwHjATYLMQNsBCEBngEzAuEL2QE0AvMB8RD0ApUESxChArAG0QFNFEgCSQFGE3ELsgitHMcF2QdEAUIEPB2I","3wjR","+wO4","zgzj","bY7UA9nyA6HcA75Wow","7gre","0gPbAeo","lQxr","wAd/","5Aqy","7QnJ","0hDZ","1wNo","1wRlnAiI","0wFnjAZeyQGg4gF6O7gErw99WXtCiFKG","owpn","pQ26","tQGM","swi+","fbb8BLnOAbqkBL/PA+k","MfJwsSiQDIjfA8ypAaiRAW3GAY1nsYYB1kLavgFEAU+pAY5i51yIBLsPTTmmAbOOAbM","rQ98","Me8","0giXAuU","hBHR","ggjI","ggmU","ggnY","wgt5","mAWy","owmq","+wPd","6gPR","tAlx","oQGz","kQPX","/QfcHOc","nATy","jQnTAaM","jQnTAaM","jQnrAaM","wQfn","wQeV","wQe0","wQee","swjL","8gW1","ggmm","hwth","xxDQ","tQOM","wAd/InjeA4E","xAxk","2g64","e5kOmd0Cs8YKiw","zgy0","D9I","nwbj","yQrj","tgSL","/wSs","xw3q","qA/i","0wrk","rQS9","lgGf","8A2qZLU","0gOpAU8","6BCV","qgO0Kb/VAtA","jwSgR7c","qgOL","mwrO","0g1g","1RDRAdc","sBCC","rw6m","mwrO","6w6u","4ArvAcw2rg","4AqiAYA","zxDH","5QJE","xQWA","MeM","hQSq","rQ3QqQFM","mwrO","vgSj","tALr","1RDhAes","hQGnAaY3xQ","CZUCVxXNIKgRqCKHBC0DJQFBEXcV6wSUASlBK1lqMy4aqg2iDLUBn1UvpAGkGaINtw02SmYuqVJfFJcgOA13AZNUQg2XBigbMwXRITIKPxUxDKooKAUuB54MTQHNOVZg8w0xAcAjUwObBHIBrBQqD34BTApDPTcInw9uGCoGaDM0AygBKwKyBbMJgEweLaYMUg6uBToCQQPuC6YYnQE3BskPyQ19JSkPIgEjBEALiiRQTCEkQGig","oQHD","lwHKgg6eC8c","lwFo","GDNHlg5C1AE+kALcyQFPX1J2SFWVApuLAVgscydNC5MhvDO6f6CDAZ+3ASFjRhuuC0VLSB1B","+Qx6","B6wm2QXPAlYiWg2GDOkB0wG5EmwVKgIqAzYeLQVCZdUaYRF4BJcGnz4sY15Cvwo8VrUGeQEhLUgsryy7MdMb4wSyPNc1rhuwFpgqMiRtBNER0QlgJy8HmxNfDycBVBQdHisLMCVXEc0KrBLQB3UbJgXXA6cD3Q7BFzIHpBgkHTgOJwFTDK0OKBFJES8E1z9aDC0okUeaASc9VRWmCUMZzzuRGWICZxbcAzkGXieJB54CogGoAisHKAXdAdQLcQ+hBJIJww","Mnw","Y30","6AU1BizUASH5AyvgASjcApM","7QjREdE","qQaVUFI","pxDV","7Quh","3ghstgeY","yAPNywKpGds/rpMIYg","wg3K","rQ8m","b5Q","ArkCtAK0AdYBQgPvCaYC1APUBZwB2gOvBNUB0QPsAT4EWQHCAtIC0QLSA04E5QWCA8AK1AJYBPIC1QLRAdoD3AKWC5QF2wHWAWEBswE1AskC0QWtAqEB3wFJBIcDswSxBSgF0gFCA8QCTgK+ApgD3AHXAnUBowPwA3cCRAXgBKEHggKhAs0BJgm0BUcD7wOIAcsOSAErBdgJuwHlEYAK2Q/XDy0EqwW5A8AB0gFvAdcCUANTCYIEkwGUA+8FPwLPAeQC5AHZBOMD2BCiCXYBlgVsDZkBeQRKAaQDdAY3ArAGvQbYAeYD2ANRCNcDZgfRBSsB0wKdB2gG0wviDdUC1QHUA8cCygGeAWwC6QPYA34R1QTJCzUD2QKcCq0H3hOBA4YC2AakBNwDygzZAdkEMwxLAqQCbAXYAtsXOwE3AVQBIQHhBZwGpAXeApUapwKoJtoCLQJ9BJEBqA98AcsPJgPXENcN2AHYDEMD1AhcBOsEnAyDCjUB2AS8A1kEOQXXDaQBwwLUBEQBcwNKBaQI1wPeAuICQQhGBSoBIQJ2BowCkwI1Ap4DngVkBtABHwFOAzoJSAHbBtAGswHZIscV3gHUAfcE7wPYA8gE7wHNAeQCxAWWCdUDpRCZAeYD6gXYA8IMtQGIAaYGqgjMDK8K1AE0AdgESgiRBJ4BgxCmA7UFzwq4Ai8ClQhRBHUDHQYtAp8EywLhAn8BfAUwCOsB1wPcCbgDKAaKAy0FuQExAy8CdQHBCMcGsgx0CagDSAe7BNEBwAW/AycESwfVBjAS1QRXAuECLwE3Du0DlwXGB1cD2woxAbQCeQGbCDEE2gMsAaYBPwLgBNgDowuhAbUIogKGATIPyQItEEUIMgWNA+8GbwSfCdMGmgR0AdUCkQHgASgJ1ALkA0ALMgTaAXgGSgHiAXgDTgRLBtIBUQTlAewONQZzC94EqAuZCsMB6gV7DTIMUAHRB6wB2AtPApwFxQRACK0BzgMtAXQHygF6AX8D1AFmAqQBJwTDDKkMLwFYASEBLwLFBKcBOgI0A+YBRgJqAq8B0QLaAdUPcg0eAy0C5gGUCNQF0gNrA24CmgKdAWsF2gJ7B7IBbwLBCngBngLEA70JgQhHAy4IiAVBBqEBqgOiAVwG0QO4CNgT1AcnB68Bng85AX0HTQFMBtcBSAKkBd8BXgWfAtwB3wLuAZkGRQ3mAjwIzgN8AUYQRwY8IXAL+QE6PecIcg","ggaosQJ/ggPUygGwAeM","xg53","1BHn","swjK","1AKT","lhHp","6gjY","Wr7LC9yfAtECyw","4QqA","pQzN","/wyN","PLwBuEGWxQ/i","5wrJ","5wq+","pAm7ngPJ7QGjcLA","wAGh4gexBkMGm5AEQdEBp4MBRg","WbOxAVdWtd4B8R1IggKfjgF6f8sWlj/NBz88RjVIgwGmtgFHZMToATpScSunWuIHPQFJB9oB4g","WXE","WXGRCMs","kxHi","AIsBcAGmAbkCnQFJAuQBcgFQBWgBlwHJAaMCpgdKAioBawJRAcYBPgG8AbgBkAFuBDQBZQJBArYBvQG5AbkIawVhBIcBwAa+B6IFbgTaBK0B1QOpAVQFoAGLAZQDQgLDAyUBmQKkAV8GmAG+AqAFhwFHAaYMygKTAl8DNQJfAngBzAN2AVEBsQGqAccCHwK9AjsCpwJaAUADJgHlAW8DgAGwAqMCbwOhA7QBpgSSBK8CtwajAWIEzwKbBGMCoAesBFAJwAGCA98BngGTAuQLogFtCJwBbgvoBGwBrwJsAc4BoAWhBKEDyARuAnIBcgHECZsDWwmVATEDvAGQAicDLQGHAo0BSAF2AaIDngGWAcEDjAZ6BqcBsQNTAdEEpAHTA5YMqAOOCGcCagFrB3cBswMrArIBqgGZAo8FfwGeBJ8BaQRmAsQBNwOfB5sBVgFqBJoKjgWNAdQBsQJWAbgCrgMnAbYDZAJsAUsBMA65BocBwQzSAVwIcgWbC0gDywWIBTsBsgJkB6MB2AFnAmgBggtiBdAEzAVCAZoBSQHRAnIGywawA3oCswSsCJoFQwfiAWAF1AeKBpkBTQFkArMDvgHEBGgDygOJA8sBSQZGBUcCKgI/AZcCRQnJAa4DYwSmAa4PnQGEBnYBYQOsBsQDtwaRGTMDZgKnA10DSwS5BbkI0gS+Cb8KmwHDAo4IigJxAsoCzQaeA10ErgEkAXIBdQWmBIIBwAPGBWoBhBJMAjIBowE5Bp0BfQfPAp0COAeLAUcBqwrAAm0BSwHNArUCKQGFAqUBrgKdBIMCswE4A28CwAGHAmMC2AG9A8gBeAHXAcQBsgFlA7kFSAGNAcEBewO5AdABqAKTBLYCpQRgBJUBYQJ7Ba4CVgJjArgHegKwAmMHzgEvAbkBqgTCAZYEfAOFAbgCkwR5ArIEbQFhAXYBZQGsAXIBfQVhAcwBhgKLD6wExQJwAp0BXwFfBkMCzATLBWABawJUAk8CiwHJAssCmwKiBHgBfAFpCi4BzgJwA5UBzQElA7cBuQF+AZUCsQFoAZUBkwGZAZIDngK1AWMCjQJzAbUOsAF3BL0BgQHXBIkBqAOFAtcBTAFvAqEBtAEoAcgBPAHAAT0CTQKnAVABaQGmAnACbA7UBHMCwgNgAp0BbAG6A5oExgSeAXEBigHKAnABzgMoAikBxAWsAbkBrAGJAasBsQGbATEFzQV+BaYDugKODXkBtAGCAWcD1QKcAnABtQGaA7sETwFkCXECiAJHBU0IpAKXA3wBagHQAyUBkgJpAaYIyALRApgBcgGyATcCyQHNAYkCcwLBBHoBvQHFAqIBlwGhBnwMpQEhAawC1gGtAUIB0QKcAYoBcgEkA4ABJQFZAyoBYAFmBG0CcwFGApEBrQlHAYwDhwIuAbICPAGLAaECaQHAAjEBzAGzAa8FWgJeA3sCUgKhATIBTQGUATAFiQGXAbUBeAFxAmsDwgG7BqQBqQGNA4IBtgOBBL8BdgGkAp8BtAFwAUsBZwF1ATUGawGsAkgCwQFPAYMDRwG2AaYDnQGCCNkPhQKHAS4BWwHYAlYF0AGxAbUBxQE5AYkCaQF5A7MCcwEpBNMEowTKAqQCYAKJA7cFcwFpAcABPwM/AcEEuAamBmUDpgOBAsIBiwU6BGQD3AUrBE0DewnOAoYFdwqhB68JvQGcAbADgwE8AaMBTwFSAcwBuQLGAcMHxAMoAowBPwFXArYBXAGQBL0BWAXWAboCswKGAdIBgwetAZkBxAGCAdwByAFMArUBfAG3AZ8BOQFIAbYCZAKNAUcBeQN9AXcCyAHLAT4KsAK0AXYBqgFfAnEIHgNOAdkEhwGhAUUCZgHBBaUEngLHAcYEdAFMAcwBSAF6AZYCogFHCMYCpgHCA7IDLAGbAckJaAJ1BmUFzwOXCHkDswMcAX8B2gHNAVUBvgKPAWAEbwJ/AXkEfwRxBIACmhrGBr8KNQEbA08CRwHHAZoBqQGnAZcBuwF3AYsD2AQuBCgCIwJ1Aa8BygG0AaEBywKMAaoDqwPVBSsEZwGZAs4CiAFWAZ4BvAGnAXIEywFmAoUBwwMsAqwLSwGgCJUCPB5uBsMBbAOHDYUIwgezC50BRBJHAUgITASWBqkE7gSKE7ADRQNGAtYZaAZY","nQKwkQjv","3wGj1Qgo","ng1q","kQ3E","gw4+ekuvAUo","bm6VAWAEudMBe2aGCKYPsQlCMzME4P8Bx5UCone+Bdp5sQ7gBdUCLyxtB+IHaSxLQXoKow0hHcw8RAovEcRLLwViCt4NTxHFICgfrq4BPYYBthCsDFU","HaY","d0cJbB88GqvNAaQhK6sDo9kBQB+nJ4dtRqEEnVgyVjw","ALIEpg9vAdMEjxlQD7oOjzz0AqkBzw/wA3wSahjCpQG0Ae8B8gGsJeol4wGWWEsfpRHANJmNAW0EcrAB4gw5ItsBZRW9HPUBWIECpyOHtwGiXlYB3pcBR6kCQTRq","mQiT","igG+","1AxR","BY8HkjScOJrOAStMu7UCwP0Bj1xVmAE+Tfc5+ytvA54ZRzVGEpAHSEx1Kt8aPyZaT0YsPg+iQ9knSDB8mwFqDaiJATY","JGwQbw6+O5wK4ASaBX4EugN+B/MPmxvbDZ8DYSd/BN4yrg6dCpwGTwN+CaJHfAGrAZ4Inx2uBGENlwmIC8ElyRbkDW0jQmKjAas4lyeYK+stnDuPIOY1rj+bC4wBghm0BdUWqg3NCMwE4zeWMZ0QRwZtFSEQeQi7HqUBqyakC6UugwTrAbUPhxNHAUYOzgi1FqQJmwauGEcLcRWRBI4u0wItAdUnty6cNkIMcg9NAzQErQObAZ8KpDGYAZYKLgxLKhwB2ESoCSQTQwuyFZ8w1UaZOuQ","BFQfsBeMCcMwSgOmBasOrQM7B2kEnwROCJ4CRQGjB70IRgeYCMURsQahEkwJQkqwE7kDngmgFEQBnS5IBqoyQwSbigFxPT5Koy6cAksCvhXRDaEPQhpHOa8CnRWJBcoBqwhGEaIHmGfDJaMQsgLYBkkRRw5OEk0ZQApFAaY2ngZHBsoteQyaB7QBvCRKA0cFnAV0BUgFQAylAkUTeAFHAqIDTwjVAqIKsAFzAkIBpQF7BkkJoRtwA7EJ0AbOAbkGRAFPCKgGQwJDBK0HkwSgAbMIugOdJb0MUQWhCtgbrxC5AXEHoANBF0UQUQHHF6sTSRGpD0cHuQK0Ab8CbgSTBYIDmwvPBE8QzQZFAqwBrAyuAaQFSA3gA0YEfAGwBM8ZSQKzCbUHchR0H0IIngfKAkkBsAuGE8QBygGhE7o","kwl8","pgN8","3wQrkAEh","BJk8TCJwAR8tmBZECKkOQAitCp8MbRBaS6MOtQqcCXRRwgGeNpUPdBWeP50ORWPJArFuc0qYRo8SQwN1C5cMRBF7REI4cBV7BokRdwjHOEc7ngiJCWcPTBh5P0MRLjNIApcQmhNRHKERdQxDBiAXYXeSGUYTswqdCGQDQQFIDUIDaRKpCDwKRgZIA3QHbipmECgCvwNHIDwJfRdHAokYawGaHoINbgNPDp8BiLQBPQfg","8gPB","rQSvyQ3k","4wyR","ngG8","9hCs","gwLVyQnrqgXA","gwJy","xwxH","AVACUwFUAY0heQJDAr4MmgxACXYFNQZFAY0GowGiBD8ERQS1ArQEfQejAogDmwIzAW8DaASaC6IBrAiaBMwHLQJiA7IDpwRPAUMBkgFBBD8JrANdDZ8BwQJlDdMHPQSUAbYGewHSAkIEcQuEAdUDzQFXCpoCmQNnDYwKzwJaBsEBZgKuA5MR0wyoBmsDlw9EAZ0EaQpoA1cHRwGtAZ4BjgGTAZAC0AGgA7gBpgiaAz8GaQI8CNADzANPBLUESAaFAaIFnAReAlEDzgE+AdIBmQ06BasCSwE6BV0BwAPSBW0GngGgAk0CNgGxBJwFUQGNCpMCoAG8Bb0GTQaqA24BsgFQA88EawKXCXQEoQN1AUUBrQLABMAJhQGxAdgDzwk+At4CsgGgAUMDygGuAc4DnQY4BJ8HmAWaC8sEtwJ2AXkBPQFIBmABXQN/CmMCsAGkBagCyAGQAaMBpwLEBrYBSAKOB6MB0gGpA8ARUAOpCq4C1QSRAU8DygW5BkMBSAKoA6wDRglzA0cBogM/BLEHtgThAbIOTQLSCpoBlQGuCM0BzQE5C48JpgK7CLoCSAKgA3MGtgK1AuAEygGjBosBswJEAqcIyQLGAYYJjwPGA90EoQK0AaIClgI/AXYEmQieBaoEPwdOBrcCqAmHAcgBuQhhA00D1QS1AkoBiAapAVQCQgSdA6YGUQHdAbsBwwG3A0YBwAKbAakBqwJ3AUgHPAWuBz8B2QLNAVsBbwKpCsUEzgLDAcMBjAFRAdYBSwGoB2MBVgGdAdAGpgRSAdsCiAKXBU8COwSuAqwCcwGqAq4BqwFLAXsCswHQAdEFzgRdApkEPAVtBkMDngSeAaIBTgFPA4kBZQJLAbUDpQHhAp0FeAJwAZ0BsA8yAXUERwG9AS4BngZLA48FXAHKAVkEnwG/AlMBogHHB1MB3AG6AXABpAFBBqMCPAOrCrMCRw1yAlYBswKwDcgCTws8AkwBWAHQBbABnAGqAaYBSAE+A6YSRwKqBM0GuwfICKABRAGwAWMC0gF3A6QESgNjBWQCRwWnAZoERQJLAbkBxgHbAsUFrAHBAaYKngNyAZ4JwwGBApcEngK0B3gBowKaDqEDRgG4Bd4FmQGpBEgDpQZfA1oCcgJhAmsDRQF3A4wByAFLA64DRwFiA3EHoAlaA5MCRwHAAqABQQNGAswEbgKWAVACiAijAtIKpwJpBX8BeQVHAk0CnwGlAUkBQgGuAbQBawe1A4oDpQGkAYwR3QK1AigCoAOpAk8FUgVKAZMBSwZxAtcBrgPCAqsBmApgAoEJ3wSxAkYHcwQ8A3kMVQfRBjkBiwKhBJEByQTEATQITwGHAT8BnARqBVoDngNDBZQBRgFRAaIBcgLDA7gEpwE+AYIGfAmqDbQI0wHjAmEGbQFFAagBywJGArUByAuXA6AGswN9A5gBhgO2BaYBQAFPAnwCpgOCAY4CqwFGDqEDxQRJBakGQAGwAyICpAFyAc0DpQKzAWkDWwKgCr4FmgOxA08BXgG/Ab8CgwXNBTUCzghtBcgHaQR6B34BogGiAsYBTQTaAqQCnwjEA8kCQQNZCDEEtAI7Ac4BygTSBbcEzQVLAUQG2QOCB68BvARLAzwDTAPSBL4BtAFCAaEBSQLFDLgHhwU6DOgBQgKtAdsHNwSvBkMGOQGwA6QFywWcBK4EwgG8BUkGSQFBAZoBPwhCBaMB2AnCFrkCuw6+Apw","uwGj","5gHqMJk9uVGAAp8FPD1GygGf4wGk/AN3MKakAZ6aAcJARgukF9QFfSGpB6iGAbfKAaI","5gGg","zgZDWTU","BMILrgbERWwFlg11A6UDvgF1A4UBcAOnBYwBrhRuBIENTAGXAmcMPwRXB6AobCtYBGYV3QtrBZ0GPgVrA7cIOAJ6C4YBogVqBnkSmw95FGY5YQ5wBEgEwRCqNUADrSNqBGoKwQajE0YDwh6fNcEBcAGdAqkgxg60DtQPRwGmFKgNaBuuUMEChAagBnUBqyKIBLwKrAOoGIwrvhCRC7QIKBE3BVUWgzF1DVgTkws8C4sCtQRCI28BjQSRDXgBkgNSCYMClgHFErkIQ0bQEIULTQdzAZQIsBO1DIgDUAOjA3cHowzWBn4CfwF+Al8FfyKEAXsKcgNsGl0KegqHBZBOnguUAkQMvyu2B88GmwdyDUACQwVwCWcHNA2gGx4DsANMIWUIhRVRCkQFLgJMBIIIRwFAB3oSvzO9A0ETdgLLAokEvwJBC2MCpDXaAbEqUAitB8MBzBnGA9EWuRK3Ab0Dzhe8AsA","wQeAhgFl8wJz7wR+","9Ad+","tgRg","pgFrElegAmH+AcEBcAOpIMb5Cto","tgRgvgN+","oQVz","vw2e","oQVz","9hHO","4BFJ","7QmLkQJY","b6U","BJBufg2MJky5AYbUBIKRBG2pAYdsgCt0ODR7Llt9HoA","6AuA","BHxufgh8zwG3G2rOBIIOdYMEbZUCgCt0DW+8AVBFfRh+BoBvUA","bHXbB2U","BHxWbBh+BXADfLgGgpEEbZUCgCt0B88Gbwdy+gF9FnYIgA","8hG3Ab0","FcQ","jRK8AsA","tQqD","tgRg","8AhV","tA5n","8Qes","ugeg","9BCx","X5YwT60D4Rs/gAQeAygBS3XrFbRG7NkDwg","0Ami","0AmK","vASa","0AmK","QclXyRnKpgaABKEHeOgBfxqJ3AGB0gOFhQGK","2QFK6wJeswK7pgJ9PbUvfbQBmagBeA","IfIxhoEBk0NmvgHI/gKijQFed7s56hyqLYUiRBybBrx6dJsBe0KIUoZo+Gx4DYompcoBxktBATw","A3Yf2Q6DJ/cTuGrLxALwAaiPBKZZybsDcVzVsAHF9gHFe+8","qwnN","A3YtgwlvAY0ljjB5gwGvBrMBxgqvA9bvAcIbrm6ymAGYhAbB4QX0","AOUJ1xDXCLQFeQTVEcEMwwGUBaUKZgi6M6QDdBS/KzIBsQWtBcQHxBTfBsAHpQpyH9sD1Sm5SnwCwxh5FN4C4xGiINUB4lrYK+QXwwqnfZEK0QXaFrIayyvXCZ4Hxh2kAqoM0gKlEs0I5FmaEdYc5AOjAdMLswuwAscBxQuiCblYtwKfHK4OzwFKCpo0yxiQGLYG3QeQH3k01yWwMdED60+XAsAWqASqHHUBxhCJF9UJvQmbHdtsxwTsGWgXkFvtb/ET3C7UBNIF1AHo","OW8","xAeA","EDkfhS+iRjQToRjIlQGXjwIzpwGuxgF7GThlLCpYmwEtFo8UJC2XTyU0OwibD7MKKBXGC2gEdB59Ap4XpyNhS6oelQONAY5jnQ13BigrQjWKGaUmlDCVENQ","xgKX","BMsBnRpLC9FHKhTMAeAQJg40Ax8CLArfAikCLAMnGyoCkhZ2BjwBeAHbF9w3mxNGBc9fyyBsducQnhudF5Id3SvcCaFZshuZKrMR7Aq6MMkTp0LcDcsQvgs1CMMI1Q6nC9wBzgaaEZcC4R9uSZ8GrCJrEKoCySOOKJMOnAKYKco9aRckEdUasBu2CdoH0hG6C81CwwOYCHMNuyPNCicDLQFlHh8MngslBY0NPge7HawoNAdkH6kBowgcCScLIAffAZo2Lh2NHmAByQHQN88","E6gUXCJYDasWRQ5GI0oIRQRCG6UORAjNBT4huRbVI7MW7QeeBkhJqgKeAUUEijxGBPUnRwpKFq8qRQVKCz41cBFLBkBwPxpMPakDRxNpHkEIsQhDDJ4c4AGeB2oQSjw/BW8DgQKnJ041QEY9B0IeTQ6tBEUFPwRSA24DIUanFCECQgJDCkkSURJGAZ4QQhpMNkMCRxnJAcAZUQ+dCUgcRAZOAyoGrjK9FlIN1xRBJqUNqAhIBOII3wVjHJwISApCDccQSwJCJkAWvD2oChgPzQJBCdMHSQdI4AE2","zwLb","lgLR","vw6Z","vw6Z","wQTy","wQTy","ATUGSwXTE3ACSA+GBrUFgg5ADskItQ6UAScMoAamCaEDoAK5An4EkwKzBbcHWwOfC2kCnQI/BJsB3QOYBaACPAlwBkQVYSFRB48JqAKiD0oCcw2nA50SSgOgBEoJrRuYFXALrgJMC6oGcAbRJ2YGmwGnA1oCfAS/AqsDSwE6FdEkqgxwAVEEjQgvAU0DkQe/GngCVwZkCZ8KYxfNBzQDbBO6CWMCrBKnBG0C0CKlCJEZeQLfA5gHogOsHIEJlwu3Du0MsSCXC30ETCGVCDsIRQM8FIIfpAfBB2kPeRFMBmUCTRLjAcQEpQF/AZMBXgHHAcEFbgltE9cDoQhwCTkDSwqmCXoJRQUhE6YIpAWcCa0BaAFSAkQCQgGJDFUCSQOWCm0EKQuIDUIImBSWA84UmA3MCFgLeQyXAqsHkhKZAjgFqQhuBrQXpgeDBUcBdw+jApoETA2sBLMDqhRNCXAaVwGfC0cBcgV0DnEIdQlKBJ0FdgpiCaYPvwGtC5sVqgptAqgJygPOB64Oew+qAtAWrhIlAZcJmwmoCKAEawGkB0IOQQNuC1oEqAGsAjMDZQNhBLcGxgGdAUUSdAJMAUgDbQGiA0cRoAKOAygHpAmlAbYElwZFDqYIdgS+FKoErhDTAs0IaQG4Bk8DvAiiAagHrBlKCtoBtQNFDaACqAFEIr4Cny2jUrALlwpMFTY","5was","hg2fuQKo","D1EYgAy1JL83uQumDkAGQwHMCW4MPFd8H2YGoBKgK6Q4QxydGJkGXkVAAbsTpVtIF6wKR2SKE+8W9zOkGUQWS1KigQFHEKwbqyxxHXwCRBBHVM4yrAbhBOMjkwNPLElVRx2nBUoHSi5XBUFhOXWnEkgBkxV2KEcVXxFxJZ4U0gFHL0gDf1OrK+cmVA","UHI/tBBBsgE97AEtmwTIBkuSAWsDQmZJpwFpnAErfpkNMqkBPChF","1BFM","0Aag","lQmslAir","mgFf4gh6","G2ENsg9WBsQBcAvRCFkZQRBGEZoFtAJwBtAMRwWVEqMFQhbmVYEO9wH5Bz4PTgm4BUgtRgJUFj8dvy1LMEoLSBBFKUkBcwu1AfgTRwlaAp02UgRtIt0FtQHdDW4feT7aAqgSZidQHYsWzwpYEUIYSBPuAcoIeSJMBbsFSAY+JU8CtxlME04CIwpAAskMcRHHWYcG2A42BUgC1S7AAk0cRwNRBpYCQwF3CkQMoQm9C+IHJynaC0wBTRvdDKQh0AGtBLUCughCFEwF3gpFGboBUwbkA0QIQwScJ88FySCcDLwG9gWsDUkFPxFDDVEDPAGdCUsETQJBBFQMOhWiCWQBrQZJAUsSQwXaGKMGRANJEUAKlwK1BLwDex9QBlIKpwZSBuQEuQdACUQEQhrjAd8MsdABnA","7gTw","7gS/","7gS/","uQJyAWk","7gSk","xwREtAFupgZ19QE/4QF1owGr","mgGa5gPK","mgGa","/QPK0Qi+LEc","ALYC5iY0Az4Lfw/3T24j5wKBCiYDVQgyBCYBJSvyE7wZ6TukD6cDkjr4JzEB6wQbFsUFsxC+F6wC3QLeAeIH2gPtAcARcRclfuwR8yfTKJEdiQnMXe9HoATyJC0fwRE2EWIegwLNIrsQ6QTCAs0FXUgfFfcg6QvNOn8CJgElCPcB5wPbBWoC3ChzBa8NwRhHHkgSyA9XL7tAwAbSKY0K7SPbB4gB9iSwG3oN8VHfCTUXWQ4rBZ5CsBiPAigSdgasHFY01SZIAc0C5wLpAu8D3wJJAs4D6gGKA/ga7QHP","0gEm","nQuT","Raw","twEs","ALY","kguo","zA2NxwKsMqw","sQOk","Ang","ogrs","hgmD","AqlDPQ","uQGBrAGkwAuY","ygtt","yguX","kgus","Rb4","HWoNRw2hEN0BlAXIR5oD0wbjF2IHeROfBWcHrSC/FdIHPje1B5MGSAdDOZpDZwmhOtEBzwt3dTsIrTrQAcw+nhSYaEpGcxYwV8MQuTWSEn8KTh+kA6o+jg3XNkgYqiSoBDcGlgy0PKcUjzXVP8QfUAWhCdUClQi5hAGlEDwBmwFCMI4Eazu1DKkGqQlfE38KswxqKJABQQjfCdgUcgRJCDMBqBN/MUY2xQLNAdAC3gLGAeIB0gO/AckCiAudMHE","kxCQ","nQGA","sw9U","nBB/","sw9ULIo9fw","nBB/","vwSjgQdH","PZSfAZgZQn+drwZKwQGlB0dVqn0mASDzAaSUAUducQ","6A3F","rRBB","WXFdsQUtA4IVJWg/VUXAAakvTxW7MjjTBTEZwwi5DiUBobABJgZeHSt7nAkgA20PpAohBy8FTAmYD0okIlG8VkJqQw","OHiBAUiYAaCpBUiFBp2KA0c","OHg","yQsl","AMkCqQGmAuUCugGRAsUDwAG+AYQBfwOfAo4BdQKvBXsBqgHSAZsBiwFMA3ICjAVtAUsDgwHKAosDfwHCCdwGkQHDAskCnQLdA5EBWASRAa4BtQF6AmwFjgOIAagBeQOkAXECmwGoA44BegKUApMBfAGlAVoBcARtA94CrgfCAm4CiwGkAToBegF5AasDgQGiAXQCSwGBAqUBdQKrArAH0QG+BcwBxAOgAbMBhAE2AacBXgLRAbABSAFRBIgCcQLFAjwCwQGFB6kDegGAAd0BuQFiAoYDrQFoArkCogd0AZcBsAmlBOwFtA2lA5oMLAOhCb4DqQGhA5wQnQGVBaABuQHSBWsLYAOTBZEBoQSGAXADrgGeAWoBpgahAs4GeQNeAVMJoQJKBMoBYgXEAZ8FlAbQBoIEswGcApsE3wyfGIcGegHbBGECuAMwAWAJdgPAEZIBZwWsAUcJywKhB9YBnAKqEIIBlAu/AVEBUAGLCKMBygGGB6gIggKqAbEErQKrBWoEiwSGBcMBygKoBK0CngSsBKEEggJzA3YChwGgA7EBnAjMAskHlwGlAbIBywGKAXMBugOiAXcGpwG6AacFqQatCIcBkQFwAqMBwQbKBeQG3QqsArABtAGfCSwBuwPlBnwBlQKxF+kDvQScBKgClANzA+IB6wOfDWwRaASrA6cEiQXtAbUCVAm7BKAFgwGUAqUE4ASCCbUDiBSlBW8BiQS+AcgFsAaqBJEDrgW+BaMDgAfAAbAFQwFOArgBeQGzBMgBlQNGA4QBiQNIAYgByAGSFW4CqgiAAoUBvQGgBb8BiAHlC6sB4QXMBKUB2wHYAYkCdQLDCEIF0gh3AfIFzgGpAr4NOwjNAtECigSZB0IBrgOsAmsKzwF7AqgBTgelCJcB5QJ8AYsBsATSAakDnQJ1A6IBuQGHAYIBiALcAaoC5gGgA6EBLQIqBXUBaBB9AqYCmwOhBUsE3gFIAY0BLwJHAaEBlAHqAccBpgKxAZcN3wKEAYkBnQLBATYEfAWiB30EyAFxBOUBzAKXAcgBHgK2AXoCvwiJAq0CowG5A48DwwPeBqwK1gWxAZ0FfQKeBqADkgF1BJwCkAS1A64F0weiB44BoQixAZICsAGsAdMBsAFDAd8EmwPNAnUBiAF0AoQCzAmPAakDjgFFA6kClwGdAogCxQSPArsBkQGlAXMFqQGhAnkD4AKxAskBxAFJAZoBcAGPA24BtgFTApkBjAGXAdYBUQamBIEFjAF2AncCggJpAUYCowOXAZwFkAOtBHsDuQF1BosBrwLQApYBuAOXApoDgwamAZQB4QmAAp0Exwh8AYkBnwGWAbkBtgF7BEcBdAKUAegBOwK+BKQBbAOXCLQDrAKyAycD0wSsBH0BZAFNAkUCwQGqBikDUQKdAbULuAN5AdoHTQatAqMCeAeaBJUCKwHfBEYChwdcAq8BmgXbAasBxwStAZQLvwG3C6gCywOWAaIG0QipA48ItAEqAaYIlwa3AcEBiwHOAlwBggV0BMoBpAFfAqwBmAKEAYMFwAKEAaIDfQGwAfkBRgGbAbIBagG2A4QCjwJ6AWoCeAGIAYIBdwNEC6oCpwPGBIUBoAlJAYEDRQHOAnMHmAVxAcABzgNBAqACYwJWAjkBbwGyB0gCrwEiBJkBsQFCAdEKewKKAYkCoQJLBZIBRAKYAc0DiAOuAtACrQRfAVkBggFyAu4CswPUAsEKewdfAYYK7AFjFY4BhAm0CCUDuAHFAXMFfwbBAnMDwwHJAX4DmwF7A2MJgQM5AXQBJwHlA6gBYgHrAqEBpQiXBsQBgALDAt4IRwFGAkwJyQHTAckEsQTWBbkH7QKzDNYDzAO8AssC0gR0BNQBzwPIAsEDwwLZBsUBcAE/Ap0IxwXrA4kCbQHkAbABSgLJBdQB0gO9AnkEygfWA2QBRAHDAs0EkwVIBNQBxAJFBUkJbwnSAtMC0ALHBtICwQFW","Y1M","5w1c","tA7q","tA7E","lATJmw3Z","0wFHtwlA","kgy4","tQFe","tA7E","tA7I","Y1M","oAwr","tQOf","8QGl","wQjv","hBG/","BdzfAmo","wgHF/Q7i","ww3M","IbrmAaXGCMr0A2o","0gXd","rglH","d0c","lgGgDKc93aMByfsCr0HQgQGiRymSBsGFAc+HAas","mgFf","5gfx","5gfo","ObI66CPOHj8ThAG7Hkg+4xE7GvErzy2RAawOfAF8CUUepR24CIoIcGhDYKhOPl7ISUZuq3RJX0YS4UOYNXAR5QLBE1AEQwt1BIpC1w5ED0MkzzfSK05QqGxFIk4naEK/I6g","lgHM","c9w","XqKlCSkByyhSCCjEAVEIw+YBuXhBR0KOAkY","swhe","0QGl","igpDWZAwoDzZ4gOP","kwu3","2wiv","2Ajh","AjgHPjC6MTUJUgJNAVsBRAM/AUwCPQNFBkUDSQM6BzcBTQdCDm4ETAdBAaMIRgNAAVQDSxFABIsCUARKB6kBSwVWCUMBVz9AC1INfBGpFUQNSidSG6ILSQFRWlEXSR5CIk8FQC5XPSEJVSVJBFsFURBADUkPRQhQEkYLVR9BB0oBVAlQCkUDXghKBFMBSQesDEcDSQRDBEgEhSFIQkABRAJOIk0VIQVVAU4BRA1QA00ISgNSAzwJTig6BFEFUh1KDZoRTApAJlQDPQlLB08BSSdtAUcCVQJRBEcBUgNFAkkFYQFfC1UCTRNGAy8DRwRTAVEDUAFTA0YDTQNNBEQCUwFLBk4JRwgmAU4BYhNQCkwHSwlHAUsBTQRNBEoHTghUC0oCTQNRBlABQwawEEoIRgJ0BEQGTAVCFlgEtwRDAy0ESApNBEADRwdFCqkHSkVQCU0LRQFDCF8CWgFSAWkIRgJCAk0DnghQDlIQowZQDFYDbhJICkwESA9WAU0ITQVVPksTSQFABz8BSAJMAVkOTwJDAVADSwlLDKcDOxA/","zgE9kAFS1QJLdpHxA0wdlmtEJkjmAUtVosICTQ","BJlSRTNFXkyNAT8DfgzVCkerAUXpA7ofPxF2BnoKrh6hNSEdww08VSs1SQajFZINnwmJbkkLqAqMbEQRV3iiZFAhSxe8C0wOcn6e","+QnB","+QnB","nQ7J","6Ay+","lQnglAjU","+wysE78Lz5EB1w","7w7y","7w5I","3AfV","zwLorQ6+","BHwQpguHArQEcgKMBIsLfwKjA5gakRxoC7cG0QmLAYsNQwGlBZgCUQVrAZgJoAJZAmIDbglxEqsGiA50FH8UsypyAcMBwgGyAasDoBuVB0ML1Qg/D8MG2AJ5AnQYkgmeEJYEeSaJFGcEvSx3CosRfRW2AWoClw61VnAOjQiqFncLnQrNDawp5B5vD9MHfwykAZUFtRjDCb4UpA15BpkGgRGyBpIC0BbDEpMPnAGcCs0UawN3Ez4DdxHZAasDcQHHC9cOgg58B7gBtA6qCX4K4A11DLcHnRTBA6sB0AZEAY4CcxPFCIYRuQagBMEEygR/A7Qi0QGrBnUHkEORCZ4JbQ6JCboI2gObAY4YmhXOBfIGmgqcB3octE2PRekYow17BMkCqAXIA28BaQNcD0IPfQ56E08BhQepBswkngGRKM4MhAQ7AWMjehNTBMoYfQeeAZoWgFfPEKMNvALPCMMBzCrUJF0Nbg","3Amd","jgKzdcM","pQOStAKqIZ3rAZLSArs","6Air","uQJyAYM","tgRg","sAF1","1A6F","iA6o","mAee","Nn8","rgOe","uwKIxQG9/QVz","5wag","qQjD","qQh1","wwVw","wAh3","jwhP","uQJyAWnVBU8","pgFr","H4fBCtEBqw","5wjI","tgRg","5gF0","rwp0","/Qee","vAlt","jQN0","nwFsCGw","5Qub","rwp0","jwhP","ngic","vwJ1rgJykwJz","hg7J","kQas","twqB","3wSX2wae","2gIs","5wfB","twFu","nwic","mgl2","5wit","J4w","K4s","7AKg","8AnB","fE/rBcH2Bqc","lA5c","nwFsCGw","vwJ1rgJykwJz","BHy/C23NAm+BAn0egA","2gKL+AdqF3I","7wV3jgKe","mAqG","vAKr","7AKg","7AKg","mAee","/BFd","ngya5AF7","A0sB5wGdBroEUQNWDsACUAFPAdcEQw61A7oGywdKDFQEyQlGA8wGpAekAtMBJQHIAoMBRgpJBa0BqQVCAWICuQHJA1ACoARDAkEFmANbAtQBnwGtAT0EOwKbAmcBaQG4AakDpAJrAdYCPQJAAZgDoQGuAjwLPQPCAVkCQAW8Ap4BdgM+CMgBPQPjAbEH7wLXF10D0gKpGKoGvQSeA6kJxATBDYcELQrMBsgB1Q6wAZ0DYAm8A8sGcALXAZcOogLSAcsFzAHKHzYGogWlCj4BrAYwCpkCnwTNBngBdAF1AcABdBvJCssG4gRHAawLcAV5B7IQtQNYC7kCqAGyAb8H2QWjBM0CsAy9I6oBvAPBDJ8BqQ6gAXwBuAOlJcANyQKmAbUfuAXIBkcBtii+Ck4CVBLEAXYWzBCnBJsGvgFKCa4KugGPAtYMuwRDAzcByQbIA1kBzAw4A0ICwQFCAasJzgFICsULygKkAcss0wzoAbUD3wHtAkABoQw+A8gIwgNzAZwJqgGsAa8SQgLNBkwKPwNWBUkBmQG5ArAIxgFAA6QBSgHBBEUI0BFRAUQDowhLAr0BnAKgAbEEPAG/AUIEtASxB8YEdAafA0oGvweuAZsIsQE9A54DrAFZCIEBqwW/AXcDnQOhBOQBfwNIA6sTpgXCB0kI3gJQBqsCRwKqAa0LkwG/AWADyAVJA2QCsAPSA58CnwVCAaMDiQOpAfAFMQSlBLYDfAJmCMQH2wKbArgBwwZPA0oCTwNEAXMBSAGkAq4DxAWNCskIzQJ7Ab8BrAKPDkgBXApFA0gD3AK3BYwFRwG9BdgBnAGqBMADpgMxBZMCoAOsAtgBrQLBAccBhQGmA0kGsBKLAkwE5gLnA6wBowVFA58HqgJ3AdIKugG+AZgBUwOnAc8G2wGjAZUErwGtEq0FSQmIAbkBgwF6C64CrwjLAdYCRQHqC88DWAG2DssBsQmnAkgBqwHWDHQBqQKXAW8CxQE/AUoDvwFCBqkDQAFlATQExQGqAWkCJwLJAi8BvgGQAcACSAIhA6kErwHNAq8EdAG0DjoCywG2CrAKxAOEBKcFswLLAc8EnQSYAkgEPQXVAbACxAQ0BL8LzAG+BUsFSQGPBkMC3gPJApwFlwGuBcoBpQTVAbABPAVzA28BIAJ2BXsJ0glyAXIEpQKwB6AOcQLrAdUDQQG9AUsBQgdmAqcGkgHBBUoBqgLWB4wB2QZJAn8DrAHPEHABblrMF8QKyw6P","gQnI","zwLN","FjqJA8gfPI0EiKgDZekDwQ","BUEDegGuAkUCpwOqBcQF0ANjA6cGeQR2AUABzgRABOwF3gFrAmwD2AKLAaEByAJZA9QBsgNtB6MH3A/tC74DRAFmHeYNrAREBDcCuwPEBJAL2wymC4kK4CNdAWAEoATMA8Yeowt/CcYH2AGKBNoK2QmuC9I4SgFaCYoMVgeuDkkINAqAA9QKSgRYDcoBzAJYAc4BRCtFWogjsQ65G8Qf6RDMU0gP0gTPAe8Cygi0LOQU1wNCIjsKnwGUEGkUyQzgHrwHoCp4CZ4cohAuDjwJqixRDJ4npVRRFuElWgnlAr8kUAyrAnc90wfEKUgP8Q2+GZoCUSTaAeABchXPB7cnzwm9ESA5xglHEG0YUwWOEqAH2AinJZpPvSXYzAH5","9RFI","9RFI","hQFkAWsVnwiFIKQBtnc/FJVOTQlENNWDAUUCqBy7TVhw5xpCU5YEpp0BQPQBoBNFmQK9Ar5FXIQBljajL6cFMB67FSc3yWSz","KKk7lVqHMOAJLB7QHvFb2BY/JaISnxXs1AHaB7sd0ipIJ99xWkOnWZQMzwWlAlUpZSurC3VCpAKb+wHdAaopniKhJpcvpAKoHcVImgvNIpRLqnO8XZ+KAdI","LKtK0B5uB4Mj7gVeBddtcwH1EOvoAbbuAvc4uJAB8wl+Gt5X7TU9WyheygGVet1OpmBWLusYSBkzBXvlAcV/YwzfBUoSSQ","nAey","lQ2m","ow6U","vhDF","vgGw","vwVH","5AjW","LKs","lAFu","DjlveI4B1wFdAcYBoAHgevNg4usDmZAB6x/qb4Md0QG/vwLD1AGngQLDyAHrAdU","gwnA","gwnG","7BHh","zwyA","pBDD","7BG8","5Aji","8gmD","vgHQ","vgHF","tQJz","vgGw","FKYTvmO3fUaTAUxFpzpBCCwFzzLMVMgUUAanT8k704EChAq+JKFfdgGfC9cDhmJGFKo6K8MBp5IBxSBpKa0Ll5MBmw7PCsYib0GgOp4","xgW4","Grwq8s0BStwBS4wCSa4BSCNGjAKsQXtr8gZRHVAB+ROlGESgAbY9SwaTC0xh0A5IDUgDTRpPC6cINQlHKMUa4mJNAUwFQA","ggtK","pgvd","oA55","8Qyc","nA8p","RLQ","pguf","RNM","RHE","4w7k","4w62","EqMCiE4/0gF3ZnXUAizjAVnWA0VgSTViWHPSAaU2Ro8BoQ","6wKwpg70","kRHi","FEANqwepAkcVWgFiDEYEoQdfBy8caBxCAX4FegWvBrMCbgSiAY4IiQWaAZgHOj2mFpkdlAFfBJwFrRYnAbUFegSMB64Jeg9BBJYa1wHHDCsCQxLGBMkLeg2mBhsNghhsAbVEpQgrAogRcwOfCCgTlh+mBHkGqgGcCrEJYwOrFW0vehZPA0oCSwqfGkwVbgKPFJ8KdyQvKTkGbgSuAW0BiA6kBEgHSQJ+Ab0BQStlG2gMPwiBDrsTbRt6FpkJbQmeBJ4CrwNmHHwIdRxTA4YSlwuwBkIEzQQtFJYCewSbA6sUcQW8BKcKuQJvBHYYaQs+AZ8JcwI3B3QEoRDEDDgHIhN7BUcWpQlSAkcMeBGMEGwJfAFHBXsBoxvQI0M/IhhxHG4FhQiaBC0OviJGBKgBbwF4B0YDaAZxDJsDpQ+xAaMEogWfBXELnQe2AZcLnAebDTUgKQMkC7wBuAN7A6sQgwKWBHIbwAJHBKkBtwuCBrwGJwVJCSsB0gN0B7UBnwGgD0gjRxRLCzoDPR84AbIYUAeWBaInRAVIDkIKnA","lw4k","KjA2vQhrXB6OAYkviyhpAYuFAZA/PFinIHU8cyyXMI5UWBt0Ub4YNwEeJE9QcSqNJncgdQVdZpcdnhF1TbI/SzVpS48DPB9DEaIYbQNIBdQCLEGqdU8","xgXo","iwXC","DzY9Z6IEPIEBIeQBRQzG0wEqnQKqmgLBAcIDJ/sBq2+vSJE6nTrh","igq7","kxLJ","3wfG","zAiA","kxLJ","qgbgCNE","xwd1","2gOrZlzGA4XiBlY","tQFg","gAW/","X2I","hQ68","kA5v","xg2+AcQBvw","sgkq","sgkq","E8vZCXGhBm4","0wdFmgYn","5giZ","2g6+","gRHe","1ALLfd+nApcjrvwB6JoBbGfh3wJ7igSp","1AJn","pwSt4QqnogGckAHj","7Ax61gGj","L5CTDqU","zwl1","RaJflzeUeKjsAZnHA1o7mosBqfUBgS+SPZSCAoQTsSubDKcCsQGfU8g","8wSp","xwOWqwLgvQiuTKYBnw","RXc","nQbHJqnCBJE8rIIBjA","vwW7","KoCVBds","tgSk","oQKz","Y5c","9wwo","2wVxAXEBcQFxAXEBzBj4","+AWX","1AJn","4QeZ","5hCN","jAvY","0Qm8","1ALC","mQiQ","1A6F","Qm53gakDqe4CmWRPpQHQBbjFAbisAYuGAcI","tQux","rALK","1gJ+","jAWd","UeA","4QqANZ8BhA","0QPG","5gF0","owmD","gRCu","hwvO","/whx","oQ6F","wgd5vQGc","nA6X","mwaulgNsZ+E","gRGp","9wx7","oAWz","0QPG","wQRW2wHA","swF/","9gGm","wweVjQOItQKfxAOgoQHQ","ggzI","lQyI","hxHT","C5w","a5I","+QKw","ugF7","pgFr","QHyKCKc","7gSL","0wvE","5ght9Qjc","rwuI","qhGx","qhGx","3QMwywVa","oQVz","b1A","wwZM5Aip","jwx4ano6dJcCgQ","xwQu","mgaJ","sQ2FAck","xQ1P","gwuS","qweuGaQhnoMCT6MBKY0Bfg","oAZg","EU8guTIfE0YWoARBAjcYng1AIFseYRKlIpxikSAvEzxfmySdLUk0Sx+XOKUpSQerWmkUmyWmBJoHpb4Bcx6TAcoBlQ1oInUHOx84A5kOows1B6YbjQGaaacfpgqjEcRmoQKfAaYxmwd3GKcYkx04DSgWJwklCWkBID6mC4oeow+qA54BdQ05D0wEmyVAET9Qpx0kF3bHAck","1wed","rAy0","kAFI9wGi4AJpzQONXz2cAb9Rw36hrgFagwNJ","4gicCZ6oA+nwAaI","6hHQ","kwT0","zwF8","tgzUAdw","1Q3Ca8A","jQTw","rgx6","6ApWuAOk","zQK8jgHkhgSaygaJRICqA+4","9gJeAVM","1wM+","d7c2xMYBpPEGicIBow","9AuN","aHEFYwrRNtUsle4GJlh1N0WkAUT0AYLCAYQ","yQ47a9I","+AV8pwN1","hAbj","B86UB8M","jg/J","ig85","sRHEBMU","mgTelw3EAukC1g","mw6P","1QpI","mw6P","9wzM","rAR3qgec","/wms","sw9j","QJPSBaWaBI9lrwo4mAR3","yQOSxgHJM5GMAXz6A502uDG7CbbZAVLZAsp51lG9A7Y","uQ6A","8wrP","xQTO","HU0","pApA","xA5N","rAOoPm9dRNIEvky+","sAGb+QfF","hQvCvwPJ","hwFw","1Qq6","9Q14","pgGP","tAGOjgPOKeG6AW8Be58GgQ","+Qy7OnQ","ogoi","sQHl","aldxaGjJywWxSqxXsw","2ANh","2Ajh","/A6u","9g2e","yAGU","ig+E","yguv","mAuO","vg9A","nwGPCGw","4QSL","5RDV","1g9v","uA+p","rQ98","H6gBtCJupQGXgQKJ5gKlcuCAAcBactYCwSJ2Tk21Aesw5RJ2A1IRhFpyKK4IUwiO","+ge3","qQbA","5g/r","4QnaAaY","2waf","lgFm","d5z8Ac6zCKM","tQmo","3wuy","9AuN","d5zfCFc","vQyYAZ8","sAKr4Aub","ogoi","VrQ","hQWw","hAHV","UoY","tQJA","kgOE","0gy7","yAqd","pAXdLcmmBKPLBoU","1A9x","alc","vwKgrgJykwJz","Wq//CXU","mgmpqAJ5","zAlNTrvrAYJnkDC6EMofwBh6ILQQhQe1DI8Ew2fI","sQ6W","xgXTnQK+ugG3GnUYobcBwhO1JMDfAax6ghuWOuQ","d6jTBsPKAbSqAkY2tS1H","pg+z","kA9I","tAGO","Vq4","xwyI","1QmP","6gNvnwa+Gn4","/w1S","pgba","rAF3","2Ajr","8Qi3","tw+Q","pQ6Y","0gpqF3I","1Ae4","jAzT","aJw","sAF1","lATFnQeR","9QGg","qxAn","rQ8m","9Q14","hgEp1wGtFyTBATsrZOUDvzwu2AIqZy83KDZcUEYtSQogA2IvowpIEJpZIDJrHDY","5QeS","hgOk","5Qvj","gwqG","gAef","3QNc+Ql1","3QNn","kgqO","qAjf","/Q2f","owKv","MbA","MZuzAkVXjw","2Qq1","tw9k","vgqm","AMc","5wfB","2gLH","pBLg","nAyM","pQrD","/AX2AvWSC6o","qwE3","0gqJ","9xDm","rglO","8gmd","iBGW","pAil","2Qit","d938AUSzCHeHAaJpfQ","3wefwQRnngOEDlATXw","vg87","sgGf","pQ8q","gAOx","0AvL/ARk","9AJnkgvBAZc","3wqQ","kQ5pmQJx","rwJ/RK8","2wFo","zQGN","mg9B","hgveE9c","xBHBBj8","zwTE","lgpv","xASa2QS3eL2bAoQ","xQ6C","6Qej","3Amd","iwHIlQ+e","zgTa","B9smQQ","Y5Vun1icCp7OAqSVAkEPloABaDOCO0AIclVVHTyiATIEKwGwLokciAGAE6gIcTuiggFslgGKDZcYUiFJASkDZCGNAZtTJ5cBQDRD","lget","wAh3mQed","WaE","2Aab","tAHU","lQ7f","lQ6q","lQ6A","yA6f","tA5n","lQ6A","wgGF","Y1M","1A3H","sww1","2AGy2QuvAdI","O1EVfB6LG0UDOwRBJaQdowdLYj+sAldSQC9TEy1XwCWpH7IudkhRFFUHRC1gA8k8oxUoB5ohpwgyBigDRAE8GqgHRzHBNEkkPwVFGLsGTwlPCKoSLAlXAUkGRwNQIJsHWgtBAVQBUVhtAm1LLQRNFEwJtxapEDIhpTVSAkoeSUrHB14Sa1UvCIwFORVIC0wERw","5ght","iA98","caFlVfwOyA","oA6Q","1AeG","+AVVkQTP","rQyj","tAFi","sBBj","E3M","mxAr","tQK5+gVdngGuxwLq","zAHV","vwiR","lQuH","vg9Z","9w25","Dp4","1RA7","gAGm","iwGLK7+yAqizA9PNA3btBdABWCvV","xwt5","2wGUpQHRxgLm","4gibMrRCvQ","lge/","ywqn","pxB2","HVGFDFbKApsayQ","1ge7","iwXY","/Qm1","wQKH","8wKkoQG7mw3Z","tw+D","9Q1E","tgZs","iwO2","qw9WAU0","9AIk","EZE","zxDV","uwF5","owmc","LoU","CM8","2Q6i","dsdhOZQHwg","vQxl","lA1E","4QJD","xg6d","LtY","ngSvAbE","IKkDsIoBxA","II6NAdfkB7PpAUQ","wAmw","vwLFrgLWkwLd","0wTs","qhHB","2w21","ScUs1YENuM4B1g","yA+I","Y9DACJM","gxCs","wBHgDOoB0A","QY4IxSzVZpTCBYmkAW5unI4CmQ","/A6u","EcE","6wKwArJQ4w","2Qq1","Wmw","5gF0","6Q7L","jgLbig5NAUw","6Q7c","EIE","hwLT0wHVZtmNBofEAz8wvU4uD9w","mhHp","mhHL","yA+I","mAPD","vAKrnAVfAuU","1gHeyQq8","+gfY","nwxz","2wE3","3gm4","BJkB3QjXBqgBKBO+ElQBzgvuFfgJlRH1K5gcSBOZBZwK3BKbBkIRiQl/EpAVcwUnBLgFuQqeAq0Csha5CtAP0wjFBM4WnAGABsgzOA7QA80N1DO/AdYdkSCOA54C5DB6A1UEwD9QAu0YkRThI4cKngLAD9sBlQ1gEbYMygI/EcoEaQOGDMQMtC5EFGgK6gaMCmYdJgJ/FY1IiRMkFqICZR6dDYIISx3uCEcFxQtRG9gtqiCSFkAkQxaIBL0GURCCAdMPOwqdB0QESAHTHK0DSBZhHnMMhwN1AXsiqWAeDrwFehapBUMDswJtBqQKNCFCBEoW0AQ5Bp0kaAGhDqAWoQ7bA74EhAxlD6EWnh6fFcsgRwi3ogFH","vg87","Dc8suiHxGtxGpHhaV1hi0BCrgwLPhQTtGkc8qwVLPrJ2SAF/pwFaaUK0AbouySjPEU4","dM8","tAGd","6QXM","6QW6","+wPQ","BUE","dGxQmu8DqeQDvpQHtvUBzg","WrM","Wsw","dL0","dMo","dMo","dNs","dLQ","vg9Z","qw+dAb0","5Auk","nQShggGm6QW32gG8","rwmcoQZ4","nQSt","gwSX","hBLk","oBBm","1AJnfdc","5AaeoArc","f5o","rA9y","sgFD","0RDX","owtz","wguE","1AG+","0gpqF3I","3Qlj","9Q1B","9Q1B","aJw","rQ+8","hAqK","hwth","owxm","wQhu","MpI","zQuz+AKsYol/yQ","xwhE","9wJT","mA1N7wFG","rgxX","/AOCkgeLBr8Ong","1AGp","6gNv","nwE8","tw/h","0gWU","jRLU","0weK","owlY","mQG6","6Aqr","uRAr","wgd5vQFx","mgnJ","qQbNUNvzAXw","vgTH2guiAaI","tgRgvgNU","6Ap2","eL8","iBG9","mgyV","+Qap","mAzf","tQfH","gA2B","9Q9T","qQbN","qQbp","Y24VgiXP0QN/uwG0UIU8lWTm0whLuAHP","MoYr3wa0Oqc","mwee","qQa0","mQmo","rgxX","hwG1","vwiR","2ANh","ALY","wwZJ","swF/","vQSK","sg16","6A63","sQHRtwO2tQKyvQKoCoklfb8BrQ","1wyz6gGW","RJ3NAZ4ntZYBhdcBry6okwOZ7wFIesY","mwdp","3xHK","5wGy+AdS9gHU","1Adr","gAOhkQZ11wWBSLk","yQOSD2EPP0F4wgPNXFHPBuouhPEBvQ","hghauAfh","rhBl","mQrW","vAxxAZE","uAGi","9AqklAfP","3AmS","rAfp","pBBP","pBBP","MnM","MYc+eiN5mwGlpALWHYuLAtgBpEWlWMGzBL76A3s","9wJT","FHsIuxtMCfYQNQ8zAykHMAE4Ai0DJwMlAywBLAEtAyUBLAImAicB0wUtASkBJgInAjMBMgQoAykFKgIqATMELgfIAywJIwEmAikCLAIsAScBLQEvAS0DJxImAyoGKAsrA/UeLyI6CzwMKR85COIE8RPaAawaSwM8BjgBzAIrAisCMBPOBikkJ0E1DykKLxedCTkINQUoBDQQOB8vAzIQMkU2AScc2wwmAS8DNDMsFTUKNSA5BzQdkhkuESoVMAemMzESKBwvDeMRIRErAkAKKgIlBToCMQQ5AjYCLwEwIDMdHR89GTETQhOZCC8SHQUnAigCMRUlBCoJNQEqATMBKQEqBjEOMCIlASIEMAI4AS4DJAErCDsVMRIyDiomOw0vHScDJQglAVED9wIhASwKJAO1FSsBLQIvAT8INBAjAisKQQw4DC8BKBOwASECJwglAx4C1AHxFSAFIwwfAi4BMQElATQBMgMrATIMJAwvAysFMgeuER4DLQExCCkVIgUxECwBMwsqCCYERAUuCCMHHAIpAyQCKxP5AyAVJgInBC4DJAEkEykMJgQjAioENwEnBjYK0wEx","QHw","8Qyy","6QHQ","zAij","8QyB","3w+H","GWojVwNMAmYn0QdQA2wMngKXByYLnQ8sDXQNcwVCBy8PtgErAZ4QiwTbAcwGxB/pA7EYXQXTD3MVygm+Bpsa0hWQESsBYzKzFjAOWBroEi8fdBYwAvMCUAV2Aq0pmgzRI0AClx2UCMERhCmrJpYHzyB7LowkuRKaAk4QZgWFEUgNTBOnAeYHtiMyAXoRHgtLCYoBUhnUApwJdQjYBYwCggV4CoYB0gF8AioCthScD0MDxQPNArcFiApWAUYKygPGA0EKcwx+D7cEbwGjEsgSvCB2B0gERwEpATAI1wTLDLEHkwJBC7QHiA4rA6UGpgqMA7YDxAFzAaQKow9aAssDzBCMAXUBkQFpD3cIrg9/ArwBpQOlBnwGySN3DLMDWwOfA5UHJBCnA4QFgQUoAZQDzAFbA6APIwIrDOcFgRIoDrwFowEhDWsbcQPKAaUEwQhOAtYHzgJZA8gCewIsA0EEvgKYK6gM1AU5EHMEwwqmE3QBngS6Bi4EmwShAWMGXQvPHN4NJwd6D9oDJRKqCSgGLwjTA54BVAPpA00crQJGElATbgusFaMK1ga5CKAGSBZJAUwS0ANMAUgJ1wVvB0kPSARo","qQFt","zwdo","6AOV","8gHfwwpaAVc","0gG6R3cBdwF3sAJq3wyz","wQqv","KIp+a6ICwb8H6AuB9wOY","mwWq","6QfHN5A","OHg","mBG8","mBHY","/Qx4","8g62","RHE","rA6Y","0gaJ","ggRsG7g","mgl2","9AuN","5gOhXk0","BHw","dXrxApReibQBfNIElsQCeaIBhJMBWQ","IHAIihmOFbMScQVjBn0EnDbaFscEZxKADpdIpS+GFXkNoWZfmQGsJ7BSfCe7iAGwGaAjsa4Bsw51BqwEgC2BJt1OvRqyFsUsdxSeAWh1pD6ZKH2QAUMKpD+2D6cLlyu+TYQ4qw","5gOcuwE7mAbFxgI5","uwussgG9lQKyAbw","dXrPA4lcsxPENGnTBXPUAbqSAamjAYQBpg","IUiZAVHyBNuNBkMBRw","6Qal","FdMMtJkBUaIBucgCc4gB5gW/OcuDAbSOAXUBpQamoQKpfXAnhpABdg","ugzL","1gJG","/QlzK3g","rA6Y","uQyn","qQWt","mBG8","rxCA","kAXiA/QCow","qQZpjgih","yAx5","tw6b","Y1M","uQ3H","aGvhBeDvBIk","rA7s","9gGm9Qq9kwJi","6wy9kwJi","9gGm","mQiQ","xA6I","Nn8","CqDiCao","tQFgHcymAtTpBLnNA1c","hAjx","hAjW","7ArD","mAee","5w09","/Q/Y","uAuR/QXFAs8","7Aqe","hQKrjQLXlweRBJ0BjwGxCJ0BtqoF0AHW","uhGp","gAKA","3AJ3","vQKs+gKVpgWElgFs","hwuWsAOb","5gxzAnk","uAJykAHDlwHTRqa6DMo","/g5i","a+IWpwOH","jQq2AYs","0Ayc","lgeD","wge6uQK3","pQOS","2wS/kQVXToKEBcw","twW8vAZs","twW8vAZs","ugqChAXM","2wS/","hwvv","/gOq","tg69","pQ5g","9wHOAm3KA8f7COk","9wGs","9wGs","tg76","0QH3","0QG7","0QGl","uQL1Ae2kDkcBSw","uQLT","uQKdAbw","uQK2AbI","uQLaAdw","uQJyAWk","pwhIvAVfPh8","S3bcB7jBAqW+A2sBMg","5QJd","6Qzzd+oB9gHt2wL5MPU","ea4","ea4","oAHW","uQWi","uQWi","tg5K","tg69","evg43A","sgFZ","sgGu","epM","sgHB","sgFb","oQ6A","kgxI","2wQy","kgzT","hQTP","oQ6U","pQck","pQck","7Q7T","oQ6A","7Q7T","7Ab2","7AaC","7Aa6","ng32","ng1q","hgLeDK6fAr4bol16","2wSz","K6M4U/EBawZsBJmPAqNTnUitugGeHk4Pmi1lGs+7AuftBIQ","tgjP","mAHy/gXY9wKXkQPZlAHZAjkF4wMhU6g","mAEq","mAFC","mAGz","mAGr","sg63AiAFuA","mAGB","vA4h","CuMy4AHqC1ADmSTIAbgN6QH1Lnc0yALwAe0BfRHOB+2RAX4lzYkB0KMBkkfuAfdCmTQvxQGuBZ0xxBO9Qt4m4FjAQvGFAXNNJAoqTY4P+LUB7QvOZ5hHYBdLAUVo6hFlJUk","mQ/a","/AHL","fdg","pgbH","/AHQlgjc","qgm9","4QhKiQLAxwFnVypNeA","POMB3UHPjQ9r","PHIBaEG+jQ9r","PNwB2A","PHw","apQGfR3AK6biDJk","7Ajx","sQ8l","7Ais","7Ail","7Ain","5w6s","tA6H","nQao","lAK2","gwuS","ATUjPLACLRErPitLOrcBLOcF+LMBSogDYg","2wSQ","qRD3","sQHy","sQFq","vgKTkgTToQGHEIIhlgLOBtABfxNaAUcpOwvOUVghrQXJTKVhOJcBkGKEYEgBNAE7AUIBOheBAZTiAZbwATY","2A2s","ygib","+gn0","sgHO","+gmh","+gnE","3wda","OFWBDDTwA+w","qRD3","OIidDECBBMU","qRDM","qRCn","qRAi","qRCp","A5ECjRktEHgNOx1+DMwEKw5fB8cBkgtFC60GQQstEVwdRxOFB3YNRSJxSa8/oQN4E6wGUBNPCzCWAah7iBSdHJh3pA9FEcoGwAZmECoTKgkvLMsscANxBL0JdxBhQDECKCAqBCwMbw0iFiMCmR8pAaYLHkl0CEQQJgElHCociAdPAUcDpAhzAqkRbhwyAiQB9gglBo0MKQqXBlkHigVFAU0GJQF2GzIQqQNJC0MKcSM/AW8BKw6ECoUQiQFtJ0YGdhdkBiABigU0BHQCIQujAzkGOAFxBNwqZg0uE6cCfiMpBW0JHAEiCkciwhJKCWMRKyExlAG1B7U","pAOh","hwyr","hwww","pAPp","pANCASvRBaU","pQN9wAklBJ/UAqM","uQl/B2gCmA","HZGeB9XGAS465Qa82AF+NpeqASY4KgGbvAHKOKwNvc4CRw","HSo","mAEqHKS/BM+/AY+vAUq4AXdytVeIvwKphQJDAUQIRA","pBLg","2wTO","2wTO","2wTC","2wSt","2wSt","2wSt","3wku","rA5u","+QeTrQeUa7c","3QfS","qQLY","GWo","8A3SAckDzQ","8A3SAckDzQ","6hBh","rQxw","6hBh","ngaxnwLSAc8BwewIqw","hAhp+wm4Asg","wwXe","wATtgQqx","wASR","wASf","nQTDzwN+","6hA8","6hA8","+QeTygNMZKv/ApRrvw","nQSh","2Auz","AaNtXSxBsQHJQlSdAa0xU8UCo6UBo+AGfhFoBISYASw","B5IMMwG4HboBojFTC4sOwQ9CDo8BpQibAzsCbATRBewDfw/VSbYFsR2lDHIBaRG1M6UByg6+BbsH0ybgHcwBZwfdAcsgqgbmH9sCogbRAZA3ww2sDbQW2h9qGaQn2m7ZE8UJRxHLDL5ObSG5AZwXiQrcFPBO2A6wA8UF4wJmI6AHqChzCbEd4gy3C4IE1gKrMIwzwm9xHb/OAcFBzCusA74H6xJWAZ8Z2geKCGsFfgNoCV8DXxHLAn8NegZeLM8EoQG0FLwXvAIuDo8VhgG8O+VUtCpWATY","A38BRgRRAeAHyAFPAtgCawWqAyoDUQJMBIgCfAI0A3MBnwJPAZwFtQbFAUQCrwFCD2kBUgJUB7IBdw+lBV0BYgOiAnwBLAHUAX0EbwJdAbYCmAGrBbwBJgGDBtcBngNwA48CnwGsA3UDpAE8BKYDRAKeASwDJwRpBmoCxQJgAXkChwRxA10DbwGSCHADdgbGAW0EyAF2CGENVgGMBXEC0AykCXQQoAbDCHQDpA5qA3kIfwKcBncCogq3DIEBSwWcA50DYAFpCIACqwFGCGcDvAOxCnQCdgWAAysEaQKFBnAGhgGJAssDewNFAikEdQcrC2YEcQJgAUsCvgKhAycEiQNFAXIXqgTLAVYCQQOgB4UCjAZ6B28DLw1ZBjkHegG/BHQEUwOQAWYDhAOvAsEGgQZdCdsFsgfOB2ICagKQAa8BnwRPA5gBoAGrBeMFpALSAc8EZwGkBH0JkQOJAb8BgQh5AVEBoARxAroCXQHXCK4DjAM2FXIGrAE7A5EBNwWQBqUCpBCgBisBxwGiAckBfQNmAnMCawK0AsUGoAanBMIBYQapB3YEsQLOAYoDbgVYBZkBoAOHET4BdQidAmUBywPEAqUEhAGzAp8UTwHcA0QBXwWmA20ChQZmAkICMgGPAmoBlQt1AYABtQO3A8UCRgOiAqMBOwKZAXICzQJtAWQGdwGTAqUBmAKcAjICmQGeAUkEbQKiBCwBbQK0B70CrAZnAaABiAmfCDAKgwGEAXoDggXVBcIBowKYAkwDtQOdBGEDkQJwA3EBmwFkB2YDbAOCBLoJpAY3AlwBXgGjAYYDmAFIAooCQwFWAVMEMwHXAm0EmwLRAawDUQK3B3QBoQJ3BYYBYgRgBqcBdwFxAr0DuQKeBT4IzwFKB1EBswRGAoUBiwpDASICaANVAYIBtgeJAbYEmActAp8DugI2Bq0DbQFHAkEBlAGHBVgDhAG2AW0DngMeAqEBgwJrAW0HpQTKAbgKlQOdBTcSZwRzAS8GkgVzAaMFUAFLAr8BLgJvBKoDTQinAZMBsQVKAloBXgGSAncCZwNmAdQDlgF0AboCKQIvBb0BcwOfBacDkgGlAaEDhgTFC7QFogGeAXQBMgKsASYBaga2BGYBeQEuAVoCpAGvAkICZwa0B+cBrQJ9B4oBbAGNCYYBswKIAckFPgFCAXUC2gJPBEQBgwGIAo4DxQJ5BH8BKwKuAisBRwQvAVYE0QN/AX8DswLJCWICIAIvAYYLiAGhBLcQdwGyAm4HcQErAqQDfgGHAaYBLAI6Bl0CJAHEAloE1wNEAosENQEtAioDtgGVAXICfgO2AXMCHwG0DW8DhwJoASMBegFxAqUBRgKZBGQBrgHGAU8CigHOAnMBnwKbAU0CqAorA0YDygiGAnACXAQhAmEF1QG0AmsBJQHWBZEFhwKaCksDiwHAAsIEaQN0AWoD0QIgApwBUQF+AYsFZAKlAZ4BhwJrAbwBcgEwAWkCPAKnAXcDfALJA3EEogqnA6kBngJpAoYCogFiAsgCNAXAA6UHfQNnAsoCRwTBAXcDbgFxBWsCiAUxAT0GcgG5BYsBggFuAYkBZQKoAdoCKAU8AnUDoQVTAm8BJQIxBJMCbQSjBiIBawIzA3oBYAG8AqIBJwHFBIoCfwWTA4AE2A6dAaMBsQWjA3kIdApIBdoFrQJ+A7EBNwOUBCgG0gKHAScBkwQmB7AIdgSVBZkBoAOxBagIUQ+VAcIDSwG4A7ECTAVMAXADQg2DAtUNOia1CkkDszFpBEkE2gHeD0kHmwXVAlYDNg","E9g","ALICuwGkBa4BTgHzAcACRxBNBHECowVDA2wCSwbuBoMBqCSiCj4FQgVIAacHRg9FC24BjhhDA+QShAE8GEALs1dLBkQKSgZPAXMFpgWZDEoJmwHRGEcYSQG2G7YOujXhBFEumASjB6UzpmBPA3IcUAdJIbgDvQJLJEwwSgRGCGcYqTXQC0cERgP1A0IBSAFIXY0IXRC7Ab0BKAhLBEcNdgtRAawHtAFMBY0RRgXMB0MFRwJxB7ATRgW3B6MBRwNFBDwGpwKrE04QRkRFEFQoqgPCB1MCqwHEFEUBRQFIEckEQwOqCEgESgG8DFEN9QdJA6wTRwPNAUkHtQ5EAcYFSQurA0sF4AHSAccDRwNFCkcD8RuqCk0nTQJRAkkBQwNoBUtDuQWjGeUB8AGMAdUB0AJnCFYBOgaXATwSrAJIAkcMRgWeA00BRQTCBU8JTxRFEJwBrAimI6kNSTN/JEUJ8BZoCUOmAc8","hQ5O","9AI/","9AIk","5gve","5guO","5gvJ","AMUBNQNUA7MBuQGcA1kCUgFLAUkBRQKoAUACVAJxB1IDww6wBkAFggXBCbIBvgS2AXgBqgXxBHEDuwGjAV4F6QfhAdABRQHXAYsBJwLdASUBpwJMAkQDJQGtAa0BXAJeAbgHmgTsAe4DKQHnAW4E9gVBAssBygKYAqEBygGIA8sBTwPsATsBsQKzArMCIwFgA6YBLAh2AUMByAOaCEYFnwHdAogCVQF5Ad4DoQ2jF50BuQhRBnQIPgPeDdYGpwlzAzMCKwEnBKACtg+tATgDTBFxBsYB+QH1AfoB5AdCAXQYsglBAmsE3AZCAp8BUgfMDYoB3QH3AacUqQhVAp4G5gN1AScBOAayDcUBIAiIAuAG7g7LGaAB2QE6Ec4SSATtBrUFowJGBWQTxAShAdkVzgNpBjICSwSeCboHXgajAuECgAJxATgwtQP0Am4JVgHkAfIB4BOuCN4N4xXmCkQIngTwA0UKuAWYC0YN5xCmAc4HLwJ9Fz0DdgQoCTkLqgOeAZkC1wGABEYC3QVIAU4BnAgyAdQhiAHDAmcJ6Qa3B6QIfwRAGW8Kwym4BNQHdQTiD0YH3wSZAa4CzAN3BdcCtAKjAd0E4wNsCEcDRgZACy8BaAppBHoTMgekAasOJgU8AaYDKQFHDEwGJwf1BDUBdQPPAtENPQKeGfABJwWjFIoK8AJHBtEBWgiEBHoBMQN6AV0BYAi/DqIYKwIsBqMGTArFBPYCmQKBAjsCzhRIAngaswSUBKAG0wKEB7gL3xStFSwFJgItAyQWJQFpBWUFjAEoATQCSwqbAssDUAJGB2cCoQzWAa4CIhHRBk4F5QvIB3ADRgEvA0gE3QP4AewDlAm4AT8H0QlrATIC4gOnCUYEPgJYEKkOogHyAasH3AnCAkUCKQEuA2ABpwaXBp0CzQM7Bn0DwAqxAUIBUgFLAZYRoAFrAkkGowHGAfUCRgQ7AUAD3AFaBd4PugfzAZoK7wyOBKESKgKyB/UEyQHGAvURJwX3CKoEnRF1AXYFXAdHCc8mRgdGCkkLQwuzET4MShXkCYgT0wPpCNcD2QbzBc0MWQ","mQvJ","xwt5","8Qjg","8Qiu","3geE","JEIZgAWCKmoKcQu5BGQHOwiTCqQIqQNuC2IKiAMvBUZwcxcxKkUMRiNjAmUWbQluBkogdBVHAW9ELgzQBJ0aNLkBjAwxHEIIOxIkATUGpgQ1Ji8IJB0hBikTRgcnBGkGMhstHmgcqAVbG8YeoRhNFCQLnhYsCUEKLh1KBjALHwLPEzgSUhYzGh0LqxOGAycSOAMuICEHgQZEAUEBmwc4AiwDcwowFUgJjhGhGzYTYgsoLIsEnSVDRy0IOwVIArAVlwOdB2QTQA97BCQHLAcqBIoEsDU5D5EIXAtBFSYQJQalPCoKKwIuB5Q+S2lCBT8","2Auq","xQeF","vgftGu4B0doBiwHZ1Aff","2Qeo2wGq","tAnA1Ae8","mQv4","mQuJ","mQvG","tgrq","qQ5d","qQ5d","tAJ3","mBAsASc","8Qvn","cSoBJQNMBSUBSwQnJIgEHxAsCScUiAN5YTMCKwEnFjgDTBErEnQja0wnHW8xOnFLBDYagAM4pgIyRyWHAjVtMFA7fSyyAWsBMpsBHA","yQ3W","VZE","mBCoAag","2g6K","2g6k","4AmyWkT1BEPmAk4","2QTkAZ493TDOAfABug","xwWu","xwV6AcQ","N31sassDKfMLVpUBSA","tAFxGuXFBeWwCIU","rA6g","N30","EU8uYQNiDEl+RgZEXboioBlKsAHfN9ARSv4Cfw6lXERHK2hOFB9AqU6ZDEU09xKhCT8mjAI2jQFJUz04PIwBRQEiBUAXmhZTL0cMSSXvAUtbyQLdAuk","tRGj","9Asy0QSg","mgTYmQ3K","9gs/","2wvn","gguilQSc","GZ89RUVOEpsSd3SADLhitZ0D7TiguQJFEUIIcZUCezksQrsYhJACnQ","xwt5","2QS7AbQ9vgGzL8IBxAG/AcMBtOELtAG2AbA","4gfG","pQrWAcc","pQqe","swHM","swFy","yQPPAeAB+AG+SMQB9AHBAeUBwAG9AdcBvgG+kw2wAdoB5gGwAbMB3QHmAdsB5gGxAd8Bri/z","yQPAAbkBugG+SL0BvgHBAb0BwAG9AcIBvgG+kw2wAbABrAGwAbMByAGwAawBsAGxAcsBrg","bHUdReoKbLICPwlIBnQ","e0w","kAuk","CfE","/g7a","5wFM7walPq2fA5f+AaSOAag","tQKl8AJa0gejuQFH","swwo","2g73CPU","AVAGSwWzDKgKrwdncUoWQBJlFTlkUASsA9AaSQFEEWwtpgZUHJQaaAhiAdwcZwnQIdc12BJPAWAf0jKjwAHMQKIUng2nDqUMcR2KD69rPxPKKKMKIRCeF7IOXirNBaARzQuqGowobDOjAzAjbFGhoQE8MjgpphZaIqEESwadAaYenxu/DpyHAcNVQifE","pAlU","2AF/4AKpI0ueAU5vcrwCVAVSRkbTAkjBAT7mAksBiA","B0sVxgFNAnABUQFxFlYsQwlFAl0RJwpoEXoIpwFFCJMDdAtIA0AGZQKaAlUGiQecB0gNTFM+AT8B0gFcAkYRTgOiAbACRgNlAUgHajpQAUwKJgFpF68KPQbRCT4POgJGAkgRQAFFLs0OqQZ9BkEeqAs+BEsTkh07HkEEWDZJIU8PPz+ZBk4KhAg/A0cpegiYDE0Qdg9hDacOSApKApghpAJKFz8FlAXAN4kQPwmZA1YHrQwtCEcRsAFGB0gDtAJCBkEEQgayDUISbAVDB00CdwinHEgBnQacF3ABxxJ/A50azAmWBnUBpgxVAacNZglnBpMBQgajA6wBmw6eAaUVyARGBrUjuBNDClgJRAKhAkgNbQ99Hb0BaRZEMakHRCGECJ0BqQk5AUEQSQKvFaQDQxRNATUHlw5PF0UPrgdMAU8YQQtECWsImwmoBEEBRwmtCm8CaDhNGkIKjQRFBU4KagHGWEc","6gNI","IUg","9ATAAcIB4wHB","yQbi","uwus","CcM","Cbs","CVQ","wQv7","nQT4","nQRR","wQsy","1gms","2Avv","2Atl","jwz1","jwx4","jwyj","jwxW","jwxM","jwyj","+A+x","vgh9","vgh9","ygj3WPGgAtffAmw","ogml","ognV","ygjw","ygjp+ALS","wgtm","aUoyQhFoCD+TApsRR2lNcU3sAUqHAUa2AVRK5V1KDj5PSbQCWg","FMFb6UWp2gFnA4DIAXoByRDVD6MC9BzuMt8BzqsC8gHcAdUy+yLnuAH4AvEDxDPCAuoWyQH1H+ci5KYBQi/oCPnIAs0OsaYB7gHTAq4D3mryEOgXzw","4w1f","YFD2DSqOAkciSm9IKUY","zA0i","YFD2CiahBKW0ATtzRg","2RB/","Sk4RTs0IKNgIRhdI","wgchlwmp","7gRfqQKbQCgdfuQGfZ0CUAhJWUkWRhBdIkY","2RB/","+wMg","9Ad++QGLlgInngIfugJH","zA0i","zA0i","9Ad+tQORWie6ASKbAaKGAkcERwpLNUcvPQE+","ajWtBjkHNNMBnZsCj0omZiLlAR/WAkwPShpLCDwzUBxDBV0KRBlK","2RCp","+wMg","2QEqmwZ+ugQvClSsBEcISyFME0sBRyRCDlIaRBVJ","mAGr","Sk6kBF//Ayo7KLAFSp0CUBhMKj8aPkZI","+wMg","zA0i","zA0i","qQuRLSaCA306MtoBSzBGCUQHRBlC","zgt3","+wMg","vAwi","/wgqzQQi","Wj76CDLRAi+gAiqyASYUKnpNCEwrQ0VF","mAGg4wIg","6woo","mAGr","vhAn","pwFitwEuuQR3tQYi+QIzQUoGSxRLMT4FSR1ID0kNTAdOCEY","wgch","swE2owom5wEimwF9yAJLHjlKSRZG","gwwn","rQ2D","6woo","+wMg","6woo","6woo","KoAgTmk24wVZqQGRZjSxAia1BCpoQBpMF0IgnlpG","yQsl","+wMg","UaLGBjmAAx6mAyKIAzMaS0VCL1IfTDFW","vQwm","rQ2D","+wMgsgmD","rQ2D","gwwnqgGD","6woo","1Aky6QMiugKldUsSRQdNQEIBSC1IJEg","Sk7bCDSzBb60AkthRCpI","swE2owpCmwVBFzwcQho5Aj0TUg","sAyE","vQSKMV+6BCjRBTXDAb4wSwdAJkgLQiFCCz0FTCtGB00ITA","twFkrAY6+AhHAkoOSApQGEwhNz5GEUU","ywsxmAJfZz4","1gsmywIfBGDoAkwxORRQET8","vQwm","sAyE","UddmZNoMJasCvh9HI0UgUANHRUkHRAlI","7gSnzAWC5wZHTEQKQw","sAyE","UcicCCr3B0c8S1xdG0gISg","sAyE","sAyE","UcicCCqQBUffAksPSAxMGkYLRglERkI","sAyE","vhAn","sAyE","UcisDRm/AmNGOQtMAUETRx89KEoOSA","9xDR","wgch4wE0qAEkiwR9ITWOAacBq1NHB0cjTSM8S0gSRA","twFk7gc0uQdHH0lJSBBJFkYGTA","vQwm","9xDR","4wc6rgYlqwJjYEYESwFHA0J7SgFQ","eywbX88LJfoDSzs9AkY1PhRGKkw","gAlw1gIm5gSuT0gjNws4","7ggoESrGBSqWAkdPQwhG","3gKR3wGKMbzdBjFjL68ESgVHBUAcRghIA0EORjU+EEEnSQ","pwFipAox8QRjPkQIOR9HBEQBQwg3CkMGOQFOB0gISgI9MUc","/wgq","lwoenQdKIUwnXQRG","ugqC","4wc6jAk8CEwXQQZQAUMFPQtEC0YHPyw/EEg","gwwn","7gS83wUkowEmiASfc0hAO0xDD0QISQ","+wMgxwMhiQQxdzSpBEgGQQ1FeEgDPwZJEEw","gwwn","vQwm","vQwm","1AkyQx60ATGYBUYUTANEPkMKPjBMC0UaSA","ugqC","5weRkQifc0gPRAtNBkg6Qgs9CFAQSgJEAUIVRg","vQwm","2BDDIkQUQRZCBDwQQwJEK0YRSCBO","hwIvjwVZjwI00wREgQE1kgJICEAsTgE9FExCTg","pwFimws0IyWYARn5AkltPyxM","kxC0","1Aky9wExtAMoeKV8QDREDEYgUg","pwFirwomhwVKJTkMQRdEB0QCN0s/D0k","pwFitQ9LGkmBAUMoSg","pQk0pgIxnQMr9gFHJ00ZUE5GFkk","hwIvpg4oLkcQSAVEQ0YMTjdIEEQJTAVG","kwG2","ugqC","kwG2","pwFiBG7DA1//AyqmCEABUAlIGj8XSjJG","pwGNtwEuiQ5ACDwURi1GED0YUA1GBUQDRAZI","ugqC","vQwm","vQwm","tQQ7uAQqEio","lgFf5A9EFEEGUAY9HT8COAFEFj0TPxY/","qAl3owIxogVACUkmRglEFUQeUAo8","qwFfsw9HK0cFQVxEG0Q","qwFflwmWowIlrwRQGjcCRgpEBj0HpiNEDUM","mg8zqwGC","mg8z","xRCC","oQEs","aliKEEACSQREKkIEPEpMFEQ","lwoeVIiNA0SaATLLAUoGRghIC0ldUg","qwFflwYh3wZ91gJMQ0QMSAxQFEkCSh5E","7AYkwQYr","2AE+7QovoQIt","kgsp","kgsp","ngwo","ajVBX8oPUBRHEEgePwNELkoXSRdOClA","/Ako","ngwo","rQ0r","wwYu","kwFpQzztBC4","pA8y","ngwo","2AE+qwonG0Y","pAoxgAUyoQGx","ajXYCZaDBjNJQThIJEQKQgJIDEkBTgVJDk4JSg","2gEoyggx","2AGzygE4","3wcf","2gEo8QwyTDI","2gEorQowpQMz","xRBF","pAoxpwQy","yw4y","pAox","pwGNxgcq6QIm7wQzKjwPRQQ5EUAhSgtOK0QbRAFE","pAoxSijdAzI","ww4v","7AYk","yw4y","ogM4pws7YzOZAcc","2gY76wmC","7gQp","7gQpjQgt6wEtMYI","2gY7lAQoygMl","rgwvnAI+rQEm","6gSirQI56AEqJjSxAiaiBUcENz04Kj8IQgdMC0UYTgpK","hwwwsQIl","gwwnqQMz","yw4yGy0+Mg","3wcfjwNG2wM7","ogM48Acp","7goovwIriwElLi0","2gY7","yw4yGy0","6wSi7AIozgFX2AQZ4gJLEDwuSCJOD0ofRCFJ","kwFpQCXlDCU","mQoj","7goo","2AE+6wQu6Qgz","wwYuowgt","0wEl","2AE+zA0y","sBFGCEMgUBpMAkIJRQJJ","7AYkrQMj","wwYuqwQo","0wElkw0t","2gEolAko","pA8y","qwwmoAIy","0wElByiUCSg","qwwm","wgw0gwIqngJGJkc","kgsppgMlETs","hwwwnQMy","ogM4+Asz","0wElxggj","rA8z","rQ0r","qwwm","qwFuoQwilgNHAUYEQAlEAUEqSSU9B0kHSg","0wEl","kwG2","7goo","hwwwxAIy","0wEl2Q0z","rQ0riwEl","0wEl","lgdZwAQm9gEinAErrAJQClAVRgQ/Qj8HRg","+wwt","lw8y","xRCC","2gEo","yw4y","7gQptgoy","7gQp7AE73gcl","lwelvQIytwGZlgNFywJLRkYvQQtGF04DRA","yw4y","7gQp","yw4y","5g4t","xRCC","uA4lEzI","+wwtsQIz","xQ4qmAJKAUcrRwxDF0QcPho8IEkTTg","yQ47","2gEooggo","e3k","3wcf7AYy","mQojpAImcCs","kgsplQOD","7AYk","qwFuswEuwwt90wJABEdaUAFSMkQQTg","7gQptgoy","1gE87w6C","e3k","1gE8","+Q8n","7gQpqwUj","lwel8QirzQFMB0kaSA9EEU4KUA","lw+C","/Ako6gQt","+Q8n","yw4y","2gY7vQjO","ogM49wYjrAIvaCv3ATI","yg4+","4xBGFUcKORtIF0oTSRw/Mk4","ww4v","mQoj","vQwm","lgdZkgIoLDKIB0sBSgpABUsLTAdFE0YdNwJGCTgXPQxJI0kDSQ","ww4v","xQwv0gK9","2gY7vwMjqgQv","2gEo","pA8y","6wSilQRw1gImywJWJCq0AkQtQwRDKFAKSQc/B0QdTQ","pA8y","xQwv","rQ0r","lw+C","5g4t","qwFflwYh4wQvoAIqNDXuAUANQAVEEEcQSAE9PlAESQ","yQ47","rQ0r","rQ0r","7AYkwQYrmAOx","rQ0r","2gEo0wsrnAE7","qwFfvAbBhgEq1QM0lgJ92AJGBz8qQRg/D0k","rQ0r","xRBF","pwFiBF/CByqDAyb9BEAGQBZHJEkbPhRJKkQBTQ","xQwv","xRCn","1gE8","7AYk","vAwi","vAwi","1gE8","lw+l","gwwn","vAwi","8AsmdSX+A0ZcTghJHsEeThxK","ngwo","vAwi","yQ47","ogM4","hwwwnQMy","vAwi","/wgq","oQF2","pQk0/AQf1QJJBUIPRgpQAzpORgZCFEkEThJO","1g4qTjI","mQojlAMr","vAwi","vAwi","qAkoXIrsAVf/BDx8Qg","rQ0r","rQ0r6gEy","mQoj","2gY7","pQlXoAUqswJHJUgTRhdJTk4","oQEs","mQoj","kgspmwIr","ogM4","uwFzkAox","/wgq2QR7oQE1iwI7L0YGOEhHAk4","rQ0r","2gY7","7gQp","oQEsjAwr","rQ0r6gGC","6gSi2wkqgAIzL0AOOQhGPj43SQ","lw+C","yQ47","rQ0r","2gY7","aljuDHvtAjNbtwVEAzxVRRZJ","2gY7vwMjgQUz","vAwi","1gE8","ww4v","xQwv","6woo","5wfQwgORRyZ1JcABYO8BfVxEbEkySQ","6woo","mg8z","oQEs","lw+C","6woo","mQoj","3BBLPUgNQyI+Bko7RgVJBkY","xQwv3wIy","oQEs","wgch","xwkznAdGDDwrPQa3E0YUSQ","pA8y","mQoj","oQEs","1gsmpQVCLTwVPg","mQoj","mg8z","mQoj","1wcoqwGU7gJpiQVEEEc/PhVMIkk","+wwt","yQ47UTM","yQ47","mg8z","+wwt","5Qwl8wF9owJCYkwoRA","wwYu","+wwt","mg8z","oQEs","mg8z","hAqKEx6KBB83ffMCRQ","pA8y","1gE87AUh3AQo","pA9U","yQ47WzI","uA82","ggmURTOmB0ACPAVABEcuQwlJK0kCSQ","Wmw","ixCj","Wmw","wwYu","+Q8n","3hBHJUYoOxxJJEI","WmxHLA","7AYk","Wmw","7AYk","3gKGywiRvwMr+QGtD0QJRBhGIUYDRSNQAkkxRw","+wwt","oQEs","3gKRuQcejgSvzwJAZkktTRlQ","oQEsywUkjwYt","ixAq","1AkyowYmiwE5CEYVvxBJDj4VUANMCExDUA","oQEs8Qkp","ixAq","1AkynAImhwQmZkotRj4+Gjw","+wwt","oQEs","7QY1wApJVUk","1gE8","oQEs","3gKRmww14wFLA0sZRwFELkQWPkRH","qwwm","wwYu","qwwm","qAQv","qARP","oQEs","kgsp","wgch0gWa2QNADEQ7Sg","7AYk","qAQv","ww4v","7Qgq1QGWWaDKASWIBEAXOzU4EkU+Rg","oQEs","gwwn","wwYugAgv","ww4v","wwYu","0wpaAbU","7hDJAbQ","gwrk","qQjg","8gzj","lQtx","8gxG","8gzp","3hHl","9wda","FCg","uwxC","9gdX","uwqh","qQjn","qQjo","1ArB","lQvI","lQug","qQih","8wra","2gStb9M","9BDe","FOcnOwx6HDoM5kWaXsHYAtUBv+sB4H2KIu4C5DL4ItYoviOFbeBQ9QHzH/Ui6aYBny/3COHIAtukAvIQ6hf1","tQQ7lQo++AEw","lgFf0Q9ATEYBSgk+V0Y","yQsl","wwYu","1gtCjwVMD0BmSQ","oQEsvgYf","gwwn","e0zbCiaiBUcBRAM3I78TRihJB0EmTQxJ","0wFA","pQ6vyAJAKz1rTg","oQEs","qBE8I0UaRg","7AYk","0wEl","7AYk","0wEl","8xBA","oQEs","wgch","xRAzD79FSA1DFz4KSUFJ","kgsp","oQEs","7QY16QQmGiZ1JYwEQRlGPj47ThBJ","oQEs","ww4v","5Qxd","xwkzjwImcnmoBEQTRilELFAwSQ","kwE3","lgFf3Q9AN0MDSQw4","mg9V","e1zjAS62Cpo4IogDjxxELUgNQwVJZEk","rA8z","7AYk","mg9V","pwFi7Qua","+Q8n","0wEl","+A2h3AKPGUAUPBRDRUk","hwFj","hwFj","7QY11QU0tgGh7wJAP0NtSQ","0wEl","2gEo","mg8zEjM","3gKR9g2PEUwWkAk7OT4ORUhJ","qwuZoQIiyARG","hwFj","hwFj","7QY1esG0A3g7Jg","1wcolgEqtAUfN338AY82Rg","rA8z","qwFfnAgzDTLHAXjiBUlORTZH","7Qgq7gfMJjxcTAU8BEkhTQ","7ggo","rA8z","2gEo0g0z","lwebkQIoowIx7QM2","ixAqSb8LS4IBQQ","+wMgxwg0gwQzKEA","rA9W","rA8z","rA9W","gwwn","6A4r/QFMDEEQPCxJED5XRg","/wgq","lgFfzw9MHkYsSQ","7ggo","rA8z","rA8z","qAQvigeu2AVGEkYTSQ","gwwn","5weRqglGfE8","2gEo","5RBMgQFJ","ogem+QNqhgMfzwJENkMJSQ","2gEo","2QEq/gUo7gUrkwF9hgJHE0ETO1FMH0IVRg","whE+","lQdUAjnoASqvAy8","1Aky1wGZ1gU8GEhETBdCFUYDRw","lgFC9gmP6AZCGEcBTw","2gEo","qAkogwKZoQZHFUEsTw","+Q8n","vAwi","e1wbfKwLNMkDKg","vAwi","1wco1AOZgAY7YUc","9Ad+sglDD0U","kgsp","2gEo","3gIu5w0zIEyPAUI","vAwi","e7icCR7BBH3aAkYDRRZF","ww4v","3xBLJEaKAU8","ogk2","2gEo","vAwi","ww4v","3wcf","2QEqsgmZ9gU8GEg","2gEo","ixAq","2gEo","lwc5BzSDBx8","1Qp08AUzUjo9TA","0wElByg","1gtXGiboAn3SAkM","nw2W","e6CICI1EM7oHPDRF","2gEo","0wEl","5Qwl","e7g","0wEl","kgsp","6wpJ7QN93QJF","ixAq","gwwn","e6A9myEqmwZ+vwOQyAWQUUcoQg","e1yaDaGmA0hRRw","ixAq","/BA3fEg","gwwn","9Ad+","jRJP","lwe7vQIyxQMvnwI2zgGz","qAQvmgg0vwQ8JkQ","gwwnjgVG","mwu0LiW4BTwXPRRENjw","gwxDPzSLBUgSYy5P","vQ2YvAIn","pQwvhwVEHj8","ixAq","vQ2Y","3gIuygEv","5Qwl","wgw0eyKpBEknTw","1QpCwAOr0QNJ","7QY1NabLAotoQg","5QxK","gwmN0wImwQU6FDseRw","mxFJRzwWSAlH","vAwi","xwkzjgEo4AZFFEc","gwwn","1gtCtAZI","2QEqhQEuoQYqtAKQiQEi3wIw6QE7iAFH","+wMggQ03","5Qwl","vQ0i/gNIPUg","lgFf2AiVZ3S2B0c","7gmVyAG5wQQm","qwFfrQ192gJGWkc","pAox","uAQt4Qgv5wE4","qwFfK8D+BzLZBiiOAUg9SA","wgch","qwFf0AIgzAUzqQIm","1gHAuw/UBz0","qwFfqRBMCUw","5Qwl","lxE6Kz4bTA","+Q8n","1gHAAyrSDzthRw","1gHA4Am5","3wcf","lgFf7QonugEiiAMzhwFHLEg","zA0i","0wEl7wUh","1gsm9gEiogNBXD8","0wEl","1wcozgE0pgIx","xRAzKUE8QyNIK0g","wgch","1gHA0AFEggYoyAImqwMw","0wEl","5Qwl","/Q1k","6wqkhQEmhwRCjQE7DUYBh0ed","hhCjdjd8SA","lgFfkgMvnwUz9QIi","twFknQgy1wImlwU+","yQsl","apTfCo4NJrUEow","twFk","ngxl","uAQt3wJXBzTPASreAjFjL5wCPjY4Q39pJxYwXFA","pgN8","qAko","xRAz","1gsmmAVBVUAHPw","wgch","xRAzfEQeYyxH","mw8w","kgsp","+Q8n","pgN8pw5I","8AtCpwU6GkQYRw","pgN81wpk","ngwo","lgFfrw8z","Ozs","tAFi","gwqy","0wqpAdw","8gzS","8wrGkgfa","9QfX","9QfO","FGs","qQjR","9Qe/","3hHH","qQjV","lQt0","lQu7","1gbg","3hHg","qQih","ajWrBjJCKHAmuQY4","zA0igARHE2M","yQuojQN2qwNH","1gHFlwU1yQSVjwIr0wM9","kgsp","qwwmwwRBJ0MWOw","8AtC","lRLM","1gHF7AUhzwlGc0s","1gGG5waQigEzggKo","1gGG0AF8owgl+gVA","xwgmuQY4EjI","1gHF5goi8QMo","1gGG7A8+PD8","yhE/","wgch","7hBBZkwFnTFI","3wcf","mw8wXEI","ngwo","+Q8n","wxFAOz8","apSGC1c","nRFIFEQZPw","tQQ7uAI1KldVMlsm0gQv+QEy1AFhILM","2QEq","2RHQ","hBJL","kgsp","yhE/","0wEl","0wEl","zA0i7wNIT0g","8Asm/gRBDjdHQA","pQwv","5Qwl","zA0i9QNE","8AsmlAZL","tguVngZMKj8","wAgvBybOAjc2MYECIpwBKw","qAQv0Qgm4AS9","qAQv","1AkyxAc9","swGgkBBAQUs","wgch","2QEqlQ9B","nQiDjgQmhgVE","qwwmhgVE","xQ0rvwRL","2QEq","REFnXw","ajVJa4UDLbUCNdMBLwcm5wMv5AIymgEnOmE","nRFI","qwFfhhBE","e1ywCyapBUw","qwFf","+wMg2QUy9gc/","2QEq","pQwv8wQ9c0c","qwFf4A5YpgFE","+wMg/AtC","wAgvByZNN9cBXqcEMg","qwFf","qwFu","wxFA","qwFfngrGuwZL","REHtEERTSw","qAkogwMm","REHHEUc","/BA3","qwFf","tQQ7kgQmgwY+SDI","REE","nw0t","qAkoR6w","uAGboRCd","REE3XKAQSSlQOj8","pxFEY0g","qAkomQhE","REHiAnzZBSo","ywsxtQM4dyb6AWg","yAx58wRIQz8aQg","REHhCy+CBUQ","+Qwm","qAkomwhA","REGAEVA","yQsl","tQQ76QI0qQEmuQY41gJJOEk","1Aky","4Ae+yAEo0QMm","4Ad/lwhCzQFQ","3wcf","lwoe6gdH","ngc0igIonQQruQQ/","mw8w","hAqK","5AJq4wYz/QdQVEI","mQ0vqQMwHUs","5AKnswcerQdQK9A","1Aky","ngwo","ngwo","xQ0r","xwkz","ngwo","4Ad/5AlQ","ngwo","mBJC","qwwm","rAuX","rgwv","pwGiDKzmCy/5ATKaAScwS5ABRgVo","1Qp08wF5","/hE/","mBJC","yQsl/AEr6AIo","lRFD","qAQv9wy/eUI","ngwo","vBFA","7ggo","7ggo","yAx5hAEieSo","xQ4q","swFrBEAErtwFm1UyVC8HJs4CNzlF6gM2qgFHAkdySRBJKEk","5AJq","ngc0+Qk6","7ggo","1Qoo","7ggo","1QooxgQw","lgFC4Q5C","1QqkV5e8AaI","zQok+AMq","ngc0+QIe2AfQKUI","3wcf","qAQv7QY3QSbwBUgPTAFJP04","ww9a","ww9a+QFA","1Qp0","nxG/","ixJH","xQ0r","bGo","1AkyxAhC","twFAxAIgPS3zBpmYBGmCATMfRxJJ","5AJq2gWFtwGJsAIvlwVA","mxFJ","vQ0iiAFJ","bKw","iRLS","lgFC","iRLS","7AcyvwOZjQQ2pAFL","1AkykwOcrgRD","lxE6","+wMgjQ08NEA","ixAq","9w9CygFE","bGo","uwG4hwYhqwEqJzfCAkLWBCcZMx1HcFATRiZH","5AJq","5gyVAqI","xQ4q9wJA","+wMg","ww9a","vAwi","mw8w","vAwi","7QY1KjmKBx/fAlUGSpABTg","gwwnhQU8","yQsl","6woojgIm","vBFA","xQ4q","lgFf","lwd3sAEmOXCVAjetATQ7OMYCaQ","lgFftgwi","4w2W","zA0i","ixAq","uwFz3AU5/gM3owQ2PyZLMKsBRA","mw8w","gwwnyQEiqwJC","sAyEkwNP","owWhmQxA","zA0i","ww9axQE8","owWh","yQtAfoY","qAQvrwMoDDrfCDCHAUcESA","eqDJDlo","sAyE","eqDsAqG9AaGCBy8ihvwCTw","owWh","1Aky","1Aky8QMr","vhHR","1Aky2gIv0gI45wFACkENRQQ5AjsCSkNHQEY","1AkyeSQ","iBE8","gwwn","/wgq","wgch","6wqI","ajWDBjUqObACM+UGJ1pKPD43Pw","iBE8","9w9C","zQok","5gyVkQMm","3gIuuQSJtAQxCyaSAyujASpwQghGKkklUA","ww9axQE8","nAwr","wRFE","mxFJ","5gNw","aqHhCjElJqkBL+IDQhhAgQFG","xQ4q","9w8m","xQ4q","5gNwsQSnrgYq","xQ4q","vAwi","YUCNCCjdAjGLAyojNcwBrS5AJDoVRCFIU1A","yQsl","mgp6","mgp6","tQQ7ywRwVDLBATc2MeEEJ1RVNEoHSBNKPEg","hwww","hwww","hwxR","pQwv","bEKpCjf/BkY","5gNw","nAwr","5gNw","5gNw","aqGGCZXeAYwiJvMBTpYBNckBMFY9MUcfSjhQ","yAx5","7wxn","6wp9","bEK8Ay+jBzH3BDAgRylIK3ALRAxIFTw","mgp6","mgp6O3Q","hwww","hwww","ywsx4QQnFjBRQCNw","8AmV","9w8mYqk","8AmVZXSiBSY","xQ0r","lwc5qQEviQMlJybOAixCODg2","0wIn4gE75QUolAc3XEg","zQok","nAwr","zQok","zQok","2RB/","zQok","yQtA","zQok","mgql","swE2yAIg3AMojAZffJqaAz8RSBlW","mgp6","zQok","2RCp","zA0i","5AJq","qQuR","qQuR","3gIunQEg8AYo6wMqKjisASdfSA89","5AJq","3wcf","pQlXsAEomwEmUjSdAprPAjdgSQ","5AJq","3wcf","5AJq","9w8m","9w8m","bC33BjqxATe6AozvAT2ZASpiNsgBVQ","5AJq6Qck","9w8m","9w8m","6wp9","bC2rBpsrIdMDN5ABL9gBN1kqowM/","twFk","9w9C","twFArwgrkQZf","qAQvowcxbVTFATdZKrUBKiEnXDwucFNG","pgN8","3wcf","twFA","zQok","+wMgOjuWBzFjL4oDNooBMGhDDHBGXQ","9w9f","YUC9EFBDQQNlJUY","lAk3","lAk3hAXK","nAwr","/wgq","5gkr","mxFJ","rgwv5QRAA8YgcC5lEUgmQg","wgch","mA7KLSo","YUC0Cjf2BCqIAUA","xQ4q","3wcf","7ggo","7ghG","xQ4q","3wcf","gwwn","3wcf","YUBSNgg/xQ9VOEMjUAllBWQ","xQ4q","3wcf","twFk4Axy","3wcf","KoCRAT/cBaYHNFZ+zggwU0MhcG1W","lw6c","xwyG","5gkrsQSc","nAwr","lw5y","YUAET7AKN4QCL70BKpACYRlnHEkxRxTGCEozQg","gwwn","vhAn","rRAo","XFQEUFcsrAY68gIo2QEvywI1ggJCLTwkRw","5gkr","rRAo","XFQJT1Is3Qc3gwEevwQq1gEnU2dyaA","xQ4q","zA9Q","YUBWLL0GfskFIoEEORM+","xQ4q","xQ4q","5gkr","YUCTB36PBEI5IoEBIu8CJzphFjc","xQ4q","W05+KqICINwDKBUyCH6gAVpAMukDIpkBKpwCTG7GE0gCSCZC","kxDC","kxDE","kxBv","7gRfqQLI1gEq0AQi8AIoFTAwTA1nAVVbUAllEUgmQghW","kxBv","rwqd","+wMg","+wMg","lwc59Agq","4wc6nAlnGz1dQyRC","zA0i","nw0t","wAgvZVdIi9UGMD1namQ","zA0i","nw0t","lAk3","zA0i","rRAo","lAla6QdJZ2UFZA","4w2C","Sk7bCFf0Ay+pAzA7SSFQPVARRgVoBEg","4w2C","qwwm","zA9e","qwxC","ywsx8QSaOVAJRUdCH2UNaAtd","uwE/nAYo/QEy7gYwa0lEaDJW","lgFfrAYh","lgG52QuF","W06eDjXtAWEPUAhJpgFW","vhAn","7wyF","zA0i","XFRbfokHL4sDMYsDKjwyswEzH0cCYQxMDlUMS1TGC0IKSCJIBEI","XFQJT4wInZsISzI5Aj0bUEBC","/wgq","gwwn","XFTxCSTwAiK6AiZ7TBNNFT1mRg","zA9e","7wyF","whAw","KqoxTgpPcCqCBiisBCe2AiG+ASZ7TAVMCGdSPj5M","xQ5J","zA0i","Sk6DCiT1BTADM6MBSgFkDEgHXQ","Sk6PASqFAS6QBijfASQeKJUGVSdEKT0ZZA","/Ako","ZU/DAy/9BDSdAzSmAiuKAkw1RAxGIkwoRQ","wgch","W04FULcGyF1+owIelAc7GkIuSA","/Ako","4w2G","Sk4WUAVP2wcvlwFMhAdHCkwnS0hMB1BIVg","zA0i","/Ako","4w2G","ZU9SQLYHKoMDJtUEM21GBkMGORVSCFAOZA","wgch","YFCNCCpaM/YDIrwBNX4mbUcRUBdLLTgJPjVD","W04FUPcGKJkEJhMnjwMy+gFLElACSw","W06oCyeCBU1RSRxMLEY","2gND7QKlwwRATUIC94wCsNcBYJgBRg","RH9G6AEzAqtQxQHEFyT+AcUBswG0AbYBswGzAa49KXw2Ab8fbMMBMgt9SoICbLwBKCRNRocG1yI1V3cDL4oBKE0rBTkLLRklBj8INIkBlAwkLy1OKQKbwQGrAbQBo6sBnw","jwEppgEyHKBMPZcBsvMBqaMBoOQBL4wBNSlQN6XWAU5LI3CUPG1jJGa5","f+buBfA","mQGmAXoipJUBmFFIKKsTldsBbTy1DZEbiCibYJ8eSSNmL9QHYmBPGEsoswymCUABfI8BrDtqjgKwRGFeuz5HCKlFjUm+CKoJUAK5FEkd00ywMaoprg","JuuDClPQAUsOMAsqhAIooAGwjQFg","nxCw","2Qv3","2QtL","fZxpSOEBQT+usAKyfIGPAWGLAalNmqcBmwyhQ8QSKReTBiAXoswBbCCejQGHA3lbo4IBrA","2AGI","tQGM","sQfN","sQeF","sQdF","ALIGXgbUBFEIcQShAi0CPQJsFogBPg1pEKYILwFiDawCrgVKArIUJwmWBnUDQgQuFaQDdQIsIJ4cYSEsDIEBogxNDFsKjwxgCbQEhgOXEkQJgBuHA2sDoQWgAqECYyyxBWgHmw90FpczgBFEEcwQNQa4CJ8DlAafBXUlgwWSBrEIcQMvBIY1fAFiCcwbMDugApcHnBqVG5YdmwKVD0MIOgNGI6USLQvfC8sGVQSlI3IfbwuxGXUBqRBCB6QHUhXGAsYMLAQyBiECIgVHB5oKjwt8AqEKQQQrAZsJmQN1FXUBrAOTHiQFnAxkDj0BdhieA5wLYANrA20JRgGaBawasAG+BSUHlyRcC3UEoAq1D7ADqQKeCUgDxgFDDDQFaAJQAkcplQJqDWQDOA0vBDUGRAJNBPUBKAKXAZ8gLQhmBm8JQQ4tBoQEkRCfBagOIAZqA8YCJhEhDSEFnw1zCXMDpQdoAmIPZgaEBFACbwKsAWIDMQE5DyYJMwWyCLACcgJ0AZ4BcAKCBDEBlwVtAb8QngJGHusNkBgsFSMCkgGbBCcEuQRxBmwEJAU7DpwERyJJLXIUPw2eC0kBPQvIIdc","mg3y","mg0/","nwFBtgXp","vwxG","2xCs","AZgBVAGyAkICQgFAAVQCRQe7A2cFfAhQAbMBQgSpDkAMSgJ/AVgBxQGMAbsBVgpmA7oBvgN3ArsDrALDAVQGawGlBJQFrQSVAZcCiARlAjoGggJjBKYEuwNQAVcBowGRAV8BxASwB4QBagFKAV4GNwTEAlABrwOEAzwEQAN2AzMBpAHKD6kCsQVtBaMO3QJxCo0GagJLBFgH0QadAa0EqASlFE0JiAdGAZUBfQKxBYUIegE9BaUHrQGZAaIERwGXAbQPZwhBBJYYpA6PAa0BiQE+AnAVrgLABbEJnQ58BFoFdBpyAcsbRgq2AcIOOwNRBnQFTQM8CdENuwJtAcgCSgXFAUYHnhXAIX0Edw6SCXIGwANLCNIeXgOyCaQPyRtvBskLrwbNB0wPrhZfBJgCVQWDBJwWuAHOBboKXwFUB5YCUAprAY8EQgpNAiEC0gRdAbADfwSeAb0FmwG3AashSA5HB3MT4wRGAr8MgxOzA04IIAZ2Al4ITQWlBqsBXAHQA8UCdgKjB1gCtQFLAmUGwRJwDKUBpwJDAZUBxgROBnIDZQFoEMoCRgJkC0cDpwGmBIoDvQTiE4sBXwimC9ABxgNNCSgCpwjQCJ0DJx2iBkMESwgsBksESQOdDrsBpghSA6oCZwFxAqgERwHNAp8BbwNCBG0BcwhEA1ACoQ6FAbkFqwKiAYcCRwyHAWIDawGnAZEDxQOlAUsPrQebAYgB0AJAAbMFzgonAa4CJAisASUSdQizBp8JdwR1AbcBgQFKAbQFTQKlAWENTQ22Ao4BsgitAaoBSASqAboCeQN4AkkDQgFeCakJKgOfAsMGcwJVBXUCPwcxAboEKgGbAnEHvgLNAVoDxwJRCKcDnQeIA0YNrAFYAVAGaxBGAl0BQAKVBzUFaANQAmIDVQEkAtILRweUA8gDIQMgAiYPgiI+CaoLRQJyAWICnQOvAUcBOwJGAUcD0ANIAXcCPgduA0EQ5wHtCHQCbwKvAcsDkwy3AqUCRgFHAdMCaAabAaQHoxHKBlMLxAGOBz4NTAGMCK0ClAawBHQCnARQAUECrAk5AnYFUQG1AXUOSAiwBaABVg/hSZ0j6RSsAtc","qw/CAcM","qw/dAd0","wgEz","CKADjBBKAioESAlhAT4ERAvRGLEEMwliB0UCpBegAloIoQJtJJ8GKRGmC74cnQfEB9BYdwxXBWkFzxytB2UFaQJhDWADrASJAUkPUQGXCjYMpAvJBU0uQQ2rPiUGMAKoAWQhOAPMCMwZSATMB4kBkR22JaNIyhjAEcwBdgeYFzkQUAt/D80nLhAuAZ4FiwtFEpEh3QVSKMkCSxcoEGQHVQilB60WSQfJBzEhoAstFXwBrAFiAX8BMgJtEp4HPAEjCngGoxBAAs4MWQMzA2cFnBKlFWwJewGSAogPLxWLAsYdeQZFAy4BvQWeDzUCoQqvCMcKMgFjASQCUQ4sCbgGcQZDCMMLIAEvBYAivQzYD80CeQVyApgLPA00CowBXAJLAyMLxAgrBo0NexVFCCUMrAO6A70CvwPKBkUEkAR0AWoBXgRaBJkCwwalAy8HcwObB0sEgQGaEGkDSgRCBpIGKxyYEowCbhDMA74KywQmBWYJSQU5Am0NvxwmFcYFrBUqAqEHpgRxA60ITgY4C8Mucjw4","FqUHKgJwKJtAPjAsKD6nAaQgn5MCeo4BPuUCSxalMp8hsIkBeAiwJpDoAapJboUBOTvPJaw","wgml","oA4g","AuEBogXGB74D8QtqBYMGpQOjA24C6AlUAoIK1QFKAp0X0QN8AZUF0gOBAXUB3AG2AV0DfgG9B3wBigLZB6wDYwKsA7QC2gOqAsgBoAShCtcJwgGiAdQEzge+CJMBtgGEAd0DbAGYAZQPOQGrAkgBpQLFCekCxgezBdIGRQRaCUYb9ALhDdIDawHnAWsKUA99BE8CoAJwC8gCOQa4CbcHvQHdBosMtQGHAfMB5AfgAdUP7QHQDNABnwTUAdcFoQHwCvAJTwQvArcF5gm4BcYEswyWB+YDrgXyAVsCrQLdAfEB1wNfAe8G+AKgB7wFzgFzAakHfQ2AAXMHcQ9/CLoB6Q6dBesB7xNWAc4IygLXCt0Dpg3PAdcCqgLAD0ABoA31GW8BUwYsCsED5RjNDpYtvje3E2MEbwuGBM4GpgfIBKYC2wI+CKABTg6rAc0B9gGVBjEBbQGjGd8BuASoDOAJ6QPyATAEVwWgBdEGmwhiBuoB9ALUD94FtA7eAi8B3gNtAtwZ3AS7A8wFuQSzA80EpAKZAfIDoAtxBS8F4AHhAYsIzwFKBlgC7gIqAqkGQAbUBTsCkgIuAvEBvAH0AdcFrATLBK4KIwatAvQBRAVuCE0EMAJHArsBmgrNBs4E8ALRA7EGgRDRAqcG9QGJEkgDSAvpBc4DSAXkDcoCzgSYAqoC7QK+CtAC7AXABJoB3AFmBMUB1gRnAVABeAFoAe4MuAGbA0YBvwREBdgCXwTMD3cG8AJsAfICTARaAaEB1QHwBOgCRwF+A7QBqgPjA2sEvAjyAbkD2AGgB30EXQRXD1oBbATfBrYH5hHoCs8NlQImAUcLvAJiDjwBlAJ+BEMB4QrPCKkF3RPPCOcD4QNFAu4O1wZgCYwBwgS+ApkCrwNBAeYWJAmvBLIBPwmSAq4EdANiAj4ISgLCAlIHrQrfCcwCOAIeBHIGhwimA9gFSAxvAXMJVAO7AkwGaQPWEEQJdgTFBKgCowScGe0C1QHXAdYCzwe+CvABQgaOAW0McQaaBS4BogGiCcsEew7UCNkCTgPrBtcK8wF1AzsBww2HBOgH2AHnCNcO2QOWE0kDUAHxDMQDNwjvB9QT8wfQBFAQ4wOjB0gCQwP0BeUI5A3mAk4F6wLkBfM","lgdZ","fas","fZg","fVw","fas","fZg","fVw","5gF0","9xDR","rQt8","wQWX","2QfX2wGl","uwto","yAy2","mAGT","wgzfHug","xxBj","qAOR0wLl","qxHE","gwSgygSJ0wWk","wg+L","0AlA","8grplQfj","1xHQ","0g3h","c1KOCa0IbuQEhw","8wTN","wwG4","8wTh","c7Q","uQtQ","ogHX","bdxAxBbK7Qyu","1w3u","jQm5","rgu/BZIBvg","lwPJ","nAdv","hQlw+gaO","jwPg","wAFC0AG8","wRDf","wRDD","5ApI","jgHa/wG1","xwGYbueODMI","2xFQ","pgx9","sQGt","lgvq","iAnM","mwyw","mAmk","iBGW","4QnJ","tgJr","+AWn","6Qms","gwTd","gwSF","pALM","uAGT","lgRd","zQu/","tQhi","kQTx","jwOy","jwOyAdM","jwPe","lgRd","jgOH","EvE","hQe3","kguY","vwOh","jgStkwvWV+k","7xDT","7g++","+hHz","8AOz","3QGs","3QGR","iwTO2wRt","kATd","iwTc","4Qdt","xxBj","hQ28","1gnU","fabSC9M","RYs","7hDJAbQ","sQem","mAdj","jBBx","mwny","uAel","pweGvQLN","mgy0","mgzb","hAGs","D74","hgSutQToAfI","ygPw7A3v","0RDx","hw1i","/QvfBNw","Lm4","lQRf","pwPsAcEY7h7mCbiZBKg","jAGs","jAE6","5Q26","nATw","9Q3C","ngmg","sQGtiA0+tQOj","9ATv","+A7Y","gQ7m","yAu4","uAel","wQUw","vglK","rw2p","xgns","CLg","ywqn","hwy0B0Q","wAOk","2wGl","4wnw","A6I","4QntAtU","+wey","/xFJ","/xHj","pAvsvwTVAdcB1g","zgXy","khCa","sQLS","vAvu","9wyV","4ATowQFrnQHbGs0ClcgIxw","qgTO","4gm8","aNDvBqsLo+gBqQ","+AV8","nQhX","kwGb","phB7","kQGq","hwVW","ME+rCTvZBtQ","MOc","gwry","mxLr","mBCuAaw","tA2x","bo56e8wLh+sD2g","zwzIzwJp","mBCuAaw","/wrk","lBLS","0BHaRNI","5gHl","iQGg","1g7L","8wK3","jAjg","kQlG","e23mDqs","4Q/M","/Q0Z","6Ajc","X44","X7o","9Avy","kQlG","ogLZNXCVAcapBOk4iYMJ7Q","zQjR","6gJyrgXegQK04AO+pgPp","pwizlQjD","Ats","ohLz","bo56e7QDxxG5AqqFCIc","nAW+Ebo","qwRz0gpI7gLD","sQXA","lwOr","mgyV","mgzH","5gF0","qQvAugWH","4wjU","8Qvv","wQRz","8Qmu","mAPV","7hCk","gQna","2Qfy2wHZ","vg/D","FLAGchWXApRCSiNCnQFKAXebAmITSsMBR6QCTB2rUU0Y2jrikwG1C0U8sFaRnAGYhAHKEuAZmANGlQHBOUgBuw","KDQjbEtmAoGkAaN50YQBzySzAcRTTTvfAnbYAbQ4sxuQcH1yIwyxHbJDdSeWJbs4dyetB8cNfTTTEFFiIiisBHIimTw6Pacbs1KQQyEPsxtABkAE8juvKklAnw","8AZg","hQOtHaABPwY+uAFJ7wJFHkH6AnbHATbGAUSRAaaVAZ8","AJkCzgbLBrMBNgF/AUUFgwLWBU0DpAKYAU8BrgYwAUAFTwHBAYYDtgOeBYACYQR8ArAHRgKuB34BYARjBFAFegGkAkUCiQKUAU8CIwKYB18HJgVCA2QEJwSCAikEowGTBEMCegF1BH4CoQFRBUAEJQJDCF4FcAEtAS8GZQHHCYgJKgJbAX8GywOgAZ0WsQedBGAN0wOtBpwEpwVYAloCoAfRAeEBmQVfAWAKRgIoAZ8NfQR6BMkHmQSuBHwBlgWuAk8GJAdgAUUGyQ1BAeQDwQSTBk0CZgcmEFECVgTTC24C0Q8xCNABlQWqCDoFoxGTCEEBUwJgAdEByQRKAoIBiQHLAU8BUQGTAlYBXQmaAk0GtA59HWUGLQLPAc8BeAGXBs8FNAGEArMCzge1AisGzQdLBMoB3QHhB/MBNQqaBqYBzAHIAc8CzQJmBaACpwFAAdABUQG+Ac8BeQGjBGcCyQFtBc8CywdNBeQOXgLMAX8EdgtOA88CPArSAkUKygHFBHYBrgs0AXcEPATPAtIGRQHUBc0DtgiGEaAFRQFNATkGdgHJBa4CqAFOB0EBRgRNAcYS2QJtBdADmwFPB54NnAPOApcC0gI9AUIFaQLNAb4BSwMhBikFawl8Az8FOAVkAU4MowFFDDEBzAHNAs8BVgRnCcYCZwGEBdEBcgKiAa0CwwVDBUQCqANkAX8BiQLPDn4BkQPNAdUIPg2bAtMCSwZ/BpgDbQZSA0gHXQFSAaMKTAVaAswDeAS0Ai4DLgJsAtEGVAE0BYUBJAZPB5MChQRBAo4GTQIqAW8HMgdoA1EHdgHTAUUHyQKhAqQBhAErBqMCSwtxAZ0ClAKjCncEWAKlAUIJgQObBoIBnQKKA94CKwGqASIBzwbfBdAHdRShCr8BLgtkAa8BwQZIA2sClhZCAo8LRgKOGDoDMQVKBKwGTwVtAnMCQgS9CZ0HSgZsAicBUAXSAoYEuQRwAyQBMAbiAXIEawKGA9cBmwHPAdIB0gMoAaMCRxFICqAGNAJzBUgBLwRCBqMPTwIlBcsFmwPTBWsDKQM4ASQHkwOcApgBfgKiBrACpwGzB8sCjASoCqIC6gGjA24BKwGxA8MIrQGlBE8DZgHNC3wDKATPA4EEngLPA1AGJwrTA9QBcwasBMYB4AKxBdIDnA1LB3cIWgSbBiYBPgElBk0KqQFuDSoCbwOXAzQClgGqDqwBwQF4AcoENwM1CEwCSAKWApwEYAFdAjcEpgLOAUsFpAPPAeEBRgHCEqABoAGXAaoBLhNtBbADeQe/CXsGTwrWCKEBjAK5A9sNxgFuBykCKQTSBC4BggtoA3ABZQdpB7oEOQI7AWIDuAFqAlYC1gTDBqYDggGpAkcDbwFLCEACwgdEA2YBQAJJAUwBRwo5AqQFRwhGAkAEOgZICEQBQwHCA0MDSQo/BUAFRAKvAVALSRM8CUIErARIAsAEPwbTAUYEdAFEBEYGTAVGBM0EwQGuAUYBcwJWA58","mQXO","E8UYPhzDAdYFpQVOA6mCAdsDgwPhD5QOqVy/IVME3xTEFCsxwCdmHMkEoLMBtiPPAts4kRDnMZgJzynaB6IXwAahAoBp9ElhZTsg3dABfwHCG6FozS9pB3wDuy6oBKpDxD05JMIiSwplBcEq3glfCjkB0TTmKXF+PBC5JNcozg","rQib","rQjz","SNYFpd4FkXPaHsAGoQKAsgFhhQHd1ALNL2kKu7IBOVXBKtxI5g","+wLf","uwa8","uwar","Uk6FAYYG4YoKoZ4BfA","Kz4cw5MBgxKUDqnaAcDRA6KRBqgEqv8BThM5AdFdcbIB1Q","zAvC","E8U","lwXNqwJJXroGUy7MkQGttQFzmQExPJvFAZA","Sk4H8WCaKjdtzQuUWHAE5gFLNrgBPwjtUp4OwRGeX4DeAcU6SaQBpwf3ArQPSwqwEU4hdSOtH5YGTxHSdk0iRw5FalGJAaABnSVQFjcRxAmxJ3ZnoQdNDmNsKgtBCFc","yAKt","wg1N","vg5N","+whJAUk","Uej2AesChAGxAeYB2Hx2HmG6AZoFZBrjYHNIvakCvsACys4F4A","UeY","UVg","ywK1","0Au+","ywLP","nhFQ","7wOv","wQSewQSm","zwSj","jg61CbE","jg53","M5xdwSSk7QGpA6a7BJMatqQBKgZ7SUdhJDqcSJeXA6UUOU5i","wg+M","2wTS","2wRl","2wRI","nwb3","wgfOuQK6","+wm3","+wkj","3QSowQuh","2QH4","2QG2","J2IovQHpBboBHgPOEcMDcQSdGG4FuSWSA9kCaBSkBscIrQWiG5ZapDjUGkRCRjbAAb0BqwLQngFQrgGfAk4T4yi7F54fYw6aCq8LaUirFaIqzQlWP+QLaxO4EaYBuBZCAaoX6gH1AtUB6ifmHZMbSAZJKUwvURCgA5s7owidKEcamAWvFnobuXckTpYgoQtJDLMQORBvA5p5wQLUYc4BmQG1A6ABowGkAUAB4wGRAa4BpgKJAX4DpQGqVp8","xQyx","ngTAAb0","J2IovQHp0AOrAtDOAk4T48kBq5AC5skCerMDwQLUYc4BmQG1A6ABowGkAUAB4wGRAa4BpgKJAX4DpQGq","qwe7","O4Izox+CPNrRAaKSAXtCSRjRM2pATlzJmQFBSNmbAcIsQjnHzwKf7gG7OuYmrqYBa3RE","uQW5pQqE","AnJieTCT2ArRtAGpLKtJkg","AnhdYjWtjARLoQObc3HhBKF1PQ","lged9wKqkQPjiwP3","lgeD","e/nmB98","e8Y","e4g","e8o","jQo3","0hD6QsU","0hD3","0hDz","oQ32AfY","oQ3XAdg","og2R","og2R","UNswaswH5owIww","gAH1","gAG9","gAG9","gAFq","gAG9","MK4","oQEsuA53","4ghvkgO11QLPa6k","tA+p","yQ7B","0hGr","lgEmHj8InJIBniSYvQGQQJ5vtGSeApserk60PT0+f9gBsBYjkAI2nQJBgQGsYdS4Aao","pgN8AX4BZaoEeQ","WdVSk27QdPQvbCj0T7ngBO78A0SSAcxlvx/moAG3XWwB8GvZ","5APB","J4hGvx/bJEAIyD2qW06IAcJvRCGjWZdgpgFzcS0tmht3qwGqGaIPmxxGDScJnldIJjkBo3BPBl5Nsg5JDaAZQAqnD6QcmBi6gQGeH6pX1x/GD6AJmQ6EG6Ei3xEnBdACLwsnYMoKtHe9","qQFCygEurgOmpwJdwAJRnwGJvAIe","9gyE","pgNJ2QWhnQRD0ANLFTw","jwwl","nQF4zwNLhwI4wQFotgSzngJHHzU","uQyq","ATUHQAFyEkoHUANHCEkDSw+9A70DWBpLFFIScQc7AWAGNwNBB6AcRgafAWYPfAtIBogDkgNLB0wH2gFDAaoJfwN6DnooTAk/BaoQRgdICXwBfAR4CoQHRRF+AnYJcwJLAYEDbgF1AWkFUgJCAUUOkwpIB0EDegF6DEIGQQo8AVUDcQFyDXwDRQ9wC10HSg5zC5ELTBqvBEkHeQc+BkkecQleB18KZwJsFVsOehhPAn8cegqBDUkOahHNB3MFeQ95DnZDdgOGGD8dbwWeGW4GgAlsAXMVbAhrBnwQSQmtD14BfQZ9A4EDqQhJDlUDQhN6EFICUAWVD7QPTR9pA6wGzwWCKUcBfxVZBVYDzxGiBG0FQguGBEsKowF4AW4Q0R1LB24CRwJIBnkBYAF1A6gBcgFUAXACZgpUBkgFSAFFCEQCTAFLA3EIfBdfAX0BcgRrEUcFSQLHA6QlkASmAkcDbQVDCdALnRZMHKcEhgGsA3UpZhKsBroWlQFsBnMCNwKdAUABQAGDB78BgARBAz8IxgpRAmkeZAFNAlYEpAm5B1ICawKAAnYBYSFIAUgCcgVKAcAByAp0BUEdSwc5An0ERxRHBkAyrBVDB04MVwKEAkkEcQE7CbkFfwSgdD4r0Q","AF0BogGcAb4CcgOgAY4BUARcAb8BjwJWAqYBgAFTBZwHpwEtBL4GaQhLATgDVAa9BbUBPQJAAsECnQJQBBwBsQJaAWUBHgheCdACgALUAYcDYgPHAZkCsgFfAW0CawFoAjACkgGnAWoBbQJKAbMCqQSvAnkDmQFBAYoEswFCAqEEpwK/AmoExgGfAksBsgFCCJ8CJgQsAWgBbQOYAbACdgegAaUIyAV8Ba0CuwGYAmYE3wUrA+MFeQt+BLUEdwHQBcsBlQGnB6kBzgGtCaQFqwFYAaIBZwLPAbEIdAGmAp8DMgGgAp4KnwFECKYCnAJyDqwBdga9AV0EogGkCb8BnQJ6AX0BmAF8Ac8DpgO4C78CRwFiA0EDoAGwAywClQTJBLQMqgFWAY4BhwF9A74B0gG1AogCngV5AbEFqhKfAUoC2gIbATABSwGQAToCuQWZAY0BSALXAbIJdQUgB2wDTQGUA9ABzQGVAqMBTQGgCdIDoAK0AcYHTQGxA6YDdwJLArEDpQVoAWsDtwJ9AaMBXAqoA58BdQG1AsEGnQOeAUsCcQutBM8EVgO/BooCnQTPA7EBbAGSAcAEywGeAYcEUwF5B30DmgSmAYYCpQE3AaMBIQWqBsQFwATdAtwBtgKdBGoBpAOABrQBSwFdA0gFwQOjArsD2AHXA6ICsAHMBrgCvgd+BbIDLQFKAWABrgqtAkUMggRPBbICpgg/BJ0B4wFIAb0H4wLrAaMFtgO+C0sBfAGwA5oFOwFOA0MBpQm5Aa8DXQHOA3IBnwHbBKYCtQGvA3YB4gHPAnQCowE/AsEJrwSHB2kBVwSuAZ8BrwKEBp8CpgG4CUcBiQa5AmMBsgJqA7ABSwFmAcwBdgJRAm4CfgKhAkMEuAJrAygDNgQ4Ar0CbAHQAWUCyAN7ApQCagFBATsDpQKOAY0BZgY/A6ABYAFGAnABSAFRCVYEyQbBAVABswGjATAClQZFA3IBuQTdAX8BUQKlAXkB0wHJATEBmAJBA3AGPwJKBJsQmAGZA7kBUgGjBM0DoAJWAZ0DpwGdATcJswHPCDsCzQJOBW4DqwKwAtUClgpJBX4CnwO6ApUBQAKZAb8CigghA2wBowExAcsFvAKoA9cDlQOmAX8CowFtAUMFlwF1ArAEzQKgAboBPAHDA2wCsAKJAaYCxAKYA1YCKwN0AbADvgGzBIoBmQN3AXwBsgeaASsDHwRNAkIBngONAiMBKAl4ArYBtgOjAaUBVgEvAnUDvQSWAT0DPwa4CTwBnwK9AdABdQGCAiUBuQRCFqQHogLaAp0CdwHPBWoCpQSvAaoPmAFCAUcB2QKyApkKPgOFCTICzAYyBKwBzQSRAiYBiQFRA8QDkASKAnMERgGeAXgDVwHQCI8CeAKoAX0GMQHNA28BpwFOAcIEnAKpAzsGmwFIAugB3wHICrADSQS0A64CngJiBJcBsQKwAZkBbwKfAYECvAGDAtABVQQ7CZABNAGjB0YEQgKcEH0BnwFwAcUNigGTAYcBmQFCAsECuwGnAUcDsAFDA78BsgKlAaQBYAJxAVoBmAHHA88C0QSyArcBhQS3AjIKpwfLAVkB3QSHA28CmQI9A70CygWxAVoDgQygAS8DWAGsAVMIXwGFAnkBuASoAq8FhAFyA7ADnAKrAZsBGQaiAnYByAOcAYABmAGsBcIDygFcAXMEVgFqAVsCTwWzB4sChAFpA2sBIQKYAbIBSwK0BSECLAPTAWADjQKyAXUHpwVPBnQCkgI0AtkCrgO3BjUCpgSfAbMBWgLUBMUCZwGiAaACowemAUYCbQYuAn4BpgR8AUsCiQGkBNoETQMqATYCsAHIArEGuQGgBosClAKcAeQBVwKoAaMEQAKgAWIEXgEiAYcRQAJCBZ0JygGjBLAC1QKlAUIDogJvAm0JvgG+ApQCrQEsAXoBwAElAZACKwWoAYsDlARtBosBIgMnA7AEmQGmC1UEIQSwCJUDLAO+CdQBsg1LB2YE0gFHEKIESwVGCtUPmwK5AaIHSgGjCD4PRwbgAVIF1wq0BakFRgTHBUgGyAJFBUkB6wKXE0IFowPe","uQbS","4gGd","xQ6N1gF6","S3Y","ELASbAptPGsC1QNxE8kmqQbMIj0ByBCjKt8BtDfLZqkBqSUrEXwQrDmCAUgLQAFRG7wdpxqxA9AwQG3gM6oruxEyCUo0kBKcL84NuktIAkIBdRCrB5sCTA1WD20DQAXVHyoPLANBNZ0B1QWNDU0FzgbGA8sD4BrPFaVESEU0CfQThxHZf80DYVlEA98JSAK5De0KrgZoBLEB1AdpBXgDxAFGCjUf7AK7DE0CviNxBUwxKTInHOABSzzHMjsRQxG8DkoKdwI9KN4lTwFJBkY","0hDH","ogzM","ogzE","ogxW","ogyN","AFADSwLCAUkCkQeNAqkBSwJLFIsCtwNBAkABtQG5B1UDggSjCbsElQpgCKIBMwNGAR8DggcjBEgELAEsAmYCJQtkC34EMwpKA0sChQJlAmIBsgQnBqkKLwEtBasBJgEeApAGigM9AjoCaAJiA38BKgZjC+wJKQOCBCcBYAxgAtEBnAhuBJkLQwOqAlgDewerBDwPmw3HBaAELQStAjkHTwGWA8QJawpjAzAC2Qm+DGMEOgE8CSskQwKlAc0BfgnjBdICOAOkAY8KegJFDl4HigU2A54JPQKXCcYQYAh6Ai0D0AGGBHEEkQR+BysIJQFcBpoblAubBdAHtQGYAmkGlgtzB80GwAGsATIBugewAaADLwFQBckISgKyCp0BrQesCb0ELARDAaMFNgZ2BZ0QWAWiCi8BiwaRAjkCWgGsBFEEYQRTD0gFuwG9A80FbQJ9AqUEaAVoCHQHSgQ1A8UB1gFtA8wDVhNIAaoBdwTIBUYBqgFMBmYJMgE/BnUEewHNBaQKYQKgA7ID6AQ7A6IGyQFqApwBngSnAlYCngF9BiwCkwRUAbsBbQGeBG4DogzBBpoBVwOiCaAELQ/NDlsBlAImAnEBdQTSCK0EnAFSC20BTwmeAZ0OwASYBrEBSwFRAaEBdgGcBWcBrQMuCCUCdAJKG0oBNAF5BXoBwgGmAacPogIsB2gCPAJNB2YIVQOjB3MCbQGjAbYBMAJEBNUBgwErAYEE7gHwAW0BngEmAUgBMAJ7ArsBcwiBAU0BTQKtAXMFfgXJAncInwJhCqAEWAJnBDsBLwF7BKwB0ATOCy4CJwIoB5sHKRFABJYEKQqpASsErQJ0B8oEmAWaAWYFpQdHATIBJwF4AiQEJQJTAzABwAJuAZECdQErAaQCtxCoBaECaQEmArkBJwKBA9ACWgJUATsDvAjoBjUCYQSzA80BxwOKASsBmQGwAXMJnAGoCHMBSAmGASIGdAQsAjsCpgPNArwDnQ2EATIDnQFuA44DaAJoAykCKAGDAToBeQJfASgDmgiwBM0ElAraCHMJfQI9BJwDpgKsASoDKwFdAvIKzwS8BEgLywFxAigMXwg7B1UDgwSjAoMBqAdIBEcCvwI0Bn8BqwGiAZ4CrwZ2BR8BlAGMBDIDSQE8AVoCogMhBqMJjQFHAzoFbgXTCzMGgAGvATgCSQOKATEFigJzBoQIbgMoB6YDMQzBBCwBqwHTA1IGMgKHAakEKAEzAlMBbgKWA3MFegGqAmABTQG5B7cCjQIlA14BaQKXEIoWbwa3AVgCoQGYAoALmQXABJgBKQFCA6kUogFxBtMEbB1LA7QDSwLTAdMUpC/XCTsCSQVGCz4IQgGuCLQSSQ5VAqMFSAFIEkkEvg7fBrc","1Afo","4QeZ","ClAKeg99AWEGVgJ2CFYBSwJWAtMBcgVMAmYBfQGqAUEBPQFCA9ACnQmtCl4dSwpkFKYCkBSbDkIRrAkrFTcDmwtZEJoqdwQzFTEGgxBPB1MUnQIwJiYO0AotD4pAyimRAi0VnxJtAk1KvTayBioULQ/rGIMUYRnOC3EUThLTH3ADTAbeCTITRwSJCEUHKAR3B2wIrwqNB75wNwExImMUNgwvG4YVRgrNB4QB5BIwCzcETAaXBjwFOCupEXYFKgp2AqsWnA0pCrUXxCEkAm0bRgN8C8kHQAklBi0LngczFSICIAJ+FWYOTwhWAmoHaQK1Fa0JpQQ0A3AqgRSyCnINsRAgBZUNvQFiEFEOyAMgCG8FgwN9BDERMwoeCZ0tcwMpCDIhpAR6AYoFehpEGdkUdwSoCn4HJwgvAVkOoQFiHEs","kg6r","qwW9","mw/T","4Qew","1gPN","AFAB8wZ1BK4DtgJoA6gDkwVFA7kBiwJDB0gEdhHSA6wDyAJ3FT4EogZ5BtYDsQJtDVEBPQn1BnkCuQF8ASgCRwFHD6cH0gSzAYsBsAZGBXMEqgZ1EWIKvwdKD9schxvXEegCewGqAT4VngdEAU4GKzawBtQGJiJ0BW846xibDz8IXwjhCHADpRaDSKseZwNFCZcYKhKMJNcINBExDS4EPgumDuEBnAGkCnQwbAm2L5kKuQQnCpgBzAWlBNMRShi/JjIEnxiADsER6QVVEk0DQwkuBSgDawObAacBTR9tBTIGtAJbCsYGZh4rBM0JSBt7MYsFjANFDkcMngRDBjUEqRQwAXgSfQN2A0cBtyJECHodqg0tAXQGKwGZCGgGbwNQCpMBNAM9AiABRgM0BSgIoRMnAt8BngZKAiUCKQnsASYE7QucJXMJ6wFGAl8BwgPBAjcneQ91AWICtgU/BEABpCppAecCxQYsBCECNA55DSoUzQTcAbEBqgtPBEUEMAWMEYkLwQ1zAsMFogiiAkYHJQEkAisC3AvoJ9YLdgclAikWSw+vBCQBxQViQaRJyD9v","BXI9ghfwN488iCaueG6eAXBlVgzi9AFNzAHhxAFCHEJr2hGevwJ8C5aUAbUy2jHvsQGn","pQ9E","pQ/L","pQ+h","1g/L","EcsgUB13JJWLAqYucPMBwwJuBWSMBJ1dcX4hiwJNCIwqyETINq/OAX0","hgHr","hgHC","mQHZ5QG8JfeCDuI","owMr","owOD","owO8","owPA","mQHK","mQGm","JEINTC4z1QE8mQErggFmETlymI4CMS9UmgGVLSEMbPEBbbUDp1FMOSVBNFxJCGU","MUw","BIAQawWCBlwYtAGeA4IFrBHBAsoCwwrBBEMPbAUtBEwQTRSYAowDogFtAqICpgKTAmcBwQRIB6sEQgVBHXwEnQVEJVgDWAZOGZkEtwG9BD4BPwG/AcoWPQJSA0YDvgGfAqIFQwRED2sMlg2tDbUCuwenAqoBnwWsA68QigyCA28KpgFHEJkCnwNwA1gLXgFFAcoDWAJEEbEBSwnBG40XRQxIBLEBZA0+FEcesgK0A5oBngFPDUsGogaqBEcOsQFDIIwPkQSjFU8IQihPDiwBWRmOEZogmASdBZIjnAFFDqQCtwGwAy4Ifg5UD8MDUQPnAWYPngPNB8UCsgZ5Dr0sSAaHEcARQAdDCbkDQAKZAY4PaA9wCEQHIQOgAa8CzgSqAqUCRgqVAeILRAN8BaYItQGSCKAHKAFCAm0CrRYiBE4BoBYlGH8E2ANgBFgPoAZRBIEHShadBKgKsgd2CHkLjgVtAZ4FxBGCBLgMOwxTBkUDSAZ+BZkFrAaoATYGjgprCUcVYwi6BE8OnwJ4A5sEtwF7ELcDTgGsAlIDnwW/AT8CQwO7DEkGlAMrFk0MTAGfCKwOrQhrClIKvwWbB1QCsgFHAjwJjAIlC5sIpANIBDUDLgSXEIYDQgJ9AsUBlworA7YCpgmhA54BlwOgAW4BzwK/B3sChgadAT4CdQeBC7gPSQa0DnkFuAe+BHsB1QW/ASoMagOWB6sIUgNHBckCaAE+BbIFjgKOB5kBRAKkAqcERwehBUkNqwKnA0ANSgSXAqYEUQecA74HRQW7J1UYrAHHAkQGPwI4Dz4ERxBJAbsPwga3D8MGvAO9DdI","3AKingqakAXV","3wSo","jwhU","hgG2","kgxr","5g59","0wHKE3RH636j/gLhbc6EAege2LIBxTytfa46lQ5K+AKoN6sbqlaW4QHoA+0","Bp8LRQpKAy0EwgFWBUgD0QPZAr0L3BrgDW4YPyrWCkQEWRLkAtQMbgiiIJYNvwqcBZIVZwRCJFIHtAu0J/E7MBO7H3wnzwHOAeYBsAHwAcoBzwNsBoUItAmIFJgDjHXKCW0B5STDMssKYRz2CX4BtAG8An4Bfg51KFoINAflA+sU0wbnAqQemEVyH/MirAqXA48BsgnKAdwIsAGxH2gTdwFsAWcEbAFaAmIMuwcnBKYDKB3ZAagRsA+mAaYFYQ1uCXUKiAG+AeoOag2QCtwCKA3xAfEBMAG8AbwB6AG9AcIIxAOcDOQBwgFnBdQn3wHOEtQCKhbqGmIBgxDpAm4S6QN9DCYKpQW2A8QYxwx4BJ4HoRHJAlcqzBrAAW0JqgROCEYmtBCpBJ8NxQW7BSEDowHdAXEBaCXHCKABzB/MD64JNQq1CMEFkwFABSME5wIkAl4FlgT1DUkf3ROYGW8YrWJrFO8B9wHRAesB3gHZAdsB8AGxAegB0wH6Ae8BsAHxAd8B5gHuAe8B8w65","hwK7rwRAswRNXFE","xhHq","InI","0ga6","0gaJ","pQSf","IrM","Bl4qhgeyEbsKYiQsBJKxAekHtyRUSUo6SgTUWuwdzAPvdd9LxxTWAc0M3hBLdeYwSRZ9MngoYwrXC8IgsifzAc0B1QHiAmoB2gH0Ad4B8QHSAeABXV1tDXQ8KA5sHX8HlWy7AewD0Q3xBisjMAy8Q9luIDKkIa5sjQnabKMLwCLXbKUSywu2","kg3Z","oAwr","xRDR","xRAz","xghA","+Qqy","mgxL","3BG5","mgyV","mgyt","mgy0","mgy4","qAe2","Hi2QAUSeBKwK0yTDqwEkHTq9AUiXAruYAeADTQwmogGKRp8bvA","3Qa8","+Ap1AY4","vA4h","sg7F","whE+","xgjj","+Aqt","+Aqk","0gZF","oQSwAdAErJUN5QHqAuYBzwGgAckBpALcAZEB3wHpAusB0QHeAesB6gHu","pASA","xgiz","wBHfA+ULSg","wBHFA9A","BHwFhANNAp4EiwR1B6YC4gJgF3gilwWnBFMMwwnKBaADhgW8AbYIWQU3BkMBuwKJCnoFXwKpA6AEjgLvBXkBzgPLAdYSgAOxEr4F6R2vAZobqRNyAdkB1gHGBKAHawtgAqQC5g56CKEE0AdeAVMF2xGMB68GmgnCCNYR4gLLEmEHgxfjDmcBtwPSA64Y5wbPAuUC7A5mAZYK3B1TA64C1Q21AfoXnxjIBHMGswncDvACigNwDrYO6AjaF6QHlRCXCHgImwOyAdEerArtBLwbzARqBPcItRWQA54DngFEBb4UpBikAtkR7gG/BdYDxwt+A20DmgOeEeQJzQPiAbQH6gq5CHkB1QJrAaUUgA3mB+sB2AunA+UCUgOhDrsDwQWnBKMClxDWAnoHqgLUB34D0QOuCHkCpRjJAq4Bxg2zBKkPtQeKB5UGfQaNAYYNwgHqCXQDmgXQBKEDXBSWA3QDrQ+3AcYBcgeMAegBohy0A8EBVwF1AbEDhAGOA5YGkQG3ASYDdwmIBc8EkQLDCW0FwgN/CFMDjA2BA/MF2wK+BNAF4wTbCn4CfwF+BMIDzhiEBYADVwHYCZQFZQFsA6EK6hbrBpwBogLxAnoInwN7AqUD3QuuCr8OuBQkDdke6AzVC98F4AHkAoEBzQGPBfYL2AFvAmgFngFvEbwCwQumAoQIegFqAngJ0ATTC74IxgWrAfQI4AOfHbIJgR1kAXsCvAWPAqUBxwNAAa4GUAKlBOYBigZxE4kfawK7AsoBkgF9B3YBcgaNArcDcwPGCIABYwLkBrcDtgLOBYcKvAeoAq0Bvw1GC+oB4BFVAcUHliJDDuwN7QHRC+cIvQfGBeQH1APQBtMBzgrUBvEBdgfQBNQL1gfK","U1yhCkjbAVDEBMo","jhLQ","tgHK","mwmF","AlQFQiOCBUSDAWwUVWktowTB9AFRIU+tAb0ueQ7fGc38AUrdAU4JMjhy","jAs/","oATRqA3KAbI","CHsBPghFJlYnXgjIA6UEIwUlFXINVQpzC5UEmhNDBy8JmQUqJ8UKywFcCrQoPxSMCX42RxA8AU0DsAKsEkMgmxZkLckIrAiCAXgEpQOQAZYLjQY0C0oHhgLUCJwqVgFTHWQEehhfCXoJNgNtEXksewwrAbc7YgacAqMZihlpCpMC4gHpAdAFZgkyAzQPbQV9emEVSwOQFroJiAa0A64adw2VBpoUkg2RBGUHfwFxH2IEmQhkBqUDUAWwDsUQKwVOCioPvgy1CIoSeAtKEi8CzQaCBjEIwgKPBqUD4AG5CUIDJwoxCkYMRwlKC7sLawM+AYINRworCS8CnQ2fCKALKA6qEGgLTgKHBIQZRAwoEYwBkwvDG2YCmA56DzsLGQRlAWsBdA4lAoUHgAkuATEBJQGPATIDigJuCSwNRwRBDscHlwaqDKYZkR6fCHI9YBa/EUgGZwHIB5QEbQmdCEMQYgMuDqAX0BGXA7BJqjE/Gts","qxCd","/QkyjwdL","M5zgBlDLAUtIQHWn2gGiWUJJP3w6c0iOAZgXQhpF","ALIBcAFJAZgBvgFBAaQEoAFXA7MBUQJPAk0BdAGAAVMInAK4AkwBoQVrAZEGlwKHAqoBoAJRBZgBgAHPA5wFWQKeAs8FUwFpAaEBZQWFAY0DdwReBN4BywWvAqUF0QJhAW0BpwF8Ac8CzQOgBXEBcQOdAqwCsQJtA3sDqQHQAc8B2QFpAZMCzwHEAWUBcQGaA78CYwHBBW0BRAOtAcMBbQKnAUgCoALUAaAB0AFeAskBPwGrAsgCkQPFAXECPAOmAcMCrANfAmIDxgGuAWgBuQGfA8IBrQGiAasEYwkpBHkBqwaoAbUBnAG0FU8GnAXDE8cE2AKZBEoChwG2AX8CZQE+AYQCjALHApkCRANCB5wDoAGyBaADygFIA7QBLgOYA8YBiQWOBIcCRgNEAagCZAGtBGAFrguoAakBtgujBNIBkAacAUkCpAGmAZ4BqgK0AYoEnwKMDGECdAKhBUEGPQqnAZAChQOkAaYIugKaApIDwwE6AZYMlAFFBqsB0wKuDrcOLAeJBKUCqwVmAacBtQG8AkUFqgKjBUEDdAewAcoEsgTQAdgDSwJFAtECowSfAtADqgTbA54BTQ3GBJABQw/IBq0GyQGqAbYB6AKuAT4B2QPKAVoInwFLAcUErAGVBaQCqwJ5AZYQwga0DoUHUASyB7ACvBG0Bp0IrgtHAdoDgQGMBUgIrgKdCkwEhgGeCpoGbgJ0DT0BmQRHB3MBqgGdAbgBqQGvAb4B2gKrBJADRxSwBbkBqwFKBKcFNQJaClsBmQuuASMBvQHJAkcDeQFuBqABsAJZAWsCSQNvBK0BTALLAbUBewFCAXEBrAFpAZAFpAWnArECUQHABb0BuwOeB88BoQFnAW0Dug2qBa4DTQOgAdYDnQFEBL0CmwLiBM4Epgk/AcoEQgG6AdIDpwmuAzsCgga2AaQDqgRvBdgBTwGhAbIKtgaiA7wDsQK0AbcDjAeoAqoErgKnAcUBhQHPAUYHwAGVAcwCQwFxAbwBrAOoAXsBqwGiAU4BIQSwCs4GxQNuAk0BiwOyA5cBdAK9AdcDbQN9AaEBrAVGAa0BhgSfBZcGpASXAsQCyQJtA7ADrAKdArEBmwHCAs0FwwG0BL8EtQGyAbADsQKBAW0BmQSzAcED2APGAYwHSAGsA58GowzPCKQBsgPBBFQBowXCAaUBeQFSArADuANDBNsG0AG1AZcEqAFKA6wBkgNyA7QBjgK4AsICvQHAAssBYQWJAUkDnwTBAbEBdAKxAdEBxQHNAbsDpgSOA2MChQLEAqUBwQOiAZMBQgFPAbICwwIkAa8B0gGsAZsD0QHOAaMBoAFLAa8CbQGkAXMBrwFpAbwBZgbQA7cBgQLRA80BTAShAtUBoAG4ATECSAG7AqQChAKGAqgEjwGgAsoBpwHFAbUHzQGfBsoBwQSnAs8CWQLBAagBrAFmApsEuwLSAkMBngF2AUsBSwelAUMB2AKyAaABsARHAW8BqwKxAUcBSQa+AbwBnAKQA8UK0wHLAp4BTwGmAUgCowG+ApcBcQG5AZgBxwKKAcoCSQHYAsUBvQLCAagBmgJRAacCwwhEAawBmAF+A+IGzAHNAakBpAIvAacBwQHRBKcBswK7CbMBigG9A6sBugajA6ACwQGuAtQFTwV6AbMKsQGKAUUBqwbHAb8CzQOFAr0BzARvCkQBrgKXBZ8BPQFdAsgCwAO8B80BzwJJAZcBrwGVBGkBrgLKA4ECrAHGAcIDZwJrAbgDfwGxAVoCogFyAngCxgHDAnMBzgHMAXcCrQa1AaoBjQE6AaIBuQPFArsJswK7AU8FoQKlAa4EHgOlAkUDogGdAtsBZgFnAqEEwQNrAdACogKXAbsBiQKmAcsBrgKTAakFrALLAbkBcQKxASIEpQF2AYkBpwKtCLICpAGYArMCdAHJAasEzQK/Ac0CuwSuAqcCzwHLA6wBQQFHAbUBiQHRAWICpQLUAY4BbQJ4Bo0EkgK+AbUFzAbVA2MJmgHEArsCoQegAXQBsAnBBbwCyQLEApwBQgSoAawEpwJtAqsCkgGoApkCwwKfA0kDhAKxAa0DxwGuA9MEvQGYAaQBvgF1A68CawPQA48BsQFgAUgBjgJLAqwEvQZHBM0DlQNLCEAFvgg8FK4OwAg7BMIFrBFCBEcGoANQHawEtQe0AaYIwQKrB74CSQZGBY8BmwFCA8M","ogunNmuUA50","7gip","0AndQ+GnAaXVAbeMA/fEAdY","BHwZagVyBrAWyQ9rAzUGtgkzAz8BQwLAB8EEfQJ5ML0HpgdpAYQDxwd5BlERRAPyDNMKVgzSEEYiexBmAboBrgRGBEQDQhORAbkJpAE5EX8WkQ2jBEwUZhAvB9YQigdgCn0bLRBHSbMRKCFnE3oBoQLFAT4BTxsqJ74GUAVqNqwNQBFoMdQGjh5vI0sE1QtDCFoJkwtJD0gLSgHPCVYZLQvWBWsJoiu5RDAhfwS1BDIEQQS2D6sbvQi9EjEOvQZ1AaYRMwukB84m1QphBCoFWgF0A6MldgG+A0EDPyZ8AoIjYRhCE8AEtQFEBiwepgpkBaYJjgdaB5gQfgXtFXEYbyqlCL8BxgQqDLMDRAQ/BSYIQgd5AiEIWgghA4sHsQ5zD/cO0gHKAX8BpwGhB34xvAnlAZMMhQzPBYkFew+jAWAMbwLWHE4UmwIiCDYB2wvDBUACjQ6PCKEaiwVEInIBugFwBcQB6wSFAaMIbgqyGkwLYw","wwda","4w62","4w7h","4w7H","nw3a","4w50","wwee","ww9Z","nw2K","4w7E","JH9hoCFrTZ5qrUmnbaYKSkKoEeCUA4ADmyCkDEJNPRemP0IQaQ8qKEenAaYJKgeDFK0iwAuoI5MQSScpLJ0BkhKmEKNjRAWlEaoSnyPjKksBS4kBSAKkIaQ","IugGSA93BFEdfgO7H84V6gpDIK4ZUkSZK5kYsgHyC6546iyhWGZDuy9PFaZvmRd1B/czti3pmwFsAbkBkgF3AXcBdwFsCnAGbghjQrlDoCVOCeE4qB1nAmcmRg/MEekFzgTFA2I23g7pA6AeohaeR54H2wiMF+cb8iNJHMwQoidLCX0DKS/hHb48UDRtAsYQXh32Pc4BPQFxRqg","3guNCaE","9Qbs","2hDg","2hDe","ng/h","3QMb","2gKL","pAUh","9Qbn","2gLo","2gLR","oAxw","jw23","8ASe","8ASe","fV3yD54","mxDl","jw3P","ugul","mxDP","mxBw","8Qfb","qAyC","oA3p","oA1a","mg13","vgHE","0AIx8wiKlQLmuAKJAe4eoQ","sgFdbKhKkUKLlQJHgQPYIM1Gp/0BmhyehwGmvgGkDpcSQAybVZY3lxCkDew","6Asu","LM48pC9LO0QdyA/OyQFBD6vlAc5l0gVwe0bzAUsY96kC8xT5ZulUT0VcKusuoxpCQ0YDbgU8WXwVtwEkA0s","6AsuZjU","1AvOFC5mNQ","1AvXFO9mnQ","hQ87","UFIejhqbCnkZJQ/SA8UQtEzMAc8HoCLKWr8fwBXGKpI3Xhi6AcAQpA6eBV9h0zCnerMS7wHnAegJWS5DIWYCkTDmDaUDiRa+A/QE5zd1AsMb4BPNJYod2wPMFNl/3mShCmwK1wGpAbcBuQGoAdMBjSfTIaUD6xqVGEMH5FBFAW0VmwyRPawdsFR+DNwVzxPMgAF/Ir4BwiDSDpsB1DS4EHo","gwqG","gwqG","wAjU","wAjOrQGkjgK6A1jbA8w","qwmW","2RB/","/QuOBI0","xg+u","xAzJ","xAzG","xAyX","xAy9","qwm6","zQG0","5gyV","qAzT","7QmkkQJY","7QmkA5WLApACjg","hArF","BJlBdwbtBboexgFQCWYhpg1ECmkKe2DPH5gQ0hqeKq1KrSSSVXEBcQFxAZIMvViVAkAKZ2aRUFISrzUjAZY7zBuzBoMkmkBMC8oXzghuJOqZAUkbzBqsHXM5bAmpAY4BnCqcPXiyAZ5RowFMH0c+rl6eA7gCyypwAvgB7gN/K5gSowZuDzs3PA08MVA","+wuQAakCnAGoAdM","7QlfA7k","wAjs","gwvX","wAh3","hAqw","gwuS","swR9kAFwsweboQGc5wLPCr0","qgLAAdoBvAG+","LKErVHieAbglJNUDu54D+An0ogHhuQGLcUIBTUAk7gFrgwHp","vgw5","6Ajt","6Ahi","kwrh","8Qjk","B6oaSA6pBW+jAZ7BAaTrA0e0AUxvzKoCS0e3K6EELLcBZHOFb8geXQ","W7TUCfo","rwon","rwrW","3QT02wQxKr3tAoB82osDqA","3QSy","+AZs","I0/OBJ6mApsT7AeXb8Y6xW9sygLOxwJ0/AGoPIc","3QQw","3QRx","3QQw","MVCGA86KAZ1H07AFTnkyKsOeAVEnn2FIFKFJwgGAtgFk","3QS8","3QSt","kg6XxwHl","2Q+a","wAiK","2Q+2","bUkfO0docERlcYABLzWBYkEHbTNiLJu9AbQwsJcBOUOkZVg/Kk+aCX5Dbw2TEMocOCZ+mwElF0J9bagCZw","MmlZuQ/bzQKpygOXpQF3VaIwL40BSdAErxBAdqQ","mgG1","jghz","DFkQcxecAXsXow6yBaIMQQOUBFwGtwKIA28RZwVwFaIgpQxHBkodQgSWBqsXsxyeAjsBoAI+A1sEoBtICmkBXRE/BkUIaRbKEXBOrTN3CLsMTgRNFZAlZwZDL78MRwKXEMoeoyuJHEVNRxNEF80adQl2C6IDvQGTBWULigpIBMwRVgw+GUIEpg5vAj4Pdwi2NaMDtQRDAoYHbQxFHU0NdQNCBGkNWhXJAUcIoxc4AbAQsQF0BJ0awhZJIWoMcQWuC3cDrAJrA8cHkAbJBEYMRwdEAWcBSBLEG2k6ywSaAqMYqgenBGUbaS2VA3QGcQotGkYFxQJSBDwCcAZHC0AImgEnE1YFnAGrDGQGpAE8IHMFkx6sAj8CxwJHDUwHpxCmD6kIQw9zB0AUXxBgGEoSbwFBJbMJQAfLAcwIMwFIA6gkRAxyApZNTDJNBUcYnw","lws4","uQI2G2tzbjts2AJU5QFNbUvxApkSdhAvrAGjCiXkASBRSw","ItI","IoY","Vac","7g/U","7g+q","AdcI3wJXAVkFqQJNDqwBrxWhAj4DfAF3FWIERQGnAXoBewrEBWQBpQGXA6wCJwerBEYDQgGpCT4CRQKyATsDtAKiAUcDdAHpBCoBzARBAkMDRwiXAUMDQAdDBaQGqwE6AaUDvgc9B0UBLgJhBz4InQVQBmMEpgPaDuMOtxq/BbQBpQuaA9MKnAOgAZwCTwH0AdwBRgM/A3cBSAKVDu8GmwL2AT8GpAHnA0QMjAmoBaIDzwQ3AqcCtgFEBVkEqA/WAkUNPQHeAsUabwPGCbAGRQerJKcBogm+CGsE6AOxAaoDgQ5YC0UBvQNJDYsJvArGA2oWmAvsAU8DTAeJCUAF5QEvEuIC0hOlArIR3BfNFrADtQWgIJdD4wLNAqQJugLsAZcBpgWdAloCsAWLAXsL3QXXAUkCKQE5A0YJWQFIBDwIRARxA+8Q6wj5CXgD4wXhCzAL9QFGAoEMQgSxBLkB1QpADM0BrAQeCnsBSwWnBKoBTwKiAoYPQgXEAkkLPwKjCpIFugODAUADQwGhAqsCRwFFBe0BwAN8BFELRwNGAlQJuwJHCZ4E5wFQAUsEyQZrAkkQ4wzEB+EBsgFHAncCQglABFoiswxRA0kEVALxAdcBwANLBNIN0g2sA0cKUwRKAkIHrgqXAUUGegN1CVAJWQZIB7kFSwWWBDsBtgFJAaMHpQmSAUYCoQbeAcsDygTVBU4ByAc1AZ8HTgTvAkQBTwNwB0sEQwSIAUsKnglHAnYCRw6vDawClAFIAb0BVgZHBOEJmhBHAlgBogTVBacCUQRDBUQBTwFLCJ8TQQFMAscISAwrClIHgwFQA6MBRwp4AUALSAPeAegB2AG9CUkB6AZKBEIFSATlAq8FlASTAeMBQwKYBEgHdgJLBE0QMwS0AawUfQenDUwF4wNHAckEygFOA4UBPANLA0cDRg9LCUkETA2kA0AkrAPKG7IIowEkA0sBQg9DC0ECagjYDZkEPQZ0BO8tRhC1CEkC7C2zG0YbwgHDDUk","8QyB","/QvKBKI","N6E","1ALU","sQRi","7gRf","0QVB","0QW8","anD1CY7bAW8","3wrvAcYBwA","1ALO","ig+p","lg19","lQOo","qweG","lgdE7AdP","ADAEtQSUAU4CRQLKBE8BzglFB0wNhQd3BTsMQA9sCUYDKQYrBycCmQElBS0FMAI5CWMNMwFAAfQEmgWYBi0GOwEnAS4BRAOfAzcCpQGTBocDoQGoAmUBmg4mBDwEKAwrCIIHQgEsAoIFgwOABIMGmh+hBYQK4BUxBLsJpgMjBKoDohAkA+ELrAGtAaoBbAGpAbsCowJODSwCdAhnBZ4aoQFGDKQCpgGiAtABogSXAmwM1gE4A5gDxg7BAS8akgaTC4IOOwE7Ai0FigPEA2gImAQrB7sCzAO1ArMCbQKvDZkBngI0AqYNzgZbB9IS5AKfB5sRegl5D0EH0gGOEKgB1AF9AXECZgKKAkMJRQVvHysHdwOsAYwchgNIBZcFmgXaAaoBlxM1DpUEowOHDZgIVxGYAYYWfwSVAVoBhQVGAm0DRgG/BEkDKAPHAS8GmQXIDYsBQxAtAkEBkQWMCs4InAajHJEHJgJYB3YDYAGrAr8LMwEvCnoGYQjNBy4M1AQrA4sEcATKFE0XMwEqAioHnQdqASwBKAIoAZIBPAKLCdEEixWmCJEIdwQ1AR4CpgHSCJcLdAInCTMCVwl3AXMBewF1DjYPzgNSBHQDUgxHDUgDtgG0CJgBKgZAAS4HkROWBysDNAIpAkMEiwJBAiIDKgRuAW0ERAc7DCwKJwORATsMQwF+EiwGbgIoAisBKQExBTMGSwJJA6QHNAMiA9EBLwI0AUcDLAJhCm0DyAR3BioBUwNlCHEEKQE5AW0GKAMpAXsBpgE4DkAELQikBKMBKwY0DDIDqQIkCiICrQGmBSsBnwQ4ATIBPQpPAUUJkwVUAZsHkQ+bAqEBJwEgBbsBxgGpAbsB3wGrBFgDJQJxAiMBKAQpAlsEIAMuATEEeQGzAlQEzwHSAi8EJgM6ApwBIQdEEyoCcAWEAaAE4AG7A10FjwFQBWMDZAKxBUkDQgEoAUsBogE5AiICsAI2ATEBOQiNCkYIPAJ1ATUKJQMpA0MDvwIrAyQBogMiAXsDpgJBFkgDSQZeDqMBJgYuBCQEaQS9AioCTANIAZQEmAMsAScBzwS7DScELw05AqQBmAMwAqoBxQOZDCkFvgHMDOEBpQOIA9QBpAHMAcoCpAGYAYsHkAGXAdoC3gHbAqwDxQKuBo4DsQFGA64DmQLRBd4ErwHbA84CowHrAZsDSQLZAdkBnQHTAdUD3QGuAdAB2AKtArUBsgGwBpEBrgKqArMBqgKlAaoCpAGoBuQE3gelAZsB3gXcCN0BTAG1BdUClQGtAdoBRQnLAdQBzwixAdMBsQZCAdoCrAa5AawB3Q","FGu1AbHNB7PoAT0","owM/A0SSB52cAbDdA48","ObqNAn8wPz7QKkBpdJgFny7IDssutg1vgQEsPvEKozHTFsoC7RnDeJwylBpFdKkVRzCoA54n4QKu7wFtA8E","dplCaAhAElIBZweiEqQNjM4CPBYw3wKmBp4RcpMBR5QBrA2dd4ALmDsmCUgtOMcBipcBfQEzD46WAaEDhA4swQGk","lQzZ","mwqj","mQmc","9AfA1QFE9QU7jgKc","FNYPOhBJJnEBvTZ4A6MOhAGnOqAWY0L5AqAXnBSqEz8SZx0rA/Q3OGNOH1kCo7wB+ib7B7OGAZkF9AmkHKEjgxZmA6sLpyB5AZxQXx3IBawYkQSiCosYngr1PVgzdwRyD64BsSO1BooNpCfTA2kBxUSyAd4pmzLcAqgzwAFcBdQHXxpugwGdUaQInHfyEkc7vi0/IkYDPB1HCk4","2wRllgeZ","nwGY0Qi1","nQbWJtI","wwvu","wwvV","wwuW","wwt4","wwtK","xgyC","wQin","1QfF","xgxp","xgyU","5w/G","nQaQJqs","nQa6Jn8","yQsl","tgir","twFD6gFQkwFR5QRJsQRN/QFHBTkecQ","kwlLpwFE9QFJ","xAx0","7w/D","TaodkiXuNR4T5EDSAagBkwHKAeoB8wLKrgL0CyUmzwHlfs4C740B5AsqSTcE6VbjZkFK59QBUCuARm1wgw+DFKUBimpuHLdtpUQna/gY5xys","A3bJBOc","zATn","/gXI","4wfp","1wHN","/BDO","6Qnn","1wHL","wQ2lAYo","jwGq","ATUC+AF8BO8B3gGGB0kCwALHB88B6AF1AsgB5AFsAX0CywhBAc4CmARlAsQB5AFiAfIBqQF+B8MBzQHpAcsC5wHEBe8E4AWfAV8DTgXsA7QCeQTRAawBuALqAWMFpgGaA20B9wPWAYsBowKKAc0GRwK4AtUCTQGHA/MB1gJwA9EBoQLzAioBQgQ8AcEDuwHpAa8CHwJCA8AB8gF1A6QDxwHvBG0B6wVxAvkCuwH1AYoB8gGVB38EZAG1AXkBYgHhAfoCygHwAUACkQI+B68BjQWxBdgBcwHvA4oEvQH0AtoCrgjWCskB9QfbAYQB7QS4Aq8G2ALFAvEB1wPNB+oCTAW4BGIB6QFSBNoC0gFxA6sCsQHPAT0B1wGiA7oCvQGEBOsBhQG+BHQB9QH3BcwJ1wFrAo4BMQLhB+sMZRC1Aa8BmAHzAe8ByAWfAZ4CggKPF/IFSAGKBecBwAfoBPMBVQMwAXUCxwLmAe4D3QS0A0YCwQfABcABWAWcAdMCxw/fAWcBlwhzBMAB0AG9AsEB5wFpAfADcwFmA5ABiAH0BFkBwALhAeEBywOEAnQBzwTrCNkBdwLpCO0CyAZgAZcIpATPBt8B7QrgAcoB0ALhA0AB3wGhAcoCzQLpAeIP8wHqAvcB8wH0AsoBWQFQAT4BTwPUAmAB9wHlAfgBfwKYAc8B1QzlAZEC2wThBE8CrAmjAe4D2gnXDfUD3AH1BaUBrwHsAfQDpAXiCrYBvAHXBPIH6gPDAvABxQFGAUkGbQTtBfQF7wOdAvECwAZJAu8D0QHgAdYFjAPgB8YBwQHtAcoDlgRpBXIE5wGYAWwFkAHcAu0BzgZxAukEkwn4AsQI0gfrAUoHygLmCvIB1gK8AvsB0wHlBM8B5gHkAtgBowHpAtgDswF+AuIB2wHxBFgB5wLJAd8DzwHxAaMB8QHqA7gB9gI1AXEB4gK+BPQDhQKeBE0EigNKATAI9QHXAcYCTQFtBpYYwAKNAb0GywXlAW4B4QJMCmUB3QLbAmQB+QMpDZ4C3QH1AfYB9AJtA3kB0wTYBksB7AEoAyoJyQHqAfIBrAHsAfYB7ALzAaYE5QGbAfMC6gK8AboDuwN0A68CrAGAA9YC8QPOAaMC4gFdAkMBlgHCAaIBzwPrAU0D8gTHAUcD4wHdAVMB8ATyAeoB1QOYA8ACpgHvArYB+AFYBcgBywHCApoBOwFCAkYBpgXtAcIE9QHsAfUBcQLJAtoCngFZBsQCiAFLDYsBQwGkAh8ErAS+AesBgwLgAY4BewF+Ab8BqgWCBNwBTgPtAVYCxQbUAdQNxwioCGoESwOmAccEwAXrAckEOwFcAvAOygHpBnUB1QGfA10B0AGcAeUBngGlBEcB2QGJA8EBmAL2AeEBtAGhAcYC1QHqBX0BxgK6AcUB6QFsCTIJwAHyAqkDwgHwAfYBuQHuAdADoAHjAe4BvgGhAkUB6gOOAW0B2AHhAc0B+AHeAeMB7wNRAbYBeQnVAZQGqQGaAUYBvAGJAUgG6QH5AfUC8gXjAlACkQLnAY8FsAdLBe4B4gGTA9ABjQExA9QD9gPQArUB+AKhAcoCNQNXAqQB0QG4AmIC3AHyAfICwgGbAYABgQFtAegB6AblAcQGQAe9Bu4B1gFUAeMB7QHnAfMD5gFIAekBoAHDAp8CyQFoArQD4wHOAYwD5wp/Ai8E6gEtAs0ByQHqAVgC0wGVAsEBdwHgAVoBwQH0A9IBqgE0CUoB8gGsA7YB7wHJCOwCrQGpAbcCyQHwAk0B4AXOAZ8BlwLOAdgB3gHGAbsExAKnAegB9gWFBHICvwHBAfkEeQJDAeQB8AKHAdEBxAOxAo8F3gEvAvYDgQHgA3QCNQW1Am8B2AV4AkcDJgVzAecCUQFkAbgBSwJ5AfIBigKEAm4BrgGSAaQD8QGhAUoBWQOoAuYE5wH5AfYBRAHTBO8B7gT5AdcB1AK2Ak8DKgFPA6sBRgFUAUkBQANGBUMBSQHLAZ4EZAFPASkB7QF4BaoDugFLAZoBvgHfAecD3gFPAakBzgVBAWkFrwFQAX4BuQSLAawB0wFHAaQC6wiPAVoBmgGpBCgBSgRJAfQD8AHeAjcCdQXABU8BIwKMASkBmQGHAe0C5gGrAooBPwHvATcGbwP0A4IESQbAAXcN8QF8AuIH5wHgBeQCPgJDAvAFmgLhAuYBWQHIBHoDwAImAm0BsQHlAdkBkwHCAuwByAFgAfcBiAKAAk4C7AGmBd8DMQHiAlQEYgJFDT8BNAbQAtAGtgOoDGwEmwXVCeUG8gqHAuAEPQO2A84I3wdJDvkC5ALyAesB8AGkAe4B0wPGAkcB5wHhAeAC5Q65A90B8AHTAvQE7QT1D3sQnBHJ","jwG0MlEDeBNbA77FAZmEAS2zAUod3AemCZ3cAVoKKW56AvYB0wG3JKwBIShoC6MQtg2cSSN9R4oBSwioBp4DWU2naXcWR9QBnrcBPDe5AbE","2Qji","uxGt","2whS","2wjG","xAFq","wQGhGXuVBE/wAcr5ATLxAbAPVOMBPQorO+tCypYBb+kBRA","2gEo","1gXVJMw","gA6I","2gF7lQSj2gWqtwKswwPe","oQ4f","uxHTCEA","2wi0","vg+E","6Qfd","zg5P","kQ6V","qAzN","uAej","qAxC","8AlVjgLF","zhFK","1wHW","0AnS","rgzm","3wfM","3weJ","0AmK","iBG9","2QjDArE","gAkh/gNX0wLr","0AmR","wQEv","vgmu","iBG9","sQ/j","qAxC","1wGS","3QMb","2wiL","0AmK","2gi1","2giZAbQ","gwZi","jwGk","7wVe","qAyc","2gFt/gl9xQG9HiM","2gGDlQR3","2Qih","6QlsAlo","wQ5q","wQ5q","8gTB","1wGG","uxHm","1wFb","iBHP","uxGt","3QMb","1wFb6wV5vQHFkgVp","/whx","jAdm","jAe1","jAfT","2g2p","0Ams","HeA","ngXG","ngXGtAEj","iQFu0ALLogJu0gjm","nwWPAccmtvQGb+8BmA","zw61","zw61","A3apBogFvwWS","diw","wA67","wgfGvQG0","OZs","X8E","nAWX","lQFAmQTK1AKM","uwuU","tgLPhQmU","yAyg","hgVsA2I","nwWP8AXH","tA6S","nwWP","lRBq","zwKx3AnA","jAMy","/wSC","xgHPnwHOpAbt4gHwWZcT0s4CbMYD5A","zgzC","/g6Y","yg/T","OW8BjeQEiQ","uASy","kgKdsAnc","kQ3A","ggid","gAO/nQTSCrAZqSOxgQKz","kQJ04gLq/Ai0AocB0ekCzA","8wKHiANuuAIl","rBCj","xASi2QR9","xwlw","zwTb","5AKWlwFdrgqr","6wzdkwKw","IYY","IbQ","Fbc","FVY","xgWN","3QGRnA/S","HSo","gQXU","oAZe","2g6r","iAnM","zQPK","4wpY","4wrh","FjrDAUoCk+kC7lvSJ7GxAczrAd877BGVLLUvswxRhAGJJJkc44wB8S8lggGCM/EO5V3rED4FsQ","9gLBAcjCAV4BVMMJZMUBRky2","9gJeAVM","zQWu","rgxX","tAHe2AnU","tAG9","AM8OxA2eAogCSwK8C9kKdxHXAVsF1QFJEPcPcQhDBIgE8w3gDUsD4QNKBLMDbwG6Ah8DSwHLAUcEaQQ/AUIGcANoAmcDwARKB+4E0QTxEaQFeQFUCIwRywGlBE8a6QTSEJECWwK2F9MFxwHCB0ME2AWwAs0LyQKrA4AEoQ1HC7QDywFMCEIBtgbeAXwKUQbEG2gDQwPKCaoVQAfQEksH7wrFA3gL4gM+COYCTg/BETkL7wKdEk8GzRv2AcwFTxNhL90HlgzGG8dBhAOPDHwIrRKQE3kFyA25BFoIpgNBAcoG4gFKBk4CQw2yDO0CxAHTAcAESgRQAt0DpQFIBPYDjQRIA+MB+QHuC7oI+grpBvQBgwlkB2wN7QySBaIZRgfeH8cK3AOwAkYHpwLnA0kD3gKeAsAZ9gFNBKcEnAHbBdQC9wHnB4kD0wPwBtcCgwFCCK8PZAF9AkoBrAOeBFgBswaiDD8HRAnnA84D3wJxDVIC4wGnDdUHsgS4AtkBtANDCrELkgdmBj4BsgJgCOYGuAJ0A6MCSBCRBdEBRgGyBdIBtwK7AawKQATVAkwDjgLHAqYF1gLFB5AQ7QTFHi4BvwlIFbACRALfA4EG9QnHCyoB1gKlCkgF7QJvAXkUbwHLA6kItAO1BEMBag9xA0sDmgHtItUBQQJFB8kBlgFNAzwIRgpBCG4GPg28AzoBagKJAU4DgwPzCOAFagGUAW4KhwFFAW8BSwK2BXoCow2nFK8DigJuAbMBlAXPC64KYgLhC3EBrwqzCrIKuQyEAtAEpAHTAYYD8AFABLUDcAG6AbUIQQb0A0gE2wbFBcsC7gHcFlME0wRGAdsBpQTKAdEYTgiGAtoCqwU7B6wDyQhFIaQL7B2+CbUC4gy9A2UBxRmoDEwXgwxGBEsBRAXDDUg","P5oFfxpeMJ0W0xBB","3ghLfqvWA0Y","jgGdJkE","8Qzg7gLe","pxCP","zgFosAZNU66LAerABW4","/gfnFOM","zgF7jgiI","3Amu","3QrVlwXA","8wes","8QzD","zwSS","zgHM","3Anm1QOFAd8","X5YQmANsP2oTmi+xR2gDrSgrKEcZY40CX0WXJZx6mwVWJGhnLdYBmRRtCrFxuDI0TFEFeAZ2QKJOdUphCWIUnSZHC4gNmyGoGHYIqAVtNUFNSASY","Gn9IbhmqGGkIdTicAp8gYRekBm4ZjaIBSQzJRHVDOQhsuQFGBaJosDJomgGQKE0gcw2aHSw9K1RzKCclLjWaPpmVAVAMYC9FTJtRSgZQOmBBKgSeAn0ecQorBSc","kQKe","kQKe","AtMBugGZBXMEbwHEAZkBugHTAogBKAHAAukBtQLRAX4BpwG3AbUBkgFvA6ADtQOaAaMBqgWcAcwBmgFnAb0BvgFhAcoC2AHJAawBgAGWAtIBgwFmAdMBnQGJAagBwgKgAWYClAGVAZUDdgJOAsICvgJ+AcEBuwLaBj8CmQRNAd0BNQSLAV0DbQFSAk0B7gGUApgBtAFvA24BaAdDAT4CrQJ2AeUBngHxAbQBhAKDAUcDewGjAyoFPAF9Aa8ChAGQAS0BRAU3AaYBlQKxAbwBnwNBAaQCQAGLBEEBRgLTAScBVAM8AlUBSgLSA0YBpASfAYkBnAKtAkIBYQFKAt4BmANKB6ICWwNWAaQBdgXjAWgCogHBA20BQQXcAYADpgbmAeYHcgWuBswMwgGaBJ4CQgREAXcDlAEzAYIBnwXGAccBxgLhA04HvwNOA5wC3QGxBCwCNAG4AVIBuARHAeMBpAXSAtACtwGdBEQBPwKXBq8D0gRGCJED5wvWA7EBdgHJBWYDlQErAoECuAGoAe4B7wHnAdoI5wOLAssKvwxRBGYBVQGZAbsMsgTGAaIE1AzGAakXYAdhA0YBoArMGKUB0wTOAqUQVQLVAnIHqAaJAaoETwFJBUkKdQO4AY8DtwS7Ap4E6hKKAVYBSwG3AT0BPgFRBsgG3QeiBlwCywGwAa8CRgFFC0gBtgHME3kBlAFPBoQBygJqAWcGVQm5BEsUnASpApgC2gg/DWwHpAbMBE4HbQqHFG4BTQGnCbADqwHMGC0DeAGUAvAHnQXGBK4JzAKYBs0CxQK1AlMBgAEhAm8GWASBAUEBOwFZAkUBSQHNAp0ERgFzBNkBYwGxAYUCSgNlAqQCjALIAZoC2QHOAeIBWgU4ATADzAdIAk0DpA/OAZABWAXUCLcEtwbQArcBMQyyAUkGtQJxAakCuAo3AtYB1QlNBKkHmQFxDs8ChgGsAm0BUwRJC2oDwQN3ArwBTgNWAkYDuQGTAVABlQFNAigBlQFJAosETQJ3AtYDUQJtBqkBZAPaA8IBtgFUAk0ChQNpAsgDsAJFA3oCvAG2AuYCdQJsAk0CUAjgAisGnQJoAl8CfwGyArUDyAHJAeoGZwFHA1cDtgEzAVYClwTJAZoBQgJHBlABjQTGAaMB0wVEA+0BtQG2ASIDnQLAAd8DnAS7CLsHzgFqAygBzQRzA6cBZAHOBIsBuwK9AqUFqgHAAsUEoAS9AZMBsAb0AlIHQwGIAW4DlgG5AT4CKQHFAWEBuwVJAqkBdAHPA7gBYQEmA0cJvwLVB8ADnwV0AaYBcgFKAqMDSAJ4AcoDjgJEAZgBTQFaAVcB1gOgB6IEUgLOBFgKqwI4CbcGrAJ0AYUIpgdLCH0BRwG7BaYESgJDAq4CbwFOAbABiQFoBk4ErAHMAkQCSAOBAaYBsQFJB0MGjwJjAV0HKgFLC0oBbQG9ArkG2gGbAZUC3gGaAVEDvgVRAvEDtAJQBS0CjwHNAlgBZwJZBYoDtAFbAdYB4gFICHsC2wFkA50BRgLXB9cEvgGVBXYFrgGeCkUCRQfBAc0ETgH3AWMBuQGBArIC1AKFCHgBjgG5AbgFWwE9AToBzAJDAT4K5AGVA7wBxQPCAYIBTgS1BdEDLgFiA7AC0gI8Ab8CSAFlAq4B2AHTAeUBRgGzAZ0CgAFGAVgDTQPDAj4CRQPXAXMBpASqCNwBpQJjAcQB1QLVCkkBKwNXA08B2gG0BIQBdgE3BakC4gNcA6kBzQGuAcUBOQK1AUoGUAGpAXYBmAO4AVcBTAGuAqgJQQFaAqkG1QJDAbkBRAPKArMCogHCAdICbwKwAYwEIgJHAoEBrgG8BdUGvgVHBmADIAljDV0B2AS6A2gBngnMAc4CxgJcAXoC5AJ9AtcBQgFpAYAD5AR5AtIE1AHJAnEBtwHhAZEB3AOxAZUCbwavAzECpAFsA6kBpAKPAbUMcgFIAUUBowGoBJgDShCxB4sB2QyfBukBbgaeCKMFtgbjBsIEOwLXATcDnQTPCcIFrwqlAz0GSRWoBKwDtymsBEo","jgG7","jgG7","jgG7","hArcN7o","owzEAcI","du4","oQ2d","fMk","fN4","fDA","pg+K","wwvi","qASSpgKX5gXv","xAHOyAG+","xAHT","xAHY","xAcp","0gSx","4gqx","4QcegwJksgf1","4Qce","lhHG","EIk","EIk","Ac4jPElxBSUDLAWqAq0GaAehA3c1cRGjCXALSitKBT4ToQZ0JWsEtgYuIdITmRVCBKwQngRnGEJAoA14MnAMNgTYGUkmLBQ5C3QrRSfHGcUCcgF5F3cJXwSeB3IanAGyJaocbhEzBZcZxR9HLGwDmxM1BXQBfgd3GCgEYR6XBK0RnwmbGLxKxQ/NF9IwUhQwGa4UchJzD0gFpCS4AicBag8nAbYSpBefESAMyyNqDCYzMQltFmoMKBbPFmUUdglaBDEdSgM6AisFTi41AqUBfgepKCgPRgqjOS4vdgU2G8gPRxWxBZMNOQNNA2ELQAFQBUgSXwhGBlwDQAVsBGkCSQRFB3kBfAV6EEoCawJuBkwHPwtLB0c","ygyy","2AK2","AG4BMQFUA3ILSQ5MBjwENAKaBFwBQAo+BscCZh0vBHwQbAUtA1QBoAp2AcMJKQZAAtoMTgmsAS4F+QhgA9YBrwMvA6ACtgEvB3YFZwIqBCoGgxcsCOgY9R+FCykTRAblBS4BcAbUDi4NMAs6D/MDvwuGFlcQPAy+A9MQdAZdEC0ahRjGAVQh2AYwBKMP6AGQDnkE7CBZAoMEgwmBNWkBNRBZFbYB0w+1AisCawQ0AWMO0gIxDS4CxRVQE3AKZRxkA/MHTwE0B3kM9wsoAd0F1wKjBCkG0wQqAbMESQQvA1wDSQGfC0kW7gN3AS0gTAxAAtAU8hkvBdwByBghBzINWgOOEjkBOQSGC/EB7AHzAfgC9gH6Ac8B7wH4AfgC9AGxAnEEaQhLAycBPAaGAWod8APeCoMEHwbzAekCTQEeAqsBgAjWAS0MoQiWC74LUgPVAr4EPgenBx0F1AIoF1YEKgH0A0AIRgJPATcI6whVASoBghKlBLkHkgEkATsDmwE9ATECcwEwAUkDlwWvApYQYgaJAoASQwItAUABMALdAfkD1gJBBi0BLAaKAYkEjQQvBiYCLAGQA3MCKAW7BJwBZgEgAYgEMAF0AewJkQE2BqwNYwKCAUEC1QZBApsCiQIhBFsCmgGZAXsPLwG1Cq4BSgVGAoUGNAorBq0BgAdYA2oOIglaBOkKjQonE20WaQqMBbAKLwE1ATsB4AReASQB7wSYAksCmgGyAWoDKgPBB6cHKgEyDB4D8QGjBesDuwFOBXsIJgYwAVEDRgc3AS4BPAGpBacBMgVHCHsMsAGPCCYDUwJXAcAD2AFPCV4CbSlCCucKKgjZBC4HbQYjBqoBkgEnAZUDpwThCloB5AQhFtx0zC5h","5QKk","wgml","7A6+","vxCw","hwthuAWw","vxC7","igzn","igy5","sQfC","yQjU","sgGEZNyBB4IirgPuAq4B6QOlxQFhgwG5","gwjZ","gwim","wgnG","uwnjA9gE5g","hwuN","hwth","wgnjYFHoAcI","ogq2","vAmnA9I","sgFZ","hwsp","hwth","hwuN","sQdr","sgGP","ogqX","rwqh","/gHW","sQeQ","xglN","nQto","xAdDwwPN+gSE","gRCE","hwuQ","vxB2","kwrg","xgPXcYQdv8MBswGx","rg2m","xgPX","AEIEvlszBB8SLAJEBW8nTg28AWoILAjqESYCMgIuAUoU2wGkGy8xMwMnBlwTLRErBY0vOwI6CEolKhZgD3QWbyedGc8MZgLQE7gClyvNFCwENhYvAmoG8A6AZs0flxO7CeT9Aa8OdwOjEM4gTljQDuAEgQN/CKMq8wG3DoQF0hbOAU4Jtg7aBrAEgCCBMkYJcBm/N/gZkT6wAasErDFFTNh8uQa1C8UF5QzQC1AvsgqxE1QBUAWoGysGdgbqG5wBmBhEKbgcOQJjBb8bqg","xwWY","9gbk","pQ+a","6gIx","wQHqhA/q","uQEs","xwWY","0wrlQto","oQ2q","oQ00","og2r","uQVqa9QenhGaGqg1pu0FRJ4CPA2EkQJFCUw","APUEfAN1AVEL4wLEA04CpAROArgHWQGzB+cDlQLNBYMBmgWbAZwBtQHoAXwFhwaBAlIBWAWYBL4IwAY+ApMCtwG8AYsEqQVwA6cEkgGMA7YEpANJAs0BOgHjAbcC9gHsAe8CkwTjA7cKLQHeBbQBRwPCAk8DPwjVAZgLkgHPAm0BuAlFDc0CzAHIArED9QFWAXkBTAftCL4DWgF2AfkCcgr3KTgBfwVgBu0D9QGtB68E3hHlAjkH9gHzAuID1wNUApcFgwWxFLEGTALMBrMBnQalAYsMsQGwBF8B8wHzCcICPQPcCE8CsgNhBrsJwQK3BrcEowh8AYYGqAGrAecO7QFHBfQB8ALOApIF5ANNCI4F9A5IAccDXhRiArQBSwdKBrsBqga2BvIBrAHqC8YCdgFxAvQE9gHkAfcB+gHwAfABZwGwAdMBsgFgAeUGswI0AbABLwPIAdoBPgGaArQFtAJdBUkB+AXEA/EB+ASwAfMGzQOsBk0GvwfBBXUBnwJHA7AB4QKmA/gB+gbTAdwDfgrKAs0B0gHpFksETwyzAbYGqwOxCZ4FyAenCvwB6QG1BNwGaAHQBvcE8gZ2AawBswqzDrsBzwdIAfIB8Q6zA+YBlwPeBK0KKAGuDHQF9waZA4ALeAJ4B7YCcgPLAtcBrAiuAfcBsQe6AtEGhAVCBHAKiwO0A68DQwbeBLAPSARCBM0MywOsB7QDnAnHAfQCQwGxCeQCpgHjBCoD1gPhEbEB7QT6AfkBfQIlBPACggOmArcBygVJAb0HkgfjA7QC0AHjA30B3wF/BsIBSAPjApYBtAOdATsEnwIpArcCtAK7BeUC4ALIAi0BjgLvAl8D4ANCB40FfQJHAcAJWAE1AWULTgHUBIECkgvMAp0BcRPZCKgCzAO6B0sGSAbzBrQB8gPzBDsBRAK0AecC9APyBqgDJQarB1sEhgJwAU0B6gisAqIB9wNdAq0B4gNNBcUFmQHIAoEBlAJtAUoCUQLNA/oC9AP2Ae0CmwV2AXQQmQJKCk4B4QKIAcYDVAGzA8kB0gVOA/QESAFECbYC/AWwA7wBoQJaBccB8AK8Aj8CrgFLA/kBWgFXAVgHtwHxAe8B4gGLBOABbgK7Da4IuAKvAXcEeAE6BnoCggz3AecDJAHBD3kDmAT3AX0BngTCCdMBPwvkA3oBoQmYBbABpgG0CNYIvgSAAbMD4QK0BXoBtgHaBfIBbwXdAbUBVQG+AuIBxQXiAsUDQQG1AnQBigG3AzkIbwHFBYIEgAF0BLQE7AFHAkMLpAGeAZECRgVRAUgBxwlFAsIBwwvQBkIIfQJ+ArcGRQN3AbsB1gJDAdQFTQOKArgB9wawBj0B+QH3AtwCSAKFAUAEMgJzEdsBcQPOAaUCRAbiAXADqAJNBLEBRQGpAd0B2ANiAUcHowFpCZMD8QGkBOQHdwXcB6sBNQTVBKEF1wbBA/sBTwR9AtcB2ggYCvMFzgFKA4ABSQ6uAu8BvwXEBa8B9QHpAfQB5ALnBLwI3QK7AaoERwSxBkECRAO1A+YBuAusAbgC2QTEA7oF1wG4AawNvgFHAdcG9wmdCO8BRArOC94BywO4A8EEuQK5BbYB2QHNBsME3gGxATwBvAPoAbgCsgJxBOcBwAHCA8gC4QPvAu4FvAq3CEo","0Au+/gSx","zhCx","2gZU","2AYs","4gJ0","qwlD","2AYs","7hHV","gAPB","ownC","kAEo","kAF+","mAeegwKFAb9Z2rUB6usBPA","mwmiAac","mQzm","AI6QAZEsoK8B7VJTswKu+gTUnwHxK/aQA7w","jgWr8AXWTdlOnaAFOA","hwXj","owlY","9Q3i","4hHE","xgzG","zgZ8","vQOyzwGk","lAWl","tAzd","/BGI","zQtI","xgxp","0QuJ","5Qm0","kAF+","6wKhAaACq50C5ZEEp+IFww","7AKZrwbWAcY","vQPR","zBDH","wwXc","iwXC","lwnB","xQLE1AR81wO0AbWmAXnvBeA","7g41","kAH2AvXQAuQB6jWwAWBu2gacG5sNZTuFAaoQkVfwQH0Sq0fiD2AC3RDfkQHoJuwsnhffXpgRpQGrAsMsLg1uCqaYAtwBwwLpogFCDaQfQmKZrQHC","kAG0","wgKv","vAOa","0QKa","aoE","EzN9KOcDrOEBmxPdtASPhAPm","kAW7AWcDVA","7w6A","iwXW9wus","8QWiqwOl","nAne","swu3","vAF0RfPrBumIAuNcqaYF5pIB3g","lBDa","SIc","2AZ+","qwk/","8Qq1X0u2BuA","dl+GCSjGAZYBTA+fM0Jupo0DJA","+w6K","sgTy","vQuZ","bWMr3awDXiSUjwKzMIYwgAt4uwF9CIIlfxCdL32eAaEZgaUBeA","lg19","mQybzAGS","qgzu","tw+Q","+gzEAaU","6g3n","mARd/Qjf6QHoLNU","/g5C","/g6n","9gvghAHTAdE","/Afo","6gHrmRDa","adQVnXbHqQGhDb4/9acBuTLYI7nkA/IKuKEBuCawX70OnUnlb3UfuXW5c9UUzBq4Td0","wRCd","0AzT","wgXC","4g/Y","2AZ+","tw4k","tw7s","tw5v","tw57","AJcBMQFcA6oBSQFCAj4BUgFtAWYBhwGNAVkBOQFJAjMBuwLLAlUDbARLAjUD2gajAWMEgAFnAUwCPgI2ATgHRAMrEk4BgQZxCh8GgQYnAioJJQEsA5YCMgV2BsoFegYmCmoGKQmfB1wHLQQvAx4CRgEvECsBPgSYAzAHKwY3AVQCWARGAiQBLBHCDywgRQIzBzwBeQMxCnwDMQosBzETPwwwITcfhx9JH1YFZRO7BzAKNQEvBN0JOwFGArYIeBvRBTkCNgtGAUYFMyvLBDcQNh9BFioBNREnITMLVgE+EDENLgsnBD4GYhU1ATAJNQpmEo0KLwgkAlgCdQahET4EKRcvEy8MMAotAy0WNwiHATkNJQRBDygEKQw3BMAMLwYxASoRMwIhAS4FPg2PATcGTgMqBi4GOQVmBEgFKxBVAkEDSwMzAjwJKAIoA2oaNgMoAxwUJgQeAiMTLwMnC1cTnQxYBXYFKgEdCWoBKAspATAIJQRIASkCNwFABD8DMwEpB4MBLgEmAisFMQZPDGYJhQE0DG0CMQUuAi8BJA8nCjQFMQM4AnoOLQFmCDUQRgMpATEDLwo2ATcBIAc7AVYFIAKfAjQGOxgyAicCOAElB0oCKAg6EGACKhA0CEQCNBEkClEISgU4C7gBLwlzBEwCMwE8AT0EIQInCEEDSAU/AU8BJwEgASoCZQLdCYcDJQJxBCQDKQYgAR8CLgExBmABVAEhBi8HIQMhBVcDOgU7AT4BMgkzAzIBNQEzDysELwQuAWMBYQg5AS8DLQEoA2wDKAEwCcUBPAIyCDMCKQNFDCgEOAGCBCkDNwImAZsCKwYyASICRQGOAl8BZwMrAT0DaANaAXEFXwZIA4AIxAFPDFgGLgMkCoYBzAJuBykBSQ8jAioGRAQmDSQBoAEyAzABeQOFDCwCKRXVLccjuhtMEUYhnw","wAQv","wAQv","4QIxig1P","FnU","hwKIuQIvjQZU","fkM","fkM","pQiH","kweN","2wSt","ixBr","wAQv","wQ40TsU","2gjA","wQ40","Fr0","AOgC6QHWAuIC0AHiAdQB0wHiAuIB1AHhAekC4QHiAdYB1AHUAdEB1AHUAekB6wHTAdQB0gLmAd4B4gHUAeEC1QHRAdUB1AHpAuEB1AHVAeIC3gHSAuYBzwHjAekE3wHUAdQB1AHfAdUB1QHiAtMB1AHnAt0B6QLUAdcE0QHhAdMCzgLfAdUC3gHfA7UB6gHUAb0C4AG5A+UB2QHnAdUB5AHZAdcB2QHmAdQC1APVA+EB4QHmAtkB4AHjAdUBrAHlAdkB2QLYBNYBRQHXBOgB6QGlAeUB2AHWAdQB3wHhAdUB5AHUASoB4wHXAdYB5QHUAd4B6wHiAd0CRQHXAuUB1QLWAdQB3QHfAekB4QHVAdcBJgHXAV4BtQHFAeAB2gHVAdQCoQHiAdUB6QHkAdgB5wHkAdkB1AHaAdkE4QLUA9QB6AHXAeQBiAHiAeEB6AHaAtoBxQLZAdkI3wHlAdcD7QHbBd4EQgXrAeUC3AHZAtwB3AHcAtwB2QHaAeUB5QHlAdYC2gHUAeMD2QfcCeQB5QHcAuQD4QLTBN8B2QO6AaoB1wHpAtwC1AHUAdkB1ALYAuEB5APZAeEI1wHZAdcB3QHXA9kB0wHZAeUB1APSAdEB3QGVAtQC6gHfAeMB2AHZA9sB5QHkAdQC1AHiAdQB2QHcAdUC0QHUAdkC3ALUAtwB5QHbAegH5QHWAuQB4AHjAeUB5QHkAeQB4QHlAdkB2QLlAdgB1gHfAd8B2gHlA+cCrAHiAbUB4gHUAeUB1QHTAtQC2QHXAdkB1QHlAdkC2QHZAdkC3AHZAeIC2QHjAeIB5QHVAeIB2QTlAdMB3QHlA+IB1ALYB9wB1AHgAeUB1gHlA9UC2QHlA9cC4AHiAdYB2QHUAdwB5QHUAeEB4QLcAuUB1gLiAdUFtwHfAtIB0wHfAtgB2AHVAeUB6QHZAeQB1wHpAdkB4gHlAeUB2QHXAeIC4QHkAeQB3AHVAdYB4gHiAeIBSgOrBOQB5wHZA9kB4QHkAtgB5QHZAdkB2QLkAdcBUAHZAdgBaAPZAeQB0wHXA+EB1wHlAtwB2QHXBuUB1wHgBtgB3AHkAdcB1QHZA+QC6gHgAecC2QHpAeEB6QHSAUsE3AHlBdcB2QHlAeQB1wHZAc4B2QHXAtoDmgHVAd4B2QHZAeMB5QHpAeUB6QHlAuUB1gHcAeIB1wHXAdkB4gHUA9wD5ALlAXYC1QHeAdcB1AHpAZQC1QHhAtkBTAHhAdsB9gG9AeIB6wHjAeoE2QHXAdgCagHZAeUB5QHrAagB4ALhAeoB6ALZAdgEzgHZAtkB3AHcAeUB1APZAeUB6wHZAdkB5QHZB7QB5AHlAtcB5AHYAeIB5AHZA9gB2ALcAdkBUAHrAdcB2QHkAeQB4gPpAdgB2QHkBNkB5wTXAdkC3AHZAtgB5AHqAuQB1wHlAeUB5QHpAdkB2QHlAtcD2QHXAtkB1QLXAeQB4gTUAdUB2QHlAeUB2QPXAboC2QLZAeQB2QHlAesB2QG6AdgB2AHZAdgB2APkAk0B2QHZAdkC1wHZAeUB2QHlAuoC6AHlAdkDqgHYAdkB2QHZAtkB2QTiAtkCtwHlAdkC2wHkAU4D1wTVA9gB0gHhAeUC2QLkA+UC1gHZAtcB1wHXAdgBrwG1AbgB2QHZAtgB2QHoAdkB3wHZAd4B4AHZAdkB1wHZA9YB6QHVBeIBSAHZAcMD3AHXAtkC4wLZAdYC2QHZAesB1wHlAeUC2QHlAdcG3ALaAdgB1wFGAdkB1wLjAtcB2QHXAdkB2wHZAegBswHiAdwB5AG1AroD2AHXAUgB5AHoAuIB2QHWAe0C5AHXAdcBwwLlAdkB2QHZA9kB2QHcAdkB1wHZAdkB4gHkAdkB5QLZAeoB5wHZAUEB5AHcAdkF1QHUAdIB4wHlAeUD5QHUAdkC6AHpAekB6QHlAtYC2QHZAegB2QHXAusB1gJmAeQB3ALXAdkDJQLZAdcB5gLZAdgB5QLVAtQBtQLlAeUB5QLgBCkC2gHcAeQB2QLUAdMB4gHUAeUBOwLgAdUB0wHoAeUB2QO/AtkB2QHlA9gB1gHcAeUB6AHlAtkC2QHUAdkB2QHZAdkB5AHZAtkB3ALUAeUBsgHgBNQB4QHlAaoB5AHlAesB2QHZAuoB6QHiAdkB4QHZAuIB3ALXAeQB1wLXAcEB4gHpAeUB2QPsAdkBTgHXAeMBKALZAeQBewLnAd0C5ALUA9kC4AHXAeUE3ALiA+QC2AHlAeIB4wJGA9cDZgGhBNcBQgHXAaUCRQPYAecBnwLSAdQB4gHkA9kC6wHkAesC0gHUAdQB1ALXAuUB5wHiAekB5QHjAdgC3wLZAbYB3AHlAdsB1QHUAtkB2QHXAdoBQwG9AdkC1AHiAdwC1wLlAecD5QLZATwC5AHZAdUC1QHhAeQB2ALZAdgB2QHZAdwB2QLZAdkB2QHZAeIBcAHUAtQB2AEmAZ0BZQLZAdcB2QHZA9kB1QXpAd4B5QLZAeUB2QHZAeUB2QHlAdgB1QHVASgC2QjcAdcB3AHXAdcB5QHXAdwB2AGQAdgB3ALdBOkB5QHpAtUD5QPmA9kB4gLZAtwB2QHZAuYB3wTiAdUB2QG6AtkBRQPBAuQB3QHgAdkBugPkA9kB8AHIAUUB5QLdAUUD1AXTAdUB1QLVBdMD2AHkAUMDmwPYAtkD1wHfA9kE5QHZAdkB1AHWAuEB4wHZAeEB5AHUAeMBxwHkAdYD2QGYA+IB5QHVASwB2QHZA9kCRgHZAdwB1QHbAa8B2QK6AdkB6QHTAe0B5AHVAeEB4QHbA9kB1gHUAdcB2QHTAdcB1AHUAeQB1AHYAdkB1wHcAeQB4wPVAdMB0gHVAesD2AHkAdcB5QHjBOIB2QLjA9kC2wHZAdUC5AHlCdUF4gHgAdoBdALXAmEB2QHiAdgB2QHtAdgC1AHZAbQO4QHZAUwB1AHSAtkB2QHZAdcB4gHhAdUC2QLXAeEB0wHVAdQB3AHpAdQB1gHTAdUC2AF3AeoB2QLiAeQC5ALZAdgBnALjAekB2QLXAdcB1AHVA9gB6QHiAeEB2gHhAeEB4gHiAdkB1QHiAeQBRAJLBNUF4gHWAdQB3AHZAeQD6QHXAdkC4QHkAdUDRQHZAdYB1AHTBdgB2ALgAuIB2AO7ArsF6gHYAukB6QHWA9cB1QHYAtcB2QLfAu8B1wPkAmED1AHUAdQB3QHVAd0B1wHlAdwB1wLlAeUCPQEnAuUB3AHZA9kB4wHZAdkB1wHZAeUC5QHUAW8B2QLZAdcB5AHaAeMB1wHZAdkB3QXjAtcB6QHZAdUB2QHqAtQB2QHZAd0B2QKmAd0BQwLbAdgBrwHhAuIC2QGtASEC2APYAtcE1QLXAtgC5wbWAtwB1wLXAdcB2AHVAeUB4gHiAdUB5QHiAtcB2ANtAeIC2QHWAkUCRgLUAdUB1gJKAdcD4APVAdQB1wLXAtoC2gGhAeABuwFHAdUB5APlAeUCnQHaAtgF3ATjAeMB4gHlAtwB3AHcAioBkwHXAdkD3QGeAcsCpQHiAd4B3ALHAdkB2QHmAcYE1wLkAdkB3AOzAdcBXQKyAuEB3gbZAXkC1wHUAtcD2AHZAvEChAHYAtkC6QHlAekC3AHmAegB2QHfBNkC1ALpAdUBugHpAuIB2QHiAeIB2QHYAdcB3AHfAYQE1QbZAdkC4gHXAdgB2AHZAroB5QXiAcQBsAHlAeUC2QHYAdoB2QHWAdkB2ALZBtwB2QJ9BNcB1wHZAtcD2AHdAuYB3AHZAeQD2ALkAdkB1wHZAdkC5ALZAtkB2AHZAdkCfwKCAaoP1QFLBtkSnwxMAuQD1QGsE0ML3DdKB9kB2SqsAtkB2Q","QGI","5gq/","fmo","ixCW","wg8c","uQ8m","QCvWASyRAjVGKOUBI4QCN0QuygEdIipnNAg4Ajs6IAg0KSc+KBMkCiIYchgnCx4HJxIlCSkRMgcvaik","7Qox/gIhzAE3DzMHIg","U1w","U1A","zgFo","zgFo","hgxm","rASu","hwKs","zQqH","rASw","jgw1","wxB5","zQJ8","ixCe","jg6H","sgkq","2AE+","rASk","J1k","pwGioAOl/QZCIVCAAo55QQNhVpPpAUsUSj/SA0g","ApkVzQVzCuAKTwNJD0oUHheUBCoIaw2aA6EG6QRHEUcBZRDBDUETRQZADJ0DiAalAqoC2gJCC8sQ2wU+MHAKoA9IDD8JgBeRHLwCPhdFB0EP8wWgC6EBPwRgCLsVxQjLP+4OcRTZL0sLswqODEkyeUL1AUUF8heJDE0UjjNFFvQGSws6CJkDSTdzDscLrgHkEbYRRAgoBUsBoShMGyQQogV8AaIBdxemAU0NYwguDoYFWQlEAUoJQRJPAncUoBUqFFEImAHUMFMlwRmkCW8kugubAnUHzgQqAZgSmwNCAl0PNBLBCsY8KgRpHE4CSTphDUoDZAeSAcAB7gHpBaoXbRY+B0sFfRNvIVYBQgg5ApgBoQm6CUsInwPDFEYJbgNFDCcuxgVKEKwecR2dBaNGvwHYP7Ukpg","IW4SNxG1ClMVlQjQCkMV2QKaEEgcmybLCZ0NtQhpEVgZxQVPK0YVgQNPDkUKZSFSAUkSUQ9DBJoOQgU4IJ0CRw5YBEsoRjjNE00BmyhKAaIIegJRDVgfeQE1HZMkaQXLICcBzR6oAs8GQQjQBdkZnhByCj0NZgygAU4NTA+uBUsHlC6jAm4YpDecAkMHrAaEGGIYyw5IBm8YRA5fC0QLkBSaDx4HkxMqFqMPLgR5CFgBSASnEUMErwFCFKcHuwF1BU8HuQJPBMYEgQhICS4LhwZYA1ABNQKhDj8D1wHKAUcDRgE7AYkJxg9+AcMFfQN1B5wVRSxgIX4HhBR9HlEFmxuWFKQCXQyVCKEQphtCDVIWqwPCA7sxRgPBBykRcAGNEnQMKyVRAzccvANvCKYBNSN2BqAHPQYsA3sEUTWeLz4yrAxpIZ8Bowef","+glE","1gPN","8QSt","/A+j","uwfL","uwed","jA6U","BIAEoARZAn0NnhCjA5AGewupAWIEtQS7FrsPlARcBs0Csh+hBaAInwGjBH4QmQKYGysCSieADLswnk+RMsEBbQSRUaYTsRzOA6gTPS3NB8wHmyCrBqIYpxemE5QYzQpmBZ4JzA3FC3YKyhfMH8YYng6GBM0UgAOkA3UPmwaBAZkBvQJ7BGULugo4BMwFzRg+HaYIKQpxAZsHhAHJBHcCJQLFF4cNUQpmG5McwC5aAsgMIwemCccIJgIwBCMasRVaB5YDwgN0GXUTohmSMKIR6AG7CsUGiyqkAbcE0jJoLHMFoR+ODpUNwwYtDkoMRgXFCHAaJwGoDcgXZAKlCCcEpAchB6MIMQqpBqgGpgmjGUgBTAU+EqYTdAaPBXEIcwWFCqIMyBy8E9AFjQZvF4cHNhfLAcsBzAHQC0sWSxU8CUYcrQdJFT4JnipI","/Q2f","2wu7AbsQi+YCqQ","QHxXnxNlCnEIar8B3ihyGsFfzArO0AG1OUiGAcauAkJ6hK8B8SM2Cp26AVaDAbQ3SGYkBa4Brg","AeMBwgXJBzkE0wQ6AWsCogHRDoILdgmAA9IBKwGcBUICrgpOBqcI4QgrBnQB1wPeCNwEwwGhBnYBegEmB1gEgwK1BMoDrQaPCOMDtw2BB8cBUQNqArABLwc9BEIEqQErAZEDdAyzAaUE0AGHArUK3wbYCHACwwHaC7sOogLsD0sCcwVbBWoBiAVCC2AFJwPzAUoFygakDz8DRQW3A+4IogZ0AnYB2gOCAdgBcwihCLcWXwHYAi0JowlhAqkFywGcBpsJPASiAkUB3CjfBbUBkwzBCMkDpQfTBNQDNAaWEKgGpALlAi0FzwI1BXIGgATgCnUDQw3UBdIH6wMvBCEIpwS/At8M4gLCAr8duAgqAaYF7wvDBnojygSVC9IXtwe3HqYCMAZqA1cfhQi3CdMVmgSwCKYH3QOlAk4LWgHWBIYC2wO6ETANrQfjDMsB4QrPENAMSAXBBCkNkwLmCbwJzwHQAlwBeARlDToF5QLeB9gCOQjwAYAEwQLCBY8HbgPOAcIBiQJ3Au0BxwJRDz8CcATQBt8BbgTDA8oD3ALABakCSQRkBqcCWQSdA88D3Q2tAXkLzgdICMoEggFnBnsEdwV1AYECyw+ZA4wPwQLDBlcElAHbAdQBRQLEAVQGxwSbAdYBUQGlB9EExQW3BlUBiQeMAuECnwZlA9sB1wFPEaUCKwJDAZsEuAKmA8EDIgOAAdMCtQHMAi8B2wGZAbgBZAFlAdoEewPnBt4HNAKVAsABjQLHBscD2QYnAYMBTQHYAcAH5gFnCL8HvwFdBkkCnQaUArIBpgPkBpYCwQMgAd0BkgGuAUcBMAefBNABbBPVBbYGeAGUA4kDsAO2ByQIjAGfA7UHhAWWBYkBsQJ/AdIBbAPjCTEGuAJhBz0BrQO3AeEFgQU4AXwE4BaZBqMKnQVfBbwCbgO5DngBvQPNASQDZAHKCC4B2QHfAs0FxALKA3gCywS0AYMEhALYATUCRxNUAzIBwQs2BuQElAOjBMABMQgmBWsBcgEiBsQElAWwBYsBtAawCIkEKAI8A8QKzQTDBGsD6QvhCK4BiBGGAuIN5QeXD+MD0gNJAcECLAEnCNUBewLAAtwB1AWRArQN5gJJAdsBMgPoBEkG6wfIEEYLQRXVBYMaxAXZAWEDOwO5BOgG2QpjA0IBvgnnAbAB3QtJAUwVTAFIDeYBiQezBkkMwQHt","tAGk8wnM3ANI","zxGg","zxHF","qQFtgAiu","2QK5","2QKf","2QLj","yw18","0BGw","gAGx4ALR9wWiPCbFA80mgaYBPGx6Lk4","igXQngPPvgRz","GYJBdxBmG3I3fAGHA/BWmSIzK5ZIVCwviQFkAjbDAiQaPyCZuwFOCVoNnSygHjgFdqQBSCBcByIJLyNxHL1ZKx1IBy0uIg3AZF8LgQ2XIHACKwZPLVEeJg5iEaEpPw","kgy9","8wGeywtqOJk","1gl7gAE+CGSBATA9bli+lAM+K3E","FjoURwNJMo4fkgKmBE0NShGnH4IBqw09ErgLUA/UAaABtwhYD5oCZwG7D1gItgFNAm0JSRiyCEgRPwFLAVoHawRpDqQEcQVBAUUHyQdND00HQwZREVoETQM7ApsXYAfBDXIBWAGcA6wFZgOBCUoFTxDNB2MGZgJRBC0BdRLRA7ABWBSUCzMBYAp6BlkCUQOxCKkFbR/OLn4OSg9REk8LnAIrCzwDWgFsBKUZthacLjwXfw40BE0CSgTLAmgFOSNGA1YMdQI4CVYCLQ1CDDcROQFDFUoEXSdmAUgESAVWClYVXQGpB2MBYAGkBacVUQZWFCEEaAVMDGAZRARdBFgDYAaLG2kLNwFdA2MNZh5jA0sIdQ+vBaICrgOLFlYFuwGmCKQG3AFQAzoOogmeBMMDkgFYCT8XhgQ7AcABqwuwG0sBnAiEAkgFWBY+GJ4EYAkxDX5FvB2lB3UJNAJCAToIPAJgAScKNQmCBSQGSxtqBoIeoUOvAk8KcQRqA1MDTws7BWkGehZCK2kGbhCkEk0BaRM8ATIKrwREBsEEVgS+OEgMuySlFZoFqTWfA7U","DLOwAubzDEM","Ca4BhgFXBbAGOgIzA0UESwI1AT4CQgE9BZoFkgScCbYBthGrAzIEfgqeAykBHwV6AawBHwKuAXwCJwKvAZwDrQEsAakDpgGnATABowE5AaYBrQXCAdIBpQInAlYBsAO0AVsCewHAAU0CJgFhAUkBVwFfAXUCNgKEAm8B1gEuAdIDNwHyAbEBWwF6AbUCRAJJATUBIwGNAsgCLAPOAWMBoQHCAqABQwLBASYBHgamAiwCMgJfAiYBogEyAaUBPAErAWECqAGbAaADMAKwBSsBYQEpBDcBNQbBAsEBYgSWAecMLwXaBFgErAJjBGMBbQ53At0EmQSqAaoCRQJUAoUBawGzAWQBkwGqAigCdQN/B2QBngK3AXUCWgFMAlwDLQGmAjQBPQI5BSsBKwUxCLwC2AI3ATEFtgQwAbQDZgjzATcLSwE7AToBOgE8AasCSgFgAbwBoAJpAa8BJgN7AlAJwgW8AbkETQIvAikFMAEqBnoHNAIvAXkGMAGMB0MBOAEwAjsEUQSxArkILwHWAdMB0gHTAdICoA5RAnsKqQQsBjUBuge8A9MBNAE6AcABVgK4AfME9wMvBFUDpQSYAUoDKwG7A9UE6gRTBV0CfASXB1wBKQO+Am0I1QkqDOIB8gbkCDgBrwErAyEBLAE0As8BWQa4A1kBMgFmAbwKUAFAAbQBYAFlBbkGPANnAdMVKgcsBEMGWQEnBLwCfgFRA50CSwi7AbwIKwQzAzABsQErAZ8BQQRuBDsMvAFSB6QKYweeA4MBPgYsE58BJAFXBq4G1gcrAvoBOQe7AeICwgafAkgBKgG1BVACrgJGBJ8BJAQ4BrwBtAjzBG0DtAGgA7kBjAUpAdECvwFWATUBRgFgAbIBewFkAacEuQN3Ab8EUgROAbAEKQF7AlQBYgEvATsKogFQCi0T1ArmBC8BOQGwAiYCfwhAAacBvAJBCS8BVgRTAUUDNQFGB9QFNwHQAeIC0wHyArwEVgK8ClwD0AEqAsIGvAaMAYQBTgK1BtIIKwKtBGUCjQEuAtQBjAWkAU4BeAIxAsoCwwEkAX0DUQFkAkgGMQlaA1gDMwJBA0sDMwGnATwBxQUnBSgCKAEuAWMB1AHWAUUCIgcdAdIB2AQtATMGNgE4ASMCMgUwAtQGSgGSAh8B1AMtATMDMAE1ATUDvALBBFYC3AYeAbwDLwMnA3AGMwKCAXYPkQhQA0UCSwRTBb4BVAUsAaUBtwEnAsQB0gG5DG0JJQOZAikBsAIlASkENQGmAa4BRgGpAU8BNwPTAZ4BTgEmAbcBSgG8A4sBMQFCAW4BUAEqATAFWwHTAdQBtwPpAtMD0gExAVQGMQIyAdkBdQG+AT8BeQG7AawCvgExAkgBMAGDATgCwwNKBtQB0gK2AZoEWgWtBXoCvgg7BNMC0gPXAdMDwAOdAtoBjwHmAeAGSAPlAaQF9AFEAVMFYgKsBJwHWQJzAigCWgPAATQBVwQgBUcBvwJKArYGuwE2BsYMRQQlAlYBgwNJAqIDsQFFAd0BrgM6ASgDmgGiAyQBXge8BC8BQAQtAdQCWAIlAy0BfgFPAT8FLQFEATQBVgE0AtQMSAJJASsDvQQjAy0C1AHxAdoQ1AQvAUUBwgZCAT0ELQIzAb4BbwQhAloD1AHZAdoB3AKjAVYCdQVzAfYBJwE5ASoBLQEqAjIB2wJdBqICIAHaAZ4BJwIjASgBogMpASYGHwFTAS4BMQGrAa0BMgG+AdQBKwHWASECJwGCATUCLwHABD4ErQGcAiwBVwJxAaMCTQEqASsCvAG0AjIYNgG7AbwBqwExAjwGKQVDAbwBNwUvBJ8BOAGmAzwCMAFdATYBrwkyASIEpQE5AdELnwEqAVkJXAHPAY8CUwKlAS4BWgGiAW0DKwG8ASMBJAGIArIBIgEjARwCrAGvASUBJAHBAUoBWgEnAh0JIAYqAsIBOQdED7kBJwROAyQD1we8ApQOSgGsBWsGKgK8AZkCoQQvAlkF1QYxBjACXA9WAUcCrwFsA5gNzTiRE0YNTgxtF64WxgE/He0ONg","ggfL","qAHQ","8wGeAqaWBbCHCaM","9QGcpA1smwFp","mQ9z","DW8RLUorCiUIJQEsBCcKbgSCFmoULBwlFGwMKQi1GywmyAEvE1MELQGgF80LMS4rASYBKxkvYy0gohBaIeIjdQwyBjYTcROcJDcyNCmXQj0azQhLAmoKaBI7Cy8RMjGcA48BhkBlOS4UeARIC98KcAMqDCEIKAYtDa4gLQmTDYEYdi4xG3EHNQwmDWUHvwoyBTQOMQIwAR4DLCCjBTsJiQUtB8UGKgsyB6INWRIwBCg4TQkqGlY2WhmQDYEDKgFNDCgEKAUkLysFMhVKBi0BMQgpDS4BJh8pFDYVHAIpAUBkJxkzFaEHxAO3GrAQQRtqBTcCxAK4Cz5TuRFY","/g2B","zwWc","CmBsXw1KAfPyAeIB5kuRDHjLBXCjA0jSAVh5eZQC1w","hAHO","hAHO","2AHngAKKUOfGAXYvZqEIzmHNgQEm0gFMAc8Jrg","qATI","kAFBxQ9I","bEXTAUYVSpwKR7UCRLABlw","BHwBQQHIJUkKrAdsAcAByQhKB2sDNQO6A7YEvAvAB7cGbAVtB4QWkw+rBG4Kkgp5DEkHaAOfBKkFTQ5iD9Ih0gHfEHsDzwlABGYBugGuBaoWtgORAbkFcASkFEUgygGjBHkBUQorBHAFZg6WA6EBrgVIBnEBrgmwDycCfQlYRa4HhAPBE9YKnByUFWcTegjXBs0NcQRyBqcDyx+mBlAuvg2sDUAciR6iCusUrg6uF1sBrh9FA1oBKAI/BpMLSRvPAWcxawmiBnABcjk9DWkFzwqGE5oCnQEqBXUTKgZ/BLUHtAXEBmkGSAGcBS0YkQ+wC4kUdRKWC6QHeiJjC7QGpAqjGDIJRwR2Ab4IkwNFCoMETBCAA3wCghSND2EHSQO4A3oErhrABHsHSAJhBp0BzgaiC6cEmgpkAbQDMQqOA2EEWgVEDisIHxRGASQLahLeD1IHuRCeB40BvwHCBCoMswwmDDIDKwGUBC8DpA2LBcgBfQGxAnEFXQKuBXMIkgPSBG4O0gF/AqcBcQd+DUEKnAN8EFYGSglPAawC4gquCkYIiQVxCeQGXg1vDLYKKgucGaYD2wqLAcMBtQaNDjMVxTi0CIUJbiRMCjYBYw","A90G3CI+CqwEjAOABYsGwwdTCGAJtgmkCSoJoAFBAU8CMw6gIkQKPw5EFK0DPh20I7ANWBdiEicjPwLUigFsE8IhKR1aM3UbK0ZpFa0VoRuyBb8Fr0CEDnx6q0hwE/QqyBmhOpwXygJGEL0DRgs8AYoUIgKsO203uzSiBR4Inh+oEHUPawJJA4MNSxNvDSglaAKqLSgDHwSxEnEX0QqYAUwhkQpIDYcFOgHkBikWmwZzAUgKSgKvBXEFeA6DBZYHSQiAF5EQjAWoHk4KWgYlFpoDIBdCB20LKgqtAn4VdgNxCOYg5QbBJ6QeyieJGrw","2Qj0","nQKw","/wm9","lQxr","OYwmjg","X44","KLOXAnUEezOkpgRWMkPlAlLNAcfjAh4","gAzH","mALSAcY","ygtF","lg98","C+YK2wnoAugCcgHyBfEM9AOiAoMBjAHTBOICzAK7AfEB9QH8C+0FmAXXC7EB5QHRAsgB7AH5AZQFcQFyAXwCoAGbBPQGvAG5BtEB9gPxBOIF1wP7By4FxgHIB8wB6AfyAfEO1QLyAugBugLjCocC+AXuC6QN7gJnA+4F5AFvE1YBmhGqA+UEnALkA6MOLwrrA+EBzxKRAdgFuQH0Ac8O6wN5AXwB2QjKDNoMrgM6A00ESCD3BN0CmA2hCoAD7gHPA/MWugbvEcwV1wnhB78HSQWzBc0DtwHmAqsI0gnwB9oBwgtDDJ8G3AHiA8EQ7ALyAcwBxQGwAd8BkgJwAiEJ7QHjAvUDqQXMBdIB1QFlFO0llAHpAvQCmwG0HPkCYAPqAu0V5wLnAeoByA/LBugB1ghOAuMJowbiAtoB+QrYB+4ZlgfRCu8KxwFLBL8C6ghNAvQItAK+BTgD9wa+B/ECtRPQAnAMgA/gA94BVxG6ArYJ4g7gAfEB8gHxA/QQHge2A8oF8Af4DL8B9wHRAu0B+gPiBvMIfwj0AcQFsgL2BOsC1ge0An0B1gjYATEP1QkyBoAE6QSGAXUBxwTzD0II9AX0CUYOrAjxAvQHxAbkAowSyhBqCJoEvwXcAfsC9wNyBNkK8gFHAsQG7QHIBZUD4QH2BTUJ+gGMAZICmQrfAfMT+QH0AuoDgQH5AXIC4AT5BNUDzwXpAeYBtgHTAswGMAnZCEYDbwFID/AM6Q3sAigH+AJ0BOoCvAGBBsECggGDAYoBnQPzAfcB9gHWAegD2QLeArwB1Ab0AeQT9gHoA/gB7gH3A/AC+QHDASkE0QviCuwJtQHHAfEBswJNBawDtgLiA/MK9wR7AfIL9QH4DY0K8BD6ATwLNAHvBEAC3QjZAz4JzQQgAfgFzAW+AeUE2AHqA2QB9gKtAqIC+QHNAcwBSAGmAeEE1gHsB+AGLgbuAagGcQf5AaEE6QHbAfMB4gHtAfAB8gxFAvkB7wN8BlAC2AL7AfAB8Av4BfYB2gEmAb0H7gFBAvII9QfMAdMIKQXwBkAB+gJfAtkCxAHXAfAC+gTwEtIX8wL3AvQFWgboAWgBfQJfASoH9APOBqYD9QLcAvECywWQAe4BowHkASgDrAPaBt4D9QFMGsUJrQHxPdIc6BX1CNED5wHIArsE4gZSF/M","5gjJ","5giZ","5giZ","gQGviAR03QO/","uAak","5ght","5giZ","gQGviASf","xwgm","kAGp6w2KT6s","mAHuL6oP6h2w2gLe1AE+kgKpEZUp3RHfIcVh3tUBv3DNKCV4VDxsCtwRvTPV","mAHa","5gzTAcEB1A","6Ayi","7w6N","6AtO","pQnR7gOw","yAu/","4ARCJtWUAb1SJGgujgWl9AG4J7Z6uA","/Q6g","xwhl","kw2w","RME","I9U","wgNG6QvCAcw","1As/","8wJE8Qap","5AnK","pwe8","7Qp2","lg6c","sA/z","sA9Z","2wHJrw1l","RfY","RXc","rgxX","e9YOyw","yA+7","RdA","RaI","nwm3","1g5y","zxHz","zxGg","InKjDIHrAyY","wQia","wQia","5Aqg","sBCn","hwnQ","RJ0","RHE","1Adr","yAvC","mAHw","1g7Z","rgxXiQI+","tw4+","nQdz","7QzM","II0","oQa9","ygHA","/giv","7Qx9","4gzU","7Qyo","3xHp","hQ+S","tg+T","zwZm","bEI","ckgJQRHr","tAGO","1w6h","qwzlE2wkzg","mAFD","hgXN","ig9l","ig+R","jg27","nwWP","xQG49wqG","yg8k","xw8p","yAvK","0wV+","lg6c","wgN5","wgMp","wgPM","wgPc","7Qp2","rwlx","zwZ9","yg8k","1g5ydKs","oQrW2gWu","0gpqF3I","aGE","gAuxvQHI1QPsEOk","1AeZ","dvIrLMUJ3hPr","twl1","wQuy","Rrm2A7pkylDmS8Af4aAFwxuBaMQBmN4BlyDKH34E3hCNAcQN1ktiMXUC1BfOCZ8H4AmdEfB+6A","uwus","rgl9","4ATV","/QbV","/QbH","wA/p","2w6pAugDrwHa","2w7Jb9w","gArk5gLWAZwBwg","7w7H","rwlxjQfj","RXefAsO9AyamAsY","7w7X","+QrN","uASy","twnF","zgzVwwGe","tg+T","xwGj","4wrZ","4wpr","zxGI","oQPCmAI6+ARRAegBwwHYAc2aB+k","zxGI","JJ0u3mMptwmLYGuHAaUBo80BRA","8Qvf","+gbDpwSF","8wG4jwqgTVCLAkM","/A/H","yQ2+","/wzM","/wxeAV4","/wzM","SOmSAaIgv6cBufYBviI6kQHiK++9AyEzVAXLYmvVAsvZAtY","zAtr1QJE","sg7K","Hi0qhydQI3kxZUByPnM35GAxBRslNmxftwJF2gHqA6b8AyRYnQ","gwwn","wg8y","tg+s","oQTPAeUCyQJwCOWiBTLsB0AB2gLPAegBowHsAegB8AHwAu8B7wH1AegC8wHy","zhHj","oQTPoQ3NA94CxgHKAbIDvwHJ","rgTvlQ3fBT4B5w","wRHJAt8","whE+A7kGxAG/","K4cFmAabEut+2w2T8QHBFuwDXWNO+AGYDc4N0nCsvQH0AYtp9ALNEKcYmbkCtjxrFfI4KwHbFoU5xBKACTgsRiNOIo8ITgXGBIwGdg","0gbM","0gbc","MIOWAaY","2gOf","pQdF","XZE","XZE","wgjAAc8Bz1TTuQjQ","4gkovQVG","jAFisg3eYfY","vg6h","vg6t","nw/Z","nw+u","nw+z","5wjQjQQsOqY","yQ2+","XPA","wAdN","Xcg","iQzAAcE","ugPD","nwVLxwPHuQS8jQNn","gBBH","HoNRapAIctYBdPAB9w","xQxN","xQza","0AKx","FZln0f8CUucC1pkByQHqsgSb","4wru","wwfz3AXv","fI0","wwfL","wwfw","fI0","fI0","wQjz4gT0","ow1I","ow1W","WPE","ggpGxAJIvwI7T2c","qwqClQU7","T5MB2qAEw4AC3RP1KKWhAYCcAdp0n7ID+MoC8QKhZc8MxA","gweI","6Aml8Abo","gwe5","vxHPDMQ","T5MB1aAG0xON1Ql0","zAiA","6Qbg","6Qal","hgi7","1QbX","1QbC","jguW","GGgCxnptAsEWpg+jK+u6A6ZPYawC3iTBjQGjrgFECKA2wAqWCG2CAiKMAbgBriuYOkBycB9q","Iy1zQkWTjQNsN4Y0T/cBRge4DpO0AaMBdH2eEpjRAXwBoiiZBHUhoSBMNJtgniSZJKYIcz4iOCsLoE2Y","5gFp","5gHG","5gGg","mA7i","BIAEoAmpAaMCuApOBEwIggZPAbkCiwKsG3IUeQ81AkMCowVvAT0IoAGaDIoBKQMmAY8NRwUsBJsGQAqaFG0lcwRBOqoBYARyGD0IpgFsA20CogJKAskQaw0wC2cP0QW2BaYGiwpDGqQEqQUvB60MZBieLl1PKxtNJrYCpGdUGi4PQgKVBaoUqAbJBEYCzQLEBnEMuCLOBUEURgexDbUNKQGkBKU4ORtICKcBtAjJCSwLRwdCEkICzwmXEccBTgakAZMGcQE5CWUMNBV1A6IGMxCfDE4CYgdGCEMDHwRtC6cGXApSBIwDlSFwE6UEKBqeCUIDRQKpCJkLRQ/CCUYGYwGjAyUDcSSbBKEQRwEyBZ0DWg5ZDzYBzBWrBKMDpgFuAZ0bPwpGB0IKoQyYDHICuwuoCZ4IqhauHVwRdQZgBKEJNAOnB1wRpQWUCkYCSAFqClQGmwwzBUIGUwR0BKMBjgV9DFABlwhIA5YKpwQiBIICQgOiCEEKzgywBIgBXwNGASIObAW4A5sFvwSYBl4BvCuvAksMKApnBKYNnQpqC8YCjjlM","3Qvf","3Qtg","XcwGrhXWJXhqpbgByR4bpwGSL9V2sERNDJw8qCIoCyc3z0VLWkeVAco10pABSBUzApY9UwYrd5YfQCltFmoiHgmdNLABsAGwAbE821DcPXS4Ac0","hwKlxgjK9ANq","qQaZ","zgdD","wgrmAeMB0gHjAcqTAtUC8QPm","xApz","xApz","wgqWBHU","ygtt","wgGFEUeZBZizAqKyAvUcodMCS2xK","7AaYswKi","J4ArsQNYCpYDKROXEp8dogGfL6oLoxBxC70gfClEIsIPayVLAWsMtwGRAdUYpAKRHJUJimmWYn0BqQxHB6dXMB7nU+8QpweWF7EIpAZGAskGxA8eA7ZiQBV/AywUSB8/BncTOQpOGE0urAJKFZ8FnganT50Ntg9EDS8XWBpHEqkUdwlIE0lnpAVyAZ9RTzi+J0AHlD0rGUwDmBeoEnYgrQq6KW0RrA9IDy8BSWo9BrcZOEA/","5Ae2","xAvf/gPC","xAvf","iwzR","8A7K","pA2/AcUBwgHHAcQBwgHA","gAWz","gAXp","mAGBAkET5BBvHmgEuCPOLemoAT5haDDiGaUjl0tOA+5cnw7EQeIrRwxJbelvLQg+CpgC0CDVDuYg6VVLEb8BxBefAUVXoQe8G1EL9Bl6DyYFyh5NFygDKYcBSaoBkAFyEnxNnMQBoCBhAWIoaQ","lQyv","8gW4","+Aq/","lQxr","DzZDTh0nhgEkElwzKwU8BysTLQREPl0LJgVwtgGjDNI0Kxg5NiFfJzJKJZYXRwM/DzUF3Qk3BlMsVhg5JqBozgE+HI4IVwOICUYYMhpPAlcDKQwelQF2DUUjNE8iUy0qOh5QFEZBIUhDBpcELSFbDlwRIwR0A0UZhASVB0QCTymEJUoFeBQ/A4R6iA","vwI8rgK+kwJK","mAGBFeSCAem5AuK1AuKkAel3PizV3gLKHk0","kgrpmQWQAXI","rgxK","jAu4","M0kTShRbFzwdUhhEGkIMRgI9CTkFmBfLQzgEPgE/IUgFQwM5ED8nUCM8CqwPPhFGBjpyQg0+NDtXTkOrLZkvSBpHSUgtRAxCDqhERwJME0MSSzBBA586mgFCFUQmSBlDK4kmQglICY5ERQhPEo4RRBWiP0QCKx5GC0wVyyo9ATknawlyAWsIVwdGDE4ITz1IAT4uQFNGDEAESw6OFkYGZgdIAUY6niDM","lgGgXTyNAUTzAtcqeAJLG4gBfQiPmQGBTOMvmQKtAu6XAX03o1xHAo3gAlA","hwth","9wwo","mBJC","8gnZ","4wFs","EcwHjR22F8YC3QgzDsEjPlnCAcIBwgG/AcMBwcMBcVVNaoYXel3EpQOmnAI3atE73QMl1gE8Bx8ksEbuLaIKbQSJGL91fAGgfqsBuQ","7BCr","AkkCmQGqAc0B1gWzA1EBugK7BqgCcgGiA2MBjgJIAk8BTQLHAsAFmQGQAkADdwNRBZgFTAnRAmwEygFyBboCjQbBBSkBmwLbA2QBcwG7A0ICYgG4A7ICwwFuAcMDxQJPAUIBpQGJAYYE0AFKAUMDtgGkAaYBOwK5AmcCsAGjAasBswFCAdkDWQFOAdsFQwW2AUABZwLDATsBRwGkA0ABTwEjATYBPwJqAUAExgJCA2cDOgE8ApYBSgK3A6QCqQKZBKoBRQK8AasBoQFtAUADggE+B0gBYQHCB8gGrBKlB9ADqQWuA6EJlALNAbQEnAK1BJkFSwI4ApwBoQStAZMB1QGqAb8CqgKPAVsNeQa3BcUBSArPBHoGpwE/Ao0BdglEA8wIRgnSBNADdAKZBZUBPwGkAX4BnwJlA6wGyQXMAbAHpQGfAbcCNgWcAcAC0AOlCKEF1AfDB5kCSASsC60KRAdWCbEEyQZKCp4BxQOdAU4CzAVAAz4BZgFtBcoCrgJMBqUGnwKhCD8BggVtAroBQgGEA54BhgNGBNsBPgGnAs4BegJrBK4EsASpAtsDpwHEA5sC0ALMBNYDrgScBKECrgGrAYYB6AF6AaEBUwGlAT4BTwPMAq4CkgFKAc0CkRBRA7ABgAGdB7sE1AGUAWMGzwzLAogIVwNQBqcESheoA4IBowKcBLkDYAVHBD8NRQFkAcUBnQOwB5kLpQGwAaAFbwRYAXEEqAFdBcwIRwFLAZ8FSgRlA1gCpQTOAcsSUAKkAYMFyAFfAUsDyge8AoYEzQSlAr8BagHUAbYE3AJtAc0DmgGAA6QDpQFGAX8DoQHRAYgBowO4BHwBewVMAqQBWgFOATkBSAFIAUIF0QGkA4sBXAGaAp4CpQicAjEBjQKWAs0C4gJnAUoLlgVxAuAKWwGjArkBRAS9AsYFnQGyAbMBqwKmBZkBwwO8As0DQgGrAT4DWwHIAtIGPgI9AaUCuwLMAVIDbAfOAYkFiAFPAZEBQwV2AaEIVAGjAYYCvwG8AdEDRwGoAa8BmwLZBz8CqQRHApwDXwFdAZcBRgWnAaUBTQKwAcwBoQFDA3MCngGdAd0C5QGsArAFogPABroBTQGmAY4CcgKjBGYBqgO1AZcBdAGiAnUBRQJBAX0BigFMAaoBKQFsA1AIWgPIAkkBtAIqAaMDsAFEAkoDZAMwAXEDagNGAbMBxwKaBG0BSAGBAbMBWAFNAUcCQgGTAacCRwN9AjgBRQHwBKgBcgLNAaUIKATDCKsFzghnAtMDagOsAVEFzAKQAUsFxAFIA7ACTQJvA78CoAadAjsBRAGlBagBtgJKA7IBggHLAbABxga5AYMBnwFCAroBpgOLAUABcgGZAVEEsQGtAUQCsQHHAYgBrAHAAZEGYAaPBJABsQHSAaMBQwGTAcgBqgLMATgBpgFzAXkBeQGKAZsElQFPAqkBoQGfAW0BewFMAcgBqQFrApIBwwKjAkkBowNMAaQEoQGnBK0CsQLNAVEKlQPFAcMEvAGnAXQBdgGwBkQBeANrA20BdwFBA7gCpAF6AqMDYgWrAUIB5wJDAskBngPFAjEFkgG4AUcB1QFIAkEBcAG9AkcBSgGyAbICuAFJA7MCoQKsArkEfArEBGUBpgHDAn8FnAKkBL0BuAKfAVIBRQLTBLQBrAKBAc0FygSIBLMBtwKFAs4BRAE8AbMBpAG3Ap8CQwKbAW4BewGzAU4BSwI/B28BfQF5A3gBmwKqBN0DSQJFAUEBdQGbBU8GhgG1BuYDRQN7A88IxgJRArYDowKcCGoB0AGeA10ERgGtA7UBqwOVAbAIQgM/AaQBJwKrAT8DqwF8AUIGRAHPAUIBZwNJA3kBoAHJAkgBVAGGAUMClAHOAUYBqARRATQBRgKxAaMBowJoAk0BRQGxA58KYwHPAroBkAJCAY0BfgKvA8oDvAN9AbYBqgPDAUYBsAFDAWYBSAGfBEoBaQN3AcABRQG0AkID2gGJAbsBbwGuAUgBtgGYAc8DkAKYAqgBhwGmAbUEngFMAqcBSwF2AlIBywU8AbYBpAFRAcwEpAGFA4kBbAJvAXMCxwGTAqkBYwKXAjsBZgScAUcBtQKsAUABoQGwAoIBzgFOAsQBeQE3BJsDwAZAA1kEywRxBJYDqQHTA1MDcQGsAYwDLgO/AUoINQFJAagCsgLWAk0BowKrAZMBZwGKA0oCsAJAA4oBpAGMAyoBjwGhASIBjwGGAY8BTgKmAZMBQQKJA60DwwGMAl0BsgFOAbkCngGhAb0BmQJwA0wDygFLA7EBcgGXAZIBgwGRAUsZtAZQBNIJOQWnE6sBSQVLAdIGRAaiBrodPRI8BkoEvAfPAUIGVAbUBkQNyQjL","BlAGsyRA","5Auk","pAru","hAjd","tQlY","oAXi","4hE8","G6LXD9M","CtYRnBOHG6kSwgTBFrEC2TP5CWsY6UzWAtMCsQHoAacC1AG2Ae0ZsAa1A+MK8R31WNibAbMRSWPpTpQc2hXgV4YbZgaZI6ca6AKRFdUB7QHYAdQB8mBRJYJH6kTHPVMlwCdzBUYbdAWNCd/tAdhaJyTwGO4v5QviD8sIviesDtkaxQPeLO0r9gf1Ae4v8AFG","qgG4wAHh","0g7hGOk","qgHY","CsK4B2a+AVFs6q0F1wu3ZsU","CoY","8A/Z","sw9U","nQjCA+0","uRBF","mxHm","sw+h","hQiNGMI","6gLwgQ7TAdc","sw9U","5BDP","5BDP","5gHQ","0QWx","1BG0","cTwLbx2suAWzswc+ZUycAd4TLAEnqgFA","2gFN8gxjBHE","lwxJ","BJQDSwxVINoNjQzSAogFzAfICVQcSAyaAjoFeQ+hBEUTPBGGHZsRnQd5EMMHtAu0CaYUxQuFGdwHkSVHFawcpwHVHqALmRC/RYoHbRuJCIYHkDStEbQG2hmxFqYZkQRLFaQIcwasHJsPmhjKE7cCKx+0BL8mKQZGEB8CqBijE4QNxhKhEoQhthPJKbECqwrNIn0JtwxHCngXtCBWAqwEdA6wAyIEew3jD5IHoSJODbgHpQ+LApoBbgy0D6YXRAS6BI0HWAWgC7YMaxFrAnAEfwieCJwIqwXFAcgMdBLaLOAOswmuEHAZ6QTNCFwBtgooJjcIsglCAswCRClIBMcHKwZjCE8rnQE4BbIofQs2CnQDiwEzB60EnQhHAucBhAa1Ca4FzALABkUUlBifDbYHrAWdBzgEtgqyENME0gNIAtAWuCmbRawP0wifAbQbnA","QI0","jgK0","4QIx","xARt","vwPV","1QpF","8g9y","M88ZRqkLgQ","xgp1","5hBh","EzM","kguY","3wRK","vQKCJKCKBK4","EzM","fHkdaoACspAG6b8BSYEETA","C/Y","sRCr","R/YGwM0K9Q","0ATtA3k","ALIDdgFUAWcD8AHHBLED0gWOCCoFcgNjB6sExAToBU4BqAHtBfkCbQnqA+sD9AnrCHABUwGkE0cFbwfdBN4NQAHWAccHrQKEA88FtgTCAkMDQAztEfYFJgLwC+QB0wLMAZ0BoQJpCLYHswFzAawN9QpaHtkN8QHjAeMEoBGtE+sHoAjRAsIC7gHJA1cHiwKjAdYDohRQBncCZQOoBLQD6hm1AuUIZgLOAU8QsQxnDOcIxgvoAaAB6wTbGWYMawFtAnMa8wPmEvIH2yWWAZsD5AWzBCEFqgPmBIkD7gZAAfEDYwJlAXIH8wFxAdUBbAHwF/IE0QrOAaIJnRDtAbMBsQalAcsDzg3pCfAFmQW+JNcKdweuEMYB6RP3B8UCbALaDIQC1wpLAYYC2gjQBpAX5AZ7CeoGmgNrB0gJ3AFwAvAY2APiA+0C4wRJB+8N1DBCDsUBkwbOAbUETAqsC6UXnAKlCWoE6AVHAsUEsQb0FpkCWhTsFjANvgXkC+MDeBa3DlgEcwFkAcEBugHWB0kN8gHvErAKzQGcA9YBxQG1AnMOSBepA7QI4QUeBuoYghzCAcICixTdDuAB2gqdAZ4NxQHKE7kHaRxqE8oB5wHfC70HwghcE6gJ1gypB1QaQAxdEIELvTuoAbkBqySOBpcS8QOxAZIKugnIC+0mmg1jBeQB1wKxA8EYrQbaAWQBZwRxBKsNeBa4FUsK7wHmBOEK2wrrAUQH8wOYBIMJ4xvOAa4BswHHJLgFegLgE+oBowE8AXsR2QLwAUsGnArGAcwBwgXJ","pQ3C","lg/k","jgTmSOk","7xC0","kASt","yguy","vQev","hA+X","pwrV","ugXp","+wNm","QKo","9QGziQtqV0U","1wlH","hgFDZ0wpPv8EpDtFW72zAks/R88BaMwCTA5yLNMbsglnGUTAATw","3A+d","TdA","1AGfygWnlgJOfyveApjNAUFnR5ACqwGo","1RGrAag","RT1KzTbGog0x","Ab4CzAbaArgIuQLpA7YBzQPaAtoEuAHuBLEBtwbiAbgB0wWvAUADugFyAeQEswK3AYIC5gHjAt0CuATqAbgEtAG3Aa0BsgGzAscEtANLA9MC1QTmAbcBQQKhBroBwQHGAdIB4AG8A7oB4gFvAtUBuwi9AtwCmgG3A+EBmAJQAekCsgFBAdMBQgNOCOcB6AFFBLcBRQPdBNUBIwPgBb8BPwKIAbkFuAHuAcwC3gG8Bp8C3AG2ApwBuAHtBLICoQGgAbwJ7wyxAZ4D5QfaCbwBcArlDuIJ2AF7ArQETQSgAaoBYAmTAZYB7wW8AUIHSgGeBdwBawLsBI0DsAGsAeYFswHXBbkJ0wHjBLwEVwSuDJcMpAOHAd8FlAHIAbkBgAK1AkUB7hXVA7kG5RPkBM8BYglwBbUIuAO2ArQBugflBrwIvAm5ArkBuAHECtoB5Qm8A3gLugHlBLULsQhIEeEFZAG6BbwFXQe9BbwG2g66BrgBTQPCAb0BQgLSA3oJTQJ+C0ECMAO9AukNyBTxB0oB6ANQBrsgvAJ9A+ICpwLYAZ4HVAi9BfIHpAbpBrwDtiCYB4ME5ga8AY4KtA1pBLwDVgnuAt8ChgeLBJgI7QS5AfQB5wK6BEYCvQ3NBNwBZAPAA8wCZQakApoDexC8BUoC6wGREbwNRg7UBGACvAjQBIwBmwE+AukGvAd5AdEHugNNAdEETAfsD7UC2wGTAfIC7wTSC8gGRwJUBKYF3gJQAdMDvwHTBXcBwgSoBNoQpgPgArwE3gFYBeID3wHTAewBQgPdB9gGwQHbBbcBzQO4BfIB3wK8AUELjQGjAsEBUgPrBIsBngHxAowCkgHOB7kKvAXSCHcQ7QM9AbwI8QN1BNEB7wtcAs8DVAqhAagBpQS5A70E2wG8AcsCQwHiBeoBagKsAegBSAVtBbwDvwRQAUUB2ga0CLcExAHpAYQC6wPABKgBrgKwAbUBxwHGAcEE3AXkAfAC1QHfAcECcATYB7kC3QO1AlMClQG6A8QCgQJ8B7cEoAHqAcsB3wG2ArwH4gbqAewGrgHTA6UF6QG4AbwE4gJDA8sB3wiJA+MB6wHmA7gBjAEwAugC8gHhB+EGkwqEAacChwLnAd4CQgW4Ae0BuQHxBNEBvANFAu4CigPlAtkI8AK4AZwCugHmCS0BlgOkAdYC5gO2Ab4B7wawBO0BvgPfAdAB7QjqAbkBbAGjAbkG6AWuAbIF1gXkAeIJ5QfyBb4LogfdAjoBwwJrAaIIvAPQAkkBvAKiDdAB5gTnBLYDRgLRAeUBuQHrAaMC5AGvAbEB5QLuAfABWAHuBOoDdwHXAaoEzQFUBdMHygHrD8IB5wG/BJ0BRQFzAewB1ASEAmkEcQKuBEgCSANtA5cB5QLBAcECbQHoBDwD6AHeAkcC6Qk8A1EFSgRJBL0CyQJLAewDiQJABMcCuAJyAsEB1AOkAcEB3AS5ByAEgAXBF0IHwgHqBNcD8ALpAeYCbgXaBOsMuQJHAs4D8AHwAdgC8wKmAk4C5gHiBcEBuQNMAfAFrAFXBLwCvAxWEsY5RxO9A64","pQ7Q","0wHXB9wgJ9YCqQLRAfCcAdvwAV5I6R/CYqAwhT7MBtdtmAG7O8UEvQ/dWdxCslLeOyAcybABzQHLyQH2KukCzQzo","lhHG","lhHW","0wSy","lhHf","xgir","EzMZuK8BaHtGBJ8qohRr4wJudaIQngNHX0giolQlJ0IxTRJWCEYVTDpCCpgRKDDXNnM9LG/yD8urAktDWhtrLsqCAZ4","mANr","xgzr","jBC/","jBBx","4gdI6AFG","owqY","EzM","LLg","A5EFQANFVssRbAglN08mklTLCqULKQanB5x7KhabHWwHnoIBoTujYkZ7qixGBk4Evwm/BUdLvQhsJL8LnAmeMqYCuQOkCdBClTBHCx4ueBOrFX4UQgFFEJoCPiCjBXkFTQGbCacDxA2yJkUSqBxFKKoIogpSA60QLxWMASgTJCNtEVA5SASoAWABrwt4Aa8CskdFAVwBrBumApsyszWeEaM","AEImeQ9CC3wbuwTJA9UM3QFdHEICOgN4BmYE3AtgBl8EnwMjCkAFoA61A70WPTFyFOIGSiFKGtUelwOYAZME0gRBE2ETPAqsB9wIPhFGAm856AHPD9kS2wqsMuUgphzPBMUBOw+nEKIHhQ7TE4kq0SGVBcENfh67LaYIx1XsBGEIyw/4F00Box/ZBNAH0wIqEaUG0RZDA0YCoAeIBc4RzBnNBbUC5gmtBckQ3AU+E44BPXq3FkUcQgd7DXEEnA7ODzICywG1BMkE4w1aCNEb4httCqMH0AQqOr8DYQFYA+9bwwQ5IO8EbSniBLQFsgWYDkEOxQqdCagRgQIpCeAKpQG5EtwFRwW7Ac0Pbw3WAmMBiQnXI8MBzgM1H+MOoBN0Am8C3APWBq0DjglQA0cDQghGCUseQwNJC0ME0wXJBNsGRQKlAbQEeQSLAnoI6QSRAfAHRgFsBGgIPwPBAWwFcgKsAZcERgtGAk4LVgJW","mgHy","mgHT","mgGl","mBBvAWs","qwFf","mBBUAa4","mgEq","+gnc","NcSVAbHZAcypBvY","1AKy","3gf4","3gfo","alNsPJwIWQkjD5sHLTwknALEjAElAVACax4o","IvVRmQIsBWgp4wG4CUMHPx1SBoYEkxfpH+seshGwBkIKMQOiIGsNllpVQ5siox7aC2wLmQxiJj4EqkrxBbIL6RyYG+5jnQqdGbABowalB6AHTQk4BZ9F6AupJO4CzgH0AfclzQbdB/YB8hXRApUElQKtBG0IoxnYCqEFagWaASIkswSxCTUBtQx4CvgC7TDfAdEB5Ca2B5YvvAE0E44DdQqNEqAEswalAUcBpwljC/EB0gy/DDYF3wiEArANph0nAyUBcwYrK6QEoxOBA50CoAzGEGYDYBVQDZUCngtcFZAVPAVrBSwPsBWiIJ4DqQujC6YIm2eeEH0acBiEEaBEPQ","owGvbp4","kAzi","kQLZ","qwmS","IojlCqY","owlY","Ips","2Qit","1wFb","+wtHAac","1wFb","2wi0","IsI","IsI","rQr1","8gHn","3wrdAt8","4QqA","rQro","0AnY","3wpaAc0BVA","Ip4","lQ/u","lQ+6","AekVUwVhFJADwAN2BjsKWQJAAlYE7ARZDbYtQgTkCUMTJQgmAqQLtAJmGKItegSmDpwFsR7oE5UlzA+jDMoGuz5PCc8pag+bBp8WiAFzCK8HXA+SDDIcnzeSFJEsmhdnAX4DiQp7CkoepAylAtgPvQJUC7MCrAyxHDwdzDSoAUICZAaXApQcaxKgBLcJeQJwGD8X5AJNGUgDQwHLCUIJWANrNXkOoBI9Do8CjQJJE0EIPAWeA7sPTQ29Cp8XQwp0BEkCiwJvApECVg6PJUQVgwtHNUYFTgmaA6IBextPC0JKgxYqA1MTHwa8CEoaZgLNEasCgQO6ApMLqAbFA80QPgKdAS0B3Q0/A0cB4gdaBa8SJA1ND2MQSwRJBG4aOw5AJUsD1QM7NbEYsAluBCwBJwIrBLAaShaVBkgJRwO5C0sJUALRBTcSaANGBqMBogI9BrcGrQWoAkkIRQqwBVANqAxMBcABZRC1A3AQRAlMBk4","vALi","pA5k","Yx8+Qw8qPoIKggWDB4MqhJMD50iyPYamAUhIPAldduTLAU7bA0KfAc4SG1jQBWYzYwJGDzsDWwNsCKYGThKoKH4Nnw2q","At4HlQKMDOoFuAFRBUwEuQI0A8YD2whRDN4CwgGHAWkB7QHEAakEyQkeAn4H3wM/AWIFhwHqBOEIsQLZAz8ERgimBakSNgKrAcECUQKzAasExQhqAmsClQnsA9gCJgHlB8sItAYqAUgMcQnIBq8Frwx1KecU6QrPBqgB9QXWAdcLxAXxCcoD2QGrKm8CpwbSAo8X2AzhAp0BpwPgBr8D2g20EfgIRx2wArIMtAGQB5EDrweIAbkDzQM8CPIImwazJKQeZwGvAroD7ATMCeQNZQfJDcoUaQLpBoMEwgV8AaUavQyUF7sE6gG4CEwETgmQAl8JvwHYEUsBvhVpFDkO3wKGAmcIRwvVBaMBngLvBJkC2gdbAp4BbwHSAtgEqAH2A/EBMQH5BKUGrg7DDpEM3gP2B8cBnAHcAfIBswTgAuQB8ANrBnkI7QdNAdAF8AOsA14KWgHoAcMC1QibCksEfwbRBa4BogPOAZYPoALBCJwE5AKoA7ECsQGCA/UESwHQAt4C6h/OB70Bywg9BvYF0AHTAVEDqQLLCSMIKQZGBJEC0QHcAU0E2QHUAawC7QJRAfAT5QjmAW4CxgjoAc8CewHjF9kO6wJTAVQKXAGGCW4DqgHtAtUB1QHzBYYDwgEqA2cB2gFnAeMDqQv2AfMIKgnYBKYBcga/AfUE8QLbAioBRQnFAeoB3gG6BLYB0wfpAfcLYgVTArYEpAThAn0TTgT3BvcJNgeEAe4G8AGwEfYBbQHJCu8GkgGzAX8DfQW/AsAGfQbwBI8CUQHcAbwDrAqpAs0F6gcrAtMBtQKRBtAC1QrVBbIJzwTlBvUH8wHnAa4FtAH0Au0JrAfCAWoEhxXCAWAG2wHrAecCZwHWBZIF3wWnATsEqQHXDY4JxwJRAagB4AEhAo8CtQFxAcMDZhLkEEkIKQHnBmMLyQJIAzADRwSfAuIF6wcwAc8InwxJAcYETwTLAWMEOwTTBq8CJALvAe4FZgTgAtEKSQTcC1EUvAWjAcwCbgbvCGoWqAsxCcoC2gH1AukKKQJWB0oV4BPzD9UDrAHeA3IitQU+AuACcAHZAsYBngOcB+oE+ATWA8oBuQ","ow3J","rwKpRHnvBZvGAuA","aIc","ogW6","lg6c","ixCU","5wvk","yBCZApQ","+wNA","hw6X","+gEnkAklOyQEJfkDHAsi","uw7g","8A5l","yQzY/wOZ","rwLMRLo","rwJ/","twqU","ugaI","xgrg","qAjJqAFetQfeU+k","lgie","oAyc","bWPwCYRKycYBfUCD","bafZBLY","pwuq","pAmH","6gO01AqP","2QvP","pAmH","pwvT","nQlW","xgWNlgLUswKeAaOeBIQ","xARe","3Aeo","ugao","xghw","oAxArANQ","oAyc","ugao","1weABKg","sQnP","oAyc","G35D7izS3gTPZqedAY0mygZnmAKwYjPgAejCAtoKsyL2FLEB5SgY","zgZ8","nQitA+w","nwjB","9gI/wwWm3wg9","X2I","lg6c","kQ6J","hRHe","+AV8","iA51","iQ5h","hgvCE7U","lBBG","9AKC/QqxA80","hQ87","hwjd1AG0uwKRqQE3","zAks","xwt5","xAtl","rgK8UJ3gAbcCQjdKA9U3p0jgmgSxcJDAAZHGAdMdQRmAswFGgQFAA/MBOipE","vAGW9wOpugI9wQQ/","YccvmDTKU6iRAXH1AkrFApzrAUWWAUznAU0r1BqzcUs","Hpw6fgO7f21jb5ICZhArvgFmrQGuEUMEk0ZHBatnKx2bRasxpUUnD1xQZgKiCysMbTtuKHQpagcseWE0RRAhAyAFITd5ISY1VRGDLsk3Sw","Ycc","L5A","NeYRaWDLYdg70A+9qwHgMPgUlyBCWe+OAbFZxkEeA2UglcMB01jcAeoYMyywCqMbajHOE5wDmwGxQeR79RO0Rbos3QfpCcwaSAZmBNUROgzBJ20UhB3yEqUP7TfuA84BxAXyA+4EuifDuwHO","rAR3","Rmm2A+BkQucBsZ0BZXi7a9NYzUWwJWoxtxabAbFB5I4BtEW6YNUROgzBJ21S8jfuA84G8wNtBLo","rATG","rATd4Qjn","rAR3","uQXvgQrv","NeY","nhDt","4Qce","kQ7Z","oQ6rqwGl","oQ59","hAiV","AY4CSwFGAbQCaAFAA88BTQJ9ArAEhQI6AlMEugVXBIsCXALAAZoBdQF2AngBWQFAAzcDOAFMAnIERAKpA2cJZARsA04EHgSLBF4BYwOhAR8HQQItASMCQwLUAX4BswJDAkcCbQGHAacDdgGVBi0BtgNoApIBoAGSBUcIKgEzCaoBLQFEAR8EwgNEAZ8BKgFqBnUBlAInBy8BXwOKBssBLAjIAjwBXQFhAYsBKAKYETUFyAEpAiQBqgPMCLUGRhJICEMOLQdFAzYBgAE/Ai8G8A0xDzkNrgSUBCQCNw1GAq0GZwFHBlkBYQUsCTcBswMrA2MFnQFCEi8CKQZ2BaUBPA+TAWAGoQM4A58EdBOzAbABbwR+BcgHPQlkBX8F2gE1BU4ChwJ8DEYDmQEvBDMIShEwA5sBiwE2Ac8GhwhLAnUMKwUqBXQCyAVhCk0FrgEvA8gBmg2JA0ABswZuCzgG2AFKBEgIegugAyoBNRA2A0UBlQahGGMFSQJrBLoBPgGKBJEBbgoxDaEEPgcnAdIDiQc4AVQTNQEwCNANdQ9aAS0CpALHBl8DSgeFCM4ClwGCAp4HnQQ/AzoCKQRGAkYBzwWkAioJLwE3Ao0BHwI5AmQIlAEyAZ4HQwhzCL4CKQGRAaMVNwKJA3ADowTfAn8G1QZBB0QBTQSPAbUCfQEmAnEBdQF8C3cIkwNNBS8FNwXMDjMBKgNNAzMMKwNwBaQExgePAXIBiAGKAzkBQwGVAzAEZQRlB0oDpgKLAj4DfQIqAZAEMwZYAXsDLAQzASgCqQI8AUUBrQEiCoQB7QOiBjYBZAOyBNECigYrAj0CPAQtAXcBPQNDAjwCKAlFATEILwGSAqEHfwNAAXcHfwkzCpMDeBPjDykBMAJNBiUDJwSoAUAGKgJCAqMFQALPATcGkgSXBXoDXQJwAlcBTQFmAUYBtwGGAzoDLwHIA6YCigM7AiUEMQEqA3kEJAErASYBLAY7BUcBJwPKA5kHJgGIAnwEOwPVA2QD9gGPAzIPfwOkCS4CvAGbAy8IcAKfATcFgwK0AVEHLwEvFUALhQ1HA6kBsgIhAVsB2gIoBC0COALEBsYDogKzAWADiwcyAp4CLwKyA5cENApKAjIDnQ1MATcBlQOmBzgBMhfaAXoFzwNvAicJngFjAXIFgQEvAyoCPgNdBGoEhwJJAigBhQKhAYIFdAaFAuECJQE0BTIBoASbAi8BaQMmBFEBNAEhBy8BOgQxATsCMgKQCWIBMgE1AkMGlgdJAjwB9AIvATcOnQo7A64COQQ3BXUFXQEsBHAIoQtZA0cBKQJlAkwCzAgcAYQEKQJHASQCOQN6AYwDbgNvBoQDmgNoApQFRAFxDGABJgquCasGwgR3AncCTQFhBaEHvAEqA0UEKAJxAV4MdwtqAWoBpwGtCTQERBOVD0QPgwaeBlAH4QbSAbgIQw0/AqYDgAKJBD4GPgPlBT0CUAJ1GUQBVQ","4wxl","mxHS","wwLK","8Am2","6g6B","wwJ7","8Am2","2Qrv","PHIBYwd/AVgkShJBDncKRwGtB58RRwlCtQFuH6MDR70Bpg4/TT0QQHJFO2ACo0daIDMNRwRGB1MrbDlwIJ2dASkOUQh3A0dBTxxEEyEpZAtPiAFRBbEYJUhNDkUETHpLC7BzNwKpSFI9SxU0BJ7NAZ8","9Q4x","zQyx","nAfr","nAdu","AEIBmAO/BEABzQy2CZwDiwG6Bb4JrQTPA1YCsgG2AtYB5QlKA7IKuAxiC4EEjgV9AkMBRgi+AqYGQwE+AZsNdAQ1DbYGtQNnA4YD3gPcArUCdAUvAiYDVQ3FAWUCqQFbA8sFdghMBTcBqwKbA8gB0QLeBZYLuRWoFaEGhw6bCdQKRgaiCIABphGkAX0VtgK1A7EC3AiuAY4BTQKkAdUGfAGuAc4Jcg+kAsAUwQJhArEEvAnPFS8XPRTNE68R0AxlBNIFeQFJBzUJqSBxBtUH3AZzEH4B0hFtCdMETwPDF4MCvwudFsEKfQc+AZ4KsgW/BZgCagsuCpsNdBOfFMsCOQivC5YblwGPAkEMaAEqC7IDowO+AmsExQdrAacEZQaCGaYEbQ7UCIMBnAPrCasEngWzDnED5wFCAqwK4xAzBaUHWg98AqwCvgHBBNUPrQTgEtQNowFoD3AItwnQAd4FYQN5AaYCTRcjCIYKeQWOBMIDhAPbB5gJUgLfBoMEnQqqC6kElQ3RAc4HrgGgBLINpwZOBZIDjxC7A4kKZQngClsEIQFHA0YE2wFMBMECxANyASoEngRzAmsB0wnUCH0JrwRMDmsR7QWVAm4I0Qw3AdgBtALDCWUCpQWQAiwCnRDQB4QH3wLcB00E4wo4C48C1AS8AsYF2QErAy8FQQJFDjIFbgGzB6ACtwGLATcG4hOsC18EXAHPBZwI6QElAZEgSglICkMCtQHjBKQBRgLYA28FIQWeAncF1AMyBqYFfwI1AaIJkgpGBLsMrgdyASIFMQanAiYHOQFzAaQNqQlvBq8GOgeXBkcDqgKrAZcIgQiMAe0JYA4mArkELgOgCOsFbgKeAmYBrgSjAqEBnQcmB7gEbQGaA3kKvwlAAbsBdA6qAekB4wzCCNUTywHSAkUEOQKkBDwNQwHZCZELQxJABUQBYxTSDMQNPAu6B0cIbgjrD3o","VZ6eAajeAqpiMpECKZQBu3SjQaWlAd/gA6bCAaBCow","0wGThQivRNm8AahZyULGUtA","0wGrjAZe+QGv8QHED71ZpkLRUsQ","rQ7M","tA6s","xAyQ","vAF0","gwimoQSy4AQ7","G5Rqv64HZqYCWOICoGbzT+EEsq4BRg","uw10","mguu","JJatAj0","GsYOqTsfGlysAZyCATwdga4ByjNQdpQTzbEBnynLTSEnIQKpEaMYoiEsIYYuPA0eLSgIp1qGF08iciykDplFKQdSAyZuXBmsM5hSOw51E6QKbwElB3AHQAhHRlIKsQ1yIJ5bkVqQK58","JucIbmhCBZ8cw1bo6QF1WNM69QPgT9FtTRFF5wGwLG0L2g/eM6iSAXYleAHXsAHDCsFrzs4BuxPiTEY42egBPA","iAXp","3g/T","B8QFvwqcA6MEKgPHAWAB6wR5Ab4BaAZcBIYExAHbBdABzAXLAZQCWQNgBuQEvgONAR4B4gHFBZEGqgHMBHEB3QTbBr0BmAKvA2sCmQGqAtgJsQKZAzoBiQFZAekDUALXAXQB1wNDAjMCNgJmBNwDKQFzA8sC3QF+AbMC2gNAAcADywHIAdQBJwG0ArIC2AGdAagBXwFTBM0EogPJAjsEMgGIA5EB6gHcAdQEPgebAikCzgH3ATcFpQFzAc8DQgPlAUUFrgKBBrUCbQ1mFqcCtgrbB9cBqgOQCjED2QTRAdkBzAObAa0CSAFbBOEDaga4Ca0C3AGZAVMFzwHiB6IB5wLaBfIMUQGcCDcCPwQrAT0BPgIvA98PnAHWAkUH5gHPBdgBrgzXA1AJJwLED3MLnhdBDrEBeANzCGYCOwE+BG0DcQOxAUwGTgOoAt0EzQPXCpAEyQO2BaoEPgSxEPMDkgGMF9IC1gG/BqUG5gLuA5sB8QbsCcQGRQPpE8wElAbgCVcB1wLeAacFpxjSAawE5gUzCKYWag2DA8AKwQzSBr4PrAPqAZwJzgKRATkQ7gKGAjkFqgFKAW4TpgLJCbEDSwGpA+4BWgPjAk4CzwOsAcwFhgPeBKwEXgPMA7kB4QOzBe4D4gLXAdABvwTcAeYFZwLTA2kCQQG4AoECuQd5AqgIxwpTAWsIoQGqA38G4we5AdgErg3yAboC8AjOAZEJ6wbICWEEkgTDAXcBYQHVAvAF1wHhAtoJnASkAS8JkwKmAugEcgLQBL8CnwO4BZwFwQfIBJsFMwG2CYYCuwLKBy0B3gTpA38GgwFCBPgB7gFqA0sBQgK/A5sBhgfWA4sB7gGvAaMDPQIwBFYPgQSrAuICoAPpAb4IrQ6ZBrQFSAG1BnoBVAGHD9gGygXTAdMO1AuBAeMJew6pCPQNMQGBAicEmQRrATEBmwF/AY8BrgIuAi8KowHOBScD1QHWBuQDuQFOAvAGiwKqBIAM9wvJBmwCvAHKDcYCVwVQBqsBbQjHAUcBogIsCFADuARACscE0w6BA28DawPAAzgDjgbNCcwF5wEyAcQB6AIvAeUEmAN3AWkWwwZgBOADKwXjB94ERQHfAYME4gfoBFgD9AyNAvIGrgHWAWUCvAHVBdsG9QqqCXkBqQJCAXQBRQFDCbwCzwEvB30CtgF8A1cBSwGWAq4DrgTLBacJTwjZA58FKwE8AjUPSwZIAXkD4QGaAcUBxwJrBqcKLAShAtUH1Ad8AoIEawNxBoICjQFUAxwEMwSrAjkBPQRsAbIDfwKDAsIBrwGqBYYC1ge8BoARPwt6Ac8KvgJ2AXICxAsqAyICJwazAk8Cwga2CLoCkg29AaMBKQPbDtUBjQe+Fr8BOwJyEqwEbhzQCPEMvwXZEEEB1w7nAkwIsALdCfQH1g7nBeQ","4RFBAdU","2gFIkAFKxgeg","1QLZ","ng1B","II0XxqIB2NUBnvYFnMwCuQ","PKcBop8CSA","ggqR","swh/","9gbl","9AfO","wAiX","iQnQ","wwfc","mg2u","ng03","9gKJAVM","kwfu","xAcpjQbe7QGN","9wNz","wQ6W","VV4","ToGRAT6tAeSHBz2QBELpAc8","ILOnAavsDk8","lg3E","7w+A","wwE8","2wFo","c70","adiKAi72CuzuAp4","8wKn","2QG/","hA/N","wANF","jAE6","xwNqbGY","4AWU","5gvV","1Qim","lgHN","lgFm","+QuL","qwRz","TrY","uBHQ","hQWM","ogmT","owFFU0I","0wSy","hwu7","jQo8","sQXhxgTS","sQXm","9wn1Adk","9wnHAdc","uAGC5AbH","pghT","/QLi","/wm9","Y5Q","aHE","zges5AYv","jgrf","8wqokgfY","hRLY","0gjo","rAHX","bdg","4g21iwO+","O6syQnucBZ0IwzScKidRsSqkCp9dgDOUCZ5Iot0Bo0GdCyclRz9ROnAfoi0sTkxDpxunDcgDsAwviAErBagGplMpHlEHjA2eCKqLAVcaMw4xFaJOpQ+bNqmIATo","XLt6VfADRg1P7wEhBpm3AaHJA3nSASm3AXlfpg","KGg3Rg5CJ00DSwxqGD8FQgKOBaUPVRaTCUJD0gmZFKIHuUtCAj4BixajB88HTwW4GrVmsgpFB88ENRlHCe8hZwR/AYIJQBpPZUMNgQOMHn5NmwyiBSkIbRJkBCcHbQWPOFYBiivrA9cCHhCnB0MTTAPWInoESgJ7KY8UVgKYD7UXTQiCGrEJfzGqC60Bk025B0gNugq+A9AJkleaFq8PnCKnMUwCrgHKFMgF4gu5F2QpQwZuA6YURFioBH8DvRRGA20JRQtHBTc6lBhHDX0EpgTC","1g2g","+Aqt","xwOY","7QOL","0wSy","1g2E","1g11","1QKi","xwOW","PICEAlDcCUSnBCE","rQ98","gA2O","PWNBywmxhA8qOJw","lgJm6Auk","0ATN","jwF5","9QLc","jwHk","jwF5","uQjj3wis","wBGx","wBE9","kwvB","ywez","0Aq0","sQem","8AXX","qgup","TqtxoM0B4A","2gPUA1DoAoO7AiE","0wR5","zQO+","6wHQ","3AWT","sww1","tAFijw14","tAFi","jgrY","jgqL","8wGZ","wwJ7","0RHZ","1Qid","2g90","qQM+","PIABn0GS","owM/tA1E","rgPU","gQXZ","lgFm","hg/A","hw6Y","hw50","hw50","8wG9pQek","hQ+A","doWRB7jSAXgCO8YDRAFPtQPF","pwhr","zgxQ","5whf","Yx8","/wdn","6Q2y","xgnC","N6E","/BHd","swemhgdj","hg3N","2wFo","ugEn0gGO0gjOCdY","1gq1","wAGd","wBHl","3QjO","qxAn","zgHJ","uAGC","uAFX","1AeG","8QtO","gQVz","kwsq","kwvS","0Ale","0AmR8gLH","2QG0","doU","+ArTAcw","/wGu","8QfiENM","jQ7v","jQ7Q","jQ63","3QpUcqSKBMI","swFAgwM+","wwfc","gQ6d","0g+y","Q02RATI","lQF0","rAKnuQ7V","IWCLCTZ8Hq8Dgw","yQXUzQq+","8BHn","+gfU","mQpC","8wqokgfY","hRLY","hg/M","J1zaBOmUAeDZAd8dudoB3bcBUW/1FMp73qEBtkZMJdQJgmywFrM","+geO","6whI","5gXg","1AKT","jwqvAaM","1wfeBKwHzOgBf/YBgQ","ngWy","EzOGBO2ZB64","hghB","vg1g","kAbSAaz6CWuUAs8","1gJG","0gjbAbrHCec","1gJ+hQeYuwLJ","uAE8","hA/FG9U","gxG/","+AWntAO7","J6M","3QSQ","rAzG","vwnB","iwna","sQ7P","9wacSakH4K0FXI0BZS5N","mANRtwSt3QJt0QMZgwHB","sgl+Wzc","tQmo","ngV2","xwGr","1Qjj","uAIz","qAph","5AasoAo7","twGZkALV1wiaEFfUAbeKBNY","xwOu","lAGa","vwJ1rgJykwJz","vwJ1rgJykwJz","vg+e","7A29","kQ3k","3Ako","SJ0","igbb","yQ7x","yQ5Q","pwT5","pwTa","pwQ1","pwSC","ogbq","ogYv","igbZ","R8KTAdQ","R8I","2gHU","zAlN4AP3","/wln/gMZ","1gukOq8","1hC3","kAuL","AEIJTgV9A08CMwHJCpwErwNHC7UQrB5QBZUHWAW+CKMGQgo+BG0BWhcuAqsBowGiFHkegAajFowjsRqfA6UhniaABYsBqwqXGp8DmQGLBuYBngV8AXwJowiiCJ0czwI6KMEP5BfJAzACnQZECVMHPwSkEqMzSwWeVKUj0wZCBzsgoiOYFCsTUAJIEJYKzgKXDqICowGeFZ0JygKYAUgKdAFtAZoM0iuHBKsJQg2NCikPIROeE6EGRwGqHUoVPgNdDacCRgWkDXEDTgGeAjwMeAfIBpsEPgNGB7MMsAWJAqcTRAMhAsEFmgm0EJwRqgZNC8ERwxCZDK0YUAKfBU8EpgOTA6IDpAWRCJIEjQfEEYwBqhTIA6EIpAh9IasDoQfLBosTngGdAp4KKQJFBmsEmhOnCaQEowGZAXUBnwNEHCIYRSGeE78FmwSXA1wBRQQpCqgCpQWUBZsGPAObB6MKrR+oAqIGzg2mBMkCmAGWA6cHpwenBagKoQeeAUIGoAEpBIIQOBO/C8sDdxegAZ4PVwGyAccJnxS5BEMPcQbLDKACNRS3N0c","O04EWg6VBWIEMwmWBDcFPhRPAT0CoA07CE0LQQJDAkUXPRpPAZ8GkwxLD6pQQg1PEkQRPyJgA3QBTDJRDEMiWAZsMaUFUQdgAU4XfhGUC5kMTyp3PkcSSSafA0kmowpCaigLVwtYAZ4PSAxZC69Mvxl7CHIGTwFJAUMlYQFQA0cIRgloBkcBSyFAHKEGSQdeHkcFRy5MA0UrOw1dBUAIRShvA0MIRwNIA1ACSAJNAnMEqQFGP0UBThFcBp8BkAFJAqACNRRHAVEHUBQ/CkcGSQdQFFIJWQFNCEMSiw2tYUgEZAE/CV8BVANSDlQFdSGlDkcNWwQ7AzYIUAJSBEsGRgpWBp4BPAXNBqIKRSCRNVYPkgNJAUsCTwU2C5oCTjTXDLA","wAGhnwFIb1GPATDZAUCLAUmIAXEOdswBUJIBwipOPmFhQh1LGFAiQSBBC0AqWghSBEoEUQJCHUc1bR5NIk4wfQxTI04","Y5VDRAFADaSFAaGFATwqcFUtIEXBAqc1RQyTBZwBSgqaUkjSAXewAkctR6IBVyFRQaczUQilMEBRUCQp","InYTrAusCX8CdgO2AnIDjAOPCF4BYgRiOngCrQRFDUADaweZIWA7mR9gBWgTSgSICGoESARrLH4UqQHEA30BnxqjCqMGzA6bClUH1wxeBc0zrwGyCS0EcAimDmQIbRmiCa8fSxJNH3YZ1BOvUMoLoBuxB00caQafFZcCSg5LE5kMew2eHNQSYgJ9Ca8F2QTLFMoOhAGCBDsqlgWbAkwMowacA8EKQAp8AncGMQ+KFaAGvQuwBX0IRAVtBLggmBRpBMgSqQxJI00JaQyfFD4ZdgGBCSUUVgesAsQBnAN9GMUIxg63AscQSEJxCUIJURdzBVceRgnKGc4MUSS/CUQYZBGICqIPcwe8A8IBwwK7E6cHZwipAZgCfQSGBKgOoh6qEEkMcDWcECspnhHEDkYNRAhHAqoHYSREAzwNRQk5EaABpAE+PUkKQgKb","7gnU","mgNrggQv+gJ1bye6Anpog/EClg","AVAEQQFeAUsBcwNXA4cCSQO6A1MHYwRICacDQQJZC10NngJYC1oOVAx0AyoS0AQ+IkIJQxRVAS8GuQUmA0AGkxuqA6QDlDg8AVoENgWTATwLwAl3Cy4BOTlBEJ4BmRU8CqIFYwqNDyc2yQJ2H8kHvAcxCr0uvge+AUIVLyZtMpcgog00SU4CfSZEBkQJJC1ICGoLKgkvBloSzgjZIDkJTAk/ATQBdgRAAX4bLxJ2CjMTvxJYA0AGqwh4KdABoQSCCj0GqxHOC4op0RvOHK0GwRVqCDMMnwaxHZsXngmMEycHrQmwEnYMqAnMEiIISAGmAbEIcR1KAbEPLQXPBtItSQGqIXEViQtECBkByAGdBD4PVx/DFb4CwBEzD0UDogWzCnUFqC48FkECpAs8IcYGeQHOBboDbQg+CJ4CywQpAqIBogWUBLAJpwOEFVECRRJEClYGQARIDHUGSQc7KjcDRA54DEUCSB5CIEcLeA","xQGK","AnhU1gyGAR8FPgHJBJsGmQTHAqwBoAGgApwJmgagDioKeAFlAh8FXASgATUDpAQoAy0ChwZlATwKnwNfCkBUtQZgDrUDQg2DAaQIdQKZFUQDZApEA6MKrQY1B2sMYxJWJjABSw86FW8adQukF6MCNBqkBG0gggF+BCobOAa4DZAHdwgqBacMTSaiJ0sDQgM0AUUoJx6YEo4CKx2ABpgENQq+D6kBowalDcUDnQR3CJ8Wow2YLZ0KWAkoA58JUwWVAUACKAEsBnkBLwRHBZ4RfAo+F7gIcgNDAjkFmgF8A7QVKgJGBTMFMgJCBEUBOwNVAZ8HiQdXAVoBWgRCApYFOApEBUYCPQZkATMHoQI8Am0aJgEzAZoBoAm+CkUQhAelBDsSuRIhA3QFLxJuAaEBZQV6Ak8JTwZ5Ak8CJwgiCEAKSQNJA1QQUQJqDX8FJAhECCwJLgJHAawHSA+6AjUCSAIgJE8KYAIoAjkLmhOnBp8DpASjBSgDdQlkE60BygFaAc8JhRgtCicSXQ+bBScEJBXHBaQImwK0ASEbTw8tAzwFQwg3A54OnAJHAXMGSAKmBaUDyQUoBioBpAGpEGIBcAIwAqMCIwGoBqQEJQOkHbwOpRZuC6IBogMYAkARRGdV","RVkIa7MI8sUDTdwBRLEB5g","dXTYATEnOZACQ/0DTL0CRrABZC6ZZ6LbA98","wASfngWhnQJlxgLIgQKh","3wRJqwFtEqj0Ape/AkJydagCsyN4Vkk","9wHCAcYBxA","4A3jAmk","4g1p","4A3j","qw33","6AKvCrMHvQG7AbwGd8wGxQ","qw2x","QN/zCrgC4Q","2AGIiwrNObQkn68DzQ","4AGgZueVAtLLAeTJAZg9PDTOkgHfLY3mAsaBAtmFAWYh48AB4xNxA9Y","WagYPOsBSKYBRBFHSNnLAXe4AYSCAd4k1xlGLERNb3oqAqURRTBIHmwpWWvGDnnzAZEWRglEetIZh2q4CmwePw","7gRf","gANvggFsoAF2HfdR7hJzVWUmXzptDGS6AWItc7ABc0Z0GWflAnQ","ogZz","UbgQ6cgEeocHbF58","7w/N","sgFZtgLJ","mA7i","AI4HugGRAYQJoQSgA58GhwNyA8wG0wSQAocB1AOFBG8LcQF3CssBuQHIBMsCjAPIBckEqApjApQCrAO9BKwIrgdwC3kDxAFmA9IB0gOAApgCigaYBF8BdwKIArcCrgG/AWIBpQWVAboFtAyzApQJhg90AZcOoAGmCoAHegpyAa8EkQPWDKkEuQKgAacBpQhzA7QBcgGVAbICrALFAZoNvAZ6AcUBogTXAdwJwwKmBaQHnAWJAX0FzQvFBrsCjgOUCYYI2RuWCZYBgQjhCIwCpgO6B7MCcARvD68DZxGhCqoF7AXPAuUCnw3MDoYBcwKeE60BZQiXA38HyQHoA7UBtgKeAa0crAGrBKwLpQdzAYUEgwSSDK0FqAKzAYcCnA6NBq8QswuME5UFmgvgAbUHugSKCMoNbA2pBGgHfAqbAnQDqAq8DKQEnAGEBaMDnwPBE4MFngStAr4KswrHBJcLqgHABooEvQiACX8BmQF4A2YBoQHQAqMDhQesBLEDmgPDCYUJ1geeAacExwGFCOgBpA/eCZADnQquAswGggSJA4MI3QPFBJcBqAPeBc4KlwW+AcYBlA6XBLQGogmDBr8FfQeoBq4E4geVA8UBfwazAbwDnQGPAmgEqQGdAWMD0QF5BYkGqgOsHnQB2QN9AoEEjQGGAcMBegiXA54DpwfEBHcD4AGrAd8KlgadBX0FlgGpAtYBwAKtB7gCgAKQBeoEngS1DrgKtwbHA9sBmwF1AbEDwgaTBJEBjwGpCdAB0QKyAb0B7QKHBNABuQGhAZ4BlASpAYEEkAOTBH8EiASXA4wHvAnVC+EExwLVA5cEnATIDq8CdgOvAooCnQSkA3ALqwPIAckLmwKdAWUBbAZkAasBlAGGA98DxwOcAaYUeAKcAqwHigGrAogBxAWlA8kEjgPXBOQBognpAnkHvARrAngLlQaFAXoBdBPcAtsNnAGgC6gKbwKxDpkCgQHBAbwCZQPgAeYClwefBJMEggGeBZcEugOpCNwNJQR8A5kCagJ4A3cCoAyFA3YP3wLYAewChAG+A2ICsgOrDokBlALHArsMuQmjCX4LkgOpAX4CaAJ7AoQFygPHA3IBrgKhBHoCuwudBl8DuwuuDHUSawTHBdMBagN2AXIGtwW1AioBuARyBWMCsgrwAcQFcAKmA6UCtAPPA5cJ5wmtD+MB3gHHAtEJuQHlBdIB3AFNA9kQ6gTSAekI5QXsATsQ0ATPBtYCxgTEDr0CeQjkDNAK0wPXCssNyQ","kQ3l0AOt","kQ2Y","LUk/oTlla8yqAm3wAcw9z6gBqq0BzKEBVARtJ1F6oMICsFDOGmsMtE2n","0QJg","tASypQqiLaY","R2Y","oQW3hAPesQNG","uw5I9gF9","Xi8OLQVcBUYRnwSaBXgEkwNLAZARpgJgCaQMoQxGLpY/PwZUBytSpAk3N5/JATtGaRRFc58FpitKB5YCnVKEc54Coxe0J0sCRwJNBMctKRxCBycKVwcwE5wgiApDF00ESws7IqU5SAJzSJkgZiVpFJsSKhC3AbUZmwmgD65iRh8yHY4FphSmDaghsgcuM7wvTQFMAzUOoROdDGgLrG6kK0Q","ZqwB7BvqAvhUq5QE0yO2rQPnA/O/AfYr8wfxTO7LA6Y","hAHl","7AXT","vAnQA+8","/gqq","FL4yShOcFj8CmRq5ATsCWR3BLX8OvAj0nwH1GFYGPBGaKNpP0dYBrQGq3QJzLPeCAYIIR0uwkgJHjALtH94TrwdAVb6OAats5Q","pQ9+","jQPWpgFA4AR88wXUiAPT","swRA4ATp","0wFnyQh7","1BC2","8Q6zAb0Byw","VZE","AZgT+R6eBvkIfA++AcMFkQ59DFAq5QH6Be4IZgTXBbMZz3nbVccC7UzhGeUB5ALlA5MClBzQBNgr0BjnAfgW1yfCK2wKtimVTIwX8AhgAcsSuSj1StAC7TLACNAacAHSJ8gElSrRCOQsw2roAfcI6Qu9Cd8G6wbMC2Ui7QZqVrkfmR/lCp0x5gjykgGoAcNjjgvmMvgJawfZBc0uXizlBL4BvT/vAcUBxkvPFuUBQAXQA+oGZQp1CvEbtBrY","gwdH","gwdH","gAWq","vwrN","ON0rfTamzALLwAvi","6gTDFqo","mgHa","mgG/","UFI","OHg","mgFB","mgEq","OFWmEaI","OHg","OJ4","mgEq","zAiA","zAiA","OObIBEZSlIIF7kH5e7tivfYBjg","I5dkQhOayAF0CE4cZSJJ/gJRKc0Vng6OR8U4ajSIxgJJMp+QBGULmw7PvgHmC3E","H60Ghw3rHJMYzQHHG+cZyR/IdLxORVHVL4Zc7wa3PNWNAYmdAUPVAe04nTfLEN8k1FLCApEE0Q6RI84Hq0nHJ9sBuQNQigHqNc20Abgbxyvw","ggGr","ggGr","vAqn","Z8cb0QmyEssFWwVAE1EUsxx3cH+sArFpdzyRHrll9BZDS6b5Ac8Q0DpqF3IFmAK1HPSWAbgklLEBfgtmGpdKLZ8B5ReFTjwp8D9QBEkWRgFE","mQmu","+Q91","+Q+g","xQvF","xQtx","rgK8sAK3PNU","Mrs","MuA","MnM","ugHIigZD","yg3o","yg2H","HszpAYBwYIoI7LsBoNMCiCptDX0I9ivx","MnM","mwHJ","zAur","+Q/k","+Q+3","+Q+D","mQnp","2ATs","5wHF","5wHF","jgGFDU7/CUnOBKs","8wEpxgOjjQPP/wLd","JcwkVhSjBlMmhSldA2Aze3GcAaYqaVuAFXgBdAF1AXMBdMUCpDFOc5++As1yglKwXI0Vo0OkJEkaRTp0LUYLdCStBYUCoQRFXskecgFyG3EG6T9IA0s","JcI4owZT","1Ayj","0QHl","SFAmJ9gByh1HuQREoAchigFy","AlQKs22uKdE6nQorGoAQ1xzcbmsSxCJPA6dWWChFhAFPjgGuAb0Byk/XO71YwRHEO10RTgxHDrs5Km5/CuIbuh2/B2oJ1QRQDcgB4DvUGs+nAaYUKB3VJjwMaxLrDLAGxBGTAYwBxgGvAVQBsgHgBd8h2gHAyALSLtw","xwvK","uA7ELq8","uA4l","uA6t","igbb","vQWKAba/BZU","vQWK","SFs","8wb3Kvk","nQdz","rATG","CVQSlA+aTZcyyQpWB8YlzQirAZwFrg2WU0oRmS9HEE0leRRYYD63AbU0PgFzCTkYoRJIb5h9gAF2A0IsSDmFbLMMIhZOCrFInDnXLaAUwQFjEHYNrAeoE2IDrggoG9MKaAFHaJwWtgGQFs8KNAKkCZwEm0GyC6MytgvZAUIXOhDXKjUqSBBJCSsboB51HLEzRASRJ24","5Arse/k","3wv5","5Apa","hwGfMiw8pRekRWCXAq27BS2bBCyOAV4","sgFsqAgo1wKgB5PbAaLtAZAgaw","I6OGAUKoCm7jAXE","5Aqb","5Aod","L1kj9ARFEisMlxVFD0MORAabFKEDpGvhI6ATog9EAT81PjSpEEsVRDuxFFYCsE2KJrEYvgqmNUoINCmkCq4Clx2tH5YqIyx+AZ5acg95F0kuhS+8BpEIMhQdDbAEQiseD6UbLxUuAqsnQwJCASoIywN4C7sS0wKmA8YIJR3EBpIIrQbGGbIDSwmwCVwHtAGfD7EBqgF+BCUPswFjE7AXgwxHEqYwtQmwFG0Csg1ECLYQZhG6DlQPLAawAYIDmxtUBKgJwhNIBHkqcyCdB3EDfwLHNpAUegTHBUkTIQNGLkABUA","8wzhUqlczw","8wyw","oQ6E","C64ktr8EYDCJxwHQErBgR/kBnGbUS4oRbymTBXSEAb3MAVggRwKkBKgWuymhHpwecyHMJaVOdQ","K8CKAWDZAZoBuwG7AakE0/4O8Q","kxLJ","rAGb","Brk","dJc","pwvg","pwus","AOY3VgJUBGgOxCNdCmYIujlIAkgjzgh0BPYLQhjsMbwfSDn0qgFOAUwk2FrvqgHdAe4WP7MCISTmKPAMRwh3lAFFCDIJMSEqHE4w4Ub6AvQN9QHxJegFeivpCG493xz3TfoB9jhkAk4FOwz4KuEGvRNPJEEMqwVAEUg/9EnuEuc","9A9U","7Qy9","6wywkwKO","2xHc","/w7qkwLo","6gHN","6gGz","/wnc","/wnY","/w7l","xgL31gSf5wPnAezdAbd94Q","xgKS","xgKX","xgKu","xgKz","hAux","gwvbAdE","swGp","pQN9qQhgBiQ6RCp3","9gx1","vAF09w1U","KjAbhwNQGm4TLAagEWI3wCUpEsx6nXmyvgI5lwFyCLkcbH/OUmUjaCIolAGmLXYurTFODagPUQRiKbIUJl4oJp8GZUUxDnI4SAFsB8oicEi4CrIUUQSHCKESMVhQ","5AymsQNk","5gHRIfieBY2oA+/eAaE49dQBpgruTmw","G5Q","qwyh","3AJ1pQORmgSn","gwek","zQqe","hwKs","hwIv","hwIv","4ww/","B9wBuQHjAkUDXANJAjMC3gGgA2oDcwGKAXcCygFgAZ4GaAKABtgJPgGkATsB3gFoBk0DShCbBL4PywFXA9YH2gKnCH0IWgh6AcQGYgOrATUGmQSeBEACLAPUAscDTwGEAb8FggKVBLAEQQE8BGcB1ASLBOUCJgIyAUUFzQypBqAE3gYsBEUXVgLnCNYaMgGvB9MCPAGqA0QD3QSKB4wFqwRgAssBSAV5AU8BahLLAbUB7gRXBI8Mxg2oCmUCVgSuAi8VbQHFBpsGtAHPAsUB6gTkBUMGowhGAkkb2xnFAaUJug7sBK8RwAHRA6MEwQqDAkAUSQ5zCb8U3AHJAcUBOwTtBNYKzA3gE08UXghFA9gGdgHWEbEG7g3QGZwBswzjCvIMOAjXAcgB0RDXA7sB1QPcAuoEzB0vAp4DdRHnCbEH5QFDCZcK6AThB9sDpwVgEJoMZwG4H1YNuAOrCdAIvQWAFZMG6ga/A+AOuwjcClwKTgjhAZMBhwmeAeMCZALNDcEHTQTTA9oDXgfPAqMBKAE7Ao8DoAbLBmMBpAPSArAKSwNBBIYHQwGjAnQKtQ3ZD5MXmQfbBJUHwAHRAYcFwCLmA7oHsQTfBNIMcwLzAUcPxATbAeMF4AHNAagBJwJKBqICzQNpBkwBbQc7CuIGvhXxAVwXlQGqAe0ByR+dAqUBtgG2A8sDLAGGEd0L4gHPAeUI3gHBEfcBjhTRATID6wlEAboH2QFaA6IQgwGLEt4D4AR2FocE1ge0BnMBZQjiAY0C8wGBAmABpwTMAmoDrAmWD38FugJ7ArIDNARXBd0C5APSAk4MwQR+BqoHxwiFCtcBuAHQAsUFUQK7BGsPoQSiE7IF0hg5ArEJgwPVEt0d3wKWC8EC1wHXC+MDogLeBM8GQwbeBHQBoAZXArgf1QbQENUNlgRLDbkC0gHvR9kE4wt1Aew","pgFr","+ALu","ILeABa+EBIcOy+IDwFmH","zAiA","xg53","FqBebMsBPB1IpATMH54DdbcCo7kEaDTi","1QPUywGKrQKX8gS2AZ+wAoX3AuM","4QiT9wPd","tgTB","tgir","8AnQ","+w64AdA","PNYBaA","tA6q","1QqV","KGjEAaA","hQ+7","jgF6","sgFZswan","InI","9ga7","zAEs","gAOP","acs","dJc","9gJ6+wrW","9gLAAZw","iA6N","iBGW","9wJT","ognh","+gea","zgmx4gG97gTt","+ga+8gJj","tgJrG4x8nVuj","oxHV","xgLJ","7A+u","3Ap6","pQvy8wHrtgKxcKA","D/djrQSgBeMO7ih+EYUI47oDmiCaDjYNQWK9dWk7OD58XvIB6BDkOuxOlJMBQNUB2AtzUXpW7Ej1Fa0isBttggG5","7gzY","uAmC","vBCn","zwSj","uAlo","twEstwejNlQUMXDvAfGfAdoPcKIB8iH7GbIB46EB8ANvKvAB7xyaF0aGAfM","qQpM","twEs","qApe","yAva","7gjm","7QjwEeM","7Qiy","pQVaoQu4","MNWgAeU","qg1a","uAGCfpc","gA2O","0w3g","9gxS","rAG1","CJE","jwGq","ggPWAcMBxdIDo90Bfw6bpAXHhwPYDdcCQgJJPkgrSQNkKkkESA","JEIPSQ1iDJULZgxiJHAHhQRHC0oaQx8uFlAJdVFwCk5PlAdEyAE8BUNOME22YE4VOR6XL0UDhQiiD0kFSFE/CkQXeU9JGFEISwRLBDI7PQNDCooJTjoqC0MmiAFCDHoEUB44BFAPJgdMBkwSTik2HEdaRAE8NU0ZPEwvBFEPRwhNDk8a0gNKBUINRgFHCkYdQxhHDXE5bg/QCbwMQRNIAUUkSwJIC9IpkQ5JATchiCA8AWIJPw","lAuI","Ur8","3gdEZ0LMAkWoAUNEUUip","A1MGrgdRAeMC4wtOBEwDeAWIBIUH0QZOApQRUwVmA4QIUAVDEEoERwRnAkIBMwFIAUkGuAE+DK8PVgFFA0QGpgc2CkYRYgerApIKegZMAUQEVglCAeYb2wrmHV0CPgE/Am8JiA1PCbkBSAJIAkMDOQG3EmABthSXAUcYVgOqAT4GqAOdDDwCRQGBBqMH4gy/AzgKYQaLD2wGqwFEAccHcAFBKpgEywOqBE0D2BdLBHIE1DvsAXcCOwM9AeQETAlNDzACRw6nAqwUqQtQB7kRXwbcAUgMSgJLAj4W3QxMBdoHvhJgEkoJ2AQ/FkQGRAtIC0sB5wFoAoQJSwJLAUkB5gFDA08G6wFqAU4IKARGBGEDSAHSI2cfRg6pBGsvRwGnBEgBTwFcAUMC6g5RCHIKlwE/BnAFwQGdAtkDTgZDAqED5wGOA7MZRgN/BEgDSwNHBjMFggRLCisCtQpKA2YSTQQwAkcDQgKyAUcHyQQ/EE4VmAiTAVEGqwHTBlABSAdvDTsBawFECEoDRwKyAXsBuAFABX0EtxJQA0gC5QLXCeAEUAFvA0METwOMAYkDgwG2AZkF7AGbBIMCbgFCAbEGjQrJB7MBRgm6A5UGoAVJB0QIsAeZAkMGSQRIB0sBwAlHDdYHcQG3BqIKSgSrAdgBqgdIA00EuQzEAuYORAKFBGEBTQKhBEMCQQFGArMQTgGIAUkBuw/qArUGSAPaGLkQngiuATkCSAbgB8YCSQJrB+ABPAFCBkQKPAGsA1QCrgM9BlEEsgJLAUcDfQGtBEQK0ASxAkIKaARyB0MBRg5LAkEFRwHgBEcBlgHXAeYMTAdGDEsCYQdJArIDTg9ABDkVmgGlAs8I6Q1CEF8C9gJPBUYESw7DBa0BSwmlBpgDOQJOBEARXQTgAXQwPAvOCOgBwQfIY6oWnw","1AuDFKpmcUqhgQHe","tQvf","ixDp","U2ayDtU","rAuX","ww3i","/AuV","NcA","xwNq","qRB+","twbd","7QOL","4wTU","oxHI","hATHmgHj","rQlz","LoU","6AFE","nwnC","4wfP","xATM2QRieDA","sQmz","E8g","E4w","swff","D0s","e5kOmQ","xgK6","3Abx","5Q3H","sQ3h","ggPWAcMBxegN2A3XAkICST5IK0kDZCpJBEg","0wR5","owNl","mwJ6","zQna9wFK","4wJP","ugGV","vAxx","owmT","zQbwzwXtJHTtA88GQw","+A2r","/wlB","fSa7ATNrnDQv8QMplQM5Va5unlstMiuWAS8","B9M1mlliBDVdLEpQTEdBcRtGwQF1F9JQ02fBBW5H2MMBPieeKpsJdSpDiQHWEroQphppHn4vRCosHS4BmgFIa946yjo6kwGDA9VK4w","swG/","wwfD","aleVDPc","swid1AXiA/A","fmo","1QPF","dqeRB7jUATvGA0QBug","0APFoAWJ","jQp0","ywTAsAzV","zAF/","4Al12ASyQtc","0Ale","gQVz","Wr4","wQPF","kwLR","tgSL","kwK0","8Akr","mBDMAc0","Ol0JTZEBMg","Cdo","5RDV","IWAJgA8+owJ3xwhztAJ2","ngTFAaU","iRDW","vwjQ","2w5+Bqo","hgFDQWc","7gzB","A3YBmQG7A+ABPgTbAlEBugXtAtUB8gTnAZwB5wJRAfUB3AEtAbEC6wHwATQEdgb4AvICjwLYAfcB9wLLAekF8gHiAfQCSgK7BWUCvgG+AdYBywQeAn4BcQFsAcIDxgTPAswBTwHpAWwBKwGAAd8BcQHDAZQC6gPkAZkBoALmAbsCiAGBAfQBjALbA20CbAL4AfcB9gL3AvcBYgeoAegESQGmAe0BmQRBAeYC2wTnAVEEOwHuAYIC5gHEAYQBagKkA2QCtgHXA+wDcQGgAUEBPAGmAcgBywEvAccFeQG/A/YB3QGoAUABkgJpAqECkwHVAfQBZgrHAegD0gHtAuMCpQLsAj8FmgvrAb0B5gGeA+ID0wNRAq0GsQLdA84D8wFaAbkBZwG2BuIETQGmAtQDOwGoAjMDnQFkAS8EyQF/BdkC0wHcBJ4BcgL0BmkE9gG0AZgBmQNrAo8B7QHYBHkCaQFlAWEBZgFdAU4BagKnAdYDUwGAAlgDdwH1AeIBlgywApgBXQFgAVsBWQJzBMcDugF5AfMEuQLxAtwBzgHiAc8BMAT5AscBxAH5AeALWgJnAaMBZgHyBZsByQFZAfUClwH5CbcCZgI2A7kBugGnApoCsQHVAWwBvQHbA9QB7ALpBKwK0gj0ArQB5AFRBHAB6gFgAXECXAHyBIsBWQFyAcYDbAnLA/kB2wJwA7wB9gXJAfICKQPfAcsB8QFzAuYBowN6AfcBaAHCAbYBPAG8AtkC1gLyCHABygLdBm0BOQFJBJ8CuwPlAsYF9wGgAZkB8gJwAXoCoAPxAeQB5AGaAvgBhALvAlsBVgh0A10B+ATjB/ABOAG+AqEC8gKRBGgBYAFbAYQBXQFsAWMC7gHwBdwHyALUAaQD4wE4Au0B3wPQAeYF6wJvAW0D8wH0AZ0IdAFzAXUCzAP2BoQB3QjKAUQC2wH1AvkC6wR6A4ELcALcAfsB+gP6BbcBvgGfASYC8gLGAa0GhgFqAaABcgLlAXkEvAHyBfAR9wFtAbkDeQagAsMBYgFkA9MFdQO6AvABSgK9AU0BywHvAecBbwplAZoDWQLSAvQMbQPvAS0DqQHpAWMFnQFKAnAHhgHhBrgD8gHBAtUC5gRjApEC0gKaAfkBxQHvBE8B5QNtA/QDOAG1AfYB9AXRAWoE+AHfAuwCnwHvAfkE5QX1AuwC8QVtAdoBSgH4AusCdAKnBpgD+ALoBYIB8Ar1CvYCYwuSAXkH8gH2AfoBXQFEA7EB8QHwAVsC5wHuBOME3QPyAfMBxQ5LA2oB4wP3Ap4D9wJVA2UG6wHAAXUBwgG3AcMCIQK9An8BzgKtAbcC9QXoAZUBnQKjAbgB3gLzAbQB8wTqA3oBdALiApUBpwLtAuEBrgH3Be8CIQHcAVgD9AZyCa0B6QGmA7kD7gFmArsC7wH2AZwCbwHnAawCQQLwAawBPQFEAYwCmgH4BeoC9QmeBPgCoQTFAZcCqgVkApoGXQFQAcMBuwR4AXsBtgGSAa8C2gH1CLIBtAL4Ae8BsgLPAXQC4gHhB4sD9gOMAnYBbATUA/EGxAHpAewBVgHjAfEBqQKaBHEB7wTsBOoBXgEdAekDvAH1AuUGugLqBd8BywRxAZcBbANuBM8B1gLkAewCwgTfAvcBKgKUBM8B+QGbAfYKzgHxAfgBVgLOAaoBzwPdB9MD8QGmA8EEwwLwAd8D5gHoAfACoAHbAZoB1ATIAa4CmQHlAc4BsgOLBqwGTgHJBuABoALQAp8HkwOMAdYE9AHoAZsB4QHqBPQBjwLlBO0BswnzAocB3gFLAZYEzgSoAlUCqwHAAcIC8QH3AZcG9AH0At4B5QFlAcIB5AKdATAB8gHzAcYB2AH3BbIB3wE2AeQCdAjTBpUBdwIuAiUD0AFsAWgBlQLxAasB6QTtAlMBUAHeAYcC2AHkAWoCjAdSBMsBpgL0AaICrwrdAfoCmQFYApQBKAHZAXcBcgO8BfgCbgLuAr0BqgKvAusC9ALwAb8CWAHHA/EBzgHiAasB4gLnBbEC9QLhBaADlwGDAX4BhATmAfIBXAH4AYwCuQLvBG8CywOKA8gDygH4A/EC9AHYAkQBbQG1AZABogFfAU4CcAFWAWADgwFQAWoCjQHeAqIBXAGXAc8BiAJSAa0B0AL3AfcB3AGUAYgC6QHnAWwBtwHcAuQBpAHyASEBaQHGA6wBngHaAXQC4wHnAp4C9gHeAe8BTQI4ATQBLgNJASsC8AGoDbsCbwHrBOMGsAWuAfIDlwLrAcoBvAF4AYwBWgLvAu8CngJ/AaIBwwHMAbgC+AP4Ab8B+QTaA9EBbQGKAUgBsQGmAfcBWAKTAbwB7gHSAZsBjwHwAe4B7wH1BTIBWgHpAmsC8AH4AfUBvAPiAb0DnwKbAdcClQM6A+wDoAGXAckBnQGfAvUB+QHuAdIB3QG3A6wDWgHcAd0C9wFvAtkD8gTgAuMBvQHUAcsCygJlAYkEZAWOAeABYAHsAecBoQG9A/UC0AblAfYB9wHtAV8B0wHoCIkCmQHcAewB6QHsAXoB9wHYAsAC+QLqAeUB3gKIAucBkAH2AdQB2AHzBPcBgAGOAmcCgwHzASsD9AGAAdwB6QHuAnEMZAKzA+QB5gSsAakIVgHaAb4C2AJAAksBvQP1AUEDQQJ/BUcE0QFJAdYEXgbWBbUC6wOHA70DPQLuETsL9gE/AukNSAP3BuEBPQGoBOsBcgw8BEkBUgPQBPACPAVIBOwJygLSAp8GmgHoBnEH+QLuAdYBhwFKAVAC4A","IbcjtCB5CUItQRJHuAFpP5wFntUBzwRHMbqQAskFTwyKDm0EqwSzhQGjDV0KmxJHRagDlD7hc3ICRQPVB1oMSJQBnQx5rwHxLEIZbxqdGKwhSQjPBa0KvSLAU4ZjRQ","7g5z","7g5P","IaQ","vAyd","3Q/h","9wJT","zA9Q","IcoYwQHUaJuFA4JaR6IEnHNDcY1CJVO0FYQBpA7OCNEvpjQ/NLO0AaM5egEiYLw","9AIkwwtw","tw4k","9ASo","lQbr","lQZj","xArN","9wx7","iwyd","0gZe","+RG0","4g2e","lg7A","lQah4gjZ","lQby","rAGr","mwji","+g2qogTT","3gko","vgeC","Qso","nQpH","2Qeo2wHA1AeW","mgEq","uAk+","+gfh","OVQ","A+AMmRKxFJdW+B3sKUcB9hVsdM5G1Sm0Bd0eRhjmAe8L7iVgCNwQv0XSEbVaPBSrA8MBjA3SKsp21RtEB98JqwyhD/MS5h/kEZUF0BaZL0ITqgrgLdkGUFXHYHINiwrZGkkBcgMeDXFVewHeWu4O1hHuC7gEtweFDc1rgDWeE7EBsgFIEEA5hznQFt0F8QJHCN0DwQRBgAHhBNpE7hzU","kAjD","iwHC","iwGL","iwEz","iwGL","rRDB","J4w","xgjl","xgh0","sgyk","wQ2F","sgnX","iwG02gbOJMyxAoJgSTUeywFJEUnDAZ4TsbABQeQB0A","tgRg","nA9e","kgvF","bKDOB6/JA8a8A2M","wwTN","ogGb/g7s","tg2tBNo","qhC0","nQ+x","sQyXmwN6","oQKz","ywjD","hhDvAWgBPg","kgtX","7RDS","2gZU","jQ5gB2o","oBC0","ngXG","qAR4","wQ2xAZoCqw","kgu6","mhLH","iQjb","gwzN","iQ3L","xwh0","wwfH","wwfH","uBDd","/g5i","/QS1AdE","mhE9","oQN3","xgzJ","xgym","hghB","0QPqnwXX","kwuO","pQXra+Y","sgFZ","1gJG","tgTj0ATWV48","0QF6","FY6FASo","xQ9y","xQ9y","iwyZ","PHwBd0Fq","CEIactcKYi/L","7wsx","lgbNhAzu","pBB+","jgxr","3QSD","pQWF","vwnB","9w3G","/gXR","amY","uA3f","GMI","sgyk","1wRl","ignk","e9eXCsE","NOBTyQ","/A3coQTW","jQ2i","2QWOkgV9","kwWq","zgRt","6wOrkQLOygJwtAWqAq+QBEcQwQ","mhE9","+gfh","hxDwAds","A3Y","xwyl","kwXMigm6AeqhAWNupg","rQPx","0wjMAWCzAmGTB5s","0QLD3QHhBu+rAx/JAcL/AYsiJWiqlAGGCeeiAS5cKwEi/AHm","1A9x","+QnP","/AWtzwK5","kgvZ","2RCp","tgdt","ngWJ","NK0","lgbsDd4","lgaM","0QF6","0gG3","yAG7","mhLB","lAY5AuI","vxAy","jA3t","qArRAaM","mA+h","iwyd","ADAFqgFeAz4CRQN9AVkKaghuA00GMAWxAbUJvwlAFJoIXgQpBHIDMAQjAicHLAcmAqACywtUCEADSxWmBX4BPgJxAywGbwuUCUcCkwmYAzAIKxMnHGcLagFaFEUCMwhQET0ILTJ+EDoBeQyeDogBhgNmJDAKxh+VCacrywQwCC4WRQJAAVABZgwoF0gNhA44A5MDLAR6EdAFLwKXBVwyNgFiAi0rdx0uFJkIpQ8wCKYMvxDOBJYHXxeDBKoLqQUpDygFNwguAZ4HVA04CG4DogIpEaEBphu6EFkEoT4zAnAXXQqqB0UIdgExECoCmA6vAkUKLQJLDE0DjQocCkkILQU1AmwErActCS8LaRO0CHwLOSp2AUICqgZyAikCLyUyBlIGqgGLA68CfwGQBS4EKwN9ESwKJw97An4EqgY1DzIFMQ+mAigShQIoAUkYMhPGASwWLwsyAi0MNAtTAVkESRKwEzcGgQVfCCECJwklBr0HKg0gASUGJAkgBjQEKwZYBCAKTQZrFXEFmwU2EnEFdQMmA0gCOSQ2CjYHQwVKAX0qbTukAiMMJgMvAVkMpQV1Pzs1nU1E","vAxxApg","ngV2","xQtzowMrKjKAAW4","Ozs","CJE","qQEs","oA6W","hglu","FWs4lQF3H682RR9BAY8Fuw1FWpknRkPlED49cJICl8QBSlCqV+54Oz5CkQG5EayUAciuAZ8jSASyL7l9PynC","ixBr","qQOO","2gEo","2AvI","IrNAPxltA9cBOhcmB0oCQQQuC4gCaRQ8DiYCMlVKDJsGVjxFIjs0PQovE0g2KoMBoxFABZUGLy8sASFpRRe+AbgBvFhOF04aSBRWAmMPTSLpFTsDTSxHFkIFegtDCXIVRBYuFJ0DZDxMKnQEhwxyPUsGZgdbAmcSRQZEGEcaoBhqGTEJcS6uJS0LSRhGAkYKriU8FUQGPRQoI0YMRwg7ErwCbkKbFZcUnEhIIElengSHHDcPPiqKO1U","IrM","lwV93gS7pgjm","0QjO","7QW7","vQRa","vQRagASv3AFCHGzaBE4","kAsq","8gLA4AOJ/wG2gQFtrQPSggGj1gGx","d5f8AXk","d6rbA1jRCKg","wxFA","f6c","f80aqD+rZ6ywAUYURMMBRVa3PVhr2RhMowGmSKZGPA48qwJIuQJBAkwEwRSlM6Q","tgi5iAmx","hAon6QOc","7RFE","swqV","sAktigE1MzGnB9Y","tASyG67TAZ6dAin8A0/XAZeMAoQ","uw5I","BKocuBy2Adky0wI8FKMtWQHLA8oCggqrCnAGowJAC+g11AW1Ab4Hag+8AsEZ2AHAD8EBSBXKCtcI4AaEFKEOoxCsB7wgvhK5AnUJ0SjeEUUrvDS7Q7wguwi8A8MftAfXC5wKtBfBA1QBvAS8DbwivAKjArwKnwLnDeEEvgGLAo8SvAeICLwivEjdD78ItwSCCaYEwQ28A7wdvAnQFKoCnQXYIWMLtQ1GAc0TzhPkHrkBIkNxAZML1jamCdYJjgXSCJYDSQqcM1EIKRugD9YBvAy7BbsFngS3Ar4ifhJhCT8BbRS4HsoqvBHXCcEKpQe8BNohvhi8S9cQnhLOBm8FICPXB7wEzQHhAboDUgMsAScORARtAaMNK0DXSkAOPiFMCq4","hwIv","jxCu","qRBJ","bNvxAa31AtqNApPhBeA","O48H0AJ/JaYJbCEpBEsnnRzHadwK0glcB6wZP0g8BrRyxm9kDU1rsIEBsAmdC0cPrwnlCbxS2QLeA08XYSymNU40ezcfDKYJIjxLLJwvuQWTAnQLslpJAksYLwiaCFAGyU26HM8BzifBRdEEVBREDXEYRQW8ArMaqAeqCaULqQieDU4KlwWuMaERsB+ZFU4FpDBAG0EI1A","KrCJAarpBNNBfYQIu4YCQA","uQVA","5gSwzwxF","ALcBUAG5AbkCuQLeAccBtQG9AbgBfQLUAdQBuQK3AbkBuQLmAeYB1AHgAbkBuQG0Ad4BsgHTAtEBuALVAbcB1QPhAbkBsQHZArgDsAHfAbYB0QKzAdYBiAHWAbgBggPqAbMBwwLjAbgD1QG5AbkByQG+AeABuQG2AtQB3gG3ArgC7ALYAt8BsgO1AcAB4wTWBLwEvAHXAb0BsQHUAX0B4QG6AboBbATRAdEBugLdAZwDvQK8AboH6AG6AtEBtwHgAbgCuwK1AdIB5QHpAuUB3gLXAdQC6AGwAdUB1QTVAdQBxALRAeQBtgGxAd8BuQG8AtcCuQLPAeMC1AHGAdQBzwGHAbkB4AHRAaoBuAO8BLoD1AK2A7YCuQO5AbcB1gLSA7wBvAKwA9QG1wG7At4FpQm9BtEC2AGoBOcCvQHQAeQD0wG6AqQEuwG5A+IBqAbXCbsB2wOeBtUB4AG5AbkB0AHcAa4B1AHXAbwB1AHXAbsC5ALOAbkEvgW9AbkCugHmAbkC1AXUAbkBSAHeAeYE1ALjA9gCvAO9AbwB4QHXAeEBuAHUBckBtQLAA9QBvwfWBbkB0gHTA70BvQPUBLoDwAHRAdUBtgOkAugD0QHgAdABKwI+AucBuQG8AdcBvAHjC7oBvAK5Ab0CuQfLAb0BuwK5AcwBuAnUBL0C0wLoAbwBjwLUAdcCtQK0AbwBtQPTAesEsQG9ArgCtwG2AckC4gG3AdYB4AG7ArMCoAG7AeIMwgG4AbsB4gTVAb4G3wedBNUBvAHhB8gB5wHiAb0CuQa6AboD1wFIAeIB5gLXB7oBzAa7A9cD3wS0A+kCuQG2AdMB1QOqA7QBvAK7AroE1wLpAbwB1wa+AdcB2gGeA7kBvQTQA7kBugS2CL0E1wG5AdkD0QLcAcAC3QPbAbcBuALXA9MBugK6AqwDvQXVAdUB3QGzCLwBuQG9BOYCugK9ArwBvAOzC9ADzAi8AeECugG8AbwDxAK8A9QBuwHXAbkB0QK6AbkBuQHXBboG1wK6Ab0EvQHSAbkCugK5A84CugGbBLkB4AW8AboC1wLXBscH2AG7AboBuQG8B7oDvAG9AbYGzwLsBMUGqwG5A7oBtwG9AbwBnwGhAuMBuQTgAdIE2AK2Ab0BuAK+ArkCzAHhBLoBugG5Bt8BdAG7BOEB4gHiAeID1wStAdYBuAG2AbkBnwOdAtUB1wLBA0IGugTXAr0CvAG9Ae0GwQLnArkGrAHgAeIBuQHUA7YCuQLWAugBugG7AboBsQG6BOICvALQAeAC5gHhAdEB3QK8ArwDvQG8Ar0B6gOeA70CvAO8A8ECugS4AaYB0QG6Ab0C4wG/AeoBtQW5Ar0FvQPgAdkCkALSBNcB2AS5AbwC3QHfArsBvQLlArYBuQW5A9kCuQGvA2ME5wK2Ab0B4gK0AuMCvQK6A+0DvQK6AbsB5QK9Ab0B5QHeArsBvQWPAtkD3QHTA7oD3QPnAdgBsgG8A7wC4wGlAbkF3wO8AboC4QHRAs8CuQG9Ab0C1QHUAbwC1wHZBN4B4gTjAbwBuQW6AeMB1wG9AbkCvgPWAdQBuwS9AdUC1ALjAtcCyALEArgBuQHXAboB1wO6AtcB1AK6Ab8B5wK4AdcBuwG6AuICvAG9AtEB0gK1AuYBygK4AbgEuwPVAdgB2QJNBNMBvALXAboB3gG6ArwBzwTkAbkBvQHXAbwCvQGhAqwCvAK3AbkB1Aq8AdADvAK4AUwCKAG1BeEB3QHXAsIBvAG6AbwGuQHeBMgEvQO4AbgB0gJLAboB5wHaAtQE3AHHAbkB5gXRAsED4QG5AtcC0AHXAdUB5AG6BL0C1gFDAcsEugO7A+AEPwG8AboBugLUAdwCugOyA7oC2gG8AtcDugG6At0CugHTAbUCzgS/Ac8BtgbbAbQB0wa5AtcF1wHnAboDzwK6AdcBowNAAeABpALUBLsBVwLUBbUBywG/ArkFrQK5A7oH3wO5AUcCswLUAt8BvAS2AboC0AHfBLYCvAHoB70BswHTArgB2gO/AroBZgq3ArwKuQHoArgHugPPAs0D0QLhA7YBvAG0ArsBogK7BMADuQHlA8MB1AHeBdcBuQHnBegB1QPmArkB5QPfAtwB3wPVB7sBtAO5AbwBugG2AegC0AO7AWkCuQHUAdUB3wXhAt0B0QisAecD1AO5AbcDugPeBLkMugFNAeMN1AO5AuQE2AHXAdcDugPXBM0B3gTSAekD0QHXAoMB0wW5AbkHvAG9Ac0BvAG5A7oB1wG2A8QC1wPfAdcBvAS7Ab4B3wO6AdsLugW3AuYBqAK7A7sD2AI4AawB0QHWAbgBugG5AbcBmwHRAbkB1APUBdYDugLlAdAC2wLkCd4CuQG6AtQBugG3AegD1AG3AbkB3wLhBLkBnQK2AeoB5gHgAd8B3wGuAboBugHcAdEB4QXOAb0CuwHeAeYCvwS9AuEDuQK9Br0C6wG8AboG6wS6AdED3AXaAXYBzAG8BdcDvwO5A9kDmQG1AbkBuQHIAbwB3wK/AbsBrgK9AccBugHYAcUDuQG9AbkCxwK8AboB2AG6AroC1AK2AbkC0wG5BNgBuAG8AbsBugEtBLkDuwG7BskIxwW4AtQBvQHbAboEvAK9A7MFnwK9Ad4CugPnAbkD7AG5A7kCvAKOA+EEvAHXAbwHwgEzAd4BvQHUAdUNbQHSBrkJQBjkAkwCvAbNAbwV1gadA0oCrAGuLkYTsQVFAT8JsRHNDDY","lgHE","Y7Q","nwrN","E6gCmhKwATQTzQOdBn8DnhM+E3wBJx+CGJ+yAyViot4DLs0BHQUnBDEwKwQ5dSwdKH8jygEukQGa","K0ksvwdQO6YEoIwBnAaZBEoGoQagEXgNbRedRc4FbSFLUJAYdBhJFJlBfg0wAaRbnAyrGsVvjxKkA6ULawpMBKcEZQt7RWgRlBGlF6YTcCiZBncsoR+kVoIZpSmfCaUhfTCtUMcIRx19GkcacwFpDKoNSwWgQp0NoR+pBGAJohV3MUcMnRhuDUQZnAZrA6BJvAhvAWsleLoBSA","bEIfmrQBRrABzKcDREucC0jwAqFStwa3UEjTAZ8","uQI25wWopwdi","nQxP","VbrmAT+iAZXiDbM","FlMfSzdFBZkboAJZLD0DQjhCLJAeRgWRDokWkRmLKjwvQ1WQLEsRjpUBkTeHAogKdwyOB4QpP0KeCEYvSAmMO2sBgiipDXYP0zBOB5MDUQR5A4sCeh29IXAZR09HHJwPYxmSCZIMSgFHBE8BRw1CAUwXR1emPYkrSydFKEY0Qw5GDE4vQgZLFksOPBg6XzcinQdImgF3","KkcPvQHFCdMrXSWjQZ9ahElOS+g7vwLKAuRaZXKYQrEcOTTXO8oGSmDHRkBU45IBbQiDWkIGpj1ENMBCbhmnFc4BUgGVFYkBgy3DVpcOpwGtFZAlQkCvMUkNunjIOKchPHyf","zQWYvweJAYORAacBrQ","mgng","2AF9gwPclgds","aoPBDTw","gQSs","gQSc","0hHR","/wnN","HNs+d9kHZrkBq21YsgXJ","vAdcJYPSBeA","/wnN","1RA7AcM","5BDS","dl8wbaABcN8DeQF34QJw+wFuJJ8","B5JcUwx6Amg6Xy2IfGeaAos0uhdquwGvBN0B2ECXEopMp5IBv1RzlAGCUoGhAqS2AYSDAXQHew","mAex","wgN5iQh8XFUBQg","8A55","R94","xgi0","pg/X","qwHE2ASd","sQ26","1RDdAc0","9Q3Q","mgG74gj3ywF5","nBHS","fug","FFebAlzSAazgAawLnaMBoDp4MdMVhQeeClWUAXgHz4gBogFzAXsXdLUBlhhKB04pdx2dHiVksDB5OswYwQFf7gFLKmc8xgZ1EUktyQFt","FCg","4QWs","gQSs6wGdqgKepQHPiAF3AXMBe50Ekg","rwJc","zxGI","zxGI","jwiF","qA55","4g6S","4g6S","+A2w","jwegkQFV8QOW","wwp3lgJ3","BLUBjwiBywGImQOeJtCFAi/ZBnhJ0JUCywGgFmE","ImwJPhBOCbUE9Ru+DD8Rpg7iK6MNRiB0cFQDkQneA6sRZGKGBkDhAWfbAeE1ow+pCdsdoQJBLnm4AaEBiwnkCWcDRlHCJ0g8Xw4mccUBhAHHUrKcAZ9umT5pYEErS8QBUA","AngNSwqCBU4PaRlpGlABQAGpAbwdSQuaEJ8CoAKkAooBWwxIJKMDQBJMDEcLtTebAz4CPie5O0wKjANfJD0Lsw6hFZsUyymNFtoNZRaeNU8aUAEwEKcEgCyRJqkTYwuJDYkDZkCkEJYMlyGZAZ4XggLNA5oIlCi/FZ8dIAEoBKULSgtLApYIZQGVL0ACQwPGIJkGWAugBD0FrQErE6QLJwZDA8wNaQ6cCr8ySCarBioEmAGZDacVxARoA5MIUQJIBWIClwWkFEcBTAShB0gBoh1IDUMBngGyDZALwwJyB6EBowJNCaQlSQxRG58EnwJwDEoqqA2WAlEYNwGaEpcFOAGQDkACpQWgFKMarC2mHmELQxCoBaMEnApmB0EDbyB4AVINchmCDbcWRgw/AkZ7iA","8wKb","0wFHjANJygVOXkSqAUtCSVKpGrf3AeJRRBJFGkgDdA","QkoHsooCUswDVJUBmA2jFklKbUxJEaUyLUubE0gVLSo9PKIBUWoyqwGMggEfEGIGnQ2wBFAbHhY1CyJeSQd1SDYLmgNU","cSo","S2W0BaxVlf0J5A","AI4DdgXXAa4BUAm7DsgOqQGDBI0MTAtlBu8OtQOnFrsTiwV+CMUFugSsBC0BhhG6BcgDtwJRC68FRxebDrYYtgvtFawGkAHZA+MDUAY+ELUDSgHcBK8E1gc5BqQDthC/DvUCRw2uB9YK5xDGHY8CpgXiC8YDywGsDdwBnAerJ7cFkAXZAikCbQe6AdUC4QLTHUkBugtPCuYowQXMBskKsQy3EeMCTxSpDboMuhpjCzQnugKXC+QBlxR/BaYB1AxzB7oPtgvgAaYC3Ay0CboGogboAqgVdhK4AZoT5xK/Ab8ROQm6EZsU4Q26AXgfiQu6B8gBrQ9KCboIcgSrDccCRwS5AroEqgLgBawDOwFBBKofowa7AscLqwiaAdAdVgLuGJwGugHRB7oHcQWLAboIugG6DccPQgOeBpkGuAasAcUBkQ7RAlQIugW6AbAEfwPUFbAD4QlpA1EDTgJTDlAKeALlAbkItwbCAkkRNRGfG9MYthbqArYCwwhlAcwEQQNEAbEJyw23ELoCwgJvEtoPtwhBAbgCoQG6BcgBXQGoAkMWugueEsABqAW7BrgCjQNWAnEGqgjDA0cQ5QXGBskBShCOA7oJlwHKAZwHugSuD5IC6ghDDbMIegGiBLUEvAG6DJ0VsRLGBMQGkAKsAn4FwgtECcoJogaqBcECRgv0AaIBXQFFAcoBwSJHmwGqBtUJVQ","iwPe","Ueo","CFFJzA","CNM","A3YGrvkH5w","oQfGAaYOiw","iwPv","Ae8G9Qf0EfMO9QSXCjsFkwrgBOgF9gfTEFgEXQbPBPAS2QZBD/QE7QTzCOoHalvHWrIBrwG9AdYB7gHvAc4IVwFXQfICcz7tPflA8hiTAsQEeQPLbOgB0AHeNeIIm1fqHvYM6CPuMeweTBHoXqwOrALkFbwafF2WAp4CdRPs8AKvnQHcH/YUuSM6JnAfhARyGvIq9hHlOqA","8AJaTILJArfOCq8BoA","8AJa","LcjyD64","+wPR","mQir","uQfP","uwPW","B68","7wJd","ToEqvw","uQfP","uARF","eII","eNU","8ALgS9b+A74","uQe+","uwOy","H84","BJnHAc+0AXbVBksrPtABHgJEpAKyDUAvpA","8QR6hgnW","/AmB","xwt5","3Qvw","RvA","rg6u","Rs8","Rr4","Rmk","rg6u","nAGxlQhsZ2w","AngNtxKrAoYMqQZLIY8JYgNXCqwRQgqfAm4LkxqpFIQFpQVGGmkCpwOeAjUJrxucMJkPoA5SFbEJpAmtHpwDpQKeAZklpBl2BnQjrQOmIKUCqwtcDJEPpEkhBaoKqQ6gT80NZgJUF6QRTQuJKtA2jxAhCqELnR0sEp8hqhiUCp8QfgHRDJ0LyRG3Fy8DTgZOB3ECbglOHJwdUQarA6MQlAHSE0wDshW9AtwEnRKRE6cGfwWlBlQasAaWAaQHkxAqDcQTrwJIBSoBdwFmDjsCmhFyE6UBogpECKQFrAGuAlIHcQOcCmwDsgdIC0cIUAaiEEgHnA5HFKcHpwGbAlEcRhgiCbEQsBonBKINlyCbGZ8UkBihCKAGMAayDqUFRgmhDKwDlwYwEjkWfg3KI24EZwguDbUCKAS/C5oCpAd1AXoPewytU0ocPQmWKUkYmw","/gyhuwJO","VoXrAZlncZkBtKsFPZoCdTiaQGmjAalUoUp3SxsLZJ8Bmg","zgP3","zgOu","mQHv","tAHz2AnU","tAFi","DsQJiwRhB0wCwyleCR4IuwU6CUIOoAYyBqYObQXZCacDZQSmA6YGnQGSDnFGpQqpJaAFiAtrB5wRdi25GdwBsnurFrcKXB2cQjgiagGkY5sBuB2hD19BhgIyAZYBmxuPGEYGngKsCS8ekw6IHkYbvAXsHXgEyQXAA6MjKwbUA94F1gTNHagJdQN3BG0IyQ3BBz0NWR11BmsIdAW4EXcIVgiOA8orXBCwAWoGvwdnAdoBZwWrCHcagQttAaMMnh9xAY4lpAOjEiADVQFaAoMkbASUBaYMswHKBb0BawOzBc8LlAHFC3IESQGjBqoCdQumBaA61RO3J6QIawKkAnsGsgNCAqYCtQFqA7AQmwTnAfAXqhRuATsFhgS6Im8BxghtEMUDwgHRVyMPcRKPT9UCmRC8J6USygFJ","8QtG","dUMkNTU9BKMBZzSlLjIEoSUuIm8ddjBveqUawvgBqliXzwGWSphQiQ6fDyZLJQUpB5YLiTOQVUctpAGsE54SaRaYBKcvRQGWDY1lR1O7DE57SQwpFScGaQ","xwmwS0g","GYJhly9C+AGpClSWATT/AmgHpT8pH6PrAr01JIMDmw","5gGb6wWy7wOqzgFOswGeF6gBQg","xRCPT6A","lwva","lBHF","DFlCUwJSA1wEZgdQDqEfaAE7BLcKQQ9CAjsHQwRqBmYGQQ47CGEac0k/BEYCPgJEEUoJSA1yMEwuPQWlX042Sgs+NlMRSQVAaaqQAUszSgpICkguRDKHdkQWUDRCT0kiQAtCBEBcTrYBcUtnCkECQAxCDDwpRD1LBTsUQgNGCDwJPAtMC0EFQAZHAXABPAI3B2gFayNKE0EETQFMGLqXAT4","rg6O","rg6E","gBD6","gBC/","7wHEtAeJ","gBC6","aCssk1mrWYSXAmoLlFmXjQFESXcJfW7BM1ZpSjMzH4oeKAmlH74LRStZHmNSRwyfM50Iqw6gNeUsQQFGdCcRZAXhCz0jpQjDOaYVPG6fB0chIVhJ","gBDZ","gBDN","tg4m","DIybA0L6Asv0Bu6iAUWAAcxHug","oQaz","oQaK","oQZB","twFk","uwLEigywK7o","8A6T","Fa8TnAK2BaIQ7ALCHYIEpxC2BZsEqQ6zA3oCrCN/A0EPmASQII1OlinDAcg+4g","P5s","8A4u","ogOg/QG3zwHG2QJwU3PrAWNnsUBvSuI0Q2fA","7gZs","7gbG","7gZs","6A+T","R+UGwI0B4SDn9ATa","R2w","R7WTAU0gJw","wQRMjQKX/QRJ1gVH","uwJs","uwK4","uQrq","xAcpHDGNAVw5Md8BaSEq","9gJeAVM","/Q2f","1QZ5","AqkF1gHNFsENpQ7KAd8CgAFEBssLyQTZBqkMuiSDB9AGxxe9BVAJ5QPbBjoBoAJEMMkbjTK3IKQCzRGlAZpLnQHZAdgB2BWCXMIhmxqkNNYE1KkBnQilYqAI6ylJkgGnAVH9CMA","pQUsnwKruwEq","xAcp","xAdH","xAe2","xAcp","U7gzKQpuCqFSpD2yfCvJAWHIAXVKKzGXsAEzIK4nQymdxAKoB6S8AawToyaiJq5JSy2hC6IVogyoQnoWfRFA","pQbuAds","pQZL","hgEpAycMsxBl1gQtO5zKApZIKjObDnXuATslbgUp","8QnI","mgF6","mgGa","vAnQigef","6AWm","gg9rAa8jdQ","2Q+b","C0WqAV4PwHU/cJk9odYDbekBTk6rY5oOpXGpQEUoRTKGKleWAVQQRv8BpA","AEIBmAGzAboCnQGvAUsC3QHDAYEBWQGJATkBewFRAqMBqgEoAdEDcQPKA04CkgLbAawCpALSAUMDdQFtAYUBeAGeAdsFhgJWAroB1AGSBK8B2gJiAdEBygLFAXoCzgHEAXYC1AaMAVoCYAG/AXoDuwPJCL8C0ALgAoQFPAGLAXIBbAGkAdoBbQI+AUYCMAOsAaYB0ALWAdABSgQnAW8CmgE6A7QClgG1A50BPAI1BM4CQQKkArsBvwG0Ak8D0gFtAqcBwgO8AdABJgLZAtAExgGlAoIBoAFCAc4BMwE8Ad0CqwnIAc4DbwHbAdICyAKrAaIB3gPYCLMBrwG0A1YBbAWlA8sBjAFpAZ0IzAPWA6cE7gV0AbQCtQFuBCwL4wKOBpwE6AKgBEQBsgGbA5wBugFbAa4BeAHUAsoB2wHKAqcCjwtqA6IBpAKrAckCpgToAboBzALBA5cBhQWkBdkCvALAATkClwZqBEQLZwVgAbEBSwPlAZQCjgF1Aq4BsQW9AcQBPwHWAX0ByAFpApkC4gKrAdEB0gF0BHIDowPcAWcBYgFuAacChwfOAZMBagSaAdMJ4QGfBJACQAFLAoQCzwHBAn0BhwGpAkgEdBSeAasEwAXIBFwD5ALFBtIBYQFKAs0JkgOdBa4DXwGSAbwD2QSXAb8CwgHUATQB2wKxA8gFkQh7A2UDrQPKAZoBqALpAc0FxQFuBs4FtQHRAooDlAa/BcAC5gTpAc8EuQHKAokHywGwAaED0wG1AUsB0AGtAZQC1ATXA5ACSgOiAnQHoAa2AcwC0gNtAosHyQJ2AsUBTQSBAZ0OywFTB7cDsgXVAXcDlAHPBKQHgQPJBukEsQa8A6ECvAOKAdIDngKsAWkB4wTLAqkB0wHNBM0DnQJwAZsHdQSlB68JbQGuAlQF0gHhCdABywRnA1oCzQRGAcsCTQaeD20FyAFpAUQC2gOmAb0BtQKeBtkCrwKnBmwDrQHNAcQBswSuA9gDigG9Bs8BTwGsAU4BxALJAtEB5QHIAVkBsAJJAWMBPAHZA4MBmAFMBDECjwFIAZoBKgGuAZECoAHMAowBdAKwAd8CpQFpAr0D6gNhAlQHwwF/AZgBwAWMBYIBYQF0A7EBigPZA1cDugTHAt8BpAehAXsBpQF5AkIBdgOxAmEHqQGyApACXgHbA9cBKQHIAVwB3wrcAygCbwa6AtAGswNCA3gDzgHLBlMFQgHMAWUBdgTBCjkBgQM3BK4HJQGfAeEBwgF1As0BXQHjAUMBpgFdAeMBWQKbAtgCdAHuBLkCXQFjBEEBSgLOBKIBogRGAdsBLAKgAn8BSALLAcoCwwIyAUgBRQGvAroBPAHIBNAB0QLCB4YFzgHOAcgCzwJ1AaQCmwFKCZABrQKjAW4BQwGjAakBPAHGAV0CvALGAWMB4QKzAcgCKAJHBK0DpQTpAZ8BowKoAeIGvQF3AcEDSAGmA14BkQ10Ad4BYwJnA1YFfgHGAnoFvQHNAVYEtQGzAncBYwN0A80BKAZjArECWQFrAWwE7AavAcgBPgGoAdcCQAHpA0IB3gJVASkBtwaAAaUB0wK0BDkBRAF6Ad8B1wG+AcoBSAG7AbkHbQR3BLwBRwG1AZ0BuAHOAa0BeQKdAZ4CtwF5A7UBhwHDA9kCigLZAUgBpwHiAaQC1gGnBKwCdQbEA7YFyAGdAYUBtQOJAZkBogGHATsCzgWIBKACSAFCAkkBhQHGBMsCTAFRAkgEwQJdAsgCnAHLAdcCyAGLAdMDswFWAcwDmQPAAbgCmAF0AbYBlwXIAXwBjQFPAcQBvQG3BdkBJQGxAccB4QG1AcYGiwPVDbIBTQKCAroBvwOXAZ8BpwFxAbEBJQG6AbsB5QK9AbEB0wJ1AXoBhgOaAtsBQgFRApcGSgHbAs0EwQGvAoQB3wH1AaoCdgGFAaADxAHhATIBiwKkA88ISQG1AXYB4QGUA7IB4ATEAjoCwQJ2AdECsAKDA08EgQHKAasBRAlBArQCsgSEAckBrAJZAqADuQVvAqgEtQXVAbEBfAODArQBYAGWAUEBKgFAAbQBPgaXBNQCqQJ4Ab0BtwKvA6QBygG/BIUBwwFEAzEBVQE0AckD3AE8AXsCpgHkAbMBeAFuAbQBvgGdAcoBxwFHAa8BxwFIAbkCLAFzAeMB0wEuAS8ByAKcA0QBvwGvAbEGrgKqAqcB1wTJAcgElgFeBaUBvgHDA8IBqQFtAskBSAJhAUIBzgHPBLcBuAGYAXQBlAGSAasBywExAa4B2wG/A6AB0wHPAaIBYAOjAdgB5wKzBLIBewHVAYUBjgGoAUYBZANTBHsDqQFYAcgCjQFoAZwB3QHFAmwCoAHNA7oCuAEwAuACVwKSA3gBzQJyAeQBhgHOAUkDPQHiAkcCtAFaArwBmwOMA4QD4gKaAUgGxQJxAdsC0QKAAmQExAHVAcMCtQHNA9YDoAHUB6sCeAFFBMgCMQGjAWABQQGRAaMCLAOGB9oCRwKSAbQBOgGmAXQBrALcBa8BagHNAX0EbQM5AUkBowEyA6wBrwHnAccB2gPLA8cBtwPOAXIBLAN7G2wFUAFJB6QBRQS5BMIBagHiB7gDhwU6CKEJ4AhGA0YF6AKpBU4KRwNHCUwSqQHBBWwExQNCAe0C4gbAAdMQSQpCBcU","6A9w","qBHgELk","iwve","nQGt","9RHM","kQ2EAckB0g","I5shXhovAZYJawJYC0MBRhpEEqcMsw1gCGUBPAyZA0cEORE9UcUBZAOtBD4jaRKXUOMkSASsIcsOSkBFGM1cQVFCODtarwhKKEILmkU8EpsUeSPDAVETPxpuISwKIQmfMzMBPRmdA5M/owtEUUcNQgFMAWdSQxJFAUEFRwF0K00QxAtHAa0wXApPI88J2g9BET8JmRBDAqwCSAGmDUYOTQpPKqYEpipKB0cGTg0zDDcCehTAFVINSTSwFUg","9gmw","kw3F","pAPaqgRD4gGeNqv+AkoZ2jFL4gFIN699SA","mwSY","ygHN","gwuS","1RDGAbc","1RC6AbE","6wH64gHy5QXizwhv","6wHQ","Musxjv4BSocNXg","Mk0","1RCT","1AIt","1AKq","zQPy","pwjw9Qfa","nBDD","nBC5","mQfd","tQFg","1RDEAco","xwj0","xwgm","I4YEXEVF4wNFzgFKPKonfRVpNaDcAUAmTQ1IGmkwRQU/QEkmQhRER48LSKMBPzRILaEuQwFJf1YFSw1MJmstZhA3K6sOoA","AJ0DogG9AY8C8AKcAYYBrgNSAoEB2gHNAbYB0ALXAqUB3ALaArsB0AG6AZsB4wLWAngC4gHEAdMBtAPGArgB3QHSAdcB3wHcAcMBkgFWAo4DpwGiAtIB5wSdAc8BywXkAUYCgQHoAe8B1QGGBB4BjAO+BOcBjgPgAVMCwAGsAccC7QG1AcsBoALcBH4DegHWAtQB5AF8A9YBowPNAowBrAHZAdQErwHVAdcC5QGkAeICpAHaAbEBYgFmAZQCvAF6AuoD5QGuAdgChQPlAd4BrwHJAcAC7wKIArcDfwHoAYwB2QHdAVcB5ALrAbQB3wHqAeUBnQHMAzwB1gJnAZQEzQG0AegBfALJAYABtQKIAekB3gXoB8IEbAHiAdkDzQG1AeMEqwFtDegDqATTA5oF2QfQDqYF6wLvCO4CiAHgAbQBhwHdAeIB5QHbBdAB6wGmA8gCrQXlA3gB5gK7A8sD2wGLAc0B2QGoArwCQwLfAdsC8QHRA6QCzwGyAdgB5AL0BaIBlwXjB5oB8AfIAvIC0AHYCOUBpwHaAc8BugHaAsgBoAGpAsIB2wHSAeABvgGRAaQCPAF8AswN8gLtAegBvgG6AvAF5wGrAbkE6QLiBusC2wHyA7IDzwHoA94EwQGiAcEC5gHNAeUB9gHkDWYB9QLqAvQErwG0Aa4HYAS/AukBzATLAqYGygLlBa0BygGrAa0BzgHbAqYEzQHxAeYBUAFgAbcB5QifAdMB2AHDAdQD6QGtBqYBZgXcA2UCygLVAscC9QHPAfYB7wSuAcEDogHvAd4BdAPZApUDyQGfCu8B7QPrArEBoAjJBMgEsArIAd4CzwGvAdAE2gWqA9YB1QHpArABzgWtAssC0wHQAZEB9wXtBOwBqwPiAtYG3ALLAt0BtwG4ArQCzAPqAtIB6gWwAeIC4QK6AagG4QaxAdUBkQTiA9MCsQjJAuIC5gHeAdIJvgHqAbQC5wHdA8wB3QTZBOsB2ATlBbIGwwXTAa8GsQOyApoD1gGmAdcB5gF0AqgJ3gHcAd4B1gGlBdsByAWvAbQLyAPVAdoL0gHlA/kC2gGdAp4E8gKeAqMBlwHIB+sI3QGCAaYB5QXdAeEBswThASMB4wKeAtoCxQTZAqQBgQHUAe4BWQHCAeQBawbOApcCwAGwAeEDnwG2AWYDywLcAbEB4gHyAdsBswSsA8QExgLMAqwBqgHKAtMCSgJaAe4CrwPrAb8CkwOwAucCngG6BPUB7gGtAuwBkAWkAcoFQAOeAaQEvwHoA+EBogLbAeQBsgSNAbEDlQHrAdoByAHlAeQB2gLzBdkDpQL0C+IBqgGxAe0CsQXsAesB1AGuAbIFdgTeAskE4wPDBM0C5AnaAaADtAK1Ac4C6wHoAdYBpwKgAXUCsAK2Ae4CQAHqBLoB4gOzAewClQXQAbMB2AKuBWQCpQKuBbcCyAGjAa4C2QHDA6wB2wH1ASEBxQHsAdMC2wHlAacDdQHIAtsC1gPlAtsDiwLbBNMB4gGJAcIDTgHsAtEBQgGyAdYFigGPA+IC4AHjAogC0wHXAagBSQHeAc8BxQKNAdYBhAHTAeoChwfjAZ4DeATmA+gDewXAAZsB6AHNAcUBpwHxAVwC2wXOA9gCvQLaAX0C5QHpAtkC8wHOAc0CowHBAucFogGAAvAB2QPkAtgDugHWAc0CjAKiAVwByAHEAc8DjgTOAbgMegKPAvYBowHBAcoBgQL3AcsCwgPkAckBggGTBKUB9AFvA3cBrAadAsUH3gGdAbYCtQHmAeYDfgLlAoEBkAGAA0gCawHPAbQBnAHqA8YBkQHFAYMCvAGXBnUGzQGkAcEB4AKAA9AC2wLHBL4COAHpAbUBzAKXAZACjgLZAdoBjQHIAqgBggGqAakEwgOqAq8B8gHbBN0CjwHTBe8B7gHzAkkDwwHMBLEEVwHlBO4FlAHtAekBxAFxAr8ByQHRA+oBywHbAbEDzQTqAXEBiwHuAr4D3QayA9MBywLOAaUCcgOcAaIB3QLiAaUB2wPzAeoD2wGoAe0BsALRAewB6QGmAeUBqwGXAcoDvQOfAekEwQHOAdEBkgOFA9MB7wLWAuYB3QFDAZID2AHqAecB4Am8AYwBzgHcA+4B2wHEAd4BdQfoAbsBvwHIAsMF5AHXAecC4QGFCa0D6wGACeMCmgGtAe4BwQGJAecDmwqpAdgC5QGtAuUCgQFgAY8BxQHSAdIBnwu1AtcBrQHNAaEBrAPkA4AD5gHlBMsB6gFAAbABoQHOA4oB2gSuAuYBqAGYAZIBtwHuAtgBvwHaBE0B4QG7Ac4B5gF4AU0B2QGtAqACvwG0CMMB7QJ2AXYBqAHiAUMBvgKvAuQBrwHjAeEEuQKxAawC3wHbAYoBxAHJAa8EywHVAdgB5gPYA0sB6gHZAdIB1AHFAbsBmAGrAeEBygHuAWsBkQG0Aa4C5gJIAtcBmgG3AowD2wGgAZwB6gLPAcIB8QLoAdkE7AGcAcQB1wHEAUoByAI4Ao8B3QFUA+oB2wHXBJIB8gHDAeEF5AGxAuUBuALgAyIBpQI0A24BwgLFA9sCfwHhA+EBzwLIB+0BygF5Aq4BvQPGA5oDnAK3AdcB1AHHAcoBzQHVAYQGowGnArIBqQPYAvkBkgGoAZoBkALjAeMBtgFpAWMC5gFNAvQC2gHmAXcB6AFyAt0BogKpAZwB6QPMAaoBYwa0ArcBgQG1As0B3gHJAbAD9gG3Ae0BrAF2A6ABxwacAaIB0gHyAd0B3gHMAukK0AHpAtUC5QXYAdID4QHmAtoD0gzMBsgB5gamAdEB1AGHEucFagZJBNUB2QPPCskD7APfAcoB7gHRC9QEvQXgBbwBxQJJAcwD0AfdBc4D9gL1Au8C0wFGA04E1AHPAe8E7wrtAc0CxwLBAtgBzwLxAeIByw","qwfW","qwfQ","8QLc","1Qnc","zAjA","ogWT","ogXX","EZEOqDC8AbkPjgPfE3oWyA96BpYG3w+MAkMbgBVsbHoDqA5qKc0ToC1xC9Yk8hfAI2AOewOvIMFbkSXSOr4B2wzKGdMHfArDKLUDiD7ABr8Z4QS2AWYKiiCTDq0C5wGQJ6kC5AFbRr4EiwPOFGYHfh2hDKkGeTaNAYYD4R/BGNkX0yXxAaMF8gauCPEpf0buD/MkywKxG6wIyQN6DdEExxrRBZIQjAfEF5QBhTh0F4AMoQSKB+YldhXUCoQNSAFIFsUYjwuCCN4G4BXXwALP","hAPN","xw+a","2wqt","vgGwE7txn5MB66oJUdUB5Q","I/k","1hDW","FChEfocEYQ","FCg","MYdhukayU6ACpRJ1U7ugAfQ82jTNhwFuvwHXlQLNOfPOA+C2AYQ","FCg","FCg","ygH0HfXJDqc","8gyX","2hCh","sBCn","2gGtlAXu2AGn","2gGD","2gGD","xghw","7wms","JO2VDvuPAXY","uQ7e","uQ7a","uQ68","uQ6q","uQ6/","uQ6q","uQ6A","uQ7q","og7F","uQ53","uQ7G","AqkC1AGPCIEItgh7C8YIrQZ/A7IBtgixBcMCvQnEGrcCjgHIA94CtAF6AtMD3gPECUMcwRbIApUCdAqcCpEDZweDArwLlwi0BLACzxJ6BasOqBDFFXUI1AqMAoYDRg+8D6sMoQx0B9wMpAHVBqcBfgGRAZ0XeQauFEMElQmiBosPZzyNAq8G0ASiB9oIWgSRBrwCvQGlAbQMchmHCpcB4RNzK8IG3AHfA50WowudFsERvhWYHLIJ2gKoD+oK4gzLMOAOqQJ5AekBgAaeAr4GeRCjJb0a7AS6H9gLYxPmDMoRtAG+BcEBwgLwDIsE0AV9BXoDghOWBaYHrgZ/DNUMuASJCqghfQS9AZsBlAKEFdEfygS8De0GiQN1BOYMrgvFBckJ2Aa7EHcM9A6BArgB1gG4BiIBvwKzBUAF1gGoB6YIoQLpC8kNVwKnD6IDawqfHXECmAa4CN8ZuQfdAoIBzwWfIn0e0QueArsB0hOcA/QZsQPcDakC2g2yA7YCgAHiBZ8JxAjAAsIEfQGRA8kBmwV8AegBygPPBMEDtwHSDsYQzQWXAYoCpgGFBYQElwLHA44GiAFWBL4BqQyMArwBxxKdAbQKuwhZBF8ByQjcAaUCpQLcKXUEjgSuD/kB8wGIA2oCzQGhAZ0HzQLQAp4CewGiAe8BfgKdAnsC7wrgA6sDhxTbBNsQxQreAtAIzgHSAkUK5Q3VCe841QZJBsQNYSLuAcYKwQ","0wGTnASjpwSbtgV69gE+DM0","wQ27AdI","FbYbrQlvf8gEdF6oJXUXRjZ0B9wMpAHVOkNgrxHaInIZhx5zS3chwXLLQekBgAi+VewuYzG+Yrg3hBXRI7wNxTi7UcVduPMBm7ACxRTOAaECRRfVQdUGSQbEDTwi7gHG","HXvzBJetBKYHrvkEjbQCxQLQqQHB","wgu4","OZsBto4OoA","hgFDabSiA+GsCeW0AsU","9QHPgQXi1AQicnECmJcBnA","Jog","2At9","KMY","7wV36QV95gNZ","0wFnwwibtgWl","wgGvvwcu","BEMfoxhOAoAIkghrBWIBzgbXH3YBwA0pBjsDxwazCDYFpw1nA8ECowLcBGAEqhM6ASYISAewCaUm7AG8L1AjnhewIXQDyQ6KG0EE0DeeBY82WgOlCFoDmBOkAdkHyBdiKm0JZwlAigFMH8gGewOzOpYEOBNzE+wENzpNGkQMmAGxLktJQw2gAWwBbAJsAeADbAFsAcEBbAFiAWcEbwbnFnwHYx6bT3UIoCFuIXMjuRNnGqETqgHFEEEJngGUDdUQIAdNCoUI6wfTFu8FUTPOBGwEcSMoCGEyZAa7CkQGdiExIlMaRxdLHb4KVAZAJLEVSglJCkET0AqzDCQFtTNQBpAd2Hqs","Lewk6mXDBfUE00GAKbxT9ii9ngPDggEpbaZ1eugB8wPzA/QD0AvyjAGQd8ZaOXXymwGJ","rgyP","kQvT","0ALzLIA","pQ3G","jguqBrw","UaI","/ALT","9A7l","zwfs","oQOjwQGo3QapjAPGoAGx","rA2b","rA1S","oQN3","4Qdu","7A+x","sA1s","mglD","swgl","1RDRAdw","BFQBuwhKOHUCehxDLE8VNAIpBEsBkycmA0UCkgqgCYgIkRrABrQGqBelD7sCUgSREsgPpAORDD8fwQ1pLk9IWQzSBlEHkD8pKZwYzRKXBphVYAFKCUUDP0LjKyoGLwJUB0UXSg3JAUYKSQzTGusYcAqiEpYF2AFPI3YOkhtMAYkCfRYvAXYOKAxxEKkFbzq4B5sUVkZICigQTglnGjkR0wVYDaYTLBedAzYWUQtIE0kKSRZNLEUHzQJ0EqkEPQ/yAzQBSxCgD80DTzAlDS0MahNEBjIKIS5LBFQESQGOEoUORwVoAk4itwe/BiMIMwhtAj8JIAaaAo8fkAFKFJgLkBjdBDEGcRHZAzUeixzDSbA5bg","6wbj","8ALuS83CBNwc5w","AG4C0gF/AcwJRzlKDHsCWgbjDMgQmQeHAUMB1BWaDroJJQRnCZsCmQYnBnohqwO0As0BvAaeAmEBcwTqEr0OfBjnDikPlRWXAcIEogmYE9MO5wq4ApQB0wdpDXIEtAJtBqMUrhZvCq4SlAK+CMsMxQvJBMsinwayH8wPRxvLENgJ4yHSA88WoxPOJKIS2BCjDfMsyx3DIKQEeQLAFMUBPy2YC8oivALQJ9oH5AKkCaMEwgHZAs4JpQP0EJ0ZxjShHOwBoQbmD8UGx1DSAbcBSQnNBzAMyAbCBkMb9AfDEXgBghO0BqMJqAXBJM8Q3wKoBE0GgCHZCaIHzxGiB58BnwWhAcQTpxGWASgMwwjbA9cDuQiKFLoj0QisAbMTPwfBBYUEYAeaAZ4BXAOWAS8MoQOWEMkE1RJJCawNoAFCBpAJ0AWFAZwCwQE0GrAJegM6AcEQtQHREbsaawdHBcEFbga5AogFLgl1AigIoRLAH5sJRwpBBLAJaQNFGToIhR2JBGMCYwORC6QHrgXnH2kGbwpHF1c","wg3K","+gGp","5guO","sAVn","eHbBBEC7B0I","9Azv","nw1G","BFQvSQJLGVMCUi9IDGgCZwPSCUMNRApQBD8IQBWuG1AGc68BUAo8AXy0AULCAao3WIwBSgpIXe2FAUgUrYMBpVlPBlAceRJOAk2jAUkHRApJQrchQglKBEIaRgZISjshVhLxEEAaijJBB1s6pgHjiQGp","uA++","uQlsAWwGbANsAmc","kQKp","3wTA","kQJ0","1wzW","zwmh","3gSk","tAix","3wS4","lQ6A","yA6g","gQxX","zwXC","8Q2xA9yUA88","xgOuwg3R","/BC+","lQ/B","uQ6R","uQ6A","mwm9AbU","qAzo","nQHk","nQF4","nQE2","nQGA","nQGr","nQE2","rw7w","7gbB","xgh+","rw6u","xgjq","xghw","Y30","iwzR","iwzR","qgq0","yA92","yweKuwR1","BFQUU0CfArYIPx5JELAFswNDJMYwUEi0ATu1AUgD2GKjDnEI0D5TygGoR0EgSRpBGaJAPko/AkskTQXMKa0+RQFNaLgJ0gVJAasVoyCpFcQMbBTKBcgfsxpHBZ0P1QtMCpwiTg6tBakBTwqrCEYhpgvQNashqCCdFa0Dzj1LAjw54UW8F0ATlw","CKAYuCtsD7YFgAO/Bj4GXQxGBHYCSRClIU8HPwirA2ERZwOSBEAYqBuyIU0Hmye9AXEBtRU/Ab4LRAOjHlBbRQ3IJ4gUQSGGAc8CbgtrDEsnzEJ9ELJWRAxUDnsFvAFOCUYeMghLBL4mwAegDrULkXd0A0oghBumL+ABzApCBEUCqyCoFp4IwwGnDZwPSAKaAaATqRKyAs4xmAnOFqgMogOBB1ALQBDaA3oETAtIDLQFsQptA6gPsgFJB6gHzwMxC0ECvQJHBrQYTQJMCnECygNFGZgETgPDBj8E3AFDBrESRiGYDtYdzgOsDUkDlQOBBKgBpw/aBqkC0wRhBUgFowO3AoIDqQHNDToYQwZDB0kEqARIDUgCRgi7F0QDyw6uAcMDwQGgCTwBaQRzA28U0Q1CHkIHQA2fBaYJKwOaCUUN1QNISEhP1A","6Q3BAebtAvA","1xDk","tgKgZEzUAqzZAj7JBUm1AkUBRgwz","uQ4h","JKWSAjiYBXH6Ac81mRqsO5wDqjG8uQF7AbcxfpEBQBlC9QG8","8AKk","pQip","mAfj","mQeu","xQvR","2gGb7Aa0","+gG5","+gG5","+gGv","+gGv","hw+c","hQSqlQl3","9Az1","9Aws","pw52","+Qyz","0QL2","0QJc","0QK4","0QI4","6gNk","pgN8AcMBZaoEeQ","wAN5","0wtq7wIu","+Qx6","+Qx6","rA6v","og/o","sQ1O","ywHBjRCu","oA+wAbABsAGx","ngGssQK+/wGs","ggux","/gLt","yAet","qAM9GC8nOOsDKg","tBFK","lxAu","xAFd","9Q71","9Q7G","9Q4x","9Q6m","3Qlj","owyvAaKAAa8CrAKvAbABrw","owyvAaKAAa8CrAKvAbABrw","5QOpxAWAygWXsgLP","owyvAaI","wQWH","hwFw","7Awr","KGhomJMCnJABpeoFbW8hKdmDAZMEoCuONEMBQ58BrVSYeT4","RXL7Bk28A02lAbI","qASs","AjgDQgGLBpIDNgiLAoIEigiVA6kBkQN2BUwKTgGABJcjqwLAKygBzwzSArAEagTSBJMQcxOTET43LCS/ArEVoATSB0kFQwyJAZsDjCihAqYJrQmsKqYFzwqcFm0C0AFFAssEoCI1BakIsgGrAb8CqROYBLcHzRcoAXkC2glBCEcZXhCmT3IEfAPMAqgCegLeC6ED9QL1DcQMuyORB1gE5ArPB58Fgw+fAb8QeQKiC+ECpgyuIU4BngGgA5sJsQFEA8IHRgaPCpsD0gmuC4MONwJNBzkJQwWTA78D0AtyETcFvgPTC6EI1wOhDJYQbQouFp4RzhugA7wBugW3CFEByQHdBYQJmQIcAdALygdIAXcFsAN3Dp0SyAHQAcsB0AHdCaIHygqmB4YDvQEdCIsBsAWbA6gRKgbJBlcBdQXNA2QIwBFyCpMDfAV5AXkMrRBhAdoJqQg4AjsLoA65EM4PRwIgCMoBrAatBKsJzQTcD8oCJyzJAU0KtQS8AygOdAUkArEHfgEiA08GnwKbDXICnxGiAyECJwmeAh4HJxIlAaQFnAMpAjsCTwHQDDIHLwPPAkgEqAuXBakJTxKlBVcLqgqWAUwGeQGnBjcCnQPcCb0LUQKyBuYEzwQ3AiYNMwGsBiIVlA+iH0gE0Ai/Aq4RRAFjBWcIoAR+B1wBlAFlEnQGbxmQA+UmQjJyDmUNaAg/CNgMeBc2","kw8i","9QuK","lAbU","kgtXAXU","bqMzQ9cDuPYC3uMBndwFPA","lga1","mA23","hQSg","wQWH","zwWxlgW4Aec","5gpS","TEZZZQ","2gGipgWeakmRAmJjg6IEqw","3QM4xQJCywdD","9QzE","apRaPOQCeLEEfuEB0le3xgKGKK4SfgGXA6s","qATz","CXMGfgnuD1wBNASrCOcHng2rDjMHkQGKBZgH7gJ6AosOMA/uA6wIhwLBCsYFigl1AqkJugOCAy8N8QOScOsPkxT0FfQoNyeiBeMI2xO5B5YMZgJXAesCSwHSH6sVkRqQCuUpsR9zE2ULLwGZAYgC2SXkBkw6zw5AEvQp6gG2Hj0FMgHxE+kDbgK4Bq4NKgEhBn4L+As4A20IowOXAm0I0g+wAi0B5B6xF+UBygLdCMsCKRRLF8sMLjF+BSsapgJuAVQEPAMvAXEBwgitA+ELjiPoAaxGhBHdLC4fcwKrCtUC1Aa0JkcE6R8sCL4g2AHJAeAQ5AVmKaEWJQpzB6cang3bC48PVhg9I4UB3xohA9oELwE6AqMRTxnWBLIVbQYuSXsBnSzVAe8B8wH0D0ISPQRFLexR3zTZCO086w","oxLd","hhDGAcg","lgq9","0wfr","hhDmAeYByg","xg6j","zQu0","zgGU","zgFo","GOM","5ALj","5AKu","GNeOCLG3AcI","7gqQ","iAjg","wAid","vQjlAcrtCKs","qxHU","pwEf","apRaPJUHfuEB0le3xgKGKK4SfgGXA6s","BeAI7FFQFVIho2aWCdAxqgWhAp0epgFWBUiUAknpArViX3RUJEW/AZkYxwMqBYUzYRw+A1EHQwm9GU4TozxeFk0KjEyjF2sqTTwrB0gbhpQBQHij","BdYI6A","BUE","HvQO2S7VCuZW3QuKIfKOAdRi0SWSEPkB7QP1Aey3AeQB25UE6AU84gLzFsCeAdhE6u8BvALhOmY","kASt","iwSp","5wr4","5wq9","5wp0","5wrV","5wrl","0wLH","rwKgrAeSowSk","ug7p1gFeAds","ug7p","5BDV","7gju","7gjP","7gh/","uBGy","5BDV","5grk2QHUAdSwAsQ","lgGq","6wjZ","kQ4l","DlIOnQK6CMcjfwOhCtsFuwl5BaUJrQySCJoBJgx4H50IYgOHBmUBSwMvDioCOQOsHCwErwdLK6MRSwZ5CnwXlwHPDnwmnAOmDEkfmwd4EE0dxgNWBLMbmxstBb8NqAlaDNQDcwyQPa4VxDJDU4FglgI1DZgCyhF1CXYDpwyyCm0BggVINqMCLQxCDmEluhuuBqIVwxchCeMOTQ1jB8IGmghxB6sIIxKtEKYPbSakEksHRwJ2C7UBKQEwC3cCbAKiAcIGnwN+F3wHMg6BBdIBkwVtATEEcAJuBW8ByRClAqcGsQS2IkUBpAZEAlIHtwRKCLoFtwcmBnUFOwakAawfpAEpAcADyQiWDUoPdwekBE8zcQGrAqwRhCVCCXYJIAVgBUMBiQl0AUYRlwNuBU8ZSRlIB3kILgOUBaUCQh2jE5kIeSjGB5ABdAc+Am4UQB5lB1GHAbM","Yik","qgvXGLI","wguy","BJlFxiFYCqACmRE+AicKoxJlHmUEbwPAKGMEczajA3QJM20rPVpBuAQ1GDAXoh0zDJonjVKXKi8sQyk1Jl8ImA+ZFCkCoBFDE6UfTW+WH1cKnzUoH3wCYi4xJKlCdA5oBTEbdgZKAqMCeQJnCSwHZwaiEmwULRduAXoQR0JnBCEWpQGYBDUVNAiqApsQIgipS2YWawgnTyYJMIUBZgHGCmE","6A4r","lQek9QKbvAKm/AFU","FKZ5wAVHI2AGo40CKh8/Tz5uIRvngwGePI4TjjFJGkxLSOcBSMEBp0YtCTYmn78BPjGQQkUIs1O1OW4nQQ","YzqeA8uCBb+uAsSJAaCFAqMDmg","AWsBswGRAUMDqgN6Ak0CXAJJAU8BowGoAUsEtAVqAZwBcAJDAjoFSAKOAUACcwJEArkESwFAAVYOixC6ATMBvwdrAZYDtgGgBU0BigNpBiUDlwWgAoABPQFuArEGKQFCBTsCUgSWATcDQQJCAVEBmghRAZ4BrQJEAY8CgwFLATcBaAHAAX0CQAFPBqsBPAGZAj8CiAJ2AlQBaAE6AUsCRAOQA7MCsQZoAUABVQNLBj4InQXIAVQNlg3CD04ZQgRKA3MCmQFmAboBPwJcBD4BnwSJB8gDrQG2AsYBUAKuA7gBcQJJAWwESgNpA7kDnwRsCF4BTgW3BkoXdQFMAZ8CzwS1AkADRANDF0gHcQF3BZoDwwdCAXgFOAFNAvMGUQKPAosDbQFXDr0BygVEAW8QbwpGCsMBUQeQBE0BYwFQAZECUQlwA6sDuQHOB2wKyAScAkABUAGjAVkCggGGAoYGrQFgA3oCsQTLCWMBtANDFdgGjwJ4AlkBQgFIAVEDqgmfB2oGowGuAcQBWwGDCM8GWBa0AaYGSgRQCYkDegLMAswQywPfBXkDZgWqB24D1wpAEXcHQwRYA2YDrBWOAb4CsxBVA0cQTAKwAlcFrgOeBmEDzwGmCYEBWwFeCEoB6QLBA54CSwOlAnIBywaqAbICqgSqB6QCsgKfAcUBWgbQAkgCWQFICMACSAGhDYgCfxa/B68BSAKfAdAEcA9lAV8DrgRCAZsBJgOCB2YCzAHMBSECvgOsA7cHOwRPAUISoQJXAU0C0QFVAW4IwgNqAoMBUAmwBaQBWgFQAXIBswKvAZUDSwKqAXsBjwIqBVEBRwrhBXACpgFIBWsCWAVrAUcBPAOmApIBdgNlA00CngPcA0gDzwRZAioEzwKnAcIE7QKFB5oBPgGrAqUC1wGAAnEBQgJWAZ4CPAPPBtYHPAPOAYADdAMhAacFvQZwDJkIVAOsAZoGdgi6A0gBVgN5A7EKRxE3AZwBcQXNAUUBXAJJAmsGqQWtAbkBSALNBcoHkQhQAUcBRASeAZsBfwFyAUoEWgRQAkcBMAGhAUQBoQRRAUQHugKaCMgBbgNUAqECPQKlAWIDrwFcAaoIqgaqAaQIQwFFA14IuAJuAZkBfQNHBaIBnQKoCpcFkwNWBUQDSgO0Bz4IsApyA54CyQgrAk0CTgG0ATEEUANRASkBqgJOAbgMfgHHCVgBpwJtArUCSwFaAXUCVAGdAk4JWQLpB4cDzAKjBrcC2gPNBrgMTQmsBKYKxgPJBVYBsAKhB50CfwFAAbYNdAKCA2ECTgNNA6YIywZGAycDlgNpAXEDbAGgAyECsQGxAccBwwKvAbACsQKbAlQBtAOqCEwNqANDAaMBjgFaBUMBzAZQBFYBsgeHAaYDlgJUAVgBawFKBG0CUAJSATwDdQPUAykIsgJWAbUEdAJcAqUBSQXLAogBqwGpAb8CUwM5BHEBrQIzAnYBRQGlA1oSmgOjBMsD3QK8BMoSngm0A1ICQgF6AXIBPwJBB2oRTwVBA1kBjQR7BEwBpAGnBFECTQedBWYBogHPAY0Bxxq0DrkCxT85DD8BRSCdGc4","gArt","rQ3p","RT0","RXc","hwKwsQiN","0wV+","pQck","BsUOKA01BccE0gPMBLkmzCVPOD8rYxY/O6ZdRxt+N0s52laQEkZIWDudMukG3gXUI2l5TAiwCJgBPRXbBS0QcS9AO3cMpR7kfR4SRCtugwEuDowynAxVAlcBWBXETVduvQ7OEaV3ngKfCFFsThXiDFkgdkKxFNIP1Si8AaVCNg","V42BAcLrA6/2B8c","owEuD0gQQQSmL6o/PCJGBjQFSgRdPkoGPjmq7wFBdk1XNAeWmQEnCCg1WgFVBmcYLh1RKT0ELTc8AUhuQAovCDckTwOeDo4iJyddFqsSNAEwIC4KogSfA0JNVQSNES8UixNuFmIUMhAkSTgQnQKmCXIm0FCsEaQNyQFw","G0qjDUE","rQLRqwztAe0","FJ8FggptQB8JRRSmFbMCnwKmGJ8TmhVKAaINSxOWDXAiew1zBZ0GmQxKEK0EhkGgJoMHZw+bD7IVnip7CasoRRaZE1sTcQuaArAZowOkBEYBzAWiV7dLnwWmOW4TogpOBXECdgyBEH49hxBIBtgEZQebJKNLyx5jCZ4DnAKtA80IKxmnAZsInhGYAaUpqQPFNj4CcQNIDkADWgmlCjIJMQZ2AYEZpR+qNK4BoAu0AmsBoBiQKJobpw13H4oEqQ+tHTQFnhhCBFcImQFOGJgCLAGoDXcWog+OBJ0Gyg10CHkMnAmiIpwBqAU+G5oVNwJsAs4FsBO8FpINmTRAarAlSA","6AtH","/QmZGqw","jw+s","zg+rK8IlbQ","+Q/U","+Q/U","+Q+5","+Q9q","lhGj","CEANVhPJBWkPgCMzDlMLmhR6BzcHKgM2EqwViBJhI99quwFFN4aCAZcg5zGZCedxNQZ2HbYWhjcsApdLeR2kBM8ZPC5pvQGgMSMhRwLOBjEV4Qy+RCYKlAFIDkQYIQErBYwVKxY8CCccJQOyBJkiVAVmA20HKBuRDygXlROJICMFhgngHKgbIBC3COYI0AEfElEEJAIhD5snKQE/BeQeIhvkA7UYJRK/AscazxtUAXcDdwHJELUXcBSwWJt6nw","mA6r","mwOG","ALwBNQE4AaUBbgGqAkIB4ANFBJoBOQFJAX4DgAE6AWsBMwKmAZIBoQJ7AUsCpAGYAcUBzAKIBDQBdQFxAoUB6wGXB9EBVQE+An4BgAFEBOgBQAGHAZICgwNABFAJYAjHATMDRgGbA/EB1wHQAc0BzgGoAXoBpQTWAeUBhwF8Aa0BnAGKA0ABSwEwAa0BOQHHATIBbQHXA3YBawFyAkQDkwbkAYQBogJfAcgBSQE1AuEELgKWAYYBYgKZAVsDnAFbASUBRAFnAYsDlQHGAWsBlQHjArgCSwEnAS0BagGjAX0CggHFAaQBdAFKAuMBLwPbAiwC6gOtAW4BJQGxAYEBPAFpAooBqAFwAaADcAeRAZYFnAF2BnMCwAGNBH4M0wGsCnQB1QSFA7EIoAg6AVgFLQSqAYoBqwFsApEBWQErAVsCSwObA50DfweKAzEBcwJaAbsCgAN6ASwCdQF5AeUBqAIxA5ABbwUxCU4BUAKiAWAJjQu4AXkBNwtwATsBkQGHAYwBoQQ3AaABKwFCAlgBpAGdAZUJnQOfCX0CvAKLBX8BKgaLA/YFqQGdAXkGsAFxCKABcAI7A3QBMA1sAVAGgAGeCZwHiAqFCpwBpAQ/BJYEeAG5ASkCaAJ3ATkChAKQAS8BggKpDCsGZgK7BHkCdQJyATkBeAK+BTUGcQOWAjMMlwI4AqsBlAXxA9oTfQHIASsBiAGrAWUB6AGtA5cJwQFUAZEG3wUvAYgBuwFgAWUD1guLAmMUkAFYAdMFhAGoA0MGlAGkAosInRczA6sCSQJBAYMDbgE+AzsNdQ2QBD4HngKgAn8GfQGNAZQSlAG/AZwFOAQ1CT8DOQpfAUoFwgJ4AUkBiQUvAXMBogNbBHkCNQI4CLkBPwJ9CIcDPwGhAUkBZgJdA1sBiAKMBKIBRgGgAZUBrAFbAX8DewR3AYECiQFoAjUBegF8AS4BKgVmAjIBdAFtAY0FLAU4C0wCjgHdBVEZnQG1AS0GxgblAYkBYgJBCS8BNAXJAcACgw03BXADiASGBI0FsgFqAW8BjALQCZoFeAF3AXsBdgSRAYQBpAiGAmACrQFwA4UCLwEuA4ECjAOTAd0BygGtATECgwFdAaMBbgGeAk8BpALeBoQBoQbIB6MBwgFVAdwBhgGMAoUCsQEzAW0BqAWEAZYBoAGDAa0BrQGnATMBegHSAT0CPAJ7ASIBaQYdBooBwQY2AZgBYgGTAaICuAOlB4MBKwOtBJQBVQMwAbABSAGwASMBtwE8AWsBPAZnAcYD3QGgAXIDuAN7CJwBMwGPAXcBXg+5BMwEXgRvAUsGoAFLBSoBeQGxAbQCOwG0AlwCUgEoCoIBoAGQCMIDdwFeAY4BmQGNAYoEtwFwAZUCiQG3Ae4BcQSMAY4BmQGRAXsFMQTbAb8B1AK5C0YEkQF4A4UBlAExAYEBMgHdAZcB2QF+Aa0CkwFwAT0BbAG2AUkBhgGiAboBcQF0AW0BxQGBAXwBmwF4AZ4EOwJRA4kBdgShArIENAJpAX4C3QHAA3EBOwy0AWMBTQFAAaUHhAElA60DLQGQBc4BigHSASgBdwFhAV0BdgOBApUCSAImAksBbwKAAX0CuwXJAjUCYgFCATkBLwF+ApIBkQGSAWgBLAGaAXoGkQGPBo8KjgEyAqQBiwFuAYIGgAFoAYwBgAEpATkBiQJfASwC4QFsAiYBKQGIArQBaQLDCosBzgklAVMBgQGFAZkBuQJGAYECagEtASgBNAGHATQCfQY/ATEBKwGBA4UBUgFyAZUHgwIiAaABWgZzBnwBbwq6ASgBNwKLBZcELQKaAZoBogZEBekCWgElAXECfgUuAZYBJwF4AW4BwgFlCO4DagIgAWQBVwG3A6YBdgOWAVgFOQGOAi4BUwGPAbwB0wOgAY0BgAJDAakBWAKCATABIAF6AYkBZAF4BPUClwGEAVwBnAF5AS8BjgF9ASsCMQGfAT4BMgepAjMDVAE1AZ8IfQJzA4oBMQI8A5QBcwGEAYIBZwPbAbEBuwRXAYUBLwFmAUIBbgF0AZYBUwE5AWkBIgSLAVMFnAFsATwBcQGNAaIDiwGCAa4BYgF5AY8BjgOWAuoDpwF5ATYFRgGNAX0CXAHIAZQCiQGqAaUBjQGDAkIDpQIjAW4FeAEzATMBrwGcAYUBewK8AbgBnwKeCSAGcgxqBaMFbwKLArEHbQGJB2MDSAQsAXoBfQG6AikBKwEpAbYJJgRqAsYBNgJ6AXUBvAF2AZ4BtAGUAWMDcQZXA28BXAG6AYYDywN1AS4MLAK3F7QEjQ7xLbERrQ1kB0kDtg+8AcAFUiGzDsIK8A","QeaiBKwpyhnhIbY","sgGd","vgm8B6M","vA6n","+A0eROU","5gq0","ct4","1AFT","1AFT","swip","swiv","swi/","zgmx","iQXeYNM","iQW2","hgK4","xgnC","0QPl","1AK7","0QPmnwWv","0QPjnwWv","twFuF+Q","ELBHwwykhwF3AXewAV0L1wHIAdE2sCmxsgFAxQGOVNJkWkFxK+UQKn9RAbYBtwG0AbUBrjJJB2wFfUvNT6wt1AisKrDtAUNcmwGyCxwIqhaxNNYdsRPlQq4RsAGrAbQ","pQzW","pQzW","bZTmBDaDBqTMAbGIA0s","pQzF","pQxN","BFQztB1aQEApQhirVEpkRw1MPWhGSkfP7gKsBUcXpUZOa0YDpDWiKD4kRSpFBZwMSxCpCjsrJiZPAkkJwBubCDsbek5NBEoSmyqdHmhmqBNIIHgQSRhBEiYLRg9LAXINtBBtNFIDoBJGEtAHQn+bN7w","kwFHrwRSEWOsA6E","AJ0BqAKyAZkCqwFCAaACrgGuAcYCswNPAcICdAKqAqgBdARNAcoCpAGrAcYBTwHBAaoBiAFcAzAEeAGEAsEBhgG0AaADtAGIAYMCqAFyA2EBTAKCAs8CygNYAmwEaQKyBJ4BbAd4AcYBRgLDAdUB1gTGAXUBSALIAW0B4wFdAcQCpAFxAacCrwLSAskBbgG6AcQB1wF2AawBzgLFA60BagGGAkUBbwHSATsBZwGEApgCmwFHAUABnAHNAXQBugGiAdgBrQKtArsBagFqAkUBtgG7AaMBtAHSAawBsgHKAUcBQwFxAWcBugHUAcwBvwE/Aa8BagGrAZMB2wGkAUgC3AJ2AasBuQG9AXkEcwTPAa8ByAGyAdICRwOnAUUCqwHOAY4BcAF2AXYB5AHPAX0CoAGdAeABggOrAdcBtwOkAUwGywKcAUIERQWdAXYD3ASlAc0BlQGcBasCxwHOBLEDsQHPArACqAu0AXEDngKnA58BqwGqAtoBfwG3AboBoQHLAtEC0gGqAXwBygGfA8QHnAOtAbwCuQGkArQDPwFxAZoBvwFIAXEBSAKGA2kBawGcAbUDSgGaAZkBmwKhApwCpwGsBOsEbQLdAeoBbALPAa4B4AFsAbYBogLIApwBlwHKAYwB0AGTApkBwQW2AbIBawHNAbEBrgGeA1ABcAHSAXEBVgHUAWkCZAK6AXwB0AifAqMDzwHEAdMB0QHMBKYFpgGsAY8B2wLLAYUBeAHkAWYCvAO6Aq8B4gJrA5UBQAHWAcAGxgHTAcwB0AHXAtkBsgHXAWwG0wZmAbIC5wKdAqsBoAQ2AcgB1grAAZsC2APYBLMBoAOwAbIBTQPJArYEzwbNAc8BuwF6AZ4CgwXGAkkB0QHlAeUB6wFBA9cFogNFAnsBWAWeBJcC3wKoAaIBxwG7Ap4ClwHKAaMCogNWAWEDSwLiDI0BpAHYAsIBeQKpBcwDWgK9As0DpgPaAk0E0wGmAXQB1AFwAbsBwQGeAU8DdQOnA5wDxwHTAeEBZQRABNQDjgHGAdMBvgNtA0sBogHhBcoCwQGTAdkGSAXBBOUC6AOvBaIBUAFtAtYBoAanAbABzAHIA8ACpAKoBK8DrQHiCJ0BqQHHAZcFxgNzAnQCzAFCA9MBRQPSAjkEpQGzAs0B5QNFA50BUwFwCK4E3AOnBMYE4ASeAqABtwF/ApYCyAK5B5ABewKoAkcByAF4BUoDmQFuAtgHZQLIAYgJ0wOqA7cBUAGmAUgBwgHLAdoBrgLIAWsBwwFzAckBnQG+BJgCSALdAd8BcgGcBdIBrQJBAaEDygLKAZ0BcwGeAq4BTQGvAZ4CvQHFAk8BRgGGAUYBiAE6ArQBuQGNAYQBsQGbAcoBrAE8AUcDygFGAUwBmQGAAcgBswGCAXEBrAHLAcQCuQLYAbACpwGNAdcBSATQAaQDbQJIAYsCPwPLA6wCqQKuAakCaQXIAeYB7QbfBNoEygGeAa8CzQG3AaUBaAF+AdMC6wKwBaUDqQHSA9EBogHEAskBqwHYAX4BpAE/AaQEaQF4AZUBqQHNAbAByAGXAasBrgTOBL8BggHoAtECuwKNAp0BxgG1ApECbwPQAssB1QGDAXkCVQEqAkMBoQGPBcYB1AG1AaMBuwGoAUwB3QJ9AaMB4QFJAbgKPwGcAUsCoQKmAqoByQLVAYgCnAN3AUoBcAF3AdYC1gG7AUoB2gHgAkcB1gFxAk4B3wHUAcsBrQGFAT4DzQPGAcYCWgGfAtAEUQG7AYcC3wKgAd0BQAFwApcBuQHYAWgBtgKKAYcBOwGrAdoBsAGPAbMBdgK3AbkBuAOqArABmAE9AdABdQGEAa4BpQFJAXQC0QFkAqIBeAFEAsIBnwGpAaMDpgFwAcwFsQGwAa8BzwFhAcYBngO0Ab8CsAHDAXACpgFCAUIBbwHfBNsBgQG4AaIBngLgAZwBygOMA7UEuwLgAqoBzwGaAckB1wWbAdAB3AaiAq8DxALYAZ4BjgM2AXABUQGnAaMBsQR+AUsC3wLNAb4BxQK/AcsBwwFNAm8BcgFLAaIG0wSJAdoB4wOjAb0BpQZHAbIBRAFRAWoBZgHlAdYCqQFTAUMByQGxAnEBxgFjAY8B5gG8AYwBRAF7AZ8EtAGFAYsB0AF6AUUBRQFwAZ0CxgO7Ab8BvQHKA2YC3QHEAdcBUAJHAmoBogGpAU8BwgGoAccBcwG6AXsBUAFQAYMBtgKhAa8BxQHIAWkCkQHKAbABTAG4AbIBxQF7AtwBhwHQAsUBowKJA6ABxQJHAbICcwHnAaUCxQGhAUYBoQG2AUgBswK1Ad4DvQLTAdcB2QLYAkcBtwF+AU4BnQLEAdoBswHAAWYCbQO9BE4B3QHNAaMBzgNPAtABQAG3AbYDSQJLAsoCawJDAZ0B5AHUAYUCnQLQAewBtAFRAboB4QHMAcECtwFGAs8BwwGJAXEBTQHKAbgBiwHLBWgBvAHCBdIB0AmyAZABxgG+AccBjALIA9AB3gHcAW8BRwHRAscBxQGHAcMBzALgAb0BnwF7AUcCyAF7AawB3QHOCEQBpQFgAdUDdwHBAtED4gHKAcoBfwGiAaMCtgPIAS0BywGPAbkBSwLUA68DcQHPAdcBdAN3AYgBrAHBA0YESQJsAt4BxwKaAnoBtQWQAm8D4AXaAUUCRQXfA6wBswHNAZ4BXwGpAlgBUASDAqgDqQHnAdABrgJEAUACcgNzAbwBqwFgAd4BQQGHAUABZAHXAl0BvQGWAZwBlwKbAcgBrQKlAa0BwwGiAmUB0QG6AssBxAG8BK0BcQFEAroBZwE/AWoB1ALTAbMBxAGqAsUBfwGJAa4BngHQAWMBRgGHAmkBPgGoAqECTQGHAaQBwQFHAUQBTQLdAkwBRAHBAd4FrQTQAngBaAHXAdcBQwHMAcoBxQKAA5IBtAN3AUkB2QHfAc0BygHKAdMBrAFGA8kCcALhA7MBgwGLAXQBvgHDAccByAGFAb8BSAG/AsoBbgGJAWIBqwJdAc4BpgFOAYoBuAFGAk8B6gF0AbABtAFpAcMCRgPBBTwBuwFWAtsDjQFlATwCQwGKAZ4C2AFJAkYBzgFMAXgB1QKwAc8B2QGxArwBbQGzAaQB0QLJAdMB0gFJAlQBiQOLB5oCjwJ2AW8CawHAAXsCrAO8A9MBdwFxAWMDlgKjA7EBmgF9AZ8BhQK1A8cB1QLcAtII1QFyAagCeQRmAa4BrgGuAbwBhgKLAYkCdAPcArICSwKrAbwBoQFsApkBtwG8AeABqgJrAbIBQQhFA10BcgFOAacC2QHYAb0BcAFFA8sBwwLLAtADnAGiAWABoQHPAdgBSwLPAakBoQHeAdcETANtAUcBxAKvAZUCtwFIA+gC3wPSAUAC2gHUAeQFlQPBAbEBswHUAaQB4AODAdgCuAHLAdYBqQK2AUYDrgLHAaMBlgHRAdsCRgHpAcoBsAFLAdgB6AGTAcIEPAHGAZsBzAHbAdcBcwPIAbgBRgGoAdUBwwGuAqYBxQHcAsAB2AF4AaoG1QLkArMCnAJKA6gBUAHQAtQD1wLVA+kDpQFBAaUBfgNJAeIB6gK2AZ0BRgGxAaMH5QFIAt0F3QE/ArwFlwK8AccDRwLXCN4B6QLoA98BwQHHAtICpwLFATY","rQ2s","rQ1N","rQ22","AJoC3AHyAu4ByAKgAdUDZgHrArcBUQFFAkIF7QKaB0MBrwJwAT0EoQKuAdQHNwGmAbMDiAG6A8oBxgLEAWECbgK1DEEByALhAmUBpgPcAsIHbgTIAeQBrQNxAUUBzwJ6As8BqQGkApcBygUsAuAB3QaeAZACxgedAZYB6QTMAc8FpQNZAcwBqwFqAy4JlwSgAWoBeAF/ATcBjAObAW0BUQJqAs8CQAGsBaYGuALMBWgCKgSkAmgMYQHlB9YDkQLrAXUD6QJFCOwFuwbxDJMDpAGnA7YBwQG/AugCoAl0AdwFQAisBGIC2QLvAXALPQJ6AboD7QeoA7ADagjYAs8FsQE5Ae8CiwWbAosE8gHoCtQDgQHTAZkHOwJ0A2MJQgFFCekBfQPhAekBvQGXAekFbQlqAV4FcQpoAtYBbAzZAcgCdQHVA8ECbAGzC9QHbAbLBNoH2wHkA8kBjAFgAm0BkwF1AfEB8AXlB7IFlgGxAssDcwOvAVEFwwXgBc0DuRjTAdABlwHFAWwFKAFfBMwBdQGzCNsDrALVBN8V5AHPAe4ImgI0A4MC8gHqAdcDiQHnA0AC5glHAbMBlgSeB8EDwgHaEVoF6AGKAYQI4QPqBXwBYgbYApEPkgSXCaQCsAG7ArwEohXnCH8M4AHTApoG7wE4BeIM4QGuAugE6wKkBJwDWAPQBeoBdQ5nBjkBpwQvAaME2gJnAWcDtQJcB2cBnwuaArwBfwEjBHYEmQeXA78BqgSAA8cFHwF7AbQBeAGkAc4CmAGRAikClAI9AjsBxgOLBekCygPwA+4BpgK2A1oC5AfDAr8K0gGFBssFywHdAUoC8AK8CtAEngOyASkCbgLjAjIETALgB+AF2AKtBWwCbgKyBL8CeALkAbQBfA9PBNUBfhN8ATcBygSZA4YCxQHFBNkCpQOMAbQJ2AfnA8MD1QHvAcsC0gLdAc8CKgJ/AqMBcwNeAdIFhAHgASICaAJBAigBswF1BKcBIgGJBJ8CrQFaBdYBvQG5BaQGdgQpAtwBjAN9AkcC6gHCA4oBMwHvAzUBjQGwAlkCpgHQBmcB5ALtBi8ExAHWAncBswHOAiYH8A3FAq8CqQI7AbwDKAGBAnoMyANIAXYB2wKQBcUC2APTBCkBlw2mAkMBQAG1AeoCiwORAVcBdQG4AtkC0QXjAd4EjwLZApcBoQFlAeUDlwFdAegDngLeAakD3AKhAYIBaAKiA4ECnQGzAWMCUQGxASUCswIxAZUCcQKHAdcEVwOWAZIC0AfBAcwB8gppAZkBNgK1AagB1QJ8BJYB0AHPAYgB5wXhAZsBJAF+A68Ciwd/ApcDjwTIA+EDrAPmAaoEzANwA2wCtA64AnQBdQGfAYEBWgHKAWECRgG0DMwIKgbHAeoEygP3BywDyQJ6AWQBmgVeEIcFvgKvA3cBKALjAeoCmQe9BzIBhwKpAXoBdAFxCtMBwwKuAdsGZgTmAn0HRQfyBTYE3QuVA4QCQQGiAToBawOuAqwBgQO1DNcDmwGiApQB1QJYAXIJpAOyAaABkgFDA5ECcAG/AnsCawHSBEYEPgI0AXwGeQGuAokBxQLcDqEBdgHFAaIFpAGAAdkIVgF+BmIHNwOyAXUBigG0AdsB2wHEA4kBlAGwAjAE0QTjAp0B4QGUArEEbgJlAucCaQF/CvECvQHIAawCiQFvAq4CiQQ2AsMIfgEiAbkBpAXrAm0BkBxEC34Ixw53AdwB6QOzAjEC1AFZBG8BlwJqAe4IcwN2BHICnwLJAb4BwQPOA7kCxQPlAXQC0QbKCc0DzQxKA8QD0wJMEdcMOQLbBL0KhwfRA+0GbAHxBEQBzAY3AUkIPwHiAVwBRALhC3EDswY9BOID6gKWAtEC8wTSBG4F0wP0AtABsg9JAUYE0hDiAvIEmw","jQLm4A/y","vAFq","NTarCG4","1xHq","2AbjigKy3AS0Py4","oQfa","6gix","kA6b","bbdUUMADtp4ExRPYsgGygQK5kAFBL6AixRrK","nAzIJHQ","sQ7K","2A59AXs","xQLX","pArW","tgXm","sgFZ","hwK7","1AKr","tQrO","7Qyo","jQN0","wg8c","/Q0Z","lgo1","9wzJ","3RHz","jQLP","cWg","cWg","5gWhqwii","lguf","lgvE","ggOr","NTY","ggLg","ixBr","b3o","/g5i","xQLM","qwXkBtE","1wLc","zQok","K77iAc7YAc2bAz9rVtIBpeMDcGBBugFFGGY","hAqw","fYc","fYc","/wXR","kAG+","xwyq","ng2X","jAyL","jg+7","jg+I","lATf","6wi0","9QvS","U93+CM6SAqwSTrgDpw","qwjb","zwXCjwHipQGgwQNjBrOzA9SmAvE","hQrQOfA","1BHi","wwiQ","kAOB","DFktgwFyCXwBtXhACF19maoB0E9tKp5dUWWtvwFKFTCQAisTR1F1FZIdsQdyB7cD0gKsAbcZSAREL4kOcucBRCFpE0s1wgHOKz1qNxdmH6EptVusBUYJiTlIDEc","A+0","wQmp","jBDp","uwa8","ggfL","5gy8","+AHp","nw9/","lQyX","mQJnA6QEtgHB","mgGl","mAqw","rw+J","+gfA","ww6u","6gix","cWg","wQmp","yw2N","yw2N","zA9Q","wwK82Q7s","GOw","kAHaYpHCA0C9AcraAcbGBtoY63PfFGM","6gix","xATD","rAov","5Qvm","NTY","lAG5","1g6h","jAvcEto","sg+u","nQuM","7Qyi","PKcBokHC","7Qyi","8AXY","dsOJCJyOAecBtCLEkQOuAds","pwjGpgeQ","jASu","hwum","pATJmA3R","wwtM2QPe","gQim","qwXP+QXPLpHtAcM","mRHR","7QbO","/Q2O","5gzj","lhLu","9QrT","nAXuEKcB1wTH","2xF5","uQOn","4BCg","jQPL","cWg","xATF","rAXZ","7QbO","zAsx","yA7V","pgrr","8wXL","rhE3","ig+P","xQLM0wmP","1wmT","1wnR","tQGM","ggPsAeg","kQPJ2wV8","/w6f","tQO8","kwrr","ggfY","ngnF","txC5","xRCs","ggLI","twjQ","ngThAcE","ngToAdk","mQJn","lA5c","A7g","A7g","5gNqtgt4","PKcBokG2","fmo","tQFgPp6lB+XLASrcAS+eBUw","tQFg","vwwv","uQSv","5gXY","1wLV","Bc4I2g","9AHS","2Aay","nBDa","/wSs","jQKd","xgws","7wNs","hwGI","kwTAjwK8","mAvR","ggep","QYsI9yzC","SZc","AtMDwwGfBrMGowGoAa8OzQW+AakHqQJQAXwEvwFWAWIExQRCBT0JxAPIDpYDVw+cBn0BogJoA10FlAq+H18GnwdoAmADpQP1AqoEpgEvCMgDJgF2AnMEoQKTAZgKKwIpA3YEmxDsA84PNAHKEMsB8xVzDroJkge2CMsBSAbPAd4BtglGBO4DUxjQAdkB0AadEJ4L6QGYA+IB5gPLA8EDuAbMA/EKTwVhAckC0gbRIpcJ4AKtCOoB9AWTHaMBywHWA64MqAGYAZEBnzjhDJoBkhniApEBkgS6Az8IqAQqAaQM9gazJHwd0A60BMICbgLJA8sJrgWwCawCyAazAs4OqANLF74BdwPTB8wVogJmD5gKggJqAa8JggJoBvMCKQyZAygCPwlsCEkU6AFqEq8JogE3B6AB9AG9B0ABvAHcBrMC0AHbCJICdwKwAXsBSgVxBa4EggHjBIUFigyjAdABnQGeA6gFvQSVAuEEwwZ9AqQTnQViAkYGlRKwCEoHqwIqApgCLAqWBKcEyQGfAXUBZQ/EAt8HcQpHAo8CsQHPBcwBtBYxCycChQYmCZsNfQTiH8UCmwKkBDAGlwHJA6ADqgEqEMkDbQImCMgHnwSxBcQBcgK5A1AJ6wGeAdAFoQPhBcQCLwTkASQBKgfBBD8EqAeYBbMF5QOqAe0EtgOGAn8BuATxAYsCfwd2AuMGmQJNAqgKfAIsAjYElwZ8AW8BrAc0CKYB1ASLEZQRlBPODD0GxwgfAdUBRANLAqIKpwHOAiMCKwTDCIYOzgh+ASgLQgEtAjME3w2eAa4EgwG5AZUBgQu/BJQIXA1TB7MKmAkhCH0MrQ+AAZYCSgEeBSsEqQZ/B8wEJge0AZYFuASxAp0DIgSlATkESAKsC3ICvgGeAo0CkAQpA5MDrgmyAhwG0wU0CnQdJgG0B5gTJQPHAk4DsQojCEoC1RRwAakDqwRlBMgHOwLSBkoBRxlMBtAD7w/hA4cCUAnRCzwKuALrA+Y4tAjqEUkJbQhtBKMBwwTN","ww+u","9AKV","zhDI","7xE8","wgGq","owjm","xgfz","8gnf","nwwu","2ANh","wAG+","9AqkqwLE","lgTeAeY","wAHp","4AvB","owa0IqyrA8SNAuwEtgrx","hQWw0gaH","owLL","rwon","Nn+vArDfCLgT3g","qwFf","lweihgrR","tQev","yQPMtw3bNOQDzw","9ALY","9xHi","wAHr","/wHs3g5K","zgXy","cY4","Nn8","/Ate","9ALY","wgvG","wgiw","owLwnwnQ","lwzT","ywy4","UcjhBIKIB2/oBc0","owuY","/Q0Z","9wJT","Nn8","vgSu","SbUsdNkBnusEygzJvwrd","G2EM0BnWRMk8oRJEJddsluQBxnraJ+ZOYRDTCMQZqAhtPGMDYG7uDSYTmQ8+BiABrEfRE54hvwiXQJcI7wvuAbgO70JiBc0NzgbhCrUXrhy4PV8HayGqN88V8QHXAfAZ2hP5P5xKlhtgNcwNswylEusNIwHdBosaswtlMpdJTAjDN+0BawPbEXU","rAEn","jg/z","I4Y","lAS7AfKhAr76CvY","tgaY","lQTnmw3w","EIECnAEzCNwH2gXvFIIWsQ30CIIB8QTxFuAB7QHrAegG8QRZC+UK4B3uEvIlzg6rDGsV7xa/EtwEwBFHO54FZSXHAakp5CKUAeoEYCWuCfAH5wlzD78puyPHD+sBWwLtEtkC8hCdLPYC7A3xCeUEqQGZBe8Y4wTpBrIPXgSuBMgBzAH0DOIucgGtAd8BzwG/DtIdzAXRIMEM2AbQAfIKow3aEbUB6QGiD2cFdgFvAcQBrAHqCLELsxyTE8QD+AJtAUsQzghOBckCdwHkA/MBsQHuAVoBSAFiCfYIwB6OIvIFQgPsC/UB0wO9A/MIzgLzLvkSsQXzDbIB5QTHAbcK+QLyAeAN7Qe8HPUBHgxeAV4Efg/JD+0B+AzjAdoG4xrGASwBLwHOBPYBnwauL9kBpwFJDNkB6gfkAcoB0gvwBfACaQfyUpwH7gqfFUQL4gHiAaEX1BauAqoCrgK6AcIX5xSuCMoNuAnwA8kL9AWUAvQC7AvvAcYFewHpGu4C1AK6Ab0BvAHgBOsV8h30RM0BVgThG8EIvRLlCkIB6w+oAz8BgwG6KcsBxxPgAckN7Bbl","jwiFAc4","vw9A","+ApR","+App","swzo","3w/o","swzMRHs","kw8i","qwvQB1c","wQnZ","uQqx","rwe/","nBC5","zA6uBK4","ngfF","ngc0","nQto","Zs0B1wTLFuMB8gGnFkO5BeVral+F3QKmJNgxyCHJ","gA23","3wfR","rAbgBZm0Ct4","5RBM","/wvI","5g+y","5g+y","2AWd0gnw","jA2p","7wa+AbgBvA","rwp0","mwkk","/wymAY4","G2EM0F3JPKESRCXDbJbkAcZ6yHVhENMIxBmoCG08YwNgbuUNJhOZDz4GIAGsR9ETniG/CJdAlwjvC+4BuA7vR80NzgbhCrUXrhy4PV8HayGqN88V2wF9Ae4Z2lKcSocbYDXMDbMMpRLrDSMB1gZHGrMLZTKXSUwIwzfUAUQ","7wZnAU4","5wZe","mwvr","tg5C","uQrN","pRHl","pBFC","uQrA","mwvg","5wrM","mwvj","mwtc","vg+u","nw7U","zgvV","0gGA","0gGA","sww1","sQ/bDuw","vw/L","sQ+dDqM","5gFpig1n","zwnw","zwmn","rwL5","rwIt","rwKZ","8gnk","3Qqn","uQyd","pAOm","7wi+","7wi+","ug70","ug7h1gHqAfE","kBCeAZo","kBClAb0","kRB9","kRAx","Jb4","HWpyy7sCgowDnmaxaa7UAXyFAU5xvpsDc0YdXSgDSYUBRQ","D7c","5A60ugOx","tQlY","WfI","ggRH","yAi8kQnr","ug5u","ug5u","nwF8rwjw","Yin8AjA","mRLV","1wam","9hGy","E7oEixhZBpwZxQWMFNApQSRxEkQvjAduU5UBoGJg2QHIRKVqyWCeMI2nAVVPSgmnPEQVoR2da60NWgFPCU85bBZRB6EkbBhGH58lpwyfYpE3UVh9vwGX","lgeD","wQ2FAZk","+QbJ","D34FKAyfKeYfpxcnESgKzAwpDvlj3gGoAeUFbSjaOtgR7wTyDYnjAc24A4QB+BfJQt5D21KsmQLg/gH8F+SEAdwwrVb4L+0P0QFyCPI","vgiv","SZc","aKfdC80","tAGS","ww66","San8C4E","kxFA","vQiE","ogOJ","yA6f","2gnU","vgjm7Qjj","kQPJ","xQyB","tAGOjw3a","lwmm","rAqz","ww54","kQPO","tAFi","tAGO","Sdk","0wGrjAZe+QGFPpsGe256P68PqFmmQrJSsIcCuNgCyg","B0I","xw+a","mRLV","7QaoXTPSAqdBOboCLRublAEr","/g7H","pQ/cEMukAak","pQ9+","pQ9a","7AJl","IM4gTGWBAW0vnxJzBXl5XSGkYkZAySDUA/AB9gm2KN4B5dUCvCzbqQFoCyEdnA1jQa1ymAouLiUIm0XmBysPJnFzIM1btgmFIZ4G0U3bFVoNTilAM6lo9gHzBGc","3Qlj","zATn","zATn","lQyE","ywTasAzjBGc","ngn49gXY","A8gBQwGPBIQDTQHIAqwBqwFPAcICewdKAnsCxwLDBccCawFnB4MEZQWbAY0BUQJoA2ICSgSUB2UGXAMzBGwERARUBuQBSgXMAcQCPAJ9Aa8BQwGFAW4BdgI/AcIB5wE9AWwBOgFxAXgEzgF5AT4B9QGZApoBeQGCAdEBwwLPA00CQgKAAaIBegObAkEBagFDBEUExQGeATsBdwFMAXQCUAQ/AYwClwGCAtwCpgFvA6EDwAK4AUQBSQGUBpAEmAJPAk4BYwFZB2MHoALGBFYBegLIBDwC2wFXBEEGuQHQAdwB6gJzAlwFhgZxBGYDcgGhD08EfQZmA8sCdQGCAYMBiAJ0ArkCwwJEA0IBegPGAo0BnANSAYcCTwF5An4FqwJEAqsBsAHUApYBtQFcBcEKngI/BOQCsgGmA6kEtQLPBdwCoQNwCOgCTAJfAm4BrAVjBEkBPgRNBnwLogOBBr4BzwG5AtoC1QFPAZUBnQdkAWECawM4AUAIUQE/AbUCSATSAZYCrASvB1gCngLvA8YCagJ7C78BRwF6BnACyQGbBrgFogRmBqABsQHKAVkBYANrAVEHnQF6AYsBcANnCnsGoQF9A6QClQJAAZMBdgF8BrgBqgLKAk8TYwRDCaAGpgx2AZwDUwHMAW4BTwdZBrcBlwu0AasB2QGkAXABlwN1A3oHSAJGAXkKkgq8BrcBRQOIB0kBnQFfF7gCeQJrB8kCSwFgAUYBQgPGAbICsgGLCtEOtwJ/BGgHqwPRB04BWAHVC5QDxwPEAUYDowFgAr4BYAGyAqYBRgPUBlUEaQugAX8G0AFXBUQBdAF5CVACvQGKB5AHrAHHBW0BYwGXASoBTgvRAWoBQQKFAnQBSQKwBUYBhAN4AcYBrwO7BmACfAFUAnAFggVIDUEDfwNRAZUIcAGaAaoCxgyzBdAEOQVCBLEItAHRAUkBYQNQAroBsATXCloCJQGhB94BewFLBIgCqANIA7YBuwh4BNQBkwNLBnABlAFMDVAEcAFJAbEDlAVSAVoBwAKwAqYBQwGhApUETQJ+BVEBRwfSBscBwgF3AcsBxwFGAXMBowRuAaoCwQKfAUUBqgGzAlEBnQGUAWMBRgFMAbMBRAK3A6sCfwOnAWMGSQFZBoEEQgWBB64BfQFeAnQCXQRWAjABrAFHAWwCwAJHAZcGmAFNAW4DbAFMAtUBwwN0AnICsQJOAqUBrQFlAXcOnQUkAsMBiAK1A0IBlgNVAswCTwOGA1gEzwFJAU0CtAE9AlQIxgF4ATsCcwyPAWEBVQFjAUAD0gNnAkICSAGZAUcByQFsAWEC0AKuBK0CSAJVAW4BRQFIBGoCuQWoAZACYwNUAUcBtAIvAbgBfgJaAmgBeAGqAVQBeQFQBEoBuAFPAUIBRAGhAZEBxwNuAVsBsQF4BFED0gKrA3AByQKhASwCtwGEAVMFUQGGA0wBUwiRAo0BewJrAY4BTgGdB0QBnwPKAnAEdAGdA04BeQG7AmcBcAFWAdACTQKjAkgBmQR+AXoBwgFLAjEFzwJuAagERgFeAtEBSgHRAbUCpQGqCm0K3gNqBD8CSALQAdwDVgFvBW0BpgFEAaoBuQJSBk4BQwGBAcMBYQl1BYYBogZQAT8BUQG1AmoBWgK0AXcBxwFNClkBUgJlA1gGZgGoAY4ERQJ1AmMFjgGOAYkB2wE4AbUBwglFAlABkQjQBVECiQWFBMkBsQOVAUEBcQLHBUcBmALDAUgBxwF+DbEBhgGXAVoC9gHOAXYD0QSEAbQBSAFEAt0DpgRkAdABRgNUAZ8CuQKbAtkBSAKWAZsBWANNAaoBrgJUAT4BfAJ3AtYBUAKpApAHhQOjAmgBzwF+ApkEqgJLBFsCywKcAdoBrgJmBIsBvgF2AdcDVgSgAU0CSANRAcQBOwNYAUcBcwKQAkMEMgHGA0wBcwFMAWwBUgFBAUgDRgGwBbUCewHMAygCfAJDAYkBhQJUBk4BYwKnApQBnQLaAn8BywKJAXEDxQKxAUcBkAPBA30ByAHaA3sByQF2AdEBbwJfAYYKcQXjBqICsQHTAUYBtQRvA10FxgHPAswCRQSqAZIBMQKsAooBsQHfB1EBxwFmAYoBkgO8AcMBRAIiAZ8B0wJ7A3YCrwXMAbABzANjBqECkwFFCWQEtwFIAUUBxAGoDugDxQKGCaQBwwR1BLgHzAFGBMUBwQ6rBugL7QHpDNkOYwdvFHUCYwGlAjwHwyDSDnEEQgHBBeUBVQ","pgg5","iAHZ","iAGb","+gKk","gwfz1wmh","gweI1wmh","gwfL","gwfv","AeAL7QhLAn0HeQJcAT0F4wTJCbkCVgfYDVsG4AJ2B1QMhgpcD7kReAFYC2oEgAO0AUMBWwjBArcCcQGsAe4GsgiIGj4z8QXxKc4BwAVGRdYF+BDiDUQE2B6BCqkB+QnhCfAXsjCRB99n8R+qUPEez1yIEfYM3R9LKLkosQzkFu8DPBidVeAI8FY+B+YNPSjSJ7EGfyZHBpsORktJM/EI7QfUD00GJQ3dD6cESkDfKJIJKwjFIIEDsSBIGu4RTiGpFEsFvg5AEpwJ+QO5AjEH1A5hEXEPrw28I+wB7jvgFYYDS4MBxAr6GsIC9g5WAVk","oAy5","sAF1","oAy5","+RHV","kxJJ","iQPo","sAGg","7w+r","Fjolgh9OCUMLJw5bCkUFmhhFHKA3V0WIBpkkpBp2DHgCuA2iDkkMpRR2K6MQoAZsKjQvuyRRLJ8Syw7FKsohMDVfDZYLSjtFGccKKQFOICkEngdDN8sndgZ4O6MJbAoxCZodVBEzC34IjRNHHIITTAd7BGMobh2gFY8SfV2kC5UboA41Ck4fnQ1OB5UJchctG1AFRghMLpwRmiJIA6kDNAQrCloBcTRaGFsHewkmFEkCNQZIAoICcw9fBRwbfwplC70BNRVrBl0eWRZNAkUFZghG","nAqnlQSkxAFv","vQee3AGc5gI7nQQ1FoA","0gEm9gHNG7HBASEbZVSpGds/rpMIjg","0gEmkQKxwQEhG2W/CWI","0QmdrQQ9","lQ7N","lQ6y","ToHhCoiQAewB57ACu84BoA","A3YCjwSEBqwBqwKhAnsJewKoAsMHQwiDCZsBjQx+FGwPSgXMBX0BlwKFBZkDQwuZA3kCxwF5CYABewF6A4AMuQN3CYwCbgFXCJMFuAOUBmgEgAROEKACey5mIMsEaQGIBrgVfgWrCbUGuiHBAnQLcwJMDz4VlgmxAT0BuQRxCj4BYQZACp8bxiVIDmAhkQaVA3kBSQrKNYoEzAFaHNgBkQFwG5IKUwa3DJ0jvQJLBpsBpgKyG38EaAd8Ck4CuwuUA8cDxAxGGKAH0Bt7LngClwNzKZUztQc+GnsBSwRtFdQBkwlwAYMBTB3ACJUGfg3SBscEoQqcBKoBswOQAUEBYwOeBokFpxJCEHQXTQt0CKUCZQ+dCIgCqASBEc8CTQ3GEWELQgm9AqMKRRSrBH4OrwZ9GLcIhg6NDUQEsgedBE8BuwJADj8BegQxB0cKyQGrAqUg0ApFDUMCw0aOAY4BiQTCG4kFhQWxB8IIwwFIAaYOSQE/EEQCngNDBdAHrwJnAtUDlgGJBZkBegRNAncC1gyFBs8BfgKFBKoLlwlKAdMTRwVDBcYeRAJUC4QBnQuBBHoDwQTIBHEByQF2Am8CXwGGF7EPxgHICKoErAJqAbEB3wdRAmYGwwFEBNACewuHBGMJRQlkBKoVxQzDCLgHzDLZK2Mq0hlV","yQ3W","yQ1N","e0H5Aq7kBHjbAbHAAkk","MnM","zAjX","H50","G0WeAUZDenyEcd4DckKUIJBujkyKKNIJeAOJEZsgs1ywNqABaSnOJN40VwKoAbMBVTXPNFYBRljOIHFCfQR6BNYEZAJuYEEBf7ACUDdXCkEcoVil0AFwKUg","lAas","rg2w","QGHbAoYJgNoN5g","QGE","mwOG","/hDm","lgdZ","kgF5","ClA","3hDQ","A3Y","9xG5","3xCy","7w5i","tAFi","rwbc","5QG6","4AfE","kAOV","A8wFoBVRBi0CeANrAqoLSwN4BLwBuBJ4B2wDcQVeDDUCagNdAr8DbALDAaMCiAVuDsIBggbHBEcJwQGSDVMKgAFGBcEBcQQ6A3oLnwVVAVsCcQZjCJYSrA5wLJ4BvQZCBz4Cpw5zCnkDhgO7Ak8CXxHTAcoJdgLWBWIY4QHoAbECQAKSAp4EVB1NBZoGTwI0A1UB7hvaCFgQdgemDWgelwHNCHQJ0QKEAYYOZgOCKcMRNAS2AaMBPQEsDroGORhYAmQD6CSyAZQkKwNzB5EC4wfNE4MW6wOdDkYTZwF9A3UPtQZ9BZ0IJBtTB6UCeBxmAcgDbRtICnMRagFsAZkFlQNxD4EBxARlAoQLXAFwAVwHzCdrAU8EtAPNAnoDTAx8By4PsQG8HXMBpwekC2gBfAR7AWgOjwJVCyMIkgFwBsEBrQvMAUcEUQtyApwKiwGVASgOlg4lE78EpQR5AT0NkwFxBckSNwhADKUEfQJzAc8BxwF5BXUBwQJwAW4BnwawDK0BbAFrC54EcAqNBH0INgExC5UBdQLDAcoEUARTA6kGhwNLJUUEpAWvBEcDshWnA54JkQcxC04SWwgtB3UDRAZ8BVIBkwNRBIsisQGTBsUGPAN5AaoKbgGEAXIBaghyBkABPgOdC2QJZAOmBKkSmAMmBa0GngVWAlABRAE+AbsBYwiUB2sEcgkrBKUOcQWdB2QKnQlzAZsBMAloCE0TJAHZDJkKjQNfD8AObAXJCnIGawSeDJIHxwO8AZIdpAF0AYUEVkmHAuAEvAJjBksVrgxEELAMTANJC9gDowI8","9gI/xg2a","wA/Q","OHg","2QPa/QGe","qwbe","dq8","nwPLAd8","PLwBuA","rAvI","doU","+QGs","lBHF","nQny","MOU","vQOR","sQqX","jRJP","+gdu","0gq/F3KeA5c","wAh3","xwtEkQR7EF6lAUw","/Qtk","3AtJ","+ASx","yAqdsQe0","yQOS6w29","qwGC","qwE7","uQ4h","eII","4AeW","2ANh","tgKX","wgTc","1QGx","ogm7","lA6s","uA97","mAvZ","3g3T","KjAcQhPBFpEB3wFVNSkMIzqkQy0QoCYrQCsSUaEBPRUoFyoMeQ7DAi9Zf1lFFsktMkE8CjFJJhRrAik6iATDBK4BfwVgDTcLRgs5CWUBthOmAkEVPA4dKTBZKB4hCzgKOQ5mBoUGRAkmDpERJwVHR0cGgwGELDYQvQ9hQGMqIQY0DyAVIw8xDi8DLAEmCzQaMwIxPCwDKRQ2FRwEJSWWF3IOJCkxCTMkSAHhgQGd","gAPZ","2Qfm2wHc1Ae2","6RDe","vgfHGs4C4A","4hHE","qwlm","zgxx","wwVw","4wGd","lgie","lQas","yA6bywHk","xglN","6RCA","2Qeo2wHA","AXABswF/A7QEUgFFAkIBmgKwBlQHagajAbEBVAOpApoBowJpA7UDnANAAbQaog2pAr0CqQG8A0UDpQGUA6ICswKkBV8FLAG5AroBoATbAWoBrQG8A6ECpQFiBCgCpwGjA6sDQwGaAZ8BSAF4AsQHowFiAkIBngGTAc0CqQS7AboCKQWkAS0BQQSrBJoDZwVCBqMCnwGfApIDogGhA84BowakAZsDqAOkAZ0DpQZzE20B1wGmBpwFuAyUAqoCWAWhBXkDqgbSAawBnQKtApYEmwfUA5wDoAHOCC0C5AHWAc4BdgGiB9MBcAOkAWkNzARqAqsNkQRdBK8CywPIAksBhgFMAT0EtQKcAswCngbQArUFuQGfBW0FUwKdCEMDvwOyA6kFaAGfAZkCoAI4A1YGYQF0AdoBVgFvA7ISngWTApQCywmcBMoB0gTRBioFnQFuBE0BnQV3A2gBsgE7AZ4BeQWkAdEGngiYBGYInQFcAp4BpATKAZ4CWQeqAqwLygNBB9EBcwOSA8oEyAGYAbEEmgGSATMFVgE9BqYBpAGtAXYBMgEhB80CkQKqAUoCnweiAUYBowS0AVcD1AKqBHsD0AaCAswE1AqjAXMDuAewAVANiAJ9DckGzQOoA9MBowJ2BpgHRQ2GApEG0AylAkgCqQdfDa4HWgaYAcsBTgWsBJwCUgJ9B1YBOQ3LA58FngSnDK4JlwHICM0ErgF/ASMEpAHNA5kBxAGgAskDowGeArAINgK1AncBwwFOBbcEyAnOBZQE0hTGAc4BnwbYBMUHcAOjArwBbgFeAn8BqgNdA8IFuAPmBNAFkAGRA5UGdAHSA8MBUwSlAYUClQGiBKwDqQPQAm8EnQRDAkgDuwG/A2ACmgGnAccEqASYBKIEawXKBLMDpgFdAS8BcAKGAWIBPAGpAbIB0QJtD7EDzgKjB5UBbAFkBnQCKgFvA6MDaQRuAncCogJ1AaECoAGyAaED0AR8AWkEZAHVAlEB2ALIBaEFRAGbAqsDowKmAsQEzwGaAT4CWAF5AYoB2gFQAyYBgQHLAacDvAGJAacIkwRPAZwDVgKCAU8BwQHdAysFdQJXAaECmwObAWoHywKiBZYBxQJ8AygBtwOmAp4MLgJvAdgCmQKuA80BygHPBVwCsQRjAZYBpQGiAaADngGqAZwCogK+A5YFrgJCBIkBpQFzAVsHbQGXAT4BvgHFAc0FvwGiAWABrQGKAisC3AFwAsABuQZCAZsBiwJ4AaYCuQLBA6MDjAKbA8QGvQKOAZoBow6tBqUEWQJNAzgDOwHIArIBxQYwBkgCqwNIAy0EzAHBA3oBqQGjAXgCrAObAaIIuAGoATcCbAOyA5MBnQFXAYYGkALHAZ8CsQKdAcsEzQJsAbYFogl6AacExAKeAb0FcQIlApsBTgMhBIcCcwFkAqQCoQGECcIEzwhzAWkCdgE0AZIBnwRrAlsBego/ApMBgQOdAqABcQGgAkYJTwGgB80DjQwoC7ICtwG6A88JWgJWBMsBoQKVBJoBnQJAAqIDnQO/CLQDTwRHA2oFqQeXCqQMwgiiAYoFuwlPBLoCxAHDBZYBRQdFBoQBZgLOAUMBQgFHArMHJgLFAacBpgHDBLABOQFaBMwEngimBygCTwQqATYBsAKhBKsFoAHKA5sBuQJtBbgBYwaBBKEDXg2bBqIBhgiVA5UEnQKiC1gBjgKYAW0KqAFmBJ4BegNvAmQBnAKiAaIDsAK1AbADKAZhBKMFWQGvAs4JTAWhAjgGkALPAUsBzQM+As8BxQG+BKkRZwO4B4sHnwY8C0sCQQhVCksGQwSbD8YCSBNKC5YJmgVSBkQJSAM/DEQdVQGx","B5KMAVcjygyFE4ghe0mgQ8kpcC97ZJc7oy2wKZfjAYFtnDIgASiMAXYefx2hU8MlrBqZDZEtmzeMCUkwohuEkgGhDiBmoQUvBJ8Glj2sILATUymUmQHPRtMB1w","zAPGSoAEcIMB2BOJWtGiA0s","e98O1kayV8YBsTI/csgB6jeXE5wE3BPKJ3xH4QKlBDsK5QLUA7ohSAPxNu0NzGtmF7bDAdo5oWGjuwHX0gG6PukBwWik0QG3JWYHtooB5AJGAsUF5g","wQ2cAcE","e8kO1g","e8M","wQ3m","ggdm","mQe2","ywOlAdM3lxfMugHhNt3SAs7VAtTvBGaRAeQExQXm","sAWb","mwXN","pwKx","pgLG","Ma0","sBDO","2ANh","DzYIiwm4Bs0f2wRWFkYNagGUD28nahUoE/Ul7QJjOroUUAGZYpwGPgGvHLcKxAGrAbEBwQGoAckDuK8BygGtBNtn2DW+ErQBpB6qcaAL70hjC7IR1jfCAbkBvgHEAcMBwwHDCiEGzgd4AUg7phGhFo0e61BLNUoKn01id9YSpgiaHVEbSQTEE64MLxGyG4gUaQsfI01J0QGoQEcixAHfD0cVmBdnBTYMnVmAAj1CpwGw","8AHI","ywHd","jgq0","/wuQ9AHB","EIE","7gJmlQragAVO","kgbF","sww11gJr","6gLIgQLKlAnC","xA5N","4AxT","oAxw","5gF0","0wnA","+w3a","/QqV","lQ6S","vQi+","4g1p","qwlm","+geJ","kQl1","ywjB","1wSR","yQ+4","gBHB","hAnD8gZg","yQOS6w29","uAFX","jAy9","PaHgBl/zBpfSAaxaSw","FLtp9YkH9rUG9g","fes","fcg","fbM","uw5w","hgj2","kRBN","1gmW","1hBL","xA/5","xA+G","xA8+","xA/A","xA97","mARd","9xDu","aaW0CJ21AZx9QoYCceUDqQpQ","1gnG","CYQ","sw3X","kRCx","kRBq","ig+R","ogK+1wHPsgHUAasB0QLYAsb5Bek","/Qaj","ggmU","ngPJzQOu9weS","oQN3","nhDl","nhDZ","sgie","T6sBvg","lxCf","9gz4","9gzD","9gxQ","9gzX","7gWs","gg5rrwHb","sQ+P","1QbZ","0gaJ","rhDC","rhDC","aowDIwlxE261B5IkTR6WHSoRmwmjFSxBHxuMIjMULHMuMzIsbDCuBn8JKS1zAy0EdQkxCCvcAYckgIgBMQ","6wp5Dac","gAN2nQTICoapAdAB51TLEzEsp5YBvqwDpQ","0Qjm","0QiE","cbH+AsxHYG9ahQKKbMBldaII3i0/","tgRg","WfV/6F1gtQbz9QNKpgKWnQLE","2AHP","cZw","bcIC+QKpJZEVowlBDs0X1RqZkgHw7gHkhQH0Iepe15cB4BfqHrEBlWrTIkAz61PAjwHqGI4EtjjKCbQerwHnBNEF5he1BPYZg36XHSEFrQ3yEN4evRGRISgKqg7XJ8RXwwalDt0BzRfgF9sYRjXoG9k","J9Q","J7U","J7U","9QbT","hBHb","AbYBygKZAUIDoAVvATkESwHNCEUDnAKKATUBuAJ/BMYCmgNoAqkBxgVLBD4GTAOUBEICUAFABUkETgFQBFQRpAUjApkHmQVBA54Cpg06AVgBYwHbAmYBtwGaA58BQgIqATMCNgIuA8ECeAhEA1oDnQGwATcILwbCAh4KMgE9A1kEPAQoBdIFoQGpAaMCKQucAZsBVgG0BFkXNAaoEjoGmQF8A54CMgE4By8DKQKfAXsDKwtzAmMBLQYsA60CogIxAkcCXQ6vC9gB3APZBWIH2gWZBNcMyBFDAswClwZtBCkFQQFIBcANNgR1AUkCwwY8FS8HuAR7AsgFyw5kBkUFNQEvBD8E2QNAAjsBRge/A1wPZgHNAtMBpAPNAWUIbQWeCSgBkAGeEjgCTwGMCG4FmgJpBssEywJNAS8BKwF2BzYGzQM2AYECnQQ5AaABbgQvAUABSQGjD0ECNgegCNEEWAFHBywBIQNDBycClAKvFs0DYQQzByYJcAFwAuAbowYnBCMGLAKXBdYNqwrQB7gCWRYyAjkD8gZGBSQFdgWfAqYBjwmdASgDPwMhAT8BqgOlAUcCMwKhAjUCOwIqBb4BoQRaBTkBqQdQAzIDOwUsBTgKcAO+CMsDvAd1DS8BOQEtAZoGwAVABEEHfQKNBMsBMgGcAUICaAm0A8kCHgKDAoMDSwW7Ay8FpwFSCY8C3welAiEBLgnlB10GTQUjAUYCogXdAawBMQeiAS8BowLhAtYEdgGgD7EBSAKvA5oCMwFADqEDKQHLAi0DpgUdAj8BLgWfAj0BiwRECHEG3AQfCG4CzgHIASMBKAOmBTgBmAVxBLsCkgGTAnUD3AEiFJ8BmQHhAdAC5wV7AXABRQGaAXgHLAfQC9AC2AFlAd8EdwGTAXME5AReBUQDQAYqA0oDRwUmCMADKgGhAbIFfAWQB3MBggQ0ATEGJAJEAyIBMQGQAZQJowEsASQQbgNhBzEJhgFICKgBsgGqAc8GywHNAbcDKgMtAaQBQQSqBSsFcQHjATMEJgMvAYgCIAtxAiAE0QJ0AiwBvgE7ArIEcQE2A3QD6QvgAd8B1ARTAZwEsQErA6IEIQN1AyYCmgI4Ei0ChAMlATwHoQOKEOIE1QLOCMkPIgkrAU0NlgghAicKmgViAT8BLwKPAnsFzwmXA2IDKAPfA5cEvwOlAWQGKwFtAWkGggIgASwBJgGbAoEDoQLkAqMBNAKtAioDMQ3mASoDtwoeAy0C0gGoBYQCnwvvAdwBpgewAugBkwOUA50JNAW7AUcIMgEqA8wDKASlAiUC2QO0A64BMAQ9BH0BIgRyAiUBJAYdAmYFbwIgB5QBzQGlGy4EngTJBRsBKgKyAzkCnwEkASkBKwEpBWoD0QrKAqgBQgFnAbwCRAGmATYCLwHUCDECpAO0AXABYgIzAYUFpQR2AywEqA9MCEAFpBbgBsgI1gmRILAEtxTQCUkCmgFlFpAN4gHoAd4","hwFw","kQi89Qbk","vAxx","ww6t","b1A","lAGa","4xFl","1QzpEpw","iBHZ","5QGp","nBFG","7BHZ","7RDS","wRDD","I6MFqR5+MM4KpgWgLpInrQx0B8tTKSV7ElMyz6IBrwfTPsohxwJLD6QFzCinLd0xyliWfOEkvxbaDcgzuy0qDkIdVQ3QIsMgvgfRMCkQrzmkAUwBJgHHBJsDMQaRI6IMawnNCy0paAZzIaMjKhSSH6UKqRArAbECrDuiB2QRlAzKEp8N3RmnAZ8FoQVxD5cf3RGyCpcCHAWlAisxLgjJBcoGtwFNBZwQkglrGL4nrg2zAZcTzG8/","xAyohALI","yw5O","b7I","5QvU","5Qvc","b3o","gQ21","b6U","gwrr","ng2D","6g/E","tAFB","b64","6Ax2","lgGR","mQbq","2w7e","/QuOBLY","b1A","b/Q","b5k","hQ3x","hQPwvgWxAZWNCdE","4Qzn","bWNsgNUHfQ","5QzR","bbdszNUHyw","9wbX","qwFf","b9UCqQ","b6w","b6U","6gzm","pQjZ","pQjZ","vA7E","vA58","sgJ3qg+oAao","mgra","mgpG","lAtx","WH4","kRCK","ogSz","/QG+R+MKwwTGsg/2","hBLO","xQfX","mhCQ","jw/t","hAV2","hAXi","J+g","T+kB8IgQdA","X44","yA51","lgJn/wRpvgSeZ6CKAn0","A1OOC58","WcH2A7xTcLwDoXFE1wVW","qwGx","qwGo+AHTtAG53QV0WLjBAfbjAZvhAkY","owPT","tAE/hgFotANQfiSzAc6EAUoDp2urSEkQq9ABnRU1iwHvAfYRIRTCEqIpUQc0","7QRk","3ghs","X44","kAF4igKi0wNN4gJE7ARI","ALkBWAJLC54HjQe+D+QEWQNpAUkFgAGyArUKPQFCAXoMUARUB6IBlhJcEp0DtgWSA1gCeASgDSwBewGqDJ8KgQHTBGgOswltIUIKuVE4BdYGdwNIPcoPrCI9EJMmRDB9Az4B1B3QBzINlCN5DssIpQE3AiEFqhZBEnY0bRhKKj4CdRFUEIErMhBFF8EKzyGRBosigwhpBMUWpih3GFsCmCacMZgRYBHGOLEInR6ZFc4NPRYlGHMLkxBGCaQCwQ0qJTEVSQPILbQHQQIvBU0CRyCODCELaRxrO0UL0AeJBG8CsQuvCKgDoguHAbAEogSeAzwHhQQlAoMLpAc+DnQBTAGqCtAQHhqgCjkCMQZOCKULvQzOCGABQwE2AkYCiQzFASUHPxW8CZYTSglyAUUEnghCBTUCQAOECkIGfQXTDDACdQrNG84","ugFR","K90","ugFR","hwJG3wLP+QZ5","c5kYTQugJpjmA6GSApj0AjyiAaI6Pm03rQNRCFc","BUIbuAI+JEoiTQ5CBSwVXRYpClAKPQ24OrQKgTYoFZ4SkTRfBkoBkQNJGC0CSDunO5GxAVCGAVcpKg8kH0tLVAGvFUcCpD8vCIQmUBuaITIGIQjqDlgOXyIpG0wCTitLBH8hNweqAkUGiQWfClAhJSc9Ak4BYiFtCygHmwxZEkofaQxNBUQHRwEtAk4BJAxQDy8HQxFoJ1cLTgJwNrEFIANRCU0FUhVqEEwWTQNID4gETwhzBEgBLgtSAkgKpAaVBUcDKQS3D2IVhAMqA2gJaQ6iEVMIJQVWE1o","3weE6gN1","FKaDAUecBKmpArWmAcYooV9GkwFRywJQLj9EQg","wgOR/Qpz","Jsc","DNAFqYECzoYDmwyaLmzkApsdn6gBYirQtwHECcSnAcSkA0k","YnABHxpCDkIXUZwBkz6kS2cgPGgrFYLeAZ5AZT5oG6KoAWsDSXdCB0SGAlE+UUBKC2kLQSBBUXQGOCGxMUkxbiCiBpxxpk5J","wAGrxAhwZScjyg","GWpl7tMEzvoH2g","yw3a","X2I","iwLVA9Q","1AuksAM7hgGrNEs","/QK/","BY0","/QK/","0gmq","3weE6gN18gF0","rAEnFs06vv4E2o0Bl70EJeQDyg","wgGi","hwiX","xwt5","B6eiBttf1A","qQZp","xg3kAvA","3wcf6gOF","3wc3","0wFnwwhvtgWT","8wFu7AXw","3weg6gN1","R7KTAd8","X44","1wQ/","xwhl","5QNs","qQafrwLp","2xDM","2Ajh","hwOirQalAcrmAUQ","jAsh","G/gC9pICLQnFC5MK+aUDplPse00KoARDSeAFMAHiAfcB9QHpAfU09hLkAcYH9RNOAUkEcDLrAfYEwAHaAfMB6wTzEmMQ+QWhIPgj0iOQM54WZGwwhQF5CWk46Af3B78EcyOhKfUEVBWwBqQPoiGXGDIEpwmfCcwTzyOEFOkC8YAC+A","HeOoBuA","rwrS","9BHx","HdI","1QjYnwea","zQKM0AXOAY0B5QG4","nQiD","5wnUJek","zQLT","ngji","jArt","nQiD","pAF4sAFKCEhvem2pNjwypAm0EEDVBbelAVgHrARBBKFILzRBVSeHAZsToSd6Qb6aAXE","qQXy","qQWD","qQWR","qQWD","AH8OtgUzASgCgyBcA5QGlQNAA3IBgwNABFABSQROBB4BVAOLFHQOrQopBU0CkgGsASkGQAtqAlYNWhN5FGECPoEBaj7JTnUFZElwEXCjApAteboCoDeQAa2aBCCOAWsKTA4zHGgyQQ","hwJw","JogGbSzFDMELUBdqJV8PPQOYKXRHpQbAAt0K3HzmHKYDQxGrIdYvzjLjAfJf1yJ3buEb9AjRAaBnxQKmCGgy0hOWH3cDyxWjC+UkpgnGAkM65wukBjMKnxk1BrIMHhGaEPQMdCM7D7cCagWWNkoN8wZCBrwQvgKzDJABxTWgb3AlT1NvEzygAdg2JH3QD3UG4gPGQOZKeg","3gTp","0Qvz","7w6N","J2Io3gHxswbvyQHg9QHXBOAVUQGeAVf8BfIC3g","2BDn","zAiA","aKQRiGKTqQGiNsuuAZQvfeICo+sBmgJLxwF6DFB3q2ujywGl3gGeW7A","0gZe","0gZe","zAjM","2BCC","T7oBtQ","zAiA","2hCY","wAOo2QLn","yA63","mQbc","9A/Z","sg/o","1hCA","gwRE0AHxwwTu8AGk8ALt","tQbz","tQbN","tQbk","tQbk","ADAHugeNAn8CxQEzASgKLQKbBDwGgAm0Da0Pyx+2EGoQpQGkCcQJsxXhAsEBrBObAmgDuweyV6kShxhqBJEsozahGK0GkwtwFJM3qANgDok+1DLGNMEGx6IBoBawA8oCswrHCsgMswTDDcQOyQ2xFcoBvy3QECmKAdk2kQG8C28qzBCICM5JuVa4zwHOAcgByiWxGE4BwRzIEC8t0RjcA6A0zhQcVWkUciXQCsyFAY8FkQ","/g23","yAv1","0QGl","qxBy","kQdnDrwB1wHIAckBZwFnDGc","0AndkwKP","hwgtlwHlwAjq","hwgt","AccEQT/FDHIWsQGkBLkGpAdmBmoCvTGfG/EQvBibGecVlALnAtYK5Ao+C6sS4hfPFLUH2B1jAbwBZQjRAbUF4ALiAc4gyRGCEmcLlRTKAc8BmwHxAfEMnQs+CqUBtROwCWoPpxmfFcEHOwFIFNsOywldJt4uphrcI6gB8gvkA8cE5U3CHsQSLwLjAZ4C2wXiBeQD4APbCcsGiBXjBVwX0Qi+FcUKnTGFA94U2QrjA8ABxgbFEdMTyQqfAsgPXwVDCYER1AiHCKcKyQ2vBs4THQ6KC5UEwQKSCM4LRwe0A9IBOSK+AWMTcAzBAnoNrwpeAogBOwXaAiQNdQSzAY8BxwbrBtEBogJCF08BzQSfIWgI7gxMAYEBmiJUCsQIhwTXC7QN2Q1GHUEMxQJlC5sFOhBCDtkVxRySC0US9gv4H8UHmwKuEBwFKQPqDHAe0wSlGF4EKQGYEpsJ3gFZC+MDdgagArAK1BiAIvAdPATxDPEj0QLzEO0Czgmc","7RHs","4AjA","fmoCvfwCZ6YBSM4Cz8IB2I4DtrUBQVHF+QF2be0","wAyf","sQ7T","xQKr","zAHT","tgXb","zAFw","7QzK","ig/1","ig+G","ig/Q","vwxPf7SfBPM","jQLP","ggOr","iwuJ","1wLc","ixGn","ixHu","K3WPAT0IZUvO+wHL4wNWC5MxpJYBpQkvJ4bPAXCeAa7mAUsBR4EBfTNTBGs","ugG5sQbP2wE/qwOf","ugGh","ugF7","3wbn","lwyK","vAlt","4wus","3gaopQGgwQNjE3A","vgrJ","8wfb","7Qwl","yw3J","6gNIvwvF","rAqH","sg+u","nQsr","sw3X","wwtM","8Aeu","2xFQ","uQOq","/QqV","mAyP","1wnN","/w7z","/w7E","ngnF+QKK","3wal","ngTZAdQ","ngTkAeE","3wbi","9A9U","xAXL","oQam","iwu/","sBBj","ngnF","yw30","yw2h","yw2N","yQt1","3gzY","f/k","f8o","f8A","RMW/A2+BCKUC3QHiB73oAsM","gwRvgQilAt0B3O8Csg","9g5+","hwjg","uw10","uw10","ZcCDAWK9AX0obxKnHJvHAXmrAnTNAqAqbx9JfsU7YrkBnU5EGbJLnhCTVtIiRKMB0A","EKsJghKLA68EuQhdAbIbhEuhEn8EnwVARLkLpgTSPLUsUw3FFeEX3y9LBbkN3hSqBLdZfzjEGrFS0QexBrs3zUK1CaQaoSGePWwHph20MKJlTS2rHaMSOBODK7MjsEZPKEYOgCloB58ElQmsHq40ThxaSMUClRjKA9MHWEW8TIAdIxK4AboBvyC3FtMapkKIGjsEtgNIC6MBOg7SEKMCrhu+J50","mgGG8QXOAriWB7+OAdjVAbM","J78","3hHf","mgFB6QV1vwM9mQJsSlc","iwfOArg","ow6r","ow4u","sQ97","vAzcAe4B4Q","kwSm","mgF6","mgEq","ow5t","qgbrAcYBxgHIAbABswHHAa4B6QHh","swbR","qwZiBq4","qgZsCM0","qgZw","rQZnBaUBwA","hwjU","hwjd","hwgt","hwhM","AEkGXgVXCzoZQDSVqgHOoQHMVEcbSqQBMIMCQxx/BpgoiDSNKUgmaBKTRuZEWA2gnwGWQrQvsgRCFqY2P44DeA","9AbTAq8","qANlNjA","vgW9","B6ovfxKUcdmgAa+AA8yHAaaFAdK3AbDPAX1ZkBNrjQHXTNs75Dra","wgGO","iAquM6EBww","JUeUAUa2BEXyAZzQAzKnA4xqRQ","6wex","yQ96","/wO3","3hDQ","ATH9AsABxtUBvzDLjgFsBWcBZwFs","lwZnAWc","2xDj","igGsEuo","1AS/","lAFu","8Qul","zRC7","sg7e","xgic","wAN5J3Y","pwN+N5U","lRHP","rw6u","kQJy","kQJy","kQK1","zguc","wg2Z","3wq4","A0s3XQ","pgewWqgByQ","4Qvl","2QI/","4AnA","3Qmz","pwiJ","9w6wAbM","swip","mQii","kAvk","owOwiQZL","owOaiQbq5gLh6AHO","owF7VJ22ApsapekB3qoB6mKxcJ6DAekKzS7lKlUK0P8BP/kB5B7oDjkgYD01UdZ2Pz/W","2g/d","I94","I94","rAKn","9gq1","wQSe","rw6u","0gFC","4QjL9ATK","qwtzxAW0","gQ5l","tBBZ","3QPT8QOBhgJLK91OUuUD0XIyG8A","3Q+V","fkYCan60oAJWqwPw0wEja+SuAS8","yQfk","hwrL","nAHn0wGmAdY","pgN8AX4BZaoEeQ","DrYTNeAPqg","kAFb","6Ap2","4Qdt","4Qdt","lgJOItUZwqEHyBt0iAGZM4Mbz6wBkqYBRpgBvA","gg6w","1Ai1","tw9D","zga0","6g+/","/w1d","kQjX","4wJHywlX","wgFB","hQtH","xQGQ5gGswwTE","pgOf","uA3r","kwqB","tw9q","zxGg","/w+O","lgKw","MnM","qgXW","qgXW","owlY","xgO1","1g+N","+wOO","1AXX3gOj","0gaJxAR0Ao4","KIo","7Apy","3g3f","qwNw","kgpI","wAN5","lgFm","wwJS","+Q3o","3wGG","pgFrhQ9MDuQ","8w2b","5g5O","Qm4","9Aav","/g+u","nwGY","kQzw","2Qp1","kwq6RrFtUVKPAmo","Na8","mwpC","e20Obg","qgXA","kw+c","lAGx","0QmdxAF0","7gaf","lwmC","gwTG2wPQqgNRfn+YAUE","e5k","7gRf","3Alx","+gim","8gnI","DXDuA+AIxpcLZQ","lBCI","+gWd","1RCx","mgxq","jQ3c","kxKq","mg3y","D5k","NMk","A3YMmXy0HYspRxZsrgSXygO3zAPS1wGyAUgQQI0BuApx","uARF","xwhl","qQvkDtisBdM","2QbO","zAGvKrM/lqoB1/IB3MYBm9YDSxhHIKSfA00SOtUBcg","3xDP","lQvf","1hDD","FWcWSQG8B6oIOxOBAZ0BjwPED+MDxhqMEb4JjwfnAVEDsAHPAd0Efg+rA7kDdgStCa8FRyWzGJwmkAHHBj8CrSCIDXkT2BBwD44FxASqBtQCuyG9EdcLnwPPAV4Bsw3YF0chyQGYCrsF3Ck+Mr8CcwjdC+cM4BG7IccoTwO1Bao33xWWBbkQRxN3AZsozAjWCJcCWQvXCasFpg9IMtMSkAONC8YJ3wqsIXEUxwx1A6IOqwejAZUPRwivAsUFowZBBLwEpwGoAcIZHBOrCd8+wQGKA1QQ0AaoFVEJ0QSZBaICvgWtBLIDvBF8CKYFuQG6BEkCpAKIA0AZSgWgB5ImyRCfKrMI3wKsA1QJRgOKDZISRAlRAVcDQwGXBLMBugmkB8oNngKFAZkITSPJCWIIpQNcGTwMpQiXB9wG3gjnBscBsAw6EE4DWgKWA3MG5AeKAZ8F3AOYBoYH6QGAAZwHZQy/A9IG8wWUEXICgAa8Hb8TxgznBJQHyQfaAeoOcQa2FL3BAUQ","vw+P","lgeV","nQ69","7gaf","CJ8ogw","yguv","Qm4","0QmV","lQtC","7gM6","7ArB","NI0","/w21","FLyLAZigBq4","Jb0","pQ9a","pQ+n","0wne","H1xUmUWCWXJMSERQCsrPA6RVlxarCr1JpTFtR0kXcAhEC0UDYwO2BXotngE9RkmcAYqCAZUGUV/kaUUJ2SDME6CQAtSEAcw","M7Q","b3k","6gSi8AXn5AKLqgGjngGj","tw9D","zwF8","4AnTMp7qAqaDAWnFAo0","Ebw","/g2a","MnM","/g2a","gwSg","hwx+","vAGn","RHE","tAS8","hQtHvwNN","jRHQ","pgO4AmWqBHk","uAI+","9g5F","7gRf","uAnQ7wFF","3Amd","JXI","0wVP","uAI+","1RDd","mQ25","dJc","gQyN","sQe0","gwFslwKi2gPq7QHAIInLAnI","4BHG","0gGA","9BCx","ANk","yQOS6w29","uA+7","iQFu","5RFG","zg7O","9g1i","2wLN1gSmhgGm2AKj","9g2i","ugro","pBBz","pBBz","vwq4","vwp2","KjAVqQJmHS8EfBBswwEyaJk","Hi0bPlYpBkAooZoDJU51BIPEAkk","2wqe","iQEn","vQrF","yQ2T","iQOz","wAN5","0QaD","9wx7","uRDa","zwHD","1Ayj","owJ5sgRvwAUt","vQSK","BbQHTRavA0cCgAFDDJYBQjaoAnEcaASCJSMUnAnVBHUXpQHQOsYGjSxpCkMFnBKADqQZSglFQaMwywLYLaYGkApcIZQDzR6tA54TiQ5qB54VcSN9F7cRmxDUJmIBZAq4FY910hhGCW8lzS9qD8sanAJcGCgSzxacAUgZswStAZcJogqmB5oBtRlnBqNkqwGWGG4CZRytBKwpbAyLGnk7dA0qC64bUg2hC5QDcBjLCooyOhFOA1YSmQVpDmkbmw5yZrI1zQm9BVo2phh1TkkIvAK1E7JHSQ3cEME","3hHi","qAM9qgQq","xwHB","gw2F","yw4yjQHL","oAHk","1xHB","8AKSS+HfBH8","kAF+","FChzY0AvFGBigPYBcLUBNRA2PjEjWbwDMIUBkq8By4IBMjI3BCpiHhkuiQNEFZs","sg7j","4gW4","3wfa6gPo","3wel","yQuv","4QHH8APUnwGi7AOhpAfU","nAdE2QrM","lQKx2wTB6wNzhQGjswXKbcIb2w","8Aai7AOhpAfU","9gJeAVM","0QXb","B3UWtxl/Cn4BiwhYEHEE3Ab1BzUFJyOhA3QBQgKhDz0LXQRqCZUHVQbhC8sK0zW0CKgbswJ/BDwUrwYtAYsHwgzgAu4pqgxCAaoO0AnoAsUKxyChFYQBhAGeAnIgLBUpDpQ9agbFBNMP9QdyArElvgpsMqoB+QPiEokIniyXH3YBlxKvE5cFpxqjDa4X7wleB8wB3gNAJcYKZQFYGV4FgQgvBkAYkQidFn4Fmxl2EZYBngHyBSoFoxGXCO4IPAGRBJ0i4gNGB3UKJgLFBZoIOAFQBo0GiwpAG8EBmxc9Ar8YZAXYCs4NRBCrB4QGMQyjBZsEJB6vFTAIRQXkBrgGfw4vATYPIAGrB8ABRwvHBX0HqwWdBLwJOQ3NAUMQNQbCAz8pyhVtKngTKAOhA+0bqA+1BJcEZAHfC3YCqBGoBH0JwwS2BYEBpAVtAp8BpxCmBmkOSgRJA/AH3AGoA60GayeyCm8I0R4rIiQCtBNLA84K3x7NAsWaAao","gQku","gQku","gQku","gQku","0QFHyQGi","swKeJj+EAbmjAUYhrRhAsQJJSjygAZyJAqOGAbENqaIBqbYBnAR60wGRUTw","yQt1","0Anq","0Al0","0AmK","mA7n","O6yHAWXnBaYcl6cDPYoDniLo","AG4CwgNyAawB5gHWAbUBhgV+AawKcgOeAS0BsQJIAWwCQgHzBqMDbgGpAb0DqgO1CJ0C0QRBAZ0GbAFGEaMC1QRDBnEBHwRdAT8C4AR6Bn8BTwlHAUMBYwJuBNcBrgH4Am4CwgPTAkMBzQLtBqwCLgFKAm0EngJkBl0CxgG4Ac4BlQOZA0YFuhIyAUABvwFCCKcJfAueC8oJyArgBa4EqgOnCYwEcQGhBWYESwEyAW4JoA5QAtMBeAqsDE8O7QK1Bq8EjwuHAsEPpgGhBs4BSQJjBWEBrQVCA3IDUQF8Am0PvwS6DnoC4QVaCs8COgTXCsAJ0ALWAfIFzwHUBUcDwQWYCLQBtANHBvUD4wFiAa4GRQTJBMwBnAZ0CK4IZAqvAXMBdQ56AeIBSQFwAtsFTQZqCuABig3nBmcCXwHKAqgIyAatAZ4BugxQAroPzhXnAlMBsAVQBWoFVQFJEaoTqRCBB7ABkQW2AnoLTgGjAXcPTgGqAeETTQGfDWEFVQySCUgBQQRaAkQB2AFKAnAHSAGYAuYJWwV1B6ICowaYB3EBowXYAWMDZAR2BR4DZQFgAegDUAVBAbYCzQSNCW4PygzGDGgBeQFyAdsDywJSAuQEJQbZB40H4QusA2wBrgGjAaEC6wJLC88BzhCjB9ABewNrA+IFeAF8A/AEYQG4A00DQwmcBdcBQwaaBCEBcgreAsEBfgFsAdkBeARRAnMG6QFIA0sDogGMBjwDpwHKAbcBTQfAAlEBjwHCAYwDQgN2B5kBSwHkA6YFhwLoCE0I1AFMAcECRwxOAqgC5h/QASQEjgRICmwBcgFwBnEBSQRyBqIGOwFsDtMBsAFDAtIBuALCAXQGcQPZAYQC0gGpAUsEkQHKBkgRyAJ5BEgIpAF5ApkBvQNPAXEBzAGOBkIHjQKPAcUBuQHRCEoEhQG5AlEBRwJOA9AEpwJGAY0BqAZIB8wElQGHCFQDmQGpAp4FSQJcAUIBvwOgAaMB3wF2AU4EVQJXAcwDdgJwAaABTQIvBEgHcQRaAmgBrgOiCkoDJwOkC6kBsgFiCL4BSQFqAmgEfAJ9BlADtAo/A8IBWgZEAU8JnwN0A0AC4g7FAbsDTwHvAuUCegfoAbADKwVPCOgOdgLsAZwB5AN+A3ADbwFeBEACXwLkAUcKPwS4AT8KkAOeAUACSwU8B6QFYgI+CIcCRAKCCd4bTAcuAsoDpgtIBeABpgKRB04CPgKxDFAIUQFYBYUDSQNJCWADOQNVAkcBQAJHA3wJWgG+AX8KmgNIBnENbxi7AXEGQQdqAU0PbQKfA2MBsQiqBKsHeQl6BJcB8wJFAa4BdASYA0oKQBewE24G1wHRAcoBqwWRB9YBRA3YD0AMiBDiAzwU5QShDbwEtg+bBdYDgA","1Q0r","mwEz","iwVn","wASb","mgxU","8Au5","rgzS","jwnJ","9w1+","JdDXA8A","lgJm","hQ/D","3xHQ","3QMb8wW5kwK//AWo","4wuL","3QPh","0AnGjwi4","3xG4","1wGSxQFMyAlK","xwi+","jwHf","jwFP","0QXO","X8U","X2I","X2I","rQTj","1Ae4","mwHYkgnTpAPhAbA","3wFK","lxHT","JbY","JcI","jQxi","gAOP","8g3n","jwF5","hglJgwHL","ygev","ogWtkgGw2QW/","xweY","8gShdNKZBNjDBRw","rgxj","JXI","CoZCRhGjEV0HegdPCkMSQwGwCKwFbRGVHy4SfExLHHg9wR5hIrFGRx1iAWIHRQ90CEUSrxB6QoEBugxQKFMGUGpOAaoUTRNVF6UFRDJxDnYIZQpBAbYGjTbLaVYUmQFDC3IUUQJzB0giQg+mGcEOTj9JBHIMOw+cAkMC0gPCB3EGRAaRAcolUANHBE8JQgxMCEoERwNRA04clQGHDp4JggOgA3YVSFM/A0kHRAFPCUkDSxdPBXo4QBO4D0AHPAxiDEQCgiRMCcoDphw+AkAUUQaVA0kMYAhHAUACRxtIE28Yuw5qAU0VkCRIAXQEmCTqHKsFkQhEKIgQYwM8QFU","lwel","yQvy","BJkBjwKqBLgHtwHmAUsPowW9BagCuAyCBb0GSgjgA7IBVAGfCsEG0gWzAkECRQU8AXEBnwJqAkcBdgJuAUEBWwJGAaABagS7AUoERQM7ArkCmAJvArUEuAGmAZoBnwLcB7YB3QGjA7cEpwNpAc4BIwLLAX0DyQFwAkgBQANxArwCzwOmAbsE3QH0BW0CuQRCAswCwRJMBssDsyDoA0gJvA3IBEoC2AGGAqcCQgW1AmQP4ATCBaME4QFIBtgGSgOJBsQDewFOCWwCqwJpCUcB9wG6AfEB0wG3AfkBwwFpBEsDtgHUBKkDSQOeAbgBPgI8AYocyAauCWQBeAa3AeYHoQG4AbQFtQE6DZsEcgi5FkoHvAe8AZQBuwalAbIDuwW8A3ICTQalAr4Huwl6BrQCuQSGA4oI1ALBAWsCvAOyB5oNsAO5CrsB3wfIBLgBTwO9CcECfgXvBLsCuwF6BkUCtgJ4B+QVvAK7AbwFuwqRArgBRQO8B6wDegGyCLwBywhPBXQB9gVHBD8PvA72AaUHRARCAtkE0gK7Ej4BwwHyCUYD8Rm2AdABaQKpBr0KcQL1AoYHjwKYCKYEggJbAqQEuwJGBU4BRQRJAtkBRwyXA80ESQ9IBbwFvAFKF7kMpAX5A+wEVwHsCfYC+gZCAcEBgAJMBbwGzAJ3AsoIRgJLBEcbvAN/CbwEPwNWBLwFRgaTAqADsANDA0cH7AKjDrsFcgP1BDwC0gNrBEUDmQG8Ab4BngSFCGYCsAHUA64FuQjIBJIGRgHMAUcDVwU9Ab0BqASsAYkBUQm7A7sBPwr2AfgB1gH2AcoC6goqBsgFRQPRCbEFSwXfBLsBSQG7Ar4C4gFqAZgBzAFPCEQBbATIB7QDsAFqAm4G3AFCB5kBkgGeAoUIuxbCAkMGuwFuAVoBzAMlAVkFQgRtAbABdgG2AbQCUQRMBX8BTAHxBLIFggOcA8QBSANNDmkHagG8BXYC+QTABKQCuwG8AdAG6gO7BJkBuwK4ASABvApICroCzAXGDuoESgNMAU8CSAFTAX8BvgZRAWcHuQhDC70B0AHBA7MEWAJZAnYBrgNJAb8DdRa5CUUIKwG7AbsD3wK7AbYIRQq3Aq4CogSqBGACnARuAnICRAGyAsECqgk+Bo4HqQM6BzwVVAFHAq8CgAK7AmwDWAGtBbsBRwJNAkECUAHCAU0CYwprAU8CQgG7AegHkgTXBkYBbQNIBeQEzwK8Ac4CmgOmAYYBSAK3Au4BRwhIAT4CwQa4Ac0KPAd0A7sCsAHGA0kDcAHLAkUCiQK8BFUEVQGsA7kINwrwAccB5QrLAbwBvwLBDXkCuAWgC0UEywG7AbsBowGiA0sF2QEYBEgCRwRIBboFUAFBAqkGswGAAa4DTgS8AakCuwG4CMgEuwHBAjsBSwVHBM8I9QG8G24LaASwAawB5QOZA6sMrQHCB8wm2AHiOOcD8gHiAvIK1g","BJnpAauYAcsIfhw+LeDzA5pYt/gD07sCqg","lBGg","mg/A","qQJKET4JRCekC9TkBkjmA0wGT8ABOw","jAWwmgyt","uAra","8ASe","hw+3","uAFXnRDi","E58","jgPF","kwOC","jgPF","kwPW","kwN5","kwOt","9Q7CngGQM3YIpQ","0wnS","oAbg","zQnu","swrOAs0","rAi5","rAi5","tAp0","tAqD","tQqz","lAzl","sgWC","kwPB","tQqD","kAOV","kwOC/g7i","jgPF","swpJ","Y5c","vALr","eYj9AZeRCTCTAjzNAuw","VkU","5xDe","NUL2DKowgQu5caXYAaY","E3EirEzQ9gGf9gE+EpqEAZ0epogBplrTJaYByAqdHsMKLEmnCJ4jpCxEVMocfQ1cAjAiqWiiGqkErBpwesYIkT9kDL8oIW6fFZeZAao","Y1M","QYu8Cd8","Y1M","B7RcOtYBofMB1RSlywLkLnkaRUKgH3npAUcGRTuvrAGPiwJ/ogLm","hgGs","hgGs","hgFe","hgFH","hgFH","F80Kbj5iC0GDAZ1pnvwCvJwBVYwBMH3dSs4hgrMBx4UBuCFCN8/BAqwH3cMBuQ","RcA","lQtx","IW70CpQ","9wjW","BKcTxDzRWpuGAZ4dMeIEgju2AS+uAzcn12vLPtlsNys+Db0pIWzKAXVWxxQ5Aa4eqg","/A+j","pQ+o","P2EPtgGoATUHXwJ7AT4SQhqlCHoERwVHDOUHSzKYAX4TpQedB549iARGEU4GRk+qKJoKg15ZBW1O8gPqKUlRlTRqN+4vzkFHbMA2fSXSDXEjqgQ7UPAXlgR1BEwUhy/Sbcc5aAH4AdwB7gHwCpBySUBiIoAUWhdLDk8sdSUoEDgRXwVAAmIuq03bM+EhVRBDAUQ","UDU","tAzDAbIB1AHS","twzf","tAzD","iAXk","tgzU","rQnE","hwXFBNM","8gGR0A7D","xwer","xwf0","xwd1","AlQCQwK0AUsC5whPBPIC6ALNA/QBUQHlBEwB1wcwAewD4gLiBMQCQAHkAukB4gHuBNID6QHiAekB8QL1AfUF9wXsAc4C7gHhAuoCTgHYBLYD1wE6AeQE3gHYAWADQgXXAdoB3gHbAekB2QPaAdsBWwLVAeEIPgLmArEB4gPjA1AB7QHUD/QB7gFFBNkD1wHUAmEC3gG3AdkC7QJkAdMC9ANGAdoE4gLtAdkBywHaAdkI6AJSAdYBZQHuAVUBXQLaAfYB2gL0CfQGlAbuBOsE+Q2SCukO2QLZDtgDighoBVQB7APwCuQG8APzA2wBvALaA+4B2QTSAdUF6wnYAeEC6gHEA1cfdQO6BVQB2wHcA0kBUgLuAnAT4gLVB/AHTwbzA0ID8QOpAdUBnwbvA48Q1AHsAusH2QFvCXYR2QrwAdsLTQNkCdcB9QHXA9kL0QhIBeMBnAKFCd0GSQXZDNkB8QTZBtcU1QTYAdkBfQG4BJIJ4hTaDd8FcQ/vB0oB9gnYAUkaWArpAksC2gGeCecB4wXsBfMCowJjBtkD5wLlBNkH3QKyIUoE2w7ZF48B2QHtAZMC4gHpAdAC8ALoC9kC1gPZBfIE4wHzAfIC9gThAuoEsgGjA1gB1wLdAuME2wNEAdkD2wJlAbUFggJaAkEGLAW2AaEM9wFtHu8C9wzgBMcCyQjZBdgBlQHmAfEO0QfhA00B2QRMAbAB1gXnBesD0AHqA7kD1ALaAe8B9QLXBLQJ3gOcBXALdwLkAdkDbAHWAiQC2QFHAecI1xCmA9sC2QThATwB3wTXAa0C2AHaAfMCYwLaAVwFsQjiBUkBdAZOAvQB7QNBAX0JuwKjAu4B2QPiApkCsAH3AfAC9AJRAUcHpQ3ZAtQGnQFOEe8DPQWcBPAH6gHuC1wFVAl4AW8J2QRHAUcBRAFRAdkB8wRCAe8B2wPqAUgFmQFJC1AC2gFIDdgEUAHsAUcC7QHiAk8DngSwBOEBoQEqAtsDqwLbAfAC1gLZAZIF6QftAtkB2QfXA9oCogK/A84D2QGDA+oC2ALcAdQJ7ANHA+oB7gfaA0sCSQPvAt8BnAPrAtUD1QHcBdUC7AGrA/UB6gHzBNYD7wLqAdQBfQLiAdYCtgHzBu0KagHWAtkC2AHiAoYF1QHoAdwB8gTVAdcCUAPtAlECdwHwB/wD9wLcAcMD3we4A6cDqgFDAfUB3gJDAfIB9gHwCI4C5wHUA+kB7gHyA+kBZgPtAfUCpQGjAdkG2RD0AdUErAXqBE4D9gXEApwQ8wE9AToB8wFIAUMEvAFpA2cGSQHcAUQO6AH5BPQBQwFeB9sB7QFHAdkD2AHAAagB9QGVAe8B6wLsBO8B7wEuAXcBTQS0AUQDvAK7AdEB1QHeBWIB5xDjAeQF1wFzAe0B7ARkAqoD1QPgAdQCVwFIAkgD1wTtBvYDRgTxAeYCRwLvA9YBugWxAtkFtgGrBEkBRwPVAtsD8gNgAqcE8gHZAUcE5wFHA/gB+gHZAdkD8Ai6BaEQ0wrhA/QE2wHyBPED6gLuAesEQgFXAtkBJAPvAqIBogfcBEcCQwPsAe8B2wHZAeIDUAPhAeIFRQPYAuoBpwTWDfgi5haWA6kh0QLSG9wP8wHsA+MJwQmj","jwwlHkdERSoo","jwwlHkdEKCoo","jwwlHkdEKCoo","mw0o","mw0o","3QGc","+gGpowvg","zQ/J","8hBM","hgiv","hgiF","K9emDt4+nD7j","tQHA","1Q2Y","hQ2f","hQ2l","hQ3Z","nweTAuIB6QHQ","hQ3e","ugFR","rBGnAjc","yAib","ME8","5wiw","SGA","W7tdghi5A2ejAT/aA8ypAqt0zinQR1QttnCXwgIhkAGl","0wFnwwhvdHrCBJM","uAFX","jwmg","hQ2f","5gF0","gAXO","hQ2z","gAW8","gAW/","zwyA","mQoj","zAzR","KPc","KJs","6Arm","6ApW","KLA","GWoNS2p4WGL9B0Y","AlQJuAFZAzYDtw9uB8cB8wJJA78BuAw7CbUB8AFKDLEEvwn4AykGyQcnBr4HTwFcBNAD5gOfDbUEuALxC58E3wH7AVoD1QPSBEYLoQHRAs8C4QK7BK4IuQa7ArsEow6uAnELvQvZAYkDlQGcA+gH1AZ8CN0NuwZAAaAD+gH6AfII+grpB9kDyQawB9EBwgGcAswC+QZGA7gBmQHoAWUBRQNYEfoRzwG8CZ8BQgG4GpEE0wLTBrANuAH0AskJ2QG0BbUauRh/BdAH3gK7BOAGuwXfBTQIvgfOAlgB0ApqArQCwAqsAj4B9AODBLwKqBq7CyEBzgRMCWkBqQrDAsYDUg/wFbwCuwG8An0BcQK7C6UFvBPyDDAM0wE8DtUCowHQH8cT0yN0AagCtgJpAvgFxQKnAfUB+gH8AfQB1QHJAZYL2AzNCKQEuwJGCmsCtgFHBbUKuAX4B8kMzQXoBfAEsgf0A/cB9gJQAcQBuQH7B4MFmwnVBoYIYwfXCMYCdgaiAe8B+gLyAcgDLAirBeEE4gNIA8sR7wfSBFkD3QN3AbwRlQE5AfEFSQKoE7sFKhAoBLwCaAQtAisGagGkA/kBwAbBA6wC6AatHLwGwgO7AW8L9APZAz8G0wR3AXMBewF1AdADvQnQDPYB+wH5BrsBSQHCD6cPRAtCBHQGNweaAqUGWARPCU8D1wi7AkcFRwSMCLYBqQV4BsMJ3wi/B+0BpgL8AVoC6wH6AaALvAgtBysCuwHiA2IFnQe7ArgCvAh2BasG2wHcBG0PdwO+CSUHKwXzAe8BcgGfArkIJAL1CrgBuQ23A7kFnRS5EWQB9wHJAfQExgjLAZgKtxV/BNoFvgKXBXoB+AHuAekD8QZJDtEDOAJCBXkCpAGUAycErwS7BDkCIQM1AUsBuwi2CakEOgEyAa8C3wfgAZIGKwFMAeYGrARkBbgDuAiYASgKLgTSCKgBRghoDHIB0AL2BaID8AP6B6QFuQMiBNgBoAW6EsUH5AcmBLgFbQ+6AbsBuwZCBIYFSA8vAXIIrAQxAWcCVQO8A8IBegzNGfgB8BGVB5gX9wH2AfwfiR29PPoK9QXD","3AO4","vg91","KXTzB+Y","X+7kAbHQBYIDzgHq6QPD","wwJ5","oQe+","wwK8","7gRG","vg/Q","6wjT","hg7B","uQJyAWk","2wiL","2gjAAbQ","qgF+","hA5fAU4","qgG+jwGdAZW3AoNgtsUC0NYI2LgBcg","lgjQ","8Amo","mgHpK8uWAqABzLsDdwmTAeUBzEmxmwHC2gHtAaucAZkE070D6+ECzw","gQyN","X44","X6c","0g6p","9wJg","7gRf","mgHc0QaU","sQjV","nAjd","6gJ5","mxHS","/QuOBI0","4Aq4AYA","+guXA9AEv4YClw","BEMUTgh2A30FqQdEL14tmheEFjwEagfPFEKHAUgVmw1EPlcBYCCnNKZUaUypHqcnlyeUF2E2mAGoRJcxmBc4MkAhgQWnAXYBnwHMA3YBeAJ5AX8TvxRNAWsEcAqBDCovTQqWBKEHZQGJDNwBZwFVBcYObgtXJF8BbAGtAdQuWAnMH34zkx2rB38bOwRSC2oLkAF/AaMBnCicBKYapwW1AXMCdgumE8oEfgyjBaMGRAI0D1AYegFqWmAFpAl7KmYEkhh3AkUfmzKkH2pEpgvFC0UQUQFWMEokQw","AjgW0pEEbJMDR4wCvmx/OHJ4ceUBrQ","GPR9aRCfuQJg8gVAEmYEkwzDKrKkAUcZpxdorwFG","uA9M","uhC1","3gqjtgIleigFJxAu","hwsp","hwsp","AngHeAY2BSgF0Qd2CLAGeAL0A9ECrAF3AZQFgAN+AY4PegE1AnsEHgjdBIgBHxA1B6ACgASxC00BdwZHAXAE1AOmAZ8BhAN7BakBLQFECqABlQNlCLkFgQImA6YB1Q+vFzUHtxlYCWcG3R1mCJkQoBPEAuoBuQVLEEUEbwbKDWEIwjNRGokdoAnnBT0FQxSUB4UCOwMtDDMcngVjCWoN1wHWFbECWw2KAzIDUQ6RDqQNyQZtGawKWQNfBpEJXxgvI7AJRAqVAswKaAp/D8cWLQIyAZYBmwGnBXMKNQK2BfYBwAKXAzQBPQXYFJEBowXICDcDHwK/AjoCeAWCAjIDaAJqCUgEbhTkDeYB3QGhEiUBPA1uD9ARSgVtA20DngIoAkgJmhXnC6MBQwHWDpUSrgPhAckBqATZBH0QIgF4A3EDLgFoBC0JUQySBJkBsgbeBUkSpwJHAc4EggF4BR4O1hGgC5wEPgXMB7EMoxdZBtwBIQiYAZkIKwxLAlgHVwJyAl8CwAI6Bk8DtwVIAZsCSQVEC7cNLgEsDXEBfATEA60CaQFrBSQDXwqzBuAJMRepAbUGfgN1C6QFpQ82C2oTtwdiBEADrwysASgQqgToBqAUtgJ8DEUH4A/SD9kCYAIgAbEBQw4gAWQFeAVqCWQCNAWUBVgEPQMkAYQBPg1zAnELpAFPAo8FMwhbBjwDRg2qBUIBRQjDCzIBnANLAqYEdgHPCMQHSgKNBMYD4AbLAYkC0QY+AjMCnAIkB8QOchKQAbYBuAHZC94OdQTAAqkBawO2A0oCiAXUBrUGvALYAWME8AWWBLwCMgRiCnUBzQGHAtQHghHIB6dJrgU5ArICywO5GeICzUHJ","rgfP","5gLqAbk","4Qe/","mQlJ","ugeu","GZ8","uw+o","rwfA","sQGV","/gut","rgdw","rgfP","jgnH","yA5x","9A+6","qwnf5QT6","kA5+","kA7d","kA4g","kA7B","kA5v","kA6t","qwmS","qwlu","qwnq","a7NS59EGx4kE1doByQLIbcupAkc","ow7z","kwRHmAS9tAGf2QHApwSa","9QHGjASRogSqrAHphQS+","eiVhKNAHJLMBLDsxigI0CTE","9QE/","9QE/","nwnj","nwkl","uw10","GME","VX7bAcaFBMWsC9wByA","4RHQ","uw10","9QG8","0QWt","4Afr","3gzq","3gyt","W9TyAegdib8CTD7yuALIAZMBYhXxsAFLrQFKjwJPjQGx","tgjN","tQI7HYluL5sBZegBLhCabEsCSwZPM0g5nWZUA8EHSg8qElg9TdsBh0CklgGbQyVfMwqlDaIPOV9H","1g1n","hw+x","rg6u","7w7U","1ArwQc4","lw9L","5Qy5","2wHE","1Adr","mwrcyQKUiwJmjQLljgHX","5gll","jxFx","J4ADRytYAUUIfzJBHWcMtAFiCTwOnwFSFj0HeQtFOYADZgM/AWgWoBVECn8EmwROFb4dPhk2JkYYnQh8FUpLlDY0BXkCZARQFkcBUDtFH09BhwnML5cUnQpHE6QaRBGaNkYCpBeCA0gLgQseEV8FQhV/EaMGnAacEEUYRw1LCEIdpAFEA58ORw6EM6IJSAlLBIsJRxRKA0oGUQMpASEqXwyWAkokoSFfCnULNgeNF0gBRQpHHmgPeQGfKUEPSAVQJG0itwhACHUTQgdTHCwHRStIFZYEqA1MFnITJBpHEmMNgRIbBUcGqBRFA0oDRCZIVcESsSSlB4o","8gHS","8gG57QWY7QLq9gXQ","3wfe","3wfy","8gHM7QU84wjQ","whDL","whDn","4Afk","4AeW","4Adi","4Ad7","/QjD","/QjD","4xGw","/RC5","rgbjAdiHCrQBsakBzQ","yQt18gGe","3weE6gN18gGJ","PYB1rvMLsFpp","lwoe","lwoe","zwuy","iQXaqwNPkwTYuAF4","owigyQE9OMg","owja","CT6iAXqMAX/JAYGAAdFDgxXSiAHJMMshl70BKMsBPxclogGvSYbIAT4TkFBDc0E5JYEC2w","O4JMPhunZMv9A53EAaUjggIyED8txXvFyAE9EoBBQnhYN6TQAbJhxg6YGByCAfGRAfkISQ","lg2jlwS2","swGS","AVAnNAWiApYnHg0fCiMoQAMqAioX0QVqSZ0BdghyNzyNAWoRlVDcEOc62CZ0GpI3rGosAt4b6UsjFC5FMC4mIm0RiiC1FC8aXwicB0MBMiVCTs0c2gRFI70GxQ6nHsoXLBQ8CqsdKiigBn4EyjzWA1pEuQLlIkcloiaoBlUeQxu2HiIVcAklEyMBXQRWASQRfzgkA28RmxF5BicErAPAAZsMLECwGJs","3gNAvAVO3QYm","mgGl","JLFNVQJ1DNcBbBdLAyoHagFbA80GOwxLBWcSMgtxAigMq01LC0Yl2T5IBCZIMCHLMkwydXssDaMzqG9fCnMNmCo4BWQhaVpsDyoZSQEyHnIEOQYwGkQNcD9YDkVrlhR9BEVNbzpwFyVtqw2WGC8XQwmeNqAEm0vLIUY1eRGslgHs","eHZc4McBUIQIxiCeOtc1rG1w","qQPm","ckIBUgREAz8DPQ86ClcQKQQ3AicJQgJABkYeNwtLEFdaMTBKDTdBUY8BQkNNfUkCVCRJboUXRhwuY0QCThVaDU0TTwhOHFIWRyMvGlNVVC9GAUgVNQ6fLFMIUBxTBDZRhRNQDj85WhckC1plbQJFIXMTRzZJA5gBPAdlGk0CLhdpYEU","uQ4+","/gaO","ngPJqwam0ALH","6APG","nhCU","7gWz","Yx/CAZ4","ApYCkANLAVED6gM5A0kKngfgAS0C3gK6AewC7QHtAucCtgFAA9oKxAW/EVADugRsBOIEKQa1AlcDVgPjAeEBswE1BHAD0wLgA9cBMgW8CooBKAKWBUsCNQdqAdUBVgHOAi0CZgLvAjcBJwHSA80B0QLkATcBYATLBYIEbQHhCbIC1AP1Ac8C4wRhDnQBnQ6oAcIb6B6/A4oBwwXoATYBrQF6Au4DwAHTDzEB0AXHA8kCzwHyAekE2wJvAb0BKwXoDc4i6gHbAu0FNwLOAisBygPTAuIT3ArKBsECvgGnBu4B0AXXAcUIxAHTAdgC3QPZAcUH3wfUAswB7wKsAeUBwySqAUgL8wHfAj4CLQW/A+QB0wPXAy4I3RDfAtYNXBYqG80CSgE3A2QB2APTAa0GiQJZATIN7wHJApIDyQyUAZ0U0QhFA6YH5Am7D8kQsAHGIcAWXAhgCyQHzgQ1BdADoxitB0oJcwuWAs8IsQfMDZ4HRwc4BJ8LtkbzBO0JogHfCacP3g3WB1oBkQK0DHwDsxU3CSoFWgy8AeIDxwWDAaAS3QZtCbcCtQLECD0BlhOwA4cBig0rAUcD2gdRATUBrwOJCS0Ftg+lCsoUSAGaB88BLAYdB90CoBi0A+ICQAm3EOQC6AaZAd0HTQxCA7QBbQbSBuAELwGAAvAVdxG1BnsBRwXuByUH2AfECOwGJgYgB3ABNAlWAb8CTQJHHMEBlAFyAXMCeQ7pBVEBlgE4AvkB5wHzE90ENAavAawDVhtFAXsXnAJQAcwO1gUhAuYLcgUZAjkEdATtA/UE7QLLAZEG5gkgAa8G1whUATUE4wTrASEFdQUvAdEBqAHEIIoC7hbGBMQCPAR8ApwENwLKAjIFpQMzHjYOMwSlA0cBnwI0B9QDdBylAbACJwerCjEBrQVXAYsIJwvXA+gF6gPBA+ECngkkAWwEMAFuJ51lxgXSMp8","/gPMAc8CrLIEtcwE7AHj6AGa","1BHS","5gjJ","swiY","rBDR","cc0","tQFg","swi/8gPcnwLFAr8iq8QB0Q","pQzN","ug+q","Eak","wxDc","H1yFAUdSQkdLEJzsAkBhrj5OG0oQpF5C1AKALqoVpxtKLk8HSDZGMD8CSw9GPrROSDQ5EUkBPxRgFkinAUgVUGGC","4Qgz","BUEEeBe4AYAWVidEAacEogVxB5MNTymfIrgKbQmtBT4bRSOwDZwFTUDdENId0i2PPZRcSh2aH94HPipICFohTi00T50g6ROdDsYVRgywAUcPogZIAUkcpCjQLWwJ3xpMAd0hkwTSB0cexwylAzsDoRrLAkQIpjC9AZUubRiTEyExogZMA1EiRwNKBXIOyA7ZMCIGRwVHAZ0kSAElHUcENQ6ZBUQ0RShlHZkBpx5LAogNMQ46AboSTCdII8cQQQGjFUFSQgJnE+8","nQLQ","I6M/fhtCJ0oRRu4DU2u24QaOJyv1ApweRQ","ogVIwwS44QF5CZe/Aac","xgmV","BUEB8hF6HLEzyC6TCb8VXUzfDKUHShl8JlIJwwHBGp0IVxBlXXU6LRmkC0QQsRZPNLciuDG1BqYCSiRgBUcjeQpCX0cOYxBBV6cekSdIL04JbQ9UB5sHfwLbA+cB7gpeCUgIoRtKAZkzdghWCqgLPQVDA1kOfwZNEGwQog5pBsQSkwmlDXMJnQVIEHY1yChECJ0jVlpzTXcZlAdGAloCShBWBFQKvh1jCUslRhPcF6EmygU3Q40iqQZLAooPREtIA7gHkQZFVlg","0Ale","1wSQ","Bsz4Ads","sQdH","xQnHAdU","kwt1PMo","rQ3W","iQ8x","mQRg0wVI","hwFj3wgrwQR2","4Qgz","oQaa","uw2+","9Q14","2wGb","vwwv","oAS2Aro","Yqk","5wGwMagCv7wCcPsDOdwBWCFF1ARN","gwhw","hwxJ","/QTX","AdQD6yLnMcMbfgh8bb0RsY0B2QLJI9sYkRHdB3tw2hZ5AUkN0wPLK88PuQLcL7ZKvTjsI+MPowy9FIsByRjuD18ezQvDQGEYTRW9E64EkQ/UCb0IrCrIFrsd1Cq7ModKu0q9Ct6ZAacWtxfxFKAF5RrtjAG7GKMEuR2qCF+QAb0B8wH2L7gQyhDgC8wu6j/J","pQmC","9Q3H","kAej","Jks","3wQr1QROgAQr","wANI","O4KTB0OIBKQ","kgJYwAHcYKA8PJYE0bIBx9QEhjWo","J7Mwv7UCRxFNAW6pAWwIRVVlH0fAAaRRbwyzzAKsA6wIcaEET44By1ckCuBVbgtrM0k","6gdJ","mwkk","xASJ2QR9","Obo","9wac7gWj","5gjRlwUZP88","vA5V","5ght","5ght","IKerAdVNcc0BWCtYDrcwdSM0ODZ0ZiaEFYdmx06zPNkQgkpaFM0lO3uaB6cepb4DITFTPKSCAbM8zxZEQ64Ltw","ngGQC32VA3VPWAuQLF0USkV4JqEVbmCxTikfR32kFFoOWBQixAMrrAQ+","1gK4YpeJAioX0kUwJqEV0U6zoAIvEsEDtA3NArtzr0CFTrUymThNLdW3ASGMARxvWQ","3AXB","iAGDlwVziAKke3ObA2azAqo","5gEr","oAnGAcY","AI4IkQu2Ep0Digu0D8oEfgK7AZcFgQKRBoQBjAinBH0MUAKUA2wBuQpvAWoVdAGqBKUFoQSFBGwKagFZAmID6gGbAnsEsBSAAZMCiARxDbcCzQ3TSnUCZDVeAVMJngy2AbYRggSvAXIq1y+WF5oKoSrkCKEbwwHKAnIGtgyCBXYRpgaqBYoMygfmDNECSQGRBI0N6RzLJZAMsAKVLKcegxSfA8YdkxGmEXkFmAOeBLYGlw1tA9EBZgqnFYAChR94Bt0JTwOGCm4FugFlBZwVpgFvBJkLrA5xAbQCpgOsD7QFfQyCA38ElSqkBKgGdRNCCI4H2ALUBX0KgQaEAXoJnwxuI64MZAudBJwBkCCLA7UCdQGICK4Gjwa4G20HrwF/FKYEgRCXAUgBihCCCrkGawKaCXABsAK9C1cOnQFlAWwlhQiVEngNfhKhAZcPjBWFCZQBhQmXD3ogdBCFA1gBcgqFA3QBmASYAZoCbgKiCW8DsgZ6AUcBiBR2BqQFygqWAooBnwi8B4UBYgPFA0cBOwyIBqcDqw2yFeUDqASEAZ8FrjaOB8YByAp9BMAGhgWqDaYPpyPPEt4BxwKxJuU2yQXUDtka1A9v","e1w83z7D2AGcerU4YqwDf6ADhzC0WbGAAcvDAZkliQdaUmpcpIwBRQ","9QGX","twGhlgKxgQSgtgKD","kw8i","Ns0mVFU1BG8Pmgq/qQGfEKIEZxwruAGFOpYFNCvLjgF5PKQJRFlugQRMyAGWLpxepEZy","jwro0AWa","NrPxAoqrBSgusBRQRVcpMPABr6UG0QRC","qwOssQS1sgJXuQFQ","jwpdAbo","7QJ6wgd0rgJd","gwJgFbG8AZu1AU+FAbboAjuLAU1uz6IDZPwCTA","1ANerQye","vwgp","HK4/u2qKDrHMA2eLA6sfcSlINq/fAWcCaqIBbxJ1CC9DcU0r","4geY","qANx3wSRlQNzanU+JfoBTWhWPCA","hwFjlQtEjwGq","0gM7","AngpvjRiElwk5QfLIK8FpSmlSs82pALeIZoVukiyA8Ee0yexDJcRqhCXCEUe0h2hAmUCsBBNA8ko0RDlfM0ItRavFbQIgjSBBL0Qtw2eEOUI5iG2MsgrvgF0KboKcAqhC50JrR3WAuQWeg/YZZYwdgmxCscSuRRNBskawwu6CMwY5AiYBpwDpQGjDOMNoAOpAt8bzhNwAa8Brw3ELKk7aQNCCm0GSzXcAWxR5lCQDW4jcA92BLUCpwWlDL4TgDraDp0zxQncCEgKcR7F","4QWs","M7ssll0vsgHPfGQyyUO6CIYRdSyl2QGwI6ocmgfTI8gNrBNBJUAYWVCPAa0GLkKgCSISug2NOlyJAUQcTA+jBTsFyyZjIHQepBA5Aku3Aac1iwGyUagSr1pEFKcasgxY","oQG+zQFPfJ/MBF2bAXzmBUo","uw2+","3wfQ","CKAHNgGCAU8Zvw8+JrUWLAjsCSkLzwZLEqMrUwtjMjQi0QJgIVoBTQXSC3AXigGaB+cBogisC0sE9wOpB5YNXQujCCoBzg3kCUsCwy1NCEsKKgSmGsckvAaUD4YF0grYAU0CtBA9GE0KzgYqAugJSwhNAVEUnhAnBGAD7wiBC+EFoh6YFakOtwvMAW0JMA3fAqUYkAEqAZsjzQcqBykBlgfGB0cBiQMvBJMDJwrFAecInREpDWkFyBTzIXQJdwTkApsJpA9cD84DtAm0C5kJowk2DLQBSwdCAtcCrgKUAYIFLA2gAi8GuwGCCOIILR3aBzUBiwQ8AqYLeQbpA+QD7AHSAiYQoAFaBNABZwpLImwEQwphFTcQwQO/DaMTNgKOA6cCJhJuDskCUQyiAiQCURNLAzYUnwjdFIMkgwbeC1ECTQ8lDFsNSA6gHGwfJQKhEcMCugE0BXMPOQd2B0gFMAJGBVEGOAONGq8B1gGWA5IbuQIoDp0JiwOrAtgXoAx0BVoCQAgiJGQIJxwrFZ8EvhGwA0AETgRFD1ESSANBFNsHRwG/Ab8BrAOQCaIBSBtKCbUVtgFSE0kSSBFGAsMW+gHN","jAt/","uw10","kwbfI5g","kwbUI5g","rAjw","X7U","oRL0Ac0","uw10","fbA","fYc","fYc","fVw","BZ0DlAVHBX4DzwO7An8IbAWbBWcIbwPDBYAEzgvsBhwCwwFaCrAN0ALqBUgBSgdGAaABWwOsAd8DfwItBKEB2AI7BLQIoQd2A1sBSQFHAYEFugOyBKgElgY/ApID2AIzAToE1QvYBTkEQCqnET4WzwqsAnMCQgOMF6QB7Qd1AZwBSAVPB6QEsAVECUUERBTWB5UBeATfBmMCyQNUHEgBYwGpBbAPOAGbAacBUwY6BEkDRgTQEUQBiAekAsgMcgF8BKkQfAnWBdAESQ9tCd8KhwSGA0YLQwmBA5cCRwNDBZ0GqhrVFqMBzQJbCqIGggSbEqYKUAZOA6MRtAjKBk8FYTh5AW4COw/QBoQI0hSSC50HSwpICkcKdQJqAqIBTQelA0YEcQZJBF8CcQU8ArMCSAFOD2kGowVuBLMCtAvGAm8VUw48Da4dSwhvBW0C4ginBM0FvAFLAasGSQGvErsGogNOAa0CTgGnAkMBQwIkBUkHTRp8BUIBgQOxAaYB1QnBCFoC0ASTCUoBQgIcCkYKmQSsA/oDvxKTCpoOeAGiBKIGuwfBB8oEpQcoDM4BOwG+AUQEngSgA54EQwVyAokBxAIqBYsDcwJKBm0IkwRPAXUCjQZPAiEBnwJDBE8DqwYiAyoBlwHJA/IEbwbtE6kBRgNHAUgLgAGJBe4Bugl4HkMCnwQ1AVUBWg7TBEcGPhXIB8YBrgLSAvEJnQGBB1ENZQrWBYgB7AJzBUsCVQfpAqgHoAgiAZYDVQS9BucLTAvPAvAIbwxgDOYPRAHxB+oBcQJqAZsBSAfMBOUCRgTdBa8EPgOcBnkBlgFNAcYEcwbCC0MJHgpFDFACSQFLArYBKAKmBTACWAK5B/gFpwLlAZ8DvxNSAo8CuASTA2MChQIjAc8I5wPbFUoLvQWdEC0BJA2NB5gEiwGJAq8Bjge2BpkDSg2vCTslQAJLGKkBOSJCBMwMSgOuFUcRuwanDTwRRwPODuwC0hCf","YsYrsAOmEJYGvrMBalI8QktibDJzM+o+jDDDugFMEkE9fyDBSK8Rp3e5THVgUGXFbpWpAUQXvhGPCZ8duAPRFZkGQ1rvEtYBmg","3AdM6wNQ","3AdM6wNQ","tAXQ1Qq7","7gdB","pgGl","tAXd9wJ//gaZYIg","8Aq1","lwKz","kQuC","yANj","gAHE","gAFq","kQuV","AewCkQK0AsgBqwHrAZoBRQGzAYEBXAFLAYEBRQGeA2cBVAGLAeUCxgOGAlIBUANtAX8BPQKjAzABcQHIAasE3gKqCDsF1gVyBswD3wGdAdMB3gFOAdQJuwHfAcoE7wHMAu8HhgFCAZ8BlALNBHoH8AGzAuIBvwPxAb0G3wGsAvIBUgF5AfkFYgLyAtcDhAT3AZID+AHpAfcC4QK5A0MB9QJQArcCuQLmAfkCqwGVAUgB2gPuAecDxQmvBfMB2wrqCrcErAiRBLMLlgawB5wBqwJRFfYDqwL4CEoBzAHHBD8CwQGrAbYFmQGOAd0CTgeMAeECeALrAqQB5QS0BKgN5QTsAkYBnAtqAeQBpQGsDHkBwQHlBagC3QiOBcQCuwHOAbYG1AF8AdAC5gzcAekB6gF9CpEBwgXeCaYGGwLiApUBwAHdA18CqAL0Ac0C0wGYAeQMuQHrFo0BwALyCJIQwwf1Ac0KuwLqAdAC5wP2CEUJ5glmCvgCPgPDBeMByAS2BmMBnwHaArgL6QbYBHEG3gK5AcADvAGwA+YKtAH2BcsGdwHoAugERgb1BdAHihCECtoCtQXTAZ0F6gfUAdMFugbUAusCpQS4AbkCvQXaA7oEnwH2BfABZg6EBJ4CzgrEC+kBVBGuA8UB5gL4AtABsgPbDLgEuAnqBtABmwT6AkoElwHqAyQDbAFaDPYEeQT0AswBUwfWCKYC0QNJBLcC6gLrBqMD1QXEBOsBuQTmBkgEbAKtA+wQiALvBrYDVwK7CkoC2QT5A+wC2QLqB5AB6QKNCUwC8AHpBcUD7gJ1CPMBuwXmAeIFsQNCAUMDnQ2GAeAEtRDXBvIERgGxAXUDogGcAmIHzgSrB7ABoQ/ABPQEzwLxAzIBdwGjAYMChgP2BLwB8wGMAfYBpwHRAcgCzQioA2kF7gVfAhwTqwesAeEB9wLjCOAB9QK5B8wDygFsBt8H0wjyDksD1AGKA1QDSQjhBekG6gZiBbgKUQneBLoBawTOAb0BygFKAuMC1wS7AXcCvAfyCfMBwwZCAU8ByQQkAdwB9wRJAq8BzgHDA0AHnwNJB0QBtwdKAeoEoAXIAtkBUQHSBI4B7gHyAt8RKgvOA+MMoAGrAXoB0gQ1EL8BZAJ3A4IE8AX0Ae0BowPECOcC4AOQBfMCrAJGA+sDIQWHBckG9AHdCGUB9AK/AvACeQPGAlEBVwGsAmoBywTiAdQBSwXWA8ABUgbOCrkD0gHfAesB7wHaAfED8AJIAdQD4AfZA3YK8wzgBugCwwFiAXgE4wOlA1wM3QHOBEQC8AZiBNsB8wG6BqUIlwSoA+UBSgK5A/kI5wUxAd4BsASqCDoBegHNAd4NTgJWAVoC9AJQAXMG6wTBA4oBnwJuAYoB9AHcA8QByAE+AfABRwKGBOwD9QGAAZwB7AWaAWUC4whBAtsB+QL7BLoBvAH6BaoDNwHmAuwC1gI7Ad4C6QJZAtoCgAHuBbwP0QPHAqYBOQG6A+sD5AHiAokIwAnwDPYE9QfsB/EB9wRSCrQGzgHiCbkIywK9BfYHfwX4AfcBnglMA+gE8gLvATwC6gXrEPcI1AbRAm4B+AjxBsoBbwOVAUQD9QFqAvAF8ATlA9oB2AGxFaoV3gPbAdQIPAfOA7QFPwP1AsEB6wHDBPgEpAXUAUkF4wXeAUYB5wHkBO4","pgqt","pQrdrQLQ","pgLG","mgrI","9wac","rgHG","pAHj","jg/s","uA97","pQWfswnCAck","tQekoAnB","1RCt","bKHIBOPeCFc","gRHu","6Qy8","Ep4Voxl8HqQl1y97Dt9m3+8B7jLWe5FSkAJhpwHxHZVxjDi1FtU8d0jjEswZnVe0EIg9sBPGEyodyQQ1Gt4c8RqXCWU7pBrcEtIEYBebELoBuH0pIjsBQCBIPXBETDrLD2oH51TO","yA/E","7Q3A","5g/d","5g+j","gAVj","1RCC","EH8SrwmjBoANnQJvHtcEiAqhDj8BQQXpDdsD8BDkBEcCyBS/GKMg7zShBaEQPwHSEsAPrRHPDq8gTATFOEcSvxKpPKkPPEjTJd8PWA/TJbYKuTO2GpcLWBbPAdEB6SVZB8AXmAuqL1xGThfwFZINphFkGK8DyDjKBZYG6AGSCK0LogOrF70LVgbEApoLtgS9A2sgehFJHu8a2AePCYEH1wnjD1AFRgLeDuMBewheB9YVjy7OBJcgvk6pA68KZBbrDbtlPAGdBHAKoibOE0IHvAzzA84Iywg8AoED8xbiIIsLvwpUDEcNnQ7sAewH0jGgAcRfmgM/AUM0Rg","lA+v","/grk","YogrOgOREGqUBGbRCSgMuRihZIoOKwGO","pgF6","qBHIENA","qBHb","qxHj","+w3jogTF","uAuR","rw/T","rw/Q","rw/n","2A59AXs","rw+3","S+U","uw10","uw10","8Qu5","3weE","8Qu5","V2YlTxGQJGoGtQZCGS5rvA9OfW8NQ22gbcgNoi6jLd5RTWFDFqgL1uIBlTFGnwGlAWwGZXapDqBjWz7gXjyRAeMgyQR7CWAMtp0BhxpE","wgfIuQLKqgJy","9QE/hASOyQHIuQLKCaOhAnLKBcg","KaHMAT+WAWeeAb7QAWv7A5/wAb+gAyI60A","vg/Q","hA8i","5Avl","5Avl","mQnr","mQmy","mQnU","mQmz","yAfx","yAdd","+wPN5wKk","EF4","hwyd","CJELMxHVMX4EcSObEToMqgNoBpsBhQ3FA38LwwTMMa0dsQFyKHIBaRG1IokPmwLfAb8OrAzTOtEJ6gnLRa0CdwbFAUABOh3XAfIB1AuaJnYW6jiUM6wkgCz0H5wGpAYrAcsVWQqTR5EGmQO3IIIXiQ/rH2wBdysuEqcOdAPFBaonXgWoMbEd4gUeDmglngGrDKEkrgKLA3cDuA2wAY8BZUFhDaI+0RiGQK63Aa0ofQN+CuATpAJ8F8wHlhBoDIsR7kGoBHYBchS8ELVWswPfD88WSAZECT8tgwK0","kwH2mQKK8AN/jQda4AGIHLxEgAGI","kwHD","kwG7","VX4","0gSt","0gSt","0QSIAebEDN8","1Qbx","8wFt","5weR","7QKJrQKYa6w","mgW1","T+cBpqID1zv1rQyhmwH8Afk","9RHjAc4","9RHw","9RHv","9hHO","9hHt","9RHw","9hHO","UFI","8wFt","b6gJZvYDp+cB5BbqiQEs6QFSWaVPJzSsF9ggQgpaIzKfArZ+hAhf","swgl","pQKejwdx","U1w","U1w","2Qit","ANECOAHRAmkB4gLPAXMBhgHLAscB0wGMAdsBwQG0AnQCtQHGAsQBxAHkAcYBkwRiAYsB3QGvA4ABNAKnAT4DhQGXAYMElgJAAngBxgHFAoABqwPJAsICxAG7AcEMsQW8AnECyAG7At4BmQLHArkDRQHeAjABzgHNAb0F3gWrAr8DXAFvAa8CuQHXAdoBzAG7AbsCjQFCAcsEdwKFA64B9gHAAYUD3gJ7At0D6wjLAtAB1gGxAa4BlgEuBE8ByAKEAWACywNwA5sB2ALAAagDpQGKAtEBkgPKAZoC0AKZAeAExgGUAZIBvAF/A5gCzwE+AaAC4QHfBJcBzAHeA7oB4gOlAzwCjAa+AW4FogXbBHQKaQJMBHwHagHHAcMB3AGxAdMFcwHcA8wB1gJaAdQB2QHYAd0EeAbJAZcB3QGvArgB1QGnAakEvwHjArABMQHcAt8J5QLXAeUH6gHsAqIBqwGBA78CogOfAZ0CrgFgAZgFpgGLA4sKoAJ0AbABtAHSAc8BWQHJAa4D6gHMAroB3APaA4kBWwHOAqoBqQG5AbUBsAWqA9sDcgG2AdIBzgHeAXUB2QGeBZAB1gG6A7MBdQEwAcoB3gO+AXEChggvAcQByQLrAcMCMAHeAcwBnATTAXABvQLdA9QC7gXlAq8IyALKBZMBuAI2AeICzQG2At0BqwKuAVEDSwHTAewBtgGfAXwBrQHmAcQBMAGvAX8BzAS0AqsBNQHeAs0D8AGyA8ACmwUtA2UB1wFLAZcDtAbhBL8BSgHEAccGzAF/AVoCqwHIAscC1gGaAboB4gLTAZUBfAKXCsoBRwF1ATMBxwFgAuYEnQeLAroBvQHNAc0BhwKRAugBdALJAb0CtwGQA58C2gGnAZcB0wGsAbIDTQH6ATcHNgGcAtgD2QGJAdABVwGPAqgBmwS+Ab4BoASKAcEBwgHNAcECbQLPBX8BPAHgAc8DNgHXAdgBzQFwAbwB3gHmA8AFowHFAaABzQF5AcIB6QF4BcUDtwGbAaMFzwOUAcAB5AWNArQGvQbkAbgDqgG/AWEBowGiAjMDnATABPIB2wVqAZsB1AGsAcUBmgOpAsgF2gGkAW0HLgTWAeQDqQJuAbcCfQXhAZ4BtgF9ApwBQwGlAtsBswFnBMkB4QHVA6MDxgqvBFgB5QLhBVYCuAhmAm4B4QHEArkB3gHKAeQBuQHIAosDzALtAsoNpQLeBOMB1wLKAsACuwHRArgBwQJ/BvIBNwHGAjMCeQHWAa0C2gE4AasCSQHFA7wB0wE2AUMByQFjAZcC2gEeAZgCpAjrAe0BfQNFAWgBygFaAUUBwALUA5wEoAHJAc4EvAGmAcUBdgRRA5sBnQHrAeADnQGdAaAB1AM3AdAB4gHiBdAJqgFIATkBXQPHAk4D3gHjAesB5gGeBU0BbgO0AbgC1wI1BJgC3AKMAYwDnQHTBOAC4Qa/AaAB1wHSBuIBsgHOAa0C0gPGAeIBYgKqBHoC1AGFAy4BfwHfAtwBqgHhAbABqwFrAeIBvQJIAqIBdQKDBNcBrgLeBDwBqQGrBHwC4gIoAkoCNgKbAeICaAWzAXUBMQGbB5MCbAGzAdABUQGhAUcDcwIsAZoBsQLBA6MCnQMiBLoBkgKkAygBaQN5AckC0QHeAWYDjwV0AcEBvQPBAr0BIwGKAZ0CUQGTAXwBMALKAacBzgGdAd0EsAOeAa8BzgHDAecBygHYATUBrAG3AokBigKxBTgBUAG5AZsBwQJvATEBtAF/AbwB3wHQAScBuAFDBrkC0gHaAucB4gJjAc0BsQagAc4B6QHeAt0C0QFGAuEBVAF3ATYCxAF4BoQCngLOA9QBigEsAd4CxwHLAzED1wLbAZsC0gGxAd8BMAXZAsAB1wHgAfAEoAJzB6QB1gt7AdwHnAHcAtgCLwlRCXMBRwGzAS8BdgOxAUEBOAHCA1oBxAJtAsMCnwPcAtEBjALtBbIBuQOiB+8BtgGyAcEBwgLJAzECpQnbBXkEpQHMAkABSQFRBnID0QHIAsMBcQFLBFkDtAHFAXMBSwHPAVYDvgHOAVUCNgGPBbgCIAHHAcwBVQFaAZwBnALLAaAEswPdArQBnwG6AewCOwHoAX8EpgdAA6oMOAJ/ApcC0wFKAXoBJQEoAYYC6AGTAkIBzAHjAsUB0gHGBKcCwwHQAdEB1QG7AcIB7wG+A4sBUwKuCNQBvAEtAsoDoQGsAtEBvgFNBFUFrwNcAY4CdAHLAd4B1QGoAaAI1wK3AsQDzQLfAbYB0QF2Ao0B0wjlAZwCnQJYAU8BtQZ0AXUBVwG/AcAB1QLoCsAByAK9ArsB3QG1AV8BrQHTA1ICzwOSAZ8BzQHQAaEBtQHeAdkB2gFQAYcDfgNcApAHhAGyAUgBsAJmAUIBMQElATQFzgG1AawBiAGtAswBLwJgAbMBogKsAbkB0QJ6Ab8B3gNqAcIB0wKNAzEBbgIyCXMB3gGnArsBugHWAZoByALVAc0CfQGiAd4DLQG7AZECuwE1AboC5gHVAaoBvQLWA9AGogHHAUgBKAQwAUcF3gFpAucBRQG8AtQBcQLWAscBowGyAcADwAGpA+kCTwa4AeAG1AFDA9UB4AHEAa4B1gHTAqkE4AGcAY0EaQEjBSUBYANaEioBxQHPAroBvQK0AdEIgAKiA8cCxwEmAqECrgGiArYBvhDCA54CawG4Ac4BswEsAScBegOEAd4GcgHVAXUEdQTGBuwLkwHcAu0E1wKzAr0BwgKvAmoDLAIpA0QCtAKwAUsFVgrjArgBQQKxAUECfwiQApUFOQNNAeABpwXLA9cC5AOuAoABOgHCDNkBhQG8A2oKbgFKCbsHrQKKAuUFpQFKAj0C1AFSBGgJpQZJAakG8QdpB8wDPwTdB0YCbwJPCE4BuwafA0oBzgHTAtEBvw","AH8DkQK8AcMDrgKsAswBswG8AYICxwjmAyoDPQJsAdIB6QaCAnEEtQSBA84O3QtyAnsEtwjhA0AIUAFMAU8BtgLeAScCKgYtBCwBMAFDAjoEuQNeAq4EWgWbAY0BlQFAA5QBdQE1ApIHngQpArsB1gGMAb0BJwbOAbABPwHDAVwBigM9A28DqwKrA4oHsQK5Ab8CxwSvAlQFvATiBmkC7QFjA8UBNQksBbYCtwnPA0oBPgecBdwL0wGoAYgBlQFmAdMEcQevA3QBlgGKBy8DZgHrAqUCngG7CZUBMQG4ArkDeQaNAi4BuwUrA+8MTgOXAq8Gtgy0AWcBlwGtAb0B0wHaAZACugGgA0oBcAKBAcYCoQQ3AWgBpANjAX4BZQaWAbECcAPeAb0BtgHyAqwBbQa4AcABhQS+AdQC4APUA54ILwHTA74DMAGgAVMFnQFRAXYF6QFFBqoIXQPTAXICywbAA80CnARcAVEDUAG4AuUEzgFKCNsDNQHMAs4DrwRzAtoJRhGfAb4BKweiAUgEqwKsApkBsQPcB6IEKQR1ApwBnQLDBJ0FRgGZAqsBKgFdAdABoAKrAkIBgQHBA40BiwGSBNIDxwJWBaQFLAaJAV0BkQKyAYkCugS6C9sCwgOnBE8F3wJBAmMBsAG3DKIEzwJeAacGUAWrBk4CSgJ9E2YFoAFhA+8IPgKSAm4BdwQ8Ak8B0AGGAdAEVgdTDeYHzAJKBp4BmQGnApcBYgTQB8kGugE1CWgC0APJAnQCZwQ5Cl8G2wKsAcYBsAFPAWYD1wEvAacDqgWmAXMCOAS5B68JnglRAs0EYQLEBMQBpwLLAZsIpAKJAXcDnAnQCasC2wTVA84CRgGkBJ8BLQFGCswJxQKmA1UDoAnSBsIFgwJhAVgCyQWbDKoI4wW5AuACLAScAWYBuAdtATEBtAGjAq4Ddgq3A5YCfwPHApcBWAHSAmsFggNAAkICLge+AbwBnwPSAZwERgE5AcEDcwK9Ak8IXQVKAmcBfgJIAdECgwJxBzMBMgM7AyECIgMvAX8BMwE8AS4KuAQ6AT8BRgQzAZsEmgKsAqgCqQEcApQEswSaBogBVgFtBqwBpQVHBfMGqAO+A68CdgG1Bp0CxgPRAU8BoANTBmMBPAK8AukCcQGzA0MB2AO7AUsGOQfLAYoCpQNjBrIBTwGzC1oFzwcmBT8CcgJ9CjcBXwUxAtYCsAGhB10DigRGAaUDMgIrAToFgQKeASYCOwIlAiICvAW/A3UBqQEmAXAEjgulAkcByhHKBccERwWaAd4ErAGhA8cBuQLWB0sDKAHNBpsBogagBSABpgHWBbAFoAGaAS8GLwFKASgCSAFGBHESMgiXApcCvQMpAqsGawHiAccCawK0AaEDRQHBAYABpQFSAkoDmAHFBewFUwRPBIUCswGdA44CxghcAYECowHIA+YJZAJ6AscBPwSfAaQBtQMyASIMvQOpA8kBPQHoAXUBQgMzCCcGhAHGA14BigNGAY0BGQMgAcADPgIxApYCyQHmATQCWAIgASUGaQOBBKcMKwF/AycBLwKWAWcDSwFzAyEBxweeAkQS7AHHA4MBogTSAe0BlgFtAY0B4wMtAX4IggNhAUIInQEuAbEDOAExAWsCbgnCAdgDJgJ1AsEBrgFyAzMB0wRFBH4BaAKKAakJNgLVAagBcwLOATcGTQFXAYUBdAUcAmICjQGwFaIC2wbiEKUEtwGiA9sQvAJ9AYgCKQHYAdcBLgedAsYCugq9AucCcAHqA7oIsgO7AY4CmQOoAcYB0AGhAtQHPgpHAsERpAaLA7gCRAKQBzkIvwZuAW4FVQGsB8oGwgZDBkYESgm1CbcGnAJKBdAWww9IBMECPwiqFsECRgHQAqc","Vh6jBU50NWooBC+AAk+vASUdML4BJUwqlwEx","Vh4+M+wBMMgEKRonuwI8bSW9AVseJQ4h1QEx","swSo4AJQ","UHI","kwGB","sRBO","5wKo1Qen","0wp7","mQaJ","kAVh","twPx","vAqn","4AF0","0wp7","rAhc","uQld","5wLL","jAs/","Ac0D5wTtAlAB7QJHAvQE7QKAAeAFvgF+BPkBSAH1AewD4AFcAfECbAG7BPgESQHwBboG+AL2AnMB4QHjAWkCYAH2CKME7AH5A3EBTgLrBO4BwwHzAXoF+gHlA/kB1ASPAfcB8QL6Aa0B9wLAAfQB9AGNArcB+AGGBz4C5wP1A7QE4AWMCOECpwL5AeUBKQf5At0C+wOkAfQDmwI9BK8CqwP5A8kB7gGUAvICRgjWASoBPALsAfcC+wJgCvgBKQWdQvcFPAK6AsYBPwTvA+0D7wOnAb4C5gFxAfEB1gTkA+EBhAj3AekB+QbuBoAJ9A35Gl8B+QH5AbkF9wJCAiYBmwLwAsIT6wLCAoEF1QW2DIgC3gTZCPsByQGZAukCSgHCDl4B3Qb5AaQCoAN8C/MFQwX4CtQB0RDvB/cB5AFWA+8DZgj0CCUEwQTlCfgJegLvDPoCyAP2AsgFyBTiAfYBewH3AfYBQgL4A0wJVwFmCs8D0Ab6De8U7wNtCOIG+QP3FZgB4wm5A5oC+QLmAfEUhALrAfUFrAXZDPgDXxrlAaIG0gTUBMQIxxP1ATkG+wjTAvkB8wT0BfIB9Q75AdQDnwP2Aa0CVQVBAXYBhgPKA7wEzQP2BN4B+AF/CKcC8QvsAq8J9ALrH5oCiwLrEHgGzgL2BJQBxQGvF/QE8QSSBW0BMQHZAeQHeQezAuUHnALYCvYCQAHaA00CtQTvAscDNgH3AvkB7AKRAe8BpQE/A/MB3AGoAZ0GZQFbD6MB+wLrAvoDzAFABvoBrwP7AtQBxQGhAfcERQH6AdAB6QZmBr0B+Qb3AZgC+AbqB/gBKwM3BOME5ALqA6gGrQP1BT8B9wPxDKkS7ATMCNQLbQLlAd4JxwfKBDsC+QjZA6gB9wGWAdgCzgLWAuYB1wHZA74B3wX5AfQCUQbPBPsB0QH2CsMDhQQyAboBjwL2AfYC8QHyAuIDbwLyAqIB6AO5AYUD4wPuAaoBngLuBG8C5Ar5B/kCpgHSAfoCqA3OAvIBuQEwAsYFNQHjA0gE4Qe5ASgBLgL5AfED6wOcAfgCowL4A/gDygLhAbcC9gJHCPUBrwLpAaYBpwjQEfMC7wPeBvMB9wHPAfsGpgXGBDgCjQH4AfQJ+gTzAVsFkwG/AfYB9wF8AYYC9wH4AuQDfAHNAeQDvAXgAfIB5gH2A+AB6AF/AZ0GegNxAVoBWgt1AfIMRQHuBLkH9QHPAdkB9QGqBs0J9QLtCbsC+AR0B90C5wJEAfUD+AHsA/kB+wXuAakCtQH5AeoB+AH2A/kC9QL4AdIB/AGsAbkB+gHHAfUBqAGtAuwBZgFYA+UBRgG2AvUBpgHVAkEDwAKbBrsFqQHtBqoGmQT0AfMBoQKkAvoBpgHyBqQBRQP4AvcB+AGZAfMCSwI5AVEDSAL0AfABOQSGAX0B+QHhAfcE9QHzAfoBpQH0AeoB0QLQBtAC8wX3AfYE0AT3ArwERQL3B/oB9wP1Ac4B5wG9BfcB+wOdAtQDewFqAd4BeQLADNwMUwImBfQEbQHrBmgEgwXcAeMBVQF4A9gBlQG2AbUFhwR7Am8D8ALdAe0CmQFFAtwB2wn5BIUBhQWkAZ4PNAEpFvQSNxs6Abwi6xjQ","oQzi","oQzcJlvlAlYXzk+JBCkMfA","lgxLMVvlAlYKLg2MT38EKQyI","xwxb","+A2s","VVg","lw+Z","pAG+N5THAcZE70KjV+SHA4XCAX0S69sEnWVl","sA7z","sA6e","wAcjB1vVBSv+AXk","wAcj","aLRfk9UBeUqzaUnTAU97T/8FYbsBVDuACK8iYA","Vq4","Vq4","cpU","5w4x","/wyN","uRAr","lw13","Ius","uAbF","0wXPZq4WyQ","zwbJ","zwbJ","qQPh","ywJ/","+A1y","ywLWUFDEAZevCYcJclGaIEefAbg","bEI","ownH","mBG8","wQvH","wwLK","pgujOaY","rglP","5Aqb","/Ako","SYA","6A6a","wQt8","IuQ","pgkx","9g2O","7Q7b","pgWI","5AJJlAO9rQav","pQzg","d0fRCr8","wQuy","yAu/5QHG","nAM8","qQPY","wwFl","wwFl","lw+Z","pgVX","zwRJ","3gMw","1gkh","swhs2wlJ","uARo","mwXDAbMBrgGrDGwBcQFiAXEBZwFxAaUBYg","yAzP","swip","D98CxgTDAdMDpgF8Bm8K7AW7BcAL5gLZA8EB3AHKA9MNvQzhBqwBcQPvAXEF5gGjAdUB1AGoAdoD5wGVBOAKoAPQAtMCRAhlAZoH3ASXAS0BbQPCBNoEtgM3D2UCigJvB8YIPAPBAtgMyUhcBogI1APmENgD1gvQAb4UwA3EC6ER2AG8BdoFnAGlAdECzxWgB9UHuRnhA6sDRhWPAbsQlgrXClgRlwfPBUELvhm7C8kMwwW7G8QBtBLVAYEBfgvtAdgBmQXCIpoK5wbCA84fxAPkBKQEhR7fKccHnwTHDKUS1wKJBtMKwg2gCz8C4AebBn0C6wHMAY4CLgq1EKgLzwvbAsM70AiZGaILfhGdCM0BgQpwA4YDxQJPBm0GygSVAcoBnwO9AewBLQdlEc4EywPPATIGtgHDA2gFswWiAlAMoQeuEJoIiATFAnsFkQ3eNHMHWgm9DaAIrwOvAc8C2gG2AaQEogHTAdgEYgXKAZYC0Qe4A7ABvQGVEbcEygHLATEC2AWLAqkDoQe7A7cE1AaaBHYN8QJSAaEB1gOUDsoYtATnDNID1APEBXcK0AG6AtgBmAHJDs0LsgKvArkB4QfsAcABtwO/ApsBSwW9BJcNxAqJAcsBmwPKAugGygHRAYUI2gK7BKcC1AFHCbABoQHTC8AB0hjjAr8B3A+DAcgLfQLjC8cFiQPpBOcBmwWeA20IRgOiAeMBwgGqAqACpQY0Bc8C8AF3Am4SdQxuBN8CoQKPAsUBcwvNAucB5QaXAVEF8QGhB28BsgGzBMoBnQFuArsByAF2CtUKtgSXAoIMdAHZAdcDxAJFAZoF3wHRMbwVKQF8B20CyATbA5cD5gKHASgCpA","qhC+","qhB0","wAKa","SVYspzi0Lnd4JwsuFS4vfgWFGS8nsRx+TEmpAaHcAS7AAYYWXSw6O1FxrwMnC6AtojVSAmk/py8nCsoCKAU6IpUYTRBkAVoochBiC30ZhBchAjANgwLWIR4EshVcDO8BfggmBTQBcgRBC6kKZgYuDj4GbgYdMSQVKQFOEFADNwWA","wQer7wRL","oBC9","RXf8B5rHBkecAZ4","FtApmyOyCsYGxwWjA7Rtl2mxTMUGgJYBjUx16AGDO4ZdlaEBgiOPYdldnAo+Cl84kQdnF+4VmxzQD8EDUA+LATAdhQV1B8MCsy3CEk0HRy+WE2IgyQSAAZt3MhSyHU8BYwNG","sAyE","P5s","tg8u","mw3C","Yog","SZEZfE9QAzeMAWpAMEeWO1kBLSQ1jAGBDdMyjCifWYMkd1d9U0hYLxctJ5NAe3HaB3QKiSChBjECfLMBLAk4Hn4YbkJBDkoLRVs8GTlOHQ","nQakJn8","+w7JAcQ","wAKa","L4USixW9DMEGawRqAXEFJQGjArICtwPFAUwEyA2bBCgIZQGOEMIEvQRqEmUEbxK+AsQMK0hcBnkIrQPYEKgDwQvOAb4Umw2WC4cRrgGvBcsFUgGLAdECzxyvB1EZ1wOfA0YVbAGaEJYKrgo1ES0HvAVBC7cZpAuiDMMFihxuEtUCfgupAXIBhgW4Io4KjAaXA8sffQN4CEseyimmB2AExwylFDkG0wqsDXsNzg19A8wBjgw4EH0LzwuhAq47gAiNGU0LfhGFCKkBcBIvBkoGvASVAcIEmwHsCGURugR3A8YHsAFjA2gFswWiAlAMfReaCGcExQeRDYI0cxC9DaALaQG6A64BpASiAcsByARiBbkKjAOwAaEScwSsAcsDmAV5AmYDmAdjA3MEzgp2DboDoQHRA5QOsBi0BMgMxAM3A3wFdwrCAY4C1QGYAcUOzQuLAp8CuQHZB7kBqQS/AoYBLAW9BIkNxApzAWcBmwPKArwGygHRAYUI2gKnBJQCyAqQAYoBzgvAAbYY0wK/AdgPawGwDdALwgWJA2kE1gaeA20IRgOiAdQBwgGmApcCpQvEAtUBdwJuEnUMYgTSApUCjwKmAXMLrgIvAaIGiQFRBaYBbQdvAa0BrQTHAXIBbgKxAcALdQpvBJcCRwx0AtADvgNuBsQxuRZWB20CawRPA4AD1wKHA3E","hgmtngfD","iQsm","GYIwViBxA+UGQgNxCqAKSQOgW0u2BEm1BW+hASGDASUkPA","jAF6TSqaAZENn50Bv0t7OJ4hKgU4NS0fVAOaBJ4iLnFWDSoHk5oBZRxVGWUIJQyYIYULjRttclo4zAcmBIcBlSCQDZCNAScDVkxY","zgOFTzD9ATMLS48BNA0qiAE1GS8lMgorDiUMJN4BJtkBJwMlCCU","KprhAl8dYyaFmgI16AGe","Kkc","mQE1","KoDrBmk738wDWwcm","Kpo","rArd","rAov","rAqz","khDS","khBm","khBU","khA/","uAG17QErLk93qEbguQJOWbY3pRMx9AegCJVDnzHAE7QGsSK+","8AHIAcXlAcmODr8","1gNn","3guN","SrAJ2A","PIA","gwK7ygFvtwGSzgGaaihpozKZAYLbAoc1oRulowKlESRIKEWmWi4GnwTHQJU","HqoQ1DakArEYnvgBmeEGrY8B2SFGf90PLTWHBMssR6oCqQ","1wPcX9/gAspe50DPyQHQ7gPyAchgwAHEAcQBwAHAAcABwQHNkgOu","wQIo","zQHPEqNXoP0BffwEe9kDcXVHFmITazOi","2w+s","B9gBywGEC3sBjg3dB9UNqhKUB+EBvwFZDo42dAVIBb8D0gW+JegIngPYH+Qb1wOsFfcD4QzDBYIXqwXyAfYFlQbdCOVCvwHWGM0GhQLFL54C6jyKM54B6y5nBbUB0CyNAn4cIQq2DLs/mwNoFrsR3gigFew1IzHbD9kk6QLRJuoNwRDLEnUBkwNxB0kUmQncDuYoLASBAXYqwAPHCZYOvguoCuIExRWxC9IBqwOeBHoJwxuNEIQGKwa+Id0L1AjPDpsUixOLCdoh7wHwD+QK5wLsEpQH9ia/BacQzzB1POsTbAS+BqYBrg+yKtwV9QHEMrcJhFNSF+sMplXuCOULPSP0BvUC7AieBj4D9yXgEEYOSARC","xwMwZXewBSg","xwN/lQYo","xgJKoQE4djCqAy2QAZhFKJkGqw","xwMwlQYo","xwMwlQYo","3Ako","BkkUxgN7Ba8GqQOLEE4NYAlYBr8MQyhtBa4SWwM7AWsPpQLFATwBSAK6A7QvqBO5COMOpSi7E8UIpgOtAcMEqgy+LEsHYASmAp8FrCZhF7EBjQWsDWYEsy17DIMFqgJJI0oD0AmdEUsgTQI7A3MWRj+lDdEE5QjLCE8DSgKYCpEBrje3Iq8SSAFZHkELogTMAagFxAF+AYoTpBCuIbYWowHADm4D2g+bBl4F1QrjBq4Ojw2TA9skgwaVA7cF6BawGZ4V1gWsBaMLpwFHCJkFxB+BC3kTpAfaArQFegV/BbQjcguZAYIneCjGBqoCRwSqFWoQpB1DAXYJtwOUAaUGzRHTAUoETw2pB6MYxwWfCZcLswOqFYYB0wHRK2ERpRREJqcBPgZuA6UByAdNAXMIngHAImkEuATgBL8BqQLPAccLcQJ1EakDvgFwBdEGzASTAUwPugzxBLoLSBWqFZQBbht4CJwZaA6CDUc3SSSwDEUG5RVJBcsHTBNEE0I","hQ87HzwTQ1lI","dkblA2XiC80","vQKM","sQmd","K4s","1AEy","xghw","pAjW","5ght","5ght","kQ3rArA","igqR","6w2y","6w2b","lgdZ","sQ/F","6w3sAchgwAHEAcQBwAHAAcABwQHNkgOu","1wPcX+TgAo5e4UDfyQHSWEiEBUE","tAi3","tAi9","/Qky","9Adu","lgdZ","tgZd","AW8BOANtBD4BUgJmAUIDOQFJBToJSwM+AS0BQlY/TEZR3QfjsALJ0wHHAqZgmt8Bm6EBsAHMDssIQiNPU6GFAaRulzH1a9sPooIBrhOuYrxu6RDI","kgqs","ww+u","gwqw","Xi8LMAEfAi0DJwMlAywBLAEtAyUBLAImAicBMgUtASkDJwMyBykDJhEfAiwJIwEmAikFJwEtAS8BLQMnFSoGKKIEzroHxCwtCicJJQIeBycBIAEqAS0BKg0gAigBJwQkAykBJgYfAi4BMQMyBSGQASsDJAMcASIBIwQzAiQCKwEiAScCHQk4CSBXRQ","tA0r","zgSm","kxHK","8wSp","tgbdlgfK","zA1+","wgHaattLsdkBfIMDnoQCRzObuAFBM6KGAVGkAp5aoTq2ItcBzQ","J1kKUAi6FXcZnwVeCnEGb8QBeQYrC2DFAaYdQGjP2AGDP0sYoB+XedMMQy+2DiQDd0VVJHtikw9xOXwLMQMeDZoXJxCDRCgkKwQpC0ciKwJ1IoYtQxAZJbETRgdvNmEJ1QQoCUckMwouXG4UdS4pBqFCRi9F","eKcnwgiElQKaqwSRBoufA9OZBEI","nwG3CGw","MnM","AmgDnQtJH0ACUA5hBUEQWhihBTwHZhxtB7MMogV3B5IGqxVoGCsh7C55A3MDPwYoAjECjwsxCp8EqTVhBnUCdAgrA2MYLRmDP5IEnxjNC3ED4gmmOdIFyhhnEtgBNgGpNGkcnSY/B6kTdkBHLKECMgSVBygFKgeZCTgBmQVtBEYMkQdBAYoggzJhLCoadQdICXcHxwSkCKECngNxAU0WLxIyASwGag9WAbIJaAVCGDABngMjCmcKzQomFvQbOwUxFNAa7QrQCMcBxQNtA5ABZANnCicNZiQnDWkVLQgyBEcMcCh8CPYCKgLGD6kJUQ56AUQLoAGfBrwmeBUrFmACnAc6AiUHGSCBBKkEJQJTGuwIbgE+EEMFwxNVHDcRKAaPDCUCegdFA00KoAK1EJsSaTNRCsoJTghFEMsGwxNHLGgFQETBFbwBRAI8ATwNRRhOA0IMnw","tgrk","tgql","tgq8","tgql","oQZb","oQZb","B0sDhgKzClMHdgGqFXYgjAdbBKIdLBVBAqUFlAI1A8sBNgI8BaIBZQXPBqoBrQOkAaoCawKrAq4GoAI8ATwPJQFlAjwSpy5nE0oGTQqrAZ8BywSzFS0FoQFIA0gfQQSWBmcOTwQsAkwCpgU3AawExDGZD6E3ShtFB0kQRQidAYIDsBCsAyklkgFtAccRsANMEEAGRwexDMUWUwpDCUUFuQVLGpgvJxPNHysVpAEqAakdpQs/AZoHkghGA7QKNw5AAjIBPQI7FUoOcA3XGEEJLwE0BZsEzgw3CFoDMwymBMsRwBdiA8EDSgdAA5UHngJjBj4UVAiqA6IJdQOcGpkHJw+ZEEUJUgZMBp0CRBsoDsQKtBk+C0UDpgE3BEACJgdEASYMoglmBpMBMQevCZcDQAvKCPAISQq7EJ0TWQHyDfYHnwpDAcsJoxjQCboDbgP5ASsBSATTATcCSQHKHcYFmwGkBbYCugQ0CnMdnRnpCUcCnBI5BKwLQgmoBEIgwwOmAUYCqhNPA3gdQwI3CqsCygHRAqELSAK/A8cFQQWfCLUMRwFJBqoiugp8L1IHiApDBYYeywJPB+MXgGxMP+c","OqQB0jQ/Cj4ynwcjBUMNPC5jF68H4wFKJTgCMwvFSKAT7gFKAdsEQgKfDtMC3gTQDMs5egjDAukE6AHlL7QUezV+E3FJowUqCCFQ0wi6O+8phgaXSs8MLRM+A+E9hmWDHC8V6wwoEnECxQEtBTUmkSylLsUByQHIFnkqJBBHDaIK5QHABiQu2kMoCV4T6iTHBCMDQQE3GCgcck5vIZJaKxa+DUB96g9IJecB1wbuAbw","O9I","8AnNjwKq","8AnS","wwLF","iQTpjg3QAbw","lxHh","qwGL","GucbS0ZMAkIKPi0/LLCCAXlspHCXHfQJ305N3gKvcpYBa0TAVodPnkQqIMMCkQqaBKMRd0GfmAF6uQGpC0MhQxNGKs5b7A","Gtc","4Auj","rQrFAcQBwA","rwp7","B0uAAT4JKDRd1AFBUJnFAYaXAkNjpCA+rAGrJqE8SA6qbywLTI8BnK4BZCmvIB4JnawBLAEnGEE","bid5TNkCXNMLkA","6AU11Ahv8AEn","D6yqAnIBaYcB+voE9gHmbjnuA34","uwjDAeE","uQJyAWk","wQPA","wQPN","wQPF","wQPN","wQPk","tQJg","mwx6DdqqBLY","qAxC","0hDU","6gzF","qAyo","mwzxDZw","qAyc","5Qub","0hAs","+wh1AZM","ANMBqQGKAZEBsQGZAcIBiwGDAc8BhgG+AWYBmwHWAZ8BfwHaAX4B6AG+Al8BawGNAaIBdgGYAW0BagGIAasBuAGsAZgBigGdAaoBSwKUAa4BjgF1AXEBrAFcAcAB3wGqAU0BrwFWAZUBlQFMAj4BXQGCAVcEpgJAAU0EZgFQA8ACUAHfAd4BlQGOBF4CVAOWA7kBLwHJAc4DrgVKAmYFJwK6AeAB3gJ0B78BJgFdAYgCbQbcAm4CmgeDATcCYgHhAUcBZQGmAZEBMwFIAaMCnQJ2Ai4DhgGuAWcBSgGyASUCLgNJAWoBXQGaAXEDdQKIAVEBLQHGBMUDZQEeAm0FzwF/BHADJQPFAbEBdgFgBroJswGOBKIDpQavAZ0DcQR5A6ITmgJ4CLQHugGMA6YBcQGNBC0EuQGqArYCcwGLAb4BbAOTAXUDnwK5DLEESgJmA5sB2QK8Aa0BhgV0AXoH2QNsAk4GegZFCpEFeQHHATcLngE7AUwCwQV3BLYB1AW9AocBlgGPAeEE8ALTAukD1QNtAWcDSQUwAZcBWQSaAbABfQJhBqYBbAKQA0kDVgHNA20CswKhAY0BjgSpAZYFeAF0AXUBcwF0A5sFdAe9BmAIiwHBAdUDYQV/B+gEbQG1CKIBuAFZAdkCwgTUBJMFfAIuBJgExwhcCZ4HVwTlAssBoQJ0AYoBoAEzA3ABywiaAUYI3gOkB10HaAZnAUsBuwKjAXwBygRMApQCbAaAAaEB3AGgA38CbgSjAUABeQK9Cb8HrAKABXwLywOmBrIBIQHXAsAB1Aa/B6QHgQGBAX4BXwacAsIClwJhBIsDqQaLBpECcARIAsUBpQHDBKAE0AxOCcMCwgWZAZIBfQF0AWIBygGHApYFewW6A0cGjgGXAbUBnQNzAYUBmgKKBCsQcQKMA0oBKgF3AbcDXgGaA54BvgiYAaYGdgPIAaECqAPABz8BqgKyAcwBQwLYA80DyQGJAYMBRgGUA54CzwJHA5kBrQLUAYkBxQGwAkgDdgOZAaMCegFUArwBOwRpAZABgAGtAmYBOAGoAnMFuALdA1oBbwHNBJsBbAJUAYgGmgfKAX0BiwGEA1sBegRuA5IBtAHGAtoFpwFiAZsBuwPSArEBswOXAogB0AK0BY0R6AOXA00C5wFwAWoCcwKLAm0BegFCAakC5A2sAncEvwHTApcDfQXFBZQGnAHYAegBIwLHBE4BpAG9BZUCdAGTAXMBygJ8ArUBTwQrAWgCswTTAWYBqAPNA00DbwLhAtoDfwE8A5wBgwEhAUwCYAGnAlkBsgh8AUsBtARmAZQDlwR0Aq0EWQGLA8UCPgMwAXECXwG8AWQBxwKbArMDXQFQAU0BtgE9AWMBiwGVAqoCswG2ASkBbQTNAYIDdgLQAR4DfwSnA7IExwHCATMBxgORAZMBrgKyAsILiQNWArsB2wKsAZoDpgOhAbQBLALLA5cBeQRgAbAE1AG3AosBdAGCArUEXAZYAYgBggGEBEcBXwKOATcHKgJvAYEChATFAqMBWgG4BK0BrgHUArEFxAKXAZICTwG9AYoCKwKXAqACUAGmBDQDiwEnAdABJgLFAbADogTOAYgBmwKCAZ4CTAGsAXABJASaBnABggK4AcoF1wGGBjEBfAK2AqoExgJ4BdcCXASDCaQBSAF1AYYDtwPZAX8BcgFPAa4CqQZ9AkIGzgHCAWwDNQZ+AY0KZAFNAXYBpgGdAp8D1gGDAYADlwGlDK0DNgGdAZQBSASfAmEBhgFHASgCmAE3AUsCQgV/BLQBgQGdApcC0AKfD38BngK+AXcBZQHTAisBvQKMAjQMqAEyA7IDRwGgBGwDfgrNAWUCtgONCaABiwFsAawGYAOlAWkCgQOyBmEEkQRBApoBUAHjA2ICYAFlAqwBQwGDBMMDugNQAnQDVwE6Ab4DaQLGA8EBpgG/BMIBfQKhAUsEuQxzAngEOwIsAnwBoAG+AYsBsAEqAcIBdAJEAqwIpAKmArEBbwGqAVIMvwK0AdIDnQF9AkgCYwFhAZwBhAJ+BJcDcQGaAccFOwGbAdMBlQGyApYBmAHWAZ0BtAFOBJ4BWAabArYBsQFSASgGtQE2AqYBWgTEAc4FpAFyArsBkwGCAnYCyQLcAnQCxwGdAaMB0wHDAaACWgG1AjkBUQMdA24BcQVfBYQB2APKBl4BRAJpAYMClgRyAXICmwJ1AmsEsgG6B2kIoAFxAUcBtAHJAT8BWwGGBMEBvwM1BCYBigPEAroDmQTAAaUBzQG9A4ECzQN5AXgEgAWdBbwBrAF1Ac4BeQFxAXUErwGzAd0BlgHOAdQH1wJ0CGYDtwFIBJEFmw08A7kQoAQ9CUcCvAFCAWsDowKoBDcLOARjArkCowJAAqAERwKeAkgBSgPKA0wB1AVJBNIGxQLUBkYK5QSwDkkIbgRGAk4FQgZW","NYWFBmPNBZ0","tAPiAtMC4w","tAPjBLA","jAE7ugLi/AXKEkt34+ECMTpY","xgOu","xgOu","sAO+","2gN7","hgq8","AdsIVAFgAk0DSwG6G6MZXgZObpsKM0icHrMFngxDDXAnxhHNA4sPtCDeGqMETzubNL8ETArAGbEPST2GAZojmCGzJ685yQOtAjsnsRieAXsCbhVHDW0MoBifApwLmgSlJ1gKWwbQFLADSBEoBpsDUg1fDsULZQqZBkYKQho+AzECnBBzAiwSPB5KC50CvASlSUsc1wLNC2oPQhSnIK0GJTNHAosHPgJICIkRRxdXW8MBoQOdC3gPqUiRFqETIECWKoYEQxdaErsIQCONLrwGnBJ4GXEKcQFmBbQBsCm4FGwTbA/kBt4CnSo/ArcKrBFGEbc","ywTAsAy4","ClAGug9cDksJ1AKAAU4HTD86G0EhSH8+AT8hSDa7CkxBOJAB1gG2jQFFvwGHS4t6Z1KdDXYZizSCEYlJRwbCA0INRAdsJVA1fUNGAUQDvwW6AkYEQhl/GLAHjEZrDEYGgQlQPUAF0wSNUUIBQU9zA3k8Tw2QIjkpTBRELkRlbw","A9wCQQG0AbQBxQGuAskCRwHGAVEBfwNCAYEF2QLDAmoBawFwAYIC1gGmAU0BeALMAUMCrQGZAksBhQHOAkwCSQGNAUIBUQHEAWIBzgGMAagBzgGAAXABYQGkAbEBbQGHAbgCbgGpAskBvgJtAdsFxQHKAVoB0gGTAdcBfgHDAX8FSwM/AaUBeQNDAacBSgHXAU8CtwF0AT8B5wHQAUgBSgGgAcwBmQGKAbQBpgFGAaEBTwJ2AkkCQgOgAj4CRQOgAaoByAHZAccCUAJAAbUB4wFHAawC4wJIAbMB5AHrAcoD6QFHAZ8BtgHiAc0DkwLPAZEBvwFQAcQERgGyAmUBwgHdAXAB2APYAasCQQFTBG8ChgGmAbYBpAHRATID1wGwAkABqwI5ArwCwwFxAc8BlQGjAtMEhgFIAUsBZwHOA7cDeQHTAroDoAV/Am4CzgHUAXYCzgHwAnMB4gHFAo4DpAKcA7wBnQQ+A0gR5gJWA38DWgK0AtgC7wE/AtMC4AKSAr4IyAKPAowE1AGJAeYBnAJ+A74CeQLaAdUBSAKFA6UGtwOJA04DRAGxAtYBwQLaA0UCTQKbAYsD7QFXAWcCtwPYAcoBwAFKAY4C5gLKA9ACggGnA0wCngGwAWkBqQGgAeIBugiKBEsBcATRCfUJzwTQAc0B0wLRBHoHQwRAAUsBOAGPAuQHyQLPAoYB1wHRDG0B1wHeAtkCRwWgBqME0ARKBNwBnwObAbcBpQIsAi0DhwGFAa8BzgPgAdcHeAKwAXkGhgO9AUwCzwSvA6gCSgTNAb8BnQOAAz0B3QScAuoBfwFJAZUBXQJ4AlcB2wWXAV8DngfCBEsFRwHAAkMGngHoAUsEygW7BcECywOmAbkBYANVAcUETASRAl0E6gY6AaAD1QPmAqQBwwXYAa4B5AFgBIIBSAHlAk8DSgLSD9IBhQPXAXEFSgHlBLUClwFJAbsBtwFKCZMLxgXXAagD5ATpBGMBLwN5A9ABkwePAZkInQKkCOAC0AOjCdABmwXXAnIF1gJLBloFnwFZAagCiAGvAVoC4QTkAWkBdgFYAUIEZwFKA8UJ0wajAtADqQRBAksHnwPLAuUBwwSjCEIDlwLPAs0CZQGpAZYFUQF1AikBYgGIAlYBcQJ5A9ABhwPQCKgCaQHXAWQBqAFKBakDmQKnC4sDngV8ApkF0AeCBNQBcAZ5ATABwwGwAZ4CWwFwA70BrwHNAYIBqQFPAmQDQwHPAqMBQgHbBPIIngGbApABpgFQArcBtwKbAXABvwF0AXQCdgPMAzsISwGkA9sEmQRGAp4BQgGLAbsCnQaLApoNgwHrA4wGOQOYAc4ChQNwAeYDRgKqAZ8B0QFOA6EDfwPKA9wCYQK5Ae8BywOPAckGxgHAAbACwwHNAdADRwGoAaYB3QJNBNYBwwLiAaoBzQG9AdwBPAKMATsBoAFHAasBkwFcAUQBywG3AbgBuAHSAugD0AE9Ac4ByQFGBMEDhgLLAV4EkwI+AsEDsAVGAacBXgFYAa4BiAPTAUgBoQThA88BQgjjAuUBmAI8AXUD5QHHAm4CvQFMA+wCpQFOBZsFhgF3AXMBewF1AloGcQIlBKYBfQHbAdICSQLhAeYBpwFLAW0EwgFaAXUCdQJNAXQB0AlIBK8BvwHYBGoDWgS6AWQBRQHYBoMBdAHCAkIB0gK8AYwB3wGYAUADUQZsAd4CUAFvAUUBzwelAsQFywFuAaUB3gHpAdMDogExAdEDTAOvAZMBJQJHAYcCmwGfAXABzAGHBKkB7AOjBEwGTAPFAq0DSgLCAj0CjgG5AUcBSALiAuYEywLoAcUC7wF7A9QCSQHtAsgCWgPBAc4ElALQAsADfwFEAcgDZwKQCdACbQGeAnQBewKXBXcCoAK3A0oDRwHgAU4BzQHBAdIBwAHUBKMBQgG1A88DTQHkA3cGqgFLAUUBhwPLAcQFtgFIBKkCYgfaAV0BUQKRAbwBfgdTBcACzgQqAqAByQE8AXUDVwHdAUMBagGOAkYNngLJAlEB0wHJAcQBgAHOBN8FowNjAeQCqQGGAqkCgQKFCa0BmAFMASgBrAh3A5YBhQOmAtUCRwXJAaYCmwN9AuMBnANyAawDxAGsAb8BPgTaAjUF4wLEAloEwQHvA5kG4gOpAcUBrwLQAXkDlANcAU0BsQKkAbUBPQOdAsABggVkAmoBowKIAisCvANOAsEFqQKbA9YBpgGPAn0B4AExCj4B6AGoAsIBzwFFATUBtgFIAVgBzwGXAUcCRQW+AbwCbQGoAccBTAJRASIBlgNHAWsEcwNIAakBhQGoA0wBSwPAAUsBKQ+QAZ4BUwNJAUcCxgHPAeICuwFwBDoCugQcAq4BpAHBArwBRwFJAnoCoAJjAXkDyQG8AeAFdgHBAZUCnAHFAoQEywKVAbwHdQHGAbECNwNLAmgD3QOYBtAGywSpBUEBmAGSAb8BxgHGAdgBhwPaAqcE1AKSAfIDoQNnB1kChgOzAd4B0wFLA6cDQAR2AdkBywFWAnEB0wHbAsMDcgJGAoADfwGhAksMlQNIAUsFQQXACzwCRghIAUsE0QHXAkAEXgHCAj0GSwFHAcwEQwHCA0MNxgGyBjkBTgJEBEIDPgRHArQB1gNQA9cF5ATGAdEBqgHCAsYDSQJKA0IBxwi+A0MBSAVsAcIF2QVJBU8HRgSyApsC3ARQAlU","ugvP","ugvP3APU","lg+1","lg/U","lg+1","+w63AZ8","uQ3q","tQ+q","vQGHogNt1ANCpANCnQFCwAE98AFH","tw1m","qwvbB6M","qwuDB1c","IFEBqwE+D4cGdwR+A50ISg1QA0UEPgVGDiMJXwNrAUYBoAKcCEoHqQxDCaEGogJCBXQBjAGsCUgaRwJFE68LngNCFU8oSgx7EmMCTwtIHq8eywKmBz8DRAJxGEUOpAqsB0sHOgE8BksPugVTEkcKSha7AVEEshrTDXIBZA0+R0kN0gVFCkgBpwGUFUcBpgasLK4DSgw/HrEHlwpOAXIPmQVNE30DRxK0AWkKRgKmD0cfmQQuAjwFogQ8BWUJngGlC2cNvilDFkIHXAp5A14JSy8/A4EGphLDHUQDLA5FAkEEQgWtFawDQgVGCJsIngGZBKwCIwGzB4gITgYnIy8DSBKlATsE0wFLCzsNRwIpCkUIMQi7HZMBnge5AUQBtQFnBEgCQglMFWUIvgyNBSQIRARrFUsCSAJDA38CqwFLCDQEoAJGAaMEJQOlFGAESgVKAZ4JsQJHAW0Fmwe0F6sDPwSjAUMEbBSzEU8FTQKNC6sPuQVHC54IPRM/AqIDVgUmBkQCngSkBbAFQwR9ATwCpwGbAkgERgNHAUQFmwFgAU0RMxFGA0YBSAlQBp0BlgGmAUgBqQc9D0IBQQPPClEPRgFDAaIJhwRACScBcBAqC78NeQawDF8ExgJHB5wBQgXUC0QKqw5VFkgBS0dI","BUEJoAZLAWsCegaSBEgBUAd3AkAHkgK2Ao4BgAZoAq4DYgSUAmAFawFTAkEChwNeAr8CexCrBV0BUAJ/B2YISQu0AbgKQQSiEWAEZwFQAkMFrwFXAj0CQAc6CW4KpQStDp8LhAJCBW08lwWxCHwOYwV+Az8ChQJIDdozmQZlAoAZqAlqE0MFSwlGE5I4QANgC7cqyhZgIlMCPgFPII00nRu1Q7oQez1FJN8KswOsC21GRBC9D3AO2w1KBW0xRwuyEKkpfwpQBvkB6RM+C0MDdAmnIsYBgQ+dIEkdpxZqAmgEVSy4BrcVYQuXEnkZqgSAA8sJVwGgBFgVuAdQBk0doAFJB0cddgOyJUwGTxNGDlgBegZDCUAJxgOwDEIDpgSJBTwD4ANIAW0CiQKYBjwBngWuA1oGiQWZBbgo2xrPA2sWtQxWAU0HVAuUAbcCowFtAUEDMwJnBHoBRwF6C4gb2A1KDE8HqhLTAaIKZwhFAs0Y1YsBNiXcBtU","hwthpARxAXIMTHlB","UFI","jAE7","nw+X","xg8z","phC0","rA6LhQJB","sRBB","0QI9","jw/K","xQbd8wLt","uAk+","9wzU","9wyz","uAmW","8gFj0gX0hQSKBuQ","yQsl","Dp4GpgJ1BqEEmwK/A3IEoQiwA40MfAZ+CagBkQOfC9kFUwVrCWgMXBF6AXkN3AOwArMGwQudAj8HeQOwAnEMcALJA84CZwPSQJEgvgLMAXIBlQGIBJIDrwuMBLgCuwOoBqIDpAJ9A2oCsQhPDpsn0R95BoEF3QqDAeEFkwaxA5wCiQKaA9IPZxeaI2AOXhXKAqEElw6xFNABtRWwCYoFkA+iBWoGlAGgAYcCcA6NDLcBuAqSLrUMlQHaELIDQAvVBk0LsgapEKMErQa+Dp8PoASNAjIBWRumA4QNgAdGCpkBxwuxAbIOix+MAZkO3AHXE6EFTwavDWUDmwGiAYAFlwzOAZEDpQPFLXUOxRN+BXUa0wOdAY8D2AGjAr8BnQFjDqcMowNrED4BlQbYAY4BgQTEDbITgQGNCakJvQqTBM4FhAaxBXYDfQO8HHoLdAaWAmgZuQVoCrsGfxjNAaQNdwKXAooCjwmLAsgJnQvLKnQQnAWMG4oQygLNBJ8BrgWsAqUTnQGRAZMcngikAagY6QVwBm8TygKIEmgMqwTYCXALewFvCLIHdw6FAnYCfQGmAqMIpAlrBD8EugpiB1YOggy/FJgHhASEBF8DcgWBAlAIcQ56G44EhA7gCKoBdgFyCOcDcwWpAp0SdAXCFsNnzwXBA8YY5wjMEtMF1wfR","pRDV","xgzX","zQK6","NuibApbeB1qBBTYZJQ","Nuj6DjY","uA4l","kgHe","8QxF","nQac","kwrn","9Ai0","0wtq","lwFLjgHC8AF2/wLeXHZ9pjFduAKkowFRlAGQxQJu0gGE","4gHd8A/Q","GfAN42zVELUQnQI/KaAj3CHTYt3fAe0LZAStZnCpAc8V7TjIA+4cSDqrH0Ioph7ND/BepAXoC8800BNYfH8Lr1agDfAB650Bq0DzHJgasCrnPN7eAW4Z9mv1","xwiR","qg2v","tQ6zI4wBig","1A3Y","vgHY","oQUr","GcQ","AeASQgGrF7MCtgWeDqwPiQFXAbECjAd9QKgDSgLvAooG8wTLDt4CqgR3Ud4jpgF3B50EjR1JFdEY4hLpIEEiqQiPA7Y+30PuAfUGygh6QdBrty3nDMQEYAffCLoJqwdKCLgOKgHQC8gJ0gPXIW4QeAusDa0YuAHfFFsNnAO5Ir8T2jFrD0Nd0ATEFucYMwe5B88PuwbrAaESyR6aAp4GoA05AacdXiXqCeUjvBioVOw5t0pdBsMJvAGwCUcgpwqjCNoqQxPCJroDSQElB1kGsASFF5sFyTFMHosQgBvtAqFhSAH1A/cC0gnYAfUJTAqiOoM","vg+w","T1ABNVds","8AZ9","Jeg+l2n0zgOYbs/OAfo","mgWY","0wt9","BtUGsxRRGW8dpgROBHwB4B1RFugEqAOwG44DLAxpCbEKLgejD/ISWgjwBd0D3hRYAc8LtgJ5A54B3QKgCaACmQ94AbYFfhGWG+IB9ASzCXAH5ATzFnAN5BrXCMEVdB9LR/AESQfhGpYB5QZWEzUH9RGREZMESxHNJjwT8gXkLL4WTgI7C6Iu2hN/DYkT3gqqDsAQLwpmFOYB0Q7OAdQKlAY8DtAXmgTeBZw1OAHrFs0oqwghBbUOVgHeHJQeTRPIApoEthJGAqUM6BU+ZLsVkEHhB1MNRAb3CpwFTRtHCO0JzQVzAbIGxg2+Bp0FlwkyGGYB5FRqGzwEzx8zCGEXTRXuGTYIUwNEAc0B6gOpC7kE0AWlFeoHthC1GacIaRUnAqIGzQw5AvAG6iPMG+ML1w+3BbUFyUPTHUgZ4A","mQF7","mQF7","hgLmlQHh","oxJW","jxCb","sw/d","sw9J","7RHQ","ggOrAfIEYg","xgzK","tAGO","mwPh","OW/YBbG1Bu2ZA78","2wmW","xwi5","W+ubAl6VAvQB58QEVLUBR5cCK2GfmQNV","0AlU","AEIDpAZUBd0C4wLJCHIBxAJ7BqMBwAbqDoAK4xrYAt8MUwQnA7UF1QcmAkgBuAi5BpcC1ANvBOYBtAE1AsoD0gpnAUIBngHiB4UBwwGsDNcBUQHpBYoFRgK4AcgCxgd7BkMJKwE9BLEBwwHUBMgyjA/MAqwBsAvJBYQC0wmLAq8JrQPEA7USZw6rBPgB+gWXAWYElAJ5BMwBQQNQCNUDowHyAfAB3wLGCnkJlgLxAp0F0gHTA9AMrwHOA9ID8QHSBsAC8AfhFs0Gnh7sAnADRQTVAtQOzgK1BMQKVgfjA1MCQgO5EewW6xHlFM4FuAntAe4HsQFHEs8FoA3jAdQBngFtBFAPfSSmBMMJRhm6A80EvgzQDH4GngemB5oSZga3AboDRAHIBZ8C6AekDs0VwAX1BbACSQi6BicCzAjSAUkTtwHPBU0BgxCnFsAKzQGiDKYDsQLADJMNqgLQAWoBLwU3AeABfAFDBkgKUQW/AtwC4Ay4BLEHXQHZBd4G1gXKCEoBgA9wFrIB2hTEAqME1AK1An4IrwraA30BuwPDAp4GPAucB0QBgw6nDNYCogKYA98BewTlAfUGXQPGBLsD1AG3GtoOnhbKEzIC2gbDB88ErwSnAUQCcQFLCMMMqgM8G28IWAGrA84Dxgk2AUMGtApJBMkB3wGFAVcIIAEvArcDJQGrASwIiBqQCdIDLALoA7wB2QNRAsQGZwbOCjwBSgFNCIUBKAOoCqIE3gG4AeMBhwnHGFoQuAHZA6ULWgTrBOIG1AEqBNIBxARgAXMJkAEkF9UDugEvB7gBsgR2BbcCbhGBAkoBwAFDAbwDlwHMBLsDtgHgBdACsQKEAkME1QdLBKYHRwHkBW0F5gPvBegBKQPaBFMQ4wPkATcG4gJfBagZgAnLAawYLQk+CkYDagKbB9IEpAIjArUCeRcyAzsDMwGnAa8BwQKUDesE2gFLFEQBpANADjkBRgJNAtMDRgJLClUBOg5rAeQDzQy+B0AB2AmuArILpwXsFeYQRQq8BEcCTxJzAeMBuAM2","kAHL9wHtxgTg+ASr","hgPqAdo","1xBE","wAOfJ4o","hwPN","wgGv","pwN+AWU2vg","pgOjAcEB4xh5Hl0J4OsDpQ","qAM9","8QSD","ngdK","Y7k","/w06","/QV9","oQUr","kgF5","tgVo","lwH1","lwGk","9A/H","3AKjxQJ7pQfb","ggvm","oQWx","oQXa","tQK+","hhHg","qwFt","nwklzgMl","9wx7","NGU","gRA/","gRA/","tgbk","O5KnBN/nAzWGA6WcApIjbZwCNw","gRA/","6w2S","swh/","hwHnYJ3GBariAq8Bo6MBkC6mK4s","jwqvAaM","4gPRkgaf","vRC1","3g+E","gRA/","5gF0","0wL2","0wIn","0wJa","0wXiZuGwBPM","ckIBUgREAz8DPQ86KUIIRgdLFzcLSxBXigFKTlGPAedDTX1JJkmFAUZ/RAJOD4IGWg1NE08CIQZOHFKoAVQvRgxdQ1BWRjdQR1oiWmdFakklTQ","3QQw","0wW5ZK4BtAGxb4LBA74","+wHG6w+u","wwrj","xAwlCqSxAScYaQ","xAwlCqSxAScYaQ","kAFI","qASiqgKJ","T9sB3v0Bp01M0AG//gGmhwTrAfQrkK8GkDzlAs8","7wrXAfGYB88","7wrcAcg","C+hbRQNKSkAIga8BzJEBXge8D9sB2i0wTs0BVwHONdVZMJkBaQuAEsESSkDpPDM2zB+22QGkNzsirVWcEZhpswHUAXgBWkMZMnLzAW1Yuy7X","2APU","2AO5","2ANS","2AOl","tglX","kQSu","nQYw","3QOV","N1aGCF3fA76iAZY","bZQ","bZRq5yznM9OnAqgSwznT9gLNsgG3HcsNROQBjT6qMkJi1A6W","sA3N","E4oQ2hLjC+UG4AaVEsMJ3AS7BNwMsBaHAikC5iZMAUAEkwJlBdYD6gTcDWgD7yFqBdsOkRLSAfMFzQe1F6k/tQrtBO8QKwJCAXE/qQLaA+4QLzLjDHcT4gyrG+YS6AjDFq4ItQ/vJOACogW3DesVrQxZG6UL7wHyB54BcQTgB9gC7Ao7CuQW1CC6BcQB4AHvCuYhOghrAWMjzieLIO4n7g7LHaAOtRmsBfUJ8AHoGuMBdgFpCT0CpApoAvMZPRFNECgDJhCxGG0CbSdCHOsE9ASOENwR0gO7CpIJTANlCpEJdRnsBbcb1AHIF9EByg/jGGIFRSndD/Q8mwJDB38EUAmhNEYOLwLEEaENtiGlBeYMwQzWCPIGQwFvFUcOwwTqCtgBegXtB+UkuQOoBisHRgdFBKAN7ALXBN8B7BTdCHMB+AHuEOQGeQJMBswF5wjtBEEXRAT2A0QB5wNGBaMPtwVvJNkF7QHxAegHzA/VAW8E9wftCcMDuA","NciFEMY","iQ/S","pQMr","qAvI","ygHU","lQHT","ygHA","iQ++","3hCs","3hDr","rRCg","pQJ2zQ/rAe4","4QlE","rw2p","rw3u","4g96","ugbQ","lQHR","swyU","7g/l","vQnm","uwar","QNF8QA","qAvx","oAeTAe0","qQ/m","rw9D","uwXP","rAtq","xgm8","yAKp","5AbQ","3hDQAe2wAdU","pQLd","lhLt","zgGyrAinPSbpArlhoWK2hAHnOyjZAcw","e3mpAabCBp3hAbGJAZunAUUpo0ubugNEBPE","kQmg","xwHW","3RBKsgHu","kQN/","1g6h","uwXj","kwo9","vQni","pApN","6QPa","oQGEoAHzE/UFenjlA/ONBPOPAcIBTgHtBO7CAcRARwGacWI","+Qqa","1APgogWc","4QeD","4Qce","1APeogWc","uArE","0QPG","1AOongXPBKM","1AKT","4Qff","4QeU","4Qce","1QLT","1QL61QHvuAPGrwOH","1QLf","1QKz1QHE","qgTl","1QLG","pQdt/wgj","4Qfu","JLGJAZsKZI8BcIEEPogBo8oBmTCmpAGqanAGo3FxKJs8m1xYXaITt5EBfA","oAVPqQb30AHP","EF4","yQsl","iQjE","Ang","0gqWF527AaI","0gqWF50","oQYm","e0GYDUQXpIACNw","BY8I1QLGEZsVS0FaG0oDbgqkFFkcrBp7E6YR0Dm4EcoDLQG0C3sCygxEBc4FqRNwEtwM4gXeBHwizlGtBLQIPgZGA3IWfwvKA9cC1h59BoQBzCV/HkoGTxRHUb4s6hLdAUYb6AtLCeFWuQTKAeECoCXACmoIngjBKXFwfwmnAksD6AzhAnYQhwhZAbA7WAPmCbIwjTSxCZAHfwlLA2sUowhHFHUFWhrjAUsGQxTKBcYxpgqXCUcpSXDkAYwBbBuzUbEHfAnAB5gF4TqZF8UOrAHNGuJwvw","2A41","ow6i","NUsNmTBIAUoBlwFDAUYERgFBETsYRxh0HUsBSAFADLAF0QFMQk1O7ihWIpYRzyNmCEQa0AJdIEkCnidGB54EQw7ZJ9MetiGzEU4BSSZLc+QBoQpLCkgG8AL2EU0BSxJQBEcERghIMM0uSAhMCPIE7hmjKa0LegNOMzwFYwFGBkYCSxm9F00NRTp+HUQVUwTBE0UGrw9HCO4BShFMA0wBUQjeCKcHRhdJAdEaSQrFDFEsSgpRAU0BiiZNK9IknQZHF0ABPgtCF0URSgRRAkYESwlEI00BRQKAAS4JUANLAuAO0gK0AU4MSyhBCV4CRxRIHM0CRwpJAUUBqB1FZ+0","ogl6","/g7Z","pxC4","pQ5s","5Amn","pA50","pA5H","5QJ73wiQE2s","uwuU","rwlx","pAyi","oA4g","lAFA","ugaxAbOfBbUEhQjFAcdixAHQAckBy2O+pwJv","wQdJIJz2A54WScYCMEgv1wGiK7k","Xi8TXG6jd55HPQmf2gFjOaLJA8ApQ0KGpwGYG08JTwqWVXmEAUMves8BpUCb5gGw","BHwI1AajAksKnAdHGdoCQgmyCFgFRRKkBLcFaAFtC5wPoAZmBZ8BagOtBGMCLAZAAm4EXQWdBUMCuwJzBUIDPAlGAmYKPgJNDkQOQgRxHK8TewOBAdECmQy0Am8Cew58BKADpAWCBK0BUhTbAp0NixlrAqYFqQilApIRxAJtAi8RpwObA8AIgAl9ArIEdArUB54EoAZyAucIcwHOGKkIOglaEscJ1gMyBCsBQgFmDJI0uwE3Aj0BZAGSEZIClQdQEcEXpgYsHbYKhAhJDD8VhCOuC3QCtgJ/B5wC4Ae+DLUTrQFKCYYHiwReDJoEpAuHA1gFRwSiBFoLsAJxAXQBWQZ5BqEKogxjJLwMhAqbC8kBpAycB4cESSQ/FacGngSqAqMGaA2jA3EBpgtLBKUCaAbDAbsBTQRpCFYEngekBDICPgy1CKAJKQXNA00U2gFOATUXXASsCLoDwAecAaUBTQXMF54BPgOiAUAGcgJCAakCpgxVEMQKnwS5AZsGrwSiAaMLbwejBckJtQKCA0IBbAGvAbYElArEAaAQqANFC3gCYgNNCVcNhgXOBL0DbhlLBUgGcQOkA6sJmhF+A6cGkgGnBsswjQmmAUEcyQHFAu8EqghBAogMmwKSAaIBVwVpAcoOQwiiCsUGTQSlApwCcw6zB7wQbgU/AWMJiAJuB0gCbQKVCXIDnAXAApsToQOwAY8GiAGiBDoKiQGgAZkBqQOxCJ0CcAOtA74MyANqB9MFpQFxBVIj7gJHAnMDegO0AXIIpwp0B0gBvgnNApwCswGvF8gTSQ64B4cNvw3RArkKQxDKPZcfNg","7grM","9A3prALoCpw","mwGD","9Ad5","DNQ","2ATW","pBBz","uArV","cWg","oAdK","AdwBSRFVIsYNSgNYAUoNZg/PG0IP8gjqAu4BSwROC8oS0wJRAsUKpg+zE2sCiAiaD/ch2iRbCk4mPy1yBEIBtAnrCM4HRQduAvoB+Q0+AokQ0gJxDuECZgeYAbUN8DFMBn0WRQHbE0cX7zrJAXAQYwH3JUkkZiq7U7sQyxHWB0kMQwFON4YhciaGDCENRwVIAfAC2Be0AUkZqQutLEIweQO5EuEeThFMAc8p4xt0G4YBcwa5F8EFYgO0FdQRqA4+Ak4BiwbLAUQKfge2BklKqgRJHd8PRhRJAUYCxAuKAXYBcgF6OUYmQhtNBn0ByyqgDGcJRwptAU4e4groCH4DXyCzFkUGfQ/NC90B2xFLBS8CQQuuAk445grzLqwD7gP6AdwB+QH5BYlHTgXmGVg","3gSu","3gSu","6AFEOtqyA9Q","jAHY","tw/a","lgHd","jAHd","2hCY","ggjdsgjN","swKeJvABrQJIVLE0YgFnUFAtf12ukQKeHIXWAoxP8o8BrRnTIsAQyGyf","2QKRAaE","sAOx","/gfM","RrI","LUsptwnKDpQZQwdnArQRahibBbgQaQM7BGUMdQGgAcACegFpBaUBvQ6kBZ4BvgRgAqcCcA2aCXEucS6zAmAI2gKqAWUBqgfMAUEBRQW8CpQOTR5aCK4CqRpGCa0EWARYHakCXRpREagBMRKcDKoKsw2zAWoBtBXUB8MoRQPRE8ERpgRKB5cCaSlPBW0iTwFjO7YHXxCdCoYD2gGXAeQCyQPIA14GSgqkBdMCvQxFCDwLpASlG4EF2AHdEKIK2RTiAdYKXQTfCLkEgg5HArkJxwq8B9IB1ASiD7MGoQa7A4IDQwzUCc8PowohC1sCRQJQCcoBoAHYAp4DKgeoB4oB0xmmBSIQIQIoDnkBvg29C1MB3hCpCEgEOwGhDkQCQwGxAdoLmgE4AqcWywFpApABxAO1AtEFjAGTBkoFqg+IAZYGkQHMD0cOuQGIAtABzgrPAaML3QHeAVoToAVLA84idQFjDD8DfwyhAUkMlQ81A1IBWAG0CCgBqQ9ZFU8C3AJNCb4HYBajBqQBmwKoEH4LQgdlAZACkwI8AUINvgydE7IJrQvNApADlgKSGWcFnRCdFUIPTQ2uBNULWyKxEboZsx+xGrQFwgS9AbIBwwS3Ab4DlQ65AbgBvQvhAqYEvgKvAcEF1AGHAawGsAF8AbYBugPAAdgBvAG4Ar0CtQHCAsYCOwG5Aa4CwgO4AboCowOyArIGPQ60A9EFugK9BOADqQTTBKkGuQGxATwCxQOwAbEBugG5AcEEwQG6Ab0DwwSXArwGvAS3AbsFtwGyAb4BwQGsAq4","lhDW","vAF0","B7QDUAFXDd9vQhXcAaAC8AbJAvULswhgf6EBPgE/Fq4IpgGfCEMCORikHXVURj9OES0ko58BzCJJGdA4pkBbAnEbRQbtC0IFyAH6LbQFuArOMMwgdjBKAVAsXnjgXncYkxCfDXAHVAGkEVAbRQNICF00UATHE0gYThqkMuJnRxSwB6kvSxBlCIUHQhalDYkLYgk8CYQPcQHZOIpIgA","nwFsCGw","ugFg","5wf5Mrg","sgEj","ApADQQG0Ab0BvwFOAkUDmgHRAX8BmAJwAbECVAGRAdUBugHGAUoB2wFqAdkBUgKgAWwBxAHIAogDqwEwAb8B6QN5AdMEZQN3A6gCxQeHAUECSgTEAXYFQQO4AlgCXwTdA60BSwFQAdsBcAFfBU0CwAGBAbUDtwLAAuABjgHLAUYCdgKEAsYCfgGsAUkBeALKBpoL1QHjAc8BygN6ArkDlAFqA6sBSgPdA7kBkwLUAZEDiQFIATYBpwGjAe0DsQGkAbMD3gHeAXEBVAGzAcABmgKmAc0CsQOtAq0CswFSAb8CTwJVAaABWQGhBkoCoAJ1A90CRATNAVQGuwJDAUIRpQ9nE08CcwiwAdEBpwFIAo0BQwFCAVACXAKgAZoBPwKbCuMD0gHJAroByQJUAZwChANJAccESgNFAbQFsAo5AtwB0gmlDNoBqgtwAU4BSwHDAcUBoQXTAagB4gHSAUkBrQJDAo8HnQy6AtYFwwKIAcYCegOaAeQJQgG3AoAEuAGwB1EBxQFVAkkDnQGTDdQBWAbXAcEQzAHOE2kBkgSpBoEBjAGaAdYBOwLOB80BsAG1A8ADuQhLCJ0BrgeFAswBsAPQAmkBlAjOAZ4CQw6uA6wHhwTTDt4CSwGoAcIBxQHYAnAB3wPPApQC2gO6Ap8CsQp5AccBxgGtAbMBWAPAC5QCzRS0CLAMtx9PA94C4AKmAUkEoh3fFlkBlxKYAUsGwQajA9AE0AO7EMgJrgKnC9IDegaPAc0BmAvVAqMDQwOrAaYEoQPfAb4B0wGeAXIJ1gLcAqcB0gGYAcoBWgixA8UFVAWjAVQKSANHDuECaQ7jAawF1ATIBcsDwgZlDKwBmxjWBOUCOwXHAcsD4AKYBJUFywWCAU0DVQFOAUQFygWdAscEugKuCd8B4QFQAuMCmQGkBpoDuwXiAdIDtgFtC7cBVAFTBNIC3AKdBdYB5gRUAasBkgGtAlwBvgOkAbAB4gzhAdUKxwKjCs4BmwOwBa4DsQ1tAdQBpQScAUwDswNaA70HTgHXE78FfANCAZoDqwGaA7oBSQbFBVwE4Q3IBGMEoAPhA+oDcQTdAcYBqwHJAakBpgGZBcUIpwFIAqwB1AHiAeoCLgZ1CdsGSALRAagCpgKwAbAB3wKtAaMBwgHVA3kBngG5AVoBVwXQBFEFVAScArIBWALbAlMD3AJiAaEBUAKoAU0GeAHRA8UC2gGiAbgB3wGlAl8FRAGlC3EC0gHgA0sByAHTA5sCnQLTAsgC4gFKAtoDlwadAnICxgWtBbABrgKfBFAHuQrPA6wBswHVAnMBbgF2BLYBRgG+AbMB0wGfAcEEUAXAAuMNegFgA+gDagNYBL8BtQF3AeMBzQLVAYwBtgGqAtwBYwieAmQDxwHVAm4DZgJfBKkBzwNjAWoI0wGzDFAMpge7CIQBcgRjA3AHrAJlC9MCSwJWBHMDtQGXAU4FqQTFArcBXgOvAa4BxQKiBbQCcQKdAUcBSwGoBVcCqwPZAdMC0QJEAa0KpALJA6ICfQFrAmUDYQKkBUEF2QKgBUcBUAFjA7YC2wG2AacCVwGdAVsB3AGuAdcB1AKzA7gG4wKuAcQCwQKiAaYBeAGqAUEBcQOfBqEG2gG5AbAHqAOuA0YCUwW0Ak8DagGBAkUBpQK5AbMDZQaqEsABYAJqBskQugXGAcgDsAGoAlIEuQGjAkECrQKiAaIDsAtQApkBSwFMAaMBTgOmCbMEdAJUBM4DSQ+XA8EfTDjCCM8muyiXDtw","wQ+0","HqwFbS9iH5kCfTmxCHFCV2RWT5mDAXvuAWMHRi2XT8g3mUG2Hl4UPiq+IoMhxy5mBGkNvUWNV3QEYAelDoVedQGdCKsaSkNIEU4NmAybArAmai2uEqtFVDmKAZ8gojuBZ6Qagg9A","zQmu","nwGwCLA","nwGECGw","DFkNdARNAlwGkEhCBn0GawE/AvARZxBKBVEBngJ3BUsDTAGzAkALSBGvXdASZQSgG0gCSAX4A5cYhgjzBcoEfg5QC2wZYBiVEUZVWis1BT4BPKABtjetHOUfkBOXD+AOiw+4ASMEjgxFGkkcZyBTAYEMnQFODD8KRDp5F0IVSQKjHq4QQgxIEYoNQwFHDiMBiR6iEN4wpzS4E6kDQQGeBHkHvAdRCEwBvgVMBaEqqAGwDfgZQwpHDvYB7BJKB0oJQhtbOtcBTR2qFz0BOQ+nCUoG9AhFF0IFnglNAfgJTxyfCmkGzQJIBUYdnwxJF0kNegVBAYQO6APwKUEJ0gpECKYI0wSMBKcCnQNIEZc/rlw8CrAUvQ","LWllRw20CLMHSAhcBUgEdmpzELQB2AHhBOGAAeGuAdKTAugVSLABQmFAV9YNatMBTBBJTawX7wH3hQFFJz1IQQRNNkvmAdo","/Qlz","nwF2","0gzs","vwJ1","vwJ1","ogfI","hANp","hANp","0QztAb4","qQJK","fJs","hANp","0Qy4","uwI/lgrV","X0Yw3SbwxgP3qASD1AG+9wLWAb0BXgFXAmIBXjnMZ/h2G2rz","+wTX+Qvu","9wq+","X88zRyNeKr3IAWkBceUB9AH4pQOdJHEBcQFxAXEBcdUByJYBUTVaAloBWgJaAVrJAU2AAU1KeZQC8w","jgXpmgzH","jgXH","XzM","vQxl","lA9Y","lA+r","lA+r","lA+r","tQHr","tQHM","kATO","lRCy","lRC4","ClAhSQZQLpYDqSlCIaYCswQjD6CPAaAySsoBkRm5G0YkZR+vYtQsr2BHC5oMRixDMKNdZQRHAkx2pRG3XMYifzaWAySpAWQoqVw7YcMwqS2KDpwHHBSwV0lARC3hBY8L1wijB0BlVg","pgGjGcYPmSHA7AJl8AG7J46YA5vbAcQLcokBc8wCQCOT","5wRL","xQ9A","igqb","tAE/","kAFIhgEsjAGgtgUlCEZsTeoEJkxr","brY","1g67","nxHr","3gmzPCjmA0EyRgpG","CKQ","4gf4","4geY","tgaIswX4V+GMAfA","iQXo","xAwl","BssYLRreRrA03yCjH+w22CXWEt0WowjNHM41sRazPizaAdRXiWDEEJ4MuwZrQ+Uvt1fuEppTxBp6Dbwy1BC9L6wMfRyRAiYGyQ1/GLYgwwbWHGcCyRcvIpEHuyGZGEoZZAbIHK8z0wyNNtAFywLFDlgOahLLLcMFlw3SRZ8VNxszKaQHuRi1W+UMzQrCBccRRg","PFcBgAhiFbYJYgpkK0kNdRLnIWEd2okBbCWXPeMB5WZOeGjoAXMvyAtJoAFOKpIqlxGkGWGDAUEOSAtEPX4rQhx3AYFRbYcBHiyyWC4Jlj1TZXocYA","9wjBAbY","igjCAcEBuwHEAb0B5AHzAcK8BMM","jwi7AeQ","nAv3","nAur","zQx+","kAjO","ME8ZskSCOkoMb+wF0zrU9wTNwQO/","jwibAZw","nwW3zgjj","7Q2u","7Q3q","7Q3c","7Q23","X4UYfRGcImUQpBhECK2EAYUWP2qbGa+vApIsuhpmWKoqt/ABKETDCpY4byIqA61LdTeZKZ8uaSgvaYRFpwFLHToFg3xv7gGRLbc","8wGZ6ginywXq","A5EDXgRQB6kCQhFNDrkCey9uM6AetARoIKsdPz7BBZwcZwZsHKwB30s2OWYhShpzGLANSAd/McgMpgGKBD1OjAfKMFQxdBlKDX1XnQekX2UIbxF5FZsogxlLKpYGQiNBAX0pkgNSB1IitgRJDzsLqDWsGa0QRCBsRbcFxwehAUcpnA2nOJ0USxo9I6EQlxClFiUKoyeoA2sOlwJLAkIcgRlHA3F1chIkB54QdhY8GUYaSAs8c0I","vRC3","vRBT","zA9w","/AN5uwGSkARw3wGzFJ4TnCapmAHHhgGxV5pPWklUEj8M2gSRBFc","kgq3","twWSvAaO","BkkLSXDnN2gORsUBkc0BzL8Ed3fdBI56+BLyNnU2yAwsW34vcKcDzjo8","jAve","wwtM","rwpu","xBCe","vAawgAG6lQLu","0Qmz","0Qli","IoUpdjOSGrMvb4cCeH6RlgR4hAHObJw3oroBdThr/wFxAYpHHEhuDM8","vguT","DFkHTRvJDbIyIwgsCF0Wox9DFIoROTBGCpwjS244O6AK2C3HCXVAmUW0F6wJpDaxuwHZF6AqQwZxCmnMAW0BSBNrGCgHcQqlUs4OqgFDBdAFdwIwG0KCAXkJQCBEENUCqzh+FkUrjR6yF0EVsC1vXSgbMN4BPQRGA5E6tC68DEk","nQvY","nQus","nQto","mQLlbug","9QFh+QK9NDerBbPTAnC3AYY","5xHc","EuA","pwfI","ugKfnwyi","X0YcYySYNkWuBUeWA6GMBUQjYg","qgOLKN4BpA","qgOLKN4BpA","5Qxo","/wSa3AJ3swaH","2gM2lQK47QVJDGA4Zw","lgy9","VZFeqeEOzg","2wSM","2wSM","kwGB","nAfs","CekGqgGwC34lky+zAjwMnBuhAkECmQaEII4BPDJ1BmAmoCJ5CkoNSBvPQcwFuyNgApAKZAReKIAYSwO3Ac0PnRadCZ4CSgrPAaMTfiSaGHEVlFFCLEQMlwFDGKYF0iLKIZ0PRh2RBJQCngyjAaEDng/iBMECxQSaA3oCmALCAV4B6QHwA6ATmyKbA38PnRjABL0VQgN+BlQcnQOSA7EFcQ2sAaATZhZGCEMZZxCxBpoSvRRWLbgIsgS+KU8HrAlrHZ0CJhCJAaIGnRcoHkgHowxsFD8OKARTA4cmqhBLEa0ByhR8D6oIYAJDDoMaOBaULnsEhAktA6gDnR6GFMoLyA43BToCnAKSBdUaQCbJDykGqUFHQYglowOeXlU","/gPlKM+DAmmVBreEAxw","wgEzswHUpw66Abc","8QwoqwRG","hgm9","oQGhN38+LCk8mAFo/QNr0AHqO5/gAUIccIQBKiHDSq5GWB+9AngocUaKXi6JAUokQw","HrAZdwmsBkoFdiF1Dj9NuA6fEZsCYg1DEqUNfDmcEZkMpALNC1MJsRqiJG0B6z2pBp4KyCdAb0gSSQhxJtEGcgejDIgnLxrNGLwFqgdzIJ5URwd3CJ8BsD26BIQBVgxqAmgYgSKWDccGZQZwDEABvhKnAmgEexx9An8QRQShAp4MPQZ9A6EU2g2eBXcBuTjcE0gjZgtaEW4OrRFRCXcEQBatBz0HqByoDDYiowOjJI4LgwR1B3cSrwVzB0MgSSSsBDwSwg2hFkcYsQORBJ0mSgR9DikGoQTaDaYCNhB8DGgHrAFyA4ILqgI6B6QNmSaYH2QxsA18A74SlQI8QEMy5yHAAT8","tQKbmwGdhgWligFo","vwWj","AYEvmYABzJYBK8MFpHzoRLGWAVaaAYScAc4QesEBZSqo","lQ17","nQuc","4we8","MJk","pgGtZ53TAjkOp0Wp2gXSkgHIdrD8ASY0qMMCuw","zgnR","hwxRB1g","zgnR","QNpVfKwBw4cBgRDLV5CQAWWVApeJAc4HcGqgzQE4Sl6PAUI/UGq9HbA+s68BpQ","+A6z","yAOB","3QjOB3A","9AxC","2AN/","1Ae4","1AvkFNJm1sMB8Cu5","zgyx","zgyx","6At+","6At+","kQ65","kQ5p","kQ5p","kQ5p","X5ZGnzqjG8J6nS6gHG3MB5xScQlwG2nwAkiyAaR0ow","U1w","M8st7oIBzwGdGddAnhnpKU0lZZcCvwneUbiQA91u80X0hAHiAea+AbxIQnfLOjwMxLwB2Hfs","kw88","M4s","1QLW","1wrc","pAni","OzsMZgVtBVmdAYIKggWDB4MhzgmEjAFmA1MWT0OAlwGRmQGGIZBkiBtsAmVVXYMBQgNqFEcvlHhOiAKF4QNA","swjR","vg7Q","pgFr1wyB","GsroAqoBpwH0AfIBpQGqEUGJA7NS6yqCjQLhUqgdI5oC7LIB98wBJQXLCPE","nQcv","swzA","tg9x","vg/l","hAPF","hAPFAc0","tg/Q","oQaK","vg+C","5Q3L","hAPG","hQPsuQyu","swwx","8wax","5Q3s","5Q26","pQdtpAFxZZupAp5Yn0NLvAGiC5tNpg","2BB0","4wf4","4weQ","cWE","7AnF","gRDd","gRCu","hgXywgf6zQPg","hgWx","yAya","hgWx","yAyw","yAzT","+Q74","+Q5W","AFABUAE4AoABqgKqAp4BUANvATkBbAE5AccCrwKAA3EHqgHGAmwBLQGWAYUDqQI0A2kBXAWqAc4BSwK0Am4BxQJXBEwCQAGtAbUBPQhQDHEQMANFAzoCPAJ1A5kEpgG0AWcBXQGSB6kBKQGxAYMBsgN3A7QBxQTGAl8CdQE1AtEHWwJHAYEGOwEnCV4CZANwA5MFQQKaA6UHugWTAy4JdgcrAlsFTC7SG0ULKAJEECcJdQIuATkFeQF7AtUPegFgCTAaawFQBMgDSgTYAbYBngmeAXABmAOTCC0CLwK3BJwHmAE8CmYGigPZBGwBhAGHFE0IYASXBZwHRxVIA50MZgR8CXAQWAMlBKQEqw1yASgEngN6D9oBrgaeAWcIpQdNBX0BbgF6A0IBig5LC5YCcgGWBYEJSAZtAosNoApKASEBrAFqCGICTR6pBisEpgI0AT4DaQ1hAWQFsQd2BIYG6wWjB6oBwBSfE8INzg9fA8oFJAI1FaYEIxJIAi4MUgEeBEoFSQVIAc8BtQFNBpsCawZpAlYhbAIvDmwCrQRIBScLjQpgB30BgwecBOoDbQKmAkgBXgGjAUgJ4wZ3AZwIzAZqAWICnwYuAlQChQRBAzYCVAE0A7MDJASJC2MbWAJjAa8BpAEoBS4FTQafAnEGTQd8AYsBawQ+B5QKoQakAVgFphZMA04ClgM1BFwEvgWgA0wDJAOXBksGeglBAWcCSQFDAkkCSwxHB2ACUgODAmcDpQQ/AsAFmQNdATEBpwGjCCYDlwIvAUsQVAPGBKQEYwGqBK8EYgKnA3MBUwJzA5cBKgOHAzACbQFHCTwFJglLAZwDeAlIAUkPSwawAbQDQAIxCqAFpgIxBjQEoANtA3UBQAGQBF8Z0AE/AmgGgAKMAbEBZwKfAs4BjgUmA3EDfgPNBJ4ORAGnGFwEpAEjAkYHIwIiAWoHsAciEz0HPA+dAXECHgOtAp8COgIqBE4BMQGYBMQBYAWJCsMJ5wGmAnYHhAI1AccEswJwA0YCdQWeAS4BLwJuBG4CmQ01AYoIfQG6ATYEbQyXAjEGXw9zBEMJpQV2B8MBPAScA3QBlAUlAykETAQ6A3cElwEjBK8CJAGrAc0CJyerAnUJJAoxC1IBZwFWAU0BTAKfAoQHnwJXAXoDdQJnA1kCQQS3C9ADYgJNBFYEdQR/CH8VpCBBGsgCQyCzFKIfuiFG","tQGW/QWP8gGnaR8fLw","oQFDqw5e","4gJsEiTOA9GUBfd76gJWAes","Y2LTA3M4KYUCpl44DZWAAawzrhmhSY4nQiiWowKevwJovgFHMUAURD5G","oAHBrwK8","vwOv","tw6u","tw6u","tw7z","tw7v","tw6b","tw6b","tw4+","ohDu","CGhwoa0NbA","2AGI","jgqsogbQ","sBBj","sBBj","X4UwtCb2Kj5R6kTFkwGHwAHMAVg72NQCyQPKLEkJaugBzaQBiusBYwS+dqQN4IoC5ErWAdM","ogm9","tgZ1","tgZ1","khBm","X7VW6Xvv1wLwBfavAXAV5YoCmQHvNN3oAa6QA/AD040D9w+1O/QB+A","tQEp","tQHU","2wjh","ogn1","AG4ByQF4Ar8BiQFQAUIEhgHHAUoBUgJ/AksBygGvAZoBlAKvAaIBfwFKAX4BZgKLAZEBNQFQAqcBnwJZAYQCfQHHAWcBhQFuAUQBQAHNAZoBNwF7AUICvAKUAV0BggGaAYYClQFiAm0DogGDAZsBnQFAA7cBpgF3AVABhwKkAZMDYAF/AssBmgReBCkBNwGkBaQBcgKYAXgBgAFDAqgBogF8ArIBWwFeAXYBiAGZAWIBMAGDATkBpQGNBWQBywGSAl4CqwFwAYIBhQEpAb4CNwGhAU0CtwE8AY4BugFxAXUEfAFqAb8BVgEuAawBngFbAYQCiQFsAU4BvQKgAbABvAKaAZIBqAGaAm0ClwFmAYUBagGTA6YBVAGnASYBHgGKAUQBlQKGA0ICdgE9AYQBnwGtAaIBMgFsAWEBaAFkASoBYgGdAaADjwSdA+QBSwFtBHkBwwVjAZQCyQEsBEEGgAdmBKYGdAWFBKIM1gOxBq8ERAG4AWYBigJUAX4BaQFaAnECxQeeB5wDMQE4AkQBLQInA4QBwwJJASMBfAPIAm8BRQGpDkQBlwI/CmQLbAI3CywBTgFrAbYEvAJvAUoBlQFCAZABpAGtBHATLQJnAkkFYgF2BSsBjQQ7AzQDMQW0AWABSQJhBocDggSDDrEDRQTPGjAELAItEJgBzQE7AWACeAFRBC0CMAKYA48BWAIuBDEFqQN5CDICQgKcAcsBUAGeAp4BnwGXAYYGbQFxA2MCeQxlAUYBOAOVDHkCrAV9A00GTQF7AWkBMgJiAZ8DxAnFAXQBQAOSArIGhgGRAUgBxAFnA6MDgQiLAZgWNQaNAU8JqQEnAoIDPBh7BFQFaALGAS8DewFwA4sBPAxADWEEuAe7BJoGhwFcDnIBXwOuAUYCbAlVAoUHSgM5C84CkwNNAlQCVwWPAUoBfwdvAlACoAZ2AmEBagJeCEcDsgGgAiEBZwFhA58BRgFOBTUBQQGgAmsBmwFgA0UEcgGeA2YBbwE5BEgFtAKMAXEMvQFQAeQGcQNzCIQCgAGDAYIHmQZjAZUBTQc5AXMEkglSA7YGnwF9AU0BtQGJBUUBeAGbAU4BbgKBBoIEdAOiBacDfAFQBGUFTQGiAn8NegF8AmkBSwFRAX0BfwF9AaMCmgG2CnACQAOFAS4CmQF4AyoCnANSAZwBxAGrAU0CeQFSAbQBXAE2ArkBZAGwAioFkRC/Ao4DLANVAXQBowOcAm0BogFhAWwBZQKhAnoBpgHKAXYBlQJNAqsCpQSLBlkFXwJ1AV8BIwGBAcICjAOtAakGSwFsAWMDcQMtAbIDMAKvAnABbQJeAVAGZwGcBE4BTAMvA5gDiwF3AXQBfwImAbMBoQFwEFQIVAMoAZoDgQGaAZ4BoQFPAYcB3QH2AfACegGXA0sBsgFcAl4BPQFrAa0KoQFGAZAEgARBAokBagFvAZYBVQHPAcoBbgGBAoUCtAGJAZACgQL0AeIB+AGjAbUBmAJiAoABhwFxAXYBJgKmAX0BZgFXAoQBWARPAXABUQFXAXYCRgNPAlgBRAKFAXwBSAKLAXUBOAFTAVECxQFQAnkCdgGAAZ0BZgGFAcABTQNRAUQBvQaEAk4EoAVhAVgCPALAA4ICMQFAAVABOAI7DCcBZAFNAUgFXwNDBH4BmAOhAn4GlQGNAccCkwNNAnIBnAFKAmUCLAEvAUcBpwGuAmsGaQE1AZYBUAJ3AS8BUAK2AmABTQGmAlEGawGXA4IDqgoqAbMCjQEuAVsBbQF/A58CmQFFAWoBYgFeAb8BKAGDASEBXAKdAVICTAJJAooBoQ1gA1IBlgGKBHYBTQFQAVkBaAEvAZ8BSwMfAYwBWgE0AZQDfQJ9BnYBMgNmAT0BqgGcBMMDIwJUAVoETQNiBZgCigqaAaUBzQe4BLUC0gF5AVwEeQGcAZMEkAGFAZYBjAGwAXEC2AWaAS8BvgFTAZYBsAGaC6MCpgFWAYQBwwK3ArsDTQGhBo4ClgGfAWwBsAGSAtMBiAGqAZEDmAGPBCABLAFKAXsBeAKIAXABIQLEAYQEZAE6AVIBKwKhAYwBPgFOBHEDbQIzAioBUgGCAaADQgExAoACfQJ4BJ4CPAKxA3MBcAGNBIABMQFbA1YBwQFfAXABigFIASgByQJ5AXsBYAKGBHMGUAEmAYsBPQM0AmoBiwFVAY4BSAOeBUEByQKoBFYCSAKZAYIBRwK4AawCywE3Ab4CwgKGApkBOQKjAUYBkAE+AZcBVQGKAbsBqgGeAn8BIgOeCHsBegOuAq4BlQGGAswEnQJeAoYBiQpvBIUEsQPFBZsFGwEqAp8CegGCATEBiAFIAbgBgwFdAVYBdAGTAr4B0wZvAk8CKgGTAkkBmwJ2AWMCxQEmAbkCZAZyA5YBegG0AaYEIQG7AcYBYgyOAZoBewGqAY4DfxBLAWE1kQfRE50nqh69","R0CLD6D9AYg","Hi1EbgqhBkEIoC+VA1AvQGWaA4gKnBEuHoBRKwF4eXQQw1wyRk6aAZcKLy1+CJlhbAFoDWEQUBymQXcCnhoqEXw6sFZ5AjEYngNxFIIHJhKFBHMNOwdiAh5NpAF6JjAhOASXCSgIJgV2HaMDakVfHio3pyt0F3ECbh2lDqkIggUpC6g6oSenCW4HJhZ6DCwwOWVS","tg+b","uAalAdIW4ln5hQGPxAGxQfMgfBfr1APD","zwal","qAer","qAfr","sgrK","0wXx","AG4CfgWNA2ACrAK9ArADghBPAcEEqQNACLsFiATFAZACWgErCbwCdgFGAkkDWATnDuwBeQqOAzwBSAFKBXYCRgPyA0kGmgNJA8oEfgWzAV8CoAKOAmgDvAJ2BaMB0wJCByoEPwFCAaUBtALYAakBjAWdAXECPANVBtcKhgFpAcQGqgHOB6kCvARWBzwC0gFzAZ0QRgecCLQdSgG9AXMDpwFmAqEEVATJAnUBsQd8A6MDJwGVBWoEmQTPDcECTgNEA4kCtwSAF+cBcwbGBJ4GpgJECJYIfAp0DcoKuAFHBZUCgARjA2EBPAG1AskDdA3aAV4BxgdvEHMJ+gNdCLkCywy2AXMLTANNB5gDkBSoAnwBfgKGBqMBiwKeAUsc8gKnA/UGdQL4Bm4BggOXAWQQzgG9D4AK0wKnA8wTRwE1ClAHSQvNAdoE3w0rBE8FpAI+AXEHtAu2FeoPTgjJBJ4GqAmxBZgIqAOvEqQBaQG9Bi8MOATVBLAOfwMhAewChQKlAUYGoAGjAbYBsgGZBIUGtQK3AZwCnAP2BGUEpw04B5YELQORDM4K+QHlAegB9gH5AlsDuQFEBEABXAhoA2sH2gHQAZ0E5wFpAboEoQGhAYEDiwLlBWACJQO+ArgBqwhHDZghiwTgAbcBTgFpAWwC9QJjAy4DegJDAZUBtwRHAZoDuQJOC4gIRwbSAoYBnAGeA7UCQgIyAaAFRgKqBMoJOgHJBJ4L0gLGBYoGPgGrAnYCngHeAkgBpAZCBG0BhwJ9A5gK2ASFA8EDhQPfBpsRWAGoA7ADowGyAZoJUAGJA6UEnQGrAqMFXAilCdgDnAG3BCEDpAJ3AaoCjQG/BXMBlgatBkUExgK3Ct8CUAKfBJEFJgNQA6IEjAPzAp4BsgOpBlEGdgpJBHcDUAG7CoAGggF1ATADyAeVAfYF2wOLA08CowGfB50GQwGkBTEGuQHDAqACpgF7AW0CoQFHAbwDxAbNAUIlpgF5ApsC1gh/A4kFognDBroI3BVGAsYCUQ+OA+sCjQlBAmwUowJ/CtYEyQNjAY8BiAKDAXQLxwJJA48CXAWAAacWpAGvAXsBkgI8AoQJRwRSAcICuwFEAcsBqQa7AtABhQIqCYAHlQFbAZ0EnQK+BpcCaQSIAUkBigEmAW4CcQNIAjsBpgGcC60CeQabDTUCuAO5AXAERAHfBccDqgRXBbMDiQJiAiQDaQF6AjwBbAaBAW8BcQK/Am8CXwfXBL8FzwVUA5wCQgdHC7gCbgWyAZABrwG+ArEBdgGdBZQEuRe7AzkIdAHBAY0BsAFcAZQCcQFkCUgBtRFAA+IMSQFMAkQCkAafBE0KkARAA6MEYwJGCEIHOw2yA60HYw3uBOYCTAfSAUwSPAuwB4kQ3wpCBEoBUAFY","rgrC","0wWo/wSuF7Q","jwqeAd4","XrtDoSDWHW4h6A/Q2AGhiAGQS6K/AeGfAadVT3m4J+oqx8cBux241ALOPzzmAbUK1FqjFk8","kgze","kgyi","xwyG","6AOZmAM/1QMoAVGZAUfNAkY","fYc","5Afs","kgy+","ngnx","ngnV+QLH","nQiDA9o","ILgmQhnnQDzVAddapIUBWrkBtEKXStwEnxDPkQGEDL04mhC6C6dKSyyrvwFORKwNvS3USC0BjQbGBqueAtYdQEHjAig","e1zUAXJLTKoC7R+pAnMn0o0By3ydDrA/nC8rFYgIR2usjgFyBvIK7lCRnAHX8gLBTekB7Q","hwyd","mQqs","JalWLA7TzwNaiw3y","xQGx","lBDWDkc","/g2arQFL","aaUmTwGYiAKdCVByR8sDRAj5AewWzBz3C8mjAbAuSDH41QJr7wHujwLr","5gfd","mQiQ","+RCj","+RDn","iwqj","ywF3","8wJ5","6AbTqAeX","pQfe","iQFo","2ARa","ohB8","ohBc","G34EkgZ4Dr4FnkY5GF8BfjUskAHNmwaLxARnQm4kqxZF3QF6","M6w","lBB9","lBCY","6wt3gwLFAcUBuQG3AbgBwAG6YOY","1A6S","1A7J","9QFh+QKQ3wWz0wJw","JH/uCXc","AZgBOAHNAdoC9gHTAdwB8AKuAqYB3gH4AdoB9QG3A/ABwwP2AbEC4wEqAe0BdAL7AdoB1wHMA/MB2wL2AeMEtwHuBO8C0gHMAWIB6AHtAdsB+QH5BfMB6wHtAVgDwATZAWUEWQHvBM0DwQLcAeIC5gGnAtEBsgT1AewBkwHoAeAB7QLaAXsDpQHjAfgB1QGrArsD+AHyATABVAH6AbEC7AHpA0oBmAHxAtcD7gLyAdECSgIpAW0B+gHvAt8BpQLfAvYCxgLeAc8B9QHqAfEB4AGxAtICnwHjAcABxgHEAyMC8AHrAVwD5gHyBaABWQFqAccBwgGcAskB7QPAAvUC6ALUAeYBqQHVAfAB9QHWAucB9gGQAegEmQG2A7cBzAGkAfAB1QGvBLEB2ALqA+oB6QL2AfYC8AGNAXcG8QTnA64CpQj1COwFbQLUAe0B9wHWCMAB5AP1BPMBPAL1AcwBdQW3AvABuQHDAooB2AKxAYEBigLDA8YDiwHrAbIBxgP1A5sD9gF5AdwB5QHfBOcB5wKoA8kJ+QGsAucB6gn2C6oBlAw0BdYB3APTAe4D6gHWAeUB6wHsArcG6wH4AcECwQPQBsIC9wL4BboB2gXzAfUDXgT4AekBPgHpAZkBgAGjAdEBGwHxCfMC4QLQArQC7QvaAXkB4QaGAbABkwLwBq4DsATmAfQJ7ArnAfcDtQF/AbYD5AbxAuQBwQGmAdgB4AGeAc8B7AHWAcYGwgHFBNML8AnbAu8G8QX2BPgC+AKtAeoJ9ALgArUBrAGfAdEB8QLwAcgB3wHuD+gC8AHmAZ8B8ALiAeYB7wH2AbAD8wHrAakBuAHCAUoBfwHyAtYB9AP6AeMB3AKfAcMB4AP7AasByAHvAu0B3gHaBu8BzwbvAtUB9gO9CM0GzQGdBtoE1AbzAfMB4gHwBfUQ3wFIB6ICwAPmAvEC7wHAA3sBUQb6Be8DtgLuA8sK7QTeAcYBzwH2AewC0wHfAeMD8APFAdACLAHoAfMB1AHEAdoFpAGjBvQB8wHPAeYB2gHlBc8DzgHyBPEC7gPpA9oK2ALnBvIB5QP3BPABfQNbBPQC8wO5B+8BzQLDAvUC6wTzBPEB5gHmAksCrgHnAd8C+AH3AccCcAL0Ae0B4wHaAfAD8gKSAu4DzwIxAfUB9AH0AcwBeAfwAfcBxAPKAe4CSwLsA+kBUAbiAvQBogHRAfkB6wHPBbMErwztAtgHrwGvAUwGhAPrAeEC4QGTAfEM8gHbAdEBywH1AWQB4QKmBdADrgX3AZ4H7wP6AfME2gHdAbkCqgHZAb8B7wHVAu0EugahAfUB+gH0AeIBrQHvAeQB+AH1AuEB8QHlAc4BzQHzBfYC5gHSAucD8QHBAcUB+wPvAtAD9AH3AVAB9wHdA/MB5gGuAdoC2AH1AaQH4wHyA+0CtwHvBPID7AHqAe4BwwHHAfACugPiAewEMgL0Ab4C9gHEAfgCeAH7AfIB0QK7ApsBqAFzBZUBVwbRAWAB9wTwAesB4wH4AdAB9wPBAt8EvgP3AbgD8AHlA50B7wFCAr4BNQHDAb8BpAHPAbcB4QHsAs0D+AHYBfEByAPgA8IB0QG9AUwC7wHBArsCswHFCOUFqQPMBXoDrgTuB+0B5QG4AoACkwHQAuIBwwK4AcABwAKcCvAB+AH3AfYCqwTnAeQB8gPsAcsB4gHcAp4E7wHxAfABnwLwAewC7QHiAsUB3ALyAfcDsQLpAfsC8gGOAfIBwAIuAvUBwgHgAb0CtgLaAesB8ALDAvEB8QHyAu4BlAHWAfAB2AH0Ac0DugHpAecCIgHuAecBuwGUAfIB7wHOAfIBLwHhAd4B2wP1BHsC7wniAdsDhAFTAvoB9AHaAe8B+AHyBuwI1QHrAeAB6QHIAdcCzQWJAegD3gLZAfcBsAJ+BO4B8wEoAc0B2AHLAeMD6AFxAfQC8ALsAvEB6gL4AbABuAH0AesCggFYAewB+AH4AvoB+QH4AewB4wLxAe4C8gGYAfUB7gS2AuYB8QbZCnkB2wLxAdAB6gHkAqMEKwErAfQBvgHvAr8B5AGLAeoCOgG6AvQB7gHrAtkB8QFRCfUC4AHDA/IDvwG6AdoBaQE8AfUB3AHyAdIC8AErAs0BygG+AeEB3QHkBMIE6gHzAfUB4QPiAeYB7AFKAuwBZgLxAnQC9QH6AesGrgXQAe8K9gL6Ac0HqgTLAuwCogTkAZwB4ALjAocB7gP6AbAC5AVTAjkB6AFfAr8EywPuAfAB9gLpAvEB7AJrA+UBrAPfAc0FwAHwAt4BkwGfAWEB0wHKAoIC1QHbAdYBzgHbAdsByAEwAdoBRgLZAd8B6QHsAd0B9ALQAvcD8QH0AXED8wHyAqsE5APlAZ4CigHhAfICfgL2AfAB5AFnAckBsgHsAUoB4wOtAd4B5AGXAvcBawHtAe4BdgHtAeMB1QHJArIBqgPzAvYB9gGZAe0B6gLrAecB6AHiBfIBwwXaAeQBuwHrBOIB1QHgAuIB3AHpAcYC3gTdAY0CywX1AfgBJgOQAewD6wP4AvYDKwLoA+oC5wHWAjMBcgHFAcgBtQHGAfIC9gPcBOkC7wJ3AuYFxQe6AV4B9QblCNUC8gHhAdQCTgPzAeoF7gHvAfACbgH5BEIBxwHSAe4D2QGeAX4E1gOUArgC+gHjAe0C7wHqAbgB6wG4AegB9QHlAdIB2AHxAt0B8wHsAbcE6QP6AawB8AHTA4EB7wLQAdoMPwfLAvcBvQT5AeICmQXGCYEDgAS9AtUBgwFzBOMCygfpAdIC6QHjAeEH5QJeB8oDwgXvAWsI8QLrBMUCnwbaFOoB9gH0B/QB+ALkAvMEvATwCdoC2gFIBOcD0QGvA+oFwQH0BvQBvRDaA4cBSgHzAqw","+Qje5QG6","nQuX","+QjS5QGH","2QaIoALN5QG6qgJI","2QaIrwZI","3gnW","lgEm9AzD","rgvKBdkB6wHb","foSCAbkzSilIyAI9iAGyPssrwVdIWUIRuacBn5EBcskCRewBncECzg","rwKyRKQBJJMCywLwvwfk3gTf","fsE","PNgB2kHc","lgFm","lgEm9Ayd","tAqD","0QHZgAE45wLOgATTHkJMaxKDYC/hAuSKAbhqd6EB0gTd","oQEs","oQEs","4Qim","tArC","rwlx","tgXA","euT5AYc","eqk","8gsx","tgZs","Qm4","3gn1","1QPUhQ7s","xwvB","lgFm","qQEs","rA+e","yAMq","+wh1","ogqXoAF5","owuQ","zg96K3U","8gsx","zAHN","1gPN","1gPd","5QKm","owHDbnKUA7XWA6EByQ","sQuR","pgxx","8QSt","MIPGBLElqrAB2zDOiwG9L7Es6rQDlxwgMoUlom3f","ano","hgSu","0RHO","mQKh4wFnZKWBA9bmAXDLAqIh4bUCgSHPLpBkrwfHBNk","xQiG","ML1l2g","CYQZcnPza7ksp3Lc9wO+O54d1Gk74wNq","lQF0","ogLx","6A5W","gBHd","sAXv","A3YF0gHHBIYDOSCxEm0PWUTTDc8y7linPqA8qFVNhwTcLuiXAUfDCJwRyQ","5gpS","8QSp","vAzbAbk","nQHL","yA+w","nQG+","rQ1c","lQGg","ww+d","nQGt","PWw","owmcVcE","0w6e","8QTg","vA58","iA1E","wA7J","PKcBokGuxQ6E","+Q6e","nQXqtQVqF3I","owu4","6AvS","sgPc","oBLt","IrN75tQDgw","vg+e","2ANhrgHR","PKcBuEG9","6Q9E","wguW","+gpI","alc","yw97","yw/G","8wFthQnhAdh27OwFUALi","2xFQ","3gnn","1w0o","vQyp","+wXQ5wIv","mwXZ","vA4h","uAejqgVD2gEh","Zs8","gBBH","gBBH","rQvCCsM","mQLP","rgkv","pwEf","xAXe","pwEf","hwEm","hwFC","pwEf","9Q3m","9Q2B","P9nFBp/SAqKAAT7YA24","OoytDqM","PcQ","alcWaiYphwHm+ANvT+U36UDnL+U0yBLZ6gJtM7v9AeRS3QSTQYjkAu4Buifk","6wex","alc","lRC+","lRB1","FJdspiqeCqSUAj1b8v0CfQGXiAHPcUMacSlVLXkJPYYDV6ECRQscAmJybBlgMpgeuBw5B9wMuA","jgjBvAFGQHk","xgFVsAE/zAKx0AayBUYBRr8Bn/oBaQeh","6QyYePasAm5M9Q","2RDT","2RDL","JojMB8iaAblR0wPNS4KiBSI","ATF8QjekBLACJxJuIFBDdDZdQooBZQNwFykkJwE8TrMzlPABbjuXCi9HLq8BlAoqEX0vjwEoPCgOP4gBvWh+LCULNmMjB+1YJR1IMcMWcWRflQGkCMAMzJUBSA","lgt0","lgu2","mAvp","mAuy","ogWhkAgjlAEr","ghLW","WdE","WbI","WbI","ghLW","4ArqAas11AGEAfM","AsAB9QJBAnUB9gWnA+0BiAKkAo4FpASJAlEBnQHxAd0BlgbmBpkHWgLBAegB8AVCA8MFlAFWBMgBtgP4AX4FzAPsBUYDtgJ5BGMCHwPbAnoEmQN8AW0DoAFLAW8BJgInAloBlANHAUMBZgLKAzsD8gG7A0cBnQFAA94D9wjRAUoBrAaTAYwBQwKfBDYC4AJkAr8BkQGqBHYCjwPUAqYHugXlAW8BzAHbAd8BaQKhAcEF9AfxB6gHzgFCBbQB9wN5A7gGsAPeBY0C8wW8A8wBvAK4AXEG6QPsAcMDuQH0AtsD6AOZAncBygGfCVABmQanBlADMQE9AcAEngPjAWwCSQFtBskBxAV5C+cBpQdBBJYLtgHcAXALrgVNAe4BtwGpBrIBQgx8FKgB8AN6A6QHqQHOAlUCQwHsAuMCYgFTAt4BsQSVA0kL0xCuAsACoQTKAU0CWATbAeYD1ApFAU0CbwG8BdYLyglgDbkL7wbXBGYBwyhaAdEB8QTNAqsBMwHIApgI1QV5AToBngR6A8gBygHpA5EEogQ6BpADUgTJC0EWKgaCAroCywLaBLYCoANKBG8DwhD4CmYCmAKwBDQFzAE5AfQBzQPwAeIF9gJDAssB4wGJB78CzgLyAo8J7gYsA5gLfgWuA8MNxgFxAbgF5wmvAcEC0wfPApsGSgFKA1sHugmgBe0CxgQoBvECugi7BJkF4AJ7AYkBtQHxBTcBbwKpAUgBXQHbBK0DrwHCB1QFOAHIBcAD2gRnBoQCcwzLA8MDjwGGBi0B4ATWAssGegXRDZsBoQLNDugBvQHeAfEBzgHoBM0BxAXPAsgFXAFeA2YBSAJ2AUMBOwXXAZMCvwHdAbwBZALsA/EBxgG2A8EC9QH4AeYGoQKFBioCiQTNAjwDaAHOAa0B9QOwEkEGWwKnBfID7QaJAaIGRwKKAZwGsgPVAc0B6APJAqgCxwJTBlwB6AdXCaMCHwbBAzUDIwFMAl4I0AOYAR4BTAHOAdYC1wHDBeAEJgFOAoIO5gKiAYMB0AN6B7sD1AXRAZgB8QHPA9EFJwKvDNwBtQHuAUgG0QKgBagCagHVBbkDbwG/A+YB6wHqAnMBhgGpCaUBiQG7AcsB8QTFAk8BdQG5A2YD4wG/AiEB0wJ2AXYCKQGmAd4DJAPnAU8B9ALZAZ8CxgGbBEsBsAJpAaUBZwHoA3sBjQEwCPIIxQHAA7kDfgJRBEgC6wE7BKUB1QJxCGsBQQjNBO8BpAGZAdsBRwHUB6sBggWfAZ4DWQewAZEB5QIiAdoBRAFjAX4H2wGEAm0B8ATNDNUBgwJaBZACQQGYBb8ClgK1BM4E6gJMBd4T+AHzAfMBRAG/A7cDiwOfEtcB2wFZAaACzga7ApcBiAPzAfMB4gHeAZYIYwJmAvUBsAO2AnYD2QuCBuwBvQG5A+oB8wL5Ae4CYgmdAY8BwwF7AUoBogLDAeoBoQHTAdEB5AbEAdAFYQFHA5sBdgV3BCUD4AH0A6ABzAQhAbkBWAeWApoEOAHeBXMG2APKAqYCqgOdAcELxgZuBJcDZgGNBtIDngOiAeoB0QUwAckBVgVKA7EB1QFsBJwGcwOiAuEBRgHCBOYDsAmwAeQG2wJ8B6sIjQKlA3sBJwIdAeIGgwFxA9oEmgNJB4sGzwiBCcEIPgIbBK0DXQGtA9QCfgVKAq0ClAQ+ApICmQLZAXsBTwHCAkQBUAPTCsIBSwFUA5IBVg6XCaEGwwH4BPANjwhEAUITQQXTAdgCtwHsAeoBygq8AeYCxwI8B8cBiAFECJ0CrQFAA8ECRAJAAVADSQFkA+kDSgG9B9ICvQJJCLUB6QSpA/YGtAVIAkMMTgF0Ap8DugFxDNkBtwWf","kQbP","jAXC","iAml","owmT","3wFK","sAZ2","tgbluge/AesD5g","lwvh","iw7A","CJEogwvAVKSbAaXPCLb3AtYBywLk8gLV","Ucg","sAbS+QeI","kQ3RArDXBPE","kQ3dAqA","A3Y","igVa","lRCH","COcNjiZOFu9EQLMCq8sCqRmyUHFez6EBxQGTzgJtxwGdAecB380DnAHZ","7Q2H","WuM","+Qpi","4AqiAYA","1wSp","jwFGDIM","hw69","9wqu","9AJn","6hFE","kQKexAXP","lxG/Abw","qwlm","A3Y","kQKe","0gFE","0gGA","kQ4l","pgLW","4QqANcYBswG1","AGlxPhs6BEjsAUUcLOECpdID0J0BVscBR4wCWI0BwlNd","C64aRxG1BYIjUAtKBScDaAKZB6AFSBmhBUoHog4jHJ8FRxRMG102PiaZL34NogqmyQE+vAFUDZxvRQKdgAGJBGsVjQFhO1UFrgN5IZUPTgOjCDQEzRZXBaEISwxJCbwHpidOC7oeQxVIIbBHQgvXBI0dXwXDCbQOSQepEXYmoj9EBbUZmyOmGEVONFxyHUkObQFZJrwULi5tDYccXSFQRMxBsA","wQWH","AkkQfgV9ATMFUQJLA5oEeQK5AjQBjgNcAdYBTwM+BIACbwbLBcABcgKbAbsFrARYAaoBuAJlAckDewqvAcEOnAe5ASUDnwkpA9MBSgIyAlgB6QGFBL4DaAOhB4oBpwewAycCUwOfAUgDfQObASwBegEtCLIBPAGKAi8FcAi5AzkKpwV0BqQHcxKnAnAKVgU+DY4D2QLCAboDVgaCAksEMwIrArcFYg8xBEoFtARIAXYFTwHTDYgCmwLeAp8VRw07AUwCPAkrASYBKwLPGsQXawMbCOABJwGzAZkhyBx9CUsGOgjJBZ0GpQifAXwH0QQyApwCqAJJAnQKKAFhB80KKwUqCKcLfQNeBa4CwBCRAjIMQQZxEXIQsAOzH+IajAxsCHUCQxBzAXUBTwREBJoZnwe2DkoVSAHDA3wYlwGPCl0DPwEjASoBSQJhAe8SKAc4Ax4CSAtcA7UB2RKiDawFVgc3BqACLwPZDZkMpANbAtMBsQK/AaIMNwHDA9MHMwSpAZsGMQJ1BGkCXALaCWECrgeBCnoCdBSmAkoBrAUtAmMM2QN+AmoHpgJNBZ0DSwJOBKEDzwK2BlABKwR6CC0FpAF1AawCPQG+AxwDyAKkBm4D6wGKAVkBVgnUAlEOZwJWAuECRAtEE3UEnAFDA0UOKgU7AdcEMQFDFUkFcQE3B6wFQgFHBUQGOQExA1AVIQMvA5sD3ge2BYgFjAKqDJoBpAG3BEcBfQRJB58BTge+BF0EfgJOA78FNQeoAaQGpAKpBJADcQJLArAERwGJBTUFuwaaAkQEJQSvBqQFVg2nA50EVgWRAigBjwZ1CSQKYAY1BqsXPwMyD0UBQQE3BM4CKwHuAtkL3QIrAYoBRQGsBz0ETASqBKMGuAUlAX4G2gHQAbsCKgUxAb0HQgPMAZcC2gKQBCkBQwYfBCUCSQimAZsBjQMgAqgBrgI6AzsFzQIvAkkBcwJ1AzISrwmKBi8F2wQxBZcGSwFMAyILbAOmCDMHwARcAaQBNQVNAaEEngeiASYCfgGTAlAFlwIzAikBmASXAcIBbAvGCTkE0gJxFZoEyBAxAqkBWQNCBJ4HpAVEBScBKAK+AUkBkAPRBUUJZgG9AkUQOxbgETcIrBSiA0kB3BavFUkBPg","sBBJ","8gaO","8QKI1ATuvQLI","0gjTrQZB","mQqs","/w1p","+QaF","9QKl","1wTK","7gQ8","nBHS","iAbi","Y5c","jQrmAYo","xQdm","8gaO","jQo8","ME8","jQo8","8Q6y","8Q5j","3Qlj","3wmf","Rs43o1GfILY24SHJAY8cnkOUCcwgwiXOJLsTbQegFsUruxuwCcEFchqYD3oM3HO7VEgCfBrBPbgRRm22DdIIuBCjC7JU5wKfBL0yyC14jwHfEMs5nwTBPp8FmxDmE78x9kYgnwG2A3k","mgJjREgudKMBkECeSkDFAY4yizFC9QFC/gGKCo07hDtjS0Y2RTlC","1AuK","lAGTUytWb/cENO8Frw","8wHn0QaVVKSqAnk","pQWeqAYq","8wHI0QaV","E7oiuAfFAWgPlQLOBsIEnwrMJeoTmhSpA60IpgOkBzoJpAbOAZwVnAvQAkIFqi9KFbwHYx56B05uZjtvBd8B7gKgPD8Q3SbfKPEP6SshAfEs0gaeCZELYUjKAsMYTwHVDHkd2gKkG5NkZQFtO84BIQ5jCUcH8gq/MMkMmgjFCLsC+ALoISNKzATVBqoLsQbLC9ECKRPmEioh8QckBaMIoCqfCMAB9wHzKOhP1izgCbUmRwPWAb0BXgFXA14aWBOpFiQESA9NAakK8xaiBGYLlws7B+025gTUBrMBIg++JckMsgR9IOFx8QbhEZ1ayQ","2ANm","1Q7Y","1Q7j","+ApH","/gm2","9gna","7g3WAb0","mAzc","pgNjAtA","8wHC","pwOoPvJRpAPqAdPTBbtc9b0FVw","2AHZ","zQsq","kQvmDEo","kwHcPnr3DZg","0gaJ","6Qrs","jQrhAdQ","RH+eAq5uZgNRanG8AnYBggeEAYdDhTh6HJQBxwq+mgKLAZPpAZwEoAiFAYMBhAGICoYRiyCnEIoBuAGOH5M2jwKUAXcPuwG0C34SrZ8Cix9yEXQQlRurD4cBrFenBawBoyyfAaMHnw","bl0btmxCzAMq8QFHGKBGZjy/DSEmqDFNF3ACppgBURlISJYbUQZMXHuHAis/lhRCL0AGqx1pMJ8UcQ","swR9+QWP0gbP","3QJI","ADAEQwNCA1ICswgoAlQDggUtCkgEcQRLBTYCfRZQAUkBUAceI20Sow5xBjwFSgMfA0UEdAaIB1q5ATkyjANDqAJBUS9GX0E4HsQKWShKLkhYSyZ7QWVCNjFJLilDRQRF0QGWdngmcCwxHz4DMRCLC14JSAt8ByQGRwO2D6wCbwWEBE0IhjYmCycGnwgr","0wy8AcLZAcw","rQ7M","0wy8Abs","1AxR","A1MBmQRRAT4EQgZvAmcBVAVFAy0BUgOJAbcBfQHWAngBsgLTAnYBSwNPAbICPgM4BTsBVwO9BdMBPQFuAUACVgFOAm0HUAJYAcME5wLpAooFqwHBAdsBcgFDA7ICLQGuAScBUAOiA3QBxwGGAXYCqgFLAq8CJwEyB8ECrQHVAW0BOwGuAX8BKQNHAqIBjwGZAbQBoQJBAzYDlgKnAkcB1Qm1AbEDQwKWB3AC1ATOBXoBpQVCArQCzgE6AaMB4AHHAUAKYweCAWIFNwGdCIwLuQWnGc8OgQNkBjIDpgF4AZ8DSwScCYYBfwktBiwCogIuAaICkwNTB6EBoAKrArkB5AIuDVEJpgXMAZgBlQGmAZQIxgGuCHYCKwGrAcsB2gM8FM8BswIpBUEBrAVJAa0CZgFeArgEQgi6ApUB3QSFAbwBwgY6AqoMrwvSDD0SwwOSA7sI0wFRAcQBXQHUAS0EyQMwAVwBwgFtApwE1AzQA6EGgQLFDnQBwwfNCrcE4gGhAc0MhAmYBcEB3AHDA6YCNAN6ApYBpwGSBbkCQAhaA+ICSQKvA8ALqgGYA88IkgmlA7IJuh6gCq4GeAWbAT4oRAS7B6oBsAXJDJ8CcgEwCVcHjgIrArIBOQxzAWcMVgGqCjULPwJBC58CSQJnAt8FMwbXBEkCmwG3BzgCewJsAbMHtwIyAqUBSAPXBNgQKQGiBbsOqwNxAeoBgwFiAfEDpQK9AS0MpAExBdUHnwHJArsCvwHIAcACNQEpCbsEzgWfBk0JagIqAZwOlwOFBrQCcALSC1YFYgGxCDYDPAQ5AcYExAGaAWQCTgEhC8YJRwWbDbcBRQOpAUYBewNmAmsBrQGyDNID3gLLAcsBNgFEA7ACrAO4CL0BgQg9AjAFKAGnAoMPygeVBCYBxRJVBlYBvgFUA68ITwSdAmsFOwXcASgLrQrQAp4BPgGNAkIBsQS3At0CmAHOAdgCRwSmBYACOQGkAacFLwhpCXMCRwFcAzECMgLDA+ABUAGZAiIDKgGfAR4FJAK3A5YErAXBDWkBoAOQDccDpQSdD9IGtwOoBnEB0AefAT8BNgtFBYgBfgPAAZQBLwEsAlEHxwGsDNIGJwLgA7wEzwFoAXgChQFOAX4DqQWFAc8B0giXBKwEfgZSA1gBTQdcD3YCxgROAlAK4AHXATcCVQJRAmIFxAlmAnEYYQidA2sEYgFHApsBQQFcAkgLKAI4BNABtwFpAcIDKQZoA0ICJQchBdMHQgKSAiEDNQa6AbMCqQJkAc0J1wOsAUoJzQHGAaQEPgFFA24BLwE3AUMCZwVKBDUBqgHGAaICogKJAaYB0AHfAbABlgKwAa8BhAlSAs4F0wJdBKUG0wo4AUkETQKUAa4DhwQ9BHQDpAOJAacBnAJQAbUBsAa+BcsGQAHGAmsBugG9B7wGZAbBBi4QTAKeAjEBtQIpAqoBXQEsAScOyAM3AScBqAO3AcYBNgW5BlgDdga1Ds8B1QJLIMAG8gxuEOIZRAw+B1AEPgg9B40p1AviAb4T5wOc","lgGZ","sBBJTPE","ngLP","3wSo","6gOf","JVR1QQiEB6YIUIIDpXaqzwGER2OeA6clSpwBj64BqxlREx5fpRJMPlEqtQhfYJS7AUIEwQJU","pAqJ","8AK5AeTUBNy9Arj9A5s","ALYbfiG2AbYFsRwvBR8OKgGVArQRvgG+BTMFSA68BUUMnwQmAikFxgPJCm8HyQWcDKMJewvqAr4JeQl6BekjzAPsEbYNTgGGBW4cvASMAZIJlgJKBKQGtCi8BbwB1A49CacHyALEGrkdvx68BoAG0AJaA68ShAHVBLwJZA2jAUkDvgrVHNQRvAe4BrwNpBBNFWkWvAXiC7sBvB2OCrwdiRKsE5wNnwa7H1oGvAKXC6YHuQUpBLkJ9wO5Ciclhi68D5UCKBWDAvAEogK8BJoEbQjiAvYE1AlnD6AHpAo2AlQEvgK8E6YMRAGYCMUFogSmHjYBmwF+GCYGQgG8Ar4NwylDDLEN0QJTF68DzweWC0AEKwG8DKYCuAbiB6UFkwTbAZ4BvgVnAcgEjATCBZ4UvwS+FbwKRAflB64DLgKoA7IVQwOgAlMGvATFBsEHvAfRBjYEvAacDy0LvARHFGsC5RSxA70GxAGqDY0H1AS3ASgBvRWcEJ8EZQI+BY0BjgKBAdkHohi8By8BvAg0AacFvQM6BLwDTgaYDckBwwPjArsBvA+nAbwEngS8CpwJqgg5ASwGKAipBKwFvAElBq4DqgKJAbwKRwTBA6UJzgq8F7kBoAiuCdMGSANOD6QGvA7VCYcEpAFIATMOXQEpAUgBSyY3B0YRxQFqAjoBPUWhBcQYUQ","pAxa","pAyi","dLQ","4hHE","/wGu","1g23","1Qfs","+gmbkAap","yg8k","VeAcfQu9HaYSJS2IlAPsvQHTtAHtlARsPjblA5hWPAjqAvQ","8hDH","JXjqAphNcQlsdkg/TbQBJxlwLaYY6/MBJQJ0A1QqoEdYvAJtxAE4Xog7Zp4BqHzc","rAec","JYU5ywpNAaUDoQ1tA60CMxirA64EeAhlEqECbQJaBlEQUmOqC1QaRQGfA4YEwQO3EkIRaAVLFXcEUl1EKqkIeBBNBzEWuQFzPaYgoyx9AXGXAWkfTAOWBKYfRgdBAZ4XkQNgD0oobS92AslZogiGWyMkXxF3AXMBewF1Q6IDYQdFDq0ItTnsEGI/oAmgH3cSVi61AUkRWRpzPEANmwg/DVEFeRNYEE4cowSiFJ0arwxCCskFTQNKBVMF0C2WLV0MdkJLbUkRUg","pgeE","8wQz","7QlRmgGcxwROKnE","EzPsDtk","0gWCV2nsBMU","1wQl","4QOV","jA2p","owni","qgGeA8LgAdhzzTipmwrQ+AHTAtC7AUk","DNMdmghMkQHRKzVepnVFxAGsuQHTb5wrKECMjQHlN68LzM8BL1olUeDeAdAKcS5FDakZRgPcEUkGuA","owlt","owmP","xxD0","xxDn","vQF+","MVALcgFoCnoCWARrBFgDWhpdB0MEaw90BWcBWQFPCUMJQwhCBEMCZwdqA0gFaAF2Fy4Gdgw9GHYWPhNKDz4HRho/AUgiRR1LA0wJVilPLkUGRzZFfEkdSBdTBlA0Qgc/L04Fhxx2Bz8TUFtBC0gBSB1xD1MBRCNEIk8vlwHVFEkYUQFEAUYSQUFHG04BPy9JIFEGQgNFCkQtSBVMDkoHUSw2EUkKQwZGAUQDRz2BFz8DSTBNAUhMSgpEElEQRAdNDk8iQhc+AUYVUQpECzoCOwFABUcQegVBHlACQh5CFEISSQdID0jPAVU","FCiiAaUcQj7NzAFxqQHRrATbJGaeBX87aw","/AOp","UrMRzqAEbK0FoTWvHUo","5QqS","Y1M","igng","igng","3APeCJDLCHHkAr0","zxHv","zxHu","E6icD1I","oxC2","nQn1","ngicAU0CoQ","nQnu","Vq1TpoMGsI8Frg","dqA","sQn4","aUjRAZ+GBU27BZreAcY","AGIFcgHdA8cERwSoAZQFxCFVEL4X8BtUA50IkAHCDpkHkhp9EfMUbQV3BysK72ktCysB7RKfX/SyAfKuAZE41y8vI3I0LB6hDOAWuyJ3Kn5Mqk13UuUunAygG5UCZgLmAXEEnwFRCtUD8hGcLXUKLg8vA00CKAHoFHoGkTCBFmkIgQKuDNoCmBmMBz0bYgSZCfICYhupJj4FIQWeLpgBLjc1EoUNMwpHRSs","1As/","9A3t","8AGl","7w5i","1wu9","5QLK3wi7E8E","5QKm3wi4E5c","oQjv","Y1M","RoyaBG32BCGsAXudAY0UKG40qgEyzQEsASd+Xg","sgGEpwJtowzl","sgFZ","kgF5Rj4QKSmsV5EhcIAB3+YBIRZndN487ik4L2wCVCrEIIOGAmwZmAFiCSUVaSRcNJUwLkxWlAGdE8e/AXnGAawBwSPTCEA","+AqYAWJ2aQ","nQtL","kg7H","iQTfsATE3gisAcE","tQfX","kQKs","uxFI","7wtp","tQfH","uwFz/AZr","wgetuQK3","xQdm","Jc8","3QWS","6AWm6QN8CFfBAnFRcSBgB1jCAbMmcWC+N6w","afQESUBMP4pq75cB88UB6sUBgCf4MDWNAuvwAfAU2zfuqQH1xAHYKFYBTeMB8Q","aXE","7QO0","7QOL","2wl8","2wl8","7QOL","jxHQ","7QOL","1gK2","ngft","kwRH1wOkggVIAqTRAaN/nGlE","IlAGSDFxBmIEYhZtBjoNYgE6Am4BRBFDCjsShwRUF38GggFKcpgkhBZGG58BniPQGqEsywfJJ5cOojh2Fn0opBBmHU4aiRFjJIQUmhXPBW0XRz+eAqQMlA2ZC8USSC/FHXAcTSLRFUkBQw9xD0cmPB1cCuUVTA9mBpsdkAfCEbAEfxFGGaosNCpHD1MQUS+3EmEkKymnBKlSRlA0BJInoxegIIQSsg8jCpwKZiuwVJcZPIYBPA","D34DVmBIAUoMSAXQD6MRRw1PGJAQSwJnENAKjBjOIk0vSAZpD0QNRAJKB6M5kUmNNEkpRgtDDEsjSEvTC04Rsg2MA5wGS35LCkgLSwKYDE0IpgzuFoIarjBPE5UMPgeZCEsLQjhOErAaSA51JYMFRh+oJUUMpgmLGEQUiwaYBYkBSQW0C1kRRwdBEJEHKhdGA0cSQgpFGMIJSzInBL0CswZRDckExBdNBbcMxiOuLEAGYh9CFUcEkEVQA2MTpwFIAT4cPAcpCIkUHSifDa0KniiNGs0","4ATMtAasDkbMA4Q","ME8","twTF4AFnAWe8AZn0AaeCBK4","2QFL7gFIG1qBA2mDA7fzAa0baimZeSuWAfkrpQ","0ANm","7ggo","JDw","JDw","Vo8XlA2gngKkDaq9AagfpB+khgGiiwGXpQFaWnytAqPtAa5EQUhMYTd6Ng","ngHMzwZ0GpFleqkBWFG/gwGnUGsnTQ","4wJP","rArK","E58htr8B1nJEsQHuAdtEwgvhHedMwkXWrgLoAra5A/EKMB/bogHrvQEoO8hXzYMB4wPoBfYMWwSv","5gTh","kgE3hgIssgRG5QFF7QIrOVDzAUw","E5+DBLo","NLbPBOc","lxDN","MYdLeQKSCI0FQgO5BpMFQwFBIkAImg6jFJsttBigC6kDZgWTBUQKShBIAqIFtRhFBJYYQQJMCkkFmRejHkAQOj5OM6hBpBMyDpcnzh1LJGkZnhGaBlgeqQeOE44ClwNEDZgBnw17D5oRsgJFBJUErAFMBpMISQJIAUkf0BNqCEQNnwqSLUgXtwObDqMBrQiGEEsGTgGPBT4EUQ6WBkABSBy+AckPmRFiBT0GQg+cPEgqQgi0FrgBXQODBnAKlg6MEUkHjgWtAkkBnQOlBk0JiQdJFpkRkAGfCbsHewWfBJ0aTBdzJWgNSRRMAoQBgxasDZ0TrBpEGTwHpAOvA4QHxwNHAUQCxgm0BYEZTRFLAkEHpghDAnIBPhyhDUUCggjHAaQERwM5H2kpmAJLAUIZYwGzA7sgRgGXiwFJJZc","5AK1","xA/B","uAyUgAKE+AFj","tBC7","wAeaF5UErAeT6AGW9gGW","Y2K3BJg","ohH2","/Qva","/Qvq","jgHcMnY1JB/AFrNi2kHUB2AMVgHxKXMgsWJgKT9rtz5+I2ZYZlR9FWEhoGJRHNAB12VjB/AB8xbjlwPZZLpSm70BYQLxDUVo2yPXFtI","jgHR","4QnQ","jgGl","zQNxgQfQAeUW45kGRQ","wghh","7xBh","zQPKgQfE","jANHSGANUL8Cn64E0AGCogbaddY","nxLP","gQdm","sg9w","4gnX","rQhS","lALAeNhV4O0GtgGCrQPZ9QLadUkj1Q","4ANWAeY","AG4PtwKpA6YEThFnBXhDlAk/KLMYPQymFKIZni/bJCsJcnijF5sMvAywINYGqivnLc0BzQ+SMEAZmBRaEM8KsRmXXcsHywrVQEkXYw3XEs4F3wPMQuQByiVfJdQzxgaUCaQnnQ7MINcFMR7OBJsCzDUlDccizQKHAcEIOgeeC48muwvKBT4RvgaKC9WBAYVQywW7AUYmsxAwQnEKdAbWEzkR2AKsCDEakAh/LEoldSSXGdY3Yw48D64BQyNQJEk","FoMHUSHVWEIE2B9tGpwtgCTNBToRaAFbJrQoWA9wA4gLYxCIIWh1kU41KstXtnppNI0FQwGHEDwahASVNGMZdV9xAkMyfQF2MCMHMEBCRmQkgQIyC5AlpQw7BicmqBCXAUUJSihxBYQpwBtGESsHjUlcAmkSsx1zDnNfoCZfOpBWSDrIC7k8RA5I","+wWxhwHL","hQ9t","hQ9W","zQrM","xwMw","jwuj","lQyv","xwTnbUA","zQ+Q","xwOb","ggeH","jwuj","5QJE","nRHo","lAbWhgvj","wgHh4gfB+wW0","lgTanA2v","wA/I","rhFb","2wTC","8wGwowK6AcyrBOgCtg","lgS6","8wG/","pgzb","tA2H","vQ3gAdQ","/g5+","K+0","AdQC4QVAAfgCygLhAr8CzgJNAvQC3gLNAvEB7AHSAfUBngKkAe8B1wJHA6kBoQG9AfMB5gFBAfUBuAHtBI0D7ALtAeQB7QG/AbYCvwPnAfIB9QH0AvMB7AXuBfcD4gHeAuoD6QPkAbkD5wGAAeoC0QLsAfcB7QO3Bd8B4AHOAd4B+wHbA+IB3QFvAtsB4AnMAeMD2QPjA2wB+gH6AaADQgE1CCwC9AH2AUUBWwLmAecB0gK2AeoE6wLwAagB9QPxAvUBPwLlAc8EuAHXAfYB1gHUAdkB7gLAAfIF6gHgAXQB3QHTAfsBVQH3AuMB+AHbAckB+QJ2BLcD9AGwBc0B9wX2ASkCYQHxBPgD5AG0CO0BcAr0DKcBqAHiAuwCzwnpA9wBvAL2AaAC3wqWAfkD+gSnBvIBzwPuAvcBawL7A0UBlwHsAccB3AGZAfoBvAOeAcoBxATnAfcIvwHoAfsB6AHwAegDswHdAVcE4QXyB7QLSgGkBOAB4ASJAdoB5gGAAX0BYwP2Ai8EqAPkB84F7gK4At4BtAHBAuAB9AEqBbcB8wbqAlgC9gGwAfgDQQHBB+8M4APgAcADtgHuAukCzgJFAlMB6wTPAvMCeQLwAk0P6Qr4Ad8GvQaKAuACLQPHAcgD3AHxAb8DtQGoAbwFMQHLAbMCsQFTBoEB0AW8AfwCiQSuBe4FtQbgDOUBlgFHA7wE7wLsAtYS9QHXAdoC3wHdAYgB9wHYArwB7QacA/kBqQF+A7oE7AHRA/gBvAbqB8sG+QX4Ab0Bygx1AfIDvARKAfgEuQXmAfMEvAXxDusBvAX3BH0D9QLHAcQBvAG1B1QC9wHwAeQB6QP4BfoC8QPhAdAE4gLRAfUCrQPzAekEvQPyArIDvQa8CZ4FvQH1CcQCtQLsBdAFhAKkAuIGZgLPAekF6gRIBb4B2wHwB/cC8AKGBPIC5AKlAb0C7gLiAdkB0gN1AfsC1wLmAfUB9gL3A8sB9QL3AekD3AJYA+cBxQHFAvIE9gF6AkQBwAPzAdABZQHnBMEBrgHoAYwCQQF7A98CSwHUBHQBMATbAe4FyAL3AfsF2AHbBNcBcAr1CfAC+wFwAk8DygbmArMB2wHuAvIFuQPnAsUB2AGMAdgB2gHwAfoGrwPZBHkB8wH5BuEEvASkAacExwLuA+kC6wPqAewD8wLFAfgB2wHaAfYB+wL4BO8CvQGvAdgB8AJ4Au8B4AHYAeYF3AG8AeMDwQbxAZwBwwHkAacCwwHsATkD1QHlAfQC6QK1A+sB4gHjA9IP4gLeA6QB8gLMA+UB5wHxAaoB3gHiAfcBQgF4AuUBPQKMAsABtAH1A3ADPQHbA8IC6wHNBskC+gH1BM0B8gFGASkGuAHFA/sB9wP0ApkCiwH2AfgB7wH7AooBawYiAY4FSgHHA1ID2QH5AiEFlgN3DdQD9wPcAbgBrgL8AcIE9AN1BPMB+gH0AeoB2wIqAscB9QEuAm0C2gKqBqgE5QH5AfIBwgf1BPEBoAH5AdYB0gHvBMsB8wHWATMBxgHvAboBNwSwAckC6QFHBHoCQgLrAuQF3wnzBO0B9wGmAvEB1wLYAU8B8gE4AaYB5gKwAXQB0AGtAe0B+AFwAvEDhgLdAfkC4AHZAeQFvAH4B68B0QHlAeIC9AI0AtgB3AK0AdwBwAGBAnwD6ASDAqcBVwHFAbgBrAHhAc8FnQT3A8UD6wH4A4QDswH1A3AC3QPwAvcBqAGwAvoB8gHcA78B5gGsAskB8gHxAdUB9gGJAYIC8wH2AfQBmgPbATABXAH3AfcB+AH0AkYB5gH6AuMB+Qb6A98CrgWEAd8C8gL1Ae8C5wW4AegB3AH6AtgCxAHLAfcBxgFsAvMBmgGqA/gD1gThAfQC9wK8AZwB0gLoA5sF4gGkAfED0QFDAdcB9AP5AfoB+gawAsMB1wHsAdgB8QL2AfQB+wP5AbkD+QH4ArgB4AH4AvYB+QHMAs0B6gLqAq4BUwJjA+MF+AG4AjcD9AT4AfICtQGyA/UDbQLuAskD8wHFAegC9wLOAdcBUAX1AecBOgH5AusBPgP1AfcB0wGlAcoBogHFAvAD+ALJA6oBJAM8AawChAHaAvUB+QOxAfABhAFJBOwBRgHgAc4B+AGuAc8B5wHCAewBLAHwAfYC9QH3AbkB8gHeAY8BNQH6AdAC7gHvAfIDywHMAVQBMgOqAdEC8AH1BfQBqAGiDcIB+gHjATwB8AKXAd0BcwHxAfcEhAHXAWkC9AHhAXEC6gG5AeMCSAHPAeEB2gJtATAClwHzAakD6QL1AagBJgHYATwD+gH0A8EB+QG5AYQB1gHkA9YC4gLJAaoErAFKBYsC8AHhAvQBtwFLAfkDqQLSAvcC9QG9AdIB6AJyAesB7gP4AfkB9wG9A9EI5AX4B+EBjwJ3BrwHNQGlAvkETgP6AfkE9gJoAfQC9wHhAm4DOQK8ASQD8wHpBHoDxQLWBO4BvAHsAeEBvAH1AfUB7AHmAfQCpgHWAX4C7QH2BeEDvwFMAfYB1gTrAVcC8BH5BeQB+AFHAXQG6AL1B98E6wHpCewCuAQ5BpYC5AH5ArUBqQbjAoAB7AH2A94B7AFwID4MwQfAAu0H+wP6BdoB8AzZAawESAHNBbQDXQnjCkwL8QXPAeY","UoZCQNMER0+Y1ARAxQO1GEkiRwZOB0s","5wVHgAlJIkcNSw","ogPSlAOY1ARAxQO1GEkiRwZOB0s","uAbX","5w5JIkcNSw","UobQAto","hwiX","6w2z","3QRq","lxG/Abw","tgjN","ng2X","/Q0Z","uwt5","3gqx","2gFtlQSj6QV9","2gGtlQSj","qhDF","qhBx","twW6","2gHD/gl9","2gGtlQSj6QV9","lwpH","oA5I","sQmdZ4Y","+gKz","mQrH","jQo3Acg","uAHB8wTM","9ALA4w3b","pgEp","zA96","9gJeAVO0A+b4ApyXBb+IARw","tg2oBKo","hwuN","qQM+","mQq8","xAeq","lxG/","hw5H","hw7Z","iATi","iATL","pBDp","oBCS","3QSV","0gi+","0giX","nQ+E","mA23","mQqW","wA56","4w1frQE8","gBC+","sArE","vgM8","lg/F","nQOh","TaWsA66HBdW8A7YCbMIBrcwBxAGQ","zQ+iPa4","gA5g","jQp0","kwGq","3w2KxwJD","3w/z","ihAx","E02qAYfPBozMBN9jsSTR2gGUUe0cQwfS","hQPy","gQVH","zQ+Q","yAx5","F4s","2RG9","qQM+","W9Z63x3ylgPT","lQxr","lgpD","tgnc","mQrP","ywHw","3grE","+wKt","gQ2K","qwzF","diyxB4nyAUI","kwHB","9wJF","/BDa","9wqutgO8","0wV+","nQZ4","FNYnqwKUHWM2RApBHKUWpAFpBcQBnArLGUJEPhc9DK0/pge4LcMF8BmzFUSjAbADTA6SCatins4DKwNCJkKyAZwmpQmcAuICgxiwKqMVqkyqAdEJqlvuOks0RxGSDKk8RxnLL5gGqIsBrSuoCL0","bEXNBECMCW4","hQ+S","FKY","1QPr","/AvPAlg","0gEm","GqoR3V4nEpJAUBgprwM3AiFUVUbRWNhebo0BdxYuDzG8AcQnJh9Xa+Quhh95CysCJRWKAo4RjRcxKi8DjwGLAZQBdwF8PrGJAiNDQIgBYQ","K9I","2wE3","vgas","pgfA","BFQxSwphAawPpgJlEbIGPgS1CUMF5wRgI6EDsxaZCjwOgAFnFZwmWgGrB6UdSgfaAT8Yxi1EGpcCpgupBLoskwaVC9oCmgNLDpsHhxFHJUUHSRCjArkGVQqLAagLzgGQE0cetwSjAZoCsAN6KL8hUAelApQM0CKrRXUSvhXMKn8PoAHMDbUCrgzTCkNAnww/AUgEQgWbDKULogpIF8AXLwGZDLADQwK+AUsEnhizB68CnQatA40CoAOfAcgBuwOaAqsGZgd0DMELogGVEKcRbQy2FUUI0Q4qBk0FuAo7AaENoAtiA5gPJh1PAaYCTBSXAqYEzgKmDsICRwWfA9IKxQ54D6kBQwJNAbIgrQGvEnwKpwG8DqQDnxmUBE4BtwWfCEMHqAvEHK4NKBbVCUACawduAagSwwQ/BUIIbQSDA0MLrwKuCMsCngRFBG4LmxduCbIcSApBC4YUqRbFECoJyBUuFkgBmAx5C20GnwJxEMcBnlY9DUQ","1Qq9","ADACdQOqAfYEUgFsBGgBnAGbAUsEOgVwCC0EWQMwAWMDqgFpAU8NRBnZDCkGKwEwFLoDMgzqAykEswNfAs0DmQSkDdIJbwLYAqsBYAeyAzwB8wnrB4kFWw66EkME9wNzFT4EyBDMAqMDQgabAWQKKQMxA7UQJxHoDC4DWwExFDoP2QE6Aj0FdAQmAVsM8AHbAeIB9gHmAeMBvwGSDHUIPAPGA8AKigPqBnUGRTQsA+0B5hydFnQJQgGLBzUZdwLqAV8cLwWNHCoFOAnJBtMB5hEqA90PqwJNErYQMBlSEfUTcRIkAjAIRhrPFzUNVgTqApcGIwEqEUgO3gEeAbgdsAS5AUwazQHMBE0CLwFTB5sGxQGpKWMDRgfsBOUBtwEqAdUCng5+ASoEagLUAq8NNwMuBioMOQHvASQDLwpkAecBvwHjAqYB1QHLAdoBxgHvAtEB8AUqArQKOgFDAygEKAEuGjYBRAK+A1QONwPPAS0D2wNPBoMF8wEtCs0KowHEGJ4GPgNJDbIBThlgAkEDJwEqAcMCQwY1AUMJUwTfCSoBjxYvAVcIzAIlAiIFNgbeG0IBNgExEu8G8gPPAbUR9ApKBZADIALvBVQPKBtyDSkCKAbmArMFJA3rBYQFzwNvBEoEvg1zBLACJAFKCkwOpBeBCGACrgWcBrkFLgMgAfYHOQE1AzQFJQl0BsUDnwJvAtcDSQUvAVoCpwEwBCQMRAJuDzMCKgayBdwCuQlNCjcGZhLbFjIGQgFGCy4JggGWBFMEugJuBCcRKhC+Iz8BsAGlASsBKQWzAuYBlAYjArsGsAFjBmQLeAI5BfVJQTegAkkYqQvjGeERwQLCC78","uwnj","uQmtBa4CZAXXxQLX","mAGB","jAF5","kAtD","ogrj","vQmm","wQmp","mAGBH5k","swO1","zQKc1AHPA+SeA0niAkAmmdIBRAGZggFGNkWUAUxhSfIB7QVEBNYGRTy0","BJkFPgU5DtYPdQdpFrIpKhUpEF8RHwWmR2KDAZcu3DowOJIfOzw0A++aAs4hoRKnE5kINx04swGeAk8aygQsDigERgEuGuIJvw+fKTWDAaIaLI4BJUydBbsirAstFR4FZAInBCoD8gslDacDdwKsBysHpBk+YSgdtQQrBB0JOCAn","7gijKXd6nsYBntoCpAJ7UW4sbxioCB0","pAPc","AMkERgGdBWAOcQVqB7oRtRyiC1QHmwpCBDwIbQQ9EkYJKgE1CzQBqQJuFocFMwzIBdgHrQxIFJYGpgHQAaUD0wjOIeEJlAo/BnoMeg5rJmgGVA+mAm4CaQhFEJcISAKNG1wCSQzQEoQBhAHcAnIVkgHnHHAFUQGKCDQIdg5lCEkFzw+iLngBdh+fJ08FggF2ceECnAtGKaQdRxZ+F15MQEBIPaoBUg9HBdsLpwQsBZ0DMgORAa0BmRqTDGYMPQOmDVEBuQhSFncYVDKSBnoTSxCSAdMBTwLdAoYBywK5BsYERwWqBLkIjgVtASwBxwV7EKgDQgFGA4kfzgRBGqYSqAy6C34WTgO/C0MNQAmfBaoZUBPPDOYHrClcFKEOURRvBIgLlwWyCyoBdQeLDaIKhAvBAVMFSBBMCVAFgQGOAqkIOAOuBUoHQAY+ARwHnAGiB30FphipBiYIjhBCAl0EmAa4C5sHQQJxAjYNJyVGFNEFNwazFZkRPAY3BG0FPwWZDW8h0APcA6MPSQ","3wRJ","Yx8JetIF6AzlxQF8","ygbl","tgu5","/wnU","ogXc","lg4o","8QvF","AG4E0ANCAq4DrhRwBeUKkANzB28HwQV3C0EJcQmIBnECwQKMAY4Ffgh8A4cPuAR4BG4EgQF7BIAIsgFrCIgIiQRRCIUOkR2oJHIBrymIAoIXk0aaCZ0DfAF+AWUUbAR5Dk8QlQl2FWcGqBuNJ5MXkQ27Bl8RgiGKBJoFygq0AUkFOghRDs0CpzGoAlYdXgGVA28Enx5oEp4asQTBUJgLeQJrA4AJqgKjAU4hgAtPFngPeQ1uCMIIsgG+AawDeQyyBpcWhQFxHqgFTgOCCagKPhKpDIEEjQyJDNQE5BN9BHQBiwG6AbsLaRs9AasmVAeJBNsQpAFiCYcGewOZBMcBlBZ3AbQBhRFQA50BwAOBBnkMkQKDArUFmQKjC6oIRgFsCZcDjgWgAXwCggeLA3gDdgNrAooDlQVzEbcFxQGEAccLtAKQA4YCpQGYFr8CuwOjCYImmgJ9BpISSwOFAZ8BrAG1F4ULdQF2BoQGux1BFb8FgAWgBJQBdAKPBIoRnA6KDnYMdAZ+AoQCigZgAacFvRCXD6cBQgN4A38MnQG0Ad0HlwJoAZAB0gJFCnsMeBpxCpoeiAnMFn0DnghjCNICdnnPDMQYvB/pDtI","tA2H","ghLp","ALoE1ApSCIMBiwF7Ac0FiASvB90BMAnXB8UEnQJMCVgHvAO4CbsDvgG9AtEBOgVuAaUEQgXVCLcCxgE9AUYByQ7AAVIC4AViAY4LoQKeAc0BnwG4As0CRQTjAWEBaQJIATYDxAGhATwBvALKAdgDogNBAY4LYQPfAVIChgJVAUIEQAydDEcU3gpRBfAcggObAYwCqgKCAVACXBTVA4oCVAOEAZ8DRARKAskCXwVODEIBTgXHEEsNkAGuAV0BXwXlAUgBQAHNAkkDQwKPAc0SVwluAU0PtwFVAlUDOAFNCFEBPwGPAr4DRgGTAXoMmwG2BkQBiBDrCpIFRQVpDIwBmgGrA7oHlgFIAZ4DnAviCEgGnAKFAlABqAiqDs4UbgVxDksCXwRIAVEDkwrTDaABYwJYA4cLtAJGFFABmiriEMkHPzBZEYEErRWkEEwChhTHCGsWTwGZAXIGvgGeAcUBWArcAcYBdwGfBrIHWgLOAakFVAahDZESZQFyDFMDcQJrAWQInwpfAWMLsQJeBnYObgZMC1sKXQFVBmcEThUkB80EegKZCJICowVNEM4CUwblAZwBaQOcAkIFVAS+AUIM2QFaAmcBawK0A20HSw6NAaMHSAGtCM8dnR2sAZoDsQHiE7QSahLICUkHegSmAkUDLgJqDcgGywKmBe8B1gFICVAUcANhAVgMuALbG0cBfwqZIkYCcQFHDnoBbQRQDsEDcwJ2DlAEyxBQBUQFWAOuAX4BZQHQBVQCRAq1A6YEUAdfAXopTgqcCakIeQRDB2AFrAS+BkcDTgFeBEgHXgmbBb8DRwPXC5cEpAEyA+EGwQRPEMIDtgFGCEcLtQLbAkgBRwE7ApwJdQKxArkFpQJBEKwCSAfJBKEKXwWgAdcIPwbKE7wCvBm5CeICQgWvBFQBUALEAdcV6QaLA+YDzQeuD11NSw","lgLe","3QfG","KcY","ClAQfFiVBJkdRwRHAjVHoATUAbYCSxXnjwFfQ1FLQQQw/QEzKS4XOz1xBp0/TAhaCDI5LxJBCkkINW5RWlEGTxFOElcjTxEoGEcdJiIkF/EQ6gPBBacQogEtAp1cLgfuAkXtAUIbQwJ+BlwLOQlQDCkDpUNIGy4aVi04jgFQIPkB+AT7Bew","8hHyAe0","9xHp","8hG3","ygvR","pAm7","A5gPfifZAXIJnQNKGvAMxQhsDO8F5wHLAoMJSgOgJmQD2hF/EYYU1DxNB6ARvh1pAUQiaAWlNp0cYAgnZpEUQjGLIbqVAbGLAaA6wVqdKscPdh5TIMkBPHS8DMkGwQV/UaYO0QRyAaQERDXYFqQovjBCSYwBi22nDEgOKhpLDdcrxQJHC7gDxRhAD209tQvbB69Suw03Bt0ySgFFST8htQ","uwI/xQxL","qAp4lgSO","lwG1BjYWJkKM0gFqGKfOA/FCmp4CHwQthAE3MTs0iEKlAsNAaoYBXwFORk4lSIgDcQ5E","rQeL","owGFc2eUAYvIAoy9A3tfcSWxV5yQAne7A0g","BEYDQgptF3YCmgZPIVkFjwjXBCkQJQhoBScIJg8mBzYGewOjBicCUwY3A6ECmgItBi8NPQefAiseQhHVC+EwPwxQFIYfMAwyDmsRcCJzCqYGXBB0OlgBSBW/CjwWRSKCJ1EDNgrBDbYBlwI/EGMbLASyKzA8OBMkB8YgTCp8AyMIXQaRAjsCKgmiAzgOMgWYEJsMaQSCGkA2qQzLAaMNTwFSAt0J0wqoH54CdwtTDcYNgQa6BEQFngZxEZkCURojE6s3mAEdCUsbrB5IFUcEvwLIBCQISARQAlADpBtsEkcBPl4nAaUBrgzAClAFUQ5kBFIHNAlNECoBI0MlDCoNhwI4DnABygZoBkYNhAg4Ai4JqQlzEr4HpgvYBi0Daw03CaUEMBSwFaMGYA9fF6MFqwJCM6EPKwSFF3YtPBXGBUkNPBtABWQCPwRKNU4","sRBB","2gFNhwjI0AY2owFMO0w","MqwZvgtFCr0P2wGRAeok9QrCCOQEpRVCA14K2Q5oHeQH7CbUKpUBMQ1IGLUExwnJC58VSMYBlALoFpMSXSesErwM1pUByxayFFk8KibOMaogiw+CGVIGlRigC4wF6AaCCUcPpASpHnUStETBC+dCJQohG0UWrAvpC+EepQzdB0gKaw16AW4Fyg1XDe0P5xtINkMEbhMjJbkaNAnKA58E5gmXMUgChRxxN50KQQvuCe4BOBbuKsMlKSeMBdkZxQXMAccWUA7kAd0QykqqP+g","nwne","wwE6","9QK1","pQmC","lQHmLjo","wBDZ","3hGq","vQ6F","b4IBkQHA","1wXW","+AHk","/wHP","6gTd","qwEl","lQHu","ygzJ","rgxX","hBHd","7w/D","ygzU","6ASU4Abj","wArl","9wiV","1w0o","lBHK","wQmp","b9oBkQGpHawq5ZAKyo8CuIYB5gHLAccPNfAC7A","4gSo9QjX","ig6X","uAGS","oQy1","oQyU","nwHCCOQ","2wFo","pQLU","jQOf","xQ/d","lgdZ","MqzNAcnfDkc","b60CrA","b1ACtg","1w22","S64","wAps","zQHV","pwtF","qwGZ","/wFq","/wFq3w69Abs","mgmM","ywW8","+QJ8","8Qld","8Q00","0wut","ogfx","ogfx","8wHwzwbZAdEBvA","wgjQ","AZgiOgJUBZoBQBm1FXEGxg4jBJkJJQOoA6YHQgSaAaAHowx+A78BLgFKB5MGnwJADYADpBFwC7QGpBBhHMNtbQdsBMoKwRB+AaYP0AunFl4IVgl1AToOeCJdAl0BQRpwDp0aZSVuBLoYlwlIAVEDUBCiP94FfQnRAnoZphdqEXUerRpmE3kIRCikCG0GSA9jEU0HOA5KCWYbZgZ8CmkDhQxEDbICTQK+B6ofZAWqBEsKUAzMBH4CTQJoAZUBoR59EXUcfAaOBtEEkAGUBMEEcQuhASgCpxcrAcEDlgdwBEoOJQJDFn8GQxuiAz8CRwRCCjcBqwanBksCuwelCKYFQgJ8DEcERAJIHmwMuwZHBdkGNQElJ7cMoQY7Gy4LUQdpDJcTcwJQIMYFRQOWLycWZQHNBTUOnASbCEIHpBtFE28BohKiAjcGlw1LBSgH0gqnAaUInwekCGsKNgYjBLUGOAFtAaUPmyxyEywBJwm3GqQEORIsF8IFQRlqA0YNOis+Nz8rxw","+AXZ","BOAHxwPuHZkEhRC9A8YCfwFyBLIElQajAuMBrgPBAXcIsgakAaUEIwXZAbsCuQXKBaAHmgZiA08GYgJ+BI8JuAFlAksKUAZDDCYVqwGVAr8MTAE9C+cHljW7BpsLqgWPFZ8ErQGiBWkPhQ2ABeUWOgGmAU0kuyyyG8sUyQG0Cp4BkhBoB78QZgk9EEYLmQx0AWMGyBy3AaMDwQanA5wEMg9SBNAbyg12CqIDlBZ2DJwC1QOMCclYORqACqoFXQaBAtIMuQjPAdMCiAGhCEkE4AZ3BYIBQgq8GEEBSgZNJtsPswFlAfEFcRVsD6sIeQy8B80KlQa2AUkMuQFAA68OZRWwA68HlgFHA7sFpgW1ASIBng10BssDcwdHBqcCRwt1AUcDQglnCYwBzRy+ArsLmg1/F4sLngG8CD8CpgmJAUkIfQVFDkYIrAFGBFgB8ggxB4kDqQTEEMMHwwPCAUgBThZfAo4CeA6ZBKgBrANxAtsBwgGqBIgDwAMoBbACoQiMHn0B3wGyBL0C2gS1CEISjAJxAn4MYwNXAscHtgmqA4EF2wxMA4oJsQ3gBqMFXxNiDbEHZwiXAVIDkAQ8DLcGsAJuAbMBhghCCKMV1QRHEDwBUwONDNACeQGoAkgDTAJyCmgCpwFIAo0ENARlAvcKwgWzAooHlwW0A2ABzwOSCDgEpANwEEAKdx8+CNwB6gRSBzUEUgebA6EF7QVpBUUCrgufBj0HmokBSQ","5gzS","5wGd4gva","APEBMQHAAaUBRgHYAkIBegJSAcsBTQGnAqwBcgFJAUsEXwFrATMCdgGhAZgBcQHFAUsBigFwAT4BigE8BIsCjAGZAkEBXAGsAbUCTQE+AVYCdwOUAm0BVwFsApUETQKHAUIDZgJkAnkBcQI1AVkBlAFQAl4BYAF/B08BVQOSAnkBTwOHAaEBtQKbAe4BJwEnApwBVgHiAXwBoAGNAasC1AGrAdEBaAF4AbYBsQGMBcsBkAGuApgCMwGdAZ4CRgEoApcBnwHCApwBwwGtAaUBKgHbAnECLgFqAUsBmwG/ATQBvgEpAR8CzgE3ASUBZAHcAUQCKgE1AaABeAFgAbwCjwJLAY0BLQGeAZ4BggF3AacBegGsAYoB3wGzAmcFSwKJAoQBxgEmASUBUwHQATwBSgE+AdQBRQGbAXEDqQdzAZYFwgGbBnMCuAEsBJkDxAqNCjQBWATnC2oIXgLeBJgBxgOFAYsBsQHBAlQBWQFgAVoCLwI8AUcBRQKmA4sBpwbRA2sBqAJaAWQCqwN6AUoCVwHEAZABXQJkAkcBpwFJA5ECjQl4AdIC0AHLBUEEnQRmB7EBvwFbCywBOwF4AaEBmgHHBHQBnAFKAUIC5gHyAfIBlQK3B7MMTQLtAkYFUQG3BSsBYQi/AS8BlAI2A2cB8gFJB6IB8gGrAp0DRQGeA34KOQGoAU0EUwGSAc0JtQeICr0KwQHUBKcCSwXBArABugJ4AdMBngG5BFABcQGQA6gDWAQxBHEGugIlBFMC1AJ8AW0BmgE2BoIFiwEpA8ACowxJAnUDpQZsAdMUmgEvAXEBWwFUAVUBlwGfA9QJtQFsAcsGRgVoAWYB+gE7AT8DxwfLBIsBlAFZFKABpga2AXoDQwafAUQCpB9UA+8CxAJXAaADVgFjA2ANdQFkBbEH7wQ+BrIBJwQ+BiwBjQGzCbYJgQGlAcYFXARXCSsDtATUDKYCbAG6AXEFaAGmAVcCSgU/AnECOAjCAaoCqgTzBJEDZQGKAbgBIQJvA5MByAK+BL8BbgFgAakB7gHNAU4DewQvATcCdQE3ATEBHgGlAY0BLgEqBWYCMgGLAX0BXwo4ATAKrgK+AboeTwFdAaoMVQExA7wJUAE0BDIBRQHHAlgBKQXvBGADdAHNAegGiAMzAaQEvwWcAa0BkwGSC7gFiwFIAZQBTgScAX0BiANrBZYCSQJnAZ8DsgKrAU4DcQIlA74BLgHKAZwBUgJtAXYByAEkAXICZgHJAXYCSAWPAVINcAJtAaMBggHHAsQDVQF6AXsDVAKTAUMCwAFFAYkBKAFuAUYBlAGPAqUCLQFRAaQGHQbDAW4GsgGrASMBKAEyAhwDmwefAUoBPQIfAakDlAGeA1EBNQGRAoIBXAF6ASkBgwU4AU0BUgRKAXIDoQOGAXYHtwEzAWcBNQ1jA7kDJAVQAygBqgeUAXYCfgFUAioBRwGaAZYCOwEnAq8CqwFGCkcBKQGaCMcDgwEqAXYBwQFCAYoEfgGyASoBMwEpAaoBhgE3BJcBjgEmAVsBYgQ5AVMBbQLeAV4BmQGHEcUBigN5AZQBagGMAVQBQwE4AUIBmAG6AsMBVgEiAVMBawGUATABHgE4AWUBSwLbAYwBnwGZAkkEhALBBCcGYgRXAjEBeQKYAZEBagNgDHAB3gFkAbgBoQeWAUEDXwNMAWIF6wGUAcgBRgFgAUoBRgFSA7wCywRCAsACNgGFATkCngHvBJMCcAI9AVcBTQFjAWYCkgGoAYABowFKAVsBYQZxAYAGnQV/BZ8BpgKgAU4BuQHQBoACgwEoAZsBXQG8Ak8B0gK/ASgCWAFeAYgDZQyuAYADpwEtBbwBwQGBAU0BmQFmAbQBfgFzA0wBKAF8AaUBVgh+AW8BiQRxAVIBxQGAB6oCPQGvAbULOAGWASIJKwEvAUUBowd8BC0CbQGlAb8EOwKJB2oBQQF9AkgFzQFPAXsBggGtAU0BoQS+A8sErgJyAX8BKAF+Aj4BRQFVA4EBnQUgAYkCnwGTAYcBbwFrA4IBcQG/ApABxQFwAYoBgwGUATkBLAFCAVQCoANfAqYBWAE4Ac8BeQF4AbkBqAGHAo8B2wFkAVMHbQJtAioBvwGQAcwIfwKNAy0BUgJhAm8BLwHKAY8BnwFOAkMC0wGBAbEDwwFdAU8BwgFoA1wBvAGhAcoBUQJRAUYBewFrBTcBTgGWAosBIgOmAcwBugHVAVUBogGeA44FrgEqAVkFXAHMAVcCXAFvAZYClQGpAi4BWgJ6AXYCYQJjAT8DHAGyAZMBMwFVASkCZwFlAnIBPQHLAkcCZgRwAnsBOAZfAyAF3BBYAUUBxAQuAyQBiQd9AncBgwRvAV4BiwFuASQBawFJAZcBeAQrAy4C4gKkApcC0QNRAagBQwF8ASgCLwFpATYCjQHFCDEBPgHcAZ0DUAEhATgCTg1WASkCNYwBmjJG","9AIk","7w5i","C5w","BYsIh4kCZg","ugRt","1wtr","AOamA9wB6AHrGMwe6gnt6wPr","kgF55AE3JjxBZw07BHsVLTCQEXQLKxArAi2yBnE","c5k","bbc","swxo","bY4","pQbxAXd2bi/FoAFtIM0fSnNHZUpGZld1qwF6TsY/pRigoQE5ATEobA","uwGjggNeugKcnQlB","F8ObB0uWBKzRA0I","LnhSbERdb0oNeSSXPysCVr0BSpUCNQTTWS5xQhFgGCgrLwK7YrVwMRUlFzEQxBdPFCRaPxBo9QEwVEYmkAREFPJOThOSBUIadQxy","IL+DAUWmB585U5cBVw","RbkBvihdHo4EzCK0FpIj0AG6Wk5WTDKkEGAJdGC/bKkNcgaHDMdIvFmDSUci6g4yO6QCtCJnFnkD9AHpHecFnBKcBHQqcALFDMcKvCNGCUcKiwPQVKAkhynOCNs2fCZ6JkcEXB2aFowgSRgjT7gCPhc8BloP7wZ6CXRAmihWFjoJ4gJyAm0ER0CadLEOzECI","RXc","RaI","Rr4","sgGEsgfFAcuzAdA","ggmU","gRGf","5Qip","YbE","jAth","GnJ2eKUBm3FEggGikgLL1wFCngGaQcFFIgV3UiEmU1rergFaV2SeAYIaoRBflQFB","BKo8YlbfJpjjAuWEBOx6pnxCafFIrdUBpBCUR0AYQqgBhA","ggvd","ggud","4AGgSUq9Asj0AyhWSQ","swuj1QNH","5gTI","6w2j","DrMG3x7XBLUZaQa4BOIIQALsDPYB9AH4Gt0BoA7pA6AE3Aa6BO4BJwg/JPAbKUg/C3AbmBtBEfYOpiFsA8kl8UGKCpAEuSiwAjAlhB5LCJth8yA7G5sGTwmaFdIW0Cafc8QdPANBHzcRcwPbDd4c8w3qNDIZUQSxE98B8RC7CYECfR5lKtoEPVYnByUPJAKSBI0TRi+3BZshyQlsK2QDtFhFZjQOnz3tH+AT2wIwBWYJqC6FGzEDzAErBxgBhALZAoQCggQ2C4AEgQGDAXkCgAGABzAHoCBLAeIohxC4CfFj9Q","b9gC2PkPPA","b8oCaA","b3oB8w","8QlO","WeA","WeA","6hA8","cWg","swHvzAdC2gi9","M0mFAZsCYDmeB7BBiDmdrwJT+QFvvQEh0gKrBWlqxXY90wF09wGh","+w6z","+w6z","uwKI","swHp","swFr","oAHBO0AmtA/NiQFLkwGpzQGluwGY/wSVL0zJATwBRtwDSQ","0AKgIpjQA55BiGyaWkwVSwK0fUcmcRmnF7F5uD6gB0YFTMECndwBqQ","TrYCsxxFEjMZfhhnBEAIozg8WpwmmxNlA8oYqQVJgQFHNpwESWFSEGwBY1NFjAFLCXUTQwltSltgTBBoA1YJRjKkDzwCQhubH2kPTlluA54PmCVzCqwBpgOwApsIRCBGAVFWYRxuJ1MMPx1xJEYprBSzL7AGpAqbA3UCQjE9L6kLRxNvBW8DpgMgB2ACvCVIAU0NQBFEB4wJtA","HukegAFECWkNXCRHD2sDbiNoBr4I3Q3ZFXYDYwWhAcgIdhhYKpkYgQNxFaIFZTruB1YCnwFFGrZBfj1OIckgpDWBDG+FAU0lZgidAto7awOYL4I+sAtkB38ovga4BW8FngKmMrV0Qjj1B0MMZAFWMUMZnQeDBtYERwFHBqkHgyDOG6UZsxSrFCUi5ALiOHANSBFBJTwEUGHMGK8dcRFtFp8HS1KCDcoBZhOrAmsEcglvapk","RcA5YDo/GToannNI4wFMFj8qOL8CTQimngFvUU2WAUVFmFZHC0cBSBOdIJ0uTRF/BmgwmUeWBFxaniB9Gy4","yA7C","ngPB","ngPB","yA5x","ngPc","5QFp","5AGhAb4","EfUC8wTwAeMd8hXwAkYC6gXyNNe+Abwd7itHjAG5ArkBuCKoEPkW4QGzAoZdvVjWSMwW2gSOG7wB53VPe+8e3kTBAfAB+AH1B7gIvAZJBPUz8gH2AfNBxy+0GVEf8kHdG/ZP4SzryQH0Bt4B8RNGDt4Lmwr0BMsc+hr1H8Yf9RXvcLA","4g85","NTY","wg8c","7wms","mgd7","F2s","Tkn0Dl8","4gKu7AHmF7PcB+V748kBwCgmFbQguw","mgfN","zgSm","U4GyDlY","mgd7","Na+ND18gyA","NbiND2sgzw","4g9I","iArGM8MBzgG4","F4s","zxCX","pgyi","F9A","5Aay","/A/v","+gar","GII","EzM","1A6b","ywSYugSp","kAnH","gAGl","gAG9","wQtP","AVADgAWuBrcGgALnDE8NTwGHD6wT4hrdC2YFnAo+CXgIoQJBBXwCdgimA7ECSAOfD0AEmgzEBbEDiAGhAkAb1xtyIp4QtQNCDVIJSBm7AZcWRxCxDMMBmSXSA6cMrQGmDJ8SRTCpCnMZxwxLBq8NkDR2ApoBuwTQCp8BcQWiB8IT0xTPC4wGTiXOGrkE6giVCsoLoAGqCdUBqxBzDZ4G1AfpI4sBlw+0Ap4IqwqZA7QEogZCAZgDngmlAbUKSAXyAesIogvxE0YK4BqfCckCzwbFDNEGrAGmEbIIsBzGC3MBkwXeBKMBoBKYDIEBrQ+xBEojnwG6DacCpg+dBqkHPyHNA6YBSwGyAZoDUAZND6cNyAKvAVEBNwZTA5gB1wJCBIkChAp3AZcBrAXoCe0EwQFHA0MDTwFPB0gBqwGiAbYDygHKB6oCpQuwDUYDoQKBDpICQgmhDtgBqQWsBXQErgZZDWgBRgGGAqEBMAS7AZ0GQhauAakRUgmBAXIOTgk/AdMBVwJDBkQBTwewA54RRRiYEbkPnR6FAz8KSApDC0YDRwSpBZ4DyAGiA3EBaw1yAbECohKiAZ0Iyw5IDEMEpghlC6EBpA2gAZcEtwFODqABQAq5A7wBuBKqBNEoRgJLAcMEnwcoAtcFyQGuAUICQQNQAUECmQXQAaIFpAS7A0UPbgGXKbA3rg","/gesAao","/geN","6gOf","BFQBnQPYA1cCuwGzBUICzwO7A4EEXALNA00PnAHBAc8C1gTNB+YBuQLjAUoCuwFYAbABdgFGAa4DcgKxAVcBuQGKBbYFyQlNAaUBVwKoAWkCpQNIAXIDrQRGAacDsQFIBqAEtAM7AbsCyQOwAakBsAKAAmUCwgHcAs4EdgHKAcYBuAFFAcsBYgWxAWsEnwFdArUBKQO2AbsDyAFCAnECoAGrAbQEjQeJA6ABhwGcAU8BnwFVAZ4CSwFbAUAEYwHCAcIBwgG/AcMBwQGbAZ0BvwOtAVADWAF+A54CQg93A4ADPgfXBZ4DSAVtArYKWAFzBKgKqwE+CY4BkQLOCJ4CoAFzAbIB0gm4AkgFyQGXAbwDuQHkAaQIvwF8AnoBrAGfArgB2AZsAYsCRgJXAqIMwQVBAXUBqwJMAcUEUAOrAWoBrAErAmkByAEvE1gPsgGwBpsDpgGfAUoEOAKVAjoBWgSIBXEG0Aq6AUUDcgOaAYoGZgqmAVAJswGvAywBRQEtAVgBTQJHAUgE5QdNAVEBgAHIB0wCrgEvAYsCSAFBBKYDzgVTAd8GvgI8AmUC5ASHBIYCtgFGAZ4BogGiAqMBiwGeBGsMcwFGAosCoQWxDkoJxwHdAlMCzQObCtgNbwIwATsF5AHCAUsI4gLgBFoOVgJQBmkFjAZOAmkFeRJIBasH4AJLAnIKOQZdBaAHpAjlAqUC8walA7MGoAlXAVoB0wmYBrABxwRuAr8EYAHGAsUGtgVmBDwGwAHXAV0GdAWmAsQBlgFpAUgK5AFLApgIewR3AcQBqwJ2A08BRgJGBLUDWQKqAacD0QStAbUCdwHWApwB3AFxAaQB3QTdEEgBrQpyApgHvQOsCOMDzQRiAWIBYgS1AXkBzQFDBUgBOQapBG0BSAHQA+sC0gG7Bb8BogNMA4AFvAHMAT4BRgPAAiEBRQHRC28F4AFnAe4OrgHuAuQB3QF7BuAB4ARRBqgCvATGA0MBJAfLAa0CdwOMAUMCxwJRAagB8AG1AyEETQFiAcoF7gPOBKMCpgikAdQEYgJCAa0BhAFIAc8BwQPVAUwBdQSnAXwBtQF4AaUCrAHbAasC4wHKAXkCywFCApYH1AM+BF0BxwV9Bn4BfgF2AWQEzQGsAeMBoQJCAbIMPwK0BdUDxgFZAbMBrgPcAq8DyxBFBVQDSAGaA9kEygqlAicCXQE9AnUKYAHIAW4IwgG6AsoCqAHdAWoC4wGxA/ABQwHmAuIGQAImAVEB4AF3CKUBcgGsAbsCxgHcArYBMgJUBJACxAExAqYB8gK8AZMCqgFPArcBywFUBNwBrQXhBOQCqQLNAdACkgSNAZoD0wO9A24D2wN+AcABbgNHAUgHWgFIAVoBoQJaAVoB3gHzAaID0QJiAc4BzwGSAnIFdwV+A0sBpwSnCJwBSALUAoQBvgJLDMoErQW6AaYB6gLtBaQOqQbWAWUDuQGGAcoE3gKGAkcDpgTIA5oEzwq+ApgDigGnAdoBXgG8AbsBuwHJAk0BLQK1AogCwAHvAaEE6wmeAZME2wHZAdkF2QOzApgExwHKA9AGSAl8AdwBzA9jAuMGrQF+AX4BuQG3AbgB3gG6CZUCdgGoBy0CNQeqAWQKQgH2BNQBRAIuAqYCSQKRA8kCrQZaAocBtAGnAYsD0wSfAbwCWgHBAUUE0wGkA10BTwVPAasD4wSyAa8BsgGvAdoBsgGuArsEwwZtAikFpwJFA3oDSwGgA6sD2AGYA0YIrAGqB88CQgFBAYwB8wifB7wBygEmBLUCMQObA40FzAG4A90DXQHRAkABcAHNAqcGxQOwA3sZUQRvCNcDJAHFAX4BfgF+AcICpwMbBNMF1QJkAZwCzwHPArgFuQTMAbwCmwE6AfUBoQHCAb8FvwTaBNwD1gFJAqcDgQKZAcMBLgRFDa8DmA+qAcoFPBLmBPUG7wK1AZ4BbASsAd4ElgeRFUoa9gGyA6sB4wbQBagBqQFJA5sBxQfsA6MBrALFCLQFqALCFPENuA","lgGA","iQWxHJ+ZBMYHo1PE0wHHGNlG24oF0A","hRHF","gAVG","6QLPog7L","6wt3","mAi60wnm","zwaltgrw","2Ak8Pk0","mwjL3gm0","nA7g","xgib","nA6X","6wnN","6wmn","zhHm","zhHb","1g23","gRHl","gAFJEkchQBlGKULwBUqdAcAkQOoBQwxRlwNRejw","AG4UaxaaA0sTgRmhCpUM3gG4DK0LQhhBAqEBhANlBugFoCDOAiYjQgt2D38cVAupA94joi3hE0wIplV+CqApdwh4CZgETAtKD2UFZAJ/DuQQRiFsaH5FJwODF5kbpBSlBZ8NphZ/EUUcMgOaKFcoTRc7C6II0DBJEqIJTjpWAUYOQgf0AecJSASeC20DVgF/ATgNoRNKHkkChAEqBX8EPQFTC1wWlgeZAUcCTCDAG0gYdwa4AYAJRwI7AUYCSAFSAicGUwFRAV8dQgxVAVoBVwFYO0sNURJSCXcCQwlVCbYSeBefZK0Hkwg+W+ESNwFwBIkOSSvNCJgXRgouEqYIrBygFUstVQRjHzgYqBZSCDwkSRFZ","hQra","qwFu","qwHR","HmtR0wprISoFQQxgAScmJsYBrgunAWNXp0adkQFNxQGbjAKjYURZhDdIAb9aMQZZpQFQSS03TSE0O7QHrSJGBusjzwJJQKg","b5gB3pQJ9QHkA/Iz9QH5Ae2tBrc","iArPNNkBsg","B90snCNFEj4HmALSGpoBYhfRAqsImwdxAV4IoQdLEZ8gwAWkF40bgQN/BEoLkwJSBkIKoAYnHmswSQRJGs0GPQWlFeYB6QSpDKMI7AhHEEcKcBKQAmMYbRetBnkK9RGkCkIVbgJIBDQCmwtLDVcCWxFGJmIFPBxPJ7cDmx2uAmkJZgFnBjgLjgVHDo4FlgGbDZ8C7RyeAT8RmQOdDioNTQRmBtUb0hxeJB4VrBCTBIYCqg9GDo0HQA5xFnME3AEzDKYKIiRLFMkBhxGTK3MDpwFLBoIEYBpSEakHSQJRCaUBKgq9ATIIVAFHBzIOHgduBJIBVwONE04Gqg0+BVMMxhpHAUsIdwGpB14DMAElH8oCSgdIA2cMmg1EA2ADegGsCrUCSyCrAmQBLQ1TG1YHqCF3A0EBaAdSA+gOQw+bBjUHdwJQC3kBmw6SBEMHNxVIAbUCcgmxAlALSwlBAaEBgQcmCE8FhAxqC2wjNwFvCLADyQqoAacEigdZAbEBTQFMAp8ORQGhFuAB9RSXBKkCRxDQQkkOsCJMBTws0A","kQI0","owHR","wgVb","wgOtBj0a5gHp","B8s","pgds","pgew","AZgcTYIJnAtKmQU+WaKNAcw","AngIwAawBCgG7AFhAlEBmQa+BdUCygbrAvEIqwS6AcgDqgjvAd0H7AFaAWUJeQV6C7EBUgIqDjoBRQdjBr4KpANfAU4CoATxCdwBZwN0CKUF3AHdBKsJug5CB/MBhg23AUwF0h+1GuQJxAFzC9oRhwmfA/QfshAyAagM8wHiB7IE5zLbAcAF7QKVCecC8wRzDU0GrCjqDaQC7ylJN/gCwRqLBeYKZwL6DPEqdS47IdUOLBPEK4wB8kfpB58JzAbnBq8Ucxh5BewF+AScArkQUQRGAeJPaxXMA/AVxQjyAvcDdQhFCXoOxAnNDkMB2hD2FLsIvR6sA/cFhAHTCjsDfQHpAaob9gmtBPUM+R6eCLoWTAb5Ae8R+CjoBEcNVwtWATUJRwNKCvMB6wH4AdgB1A/sJX8H7gg/CusB4UPZArIE1wL5C3UHJwN7DNgERA25COAIpwJ0DvUMjiCtE98JkwE2HVwI9wS7CfoSXgGiB5wC3gO8BkoihAj2Aa4DxwfdBJEBigPMDnEH7AgrBOIM6gvoAdMB7xDpG/UucSCIIGEBPA","M1/4B5SmAbE","M1/4B5SmAbE","uQGrIaKhApvgA0aNA6WWA5qbAUIjiXRJ","rgx6","uQVq","rgxQ","iAuP","S5A","5w2y","mQNL","rQ/T","iAuP","lwdX","2AN5EmQ","wAKa","lQs3","yRBW","ug+v","pQPm","jw2Q","ug+N","jw2Q","1BDI","zwlE","wAKh","6w1v","6w1v","uATv","7Q1h","iALdAa8gOionUCuZBEcSgZoK2w","iAK1Aa8","6AH2","6AFt","6AHB","6AGm","D7cNcwdtFsIrtAmQBUgBdQdGB6cPKAYmD4EHtQmkEi8QQg8rC3oEnAmvLFgC2wMtITEOtxWbB1hIcy9YEc8FNgxiCnMLkheECaYBpgORFDkINQszFtsZSAc2CksgYyVOQrFJRxpLH0oLTwOrArgLKASGB7Qioi8lHGMxTA+WCV0UNhnHAS8EKgUzA20ElgGiCKYFaxxTGnMWaR1FDW4DOQksEV0KWhMvBTEOoRIyAdgHTwoxAY4BwwegFG4BTAonKdQBMhNLAo0CnwmgC50GcQFQFmgD2gRIDikUdwgrAy8INAE0ATQIPwKSAUsPnjWFC2oLOQm0GnADpwubD1MhPAI1AkUUMQNaFUILPAJwHF8EzzOnB7smQwbAB7YLJz6XBFUZsBjrBO4Cz0e9","ogFb/AWe2gPsAdx28lPRHpXPAYSHAZM","pQuT5gGc","6Qur","+ArjAdx27g","3QKWngHigQTVugHf4wXyC+E","/AfM","0w/K","yg8k","0w+a","6Q48AjU","xQGz","6AFHbOQF0gHed/kD+zDvAekB6IcB3ELzkgJJjwHqAU4B+wOPAfsU8q4BtySrCveEAWIt8A","oAXB","8gjtBOc","hASv","uAZpF/Y","nwX4","nwW3","1AIt","vAbnuwZ7Vdu1AoA8qw","vAbq9gIq","9wx7","ignK","b9YCaP0D248F2eYBzQ","1APvngXlBOM","3Aqr","1AIt","2AGy8wWKlwfcsgHp","2wSD","2wSD","VdyGBIeIAesCxNAD5YEBuLsBjroF3w","2wS1","2wS1","2wTD","2wTD","AM0BwgHUA48BXgKgApsBugHWAbECyAOhAccBqQLJAlMGmQFwAogCowKKAowBigFnA6sBSQKpBNsByQHnAncCjgHSAtUBtwGdAdkBygK/Ac4BcQF3A7sBVgLeAqUBwAF4BuQCtQLLAWwCuwNGA7kBUwF5AU8EzQOsAtQB5wHzAc0HZgG0A60BsAHVAkkLtAS6AdoBqgJXAr8BZgPCAagBgwTWAcEDhQS0BpsDdQGDAVkBnQKMAaUB4QFXAqYBPwZxAbgGuwKmBGgD5gG0A7ECkgHnBLwLbAHSDt0EqQarB0YPZhChA08KngLcAp8B2gNQAasBqgKvAt4MtQPrAeECJwPHA9YDdwGMB7MFtQHLA9UHkwJkAaACsAOkBHYD4gTFBdMBqAGxAZgJngekAaADcgFJAt4BqAGRAXkCxwHNB6wDxQmhAaQHagadAZIPdQGlBrMDdgHEAuEDzQG8DrwH2gKqBacJmgpGCq0BeAR3B8EB0gFQAWACwQbnAdABhgG0Aa8BwwHhA5II6giRAcgDxwRAAXkBnQTeAmkBlAXHBEsIxwZLAtsDuAStA5wCrAK0BHwFqQKYAaoBlwPsAYoBlgJZAqoBrgPlCp8BrgKaA7wCpQKzA9gBhwSjDNECvwWdD84BhQeZA/IH6AJKB2cOzQaxBIkCrwF4AuQBsAHEAcAH7AKRAYgKbA1/BGgHfAReB8MBdA2QBJ8BmAfqB7oCqwRzA+UMoAZKAVkFngFvAn0RvwK8AaAKRwPKA3kCqgPTAn8FxgGcAb8CswJrA8kDlQSEBZ8BnwHIAaEEvgOeAdMBswpIDa8BrgKvAdMDqAOCBKgBnQa0AYUJhwHnAboBpgehBaUDxQeFAtQBbgZlBKIGvQPbCdIB6QOKAZwEbQKYAp0BwgKsAYQG1gamBMEBcQF+BawBgwGvCnUBtQFLAbQDggN2A7AFzQTdBaoERQHfBq0BwgHYF6wClQWsAe8CxwK9Ab8DlAHvBO0B4gHXBKACvwbAAUIBhAS6A44BuwHIAqMGkAZ9Bn0B1AGZAtkCtQHMArsB6AifAYkENgSPBsAEpwGBAZ0CwRN9AcsBngKVA5MBvQGBAucBjgHoCbwBqAG7AqABdgSeAccMYgFIC8kDsAOxAY8BtwGLAdYBrQG6AZsBdQGIAdQCyQFsAZ8BzAGWAe0F5AGPA1ABowLDAZEC1wLmAY8BiAWWA9QC5gJoArgBwgF+As4FrwFQAYMClwHeAsUCHgPfAbQCUQpJBIEIdwSVAdIB7wJsArMBvgHLAosJoAJ+AdYBqgGpB7oBrgOiCm4BegGaAroC7QOFBoACogKlBLIGuQGeAp0CbASrAbkBJQOlCMgGyAisAuIB4QGsAXoBugHJAUgHegPPAbEEeQGoBKUDpgGjEZQB7QZ7AZsB0QHVAccB1ALVAq4BVAKdAbkBrwjkAeIBrQHkA4UBxQGgAbEE5gWpAsMChQGZCMkBrwugCk0BnAHyAc8IbwLICI4B5wGRApwF1AFpAqMBpgHQCnMBhwNpAVcB5gPOBNUBJgStAb0DngF0AuQDsgHOAfEDyQFNBakB1QGmAYgBRwG/AcYBSAWlAZYBowGRAeQB2wThC68CtwGhA/MCpAWWAnQDpQHNAZMBmgLhAd8BigHnAbYBhQOuAdMBhAGhBHEBSQKvAUgD7AHRAdoBxgHVAbEBvgHFAZcBqQKuAm0BnAGdAcoBxwHTA4wBmQO2AbQBowPjBr4BswGABKwCfAL0BecCrAE3AckBlAHWArMDqAPOAnsD8AKuAYECegHLA5kGuAGBCGADuwjsAtEBrgHaBsADugGfCYQIogJAAm4CtgXiAqMBcwF2AZ0CrQHPAuMCqgJ3BKYDfgGcAXIBsQGmA44DQwa/A44BdAHGAYcDwgGaAfMBrAK5CqIBpwGgAY8BsAHPAcAFSwPPAdwGYQOACN4B6QKxBfQHVQHFBesIwgGrB8YEYwRQAb8B4QPVAWkHOwzeDrkLyQPQCN4JqQVkAUQHkwi0AsQK0QTSDE4","cLk","b78","8QvW","2g6K","2g6k","hwGpE3oHUTB6iwFIIFdhQSZvzgGnVDQEc3wkOa4QL3BaBEs6bBxHHGIIcSNtO1dOURJfSFQVeh+kea8LrhSoMWEOnCQlD0gpUCuhE5wBNjJFMHE5hvIBTg","nw/c","4g3s","qw7L","qw6J","cJEBxg","b5Q","ggZn","wxBW","b7I","cNo","AL8OXApTAnIGuARNElEJvR9QBD8OywpGAk8oRwZLBbMFPx1HBlsRKVE/I0gBtiGdG0sBTAdQPksPXkWvI4FkdQZQOHway1ZyXEMmSQVILWVL00JSB0kpSDJHDX4Y1S5LQzk1pF/sAe0DNDdHDkMQswyfIHoOmw1FOacJShBJECQ5SBBLSa0K7SVFI5+HAbg3zw","0w9a","tQzfAeE","+AV8","xAdD7ALVqQe9","2AGy","kQuH","FCg","FCg","vwax","vwax","AEIBcAFcAaQCcAHNAUsBjwJQAdcCQgHKAVEDSwHUAsoB5QN0A20BpgEtAbcBnwE1AWwDtgGIAnYB3QGaA0kCRAG2A7YCWQLLAmMDfAF3AXABfgdKA7IFgQNZAXcBoAFaAZkBHgGNA+EPUAFYAoQBPgV5AXUCdAJNAqYBiwFcAW8BbQHLBGgCagHgAWsBfwJuA9MB5wFZBKkCMwS0AYkC3AK9CMcBawE3AtoBzAInAUMB4wGfASoBowGCAXgEdQKRAScBrgKhBWUBkAOcAYoG4AgqAboBqwKLAqkCYAHLAakIKwEpBMYBaAexA50JuQFzAdUBpgQvCmYFrwvQCN0BygUtBG8BPAKgAogBnQHJAbMCgAJ7ASkBfAKlCnwCcgKJA5UCngOZAUgBswGpAcsBTgE5AmsHkQOBAZkFnAJ8AzcBUwW3AXcDwwGLA+EIeQaxA9MExgSZCLEBxgErAnsChQZwDb8CLwFmAXMFpAGiBOcB1wOdBaECtwM2BtsHOAHTBUsBlQLdC64BvgLDBrsD5wKeBssExgp1C9EBpgN7B0ADkQKJBmgBkAKdBl8OzggwAkkCTQE2BjUFowKeAcMGsQWcBHQEjQFbA00BZANnCMgLagFnAbsBvwF2AywDmwJoAm0DsgFjAU0BNgHaAX4DkgaoAncEZwNFBmMBqwS3B+gBcAFxCKsDzwOyAWsFUAEhAZ4BwgGfBocDLQF6AnoC1QrKFXMDgwOPHoQEmwbKBSMFpgFOAVgFTQLeAZwKrgNpA+ECOALFAlcFbgQ/A60QUAJjAUQFmQHdAYABxwFwAUoC6gMkApQBZgm5AaoBpgOZB2oCwQF1ApsBbQWmAn4CYQG1ATUCsgKrAi4GmgPmAjwBkQFCA2UBSAdIBHcBcAG3ApAB3gKyAXABkwFIAsgDagayApELlgTjAdgCkAHYA9cDzAagAUgIpAHyA3kBMQO4AowHPwG8BK4BzQOYAWwMOwgsBH8FigS9AXoBoQGMAeMJ2wGsAeQBsQNkA3cCVwOlAbYB1QTlAtkCvgcuBp0FhQGLAToBpQF6A5UBSQFmAUsDoQHjAqIFmgExAcgHqASpAdkE0wG2AncDsgSXA4QCgAG/AZ4BfAGlAboCuAGaBC0PdAaiAiMBhgHOAr0BdwJ2BFYCrgLDAdYGfQNIAZ8CtQOvB6sBgQEtAXYIuAF0AoYHjQGuAasBkwF3AeQBkQHXDZYBYwXSAsUDkwR1AZoDcwEsAWwCcALUAUgCUgPMAWMBKALjAboBqwmtAXMJlwMnAYsDeAGcA2kCdAEqAY4BKQEqBMwCuQLTArYGRQOJATABLxGEBKIBdgHDAbQBlgGJAXgBJgGjAZYBRAFIAYABggExAnABygE2AXkCcwFqASQBTAHRAngBlgTaAkkEfgNOAosDSgLKAr4BfgFOAVIBqwFqAscQQAGlCEUBrQJxCkoCWQmhAjYCJgJwAzcBhQJQBTsB4gHeA2YCYAFEA90BQAGFAdUBfALLBYMBqAG8AWMBxwvoAskDwwGrAbcFnwLBAaACtQEpAdwByAJ4AdgC1QHGA5gBawLqBGEGzASnAzUBfwWrAowBhQGPAS8CiAGWAqEFsgKiBj8BMQGaBXoJIwNqAXoDTQRaA+YBkgFTAUQCzgnMCHMCuwFpAUwBzwI8AXcBzwNvAocErgTNAXECpARiARkFewFlB2oCfwKfAqYBZAGyAXEDrwHLBcgHLgFkAZQCSQMrAo4BjQHQAYQC3gGkATADtQKOASECrAEhAiwBvgK6A44CWgIxAk0B2wmwAzIEgwgeA04DYQF5ATUBsgF9AXMBKQF5AqwCRwGhBIcBygG6AW4CvQGhAekBUwHCAdoBIgsuA2IBQAHoAqcDsQF5BUYFXgPaAfEDgQGiA2oCkwLTASkDtwJtA1MDhwKHAV8BQQF4AcYCcgJ6AaMBvAErAnoBpQFHAXkEfwS/AqoErAOHCcsDlgigAegCJwPgAdgDxgGfBe0B4wMbAXYFegVkAUcBjwPYBK0CgQQjAoIB3gNxAVgBJwEoAqsEqAFZAeAEbANjAqAE0QGrATgBdQGuGEcF1gWVCEQGxgTVAqoBSQFtBHcEuwZLAkECbgKHGJYRtg6JAkUBbwFIAogDUANMAcEESQJJBEkDPxFpEEsBRARGC20KRg","9QeN","4APa","rwqg","jQHL","zAOX","jAF5","nA5e","lw5y","3wRJ","mQOQ","zwyL","uwKj","PHwBd0GsxQ+P","nQao","MOYX0wamIKAOrhQpBNoZzAHQLKEN11p5E8UM2Uh+IJsHYRTxXogXfgbsQtIB2x9lYJ8Xw0HSHJwUtBWsBCMSvzItfbwFrhEuBqYFNgybRNUlNQ10BaMh6RPJDigNMAFsGSkBYBOvAbcBwhMrHrsG0grlC7EPRxzWAnUM0CLSFTgDbhBrH6sGgQIfBYUQtgtqLdISdiMgBUEHWgPaC68BiAXXFuAB1BamD34GsgGlKL4BMw1tSJ8mbBwh","xAFL1QltakcqlIYBdHyjJzo","MJY","MIA","oAVl","4gPU","nwZz","gwektQOd","rQGb1ANq","5wFhtQqK","7gafvgNtdXqxBtE","AGIXvAyjErYpUAPoSKYJIwK0BJsZoBj1A6QB5h6mNZoRcwTgNrsSoQl8AX4ByijFCN0GoxevTHBkWg1NKEgOchpPDroNMCZ2JOQs7jegBHgE4AzLKfga5ktLBIkU1AzJAfQRNgdxO5oDYCXHK/ZZKgIpOaYUSTdOMOUClA25I/QHvA3XAdoUqgwrEr4c2Q7UDtBHTRkyAqIpmQKYKUgGR2O+AeEZUBZ2BfYBqQH3AvoI30ncAes","kQnA","6QGO","+Azp","kQnx","oQjl","zxDe","zRBt","xgxp","xgzg","yAyU","hwhr","AGI","6QHc","oRHr","pgN8AX4BxqoEuw","hwiX","xgws","An4DjwO4BYEFowt7AaMETAI8DIMFrwd8AXctygJcBSoCmQKXAm0DtwSEApYFLQEpBccCggdAAlcDewGaCqICfAOmAjcCZwGpB4wBiQNIA5gBbwOwE5wCnwShAbwBkxG6B7sCtwGqCoAL0QtOE08GmQVfAq8BlAJDBnUERA0xAXMCogptAaEMxAmbBJ8FpASWDZ8MpwplBLgEjxe+BZsGPQqmDbMJRSZgCpsKng14AasFrwWjAS8BNANwA6UEmAaqAbEFnQZxA1AIlAVyAZkDgwKZBqMGmgV2BrEGlwqYB80BoQJCAUgEegmBEFsQyhXBB6wBYQwtB6gBbQSzGJgHrR2hBD4LQgiXE8sTiRatAVcGnQqdCqAPmgGAApUBpAOzAUYBcgGgCaoBbwaVAUMHmAGfAWUBtwGhBjIDexerAW0aWwRoAYcZYwGnBigQeQEeBL4DrAOiDaMjdQG1AXwGVASmBlgBhwGVBIABvAKeAsECTQNPBHUBoA+mCHUClQMyApYDeAIvA2sCPQRrASIBngYdDXwBrAMyAmYMowqwBSgCKQdFCbMIKAOdA1cISgt9AcsEagO9AZoJswguAlwCqAGoAXYBVAp5AWIMngEqBmEDpAqDBEcIpQKhAksDuA6CCCcDcwHAAXkBZgFPAWsDyAZTAXUFKgaaA4kGjAVTA6ABTgKhAWoBgQnIBmsBmwEkCXgGlwN0AVEDbgGZA54BKQYzBrUBPwdaAVcBWAGgAWsEkQMvBHQBdgOnAr4FUAaVCoQGdgasAUgDhQFrAyEXUAF+CsoBogK3AS8BnwUtAk0KqgOmAyoCoAGqCzcPzgeYAaAfeAHDAcsZWAFpBpwEoQXxAakCqQiuAZECogGCA3IBlAEgAocIdAE1AXwBZAVWAqMDjgamA5IFvQqfA6UBowGjAzUBawGmBq4DzQO2AUsBnQGiA50BnQKJBKYDrwFKCKYFkQJzAZsBMAloA1EFngOyAcUBjwKgAZcBfAKjAXACsAR3BKQCqAScBm0CogeDAiAJgxtdDW4BZgSlAVcBrAGnAkEEVAFQC3IEyQF+Ci8KTAF4Fa8BdkHMAcYBmSa1ATkBsB+iEKMBPAVCFUYH0hNW","oA6k","nw8o","oA7v","mwNQ","FqAOsQQ0hQEuDkhwoCWtCT8eYAVFLzwXkVFzkQGaFXoYSB4hlAFHOUoTTgc8So+pAaYGRDyjA7ohbj4xEchEQQiiDiQl3ATFX00RRRpTCSUBPARXCERMnC08IiEKKzSXDZwLUgdCAWWKAXIgngRqCjM","uglP","jw/K","4APcAd8","tgZylgfXtQI/","AcUCwQWgAa4CrgR+ET0DowNLAqkRTgN8AXcEZgLgAUEOsQuRBMMJSgOUBDwBbAF1AnQBXwhqAW8E3AZoAkIBoAufAUMLvAJ3BEIEXQKfA4YCjgFeAmQBmwsmAVsDlQcyBMQBnAKfBnwLaQakAZ0otxB9B8kUKRGkAncKuwJwA54EygSkAs8CqwYkHpkJdAGMA6QDoANWAWMFLx12BpIKZgKxBMIIcAPoBHQOIAqgBJsfbgtAC+oBwwVwCKILSAGdAZ4C4QKcBXMFuQF/K8gK6QE0AUsBbgFzBMgEsAfdApEBxAvsA2oCPwO5BXcGSAJjCd0MUwbGDZ0ieALJBpsRtSJODFEIgwc4BJwGhQSxH8QHhQugCm0DpQFTAaMHKQ9tBMYEaAJCAcEJsgQ7C0gNrBvnBFMBzQ7aAc0LpAJZBJUDRA2FC28EbQZ8FM4BTA9cB00CfQOGA10DcwNyAbQDhAN7CeYDlhSFBDIBnQcyBTMJnQS/CL8HfAJiAkIFhQulCo0Cdwp+AXYENgFMA34DwgWkBbIgNRu1DocDngFIAqgHuQRgBqMCmQqLCZMGkAGlBIQEdgF2AsQCJwJjAlECsQNsBB4FpAImA2cGeQG/Bk4FSgUmAjEBRwZLBKAGJw9IA7cIlQHqAkABKQGyBUsCNhOGAXUCRgHVBCUBpgGmAW4C7ALYFTIExQHAAb0E1AOiAbEDqwVSB8UDlwicDK8EtwORAzcBigSjCI4BMQPbDGcCsQG2BIoUTQhCAXMLsBHfB3sLyAYnA6oD9AeFBK8BiwKDBbADcgJSA50CPAG0AncFrQJ8BI4ClwPHB7QHxRI8BikKdwFCBXQDawNtCmwBnQIyAUAEsASoBEYMKAGeA0MCjwOXAnEBxgWJBbkCWgEjAeoE0wXQAbsdrgKWA8YDmgUnAb0DugSeCioETBW2AnUBRAF4BCcBexF4BasEuQK9FksBoA6kJ80TyBDhDUIdPAPUC6MFSAq/FEkJwQ","lQe4gwdH","pAOh","mA5H","pAPp8QO4","lhBn","rwp0","Jks","mQl9","PHwBd0Fq","2QRq","wxCP","mQ7b","BUIETgFQArMDowKpEWwCpQxPCsUWUgGOInUhQA2hCm0FQAxAAS1NPh+cDzMCaSRILpsMpB5pAWYJgwKuFaYEoArCAjgekBgwHjkfUQaeDSgEtxbtBJwEpwGUCk0YTRCrA55gRwVwNIoCsAddDDgaXxN9EaABPwSuCmgEdgRwF5MHmAGRAZkVngOWJS8BOR3KBJUbnBdWDJsCcAg4DYYFkwFzAZMFKBdKAUIJpgidCHUDQQlQDYMNdimcBH4FvQiaAp8HSiWlBCgNOwlwEZgBYAaJCcoBdBKFBp8CogSmDh4PjQpuC0cbcg6wG1gIewUlAygHcRKnGLQWNQktB58BjAJEHs4BhgiJD2wIUgKABlARcgSRB6IFlgLKAZgClBhvC2sCLwViCKMGKgNxDp0BpQo4H6cTnAalCzwJPAKlBZcabQubHcsBdRypAeECSwJvAWsFbQRtBHUJpgJBEcsKsAKVLpcq7Q","lBDh","uw/G","lQfQnwLjygTrigNu","yA+I","tgZdlgfJ","7wV3kgo/","QNQ","QLY","QLY","7wV3","3QHW9gF4tATg6wjX","0wN4","0QPSmgWc","1wGGBvMZQgOksAE+vgJHWdMBtoMB1IQB8LQBSjTmmwK+AeGNBfM","xAcp","ywy0","3QG5","5Af3","5Acu","5AfQ","ywxaAV4","3QFg","3QG5","xAeq","3QG5","yAjLkQno","xAfMjgPLF3I","twKU","hgXxqAXC","/QWv","xAeq","mgKixAgs","0wWo/wSuF7Q","9Q/g","9Q/Z","qQP3","pgHwlg18","sg3p","sQ35AcY","vA47","vA5l","pg/4","pg82","tgHc","WH4","jguW","pQ+h","pA70","aoFU3dsE2cAEtmkn4QLZEfl/MXHI","Vh7sCic","Vh7sClk","ow7Z","sw5R","hwE+4QuywAPh","pwS5","xgKx3wOb3QSs4QOwVJM","JEJGNUK+Ip85Lz9kUjR7YI0BTYUBR7oBWr4BpgVSO1IiQRNJBE1ISSTAKC4vngNxiQGQFppdV0ipQ8MFQRiJM0k","vgs0","ZMFqwA","wQTylALAH6oC1wes","1QbAH6oCrAes","9gI3","hgEpMijSCo/fAqiUAkkrPAM7B0YHOD9IAT8","lgyk","BdAI7R2XGJAYuw+5BCMCmAXKDLEkNA9rApYJ5QmlDZ8LrA6dCSxNphAnAydTmRmRBJwgOkGeKCsIJQgrBOk0zSukadEYTAQ+FcpAqgzLFCgGSUWbD/ARSDLIBUsPphm0C50KcgHGGMckMjbcA54IIxvZDnkScD+pEKcYKwieBSUEMSSsFKIbLgwmEkUBQSp5DygDmAHAJSgBqgqOApMHqiSsC18goh6pCaQHpAibAjQBnCPDCfEHpwYxDKYF6AMxAWUcqw3UFagV6gL1LGYFSAExBZMFKwWnAqQLnwQ2IrwBKXtJEUk","1gJG","pQ+h","lwXN9wa5","jgxY","wwJEngVCxQFA","ugRRqwZBqwKKUy3BAZMshw","hAef","pA7O","9Q+w","F9xTWjtlFYYC1H02GqImqyo/JG55XGGljQJwWJisAXcnxiJiT1Q9zoUB3nKhCpwHrBjFVuoDYBE/KcmSATkCRzOEGzUUYzFWEUwCgAZEFEE9RVjb","1wGS/guY","jw2s","ako","/Q2s","oxJW","/Q3g","hwvIswPJxwGE","sBBj","nQHd","SsQJyRBiL5YRagSiBXcJlivwBOABt2Fr5QXkLMM8owSCBHJ4mZIBpVK1LpsggR4uF5oOnIYBmzFXRvgfn6gBzw","hQ+o","hQ/A","U5+NAeylDek","hQ+A","hQ+i","IFEVNhNgMHYPPjHZbZ5B4AGiggHVbYEDemgwIucCuMYBhjbJV4EHkQ65W8or4RkdRewBIQLQAezSAdEw4yG0T4UIlBH0OugCYh1SJKhfKSbRIEg5KxZBCYgPlBXtAccjXgFGmgHF","He8YqARUE0YC4QhFIqIorhjUBM4/0ATvQj8l8gLMDD8CpAN8ArwG2FE7F+1wqwHJA4NtwBlzAnNA4hnlJmgMfTvDNrNN6QqnFXQB6gU+Hs5M+AWfBPwM5gHxDnYyPQRHGvQE2TDNBz1nbXdGO/AizwjdEZUxNAn1AfkB9jlGCIRqiRsyeIwkbwHoFtINOVw2GuYH0wPpGvUB9gJK","vQmmCe8","vQmlCcE","vQmx","sQrd","zQiY","+BHX","6QN1","twzf","wA3r","5QqU","hQ3E","+w3N","4Qdt","TtU","tQqD","xgnV","5AZo","4Qdt","pw3E","NTaNDxw","2gSecKLnBHI","C8B1dq4IL78Eyw","pwdQGqPMAjw","C8B1du0Myw","pwik","Ym59o5gFZY8EoJgBqWwvhAFYJj0looUBhA","4wJH9AEl2gKXzwed","tA4g","4wJH9AEl2gKXzwed","tg4mhgKu","6AOJogY+XqX3ASrlAqMGJA","S+s8n9QGQ5UCaw","S+s","sw/U","sw+g","E9IBSyHxGVMG2jPaBMXQA0uAAcRB99UBmA/xAffrAT0KPXLqNvLLA8VE6guvCt4EcgJACjcM6QTu","nAbN","rQ88","rQ8m","nAav","nAav","NdHLB9oB050D0aQEXyDR","ngup","B4oO7AlOBPEJiwzeA40DRAfJFuYFsgvmC8MB6RLvE04I9AGiBeUBZQnyB+YWmQUqBmAS4QnsBL8X2BDqEZ8OxwPDBfgB5wTdBvID0QQsBe8tRxCOGLUEzwbRA8oFrgG3B08GwAkwJZ4OywSUA6ACqBfGDOgLLhZFJk8FfgLvCZIL4gexDVcFuwWtHb0O5AtQB2IE3RPuAdsCggqjDYwByQFmF8EF1BKuB5wD0waoE58SmAOBCmwVtQXxC+YC8gHpBkYBigFhCb4BrBAyF54K7AGjFDACnBVpBEwKYQHJAVkGTAurAWwT1QG5BmYBVQLKA5IBYQNgBHAJSQOrAeEFiglwC8AT8wErB5UZJwTpG50K8AqOA+YB8gNNB9AQHgGjBKABdQhqFOMFWAHSBnAJbALIBYgR9A8qAUQFxwN0Cy4algW5AeQEpALLAicJUwmDAbQSxQF+C4YKtwGcA7YBewROENAElQ2vBKEHbAbvC2EC1gLpDsoPOA0oCNIEdQTpCpwI2QVRFjIDwQHJAYsD1QTDBdUkLQN5IUcD3wc/Dq0Btw35ArgF+QTqAeEB1wpNBFMizSPRCpctoxWbB4YWywOnDLMWagFNCOUD6AGMAc0H+QRZCsEVNARERNw0yyDTGkY","jAE6D5+KArbsBaz5BfwR9CFKM2Qp9QH1","kQl1","mBDLAcg","ig/T","ig/T","kQl1","jQrUAcKqAs4P3yooxwHh+AG9","yALumQjI","yALc","uAy7+APc","8ghhBGE","vATR","7xHT","6Ahb","jgq0","dp4","mxG+","tger","owHM","9gGiac8","9gGmaZU","owHBbsM","2wm1","gAp3","xAeq","xAeq","aqw","1AuD","sBDI","gQ1a","9gGm","owlY","+gGp","owHkU+Qbn07h/AbN7AJuywFE","owlYlQOU+APp","alc","tA5M","wQdL","9gHLaczoCW4","tg3E","dszNAXsFrMUHn6sClPwBcvwB1w","sBCn","wwJ7","xAfJ","tA7M","tA6f","tA7c","tgnE","xwOW","xAeA","xAeq","gArD","wghh","rQ68","hQFk9wPNIsO3AptMhuIBhuQEr9IBRQ","jgz5","jgyJ","jgyq","jgxr","WH4","RcYkegMtBiUDLALnAyUBLAQnCkQDMgeiGuUuKMwC3Dnu4AI+AswwuXsqETNcKCHKT89AQBAuKe9aMgUxC5QLumMoSHUTVRgoCHoEKQprAjQBUwUhA8OFAX4IKwwzOa4QUhlxdFA","4ATr","4ARk","4AS1","4ATZ","RcYkegMtBiUDLAKwAyUBLAR8CkQDMgeiGi4IYCYozALcmQMjAswwuXvvEe5cKCHKT88uMBJAEC4p8RjDQjIFMQuUC7pjKEh1EyUYKAhFBCkKMQI0AVMFIQPDhQG+CCsMMzmuEFIZcSmvS1A","pQeWiAai","rQ2i","+AowY934BK8","+Aow","+Aow","+Aow","vwWj","2QPiIvfmAsgB4AHWmAHlAfj3CaU","tgXrGsIE5QGxAaoB7wHJAbQBsxboAfI","2AWd","2AXC","2AWd","2AWd","1wXM","+g7g","+g7V","+g7V","+g64","4wt5","DMQhaT/FxQFt9AJkD74LowTrD00gdhbSZahFbxJLe7h9zBOkyAHMkQGcSKmEAX93RR+GMLBTjA9NDZk","wwWG","wwVw","7AnP9gFH","+Qi/AbyGAcZryBLmHKWvAZRMdhzQUG03iQ","6woo","5ALK","5ALI","5AIr","B0ssST48IUcZOwOpAkBYvQG+Ab8fnApKDKAaP1I8NEsJRhqeOy0iSUdPGzBkm6ACQjtMIk5oQw9CH6wwSWBIKUZuSoABUiJIEURoQgdMDk6MAZ8pSBBGlAGs","kA/5","kA+z","vQ/n","4Qac","ygvm","ygu+","yguX","yguu","owPC","hwGf","Nn+QAd6fAd3wAtwB7gPWIcNh2q0C8AGv4gH4WeET8AtiBqqxA3g","qwOsnAjtoQRe","+g+w","uQ4h","AsMDnQauBbAOnAJQAy0rUwR7AVwWqw2ZN5sHPw9lA8lvpg5EY9ALnhw9EYwuQSdNB8sjmSIrAjgDKhWWGJoQKi5hDLwkmFeEVn8LnQekYCcZSyLjBMwF0wnNAWYQpgOMHVERswmWCDwKTwzQA+cCNgicGSgCaxtCE3kHvg6eAlEEyAGfEqcIhwpmNDQPYggrA2sOjhCoA7AMjxBFAU4B0QZPG1EFZgvBBNEgaBrKApwDfgWEHEoLygpjAWolXAS3BjQGmglTA5EQJwibCC4CpgWkBpsGcwGwDm4SdS+mA0cOchVKCE0ETApFAZcJpBJrBEgczQJtELwWdTCvGKQh8w1GEjcgqhO8D6M","5guO","ogOg","oA5a","hAiqlgLm6wHBZ7swzBDkH9YYuyDeEMQH3AziBORuvA","iQPU1AGzVO27BB3PA6BluOsBa8YB4Q","0RE+","0RE+","ggzp","ggzf","ADAUawlNB0JYbxt+AnESOwZqIG0Hq15zJ20CokRlAn1dbAFvWGUmOAuYOm1fNCI+Ellskio72AFwBSwLYyumOX8zdRigD3FR1As2BIEBXBhyDJsgoA5hW0iBAWQLLwR7Ps5JRSSEHy4SLANuCrAoOAGgEX8","An68DtBhzA","nw+r","nw+p","vg7Q","vg7a","7wfR","DIxNcUmfDWcTlxZhXNtK7QHhJck7SyREgQHxNnXqA/PlAl853h7bF5yAAecIOT/kVSIM8QexENkJj7cC4AFDBeQ","hAWi","/gLYAdylBseSBpM","9wyc","A+kFegF4MOQB5gm+FMgI0wvhAyMCPwJoC7wQeQnLBEMZQxJqDiYNrA6dBpkHlgJpFsEG3wHVBKcG3gqeWFcSyTEqCqkB0UXNL6UF7wewGzwDSwzlIe8QtAL0D4IReimlA+sBxgHcONyAAegTTgHJAjotSGB+B50H8huWAdIB7hWPClgBhw3MA3FGRAlHCqVAJBFJZFkMjwGhHEohsA7cIKcFjQF0B5owvBWJAaIRVQNEAbEgg4EBRCRJCYUZaw1LITcXegQ3XS87tytDHUYHnU7d","/QS1M2M","owlY","EanPAXQE7LoC6AHp/wTNzgLq","5AG6","gAP6","gAPL","gAPG","gANv","lQpYiQNBggFI","jQPmFmWHCGsxuwG7EIvmAqkLMQ","/gJN","jQN+","zA/DX/E","qxBD","zA9G","zA9G","qxAn","qxBZ","qxAn","/gL0AcrTBSgBPtII7032AdkEgwX3","/BHX","8hHmCtc","pRHl","Njg","A5gPfifJCp0DSibFCGwM7wXnAcsCgwlKA6AmZAPaEX8RhhTUPE0HoBG+HWkBRCJoBaU2nRxgCCdmkRRCMYvBAqA6wVqdKscPdh5TIMkBPHS8DMkGwQV/UaYOzgRyAaQERDXYFqQovjBCSYwBi22nDEgOKhpLDdctRwu4A8UYQA9tPbUL22Y3Bt0ySgFFST8htQ","bVwNdhqzX2KBAdGpAXVAnwu0HCpjs9kBaB+TJaKlAZX9ASoBMAGsFp82ahMwJK4Ci6oCvhaNK4MTKAHHVNYXlQ8qHSFARpMBTg","AvMD3AiJAs8cPgF2FsYCnQGLA4cHeAE1Bs0BZgHqAXsGRgeqAsAFYwbTB0YDQghKBEUCpgS0BPAB5QZBAcwGQwhuA5cBQwWEB4EDlQHDAa8EqwKlAkYBSgGUBrICuAP1AkUDYQGAAbQBwAGYA8wH5gb1B+8C8AFCBPAEeQWgA8IBzA3GBKgC+Aj2AvML3wPTAksBtQuaA0QK6AZPA0YBmAS7BHAGpAXRC+IBkQFtCawMRwvdASwF8ASjAqcDqwHaAZEB6gvSAdEBzAF8AfkB+QHYBsACkQSuB80EYQP5BfQB+AS+CYsE8g3sA/QI6A3tC2wNtgb4De0B1wGdAZcB9wH4AaoC7A1TAYgFygHQBkUD1APfBd8GtAW2DtQD6QxDCPIEyg02AuoBbQHyAvQY3QHjBd0GkxVTB+8MmgVRHUoEggVFD/QH9AeuBLENlQfMBpwt5BBKCdYCWgHbCfoBmArHA6oBSQZGAfYJSAG5AdoE7gHCBvACTAFIA9MevQG/DecEzAO6BaAB5gfxAkwDTwp5A9wCxAWFBK0BZQFtAvoHsRVLAWYF8gNIA24E+QP1AfkHwwJpAi4E5wFJA9IIPwbYAqkERgXtA70D9QGTAa0EkwHPFuUCigXBBIoH4gHyBTMBawOMAe0C5wFQAdwGPQMuCqQD5hF0Ap4BxgGrAiYCsAHCBNoBUQH2Bp4NewOzAZUB9hZMA7sJ7gG/AkkEVAjiAb8bogGsA0cC4gL0AfUElgGxBkIIxQf1AaUBnwFFCXUF3wRQA/gIYwH0A0gB9QGvAbUB1wOZA/IBdwX3B+MJLgKgB0YDSAyjAycC9QFOAdEInwb5AU4GyQFPA8MEsgdDBUsB9gG8CuUB8QHhAp8FTQGmAUcHQgFQBqIDwATdBqwDqgfbAUcG9QT0BqQB2wrOAkcDvgtrBPEFqQJLCEkB9QXFAZsC8QfcAlEBQQHxBvYG9gPwAuEG7wmHBOoD2wVHDrYERgMgAWUC5BDzAvMB5QFKA+4BQgHWBMYBswTdAfIDswHzAeYEjAHAAUMBzgHNBn0B2QK2AnYD+QJ3BuIE9QpPAYwBQgfKA58KfQhKBJcHpASYBUcBwAPiAdQB9AKHB9IBXwKcAUYC9wanB0sFNgNsAUkC5wJMBNYGVAl7AasFaQRzDHwOyQmwAScIwgTGBbIGSAd+BRgBrwWkBNgDbgLRBdADQwaqA6QktwTpC7sCvAHyFsIN7AraEuYM7gboBfQB9RPxAUwO+gX2ClEBzBBv","7gS0","mgKo","yRGy","6xHt","sQ2j","8gjYBM8","AtU","7AHl","5Qdm","5gGF","rwlx","nAXKD88C3QKq","yQfv","qglK","kwHZ","gQ5l","8gjS","7AGk","yRGy","AngCVAiMCoMCMwlDAk8HMAmqGGwLmggvBGUIoQJFAYIEYgElAmwCRgZPFCgCNwWfA0EBnwh/CkMGoAShAZsCmQGjAkIBaAOgA3sNRwFEAZwEOQOiDj0YdgdGMT4HrAKZDEoDTgE9DK0BmQOqAUMDRAVKDJcBqxWWAUcGNQGgBkwKpgImGDwENguaCGsCPgdACDoCpgVLAToNQAdvDE0FRxRHAZIETghRBKkHSQWzA6UQPwHMA0sCsQK6AmYEYwOHBT4BeSPKD0sBOwQ+AU8MrRRFC7EBZgFPB4wNqQhFA1AJowLTCqwTTwUrT60I0Ao/DbgGlwNrCEoHrw1LEq8DTwGZD50FaQVCAUgKSAJBBkMGSA2RCMYXUwFEFmsDZQGbA0oDPgNEHEcFbQKmCdMFxxJpBD8CowdDAyoFTgRmA5UDSwRJFLcGRgyWAZcDRQZCEkkGdQJEAX4CQgVGCEMISAGkAlgBQwSJArIDrQ/JBIMBdwF/A0gDRAHIAZEOTAtIBKYErwGjBSoBSAdHDTsBkxGcAiEISAPJAkABSQGZAqsLrBOfA0YCmwF8AUECpgJRBK0GmwVzAaQBWwZMAkkGegNHAacD0QeJA0wKXQOlBEkBhQZEB0UHRAI2AaMInQRDAmoBPwqwA58BoAFmAUEBRgFEAcoCdQFIA0cBSQZCAVAByw9KBE8DcwZICFsGRwGaA0MBiwHDBI4GtQxjBkMDRgFFAk8KSgGTATIERgjDAUkBrQFsAUEBTANqAc4CTwVNAUgLdg08A1gFRwpECBkFqwFXDqMQRANHBkMCTQKiAkcCrwKQBKcBPgpEAU0BRQLRAUwDTgudAqgBRw5JAZ4DRQhCAkoMpgFIBqcCPQc+AUYFSw4qAlEJSQRJCmAFQQFHAUADQAWiAUcRKgNwAY4FcQNjAYkJUwE1D7MHxgFPAkcBSAacDEsB0gZFAkwCnxVAAWIJPRSCM0AbrA5ACUJLbhC1Aas","ogOge5L5CZAam0u/F4U","BZ0IpwOBA9kC0QyLB8ECgATACVYCywHUAuMB2QeoBOQKhgRgBD4hbwPsCbECrxKtA7wT1AlwBGgDUQXBD58C3AJ0Ac4NbAamAp0LvQS0B6cluQXMA8gDmyd3B08BORKXAcYBmCWoBj8GwBneGIUIrAnUIeAYYi5YBeACtwTVNuIL8QHlAd4R8QuwBaABugW0AeUedQN4BqMKJwTgJZ4KsgW/BecC7hrGCFBLyA2dBMoL3QeZC4oWUAyNDM8FwQFfGroM9AbQC9wL0Qw9DDMFqQevCTsGfAQhEZoGpgyPAe4I3wchBaIfRwifA70L2wubA2sF0BKOECIGHiKZA6kFQwTRCO8pRAikA8wE5A1zCOcKlwXSCLoCqwaiAnIBpAfzAaYKqAnwB9YN0AK5BlMYbASzHrgCbQRcAdACsAftFEwDJQjxDZoBeyjaCKoCrQSBAbUB1gTsBEkCrxqoAawCrAzuC4cRQAW9GroEpgfABk8BMAHgA50BJQF3B8EJRAhgFs4bsQeoAZQFfQvNATAJvhBzAoQNyQWzAdwBpTuxBeQBKgH0BTEFsAFCAdYB0wdcBCMCrAPJBKoH3w+9CHEINCBAC7AKxgv5AvNCaBOXHLQZSg","3gqH","lRHM","yQifD8g","ngG8kQHM","3gqH","Fck","2QPi","/AfM","AEkCswKZBT4DZgQ5AU8IagJFCj0H0AZ2A0IFXQhiC1ALegZPAVUDtgFUAcwCggNoAR8CpQFCAkMCiQFBA7ABSwGjA2oBhwJYATkBtQFUBU0BXgFCAZ8BRAKOAXAHugEzAkIBSwG6AXsBtQUuCEsCgQTEAuEDIwHVAikCggJIAUMBTAFoAU0DdgM6AWECtAGjB8wF2AGqAV8BlAE5AkoCkQSkB0gCYg2lHLAFPiQrAT8EvgR9EWcCJwRxAegPMQm9D+oKpgx0C3IEQgIwAi8BfAXsC2wEmQKoBuYPgAOQA0IBMAGnFXgQkwTcEdoEmwPOB9IOUAGRCk4BNA2QAbwJPQpKA9IIjAGQA3oWygGTFJcC0gNKAz0CsAXPCugHrQqnEM0B0AKdDioBUwfRCkQJwwGdJmACryz0AcMVpQmgA9IHfRLlBLYBSAWqCaQEvwmsAkEMdQGAAXkFTwfQAbIFLgTFA2AFMQJxCMQDSQFBBpoB0gqwBWECQQaEB44TOQ1XBJYCxAvnAn0BxgMpDHcDTQzdDWEDjwjDA3AIzQraBuUL0gG9BMQBwgGhBEcETgSJAbATRgLECkIGRQIoAkIERgg9BkkHTgFEA0IFMAhDAa8Cgg/FB14B1AQ/GuMOJQJDAqYBmwQ1BFQLag94AXkCRAeiBmwFtAKWC0ABLgI3AUcFRAS0DcUGVAFzBLABgQavAXkBUAPtAscGLAa/AZYEexK2FN4BSAIkAVEFxR28ArYCyASmDcMB2AHnDLYCQhFIBJ0IKwGFA2cGzAGqBOIB6QNDCioGeQEtBZ8DngicBMQLgQOjAnQIoArPBq8BjRNSBGwIOwJECNYBJQI1BGIBPwFgAYcBIAEqAecBgAKQBWoEKAJmAUEBWwFaAj4BVgFVAcoCKQEmAaAEOQGAAk4BUwFBAVcBMgO3AVQBpQKnAzsBLwYlA5ABRgOLAUsDRAWxAk0KmwbnDbUIrAHGBMUCNwSkApQESwHDEKkLRg9GAqEDbwS6AmgDrgOxAiMBJANTASIBIwORATMBJQE/AisBUQGGAjQDzAGsBUwJuBdCEdgBRQYxAaMDKwKLEaYDQgGvASgENhOVECkBrQE1DkcKrgSwELkRzgH3BKIqPgjhDEkRqQPjE0UX1RCf","kges","sQOk","ygtt","7QQ+","vwzYAeewArs","kxHO","6hHh","xAjOVNA","2g7n","5QTS","sQPm","xAjYVNA","zgHJ","ygva","rQzI","5QJ79ALIkgXvWcwT1w","Nn+QAZyfAabwAtwB3wOdIZ1h0K0C8OMB5mzR","2waY","aqc7ZQem+wI12QSW","6Q9r","zAuQ","zAsx","pguf","zQ/k","0gu5+QGvGKU","wwXi","tQFg","4QJD","tQFg","tQFg","tQFg","yguD","ygtt","ygs9","0gu5+QGv","1g31","1g3c","lQ7g","3Qnn","3Qni","3Qmn","7AOn","4w1f","oQEs3wjysAPv","gArI","AngBzQGZBNoBlQm3BFQDggHiBj0CrAFPBL4BgAmYD9gDfAJZAbQDWASVBcIDfgEzAqcBcQGlBWYElQW4ArQDQgKYAjwBQgPcAXECdgLdAk8BhwG7AScBMgW7Aj4ChgO4Ad4BlwJYAjcB0AJAAasCyALPATMEQQLeArgBoQWmB0AB2AFZA6oC0AHBAYgBPQFIAcMBpQQvAswBNg5ZAbgBvQKUAmEBygEoApgCggTvBOEBTAzCArwN2gVGBE8FoAY+BtkTTQWsBD4CPgV7AZoBiwxKAZ4DPQOxAsIHSAK3BHoB0QZyCrwCPwGNA6kGbxq1Aq4C3AQ4AaQEQhuBBnYFPQhrA58CzAPjAWAIhAE8AXcC2wOLAToObQbdEcoNqwdHBU4IUQHLA2gIXAHCDqoIJQLoAksESSLcA4IbTQIrA3IBdgHSA0wQQAacAnwBtgFvA9MLhAHFDJIJqQHhBuYBrAmXAZwClB+4BbICawHAA+wBpBCvELkBuAe3BL0HOAHDEcoB0gOxCpwadgKFAUQHpQSXBsIE2QdHAjQFxwOZA6IBIwJpBFEJoxHsAUIBJwGfAccEmQyGBkgDbAesAqQKzgV5HLYCQAF/AbUCQQjRAbwFxALDCoQBgg/GC6wTQgE6BdIBSQFwCp0CrwFWBXEBgAWiBL4BjwGCCUcBqQQhBT4JpglGArUEbQG9BbkBeQEiAsUBOwHZAnsBxgWaAWEBzgmXAcgD3QHiAcYD5gF8A6gDZANGAbgB6AW8AbEIqwG/An8CtQNCAdICpgGtBNEBpQHfBU4DswNuBN0ErgLcFKkFwQSaCHYD3gOsA88C1gKkBOgBzwppCG4B0wPSCGkEygFhAUgBaQTAAaUB4wJHAq4DxwS4ATABSAbbArcCwwGwCIkDogKhAs8BeAIkBrAClQHfAaQBOAHkAZEE0wGvAqUCjgGjAo0E5AHeBcQBfQLACKwBxAHAAagFkALjApAB0AKgAUcBqgqhBNQDLQLGBcIBmQHTAcABdwG1BqsHtAHEATcD0AW6AbgB2QJ8ApoBygG+A28BtAPDAccGcQWlBGMLpAFlAiUBvQjEBlwCmwGrArcFwQLeA1oFrgKYBMcC7APOAUEBuQGMAboD1wGuAUMC2gFGAbYBRAHlA9AC8gXHAo4EeQFJASsHkwJFAbYI3QK9Ak0Cawm5AW0Bhgy8At4BuQXhApwDSAVWAbQC0AVbA+YBKgK+C5sC4gGsAXgBygK/AaEBSgOIAdMFSAF3Ap4B3gHlAcsBvQKzAUMBwAFGArYBVAGbAXIBxwHFAWABRgGoAbABJQFRATkCrQJLAaMBaQGzAbQDqgFBAtEBqgVPBYEDfwJPATMBxAHZAecGkgU+AaoEsgKsAZQBugXcBvoB+QGkAUICSwRHASgFPQRDA7kCzgmiCDwBngE2BckBpgHxA3IB7gPSA5MDRQLaAqEBrgNhAZsBhQPDAkcBiwOiAc0BegHNAdcEmgLGAXsBcQKUAsYCpglxApEN3wFdA7cFpQrOAb4C5gFxAZ4BcQPVAq0BzQGrBYMClAKnBuMB4AKfATcBJwG4BOkDxAWsBMsBkgWnAWIBqgGVAcUJyANtA5cB5QShAtsH0wPdApUD0wF0Ab4J0gvFE64DmQTSBUsHRAObA9cGxgTSAb8NvwG+B0gQ1AfZCqMZ1g6sDeI","BJkFTga8BEIBawdhBYINSwNAA8oIghKVBBwYvQOhA10DSAFKAnoCcA+7Co0GaQSmBZgCtwOiA8cDSwMuB2IBlgFqAjwBSARCBUEEpgbWCDIFSwRtCmEFpAosCJ4J0AKVAZwfOhByAakMpwpOCWoBtgRIBHkRhQRTCZYLRgFHB8EHawOeCkIDiwGAHK4CpAq/BIAWiwJ6E0cLYA+TAaIKNQ47CmMpygY8BXYMSwKGCpwNswGIBdoCSwxtBjYOQCalAjUFaQtOEIEBoxBdED8OZBPNBCcKLBLIDXogSAZLCpkSngSeAj8BTQWXAjcCngeeAbgRmAGCAmYCkQNJEFQKLQmZAYACyhlKF5oS6AHPAdEDngHZAX4IewGcBEcGMQ1gGD8JdgtOEzERdQYzBJwBSwG3BUUFagVGAkkDvh6HAkYCowKuAoQEwAIwDT0HTBjQDIkDJQV9GDEBQwowAUQBRAVKFZgRkwMvF0ID5webCSwFLAEkB6YGrgatBUYESAKoAcQGyATcCsgBiwI1BGsF5QlLAkkLQwG4AmwDMQWfCosBMA9tDUoGaCW9DK8DLwFJASgINBRmBa0GagNPBTgMwRpIBpYJJwXNCdAJWAKrBF4SQwKbA5gCuApGATgDRBGzCa8GxwpFATUHhAFFA1ADdAKaBKYMoAJIAjIIVQVFCXAWgwYjAYAdSQljDbEYkgIlCWoFUgOxGIACZwKHGEQDoQm+CEgIQBBGDI4fWwOdCbIFTgdIBUUYPwysB3AMSQtPC0IDQgVQ","A1MESwpFB1MHXAS3BUgHWQasC7YOtgO8ET8LSQakApcFoAVIBm8CnwmmApYPQwZAA54SZwiaFzcaQgFXID4TbQu4CVwXSgWmA0kBbRqfFZcKYAI0CakDSTNCA1UDOAmhFU06UApgGGsRcQuZDE8CRx3DUnECUAdOBoYbYwWUAkYIixXQBUwLlx6YAagWpBN3AZsSWghHD1MeeANtAakBnweCHEEfow88AnAPMgKVD3UrvBBGDKYGSgKVDiEEURGnB0QBQAaBAjICUQVMAVwZXhBGAUMBXgikCEIOTg9OGpwWpQFcA3YCVAqnFkIFYA6AAUQERQKBBbcQtQnAAXkDRwNHCUYBQgzMBWELoQKiDkICUAF1BrcCoQ96DHIFPw9FAUQBRgGjAkcEQAJRG6sCngKcBUgDmwGzDU4BrBZYAk0ErAFLBkQMTRB+M5UeQgQoGrAEawYmDFQDogRQAVQKcQNSD04GRgGKB2QHpgG0DEcJUAJ1B54CohW+C1MKagFJDX0DgQt+G44UrAOlB58GigmhA04EThNwEbY","wgt5","4gcn6AEq","URwRPyWfNUDqAZ8DPtICRdkDdRihrgGljQEzU0eLApYUQh9MFUdksw","aaV33dEOQQ","owuaggFJhwXZ","rBFE","AEICOAJUAkkBQgKhAb0BVwFmAW8BfAKwAcQCMwLIAToC8AbGBLYB4wE8AXIBSwG+A6MBygGZAq8BhQGXCaUBqwiCAa0BwwGHAkABuw2ZBdIBuwK5Bp0FrQFQA6gCiwGoAkgEtgG2AZ8GbQFgAaABmAK3BVgCrQGvBoQCNwGEAaACaAFsAaIBVwFIA4ACLgNWAccBzQEtBtEBJwFOBpoBNwOzAbACqQEtAcEEwwG0AWUBqQGtA6UFQgJmAacBmQKyAaIC0wGpAWkCpwGrAnYBkgHRAaoH4gGBAcgFhwg/AUIEJwPkAp0JcgnBBXgQswNtBqgEzAI7An8BnAc8AbUBYgwxBssB5gHhAdgEnQGaAcABUgHNBtELoQU/CLYBdwGdAdwD3QFuAWYCpAWdAjcC1QK9Bc8BjwEsAcQCUAG+BXcBSAErAZIEPQHQAi8BigHQAaoFcwhfAcQBzQG5BHYGrATNAjwB3wWtBJ8ByQGFAaACMALGB4gBPAGhAjsCzwJtBYAIswFtB5cFzQNjCIgCXwGAA6ABYQGMAWQFtAGyAS0B3gM1AcEDywPRBtYBbgLCBqYBaAKRAcAB0AW5B5ABlgV7ArsCXAVqAZoBqAPBAnwB0AM1BOMCiwV1AaEBzQN1CZoCjQNbAVYBZAWfB6UEnAe4AjsBmgF5AZ4BngHEB1kGsAGRBWoFagGuAsMBOw+gAjYFow/MAtIFyAHSArUBQwaXAbUBpgR2DF8GswF2AssC2AHeA64BVAOQAnMCwgG1B2ACkQHgBbQC0QPCAocGhwXVBrACqQOvAZwDIwP1AywCtwHRAZYBqwKWDUcB6AEwBZICbAPFA5UEWQFKA4gIZgJfCKQBsgHVAdMBtgOfAZ0BwwOXBN0CnQFmAX0FowFwBlgGnQHgAcwBxwHAASMBsANDBckFqAGIAYkBlQFIAZ4BawZqBDgBHwKoAXEBuAG0BcgBtwPQAjsCtQJxAUsFOAEwAWEDzAHjBHADvgbcCpoCdQKaAY4BowFXAdwEiALFAaMC1AXNB6MDswGVBJ4FlwGvApAB6wGOAZoBrAGbAb0BRgcgBaUIsQKdCFsB0APcAigCngFSAcICXAJhA5oBigHHCX8BygFrAmYCzwO/BK4D4QOmAZ0FpgHHBDYBLgHQATQBiAGgBUsDgQKxAWMC1AKtAU0BaAZBB1ECMwGsA3MEMwKqAlYBnAHbA6UBrgF0AeABKAGSAZUBlAE9AtcB5QKtAsUDyQGuAR0BnAGPBTMBggG+AZ0BiwFLAaQDxAFfAm0DsAhKAXkB8AGtBMQCpAHIATABNQGpAnMB5AE8AjwGmAFmBcYGJwHRAuAExwFIATMBmgG8AnABmwRqCbQGqQJnAygDowGuBcMEzQJIAbsBvwGlBbwBMQR0AlwCqAhaAYUD0wKiAkMCvwJjA2UCuAGkASoBpwPKAuQBjwLAAuAGtgHVAdgLkwPoCDIBrgHwAqwBkwFSAnwCOAKqATsCSAGbAY8DcANLArMBYgEkAYEBrwIkBKoBvwJJCa4DPAKNAsIBJgF3AXsCqwE4AT8BOwPHBTsB3wMnATIBpwHGATAD2gNmATUB4QOoAo8BTAHSAbcBlwLIAzIBzgFzAZ4BKQTWArcEWQO+AdgDnwfgAacCoAGCAeEBRgG9ApgC7wHFAuMD0QNoAVAHwAoqAWYBdwGDAS4E4wK+AisB0QHAAs4BOQFFAogBnwOVA7cDOAHWBaMC5AFgAWIBzgIvA9QBNQFNBX8BMgG8AboCLwJGASsBjgHEAV8BRQHDAU4BuwTmBJwBSgF/AVMBywLHAW0B1wHHAbABbQKjA9AENwa0BTgBtgE9CeUCywKDAaYFsgGoA7UD4gXLCiUBpAGdAW4DnwG8AX4BTwEnAeABSQFNAaIBpAGVA1YBYQTUA8wByAGOAX4C3wIkBLECpgLlAWgB1QOuAZoBQwS5BeAD4gEwAZABhwHNAbQCyQHNAW8B2QKmATUBpgE0AS4BLwKIASsCtAFEAbUBegGtCHECugLRATMDsgW7BtMBXQM1AX0D3QHwAmECgAGxAckEdQLNAd0DOANRAUcBmQEwATkB5AHTAXMCeAHOAYYBwwLQAiIDugFLAksBMwHLAs8CqQPDAjIBoQFZAVgEtQKeA+gBRAJTA7MDzAG5AscCnAFuA5sCawMpBbkBPQHCB38KiwJ7AWsBugaNDtMCQgROAr8BowHFCKIBxAGcAkwCvwE5AVIBewGuASkBoAGjAUIENwGCBFwCxgJHAbwByQFEAiIBxQHkAdsBzgOcAy8BuwWvA+sBJAHcAdQDtgG2AtcB2wZxAtgDcgEsAVYBjgE7ATUFsAJKAW8BSwOJAW0EtgGVCGwBaAGkAWYBuwHbAUkDawm+AjsEPAJGAUgB6gJBBYABeQKjAXcDYwNIBG8I7AJfAtcDRgNGBD8ByQSAAWMBOQI9Aj4BQAJCAXABcQFkAZsBswFFAakCSgHGBnUBSQPWA0kCogNBBMEDSgSIAeAFTAFIAsACQwidAUYESwRJA0cDcQO3A0YEQgPJ","NHsqLxMqDWAcSiMtBcudAktic3hAtAKLOa+KAa7RAYoYiX2kFUMXSB6FD2e7AWQUTVV1DKuMAUI","1w2i","jxCz","0Q95","kA2i","zwSjSc99SroDRDN2ngRI8wPJ","lgFmFDcmc/0BKyaEPddp45UD4UAoFE0mmTMv5AExJnopoTxtS6cmI68BU0qXLswp6Rco","1gqaVGs","1QmX","fpLYAUb+AcM704gBveoEvZEBrCzjAasBqiflF+cHkxmfN+kr5UimKOYFqlhHWqoE0TRLPkhJSQdEHEY","Y1M","1ALd","1w12","4g/M","rghR","AIsBtAJTAbgBqQFeAd8CTgGgAUUCRwHbAjkBtALCAcECyQLwAbkD0AFqAdQBnAFRAdEB3gI8AYoB2wG+AXACsQHLApkBvgGFAUABpgHgATcBewGsA4gDngWXAr0BnQO8AdcGlQW+AcABWgF+Ad0E0wHCAqMBtwHpAsMBtQHnBoEB0AJcASMBJwH1AngBSAF1AY4BLAKuAtIC1QFbAugBoAGIAq0EpwNuAs8BWgRBA7UBkQHaASYB0QG0AaYBQQFOBNMBagGrAkUBsAGKAccBQAXZAqkBnwFQAbMB7wOWAp4D2QGpAmsB2wOuAXkF0AVGAp8EowFHAkUBwQHoAT4BoQGKAZ4E1AejAeYFeQGdBM0CrgKqBKQBfgaAAs4FRgqNBboUcQWvBNADoARoAbYEPAGqBt0C4wN/BXgBqQLNAeoCngHbAskBnwLbAskBxAKiBMcBnASJCZsBwgSxFVQDkwHYA6ABywPiAmsBsQKhAtEDgAE/ArYBggLAAdgF1xDoAckBkALUBWcBxAVjBakCYANoAZ8B1gS9CaECcAKfAXEDrALRC9wBqALYFZYBqQTNBakEtQXXDU0DsARtA1oCdAFxAUwExwK5Ac4D+QTEAYEC4gXUBGUCqAK0AdIBZgGoBjUByQStAWADpwKnCqYC0QFuBLoBgQxtDMIBaQFNAa8BwwG2AYEBtgKIA0wHiQI2A50E1AWkAXcClwLMA0YItgOnAZQBTwPTEXkCswV0AbcDcga7A5MKkwxIA5ABSgGMBDMFmAJjBKgB8waGBM8T0gSxAaMGvgSJB7cBUAHBBLwNsAGNAdEC3wNKBEYDWAnCEJcEswHIBN0BnQGuA6oBpgOoBHMEiwSwAbICkAs/AYcBowFmAcwBrwSxAU4B5wS8As0BuAHmAtEDgASOAcwCyQHQAuwBSAGyAuAH0gGRAS8GwgahC4UBQQGGBmwBtwKCB+YHzQK6BbsC0gKbAsIJPAHaAtUGuwJNAboB5QRvAbUDywGMAoEGmgE+A6UB6gTbA6wEkQKRBMsD1gG/AVoBKAPeBawB4QczAZYBcAHPAWcBrwNrAaIFygQ5AcsCswTaAsIB4gHeAY8BygKABMYCPAHXAqYBvwG3AcwB0wG4AsYBLQLRAYYBeANkAdkDvQOiAZ8GUQLDAboBmwFGAqkDvQFtBJwCcAFjAbgCgwGmAc8BMwREAYwCpgHKB6sBOganBKMCpAG1AT0C3AV2AZwHKwHHAq4BrgTMA+UBrgPFAbQBdwFwAaYGUAExBGoBowOtA88F2gGWAZ0BrgEzAXAB6AXTA5EIogMkA20CfALBAX0BPgOmAdkE0AJJA1ABNASZAZICvQGHAloCxQG6At4FkwHGAqUDmgSxAycBiwF2AVEBogGiAtkCvwGkAdcDuwEvAdUBmgPMAaIC3QHJBu4DzQGhAd4CuQLjAV0BoQFPA8ABmwGpAZMB0QGjAlAB5gXDAb0CpAK6BKwBUwG9AWwBuAFIAh4BtQGYAaMB7QGpAUwBJgKlBHgBOwO/AqsBgQJQBH0GgAGmAq8CtgbHB40B1wG8AlABJAHNAsQBjwLdAqEBtQMqA4QElAGeAkQCNgG2AdoBKQG3A6MCSwGCAZECtgKfAo4BaAG+AjUDVwKwAcIBqQGoAVADmgEvAzABgAGpASwBxAFJAi8FtwG6BXwHqQK/Ak0CxgR/BcsBugGyAcYChgG5A0ICkQGUAkwBvwJxAd4DfwhIAqEDzgGnAcIBhwPOAWkCtwE/AlcBtAEoAY0CHwGMAVoB1AHBCkoBugGDA80B0AEkAqABkwUjAuwB6AJPAYoKfAptAdwB1QF7Bz0DaQFfAzwB5wOJAagBnAFxBJsBhQHIBq4EGQE9AZ0BYAG1AYgBvgGvCrEC4gKMAToCmwPhAnQFtAVAASUBVwSlBK0CqQGkAr4B4ALDASQCfQLHAbMC2wS0Ak0CKwKbA6kMTwFvAcEESgFBAcsCsgG6AeEDkQLwAYUChAGdAa0BuwGlAtQClwFtAtkEsgF5AqwBmgHaAbsBuQFrAVEBvgG7Ab8CvAHRAYYEawGyAsMFxgG2AdQC1QJ2AygBwgSPAa8B2QOZAigBngHCAlwCRwJ6AUkCyQG0AUsCwQI6AtYBwgOFAcYC0gFtAukBJQPTAXUBbQHFA7MBWgNwA7YCfwG+BMUCrwZxA8wDlgaYAbwBywHIAt0HyQGeBmgBYwGiAtgHsQKEAakBfQGxAWMBYQVRAtMCvwKfA3oCRQG0AnYBKAJZAYoDbwYrBKMCkwOsAeYBOAVmAbICPQasAoMBjQHGAUQBwwHMAZgG2AHpB5UB4AHfBEEHuQNwAb4B+AH3AnIC4wI8ATkBvwGkAp4D2gXPBLADrgG8Aj0CqwG2BMwFaQFEAa0D2AGoA0kB0AJGArgBRgFKAz8JPQKtAUACQgdHA8oCqA5jAcwHUgFKB5oBjQTYBlEBrwS4DcQEqwRGA0gEyQPDBjY","5wHb","GJA","qAsv4wRr","2wZi","nwGP","9wmj","nwxD","9whz","/gilU50","bSMEPAxsAogHehKnLB4XRpsBolhPNDYyOm1fWCfOATdsJXehbyN4M4kCPyQtNyUcogJiHiEVK2aeDSYVsG4xG4I","BJkuaSVmCG5ZP60BRFTOGnssRcEBUIcCT1q6XVEBQjQhHkitAU4zMhtKmgF/cEwdhFZEPKGGAkgUhQ","StwJ9SCZMaIKiBOgggGb/AGj6gFpqQGZHC83owJgxwGPC6QqLUzPCac9hQhTWKgvJRGiOz0jST7JRmInwhdKEO8KbDVrBEA","hQ+h","U9Q","U4w","ATEiLQ9NG8AEMg0vAccLpgtMAk0ELA6ZBtoF0gVXASoBrQI2B4oE4wZEB+ABiQEsAWUCJxQ9Bp8DKwXZAz4R3gMpAywEJwSRE0oFLBRYMyMnZgjRDCwQnhYtBCkGPQUrEYoefQctBOUvaQItAVEGMAg8CCsOMCZPJnoJWQ0vMCEDphHsGkoCKwImBEcRdRE+EjgKowlHIdUIMggvCjUaKgNHEC4DnQ0uAUgUxwFQYCgBzAewBMcFSAIqE3sGbglqAqQGLgxaCUsMRxgyBFQFLA0rBjUPtxczCVENgh/XClgcMRtCASYGUxQmEZYQJgjzBDgYRxp7Aj4DnQglDUQCKAFtDK4ENgs1BCAILAk2JUIGKQQkIYwTIwJuByMCqRs3B70VWjE/FUYBuQgvAToBRQYyCzoNSwMtAX4GNwIpEzkC6wuICUwNoQuWBzcBohIkBh0pJwQuEG4PGAjUAmoFJwEnBVkklxo8H54J3ALxfdM","iQGZ","tQFg","lxGs","8AHe","mRHg","uAE/","mRG5","qAHi","tQHZ","lhLT","hwTT","/Q6s","GKhemS9FjgRL8AOTjAF0DsuGAXgloaYBTiWgInEqnQJcK1oPSCGSKn0+owgrDZs","nwkl","kgzD","lQuZ","jAum","4Au/igKJ","yATO","owsm","owtY","ywT0sAzt","Ij4","0wsv","ywTtsAztBOM","sgmP","Mr8","ugJo","1wRl","1wSR","1wRl","pw/s","pw97","pw+k","pw/O","AqywAqQ","2AGr","KEMosxNDEJkClwumFWJCOQOiGtJPmxuZFZsERQWkBJYFbBOkRmAmkwVsCkcsoxBFJJkMmiKlBU8NqQFJHUgnlyJPCGlRSiqdAq0InRmaI58CnglZDEgKokGUCNJGoxKVBUodpg+WBKEGaARGCVoBeAniC6YBuAaaEkIXvQWWC0oJzQecGZ0BcgabHJYivQ2iA5sOrQZLBZYCwwdYDqAEnxBIAZsQqAOpAlQTnzKyFXkWmASnDaNSQxOxBJwB7jKdRaIWpgibEbYJSQuoCEcJmSlrMJkdnwRrC5cY0rcBnw","hQ7q","8gHI+AFIuALAgQRF2AGZ8AJXqQGY","COsDVwKBBuMmzQHMCXx2zgqkM3Nn7AbCMuxtRxxWkAHMHM4B1Y8BVAregAGcDuVcdEOmElgMqR7zAkQOMwmhE04aih6XA8gX8zsqAnsdpRiwFyRoIgirA8IoKSlRBtUZZgJfJj06tgE8Al4gWMwBYwNrAconXlHeKLkB+CdM","Bd4DzwXVW2RR+aoB7jJpB6auAk9VSzvgtwJoTkwqKwqqIGwBRAFsU1E13nNLDWUKRwdCUJ8a8QGkBEUwQyxCCIySAspRO1Dt","CME","3QLe","DYE","uQGB","kQma","rRHD","rRHI","lQNz","CLA","4wLM","2gaN","owlY","vQxl","BXI","ywqn","ywrP","B2gEVypLD5xPqTNVLYADQqYBTCTUCsAB2zjWPYY80AiSIrBJRXfy4AFwIuw+QFvmAUYh3h/MC/Mz8g5CMK0MbQLXHUwb9gFCAfgB+gf4AdYSRwrmBas8cQJRHEcRQwNqBagJSmSXBfoBkASqCvQBrwHTAcgJhATdCG8FflFGGY0B0BA6IG8TzyNGEEsUwgHlAXkLUUT1L5sn1gzZ","hAxTA6kHfw","uBB5","wAN5","pA62","lQ6A","pA7m","ygPAAdjrDXAz2Q","lQ6S","zAuj","gwQt","zAty","zAuK","lQ60","owpn","jQp0EEdjh0N1wwHyGYw","nw2M","jQp0","hg1g","PKRCMxe6B7Eguw","uwtH","1gInhQeUCys","lxAu","mgF6qwHn1AO9RskIkMQCJFBiOMjNAyDjAkY/xAY8Dz8BQ1ZJ","+wmOpwds","dJerBI8","5wEr9APBAcQBxAHCAcUBwt8E66ECMgwrIjU","9Ani","5QTqhg2d","+Anm","0wW7","9A2V6wF/","JXgFNDkfEnoHyBJZAlsE2xyJAZ8UigFEFCgO2FOdCIhXTAvoVsAIb0qfQ/UB9AHYAd8OvBGYDzAIz4EBiiKmK+Ym9xZFDtMD4wiMAztd41EqD3Qaq00mZmxCfQpzDtMxPgPbF6kcNQKcGtghKEhMCoYcURW8Kz8RPF/BHJ4H3gnYBkYByzFrBI4YhwehFCaYAT4","vQev+wfZ","lAGakQK67gHDDnvAAm0","lAGx","oQVz","BG4CXgJCAbECzQJoAsACmwIzAegCOgIzAnYBRQMtAssBqQE+AjwC4AG1AdECygE+A1wBdwFAAvECewJ/AaEB8wGbAY0FTAPpAl4BPQFCA0AEUALLAegGsQHmA74EogU6A54BbAG/AY4BmAFxAb4DQwK7AaIBcQG0AWoBbQEtBIkCqgKTAdkBpwJKAWoBygFHAZ0BuQGhAZMCMgJYA0oBeQJ/Ad4C5AHnATUBfwGcAUgBNgGvAS4CnQGuAYgCxAJ5AUsBpgFzAy4DXwGvAbYBWAE3A+8BVwK7ApgBLQPGAS8BiQFCAbABywHFAcQEuwG0AmIBogHhAZoD2wLgAbECKgEoAz4BQwW3AqQBlAGXAawBYwOkAboC2wNjASkDjQGdBOABxQXPAncChAHOBK0BgQG7A38ChQPSAiwIqAPBAVgBuQGPAWYBwARxBYIBeQOeAlQCfwEzAZ0BnQMvA0cB6wF/AeICYwFhAYEBhQXVApIBMQGIAssBZgInAz8DNAEjAS4DuwWeAdgCogGAAWkCmwKQBC4BPwKLAcEB2QJ5BE0MrQG0AdwCvANBAX0BVwFzA88BaALnAdwBYQHcAWMCmgF3AVsB0wMmAroB1QI8A1sBvgGfAZgBmwFzAaUDZgFWAXUBUQSUAa4BUAKlBEoBaQF3AZ4E4AFhAU0DXwPFAVgB4QHkAUoDVgHcAWABgAGQAdMDmQFYAScCMAG5AecCqAGgAXsCWAPiAa4KvQG/AfMBnAKmAZMBiAK3AmYBzwKtAVMByQHFAYUBUQJHAtYBlgFyAV0CnwNRAqwFWAFNAW4BNQFPAk0BaQE/AecBgQLJAdMCxwPzAWYEvAFrAe8BlANwA9wBqAK8AnYC0QOQAc4G3AHNAWQC7QR1AisCLQLQAdECegH3AtcB6AHvA5MC7wMzArQEogLNAUsE2wG8AsIBKgKUAakBUwF0A5gBsAFaAVMBogFPAWMBkALJAaQCVgGqATUB1gOwAVwB8gGSAacBMgKvBFkBvAJbAVMCrgGwAlkDPwGxAZIEUQRQAdwBMALIAV0CewWoAdUB1AE8AYoDTQE2AakB5APeAcUBiwjaAbcBdQOQAd8BwQWQAWwBXgJDAX4FWQGpAl8CYAGlAlEEVgbeAbYFZgNYA3MBowHkApcDMAJyAXgBbgGVAYsCeQG/AakD9AGgAZsC5QH3Ad4BXQFRA84BnQGzAUMBlgFTAsEHLgaPAbwDwwEnBCMDSAI7AdsBfQGUAUMBSgOhAYUBnAGkAokBxQF+BLMCvQE1AacC0wGvAbYBiQQ1AZUDfQKWAtkCcQFWAdoIZgNKAqgBvgFaAawBtwJJAUgBTwNBA8UCSgZ/AtQB9AFaA8kC4wKMAokB4wE9A3UBPQFKAWADpAKlAaoBIQGVAUcCoQG5AbECVQPhAekCdgGVAUgBhQFiA1wD7wFPATcBmQHAAx4BpQE6AbUCMgOXA1QC2gJLBNkE0QFbAaoBYQJUBIgDYwJHAUwB4gFpA3ID6QGCAcIBtAFpAeEEkgEwAT4BWgHEAcoBUQKPAVsE6QGrAS0CxQO3A0MBcQKwASUCYgLJAXwClgF3AeoEUAPFAbEDugJYAUQCzAXVBTsEmAGDAXQBjwGaA6QCoAG0AYwBeQFPApEDMQFfAUYBZgHAA6UCagKLAbYBzQGfAXUBfAGrAYABdwJOBG0B3gG3AWYBfQHPAloBpQLQAmADhgFCAoUCLwGZASQBvwGqAXcBqANaAVgBOgFXAaQCKAE5AWgBwwHzAi8BlAJoAfEBuAI+AY8BsQExAUsCzQLtAUoBnwKpAdgCeAG9AdIBrAEqAkgBwQHJBIoEdQGdASEBWQHeAXIBbQGJAaMB8QFoAU4BiQH0AukBTQE9AXkC1AGTAYMITQGSAlMDogFZAbkBYgEoATIB0gHBAVMBtgEwA3sCZAJJAj0EXQGNAecBVQHXAeABbgGDAeABVAF3AUYB5QLjAeoBggJ/ATgBZwHcAVYC3gG6Aa4BvAHLA08B7gLjBroBVgHZAqkCrgLQAukGzgHxAZwCWAFmA/MB7gFfAYkB2wGDAUgBpgGjAq4CngJdAmwDzQGqAroBZwHlAicBkwOqAdMCPwNYBF0DgwNDApYBvQGEBCcCpgFVBj8CwAGbAqoBLwSeAdMBvAHaAZ0B2QUxAb4BsAE+A5IChAGZAVsC3QOhAaUB8AHqAUYBWwOEAaYB1QKCAa4CXQGWA4wDoQRsATECmAG9AdUBLgEsAZADJgOPA4cBjQKTBIwDNQG1AWUBwAGgAWEEMQI2AY0BrAKBA8gDfgFUAZkCngRDAX0BjwEkAcIDUQKlAUgBrANIAeYBdQGLBlkBSwG0ATIB9AEuAl0BhQWuA/ICoAFcAZACWgFZAbEBdwJaA54CoAHHAcYC0gHUAecBRgE0ATAB1AEvAbEBhwFhAe0BdATIAlYBYwGfA2YG4QOrASoBxwG3AScBLgIlA2QDcwG7AWoBKAFcAU4BRQHgAdsBsAFTAXUBawHRAVgBdAGsAV0BdwHMAXsBzgGXAVgBWgFaAXkBnAGfA60CWAGwATUG5wSuAaMBZQEoAZkBywPyATQBNAHkBdQDwgFKAX0CpAGjAoMBPgFKAcIBUwGRAmwFewGiAU8BVQWRAmYBnQFcAt4CfQVmAkEDWgKpAt8CYAGHAdADTAF8AY4BtAF3AfcBpQR+BacBhAGFAboBQAGtAXUBXQH2AdIByQVJAeYBngFfAccBpQF/AZ4CrAH6AfkBlgGoAnwBQQKXAU8BwwFbAXYC9AGIAVgBhwJ5AWkBTQGoAn0BcwFBAWEBuAO7AVQBUAFRAScBnQE1AaQB6gEwAo0BmALpAaYF0AKaATQBaAI6AX0BowHXATEBsQKpCaADMgFYAVUB2wLjAmgCYgHtBe0CKwGVAbMC3QFzApoB5wFYAboBQgKnAu0B5gJCAk4EOAHFATkBMAFvA48BewNgAV0BgwIuAWkBdwG1AecBTwOmAV0BcwFVATABsgHCAU0BKALfA2gCuQHyArUCKAO9AVwBNgHrAXABYwQ3AlgBlwI6AZQC2QE7AdoCgQGjAX0BMwJiAVYBmQHdAcIBPQGrAnYB1ANnAeoCnAFxAdIE1gKMB8IBTwRqArMEhgU1AXIBrwGBAb0BtwFYAd8CqwFtAT8EmwFpA6oCKgTiAVcBfQHKAeMCZAFhAeAB8AHxAcIBrwE1Aa8BigK2AmABsQGqA2MBOgcvAcgMbwPOA7sBygKyAdsBRQE8BUsEPgLXBNIB8BDcA9AC1gI8B+cF1QK5AmcDOQKkCPcB8gJjAbYChwewC0IMyQPXCK0BpQzaA0UEoAXtAcMB0gTRBO8BqQLmAj8D8AGpA7YCxwLZBs0ESAbqBL8H8wG9A/cFbgrBAcUC5gHOAuAB6A","gwfv","3QN1","4RHT","sBDI","FMk","ONM","hwSP","ONKfA2g","zAEs","2ANH","iwOk","6xDQ","OMQ","OHg","4grN","iAjg","QuQ","JDwKXGk8DC73AeaFAyt0ZAMqLCEfHiYtLCXgAdexASYrMQI2EicEMDcgAS+nAuoG3RtG","8ATN","nQ+E","jBHW","jRHm","xQGQ","FM8kyaYR6w","vw9j","uA4l","lRDR","lRDB","9Qnf","cbv9Cbw","MqI","MsM","kA9I","0wKuvgfkBtQ","oQZe","jA7K","zwSS","1QXN","V4w","Muc","tg+E","OJ76COeNAcc","owlY","1QTCwwHc","mBB2AZ0","T3o","T3gBdg","0AvV","FKY","mhCp","3Qnu","wAhQmQeI","mQ6i","NaxfQBddDWgdRW+RCp4EiQR0EpET3gaLJUkaRZ0BnAfPQZ7/AZ9VSPgByAFJEoPvAkkVRCxxSZ89USTCK0ebA58","iQ9H","9Q6E","+gLP","0QJguwmL","Lef2AvX9AX72AsAB2cUBcesBsMwCYqMBmw","Law","lgjAAdk","A9kD0ARQAq4BuwHwBU0BKAXOB5sBYAFyA60CsAFDAtsHlgN7BNADwQaOCH8DRgLGCB4WoQHeBCoBbAOgBIgCoARvBJ0IvQHNBukF4wa/BbUFHwLcAiUC0wHVBdgMoAVOA7gFvQG0AXsHxQOyAbQCuwG8AsoJwgHZBPQCtgh7CoAFqwTcCHIFLBDfCXUE8AHtA9cB7gFmAZUBbAJvAjwCuQwxDnkBdwOVBdUDuRN5BtsItwWfAr4BlQn2AeoBnQbjAdcBxgHOAfAG9QGKAegC7xDPCboGhRg6AbwDZASpDtsJ8w7RAt0IzBe7AesD3AvDBc4BsQLACXwNkgG+BM8CzQU+A9YBzgLBBr4H6wTWAvINqAatAqEH4wFTAa4B2wR1Cp8BZQTRA8cFzwGuBegK4AN+DdkE7QS5Aq4BwAOsBOAGtAHYAtQB4wLpBnoQsQPMA/QIzi/iCLEG2AZ2BMEE9wbtCqgGyBAtAuoJ3gK6AeUB9gjjB68BSw22ASMHvwLABNUBQwKqAdEBWALzBJUC4gKsAc0B3QXqAbACMgKtBOwBtgFBAbsBtxmBCGcC6hCtEWED2AV/BZoJRAzDBMQB6wJjBPAFmQPlBdcQkhLUA8EB9AnVBkoCNAHrCLcB2AGwCJYQ9wKYAsQIdQNoAZwF5AGKAdgBwgTGAsYMzgF0A70HwAXGBOIEsQHeCNsCvQWqCdwBjgN6AXgB1A8zAckDXQyiCmoHugK7AoQFxALcA8ACnAPhAfIBowTMEEoEcgfpA9gJzgKmAa4BnwV9AbgDxgqtCiEEkwExAqkFeQHRBNEEzRDZCq0CzAJ+BN8BsQKNFLUE2wbSC6QBqQJwBS8ExQafAa4JfAFvAfIEbgN0AeAO8wE6DtIB7gLrAZQDvAGiA/YFyQFFA7cGKQP1AbUB1AHWAvABugHpBqYBwAHTAtkGpwafAX4Fjg1cAYEHXQvfBNsCzQZEAeIHlwOiB/QPqAa4BfMWKATKBNQBwgTrA9oEzwW/A2QC5wTFA3sCswPhA8ED4wPBAcsCOgS3A6kM1gNSA0oDlgbqBdUB0wI1Ap8CYAHyBr0ESwHjAokDMAF6BOwK4QHPAeMBwQPyBLkJ0gTIAucB8gLZAb8B+QG+BckCwATDBYcC5wHPAa4CpQh6AR0F0weEAYACYAHEBu4QywLMAowBtwIuA7gKfwPfBuwCzAc1B4IgYgJFAd0GcQc0BlEDSxG4DtUBvgNnMdA8RhHRBdsFTQXcCd4NnA","mAee","OHjNA6o","gAWqpQp+","mw6f","lAnUG7OBBus","7QbilQbsrgLd","5g+j","kxDL","zAFw","7QGryQuT","yg/l","Xl4roTomKsamAdot2g48GKE3mxm1KaV0YyZ/KKuGATUDzAqYTNghbWq+FEY3lgQoB1sOhAwjF0kWHg8mLTQjgxZ7CSoUIQqwAT8FUQWcB6Q0sA5dAZsULBabNiYFJFhNFSEmZA85DFoQIQYuLi4JNSOiGi5uIx6hAzMNYBaVez80cQ","gAjY","wQWH","kAGY6wSU","3gOKpgJW0AFr6AFRIjxOUpIBRgy56AFGbkhxPoYBQg","bUKSCELOAqQ","zQtI+AJF","mQ9C","7wwpqgKB","twGhGHwBkWKkEpERogKhFnpNngGhBoFGfgKhZD4jlyRJBqAKkA1IBosZzhGRD5wCcDCeApsPmgGVEq4ZggE/EHQTmCZ/A38J1wWVDqgKhAbOMXUVhQ5vBbIBtwiZIlQGUzJxGYsMSAh5AU0OWQWJDl8NxRKXCYICqAOMBsAaiAOMAYkEkgiHBXkRjxRADoNCkgGZC4cInQqlA2gDWAJdAVcLixycJIgBeQTLIYcGhhSJUHcD2gKoAYwkvAKNA6gBlAJCRYEORRHKAX8SOzFoCqISNx+QF6topyajAZlQqT2f","lw1Z","wAxE","ArsB1wNeE4IrkhszFkMBhyRBKEsWqxvJHkoing7GBLUfaRCCJ1Abty5teysDSkI9HaUBeSumWrELQhXABk1VIQZGCEUcSAHJVpADnBCLElsrgwF0OzMOkhfPBJwFcwVGAXEwwTU7B60XtirVEpYI0wokPmsNyAhLDJ8HR06cFtIBkyymDKspYAJAEp4BPwzLA2QBPxGoBkYiiwSSE6ETsglkH0kGaA1BFG8iQhKCCEATkgefH88ePANmGE0L0SVFKLsOsgWj","bUk/J44Odg","VkUIUAyaByoEQwmGAUgGSg1HAjMLQQWiA0AKagGpAUAJLwFCAWgQqQNHA6oLW1egA6sESwZ5PZYMRwwsA1AIowIrAisgQRhJSak4ngiUBShWuGNFHS4ETQuaYIEcQyxIK4QcSAYmSqgUlQqnCCsVsA4oBDwBTBBfAcgLRAGoGp4GRwyoDH9WJR5IFzENoR1MNi4KSA/NBKxYJR1OMi0cJw7zA4QBJQU/BKABQgguB6QBMgauAz1dsQemE6wK5QUwCb4FQAazAXoBmQV/DSAzUhEqBDcCrwvXCL4GRRTUNak6qiajDdYiow","2RDF","jQ7g","bC0DJwKkFKAukgIpCH4io17BBjEhOTemPZ++AyomKAUqZKOHAZ4yoQcitAGZNCpuTwGgGUC7AUkCKBMlDHgDkCIqVbYKyxQlBx1OoSQwAVE","mwbSnQM+","uwJQ/wzD","rAEn","cTxSPBZLzAM+gwRDvAFIJFFKQCJIcUgMRTtKnQFETkuSAUU","vAwi6AKy","AKUBMQF4AUsCQgWgArMCngJ/A6gDOgKTAqYBngGhA0sBPQE1ArAGoQG/BkABTALHB6wBggGsA34ByA2lEakcfALBCdkBtgayHyUDxgGfA0MEpQOsBssN0gWlDrAUqEqCFicJxwHiAYYBvDq4AcABhgHKBbACKwi+LK0GkyWoAb0kzg2WLGRALwUsAdsDrRffBmUihQZMC6oQzYwBuAmeB6IXmhS/DMQQrwF0ArNIhlC+Ac0eiAmzHZsNjxq2H44DlzWWE8MOmh23CTcQuRihCIEUmQiVDrkCfgWjBY8fkQRqA6QcpwGbCYwhlBKuB3cLogPBCSUDnguRHC0MOA1FDpIBmwGJBNIC0Qt8FsUCwQE/Bp4KrwatCIQJhAQhLJ4SdQoiBHwSMwsqFWMOxRGdHocJtw3NLCsHjCq3pAFJ","AG4BmAZLAo4FOQKwCHECfwF+Be8QjQzKAcoJ9Ql4CnEFzQqUAYAErAQqApkCLAhdAe8DeA7CAUECNwJAAscBjgSnAtgEdgK6AmUB4wU7AWgBkgQ1Bm4FmARnAnkFYwPABKkGZQIuCTAC6gR3BNsLfgEkE7ACqwfDBT4DnA2nDzsHqhtNBaIC4QjEA3kDzQJPA1YDJBNoBGcEXQirAckKugc+AjwKnwFpAWYEYALICXUCrATNA7ADcgnHA6YGbQHNAc0BPALhC3gBnwF1AXMBoAugCmADXAWLBeME0AHRAsMDWAFNBz8CzAGQBMICUAEpB7cEvBYlB+gH5weEBc4BdQPNBskB0g5sDHkB4RI2CVkCSQLUBWoHeQGDAkYBpwXiDKYL3QJ1AXMBsAFHATUG3wPkF+IBxAhIA10BoQGMBzAEPgGeA28I4AGoAfMBqQlqDqUQbQLABM0e3gKjAlkBuQLZE0gCpgFjBLkJJAKZCp8BjwRtB2oGbQKXBm0LfAJfAsQEOAspCc4Q0QS9AsoPyhC/AuoFlgHLBmICQQTTGNELbAa7AWoHMQJDA1IJigSGBzMCUwlcAWgCwAJCBS4BhQGGApcBRgKlAi4CywWZAbsIjwJmA4AHnwbHB3cEMgNWAs0FRQejAr0K7wH1AegB5gaiCT4F9AhYBjMBPQGWCYcBqgWYAbkEHgLfAi8DrAK9AlkBdAJqA3sCoQGJBJsKvgLcBi8GowqEApsGdAY/EHUGoCEwAS8G4gXUAeMMzQJyCaYBMQGvAXcFUwLeAnAClgx6BH0C2QGoCssFyQHzAvcB9AH3BKIBTQlEASUBhQd5A74HgglqASYONAiGCK0D7wRiDyoLegTHAzcBygawAbcBKQGtB4oCjga1AmUFUgNEA74DPwEoBzQDuga0A44ERgGOBYYEfQWKC6sKdQOPApQBdwicA1wMnAiWAm4GKgFfAU4DoAGvAVYFdAIlBGUEtwE8CW0CJQchCjwILAI4AkcFdBe7ApYGTgM8A0YCtQGYBIULlwQ5AiIKuQKdA98BWAgpAbEIRAE2ATUGJgKlCMcBNgKFAqMBkgHmAagFaQIzBEkDIgbMBMkBewVvAlkIbQWDBnIBcgGaAeECJgS3Ai4McALrA3ECOQK6AcQBRguFAq8BzgGCASMCkgjMAkkEzgbCAYAFOQP5AqkDzgHeAeQB0AFmAsEBvAOiB6kBoQFvAUsBSgKyAUwEtwFMAmYCzwNLAbgCPAGnA9IBQANMAkQCQgE3AkUErAG4BuYCSANoA4gCQAQ6AT0B4QFjAkYFRwREA3sDXwFEAUkBWwFJAW4BhgZlAjgEwAG+AU4BPQKtAUABrQG7AqoBPgGJAtMBxwGlAaoCPQE+AnwCTAN6Cz8F1gJEBTwJSAE/AsIFRgFHA44BlwFEBkcByQJMBEkC3gFOAkIBbQZKAsA","pweZ/gG9","Rtc","qAsv","lwOr","kBA5","yBDHApc","yRDF","zAzW","4QHT","+Ayw","lwXb","jQ7IfT0","bUk","/wih","Ab4NXAOpGTACdhSCHdcMSAHAAU8BRQedAXwCpgbnAT0DRQzeB2UBZwXvAUECywRqBWUFoQZ1BD8BQgQsAkgFQAFUAx4KMgN2CjcGuQGdAqECYgFLBYMHRwOSGqABNBg6DEALjw1QBYkEtghSATkGKwlPAZAERA0wC6IO4gSfAcYDqQaJE1EC6gItBEkLSQFRDs8J5gE6ATgGcQ4gCH4jTQLGBNgKkR2GCkICSgJ4DZ0DYwJ1DE8FQBZNBmUH0wtXAkAFOhBLDtQQKgGmBiwBowlVAYQL3wGVAawXSQRrAk8DUR1JAZsWOx1VFtgDPQSmCY0KUApFA14BqAsjBI8ERgxHC2YCHgJkBeIMLBBIC5sBnAVmCFcP6QezBkgORAKtDMkWagIqBIcNTwFnBFcCVQFOAUQKSQpCAmIE0QFSAzQDtwHHAmYDRwJ8CZscpAEhAywBKAGaA0YBUgUtAVANLQrEA3YGwgG/Bx8ELQV1BrwWcAmxA9IMlAyZBXkCTwd5BK4BTRBGDUcBWwFVAcIBmAV0CI8DXwi5Az4CTRNmBDQGrwGjA2IBJQEiAkYCnQGqA44DqQGQA2cGTgWcBK4HxgUyAlwMoAGlB1EIRwRLAo8FMgO0BWYESgImAaABtQFlAdQBagFnB4UEIgRPAzACogOUBlADaARQDEUBJwN2A84HZwQhBiYFQgqcBlIGWAS3CEMNYwSWAiQLWgKGBasGMgFcDVgEvQgzCGEExQJWBXUFZAw1CJ4FKApoBIEBagE0BiEENQEhAWAIggRNBGgCcgEqBFAKTwRSDB4FVgFMBqcErAhPAkIMbQaTBsECpQFMAlICnwNQDFYDrQGCBMwBTQWVCc0DpAU/DG8bxgJyDqkC0wHUEHcBKwPYAdgC3wW3BGEDUAKZAaEBJwF2AU4CWQRLBmwFpAGnA4EQPwF8GcQQlylEQlIS0grXEqMHnwjt","rAG6OptGoxq3mQFieGUBPU5RqwHQCFgapitUEzIzLlCTLrMETAsqex0CVicwBCMDpxuWTp4JRwZJAzgYMgdjAjEWTxtYZkMWngopAzEixwwoJakRZScZOj4sqBumBKY0Ll1IHVAJVwMxBjsTSJIBtQ","ogu5","rAjpwwMx","7QNL","xAtp","rASie7OMCn4","qgFl","/wkc","XaPHEeI","AfUK7wlLN2wSeAbMNkMfPxNtG3R/KyTlnwEvBKkN4BZFM+MeLymifNCEASlHXBmQA80FeRu/XUMHLQTJIDIU0QWLEmcH0B9WAXI1zDxrENgIlAfRApUMpgqaB3MaPXaeJKVUfFKuH08F7hbFMym4AaClAT8","mxDZ","mQHngAKQ9gSbAZyZAYA","gxDTAdQ","ATE","8QeejgJBYFYqv3W60AGdzgKI","xgKx1gSq","3wE+caAOSKMCR+wFSxhHO08EUw5ASkT3AaJ/RiFHKW8bUA","2wSQcsv3CUc","WKdrJhOxHWL7ArURYmmaBteJAaklb+ECcyGBBqUVwtkBKl8oKkOcAbA+oR6+SH8vdw1WO5YbQCbc","auPIA3GfAoOEBJU","BJMgsiRQQScdegYnCLUaWwVbCPkNuFiaFHMCdGgtCTAm0ElzDkEkozPjBGdJNRA2yAFkZS8CLWAyFt4HUAuSF80URR82A9wDM145B7MFYQQxAmATJRd+DoIUnw69D68ByBufAnEHYAJiBKVrrxLACpgSmQKkE4w0MxsgK0YBIQV4S25CV3CCAS8","2wF9","gA3A","2wHX","Gn8SvAe/EV4uSAFKB0YrRSJKDEcGSwY+B0hJTR5KEUgVRKoBSiJJNEMRQyVMCU0BSwFJC0c5TlZEKUYMRxpLCkgZTQpGCkkPSAFCrwFLEd81SBM9HUZD5yFLDUQQQAVTMk8BQQhHE0wWRwNMD0IBThqlDUMQRQpHJUgCUShNNE0dUBw+Ej8PQApIDUgBRjFFDFADSwZIJKQFS1VHCkkBRQlBhwFJ","3A+u","LLs","LHE","Bd8I6QqLB9wG1wGqAzQE6Aj1BIgBPgGMAlcH3w97BGACfgKsAusFQAF+AuAC4AWSAesKfQSbCOUDvgGgAusDMwbvA/AEsQJBAfYCeAVRBNsC5AaLAegFwwPJATwC6wPNAqAB9wNCAbQBygFVCfEBmQFtASYBRwLfBZkMKwniAqUB2g3kCE8UuxB8CrUB0hieA9wKuAKEC5EB2wveAt0B7gLqAssG6AqRAfgR9waaAokE2whwETYLPQOwAfcB4gFPAa4CvwSPBuMBegPPAeQBsgXPBuIKxggtAvAHpwLtGsEGzwdQBLgB3gGzAewH9QK9AosBfgSiC+oGnAHiA8kK6QbJCbYB3xaaAu0EdQI9KZQDRgKYAeUFyw3nEr4DugyUAfACPByLBYEB1gbUAuwC8wPUAu4E0gTcBcYRxgW4BdAL3wL2CuwWzgWzBbYPnQv3CZcHoSfZAugD3hfmAdIKwQ7mA8QYawn4DvUB1AjCEtEF5AXaAuMD7wWjAeQH5QHlAYEDUwWxCOoIwQLTD/ID8BroCLMFbQVHAbUF9gPuAdUBwQH5CsoB4gHyDGIB9QVNG/QGzwacAuUQxQ3MB+0BggO8BPcD9AHeBNAHigHMA6IPpwG7DkUC9wHkBTUBnwKrAcQnxwHmAkMHJgH1BPMBeQLGAa8H0gGlA/MG1wnyAb4R6QrCAeYC4QHeBu0B0QTHCn0CzwIrBLIBvwq2AvEDhQi5Ad8BnwIvA7UBuAGBA/ICYATYCNAMvwHoAiUI0gLoAp8C2QSyB74RzwO6AbgDmwKNEOcF4wWpCaECxgHcB+8H+AK3At4VjgKqA/AInALICW4DpgHxAfQKNAWICSkCsQWFBKECjATgAcQG6QRzAW8F9AHhBd4DiQNTEDUFhARFDEUBrAFyAXkFgQHxEZwQcgKwA0cI1gPwCo8O7grzAd0BvAHTBdkE3QKDAd8CugF/HL0CvwSYBroFswPnB6MBTgP1CMsGYQLNBaEB2gGbECQBzgHLBk0X2wH1AfkB+AjpB8EC9QH2AvcJNwbRA/cERwHFA7UGzirrB9cE9gFvBbwBSQG1B8EBzgY2AdYB8QbqCLsBzg7tBMMIrgPeAfEC8wbwA9MGyAH1Aek","uw1J","5AfN","mwJ6","igtA","NNSmASiaAZ3jASWIAx8cYUuzYqo4dTyfOpoz1gG+O78EnQ+oWcCUAYYHrTXN","qAnSdLxtvzyAbKaUAcQ","qwnZ","1gqW","9gI/AcE","7xGs","4AnF","3gSa","hQRa","+web","4gbR","kwug","gxC6","vw+o","7wlt","7QmL","2QpJ","xAxI","0QPj","NI0","5wt7","vATL","wwTN","xgjGwwKYAXo7gARPD31Zl5sB6A","4Al1","uAil","1waZ","wAHd","xQGQ","qAbP","qwm8","hRHu","mwHq","kg2h","ugHY","0QPGnwW7","0QPS","+wK8Bos","/Anb","8BDZAd4Cvg","4wne","jxLS","8BDhAeYCvg","4QfioArD","8QSu","vRE+Cz4","6g2j1QFj","9Qij","xghwYr103W3YAYU71QSjD6hZrpQBhge2gAJ6","iQuYPL8TqA","zA22","enZJJp4Di44BT2O1jQG4Z9lidzAiRHpt2gGiCCkziAS0BCoLeFlzigE9CoF3IQkqhwG4kwK4","igt6","kwuX","2BHE","2gqx","0gPT","hAefBbM","2gTMsQbU","2gSe","DW8RLRvJAYwLWRdUCrEGtQZIAUoDvQvEAbYPywPPBKcGwgSuAkcC4Q6kBKACewMtEtgBcAWfJZY1TQfCGz0NpwvVCkQBJAL3AfgCWAdEC7kBvRHUBuACiQTDAYsHnh/oAcMBqQF6AWAGewZWAeYK0BDYCq4iRwHuFNwDSQhEEJgKuAdGA6wG3wJDDEsjSCB5BUsTSB5OJ0sHRSScOtcFuBRLCkgRyghNI0gjZ0HUGokK1wLSA+gF8gE7CM0BtBCWCNICigxOMUIBoga3Ac0BTAE9ASkBKAJGBMIF5QHpAdIaRikhCMUS4AWoBZMD1wXHCycRRA+iMaoB1wayA0oBcwfZAUgGwwLXEqEBRwKgBkYDRwFIENMCTgihAUUDawyuB6gXSAHhCLsDYQLbBEIBUBOsDb0nTQVDEswCSwxJAqUBrQ6rGdkNOwRAG7sQswQlBtABxQRHBJYIkhy0BTEEYRRKBFAgbwFBCqkDuhhADUYOvh1LAqMELgieA9wO0gePAcYO5QyHBk4BviCyD7wB4wTYSj4LshBQCMgCwA3rCdUg8QhQ","mBJC","5wuh","7QmLAZUBrA","mBLN","5Q3V","9QjM","mBJC","0APF","X2NaSE5GVkg8Sw1EQDoCRosGQgw+DEfDA10JRQFGMDkpQw5GjwFH","vgOvMDqSAZYhOw","lgSc4AKZrQLIlAWdwgGh","owSJnAdC7QFK2QJyU3Q","zArn","TrYZQ/oBQ3w4EMNHeBOoHrQCRQegOLAQmsoBnkw6zgEuVFwLpBJHCJlNhg10IUKKAX47VhiMKyuFAUIWeEWqCJpFQQqOCbgGnWEkG4KxAeA","I4YBx4EBZTfgU02iBbL7AXcLopICTIUBUawBmQqoAkNq5s4CNkK1","pAnj","pAms","pAmc","pAnF","3RFM","Gn8SvA","3QHzjQFKcEPkCEE","RF4","3QHd","3QGR","3QG5","3QG5","BscCoAFOB6oaMBVhBsARYB11CzMIvAVtCZMEQwG6HkMBuwN5CTwCRAwmAtQEfwFxD5wDngFQCNIK2gq5BLsFNBmsAYEEfwREA8gojgaXB6EBoAGJB50Mdg+YAZUBpgxRAckIJhDMJXoIfA7QFs8CzATKAaABdROIFbcCawRxAs0CTAJoFNUDngVgCWwLtgyfCrQilgKSFbENyQRPGH0BcQfBFdIXlA+oFL4FvgOnDk4LaQXJI68OngRfBJcFpg6lCm0CuQixA4oGsgNJDngBSBJtA4YHqgWAF9QpWwx2AlMIKAFSHaMITAnmBe4NogGnAsQFkwaQC6ADTQdKCioBuQ29AoUCjQWzFEIEiwWoG0cLwwGYD8ABvAHCAcIDTgt3AXMBewF1B5EbSRBHAZsBoQfBBEcCqAI3Ar8BtwmZAmkLMR6BAaYITwYeCE4RRwtsEt8H0gu3AVQCuAOZAY0FsASdBD8CcANsAa4BpAKfCy8Bsg6DC3cHTQfFB6AEwQgpBcIJSgugA30CUQNDETEExQeoDksCfQM4AZUBqwm6CeEFwwQ9DJwJmwmVAp8BjQGOAZ0JhQOQBSYLQwJ5Ar8CkQRrA3sCrwE8AUgdMwyWAaMBkgq0AcUDxguKCpYRNANCDaQKsAqECEYCowonFCAHRAadIrYEmAK7EaEGqgFrGVwGpQGVBK8BdghLAUoB0AF0EKgBpwO+BUcL0gGYDLYawQLdEbUEzQpFAkgbShVFHsk","7A5G","jgnu","wAd/","wAd/InjeA4E","1wSp","BssFrnwmEYEfmR2qO38vqwasAY8JrgSuFrEJnAGuD64IoyGwFWBGqgLbAsgGyyCuDooGSCyzCMsZQw7DCrACnAaJNVYOows8AlEBsBM5GJsRrgWsAq4EcwuuAa4erAywE6wSrAGuDLEEmCI8EDImjAKIAYUBnBjPLKUGuAGDA2wSzAx8AcMOmRDGDrwKZRNNMdwhbC82Co4CwhO/MckYTwePAk8LTA9ACLEErAywBK4LiwFwAkg24g+QIUwhUQuUBbckZgK0DZ8CmxhNA2EUYwJ8AoMLvA7KCF4GUz2aDS8BNwXKN6EgRzybHK8Z0QY5B3ICaAOdC0Q","sgzP","pAFHVkVlSDmkugHT6gJKxAFMGZyZAsutAacSRQXBFX7iAtErTQFM","7ga/owaE","kQ2E","vQ/3","IYBOUIUCkrkBvIoBzHGsMH0NzBDWIbJLmSuzAa0v6YMBzLcBnQvQatcIbB+UHH8QqYkBpAJ2A8JqlTqFBXweeBdCBN992idy","vgwg","vgwg","vgwg","twWS","mAGBPoaCBSzWBVebAeY3IBAgoQGPfHs","EqMO5wHdAm0BTQTfMtIOPgbdEJ0HSgm5BHkG8RHmBUgDTwaAAkgFggKrFu4QSAvgD3Yh2QhKCkoDoAF/AT4CaAc+DMMGTxHmEOcCZAqWC5EPrgFQAbsHPwalAnAcmwE9D68G0gGmAUsIqQZ0FoolSAXeCtgNQQujBd0JnAKFAkkBSgtkMqYF5gWSDuYKlx3XCu8G8AfZFuMM2QaEApgJ4jDwAu4L2AazA04H4QLhH+4O5ANIHXYC3AmjA5EFRwRGBJ8B2AHJDEkF2Qe2E+gB8wzcI9wFSARCAusCTA11CKwEqgRMEuUNcAJME3YPQwVvEeYG2AKmCdkBqgfrAkUBYAFnA0wBnhleA0oBQgxGAY0HqwTFBHcCdwPmBusD3QjZCOgC7BnqC1QK8wLoDewL6wRHC0MC6wnwAkcKRRKlAu8CogPZA54EsAmpBUwDTBFYAewB8APlAkYDRwRNG/EETgdPAe0BQwFADukFMQdHBPQB6gHmBPMj8AXVA94CbQNCBVEF8QLiA94HRwu4BkMBpgJBDY4TQQF6BtYB4AHYAeUB6QPvCfIWRwGsDOUGPQLyEO0R7gLDBLAExwOEAkcC8AFRAq8B8gNsAlgH1wJNBO0BRArWAzoE2A1JBeUE8QXsBXEJSAZHBbEF7gNLAUsBTAGlAksP3AJKAtkD7gVGBKoFwAVHAUAHpAXwBPED8wLvAewC7QtxAnEN8ATVFEIE8gTxBU0IRwKSAfEE7wJBA0kI7QVJB54B7QHrCOUE8BnWAqwGZmxjKkYLbQJ4DKw","rgxXmwHmNyAQIKEBjw","pApd","vgzd","IFFO0yqs1gRQak75AqqWAdWEAUonSLYBm2q/Ek0onSeoMkATyQ","mgl2","bos","1gEuggVOhANBXa9ZQrIBSA","yQ3J","9w+x","A3YCjwSEBqwBqwKhAnsJewKoAsMHQwiDCZsBjQx+FGwPSgXMBX0BlwKFBZkDQwuZA3kCxwF5AbQEmgTDAXsBegOADLkDdwmMAm4BVwiTBbgCZwGUBmgEgAR8EKACewmlJWYgywRpAYgGuBV+BasJtQa6IcECdAtzAkwPPhWWCbEBPQG5BHEKPgFhBkAKnxvGJUgOYCGRBpUDeQFJCso1igTMAVoSkgrYAZEBcBuSCtUGywydI70CSwabAaYCsht/BGgHfArSAtgLlAPHA8QKtALBGKAH2xt7GUYVogKkA3Mo0AGVM7UH2w87C3sBSwRtFeQBkwlwAYMBTBZGB8AIlQZ+DdIGxwShAUYJnASqAbgCRQGQAUEBYwOeBokFpxK3EHQX1Qt0CN0Cyw+dCIgCqASBEeUCTQ3GEWELsQnUAqMKRRS1BH4OrwZ9BCwUzQiGDo0N0gS6B50ETwG7AmcOzAF6BDEFlAJHBEEBnQEvBOABqwKlINkKRQ1DAuEKRxFDK44BjgGJAdsD4gltEokFhQWxB+QI2wG1AaYOWQE/EEQCngNDBdAEVAPZAZgBZwLnAoQBlgGJBZkBegRNAncC1gyFBs8BfgKFBKoLlwNiAc4FpwHTE0cFQwXXEn4HSgWvAlQLhAGdC4EEegPBBMgEcQHJAXYCvAJfAYYX5Q/GAcgItATWAmoBsQHlB3ECZgbDAbkE1gJ7A2MIxgRjCdsBhQhkBLgVxQRICMMIuAfMKOQK2StjKtIZfw","rQFDygXDdp6lA2+QAUkcaJcBRQ","qhHf","CKAgwglQZ78+5PYCsDWkZ4UGyTebM54NpAauCokgpDF6GqQtaWujA98WnTSzHy0ZcyfgFc0usYQBzifmDLAQkAugBqcBxwVNgwFPAdcDqyywCEFYfTu8G1MDJR88CL8DzAJvGlAcYARCB0ANJxulDMYESxe4tQHW","mAGBPoaCBSw","gA5B","U6A","e5kOmQxAAjwNNBDJEB4EzgbJQzQ1tQtgCzQOMTA6DCYDMEE7A0VHOgE7Cy8tKBQ4QCoQQRYqMzMHJgTFAXs0OxIkATUxNOEBKhU3FyQNMRAqWy0yKAksJycLKgIpASoHLg0wAS8RMgYxCyIBMQsmGTEYMAglBi0BSwkuFCgVOxgyAy4KJQk6BzgBJG07AicIQQonISADTggyFjQBLgg+ATIwLwEuFSYCIgkpCX4GKA8wBCMBVAMcAxwDMwIkAisCJxEqAyAuXgcuEDYGKBgz3gFW","kAjD","3gk8","0QJg","pQap","pQZvAXs","BJkrkBVBG5oJpCNCB0cBRxZuBEMHfQNuAm0B3wOnBMkNnwNHBTwBOQ+pBzUJ3UqqA0QDfwdKCYwJSAvLOXIkmxCmFzoVRBnJDHgEdy8yB38yuw2lAyEtpxZHOy9hRxRIHZgISgVLA7MPRQRHCe0Kgh1KGbpLTQFPGrQR4AJJCU4NbRpEDmMEOxPaBUIQ4AquAXEEngWsA3MwTBNUJUoDRwpTBS8hswRQAUcRowIqAkIGTCg7AUYYuQKyBEQcUQZBBTAEsAi3BqIPSgGqCk0KUQ+pEFEGHwGkA7EDugxOAokKRQJMJ1gZnRMoAyMQPxVRBqMurAFGLEsVbwlOCqQEYi2sDEcBSg9IAb4FSw5HBaYf1B1MDUwPPBY6GkQotDpJBEg","tAHcNea2C8Y","lQFpQjl9LcACroMCd8ICVxVWHEP2AYkxoBJHBWHsASBxoQ","ugF7","ugGV","ugFR","dr41kwk/Ms8QtMsCc9YCmztId84O1zqdHpq/AUMUSjOmJJYku6IBRp8BpkyWP603nRi2AbU","INM8wxrRBGUBoBGrAsYKhQ7QBncI+gWBDm8B4gb1HpMiWidgAa8Q7wtgR3MOpyH2EfNgyW3EDYI2+jnPBJcBRRTqOYMg9QmHVPgI+kL4B24hLwnyAlwq3esB8A7VOIARZxLiW9NElA1NCPQSzwFtAtg3wSDAGr4zswvlBIwvewGZH+ZafgGWEyMk8wL2iAH3AfY","kwfr","jAF5ugGX","6AXd","xgJ7","6AW1","uQGBsgzBOr4","xgzI","tgJr","tgJr","pgFrKMnXA5+VA68","zgFo","jgJa","uASy","nw2h","jAF5","tAHE6wuM","tAFi","zgFo","0hHg","e0w","nw2k","yBCZ","2APS","2AOl","0hHQAew","xwOf","lw+Z","kBBe","6whx","L0CTAbWFAzyxAciKAd6bBM4J0QG1XyTDAyVeNgJu","uQnLA8wD8AHsAe0","vwnBAq4","uQnLB+k","vwmD","DzYHtEw/GSwDnQgpFCoJngouBZ0QMxqgC51t5xCXEJ0opjE9B2BJjhmRAi0IXAE0DkURniR1G2cHTyCnAtAfeZABZR4yHUsgSDLSI0g70y+dDrUEkxBPGfQKggV8A5ccRBerCeoCpxkiBTVSIQM1CpkPSAltCaYDogMpEu4CdQMsAmcPoQHzBpsDsQKGD0cC9Ap4B6QL6A+rCNcHLwWqCkIXhQfzBDkE1wZHAVEEjBUlB8MB7gKqDvQBkx7rAasX8g+3AsYCng3yEO0D0ATzBqkE4QL2AdQD9AKsEqYCOAibDjoFgwPCEmcFSgS+Ay4IRwGCBYYG8AHyAUYFrAHxDGgJcAV5CvYHpAGGCiczShFuBUI/qBikFjtEqgg9","vA/B","0guRM5uXAaYvhRizrgEm","pg5D","1AL3","1AJn","S7fcBkiZBKoZlgliygJajQFO","S2Q","Rn4cPzTpUOBbPwxKFp45poMBzSGXUzMTsAbghwTrGbko1wSiFYgMd3ElQEcmJgN6Cd0ZS58Bzys9PJsFwyHKXddbwhokPpcFNVZEAqxBPA","lgHn","7xE8","oA7D","8wts","e5kOmQ","pgul","DacJeA7ZBOscQRrhBXotsiIjAqQOdCDzAfQJ+QXeGd8u7Qp/FNAuaQHiBvYSuAaHND4BrAHbFLIQhAGEAdIB9QFyCOkduwKaM0sE9EGcCrwGsAe1CnEC7BXpBZIBvgqRBvVjzwX3Au8TzyjqC7IB2gGzAeoa3Q7NDWYV1AzdDt4CvwHuBPEB6xDSAbMD4ALuJCYB7QTAE6QMuBdNBdwZzCnnD+sD3AzxAfYUSgjZC/UB8wynCPcV3gSyAtQWpAbxCNELQy+ZMdMHKwSeEtISOwTxFcALqBKtILMBwAF3FukCpRLwAdUL9gFlCKsRlx/tAuIC6wGtC60BmAe5KWUNlxDwOMgJSxY1Bekh3BDVDpICYwb6AkYCwAGBKsQb9hVzBVEMzQ3dEOgn3wpGDuMQ9DHTSJs","6wzOAqiRArY","6wzOkwJi","1gbr9gHA1gWl","hQPBBsbNAsJ+1w","/g6L","rw+t","4gGdAes","wwVw","1QqM","4wHR7w++","uAJy","iwO6","7AHS","7AGk","gATN","7AGK","xQ/w","4wqQ","xQ9A","jwrfAeg","6AnN","hANpAa0","CU4CVwZPA0sGcgtUDkkEVgJUDFkQZSRrAkEHzA54DJkDmAVHAUUepAWSBEZtPwN4A8QOSgNOJD8CPyBgEz4OUQRfAm5OzSilYMgGPU1YE0kcoU/MArwUmhppBcsCyB/NEEYDVgNFBZsCRwmnDKcUxx6VB0YOQgdYQzsfhh3LF0ABSAurPUInmz6ADEAFpBY+IKMBUQVsDEIISTlUBCvHATwhpAOyEzwBQgqmSawBRgdFKUYNSgVECzoGrAZAIF46SwJHB0IFSQ1JDJQFTQ","yAHO","/BDa","jAjLhAYgtgJ6I0g","gQOL7Qid","QEweogSpAVMURwlJBaACfQRtCGkBkxJEGkIFihKSEZxBShRvBptBohRzAacMKwY8FzYcQA9LDpstSDlmATYfpB6mA0sDPhyXLaw4oiFNB0R5TwuZEaRiQhUoKb8CRwydBncCfQFOAiMKiDeSA0IBeQNyFaQKXwFaF0IcljKrHY8GIQVFCaUSuAdnIJ4IjgR5CW4BiSlIJVgIRmFFHaUoURGeB6sBrQShDz8KQlpKBZcHTBVLBEELRAFZHUECQAuZD6UYpQZSSEUBRgwzAa8VlSygBLwQozbHC8M","0A+k","+QGkrwge","qw90GFo","qQMwUy8GNjDaPIzDBM6jArBTif4BJVooT0fVAbx4Qg","DlwK4gJ8CX0CnQfqBUwBVw7cC8ILdQR3AeYF3gHHAkMOrASvAecFLAVFE68FQgJKAUIBrQGtDewGUALjDIIHigduAmYEUgV2E9EEtgfQNKoP4A7VAqkMSg1DAk8H1gSrJMkBZRFjCsUUcwVBEK8BqQV1CWEV0QFFBocDxx2yCvEHrwVoLNY5aQ/IF4wDvznUBc0QxxvvBNoLhCrgA64k3AdZBuYQnAWFLZUBPALcGd4KSBOKDqkGwgHUCKAG0ANrAukBTQdEGrEK6AGrAsAZfhBNAy4F1QTTDLoJvg/NAY8MSwiICZcNgwypAYUTtAQ1D1YKWgunBD8bVQ9WA3kDVAHqAe0D8QHmCLUFigGuDGwCVwLRAUoKSwVtBEcCkSDHCHkFKwq8BesSwAGOKM8CvAV9F5EBwwZ0An0DfRmdDygGZQKwEX4KRAhaAfkFsRDKAitBsgmlIx8XQgpgAYUV9wH1AdsCsgxBAY8MjgiUAr8GoBVlDHUFvgFNAUgNYwlaBLIGIgO1BaoWxwF9CVMeswFBBJ4BnAPMA64FTwOqBEwOnwNLCdYBmgPtBZkINRk8GTwHbAPFGagDNwpDLeIKPAdICXEB2wHsAUkBTgFLAfQD4QJIDE4","dmw","qgHf","2g5S","9Aq1","9QF1","9QGg","9QGg","rwpa","pQiP","4Qh7","lAbH","LOXxDNY","mwFC","jwfc","nBC/","hQSC","W8I","6gKf","ownK","4Qe/","rATX","GNc","8wrgkgff","8wqokge7","5AvP","gRJH","6AbQ","JUcHqwW5KWwBTgVQFkYnoA3aCCM40VzLG0pCcjXMPN8YTgelMYI9O1W1PdE1ozRERdRKqhS6LLwcRBzYFbkPqF7QFYIEpzXQAdEIxBQqAps0UQJsDXMPfAPFD7PiAr0BzSRxmwFNAUwORCJMYqg6bhtGBc8Dcg","GL+aAa8","DrMF6g6rDEsNjQbyB0AHthGOD3Qvtw26BkAE1wjpAmgZvg+3DNk3SitKDUMJeQokaTgC1Ac6Rk4HQANgSkZSbGziUbUXzwbPDfg7fgahMZIB5x6xaK8aTRn5SmsDuAHOAa0B7AWgNEMB3QHdDk4UQgNChwFEEpYPkQGaQ7QO2gXJC4wVXnWiIk4XkgROD1ABlzexBrEGJhx/AdcGvgrmBWMBiRFSCz4X3x5JCLcBkQPoEH8QdAGvAksQ2g5GSOUTxgrrF6oCSQ","E58","rQ+S","jweg","2QOwUrC/DacBsw","6hGnAbM","LUscWBZGHU/7AWD2AT5kSHmKhwNITo37AVQlRgFE7QI8S4FMqg","hgGw","zgva","YzqhB65PpeICZPoCTe0BsB6z","wANF9Qcv","pBKf","4AZL","gxHS","b4sJZidj4Ag++wHWiQVu","lAlWRG8","ixDm","ixDZ","ixBA","pwGixQVmwAieaZg","MYdcZzzHa0u2AaSQA8CbBNxOTBJOrAFEjAI8","jhDo","6AtHgQXC","swFrnQJm3wZE5gPPmwLQ","2QI/0AdOJEVBlg","4QSv","1wSkoAXVjgGqkAL0rwF9","AcUEQQJvBkcDUQPEAmsGYQNOAYcFTQFUA0MCmgFxBXkCaQhyAU4BcglZCMACaQNUA+MEoQFbCcIHQQJFAz8CPAFIBEYEPwJPA0gBbwKUA60EbQVZAX8BKANHAUABfATUBkECUQRFBEICOwNIAkADZgE/AUYBagSkAUgChwFoAkIBewVVC0cBRAFHATIBhwWtBT4HSAdMBjwBuwJCBK8ClAWvAbUFpQpzGEoQPwI/AYcBdANQAp8BRBBPA0YFhQFIAUgCcAR6ATkBtwGyB9ADhgY/BkUNhANHAXgEQQGJBlsBjQNMAU0IVgY8BUsDugGJB6EBmgPiAoEBNgVBAT0Big4+A0MCVgFcB5ADPAjMBtMEwQJmAUUIkxCUDogKtAdfAz4FoAV3AsUZZQRJB3YCRgY8EpYCigzRBVsHwQGlAp4BdgM7Az0BfgaOA0oBfwGJBmgDQAZvA3kOjASYFFMHRQKOBLYESQuqBYkilBCkCKEETQdEG5MLnQGJA4QCxQJ8BD8YhgREBNMJphA9A0oFSwFJAT8BagFdDUgCSQJ8B48DvAFpA0IJSQdDBkgFZwhKCm8F1wNQBZUJpAFDBokFQgE8AZgFwAJaA2IBPwZAAT4CTAGnCT4BYANLAYIHpAdHAacByAejCJUNuQJJAUwEmQY/AksDkgRDBuIBkwhqBKIEvQSbBMsCzQVCBaMCRwFRDEsGRQFgAqIHRgg9BaUJRAU+A7kIQwO7A8UHRwGIAcUDRwFHCIkBzAFPAT8DwgREDH8CYQONCkwDRQMlAkMDSARJBFQDSQi5BHIGygHKBkQObANmA2kCUwNCAUoIRAhFF0cFggVKAUcDZgFPAUcKSwF2AUYCTASaAXUHYQKcBUoERwu6CUcESQTgCm0BTglDBkkDQgNDBksHUQRIAUUE1QNIC1ABjQKuA00PcgdKA1EDRQJJAUIFURSDCDwCPwdBAUYCbAFPAq8NdwFGAXEISQJFAkwGTwZIC0wDzgR8BIABzgVQBkMQRgE9ATkDQAK5BMQFpAFCAkkJtwdIE6gEbwNRAXAERgF0AUcBRwFEB00BTgSPGUUBdQRFAkYBSAF4BEoBRQRpAksCQgZHBEcEpQNOFmwBVgZKATwDwAZGA04BRQRgBG0DQAZ7ATkBbwFHBYoCvAFvA6YBdANvAWsESAO8Cb4SRwFKCMUBVwdNBUsBQgaPB0cFbQRBCo0DjAl7A0YDsgbvAb0CMwJGAUgUhgE8FzwCRgyOEXQKmwQ3EXgSqAh8HUgZTBVZ","4gG3","xAGthgiY5ALD7QN6","2hCB","CEIBVASZCGsMNQM8BGgHQA2eAWgIWQ3JBGANQwdBCGwLQgFgB4IgOwSmAjsBUAlGAz8FQgGlBToQqQFlAUUEcQ1IB50GxhK0BEoLmiyqA3khlwFdD2UYSwhPE1IBSQGZCEIRkRhDKEQNYBmSDpEJdBhIEZQGnS7LCbEBNANQGJcGSwxGSkkZqRFNC0JTpAJQC58KKAWjAZ4HxA4oBEYEPAZKIsEabQSjGmMHcBPLDUwFngGrEmQTqAKjBdsDJA5DBUcJZgpaFmMZawyoEUoKrAJXKSoLPQUvBJoIYgi/AycdtgFEA5wFNQGADFoCTRMyAocHRwO1DlABRgRLApECgwFMA6UXmwKlAqEBSBNJDnELngVNCEcLpgWsCE0fsQklBJ8CSRe/EisCQQFGDm4BMgNOCkUCmGSpCmgBWgcwBqAIRwNNK0YQKA5FAkkBnQKmJqIEKwciAaMKtQm6EV4BdxdEAVIKRQtZAX4LpAJHBq4CTwG7AlkPdlFs","Ae0k9A7aZ+gLnyeIK9ZEdxWtSskMRChPLskkqwzWQilk1JgCbAvJNEos2XdUiAHBCNo5mXutAfUPQEPkD6CNAbVLpB62HXs+WlGlKasXdooBzxs/I58","C64zcC+UhgGeDYBdbSZGflNeSUN2rwKIWastHmPPKE0KHQ1OlwGfF0XKAUW9AaINiCIx","B6osnIQBoRc9JWL7Aaz6AaZanhdYb5knYzxACZ8DaxrDEKIMrHREggGqF5cfiQ0qLZ4jcQtSZX8kpqEBPFKgAZoZpwObHEYmug","uQ8mBaZxpg","AVAT7wJTCY4TaVnIFM4IQBRIlQHPLEUqRIEBWFnFwwFME+kDWA/vV8+iAe0X7Dq5fowQvk69X0kE23N4lgHdAuwCpQHUGKqxAUALwSLDH0EZKCfQFXJ17hs/I+4","Jac","mgFK","JcA","4QhK","0gXO","8Qt3iwLmoATc","8QvG","1gbe","JZ8","9Qep","9Qeh","Jcw","3hF3","3hGi","9wHW","CKADugPvAeoB+CWeEFkklhlCDkEB4w5BCtMCkwnMVeYB2wc0JakXShdqAuoRMRSRB7gVuwRwEjcD7gbMCc8Y3RS3J4gD3RtcKaoWmgzaAdAgXQbmK5IFowv4AfEXtSXMHU0BuBHwF+Mf8k/pBnMbagSxJocDPEfOILwDsRXeDfcNeg47BSIIPRk2B6NAqxTUFNUJ0STZCN0k2zfUAUsGOw7LAcoK3AY2Q7YMRwSrBHUGUQG4AtQKRBpPEJssQgrwROsngRm6A40D6AHyCy0beARRB7IBKhFGAqIGrSCuIeQOuwYkAaYEogGXK0gN1ReVF8UCPEOeDKQoSCFt","EOU","jwfa","D8OpCaQ","8w6u","uAnb","2QbZ","DuE","tAE/","5gLe","8AbU","jRCU","jRCU","rA7r","7gXx","7w6N","8g5h","3gfp","6A25","8w6a","EqNMRDZAE2IVmBuSjQOpBGzyA5lCplFRlgGSGTcTZge5AmdXnxNJvQGsZ50uR1IzM6ERU0qP","XqIRPx9ZAkEIQweYC54ESAKgF0oNnwuGFJ4CQjaBE5MnXTdMIjwCRQ2aCqYlqQZHTUUZRhDOIIpgTlZEIc8RPxxEAUsiogFNB08DRiRBD3oHSiJTJEQIjAFgBSUUTxlHEkcGRghOBkMBSwghOy4BKxQnD5kDQwNCEE4DUgmuA50VRRyrA3JBxxGTAUIVdQmvE0YNZANdBD4Pfw1AAUcGSxhuAbYGphXQD44GhAR5FpgNPwFRAp9TQyWkIEYPqgRFBk4NTxNFFbUTQAebC6EMjwlFJsUVUxSICm9xmBlIITkEPjVDLTY","LtxJRxkotwJBtAKU/wSXd2z2Akk1on83Tkg","uwKd7w1L","yxFF","8wfjogfB","wAtH9gIm","CU5lXZIIlnOrcR26AVClAyJYqA","vQXxAaiwCZ4","8gSu","A5EEQgi1ATkFxARtAXICegEqAlwBdgE1Ai0DSwFcAXwBdwGaAqsCXAikAUwCkAGUA4MCTAFMBEEEUAGmAmwLfwKpBi8GeQR6AUoDegZsAdUCdAFLA4gBgQG/AzkCMgFaA00CjQFCAr8DegHNAccBxQEoAykDrgV1B1ECogKfAksJWASvAtQCLAEnAUgBageKBMsDwAGiAbgCMgGUAjoBJgElAkUDPgGhAnABmAR1DYcCcQxgBI4BgAGiAncGuAG8A1gBWgLNBW0NywKMAWYKiwbjAZgCxQI+AmADRgI+AVgNlQQnAnMBJwFNAi0GhAV5ApwDbQG8CbEBJAKJAagFtgSvAYsIswL2BUUEcwOrB4QBZgGXBloDMAI8B7MBmAO3AVECTwUtA0gKeAGiASsCzQkxAjYDQQEwAt0IMAV0AToBbALQEbwBTQSnBa0B0AHbAWAHSwSfBX8G5QN4CbcCfQJQAZEFOQGkBC8BNAzEBnkKnwHICHoGpwFyCIsBtQONAncHhAOyBMgDmAKeA5oCMwR1Aj0DWgFPAk0BpARlAWQGzwGQAVMCXQLRBOAGagetBlgBogNLAjwBtgHkBVEBSgNRB8ICcQF+AX4DeQE1ArgFIQumAUUCrwhnAX4CwQJfEDMHJgQ0CGoBbAVWAnsJ3wK1B8YBowKnAWMBtwPPA9AHfQJiAUoKngJyAkoCJAXLA50CRgF6CIIDZgmSBZ4G0wOeBX0B3QKXB/MCdgJuB/QBNATOAnIHKgVxApkBTgVxBk4CPANmATYBTwRrATECegwvA0UJugKlAdEDYAZZAS0HVgdwAe8FxQK3AZwEcAKEBUoDtwSlAkUNKQV9A5UBfwOVBr0DYAFsAksBZgLXBCwBpAFuBGMBVgZIAioCowVcBKMDXQQqASEDVwF/BFgBvwXGBXwHQwEkAmIB1weVA3cBlQFKAZIDLwrlAUsDbQLTBbMCUQNRAWwEbQIzAX8FlwEhAaIBegJoBMEDgwOwA4cDSgWXAy0JPQF/AUIElAF2BXEBXQM9Bi0CjAQ1CIIDOARyC8AClQHbAU4ITwJjCGMDeQNnAUUD4AM2A9IFegaxAqUBigJOBoUMbAiiESkE0QGqBZEIVgIqCYcEmwFyAsIChwEyASEBKwHGAZcCQghEAmcCMQOMBj8EPwRJBogBJwJwAy4BfQStAloBoAIxAW8LiAJIAXwFJARnAV8FmQbOA1EOVQKCCncFXwJFAyYBIAYlBn8NfQGBCncEUwRRBSkCKAFiBLoBKAGxB+kCRQXjA6UFNQLGA8ECsAGBBFAEbgFGBqMClg6gCq0CSALGAXoQeAQ3AVgF2wulAiEFsQGFAVUBQgHGAp4ESgF+Am4COgKRAS0CzQFlATEGnQN0An4BaAGzAVwCPwEkA2QCOwR+DLUCbgYgAfUDJQamAjgCeQRzBE0JvALlBDMDYwFKA7oC0AovBC4CQwXKAp4CLwEuArEGIgJRCS4EIgJLBjAMsghDAo8BoAG+B0UHowRmBCUHHQJmAUscZANyAlQCNQFQCKAKNQZHCW8BawWdBmEFIgd9EZ4BgAF7BqwESwxRA+oBwQzCCkA4zgpFBUQDwBOkEpoGwQesA7cFQxtuBbcIvQHeAVg","gQ6R","DdMygikrAXEBwwJ6FeAnZw0pBy8BmANnC88OcXg4FnAXrhU1EyYO0AbPHYMBnw84JUEsLRRKJuIf4Q8vD+IbtgljTCsHe1E1CNoU6xWYFCgnZEIvCeETsgfRE1IHLxHmG7YXgiHCIsoIqBZqAZ0xMxIzA4cMNSwnISoKaQLnGkpJLQgyF9AEdwE0BCYHJRFNLqMZK0M9BjMEvgQnBYU1hhFqBiwDNCIeDCkPLQZuCy4CqQYyJs8CJEBuYEtnz1PI","tgQ7","yQlE","lxK3","9gKJAag","gwQt","nQiD","swqV","qwXP","0QiX","hg3j","sQXR","tQWJ","sw++","lgGu","qxHL","3BDq","3QSf","zwPN","lwOr","tQLj","xwGruAvh","1Q7l","lgfT","qQmT","oQGKBEXPAngBdAF1AXMBdLsBS8sFaq4BoAiFAYMBhAGIV06BAXQsSAx0LUd+cgFyG3ElQw","jwOOKZeuA56cAYziArBUMeQEsDOP","IUjCAk9nvCBvkgrY","iwLBAeABwQG9dKoB9AG8AaoBpQGq5Q6rAas","jALQ","gwPz","OLHLBtjQA+0PzTPEkAJVBaz7AcagAkI","pQ++","0wrCQsQ","OJQ","A8cBvgFBBVAFvgHUBn0CUwacAVwB6APnAlQISwZJBMsEeATGBtEKaQFSArEEbAm9A24BlQXIAUoDtQFcAnkCpAGvAc8BfAOtA0YBeQFnAjMBcQGlBz4F3gNPAzcCQAGdAksB5ApbAukBfQGwB/IHlgHEAz8BSAOYBksBYQTXBW4FRwXcA3IC3AtKBZ4HcwHrB5YNlAFRA08OuQz1Ac8EnAPwAsUGWgQ/AT4BPwhEA0ILYwNKAboEfgFIBKcBSAO3AXQByAZKBoYD0AOQAWEEswXVA8gBaQLlBZENQQRMCSsGtBBfAtoBPAJFBtcBQQalCN8CPgFHJEUGvAWVCOAEsQqpAeEBsQbuAkcBzwSpDEUHywSeAUEDRAT7BEUGZgJ+CCsBOQeLAcsFPgbODKwCRwNqAbIE6gnWAXwMpgFLBD0CTwOqBNsBkgF/BDIJWgakBLkJyQSTFLkRTgFuAukEpwisDcECggSLBfEBnwHkAYMERQhsBJoM5wnTBycGlQROApcS3AFNBFoCSgHfAtwBiQbGDq8IUANEBfMC0gTQBEUCwwGuAVoC3wYyA8MBdAFCAsoChwWiAc4CngVPAX4Cbgr4A28ERgNEAx4BSAHQAUIF4wLtA30B1AO+B0gJ5gJpBtME4wzvCYMBhAjyB94PjQFlAdsD7AObAT4BmwLkCHkK8QGMAUsERwfKD1QCzwGTAUwBdQF9Ab8DtAHaBI0BjQXDBkcDpgNGAfYB5ARKAs8DQwHWAqIDRwHUCN0HtwlHAkQBRgHnBEQBQAFIArkD0gFHATICwgFgBMYBQgTdCqQEpQSGBUQOlgJHAjwCngNIB0IBQgGDD98IiwPqA60B2gntBM8ETANZBUMDSAGkAuAMNAVNBUMCPwSJBFwBoQH0BuQB8gGgA0cBiwiWAkMEpgK7AukBmwNRA8YDbAh1BbIDzQbdAVABRwHOAscE1wG0Be8BgANJAkgDeQFEAcQC4wFjAcEDngPEAUwCmgnuA0oCrQPRA0cBSAJMAU0McAFICkQBWgR/AfIDogH0BG8BaAE2AUMCRwHRA0kB3wPDBNcBVwKAAzECgwGEAYgH3AHvAegDkQTMAd0CbgN5Ab4HTQpKAbMC8AOYAfEB5wHuBJABoAG7AU0CbQZFAn8BRwFRAyQH5gSlAS8BuAOvAUQCwALmA8MDVwFJAdABQwLgCZYFSgHaBI8B0AKqCd0CrQxIAaAJRRCiAXkBqgSjAkME+AW7CuYBXAGrAT4BfwF2CMgErAFoAdAB4gE/AWUBSgNiBsIB2QNAAT8BQwPiAUMCvAKtAs0E5QGRATwDPgJIAekCTQOqAYcCTQFtBEQD2ALvAtgbRQFGAdcBawGAAegJkgLSAdoBiAFCAUECsQFIATACOwSoCCYE3QFLAXMCpQHJBUYHVgmlAUkESQJuAaoCQgM6AU0DkgSoBEABRwHVAnAIegd/DV4Bdw6BAtMH2QVyAaMBpwPAASoDrQFHAqwGcwQ3A5AESwSSAUQDcQFyAfEDLwKrAtQGiALbAkkBpATZAVEHawl8AaABowGvA7Qc6Qb6ATcD8xznAsQHQinnENQBdwfGAuwB6QijBdAC0xG7FegHnw","ywnX","xwvv","mgjc","9wZw","wgqy+gPM","qgql","wgrajgStlQNu","wgrJ","wgqW","4AjX","pgEp","pQKp","zRHa","tQqD","1AutFKNmcQ","N8t+srQGzd0Cz6sD8FBH","mAvX","igjT","pQSf","ywTxsAzzBO8","tQFg","vAGY","ywTmsAzp","mAEq","zA6tAuI","ng20","oQe+","lQ/B","lwyNAeWPAZY","qAdm","qwmiqQKDFKNmcQ","vQsvvAQngwE3","RXcalg2sC309hCUqAkAY5HHAcaFTx12yBMAkpW2LBUlN2gpoB3G2AdcR2wPnJsoRygnUGEEQgQijygHVBXI3dgTUB0ENYwHBOSUv2AHqAegDMAXUGukE3QHnAewFoC7NEs8ESAHQTuYh2BPiAZENhy7oDYiDAdceLgxxAuwNe64B6Q","X5Y","aMQERWra8gV+vgMqE4wieY8EyA","hgsq","rBCl","nAwroAKGzgEbKdE","+Q8n","5gFKIYDOAdXHCCsiagGI+gIm","5gyxkwPR","9Aad","4Qce","0gpD","mAHW","mAFD","nwbp","RcLoC5Q1yw","IJv/CKA","1Aew","mQJn","ngnU","ng20","rAjp","6weU","mxHS","mwee+QbU","tQdY","hgPc","+grs","kw2w","2RCp","2RBR","mgh/","vQPU","qxBy","mwfI","uQrZ","1gqS","vgas","oQaK","qQ6z","rwuICco","uAuR","3RHU","whDX","oQa6","pQSfqA3J","lAbB","ywTWsAzmBNg","ccM","3Q/f","gwdHzAJEUI0","ccM","0wW7uQVhoQShAqWBAVAkKQ","oQHp","oQF3","oQGK","oQGz","uQnQB+o","wAnc","uQmbB7Y","kg2h","OU4BaxpaPEEQ2gRvAsv9AbuQAs/qAcYXmDFKe328AlEllPoCcD3BGYgVgXYYFUE","kQ+I","jAs/","wQRM4gPlogQvggHqOqy+Aag","uwfkjAZg+AGo","uwe+","xw19","0gnGAcWbCPA","7hGj","iwjXqAHFLzwdHN0D7w","3A3n","fUI0T+gGMLgBSDGmnAI2AUMnsfYDOeYBVQ","GM2wD6p/7GHvEPY","kAhj","AH8BbwHZBEkB2wFCAYgCqQWJAbMBpANWBX8BoQMtAmMDTQFlA1kBiwKPAnYCnwFpAbUElgLpAeoBVQGgAaQBqwJEAkwCpgGUAcECPQSfCZQEiwJ+Aj4EcgSIAnkEkgGyAXIIhAO6AXEBigOhAW8ClgF4ApMFpwG5AoMBjQVYAYoFfwGPAtEEhQi3BiwDcwFlArACNQRvBJMBiAN+A7cBrwJpAdEDjAGSBlMDOgJHAqkBPAN/AeUBfgFxA3YHeQGND40EkgTYCcAK8QXKFN8BVASCBpYBbAqFASgClBCDA0QDpgR5AYUBhAO1AbkBvQF+BasJkQEkAlsBdAmYC5YPzQGWAooEWwGhBFgBnAE9AYkXkAKBBaoGfgGxCY8BMQG5ATYNlQZFFZoBshqRCOkDfw3eAbcKgAGlDksI1AYwAmwC4AeOCTQOmAWCG30BZwWNBFkJpA95BYENigNKEUgBhAfECb0BlgJkH8QDeAKZAoQEZgGGEIUNhAXNAXcJjQiFEmQBogHuB+8ClxejBS0DwAeCAYwHjQKTCtQDmwTvBHwEaAGLAbUCpgR+BsQEvgGFAZkDhwTDA5cB+AKlAbgLVAfeC5MFegKDAW0eegKqDFUBzxIoA4MU6QWbCpQBbwFvEIgBdwGMB6YB4Ql4A5QDkQZJApQDbQODA3kBmwHIASQDowEwDfED5AFpBHgEfwFBAYECxgTkBqYBWQH1Ao0BiQN6AXsKVgHvAfcHbQd8ArIBkAMcA4UHuAShBH0C3gHiApQBSAK7AYACbwGTBfMBZwWnATEGbggmAZ0V9QPQApoEhQelAXYB6QU0Ay4CrwJFD4MIVgOdAZwBgwGZAUIBigQ/AYYBvQJdAaQBLwLoAfcCnQGOA/UIiwGSAbcBnhGEAYoBKwIvAZQClQJUAdYBtAFaATsCdAG/AXkBfgHZAV8BhAGLA0sCkgG4AUIBSwHCAbIGuQl+AYkGewGjAYABjQF8AXwPJwG6AXUBQAGFB4QBJQaZAa0GSgGJASgBmQG1ASkEUAKVBFcCfwSFAr8FdwSFAUIBhwGUAZYDhQElAZECXAE7BoMBvwbABM4E4QWcAoIBlAglAaUBvAKeAtADOgHLAr0BkAGSA6IKKgGlAS8BQAl2AXsBgQKfA5QBsgIfAS0EhQmAAW4EeAKhAaoHsgJ9AXsBiwZkBosBIglgBM4G4wRyAoIBrQHkBLYCfgG7B3gBfQeFA+IBfQKXDXIBfwKSA5YEdAF4BXQBdwQlBYIBMgN7AZgBjgFPAYIBMAE5AkIBJAHgAc8BkgJfAo0COAHXAekDSQO4BcQGtQMqAaUMkwOKAX4F3gGNArsBpAWfBIcCLwGqAZMFgAGPAYQEpwGhBZABLgGHAbIFwQGCAYMB2gKPAUcChwbgAuoFaQEzBIIBzAWbA3oGmgQiAagCVQJ3AYUBkQKkAo8BegEdAWkEfwPTApMDgBpCAo8IuQkxASoFuAGCAYYBiQIrAYMBoQcuBCgCfgKCAZcCmAGVAScBjAFFAyYEtApaAVQEewJFDSwH6DfWK4oDdwLvAesC1QiZAfIB6g","AEkClANyAa8BQgGOAlIBRQK5AksBlQ4tBW0FSAIwAYkMvgQ7BH4Ffx4pB3EBOAhXA2QBbwFEA38BTAFbAjkHhAFcA48DOgomATwEMwhiAjsEbgOsAUwCmwJQBJ4FuAOyAa8CJwGYAjoBhQKmAS8HkAOCBFkBPANxAXIBKARKCCsIswdrBJ4E7wmlCuMFZhScBS0GMgFzClIBYhKtC6gBogV5AagFmgo5AmQKZBtdAmMJYwJxAUMXSAIpBTAHPAmOAWwCbBOrFogJQRF1Bi0CqANRBqEHYAFUCrQBTRbOBoELZwmQEk8BKiEsLoAUhgE1B14JNgFiApQfeAUrAlcENAGiEIoNLgVLCr4IbQbeDLcBNQEwCTUcogPDCLkHpgzFAzQImQRTAXEBIQIpBCkGuwQqATcBLgNJBC8DtwGrBngEKQSeFy0CRwFHHogClgx6AWcSWwO1GS8KSwFgEioBIQhYAYQISQNQA00GagJKBKMCcwOZAjkBmANOAZ4QSgNsBlQBiwFNAncKIQFgAVACUQG8A4UBahytB1EHoQSXBC0CwgNoAYMCIwFxDh4BjQ5MEzMDPQMlAnwMjAY0A4wCJwJJDnsBYgiGA54BSAEpAUIBgwFABD8BfwEqAikBRQEvArsDMQTCCLIBXhQhAUQCxAFoAq4CJwGKASYBiAGqAiUBZQFYAVAClQEwAR4DLAIkAXMCTgHAAWEGMAosBo0BaQFOAYYBtAEyCEgHWAEyAWYBjghDAZEGLQeVATIBUgJKAZgGpgSXAl8BYwOHAkYFOwRvAY8BRAJPA3cBfAGsAnwBYQZYAYAGQA1jAlQBowiOAXcFpgSVAm8BKQEtA6cKcQKnAb8JJQG4AWYGKwJVAUwEeQlSASsEQAJUAV4HywIiAUwBaQaBBn0BbwltAU0D2gpMAjMBPAFiBG0CRAklCowBbAJhDSABfQJEA1UEcwGnBmUEbwWwBCcBLwFyAZkBUgGJAWgCfwF8A0YCQgTLAccBnQNmA5sBgwSwCSoNHgNdAbIFTQFsAikBPwRHAVAEVgJfAiYFTwFpAVAFQQWyAX0BbwFQBbwBbgE5AckCUQEpCLYCsAaNBY8FZQMmBSMFYAGxBSUBJAKLAkMBegFHJ3QCJwiJCY0BlQV6ATEBsQOPAb0BLgeWBCgCIwKxAyIBtAFwAWMBbweHCzITP29sDLAuYQ","oAwr","nQuT","7wNGxgPGvgHOT1bgAkk","2QEqKtA","AFAGzgFCCkUldwM+L3oBaA0sByYDMgV2AZoQbwG5DE4KZAQ1BCkFJwZDBs8GQgIyDE0FMB/OE+EFxhRYBUInngk5BeEB1g4uGDoP3gg4BFgCtB9uBkoaOAZ0BskynQG8Ai8ZTSCvHisE4xw4BiwEegk2NSoIrAwtDesSMwMwQ+YNNQFsNyQCNQpvB8AIIwIhAikK0xA4AR8CHgEnC6kS2Uo1JSgjKwM3CSoMORPeCKkC2QIqAUEBcwZACDIDLwQuC2QILQc2ApsWTAPUDy0FHg8mFj0DhQKcF30egwImASUGvwa7B+YJKhMyASEJOAEmBSUFaQEeBkoBWQFrEiwcLRAtEmYMKAWUBCICIAFKBFABJRFACF0FJwMlElsHJAoqAVoLJQQ0FSsOIwI9BIUiLQM8ECUKrBopBkgBHwQlDZUGxglHAXkGmwXGFh4EowUvBC4Mbg0xDTQDYg3QBSgFNg8/CoUuJgokCioGXQUpAS4SIgfRDkQb1GLjAzkDRAvQAbQ","2RC+","2gF7N8LGApG/Ap0i6CfO8QGzzQHFLJvyAVJFxbsDcAU9Aa4C1Q","pQSfpw3aAeE","kQLD","3wrWONA","9wzA","ng+H","oAye","wg7n","enZJJp4Di40C0eoCMkQpdikBKjoq7wIhCSoqKWmhbUWHAW8BSA","2Anv","2AnP","0AnB","zBHUAbA","uAfS","wRHH","zBFH","N+M","5Qwl","zQrm","3QjO","zA9e","gA6I","9Qbd","lgLFmwWGiwLeA0o","lwuE","6wnl","6wnS","3wq4","wRFE","zAud","Nt4","ogpt","ogq+","AEkBmAE4FnEFKgWlAqEDWQ93BsUDfge6E3EGYglYBSMBiwy0AjACngEnAUUDSg83BF8CgAOfDpoDaAg3AV4GWgOIAsAGsAFvDkgBoQF5BCgBmAp5AswEugE1BmICpQuAArgPdBg6A1YJmwqNAXkBYgWWAXEDcQJ6CC0CJw8rBj8BSyc1B5EGYAK6AysMQgFgAVYHUR5HCcMEjwZ6AUoBRRWzAbYENgjLAVwNqQlNApILNAnJAS0KpQOoAZgUmQd5AYYBNQYpBZkMrgFGBHUPyAxnAX4Sug+fAZkEpwpIC8QMaQFPBnYBOwQ3BTYSRQwrD6EBRSFOB6sIqw92B54XORIyAXgGogEvAmABRgGXBWkPPQlDA4ALOgawAswCPAV3BU4EZQUpC1oFswtpFTAENwl5B0gBOQYxDG0FjgFwDKEFSwQsDTsEdAEqAXUFzgFIB10GLgGfA8oBqgu8CIACVwE+BMwErwWkAiQBSwK1AboGWBIzAYsEkAMzBDsBdQJCAW0DgwJ/AqEGLREqAT0CSwF8A0oDtgZBAVYDzgKBDiMLrAQ/BycJMwFAAs0PtAi7AjYBQgFvCEsGbwQ7AScCpAMoBD4CwQNdAikB4gVKB6YBdgTiBZ8CRglzAZwBKwR6AiYG1QEuA10DnwJXAsEBLwSlAzoCkwbcA0QCJQV3AqkBsAKLA8kBLAFrBY0JqwFjAW4BvQSQBGwFeAiaBXABawKqAUkHtAFMB3cIiQIrAmIE1ATMBG8CbAMoCbYCaAEvBSUKuAQ6A7oNpAS9BmgBagEoCZUHJBF/AVsBKgMlAWcBKwRQASgBKwPMAUMMMQZtCSMCZAFqB4EBZhEoDqYCPQ54CicPagUnBCQEoQVaA30IbQiUBYUGpgoxATsBVApzBMcB1QNCApcBuQI4FHEIuQM4AaYBOQEwAZgPIgWxB9IGKgKABKwBfgJTArADMQONAqICMA9tBW0B2AEdCHsUwAdyBKUGggM/CD4FTAJHBWsDtgG6AbkHZAKvAiMCQwW1AXYBbwKmBMEPgQFwATgBdQFJCz4BWRDWAUYJS1pICz4MTBtICUcGsQ","EpcSsTy9CGsLdQeuBJgBoAifFHUlqwcvCp8KfgxMDGICYWpIFbIIVymqeHULkkuuTpoBeUetbmUQuDmaCJkKKg6nBJwgoglNMUQkowumEaUChAWbD60HhQHBAbYRmxpxBKMaaS+wBKEPeQGjKS8Q0QmYDbUBbAluCW4HbweJDaUBcgZYCsQHdgJ0FKQBcwNrAa0RoAWbBWoPRwJjAXUBxQdDAXgSdQFJC3AGKAyrLqIBoxyTFGoBigSoCW8fahpwNpIJlwZDB40CmASdBW8STwm6CEsOfSGoCkxbuAR1AqEELg4qB6MaZxdiIEZSowHDUKoBtA","wwJE","6AEptQKbpQFbngIxYZvXB3YBcg","yA+q","E00BSwXNB1EDTwijCksQWSZPF0IEQwVCCEcBQAVDCkULSAJnAU8ISANABzwGrAlEIrUTRi2qBD4OQg1PArcVSgLbAocUqwtHFFACPwY+AjwLiBI9BFEMRwJDMdkQoA+dFk4fSQJJEEsDzQXCJk0COwqUAZABkQKcApEgSAaLEEcIRQLaDqceShR6BUUFpAhMEZUIghFNCNUFTStFDtIJSgVLAsAMThfOA8gIzQzZA8cj0CZMAtABbwV2A0YUghdnFKMGnBBDFp8B1wPNA8ICUQFEBNEOOwqtH8IBjwOjAkMMngFHA0IMnRJOBHAC7gxMAeECRQutB1YFSA9YEEkHQAVTK0cCgxdIHkYBUQnaE0QITglDBkkGQxehA00CRwPEFqcYhiBRBEMFRAJLDNUKjg9mE+IBuRlECjkLygc/B6sGjwHQAUgDQgFACEYDVAJDCD4BUQVGAUsETRI6CMIJSQhGAUgZRwE9CEYCkAJLBUsKKgTaC0kCRgNtB6IFQAlHG3cLVAUnCEoTWQJLAk0BTAM1DksTSQFOAVUSzQJIA6iJAWMbVA","hQqP","ADAB6wF4DH0COQNvAbkHfgRwDNAHhgJ7B/ECRANiBT0CmwGdBKMKbANxAT4EXgHEBDcKSQKLCogOPgSwAjoCKQpqAd0FbAwlA0gCwCJCBj4aYxhxAdkF6UQtFo0f4waOAZMBkAjmIJ4PKgGPE9cJ5DGABMwCkBBOB8EtZCibEukTkQxeC5cNQTSTBN4dPgHFQLoXvhbHK0sarA/TBJcjsQHdIek7zBVXIN8I6wIkFbkOwQNID6Em2h5NFT8CvAOLJNQGuRdqCjdxuRTFGsQH7QjDGqgVUwz0OUl1SBFDKVIPvgq5DYkGpg1AC2kQ7gqLChwGQBaENkYEswG1B4QhtApxCUYPRgbXA9sjbBbXEMQCP0LMDk0O5Q/b","iQazHKisA53XAr1Kqr8BpNoBRWFLOc8QRUSQ","X6w","X2I","X2I","swyg","hwlM2wMnQUg","gAXm9wLd3wJv","qwNUnwpNmQGwEacnMA","pQ/m","9wfA","kAF4E0WIB0KHBKSWAZsUVIYBkrcBJ0B/AZgPgAGxNZE/qAFj","K0ApWpEJxv4BJw","5wou","ADAIUQ5wApkGnQOLBD0FggH6CYEHfgyMAbsFwAi6Dh8DRQdxBZwJLA10ECoCKgkuATQBhAOLCp0DwAXZAVoDggQzC3kEbQFuBDwEcwNtCbEQqgS4NnwKjQEnA7sEnwKRCp4DOAGJAocDoQSoAiMLkQWsA4YBnAG/CPMBwgUwAcgLRwSTA2EEnQEsB5QCNwYrAmkBiwpDAlEBUQWaAZECYAiIEXkJYQY4AUYESg2tDZQB1ww9A9cLLAOACocBkAWKBFEB9AGeAtEBxwbdDCsCqgN8AqIBcwF3B60DNgWLAp4BogGiBJ4BngNVBMsEcQY4AyoChwVCAlgDugd9A8kCYQLpCpsCpgGUArQBpwGcAYkBywNAAYkFoAFuAckBUwWLAWcCtwJ6AYEF0QKcB7EBiwGKAY4MnwhpA9cDNwU2BXwBywJRAZEBhgGdAaoJtgbKATkBSgGoA5wEMAIrBm4FrQGRAW4CqAGlAuQBmgScAXwDowOkA7UCngKbCYYDjgOaAZUEoAPXAdABbAK5BKMCpAGuDI4J0wKFAcoBggQ5DJgBdAGOBSoCyAzUAa4DggW9AsQBiwI/AZAHhwGdAaADPwMhAZwBxweKAeECgwU3A7QCOwFjBloBMQF3BTIBkQIpA2QCLwOHAYQBiwcwAckBiQNnBKACiwdmAU0BcwJjDakGgwIvAtwFZAH2A4sBsQMxB9MB2gQvATQBiAKsB6ID5xXTAnkLzAG+AeQBsgLAAYkDiAQ7ArEBIQJ/BpsBhAF1BjkCnAUuA5kBwwEjAXQHOgLUA5UBOQedASoBqAFOAT4GzQjNAy8FmQLYAjMGhwZ8AygDsgHPB6ALuwKoAb4BuAPZBpwBrQHBAZUHgQPQAVkBlgSjAoYCyAHxAYsJ1wSBBIICqAGdAowBzwHOAe8BqwGAAdMBSAQ3AZEGkQU2ATwBnwW/AUYC6ALQAbUBKAPZBmQHjQKlCYYBsAOJAdIB2QMpAUQElwkpBJQBiAYpA7ABYwQuAjcBKwUxAccDlwlmBWYOJwQ7AoMBZwYeAywDKwEmBJIBmQF4Ao0FJwWAAqAEnQF7BUgHPwF9BqAGhQSLAyUClgEqBCwBjgF0AYwBVAG0AygIlAWyA54MNQe3AyUBdgh5ATUBpQZAECUGgASzA70GhgFzA6QCuANhBZ4CnAWiByUDLQWtAW8DKAyMC6gCowJJBtUFnwF9AzgB1xF3AkIDgAKKCicQ7gInAaACXQFlAYgBdgHPBYEBlAUlA8oBggPWAcwBuwKyBbEEqwW/AiEDpgieASUERheBBjMBvgGDAaQBfwGHAWwCqAfpCsoEqhI2By4I1AE5BXAJdQTBB3MGNwKTAzoBdgFmBxwIRwXmDaQDIAZeAUQG9Ae9Ap8F0gSrBJMIbgssAScCKwSwCdkCSwFCAs8BogM2AqcBuwxdB+sDlwdyBrcBdAF/AZgHrQZAAksFQQGRAqQBugGYDmEM1AHUGdkH8ASvDU4CbAc+B4gI5gLAA9ICdwJJB6kEQgU8B0MP4wVH","Kz4","Kz4","rQib","ugFR","K8c","ugF7","lw6c","mQrD","/Q2s","/Q2B","swrsA7I","3w+Y","rhHq","rQjd","K7Q","K9o","A/GNASjwB5YGqs4CJB9H","nQHcmgdrwgOLCaDUAaDFAmpFnAGY","jQo8","Mp4","Jsd8pxtvIj4UKQRaPzgeSi5KTX0XOmyEDagSSwvNtQHOBZwhOwJYSJczLgtaGoQnbBOdHnYKvjuxGi0oIhhVDEoEUwO4NTMUZgZ1FychZgczGuQJwSCoFG4MMgqIBUcBMjhIMaINRwGaFcYtZCgzMHVFUgXDLNBDbQhuL8kGaxtDFIAExoUBrw","MleEAjicAsDTCioxuLwBhwTG","1g9v","AkkHrjrIH5gdoBC42wGkN3cX0a8Ct8wCQnZdUNEUpYUBKfwBfDOEAZhVJBtGCKgJRE1IxwLn","qwKBkgJx9wRxwgfS","Ac4DbAo5BEsBqAxLBbgBPQ2GATcIggl/AXIEQANGBRwCUAV+AosJHwF5BGsFhgZSAXwEdgI/BDkKgwOpBzcBNwZxCi4BiAFlBycCdAGfAYkEcQUsAo0HpwpbAmYEJgGcAVMCYQErAT4UeQ5xL3sPMwJoAScEexK2Ay0FagEsCnkGbgo5A2AVZQ11AjoElAYrAisCaQJwE20Kgx5wAXQDZBl+FKAQggxwAXgMtAE0A3AcngJzBjUGKQVJLisFdwM2GHkQdie7PkARbjxdEjIBaQZuCU4CNRVtA38DIQV1I5QELwurLXkBSAImFUQBTQgmDzcDTRVJDnweTgNWCDwDKAQ2BncYRgUzAo4FRQZxBjwDIh5xBz4BgRFIHHUoSQg7BD0OMAglAycCKQKrCHcHTAk5GkQDNAU4FHAGmxA0BkATSBl1AYUCYg43CU4BNQQgEUMQhANZBH8GRSglBYYHKAJ8EnEWeixQCYMEZR5fBnYUWAEhCH0CczA3BDkCLgowDXUEMgKLC0EBeQJREUsCuB9HD14jKglrAikFXQx6BG0GnwJxIXYBewE1EaUHpAHJAacBpAGkAZgBiwaqAZABoQKwA58BrAKYArMCbgaeBqADmQGWAqsFkQe1AqMCmwSsA50DmgGjAq4DqQGtAYkBtQGyAbABoAGjAaQBrwGeAZEBrgGmAaoBiQGzAZ4BnAGlAaoCpAGoEaUBmwidDpAMlwGfDao","FjoJSytOEU4FUAFABE8HLQksO2kSZX9iG3VNQxiBKTsZRwGTApQuY4UBOgF1LSqtAaYqx1NCfzk3M2E2OoQcThI+BC89LkZBAlEBWVNqiAElCicwLwgkd2sMRgh9DHoQhAQgfpwBmBpCK60SQxmoKaEnpw","9gGCygJxvAPdqwPtsgLqAfA","pwuq","pwuq","pwvJ","sAGg","GPqQCZnkASE","GKg","qQj0C+QL3c8C5AbrDsqGAZzXAZVCNKYC4g","/QS1","qAyc","BpoRtAbyBEgE+AJcAskBmgjuAe8DUSCPK7UFaxDzCWMLZQOiCCkH5B0qFL4IoAbPBPUF9wXnAdIL6QzhE+QJbxDOAzECiQpJDJEMnwfkA9ABwwLTELgHQQI6Br8CSAJjBsgInQHqAeUCoAHYAZcM5QvuAWYC9QHnFu4ilQKoFeACpguQDbcTdwbUGp4B0gq2AXUF5AONBFYS+Q+bIqIB8yg3CnwJ4hKiF8YLagW2BHEHiBv1K/AZZwmfBbUQNw6bCTgHWgaUBGMKSAF/GfUD5QajDesF5wHiA8ICnwO3CPIW3gzhEPgEsQPbCb8CvxCDDewByArcBUkmIQZBAUcE+wHxAfkI0iysB4EOnQWFAmcB8AHhDXMP9EObAZkNbSAnAcUJtgfyEzUQqBSPA+0E6Bg2CaQNjQzyA3EKgTjwA6AHUAc0EUYFbxQyHIkKkA7vA3EKfwOwB1gDXAOgEY0BSAaQBKQ0nQfgDUgGphlGBkICNQ2+BEsEpAdBCpcG3gvQEeoIUAmXEDkSKAW8GX0BzgIhAoICYwjeAe8M9wH2AfkB+gboAvcHyQHwAfsB+QL5AZsFvgnhB/YBRgquFuID+AdKCMcYdRs8BewC9Q7kCkkB8wnT","/wGu","0gOe","hALl","lgHm","Jd0","rwjdsgHG","5w2J","jQxi","0wvb8gSC","rgio","gQm/","zQ+Q","0wul","hgbi","swPT","/wGWf6UBrCuLKJ4B1fACSa4CUnDXAej6Bugt1W1I","8Qjg7gfP","hALr","jxLS","3BBLAdY","tAKK","+gS2tQNDsgFlAuP5BksDSxGxA+GcAUw","mBLF","+RC+","qwnc","kAfF","vwjH","lQK3","ghHd","7hDJAek","vwiR","hBLk","JZ0","tAOJA2b3BNTUCDk","+wHDuQjbAcfUBtgBRg","8Qis","AEIDsAHqAY8BtQF0Aa4BuAF6AawB2QG+AbwB6AK5Ab4B3gHcAd8BxQGtAZMBzQGkAZ4CdgFMAZIBjgFIAcQB3wKqBM8BbwGdAnEC1QGDAd8BwgHCAdEB5QGoAVYB4AG2AdICpwHGAZ0BYQGnAm4DwAG7Ad0DxAHBAqUBxwHeAeMCuwHLAVoBygGnAbYDzgTJAdsDwQHCAXkCggF/AY0B4wKBAcMBnQEnAToC3AHUAUoBbAHUAdgBxgFmAbwBygFnAdMBzgHCAZoBmQG+AcoBwQLYAdoB6wJFAa8B1wGLAtgBkwHmAW4B1wHeAZoBpwGCAZ8B5AHlAc0CygG5AtoBrgHgAbUBcgOHAcIBrwHEAcUB0wF3AX4B0AFhAbYBmgGGATYBvQHFAaUBgwHNAawBYgFwAd8BwgFoAcsBzAF7AUsByAE8A+AEzQHAAtwBPQKSAcYBgwGUAtoByQHKAt4BWALSAcoBPgXNAbcBmwHVAZ0B3QOxAZIFqwNpAb4DjAHEArQC0QJ2AaIG5wLXAdgFjwKMBegLkAhPAqAEqQOCAdsBeAFjAeYCvAHYAdwBnwJ+AZMBVAFQAdwBjwHBA+ID0gTlA3oB6gLiAXkC0AO2AY0CtwFIAbgBSAKvAdEBngGVAWsBvQHdA7oDwwK4AdoBiAKuAT8C4AHQBacEjAPbBGgC2QLmAY4BxQGyB2kB0gLVAaIBzQGBAb0BqAKkAnwC2wHBAdkBvgGoAcYB1AK7AXwBfAFwAsgLngGaAcEB4gHqAY8BuwF5BdwB2gWaAYUBTQVeATQCzgHTAs4B0gJnAaUBYgJhArECqQHbAaUB1QGoAcUBzQLQAd0B7QSEAXgBwAF1AXMBdAHBA8kB3gHZAdcB3QHIAWsB2giVAmACywLKAb8B1gHaBNcC0QNwA+wD6gPvAWkBowTrAqYF3gFjAnwC4AJtAXYCigJJAc0B4AOdAd0CywTAA9EBuQXFA7IBfQGQAsYC2QLeAXkB5QHPBdIBlALiAeEDPALlAsEBQwOxArEEqAOCAcoB7AG1AaYBtAKHBLMBeQFuAu4B2QJxAYsBpwY9A2EBaQJLAUsB1gHZArgBagGqA74B2gHGAlkB0AGqAZsBcgHcAsICygGVAmoBRgXHAVcB0AHhAakB6QFxAW4GYwGrBNQBuwGyBYoDlQerBKUB4QHNAZ4CfQFxAs4BVwTNBU4BqgKIBLEDhgO8Ad8B0AG0CoEC6ALYAcwCdgZ5A64BtALLAdcDVAHWAZQBbgLZAcgB0gPYA5gCpAHQAcsBtQGsC7YG5QHVAWYBugHiAbIEowG+AeIB5QR9Ad0HrwPcAcgBsgJHAbsB6AKxA0oBrwKzAVUDeQHUAqMCZwFZA8sLbgHUAcQDUAGsAdoBgwGRAX0E0wKnA74ETgTcCMEB2AHTAdsEdgKuAnED5gHNAcwBygTqAVcBpgFyAsUC4QHGAaYBzQFbAaABxgFrA4AD2QLBAaoB2gHUAU4CkwG9AbsBjARtAXICtQHVAdQBuwPaAt0B3wGtAZQCSgHTA2wBrAa/AskBuwHEAdADzwGZA7AEpgK6AZ0CZQFyAr0HrQF6AtABmgGmAV4C5gGQAWcB6wHaA/ABvQGDA+ID2wHjAmsBhQHfAW4BSQTYAXABJgHGAeoBsQFwAdMEdgGMAdwBrAJsAeEBtgHYAdIB3wHvAZ8C3gKxAc0BTQLNAakBTANtAbkB3gHaAW4BiwHAAq8BaQFrAmIBZQG4AbADzwOlAYwBvAFMAegDyAHRAUQCrwLXAb4FZQLGAdwCkgGWAuUB5wFXAasCoAGzAbMBsAGlAaoBygFtArMBQwHYAtAB2QFRAbACzQHfAeAFywGrAeAB4gKiA2wBZAG+BU0BRwG0Ad4BfwHVAsQBsQHnAbABswO5AewBwQHbAb4CnQHZAegB4wFGAaQBmgKQAWkBswHXA80CegHiAbEBWgJnAcUBpQFJAb4CvQJ2Ak4B1wG3AbQCsgHCAzABXQFEAeAEvQKqAYYBdAHBAekC5AJWAbkBwwHLAc4CrgG8Ad0BRwGbBkUB3gHmAdUBrgF4A9gB1wJsAbEB1wJsASsBKAEiAp0B1QHeAdwBxwXfA3cBcwF7AXUCyQJMA30DuAK6Au4BnQHYAtYBswFzAqIChwWxAUgDyQHpAcgB3AI9AXkBrgK1AdQB4gG2Ad8BxAGuAXgBaAFEAYcE0QHfArMBjQOnAc0B3gFRAWoBQAEpAWEBlQFCAaMBZwGCAaoBnAGoAZQCmwLCAcEB0QG6AcoEsgFEAdkCUAF3AW0BrwHmAe0CagGuArECuQXFAZ0BygJHAZQCdAFGAboBTwG8AucBcwFHAX0BxwFIA6kBcgFIAegBrgFEAsgB4QLhAdYBQgGxA6YClQGNAZoBjAHUAVQBwQF/AmUCxQGqArkBsAFTAnAByQHAAasBxAFQAVkBdQHKAeADqgOgAmkBxQF7AUcBkwHAAZQBowPFAmoCkwPPAUcEkQFJAd8B5gGVAkQC2wG8AawBRwFJA5oBhAGdAkgCaAHGAUMB4QHnAUsBWQF1AaACxQG3ApQBfAG1AbMBcQHPAZgD3gFHA8QBzgFvAXkFvwHOAeYBegGnAcYD2wOqAXcGwwOxAZYBeAWrAnoBzQFvAVEBTQHMAdsDwAJSAZAB6gHhAagCjgHYAasBYQZnAsQBRAFUArgBrAHJAcIBhQKFA+QBtgF9AbYBzAHcAc0CoQJBAc4BngHYAd4ErAXWAb4BlwHVAXACzwHSAXQBRgSGAV8BegFJAeIBRQGLAckFqwLOAdcBygKzAYUI3QHgA+gB5gJ4BOcBUgLXAqUB4wGSArwB6AKJAW8ChwTNAsgCtgHLAlABrQFwAXMC7wE9AdQC1wHeAdYBpAFlAWMBhQFzAWABsgSxAXQBxwFQAUQByAG0AlgB0AFHAcIBqwG6AV4B0QHNAWkBSALbAeEBigHNAb4CeQK6AeMBzAS3AaMBtAHIAbkB1wHaAUUBvwHUAkgChAGOAtQBvgG4Ac8BrQGkAe4BdAHKAk0BkQfFAcQBzwGmAUwBdgHfAdYC5QLgAdYB0QHAAeUC2gPLAXIBtAHiAsQBvgHCAY4BugLiAUMC5QGEAbQBUwJ9AdABSQJLAcEBmwG9AboBygGvAUcB4AHuAbYB2gFrAdUB4wHWAs0BdwFIAb4BtwG0Ac4BSwHLAbUBvAHcAYkBQQHQAcgBvAHaAVMEaAHaAdoBqwLHArYC2gHUAeYBrgFHAuMDzgG6AeUCrAHVAdcC5gHVAt0B6gHBAdYB7AGeAd0BYQHOAasCtwFaAXoCkgNuAb4CbwNBA8kC0wHmAdAC0QGOAt0CfwHlAbMFvgKjAnIBcgHAAcQBowGHBXgB3gHaAY4BRwGQBLEE5QLXAnsBcQG7Ad4B5gFGAZABsgHKAa0BqgHtAewBywF1AdMDyQK3AowBtQHYAcIBvwGsAdMBSwGdAsEBtAHlAdwBhwHHAUMBwwW0AowBygHhAs0C3QHwAbcBygFNAa0BpQLhAWsBvQJ6AdgBdgGvAu4B6AGHAc8B5gutAdAB1gaAAkgB2AKuAuECxwHaAdkGtAG4BLACPAE5BO0DRwbVAkYJ3Aa3Ac4C5gLSAmsBowXtAeUBSQToBdAEQAI5Aj0FvwLGAc4B4AHRAdQBvwZQBEkB0AHtAb0B0gR3AWMBSQPpAkYWywhOAc4BuwLnAfIFTwzvA58","9gJeAVM","Imw","9gJeAVM","/wl9","9gJeAVM","9gJe","yArC","A3Y","rgjU","8gpz","Fd8","T5MBNQ","rgjJ","/Qy6","9Qff","2QitAuE","Y24","wg+o","6Q51","6Q6o","xg7n","3QS8","Y30","Vb0","Mck","hw9U","9gK6Aa4","5w2y","/gG0","kgF5","2AmS","vAGq","X6w","X7w","9Q6E","VX4","HU3UDcA","3hF3","iQ1U","2AOf","pANC","Akk","oQx1","pgsq","pgsq","vgNXiAJG+wEq/gVM","6Ai5","2wLPJ+DRBLOwA7rEBnEVSQFM","4gHJ0AJP","hgEpNWAE4no/QFgo5ARWUbDRA5AV7/oGOm+kEdQ5LC66Bzg","vwHB","vwHBnQbt","oQNQ","oQNQ","kwGw","nwvQ","BEaPAbA","qAWb1gGO","BEY","wwKb7wKt5AaQqQF6","AaED6wfJA8sB8wTdAtUCvAOaAsYE6wL0AfoF7gIwAd8E8AZLAdwG6QHmAvAB2wHkAd0C2gHXA/AB6gdSA8MD8AH3AdoEmATKAugG8AGxAfMCwwHmAScE+QH1AvUB8wHyA+wB8gT1BkcBmgHcAXQB9wJ8AfADTwTrAUAEoQE1AuUFoAK1AvUB4wFEAVsE4gEnAfMCYQL0AVkBJgGEAbcB3wJoAuwJ9gK2AesB7AGSAsAEjgLWAfQB7wHKAfUBnwL6AvIC8gHTAT4J1AHpAdwEUAHzBscC1DQ6BvYFPAHqCGcD7QLsBeQC8gGuAuMErAFjAs0JrQEjAe0B1gX6AfcF7gn2AYIDMQnwG9gB7wGuBIIB8QPYA7EBzAIvE88CYQLjBPYBzge7ArAHrwLlBboIxAdGDr4BLwbzBJQNzAr3An8DxgXtAfMD5gXeBj4B3QHoB/IB4ArqBMsBhAh/Bt4C3AG5CO8L8wz2AjgD7wRkAqEVdQGFAuwB8gHdAuMDognIAbUE3wi3AVcBvgTiAe0EzhDVDewC8QnZBvYCpgHuAsELxwjvAfkJMwPhAvkD1APaAb0SrwvhBKEInAv5AesC9wbvCUYBgwa6BO0IzATKEMME4QbxCPcC9AO6B9gB9AL4B2kF9QH3Ae0BkAToAfECqAc4AZkC2AO7BJYD0gG8ATECxQHvAboBSgmaBOkGQwE4AvcJ7wLmAfQL9BN5AmADtgFAAmcG+AS1CvMG9QKZFfIDgAHgBFAGMQHuAa4NdQGoAuwB4wG6AaUBfQNHAX0BzgrwAkABjwO+AbEBZgGxA80FngHGAvYBnwLOAe4BwgJZAqgBwAF2BloB+QFSBqQBcwgzAc4C6gL1A/YBogTBAvMBfwHVAe8B9AG8Ab0BMwGhAfMF9AGdAeMGHQbXAfQG7AFcAdAB8QT2AU0BpQfqAkcC2AGmA9cEugLuA60BPAHLAW0BuQJWA+0FHgHuA/UEdgm8AdsQ7AzuA7sB3QPkBqwDZwXyAjEN9AfgBMoB6wGWAcMB2AHtBOAB8AHdAvQB9AHfBfgB1wLYAWgF2AOlAccB5gHBBFsJRgSRAcsB9wLyAfIC8AHLAasB5AH3AdQBOwKqAdUCyQGQAr4CvALTAoAB8wGhAfQB0AHmBHoC3QXoAjUD8wZpAfYC1gHzAfYP7QEyAe4BJAb0AnIB4wayAfEFqgGvAekCLgLtAfgD9gLxAusCvAL2AswB9QHEAlUF9QSsAeUCogGGAvABmwLtAqUIUBHqAfUB3gPKAfoB+QHxBKQB9AH3AdUE3wHWAuwBqgKPAUcBmgLRAfQDYQfzAvQE8wG+AdkEQQG9AekB7wFrAbkC8gHkArQBLQJvAYsB6QLqBvQBzwHyAdwD4wGqAdUBrwnbAdcBygLyBNsFOAHvCt0D0waBBeMCjQHvAfUE0AGcCvEJOQGBAakBLQHuB4oEtAJvAWMC7APzAasDzwHXBdEBjAO+AfYB0AGZA9QBPAHfAdgB6QHqAeoB5gLYAfoBjQHCAoMB8wG/AVgB6gTiAXEBLgLJBMQB9gJTAl0JSAHBEPAB7wF6AlcC8gLiAWcFqQTxAvIB9AFXBKwBzAHAASIC2gP3AXME1AH0AfEBJgH0AssC5gHzAdgC8wHhASkIYQLgAsABxgLrAd4BJgOhASUD8gLFAdsC2AFgAsMGwgH0Ad8CiQFyAYwBpAEkAoQC1wHsAdoBywbOAc4BIBDgCMYCwQZbB20B8wf2AhsB2AXwAeYBagEkA4gByQbaAS4CZgKXAuAD7wL2AfMBmwHyAWcC6AH5A80B9AXNBaMBVQT2A/UEaw+VB6oBqg+/BIAF8APRDskKUAM6B8ofPgnNAZ0BxgGbFHUN6AH1BM4BqgLyAewD1AbBC7wS3Q","BPIHnB00B9cQmwrIDaAMiAYrBLgBIwXRATUCnwJ9A9IBLASVDTIHKRGhAS0emgQvDeYFKgIoDL1IYwVhDCkQUw7zBjkPhw0wHLwGuAlQEy0JMDvvET0KwRuHBzAQKxmeC8YMSQJcA3YevQHnA+INbBM4LEMGNgMtFt8MMAIrAy9KJAdcBDUMXRqZCjUKMgHWDpoBKgZbECgELwM4BCcMzxbcL0IOwB0sBC8KMQEqASgQMwkyCusDNwV4BCoFNgQxA10BOQ4xDzMBzASjAzMHqwRcBWUFkwFGASsNvwbYA9AEyAlJCC0JKAm4BuwDix4zEzkQMQ2QC0MB2QJCBj8FpwEvBTEBLghrBCoBlgEvEqMBKwIvAcgCxAOdBSUGMASXAysEgQYwCuUHJgOeAb0RvQ0qCzICLgLtAcMDSQTjBEsDtAg7CpcBMAIvCloRwAInCpoCnQZLFuIEiQYlAisBxQTFAZ4HNAhlAcYBKwHsBCMBJAw3DK8Nwwu7E7oLSQLHC6AFsQPdBIwB5AhOATECwgEyA0kCiQO/ATUD3wbaATkELAUvAToTMhGBAWEEhghoBHACTwEuASYFOQEwBjEGZQHNAUIBrARuBDMBMAEpClkF5gEzCKsIngfKAd4DRgEzB8UBeBlEGCQPuAHfEz4DWgZFAu0KwA1GWFA","3wku","kBA5","BPEHnBi2BTQH5BCbCsgN4AyIBisEuAEjBdEBNQKfAooDzAEsBKMNMgcpEaEBLQzVEncELw3pBSoCKAymSGMFYQwpEDEO2QY5D4cNMBycBucJLxMtCTA76hE9CsYbmwcwECsZnguqDGACXAODHsEB3gPNDWw/QwY2A6UW1AwwAitNJAdcBDUMlhpPCjUKMgHqDpoBKgZbECgELwM4BCcMsRbJL0IOwB0sBC8KMQEqASgQMwkyCisDNwV4BCoFNgQxA10BOQ4xDzMBiQczB8QERQVlBYgBRgErDaoGmAPLBNIJKwgtCSgJuAacA5YeMxM5EDENkAtDAUgCQgY/BacBLwUxAS4IawQqAZYBLxKjASsCLwHIBZ0FJQYwBJcDKwTABjAKpwcmA54BuRGqDSoLMgIuAsIBwwNJBNwESwO0CDsKoQEwAi8KWhG3AicKqAKuBksWnQSJBiUCKwHCBMUB0Qc0CGUBjgErAeMEIwEkDDcMUw3XC9gTrAtJArILoAWsA9EBJAOdAb4ITgG8An4BMgMrAjsDvwE1A8MGywE5BCwFLwE6EzIRgQFhBIYIMQRXAk8BLgEmBTkBMAYxBmUBzQEmAaUEVgQzATABKQpZBZMBMwjECMIHvgG0BDMHxQGcGUQYJA+sAeETIwNaBigC7wrADUZYUA","doU","3wku","kBA5","yQK35wGuhwG8owHfZ8CyBJcvx4IEngXaC9Q","kgu4AXXrAas","owmP","iQor","QmI","3ghi","pAXN","5AmI","1wHg","1wGf","yQK35wGuhwG8owHwZ8CyBJcvvYIEngXaC9Q","1wGw","V7WQDYk","1QupY5M","8wQz","wwHb","owku9ANk","rxBE","rxBE","9Asy","rAq4","tAdB","tAdB","sww1","iQsmvAFQ","8wQzlgYmngHC2gOr","kAsqZDI","iQ/P","NtuvAtnfCOYT1Q","wAIp","xgGsnwGmwAQksgRrzgKYxgPD","6wrMWSYTSw","mg8z","tAdB","gRCr","+wh1","jAzz","wwEm","nQyZ","wgO9hQU+cLfGA5W5ATw","qAko","mQ0v","kAsq","wgyo","wAdo","auc","iBDj","gwzGnwR3","lw9T","IM0","8wl0","lAsv","yglf","SbkpQQFxdEpITM0BLwZHG1EiMDRVL1sBVFhNiAE5PSMeXAVfwgFXhAFTA20qmjBICaQFTz5iHkIEUxFkPW4eUwV4D2IJXBFXC08JNAwyETckTBNVPkwMoyiBIZcHYQIyCFUqPnVFCk8","wQjfiQGm","+AV2","sQF+","qRC2","mQvn","wQ3P","ygS6","xgG2nwF78ghr","RXI","ow1W","pwSR","qw3b","mQkv","3wua","I+c","I8Q","5wEr","zwnj","5Akt","qASj","5AI5pA3h","zwlV","rwJ0","qhBx","KKk","ciUBg3RhSEzTAW8bUSJQILIUVS9bAVRYTYgBOVtcBV/CAVeEAVMtmjBICaQFTz5LHkIEUxFNPW4eUwV4DywJXBFXC08JNAwyETckLRNAPl0MoyiBIZcHYQpVKj51RQ","wQiaiQEq","4wc6","+Q41","qxCb","pg+5","1QupY5M","6xHD","kgt4","1wE5","6hHQ","4Qgz","pQy/","pQyv","pQyv","pQy/","owlY","/gyrpwFs","pgkx","/gyrpwFs","pAGw","wxAh","/QyV","kgtp","pwzC","6gLR","bbc","5AI5Xr3yA0GTAT5wytsBgecF1w","tAdB","tAdB","1wHp","kgtX","3Qbs","6gKk","bcI","wgekvQGc","2glo","RXLKDso","pAGwHzokK0h0ESnnAbMB0xBMwAF2yQGjjgJVC2jDApkoUF5WCMzOATUQzxEz","pQ5s","/gwk","jw/K","ILgIqf8DgpoDo9gBL0uItQGyOSzHAS+NArmDAbY","wAdoIzp7YgMzRTEkXyl0OW0eedsBwYYDdJgBIQ","0gss","2wHA","uARM","hwmY","lw8y","ygp5","H9WIA+gZeaIFwlagd4U","D7cL2QerDW4RvSmkFUIRWR5HBWoHPwWHBjwSKga/B9MEeQLKSdYEQCVIMbYOOw1EAUIQzgenFbgEPhaycn0UmRLGC7MxxwGoEocUcgpQCW4fTwfHBMYZzxC7H00BTgG5DsoFsBNIBOUGzx0oKNEQpgnMA8xSKAHlG48XcxfGA3UqREGeB00BMwgoB4gF8z6JC+oBqwroDCoj9Af1AdEFcALXB0IPnwO8IIcEgQTSA8kDOwRHEM4CLQLRAeABhAbNAq4BSQjXCcYsSgRPDkUFzBWsCacBmAnfAtkFogcxSPANzQ1CCCgpbgNHBEEOTxduGdEGvQSqHzwgtT4qD0oWSQOhCTkGMAG4BLAKogU1A6kKvjlGC9sKvBXVB3ADPRHSAqcH5wa0BEIW1RCbB6s","sRFE","pgrp","pgpy","hA9HCso","9A3w","+w5n","qASpmgMhoAGK2wKi7QJDiQKl","6A/A","4Aen","AjgDzAZtBDYCbwFLGEcN4AZEA0wFPQ3NAaABWgbkCHwBHwcfBHsEeQO6BOEMtwHCA4MDoAGPAVgBzQKHAzMBjwI8DHsCTARCBp8CWAQpAiwDrQOyAcIGag5ECr4T7AOaA7wItwO5EXQBbgQsAagCSBDIBkIFPBbUAnoTcARHB4ANMQVqHzoDzwd6ASYBKyc8Cp8HSQg4GMopLwHNClYLtArSAqgJhgQlCi0SmQrPGpwOlwQ2GJcmXxE2BWA5hRzWFJ4ITiLLBcUIXwLuA6YE9gsyEEsDKQ2yI2oXuRO8KJsBcjlOEWAGLgMuCzQkaAcyCCIDOwktGCgBQg2aAYEGLQKUBiNSqgNDJCkF4QU3B0UEMBIyASEGbxJzAj8BKwFGASwMdAWhB40DryAqFUsCqAQsBigJigIgBiUcMgPBDCkFLAI6ASgTvQHOCOsBrwKbBUMQPwGeBiMJIwNqBVEO4QQrG+YD0gOwAn4IIBFBBVUEZAF4BncKfwMnA+ELegg6HzYHUwJ0ATcOLwWqBG4VvQMpFY8LKwmfA68vJhE+AyoLKR2ZC3g","/QS1","pgft","pgfW","vQF+","R3qMAZycBI4","0wGcnASO","+gpR","FWsJqgVPF3ILWQhrC3oMpA08BUYFQRNZAU8ERxBFAUcI0wFDBK0TPBFFEbkQQhtKL1AGwAdKBk8BSgtIFT8uSBw8CUETuU1HGbEBTCdGf0cIty5KGUUNTDRGLoYXsQWWAckGRj6kH0YkTCRCE8gGSRFHC04uQAuvEaEGngliBKMYRwJCMUwMUQhLJKwDRwVABbEESgFIEVAUUAFHAUcCQwhHA0gDSQrDCnIwbQZFAU4GRAmoBrYESQJLB5MEoAHBAUEHTQJHAUkNTQ9yAUgIRwK6CEUCUQVDCkQNPAxEAU8BSwquBE4CSQhyAkUQvh5HEkYkRAQ/CrMInQNRAkYESyC9A0sErwFFB6wBSBg2AUcGTgdLAUsESwk8Em4DqQ1yA60ZaBdCCEoH2gJJDEsTpgFLAXACZwZDBkUFTg","3wFj+gatoAZQ","kxGs","1gInaG0","wgFLhgI9ggG2uwVB5QGgZc5zv90BRrkCUA","EakiyA1KN0cgRxPdGEsTqwzNLOZKwwqzJ7M4mh/BB3kB0gNkhAH0NyyaAj8DZis9UoMLkDJSKFQjcAmcM5kBij4qG6cDmgzBH7kB0gKLFDEIhCWkH50eWlSuPVglygmNKLgJrThaMmUQNw1RHJoGKggmCS4RSQZpKG8eJAEpBCwBJyBFIm8fbBBuAksCQRuSB0YIQwNIAUAEoAI+AnoHRQFHDPYV9wSu","2BHU","7RHr","7RFE","7gSj","7RHQ","7gRf","ygiQ","jQLZ4A/P","mQpC","7Qzi","7AKgOLEY73ZPAaXWAenBAkQxtQis9QFHIzhgtD6dvAP2ngJJ","9Q/1","9Q+b","vAPgzQLj","vAOwzQKz","+gow","EqOSAaIBLQsqV6U/cKcBRnRmIEcfLyKklwGxhwGnLJuTAUYrTTimmQGZFWkgeS7IEUWvAZZVOiIsITorTDMp","O35wO1W5gQSRQ5sPmoQCdrkGcg","VkUJYhlmKlsZSG5KFkZcug+LTq2IAz8RjogDoZIBxkBKJ3aFAT8bRgxBQIFBRkGdPjt/dC08","BY0CzAh+BaYVkQI+BoADVgO0CH4FiAVACBwb2C+fC0QGdyZuKHErzg6eBYQL8hMnKoANtimyV7MnOhM8AnYGZgKqCmUEbUBnBWUWywcqJ3ICsAZzCWIhfQUrBH9KNQplCKMBKwOkEI0Slg9qFkYUdwNCBJ4HpxpnH2gCLRphF8oVXAFeDpYEewFlBkwMow82CDkdcAEqE6YKrQvmAi0UVgN1DXUBHguXK2cbfwW2DXMIbg01AykBKg+nBCoDkQJYA10EyQePASEJnhKpAW4VVAZsAYAO6BZ3BzIILwQ2AiYSdQEgBaMCpgpsG6cJISJpAqQBfhOqB20OhgtqGC0SnQElBmILmA9pCpkDUQkhAqIFMBWbHz4bTwFRApYSchCpP50TJwWhA3QOngE5P3YoTAzSATsKQQ3sAUYBSA","SFDZAnecAs+AA1oB9AF3lAH0HsXfATgD8zMkugFXrgGohwK5Gakd50Oj","qxHj","0wvm","0wnrmwij","7A5G5QFy","BEYCuAPABlESNQLKE74E5BmMAl4BbAluCx8CTAstBEEBTwIzFYQkQwXCFHAFyglDFGMElxFGDz4LQwqNAaNKPyQ6DEIDMBHLK1g1nx9xBrgbyQ6tKLEt1AVST0hmcAh7Z8gJSA5UCdFiOyCbEXEH8wH1AsszIQSnBkIOpQGXBDMErARwA0sGig0tBUMWnQfBH9EEPg1QBHUCfTRrC0gFfAqGF9IaYBc7A6AaKwkvA5wdrAJ8DKU1KgKYDS0XMgUkFsgDIgsoAUYO0jUmETsG4QYlASEBOQ6CH6oULwc5AZQMTgI+BTQFUSdFAm8JIgMdGWAhbgx3FKEBQgREBLYLvQeyCq4alQGXSUY","oQmw","9wZw","oQni","fpI","AkkBUwJBBFQERwdABFMFTQ5JDk4BaxZyAbEFwghQAbADbgdKBEIFSAGnB0YEMwWdEUANQwZAAkIBSwNDB40FSAK0AkIDQgJLATwBPAhwBUcVcg2eG5wIpROcC0sFZgGpA0sCyQI+DEoMZQFIFUoNlByuBF8JVhk8EHoJaAhLDzoNQAdHAUQpTgxFBpIDnQORIYYI3wRLE5IP9ALuFJgEhgWfAkkCoAl5AkkSTyG1EW0VuANKAksJsgE/GpUW2QFUD9AKcwHSA0YFigTkF5sORRpLD2oBTgKyC0wCRARIAUgCSgHIBEkEtgtIIKAMRgGHBX8JqQw/CsYCsgo7DEsLQgfLClEGowJJBo0WjgRAA0MHSQJOBU0BPgSnC0cJQAScBlEKRgJLF5kMRgFnCKsJQgWKF0gBrAJEE0UMwQR7DE0DdgJDBb0JqwmqA7AHUwFDAbQBQghJAlEFuARQAW0CSA+JAlANUQFQBEkBSgGkBUALrwZMAnAIqAOsBU4CtQxHA5ALyAm4AkQBuANADUMQRQdIA0cBSQZCB00KxQOeAU8CngpNCEUEqhFlA38HTQJRArYCoQJBBHcJtAFKBkYGmgVFBIQBtwiuAY0YPApDEXoBOQFBAz4PRAE6Az8C1gI8EK8GmwFDB0IDtgVLBLABrQFBA6oBTQpPEk4DWgJFCUcGQgGcAUsBSwJBAqYDmAyLJKYDQw1HAnIBoAk/BHoCcAObCXAKiRLXA0oKRQKMD9QUSQlFAbUDhQZRDzMESwKnIEcUSxRLCKMt8i5OApc","kwW/","OU4Baw","kwXR","kwXY","wg2Z","qQFCF0InTPAC9dgGZgln3QIj","1wTq","1wTT","gxHS","jwjR","K0nkB4MiefQGecQBwg","AKkCOAc+AcUErwE2AX8OiAJRAy0BYQvtCEwIfgErAsoDPQGDCVADTgGfB7YFYgQfCaEDXQLOAnUFZgS3DzMBoAE6BmkCxAKfASoBtAh2AVYBRQMpAywBNwGpBXUDkgKWB2oBLQHQAaAC6gHbAWUPbgQ8AWkBPgFxAmAG6gR3CJ0IYQUnDXAsRAF3BF0BwQHaAb0B0gKTAmoSiQK6Bp8JwwFpAcUEkwmYAS4J0gRvAYsEzgdlDIsBpworBHgBPQNwCYkKLQRzBioEbAFvAXgB0QhoAUcCQwxhATwGoBU2AS0QcwXaAXwOggU/A5AGqwp0CJkIZgG4A+wIZQVkAaMNpAGeEjgMoBI4AisB7AEyAXMCdwKbATYCZwlABTkDoAUqBYENYxU1EWIJvSBzB24CvBKkCq4GygeVBJUCcRCPBq4C3hxuCJYByAUvAV8BfQRMAZgBnwmLA4sGhAPgA6YDPwIqAWYCugeKBNICiAazBYECuQacAZ4Bugd0AX0BmgWoD3ADQQpmEboEaAKkDGwETAphFMkBpQOHAcUHogfIBnUHywfFAmQBZwKuBDMBhA2qCmICnANzAVgB8gFyAygENgwxFzMF2QJwAWMDdwGpAn0BawZrAmkKyAN0Ao0GjQF/A6MEcQOUCMkDbQF3BJ4EKAXNDIIBbQLJAZMIlgEzCnkbpwFkBX8BNAOdAaUDfRe1AokBaQNxBtMCcgHkAqkB3QFxBG0BcwFEAYIBnwOHAt8FcgOxAZkFgwp4BHYCoAKpBDsCZgGFAmwCpAM4A20ErwJ3AZIEjQWCBUcCoAV7AXILhggnA0ABMAKHAY8EoQQqDS4BKwWzCYECbAEgCDQChgFiA3sBbQ9sECoBpwK2AZACaAZxCSwCdQUtAyQBfgGOBsYJLQWeFz8DgQNoCDoCZwOkATcBygquAqsJRRJcBJsGkAwZAXMCbQJrAu0KWAKDAWQSbQekAW0CcgVyA3oBPAZnBZ4BaAQrBZwWfQdJATwBzQWgAT8EQwI3CG4BnQGdAmsDlAk3AWwCcQGNASIEMgNlBZcGoQKpBCgCnApwAm0CswGjAyQFawGkBWACXgFpA5kCoA1gAyAWRQUuCN0CuAE+BUwC4AVBCDUMYQJxAygENgIvDDIDMAPqDmQBpwSCGuUC0QaqHN8jph/UCKoOVTJQ","uALD","uALD","wgGv","U5+yDng","wgG9","vQRLmwJ9Ajs8KqkCwKgBLtgBLwEvLIbGAS+TAaQz1i+bCSYVM6sBPA","xQ+k","2gPangy/","2gNV","2gOv","7wZtccA","yglI","YpwcuqUEqo8CP4wBv+sBo6IBMaMBpNUDj0WT","mQtt","B8wenSrLQHkSigqpIZuwAc2AAZNW0YUCpnTHBL3WAueoASoquPYBhytvhwK3Jbw","bZQ4q6ILqg","EF4RjwItPJYNLRQyG58JeAGfBCwDRxgeAy8FpAkqOo8+MTVKGGsMSRgtCnYfOAM7KaYOLAItEjt+S2owNSMbNRBgFnoeMhMpCkMNLwM4AjEnvyBjDEAKXRdGDEYkegOvBnYeJF4rECMBKAIpRs0YMAwqAkIBJgcqFzApODRTHUYKQgWrA0YQMAQoHiUbUAVNEDIBKwJXBy0SSAMrCi0BWhYrHagLGRQlEm0DNAdRDkgDTQuKGEUJUwZ5BTEhNAI5BK0yJ1PXBSoUjCPBT7Q","1wam","E3OBBrSJB57RAayhArY","ygKK","2g2LA3w","N3ejAUgZKdkJlwfOasQB4IgEZg","vgx4","vgy2","G7jeBMPeATv0AT40Qg","mA5H","mgH2yQGehgKq6AHFH9UTbyiifkoVRF5OxgHuWStDRqcB9aACQJUBoQ6VHL9ysg","qQKhHY++CX4pcCWXLX4l0wxRQaYgZKkBhPMBojqp","hAx+","pA3T","xgKP","lAHboQE76gZGgAPUKZ1sqiRGTkMaS8sDtg","yA5M","9QeA/gJl","mgHF","gwdH","gwdH","mgGGwA+h","mgHs","pQ3p","mgG1","mA5H","qwGp","AOQB0AHaAaYBRgHcAcgB0QHaAaoB2APdAeICSQHMAVYB6gF+AY4B2ALaAZ8CoQKmAcsBcAHLAboBlwGqAaUBtgLaAncB3gGsAc0BvwJAAc4BgAGeAa8BwQHqAWEBoQLUAckCpwG/A8YC2wGtAbEBzwGDAd4B4wHDBMgBtQHLAeYCowGfArEB2QS+A+YCtgOyAdgEbAGcATAByQFxAdIBYwHJAz4C3AGXAYcBLAHWAewBrAF2AdgB4wHdAeMBJwHKAacBaAFsAawBLQFFAdwByQHZAUoB0wGjAtgBvgK7Ab8BzAFuAcQBxwFyAVoB7gGlAcQBegG+BIoB0gHOArgByAHKAqwCwQGwAccBiAFaAbsBvwHpAeoBrgHrAtYByAL0Ay0BxAGgAb4C1gEmAV0BywGmArsEyQKyAXwBuQHNAcAB5gHoAdEBwAHWAT4CzwGiAdkB8QHfAZIH5QHNAdECdwPbBtsC4wHUBNoBpgNvAdAB0gfIA8oEnAKxAb0DfwKlBKIDzQRsAZcBuQKeAaAD2wGlAaED4QTeA9UDzQG0AekBegGxAekC1wEpAZ4BzwExCsUC2gKFAoMB1wLiAfQCLQFKAqICrwPuAp4BuAGmAaoD1AGkAeMC3wLoAU4BsQKPAcABtQOxAd4BswHeAdsCnQG5AdEC4wFuAuMBpAHeBeUB3gHmBNIDuwPxAV8BvwGGATwB2QLIAd4BNwG1AbQD2AHBAdQBxQWqAcMBZgKdAb4BqgLFArACbQLuAqgCpAIpBOsBlgHnArMCagHOATwB8gLNAtUB6QHFAc4BxAHPAugCwgGtAc4BSQR8AdIBbAHuAb4BdAH0BEUBygKzBXQDygHPAuABkwHUBM0CwwHHAdIDzQH1AeEDowO6AfACwAG7AqoB5AOfAbUBjQGqBN0G4AHBAaYCaQGpAZsBgQXSAToC2QHCAZcBrwHPAsABvAGjATAB2AGeAa8CuAHbAtMEmATMAuYBxALhAtoBvwHSAeEBngHRApwBrgGvAUIBwgHWC94BgAO6AXUBMwFgBccGlwTyAcoC0QHXAa0C0QHoAuYBkwLPA+UC2AHGAqkCvgHMAdYClgKzAecB1AGtAeMBhQE0AbQCegHaAakBWwHMAmwB0AFmAsQBfgHCBLQB2wHlAooByQGUArAB0AGzAZcB9AFFAa4FrgOcAo0BuwFyA8sBpgKsAbsGuAXhArMB0QK4A7AB2gHnAukHvQEnAtgBSgbtAvIBxgLTAtgIoQLnAmMByAGjA8oC0AHbAisB0AHRAekBTwJ5AUUCrAHpAcwB4wHkA74BZgGnAeYDkQGhAoQB0AFTAeEBsQKvAbYEywKsAtABeQWKAbMBZgF9AYMBvwXJAaIC0AHkAs0BqAGWAdwE0APNBbEBswHABLsBrgNGA3wDwANnAdkBtgHcAbcIzwK4AbAErAGNA4MBrQF9AvACLwGyAdQBcAHHAeUB2gPZArAB6AGuAdED7wLpAsEDuQHfAasFlQGtAs4BPwGqAbwBtAGeAd0B9gK/AuAF5QHDAXYCvgG8AeEBuQHPArwC5wPjAc8B0wHFAWMCvgHUAcQBwgLgAc0BpgHWAYUB1wG4BlQBjQLPA9wB8QJUArQCRgGyAccB2QHPAeUB4AWEAb8CzwJvAr8BqAPfAusBogG0AqYF8wFbAeABtAHZAekB5gHOA9cE0wLzAcEBjAO5AuAEkAGvAskBmgGfBGQBtgHRAcwDgAJ0CF0DyAOfArkBpAHbAbMBbwGEA50ChgHnAp4BegF8AY8CVQHgAckBrgHMAeUBYQGwAloBuAGyAZMB3QLZAeEBiQOjAcgC5AHyAvIBvARiAtYB2QGnAbQCxAGtAe8BLwHlA30CpgHaA8oBzgE0AeYC4AHSAYUB2gHSAoYBnAN3A6wB2QHfAaIBXQFjBdsDrgPjAX8CfQGmAYECLAHRAqEBXgHIA50CwQLIAfEBaAHWASgBywHZAaYB2QHjAdwCtwHZArUBTwKgApQEqALCAcwGpAFvAdMB5AO/Ad4CzALfAmoBZAK+Aq0B6gG3AYsBXQGGAa4BjgFTAesBzQHoAV4BwQHeAdQBPAHHAWEFlwHeAdMB4wOQAU4EdAHRAYEBaQGNAdEByAGtAcIBkwGjAewB4wG+BqsCwwTPAb0ByAHnAWcB6ALKAekB3ALSAZwCcQG2AT4DSQKtAnMBqQGQBLEBjwHqAZYB1QHBAc8CzAHdAdEBkAGtAdkBpgPBBMIBzwHFA5UB1APaAcUBogJpAV4ByQImAdwB7AHSAtIBdAG7AeAB0QHKAdkBvQKuAbYB2AHXAaMBtAHgAtcCkQHVAe4BmgLIATAB3AKpAeYHUwPrBDIBvwGUAaMBLwHaATECpgGkAbQBJgHXAkQB0AHVAb4BzAHpAa8CNgHPAS4BLAHiAegBpgHCAZcBwAFfArsCOwKIAaMDjAGtApwC4AG5Aq4CUwLnAaABywFRAUMBnwPfArQGOwJSAeABhwHfAeYCxwKHAbkCxgPdAbsB6AHCA9QB0wHHBYwBMgG6AZ8BnAEpAeUDzQHQATMCNgLWAtQB6AE2AXMBwgLhAYUEXwHWAW8B9AG0AdcBvwJPBN0BvwHhAYYBnQHYAdoE1gHYAbABaAGQAaUHtAKxAc0CSAFNAuYB6wGUAYUBygHUAdIDywKsASgB6AGzAbQBhwHPAaYB7AHTAaMCwQFeAUwB8gHxAcgB6QHtAbEBzQHFAe4BsgKuAeAB3gHBAccDfAHiAlID4AGtAZMBqQHPAZ4BPwFGAd8C4QFfArsBzAHbBOME1AHbAeIBjAJRAdEBxwHWAeUC4wTkAqsBzwHEA1UBqgHPAs0EsQHAAcsBPQjHAcAB2QFtA8ID8gKKAcwBXALdAWMBwwayAmEBuwLkAdECuAGpAeMBJQHqAY8F0wGxAWkB2gGmAdsB3AHkAU4CYAFWAZwB2QJxAlsBwAFYAeAB2wHYAVwB2AFFAYwBzgLmAXgBhwPgAbkB4QLIAb8BJQHVAa0CvgHpAc4B2QHqAV8BcgJ4AeMBowHWASwBSgHBAbIBxAHGAcEBvQK7AuIB1wGxAaoC3wG/ArwBbgFkAdEEwwSkAc8BpgHbAcYBtAGKAsMB6ARiAb0CuwTrAesB6wHTAeYBawG5ATUBxAHSAeQB7gG6AcgBrwHIAd0B3AE1AeQCLgHYArwBXAHjAcUBygHHA78BygG+Ad4CzwGdATcByALGAa8B0QPwAeIBpgPWAZgCUgHkBMMBMgHiAtQCWgIoAZ0BbANvAaoCfgGJAsUC0AG+AeUC4QK3Ad8D6ALGARwD0wHfAUkB3AHvAdkBwQKBAtIBWga9AqoEgAPlBLgBrAGKA9wCzwKdBVQB0QGFAckB5AG4A3wB5QK5AcMBxQTeAcYByAKKAdEBegTSAZ0CyAFvAeEBuwK2AbwBuALJATUC2wGwAcQCtgLQArUBqwHjAcgBcQHNAdABvwOVATYB6QGNAuUEzQOgAcYBeAHfAtcBxgEhAboBsgG4AdoB7AHGAWMC0wG6ApcCogFtAcgB0QHgAc8B2wLFAaEDjQHTAUsCuQGJBUABzgI8AdABSwG4AecB7gGnAe4B5wGYAdYG8gHRATcBuQTVAr8BOwFNA9QC1QPNAd4B4gPmAlAB6QHoAV4B0QLLAXICSAFQAeUF1ANrAtgBwQXZArMBbQU/AbIDrQOyAeYB4AHHAa0D1gHPArICugRKAYgB8wJQAeUBrQFMAdUBtQVyAecCqQHrA9wD1AHbA9gB6wHPAYYCugPVA4oBSALBAdMB7AHeAkUB1wLXAW8C3gXCAdIB2gHPA+QC7AFtAskB0gFOAkgB0AZtApMBWAHcAVYB0g","sAGCFcveCYChAbs/xQHg","uwIn","qwGL","UMso4bEBzxbFPdLVAdccw3PaoAG1RYUKl0iKG9qGAtFWiwOsRbVuZEOud6wGXwHLCVhj2gFVcKUyfQ","CqA2fNcGpcwEgYgCb88BhA","CtU2vekBoe4E2C7NUtTMA8GIArLPAcM","kQus","1AGp","dJc","Dlz1BOi/Bnk","5gGg","nQto","4Auj","8g5h","hArH","+wPT","lA2r","zgeBsQJ9swR9jQFj","uArO","0gTR","FMUJiAO4CpoBQA5UDowSwQZiF0IVfA1pCUMP0QibGZ8BWAFoFZwazj+ZD04cuSxBAacFnghEAz4emzVtJsYKeDqXPmIfWB7ShgE9OeFApyCxD1EBZgu5FrRiowdDAsEqlANsAUYROwIzD7QTowS4MLEXVBSjIE4IwxyxJ4AHRAZEJe4BywHzOFoRQCqKBrUBax1EAdQQoiy0Bp8QPULVPj4FRidkBkIXNgh7BiMqcQFgAWUPRhbVBpgDogGiCLEh2wQuDqwwOynZC7kJvWM2","URxak2CwjgF1BcmGAqaBAajhBKB1hgaB/AKs","2gPM","/QvE","sgHriwHWkgiulwXv","lQ2n","0wGc0Qx+","zgHi","zgEy","zwqu","ogFbILUeiATgAbfAA55CqbQDPwmYQEYDu3ZU2gGILp525SVBPk1VQAzBF0bJAvcD8w","/xHoA8o","DseDAeEKTgdWLD0ifjpYfGOdAUgIoXYwZXtt60mgBGJxIEawMM4QRwOs0QGlA/oF+AH4Afi9At9QdwefGktmiB3CrgL0AvoGnw","rgvbBd4B3AHd","kQHh","tAuW","kweX","kweh","tQvo","tQvq","tQuP","tQuP","tAuW","CbUMmie8AcoayAdEIJIRKR2mAUMCnyK8HJ0khRujEc0UOIUB5H2GVnp0z4oBNQe5FnZWPj6hE0gVewJ6eXABShK2KGhPpAEqCawEvxKlA0grSEMsA4QuhwdCF2gKKSnEf2kKHwuwA5AJhFd9Gq8QehW/G81GUA94PKtYUA","AI4B4QLAAaoBaAHOAdYBewHOAaABwAGzAUoBbwFRAYEExARTA8cBcwGdAtUBnwHZAUwBbQFCAnkBtQGCAmEBiwLMAXgBeQHfAdMBtQTZA1QDVwNhAaECYgJeAXcLuQXCAmYGowZTBKoCSAFBAkUCjgFQA20BSgNaAtsCRgFBAccCMwKmAucC4wHSAUMEzQJ5A5MCtgHLAkABwQFoAroBzQG1AswBwAJsAWoBugJfAsAB0wFsAdIDqQW3AZkBlgGoAeEBRgHhAbcBygLIAXkBXAGYAbAESwE8A3YGcAHVAT0BrwGRAmQCQAKpAZUClgFIAWECfgGgA+oBuAG3AcgBugF0Aj0BvAHNAZMCTAY8AbcBtQFpBG0CtQJvA68BpQWJAeYBuAHeBLMC9QGpAtEDPgNnCLsEdgbLAbQCtgFNBMEBXwJmBbYBygG+AsUBrALCBCsDwwLKAkoEXwKiAZABtwLbApEBugJIAkgB2QLgA8EBewTiAXIC4QHOAbUB0AHpAcoCRAE/AX8CUwLhAoMBmwHQBuABzQHrAuYERgG2Ab0CuwHNAsQDcwHZAt8DUAOsAeMErQHOAZACpQJDAYsErwLQAqoB6QPPAeYE3QE9AegCsgrZArsB2wGHAU8DXgLhAskDtgKQAXgF1gS1AcgDrQazAc8DwQfAAmYFdAKrAbQCvQarArQEswHjArYE3AO1AkoGygPoAUcBSAOyCK8BsgLVBa8CmAGuAUkD5QWwA2kEqwNWBJIEqwJIAbYCmgGMAbkBSQjbAqwBwQHQAYsCrgGsAbcBQwO1AbgE5gK1A7wCsQHiAa8GvgLfAmcBkQFhAqcB7QGlAaMCtQK8AZUBoQHiAecB5QGmAdEBxAFyAa0BcwFuBDYB3QHYAukB3gKiAk0EswNABGgBtgG3AjAC4wHkBcsBuQHPAbMEygGeAk8B6gLaAbkBwgHTAcsEvgOiAd8BtwHpArgBbwE1Am0ErwGBBMIFlALVArkCiwLDBWcFmgarAbYBzgJZAboBtQKiAdcBuANKAksDcwNwBOgBsgGbArICtwG9A34DbAPoAdgCsQLCBUwCiQHrArkFsgKcAawHpgNUAa0B3ALpATkB0gfbAr0B5gNNAX8BpQLpAbYCwAGoAesBRgHRAe8BvQLKBM0B4QvTAkoB0AHaA5cBuwKjAaUBywHaAXsBvQG7BEoFpAJIAqYCcgPUA6ACWwFBAcYBtAPTAcYD6wKuAcEBrwKsAuQE7ALwAsIBcQHvAoQDSQFjAecCOwLjAUYBaQGxAUQC4gFtAkgCugG1AcEBpwKmAa4EtQLWAt4BQwLEAW0DVAGvAtgDqwHgAd8B1ALRBLwBugRWAd8BwgKrBNsBnQKUAbgBYgLWAbwB4gNDArIBjwKbAcAB6wWnAYgD7QFCAbEBYgFyAZYDcAGeAZkB5AG/AsYBcQHbAzIBZwGyA9oB4gHqBlMCwAE9A+MByQK+DOcBvgJGATcBwwFCA88HcwFDAuQBkwLHAVEBKgGxAUwB0wG+Ac4BywFJA30CawFmBFwBoAJABV0BugHLAbwBsgW5AbsBgwJOArsCQwFKAZICcwFHA+QCyAFOAbQErQHVAqIDSgFpA+8CswbTApoBQwKlAVgC7QGrAcYCigGlAUgCLwGIAaIE1QE8A5cBngGmA7IB5gE9Ac0C4QHBA0IDmQOwAUQBRAFGAbwBSwFmA20ByAKnAtsCRgS7AYoBwwNIAZIB2wFYAk8B0gGsBuACfwE4AUUBQAGyAcMBxQF4AdYC5wHhAskB2ALvAisBwgGDAsoDawGyAuABtAJsAd8BmQauAs0CzATuA8IB0gFIAVEBlAGjAUkCogK0AZsH5AK9AaEBTQGYAUcBPQKfAosB0QGCAa0BYwGoAZ0CywGhAUQD4QLpAdYBxwdRA7ICywJTAqwCswI3Ac0CxAOmAYABewOHATkL0ANPBKkFTwEyAc8BRwGdA8MDaAE4AUoGRwJKA64BSwGJAqYEQgJRA8YGxgGBAXwBmwHiAkcDSgHhBEYCaQFHA7oCuwGsAa0BRwHTAWQB2gHNAr4BewJIAUIEhAFRAekCrAPiAaQBSANtAU4BuQGpAVEBrQJsArABbQGpAkkCogF0AnQCSAGwA0MBiQE2BDEBVQS7AUMC7QGrAkEGSAFNAckBbwHRAaUEugWrBX0BgQcqBM0BSgLOAX8C1gHYA4YCTQFOATcB2AQ6AuEBUQHQAdIB7wF4AbgBXgHSAdcClwSyAUQE3AFkBMYBugGwAasBPAFNAT8BigFXA0MCQQJ4BaMCugZIATICkAVtA3MBOgVBAs4C2gLUAmYCZgF2A0QB4AeXAbIBoAEoAUYB4gHgAcABuQGnAbMC6wGcAesC3QKDBW8CQwPoATQC1gKpBfEByQKBAd0BfwFoAXgD7QHxAesBdAHiAfEBugPwAacDtQHYAToB6gE/AZABSgHNAbQEpQKVApcCsgRJA20BPANIAb0FsAPLAUIBYwI0AUYCdAGyAXoBRwNNAp8CTAFEAswBrQo6A0IBnQFSAtwCUwGrAWEBkgFuBDECTARFA4ABsgHrA0oBwgHtAlACbwOaAWcDTwM7AkYCRwK6AXgCQwEuBewCTANHAZsBSwTRAckHewHqAdsBQgVkBFQBSQKjA7QBrgGoAToFxgOtAfAB3QFJAkUDXQJzBa4DuAFvAkcDbwOmAdYCsgbOA2MDvgTAAn4B0QHwA0IB2QODAW8B1gFvCd0CRQJPAb4B2wGFAbIBRgFgBJ8BYgF6AegBhwE1AkAESwK2AkMBsQJtAUsCrwEoAlABJgXbBIgCzgNOA84BQAFRAXsE6gFMAWsBuwLIAcYBtwFwAa8CSAHgAUgCggJRAegE7AGyAc4FTALgAc4BSwLWA2gBkQFsBsACwwnMAkYBvwHZA5YBxAmwAcoCzAGjBI8BvgHkAlACvgHOBbUB6ASfAd4BogHoAdAF2QHcBMYB2QGtAj4BXgJjC6oG6gTpA8QE4wLXAakB1ALEAWUBZQpVAdMCxQG3AdcBuAGxAe4BuQK0AVEBYQHJAeQCuAHMAdkC8QrfAuMCwwLJBOEB6wFtAtsEzwU2","jxCK","MnM","kAJ6","jxDE","wAh3","3Q/s","sgFZ","G2E6ZQlQBD8YRgJPA0gcTgeuAkcCRBFDHUAJuQHaKUYDuipLBD4ZPQy2EIkYVxRzAa4HUAqsFqEepwFWVLsnSwVCJEMLkgScD0gHdRdQBJACRQunQ8cOnlFKBlcBcQlHC4gHSBBFG00FhRGsAsUGRAZCBnIFxS2FE0MvSx11AZMcvhJKBUUReQhRB0QJMgarDj1IKAU/BT8wQyNFC1FJ0QZKA51URwFHM1IGpgeJCFMERCaxE5sCdhbEDUMInRmnCUoBkw+wFIo4fw5MDHMHeRbBE6MKRwJHA6wSawOaCXEbcgtIAU0BRgk3A0AGRwVFG0g","NqOuC38","UlTIB8s","mgTexgNOnwTXtAXf","mgSxmQ3G","sgGd","sgHY","sgGf","sgFZ","sgFZ","sgH2","sgHu","sgGd","FlO9AUeNB0ZpsKMBY6cB5O0CS+kBznxG","DMYKUwN0BE0CXAp3JVMGWiXGFGchSAuyAnARrwdvHuQXUSF2ED8BfgFlBEYRkQllI20qRAU8LGQGOAtuFKkwdzZyPU0CeB9QEXp12jo/Od4GdBB3AUUfSApxIa8MUx9CG+kBrj3dEqsCTheMFEcPPR5qAW+QAURSSWqzGXAEaCCnaj0QQgREBYwohwuwAXgDqgZPJmQGSzh1IWgZsXfRsAHw","mghY","uA9M","uQFI","mRLI","ngnN","7wdI","4Ahu","iwvZAa0SwQ","mw/c","AMMCuQnXB/oI9QTeAtAB4ALzAbcQ6w7uAukC1RFUBfEE7QHpBusBdAPKA/oN9QjxAegF3wM7At4DvQL2BkMC9gdbBOwG8QFDAswBsATSBPAE6gTsB+gDwAT5CtYDrAF2At4G9QHsA/wCtAFWEb0FlgHaAcwC0w3wEO0C8wHdAfUJ7QLyBNAM+wORAvYC8ANxBOsE8wTuB4YEtRHfC9gB3gnoAvMCUwHLAe4B9wH2AfMC7QHtA9oM9AL1AtYBtAm9AcoB6AH0AfcB+gH6AfIB9wHrBs8F6gL3AvEBwAH0AfYQ9gPjAr0CvwfUAe4B+QHQAXQC6wPjEPkP6gK3AfkB9gHoAt0B7wHhAUoDfwXtA4IDbQe8CuMD7gPvBvMCvgGzA70Bxwr4Ad0DtgT4BO4B6QO7CuACvQLjAfgN9gL4Ae4GywHqAuoC7gTgBfEB+AH3DvMB9AH4AucC6wGCA+UB2AW9AdQIygPpAdsG+gH1AfMD7wHwAb0O8AH6AfcCxAu9AX4X6xS8ArAB+wTcAUUT8w78BO0B4gL7AXAE0QHlCL0C8AHJB9UG2AJ/DfoG7wa6DFAD+gJPAe4D8B73BPcPpAewBPcB5QGgBEQC9wH7A/oM5gj1AX4B7BLoAuACuQPiAvAB6QHxAeYU6gH7ATkE8QnVAdELugVRAfUB9g72BtMBvAP0BdED+gXvAfkHdQr2AnAO8gL2BL8D4QHqC/cDsAHbAfYJ+w/5AZcInAZCE70LxQO5AcQC9wSyA70DtgG5CrkC+AbyBm8GZwfBDckC6Q71AeoBvQHyCGoS4QV/COkB9AJIAfcG0gG/AfMCugGhAvcO9wLkAe0FXQKwBvQE9wTYAuMCtgHqAu0B0wHvAt8B0wLxAewBowMrAfoM+AXiA/UB+gQrB7MH5wfoEeMJ8QLuAfEH9wHUA/kC9AbiBfUF4QfpB+sB+AWwBWURcQjyAcsD7h3cAvIB5QHsB7wCvALyBMcBnAX2Ae8EYQr5AfwFtQLyAa8FtQOsAfcB5gL6CVEBpgP2AZoCTQPLHvYGmwy9AfoBugO9A1oC5grSFfQD9wGxA7wFRgskA/oB8QPmBfsC+BD6AfsBsQPEAvcB7gHzAfEB7gH0AecB+QTqAeYD7AFrAucBwQ73B+4F7wHkBPcC6gH0AvgC6wP5AoEB9AbbAccB5QlKBM4C+gTuAWIJ0QHyA9IDlAn6EOIB9AL2AfgB+QL0CssK5AH1Ad8BugbsBfAJ8gP4BusC9wFtAvIC+AL0AswE7wT5DvkE9gHfH/wB9xbvAeIQ4QO4BfgC8AxQAfsF+AHLBPcEtwLHAfcB8gHxAeYB9gHFAXADnQH3AtoBPgXiBOgCPgb3BOwB5Qf2AfcG3AG1AbwG+QWxCvYC9QH2A+QBvwH2AeYB6AHHBPAD9gbFAegB7w/5AfU","tQPvBKcBrA","9wym","4Qc1","tAGOe89Exe0B7ecB2NEI2vIC6A","xgJr","lgSS","2AE+","xwaA","rwmc","4wWwAp+TDOI","nQWl","1AXH","wQQ0","xwZN","3gao","nQV0","qwXZAsyLBGo","zgGy+QRNsQGYjQFHEM8yzDO6arBsSwFuQewh4G3yRVGkAWsp8EnkGmoG6wd3BJI","nAWX","xwaA","ug6J","0A/y","RHE","4w+6Au4","uw7t","9wSs","Z+UEpcYB0tAPRw","hgXR","hgWH","uAnd","tQOfBNAB1w","1Q6y","ww66","vAvGrQbq","gQJL","bo44KUJ7WZqGAZeAA6WaAR7TBWFEikKJ2wFqC3UCdw","4Qdt","oQa1wQKb","xwnn","xwOW","4ATK","ww7vngHt","0Qsu","zgbz","7gim","ww6v","nwyf","+gm5qAaO","+gnC","brZ66oQCm84DoKIBo8QCtJQC2+sD5Q","igO0","brZ6plnRqwHXsAHPEcyNAniTAd8Pn8MDQ5UBsQ","pBAj","bnuzBV7YAX5tbZIFq+gBsfsB4Q","rwKxRHk","2wGU","+wbX","ywbNMJU","2xF5","pQbc","ogLoDbbUAdvKBInvAuT4AYeGAZspnzV88AG9clEBxA","tAOqAsAC3wHf","oQZr","RHE","wQK2jAWk","ghLZ","4Aft","pBBh","zgE9+QRN7AUx","jwxB","jwwl","kA2i","uQPZ","kAPO","gBLX","gBJG","hgWHAcI","4BDu","4BCg","6gPU","EsyODXjAA8I","4BDt","5AHg","jAMy","5Aeo","vAHq1gLVe3EBV9ABvs4Etg","uAnH","3gHMmQ/g","+BBH","uAFX","nhFQ","kguz","/Q/P","/Q+O","kw94","iRDB","kQ2kzwPtAcg","jwOY","rwmc","5AdC","ug7L","hgXN","ohLB","0wV+","0wW+","vgfHGskBlg","uAFX","qglK","kwOC/g7R","0wWo","0wV+","rQju","nxHr","nAej9wfM","jwPQAc7DAqhm658BleIGwTTJrwGGA2Z/8YIB0w","ug6J","2AeV","lgjp","4ghv","4ghv","kw+j","5AeC","C9c","oQat","IeC9AahGyR2xrwGqrQHIqgGUT7lLvwNaTslCxsUB050C0gGqzAGqWq+HAayMAd8ZalhH","gwK7","7QPH","igax","igO0twyl","kBHs","twPP","kw+j","/w0n","mg+B","5AXhwAVn7gXr","4wvM","+gzTAcM","kAXZ","kgXF","kgXN","vBDf","oQZe","wgtBpQJQiASsLZ8Bow","mQHZ","JDzjB22AAyk","BFQBQQjPG4oHWQd3CkwPaQGzVKINnwZkBHMIrRZLTJ5dq1tcDbg0oAFdJasLrhjFBmQ1cBeixAGlXM9Y0G2XC3EeRwFRCXoUUB2wGHMJRQzBMM4BnAGzQUQlwQpuEnYIygo4AnwgtxlLXncJLQpEAXd7gXSpBqUiqQpBCqIUQjOgCBgUJgltCUAI0g","NkAJfmejHaSRAWv7ASsWnz2xgAEvhwFaDLJcr40BoHyKFZsilcUDkK0Bl1EpHGMmqg","0Qm3xgN3","0AT1","pw+x","vg7o","vg5L","vg4s","mgqzuAG5+QGvGKU","hAhpyAFNhgKJmgFoMGEQvh+zOKwQsxfEZ8g","qgHPBEiLAWa7BX4","oQLQxA7VReI","5RDV","oQKgiQ+b","qhHB","pw+x","sQh3","0AIx8wiPlQLnuALeAekeoQ","/QdxHHEBcQpx","kRAx","kRAx","8gHM","8gFj","rATt","cp8DdBd3T64MnZAFZQ3EI8gVKEpHQZVotieigAE+fytSnCekFjg5nHlpAWkJIA5uFrY3Lw","OYMB0QmHYaKLCKo3aS60PEAoOxqYYK8jqNIBXKECPg","sgU2lwRT","nQ2c","pweq","pwdz","1Anz","1AnB","1Amc","Ym7XA7CHB3S9AmQErBmZMXM","4AGg","dU3IAYK8A77BBcIJeO4BcQ","BJkKXAXLAUsEUwmRGoIWjgWmCH8UQgGZEpUEyg1mD0UXmBeJBqFA7ihiEndQkQSeAWwuzVZ7CpE9QxFDJXopQyZ2AWImmAZHR0cLZUqjA6QD2QjXEmMBbAKcAXgJQQzFDZEVZQPOAY8XawdfGrsbdg9/AVYDbiZ7HbkLMgKwAoQDfAMoH0ICowXCEjUHbQaYD70YeQxRB8oHpQKfHIcQpBVFAawCygUyB1sFnwiRCzABZgF5CWcXoAuGG5EDxwSZCJsInxh2GqcOogxzAZoBmhabCUkIdwlJCHRKnwE9EEIcpAGUAaAvgwR9CKMSngKdAaIJrgncBDIKRg3IAnQGJQaTA4QIRSSdGiQKMQGcBcIBfQu5E7tBRBxLFtIErSrPB9NItQ","yQcppQKP","mQJn","1gPN","xQHU","zQ/T","xhCG","mQa1zANR","Vs2FBPm+AfPUBEuEAfPpA90","2wTY","2wTU","8Qt3","8Qt3","8Qta","8Qta","mQa1","sQrNAfQB2QHoAdsBxTbZ","sgq4A48","tArEAbM","tAqx","sgq4","swrD","sQpR","rQSsgwqbwgOrAaUBpwGqAasBtA","rQSsxQ2rAaUBpwGqAasBtA","VqYJYgQfA54MJQSZGSkFbR24BF0GLR6KApsEMA6dCSw2owOZEmISJ/kBohFxCzUgZAd0FzQDNgjHC1o/lG57DjU/ny4uDncSLU6CBpszuzdsA6M3fw2aBz4YHg+WQkcCpR6JJZMNSSmfES0irxE7CzASohkoASknKwhqDjEMcwOgA2A0nAwvGSQDKQYgBKgGmBA5Cjo/MA08FSoIJg8rEic8GxyScFU6pB6xMbU","hgwkuwJKpgJA","sQGt","HpwFbRKsBpYS3wSOA1oLYgOpB0oBlBU6FZMBYgafDkISPwmuDUcCRwZKAU0SUAosDWAEsCRzAc8SkwW1A7ENogexBJkBsQukCjkDYDSsEzwgm1dZCI8DnwRBE2QESwVQAUkHlDpLAkICUQyfB0ANpy3PDpECbR/DBm0BVBSkCNANIwGaBlgTvhQ/Hn0HpBemBUsBngJDD6oXQARBC0gBMAyYAUcFhAtpDqMBOQLbD0wGWBslAX4SswFLBUgO2R2GB9QPKg9aHSgDKQEoBJ4ohghoBUIBhwZtAWcE6ASCDEwBaBJMIZ0K8gHvFEACOwVFBX8PUAOsDS8DrgHNB5sejQNtFjsXoQuEA04GSQVcCKgIWAOUAoENfQx8B3oGNjJzAbgMNAxNBlAKmAGWAc4CYwk4AkoMex1EA3IpqQmkAqANdwjIAkQCUgVUBE8GcwRKAUcGvgctAkEHgwc3BGoESAWpATsBpAmyA6kBUg2rBbgBrAyPB6IHQA2qAWkFNwq+JEQBnhBNAWoFQgdRC0UBoQKjEEsGOwhrDDWDAchJnA","2gKx","bl25A54","2ggo","9gGquQdF","9gqu","owmP","2Aei","gQrE","gQrE","5Q1RmAH0","/Q5w","/Q65","/xG4","/xG4","/Q4m","Abb6Bc/6BOk","0ATs","9Qrp","oQX1","hQ/M","xQR8","wgG14gdQmgWmYavaAtM","oQX0","oQVK","4ARk","4ARk","vg6u","9gEsrQZNyAi0","0A+ptwJN","EH8","wAXt","7QrV","7QqF","wAXr","RVkoQiZvMTwWSL4BQZ4BPo8EQjvWFpIMTg1FZ0NRSC1ItAFJB1AWSCNEF0YsSDJGPVE1RlZADTdqOQ","rQFD2gFi+QM/gAVd","zAtr","zAtr","zwzS","zwxD","pQ7p","pQ5F","lw6cwgK0","wQTT1Ajr/AH0","wQSe","lQ2m","kQ/a","ApQCvgKfBFAEUgOgAqgDgwJOA0oCTQGIAckCuQkwAa4CSQKyBPAB5AVOAcUGbw63AnIORAFLA/MBXwR/AU0BpQNCAnQEbQGnBXYCoALGAkYJyQJJAtgCZwhiAjwGygNqAaECzgNrBEUCUAJTAWEBiQM2A8oBQAHUAW8CrAHwAUIFQQGOCIYBQgJhAT0CtgFSAoYDQg9IAZ0BRA1DEqUKngXtHIIBZgFLAowCTAKCAXACuQGTATwOUARyA6YCfgOEAZ8CSQFuBEoEXwVOCmsCQgFOBcIQSwFHDMIBrgFdAV8FyQJAAUkCSQFSAmsC1wJ8AXAPwQFXCYgBTQ9CAVUCVQRNAWIHUQE/AaMCoANGAZ8NnwG2BkQBiBBHFGkFZgeMAZoBmANtBW4B1gGlAUgBjAOMAzwIcAl9BZwChQKwEqYNYwt5AW4FcQK9DEsCXwRIAVEDygmtDr8BYwJYA4cLWAJGFHoHSgEhA4gNhgOGEKsC4wGWCEoCmAPCAX8Jbi1ZEYEIjgFKBEYD5wmEEEwChgJIAX0RsxaDBUsDsQFGB6MCWQFYCUYBTATKBFoB4QRtA1oCQQH8DmwKrALoC4oL6wV6AlYFtwFkAnAJYAG9B2MKTANeCMwM5AKqBHIDmQlpA2IBZQVdAVUGZwFrB5cC1gdhBE0CVAFOCE4EegK+CLUXiQjgAswEZgGjAUcDRQFUAmMCnwHAAWUBdgKnAdwBqw6CC0ELPgKGAmYEqwE9AXgHsR5OAfEGmw1FCLQEkQFzA1QGWBdIESkBYQNTAsQBmANaBYwCUQdIAW4DRQFwEVAGSAKmBe4CSANJAkgCNgJQDFEIcANhAVgJYgP1AbYB1wxHD0cIWQPJA0sMoANHAasKbgNFCE0BQAFHBqUIUAq8BD8DcwJ2A1YLUAHCAYEFUQPDCqgEUgFbBVgFZQHDApkBdQNDAbMBTwm4AUoGmwaGEroBSAytBfUEjwF1Ak4YcwNeBEMBPgZgBWgFOghOB88EQwFeA0MCrAJIB3EDsgNIAoQFVANtBFAF7Q1qAWsCZQJ2AWEHQQFaAkUD5ghjA1YCSQFLA1cBSAHRBJYBPgaKBEgCsQFAAdwDSwXcD6wCSAZHB0YKPgNJCT8ahgLRES4McASyAkIBVwFdB1QBUANkDHgHpgHKAc0MTAJUFF0CUTzsGUMr6hCIGtgDchFJAZkB5A","9Qs4","7wemhgS1","5Qm0","M7Q","ApcsbgOABHI1lANCBZkKTws+CE8EUQVCAUMSyQZPEVU66wzNCM1KnyS8AaIzcAGYGWw4kw9HCWQO7jeEDbEFSRBsCawCZwTrDGoNqSnMDrgEeYcBswTYBIkExwKsV+gEyQTKBzkk1C3CIMkophddA1YKxwanI6EJMgM7JqQBOCGxNZcYlBVaE0grXBHfBDggJgFGFUgMXgdnB3gbnidMLYsQjAI0DUsUTRRNE8gNJQXyAdwBRwRwAUADxhs5HLoCxAVaK1cjPg7cCFEGQgNJFUUSrQXJBHsCSAdgKX8JKwFNngFEFz4bRg3TJNY","M18","0AkytgJI0AFN","BrX1A2a5AtKeAnYB1AHNsgNO1QHzIPMB8KAEnwH4","nRLo","+wNm","+w3nogTt","zAvb","b/kBkQH2kwlJ","b5Q","b1A","b5Q","b0MCsQ","b0MCoA","cJE","b1A","b9Q","cVw","b7QClA","An6eBsU","3g/D","5wu06gFpNHaWAp8","E28B9CJRAogDtQWsBJIFWAFOC7cEcQE+AU4BVARQAUAETwuRAfAHrAI/AUwCQwlrB9sJoAQqAtoDQQKhAzQBnwFrAWIDngHyCpYjqASgCnQDcQX0INAIPiA4CJMBoAWRAkoMiQc/BL0Hlw6YAqgE2wmLDPoQmQacB4sBPBHxET0DYQFeAngBXgmVB+EXmwGyM5AEZhFeKjwBnhKkJ5sRQAerIcABwgHBAcMB3gG8AZUIozo/P3sKjgyOJp8MixJJB38WkwIeBLQKexdBEacORgR1FJABhQGRC5stlRz6AVYGQwIjBbADpwyeHE0DrwJICjsKlwdmCYkHSgLlDJsHTQxvCz8BkgNSBekCsQaaAaApKgWwHUcNmAJICKkfRwxQB3cLZwRMAkkEpAZMCa8Cnw9vAWsRqAJBAVQBUQlJBkIUoASjD6wVpgtnBUIWRwGtA6cOYQSdAk8CzwHlAawZegNNIYwJnBGfEVgDaQGXA6ELqQRACXIEpAadApsBgkBCB6YFnxVyCWgB+wihC3AKhQJ7AjMGRgGiEkADaAZeAbwQoRvCAmcCbwFrAqgMRBUxAngFYgGqAp8ORgdHAUsBSgFHAUsDRwFGAUcBTAJABEgBSwFAAUEBPAFEAUEBTAFAAUABUAFJAUwCRAFEAUIBNwFJAUUDPAE5AUYBOwFNAUoCPAFHAUYBSAFLAUwBQQXvAVABQwHGAToBPQFIAT0GSwFHAe8CQgFEAUMCPAJDATsBRAFJATcBSQFGAUQBRgFGAUoBRQI/AUMBOAFEAUgBQAE+ATkBTgE9Aa4BPgFAAVABQgFIAUkBPgFHAT8BRQFHAUgBSgI9AT4BUAFSAUwBTAFJAlACSQJJAUwFPAE/AkYBSQJKAkQBQgFGAUQC0ANMAUgBQgFIAUgBQwG6AT8ERQE/AUkBRgJJAU4BSwFEAUQBTQFJAUYBSAFHAk8B9wFMBEkBRgNIAUIDQgNGAUoBUAHJ","pQ22","hg+f","gwxH","gwxH","cY4","nAHK","nAGt","bSMsNf8Esl81MDUrmVQ54gF0LHQHXvMEZg","mQqh","GFM8hWQoBEAQRm4+cTz3AqreAiE85QqULUIMPgbqFKElnCpJrwNKoQFMCkUcvzZBBzcWZxlr","gg/G","gg+y","sAeL","VmAJYgMpB3EJlQsmCGQWQidBAl0WKBliB3E7mxF/H103eQ1pGZEFbjuYJYIwJQgrU4EBMgZ6bbhdOTGYKx8bcTklKL4TKATCCnwXgwhXD4UlpAgnASICKCFiBHYPSAyqMFUDgAx1EnkCqRlyA2ohfAuwBDIWHgKOBHMebx96CisBMgEoJDQFbhukAyUJKAN+AywhMgItATQLNEAtHagCayWGBycGICVxCh4MpxVuF6gJaAy2CKIBJgsjPSQQfQElAikHagl+AnUJLw1vB6kQfCeqGlBFliGwFm4","wwa70Ajj","wwa7","ADADxgLEA0ID3ALQDpQDTgN/A/ICeQHZA2EB8AJBCeUDmwG2AukB7QriC9IEHgx3CHYCagFrApgDQgWpA0AEnQf1AcQB2AUyAvYENwJeB/IMHwKJBGcI3wOCArYD7ARUAx4HogZHA78B8ALVA+4FYw2UAWgC6QTvAvcBggTlAr4ftSJLA1ADUgN/DUQDkwk5AkMroAHjBjUKvwlCAZ4ByAruAkMBnw2BEsAGvw04BzoLhQIgD/YC4QTLCfEPwQhdBpkE5gHwBowHpghTB2QG3AKBCZ8T2gHqDOcJvBM9AakEqQbNA8EBMhHrAjgH7QbAFTUH2wonBNMTQwpjA5wB1wMmFu4F6QfaCucBQwRfJPABeh5pCUoHpwI1CrcQKgNDBM0CfgLkBzcB4wo4AbUo5BaDBPAERgnlB7MExAX2BNcEpAHBCIsPLAS6Eb0G4xG+CjcGmQWiAzYDcgPmBoYBRQShBMQRKgScCEsCIQGOASIDOwPEA6UB7gItAlAKawmYBkUDMA8tATMBJgJYB9QSyRzyA/IQOQGhBh0B8gb0DfUB9QLNB94EKgHqAuoB0wI/AnICKgIpBOoDiQ1uAtMC8gjfB6UJ4wLyAecE3wHyAvABjAEwAsYBRAPAAiYB8QG9AcoC+AHQA5MK1gbsFLQDzQLVBrkEKgPlASwHUwTCBLcC5gaqBOkHsARIBqECwQMoAUkDtARaDdIGvQK5AUgB4QmiBLgDqgLsAmQQiwq/AWcGkgSkASgNYwQqAT0BPgOoBKoELQF6BuIJ6QLeCFcNMwgnA7EIHgp/CIAGOAIoBCgLHwMxAjQESQGqAnICggE1ASEBvQGYAiwC2gG/BfEB1QdFASsCoAFuAT4L2AIyATUDUgPgAmICogSiD58GXwdrAakNnQE+BsgCQgMpGKwFeANKDVYBJAKXAeAB6gKtCUEB4gfNFFMCSwLiB6ALKgeGBCkB1QttAp8C6QRxAbYBwwG5BsIBhwLuAb0HYgJ9Ab4CpAJ1AS4VRwnPMMULvA+sKEkG1QbIEEwBSBRNAkYO1gfMApM","5gyV","+wrN","K9WvAa0gu+EJ6fEDOQGQ","zAvO","zAsx","2wvD","UrC4A6fDBuA","Gd4EKgupCnMBjwiPDEACfxk/BqoCcAMjBDwBSAFKAnQBmQNrAm8ElwSMC50BKQFEBd8BkwGfA7UBpwKJAmUDUQGeAUcDfAS9AUcBfgHPA08C0QFxA6EESAGDAoIGTgSSBMcCpwWcBksCqQydB+MZsBLvBd4L2gLHBE0JMwGrAakB1wJvAqoOrwN4AaoDhAJGA/IB8QOPAUgDtASvBTEJmwNkAWAJXwNGCWUP1gfDB1ECcBOvA3AG2wYrAU8DzQy7ATAJdBW8Bb0BrRubCkcFnQriB74CjQVwBzEUbQOoBmMFcgZDDEsgjwJsAlMCvQGwA+YKSw3jA68DRQutAk8UkBFOAcMBpiVLA0IhdjCfBJwCqQ+4DbcISwqOCkUBSw0/AU0BSwNhBHACRgSoAb0COANrAnwIRAWfAZwVrwvKPLkBrwayA0QYbwltE1EBZwE9BHoDjAq2Ao8BiwOmAn0EVgXUA04BvAfQAUcEkQFPBE0RVASkBDIEdAOBAqoE0wE8AXgBmgWVBqcBfwJcBEkBqwkoAZkFRgdwAvAGngJ3ArUCiwKCCW0WkAGaHCgEdQrJAR0FbQJHA/MMbgh7AZIC3wGgArcCJQXJBEoBdQGEBEAKpwKxAjAT6gGfA0YBXgFPAYEDSgetAUoBRwK7AUQDLwPWA7gXRgNHAYYBTg3qDYMPqQGjAbsBxwo/AaABLAOhCLABNANIBnQBuQFvAloBbgdCAWwUsQK2CIUCKQFHB6MC0QGBDn8CkwROAUQFcwJNAS0FYQOMBsYHngXPAckBzwqqA8oX8AjiB1gHnAhEAUACvAfuD4MCZgKvA6oBngGqBKMM2Ad7AU0BlwFDAlEFWAEhA28HPgG8AkEDRAuPA94MHgPcAm4GNQtQArkBfgGgAS0CpAd5ATYChgQ3AWwBnQGxBacCfAFCElYJSQJxCUAIsgKmBEcBxwJbCHsQrhFCEXcNQgdACXoDSwdBCKsOpQyvBlEZTAJAAkkIRQo8DzoDuQJGGaMKTg1HCNIHyAbXJEQFSAJHEJ8","0QWn","/w3Z","mwOw","/w1p","7gqN","7gqh","mQKh","uwKy","+QzROM8ByQHE","1w24","4gSo9QjS","AGIE9gP0CKgH6wPuA+IBKgu5AjQD8gJpBPYF3wdMAqYDwgF3BPgHUgY2DHwGnwEwA9oBYwWVAYcC8gJwApcGJwqHBGcCRgPsBsABcALWAlkC6wPXAa8CmgGGAe0CbgRxBHkDWgNkAnAC2ATFBLAEuAVwCpsDSAJYDIIBigb0CN0KgAcvCp4F9xP3AlQExQSAATwE8AI+AfYC0wLRAZUQrQPBAfoF9AHuAqcB6AGvA/MC9hCyAYAMuRuPAaUGiQNWBqME3AHcDtcD8AbaAUgG4Qn1BpUJ7QL3AvgF9Qw5Bm8BpQFNEIgN7QKyBM8BNQHOBGUC6AdQAfACaAWKA0gE+AHLAmYYxAE5AS0B3QjfAz4BnBNcA8Ab8AHXAfUDIQHcBOcK5QTICegGbQ2+FLcCwwnzBtYB1yHVA+cFwQfvAfQI+BHlFnUIugJaCZgCTgXsBMsF6wTlA10N8gXxAVkBiQ4kDIYBoAJqDHUHhwc1AU4BjQFbA5cDxQSiA6wB1AO5CEkD8gGLAeQFWhAtBMYU3QrzCfQFPAylAdoJ+hhvBNEH4Q51A+QIrQHJCj8DNwVPAfYFdQf5BDkDxQHVAbMBLQJOFkgCzgKwAzMHOgHGAkgBRQEvAugBdgHqAdMEawGhAbMC4xFOA8EBvgWpB0kB3wG3BrkEaALFAygDpgZNBk4O6AGsHcMBvAT5Aa8BtwGuB0cKxAVcErkBwwLeB3QCuwLKBs8Bggn1AvcCMBLpAc4BxgLrAdAB+QHYAeIKMQTmBlEB+Af2BicGuwT5A3IBdwExAeoE9AvqBCQJeAevB8gEzQFjCa4CQwNLASAFtwHfAvYBoAn3Aa4B2wFhASgOZgqnA9gBkQG7AecGrALeBywFogGkAzgC8QHxAaoJRwTvAUQF1QJmA6oClAZvAW4Dxga1AckBbgEyA8gB2gHGBG8COgRxAckZ8w+aB8sIQQHlAlQH+gJuAqcLhQIgAu0BjwPFAfEDdAbiAtcBTgGHASUBdAGgA3kCTQPUAboBQwYkAtcB2QKEA/cELwHSASoBqgOKAfcB9gmqAkwBdg8tAvYBjAJwAzUBywv6AdkB3ATrAZYBlgIiBYwOzgQwAdsJ1QKpBXIIuQH1DpwB6gOyAcMB8QHvBmoJ1QbpCaMBRALtFUQGowGnAWMLJAOxDeMBwwPwApQBjArlAfEEKx/rAfUNYT7vF60BiQHuA3wDQAGeAskB0QHnAd0BZQLBAcUB5RGpCPIHVRfy","RXf2CqyyAb2VArIBvA","dXrPA4lcsxPENGk2xyapwgSRNXMHrIIBjEu6iQHjCamjAYQBpmWp","qRB+","5ght9wJg","jg27","RXfjA3ibCLTdAcc","tQ/M","2RCp","1AKT1QOV","tQ+qpAGp","jg2l","vw7Z","xA+m","1AeX","/w3v","8wts","6A5W","sAxL","vw6y","/w3c","BNU","2RB/","wQOh","7QzT","kA4g","CLBroSOgFmgMsCNgBIYWh3CkG28kgAdwV2wyuwG2PkMRwBtnfsdaZTBzKZ4BWQp3AbUGmBejKLodRAFjSLgbpAZoBncibQZoDmsOfQt8NkkBVAE8UMUDsBiUB7IPcBFEDp4EKhpvAUgbgw6ZJ3QTfQmvBWgYoyFqEKZuOxxqDH0FbiO6D7oBmil5W20gawIoHYcFnhFIDUcBRj1LCmoCpwdGBWoTbRpGEkM","YinSAap6W0AwNvAB5gHvqgG5ROhg7QnpPp1gu8QBLhpZE88CSEs1F+WeAXJ13AL2CXwPywMoRTMYZI0BPTkiNictKg","hAiqlgL2uAHyM+xnzzDqEOAf4xjuIOAQ8AfkDMwE2GC5B/MH5Q","mgrj","mgoo","mgrj","gAHU","gAGY","gAFs","gAGr","gAGw","gAH2rQb4Avdg3QL25wTxCfH3Afc72TP0gAHN","gAGW","rQfWAuXSBcs","jwjMAtk","gAEy","rQflAuVi0Q","rQeq","rQeq","sw+p","sw9+","gAFq","kwjEAdYBxAHAAbkBsQ","kAEokAwo9wGn","DjnEASYCMlU6KifsAi8wIc0BRw","kAEo","hg/K","hg8+","zgZ4","gQml5wKA","pwf3","pwc1","pwc1","wQKZ6wLZ","wQKZ","/w3o","mA+8","FCgZ15sC39EDnNgCTjlKtQS3duq+AkA","1Q7D","BdgIaA","FCgZ18QITg","8BH6","8BGs","hQyslwG6L9oYpSBlEJoHyQy4BL8","LNk","LNk","LKE","LKE","FCjNB+c","FCjNB+c","0gZeowLk","0gZe","qwTB","ygsi","sQPepALi9QS9gwXr","1QW8","hAiAlgK3uAH2M+hn3zDyEOkf4hjyIMEQ4gfqDO4E62cm","mgrr","vgP1","vw7j","vw5x","zQ3HAb8ByAHHAcYBxAHaAeg","0w20Ads","vw64","pAHXAcQPrd8CR6AB2/8BrhjJlAGs2QH49wJLjQHaa3WLAX0Inw","twqk","twpM","twrV","twra","4QacpAQn","A6QHUAmrFUMxcSJBAqMoRQ9xCcUrPSSrMcSDAaMeQFqpSZ8+o4ECmmPOAfUEQ8QCPQbKXIwBZgZMRMcWSQxWNJs+omg/GaIKaQPSTEZAR1XQL+ChAcc","AKQB2gKRApsBqgHTAWgBjgKoAYwCXgOIAdQBMwGfAVYCwwV+AccCkgF2ATUEygKbAYQCNAF1AqQCqQK5AncDsgM+AjsETAKLAUABTQaXAU4CrgJxAsABzQFOAVADlQSdCccCxgO3B6QCPgFsA5cCowRMAbcBswFgAakCeANqA6gCaANiA7gBRAFuA5MCXwShAcQDcwFBAswCLgMpAUABngJlAmgBxgOXAcoGSwGbAcAC6QKhA7QCsQG1A8ABigUsAnoDnwEmAjIBYgHaAUoBYQNgA5UI3QLXB3kEXQGbAcoFJw1wAm0BigagBJoOugK9AcMKoQREAUsEcwHSAdYBegVqBY8BKwWPBLwBMQSQBaYBSgMjBH0BtQFHAkkClgOJAc0FlA7NAq8DagGiAmUDcAR0AYwEWQJzAXMB0AJwAUsBogE6AcEFUAJyAbACxAHFAbwBaQJZBX8BtAGdAZgBpQGfAd4BxwGXAZ4BqgFfAZoB0QFtAbICZgjMA5cDngJeArgEzQZcAZsJPAF6AtgCmwF0B3gBdAF1AXMBdApEAaIEzgJsAs0CfQF/AYEBwARLAoACcgJhAZgBkAjMAp0BNQNtA7wDvQNwAVECKQfRAqMBXAFWDncBpwF7A6kDcwE9A4MCpAKoA54BzwSMAa8EhAKLAn0BegFNAZkBtgGGAYYBhgHaAXQEpgKaBE8B1gfZAWABvgTUAZIG4QGWBNIDuwErAZUDLAF3A1ADWwJdAtgCqAWSAsAEYwG8AS8DOwK+AWMBOAV3AdcBugRBAn4BqgRKC6EFvwLdAX0BcQK/ASEDdgaXAUkFyAh+AYEBrQF+B80CTwKXAYQEXQTBBCYEmwTDB7MD0QW7AmMOSwaqAWYDrQVtAjgBsQJkA9IBcwTcAnwBkAUkAXIBMAN6BM8BoAHDAbIBUgGaBVkBxgJlDIkCPQS/AioHnQFXAnAHcwTaClgEpQGaAigCmQE/BugBzwNOAm0BYQNBAUUCawFFAccC0QNjAccBogE3AdkCwAKcBa8BkQFlAZcBpAjbAYkBsQNtAYYEbQFUAW4C1AV/Ai0BdgiCAZ8EeQHZA+UFvAS2Ay8ESgKSAaIBUgE5AUMBvAJqASUBiAKyBLcBngHeAkQCLwGvAdABqQGsATIBKANxAY0BzAV2A2ABYAFsATcDrQqgAb0BeQkoAokDZQFcAWIErQHKA3YDIQXPAnADzwG0AcQBdgFqAWoBxwGdAXoDoQOdA8EBIwFiAXMBWgRYA3oBvwJxArYCcwGpATABLQKvAo0B0gG1AXkJQgNqAt4BdAJ/A7cBowHIA1QBqwN1AkIBqAHDAaABaAJ/AZIERAJCAZoDeAF/AbUCsAGpBqsDUwFkAbMBnAG6BDICbQVEAasBlAFuA7ABrQSuAboDZQjZBc4BfwE4AnQBVgLpAXkBTAW1A90BXwHIA2oBXQEzAcoErwGnBXcBcwF7AXUBYwGxAXMBmQHAAbsBfwJ6CboMHQQ7AUMBwAI9AoICiwLKA6gBnQF4AVwBRgEwBE4BrwMlAUkCXAG/BUgDcgF0AawCmAGzAYgDaQHNAW0ElwS2ATEBdAGXA2ACdASSAeADbQFXAYcB0wEvAmABeAFzAqYCrANPBGMBJAPbASUFMAOYA5oCswI/AZYCowI7BZoB1gGcAswCLgeVAzEBpwFqAecBjAVHAVQBtgJgBKgBqgEtAYEDnQSQAdMBWgGyAXkBRwV5AVQCuAKFA8cByQG3AawIdgN/AZoCwQOyBjQBdgGGA0EBTwKhAYwCigNuA8MGYgl3B5QBegGdAWUBOAGFAlYErAErAbwBmAFnA4MBIQWfAikBawHEAiQBUQTDAp8BYAGbAssBLwUtBqcBUAK3A34CMgItAXoBRAFPET4CbQKtAt4EPQJMAdkFKwTXAyIJsQFPAjcCzwjOAnwBjwi6CFYCYAG8BYUByAEnAlwD2AHVAV0BRwFWAlYFdAFYBT8BaQGcAcEDmwJqCGACgwF5BqICvQGkAdABUQPFAngBdwGoAiECLASjAn0CdwF0AXEBUAszAioBpQE1AboEZAHiAbcC0gKBA04DvgJjAX0BRQR4BDEBqgQ5AUkBXAFCA4kEPAKmAccDnAKuAXMBgQFsBM8Epwh7A7ADrAXXAYsBwwGxA7kHZAFwAs0CkgKSCMEBpgLCB1sSzwG6Ab0BvArSA3IBcgQmAnUEggLGBmkE1ARSAXEBvwIxAbUGVAFQAakBKwHIBGsCKAJPAqcBtwSzAU8CZQUvAVkGgAIxAdEBRAEyA70BIQK7AYUFcQHQApUEPwPQAbMBRAGCCK0CRwFGCmYDRAhHBUkEPAE5AUYEugGiB9cGzANjBEYFRwJyA7UFOwhGAUoEsgGdAUQCmQlCAUgHpQyWB6UFbgVEAUINSAW6A24HtALAA0cCSQFMCEgEzQZYAVc","1g0v","1QnB","1QnB","ig89iwJq","3gHXygeZ","mxLJ","tBBZ","Hcc","gwQt","ihAb","5gFK","1wEr","uQLMAc8","6wtKtwHUxAFO","vAFAvQTTXGZnRoIENL4Bmd4B611D","F8M","hwFw","O5JCnDmlCaANQgclNMoiOnjQTVfgApdbhid2HXTkAarAATc/myiIR0Y9cYYBQBbQ+QExOFY4nw","1gbU","zQ/b","6wpv","xgjp","e20Oew","xgjb","xgic","xgh+","oQF2qgaI","6QHC","0guSM5XeAXswig","twHojwXA6gHO5wO3AbcBuAGy","twGZ","twHX","twGz","ogLpbOMC7AHkAusE31zuI+9w8BWeAXYB3Q7cAdwF5/cHY+0BSwzoAtLXAns","+hF7","ygq9IZg","6wPz","YvU","Yog","Yog","WH4","4QjX","sxAv","vAF0","vAF0","6wujzwI5","6wujzwI5","uQWikAOLlAFjjgKjzwI5","yQiLlAFj","yQjQ","yQjE","0QuJ","zwHgAdD5BdOHBccBwQHzAcQB0Q","zwGn","0gzd","yQdi","zwF8AaU","0AxiArk","3gKZyAJPugVJ","+wWU","wgeGoQaCHW0gz64B8SvO","zg9O","zg/T","S88","BNAD9QGgBPUEgQGRBdQHuAKHAosCTwORAVwBugJHA+4FcwS+AngHwQOZAp0BuQRYAeAB+QPeA1gC5APVAcgDbASpBegGwAOgB0oDhQLPBkMBtQF+A6cCSgObBbACeQO6BkMBpgb1BHsDngH2AskDdwTNA9QExgOZAdcBoAHFBC8IkAS0AWYJwRCXAcYF2AqdC6UB2ibCAeEBoAKlC78DWwH1A8kCxwLFA0ICrQ6eBJ0BqwJIBKkCnhOrAVMNogPgBMYChgWUBoICogKxAb8FswGmAUkB1gG9Ad0B3QG6Ba8Q3gLiAqQFzwbgCqYH3wg6Ad8B1AaKC4UCQAFtGcoIuQuiBeUFsQOrAWACqRPAEJAElwHSAXIGwQY+BNcE0QHSDqIdvQLbAdcOnwXOAvUHUAHWAaQHzgjQAXcF6QHeAtAGlAquA7ACowxtBdADnRKXBMIJngesHpQH2gQjBqkBwQemCMcFlBZHE50F9wHIA60BygHaAcgQgg2iAqsPqgLVAmsDRwPqBTwCsANzAWYEowOFA5oFsg2CA8UCmAGuEPAP0QGuDH8BeQNMBfAFcQWbAdQC0wGbAtAKpRBtFKYBtwfAAdoCxwJMDbgDzgOZBZwDpQHTA9sDQwKSAd4CRwTMEKUC3ASoAeQGrgFAA5wCswLGAkgFxgLNCE8SmwFEAaUDowNGDZ4BowPRAecB1wLNA6oBkQaIAqgBTQR4AdcDzgMnAaAInQHoAboNiQnuAq4D2Q7VBO8C3gXVC8EMkQE+BKgBsQF/BdMC6QFIAcwCrgKJAuUCawaLDWkDkAK3BZ4E2gGvAqYCrwJHBWsDxQKyB4wBQgGlAZ8ETAtHAb8EoQKVA1EBxwNMDqgBYw3QDu0BvAGoB8cD1gJXAq4BSwLKAcMEsAKgAe4BcQJ4AY0BowPMAdgBzQHRBuYCcQQ6AV4CogmtAcgBrwG/AqoEnAGiAZ8C2gHZAvEBZwdSASgDRwWNAbEIqQK7AX4E4wbKA7wCvgHCBNEMSQFvAcIHhwmhAaQLyAO5C9IIrALeEIcBvwGbAZUB6AHmCbMBsQ3kA8gCpwGiAfEBzgGCAXIDxwGfCJQCbAVDAb4EpgOkAc0BzgSnAokGegLaAogBRQPDAUQBpAHHAqIHwwI6ElYE1QKfArsERwqOAakEqQLxAcoBnAF7AcUHnQHAAucDxQWoBKkFQQOJBKoG7ALWBNIBewLlBa8EtwGjCnoCowlxAd8F4gHtAkgJkgrTAeQBeQJ1A94BzAKOB98ByAN/BUcBkgGoAc4BkAPRAiwDnwF/AtMCtALPAp4CvAHVBNMBowHiAaoBqgOLB8wCgAFjAbUCpwNmAvEBggF6A/gJ0wHqAeMZxwnSBbgC1wT3Ad0E1QyHFeQD4gZuGboDzQFIBeUC6AhJA8oBxgJhAT8KzQI8AvEaRwrMB9wG3g","7A6X","S7U","kwvFLH4","qwlm","6APKLZyMAaz1AVkJrUKZE7KHAXUnpRCJIZyCAaZ6iJABqgSqLN0Jj1mHDq5DzBKFiwFfHaNIrmPSIkcESAfn","uxCA","vwKM","4wKe","gAF+","vALh","vAKr","iQ+5","uwzu","S6M","V2awAuDgAZsKv1jO0wGqsAXmlgVhC80","pAU6","yQnAwgNT","VoQ","Vsk","0wxe","7QHH/wyX","ohCo","ohAo","S5o","sAHDB26jAUgHQzdoVjqDAYNPUPcCTJIBvRfDwAJwDKAYZEuhgwFozgF7UotL1wVeBHIhyyVvBtA","xAyo","wQeA","xwjH","7wWj","swyX","EU853EGaqAgh","fkPTBI3jAk+VAbK8AZG+AYwBZEdTuQGI4gF7","iQ9r","jwFP","BLaiA3wBqAHLGKQevAnPeknBAZ5LlGW7AmttcUTHD607rl1SO6A8ZVNMnwHKYOjrAeZHuBtAEKoB6QHj","2AWdPZcEwqMC8HDBKbPFA77sAcoN5wx/fX9Rx7UB3g","mgpz6wFjZ7FAb0rnNENnwA","9g2c","7A6X","7xE8","jQGw","oAzr","gRHk","OVQNSqEBTG9G5AFR","aYA","yRCg","S88","2wSQ","Y7c","hQ/T","/AJFsAFOjgdH4QFD","7QGouQF8AdABuRjbHs4JuOsDeQ","zQtwqQKW","BHwFTi2mGLYVlQnFEUITmGOeAowFlj9mA9KjAkkJRjpIEakPsdsBSzJOcY0snhSWI5MIognRMJoVpCFpAkcNTgLODj8ZfArOJ7wQdSuTBb4HoiagLZkgZgJGBKNRnwSPZq0wohFzLKIJpxE7Y8gDvBaeCpwTlAmbbcUN7A","qxC0","9g/F","BKcMgRFgCUcIcwZ4B5sDmQJxAaIkgAOgCloJtQmbCnkNbAeeAWwCbQd1A8sEuwWgAaEqlwGmGqUBqDW/CYcCezNeAVMUuAKGEJkFswekBa8QlgR5BWonOi+5LsAVuxXRD6IdcwLPAdUepBXjAZ0C0BCuXZQHfAp+AbgHpgjHLlkL2hGCLTwKoxvFA2sQpw+HI7QdbR3aFK0PrAVmB4kSzQSoAUQOaAJIBaICdRpvAqUX0QiRCKgFeAG5EboW0AKWEZAEoAK0LMwekAKPBXMEyAWjDIgKnxC/BmkVfh28AagHxwVXAq4DsgHDCngGkAGrAWkZnQGvAb8GnAGiA9oBpQKtHLsOmgPCBM4OrQeHCaEBixl2G78BmwGVHMgGggSrAZ8IaQhwCM0BqQaJBnoIoAyFGGsCnxBiAakXmBGJBJ0MagF7B5sEhAGjCnoCoxCvFtUDdQaOEZIBqAXFAiwGygKSAncCcwJ7CKoBqgqrBHQHrje4L9I1ygHGEdgaRxHc","pBBz","KLqZAS+AAYeeApdYu98BWSuA5QGI/QEmULyMAY0Bsf4BYq0BtA","EZEF1Ae4AocCYAWRAVwYmwVxAXcVbASpC4ANWimUBHsEgwK4A3cHfwjHAqEQtAFmCcEgnQzLQHsFrRKLAasGnSp5DUEFmQamAtIEeRXEBHkL4BuJBjonrxjlCWAqqQebCpAF0kGVCtYQwwfHFbAT0E7SBCNQyDjqB20DcwFmImsQ0g/GDX8BTxW0MaYdrQxYCcgGnxClAq4TaCNvFZ4BowTnAdcaJwroF+gCagOUDskE6gLOBZgj0AauBOUfcwWMC2sDcAmMGWkEbBF+DnYOcAzGEHEHvAFkAasByghxEK0Lnw4oNoMRYBnKCt4eJxOLBXIMaQJsBnAJqRfHAqIHhRRWSewC0wTLCGEacQbgDJIK0wJQBdQBognfAcgLmgSICIQCgwKQBHsBdgZ7D2MI7DLSDNsEzwyHGMEfsgPEBtARPw7rJMw","kgF5hQfmZHU","gwGn1ASw","wQKR","uQU5","oRHs","khBa","ADAFcgG0AUIGRwSpIIAFdwG0EMMbqQiUDS0VYh5lEpgKRDRFP2YCnQVqUzUEZzGiCJ0LQizAApsOoAFDHlY/zRJNEpYBmgs+GKgIcQdLCVEYpg5uB6ESOQFjDqYHeANqYs0yows6GpgEpAuNAZMlNwSLCEwU0wHRBogCkQKbA58WpAJKAuIGpw2JMpkNPhjPCJcGpgmaBaAQpAfeLC8s0B3SAdACXBa9A3cEmSDCA8AKlhujGagDhBlrA2sHpCVxKkojfCWdBjoNzQKbD2wakALICIMCRgKdB88HlAGbDpcwrQKqHaIknCSgCqMkmhDGM3IDmyLLAWsElQ","2wFAiwYyWdXGBpZ1jA","jQOtO6JkqZUDo9UEpIQBd2hDeJcVpw","3AlF","3AlF","lwHA","ADARzxFsBVwbvRTKCPgLcxFoEL4G0xxHDFcZoAiwE+YaokvdBfIIdi38FlQdbS9LFi1lo0rxIc0VexCMA24H8WHpBsYq6xr0AvIfNQnaGmoP5AHbEPFewA3LBr0CvgPHCfQBoCcxHecFjQHhBHwvcAHyAdgCMwaIF5NWng5gOMYSOwLdN94HmROZE6MS9RCkDKQJUAVRArwL9QG6DysFegHIC7oSjwuLLeMKbg0oEUgVkAWbAjQILxQyIfEBngndAdwZ0xd6Ib4Lzgf2HawKmgpCEKUchBSvOKsR5AG8U0I","7AF5","iwN5","3wl8owXXAdQ","XumtAuc","sgWC","iwN5","0QKF","rQfKAuKmAs8","1Qmo","1QnD","7AGUarysA4rZA38","kAlc","nA/L","yAa/AbA","DOAHMxI9DEw9XQq/cLhj60e7mAH4eqsu5mukHXRSoJkB2wfRMH8VKyRmILlQ737jlAGIvAKXEbQ2RWEr","ogXc1Qjw","+xHE","pQTE","uAmf","tBCe","9w3X","+AnB","kwGvL9E3jByxPk8RXZ8CkPoB0ERLA8xCQQlUWelIibACjDZOMUcI5ZsBiUKADlEtcgY3HEcOSwRL0wKj","wgGr","ogXX","nQHKEUiMAT7bAmCcCKuPAUuVA9Y","T+wB6OwLPQ","T7UBzoQJS48BUOQEoCPdpALt","T1A","OesB3AnTE0UXQgyIHL8YQxceAYoL5SZCZkgE1SylNKMO6QOrJLg72Ra8LUMXuRt9BNoWu1G+LbomaRBKBGUFuDVrAY8BvAFBD7kU7AS8B+ABSCPVYOcbvAXpBMgFuRPmDMsc6Qc8BqIP5AxJA21owgbCIsoD7wZyBEIT7gfZCd8E5wd0Dd813hrvAdkfwAFFEoUV1QHsCk0p2QO5DmBh1hA8KuwB5wSfDrEr1G3KI0YRvK0B3QeuRMs","X0YEQyZFB0EHSw9EBJ4IQwGSDUIaSBJQAZ0NRUl7GUgJRA8/GEdCTxxIhwFLTkeEAUx5SgZJB04BRhlIC0GTAUwZmQikCEoERxlHM0QTYYMBQzFPCE8OQhRKGEciclWaJ0QBdxBGD1UBTQNPEboQWEU8CT0FPgdLJ0kBRRZCC0cdVg5JGG0Lbz9LCkgCSwdFBEEPOQ","uQyZ","pAWa6AXE","FYADqARzFrkV0wGHDVgKRjSEAUAPxwd+B08CoAe9CToBPA9HBJ4CSwHYBaMHjQ08A6oExTs7ATgN2g49BasGogM5BqQPqAI/BpsgTAeHBpkkPQ1rKKsBqySqDToCkSmyA38fRzFNNZQIRTNCIaFiRQJIFbEFrwOvD2QOQgS1B4UCpQxIDEEhRB+nGzMfTBGdIXcFowE+D2MKSAZHBK8FnhqLAkoGRgulBZ4EQwGRBacHmA/LJJoDNQWjEHUZRAOoBbEERTJHCpcELwWxGKAUSA5IA7IBTgZEA0MSrQdRBKEBRQGmBkgBTQFIAUcItxVKClEFSQhRA0MKnBnMAboRbiJtAUwCRgdSBDwDrBJEBc8ESA2bE0QCQgg8EZwHRANzEDoRSQisAawFShrGB0sFjBI8CZsMwgTBBrcBRwq6A3QFQCFHAcEEcgWoCEYQsAeZAa4GSQykA1UVdg","9wyu","9AGx5wHmAdw","9AGx","ygf4","0QuJ","DW8v7QHnEGVeqA3tBfQJym1KHaAVoTVfjQE1NEsWqFHddDF8jyBr+AFNMzIxbFkpSNY/oVU/ATgzP64CpNMCQg","jwEpE/Q","ogHr","jwEp","sAlJ","BJMEQANXBNUCmAKoEkcKqRC9EbMCVARgCKIBYgSVBkgErwSQAa0EoQFHBa0BowqaBIoBOgJYBI0BNwNBAmkCegOVBVECSgJEBJ4BOwIuA3gBrgFIBUACLANBBEAHnAUsDH8UpA5BHGYfQAFuBEIBhgsrC1QCUgawASwDbQZPE0IQpAVOApgLggSmB4sDSQJJAUMZSQUwAU0QxAZmCjAWzCpRBKkIeASpCZ0DcAOuCLwMpAKcAqgBtQFmB6QFTwPOD08CtwMqHTsDmgI0DsMOswHDJU8GSgpVHscPSwGiA5EK0QNAEaULiRfQBZMJqRxMA6MPlgRnCEUBnw5TA5UFKQymA3IEQwPUBU4BWgFaApEHygGaBYICjRBNAUceLwTFAssDORKfCXgNWgGyAbsCsgSRAs0BTQuxFD0GTgFEBcoIUAOyApwBvQHBAqYGrQZSAWgBmAF7G00JywR1AlcBTAVpA1IFLQFGDYMBqwaLBJkCQQOtF1cCkQKoBi0BpQSMBC8DoQNwAXcEdwF1CpYQfAMoAUsKywetAtADPQJ1EGoIoAlSAaYKXwPVBqgGwgGGBYcJxgF+BU0BSAFHA0oGUwNGAkUCRAEuAU0ByAJ7EMQDYQNUBD0CpQJABeUCcAN4Bz4LRQpRFW8BnwlUAkUGUAVNAbEJUBSdCa8BRgFNA6gCRAZ6Ai0CUQ6tCZ8BMgGbAS0BTQFlAZ8BdARUAWsDqAumBHoZMgxQAZcLlghGAkUIQQFQCacEtAtBBsoBOAJOA3cRoAF3DSEHSwE0Aj4DgQKbAlQBMgtMAVIBSgFHCpEFjgGrAqIDTw1FAkgDSARgAqYBVAFHAUEFmgFJAiYBMgHAA3sCbgNBCngBxgGpBiYGrAGXAm8BcwFLBkABOQbCAnECRRBHD14ByQJqFZAKSQbECKgBqAIrATwPTAW8CaoFSwFUA3EEcQPLCawBrwGsFrcB4FOyVao","+AzP","PIABvoUPHNYC6A","qwFf","Now","pQE7KZ8dxkqb1wKY2QQiKJVtMI0BMKoBpCXmXiDkAYQBf0eC","GWqfAaftB/g","pQk8","1gn3","VdI","2w4z","uQHqrwre","ADAEfAtRA4sBb1nFBn4FcAN8BbVFwTIsSaCAAWAbNjuXnQGBtQG/NMMnngd/MUiHAUwSo0+8A9UGrAKkQm4jfGqjLb8RxwRYTNs0QgjGFcIuzTWBBXQNbwTBAoINaTGFKygxsCCjGF4prAOYE5sKQRSCFkciuSBIO1A","ygzZ","xAE2","6ANw","hg3G","c5nMAXtbawJ59QTKNSioAigtmSqjmATHaXo","hw3M","ggow","qgO0KfQ","ogX20wvg","9RDg","hw3F","mhE9","owX4","yQj6","yQjr","Pp2ZA60X4w","jgG5kQdN9AhAU0kbRxNG","cWgOvVRn7wE2rQJ38gEetQKnBntdbFt1BH0ZsECmcU8bRQiw+QFZDqU0R8IBfTLe","4Qce","A7kfPgGGAX8CxwI0CrkE+QdoCUoBxwGHK1gIQSk0Dq4B6gU8BYcDQAbhDFIBsQRpCNgHdAJHBJQG4gP2BdoE8Q7RHToGTAHqAu0OqgObA70LYAJ6Ae0HzgrcBOcKmwEkDJYCShHcFH4BpAmkCOc4sQPVCU0EUwLUDVgQ2AJFBfYE5BWGAZ0cMAOOG/AEqAWhDN4MzwNnAzcBMgE9DccE0gZuBpcD1hHxAewD9AGgB6wGRwiZC8MI8AhtIZsK2wPcD8gQ3wTtAfICzQHxI5IMvgTkCi8CngfQEdgGKAaeAT8B8QXgA9QGKgFyBc8Msg3WBMYZyAXOCYUBwwTXCasJqROcAl0BWAl+AT4ESw7iCFwF3wHaAq8LxwWCDc8JSwqlA4oCmQkhAZQC7xlVDKYdnAJvF30F5gMjFckJJgJACesLfQGIAzsBQwyxAZAH0QMnAvMMwgMwCboBiQWlAXoFpAR1AS8X5weQASsIqgamAukB3AGACK8DmwHiAuQE1BR3CKEBUwY4CckFUQ1rFKgUggFsAlAFpgfIA2wJ6gTrBFMCnRPbBtwG1iCdAZERpQPjAdsD0QVMAooUSQPzC18CkggnCSUGvAGrBd4OmwpkAvUIMQN2BZUB5gIvCogPmwnUB30BMwfbCLYupwUwC6QFVgaPCG0H5QhABdEK2yq6BNsFGwVMAe4B9g2UArkP5wRxD4EDTRZHCYkGtwj1AoAX5gXgBUMCOgjoBkQcbAGPA9wX6QGPDYUBQgfXCcQFRgZsDUk","6wp5","Nta1Cnk","0wug","0wuX","0wvW","6wp9","qwSt","vQxl","6woo","yQfg","8hDg","xgGc","NqGvAntMpKsD7Y8Eu1mY7QOP","1gXDJMM","/gHgxgXoCMs","Nn8","ngi1","1ALf","+wTX","+wTE","sALW","3BHV","9QHkBanqBbKhCJ7XAdU","9QHeoApr","5gF0","pQG7R6Q","igaa","fK0TvhZllgFQXpADjgVUCrRYlxNdHlEqy3On2AGFCY8dQYoB2QWsAs1LQwroA0dTXih3jgFPS1o18FDJDc9M2RdcDacJuhC6U0sGibwCQA4/","jwGq","jwF5","swVLqwNLxwJQiwFLuATG","I6McfjQ1FifqAWsNMCOcKzxly0wrxAEuNDVuniFHZZ4spnotqAEyDyUXmj1KHJNesAJ+A3ARzwFcATIPmCl5ECUgmRZaAqJNRSukHVoBoyV3ECdFprUB8Q","eqCvCDmbBms","owOnrwUoxAWQ","nw+fB8MhYg","ZU/0B01+ogs8IYofOIcBSwO4BTIpkr4CRzGfGEU","BvAK8QOmDz4bbDdsO2cFPwxAA/NKWBXZE2AhjFU8A+kwQAM6CFYoyAhBLuocXS+vGVoHTW9jVqkDTZkBmz8oRUcLsUq8BklX2w1vY7EIphhRAtgx8QHUCt5t8CvnM55gRwFES0MoRkihHc86OzrsNpE","Bsg","wwHy","Bqo","K0l3p+4GwZgE2LoDtQ","GPMMTT9iX6tzYGSmpwFIAUwaZckEpwWOPK2MAkbNAk1VQAxGBqERRgKv","GL8","vA/a","vA+J","vA+j","yA/V","yA+I","tAzU","pgNj","qQTL","1Qim","2wFg8wF4zwIwAiuTAY8poqoDnnI7owNl","BJcPqA5uD0ABgAJJGUYFHAJQAVoOqRB+AX0fbwtKCkAHSAtIAmAXRDVGDz4VgQ2nAT8GoBGtBEooRR3OCFAFSQaKKz4GdRJ6Q8wLkxKuUE0Fmhx6EacBbJYB0i1ICs4gSyVCLMEWUwu9EEgEQihCFr8ssgVxJKUEwgSeDD0QSgdfLyEGaFJRBEI/SCBJNawXQytKB0oLmxVTFZ0qTQ1FAYAVQxE9Em8pSwZuQbUDSA1IFDwPpgeFBCMGIwZJMy4TkgF9AqkYcqQBiA","sgSx","5wX0","5wWz","jgHNhQJ5qwG7JvMp1eMC8gj5/wFf6ANzduM","8AfPCM8","xQsk","9wKC","7Qgq","twFkPGKEA80tr+EDm54CRQ","ow6C","pw+w","kwRHjwFIEUs","nAyM","hwHhIGIQZC/ezgO6BaIMyZYFcyi6twE12AEopQFDmgG3","wAWr","0RC3","pgn4","akE","0xBI","xAGWswHoY1k","xAGWswHoY3I","vAtw","6Auh","hQbFjAvU","T3gBNZgGo+IBXA","N3e4BUWRAyE","1g72","1g5y","1g4q","yghc","lgyO","kg/4","kg8y","2hCY","nwuu","ohD0","xAHu","ohDI","ohCw","2Anr","2Amy","2Amy","2Anl","2Am7","qwz4","qwyr","qwyr","qwyA","gwTl","mQOnqwqzwQGW","mwH6xQbr","pAlU","gAGmFkKEDJ92IA","1w70","7wix","ogGnAXtSjKcCSgqaBG13peAHih1qoAGfBT7vAm0","LUE/1DanjgOq4AHoGszGAt6FASqKAZbYAigzz0CwVZpQ3w","M+/LAmyFCL4B4w","M+0","Ee/rAaDdBWZKt0J5qgFdAVDcAcCJAWk","mwGo","ywfC","yweI","QYsYwcMEyg/PAt0Cqo8DfT/DpAI5IZZdn/gBaW6ASavUAsE","AG4B0gE4ApkBaAHeAWkByAicA0IBwwGzAToBegFTA7oEiwF2ATUCLQE8A4ABsASwBecEtgOIAZsHQgLZAYcC5gRYBdIDHAR+CbMBYgV5DZkFugJ2AiUBiAMzC3cCmgR5BKMBkwGoAWYGmQWWBbYBHwudA30CLAE/AW0BswKYAckDQgMmA1UIZgRECrMBowTYAdMNcQXXBq8HogSnDHQJ7wF6A7QE7QK9COUGnwPCAbkDQwSsAkYEMQKtCsIHqwHADTkDfAK7AmkB7AKkGKQErQHZBKUF5gHLAvICpwGiCKkEnwHOAcYBPgdmA1YB5wKVAYgBsAHbAdABngGaA2ABvA9NA6kJywHPApUBlgFWBdAIdAh0BK0JbAFNAtAGrwG1AcQB5wHYAecDcwPiAaAEyweIAs8CswW1AucGpQORBY0C1hnNCW0BZAJaDccF3AuiBSoBZAPOAZ0IbQebAtcCrAGsByEH2wHLAesC4ALrAp4C8wRABWoEsQFnAzgJdQG5A2MQjgWmArgFowLTIcsDswFzA8oI2QFCA0cJfAFyIaUF5gOgApcE4Qh8ApkFxwGfFaQKXwfWBXwByga8AZcKpQKCCKgGdQGxAtUIzwE3AvYBRgGIDeMBugSCA3sBOQRKAb8DbQKUCVoEwQjJAmYBoAGhCcoFoQGCAtQBmgLsAdoCuwJXBeYCyAOkAc8C0APSBLsHugPFAawGowOUBnAMdAl9AUoC0AXYA9MCSALCAWUDawSVAUMBVgLUBGcDTQTCA6sIRgF6BtoD1AbrApMHyAnXCuYCyQHHA+gDlQFHA5gEyQacAYcBvwU7AUECawSYBKUQpQHSAXUCuQEjApkBtAEcA40E3QSbAlgHrwFjAx4BmgFCAcAIwwt0ArECcgROAb8FnAOSAegBcQnRBcwFwgGPE4wGMQPoArMCYwJ2AacBcQFsBq4GdwG+A7sCtQUqAikEuwK+A9IGOQLABEUCzAHaBtsBngvCBLQCcgZIASUCoQNPA3cFuwGeDJICyQY8BKYBJgRQBdsC7AGJAbkBmQGuCrEElwyNBbgB5QLWBJsB3wR2B08OLwEvBCUFshs4B70BeQWvAUsBIQF5AZ8OsgVbA9kBzwF9An8GPAiUAUoCnQGqBHoK0wSgBl8IYwSpBM0IaQVtD2oCqgZxCGsDhgPhAjcDOQF/BGUCRwFWAWEBVgE0AmADWAVcBOkCJgSBCysFhAIhBVcDmwrOFKUCQgHhBNcVQgtuBtEB5QGmBN4JgAi7BJ8CTwLDAqgCqQJyB78BJQZkCcoCRQNpAkcCJQJ6ATkEPAW8CIAE9QGNFGwCpQToA1oBkAFKCRsDuwIsAyUBxwFrBnIBagPaBI4CnwOlAkkIqwtjA6cBOQKpA6gBiAHkAYABVgGAAdYGvgWzFdAEngFEH5AIowVGCbUFmwpKAaMDsgU+HHwK6gqxCXAMSQOXHFgDNg","hA+y","EqMCewPNO7EDWAK/WJ8HpRzcCEg4WCifB5kCUiGuE58snCorNVmwAZ+cAZcaXy+bep8WRBmNNNgfowacGkkzngppK6eLASoskSVNB8UFQjuaF3xWqkY0Fe4dngiUWzANnBQ1D3EInA9HA5kW5hskFJg","6A6O","FHs","oQaj","ihAb","vQnhCZU","6wil","+wvsAV4","oQl0","2g5D","ig/S","OZuBAXuhCDs","ugGVnAFG","hgmt","Qm4","lgFmowKnAaw","4xG8","4xG8","4xG8","4xG8","6AiXQkr1AqM","6wic","6whx","nwyr","vQKs","oQZB","oQaz","fE+tCEM","pAmnxAF/","AEkMsxmLMLo2ugG3J38lWXi6iwLBXrlA1rID3L0BuokBuaIDvAZCBqsZ0Sa6PcAWuw","qwm3","owUygAVn","swF/","tAI8pAQs2wLLJiy5BUYodhJQASI","Ls4IhwVOE1MGWgG6DtEHoQxGBk8PuSCgAScEoAmrA5gIpROSG5EDQiGSHZ4TQlt3A0kaPDA6DqkwtCNFDL0NRhxDIlECmymnbKRBjhekV6cgyx9/K6UldQGTF6MGSQKkAaYIpwirB6gO0w6kDaAEqgw9GCcrkzl/EDABuhu+AZkNpy5LDa8CSRaiGp8YSwJIEJ0HRB+nBJ0RqiZyEUkMcQFxAXEBcR2rCKweqxg/A5MqtSWjHsYUcwuqA6kRewKuCq4JohG/AZoP2g+wBCREsg+gAkuWAUYBRA","Llw","Llw","jwKzes0","iQOj","NnE","lAWljQxH","8gawDLA","CHoHNgOjEIkLaR52FGIjaAGdKqIEnwpzF6gwoghXGmcMeQGvEGIBnwiuBjEFcw+XB80BSwKbBS4CfxqOBtMlngVnDpoO0g0wBGwlnAVZA6ABYQFtApIELAGIA7MSsQt6ErAgnBCSA5cHZwTNBs8JbA2SEaoNogWnA28VawpqBqUCbhlZAUoEywRmDcwPahKpA20CoAhOD88RdwV0BcwUaVBpBKQJpQ5uBKENlghYCVsELQa3AqQG0AFyA5sEXQIpGiEFrAqsBigDUgOmAmEUlw60BSoMcQ9oG1YBdQQyAqEEKAYtBssDhgarBF8CpA3QA5oRQgubAZ0NUgV1AT8CnwOSApsIWgNjGR0KowVcA6IK0Q6WA6cIQAKZAmshkwRyBmYaRxpUA3sYQQO4DKIBSwtsDm0JXxKrQWEEKAwxB3oZIiyhEJYBYQR6A60BJQGXAZUBXAKeDmQCNAykKEMEQQKWAbsKbgM1D6ACKB9SEM8OYAKsBb4JcA+/FqIFYAEmAV0BawZaAp4KKgSJBMQEfgrTDcwGzg1+BKwBnwSXBJUfuAGkFjtAnl5V","CFEJzwJpASgBmgKoArYBfAazBqkBywM0ClYSlRAzBNMOYwI1Cs0CXwFsA0ABLAJtAm8BkgVKEIECywF8AkELRQdHAUwFlwPICMkB2QJWAucHhgl/A0AESgaxCI0FrAFuBoACQwEsAYMDVw+4AVcHVgGvAbQIpQeFAmcIegOlBEQCQAjSBJIFTgGBA4YCggFqCmkGhAdFAb4PJBiUBVsGYwTHAYwGSgFlAisGcAZwDdYKdhI2FuYBfgZzBCAFdA5xF28FyAs7AZcJmgJwAmgFygF2DiUEMgTDAakBtQ2AA8YCeQwrBGwBjgxhBnkINAG/AekDgQEhAcMByRlHAioBWwurHn0BcQJKAV4JVQGkApkZWQZjAa4GnxZkGoMHfQdoDUYBix9mCkEIVBPDAaAGdRBHAusKfwufBS4KfwRoAZkaaQGaF7gCLQd7BV4OwQHHAYQBhgOjAlgHdhJlBLEFTQOKGE4LKwZ3AXAHJQXrAWID0QJdAVwEkgJsAzsDdgGFAV0KYgSwAVQBdQewBmYCUAxkB2YBkQZZBYsEPQGqAxwDfgVkBkoFkAboAqMC0QR9AX8CqAGpBHgBZg5MAkAKdwFzAXsBdQm9AlwTSwKfBbgCzAuYAW0JsgG6A14DQwGoD4wNbwFNE9MDUwJSAbgEmAHEBMkBbgNwAWABvAE4BEsBUQG4AXkBwApHBywCPAVCAboBYgRxFsgD0A1OAXsCYAFLAU0BMQMvBWoDiwFKAk4BhQI1AVUCVwFYAVEGVgN1Ad4BoQy1CncH8gPAAiUFaAFgAkYBdANQAngGJgGhBakEWhl9AmMT1gHDAT4KIgFaA1UEwAFmAmYDUx6FBIkIZwJgBhkEhQlnAnEEjQNaA7gFugVNAVYCZQHKAVoBSwHAAXkCpAFsAZ0CQwLFA64BOQNFA0YBWAFVAs0EVAFvAioEnwFkCWMCbAEqAkoBcQ2lCX0Mggm0CtADcgVMBGsC2AJpDXgBVgRJBMQC5Ak/A7UBWgGTAjMKaAhxA3kHjgd1DksCRgevB2gBPgNrB5kBJAJMAlYLKAGCBFACSQInBG4KwwODA8EGhgFJCWoDWQlHFDwP0AJVAakETQNhI6gJSgM/AUMDcAdjQnQ","3wQr","gBFV","qgxq","mAEq","0gEm","mwlCc1c","pgGj","K0kMdyhiLEIQdQyiEoEHQhOcDGP4AS8OzTRgGqIOTZQBvQaVDYX+AZgpgxYvROQaax6lA6dyviIzAjVuL/QBmQNG1gHIMCoGdGAqMycGdFhGQUw","6Qjd","6Qio","mALmA+CrBkAT9A","G2FDgldGgAE7CkYRTlep/wJFxQJIOHMmsE5HnAIxugFDC3I","qQK+","qQKh","B0IwVlacE8Yh9AOQFutR8nSkAWtzphAtswHTGegkxXm1Aq4qoyfaCrWXAToLxTQ0EsYLWA3hAs0rWAWxjQGyH6oCqg+rHTgHeA3xC4YMlguuU4EjTQGHGdgKKxXFDbgWqQPvBOAxRgzNAekueRVcDKMguFxMD6xsYTPpAmMC6wL2AvkIbQPyItwQxw","7wUhsQZL","oAwr","wg7p","8BHI","qwJU","8BGj","wQGs","2gHJlQR36QWP4wEjRdG/A9AC5ALgC+Q","TKGOAbdRjb4FKZYBoaEDqN0BGbQBj9cBqzU+Ak4x6Q3A","oQ1W","JDwzzkuzWsIdckBFHWQB1CwrhwHNKeAKMAW1Q0gRhxRPkQGfH8QvtDwqApEGSQ1uE01JiAszMHVvfSDQCTHQAYQVNRKpGDsCNT9RFadRkIwBNQFrIjcRRRswGDcQIEmhEkkKRQ2gCEsPSCw6BkgLPDJJHds","Ab4FtwG8A8wBnAPMA8QDSwJ1A7oBfwGoAX4BagKHBp0EwAO+B9QIwAPjAt8P3AKxAlwEVALRBKMGUwufAVAJrALGE54DpgKWA3QM3wN4BscBowOICKUDygKMBMENRgV6G7MqPhNKCpkBdwbMAX4CzwLSFboFtwG8AnUB6gSlApAZlgG7HMsBogfNAnIB5AfHAa0QmgPtD8AP0wLUCbcCSBlNKXsI4gt0I78H5QHcA8UBixTEH6sFTwSmOcsB3ARyEeoG4AjQE60WZi3iI7QDmgywBqABgwF3B7gLyhC3Eu4ErwG9AYgJxAKrAncMxAK4AT0HtgPwPakDtQneBYYBKATOAaILxlSuAsME0gJOHrYBSAiiAqkFaRNCF7UB3BTkAYoYTgGBEbIJywK9GLUB0hrNBnICcgGxBq4Eaga2AY8DsBRzBsAESgOnAeUFMQnVAbUH6gbYCKwCswhrAqoZ5QJ2C7ocoAHTGuMLSAWuDOIGrgfkCyoDwRalAdAoeh2JBLICxAmpCbsFpAJdCNYJsh9KCbwHxwSqCrAXtAFGBbIBhwJHBswEmgLEB6sMPR4lBzYCRQScCDMNbgGcBYEJhCtuAkwF7wR0AVoh0gPQB+QEvwjeBnSxAU0DcQ","vwPm","wAjC","QHw","6w1v","ADADkQGTAosB2gFRAY4BUAKSAUcBswE2AssCwgNUAoIDwwJ6AccCuAWxA2gCmgGsAuEB1wFEAqsDewHcAX8B3QR+B4IESgTnBKsBaQHYAbwCUAOPCMwBSwGwAsYB0gWwAtMC4QHiApoCKgFCAbMCQwHkBGUB0QG9ASYGjATLAtsCrwWfArkBRwGjAqsBqwGzAb4BegFCAeIB5QKjAqgDRwLiAksBQgG1AZMBJwK1A58BxQGSAekB4ALAAZsCqQFzAaQBsAHQAqEB5AFBATwBzQO4AZIEiAGkAeQDrQLJAs8BPANxArsB5grSAWEBRASkAX8G6AKcAd0ElgtYBk8EqwOvBL8TxwLpAeIBpQa5AaoCSAHGAZwBugHnAc8FhwGtBdkHjwOxBGsCngOiAWwCjQFEAaEBSAJrApMBlwErCHoHggKXBqQE8AakAtQESwG4C0sCogGyAtYHlQHYAasCiQNZAp0BlgFwD30C4QKRBa0BdgWiAVEEqQM0As8B7gWsAXUItgGwAcQCcQOyAbIN1QFoBp4BihKxB8kMogTgB8wBigHfAa4CrAdJAb4BxgOMA5YHpgHHCOwEmwKoAqgB2AHyAZUFxAG0BaMByAPPAtsDcAuYA+EPtwxnAaQCvQGjAbwBmQGwA0wK0gGUAqADqwfCAdoCgAbLCOgBggE2CMQEuwOjA8sDzAG6BSwB3QO6ATcGTgKUAdMIegOsDc0IgAlHAdMDYg1ABGMRqQKbAeoErAZvArEKUQSjBMkB8AG+AYQCnwbhA9QGPxPqAoUBlQHYAZ4DngHwAS8BpweRArwB0QpLAscLvAFoAuYBsQHBBLEBhgHGAagD2QG5Ab8BzAHwApkCWgHkBLIBtQK6AcoC1gHgAU4CqgHZBtoBvQGuAd0FjgbLBKwEtQWzCIMBYwOdBrMMrgF5AuEDzgLGAkMEwwHUBtADyAGFArwB5wXFAeAC2gGcAcwBqwrTAfEHrAJuAuQEnQRGAecBSwLbA8kLmQKvAuEBtAGpBMsBogHtApcGxwGdApgB8wNHApkBmQO9Aq0EwwJyAXoClAO9BNYBywHJAdMB0QFOA80BuQdsCNIB7gLaAdAEuQHcAZ0DtQXgAWgC0QOfAeEEqQKeBtIBUQW6Ac4EXwKBAUQC2QHTAr0D8AFHBtUBtQHRAqUBcAPOAc0B0QF4A0cCjAHwAbQBKQGXBqUBygLMAs0B8gNtA9UDmwFZASgD5wG1AXgBxQKRAnAC2wJgA+ADsQIzBuQCVAKTAX0BmgOmAbEDpwbMAbACnwJJAbYCyAHGAaoBxwZ9BUYDtQbhA1kBwQOrAdEB5QO5AVMBcgGfA6gBpgG5BHMBxAGCAbsErQLFAqUCdwHiBXwBxQFPAb0BxAStA08BcwIrA3YCvwGUAVkCywGuAewBxwHPArMDXgHZArMBUAGaAZ4BsgG8ASYBvQLWBK8CygNHAbUBfAXUAtECggJpAXIBpQHzAVcBkgHLAUwBmwHQA8YC6gPrAVIC2AGqAWMBSAKBAV8EywGhAdwDqAZ0AdoBVALnA0cBpgGNAccDmwKrBEMBoAFiAeMCwAEgAXUBoQS0AsgBdgTAAesB8AKMAa8BlwJABOwEpAE2AWIBqArQBMQBlALlAW8BiQR5AckC2QFFAXgB6wGvAcoBzgKQAbACmwG2AkwBRwKmAdUBwQFeAZcGygKcAq4BkQLGAbkBZAW0At4BugKqAaoByAGmATIBlgHMAXoBhgGxAUgIjgGtAVwFugGgCMsCxAHbA+IEgQXkAXwBIgkrAcsBuAE3BkIBUgLWAjwDwgHjBCECqQiyAXECqgZgAfEBwQFAAaEBbARHB5sChgF+AWsDxQG+AYgBqwI8AdwDhAKpBIEBYAG3AfUCswPoApoCmwIvAegBaQHmAXMBnQHgAqgByAHKAtgBiwGjAfAB0wE+AqIDaQFuAb8BaAO0BscBbAGnAp4BygIzArAG1QPIAT4ByAGFAscBwQHXATUBoAHxBMoBcQGqBJkCzAG0AcUBZwLJAdkBMAHfAdcC0QGWATEB1ASqAp0B2QFTAYkF6AGVAb4BQQHkCDwCrAFsBMkB3QF9Ar0B7wHRBd0B7AE2AtICbwGSATsBtQRBAlABtAFdAUABrQGIAqwBrQHiAp4BeQO+AX8ErQOEAoQBYAPjBqoBvAKVBJ0BowY1A+ME0gPuBrUBuAPtAUACwAIsAogBRgFIAdABnwG4AWwB6QHpAlMBmQTGAocCxAKhAbUDnAGsAUoBQQOYAYwEnwhcAegB8wRWAcMBxgHpAmEBqAHrBnAClQPqAUsCggLMELcDuBD1B+sCzwyHC+YJrQTnAd0F6AGdIKgSPwPVC8UN3hWqCZ8FpwM2","1wdc","nAdv","4ggv","jgGsB0DGA1NLa6gBJ24oMn8ZLeUCylnsLDYFh6IC2B48IjUZn64BjTbc","nAfi","wQFR","/g7N","/g65","2gZ0","7w+d","4gcn","tAF9","/w3u","AKIBMQZCAo4C0QTeAt8F3QahAWoD9QFuAscEugH4AjAF8wo+AaQF9ALtAacCtQE9BOQDRgbmBPEEfQLDBFAC5Qb2AekE9gbiAWwB8QHzAfID5gHKBKwIxALYA34DuAGYA30CsAUqAbkCNgW4A7gBrQbSAe0BdAHEAuwDlg/tBNcD1AefBGIE9wL3AdUDYwfMAc0G7wmXG4UF7xBoCe4GhQTfAdUDLwLqAeID2gqMBo0D3QMtAakE8QHpC5gJ9QNCCvQL3BFfAcQEbwHgBNIBwgHqAcACcCOxAvQNuwHWHi8GswGxEHoUNQHNBGUE5AaZAmQH1QLZA3ADrgjXDvcL+AXyBpMMKwK+A1kGsxWaAaQCrQHIAusE4AniAbkMLwHyBtkN4hRfC3YG9QEnArgVZgYrB8cCqgKNAXEhYQRjDrEEpwrPCfcBNQaDBPcJ4x3vAacJ9QrIA/UIKAT0AbQDKQOzAfcC6gOuAdoD1gGaAtID9gTxA6wCUgL1AbACKgkvBGsClwfQCaIClwHSA9MC5gGtAcgXTxJrCvAG0AKMD+YGrQT2CpQB7wHrEO4HkQHqAfgDvgfrA60DLgJwBMQC5AOTA+cExAFdAksB0AH1AfMBdgf0EI8B7AL0At8E6gbWAfgD8QG1BO8FTQGrAfUK6wLTCKsDfAW/B9QBtQPgAd8DbQTMAXUBkQHuAaEBlANhBpEFNgSPA+wb0hPSEFIJ8QTyB7cB0gPXAeYC8AMpA8MB0gGUAssBwgHGBekBcwLXBn0DZAGbAbsBzBGjAvAC3AHXAu0B9AEnBpMD3AKkBZ8H8ASUAu4CpgGgB8YC0gXaAYABUgEnAeYMxwPXAoMCtwegAcYDKgTVBqQB4QR1AVYF9gLHArIC7gPBCOMEPQIgAS8D3gHWA3YC3QesBt8LtALoAdsB3QHvCGoB9QLeAfQDLALkA6wCmwLIAqcB0gHCCcwCtAJSBkEC+QLiAYYCuwFzAsADTQGvAfAJMQHzBCoB9gHoBPQC8wbnC6kBiwJjBt0QpQKCAasPnAN8CeMJpgS1BXED6wGiA3QB9wV0BsAB2QRwAfMC2gGsAe0DMALQAfMCvQHMAYIB1AEhAuICOANvAdEBRQTnDuIBwwHYD24CgQFvAtgCdgEuBTEE6gGyAdgB3QFXBMMB3gEwATwFfgGoBs4BlgHeBegB3wHbAeABMAFHCLYE9QNGAecH9AHKCEoH2wG8BY4H4QRxBWwQawejCWsHtAGABz4KJQR3AfQH0gJ5AigCwQPFAzcCJwEoA5UJqgqUA/VWbjOI","wAXr","REFFoVN2ywKqNkL8AapooxPFUaOTAcVdMDVUD6bJAk4BSxxMxQFHBoYHJqABNg","1A9x","gQ1a","+Qzo","8A4uCy8","zQ1jBt0","vgwg","2wGs2QXcDObRAcUmxRmzB9iMA7YL7gOQJfAXXPsB7w","uQJyAZU","mA85","jgtl","jQp0","uA69","KLM","ID1Ih/oLzg","DzY","gAPW","6ATW","KMY","4gzO","KIo","+Qz2ONIB5wHj","sQ1/","sQ1/","+Qx1","+Qx1","aHE","1wfGC7noAcU","2gJ/","2gJ/","7Aat","d3A","Vpw","lQqX","4wbP","zwSS","d3A","IM4J8gaqEIIC0xW0CO8KrQ6mFPIYrA/fKO8Uphn0IM8J2BHUHsMBwxTdGOcdZTadigFsIMQ+RSLNEMKlAc4QxgKYEZgI3QZqFZ8u0AHvL40PzBKhDeYY7x7OCZsB3whNH0IE1QWzKktdLBQwH4kGgGDIcvcF4QvYDLMg3hnpAu4vxApcNyUysQ7MO/YK1yLFB/MO1SPqL78L7KMB5Q","0Ah2","9BHj","7whn","9grx","QY40uTytKMyyAdy/BNT+AX2+AcMTg5QCxh04zQJz","yAm+","VsnZCHE3ibAEyg","zwTM","wQjK","nQeJpAGJ","mQ/bC6c","lgLY","8Qzs","wQvt","8QyB","7Abs","wQjA","wQiJ","rQ2D","8AmN","7gh1","9Q0l","rQ2D","tg6m","rwqL","rwpa","9gzY","1wmq","sw9+","sw/t","wwJ7wwat","sw9+","mw7I","8AyK","yg04","rA7v","7QFM8AKf","sg3p","vA8r","sQeM3QJx","gAPE","2wGY","2wG0","2wFw","+w4v","rwnt","qQWD","ohAo","jAjc","6wup","bZQ","oAXG","3AGx","1weV","rwKSRI8","sA7A","1wnk","sA7A","3gKGvQvK","Vos","c5k","xgWN","mw7o","KNcH1pAC5iDlcc0Nu5AB75MC3OIB89cCUMABrDrf","KMY","rg6E","sw1i","0Ale","kAGYqQHKAZ0","uQJyAWk","gwzP","4wy2","ID0","rgl9","2Q9s","3gKG","aNY","7QHf","yAza","IHA","uQ3P","dsM","2A7DAdI","2Q57","2wFw","khAl","M0k5nwOYBkMHrSNBDMIMQwqgT80rqCZDNzQEjjE9kgFJDj4BkDVTILhMti/QRYgB0A9QApAQok9DVlwOVQPjEU8XfSCTUEIMPjiWJc4yaQZIFLsYTwRKEkYhjwxHP0dNrwg/SFIwsAQ6LKMaQhBMQ0oDggVJE0cIcA3MA5oKmDiKJEUBRg87oQGy","uAGwhQNa9QXjogfW","lQt0","EfU","EdI","6wic","A38IVwJCAccBWQJJAUsC5gTSA5wF4AGPAuEEgAG0AsMFlgFLA4sBjQF8A54DOwNwAWECnASWBN8HcgJ7BY0HcgUfB3oCmwJ0AScCXAVLAW0BdgcnAWwDtwWbAUQBpAaEAnkFoQFDAkoEzAFsA1YDLQJsAp8BNwGjAqMENQFdBbMCiQS2A3UDgAQvB7MDZwK1AakCdAkwCLABKQGPHaIDqg1mDssCoAmZBMMDlwK7B3UDfQHWAysKMQSkAtAGdQiwApwB7gSaAWUFagIuA74BtAGACKYNVA2dAaYBPAHWBL4BugG5AisCKwKVBssIzweRCsEFcQipA84FXAKgA6oEwQSVA0UB9Q4vAXYEbwWUAXsFnAmXEG8DLwGmCnABuwGRAs0GSwGuAi8BNAalCCsJXALJAaACagRmBb8CjgHuAeQDcghyBLgC8QSCAmoCywG4Cp4JnAKWB24C2QJzD48BugKzA0ABugFqBZcDgwNcA84MngK5AaMCcQiVBoQCbQHQAtMB4gR2CqEEbxG5BccBowomAS8BvQeuDEABfAGYCp4MvgFmBmYDbwGrATsFlgFnBaQINQOvA4MJuAPaEcsD6wMqArwKTAZmAdMF1ASCAr4BWAbaASgDYwEjAYAFoAJwA8UCogRZA6cDxwSpAdUDNwJ3AcYBfAp0AS8EaAStAbICowZqBeEDLRSYAZsIowGdCZYERQWWA54EnALXATQGtwG3BPMJswHOC7kBrAKRAbYGgQJCAbMGpgPeApoFvAlwAn0EdgOXAUkGLgKpClgCcgHGAigBOQM2Ai8CfAJ+BoQHSgHfCIsCfwFzAcEBmgiLAa4BRwGcAYMBRQHVAlUBKAGfBiIBtwLrCooDjQcoAXwCuwMwB5oBKwNaA1ACdwGBBB4BfgJzAWEIvgHCBKEBcgNtCIMFqQGCA5sD4QHpB9oIlwJqArsChQHWBasBcwfTBLEFjwGYCOEEcwisBCoEJQZIBXEEiQJkAVsBKwaAA58BMAG2E7UDugFIAYECJwMkATsBxgElAYUF0gEeBnMDfQF0CnYBYQWdArAFJgGuAcEBmAKBAckBfAGmBnUGPgGbD64CLAiPCzYEQwFXBSgB6AWdAvIDaAG/AW0FLwHgAjsGcQKbAdEDowFADHcBJwJuBZgBuwFKBokDuAKhA+QDpAGXAWkCpAFaBswDyQGtAWUCNQYlAisBLQNQAXADHwIoAbYBkQFIAlUGPwFvAo4D3g+VBp8BqQFmAk0CqgyMB3MBswHdAlcFegWjBsEDJQJrB2kBtwJrAYMNpgJoAScD0wHCAUcB3gGBAZsFWQGRAdYCtQZ0AXABpQKHAlgDiQEgApAC5AasAnoChwJfBKMBRApjAyoBdQPbDIoG6gOgAT8BnwTcAsUDxQNxBUgGpwhyAUIC3QF5AjQBmQIsA1wD2we5AYAEgQEzAsgBvQR+CqUBYwFjATsCHAFQBEkCQQG9AisDegEdBnAD7AeUII4JsAEbA08CrQE5AoYBbwKYAtoD7QZrAYQDIwM2Am4C2QSdAYkEWQGNAYEHpQjnAeUI7geCAbYC5wLiEUgJ4QRHEkYHRghIDkQJsAVFDOcCQAHHA0kBPgI/CVILdwFjB0kBqRc/BU4GRgruC0YFxQ","SWZii6EIwQ","6Am88Abd","INk","2gTJ","9gKiAaA","/wl99APB","kxLl","AJ0DogG9AY8C8AKcAYYBrgNSAoEB2gHNAbYBuALXAqUB3ALaArsB0AG6AZsB5wLWAngC4AHEAdMBtAPGArgB3QHSAdcB3wHcAcMBkgFWAcIBjgOnAaIC0gHlAckDnQHPAcsD0QLkAUYCgQHtAfIB1QU2AYwDvgTcAY4D4AGGAsABrAHHAa0B7QLLAaAB7wHcBH4DuAHWAr8B5AF8A/MBowLjAc0CjAGsAdkB1ASvAdUB1wLlAXkB4gKkAdoBsQFiAWYBlAK8AXoC6gPlAa4BdgKFA+UB4gGvAckBwALvAeIBiAK3AWoCfwHoAYwB2QHdAVcB5ALtAbQB3wHlAeUBnQHMAtYBPAHWAmcBlATNAbQBzAF8AqYBgAG1AogB6QHeAsUCrAHoB8IE7gHmAdkDuwLjBKsBbQ3oA6gE0wKVAZoF2QfKDqYF0wLvBKgE7gKIAc8BtAE+Ad0B4gHlAdsF3wGvAaYDyAKtBcgDeAHiAt0DqAPbAYsBzQHZAagCvAJDAt8BwQKxBKQCzwHqAdgB5AL4BaIBlwXVBOADmgHwBLcB3ALIAvIC0AHYCOUBpwHaAdcBugHeAtQB8AGpAYABtAHQAdIB4AG+AZEBpAI8AXwCzA35Au0B6AG+AboCugXnAasBuQTCAuII4gHWA7ICGwHPAegHswGiAcEC5AHNAeUB8wHoDWYB9gKqAvQErwHrAa4HYAS/AvQBzATLAqYD6APKAuUCyQKsAa0BygGrAa0BzgHhAqYEzQHxAeYBUAFgAbcB9QdJAZ8B0wHYAcMBowPpAa0GpgFmBeADZQLVAsICxwKvAc8B9gHvBK4B8gHfAusB7wHeAXQD2QKVA8kBnwrEAeAD8ALuAaAIyQTIBLAD0gWPArwB9gHhAc8BWgHQBNoFqgPWAdUB6QKwAc4FrQLLAtMB0gGRAe4D8wLdBOwBqwPiAtYG3ALLA7cBuATMA+oC0gHnBbAB4gLhAroBqAWnAeEGsQHVAZEE8APTArEIyQLiA94B0gm+AfID5wHdA8wB3QTZBOsB2ATlBbIImwPTB7EDsgKaA9YBpgHDAeYBdAKoA8kG3gHcAd4B1gGlBPcB2wHIA94CrwG0AsEJyAPVAdoL0gF0A+MC2gGdAp4E8gKeAusBlwHIB+sIyQGCAaYB4AXHAeEB3gThAWQBwAKeAqkC5gLyBKQBgQHUAe4CwgGKAdUGvAKXAsABsAHhA+wB0gFmA8sC3AGxAeIB8gHbAd0ErAfGAswCrAGqAcoC3QLsAloBvQKvA+UBmQGrAZMDsALnAp4BugXXAa0C7AGQBccBygVAA54BpAS/AeoD8AGiAq8B5AGyBI0B5gOVAesB3gGpAakB5AFbAu8IpQL0C/kBqgGxAcUCsQXsAesB1AHoAbIFdgTeAskDnwHjA8ME0ALkCdoBoAP0ArUBzgLrAegB1gGnAdcBoAF1ArACtgHuApgB6gTrAeID2AHsApUF0AHqAdgCrgVkAqUCrgT1AbcCyAHTAa4C2QHDA6wB2wHuASEBxQHiAdACqQHjAacC3wF1AcgC2wHJAdYBxgTbA4sC2wTTAeIBiQHqA7AB7ALRAaoBsgHWA9cCigGPA+IC3wHZAogC0wHXAdMBSQHeAc8B3ALhAdYBhAHZAeoChweJAZ4C3gHHAa4D5gPiA3sFgQGbAegBzQHFAacB8AFcAtsF5APcAr0C2gF9AuUB6QLZAvYBzgHNAqMBwQLiBaIBgALuAdkD5ALYA5kB7QHNAowCogFcAcgBxAHPA44E3wG4A6IJegKPAvcBowHrAbwBgQL3Ae8CwgKiAdsB0AGCAZMEpQH4AUUDnwGsBp0CxQfeAZ0BtgK1AeYB5gN+AuUCgQGQBEgCawHFAbQBnAHqA8YBkQHFAYMB6QGdAZcGdQLhBKwBpAHBAY4CgAO5AtsCxwPjAb4COAHpAbUBzAKXAZACjgLfAeQBjQHIAqgBggGqAakEnQOqAq8B8gHbBMsCjwHTBe8B7gH1AkkDwwHMA8sBsQRXAeUB2QPuBZQB7QHpAcQBcQK/AckB0QPqAcsB2wHIA80E6gFxAYsDvgPIBrID0wHLAs4BpQJyA5wBogHdAuIB2gHbA/MB6gPzAagB7QGwAtEB7AHpAaYB5wGrAY0BtwLxAb0DnwXBArwB7AOFA9MB7wLWAuYB3QFDAd8D2AHqAZ0BkQm8Ad0BzgHlA+4B2wHEAd4BdQfoAbsBvwGeAsMDqwLkAaQB2QLhAdcJrQPrAY8J4wKaAa0B7gHBAYkB5wNvCqkB2ALlAa0C5QKBAWABjwHFAdIB0gHUC8AC1wGtAc0BoQGsASMB4AHsA9cB7gLnAd4EqwHqAUABsAHeAeYD3gHaAe8DrgE1AecBqAHgAZIBuwHZAvABvwHaAcEDvwHVAbsBzgHzAXgBTQHZAa0CoAK/AbQIwwHSAnYBdgGoAdoBQwG+Aq8C5AHfAeMB4QS5ArEBswLwAdsBswHEAckBrwGyA8sB6AHYA70B2AGKAnQB6gHZAdIB1AHFAbsBmAFWAeEB8AHyAWsBkQG0Aa4C5gJxAu0BjAG3AcEBjALxAdsBoAGcAeoCzwGpAfEC6AHZApwC7QGcAcQB1wHtAfQByAI4AfcBjwHdBOoB2wHXBJICwwHhBPAB9AGYAuYBuALgAyIBpQLKA24BwgLFA9cCfwHhA+EBzwLIB+0BygF5AtEB9QPGA5oCywGcArcB3gHUAccBygHUAdUBhAajAacCsgGpA9gDkgGoAZoD6gHjAbYE5gFNAvQC2gJ3AegBcgLdAaIDnAHYA8wBqgFjBrQCtwGBAbUCzQHfAckB1wPYAcIB7QHkAecDzQHHBL4CnAGiAdIB9gHoAc4BzALXCtAB6QLVAuUDvALYAdID4QHmAtoD0gzMBsgB5gamAdEB1AGHEucBRARqBkkE1QHZA88F5gPPAskD8APfAcoB7gHUAcQK1wnpA9ICvAHFAkkBzAFKAtAH3QXOA/EC9QLvAtMBRgNOBNQBzwHvA+MB7wrtAc0CxwLBAtgBzwLxAeIBVg","jgjm","mw6f","lAnb","uwGk/QK2tQLZlQbVDNeiAuMTrg","5wFM","5wFM","sw9+","rge4","5wHD","iQPc","uwOs","4QhK","/Qx3","xA+m","uAKo8w3U","GM6MCsI","xQsk","1weAC3joAX/2AYE","2hC7","6QyYeN0","1Qiz","4Qh7","mQ7J","8Qt3","wAjXmQfV","FOEknogKsg","+Qzk","kxLZ","zAjq","owNl","owNl","owNl","lw+Z","ig3HiQLZ","kw94","4Qd3","wArV","+wTt+Qu4","yAra","yQXO","+wSh+Qux","1gK4d3GOBqnQBHC0A2M","+wSh+Qux","mQ6F","uArO","uQltB7k","mAOkA3SYAqnGAjhfu0GcUx0Wdjc/M8zHA5isAZoesA","2Aio5gacIZouUg","SVg+PiZDIT0nQkCwS0QsirYESOUBpjZCFqQcRFtmCLECSDK5L040SBJWCZ/WAU0GWhKkEa8UpStIAUiRAa8NrwZE","AEkHQgdcBH4BTQoqCzQCtw1MC2IEuQ2MC6IKPgIfAskHWAQtBa0EMgwyBjcFuQEqDUwOfwQsAiwDagRnAyYEpQwlAcsDKwIqWrkFPgsxDTEDdwFrAicLMQXPCV0IdAXSBIAMMgVbCbUJZQZRB7QEchkrATwKnwI2DHAfggLrAtoRzAO9GXoGyQRcBy4RPQHLAZ4BeQQrAi0J1QQpEkYBfx8vA3kWOQWoA0gCiQ+CApgBoxNYBiwEdjM0AXsIsBSeFiwBqgF0C68DwARmAjAJZQpREsIDlgE5BzQUvRgzBnYBiARjBi8HSBo/GlYRLQU8BGACagKIBnASzBi7CaECeALDCFoErApMGzYJJAUtDq4PcwQ8CHUmjQuRAYEBzwYzAtABMAenCNIQ1QVAAbgOyAzRAX0CrAyLAm4Rrg8nBCYBQAkqBm0BpQMrC3gTKwOTA4EKMQSIBKgCKxY8GHABoilDB7scnAWMCioDdwJbCCsEigQsBikDOANWB8wEQAJkFMIBuQF1HJ4IZQGoA6gbYRwtEz4CngLeAkIFWgGpFTwChAqICa8LcgMzD1YEawMpBqED2AMvAS4BJgZyEEAFpgS/A38IiRbPBloC0wVgAisKcCS9B7IPOQOpCy4CQgk9AicXMAGFA58DaE7iAtQCtihAAVAEPgegGFI","xwSlsgOjLKNGnvgCpIEBpg","pAqy","1Q3d","1Q1B","bruUAc4/sjjh7QF2B6PmAp4Nf2opOteGAT7EAU8vyCxIrgFQzgHRULw2Qi+h","2QKIAUo","AEIDUwJBAqoEVwGzAUcETwNLAlMLqwSdAacERwNLAlkBSwNJBL4EmApZB5UBwAFTA1gBVAFcA2MBZgHFFGoByQKYDZsEpgYpAT4FoANPAXgJQwF6BmoBQwGBBEQDpgd1BD8BpAKhAqsHkwGgC24IQBi6Es4IiS5LBXIBaQE/G4wILgY5IKIFygKRDUEBugR2BmUWegWnCZsFbAumBZ4CzA9LAbMXTQbNDKAVkQdAAXgDhA1BC7cIqESCBisYOQpHAskNbALME14HUAFOA1AGlC/rAj8aTARNL3UhSATIF4EGgRBwCTgGRwLPAkYFpwJICEkEhRBuDlECgQTPB2UGaggtBEAMTBVcCckEgxJtENQJeRN3CCULSgYtA3IHnAU0AXkGLwKnAkYHqgOqAkIBrQJIAqYRYwJcAo0CSQdOAUQBRAFKFU0GRwNzAUICbQHOBaUBTQuGBsEFoAKJAWMBnA8kCEgCeA1IBEkxhAtuBGUHvwl6BUMBRgFCAU8VUQ3JGpcCdRBEBtEKNgRiEWsKRQ2yG0gGSgxFBlEKzAgtC3cGRQFiDocCKgGHAUkIZyRzAU0YRAggAWsNQgJJBj8BaQLGApsIQgGkAkMBpARhCFEBaQSnAT4DnAJNAUYDLgMqEJ4BOgHHAkIGcg2dAkMEYAGqBp4LOwVHEjAKbAGkCpsBRAKVBUwCMAI6BF8JoQFJBEcRQANIA7wGYwpTA84UlAdvAbQDfgF2AXIEjwaGBJsFSgRjAUEZYwdyBUsCvjBuBUw6pgalEXcSPApUE08UVg","7AcynAc2UL81bg","3Ac3","6w1g","DLMEsBOjJHoLVASPAVQDPgSiATMEHwykAioLMAI5EU8HbwxbAS4DowlnBkYDaAEsA5gSnwdiHrEBmwG1EnAJwTE+FScKtRcxGZMNdgyZFy8emwmpJmAbSEl6AkMSXSdbFz8KmGFGPmYBSxM/HG4YmBApBKYTRglCAVpBVgiDESkIPhB2D50FTQh2CjsDTAFMBW4VVwJdDkMYzQM/FEUEPDyJDpwSVxNZGHkCpQR5AjEDTQgwGm8ERwUmDksExwMqCOIFzwgkAnkEMQm5A04EcAeoA8QEWA14OD8DIApCASIIdANHH7IJsBytFZ0ToAqYGigIigiqEbASVhA8Cz8PPQV3AyEJUiI+LCIGcwwqB0oIlwa7CxwKeg/QBHQebQGeCRsBRQSeF74GowVOA00Jfw","uwxC","bXEBxwOkGl8DuTOuMjyYAZG0Ai8Cl9sBL8QBsRvHCGteu5EB04sBO4ADoB+3ZJAmkhm8yAG8","6whx","8gGwxgo7By8nc8sBpJICIQ","Mut5268Flw","qwHb","+wjVAdj2A4exAZ4","/AiT","+wij","ATU/rCR5dq1/PwxEPisLQocBWYQBohhIHUoBIcMBoHVIqAFEJEIYowaeIpsrozc3MVF9Ry5FGlMKPARXdWhaRQVFwAFOyQHBErM","mglDBvIB3QNUZsGwAUeYBJI","AMUU6B/0Y2YEhiKYDcLSAVCzAatGbTaijgGgN+UB8xxdHSkxuyW2HycWtzKqKqsFcU7TB7UJViCEDe4jqi9XAXUKR60Crg+yAawWvjttDacUrg2iK8EpJjGEDqxESQuxBeAB6K4BvA","jwfZAaM","tQlx","zgSQ","wRCd","3wnU","3wnU","igaa","VFoJxwb2U5UJdhUyDNMB6gHMAZ0BoRjQFOxb5wH6AfkB+AHmArpKigHaAfzIAvQB+gHrPemBATkR1xDXAfIB5RXYHPgB6gqJyQNJwAMm5AFG","hQaV","7ALiUe0","mQjL","Y2I","4QHF","XaMG2IgCxgHtAesB3gHTTvI","7AJl","vQOm","7gJm","hQbYAdo+mw","7gLb","7QLX","4AHTAswBnQGh","hgbh","vQO5","7QLE","kAJi","7QKj","5wfQ","hgbh","Yx8","5weRMrg","5wfBMrA","7QK+Ap2XA6o","ANoBsAHXAccB2wH6AbAB3gN6AUUBvgH4AaMBrATtAcQBawLmAa8BdAF/A00BnAGSAa8BwgFMA5QBSwKpAasBmgHNAmkCsQG9AesBaQLEAekBdwKIA8EFsgZKAqsElQFrAeQB2AHtAdoCxAOPAYwCzgH6A9MBZwS0AUoHWAWrAY4ClQJsAXoBigGjAXYDoAK2AYYBygLDAb0BmAHUApoGOwG5AYUBbgG6A4ECyAHNAqEBxgGvArkBSgG6AUEC1gFRAYUC1AHWATcDhAG7A6sCjQFQAVsBNgFBAUYCQAE8AUgBYgGhAfYBhwGCAs0CMwRVBqcCpwKZBi4CkQl8AZ0C5gHYAvIBugFjAXcDqAHyBOUCmwK4BEUCxAWiAaIBdwOiAZoBkgKCBOgD0gV/BqQFagGoAuQFqgqWAXQBzQGHAX8B4wFmAWcBgwKDAnUCPwKbAZEBuAFOCbABegHLAtYBsAHGBIIEIwSsAqIBXQGkBeYBhgOHAZABugRQAo4BTgHiBG0B6gNKC2cC1AHhAbQB4QLIA+0BwAFjAUsEjgV3AXABnwJSASYBmgG5AWkF0QG2AaAB2QK/AswCtQLVAbQBYALBATwDogabBcQCugKwAacGaAKJAbEBvwKaAXwB2QFTBWwBwwK5AY0BZAFxAbcB6wFXAeIFeAF0AXUBcwF0AdACwgHxAp4BcgGrAbQBuwGkA5QCcAGzAsYC3AKhAckBtALpAeEBXwSQAcYCkwFGAd8CygGwA3gGnQFpAfAB5QaxA3wBeQF0AWsBbQRoAewBYQGdBi4FkQJtAZICewdcA6QEqAG+AdUBcgXRBXIBiQF5Ap4BYwJ1AbMB1ALiCjgDbAGmAeQFZwHCBJoI1QFoA3YClQK9At0BxwGYAbsBmgRoA6wB3AGcApEBxwGpAcsDkgaRAtcCuAGlAT8BdAGrAcAEpAG8AzwBdAPOAZMBbwRxAowBlQhzA5ABKgGmAWsFLAGBAYYIoQG5Ai0PpAbZBMEC5APbA6gG1wNHBGkBtAWeAp4EkQWTAokHvAPlAowFtQHBAWYBoAWzA14BOAFUAqwFnANoAeMDewTZA9cC1gJKAp0CuwF3AtcBxAG4AXQD4QGgAYcEtga1A3MBcQGOBEgBKgVeAq8BVAGeCWYBpgNuAWYGWwFeAcIBnwKjAXkFtgRJAikBZgKjAawBywSkA40BsgWlAo0BuQJuAe0ClwLYAUIBpwOaAsEBrwGnAWACsgFJAeABSAGTAdcC2gGFAW0DowJxA84BdAGgAeQHawTSA+YD4AGWAZ0CnQO/AdsB9gLdAtYCzARbAscBRAKHBI8CxwJ5A24BYgJMBbABhAG1Am0BSQNbAyYB0wGfAZsBqgHWAnQD3ANGAjsC1gFeA78CbALuAc8BLwKpAcEDwQNIAbsCpgLQBqMEzQGTAd4BcAFRAekBpgbAAmYBfQG5AWsCyAHhAWIB2AFGAu8CrAIuAbQCxAHtAeQB0AG6Ae8BegF0AlgBUAFtATECxgNmA28CiQKjAaEDiQLoAZsB1QOkAZUBmwGwBVEC1AJvAUYBtwKqAuMCpAN1AVgEwAI7AUEBawEoBWkC7gSuAsUBtASwAaUBtAGrAa4DXwJeATgBVwGwAWkCMwGOAZQCcQFEA24BywKuAbwCugKeAYkB0QGxAT0CfgFDAU8ChAGJAa8CRwesAc4B5QLYBaACxQKNAn4C5AONAdEBqwKRAqcKWgFzA28F1wGcA0gBqAF4AvMB5QOQAmwBhgGdAs4DUgGVAdQBkAO1ArkCjAKCAqQBqAXHBIAByQF1AocDngN+ATcBQASWAioB0QJzAZgB4QRtAr0DnwPLAUQBJgHiBO8BvgO4Ao8B2wS1AbsEnQKmAX0BswJGAY4BmwFPA6YCUQHjAmcB5wSMA6IC1QhXAq8G7gG3A9ACpwLOAagBgwGdATECtgKhAsYCtQTdAcUBiwK9BTICpATaAZ0BlQHjAaEB4AJ5AZcCjwJOAn4CWQJdAigBLgHaBn0CQgGhAdAC1QK1Ab4EhgZ8AWQCWgFlAaQBRgLXAcsDtwG7AkkFaAKsAWIBaAFtA7gC3QR5BLIBMgHWATYBqATPAtAEbwJGAbsBRQbsAtUCqgHOAsQBfgOKAn0B5wGeAdQDmAPrAsEC7wLVAsIB1gG+A48CbgK+AdgB5QHCAe0DpgK/BD8CSAGmAacB3wGrAUYB7AGjAb8EXwQiAnoCzAHhBL4B0QHtAZcBeg3ZATcC3AF+A+ADdQPqCWsGVgK6AUADnAKDA7UBxQKgAWsBSgO+AcsB5QE1AZcBegJQAacBdALlAZUCngGlBNYBKQFCArcDSAORAmwGcASmBWkB8gJIAbEDSAEhA3MCcwLgA7kBdAFMAk0BwgGNAqoF1QG8AqQC8AHqAUMDwwGnAcYByAaxA94BgQHIAS8BkAHxBFUHxgGXAyYBvQEoA5sDpgGmAUYBvAGyAagEhgJIAeECiQHIAqcBSwOBAqIG6QPLA7ABWgIoAtABZgOXAkkBcgKuAcwBiwKXBGEB0QGSAsACawRhBIsB7gOsAswBWgG+BaYJpwG6AZQB3AG0A0QCTwHWBKMCcgFyAZoEugOJAXgNzALSAZQBzwFxBU4BtQGmAaoBQgHmAeYBwwFoAd8BhgWkAqUCKgJhAjcBJwNlAckBvgFBA58F3AHfAsMDkwHAAVMCsQKoAXUBYwGiAvIBcQTXAZwByAGqAkcBdgHbAoIG1gKCAVYBRwi8BTwCQQykA8EF1gOlB9MHowJ8Aj0DyQNLAUcCcga7AcEBxAFsAXICzALMAsECwwNDAuQCQAh6Bj8FxQLbAlIEtQHqAfAETARBAn4DSQJKB2EDTAFIAswGkQFdAUUDbgFHBNECTQFJBdcBSQXJAUYFyA","mgir","4wJP","uAKc8AjdjQPwmAGi","jgLi","mQ6i","Jksrzg0vngJFygPlzwNsGm5ivgqgdypJeYYBdd4BbqkCSg","xQWA","BUg","0w7N","xAcp","dXrJCkY","vQVj","mQbC","0AJTnATVswLspAU+","nBCs","qAq2","vAHi","ng1r","Ao4","+QzP","4wVz","rAyg","/AlK","uRCz","qgVo","vwTs","kQ+W","uwF5","4A6v","kAnY","kwlL","mQFx/AlC","pwhEgQFamgaX","9wzT","3g3e","3g1g","T7wBYNICSJ8J1w","rAyg","vAFA","5wG7","nBCF","uQq6","lgFm","pAvP","6wiK","f54","Nd0","T7wB5Q","/wkc","ygV6","/AOy","zQ+i","uQRr","V4w","nw2W","pQk8","rwih","hg6b","1A++","8gHe","7wbI","3wOn","E9E","kAGY3Q1Q","K64","9wyV","E8w","pQG6","yhDp","+wvd","/QLU","hRK7","lATbmw3H","/QKL","4g6r","+wNm","4g7h","4g7l","lgPA","U8SQC+I","ygvn","McM","QHw","xRAzAS4","Gn8","Wso","3geE","qwFu","qwlm","mBE9","zQlz","kQ8m","sg1G","mwnjAdU","3Afr","uw5I","rATnFGGBCko","ww6O","gQ5c","kwns","7gHj","mg2P","ixCW","7A/W","lgba","vwVB","oQN3","1wzd","5AGh","hQ3l","E6XMA6c","tQrN","pQ9+","zQ/o","8Qa8","xgWxyQYl","tQ6q","7QGo","tQI7","uALc","gAdz","yhE/","lQO1","NcsXlZcLTNcE3w","NTY","sgFb","sw1Q","lQFi","sw2g","xwvh","/whxrQOgdt2sAao","twWS","zA9t","2RHZ","yAjTkQnh","9AI5","2RG9","BXI","zwnD","0RHH","hAVs","5AHJ","/BFd","sRHI","yQ1N","AaM","nw2W","E6XMA6eGBuo","4QjL","6Adl","7xA8","jAxq","5wzP","uAno","Yqc","7wdI","gg+J","BM3rA+KNBqVe5Q","BFQ","sgWY","rgPR","kQ+W","rQ8m","tQKl","9gJe","pgrM","gBJG","mhE9","jwze","9wyV","nQev","fjM","qAvl","qAxC","TrYxbxFBEayTAUu0AUYrRyyN6QSZ2gFKRbqwAUWUA0A","0Qjc","kQ+t","kwTnjwLX","ww6O","ww54","AdgD2A/tazMByRGuCaYIQxunK7NNtAE7NXkT4AbbKDwhoh6CBeMMZgHdU64Hol1LE0VQysYByh1xGEJNkTXkUrgsTQHIkgHWBEgfeQgeHOEMoWC7IK0GvRCDFNsBo2ChFD8FQhrPDtwr2RFBElAcPAKJHtwVSAqJCJogwiPTgwGyF9MXSg","og/p","AjgDQQPbAdQBowO/AzkHtAXQBzoD1ApABdUCxAyHFnEF5QHdBB8FawLsBeMB3QvfArMDRQnOBrwDeQGgD1YBLgamCE8BIwFAArsDoATHBCcC9gIeAcoCLwh8AXMEwQUqAigEnwnXCOgBpQi3AScQmgyZA+oEpwHlA6APzAG1BKUE0wHfBrUBpQLbHIoLMQVKBSQClw3VCJEINQeBAZ8DySCnAi8NKwyyDjwKwDdIDTsErxi+BiUGXgiGAzUG1hWQCIcH1xM+Fa0HtCZHDOgFtAFyCm0eYwSoBD8MsQ5kBE0HpQJ9Cq8KzBHPHlACaQLUBi8Bzgc/CKoHQQwjAnIOswIqATcCuwKRCycKSAzpJfYB8gH0Ae8HLQZnGG8CoRWKBi8C1gGkB54BKhMhBu4HeAGcCU0IcATtAc8GoQEkF9wBuAHJAXAFrA+ZAq0DKAPpAeEB2ByGC3kIZAXaBSkGwwY/A8oG+AO6AXgFoBBMDD4VRQzZDyoBYQMlA3UDKgMqCr8DtATQC78OrAOBBjsGxQMeAUsB0wQrDfME9R5IAiQMnAQsCbYPLweyCnAEMAFcBuYENRQnAyUHaAElASgDRQgmDFIZHwFGENcCKgIkC0EBNwOoE8QSXAQhBc8GJQLcBsACjwFfCmcLKBmzAmoBLwEwATkCvQM+BU0COAgxDjoBTwm9AUUCHgVFAs0G3gXJCF8LrgXvAk4HtwMsAksUQwSQA6MDJgsjBSUBJAYdAZ0EfwN7A5QCtRekA1AZOQOpAnwBRw4jAmoBRAIiAUsCJwF2A0kI0AQ5BkADMwG+EDUBqgbLBKoQpAJAEEYBOw1GBaoDSAhHA0IG5QJEBZ0CRhhFAW8NljGcD48IwA","Nay3CJ4","X5s","nQjXAukB0Q","8AGl","2gag","sQrP","owmP","4gvp","nQjpApwBkA","nQjOA90","sQrX","Nc8","hgnk","alc","aps","wQVp","X3c","rw20","hwth+QKI","5guo","aro","8QGl","oBGr","Jps","Bb8B1AKgAcoEsQGaGMcRtASYEMwUlgnjAtAF6wGxAZAKbxfSAYEPpwjYBMEFygJuCIcF4APIA7cMMgFFCswT5AbrAeQNyxA+A+UXpgFtBMAE8wHvBpoBmQLjFi0GogukAT8XShnSI6cgm3PcFHgJ7w11F80OLxKfS2AGsgWKHZsEZRK4CHUNtzA/BrYP7wLrB0o3mwo8F8AChiXiAc0B7AHZCHAfPhGNAt4ByAnoAeIHeBrpCO0V7QFUB24VxgPZFuoIaB3SGd0RPwnhA+gBIgJIQOgWrwZKCOklmwyhGpwspyOyFdQBtDq/D6sR7grjBNIPmQLgEZwZvQKxCJ4G6wIgC8QVvRGkCM0QOx+eAqYj1SJDBKwK5B3eDLcMsT68EmMvQSWrCvQB8CrIFtIGUiNIGjY","2AiNAsc","oA55","2wiL","2giZAbQ","oBHk","oA55","pQ26","xQGQ","8AGl","7gTM","7gRG","CKA","jQ/g","lhGA","xQHK","5AjWAaQ","vwL2Q6sB9gRiVjiQAfOTAvKfAU3YAuWHA6WTA7w","rBFE","kwFX","7QRG","oRFH","jQ9o","gwPQ","HNA","jQt1","jQ+d","wgncArE","WvT6AUzEAp7BBd38AYyZAu4","9A+a","/QKL","8AhV","1QyMXts","2Qqo","WsA","pALa","nBCs","yA3t","1AdJ","1AdJ","6QVr","+wNm","/AOy","/APg","Ttk","TqI","5wHt","iA7b","pgHR","ugE9","ADACOAFLCEUaRwFLAqkPtA49BaMDUA7BAb8EyQGqASkD0Qi2EmgQKRSFEUECiQOTE0IGJgUrAZ0QKQpjHzQigAcrAScGKBMtDTETJB9hECsPYBUwEC8IgAu4BDANIBXlECoMPwo7CkgEqwcxAXIiKRJjBrFpIQN2MC8lPgdDBFgGXit1EGQWOAk/ApgLYxhyBTcEMQEeA3MLmjBNFCUXKQh2AswadQxrBFUfKgc6AZUsnQhLAygBUgVNEVkJSw+jEFENTgtSJnUKWCKeBSURJgeFGSsEMQWQBkUGOAQkH6cBUAGBJVkFLh0iG9UMLghJAiUDOQQsGy0ILRxkAX45JwseBycDLRMjBk4fOQwrIC0CKwQvD0kDfiaBAzUNgAb1BCMEHAI+BawQXwk5Bl4YoCIoCScILxZMC0UCvQWyAXQCbwFLA7oCmwGuAmYD3gFIAY4BZgJhAaUBlAGPAZIBgAF5AXIBTAGbAYUBRAGVATcBSQFtA40BdwFuAWABdgGeAnoBiQGIAXABSwGgAWgDbgKgApYCXgF8AcIBYwG1AZoBigN0AW8DggFrAWoBrgE8AkMBXwGvAbUBlAGdAcABpQGxAW4BcwFFApEBlgE4AnADXgI9BYMBSAI+AZsBPwFFA0oCYwE+AaQBpwGtAaEBnQKlAosCSQF1BGcBjQGeApkBnQJKAkQBQgGIAYYFdQFxAWkBcAGKA2UB0ANsAWUBnQFuAagBqwGjAY4BhQFsAaEBwwGIAYsBbwGnAZIBiwFMBKoBvwG5AaMBcQGVA5QESgGlBDY","ug9F","5Adz","+hGw","owGF","kASu","sQPZ","SJ0","lAbB","/gy+","pQ5sjAGP","rQSu","WpE","xQWA","iwTG","jQ3d","vQIv","4hBH","uhGp","0RG4","1QazlgV3","vQxl","ugqr","5QHH","6Qur","DIwCOUNlHm21ApP5AWkwXVm44QEteHTaAVgwarQBJsYCmUBaZ3UTdQ","GJMEfhRLC04Qdh9YK7MCnwosI10LPRA+E2kDJEq4FE8HbAVXRUIEngMvV5hfowaGAp4BogGiiAJKPYtWQQdNHdAUJwEpQmUolQOeEFEGVg98F08bfAHCCldIbwtRJikaeiZzDaQPJwegBJ0MOAFlC0gETxZ4GU4DjgtHDqIQngF/DW0hcwMtDsYxbRs0D6gaPBGUHTEJphIeIjsCnAw8LxwKXgInK6EumwpBKZgPSAFFNZE6wEG3Cp8","4gRK","igaa","9QE/HDQ","hAzY","9g32","9g2Y","RF4","8wEp2Ql9","8wEp2Ql9","pQeN","tQ2g","wgrhAs2YAqk","wgqW","xwrx8APb","tQ2g","4gR/","hQpiOeI","vgq0","hQpi","tA/z","/QGD","zwyL","b6uVBJLkBbKrBMeBAZg","2wTX+guC","5ALK","gQXs7gGWAZYB8e4FSsAB4XPW","8Qbt","kg/W","rAG++wKqggGqKnPpAaYFSasCcZkBXbMBpiyzvAFZEVIPVPkBRQ","6hDI","BXILUQhOAn8OQwNAAkkEdQakAZ4HTD2tKWUCHwM3ATcFoBBCLJQJjDScEj8Lp0mOC6IMRHBLFE0KeDk+CssckgdeLEYspjCeWcQ2oBSFBaAFQRcyB4s+QB+bAWEnaRSqDaMDsUh2AnU7pwtmB1gCRATICssdqgfOQpoaQwKeAU8GeQJII3cCfgSlLTYCKxJIDJo9mgNpHzIIojKfKJ0IdAdBJVEVmxVmFVUKojBKCKYMXxi/AVMEgA68PJsBygdZBEMdYAFmgAE+","/gL28AVD","APMD9wL0A7EF9gP7An4B2gNTAsMC5gLqAZYB8QFLBMkFQwTXCZwE7gHjAqcBogbpAsAB2wGMAboDnQPfBHsG3AFxBa8BYgRiAekC+AHFArEBdgGkBjwKbQHpAqAD7QHMA/YB9wLnAbkFwgJ4AZwGfgHSA9AGLAfrBqkBZwFpATUCkgHDAeMC9AHkAvMBSAL5AuMDqwKxAdoB5wHdB+4B9QI6AUQBwQPPBEUBYAGzA/QH8wHeAfAEyAG2AvgC4wJiAiQBQgXuA+YBvQb2Au0KNALuAdMH9wdxCPUE4QL1AooDhwH5CUYC9AWnArECrgTSAcADshLVBdcJvwLOBVcBvQGfBt4F2ARxAvkBRwHaAagB5gP6AfIK4gLIA6cBgALgAfQB+Ar5AeYGTwFRBvMB9gH6BPQD5AKlAvQClQJeAdcExwTwAtUBxQHzAvEB6gJjAdQByQEnAfcC7QLyA6wD6QLWBq8CQAquBfoBuwH4AfEB+AhdBKYCsQjPBaYDpALmA98BzATIA98B9QH3AtQBlwLkBMYB4QHUAsoBpgH2AuUB8wn2AfIJvwFmBp4E9AHLAWQE+gGgBroE+wLzAWIK1QixAnIBpQHgAawB3QLHCz0RtwPsATkBoAHtAesF5gH5ApcDwgHUBPEB+QHmAeYDggXmAu0R1QSsAdsN9wLxINMBKwHEBagF+AP5Ae8E3gX5AeMB4AOJD/MC9gGeBNkF5gHBAuwF+AfwBvAP3QTMAvYN3QTOAesDRAHQCcUI8wlrB/cD2gfUAikI3gbzEvEBkgKRAZkB8QJ6BY8C6xVrAtgBugLzAfIB9Ab2AdkJzQPDCkACzRHsBVkD3AHiCO0C6gq+BugF8QLyBegD4gP0AaEB8gT4AuQCdgFRAqYD+AKbAaoC+gHuBWoB8QKyBrABzwW1AugE7AOwAmoGdw3YAs8CSgPKAucB7QHWAekC1wfOArsBVgWlBfQB7ALQAfUB8gHvDl0DUwP2AewCzgHeBvcMHwLKAewCSAEmA0MEKALwBsICiQuTAfYB5AHxAvsB+gKqC/cF9AXxAbgB9AH2AvwB8Qc1BfQBuAXlAfgG8gHMAs8BeAf3AcwB/AH7AqUCWgLJAXUC4AXzAUIByAGoAcgHQgT6AfYG8ASWBUUELgPHA4MBtALmA+8E9gcyA/YB0gHhAdABygGbAfMC9QH4A3QCvwHmAbABKwLcES4CoAH6BPoCzgWoBbQBywG7BI8DywKXAX4JzgLdA9IEiAX5ArUF1waIAy8D4gLGAVUISAHNAbMBRgTAAfcE6QL2BYAJ3wLsAb4B8wHTAcYF8wWmB/cCnwLjAZ8B8gHVAckCpwn3AdIF2wSpCpsK6AXGA9QCugKKAUgBSwHwBXEB7gbyAt0B3QLUBfUCzwHNA0gBRAL0AuEB3gXfAkYH+QQ8AvAG5QXXBKMBxwTUAecBvQH3BCAC+gqDBT8COgSqAZME8w2yAvIFawL2Be8DUQP5A64B6AT3AYUC9A7ZBkIC0gHpAesBwwHwAdABuQRFA6IB4ATcA9sC+REwA2sFQxDpAvkDyQT4BjwERAHeBKgBQwKhBuoB8Qv2CuoF6QyhAe0EvAT5CPcBXQL4A/UD4Ar4AcoEnAPqAU4C+AHiCPkE7QT6BfQB8wH4BuYJOQLzAbQPhAfnAagG9QHjAfEB7gG3A0YE+gHiA+YD6ALvAfIC8gfyAu4B2QHyBO4F6QHtAUcB5AjFA2oFPQRQB+EQRQI/BskCeAdwCOYCyQXNAfgB4gZMBNwB6wT0CqMKewTgAeUIvAL2AdcC7QH4AvcBxQHyAfYC0gPNBcEC9wHnAfYENg","A+yLCIjqAqQBjna2","zwF8vwbp7Afq","jgiI","jgiI","5AfY","9wnnAcc","9wnxAb4","3QOv","tQqD","zgGU","kwPM/g7R","4wzC","A9G6AYcRk9kBvBmjTMhAkTBL8AG3ogHNWIAN7NsBuQM7KJNxoAF30gJjCFKSA9A","zgFo","+QJXAVc","tg9o","5gGg","5gGgGLSRB2LCAfoobFNykwKK/QLJAdkCSwj0","+Ap5","+Ap5","3QMb","6Ajl","ygS2","4wze","/wHr8Q7qAd4C611j","zQvO2QSx","0wt9","tQqt","6wvW","0wt9","+QpE","/ATV","zQOd","tQrf","ugGm","6wtK","8QTuvAuq","jARbwAGOgAWobnOtBM0","jgTauAp3","sQrfA+IB0g","tAqD","tAqt","tgSk","tArY","tAqt","tArM","6wuv","zAuC","tgJ0","zQO0","3QnwpQfO","EMc","lgufAcU","zQvt2QTt","zQNx","1gTb","5gFp","/AXO","0Ale","4hGa","5gF0","4wzf","9w+lE6k","gA+d","gA+d","+wNA","iAGDUSp6J9ICLKcELJkDSLwBXxib","owHhbsU","owEu","hgz3","0gtz3AKi","aaWMAXDSBGhWL+gBm+0Cr3woCJsEKUWt0wGmB0c","2wFw","4w2yMPMHmT7lAd8","2A7OAcs","2A5Y","tAoohwNFRJ0","wAVyzgVy","XqKPCvfbA+Q","7Qqh","7Qqy","/gNWAUUlgAqHjAKIZpNTi5wCzwHFJH+yAYc1qhev0gGkmwORfZ8Bow","5Qf0","ygegG+k","5Qdm","5Qe9","5Qdm","5Qf0","2wd33gSZiQMy","ywv2","ywu5","ywsx","pwnB0wP3AfU","+gwp","+wxJ","+gzTAaw","+gztAcQ","+gy5Ab0","+gyRAZY","WcEWx2l/Aa1jt4EGiIcEJQqkU0ReJxhppQJv","6wKGAYgCh1O7","GE5bmUJrqAEjAZkg3QKW1wGdEWwLmTY2F0AGrzfzIMECmD7NHdAjnQqdGZoTig0xA583fx1rB34IqgOfXJUEcQaaLjMF2VTcRJccqT+pBJ4XoD2fD2Ji8lY6KMEidC+mD6ITsghyFjwMqRlmAeW0AeEMQIoBow","/gWk","oQGKyA9L","xQazAcA","AZgPsCFQL9wCbgqhGcAblgOEBYsDNwxkA1ESRgtCAWEGgheuIZkfm05GD5QHTgN5AU0Ekgo8LD4GdRPRDKkmsgqpI0URZAGvDKMtTQx3B4YDnBJSWtOWAT8CahN1A0YSTAOTBZoKpQZDQ2sHggybFGwPXBRMBqITQyx0CXwRQgN/KY0JixaCDKEDdx+HC28qowOfAmAJqQpuImYDfkdrEIEMjw6BAmgFRxynB3MBfwemHVMQiAamAZEKMStFJp8IlQSOAWoLqwtaBGQBYApyDIgIqgWbHqoFbglHAkUIQgOmCXMPeAGgDXsMegRiEEcBOBFfMIgfiwusCTkDVQVIBGoKcgJGb68HxBZJ","RH8","RH8","7Q3bVbYs0Q","sg2DO7NVaCw1","kgF5gAK76APEG5BTqA","jRC6","kg9G","pg7z","pg5n","hghnjQeOerI","6QHsqQrSmQLSce8","nA/A","kgx2","nA9G","nA+j","DlwHxAfBBFEG5wdpCXcCeAFUMZQLTQKjAXYTQgE7BnACQAmgB6ICowZoAZsI5wauCZoMcA9jEaUDngG1BlsPzwGZA9wEtAWZDKcNQgabDbQBmwOnIagN+gI/BkUCsxU1AU8FOwVjB6oMQgbOCaMW8wNKBksBbgiZE5sCnAmUAcwGUwJgDUoJTRdrDKYOogGdBKQSPgGQA/MKyQSaAqQGiAHgAU8IsRKjAZoBPg2fAakC1QVGBaMDpBG7H6YQcAhfBqADzRJ5AaIGTwn2AmQQpQdEDJcBQwFKAX0RnwmcFcELmw9/AzgEvA7YAUoGngKkBJkIngllA7UDkxqEAaECuCBRDOYZmwKyAVsDlQogAVMDqAWGCWYEXwGXBJ4BpguwDvAGWgWdCiQNmQNDAXsJuwm7BngBogOnAaYKywwuA4IFYAb2AfUB8wH2CEsCrANCA1MCpghDD6EJOCrbAskBlg9LD6oZPgGcCKQBnwGfB9MBQAqaDDIJMQrVAqYTnhKnAq0EhQv4AfUB9gHFAfoB+wH6AbYGMASTA6EGYAGoDKgNkAZVBJMESAGgBNwO0hJFBqMDywqfAdIJoQeTAWAUnwGjA58DqgKoBD0LmwH2BjoEmDHYAb0CnwHsAfgBzQd+A1oGuQOXA2oCvAUlBCMHdimiBqkKngViCEoGjhBNBpoHOwjGD6IPrAVJAY8DlwJoCjsCrAGXBqEFJwSyFHYWxg+oArIEfQWcCqcRqwLFF0UhSBE3NkYLPhSoAlIz1QjT","+wu2","+wtH","8Q2HAuoBvA","xwWYqwinArk","7g27BeI","tQFg","tQFg","lgFCtAebGEtJrAWehQTm","mwlCAb8","F3rdAeKUA7syRr4By/YC4wHpAZWBAeeJAXACfg","CKAuUQKeK2I4nyItBFELuA6KN7wsyVY1TYYnwAZgAnUQfwlIFNgCaApxDz8GMANCG3UMlwLWPnoDogttFJ4voiaxT18dlQ7eFLIImQvXH00uzQLqGSYTzAGiMKkCdjepAVELtkBQBqQDqxLfCXQYqANGFrElJQO+DIkEiBVTAmZMSByqFSAZLwbLISgBS0VGCtMLRDJgDDwMKCuDFIhSiSWcFY8nPgTGErs5RA2+GJccPTB+","gAyL","+gvpBos","+gvg","8QQ0/QSpAdQ","/guH","/guH","/gtG","uAE8fqDmBiM","/wuA","8Am8","8AmV","+gva","8QTO","8QSp","1gPN","8QSt","7QmLAamNArQD7AHMAew","7QmLkgKA","8Am8jgLOAYABtA","7QmLAamQAq0BgA","tQGl","8QSt","sw3B","9AI/","8w3Z","jA6U","MXsNnRMcDS8BYgRdLZgCNwOtDL4tPR+dGqUjcQWZBaoBYA5EDa0jmyqhBKkDpgOJI9AET0bkH0ACgAE7C51eZxWxRUlgfWdNCJkLngRHE6QEnhgpYJ0LhyJLFpUL0B1IFUsnHxDJPKYEpwelIUcNby8yA6YHSQ0kC6QISgqhAnwMpQtEKnc1aiJ/ogGkFG4Ebg+oCx4IyxlHAj4BRg2QLyIHYEO7D8EVq37HVqQ","wwKw","2gJIIqTxCEmzAXg","8wrKkgfo","kg+F","zwS6","zwTW","hg6b","xAGajwGilQKUN6bDA5xomLQBl50CcKkBfT5rMpd1mQGuFKQ","5wFhtgcqCac","ATUCkQJBBLUCrgGzAW8EswKoAa8WMAFJAmkGnBpQCWAkJQSoDTMBOwY3ATcDJgGfBEICNgGkAywBvwLKAbIKWgpeA6QDoAKgBUQNnAIqBW0NgQU3A1gLhw2ASqADLQInAy0BVgMjFJwGsQWkDXAGjgpOCpwBQiK1FGwDqQNTCp8EdA6pAlYBRQ5gGJ0PyQI7Ao0BUQSYBHAGPA2pAyUBPRTcFEYChBzGEokJegmkEE0WNQchCk4CRQM8FE8COQJhE5En0wh9EF8ERgGoEswBPxWwHKAicgXFDjIIbSNCFnIIQw9fDFwOgA6dA20TfAHDCnAJOQtCB6QHOQE5JVACfAUhBCgCfwgtBp8CSAo9BSMBKAZGAXEBRARdASsCPQpWEXIOKALHA5oBNRMkAoIFNgFCBJ8QJwIoBU0JKQEwBE4OPwWfAVcJOBS/AooMdgVyA6MDJQGFBTAPUQJJDsECMQRAA8ADhAonAi0EoQYlEZ4HnQyXBk4DIgMvBGQFYQJGG0oMKAJtBiYCSQJOC5wDfhAoAjICjAZVBj8BMQrGAzoJTQdIAo0beRJ1Bi8DXAlqBIcHXAE/AaIDPAdfBa0BXgSUBqQDIAEsBCEGNRUzDUUFQwU1AS8DSAWxATEENQF1BkgKhgdCCY8CqA8oDa4CRgprARwBMwZwAaIDHQF5BH8BcBNEAk8LNQokBWkFMQGnAm4FJQOgB8UFhAZQAXgKgAWDAXkGqQI5AyEPLAE0ASkMnAGYCEtRRA1JEpZIyQ","jRBu","aTAIKgUsCjIpLBEnAi8BLVQ0BLEgMlY6Ej0lKWtFdCsYue4BNSJOEi8HJwE6dYsBgwF9AX8DLCEqFTcVOTIvISgDHBOOCCifATIHKRIsIjISJD4lBDsGNUsvXCUBJQcZAicCKg0oAkkBJQYkDkEFKwY1BSwUOzMuOCkQIwEcAzMFIhIqAyAyKQgsFy8","kgOUEqFYZ3JfhgKvdKjOAuhYiwaIDo/0BcY","jAMytgKk5QGdlgR2+QIm","hAii","IqMCPARDFFcamgxuECUBywJ0BcEFoAhCBWICWQadFX0eLw2fBH8BoQLSGowXpA+7FMoRKSRTD3kBlQNFEKJRMUWbAcYloh1kEswNSxLQjgGYA0IZtQyGEcVFXwpzDTQMaAIhBnAMmQhMB0gkfRPLGZ0Dkgi+AzQInwjDDWIPphGlJ5UKRQjRH9MBYw2nAmkTfAOpDkMZuAGwAq0STiYsKZwPyQOJEYYRKw6bCb8GoAd5Ad0HpQFuCMUDRwGzEDIBzgJ+BcUCfweoCSgPnwO8ASAHdyppCsICdAYsFJwCLwSnDXAB2RDIAVwe0wqYA6wGowXZIGUQvwQkA88K0QLPA8oBvwIhAicCawUsG60GnxGjEsACnRYmCacKPAw2E5c9rxGsAaMQhw1xDycFtRFGA54YPIABPAjVG7sLxQ","wgdO4Ai5","8wQz","czUCLAJtA3wSMk8oVC1Em4sGMyelBDktsDN1CiaDAbslaJoCcUGQYzXNAZ8","8wJrqgGvYpp5dusBZCFppQGVLYEmeicta4gGspwBbBCDtgFiYKcjdwNu/AG9","ah+xDKM","S3arAuwB5OwGQrUCjw","9gLgAd76BPEC8Q3nAfDzCbg","gAioAck","9gKOAU4","8QdwD7s","pwuoAWU","An6RBXwCo9oJRg","AEIWUySNAnwSdxGkHFwOaAe/E8EGbQs/avMziBOidEcHpwtkiAJQFLCPAUoBlh6YogGuFUg4ShU+B8Afrw+wI1BQvDJvC8tloExoQ5hlYgx7M0YudAusBoRDQ1xOkgFEQqk","zgxx","vA62","vA4h","vA6z","BJkEQAFzBo0HUwiyAlEDOgFCBNIDowKCAc4BhQPnBLUBdwbEBIsC2QFBAbkCngKqB9IGswipBI8BHwWzAt0CuQMnAioB5AHAAZcBygLcA8EBmQJCAfMB4gHeB88CbgJtAdIESAO2AboBpgEmA1cBtQrZAX0GxAJnAUQDTwImBGQBmwaCAXYEsgKKAroHPQOWAaACfwXWArIMqwa2Bp4CdhJcKNIEwQM4A5EGRgJkCOgBswOlA2cGJwSfBOADaxLbAZUBtQHDAU4J0gPWCccQ2wHFBFQBOAFlAW0BkgGfFV8HrgY9AtAExAehCJUFghl5B9YRwAGUCcoKcA8+Ai0HtAGlCdUDkQK8AbMF0ANkClABfwbDC78GvAbGAmoD3QLAENIJfQPNAWwBIQG6DVcBwA5qBYcJdQNNAWMcowm/AcICoQPIB8oawQImAYkH9AJdCrEBMQ1MDOID3gNIBKoBix/zCogPzgU5BUQB0wgkAtAFbgasA9kB3QamBMUBSQbBAcADigNDAqoGyQy0AcgC0wZ6A64GQw6/AqIDvgnBFS8CLQHVAZAK5QSmAt0IxASiAUAEKQ6UBr8EvAp8Aq0B7wKHEeoNOAKBA2sDLgJwAUMH0QTfAcoB0gKvATkBJAE2A0sBSQfvATEPMwEqApgFpAfjAScCkwHYAnED3AIpAcAC5AFRC6ECyAHRA2ID4gE4AcwBfwM+A3YHxAGbBEgDmARoBSgCSAf6AU0E5gGYAy8BzQWbA4gYywLKBY8IegE5AakBsgRICLsNxQKxCKUGsAKcAbUBuAKjAXQBsAO6AZgFmQFiAZkBsAHHBYsBSAOlAdEBSAHTAecGvQqxAZ8CqQFuAikBywGYAdUBJgUlAjEHLAF+Ac4CxAPKD04BnQabAcACMQHJAc4JrgTDCMYGagHwAawBSAOWBYMCsAEyBF0B6wOBAq8CtgK5AswD5AjbAacDxQK7Ak8CwgXLB3ESpwK/CWABegFBAbUC1AGfA58COgfQA3IIqgLXBMQEoQSYAcsBvgFPAawBvgFaAqsBzQw/Aa0BxgGRAbsCqwGbCaUC3wG4DTIN1wppAaUDVgG2C94EwAknATkBKgJIAsMCaQK/BagFbwGeAaEBxQGsA8oBmwYfA2cCYQWUAckCogFyAeABqQFGAa8BdARsAaUDWASjAUcDcgEqDakFMgS8At0KxAI8Ac0DbQJmAWcFcQFFA9wC4gG+AUIBTQp8B2wByALEAUAErQFuArwBqAEpCs4FmgHLBMQDtQEpBNMBJgPFA7EDrAFBAT4DsgPIBEcCvwlfEM8NbAewAcEB2wFtEOYB4QQrAdIDngI3BXUHtwHQAeACmQIoAuYBuQPSBo4KvQFIAUUBRgwzAo8CSwS7I0kWQAHFBJYERgFIBegzvASWQsk","owrr","owro","alg","jAE7qQGbhwxv","tQey","3Qpz","fus","aHEFrlY6sAFEzQSaB1d5jaABngSasQM8N6vFAT53Pg","kAxe","AagDQyFyAr4ZnBNcApEIxwaVDGMdWg2DBLEExxLMA2obOj/gKawBaV+QC6EYxYQBSBsyXmovNRyqAbwiqQL1OJwHexHFG6wlviGVDZEBxUnpcMAI6CWxHs0emzGhZjmHAdUHWW6XTm8itz4yJOw/rQUxBb4KYQa+IJQrkAFGBCwBJxizDM0ZqM4Bkg","kAJ6","kALF","7w7E","kAKg","7w6U","7w6A","b1A","8wGZzgqGQYoCjlWPAYsBlAF3AXyNA+o","6hC3","6hBh","AMkB3QZ1EnQGcAp3AdUB0gfmCdMaugLvArIKYhXVBLcPMwG6AlkL3QRKCkADuQSLAuYDqgLkAWoRSRBbEvIigQO0AtUZqgfXCaoB2wWRIoYTPwhFDdYQ9Q1EFr8CPBi+BsAJ6zPlD0dHkCybFJIL8hh2F7kduwGIA+MHzRlpF7UF1hyvBugZPxTrIdwKohd8C0IG4gHcEaMUbALqAegGhhFyAeAHQwLmBkwfxiu4D74JSRDNAtAFqwXoBLEB6wbDDqAH6QdBIUIIqwHnBIMBbyV2Bp0FdQPJDEwevCZvBqYNegFtS0kETgXUJYoNzgfcBu8B6AHWAkMDIhC+Bd0ByhJyB0oFRwRCJkkwTTV2DlAHuwNKUuoK6g2rAr8BSBBACuQCnw/HBeUC8AOvCrQGygqqB0cF3wSsBqkDxwWjJJ4E3gHeD+YJqxNnEI4VzwPtFWEV7Q/mBUMPnSC9CGcY4RJHEEIJrw","F3o3UylHE9IbRQjGK9qSAaTJAaUBUXE+BKp5QpABSyWiIkguRDG7owFECNc9+c8BRSzHtAJGPZ4bR2OhlwFE","gwqGPdw","xwFJ","2wXSvQr5Afk","mBB0AWw","AfYBVAVCAq4BYALHA64BsAFFBZcGfgOlAm4E6wSvAucCcgSYAfMGeAP0GvQEsQT5Bu8GpQGUAqwDywLaB+0E7A1JAsQB7gKFCF8D9wPPAfQCpAKhAbUHQgHdAV8DswLzAkgB1garBbABoAhKBXAMuQZmFWICQhb0A9oBcQHtKfIB7gHLBHsSoAJPAaQISQXdB+wH6RXWAsoD6BD3A0wKRAVUEfADYBlVBPMBQQjzCEYBOg6yBkQo3QL1B84BeAxIG+8SPgF/LPMN5xLoGFgKsw1PHPQB1wHgAdAC1gmBAnkGYw2wAusbuR23BvcLjgf2B8YDpBHzA9Ae8QrLDLwbuAHuAfMRrxRsAvIB+AnuAqULUwvxA08lTTq6Du0I+QLQBUkJ7gHdBvMFXQngB+YHoAR1DH8Z5wHxHUUD6xXxA/MXKBPvBY8MRAklDK8DNwPTDVUB6CSvF98GgQrBBPEEThvPENII8Qf5BukB2AHlD1oHfAT0AcgCsR9JFLsNnwxDDoEKhgTaDk0T8wOqHj0Bfw6UB+YDqglIJpcF2R7zAqIBwgfsAUMGlwa1BbUBsB+OCKEB9gXzBDcB4grmBqIRQQXuCuwDaSnIAy4B+AH4GbILSRSuA84V9gPNOe9PgwXwHO0P9w","jwjZAZw","Xec","MoYr3warFawlpw","+Qaz","kAjy","rwzt","jwiT","6AKR","nQGA8gabAZw","qQnQwAeA","6RDV","rwzY","6AKR","6AKR","jgLH","mQNL","jwjg","uglj","lAfO5QrT","1Qm3","tQFg","1wEr","CKAEWROSA2wBtwJUBLYJuQrFBMEcuwHyBukV6ATED5oB6w3yA+oB9Q35BucDuViGA+pTwQfbHPkFyhDmI8QgxQnoTkBnXg3UEuBL8gHYAe4+mwHQIusS6RvTB/Ea4jKRAeMnwQHmCu8XfHDhCOYl3AfrB0Ip6wF5IPoVxQPrKuS4AakPNgjfD0ALaLwB/Af1VfEKyTtrBXoF5QpfUkEE7gHuGLMjnhVLA3Q57FTkHPAP8A","jQ7q","5weR","pgrh","xgxA","lA7H","e7EOtrUBk5UCsFWblQeg2QEo","vQtT","6QHy","nQ2X","AaE","7w5G","qQbA","Y5U","qQm8","XaM","vAOlyAKq","vAOa","ArPfAp0lyg","A1MBVAtRE0wUzR5aA78LPw88CqAFpgVKB2IBZwO7CUMHagFDAkULSASdAb8EZAGbAnoBoxZHA58GSA2dC3MDjDm2DJ8DSwZEHqUDOQi5Ft0KrQykET4L0A6RCz0KPgGfArEOmQazJUctpQelCtkGPwl/EUsmSgm/A6MWQAa0BL0Dh1yjA7MathLFHE0mpwlED2MFiw+uBaQEmSeaBUMb1QiKEKQWswLBDb8FkwGaBosBhwIsBUYBSht+BEwBrgRHDD8DdAekAmIMQwqoGbkFnQloAqsBRwGhAWoCyAzLArIByBKmFKoDoQFzCaUJvAfEAcEGRBusC4YMPQ27E7gImAOzAb4BiQKZEcEFMgGQAcQGcwWwBKMBnglKA6QZoQiSC4YCnAivDagDRQJ5A8MENgGjA0kHSAoxC5oBRgNHBEgNpQJNCkoEhQqiBb0NixWfAacNTwq+FLcDzialCMkEnQydEjoCPwGeAkcDQgi5CZECbgFUA0YBmAGdCk0rqAKiAZ0NdxedAT4JmwKiA0YGrAadAZ0EbxRHA7IFOQFHA6QYwChIDE0ClAKnD6YBpgKxB9gGdgRiAY0QoAHIAoIQQAKACaQKlxJBCMoJoROvG6UOyAWlBUYTywY/CJ8XowFGArU","qw+dAZ0","8QTE","8QTE","ZNr5AvmEBrIC5CrOdugBtNIC8fABuQ","3QNn","3QO+","gwuS","gwvG","3QNo","3QOU","3QNn","ZKQ","1g2g","xg9t","9QEk","2QI/TURaWKICSW+OBDIyNwhOK0hYyQjFdUSFAlcReqIDnA","4QcenAJCzwVe","AGIGSQtJAUsExCJVRT0WgRJlEEICQ0NFWnYJIwcrJ2ceaS7nB0CRAiF4XgZNAWwLsB1sHkEMIyRCEKYGrT1rL50jqwpLCkZgQhdjDjgRsR3lRUIH6ApFHUwCYgQlCI4STFsgEDUBiyd1TysP7RchDWsIQRFjtwGiBeI","1wOi","3QIj","FlM","1A3t","kwFX","kwFX","zQ/a","wQhInQKj1AMv","2QR6aDA6RcwBpQijWESRAT4moTRIdD4LRQupfHTBAkKQAWA","1wPhvwNsXqY","nAvo","Fr0","+Qaw","/wXS","/wXS","R54DTgweDG4GpAKUArQBlAQ+AUIBbAigDEIEbQdwATcBkwZ6A7gCmAJ2BC0CswRtAmcBdASIA70CgAJtAo0BmAZlApoPnAFlBKsOmwedCaoEQQ1wCqsFkQawF4ABvQGmApQCZgFCAVsEewS1A3AHtwSgCWwCdQKZAbcLpAmbCYAQdAF+DWsHdwOAAX0EmTFsBZYHYQF0A7IdNgpRJDsBcwtNA3ADvxK2AmUGpAFzC08EnhCGA0MgrwKaDbABsQtlAq4QWB5/A3YGNiVmCJsEkR6GB0MLqgE7A30PZgGoBoMEZQl0A3USaQEqAawDygSMCTUChgmBAmoIbQN/AqMBZgJ2BqAEiAGHAXYBiAJyAZkDswRGAbUEewGwBHgHfgGeAaUGWgWjAaENLR95DmgDawZlA20BYQS/AXADxAF1Ar8KeQJmCXkFiwWKAU8SpQNXBJsCMg2tA6YCswG2A2IGbQF+AqUCaAFxAaEBJAGrA5oBfAJ3FnEBQQG/B44DdQNHATIBoASSASgCwwJmAi0BfB0wB0sBeQGjCJkCiwR3AncCpgZnBZwEUgZwBnUCoBCZC30EuwdJA4sByQNLAX8FvQF1FKADsgNxC7cCcQx6AYsBdAKlAZcCrAXSAVoBMgPDAsEEMQFzAp8DkwGBB4sEogUeBG0Mmg5TA0YBpQGvAScCmwGoAXwHiANSBnUHQw6kAXoImwIzB5ACbAOXA7cBtAGTAagBNQajA6MDdgKdDboKhAGnAp4BnQJKDH4DeQJ1AWsDmgN3Dn4DfAF/BXMBTQN+AncBowSMASgCwQmOAk0FmwGgCGcDLQF6A4oIegJvCZgjawWfBMoBoQEqDVgBohMxCFoCtgevAXMCpwScA3MDowE+A3MCmwKICnMCcgK6AUcFNANhBUMDqAR9AawBswW/BZ4CRQNIAokBhwGmAjsBewF9AXkBpwJzBG0DPgEyB0cGgwVoAXkBpAFRBkgCkQJEA00GwwmXAaMGpQKkC7oThgSWD10QbgKeAn0ErQNvA78BiAKUAmsKSwJnBEkNZxeDAbQBVgGeAqkqRmTM","e6AOl+UJKA","wwhl","fsI5odwBYacBr7ADrMoHKQgr","CEJblUE0AS0oeSi8Ab45mTC3QlQmSHJxeTZ3P7MBNx1IiAGUIW1EkyNGAm9tR4oDQw8/","gQmU","+ApH","nQG4FZ0gtwKfuQF+b6lykBGaRIMDbYwBfEGXtAGVJJ4CphOWLpsaURAiCJ5Ib0GMHpwNmJ8BaAyrUK8vlg6rH0clIAtCGWcNniKkIpYsRBiNBx0SrHSo","AMABcAF4BkAaUBdUEnYTfAFGBE0IgQF1B1INcRSTCXgCmA1oDJsDow2UBj0DbQN+FKcLYgJCEi8byQKXBUoRPgGdGUoJSDBUCp0QaQGLAy8dPRBHBpsIOgGxQJ4EcwhNBbIITgFMBqUFSg9lFkcCSQHjIooLOxByCDpoaSJMEZUGUBNNFjkkhhfHC04QlgqIAbAqwQHGAYIQbActAswCgwloA7EHmgFNAT8RwwaMAXgDcAigDssRTQGNAkcWiQFOB1oCggSVAUkzkgREA4kBUAFQB5wCyAZTBXcJvwHECmIczghwBZYWfQisC8sMpQ6hErgKmwapDnwDxwHPAc8BKgFRAqwB4QG+A2cEOgKTAkcDTAlGBUQHTASHATsCTgNUC4IOoQegB8YFRAujAXEWNwe0A0UBxwFIAUUGoyA/E5smQwIfA00LbwiqByMcnw5RLKIBVxikD0sBUQdKBFIGTgs6BcMDaAHODKIDcw9IDagcpBQwBFcSPxHHASAHvChNAUYDZAOiAaIHpwJLGqcIdAJGC+EBgwJ2G7QITA6mB0sVRxG4REgEsAhJFHgCQg","gwO4+AWY3wGa8wLgsgRJ","AcUBOAHLAdABQQKqAsoDswV1AZgBqALfAToCUwPHAXMCxwKxAq8BvwGjAnkCQwh3ArkBnAFvAb4DiAPYAdEB2QPNA6oBcQHmAkABuwFYBLYBtgFpApMBVAG4AVoByAHMAcgBpQayAawDnAF5BT4BcgGkA7sCzwJhAZABmgHiAa8B3gM+AUYBZwGzAXcB7gFoAaYFtgGmAccClwLiAbQCWQF/AeICrQHPAYoCiwF0AccBfgGoAdECoAKkAWoBpwLRAYkBhwG2AboCLAGsAbUBuQFnAcIBWgGuAbwBXQFAAa0B2wFqASwBsAFIAZkBlgHSAaUDwAHVAWUBuQHWAlUBlQfBA7QB7AG5AZcB3gHkArcBtAGyAUAEtAdpAZIBZwS3AbUGsQKsAeUEpAXMAYAHpQRPAs4EtwU+C7wIugbCA4oBoAK2AVsChAE2AicCSwK+AaoBYgLDA6AHnAOkA8ABawK3A2oBSALlAb0BmQHpBTkBtAVKA+ABzwWFAdsC4gHsA3kCtASIA24CrQa5AukGYQU0AXUBTAFQAq4E0ALuAUIBVgLAAaoBmQLYBNgBzQVdBE8FvgKxAlkFygEqA9ACwwHfAugFoQI+A0MDXAHMAboHuQHVAbsCoAJKAcYBgw2wAb4GmQHZE1kGZAFzBUUDnQKCAa8EsQFFB4oBmAE+Am0D0ATCAosDvAOvAtUC3wGiA3AMzALBApkBfwGvAXwGmQRLAT4BXwOsAowGlARiAWcBmgLIGTUDaQJnAjsBSwK9AeQBUQNMCTYBsQF+A7sC0QWkAUcCeQF5AT8DuQPLCIsCxgNKBcQIsAR5AeEG1wHPA6cDvAOnAcIClBC8CtwIwAKOAj4BqgO7AcoDVA2pCOwFzAQ+B9YEQgbBAdkBuwTNB7sHJAGmAbYFkgK4AtMChQeZA8sSVAFEAXcFqgGAAcMHzgK0ApQIMgJKAdoI2wOiAV8B2AFJAnkBcgHBAX4BfALHAjoCoAFOAUUBhQFrAi4DhwSqAXYD4QHfAX0BSAGCAa4B0QWSAq4BSQG+AbAFQwPIAq4BywqaAsgBrgW9AcEBVgQ6B8EMywGzAbsEfwZ5AugBnwGYAsgBogKeAsEEdwGCBacB1wLJAb4H3QXEArsJqgG1ApECswSdAtYBpgGjCsEDxwRCAdEBZQHnA4QB0gFMCp0C4AFWA3ACYgFeAUIBmwLHAbwCsAG6AcoBtAHLAXoCpgFxAYUBtQGuAkcFywHTA9YBsQS2A8EBnQW7ArYBwgFEAXICdQO5AqgDdwKjAsED4QFBAbIBpwF7AbICrwKFAZUBmgZjBCsClwGfAm0ETgK5AaQBugFLAawKlgGGAYACywHpBLUBPQK7AYYBtQK7AXgBQgO8BaUBuwK9AbsBbwF3A34D0ANwAsEDygGGAeIBxQFeD9MDuQXEA14BzAPWA84BtAFLBSoBiQOlAckBwwLEAYsBSwGcCNgCYAG5AcUEmgS9A7oBkAGCAboBywFmAj8CQgGkAWoBvgGvAUoCgwRnAjgByQHGBDkBtgNQAm0BrAF6AXwB2QUqAqUBxwGQAcoC4QK7AtMCxAFGAWwBqgG8AUEBigHWAXsBUQHXAUgBJQGZArsBvAHNAeEBnQGeAZEBngHQAbQBbwHMAWsBswNJATsCSQSPAucDiAFYAbwB2gKQAbwCkwGUAcQBRwGLAa8BxAF8AroBOAM7BkcBSAG+AXcB4AfeBKcDfAHfAVMDcQLPAbQBwAGjAYcCvQOrAVYBSwGcAUgCwAKIAtEBqwGFAjEF1QFxAbECrwG1AVMBbgFEAq0BtwHSAdEBfAHCAccGuAG3Au0BvgO+Cs4BZgNaAeYBSAfDAVsBhgHJATkBrQK7AaYCewG2AtUBmgGKA6wC3AGKArsF0gJHAccDpwaTAZEBuAEtAVEBvwG+Aa4BnQKfAeEBrgGFAcIBqAK+Bs0BngHBAUsDaAFGAb8BoQesAoABowHGBrkBuwLCAd0BkgFIAbQJRQF2AWwBkQaBAVIHwgGBBJwCnAijAWcCjAF8BOQBmQHFAVMBsQFrAT4CMglqAnwBPwFWAScDVQFzA3wBagKmAosBswHVAi4BQAHCApkEsAPOAbgBZAK9A6wBhwHXArsBUQKIAnQBcwHXAZ4BRwHYAqED1gGKAcsBcwi5AZQCuQJ2AcoBuweSAt8DLQHHAcgBlQO0AZkBigGsAZ8EpAHXAboDkgF/AUkBlAHbAUIBtgGlAdkBOQKIASgBzgG2AXoBpwGWBLEB4AGKAbgBbgHdA3wBSwGxAcUBrwGzAa0IaAGsAbkBtQPBAUsBqwGrAbwBxAFJAVkCYgFyApQB1gFMAcIBYwJgAp4BzgS9AYYBwwKNAWcBvQPOAc4BvAJbArkDwQFwA2IB4AHNA2sBKgOsCHEBYwzeAsYCuAKaA7EB6wc+AokBrgJSAm0B0QHLAa4BbwGoAb4BvQHXAaIBogLWAaUClAImAksCiwKsAUQCsAFLAYYBdgG4AtIBsQHsAscFuwSlAZ0BugF/AnEB1QFhAb8BuwGfCMEBlQN7AdIBRQG+AcYKwgK3CbQB1wSnCsEB6ATYEYwKPQ6jBrMBSQ61BKMEQhTKAUkFqQ3TBtEC5AW4Aa8BYQVGB7wWxQFtBjY","vgbl","vgax","tw+r","9gLaAeo","9gJeAVM","owPq","B3UFtyGCY5gCsOoCmL4L6ZsBvCzl","1hCO","8gmD","ugG3hQLsgwfmAXeWAuIFrQ","wgqW","ugFy","IVccRAK9A4IrcTJBBp8PWp0BYBaoD14wfFZFC8o2wQ4xF6hsPCRQiAGDVEMqZgZNCEEVmjTYHKpFniBengGjNEQGrC2BHa8CnwTmNLwEowiwCY0BRwGjROEV3B2YEkhhoCiFDx4IohebGKgHxgJTB0IE4hKIH5Q7ehJKEY0SahW3GXIGuAtBCmMCPQa3CGEDOw6mBngMbQaoClAGtgRGA8EBZAhoArUFcQE/DbQNSQG6Ars","3gOw","3gOw","9Q2w","cmwDdAgma5waXTKKSKQhoQWAICl0rGlnJ20hKp8CKcQBoBN9AYYHIg19Cn9iZAZvBScCXAJ2LDEBpQyXBC4UkxMuA4ADLAJnNXIi5wMoGzUUd116V2klNCwxT6gie0pLEZ0PQAFilAG9","AteiBc8","pAVz","kQlozgOnsgFkAjoZWk9n2QGg","ALIDvwRLBU0BSgG5A20BowGyA4MFfg2pAoIBPgFtBVIDzQF2ArQMrQWHBpIDogl3BKIBlg4jCUYERgWmAWwEfwKaBqABoRNqBqMLnwynB0sDLxJxBZYQggqCApYDgwKdA84CgwOwC3ERzwLOCYQKcwujBKcGSgN4B3AKMQiCC2snOgNuAzcGaQdCEqMBnQV2BlEBKwKeCIMGlQGuAacBkAHDCNQCcQijCnYCngJvAZ4DagGUAZUTTwObDKYFzAeAAZENaAFwCJEHsAWdA2UwQgWUBG0FlwPLAjQNzQ+gAdsCqAhGAUYFzwFjBXYDTRHLA08JSgpFAUoXzQFZCysBnwJzC80JnBCGA3cMnAutBFEB0AGxCIUGdgGdAWgNpAyYBHkCaQPIA0ECnQJwCUUKjwPKAUIGbQh2CIILSRZUAmMKkwhGBFEZeAJVA2wGSgSPBp0DXQgnCHAQOwycD1IDsQnDA1EDvwmhF5MDQAaeAdABmwFFCFEJnQLKA8cRcAJvBqEGmgNgAlYHVQNCBFMEYgeFFZQFpxhUBncEPwo8EaYCeRXFAj4IlwPOFJ8IMQV4A7gBpwGAAZcBkwW5BJMGwQKPBX0BOgkkCmYFSwFMAW8OPwN7AqcESQNyAWwFqAJRBJUBeAlAClEFLQx1DawGny1FCIYCKwNkAZsDMQaBAacCaxSvBXMHcAOfEKYPIhJmBXgBKwlCD2EFxQFWA2IDnAKDAZENNQSUA1gPgQtkBG4Obw5ND3ECgwGSCqUGLwinBnEEmgF0CDkBWCBrBXAFUwWTA6oLRwOcEUEOmQRPBn8OxwGQCn8BQAGBCZgPcghnCc0HOQFnCKAQewGoAoIQlSaeAWwjuBFADKAUPwSpDEgEQwKdEEYUow","5QJ7QURBPFGNiwFHsAFKcZwzp9ACLl4khwGIGpXeA0hRQ3jU","tAmNhQeq","kwV8AqM","DjkFgQM6GroIiBaTIWUNyAufJ3QayAuEAioKPg62GXUBrl5dGZ0moQKgTq5rkw8pL7IT5KUB50dEmQK78QFuLqSRAZ4w7TFmJWBRb7cBwQYnCIAUhA","lQ3o","JGGlBsvkBSw","8wEp+wKQQmPgAoI","Djm/BV3LCaY","AkkCmQFIAYsFzwKnBNIBowPVAYMFfgKfAbACswGrAcMExAKCB0QBhgJNAnsClwObAasBfgZmAcICuQHeAboDpQnJBEcEowVGAVABwwIfBnEBxQPGAtECuwKZAcYBdAFxBz0DMgGrB4MHTwNbAk0CXwFLBK0IvgZCAnkBaAnbDZkMzwZ5AXMBtgRtAZ4EwAcrAUsFigZjBLAKuQVYBM0IzQWRBXoBcQmTCpkGOwuaA0QD2QumAsUDXAPhAfIFSAtKCZsB9AKXAWAHzQKjB6IETifqDrgHwAaaAcwMbANBBeodbAZNBKEQQQXGCZ4MwQOeC6gWJQRlAjADnghLBl8RvQWSB+ATNARLAoABwQRrDD8O1gNGDXMJuAtpDPkGcgWLDMkLSgjbBGsLTw/cCKUF1wa+AdcBtwIjL7EZWgOrFDILpgRoAoYBPxByAt0C4ANqCKwBsiRKFdIFugSuA/UJfBWbBCkPtQK+By8JNwKmCTsIpQRTBOcI1gOdAqMEdwl6Ak4BWAJOAVIEoQJLAkcBewLoBisBMQhkCVMBmAKqCkIBRwMoA84CewOMBN4KjAsjAV8EUwJ2Bl0FHwTOBIICexVtCmoCTgoqFJoHTwFJAZAFHQUnBaMKOwqsA0cKdAKsAy8DySOqAZ8CQwObApABkAXRA0kCSAQuAp4BkgHIBFEBzAjhDUcBpgGiATEByQw7F5oHTwKjCM0CuQSrA7sE0ATUBKwBRQhNAUABsAexCl0McggrAcAEgQJtAUICqgSaB4oKuglYAXcBfQJRAq4ITwvZBpoEzAHDA0UCpQS7FKAOvQJwEpEHYAFEAY8CxgPDAbUBrgdCCm8DmwHBC6QHogFNAZsKUQE0AUYC3wJLAi4CTQHBE0oP1QG2B4IRSAGmAU8FOQE2AUEFQwKdA4IDtQFXAiwPWAUmCUYIOwa8BrUERxWOC74Tngq2BJ4BOQFND8UJ1QHTEpoBoAU7ASEUqhiRC8EOYQygA90B6AO2AUYKtRqqAs4OYwFkHu4ESBhHFe0","7AiekQZIxgEh","2gIs","9ALFtAXs","hw6X","2QK5","3QmP","iwW3","phGt","hwzj","zhDDAcE","O4L0CzY","OZkBjAGsCNIBkgFZA2Bt0wnLKCtXgF+mMsIDXjfwAcofuHwhIqMNrxSze6QVxz2xowHCC4YavSakDMYcvTHlYqcB1h1gFLcE3RKgKowFo1dvDeIGqgffKNsrqBp5DLIXRRhhCaQrdxB4AaQHzQOwCMAFqkCfDtQEqBubDmsldxAnMnsIXgHYDDmrAdI","+wmbmAFF","zwtN","CKABTgZRB9kILRpVAokDzwJhAosI7w1gC8MHKwuZAuwCkgQsBOgKJw9fDikh6hTUDOlpMQ4uBjk+8wJCAqQykBCJGkcb3Ao1GKMNShyvHPEe4QHzTLQM8AVvIbN8cxXKAqUjRxcvCzgL8z2bJX4GMQKUIysM5ghXCeQa9gKkAs4K5wTpBKsBnxRCMNwG8yEzA7AQORtgDt0CQhHuDfAC5Rb2DrIBwwKPAywDgQTyEPUL1Q9wBDAIxQ1uAZkE9wa3AvQE7QPaCLAEcAcwAWQcuwLmDPAFSQcpEPINLQJPAvMB3Qe4Ce4BkwWbJkYrohP1BO8B8AntBukC4ALiAS8CxQLxCywBNQo7Jr4KhwJnFZ0I9QJlDOAF9gH1EJcH6gQpCPAB8lKkCacBcxw8PGA","6AOJ","7wtHrAGugAEmfUw","lg6Q","FsM","fzo","AHIBcAKvBVEKvwJrB78FnwKvAjwD3AGpA3UINxZ/GroMlAGRB7ACiAJnAYAEmgKrC34CKQdvAmUHQQnSBWcPmAarDbIOtAh3AkwBPQHOB6UPrgKvCOUB1wGmA5wE0QecBbEEzAjRBOEFngasAbMIqQ89FXwQzgHDB80NeQXRAeQFyQGHGp4C1gLRCJEExAcqB8QEuA+0B38IrAyrAbYGkw+zA8UD0QiwBacEnQJ3A8AFshOyCrYIkBSjCJ0Rtgd0CKYBbQ9aArMElAKRApwCkQfRBdcHkAt0CNQW0hHPBlYOxRCVGdAPpwR8D6gB1iK5Es4JyAWTFVgE1QW1BkMB3wd/Dc8HTgfBArMGmgeTCbIRggmQAdkBYgykAbIExBN2AZ0HdBGbEFsUlgHDAkINyga0B6QOwRGgCq4Eog6lCXgHRgWgAckDhgFcAlUDqxCGBksEPAaBAr0Q0AGdAoUBTgG0BJIFsSHBAYgVrwFHCbEJWgFOAa4MtQRTA0UBRQKZA0wLZQHQDVEPTwLNAkoHhxrZFccFgALeFq4DyAqyGpoDrgFHBL8ZpwZIErwFzglSBL4SQw5gEN4H+APWBsgBwQ+rCpYYwwFyBkMDMgG8AUcQqQRxGN8LLANqB5sMcwG0CM0MfgLjDzkITwEwBacN5QnKEVIINwhAAocDsAGkGkAIrApkCb0CWBmsBc8MkhY5DOoC5gRkDIEcSQJHBbkEPAeDED0KxAiDAqcG0wNFCTkCPQVCDVAPQQXUE2UERQXWBkkERwRuAY8KQgKjBLg","gwqG","qgq0","7AmD3wbdAuM","pAH6AfY","pQE7","pQEt","pAGx","pAG+","L+6vD9M","L+M","L5A","2gmhvASQ","gQ+s","qgvXC4WjAqwrKqwC0Q","vAem/AST","pAF40gLeSZlR9QHtNuMB494B4oYBPBH7Ae0B+hHhDmxX7j6yMC0QWeEBlKwB8AsyMsQvIQRrTC7QAalCniD3Ue8B9ALy","9gPjvwW4iwRPwATH","vQjo","/xHT","/xHTA9Y","tQms","vgjh","vwiR","vQi+gwWGvwTzA+Y","vQi+","/xHVA3I","vwi5","kAX0","vQjQ","rhE3","vwjQ","wA3F","/Q2f","vwiR","vwiR","/xG4A3I","/xFx","vQj1","9gOw","xAcpqAJlAtgBRsACNg","6w2+","4g1p","6gzv","6gzp","AkkBfwiuA98EfgFNEIYUTAydHVACpwotBnkLnAlrAWMRswMzH1EgKAEoEnYZyzCgAnMPpyxrNGkCPgp8GisBTwnYB6UDOgZ0BNAcURZ1CoIluRVmB61apHhjDU0x8jxqD+EBdgTlCqAMOAFaGp4DzAt9W5wEiQcqAXUQZAmhB8wRuQM2DbsXLxd9B5oIcQ6LAY0cHgNzLc4D2wh8BLEDpgVkBs44ggErCW4UIQSnMUcFhil6A4UJNg93BiAkdwykBqYLfhHeHZMeahpRBm0GmwGEC2QCJwzzAe8HohTDBVoChxcqNmcP0RIpCJMVJhfSO7kLsBWhAUQCogUvCIwDThHYMzkVo2fC","bSM","Us+LBEURkKwFKA","mwM6","bXwILBImHi0EuYMBejgrJ5GrAZELVgY8RcwmNv8BMhalASkXk1/LbDkFMJsBMwicUDEqkAUuA7IEU0YoIXsWfBkoBp8rLSs4G3A7IAQxEDkzMQY3HKgWnzuTSG0RgQkx","lgFCAkMPQKoCpw6yXr8EVkmx2gKcC5p9T0LA9QFFJSXSAUk5Zi9AiAGGD6MlOw","igWx","CdUIqQSOB8YGrw5PCdwBqwG7Bo4s0gi9CZ0ReQacArcIfgW4A0AMYAU/AUgCLQEvByYN7gE6BMgGQBvxD1gM6iOyAmsCsgVLAo0BqgPmCtUEPQKwAbYI2wFIAbgBSAuSCbgD0AFFCb0Mzg+3Ac8BTQW9BrgBpQJQFusBKQzrA6cDmwtJHEAHvRu9C70O6AfQDsASqALPCb0FzRK9BSoG8xXaAYoDvQLmBOUJvQGfDdkT9BRHC9cHSRfvDdwmlQV5BZsC7BK3AdkBqxDeBEYF0wTkHb0KuQu9Ar8MuQGLAvYFRwXLATUJzgS4B7MXwgu8Akcfrg6pFL0DmxdNDM0D4A6yCOwLvQ6oA/ADvQjmAdwBpwiwEb0Cwwc8AzIDvAbgCdgMtRvrBNkCZwSsAmYPvSqcBJoH6wLLBL0KMRjqA+EH0QTtBs0M7QG8BuUJ5gTdBN4BvQLAAagL0QPrBbkBTAS5BrkJ1gG9CuMBvQ7YAcICuRfnAa8EvQZLAr0CrgK3A7gIvQZsBLkBbwIvAugHQgevC7kCtwGrAecB7AjRAbkR5AKJFbkC7QO5AbwFqgiwA7kBzga5CkUBywG9DLkFxAPWELwDwhxNAbwEuQPVBLUCIAE/AawBvAO8ASQDvAG9CFEBvAK8ATIDvAK9A7gBvAk+AjQBnAjrBdEOwQ+KAo4Ftwy4A7gCpgVIBkcHuwZLAbkBvQOvCakCvQW9CdcB2QSpCr0MvQG9CcIGmhq1CJ4HPg7NDusF0wPHAbgCvQRDAVkF2wq5A581uA","9gGirwM+iATE","kg5o","jwF5","6AuA","lQGz","0wXm","0AG5","3Qlj","3Qlj","QY4","4wKgyQF7kANt","oQNQCjyJAVHfBEtNdeoDTQ","uAIzhAUoigFwNqeNASsILQV1NDMMmhd2L6klMn6rJJ0JhA0mBYNXQT5iDWgGNAQrQi8jbFNI","b1C+Acj1ApMXasEBpCHDlQJ8igaE","xQL41AHzA+xx6gN5AvOMBPnaATufAfgB4g","mQTh","mQRg","4gys","BKcDQgFRAlIK3AQzEc8GqQGGAe0CxQI2C+4OnxB/EO0B8wIqDCYIkAGwB5IFoQJVAlgEKgM2BNgEmhBZBmMBvQXpHW4PgxLMLvQH5wEyIZ4OwAjNAs8ZogjBAn8LtwWwArsBaQErAmAELxJTA1AMzQFhCeMUugQwHesIPQHrGD8G8AHnDKIF1wujDOgCUQTvDG0IzQO3CbkEjBPtBcsFjgF5AfcMiQSrBfAFagNIAYss+jPyCGAK0RuXB+MBqwM4FOYN+AZKF5sSpyZuATsM2g5ABNUBXwGuCjADiAkpB5UBiAHbAcIK4gqXAckBXQWsCCUD+AGDE1wJnwN0A00HzSCWAS4KawLUBrAB5wNNBWwKMQZZBMAHuQ/pCVAC8whiA7QH1QLMBzUYwgZKAu0HPQRHA80B1gkxBU4GjgSxBCYBVQFnBacUeQNCBDUKUAFHA/ABtQYoEE4HQwbMBSoF4gYmBt0BMQEmBS8JqAkhDKkBzgKjBCoDygZEBvYHtgLlBqYB0QXUAYAD1QKvBOsQXwHyAyUNKwPXB9ADWQImDr4HTwKtCMQFtQSlHeIEeRFSCXwBLQbDAZsDTwZuAucBxQk/EiIYnAKRFG8Q9ANPBK4GcwGMDCMK0AxtCsAGswY0AUcIrQFOAa0ErQQzBDUBbgmSAR4DQwWbA1cGlgJbCVsCUwQoAWkEoAk9BKcEZAoqATYD3ATWAlwB2gdzA8YFJAakCD0GWgwqC4YBeRWQCesE4AdGAXICLgSBAagIIw2EDsEDUAJcAVQCRQLiCUsBVgFHAbwBnCufEmcQcgU8B8wJQxTjAaUEPgp5CtkQ1QLdCEkVRgHIBZsD3g","CcwM7QqLEeQJ1AHnAdoI7RxiEEM0nlrtODsh7QZIAznRAcRu0wfNGttt7gXvBdkfmxWoUukOfrgBptwB5twB1Q3h","sASu","byfmBek","wgU7","qQen","7gXZ","5wp1","E6gCmg1MBbABNA9WBM0DnQZ/A54Htgw+E3wBJx+CGJ+QAa5xnzibG9BeJWKiswGYZnmzAZsSLoMBTESjBh0FJwQxMCsEOUpKKqgBLAmjFCgJoEypEygXI4oBbkAuMTwIfAqoTppMtA","swsr","3gObf3HSBKOPAnYZni+kJywRQcYCbg","E6gCmhKwATQTzQOdBn8DnhM+E3wBJx+CGJ+yAyViot4DLs0BHQUnBDEwKwQ5dSwdKH8jygEukQGa","0wSyD3/0A3c","mwHOOmLIBGbmBSdqJSmBigNrE3E","4g3R","4g3F","9wbO","9wb3","9waw","9wbd","xwXg","xwXT","BJkMwhPKBakCMBtYEY8EiwWsA3wBbgbDBp8DSAFKAkMBxgOmAawBQQM5AWgBRQVKAVoBPgJbA1oFzwJHAkAGQgdWAkcIRwdgAWEFbQEnA5gFSwE6BEkBkgnBAm8DPANLAcIBNwRjCGwFUAFMBr8CpQSMAUEXnAVnAagOzgq/B2sHXAO6AT8CRAWFBVAGcgN0B0QCSAR0ASsGiQqtGHEMcwJrAl8LqQFvAT4VbQK2AkkGTQVvAZ8FUQdVBEAIYQh0FUQacBtoB3QFTQM8BUoErQ26A2QBsAdGBpAD1wKMH5INZwIrAXYDngFRA5MWowRnEE8NlAcqB0oKTgFJAkoCfAWhG0kCSwMvA3kGyQucDUwYzBimKksIsAJIBs0DiwFrAs0NqQF0AYMCSwTTCHYHhwSdBUcCSAF0CX4aKQGtGugFeQ1CC18DSAYmAkwIIAaZB48EdQPOAYoGegKBBZgJfgJkAmwCUwObAT4BUwo/BncCugaqA04DwwOmAsYGLQMhAU4DZQE+EFQESwRLA24DIQOgC0YBRgGGFKMB1Q5GBB8EZwKDA0MEcwJeAaYGRQFNBa8OaRNMA8sJsgd+ASwGdAVDAkcNRwFtAUQLJwFXAUQCJgZTAWcESQRsAi4ChgFiAXgERg6fAoAIIQFHA54CmwInAkoBRwONAU8BRwRFA8gDjgGNAmkBeQFRBEwCMAlHCEYBdwGAAUcBiwaICaUEUQdyBEcETgyuCUMCmgZQA4QC0wGBBEUKRwhQBk0LSwM/AXIBqwcrAUYBUQGvAjcDeQKbBS0DgwpgA34LTQZDAmoOpgGTBZsJSQJFCEsQcQFNAkYHYQYzBkcKnQElB0cCpwFBAz4BfwpoAoUCVgE6EX4DtASlAU0CfgV7AWcEQgJRAkYGVAJNASoERAubArABMgtKAaQDfQExBS8BZAKsClACRQFLAmILwAZOAcECUgRLA0IBZQFuAa0KWQufCGEFQAR+AUEBIwEcATMIRwOkBoEHawSpF6EHRwGhCUkBRQdUBiwBJwkoB0UEnwahBlcFTgFUA3EBexjPBdVZnTfJ","BlAHbxRIAZgdTCMpEHkBowd2EmIJQA+iCCcFagRvBZkXXwihAqkxpFLLFZsNlguRF6AU41RWAnYRmxHMCJEyuwuZCJ0BzQNiEpoIyxCqGaQHywbJO8kVsjBmJ9AdZwqdCqgMWwVNBscCtxQuLMcHLRbTKZsPyQaDJmUklQdLBaIEPiGcAScDtAVlA70CsAxVCkQFjAqaBLcWyAuSDXUMNgXQA8oVbxVEF58GfwGPFcoPnxaOA6QJewuhCKAEsxIkCEMJeQtJC8ADhAiTBy8FJQSdAtIiaAQ5AtkCpiKbFowsrBMhC2IcVwSQBCkKqAKlBCsDzAFDAaYOjQI1BqIDow3lDboLrQzDAssBohqMH+IEJhBtJlYcnB14oAE+","7QG2rAPLgwIvvgEohAEoiQKh8gM4LJtPKULGBUk","EMMNahSHAYYXsgurAX4IwQbKFXYhNQyfEYkWinU/DZ4dPzinK8+qAcNBn03BAc0iaRvAJOkG0wuFHeFAZxCuAdIB5wHVFHEc6AHBCnEQaBXiA8FFaAbTjwLrKdt3LCclQaZ1aQ6kFOgV6A7BCqFGog1AGYR2tj3pTqk","mQjd","yQjJ","yQiq","yQiq","6Abp","xQ7o","lgfV","lgdB","lget","1BC2","lwm+","7gbL","zgPP+AgsJyU","mgirCqU","5geuAdIB3A","pgujKbw","pgvm","zwse","zwvD","6Qez","hwaB","Y1M","RKDpDiY","2wRLkwKf7wOndZFdSXyq2AFIkgGY","0gFuxgEsrwZHoAEuYiU6J+cCzRUoUTwJXwSA","3w/C","3w/C","uQro","uQq/","uQqU","uQqr","ZHkSmQVBUz0YSDTb1QOu3QWhCEtooM8DshtD","pgzE","mgLP","1BD4","1BCP","CFE","P34uIz/WcKSUAs9zqqICZqgBKrYBmJ8BQS7MKrgPkVV2DJj7AdMRpxxwgAJGVkk","sASu","sASu","AdAB2gNBBroCRwE5A8YG1QdOA98BTAGVAWEIbQhvBeABcgl8A8cUpQ3RBMoQuAK1BrMB2wPvAsQBbwRZBJsCqw9FAmUHdwEuBK0QxRLMAkURqTenGDsMPhJPDKIF0wErPrsCkQNFAWQCLw9tDUEXQAnVFS8p2QvCAckQzAY8HYIBhggoBKcB9xTIG2oeLwKgJm8C2TB2A4gFPgesJvUEQghUEa4B1AHYATANtAfWFCoE2iDKCHIDcgSWBUMTux1uCFo48Aa1At0BwQJMBIkZqQi/BtAdPw5uBKEFKCxLBKUJjAHyE3wB7gzNCCsHTQPIAswG1AHbD98C3gTIBV0ZJQK5ErAFxh3sBMYIswTYBC4EzwgqCmkLRwRCCdgB1AIxBUsEpAJGAo8N6Q1RDusEvgJ3AaoXWQezBkMDngNfAbIMQQJ0BMkESQJgISsBSAd4B88BqgNDCNACRAJHFYwBcAfFDM4B7RFKB9kZugZHDN8BRAZPAmgBSAJkDYMEygI/CiABRAWECK0BVAIhAbcEPAPGAXsCRgRLAboFQQLGAZ8CTgvjDNMFSQisBUcBrQjSB0cBuwmrA6kKZBXoBmgJ2wtyAnoJyAV0CEgPogbNBlIDRxJ7ASQCoAGwAUIJSAZDBYcCQQ/pAk4B5waHG0wJgAJIBtkDiwg3DG4ESw1IDzwCagHrGdUTjQy8GPAgyg","hwGc","qxE7","4xG8","zA9Q","qxE7","yQd/","FEA","+wVF","rhCx","rhDW","rwvGE6ixBb4P4ibq","rQOsAtkB6NsEuZ0CPMgCx9UBog","rQOsAr8","8AzH","pQGfxQauvAal","tA3z","tA24","tA3H","vA/x","vA8r","jg9I","vwV6","2QpY7AJKxgLH","vQG4btJ0SpoBzw+mNM1TgroDq0fYUoFFpSVhQMocRwN8C8ITXWhF1AGtgAGkGb9IQ7wByw","1wTR0QQo","0hHR","7grm","7grZ","7goo","7goo","Xe8G8A","Y1s","Yx8","mwiwAa7dCbo","nAiu","1QjY","EMVNsC6aA1k2tAOXFXY5t4oByOAKnQ","owOd","mg13","AGID4QWwAoYF9wO0BMAHtAHBAbEBywG/AXAIpwJxAlwBtAFAAYcBngG0AY0BhQRvAtcBVwG2As0CjgGxAU0CuQHZAaoCtQJkArECUAE1AdcBvwSEAYwCswGtBbIDsgGoBdcB3gHWAscBfAGOAcICqQHgAZIBxAHSAc4B6gHBAsAB4QLoAbkB2wHJBoYBsQGtAeICbQGJAqUBvQOKAa0B0QHGAZsBaAFCAboBWQGoAqAC3AJ3Ar4COwHYAdgCvAFFAYgBaAFDBV0B1gG2AeEBpQHMA8MBpAHdAZMB3QHLAZMBcQFlAjwBywK9AZQJnwFuAegCKgOyAXEBTQHFBDAHmwG8AZQFswGCBGMBfQLeAXMBgwGCAqMDgweDA7EJjgGcBXgToQWEAYIGYATTAa0BbAR1BKcDwgrZA5kBkwVqAWwDWAFSBZ4BaQGmDpcB5ALmAbQFgARvCaMCkwFTATcLswq1AXYBQgHIAbIBeBmDAaEBpAvLAVEKpQKvA2cNxQOLAZwNwwHNF3MKkQo1AW4OYAeKA4YETQOtBZED3wjGBIICMANkAWYH1QHDAaIBxgOLBbYMYgLSA6sbtwGVApsC2AG0DYEBgQbHB1cCeQ9BAmMUswdzAY0DuAZ2AXICyx/EA2YI6AF3EMsMngSGAU4HhgSuAcABvASHAbEBcRKSAXIBbAWDBGUCpQdVA3UI5gHiAdkGsAJ/AbwBswbHATQDlwGmA40CcwI4CGsBgQJ9CJoEtwGWA5UBhQKgAV0CngScAUEDawHVAWIDmgTLA8ABugJjAWwBZAHKAZsCkQVUAT0B4wGKCnIBnQqtAsUBfRCnDpABigGdBJQJsQNrBpABhQGRAcYBYQXPAX4CcQG0AoAFvQGXBo0BgwGZAYsDywOiAYYE0QW3AXoBvQGlA50NvgGWArgBpAGeAnMBwgG9BtcB6QWnAXQD0QLYAXADpwKnA54B4QKGAcIC3gHGAXEBsQHOAtIBcQFkApgFhAHWEJ0CygIsA6cBbQGzA8ACcAFzAa4CaAF8AXEBfQGiAa0ByAF5AZcCawKTBmYBtAGVAawBvALIA4kEfAGLAXABqgEyAoQDMAGGAccFdQFsA7oBiwPaAcMBdwN1AXsCdwHAAa0BegFtBtABpQS0AY0DxwvEAXUBsgHGCL0IfwPgBcADyAG6A1UBqgKrAU8BqQJ2A78BkQOeAVYBmwK9AZ4BsgGsCtkB5QGfCKMEowHDAaMBogGlAb8BtwK1AccBlAHPAd0BrwHjAbcBnwGEAY4BpwGfAYsCawSRAUYBSAJVAYgB3QFlAbkBtgG/AZcCvAHXAXQBpwGuAcEBXgGmAcwCxQLEAaACUwGlAZUBwgEyAekBkAJxAsoCrwHhAcIBowG9AbUCtwGiAY4BzQKpAXwB2gHOAbgEYAK8A8sB2wXFA3ECNAGdAcYBiAFsAbcBzgGJAZcCUwWpAbcBnAONAaABugHMAd4BjgHRB88B6ANrA+UBSwGcAZ8BqwFLAosClgG2AZABpwGHA40CbQGcAdcCpAHFAYoB3wGaAdcB1AGkAbUFlAFOA8EBuQHJAaMBjAKMAYwBsQGQAbsBsAGeBugBxgbJCsAB1wKZAX4BugHNAc4BnAHGA8gB0AGFAdQBwwGKAa0CsAGqAlAB2gLGAd4BhwGmAb8BzwqyAswE4QGLBX8BhwHrArEBkgG9AcUBjQPfAcwBigF3AUgIzQGNAX8BpgOgAZkBsAG3B3wCdgG6AXoGjQGfBNUBtQHOCYgBvwFsAagL1gTGBtII0wHOArAFlgGLAaoBggHOAaoBjwt3AqsBZAG1AaYCyQHHAdgDmQGWBZ4BqwLCAY8BwgHXBLkBuQFaApoBpgHIAXgByQGwAbABqgGrAcsBJQF3AW4B3gFVAr4BnQGmAdYBaAHLAX0B2wHXAsYBtAKOCLEBrgLgAcYBkAFxBsADkgGUBIwBwAGFAtYBvgGWAbUBgwGSBIQB4AGgA7oBuAFnAW4ByQHBA7EBawHBAeEBtwGdAXkBjAJzBIgBvwHCAdUBswHQA4sBzgGKAbkBeQGIAc0D2AWBAbcBsQF7BM0BjQHZAoIBxwF7ArgBdgNwAd0BbQFjAsECoQG+AaIBpQHVAcoBlgGSAa4BpgF0AW0BxgJ9AagBsQLVCbYG5AOkBMcCXgF3AmoDlgdvAaMBXwGfAaMEygO/AcMErQGjAacBqwGiAc0BQAJMAnwBegGfAcAB1QG1AZkBdwF+AZUB1QLcAcgCzgKLAqACcgG8AYIBngJ6AZ4BngGRASgCxQHYAU4C1AZKAbUCsgHNAWABdgOvAbcBowG3AccCmQKUCHsBwgHQAaYB6QGvAcMB2gHUAcwF2gGtB98BvwHeDdEEkAPlCLMK0QHUAbACoAjSA+ABtwjID64ErQGJAbUB0QKgAqQCngGRAa4BpgKJBKUB4wHfCtAFygHVAcYOzRvSCskCzAXHAsQBxwTrA58","+wXA","+wXA","bt2kBddm0wHhAc35AkI","D37xA4GSA6OgAio","BL/rB4rhAog","CEIDjAZ1BYMLNQJtBbIFQRLLA4ICrgV/Da4IlwRGBpcBuQRxCboFnQxjDKkCQAQ1AjMHUQonAUMXHhYoBWkIKxSCFpEsbwaIE80JOQtuCS4NnxymBXcFYwOJFS0JbhNsE3QVbAFvEK8UvgF/DikDzw50FpwELQdsOG4FZAQ2F3UGgQ3AFHkBchA2Ay0mJgFzSpkHOCBkBDkGXwrgDaIMhwjGAowE0wNbCoYFMQQuASoP0gYwE8oBcwSxE5QichucGcYLSQHqCoIInAylBzYDswGJBysBMQ9wAawCKgIsA3wBMgaWAWMExgtLKa4BVgY1BTwCPBKpCCYTMzh7A6QKggIzAUYBYBOXAi8grAOHA3cRywNHDq4PkQQnE9ULKQExAy8Lsg8vBywPyQ1pAoIKZAafBSYIWgu7DH4BhghEATQJWQJcBSMBSQbHBosmMxsgAd8VKASZASYILglGAy8DLwOzAUIFtAV8NYEEzAOvCCIFMQhxEzIEWAx+ECMBXQsdD5giPwLTDyUF2AQrBUIHtQkmAX0IKwMxCs8opA","hwlwqAFE","FoM5UAFyPToFRwOzDoUBogpIBnEEmxyqBKtDpR42AZ8FVCJrCXkMQiNLDp43uwpwmAFGAUcaoQFhD5QEriNNHUUKtHO3U6ICoxbJiQFuAaJKQwNHDaghcQVEATwQngg4BaM4JgN3FXoZsAGrEMEBlwlJFUwloge3GKgPrRJ4EaEmVQtGAUQDvQKmIlYFnAh5P0k9XwPIChlsWlF2D0cDRi2hG5glqgSdDJQMewG+DUYRQA45BjwJRiG4GLMEShO2BUkOQgavJEY","qwM8/gJulwJ3vgWB","BJkUThx7H7gZahFdCKABmiU7BJ8JsAmgFak20VOVCs8crRVLB7AWoxy4RZ8bfRLOC3EBcQFxAXEMSQKjC6cCkB6sBMoIzwpIJ8u5AcwuixXNBNsBRgHqBZkdizSGEcIPqBWiFnoorRyuG5lhbQLJVZIRiAJHDI8QkGVGAUYoREucCqcrygKKGM8BzwXQFcAQwwS/FtAYnSmWAroSpyWlBIQSpRigF78CezufF68HKwQkFssBrAahBqAIlRbPLZ8Bpw6pFYgQyg","yA/h","5gjKmAKRpAGBdX25AjzgAUY","7ge3","ug+u","fHmbB8GQB1E","hw/FpAFwGIQ","hw+VpAFwGIQ","0waaUJg","He+YASk4zAaqtQE9vwKpjQJUTrMBygKUPGW+Ay8DjCS9fZamATFFJ2Gm","wgyh","7QGz","CVQtUQJ4U0IE4gVAB74LRAU7CT8BRgJDClENPTngCqmHAa5C4QMbRi0d4B1FXokc0CO4LK0syBpHKtwU0RJKFkgTq0JyREgcryTgKY4bLjOBBaIOwQONFaVQxiVBDb4EnhVHJroBRRmcHaYBWhbXFatbzQrqEVwqtC/BAeMCjhVPC7ANuB5DAa0PrBOUBkNfS7EBuQ","1g11","BUEEhB3Habx43gpKGlSvAdUDQWPrHZw2kFWmpgFKCNxTKZYBoSxmP0o4dQWiBM4XSguPdZYmLkC5NIMGnmpKGz0lYAU/MOxOLg/cE55iJE65Ra0ZTg","HfTWATxGkQHPswI+mAGFkAHm6QalkwNu","/g09","HU0","+AnL","mgNMvwdJQ1EyT5EBp6oBvw","5QJE+gFJ","uQx8","DE0HQghKNHgBckmmQHFgoRbTAaARSjmiDGMXlALJB8wFegymCcGQAbQPYhN1nQHMOD05cBKSGKAImSFpBpOXAccBaAizAZkCigakCnsEqxyjC6IFoAt4AqAEhgF4CMgDfBKBKSgshhpzDrADwiPFEYEOpA/EIqoCwwnGBaEVsAfMBZ8UxyFuB7YBnAifFn4BrRh1O6MiIAzKAWABQg+qZnIXQbwBS05C","BZ0NflBUAZUJQhBvC0IQnwOaA6ALSz9LSHQJbRigEUMvcFiZMHIFdWeSYcubAT9PQQNYKzEIUVdLQE4KpyNTYExdRx2oF0YpTCxFIWxOaHieCVKJAXwWygpwA0sROmJR","9QGMygZjbGbiBm4","mwWSuwGeF0s","xgx9","xgxK","Gn8SvA","3wc8yQHj","qAlr","Ca4KQhuFGZ6bAp4vkHpjjgHLFMqfAslBTUlacE1BnZUFRlKWX6VTSw","swkh","xwbw","lRDT","lRC7","kgLB","xwbK","xwab","L7gWd2emygGkAassciUqvQGfVpU2vw6UogJuP9Jn8bIDLzvkGUPlAd8834UC7w","5wm0","hQWfjg3q","5wnv","jhCt","kxLJ","RXf8B24","/AHDlQbQyALv","rAG3uAZCLdOJCfY","kQjQ","2Qrm","2QrV","IauhAasW2wc+VpumArC6AkhykYwBoySjGp1TTRagb7spkU5AD3ZMmg1EFJlb3o4BlowBMTKk","BEYBcgFeAaoBuQKgAe8CSgH1AZIBSQK0Au0B2QHAAlMDngJqAS0BsQGNAb8BbAFtAXYESAJHBbgEtANAAuMBbwGNAaMBfAPBAo4BsQGtAuUBvgLlAZcE3AWGBL8BjALBAZcEZwG9A8IGPgI1AyMBjgdNAcgCggJqAZgBeQKuB7wBtgOPApcBOgKlAXkBRALMAbUCtwXUAZkC9gLvAooBmwKJAcwBsgHlAkIBSwHsAkwCzAJYAfkBawHGAUIGLQG2AUYBsAHTAmoCYAFLAcsCsAGUBCwBaQF7A0cBJgFHAmoD2QJ+DEgErAI3AUwGhwdqDbEPixlNBjsBgwM2AlsFewEoDLEGYwFnAp4DagNwAdIBLgG/BMMCugW5DNYBMQlKA24IRgEyDbIBTAGVArEEkwFIAbsDugJJAT4CtBO2AfMDKQWbDE8EgwFHAlUDkwGqAb4BwQayB7QBwRUtGkYD6gHYAcYEcAFHAY8LtgF7AbgBPgKpCTQLkQtIBGUEcgJmAVoGmAHIAe8BogNJA0cOZQLJA0MBzRrBBSEBsAGpA2gJnwetB9cGbQyjAUYKywq7CM4JVQGuAbsG7R1JGakNxQ7YB64BOA/wBlUFOBBHCK8BtQG4BeEBTAS5BkoBpwTbA8EEOAXgAzIDNAjQBdADYQN1AUYCrwbiATgGcQRDAcQChAOcAVMIcgVIA98VYgLUHLwCbgKqCl4OSARCAX0DhwOvFi8KsgG5BFsCxgxLAWwGqgudAksHQwPQB7QBNAFAAkMCvAGiAZ4CTgLPCWwBbAJsAe0DbAFsAbQBbAFiAWcDKgJNBUQBrgauApoBtQGhAdED1QJCAjwKSAZJAUIJSgMcCqgBQwHPAkoEwwVNA9IBaQJeAW0MTAZaA3AIrAKJAekLcgK4C8YBUQXwAU8BpwFJBdABSwTLA30CeQzECXsDRwLGCNMBogpfA+8IUAFHAkgByAioBMIFRwFcA2gDTwNTBFACwwKQAuUBlwJEAUABSAEkAdABWQFOAVQBYQQ7C2EDcwVYAaUCrwFQAj8BqgvFAroCXAWdA8MIswacAWEETQSoAq8CNgJ2AkcBYwE2AcIBTweUAcsEvwJGAUQD5wF0AcICuAGgB2sGlRAlBkoCnwFNAkcEQgKEAaMCcgGoBIwKswJPBLwE5QKrAU0BUAI0AbUCwgGNA18BKAFEAXkBZwpNAY0DnQGbBMYEegGsAiIBLQFMBisCfQRjCnwCqQFGC4oDtQGmBG8CyQvTBcMBWgI5AVwBLQFlC60CoAFBAaQDoQGLAdMBzQKEBnsBzAbmBGgBaQK2AaYCIQF1AbABkAEsAsECPgGIAcIBWASvCDEBgw1UAawCQgmSAVQDpQFrAV0EawFQATUBSAF3BTEErgFCAUUDLQKJA48BRwTBAUcGTgFyAkYEdAJMAbkC1ARtBUEDUQlJAXMCRwPYBisCOwSsApwCrgHHAsUBgQHOAaUB3QKKA8IDeQFvA3EBhAJvDF4GvglQAkIEtwTsBK0BowGnAasCzwFFBpQBmANMAi4BLAEnAjcBZAKUBEcCRwHYAVcDSQGYAUwCrQZvBsgFywaeBOYBoAHvCo8CqAHPAXQBvwHCBpwBmAHQBrgBqgGxCkAJlQSfEYcNuQe1Aq0KuAU/BEgDsgI9BOgGyAGeBLICqAidA0kC5wFjAaoOqxJGDL4OtwKfAaM","yhDO","2wp5","nwHhCNnBBcg","0Qay","OHhnmAiYwQWj","FKY","FKY","OLk","FKY","6gTc","vwPtswTf","vwPb","yBC/Ars","yBCZApQ","yhCU","OKM","sgGE","gRDC","3hHG","mAre","mArE","OKM","hwuN","hwum","gRCuQ54","qAmq","qAnh","WH6bAW2DAV4BU8MBVMABpj74ggHC3gHh9wLfrgHuAdqCA+cB4w","CXMUanIpBqgMQ2+xAsIHZwqvjQKubswGr6cCz8ABUQ64RWvKAawqxDPrNdpSzxDZR9MI7wHIF6kQ6AeZMsABxAHEAcABwAHAAcEBzWHVNbAQJ+wBrjbw","tA/O","tA92","tA6H","lQK/YHp7qkOhasueBF2/AXMRSIYCsVm+gwF9VV+9AtUU3g","kxJJ","8wRD","uwEtCV1NNGM/ogRE3APqNUVMRzs/QU1FRk5AOiHvAbU","0hC6","0hCz","0hA/","wQFUwgRt0QOlQjUeVIwBKd0DnnIsIC8","zgZE","PIABRMMIUcUCUQ","3AHb","rBDw","rBDZ","rBBj","vgGIiAGnngWczQHfZ96IA8OAAVqeAZw","swR9ywzP","tQ5x","+QZXXcA","Y2IHlAq0RDwMPL8FR9YBflJmSEIMowNGONJSuAW3LUatAb4spECGKK4SfgGXA6vPAe0","AlRHfw0zCEQEVAE6F6ADPQFgAmoJSRRYFUgGPAM/EUIDPRlEC0cCQxJ8ClEiZhpQCVQgQgZXBG8NVA5dDFI4Ygg/LEcNKgJFCmYIYxCrAzwEMQxIKWMpUAtlDlsBZy9nCUoxbldpPGMFSwRGAXIGQQWZCGQHZAFaBqQCfgKlBlQTRx9WA3EVXwFjB3AEXAh2H1sBaRFrEGEGVAFOASQJUAxNF00BUQFTGGUBdgtaAmcBawV8CkEDpgleA2YMQgFRDT8GbARfB04JvgtxCKwEVQpYF0gRKQHCBTcEWhUuAmoTSBxwAlEFVAObDbkCUDtHC0UUUBFqDFYJQgSBF1sLUAVUG3oQXA2fGck3XhFHD7ICUAFUEmsCZQFyAXYBeROEEj4KUAtBCsUGrAF+BEkKRgJTC0kJPxqGJlcIVAFQA2QGSw2mD0sGVxFRAVYEgTzG","xAFd","Bl4nciaXA48YXRJsCHQVSgJBBJ4ErAS/A0gCQAx0ECwKVRGdTEoGZgWTD0oplwGSIqcDjghjAkQFPDs6FlgzkAc+LFkMPDKkMmxXZR5NDkg4uBPKCWcWogpyBTUVnwlaIFEDTw3VA84BVRemBycBTQ2/FU0QUhFnAb8RrQVJAkILQAZ7BEkDISXMFcsdQwScB1gEQg8eCkwGTgp5E0gSSAU9AkMjRRBWAkUmTxLPAkwafARHA0YCyAdJEVQNcQpHBVUbUCJFAUsHpwboAbortAvEL1EYRgJ/E2gOqRhCDE0GTRGDE0MGZAtBA7EvWQJHDMINOUFSCUsuV2K1JcRD1w","CYQCyxa5CcAGQAvBAXIB1lh0DcEH2xKjGfVCmR1mEEQiKzaxBbIBbEVhJM0skW49Gy8zpnjPFj81xmTGPbNEQzvNNqMdNkZDI6gLzwl3ugGyBW4brgFyQJUKeg1FH0CxAYBZkA","vw/C","1AHx","5A/X","5A/X","gAWzygPe","rASp+wKd","hwKsrAbUuQHqYauWAj8","zQqe","hwK3","7Al/","AYELWQJcCKoDbQSKAsQDPgNUBTQBiQWGDs4ESgdABFACeAFyCdcJPw06Da0WuwNAA6EBNQhRBmQB0gGmBekCoAfuBEgBQRC6CrYFKAI+GYIEJwzBCbQSsQicC18BMgPJAdYBswHHBEYBKQ2MA9IDJwGkAcoBJwPTAbkCNAFIDngBzAHpBLgT3gfTGlYB2RfUCcwIzAm+Ed4UqQOeAssSwAVyFKkWrwKrG98C0wHQCdoBxgG+CcoFyQQrBXYD1BjVAS8BXwg2Fi8BqQORB6IHyAa0ETUGUATCDrkafQzKBMUI4RGVFKYBThZ1BcwElwHLCKkOShCMAbQCuAFMBpgBtAzXAYYGKAPWBSkBOQLhASkGgQHSB8kKxwJsBrECywZLCTgE8QfHF5gJ8ALTCbYBzxFuBFAD0QJEAsoaLwZnAVwEWwrSA6EIygSXB50JgAMqA9IOTgGJA1QEWgFRE4EKSwJ7B2MDggUiDeIBrAqZDoENiANRHVYEzhnABEkE4gbkAkEDzQXcAz8aJQEpBMMBKhOaArEBlxPZDa8DJQEiDNkDlgS5BroKqQTQBFkCqhLHDC0BLAfhAUYSWgnDAUUJ4ASGC+INpwM2AZoByAfbBdIBfgPgB0kJzQO2BNAEfwcrAb8HHwGwAk0C1ALsCaYJRgKZEc0XzR64BZIBlQlCAo0EygPOD4gZxAPIBIsEugGpCbMCdgK4AaYSrQRmC5cCSwSdAuwB8AjTFI4I4AV+BSUCegMuAZMF7givBaEBzgq+BYQDyQZ0B5gXRA9HCC4DsQojA2MbzAQuAUUCvQfOBq8TrwikFUpg1jLN","CcMNUwlwOnEKOgyYDLQlwZQBqgWrF04BoBvNH0anA1F3WgilHaABoxtgPKcbgCmdFDNWsAVIBFIrzw8eEZw7qje9wwGv4gGjA0cIpCUpE4lyVD02HNAdpQ","twHkmQGSwwFHTqMKyhl2mwJwL4HJBWUzzYwBdhVFPM8V7QhHGG8NYP0B1A","DNYKUwdNEGlP1xQoAjcNLghAAdYG9wJ1C7gRLAexZj8CnQS4EbwJrAG0IspbaBEwK9kv6R/HDLgoYDzNNu0TTwjWXj8ExDHeCq4IkgjXKrgEfwjPH7gcfQrCFM0iITDDArknLAdCE4oKMiSrNNYZzVhUF6MQuzOzI8oGogjkDKkC5zDwBdE28DXME5c41wyhHp8G3QbDAqYFkzA3BesdswPmBtMH6kCpDM0PSALWI/QD6gVo","6RDp","rgHM","rgHl","/Qfh","qwfd","BkkLSQRrAVMUqgF1BIUIkAuhDHcTwwwjBSUBgxItDTcGKgIqAVULKQs1AVsBJgGEB8sMZwVuDSoCcARRBysBKwY1DScMdRvgDi0ERAIyA5wBNgKqArICVAEpAzEDKwdSAzEFkQo5DqMPQQi1FHAEPCZGDDwJigGKI5siUROyDzAeUQLlAXYCqBEzDCsCOAbKA2wWbgI3ATIBIQU2FncBQBDNAXYCYxWECqYHRCSQAkkHRRBqDbALJwm3FSQHOAWvA5UFKwM5HM4GJAI1AbMJqAM0DHUEKQM3AawCmASoAU4IKAQvBycBOgIqCU8LowTrC6AT2RPLBjEMLwdYFywDMwmxAjEBKgEoC1oCegF8BS4EVQGPCysDNwlJA7MCswM0AygBOQE5BTAIKwExDzMDKgJLAzMHIQFZAygCKAEzAi4GIgF5Bh0GTQiYAzIFMAZdASsCPQIfAXEEVQQ1BEYVJwiWAmcCqBcvAygIhgaUBTsBJwIoAygMMA1GA0AEPwHMBS8BNwYmBzEDPgMvEXMEUAE0AkcMMQOXAywERgMqBDsCewQnAc8HVAJlHK8UUwUxCSYCLAI2ATcBIAg0AWMINAVFDkAKKgEyA6UCJQkoAqIBKANuApsDJgGBAWQExAfgApwCLwbGBFYIKwVWAWgBNAqiAYERNwrRDigOMwGLDyUBJQcZAT0BUgIqDSgVLgNXATIEVAEhAicBLwE1AmcBMANoCTUCNAOOAkoDwAGICjMDVAKQFDcPLgFCAzgCawIiBDYIYQEmATIBIgQyATkCMwJHA0UUMREjBSUBJAIrASIqJgInBF0DJAenCEcVcgsvAUIPMgOhBC4Q1hRF","oQLB","lQ6u5QO0Ac0","9wl2","wRCd","oQPguQaq","oQPE","oQOp","RcADYFx4IYoUp2dQqAKUF5pwRdoCakbNGWjxATEvZgpzAqQBKy/OEUUIUyGHMU0nmw2ZGNQavwFMSqkBRBZiMEkJSB9OeT6CAb8","wQg0","jgGdJqQBXkeaSivtAU1Oar8CaFvzUG0DqUEwmwEzeyQTJGtKqAFgeEtpXqYC8AHxBLkC8wPp","/BHB","8xHPCa4","MPfJCU6eBnw","MK0","MK8","MEA","MIM","MNk","lwuE4ATC","9w/C","jQql","WbI","lQuT","LUmOAogEdcEEc7gDjQ","DlwDmwJNAsQBOgdNBZoFXAZBA0AFSwJMJy8N7wGhAacCyAG4CIIJ8APTEa0DKgGiAZoVrAWEAUYZZhnDBcgJYSF4AtItxwLSDydB0Q29AysBngvQDaMOTwkvHKMIZgFtDMsQ9AHwGLgLawJ1P6YEOAiEBMUEmgXBH7QPsgKNCZce0wIhFJ0z1hPVDHkD9WohEJkLzQUnAi4WoTKWJWALowWuAaMT2QpnBH0I8xSiA04CVAW8BoEJoA3HA3EELBdCEioZ1gKhAz0ENROlQ1IMRAxHAXINSiCbBzoHwQsxH3wFJhbeCKEB+hNiBTMISQIgGbIccwK5BCsLRQG7FaIDigqfCDQFUhKZBbsMODUnAqwBLQqbDVwLdyQxEDUBMxJjD3UfQh3LEaEJeAe6CGAH0lw7BjwHwxpLAUUNTAU3BMEYlhxKBfUfUCZlD08KSA","mATsoQ3t","uRE4","uRE4","Z8YE1Q","lQF0","iwms","2AbB","2Abx","hAHT","4ghv","4ghv","eIIhopAIvA","ggGr","1QZ5","wBDD","jgoj","7gwo","hALl0gS8zANR","tQrB3gVvYL4","1ga8","6wjC","yAGSiQGk4QH01gHYlAHyBH1vT1zfjQHalAGP5wJCAToSvGRTacGOAa0","owWjzgZse7E","T7UBsE+2DLkTiEK5DtMplIQBxkHrArRhshJLigFFbbeFAT3UAc4YtGe6TtcG5wHfDet+rEzKEVH3AUOgAbo","T2kovoQFrtUBxtwBsIMBzWWajAGoXeK3AsQ","/AOTpgen","pQfH","pQck","pQfA","khDy","khCI","3QkzmwNx","3Qkz","AZgHuAHxCjMC5gfTAugFtwjCBfIJ5gHgAfIEYQTkAe8B7AK5BuYJswbDGL4BagHcCUgK5QO3A+4E7QRLDPEBwwi5AUMEyAK8Aq8NuAKlAekCwgG6COcF8gS7ArsL3gzIBO0H5BTlDuIC6A67BqUL7A3pBvAD6QayA/QB1gPMB6QMlwG2I6IPzhU8Ce4XtxOxNucZ8AHeBM4YoxziAvgP8gLkE6YGnhyXBcEN7xTvCM4h4Q3qArMS7QX0De4GdS5GJr0I6wK5C70C0APWBfEEuQHuAZwGuwK9DcME3AfNIkoC7UPsJOQPtQJRAvUC5AS8BOwNsA28IcYQQQK8BO4CyxCkDucBwxXbBucZvBrxDO0H6gHzBkghRwS9Ad8F7QG8A+MUuhPyAasCQwG9DEcDpAVNAnsB7wpJCr0VgxHjBsAB8AfKCOoG7wK3A7gIvQTtAe4ByAS5A+4C6QjfEbkCvgLVAaoI6wLlCu4B0QFrA90K6RBRC+gKzgTtAdsB7AjjFbsW6hOcBG4j7wHABOQK8QroAe8C6ATuBHYL1Qi9EOsGtwLiCrgDuAG2DOoFsQHiB+wBuATuCWECvQ63Au4BNwLuCr0FQAe9A6Av7AfyDusKvARHBfIB3wL0AUEGQwHuCuQFuS/5AvU","+wTR","8hDg","tBBZ","tQGMQUKHDG65AUY","8hDH","ignk","6QjF","3QnL","mgLP9Qnj","bSM","UlQXuQRxJrcPpwfSmgGICqodwA1hINMSoo0Bxie8SHUhRqgBxEZ9GqAJhzCiMvY1oxKWCnUHRg52KypDPAGLC6FKKg7NF0IHdD1rBiwNiCidIEsVYjMpBSzIASFdr35zFKwXcQR6Uu9KPBw/","uQim","uQim","lxBz","mBG8","3AHb","jwy5","uAbx","uAbX","7QN0kQua","2QSy9QZPvQGtDC0","iwGm3QlJ","tgKp","5Afo","pgG9FuU","vAHU","7wqqAfAC8QHbAcWRB9QBtAG8","A6IG8giIAqYC6QpLAsMJgAbqCdAB3gHgCL8csTC8BqA/UwHJIaw22SrHBncDoQSeFZgpNw6oGSoGxGiRGtoB7gJaS/QGIQHmGu8U5ibmM90F8wXnNPFMhAbsBsUIfgHesAHFAeEGySo2T9sgPA1KNtksQBKuB3Mf8w2eUXAFSRU1DdAdnwKVcahWzCTpLb8RznyUWug","0ASt","0Q6w","ITU","sQaZ","MNZfeeoEJ+UEYmTn","Cd/MAcGBAUYNnmUq1gHMwAXM","oQM3ngIv","CacYpHR0YaZplVCoH8TXAeQuzibcwwG87AI2dK4zmVFwRJQ","A3Y","A3YGPgiIBOkKSxHPC+BUf0ZiISw2pyrCCTnXAZFuIRvsOiczxgXjBTE0y1LnBsUIfgHTsAGhAckGyXnbIDy0AR5rNQ2wHTjtAc0tvw","+wh1AaU","vwW7","0wWo","6gbL","+wh1AaU","ngXSmAGYkQaG","ngXD","ngXSmAGYkQaG","OcEB1OQE0pgB1Q","sQaZ","vAHw","vAHE","pgFs","yg6k","E29aI4sCmP8By7sFIZEBTIEBn+kBcmacfXEfRA","wg9f","wg9f","DKw","9AIkX1FKMFai1QKZngJp","nwHpCOoU8pwI9A","1wkn","uwHs","uwF/","nwHUCLw","nwG/CJs","pwG/","pwEf","1wlj","1wmT","1wmT","jgzs","jgx/","vQ/O","7QmkAeEBvwHojgKtAdk","CJEphwxEApsIqgh4AdIKPhSOC+wCzQ7iArADpQF5BsYIoAK1CM8CpgegAl0B0AR+B7AGPBSyEGIOcyBnE6oQ0yBqCp4T5gG0PKwklEnTAesDYgK9JpEh2zivswFuAnEp7wjPAbUB1QVyD5cBpg9rNpE/eQWUCa1OlAGNH/AB4QT0KYoEmAUsBGMDmle+I6oCqxJ1I8wEtw5YDLIEkE+gJpwE1ReMAZALwhRlA84BnAHGN4o2cT21BuInRgfJHJIUaQTPdM8YowGnAasd5DvjAdkH3wGqAcURkAuzDLAW4BOtAeoBtQHtAtcB4QHZAp4B3gGuAaYCiQL1AqUBqgHZCtAFqALGPNQB1wef","pgh5","sAGg","9gJeAVM","nwG1CM/cBeE","tAh5buA","1Q1x","uQJ/","jgGl","9g5p","lgJn","iwFC+AXh","oATT8gJy","9gJkAVM","9gFz","T3gB0tED6wNiAnCWDdQC7QLIAeEBywPWBuY","7QTb","kQuC","2AGI","CJE","lQHG","jwF5","vw5G","kQuC","zwyL","uQJm","e8c","e1w","uQJm","owlY","owmP","owmT","2QJq","2AZu","twq+","P5s","kQuo","nQGg","zwyo","owm3","swG7","6AFi","2gZx","4wKe","0Ale","nw2K","qBHI","sgFd","xAE8","swGg","7gp1","MYc","4wxl","qQGm","qQKq/QGsjgR5buMuXg1jA5rDAVihAZC2As/CAtQP7w","9gLjAZc","vgGw","iwGm","owmk","kg61","1AmY","twF+","sQdr","iQHW","iQG0","2AGI","xg7J","3Ako","rwfa","xgbA","fuDTAWDuBeDEApI","fsk","foQ","fmA","fpY","pBLK","6whx","yA93","ggr0","ggow","8QTg","brQBUL4B2PUCSNgByHbixAFOMZeQAqI6NoEDSa8CqQ","5Av3","5Avb","LO2CAd4R1RHmFnQC5ApjC75HqArLBL59bBzorgGwIKOVAeoE+BR8ggLHCYwSmFpjNldB0hHrZ30H5wRLZp4BcUCsaT067kvgBMx/4zdIwQGpCeEUyw","vAF0","wxD3","0gFCWtONAsGdAeULsxnRvANXQVMCTqMDQ2FGrgHaAcg","1gXGC2IZ0Q","qw+0AZ0","A+ciPQ1zC4Ap8QHXBKgOPgnXKpIChQfrKvEHaQZ5B7MC7T3AQoAk4QyAV7iuAZFm0znrekkcRCXpA8ZgrnpoDYYO2ieXEtwqg23gAasIZ0HWB+EGSRp2BG0HRwdxK6cFuwq5Dy0BewSZGrkE0wEjAtsB2Q1IFD0yQQmZB80ErxNqAdAD2wxMKEhZtQXNK9pFeFdqEa03TA","qgiOgQfO","hgiW","gwim","gwjJ","3wG9","MnM","C4xHeyowMNUYSiuVH5x0+gH8AfYB9ALhEekFoQ6sL2yqAUBrYTaVeacjvBCyB5UN6RTBLNxBUBl3NEkBV2MeBFE6fTuJFboqcRNiEb84fA5vAz0JdgF2BrYCQkFbCKsmxQEtAUwCWgFaAWI6vhMgAakoogNvTDYHbB1+DVUNagLABMYCTjJtFmcMbRyiaNY","hAPNAfI","mAOe","gwPD","xAE2","hQNX","4Alo","3wE+","9QHO","tg25BNM","iA16","ywup","lQyz","lQx2","iA1rsAFq","hgiY","5gFpDb+IArjZB9EUbi2oB+EgoARtDnFv2wHVU2QrnAxxhgGtK9rkAUw","hgha","rgFE","ZvEB1wSoF9c","A+Y","BHwHjAapBYMSuQOjHbsHaQdgHH4aegiWBCoFNggtTmIHsKwB0gHFAdYRzuwB6UM1EaVPvwGwTZYscgZuCtKcAdASUQY+ngFAMME8pgXOESoUeAGmA4cKJUoqKyYBICSDDE0DiRcqUIAojBBvBigCRwhaAY4bbzQuCVYCghgiGTMcwAElQW4GkgF9BZwUNwFyAScJzR1yQcoMkWBx","yAa/AbA","pQXm","pQUs","pQUs","pQVa","pQVk","IFAxWQVnF1wFlQnnDCYC3RzEDVkCWoYBPkYwb3pHKYACRZIBKcUCH4cDWBtZauUKLpwBJAol","II0","II0","e1w","e5kOmQ","ATUBeAGRAp0CQgJOAVIBRQJHAtECbwGvAU0DUwlcB24CfAVLA4YBvQZWAj4NSgeVA1IBogGxBB4SKwGlBKEJrAyUAZ0BngJHBG8GmBjTCiMCNwSMBS0JmwTABXECnwKcBnECdwPFBJ0FYQFiCsgBYgG3AnMEpAHJAc0DagmiAdEBdAOdA3oBnBBqAdMBeQLaAaAH4AJ0DbAEmgKvATECjwErB5wC0wa3AsoObwKWArEBpAObAZsBuAG2BD8BfwOYBWMBbQGjAW8DowiqA9sCkwFbAb8CTwG5AWABggs4BZ4GqwGWAcUCyQFwAZgCxAGxAbABfAGeArkBmgGoAmcCywiKAdABpQHaA54EegZ0AswJoQGdAj8CxwNsAXQBOgGWBIANnQKeB6ECxAGtAc8CdQJuAdUCegHZAYABoANhAW0BkwF1AcABpQazAZ0DzgFwA5sDlghoBNQBSwMvAqoBrglKAZ8EewLQBZ0BkAGeA6IGXQlyAp0CngKPAXUCygLMApQCqwF5BEYDtwJkAZQFngGnAq8BygGsAmMBxwWbAscBVgGXAZ4B1QR2AXkGrQHNArUCyAGcAYkCNgjLAaMDpAR5AtoBngfKCNsCbQG+C84BoQLGAzUCbQOmAqMBcwGiAtAJoQFgB6wGuAZDArMDYwHLA4kGcwJ4AXMBtAJ5BXACZgGdAbkBrQNRAakCewKzAmoCpAy+AUsBdwRuAsoDowOzBmIDoQZoAloBcAKjAagFowWyAoQCswO8AaUDyAKgAcQNmAW/BKcDygyfAb4GowSPAjQBqAGuA54BoAFgA4IDSQGeAZUCrgN+A9EBkAm5AYUDPwHRDJgFjgMvAssBqgKxA20FnAKzAU0BagHPAqQBcAGRAdkJrgRhA50EaAHQA4IDowKgAq4CUwSrAsgBdwHOAqUC4QNiA6IBSAGeAZ4ChAbKBZsDqgeCAz0GgwF9A7QBnQiGAdkBqgVmBK4BhwOqAUMBWgNSAcQCtAiiB2MDeA13Ap8BpQagAoQCogaTBJsCZQKbBYYBSgNsA1EByAWyAbkBcwJEBDsCrwWbBDwCQgF2AqgBawW3AWQB2wRtBcwCugLYAXwBrAR0BXECwgJkBqkCxQHJAyYDNQMjA2sDrQM4A24BwgI8AXIFxQPdBa4JxQFsAb8HWgF0AmMBbwJFAVgB1wHGAXwBTQFZBKMFhAmWC3QBVwGtAdgBqAGdAnEBsQFzAaUCwQGAAsEBtwGgB2oEdQdIAn8FJgenAr8PTQPQBrMCNAKBApYBngKjBGcESAEwApsCrhNQAZIDfQPfCGoFzgFaArIDOwLFCFMEpQSVCqoBRAasBKIBpgGcAZEBagNwA6sDKAGfCrAIQAI7Ac0CnQViAWgBzwV9Cp8BngefAcgBKwNkAzcBSwIsAYoDtASkA34ClwJaAVoBvAMqAn4CkQI1BiUHtwErAYMKUgeBAqMIcwGbB4YCTQKpAmYCZgFNAyIIlwJtA7MBwwKsAqMDrgFCAS0BzwSiCn8BhAQ6BGAHoQJ6AbMB5AFgAaEBYQE8AWcBNAGaB8oCKAPRArECrgKFA7YFMgNDAZ4BWgJuBXsEYgFCAT4VqgdPA28BMwGiApIEYgmFBKgCZgKyAbwBWgIxAlMBwQMvELoBpQGxAmwFWAFLATQEmwNkC9oBmQFCBJsCbwaAAqICMAojAV0GvAKiBrUTowFPBGoEsAKiBcsBhwO9ArQDuArXAW4GvAF9AW4DZAXSCLcCnwKhAUQBYQbRAn0DLwKmCbQBpwLkAUAGdwFtAt0BygGlAboB1gFwAcgElwSpA9UBwQNMBUwHSwJBA0ECmA3BC0gBugOQBaAFuQK2AkgERwHECcgCcgSdAkYCRQHDBLoEOQKyBFAKSgKkCsAFqQGlAcIBpQFlArsD2QHDBLEJSALGBWwBvQlNCbkCbgROA74GSgHSAlc","AJcPuAKnB3ECfwTmBrEBvxCHDe0C9AFyD4UaJxDwBmoD5QfRAW4E9wi2A8wI+QfpAvAJaAT3AmgC3AK+ArsDbwiUAXMBuATXAfoErQ7yAvMBVgnsBpYC+AXyAewB9C7kC+gBtgSeA+oC2ALABtwB0wJzBtwLngFHESQE5RK+AtIB5AH6A/kC7gL0A+4OcgzgAecB5wHzAfEB4gHgAU8BxQbiB/QG1QNmA08BmwfvAfIDywHdA/gE7QNJAd0Bswe7AdEP9RL0CdUB5wpsEvAGiwjjBHcM9QIyBe4H9gXzBvgC8QHPAfoBnBzIArgC8gGbE2ACzwJsApEE8gX1AagB+QHkAesDMAE7BfQB3AHvAeYB3whPAXkKzwTKAtoB7QnhMrAB6AQ0FMkO2wPuAboEuQTAAeAfgwjoIe0K3hTjBOwQ8wRrBvEC+QbdAewD8xb7DPoGmyHwAesP0gLjDskBdBjKBfMB/AFcAdsDTg1kB/oKagTKAtUC8wRLAUsIywbYAe4JZgHwEu8FTQ+pBaQMZgaeAukB9wKYAecC/BXLAbEF5AimBO0J5ArUAdQBxwHvAvoJSgjhCJYE7Q5wA/oCnQb1AfgB6gR1B00C7QHVA0oHvAfzAvUB8AyuAdENkglwAYkEwAHxAk0KcASnAbwD6AH1AvYYShn2AvgB9wf3AdoB+QHOAcIB9gz7B6IFvQj3CXEKWgHoD+0J8Bj3CVAIiwLgAeAJ6gHrAk0C9AfaBVUM9QHoAUkB9gexAiIn2QfzAfMMoQX0BPoQ2BCzAvgJWgbLBXwD8gm3At0R+QSrAfYB5gFJAWcBUwK0Ae4B9Qv2B5wI2gL7BUcFyQHwBNcH3AbPAUYD1QHXAbAB9gHrCvAF3QTZAe4BogdAAV8C4ALBBtoR7AXzAsUB9gT0EJgE7w7tCeAE9AWtA+ACqALlBIgI4gVxCcUE9wHlBmMU1QXKAeEH8g3BAfgLPAHxEPsN8gWiAesHuQFyAc8C3h+IAT0KSQTeBdUN+wjXA90CsQPPAdsC+AH3AvEE6AbeAfcG8Qr3AfY","qQfO","/AHC","lwku","rghR","ROxil/kK4xS8ygHMBNU","4w42","hQnX","kwFX","rghR","og/w","5wqN","/AHQ","4w/U","D4Q","+gnkdk0","AFA","zgfGrAK4","igO+8w6x","kwze","RLRixg","6gHa+QHimgqs","vAXK","1Aa86AS5","7AjJ","gQ7z","RHE","3APP","vgXZ","sQ3N","sQ3I","sQ22","4wJH","hAyu","lQW48QKvmgV4","0wuX","0wvq","9AOu","0wu0","gwQt","hQlH","uAFo","hgjK","xwzZ","xwyw","xwyw","kwGs","tgrH","sQ1Y","HuI","JT0","kQyV","xwOX","2g7BAbIBtwGyAa8BuQG6Aa4B4ZwDqA","4g6S","hgiv","pgG+4AavZuY","vgfgGuQC2I0DoJYDgQ","1gHx","5A2p","vQXb","1g6tNL4","gxLl","gRLZ","gwKo8w7S","swzE","pRFE","ug7S","ug6y","xALfwA/T","jgPZ","0QG4","pgHW","0AuK","pgGvkQ5k","qwlm","EU8xxAJBT8gaLhNnFs4SfAJaE7cEzwHlAbsf3QLTDW0XqwfcCOE48AScBYIbVgFDAe8BUQFRAVYBlAGpBscHzgiGELIEYwTGBMEBiBDtB9AOqgT1BeME8AHhHDksaQWNCOUhYBbBAeEB1ALTArEK7wGzAcALWAK+BGEFYwHcDvEB2AHoAfgl7xdrGN4SYzBCPU0G4ho7CFIEbko5OJ0FswExGVUQtAKtE6EKIRO5LoQFmDi4BSYbnwRvH6wJxgGlEb0sz0jTAtsBnQfmEe8UKCwqGCgpxBDEAspGowWBBNlhwQHNHNMKpRKpBfUCdwHOD3kEzjHvL6oFSgWoGWwnvQFWFdcM1iNEBLsH1iXXBdEJng2sCN0DrwXiA8EETRDYCvgB+Q","8BHr","/AMv","oA/z","nwTf","tQPh","/Q2B","lQSLkA1E","Qm7zAqo","8BH3","8BHI","nwyf","yAtI","2wmp","zAun","swzn","ug6y","hgjEjgXejwGs7wKHUT8","hgiF","hgiv","zgc1","kwHR","hgif","hgiF","gxLX","gxJO","+gnz","Qr0","9wxb","9wyd","kAze","kQyV","0Qsu","kgvmAco","+gmb","mAMs","qwlm","gQ7p","/wqW","nwyL","+gmTP5g","oRLhAZw","oRLOAZw","3hE2","ugXm","2w7MAaQCQA","2w7J","hQnm","kwFp","+gex","2wO5nAmm","9gS1","vAHonQOoPl4Bmy+tAXEBswFs","xwV1","hBLO","ygbj2Qe/","xA97","0gpqF3I","0Qu9","ygbD","gQ4q","6AHCWT7OCdSiAdMB3q4C0LIBhw","jwxB","jwwl","1gyz","vAF8","tAOqBJfCBpM","wAGd","tgPVAa4","1gGbLKUBy7ABrMIBrQGxjwSs6QXrEd9h0JYB0qsBWA","1gGU","ywZsMHE","+gns","ArsBUxnGAqoN4ASFD50GpQLuEGAEdw2kBKUM3wbkAsAR0gTrBIwLRQItFcsO2wSkA98ExwR5A+MBiAGYCpsBShNFDVwbtgjgA+0M0QrrCs4d6wq7A6sShAHYAcsT3AUrBNwBRQmeBmYJ4QebEI0C5gzjArgS9TLbA6sJtAnmHLwDbQNKBOUZoga0H8UCNAzlEq8KtgVjE6sxswueA0cJyxeDFdkTwAauDZ4CxQO8LbAPSwNDMKgFSAQxD9YGOhO5AvAf4RbOBOEfQhK5A9YubATZA0QDxwqWCZ8O0wewBMIDRAe7Ad4KPAmeA+8L6AWjA8AEoAPkHtcVLAGACNMMpQiiA+QMVwRjA8QBLgXeEuIFuQW+EKMD1ARiCbUB0wO5A+UHygjnAdANuAHgDtEEawHgBdoJKQExBssBcgooA4ICVAfUAaQE2QuLBuALUwNPBN0DlwZHBEIKgwfBBS8L1QHMAcYQ4AfOAeUBowTUC8UNmRq5EkQFnwPGAYwCwwq1DVYBQwjZATECawiiCUgCqAG0BscB7B9KAqINKQHIBd8IJhSpDeMNsQImA9QEcAWUCawBWQldAa0KbwaABUgGXg/lAb0B6BpIAqAC1QdACcsJ5gzvA+MG1AHGGd8Irwa4A0QDpAHRBNsMzQSrBkEe6gHhAdcDrAx9B60F3gRIKOEGzAJFGdwHowJKA+Q","fXg","lRCY","+QN+","9w8m","gwvsAdDCBPI","gwtJAbE","6BDJ","b5g9dwG77gJtFdQwbRTqiQJ0dqVI1AHHlQE8E6clpfQBeDlXFdlHft0BjRuR2QFtJkc","qxBC","FsAD1QF/BaoFzAFUBUcHTALOBJACVAOAAUQDYgJiBEIItgaFB8IGQAKVAk8EsQaYCmsSqQfMAjMC8hTID7wCtgdLBERjtQ8+A6gE1Q6qA60K1QfKCbcKOQivCOEhUgG/I1lhswtQKJwCqANKBuEGrzFNEYkPLwF6ATAQzgJjH7coT1ROEmUV3hS0CY8NrgzFA0MBnAG3ApkY4wNJB0MFcgFxDc4fvho/BZ4BUQGVA6cMOx2YIEsdcQLQF2wBmApLBigDryC8AqMLQwGfJ8wGyAl/FMcUqwTZAcsYoAo+AasEQgaZClAa2gfiC44FbgbCAb4Gzgq4Qp8KxwGsCYoOaARQDtkBugdhBeIBrwPVApsEmgNRDs4JqwhDBk8NyxBMC00NqyelATkP0wZqA9AXSBBNAb8DRwTDBNsB2gnXBawNdw7FBrUG0wKaAbgERhJCA40DKBS2BaIQYgSxFjlisgZrBcNeSQE3IYguwARH","FWskummnPKAyzQY+tAVGBkUDN1OvugGeBGuhAptDSYECRBoeGEk","VmICfgqyAaEJoQlNA2YEtwRsFbMQTAFtAUAEJQy6BocCoBKQAkc0cAirMj4PtwRnCHUBRARDFV4PVwh+C4cE2gZyL9cGQiuzEUcVkgs0BakJTQZEGtMfYyOvA8sbkwWHXLxLqApwCVUVaQlKFkETmAdxG6kGzwqjG9QexAx+Aj8BYQRvAUAEXBSsOJIMpASwAkMgewRNA6QTxwMiDkICbQ2mGkcHmAavA7Mo4xedDkQNRwHDAbcBQwOsBD4F7AajDWUEagxmDUcISAFPAaoBSwlLCkwGLClIDUMBSwGoCJYP2wFrAXYongpIAqQDnwprAk4NUAZeB4sVSgKxF0sGjQxQH6kaSQqAAXQJRwFgATQLQwq2D4gBTguyDMEEfQTFAp0Ipw2mAqkNSAGpBksDUg3GBEsR6weXDHABWwlHA+MGSAZxAWAksgWnCWoWfRJRAXQCRgyRAXAJSwZHRUQDQytME0oVRSNQBDY","1ArjQc4","lQup","kA1e","qwEl","vA+J","6g7F","jwKr7Apr","iAu3zgOh","6ATh","6wvL","/QjApAHdwgLmvwHs2QGu","4wyR","og7W","oQqr","3wFj","ywjj","qQht","lg75","lg7A","lg54","lg54","6wtx","AjgDiANRAb8CRQSNATkDrgVTA5QDLQOGAWwBLQVDA5kElgZiBXILPQlTCDMJMwNdAR8EjgLAAbcDIwVCBZwBwQJoBDkBJwWeAqcBcgInApoJbgRlAXECMwJYBi4GQgFFBEQCKgG9A2EDuAXPBCcDZQNGBm4FOgS8AZsFNwnsAe0EjgSHBjwJegdyCq8FnQRODLQBhgJ2CpkD1gGqB4IMThCABnUBIwZHAWkGTgWcAogCLgM3ATEX6wLZB74DOgI8AT0EVALDAUIBKwFCA5IIyQPBAdcBtAKXCK8CKQYqD8wHQAFiAVMBUAaZBosBMBREAS0JWwO6AcwEjQLrAe8Hdg/VAWkClgOCAykCjQOzBS8BwwOCA7AIkAx5A64EfAKCCikC1wHSGIQBfwWSAckBmAHSBN4HdAJ9AjsCWQIsBloBhgKNA74JdQRqAWUBiAEwATsBhgrbBEEIcAbRB6EBZQLTBXYKhxLJCHACgQsrA08BeAI0BGkBeBJtB2EEPgFLAnoDbgN9Bp4DOAE7CnUFXQGBAiQBjAGfBTgFwgPnCGkLbglIBt8KWAI4Cm0DnwSHAWkBKAKCAiMBSQMpA3UBRgVwAX0CqgGpBogCPwJDB1MCtgFaB0gBSQFZBMgKbQHMA+gBmwabB1YK4wzOD50D1gFBB9gBlAEvAa4GpgLTEMgFLAMzAU0EgAZ6ASoB5wNbDHYBuAMuBT4BMgN1BGMDlgLXAaIGLgltAW0CkgSsBJsBMAFNAW4EWAMxBrcF4wM/AbICdQFIBXwCPAXNAUwCYgEoAS8CMwIuBcEBRgGHCsQDVQe+ASMBtAGZBkcDlANLASsDyAFwBGQCYwEwBYkDaQYtAZUEpAehB50T6wQkBS8EPgNVBDkBhwYdAYoBxQOSBFIDhgG1AXQHKQFiBWoHKgGcA1EGSALeCLADawUxAUUDKgN9AVkHigRuA9cBMgEhAX0CkQMpAnkFWgFIASUCUAMwAtsDLwEkAVEBRgI/BNABOwKiAqYB4AFSBkwClgQxAZkCYgFpBHACiwHWCScBMgEtAVUBiQGDA5MC6gE1AaoNbgPxAUsBrgFWBzYBdgXJAY8JQwVWAasCuAIwASUCLAJhBaEFdA0qAZQCaQMlAVMHRgFFAjkELAKIB04FdQViBEADNQF/AaAF5AGBAYQCsAKpAUMC1gN6AVYBrgrFBXkBwQGaC8cCoQbvE6wLsAE8D+cBsARfBkEBqQfEAY4BVgOWB2oCkAFpAoUCmwhOAlUBQwGcB18BLwNGAnYBLAHCAiUBYwNVBtMBZgW5Cq4IbASvAYAHnQM8BNsBrgKfCl0BnQK3AzgBtAPiAVYDNgKEBJkCUAFxATIFvwMzBIcIdQKwB78BZgPGDL4DHAI+Aa0CRwIlAysBlwFHA3kIpwhCAZcB4wHZAfYFhgV4Cc8GfQFaAbsBPwkbAnEBzQNXATEGugFNAUwFLgXjAtgGJwNlAbQEwgmgAk4FIQE4BmMBcQFxAnUELAGvAXYD9QhLFEAE5gWXE98EQA5HCdEByAfjDj0QPQFkF0oDQgNVDPIF8wPKA0QB4AJJA/QFxQdIAtUDwQHF","0RE+","Md0","9Q3nXa4","5AHgAbc","xQ+L","rw+J","qhGb","NTbuArUdpCeL4AWk+wUc","rQ2Y","uAvX","6wil","3gSu","K4uiD5A","3gh9","owEu","3wXR","jQKv","lgSSmQjJgwXT","1wPM","kgvH","8AnE","wAEn","+guq","RT0","tg5K","kA2H","3AvG","lAFu","4ghN","8QTPsgve","iwGaDnERRZ0GdZ8CUEIelwUkGkcRhg","1xDd","xgJO","5Q+8","E1U","vgi57Qio","wgt5","+A/P","rQ12","d3A","ah8","tA25","aatIuAujGpvrArUGj/oCSdABRi2uBeMTzSRvGDO5AVDKAeJsqbIBxi+XWoPPAfA","nQfT","+gpIqQKi","8AuSqQbV","qAp4","5Amd","lw+/","vAG3","xgJO","kAWzApIEsA","hwEm","HmsmtTZoigRAQjjuAWqdASDbAaXjAZ8NqgEyHtLxAWkEmwkh+gGh","Yr76AUjzCUMsmgJ3LzErbH8q","ANrJDlC6AvI","TpM","TpM","ADABqgHWAVMCqQO5ArQDuQK7AdYCwAHlAbkEqALbAb8DnAKxAbEB4AF9AbYBeAKxAakB1wG9BbgDygFfAtgBswGvApkCwQTWArcCyAJyAbQBwwK4A8ACUwS2A7oBxgGMArEB5wK7AuEB3wO1AY8DvQK9AbcB2QItAdEBsQHLAtABrQK3ASwCRwJtArwCwAHWAqMBvAVDAZwD7gFnAjoD1QI3ASkBTQHSAfYBaAHfA7gC5gG9AUEBsAGKAdsBzALEAh8E8AEnAlMBnwKfASMBJgLHA9wBRgEnAS0BLwG9AecCsAHUAckBvQGpCHADtQJSAdUC2QHsAdYBmwOtAacBoAO9AooDoQLlAr0BzgKTAkwGywKiBZEBvQPWArkIvQG9B1gBNAUsA0gNvANPAdEDzAHpAbQEZgLYAeECvAFZAZYBJwJLAZMBPALcAfEBMQO2C9ABuQEnAS0CywK2AV4BLAJIAW0BuAOqA78Bzga9AbwDfwHIA54BvgLDAcYDzwbDAb0HvQK0AeoBygGtA7wBvAK9ArwCvQG/AV8BtAFQAa4FUAKIA78BvAq9B5cCuQYvAikEvQFIAVYC4AK5AbYCuwhmAb4BvQK9AkkBYAO9BWUB2QFsAtMCvQJRA8EDowGfAd8BzgHKA5IBWAOzA2sBvAG7AeMBvQG5ArwC5QLVAb0B1wK6AbgDvAHKBLkBuQHVCZ0DSAG8AuYDvQG8Ac8DyQFjBncGXAFNAr0BqwiiAb0CtgJWBj8CuAG8ATIBtgG8ArQBaQJ8ArkB3wHWAcABRgTeAqgD4wG6AbwBvQxjAX8DvAG9AdQBvQK9AeEBvQS6AbkBvAHVAbYGuwO+AcgCzwHZAjcCuQGqAdIG5AGSAbgDuQE2AkADuwI5A70D1QK3AfQBswK8A9AIvQFYAWYCvAW9CL4FvAGpAX0BvAG8A9AB5AEhAcEEugK8AdkBuwEnAs4BuwqIArwDvAG0AbsCvAHTBLoBvQK9AbwBvQK5BLkDLwK6AdkBvQNuBL0BvQjiAb0HuwG7BEkHvATABMICvQG9AbwCogE4Ab4DvAO8CF8F0wFOAdACugGOA7gEdga8AUoCvQL4AbwE1gG7ArUHLQG8AWUCcQLKAcgCvQEvA7kFRQJYAbwBtwKuBsABPwa9Ar0CmgNlBIQEuAIpATMCYQK+AjsBWQHAArwDKAO8AcYDOALRAkgBvAHDBbkBZgHZAWQBSQF9ATsBvQp2AbwBvAHeA70EvAIpAcIDugLhAb4F4Ai2A7kDuQK8ArcCcQJwAaMCQAG8BdAChQO5AWsBuwO9ApAC7wKYAb0BvQHIAkABVQI1CCABKAHlBOcD2Qq9BcEBvQLgAXoDSATWArwDogK0AdADSwJlBDMCvAG9Ab0F1gPRAtoBvQZmAaQB1wG9AbkFtgI8A0MDzgO8A7wBVAG2ASERegG9ATMBvQTJA7QBiQZ2AuABeAKpASgC2AFSAbIB1wFmAbgCIgW8AmYB0QHSAs0CngK9ArgCvQHAAsYB0gEyBb0BsgHdBcEBSgFHAbwBzQHsAVkBVgGeAasBtwIwBbwBwgK8BIgBlwHbAecC3gLAAbwDUgNEArgBxgJ+Aa4CSALzAaAIcwm9AtsFwQNbCDkBzwTeAWsBvQIsAWEBgAFNBHkBVAK5BH0DpwHOAUQBzwa8AdADvAEnAbwB1wJyBrcBmwE3AaUBRQGYAXkDbAHBAtMBUQG8AXUDhAO9ArwDlAJzAcMDuwHSAagELwFwAW4B1wIhAasBvAEvAZQC0gFaAc0CmAOkB08BHgHlAZ4BvAFIAaQH1AHEArwE7Qa7AUwBvAHpA7wBcAFGAdUBvQGxAcwBTgG8AbUCvQPWAc8CtgHWBKIBuQXkAtQDxQPaAe8DpAHRAdYDvQM2ArkBvQGsA3EBuAHIAcIBvQF2BK4BSQFLA9MGQwOgAqYByQHJAbgBvwi4AbsD0Q9dAp0BwAVIAX8BxQO5AXEBvgFHAbkDvgHPAbgBLAK5A1EEXAGsBLwCvAZHAbkDtgFbAsMCtwFYAdgB4QG/ArcD1gG8AeACuQHCClkB2APBAbwBTgO5BLcBxQRFAaMIxAKbAbUC1gHZCKYB5AHhA+QKwQTEBMUF2AHSAdQB0wGMA70C6wK9Ay8BJwGhAb0CwAHnArwBpgcoAbcCVQLcAuIBzQS8AdIE0AHTAbcC5QG8AYMB0gG8A9gBMgHUA6YB2ALkAc8B5QLQAZ0CTgOzAqYCSwFHArcCKgFWAc4BvQGsCp4BWgKnAuYB1AFSAdAIHgG7A6MBRQSdAkMCwQGfBKoBgANQAp0BLgOjBmkBlgFUAW8CvARDAS4C1ALMAdUFLAGbAUsBuQK5BjIBSQI1BL0BdAGpArkBvAHLA8sCrwG9AqkBzgTqAa0DlgOoArkCJQNKAcYBywLRAWkHrgE4AbwCzAHbBeICvQRxBNEFtgGeAeYBuAHNAlAB1gHjAbkBtwJoBrkIjwJ1AeYBngOsAYwCvQGcAd4BswGzAbgCNQLUA7sDRwLEAb8C0QFLAdcBowF7AWUC1QaBAuQBgAO7AqQBxAO8A+YBqAHfBOIBkAHcAaUB5QPnAa8C1QHMCO8Bzw7DB4sBUAPYDfMGSAS8EPQBdAatH5ECywigB3IHTANJAjwJsgJEAzwE4w1HA3QI6AHxAu4FRgm9Baw","uRBK","igW/","S7WJAlCsBD9knMIBer4BSGSsmwFPrwHUfNk","U4xOocgDqgzNngKXMs1LwRkmnwFxiAGI6gJxowHFSqkJb11uMqcTqg","hQ9W","wxDJ","qwFf","Iq9TLAbjDncNZgVOcNEq4CqKHWjyAV80SKICdmHN5QErGS0vnBtLOD5KMRekGykINgdLSSYD0w4vNbcm5S4nFysEJwOkCkhCJk85BB1BMQYuIkpV0Q","e20","N3cEkhqRAR4HzBviYIiVBpk4LzE3A02DASgQf+gBJBnciwIeiAGkCK5jiQylLyoTShx6HccCuA","7gRf","/AzT","e9YOdw","tQLg","+QvO","E54H5T+yBZcQXQOAW0YLkgzRB3cBdxywSoUlexC2AfIEkQ9MCStGqIUBPIEBIVRJLM8tt4EBywH3AeQCbVDlMoNLvQFGAfEKbwU+OY0o1gGrLr8M4DVLA6gI9ArmGesB3wGLCqk9RzawTN5MjlfBJ8wS6DerH7dwSAFLJocZ3WBH","6gHDAcOUEK4BrgGzAbABsA","2wmp","/w7r","/w7r","Z7AEsxa0Ad4BsAHLrQvo","ggHR","hAGe","3Anq","qwFf8AmWmQSN","5QO8","tA+NDkY","vgyeQOI","3wP4","rAKjlghiIh1Iag","2wGTAXHYBTSNAZshL3Vj+gEuCCpfO2N+MDJMJA","3wPT","AG42OAqyVJMCQQGfAaESZRJBAYcDZwttBTsPShjJDcUXzQOoCzoWewW5DDECshOcF0URVDVzL6wPnR1GFaADqwWxKHNWtBlYAbkvkRkzD5EdrihOJ0gNpwLSEcYSpQhBHkkHbgaQE7ACUQiqHJ0SpiGsTKMXUwucGasQMgIcC5s8vx5LC7MpTAeuBEUFZRdIBlEIpA/GCYwFoA21BD8XqB2fBJcRThXOBbEFTxOqB4oDViCdBaoJyQQjGFwNUAFxHZ0IZAKVRlIBWg6qCKwCpQOjBUMFNR2iH6kGJhKrHYQKtBptAr4CrAKsB1IspwR0G6w9rnJNA70","gAK5D3FtRWo6xAI8iwhGMaU","rQ8m","igqb","Wdc","WXE","kAGskgWe","/gjVrgXI","rA5u","/gi7","/gix","vgyeQOI","+wlE7QFu","rA5u","8gkt","uwHHcVYun/oGSyuj2AGpZqwBnyJ9C5XTAaZAmpYBQQ","vg6P","gwvxAe+tA6SlAks","gwtJ","gwvZ","gwui","AL8CygNIAbQBqgI+AVIBjAJCAbMBNgOjAU0BYAFWAmsFbQFqAUwEPgGjATwBPQM0AjQBPgJBBU0CVgI4AUwDXQGSBbYE4AJKCXgBVwFZAboBoAFaAV4BowQ+ArsCjwF3AkABRgEfBXIBMAHKAmQDJwIqAZwBNQJMASwBhAN2AUsBswFDAV0BJwEyBYQBKQFpAkQDVAGrAVgBiAG/A10BfwFAASYBPAEqATUBKgM2Ai4CLAJmAW8BLQEpAR8CLAIlAScBLgFEAcQBXwGOAZEBVgE3AW8CYgK1AScBLQHGAacDJwEvAW0BQgEeA3kFLAKnAzoBQgG6Aa4BSAJKAl8BKAEoA0MBMAdhASsFWwevAtoBdARrDS8KNAUsE14GoQREATwBMgMzATYBKwH4Ai8CPAG5AaACMQMrBzEDUwFcAicBLQKSAy0BSgOAAaMBOQIxA6oBKwUxCZ0BJAI3ATEFaAQwC18BMgFmA5MBkAd0ATsBuQFeATwBtQRbAVsBKwKFAZwBSQE9ATACLxNNAi8CKQWjAagFKwG/BU8EUAHHAjYEUQFJB6EBXALQATsDbAEwDV0HcQFlEGIGoANkATAKWAFPBD8HXwJgAcMCTAepAXgBhAMzC0kIJQHMA+0CrwGaASsCuQc1BSgBvANWAjMMcgI4A0gbhwEvAUoBWwGuAV8BdQGVA74KMgF/BV0HxwEqAYsBPwNcC7ACoRSCAecGTARDBjYBeQJkA88cVANpAuACJgFnAzQBPgOeDVINTgQ+B+AEIwYsATgBOxIkATUBMAU4BDUCxwcrAzkQTQIyASoBOQUvAXgBNAckAnECXAgyAT8CNAihAz8CXwFyAZUBKQPLASkCMwRXAUYBYAG9AUgBWwEuAygETwFpAjgBNwExATUBegE6AS4BKgVAAjIBPQF/BloFOAEwCi0CcAtvCbELTwJMDJ4BagNBCVABNAQyAUUBsQKDAVwMNwgsAzMFeQVbATEBKgEoA+ELVAIzAV8BIQVVAYQBawN1B3gCQAE3A2UB4AEvAS4DlAIlA5MBpAE6AVcBMQKKAV0BXQGsAVkCLwFRAY4CKgUrAVIPMwFfAcsBcAJpAzMCPAMyAncBfwEiAbIBRQEvAasCKAEuAT0BuwOhASIBYAY1A0YDLQEzBnwBOAE9ASgBMgIzA1ECcAUrAcQBPQJeBKUB9QFlAjABNQFIAiMByAGEAV4BYQa5AdMESgExAy8LggEzAUABNQZxCjMDJAVnAsEBogGhA4cElgGpBZwBHQPjATsBfQJFAT0BUwF8CnEBKQG0CCUD2AGmASkBlQFPASUEqQGsAVcBMwFGAUkBLwFbBDEBTgEmAVsBKwQ5AWADZAF+ATABLwVdAmAJwAF/ASEBvgJ5ATQBMQEpATIB3QFcASYBZQG+AcsBQQElAXABUwExAV8BlwFZATgBTgFiAVABPwErAXYBqwEkASoEOwJ7BI4EoQFOASwCYQV3AVoBMQG1ATIBOAF+AbkHdQctASQBMAc1AcoDXwOnAUsBZwW0AYsBKAGPASsBiAExA50CMwKEAmcCYgFQATYBmwFdAkYFOwI1AqUBpgEgAXkBeAI0ATABVQFQASwBuAGaBlgBNgaACnABawInAa4BWwF1BisBKwF4ASgBbgGuAbMCIQFLAl8BKAImAYEBLQI4AVQFzAHjBCoCeQFnA5ABrwWLAmEBkAGCAS8BPwEoAWECjQEtAYQBVgE0AW8IPwFqAXQBawMqASMBVAErBz0CjwGjATcChARhBXUBUwFRCUkBiwFFATcDqQQ9BGMCMwE8AbIEIQInCGcBdAKBA4sBYgEuAXMBJwFvAWABLQFfC2oCIAFWASgBWgJ+ASgBJALlAccBJgU5AR8B4AEuAYwBgwGQATIDcQEyATsCnwEvAbABnwGkATABIAHKAYIBowFoAV8BXQE0AasCLAM0Ab0BcgG7AW8BKwJ9AdABVAGDDDIBNQFVCUoBYgPBAVIBcgE8AlgBngHfATUBKQEuBEMBMQE3A4EBxQF4AU4BJgIoATgBMQGAATABIgIwAV0BWgF+AWAENwFlAXoBaQEyAawB1wI0AVMBXQEsAVUBXQEpA20FMgEqATYBsALpAlwBMwPCAWYBVgIxAaICLgGuATYBJgEwAisCUgGRA0QBnQFxAWICKQEzAUEBpAJKASIBeAI0CcEGKgM5CWoMuAkkASQJagFIAncCLAE5ATEBVAFmAZUBKwFHAS4BLAEnAngBjAKmAkICKAI+AzYCigGEAY8BWgEoAnoBJgFpAnkGSgNTAicBMgPKAU8BlQG1AS4MngE0AV0BjQFYAoIESwWBBcEClQFLAYgGsQ/FAb8Qww67GMsHPgSjGrsBSQjEBcMF3wFhAsULxgZJGe4IwA","3gx6","3gx6","gw2qAbE","5wuh","6AXm","kgrh","iwPX","fUI","uwLs","uwKI","uwKy","yQ7xa94","3gmh","LO+CAd4R1RG6ImNSYgpiBGLnAqOVAfQE+BR8ggLHCYyiAVdB0hHtZ30H52qeAXFAu2k9hQHogwHeGxvdAakdqA","0AHWnA20","LHE","LHE","/QTg","1wtL","mQWw","ITXlA7DWArMVWq8CtF+rJ7Ybag/FL7HLAZ8gs3GxnAGwXLEnsA","1QHB","AlTgAdOOBtKlBj8","zRB1","uAFX","pQK2fj9KS4oB0CaeE78OarIBu8UCpm9N4APDAe5VmO4BmQSxkwHr","vwVliAOV1gJrCW6gBZ8","wQLLE5OCCunKAn4","1gzn","rA5u","7Qj4EfY","oQ6T","oQ6N","oQ7uT8c","oQ6v","8A5O","oQ6F","/QG+R5EKwwSy","BIAHjBZDN8wUlgaVE0chRP0BZY8CrT2owwFLMpw58gL3AttmcEFU9gFyAnQ0ajyrFiz2AjpaKSOq","nQjlAtsC2A","xwiV1QI33QHKnQNn","hwzV","hgyq","E3PaDZw","B6oBlQh/BEAEcQGWBEgBawGOCIAYvQF0Cr4nKhrUAaAGWwQmA1cENgkpBDcGQAdAArAagQNVGLYFKQJhAp0QpQu7KVsMpwOuBsMJRQFKIYMdLAa8A1sGKwSsFykDwxJaJVgCVhXAGX8GTwbOAqYNpQQxFZQBlgGoC4EBfjNsF6cKOxVaEXIGTAtOBqcTTzS5CCcLzBRyDFIHKxNMDGABRid1GVIBbQNuCFQIbgXHG3wDVw95DjERMgFFBCkMNwpuAXkTSAtIAYwyowYxA3wJzhAyAiEGoAIoAqAFIhozDGMIJgQeBJsHgQ2tJigMcAezISYPuAuhDDICMgcxB4EFcgGQATsQJgdvEIIoLRKJE1cKJQJAJWEFRwSdF0AEZAikC7EDlwmBA2gBixijAiIJKwIoATcVnBEvAZ0TRAXCCh8UzgNqC4sDrgRkAZARYwNTApwF0wExBKsdrwpSCngLNQZIC0sncj01B4IoTw2CE7QBxAFAKasRwiJHBkk4tAW+ArUWNg","4Alo","CEI","7QSB","kgE3","FCgwXogL7w","zAty","zAu4","wQI/gAJNkQJC","AEIFgQJLAaABTgO+AXADsAHQA0sEUwVmA3ABqwFMA1QDsgJHA2kEUAtXA1oQowFyE5UFPgvWCkIGSgOaBUIDuQZNBEMDqgRBBZcIRwdABEMDmQOYGbEFoQKQAWYImxRFAYISnRbdCI0EfwREA74QQhdIBJ0MegavBEUUkQdLA8sESwipBIkZPAOdByoFbxt9GkcU0AFyD4cEbQqyCqMGMw3xBp0EpAZJEkMGjQOgCJILpwOSCJoEuQJuC80ChgO4AdMBTQ+WDoIJihCmByEJpwqhF0ZapgScGuMP8gGXAaYFNQJ1AeMGiwGXEykCzwF1EYkHPAFODIUBiwSeC4QSsRZsA7wEvQl5BtAJkAQ+A5sIUwaUEJgEtwJDBXYIzArHCcwCxwpDGKMDywpKBz8CpwlYDaEDuwrQAoYBVg7OBqYWbAHNAUwDpgcxBB4EjwNEAaYLyAM/Al0bfgNkAr4BVAOlBEkEiwJ1CjsBKQGDBIAVSg9ECMoDkg5HB5YGZgOjBi4VVwyvB4QBOATICVEDrwhIB8cBwQSJDJUFqAGHGFEJYw9NFc4HXQflAdUIzxJqELYHoCF2AXYNzwHAAqoERxv0AS0GoQfKBEccPQVLAjQQMg/PDo4DogmnEJgGrwnDBXYUngN1C5sEPQZrA6AFOQagI9QJjwqrB6UBvAOMDygJoQGjAUEBhAt7AzEMagJjBM0VRj1LEkYDRWZCCTY","c7Q","qget","jgix","kQfjD8IBlwGmDos","hg6b","7Al/","xwd14QIe","gw3lAdU","7QGooQ3j","jg+8","jg9I","jg+g","7QGo","3Ap6","AI4C5wLgAosEUgNKAn4BgQO7AboEUwWmCFQGmQJpAkQC4AJ2AjYHfAF3A3wLbAN3BLEDZQmpAY4LpwTdCIcIagd2ApwGOgU3BEIBPAMqAuYBxgTcBDsBawU3B1kDiAKZA1EBLQXcAe8BhQScAWcBlAHSBZQQbg81EswLmgxZHr0BMgGvEGsC0wlgCGoDSAi3AaYFxgGhDdQKSgXFBLABoA07AUwCyghCAysBYxhQAikKzQumAeAD0gRJC+EBqwNRDaoQzQK0FLAB0AKAAqwGdwboAaIBzgE7AnkImQG9AY0DtwN9CKMF0AdTAjADrg1jBHoEzQGxAuQJ5QXZEtUF3AVIAXkB3wykBEAF5wgqAagBug2sGZ4FrwFFEIYYsQpeBLIBrwM7A8oDpRi7B6UEXgabAVwB4xPCDd0GphMtAdACWQGbBMgQ1gc/DKMLqQZGAWABWQeVApUCkAHNA64BmQEnAi4BZgnqAZgKOATDCSkI1AqmAd8Bqwi2AuIBaAE5AZoBpgF1DfIBQQGlBZABhQGRBKUCQgI+A0YMNwrRDLcVLgTNAT4CpQXkBqcHQwmcCLoBNgSuB84BMQc0EvMD5wW7AygJmwiLAakELQp6AUIFuQhKAXkB5gaZAY4H6QHhA+EElwEtDEQEsQKDAzMBQBlQA0ILogGAAzQByAKgATsEmQIoAsUTkgInB48FMwTmAXQCjgPVBscQ2QSPBmgGMgGWBHkBwQKFASIGeQGJBSYBawzjCHwGqgGAA9QDrwLHAdICnAGtAaoCjQnLAtIDtwOiBJEGKwNND5AFMQuwAUYBLwKtEdMUywOnBpMLLQjLA5YFQALkAXwDmAQyAi0CLwaiAcYBRAFPBb8EPwGABKwWzQLNBJ0JnAGzAVwBNw/aBLIGqwKbBawFrAFPArwBkQGhD5UEVAOrB7kE1wKYBm0JcgF6AkgEVwF8BaMBRwGjBaACPgmeBTUBVQq5A0MBMQGBA4EEXAVqAlsHSwJFAjEEKAEwATkBRwG+AZQEQwyBCyoI8AI4AcYHuAPwBKMBJANfBDMGUAFHAaUFmgxIA4MG1QKvAU8Otwe3CeIClgKlBtEBegGlAi4EtAGtBrkEpgs2C+gD1QOkAbcBXAF1BKABawJxBksBbwEpAdwBxgOqAaEB4wdHBcUH4QHnAeoB8wLrAnkD1gTaAbkDVQGfAtICxQmeBWcBygFDA9gE0gHjBcoJqAHJAswHxQLSBOUB6gLmAc8BoAHJAaQC3AGRAd8B6QLsAdEB3gHrAe0B7gM+AVAGkwPRCLwI3QFGAdYQ0wvPGt4BVg","jg/E","AKQBzAHhA88CtAFRAlAD6AHSBYgBwwTlCaECTwa0AZoB5gTaAlAPYgV3AcUFbAfTA5kKlghsBHEDyRHEA84IhwTDAcUERwG/BCoC7AKtBdUEpw1ZE5AHigJoBaAJmASgBmkBYQGmCqsBjgG7DeMCqAN1A18PqASkAcoEagHiAeMBlxB0ATsHsQXbArwCrQi4ArMBeAZGAdkFdwi7As8EygLIArEGsQSyBXcBiwF2A9YBrgTOAuUDxwKjAoEBmwLdAdoD1AJLBE0OPALQAZYC2QFwAtIB7wHuAfgB7wHqAZ4BrA9ZA2oHewafAtsBrwiYAtwDuQPbAjoBlgrCB50C0AOgAZQBUQLWAtECYAHYAtEESwLtAsQBywFhAZgBtgN/AsMD0gGdAdQEcAHLA+8DoAPDA4QFuQTaA2gERATAA9oBKwV7At8FMgdKDDwDSwPNB58EswSQA9YC0wKeA9oBngLgAZoBzQayAeIBwQLiBo4CwQfnAuYBkgFsEVABMAKxAeABsQKYBNAD6wLdBJgBuAGLA50J0QG3An0B3wOXBncBuQOoCq8BdgvNB2YGjAPkCS8Ctwx2A8sHowHWBbUJuQznAZ4DWATNE6IBtATaDdQMvgvqEqUE5wOrAdgCqAV4AZ0BSglmBjsKlwTbAcoCqwNrB5UBwQGZBasDxwPYA5MHwQHUAaAB3wHMAuED7AKyB4MCygWGAtABUAHLAs4BVwXYAtYDqQKHBI8FwgFCApgBcgXMAvgBrAXhAeQBQgHGB+4IbAefAWMDnQOgAbkB5AJfAb4KlwHOAcsD4QelDtUBowa8AXQEnAG+CJMHtgJKA54E9gm/BEoB3ASSAz8GugFzAUMKwgRxBuoB4AfJCYUBtAOgAeICbwNCA3cFkASaCasEQwKGAd0BrAK4AUcI0AFyA3ID0AKsAckB7gGNAugCfwHvBpEExwqkAfEG0QPBBM4E5waEAh0CnwFxA9QFzwHEAroBzwKoC/QDwQSNA8gBtQGuCnQOlyG/Aa8DrwHUBE8CdAHrAXMGwA97BdkF0QVMAXwBlQGLAoYBVANgBqABdQaLAa0CJQJ5DkMCKQOiAuALxwFsBccClwdEAZAJ6QHgAcgLqgtMBH8GaAbdAYgSygJiBK0CtAi+BqMB4AGUBNIB4AE0BPIFigKtBrERhgTWAoYBqyvRAtoCwwG8AYEDuAKjAaIEjAHrAckBlwGBAZQBUAdcAcUEUgGZAoUD0AQuAUACjQTSCXsdzh1FAo0VWgaWA3MEcQJkA0sHZAHIA+YC5QK9A3ABuAJ0BW8CigFJAY0IYAHkAbkFWgFHAjMBYgaEAsUDkgHsDHwCpgEgCWMHsQKaAmADRgXNAsQJzwFJCL4CkAHlB00IuQWmA+kE3wS3CG8CTgJ9A6QDRgLSAbcBrQLUA8MMRwFLAdkITAo8Ac0CTAJAAVACTAFHAWsBRAG4AdsJTQLRATwBbwpAAaADowZIAusCRwHoAcgBQgFEAkQDQwLRAXIBswFxA0YBRgJFAmUCXANAArgDyQKvApECSQHpAeIBPwGqBT0DUgJMA3oBvQFJA3UEQQRuCEQIigFICXECRwNLAUQJSQFMB04CQgdK","oQ3SAd0","ihBJ","gAvw","wRHJ","sANm","uglj","mQl9","ygvU","pAU9","8gGr","5gFp","sBBJ","wwiQ","gwKo","pw3h","mgFB","pBC5","UoY","0w+x","TEZZZUmCCYMBggWDB4MqhJgEhqoGqSyZ","zwNs","6AHk","pwEf","/Qz1","/QyK","ggl/wAK+E72aAU2XAfEspA","oQOphgFHyAFFrgFz/wNRNUSgAUXlATqfAVMrcB26kgFy","BJk8YgRBA54PYAd4AmIBvQOyBaQCVweOAWwFbQSZDJ8CbgO0BpYBjANfA3EBegVjBZcOXQGaAXEBYAKhA1ECagdlCZoHaAV/AXEBbRN2DXENcCKcCoAGZgStE3gBoAV0AckCygFsBIYBcBUkF5EQdAapA6YCnwFpBp0CVhF0CKIldA5mEZwqrgItDHAepAZsBWQyZwFuAaUEuw6BIDYFcReZA3YHtQJuJmsidjC+EKQQlwTBC8geaAGADXEGLgp3AZMNhQKPCzgjmwp5Gm0FbwWbB1AQeQGcC1wPUgGsA5YRaAmZBZwLoQiiBWUfIQShAaYBoA+nAWYBhg2LA8UCbQN2EHcBdwIwBYAHzQceEFYBjwl5E30EdQyKAnEgZw6yDX0BmgiZDnMCfQ0lAaMBbQG2A3cETQZrBXsSaRKPAcgcfQMpBokKIAJoA7cIaAh2J6IBqgVtA5sBewNkAWsTpwGvB3IEdwEoBjQQaAJuCKAGhQpqDGwMLRKdAa0HsgUtEFcIZAtgBWQCaQJuAS8GrwWoAYgBfAa1AXgWQgKDAzQDfQeOB2YBnwRDAqoFZwW7Bn0CygJzBacHrgVyFFIFlwKzAXABcAq8AmsVXweGKhsFLA9tAqcKoQK5EWcBJwF2L0EBnguqCLMoQwpKDaMNSis/AbAnqw","gwdHvAEpZac","A6RkpBy4Aaz3AWAkSlJYHLMTKh6uGq4o0S++QrBZs0GvAl8DYhrRB0ecAbhGQI8BImOeEjgMwEWhF5ECWhfbWpgNmRVzCh8KvC0rHKbUAbNJtla3AcQRuQFMGtQVtQrJAUQBrwHBCtQRvAXUDbAHvhDhAbENRA3TBrIGRg","DrMKuyhMvAKklQHbR7oPxQvSgAGmIJsCWQbPELKlAaMdSKQBxwzZQEEKsnpJQbisAaEFxfABowhNQuhythaYNenLAUY","0gyQ","5ght5wK3Xoj8AomEAdYSPg","kwLFAb8BwssByAHD","9wIx","HPAC+B25E/EWeRWID3Qo5A1CAusDMwvdE90Egi/BAd12ZwL3DEECTBKKObxU4QHfTpSgAWIW9BnnA/Ab5w3t5AHsbW4L9TX3H6EC4wHnEuQE+BOsErUV8kf0AeoaoQ6vBL8l4g3iJNMH3AHBAcsC1hXwOrAX93yaCPIB8AjQOqkg5jOTDfAQ0xWkEdcG5gP0Bd8C9QbyCusBzB9KAeUBzyvuA/YB+U3IBfUd1A+nAekB7wG5","wA28","hQtHvwNN+QFn0QHp","3glr","ihHmBOM","sAEq8w62","vRB0","zQvW","vRCg","5gia","zAvB","sxC+","7wzT","jAOg","ugRt","iAVk","Hpk","vgbR","1waZ","5wuh","jAO0","jANT","wA2o","ywrF","vwHF","vwGg","vwGg","xQ7I","sAEq","igNn","5ght","uAH6","uAHr","uAGC","uAHz","uAGb","uAGs","uAGb","uAFX","uAGs","BYsIhx7PLI0NeQqLtAHjAqodtn9FGJBBQZIBqQGQA8EC5J0BbVzsCUoW94YB6RdHlwK8NqMawEFyQtAC2wGlAc4u8QKlMLMjxm6tvQHCAcABwK0BnSaN","/Qq8","yQfphwXC","BYsIhw","rgGpqgKfyAie","gQxSCVE0Qf8DSQ","9gKX4QE/ywSk","mgyD","phGt","hwGfV8sQ46wBTA8+oQGzXE+gA0BZdQxmGKoGRA8yGV0W0gJGJZIKTghsXUc2L2pFA60xRQeGEpiGAUkjmAxGnQG+S0R16AXhb5M","nwl1","Y0MOPE529wI+2AVirwad","BZ0ISga6GD4OThZpA1QsMwhrAT4NkwOrAUMCpgdDH0ISUhqkB20CQjWcDkw/nyVfAaEhVyBACT8rvx6WI4YNqTmIDVEcUgRGWnhsZgdQTU42mih+BGEFJhtNUiEPug1ACzsCRw16EqghRwucSooQShpRB0UKqAK/A5AEuQJmBUMuSgyqG0gLegE2Fp84RQYxB6cmbhCpA0ZLnx6bDKQYowJHDHgmYBFHBbIKQAZCIzoKMxwgHb8BbQg+B0IXKgq8H3avAb0","1QbS","jAXkqQeFAYIBnJ0D1MIBgA","1A/F","EZEFdR3NDacQkTdwEqYG6gjpJXACrDmcLJkwnhmbMc07iVue0wHAR59iyBLNGaYlyTt1FEtLlQIkCqhjxDyPAX0TdiTrSowfszlXDG9x3VntAes6NSrQA50ZmgGmDbkJoyquDd5B1wQsAScD1D/MC2EY5SlEPWUNaA","B6qAAomDBrrUASgETRHNDByPAUIURGROiAF5nwHMIU91jR9INHcZpjxIPTw","TLc","FEssTAzrArYUqS6aywNLxwFCywPLrQOfTVCIAUY","TNwCtg","TGc","5wM8ngKV","1gtGSKk","pgO4AmWqBHk","vg0t8gGw","8BHX","8BGj","8BE8","MsUsXh7BEMcMZQWgDUsG0AJdAZEIc1C2TqABfy3MBKolsS2TP+AYliJwRE0Kc5oBrBu4SJcjqjaxA8wD1A9PB5oOzgPPCuQF5X6NB80FxgaUKI8d1A6hFt4eZyKrAeAEsokBuwyHF3gPSQi0NHEqWk3OHWk1aX/lEl0UrQYqCaMwtgGyI28WtwxvBm8FrQenCdcQRw89AUg6lRpEDmEGRwdJAnEFTAlCCeE","fMEQxyd/WLaoDX5loQGd","JLE1cSOtF0cERxJCAm0OSAItF0QhPDroDKENK1NLD0U+OgisFKs9SSM2V6IwsAGwBGapAXcSphemITlxKAigFENbpg6tATIGawieI5ofPAvvFzNCuBFoGC9JnAUnD6gPRxIoBVEMJQpCFyUHSFJBPzcTlwJECJkGqQuUA0gIPBrOP04KcxtJDmsCoxVBUEUVJw","6wPo","5gF0","GLUopNYByEMtCLZ8XAsw2gGxrAGlFZpNqOoEoEO+ETVzXBGtEZ4WPgnXBNIF5AlUK58Jpy+TB6wWmEFkPWCvAW8","bKFMPxOCE0MDfAGdMdEK1DJyGIoCsRBYFkEgVgRWGLQKoRGmDMEUlCBNI20DwA2rFp4E3jyzC0YPSwJgDFoBowyxAXMHzRlLDEgS0gqxCqARSwe4JrUWZiCyHPACjUydFIcffwM+DVUZKgOzDk0e2QakIC8bdgK3BegGPxmxCLEWvwGYDDoCzAEiSkoMSAtHAcwYTwfNAk8ofh07AjsBSAlfAl8MQQHLAVEbVQdWDy8MdQKBCcYJURdaW4QCQhSFCEoOVkStD6gCqBW/BVNGswR0BK4OWgPKIDUTszjNCk8TtgqVKbwIuRSuDUQUtAVSB0kHtgapCsUFugLGBMEUuQJu","xweY","xwfu","kAFb","lgdp1wEqcH2oAWkiMD/cmQKdSm4","d6PDAWihAkugAZTzAnW5AqHSAY0","uAsx","/gzn","/gyp","/gxX","AXADgAN1BIwPfw1cBmkDSwVLD38BPQFpB5UCpgGhBqYCfgGhCaEBYgqiAaMIXwGjAogN0AY6AZADbAKJBZ8GSgRDBEUCPQJuBEwBSAFnAnkCugNcA0gBYAPEBHEDPAo9A20DZQR/EGIEpAaRAbEHQQaAC6YLPgW5GIAFwAJoBUYCrQVwCk4GRgZ1CGkYlB5MCT8DJgK8AWQeQQvMBa8BZgU4AUABgAdhAnACggQ6FKgBmjF4DE4HpQhmDnEFyQy+FnUbTQI7BZEDTBZlApcFvwS7CU8cRTCNBnkCiiBNG6QeVRWVBcoLrxemBoQFpQl5B20BogN3E0EWaQixCukGmwtyC8IMywI/BW8BKAGeAkwBdQKBGrMIKA1JAUkVgQJLBrEPQwNuDGUQcANzB3wIwAGhAXoDPAFMAWgBWgF1CpQBhgZ0BnwEggVGASkHQwh3A1gCRwNzAkcCzgqoAXIkZwWoErAFqANyDFkBoQWRCdIBUQKcCkkFiQ5FF24BQgNyBFEDUwGiAkYBSAObAbEBQAK4A3ACUQRMAnkDYgGPBW4DwASuAkYCbwRNBFoBfQFaAVoCWgFaBGMCvQeJAXgDrA1DA2IHShBDAaAEQQVHAbILUAZND0oBaAZxAUgEhAcoB0MeYQJBAnACTwpvCHEHsQJkCKoGagFEC2wMTgJRBmALngdkAWMDSAFrDlgD0AM/AZwDqAFCCWQBPwGWAUkDfwE8BLEDowWUAosBqAtFA3ECTQqbCTEFwQmPAUYErApCBqsCpgV5AocGuAFyAXEBRgVyA1ILRAKABHQChQSxCWMFQANGAkcBXQOcBKQBqgTEB3sEhAZoB3UNywOWFkcDhQGpAs4WTAGjASgYoBOCVEQERgqpajY","oQG+qgbz","7QmLAamNApADyA","9xCr","An4ikhGvDW4FwwK9I3UBSQJ6AioBqQK0AXoCcAOnA4cCtQyLB3kPLApuBmoL1AWCBpMJkQNnBbICgwLqC74GqAa/B0Uz4B3VB4wCegcsGmcI4QREC3kXswR8AdMBywF5F9sezgnGB6wOkxeaCrkKngGcENIMswN9EGUGlQN5AdYBNiKiH8VEKjYwBF4BlUqDAZQKcAGvOq0O1AIhBZgKOAGlBasIiQTLB6YKfgZxCsUDrgHEWbkFRwiEBXYMcQaCAnANqwl9FSoWzRCFB5QHiQ2OHqgEzwe8B6gFnAG5JdYBrgc+DrIDdQSQDbEPrwebAs4EiA7rBKMEkhTIAqwDmQUlAq0BfwflAVMCmQKeAp8GpgihAtoL1A+nAagBxA12A5cKcwK8CMcH1AF7AsQirwisA68FowfIAq0DRQKIG8INwgG6ELUIsQueBoYG3QuxAt4LyQSyDp0BQAuzAsQQ3AKqAcEEzQG2CbYCuASzApoChALFA98HXQdqBVYRdgyOCLUCiheIBZcB0AiFBqcBeAGgDMYFuAFyBK0GaAxfAa4BqwOhB+AC1w9gGrcW1AHjAcoBiAOtAsIBdgFyBcYCkgK5AsMDdgTSAqYCyAGOAy8JYwF0AsgBwwK6AqYCdgilBeUBRj7RAUADxgXoA94zPg","5wWz","zA22","gwadhQLf","5w2y","9Au1","jg3C","zgrWAa4","0QR70AvT","9QGM","VdI","bHo7rBtBD0deQlKL6wNGYk7eAUu3AVCIAfCuAb+EAYEeSIEBiQ1HUjdN8A","6wvH","6wt3","b6TKAT+sAdf7AbSBAbcR1yLGYeZqpJQCqBl+8QKfsAEmCzbNAuo","rQ8m","9QfG","LJ8GhgmCD8QJjAJ+DsAMXQKsKHERZQHdEHMHZTNwFqYFuCnFBnUwkAvBD71TngnYRd0Ttyl6B8otXg20El4isxh5FH0CwUe3AX0QnAbfC7YO1RTbL5UTZjnUB1YNoARyAW4JpiZ2GrsaxhalLaAwywZJAasbfUh/JHcCcghrI1A0SQSlIMgXnAefB1dpigZVNuUi3QKIB2MDYARQB2oErSZNQpYFxxqDDpgL3gJGCM0QZhBoCn0DwQZvH5ctzQ9/DEsNdAGXQZ9LSAOQGqo","hQ/H","/gmp","2wWz","qwHS","iwlr","rQ8m","+gLB","iwms","MrkjWN4OoAWp","uA/S","/Q3P","rQ8m","2hCY","2wVxAXEBcQFxAXEBcQ","qASc","vAHO","vAFq","mxGs","tAGOctfGA77nCdhRyQ","tAFi","tAHXgAFLVc6UA2YmdpAJ5A","0w+z","tAGO","/g2B","GKgnTBOxBI8MjxE1AnQRKQkpASgmXANGBYIRyAk+ECkFnRKbAqIEkwPNEWcUfQSvKD8EIxYuB88irgKeBIBGmQdGCK8Lni3AA80IUQc0ElpRmlSXA5QKZwRyFGYJUQORIc0imB+vKWoUmSalDDAEzAy6C3kWQAhCFykNhRWeEqUFfQRwCmgSLhRKEacOVwczEmcBVQOrBqQKXgEnBZoMMEd0DScRlxFuBjMJLgEmCJoNdQa5FaMILwaWFkcVMg/OFJ0MKA90VFAoljiwCToSogUoAkcCKQFqEycCmwEhAaQswgHDA5IJNRCdAUsDKAtzBnIIORMoBDgTHAUpCVsonx0rJzkjsjy2ArdWtQu9Ebk","FpMwQrMB7Rd6oAdN","yAVYkQZRjAFIeqwHPOQBSWml","qwJzeuu6CqxmvIUBSQ","7wrAAcEBsAG/AcUBxZEHqwGzAbEBtg","xgKq","3wOnzQpNWTs9RQ","Iq8DVChrVVsFuAO1BqAEvw61hAG2K7UrTAWpPKBbudIBRRtHNVRlfzWoHOUbvTDGG4o9qGcocbUKmT61J4hpLtYBPglHCU4YueEBnhBG","pwVs8gSh","pwVs","zwmv","2Aml8wGjJUK+ATK6ASs","zgt3","swWphwpjgwEk","pgEpCETyAy/CAievBiU","AMQFnQGaAnkItwJWZKYb3g3vGsUJcSbCDHMTt0BrEdcBtgzCBeoi1QGXHGUP1Al5BqsQzgvpJrEGYAG2AeUJ6wHLKugKnwfXDWYCzwlyHdkD4QWaAe4M3QMrAlMYyAd5DLYCvxruB88KLSfMBqwGxQziDbECiQHNAakDlw7OA8kFaCm4NtwLQxVkDbgIsAPSBLQBYAfaEc4DmBK7AVEQ3QXKBGUVqAJLDsAVTAScCKUBnAOoDGIB5AK4HtQIxRIyBqEY3AHDDHEIPQnKBswI2gdOAVMC4gLoBswOeQefBKoEvganDooVRAbtC+kENQd/DDEgcgGeBk8IqwGuIJgEswTHC8QI4QquBygFrxGfFi8cfwaUE+UClwHqAuACYAqEFXoCfQVvBOINuQ6oDawGgRbaB8MBYgeEBJgC2gqhCHQLawGDArMFtgOWA5AlMwXCA7sKog3rIkEisiTWLM0LcwF+AXkn5w7bAZcQSwG6BEcElQfvAUQDpATUBt4HOwHPEssCsA1DBuIeswnhDzwY1ANFGekBSAm+","gQmu","lwLw","lwKz","lwKo","lwLe","lwKz","nAqm","ea4","4AnA","B8wFTQWIA1cCgwVKBHACawnAAaMCSwS5BKwWZR5IKZYIQQNYA8EBQwQtAj0BSwFCEEYDagpEBiwSbgJ0B50jVwV/AXokqgKgAkwBQw+pCycGLQOiBdYCRw1ODIAIogFsDH8HewJLCskL0g3EDY8DagtoAzYDQQidA0YHbAp8Ay8Xphl3EYQUew4rAmYQRwSdC0YDkBR1CKYfagy5GdABoAshA7AMPAZ6BIoUgAYvCXAYSQeKA5sKeQ+eAZATWBxpBJQBQQEvDckIbAWfC0kElwR4AjsC0RgqEG4FoQOzBHEO0QGCB1cC0AE+BU0HOQEtAnMHsAG7BGICQQeSAagBjQWUBSkKYAxuGKMKhgMzBH0TTgqsCp4CVAFPAlgHbQeSBE0QTA1NB2wCewaTFNIDKwGjB0kCSBFWBqgBLwuWATMDXgZqAUoHcwEzCcICKA2xCZ0BPQFTAaMInQlqAYcLSAZ3BW8ELgGyDksDWw2EBqYHeQ2tAqkDJAOjAUkZWQJ8A8cCVAJGA1IIXwFRAV8FYQlRA6QEnAqZEccDIBWzDzYEUwSuASsFqQSmCKQDfghiBK0NTR2gECsRLwuuFEEDUA0yAr0GuQKzA7YPRQVLBUYTYwNxAaMBdwMrBL8BcwmEAc8LYghFAYURlwbEBUcBMAJYAUED0gqnBkgBcAIoBioBdQdIBI8GiwVgAzkCdAZJDKoBZwVfBkoBhgKdBsADiR41ARsSTQ43BXEGtwGtDVYBdATLB5UGUQtMC0hSPgxHBUoDPgFQA7wLSQM/DDwEtTE2","AVAEQghKAlECsyTBLqc+ocEB3tQBOxE8PXUhLBal2gFKOodBXC5EDHVSTjWdhAFCFKtfJSWCM3goYTNJAk5EnAHBAc5OUBtNEiw6TRZIAS4YNRFLhQF0AaQXlyyfBUpOTC9O","B7QHgwG5A7ECKAKgBX4CKgKxBrYCWQO7B7oBngLUAUsBQAKjFqsCuQNcAvEIowaoDlwH6BaFGT0EyQV1BI4DQwS6A68CnQ6UCLkCsgOUBrgg0AiODZETuQtfBrIBsgS3FasFuQHFBTkCuwLDC88O2ROOCXMHSgqkE7ACpwR5BqsC0A6MAjYOtwdGGKcf6wTICTQDiwqxAXAOSwKqELQMtRd1B0IMsAVhBcQBughoD+AIsAKcG7gKNQVpAbYWrAFnHEEIsR6GKssPnw/IAccGgwmtCskMxgTZB1MFOQFxEFoZmgV+G7YI6wM+CoYCsQztDN8CtgeRA9sfXQOIBbEUpgaZC5IDtQZ1IUIQrgG8B8IDzARqCe8VcwZHAmwUQh/OFNAEJQTMAbkGrQfNAqUKygXKDMkPtAPBA4gZfAxzBscIzQpOBL8BtQVXApUGrD1wDrkLNALpCWQeegHSDYoChwr1C64PcgE/CaMj0wFNEK0HgQLZG0QGrAzKBJ8B5gOTBkcMMRKmCCwELgS4BZkJvwepA9UDzBDyAYUCxAPjDkcOQBzmC64FggLmBHIBzw6xBXEGQAPLC64I3QHYASYY4AV9A7YD2AXrAtUR4gEvCsIHvBGXHeAC0TPZFK0CPgSuBa4CfgGyAtQP5gbNN0g","qQOkL4w","lgKRkwGkL4zeCqY","uQI2L5GHBKM/eGGDC6IRfxSUDYEOUc4BHg1/Q1xjoziYG5CmAZcrj7sBuZsC0w","cZk","zgGU","7AnorQUs","hwE+PaWrC00","0wJP+wSg+wNn7gJi","nAib4wS7AbkBug","hQJYowObhwYynAMy","fT0zoK8BV+UBq29fhQQxa5jvAUfGAVdzqSFNEFwJKAI5AkGXAVI1UQ","EqMCphYwCKQThARWDY8MVBNDFk0CwAVHCEEJSSA6D1IIohO2Bp4DQhWGK0geSgtIBMkUnxVLHWsWgQlNFUFZPgqlgAGrKtQfzS1FPUpGxwlJOKENRw2mIDwSUTpMMyEZVAw8A1QEUhxcAUsVUQFJC6YWKwEoASIpSwFtG5dRUCyqJzZWnwVMMqoGTgJJLGEZpgs+Ez8LRQZeA1oNRQJLD0wHjxrKDUUJnRhLA0EgRgU5BqQBagNFBasCPzFKEm8eZwhFgwFA","JZ3XA7Ry+LsBtVCcPHHZA7YGsQ5t","JZ0","7gTi","9AT0","vgKTKpEKmA+LzAKJhgGaUZ9dgn+WXjxkSlRjGWYEZwNfAmckeCyFX3+WAUYIdqkChCNy","vAf4","oQNQ8gVLwgfsAUs","ADABMQE4BUIBQgE+AkUDjQE2AX8DMwF6AjoCMwNFAy0BSwI1AzwLQBErlAObnwEzmwPBlAMxT0bxAyA","iRKu","iRKu","AEIBMQE4DTYBUQFyBXAJngNtA2MLQAFMAj4NYgaaEB4IUAFiBbQGQQrBG08HJhMsCZ0DYAVgEfUDPQS2Aa8FiAc+CNsBPQR5B+cCYRScAbQNswG7LnkRiAOfMUYEmAGTA+oBoAzFAqwg4hCpBkcJsg3nKqQBywTrBLADeCNEGMASSyDbDy8DUx6HAVIBrw3NEeYFpQEqCs8wtQSoJMsHzghODu0HswecGbgDcQjIAcsbVhpxBEgSaQ63A40B2wHJBcwM0QHUJO8V0gHRI50Gpgd2DsYO1gl6BYAB9hEwAU0HKwftBZIFKgFEFDMCLgufBaAKNgIjASgGhwFHE8gEQg9OCbIj2RF8CCgCvhOSA8gEehClDKUIjwXEAcECuQxBCnIESwNICjsQkAlMFdQMswSKGDEJIgKBOucBlA+8A1MTNwmWCEsBzgG2A8gGwxA4DLEFzwObBV8EXA73A2sFLgRICWoB3gYlASgFJCg1JHQPVQg5BSgBOAMwCmgCiA7RBMAPSQdDAroMXQfdDSACdhvED+gKRwZSC+UKnAWmCNMccAHaEG8K3QHrDTcSqQKMFrUCYRa+ArICyAOgE3oQSgtxDUYS6gXZ","+QyU","7gOr","vgnt","lgqktgXN","0wGrwwikdHrCBLE","2AnG","2Aki","2Alh","wgiw","2AGI","gQmJ","EzMBKNgBN2Ke2wJ6vQQr2AE0wwJc","fDAvk8oMJQ","5BBH","ZMo","Hk6GBZrkBbA","hRDV","zgdx","ggpG","gQmJ","hRDV","gQmJ","tA1G","4ghv","4ghv","NUsEVAliElobefIEyv4FSQ","4QWs","4gPjAeQ","4gPNAeQ","E3MNmxZ/C8kI5g3hEs4FjgjIAZkB2AiMCD4mqQTjA44P3xKIBNUCyAyXAT1H5ALBDnUUehFqD98N3Q2xFd5CYjnnG88P0SzGDNgCcxqqBI8BiibdWrAufA2fEdwYri17GZ4EgRazeqsE2jK0BX0MgjHlBOYFwAeJHKIH5gh9fYsGiA6PKdUOdAbJFJkB3xt4EXABvCzaPeojg2nIGO8EyRfGDsYtsjjBDa4k0fkB7ySrAbsB6wHUAuIRzg","0gXg","0gV5","0gW/","0gWC","ixJH","sQJx","ogae","4gPGAbqMAbY5tIIC5g","5AO/AcGnDqgBsAGuAbA","pgFr","xg9y","ywer","jQOq","jQM3","zAFGngKf","3gHL","xwdP","jBLk","5ANi","jBK+A+I","xgjN","oQNQ","AZ0DRgHMAYsBzgPVA9sBkAHgA+QC1AN6AccB2QN+AtsBpwLxBrMCwAFHAXUFTwGrAqIB7gHhAdMD1QHcAugB1gS2AaQDogHfAYwB1AVrAdECggHmAeMEsQLcAXEEwQJiA6kBqQF5AcYB9QHAA3UBqAHeA10CPgGVAeQBfAFNAekEtAHRA+IC8AFtBPcB+gHpAtECtgFfBe4BRwJAA0sCQwHSAcwB0wGtAtAB2gGeAbgBnAGIAeoC4QJCAZ4B1QJDA0AC6QLLAokCZQHgAd4BcwFAAfUBzAKqAfcCQgPvAYQHYgPiAtcEzQFZA6wB5gqaAnsEVgHoBKUBaQHwAj8Crge0B3MMUQLRA9ITewf1A4ADSALMArsB1AJkAbwCUAfUAdMH9QF4BOkD9gKmAXEC5AJhBtgB9gTkCkQBtANgAdoEwgSjBLQDzQKmA+MEcAk7Ao8BjgPhAekEsQKRAcsB8wHQAoUGpAGdDNQEkQavAoIDpwOdB80DyAPAAcMI3gTsAcoCSwHSCegEfwRyBG8B2QGgAcYE4QLuBeYD2QLlAfcBnwKmCdMEzAHWBE4C1wWlAVEBgAHLAo0C4QHHAdAEXARBAVgCeAiuCOEG5gTVAY4EYwI1BrwCzgHsBbEGeQOaAX4B8gNACXQP1wNLAZ0B0wJ+AcIBZAHSB8wFtwHtBo0GRwFXAbQEyQLqAVgEoAHxAu4D8AHCCt8J6gRtBaQJ0wHPAm4DPAaGAcoBegqzBfIF3gLVBbcG0wKuA4gBsgXRBEABvwHMBNwR7QVFBcUD7wHzAfYC6wHVB/IBpgbaAe0F1QHSBeABggKKBH0D3RCXAoUBvwHhBUQGyANZDG8BvgKZBK4CrgjuAtYDzgHbBkMBlwGeAbIB3gHtAXIE6AXNAaUB7ALRAXoD1AVJAtcBqwHtA+wDsgbkBtsB5QNpAk0B2wLwArkBswioEa4BVgFuA7YJvQG/A6YGqgHZAlsC+QH3AfoBtgHaAcYDwAPqAosD4gE+AWACzAZvArUDwwFNBMcFngLlAdsFawb0AsYC4QHgBKYEqgGYAYkCzwWpAj8CwwThAe0CywPIAkoE6wOSAuwBlQHCAZsB8ANxAXwB5gFOAvQEoAPNClEBnwKWAdMG5QGkBMwB5gJjAc8B4ATEAegCggLxAmsB6gfMBr0D5QF9A5IBuQHnAckBvwGpAaEB7QLDBtgBmgHPAa8ErgFWAVEBtQGZA2IC0AGUAcQC7wGmBuEF2QGRA20BzQLJAaAEdAOhAY0CqwKRBr4F2QZnAlgCwwHvA6cDbQHbBLoBvAW1Aa8B8gHYA7QCzALDAc4FWATgAsYC6gLrAqgBsQHtBCcBZAHvAvIB8gSLAtMBnwHvAZwEjwPXAukBSwH1A5EBrgG+ApMBRQIvBPYCjwHGAUgB5wXsBNQBzwLdAsgC5APxAfYBkwF5AekB8wHyAr0DcQGbAtUBxQGDAqEB5QHzBUwCSQXPBIAD2QVCAsEB3wHdA9ALoAGRAd8B2gHPAe4E+QHIAtwB4wb0A34EjAGZAbUB4QF4Be4CnQI2Ar4DqgPzAeQB5wS0AtQBygJQAdkB7AHiAfUCvgL1AfUBhQHZAecFzQGdApwStQGsAbcC+AHrAe8DjAHOAW8CrwTyAUIB8watAr0DfwefAeoDfgPBA5sD1gIrBO0BfgHgAqEBmwFDA0gI6wExAe0CvQK1AdUCxgTzA7EBsAGYAkwCoATxBu0B3QLeAe8G7gF1AakIigOwAeUCggb1AegE9wS5ArkCtQF8BdsBjwGZAu0BkQl2ArED4QHcAdgCxAKqA+QH4wGlAu4BdgHlA/UB6QH0AeICXwGmA+ECgALrAeUBhAPxAdEB2QFNAcsBVAGrAYQD3QGXApECsgHgAl0GxAFzAkwBdgSaA2gDbQWlAtcBzwO8As0B5wHxBIQBhAHTBMMDQgGyAeIBnQHrAWsC1AEoAe0BvQG9AUEBhgRtAegBUAPZAsECkQLBAasCrQPUBbIBRAHqAdEE5AHkAaECggFyAeQCoAF+Aq4BkwLSA9MCwwSXAUEFVgHXAc0B7gGeAT0DPwS4AXkDewGfAb4BygRgAdICsAZeAWACYwmqA+YB9wGLBOIBjwdpAcYByAPxBXwBegLuApgC7wH2AdwB3QLmArgBxQJmAa8B6wHJBpkB0QHBAckB7QTwAi8E9gHPBMoB3ALcBvgJyATSAdUB5wSnA94KdQKlBuEBQQXrBOQB9AHmBdMH9gGzBeQIZwH4C+UI5wlGAakCxgGaAsMBPw3BAkgD8AE/BmME2AF1Ae8BaALPBO8F3gJlAkkBUgfBAqwCTAHiB5UEwgNHBGsJtQpCBvQBzw","pxHC","5QKJXtkWqlXplwGsKmHwAbipAdgB5h8oVLtvKFnYAa4EUw5wbqaABHV4uwlwAYsCzgVy","rwuI","xQzXzwTv","pAWe","lwSq","zQ8ieKw","wQG9","wQHahA/C","wQG9","rwuI","+wlE","lgSSAao","xAcp","sQ+z","lBHL","0we8","mgSmlwfjggbG","+A2e","+A1y","Nn+hC5faA48","xQzQ","wQEv","iAmJ","3QWS","yRGy","/AmlyQLR","owlY","wQEv","Bl4LyQphLlgNRQw/D2gO4QjkDqACvwGgBdkGLiNEC21svh1sB0MBtxFrBqsfQTVvB5sM9EvLDWgN6T2KH2wVzgNjLioIRUJdBa4CQxmMAUIJQxg4I5ZJk2zBDMMbSAQ7GEgatCRNCEsFSAI7AmMNSiRXBI4EQyJ1LB0DSB8qCEIBNQV1ATcIzQVEG0MBRgK0AnInTA1xLOMMbwGlD0EFdSXKE0wFXhVpF56KAWEDkAZGDHgnygiXBksFOwU5Ib4B5wd+C7UEXwGXAUcGJBWKA3olyAxOCX8GSyN2AqkqpA","nQto","nQvF","tgZA","tgWa","hxDI","vQJLtgQ4","vQKtNmucCDUuQwFGZDEhdWme3gE5OZc","qAm0bkM","vg9Z","hwHf","lwG/BtbEAUO0CDehAzx9fiyK","AkkBfweGAa4Jpg2rLYEQXh9dCWsFbQtfBJoRkxdlApoTORBhE5YOUTGzAZ81SjJQBWMFPBRTCaIZjw10PE0Glg0tAZIdsBegD2odwzC2DEg/RgybBJcOoBHNEG4cnQlgBqQMzQlPBG4dxwSuB4ASmw5lBJkBKQN+AXQNoQOeHXIFvweHAogDvQE8A6QFaA+QDNQHeQHDDKAJtxSWAa4BwAWiBcoNcARiD7cJPhJwFaAEaAV8CoQDfQVTDtANdwOLBHcPbyyPIMEB0gvRDpYZoQOGAcYDxQbBA9AOcwajDJ4Ewwh2DJsMhhlgA7cFjAIoIXsBbQWmDccPRRvTG3cChgGfA5QbowGZAVoGhgOmKmEMnA0xA5wJVwWcC6Upcw1vBcUMhQNGCqoPrgWGA0USnw2eDmMEVwZrAV0CoAlbJjUIdROsB28Bawu2I84FPQJNBqAFqRG3FzyjATY","qw5t6QFr","ugKfjQbA4QE/9wKMnQEhF08","VeY","1gKkrAyJ","c5mDAl4BUwzIvAGj6AKd/gGVBHEOoyCiowGXswGfaZtfeGivNaY6UEtz","AkkCqgdFKEkIOwJoBsgXWwRQBLILlAtmA7EBTw3CBIICeQazAksDQQy2CcQEQAOlAUMBmwGSCjwYaA09BFABTBOAG20mfQxKOWUSQQ5EBoohPQo+E0hJQAdRCk0LRRBJNrsCfRLMGDAFRSmjELsjngRFA5E5aTWlFV0eRgVOBEUcpzhrI6cMOylCLEMDRwUhCF0URC5CDUMrIgQ/HEglRAtHC0MBRQmlAlELRRlPB3kpRiKoDDYESQqgHEkbTxFCFkcFawtJME01oxc/DkABPwFDAUkLpAKQEE0QmyFQBUILlhFLAUsYQwJEC14NRwRHBLUDcQS/P0IEaglHA0QGZwTNAkMGKwZ/Bm0QSFk3Mkk","ywbDMMQBvJsJ8g","lxC1","xw9HfkU","ADACOAO0BKsExA1/BC0G1xa+CYcheQb4CnwBzgnUCoMMqhuwA+0StAe2AvQHaAJVBX4EZAhMBXlDLQabQb4BoBpbDHYDkQlpGPUGMBetCDodlhqbGawhJRqeEtQg0AaqL4oK8Q1vDLxILg+JCJcSJAG3OCQMwQHJFtQMtQ2cI+NErT+BEHcSlSOiCIICnAiFAYkjnQ3pB3UHkxKdCqYucRtuEEYU3hSmEuoCUQdzBMwI5QG3Bi4B4gaVBZ8QtwLlAX4HrAGqDcIF5w+0JU0MjQGeDNkFbQzVC60R2wGNEL0PZwJxGEEOLQhgCmsHvAd2DSADYgjmB6UMJwM7AqgJOwYuFTIYpwZqIXwBrAHsAdELvgOPBNwB2Qi1BW0KIgFrBYUDcAK0AXoB4wV/BZMDgC13AXYErxfVBrUHzA9AGsmSAaM","7wtH","4Qum","4gXa","auU","4Qum","tAOJiwRL4AefMHA","kAGY5gGjLZfkBaJSLMUCfVPKwAF4EEeJAW4","ggLzAfLzDu0","igVdFabUAaaVBMUD0gRTdCdiSOEBpDtMCEc","EIIEQAdhQ6IstxJIMKQjm0mcRMgRRxFjsgHRVKUgy2GkMaOeAUMMxyTOG00doxAxG6JCdQNUTkIxWCWgTjQHqAm1AZcMXgFeAzAJxRU7AUYawF5SBWsQnGiyCqs4LEQ1GCYIrzOkUp0eMRmXV6carjWmJlY","3AhvgANJmwbi","vghf","4APqAdhVi8oEOtUBdPACKyygAeQBqAGV2gH1","uAGn","lALrYvABm1qJD/QB9J4F9AHo","4QPk","9gKX","9gJC","gAmG","gAm7","tgTr","4wxl","1hHX","Wk7SA6QUoiKo0QNmaqjqAXYMryfzGoo+axnjV8EBxAHBMd8iwih2AW1B7DT4ZEEPkyPyBK4DbhBtF/E","uRBK","9Q7V","1w0o","uRDs","qwxCvQNeUSs","wASTIqi7BJLqAXYMrye7WGsZb1iXfDl2cWRBMkAErgNuEG0JfQ6z","qxB9","ixBr","ugte","nQlf","tQ3f","0gZCkQRQP0T1Ako","7AhPkgVg1QJ8","Y5VwR7oBR+wESNkHNw","zgGf2gKSuwJpZZnXAZxaTgOoqwFN","1Qzz","1QxA","1Qzb","jgPOAcMBzwHNAdgBsQGxAbABtAHH+Q6rAa4BrA","mQfu","pwz4","pwyJ","pwxV","pwxt","kgGhqwGtJKXCAlMcRymSzwJrxQEovQEyygFa5QJemwLa","4wc6JEqlAZ6hAsQ","zQtH","ALkB5gE4AdEB8gPqAegB7wLzArkCkAFeAfACZwKqAegD7gKIAW0BXwEtAvEB9gHLAd0ClALgAegC9gGJAmkBhQHzAfcCuQJWA7wC4QHqAeEB4QHkAukC3AGkAd0B8AFZAW4CzwGqCp8BqwLsBNsBuwTEAesC4ga6AVAB7QKxAesF7QHZAcsB1wFCAfACPgHmAZ4DrgHzAawHnwGDAd4D1gPqASgCRwFvAr4D6gHAASoBzwJxAtgBlgKeAeMBogGuAYYB1wL2BOwB4gGwAfsB9ALsAYQCsgGPAt0CcwEvAvIF3QHlA9ADwAPcAT0C2QT3AeAE7AF7AecE3QeGAd0BRwTkAUwFYwGzAvMB9gSSBuwEuQLtAU8JWAH2AcUCwwI+C7QBZwHSAWwBdwFaA/ABnAL1AeIC7ATwAdUBsgLnAfUBZgGUAd4C6gKkAesBXAKmBHoFxAHgA+AB9QLaAcgCtwK2AfUB9QL1AewB8gHdAuwC9gHoBusJ6QOmAagJ3wLnAUYGWAKHAaQOnQHsAfEBrwTFAeAEpQGIAYsB3QLTBNIB0Q7yAi8BygGVBcUBvAHAAbkBugG+AcwB7gKdAdADmwK+AfUDcgP4AVEEWgTyAdkB+gK0A4YO5AGcAfcC9ALzAeEBywHNAtwNxgHQAb4BwQG9AcABvQHCAb4BvgH2CnEB7AQ/BO8G+QK5BfoC3gGoATQD+QOvBaID8QiJCOYBXQGxAfEG8QWoBtgM8gJcA9cD7wOPFGkB5wGtAdkBugHSAfIB7wHgA/QB8wTzAvEC3wHmAckD6QjeAdwBhgXvC/MC8BTiAY4B0wn0BugB9gLfBrkP5AHgCX0D9gLVAqsBrANLA6wJ5wXWA50K9wSGAfEH9wbHAoQCywjaAaQBxwfpAtYBqwb2BPcF8QPiAdMD3hLyAdcBdgbvBXUD3ALpAfIJyAHzAusI5AM/AeUB2AGbAsADxgFHAvUCbQKYAvMB1QGOAbsBuwPzBPgBzwLqAUsD+AHdCfYB8wHcBGgC9wXpATAChAfYAbwC1xTmAt0F6ASiBasBfwj2Ae4D9Qn5AfgDSgHhAqUCjQHwDPUCyga6Ap0BrgHtBMMD7AFGAecBMQHWAZ0CiQyzAuoCuQHSAegBoAJtAecB5wPxB8kDlAPrApIB9AP1As4D0gPmAdkCKAHRAcoBoAGSAeIB+gH3AaEC6ATgAegBUg+KAdUC+ALaAdMC4AHbAaYDrALnAfgC8wH0AeoC9ALzAfAE5wG5Ae4GlgbdAeMG8gGgAcgB1QH2BbIH9QHoAfUC8wH0A9kCgQLVAacBuAJ8Aa0BwQGZAbgGhAXqAdMD5wraAfgHcAN/BqAE2AIkBdsB0QLWAb4H8QHTBeoB7wLhAY0CqAJ7As4B6gziB4QBQQPzAeEBtgHjAbIBsgTHAe4B2wP1AZAF8QHTAfsB0QaLAfUC9AHLAfIB5gSvCe4EzAHIAd8C+QHmAfgB+gG0AfgB8gKQAZkBugHKAYoBIgHUATEBnQFRAfgBmwKOAZcB8gHjAfEBfwL4BMUC8ATJBeoB5wPuAeYCqAHiAfMB1gH1AekDsgvuAeoBwgHNAZUBMAHABoMBkwOwA9cBYgbpAfICoQHDAeQB6gPuBLsC0wLjA1oBfQKVBeYEvQHDAaoBzQFtAuYB7AH1AeYBpwH2B9sBrwbNC98C4gHyAfQB9gfwAdQB5wFcAsgCpgHTAvADywGTAZkCqgLqAfUBuQSuA+QC9ASiAeQF8QGlAc8B5QHvAdAC4wHTAo0BzgLVAd4B6gK6Bu4B2wHfAd0DlAG1AeUBgAHlBOYCPQL0AfgB1wvZAesE7wYrAS8B9QHqBz0E7ALCAesFjwL4CJUB5QLxBvQB+AGCAaoBTQHwBL0D9QPpAfsC8wG5AfcB1AIjAewB+APwAcgF3AF3AfQBwAGrAacB2QHtA+sBuwG9AZkB+AH3Ae0B0AGIAcoB8wG1Ao8B6gHhAeYBNAHtAsQBpwHbAX4B7wGbAfQBqAHxArsB9AHVAeEB3Qj3AlQB9wyqA+YB3gH5AcsCmgGnAcMBpgGxAYcBvgFDAe4CjgTdAfIB9gHyAWgBTQLxAckB4gHTAakE3AHkAV0E2AHnAdYBtgHiBOAB1QHTAXMB7QHAAeEDKAVoAY4B3ATVAc8B3QGQA8cBJQP3Ae8BYAPoATAC3ga/AdMB7AJVAckBzAHGAb8E9wHrAfcBaQE3A6oBqwGDAaYB+AGTAb8CgAupAdcC6AzCAvgH9wHtBmgB7APNBK4B5wHzAcIBQAFGAuQBxwHVAdQFyQKEAqAC8QP4At0B6ALXAasC+AHKAq0C4QXmBNkBtAXtA80SrAGpAcYM3QTyAdYPqgOVB9Aa7hGwAbABrAGwAbMByAGwAawBsAGxAcsB4hXzDkwY6CbiAt8","lQeQQlycB/E","1wdFnAfw","mA7i","mA7i","qATI","6hA8","tBBZ","aCs","oQ4f","9gG6","lw5y","IdpMpzyZiwbCjQHbKrtM4XVmmAK4hwHJboAujDXZ","OW8","sg1S","3QMb","vwvO","1A65","oQxH","oQzF","vQvf","2wGT6QLrW9LDA9874WyUDFGEAYlAz4wB5S8lggGCM0QOe12XED4FrQ","xASB2QR9","xASBswKPpgJ9EZW3A3jyAZw","yQ7xa94","1w7H","1w64","9AeX","2Qt0","5ArC","5Aqb","2Q+a","rQws","ggzg","3QPs","3QOT","igmn","hwWgA1o","ba9sgNUH0g","zwTE","vA4h","5Qwl","yget9AYs","vQSr","8gnE","qRCN","qQOb","pBCk","0Q9p","vwt+","6AS0","2gnosAOY","gwQt","8Qwo","vQSK2AKFO56oBqE","4gSpigOvaqJEzIYDcA","3QPZ","pgN8","6wjm","ALTyBZztBeyXAaE","sBAm","mwvH","mgEqD7+6Ae6aAe454f4DzwzhBZSLAYryAeWhAdOKAZUl5ELmhQHu","lgeX","d3A","0AmK","/wa1","gwQt","ygee","aE3vBpUErAeT6AGWDbXpAZY","8wsn","3QJYgwI5","zQMr","/wzR","9wbV","2Qt0","tw4k","nQZKsQE11AQx","B0IXLR6aS3LSCO2yBkg4Yg","/QlzxgZw","3wRJAi28AbUmvjRw5wFLDjEZM3VcY9ReeTZ3nQE1jQEmEDKXARwEMwMlIEQ7fg","ig7T","owEuU0KJBVk","5AzA","vRDX","1AKd","gBDV","lAk3","qRCE","KDSMAmEpI2EtowEtQCsSvmq1JrqHAUYkL5cBMystNVEBqxRcwQHPEDEmWqoCJiA0ciZzJg","ng03","C0U5cRZsV4oTHnS6CEfCAZ5xMyxcCsg+KinKzgIsIDMJmGstCkYeKHU1CjEBLiYpBSQQKwGHLMgFMAc1CCwVQgU3Mic5KFKJC1AHXQ95CX4ObweAECEIiAcyHbsalgGtRyQGHRheAUQqJBSp","yA+i","9g0l","alc","0QWNnQXf","gQml","5gPj","0QWNnQWQUX7TAmg0dw6F","PKcBuDpwBzOfBrK0Anw8tsIB0TTJywN6WXYcjw","InI","hBE7","zwuI","rg71","6hC9","wgeOoQaNPYQXJA","vg3X","2QLeAdg","9QGM","/g3y","/w3G","hQwt","tAWi","0QKM","vQSK3gbt","mwsm","5hDN","9gI3ct3gC+o4tw","sAHR","sAFA","pweZ/gGC","1gg7","MLY","qQXz","mwve","L+U","4wLA","4gyl","5ArX","mwvP","IqegC8E","/w2V","2QKC","6A7v","B5I","zQOq","zQOq","I4Y","ng1b","/wy8","gA2hAao","2A3y","8QvV","gA3K","2A3c","2A2l","hwXF","kQJykw61","wAii","mAPY","E2+KBklQqApGaye4A3M1TUaoKKDTAUksRmg8","f92wCHFa5oED5cYC2g","iQ+3","0A/a","rgnTNonZAdGFAcoerwJ6","0A/a","twri","CYSMAXSUAaoDyi0tAYu4C4s","2QItAak","4wqQqwPUCc3/AYg","8wts","nQZ4Jqk","1wOD","CK4DV5cB71PFPt8F7jLUbXrSAcKsAUhApByXAYFCVEA8DNP4Aaw21ReeswGTH/YM9BM6rAGcBKUb0Y0BoEOsSdlE3A","wAjT","1AeX","qAfG","pxB2","RMw","nQbnJug","ig5W","rQlz","5hC2","mAOe","tA7N","4Qac","hQ2u","/w2V","9QGgigyd","sAF1","sAF/","B+QWKiedX69TytgBrhjaAvVAowQ/Nn9CIQG9zgHIbB/PAb4Bs44C0gLvELKeArEl5SjGLC0Uyw","7QQ+","ILQ","yQ5Q","3ALl","kQZ2","ME8","mwuk","zg96","iwrU","KruGAXU","xg7gDu8","8gme","vg4s","ObI","kA7W","rw5N","rBAn","vwvG","8wZK","Kro","gBCq","bbdsi48D1osCSl443wEt","nAjV5AS6","bY4","Wmw","1wnk","ygfX","1w7T","5AqP","rgmo","ow25","xATQggGnXEJVzmDCBM8Hw7sBvC3eHLPaAdqlAa6cASo","2Qu+","2QvB","sQE1","KHwCNCxsNjIPgwt6kgHUigEpZrp5O4YChTsnvQElKypfMV1IASkSbScpViyAASurATRwJXZE","tA/d","nwVNU+WoAy4","/wSCvgaZ","4gif","jwG6","rgl4","8wbs","tQ/L","tgmz","9gFC","/AbW","vQ2YAcs","ywpj","9gHd","/w3X","nQzu","+Q/c","+Q+g","1w3Y","1w2i","kQ5z","zg9D","+AV8","+w7bAdo","Iec","tgqy","tAfO","gBBU","4wLY","5Qwl","hQwt","9QF1","vgM8","7gqC","jg7ZCfU","lw7B","jg7t","jg5Y","twXcvAbh","ugrG","ugpX","rw+q","ADAM3gGHCmsERQU9Aj4HoQFHAT4G1AKYAaABNgxmCmwGjgK4B1sCuwIvBYMC4QSqAZQP0grQA3oH5gkmATwPyQEfDawJvAOCEToGShwpDW0HRgy0IEoFiAdGEU4EhAInA2oBSAeLCVMOtggwBGYS5wvsA7ECJgGeBLwCnQLYMEsHuAdFOy8EPwjVAXoSqxotIGoatwllFdUHigEqEjYFo0IzCEJRSiAtAjIIggGMByQEWgK7AdYBxQHDAcAFNAXfBq4BUw9OAusL2Q23BEkHQzJ5B9IYUwiYCTsMLy94FUAK3iRLBDIGqwjxC6UZ2Al3BKwYJz9DCncRagbvEqECRQJQA6wRUA15AccEMQtGASwE7xo4Ak0YpQekGJkWQA+lArQKtQNpAU8LZAKEDVESRAzJCrsQ5BWuI0MLHiJ0G9sBcwKNBrEERwi1Ck8C0BBOBkYIRwZxAm4GlgVGAUcGgQI8CIMHKArdBq8FgBG8AagEJAN1A48G7gkqEsYcwhNIJDghdSzjPqwVxQPVB7E","1g/Fbp4","DOPDB0Eiyg/isAG/oANi","jQG+rAS2","8QelD80","uQWnrgyp","QWaWAUr/DeuRAqk","5gnn","N1Y","oA4gFSw","DE0BQiY+K14FHwcfAkUBIxluIR8NhAFHCycRgiJiRZwHoCIxQMBFOgd0SJGMATA4JyEzOCMaPgIwJ3wJNCF/C6AH4QI3F4IDVCBpIO5mo0F1Nj4udSsqC3UKwLYBmiKcBU0bhCkv0wGdAjUOvgaABqcQphelBSkWP0NuWNU","owGe3QFEwQRzRU1DTA+bKD1KRgJNiAKyFEc1Tx8iAXUnpg9JFZwWH2JBLJ8QRgSvUqZ5RTOy","CqAtVgl8AmIxSiWhDEcBRR2ECkaFAaA2onRmzwGiCWNSR3KlEFAtmSSzZqwIRz/SWJ9QqReJHp0KIVeBiAJvR8VAyhGpDpExRQZAXEfLAWEJiw","7xE8","zAa2uQbHAccBxA","xw/O","Vh4","2A31","pgX1","1AtL","pwXE","MuWiAvV9+gP4MPcB2QHq2wPGjwH5AmkE8g","bdchWR7qCOKSAeDWBMvPAaqHAatySB6sRrXXAcO6AawKz+cBaw","MuU","uQWi","qAay","hgSu","hATc","MnM","MsI","KaF2ywjMJ5NnMnisOZz3Ars5WSaaLaMFjzmzaKCJAbAB1I8CqKQDXVC/DnEGYzZhGOVUUBpGAUQnbQ","mQrN","qAyc","qAyc9wTw","HU0FchrFFrEYQQuXCZIdnxJDJ59iOChIFj9haxxYEUcbSjo/BkVIWnpLqQFGP3MiJi07pgFKAUIrPydGZ18Mcg6iBEsDQghJEEdWTQlCKFIURxFDEkgQ3QipIlAJyUucG3YH1xBFAUMIRQhiNUcQQQaeZi8NOXGi","7QFM2QabG0pIlX+c4wVFIEI","qAzX9wSR","nxHo","7AHZ","7AHT","7AF5","uwusgQPp","An4CRgvzATkE7AznCOQH7xDvAuAEdQHxA9sN7AzpBuEBUANkAT4F7wHnAu4C3wP0BKgBzwEyCXoD4wJ6BV0NagTnAXUI7QTvEu8E2APAD+0C7AzrRtEC8QU8Fd8HMQ70DDEJ6g3pG8QB7wbyHC0JMBN7Ii8G8hHYCvMKNQEvENkH7RArGfUL7QzxBaccLwLmAfAD8wbrBzITXAi0IbkDQwbsA9MfMwMwAu0D1CEuBD4stAQ1DDka7QrvCjIB4g7xAUkG2Qo4Ay4DKAQvA1wEQwHmCy8LOAvmAikfLw6pDsIDiBrkBOALSAEoELIHMwGdATIK0AxdBTYD6wExA+0BXQFDA0cKMQ8zAWYE6gP0B+gBJwPwAkECoQHwBewBIgErDC0B7QZqATgC2Af2BucILQYeA0YJ6gahA9seVQPBBIUFPgc5BioVeQLoBD0CvQUnAaYCaQIlBNsBNQQqAdUF5wFOCLQEhAGWAS8J6wh/AisCLwHrAsIDXAM7AiUGMAJ5AskDKwFoA6UGUQqDBsoB4APqAfANxQTcCpgHLATOAzIE5wHtAy8CSwLlBOQD8Ah4CukBMAJoCloR2gJgBFMBjgO9AmEBQQHzBiwFQhHhBOMGJQLwAewE3QGsBVYBNAG4CGUBZAFJAeAEIwEkDDcMmAtMAosL3wM8BL8M7AIeCMYBSQK/C6YCIAPgA/MBVQPFAeEILgGkAckBzQEyA9AC4QLmAS8B7wHJAS8B2wE9ASwDJQFfAyEEOASKBcIOMgGiCx4EUgI8BO4CrAaWBO0C7QHuAUIFOQEwBjEGLgHvAVgB6ARmAd0B0AEsAesCKQo2BdsBvAjCCNoH7gHeA3IBMwIkBfEBsAkgEK8nXgFSASUD0g9TAzYCIgPvAbACaAorCqQxiwRwDJhZ1i1xGqU","An4","zwnP","zwm3","FNs","gwqG","VkXtAZsKjKEDrAqXjQG3VqIHp+gBboMBmXObGVGMAYVwmGKdjwHBT7oxnw","jgF6","FI8","FLw","mgzO","qw9xAXI","D8PpCnl3yg","0QqF","zgW0","rAW1","RuE","2gN7","2A6i","3Q6FAcsBxwPj","3Q6FAcsBxw","swvE","Mug","ugKf","Mrk","qAGzswHG","Mrk","tgnyK5cBugGuPK0BhgGrkAJz1gP4Afc","iBDK","oAqG","MuqQB57fBCk","MuQ","Mp4","Mq4","MtFkQiiCHnYSggmDAYIFgweDJnEEhBCrBqwDpweuBK4EnhKxCq4PrgPFBXAgaQGwOXwcejCuQLMicQ1pCrBZsAiyNK4FrAKuAoYEegmuAa4erAywE6wSrAGuDLFdbAOCZmV3VwFaAVoBVy5WAYIBfV5OXLEErAywBK4OqXvIPCRRzwHTAcIBxQHGAdYBzAHCAcMdsyqeowGjArANrRRrHYEEtTA8PK0rqAjT","bot611m1ywTBkwVDlQHMrALF","Mp4","hATiAuI","N3eODsjWAYY","N3c","0weK","FEsQpQWRIu0FUiGZBZkFQQKcD2IfwQxuG7cFaVNxAlYDoQegG2ACJwW2CUMWYDB+AZ46VwFaAc8fbzpaHOcOxQvZBpkB41FPHOYCpgN9AXEo7ALsaI4ZmwVEFIsmsAiEA6gOpzBNDH8N6g9yCXYBshCiMqMMShSDBbQ0ZgI/Ea0EcQofD6cGIgWBDiIOdwFzAXsBdRrLIm4klwJIAmsDxwK/ASoCVy1JA1QRhQJOCDsJgQhyCUYBRgFnFZAgnQt3MKUlpg/EAaoDxzyrAjkEPh2pBEACQwJ5A5QPqGqdCJ4SnAFADqIBJw+APxiQAbE","2QTKIMc","X0aWAWEJWpUBNUNYelN3S4ECmXmbGiwrqlxs0wEvoAGinwE6GDRBXQ","8wsn","nwhN","qwFf","0QJg","8hDs","8hDs","kgPi","3AJ3igF4esOSA6i4AZOgAb3wAagxK5kCIgSn","kgLtSneKAXg49QHs0wOoV4u7Acu2AqgxK0ly1AG8","ngT3AfbLDLc","ngTkAdo","pgtu","DjkhQBHTPDAUmEUqGJ1LnEbvAd0idwN/I0EYn9oBOTYhJ/Z/ShAkI5kXH2gmlgFVCEYBKxYoAxwUmVYnXlokSgQxBz8oKBs0Jio/UwM0diQMQhkhHDUBMxwxTRw1JiUYCiowrw","nQjMAb8B2QHLAbo","oAiQ","2Av5","WXtaQCmggAK9VvOOBaYXohTKAc1SzVzMYT8PT9MESmdQ","oAV5","gwrYAdMB8wHfAcUBxDPUAdEB7gHPAdUByA","hQrxNpcC6g","gwq1","gwpH","hAqK","ADADdhTNPx4mURdHMKoJQgVfLp0uuBRFFScLMQ2rLF8kLRpSPu5XKAHFMWchQGEmyQFAAd4v3BzFXUBdywwoOukoLA0oAdJYJgUlDCso7QS2AicBUwEtAlEIJQ0rAigbNCknAjgBJRIoKC0Eb1fCAa0WiRRBISsOhTsuSXsBszlVKyQtPDP3Dp9K1wJq","nRH2","4QRJ","AbkCkQG2AUED7gHXBL8BfQGpATkDbwLEBHQEiAJwAaABQwF9AZECVAPBAa8BRwS0AYUGhwFAAfUIfgKLA38CQgLEAXYFUwPABrUGkQGiCEUDSgGCA68FnAN0BWgBlQGjBswHjwGsAjoCuQPMBV8BfgR1B6sEKQG2BsIIXgd0CF0CpgZuBXoBJgLOA44DrQGTAj4CYwiwA1oClAFYA6UDlAI/ISwFegrDCk0NYAFvD6gB7QS2AlIBrAiiASMClQJrA0UDSAMxBL8DVgWkAZ8EYAK9D2UItQOdAXABjgSvAWMGpgKCB50FswSTEJwIpAGeAqcBqQFPAV4DaAZcA7MBrgV5AkYCvwNFAXQFwAilCZMEtQJWAqwCoAJYBlkDQQ6eAVECTQOOBLECTQLHAZECiQdJAVwBqgZEAaYGkgHlAYECWAPGCEIBmgKeAowCYwSeBsIBwwHVAq4BQw44CsgEtAe0A7ACoQPABLABiAqRCLMFdQHOAbMKsQOiGrAB3AQ1CnYBagV2AWIFtAORD6ADqAG0AisDnAF9CaYDogGpA9wHcgGlBcoBxQKxAbMBSxOcAyMQpAokB2AEcATaAasDWQO9EZcEegVuAbIInwSUB4sB5QN7AoQGRwPJAWgCsAVXAXACwwHGAuYEsgc7BWMBpAWIBikBghrMAy0KrAu8AccG3gGjAXgBhwiWBUIBlALNAWsFWgJfA24BSgGQBnEBKQVjB1oC3wZsA5ECZgJqAqcHjwVDB4oDcAFkApYHcALNAs0DzAFbAZcFrA7xAjQJdwFxAaUCdwGGAj4DqwKcBGoB0wbHBuALrwOgB0IEsAVWAmAMmAV/BU0GhwWpA54FeAG5BEIKLQYxAoICWAq3Aj8CnwGzApwJNgMzA30B3QXCBL8JfgFUAlAByQedAjEUigGxBMIDagpgAZgBcQTCBEcErQV3AYIBeBJ4A5kBNAOmAScBngGmDiwLpg53AWkBggWwBVMNMgSFCZUBRwMtAZEBjQcoAUcCRwmVAywNbwp3AYEIowSmAYsNKgGFAicJcQXEAyEBeQFpAZsHdwfNCeoDigRzAn0BdwF+CUQCkwSoBEkDpgegECsCqQJIATgP4Au/ApsCogG+AmACqAZWCqMEXAJkA6QGYAqQAsoFpgJIAVoBXwRgB1oDpgGuAbICsASdAj4FTQGEB3MCTAGKAYgKhAN1AkcBmAkeAy0CjgOBAWsCNQvPAi8CrQNLAUwBgA48AsIEfAJMCcAF0AGpCbAJVQN9AjsBqASzBIAFOQThBHEFIAZgB1gBTwhWCXEEugKPAXQHxgHIAuYGfAGiAyQHSgKwAkAKygJ1AUIErQKrAYsDsQRsAzkNuwKlA5UBagajAp4KVg7hA0wBvgNyEMIXSAhEBl8JmgNlA6ksSQrIHU8OQgNGA6s","8AyE","hgvCE8I","ggux","zQJq","I5E","rQF+ygVwJoktwzqhPW4thEFxZpeoAZlkRz+FzwGmAa4DkRaKMM8ZheEBvg","rxAv","8wGU","1gms","sQfl","BEYBtAGoAXUBaQJgBLMBtwRCBTMHSwI1BEcEZwE0FmIBZgJ8GpEMMAMtAUkEKgElATUCLAEsBCUBQQJYAicCzQQtAZoDJwIzATIHKQQ8AjUBKgEzAqkHNAEtAakGJwEuBSMBJgE3ASkCLAMnAi8BLQMnAVADHgJtAS8HMgUlAioCkgKtASgBKAKRAmMHKwFiBp0bzQlKHtgEqgE8ATIENgKGAq0CiA6cA1MDJwcsBC4DqgOoA7YEaQacAqMJQQQwCzoCNwFKCiwDoAI9BDcBOAUrAT0DrANCB10DfAOhBS8CKQsrA2EIZgNCApMLvwuSCCABfQuVAXAGTQU9AZsBiwhkCy8CTQI/AusHqwEpAi0DOQQwCC4NWAMlBDICagWEAcsKKAEpAzQCMwwrAjgCbAEqCJ0VpQE3ATICPgE0A3oJNgJABTkJOwOAAbkJSAFICNIO0AGUATUKQwahAWICLRt7BDMDMAw7CL4FMQJpCy4EPgJIB6AHmQFLATgBOw9dBK8GOBm1By0DKgG5BS8BLwE0CaYIdgKbAT8CNAR1BCgDPwEjAakBOgGiASkDNwEpAjMD0QM7AXIBKgE3BCgELwFaA2gBMQEeAScBbAEuASoFQAKnAi8BOwNNBq4BOAEwBN8B9AWMAikBLRFTBMcCUQFqBi8BOQdICkEJLwcmAoMIhApSAywDMwfSAzcBMQEqBkMDiQSSBDMBqAEhBTMCMgiWA1gBQAFQBS8BLgVaAcwDbQE6AjECKAE5AzYELQKjAU8EKwExDHgBPhCXAXsBJwSsAjMBKAVFAS0BIgErBh0GLQEzBjYBOAEjAp8CHAGlAnYHoQQfBKUBngF3AWMEhgKGCS0BMQUxA7gDowhCAnABNQ9tBIcBuwFGAlgBLwOBAZIBzQFtATUEOQEsBSoBNAMuAVYBJwIoAygMMAOmAqgDJQMnAaYBKQMlBD8BNQMpASoBLwE3Ac0DwgEuASYBNwErBTEDPgFdATABLw65BCEBKwM0AnQBjwI4ASYCOwJcAiIBMQExAjABHgFLAS4EKwGqASwCKgRrAjAKLAWdAiYBNgInATIDOwiAAYkCoAMtA9kGNQElA0gELAV/AygBLgMxA2MClQYsAS8DIAGkBLcDNAGgAiIBJgN0AmQCSAEvASwBtAF6B2wB4gVACioDJwkrAiUBKAI5AyEFzQEmASkBLQI4AaEEzQFRA5EBzAEqA0AELQUlA1oBNAEvAigBYQU0AYcBNAevAT8BMQIyBCMBegY6AmcCIgI3C64BMgpxAigOsAKqDiUBJQcZAjoDLQEqAaQDvQKcBSgCIAFpCSkIfgIxAjQEKwGUAV4CJwI1ASEBLwGYASADJAElBWMCNQFLAi4BLwE6ASoDowE7AjILrQEyB0EItgExASsBPAI1Aq0CYgEuBjcDNQE5AS8CJgIoAjEBOQEwAzABOQGuATEBOQRmAS4DMgEiAzQBMgMzAWQBgwXWAzICcgE1BCgCJgI4ATYDegEpAzcCJgEwAisBdgUcAVoBqB4gDbQGbwJ3AicDkgEuAyQBJAkbASoBxgFMAzkBMQGIASQBKQMuAaIBogIrATUCLgImAigCIwUiAlgELwEmDDEDMgMwASEBOAGgAS4CywePA44BNAEpATsO1kxJEE4GQhVJDkoPQylQ","iRDm","BMQx4AvgDK4C0AVQPbZiq/gBxLICvtIBzj20pgGdG80vtawBvxy3EsuQA6so2w0wCK4g2VjZHLo","4g9o","COpJow","G34c7XP4Ie5MuwHVAbkB3QSoA+cY8wHyBXUE8grEHfWDAsQBpGONaeUW4TDKnQH1AfIB7AHaAe9i6+EDpu4B5xZ9As2GAbl0bwf3MNU","qgHRwAHYgQ5I","qgG9xANfY40","1wq/","0g7YGM0","0A/g","8A+j","wwLJ","mgLI","wwJ7","wwJ7","wwKm","wwK8","wwKm","7QS6kwLG","6xCq","6gLvgQ7t","6A59","ow2T","lg19","6ASUtQKJiQR3mANN","4weI","7g41","7gSU","7gSL","7gRf","iwEzhApT","6wfM","6wds","gAd99gdF","4gKuigYxsQE8YaelAbAe6dgBxm0wvAGhM/IzPA8/Bzk0TCVI","qQ2w","qQ2w","xASiJM21AtFnzD2xXL6lA9se2wzXMNIQyB/DOMsXyQzbBNNP0x/oesY","oAVLGUDwA81ZRuwCozNE","qQlx","vgKz","iAbW","kxKw","pwHJ1gi3BMQ","0gHH7wKdhwbyAbSVAuo","Ij7iCzI","sgLFmwSz","wQrDAbIBwQG+Ab8BwAG8AcMBx40CwQHBAcMBwAHBAcIBxAHEAcP8A+8","2hDG","2hC/","+gvo","yArj","wQGC","AYEGwglJA0IBpgG2B6ECawtnBL4EsAK0ArgBqgjaAb0Cjg2rAesB3wFYAlwDjwROBXQD0AFDAsANcQqbCS0BKQqPBbMDKgSZAbAE5AJFBKwCQgFLATcD9AJQBvMBQALxAuoG8wHiCvEOTQGsD9IYzgaiDrwFtQHtB8QG6AzcA5wBqwHVAfYE5gqGELwB1wdvA0UQuANFBeAQMgGGDHUBSwJfCOQIvRBpAfMC3g+wCckG7Qk6AtcGgg5YAd0B5QH0A0QbmwqCEakH2xDbCnoIZgzmAccDbwJJBbkHKwPbH9YDxQGdDrcBkQW7EccWuAfDAaYBtwbWDc8LrBOuBZgKgTfJBPAG6gNyAd8FOA3zAzkOjgVECfYDsQHhAiQDdgFaA3oTYwNOBaUIowGkAnkYxANUAmgFVBxmBrMe4wonArYFaQFRBPMJPgM7AvgGbAJ9HNYDSwPHBD4WbAT0CEMESwRJAvYBkQW0EaYHQAO7AecClgYoATMCTA+8DzICbQNRAeMH2wHiClgFswFCBMQB0ATFBUwO7QHhAlcRyAS7Bt4G0wXQCFYBJwJ9Ac8C4QpHD0UHuQPqAZgBgQJaAWsEcwE4BlUZIQSTAfIDeQSvAVAHjAI4DeMBjQnxAWEF6Ah+AuwHugNrFK8LZwJWB4wEnwGhA08G0gJOAaAI5QKrBFEImwGJAeQByAvnASoB1wOoAUoPIQFCCVEZmwjkB1UCPQtQB5EJgwHPE00NlgpDCGcBxwdTAekBtQSiCmABQgTpAmoEqxNGDsEG5wSvA+8CcQLXCvESTgJ6DO0FngHiBSgBSASmAUcC3QmnCUIGKAZCAdIHSAQlB0sCuQWiA4sBQQauBCIHpgR7AawJ5AbnBu0HUwJQCUQBrgc+A2YB5gFSA1cE2wNCBDcBZAPHEjYGjQPcA94YSBJAHewO3hVrE6kJZglHCEwEUAbuBDwUSAxJGbU","gRCE","wQHa5AOM","zAHa","zAEs","ggow","wgHf","2QR6ccc","zAFw","twzS","ygjp","Tqs","twrt","8QRH","ng3P","ng2X","uwKI","2QIt","nAKw","mAEq","lgiz","FbY","2Ajn","3hHH","uAm0","5wVI","wgt5","8QRH","QY6ID64","yA5x","jQ5gB2o","6A56","7gpU","vQPz","hBG/","2wGs","/QO1AdUB7g","8glJ","Y65CLegBydsM0TCuAa4","Cb0GyQeTCuwI6gf1EKoCnAXOEOISawHSBMAFlQHbArcCvgTIBMcKyAXCCroV8ASjAYQMaAWPBC8SzQPyC2EBKSqRHaghMQ7pFb8qxQXwBXgB0jDxC7kEOCz3CtMKNQ2KBO0HMArzAvMERRnGC8kswge5IPYhXxGnAcUmlAP4BLwhYxKqE8I+6BbxB9kBcALXB7gBKgX3BPQBxgb4FzgLygJHO8UQ+h3DF5sOjwG+CWIC4Aa1BV0EdwGbCKERfgL2AtkEswZwBKECfha6A/kN8AenBvkB+gHDBNEFox/qEX4InCimDuIH2AHQCYkOzBZ2AUYC+AHdHkkEJw/vApIRmwmIEU0CcwHiBdUC5QToBosF6QqpAWgdygycArIMKRC4EYkBtgKqBTQJwwhKC9sMjRpjHHEVlQX6CaACfgSkBa0Bug5NAjgJwQ06AekU0QPKAUgNzgbNAiIGXQfdAaYFzQJCATMFpQx0AXIIzRBHRD5z9AT0","9Qnj","xgWnISqTBUShA5s","L+CtAdnqA936AeIXzAvQ6AHMRcMBo7AB1v8Bnlze","ggqi","mw5C","e6DLBEU","0Qj5","qget","5wM4","c5k","mgqjdcfdAZy4AaACNGtV","2AOM","pg+K","qget","jwqvAaM","jwrDAew","IJs","uATI","uARo","sgtT","zAmb","+QV/","pgZ7","1wfJBMIH0+gB0fYBnQ","mw5C","pg5r","kwTmjwLuwAGP","0wLdtgbN","5gTj","0wJE","qwHGBcfoEPA","mBLN","mBLN","hAiqzgPM+QHDGKU","yw2vGKU","qQlxwAZrmwLO","4QTo","4QRm","qQn4","0guR+QGv","yw2v","qQlS","qQlx","gAHR9wHK8gzv","gAG9","gAGW","6Q+i","4w2l","4w2l","sgkqnAOz","0wJ60QJl8wSN","FZoSWQ","0wJ6xAeN","U88Jww1xF6YJRQM7B1cGpgKDC2sOPxhGIKQ9OhuRAvUIngSJBz8PkQqYD7QgqQpwmQHGB2oE7iCeOZtZkUGeApsPmgG8A4QnjgGCAT8RjgvmCJ8Ojyq1B9gZhEFrQqEe5heUXm0RZxF/YrsBOAOlJ6ZkSSOqBXnBAUIYNAWgA24V2xPoBkIESgP5G88BQQGdM6AD2FCjB24OahZ9CEVdozmgCnwhVA","kgpt","4w7w","nQkq","tg9o","pg40","nAdv","pgFrnQ26","/g6T","nAfk","4w62","xgKm","tg9o","tg9x","nAdv","xgLV","xARe","4wfY4AaG","xARe2QTT","swyX","swyg","9AnCAbgBwAHCAcSqAahJfA","3QKttQuX","oQ5f8wEp","iAJsAWwBbPIFhLIGhLoDrA","rg6E","6Q+w","6Q+w","TeI","TV4","TaU","TVA","hQ87","oQvz","oQva","oQuR","7QuC","uwI/jASl0wSl","FlMHTRq0PJkHaBGjGaIJmw6jIJNOSleWZM8ilBebTqwImQxieZcDlCSYTWYHgyqdCp0ZmiOfB6QFezikfJMClQF6GsYWlgShCpolmoUBlgFTColQfQegBJ8JuzCfA6tmmwO1J5VDKi2bCCU1pgenAmkDngKdAaIWpgamOJlUnyg9","9g74","9g5p","9g68","9g5F","/Q3m","/Q3m","/Q1k","mgHJPabEAfP3BrYIeqgBpOABngtJKLOoA+kO8A","kgq2","ixHw","mgHJ","mwOG","zAjsswbW","zwRFHq0yTZUCpZYCRm1IiQF0UqiiASsWTRmaIKwXxBBqW4BOwUnFLGo","hQ+ATrM","/w6w","zAjl","wguk","xwObF5u3Cac","KGgdwB5iJicFuX9YR2sOeWVIF4oJPx7QNNOoBSkSdKQBzLwBpfIBZg7W5QHdBqQ/uXa1","UrEERS+gC5hikVQrHJ4Cl0SejQGAYkrDAVSHAkqeARxlb1WlFKQLJC6kQp0LsBkrASUCogIoZHFdpBZxMy8HiTdtaSgJoWeH","4QhK","mwPm","mwPn","HSoVuRJ/AYcDUF2fASk2oBCkCUJ/nThutwHIEZwLYqwBkR6iHHYbKze1KTEOL0fNMW9EoWRIK5otUm8rFL0zTgtLFWIBZi1oAisHbRdHc583aQaoT7IFSAFsEEURNhUcTH0VuwF6","yQlv/QG5","RH9hnzeg0AFu1AMrbi8","lBKwAawBtA","uQTE","pAu+","xxDs","2wE3GCmXBbaPBDHUASUHQg","rAGm","owPD","ALIRTxaAJ7wclEhDI8gFKBXgBOYDcwjKDIoreTfRCMYClwFgAZhIRRp7BKYNYBuUIYI311fOEW0haQKwAbAznAmtH8Iali+IJW0I9h7PCl8BZRHbE+Q5mwaVIE8aZQVJAaIzzwZCGmgDRwWuAk0VNgE4Eo0BtARNBYsBewudJ58NbyKnF3QOuxxzBKkQpAUsMy0gmwOcAagCJgZLDi8DNAadJ48KcwFkG4AKLQyqFEwMjQ7EAcQBwgHAAfAuxAF/BycHKQqoFaAHowGeA7ARaRh9GUgQpw5BFYIGbj99DG4H3xfKAjcFuRQhFIIbpGW1QNE","3Q3s","Gs9ErztxDJ8N+NkBRhqqlQF3KKjsAUOrAThtLwWeGjNBTYsCLhKkGrswLDiergEncSI2MOEC3Q","3A1U","3gSu","nQus","gAp9xwem","jRBu","wgRxAXHUDbA","+QViqQNz4QIn","yAOiuwOk","qQH0","qQGZ","qQHH","qQGh","qQF9","qQGG","qQHL","qQGZ","qQHN","ANYB0AGiAXQCqQFyAYsBQAGeAa8BRQGFAW8BmgF+AZUBswJ1AcYCrgFrAckBagF2AacBbQEqAcoBeAJwAbgBfQGhAXgBSwJoAXQBsQGZAZ0BlwGHAaMBrwHYAU0BPgFWAXYBOAFMA10CggFEA3QDdgNCAUABUAGDApACeQJ6AVIHhQNjBFABMwQfDo8B0APKAcgFxgGSAjMImQGqBDMETwEoAooEQQFoAUIBpgEqB4UCLgI7BUUFqwF4A0AEawE/AZ8BcgJAAZMDQgblC6sBhwJAAjwCPgcwCEwBVgRQAbwBggRjAVUCogKDAYIFgwNtBIMDTw8sFVQDhAEtBEQFPgNEBDwHgwdSBD0CWgMnBqIBWAFSAzETdwxvC4MBUwGDDzwBPQKUBHYBQgErBEMRZgM3Ay8CKQViASoBpAVRBpsDLwZ6AnQJMAx4AXQBdQFzAXQBhR2qBmQBUQqCDZgBYAGFApEFmAczA5UIYAxjBG0BZAFyAZ4FVwpLD0YCig9xAmkNqgNTASEBLBS4B68CfAQ4C2wBdwigFIILcg2IEGEExAdBBEsBaARwGS4DhgFOA4oEWQSaAZoFRQGSDq0BigQkAU0BMAU4BDUDWBFmAWYBXwYtAn8CVwZzATQJNQJ1C2AIRgM/BUMDdQFdAXgFNQFBAoQCrwEuAloGjwhCAWYCkQFlApQCtQE9ArIKSg4tAXYEURHdA1UFLwE5AXECcwTGCmsHRAIvBcYCQg83C0oBLwp4FZMD7wI+CysCpwGaBM8BiwEuA24CJQWnAk0DOQFKAaoEYAMqBWERewQsBDIBswdhBHoChgKSAWsLqgczAn4GIwJTBWABRwFrBmwEigRJAUIBYwNYA6wCKQONAVYBrQFcAoAD5QFqAXcDTwZ1AVIBUgFOAkwBbgKSE0UFVAMoAagD2gRPA3IDawGDA4UBVgQ9AaUMYgVOBIoDJwF+AWwCygJIAT8FbwVHAnUCLgFsAccBKwS0BFUBRwlPA2sGTwkyAYEBjgJxAsoCrwIxAXYCqwEeAbcBawGXA6kBQgHKAVQBSwJXAUkBlAVwAZQCUAZxAo0DQgFuAZ4CUAGyAW0B0ARHAsABRgJIAVIETQIwAlMBUQJaAlgFfwNLAYEBfwGUAYQCdQKHAbIBSgJWBqgBSgI/A7gBZQFsBFUCVwNpBmABUAR0AqYIsRGpAzYBLgG6AlMFKwFhAWsDogGQAUsBswEsAoIHxwuWA34DUgFNAlIETQFQAWUCjgGiASgEjAFEAjQBSAJVB1IC1AQ9AmEJVAF4AVoGYgahAVwIfAGbA24VrghEAbACSARiAZ8ChAE5AWABnAKkBb8GdAF+AsADawF4AcEJhQGTAnACPwUrC+cBJgF7AZYCngE0AWUCYgGDBioBpgF0AbwDdwhjAZICVAKDAWgCUgJKAYADfwIeAy0BMQF9AWEBzQFYBb0CYQFaA34E5gNwAZwCmgExA9ABKAGPAuICYwSgArkCjAFhBFcDMwIpA64GKgE2AbwFMwE8AkMBkgHjAqAFZwJ2AoUCIwE5AxwBoAGjAXwCRwF0ASUBbgJKAk4EZgWaArYDbwN8AXsCgAaKAYsBcQGmB3IBcgFUA18BnQF5BJcDrwEkBGkDPgIbAWsC1AFxAW8BcQGhAooBmAF8A3QBegOpAi4EXAQqBIYFhQJOAqcDjANKAbUEJwF/A0ABZQNiDH0BSAFdAksBRAJRB0wJdAlMC0kITQ5AA1UK4TWPEUkBUgg8NVk","qwkkswGx","3gqH","3gqH","qwkk","qwkk","AVI","1wtw","/Q1O","nwOU","9g1i","xQ9d","xQ9d","V18","4QlE","9QlT","mgxZ","lwxB","mQxR","pBI2","xQ9d","AVI","+Q9r","AKcCeANyAUkBdQJzAYYBRQFmAW8BjQF+AX8BSQNFA2sBMwFqAXYBRQFtAmsDNQFsAW0BkAF4AUsCaAF0ATQBdQFxAWkBXAGFAYYBgAFNAT4BVgI4AUwDXQJXBHQDTQVQA2QCUAJQCFQMHy0oICoWbRI+GykULzQnJjFIQzQbVzoCO4MBXpUBJyU4BDUwNX4vMTc7KxVNNigXMzUeWiUHJhQrJScQghEnDzE+bAk0MysFKIwBPwJEJC4lMQ4qKC0UMhMqFWMEIypeFS4fZAYoMik","mAtM","uQU6","oBHh","pBI2","lwxB","0gVN","wg+0","xgHO","GII","tA1K","xwQu4gI4QUACVA","0weF","6geC","7AeM","mQxR","mgxZ","6AZf","ATE","mAxU","ogo4","9QlT","yQdO","qAxC","Bkk","jgpI","sgpM","4ApJ","AH8","FLA","NXY","7QQo4gKUdjJtKrYBdtAESw","6Ap2","zwdodjLzBks","Vh4NYgxdVV2ZAmihB2oOf+oCYgIeGFgQaFtnRxwBaQ1bCWw","M3ZLYAiaHWoBeAaeDaEDmXqqB1sFUBB4FJdApm+mFJ4FqQdwBakXZld3A3oLsTNpAXIGrAGjM3MhoReXGaZOow6HCJ0FtQJ3BmUGpAKnAZ4fyyhoLaIMphKhB6pOnB+rIlhwngKcGq0YcwKfDawCog5rFaECmyNrCqQjqwOhIqYqp1i5EqEFnwKdBD4Lmwg/IZ0MrwekHo4DogWfBKcNpgFrEZwGpQ6pD5sCogSJDaERvjqYDKcdnQF4B3UNogSo","5gNw0Ap7","batAvqUKkfkBrxilrwLG","7AylMLoQtR/PGKUgnxerDLgE0w","iQr2","qgn4","qglx","7AXs","7AXN","iQ2l","gQyN","1QZ5","3gJ2+QElfGNKeDUjrAYkPWc","ow3n","oA0o","ugyg","jQN+","kw/o","kw9R","kw+J","kw/g","hAVD8AdC1wFz","ogae","zgvC","oA4g","swKe","BlAVfiWsC3YGHBmUB8cBlRWfC3AEXwFHAaEPHwmgBUYBiQGoBcAIHguwCioPnASkB3MOSw6zDnEMuwwyBLYCUA11BHoNoQWnBUcRJAikDLMQLAekAjcDpgOeDp8YsQGkBDsFpiReBVgTpiJZBFEBUQ2zECUWZAFxMqYBXwNlEH4EbQF6Nb8NLR/PCHMHkTBYAb4ZsRG6E7UKWwQkEMYaRgHPApkINhCkBXsKowFiGnoDvx2JDI0FogWiDKU9oxC6BX8DbgWeAkgCIQfDDqYNIQqhDB0RmQKjC6sSawZOF0ABdwKRI7MCUQIqAR0EOwZUC2wMngW0EZkG1QkuAl0EKgqmCXgBrAJ5BCIGygyzAawNoAXNBCcEOwS0IjIBKASsCywNsgMmBrIBJQIsAjsLpQFjBn4BYANaBccIswVOBGkCpRR+AX4DTgl3DnMBbQhkBMkYOARdCbMmGQKEE64EkBqbBcsDJQamATUGsAGqAjECvwHACTMIQgExCWUFogI3AawINwYuBDgCSAKYAzkBiwiqAoUUpAGwBiYGpgOzAoIHqAimEn40vAIsAXoLKwKuBrMJowSmFDhSgAq3fLwCyA","pAqq","qQKc","bGo","sgqw","uAqd","iA3l","iA2M","8wyqhQHz","+A0e","+A2G","zgvg","zgud","SGDuAUUaMe0BLZ8DtZ8CvpgFnA","xQhC","0QFS9gRNtQOo8gRD","ugKSBz+iCKqiAZv4AnEUJiWb","AZgBOBB+DoIFeAKuA4IKewK1EZ4Cfwl7CHcDowukAaUBlAOUA5EBPgSXAawBRwXOBLgYswKaAZ8HhAJmA2IDngFtBaACIwWhAiwCcwGYAYcFqwW4B2YFaAOpB6MQnQ2WDs0HqxOUB3sNcwJzAmgHYgKbECcBpBmbD6QNpgR+DLsCpggrAYABqgGfDZgJmgWdC6IMZgZgAacIqQGZDK4MzQ7LBXMDgAWgAZMQvQbNAaUCgA9wA6UEmBZmBZcCSxuQF5oDywKmBWURnQtyAqQEpwrNAacBggTNEakBpgHMBmEKYgzKAa8DrQrNCpwCKwd3BZQLnBGlE3EfhQGaE7gJlgPLAcoNcw2YEHYLowOZBJsBnQaZAloDmAE6AWUExQSnAXQCexVpAmcBkQmCBpoOoxNrAsQEhASbBJQHgQilAnkIrAGkIGcFfwrMBJwCrQ6kAqcEaAG8AqIDmwJ8D8AGogejBJwOoQW3CaEBywKEA54D0getA20BowKmGIkCawctBnIBpQp0AyYIoQrRApsHQwOsCbQEzQl5AqoBoxWSA6ACVQZyAXQFLwJ/A20OMAmDBZAEcwKfBJ4EeAYlAmwFmwFuAZEDcwJwBcQHpALECpsDYgyICXUDjwGTC6QSnAGwA6ANawZ7BEoFrwGiAbIFbBSdAW4BngdoBYkBYgK3C8QCzQ+KAYQEaQO3BKYCnwIoA0gEfQygDYYBiiDNEoQBxgJiAqEIYAO0AsMDxAXIAVgDuwInA5AETQFqAcEEtgekBG0HpAF7A6gBsAsuA24Blw3QAXMTowGOAzUFZwGfBLYGnQ17AagIqQc5BygFnwesAX4NqQFjAqMLsgGcBqsCaAPMD68XoQieBJsGRQKyBSUBfAUsAScGsAVyAbwCegIiAqEEcQOvAXEKZwPOBnoGnQaiA3sCnhekAZELqgGQBp8DmA6HBZkeow6vFpYutBWf","sgFDpAxM","6AOZ","zwuq","vhBE","7QHf","hQG8AcI31g","hgGG","vQGT","bXE","9wGdvgKr7Qm6","AccQzAvaD7kFSxKXAXME8gbvAagHZQEeFK8IJQFKAc4GtwOnCKACmgysAtsOygLOAh8F2gdrDnESqRSBSE0FdwzYFGsCdAl5FMIlcDbYH0YVbxE9LcsHpRCdBEsEbQJQHr8CaiS5DoE/ditJApkXviPLFHI4pAJQCmsDNAi5BJoKRgdZA7EDnQSdB80MWQtIC0gD2B5oAkRGxAG2EpYHwQ2tBZwJ2QO+B3sDRRlxApgKMgtqBnwNLQekAqcEbQN2EDMDsAVzDngBcgZuLk8BLAurA4sMpxiJAUUCSgmCCioBtwEvFZwLJQRGBksCuwtnCqcHRgKAAZIPoAGRBM0LKgOzAUsH5gKjAnUBrAOpBEgCwwKrAzcI4hffFaYQ1QavAdATpwhNBUsQjgGeASsEnQK+DMBEdgvGAiAHog1kCCEENQOrB9kBNAXBBHILwgjgEloSSQKmBM8OSQE8C0sQmgHBCU9LRAG9CpwLfQJvAWsCXQUmBNkGhAc2CGwDMQqfD3sBf3hK","JH86XghFC1wFmQRoDZ8WoEqdD6ogmR2ZBXMZVA1IAaICqgluFpYceSSjApE6WCtYDlkHcxudBpwLlBlqEHEiMjWmE64fMw9uDZw4dRJ9E5cLp0KnDUkNcSujAa8ajRLJGsYBphGlB5sOowRNE6EEdyOdBmMGkix1AkcCgg9rB64UlhNUG8gEqx2gDakBmAS+G8QIfQcnDEUCeQ17AnkEpAVuB5sWLQJRFW4SbwGfBGgMqwOhBEAPohBoDJ8FmwVrBF4LfhFwBEY5rB5iAqEekAGcJIgOUA1yA6IKHhZ3AmcGhwWwCnIJRwN2D3QBfgWKCbMEnAekB1ArdQmQDW4HmB9xFssDPQin0AE2","tgKgHXdPoDsbggFtnAFuxQGpH1rEAZM2oEB3qQGWAyQuJ4wBfqcBQwiiBpAqQSyGGjwfIgEjDFsbTymYHHA","HH4ynokEnYwGKqQBUTwwRURjRw","zgOknwVvpwIvkwEzFUiIAlcTdg","B0sDhgGMC1MHTQGqAUs7WwSiMkECmwrLAzwFogMfCUABrQReAmsCqwKuCDwBPBBlVUoQoQGfAcsErBa3BKEBSANIGH8JnQhnDYIHTAKmBqwExDGZD6EcbAtgEEobRQdJEEUInQGCDpcFrCiSAW0BxxGwE0AGRzxFBblQwBHNIqQmpgulE08LeTJKDnAbwA6iCm8FzQ1LGssrwQNKB0ADlQeeAk4GPg5NBlQISwOiJpkWmRlSBkwIRAh5IcQKtCemDkQH2AaiBWYEZgaTCK8MQAvKEEkRRhxZFZ8KQwHLCaMY0Am6A24FSATRATcCSQHMHcYGpAW2AroOSgKmG50iRwKcEjkErAtCCagEQiCtA6YBRgKeE08KQQGZIasCygHRDUgCuQGAFLUP1ByzCp0zLA2ICkMFhiBPHoCrAec","uwKd","jgvUBtUOoQ","+ASx","sQHC","+w7tAfE","rgvdBeMB6A","3Am6","owup","vQm7Ceg","2wG7","2wHH","nQ7MAeM","owup","owup","wgml","6AOcgwLAAbw","6AO/","pw73","6wXAAbw","IHYlwBGPDXoanBCCFHYJZWOdGVgQqQKcHVYJdgNDDFoZtkKiF2Ia1xShArBingqhLoMIkQKpEGdGzQpYEpsEkQbMB5wYlwSjF6USQiNKFpgYyQJxCJsYbQtIA6UazglNA7EdlBSfGkkSZwR9AaMBRymbAUUdow87BnYDmgtGDCMJlRUjFZIFkwHTDkoQnBUuJMIFKhisCVEFuQtPAZYOmwFuC4cJoAKlAn0UeAyHCs4hrg6hKmgSaQF+EawRTRNxFZ0VyQewLmIIag9kDUgHTQdFM9gHahhLSGAKdyaeBCQCkAMsAScOtQeiGEYEzAFPAqoHdhqkA6QoSApyA60EmxW5BK8qRAW3FkkSmwRG","qAfLmAJBAVrNAqFEOg","C5VHYjdFB6UFsz0miQGangGtsAGqeKYFopsCSCGcBG8HQhV/FXcLNgihDYUtayedY3UUSjl9AlMVLAvLJicSdghPIGYKXCxtLIwaOgVaYkgUaQaoKR4XlwpuBbIFSB5NGVZfnwN62QHX","kgwq","7gQ8jwd4dDc","Hk6FBC2PBr/sAX0DRyRNWZ9gmiil5AFJ","iQ1a","AYILswTQAbkIggNtA8oBuAFuBIsMwwa0EbsIswGiHHEE3wGVBJkErAWgBqABhQGfBNsBeQSfAUoCowPDAqEHmAWiAWUCnwSlBZMCXQFCBKEBmwJgBZUDZQFlAZoHrAR8Am0EsQqKCI0BnASxAZ0IjAGqL+YcYhmfA6UCohWdBqkFuRm4ArUHqQLHAr8CngGeAosUbQKjApELmgGkBdEIeALFEXQUzAGTGpsKngGSBHcIvgSpCNIdnAOPAb0BuwtkBpkMmgFGAbcEshjLA6QCoQR3BakKnQtXL6MDpgelApQXywd2AcEDnASmBKAHygqcDaEEPgNPBG0C4QKJBqAClyaeFpYBmwWfAbkUlwRYCqIBmgEqCsYEowGeA54XpAKnAZ4KlA+uFHIMrwelCq4Eswq0AnIHdAXVC3sInQfJC6MJdwSbBXUHaAymApwDNgmsA5sCngKjBqAOTQajA3wBnAGdA5wFoAGhAaYBoAEzAaEInhFfA6wCqAOjA6YImwOlBXcBmQKwAbsFpwEpB7gBpQK0Ep0BmiCmC6UC7AGlAqsCnQ2nDWkEogGcBLADnwKpApkFpQFkBq0FbgNLC7gFpQK4AZIBogemA8EBrAKiApsBpASOAosDbwGeBqMCmgSpBS4BpwufA3wPpAGdCpUBRwOoAaoGbgSeBZsBwgmfBrIIqwF0Bp8BpgGmAcQBnRudAW4G3wWbAp8FmwGVAqcBmgShCpwIWwabBbcFcAWZB54GmwGgAaoHoAGoGZgOTBCEAp0DoQqhA3YIlAGbApcClwKPAsIBnAK4ApsGXwKeCaACogN4AaQDegGoAb8BygGbAbsBrQSjBK8BsASbAZ8ByAqbBK8BMwaZCtQCogGdAykG0AGqA54HnQKmA20CnAKoAYYEqAGnA4ABnAOyAaUBpgOoCZ8DqQR0CKwFogGpA4kGrAWgBaQBogPuArMHmxJqDKUCoQe0DW4GqQEpAZgD2AHWCaQHmQKhBaYBqwXBBjkDpwOhArgBoAucAZcElzlBJK89PA","ngpW","K3UEqQbmBLINSgxUICUBnQgsDIAEaAE7AsUbLAifCaEUPQm1D0hgnBlIA8QDawOREnlNajSSSWcbSSUqIT4CtBKrBmUwRS1gA80quQnQDIoZZRzuCGkBnBZLB8UJkgHiCaEL6QTmB+ciSEVOEXkZdgzwAV0fnARYC5sBRQXHFu4aLQg9BKkCzgzcBd8SMD0vDNoKSRJEFVMYRQ6FC8gZYQzgA7QT7QNYA6IOtyJLC8IByQTcIScDpCS4GqgWXwJJAcAHzg5pB1cG4SJBDcIEgQP7DEgFmBMlBiwDRxLXBE8MfQbVHDsz7QFOAeQI0wTUAkAEORbqH0oQMQdNAUwQRRW5C7AIrgU1FUgOxAjXWHwIZw+jKNw","lA6Y","mBLN","5gfI","C9p6R5wFtqkBoFuuScsxJRCaCNETRjnZzgGeCFFsTb8CmJQBogGi","Vh4SK0ojIZzFATSFATCVATZzNHdEwgIojgE9wwGfmwGu1QGfhwGSWzwXPQ","jwG08wkl","JZ1MaAJ1FoUrcZEB09UBzEHavwGurgGj0gGZC3Jao1eaDm8qiyq5MKHtBLcBlg","JLEtWQ2iTqYBLghvJCpt0mWsE6cJbrgBKwJq0QGJSm5AgQguigF1MXAqwQtLHrggM4IBpgJ/P3MKSUBHd4EMNENwO1oesRZPG3YOSwJ0+gI/","5gWhqgKcV4rpApusAWo","ggrM","ggpt","kw+u","kw94","kw94","mQTI","iQ2z","O35KoAlZD0oCmA9ICWQCqw5KSsUooQ1wF60JzyaXEaEGnAKqHZEmmUt9TqQfwRKBEa/DAkE00EFPIqYEpSZHGZ4dmRmeAsgQnAeTYZ8TZQOXAqwZfBVGA5Zc0A6jCs0spzpJCYgDem9ICqcItQupObAjqQ/BFjkQhDqwAqIBogMYB9IKnwZDN7cy5g","tA7i","A/MFvwHxCJsEsQyLBr4JqAnfAewJ3hzgC8oHXAI1CG0N1geqAzcBNwK8JVEYJgNFPfUG7QH1BOMG+wmBKkQGSANIaSpN3Bv3AbcFp2j4BiEBnhovOmsDoTDmBeUF6BE+VS8ahAaxDrkB3rcBlgHrU7glywEoHzwNnBFAJekNKFf7DUk/RCzlDeIbJ1AjMS0aRoABJgGuBm6RAc4eLxAhUOkJ8kfZDTwacRH8","owLQ","sASu","OW8","e20","2wFghAhq","9QuK","jgFZVbcU3wGxZUR76RPuPfjNAdUb1wHu5AGAJtz3Ae+SAtuuBe0n7Brr","qATS","kgoz","mwiL3gnr","mwjH","4wG37w/t","2ANh","2APA","kgrJ","MHc","alg","kgKv","kxGs","A8CSBMIhKfYBsgWZBa/NAsjMAh5rbw0ozgOtzgG8","X44","Cc0Yi3R0iQTcjgGyBb8FmKgEh2R5","nBFG","jwEpBqiOAa+NAq5uoq0Cs+8Ez+EF8A","sATX","A92SBMIhKfYBsgWZBa/NAsjMAh5rbw0ozgOtzgG8J0g","bC3aCjs","kgFHGTsIJl5KKD8NQi1EMlaQAVA5PLgBRawBSJkBSAJCKkcUQzFBpgFKP0+4AVEjQ8cBSyFH","gAH4NN4G5xc6FPEUrIYBtUgwAXZW9gHyF5EKimQhG0GIAeVVuYkBL98B7AGeygGuKsQCz2pIOtBXpy3LG6El2h+mNOsO1B3SA8+CAY0pjmOhAbQ","gAHe","6Ap2","gAHl","gAFJ","ogW6+gvm","wA7s","wA44","wA44","nw/RJaY","vA58","TWsxMx2fDkIsRR48B6QXSixLIkgtR0JP1wGpGkdeShlFDUwLbXFLAWgEQz2CJEZbpgVzAUkBTF1GF0QasEFRCIQocglTQm4ETEhPFjEKRQZHAUgDb0FEDnIGmQOMIExYSiVGBUdJqEasVnUdUQ","mglDf0JFS94BSC9KKytgQExHPEJAOxBH","lgI+wQE+","P2EJYApUAVyHAkhSip4ERo8CSCJErAFFpwFCiQFFuQGdCUI","nQi3A9j5BLU","nQi3A9g","wAW8lwRjuAE1vwRD","AeMBSQSLAUsCcwOMAacBXAG+AaYCwgFNAr0CegGTAsYEuAJ2AqgBuAFhBGgCwAGjAkEBhQVJBH0ErAS0AUwCvQKdAcABtwGMChwBugF5AroBfwTVBJoBqwOcAWMFTQHeBOoBtgRsAaQDRgFwA9oB5QGMBGwHhgLXAYcBigWwAW4BgwHZAc0CaAKrAUMC1gJKBHYBWwHDAaICowOmA8kB1ANpAbgBrgFAAkYC0QGbAUYBPQE/Ac8E7AKWAdcBPAPNAZQImQKrA9kBvgJ/A7wC3QKjB7QCzAOTAb8I3AGcBZYEeQPUAc4HbQLhD+YI3ALYBsQIzgGFAeQB9AHFA0MCrARGApEE4Qh3AtEBegFgBaUDLQKzAiMCcAU5Ab8C0QK7AWQBzQkkAaUBnQF3A7YCmw/DAlQBhwGOAZMBkAZjAXAB5QGmAToBuwVUAtYBYwHLAZ8B5wHpAcAEfAFwBuQBnwG0AWYBlwHlAd8ELQLtAjYFpwEqBroKZgO4AlwB0QJWAVAFZAGwAssBZAPBBrUBeAF0AdkBcwF0A5sBRQfkBGUE8AF2A9gB4wF1Ab8BPQKXBNoBcALJATAKkAHWB5ACuQLlBlEBbQLJA2ABxwHqBo8F3QrGAVUEmQTvAeoCcgZsBkkF7QTLBagERgHYA4sE5gPIAcEB1QWSB4AD3wRLBT4EsALNAagB1wKqAWMB8wHTAsQBPwQ6Am4DyQJyAWMBrAtdApcElxChBJ0BcgasAW8EzwXlAWICRQehB3IMgQRGAU8DMAOfAfIEmwF3A1QCyQ1DAmMN7QbKAbwCfQeZAeIGyAHWDUcBcgEwBWABsgJ1Ae0JKwG5AmkPzgGXAaYBSgKUBpYB0wKdB4YCpAtqA7UCeQHNBOsCaAGvAbgC0wKgA/EBuQVBA7sBhQHnA5kB5QG1AZUChAMfAaYBhQFsBLQExQKaAsgBYwm6AUoBcQl9AaEC4gGsBOgBUQODAs0CnQV1C1sCRgJyAp4CawFkAWcBcAUlArkDpQOTAmUBvgHyAoAEkwGzAd8C1AFcAp0DxAOhA2wF3gOoAWwDTQGqAb8C3wG4AuQEzAFcAe8DKgGXAZQCYgbRAXwCZAORAdgBawLwAdsHeATiApgBdAf6AfUBxgLmAoYBuQKpAa0DpgGVAd0BPwGeAncBtQF0ArQDiwLwAVsCcAS3BewDTQFHAWYBdQGYBKABzAKdAssD2wGVBKYBpwGXAmoBXAEpASgC3wLBBrQB5gGPAWcBVQKrAXQBugHQBKQB6wJ/Bo0BuAO8AdIC3QErAY8CTwFbAy0B0wE9AlgBQwGXAowBcwGxAqYBmgTOAWcB0wQeAXYGpwHVAXUC3wHlAyYCvwF3AcsO4wHDAcUC0gTYAcYDQgGKA1UFkAPhAd0BfwHeAZQBUgFxAZEBfQJwAXIEiwF0CcQEngHkA84BkgJ3AXIBWwJDAnwBYQRDAVgBQgHEAnkBawTaAX8BxgW4AesEdwGsAsQB6wPhAZcC3gHlAisB0AJwAeMCngF4AYMCdgJIAbQBlAFyAmMCewLOAocBegGqAc4BkQLiAdcBkQKAAdgBvwK9A3ACpQKiBJkCrgGrAXkCiQJKAmUDxgHBAcwDawI7AYgBzwL4AdUBeAS2An0CwQLTAqAErQHnAcoDSAONAucC1wGnAqQCjwHLASsBdQSoAa4DSAHwAUME7QHhAnUBrQHXAb0B7QG0Ao0BRwJiAZkCmgM0Ap8RlQpqA9IBPwGmBmgBVgGoAZYBuQF0A2ICLAJQAZUC5wGhCK4BowF2AmACqQJQAYUBzwKzAUQD+AJYAfgBYwK/A9gBuwJBAbgB4gPZAqcC1QRZBNIC2wGDAb4B8QLWBLQBSQF+AZgBeAGSAqUBTQmKCkUCUAN4BHwE7QJ8Ad8Bwgs0BNwCuQKaBMIBXgPqAccDdgPlAc8FWQF0AVgBogFWAaICOAIkAsYBmQFqAaAEIAGpAi4ByQFVApcEPAGaAm4BwAHcA3sCswFeAkcBPgHNAXoBtgLMAqMCVAHkAuABVgF0AowBVAFOCOoBWgJ/AccBwwHWBY4BkAJhAsQE1gFaATwCogFyAekBNQHPAlgDhAGsAYsDVgFLAWcBbgHlAbABVwGdAZMB3QHdAfQBugRvAfgD3QHpAbIDnAGqBNMBwAFHAXwB3wTLA/AFUQFwA6wBlAPEAW8BRALWAU0CbgG+AUwBTgGeAlMCdAHbAcoCRQO0AYMCYQFHAzkEtwe6CEoC5QHYAboC7gNeAoYE5QPGAXIBywJTAq8B4gHBAdUDUgOxAasJSQFFAt8BcQHIAVcCPwO+AWcBfAGiAaIDtQGPBdwE6AGbAkUDkQGGAbwBpgGyC4QBgwKVAcMDqwG1AVcBoAFJBZwCegT1Ad8BmgKmAb0B9gbnAksC7Qe8AcID2QPoBtIBSQHcEkcHtgRQA6MCSAVQAdoBtwFvDNkVPgSuA4kHpAJQBY0CvQRMDuwDxwGsB98E+gX1A9IDpAK0BPsF+AqbBUoCVgHl","nQff","tAeY","8gWM","wAub","RJ0","mQPM","ig/A","3gbIpAau6QTq","mgLhlwPujQLXGtEBlqIE0P0DxA","ugOehwGehgLIkArzGNMvUG3v","ogtG","0wNR","iwSp/QnJAc8","iwpH","mQqh","pA6y","U1ACXuoHTQ","A68BxAdFBscCrAW1EkcJcgLwC3ULbAPdAlIDXA8/HUgI6QSmAmcD3wViC2oBQwNvAoUOPwJqBkAqSwZQBnMCwUBLAjhXRxRQBUkFPAF8Z7EsSRBFEUIBSVNlBUBpqjdYIfYdSAO8SUgMSLkBxx9HCEQCcAeMDVABSwbgGmwRRwRCPrEPw1lPBEcCUBx5Ek4CTQHZAc4NTiTyGUc3xCdEAU8JSTxQBOQB5wFDIUIJSgRCDEkObgZICGwrNRJIBboMPhWyB2ELTArXBOMHmBFrBMEpRQlBB/AW5AnrA0k","uhC1","qAmZ8wZqFkE","E28","+gak","+g+w","lQ3B","+gbv","+Qum","hgps","kQms","SsoJxLIMs4AC5yB+rAHxAfQ","0RDh","hQ+A","1QHIxQXS","7QmL","D9uxAX7YAa5AqpsB58wDq+UBspQBT3Jda9LYAa4Xwx7p","2AMx","tw+Q","0RDG","uAGb","yAGU","AXkCuAPYAUIBuAHDBoQByAGhAsQDdRQwAfMDmhadAT0JzRViBqsExQWpAcUEcAOnApsCahJ+BNECZgKhAbMErAmXBEUCRwF+A3UBgwLUAWIDbgG0AuUCmwSxAt4BygSED5sEtwGfAqwBbgh0AlsKzQLgBkUHxghtAcEHcgnKCOUC0xHQAZcCcgGpAZUDrAjNCJwC4gK0BnANOQavDF4E8gH0CWkJdAOTAaYGZwLXDJIEjAaoAe8EpQKTAaMBlwHHAfAD5gGWAuQHmwK3BYUBzQHFB4MBYQapB7wBcAHGAt0BbwKnAbwJsA3UCPMF7wF1Ac4E6gHkAvEC6wHPDKMC8AFzFs0GjxnNEYgCwwF6EN4E8gPZAqAB3AXpCIIB5gOPAYoFPgSDAucBkAHXAscC8AKfDbMCyQHTAbQMrAN+AcYGqQt9DMIBjAa0GMEKiQOkBO0EwR6pAokCpQd8B2YDbwGuAnABbRekBJwBcwNlAr0ZWQOnAe8CsgHaA+YHhhfDA0kIlgu4A4AB0gHMAZUHbQF4BJYN6ROFBu4DmwGcBbMD5gVjBewFxAl8BnAEeQHcAdIDkQN2AakBrAOgAykYiwHUAXACmQLQA8sBpwGhAcwEnAFrA8QDrQGnBLwD6QGmA9sB2gV4AXwFoAKbBZ0D6QHcCNMDhgOYAWYCcwGoBqUB0QFzAdsBagZKBe0DTQN1AX8BgQvKAYQCeAZSBGkBzQKJA3ACbAHcAdsE8QnDBn0FbAG/AfICwAS8AlkBVglCBLgHiQHdAXIJkwHECbYErwJ8AXEJ7AG9Ac8BghGEF8EHzQPXAesDhwglDGsOxwW5AfABcwPVAYgCkQO9Ba4CxgWBAYEH1QNQAXIDiAF0ILkGfgbLBsgCkAKUAb8G7gG3AnED5wORAeQCnQHxA6QC5gmcAuQFtwbyAfENjAW2A/gE4BZ4CKgMxwHeAcgHoAJ2AcYBcwh5BpoB1g6iDHACygF6AbYBmiJNDPEDuhBBApEBcgHRBOAE4QNzAWUBYwFpAXMBYAFnBpsPgQF5A9sBRwlyA64EkgJ7BLICfALWAnoDowaKCsMEdgH2AfEUywE1AZ4HyQR1AaYBnwG/BYkBowHWAYsFOQTsBJwFmQTCAXgCrAHsA+QDeQGKCdUEfgF+AtYBzAioAocB3wPEATMDbQGrBj8JcQjHAbAB1wHZAfIDXgblCuQBtwbAASQWiAWQBVIFvAF7A34TvgVxATsEdgXaBusBdQXbDEYM5whMEkcG2g96Dd0HRh7tC3kNSgPdD+sB4gjaBUkDzwX1CdUJ9w","swGp","tQmo","qA7NAfA","qA55Abw","qQ7K","qQ7K","qQ6y","qQ50","9wbO","lwzH","rAWoBWI","ogui","mQ/dC48","GYIEagaKBTQUbAmdFYsIfgaTAWMBHwjHA5cBtwGjDqABmgFyBoIGgQFAAUAQLQYlB7IHRgE9CDMBZQN6AbgQaQRwBDAInwZUBikCYQGfCWoSdB50BEQFxgk/DHwMRQu9BjEKZwxEGmsBdAFfBoAFsgGeGHQCKQWyNE0ERQNrEXMKMANIB5YPkQJ5EqgNSAZxAm0BUAJzD6UOSySkAWUCjRqrApc2fAOUH30HpgGDNkUBqhMkBzgqcwE0FsMNgAGeAnYDpQEpAlgVoAFHA2QdrAGlA6IDrB5oD04DYAmXCXEdTAdJAXUDhwuoAlUDdxArCoUEJQm3AsIBSQxREHAFLAVYBUUERQF/AygUWRsfCZ4NqAF0BaMDwh6ZA1QFQxIdBScChQLMC44BoQlSBbECTwFRBD8CtgVaB4IeIQG4BEgCMgFyAasGZwFtBkQBLgGRAysCtAHVBzAKfQaAASYBrQF2AbYBhgXOCGsCRwuhB6QNwgNxCCwDbAGgB3cKjANQG2YDZQLDBisCog1kEC8KJQIrBmEQMQGnBW0BSQFxCnsHcwbAC00JhwQ8AzwHYQmeHaICPwEoBSYKpgFrBd8GIQEvAiACJgp8A4sDcxCdEYMBKwRrA7IPSAuoBn0BqAKABEwEeQGdCWgSYAt9AWsLlAEnD4AFux7EAXQEyQWoAWYGrAF7AmsELAEnAmoFsAKyAqUGdQNBAlkKbAN8AqQFqVJDBkkEv2eq","rglH","4w2yMKsHmRDz","qg4r","0Qsu","D/kqgwFdHVQRhwJXEX48Wd4FVEKHqQE9vQG+RukB2R4xezKaAiSIA7A","D8g","oAXB","D4Q","zAfE","zAfE","mwp3J3mAAZY","6wXXAck","lge1","gAbE","gAbE","tBDk","tBDG","qwTBqAHaZfYBrhb2","uAbu","hArhAdsB7AHmAeUz9gHtAso","uwrF","+ga/","lwn6","lwnf","lwni","sgkq","FLgdh/ME7Q","hwFw+Ah6","tAFikw4p","Ts4","Ts4","doWjDng","mQ94","J9vPCdOeB8s","vAydAZE","6ArfUiE","gwfF2AOthgOcngEoMORlzHLz","mgrW","hwIv0AGZA3tmhrQDWkwvjQJ9Q9/MAeh6dWtq7wFC","0AmK","3wqQ","lgeDvgTO","lBCt","lgeD","ygy+","ygzN","ygzN","mA6TyAOq","vRCj","+AfcigLjJscBzw","IuA","mA2k","zQrd9ANq","1AGp","gAlR","gw3m","lQ/B","3AH5","3AHu","3AHz","8gr0lQfy","ogm7vQLZ","ygsi","mgGriwyi","4QLG6gvFoAFq","wQXK","lBDL","Ws75C76jBc4","JVQQSxwcOkI4uIABREvHuAJF8QNNyAGoJciPA1GjAuQ","hgWHBp0","pBCe","hwFwuAF1rgLH/APA0AfC2gHJ","4gyF","wQ5+","kQSu","lAFu","hQaV0AOP2gJ6ygW0","vAydAZE","tQiY","/Qx4","wQrhmQbx","wQqv","+BHw","AkkOUROjAbEPnArENUgBSgxICmgKKQKzAp8JwQGhA0cBRQ4mFGcSSwJADEwBnFJpCVIQJwtIFYUETglfDGUMpAWhFWAbPV+pE0kBXBtlBCsBngFQB0YLQwxLI0gdZTlOJ0sCplmCHZsGSwpICGwClwFLAmoMTQexAUYZnAOkC0gVoh/OFpsOlRucC0ISQgabA80IOQuFAqYITgGnCp4HsB9CCUwFRg+rFkYNnhKcLX0IpwGjAkkHSAGlEZMBRBZDApgLawV9AWUDbhVHEKMDjAprC6QNRgFsAkcWxgafCLcZSwOXBqkRLwKIFKcNRwFRBaYXRwxNBa4EjECKF0AgPwVCCUAHlAFGBEcEkASnA60ERhedAaUMdBZQAkkBSwynAoYGqgmlA6IIaBKbAkwGnA3GHcANbwJQGUgDqQGYEJ8fpAOfKTxgiERJ","OU4BazlKJUMOo7cClWJJ5gSVrQGcflyuAayEAqYBSA6p","0wK+vgfPBqA","lQF05gJm","kg1+","1API2Qry","Itk1Zn3L","CYQYYI8C27QFn78Bg8MBqDC2DWUfeYoB0bIBrAm92gPUAd8","9QGq","vRDW","vRB0","0gaJ9wXjgAHoogOq","0gZe","0gZe","0wLHtw+r","zQjIAccBxg","AZgDpwGpAb8B6QG5AdMC2AHoAdQB8AG8AfgB4AH4AfQBjwLpAvAB5gLgAeoBhgEtAeEB6gH2AekBqALaAYgBvwH1AvEBowFnAbABtAHlAlIB3wLRAYoB+AGhAekBsgGMAYIB9wH2AtYC5gHoAZ0B2AHkAeYBtwFbAfICmQHBAeMBtAHyAeYB6QF7BN0BVAF+AXEB+ATKAcEB2AHpAewCeQHGAtAB7AHtAfAB5AHoAfMB6AM8AdkB6gH2AfAB8gHZAtsB5wGrAeAB6gH5Ad4B8AHWAvAB4wGXAdkB7QHhAWgCMwHNA9wB3gL3ASkB8AJCAeAB2gGmAdAB4ALZAvYBrgHxAcoB4AH0AdMB8QH1AeEB9wGeAcUBpgHVAfYBnwH2AfIB8wH3AbUFowH2AfUB1QHfAeABywGYAsoB5AGWAu4B9QG7Ad0B5gHLAukB8gLBAe4B9AHtAeEB1QGbAfYBPgH2AecB5AG8AbAB2wHpBaECuAHpAfgCogLvAb4F3gHLAekB7wHrBJ4GxgLqAe0CvQHyAuAB2gHrAfQBpQHqAfAB5AF6Ae0D7gL2CrYB0AFYAusF4wLpBOUB9wPxAWEBYAFzAdcB+gHzAfMB9gHvAfoC8wHcAfcC5gJjA8wCzwFxAYIBUALRAeQB9gHGAcoB+AL3AdgC9AH2AdUB9wHzAe4B8wL4AcQBwwH4AfIF+AH3Ad0BsgHqAbgCwQLzAe0CogGoAa8B4QO6AbQC7wHxAu4B9wHaAfgBzwHFAsIB5wE6AZEBjAL5AeAE6gT6AekB7AHuAfQB7AH5AfYB+AHlAfABhwHzAegB8gHlAfQB2QL3AeoB5gH3AfQB3QHzAc0B4gZPAl8BxAHpAfsBuwHnAvoDwwHmAfIB+AHoAvYB0QFvAcABZwHzAfkB3AL0AegC9gTPAVYB6AHnAeoClQLmA/sB6QH4AZMB6QL2Ae0B7AGWAeYEzwOvBOMBxgH2Ad4B9gHPAfkB7QFvAXcBWgF3AdgEqwasAekB5gLyAdwC0ALVAfMC8wPxAeYB8QEtAckBxAHeAfAB6wGrAa0BsAF7Aa4B9wb5AbYB8gHcAesCuQLUAe0BvwHqAboB6AHlAWgB9QHlAvUB0QPsAd0BnwHGAfEF8gHwAuUB8gGQBOwB6AHpAfMB7wH1AeMD0QH0AfAB7QHGAe4C8wH0A+gC6QHVAfgBzwPyBagB4gL0AfIB4QHuAYEB6gH4AvEBzwHvAZ0BzgHUAacB6wH0AdgB4wHgAbgD2wP0AfcB7AHuAfQB+gH4Ae4B8QHzAfcB9gPsAqkBtQHuAu0B9QHMAfcB8wLwA6wBrQHSAfMB7AGxAckB4wHrAeoBsAH0Aa8B+QHpArYB4wLPAbcDSAHUAfUB9wH0AcwB6QLyAe8B2gjKAekBqQK5AcYBsQLwAd8BwALaAvABwAHkAfkE0wLxAfMBnQHyAtIB2gG8AdAC9QPBAs0D2wK0BPUB+AHuAfQB7gGyAZYB4wHsAvgB0gHHAfMC8wL2AdkBpgK1Ae4C7gG7AvUB4QFaAcsC4QHOBfID+AGoAvYB3gbzBJQB7AHpAaUD8QHrAfECswGJA/oB6QHoAesB8wHPAekB4AHzAYQB1QH2BJoB8gH0A+0B6wHkAfAB1QH1AfkB4wLKAfEBdgHQAd8B+AHIAbACaQHfAe4D9AHDAtkB4grvAfMCygH1AfYBrAHzAfYB4gHlAbYB5QHcAeoB7AGUAfIBiQHaAfoB2gK9AvQB8QHeAt8D1QGZAbQB2AHqAfgB+QXsAb8BvAFdAeIBQwHxAfEBzAHtAuwB3gHOAfQB8wHOAfMB6QHpAfYB9gH2Ae4B8wHyAbMB8QPxAeMC7AH1AeMC9wH5AvkB8AHmAe0B8wT2Ae4B8gHwAfQB3QG7AXYB9QHzAeoB7gH1AtgC7QHoAswB9QHXAfcB8QHhAdYC8QH3AfoB9AHgAcIHrwHSAfAB7wLAAeMB+QHpBNUB9QKeAfwB7wFwAd0C9gH2Ae8CvwG2AXMEQwHfAvcB9AHqAnIBmgGiA/UB5ATiAekC7AHoAfEB9AHhAsYB8wGVAcsB6wJ+A+MB4gGMAvMBSwX2AvIBvgGaAfMB+wH2AuoBxwHwAvUB2AHqAcwB5AGNAecB9wHXAcsB8gHuAfIB0wFgAd0B5wH3AfsB9QHtAewBnAE9AeEB4gHfAaMB6wHZAewB6QGvA/UBpQFqAe0B9QHxAekBugHgAfMB2wHuAfgB+gH5Ae0B9AH3AuQBswHEAfQB9gHFAfEB9wHCAfQB6AHJAdcB8AHAAfcB8gHyAesB+AFJBPMB9wG6AuQDxAHfAUIB8gHmBcEB8QH5AfYBcwHzAtEB3AHYAbQB7wHrAe8BtwHxAfkB5QHfAdkB7wH9AfYB9gHnAfcE7AHqAfgBiwHlAvQBxwH2Bu0B8gHhAdYB9gPtAcwBvAHnAe0BvAHkAecB5wHBAooC6wG0Ac8B2AH3AfIB6gHvAeoB5AG8AegBhwHfAaMB6QHxAesB+QHUAeAB9wHwAccB9ALHAcIB5wHsAsgD9wHlAuYB7gGCAvAC2gbxAfIB9gH6ArYB8QL1AasBwgE9Ar8E9ALxAe4B8QTRAvIB+ALiAdoC3AHvAc0D9AGvAesB3QH3AvEB7QF5AeIB0AHjAfUBzQGoAbQB5gH5AeABqgHIAvkC1QPzAegB6wKrAfQB1AH2A/AB8QLrAe0B+AL5AfcBmgHsAu8BtwHlAd8B4wHuAeQB8QG7AeUB9AHrAfEByQH2AUcB5gHJAccBrQHjAfUB6wHnAfQB7gHdAfkC6wHcAfUB9wH5Ae8BkQHcAfcB9wH4AfUB9gH5AfEB7gHzAekB9AHzAfQB9QH0AUEBvgHlAfUB1wHwAd0B7AHrAfcC3wHyAfQB2QEuAfEB/AHmAdkB+QHuAfAB9QKjAu8C3QPOAdUB5wJlArYB7wHVA/UC9QHXAbIB4QGxAfQBuwH7AXoB8gHoAZcEnAH2AlIB4AHnAZcB+AG9Ae4B3gG8AVEB8gH7AtAB8gHmAesB7QHzAXAB7gH3BpwB8gLEAegB8wH2A/cCdALqAbEB8AHxAcAB0AHyAe8B+AGsAdYB9ATzAfIB3wLBAesBzQHdAckC5AHtAcoB4wH5AeoBugHRAS8CxQLgAWwB8gHzAe8D+gHiAaoBqga/AfMB4gH1AfcB3wHxAfcB9wHxAe8B7ALjAfAB3QHtAeoBtAG/Ae0B9QH3ApIBwQFxAfMB9QH4AdwB9wHqAaYB4wGqAXwB8wHeAYkD6QLrAbgBzgLwAfkB8AHmAsUB+QHnAdYB6gHgAekB6wHvAeoB+gHCAu4B+QH2AfIBrwGiAeQF4AHzAeQB6wLFAfkB+gH5AfQB8AGtAcIB6gH3AdoBXAL5AfcB9gHIBegDzgFIAdcB7gH1AvUGowHwAd8B9AHBAqwB2QLeAegB8wLmAvIB8AGvAvYB5QOlAuoD6QE0AekB5gHtAfYB7wHwAdoCiQK8AXoB8wH0AegB6QGjAfQBcwTaAesB4AGiAcUBvQHtAvMB7wH5AfMBxAHiAe0B2APyAekB8AHSAfAB8AHzAe4C8QHSAfgB8wHsAXkB+gHzAeoB3wLqAfIB8wHyAeoB2wH6AfIB8QHbAdsBywHxAd8B0QLjAecB7wFvAfYBowHzAcQB+AHoAeIB9QHEAfgC8ALKAq4D8QLwAfECigLoAaQB9wHiAe8B5wHiAp8D4gHPAe8B2QHLAe0B7AHpAfsB9QHsAfAB8QHHAecB8AH5A/EB9QHyAe8B5AH2AeUB+AH1AfQB9gHTAs0ByAH2AfQBjwJdAWwBkAHmAe8B9AHsAagBtwHBAdcB7gHzASwB7QHVAfIBzwLaAdsE7wGIAfcB0wGyAcQB8AHtAeUBdwPlAe4BUwHlAfYC6wH2AfAB7AFGAu0C+QH2Ae4B6AHfAfMB2QLEAfAB6QHYAfUB8QHuAewB+AHhAc8B9QP0AfIB9wL1Ae0BhAH3Aa4BtQGEAfYB3wLzAd0DxwLpAeYB8wH4AfYB0QOwAe0BwAL2AfMB9QH1AekB9QG9AeEBxwHmAfMB+QH7Ae4B2gHvAe8B7QGjAcgC7QHdAfoBzwHmAqoBlwFdAfIB8wLyAvUB5AHlAdoB6gHyAfYB2wLtAvIBxAHlA/AC9gHaAdsB9AHTAfIB6AH1AcQB8gHCAeIB1QHzAYMB3QH0AuQB+QHTAaAB7AGeAvYB+QH2AfAB+gPLAtcB4AHKAfYB8gHdAa4B9AHZAcUDRAK+AcsB9wF0A3QCyAHvAdwC6QKAAZUD9QH2AtQDQQJAA+sB6QHQAfEB8gHnAfoB2wHmAc0B6AE8AfYBbgLtAfUB8wVLArkB7gHyAe8B0QGTAeoCmQNxAfUBSQT7AdUB8APUAewB5wHmAe8B7wHzA3IBWwFxAfABbAHWAcEB9gPlAewByQHuAckB7wHpAvAB6AHxAfIB+QH2AfYBcAHyAfYB+wHpAfcB9gH0AfEB2QLyAekCTAF1AaoCxAHlAdEBeQLoAfYC9wHkAfYB8wGpAosBqQH0AfYB5wKIAYYDYgHnA8gDagI/AcsB8ALqAX8DbwG/AeYB9QHzAZ8DiAHvAs0BeAFJBOcBnQGHAeUBkgFxAuwB9wTcAfEC5QHgAeg","BKkHjASXBEICyQR0AkoG1wmOCtcLmwTqAqIdiAqDASMFpwE1AiwC5QOHBZUKJwNaB2oFKgw0CCcBLgJhGC8NvgEqBCoCKAyfD9MK6CHcDi0ESg0pB8sE3AUxDN0CxAE5BJ4Qhw0wG7kBjgaXJvQGPBiqHKgRPQowC3gOkQItBzANchbNBp4LMwwrAjgDgxWWBbQENwHIAVACmg0yDNwzQwY2Ay0F0BHwAqkKMAIrDekK2w0uD+ED3RR7AyQBNQY4BDUMOSQ1BeAGuQSEBpoFKgF5BTcDVQK+BEUBOAMuAygELwM4BCcBOgrnAS8E4RKMIS8PMQ23AaYCSgHJGSwILwYxASoBKAzfBLQFtQIzAT4BMgrNAzcFLwHoAyoFNgM0ATEDOQE5AjYMMQ8zAYkCKgUzAV4CqgQhCS4GRgErDC0BmQY2ATgBlQG+AbUD0gIwBysILQQwAh4DKAM8BooFgQGcAy8C0RygAeYLPgc5AXYF0wEdCTENMAuRASoCQgY/ATUBKgMqAS8FMQEuAjcGMQHoA0gBMAEvETIBiwMvAcgCKQEyAY4BgQUlBjAELAeBBjAKoAcmAycBMhEtASQBMA8sBzICLgK/Ab0DuQIzAsoEnQOECDsBQwHLCJcBMAHWAS8BLAHJGYUCJwI4AlMBVgFkA94BKwHqASgGLAdMAjgBJAy/BIkIKwGmAi8CxQErBzQIPwExASsBMgUkBuwSMgxFATcLiAM8EKcLKgIqCygCbwK0AScDjQFAA5oBgAguATEBJQE0ATICXQErAiECJwGEATUDmwIsBJAFLAI4AtYBLwHjBKABYAjaBjIQfgc1AZYBLgUxBDUCTwEuASYBtgQ5ATAF5gG+ATkFLgE8AoUENAEyATkCMwEwASkKywW5ATMI1QgrB2gBIwQzASUHeEA5AZ8E6AkuBiMDdgIiBsEKykM3beA","xA7F","/giu","+gjQygXF","/Qlz","rgrC","lRCl","lRDG","0Q7a","yAPU","0Ale","lRDL","BKkHjAR+BEIGdAjTCYIKugI4CZsjiAqDASMFpwE1AiwCYAOHBZUKJwNaBykFKgw0CCcBLgJhGC8OKgQqAigMnw8sCrkh8A4tBEoF8ggpCMAD3AUxDN0CrwE5BJ4Qqw0wG7kBjgaXJvcGYQdrAeUQqhyoET0KMBmRAi0HMA21FuoGngszDCsCOAODFZYFfgQ3AcgBUAKaDTIM3DNDBjYDLQXJE6kKMAIrDekK2w0uD+QaJAE1BjgENQw5Gc4LNQXgBpQEhAsqAXkFNwNVBuQBOAMuAygELwM4BCcBOgrRAS8E1xKMIS8FzRc0A0oByRksCC8GMQEqASgL0gHcAaEByQK0BbUCMwE+ATIKKwM3BS8B6AMqBTYDNAExAzkBXQI2DDEPMwGJAioFMwFeBiEJLgZGASsMLQGZBjYBOAGVASgBnwUwBysILQQwAh4DKANhBooFHgGcAy8eMwFjCz4HtQGqBdMBHQkxDTAMKgJCBj8BNQEqA4IBLwUxAS4CNwYxAeEDKgEwAS8ISAkyAYsDLwHIAikBMgGEAbkFjQYwBCwHgQYwCqAHJgMnATIRLQEkATAPLAcyAi4CvwG6A1ACMwLKBJ0DhAg7AeQBywiXATAB2gEvASwBxBmFAicCOARkA94BKwHgASgGLAXhAkwCOAEkDL8EiQgrAaYCLwLOASsHNAg/ATEBKwEyA+0B9QEkBvASMgxFATcLiAM8EKcLKgIqCygCbwJEAScDjQFAA4wBgAguATEBJQE0ATIDKwIhAicBhAE1A5sCLASQBSwCOALWAS8B4wSgAWAI2gYyEJoHNQGWAS4FMQQ1Ak8BLgEmAY4EOQEwBeMBrwE5BS4BPAKFBDQBMgE5AjMBMAEpCqwFfwEzCMEIKwdoASMEMwiBQDkBnwTeCS4GIwUiBo0Ku4ABnQ","xA7F","/giu","+gjQygXF","0gZe","sAtI","lRBq","lRC8","0Q7a","yAPN","0Ale","lRDA","dNvEAeeqBpvOAkiDAs52XZADzw","sAtI","qQ5d","1Qa7","vQLt","pwtN","pwtN","8gVD","rAR3Ms9eraoBz5AI9J4CxQ","vQLiUl0v9KQBSpABjCiJpwGrK3EBnq0B5MgDpQu9RPEmn5ABow","wwy0","uwWlYscmv+8C4ZUCk60E3w","Fs4Ss/AC8i+uH+2/AZ94eATHIn/DAVoXzgP1W+IB374BzS7PUcUCxnHpNaw84EGtWNotdBu9EkgnqT7eFr1Q9A","nwF9CGw","1gqr","dcg","ig9p","3wzq","mAqG","qQuR","Rb4k2wSORMIdZkaaPYwOzmPtBbYmtEfVNJQ32AZaTdYvilazPfIjwAu5GLEMvUHSG98ZuwtJKNMcvxyz2gHBJOMyojJ5Hbk84wHVHeNAaUqzDqEnQjapRaAHkBfZEuUDzxNU5AHo","oQ3GAbk","PO4B7UHf2wij6gbV","PKcBokGy","fkPoC5XdA8o","kwiu","lwhx","5gyVAdIB1g","kwjaA9g","6QV4","8gnE","nwvJ","lALizQGV","vQLqUl0v5aQBSpABjCiJpwGrK3EBnq0B4sgDpXWfkAGj","kQng","KLOrAWcju5EBxSFx6wPJc5buAdruAsgSxEntAeuLAbNrqS67Hrt87w","kgHO","kgHO","PKcBuEGj","qAOpNnz0A5A","nQjCA7g","iwKGA8Z3Vw","vQLB","pgFr","0wLH","vgPV","vgM8","yQGxzQez","mA+n","/wrZ","/w/2","EtM","rwzZ","Esg","S5k","mQqulQGPBbgBvQHX","0QLKnQHrpgLL0QFmtgHWAdO5A7Q","9Q9T","5gMn","5g92","vAud","+wjisALGB7Y","+wi+","hgWxpQHMygGA","3AlnmgJ+","mAEqiQWw8ALPHX0Kuw","7Aba","lwid","xQ0r","jgu5BrYOkg","wgNZ","rgFEOCutCCaSAT4uL20vrAIvYkM","mA004QInRaA","+AV2","5gPs","vw41","9QTu","9QTf","5gnd","4Anl","+Q91","mgp66wGsZ0gwkhDbH4UYpSCfELMHugzWBL9nzQ","nAZs","xBDS","lgLz9AfhugZ0","lgIs","nwmg","G94HqTzKRWov6z80K+MWiUzwAfAB9ijuAd4Ct0fXA+MBugW3GykR8hDfNs4BzCSCA7AOPwGvFNw7qQHiB9IG5wvbBNIGvBjdCm8X7w7HMpkr6RnXC6wBqhLQAelK7x+hAZMHyRLsBPUTzQXTEOUyySXlF/AK8Q/tH9QX1BOHB/MDvg7yAlgC9AGPAfYB0QJXBPQB9QH1Fu8BNi+cAfUM7AHIBnYd1AuCDUcG5RGtC+kjzgXmCeFH5BaRKNcK8UGsHDANewmtA8wGKgy3AtELvwGbIO0E3QOhBOgV1R3eRcgB7QHYAkwb6BrvC2sDugHYCa8C7wPlAbkr6gbfC2kDag3k","nwOqAa8ro02omAe7","nwORAZcro02omAfC","a8s","1Qm31ATM","nw+p","nQ2p","nQ3P","mQnL","EumNA5QBzdADzD6uvAHYiQGOROpkJhV1W6gk3WuLjwGzaoAejw6o5QHUAc8DPBDVYu0","nQZ4","nQ3P","yQOS6w29","0gqWF7SDBa4","B9YKuQjEI7wBuGzsCukHlRO0KdIbwyeZIcoB6gWVUKgZKgaFaMQHWiW/Q4UufibhpgHwAtoB3AGYSYUG20JPEb8F6AyJRNs/qgJ/yAG/As0quAfITLglxB2Uc94WhxKcE/TuAesLKji3","owvL","owHDbnI","3gSaG8fcAcqkCaA","zg/mK3U","zg/qK3U","5gPd9gWd","zgFovwjUAbQ","gBC3","PKcBokGW","/w1p","sQx7mwNQlAKl","7A5r","hgha","7wbS","/w/D","+gj0","+gim","ugS5","1wRl","aqw","kgTX","1Qa8","wA56","3AmS","oAWK","yQnq","jQLPvAeh","4wqQ","hwHeJMKQAd7bBMVTwzTOA9Y","mBCPAVA","9gXT","zwTh","OIg","OHg","OIA","mArf","9A9U","7A/P","6QjK","IYY","nBC/","qAR4","oAWovARx","kQuvrgS4","0AIxzQGbMqMkmd8D1LACuz5P8QRBrQHS","mRKq","B8cKuQifkAHlCu85uwqmG9RJSAWVUKgZKgaFb+glqUOFLn4m5aYBtAPBSoUG6kJPEb8F0QyJRM8/wwJ/BT1hrx7WAcYB9EK4As0quAe1G3dWsB2UMN5DUBaHEuMT4zTZugHpCyo4tw","owHDbnI","8gXY","gBDK","fmo","/w1p","0QPonwXM","7AGU","3Anx7QSKa2JoNQ","3AlB","zQG6","hgiF","nQi5A5A","lRCV","8AhV","/Qee","xwyG","zg96","lAHjvQGkwgTl9APgzgHsXqosqeACpw","oBBm","/g3n","sw22","0QLTwAuV","kgsp","lQxr","lQyk","lBHn","Ms4","oAWz","zAnB","jAzbdLo","ugHE","0hBu","/BDa","2RB/I9o","5AJq","oQLBiQ+b","5ALWrAOcAeYO5OcBmMAIzw","5AKu","0wXM1gtq","lgSS","tgZs","tgZs","tgZs","tgZs","jwriAbw","oBG3","tgSLhQfY","7gTo","7gS0","1gJawAmR","QY4","jQN0RcxvcwaLqgTXAuGMB44","mA98","xASz2QSo","xASa2QSo","qw6z","qwyA","1QbK","4Qh7","0gq9F84","lwjH","kgsp7wLO","0Afi","3QGo2Q3V","ngP09QK7","kwbfI5g","kwbUI5g","pAKv","qArk","pQVa","pQWfwAF2wAHT0AZKRzoV1ATpPuMyRQFG3AGc","pQh4","pQjP","nQ3z","lgie+gSK","xRAz","xhB2","kwdN6AGr2gOM8QPP","ow7a","gwPg","hgjB","iQ9t","hA+X","zxCu","owlY","qArO","kwfpgwXi","hwiu","vw/C","0wGrwwiydLvCBJM","gQVHpwXO","hwi7","ngrD","3Qmn","9Q7RogG2LuQB0gjq","nQl9+gaf","yAGU","dsQ","4wjc","fmqoAnwBywHkNsP0A86AA5YXcrMBjCNP9AMv","4gcn","zwTL7QkhkgGP","+Q8n","hwiX","nwGYCJj1Dr8","/wfz","3Al+","8gyH","4QTM","xhCe","xhDA","zwuk","2AWd","oBCv","5gPd","kQJy","/wym","7QfT","4QTItgaE","wQvi","yw9U","4wLD","9QeA","EtY","3Alx","xhBG","3Amd","iAyx","hgjD","jwmg","5gPE","xwtE","ogl6","mg0/","9wZwJqNntLkDmbcByIIB2y62Vc4","oQx1","1wPWEdpOi74D5UB5","+Q6X","/w1p","wgekvQFx","rge+3gO/","vAud","7AG7vAKjlAed","sQ7Z","sQ7C","jwFP","ugG9","LrSxATDhAbgnva4MTA","ixBr","gwzK","PHwBog","uALWhAmd","3Al4mgKp","tAzD","tAzd","qQ6Y","0Qaz","uAE/7A5zpQGy","FKYZaZICe5kCnUmlAyHkAtGeAXomo253fonPAZ+RA6IBoscBpQ","ADAJrgRCAV4BNhM+Az0IQQJAAUAzHyZFC0AVQgNHDOoY0ApIGTwCQgG+R0sGRApKBk8DRg1PB0o/PiVPWUeCAUwWRwdFDYUmSUpMJ487RR9DpAHkOk47swlLDElYTAxRKckQUwxEEbgJjA6QCUo2expEHJMMSAFNEE0PSglHQEgGSQpFhwFNUkuOAe0FRQRBDEUFTgVRZEQ","uAGz","jBDZ","8AfLqQTo","8QSD","3gzY","3gyt","qg7X","4AdOwQM5","uAXcxwSxkwHB","qg7X","DUo","wgLmwgGT","TfQ","3gjS","lQyX5QTl","wgLB","wgK+","hQO5","AngNNh5pGkBLlgh6I28PpCaReG46SUl0SSknMAWoCygaVucBnx1mJz9NoAiRFoM5eTG3GCUDcwGtLjyBAS8SHTiCAUsgdl8rE3ZcfgGsFjRBlhJ4QK9JbggwCWwWeSBHAYkDoY0BSw","EFHNAkjcAkDAAkiJA+t8yMQByjufWZ1XPA","ggvB","gguG","ggt7","gguG","ggu8","vAKj","4QRJ","gQim","xglN","wQSdvwKe","AZgP0QG7BToITBpVDb4ZhAEzDJIVbAUtASkB9RTFBWoBLAimCGoDuASbCVEBSwGkBGcFbgV6BjkdvAKCENULaxrmF68EYRCABGwKKwjNBLsGmRWRB4kIdQt9As8ZeRPhBUcPiVlOFyUz2BakATsDxQfNF1IBRwyCICEKjSRmCMUBuAfmAuYBxgPYCUsHjwpLAUQMlxNyAckK1CUvDDgDmSsoBMIHohqzCGkDRwHzBlYPNwHNBfEEngjGBGwUfhpKC6wFKgp6C04Brg1WDqQNMBvNDCECIgKhA0cFgheuCUYCigatBlAE1gafGigFQBEzBMwVUAF5BygLfhRWB58BKQd+AqYChwmlAaEHxRc/CkkjiQFAEyQINQdMCVIJnQogC0gItgJICDUUaQKsAV0MKAWbBUwIUQeYC8IBfQifAnADqA/GAbsQtBtCDSEUUgFgAdEBnwPDE0cUOwWWAaQBUQE5AnMEfAJCBUoBRxabC6oEPgJMCn8SlgSEDacQdQFRAcwFvANJBqgEqgN2BroEoBIgBkAiJB8mB5sJwQ9VEu8FSwuBOLAJ6l1JHLs","0gStAdQ","kxCQ","uAnF","hwF/","owhs","hwEm","hwF/","5wfQ","xg7J","cUgqg8EGnw","Yx9HNw","qgE3","qgE3","rQbmAuYBZgPY","sAa9","bZSVC6A","kg3O","EDmbAuh8pQ","rwjG","EDk","nAOg","ywTArwzvAb4","ugF7","+Aeu","A3aiAto","lArgPLE","pALY","8QiH","eT5ff40KjJUDhQ","hwth","3Qqu","7A7frgHt","hwJ6uwjVC30","rw2p","ygyy","ygzT","8QSD","tQ/M","vg1g","6Aaj","sg7L","AuYB5ALDBHMCbQKvAX0B2QHyAa4B9wHmAlYDrwR+ASoB0gOwA64BmgKjAp8DnQLdAcgBQATlAYcBoQJVAdUB3AK8AdEDKwG2AZYB5gKsAfIBngfFAoII7gKXCG4C5QLoAcABegGrAqgBzgG6AjoC6QElAcsD2gJ2AiUB3wGAAewBagEnAVQBbQHMA+0B9QG8AekB6gKSAjoBpQGvASgBqgGJAaAB3AJYAUsBfAFxAWwBmQQuAdoBjwFWAXsCZQGZAngCqQFtAVwBQwJnAoMB8wJ7AeACswHdAuUD8wPHAa4BMwI8Au0B4gGUBdwB7QHgAqUBzgHoA94CYQPXAbwDhgfvAcoBxgP3AbEB6gLtA5EBgALJBogC5AOAAXME5ALVCnQC0QPHAbMD0AHtB88HOgHuAaAD5wGvAdwFtQH4AzYBaAFsAi8CPAfwAdQI6wKkA3sCqAH4BKsCIwI5BcsB8gLSAvABMQecAZgBxQFUArIB1AXSC80E2gHnAX4B7QGYAdgCuwHwAe4ExgSOAXcC4QHoAnIBPwGwAb4BhwHEAZEB4gNuAsMDpAH0BYYDywQtAtgC9gSKAZ0CpgTWDPUB0gNRArIBwQW8AukD3APgAfUFgATvDMIB3wLGBO8C4Q6UDTUB2QbVA3MCdQKrBL8B6wHaAr8BfQLSAXsDvgO8Aa0BdgFpAsYB0ALLCO4CkATlAtUBsgHAATYCngRXBscDrAHvAcYBywOfBcEC5QO2A2gD4QnsAcoB0gVKBc0DZwFNA4wBIQKaAzYD4QHeBdYBqQPNA7kC7gHuAy8BQAHsAfYBRwHbA/QFygH4AdEB6QHlApQFzw/2AbcD8gO+AbUB3gLoB9wDfgidGa8BpAPzAcgEZAG1B8AB9QhgAeEBtgHgA9kHqQTrBOkDjwS2A6cC6gG2ATgBwAHpAfYC7AHDBb4C1AbRAdcB3wKxEeoCOQjtAt8DxwZ4AUgFbgFKATQHJAyRAzQE2QKuAm0DogE+AcwB6wXVAX0BxAVDAjsCtAHiBCgBZAHzAi8DjQHkAfACJwKIAdAHMgLKA+IEgAPPAuoH4wOqAsoB7QLoA6cGeQKoDfUFsgWYAaAHrgExBWEEtQH4An0DUQHzATIB2AHGBsgB1AHmApoBmgJgBpkB2wHjAc4BtQOfBKkBygVIAe0B5gHXBeQBoQHvA+QB6AJ1A90B2QGEAS4EtQHhAbQJ3QErAnQEmAIvBNUBPAFBA60CuwTxAq0BJAHcAcQBqAGcAXwB4gEqAqoDdgGnA70C7QNBAVoBygKuAa8BzwHUAm8D0wPbBTIBjwLeAfIBdQFoAboBfwHSAegE9gPNB7ICnQHEAbYCgwS9BeIB5wSlAe4BsAcrAUoBkgI3AUgBzwGAAS0BeQGZAb0ByAFvAoYBIwHdAvMBgwX4AeoBUgS0AXcHoAXVAtMCewE1CPUH8AGIAqgB9QPfAekB4QNFAW8DqAN0Au8ChgTXAfEBvQFIAaUBjQK/A4IB7wH1AekGeAHyAesCvgLrAqgDXgMnAT4B7wLuAfIHMwJJA/MDQAHFAnsC7gM5ATEBJgNdA0sD7ALWAkgDTQHJAvQE6gHPBt0C4QHuAfQCwQHaAfUBxAJ9AfgBhgJLAvsBygGDASsC8gHwBzADmwEnBLgBgAM8AmUC9wI2AYkBzgHUAaICOwLVCpkBSAH3AYoB1QSvAbICzgHPBs4B1QF5AX4C1QIrAucBvQNiA+8B0AKcATYC6gHGA7sC7wHvAp8BWgRrATUB7QHVAegB6wHUAfUB9gFHAuoDKAGkBp0C5g3NBaoE7wHkAdYE6QElAcEBrwKLAfEB9wHiAeMC0gG7AkcBewMkCtEGeQEtAe0F1gHPAS0DxwFGAfUC6AHfAzQF9ATCAfIB5wGmAUsB9AF4AdYBJAHPBOYDyAGIAdgBzwOgBPEFegHyAeUC3gfuAfQBKAfbAZkDngH6AtwCkgShBfgB5gH0Au8BqQLfAR4FdgHYAYMBiQL0AdoI5wHxAlgD6QEoAfQEQALNAe8BJgUgAeMC6QHqAT8B8wP1AfMB7QGpAvYDowHlAmcBSwHqAfEBeAKyAdoB7wGEAU0BhAHjAdEE1wPQAj4DeAczAeUB9AF2AaoBvwPmAa8B8AHrAu0CpAWjBJgCyAHiAfAEQwH5BYUCLgFCAW4BngLJATkBggHnASgB1AI2AtIB7gHqAkMB6AImArwCwQHXAywBwAKtAs8B5wYqAcYByATXAcMBtAI4AcABjwODA+IC0QF2AsQCkQGoAdcB2wEcAqMB5QOhAa4C1wErAT0BbQI/CMUBIAGTAXYE5AHSAkgF9QjrB+8B4wHmAXUEwgLzAT8BJAn3AbIB6gMsA8kBzQPgAe0BhAF/AswBZAG4AagCZgLfAbYD9wS0AfIBmwHwAewBLwKvBukF6QPcAfcC3gE7ATgBYgPQArsB7wHRAeoByARLAeYB2AK+BvADuwHCDuwB6AHJA/UF8wHZA9QB1wGHBO8B9QHyA/YB2QLSAeQCvQHpAm4DZwL4BrYDUAHlAvYFvAPhA/cC4wPrA8MB6QdmAbsKpgLsAe4ESgLtAtAB0AJ1AfcB6AbvBNIB3AJlBNYDwwXrAtUB1wHrBq8CXQLrAu8BRwXnCs4B8QH2AvUC1gHrA8gE8wHn","Q62bCtI","Q62bCtI","fbg","fas","fVw","fbg","fas","fVw","oRHO","0QrP","zwXn","5gXs","kwFX","8wyy","yBDQArs","E50","vQyR","khCIEKM","EIH7Atojw5kBj4AC4EnHUKpB5YEC8xXIEu/mAbsh5iFtA+ID0g","8gzt","8gzR","hA+y","7gbL","wgrx","hwuN","WOgM5STpJ2cJzwLRA9YHPAmkMOQI04cB105DBsEq6S9xAeKBAds02jHwDbIB8gnfIOEq2bwBiAHbEdlsvQqvHdxvvAGcE++5AbHkAeg16WfPbOxkgRBtUt0G7wHhPe4C0wnP","0gpq","4gnW","vQiQ","hwud","9ATL","tw9D","jwFG","xwRO6wds","rgLhkgGQlwGxa+mcAez+AeO5A5ftBOMq9ALj","rgKE","rgKs","wBDd","wBDD","wBDD","5w2B","5gpS","rw84","xQ/e","xASi","nQakJqk","tgXN","rAzG","hwK70wF7Axtj0JICp/ADxQvwkALNeW1ryg","1g3X","wA67","sgHF5QeCiwFOqAfr","ng1r","sgHq","jA7t","0wGrpALiN7gp3YgDXmenYqAw5EEjA59trwGcO6UEow+gWZdC1FKGB43tASYFkQ8iC6E7rLYBsg","0gZe","zA2NxwKs","lg3P","QY6nAXv/A4r5CsI","5wWK","0QKM","0wGrjAaJyQGqMMxEvG6lO6oErw+oWaZCylKwhASJ","nApH","sQd7","iwfqAtw","ng29","RkroCo8","kAmX","0Qqo","0wvE","wAGIhwTZzANLyQXBArcBsQK0XmNA8v8B1w","hxHt","twFu","xgOK","sgzc","4RHS","sgGEA7/KB3ABIesEbwbmA5XWA7M","wA7R","wgch","wgekvQG0","sgFZ","8gTb","whBw","0hHQAdA","oRHO","zgHe","wgOk","8g3f","xQtz","vQxl","+gfT","jBDo","+gea","hwjZ","qwKgrgHLpgVfASGWAuD0BMGLAfA","5Qeq","qgLf","jwFj","yguX","/whx","yQfE","qgLf","/AS6mgbm","yA+h","0AXl+wrvAuo","lxLp","iQGx","3QMbwQi35QTn","rRC8","tw+q","JE1NyCPXjgk4gAak","7QPQ","2wKrS3wBfgFlpQLzhQK0hAbpvAK3gwHy","+AriAdZ2ig","wQ/b","1g2g","1g11","tw+8","gxGr","gxHj","Rko","lAO//g7v","xASJ2QR9","9gmd","RuQ","ug6y","pAmH","1wLt","sRHEBMU","kgO7","wQXH","7hDaAeEE0A","tgLpjAHW3AmujQPt","Wpc","ng1B","ng2X","+BDu","bbepAccZr0S6+wHHuAOHmQeP","wwve","mg/A","1wXP","3wGG","xQ9d","kBFu","E9o","7wHg","7wHb","Ea4","6gXu","8A3vAu8CzQ","8wyy","8Aax","oA4g","tw4k","owrf5AF+B3+WAq0","tw+q","tw9k","L8g","sA+5","qwzn","xwXP","zgjU","/w06","lgvB","dlrAAdcQ3pMMew","rgS2mw2yBUo","ng2X","lAq9PN8","pQZH","mwLP","xgHWnwHlXd0X28MBuhC4AbnOA3XJAqAT2aMGUQ","wA56","tA5n","8QXohwPkyQPKygLuAeo","/g3Y","RrJDoT7D5gvI","swgl","vQ3YAcg","nhFQ","wA/X","e20OmQ","wgPo","1g6n","2wGU","dlo","7w6N","9A2V","6wHs","xgJr","D4Q","qw+dAZ0","9w2+qAF/","mgKo","6wGe","6wHs","gRJH","lQ/B","zgEy","zgHb","kwE3","vA6n","vA7q","iw7n","zATAMs4","7w+r","8wTD","4gub","xAmuvges","+Ay7","JE0","3QjO","kAm+","jgF6","xgJr","9BHo","ow7k","ow6i","5Q3M","oQjl","+Ap5d7w","7w/K","sgPq","hgnS","sQGD","5QK83wi4E5c","hwiXvgedGuQ","twFu","jwquAVY","uwzt","wQVR","wQVR","vgR9","6A6B","tQpO","3xCy","mxG2","aas","8hHRCl0","kAXr","vQnJCS8","Rko","8BDJA9o","xgJr","7AF5tQ/t","7QW+","tAE/","uAmW","wQer","wQer","0wGrjAZeyQGgML9En22zAZw7pQSjD6BZl0KyUoaTAqHxAYk","vgj0","lg/X","pgZ77gtG","jgF67QmlpALZtgHj","EvL9ApgB2KsBwUzhQK6AAZSZAdzgCO3SAd8","xwa2","3A7cBeedAz8","kAV5Aqw","kgW5","kAmv","+AfP","7gP1","/ALS","kgpk","kwOtrwLv","sgPp","A9aYAs8b3pcCsDHRUNFr4C28BpgV2fIB044B7kuobqE10PwBb0e+Q/Fy2QjKjQGhBs4","yA7E","xwWu","1gEuuAGxBYLNBI2wCm4B7g","1gHEmASw","jgOxgw/D","jgPW","6AGd0wK9HpAHaTdKJesL2aUD6lvMcCY4rQHNYEtPc8gD8zuN","rQ+W","7Agx","5wpI","1gHE","1g7u","8gSu/gzr","8gTb","9gKyAc8","9wPi","BcMIrwXhBjMEfgLQA7AT5QXVAdwCfAF3BI4BbgN3AdMIxQKCCMUO6AHABKgBzgfFA6EFbQNqA20E7AH1A24CQgaqA0AGbAGDBdoFZQhDBZ0IYAPvCd0LpQLNCGgBvAx7BeMYcw7RHasNLwrUCOsVagHCIs0F0BCOA+EB4wnEJEkNxQMbDdwg0gLhHHgSpg14CK4I2AZqBLQQSxCZA0AYlwdTA5oHzCDtBZQddwm9A24msxZkAaQE2RvFA3QB6QHiA8MHrgfVFjk3rgjdEeEFZAZEAdcPygOsCb8H4QbAAuMDpwioH6kL2QVRAfMJyBG1A58FxwfcAdEL6AXdCZgWwwvsBMcDcQLiHtoGjwPDBb4B5wTqA8IHsgaDCd0BqASlAqoWhgK6AusHzAWwAXcHoCGVAdUDKASoBbwGrwGUAagDjRTlCT4B5ALmAe4QwgJ7AuAEMQRFBuwK3QR9Ac0GgQPgAfADoQHyAWsIcwKDA74B6BCAClEBzgHUD5EDgQHLBK8DwwHLBrwJoQGrBtsENgjpAeILZQHlAdQB9QJHAuAEpAadFIUE7wHkAdIHrwTwAuMTzwZ5DMcBKAOMDcICpQQqAdUCwATjA7EK7QfCAt4H7gF1CYoEig3xBLkMgQLqD+ECYg7iA+EBPwT0AusBqQZ9BNwB1ATaAXwBhAjRA3UPdhWYAsgB3QHwBYQIQgKeAq4DiAEoAdEJ6AR4Ca0DlwfGAbgEuAGdBEkJlAOJDa4C1wU/ENICSBXfAeUBdQTCDfEM2QHtBGgCuAGhAmYDtge0AaMBmwHrBKgG0wjcBkUJyAW/Ackf6gXdBkUVZwzlKokHYwVMAe8H6AXcAmUMPA7CIPMBzw","7ga/","3Abg","hwF9","hQGV","jwquAVY","qATL","nAp7sAPC","hgTG","4gnW","hATZ","sgFp","9Q70","1wmT","1wnV","lQqX","lQqX","mgKo","xgLV","wgO56wyQ","xAyo","xAyo","qANllAKt","fZh4t70DzqMBpw","EPA","kA3s","xgi6wQKm8gXX","sgFZ","tAyf","tgKX","rQnE","jhHC","zQPRgAGw7wedAdsBnoQErA","qAyc","7wrpAfE","2QPukg7D","kQ68","tQK1","3QTO","dlo","yAGU","dlo","mAPGqQLE","rAig","5QOp","0gHMlwHW3wGtnAKskAfZggLvZvAoYATPA0g","6QLPog7j","hBHx","hgh4","hgi7","wQWH","zAXK","8wiYAtmICNc","8wiqAaE","2A59AXs","E3auDOjzBEo","yQOm6w29","ngvd","xAWv","tgvv","fdE","PKcBuN0DlM0HuMAB7OQClugB0Q","zwGn","3wSo","9Qjn","0wtT","cd/FAeg","3g3b","rhDr","zwGn","lwKz","2Qft2wGq","sg7L","sAHZkAFqlwHcJs0C6ALIlQNZ9QKVY5hmg9sCzIECJgmr","8Au5","rwOo","vgHe","sw9U","ApQJjAWBDmsRWRVeAmkDfw1FNHwGmBRHAUUELA+wAYEVMgmSFVAJJBPNAooNdQJIEEoGTQdzA6EgRQVIHkUPRgZbL0UXaAzPBYkbTRtWAV0JSBBFB3QegQSjEpkOuQSfE3UKtx+lOKUhTwOcAks5bxSYAXIpRByyHEMVSBqeNp0UPgOnByBKuwScFI8EohJEBqQHQgRFAqAIRglRCMYBZAHLAnwPXQErA7AOiQydA6MKgBqeE0kQxRtIA3IVRQW0B78MRwamAjgPwySoBZkEOwZjBVEFvgW0AXYBLAG5AX4IQAHCDEMDtQNoB6AIRx2dDygPdwpKCLcEoAiIAUMJVRSjHbEBKBCJBkMTIAFcAioLKAJJCmQHRAJCA2sEZAhGCZwBWAOjBU0CQRA6A6IVcxaIFJMCQQt5BFoNRh5xBTg3SAExBCsDbwFrF3ASQBFIaj5ARSRW","gwQt","9QjQ","InIUf68CeyJi6gF0aMzDAUTlAYmVArJBa5YGzQ","wgd5uQKO","5wSb","CYQYYMMHc7IDdA1lqQHRsgGB","hwPdwgK0","nAXWEZI","tgm+","9AvJ","9AuN","zgGU","gg85F0I","wgd5uQKO","wgd5uQKO","REEIRhYpCDgJmQIsBaYLoAGaAUICJwlHJpsjKBqXFcoC0Tq6D7MJmSKWaDBfLhBkCpIHlAuZCc0Iki3TNioUbiSYAZ9KdA01Jp0KnQ00DJoCWx0fBJ8ifwR/eC4BUxmvCpUEcQYwG6QQdwShAZ8FmjUjAYkCRwweD5YUYwKyLZcBYAxEApgeqA4vDUEQrgeeF6AVLRCEB0QEQAEpBp0GnxGaCSgfUw4sHLMbqgKTHyITcwyJKCcdRwSQDZ4spg+iBzAuRAujC2IHQzMkCRsBegejIY1gQA9sHj00Qg","vgK8vAW1","xw+a","ygbajgbT","ygaK","xwGr0wil6wGlZ0gC7ijTBpIQwx+YGJogpBCFB7wQwgbdYe425w","bepAsgQ1","jwHUSZ0","E7w","0Avq","AGgB0gE4AaIBsQLWAWkBaAHNAcoB0AHGAW8BXAGNATkBuwKoAUACnwKsAn8BRQHIASoBLQFLAogBrwEtATwGbALRAZYCrQJMAsEChwE4BlcDfgHECIcINQNQAzYBfwepAWIDKQdQA6gBawInArEBbQGZApcEPgF8ASwBMAEmAagHlQG1BTMCOgJdAVsCeQIzAUABbwG+AUkBjgFIAaACcQSzAb8CzwIpAa4DtwElAScBLgGyBSYBNwEpAiwCzgF6AnwDoAEnAVACZQEeAkYGugIyA7gBhgHEATIBiQE8AqsBKgG9BakIYgU3AYEGYgKbAaYEiA22CjQFLBM6Bi0ERAF4ATIBRQIzATYBKwOCEzEBOAJEAS0CJwMtAXoCqwHWAYYBvAKqA4YBKwUxCaMEsQWuDzoBMgE3CywB2gGlAtUBigU4AkICJgFJAT0BMAK+F24FMAEqBSsKLwOAA6wBYAHKB4QBOAFQAqkDRQGsBngBdAF1AXMBdAOgAakGsAEtJJwBLwR3B4wB4gE7ATsJmQHCAXAGWAhLCEEEUwQrAi0BNgsoAXADNAKZDCsCOAMqD5ANLwFKAjIBOgEsAaMNMgFABZkHygFIAaQEOAtBFmUByQaQATsDageuITMFKwJoAWIDNASoFYQFLgR9ESwCOxJZAacGvA1KAaACORAtAs4BKgHHBVABLwE0Bz8CNQKhCDIBjwJvCKEDPwJJAU8CqgQpB0YBvwNQBCgELwGoAlgBNwIeAy4BKgVmAoUBiwHJAbkVLQKtHy8BOQVACTEDgwmkATQExgF0A3EBbgw3Bb4DSwidBVsTVQFfASEFMwE+AdEEmQYrAnwBWgMuAi8BLgMqAiUFOgE0ATECtwGVATkBPwE2A7gBLQJIBjEOLwIqAUEBSAKQA3wBVAGYAzIDYAFQAZEBKAEvAUUBkgF8Bi0BaAdYB88HmAEjASgBUwIcCnMBPgE9Ah8BugSOASYCrwIeAooBiQGKAXoBbQYtAa0FowMvA5MIQgKmAYIQygM/BS8DawFjA7UE1wF2BSoBHQS8AScCKANGC4cBUQi8AycCKQG3AZ0BoAaVAVUBKQEqAq8FjgFiAXMBKwS+ATEBJgKgAV4BoQEvEa8BOgErAnYBmwExAaIBgQGRAZ4BJgGoAVQBawFBAdIBgwExAVMBKgFRAR4CLgG3AooBmQFZASwGsAZ5CLcC1QJ8AcwBbAGAAUMBMgG3AbsBcAyjAi0BVQFRB2IBVgMqA48B1waMAcQBZQGFAbEBRgFtAy8CpgI2AqcDxQE2AiACUAZpAd8CmwNjAS8DSgElAmEBRQF6BjUBNgZmCp8BUwJZAXcBbwFKCCUBKAF2ATkBUAJtAaYCnwFFAkIBoQFzArIBJAoqA80DNQFNBSUBMgKeAk8BdwEoAUoCSgGMA6UJqgExAUkBtgOdASMBJAh0AiIBTAFaBkoFXAIiCn4BRQG4C0wCnAHiAasEOwJECEEBJQiDAScBIA5YAXQBoAElASgBJwI+ApwJIAGAAk4CQQK6BJ4DJwHDAiECtQEgAWIBXgKOAWoBOQFXASECSwE1AmYBLgFmAioBagF0AXEBnwE+ATIItwFxAqQCWAEzCjYDiAKJA5sBsQFbATUBSAG4BGoBMQQ1AbcBLwEuAaYBLQFFAoIBOQFRASIBkQEwApEBMQGgBFsBLgImAZcBgAM0AZABXQEsAVUBpgFwAygFsAFxAlgERgHAA1wBWQElAjEBKQKuAYMBSwEmAb0CowI9AT8DUwKaAUUBbQEpAVkBZwEkApwBIgEnAj8BeQR/AXADpAZgA10HRAGGAU8BgwZyAXICzQLAAbIBWQRlA8YBsgnDAa0CywFxAZoCMQFAAysCTgFLAVoDnwJOBCgCIwIqATYCIgInAUQBKAJQAWkDSwYrAzEBUwGzATIDMAGOAVwBVAFmDK8BNAEpATsBNQ","JDw","wQg0","BUELfw5OFTcCtgRUDUoBvQNOA8ARXgG6At4ETwSlA0UBQgQ8DCYDSQh0AUkCQgdHAkACQgGUEiwDRwcmAT8BRgNoAy0BmQRoBDwDSgiUAtwBRAFHAUABfwe8DD0EUApCBJYEzi2BAp4IOwGpClADow49DEgukRBQAk0ByQdWAkIBcQKLGDYGPQY8BLwFPgdACDoIrAmzBEAjvAWJAr0Epgs6BL8IXAdEE54DsgKyAUIReg7SBUMTnB9NBYkGlQJHAugDWAa2BU8URweDAUUM0w2KGJ8FNCKxB3oLtwGXDIsHTQhBAkYHjhh4AUgFLyNLBYAKQwJFB0cERgVOAkgCQghIGk0IgDdCAj4SgxRCAUMFQwtRB0cCTAyvB7AFnARzA0ACQwHCAUoBeg0+EUQBRgJNBEAJSBTLD0oBQgVGAsQKlgdYB0cHZwxEA8sFSANEE2cXmwF5AkgCTQJ5BM8JXAFsB9EHRAJDAUAGQwOpCpkMSwV/AmkEfgS5BsQGYwGuA0gBTwGHBE8CSwFuA6cCRgJMEG4HRwNRA8AEhAKGAngHawWHBbUMgxQ/A0sCMQkiAawFRwNNCXEHogzGDk0CRQJJBEUcsAI8BkMBQwNGBnoHngFIBUYJSQJkAYMBrQZPBo0TgQFSBlEUnAgqI6QBYAFDA7MBpARIAmsBQwMgAjwDPgpEE6cCNQFCAoMEbARLCUYCrAdKCK0BQhBDEUYQQwhDB5wCXwWNCHUCegE8KUIRSQVwA0YDZAFLB48FwQRDCrEDmQlvBqwewgHdAdADTAOVBEsWOQRKAYwHqQZQAUMESAdLBUQBQwTfAkQHRgQ/BbEGpALTEkkMmgZKArYPPwFUCEkCzgJEA0YFSQ/F","pQSf","xQXf","0QG0","RqGrAXozrArhIjEkPyO5EWXEA/TBAdty6PsC2aECraUCdS7M","Yd4","qgk5","pQFF0QecZa+XAq8TQgu/AawFTlZIDs2XA10","AMoBmAi4AkUKxAfGBrEItwTQAr0LUQRaA2IC7gFYDdkNYgN+C2kG3AHTAXQBtQVMBKAKbgVSAYwGaQqrBMACRQSxBMYHYgHXCYIctgE3BNcHsxDlEOsLdCKgA+8DfweaFLcLSAVFD9cDlwGfV94C+jf2AfQB+AOuB6YjkQKpBd0EnQ7qB/YBqAbJLeAWLwLkA8wEqgnUDS8Bzwa5C6cCRiDCBVUY3QFIDKQCpwnDDLACnA3FFqoLuxPRK0wFSAWSBUcBgQLoCKYFowaYA7UKpgHmArsEbAh4B8gEtxm/BewBZwHkEdMBYgFiB8kLzAbzDqsC3w7pAXEB4wHlAdcD5gTcC6YDhgWjBusL4AEyA0sTVgKcA+YB7gikA0cBkALrBq4T2QKjBOMHswJ1AY0BvARMBdUYSgF8DEsB8gHGAtQBigOeCHcBwQ6cB9wwWgHRAVQFvwdLDXEI8APDA+UHdAPIE7EBpQK1BGoJwgSiBNEDqANyDB4NcQGvAkkMagLHA0IDoQHUCTsEUgHFAdYKvwJ4E2IF5QXpBIoH6gHgAtoCzwulDq8LSwLJAuYBqRKcBGsC0ALJGHcHrgHlBEsISQKTAWQF0gXDDuoC8irnAYQB8AJQCW4ErAO8CLgCzAdKA6QMSwRaBLwBzwFHBsUEggRNAXMFfQWqDToBdRHXEpcIOQ2nA1IFvwHTAssO4ANLBiUCRwFJBc0KeAS1B6syzhBXBWQP7BDgBWwKzQPbAq0C2AfpAjQx9BP4AfoB9AK+PpYGuCzx","5gGbcEZTsFpHvQFQkQKydnI0q1FUPUsMsJsBKhFPswFCuwFNKLG0AWY","+wir","igrw","owmT","dLQ","0AmK","8g3b","rwqg","dm0","hgLg","mRHR","iASp","0APF0wWDgQfr","X6dW7gmwWGcWVgTWE6Ybw6kB8gGWAcou8h3vAb0TRl6nUecBoh17YdQ/oTKRBYQCwBrZEdQe3wHnAuIB10jNJ0ZDlyCTStkLzRnkkQHGCH8CwAHjTsIZ2QSrUNENpwYyAckB5AHYAd4B5wHTBVgdiQXDB8kvjiVoAqi5AdUC8E3qAtFGqQLCAeI","oQ2w","wwJ7","twTn","wwJ7","owlY","lgdpiAbZ","lgdp","lgdZ","lgdE","rAzG","sQnM","iASp","/Qyw","0APw","gBDK","3gi5","2QitAeMB0Q","qAjJMc4","4wd4","hwS3kA2/Abw","tAfOgwKR","czUcbtUBRZcG358BkqkBSi1CugJahwEl","ML2ADE72AUs","e0w","mg+B","tgJr","nw2h","tgLq","xg20ArE","doU","xwig","zwTl","0QinA8w","wguW","Vo8ipxMzYTeQAqk4eOECaTDNlAGDUJUCQ1GokgG5BtQO4h1ifyAIsdIBkxSgDlEHjEY5MDfXAUFSqg","uhC1","Vh4NYgxdVV2ZAmiZCmICHhhYEGhbZ0ccAWkNWwls","0AjLAcQB2wHOAdLGBD+ABek","mhK3","0AjAAboBwAGuAbHGCaw","0Ah2ArYBrAG1xgnl","mgvM","qwGLnQioowXn","BsMKyGqwKWpwxQHnAcKsAkw+ojOtEPmMArVhQ4oB7APoAoYB9QH2At8B0vYBUCBRogFRIWFltXk5fYGNAt4","wgXowgzO","wAl5","wgXU","AMQB4gGQA2cBtAHMAnsCVwHjAXEBswLUAd4CTQHhAcQD0ANhAnoB2wG+AVEBtQGYAawCRwNIAqMDvQLKAZoB4wHjAZwCNgF3A94BzgHABL0DxgJ/CuQDcALEA9ECnwHSBcoBggPBAa0DRQPgAb8CvQHGAqkCmgFCAVICcQHYAUQBdgI/Aa0CZQGtAkUFrQG4Ac4ChALkAToDzQHWA68BtwVxAsEGUQHdAc8BNAFlAaMBhAJuAtsBpgGGAXQCUAF5AUgCQQHIAmQDPQG4AZgBRgO0AVQDzQKmApIGuALOAqMBlwLNAcUCfwGLAU0BUASCB9IB7QFeBFYHPAKcAcoEcQ1GCaABwR5CBnsBswKEAycCSwK4AdoDwQq/ApUBegPVAS0CygjBAdgBtQKeAmkBXwWkCYUBqAKuAWAFugSbCc4CTgLSAYwBjgRhB4gBgQJ5BXIBdgOyAVIB0wG9AsQF0Q48AsoCSQXJBqcBuhDfA2EFrwHiAZ8CZAOyAYMFowheAbIGngHcA5QBZQZ9AX8PRgplAbkCzQJOCHgBxgE7AmgEcwPMAosGrxCQAX0FuQOoCEsEvwJJA7cOTwVoA3kDfxWmBa8BvAF7CokC0AJJBfEDcQc/A6cLQQLCBnoKoQPQAdIBrQZQAYMCeQepAWIPtAjeBHkFdgGuA6kCeQKwAqMDUQQ8B+kF0wRjCJ4B2gurBGsIUAt2B80BjAF1BI4EdQGbA00HUQ9nAY4CeQHlATIBaQJ9An8B5wJKAbQH4ALHApQIxAGgArQIuANjAVMB3QHHAnICcQFxAbkFcAHIAjsBvQFYAXIBRwLJAUkE1wNEAXsD1gGwB58DSQEvBkMFhAJ8CUgBfwHdAXEBdgSbAlYB5gM6AYIGMAqgAkcBlQFgBWQBZwHmBZIBTwJwCqIBSAVnAdQC2gSGCTsMxwSLA20ESQOyA2sIxwFUAk8BZwHIAWUEwQG6AYwDdQH0BmoCgwFQA5YCTwRWAq8BiAHhAVIBkAHeAaMB1QLAAdIBoQFuAUsBcwFOAYkDdwLnA7UBMQTMAzQHTQEzAVQByQGBAroEQAGoA2IDTAN0AdIBcQOzAVwDaQFrAXwBUAa0BoMBdAJtAnYEmwFKA6MG0ATBAsECWgHcA6sBqwOwAY8B0QNMAVECpgdAAXYBZgHSBa0BggPdB0wCQAE1A8sDcQrcA1IFvQLLAUgBugeWAb8FvwHBA0sBsAOKAWMBSweyBIkBRAG1BWoDrAPOAawCfgHQAUAEwgHHAocBawHHAY0BYwFrA2EBfwMrBFUBrgOyAnIFagHHCMIC3QLqAcgBqwLFApUByQJUAngBdQGTAbABwgFTAZkBUALWAk0BqQJNAZABuQHZAYcBtAGeAZADSQG8AsMEdgM1ArYBWASsAj0BqwFOAWIBsALGAnwBUQZ1BMUBhgHIAYUBowHnB9kBTAbSAdoGvwHYAX0BRwJNAUkDwgKvAnIBdgGGA0oB2gG+AU8CNQW7AXECcgHEAbQBQQJQA0oC4QFAAdIB3gZQAZsGzAqjAzYBPwHLAdcBhwaFAb8BYgHZAr4CkQNQAaMCyAGqAUkDgwn5Ad0CkwFgAaQBfQFSBqYBtgG1AsYBhgFQAUsBtgJVAaMBrgE0AU8BcgjDAqIEgQLdAbwHwwK2AcQBkga9BpMBSglqAlwDqQp8BIsD4wpBCBkBXgE6ASAB0AGDAWwC1AK3Bs8DmwFQA/IGPAEmBb0BswJtAZECQwEyB18BxwFkAXgBaQJoAaECnQLAAd4BwwHSAuABcwGvAdMCRAHUAdIBigK+Ab0KyQGUA7IBTwGiATYBfgZhAo4DawHEAUUETQG6AsABZwJVAqQBUAFpA1YBmQEvAaMBywKTAc8BhwHKAZ0B0wHsAbwBeQFYAdcBlgTAAYgBUAFwA84CwwG7AZ4BbAFSAagBvwPBBaoBjgGkAnAB2gJWAbYBwgJSAYIBmwK4AU0E9AHUAdgFqANrAqMBswGJAUkBnAFHA6wBxgFHAh0JrQHMBVkCfAF6AboBvQG8B6gDygfLAY4CxgN4AqIBvwLZB6sCzwG+AYEBTwLLAXoCtgFIAZcBTAHRAXMBLAEnAbsEUQPTAoYBdAKsAVACzgHdAUIBTwGuAcwCpgFZAsUB5QauAYwDzAG0A9wBVgFIBYcEegS+AXsCdgGaAasBngG+HLQBUDXSELIflhasC6EgmwKf","anA","5wHp","ToE","uQvW","uA82","uA97","5wGv+AefhgNonQKx","wAii+AbpIXFBqQ","mhBx","aoE","2wF3","owzVAco","8Qu4+QQ8","pgEp","pgEp","yAl9","yAl9","AEID3wHeAeMB6AGbAYEBuQFSAe0B4ALgAckBwAG9AUsBgQFLAvUD3ALnAeAB2gGcAfUB2wGoAYYB4wE8AcwB2wH3Ae0BoQHkAWMDXAHwAYMBzQHCAfEB2wHGAdICeAGVAY0EtAHZAe0BwAG4AqgBuQHvA/MDrgFQAY8CNQHEBeEB6gHFAtgDkQHeAu8CiAEfAsYD6gHVAdoC6gHbAZYBUALHAboB0QLyAawB4QGiAcMBnQGaAcUBxAF4AeMB8gHsAuwBzQHUAdwBJgHdAZcB2AEzAVoBlwF6AUYB7wLuAV0BgAGaAZgB3wHJAaoByQHYAa8B5gHLAdIB2QHdAYQBiAHaAaoB0AGjAtMB2wH0AbIB7wHnAcsBzgHtAdMB6gHJAX8BvQHLAc4ByQFzAe4BuQHbAeYB3AGvAWgBzAHxApABygG8AbsEfwHmAZwB7wJ+AZMB1QEyAdcByQHeAZEB5wEoAdsB8QK4AcMHKwHpAfYExAXeAbwBewK4AUsBnQMnAYIBbgTIAscB6AG5AtQBegHNAfMBqwO5AcIB9QHMBbEB4Qq2AqgC5gHOAfQD7QbdBNoB6AG4AbcB5AHLAeMB8AHjAdUB5gLeAYUB9AGvAdQDlwGBAc0BsAHjAr8B1wPQAekCqwG6AsIDzwHkAasB5gHdAecB3gLtAUMC3AGrBHkBywHNAWUB2QHOAcYBrwHXAuMBJAJ2AX0BgATOAXcD8gGLAUoB6wHhAc0BZQLUAXAC3gF5AbMC3QGVAVsBqwG8A7wBYwH0AeMB3wHSAdoB7QHcAfAB7gHpAfcB7gHXAdQB5AHbAcsB6AL0Ad0BnQHWBJQB9AG5AXMFbQFBAb4BgQHtAeABxAG+AaoEtQHZAbUBWQPCAekBtgFnAtIEoQLsAdcBdAE2AegCoQHKAewBowHcAYICtQLrAZcB8gHXAZQCbAHeAfIFxgLnAtIEhQHUAVcB2wFyAY4BgAHdAS0BxwPtAtsBcwKVA84DjQHxAVAB5gFZAl0C1gPvA+YFbwFuAb0B4AGmAb0B2wGaAfIGjAHxAc0BuAHsAfICywLTAb4C8gEvAcsB9AGOAdkD8AGtA9sDbQGNAqoD8gHRAXABkgHcAZAExwLqAdkB8gHlAdsD3QGbAekE7AHsAa0CdAHQAusC8QHkA+oC4AF5AdMC8ALbAdoB2gHzAWQB8wHhAp0CZwFgAbcG8gHdAbMCnAHTAWgBdwHvAdAB5wGWAdkB7AHlAewB9wHoASwByAScAWACWQFdAboD3AHwAYABewLmAtQB1gHLAZ8CagFxAecB8QGxAfMCsQHKBXcCqwPVAfYBTQLZAe0C8QHrAVEB5APLBKIB7wHWAcUCogGpAdMCvQHhAvABvgHhAmoB0AGoBLEB7QEnAu8BigLvAu4C3QLYA+ED2geOA6oD4wHNAtsDqQLZAsUB8AF/AtIB3AF+AtUB6AFwAZEB4AHeAYsBzwFyAfMB3QKmATEBvQFqAsUBcAHnBy4EoQF5AsADwgH3A+IBtQLAAW8BowHZAc0B3gG2AWIB1QK6Ae0B6wRoAegBrgLHAfIC3QGoAfIBkQGlAfACjgFcAuoC2wHfAdQCYQL3AvYB7AJmAV0B5Qq3AaABdAHKAtgB4gHwAcUBwwHxAdICwwHoAeMB3QGeAUoB2gHMAZgCVQHsAaoBkQHiBnACygHcAaYBuwGwBNoB0QHAAUYBagGCAfcB4AGVAj8BXQHpAewB4QHXAp8BzQF/Ae0B6QHlAc8B1QHkAXQB7gKjAcQB1ALqAeACuwGfAesCgAHiAfUB9gGuAdoC4wHoAeoBsQHjAeYBqQGNAXcCywFxAe8CZgLOAewBMAHeAlQCqgGoAbkCcAH2AWEBhwHHAcQJQgK1AdgCzwH1Aq4BsQHuAc4BVwPYAVsCrQGfAZwB+AGxAW4FiQFRAV0B9gLwAakB1wJyAfME6AFuAqwC3gHbBNUBvQHmAtcB2gHwAcwCtwLBBt8FvAG0AuECRgG4AeEBhAHeAfIBiwG2A50B2wHfAagB6QHSAVUCYQFlAb0BagFhAXMBzwHeAckByQLvAbABcgJmAu4C3gE+AeMCfQK8AdIEuAHuAtgB+ALSAdIBcAHOAd8D3gFdAZMB2gGwAaUBuwG9AekB9gHpAckBugHFAXQB1QGiAe4BsQHvAu0BjwLLAWwB0QHIAYgBYwHNA6QBSgFCAaYB4AFiAdwByAKmAfYB2wHsAcQByQGuAdEBwwGkAZUCiQHrAuIBtAGbAeQB5wHNAbYBlwHeAeYB1QODAeoBYgHGAtQBdQFkAh0CyQTfAfUC7QH2AtwB4QGtArkB2QGyAa4BdwL1ArMBXwPTAe4B8AHpAjcCugGjAcwBMwHxAe4B7wE1AdUBqgFSAfgBzQHDAbwB4wHNAZcB4ALaAU0DxAHyAfQC6gH1AnUBowJDA74DzAHaAfMBzAHMAd8B3QFcAcUB1AFqBjYBWgGfAb0BrwHjAZcCngH2AtgB6AGTAesBPgHSAaMBxALRAc4BhASdAd0B5QHfAd0BUgHxAcQB7QF0A8QB4gLsA1wBpAG/Ad4BfwGEAc8B8AO/AeMB4QHBAb4B4gNZAfQBnAHjAd8BwQHZAtIBowGrAcQB3gGwAX8C0QLdAuwBygHvAZ0B2ALiAuoBhQHGAW4BPgHzAeoB7gGRBogEvQKPAokCMgGjAZMBrwHhAfQB6gHfAcwC2QEmAdQB7gGvAbQB3QGcAfcBSgFwAfMBuwFEAcsB0wGXAcIB3wHNAasB2gHyBPMCmwLcAtIB3AHiAqYBgAHwBOkBnQHhAdkBNgH3AdwB4wHUAd0CwQHwAbcE8wG+BdwB2AHPAcsB5AHCBPcBzgHoAskB0wLFAssGtAGZAd8BhQGcAe0B8AO0AX0BtwL0AbEBfAHWAfABmAFZAfEB0wLRAe0E5wHgAeEB8QF9AVcBeAHPAdkBdQHgAegBqAHRAe8BKAGdBp0C0AHtAewDuwLTB84B5gHjAdwB7wFlAcMB5wLvAbQBnwLuAfMBwAHfAY8B8gHtAloB8wG5AfgBvwGfAbEByAHLAWoB9gK9AbEBiQLxAdUCywTpAfQD4wHMAqkDnwHWAe8B0QGrAdUBwgHzAaEBugFKAd4B2QHHAb4B1QiuAd8ByAHnAr8BzgHqASQBrgfUAcABugGkAbICxALjAfMB0gKOAd4BTQHlAdwB7gHgAagHygGuAeIBhAHPAoECxQLkAuoCtQHOAeoBxQLkAyECkgSQAb8BmwGVAeQB5QLsAokBwwG8AVUB3wHuAaUBswEtAdUBcwNHAr8BagOyAesC9QLoAeIB2gHkAe8B6wJSAdMB7QTWAe4BdwK7AfIB1wHcAfkB4ALlAZwB7gHAAZgB3gHtAewBeQHyAeYB3wHrAZ0B1wG7AZsB6gPeAdkBtAGgAegB2QKtAekBsgHWAZwB6wHrAvIFwgLvAaYB7QHuAYwBnAJ+AvMBtwGxAfIBywLJA9EBtgGiATwB5QH2AcwB9AHDAc8B1AHsAfABWgHbAe4B5AHZAe8B9AHwAUkBzgHNAdcB0AHxAdgB5wHsAc8BvwGkAdkB7wHgAacB5wHUArAC3AHwAekBxAHyAd0BzAHOAfcBzgHgAbABuwHiAssB2ARsAWAB4QHLAeYB8QHwAfYB7AHIA/MB8QFwAd4BvwHaAc0B7gHBASYBqgLwAX0BdgHQAaAB8AEyAfMB9QFdATMB6wHWAVsB2wG8AZMBiQF6AfEB7wHyA+gB5gHVAa0B8QHvAvAB8wPuAa8B6wHhAr0DvAH1AUQBhgHvAvYB4AFkAuMB3wHgAdUB6wH2AeYCpgHrAeQB6wHyAaEB5QIkAb4E5QHYAl8B4AEqAuIC6AGeAc8B5QH0AX0B9QHsAcsBjwFjAecB7QHgAuAC5wLVAdgBxQKsAfMCUQFxAccB4wGYAd4B1AGOAZgB5gO3AeoC6QHDA3cByAG1AfcBfQLoAecB9gH0AfICXAGkAdsBcQHwA+EB7gFtAfEB8AHtBNwB1wJHAUsJTAO8CGwBtgPRAtcCcAPVAkkBRQFnA+gE5wRGAvACQQFxAdYChwKuBdYB4QRQA+YFQwNqAfYDSQPbAd4CRgFKAcUEnQLSBE4HtwFJAecB1QPNAUgBqgTXAVICTAHiCKIB9wHZAz8B0gLjAuYC5QLuBfgD0wW0AuAC6AHZBXgCRAGfAkkDbwHoAuIHzAPpBNwC3ALOAeI","oQx1","qAuF","3wyq","mAOrvA2f","zwGnDJumA3OgA1uxAmoXnZYDvw/YBGwFzQ2gnQGl","0gyp","tAKs8gJPsgrLFew","0gpqF6o","iA+n","9wx78wTQ","sQd7","nQG+kwfl","9g+f","sQd7","pA53","BY8","mBLe","uAyUgAKE+AFj","sA63","sA7A","kg+c","wAXi","hAiq","ogPR","whBw","9Q0l","qAo8","1BBt","J7WtD3G6AuI","M94","M94","J4w","kg5o","wwXY","CYRljkZijwRw1wqpygFl","b1C3B/GPBiy8A9g","5gnG","ogzi","Br8CQgTgB28DrwPOAkUBugG9AtkBcANtAsIChwOYBUQBgwOLAY0FhQGNBLQBfgNuD7EFNgG1A80DkQEvB8YHRQEjDMMBPwFvBqsEtgHEAycEXgXpCa0CugJOBi0EWwHaAicBLgHiArgCWQEmAXkH6AItAdwBzAEnDboFgAGVAioCohGbBJ8FpQ/ID+wXxQPqBqEGMgKUAsAB6wHhAscC3AJzB6kFjAPNAbIDugXNAdIC0gHdAS4BlQLmCboCZQG+AasBxgLKC6wHwwHhAc0GOg3qAdcEPQnVAagBZQOECKwL4AJ5AikFagVqAagKqQZoAZUJdgHdBuEOvQLRBscP7xSCAXgQrwWKBLwB8gXbAa0N0QIlBpUE8AHiBK4CNQXnAVwDbwXKCSsHfg2SCN0ErgLdDqoDkQHsDVANqwTgIc0FsQelAqQHwQO7Ds0C0QjoA28BpgThBs8C8wWvBbISRBiuCIUFOA3fAzkB5RHtAmgF1wGrAccBngO+DzICpgkoA/AFKQGuAtcBKQJiAc0CtwHeAdQBuQLXBFoBRwHKB14EwwGcAUgF6AJIBqgCwwXnBqoGYQOgDsIPLwHkCV0B5gTDA+sJzwHXBNIBcAM1Ac4dtgSuAXwBoQKyC6YBdQOhASoImASsBasBuwO4AtIDLwHcCpYD6QiBAe8C5AmuBUIJuwGMAiwI0wXXBIsDsQUiDvICrQQ2BMsCHAnTAt4B4xbgAn4J7AvAAdMBvQLFAdwB3Q2WBZ4B6QIvA9sMnQLBAR0DSAJDBMEBwgxIBNIIPgM3AikGRQJJBMgERALQAoAIMBWdA90CTwQkAd4EIgGjA/ACRAGJAlMK7gbNCucGfAN+CTsHqgGpB6oEgxOFBbEEbQvgAeEJ1APZASgJywHkAeEFqgjLA9wBTgHDB+ABnAF9A/AB2APkAvEBhQO5AckC7g7oBMcFmQHEAr4CLwJxAx8Fkwg/A7EEuxjlDa0MPAKSAZsHcQhBAUAI1QHnAmUNxALFAs4F2ghpBC4DpQHDCs0F4AIlAYAFrQHUA4cBhQPoBOcB1gLQB+sCpxXsBGIC6QGlA+sF7QSYAu4C2QHqBNMJcgK+B4UDmAgyBOIJRAJ+A7EB2AImA+wDggSkAe8DowGhApYK2gXpAugB7wOAA9oJ2wPgB9QC4AawAtwDvhNSBaMN4wQnAigItwPnBbkBoATFAXAB1gGFAesDpAmlAUgjSQw5BHIK1iBuC60ORwNHBlAizQfEAkUIRBnY","4wsn","7QQo8AZ7","lBB9","3Qu8","2Q9x","FnU","xBCm","J74","1Aky","pAGX","GavACXh3sQ","xBCm","1Ae+","3QXL","iQKV","KLMKc68CqUi6BZ5NZlDAFJdFmBO8ScmmAsZd1EahX3jLAZdTsdEBcjScHVYWjm1qOZ4DdlS4L9w","3Q7N","2Q+igAG0","mgGl8wre6AEl","uAHO","9Q3J","jQzV","3Alx","+AV8YJI","ywvP","kQ2p","tAq+","hwhM","5AJq","QHw","sw9U","vg9Z","pxC2","1AfI","jQzX6AFB","9QPT","jQxm","kAHZEK4GfEyRigFFzwXj+QS9pwFuGqYM7BjjcrUBxw","5gPj","uwVq","lA/h","hgVb","ugFR","sAjbpAjc","uAyUgAKO+AFj","Ia68BbbvAtc","Ia4","zQG0","+Q91","3wde","ogOvrgwd","/gut","G78lqm9a/Qc25gIq","9wZwrwc0qgFb","gANE","+gqgqQJI","4gee6AF/","oQvX","mgp6","+AW5","1Adr","+AV8","lwHP","xASJowGKtgN9","mANz","pAOAhAHKmwHNvwW8JEgCtdsB23J4HZMOzw","ywt/","uQI2AXmuAc3pAfH4A3U","uQK8AXk","ugJp","tAzn","vgis","0gai","rQyU","6A9e","whBw","4Abd","1AutFIBmcQ","1AuD","Eks","nwWP","8g7T","gwNGhQiP","6A/i","+Qa+","3gKG","rwHyDHPeB+uBAUK1B3I","zxFy","mQmp","mQna","DUoCfgXfG0QC4EJKCH8KXxQ1FUhjSiJKKUg+TE2VTlAiPwtKC2QBPDJLASsD5Q6vNqYB8JcBnxOmAmkrIwhGBqAeSAFJGkcbthI8EUIETDa0J0BXaRY9CqZBSz1EC0UnYghMHEYGTQ9OGDYQngMgCEMPSQu+ED8srwVES1JCqQtGBEcSRwavHk4ORwFKCLYKRgFHN3oGM0WyBUcRSAquAc0CtBFOvQFp","gAef","ArkItAW2AdMEuQa5AbkFsQGxBrEDuQyzCdYCtwW0A7gDuQqzA7EBsgS5AbUDtQe3AbwEsQG1BbchsgG/BbgFsA+fBT8OuBC2ArgIoBFYObwPuQG5G7ULogK4B7cHvAS4BrEBtRS8AbQEvAG8BLwFtAy1AbwmtgK7CbQStQp4AXQBxQFzAXQLuAa8ArkCuAW4A7wBvAa4A384Pwa8ArQFuQHHAbksuAG2BrsGtQG5BCEKuAO5BrsMswXQLrwBvAG7A7wBuw+2ArsCvBC5BboBvAm9ELsBuxO8H7oOvAq5AbsNSAm5EbkduQS5ArwGvAa7A7wIvAQ7DrgHvAO8E7YDuQ+8QLwKvBG8B7kVtgi8A7wDvDK4B7wMuAPAA7sI8hm8BrwOuBy8BbsQzTu8BtwDvAmsCZ8EvCK8B1ADtw68BrkDthTjDbkGuAieE7gJuAG7A7sluA+8ArwRuQG5AbkFuQK5DrkNvBC1ArkLuA28BLwEvBUgA7wMdAS8AsIBvAS8CrwCvAG8A7wGvAS7E3QMngWoDLsMPxDtCrwJnAm5UNEFtgFyAdkBuBpxEC4Iuxa7A7wIvAa8Qrw","hAqD","owuk3QPO","owsm","owu3","cTxpSBk87gZ7+gHMrAFRhwGnI05wqasBpHCa","4Qh7","3hF3","MtwGxQ","tAKQDGqqAWTnAY66BJUQd/wCPwqfAU9gay1yDLanAUh0SxQ8","tAJ3DGqRA3a6BJUQd/wCPwp6YWstcg","yhE/","7QGd/A3F","4QSj","6w7n","pQFFmAGP9gKBjwG+CKdqNJQBm17rQs03gmwpkQFdpgFNCiIkSCOiKK3BAbQ/rhivDaA83x69Naw","pg91","kQR12QLPeqg","uxCuWEA","/Q3o","owPv7grpXUNx7w","3w+z","3w9K","3w/e","3w/V","3w9f","C+4BWQO/AvACqALPA8Ap4gPOAcAtSAFKB0YSOwXoBHwC9wTpCsEBRAP2CSMEagbOAUIRsQtLAqEEtAhMH9QBRgPJJe0Engq2Am4HwApODcgBSATUA58O4Q1EDbYF5gnYAqEEUAP3AVYEpQI8Ak0C7h/UIMoNkgHsBkcbogFWC6YMUAMtBtUF9CDSBUYLQwxLA98B0QnPHdAYlwToDsoE9RDaBr4LTgGMJksEfwOxHUwVrhvNB6oF+AXICMoRSwHWCUgCWg/yCE0RhANJB60ISAatG0oUkhw8A9AE1AF/FSAPnQJLAtUB4wa3G8ILPwxuCE4EQwG0BYEGvgJNENIFTQhLAkIB3AOsBUwFRgG0DZwKSg1GCMsBeQPQAtk/5QHuAo4E6wpxBG8NOwJEDuwH8gvnB1UCRQJQAkUM3QGWBVAEQwajAUoE3gpABEYBhAhJEEcBRgNHAUgBrwJ2DcECfwHUBJ0DpA/RB8YB6AGcA0gEQwaxFuoXswJMDFEPUQrEBucD9wZNA8kCagRUA08B9BRGAscDzyqmEEAJJwJgGqcIQgTQBPUBRgKtA0MHvAFRCroBTQVEGscDTgdFDK0DSwFfB0cEsgPdB0YCwgZBAr0DnwzaAcgB4QnUAkwRsQHKGOUO6QHxHE8FtwThHpxytXbiBL4","8Q/t","rwKxRHmJAds","QcnuAc9ExQ","swu4AZY","jwuj","8Q+p","qw+0AZ0","swuQ","lhCx","rwK2","pAyi","pAyi","qw6U","QY4","AEIFqQGLAY0BkQJQAVcDvgJRAU8CqAGmA80HTgJRAZEBTAFPAbECxwHJA5cBowLAAYUCeQKGBHsCiAFUBr0FtQS7AVgGaQFSBcQDfgLABKIFqwHBAsgEQQJFAUIBXQG+AjwFRgGjAckBawJMAkIDSQZDBHwBQgE7AWcBWQKwAc8BdQRCBGcDSgKkAc4BQwGEAkcBqwFEB5sBqQSvAscCvwGhAT8BqwGkA4cFSwqIB0cEngfLAawInQjIAtQBqgE8AdIBQgWWBM4BzALQAaID0wHiAUYKnAV/DMkBzwfRBs4JPwGpAZ0CSwKgAmIB0AGbBNIF1AFKAtMIyQWiAo4DwQSkBUoJeQE/Aj8BnwTQAaQRtgLQAs4BmQLSBUsBogGIBcUBUAGVAcYBSQU+B9ED0APMCMoB0wKdAZ0GkQfRBV4DpgGfBaABYAOPBaEGmwjVCEUByg7NA8sBywRHBc0EkwFKBCwEvAHPBqkHlAFRAVABPg6rAc4KRQhlAsgCSwG2B88KZBC1AksIuALQBeoJzQeZBEgBUwGaBXoIxwJLAaIBnQRAAs4ErgIwAVIBcAHLAaMFzgzNA88B0g2pAswKzwhFDNACzQh2CMsDtwTSCT8BzAG7BMwCzgrQDuIJmgXPAU4CVArMCp8I0APHBNADPwONC24EowMyAZYBmwOiC0UChgbNApkDSwTKA8cGrgFoBMgDTwtIAbMFxQWZBB4EqwHIC80DQwVIAaEKtwvGAzoEbQHRC6ADowJEAZsB0QSbAcsGPALNCIIHQgVEA9IGzAqoAUsEnAmeA0MDKgHCBMgGxQGsA0wBLgWqCEgEzwe3AZ0DRgVSBEADlQKGAZ4BzAHGAqUCowS8AU0CywnKAdEB0ALCAlEJSATNBKwFoQO7ArcQQgLGAssCpAFEBaMDpgbPAqIIdwOwBKEBQglFAU0EPwFOA1IDkwPZAs0I0AZ5B58CzQHgAuMBRgeaA0kDoQPODJ0CSwXKAsEDzgNEBM8LogK1A0ICQwFFCkQBUQZEBKUCSAbFAb8ExAqZBasCSgGjAbkBUAZIAU8BQgdGA1EErwnFA0wD0QNHBk4CqgOIBcUBiQVCBpMKRQPACLcBRwFJA5sESAJvAkMBvgFJAUsDlwZrBkYBRAHKAUcBRwJNAbEBRwdxCdUG0wNNAkwDSAa6A1ECRwK9AUkCUwFSAZUDbwKOA8QCvgTGCM4BTgc8A1EBtQJDA6oBRgFFAUQKSQOWBEYCRgaqAtIPjQFEBt8DRQjZAlIDvgOwAlAEYAjIBUQJrAKiAX8ExAJqC54FpAKxAYEFzwHDCbADcgIhAqgFvwNIBDUFTQFFBqkGpgvIAd4GpARJAkwDRgZ/A0oBtAVJAW4CQgKdAkgBSAI7AUgCsgGoBagERgFAA6cCvAFCAUEDngJGBTwBygJRBMABygNDAW8DRwdFBGYBQAE7A0ECQAOvAUcJoANzAbgDmwZAB50FvAq2AYUUsgLGA0cBSAFNAaMCmAc3BNoBsgJLBEMBRAOhAkoCzAFEBJkGqgeMAkACSAFFAUYD0gGXAXEElwMzAkYBSAF0C603PQS6A5EguR+iArA0Rg","hwhKTzs","FEBFwRhcBV81zgRaKX9AqAHxdNo6ph2hO99m9NMBTkTN0QFcJpMEtYkFWkOksAJnCHIH9AHwXEk","hQXq","mQLq","mQKh","wQg00gUn","nAdv","vQzE","SX9cLQhnLHEOYUSNEm9ilAYrC58GfDlsO208lxemF6UMbguUC01Frk15F8kiUTOYAm0SmQHEMmECbB1yD5sJRQVrCE0Cmz5nErIgTwJPHKQBbSl8F8USOFGbGHBziAxRDqhOUzcyClIbTQLNNl8Kki97nQGohQE7IUkHlQU5EIcprShlFUgLTg","Nnc5QyNHHmknOR67P6qKAWEoqs4BfgWiwAGFZpNmbxJLFiomfAhXCEoHoU+7EHUOHgxQFZ1kqQxIH3kBrAFPNZoiSx5oIYQMrAFoFKQPfxyOAzIPZBqfELgOeB14DloVegQhCncDViJFcUcepRNuA24HaxWZAXUadA5g","9QFh","tQJg","5grcP+aUBE4","uQ+f","kAEo","Bl4CUQ/dCkgCtwOIAjQZZgW6EG4IUAGsAdwI0AWiBuUITANDAc0EjAaYApoBOwqgCywBVgEuAi0BKQcuBK4PZwIzAdYBTgO4BWwCMguwAaIBqxtCBEEYnRrTAX0HqgScBUsCsAKlCn8IogGxAlQGjgG9AVIDSgFDEbsDXgreBMUVTgGuAdEIKwOfAX4BcQSKClEKdAiRBtcHNBI4A+sDRhbDGnUDKgOJBJ4RaAcwBbgDdAQxDcwJdgV6ArwLmQyiAeYBRwPcHC8DowbTCl8g2ht2CqwDlCKpAtAKaRqhBE0RRQujCZ4FzwbZBdAXlwrWBJcBpgMkAtoYogG0CjMKmQPdBK0BtQKkA20B5QHjAZwISBiGCMEJcB8xCpoJ6wVeBpIFmQElAcgCgwe9D+cKrAauBW4LWQxiAlcD4wOYBIgBOQTXBagFuQzrBs8MwgJQAoMDkgLEBcoC1wnPAWsCwgeLCaYBbgbACUgBpwIwBCMBTAp0BJUHJwNMASsBKAFfBHsPyAWpEKsD3wHAA0gWRAhuA8EBRwKwASYFiwHOA4IBxQVMDtoR3QExAXMBIQFoBJ4BrgGmB5cCWQOkBI4IxQonBqcCuwJTA6ADuwFqB70COwSkAokBsgOjBWoCsAGjAyoDLQekA4QCdQiCAkMCnwE/DG8FLwFQAnQFqxnEAicD1AmkBGICqgOVB0IMfgolAuECtgOLA+ECqQOzJq0DIgZgA0UBsRGqDIQFYgWBAyAG+gogBTgBggV0Bh8D2QOkBawCogKxBDkEsQasArEEsAHGBKoNTAHtBpkDdgF9BaUBPgVGAc8HQwExBMgCyAG4CKoDOQuvBm4ErQN/DEsBngRJAXMDvgIuAjYOMwNbAWACXgRoAXkEmgFwBX8ClSCwDrEGMQElAkEDLgl5BkMBNgIiOkY8sAFLCpscSAxQC9QGPw2qGtkJSQ","c9+sBZg","ng2l","kg+F","6gNvqAuF","8Qjh","xAnd","8QbP","4ArGAcA","6gPq","pQd5H9V9YZ0BKEC0AbABsQGz4QHKais","kAKgugKoBtyRBK4NoyaYbjCvBKQ8pg","xgGl","sg6k","BUEDQg46CE4DfwlhQHYDXAVCBakDJQOcAZ0JPgUyCEACXwtDBh8CiQRnCKQHQAVUAx4NRwO/Ac0EcQKDEkwGRwOCBFs1mQ5LA1ADUhBEDDkCQzy/CUIBngHIDZ8zcBMgLcEIXQaZB5gEcAalAaYPZAbcC2wLdRVkHD0BqQSpKsAVNREnF0MKYwOcJk4LQwSJJXouJAy3C0oFYgNDBM0CfhGGAzgp1h5GFMQNlwHBG7oolxCZBSUDNgNyCYYBRQShBGUVnAhLAoQQUCstObkUSQpJA0kNXAGbCYoHJgGoAj8CcguJDW4CzgrfB6UXxgTABWcWmxS0A7EIWAElAyoLUwTFBLcC5hGwBEgKLAEoAUkcuQFICqIFQgKqBGQEQxa/E8UESQJjBj4LLRdFEDMGRwInEjkBQQJACIAGIBEfCSsFggFrDtUHRQSDDjICMwJSC6IFogFrD18HawGpAZgNPgbIAkIBmxrND0EBPgNiAkEBJAI5AtYLQRxTAksC4gegEoYEKQxtAp8CkgW2AV8HwgFpBSsFvSBHV6M","sgFdgQGrDiibB7QowgdeDB5Gmwt/EFwBKZkBaw1DwwOsM2Q/RQ6+D0E","nAzl","nAzI","nAy0","BJMdiwNNEGUJYwVKBEoHZQmmCXcDVAF6BaQFiAptA0YCwQFlA0UGmgE+BIoDUgKmAzcBTQXJBJUGngJFAqIFRwGGB30IQQtJBUIITwGfAmkBmgKiElYBVAlXBJ4GuQdcLkADjQJCAYAFmganClIDdwamAaYCSQFECEQhpAVOAlQLggKuArUBTQR8AUgESQKrAUMZSQuaCkIDwQSpAacHrwE/FVgGiiVpBbQHcAF4Aq4CqQJRCnALyghIBKQEWQKjB0sFTwFJBW4sSwJsAlkBmg6fAV8BZQujAasCpASdDUYfZwZOA5QfYwWYAj4ESwFRA6UNYRxfGkYHYARVHEwDQQZ3ArQLtwhFD1MBKgGeAksGWAZYA54BmQdDAWQGSAFOAowFgANUAVkGhRNHLEIEawbIA58HPgJ2AZsjrwGWAyoOSwJlAZYPnQKDAVAGsQJ4BlIBwwWmAVIBxgJ7A0sBngJ3BVEBrA9NCW0BWAN1AkUBTAKgA0IBfQFGAVIHUAZ1BoMBkwIqBF4CmwFKBnYHSwE+ErIBUAZ4AXQFTAMvA5MLdxCZA7EFVAMoAW8DSQSzA8sJqwJHAT0CdQpHBsgEoAZVATcBQARHAaMBzgRJAloCvgM4AkcGSAJVC3UFqQRUASEJSgNUAnUBUwKjAUYFUAKtArwCQgVxDGEBpwJUBJsCpQJABL8HdRh3B08FgANNBEoFrANLCqgHtgJOC6wGUAtLA34JRQGoAaQBTQVCA1ICcwGaEFABUwNSAVsHvASfAnkEQwF2AqgIhAOmBUkLlgyuATIMUAF7C7UDeQFqBmEIQQFQB4ECnQFBAVwCZQtBBFYBWhGoAT8BSwWUBHIBWgJSA0YBSgObAUYBWAGcBEsDugFXAaIBlwNQC1oDowJCCsEDuwFJAaoBWgJXBGYGSgGSA1YBpgNIAacBrQKmBEcDfAJKBLQBbAN9AZwDkwJMAnwBSwGiCUIBswcmBEcCSQGXAkcBkwFLAakBsAhFAU8CXQRFAVoDIgRsEXQXbQdEAZ4OngHECLYBtQlHAnILWQFQCbYFeAZXDmACdnOmGKk8yQ","uQXY","owOc","9gL5Afr5AfQC63DyBOuZBPqKA6V05sUBbEzs","9gJeAVM","/Q0Z","9gKZAbI","9gKsAdE","9gKZAbD7AcBwvAS8mQS/jwat","9gLO","/wnU","/wnM","8ATD","wg8c","7QH1kgzs","AJQCfgKTAlAB2AHJAdUFjQKBAksBMwFABJMFewKLAdsCbAFlATwBcgK1A54DbQGFAasBSwGWAVcBxAGNAWIBQAM+B0IBjgJNBlYCZQOWAkEBowSeAY4FuwKjAc8E0QG1BU0BzAOLAbQCOgLCAsgCkgK9AYIDdQLIAaICRQR/AikB1QSLAXkEQQNwAb0BowGAAaIBgQHVAaUBrQK4AoQHKQG6Ar8BsAFOAtMDdQHRAaACkAGTAb8DSwFgCIUEpgFnArcD4wHRA84DzAHbAbMBvAKvAUoBbQG9AqwFxwSsAasFWwe3AsMFfgLKA8kIuwecA1EGswO6BLQFrwxCBEQBSwG2A0wBtgGBBa8BUgN7A6wHngaUAWcClwFpBpEBUgMxA5cHoQG8AbICpgHfA7cBtQI3Cq0GZQW2ArsBhwPJAcEDtQNrATsBogi2A3wIaANmC5oCyAF9DLMEUQPSA7sB8QF/A4kBxwGyDTAC0QGrA7cNTQWdA5cKYAaaAbIGYQNGAaADsAd4BL8EwQY7AlEGowKtAXMBqgKrCm0B4AglBM4FrgGdBmkDwwOXAXkDkAKfDMACnwKQAXYChwWeAWACeRKdAboBxgG1Ab8BnAK0A5wE1AJjA58EkgKQBGMCLwfUAbsMhxKfAooBTwajAU4CsQeXA8gDpAVtApUBqgGzAn4KvwZdA4ADfgOVAzQE6A2AAmkBeAK4CHECrAJoB54KfgHFDNsCoAO8BJgFSgSAAb4BUgdzBJ8ItQLVCGgGmgHCBL4GwgXcBUcDXgGkCj8BIwFJAXkCgwOYAn8B2AE7A7IEawGKAZkCWgFJA6ABXgFkAq4BjwJbAX0ByQFaAV8DswHTA54C0AHEAnADVAPAA5kGxwHPA68OsAGuBrgB0AODA5ABbQOlA0gBxAFKAmsEsgOdAnkDxALoBpEBjQFuAdkBsQIyAY4BpgLIA7kGyQSVCHQBzQHLAk0J0AHSAUkBSQKvAawDoQKlBZkDTwKoAVcBkwGXAjMDmwRmA+YCnQOLA4ICfQG7AacBbAG8AqADfAGqAVABqwGIA6UC3wFLAtAGcgGoApsJpgijAZIBTQFzAsACtwG0BI4BpAKDAp4BoAFUBVwBuwOrAZcFZAFsAZcD4APTAa4DdgFfA4oBjgF6ATIBsgEcBl8CZALSBLwEUQJWAmwBtQGSArsBowG4AV4BUALNBL0BQAFuA7QHWgKXB1YByQGCEFQBmwLeAlgGRQGFA9MCcwNJAkkEqgKWAUsBpgN5AXYBrAXKAagBoASzAakBoQdwAYYDXQG7AZwEtQNHAVIBlAG1AZUBmwGxBcsBkgGwAVsHWAOOAU0BwwIuAsoFxAFrAU0CjwOJB0gBRwJ5BacDogabAaECWgJRAyQBnwJXAZ4FpgLIApsDngFYBI0CPQHJAaIBMQGEAcQCPwHbB3UFQgHMApkBaQOPAV8BWgKhBCoByAJLAZEGqwNHAk0HQgFKBG8BoQHLAXcBZwHNAVUEgwFUAoIDwgGTAc4DSATbAbIBkwG0AW0CtgJQDXkCrAG7AWoBhQKXAT8EjgZuAU0DNwMsBlABcQFqAeQBjAFhAc8FUgNxBlIBwwmPAbUByAKsArwBlgGtAU0BTgFICJUBUgFNAWQEpwJHBcQDqwGlCEsCpAJNAZQMdQTCAncBxQZOBqUCRgp4AVABkQHmBbQCeAG9AUABQwFzAaQCmwLJAdEDlAPAAZcBaQHCAWICpwFVA6ICTgKjAmkBpQGYAnoBjAGYAYgBgwOvAagDXwFNAZ4ClgJaAkoFwQFCAk0COAGHAVQCgQKdAjEDTgmFAnYBwAFyAWMEZgHHAZkJdQHwAuEBTQGeAU8BSAHWAbIB0QOhBZcCogK3AVcCrQGJAZQBOwHUA0cBbQFpAXcDSAGtAlABUgHPBFcBpgFHA5cBygK5Bb8B3AXBAYABdwHFAa0FYwGwAmgB1gHNAWcDggLDAbIDdAJ7AUcCYgF2AUUFqwHFAX8G3gV/B6cDvAHSAsIDiQKuAZYHzQG/A0YEXQSWCRsBoQJSAosDPwGXAb8CWQFzAW8BawIrAbkCUQHEAXwCRwJPAlcKtgNLCnUBSwGHAtoBewGaAaICdgGdAYoH0gOSAcIBpQHKAbEGvQLrBG8H1wPbBEQJRAO+BMEEYAdIBMIHowLlAj0GvgRCAq0CownEBOMBwwM4Bk4GaQKmFucGPwLUB9cZuwnsAm4EugHMAcIL4wOf","7QHW","7QGz","1g/e","nwGYmwE+TGe5BEskSAdJBUiQAUIeRjJEnAEo2gEvG00HjkxQ0wFINjpBUpABtQs9N4g","NlEGxQF3GR4NYgx5FqwB4j5dD2cirBfgzgHTA2gtnlCtF+UL4BvxMuAmd60B6hTEUc+VApsG0k/eGLoB0C7VGK0OfRe2Qt8k2hjGSsMOsDFiAh4YWAWAC2gwtAHUKmcihh0wAuIByAFZBBwBaQmlBFsJbAi/vgHPIz4j6g","2gStPeg","nQ9k","yQ/z","yQ9t","yQ9H","AH8CSQK2ArQBqgd9BnsEygGrBZwBXAZUAr4BqQOjAq8BzgGpBN4BowK1BcEF1QSIAcABcgROA8ACygGzBd4BmgG/AZ8CzwPBArUCQAHMAaIFPgRFA5gCyQFIAcoCQwJHA7kEMwFIAdsJoQLMAZkBwAK0AY0CrAFHAUABswGgA0MB6wKZAdsCzwPHAqIBRQLJA78DkgGpAooC4QS3ArgDmgGYAUIBaAOgAasK4wJ/BWcEigG7AcUCwAtxB50FyAGoB70GgA7QCMwDSBTRBp4DoAKnAmQBrgKtAZMFpw49AqIB2AasAuYBtgG/AUgC0ALJEZ0DYAVFBL0LkQGRAbkFSwZBAkwBygHCBqABPwHuAVYBSQjMDbsD2AGfCG4BrAW+AU8JaAGQAnsDzAnBApkCqw3SAa0D5AH3FdAM0AjOD7sBUAG1AYQB4AVaAdQBxwHTBLMK1AGjA1gJpAWyAuEGlAKiA9EB3QLAA5kMzSGKATsBoQHbAcUCsAxNB0AGyRJIAe0BjxWmB6MDUAa+AUkCbgPPA8IEyg2dAscGuANKAsoCpghuGnUCwhbMDbUGrQVKAbUDRgLSAU0J2AW4DbcBtgGPBUQBwgiWAsIKRwjfA6YEwAHCA7cDpQijAdUBWQZtBEYBtQLLAdsCywLJArQDZQS9AdMBQQHFBNAGywHeCqIYZQqvAYoNswOxDs8FygdyASgE4whLA9ABSwRHBp4BQgRSAZcKqAOhB9MExAfBAqMH2ANuBU4BgwK8AdkDogKiAasEuAK5BbAByQPNDVEExwOkBZwCvQPEAawBfwG/AboBPAKqBMAB3gFLB4YGdAKJBawF3APBB8AB1gGjBtcByAHPBZoBggGaAr0BbQPYA6UBTQSoB0QBjALyAcEEqwGdAoIGXQpMCJwHSQLMAlQEzgTIA6UErg6+B9AFoAOiBfABsQHKAegByALvAdoFuQjpAeQCUAJtAZsFxwxQAUcBnwJDAbAKrAGbA0oBSAPlAp8B3gJzA7wBxAN4B8oNygNsAcQCtgHlCMUERwLSAU4IoQXOAoUIqQGpAtYCkAacA64CyQHqAXYBhAGtCLkBjQKhAUUBQQS+AUcBcQKxAbAGzQKsBqIJ0wGeAacCTAGfAUoGywGsAZwCkAFNAUcDsQepA9sBswKxBsoLwwPQAacBqQGeAZMC3gJhAmoBjALHAcoBSwhJAUoFtgGbAawISQJFAkwKgQGuAZ4Bqwm/AsgIrALNArkEog54AbAFmQK0AcABwgGIAnsBPgGkDJcCyQGiA5QBnAm9AakFQwRDAloCogRGAn8CPAFIAdACggKIA6MBegGFAcQBRAFNArIB0QGbAaoBvwGpCZsSwwGgAekBlAHNAc4BwgGwAawBKQHCBuYDwwKqAc8BcQLbAasCSAFIAsgBkQHSAbAHnAHGAakBRgGcA6cBcwKNAdcBqAFuCDwB5AGTBNUDyQKlBUkDQwHPBq0BqAPCAaQCQAJHAUABoQGVAq0BwALFAb8BtQPBA8YCswK/A78BxQqYAu8BzgK+B6sI2QhyBW4BRQJPAkcF0ATgAeIDGAuoApkDowHJA3YBvwJDBdABRQS1AaQBpwS9AZ4GzAiqBLQCuxLeCpsN8wE5UtYKohxREUc","igmn","gRHt","uATL","rgzm","uA5C","/APs","mgGS","8AxH","gwfK","qgG5xAOU","qgFF","dZc","1wm7","0Au+","0Au3","qg/V","WmwxmhxsjgGbiQGnKKGBAqn+AUrTAaB3kyeaPakBSD9IQqhkczmb0wFtBKiBAag","F81nnQ1tBSgLMyYvMp5DOA2bECcwbgigPJsTNt8BORo2xAGmLaQMnhwyCCwxo2ydGJUCogcqHaQBMgmgBDMBoQGfBysPxgcoAxwDphhCezcoogpECywGpRuhRjQOpVcfFW5flwGiB5kVcgWQCDsDNQlxLTEBNw4iBKcCOQa1DygGKggmETsSmScmAicUTARNASUUKgTFFacEYg","4QF8","M74","M3Y","0gdr","6QTJ","6QTJ","QY4VhAejNbITLR29G9EYjFErBaYUcAK6ZrGKAqsCfhDTAp8DhUGxFYcuwiSjCskUYAGZB6sKgE6IPXA1fgWEFXYFoAySJV4sKA19InU3zUW0a3YepELED1pByj5BBKQBvDnHRE8srROHA3sBUA7RI6MkqR+BEEwDnWHDETkj5h9GA9cL0xbK","kAej","wg3K","qwlm","jgiInwnD","4RHS","0w9a","3QGR","XaPHEco","3QHD","4RHS","gQ1a","wgG9","yRBM","4wXTAp8","zBBx","zBBx","9Qq/Ab4","EUkKYQuIAdBUsAnJBcIHKDChEkQl1yvlMi0PlhitE9Za3xHPHboG6hBlG8Zk1AGrAdEC2ALdENon5jJUHGEQ0wjEGagIbTxjA2BYxBbuDSYTmQ8+BiABrBbcBUgs0Qw0B54DcR6/CJcEhivXEZcI7wjxA+4BuA7vL4gTYgXNDc4G4Qq1D+kIrhprArg9XwdrIao3zxM4AUMB8QHXAfAZ2jxPFpw1RBWWDS8OYAUqL+EBzAmcBLMMpRLrDSMB3QaLGMACswtlMpcQJytEAYINTAjDN+0BaxR1QuI","6AMw","6APa","6ANw","WH4","8wrbAaSRB9Q","qAyc","FM8d6vME4Q","/g64","hQyslwG6EDEfzRilIGUQmgfJDLgEvw","rAnx","rAne","vgHt0Ane","zQJKoAI+3wo5","hQwt","Tdg","TVA","TcU","xwGrgAbOPYDIAdJOibgB9jPxZ50CwS7KELsftRjzMOoHZAyuBKU","6AOJ","khCy","vgGh","vgGw","+Q96Mco","4gd43Aam","Hi1VdYABYgJhXif8AaMOMAuUBknUAk8FpRhoJS1NhIMDJGhICizwApsTbUdI","1QjH","FGsXoxWKbkjjAtCuAUFqgcMBsiS5Oikfbc8BM5cBvme3vgKEpAGHAYA","cdA","ccY","AsMBfxucBrEOuRCCAZ0IdgjVA6oMqQFiB5QCRQM/BY4BQwGZBKAFrAGmB58HhQG0A0cDswFfAqEDnwHLCKICowZHA58ElAFxAUYDmwGrAqcGoAOaDqMHoQF7E50IYQGqBJYcmROcBpkGmwWfAZ0EewJiDJwNnwOtAUgVRAOtAWAJRBSgCHkBoQLIA0gExwGeGXQBnQylAXgJpgaeArIB3AGPB5kFsg6bAakGnhifA5sKRw2yB9AEdAhEGZ4FYwiJAZAFmSymBagFqgqpCmgEMAE7Aa8DRSlhI8sPpgSbAaIFOQanEqEFzQYnH3IBnwWxBJwXiAdIAa0GnwKnFpgLogilB6ACngIqAbUBbwJaBrUDtg6eBJ4JMAnMAbUCmAEtDM4ShAHADaMKyAhCApEQHielAaEBIQGuBDMMPwZHBkYHfgHIA0MDbgObBKMCjROmAacCcwJ3BZ0FQgShBZQBngw9CqIFmwa0AoYBwgabAaMImRBFAaUFzwOMC5YWqQisBKYDzgcqBKUBpQajEZYGngGgAZwBsAekAXIFmQRtAaUBmQG1BXoCmgOlBFkVngKmAkwBpgZtAaMBSgFiCW8BngajBrAISgRpAqUBrwOBDnwBfgtFDLEUnwOfDJoBqwGjAq0BjR19BKYBngqbAbMDpgGfBacBZAGaD5gKnwJyAaQDSQSfA6oBsQmqAcMDSxPKFLEBnxRvAqQSaQFgB70BOQKXEZsIngKmDKQCUQSdAZUBmwWmBrABKgNxAW4K0AZxBMUOxgqhAaoImgFnA2sBqQFuATsBwgJHAqgJnAebAagEnwTDAWgLpQFvA6AGTgGqBagFowUlA3oBogyEBpoDege8EGsMyQZmCKkCmAa0BWsCKAihCqYJZwKnBZ4BvgGfAmoInASgAaYBqCREG0N2Rw","7QpL","3QMb","3QMb","Ndk","pANpsQd0mgKfcLH3AfY0MQ","TYY","TYY","tQyf","9g/r","2hCY","hQyV","LGcOcgpeAVkJUwVcAVpkKE1YhwGtZfBUxwHUXz5av6YBpB3IuwHHVeApjhg9H+SKAkge06IB3zskGOIdZp8BRRXYCq4JSwt2B3Up5wHMBOMX6gPnAe5gfw","8QOxgg3l","oBDY","X/DpCdqWAlo","HHOgB0rEAUzPA1BeSA","oA5I","3gxa","AZgCUwZOCE8EzQftAk4FwwvcAq0HVgLgAcwBwgdiAawBwAGSAtkGzAvPBMMDlgk+AUoBQQNCBkoBoAFDAaYFhQRICD4BgwG9AzsD6ATDAmIO5gFHAUUEQgNHAUMETwRGBakKPAGKAkoB9AY9B6IGQAvCDHMEzgSvF0okOwvCA0QKcwbBA9EJvQuvCUQBqAI/CkQcTAZIB2QVPAmmB08G4AZDKEclRwFIDj4Kuh1FC3EijRohAdoETAl3IesU0AhFCkkkkAJLAj4V6Q2uMEoERiWnCdoCSBXcBcIDQwRGAkYNRwRGB0giSgJBH0YCRA+rE6wkQhFRAtcGvBFHC04MRwGnG0YGpwetA0UBvAtLDHIJwwGyFasGyQLTA6cHpSezDLUHkAHhGkcNRwFHAUQBewKxBEIBuwFDA3MGQAxQAkUOfwRQAUcBRwKsA08LSQRCA28CsgHfA7EBUQZyCaEbRwyrBqgBsAd5BUkDtAa2Bq0HpQVFCKICuAj0Bq8NTAJyAXAIbwJNCnsCUQOsCswQUQRDA6gCRAG6AaMKogSHAUYBqgi2A5YBTBZtAUwJUgfWBUcSugNBAUgPSRC7AdUErwrfAUcHtALAAb0CbgTNBE0EqQFEBaoJTxCvBkUC1QG0DEsGSAe6Bs4DRgR0AbAE0xlJArgDfAaoB3ICQAFHAzkBRyxCB0cBmATjBbIB1Au0DkcFvwG3AUICQQNjA5kB7gVFBaQ","3gpk","1APg","tgirqAJk","jwGk","hRCt","3gpk","tBBZ","yAHNLmm+Dp4","HHOgB0rEAUzPA1BeSA","jwF5","jwGk","yAG7","kBBI","DMCaASntBM2/AoIgSA","wQIogg5i","EFEBSQq/CdoEqSGqEHEbfCCtD0UdQhJuA58RKw8kPXQDYAGrEHAeOQfMHskCZwnBJacByy4wAp8CsBerDKAM4xJFEZcIthGdKmomtCmxBqoU3QbTC64enBhyHaQKoDyxA4kB6AjOAbAGcw1qIc0fWgixFskJsAl6Ca4PWgVhK3gPrBOjE7MdSgE0CE0B0waxFNcDIhnQCJQJWQFWBNsDewetHV4XtxCEBcEJswKxAqAStgWoBZ8KcxljDycUbxTCCFEEXBewESgHmwGiAbIGnwEvAZ9C2xG4AbwI0wQtHEkcvjGbE90fZAUvAqQNdAtuBNANogRlF5AHog49CZwQ2AuzDagBYBm3GNMLcRMqEy4DrwbQCHETMAN1Dq8ZyQOeBsEYTAWHBbYKRxRFJJYeQwI/Gbs","/wRh9QnF/QFBUr0","gRDX","/wRi6gan6wR2","kA/Q","kA9y","+gcw","wguk","zgFm","wgt5","ohHx","6gIx","X2I","X2I","X4A","X44","X2I","X2I","X9Q","yAra","ADABMQPMAakOwwHcAVYBtQHXAVUBowF/AqcBKgJLAjUBPgHDAakCiAFZAtMBMAF+A3gC7QHfA5YCQAHWAt4BmgGQAYABRAFwAbUCZgGhAcYBqQGJAZoCuwFAAmQD9gF6AYIBwQHPBDYBZgM+ArsCRAF3Ad4CmgEfAXkF4QE1AkUBoAL4AsoFfQLlAW0CYwHLA2gBMgdjAkkCewHCA5YBhgOKAyYCQwIqBXsBagFDAsoCVwFsAUAE0gGmAkQBWgWiAUIBXAUtBScDOgOwAc0BywKmBpkCiQMqAXsBKwF7AbABKAEoAXEDPghLBlQInAFrAdYC2gS3E9wBURg6BpkGpgw+AjEKMQTDBZ8JogOuAsEBKwUxCUQC6AdFDfIbggG2AcMDPgK8AZoUSAKRBioFYAFRCp8FGwHGAYAIqwGJAm8EMBVHJJ4BSAuTAykCUQdJCKUQggldDU8BSRbZHJ0BKwQ+AVEMcAKhBeQGQQNbAZMDbSEqAU8HISGcESYBYgSiAYkgdwe3BGwPnAtHAn8JnAw5ElQBWgcvAbIBrQOxAdAClgKdArYIRw5lAcYBSwbgAaYHQQVJA20FNwM8AogClgJKB6EDXwpKLEYSlQqJJW0IoxKkC9MGrwZgCJUCsAFSApYERgNJBS0EvQNlEFUBywFTAU0MOgNXAroBcQFjB5oIhwWlAUkHTgKsAUoCsgTJB3UCYwJ5AXEINQMjBEcLYwFMKVQExhKuBD0WuARHAYMCwQFRBGkDbwPJCY4FpARHAUUBihIhAYcCLwOqBlQCcANJAUYBgANLAUQBSwNMBFEEOwutA1QFWATyEkAIrAFMBkUHKwOeBkkKZQSoBzUBhgNEBy8CbwFJB7UTJwtHAqkBOQRcBlAM3QRQBS0LtAEoAaYDkwM0CewBUgFzB0cJmBgrCj0HwgFQBNMBzQpxB6gDkwF2AUMBKg6sAokBrAJVAUoDYgFYBo0DzQG9AUMBtQRhAd0DTQFaAVIGewJ9A0YCdgJLAaoEUhGPAXoBSgGiCh4DLQJFAe8GKQFbBlsDhwJfBzkCOwHmATAIQwGnA4UGpwOvBHwFaAfDAewBJgNZCHAChwTRAbEDMgEiAnsBMwNHASQPQQHeCLsXRhF4AWwCTAWjAuICSxC4BZoCxwOFBPEFjAS8AXgGXBGahAGW","hQ9c","BWgSqA+yN5G0AVa2Ai57mcQDPkoyrQSkiAFGKII","BYISqA+KN5G0ATS2Ai57rcQDPkpUrQS4iAFGKEI","hQ9cKFc","rQ8m","xwt5","lBB9","Tt8qdg","iwnToQXJ","Tqs","Tqs","iQPylgStA7EB0A","TlM","uQXH","E7o7gesErbAJ6RyrQ9Qauw","uQWt","6Q7LHMc","qwE3","iwHxIFaADOuNAnAQQA","qwFf","hQ8o","hQ/B","pA50","b77WCKPTBaE","Tqs","yAm+","3Qlj","qwGT","b6U","mA+n","qwGt","ApYMOQ2eB+AD3gPoAuMB7QLnBtogUAO6COIEKQawCzUHygLgA9cBMgW8CikKNQdqAdULJwTNAdEIywltAeAJsgLUA/UBzyQsRK0D7QPAAdMCMQ7QBcIDyQPqAekE2wJvAb0BKwXoDc4i6gHbAu0JKwHKA8MC4RPcCsoP6wHQBdcBxQjEAdMBvwLdA9kBxQ7UBuABwzDzAd8M5AHTA9cL3RDPAtYNXDHNB88DNhfoAckCkgPJIdES2inDIZEpJAs1IK0QNZoBNCwqAZERsxU3DloN4ggrL4AWhxkwAh5HLAYdB90d1R3XHUMH0gt1KLUTJQfWB6QbcAS8BlYBjCGUAXIR6QaWIq8BrAM0M4wY2QtyBRkR6AKbAYkGwwkgAa8G1xGEBiwFLzvBBiIEfAY3AsoKMx42DjMwpQGwEzEBrQ4nG54JJAFsBDA","qw+1AeY","EqMRowGQAseAAaMrn5ABqqIBbzBwLZ4TQw5HI5odl2WiRkf/AZ4mP9wBqqIBRVOeEOIqmZQBRwycJ6QJnX6/","nAe9","BJkDxAWiBDkGOgR/AyoCcAPQA50BsQHZD3EErAZiCJQGSQNYBuQGowazDmgLqhCLBMQCUAdxASoDjwKgBHAHngGXA7MCwwNABtMC6QG3Aa0CoAKoHmMHvgHtBTcFpSU+IswGkw/TA9YEhwWfAa0H1ATJBaQG5AzPAeQI5wK1C1kHThIvEOECWgF9CrAFmgGuAvIDTwXIBN8Bk1COFEwGLgOoAt0M1gmGCNMFPAOxEDgGxQTTEcsDvwLCCuwC1hNyCeop2jCmBKIoRAO2Ab4L7wHIEHUSxAJlATkFugTjBWcEaQfIAm4BXgGjA2cBsgm6A9oJ2QLKBEsIdQJOBk4FxAteBrUBbALkAkkEvAYsBcMBuweCBcUMYQKoCc4CngHaEKoCtQ6KAWEErgImESUDvgORD8YRwwF3ApQC6QW3DJwPpAE6AugESQa/AlQO3BScCbsIIgd/AYsBqQGsBEIIRAiGB5wJ4Q+XCo8C3Q6RAs0E0wm7CnAGrR5iBcwUgQetApYpkAKLBGsBMQIqCmsGoxDUA6AB3AngAcQC0AHIA78IvwjvAn8JRBHEAkkKTgFtCUcDLAumB90HpgTTFKYDtwM4EpYF0AEyAncCLwg0F8MK4AjVDSgE2BqNCJ8BvQHgA2gFzxCqCXkFpRd8A3gLywaTBE8VPAGsATUI6QJKBW8EmgGdAXMGSBNzAewDoQgqBsMB7gdUCYICrgEkC6sDIgqDCYYCjDYsAScNKg/CBrYCXBW6AaMTjSRuMKkHyQPBCL8FqCTxAfEEsCrE","jAe1","jAfT","kgPq","hgjF","6AfF","Y1MZmxB5JMxbttEBjb4BtZkKwDVeMHYBnQ","1g11","1g11","ywq7","mwuW","qwE3","Yx8omgWYLYcio6ACyqwEfy5eAoMFfYIBvbUBa6cDLEJIBTs","iwGm7AFgMj72BrA","sg16","yweK","yweK","gQxX","iwW3ggrzB94","Re3bDbM","jAWd","kgvxAdE","8w3S","GMg","gAG2","gAFq","ig85","0AGRlw3q","pgFrjwTcpQPAAdE","2wi0","gAkh","5w7T","5w7d","4w6+","4w6U","gQ/1","qw7Z","6QOz","6QOj","qw68","yQyl","5wvFYqUB2g","qw68","qw70","NXY","uQXdxwGeyAGBrgE9FJsBo+0ChsEBPkFL","lwuu","BOwOiwTvJuoB8AMrC8cHsBFTCegG5QXTAs0B3gPiAeUBtRq8CsMD0QWLBq0C4gxxFOEFsgKtDZcq1AUsGX8G4wRyAWkHhwyMBO0N0APTA5YP0SVRDt4BvgGRGKQOrhCVCXYBsxrLGNgNNQHgL+QE6gTbAXkNKErkCbwRjRaKFJomowEvA28BphDjHOgv1QKxL+AdrQPGDV4GZg8sE2sgpA15A2sK6QepDjcPqQbnCtAlLgjYAjoEfwOqBLMEyx2KCo0Sfwe2GJUR3RBtKqsHhALWAeIB3wMdA84B6wUxFcUEuwTmDM4B5AHcAdYBugllHqwCsALmBNgEKgSyBJkByAK9EdoErwOSAaIC1QI4AjsM0gzrDUQR3wSqCNoO3hvTBLwBwQGiA7wB3QHlAt0K2AR4EXkB3wKYDygBwgHMD+YB4QHkCiIIxAmsB3ID7hMhAicIowPdBRkClwTbBecByQOUBMsBJQHhBJwBwwMpAbYFeQsyAW4DzwGEAi8FmwfYBMUD3AbTC8US4x+TAtkQeAHNAeUB2AqzCswE1ALFATcKpQHdAckDMwGaBekB5gPQEtIGXgzADOEQ6wHsBGoD4gHgBd0C7gTnBeIB6ALFA+wPRAfOB5ADlwTFAusB6gHsAcM74gPGHNMG5SG9BsoCQSpH","3gbv","BPFooAGOBeIFnAPhGYEZd7gBXZ4B4iXOiwOt4gGcaKUGuki9SbcwmUDhpAGaMaornw3BH64Kqi+BIZc6hD6uEKgeqm+l","0wOVNqE","A7gfcgTmEH8DmwGNHe4T4hZqEscZXxucCdkBywQyM7UTqAKwBs8EoT97IFcCpx66I6tQuzTdJfMtsjvMJeAVqRmICq860RSuGO8azBP1AtkBbQzFApULo0PJMdYCiyB1AZMFiQLxQqNInyHmH9ZJskFrF51MbwJxFJy5A6IMambiHuYgzCrZCs0L1QHTA10","pAVzxAOX","gQfp","K8c/VyHTBKQHZiOB8QGLKeyuAZ8fiqkBiR+jG9fbAZEKlzzZLbypAr4BxAa2aKx4qAqbOpiIAXzOAbiWAdE","CYQMjgxgD60IeAGyAbYWQSiCHXQKLgdrAR8EiyrFA7J+fqoBq3nCK84BnwvBD9MTlAF+Jn8zsgXaBb40qEbZEqQmqJMBdQGlBqYgpVm3LR4swQqHPq4Hyn1wItMPyQGXDtDxAbAtYiiKwAGNfdk","qwFf","qwFf","qwmqYp/jB8g","5wSb4QGv","yAav","wg+L","EZEZgJABlTx7I9YfcqoCf12UOn9Q0O0B22SiQ2PGAWV9cH7IeZk","8QGlkQVllwOEigia","AMkB6wHiAdsBywHrAcwB2wGRAeUBxQHcAcsB7AHhAeUB4wHdAeEB5AG8AeUBXwKTA9QB3wHhAeEB0QHcAb8B4gHeAd0BeAF5Ae8B3wHfAe0CqwPLAesBsAK0AeEB3QHZAfAB3AHpAegF0AHjAckB6gHOAeMB6QHeAfIBuwHPBMgB4QGoAc8DnwLdAeQBygPnBL8BjgPKAcUEpAHcAeABVwHLAucB4wHNArsC3gHZAcgB5gGzAc4D7AHVArYBvgHpAdsCygHcAeoB7AHSAcEB7QGvAYsB0ALdAesB4QGqAd4B5QHsAd4B0gF+AeIBvAHbAa0CNgHLAbACswHmAcMBswLZAbMBrwHaAcgBXwHoAeEB4wLpAeQB5wLBAekBygHhAe4B6QHsAdwB1QHKAewB5gHuAagB5QHKAssB3AHbAbsEswLjAdMB5gHuAdsCMgHmAbkB6gHmAeMB4QHYAeoB6wHpAbAH2gHaAdoBsAPqAagCtAPNAe8BsgHrAeEEywG1AbQDzwGABasBrgHjAq8B5gK4BXIF2gTKB7MB4ALYAdoBxgTmBdoBqwLmAdEBdwLeAZQB7wGYAWkBxgGrAe8C5ALJArwC2wHIAq0C1QLSAbUC2wHWA+AB4AHfAeUDkQHSAasB0AHcAcQBzgLUAt0B6AHhAbEBywK1AdoBxgKyAtwBpAHiAroB6ALWAcsB0QGwAbMBswHlAacB4AHcAd8CyQHMAcUB8wLkBNQB5gG7AcUCzgGmAs4BrwPMAZ4BwAHbAbAB4gG/Ac0B5gHeAcEB0gHpA90BzgHLAeUC3ALbAd0CsQGkAqwBzALeAa4BsAHKAawBoQGaAsoCyAHWAdoEzwHiAeUB6QTvAc8CzAHtAeUB2AHAAuMBzgHoAcsB3wGyAroBzgHgAccB2AGsAbEBzwKzAdsB2wGoAcABqwGnAbQB5AW1Bs8C0gHFAqoBrwKsAsgDrgG3A+ECzwHFAa0CrQGuApoCwgG6AcwCqAS5A9EBzwHQAqYCrAHpAXgBqwG9Aa0BogGuAckF3gHpAYAB5wLbAd0CsAHAAdoBxwHmAd0B4gGvAdQB4gPbAa0CqAHhAecBsAK6B84BkQHbBdwBrgLjAeEB1AGsBc0B4QLhAbAB4AG/Ap4B8QLTAdoD7ALUAqEBxAPcAuABtQHYAecBsAHRAd4BzgLRAdwB3AHkAcwB0wHoAbEC5gLYArAB6AOqAdwByAGyAesBxgHNAc0C3QHUAegDmALqAcoBzALaAcEB5gHgAZ8BugGwAcADxwHQAaUBrQGzAagC4wHsAd0B3AGvAskBrgKiA8oBqwHRAZwCtgG7AdoBrQGsAdQBzwHcAaoBywesAasDnwHYAdIBuQGoBLAB1gHqAdgC5wHaBb0BqgHTAcABrQHHAaQCyQLZBbMBtAGyAcAG0gHdAe4BywG4AesB6gGxAbIC7QLQAdwCzgGwAewB4AOyAeMDmQHsAekBxgKoBOYIqAKyB9QC5ALpAa8DzQKxAbwByQKyAdYEowHYAdIB4QHoAcQB2QPYAdgErAPgAdYBpQHLAoMB3wHaAaUEvQTcAZgDlQHQAaMC3gHjA8oL0AHZAbgC3wHJAawB6QHeAsMBrgKeAe0BxgHjAroBvgHIA8YBsAHQAr8EzALpAdkB3QLJAekCzALIAZcErwHgAdUBqQHbAeABngGAA8oC6AHDAekCxwHgAbgBmQHNAdwB4wHQAa4CwAHfAYsBzgPaAc8BzQHoAd4BxwHFAeIB6gHlAqgB1wHYAbEBwwHLAeEBigKsAagC0wXDAecCzAHdA6gBggHNAaYB1QLmAe0B3gHQA+MB2wHeAcEB6wGvAWEBrgHiBNgC1QHrAc8BrQHCApABxgPJAdwB4gHhArcD4wHSAcMBxgHOAqwBywHUAbEBqwHgAaUB2QS4AdgBkQHSAaoDzgGuAdwB4ALeAeMBogGrA7QC7gTYAc8C4QHjA9QB0gHeA+EB2wGxAaAC3gHiAZcB5wPSAeYBzQGyAtIC2gHWA68BsAGrAeEBzgHNAbEB6QHZAekB3QGUAnkB5gHcAdYB4wHQAcoBrAGwAaMDvgHsAdQBygHdAcsCzgGQAdgBuAPdAdUBxQTCAeMB3AHxAtsB1QFJAtIBrwHLAcIB1QLcAqUBqAHOAeoB6gKvAa4CpgLiAqkBpQGqAa4DnAHLAXUBzALcAa4C1QJIApwCjwHVAdgB3AH0AdQB3wGoAd0B5wHGAeoB6wHwAdUBxgG3AdIBtAKsAe4BygGqAcgBqQStAYMC4wHdAaMB0gLcAeEB5gG1AukB2AHOAeIB3gGzBcsBnAGVAbAB0AHgAdMBxwHlAegBqwHgAc8B0gHJAeIB3QHRAdsCbQK2A9ABnwGyAcMD6AHfAq4BzwLFAeQB5AGXAcABzgHWAc4C4wHhAbMB0QHFAbID2gPZBbEB0wLjAacBqAGoAesB5wHZAc4B5gKTAeUB2wGsAtABzAK/AcoB3gXbAdkB7gK3AuUC6wLOAeACyAKiAqQBswGuAuUB4QTbAeYExQORAckB6AHKA78BtwG3AbQB5QHYAaYB6AHkAboBoAF0A9ACrgLNA7QCtwHaAa4B1wHWAq8B4AHiAekB6gHnAcoB2QLpApABzwHAAd4B5wHLAaEB4QHcAZ0BwALaAcEB1QGkAesBuAKLAuEC4wHmAdsB3AG3Ac0ClAHrAdcB4QGZAuUE5QHMAcICyQfcAu4D8AGwAd4C6gHXAecBxwLJAsUBxwGvAbABlwGQB+oC6QHrAdoB3gGxAuMB0wHsAs8C0wG9AdsD7gG5AekBtwLqAbAB1gHfAeEB6QHoAZQB8APrAaoBsgToAd8CyAHrAcgC1wExAcME2AHEAdcB1AHuAeAB5wHlAegBxgHkAbwB7QHVAd0C5gN2AdEB3wHMAbQBnAXTA7QCtAGyAs0C6QHYAawB0QHoAc8B5QSsAcoB1AGlAb0D5gGrAcUB0QHeAeIB5AG8AbAC2QHHAsoDtwKuAc8B0QLdAa4B5QK7AcEBrAHGAdEBwQKYA+EB7QGnAbYB6AHKAeAC4wHPAdUB7AG5Ad8B0wHHCNoB4AHsAYEG0QLLAuEC4ALNAeYB6gHTAc4B3QHoAdwBqwKtAaQBqALmAewJrQGcAesBxgPkAe8DrQHSAeIBqALtAa0B1wHcAdIEywLFA78B0QLBAbwB5gHhAbkCzgGqAZkB2gGsAe0BpgHUAdYB6gHUAaQDvQHUAdUCqwLFA5sB5gGTAeYCvwHeAd4D5gGfAc8BqgHNAdoB1wHPAaUB5gHmAbgB6AHOAsoB6QHcAdcCzwGEAscB5wHLAeMC4gHSAecB6AHjAdoB4QGyAcUBsQHdAeQC5QHFAYIB3QLoAdIBywbKA54B3QHQAs8B0wHSAt0BxwHDAdoBygGvAcUC5APHAekBtwGwArsB5gHHAZ8B3gHoArYBrgHIAdwBzQPlAcoBwAGfAdcByQHLAUgBrQHFAccB4wHQAdoCyQHlAdwCrgOcAacBsgHkAeQD5QHRAdkB1wHNAngB6gGuAeIB2AHWAdYB2QKoAd8B6gHCAtcB3QHZAd4BrQGJAZID5QHJAaoB6AHaAd8B6gPmAugB5gHgAscB1wHSAeMC1wHkAa4B5gO7AeoCzQRxA4MCnQJ/BN0BrwJ0BawBigF3AdoBrQGuAa4E2gbhAdQBzgLUAtUBoQHKAucEcgHpAeAD1AHZAdoB2ALUA+UD1wHhAd0BygHaAs0BvwKEAmYBtwHbArUC4AHqAssBcQHlAuQBzALfAX0BsgLUAeEBtAK3AdcC1AG3AeoBxQHuAd0BwwHTAuQC1gGlAdACuwLdAbsByALKAdYBwgHrAeAEwwPMBfIC5QHWAc8D3gHGBNgC6gHxAeEB7gHuAesB3gHSAeYC1gHpAfAB7QHrAdcCZwHGAusB5gHrAs8B0wH3AuYB8gHuAdAB8ALtAdQB4gHKAcUB6wLaA8sE4AG/AuwC6AHUAc8D4AHvAdwCyQHdAcwC2QHEA/QB3gHZAe0FsQHUAuUB7gLNAeUB3AHpAeYB6QHiAd8B0QHEAesCzQLqAbgC5QLUAeYD2QJQAeYC1wLGA/QBkQLvAeMC3ALnAegD0ALgAeYB0QHNAcwB5APrAeAB6QFdAdMD6ATOAfIBywLPAeYB1QHlBNIC0QHUAu4C0wHlAeMEwQHFAuQB5AHTAd4","/AKb","HH4EcBi5GJFDgSemDpR3dSU5IfjkAe8Enj7zngGwNKNO6RWqE9dtsSGJGt8B4ecCfKQBmlC5WcoYVh2rIH4dpAFZAXsVcXiiIccsUCbBF1AI2Q","pgGv9gWyPagai8EBpX+VywGc","nwEu7wHFAdABzgGmBswmnN0D0kzhkAS+W6alAtjwAY2qAe4DyQ","0ATB","HSoTwldwBMwgX2+oCL5jVwL1C7sEsa8BsRWtD+4Q1gLeTu5Q52qIgAOwFkLKAcqSAnjkAZ071lzhAscB2gHeI78","CLkJkQymDrQipR24C3oDggSbD9MIgQafDZcFXw2bB9YPaCypTGsbnSHRW2dPolqxAaAEnJoBbwGmBdeZAaoH2SI9SdtzgESLJbcWHgu8AoMD2xpqBIESoTK6B5E8vDPTEJy3AXYJqkKlKZwF3hnTGKA1aAGQC4sDnQnJGl4wLAEnO48ex3P0F+A","K86vAa0gqcsNcgi4","4Ad/Ie7sAYuNApcHVw","HVG1AaK8AbGnATtn8w+WAvToAYYLzwG+Acg3qCaqAoJGJiGXTKUBqGVC8QVr","gQe7","kQ2Y","gwmN","kgzT","gg/3Afg","gw97","gg85","T78BwA","T3gBdg","T5MBNQ","UFI","zQTE","WH4zMwWYRWITKbUBoaMBXESSvgJmLZqVArgSQx/BVyEcLw1GhwFIMSV6qlOCEKRObgw8KqsLQVpxEkUsQQ1F","nwYroQForQF6","pQ1X","F+0e3qwBoJsOwg","NYU","lQ/X","nA/F","F5E","wg/sHrE","bEUBmQWpAcUCsgKuA6UBQQMzB0cHqQdXA6ACoQKrAccEmAWPArAOywxnB80SzwKpTk8GmQV3DLADqQOnGKwVuw3TC5EBdDRFH80kihp1IqMNkQu5HMYMvQVDdHYlqALUAq8ioRdxH8Udwwe6Cr8VbQTAAaMHrgikDokFvAGcCbcBvQGoFaIhyBq0B5sBZRdLCEwFyhRnEN0EQAwlBtIDmQO+A8UGjQPcGKEH0gqYBKQXIwHBDb8QtyA/G98JswelFSkBvAnBBn8BQATBCEcEcwKpC5cE3xGDCCYCeQN4CM8BqASkE0wHxAPfAWoTnQdDEKoHYwRKBNQGMQ9HAy8DnSq9FnEC9gSnCNMEyAVGASgDswvLDUkFTwumAasIywGmAW0ghwJQCcMBpg8lAZcEPwFpD48G7g9ICbAFig20B0oGqBZ3A6gIRwxyAaoBrAGcB6wLpgpDDzsSmRDFFG4WvgiIDKw3twnQCpUVSRBMAWgC1gOsD8QFwh+uA0c","vQFClQGJnQKeSacSTyK+AqoarbsDzQFYFJwHTAMoNY0LgZgCR6MCMQE0AYACOGJB","0QFH1AlQ","qAasbpbrAc0cyyWfDUQSRIsFnZMCsA","gQnF","oATK","OVSlBk3EAUPjA0I","lwVK","iQFFIyczPhcsaZU9jssCKtoBKhs3binQAYlRR6ACnPYBTMMBOA","kgWn","jwKz0gJJrAZpngVy","rgiNzQhC","wguW","6gKk","uQdu","kQ2F","4gvp","ekYwS/MBTcQBo2FS7gNJ4AHJ5gFSFX6DAay7AaE","ClAOtQW+ArEJqSOnClgIoy6aEq0C0gNbBcoPagOrfqwBnQmZG6Igsh6aAaYBvwixWGdDswhEFKQHsgyQE8IomklndnsGrgWxDT8DrxK3Aso4zAG3GsYC2TrAH0IR0QjNPJkWfC9MK5uHAZ8JrjGjUnodxzapBI4JdxxXCKoBsShNIaNXsQi/HNMFogHCArUGxAtBAtoC0gTZAXsKgAK5BmUNqQ2pE0cNcTKjAac","J4wMtgipYoAJpUjDUJMfSAWeQXJdsVdlIV1alC2sC5odfgzDEZtlpjSqAbUPng3LEbsU4Qy0BmMlO0bBDYADSyWhGzUvrBGZLbEKKhlNGKYVVg62EFBMmFiuCUIapyCDpgGmEqMDsAunDpwYQQ21EUxgngGaO64TxTlLD8JHzgOQGkk","/wmr9wPVpAGn","swbD","igaa7AvO","hA6k","jgF6FUWGAToqJ5wDIZcBtjZHmAFG","d0dCSAJIbkr2ArerAkajAUJcREpWfkUvTxVMHEbVAkEqSEiiDUA0QkRJ","yBE+","DrEY3ym1AZsMfxOvArUaVg8qVdAEzzjnB1opSMcBRTfIEaIt1DvOHjovmAbMc08Z8SA4A0kRpQQpPi1DRghIBDsQSSanDKARpheADDVDzwvQVs0Yxid7jQGpXNQCWgOqCmA2dhTMIMsNTRtCAaJd0hFiAaEsq2TcJsVISQvUHKMGzRi+","vgxEf8s","iQFuxgXOZ76HBpg","2g6t","oxCz","jQt1","lgFf","lgFf","xga5","kAV5","vAHzR3LKArDsBcuTAUqqBdU","vAHX","vAGE","vAGgkQOw","uQqB","vAEv","vAG3","vAGE","MqwJqy9BFcQI1QdZC0MBQRLMBKAmLgSoAnYEsAekBaQOyBFPCrsQwQ9LEkIKoBWJJ0cNpwhQCJkX1gebA2kZYwOhN5sKngFIC6VAuA6kA7IZvSG9BDse2jrEB6YER1KcSksBngxDEZMHbAhBC0gBixTgAbYXrxGmDpQNghmeFsQQvAZwDJMHrQFDCeQBuhqkCEcJngVQEpgCsAHUE8AQphy9I8ENJwtIE5wIpAHSA6kURQGsBdcDuweyCZsWjAGeCe8RpQGvEbwCmwfFA6sioAq4JU0avRfPBncJnQGqCkkGTg1BA9oB5UK5AXYOohBCBLAHrQ2tCMUHsAydA64OSQGoBkMLrQJJCacCpwQ9BKYCnQ+fB6YOfgJGDNMGqCTgFJ0Sowk3B8ECnwa+B6sK7AHQCEgI1AixDr4xyiVDSOkBRwa0AbM","4ASe7QVFmwSO","qAGe+get+Ac9","ogmK","+QHf5Qeh","5A2B","5AdCKoBGpQ","hwOi","A8MhlmVuKz8PrRyjDc8JjMsBo3Syaa4TuQ5q5wKjLZoc1xOJEMFp0IABl2qwEKs5nyiiC6cmySVJkAFIHaiXAbRCfWPGAZY","pQk8","zQFp","3Aq3Hag","U9A","BUEBiwFLAk4EcAJ+EjUGgAE0BWkllBZ6Ah8FQwNBA0wBSwFkA4cBLAQnBi0EWgG7AlQEKANHBDwHrAJqBG8BLQRuBKIFIwF3BcECJwF5Ak0YRQQqBmMVfgIsDXcFywJXEqQUqzmiEc8TdAssEUMkcQpQAWYRdSWgDzABxgHNBWIKYD8oGk0BZBKpCHQCIR6kDkgGbRisLE8IXSWlEUsZnyOsFEUdZgKlC6cGZBYvBGgDzw8tAkcBkQaVAYgEYRFbBUMsYARVDm8hogHNBFoRYhorHY4BQQGWAqUCKAIoCHsZQgIcA74IKwMfBj0EZgUpBy0DrQOqAy8JThh1AyUCXgs5DE0FKAZjAp0CXAIwB6IFPglXCy4DSgiTBlgaJAjFApwBuwKzIFECMgV1CzIQsAIsFJkDLAYoHVYDpR+HIzIIWAFrDm8ErBCGFi8BKAE3C7UDPAGmD5gJJwKJAkgNIAPAAlMBpgSJAWoIegFrAXYBNAS5AVQBUAKiAjUDuQE5AiYCJQEhATkOTBVKA68MUAI1ASkKNQJnBCgQTgE8B4IEMANSDUYBMw0mA4ADjQMcAXoBmgTKAiQDIgNHAmYHIAkgDcoHvQGlGjEfaQwxA1UHpwuiAykGoSFCGaAUPAKbE7sJSBql","H4czhhtjAlACPAR6Bm0Obgl5KFEBeRySA6g1fyvNAYgC0ReuDbUrtgurAeMWnhqvELQOtQizKr5GrhDLA3o/mxOzhgGwKbtSpAWaBXESqhSoAssESALoFrAJixe1AnkDawewA91A40WVF64SyCt6DngBowO2AugPsiaqLoIJuiV+EB4rlxGdI1cMdgHcB4sE1hqFHcRArQFgAtUKlCvABaoEkk27GLYOtgbAELk1ggeEHdkduyKzE7ogYAGuAa5azAs4DdECPgziCEke6A","/RFF","GqRysgXUAptJ7gh6Ab0aar4BqI8BsAw9HKxNMBOuDaJ4OGGwNKUnZhjnRJ0SxkxQU04nn1uxCF0B3QHdAeYBxAPpAcsCYwHRAWcEzEWPBbAOrkbWmAHFBnJmQQTRG9ck8ALxD3ATQIYBuBO2BOMBvgG3D5g/vyG4DrYMRBTDGOI","oQ/uAvE","rQu+CrurBeMBvg","kwGb","ixJH","lg2jtgRH","owQtaZg","lgI+xAGr4Qo0gwEjD2k","gwWQkAHNsgUk+QNmpwHYMz0","7QNL1QFSvQG8xQhH","xAGa","2QGwVk25At6TAZToAa57zwShR7wxaKABMBczA5hckjmoB7xot5YBogJrPaw","/wfN","BEMnox5/NTMNuwuRB4AJowufA6QPPAKysQGk2QG1EqMGywZPUM80zzhUVz8VSBRaM59wXA7FEZ40dQxmMpIEuwSXDZ4Lcwe/BpsvmlKZLMQBwD9NI2orpjFQGE4JpJUBRgeoFp8QogTTGaoLTASWeI4","DW9RrAQpCJQHmQ1DGF8EehNDBIQRSzE8RXMBPyhrN7gCogKmCKYabSvQE6kHlxCaVIY4piSvX0KwAZkBng17BZ4CkQV+O6QChymCBFoEhgeiGscEoRqqA786cAt2A2sMoRSDBkMPhBmDAbErSzqDAUAUkgGTAYcIowGRBZklqA9GC8sSfwzIFD8SowZpGWoedxKvEZ0SbUufLjweqBSEE58ihQhlC6EGnRyaGGAegh+uDnEwoTzGAqI1sAbQD6U/Vg","xQXJ9ApF","kQNByQx0","nAlO","MrkekQFYH+HJAc+vAXCYAz9erhtI2wGclAGlOVUBp0+lck8JnMwCojDA","UEHAAbEopw","zAGkkgdLyAJF","1AdJ","qwqu","4g3Q","lAFt3gyu","EMk","CpE","rwezhAFC","NULNAeDLAp8Mx3Hf6ATs5wHovALy7AHqJ+ZFtw","1Q64","wRDD","wRDS","2hG5","1wbPpQKW","oAQq","0Qg5hASi4QOMOTw","K7HcAbBR1B6nAdGwBdMyh2imvQJGeSjKAUcveQ","9gI38wRtPEY","5gVY","mQtAywXS","3QF+","pwKx5wOz","NpeCAegDeRvLFd8nxQu6OtsB1xHnPEoS5iyhNbhHSQ/bAdAd1wbaDLkE1QRPD9IIqCRaCbg4czHaCekDOQ5NGdcqzDOfL2Es4gPuK8YV5ASvE50mxjVCOe0C3hSRPuUJNwLUC5NL2BXDIeoN0ELhGV4x21m/NUsi2gKiGUUdTAjCQPIjulGWDOYIzAfOCeQN2yG8BZ8B5Q3jQecD5Brj","RcDXAaS8AZ+JAaOPAsDqAbSCAuCjBEEgUA","tw6q","lQ5c","HKECqhjGA9cB1AJ8AXcKwgG7BbEEWRN5CM8JegV2AtwCrAhrDqYHMx9wBaAEJgPBDNsB4QR5A8AbjAW+H0hBxQfxBLgPnRjcDCwJdwSfKNsEpwmbBacHsgPkGUce5AasA80FrhpxBJEB5wp/CosmqwTQHqoZlwPgEO0E6hblDeoC8xyLDEUEmwwxBr0O6Qi8BakE1AGoA94B9i7wLsgDogPaHeIVWiDSE+ARbQ7oG7sMXAOeBpwIZAV9BKIQdwMuDucO9iJQBigFtxjBE2II7gNmA9oEyQLDEsEBzgXcCHkLJAXCA6sB4gOhBbwIuAPUAs8GTwjuDuoC9QHmAj8BqwUpAZcEowNJG2QFsgdaA9MB2QTnA6sBKgbSAdgD5QHPBo0Koy12BVQC0wKpB7cGbwblC/cB8AHxDG0EnAHQFNUDcwGOAaQD0gSEBOkEawfQBcsFswfRCeEOzwyZAUkBRgd/A3sHxQfZAusHsRCwAu0RlwS8BN4Caw/pCM0D6wXyBIcFpAhyCiEGiAPOBvEQahVnBbgB7Qh+ASgQYgq0AykL2wrJCG0DiQJZAbgD4QnmAd0B1QGrCOsC2BP3DM4BRQHtCMMJ6AHSCN0CrQntBYYDsQRxAZ8CwgyOBN4B8QHaA/kBtxREA9AXaAJAD8wHzQyuJJ0CSAHWAekFYwPMAkkB9QHSAuwBxAFICI8BSQHyCOgB4AOnA8kC1gLQE+0MxgvW","1hDD","9g6H","7wWjcfDcBbSBBKCtAdA","4Aam","2wbU","ugpExAKrwQOe","vAyd","vAy0Amw","vAyd","1xHQ","2gKV","nAzT","vhDF","2gKp","jgejqAKJYNk","hwtn","5gqo","0gHb","vAy0AcUBmNMBzQ","whBw","nA6+","7wV3qAWEzAGvrgFp","jgfQ","lAGa","kQ67","oQN3","yRGy","vAxxApg","whCz","vhCk","7wWj","vgzJ","3gNA8wQgAShJJFUrEykBJ4gBIZAFGA","iQ6/","lwKooQFW9gZPOCzyAdBSrCa2LDzhAkoaTA","/gFaGbSiAU9eXQilYdGCAU8IyaUBQg/HQE0ex6oBL4QDLw","nwRdnwNDiAIvpQdI","6w2j","PcTOCI1Bqk24sgG5igGi","ygyf","2gGi+QFP","lgqe","oQOpAaC5ATLsCqw","2AiC7gNI","VmC8AdXEAasb3fkBf0HJoQOjBqq0AYAmyoMBNsIBNAGcW6IRwmajDbW9AUGEAW4","4APB2QGipgSfLKODA6c","2wSkpQI/1gE7dEaIBzM","ZKrfAZu2A6U8u5YFUJsCx2umqAEn","N7JYtDKlA11n3XSUggFLAi00yOMBUwuzSLgBbluXggLaBZcpIxJWa39CUySpcCsSdgtaMrYUuwO7CE8NXAe7EmBBRwFoDKoFT+wCsAE9","uQ3A","lgFfoQ0k","wQla","oRJW","qRCZ","XlA","ogVIEak","6AFEqAG0A9gByfoERWWq/wNLowNMYriHAT8U2A","khLG","qAOpP7jrA7sD0g","qAOpP7jrA7s","qQaZtwGndcmnAahY2Xw4SYRMJTtFWsoyIX1aHF0EjQ","xwtQ","1ArZ","kAKx3QSojQKKpgR4OqmPA0s","mgsu","XoTaBNHACrQ","qQM+vgJH2gFLngRJogRK","zgZEpwMqugKrlQSeFX8","kQGH","0gRYdXWtCFpuSqUC5g","jAu4","yQRtqwms","phG1","ig1n","M0kSWTkzI4p7cYgHVMsCRwZO4gF2KDmGAYCnAUq0Aao","swor","jQLJogpHsANK","kQk/","Rn7YCk0MsdQBrokEug","ywNamgix","gwekggSesAGy","xgPnkgWCqANpGoOhA9U","qxE7","7QSt","nQdKuwi/","wwKb","ugNt","sAFAwQpG","rA5u","3wOA","3wOA","8BE8","lwdI","CrpbucYCl0WzggHMkwSoSnVMkeQDaS9fRqfDAj8","owxm","IFEgrB93H5IbpgKrCEULiASdC0YioyilIpwLXx09CMI/QQysOpsMogN0AYgNZjmSa48Fmi3BAoULvhSsIjk+iTGxS6sOtWSdUZ8CrSU+F0QCsAYnBmMDtwSJAa0BpiydCawRzg6gHzVybBKjGLsCvyOnCKwanSNKCJwGrCKhEk0BwQymVa4voxKIBNssuh6vCGUdZBZaRqkEwxShCJkTRg6gAoAMRxxF","vwa2sQe+","xQ5S","qwY5gwZXIHHyAXo","wgWx","A0sSqwR0A+sL2wuGB94B5wGdAYAG0gHQBd8SoxJFIHoDuAVtAWkIcQJ2AiwGggjaC9EEiBTdNVw8azE/dEZEZQqlIbtLaW7SGLIOfhzKGd1X1BH5Uc0BhDlaDjENvwG+BucC6BtfNzIYlw/OHvM0Pwk+A1gF0g0oGrkWuSBzGFADagc7EPMXmhKkE3ICQgYgCKcBbz1FEYoQNCHvHuApbRAgAkQPdwS7B8oLZBRTBMICYBWAG1NYIAevKhsB3Qh4AisoTCjY","pAil","pAix","7Qv2","7Qs0","7QvL","0wf2","0wfL","0wfP","kgy9","jgHR","1w4y","ogVp","gAnU","AsEf3xPDnQFH","An4","An4","3QTB","3QSJ8QJDFkL6ATzlBUE6Ug","mQqa","hwE+Ha0CRDNLIUV5RI8BR19JnQKO4AFLgQGIDT1G4LMBjA6hPbU+pF2NUJsgnD5QcNlIfQ","0gbd","0gaa","4A+v","QLBNsBOwAbYo4FTcF7qBAb0YtpkBzzK6HOcLR68Cz+EBrwK6Sr8Kvia9SuoM8kLQCb0J5QXggAG3JrkBtgG2gwK9CNQN1zuOFLYE2A+7FLsl7QHVlAFE","ug/g","tAnP","8ALjS+rfBH8","uwNg","lgFC0AOXpQit","/gFaLFg","E8Q","uQ3g","iA1I","iA1I","Q3abCs4","GKgjgh67Ch8oQiCgCaQewQ/fgAFDM5A+qQHRMpCiAcA0lYUCf1XQdK4zyfoBpEakgwGML11b1RKtO6F2gyNH","3Qs77gJTNlM","hQu5","UbY","UVo","rA7A","AngBfwHaAXIDuAG/AowCigNoAZsCxgLTBM4CogF+AaUCcAHHAesGgAGKBYUC3AG9Ak0H4gHEAegCRASOAaQBsAJZBOEDRgWOBcsETgWOAsMDeQTdBcIBiwRIAbUC5wLLAogDowKoDjsDfwNwAYwBigF8A7oFlgJ8A7QB8gloAecBoAFaB1wBdQPbCe8E0wGUDMMF3QLtBMkIlw+nBEMD7gPpB70K4QqlArABqAG4BKIEwwVeA6UE8QGsApwB5AHhC9oG0gTrBYkB1APbAz8D6wHXAbgFegGxBt8JtQOPAXQJ7Ax5DpEB8gHYAt0BYgFaAcsBSASCCtUO3QTYBqEFwQunBTgGoQPaFLQBOQfLEZoK0QuNBKgEsQGxAb4EngmjAbAB1gP0CJELxAjqATkBZAHtBpQLmQpiAsgC1B2ZAcoB0gGXAcgB4gHyAewB5g3EE4cNshTlEcQByALjAcEE5BHPArEM8APoCvEFvwXOApgFpAahBIYC5BCqEOQBywLcC9we7gcvAZ0IwgLhBWIFkgHuBIQGpgTsAa8BvQKsA9gDygbTA54E1AHiAuwBrQOuAR8BiQLlAeMBWgj0AfQXriFhApYMQhLkArcDdQzyCNMEmwp6AdYBww3LAe8C2wK3At8B5QJzDM8JzgNqAs4DwQGEAucB2APjA6cCmxqzAt4F8wKmA4UC5AShAeAEnwWaAccB0gZxB+QGuwKVAeEB9AWmB5oBQwGjApwEswWGAdoC5gG3AbMCpgbTBd8E5ALdCZAT4QhQBJ8IvgbSBZoR6AixBKABKQzDAUkFbQJ7CNwDdxPFAdkB4gPYAX4B4QJyAdYCJAKOAkAFygG7BkwBwAOlBKECmgrpBqgBoAFsAsMB1w6gAbACmwFICZ8GLQHjB5kBZQLEAd0EqATnAmgCnwPrAVkHpQHzAfILTQKZCJcTegPHBnEBqQG9AfABXghSEZUCpgTeCOgBbQGVBOUH3AnCAdQBzQVJB8MRjQzsAeILsgNYBUYUlwSsDaoCVwGrA98BnAO8AdYFvQTsAWABzgTkApgC4wFUAfABQwKYAacDkwFCAaYHSwKuBCsCvAGKBq4CrgbPD8kB3wbsArYGrwTmAp0BogLcA8cBsgG8BKkCpQamAj4BpgTOAUsB3AGLAasBswHQCJ0C1AXkAc8BcASPA+gI4QftAdQDsgjOAaQFvQN7AZMBvgOrC14ByBiECqYF0wHTAkgCoRTAA68DiQHGCasFywegAeEf1TlQRT8nSBGl","mQrI","kwug","+wihAck","ggyg","0Qmm","owG6","owG6bsc","owGG","pg5L","ILxI2WCUuAHmxAHW3gGVStz4A7LMAec","pAXZ","qQzW","zwmh","owFF","0wK6vgeoBrY","uwvG","E7Y20Q2aKJudAusBjoEBqGS3IjKJAmIG7Sl3WEJvc3goqQFtGlEMmUBKrwGAJzkbgIABUiwzSpKOAVA","BHwXRWNG3wEjB0k33j0xaYKSATbSASQfKWFheCrqASlHpc4BmXQgJCBBexJGJWUpfwiAYSc","zwnc","8wmO","yQLSlgK94QIjjwLK","L8s+pwqzNssCWhToBM0S2ALrWTxojmaoEZputiJZA5pV4iTMWLMwyQuBDuQHdRvDAcp/bwzDMbcG2gTZIX8M2hCzDY4wilfWCLE+rANtZrw8eAnqILoI4g3ZCsgBpiqAPrQFywnMAksI3QLpJ8YQ0wbpDOEYPgfcDHsHzgnUCIkH4E5N","oQy8","oQy8","daU","pA7h","xw+y","9Au1","zwnf","Sb0kYwjII7qmAoWGAekbvUDKSLOQActgwAu5gAFvC9YR2yF1K78cs9QBeAbBVndMegO5uwF5EIQZig52RccYfg+EAXskXg","kwtg","ugu1","9gI34QRJBI3vAY4z4oIEOVKu","X2I","ugFRnAc7","owuB","/Qm1","+gEn7QMqwAIttAEvSC0","5wUq","gAbQaaXQBekB2A","ugGL","O8WkATDGBU72AjwNggTKd2U","/Qmf","owtI","2AeVAuM","Gc4I1L4BMCHeM+UE4RacD9dFN8EB5ELl8QHWO0Uc6QHsWLYR5VY2Ud0eig2JrwPZ","+QWq","9gEs","ngO8","BfcI+QHfAjkLRQmlAksB7gOaBO0U7AOWA5QBWBHxBTMVjgdcAj0BOQKmAdcSRwEzBKADkgJ4BVYKJwPEA50B8QR0CqAFvQrLBEABsQryB2kBTAZMBXMIJw+vAoEGNAHOCL4YnQakC3kEpxTPCa4B4A8kCnwE5AtHCywCOgM9AWMC1ANlFYkK9gdZFWYBSwShA5YPdAjmI0gHzgG/DHgHZQV4DO0LJQaHAisE1QHCAcsB2AhwC5QC5SHXB1MGqgJgAacBzALxAucBgQPOJfEOhAqmBpcGegmrAasSMwgvBEUVfQOEE4MG5AJYA4IDyQdaBzUl6gzWEegHdguvAdcCeQRwB0ECWQI3Bd4CagJMAcIFhQE6AZwBzgkvAnYF3hGYFYsBeASACJsEkgedJEsB1QKyAasDLAQvA+0HTwFcBZ4B1wK6AdkGfAJkAc8BIQEuApgCbQJMBJkBygbaAlYCxAabDkoBdQMvBCoE8wFlB9UMKgJiEcMBRgeFBHADPQhTBK4DyhYtBFgBzgONAXMCawGpBTgGxQVYB8QDlgNrCO0LdQGGA8oI0AmEArsC0wv2AqwEeA3EB+QCigVGBkwBMQeHCdADWwq7BJ8DLwW6AnIBkAWwBksB6QOAC5oDRxBRAScBMgdHBZwBUgYwAn4BUQHIBJ8EsAJ2CkMDhQjjAqARrA+2AqYKuwSDAeECKg3JAWoI7gHmArEBswHAAdYNnBEvFY4EiwTaAegDWgMiBMkCnhbOCnQCcA9aCUYCJwFgAmYBSgpLAyAB4QEoAewBTwEjAWkBJAJSA58FTASmCLUCLwMvAywDJQJRATQFyQE0F28S1QTpBEMBQgKhCMUEhwioBIMCuQVPAksOaANRBTMDQwFJBpsGOgTmBdkEJQNeAm0EZgVvAjgGzxS1A2wLwwTsBRsCxgRIAU0CJAJSAywBawVtBCgChQjuBCYBsg2kBDADow8pH0ABQAPLBJUBNxPEBaAGPQtrHKMBYxu7D7wBsRn3DXEDuwLQ","wgd5uQKO","wgd5uQKO","+gGk","xhB2","LrvjDWSTAkc","2Qq2","R0DRAnPACH2bASEEKE4rByJVHxaFiwF9","tw5v","BegI7Q","bEVD2vkEskOuR0e6ATHPAkobJkCkE3KDAuttxgvg","mQ9zC9Y","pA+f","A0sSqxLbId9EeghtCVkKgivrNVw8a+kBP78CrlfL2wFfNzInzmNLPbMgSkmaJ0IPb8YBbRJEJSQYwgJgFYD/Adg","0gHi","0gFu","ugHP","tw4k","tw4k","tw4k","6wauogMf6gJF","ggno","+gih","mws4","tgZ+","nQE2jwM/","nwF2","uQ3i","+Qi/AYo","gAl+","0gHA","nwGoCK0SqwLQLYpTnR+fTJ+8AahBo4YBwTB1J55Po3u7XORkmy3oXqAqnoQBr5QBnxakdZIHqBlrAa8NSBVEIqB2Zylh","nwGdCK1BKfEEdc0C5JEBta8GYQ","twqr","qQZp","gg9rAa8","mQoj","xgJO0gXOvAab","igrqAeA","igqr","igps","jwNB","HWoMkQ94GFcprsQBdCRqQ6ShAc50rHd2gQGXDks6SFKiNoniArerAU4QQTl2TGlTRSlGBkQVhTvHGE8LrgGu","UDU","UDU","0wJ6vgd9Bk8","ADAMWQ9hBXsFVAF5AYcCdx1CJEELdBN0KiMlOR66C3YHcDZLIEgIKwycGMobSRfEAZobPpYBKAmsIs8IL2CYFoxYnwq3F80BywiGG1sbcQJFbbMHiAheFaJNmz4dEz4MRxarCqgRkRZqGGMIig2WD0IqMQwmOH09QxeNXEo/IRM9AiAVVAJKBoEVLw2jAjQoTDAsMCUTbwNACmACvAtsHEYPiiRFCKUIglJEN6IjwwxP","swR9","ZU8MXDY9BDdLqkGUAXMZtiVkAZ8nyUxkwgGQzQGFHVnvAZtMWA2hD4ZzhgOqJbAKb4ABqH+EA58Gn0WsIF1bxLUBnjOhUsUhow","DNQJrxCjA6kTghlaGbseyALNAbkEzAs2DcYEwwvXAnMXoznRHsgW2ytKC6UH5R2nAroInAKqJaseuyumFDU6owHBIpIvqQ+jB9cIdgFDNdAbcwSiWtIRzgSCEHkazRFFDkQCpAScAbIF0gTSC7gtbx+MJ7IBQgFDOMoGsATFAncdsQ5jCK0kRhSmG75CcyLPFLQHtgifB1QFMRi6CuoJqDm2C4clzhGMBEIGkQHOGdk2sgydAbQnrQFdD0IJugypGNodrgFxIcUDxwNIAbIBygiGHKQkvAOOFXQoSRGyD6wHsQTlD546RQQ5NNcDnQ","6wd6lATEAt8","2QiHkAFW2AQ0","fSaoA2+4A8inAdSGCek","A3YEqgHyBacDfgJLDnYLSQWUEkAGqwmOCaU1eQHNBaoORQOjLssDkhNaCvYGlgfqDM4dzQHKCtcboAHFEbUIMSLGGkkIpzvLAaQRvAm7Dr8H2iGZFaMb3wXDFtICiATqGXME4ha9MLNIqRE+EecTrgTxAX0rsg/sJEMw7wHyA/AEzAy8ENcRXgF6EpsSVUP0AfUPxx51C8IEpQSgH5sL8gHxBfUHsxUeIeMBTB2ACNwStCnpDk8TqSSbHoEM6BHrCt8BsgHUAdIVsAqDCO8loxObGu4VqRTkA9cIzxG2C6gOhxW5KKkYpALUNIEe5wHvDaQp5RChDmkHuwHHCH8k1wv1Ac8B9AHgAe8kQF09Ets/Vg","1AEypwIg","3gyt","kAEo","4hHI","jAN0","lBCI","5Q6z","qget","jAqp","rgNwnQh/","ywt/","/wet","/gerAd0Trw","qget","SJ0","7gWu+QSA","hgqU","mwmi","6QPL1QG9mgHWrgHGlQHwAeyOAunLAnj5AeWzAlY","hgha","gQLG","+wNm","kAGfqA7c","iwWy","8AlVrwXU","zQHR","tQuliQUn","oAVurwGM2gFKmAGpL4w/dA","rwp0","/AtI","ALk","D36lCcc","+geQF8qbA71DR0OJ5gXN","8wFizgY0iQNHtgSQ","3QKtpQauPnk","U1APiAF9yQNOwwNIpQNJbsgfTa0BtBWi7wIsB38HnAGYCEsBiDWRMIgKvQ","U7g","kAar","lAbHswV5","KZGDASeXBHAHT4wDO7QERxdNVEQ","zwRFhQxG","xwt5","kAGY","9hGy","SuU","+QGw","pgEp","2QI/hAe8A6U","3Qm8A6U","nwPlxwPQ","b1DmBcm7AYL7AZW3BIi1A4M","9xFD","CKD2Ac4JLwo02wGbiwFmD8gTy0qwCqYbzy2Rc7AQygKgG5sqoHV2F1E4kia3HnFjdJ4BUdYB4WNxHUEaszqKB21GWkk8AmUpQDar","3Q4xBDhtTg","FWchQFVNJVCLAVCDAVeVBFCfBayxAVEJTQVSVVtAM6oCPA","ngyq5AGm","/gHMgwtFaiE","jwnT","xAWw","wgG1","oQEsGT0","HkwTUAI3BqgIiwLIPEgOzwlfCsEbSHigBT4lbXqnCEtXkeECSMoBTTJhPHwWULcBWocCSwmrDKMTnqMBrLIC0WWkDkk","RkLRC0nFAsjBA6M","RkI","Y5UUozabyQFkugFdLUUnQL8BTJ8BSIQBRxhRqAJFnwNFUkuTAUsJQw","QKglsCirFkkZxniqbdoBoAmoI64cssoB4D7jKLEFc0OkR4YeVwqgC6wCrAfWBcIDyAGrAZoXmI0BSxmuBLFrp2eqH+EHrBWmCqoHjAikH+kCxCWkIpoJu1OnB6oB0gnbH5QjYQmuIrcdtw7OKKUDqBqsJ9Q9sSHMD88UsSbRSuJEsxrV","ZbA","pQ+s","xg2fAX0","sgq9","4gvp","4gvV","5Qmt","c0oHRkhLGUCMB9CJAVVwmp0BOw7IAdIkSxdHAZ22AZoLv3NLCJhBq5EBS0W2AUYESzxJ","e0G+A+bKAdvUAqoBVQKZAenNA5zcAkc","9AJrmwZq","kgGW0Qp2jwNhpgFjAUw9fw","gwJgKKF0SvgBnLoBr9ABnwYtlgFTM40BXRMnLnuAAaUEX7EBowwhUU0vQi5EgwO9","wAF1Dz3UAT+LBHC9AWbsAkJ/rpUBYOgCNJsBVQ","tQp/kwaZ","gAxI","OID2AluXAdLWAt0RtA21hgH0sALpAenoA6gBM5wBnfoB3g","vwjV","yAh/","Fn4CcRJHLI8IUA+UPKYMlgajFlJuoFmkCqABlzqVCWECmQasR1AsZgbFGqQkSFaUKkeEAbR2WgGvC38w3RG3D6QBxYcBuAebF6sRTC7dCasv1AWxEqwJnyPPFm4KpR/BDZ0JSzKeNLwNSBtqGExTXQp76QE1DW4slz5AOZwBpQJJHeQIQg7m","EFE","ogGn","9RGx","8wxt","4QzR","wRDR","OU4F0RHKPsAD1AW5JqMz2SDPAdIHxiRpB2UZn2SnGckRv4UBPguyHaM8qi7PCa0otlOuS0NmqRaQaMcFoyNRQac/sxTHI0ULzBHHMEyaAcs1b5oBl0qqL74H2EyjApgKlBy5ywGr","lgI+pAPQ","5wn0","5wm0","5wnn","ogOg","yQlB9gFC","nhKx","B7ADtAS1D7UCtAtHB7ANtRKwB4wDsh+xDrcLuwFHDrYVtQO1ArU45w25FrkTuxC7ArUEwgW5C+cKtQG5CbAZtR60CrUIuSu1A80DtAu0ELZU0SXVMLUBuxe5ENYbux25Es0HuQ+5PLsJzwO6D7kRuxK5AbsMixSqFs4QuRLqCEowuQy5BbkFuSNCLbkRQwe5F7kHuwS5BbsEuy26AboIuQy3AbkBtxfAHbkXzAK5HiEFuRFEAbocuRNACZkCtQa5CrkDRge5G0gnuQG5FrYCtANNDrUYUQG7AbUGuwS7DbtDuxNxA7kRuQG5ELYDuRltBKYJuwJRBcAHuQS5BsAEwBK5BbUGnwG3ArkGuR5MBcAPSii1BbsSuwa2AbYFuxi6BmoFuAW6ArsXuwO7As8TwB2+","8wGw6AmZ","8Q6f","8wGwXOfGDWo","hwG3","/Afq","8wGw","zATR","2gfO","8wG/","swVL","LUvNAbDQBq7CAs+tA6g","gQ5I","rwvDCZ8","6wG2","pwSergGjLcxdyDPOY8VwqUXZDM2bAVgziZgDWw","hwsp","ngXD","ywuj","ClBNjHVGNdDLAbFksdQB6n7MlgHOAXoJoF49fUJ2ZSdJyALOQZ5x2RlIHzmuAlQ","CLhnyJsBmvkD05QBSPgB5jWpHdyXBGs","jwnj","igKa","zwzy","+Al1","zwzy","JVQyvxiYQdiZBMt3teIEp1RMKniTA9iuAkEqRw","vQjLgwW1","phCS","XrLaAy3vAjXlBWWcArM","WMUwdEtHiwg8mgE7EUPqAUlStecCSnXO","1A3Z","wgM2qwE+5wKZ4wKW","1AHy","1AHu","BarTAX8udUecCKCKAkkDWagBX5UB488DVNEDV6oCSw","lAtI","SMRe5AntFR4LxgHdBuwV3CqYHOJDJBjcJuIB8wHnAXMB8AHyAeQILw3UAvQM6gSABN0EOATWGKgbtx2zEudKtQH0I4kB2AHlMVBd1TDvXzYKXUm5AfUR6S33Gc5bdRqnPbwC0TbxAfYBT5MB4ALyAewH7QQqDeIUzBV6L6MeewTzB0NY8Bm+STYI7gymHLA24yO6Q7A61QFWFNMNzQj2AroC6hbuNuYJZSBOAUsd6QFV","fjOOAnTUBpjcAYPkASg","gwQt","9AIk","yAx6","nwyZ","lQJs","7Ain","zQTL","4g6S","mAXr","zwOy","1g6n","2hHR","swzM","pBHj","tgPNAd4","rgjD","+glv","4xE/","0AHB","sgOdAZg","phCw","tAOq","ihHnBN0","+wyamgGh","4g9I","gg3N","pgLhAdg","H7E","H7E","/Qlz","nQGAogFGK6SsBpKzCLI","nQGA","hgOk","xwp4pQGua30","DsQ","Rqq5BGKzAs6SAW3eAjH5AXDUAae9Aa4","BsYGxgXGOcYRxgHGBMYBxgTGC8Y1xiHGBMYBxgLGAsYNxgTGAcYBxgHGAcYBxgXGAcYDxgHGAcYBxgbGAcYBxgTGB8YPxgHGAcYCxgHGAsYBxgHGAcYBxgnGAcYGxgPGFsYBxgHGAcYBxgHGKcYNxgHGAcYBxgHGAcYDxhTGAcYkxgHGAcYFxgHGBcYBxgHGAcYBxgHGDcYBxg3GAsYIxiTGAcYBxgHGAcYBxhbGAcYOxgHGAcYBxgHGBMYBxgHGAcYWxgHGAcYSxgHGFsYBxhLGEcYPxgHGAcYBxhHGAcYBxgHGAcYBxgHGCsYBxg7GBcYGxhfGBMYHxgHGHsYBxgTGFsYBxgHGCMYExgHGG8YBxgHGGMYXxhPGJcY2xibGa8YBxgHGBMYBxgLGDsYfxlLGAcYBxgHGFcYUxgzGAcYtxgLGAcYKxgzGHsYBxkLGAcYRxgHGB8YCxgHGE8YBxgLGAcYBxgHGAcYBxgHGAcYBxh3GDsYJxhLGAsYCxgHGAcYTxgbGAcYJxgHGAcYBxgHGAcYBxgHGFcYBxgLGPMYkxgLGAcYBxgHGAcYQxhnGCMYWxgvGCMYPxgbGJcYHxgPGKMYBxi3GEcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgLGAcYBxgHGAcYBxgLGAcYCxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgLGAcYCxgHGAcYCxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAsYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgLGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGA8YBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYBxgHGAcYCxgHGAcYBxgHGAcYBxgHGA8YBxgHGAcYBxgHG","9RBQ","qQ6R","d5c2tcUIg5YBUSC+0gEp","KHZAwgcnAyUBNQKLBSUFJw1UCkIOlxiYHWFIQw6ZB6A9owFnDDAC2QlnF6AknAdvDngFUyKKEa8FXQWjG6kHMB4wFpkvoQGjAXN7K29KDcgCcyp1CyoRfCEtL2wKXRSaDbESZRprLakfIQ6iD4UJfwZ2B4MBKxAoCS0Qkx8vD3AZgxovNZsFTwRzCsQNpwdyA3wBfAacBTsGYxKKAdEGfQSsA3EEvwQsA4ASqR69AUU1KwVDAWESvRJPCpQZchNxBUYEJwlzBqwHXAGZBCkBJgkxAjQGaQJ7BZg0owY3CDEElANuFDwBcQG6AZwHZSojTDkdbxJ2E6IBryCYN5scrgdIAUoiowtp","kAGa","9wOvY3vYAsf5AWboA6DvAzk","nAef5wPTAdk","ClAEsxVPD3MdaQKiCaoVmArcB0kcywaEFj8GaBmzCD43mQvQEkoHPidDAnpl3RWkEax3YwWqOEgxuzm0MoccvBSfC3YdRAnnKE8JRRGoC0gBSQxIIMaNAUAjpgenCKUB2gdCKsEOnQxNCFINP1dDAqUJRCTDOKoeRQtAGccGRgFEBKsCSAzHDLkVSQe0Bo4U1QRRBkEQS0qsGJcipAFRBYMK0gNFAZ8DRB1OAo4ERgRIBtAFSQNCAZ0HSAFGDEAEpwJCA6IJoQnOA0QCRwvAFtEBcwhvDmMH0wXKBrAXpQxIB0QFSgyzFoQEMy88gwHTHpw","mApU","8w7k","JXINV0pbHkoFPAVHL0cXd09DAUITMQZPA54wylE+Km8zzyuFVboPcAW+DYADcRzSEn4OxwIrMWhMsxnKBUUZRglFEZ8Gpk2lpQFZAigyywOZJqUBRClQC0Y3uhCFElBRVCJvHKoVKwJ9A7MGOhrSCKINfSldIkgVZQ1ESeoB3A21C0cBcUNnV54aIiAyLdJPQgywHjwT2BNO","wwVw","xwZo","ogaesgLMdFHQAn+mAyMbmw","3QE+TOYfrQzYBbgBsAnYW6c6swLFmwOoArIFRF7ORs8Km3+4jAG5PcURphymHs9ZVxDGHZ0djlfKJ8QBywNAEKVCwSrIArFZ0vsBTA","BqoEvARcCqUBqwF/AZwBughNBcABggHHAb4DhQSLCKsD1A5GAkkQUAO4AYUY0QJPFHgKsAFOCUcB1QVLBIgB0wO/A7UBpQOWBqAS3Q5jDkwTyDR0CbUfwQHUArwCQwO8NEEB0wFMAagBtwF3BHwDbQErBrQdogZREb4HnB2XMNcB0i64QJoE0APcF90ohQbAenst2AJIB0oLWiZBAZkBiAJFAZwKnQxJAs0Bs2m/JtALzAxLE2YJiQFxKc8ypCeaVrcCZgbVBZkFcweRBJIUoRy/CEwOSgJ+Co95wQZSFdADThRPDEspbDfkAdMI5BCwJM8djg6oBHU+ohHMNKg","7AdU","zwdB","0QGf","7gVz","mgOx","mwOl","3QJY","zgNR","7Qc9","pANC","1QuZ","K8eKAbU","swR9","EIGcAXcM8MsLo5YFyA","uAGC","xAdD","qQuvb1ToBME","mQyE","tQSu","lgej7gF/wgHPkwLO","AjgBSwWPBrMGSww9CJgEzg87E48IYAwpGEAVtASfBSoLeyF1EjwQeVopEycSXdoBMDHRIPEC3gLQAuUPoEOSBoQzJhWbDb9+iwG1IJhSaDJvGlEXphejBSEWRA8iRCkIMRWoHCgBmgOOBLY1XQFgJqwIpgesBMcHfj9IA4QBLAakDyYRYgF1ASABLwaRIGgIrAK1AigIcwU/CiopeAp0A3sZKGM5AnoFqgQqAzEVShKnAXkFoQhIDG0GLgQ9BnMCqCSoOGkJRwg+DmcXRRZWD3ITTEk3TWE","kgVn","2w6DAoQ","yQeWowNvrQe+","O49oLkObfyvDAUgYpfwCbbUBUiZHLGKTAZrVAW8GWTEnESELJFkoSh8gSi5mIH0ayFeXJCMJbw","CJEBcwGGA4cFfgSTBqEBKgEtBjwDWQE0AtcCdgFLDIMGTANAAZsFnQqUDHIKKwJmEW8BUQEmGKADdQWJCWsG4QOsAjUOsQGLAWgCJgQvBzICuQGoBTwEKFxFAoQYkwZEDkkoMg6BBPADiSEpE7UDbAjWDYsmiCL1Ad8JhBArA+YNKyJ/Hy8BexIyBJIJQAF5JioBhAdvM4MwhAiFE4MKlxxkApcCORp7A14MIwc3AX4CjAaJA7sEKAQvBB8EOgbIA7oCfRltP8ogLx8zIVIGSxszEksCLwo9DS0hQifwB6MdZBtHDikRjgKCCYAiPwZ+AkkBMBmhDEcrKB8mAk9aLwUfBDQdpzYlC4ISkxDTE4cFXQRLBS8BOjpNSyVKJA1CCSICJy+hgAHXBcoI2yPV","ngOe","xgi6","tQTm","5xHN","tgR5","mwFOqARHlwT3IESxBJQB9VSd","NOU","NGU","vgSX6gYvAqULhdgDz6cCSg","jQ+u","jQ+u","NN0","Au0GuQXEArcB3ALiAcMIngJRA7gCygnlBNUR4wS1AVkBygHoArIF3wesAUUIyAGyBFMDvQHAAcICvAHKAXUCyQO2BCwB3AW8AuUBvgLQAbwMOgZXA+cC0gPCA70CygHmAbgTYAPBA6QFqwHpArgBHgKmAucHyAO9AW8B3wK5AW4D3gLJAd0ChgffAu8BzgKTCOwClAXUAb0GuAS5AnoB1AHjAcoC1A3QA7AG8gLYAs8HngniArIEqwXxBbYC0wnMAbkD0gLmCdIEuQGQBcYBvQnLA1MBjgLPBr0BvQK9Bb0C3gGgAuwE9gK9AvACvQG7ATsKPwJKAkIBwwndBNcB0AGuAdkB6QHjBn8GvQI9Au0CuQ3jAcYBvQa9BJgC4wKNA+0BSwKWB7gBtwGtAdYCZgF5B70BuwLlAdEEwQFbAd4B3wHXAroCbwKcBdQB3QHCA6UF4AGdAoICvALuA70B1wG8B90J5gPgBtYEvQGQAbECVgafArgBvAOoCMIB4gbVBt0B3wG9A+oKagO8AdEB5AG9Ar0CvQS6AbkBvAHSB+oD6AHbBjICngHYBuQB8wHhAaoCwAXjAtoBQAO9Ac8E2AHKAtoB4wqXAb0E8APQAr0LzAK8A7wB4gPQAawBRQHtAkMB4gG6ArUBvBG8A7wJ8wHsAt8BvAG9ArkGpgS8Ab0HvQq9CrcEiQJoA7wCtwK9Bs8BvQG8AqkCsQPvAd4C3QiZBdYD0QHwAY4DuAjWBeQC0AHXB7UI4AEyBLwD3AJKBp8EvBC9AccB5gJKBH8MuxCoAkQG0AW5ArwF5QLOBtcBOAK8AbwBuAHjAr0D7QRKAd8D0gPdA+EBvQPxA94HTQG6AucC1wFGAvUFzQdCA7kC4QO9AdoD0AKbAdoB6wHcAkABPgH4BewBvwOXAtQBzAiKCL0E9QHBAb0DzgaRC8QCTAbEAr0BvQPuAdoB4gHrAr0DvQHoA+UFvQHcAckEWATSBN8ItALaCKYFygO6AeEB5AG9A7MERAnQAkUEdgHwC8kD9QWDAr0C7AHHAd4CyAjfAeAGugO8BqsFHgLgAdoCRwblAdkB1QLeAr0BvAWSAbcB7wPtAtwCbRTTBr4JswXmAe8B7QG5Ar0HzAW5BekCeAO9AtYBuQO8A6IBvALRAb0LKQTrA8MHyATOAncIsQP1ArgBfgK3ApEE7QbLAUwBmAFHBE8BpQbTAtgFSwFMApIMNQOnAdEB5gPhA7wBxAK9As4B5wK9AZcBvwH2A8UBrgW5BMYBqQW5A+sBvAHRAc0F8AG9BLECvQPKA0sCwgJDAaAE7gPaC0EBzwGbAr0I0QHXBOcRuQrfASsBuAK5A7cFuQhpCHMFuQO2At8CtQHOArkBxwO3A80B9ALMAc0FogfDA8EB4QG6AqAB2wS3BYMBiwHJAoUBmQSfA9YCuQGUCi8CNw+JBG8GzwHgBb0BngHvAuQCUwOpAb0GlwbIA58DqALKAZAFvQi5ApgHvQZGAbwDPAGAAj4HkgHXBrcFsQHWAaoI3ALSAboBmAHhAoUC3ALJDZ8C1AJVA8UIrAOnBOQBgAHMA2sBcwXqAr0CIgvwBNYCPAF5BskBSgLOAukC5gKXA9QCYQaoAxwEMwY5AcoBqwK9AWkBugaqAsgB0wG9AaMDhga3AeMMuQE3AyYB6gHjAbkE6wG/AeYD1wjsAm4B0wTUAWAC8wLXAcsBygG4BN0CkgHLAdoEsANFA9IDRAVpA7sF9Qa8AbEC7AHRAc4F1AFtAeUGoAjVBPUCbwFGCr4DpwSLA3UNvwHmA+cD4ATsBKwBxQS8Au8CRgPxDOEB6gLlAm4DwQPlBuIMPgHSA+kB5gHkAvIH8wL3AsgC1ATWAd4GSgJEAeUB2QjNAdIF9QFhAz8DyBrJB/Y","fduEEcg","jAmh","3Q6FApoCyZ0DPw","7QjKEcQ","jQl4AWM","nQWlD7Q","1xHQ","DYE","iwjSBtY","3Qbe","HVE","3wEwzAfTvASJyQHZ","aHE","+Q/S","0g9m","0g9m","1wRl","zBG/Ack","kwRH","4BBM","4BCt","4BDC","1wKz","QNs","pASAmA24","jgjd","jxHM","jxG6","hQ+A","vQ2DAYs","K+Uc6JMB3gO5Hcb/Ac6lA0qJAe/GAfCPAvMEo7kDThM5AcU","hw6X","8Aeu","TtnQD8Y","ygtr","zgi/","0wFH","pwhy","tQna","jAe1","hg/M","nAfF","qAO5P6I","4BDc","8AfLCNc","lgHn","1wKc","ixHP","uAXM","jAKr4A/U","7QmL","hwJ60wHGZuaBCtROzQ/n","hgnE","igO0","jQl2","zAeq1AWW","+hGw","yAjykQnl","lRDg","tQFg","4hBv","mgSxlwfzxwKeuwPB","3wF2","kgWs","6wGT","/g9v","zgSQF7c","zwWXjwF+nwiO","5QJE","pQ5sKNY","2QOZ","zwzI","mwGD","qwms","6Ajs","wgu2","G54","gwjT","igyp","xgmV","nwhN","Tnc","Tkk","9wnH","jQPo","ixDo","jARb","+guX","6gJ5ngWg1wLlAe8BzQ","X5Y","8QbL","vQmmCcI","mwGD","ygPPigLt4gvD","ogLdPtKcAS/LBeIzyD1C2wF2Hu4DwKMCXzNrLmRbuRDSBKYW6w","wguW","wA56","lgvj","rgW1mQFo","jgnR","9gnq","dtuxB6mJAsfmAn0","1wEr8QbGkQnP","zhHj","vw2e","8wHn","8gmD","nQ3o","E2A","pQSd","qwTm","brZ66lnVddABrsAB6sMC3NsBy58Ep6IB0xifcoZAZg","tQOq","lQSc","1AaV6ATt","uAPRAdI","Z8AEqLkBlw","4BDk","4BBM","nxHW","nAW+AaUPxwGS","kQiv","zg6q","0QLF","EIE","4RG2Ad4","pQMrhg5f","/Q1G","gwui","5QJ7Fc/KCJDhAmzGA7I","+Q3l","+Q2/","5w/X","xAiR","kwFX","nw2W","pgt3","qxHE","jQNH","gBDK","0QJg","9QGBoAqp","5gHa","yRGy","hwSn","pAzK","kA3f","yAHN","sQ26","mgzZ","xQWf","hA/k","tgXj9gag","7AOx","7AO/qQTU","jQTNAaA","swqm","ywqn","rBGx","3QaH","lRDc","+wNm","jwS3","/g/j","oQHi","oQGK","wQUw","ogrU","iBHn","nAP2","hgFFHUkpQgKfB0BlQgFQAlwZng5FEpcBTi+fOIIJPxyIQTMLSxBAEno4qhhJAkckUBJOrAFOPZg051VIAkk7aAhNLkYCXAVGLFE54iGQHEUCNweqAkUTVRZEAlMRRW9NogGsJEoNSwFQAloETgSbBakTWARFApsdTB9QIm4sT2ZJ","mQ5c","4Qeq","BFQDSwOGBIcCUSHJAvcDUQNOAjsEnA3oB/M0YwWaAd4FRw/lG0AN2wJtCtEBpQjnD0wF6kLWDGoBlxV+DEMrRwm6C1AswRJLC+YEXgFuaWIHSQJyCKox2xiCAuMFogpnArwM4x5hEOJZThOfLKwFfz3PUCYC+hZICVwB7xu/NGsVRQXyE7AK9gp/AYgHRQJ6HikHagGvCO0I0hFSDa8f9hN9FWAD8QHGBHED4gPcA9EBQgLjAcQCvQrWAZENMgkxD1AOjA7UEvkrnB9GAUQD0wHIBKQGcQmcOEQImgO2B8MBxRWoHcshRAtBAmsM2AeAAnMIoAiwCHIQshnjAeUlbgLBJc0EzgTvBJ0GuAW+A7QLSSfLA7gV6hO5Fe5A3i6R","6wp9wgR8","vA+J","2Are","oQu5","nAd/","sRBB","M+AgsIsBy1aq9wWy6AHLRcCdATi4A6eEAbM","MbgCSSC6/gRI2gJ/INtPQzfnxAGmYNa8BEE","0QmkpALC","2A7MAc0","oAdKuQGx","/QbvkgQ1lQNk","/QbH","/QaF","tAG8kgH1C2B2o9UDms8B6ZcC0OED5lPX","nA/R","gwadpQbp","rwSQqwRRBrRqKuwBsQ","A+YGwwJXLm8mYjFBHkgxoxZCBZYY3QuwXt4snkNJK8ISng8pOJBizSytMLIFvwWvkwHEHCpttQfvKIkCyHfDBb2uAZIDSB8eRmslbw0oMHtKsQHJNcMKSEJEJkwbmJEBrQ+fBqG5AbwnSA","2Qju","nQKw","/wm9","+wLe","lQxr","OW8mYg","NHs","NMs","rA6a","9QHP7AYztANr","9QF1oApr","ogLY","ogLF","7QGd2QpA+AGm","rA61","rA5u","VboKlFhDQ5ZrvyJi+QGTqQOprwGsPp62A2secUo9nQFpB3tXREC0","rA6r","rA6G","rA5a","kwNhBPc","lwOr","lwPM","lwPW","NMk","CT5ZfhglBHc2oT9HtwJtUrMpZCFt+ALWQj2jAZgFbzGmZTR6kxCdKTcrKwJrRZYCMz+xGEK7AaUJnSab","0gPr","0gPe","nwEu","rxDv","rxC5","rxCd","rxDe","eGY","9gLzAfE","9gLHAbk","9gLmAeU","9gLIAaw","rge+YecC1fsC6JAF7A","jwjh","zgFovgns","kQiv","mQ/DC9Q","mQ+N","Q3N1zQGBAqNZ8QFtXyQC8QHiWokP+gH6ggH0qALHAWYBi0ZFFtKXAfiOAXGGAS9PpLoB3C9vISco9CfdTHyQAaIBosUBxw","vgMt","Ca6xAT0BowmaFkiFAaIdvNABz1KiK3thzAjNFOWBAaUIh3dw1gFwNkMZR/UBpBGfFyq+AXMTQnu+RG8Ba6ABnQ","2QP2UuarAeNTkdQBMRFzFuwFcSl2BngBXiZCsAO2OXb3AXI7gXxLBrDOAfEB4QU8","/whC","qwTQqwGYlAzx","nA7u","E48MjgZjBZoM7AbBC94BvQXXBe4LkQfUCXEY0QYzCPoDfAM1ASoFLgKgBDsBKQRbCfIFoAKzA7sH7wLxAdIL3QGcB74Y2QEpA0IE3hecJ5ECeAFsC9gL5wOIArQDiAEsAz0GbxFzAtcB7gmWAtEFogQ6AfMBNwtLBe4GKwFCAUoEaRVYAi8HjAEqDPYEeQHiAewEMAKjBicXqgVsBtwf2gw0AYoC6wntIzYZoQTwBOUB4AfCAfIE4gPyAsc3yQm9AeYC5gHBFrML6Se4CvIB5Qq+LtwI4BQrHH8C7gfbEfsGwAXyAbEB9Q07AfIKLwQfBvYEtxT3BnAD+RPmAeEK9AH5Ai0Pqw9TBSkPzgHrAfcL6Qz0BOgB6gj1AegN8wHHAaAD6gXzDC4BOgn6BSoEyyU7AmMC9wE9G+4EzQ7nCeoD0AEoAVEBKTdNA+8ILA1vAmomShAmEpkROw7bHtwFOwi3FqEWzgQ2BloBVwFYAjQD8gHVAc4MfwSzAbccgB3kAdAGLQfwDbsPIwTqAfYD6QE9AvgB+wcrE1oCzRdaAdgBqAq1Cu0BjQJqAaQB2QXYEKkb7wWMFSoSmAifC50HOQ2KCKsE6BvNAb4CmAnbAiMEYgFtA+kBsAH1CN4j8gh0BNUF3iDkEjE2TAFmAbEQ4QSWELwO4SGmAm8htjWqAawDmg","tgT6gAKY","tgTV","zgP66AKY","ggPP","zgPD","EzM","iwfHAWYBiw","9wLc","kwG4owbhUIU","uAHS","uAGw","0wr3","tgfK","AOgB3gLvA/QC9wTWAu8FfwEoA+AE7wLLAp4G2QHcCIUD5gXiAaMB5wPdAZoB2Aj0Ar0CxgTaAY8DrgTEA8sBwgLUArkC3QXyBuML1gS/A9oE4AXjAeIC5AXjBOsD7QLgB8cC5wLFAvUG9AHhAcgB0wnwAuYCSwH0BK0GoAjvBu4B2wcoA+MC9wGgAbgBnQGdAaEBpAHwBusCtgSoBPUB4AKNBW8Iigv1GN0K7wTZAdUB3AHcDqkT4ghvApwF5gqyCO0LogKzAmcB2gz3AsgKaQioD9kB4gHEBsQG6xHaF/QIrQXaAdMhqwj4BNEKtQrvBfYRcAG0C+oM5QvqGu4MlALsA7kF+Cm2CPof8wn1Atgh+QHwA+wC8gLPCOwd9gXxF/EoKgdjCLYHwQ/uBOsD6gLzBXgD5QnwAckQ4gLrHmIX3gFRAo8G1gLrB84EZgHiEdAQ7xHBBOUDYAGpBN0D2QG6Cr8BxQZgBewCugTvEeIF5QGbDfMF4wm5AugD4wTdA2YBnQPpBOYFywHYB+YW9BK6AXAB6AH3BI8C5gPaCTgWMwLmEz8D9QXyAe8DWAXjAZACwQNHBDsD5gPlG5UB4QU1Fs4V7gL0A+4F5AWKAT0FwwW9AvEBSxmRAboF3g3oDKcG8gfkAmUC6gLmCcQDwwPQA7YBrwGsAZwCogPDEOMC9wHvGtMGbhmcB+wI8QH1DtQV6QpKENAK6wLQBj0ExwLwCtMB4gHVBuMBOQL0AuEB2gHnAfMB4QKqBtgB7AHkB+4BxAL5BZYE9Qb1B+EC3wPhAesB9AP3A+cH6QLiAvIBzwnqEuAKeQHqAuYH8QTIA+wH2Af2CvUL8QPcGzIEVQL6AnsC9gHiAekG6AHxA90B5gHpBK4bawflBrwBlAGPAl8LKw24Ec0L9QToFoID0hfxBr0Bvg2rGdMH6g6NFj8BnhXIAe4MuQKMAmgD0xbiAb0CvAHD","jw1E","7ggo","RbnKDEQ","jAMy","RaK5AW/cA8g","yA/P","A8s","2gXL","jAMy","+A0e","A38","lgEmFic","gQkueugS5scB2+ACTAgh","lgEm","lgFC","uQ4h","ugJ9","qwEl","3QGR","CMY","CKA","vhAn","1Atz","vhBa","zww2","HSpNZixCISw","vhAn","8hDg","8QOxVM4","8hDp","qQWD0QnF","yQsl","+wnH","+wmt","lALUAW1fJGzzAb6fBfA","lAHv","lAGa","9AIk","0gHTkQP04wP41wTc","vA58","7wX5","1Qp0","xArKlwKk/wOh","3wmU","Htm3CnTzAfk","yAzI","mQrD","vA6n","5gjd1gXd","+A3d","pQjs","6QfSrAbz","lQ6h","lQ5c","H3Q","AusP9QJVASgB8wXkBPICbwOtB/YF8hLpA/IJ2AniBvAE9QLuAqQEKwH4BOsF+AT4AfYCvwH4AfcBxgPmCvgD7ws8AtYC+AYsA/QB8AHyBKsC5gH4Ae0D7wP3Cq0EQQHxAu8C5wHjBmEH5gTxDvAFuxvXKPIG+Av3BvEKMQH3BXQJ+hT2AT8C7gHcFPENwwHvBM4F7wKCA1IC8gLmAagb+RF5DkMBxQHsBucv9Qr2AewE3AjdBOwl6RDvAdcR5iD6E60O9QEqBbws9Qb3A9oiSQT0BPIB6BDzDUkQ0QbqE7cH9xDpCJIBZgGLCvEG9gH7At4DvwTyDV4LfwLyDe8B6gWUC8UV2AX3Decf4A3CAbEE9wnoBdAE9xn2A/UB3we9AeIQ1wFyAZwG+RHqCO4DyQj0BPIEtx3tC/IBOwXiElkH9QJ7AfUfzzJUCKwJ4AbGA7UBOwV2DfEPlRHrCe8C4QL2AesU0wH1BvIEqgHrAYoC7QKMB+cDSx3hAewB5xnHBtIH8QH4BOoKzg7fA8MG6gHmAdwB+AHqAd4H8BH2A7UB8QLQBtwD2QFcAfQB5gTjAfoD8g+UB+4GlAPqB5YE9gj1AvcE3QLeCNAC2wgrBdQC7QmVCvYE7ALmAfcSfBjxAcsK4QX5DvEB9gLXAusC7gK2AfAEZQ35DdYB9Qz0BOkB3wf0A/QC7AXxAdAB+AH1AeED6wL6AfoB6wTuAfkB4QTaAvQG+QH6AesC7wH0AccPaQGfBL8E9wLbAucB8AnOAckDVQGBAt4FbQLtCcMC2g7cDcsDawi5CVIG5gWVAfcRbAPuBu4D5wvpYZErPyWM","Jbty7g","dt8","jw2s","4gif","yQjo","4gx6","xwOWtAJuJrPuBqwe1ukBtQ","+w5P","qATf","7QRP","RJ1XdRbCF5T/AenYAdhTjC+K5QK4vwOrAckww9MBsx7TIXw","Fck","Fck","hgm3","mw+o","nA+j","7w4p","pQE7","+w5P","0QK4","9Qxp","rAEn","zgyz","uQ+U","KoI","oQYmxQfBsAFW","8g5h","vhAn","Vlr+CnM","kwFX","hgjS","dy3oAc6XCuilAWpnOQ","vhBa","5gjA","8wLjygo9","lwE8mQ8m","vhAn","cscEsBPG5g0p","0A/V","hgmX","3wza","3wxI","RHE","oA5N","tAFiqQOtnQq3COEByA","7Qi9EcM","ow1W","pQE7","1g4q","4gya","yQsl","lhCx","lhCx","0A+A","0A+v","hRDv","zg/T","swGg9AKejwuo","tw+5","2g2s","3Qlj","xQX24Qu1","xQXq","xQXi","xgjC","xgic","xgiz","xgh+","sgHZ","/gyrswJE","Npc","qgKl","ngjCpAN5","5wbk","uA+3","8Q3ZAVUCzQ","yQms","3Qlj","rgys","OHg","kAKx","mQNLkAZq","qQnC","xAXN","1QPw6QiTAcSxAr4","5gWl","mBGi","EakXaGRgpQZHCrK1BKBznZQDpQ","oAx/","hAPN","APYC3QVLAVEBrgJXA7MCpQWAAVMD2QK+AvABLQHGAegD8QKdA80FnwSXAkkD7AFWAs4GYQOCA3IB+ALTA7gGtQF7AloCRQHwBuEBzgFGA4gB8gPkAaQD5wGoAbwBggHAAbkD5gTdAmYD7gFvArcL4gJtAcIB5AG7AakB5gHhAd8B4AX2AcsC7QK/AcwDrwGnBMEFrQKyAfcGjgHpAWoB1gE8AdcC5gR2AbQBUQHYAtQBtgLwAeoE1wF5AfIB+AGkAUcBbgFvAecBjQHHAfEElAPdAZwCwAF1BGkBYQHxAekBoAKeAZ0DpQM8AbUBswLfCaEBSwHTAd4E6AbmBn4BwgG0AdgGpAWQCOYM8gH4A90B2wH0BukB7gPEAfQL5wHGAccDRgHPAuwB6gKPAXEExgKWAbgBXwHDAe8G5ALuBTkDUwW+AaYDRAHTA6IC5wTcAWwE6AnaApoBUAK4AmYC0QI/AuoBzAHbAbQBaQXnA/MCwQG5AdEBuwHNAbgBdQPnAjwCogKfA7MCbgZxAtACqwFfBFgBZAJtAccBoAHpAbwBjwHTAc4I3AT2BsEKtwRYAeYCbwHTA48CoQNBAfUB7QF1BLELpAHaAbAD5gGmAd0DbgGmA/QDywNPCHcBoAGaBN0B+AK7BdEDMQGRCvAC8QHuAZ4G+AK0AeYDsAG1BKwDPAHDAr8FnwGSBOoESwKJAYsCxQGBAdcE5wbdAr4CbQLlAdcBpAL3AdkCpQNLAc0DPQGeA8AC4wL4BNIDvAP5At0E2gH1AesBZQLeBYcBxAHYAUsB1QLoA+QB2gHHBMgB9QOqCvMB4wHvBn0BnQH0AeQC7QHwAukH7wHtAe8IqgH5A+kKTwI5DN4B0AT4AfcB4gKRAe0D5gL2BNsH7gjUBc0DpwHvA8kDfQHWAZoFuQLOAu8BvwOmAckBpAGjAu4B8ALiAscGfwT0AsEBbgTxBd8BrgPwBbgB4AHkB1oDaQKyBfQEqQdIAc8CigTLAscBpgPpBt0BlwPHAXQBaAEqAb0GbgbZAdgBRQTXAu4BbwPiAcoDRAJ7AWMBhwFIA9gB3gNJAkgIlwPlAqMB3ALVATEDygFGAeoDfwHYAW0CoQz1BJsCtAPlCMwDqQJAAtEBiQHLAWAE0QLSAvUD0wO+AsoGygKbAoIC5wGJBG0BdgraAksDxgHlAvYB8gTsAtYBTwGnA9YBfAKaBJUHzgG2A38BxwKpAW4B4gqdBncDsAHeAfEB8wLmBG0CTgFmBLwB7wNHAuIC3wbMD/UDyQbBAXQCOwHcAocBRwJxAUUCwgGuAXYBogFpAYMBwgG3A8wE9QLXAYsBjwKWAaUBSQPfAuMD4wKyAdsK5QPhAe8CSgFmAZ4BowGeAXcB5QLSATUBsARlCXQG3QPmAqUCcgJsAaQB4gPvAaYG8wLUAdQCzQTIAbQD4QHCAeMF7AE2AegG6wHPAmQCqwfHBJICSwHiAXgG0gREAmABTQHvAs8GRwG9A2oC5AG8BIkB5wGbBfEBowHjApALxAR8BMwC3QPtAcEEMQKmAekB5QPjAccBWgltAd4BzAG4Ah4BxAHyAo0C0ALQA9cD4QHJBKsB0AegAXwC5gHTATEB3gGKAm8D1QO4AtkCSAPiAdgDrgFjAU4BmALtBbMC2wH0AfAB7wSNAfMBWgHZAZIDfQHrAUsFcQXXAvMDSQPgAfIBzwHwBN4B2gFWAWIEawPTAdMBTQEsAbgD7APNAmwJgQO5AcsC8wGjA54EcwWRAbEByQPaAdgBrAJCAu4B5ALbAeUB5QPaAeABfwbKBegDTgG9AsYDpwGeAU0D4AJDBOIB9gGdAZEBSwHTAfAFzwPBAuwB4wG2AaAByAHVAbAIrQGkB6kF5ga2A2YBpwHWAdUBwQbtArcFxwHjAXkB2QHUAW0CbwJDBcMB5QLPAcYE5gGDAc8BgQLaBp8BvATmBIICzwHcAeYDOAE/AqIFswOzAy4BZAHgAaUBpASgBKIBvgHgAz0B1QHaAZ0EcATuAdIB7gLLAU0C5gGyA3YB0AZgAakBwwHtAuAC9wH0BPEB9AHzAfABvwHyAe8D8gGjAcAE5QNmA2ADwgG6A3oB4wIuAfkBpAHUAeIC9AHwAfQF0gFzA90CbAd8BNsErgFuAcIB7wueBccCoALZAZwB8AXKAqwD6gFFA7cD3AGhAbkDrQM8BL4FsQLeAc8ChAGuAd4N0QGqCcsBiQP5A80CvgF0AbACvQKjAcoIvAPcAakC9AHMAUIBbwFrAdYB7gFEArsBggPuAa4BiwLxAXoCzQG+AZ0CKAGiCNMBsQZnB+kB7wF2Ae0JzgWRA4IBvQGhC+UCuAeBAbQCQQLiAeoB0gHaBNMBqgG+A2cD4gH6A0oD9gfMAocC3hDyDEYJnQPuAdoBsgGwA8gC0wK3AtsB0gHVA8kC1hLSBfAB7APTA88F5wHhA4oD8AL0AcEB6gFlB2sH2gPWCO4DmwPwBNw","+wLcUKUVoo0CgzN4kwXQZJOjAl3AAb0hShPZyAGy","+wLCUKWFAngdgzOjkwXWhwM5wAHZIUrbAdE","0AV46gg5","xwV6lwnBAtABhg","rwbmBLI","7AVx","7AVx","Iy0","An7MAZTXBLLSBrw","JZ2cBLWVAZ4kw9QBrDiFXrUBqegCcNgCbA","jAF5XMmIBNjEAebHCOc","HaY","xwV6lwmCAo4BppID1A","alfOBKwJxJsB5KEE0T6v","0gZe","0gZe","1Q1F","vQWz","hA/d","asg","wQRz","KMU","tgXaGqw","0AXK","rAzG","pQ6Y","hwK/uQKGjQZF9AOg","2gN7","ctE","/RHW","/RHY","zxHG","mgxq","twGx","oA3V","aoA","tQGdvgyb1QGh","2gN7","pQ6w","lgo1","ngjN","8w2b","hwK7uQKGnAip5QG0","1g2g","wgd5vQFx/wOrpwFsLsM","6w1v","+glE","pQTUlw3q","jQ9o","Zt4BpASorwKaUtpV4LMC6wKgnwHcTJOyAeX0ATAHNdgC8gblCcLRAXY","twHAnwTTJNM","gxHS","ugR3zweH","iQzf","sQPj0AFHtgrT","iQy/","Rtc","nwzl","sA3j","SJQ","SFA","asE","aps","alc","Ars","pQ3u","ILw","wQKH","0gai","gBC7","e5m9AomXApwGrASqpAnt","sQOk","xwHFB5TzAp4fy78EzijrwgFqCYE+xAGnQaIh7USmKJMB2cMBzQWBIZcuzCTJOucGrwejBKYHKA","4w7E","rAXP","rAXT","8AXg","AOc","kAHa","vgXo","qw48","xwFv","e20OmQ","Ruo","1g69","RkI","oQN3","1g2g","ctM","lAbwAvQN3g","lAZZ","+RHw","XXgG3GluoQHgAuBN3t4B9GqqAfLhAcwBzDJl","1ges","XZEGfWmS","Yzc","Y5dpm7kE6uIBkQ","Y1M","XdcGvw","V9g","4wSs","6AFjLtg","b5Q","b3o","Rr4","oQaK","5Q3c","kQ5p","/xBn","pgGX","uAjg","uAjI","tAFi","7QXW","ngic","I98","wQKx","7AO/","brZ66VngqwHl8ASfwwNDlQHVogGh","1g6h","xwa+","kgWs","pQ5s","gxHS","SJQ","vAWt","8QR6","ywar","+gzXAd0","+gyRAZY","6QGw","tQzS","/Q7H","8AvM","doU","gxHS","vAXK4wZz","kwGM","1gGR","5wqg","pgF6","0Qu6","hA/G","gxHu","hAfw","xAFq","pgNE","5gbw","xRDO","xRDj","xAzT","jwqeAaM","qgzX","rwbs","1wHT","8Au5","0QKy","0QJg","/Q7D","e5kOmQ","wA56","9BDq","tQFg","gAjK","9RDS","3APMYJo","I22iAsTTCdI","zwGn","jQToAeRI7A","zwHz","tQF/","1APVngVpBKU","uAqi","uAqi","xw/O","vgKz","1hHz","uQKdAbU","UvA","UoY","UoY","UoY","kQ70","2QKZAc+AAWysAdLeCM61Adc","0weK","0weK","hgXS","tg3lAeAB8QHyAfA","ug3D","Zrw","mgSmHLeZAmZr9hCeggG/xQRSuQFUpwF/IH0","tgRg","ugfq","ugfC","vAf1","gAk6","gA7E","2gpzAXM","Bu0yVRtQAl5VRbYDnr8HTRBHZms","AukjcgyHF8QHqAGRCHooahRuBkEblgd0F0cToDS6Yq9d8B/OD7c5L4UBlg6oqwLRBaY9d0AhbV8DuTIiEfYCq4UBtRncUcwYjgGSYyg26AmdJpUCvQF1AWEBrwjzLksNojFpREUMpSuDFnwFfRHYB78YSECkE9oB2FPH","IkzzEPNLsA","lRFq","tQqD","2QPL","tQGW","lwvCe9c","ywrh","2gmqhgPx","4AyF","2gmq","5Akt2AUr","mBJp","M1/4B7umAbE","M9VZYhVDNIjMAXeiAmfoAtMgwU9rN++bAXIlrGTw4QRL","ywjB","1QGI1ga05gKC","kQuCZIo","gAkh","ggnW","ggnW","gAkh","qQzi","qQxK","/whIAU4","/wjGAdg","/wjGAdE","gAl+","HVFPRb0BnDpPQ0mrAqffA566AYbPAZ0BdjZHZ2xziDZL","ugLR","8wvC","qwzx","qwxV","XcwGYpYGpbcCLcQCau4DIA","9A+6","9A9U","DW8JOhDDE8EB1wLPAdk0uhxeNHEUsQn2D6g9ZwJeAWcnkwXkCMsTwRl+NKEXpWifLqtLXgqcc8xNoQFaC98B3FtskgHDNiEdxgf3XrNOxlPcEqEfdScvDnE++AH4Vd4P3AiyD7ABuQGeOfcOtALWCDsCwgzHN9Um0hS7Ap4DaR68C7E0oAnEErcB1yOAAYgEyQHTAeEB7gLaDqkIRwJIAtBS1g","1gGUF6g","7QHL","7QHL","7QHL","yg+e","sQ6k","7hDJAdMByQHeAr4","1wlj","BNoHjATRAaYDwwTRAoICogHtBHAEkgSKArQBnQThAbYC6gVWAbkBTgS6BLUB5QHYAlkE4wdyBdQBzQmOAsMBwQJ5BJoBcQPoAcIFQgG1Ad0B5wLLAogFqAGgAUUJSQPQAV4GaQW6DmsH7QGLAd0BKgd1B4gBoANlAe8E0wxoBuMBbQHtDKYBWwXLCM4B2gRFGncVoQFnAWcBXgFnAqUFmAKpB1wEpQjSCq8BugU/BHkByQHMBbEGoQnCA7cBtwnBGpEB8gHeBr0EJgVwE8sDvhTqA58MYgFnAdoc1QFHEJoKsgo1DlkEXgFUBK4BowFxAc0D7RvpAi0HlAHDAcYBxgNcBZkM4ALUArgBnBvKAdcBlwHDAdsD5gNMCZsBxAF+BMIOwgt2ArUU4RHPA+MWzwl9A0kC4wPjBrIQwwvQBIYIfQPKGa4BRgGqCtwf4wedCOgC4QViBYUB7gq6BOwB4QG6AtQD0QPrDdgEsgOuAacBMQLtAeIBWiDSIaABOQGkDEIN0wUyArcPOwjXA8sBxwoxAdkBww/AAdsBtAFRAa4EcwzPCUMDkALOA3MD5wG5AtMB4wWbBNwBlhWzAt0CpAPxB+QB+QG9AsMFxAFoBJoBxwHSDeYGpAPhAUIFsAeaBMUBiwNNBdEBxQLdASgJywnSHuEDqwVqErIRWgXoCLEBiwOgASkCzgGSCbcBSQVtDbkBxgJUAVcBYgFRAVQBXgFGAUsBXgFiAaQBXgFeAWwBVAFGAcUB2QHTA+YC6wPQAscCjgLkBa8BxQNvA0wDtwGlBJUCmgrnB6ADtgHNA3wMsAGGAZsBSAmfBnYB6gaVAZkE5wHCA5sE1QO0AZ8DpAGHB6UBNAPZAa0BqARIBW4CfgGBAZUBoQNsAY4BZwHCEHoDzgbpAbsB5AHwBawH8wH4A8EMzgTeCOgBbQIvAksB2wK9AbME3AlvAdQBzQ2nCtYGmAHDAloC4wWxA/MHUgSyA1YBsw8lBmIDXQFgA80N5QO4A+MBtAORAdYFxQHaA+wB6AHJAs0B8QHiAmkC4wLwAfUCmAE5A6MFoQPYA64ESgOKDs8Q3wbsArYGewTmATkB4gHhAuoEsgG8BEYCpQXEAdoCPgGmA7oB0gFLAdwBiwGrAbMBxwidAtQBzgThAWUB1wfoBY0DxAZrAe0B1AJtAbID6QSTAc4BywHqBKcDywE4BIALXgHIGIQF5gHnAegDZgXHAbwCiQKPENUCqALfAbkCywOJAY0DQwarBKABrgi1Eqc8rgpQHc8BwgHRAbEBswHhAbMBzgHeAZ4BkQGuAaYCiQSlAapOxAHH","yg/I","vA47","pQck","4wJH","0A1d","sQ6k","rAov","pguj","pgFr","AJQCeAFLAnIBnwpeAe8CbwLtBOwD4QF6AnABqQH4Bt8D7QHMC3cD5QHnAe4BgAFEBGYC5gJZAt0B6AanCB4JjgV5BJMH5g2jAYMJRQalAV4HqAWRApYCsAKrBOkEggLCA2gBowGgAsQFewTBAdsEiAHVB9IIxgTfB2ABrQW4CVsFywnkBMQD5APpBMMDnAquIu8CWgLkAdoImwO/Cu4FiQTxAz8D8QPpBV0BiAUxCZoDjwExCZ8LoQGbEEwCyQJaAdgBfgMrA6UIVxjSBcQBuQmDBhtAwwugBLgK5ge4A5cMzAvuC/EGixW2AqAFbBuUAZ4BOwPrAe0PfgvrAqEF0w3pFMsBmgdOCsgClAHBBNAabQOaBJ4BQgOFB/EFvwXbDZgGzBDSEOQBywHPAa8BywHCJ+sIlwjhAlANkgKEAbUBowSmAz8BUwG0AeICiwSbAvUEmALtAo4BzwShAa4C7AGXBB8CgwHFB6MD9AH0F3Mjlg2HEeUEow30DHgLcQy/Ab4BrgHhAp0CvALxAdQEngpwBmUD6QOQAm0EWgKeBJsCnwG6AqMcnwKqCJIDjQOnAeAEsw2qBm0HhgLjAvQQoQbhA3UDvwLGAYcBwAajBeoEygKSCaUWPwVQBJkIrQZaA5YCmgLcHoMBmAWcDMcB1AfwAnMC7AGeE6wFmgKQAmMEkAFlAVgFwARQApACphGTB3sBoBSaErsGlQJlAS4BywtnA5UDZwj1AfIDlwGOCJgB8geaAZcGwA23AtkBxQbsArwCXgSoBHQHjArbEJ8EkxCYBVgI4gKcCp4HkglaAvMPWAWZFDkBmBBMAVAB8wQ/C7EFQwlUAy8FqgFCAT4DlgzaB9cCuwbQD9MKLg70A9kNxD2WHcItoVDpfj8","twe1","ugHR","6wy+kwLq","zAks","1gKoywMmugEvyAO4","mgmM","0gFS","0wV+","Eeo","nwEuugU4","/g5i","0wWo","kg7x","A7wCcgO4Ab8ExgNoDXoOnQKFA+MCmhCWD9UTeQqLGEMGeQFeAtEDcAHAAp4NpzLkGcsaxh9aBl4okw3cCcM04wJaBrgqZgNRJ7QBOaMBmYQBQga+wQGz5ALT9wGuhwKeaHo4v1LNzQHbEckJnw","kwFw","MIM","HU3QActjeASTArbxAaAnYEaiqQR9A1zDAc/rA6Baip4BwgJuF5E","ALjtAcsp6D6rODLxBvHzBIU","AH57bXKo","ANTtAcuzC8Y","wgXD","ANztAcubAsCxBOGDB7PcAe4","6Arf","1wF5","mQzV","uwKdXaSeAZFLpN0DSzWjH6OVArCQAp+3AbFvLg","uQKptQGs+wqz","8gWmxQhwNZ0apg","hRDsAe0B6gH1","hRCx","iBDr","hRCb","hhDgAeEB4g","iBA+","aoEY6NAD0Xi58wYmhgJmduRenxSbgQHvAvU","ygV45Atz","ygWj","AXkEwwLQBsMBtQW5Ad8C1AGxAdAB1AS9AtMC6wXiAdECkQG5AeEGUAHuAtEC0gHGAdMDxQO1BLkFuQG5Bb4C1AGwAVgE8wLpAugBvQP1AmIE+QdBBegC4wFIApcE5QKgAaAB4gSxBz4E4QG+BkcBNwLYAYAD0gG4Au4B7QLmArUB4gGeA7cBwQJCAeMB7QIuAdYC6gLDAZ0FsAG1AdABuAFmBtIHkAPCArYJ0AHoAtcG0wZxAasCugPtAasFyAE8BNID4QbGAYEKhgPHAtkGPgrXCdcF6QWrAXcCyQI+AeoB8AHbAsIB1wJQA8ABuQS+BeMFiQLdBdsBrAKyAUgE2ALpAa4BawHkAuQD5QH0AesC8wH1EI0J8AXMA+8G6wLoAr8GUAFIAZ0CqgQ+ArYDugLhA+gI7wH2AfAByQmuAdIFmgLyCNcF4AHXBrkBugHpAdMCuwbkAa8FeAHaAXUB2gHpAewCQAFnArkBuwXYBbEP3giwArIFNQO3AeoByAmYAXoHWgH4BNACQQHOENgEywLlBLQDsAL2AnYDqgHdAcoCPgHhAdkCSwi8AboHRxSmBb0H4QSeAuUJuQm5BkcCUQLUBMsD7gH2Br0KxAHBAcAG5RO8CLwBpwXrAfIBuQHuAvERrQc+A9cF+AvoB6QG6QHYAtkB2gvLAesJkg7WBq0C3ALKBtgB9QG2BOwFugXjC1AB5QFKAdsBxwHrA54BawJKArkDmArXA94B0AJyAuoGvQZLAZ4CrwLsBEYFhwGqAboBxwHCA/QJzQHPAcAF+AHtAb8EmAHJAUEFiwGaA7wCvQHrFXwB0Qn2DKYBugG9AtsCvAH5AWcB9wPXAdQBQgG4A98D5QPqAUQBtgHMB2QDxgjhAdUDiQHmAesC6QeiBukBzAO9Ac8D5wi8DdsGvAGNCMoDvAPSAekB4walAscBvALCA7MFRwTBA/IDugK9BMAB6AG5Ad8E9gS5A6MEQATGA7oCSATCA0IBtAzWAoQBlQFOAboI4QO/AeAG8AHQAbwE6AHcAjwGigG9AbABvAPXBrcB2AbQApwEnQPaA74B9APmAaUEyAPlAbwTagG4AbgB5gbMAbsCxgLLAXABuQFYBEgB9gGqBcACuQO6AdUFrQSVCEcH1gJHBOoBSgGmBNYCrAW6A9QB4AHUAVAFaxB4BcQLogF/A4wBowTdA0YBngPYA9UF6QLuBqADfgGdA9UJwQTaA40JyAHUAcUDRQG8AkgG6gKVBKkB8gGpAkkFSwHCBssByQbfAeMB0gKpAUcCvwLFBEcCnwLkAkkI1AHZAdMRTwPeBcQCbwJNCLYCUQG+A1EBswFhAeYInAFUCc0C2AHBAncBwQHVAbwF2Ay0BssBRgqIAUUBQQdPEbkB5wbBAqwB2AtHCmkKdgFBAkAEmwJWBfEBugHaAUkCsgE6AVwDugzdAuQNRgFRAT0CxQLCBuQBiwFLAq4ExAHaAUwCnAHPCOoBvARPDrECvwG6BUMBRgLUAtYD0gTQBNcBzwHQAroDbQHpAaYBewZDAp0DxwZCAksEZAbVCDwEtwLmBcUG4AG8A5wGOAQ5AaIGuQHhA8YC1gRvAfYB7AW9BNABvALNBd4C2QFyATcB3gJQBrsIcgSqBXEFTgGMBO8B8AS9AukIRASxBUkC6wO6Ad8ChwHBBMAF1wb3AbQBuQWxAzMBuBbgAfQCoAe+Ds4D2gS9DrwSowLBAfsB+AH7AfcDnQNKAb4EwgLfBN0BYwNmAcEFRwHfA0gCSQLRB1ABvQPmArgWQgTmAWUCYQdJBbwH5wfID+c","7ALV+gTR","Y7o","uxHQCEA","hwaz","jwhP","b1A","sAGC","6wKa","qwTklwOexgWcnQHN","1g25","wAit","iQRs","6hC3","nwFBCEA","uAGM","zxFJ","pQ5s","hBHa","BY8Ilg","yAxJ","sQ+P","jhK1","iA5W","rwqT","4AfP","2gi2","cZk","pwW0","Y1M","5witAYZWwAFKBvA","uQLAAcsukYgN3g","/wWn","6hDa","1gff","IYs","/ANn","mgnW","IYs","oQUr","oQVW","uwak","yBDU","owlY","2gGD","7wjA","sw+0","7QLOmAOVP5s","b1A","XdAGt9YBcgFpygOsogSdwwZL","qQaf","7QLa","qxGo","qxGf","Id7EAkQ","6hA8","6wLP","0QbQ","8AbS","BZ4IlQ","rQ88","Y8mMAt1NwMkC4NEBuRGR","qxGw","Y5eDB86BAZo","5gfk","hQa8","kQPJ","5QJEmQqrpwHH","rAiSAuU","rAjjhwK8NeA","rBGn","swqV+Abx","qxHE","zwOr3QTj","qxHdAck","rRHDAcw","7wLcAdZL0Q","xwXL5QunAaIBrA","iRCi","mQjA","vgRo","qxHE","tQnL","qxHE","qxHE","rBFE","rRHD","5AR6","qxHE","rRHd","sQer","K80","hArl","Yx9NpJEMhAGD","3w9f","7AiT","nQGt","hg99","xwOu","/QqV","BUI","pwWz","jQ7B","7ALtUe6pBNA","Bos","6Aq4","mwXDAbMBrgGrDOQB0AHNAc8BzwHNAc8Bvw","qgXN","1Qlx","AVAD0QGpCMYBuQS3AU0B0AI6AsoDvwHpAVEB3wHIAcEBNQE+AtQCiAHoAdwCwgJ2At8C5gLEAssBhQFRAckC1wGoAc4BgAGRAkwBSgJKAYcBfwGJAX4BtgFQBuEB2QHOAs8BnwJ+AcIB4QF+AZwC4wLMAeMB6QNGAdMB2gL4AdcBKwHNAfEBqAHbAboBwgHeAbgB6wLFAkMB4gFHAdYBbQG8AcYB2QHAAZ0B9gFJAeAB4APMAWwBtQG5AdoB0wHHAaACegGbAWwCpAHnAcIBswFpAuMBtQFIAeEBywGJAlkCngF7AfAB3AFlAeYBnwFnAmgB8AGzA2cBKgE1AbgB8ALiAbcB4AHbAasB7wHeAcsC8QLdAZ0BhAHrAakBkAHFAe8DpgFtA/ED4wHkAb4BzALgAboBqwGhAdYBwAHqA/AH9gHxAcQBjwKeAccBzwbZAsgBvwLpAtsB1wLqA7kDYAJYAi8CzQjDA5oCkQm4CusC5wFWA+8BzgJaAUQBxAG5Ad0CvQHIAd0B3wK5ArcBKQHbAe4B1QOtB98BngJOAegCyAGrAtQB1wJjAbYBhQKxAUgBhAG1AeECRwHXAbIB9AHtAvAByAJlBWoC5wHZAtMB5QGEAVgD7AGmAnYBvQJzA6MEygKgAcIBqAGMApMBkAPSBOoCawG7AaYBrgLcAesBWwK6AdIBKwOGAdABiwFoC8sI2QHmA/UEzwHmAdkCowPrAa0B0QW7Ae8BmQHKAfYCqAMbAoABOALnBNQBsAGeAscChAHmAdwBlgLUB60BrwJqAscB8gHKA7MF4wLyAs0BrgXQB+QEyQHBBbIF7AHpBc8GfQFRAb0B3ALJAXEE4ALsAcID7wHaBPYB8wLlAcADwAGZAtIBhgOTAeIDyQHWApUC9wGlAfMEnwHPAssFywHbA8MC0AG2AZ0GtAOoAZoB9gHjAeED6AHIAtwGwwPKAqoEsAKWA74CwwLUAZ8BwAFUAewBwAE0A7EGmwSwAbsBnQTWBo8BswHZAboB+AGXBN0BywhBAYUBxQKjAbsE3gS4AtYGkAGJAeYG5gHhA80HYgItAq8F4wLNAnoEiwnyA/IEtAKvAcECwALvAS8BtAKbAUUDwgLwBdIB6QTiAfACyAWkA9QCwwG2AuQDrwGsBaUBjAPVAtAE2gE4AdUEhANgAaQC5gefASQBswF9BLsE0AFwAbcF9wOxAaADzwO4BM8DwwLxA/kCMgGqAbAF6AGdAegCugXRAbABSAHLAeoEqgJwAuMBxQLfBHUEpwM/AdUB7gHLAWcBzQGpAjcBvAGtAboErAGlAZcBOAEqAfEB8wO3AcUBiwFqAckB1wLbAYcBxgE1Ab8ByQGpAegByAOfAb0CsgGnAS8BaAPsAXEBmgHyAdID0wGkB6QCfQGzAvUB8QXaAb8BwQLcB2kBowHlAdkB9gHyBkMCzgHcAYcB7Qu1AaMBMQGxAasB3QLEAdsDyAHWAt0EiAGAAcUB4gHtAb4B6AfmAYID4wGWAeUCgwLuA7YDfAGcAucC5QGaAewDqgG8AeEBrQOqAYAD2QF6BXUBxQPLAaEBkAPgAXMBugG/Ac0Bsgb1AbEB7gHrAtUD5QLxAagC0QHLBcsByAG1AZ8B8AKiAc4CdwHZAdABqAHWAUkB1gG4BdsBnwLPBN8H3wHxBEYDxAKkAZwBrQN5AbsBlgHjAeoB3gHWAdsBxQGaAekBrAFoAUQB4ALNAp4C7gLFAmoEqQItAdkC2QKLAcsBpAHMAecBcwFTAswBuQPMB84B2gI3AaMBrgFWAX0B6AFxAukBxAHUAtUB0QE8AdsBRwHOBG0BRQHuA4EB7gHvA20CuQHHAdUC5QHfAeoD2QHuAroD4gPjAd0BeQWkA+IBeAK3A8kB2gGoAscBfAHgAawC3AS1AdICdgHFApABHQGxAcoBLgFqAWsC2gHTAYcBXAQ+AdEC0gLOAbUBoQG+BJIC3wJeAokB4ALjAdkBcgHKAb8B3QLKAroBpwEpAa4BugHNAbsDiQHVAZMCSgRVAWAB3wKvAcYB1wHxA8oBsgOyAfEB5gHWA8oBuQOvAdsBugFcAdIBkwIpAkEB1AGrAcABYAGTAVcBdQFZAckB6AHZAXMB5gHKAd8BvQHaAd4BywGVAaMB0QFRAdcEjQVSAX8CjgLCAb0C5wTDAaAB3wGvAacBnwGTAagB+QNwBrQDkgG6AbwG2gHGA6kDcQF1At4BwwGrAscD1QHLAdUBgAHOAnID7gHQAcICiwLyAsQB5wFlAWgBtAJ8AZ8EwAKCAfUB4QHqAaYB3QHmAZABoQHIAegB4AFgAW4B0wJtAtQC6gHGAe8DVgFjAccDtASpA7EBpwKsAYUBpgGbAq0B3wMrAXoBtwLvAcoB0AHnAdECnwGbAZUC3QHQAesC5QHPAfUB7AGKBvYB7wN+Ac4BogGsAU0ChQOvAVoBwQGkAdsBLwHGArwBMgFzAbkBKAHqAeYB1wKiAs8ESQG9AaIBtgPAAbMBegErAm0BqgTUAq4BQQHQAmMB0QPIAa0B1wHdAbcChQGbCdsB6gFcAecCzQXCAd0DiAIzATwBhwTXAeQBswVfAukBwAGeAcgBHgRiAfQB0wFpAXoBuQHWAaQBcwPZAcQCagL1AsUD3QGNAcEBtAHqAZwBygFHArYBmwOrAiAB5wHYAdAB4wFVAY8BvwLNAccBsgG7AeMBugHQAUcBuQHEAVED7wGxAUcBUQHKAdYB7gLHAd8B6gGnAa4BoAHEAisCrAFEAX0BxgS6Aq4CTwHtAqQBTwHDAdwCqwPJAdECqgKkA9gBxgHBAbUCogHSAfYBQwHjAeoBtgPfAWQC8gHBAZ4BSwHTAakBJgG2A7IBpgFRAcQByAFRAdUBxQHXAcoCpQPkAZ0BVQGzAd0DZgGyAdkBRwHHAdcB0gGeAcoB3gO9AucB2AHxAbAE2QG1ASYB6gHdAaYBjwLGAV0CzQHZAd4B4AGlAuAB8wKjA+gBlwGxAeEBMwLlAcUB5wKxAc0B2AFwAR0BeQHfAtoDyQKzAZMChAGVAnID1wXHAc0DogSABcABvAHyAdEC6ATRA+kB5wTbA2MC0gH1AcYBeQL6AbwBMQHAAakBRgHAAcYB2AGSAY4CigE1ArsC6AH2AWAC5QK7AmEB3wHxAecB1AHsAdsB3gGiAZkB1QHQA7QB0wLGA8oBbQHjAeUD9QEhAbAB1gGYBMcCZASqAdYBkAGSAecBOwGOAaoBggTwA3QFRwTXAuACdALaAewBpwFBAaEB0AFABsYB9AHzAkUB2AKfA/UE8wJGAeQHyQFAAa4C2gH2AfMCzgJGBUcB5gTZAYUDQwSsC+MCSAK7BLYBrQSuArkC4AXLAT0CUAPXBNkDSQHYAo8B5gHOAcAE1AHQBJ0BRgHNA2ICTAJCAUgCagLrAa8BaQHkCfAP0gJOCdIBvgKcAcUBNg","cTw2YhOtb5wWe3+FBJEOnTFygAFgIGwIelaGI0khLl91IqQdsGifXbM6rztRdT4MWiJNBqYFm2erTqEZWQN3FKYEqjucgAGNAc4VcjlTEEY8syJ1ZcxhyQ","HH4CxwVPC1wMcgHYB5AByASeXOMBShGkBZkY1QFHE6kU2TNdDSsZUmsteD4KlxeRcEta0xXFhgGmBZZFmEOfKCo+mkzEHiMDygaBKN4DqRHHGrIPnAJDAZww5Q+qD0wX1TbeBrcGSwvrAb8BtgqsB6w5nCnsASMMQReYAXYVtBKfA2ARtBS1F0YEvS/tGtYGThXOKKQtlQieCUkBwQtLFNwCrwHUEXg0dXzk","kwbL6wTE","hwKlwAGWzALLpQTe","hwKlsQje","kgrs","HKQ","rRAo","xAyf","yARaAWwCx7AMxg","8wqokgfY","hRLY","vQTH","qhDU","zwtp","zwuX","qhBx","hgEp","tQbR","pwRwIa0BsckExOAHdQ","qhDZ","J+c","zwuX","wwXe","1AfR","5Qcq","WtI","tQbC","yQTc","rQSu","xAyQ","xAyQ","iBHP","oQbE","tgaY","tgaY","1wmilwOk1gKj","cmwDQ2CIyAJGiQFRDYHNAVV5hMUDRitMKagXSA+wUqZZqiC0EM0DvwTEEKcHQwM9jwHYAYYMPA","8wFiOn/wAXXxCDUKNAidkAKwpAGglgFE","pAOAnglH","wwue","0wHnpAFTD8rLAsnxAely7EvyUdpG7AbqbshOvUhwEeYL6la1AbAy5QftWeUcaosB8EfEQoImQgLX","Yx+VBTaGAY6sAjkiLMwGogGi","BJkDiy/cErsKVB9oBV9CPwHBGMgCR13WBKoBYBFrHjkU1BORAq0dyBPBDdAhtz2iGFwLxxSoItM4agyAStMHxxjLGU0Euw+XAekChwPJDXIvnwkkTywcwRC3FDESQAeGDLcDziRMFK1s0AyNByYJRw2jDkgfURZyDoMNRAJDKN0URwVHBksCQAZMHGoGcBioDngPSQJLO0gSJBi4L08GjS1EJJcD0ATkArcBQwprDqYDcQyqCToCqAO8AcgQL0FwA28BjwmuFpk6SQlvD4kddgZtCaUtkBquC0s","uQFt2ggmngWP","Nn8","uQGW","1QFF","QHwwrgxPAmAlrwZpQ8oHPA5LBnw2S2JKgQGrTaOGATc2P0o4BthnTkt/cSMNQ2UjOjwWozGjLkMBRglERYuJATwHQ1CsFz5ITiU/BNA7rxSXFiAnR0RIEKAHRwpME0cBRFy8A1AESRu5FW8","wQWH","zgEyzwRmhQNzzAKd2QOgEjg","VjPQCKf7BB+rASs","e1zpAWmPAjMOatEBX3dOmwItpQGiSFAhrxJruQFkCCt0m045H3UWiU9mJabKAVE","CvPKCeEY760F3AvH","1AHW","1Amd","A/YC5wZFAuoG8AKhBdkCwQGIAfEE3QJhCOICvwZ7AtoD6AHvAbkHQAHTAnUBSgjsA4MCXAFaAmwBVAGpBFQD8gLnAUYC3gZBBbIMqQHzB/gBagHrAekC8QHCBGcB5AXsAe8D2gx1A6MC9wdnAfEBUAPgAe8C8QHTAvICUAH3AuUBJwEvA3gB8Ar0AasBOgH8BYYIMAfQBPUB6QPjBrEBrgH1BaoEYgOyA6cEywGmDOwF4ASzAbQQpgUyAn8B0gPhA6sD6AHhAqwKygTZBrYFkQOwAbcH0AHfCdEC6QXnAesBvALjBN4HswT1B/kB9QHSAfcC6wL1BUoLsAE8Ae4U7A3mA9oF7AHoAbED9Ab2AeEDYgGtAuYB0QvsBLMB8QOODPADzQHNAdoD0wHsHMsDrga7Ad0H9AOKAUwEvAG0AuoQ8wSzBLEGswOeAaIBogSzCtQBtAHgA2cZnA3yBLAk+RfcAe0BwQXPBc4DUAKwAbMBswGxCrAKswGxAbEBswGxDK4DsQGRAcsEtARtAT8B9wPsAegB2gLQAfgB6wGwAX8C4gauAcYB0QG0AbYBrAKuB2wBtgeuAa4DuAG8AucG9gJaA9AB5Aj2BKwC9QHfAfUC2AHfApUDsAPaAc4DtAG0AbQBtAGzAbMHrAJNA0kBdwjoBKwBrgyxA8wEtAbCBSEC3Q1ZAuIONQTzBPELLAfPDC0NzAGcA9YX9gimAXwF9gHeAd0QixFuAfUF7QrMAeABygHuAfgB8QG8A9sFpQPkCesC7hfdCK4HzgHlAcAdSAvfAfAB7wL1AdkB8QHlCasCvAzUBTMHeQHVA5sJkgHkAk0BRwJzEtADzwLVD+gBjQI9Cd8BmwJFAdYB9wHaAZwGrQbvCukEvAnmAdoBzhDgFvgHzgL3AvEElwZTCKQS8wG8AvYFpgOVA7EE3wXnBPED3gSuDT8GxglPBFgC+QHvBOIJ5gKeCskBxQP6BM0J5AJrB/IE7QLkDuEHpw1IA/EE6ALeAu0F3gFRAdEKtxW0EaYBxgTfCHIa7QjFAvMOQwPmAfAD2gGdBcgB1gHgAu4BJwF4Au0TgAT4A/IPuwfuBK4B4QaoCOwB1QXVCeMH9AHVAtQGtAGzAeYG9QOAAasF0AtLAk8L1wztC98D8QLmCNcIqgXPAfgBOwvYAagO8QhICecM8gbbA+IK6gOyB44B7gHOCPEC5wX0AeAE3QFCAvUG9QXXBvAE+xXDAXQBfwPJAfMBmwHTAZwBmAZmAfAG9wHgAdAB1ALbAfkG9QP0AfAB3gTNBfoB2gH2AscB6QHtBO8EmQPvBpEM3yS9AbcF0QHkA50FdwG4AecB5gHXBNca9wH5AusB8wXSA+wB4wHDAeID9wLzAvEBSAHNArcEhwFzAVAEpg","X5Y","iAHP","uwInhw6d","uwJE","+AOt","0gGAwwxOywPG","iBHZ","iBHZ","kwOt","sAHn","sAGg","uwInhw6d","DYr/ArbUBmg","uwJE","hgGX","0gFZ","lQyo","ugFR","vQev","0gHP","4gZa1gl5","gBJG","6gGs","/RC5","yAxh","kwF4","wQLb","7hDXBug","9BDZ","+QSvArDzC+oB0wWL","9gpi","9Qpa","sgbA","sQ9H","qhC2","lwGkOOcD29gE5Qjh8QIuggfY","0gFY","zAty","sgmj","BY8","4QlE","qgzH","iBGW","rgzc","swkh","swmW","iBFu","zAty","iAGb","0gGr","0gHQ","iAHZ","iAHW","mQ7fA5c","qga1","zAty","tAFBjg/L","6gGslxDr","pAVz","pAW1","5Qd/8wKt","/gxDV0U","/g2l","tgTa+QNx","kwPc","kwOC4gXZ","jAOr","mQ7W","kwOC","pAVzugtv","3xDP","whDG","ugFR","iwRn","sAGn","sAEq","/RC5","whBw","lAOv/g7U","zwGn","gQyi","ZHk","sAGo","sArE","rgyb","2AzQ","Hs0","8wH20Qa8","jQ/2","jQ+u","0wHa","KGRMp6gJKbEBSaIDKQ","uA4l","8wHs","8wGZ","8wHY","8wFt","rAOKwwsp","wwEm","nApvqQQqKik","0wEl","gBDk","qwGg","nQP7yQT3vwZp","6w0h","6w0h","6w0h","nQOz","pQ4/","pQ5F","E7pgmRRwftRzaVHEAuRG2wHVVekm2AFXKNYOyAzrIOcB2swByr4DyAPJJr4F4ATNAdUB3gGtAvkDRgLkAedftwG3AbgBssQCi60BnAG9VuYB6EXXCrgC0wPmAYMB5DDnDtM","qQvgBM0BjwHeAa0FRgLkAeeqBeYB6A","LM7MAbFOQjakLJ6LAaWNAVABML8BPzvaBKIIT48BO0YjA0YJQyycRnNNSEm9FaN6Ri9RTaBDPWixD0pQcgmwC0evArM","jBC9","Hc8","jQXY","7wVhDJQ","yQOSArfpDb0D4AKdMOc","+gFBrgfu","bZTMBEA","E58","gQns","gQna","gQlO","qAmW+gKB","sgv0","sgvu","sBBw","9QGM4wH2yQOXAabgBKAmnATFddQBkXarSpKMAZYYowGnAasd2DucAZgJiCiHR70FqD6fAaM","2APM","2AOl","2ANh","2AMx","2AOn","hQKrxAGp9APKwQPDtgaoBbU","uRF1","FWsFdgJzDLEXWgOCAsUBnwGDAXoGawmYJNwSegtHC7QC0wWGBbMVmBDcI8IznA1IBagImw1SJkI20SGaad5zTEbLCrB0S09KDJkGTglHIr2HAboixg1FLLwyeQ/OOksyUQKcCUotRw3IArAKpwRRNsRSzUZZFN4ZNwfwL4I0aANfBU0NTxjKErQaS15GQLs","0wEl","kgS/fFc2yOQL1w","kBHR","tgWuGsIgtA","8AXAAdo","jAvIEng","BEYvdh6iID4soBVZAZQGbQJzAZgYn1WhAsUvnyKAHU4IqQqsLKYGqAJJCb8onQNHIXgCYCyoBZsGKDSlA3MBWgE0LLsdowOmB38djGOlB6UTLQS1JaYVWQ1EA5wvnAenCJwBkAGhCpQSswgyB4AFvQGXBo0BgwGZAYsgdQGTBpQBjRiiAcoXywGlLJ4BeQGXFzYBqQMyBoYBxwaXAccDiwSeBJ4GewaXEMABvAHCAa0NvRc1AaoGoghWBJ4CoxuiAsoB0gaYBJ8BhAGOEZEBqQG/AZcBnQGPAbICkQGuAZABlgGPAZUBnQG5DGMSpAWZAcwBowWoA5sWkAWLAqAHqwGnAZ0BtAlrAooBtwGdAZUfTgLEKGUBOALSAZwBxgqHC3cCthAtAcYBvxTGAsAZlQHPAdEurAGHAagBmwG8I3IOYASYAUMgiBF+AoUBoAOWBbEFbgFrA6ALlyBBFTgNKwZrBjMFogR5HZY9JwVjKKcDzALXBeUFpQM8BKQByQGnAaQBpAGYAYsD0QOqAZABoQGVAbADnwGsAqQBxQGzAm4B1QWeAtEB1AKsAaADowGWAqsGtwPVA7UCowKbAcQDrAOdA5oBowKuAbICqQG2AYkBtQGyAbABoAGjAbUBrwGeAZEBrgGmAcwBiQGzAZ4BnAGlAbQCpAGoBNQNrgGbCJ0CzQvVAZAMlwTSA74B1APSA9kB0gHMBssFzg","V1SBAasVNZcDKh0riAI4QUCBATdkM84BKwkqGDRtJhFiggIsNkNKI4gBLg","jAvI","R0CwC6o","uQWi+AGX3QYo","F80CdAtNB0kkkwE1E6kOyQdmBE8euwOAAkECQwpSE74aqxVME7kzngY/AWhepE3NR9AIUSehP5gfZkiRIZ4HtD/JBTURjhm1BUQ0nhpJAqc91mqUcdkrkzmmGkohdE7KjAG07AHOF50FKI8BKVaG","AOcFcgGJApEDmweLAUIBuAOLAVMCcgG9A04CUQXUA0gCsQH2AasDkANNAUkBjQaNAZgBfARMA60FlAOjAUYDkwHEBe8BhAGMAtsFUAFLAz8BwQF5C6wC7gUsA4gBRgJPAjMBOgKTBLwBtgW/Ab8EQQKyBWwC5wHxAU4C7gKYAooBvgKkAmsBtgKjAcMBsQFHAUMBSAGzA50BQAFlAWAEgQE9Aq4BRgGwAXYDMwE8AV0KPQNHAZgCqgFiAS4C9Qc+BJ0KqwY8BycGyAfNBKYLPhOhCt0BSwKgA2gESwlKB0oDnQNEBi0BSAJwAZsEfAKeAZcBiBdFEEcB5gtBAawByAGmAbcBqAR6Aq0BSQFWAWMCPQO0EzwEKQVBBj0KgwWeAZMCzgfUB4sBpg6CBp4BLRowD04HfwF7CXEETBrPBUIC3wiiBDwsxwc7BakDTBBABkcBUAKkEGwWcgYsASEKqgJFC68UrgUrAiYBngXfHZsKJw6CDHsGdQvACkcSvgJxB4wFmAa0CzQBjQpLAyECQwpDAtgEigcvAcQClwGTCJEB8gTRAdQBQQG+BSwFogGtDJgJgwG5GdQC4QaxA78D0QbVCNUENQ3ACGwDSgnOATcCQgEoGaIEXgjfBLsCYgFrClQEKAS4A0UBcQXiA0cIpgybA6QFqgIhA48VsAOlAo4KaQJPBegB5gVqAbcGTQKSAoIIhwN9CsgFawOKCI0EqgyWC0gESQqqBZQBqxFzCCUGjwQ/BEMBNwFCAogBYwi1BeQB4AJQA0gSIQQ0AUICTwLDByICMQnPCEwIrgZzAoIE4gSiBIsEZAXPAScTpAFBCZ4FLwPrBj8CNwMoAt8C3wLaAXYFRgOhAYwCTQFIAoAGNRWrAUoISAIoCKsBlQOBA1ELRAOsA04GyQW5Bi0DeQxLBEYNNxjNAbULbQhvCp0DtQZgAScCXA1CAm8BUAV4AasB4gKAAZIGhQafBEYIMAWOAzQBIQajBJcFwgudEKUCwgGzA0YHfwO0BEIFxwGdAkgDOwG4AaYBjAZtAkgIOQ15ATYBUQRLAUoBPAGNAjYGYAKvAm0ClwKIBj4BHAJiAc8B3gFJA4UMQQWEBCAGsxWaA44QOQExAYgC2gIpAq4BrgNNCEcCKgNRBi8BJgE2FS4OdgFIFZcBSDpEBUMazRBMCjYISR1OB0gE5gfZD58","Y34","cWg","cWg","kAjD","K8o","8Qml","hAqV","gAK5M6uvAsTuArccmAGraTvNAqaWAameAas","Jc0","tQyy","qQgm","7gM6","tQni","6A9e","jQOo","lBDG","mQNzjgPUwQHy","3hE2","JXI","qAzV","twzf","Vaw","3AOeuQ7Q","qAyc","qAyo","6A9e","0gGY0QnH","Y1N1yrUBdN0FsZsB3zk/","cY4","mgG1","tQyy","K+Q","tQFg","qQjM","pwap","jAGsEas","Vcg","iwle","qAyc","0QFHZanrAz7XBDs","CFEFSh7gDFYETgV8TdsNegdDG0GdAT857QTwA0tv8zzkIHpQQAVAsQKCAoU9hxKeGWCMAUIuI4YBiAE3DY8iShaSDOBCnAasEUYB3gO0BWED9gHRS6QuTztBQUoyYAtCJ0QIPA1FigGeD0gDVhPCAYg1kQVCHck","ywz1","AlQHPgV9AkkSPgY0BUEDTwK5FmAXRiifDU1mcRecMpuzAdRVmBzFI2wHbSl5E10spQItB08kd40BiRs1GykfjBRRYqUMwVChG1MCXx81Nm8DggJfFLMGeROAV0wKmh91PqATrAHLaTpDYgGfCTEeZAN2HVcSnQhBEmcmS6EBgxjDdEA","yARaA8CsBr6CA8c0084CuAOwAeg","pgU0","qwHz","qwG0","qwGL","qwG9","qwGL","lwy3AbcBuAGy","gA3HAZc","EPcF0S3TAl4l3BWlEn4LvhHiCGUE9hxlGHlJ6BrRBE9YoQPzErYevSVEJEcg7WvOO+oVoUXeDMAG2D/2BkoMWhDTD2IFuwaZEGYg8l9mA0cFSBhJEMI0RwKIPdQRRwTpLu0NuhbsEbwd0THnAkgh0nPtIvsB9SyED0wp7g3pQK8QRR5LBEkdR0LVOPUB9w7peswYkTH5B41C7w","hAjB","EKu3BKjADJY","uAHS","EMA","0wbA","ugdK","gw3o","mg48","fkM65w","fkM","0BHt","jRCU","7ArJ","7Ao9","EOc","0BH2","EII","uAHT","EIG3BH0","EIG3BH0","jRCU","xwas","xwbI","qwM8","mAfb","kQSu6gbI","fE8tQhJIgAE/Aksgzp4BQDs+fE3zAUUsWQ1EB0rBAUAMTlhDLqwdSEZEBlUuQh5JBEamAT8DSRRLBEZ/QwU8CksDRCZMEZciRj2mCUgxTgFBCE0RQQWL","pAu+","X2JMzoECioUE+L4HKQ","sQdH","NUsZUwZaM58EQrQH6KkCSRZYZ+XIA2E1cTk38wHQ","5wTY","hQK9","/gpO","E28","ZO8","uw35","ZO8","wweVwgWfxAOg","jA3SAfE","jA2J","jQ3f","+g50","+g5L","+g5L","0QFHZanrAz7XBDs","mglO","B/AOgAHPAngB3gTQAtUG1QiZBMEN5wKmAkoPrwyRBo4GiAPYDKIBuQMwAjkNmgLBA1sC9QdXAkIC4AKxAiwGuwPeBMQFJgGkA8IC8QLtAWgBvwLyBYcLuQTyBOMD0wXAAXQDxhTPBeME5AVzCs4G1gbkDusKtwGKAkUBlAHhAd4B0QHrAvcBkwHDEb8B0QOdBeIB2wL0AfEBhgPwAvABcQrlDuwI0wJlE/kB9QH4AaYCzgM3A0IC7QzoCdwC0wF8AdQBYQgqBngDiQGLBc8PvwLpBtwHrwepEL8HcxSnBeoEvQLFAd8B8gXFAd0B5AQwAp0DbRcyBNMBOQFQAeUF5wb0AdsC3wMzA+8IehHpBPANTQHsBGQE6A9tBt8FvgrdBOIo8wfvBdMP3gTGETsB7gjzBdIF4Qq5B+wJwwvCCs8V7RVlCpsBngLjAsQP7wz2C0YD4gGgAesB7AedBTcLuQP1Au0DOwHLCfUD1AhpBtMKswdjC+4O6Qq3AuUF7wKVA+UMNwhLA+gYygKxBYYGqgbeBJcDpwfeAt0GuQXmBTYE9wLnCb0E3gFCCUEE7AecBfcHPQHNBCIBnhfqAtoL3QHwB54V4AVtDO4M3wG+Ab8CzQ3tC4YD8gLrCPUB6QjiD8MD0ANcA2wD7wPbBMECpQHwAa4DwwPDA6IUhAbwA0ME8QHjAiUU9wZrCvUETgRZAo8C5CHVAisBrwPwCvAP8wHwCDQB9ATICWIB7Qi6AX8B5gK/AeMBKgX2Bd0C5gX2AYED5QyUC58DvAFNAqcG3AG5LXMFygTOAt4GTQHXEe4BzAHeCacHcAGrA7wB6AG2DvYE7AX3A00D5QyID/ADWATrA6MC0wLlBPMB8wnsCI8LfgTVCawG9QMmAcQC7wLxAe0EfwmdAoANigF+A1MCKgLpA0IFggFJA/EHzwscAqwJngSYBdwDyw3MAfEBpgPgDeEL7AHpBo0KLgV4BCYLTBnzATME9AXgBnsCmwHcAYIPugpBC4UK1A3RGDsMZRk9BscQ8AqbArcN4gLtCG4DvgmyCdg","Y1vWAZK0CNulAyjHASA","Yx/WAZK0CLelAyjHASA","3wmt","uwJE","uwIn","/wmw","gA6I","7QQo","7QQoxQQqjQVXFYQ","vwHL","uwJE7gtd","GWrnAW0","kgE3lwF7EWgjkR+SHXVVdHFK8AKHHcpUbQp1aKmGAXUdiBm5UaceexCCTJc3is8BVwdzNKbKAXQ","6AMw","6AMwS4I","3QKR","uwIn","7QQo","xAQz","xARV","5xBA","mwPE","ugSm","tAiU","7QuQMyv3ASQ","lw4k","9wGd","mgOa","uwEt","sAme","vQKC","3wGG","qgGp","nwFjCI0","uQyn","pw+A","jg5C","mwOG","+QV/","uAJtjA50","1hBY","wgsn","mwOG","hA+q","vALZoAnE","ywThrgjuggTl","nA94","AN0FjwJLBoEGtgKOBJ8FmQFSAXAByAurBYcBcwGLAq8EmwGNBnwCsQGtAXEBdwLDAZQDdgKlCLkKYgOIAVMLjgO5BnAGhwFDCXAEiwF5AnoFagZ7BIACbAevAZgEXwLEAYgDgwFZAakBYgKlAW4BzwKzBaAByQ5oAXwDgAGrBFsDgwK8Ae0JdAKmDXUFvw16CnIBrwSZH6YIggNqEWADhwLHBNQPtQF5CpMFsAd2AskBbgm2AXQBhxGkAaAJeQ2gEWoBPQzbBqYfrwJmAWcJqgWnDaoQrRDYAWgIhgFzDpIF3QKtFs8YdgKHAq0DnAKsBpIJlwlICJIBpxOHBKMD0AqUHdMnjAavAXgDsAGjAZUJkQGICpgCQwt/BJQLoh2lL54CkwWiCKoCvwqXBJ4BowOAAXkCwAWpBqMFawSVBaoEnwOfAZIUSApwA58BlwhPFekBeAK6AaYBdQLDE4ULqhCDBZECsQOSGuYCxAG+BYIDpQmgCaIKhwKIAqoBgAJmC60BoQ66EYEChQGjCHkBpgOXBaARjgF6EosDfQGOBoYB2AGOAnsHqwGJDsAVsQGdB54ClRS7A3YQeQGOBZAD6QaNA6UBsQOLAaQCdwJ1AYgFgwiRAY8BkAWYA8sPcwFoB3kDqgSFAn8LjAJ9EIADdwRpAncUwQqjApYEuQpzAXACkAOFBqsClAx8A70BqQFsEbQLtA3qCM8EiAKoBHoFaQqiEI8EugJrBJEBrwSaBbUEzgGFAXoBoAGxCYMBYAeGBoUKiQG3CYoEuwhvDJEGrAPLAWUBewGfDr8CrwfABa0BxQHOA3QCuAOYAccCtQubAq8BsgGcAboEuwFqAngCwQOCDIUCoQakBZYCdATRAZoBqAaNAecNhQSgA4gFawGiAq4FiAKjA4wB0QS0BH8UVAF+ApMCewGbA8cGpAFaCVABkAF6D4AOxxauCb8BlAl9AWoDdgFyB5IKcQFyAnsDYwmrCJ0LrgWiBsAISw/JAdMC3gHHArEG6QfFBHYITAHCCrwFcAK/IM8BxQW5C+ED0AJMAdIUawHYAmwFdQNIBdQBxAVGC0cJ0gtKA8E","+A1y","yA6C","cbk","kwEp","ngO8AcEBvA","M7+lDvcB9g","7wyv","jAs/","7wyF","jg34","jg1S","bicDkAKZJdYMogXXCE8BnQVuH6kDoQFIAZMawwGqHbRLvyKWH8gBmgKgRpk70Bq/IJwimmnUBqwKl2DLFJgXpBqdCp0ZmgJJGaIGQgKfC0EWogORBdwz1wiVDMxMnAaVEqMVxwpUAqUGoQGfBZoJXwWeAUIWmhulBU4K0AbFEZkLrBLOAqsdoAWZMkMZRgGeApYS0QWgAq8CnxGbCaEEwAqkAZkEsgZLAqgEnwaXBZMHqwWfItcB5gHYA6wBnB6YBa8NrS+NAdcH3RCWBO8RuwedBKISoQGQEKUEpAikFpsRQgqkBY4NoQSeA6IImA6mAcwYrAaPEpcERwmZAbUEvAO/AZsCvwLHDrwMpRzNBNEFsCahA98BvQy8c7ldnA","7QSIkwJz0Ag/","0A8/","jg2/lwJC","HugJjAVtBYcDjRSUCJEGnwLPB2IEfQHBC1AGegtqBoQQqgR6Bb4ErwOYAcoO2AJuA4UDgwmWDWcIaAG8CrkCsgttAnUJ40F1AocklBt2BsoGoBdyJrkEcQ1DEasQXgFnENYRMB5lA+8BdAh9CJIV5wHGAcQBvgZyBnUOcwN2HrARnwilBocEowGNB+0imQxuU6cspAZzA9cMoAilGusTqgqsIYoYSh54HbUB6wHUCIAMeAbEA3sFbRPmBLEPsAV1A7QEegF9DKUDoSd1ApUJjQjZF04JohilAZEBxgyjAZIDjxuxHqQB7hJgCegFjwHUAsgCsQPHA5UDxQWDCcoGhRxzBogNaRi7Eo8OeAbbB10CjwdxBoAGSwugAc0BQSm5AqwG8ARJCngD2A6lAaEJog3GFkkC4wGrBqsBkgStAbsXqBaRCe4CpgaNBXMD7ASsAlgBcgrpCmEHfQWbBdkadhWEAZcE7gWEBDUIxQMiC5wCuQPRFaEQ2QOsA6gBqANZBEcEyQPzK/QHbQp/C2oDdgFyGqULsAmlFkoh3xdDBcsX0gO9","pQ3G","iQtD","wwjRAbw","wgiN","kA6/","wwjR","wgiN","nApH","vgTsJts","5wRL","HsfJDFaZAc6KAhs","zQWrzwRHa0QCQw","lQyt","sQdr","iA6N","tQFg","xgF6","AZgwuQ+sFjYNHx1FB6kdR09iAowcNBOmG6BuTTswNMkcUTuZLKYUSwY6Am4GKhDKIVAwngeeDTE90SkvRDEKSSC6BXwXrwt8DikZJQFNLnAXxxc+AzEQpxjKEp4YKy9AIDUEcwcdCTEVbg4qMicEVAyuESciyAIwFygBLgPeBYlFaCMtCC0UWQPKiwFLATl1pQiTA0UNxhF7B0oJXgLUJUIFmA+GE60O29EBTg","b5+gAnYBk4YBgAPL5APM5wjm","Q4e6D+M","/Q8u","/Q/5","/Q+7","/Q/p","/Q8u","BPHKB/Q","zgez","sgeu","uw3o","cZRn9w","/wgq/wOrpwGk","pQ5s","pQ5s","pQ4/","/gyr","oA3l","oA1w","nApH","gQml","/wgq","mQWW","BEMCiwFoDEIBWxRIA3UDbgc2PlIMOgyaCGwFaQFxBFgHSgGYAVsERQR0BFsCiANACVYHSQycBCtfRSAnByMESkIrA4yQASkrUBJJBsMtNBM5Bi8BQAZGC0F2boABoAJOAogGhAdfBEwFOQVsAmURSi5IAiYNmyNNEzEClhFLEl0KQgo8BaMKThN7CTIWUBRcCJ0ElAlZAVYGNUNyCx0jKQlIK4cPRQJGAkUDjh8mBzsPSAhDBF4IWQWXAUtc0wqeCYsGTQw0ECoCoAFeMcsYbwSwAS0TqgP0DLIDMkQ1AzUFYBIoFIsGbQVBCUgKgwFLDTMDtgmeCEcJlEAoD04IKxk/","rgyB","wQWH","wgF0DJ+TAUOHAZmwCHTABfY","2BHp","yQbL","qAko+gKb1gGeLT8SSFhOOq0","+A2e","qAko","/Abk","LusYygfAIEIfsQqgFL/EA5QWQyE+5gFmPaYKSJkBwwNDI6gOShKdJkeNAW8eUgZRILUxpwZJJNecAcIUSQ7sAZkkWDFKF8412wXPBE1NqQ9AAUdP6gHr","7A5N","wQ2FAZk","swpZ6QJD","jw3B","EfEC+gXiEjAL+RfWAuYG0w5UJfp+4yPYHfAd8RRCU/QD8UbuBKwC7QHuAZ8B7wGiSO4D8ibPAvQFpSHtD+8s4BraAtIQ7WK3Gk8B+AHrV/EP9AHpf5Ye7k7wCvYI5R9HT/ES8w33AcsS+Qv3AeAD5AGPAe0B7QGOBfMB0wHtLcUy4wH5AesK5AP5G/hP1heWFfXJAdoHzyHzFeEE5hz0gAHQAfAS6gv3KLoJ8QFGAuMB4QL2Ad8BwgHzNjw","hwHi","gAi5","NTY","pgzg","ngmx","vA3b","xQKP0gl5Aec","hwHf","4g96","rQ9C","rQ9X","E0IivlLCnQGVAec90CoyPe0BwAFaJdEk8ALVAeMD6gGLAUqoAbTaA71YoYgBiQ7LHb8E3ALnAZgBwAX0Ad8B9F95AfR44izjPJC1Ac0VviCTgAHoE/E62AKpAdMB2wHsAdoC5Q","rQ+n","9RDu","hwFw","hwGc","vA3N","iwvg","mAzk","mAzX","7Apy","7ArB","NanlBrs","hQLNQLHNAdcGZwFnAmcBZ40HvwHIBc4BmAjfYcefBbIBnQ","4gLA","E1UisOUGf5MI4hVfIHo","hwHRkQPS2AG69QV61wGr","kA2i","tQXO","wQyG","rQ/h","yQOUA/DoDZoG7w","E3M","E9s","4g+l","mQGwjAWbzAafGq0","7Qbj","pQj8cvOCBng","pQho","pQgv","pQi6","pQhh","pQjXcoI","lwmC","pQjL","oQ7J","7A5Q","9wp/","9wqu","sA+S","igry","wgF0cvXQAmqZAXgmwOECxZoFdmHTF0bAAuUGwQ","tAJ3","qwHc","sgf2","BZ0QlwJ6A8YC3gJMAsUDLQGxAksBvhJyA4AEfAN8AV4DegHQDK0DjAM+D0gBOAWrCEcHYAEnAZYFowp5BV4QSgWHATcCJwHcBH4BXQFAAkYCQweIAkAENgvIAswDQAEqAVUDKgGiBcEISgNaCHMBKSSoAagByQVtD10QlgOqA64KdwN4D0gLpAmnASQGqQGuIG0CtgNrA8UBoQcvF3kCwRK/B0EOtzyeD2QLcwY8CrkCsA05CaoISwKZJLsJLwWeAVcMtw1HCMMMtwy5Dc0PbgiyGbcGgwM0EbIRpQS7KDgQRxQ5CUoFRQnSBLACmAisAz8BIwiZD6oVMhgtA64wpCesIkwRdQqkCG0DpwlLGacBpgEqCt0DYwEiASwEkgEoAj0GKw1CBqQKcQcrCzACHgJXCVwKUhe+E8AIvAeaBn0EzwulCKwEKgMmBWUQTQgqFCEBfQWiAn4CJgYiApABKgeYC5oKLAkxAp8PXAF9AYICMAtICpUFtQRNAqMGwQnUAlQFZQG4CYcBpA1QBX8DuwVMBMcGnAOiA4MYTwtpAi0ESwimAn0HtAelAaoKbwFMFm0BnRFiDVoBqQMeBRkDqAItDCgFJwKmAcgErgdfAzEDMgMrDSQCIQI0Bp4CrwIqA1MBnwm+B6IE1wsrBTcCRhJMBCgRNAKmDKoHuAGrBJIEKQG3DiIBIwGkBzkCJwi4AW8GbwG/CsARtQhSCpwF0AGxBVkIoQ6oBMkOJwWsAZ4CTg87KEkKugO5BrYVRA2vK7sauQ","rRCq","rRBv","rRB8","rRCx","pQjy","pQjF","pQjX","pQjC","xA7p","xA6I","xA6x","xA7b","1AHy","hA/3","hA/Q","0wHw","Nn+dAd3ZAeLDArmtBGs","0wG7yQim","7wV3","7wWj","LGc","Vh7WAq7DCyk","1AG6","1AEy","1AFl","4QzEfdM","J7AgnnigBoqqBqY","AOEBwQHiAeIB4AHiAuUB4gHnAeAB4gLiAeAB4QHiAuEB4gHiAecB4AHmAeEB4AHiAeIB5wHgAeYB4AHmAeYB4gHnAeEB4QHiAeYB4QHhAeIB5gHhAeEB4gHiAeYB5QHmAeEB5gHlAecB4gHjAeIB4gHoAegB6AHgAecB5QHlAeIB4gHpAecB5wHkAeIB4gG+AeAB1wHoAeIB4AHlAeEB5wHhAeQB5gHnAeIB4gHmAeYBuwG7AeAB4gHgAb0BvgHgAeEB4gHAAeIB4QHnAeEB2QHhAdcB2QHmAeAC4QHXAdcB4QHZAdkB2QHhAeYB1wHZAdkB1wHiAdgB2QHiAeIB4AHhAdoB2gHZAeIB2QHhAdcB4QHlAeEB5wHgAeIB2AHiAeAB5gHhAeEB4gHgAeIB4gHhAeEB4gHhAeUB4QHiAecB4gLhAeAB4wHhAeAB4gHhAeYB4QHjAeEB4QHXAdkB1wHZAeAB1wHnAeAB4gHgAdgB2gHiAeEB2QHZAeIB4gHZAdkC2AHZAeMC0wHhAbQB4QF8AdAB4QHhAdcB4gHZAeIB4QHiAdgB2QHYAdUB3wHhAdkH2QHZAdkB4gHcAc8B2AHZAYIBtAPmAdoB2AHaAdkCggLZAeMB4wGDAdcB4gHlAdcB1AHVAYMB1gHiAdcB4wHjAeEB6QHkAegB5wHiAewB2QHjAbQBsgG3AdcBswGzAdQBqAG1AbABsAG0AdkB1wHjAeAB4wHVAdUB4QPYAdQB4AHVAeEBhAHYAeIBtQHUAdcB1wHXAeIB1wHmAdgB4AHgAeIB4AHXAdgB2QHhAeIB4wHXAeIB4QHUAa0BtwHVAbUB0gHZAdcB4gHXAeAB1wHiAeEB4QHnAeYB2QHgAdcB1gHmAeUB4gHiAdkB4AHXAeUB5wHhAeIB4QHZAeMB4gHhAeAB5AHhAeYB5wHlAdkB4gHiAbUB5gHgAeIB1wHYAdgB4AHUAcEB4gHZAdkBaAFqAWYBbAFlAWgB2QHnAbQB2QHnAdcB3wHgAd8B4QHlAd4B4gHjAeIB4gHYAeIB4AHhAeEB2QGsAaQB0wHXAdkB4gHgAdcB4AHZAeIB5wHaAeEB1wHiAd8B4QHoAeEB4gHhAeIB4gHgAeIB1wHhAegB4AHgAd4B4gHhAeIB5wHZBOIB5wHlAeABswG3AegB4QHiAeEETwPWAeAB4AHiAeIB4wHjAeAB4QHXAeEB4AGsAbEB4gHhAeAB4gHgAeEB4AHWAeIB4AHhAecBswHXAuMB4gHiAeIB4QHhAegC1wHhAecB5gHmAeYB5gHZAeIB4gHnAeIB5gHhAeEB6AHrAeIB5wHiAeMB4gHhAe0B2AHlAeAB3wHWAecB5wHnAekB5wHZAa8BsQXhAdMB4gHZAdkB4gHnAeIB1wHiAeIB2QHiAeMB5wHhAeEB1wHZAeMB1wGvAa8B4wHgAeQB4AHXAecB4QHhAeYB4AHXAdkB1wGtAdEBtgPjAeAB5gGsAbgBsQGyAdkB4wHWAdkB4QHoAeIB1wHZAdkB4gHnAdgB1wHXAeIB6QHnAegB5AHZBNcB4AHZAdkB4AHaAeEB2QHiAeIB4gHiAdYB4QHXAeEB4QG1AdEB2QHnAdcB2QHhAdkB2QHmAeEB4wHjAegB4AHnAdYB6AHiAecB4gHnAeUCpgHZAegB4QHiAeAB4gHgAeEB5QHgAdcB4AHYAdkB1wHiAe4BswHZAeEB5wHmAecB5QHnAecB5wHmAdkB2AHXAeIB3wHYAawB1wHiAeEB4gHiAeIB2AHhAeEB2QHnAeMB4QHiAa4BtAG0AbYB4wHgAeIB4gHSAeIB4QHkAdcB4gHiAeEB4gHgAeIB4QG6AbgBtwG4AbkBuAGsAeIB4wHjAecB4QHnAdgB4QHiA+IB2AHZAdUB4gHYAeIB1wHZAdkB2QHYAdcBwwHZAeIB5AHhAbEB4AHXAeEBwQHhAZUB4AHiAeMB6QHSAdkB1wHYAdkB2QHhAeIB4AHiAd4B4AHmAeMB4wHhAeIB1wGvAdcB2QHXAbAB2QHhAdgB1wHZAdkCsgHXAeQB5gHeAeMB4gHhAeIB4AHfAeIB1wHiAdkB4wHhAeIB4gHiAeMB1wHiAdgB2QHYAdgB1wHXAeIBhgLiAeIB2QGrAdcB4wHZAeEB4wHnAdkB2QHZAeIB4QHVAcEB1wHYAeAB4gHhAeIB5gHhBOgB4gHiAeAB4QHhAeEC2QHZAdcBpQGxAeAB2AHYAeEB6AHgAdkB4gHfAeYB4AHoAeEB2gHhAdcB4wHiAdcB6AHZAdkB1wHXAdcB2ATiAeAB1AHYAeIB4QHiAdcB2QHXAeUB6AHjAd8B2QHZAdkB6AHpAeIB4QHXAdgC6AHjAeIB1wHoAdgB2AHhAdYB4AHYAdcB2QHhAeIB4AHiAdkB4QHfAeIB4wLiAeEB1wHjAeMB2QHnAdkB1QHWAdcB2AHlAdkB3wHoAdUB1wLXAdcB1wHZAdkB4gHnAdkB5gHVAd8B2QHXAeEB2AHXAdgB1wHZAdkB2QHXAecB2QHnAecB1wHiAdcB1wHhAdcB4gHiAeEB4gLhAeQB4gHWAdkB1wHjAeIB5gHiAeEB4gHVAeIB4QHZAeIB2QHZAdMB4gHXAdgB5AHSAegB5AHlAeEB4wHiAdQB1wHhAeAB4QHQAecB5gHmAeUB4QHhAeIB4QHiAeIB5wHZAdcB2QHhAeUBuQHgAd8B0gHTAeAB4gHjAeYB2QHXAeIB4AHgAeEB4QHiAeIB2AHhAeYB5QHXAdkB4wHjAeAB6AHYAdkB4QHZAdcB4AHiAdgB4wHjAuEB4AHnAecB4QG/Ad4B4AHiAeIB4wHhAeMB1wHXAdYB1wHZAeIB5gHVAdcB3wHmAdUB4wHZAdkB1wHZAeIB4wHhAeAB4QHhAeEB4AHiAdcB4gHVAeAB4AHjAdcB2QHiAdgB1wHgAegB2QHaAdkB4QHjAeEB4gHiAeEB5wHnAeAB2QHjAdcB2QHXAeMB1wHhAdcB1wHXAeAB2QHnAdkB4wHjAdgB4QHZAdkB1wHiAdoB4gHZAdkB1wHjAdkB2QG/AeAB1wHhAeYB4wHiAdcB1wHhAeMBrgGnAaYB1wHSAecBqQGlAeIBrgHgAeAB1wHZAdcB2QHiAdkB4QHXAdgB2AHXAuYB1wHeAdcB1wHBAdoB1wHZAdcB2AHZAdcBvwHjAekB5wHXAdgB1wHjAeEB4gHgAeIBwQHfAeAB4AHgAtcBvwHiAeUB5gHnAeABwAHYAdkB2AG/AeMBvwHUAeIB2QHmAeEB4gHiAeIB4QHXAdcB1wHiAdkB5QHnAdQB2QHXAdcB4AHXAdkB2QHjAcEB2QG/AdoB2QHZAeEB1wHhAeEB2QHYAeEB4gHiAdkB2QHYAeIB2AHhAeEB2QHgAeYB5QHlAecB5wHhAcEBwAHBAb8B4QHgAeMB4QHiAeEB4gHhBegB6QHiAdkB4gHiAdkB4QHhAd8B4AHYAecB5gHXAdkB4gHhAdcB1AHOAdYB2QHZAdAB1wHOAeMB1wHZAeYB1QHYAdcB2AHZAdoB4AHXAdcBrQHmAeMB5wHhAecB4gHhAeIB2gHaAdkD3wHiAeIB4gHjAdcB2QHiAdgB2QHZAdcB2QHZAeoB6AHjAdcB1wHcAdcB2AHZAdcB1wHZAc8B4AHZAdcBwQG/AdkB5wHiAeMB1wHXAdcB4gHYAdkB1wHYAuED4AHgAeAB4QHjAcEB4wHgAeMBlQHfAeAB1wHZAdgB4AHZAdkB1wHZAdcC2AHaAdkB1wHXAdcB2QHaAdcB2QHXAdcB2QHZAdkB2QHgAeIB4gHhAeIB2QHiAdgB4AHfAegB2QHiA9kB1wHTAdcB4gHhAeEB2QHZAdkB4wHXAdkB2gHXAdkB2QHiAdkB1wHZAdcB4QHjAeYB4QHnAeEB4QHkAeMB4AHZAeIB2QHiAeEB1wHiAeAB1wHhAeAB2QHhAeIB4gHfAdkB5AHiAeMB2QHlAecB5QHnAeMB4gHhAdgB2QHXAdkB1wPiAecB2QHaAdkB4gHZAdkB4QHYAdkB4gHZAeEB2QHBA8MB2QHXAdcB4gHiAuID5wHiAdcB2QHZAdcB4gHhAeEB5gHoAdkB5QHYAdkB5gHhAeUD2QGzAbMBtAK0AbIBsQGsAc4B1wHiAdkB4QHgAeYB4wHZAdkB2QHhAecB4QHiAecB4gHnAdcB4QHgAeIB4QHVAeIB4QHoAecB4QLhAeAB5wHZAdcB4gHiAd8B4gHTAdkB2AHnAuIB7gHiAeAB4QHhAeEB4QG1AdcB2AHiAeIB1wHjAeEB4QHiAeIB4AHhAeIB4wHhAeEB4gLgAuEE4QHiAecB4QHVAeIB4gHhAeMB4gHiAeEB4gHrAeEB5wHiAeEC2QHiAeUB4AHgAa4BqwHiAeIB4QHhAecB1wHiAdgCrAatAdkB4gHYAdkB6AHoAegB6QHBAegB4QHhAeAB4QHZAdYB1wHZAdkB4gPZAtcB2QHZAeEB4AHgAeAB4gHZAdcB4AHYAeEB1gHgAeAB2QHXAdcB2QHZAdkB2QHnAecB4AHqAd8B3wHqAd4B4AHlAdcB4QHBAdkB1wHZAeEB2QHZAdcB1wHhAdkB2QHRAeEB1AHgAdkB2QHgAeMB2QHZAdkB2QLhAdkB2QHZAeIB1wHZAdkB2QHZAdkB2AHXAdgB2QHYAdkB2QHYAdkB2AHYAcAB2QHYAdcB1wHiAdcB1wHhAdkB4QHXAdgBsQHXAa8BtQG0AbABrgHnAcAB1QHXAdkB1wHXAd8B5AHhAeUB5wHmAeMB5gLXAdgB2QHXAdkB4gHXAeIB4AHXAeEB1wHZAdkB4QHnAegB1wHZAdcB5QHlAeIB1wLiAeEB1wHXAdcB2AHXAtcB1wHYAdcB1wHiAdkB2AHWAeMB2wHZAdgB1wHXAdgB1QHlAdkB4gHZAtcB2QHXAeMB4gHZAeUB5AHkAeUC2QHZAdcB4AHgAeQB2QLXAeIB1wHZAdgB1wHXAeEB4QHZAdkB2AHZAb8C1wHjAdkB2QHUAcgB2QHZAdcB2gHZAb8B2AHZAdcBwQHBAdcB2QHZAdkBwQHiAeMB4AHBAdcBwQHBAdgB2QHBAdkBwQHXAdgBwwHiAcEB7QHqAe0BxwHWAdkB2QHXAdgB4QGuAdcB4gLnAeEB4wHiAdcB5wHYAecB2QHtAewB4QHYAeEB0AHZAeIB1wHXAdcB5wHYAdgB4gHmAdkB2QHhAdgB4gHXAdgB2AHZAcEB1wHZAeIBwQPnAdgB2AHZAdkB1wHZAdgB2QHZAeIB2QHYAdkB4QHZAdkB2QHjAeIB1gHZAdgB2AHXAdkB5wHiAeMB2QHYAdcB1wHYAdgB1wHZAdkB0wHgAdkB4gHXAdgC4QHgAeAB3wHiAeMB4QHUAeAB1gHhAdgB2QHZAdcB1xDeAuIF0gLZA8EN2wHYB2oI4QFuAukE2QPRBdwEbAFyA60DagPJAcMC2QHZAcEB0wHVA9kC0AHMEMEIqAZoBNwJ2wXZBtkB2QHZB9UCUQFpAdcKywHUAc8IbgFtAW4BwwZtA9kB2QRYAVcB2gHa","jwiF","mgay9gReKTLSAeY","jg83","LUsOggRaAWIQswNQEk8HoSSYAkcRSQLMCp8JKAGsAq4anwNhKNcWrxOhCmYBqgY+BN4GkQqeDJ8CdwGgBKoBsQa5FEEGyQutDE4Bmgd3IZobQUBKD3sHcAK9F5EPSwVCAVADfAWeAaIBohtbBWcWhwiDC0AEtAGiGI0BTRl9AXEGZ0FWD54SlQQsBGQHqxuODa8BtQG4BMoCTAF5AcEOvxw/A54IfhRYDKQFewq9DUEhLQKhDqoO1gSfBn4BdgahCKwpohVsCTwFxghOJjwGRgFqAWgMoQ18En0XlwqdF3cBcwF7AXUKZwWsEVIdkgYmBUICQwS3BqUBRAY5BX0GWxKTAZ0bzBDVBMITawGgBKQBnQKrCncHagF/BaUInAirCcQDoANwAYsCoQGMEqIEdwouDTkbrAqnBZ8BowaqGqAKqRqaCJ4XmgF4AWAGrghBBJcWeQ1GDq8DKwTICWMhpwaXAksBcQFiA0wGnAeoGHUOTRqrDoQEhgIgHWEGaQhPCywBJyGACoECnwZxCqgBrwJ/AZgBzALXCWEBpQLcAcwEpAGRAbEBpAG6AZgBiwPRBJ8BoQGVAbABZwFVAakBrAKYBG4B1QKKA54C0QNAAaADmQGWAqsEUAK3Bs4CowKbBKwDnQOaAaMBcAGuA6kBrQGJAbUBsgGwAaABowGkAa8BngGRAa4BpgGqAYkBswGeAakBpQGqAqQBygidAlADqASlAZsBZQVkAp0CzQGrA2gIkALEAV0Jlwe+BNIDtAHSAcwOVg","3QKRBKrYCaeRAqQ","zBBx","uQGB","qQWD","3Qu8","hAl/","ggnOAdABxQ","4AnJ","4Amg","3wfoRvZy9qYE4wHq","vQ3vAek","0wGm2QGo","3wcf","7wWk","vg20","eqZJiukBqKEIjKIDRg","lwmC","Tehmfw","/Q/s","/Q+O","rgyB","1gE8","P0xWQKYNNC48FigFIiEqdzU6NQ","/Q2r","eqZJJhAlyQhe","7wXR","gA7h","zwKVsAT7pgSTd24hVwLrAesvZ5EBw3BniQFGEeI8kQ","wg8c","wg8c","/wbT","pQuTd24jewFtL2eBAmeaAcw8kQ","vQwm","vQxC","ihDM","1Qac","1QbX","UtAcjgvpT5QXz2IoFScDLQidBLxO5AtNCK4RrLkBzz/cB8MkncgByxbRPcySAeMDSi/qE9QP31ipGKhsrwrtB7D8AdwFyAfQAbED4qUB4KUBJxYpNO8","mQ+5","UoY","UoY","UrA","5QJ78QLDJJ3xBKhsaw","iwHl","5QKm8giX","2xC/","AVAEQQROBM4CvwdTBHIGwAFuAUwCsQNcAXwCMBZiAkADWRleBCkIlAKhB6cKPQfQAmsDRQeYApYBnQNCDqIBRQh+A1AQcQM6C2YLoVZNA4oHoQagFS0CngXPA5kBogU5BjEKaxFXB2UDQQFFCqICXxJCCFEWUQe4AqELkA/MGZ8CVgZYBUoImwnGBE0VSQKdGqQYmQxLAmoDQwdCF3YCPRhaA6oOywZjAU0klwNuD8kOogqKA5sFPCt5As8PrgOTA2Y7nQuPApgSzwE3CXYBsgGZAZ4PmAeFEIQNTQmFFi8NrAfEB40DkAGRAZoClQJMCMMFpR7LCFULcAnHBtMJnAHMBFABlQxPAsUBTgJaAckRUQicBpYGxQLWAbMFmgsuEIQCTRGOBuALmAU/Bc0BTwRwAsEBwQFoA0ABoAE3AV0MPAKZBGwCVgeQCM4EKggoAYsIiQSLBXwCiwZpCjUKiRe9BGYEwwGlAzoCkwZjCpEG3AKkAWsClgZJBEwBfwI1A0wCrQqBA68OpAR7CKgDRQNUAZsDqgudAqgPkwQiC6sBqhudBZcBsQFRCG4BpgObAZUIYQuYAX4KpwQvAqMBmRKmA50RTQfIF3ADPAHiCZwLRAJKCaIGYAGABkkFOBWkAk0CtgKbAqQClgSnE3MMsQKsBNAVVQtIBKYBpgWcCTwBuwGmCJsCdg+6AcMFcwMpBKIFuQbGAa0BXQOcBm0IuAlgF58BJggtCjUBqB2bAToBmQJDAaMXIRKXE5UCPCdGJj8RPhaiAakGRiCXFZs","BlAFRQWwA0IEax7MEboYogSpJXAKoiebCrEEpm9gB557UQPLDW5zbTdHBUg5bALLBpIFcRV2FkdTYw2m3AFsGIEnnAq/Ao0DhxWqCYYMJATaC8IKIQTwGzsDcAxmBJ4Hhg3DD3UovRmZDG8klz7TFncoqAOxGSoBvwxHWnMBkQGlEzUHaQdDA4wQlDZjGIEE1CKeCW4YsEHICW0pkytJOb8PSyizWME","+gyRAaU","uAnv","mgNL+AdF","d66bCq8BjA","6gzi","6gzN","6gPM","/Q3w","6gPI","6gOO","6gOS","6gOE","GsYDKgU+FaQBiAG/AYwHiwNBAmkIdwhgBU4BVAlPBeYCagM/AlwCNQNfAaMHeAGgAYwFoAKfCHkDNwFpAZkDfg2iAS0BbQwjA14EbQNqAW8EcQYvB2YFJQFlBX8BogUwCHMFrAGHBqgJuA2VAZwPnAWoB+YKQgV3AWALRwMxA8cHfANSAycMcBRrAbYDqwh2AW8HogR+AjcLcAJrBZQBmgV9G4MHmwZvAXgMbAfDGl4YPQOAA2AEdQidAoIBbg2AAa4JdAEvB6UIZghkBDICqAGaCn8GkAV1BMkIYgUqHksBMgKeC7kCNgEyC+IDahJjHKMJNgNuH30DZgQmBXcQYQ0uC20EiQd9AYUUnwk1DDkQeQN4BZ4CXwE0A1sGcwuBCm0DfwNmAnYDrQGJAqAEcQGHAogBawUoBHcBgQJ3AVoDbAE6AngBmAWUCVoGtgppI3IMbARrCmEEbwFwAXICgxB+BWwDTQF4BG8FpwF6AnUQZAG0AXABLgRzAW4BcAlcAWgCrQR3BmIFNgFtAToBcgExAncEewJ3AnwFmwilCZoBcAKGAXMFpwGcBHUCIQFjAW8BdQFoAnEEaAJsAnsDpgPJCC0HfAE4AWIGnAEwBysEeQl1BHMIIgFnBW8EbQtpE3kIfAunBx0FqwJ5CcEFkw1yAnEGlgKLAXcBbwKEBW0BLgEmAYIBKwV9AXQEcgFlC4cHeAF9A5MCdAF8AScBigIkAloBrAFnAW0BbAMwAWYEbQIrAnAFSQxuASwCfARpAXIGuwE7A8cJcAFrAWMCdQdyBHoEdwHqAXQEbgOEAnUBdgNxBIICbwJwAZACgAh3AjUDZgFoAXsBfgI0AXUBdAF2AXYBbgFhBjUBbBF9A2UBbgElBisDZAFnATkBuQN5AnUBowJzAWQBaw1xA0ADfAZzAnIBdwKGAnADrgV1CI4CXAGBBG0BoAFxB2cErQKKCmoBbx9gC2IE1gNuAl0EKg0gASUFaQUmCC4IbQU1AnIEJgFwA4IEdAJ8AUcCdwJuAXMCcQ6dAXUBbwt9BG0EbgI3EW4FggGaA3kCbQVtAWwCcQGNBKcDcwOiCGgBeQE2AYAEKAQ4AnMDlwKHAXAOXQGJAmIEXgInAXoBHQlfKJ4KdgU5AX0BbgF8A5wFnwNtBG0CcgJ1AaUCbgJtAigCcQF9A3EKZwZiAXQBdQdkCHYCNQhHAUsFRy9AJD8CnQ1ICUk","mQLkAc8","mQLM","R0DcAivFA3LCAqGJBKCvAmgoqA","rAFH+wFp9QUjOrCxAqqnAaZTrIMBmA","ANwB9BjNBIgIxQ6/AksMthAcBKkIuQG8BfECTwO+AcUDhAG/CHoLlgypBMEDgQqtBOYBvwduAm0IywHgAokNkRBHBioCzwyOCHEhxi+gDnwD4QYnDmoH8QHsAfEB7wH0AfYB9Sw9BdcJPAjLCPEB8QH3A3kHsxHTBMwKzQjtEukFag74KZoFcwOJA6UbqBFVKzQDbBOxBe8N3CKmA8ABvBrtAdwC1Bn4A9UE1RNLCNED0wZLC60PkAWDE7IV0AT5HfMKwQGHB8EDMwawBr0BpAOkAc8B9wbbAdgWvy15FfMFfQG0CXUC7iK9GZgW6wKoA6UIXQalEEECbAJ4BtIKdQHnBpYCfQmJBmYG2Qt8BXYElAWdBNEBuAO0AsUDmg35AeACYUXDFboEwgYhDbUEaAusGIwB2ArfBB4KdAR7CL4QoheLCpELdQmZGaohygxwBHkCuwTnAewPuhGcCHULgQfqFfcsQAtgAS0OxwU4A0cCZAGwDEkFWgLnA5MDIAGaDIICqhU1ATMB8hjVCN8DmQJ0AbIDcgPzAkcL5RvpBckBKQTjArMCKwYcA0ACyQGcKNQjJAg3FSYBQRjtDPYB+Cs8EO5T5gOKMUI","gATepQLPtwHU","kwFX","pQqe","1RDlAeU","8QLK","vAOa","6wKh","5gNw","pQrx","AXAc8gRDSy0tURSbBjYGqwagE6N7t+cBYy6oEZkDSB1bDGe7AVAcmRuOKnUmnFZrDpQHrwyxDu5Mdy1MHlo1vTyjC5MM7xhLBFYBfQFIKvgBRRFODoIshCmhAaML7CEpB5sBRQiXZDwKnAidB3IbnBohFdkOcwN1IjUCqg17UUce6S/2F84UPilEMMFkSQ","ywpj","hQvdSJw","hQvdSObZBNI","zgzc","zgy0","5giZ","zQvz2QTy","xg7Z","RIEOsQQ26gGhpQtw","xAGI","jAWd","aoQRLGR2pAItxQOJzwEu8AFFUCw3RAEl8QI4OjCJASE","anE","ajg","hAyCAncBcQdE","hAw+","TWsfRVilD0doP0vKBqW8A+HrAUIez6IBQj9dfWDBAUeIAcQdqy1HhAKf","yAbN","Br4BQgFmCEkBSQLFBGsPdA9iEIcuUh5uAlEDZwJCH0AJaB1tAW4WmxVtAXEZhgGXAX0Qpw19A48KlTCLD4wBjgGTAaYGZxdwAn8CnQGYAaUBnwGTAaMBlwGeAZIPtwNsJ4QTlAVwAn0BfwGBAacGgARwAWwBkA5tSUkBnAGGAYYBhgWoEaABeQSSCYIplx+hPlsCeBdjDW4UcAFtA3kBcwR1AXYBfAdLBHoHmBx5Km0IcQNOBHALXwFjDWwidhaVEqUCagSbBJ4BngGZBo0BkAGREWwOoAGRBzcBxgKWAlUDawaaAYoDdg6ZAaECagFqDEIDcwmnA6MLZgGeDWoDTQWZApoJRROgApgPOAuQAZQBbghZAVYtmwxzApsBogqKAqMdqAGdCWollwldCmAEexahPGYBQwKZB0EDWQWXB4QEdgh1R5UJdQJ2AWcBcw9nB2EDhBBwAmsCoAFeJngKfAHWFHwEVQTBBWMeuglyDWYJWiyODkgHmgEoBWkRXQNpAXsVtwODCxwDVAFVAjgJnhGfAboBvQG8NnAHXR9xCnECekJs","uQ9OXkJllw","kBLj","BouRATzAA7iNA6gVhGnXxgK1MCQryZwBxhwj","nw0t","gAc/XLVumw","2AGd+wFRzQG1ggRzuQJY","DFkpSwY7GIc6ZwNBApbLA3GeAYfiA5KhAoipAT2UAa05skZjTac4MhmC","F9XRCkmdBDs","9gJkiga6UMSFBCsoGQ","BUgN6swDQPAC4cQFSA","lhDV","lhAp","lhCq","lhAp","sgy4","DNetAfSrAbrCAujCBunKArld7YMBwg","BICFAaFpkYwLQw","0grl","hQwt","FtUDvAfwCPEC+grtC/YHhgNADZgIyQr0AaYD8AfzA3wE4gF+BNANeAKsCr8VZAQ1A5YPtwTuA+gEowXFA3sDKgLeO+4fhQj6E+kD7gv0IvQc8AjPA/MCMB70F+kI4AH0AbkCsgPnD98G9QF+EOsU6BjEEOZR8RPkDN8BkgGtBe8irRNKH+oD+Sb5KsQK7SBdBo8X1Q3uB94I9QL2AmAK8RDAFvJibSsrA5QDTQLjDPQGcQP4AtgXxwXvA3wB0gb2AekE6ALEAmoF9ALvDOwX8wjxBNwC5wW/DeY09Qe/HuwD9gHuA5UBJQTrAe0F4wX1AeQC9AfpFvMEpAHkAXYHOwXgAt8F6wOQBPUXQgPuAb0R8CvvA5cP5BPtC+oF7QftAfcH8wXsAekB8BnpBd8GywLvAegQygHqDPEL0gHuKuEB8AvXAu8Q7gP3AfcD9QHkBU0D5wT3BLMF8gHkCfAB7QPkAvYC9AG7AfYBliKBAdoB4wT0AdsBdgxfAaMM1gGRAaoE4gNYAfEFnAPAAXIBRwr3EVoLawHwAfYF9AH0BfVHvAHbBRgElgTvA/cC7QH0AvQB9QLt","nQa6Jqk","wg9f","vQK2","hQsn","wg4u","KkeTAts","hQsn","yg97","xgs7","P6k","KoK0A5c","lw5y","lA0l","pw6t","lA0l","wA44","8Asm","6A6a","KIo","0Aky","lg6V","pwSC","E38BKBrtBM0FdwXsAfIQUA13OPYPhAKIBM8DqwavDesBrTSoH/Iy9DEkJK4CyNcB7DO6C98T53THI+pMjR2mEegMshXGP2ZNqSLGdOZDWAjBB+Qf1h7wIOQEQAbzCPAY8ZkBizN0CvMH4wm2Ej0+5BKmbtMU81wrJOc","uQ8m","kgG6","mAOu","yQsl","sBBj","sBDx","TVA","6Aaj","sgPRAekBzQHLAcMBpAHRAco","6AuAZp1CoqQBkg","ww+XDPY","zw96","zw/d","kAGYCUMJ0TiDYJ9fp0+ZS0AcZjWo6wKaf6M2uyycCzs+d0WjC3IfsAKcItSRAaC5AZ4rRFmXDKgZqxdxlAFrHUA","4gNa+gtv","mgGmnAM+/QQh+QGPA2YJZ74CnpoCvA","7QnL","HpzwC6xXng","b5gESgKXCUM8PQFIApoGZRCcFWJBkiukBkgZmwv1AkSdAZsYUAqjKUYLpixnA44Xn2aY5QGwI0Q7S0NOBJUjTRUpGJcwrgOdba4CaiN2BkoOQAdnBkkKoQpHAqIaRRCjQU0LrCppB2EfoFNBJmkFIRGICk8Zpg1xF4cBRgGcN2BdmxyF","f6wHQ2FsjwFk9wE+NGyfAk3oAZlxQp8CkzumggGdPHhpQSqf","dUNXpKwETrYDR1tGb1y1AUNunWasGkI","/gLq","/gLS","mwfqygSMqAKfB2o","mwep8gbn","sgW6","lAuY","sgWB","sgW6","0Qvb","0QtO","0QtO","0Qsu","0Qvs","0Qu+","0Qsu","AklCfxi7HYipAdMC7fIB1gP4A+WPAd8C0ALbAu7pAbuEAtBc+IEB1wNOLPgEygbPHYlG5wPdIqDFAawWnK4CoB5t","wAFnZFqmAd7sDc0","thFw","0QuJ","B9maA/Y8ex7L+wTy","A90BtgHlBD4E7wHFA6kJvQVwAjUBZAEtAX8CSwHdAVYCrgF1AXEBQQLnBDcDvgbUAZAJQgPVAmQFNQZXBE4ELwGsA10BWwUrAcQBsgLaAoABgAIqAeQB4wLfAaUB4AO0AUsBMAHlAmwBjAVNAdsBpgJaAjMBpwQoA28BfwFAASYBjwNIAzYELAUpAR8CqAHiAV8C1AFrAioBWAE+AUICKQVqAZcBegN3AaECVQGKAR4C4wt6BEgEfwF7AZMMKwU3AZUCswSLAsoBdARZGa0CsRotBTwCbAIzATYCRALrAoYCnAKIAysD3whcAqgGcQN1AawBLgFdBr8OTglBBDALOgF5AVsIygfIAT0GgwQrAT0K3Q4vAuUVmQGxAtYDGwJJA4MErBUgB+gK4gc9CsQKzAncA6wBowFgAeMEuAHfBNcBTwE0DuAIJQiyAmQG7QZtAbkFogrJAagDRwfHAt8GYQPRBLUHwwIvAssB5wPIBbYIMgaIBcMBqQFAAWoD2gnrBIsInQ4qAYQIvgJDCcwbuQRUA1ECSQOhA5sX4wcuBOgG6wutAVwBOw5fAuoDfAEwB+AB7wbEBuICtgpyAu4HOQa6AYwBwgKGAY8DpAJxCz8CgQx1AjoCKQOwAzMD5gPYAYgCkwLeApIB8ANyATcDzwF2AicKoQE9A+oB1wXeBDAHsANMAikB0gWqC1cW4AbuAWoB1QKvB7ICUAk1DTcIpgi6BYEBUgHYDO8FMwSABTIJ3AFJA4YFLwbeBqUBegLpDukBdgHIEtYFVQHNATwHIgLJAZICVQJqBb4BnA3VAYAGNgGYBUUDMAeaAT4B2QeeAzABNQbYATwGZAGnBWsC5wHKAskJaQJAEaQD3gTYDY8CSQXuAi4EzA3BAbcB3QROBCUDJwLxAsIB6gQ/BpICzQLWATEDNwGvBqgPVwhGArcCkwGGASkC5AHDAcwBVAMlAe8B5AGWAkkBhgEeAa0BxAHeBHwB7wHoBWAGJwh6ApAC1gHFATYD2AaeAlQIMgHlA+kHjAcsBk4C4gGvA8QDUATUBjYBNwG6BzsCNQYvAuoCJQMoDsEL6QV2BisBKwKrBeQB5A2eBeYIVwOEAyUBMgHCAeABNAEvBR8D1gHCDNgDxAFiCyIBLQF6BswGUwPOCNQBegHsC9oIIQKgCMwB0QK/BT8BZwHGASABcQHXAYoLsQJ1AUEBbAGsAj4BzwG9A0cBeAKEAc4COQFcAc8B4AF9AZUBpAFTA4sBqQFQBDUBXwIwAckCJgRdA+4BdAE1BC8DwgNgDaQB1QG/AdcN2QLLAZUDTQI1C+EDLgJIAkgBMQKpAuICOQPBAfQFlgLMASIEpwE5AUsB2wNkCcoFKAEzA1wBNgTaAzcFuQHHAXABPwLvAUQBIgGPAVQCRgF3AaABuAHZASsBYgFHAlcDWgG1CyoDaxRgAVgJzw1uBagCKQIpAiwInQLOAiMCggVDAkUCsgEmATYDngjbA5ME6QHQAuULxwEsATQDNRHFF7gXrgzTCuNh1BJG","fcSTBu4","xhDP","E4IFcQanBawL1gdZB9kB3wp6BUYCUwatC2IPlgbgCrQJPgJFBXoFqBCeMGcCqwrhFL8B4AjQSdoBQhB0AXcL6whKCj8azAPmAoIC7xNFAZkiyE5BAcABzgFKMscJuQ7rKHQC0gHqAu4aqAXuBD8MMAP5F+168w/0CEct8SijAUkMQwRYNEEmohatAZEB1wWfE90SrRKmAc4d5AFGKKYUphHWBkkC1xAnE0cGRzjWFLMTqwLsC0MV3w7lAzICrQKbFcMEkBvWBPQjrAdFAvkB9wuvAkkOwQrGAbIvohtbDbAS+xJsBUEX5ApSB8IXnyg/ClQLUQKcBKMjSwSjAcoHoA6FErIMSxLDCWgD5gm8BNU7qwrxMZoCTgVwINoS6wvoBO0h9Q24AboEyhrVIfUB9gj0AfI","gwzK","6wt3","6wuj","6wuj","6wt3","6wt3","1Q3Z","0wFn","6Qpv","rAvT","rAtR","1QZ5","kwGb","gBHb","5Aas","0RE+","0Qq8","hwuN","0Qq8lgbF","hwumuAWH","5gHBsAbY","lgie","D1EWPSlTLr0CQw1NB5YEXwjMEHQHlguhE5wDqWOhBH4WogY/HmAYhBHFAkgFaQRUFFMIQRZBHk0BRQdHFZ8FRhCbDFEJlBtxAZoBKwOoRLAbMGLSA6IFjgKdMjlVmASqCE0fPA2nFYINwRzWAfgtVRxIC0IiYBNxCzQJUQKmAiwfjhuQD1YGpwlNCZIRXARKGrchQxGWBnUBmQ2nDMUQogejAlABrAdmAokGngGlEG4JpQp+GkUZPyCcGPMB8AH4EacFaSR3CUkDMguZDKkwnQpeGGkNRzZ+S0IFQg2TBToCVwVpDTxDJAuUCEMCOly/W6k","qwhA","qwhA","qwig","qwig","5gyVAqI","qwi8","qwjk","IFEKggXLI3sDuhNrBycWSg1HBZ8ILhU3K6NWMhsxAZ4OOTp1CDc2aBGZApARXjtgK2aHATUTRR8zDzu6ATp+M3MyDGMfHAxHHW8PliKmH1wPZy7CDjgtJj92TFEhKw8/CG5UcAwnGycHLFOnATEcQhVFDWI","rAegA9M","iRLS","iRLS","1RCX","qQz1","DK72CVHAAScxbA","ogP4","ogNK","Ae0BxgLbAfQC5wHIAcMB5wK0AfAFuQHdA3UG5QEqAu8C1gN6A+QFwAKFBeUC2ALzAu4B9AGPAc8B2AHlBPgB6wiZAlAB5wOrAdsI5gfOBPAFzwVDCsQDzgGeCu0B8QfLBrIIxwKSAecBhAHKAYgE0AL1AdwEuwHjBO8DXATvBO8B9QGhAcgD2wvsAecB1wHGBdQD8AJxA+kJWwSkBrgDtgH1BNIG7gfTCaAG4A7xBMIMmgK6AuMJXAzfBnoDxgOcBPME7wKbApQF1wokArMBkSPmAfgG2AWNBIsUqgTiBvYF5wLcBu8C4QG8Be0F8AThBIpC3Qn6AdwH5wPvAdgDnRP1COwBjAEtAeof4yC6Ae4B5wG0Ae4OnwGiA7sILyjvCPIK5RecAeYO9wPdJT4T9AKJD64MnBzAAuoB8g+NDL4B9QPiB/QE9QLkApgD7gP4CewE3QToBL8CbQHrAfABLgXxAfcC9AHtB24O2gPbArse3wJIDeAR7AHREO0I8QPUBusFxgP0CvAB9wHjAe8D8wHQBbII6BDuBfMB4QPxAacF4gd5Bu0B7AFdBfMD2wLxBe4KrASqAfgM7QGJBtYH8Qe9AeEC3wP5AuwLsQR9AuwD7gGNAsYB5AG6AsgG5QXnBOwDzwjLATMJ9gnpAyQFuwT5A1gB7gHrA88CSQFwAtgC8QKAAqwC4wvuA8YO3gpFAboB8wrrBeID9wfMCeUEoQHhAekB0wTwAtcD1wLNAuIBIgKrAtwBHgSxA2oBdAbVDOsGrwJyAmwR5ALDAeIH2QTZBPUGTgK+Ad0BKwLnA/kE6wLlA9kDvgmCArwB4QHoAdsB1QTbC+cB6QbAAX0B7Q14CNEKUgfmAVECswf1BukO6ALoB9wH8gLyCPUE4wGgEdcJwwHzAeQB7BPeAvUJJQrRAkAIzAa2EYUB7gLsAuoE8wLnCm4Bwgo0BXoCUwKPATII2xPxBMgC5wnDCd8D8AbtJO8B8QFXBPII1QPvFeYEfwmECl4BRALmBdcQWAG5CbABawjKAqUNbgKeB4gO9AbUA0AB8ReBAeAL5iK4B+5AoBDyCOQHVQ","8A6F","fDDFASggykA3vgQfC0AChQGLWDIRWyTYLYqaAaOSAS+rA5gJuyqJCyuDATIEISNhgQHN","+gjY","mwOw2Ahs+ANq","rwq2","kwrAmQG+","pg40","pg40","1wEr","PFc","og7P","DK4","ugF7","NTY","8wnh","jQl2","uAJUtway","ggpR","tg2oBMw","amY","0AGR","zwGiAbE","kAacAeYO2uED1IgDcQ","1wEr","3QO5","iA3P","wge5","wge5","mQoj","5g4t","ugF7","og7P","3QN7","lhD7","lhDF","lhDE","lhC/","lhDS","2AK2","SPg","pQfz0gjQ","pQfe","pQck","WOQ","4gz2","4gxy","LWkYwCjhHPk7mg9HCDehAqlr6rUBgOgBcSMt1wK3Tr5CoQlJkAG3nQJrHiCRAUAFvQ","1QHh","1QEq","iQEn","iQFo","hAhI","6Arz","AZgBfgRQAnkBrgKcA1IGywOLAcUGawOLCq0InAO1AbQEggSbAWIHwwqiBUUIogSpAToJmwaVCaAZkwJfAawCewKfCGoPeweBAsUBmCM+B2kQsxufE9QFnAqyAUsEnAhqDa8GdwG4BS0BnwK5Aa0jlgy+BJMJpwKmBncNlgqXBqcKuA+DD6EEnwJKD5sGywbAFpINbQl9AqsBcQudHJwCQAOoDsMPYiBnA8ACZQWqAs0QUReCJ2IhTwyiOckPnwWDCJUEzBhXJ0MDowI/DUUIXwqYBZETw2CvDJ0FnhHPB78DuwTPB50IcAfMAqQEQAp8AncBTwU+EW8BRgedBZYFpgOhAmgEmhkyDbUBtQKlBJ4Hmi82BaINdQqqDcUelgRXCZkBqQV6AacDpRSlAzoDngWQA3kFawM2BisOJwWhBaEJfgFwCIABiQKgA5sDxAZyB2sCtwO4BL4JSwc/BSgFUQG0AXYYxw0qAX0FSAiiBCgDLAZkCs0EnAa9BnMEygafBz8IkwajE80RbAyWCqQENAJCCIMIogubCJUGXgdtCG0DogGmAiEIdwkuAT4BsAJzEqgBRw19Am4DVwPEBckBhAXDBUIIkQJ7A9UDtAGcB6cBSxilD1cPtQq6KJgVmBxJBc0EbAOaA6cVdh9AGUsDzBFLGTgJPkNE","pgNjyAN1O6YWf2xTNnlmTUt3f3eUAZt8egqObcodekymBDs","Vbc","/AHeoQTLtwNL","uwI/gwE8","kARc","BZ0IgQWxAagYox6KFKMGYgVxCZkNkgdKAY0TpiplFnFJyQpWBW0HPgGhAT4TSiqrFUcOoidIHZseqQHKA802kQ6rCJENPA12GWIFdhtLFKkOMAKDA20BzCw3CK4JzQZFFmACwBedHZ4GyhtlHJcbYAXNGToWmBPPEpEidQTGCJgExAV+D9EIPQLDAiENnRlCEmgOdgxuH3MJnA7IAZwNhArRCaYCcALQAo0GPQ9tFb0BfgFUAYAWmwJ9FFELzAbKCIwadQ6nDmkFLwFwCnQLSQN3F8QVxwSICHUGywOfCoQIdQiCIbIBtBRKBp4RmxxYAWkCpwZwA2oWRgutDI0BqwmYAW0DqwTZFoQOSAYtAr8DygRYC0IJZAxrA3sSohJ1BoQDykx+HkkRfx5CHJgTyhtRHq0XRxBuC6wFlhtGQEg","rgxX","owlK","MnMCtgubB34RjBKrBlACaBqeD5IdhQFXHpESkFOdCFITfkeZIagJajRmO2ALc4UBjTSdG5dDm36sC21WsQ9wDtsSbUyYKX8ydCu/AYEPnT2RFmoCaDCvBqoyUCDACpBrpokBiQKYDJYJiQWZBa1vVAuEAXsPegtxO5AdQSLQtgHS","BY8","7Aqe","qAxCGKo6ZIMBGZwCJw","owPe","owPa","owN2","vwGg3Qw7","B40LsSJ7Lj8VmRBjBG0OphRnFWU4liiBAc8ZngebMT8jnZ8BPpABRboBnizPBo8YRgiZBW0LbC2DDMUCww+DE5QIPhDDJVIOlxWcAZ8mLxagErcLpAsnMYAT4GKGDW4Llj3FAcMPnwSYBsd8aR2bL80Tqgi8AZ8UZASdC7YOoiabIqoPlgF9BdAGcQduDnU9uhPiO30Xyw2XCUcOSwpJB0kURho7CEYXPxdBP1A","JYXaA8qQBMb1AZUspiN6a5N5tBuXQiUJy0JzWpsbMw04+AKW","AMelAboewCSyQjpXoSKshgF4V7+yAqYja1PvhwGoLLUFUrwBdDrdbcIewAJ6kwFBgQE3ENsquQ5nBYQE6H04cL0","ogOs3QGs","hgEpkAlD","AOgGtAvLA7gDegVzA+kI7AGyF1oCZgK+DGkZmgFKDkcklQRlBEkC6AdQAUMFbQe0BEYGzwm4C10QwhDSC6QBdxPzGasJnAN+GUoCVAXaAb8FwRKFA5wKigylAX4FqxDaCXABfAhsAVoBbAFsAWwGvgvLBMEKtwHMD2UUQAigEEcVewSvCj4ZRRnEBT4BywNLD2MEkhykGUAyfQFxDZgCxB52EJENRSJFD88BXy7kArELmA6GE0MQSQmCCJAF2whrCLYTphhGEr0G6gOiBnsERAZ2FM4B1R/1DbUJqy/GDPUEtQJUAmMCUgFCGU4DdA6nDs8F3AvuAaIDjwR2E3cBygF7AXU9xgWiB9YEpgfsAZUfRwi0EekC1gp1O7covANNAdcCdg2vBHcJehi3A3cd5hNNO/QFQwhBAc8IegRDAUoNpQFQAckWeQdNCUIH5wdBBLAFyQWqAkwDog1OAr8MRwZCDOgBRg7yB0cDpR+nBX8DcgHoAsMErQd6BdoCdgRKA7UJzgrzAesHzBWjAkEvUQJyEUsCdCvfMd1mmw","lgLM","lgLG","vQhd","rAR3","lgJ/","zQNJ","gwui","hAnD","hg/b","2ANh","2ANh","kQl1","2gm1","jRF1","BJlahARwCp8HmQegBaAMMwGgBc8CaRZCA3cCvBY8AlUTcQK5CNEFnETPB54HnwdiE6QKmQnRB6oFmw2WI2UDnwKeGpEHzgmpBYoIgAipFW0XcwqbC24MsgujCKUSyAlzDJAFmQyaAqQQcQrPBGcOygfRDqQQgkh9BbI6fSJCBZ4dnQqqCpcBoA2iAZoEQwOlA6AGdg6kBJgBnwdJA3QBbTG/FZ8qrAScC0IHoQbNH5wMlQSvBUcGIQOjGKQIrQehAZ8DRQKaCKsGpQGrDKMFsA+ZEaUKbBBwH1QPzA1EAb4LRwmLGcUXkwKbAYEFUQaQAaQP5BGhA6AEnyDRCZkERwyfBKASowGfG6cJvghHB5UQSgbOAXkBrwWfApsFowVFA0snuCrfDqEUkAVCBVoKpBijBHMEpBe7Cq0BnQG8D7YWpge7A3YYlw6sJU8Voh+vC0MNQ4EBSkU/DKQ","AG4CpgHoBbgHNgGPArcBqAtrBaMErgMwBYUBQAGcBKwTuwmODaIEqQEfBrkDdQOkBpcBrAEtA6ABoAOSB84EaAjPAcECMwPDAqYBKgGzC6MDLAE3ASUBJwRAA1YCqwVgAkABpw+kAp8FnAJiA8wBcQTLAqMIKwZ2A6UDYgHKAqoEJw7NAa8IShGUA6kEOgYtBEoBSwSeAWYEiwKgAqUPuAx1AcMBmAGiCs8BSgHNAXIHvQRFAYQEgAGmA58HogSWAZcBRwGMBZkE0wGkAbsBXwI8AXYEvQE4BGMBtQFFBpYEswHPAdAEzghuB7IGPQLRA9sBTwI0Ai8HpgHECKkUXgFFC2UH4gLLA0cCSgGcAV0GMAqQDKUCwAbQAXMDMAGlATQGpQWRBbgGywSEAqgDugGqB6QJegK4DaQBpAvMAaAOggRNAmwBSwG+CpECtwOfCdQDpAVnAZcLyQKnAo0HuQijBqYHRQN2BpcB5wJ+B08TyQ1JGXAMaAjNC5cSmAFLAXUDywWZAUYFpQPJAVUBcQKkCtQJWQGpA38CmgGjBJcERQJmAjgKmwG/BMoGxwGiA04CKQGXAnUDfgOkAkEF1gI8BS8BgQKEA5QBnwF8Bm0DpwKlAZoBohSAA0wMsAiLCkcBrwFyBZYC0gTCAdkSQgKXAjUBggXUCk0FLARvA9sBswU3AawCpgLMCVoBawWoArwCrAKsAUkFmQKlAcwEzAF8ATcDTQJwBCoGkwKwAXoDoAGqBJsETgSeA5sNPwGmAXEBpgFiAnoEnAF8AsABYgNjATIDLwGgBLIFrQqEA1kEnQWhB3YImwO9At0EVgKgA5oBIwEoArkBUAGtBFwBZwFdA6IByQGsAaUCLwydAjUHowaxA1QGVgl1BFQGkAGoA0sEugbNA8EDrgFHAboBMASVAWoBwQGiApICngPTCm8BggEvBTEEKwWnBG4NTQayASEDogMpBL0BJAKwAkABpwExAasCnQJ5AaUBbQGeBE4CKgZ5BKQB2gRuAaACPASbASYBRgExAVwBMgE4AbEBOwM4Cy0CaQKdDGMBwQJ+BG4CdQGvAUABKQF2A6gCcgafA6sBWQHNAWgBwwVhAWQGRAI0AXUBdAJAASgBYALRCDoD3QoqBTgBaAglAWQGnwNSA+EDdwJhBbECygFKASoCfgFAArQEhAa6AY8BLwKjA6QCKAGKATQBNApcATIFbgGvCSICrQGGAk0JqAttDGkEqg6MAUQBYgTgA2QEKgFrAUoCnwF3AWkCYQI0ATQCKAIgAaIBlwVyCTkCyAJAAXsHOwJuA0MBpAEwAXIBxgNqAXcEsgM4Ai4BvgJSA6kBng1yAk8BoghhAh4GPAtHBYcDLgKxASgChwN6ATsDRwk+ATIBIgWmAUcBMwIpAygGoQaBAZQBPALDAW8BcwMpAkYEYwKTAecBnAFuBCICywa8BVsJlAamAt8EvANeA2oEqwKQBc0BdQJCA6MCzQIkAZ4KKgHGAYoFWgNkArYHlALRAigFUAOhAScBowRQATYKrgJnBb0CngEzBcwF2wJmAaIBNAPLC60CRgWVA0gCtQ83CU0MRgGHD0cNNwJGCrIGPQ/GAj4fPAJMAeEHzQZGBp8RSAdG","vQ/Y","lgKZLUQRpNUDP9sDwsgBSg","AKQIegKGAYwDOQJRAakBfgGpBbgFigKSAXYCUAEtApQDqQNmCDcCtQKUDMgLUwFsAWcBHAVuBdoDuwHGAkACpwc1AqgCowE6ApYBhAF1AsIEawJ5AVsLlwJFAkIHUAJuAocBcgO1AYMBnQHSA5YBdgJqAaABRQXJAdMDdAIqAkMBnwKqArMBmwFIAbABngKsA0AEfwOlBz0HQAKVAcgOcgK8BXYGjgGMAUIFRQ1GAZIBSgGcBJwDdwhyCZQNmQlzAT8BaAGjBLgCfwKQA6cO0wK2Az8DdwFIAkgC4gRdBXUDmwZrATkCjwGZBUUDdgNKCbkBSwGtCKgDggHCBHYFrAE/A2MFcAhzAaUFTwSnAacCLwbbArgGpAQ7A6ECQgO7A5UBmwGABcAERhO3AUUGnAbLBk0FRwTJBkoHYghOBXMDeAIpAoMFLQJ0AU4BnAywAmYIZATPBLECZgG1BcUGzgHFBE0HtgaaDLABbgPTBFsHaQVnA44BygORBY4IqQaqBq4BcgOvAZACnQfLBHYB0wFGEcwDaQFyCnYDtgOXAaULsA1IBEoMPghpAjkBbgN6B5wRTguJBpoCUAbJDJgCVQbSAXYDhAHSA3wBnAOZA0cMlgFnBmkCtwGeA58JrwKFArACYwShAmsBRwM9B0cDSwOrAowKTgG+AaoCawGeCtYBpAKTAicDcghJAW0GQwN8AqMBcQxnAUoJXAOdBpEGdwFVB0QCyAM8B2kBaApvAswFlAFAAT4CTAFEAk0SSwOwCZ0CSwJ1AaMDhQNDCz0HcBNwCFIBkwUoBn0BMAF8A0kBxwacBEoFagI+AT8EmAKkA3wBsgF8BXADdQFoAnECRgJ1A38BawF8B38BgAGPAbYBlgNCCEQBlQOtBaoEXQF1AoECSgK6A0gDiwFNAVcBmgFXCrcFUQRSDGgBTge+Ar4ImQMkBVQCjwJvA3kETwFJBaoIcQJ0AXUFZQZEBdIBrgKKApIDcgSSArkC1gFTA5gCcQa5AlEGkQYvB6wCigefAWwBuwF9AowDoQN4AWMBcwVFATECSAVAAZkEcAFrAYgCjgRJCMACrgShApsCsANIAkwFvQK7AmIEaAFrAacCnQuoA0sEhAMrAb8CRwGtASkISgGZAZsDngJLBbIDugGdAb4BngJFAbAERwFxAZUBdgF2AYgHpBLJAmkBhQG3AWgGzwG7AmQCwgEoAcYBbwFpBVEBZAFRAncBaQJ/CHECfgR3AyoDJQOuAi8CQwFhAmoCnQF6AXcBdQmtBqgBSQSRBCMDlgKGBakCYAOlAXEBRAmIAlAIcQSoCG8BnAG3BcUDrgPGAnADGQFjAckBhAJAApIBlQiUAZsCSQGWAboBnQI4AcQBaQGTAcYBpAGbATsB0QNaAV8CngGVAbUC3wNDAZkBWgRrAVIBcgFRApABSgFiAdECdQFIA00BrgJKAaMCVwFuAUECmwGqAXYB1gSnBk8DqAnJAksDQwWxBIIBawHOAaEDSgWFAm4DxgG7AqYCsAGWA3sBQQOlAkgBiAidAUwBQgOiA6UFuALCAb8CyAKsAUoBnAQlApABcwZFAnkCVwFAA64BqgGoAX0CRwFAAqUCZgKKAXABvAF5BLwDewGmAn8BvgNAApoEvANwAWAClQtsA0YEiANtE4wBhARUAVABdQGWB0cCdAJ1AXoBOgNtApsDUAlXA0sBiQFLBDsBewRFAVwB1AecAmUBXQFFBqEIRxCkAkAFawJpDkcB0giHAUAXmwZGAUQHsgGdBTkCyAO9Ar8DPhaiAakUtQRDBcEBRQFlB2sOqgJOA0I","K/XhELo","vAw9","BFSVAaYimhZSJEIdbhc6XFe4AUwcPBRkKkqfAWHaAWZGpVJDIUQOohc/AcMOmSqBN4RlSgRQINAKpTioGkc0RTSOVSAWPxykUUhcmjSvM58lSHFJ","BMwBcguwbpKHArkCYkxPPGB7sZsBmzmKFUpXRp0GPWmTeaE","H3ADbN8GhEmggghe","BNGUArMBodAChwi+qwLBZbhY0cQG4scB7w","9wY1","hQn2","hQmo","hQnG","xwY+nAR/3ANGGnE","pwHA/wLP","YnABQxgsDqFqYjyZHko/ZTY2dmi3AWHVAXYGRjppngGkdENAbyI7pQGZJ0g3miBwF21hOiZ3Q25IoxprC40YdApmOKQ","LUkcVmNHuwRpqQHLM8wqrmWCmwJLck71ApswmA","CqA","kw6iOHM","wwah","wgu6","D0tdwlWgAewWPgWRA7cXuwXXjwKVCc4WzR2lJc9IvgbsBaNds1GoRLgBR13Ye2sKrQrMBuYcxg+vCEcVZgvLDUQWmlnKGdAEkRGtS7M4uRPZCuddaxV6Eb0bcx30Qr4tRSjlAc4L7RDDXk8X7DdvOcU","UlQCWj1uYXOFAYKABJywAaQ","hghHkwXEoQGS","2hCY","CfcCrghCBGsFxQdPA24LUAqoCV4BWQW+A1AEHAJmA7MIrQo+AXMEQgS/CkECQgEzAkkHjwRoB3ABRwFADlEBRQFxBb4RPQJABroTqwWiAc4CyxTUCUUC0BbOEJQGsxrQC1ACsAF6BkYBvwatAkgFwgjfCDkCPxtBCOADTAVUArsGPgvQA9sB8gU3A0UHQQYrEksOuhmUHLIC4w5PB88E5gOxD6MMSxnNC0sM8RGXBEsFtgZgAZADtwW6H08UtzqfCFQNRTWuCGAI4QhpF8oD3AhFDUsKcwLhA0sOQQNYBUcFTAWhBegYTQ27AYQEZgjDAaAMRgZrEbID4wieBV4BwhvXBEsCQwNbC8sGZw9GCkINQwvFFlMHuQjVAqEBOxGhAYYC3Qu8AUQBSgddBPIKTQZwAncPoQ+WA1cQTAx7A0kF1wmlAUkMwQvhEFMDogOZBpkGVQNuBnwBcwrCBUcBaAJqC0gFrwhMCkkM2AhHB5EB3QHhEfQBoQhOCKkHSQq+Ck4FwwF7AcIEnwRRB7cGUApqCEIFnA9JA80IyhpDEWMDzw5NE8ACUB3fCeMBXgKoAUgFvApJBT8FPAZZBT8BQwlUA9oFnQOoAVgFSwVFDtAPSgWjCS4GYwd0CN8FPQRDCEsEUgFzEjwExQJJA0YBcAF1B3wDRQ95BLwDvwrLKbIITgSxE0sHsxFfCU8HogZ0IdUWkBChAkcvuyfmCMoH2RnDA9w","hwpk","whA7","CYQ","YMqAAXQB5gO6AcoTsQTWQOf+AkYB6aEG1xDySVoM2tIC6BxDmAG+iwG2AeUkQw","4QGg","mgnz","ug/p","VpUMrwZrC3VgaFyZArNCRA2WBtgWjrsByR3MHKwTlD6+GpQerjKpA20szwjhG18C0kRkBikIsQx6GJdH5DG6GKU80QlkAZgZg7gBvzRyA6E2qDflQISDAVEzcgevH24USAGIFjW6AeAwRhPiBdgkvB3gBtof5BLc","Jks1eApPGWAlmCRnFmAdRRdKNSsLPRJH/wGoY8lmcDFkSZYfSyBCCkExTSFtBUIdnFJOG6QdoROjGkIgpQFEQ1oFrBFKE31bxRRLpQF6Q58jWhinJXkNzR2cPL0Jdwl/gQF/DG8NPANMAmYDTAJEAWwHqQpIDkgLQgNECHEbPxN1CG4FRAU8B0gLRwREB28HcQFG","+ArdAfB23A","+Ap5","+ArBAcN2jQ","+Qqy","+QrB","nQYw","0QKy","+AowAWI","5AxupAKn8QLT","cO1ovWFyAWkBqJYK7ZkEPA","pRDi","nwqt","zAty","owFF","9hCs","2hGn","6wjX","AH8C2QHdAkIC2gGgAT4BUgPTAecESwFvAdcCdQbiAYoB8AK4A+gB7gLdA3cB6QGjAbgC5AjgAVYCfgFyAU4I8AVQA5kHewXzAnEBWwQvAeQCxwXWBMIB7wGyAp8B2gG5AfUElwKRAWYDoAHoAdkBYAPwA4cBpwGmB2cD4wLxAcsB8QTEAdUENgHlBbID3whEAVoBoAXBAvYB1wInAtwB0wLoAUMB2QEzA8gBwQLXA6ID2wOWAb0CMgHwAc0BpAHYB+YJcwK6CXsCsgGzBfECtwLHBOoEvQp+AtEB8gG0DGoKVAWOBZsB+QKDBVAEtwHXApEKngIxAsYBgwNEByMGpAGhAbwFMQmbA3oBMQLKBzAKrQLlCWkD8AlsBIYB3wHlAdwB8AHtA+MCyANgBFEBUQTDAy0E5AHEAdgC3QHmAesFqwLzAWYBYQHqAe0BmwJYAjEBiQXrAUsB9AHgAskBoQX5BPAOIALSAeQB8QLRAi0H8wLTAfoB8wH4A78EnAJyAswJLQWkAeMD4wJgA88CQAK2ASkBwgQ5A64BMAEvAdcHyAPRAc8DKwXmAcIB9gP0Ae4B+QX1A9wI2wOQDNQB3wQrA+8D8wF+AdQC2ALHA6sC4wXiAn0C4gcvASsCMgIsATQHWQYyAe4DlQJAAukBywHxAfABaALXAfQBRwW5AUsB7gHrAewB0QFhB1EC6QHRAeYJzALoBM4C8wR3A9wC8gmhBKQI9AO2CbED4wGiA7YEKwMvAe8C8wHxAtAG7AG+COwD8gTqAdMI9QP0BtcC7wXxAe0BtQHuAd4B6gTpBd4B6wLzBMQHSgHSArgHrATkAb8F1APTAfAB7wHqAvMB8AMtAqwBkAafBEoBxAjcCKcBjwI0BK8FxAHsAUsBPgFiAd0FNwFGAdEBbQbLAVkB3QFbAdkHhgFMAjgBSAH2AaUBhQE6AS4F2AOMAZ4BpQHzA7cCugHtAtQDtwhWA+wB9AFMC9kBzgG0CrMHLwTlA7kC6gNjAeoB1wHIAssBzQdsBMYCzQO3BIYCdAHYCagEuATRAZ0CswHzAdcB7AHkBJ0BwAHlAdEC0QHMAfoE7gPjAcEG3wFOAfYCrAJHBO4BjALhAkgBzwKoCKgDzwPVBNIDXQXfCOkIvQLpAjQDtATuA4wEswTiAeYB7gOmArABswGhAS8B7wEzAYoFnA7sA9AD7AHnAdQCsAbNBfMB9gY3Be8BrgJYAkcE7APvAe4DgQJ2Ac0C3wjLAfIB+AGuAdQB8wHzAdYD8AfXAfMB3wXZBeABgAHdAYIC3wanBoQB4wW1AsEC9AHvA+0BYwK2Am4E7wTxAfUH3wfeAkMGygKfASkBKgK8AtQB7wIuAlEEhwIxAaEM8wfzAvAC7AF5ApkGTAHOASQC8gFBAlkBMQH1Ae4BUQGXAfID9gH4AfQC6AEkDNgE9gNKBPQC+QExAWwD+ApIBKAF5gWhAckC9gHTAdIESQTdA/cC0QGoBMEF3QSjA6oB8QHyAa4H9gHwAd8B5gHnAYgF4AJ8AugBYATxB0ACuQHxAsEB4QLPBOoB1AGaAiUB2QLkBEgD2wjmArMBKQJdAqsBxAToA8oDyAGYAbgJJQHmAi0CyQiqBj0FvAGTAaYC8gK6AdIBwgHuCPYB9gE3AfkD6gdNAq8JKwOsAdgEswH0AeoCNgNjA+EE3wHjBNkBzAKcAbgB4QOaAc4B0AHKAekBdgOmAvMGOQTTBOAB8AFXB+AD6ATJAYwB3wHoC0gE5wI9Ad0BUwfTAdYBcwKRAi8BOgHpAsIBsQvPA94C0wHqAeoB7ALZBPQCNgHVBH0E9ALyArYBwgPNCUsBkwHxCqgGLgHvBUsBhQUwA+oBrgHfBLcBhgLxA9oBKAT5Au8DfgPvAaIG7gFjAvIBHAO6BUkCKwFHBGkGugPyAaYC7wHxAu8H7geWBcEBVAOlAqAB2QHgAdMBvwNHAa4FowKzATUB6wOyBeYBJALOAl0E6QLgAfAC0wLXApcC9wMiAZwB5AGjAY8B8QG5BN0GrwPZAeUB8AEyAlMBhwPzB6gBpQLmBHwCewTXAkcN8QbLAvQB5AK+AesC4wXDAaEB+QLsAr4C3QKmBPMB6ALHAscB3gHqAeMBuQL3A9gUtwG5AfQMwgQ+EaoM7gFQBMoE1QPdAfcGRAGjA8UDuAf0Cb0E4wHyA+MDTAXKAs0B9QLfBUYB6wF6A8UBcg","pgY+","pgY+","tgLZiwLNH+XnAbY","sA3O","nwnF","nwl1","0gEm","ugvY","rwqG","7QPvsguu","3Q9v","4QzjhgW1","vgxBsgJI","4wie","2gbV","/g5C","lAHA5AfctQjw","lAFu","1AuD","2gbk","9Aay","5Auk","8Qvd","tgJrCyinCYBLNe0DzQqcFKQ","3g/C","HsOjAlboAaakAV1Y6sECL98FKjrEQxw1iyfKEOMFgQq6","6QPS","1wtr","uwzU","0wsv","0wt9","uAGS7w2J","5Qq7","zwOrhAiotgXV","kQzl","6QPa","zwPihAiXtgXV","0wtT","0wtT","8Qis","sQrH","hwrR","sQqX","twG4","0wt9","tw+q","kQzP","pgHW","8QuiIOw","hwrf","jQTsAcoB7eQB2lS7EO+wBLZQlxjG8AG6RJ7eAa5ErNIB7g","lBHx","ow7I","2w9/","mQmo","jAMyzg7V","9wy2","vAHL","6gXM","wA2V","iQ2l","hwug","jQShSa0","nwl1","owGe","3g+4","sQ/i","0wt9","fc7eDdwC0wTq","2g7k","fNM","+AqCAb52tg","+AowAUc","wQ/d","vQVoAdM","0Ql8","tAXm5QdX","yAOi","pgbk","2wTa","/w62rgF7","kBHq","fNHsCt5mxQ","+wTE","6Au2ZuQ","2xFQ","nA7U","ygW2","zAXI","ADA","2AF/","2AGI","qQPl","7g+W","6AbH","2wSQ","uwto","9QGq","tgLy","vge2","3Alx","wgPFIbs","lgd4","8w/BAVQ","2Abm2AbG","hwVW","nwrWngODAWA","4Qce","2A60Ad4","4Ad/","A6ICSAN5BsgtOwh8KS0DnwLlBVocUAzzF50HuwVQAiYPRA0wFowSRgx+I+wLRQW+DXokYAkwL7EXSgKsBSsINAbFCK41QymeCpgJtgaeBqUboQY4Hy8EnhmxBKAB3Am3GlYDNQKlEkoneA1mB68DsQSxCdQD4whCBusOsQZpILUDthFGMioJLwXjAicC5RHQLUMHwAPNAnAFbAGwAl0RJh6pBnACQhKhAmUGcBigDFQoywl4HTYCIwybDCYSmwpsA3AsSQo7CNwIMAFHDq8v4hbeAV8KWwGlEG4HUgJsBbsdbQvSEJoDOQ3QBy8c2AFpFbgL8glTCSUYngGTE08MrxLgCT0JwwldBBkESAG7BjkBNQGXBiAicgQmB2McXwHIB9ICswkvE0USJg9TCsEHmwZkB8gDvhmvGecBNwp1C54Bfw52AXIFxgImDusQeAEyKkgLQBrtCawVsTSlA7wEqTK+BUY","wQSexgVu","nwmg","zAty","5wrw1wTU","vw9j","vAGg","wQWX","wQUw","5Afb","gg3Y","1wtC","5xHC","5xFS","vg7C","ohAo","jASuA7A","6QPf","xQ9A","sQrA","xgN1","lg80","lBJGArs","sgjl8gd+","oA5o","+ge3qggj","kAfV","7wvf","iQmr","khAl","8QjS","2wR5","2wSm","1g7a","qwm2nQJB","2wzW","K6PXBITzCNN/q+8C0g","9gGz/QRKtgGboAF1E+maAuO6Aaz6Adg","9gvp","hgif","qxAn","/gOoA8k","8BDh","0gG6","igfT","iwfk","rAiq","vgRo","ccQ","HNA","5hHU","wgXh","6QfN","OT4CfjFqLCopcQ1mOXBeXUFjHJEZQnRmDEiYATdfs40DLlJDNnESk1YeBnMCnjtrCooCfSqdJCuTAiglaBM34AGZ","ngH2JKuNArjxB4HKAZjJBMALNg","/wxhkgIm","ngHN","xQfk","BUgEPgc5CnYETgM1ArcIPgOFC28Cggo9BmQHsQFmA0UNHwU+AXIBZwKECqYPSgFFBU0HpAKgB60IqgdFArEBQwSfAUgDlgO0Aj0BSAXJAksTwAI5A0gFowdIAikKyAFiA1cEpBdREssGSgxAC5oBPgxQCZ4JxAWXAV8PsAKXAWAFRQ9ODsICXQJRBkAFbwOsFaMCNhx8CZYGdBbDED0URw56DHAcbRGdHJ4amgE+AVEZiRS7Bp0OzAGvB0UJlwFiHKEFrgOcCaIQxwekBnYLJx5HC6kfQQ+wD6UIsQWjAbUCYQqgAnYEmQxOATkBSCSuAUoeRgG5ILkBwQJMAUQIUwdeDUcIQw3HA08Coge4EC4IRgNSAVoCTgFADbcEoxBHAqYHQAqhAzMdrAldC8oDqwZPAtYLTQQ8GkoImQxRB28B1Qa5FDsCbg9DBqQCRQNIDqcFRQKhAXwLxQKHAlQBsQGrAzQCeQisA3oFSwOQAngEeAaaCaEIRgMnAUgPRwFIAk4BtwdyBLIDqAGkBkQBtAKjA0kDSQKmD4QDfAO5AbsBQQdNArABrAZQBbAPJwtHAoYCRQjID5wMRAE8AU0CewNDA1UCWw1xBnEBRgesA0EBTAZLB40JpgWLDMIFbxJGBFwBQBVKCsAOZQVaA6oCpgOcAnQBRgKKFqUQuAVNAZsQvgVIB7IBlgSoAbEHsgGlBLMEgw4mBFkItAY5CGIFOQFHAzwCNwiTH60IqwerArIBlQGBA54EJAOcEJIDRQKxAU8BnxFOBVEQfAI7DtZSoyTKQZsBQg","2g2L","AkkDwwG0AtMCUAQ5AsICxAFCAbgFuQGaBGsCUQKeAn8GRwJ2AWkLkAM7BUIGvAF6ArIEwAJpAY8DuAKKApwBfgFxAb0DowVlAUMF0AJnAdADXQGdAioCswJDArcGvgGoAbYBvwTDAqYFTQFfAZACzQuaAXUEmAHRAVEBpwHYAaICRAGzCMQCuwG/A5YCQwJGA2oCaAGxBGUEtgxoAbIFfwJAAXYEoAOdAdQB0gKdAusBrAHQCkMD5AavAecBgAHIA+UH0QTCAkoZnAOxApkCwASmAaACnAGYAasCngdEAZEGrgKoAp4CUgG2AqIBawS2AaYBnwKnAW0BmQOzAdQCaQGvBJMMpQuWAYsBqgitBLIH6QOoAqIBiAFMAskDvQGgA6oCfgJDAmEFnwKdG7EOswKVAqcCiwHRAa4D1gG8BbcBSwPRA10IXgLSBUcBoAVwBMgCywpDBakGiQncBLkE2wGrA2gFSwGXAa4CnQRYAnQFkQVWBp0DngGEBbIBownDArACYAW/BJ8DtgakBLoBzRlpCLADqgebBH4EpwGiCJcB5gG9AqMBOAOiBJgCyQG5AoICqgi4DKYF0wq2BJQDtAHfAcwDnQJnArMCwQihAcsBqQMrBK4DnAKYAj4BzQibEGMCegnOA4wCTwPSBK8MnwSvBZ4CrQHQC50KjgWvArcDuArnBJYEygOdBaYFtQPmBosCzAi7A54CSwGaCEYGqwSZAYoCmwlEAR8BpwOfAaoDkQOkAZQBfAKlAcwSRgZKBZsBmQWyIZ0LRAKNAagBSgSnAXILggFgBEsCTQK+Bc0BqAUvA7sCNwF8DdIDVQGxBK4FqgZmBYECowFWBWID3AG2AccBogGfBbADmQFDAm4BewfpBaABtgPMBsoBzQdGArkFWAJWAUsCsARoAaYBoAG6ArMF0wKtBb4CWgGPAqoDQgZ8ApsCQgVGBIwFowOfAV0CnwKSA5wDVwLbAlAFOAFnApsD2wGjA80H0wFSAYgEpRTADswIKgGsB50ErQXBBDsClwKrAccDdQOSAbEBRwStAWYBSAJ1A58CmAVrBrQDtAJEAXQB0ASBA5kDxQFgAYMDxwhEAcYBogFuAkcCnQNzAcEBegZiAYwCmwGJB2sBlgLDB8kDfgE1A0wGmwGgAdABxQSoCsMFxgGkCEQDyAJ3BMoCngG4AkQBMgRHAUkBrwaoBLUGnQVRA6UBoQSjAcoFlQKtAr4HaAGdA00JrQV3CdUCpAK0AUUBvQHFAb8JUQd2A0oBnAGzC0QBpwGbAVoBtwG1AZ8BmQHUA4oCRAanAWMESgK9BisEwwOgAdIFxwebA0gDXQaXArEBKALOBUIBnwTNAp0CuARHBtkCcgO4A9EBlQSaATkCrAJkApUJrAGwAZcCVwEnBJwDZAG+BakBqQKsAWcCoQSzATwBsASbAcgCvgJxAswBugNIASECTQFGA6MCTQR1AbQBVAG0CE8BwQVHDa8GwgG8AXMBoQXrAqoFLwG2A3QBnQKrBKYBrAOnA7UBqAinBKcBSwmfB0sBfgE8B9ADzgTVAcYCiARFAqQBpAJHAUABtgK8ATkCTgFwBrwBbgG6A74ChASUCKoBmAFxCLEB1AKOA7QFxgHNB3IFyAWeA6MBdAm9As4CpwZ7AmEEZwhpArkB0wKzAdoFpwOhAzMHzwYsAqwHsAbQAdAHgAGxGsMBTQNhBdQbPAM7CZoDrgGyATgCuAmeFNUCxQa5BkkCShDGBUUF2QbhAkgZxQGf","9A6y","ygyY","ygyY","yw5O","uQfd","zweX","/ANn","sgX3","sgWr","pQHuwgXd","pQHb","qArH","+wXG","5wZw","mAtM","mAuO","zQuz2QRI","gAFFgwv0ngLkT+OyAXw","gwxD","oQ6Y","xwjy","WH4","/wbX4gSmrwGiQt+OA8I","8wGZmwpY","0Qmm","rRAo","mg4p","iAj2","WH4","0gKJsg+1","jQrc","xAEe","9Q2n","8wFG","jQqX","6gzg","1Avk","AlQKs7YBtRUrP2aRASuLBEcuMaMBs1MhGHjBAkfNAdX7A0M","hwy1","jQr3Ae8","uQyN","jQq/AcY","2A7uAe4","jQq7","jQrZAdQ","jQrpAbQ","jQq8","jQqp","Bp0CQguoBbkSmCV4AcUeXR2LmAHLW80BizywlwGxEDYHqgWde9IVPBOhAuYG6zfTDewYzwP3Auc15BxuE6QIvQLGAsgGxQeUP9cBlm1ULJxmnQnTFllunndFCaMrZALAWXY75hOcD2tN1xV8HJ9tfTlrSZNjsgNl","AEkDdAVABW8CfhV/C0QIvgWABEIDTRayEEgBowNJBD4BVwFSAk0BWwFeA1QBLAGtAYMBRgJhBUcBRQFCAo8DuARBApYBNwFnBJMDqgJKAjwGVwFEAawCQgI3AbcBZAVIAqQBqQQsAT0CQQGTAycBVAM2Ay8FcAlZBGACUASuB68BYgWyAVQGnAJDEHMMNAVOE08GQgSrAXgBQAGMApwBrAg/Ap0DTgdQAzEOUgFwFF4BOQptAkoLTgxKATQCsQNRBWgBpARSAkMCVBNXArcCkQtJAZ8JQgdgAWIQzAxNGGAKjQtRAs0MVAtNFlwESAKUClcMSQyEAmADjA+QDEsBZRKfArEHbgZJEFgXsgdOCVUBTiHEBSsCJgRmAbYDVA1ADS4PRQhtBckNsATSB24cnwNaBi8BSgGXE2EDVgxTAUkBZgJLBG4BeAFvBE4DWwJQAWAFYwWgAXIBRwE5AVMLkQFuFkgZfQpICKQEbQpdCkQCTg11AiUKTQRMBU0CSQFJA1sNTwIhAVcBfwNVAU4BRAg4AkYGZQSFAlYCSgNSAlABXARuAUkBkQSSBccDURFUCEsBnQMyAlcBYAJ7AVEEKAJcBHYCUAZPAVoFtwhfAVwBSwNBAzAIPgRxBVYDTQFPAiMBTAJeAbIGUAUeAWYOTAuqCFQEiARUCqABeQFJBloDSwJcBaMKsQFdAUgEagRSBEcBKQGQAVcBJQRHAVIDRQFdAS8ETAFhAV8BOAFaAZ8EOQFGA8IBXgFmAVcHTwlPAbIBlQErAlMBdwKuAlQBSgFlAVEBVAJiAVMBWAJGAYABjAGhATgBqANXAWYBRAFOAVMBKgZOB8gCdANUAqECrwFXAWoBMQG8AacCXAtSAkICUAFIBHoEQwFMBmMBYgNRA4sBYQFlAUcBSwFNAVYDhQK0AkoCVQJHAUoBRwFOAU8ClwVUATQChgFhAU0BRAG1AbYCSAFKAU4BTQJHAVEGUAFDE7gCpgG6CEYBYgFIAp4CZgORAWUCTAFlAUkCTgFCAVEHvwJgAlABkQM1BlgCUAK+A5QBWgJVAigBTQFOAUgJUgVAAVABUAFHB7ACIgFaA2MEYgZrASIJKwNXB3sCNgKWAmMCgQRvAlsDXwWdAVACUAhAAUACSgtBAlsBUAGXAVoDaARNAaoFqQFWA0cCdARaAWgETQFyAbQDWgNFBIgBQgJNAjgBqwGUAlcBSQNQAVACqQsqAVIMVAOlAT4BQQRNAXQDWwVQBFYCRQFwAVwBfgRsAbkBOwVBAUoFLgFQAVAFTAFXAWoBLAJyAV4IqQF5AVkFVgFNA0MCJQNNAi4NIgGoCk4CUA6EASoXNQEmAkYPYwKNAVgEQgG8Aj8BSAGYAa0BowFWBy4CcwJdAk8DlwJJAYcB9AGwAdQGSwpMAaQFVgNJCmACPwFdA1YRQC1QS6kQrBJHBaoNSQeb","jQVYvwOB","CvcJxBKBrAe8oANPAewC+bkF19oB3QH8","iBJJ","9AqklAft","iBLP","9Aqx","8gqilQdN","E8Q","8gme","bSMZKTBqAWQ1eSLQMTwSOBBK0QI26gEvcoEyLwGnhgGmFzw1vyHBOiisAkkmT2ygItMtLwqWKCY+aSAqSzU","6AbbsAvV","CFEBToYBKRxtIW5sc9ABsi4+czZQYi2iPKQMdQKiA6YyliMpqAGvEsArsAeUA2UJQQemD3AEaAMzIHwRugOeaZcrUAe4hgGfHEIHfDWYDrdRbR3nKpsBeBBHAWgCfQdzMW47cHVnlgGk","bXGvC24Lqw","c5kloQyiQ52PAT9xPJECl4QB0ClFAp3cAX0fpAOVEqMnPAhLFZtW5TewlAGkuQGYGGEQRhQ/FklUZ0+lA0c","DacJcAZ6ApwKSAKaDbQDawGCCbUi2QOlA0IDmAyIBtUBlAVCDW0HnwZRDJsGrAc9BmcTygM8CUoJYhJZAaYZmgd6JVINMQavEl0FowqdAs4BmQkwAmgXpw5CGS8Hpgc8BpsEZg5hB40WoAfXHYIEnRCtBGABXCFQBmkMdRN1HXkRSR1YFlAHSgFhDJQCfCB4AoEOnQSnBZwC1AsuBUsBog8sAnEFlg+fD6UEyw2wDpoJnwxrAaoCXgSjCaMDdgaMBHEFtQheBFoDbAE6BikFLwSlBnABOAFxDNQfvAJMEKYSzQ1aEJsKZQVDAdwJyQFRAUwPlwFoAZwBgwTIC6QGmQKtBZoIKw6vCG0DkQcnA2gGngKVBKYPUwaNCOUGKwErBy0FdQOiA6cGOAacCMkaiAWzAo4Fygc5AWQI1AXaAlMUWgQnArECuwJuBasDcgO7BF8NcgRYD6MDLwVUAtcBfgMlAb4BPQNiAmYCLgGRA54KogQnCK0EaQR8Ii0BvQh9B3ECMwS+AiwEZw2wBDQDuAIoBXoCYQHUFH4CggKjBFYCogS5Aq4BQgJQA38BZAGwA4MKow4rBFABqQUoBX0HngGTBW0FbwR0Ap0CegZzBjIBbwm2AUwCVyS8AUcDYActBygDZASxDzECawWUAycBggFrAnIDgAJwAiEEqAM4AUcCdwZuEDMPbgfLDS4FMQ6gA1IEfAOJAqgJ6gM1Co8RawEiCV4FeQW4GeAIpQYuA5cBVQl3AZwEngMlBJwBcweUAnUEIwKSBKEBQgJYFaEBYhm9DmFltiVC","DUcQhiqeBcEPuyGtCrwOMwukBYgDQBOZFMIeeQcpA3MEfmLGP6YJSSRiBqMfRVAtCMVG6RlVCVkGMgI/PbgoMxx1JI09OQt1BTUVewZmFSgOxQkvC6MsowKqBL0egyI3EzMBdwIuGC8NrgQ5AjYhcwpjDnwVOBMfCM1EpgeaGjALsgu2A2AJgh0yDCQGMQRxBL0DbV9aAYIBWAyFDLMcKwwoA7wBax93B6oKPwZ4AdYQiiNRCH4qJCBiCY0CeSzUEKIHlgouDXYK0g3BD9Q/dFJ8PMUHVUiiFr4","wwE6hgdOZU4","oAWk","8wfQ6AP8AXjsA3Y","2wu/","2wuZ","2wuZ","2wuZ","2wvX","wxAh","tA67","WH4","R4yzAfM","AeAD5hhtAkwI5AI0AjQDrgd7BsIFdQNABrEG5QSUBegBqQZyDIUKtAVrBEMO8gFiG7AF9wKLBU8OLwM8A28KbQRiE1tORQuyDDEGJwMnAy0I0QNJBjEWMB12AeYBrwFrAakhgRNrFUgDRRVHJTUOyBeRIUYErCqSCj4kyx5fFG4ugRWHFIQIcQyLCKElZAPvGPEBdgJ7AzQBWAsjBCkBlwMpAjMJRQFvCx8KUAXECOkL7AWYAogKqi+bBagBPhPADH4bwyVAAmgEqxpvAVUQYwEyAdUDthiEB2IWLQSLAh4MrgnCAusM2QfuGEkEVA55A+wLKQ4pBu8LwQuhGJQHcgMkAXkFMQIqAeAYnAJuCWwTaxHQB24BTwRHDW8RiAFmBHQM7gLHA2YNqwJuCVoGbQRrESoMJQR+Ap8CQwmnPjwS5QFiAkQIUwM+C0IFOgNlBXgFIAFsAc8CdwybCl0ESwZfAisCMSR9AykBeRo5BvQCRggzAnYQfhA6BnQBQQEjBiQFrgE8AWkEcwOhCIYzJASxASwBJwkoCVgEfxNAAnQCRgy4Ad8B4wbkC0wWQii8Fp0WxhZGAugTuiqf","0AzQ","7gSU","6AFbvgdA","lgdZ","lgfd","iwHX","owtx","lQyX","uwuU","lQxr","pQ2n","7gqtNV0","7gpD","7grV","J1wSew1KAbIJswYeAt8h5QrJEW0f6ATKGvQBowjdDpwZzTPnBMsjmi9nApcS7AGyAVoFmwFjHJEmRndtAmZFsBmjMH8DySDLF5kzqB3HM/gD6AbVCqoD6wKACkMWnCJBFmUkmwZwNlQGfSm9AfAsziCcA/EEbTv6H7EVkBg+B2ktjzlvD+0w7gdrDm4JvByKCygRRAevLGcwYAueDT4QOgM/FEMNJDWdD2cD0CGDDEsUqARBBUANvBPAQnEaSBaYGrECSRBKGktd8g","pQMr","3Aao3gNE","wgeMuQLa","rwfA","ugrm","wQqv","iwHo","ogOAnQG0pAOsvwE28AVS","ciW8CC8","HqrwAdAnYFitwgHHEUJZonjOG7ccyW/JxQHBHKAPyQqdFFB1zW2wXknYAavQAaI","AbQBwwunA9ADsgGQCSoF2AayAZECqwWXEMcHjAdxAnIBWQReCpYdvQGcATMEzA4oBXwDKgTjCEcGZQidBpsE1QTgAeIRowJlCM8KmwTROIEDdgGgCnkGaxs9GW4C2AWIB5gCqQO7Ed0B0AGUAdkCwQPQAZ0FlwkrDMkE0QSIAsYOjwGjBeAKyQ48A58C5h/wA7YCrgHlBa4BcgOfAc0ByQJ2DHAItgGlBHkBqQhOBHAKkAHIBdoD1gOtBy0GsweoBNcCnATQDZ8BqQhnA4QH6AXRAWkE6gGjAXMMvwbPA8AEqARNBMUE0weiCdUNyQPMB3MB1AW1BZQCrxexAeEB4gPfDJsL0gWRFMsFhgd5BeENzwb1BMcHhAJNCp8QpgXLB7oP1ATNB80NeRK3AeACnwR7CMUCggSlArgNwAGNAc0BlgFuA3oBYQjWBG8HzgGgBMMHyQWpDdgBawXJB48IYQ7pA84FogeXAdABnQLXC98OqQflAokBlgR8AfMEnRyNA00BqASiAaUBlQHmBJIDdwbMBJEBqgcyASwDvQKhBb0KsgPIAi0BqwTDBbIBmQXGC98CWQFWAZ4BxAE9BYgC7QF3CE0CmwGdA+sGrQfWCKYSxQG5B3oPLgmMAtQDtwHjBaUDagVJA8QKKgtBCW4N3wXrBtEKnwu1AYIRsgiWB7EDqwSLA9YDgAabB+QBYgWoBZoDgwV1EMcBtQ/RAdkC4wjEAbQVxgfFB7EBTQGEHM8B3wTiBHsBtgGeBZkB4ASxBt8HSwSoFc8BugHqA+AMNwzgD4QCRAOwA4MGXAOkA9gBVg26AZAHpgLKBLgIlAEhBqQDryPmAuMFzhCgAZ8QnQ6oBpAKnwS9A6wEwQfxAqACTQojBNMEMwFHBmkH3BTLEUIH0QnOCqICswZqGGQGKwOuA/ACngToAs4CoAGTA9sBwwHDBDQCaAdLDcIHpwFBA94fQApwAr8D4AY8DJoBowO5BEAFowWuBm8FZAdQBUwQRALeC7AF1QaXHaw","8Ayp","zhCl","tgvF","pw22","vgqm","vBDw","nAGZTHukB8pDRB7LCcgBywHiiwG6TrfLAUNsxKgBSSTtKs1EiFSA","+ATH","tgvF","sxBk","tA4g","tguq","FCgEkxGhB0AQrD2uATMYoAtDG0AEZwHYD5ldngdLI2klpAKdD34E1D6rCpkPRgWyHs0M1w3DCHcUXAdEAqYLtAMlBDICRRG8B50MRwWUC8oHdQemBT0S1AsqAj8joSxwDz4BczjOC9Aypi/PEl8MnBlUAbcGShXfEN4LnwiyBs0WuwmiBtMESAVVC98Kgha7G80BTQdyBWINpAlIFIsSPg4fBY4GmgGhAY4BsQqeCicHwgOaL6USRAw+DJgISRfEIMoaxQGuBEYBRgGAD8UDSAjXEn0RzRCIAZwJywTNGEgsmAVyA1cGRgM0BcUSmRMiH0cdxA23A5MHgRR7AZAHuhs6AqgBewHVEM0CRglQHkACwRXBDZMBogZXBkcBlBqaAyADvBuQE4YCSVU8A0AoQwjnBdcBvAioIZwFPhxEEEUlwQ","AbYJmxG5DLEESQSpAcIYuQXAA7MFyAGzB6MBlxm8BW8EvQKuAtANvQ6YAqEBhAWiAm0B1gOxBJ8ElgWZDFUUig2dC6oDdQW9Ar0F2AG1A9kD2BHUCckB4BCZEMYCvAG5Bb0CSgi8AScOlxu9AXYCaAu6FsUPvQS8B7oCvQORCb4LwQS/FbYCwRfLFEoF3QW8AZ4DtwHLGsEC0gm8AbkCvgitBG0C1wrNA18Lzgq9AbcKuQa7DaUJtwqxD9cCcQGnAXUKpwW9DdUBsQ+9HrMFuQavBLACtwm4AdUBvQy8Ar0FvAu7BrYFqwVDAtYCOQW5Hr0C4AS6A68DiAy8BNUI1wWyAroBtQFsAbsDvAi9CeIH0wjKA8kNvAJ4AbgCuQnNA34BzwLWA8UPvAewAjoEvQS2AbkBuQG5Ab0B7AHnBLcEvQG5CbUCnwu2A+wRuAHTA90B2APqDLsGpgizAYkJ2QFMBLcgsQm9H6MFnQHUCTsBoAvSB1YB1Ai5CtADJwO8CLkBswS9AjUIvAZNA9AMdwK1CLwCvAO+Ab4GvQO9A70E5AG4B9QLvwOrCbkFvRS3AbgKuBWlAbIItA94BUgJvwG/CeMBswu9FOgQnQG1AbwD1gnTBX0BowO2A0kBuBHSB5oBewK4At0DpAq2CLsJvAW8AukKdgSbArkDigpNBbUIqwO5BLUEwAGfA6oHvwaoBUkC3wG8AskBwQG4GqYEewG5BbkCyxPTBMsEsAPABMYNtgJkEboBww54DrgOXQOtCsQFsgLUCdkLoQZnCpYEqATOBkAJog3IDLwFqgHFA60CXwOkAnIH3gSZB5wFhAe5ArkDvAF3CrkMwQ28ArkCrgdCBLcN4wfDAaYHvQIrCLwGvATiArwCvASvCEcNlQqkB0QBqhyjDkICQxlOAz4B2ALEBrwBvAlMFLQDRgS8FUQITwhOBaw","4A3L","9Ad+","iwyd","7gRf","jAibE6LOAYYBVuMErg5TlgGOaEosRxNGDdQWTgRAHkErRw","H1wMoyp+CX+RA8w9qQypNjwqqQyaAZ4UeqABqpoDq0egd23WAcwQd7ACoDS3DqIPogGiOnw","R4yzAfM","pwnl","2wn1","pQeN","WH4","FCgjdzhDYPgB4wpIGKgBKQK/BdNfmQHPgAFsIer0AUVjwqIB5+ABsieFBN0Uw2XLAcijAU5iwgrxY+YV0w","FCgjdzhDYOUBrgpIGKgBKQK5BdOBAur0AUVjv6IB5+ABsieFBN0Uw2XLAcijAU5iwgrrY+YVqA","0AG5","gA69","gA63","iA1x","0AHS","iA1x","9QE/","iA3G","2QKZAc+AAWw","lhCx","lhCx","qQGw","pwHL1gi3","oQb0","oQZe","oQaz","oQ6F","oQaY","oQZe","WH4","8Qu7","hwi9","1gHN","rAHmyg6lIPY","7wX2","7wVh","lhDE","+A3d","+A0e","2RGd","2A/dBOQ","3A/k","3gL4","3gJS","2A/d","7gf2","7ge3","7ge4","uQVA","2wS6","fJs0dYkBcgFp8gF3xwpapQF2AXI","EcM","kgKdC+WsAs3lBe+2BvIY72fZ","2AjhAc4B4QH3nALttgPk","fJs0dYkBcgFpqwGpR3f9BIDKBaqlAXYBcowBzw","FcnoBcg","5QOpxAWAygWXsgLP","/gpO","2AE+","qQe2","qQc4","2gEo","mA5H","mgLmsgLt","EuU","EuA","A3YGsAiIBOkKSwKkD88JwQHUAeAk8DCnBnRAYiGsNtkqwgmhUKgfxGiRaNIGIQHkGu8U7SbdBcguxgXjBdY04lLsBsUIfgHTsAHFAeEG2HnbIDwNNiqWF50zrjOeUXAaNQ2wHZ/tAc0tv+cB6A","ywsx","oQEssQrwhALo","0gtN","uAii","wAL0","hQ/O","kQnu","uAjI","uAjk","xBDW","xBB7","3Am9","uQWi","tQ++uQJV","vg/A","5BDk","7AmR","3wfF","kQml","8A6j","ugqn","wQy9ygLCAbw","wws4","2wH6","2wG7","2wGA","lQvm","/w1d","wQKx","0AL2","7hHH","7hHH","7gfa","7hHw","7hHw","twna","7QbA0gmH","/w6+","1w/1","1w/n","kQnx","uAhs","2Qu+","yA7E","lQnKlAjU","wAHz","wAFo","1g11","uwTe","9Q6P","0AmR","vg/j","1wHJ","0Anh","ogVI2AHEgwNzxQKh","+gbF","5AGhAfPZBfQa9AH62wHrmgbmK7ePAfA","twTF4AFnAWc","mQ5S","5QGu","mg2a","7wV3","swhm","7hHM","7hHK","7hHK","ugLR8QaulwYy","8wts","twXxvAb6","twWVvAaX","8wts","8wu/","8wuZ","8wts","8wvI","twXOvAav","8wue","twXOvAav","8wts","8wtX","+gr4","qw/yAfU","qw+1AX4","qw+qAa4","qw/O","rA8z","WMw","uwSw","lxCx","wQ7syQEbL2w","Fbc","6Auq","ugrxkwTtcfY","ugqC","ugqC","ugrs","ugpE","ugrD","ugrE","ugqC","ZNQ","ugqn","kwzM","4wrr","pBD1","pBCk","pBC1","pBAj","FCifBKg","uARocTatA4aIAiw","1giG","xAHAuQTIoAMq","2Q8g","/QXI","ygyBAXYBiCewhAHCebs","+g3EAcEByLoBk+YC2QHZ","sxBx","sxBx","7Am/","Ne0","pAGh6guvIIHSAkQ","E98","E5w","E3E","E8s","sAHSuAP4","uQS8Abs","zwX3","sAFJ","6AS8","5BBH","7wyv","vhB4","hw/zpAF9GKw","7wz0cHOrAhsp2A","ihAb","uAT3","uARo","uATJ","B6oKxQbrM94J5EfRMdSXAeS2AbwBvXppFrT8AUXSBI/KAjQ+ny6f","hwHb","AcMXUx22DW4YdzqiVrqQAamfAaAFtwHFKHQUS3uxkAJsDbkQuSTCQZdCshC58QFzJZtJ4Qa/2gHbCIyhAb3NAbQ","E+s76HHgzQHNrQG8AdSTBj0IKHhIkgLXwQGwAbABsAGxFiZR3SnQ","sxCn","0A/1","6Auh","7wyFzwPF","sQFqcag","8wHg0Aa4AdxU0g","8wF9","1RDB","swjNpgI1LvQ","ihAb","3Qm+","QoISuBP0BPMUbwTrAesCRQbbCOsHyRW5A5IFaAJqCGUDkAK1BtIC4AV+EcsCcwGcBZ0HeAqeFqggPAGbEYgLOANnLmgDVwdlDmsFZgdCAWkXPAJ0A8QO5wPyBrEEzwHEAeUB+AaHBKIGWBKrAXcBWgF3IZ4CsASbCZERPCCGAtYB1wHYBp4iMx82CukEuganAcwH9RmpCG0zSQboJr4eJBXrAeIBOQHbBbMOORihDaYIKQQpC54Blw3BCNELWhJBAW0HgAlXBJgKRkHrCCgCzAbIBlIDZwF+BkkBTBKcCzoFlQHGBC8BRQEtCIAG7wkzD0UI3QNEAZUZIwEoFZ4FqgyXAWcRZw7sAdYEmAqFAk0GpgsdAiwUMAmSAmkCZw0vEFYGLgJdBCoGvg4mBGYDowGGAewEjgRMAUQZmwEmEKMEwwpEHW8IaA+hBjsOdQPHAd8B7QHOAcgBWgGEBqQKdgNLB3MdKxxtAisGwwSIIVII6hEeCnsMWA1DCj8CMghyBiwCWwLBA28CLAV3AX0BqgNMEOoB5wpLAbQDbRYmDDEKnAalDqsGJgRHBIUBwQhXAvUEIwWNAs4DbQmzCI0YwSdtAkgEIwHVBG4BuAG8Am8CLw0xAUkJLjhFCdMH0gdDEEQQRRKmBEUFPQfwD0kYPxa6AtEIsQHz","ggep","gQff","sAG5","wgrsAc8EmJICugGuAe0BzgHIAVo","VFo","gwGdAU0","wA/z","zgXr","6QTWAdcB2A","4QOV","kwUz","3glr","3gko","3glc","0QNe","qAay","tg+s","ZqwB2ATbFucBpAF/AZ6lA6Y","pgjm","pgiK","pgg5","pgjM","LYI","wQI+hwlI","iQGh","8QSe","mA1+","sguu","1wSR","3glG","3glt","rQHy","1ALCfe008AHpyQH4kgJJ","zwWc","hQS6","tg69","gwHX5gPJAt+ECLVwwg","6wS/","7wxIcHM","hgTi","zwXn","7wxccLGrAhs","1AJn","9wzP","7gTa","3wKu","3wL0","vAT0zgvu","7wxccHOrAhs","4QPh","Ht3RDFxw8KsCGw","3w2K","4AKwvw+qAek","oBLO","oBLO","nxKqAaw","HmNRhFDqjgmY7ATg","ugRU","9w91PNo","uQ8m","uQ+f","HmOvCpjsBMg","uQ8m","b0PED2c","b0M","b0NQ6g","WH6BC8E","hwn6","7wzD","7wyv","lg/4","lg/I","lg/Z","lg80","lg80","lg9W","lg80","hwm1","hwm9","swXu","swXm","swW/","3QlH","8Qt3","3wn4","8Qt3","7wPn","khD2","khCI","khCI","khDD","uQWi","uQWi","mAHKowHpHsMBtqAG9IUB9AHHD8MBxEXjDvCLAX6mAfWyAfcO9VOpecgKzA","qhCM","xg7w","xg6u","xg7V","qhCE","mAG1","xg4r","uwI/tQLw5QX58QP2","uwLf","1QrX","+gjp","PKcBog","qAiwL8YBwQG/AbwBvg","EKI","wQ3wAdIBpwHo","NtI","NtI","uwTy","uwSz","H3A","ww+XDfM","0A/E","0A/a","0A+Z","pwjN","pwif","2gXi","pwjd","pwhx","pwie","NtQ","pwi2","CoZCRhGjEV0HegdPCkMSQwGwCKwFbRGVHy4SfExLHHg9wR5hIrFGRx1iAWIHRQ90CEUSrxB6QoEBugxQKFMGUGpOAaoUTRNVHEQycQ52CGUKQQG2Bo02y2lWFJkBQwtyFFECcwdIIkIPphnBDk4/SQRyDDsPnAJDAtIDwgdxBkQGkQHKJVADRwRPCUIMTAhKBEcDUQNOHJUBhw6eCYIDoAN2FUhTPwNJB0QBTwlJA0sXTwV6OEATuA9ABzwMYgxEAoIkTAnKA6YcPgJAFFEGhQNJDGAIRwFAAkcbSBNvGLsOagFNFZAkSAF0BJgksByrBZEIRCiIEGMDPEBV","5Q6z","AOMCigGiAscBtAK/AYQBUAJ2AeABUgFLATkBTwLjBtUC0AKsAlwCugFsAjwBPQJiArQBywdSBHYB5AO+AYkBwQGAA70DbQSGA38F0AG9AekBHAGxAloB8gHcCNkBYgMpBm4ClAO7BGgCmQG+AcgCbQRcAegBbQFjAW8B8QF4AuEC8wHlAZ8CaAKaBUECwwFXAdABdAKfAYEB8ARYArQBvQFDAZsDLQGjAywBsgInAosCUALJAmIBXgKtAYIC7QIvAd8DQAPSAR4C1AFJBUICkAKZAboBUgElAZsBgQG7AeIBfwFKAU0BKAHBAssBwAbTA9IC4ANMAnkB0wPEAowBLASpBOgCuQHlAfMBtQJzAtMB4wKnAtEGzAihCLAE1ANPCmYBqgFgA3MBggFpAY0CSwKuAtcCwwJjAnoD2AKNAcAC5QGLAa8CogF5Ap4B9AK8A9EBSARrAZ4BngGzAbsFeAHECC4BOQKNAVMBsgRXA7kHkgO5AtwCbwOuA2EBoASHATsE0QFuAdkCWwFIArYCnwKeAy8BbgGrA44BhwGzAfQB3AF5AtkDbQRtAkgBvwFJB84D7wFJAbQBlQK2CeIB4gN2AYACwwFaBFECoQGjAZ0CbALYAfAG6Ae6B28CagJ7ApsEtAPLAd0BvwG6AXoCWQTTAuMBqAOrASwB0APOA1EEywfAAqwDLQFrAW0DwgLUAX0BwgKLAbgBuwI8BH0BkQOjAtQC0ARkAbcCngLTATAC1AGZAVABWQK6AukDqgSsAbYDNAJ1AZwBsAfZBLUBcwGKAioBvQjoA+8LcgSmAaQCqAHjAZ4B2wSqA8YC6ASCApQBsAZRBNMBqwF3AeoB1QHpA3UDegHPBq0DeQ2iAaMFKgHoBYIBkQFOA3IHjAJuAaEI6QSBAskI1gJ5AmsHwANgApUDvQFRBogBnQHKBdgG0QKrAckCxQVJBE0DpQGrAsYBvgODAUUCwAHmAaMEsQm7CZgB0QFsAk4DdwKdAaYE8QFCBbcB1wHMAeMNfwN5AooCVwLpAs4BzgGdAcQBnga9BLcCuwdHApgErAHHAdcElgG8A18FhwXJAdwBQwFBAlsBigHFAqwCcgNqAbYDwwFIAdECJwHgAdAC0AZaAXgBpQayBUgEVAKyBdgBoQFvAtEEvALkBF4D1AHmArUCgwaPAdsErgJIAdoC5QFAAsYBOQXrAt0C4QLmAp4BwwFYAYICvwGoAdsDcgUpAqsB5gPBA2ADWgOeArQB6QKrAs0BMwVHAuUE0gGmAaMFxgFcA+8CzQJ6BI0BfgLNAuwE4gGxB88B5AJAAcUDggHVAS8BLgFCAcUCqwKIAnMBowJyAU0B3QEoAWQCSQE2AtQCTQFuAX4BTwWuAskD0wFqAcABzQVdAcIBdwGoAcABrQKwA8UCvAKcAyEChAKSAYkBmAG7AdUBlAGRAdcCtwHAAYUBqwLDAd8D4gRZAkkBqwK0CIoFtAKVBNABoQFkAV4BzwG2Aq4DngFnAaMB5gGPAmwBPQFMAVEBhgG2AYECfQHcAkUCbgNKAqUBqAGqAc0CyAJyAakBtQKcAe4BnQEzApQCxQ4zAe4CrgKXAb4CagO8AUsDjgPmAbMBSwKqAYACwgFyAdIBvwHRAb0DqgE9ATEBVAHPAbUC4wLcAYUBnQF4AZYBYgGfAbwB0wHxAeQBwgZpAcEBRAF1AUMCXgSkA28BfgTUAWwBugO0AbAErQLkAqwBsALFBGoFxALEBtkCRAGdAk0BQgK1AScCxQHCAVQBRAJPAcUCSgFHAYwBxQG7Ab0BrgHEAr8BRgKRAUsCVwJRBXAEzgJ+AbUCfAHZAVMC0AGIAXcCfAJrAUwBjAieA3sBpQItAaoBdQJTAaIBnQTaA0cBmAHOAeUBpAHfAdwCiALfAYQBogFqAXgFeANCAUoBmQNHAYMDpQKtBZMCRQKOAXQBRAF7AXQBzgGqAUoCTQJuAtkB3wVsBnwBqgGqBeQDhgGkA+UBpgFIBmoBvwElAbECXQGyAqsBQgHuAVIBlQO5Ab0CeAKBAc4F1ANKAlABfgK7AaQBrQWhAdkCrgHcAZICSwFaAlUBsgHvAnkD0AaVAk0BUwKjASoE4gOGA0UCIgLAAlUBdgLvBjgChQHgAd8E3wNBAcIBwAGlAewB5wPeAsMD2gaxCPEDcgGVAaIBwgLKBUcBugFdAkgBywFKBMMB3QLKAWsEdAFLAYEBngFaAmUBVQGcA6ABswPYA2wC3gJFA+ABswFtAXAB1QJfAS8BNQKkAcIB1wGdAWsBqgElB3gCRwGcAXgBfQSgAYwBVAFzBa0BmAOEAsABTwK/BOAB1wVUA0MBsALAAm4BkAHJB74CegLBATUBOQO2AS0BnwGnAagBOQG8AZoBxQJ5AYQBzQFzAu8CzgJQAdEBgAEiAbcBwQFMAcQBwwHdAa8BQQGPA74B7AK9AjwB7wGyAbUBzAMoAZ4BogOwAs0ClwKjAXACTgHjAs8BowGBBYQBvAKJAcYBrwK9AdwB3gGUBloBfQWxBuMJlQTBBNQBogTcA/AFXQGuAc4BkAFSBmgCyQGiBOcCVwKpAikBtAGcAbEBiwGJAmgBmgKtAiYCfQO8AZIEdQKjAlYCggGyAYACaQSHAWwDqgKkAX8DcQJXATMBoQFjAdsC0AiXAa4BrAG2A8EC1AXhAtMGQAJLAYgDQAWkCcwC2AHJBDkBRghIAXQCaAjfAV4BwgO+AUYDvAF0BkMB7QE8Ae4BxgFfAdsCcwPLAogCrgWyAc4BmQG1AbcCvgGjAaQBQAHjAZEBzwGxAs4BfgFFArABqgI9ArYDTAFJB3UDpQI8AWUCuwVrA0QDowZIAkgBPwTGBXIGswRHA3UC6gZxAUICwQLTAkYD6QG4","KaE","oA0o","qQem","cWhDYr0Kd090ygN/","twGFwwu5Ab0","vQGh4AGZkQPK8AWP5AF7","2Q3P","CJE","kAlc","mxG+","9QGM","mQfK","CGkBhBi6Cb4PrwFdAcFadA2bDEQmkXkxD8lFN4MCnhsvvgQyHD0EYQtKDyZltAfVtAK4","owuQ","iAmwAbHyAbwBvAHoAb0Bwg","/AqrAsM","lhHG","lQxF","uwIn","5Qq3nQN7","+Ap5AWI","1QGBjgGe","swPZ","4Ap2AYA","4wzA","4wzU","/wNXbeQ","/wNXbbE","/AvMBKM","gAyj","6gPq","oQbL","kQrQ","7QSekwJz","7QR0","wAjs","FNY/wQacCo4MyAGOAZAwrM4EvO4BcV1sygFJej3sAr//Ata6AbEBpQ","6RDK","6RCW","7wUh7gFx","ughs","FNY","SsoJ5w","U8E","oxKx","7wW+jwU97AK/ugSl","/ApXAdc","/ApXAdc","B3VDxATABYwl1w","qg/BE6Mkmg","9gJ6Abln8w","M9vLAuMB2s0BkcIJxAmx","kQrQ","kQr4","kQq9","kQrP","M+4","M+0","lw/3","ygrz","ygqr","ygp/","lw9T","lw/I","lw9y","/QPwAfYB8wLt","oQEs","2QpY","8Av4","8Asm","8AtC","sw2l","hRHF","Nnc","qwzL","qwyB","Njg","hwvX2ALyogLLPtc","3w3j","gA5t","kQrx","yQ7d"]}