@boostxyz/sdk 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.js +1 -1
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.js +2 -2
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +2 -2
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.js +8 -8
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.js +3 -3
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +1 -1
- package/dist/BoostCore.cjs +2 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.js +201 -201
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.js +2 -2
- package/dist/{Budget-Dw3jHqDC.cjs → Budget-Dlbk4PdV.cjs} +2 -2
- package/dist/{Budget-Dw3jHqDC.cjs.map → Budget-Dlbk4PdV.cjs.map} +1 -1
- package/dist/{Budget-DGPItPqt.js → Budget-DxACEu9b.js} +48 -48
- package/dist/{Budget-DGPItPqt.js.map → Budget-DxACEu9b.js.map} +1 -1
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.js +2 -2
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.js +24 -24
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.js +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.js +13 -13
- package/dist/{Incentive-Dxw1wwbl.js → Incentive-BYhx7lTb.js} +3 -3
- package/dist/{Incentive-Dxw1wwbl.js.map → Incentive-BYhx7lTb.js.map} +1 -1
- package/dist/{Incentive-BNm7fgJh.cjs → Incentive-Dq77dxww.cjs} +2 -2
- package/dist/{Incentive-BNm7fgJh.cjs.map → Incentive-Dq77dxww.cjs.map} +1 -1
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.js +7 -7
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.js +2 -2
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.js +2 -2
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +2 -2
- package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableIncentive.js +2 -2
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.js +2 -2
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.js +9 -9
- package/dist/{SimpleDenyList-CUvdsCvZ.js → SimpleDenyList-DGr4ekN1.js} +10 -10
- package/dist/{SimpleDenyList-CUvdsCvZ.js.map → SimpleDenyList-DGr4ekN1.js.map} +1 -1
- package/dist/{SimpleDenyList-S6braCCk.cjs → SimpleDenyList-gR_yuuLp.cjs} +2 -2
- package/dist/{SimpleDenyList-S6braCCk.cjs.map → SimpleDenyList-gR_yuuLp.cjs.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +1 -1
- package/dist/Validators/LimitedSignerValidator.js +10 -10
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.js +14 -14
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.js +1 -1
- package/dist/deployments-BBL2DHhq.js +102 -0
- package/dist/deployments-BBL2DHhq.js.map +1 -0
- package/dist/deployments-j7kUxPuV.cjs +2 -0
- package/dist/deployments-j7kUxPuV.cjs.map +1 -0
- package/dist/deployments.json +48 -48
- package/dist/{generated-D2xuTYvu.js → generated-BhRjnVvd.js} +71 -71
- package/dist/{generated-D2xuTYvu.js.map → generated-BhRjnVvd.js.map} +1 -1
- package/dist/{generated-DAZo6jo9.cjs → generated-BscUK6fP.cjs} +3 -3
- package/dist/{generated-DAZo6jo9.cjs.map → generated-BscUK6fP.cjs.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +4 -4
- package/package.json +1 -1
- package/dist/deployments-C7-jUofW.cjs +0 -2
- package/dist/deployments-C7-jUofW.cjs.map +0 -1
- package/dist/deployments-Dcywzp8T.js +0 -102
- package/dist/deployments-Dcywzp8T.js.map +0 -1
package/dist/BoostCore.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { I as C, c3 as j, c4 as V, c5 as x, c6 as T, c7 as p, c8 as q, c9 as z, ca as W, cb as G, cc as U, cd as k, ce as H, cf as J, cg as K, ch as Q } from "./generated-
|
|
1
|
+
import { I as C, c3 as j, c4 as V, c5 as x, c6 as T, c7 as p, c8 as q, c9 as z, ca as W, cb as G, cc as U, cd as k, ce as H, cf as J, cg as K, ch as Q } from "./generated-BhRjnVvd.js";
|
|
2
2
|
import { waitForTransactionReceipt as X, getAccount as Y, getChains as Z, getTransactionReceipt as ff } from "@wagmi/core";
|
|
3
|
-
import { createClient as
|
|
4
|
-
import { g as af } from "./deployments-
|
|
3
|
+
import { createClient as ef, custom as bf, zeroAddress as v, parseEventLogs as P, zeroHash as l } from "viem";
|
|
4
|
+
import { g as af } from "./deployments-BBL2DHhq.js";
|
|
5
5
|
import { actionFromAddress as tf } from "./Actions/Action.js";
|
|
6
6
|
import { EventAction as cf } from "./Actions/EventAction.js";
|
|
7
7
|
import { allowListFromAddress as df, OpenAllowList as nf } from "./AllowLists/AllowList.js";
|
|
8
8
|
import { SimpleAllowList as sf } from "./AllowLists/SimpleAllowList.js";
|
|
9
|
-
import { S as of } from "./SimpleDenyList-
|
|
9
|
+
import { S as of } from "./SimpleDenyList-DGr4ekN1.js";
|
|
10
10
|
import { PassthroughAuth as rf } from "./Auth/PassthroughAuth.js";
|
|
11
11
|
import { prepareBoostPayload as B, Boost as E } from "./Boost.js";
|
|
12
|
-
import { b as uf, M as lf } from "./Budget-
|
|
12
|
+
import { b as uf, M as lf } from "./Budget-DxACEu9b.js";
|
|
13
13
|
import { ManagedBudget as hf } from "./Budgets/ManagedBudget.js";
|
|
14
14
|
import { Deployable as gf } from "./Deployable/Deployable.js";
|
|
15
15
|
import { Roles as wf } from "./Deployable/DeployableTargetWithRBAC.js";
|
|
16
16
|
import { AllowListIncentive as vf } from "./Incentives/AllowListIncentive.js";
|
|
17
17
|
import { CGDAIncentive as mf } from "./Incentives/CGDAIncentive.js";
|
|
18
18
|
import { ERC20Incentive as Cf } from "./Incentives/ERC20Incentive.js";
|
|
19
|
-
import { i as Af, E as If } from "./Incentive-
|
|
19
|
+
import { i as Af, E as If } from "./Incentive-BYhx7lTb.js";
|
|
20
20
|
import { ERC20VariableCriteriaIncentive as yf } from "./Incentives/ERC20VariableCriteriaIncentive.js";
|
|
21
21
|
import { PointsIncentive as _f } from "./Incentives/PointsIncentive.js";
|
|
22
22
|
import { LimitedSignerValidator as Pf } from "./Validators/LimitedSignerValidator.js";
|
|
@@ -27,14 +27,14 @@ import { assertValidAddressByChainId as h } from "./utils.js";
|
|
|
27
27
|
import { ERC20VariableIncentive as Mf } from "./Incentives/ERC20VariableIncentive.js";
|
|
28
28
|
import { simulateContract as $f, writeContract as jf } from "viem/actions";
|
|
29
29
|
import { parseAccount as Vf, getAddress as xf } from "viem/utils";
|
|
30
|
-
const Tf = "0x60806040526103e8600460146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561003a575f80fd5b50604051615518380380615518833981810160405281019061005c919061026c565b61006b816100f360201b60201c565b8260015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506102bc565b6101016101cf60201b60201c565b15610179577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561013b57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101cc565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610200826101d7565b9050919050565b5f610211826101f6565b9050919050565b61022181610207565b811461022b575f80fd5b50565b5f8151905061023c81610218565b92915050565b61024b816101f6565b8114610255575f80fd5b50565b5f8151905061026681610242565b92915050565b5f805f60608486031215610283576102826101d3565b5b5f6102908682870161022e565b93505060206102a186828701610258565b92505060406102b286828701610258565b9150509250925092565b61524f806102c95f395ff3fe608060405260043610610180575f3560e01c80637b103999116100d0578063dd98558c11610089578063f04e283e11610063578063f04e283e146104e3578063f2fde38b146104ff578063fee81cf41461051b578063fefceca91461055757610180565b8063dd98558c14610442578063e21ff7311461047f578063eccc19a6146104bb57610180565b80637b103999146103545780638da5cb5b1461037e5780638fe4f523146103a8578063a92647dc146103c4578063b0e21e8a146103ee578063d73792a91461041857610180565b806346877b1a1161013d5780635edb9eb0116101175780635edb9eb0146102dc5780635f32c23e14610306578063715018a61461032e578063730f9c571461033857610180565b806346877b1a146102805780635045b866146102a857806354d1f13d146102d257610180565b806313c8e2de14610184578063219f71f0146101c057806325692962146101e8578063346339d5146101f257806339a51be51461022e57806343bc42d314610258575b5f80fd5b34801561018f575f80fd5b506101aa60048036038101906101a591906139ac565b610597565b6040516101b79190613c88565b60405180910390f35b3480156101cb575f80fd5b506101e660048036038101906101e19190613cd2565b61083f565b005b6101f061088a565b005b3480156101fd575f80fd5b5061021860048036038101906102139190613d30565b6108db565b6040516102259190613e34565b60405180910390f35b348015610239575f80fd5b506102426109b2565b60405161024f9190613e5c565b60405180910390f35b348015610263575f80fd5b5061027e60048036038101906102799190613e9f565b6109d7565b005b34801561028b575f80fd5b506102a660048036038101906102a19190613cd2565b610a0b565b005b3480156102b3575f80fd5b506102bc610a56565b6040516102c99190613e5c565b60405180910390f35b6102da610a7b565b005b3480156102e7575f80fd5b506102f0610ab4565b6040516102fd9190613ed9565b60405180910390f35b348015610311575f80fd5b5061032c60048036038101906103279190613ef2565b610abf565b005b610336610c4b565b005b610352600480360381019061034d9190613f91565b610c5e565b005b34801561035f575f80fd5b506103686111a1565b6040516103759190614047565b60405180910390f35b348015610389575f80fd5b506103926111c6565b60405161039f9190613e5c565b60405180910390f35b6103c260048036038101906103bd9190614060565b6111ee565b005b3480156103cf575f80fd5b506103d8611203565b6040516103e59190614104565b60405180910390f35b3480156103f9575f80fd5b50610402611228565b60405161040f919061412c565b60405180910390f35b348015610423575f80fd5b5061042c611242565b604051610439919061412c565b60405180910390f35b34801561044d575f80fd5b5061046860048036038101906104639190614145565b611248565b6040516104769291906141b6565b60405180910390f35b34801561048a575f80fd5b506104a560048036038101906104a091906141dd565b61192e565b6040516104b29190613c88565b60405180910390f35b3480156104c6575f80fd5b506104e160048036038101906104dc9190613cd2565b612438565b005b6104fd60048036038101906104f89190613cd2565b612483565b005b61051960048036038101906105149190613cd2565b6124c1565b005b348015610526575f80fd5b50610541600480360381019061053c9190613cd2565b6124ea565b60405161054e9190613ed9565b60405180910390f35b348015610562575f80fd5b5061057d60048036038101906105789190613d30565b612503565b60405161058e959493929190614237565b60405180910390f35b61059f6137be565b5f82815481106105b2576105b1614288565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561079f57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610756575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b610847612560565b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f610893612597565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6108e3613874565b60055f8381526020019081526020015f206040518060a00160405290815f82015f9054906101000a900460ff16600281111561092257610921613d5b565b5b600281111561093457610933613d5b565b5b81526020015f820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820154815250509050919050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109df612560565b80600460146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b610a13612560565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b3068929eee149b4bd212685403610add5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f610af483836125a1565b90505f60055f8381526020019081526020015f2090505f816002015461271067ffffffffffffffff168360010154610b2c91906142e2565b610b369190614350565b90505f610b42836125d3565b905081811115610c37575f8282610b599190614380565b90505f61271067ffffffffffffffff16856002015483610b7991906142e2565b610b839190614350565b9050610b8f85826127d9565b80856001015410610bb95780856001015f828254610bad9190614380565b92505081905550610bc3565b5f85600101819055505b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1687897f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051610c2c9190613ed9565b60405180910390a450505b505050503868929eee149b4bd21268555050565b610c53612560565b610c5c5f6129ba565b565b3068929eee149b4bd212685403610c7c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110610c9c57610c9b614288565b5b905f5260205f20906008020190505f610cb588886125a1565b90505f60055f8381526020019081526020015f209050826002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de8588886040518463ffffffff1660e01b8152600401610d2b9392919061440d565b602060405180830381865afa158015610d46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6a9190614472565b610da0576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b6900348b8b888b8b6040518763ffffffff1660e01b8152600401610e0595949392919061449d565b60206040518083038185885af1158015610e21573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e469190614472565b610e7c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16825f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610ed9575f610ee3565b610ee2826125d3565b5b9050836004018981548110610efb57610efa614288565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb1757cf8689896040518463ffffffff1660e01b8152600401610f5f9392919061440d565b6020604051808303815f875af1158015610f7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f9f9190614472565b610fe4578487876040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610fdb9392919061440d565b60405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611041575f61104b565b61104a836125d3565b5b90505f81831161105b575f611068565b81836110679190614380565b5b90505f61271067ffffffffffffffff1685600201548361108891906142e2565b6110929190614350565b90505f811115611132576110a685826127d9565b80856001015f8282546110b99190614380565b9250508190555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168c8e7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516111299190613ed9565b60405180910390a45b8773ffffffffffffffffffffffffffffffffffffffff168c8e7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478e8e8e60405161117e9392919061440d565b60405180910390a4505050505050503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6111fc858585858533610c5e565b5050505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460149054906101000a900467ffffffffffffffff1681565b61271081565b5f803068929eee149b4bd2126854036112685763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061128857611287614288565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561147557602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161142c575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050806060015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611579576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61158486866125a1565b90505f60055f8381526020019081526020015f2090505f89898101906115aa9190614674565b90505f81602001518060200190518101906115c591906146cf565b90505f61271067ffffffffffffffff168460020154836115e591906142e2565b6115ef9190614350565b90505f8111156117ee576001600281111561160d5761160c613d5b565b5b845f015f9054906101000a900460ff16600281111561162f5761162e613d5b565b5b148061166d57505f600281111561164957611648613d5b565b5b845f015f9054906101000a900460ff16600281111561166b5761166a613d5b565b5b145b156116c8576116c3835f015182865f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612a809092919063ffffffff16565b61179a565b6002808111156116db576116da613d5b565b5b845f015f9054906101000a900460ff1660028111156116fd576116fc613d5b565b5b0361179957835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30855f01518760030154856040518563ffffffff1660e01b815260040161176b949392919061471d565b5f604051808303815f87803b158015611782575f80fd5b505af1158015611794573d5f803e3d5ffd5b505050505b5b825f015173ffffffffffffffffffffffffffffffffffffffff16898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516117e59190613ed9565b60405180910390a45b5f8087608001518b8151811061180757611806614288565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663474f5a448660405160200161183b919061480d565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016118669190614865565b60408051808303815f875af1158015611881573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a59190614899565b915091505f82036118f157338e8e6040517f9ecd71a90000000000000000000000000000000000000000000000000000000081526004016118e89392919061440d565b60405180910390fd5b82866001015f8282546119049190614380565b9250508190555081819950995050505050505050503868929eee149b4bd212685594509492505050565b6119366137be565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015611a2a575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b81526004016119e99190613e5c565b602060405180830381865afa158015611a04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a289190614472565b155b15611a61576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd212685403611a7f5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f611ad885858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050612ac9565b806020019051810190611aeb9190614c37565b9050611af9815f0151612b62565b5f8060018160018154018082558091505003905f5260205f20906008020190508160e00151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611c23578160a00151600460149054906101000a900467ffffffffffffffff16611c1e9190614c7e565b611cce565b8160a0015160045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b1539a6b88886040518363ffffffff1660e01b8152600401611c84929190614cb9565b602060405180830381865afa158015611c9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cc39190614cdb565b611ccd9190614c7e565b5b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c001518160060181905550611d347fe67157950000000000000000000000000000000000000000000000000000000083602001516001612c3d565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611da47fe2089f790000000000000000000000000000000000000000000000000000000083606001516001612c3d565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611e0e8260800151835f0151836005015f9054906101000a900467ffffffffffffffff16612c5f565b816004019080519060200190611e259291906138c6565b505f73ffffffffffffffffffffffffffffffffffffffff1682604001516020015173ffffffffffffffffffffffffffffffffffffffff1614611e9657611e917f5912b89c0000000000000000000000000000000000000000000000000000000083604001516001612c3d565b611f7f565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401611f119190614d40565b602060405180830381865afa158015611f2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f509190614472565b611f5a575f611f7e565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612075577f5912b89c000000000000000000000000000000000000000000000000000000005f6040517fe1c4444800000000000000000000000000000000000000000000000000000000815260040161206c929190614d59565b60405180910390fd5b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f805490506120f99190614380565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8460040180549050856001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161219e9493929190614d80565b60405180910390a480604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561238857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161233f575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050935050503868929eee149b4bd21268555092915050565b612440612560565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61248b612560565b63389a75e1600c52805f526020600c2080544211156124b157636f5e88185f526004601cfd5b5f8155506124be816129ba565b50565b6124c9612560565b8060601b6124de57637448fbae5f526004601cfd5b6124e7816129ba565b50565b5f63389a75e1600c52815f526020600c20549050919050565b6005602052805f5260405f205f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905085565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314612595576382b429005f526004601cfd5b565b5f6202a300905090565b5f82826040516020016125b5929190614de3565b60405160208183030381529060405280519060200120905092915050565b5f600160028111156125e8576125e7613d5b565b5b825f015f9054906101000a900460ff16600281111561260a57612609613d5b565b5b148061264857505f600281111561262457612623613d5b565b5b825f015f9054906101000a900460ff16600281111561264657612645613d5b565b5b145b156126ef57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016126a99190613e5c565b602060405180830381865afa1580156126c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e891906146cf565b90506127d4565b60028081111561270257612701613d5b565b5b825f015f9054906101000a900460ff16600281111561272457612723613d5b565b5b036127d057815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e3084600301546040518363ffffffff1660e01b815260040161278a929190614e0e565b602060405180830381865afa1580156127a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127c991906146cf565b90506127d4565b5f90505b919050565b600160028111156127ed576127ec613d5b565b5b825f015f9054906101000a900460ff16600281111561280f5761280e613d5b565b5b148061284d57505f600281111561282957612828613d5b565b5b825f015f9054906101000a900460ff16600281111561284b5761284a613d5b565b5b145b156128c6576128c160035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682845f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612a809092919063ffffffff16565b6129b6565b6002808111156128d9576128d8613d5b565b5b825f015f9054906101000a900460ff1660028111156128fb576128fa613d5b565b5b036129b557815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560030154856040518563ffffffff1660e01b8152600401612987949392919061471d565b5f604051808303815f87803b15801561299e575f80fd5b505af11580156129b0573d5f803e3d5ffd5b505050505b5b5050565b6129c261317a565b15612a27577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550612a7d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716612ac0576390b8ec185f526004601cfd5b5f603452505050565b6060815115612b5d5760405190506020810160048301805184518501811983525b80861015612b43576001860195508551601f1a80612b33576001870196508651601f1a5f198652607f8111612b2157600181013887395b6001607f821601860195505050612b3e565b808553600185019450505b612aea565b81835260208501840385525f845260208401604052505050505b919050565b612b8c7fe49cedd7000000000000000000000000000000000000000000000000000000008261317e565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b8152600401612bc59190613e5c565b602060405180830381865afa158015612be0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c049190614472565b612c3a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f612c4c84846020015161317e565b612c568383613275565b90509392505050565b6060835167ffffffffffffffff811115612c7c57612c7b6144ed565b5b604051908082528060200260200182016040528015612caa5781602001602082028036833780820191505090505b5090505f5b845181101561317257612d007fa921670500000000000000000000000000000000000000000000000000000000868381518110612cef57612cee614288565b5b60200260200101516020015161317e565b848181518110612d1357612d12614288565b5b60200260200101515f0151612d9f577fa921670500000000000000000000000000000000000000000000000000000000858281518110612d5657612d55614288565b5b6020026020010151602001516040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401612d96929190614d59565b60405180910390fd5b612de47fa921670500000000000000000000000000000000000000000000000000000000868381518110612dd657612dd5614288565b5b60200260200101515f612c3d565b828281518110612df757612df6614288565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f828281518110612e4557612e44614288565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16634e7165a2878481518110612e7b57612e7a614288565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401612ea39190614865565b5f60405180830381865afa158015612ebd573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190612ee59190614e35565b90505f8151146130c6575f80612efb8387613331565b915091508673ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1836040518263ffffffff1660e01b8152600401612f389190614865565b6020604051808303815f875af1158015612f54573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f789190614472565b612fae576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1846040518263ffffffff1660e01b8152600401612fe79190614865565b6020604051808303815f875af1158015613003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130279190614472565b61305d576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838060200190518101906130729190614f30565b90506130c260015f805490506130889190614380565b868360200151858b67ffffffffffffffff16865f01518f8c815181106130b1576130b0614288565b5b602002602001015160400151613609565b5050505b8282815181106130d9576130d8614288565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663439fab9187848151811061310f5761310e614288565b5b6020026020010151604001516040518263ffffffff1660e01b81526004016131379190614865565b5f604051808303815f87803b15801561314e575f80fd5b505af1158015613160573d5f803e3d5ffd5b50505050508080600101915050612caf565b509392505050565b5f90565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061322d57508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b81526004016131ec9190614d40565b602060405180830381865afa158015613207573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061322b9190614472565b155b156132715781816040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401613268929190614d59565b60405180910390fd5b5050565b5f825f01516132885782602001516132ac565b6132ab836020015173ffffffffffffffffffffffffffffffffffffffff1661375b565b5b9050825f015180156132bb5750815b1561332b578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b81526004016132fd9190614865565b5f604051808303815f87803b158015613314575f80fd5b505af1158015613326573d5f803e3d5ffd5b505050505b92915050565b60605f80848060200190518101906133499190614f30565b90505f8490506001600281111561336357613362613d5b565b5b825f0151600281111561337957613378613d5b565b5b14806133ab57505f600281111561339357613392613d5b565b5b825f015160028111156133a9576133a8613d5b565b5b145b1561349f575f82606001518060200190518101906133c99190614fb0565b90505f61271067ffffffffffffffff168367ffffffffffffffff16835f01516133f291906142e2565b6133fc9190614350565b90505f6040518060200160405280838152509050806040516020016134219190614ff5565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505084604051602001613481919061506e565b60405160208183030381529060405282965096505050505050613602565b6002808111156134b2576134b1613d5b565b5b825f015160028111156134c8576134c7613d5b565b5b036135d0575f82606001518060200190518101906134e6919061510b565b90505f61271067ffffffffffffffff168367ffffffffffffffff16836020015161351091906142e2565b61351a9190614350565b90505f6040518060600160405280845f015181526020018381526020018460400151815250905080604051602001613552919061519f565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050846040516020016135b2919061506e565b60405160208183030381529060405282965096505050505050613602565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b5f60028081111561361d5761361c613d5b565b5b8360028111156136305761362f613d5b565b5b0361364f578180602001905181019061364991906151bf565b50809150505b5f6040518060a0016040528085600281111561366e5761366d613d5b565b5b81526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018381525090508060055f6136af8c8c6125a1565b81526020019081526020015f205f820151815f015f6101000a81548160ff021916908360028111156136e4576136e3613d5b565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030155905050505050505050505050565b5f6137665f8361376d565b9050919050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806137b45763301164255f526004601cfd5b5f60215292915050565b6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060a001604052805f600281111561389257613891613d5b565b5b81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81525090565b828054828255905f5260205f2090810192821561393c579160200282015b8281111561393b578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906138e4565b5b509050613949919061394d565b5090565b5b80821115613964575f815f90555060010161394e565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61398b81613979565b8114613995575f80fd5b50565b5f813590506139a681613982565b92915050565b5f602082840312156139c1576139c0613971565b5b5f6139ce84828501613998565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f613a19613a14613a0f846139d7565b6139f6565b6139d7565b9050919050565b5f613a2a826139ff565b9050919050565b5f613a3b82613a20565b9050919050565b613a4b81613a31565b82525050565b5f613a5b82613a20565b9050919050565b613a6b81613a51565b82525050565b5f613a7b82613a20565b9050919050565b613a8b81613a71565b82525050565b5f613a9b826139ff565b9050919050565b5f613aac82613a91565b9050919050565b613abc81613aa2565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f613af582613a20565b9050919050565b613b0581613aeb565b82525050565b5f613b168383613afc565b60208301905092915050565b5f602082019050919050565b5f613b3882613ac2565b613b428185613acc565b9350613b4d83613adc565b805f5b83811015613b7d578151613b648882613b0b565b9750613b6f83613b22565b925050600181019050613b50565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b613ba681613b8a565b82525050565b613bb581613979565b82525050565b5f613bc5826139d7565b9050919050565b613bd581613bbb565b82525050565b5f61010083015f830151613bf15f860182613a42565b506020830151613c046020860182613a62565b506040830151613c176040860182613a82565b506060830151613c2a6060860182613ab3565b5060808301518482036080860152613c428282613b2e565b91505060a0830151613c5760a0860182613b9d565b5060c0830151613c6a60c0860182613bac565b5060e0830151613c7d60e0860182613bcc565b508091505092915050565b5f6020820190508181035f830152613ca08184613bdb565b905092915050565b613cb181613bbb565b8114613cbb575f80fd5b50565b5f81359050613ccc81613ca8565b92915050565b5f60208284031215613ce757613ce6613971565b5b5f613cf484828501613cbe565b91505092915050565b5f819050919050565b613d0f81613cfd565b8114613d19575f80fd5b50565b5f81359050613d2a81613d06565b92915050565b5f60208284031215613d4557613d44613971565b5b5f613d5284828501613d1c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60038110613d9957613d98613d5b565b5b50565b5f819050613da982613d88565b919050565b5f613db882613d9c565b9050919050565b613dc881613dae565b82525050565b60a082015f820151613de25f850182613dbf565b506020820151613df56020850182613bcc565b506040820151613e086040850182613bac565b506060820151613e1b6060850182613bac565b506080820151613e2e6080850182613bac565b50505050565b5f60a082019050613e475f830184613dce565b92915050565b613e5681613bbb565b82525050565b5f602082019050613e6f5f830184613e4d565b92915050565b613e7e81613b8a565b8114613e88575f80fd5b50565b5f81359050613e9981613e75565b92915050565b5f60208284031215613eb457613eb3613971565b5b5f613ec184828501613e8b565b91505092915050565b613ed381613979565b82525050565b5f602082019050613eec5f830184613eca565b92915050565b5f8060408385031215613f0857613f07613971565b5b5f613f1585828601613998565b9250506020613f2685828601613998565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112613f5157613f50613f30565b5b8235905067ffffffffffffffff811115613f6e57613f6d613f34565b5b602083019150836001820283011115613f8a57613f89613f38565b5b9250929050565b5f805f805f8060a08789031215613fab57613faa613971565b5b5f613fb889828a01613998565b9650506020613fc989828a01613998565b9550506040613fda89828a01613cbe565b945050606087013567ffffffffffffffff811115613ffb57613ffa613975565b5b61400789828a01613f3c565b9350935050608061401a89828a01613cbe565b9150509295509295509295565b5f61403182613a20565b9050919050565b61404181614027565b82525050565b5f60208201905061405a5f830184614038565b92915050565b5f805f805f6080868803121561407957614078613971565b5b5f61408688828901613998565b955050602061409788828901613998565b94505060406140a888828901613cbe565b935050606086013567ffffffffffffffff8111156140c9576140c8613975565b5b6140d588828901613f3c565b92509250509295509295909350565b5f6140ee82613a20565b9050919050565b6140fe816140e4565b82525050565b5f6020820190506141175f8301846140f5565b92915050565b61412681613b8a565b82525050565b5f60208201905061413f5f83018461411d565b92915050565b5f805f806060858703121561415d5761415c613971565b5b5f85013567ffffffffffffffff81111561417a57614179613975565b5b61418687828801613f3c565b9450945050602061419987828801613998565b92505060406141aa87828801613998565b91505092959194509250565b5f6040820190506141c95f830185613eca565b6141d66020830184613e4d565b9392505050565b5f80602083850312156141f3576141f2613971565b5b5f83013567ffffffffffffffff8111156142105761420f613975565b5b61421c85828601613f3c565b92509250509250929050565b61423181613dae565b82525050565b5f60a08201905061424a5f830188614228565b6142576020830187613e4d565b6142646040830186613eca565b6142716060830185613eca565b61427e6080830184613eca565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6142ec82613979565b91506142f783613979565b925082820261430581613979565b9150828204841483151761431c5761431b6142b5565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61435a82613979565b915061436583613979565b92508261437557614374614323565b5b828204905092915050565b5f61438a82613979565b915061439583613979565b92508282039050818111156143ad576143ac6142b5565b5b92915050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6143ec83856143b3565b93506143f98385846143c3565b614402836143d1565b840190509392505050565b5f6040820190506144205f830186613e4d565b81810360208301526144338184866143e1565b9050949350505050565b5f8115159050919050565b6144518161443d565b811461445b575f80fd5b50565b5f8151905061446c81614448565b92915050565b5f6020828403121561448757614486613971565b5b5f6144948482850161445e565b91505092915050565b5f6080820190506144b05f830188613eca565b6144bd6020830187613eca565b6144ca6040830186613e4d565b81810360608301526144dd8184866143e1565b90509695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b614523826143d1565b810181811067ffffffffffffffff82111715614542576145416144ed565b5b80604052505050565b5f614554613968565b9050614560828261451a565b919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff821115614587576145866144ed565b5b614590826143d1565b9050602081019050919050565b5f6145af6145aa8461456d565b61454b565b9050828152602081018484840111156145cb576145ca614569565b5b6145d68482856143c3565b509392505050565b5f82601f8301126145f2576145f1613f30565b5b813561460284826020860161459d565b91505092915050565b5f604082840312156146205761461f6144e9565b5b61462a604061454b565b90505f61463984828501613cbe565b5f83015250602082013567ffffffffffffffff81111561465c5761465b614565565b5b614668848285016145de565b60208301525092915050565b5f6020828403121561468957614688613971565b5b5f82013567ffffffffffffffff8111156146a6576146a5613975565b5b6146b28482850161460b565b91505092915050565b5f815190506146c981613982565b92915050565b5f602082840312156146e4576146e3613971565b5b5f6146f1848285016146bb565b91505092915050565b50565b5f6147085f836143b3565b9150614713826146fa565b5f82019050919050565b5f60a0820190506147305f830187613e4d565b61473d6020830186613e4d565b61474a6040830185613eca565b6147576060830184613eca565b8181036080830152614768816146fd565b905095945050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6147a582614773565b6147af818561477d565b93506147bf81856020860161478d565b6147c8816143d1565b840191505092915050565b5f604083015f8301516147e85f860182613bcc565b5060208301518482036020860152614800828261479b565b9150508091505092915050565b5f6020820190508181035f83015261482581846147d3565b905092915050565b5f61483782614773565b61484181856143b3565b935061485181856020860161478d565b61485a816143d1565b840191505092915050565b5f6020820190508181035f83015261487d818461482d565b905092915050565b5f8151905061489381613ca8565b92915050565b5f80604083850312156148af576148ae613971565b5b5f6148bc858286016146bb565b92505060206148cd85828601614885565b9150509250929050565b5f6148e1826139d7565b9050919050565b5f6148f2826148d7565b9050919050565b614902816148e8565b811461490c575f80fd5b50565b5f8151905061491d816148f9565b92915050565b5f6149356149308461456d565b61454b565b90508281526020810184848401111561495157614950614569565b5b61495c84828561478d565b509392505050565b5f82601f83011261497857614977613f30565b5b8151614988848260208601614923565b91505092915050565b5f606082840312156149a6576149a56144e9565b5b6149b0606061454b565b90505f6149bf8482850161445e565b5f8301525060206149d284828501614885565b602083015250604082015167ffffffffffffffff8111156149f6576149f5614565565b5b614a0284828501614964565b60408301525092915050565b5f67ffffffffffffffff821115614a2857614a276144ed565b5b602082029050602081019050919050565b5f614a4b614a4684614a0e565b61454b565b90508083825260208201905060208402830185811115614a6e57614a6d613f38565b5b835b81811015614ab557805167ffffffffffffffff811115614a9357614a92613f30565b5b808601614aa08982614991565b85526020850194505050602081019050614a70565b5050509392505050565b5f82601f830112614ad357614ad2613f30565b5b8151614ae3848260208601614a39565b91505092915050565b5f81519050614afa81613e75565b92915050565b5f6101008284031215614b1657614b156144e9565b5b614b2161010061454b565b90505f614b308482850161490f565b5f83015250602082015167ffffffffffffffff811115614b5357614b52614565565b5b614b5f84828501614991565b602083015250604082015167ffffffffffffffff811115614b8357614b82614565565b5b614b8f84828501614991565b604083015250606082015167ffffffffffffffff811115614bb357614bb2614565565b5b614bbf84828501614991565b606083015250608082015167ffffffffffffffff811115614be357614be2614565565b5b614bef84828501614abf565b60808301525060a0614c0384828501614aec565b60a08301525060c0614c17848285016146bb565b60c08301525060e0614c2b84828501614885565b60e08301525092915050565b5f60208284031215614c4c57614c4b613971565b5b5f82015167ffffffffffffffff811115614c6957614c68613975565b5b614c7584828501614b00565b91505092915050565b5f614c8882613b8a565b9150614c9383613b8a565b9250828201905067ffffffffffffffff811115614cb357614cb26142b5565b5b92915050565b5f6020820190508181035f830152614cd28184866143e1565b90509392505050565b5f60208284031215614cf057614cef613971565b5b5f614cfd84828501614aec565b91505092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614d3a81614d06565b82525050565b5f602082019050614d535f830184614d31565b92915050565b5f604082019050614d6c5f830185614d31565b614d796020830184613e4d565b9392505050565b5f608082019050614d935f830187613eca565b614da06020830186613e4d565b614dad6040830185613e4d565b614dba6060830184613e4d565b95945050505050565b5f819050919050565b614ddd614dd882613979565b614dc3565b82525050565b5f614dee8285614dcc565b602082019150614dfe8284614dcc565b6020820191508190509392505050565b5f604082019050614e215f830185613e4d565b614e2e6020830184613eca565b9392505050565b5f60208284031215614e4a57614e49613971565b5b5f82015167ffffffffffffffff811115614e6757614e66613975565b5b614e7384828501614964565b91505092915050565b60038110614e88575f80fd5b50565b5f81519050614e9981614e7c565b92915050565b5f60808284031215614eb457614eb36144e9565b5b614ebe608061454b565b90505f614ecd84828501614e8b565b5f830152506020614ee084828501614885565b6020830152506040614ef484828501614885565b604083015250606082015167ffffffffffffffff811115614f1857614f17614565565b5b614f2484828501614964565b60608301525092915050565b5f60208284031215614f4557614f44613971565b5b5f82015167ffffffffffffffff811115614f6257614f61613975565b5b614f6e84828501614e9f565b91505092915050565b5f60208284031215614f8c57614f8b6144e9565b5b614f96602061454b565b90505f614fa5848285016146bb565b5f8301525092915050565b5f60208284031215614fc557614fc4613971565b5b5f614fd284828501614f77565b91505092915050565b602082015f820151614fef5f850182613bac565b50505050565b5f6020820190506150085f830184614fdb565b92915050565b5f608083015f8301516150235f860182613dbf565b5060208301516150366020860182613bcc565b5060408301516150496040860182613bcc565b5060608301518482036060860152615061828261479b565b9150508091505092915050565b5f6020820190508181035f830152615086818461500e565b905092915050565b5f606082840312156150a3576150a26144e9565b5b6150ad606061454b565b90505f6150bc848285016146bb565b5f8301525060206150cf848285016146bb565b602083015250604082015167ffffffffffffffff8111156150f3576150f2614565565b5b6150ff84828501614964565b60408301525092915050565b5f602082840312156151205761511f613971565b5b5f82015167ffffffffffffffff81111561513d5761513c613975565b5b6151498482850161508e565b91505092915050565b5f606083015f8301516151675f860182613bac565b50602083015161517a6020860182613bac565b5060408301518482036040860152615192828261479b565b9150508091505092915050565b5f6020820190508181035f8301526151b78184615152565b905092915050565b5f80604083850312156151d5576151d4613971565b5b5f6151e2858286016146bb565b925050602083015167ffffffffffffffff81111561520357615202613975565b5b61520f85828601614964565b915050925092905056fea26469706673582212209c9e4c080a0ae058704af944d98f965a51c8b0d7a511c2ee99d5c1f53ff74af964736f6c634300081a0033";
|
|
30
|
+
const Tf = "0x60806040526103e8600460146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561003a575f80fd5b506040516155c63803806155c6833981810160405281019061005c919061026c565b61006b816100f360201b60201c565b8260015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506102bc565b6101016101cf60201b60201c565b15610179577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561013b57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101cc565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610200826101d7565b9050919050565b5f610211826101f6565b9050919050565b61022181610207565b811461022b575f80fd5b50565b5f8151905061023c81610218565b92915050565b61024b816101f6565b8114610255575f80fd5b50565b5f8151905061026681610242565b92915050565b5f805f60608486031215610283576102826101d3565b5b5f6102908682870161022e565b93505060206102a186828701610258565b92505060406102b286828701610258565b9150509250925092565b6152fd806102c95f395ff3fe608060405260043610610180575f3560e01c80637b103999116100d0578063dd98558c11610089578063f04e283e11610063578063f04e283e146104e3578063f2fde38b146104ff578063fee81cf41461051b578063fefceca91461055757610180565b8063dd98558c14610442578063e21ff7311461047f578063eccc19a6146104bb57610180565b80637b103999146103545780638da5cb5b1461037e5780638fe4f523146103a8578063a92647dc146103c4578063b0e21e8a146103ee578063d73792a91461041857610180565b806346877b1a1161013d5780635edb9eb0116101175780635edb9eb0146102dc5780635f32c23e14610306578063715018a61461032e578063730f9c571461033857610180565b806346877b1a146102805780635045b866146102a857806354d1f13d146102d257610180565b806313c8e2de14610184578063219f71f0146101c057806325692962146101e8578063346339d5146101f257806339a51be51461022e57806343bc42d314610258575b5f80fd5b34801561018f575f80fd5b506101aa60048036038101906101a59190613a2f565b610597565b6040516101b79190613d0b565b60405180910390f35b3480156101cb575f80fd5b506101e660048036038101906101e19190613d55565b61083f565b005b6101f061088a565b005b3480156101fd575f80fd5b5061021860048036038101906102139190613db3565b6108db565b6040516102259190613eb7565b60405180910390f35b348015610239575f80fd5b506102426109b2565b60405161024f9190613edf565b60405180910390f35b348015610263575f80fd5b5061027e60048036038101906102799190613f22565b6109d7565b005b34801561028b575f80fd5b506102a660048036038101906102a19190613d55565b610a0b565b005b3480156102b3575f80fd5b506102bc610a56565b6040516102c99190613edf565b60405180910390f35b6102da610a7b565b005b3480156102e7575f80fd5b506102f0610ab4565b6040516102fd9190613f5c565b60405180910390f35b348015610311575f80fd5b5061032c60048036038101906103279190613f75565b610abf565b005b610336610c4b565b005b610352600480360381019061034d9190614014565b610c5e565b005b34801561035f575f80fd5b506103686111a1565b60405161037591906140ca565b60405180910390f35b348015610389575f80fd5b506103926111c6565b60405161039f9190613edf565b60405180910390f35b6103c260048036038101906103bd91906140e3565b6111ee565b005b3480156103cf575f80fd5b506103d8611203565b6040516103e59190614187565b60405180910390f35b3480156103f9575f80fd5b50610402611228565b60405161040f91906141af565b60405180910390f35b348015610423575f80fd5b5061042c611242565b60405161043991906141af565b60405180910390f35b34801561044d575f80fd5b50610468600480360381019061046391906141c8565b611248565b604051610476929190614239565b60405180910390f35b34801561048a575f80fd5b506104a560048036038101906104a09190614260565b61192e565b6040516104b29190613d0b565b60405180910390f35b3480156104c6575f80fd5b506104e160048036038101906104dc9190613d55565b612533565b005b6104fd60048036038101906104f89190613d55565b61257e565b005b61051960048036038101906105149190613d55565b6125bc565b005b348015610526575f80fd5b50610541600480360381019061053c9190613d55565b6125e5565b60405161054e9190613f5c565b60405180910390f35b348015610562575f80fd5b5061057d60048036038101906105789190613db3565b6125fe565b60405161058e9594939291906142ba565b60405180910390f35b61059f613841565b5f82815481106105b2576105b161430b565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561079f57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610756575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b61084761265b565b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f610893612692565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6108e36138f7565b60055f8381526020019081526020015f206040518060a00160405290815f82015f9054906101000a900460ff16600281111561092257610921613dde565b5b600281111561093457610933613dde565b5b81526020015f820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820154815250509050919050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109df61265b565b80600460146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b610a1361265b565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b3068929eee149b4bd212685403610add5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f610af4838361269c565b90505f60055f8381526020019081526020015f2090505f816002015461271067ffffffffffffffff168360010154610b2c9190614365565b610b3691906143d3565b90505f610b42836126ce565b905081811115610c37575f8282610b599190614403565b90505f61271067ffffffffffffffff16856002015483610b799190614365565b610b8391906143d3565b9050610b8f85826128d4565b80856001015410610bb95780856001015f828254610bad9190614403565b92505081905550610bc3565b5f85600101819055505b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1687897f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051610c2c9190613f5c565b60405180910390a450505b505050503868929eee149b4bd21268555050565b610c5361265b565b610c5c5f612ab5565b565b3068929eee149b4bd212685403610c7c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110610c9c57610c9b61430b565b5b905f5260205f20906008020190505f610cb5888861269c565b90505f60055f8381526020019081526020015f209050826002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de8588886040518463ffffffff1660e01b8152600401610d2b93929190614490565b602060405180830381865afa158015610d46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6a91906144f5565b610da0576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b6900348b8b888b8b6040518763ffffffff1660e01b8152600401610e05959493929190614520565b60206040518083038185885af1158015610e21573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e4691906144f5565b610e7c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16825f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610ed9575f610ee3565b610ee2826126ce565b5b9050836004018981548110610efb57610efa61430b565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb1757cf8689896040518463ffffffff1660e01b8152600401610f5f93929190614490565b6020604051808303815f875af1158015610f7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f9f91906144f5565b610fe4578487876040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610fdb93929190614490565b60405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611041575f61104b565b61104a836126ce565b5b90505f81831161105b575f611068565b81836110679190614403565b5b90505f61271067ffffffffffffffff168560020154836110889190614365565b61109291906143d3565b90505f811115611132576110a685826128d4565b80856001015f8282546110b99190614403565b9250508190555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168c8e7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516111299190613f5c565b60405180910390a45b8773ffffffffffffffffffffffffffffffffffffffff168c8e7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478e8e8e60405161117e93929190614490565b60405180910390a4505050505050503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6111fc858585858533610c5e565b5050505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460149054906101000a900467ffffffffffffffff1681565b61271081565b5f803068929eee149b4bd2126854036112685763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8085815481106112885761128761430b565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561147557602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161142c575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050806060015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611579576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611584868661269c565b90505f60055f8381526020019081526020015f2090505f89898101906115aa91906146f7565b90505f81602001518060200190518101906115c59190614752565b90505f61271067ffffffffffffffff168460020154836115e59190614365565b6115ef91906143d3565b90505f8111156117ee576001600281111561160d5761160c613dde565b5b845f015f9054906101000a900460ff16600281111561162f5761162e613dde565b5b148061166d57505f600281111561164957611648613dde565b5b845f015f9054906101000a900460ff16600281111561166b5761166a613dde565b5b145b156116c8576116c3835f015182865f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612b7b9092919063ffffffff16565b61179a565b6002808111156116db576116da613dde565b5b845f015f9054906101000a900460ff1660028111156116fd576116fc613dde565b5b0361179957835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30855f01518760030154856040518563ffffffff1660e01b815260040161176b94939291906147a0565b5f604051808303815f87803b158015611782575f80fd5b505af1158015611794573d5f803e3d5ffd5b505050505b5b825f015173ffffffffffffffffffffffffffffffffffffffff16898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516117e59190613f5c565b60405180910390a45b5f8087608001518b815181106118075761180661430b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663474f5a448660405160200161183b9190614890565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161186691906148e8565b60408051808303815f875af1158015611881573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a5919061491c565b915091505f82036118f157338e8e6040517f9ecd71a90000000000000000000000000000000000000000000000000000000081526004016118e893929190614490565b60405180910390fd5b82866001015f8282546119049190614403565b9250508190555081819950995050505050505050503868929eee149b4bd212685594509492505050565b611936613841565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015611a2a575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b81526004016119e99190613edf565b602060405180830381865afa158015611a04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a2891906144f5565b155b15611a61576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd212685403611a7f5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f611ad885858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050612bc4565b806020019051810190611aeb9190614cba565b9050611af9815f0151612c5d565b5f8060018160018154018082558091505003905f5260205f20906008020190508160e00151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611c23578160a00151600460149054906101000a900467ffffffffffffffff16611c1e9190614d01565b611cce565b8160a0015160045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b1539a6b88886040518363ffffffff1660e01b8152600401611c84929190614d3c565b602060405180830381865afa158015611c9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cc39190614d5e565b611ccd9190614d01565b5b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c001518160060181905550611d347fe67157950000000000000000000000000000000000000000000000000000000083602001516001612d38565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611da47fe2089f790000000000000000000000000000000000000000000000000000000083606001516001612d38565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8073ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611e40575f611edc565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7f1ecff88886040518363ffffffff1660e01b8152600401611e9c929190614d3c565b602060405180830381865afa158015611eb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611edb9190614d89565b5b9050611f088360800151845f0151846005015f9054906101000a900467ffffffffffffffff1684612d5a565b826004019080519060200190611f1f929190613949565b505f73ffffffffffffffffffffffffffffffffffffffff1683604001516020015173ffffffffffffffffffffffffffffffffffffffff1614611f9057611f8b7f5912b89c0000000000000000000000000000000000000000000000000000000084604001516001612d38565b612079565b815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161200b9190614dee565b602060405180830381865afa158015612026573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061204a91906144f5565b612054575f612078565b815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b826001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff16826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361216f577f5912b89c000000000000000000000000000000000000000000000000000000005f6040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401612166929190614e07565b60405180910390fd5b815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f805490506121f39190614403565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8560040180549050866001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516122989493929190614e2e565b60405180910390a481604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561248257602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612439575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505094505050503868929eee149b4bd21268555092915050565b61253b61265b565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61258661265b565b63389a75e1600c52805f526020600c2080544211156125ac57636f5e88185f526004601cfd5b5f8155506125b981612ab5565b50565b6125c461265b565b8060601b6125d957637448fbae5f526004601cfd5b6125e281612ab5565b50565b5f63389a75e1600c52815f526020600c20549050919050565b6005602052805f5260405f205f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905085565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314612690576382b429005f526004601cfd5b565b5f6202a300905090565b5f82826040516020016126b0929190614e91565b60405160208183030381529060405280519060200120905092915050565b5f600160028111156126e3576126e2613dde565b5b825f015f9054906101000a900460ff16600281111561270557612704613dde565b5b148061274357505f600281111561271f5761271e613dde565b5b825f015f9054906101000a900460ff16600281111561274157612740613dde565b5b145b156127ea57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016127a49190613edf565b602060405180830381865afa1580156127bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e39190614752565b90506128cf565b6002808111156127fd576127fc613dde565b5b825f015f9054906101000a900460ff16600281111561281f5761281e613dde565b5b036128cb57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e3084600301546040518363ffffffff1660e01b8152600401612885929190614ebc565b602060405180830381865afa1580156128a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128c49190614752565b90506128cf565b5f90505b919050565b600160028111156128e8576128e7613dde565b5b825f015f9054906101000a900460ff16600281111561290a57612909613dde565b5b148061294857505f600281111561292457612923613dde565b5b825f015f9054906101000a900460ff16600281111561294657612945613dde565b5b145b156129c1576129bc60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682845f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612b7b9092919063ffffffff16565b612ab1565b6002808111156129d4576129d3613dde565b5b825f015f9054906101000a900460ff1660028111156129f6576129f5613dde565b5b03612ab057815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560030154856040518563ffffffff1660e01b8152600401612a8294939291906147a0565b5f604051808303815f87803b158015612a99575f80fd5b505af1158015612aab573d5f803e3d5ffd5b505050505b5b5050565b612abd612e53565b15612b22577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550612b78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716612bbb576390b8ec185f526004601cfd5b5f603452505050565b6060815115612c585760405190506020810160048301805184518501811983525b80861015612c3e576001860195508551601f1a80612c2e576001870196508651601f1a5f198652607f8111612c1c57600181013887395b6001607f821601860195505050612c39565b808553600185019450505b612be5565b81835260208501840385525f845260208401604052505050505b919050565b612c877fe49cedd70000000000000000000000000000000000000000000000000000000082612e57565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b8152600401612cc09190613edf565b602060405180830381865afa158015612cdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cff91906144f5565b612d35576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f612d47848460200151612e57565b612d518383612f4e565b90509392505050565b60605f60015f80549050612d6e9190614403565b9050855167ffffffffffffffff811115612d8b57612d8a614570565b5b604051908082528060200260200182016040528015612db95781602001602082028036833780820191505090505b5091505f5b8651811015612e4957612def878281518110612ddd57612ddc61430b565b5b6020026020010151878787868661300a565b838281518110612e0257612e0161430b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050612dbe565b5050949350505050565b5f90565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480612f0657508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b8152600401612ec59190614dee565b602060405180830381865afa158015612ee0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f0491906144f5565b155b15612f4a5781816040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401612f41929190614e07565b60405180910390fd5b5050565b5f825f0151612f61578260200151612f85565b612f84836020015173ffffffffffffffffffffffffffffffffffffffff166133b4565b5b9050825f01518015612f945750815b15613004578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b8152600401612fd691906148e8565b5f604051808303815f87803b158015612fed575f80fd5b505af1158015612fff573d5f803e3d5ffd5b505050505b92915050565b5f80876040015190506130417fa9216705000000000000000000000000000000000000000000000000000000008960200151612e57565b875f01516130ac577fa92167050000000000000000000000000000000000000000000000000000000088602001516040517fe1c444480000000000000000000000000000000000000000000000000000000081526004016130a3929190614e07565b60405180910390fd5b6130d77fa921670500000000000000000000000000000000000000000000000000000000895f612d38565b91505f8273ffffffffffffffffffffffffffffffffffffffff16634e7165a2836040518263ffffffff1660e01b815260040161311391906148e8565b5f60405180830381865afa15801561312d573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906131559190614ee3565b90505f815114613342575f8061316b838a6133c6565b915091508973ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1836040518263ffffffff1660e01b81526004016131a891906148e8565b6020604051808303815f875af11580156131c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131e891906144f5565b61321e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8973ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1846040518263ffffffff1660e01b815260040161325791906148e8565b6020604051808303815f875af1158015613273573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061329791906144f5565b6132cd576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838060200190518101906132e29190614fde565b905061333e88885f73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1603613326578360200151613328565b8b5b858e67ffffffffffffffff16865f01518b61369e565b5050505b8273ffffffffffffffffffffffffffffffffffffffff1663439fab91836040518263ffffffff1660e01b815260040161337b91906148e8565b5f604051808303815f87803b158015613392575f80fd5b505af11580156133a4573d5f803e3d5ffd5b5050505050509695505050505050565b5f6133bf5f836137f0565b9050919050565b60605f80848060200190518101906133de9190614fde565b90505f849050600160028111156133f8576133f7613dde565b5b825f0151600281111561340e5761340d613dde565b5b148061344057505f600281111561342857613427613dde565b5b825f0151600281111561343e5761343d613dde565b5b145b15613534575f826060015180602001905181019061345e919061505e565b90505f61271067ffffffffffffffff168367ffffffffffffffff16835f01516134879190614365565b61349191906143d3565b90505f6040518060200160405280838152509050806040516020016134b691906150a3565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505084604051602001613516919061511c565b60405160208183030381529060405282965096505050505050613697565b60028081111561354757613546613dde565b5b825f0151600281111561355d5761355c613dde565b5b03613665575f826060015180602001905181019061357b91906151b9565b90505f61271067ffffffffffffffff168367ffffffffffffffff1683602001516135a59190614365565b6135af91906143d3565b90505f6040518060600160405280845f0151815260200183815260200184604001518152509050806040516020016135e7919061524d565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505084604051602001613647919061511c565b60405160208183030381529060405282965096505050505050613697565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b5f6002808111156136b2576136b1613dde565b5b8360028111156136c5576136c4613dde565b5b036136e457818060200190518101906136de919061526d565b50809150505b5f6040518060a0016040528085600281111561370357613702613dde565b5b81526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018381525090508060055f6137448c8c61269c565b81526020019081526020015f205f820151815f015f6101000a81548160ff0219169083600281111561377957613778613dde565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030155905050505050505050505050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806138375763301164255f526004601cfd5b5f60215292915050565b6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060a001604052805f600281111561391557613914613dde565b5b81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81525090565b828054828255905f5260205f209081019282156139bf579160200282015b828111156139be578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190613967565b5b5090506139cc91906139d0565b5090565b5b808211156139e7575f815f9055506001016139d1565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b613a0e816139fc565b8114613a18575f80fd5b50565b5f81359050613a2981613a05565b92915050565b5f60208284031215613a4457613a436139f4565b5b5f613a5184828501613a1b565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f613a9c613a97613a9284613a5a565b613a79565b613a5a565b9050919050565b5f613aad82613a82565b9050919050565b5f613abe82613aa3565b9050919050565b613ace81613ab4565b82525050565b5f613ade82613aa3565b9050919050565b613aee81613ad4565b82525050565b5f613afe82613aa3565b9050919050565b613b0e81613af4565b82525050565b5f613b1e82613a82565b9050919050565b5f613b2f82613b14565b9050919050565b613b3f81613b25565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f613b7882613aa3565b9050919050565b613b8881613b6e565b82525050565b5f613b998383613b7f565b60208301905092915050565b5f602082019050919050565b5f613bbb82613b45565b613bc58185613b4f565b9350613bd083613b5f565b805f5b83811015613c00578151613be78882613b8e565b9750613bf283613ba5565b925050600181019050613bd3565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b613c2981613c0d565b82525050565b613c38816139fc565b82525050565b5f613c4882613a5a565b9050919050565b613c5881613c3e565b82525050565b5f61010083015f830151613c745f860182613ac5565b506020830151613c876020860182613ae5565b506040830151613c9a6040860182613b05565b506060830151613cad6060860182613b36565b5060808301518482036080860152613cc58282613bb1565b91505060a0830151613cda60a0860182613c20565b5060c0830151613ced60c0860182613c2f565b5060e0830151613d0060e0860182613c4f565b508091505092915050565b5f6020820190508181035f830152613d238184613c5e565b905092915050565b613d3481613c3e565b8114613d3e575f80fd5b50565b5f81359050613d4f81613d2b565b92915050565b5f60208284031215613d6a57613d696139f4565b5b5f613d7784828501613d41565b91505092915050565b5f819050919050565b613d9281613d80565b8114613d9c575f80fd5b50565b5f81359050613dad81613d89565b92915050565b5f60208284031215613dc857613dc76139f4565b5b5f613dd584828501613d9f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60038110613e1c57613e1b613dde565b5b50565b5f819050613e2c82613e0b565b919050565b5f613e3b82613e1f565b9050919050565b613e4b81613e31565b82525050565b60a082015f820151613e655f850182613e42565b506020820151613e786020850182613c4f565b506040820151613e8b6040850182613c2f565b506060820151613e9e6060850182613c2f565b506080820151613eb16080850182613c2f565b50505050565b5f60a082019050613eca5f830184613e51565b92915050565b613ed981613c3e565b82525050565b5f602082019050613ef25f830184613ed0565b92915050565b613f0181613c0d565b8114613f0b575f80fd5b50565b5f81359050613f1c81613ef8565b92915050565b5f60208284031215613f3757613f366139f4565b5b5f613f4484828501613f0e565b91505092915050565b613f56816139fc565b82525050565b5f602082019050613f6f5f830184613f4d565b92915050565b5f8060408385031215613f8b57613f8a6139f4565b5b5f613f9885828601613a1b565b9250506020613fa985828601613a1b565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112613fd457613fd3613fb3565b5b8235905067ffffffffffffffff811115613ff157613ff0613fb7565b5b60208301915083600182028301111561400d5761400c613fbb565b5b9250929050565b5f805f805f8060a0878903121561402e5761402d6139f4565b5b5f61403b89828a01613a1b565b965050602061404c89828a01613a1b565b955050604061405d89828a01613d41565b945050606087013567ffffffffffffffff81111561407e5761407d6139f8565b5b61408a89828a01613fbf565b9350935050608061409d89828a01613d41565b9150509295509295509295565b5f6140b482613aa3565b9050919050565b6140c4816140aa565b82525050565b5f6020820190506140dd5f8301846140bb565b92915050565b5f805f805f608086880312156140fc576140fb6139f4565b5b5f61410988828901613a1b565b955050602061411a88828901613a1b565b945050604061412b88828901613d41565b935050606086013567ffffffffffffffff81111561414c5761414b6139f8565b5b61415888828901613fbf565b92509250509295509295909350565b5f61417182613aa3565b9050919050565b61418181614167565b82525050565b5f60208201905061419a5f830184614178565b92915050565b6141a981613c0d565b82525050565b5f6020820190506141c25f8301846141a0565b92915050565b5f805f80606085870312156141e0576141df6139f4565b5b5f85013567ffffffffffffffff8111156141fd576141fc6139f8565b5b61420987828801613fbf565b9450945050602061421c87828801613a1b565b925050604061422d87828801613a1b565b91505092959194509250565b5f60408201905061424c5f830185613f4d565b6142596020830184613ed0565b9392505050565b5f8060208385031215614276576142756139f4565b5b5f83013567ffffffffffffffff811115614293576142926139f8565b5b61429f85828601613fbf565b92509250509250929050565b6142b481613e31565b82525050565b5f60a0820190506142cd5f8301886142ab565b6142da6020830187613ed0565b6142e76040830186613f4d565b6142f46060830185613f4d565b6143016080830184613f4d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61436f826139fc565b915061437a836139fc565b9250828202614388816139fc565b9150828204841483151761439f5761439e614338565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6143dd826139fc565b91506143e8836139fc565b9250826143f8576143f76143a6565b5b828204905092915050565b5f61440d826139fc565b9150614418836139fc565b92508282039050818111156144305761442f614338565b5b92915050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61446f8385614436565b935061447c838584614446565b61448583614454565b840190509392505050565b5f6040820190506144a35f830186613ed0565b81810360208301526144b6818486614464565b9050949350505050565b5f8115159050919050565b6144d4816144c0565b81146144de575f80fd5b50565b5f815190506144ef816144cb565b92915050565b5f6020828403121561450a576145096139f4565b5b5f614517848285016144e1565b91505092915050565b5f6080820190506145335f830188613f4d565b6145406020830187613f4d565b61454d6040830186613ed0565b8181036060830152614560818486614464565b90509695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6145a682614454565b810181811067ffffffffffffffff821117156145c5576145c4614570565b5b80604052505050565b5f6145d76139eb565b90506145e3828261459d565b919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff82111561460a57614609614570565b5b61461382614454565b9050602081019050919050565b5f61463261462d846145f0565b6145ce565b90508281526020810184848401111561464e5761464d6145ec565b5b614659848285614446565b509392505050565b5f82601f83011261467557614674613fb3565b5b8135614685848260208601614620565b91505092915050565b5f604082840312156146a3576146a261456c565b5b6146ad60406145ce565b90505f6146bc84828501613d41565b5f83015250602082013567ffffffffffffffff8111156146df576146de6145e8565b5b6146eb84828501614661565b60208301525092915050565b5f6020828403121561470c5761470b6139f4565b5b5f82013567ffffffffffffffff811115614729576147286139f8565b5b6147358482850161468e565b91505092915050565b5f8151905061474c81613a05565b92915050565b5f60208284031215614767576147666139f4565b5b5f6147748482850161473e565b91505092915050565b50565b5f61478b5f83614436565b91506147968261477d565b5f82019050919050565b5f60a0820190506147b35f830187613ed0565b6147c06020830186613ed0565b6147cd6040830185613f4d565b6147da6060830184613f4d565b81810360808301526147eb81614780565b905095945050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f614828826147f6565b6148328185614800565b9350614842818560208601614810565b61484b81614454565b840191505092915050565b5f604083015f83015161486b5f860182613c4f565b5060208301518482036020860152614883828261481e565b9150508091505092915050565b5f6020820190508181035f8301526148a88184614856565b905092915050565b5f6148ba826147f6565b6148c48185614436565b93506148d4818560208601614810565b6148dd81614454565b840191505092915050565b5f6020820190508181035f83015261490081846148b0565b905092915050565b5f8151905061491681613d2b565b92915050565b5f8060408385031215614932576149316139f4565b5b5f61493f8582860161473e565b925050602061495085828601614908565b9150509250929050565b5f61496482613a5a565b9050919050565b5f6149758261495a565b9050919050565b6149858161496b565b811461498f575f80fd5b50565b5f815190506149a08161497c565b92915050565b5f6149b86149b3846145f0565b6145ce565b9050828152602081018484840111156149d4576149d36145ec565b5b6149df848285614810565b509392505050565b5f82601f8301126149fb576149fa613fb3565b5b8151614a0b8482602086016149a6565b91505092915050565b5f60608284031215614a2957614a2861456c565b5b614a3360606145ce565b90505f614a42848285016144e1565b5f830152506020614a5584828501614908565b602083015250604082015167ffffffffffffffff811115614a7957614a786145e8565b5b614a85848285016149e7565b60408301525092915050565b5f67ffffffffffffffff821115614aab57614aaa614570565b5b602082029050602081019050919050565b5f614ace614ac984614a91565b6145ce565b90508083825260208201905060208402830185811115614af157614af0613fbb565b5b835b81811015614b3857805167ffffffffffffffff811115614b1657614b15613fb3565b5b808601614b238982614a14565b85526020850194505050602081019050614af3565b5050509392505050565b5f82601f830112614b5657614b55613fb3565b5b8151614b66848260208601614abc565b91505092915050565b5f81519050614b7d81613ef8565b92915050565b5f6101008284031215614b9957614b9861456c565b5b614ba46101006145ce565b90505f614bb384828501614992565b5f83015250602082015167ffffffffffffffff811115614bd657614bd56145e8565b5b614be284828501614a14565b602083015250604082015167ffffffffffffffff811115614c0657614c056145e8565b5b614c1284828501614a14565b604083015250606082015167ffffffffffffffff811115614c3657614c356145e8565b5b614c4284828501614a14565b606083015250608082015167ffffffffffffffff811115614c6657614c656145e8565b5b614c7284828501614b42565b60808301525060a0614c8684828501614b6f565b60a08301525060c0614c9a8482850161473e565b60c08301525060e0614cae84828501614908565b60e08301525092915050565b5f60208284031215614ccf57614cce6139f4565b5b5f82015167ffffffffffffffff811115614cec57614ceb6139f8565b5b614cf884828501614b83565b91505092915050565b5f614d0b82613c0d565b9150614d1683613c0d565b9250828201905067ffffffffffffffff811115614d3657614d35614338565b5b92915050565b5f6020820190508181035f830152614d55818486614464565b90509392505050565b5f60208284031215614d7357614d726139f4565b5b5f614d8084828501614b6f565b91505092915050565b5f60208284031215614d9e57614d9d6139f4565b5b5f614dab84828501614908565b91505092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614de881614db4565b82525050565b5f602082019050614e015f830184614ddf565b92915050565b5f604082019050614e1a5f830185614ddf565b614e276020830184613ed0565b9392505050565b5f608082019050614e415f830187613f4d565b614e4e6020830186613ed0565b614e5b6040830185613ed0565b614e686060830184613ed0565b95945050505050565b5f819050919050565b614e8b614e86826139fc565b614e71565b82525050565b5f614e9c8285614e7a565b602082019150614eac8284614e7a565b6020820191508190509392505050565b5f604082019050614ecf5f830185613ed0565b614edc6020830184613f4d565b9392505050565b5f60208284031215614ef857614ef76139f4565b5b5f82015167ffffffffffffffff811115614f1557614f146139f8565b5b614f21848285016149e7565b91505092915050565b60038110614f36575f80fd5b50565b5f81519050614f4781614f2a565b92915050565b5f60808284031215614f6257614f6161456c565b5b614f6c60806145ce565b90505f614f7b84828501614f39565b5f830152506020614f8e84828501614908565b6020830152506040614fa284828501614908565b604083015250606082015167ffffffffffffffff811115614fc657614fc56145e8565b5b614fd2848285016149e7565b60608301525092915050565b5f60208284031215614ff357614ff26139f4565b5b5f82015167ffffffffffffffff8111156150105761500f6139f8565b5b61501c84828501614f4d565b91505092915050565b5f6020828403121561503a5761503961456c565b5b61504460206145ce565b90505f6150538482850161473e565b5f8301525092915050565b5f60208284031215615073576150726139f4565b5b5f61508084828501615025565b91505092915050565b602082015f82015161509d5f850182613c2f565b50505050565b5f6020820190506150b65f830184615089565b92915050565b5f608083015f8301516150d15f860182613e42565b5060208301516150e46020860182613c4f565b5060408301516150f76040860182613c4f565b506060830151848203606086015261510f828261481e565b9150508091505092915050565b5f6020820190508181035f83015261513481846150bc565b905092915050565b5f606082840312156151515761515061456c565b5b61515b60606145ce565b90505f61516a8482850161473e565b5f83015250602061517d8482850161473e565b602083015250604082015167ffffffffffffffff8111156151a1576151a06145e8565b5b6151ad848285016149e7565b60408301525092915050565b5f602082840312156151ce576151cd6139f4565b5b5f82015167ffffffffffffffff8111156151eb576151ea6139f8565b5b6151f78482850161513c565b91505092915050565b5f606083015f8301516152155f860182613c2f565b5060208301516152286020860182613c2f565b5060408301518482036040860152615240828261481e565b9150508091505092915050565b5f6020820190508181035f8301526152658184615200565b905092915050565b5f8060408385031215615283576152826139f4565b5b5f6152908582860161473e565b925050602083015167ffffffffffffffff8111156152b1576152b06139f8565b5b6152bd858286016149e7565b915050925092905056fea2646970667358221220bed01bcc980436ee06de55c9432f1e68860a671fb19b74f16701b22a12e0663e64736f6c634300081a0033";
|
|
31
31
|
function D(t) {
|
|
32
|
-
const
|
|
32
|
+
const e = t.state.current, f = t.state.connections.get(e), b = f == null ? void 0 : f.accounts, a = b == null ? void 0 : b[0], c = t.chains.find((n) => n.id === (f == null ? void 0 : f.chainId)), d = t.state.status;
|
|
33
33
|
switch (d) {
|
|
34
34
|
case "connected":
|
|
35
35
|
return {
|
|
36
36
|
address: a,
|
|
37
|
-
addresses:
|
|
37
|
+
addresses: b,
|
|
38
38
|
chain: c,
|
|
39
39
|
chainId: f == null ? void 0 : f.chainId,
|
|
40
40
|
connector: f == null ? void 0 : f.connector,
|
|
@@ -47,7 +47,7 @@ function D(t) {
|
|
|
47
47
|
case "reconnecting":
|
|
48
48
|
return {
|
|
49
49
|
address: a,
|
|
50
|
-
addresses:
|
|
50
|
+
addresses: b,
|
|
51
51
|
chain: c,
|
|
52
52
|
chainId: f == null ? void 0 : f.chainId,
|
|
53
53
|
connector: f == null ? void 0 : f.connector,
|
|
@@ -60,7 +60,7 @@ function D(t) {
|
|
|
60
60
|
case "connecting":
|
|
61
61
|
return {
|
|
62
62
|
address: a,
|
|
63
|
-
addresses:
|
|
63
|
+
addresses: b,
|
|
64
64
|
chain: c,
|
|
65
65
|
chainId: f == null ? void 0 : f.chainId,
|
|
66
66
|
connector: f == null ? void 0 : f.connector,
|
|
@@ -88,18 +88,18 @@ function D(t) {
|
|
|
88
88
|
function pf(t) {
|
|
89
89
|
return t.state.chainId;
|
|
90
90
|
}
|
|
91
|
-
function O(t,
|
|
92
|
-
const
|
|
93
|
-
if (typeof
|
|
94
|
-
return
|
|
91
|
+
function O(t, e, f) {
|
|
92
|
+
const b = t[e.name];
|
|
93
|
+
if (typeof b == "function")
|
|
94
|
+
return b;
|
|
95
95
|
const a = t[f];
|
|
96
|
-
return typeof a == "function" ? a : (c) =>
|
|
96
|
+
return typeof a == "function" ? a : (c) => e(t, c);
|
|
97
97
|
}
|
|
98
98
|
const qf = "2.13.8", zf = () => `@wagmi/core@${qf}`;
|
|
99
|
-
var N = function(t,
|
|
100
|
-
if (f === "a" && !
|
|
101
|
-
if (typeof
|
|
102
|
-
return f === "m" ?
|
|
99
|
+
var N = function(t, e, f, b) {
|
|
100
|
+
if (f === "a" && !b) throw new TypeError("Private accessor was defined without a getter");
|
|
101
|
+
if (typeof e == "function" ? t !== e || !b : !e.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
102
|
+
return f === "m" ? b : f === "a" ? b.call(t) : b ? b.value : e.get(t);
|
|
103
103
|
}, I, S;
|
|
104
104
|
class m extends Error {
|
|
105
105
|
get docsBaseUrl() {
|
|
@@ -108,7 +108,7 @@ class m extends Error {
|
|
|
108
108
|
get version() {
|
|
109
109
|
return zf();
|
|
110
110
|
}
|
|
111
|
-
constructor(
|
|
111
|
+
constructor(e, f = {}) {
|
|
112
112
|
var c;
|
|
113
113
|
super(), I.add(this), Object.defineProperty(this, "details", {
|
|
114
114
|
enumerable: !0,
|
|
@@ -136,25 +136,25 @@ class m extends Error {
|
|
|
136
136
|
writable: !0,
|
|
137
137
|
value: "WagmiCoreError"
|
|
138
138
|
});
|
|
139
|
-
const
|
|
139
|
+
const b = f.cause instanceof m ? f.cause.details : (c = f.cause) != null && c.message ? f.cause.message : f.details, a = f.cause instanceof m && f.cause.docsPath || f.docsPath;
|
|
140
140
|
this.message = [
|
|
141
|
-
|
|
141
|
+
e || "An error occurred.",
|
|
142
142
|
"",
|
|
143
143
|
...f.metaMessages ? [...f.metaMessages, ""] : [],
|
|
144
144
|
...a ? [
|
|
145
145
|
`Docs: ${this.docsBaseUrl}${a}.html${f.docsSlug ? `#${f.docsSlug}` : ""}`
|
|
146
146
|
] : [],
|
|
147
|
-
...
|
|
147
|
+
...b ? [`Details: ${b}`] : [],
|
|
148
148
|
`Version: ${this.version}`
|
|
149
149
|
].join(`
|
|
150
|
-
`), f.cause && (this.cause = f.cause), this.details =
|
|
150
|
+
`), f.cause && (this.cause = f.cause), this.details = b, this.docsPath = a, this.metaMessages = f.metaMessages, this.shortMessage = e;
|
|
151
151
|
}
|
|
152
|
-
walk(
|
|
153
|
-
return N(this, I, "m", S).call(this, this,
|
|
152
|
+
walk(e) {
|
|
153
|
+
return N(this, I, "m", S).call(this, this, e);
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
-
I = /* @__PURE__ */ new WeakSet(), S = function t(
|
|
157
|
-
return f != null && f(
|
|
156
|
+
I = /* @__PURE__ */ new WeakSet(), S = function t(e, f) {
|
|
157
|
+
return f != null && f(e) ? e : e.cause ? N(this, I, "m", t).call(this, e.cause, f) : e;
|
|
158
158
|
};
|
|
159
159
|
class Wf extends m {
|
|
160
160
|
constructor() {
|
|
@@ -167,8 +167,8 @@ class Wf extends m {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
class Gf extends m {
|
|
170
|
-
constructor({ address:
|
|
171
|
-
super(`Account "${
|
|
170
|
+
constructor({ address: e, connector: f }) {
|
|
171
|
+
super(`Account "${e}" not found for connector "${f.name}".`), Object.defineProperty(this, "name", {
|
|
172
172
|
enumerable: !0,
|
|
173
173
|
configurable: !0,
|
|
174
174
|
writable: !0,
|
|
@@ -177,11 +177,11 @@ class Gf extends m {
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
class Uf extends m {
|
|
180
|
-
constructor({ connectionChainId:
|
|
181
|
-
super(`The current chain of the connector (id: ${f}) does not match the connection's chain (id: ${
|
|
180
|
+
constructor({ connectionChainId: e, connectorChainId: f }) {
|
|
181
|
+
super(`The current chain of the connector (id: ${f}) does not match the connection's chain (id: ${e}).`, {
|
|
182
182
|
metaMessages: [
|
|
183
183
|
`Current Chain ID: ${f}`,
|
|
184
|
-
`Expected Chain ID: ${
|
|
184
|
+
`Expected Chain ID: ${e}`
|
|
185
185
|
]
|
|
186
186
|
}), Object.defineProperty(this, "name", {
|
|
187
187
|
enumerable: !0,
|
|
@@ -192,8 +192,8 @@ class Uf extends m {
|
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
class kf extends m {
|
|
195
|
-
constructor({ connector:
|
|
196
|
-
super(`Connector "${
|
|
195
|
+
constructor({ connector: e }) {
|
|
196
|
+
super(`Connector "${e.name}" unavailable while reconnecting.`, {
|
|
197
197
|
details: [
|
|
198
198
|
"During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uuid`.",
|
|
199
199
|
"All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.",
|
|
@@ -207,10 +207,10 @@ class kf extends m {
|
|
|
207
207
|
});
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
async function M(t,
|
|
210
|
+
async function M(t, e = {}) {
|
|
211
211
|
let f;
|
|
212
|
-
if (
|
|
213
|
-
const { connector: s } =
|
|
212
|
+
if (e.connector) {
|
|
213
|
+
const { connector: s } = e;
|
|
214
214
|
if (t.state.status === "reconnecting" && !s.getAccounts && !s.getChainId)
|
|
215
215
|
throw new kf({ connector: s });
|
|
216
216
|
const [w, g] = await Promise.all([
|
|
@@ -226,7 +226,7 @@ async function M(t, b = {}) {
|
|
|
226
226
|
f = t.state.connections.get(t.state.current);
|
|
227
227
|
if (!f)
|
|
228
228
|
throw new Wf();
|
|
229
|
-
const
|
|
229
|
+
const b = e.chainId ?? f.chainId, a = await f.connector.getChainId();
|
|
230
230
|
if (a !== f.chainId)
|
|
231
231
|
throw new Uf({
|
|
232
232
|
connectionChainId: f.chainId,
|
|
@@ -234,39 +234,39 @@ async function M(t, b = {}) {
|
|
|
234
234
|
});
|
|
235
235
|
const c = f.connector;
|
|
236
236
|
if (c.getClient)
|
|
237
|
-
return c.getClient({ chainId:
|
|
238
|
-
const d = Vf(
|
|
239
|
-
if (d.address = xf(d.address),
|
|
237
|
+
return c.getClient({ chainId: b });
|
|
238
|
+
const d = Vf(e.account ?? f.accounts[0]);
|
|
239
|
+
if (d.address = xf(d.address), e.account && !f.accounts.some((s) => s.toLowerCase() === d.address.toLowerCase()))
|
|
240
240
|
throw new Gf({
|
|
241
241
|
address: d.address,
|
|
242
242
|
connector: c
|
|
243
243
|
});
|
|
244
|
-
const n = t.chains.find((s) => s.id ===
|
|
245
|
-
return
|
|
244
|
+
const n = t.chains.find((s) => s.id === b), i = await f.connector.getProvider({ chainId: b });
|
|
245
|
+
return ef({
|
|
246
246
|
account: d,
|
|
247
247
|
chain: n,
|
|
248
248
|
name: "Connector Client",
|
|
249
|
-
transport: (s) =>
|
|
249
|
+
transport: (s) => bf(i)({ ...s, retryCount: 0 })
|
|
250
250
|
});
|
|
251
251
|
}
|
|
252
|
-
async function Hf(t,
|
|
253
|
-
const { abi: f, chainId:
|
|
252
|
+
async function Hf(t, e) {
|
|
253
|
+
const { abi: f, chainId: b, connector: a, ...c } = e;
|
|
254
254
|
let d;
|
|
255
|
-
|
|
256
|
-
chainId:
|
|
255
|
+
e.account ? d = e.account : d = (await M(t, {
|
|
256
|
+
chainId: b,
|
|
257
257
|
connector: a
|
|
258
258
|
})).account;
|
|
259
|
-
const n = t.getClient({ chainId:
|
|
259
|
+
const n = t.getClient({ chainId: b }), i = O(n, $f, "simulateContract"), { result: s, request: w } = await i({ ...c, abi: f, account: d });
|
|
260
260
|
return {
|
|
261
261
|
chainId: n.chain.id,
|
|
262
262
|
result: s,
|
|
263
|
-
request: { __mode: "prepared", ...w, chainId:
|
|
263
|
+
request: { __mode: "prepared", ...w, chainId: b }
|
|
264
264
|
};
|
|
265
265
|
}
|
|
266
|
-
async function F(t,
|
|
267
|
-
const { account: f, chainId:
|
|
266
|
+
async function F(t, e) {
|
|
267
|
+
const { account: f, chainId: b, connector: a, __mode: c, ...d } = e;
|
|
268
268
|
let n;
|
|
269
|
-
typeof f == "object" && f.type === "local" ? n = t.getClient({ chainId:
|
|
269
|
+
typeof f == "object" && f.type === "local" ? n = t.getClient({ chainId: b }) : n = await M(t, { account: f, chainId: b, connector: a });
|
|
270
270
|
const { connector: i } = D(t);
|
|
271
271
|
let s;
|
|
272
272
|
if (c === "prepared" || i != null && i.supportsSimulation)
|
|
@@ -275,28 +275,28 @@ async function F(t, b) {
|
|
|
275
275
|
const { request: o } = await Hf(t, {
|
|
276
276
|
...d,
|
|
277
277
|
account: f,
|
|
278
|
-
chainId:
|
|
278
|
+
chainId: b
|
|
279
279
|
});
|
|
280
280
|
s = o;
|
|
281
281
|
}
|
|
282
282
|
return await O(n, jf, "writeContract")({
|
|
283
283
|
...s,
|
|
284
284
|
...f ? { account: f } : {},
|
|
285
|
-
chain:
|
|
285
|
+
chain: b ? { id: b } : null
|
|
286
286
|
});
|
|
287
287
|
}
|
|
288
288
|
function Jf(t) {
|
|
289
|
-
return t.address !== void 0 && typeof t.address == "object" ? (
|
|
289
|
+
return t.address !== void 0 && typeof t.address == "object" ? (e, f) => {
|
|
290
290
|
var d;
|
|
291
|
-
const
|
|
291
|
+
const b = pf(e), a = D(e);
|
|
292
292
|
let c;
|
|
293
|
-
return f.chainId ? c = f.chainId : f.account && f.account === a.address || f.account === void 0 ? c = a.chainId : c =
|
|
293
|
+
return f.chainId ? c = f.chainId : f.account && f.account === a.address || f.account === void 0 ? c = a.chainId : c = b, F(e, {
|
|
294
294
|
...f,
|
|
295
295
|
...t.functionName ? { functionName: t.functionName } : {},
|
|
296
296
|
address: c ? (d = t.address) == null ? void 0 : d[c] : void 0,
|
|
297
297
|
abi: t.abi
|
|
298
298
|
});
|
|
299
|
-
} : (
|
|
299
|
+
} : (e, f) => F(e, {
|
|
300
300
|
...f,
|
|
301
301
|
...t.address ? { address: t.address } : {},
|
|
302
302
|
...t.functionName ? { functionName: t.functionName } : {},
|
|
@@ -333,21 +333,21 @@ const _ = class _ extends gf {
|
|
|
333
333
|
* @param {?Account} [param0.account]
|
|
334
334
|
* @param {({ address?: Address; } | { registryAddress: Address; protocolFeeReceiver: Address; owner: Address; })} param0....options
|
|
335
335
|
*/
|
|
336
|
-
constructor({ config:
|
|
337
|
-
if (Qf(
|
|
338
|
-
super({ account: f, config:
|
|
339
|
-
else if (Xf(
|
|
340
|
-
super({ account: f, config:
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
336
|
+
constructor({ config: e, account: f, ...b }) {
|
|
337
|
+
if (Qf(b) && b.address)
|
|
338
|
+
super({ account: f, config: e }, b.address);
|
|
339
|
+
else if (Xf(b))
|
|
340
|
+
super({ account: f, config: e }, [
|
|
341
|
+
b.registryAddress,
|
|
342
|
+
b.protocolFeeReceiver,
|
|
343
|
+
b.owner
|
|
344
344
|
]);
|
|
345
345
|
else {
|
|
346
346
|
const { address: a } = h(
|
|
347
|
-
|
|
347
|
+
e,
|
|
348
348
|
y
|
|
349
349
|
);
|
|
350
|
-
super({ account: f, config:
|
|
350
|
+
super({ account: f, config: e }, a);
|
|
351
351
|
}
|
|
352
352
|
this.abi = C;
|
|
353
353
|
}
|
|
@@ -361,8 +361,8 @@ const _ = class _ extends gf {
|
|
|
361
361
|
* @param {?WriteParams} [params]
|
|
362
362
|
* @returns {Promise<Boost>}
|
|
363
363
|
*/
|
|
364
|
-
async createBoost(
|
|
365
|
-
const [
|
|
364
|
+
async createBoost(e, f) {
|
|
365
|
+
const [b, a] = this.validateDeploymentConfig(e), c = f == null ? void 0 : f.chainId, { chainId: d, address: n } = h(
|
|
366
366
|
a.config,
|
|
367
367
|
this.addresses,
|
|
368
368
|
c
|
|
@@ -373,7 +373,7 @@ const _ = class _ extends gf {
|
|
|
373
373
|
}), s = await this.prepareCreateBoostPayload(
|
|
374
374
|
n,
|
|
375
375
|
d,
|
|
376
|
-
|
|
376
|
+
b,
|
|
377
377
|
a
|
|
378
378
|
), w = await i(a.config, {
|
|
379
379
|
...this.optionallyAttachAccount(a.account),
|
|
@@ -394,11 +394,11 @@ const _ = class _ extends gf {
|
|
|
394
394
|
const u = await this.readBoost(r);
|
|
395
395
|
return new E({
|
|
396
396
|
id: r,
|
|
397
|
-
budget:
|
|
398
|
-
action:
|
|
399
|
-
validator:
|
|
400
|
-
allowList:
|
|
401
|
-
incentives:
|
|
397
|
+
budget: b.budget.at(u.budget),
|
|
398
|
+
action: b.action.at(u.action),
|
|
399
|
+
validator: b.validator.at(u.validator),
|
|
400
|
+
allowList: b.allowList.at(u.allowList),
|
|
401
|
+
incentives: b.incentives.map(
|
|
402
402
|
(A, $) => (
|
|
403
403
|
// biome-ignore lint/style/noNonNullAssertion: this will never be undefined
|
|
404
404
|
A.at(u.incentives.at($))
|
|
@@ -418,15 +418,15 @@ const _ = class _ extends gf {
|
|
|
418
418
|
* @param {?WriteParams} [params]
|
|
419
419
|
* @returns {Promise<SimulateContractReturnType>}
|
|
420
420
|
*/
|
|
421
|
-
async simulateCreateBoost(
|
|
422
|
-
const [
|
|
421
|
+
async simulateCreateBoost(e, f) {
|
|
422
|
+
const [b, a] = this.validateDeploymentConfig(e), c = f == null ? void 0 : f.chainId, { chainId: d, address: n } = h(
|
|
423
423
|
a.config,
|
|
424
424
|
this.addresses,
|
|
425
425
|
c
|
|
426
426
|
), i = await this.prepareCreateBoostPayload(
|
|
427
427
|
n,
|
|
428
428
|
d,
|
|
429
|
-
|
|
429
|
+
b,
|
|
430
430
|
a
|
|
431
431
|
);
|
|
432
432
|
return await j(this._config, {
|
|
@@ -439,11 +439,11 @@ const _ = class _ extends gf {
|
|
|
439
439
|
});
|
|
440
440
|
}
|
|
441
441
|
// This function mutates payload, which isn't awesome but it's fine
|
|
442
|
-
async prepareCreateBoostPayload(
|
|
442
|
+
async prepareCreateBoostPayload(e, f, b, a) {
|
|
443
443
|
var g;
|
|
444
|
-
if (!
|
|
444
|
+
if (!b.owner && (b.owner = ((g = this._account) == null ? void 0 : g.address) || Y(a.config).address || v, b.owner === v))
|
|
445
445
|
throw new Ff();
|
|
446
|
-
if (!
|
|
446
|
+
if (!b.validator) {
|
|
447
447
|
const r = Z(a.config).filter(
|
|
448
448
|
(A) => !!this.addresses[A.id] && A.id === f
|
|
449
449
|
).at(0);
|
|
@@ -453,17 +453,17 @@ const _ = class _ extends gf {
|
|
|
453
453
|
Object.keys(this.addresses).map(Number)
|
|
454
454
|
);
|
|
455
455
|
const u = r.testnet || r.id === 31337;
|
|
456
|
-
|
|
456
|
+
b.validator = this.SignerValidator({
|
|
457
457
|
signers: [
|
|
458
458
|
u ? R.TESTNET : R.MAINNET
|
|
459
459
|
],
|
|
460
|
-
validatorCaller:
|
|
460
|
+
validatorCaller: e
|
|
461
461
|
});
|
|
462
462
|
}
|
|
463
463
|
let c = v;
|
|
464
|
-
if (
|
|
465
|
-
if (c =
|
|
466
|
-
throw new Df(
|
|
464
|
+
if (b.budget.address) {
|
|
465
|
+
if (c = b.budget.address, !await b.budget.isAuthorized(e))
|
|
466
|
+
throw new Df(e);
|
|
467
467
|
} else
|
|
468
468
|
throw new Of();
|
|
469
469
|
let d = {
|
|
@@ -471,17 +471,17 @@ const _ = class _ extends gf {
|
|
|
471
471
|
isBase: !0,
|
|
472
472
|
parameters: l
|
|
473
473
|
};
|
|
474
|
-
if (
|
|
475
|
-
const o =
|
|
474
|
+
if (b.action.address) {
|
|
475
|
+
const o = b.action.isBase;
|
|
476
476
|
d = {
|
|
477
477
|
isBase: o,
|
|
478
|
-
instance:
|
|
479
|
-
parameters: o ?
|
|
478
|
+
instance: b.action.address,
|
|
479
|
+
parameters: o ? b.action.buildParameters(void 0, a).args.at(0) || l : l
|
|
480
480
|
};
|
|
481
481
|
} else
|
|
482
|
-
d.parameters =
|
|
482
|
+
d.parameters = b.action.buildParameters(void 0, a).args.at(0) || l, d.instance = h(
|
|
483
483
|
a.config,
|
|
484
|
-
|
|
484
|
+
b.action.bases,
|
|
485
485
|
f
|
|
486
486
|
).address;
|
|
487
487
|
let n = {
|
|
@@ -489,17 +489,17 @@ const _ = class _ extends gf {
|
|
|
489
489
|
isBase: !0,
|
|
490
490
|
parameters: l
|
|
491
491
|
};
|
|
492
|
-
if (
|
|
493
|
-
const o =
|
|
492
|
+
if (b.validator.address) {
|
|
493
|
+
const o = b.validator.isBase;
|
|
494
494
|
n = {
|
|
495
495
|
isBase: o,
|
|
496
|
-
instance:
|
|
497
|
-
parameters: o ?
|
|
496
|
+
instance: b.validator.address,
|
|
497
|
+
parameters: o ? b.validator.buildParameters(void 0, a).args.at(0) || l : l
|
|
498
498
|
};
|
|
499
499
|
} else
|
|
500
|
-
n.parameters =
|
|
500
|
+
n.parameters = b.validator.buildParameters(void 0, a).args.at(0) || l, n.instance = h(
|
|
501
501
|
a.config,
|
|
502
|
-
|
|
502
|
+
b.validator.bases,
|
|
503
503
|
f
|
|
504
504
|
).address;
|
|
505
505
|
let i = {
|
|
@@ -507,26 +507,26 @@ const _ = class _ extends gf {
|
|
|
507
507
|
isBase: !0,
|
|
508
508
|
parameters: l
|
|
509
509
|
};
|
|
510
|
-
if (
|
|
511
|
-
const o =
|
|
510
|
+
if (b.allowList || (b.allowList = this.OpenAllowList()), b.allowList.address) {
|
|
511
|
+
const o = b.allowList.isBase;
|
|
512
512
|
i = {
|
|
513
513
|
isBase: o,
|
|
514
|
-
instance:
|
|
514
|
+
instance: b.allowList.address,
|
|
515
515
|
parameters: o ? l : l
|
|
516
516
|
};
|
|
517
517
|
} else
|
|
518
|
-
i.parameters =
|
|
518
|
+
i.parameters = b.allowList.buildParameters(void 0, a).args.at(0) || l, i.instance = h(
|
|
519
519
|
a.config,
|
|
520
|
-
|
|
520
|
+
b.allowList.bases,
|
|
521
521
|
f
|
|
522
522
|
).address;
|
|
523
|
-
const s =
|
|
523
|
+
const s = b.incentives.map(() => ({
|
|
524
524
|
instance: v,
|
|
525
525
|
isBase: !0,
|
|
526
526
|
parameters: l
|
|
527
527
|
}));
|
|
528
|
-
for (let o = 0; o <
|
|
529
|
-
const r =
|
|
528
|
+
for (let o = 0; o < b.incentives.length; o++) {
|
|
529
|
+
const r = b.incentives.at(o);
|
|
530
530
|
if (r.address) {
|
|
531
531
|
const u = r.isBase;
|
|
532
532
|
if (!u) throw new Nf(r);
|
|
@@ -548,9 +548,9 @@ const _ = class _ extends gf {
|
|
|
548
548
|
validator: n,
|
|
549
549
|
allowList: i,
|
|
550
550
|
incentives: s,
|
|
551
|
-
protocolFee:
|
|
552
|
-
maxParticipants:
|
|
553
|
-
owner:
|
|
551
|
+
protocolFee: b.protocolFee || 0n,
|
|
552
|
+
maxParticipants: b.maxParticipants || 0n,
|
|
553
|
+
owner: b.owner
|
|
554
554
|
};
|
|
555
555
|
}
|
|
556
556
|
/**
|
|
@@ -565,9 +565,9 @@ const _ = class _ extends gf {
|
|
|
565
565
|
* @param {?WriteParams} [params]
|
|
566
566
|
* @returns {Promise<void>}
|
|
567
567
|
*/
|
|
568
|
-
async claimIncentive(
|
|
568
|
+
async claimIncentive(e, f, b, a, c) {
|
|
569
569
|
return await this.awaitResult(
|
|
570
|
-
this.claimIncentiveRaw(
|
|
570
|
+
this.claimIncentiveRaw(e, f, b, a, c)
|
|
571
571
|
);
|
|
572
572
|
}
|
|
573
573
|
/**
|
|
@@ -582,7 +582,7 @@ const _ = class _ extends gf {
|
|
|
582
582
|
* @param {?WriteParams} [params]
|
|
583
583
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
584
584
|
*/
|
|
585
|
-
async claimIncentiveRaw(
|
|
585
|
+
async claimIncentiveRaw(e, f, b, a, c) {
|
|
586
586
|
const { request: d, result: n } = await V(
|
|
587
587
|
this._config,
|
|
588
588
|
{
|
|
@@ -591,7 +591,7 @@ const _ = class _ extends gf {
|
|
|
591
591
|
this.addresses,
|
|
592
592
|
c == null ? void 0 : c.chainId
|
|
593
593
|
),
|
|
594
|
-
args: [
|
|
594
|
+
args: [e, f, b, a],
|
|
595
595
|
...this.optionallyAttachAccount(),
|
|
596
596
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
597
597
|
...c
|
|
@@ -612,12 +612,12 @@ const _ = class _ extends gf {
|
|
|
612
612
|
* @param {?WriteParams} [params]
|
|
613
613
|
* @returns {Promise<void>}
|
|
614
614
|
*/
|
|
615
|
-
async claimIncentiveFor(
|
|
615
|
+
async claimIncentiveFor(e, f, b, a, c, d) {
|
|
616
616
|
return await this.awaitResult(
|
|
617
617
|
this.claimIncentiveForRaw(
|
|
618
|
-
b,
|
|
619
|
-
f,
|
|
620
618
|
e,
|
|
619
|
+
f,
|
|
620
|
+
b,
|
|
621
621
|
a,
|
|
622
622
|
c,
|
|
623
623
|
d
|
|
@@ -637,7 +637,7 @@ const _ = class _ extends gf {
|
|
|
637
637
|
* @param {?WriteParams} [params]
|
|
638
638
|
* @returns {Promise<{ hash: Hex; result: void; }>}
|
|
639
639
|
*/
|
|
640
|
-
async claimIncentiveForRaw(
|
|
640
|
+
async claimIncentiveForRaw(e, f, b, a, c, d) {
|
|
641
641
|
const { request: n, result: i } = await T(
|
|
642
642
|
this._config,
|
|
643
643
|
{
|
|
@@ -646,7 +646,7 @@ const _ = class _ extends gf {
|
|
|
646
646
|
this.addresses,
|
|
647
647
|
d == null ? void 0 : d.chainId
|
|
648
648
|
),
|
|
649
|
-
args: [
|
|
649
|
+
args: [e, f, b, a, c],
|
|
650
650
|
...this.optionallyAttachAccount(),
|
|
651
651
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
652
652
|
...d
|
|
@@ -664,11 +664,11 @@ const _ = class _ extends gf {
|
|
|
664
664
|
* @returns {Promise<RawBoost>}
|
|
665
665
|
* @throws {@link BoostNotFoundError}
|
|
666
666
|
*/
|
|
667
|
-
async readBoost(
|
|
668
|
-
var
|
|
667
|
+
async readBoost(e, f) {
|
|
668
|
+
var b;
|
|
669
669
|
try {
|
|
670
670
|
let a;
|
|
671
|
-
return typeof
|
|
671
|
+
return typeof e == "string" ? a = BigInt(e) : a = e, await q(this._config, {
|
|
672
672
|
...h(
|
|
673
673
|
this._config,
|
|
674
674
|
this.addresses,
|
|
@@ -680,7 +680,7 @@ const _ = class _ extends gf {
|
|
|
680
680
|
...f
|
|
681
681
|
});
|
|
682
682
|
} catch (a) {
|
|
683
|
-
throw (
|
|
683
|
+
throw (b = a == null ? void 0 : a.message) != null && b.includes("bounds") ? new Sf(String(e)) : a;
|
|
684
684
|
}
|
|
685
685
|
}
|
|
686
686
|
/**
|
|
@@ -693,10 +693,10 @@ const _ = class _ extends gf {
|
|
|
693
693
|
* @returns {Promise<Boost>}
|
|
694
694
|
* @throws {@link BoostNotFoundError}
|
|
695
695
|
*/
|
|
696
|
-
async getBoost(
|
|
697
|
-
let
|
|
698
|
-
typeof
|
|
699
|
-
const { protocolFee: a, maxParticipants: c, owner: d, ...n } = await this.readBoost(
|
|
696
|
+
async getBoost(e, f) {
|
|
697
|
+
let b;
|
|
698
|
+
typeof e == "string" ? b = BigInt(e) : b = e;
|
|
699
|
+
const { protocolFee: a, maxParticipants: c, owner: d, ...n } = await this.readBoost(b, f), i = {
|
|
700
700
|
config: this._config,
|
|
701
701
|
account: this._account
|
|
702
702
|
}, [s, w, g, o, r] = await Promise.all([
|
|
@@ -711,7 +711,7 @@ const _ = class _ extends gf {
|
|
|
711
711
|
)
|
|
712
712
|
]);
|
|
713
713
|
return new E({
|
|
714
|
-
id:
|
|
714
|
+
id: b,
|
|
715
715
|
action: s,
|
|
716
716
|
budget: w,
|
|
717
717
|
validator: g,
|
|
@@ -730,17 +730,17 @@ const _ = class _ extends gf {
|
|
|
730
730
|
* @param {?ReadParams} [params]
|
|
731
731
|
* @returns {Promise<bigint>}
|
|
732
732
|
*/
|
|
733
|
-
async getBoostCount(
|
|
733
|
+
async getBoostCount(e) {
|
|
734
734
|
return await z(this._config, {
|
|
735
735
|
...h(
|
|
736
736
|
this._config,
|
|
737
737
|
this.addresses,
|
|
738
|
-
|
|
738
|
+
e == null ? void 0 : e.chainId
|
|
739
739
|
),
|
|
740
740
|
args: [],
|
|
741
741
|
...this.optionallyAttachAccount(),
|
|
742
742
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
743
|
-
...
|
|
743
|
+
...e
|
|
744
744
|
});
|
|
745
745
|
}
|
|
746
746
|
/**
|
|
@@ -753,11 +753,11 @@ const _ = class _ extends gf {
|
|
|
753
753
|
* ReadParams} [params]
|
|
754
754
|
* @returns {Promise<boolean>}
|
|
755
755
|
*/
|
|
756
|
-
async isAuthorized(
|
|
757
|
-
const
|
|
756
|
+
async isAuthorized(e, f) {
|
|
757
|
+
const b = await this.createBoostAuth(f);
|
|
758
758
|
return W(this._config, {
|
|
759
|
-
address:
|
|
760
|
-
args: [
|
|
759
|
+
address: b,
|
|
760
|
+
args: [e],
|
|
761
761
|
...this.optionallyAttachAccount(),
|
|
762
762
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
763
763
|
...f
|
|
@@ -771,17 +771,17 @@ const _ = class _ extends gf {
|
|
|
771
771
|
* @param {?ReadParams} [params]
|
|
772
772
|
* @returns {Promise<Address>}
|
|
773
773
|
*/
|
|
774
|
-
async createBoostAuth(
|
|
774
|
+
async createBoostAuth(e) {
|
|
775
775
|
return await G(this._config, {
|
|
776
776
|
...h(
|
|
777
777
|
this._config,
|
|
778
778
|
this.addresses,
|
|
779
|
-
|
|
779
|
+
e == null ? void 0 : e.chainId
|
|
780
780
|
),
|
|
781
781
|
args: [],
|
|
782
782
|
...this.optionallyAttachAccount(),
|
|
783
783
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
784
|
-
...
|
|
784
|
+
...e
|
|
785
785
|
});
|
|
786
786
|
}
|
|
787
787
|
/**
|
|
@@ -793,9 +793,9 @@ const _ = class _ extends gf {
|
|
|
793
793
|
* @param {?WriteParams} [params]
|
|
794
794
|
* @returns {Promise<void>}
|
|
795
795
|
*/
|
|
796
|
-
async setCreateBoostAuth(
|
|
796
|
+
async setCreateBoostAuth(e, f) {
|
|
797
797
|
return await this.awaitResult(
|
|
798
|
-
this.setCreateBoostAuthRaw(
|
|
798
|
+
this.setCreateBoostAuthRaw(e.assertValidAddress(), {
|
|
799
799
|
...f
|
|
800
800
|
})
|
|
801
801
|
);
|
|
@@ -809,8 +809,8 @@ const _ = class _ extends gf {
|
|
|
809
809
|
* @param {?WriteParams} [params]
|
|
810
810
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
811
811
|
*/
|
|
812
|
-
async setCreateBoostAuthRaw(
|
|
813
|
-
const { request:
|
|
812
|
+
async setCreateBoostAuthRaw(e, f) {
|
|
813
|
+
const { request: b, result: a } = await U(
|
|
814
814
|
this._config,
|
|
815
815
|
{
|
|
816
816
|
...h(
|
|
@@ -818,13 +818,13 @@ const _ = class _ extends gf {
|
|
|
818
818
|
this.addresses,
|
|
819
819
|
f == null ? void 0 : f.chainId
|
|
820
820
|
),
|
|
821
|
-
args: [
|
|
821
|
+
args: [e],
|
|
822
822
|
...this.optionallyAttachAccount(),
|
|
823
823
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
824
824
|
...f
|
|
825
825
|
}
|
|
826
826
|
);
|
|
827
|
-
return { hash: await k(this._config,
|
|
827
|
+
return { hash: await k(this._config, b), result: a };
|
|
828
828
|
}
|
|
829
829
|
/**
|
|
830
830
|
* Get the protocol fee.
|
|
@@ -834,17 +834,17 @@ const _ = class _ extends gf {
|
|
|
834
834
|
* @param {?ReadParams} [params]
|
|
835
835
|
* @returns {unknown}
|
|
836
836
|
*/
|
|
837
|
-
async protocolFee(
|
|
837
|
+
async protocolFee(e) {
|
|
838
838
|
return await H(this._config, {
|
|
839
839
|
...h(
|
|
840
840
|
this._config,
|
|
841
841
|
this.addresses,
|
|
842
|
-
|
|
842
|
+
e == null ? void 0 : e.chainId
|
|
843
843
|
),
|
|
844
844
|
args: [],
|
|
845
845
|
...this.optionallyAttachAccount(),
|
|
846
846
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
847
|
-
...
|
|
847
|
+
...e
|
|
848
848
|
});
|
|
849
849
|
}
|
|
850
850
|
/**
|
|
@@ -855,17 +855,17 @@ const _ = class _ extends gf {
|
|
|
855
855
|
* @param {?ReadParams} [params]
|
|
856
856
|
* @returns {Promise<Address>}
|
|
857
857
|
*/
|
|
858
|
-
async protocolFeeReceiver(
|
|
858
|
+
async protocolFeeReceiver(e) {
|
|
859
859
|
return await J(this._config, {
|
|
860
860
|
...h(
|
|
861
861
|
this._config,
|
|
862
862
|
this.addresses,
|
|
863
|
-
|
|
863
|
+
e == null ? void 0 : e.chainId
|
|
864
864
|
),
|
|
865
865
|
args: [],
|
|
866
866
|
...this.optionallyAttachAccount(),
|
|
867
867
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
868
|
-
...
|
|
868
|
+
...e
|
|
869
869
|
});
|
|
870
870
|
}
|
|
871
871
|
/**
|
|
@@ -877,9 +877,9 @@ const _ = class _ extends gf {
|
|
|
877
877
|
* @param {?WriteParams} [params]
|
|
878
878
|
* @returns {Promise<void>}
|
|
879
879
|
*/
|
|
880
|
-
async setProcolFeeReceiver(
|
|
880
|
+
async setProcolFeeReceiver(e, f) {
|
|
881
881
|
return await this.awaitResult(
|
|
882
|
-
this.setProcolFeeReceiverRaw(
|
|
882
|
+
this.setProcolFeeReceiverRaw(e, {
|
|
883
883
|
...f
|
|
884
884
|
})
|
|
885
885
|
);
|
|
@@ -893,8 +893,8 @@ const _ = class _ extends gf {
|
|
|
893
893
|
* @param {?WriteParams} [params]
|
|
894
894
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
895
895
|
*/
|
|
896
|
-
async setProcolFeeReceiverRaw(
|
|
897
|
-
const { request:
|
|
896
|
+
async setProcolFeeReceiverRaw(e, f) {
|
|
897
|
+
const { request: b, result: a } = await K(
|
|
898
898
|
this._config,
|
|
899
899
|
{
|
|
900
900
|
...h(
|
|
@@ -902,7 +902,7 @@ const _ = class _ extends gf {
|
|
|
902
902
|
this.addresses,
|
|
903
903
|
f == null ? void 0 : f.chainId
|
|
904
904
|
),
|
|
905
|
-
args: [
|
|
905
|
+
args: [e],
|
|
906
906
|
...this.optionallyAttachAccount(),
|
|
907
907
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
908
908
|
...f
|
|
@@ -910,7 +910,7 @@ const _ = class _ extends gf {
|
|
|
910
910
|
);
|
|
911
911
|
return { hash: await Q(
|
|
912
912
|
this._config,
|
|
913
|
-
|
|
913
|
+
b
|
|
914
914
|
), result: a };
|
|
915
915
|
}
|
|
916
916
|
/**
|
|
@@ -936,9 +936,9 @@ const _ = class _ extends gf {
|
|
|
936
936
|
* }
|
|
937
937
|
* ```
|
|
938
938
|
*/
|
|
939
|
-
async getClaimFromTransaction(
|
|
939
|
+
async getClaimFromTransaction(e) {
|
|
940
940
|
var a;
|
|
941
|
-
const f = await ff(this._config,
|
|
941
|
+
const f = await ff(this._config, e);
|
|
942
942
|
return (a = P({
|
|
943
943
|
abi: C,
|
|
944
944
|
eventName: "BoostClaimed",
|
|
@@ -968,9 +968,9 @@ const _ = class _ extends gf {
|
|
|
968
968
|
* @param {?ReadParams} [params]
|
|
969
969
|
* @returns {Promise<void>}
|
|
970
970
|
*/
|
|
971
|
-
async calculateProtocolFee(
|
|
972
|
-
const
|
|
973
|
-
return
|
|
971
|
+
async calculateProtocolFee(e, f) {
|
|
972
|
+
const b = await this.protocolFee(f);
|
|
973
|
+
return e * b / Kf;
|
|
974
974
|
}
|
|
975
975
|
/**
|
|
976
976
|
* Bound {@link PassthroughAuth} constructor that reuses the same configuration as the Boost Core instance.
|
|
@@ -983,10 +983,10 @@ const _ = class _ extends gf {
|
|
|
983
983
|
* @param {Address} address
|
|
984
984
|
* @returns {PassthroughAuth}
|
|
985
985
|
*/
|
|
986
|
-
PassthroughAuth(
|
|
986
|
+
PassthroughAuth(e) {
|
|
987
987
|
return new rf(
|
|
988
988
|
{ config: this._config, account: this._account },
|
|
989
|
-
|
|
989
|
+
e
|
|
990
990
|
);
|
|
991
991
|
}
|
|
992
992
|
// /**
|
|
@@ -1019,10 +1019,10 @@ const _ = class _ extends gf {
|
|
|
1019
1019
|
* const action = core.EventAction('0x') // is roughly equivalent to
|
|
1020
1020
|
* const action = new EventAction({ config: core._config, account: core._account }, '0x')
|
|
1021
1021
|
*/
|
|
1022
|
-
EventAction(
|
|
1022
|
+
EventAction(e, f) {
|
|
1023
1023
|
return new cf(
|
|
1024
1024
|
{ config: this._config, account: this._account },
|
|
1025
|
-
|
|
1025
|
+
e,
|
|
1026
1026
|
f
|
|
1027
1027
|
);
|
|
1028
1028
|
}
|
|
@@ -1059,11 +1059,11 @@ const _ = class _ extends gf {
|
|
|
1059
1059
|
* @param {?boolean} [isBase]
|
|
1060
1060
|
* @returns {OpenAllowList}
|
|
1061
1061
|
*/
|
|
1062
|
-
OpenAllowList(
|
|
1062
|
+
OpenAllowList(e) {
|
|
1063
1063
|
return new nf(
|
|
1064
1064
|
{ config: this._config, account: this._account },
|
|
1065
1065
|
void 0,
|
|
1066
|
-
|
|
1066
|
+
e
|
|
1067
1067
|
);
|
|
1068
1068
|
}
|
|
1069
1069
|
/**
|
|
@@ -1078,10 +1078,10 @@ const _ = class _ extends gf {
|
|
|
1078
1078
|
* @param {?boolean} [isBase]
|
|
1079
1079
|
* @returns {SimpleAllowList}
|
|
1080
1080
|
*/
|
|
1081
|
-
SimpleAllowList(
|
|
1081
|
+
SimpleAllowList(e, f) {
|
|
1082
1082
|
return new sf(
|
|
1083
1083
|
{ config: this._config, account: this._account },
|
|
1084
|
-
|
|
1084
|
+
e,
|
|
1085
1085
|
f
|
|
1086
1086
|
);
|
|
1087
1087
|
}
|
|
@@ -1097,10 +1097,10 @@ const _ = class _ extends gf {
|
|
|
1097
1097
|
* @param {?boolean} [isBase]
|
|
1098
1098
|
* @returns {SimpleDenyList}
|
|
1099
1099
|
*/
|
|
1100
|
-
SimpleDenyList(
|
|
1100
|
+
SimpleDenyList(e, f) {
|
|
1101
1101
|
return new of(
|
|
1102
1102
|
{ config: this._config, account: this._account },
|
|
1103
|
-
|
|
1103
|
+
e,
|
|
1104
1104
|
f
|
|
1105
1105
|
);
|
|
1106
1106
|
}
|
|
@@ -1132,10 +1132,10 @@ const _ = class _ extends gf {
|
|
|
1132
1132
|
* @param {DeployablePayloadOrAddress<ManagedBudgetPayload>} options
|
|
1133
1133
|
* @returns {ManagedBudget}
|
|
1134
1134
|
*/
|
|
1135
|
-
ManagedBudget(
|
|
1135
|
+
ManagedBudget(e) {
|
|
1136
1136
|
return new hf(
|
|
1137
1137
|
{ config: this._config, account: this._account },
|
|
1138
|
-
|
|
1138
|
+
e
|
|
1139
1139
|
);
|
|
1140
1140
|
}
|
|
1141
1141
|
/**
|
|
@@ -1150,10 +1150,10 @@ const _ = class _ extends gf {
|
|
|
1150
1150
|
* @param {DeployablePayloadOrAddress<ManagedBudgetWithFeesPayload>} options
|
|
1151
1151
|
* @returns {ManagedBudgetWithFees}
|
|
1152
1152
|
*/
|
|
1153
|
-
ManagedBudgetWithFees(
|
|
1154
|
-
return typeof
|
|
1153
|
+
ManagedBudgetWithFees(e) {
|
|
1154
|
+
return typeof e != "string" && (e.authorized = [this.assertValidAddress(), ...e.authorized], e.roles = [wf.MANAGER, ...e.roles]), new lf(
|
|
1155
1155
|
{ config: this._config, account: this._account },
|
|
1156
|
-
|
|
1156
|
+
e
|
|
1157
1157
|
);
|
|
1158
1158
|
}
|
|
1159
1159
|
// /**
|
|
@@ -1184,10 +1184,10 @@ const _ = class _ extends gf {
|
|
|
1184
1184
|
* @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options
|
|
1185
1185
|
* @returns {VestingBudget}
|
|
1186
1186
|
*/
|
|
1187
|
-
AllowListIncentive(
|
|
1187
|
+
AllowListIncentive(e) {
|
|
1188
1188
|
return new vf(
|
|
1189
1189
|
{ config: this._config, account: this._account },
|
|
1190
|
-
|
|
1190
|
+
e
|
|
1191
1191
|
);
|
|
1192
1192
|
}
|
|
1193
1193
|
/**
|
|
@@ -1201,10 +1201,10 @@ const _ = class _ extends gf {
|
|
|
1201
1201
|
* @param {CGDAIncentivePayload} options
|
|
1202
1202
|
* @returns {CGDAIncentive}
|
|
1203
1203
|
*/
|
|
1204
|
-
CGDAIncentive(
|
|
1204
|
+
CGDAIncentive(e) {
|
|
1205
1205
|
return new mf(
|
|
1206
1206
|
{ config: this._config, account: this._account },
|
|
1207
|
-
|
|
1207
|
+
e
|
|
1208
1208
|
);
|
|
1209
1209
|
}
|
|
1210
1210
|
/**
|
|
@@ -1218,10 +1218,10 @@ const _ = class _ extends gf {
|
|
|
1218
1218
|
* @param {ERC20IncentivePayload} options
|
|
1219
1219
|
* @returns {ERC20Incentive}
|
|
1220
1220
|
*/
|
|
1221
|
-
ERC20Incentive(
|
|
1221
|
+
ERC20Incentive(e) {
|
|
1222
1222
|
return new Cf(
|
|
1223
1223
|
{ config: this._config, account: this._account },
|
|
1224
|
-
|
|
1224
|
+
e
|
|
1225
1225
|
);
|
|
1226
1226
|
}
|
|
1227
1227
|
/**
|
|
@@ -1235,10 +1235,10 @@ const _ = class _ extends gf {
|
|
|
1235
1235
|
* @param {ERC20PeggedIncentivePayload} options
|
|
1236
1236
|
* @returns {ERC20PeggedIncentive}
|
|
1237
1237
|
*/
|
|
1238
|
-
ERC20PeggedIncentive(
|
|
1238
|
+
ERC20PeggedIncentive(e) {
|
|
1239
1239
|
return new If(
|
|
1240
1240
|
{ config: this._config, account: this._account },
|
|
1241
|
-
|
|
1241
|
+
e
|
|
1242
1242
|
);
|
|
1243
1243
|
}
|
|
1244
1244
|
// /**
|
|
@@ -1271,10 +1271,10 @@ const _ = class _ extends gf {
|
|
|
1271
1271
|
* @param {PointsIncentivePayload} options
|
|
1272
1272
|
* @returns {PointsIncentive}
|
|
1273
1273
|
*/
|
|
1274
|
-
PointsIncentive(
|
|
1274
|
+
PointsIncentive(e) {
|
|
1275
1275
|
return new _f(
|
|
1276
1276
|
{ config: this._config, account: this._account },
|
|
1277
|
-
|
|
1277
|
+
e
|
|
1278
1278
|
);
|
|
1279
1279
|
}
|
|
1280
1280
|
/**
|
|
@@ -1289,10 +1289,10 @@ const _ = class _ extends gf {
|
|
|
1289
1289
|
* @param {?boolean} [isBase]
|
|
1290
1290
|
* @returns {SignerValidator}
|
|
1291
1291
|
*/
|
|
1292
|
-
SignerValidator(
|
|
1292
|
+
SignerValidator(e, f) {
|
|
1293
1293
|
return new Bf(
|
|
1294
1294
|
{ config: this._config, account: this._account },
|
|
1295
|
-
|
|
1295
|
+
e,
|
|
1296
1296
|
f
|
|
1297
1297
|
);
|
|
1298
1298
|
}
|
|
@@ -1308,10 +1308,10 @@ const _ = class _ extends gf {
|
|
|
1308
1308
|
* @param {?boolean} [isBase]
|
|
1309
1309
|
* @returns {LimitedSignerValidator}
|
|
1310
1310
|
*/
|
|
1311
|
-
LimitedSignerValidator(
|
|
1311
|
+
LimitedSignerValidator(e, f) {
|
|
1312
1312
|
return new Pf(
|
|
1313
1313
|
{ config: this._config, account: this._account },
|
|
1314
|
-
|
|
1314
|
+
e,
|
|
1315
1315
|
f
|
|
1316
1316
|
);
|
|
1317
1317
|
}
|
|
@@ -1327,10 +1327,10 @@ const _ = class _ extends gf {
|
|
|
1327
1327
|
* @param {?boolean} [isBase]
|
|
1328
1328
|
* @returns {ERC20VariableCrtieriaIncentive}
|
|
1329
1329
|
* */
|
|
1330
|
-
ERC20VariableCriteriaIncentive(
|
|
1330
|
+
ERC20VariableCriteriaIncentive(e, f) {
|
|
1331
1331
|
return new yf(
|
|
1332
1332
|
{ config: this._config, account: this._account },
|
|
1333
|
-
|
|
1333
|
+
e,
|
|
1334
1334
|
f
|
|
1335
1335
|
);
|
|
1336
1336
|
}
|
|
@@ -1346,10 +1346,10 @@ const _ = class _ extends gf {
|
|
|
1346
1346
|
* @param {?boolean} [isBase]
|
|
1347
1347
|
* @returns {ERC20VariableIncentive}
|
|
1348
1348
|
*/
|
|
1349
|
-
ERC20VariableIncentive(
|
|
1349
|
+
ERC20VariableIncentive(e, f) {
|
|
1350
1350
|
return new Mf(
|
|
1351
1351
|
{ config: this._config, account: this._account },
|
|
1352
|
-
|
|
1352
|
+
e,
|
|
1353
1353
|
f
|
|
1354
1354
|
);
|
|
1355
1355
|
}
|
|
@@ -1361,15 +1361,15 @@ const _ = class _ extends gf {
|
|
|
1361
1361
|
* @param {?DeployableOptions} [_options]
|
|
1362
1362
|
* @returns {GenericDeployableParams}
|
|
1363
1363
|
*/
|
|
1364
|
-
buildParameters(
|
|
1365
|
-
const [
|
|
1366
|
-
|
|
1364
|
+
buildParameters(e, f) {
|
|
1365
|
+
const [b, a] = this.validateDeploymentConfig(
|
|
1366
|
+
e,
|
|
1367
1367
|
f
|
|
1368
1368
|
);
|
|
1369
1369
|
return {
|
|
1370
1370
|
abi: C,
|
|
1371
1371
|
bytecode: Tf,
|
|
1372
|
-
args:
|
|
1372
|
+
args: b,
|
|
1373
1373
|
...this.optionallyAttachAccount(a.account)
|
|
1374
1374
|
};
|
|
1375
1375
|
}
|