@boostxyz/sdk 4.0.0 → 5.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.
Files changed (78) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +1 -1
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.js +16 -16
  5. package/dist/AllowLists/AllowList.cjs +1 -1
  6. package/dist/AllowLists/AllowList.js +2 -2
  7. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  8. package/dist/AllowLists/SimpleAllowList.js +7 -7
  9. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  10. package/dist/AllowLists/SimpleDenyList.js +3 -3
  11. package/dist/Auth/PassthroughAuth.cjs +1 -1
  12. package/dist/Auth/PassthroughAuth.js +1 -1
  13. package/dist/BoostCore.cjs +2 -2
  14. package/dist/BoostCore.cjs.map +1 -1
  15. package/dist/BoostCore.d.ts +20 -0
  16. package/dist/BoostCore.d.ts.map +1 -1
  17. package/dist/BoostCore.js +218 -218
  18. package/dist/BoostRegistry.cjs +1 -1
  19. package/dist/BoostRegistry.js +4 -4
  20. package/dist/{Budget-Dlbk4PdV.cjs → Budget-Cnyh81n5.cjs} +2 -2
  21. package/dist/{Budget-Dlbk4PdV.cjs.map → Budget-Cnyh81n5.cjs.map} +1 -1
  22. package/dist/{Budget-DxACEu9b.js → Budget-fHCvlPfB.js} +48 -48
  23. package/dist/{Budget-DxACEu9b.js.map → Budget-fHCvlPfB.js.map} +1 -1
  24. package/dist/Budgets/Budget.cjs +1 -1
  25. package/dist/Budgets/Budget.js +2 -2
  26. package/dist/Budgets/ManagedBudget.cjs +1 -1
  27. package/dist/Budgets/ManagedBudget.js +22 -22
  28. package/dist/Deployable/DeployableTarget.cjs +1 -1
  29. package/dist/Deployable/DeployableTarget.js +1 -1
  30. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  31. package/dist/Deployable/DeployableTargetWithRBAC.js +16 -16
  32. package/dist/{Incentive-BYhx7lTb.js → Incentive-M45PaQsT.js} +32 -32
  33. package/dist/{Incentive-BYhx7lTb.js.map → Incentive-M45PaQsT.js.map} +1 -1
  34. package/dist/{Incentive-Dq77dxww.cjs → Incentive-axLU7ndr.cjs} +2 -2
  35. package/dist/{Incentive-Dq77dxww.cjs.map → Incentive-axLU7ndr.cjs.map} +1 -1
  36. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  37. package/dist/Incentives/AllowListIncentive.js +3 -3
  38. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  39. package/dist/Incentives/CGDAIncentive.js +10 -10
  40. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  41. package/dist/Incentives/ERC20Incentive.js +16 -16
  42. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  43. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +2 -2
  44. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  45. package/dist/Incentives/ERC20VariableIncentive.js +4 -4
  46. package/dist/Incentives/Incentive.cjs +1 -1
  47. package/dist/Incentives/Incentive.js +2 -2
  48. package/dist/Incentives/PointsIncentive.cjs +1 -1
  49. package/dist/Incentives/PointsIncentive.js +11 -11
  50. package/dist/{SimpleDenyList-gR_yuuLp.cjs → SimpleDenyList-CgQvS1ek.cjs} +2 -2
  51. package/dist/{SimpleDenyList-gR_yuuLp.cjs.map → SimpleDenyList-CgQvS1ek.cjs.map} +1 -1
  52. package/dist/{SimpleDenyList-DGr4ekN1.js → SimpleDenyList-GZlSeh2G.js} +15 -15
  53. package/dist/{SimpleDenyList-DGr4ekN1.js.map → SimpleDenyList-GZlSeh2G.js.map} +1 -1
  54. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  55. package/dist/Validators/LimitedSignerValidator.js +8 -8
  56. package/dist/Validators/SignerValidator.cjs +1 -1
  57. package/dist/Validators/SignerValidator.js +5 -5
  58. package/dist/Validators/Validator.cjs +1 -1
  59. package/dist/Validators/Validator.js +1 -1
  60. package/dist/deployments-CMdsItcq.cjs +2 -0
  61. package/dist/deployments-CMdsItcq.cjs.map +1 -0
  62. package/dist/deployments-DzhmI-zL.js +102 -0
  63. package/dist/deployments-DzhmI-zL.js.map +1 -0
  64. package/dist/deployments.json +48 -48
  65. package/dist/generated-CNkDfjzI.cjs +3 -0
  66. package/dist/generated-CNkDfjzI.cjs.map +1 -0
  67. package/dist/{generated-BhRjnVvd.js → generated-Hbd0NIf9.js} +140 -126
  68. package/dist/generated-Hbd0NIf9.js.map +1 -0
  69. package/dist/index.cjs +1 -1
  70. package/dist/index.js +11 -11
  71. package/package.json +1 -1
  72. package/dist/deployments-BBL2DHhq.js +0 -102
  73. package/dist/deployments-BBL2DHhq.js.map +0 -1
  74. package/dist/deployments-j7kUxPuV.cjs +0 -2
  75. package/dist/deployments-j7kUxPuV.cjs.map +0 -1
  76. package/dist/generated-BhRjnVvd.js.map +0 -1
  77. package/dist/generated-BscUK6fP.cjs +0 -3
  78. package/dist/generated-BscUK6fP.cjs.map +0 -1
package/dist/BoostCore.js CHANGED
@@ -1,40 +1,40 @@
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";
1
+ import { g as C, c3 as j, c4 as x, c5 as V, c6 as T, c7 as p, c8 as q, c9 as z, ca as G, cb as U, cc as k, cd as W, ce as H, cf as J, cg as K, ch as Q } from "./generated-Hbd0NIf9.js";
2
2
  import { waitForTransactionReceipt as X, getAccount as Y, getChains as Z, getTransactionReceipt as ff } from "@wagmi/core";
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";
3
+ import { createClient as bf, custom as ef, zeroAddress as v, parseEventLogs as P, zeroHash as l } from "viem";
4
+ import { g as af } from "./deployments-DzhmI-zL.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-DGr4ekN1.js";
9
+ import { S as of } from "./SimpleDenyList-GZlSeh2G.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-DxACEu9b.js";
12
+ import { b as uf, M as lf } from "./Budget-fHCvlPfB.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-BYhx7lTb.js";
19
+ import { i as Af, E as If } from "./Incentive-M45PaQsT.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";
23
23
  import { SignerValidator as Bf } from "./Validators/SignerValidator.js";
24
24
  import { BoostValidatorEOA as R, validatorFromAddress as Ef } from "./Validators/Validator.js";
25
- import { BoostCoreNoIdentifierEmitted as Rf, DeployableUnknownOwnerProvidedError as Ff, InvalidProtocolChainIdError as Lf, BudgetMustAuthorizeBoostCore as Df, MustInitializeBudgetError as Of, IncentiveNotCloneableError as Nf, BoostNotFoundError as Sf } from "./errors.js";
25
+ import { BoostCoreNoIdentifierEmitted as Rf, DeployableUnknownOwnerProvidedError as Ff, InvalidProtocolChainIdError as Lf, BudgetMustAuthorizeBoostCore as Df, MustInitializeBudgetError as Nf, IncentiveNotCloneableError as Of, BoostNotFoundError as Sf } from "./errors.js";
26
26
  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
- import { parseAccount as Vf, getAddress as xf } from "viem/utils";
30
- const Tf = "0x60806040526103e8600460146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561003a575f80fd5b506040516155c63803806155c6833981810160405281019061005c919061026c565b61006b816100f360201b60201c565b8260015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506102bc565b6101016101cf60201b60201c565b15610179577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561013b57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101cc565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610200826101d7565b9050919050565b5f610211826101f6565b9050919050565b61022181610207565b811461022b575f80fd5b50565b5f8151905061023c81610218565b92915050565b61024b816101f6565b8114610255575f80fd5b50565b5f8151905061026681610242565b92915050565b5f805f60608486031215610283576102826101d3565b5b5f6102908682870161022e565b93505060206102a186828701610258565b92505060406102b286828701610258565b9150509250925092565b6152fd806102c95f395ff3fe608060405260043610610180575f3560e01c80637b103999116100d0578063dd98558c11610089578063f04e283e11610063578063f04e283e146104e3578063f2fde38b146104ff578063fee81cf41461051b578063fefceca91461055757610180565b8063dd98558c14610442578063e21ff7311461047f578063eccc19a6146104bb57610180565b80637b103999146103545780638da5cb5b1461037e5780638fe4f523146103a8578063a92647dc146103c4578063b0e21e8a146103ee578063d73792a91461041857610180565b806346877b1a1161013d5780635edb9eb0116101175780635edb9eb0146102dc5780635f32c23e14610306578063715018a61461032e578063730f9c571461033857610180565b806346877b1a146102805780635045b866146102a857806354d1f13d146102d257610180565b806313c8e2de14610184578063219f71f0146101c057806325692962146101e8578063346339d5146101f257806339a51be51461022e57806343bc42d314610258575b5f80fd5b34801561018f575f80fd5b506101aa60048036038101906101a59190613a2f565b610597565b6040516101b79190613d0b565b60405180910390f35b3480156101cb575f80fd5b506101e660048036038101906101e19190613d55565b61083f565b005b6101f061088a565b005b3480156101fd575f80fd5b5061021860048036038101906102139190613db3565b6108db565b6040516102259190613eb7565b60405180910390f35b348015610239575f80fd5b506102426109b2565b60405161024f9190613edf565b60405180910390f35b348015610263575f80fd5b5061027e60048036038101906102799190613f22565b6109d7565b005b34801561028b575f80fd5b506102a660048036038101906102a19190613d55565b610a0b565b005b3480156102b3575f80fd5b506102bc610a56565b6040516102c99190613edf565b60405180910390f35b6102da610a7b565b005b3480156102e7575f80fd5b506102f0610ab4565b6040516102fd9190613f5c565b60405180910390f35b348015610311575f80fd5b5061032c60048036038101906103279190613f75565b610abf565b005b610336610c4b565b005b610352600480360381019061034d9190614014565b610c5e565b005b34801561035f575f80fd5b506103686111a1565b60405161037591906140ca565b60405180910390f35b348015610389575f80fd5b506103926111c6565b60405161039f9190613edf565b60405180910390f35b6103c260048036038101906103bd91906140e3565b6111ee565b005b3480156103cf575f80fd5b506103d8611203565b6040516103e59190614187565b60405180910390f35b3480156103f9575f80fd5b50610402611228565b60405161040f91906141af565b60405180910390f35b348015610423575f80fd5b5061042c611242565b60405161043991906141af565b60405180910390f35b34801561044d575f80fd5b50610468600480360381019061046391906141c8565b611248565b604051610476929190614239565b60405180910390f35b34801561048a575f80fd5b506104a560048036038101906104a09190614260565b61192e565b6040516104b29190613d0b565b60405180910390f35b3480156104c6575f80fd5b506104e160048036038101906104dc9190613d55565b612533565b005b6104fd60048036038101906104f89190613d55565b61257e565b005b61051960048036038101906105149190613d55565b6125bc565b005b348015610526575f80fd5b50610541600480360381019061053c9190613d55565b6125e5565b60405161054e9190613f5c565b60405180910390f35b348015610562575f80fd5b5061057d60048036038101906105789190613db3565b6125fe565b60405161058e9594939291906142ba565b60405180910390f35b61059f613841565b5f82815481106105b2576105b161430b565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561079f57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610756575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b61084761265b565b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f610893612692565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6108e36138f7565b60055f8381526020019081526020015f206040518060a00160405290815f82015f9054906101000a900460ff16600281111561092257610921613dde565b5b600281111561093457610933613dde565b5b81526020015f820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820154815250509050919050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109df61265b565b80600460146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b610a1361265b565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b3068929eee149b4bd212685403610add5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f610af4838361269c565b90505f60055f8381526020019081526020015f2090505f816002015461271067ffffffffffffffff168360010154610b2c9190614365565b610b3691906143d3565b90505f610b42836126ce565b905081811115610c37575f8282610b599190614403565b90505f61271067ffffffffffffffff16856002015483610b799190614365565b610b8391906143d3565b9050610b8f85826128d4565b80856001015410610bb95780856001015f828254610bad9190614403565b92505081905550610bc3565b5f85600101819055505b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1687897f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051610c2c9190613f5c565b60405180910390a450505b505050503868929eee149b4bd21268555050565b610c5361265b565b610c5c5f612ab5565b565b3068929eee149b4bd212685403610c7c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110610c9c57610c9b61430b565b5b905f5260205f20906008020190505f610cb5888861269c565b90505f60055f8381526020019081526020015f209050826002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de8588886040518463ffffffff1660e01b8152600401610d2b93929190614490565b602060405180830381865afa158015610d46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6a91906144f5565b610da0576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b6900348b8b888b8b6040518763ffffffff1660e01b8152600401610e05959493929190614520565b60206040518083038185885af1158015610e21573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e4691906144f5565b610e7c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16825f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610ed9575f610ee3565b610ee2826126ce565b5b9050836004018981548110610efb57610efa61430b565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb1757cf8689896040518463ffffffff1660e01b8152600401610f5f93929190614490565b6020604051808303815f875af1158015610f7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f9f91906144f5565b610fe4578487876040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610fdb93929190614490565b60405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611041575f61104b565b61104a836126ce565b5b90505f81831161105b575f611068565b81836110679190614403565b5b90505f61271067ffffffffffffffff168560020154836110889190614365565b61109291906143d3565b90505f811115611132576110a685826128d4565b80856001015f8282546110b99190614403565b9250508190555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168c8e7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516111299190613f5c565b60405180910390a45b8773ffffffffffffffffffffffffffffffffffffffff168c8e7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478e8e8e60405161117e93929190614490565b60405180910390a4505050505050503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6111fc858585858533610c5e565b5050505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460149054906101000a900467ffffffffffffffff1681565b61271081565b5f803068929eee149b4bd2126854036112685763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8085815481106112885761128761430b565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561147557602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161142c575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050806060015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611579576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611584868661269c565b90505f60055f8381526020019081526020015f2090505f89898101906115aa91906146f7565b90505f81602001518060200190518101906115c59190614752565b90505f61271067ffffffffffffffff168460020154836115e59190614365565b6115ef91906143d3565b90505f8111156117ee576001600281111561160d5761160c613dde565b5b845f015f9054906101000a900460ff16600281111561162f5761162e613dde565b5b148061166d57505f600281111561164957611648613dde565b5b845f015f9054906101000a900460ff16600281111561166b5761166a613dde565b5b145b156116c8576116c3835f015182865f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612b7b9092919063ffffffff16565b61179a565b6002808111156116db576116da613dde565b5b845f015f9054906101000a900460ff1660028111156116fd576116fc613dde565b5b0361179957835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30855f01518760030154856040518563ffffffff1660e01b815260040161176b94939291906147a0565b5f604051808303815f87803b158015611782575f80fd5b505af1158015611794573d5f803e3d5ffd5b505050505b5b825f015173ffffffffffffffffffffffffffffffffffffffff16898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516117e59190613f5c565b60405180910390a45b5f8087608001518b815181106118075761180661430b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663474f5a448660405160200161183b9190614890565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161186691906148e8565b60408051808303815f875af1158015611881573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a5919061491c565b915091505f82036118f157338e8e6040517f9ecd71a90000000000000000000000000000000000000000000000000000000081526004016118e893929190614490565b60405180910390fd5b82866001015f8282546119049190614403565b9250508190555081819950995050505050505050503868929eee149b4bd212685594509492505050565b611936613841565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015611a2a575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b81526004016119e99190613edf565b602060405180830381865afa158015611a04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a2891906144f5565b155b15611a61576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd212685403611a7f5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f611ad885858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050612bc4565b806020019051810190611aeb9190614cba565b9050611af9815f0151612c5d565b5f8060018160018154018082558091505003905f5260205f20906008020190508160e00151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611c23578160a00151600460149054906101000a900467ffffffffffffffff16611c1e9190614d01565b611cce565b8160a0015160045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b1539a6b88886040518363ffffffff1660e01b8152600401611c84929190614d3c565b602060405180830381865afa158015611c9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cc39190614d5e565b611ccd9190614d01565b5b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c001518160060181905550611d347fe67157950000000000000000000000000000000000000000000000000000000083602001516001612d38565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611da47fe2089f790000000000000000000000000000000000000000000000000000000083606001516001612d38565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8073ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611e40575f611edc565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7f1ecff88886040518363ffffffff1660e01b8152600401611e9c929190614d3c565b602060405180830381865afa158015611eb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611edb9190614d89565b5b9050611f088360800151845f0151846005015f9054906101000a900467ffffffffffffffff1684612d5a565b826004019080519060200190611f1f929190613949565b505f73ffffffffffffffffffffffffffffffffffffffff1683604001516020015173ffffffffffffffffffffffffffffffffffffffff1614611f9057611f8b7f5912b89c0000000000000000000000000000000000000000000000000000000084604001516001612d38565b612079565b815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161200b9190614dee565b602060405180830381865afa158015612026573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061204a91906144f5565b612054575f612078565b815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b826001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff16826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361216f577f5912b89c000000000000000000000000000000000000000000000000000000005f6040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401612166929190614e07565b60405180910390fd5b815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f805490506121f39190614403565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8560040180549050866001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516122989493929190614e2e565b60405180910390a481604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561248257602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612439575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505094505050503868929eee149b4bd21268555092915050565b61253b61265b565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61258661265b565b63389a75e1600c52805f526020600c2080544211156125ac57636f5e88185f526004601cfd5b5f8155506125b981612ab5565b50565b6125c461265b565b8060601b6125d957637448fbae5f526004601cfd5b6125e281612ab5565b50565b5f63389a75e1600c52815f526020600c20549050919050565b6005602052805f5260405f205f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905085565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314612690576382b429005f526004601cfd5b565b5f6202a300905090565b5f82826040516020016126b0929190614e91565b60405160208183030381529060405280519060200120905092915050565b5f600160028111156126e3576126e2613dde565b5b825f015f9054906101000a900460ff16600281111561270557612704613dde565b5b148061274357505f600281111561271f5761271e613dde565b5b825f015f9054906101000a900460ff16600281111561274157612740613dde565b5b145b156127ea57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016127a49190613edf565b602060405180830381865afa1580156127bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e39190614752565b90506128cf565b6002808111156127fd576127fc613dde565b5b825f015f9054906101000a900460ff16600281111561281f5761281e613dde565b5b036128cb57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e3084600301546040518363ffffffff1660e01b8152600401612885929190614ebc565b602060405180830381865afa1580156128a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128c49190614752565b90506128cf565b5f90505b919050565b600160028111156128e8576128e7613dde565b5b825f015f9054906101000a900460ff16600281111561290a57612909613dde565b5b148061294857505f600281111561292457612923613dde565b5b825f015f9054906101000a900460ff16600281111561294657612945613dde565b5b145b156129c1576129bc60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682845f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612b7b9092919063ffffffff16565b612ab1565b6002808111156129d4576129d3613dde565b5b825f015f9054906101000a900460ff1660028111156129f6576129f5613dde565b5b03612ab057815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560030154856040518563ffffffff1660e01b8152600401612a8294939291906147a0565b5f604051808303815f87803b158015612a99575f80fd5b505af1158015612aab573d5f803e3d5ffd5b505050505b5b5050565b612abd612e53565b15612b22577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550612b78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716612bbb576390b8ec185f526004601cfd5b5f603452505050565b6060815115612c585760405190506020810160048301805184518501811983525b80861015612c3e576001860195508551601f1a80612c2e576001870196508651601f1a5f198652607f8111612c1c57600181013887395b6001607f821601860195505050612c39565b808553600185019450505b612be5565b81835260208501840385525f845260208401604052505050505b919050565b612c877fe49cedd70000000000000000000000000000000000000000000000000000000082612e57565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b8152600401612cc09190613edf565b602060405180830381865afa158015612cdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cff91906144f5565b612d35576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f612d47848460200151612e57565b612d518383612f4e565b90509392505050565b60605f60015f80549050612d6e9190614403565b9050855167ffffffffffffffff811115612d8b57612d8a614570565b5b604051908082528060200260200182016040528015612db95781602001602082028036833780820191505090505b5091505f5b8651811015612e4957612def878281518110612ddd57612ddc61430b565b5b6020026020010151878787868661300a565b838281518110612e0257612e0161430b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050612dbe565b5050949350505050565b5f90565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480612f0657508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b8152600401612ec59190614dee565b602060405180830381865afa158015612ee0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f0491906144f5565b155b15612f4a5781816040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401612f41929190614e07565b60405180910390fd5b5050565b5f825f0151612f61578260200151612f85565b612f84836020015173ffffffffffffffffffffffffffffffffffffffff166133b4565b5b9050825f01518015612f945750815b15613004578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b8152600401612fd691906148e8565b5f604051808303815f87803b158015612fed575f80fd5b505af1158015612fff573d5f803e3d5ffd5b505050505b92915050565b5f80876040015190506130417fa9216705000000000000000000000000000000000000000000000000000000008960200151612e57565b875f01516130ac577fa92167050000000000000000000000000000000000000000000000000000000088602001516040517fe1c444480000000000000000000000000000000000000000000000000000000081526004016130a3929190614e07565b60405180910390fd5b6130d77fa921670500000000000000000000000000000000000000000000000000000000895f612d38565b91505f8273ffffffffffffffffffffffffffffffffffffffff16634e7165a2836040518263ffffffff1660e01b815260040161311391906148e8565b5f60405180830381865afa15801561312d573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906131559190614ee3565b90505f815114613342575f8061316b838a6133c6565b915091508973ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1836040518263ffffffff1660e01b81526004016131a891906148e8565b6020604051808303815f875af11580156131c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131e891906144f5565b61321e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8973ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1846040518263ffffffff1660e01b815260040161325791906148e8565b6020604051808303815f875af1158015613273573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061329791906144f5565b6132cd576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838060200190518101906132e29190614fde565b905061333e88885f73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1603613326578360200151613328565b8b5b858e67ffffffffffffffff16865f01518b61369e565b5050505b8273ffffffffffffffffffffffffffffffffffffffff1663439fab91836040518263ffffffff1660e01b815260040161337b91906148e8565b5f604051808303815f87803b158015613392575f80fd5b505af11580156133a4573d5f803e3d5ffd5b5050505050509695505050505050565b5f6133bf5f836137f0565b9050919050565b60605f80848060200190518101906133de9190614fde565b90505f849050600160028111156133f8576133f7613dde565b5b825f0151600281111561340e5761340d613dde565b5b148061344057505f600281111561342857613427613dde565b5b825f0151600281111561343e5761343d613dde565b5b145b15613534575f826060015180602001905181019061345e919061505e565b90505f61271067ffffffffffffffff168367ffffffffffffffff16835f01516134879190614365565b61349191906143d3565b90505f6040518060200160405280838152509050806040516020016134b691906150a3565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505084604051602001613516919061511c565b60405160208183030381529060405282965096505050505050613697565b60028081111561354757613546613dde565b5b825f0151600281111561355d5761355c613dde565b5b03613665575f826060015180602001905181019061357b91906151b9565b90505f61271067ffffffffffffffff168367ffffffffffffffff1683602001516135a59190614365565b6135af91906143d3565b90505f6040518060600160405280845f0151815260200183815260200184604001518152509050806040516020016135e7919061524d565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505084604051602001613647919061511c565b60405160208183030381529060405282965096505050505050613697565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b5f6002808111156136b2576136b1613dde565b5b8360028111156136c5576136c4613dde565b5b036136e457818060200190518101906136de919061526d565b50809150505b5f6040518060a0016040528085600281111561370357613702613dde565b5b81526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018381525090508060055f6137448c8c61269c565b81526020019081526020015f205f820151815f015f6101000a81548160ff0219169083600281111561377957613778613dde565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030155905050505050505050505050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806138375763301164255f526004601cfd5b5f60215292915050565b6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060a001604052805f600281111561391557613914613dde565b5b81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81525090565b828054828255905f5260205f209081019282156139bf579160200282015b828111156139be578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190613967565b5b5090506139cc91906139d0565b5090565b5b808211156139e7575f815f9055506001016139d1565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b613a0e816139fc565b8114613a18575f80fd5b50565b5f81359050613a2981613a05565b92915050565b5f60208284031215613a4457613a436139f4565b5b5f613a5184828501613a1b565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f613a9c613a97613a9284613a5a565b613a79565b613a5a565b9050919050565b5f613aad82613a82565b9050919050565b5f613abe82613aa3565b9050919050565b613ace81613ab4565b82525050565b5f613ade82613aa3565b9050919050565b613aee81613ad4565b82525050565b5f613afe82613aa3565b9050919050565b613b0e81613af4565b82525050565b5f613b1e82613a82565b9050919050565b5f613b2f82613b14565b9050919050565b613b3f81613b25565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f613b7882613aa3565b9050919050565b613b8881613b6e565b82525050565b5f613b998383613b7f565b60208301905092915050565b5f602082019050919050565b5f613bbb82613b45565b613bc58185613b4f565b9350613bd083613b5f565b805f5b83811015613c00578151613be78882613b8e565b9750613bf283613ba5565b925050600181019050613bd3565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b613c2981613c0d565b82525050565b613c38816139fc565b82525050565b5f613c4882613a5a565b9050919050565b613c5881613c3e565b82525050565b5f61010083015f830151613c745f860182613ac5565b506020830151613c876020860182613ae5565b506040830151613c9a6040860182613b05565b506060830151613cad6060860182613b36565b5060808301518482036080860152613cc58282613bb1565b91505060a0830151613cda60a0860182613c20565b5060c0830151613ced60c0860182613c2f565b5060e0830151613d0060e0860182613c4f565b508091505092915050565b5f6020820190508181035f830152613d238184613c5e565b905092915050565b613d3481613c3e565b8114613d3e575f80fd5b50565b5f81359050613d4f81613d2b565b92915050565b5f60208284031215613d6a57613d696139f4565b5b5f613d7784828501613d41565b91505092915050565b5f819050919050565b613d9281613d80565b8114613d9c575f80fd5b50565b5f81359050613dad81613d89565b92915050565b5f60208284031215613dc857613dc76139f4565b5b5f613dd584828501613d9f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60038110613e1c57613e1b613dde565b5b50565b5f819050613e2c82613e0b565b919050565b5f613e3b82613e1f565b9050919050565b613e4b81613e31565b82525050565b60a082015f820151613e655f850182613e42565b506020820151613e786020850182613c4f565b506040820151613e8b6040850182613c2f565b506060820151613e9e6060850182613c2f565b506080820151613eb16080850182613c2f565b50505050565b5f60a082019050613eca5f830184613e51565b92915050565b613ed981613c3e565b82525050565b5f602082019050613ef25f830184613ed0565b92915050565b613f0181613c0d565b8114613f0b575f80fd5b50565b5f81359050613f1c81613ef8565b92915050565b5f60208284031215613f3757613f366139f4565b5b5f613f4484828501613f0e565b91505092915050565b613f56816139fc565b82525050565b5f602082019050613f6f5f830184613f4d565b92915050565b5f8060408385031215613f8b57613f8a6139f4565b5b5f613f9885828601613a1b565b9250506020613fa985828601613a1b565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112613fd457613fd3613fb3565b5b8235905067ffffffffffffffff811115613ff157613ff0613fb7565b5b60208301915083600182028301111561400d5761400c613fbb565b5b9250929050565b5f805f805f8060a0878903121561402e5761402d6139f4565b5b5f61403b89828a01613a1b565b965050602061404c89828a01613a1b565b955050604061405d89828a01613d41565b945050606087013567ffffffffffffffff81111561407e5761407d6139f8565b5b61408a89828a01613fbf565b9350935050608061409d89828a01613d41565b9150509295509295509295565b5f6140b482613aa3565b9050919050565b6140c4816140aa565b82525050565b5f6020820190506140dd5f8301846140bb565b92915050565b5f805f805f608086880312156140fc576140fb6139f4565b5b5f61410988828901613a1b565b955050602061411a88828901613a1b565b945050604061412b88828901613d41565b935050606086013567ffffffffffffffff81111561414c5761414b6139f8565b5b61415888828901613fbf565b92509250509295509295909350565b5f61417182613aa3565b9050919050565b61418181614167565b82525050565b5f60208201905061419a5f830184614178565b92915050565b6141a981613c0d565b82525050565b5f6020820190506141c25f8301846141a0565b92915050565b5f805f80606085870312156141e0576141df6139f4565b5b5f85013567ffffffffffffffff8111156141fd576141fc6139f8565b5b61420987828801613fbf565b9450945050602061421c87828801613a1b565b925050604061422d87828801613a1b565b91505092959194509250565b5f60408201905061424c5f830185613f4d565b6142596020830184613ed0565b9392505050565b5f8060208385031215614276576142756139f4565b5b5f83013567ffffffffffffffff811115614293576142926139f8565b5b61429f85828601613fbf565b92509250509250929050565b6142b481613e31565b82525050565b5f60a0820190506142cd5f8301886142ab565b6142da6020830187613ed0565b6142e76040830186613f4d565b6142f46060830185613f4d565b6143016080830184613f4d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61436f826139fc565b915061437a836139fc565b9250828202614388816139fc565b9150828204841483151761439f5761439e614338565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6143dd826139fc565b91506143e8836139fc565b9250826143f8576143f76143a6565b5b828204905092915050565b5f61440d826139fc565b9150614418836139fc565b92508282039050818111156144305761442f614338565b5b92915050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61446f8385614436565b935061447c838584614446565b61448583614454565b840190509392505050565b5f6040820190506144a35f830186613ed0565b81810360208301526144b6818486614464565b9050949350505050565b5f8115159050919050565b6144d4816144c0565b81146144de575f80fd5b50565b5f815190506144ef816144cb565b92915050565b5f6020828403121561450a576145096139f4565b5b5f614517848285016144e1565b91505092915050565b5f6080820190506145335f830188613f4d565b6145406020830187613f4d565b61454d6040830186613ed0565b8181036060830152614560818486614464565b90509695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6145a682614454565b810181811067ffffffffffffffff821117156145c5576145c4614570565b5b80604052505050565b5f6145d76139eb565b90506145e3828261459d565b919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff82111561460a57614609614570565b5b61461382614454565b9050602081019050919050565b5f61463261462d846145f0565b6145ce565b90508281526020810184848401111561464e5761464d6145ec565b5b614659848285614446565b509392505050565b5f82601f83011261467557614674613fb3565b5b8135614685848260208601614620565b91505092915050565b5f604082840312156146a3576146a261456c565b5b6146ad60406145ce565b90505f6146bc84828501613d41565b5f83015250602082013567ffffffffffffffff8111156146df576146de6145e8565b5b6146eb84828501614661565b60208301525092915050565b5f6020828403121561470c5761470b6139f4565b5b5f82013567ffffffffffffffff811115614729576147286139f8565b5b6147358482850161468e565b91505092915050565b5f8151905061474c81613a05565b92915050565b5f60208284031215614767576147666139f4565b5b5f6147748482850161473e565b91505092915050565b50565b5f61478b5f83614436565b91506147968261477d565b5f82019050919050565b5f60a0820190506147b35f830187613ed0565b6147c06020830186613ed0565b6147cd6040830185613f4d565b6147da6060830184613f4d565b81810360808301526147eb81614780565b905095945050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f614828826147f6565b6148328185614800565b9350614842818560208601614810565b61484b81614454565b840191505092915050565b5f604083015f83015161486b5f860182613c4f565b5060208301518482036020860152614883828261481e565b9150508091505092915050565b5f6020820190508181035f8301526148a88184614856565b905092915050565b5f6148ba826147f6565b6148c48185614436565b93506148d4818560208601614810565b6148dd81614454565b840191505092915050565b5f6020820190508181035f83015261490081846148b0565b905092915050565b5f8151905061491681613d2b565b92915050565b5f8060408385031215614932576149316139f4565b5b5f61493f8582860161473e565b925050602061495085828601614908565b9150509250929050565b5f61496482613a5a565b9050919050565b5f6149758261495a565b9050919050565b6149858161496b565b811461498f575f80fd5b50565b5f815190506149a08161497c565b92915050565b5f6149b86149b3846145f0565b6145ce565b9050828152602081018484840111156149d4576149d36145ec565b5b6149df848285614810565b509392505050565b5f82601f8301126149fb576149fa613fb3565b5b8151614a0b8482602086016149a6565b91505092915050565b5f60608284031215614a2957614a2861456c565b5b614a3360606145ce565b90505f614a42848285016144e1565b5f830152506020614a5584828501614908565b602083015250604082015167ffffffffffffffff811115614a7957614a786145e8565b5b614a85848285016149e7565b60408301525092915050565b5f67ffffffffffffffff821115614aab57614aaa614570565b5b602082029050602081019050919050565b5f614ace614ac984614a91565b6145ce565b90508083825260208201905060208402830185811115614af157614af0613fbb565b5b835b81811015614b3857805167ffffffffffffffff811115614b1657614b15613fb3565b5b808601614b238982614a14565b85526020850194505050602081019050614af3565b5050509392505050565b5f82601f830112614b5657614b55613fb3565b5b8151614b66848260208601614abc565b91505092915050565b5f81519050614b7d81613ef8565b92915050565b5f6101008284031215614b9957614b9861456c565b5b614ba46101006145ce565b90505f614bb384828501614992565b5f83015250602082015167ffffffffffffffff811115614bd657614bd56145e8565b5b614be284828501614a14565b602083015250604082015167ffffffffffffffff811115614c0657614c056145e8565b5b614c1284828501614a14565b604083015250606082015167ffffffffffffffff811115614c3657614c356145e8565b5b614c4284828501614a14565b606083015250608082015167ffffffffffffffff811115614c6657614c656145e8565b5b614c7284828501614b42565b60808301525060a0614c8684828501614b6f565b60a08301525060c0614c9a8482850161473e565b60c08301525060e0614cae84828501614908565b60e08301525092915050565b5f60208284031215614ccf57614cce6139f4565b5b5f82015167ffffffffffffffff811115614cec57614ceb6139f8565b5b614cf884828501614b83565b91505092915050565b5f614d0b82613c0d565b9150614d1683613c0d565b9250828201905067ffffffffffffffff811115614d3657614d35614338565b5b92915050565b5f6020820190508181035f830152614d55818486614464565b90509392505050565b5f60208284031215614d7357614d726139f4565b5b5f614d8084828501614b6f565b91505092915050565b5f60208284031215614d9e57614d9d6139f4565b5b5f614dab84828501614908565b91505092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614de881614db4565b82525050565b5f602082019050614e015f830184614ddf565b92915050565b5f604082019050614e1a5f830185614ddf565b614e276020830184613ed0565b9392505050565b5f608082019050614e415f830187613f4d565b614e4e6020830186613ed0565b614e5b6040830185613ed0565b614e686060830184613ed0565b95945050505050565b5f819050919050565b614e8b614e86826139fc565b614e71565b82525050565b5f614e9c8285614e7a565b602082019150614eac8284614e7a565b6020820191508190509392505050565b5f604082019050614ecf5f830185613ed0565b614edc6020830184613f4d565b9392505050565b5f60208284031215614ef857614ef76139f4565b5b5f82015167ffffffffffffffff811115614f1557614f146139f8565b5b614f21848285016149e7565b91505092915050565b60038110614f36575f80fd5b50565b5f81519050614f4781614f2a565b92915050565b5f60808284031215614f6257614f6161456c565b5b614f6c60806145ce565b90505f614f7b84828501614f39565b5f830152506020614f8e84828501614908565b6020830152506040614fa284828501614908565b604083015250606082015167ffffffffffffffff811115614fc657614fc56145e8565b5b614fd2848285016149e7565b60608301525092915050565b5f60208284031215614ff357614ff26139f4565b5b5f82015167ffffffffffffffff8111156150105761500f6139f8565b5b61501c84828501614f4d565b91505092915050565b5f6020828403121561503a5761503961456c565b5b61504460206145ce565b90505f6150538482850161473e565b5f8301525092915050565b5f60208284031215615073576150726139f4565b5b5f61508084828501615025565b91505092915050565b602082015f82015161509d5f850182613c2f565b50505050565b5f6020820190506150b65f830184615089565b92915050565b5f608083015f8301516150d15f860182613e42565b5060208301516150e46020860182613c4f565b5060408301516150f76040860182613c4f565b506060830151848203606086015261510f828261481e565b9150508091505092915050565b5f6020820190508181035f83015261513481846150bc565b905092915050565b5f606082840312156151515761515061456c565b5b61515b60606145ce565b90505f61516a8482850161473e565b5f83015250602061517d8482850161473e565b602083015250604082015167ffffffffffffffff8111156151a1576151a06145e8565b5b6151ad848285016149e7565b60408301525092915050565b5f602082840312156151ce576151cd6139f4565b5b5f82015167ffffffffffffffff8111156151eb576151ea6139f8565b5b6151f78482850161513c565b91505092915050565b5f606083015f8301516152155f860182613c2f565b5060208301516152286020860182613c2f565b5060408301518482036040860152615240828261481e565b9150508091505092915050565b5f6020820190508181035f8301526152658184615200565b905092915050565b5f8060408385031215615283576152826139f4565b5b5f6152908582860161473e565b925050602083015167ffffffffffffffff8111156152b1576152b06139f8565b5b6152bd858286016149e7565b915050925092905056fea2646970667358221220bed01bcc980436ee06de55c9432f1e68860a671fb19b74f16701b22a12e0663e64736f6c634300081a0033";
29
+ import { parseAccount as xf, getAddress as Vf } from "viem/utils";
30
+ const Tf = "0x60806040526103e8600460146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506103e860055f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550348015610064575f80fd5b5060405161589b38038061589b83398181016040528101906100869190610296565b6100958161011d60201b60201c565b8260015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506102e6565b61012b6101f960201b60201c565b156101a3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561016557630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101f6565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61022a82610201565b9050919050565b5f61023b82610220565b9050919050565b61024b81610231565b8114610255575f80fd5b50565b5f8151905061026681610242565b92915050565b61027581610220565b811461027f575f80fd5b50565b5f815190506102908161026c565b92915050565b5f805f606084860312156102ad576102ac6101fd565b5b5f6102ba86828701610258565b93505060206102cb86828701610282565b92505060406102dc86828701610282565b9150509250925092565b6155a8806102f35f395ff3fe6080604052600436106101b6575f3560e01c80638da5cb5b116100eb578063dd98558c11610089578063f04e283e11610063578063f04e283e1461056b578063f2fde38b14610587578063fee81cf4146105a3578063fefceca9146105df576101b6565b8063dd98558c146104ca578063e21ff73114610507578063eccc19a614610543576101b6565b8063b0e21e8a116100c5578063b0e21e8a14610424578063caa1647b1461044e578063d73792a914610476578063dd7dc9a9146104a0576101b6565b80638da5cb5b146103b45780638fe4f523146103de578063a92647dc146103fa576101b6565b80635045b866116101585780635f32c23e116101325780635f32c23e1461033c578063715018a614610364578063730f9c571461036e5780637b1039991461038a576101b6565b80635045b866146102de57806354d1f13d146103085780635edb9eb014610312576101b6565b8063346339d511610194578063346339d51461022857806339a51be51461026457806343bc42d31461028e57806346877b1a146102b6576101b6565b806313c8e2de146101ba578063219f71f0146101f6578063256929621461021e575b5f80fd5b3480156101c5575f80fd5b506101e060048036038101906101db9190613cda565b61061f565b6040516101ed9190613fb6565b60405180910390f35b348015610201575f80fd5b5061021c60048036038101906102179190614000565b6108c7565b005b610226610912565b005b348015610233575f80fd5b5061024e6004803603810190610249919061405e565b610963565b60405161025b9190614162565b60405180910390f35b34801561026f575f80fd5b50610278610a3a565b604051610285919061418a565b60405180910390f35b348015610299575f80fd5b506102b460048036038101906102af91906141cd565b610a5f565b005b3480156102c1575f80fd5b506102dc60048036038101906102d79190614000565b610a93565b005b3480156102e9575f80fd5b506102f2610ade565b6040516102ff919061418a565b60405180910390f35b610310610b03565b005b34801561031d575f80fd5b50610326610b3c565b6040516103339190614207565b60405180910390f35b348015610347575f80fd5b50610362600480360381019061035d9190614220565b610b47565b005b61036c610d34565b005b610388600480360381019061038391906142bf565b610d47565b005b348015610395575f80fd5b5061039e611291565b6040516103ab9190614375565b60405180910390f35b3480156103bf575f80fd5b506103c86112b6565b6040516103d5919061418a565b60405180910390f35b6103f860048036038101906103f3919061438e565b6112de565b005b348015610405575f80fd5b5061040e6112f3565b60405161041b9190614432565b60405180910390f35b34801561042f575f80fd5b50610438611318565b604051610445919061445a565b60405180910390f35b348015610459575f80fd5b50610474600480360381019061046f91906141cd565b611332565b005b348015610481575f80fd5b5061048a6113b4565b604051610497919061445a565b60405180910390f35b3480156104ab575f80fd5b506104b46113ba565b6040516104c1919061445a565b60405180910390f35b3480156104d5575f80fd5b506104f060048036038101906104eb9190614473565b6113d3565b6040516104fe9291906144e4565b60405180910390f35b348015610512575f80fd5b5061052d6004803603810190610528919061450b565b611ab9565b60405161053a9190613fb6565b60405180910390f35b34801561054e575f80fd5b5061056960048036038101906105649190614000565b6126be565b005b61058560048036038101906105809190614000565b612709565b005b6105a1600480360381019061059c9190614000565b612747565b005b3480156105ae575f80fd5b506105c960048036038101906105c49190614000565b612770565b6040516105d69190614207565b60405180910390f35b3480156105ea575f80fd5b506106056004803603810190610600919061405e565b612789565b604051610616959493929190614565565b60405180910390f35b610627613aec565b5f828154811061063a576106396145b6565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561082757602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116107de575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b6108cf6127e6565b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f61091b61281d565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b61096b613ba2565b60065f8381526020019081526020015f206040518060a00160405290815f82015f9054906101000a900460ff1660028111156109aa576109a9614089565b5b60028111156109bc576109bb614089565b5b81526020015f820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820154815250509050919050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a676127e6565b80600460146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b610a9b6127e6565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b3068929eee149b4bd212685403610b655763ab143c065f526004601cfd5b3068929eee149b4bd21268555f610b7c8383612827565b90505f60065f8381526020019081526020015f2090505f808581548110610ba657610ba56145b6565b5b905f5260205f2090600802016004018481548110610bc757610bc66145b6565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f826002015461271067ffffffffffffffff168460010154610c139190614610565b610c1d919061467e565b90505f610c2a8484612859565b905081811115610d1f575f8282610c4191906146ae565b90505f61271067ffffffffffffffff16866002015483610c619190614610565b610c6b919061467e565b9050610c778682612a60565b80866001015410610ca15780866001015f828254610c9591906146ae565b92505081905550610cab565b5f86600101819055505b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16888a7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051610d149190614207565b60405180910390a450505b50505050503868929eee149b4bd21268555050565b610d3c6127e6565b610d455f612c6d565b565b3068929eee149b4bd212685403610d655763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110610d8557610d846145b6565b5b905f5260205f20906008020190505f610d9e8888612827565b90505f60065f8381526020019081526020015f2090505f836004018981548110610dcb57610dca6145b6565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050836002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de8689896040518463ffffffff1660e01b8152600401610e559392919061473b565b602060405180830381865afa158015610e70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e9491906147a0565b610eca576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b6900348c8c898c8c6040518763ffffffff1660e01b8152600401610f2f9594939291906147cb565b60206040518083038185885af1158015610f4b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f7091906147a0565b610fa6576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611003575f61100e565b61100d8383612859565b5b90508173ffffffffffffffffffffffffffffffffffffffff1663bb1757cf878a8a6040518463ffffffff1660e01b815260040161104d9392919061473b565b6020604051808303815f875af1158015611069573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108d91906147a0565b6110d2578588886040517f4139d81d0000000000000000000000000000000000000000000000000000000081526004016110c99392919061473b565b60405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16845f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361112f575f61113a565b6111398484612859565b5b90505f81831161114a575f611157565b818361115691906146ae565b5b90505f61271067ffffffffffffffff168660020154836111779190614610565b611181919061467e565b90505f811115611221576111958682612a60565b80866001015f8282546111a891906146ae565b9250508190555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168d8f7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516112189190614207565b60405180910390a45b8873ffffffffffffffffffffffffffffffffffffffff168d8f7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478f8f8f60405161126d9392919061473b565b60405180910390a450505050505050503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6112ec858585858533610d47565b5050505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460149054906101000a900467ffffffffffffffff1681565b61133a6127e6565b61271067ffffffffffffffff168167ffffffffffffffff1610611389576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b61271081565b60055f9054906101000a900467ffffffffffffffff1681565b5f803068929eee149b4bd2126854036113f35763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808581548110611413576114126145b6565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561160057602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116115b7575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050806060015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611704576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61170f8686612827565b90505f60065f8381526020019081526020015f2090505f898981019061173591906149a2565b90505f816020015180602001905181019061175091906149fd565b90505f61271067ffffffffffffffff168460020154836117709190614610565b61177a919061467e565b90505f811115611979576001600281111561179857611797614089565b5b845f015f9054906101000a900460ff1660028111156117ba576117b9614089565b5b14806117f857505f60028111156117d4576117d3614089565b5b845f015f9054906101000a900460ff1660028111156117f6576117f5614089565b5b145b156118535761184e835f015182865f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612d339092919063ffffffff16565b611925565b60028081111561186657611865614089565b5b845f015f9054906101000a900460ff16600281111561188857611887614089565b5b0361192457835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30855f01518760030154856040518563ffffffff1660e01b81526004016118f69493929190614a4b565b5f604051808303815f87803b15801561190d575f80fd5b505af115801561191f573d5f803e3d5ffd5b505050505b5b825f015173ffffffffffffffffffffffffffffffffffffffff16898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516119709190614207565b60405180910390a45b5f8087608001518b81518110611992576119916145b6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663474f5a44866040516020016119c69190614b3b565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016119f19190614b93565b60408051808303815f875af1158015611a0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a309190614bc7565b915091505f8203611a7c57338e8e6040517f9ecd71a9000000000000000000000000000000000000000000000000000000008152600401611a739392919061473b565b60405180910390fd5b82866001015f828254611a8f91906146ae565b9250508190555081819950995050505050505050503868929eee149b4bd212685594509492505050565b611ac1613aec565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015611bb5575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b8152600401611b74919061418a565b602060405180830381865afa158015611b8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb391906147a0565b155b15611bec576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd212685403611c0a5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f611c6385858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050612d7c565b806020019051810190611c769190614f65565b9050611c84815f0151612e15565b5f8060018160018154018082558091505003905f5260205f20906008020190508160e00151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611dae578160a00151600460149054906101000a900467ffffffffffffffff16611da99190614fac565b611e59565b8160a0015160045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b1539a6b88886040518363ffffffff1660e01b8152600401611e0f929190614fe7565b602060405180830381865afa158015611e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e4e9190615009565b611e589190614fac565b5b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c001518160060181905550611ebf7fe67157950000000000000000000000000000000000000000000000000000000083602001516001612ef0565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f2f7fe2089f790000000000000000000000000000000000000000000000000000000083606001516001612ef0565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8073ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611fcb575f612067565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7f1ecff88886040518363ffffffff1660e01b8152600401612027929190614fe7565b602060405180830381865afa158015612042573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120669190615034565b5b90506120938360800151845f0151846005015f9054906101000a900467ffffffffffffffff1684612f12565b8260040190805190602001906120aa929190613bf4565b505f73ffffffffffffffffffffffffffffffffffffffff1683604001516020015173ffffffffffffffffffffffffffffffffffffffff161461211b576121167f5912b89c0000000000000000000000000000000000000000000000000000000084604001516001612ef0565b612204565b815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016121969190615099565b602060405180830381865afa1580156121b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121d591906147a0565b6121df575f612203565b815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b826001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff16826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036122fa577f5912b89c000000000000000000000000000000000000000000000000000000005f6040517fe1c444480000000000000000000000000000000000000000000000000000000081526004016122f19291906150b2565b60405180910390fd5b815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f8054905061237e91906146ae565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8560040180549050866001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161242394939291906150d9565b60405180910390a481604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561260d57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116125c4575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505094505050503868929eee149b4bd21268555092915050565b6126c66127e6565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6127116127e6565b63389a75e1600c52805f526020600c20805442111561273757636f5e88185f526004601cfd5b5f81555061274481612c6d565b50565b61274f6127e6565b8060601b61276457637448fbae5f526004601cfd5b61276d81612c6d565b50565b5f63389a75e1600c52815f526020600c20549050919050565b6006602052805f5260405f205f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905085565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461281b576382b429005f526004601cfd5b565b5f6202a300905090565b5f828260405160200161283b92919061513c565b60405160208183030381529060405280519060200120905092915050565b5f6001600281111561286e5761286d614089565b5b835f015f9054906101000a900460ff1660028111156128905761288f614089565b5b14806128ce57505f60028111156128aa576128a9614089565b5b835f015f9054906101000a900460ff1660028111156128cc576128cb614089565b5b145b1561297557825f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b815260040161292f919061418a565b602060405180830381865afa15801561294a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061296e91906149fd565b9050612a5a565b60028081111561298857612987614089565b5b835f015f9054906101000a900460ff1660028111156129aa576129a9614089565b5b03612a5657825f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e8385600301546040518363ffffffff1660e01b8152600401612a10929190615167565b602060405180830381865afa158015612a2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a4f91906149fd565b9050612a5a565b5f90505b92915050565b60016002811115612a7457612a73614089565b5b825f015f9054906101000a900460ff166002811115612a9657612a95614089565b5b1480612ad457505f6002811115612ab057612aaf614089565b5b825f015f9054906101000a900460ff166002811115612ad257612ad1614089565b5b145b15612b7957612b4860035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682845f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612d339092919063ffffffff16565b612b74825f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661300b565b612c69565b600280811115612b8c57612b8b614089565b5b825f015f9054906101000a900460ff166002811115612bae57612bad614089565b5b03612c6857815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560030154856040518563ffffffff1660e01b8152600401612c3a9493929190614a4b565b5f604051808303815f87803b158015612c51575f80fd5b505af1158015612c63573d5f803e3d5ffd5b505050505b5b5050565b612c756130fe565b15612cda577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550612d30565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716612d73576390b8ec185f526004601cfd5b5f603452505050565b6060815115612e105760405190506020810160048301805184518501811983525b80861015612df6576001860195508551601f1a80612de6576001870196508651601f1a5f198652607f8111612dd457600181013887395b6001607f821601860195505050612df1565b808553600185019450505b612d9d565b81835260208501840385525f845260208401604052505050505b919050565b612e3f7fe49cedd70000000000000000000000000000000000000000000000000000000082613102565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b8152600401612e78919061418a565b602060405180830381865afa158015612e93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eb791906147a0565b612eed576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f612eff848460200151613102565b612f0983836131f9565b90509392505050565b60605f60015f80549050612f2691906146ae565b9050855167ffffffffffffffff811115612f4357612f4261481b565b5b604051908082528060200260200182016040528015612f715781602001602082028036833780820191505090505b5091505f5b865181101561300157612fa7878281518110612f9557612f946145b6565b5b602002602001015187878786866132b5565b838281518110612fba57612fb96145b6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050612f76565b5050949350505050565b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401613045919061418a565b602060405180830381865afa158015613060573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061308491906149fd565b905060055f9054906101000a900467ffffffffffffffff1667ffffffffffffffff168110156130fa576130f960035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff16612d339092919063ffffffff16565b5b5050565b5f90565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806131b157508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b81526004016131709190615099565b602060405180830381865afa15801561318b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131af91906147a0565b155b156131f55781816040517fe1c444480000000000000000000000000000000000000000000000000000000081526004016131ec9291906150b2565b60405180910390fd5b5050565b5f825f015161320c578260200151613230565b61322f836020015173ffffffffffffffffffffffffffffffffffffffff1661365f565b5b9050825f0151801561323f5750815b156132af578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b81526004016132819190614b93565b5f604051808303815f87803b158015613298575f80fd5b505af11580156132aa573d5f803e3d5ffd5b505050505b92915050565b5f80876040015190506132ec7fa9216705000000000000000000000000000000000000000000000000000000008960200151613102565b875f0151613357577fa92167050000000000000000000000000000000000000000000000000000000088602001516040517fe1c4444800000000000000000000000000000000000000000000000000000000815260040161334e9291906150b2565b60405180910390fd5b6133827fa921670500000000000000000000000000000000000000000000000000000000895f612ef0565b91505f8273ffffffffffffffffffffffffffffffffffffffff16634e7165a2836040518263ffffffff1660e01b81526004016133be9190614b93565b5f60405180830381865afa1580156133d8573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190613400919061518e565b90505f8151146135ed575f80613416838a613671565b915091508973ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1836040518263ffffffff1660e01b81526004016134539190614b93565b6020604051808303815f875af115801561346f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061349391906147a0565b6134c9576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8973ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1846040518263ffffffff1660e01b81526004016135029190614b93565b6020604051808303815f875af115801561351e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061354291906147a0565b613578576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8380602001905181019061358d9190615289565b90506135e988885f73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16036135d15783602001516135d3565b8b5b858e67ffffffffffffffff16865f01518b613949565b5050505b8273ffffffffffffffffffffffffffffffffffffffff1663439fab91836040518263ffffffff1660e01b81526004016136269190614b93565b5f604051808303815f87803b15801561363d575f80fd5b505af115801561364f573d5f803e3d5ffd5b5050505050509695505050505050565b5f61366a5f83613a9b565b9050919050565b60605f80848060200190518101906136899190615289565b90505f849050600160028111156136a3576136a2614089565b5b825f015160028111156136b9576136b8614089565b5b14806136eb57505f60028111156136d3576136d2614089565b5b825f015160028111156136e9576136e8614089565b5b145b156137df575f82606001518060200190518101906137099190615309565b90505f61271067ffffffffffffffff168367ffffffffffffffff16835f01516137329190614610565b61373c919061467e565b90505f604051806020016040528083815250905080604051602001613761919061534e565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050846040516020016137c191906153c7565b60405160208183030381529060405282965096505050505050613942565b6002808111156137f2576137f1614089565b5b825f0151600281111561380857613807614089565b5b03613910575f82606001518060200190518101906138269190615464565b90505f61271067ffffffffffffffff168367ffffffffffffffff1683602001516138509190614610565b61385a919061467e565b90505f6040518060600160405280845f01518152602001838152602001846040015181525090508060405160200161389291906154f8565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050846040516020016138f291906153c7565b60405160208183030381529060405282965096505050505050613942565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b5f60028081111561395d5761395c614089565b5b8360028111156139705761396f614089565b5b0361398f57818060200190518101906139899190615518565b50809150505b5f6040518060a001604052808560028111156139ae576139ad614089565b5b81526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018381525090508060065f6139ef8c8c612827565b81526020019081526020015f205f820151815f015f6101000a81548160ff02191690836002811115613a2457613a23614089565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030155905050505050505050505050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f0905080613ae25763301164255f526004601cfd5b5f60215292915050565b6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060a001604052805f6002811115613bc057613bbf614089565b5b81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81525090565b828054828255905f5260205f20908101928215613c6a579160200282015b82811115613c69578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190613c12565b5b509050613c779190613c7b565b5090565b5b80821115613c92575f815f905550600101613c7c565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b613cb981613ca7565b8114613cc3575f80fd5b50565b5f81359050613cd481613cb0565b92915050565b5f60208284031215613cef57613cee613c9f565b5b5f613cfc84828501613cc6565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f613d47613d42613d3d84613d05565b613d24565b613d05565b9050919050565b5f613d5882613d2d565b9050919050565b5f613d6982613d4e565b9050919050565b613d7981613d5f565b82525050565b5f613d8982613d4e565b9050919050565b613d9981613d7f565b82525050565b5f613da982613d4e565b9050919050565b613db981613d9f565b82525050565b5f613dc982613d2d565b9050919050565b5f613dda82613dbf565b9050919050565b613dea81613dd0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f613e2382613d4e565b9050919050565b613e3381613e19565b82525050565b5f613e448383613e2a565b60208301905092915050565b5f602082019050919050565b5f613e6682613df0565b613e708185613dfa565b9350613e7b83613e0a565b805f5b83811015613eab578151613e928882613e39565b9750613e9d83613e50565b925050600181019050613e7e565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b613ed481613eb8565b82525050565b613ee381613ca7565b82525050565b5f613ef382613d05565b9050919050565b613f0381613ee9565b82525050565b5f61010083015f830151613f1f5f860182613d70565b506020830151613f326020860182613d90565b506040830151613f456040860182613db0565b506060830151613f586060860182613de1565b5060808301518482036080860152613f708282613e5c565b91505060a0830151613f8560a0860182613ecb565b5060c0830151613f9860c0860182613eda565b5060e0830151613fab60e0860182613efa565b508091505092915050565b5f6020820190508181035f830152613fce8184613f09565b905092915050565b613fdf81613ee9565b8114613fe9575f80fd5b50565b5f81359050613ffa81613fd6565b92915050565b5f6020828403121561401557614014613c9f565b5b5f61402284828501613fec565b91505092915050565b5f819050919050565b61403d8161402b565b8114614047575f80fd5b50565b5f8135905061405881614034565b92915050565b5f6020828403121561407357614072613c9f565b5b5f6140808482850161404a565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600381106140c7576140c6614089565b5b50565b5f8190506140d7826140b6565b919050565b5f6140e6826140ca565b9050919050565b6140f6816140dc565b82525050565b60a082015f8201516141105f8501826140ed565b5060208201516141236020850182613efa565b5060408201516141366040850182613eda565b5060608201516141496060850182613eda565b50608082015161415c6080850182613eda565b50505050565b5f60a0820190506141755f8301846140fc565b92915050565b61418481613ee9565b82525050565b5f60208201905061419d5f83018461417b565b92915050565b6141ac81613eb8565b81146141b6575f80fd5b50565b5f813590506141c7816141a3565b92915050565b5f602082840312156141e2576141e1613c9f565b5b5f6141ef848285016141b9565b91505092915050565b61420181613ca7565b82525050565b5f60208201905061421a5f8301846141f8565b92915050565b5f806040838503121561423657614235613c9f565b5b5f61424385828601613cc6565b925050602061425485828601613cc6565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261427f5761427e61425e565b5b8235905067ffffffffffffffff81111561429c5761429b614262565b5b6020830191508360018202830111156142b8576142b7614266565b5b9250929050565b5f805f805f8060a087890312156142d9576142d8613c9f565b5b5f6142e689828a01613cc6565b96505060206142f789828a01613cc6565b955050604061430889828a01613fec565b945050606087013567ffffffffffffffff81111561432957614328613ca3565b5b61433589828a0161426a565b9350935050608061434889828a01613fec565b9150509295509295509295565b5f61435f82613d4e565b9050919050565b61436f81614355565b82525050565b5f6020820190506143885f830184614366565b92915050565b5f805f805f608086880312156143a7576143a6613c9f565b5b5f6143b488828901613cc6565b95505060206143c588828901613cc6565b94505060406143d688828901613fec565b935050606086013567ffffffffffffffff8111156143f7576143f6613ca3565b5b6144038882890161426a565b92509250509295509295909350565b5f61441c82613d4e565b9050919050565b61442c81614412565b82525050565b5f6020820190506144455f830184614423565b92915050565b61445481613eb8565b82525050565b5f60208201905061446d5f83018461444b565b92915050565b5f805f806060858703121561448b5761448a613c9f565b5b5f85013567ffffffffffffffff8111156144a8576144a7613ca3565b5b6144b48782880161426a565b945094505060206144c787828801613cc6565b92505060406144d887828801613cc6565b91505092959194509250565b5f6040820190506144f75f8301856141f8565b614504602083018461417b565b9392505050565b5f806020838503121561452157614520613c9f565b5b5f83013567ffffffffffffffff81111561453e5761453d613ca3565b5b61454a8582860161426a565b92509250509250929050565b61455f816140dc565b82525050565b5f60a0820190506145785f830188614556565b614585602083018761417b565b61459260408301866141f8565b61459f60608301856141f8565b6145ac60808301846141f8565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61461a82613ca7565b915061462583613ca7565b925082820261463381613ca7565b9150828204841483151761464a576146496145e3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61468882613ca7565b915061469383613ca7565b9250826146a3576146a2614651565b5b828204905092915050565b5f6146b882613ca7565b91506146c383613ca7565b92508282039050818111156146db576146da6145e3565b5b92915050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61471a83856146e1565b93506147278385846146f1565b614730836146ff565b840190509392505050565b5f60408201905061474e5f83018661417b565b818103602083015261476181848661470f565b9050949350505050565b5f8115159050919050565b61477f8161476b565b8114614789575f80fd5b50565b5f8151905061479a81614776565b92915050565b5f602082840312156147b5576147b4613c9f565b5b5f6147c28482850161478c565b91505092915050565b5f6080820190506147de5f8301886141f8565b6147eb60208301876141f8565b6147f8604083018661417b565b818103606083015261480b81848661470f565b90509695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b614851826146ff565b810181811067ffffffffffffffff821117156148705761486f61481b565b5b80604052505050565b5f614882613c96565b905061488e8282614848565b919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff8211156148b5576148b461481b565b5b6148be826146ff565b9050602081019050919050565b5f6148dd6148d88461489b565b614879565b9050828152602081018484840111156148f9576148f8614897565b5b6149048482856146f1565b509392505050565b5f82601f8301126149205761491f61425e565b5b81356149308482602086016148cb565b91505092915050565b5f6040828403121561494e5761494d614817565b5b6149586040614879565b90505f61496784828501613fec565b5f83015250602082013567ffffffffffffffff81111561498a57614989614893565b5b6149968482850161490c565b60208301525092915050565b5f602082840312156149b7576149b6613c9f565b5b5f82013567ffffffffffffffff8111156149d4576149d3613ca3565b5b6149e084828501614939565b91505092915050565b5f815190506149f781613cb0565b92915050565b5f60208284031215614a1257614a11613c9f565b5b5f614a1f848285016149e9565b91505092915050565b50565b5f614a365f836146e1565b9150614a4182614a28565b5f82019050919050565b5f60a082019050614a5e5f83018761417b565b614a6b602083018661417b565b614a7860408301856141f8565b614a8560608301846141f8565b8181036080830152614a9681614a2b565b905095945050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f614ad382614aa1565b614add8185614aab565b9350614aed818560208601614abb565b614af6816146ff565b840191505092915050565b5f604083015f830151614b165f860182613efa565b5060208301518482036020860152614b2e8282614ac9565b9150508091505092915050565b5f6020820190508181035f830152614b538184614b01565b905092915050565b5f614b6582614aa1565b614b6f81856146e1565b9350614b7f818560208601614abb565b614b88816146ff565b840191505092915050565b5f6020820190508181035f830152614bab8184614b5b565b905092915050565b5f81519050614bc181613fd6565b92915050565b5f8060408385031215614bdd57614bdc613c9f565b5b5f614bea858286016149e9565b9250506020614bfb85828601614bb3565b9150509250929050565b5f614c0f82613d05565b9050919050565b5f614c2082614c05565b9050919050565b614c3081614c16565b8114614c3a575f80fd5b50565b5f81519050614c4b81614c27565b92915050565b5f614c63614c5e8461489b565b614879565b905082815260208101848484011115614c7f57614c7e614897565b5b614c8a848285614abb565b509392505050565b5f82601f830112614ca657614ca561425e565b5b8151614cb6848260208601614c51565b91505092915050565b5f60608284031215614cd457614cd3614817565b5b614cde6060614879565b90505f614ced8482850161478c565b5f830152506020614d0084828501614bb3565b602083015250604082015167ffffffffffffffff811115614d2457614d23614893565b5b614d3084828501614c92565b60408301525092915050565b5f67ffffffffffffffff821115614d5657614d5561481b565b5b602082029050602081019050919050565b5f614d79614d7484614d3c565b614879565b90508083825260208201905060208402830185811115614d9c57614d9b614266565b5b835b81811015614de357805167ffffffffffffffff811115614dc157614dc061425e565b5b808601614dce8982614cbf565b85526020850194505050602081019050614d9e565b5050509392505050565b5f82601f830112614e0157614e0061425e565b5b8151614e11848260208601614d67565b91505092915050565b5f81519050614e28816141a3565b92915050565b5f6101008284031215614e4457614e43614817565b5b614e4f610100614879565b90505f614e5e84828501614c3d565b5f83015250602082015167ffffffffffffffff811115614e8157614e80614893565b5b614e8d84828501614cbf565b602083015250604082015167ffffffffffffffff811115614eb157614eb0614893565b5b614ebd84828501614cbf565b604083015250606082015167ffffffffffffffff811115614ee157614ee0614893565b5b614eed84828501614cbf565b606083015250608082015167ffffffffffffffff811115614f1157614f10614893565b5b614f1d84828501614ded565b60808301525060a0614f3184828501614e1a565b60a08301525060c0614f45848285016149e9565b60c08301525060e0614f5984828501614bb3565b60e08301525092915050565b5f60208284031215614f7a57614f79613c9f565b5b5f82015167ffffffffffffffff811115614f9757614f96613ca3565b5b614fa384828501614e2e565b91505092915050565b5f614fb682613eb8565b9150614fc183613eb8565b9250828201905067ffffffffffffffff811115614fe157614fe06145e3565b5b92915050565b5f6020820190508181035f83015261500081848661470f565b90509392505050565b5f6020828403121561501e5761501d613c9f565b5b5f61502b84828501614e1a565b91505092915050565b5f6020828403121561504957615048613c9f565b5b5f61505684828501614bb3565b91505092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6150938161505f565b82525050565b5f6020820190506150ac5f83018461508a565b92915050565b5f6040820190506150c55f83018561508a565b6150d2602083018461417b565b9392505050565b5f6080820190506150ec5f8301876141f8565b6150f9602083018661417b565b615106604083018561417b565b615113606083018461417b565b95945050505050565b5f819050919050565b61513661513182613ca7565b61511c565b82525050565b5f6151478285615125565b6020820191506151578284615125565b6020820191508190509392505050565b5f60408201905061517a5f83018561417b565b61518760208301846141f8565b9392505050565b5f602082840312156151a3576151a2613c9f565b5b5f82015167ffffffffffffffff8111156151c0576151bf613ca3565b5b6151cc84828501614c92565b91505092915050565b600381106151e1575f80fd5b50565b5f815190506151f2816151d5565b92915050565b5f6080828403121561520d5761520c614817565b5b6152176080614879565b90505f615226848285016151e4565b5f83015250602061523984828501614bb3565b602083015250604061524d84828501614bb3565b604083015250606082015167ffffffffffffffff81111561527157615270614893565b5b61527d84828501614c92565b60608301525092915050565b5f6020828403121561529e5761529d613c9f565b5b5f82015167ffffffffffffffff8111156152bb576152ba613ca3565b5b6152c7848285016151f8565b91505092915050565b5f602082840312156152e5576152e4614817565b5b6152ef6020614879565b90505f6152fe848285016149e9565b5f8301525092915050565b5f6020828403121561531e5761531d613c9f565b5b5f61532b848285016152d0565b91505092915050565b602082015f8201516153485f850182613eda565b50505050565b5f6020820190506153615f830184615334565b92915050565b5f608083015f83015161537c5f8601826140ed565b50602083015161538f6020860182613efa565b5060408301516153a26040860182613efa565b50606083015184820360608601526153ba8282614ac9565b9150508091505092915050565b5f6020820190508181035f8301526153df8184615367565b905092915050565b5f606082840312156153fc576153fb614817565b5b6154066060614879565b90505f615415848285016149e9565b5f830152506020615428848285016149e9565b602083015250604082015167ffffffffffffffff81111561544c5761544b614893565b5b61545884828501614c92565b60408301525092915050565b5f6020828403121561547957615478613c9f565b5b5f82015167ffffffffffffffff81111561549657615495613ca3565b5b6154a2848285016153e7565b91505092915050565b5f606083015f8301516154c05f860182613eda565b5060208301516154d36020860182613eda565b50604083015184820360408601526154eb8282614ac9565b9150508091505092915050565b5f6020820190508181035f83015261551081846154ab565b905092915050565b5f806040838503121561552e5761552d613c9f565b5b5f61553b858286016149e9565b925050602083015167ffffffffffffffff81111561555c5761555b613ca3565b5b61556885828601614c92565b915050925092905056fea2646970667358221220be55f1e697f2023485c9127bd515ad65d975731fa37c63396acdde5e0b7d137764736f6c634300081a0033";
31
31
  function D(t) {
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;
32
+ const b = t.state.current, f = t.state.connections.get(b), e = f == null ? void 0 : f.accounts, a = e == null ? void 0 : e[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: b,
37
+ addresses: e,
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: b,
50
+ addresses: e,
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: b,
63
+ addresses: e,
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, e, f) {
92
- const b = t[e.name];
93
- if (typeof b == "function")
94
- return b;
91
+ function N(t, b, f) {
92
+ const e = t[b.name];
93
+ if (typeof e == "function")
94
+ return e;
95
95
  const a = t[f];
96
- return typeof a == "function" ? a : (c) => e(t, c);
96
+ return typeof a == "function" ? a : (c) => b(t, c);
97
97
  }
98
98
  const qf = "2.13.8", zf = () => `@wagmi/core@${qf}`;
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);
99
+ var O = function(t, b, f, e) {
100
+ if (f === "a" && !e) throw new TypeError("Private accessor was defined without a getter");
101
+ if (typeof b == "function" ? t !== b || !e : !b.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
102
+ return f === "m" ? e : f === "a" ? e.call(t) : e ? e.value : b.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(e, f = {}) {
111
+ constructor(b, f = {}) {
112
112
  var c;
113
113
  super(), I.add(this), Object.defineProperty(this, "details", {
114
114
  enumerable: !0,
@@ -136,27 +136,27 @@ class m extends Error {
136
136
  writable: !0,
137
137
  value: "WagmiCoreError"
138
138
  });
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;
139
+ const e = 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
- e || "An error occurred.",
141
+ b || "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
- ...b ? [`Details: ${b}`] : [],
147
+ ...e ? [`Details: ${e}`] : [],
148
148
  `Version: ${this.version}`
149
149
  ].join(`
150
- `), f.cause && (this.cause = f.cause), this.details = b, this.docsPath = a, this.metaMessages = f.metaMessages, this.shortMessage = e;
150
+ `), f.cause && (this.cause = f.cause), this.details = e, this.docsPath = a, this.metaMessages = f.metaMessages, this.shortMessage = b;
151
151
  }
152
- walk(e) {
153
- return N(this, I, "m", S).call(this, this, e);
152
+ walk(b) {
153
+ return O(this, I, "m", S).call(this, this, b);
154
154
  }
155
155
  }
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;
156
+ I = /* @__PURE__ */ new WeakSet(), S = function t(b, f) {
157
+ return f != null && f(b) ? b : b.cause ? O(this, I, "m", t).call(this, b.cause, f) : b;
158
158
  };
159
- class Wf extends m {
159
+ class Gf extends m {
160
160
  constructor() {
161
161
  super("Connector not connected."), Object.defineProperty(this, "name", {
162
162
  enumerable: !0,
@@ -166,9 +166,9 @@ class Wf extends m {
166
166
  });
167
167
  }
168
168
  }
169
- class Gf extends m {
170
- constructor({ address: e, connector: f }) {
171
- super(`Account "${e}" not found for connector "${f.name}".`), Object.defineProperty(this, "name", {
169
+ class Uf extends m {
170
+ constructor({ address: b, connector: f }) {
171
+ super(`Account "${b}" not found for connector "${f.name}".`), Object.defineProperty(this, "name", {
172
172
  enumerable: !0,
173
173
  configurable: !0,
174
174
  writable: !0,
@@ -176,12 +176,12 @@ class Gf extends m {
176
176
  });
177
177
  }
178
178
  }
179
- class Uf extends m {
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}).`, {
179
+ class kf extends m {
180
+ constructor({ connectionChainId: b, connectorChainId: f }) {
181
+ super(`The current chain of the connector (id: ${f}) does not match the connection's chain (id: ${b}).`, {
182
182
  metaMessages: [
183
183
  `Current Chain ID: ${f}`,
184
- `Expected Chain ID: ${e}`
184
+ `Expected Chain ID: ${b}`
185
185
  ]
186
186
  }), Object.defineProperty(this, "name", {
187
187
  enumerable: !0,
@@ -191,9 +191,9 @@ class Uf extends m {
191
191
  });
192
192
  }
193
193
  }
194
- class kf extends m {
195
- constructor({ connector: e }) {
196
- super(`Connector "${e.name}" unavailable while reconnecting.`, {
194
+ class Wf extends m {
195
+ constructor({ connector: b }) {
196
+ super(`Connector "${b.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,12 +207,12 @@ class kf extends m {
207
207
  });
208
208
  }
209
209
  }
210
- async function M(t, e = {}) {
210
+ async function M(t, b = {}) {
211
211
  let f;
212
- if (e.connector) {
213
- const { connector: s } = e;
212
+ if (b.connector) {
213
+ const { connector: s } = b;
214
214
  if (t.state.status === "reconnecting" && !s.getAccounts && !s.getChainId)
215
- throw new kf({ connector: s });
215
+ throw new Wf({ connector: s });
216
216
  const [w, g] = await Promise.all([
217
217
  s.getAccounts(),
218
218
  s.getChainId()
@@ -225,48 +225,48 @@ async function M(t, e = {}) {
225
225
  } else
226
226
  f = t.state.connections.get(t.state.current);
227
227
  if (!f)
228
- throw new Wf();
229
- const b = e.chainId ?? f.chainId, a = await f.connector.getChainId();
228
+ throw new Gf();
229
+ const e = b.chainId ?? f.chainId, a = await f.connector.getChainId();
230
230
  if (a !== f.chainId)
231
- throw new Uf({
231
+ throw new kf({
232
232
  connectionChainId: f.chainId,
233
233
  connectorChainId: a
234
234
  });
235
235
  const c = f.connector;
236
236
  if (c.getClient)
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
- throw new Gf({
237
+ return c.getClient({ chainId: e });
238
+ const d = xf(b.account ?? f.accounts[0]);
239
+ if (d.address = Vf(d.address), b.account && !f.accounts.some((s) => s.toLowerCase() === d.address.toLowerCase()))
240
+ throw new Uf({
241
241
  address: d.address,
242
242
  connector: c
243
243
  });
244
- const n = t.chains.find((s) => s.id === b), i = await f.connector.getProvider({ chainId: b });
245
- return ef({
244
+ const n = t.chains.find((s) => s.id === e), i = await f.connector.getProvider({ chainId: e });
245
+ return bf({
246
246
  account: d,
247
247
  chain: n,
248
248
  name: "Connector Client",
249
- transport: (s) => bf(i)({ ...s, retryCount: 0 })
249
+ transport: (s) => ef(i)({ ...s, retryCount: 0 })
250
250
  });
251
251
  }
252
- async function Hf(t, e) {
253
- const { abi: f, chainId: b, connector: a, ...c } = e;
252
+ async function Hf(t, b) {
253
+ const { abi: f, chainId: e, connector: a, ...c } = b;
254
254
  let d;
255
- e.account ? d = e.account : d = (await M(t, {
256
- chainId: b,
255
+ b.account ? d = b.account : d = (await M(t, {
256
+ chainId: e,
257
257
  connector: a
258
258
  })).account;
259
- const n = t.getClient({ chainId: b }), i = O(n, $f, "simulateContract"), { result: s, request: w } = await i({ ...c, abi: f, account: d });
259
+ const n = t.getClient({ chainId: e }), i = N(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: b }
263
+ request: { __mode: "prepared", ...w, chainId: e }
264
264
  };
265
265
  }
266
- async function F(t, e) {
267
- const { account: f, chainId: b, connector: a, __mode: c, ...d } = e;
266
+ async function F(t, b) {
267
+ const { account: f, chainId: e, connector: a, __mode: c, ...d } = b;
268
268
  let n;
269
- typeof f == "object" && f.type === "local" ? n = t.getClient({ chainId: b }) : n = await M(t, { account: f, chainId: b, connector: a });
269
+ typeof f == "object" && f.type === "local" ? n = t.getClient({ chainId: e }) : n = await M(t, { account: f, chainId: e, 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, e) {
275
275
  const { request: o } = await Hf(t, {
276
276
  ...d,
277
277
  account: f,
278
- chainId: b
278
+ chainId: e
279
279
  });
280
280
  s = o;
281
281
  }
282
- return await O(n, jf, "writeContract")({
282
+ return await N(n, jf, "writeContract")({
283
283
  ...s,
284
284
  ...f ? { account: f } : {},
285
- chain: b ? { id: b } : null
285
+ chain: e ? { id: e } : null
286
286
  });
287
287
  }
288
288
  function Jf(t) {
289
- return t.address !== void 0 && typeof t.address == "object" ? (e, f) => {
289
+ return t.address !== void 0 && typeof t.address == "object" ? (b, f) => {
290
290
  var d;
291
- const b = pf(e), a = D(e);
291
+ const e = pf(b), a = D(b);
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 = b, F(e, {
293
+ return f.chainId ? c = f.chainId : f.account && f.account === a.address || f.account === void 0 ? c = a.chainId : c = e, F(b, {
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
- } : (e, f) => F(e, {
299
+ } : (b, f) => F(b, {
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: 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
336
+ constructor({ config: b, account: f, ...e }) {
337
+ if (Qf(e) && e.address)
338
+ super({ account: f, config: b }, e.address);
339
+ else if (Xf(e))
340
+ super({ account: f, config: b }, [
341
+ e.registryAddress,
342
+ e.protocolFeeReceiver,
343
+ e.owner
344
344
  ]);
345
345
  else {
346
346
  const { address: a } = h(
347
- e,
347
+ b,
348
348
  y
349
349
  );
350
- super({ account: f, config: e }, a);
350
+ super({ account: f, config: b }, 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(e, f) {
365
- const [b, a] = this.validateDeploymentConfig(e), c = f == null ? void 0 : f.chainId, { chainId: d, address: n } = h(
364
+ async createBoost(b, f) {
365
+ const [e, a] = this.validateDeploymentConfig(b), 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
- b,
376
+ e,
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: 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(
397
+ budget: e.budget.at(u.budget),
398
+ action: e.action.at(u.action),
399
+ validator: e.validator.at(u.validator),
400
+ allowList: e.allowList.at(u.allowList),
401
+ incentives: e.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(e, f) {
422
- const [b, a] = this.validateDeploymentConfig(e), c = f == null ? void 0 : f.chainId, { chainId: d, address: n } = h(
421
+ async simulateCreateBoost(b, f) {
422
+ const [e, a] = this.validateDeploymentConfig(b), 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
- b,
429
+ e,
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(e, f, b, a) {
442
+ async prepareCreateBoostPayload(b, f, e, a) {
443
443
  var g;
444
- if (!b.owner && (b.owner = ((g = this._account) == null ? void 0 : g.address) || Y(a.config).address || v, b.owner === v))
444
+ if (!e.owner && (e.owner = ((g = this._account) == null ? void 0 : g.address) || Y(a.config).address || v, e.owner === v))
445
445
  throw new Ff();
446
- if (!b.validator) {
446
+ if (!e.validator) {
447
447
  const r = Z(a.config).filter(
448
448
  (A) => !!this.addresses[A.id] && A.id === f
449
449
  ).at(0);
@@ -453,35 +453,35 @@ const _ = class _ extends gf {
453
453
  Object.keys(this.addresses).map(Number)
454
454
  );
455
455
  const u = r.testnet || r.id === 31337;
456
- b.validator = this.SignerValidator({
456
+ e.validator = this.SignerValidator({
457
457
  signers: [
458
458
  u ? R.TESTNET : R.MAINNET
459
459
  ],
460
- validatorCaller: e
460
+ validatorCaller: b
461
461
  });
462
462
  }
463
463
  let c = v;
464
- if (b.budget.address) {
465
- if (c = b.budget.address, !await b.budget.isAuthorized(e))
466
- throw new Df(e);
464
+ if (e.budget.address) {
465
+ if (c = e.budget.address, !await e.budget.isAuthorized(b))
466
+ throw new Df(b);
467
467
  } else
468
- throw new Of();
468
+ throw new Nf();
469
469
  let d = {
470
470
  instance: v,
471
471
  isBase: !0,
472
472
  parameters: l
473
473
  };
474
- if (b.action.address) {
475
- const o = b.action.isBase;
474
+ if (e.action.address) {
475
+ const o = e.action.isBase;
476
476
  d = {
477
477
  isBase: o,
478
- instance: b.action.address,
479
- parameters: o ? b.action.buildParameters(void 0, a).args.at(0) || l : l
478
+ instance: e.action.address,
479
+ parameters: o ? e.action.buildParameters(void 0, a).args.at(0) || l : l
480
480
  };
481
481
  } else
482
- d.parameters = b.action.buildParameters(void 0, a).args.at(0) || l, d.instance = h(
482
+ d.parameters = e.action.buildParameters(void 0, a).args.at(0) || l, d.instance = h(
483
483
  a.config,
484
- b.action.bases,
484
+ e.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 (b.validator.address) {
493
- const o = b.validator.isBase;
492
+ if (e.validator.address) {
493
+ const o = e.validator.isBase;
494
494
  n = {
495
495
  isBase: o,
496
- instance: b.validator.address,
497
- parameters: o ? b.validator.buildParameters(void 0, a).args.at(0) || l : l
496
+ instance: e.validator.address,
497
+ parameters: o ? e.validator.buildParameters(void 0, a).args.at(0) || l : l
498
498
  };
499
499
  } else
500
- n.parameters = b.validator.buildParameters(void 0, a).args.at(0) || l, n.instance = h(
500
+ n.parameters = e.validator.buildParameters(void 0, a).args.at(0) || l, n.instance = h(
501
501
  a.config,
502
- b.validator.bases,
502
+ e.validator.bases,
503
503
  f
504
504
  ).address;
505
505
  let i = {
@@ -507,29 +507,29 @@ const _ = class _ extends gf {
507
507
  isBase: !0,
508
508
  parameters: l
509
509
  };
510
- if (b.allowList || (b.allowList = this.OpenAllowList()), b.allowList.address) {
511
- const o = b.allowList.isBase;
510
+ if (e.allowList || (e.allowList = this.OpenAllowList()), e.allowList.address) {
511
+ const o = e.allowList.isBase;
512
512
  i = {
513
513
  isBase: o,
514
- instance: b.allowList.address,
514
+ instance: e.allowList.address,
515
515
  parameters: o ? l : l
516
516
  };
517
517
  } else
518
- i.parameters = b.allowList.buildParameters(void 0, a).args.at(0) || l, i.instance = h(
518
+ i.parameters = e.allowList.buildParameters(void 0, a).args.at(0) || l, i.instance = h(
519
519
  a.config,
520
- b.allowList.bases,
520
+ e.allowList.bases,
521
521
  f
522
522
  ).address;
523
- const s = b.incentives.map(() => ({
523
+ const s = e.incentives.map(() => ({
524
524
  instance: v,
525
525
  isBase: !0,
526
526
  parameters: l
527
527
  }));
528
- for (let o = 0; o < b.incentives.length; o++) {
529
- const r = b.incentives.at(o);
528
+ for (let o = 0; o < e.incentives.length; o++) {
529
+ const r = e.incentives.at(o);
530
530
  if (r.address) {
531
531
  const u = r.isBase;
532
- if (!u) throw new Nf(r);
532
+ if (!u) throw new Of(r);
533
533
  s[o] = {
534
534
  isBase: u,
535
535
  instance: r.address,
@@ -548,9 +548,9 @@ const _ = class _ extends gf {
548
548
  validator: n,
549
549
  allowList: i,
550
550
  incentives: s,
551
- protocolFee: b.protocolFee || 0n,
552
- maxParticipants: b.maxParticipants || 0n,
553
- owner: b.owner
551
+ protocolFee: e.protocolFee || 0n,
552
+ maxParticipants: e.maxParticipants || 0n,
553
+ owner: e.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(e, f, b, a, c) {
568
+ async claimIncentive(b, f, e, a, c) {
569
569
  return await this.awaitResult(
570
- this.claimIncentiveRaw(e, f, b, a, c)
570
+ this.claimIncentiveRaw(b, f, e, a, c)
571
571
  );
572
572
  }
573
573
  /**
@@ -582,8 +582,8 @@ const _ = class _ extends gf {
582
582
  * @param {?WriteParams} [params]
583
583
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
584
584
  */
585
- async claimIncentiveRaw(e, f, b, a, c) {
586
- const { request: d, result: n } = await V(
585
+ async claimIncentiveRaw(b, f, e, a, c) {
586
+ const { request: d, result: n } = await x(
587
587
  this._config,
588
588
  {
589
589
  ...h(
@@ -591,13 +591,13 @@ const _ = class _ extends gf {
591
591
  this.addresses,
592
592
  c == null ? void 0 : c.chainId
593
593
  ),
594
- args: [e, f, b, a],
594
+ args: [b, f, e, 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
598
598
  }
599
599
  );
600
- return { hash: await x(this._config, d), result: n };
600
+ return { hash: await V(this._config, d), result: n };
601
601
  }
602
602
  /**
603
603
  * Claims one incentive for a given `Boost` on behalf of another user by `boostId` and `incentiveId`
@@ -612,12 +612,12 @@ const _ = class _ extends gf {
612
612
  * @param {?WriteParams} [params]
613
613
  * @returns {Promise<void>}
614
614
  */
615
- async claimIncentiveFor(e, f, b, a, c, d) {
615
+ async claimIncentiveFor(b, f, e, a, c, d) {
616
616
  return await this.awaitResult(
617
617
  this.claimIncentiveForRaw(
618
- e,
619
- f,
620
618
  b,
619
+ f,
620
+ e,
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(e, f, b, a, c, d) {
640
+ async claimIncentiveForRaw(b, f, e, 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: [e, f, b, a, c],
649
+ args: [b, f, e, 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(e, f) {
668
- var b;
667
+ async readBoost(b, f) {
668
+ var e;
669
669
  try {
670
670
  let a;
671
- return typeof e == "string" ? a = BigInt(e) : a = e, await q(this._config, {
671
+ return typeof b == "string" ? a = BigInt(b) : a = b, 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 (b = a == null ? void 0 : a.message) != null && b.includes("bounds") ? new Sf(String(e)) : a;
683
+ throw (e = a == null ? void 0 : a.message) != null && e.includes("bounds") ? new Sf(String(b)) : 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(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 = {
696
+ async getBoost(b, f) {
697
+ let e;
698
+ typeof b == "string" ? e = BigInt(b) : e = b;
699
+ const { protocolFee: a, maxParticipants: c, owner: d, ...n } = await this.readBoost(e, 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: b,
714
+ id: e,
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(e) {
733
+ async getBoostCount(b) {
734
734
  return await z(this._config, {
735
735
  ...h(
736
736
  this._config,
737
737
  this.addresses,
738
- e == null ? void 0 : e.chainId
738
+ b == null ? void 0 : b.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
- ...e
743
+ ...b
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(e, f) {
757
- const b = await this.createBoostAuth(f);
758
- return W(this._config, {
759
- address: b,
760
- args: [e],
756
+ async isAuthorized(b, f) {
757
+ const e = await this.createBoostAuth(f);
758
+ return G(this._config, {
759
+ address: e,
760
+ args: [b],
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(e) {
775
- return await G(this._config, {
774
+ async createBoostAuth(b) {
775
+ return await U(this._config, {
776
776
  ...h(
777
777
  this._config,
778
778
  this.addresses,
779
- e == null ? void 0 : e.chainId
779
+ b == null ? void 0 : b.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
- ...e
784
+ ...b
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(e, f) {
796
+ async setCreateBoostAuth(b, f) {
797
797
  return await this.awaitResult(
798
- this.setCreateBoostAuthRaw(e.assertValidAddress(), {
798
+ this.setCreateBoostAuthRaw(b.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(e, f) {
813
- const { request: b, result: a } = await U(
812
+ async setCreateBoostAuthRaw(b, f) {
813
+ const { request: e, result: a } = await k(
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: [e],
821
+ args: [b],
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, b), result: a };
827
+ return { hash: await W(this._config, e), 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(e) {
837
+ async protocolFee(b) {
838
838
  return await H(this._config, {
839
839
  ...h(
840
840
  this._config,
841
841
  this.addresses,
842
- e == null ? void 0 : e.chainId
842
+ b == null ? void 0 : b.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
- ...e
847
+ ...b
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(e) {
858
+ async protocolFeeReceiver(b) {
859
859
  return await J(this._config, {
860
860
  ...h(
861
861
  this._config,
862
862
  this.addresses,
863
- e == null ? void 0 : e.chainId
863
+ b == null ? void 0 : b.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
- ...e
868
+ ...b
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(e, f) {
880
+ async setProcolFeeReceiver(b, f) {
881
881
  return await this.awaitResult(
882
- this.setProcolFeeReceiverRaw(e, {
882
+ this.setProcolFeeReceiverRaw(b, {
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(e, f) {
897
- const { request: b, result: a } = await K(
896
+ async setProcolFeeReceiverRaw(b, f) {
897
+ const { request: e, 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: [e],
905
+ args: [b],
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
- b
913
+ e
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(e) {
939
+ async getClaimFromTransaction(b) {
940
940
  var a;
941
- const f = await ff(this._config, e);
941
+ const f = await ff(this._config, b);
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(e, f) {
972
- const b = await this.protocolFee(f);
973
- return e * b / Kf;
971
+ async calculateProtocolFee(b, f) {
972
+ const e = await this.protocolFee(f);
973
+ return b * e / 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(e) {
986
+ PassthroughAuth(b) {
987
987
  return new rf(
988
988
  { config: this._config, account: this._account },
989
- e
989
+ b
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(e, f) {
1022
+ EventAction(b, f) {
1023
1023
  return new cf(
1024
1024
  { config: this._config, account: this._account },
1025
- e,
1025
+ b,
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(e) {
1062
+ OpenAllowList(b) {
1063
1063
  return new nf(
1064
1064
  { config: this._config, account: this._account },
1065
1065
  void 0,
1066
- e
1066
+ b
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(e, f) {
1081
+ SimpleAllowList(b, f) {
1082
1082
  return new sf(
1083
1083
  { config: this._config, account: this._account },
1084
- e,
1084
+ b,
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(e, f) {
1100
+ SimpleDenyList(b, f) {
1101
1101
  return new of(
1102
1102
  { config: this._config, account: this._account },
1103
- e,
1103
+ b,
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(e) {
1135
+ ManagedBudget(b) {
1136
1136
  return new hf(
1137
1137
  { config: this._config, account: this._account },
1138
- e
1138
+ b
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(e) {
1154
- return typeof e != "string" && (e.authorized = [this.assertValidAddress(), ...e.authorized], e.roles = [wf.MANAGER, ...e.roles]), new lf(
1153
+ ManagedBudgetWithFees(b) {
1154
+ return typeof b != "string" && (b.authorized = [this.assertValidAddress(), ...b.authorized], b.roles = [wf.MANAGER, ...b.roles]), new lf(
1155
1155
  { config: this._config, account: this._account },
1156
- e
1156
+ b
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(e) {
1187
+ AllowListIncentive(b) {
1188
1188
  return new vf(
1189
1189
  { config: this._config, account: this._account },
1190
- e
1190
+ b
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(e) {
1204
+ CGDAIncentive(b) {
1205
1205
  return new mf(
1206
1206
  { config: this._config, account: this._account },
1207
- e
1207
+ b
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(e) {
1221
+ ERC20Incentive(b) {
1222
1222
  return new Cf(
1223
1223
  { config: this._config, account: this._account },
1224
- e
1224
+ b
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(e) {
1238
+ ERC20PeggedIncentive(b) {
1239
1239
  return new If(
1240
1240
  { config: this._config, account: this._account },
1241
- e
1241
+ b
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(e) {
1274
+ PointsIncentive(b) {
1275
1275
  return new _f(
1276
1276
  { config: this._config, account: this._account },
1277
- e
1277
+ b
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(e, f) {
1292
+ SignerValidator(b, f) {
1293
1293
  return new Bf(
1294
1294
  { config: this._config, account: this._account },
1295
- e,
1295
+ b,
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(e, f) {
1311
+ LimitedSignerValidator(b, f) {
1312
1312
  return new Pf(
1313
1313
  { config: this._config, account: this._account },
1314
- e,
1314
+ b,
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(e, f) {
1330
+ ERC20VariableCriteriaIncentive(b, f) {
1331
1331
  return new yf(
1332
1332
  { config: this._config, account: this._account },
1333
- e,
1333
+ b,
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(e, f) {
1349
+ ERC20VariableIncentive(b, f) {
1350
1350
  return new Mf(
1351
1351
  { config: this._config, account: this._account },
1352
- e,
1352
+ b,
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(e, f) {
1365
- const [b, a] = this.validateDeploymentConfig(
1366
- e,
1364
+ buildParameters(b, f) {
1365
+ const [e, a] = this.validateDeploymentConfig(
1366
+ b,
1367
1367
  f
1368
1368
  );
1369
1369
  return {
1370
1370
  abi: C,
1371
1371
  bytecode: Tf,
1372
- args: b,
1372
+ args: e,
1373
1373
  ...this.optionallyAttachAccount(a.account)
1374
1374
  };
1375
1375
  }