@boostxyz/sdk 0.0.0-alpha.13 → 0.0.0-alpha.15

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 (151) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +1 -1
  3. package/dist/Actions/ContractAction.d.ts.map +1 -1
  4. package/dist/Actions/ERC721MintAction.d.ts.map +1 -1
  5. package/dist/Actions/EventAction.cjs +1 -1
  6. package/dist/Actions/EventAction.cjs.map +1 -1
  7. package/dist/Actions/EventAction.d.ts.map +1 -1
  8. package/dist/Actions/EventAction.js +68 -63
  9. package/dist/Actions/EventAction.js.map +1 -1
  10. package/dist/AllowLists/AllowList.cjs +1 -1
  11. package/dist/AllowLists/AllowList.js +2 -2
  12. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  13. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
  14. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
  15. package/dist/AllowLists/SimpleAllowList.js +10 -11
  16. package/dist/AllowLists/SimpleAllowList.js.map +1 -1
  17. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  18. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
  19. package/dist/AllowLists/SimpleDenyList.js +2 -2
  20. package/dist/Auth/PassthroughAuth.cjs +1 -1
  21. package/dist/Auth/PassthroughAuth.js +1 -1
  22. package/dist/Boost.js +10 -22
  23. package/dist/Boost.js.map +1 -1
  24. package/dist/BoostCore.cjs +2 -2
  25. package/dist/BoostCore.cjs.map +1 -1
  26. package/dist/BoostCore.js +90 -76
  27. package/dist/BoostCore.js.map +1 -1
  28. package/dist/BoostRegistry.cjs +1 -1
  29. package/dist/BoostRegistry.cjs.map +1 -1
  30. package/dist/BoostRegistry.js +12 -12
  31. package/dist/Budgets/Budget.cjs +1 -1
  32. package/dist/Budgets/Budget.js +1 -1
  33. package/dist/Budgets/ManagedBudget.cjs +1 -1
  34. package/dist/Budgets/ManagedBudget.cjs.map +1 -1
  35. package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
  36. package/dist/Budgets/ManagedBudget.js +34 -35
  37. package/dist/Budgets/ManagedBudget.js.map +1 -1
  38. package/dist/Budgets/SimpleBudget.d.ts.map +1 -1
  39. package/dist/Budgets/VestingBudget.d.ts.map +1 -1
  40. package/dist/Deployable/Contract.cjs.map +1 -1
  41. package/dist/Deployable/Contract.js +1 -2
  42. package/dist/Deployable/Contract.js.map +1 -1
  43. package/dist/Deployable/Deployable.cjs.map +1 -1
  44. package/dist/Deployable/Deployable.d.ts.map +1 -1
  45. package/dist/Deployable/Deployable.js +2 -4
  46. package/dist/Deployable/Deployable.js.map +1 -1
  47. package/dist/Deployable/DeployableTarget.cjs +1 -1
  48. package/dist/Deployable/DeployableTarget.cjs.map +1 -1
  49. package/dist/Deployable/DeployableTarget.d.ts +1 -1
  50. package/dist/Deployable/DeployableTarget.d.ts.map +1 -1
  51. package/dist/Deployable/DeployableTarget.js +3 -5
  52. package/dist/Deployable/DeployableTarget.js.map +1 -1
  53. package/dist/Incentive-BroOQqVi.cjs +2 -0
  54. package/dist/Incentive-BroOQqVi.cjs.map +1 -0
  55. package/dist/Incentive-CSnbCt3P.js +299 -0
  56. package/dist/Incentive-CSnbCt3P.js.map +1 -0
  57. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  58. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  59. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
  60. package/dist/Incentives/AllowListIncentive.js +10 -11
  61. package/dist/Incentives/AllowListIncentive.js.map +1 -1
  62. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  63. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  64. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
  65. package/dist/Incentives/CGDAIncentive.js +10 -11
  66. package/dist/Incentives/CGDAIncentive.js.map +1 -1
  67. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
  68. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  69. package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
  70. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
  71. package/dist/Incentives/ERC20Incentive.js +18 -19
  72. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  73. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  74. package/dist/Incentives/Incentive.cjs +1 -1
  75. package/dist/Incentives/Incentive.cjs.map +1 -1
  76. package/dist/Incentives/Incentive.js +16 -300
  77. package/dist/Incentives/Incentive.js.map +1 -1
  78. package/dist/Incentives/PointsIncentive.cjs +1 -1
  79. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  80. package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
  81. package/dist/Incentives/PointsIncentive.js +8 -9
  82. package/dist/Incentives/PointsIncentive.js.map +1 -1
  83. package/dist/{SimpleDenyList-DeJRKD2D.cjs → SimpleDenyList-CzNNbmmV.cjs} +2 -2
  84. package/dist/SimpleDenyList-CzNNbmmV.cjs.map +1 -0
  85. package/dist/{SimpleDenyList-C21O9Yfi.js → SimpleDenyList-sfskWLfa.js} +9 -10
  86. package/dist/SimpleDenyList-sfskWLfa.js.map +1 -0
  87. package/dist/Validators/SignerValidator.cjs +1 -1
  88. package/dist/Validators/SignerValidator.cjs.map +1 -1
  89. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  90. package/dist/Validators/SignerValidator.js +15 -16
  91. package/dist/Validators/SignerValidator.js.map +1 -1
  92. package/dist/Validators/Validator.cjs +1 -1
  93. package/dist/Validators/Validator.js +1 -1
  94. package/dist/generated-BulULVyy.cjs +3 -0
  95. package/dist/generated-BulULVyy.cjs.map +1 -0
  96. package/dist/{generated-LpgSHrH0.js → generated-CdXG-MpB.js} +367 -351
  97. package/dist/generated-CdXG-MpB.js.map +1 -0
  98. package/dist/index.cjs +1 -1
  99. package/dist/index.d.ts +3 -0
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +96 -84
  102. package/dist/index.js.map +1 -1
  103. package/dist/utils.cjs.map +1 -1
  104. package/dist/utils.js.map +1 -1
  105. package/package.json +6 -6
  106. package/src/Actions/Action.test.ts +4 -4
  107. package/src/Actions/ContractAction.test.ts +4 -4
  108. package/src/Actions/ContractAction.ts +1 -3
  109. package/src/Actions/ERC721MintAction.test.ts +4 -4
  110. package/src/Actions/ERC721MintAction.ts +1 -3
  111. package/src/Actions/EventAction.test.ts +80 -83
  112. package/src/Actions/EventAction.ts +3 -2
  113. package/src/AllowLists/AllowList.test.ts +2 -2
  114. package/src/AllowLists/OpenAllowList.test.ts +3 -3
  115. package/src/AllowLists/SimpleAllowList.test.ts +2 -2
  116. package/src/AllowLists/SimpleAllowList.ts +1 -1
  117. package/src/AllowLists/SimpleDenyList.test.ts +2 -2
  118. package/src/AllowLists/SimpleDenyList.ts +0 -1
  119. package/src/Auth/PassthroughAuth.test.ts +1 -1
  120. package/src/BoostCore.test.ts +10 -12
  121. package/src/Budgets/Budget.test.ts +2 -2
  122. package/src/Budgets/ManagedBudget.test.ts +6 -6
  123. package/src/Budgets/ManagedBudget.ts +0 -1
  124. package/src/Budgets/SimpleBudget.test.ts +5 -5
  125. package/src/Budgets/SimpleBudget.ts +1 -3
  126. package/src/Budgets/VestingBudget.test.ts +4 -4
  127. package/src/Budgets/VestingBudget.ts +1 -3
  128. package/src/Deployable/DeployableTarget.ts +2 -2
  129. package/src/Incentives/AllowListIncentive.test.ts +3 -3
  130. package/src/Incentives/AllowListIncentive.ts +0 -1
  131. package/src/Incentives/CGDAIncentive.test.ts +3 -3
  132. package/src/Incentives/CGDAIncentive.ts +0 -1
  133. package/src/Incentives/ERC1155Incentive.test.ts +3 -3
  134. package/src/Incentives/ERC1155Incentive.ts +1 -3
  135. package/src/Incentives/ERC20Incentive.test.ts +3 -3
  136. package/src/Incentives/ERC20Incentive.ts +0 -1
  137. package/src/Incentives/ERC20VariableIncentive.test.ts +3 -3
  138. package/src/Incentives/ERC20VariableIncentive.ts +0 -1
  139. package/src/Incentives/Incentive.test.ts +1 -1
  140. package/src/Incentives/PointsIncentive.test.ts +4 -4
  141. package/src/Incentives/PointsIncentive.ts +0 -1
  142. package/src/Validators/SignerValidator.test.ts +4 -4
  143. package/src/Validators/SignerValidator.ts +0 -1
  144. package/src/Validators/Validator.test.ts +2 -2
  145. package/src/index.ts +3 -0
  146. package/src/utils.test.ts +2 -2
  147. package/dist/SimpleDenyList-C21O9Yfi.js.map +0 -1
  148. package/dist/SimpleDenyList-DeJRKD2D.cjs.map +0 -1
  149. package/dist/generated-LpgSHrH0.js.map +0 -1
  150. package/dist/generated-tq_HLZJ0.cjs +0 -3
  151. package/dist/generated-tq_HLZJ0.cjs.map +0 -1
package/dist/BoostCore.js CHANGED
@@ -1,29 +1,29 @@
1
- import { d as R, bd as X, be as Y, bf as Z, bg as ff, bh as ef, bi as bf, bj as tf, bk as af, bl as cf, bm as nf, bn as sf, bo as df, bp as of, bq as rf, br as uf, bs as lf, bt as hf } from "./generated-LpgSHrH0.js";
1
+ import { d as R, bd as X, be as Y, bf as Z, bg as ff, bh as ef, bi as bf, bj as tf, bk as af, bl as cf, bm as nf, bn as sf, bo as df, bp as of, bq as rf, br as uf, bs as lf, bt as hf } from "./generated-CdXG-MpB.js";
2
2
  import { getAccount as gf, waitForTransactionReceipt as wf } from "@wagmi/core";
3
- import { createClient as yf, custom as Cf, parseEther as mf, zeroAddress as C, zeroHash as u, parseEventLogs as vf } from "viem";
3
+ import { createClient as yf, custom as mf, parseEther as Cf, zeroAddress as m, zeroHash as u, parseEventLogs as vf } from "viem";
4
4
  import { e as T } from "./deployments-BvFcK_eR.js";
5
5
  import { actionFromAddress as Af } from "./Actions/Action.js";
6
6
  import { EventAction as If } from "./Actions/EventAction.js";
7
7
  import { allowListFromAddress as _f, OpenAllowList as Pf } from "./AllowLists/AllowList.js";
8
8
  import { SimpleAllowList as Bf } from "./AllowLists/SimpleAllowList.js";
9
- import { S as Rf } from "./SimpleDenyList-C21O9Yfi.js";
9
+ import { S as Rf } from "./SimpleDenyList-sfskWLfa.js";
10
10
  import { PassthroughAuth as Ef } from "./Auth/PassthroughAuth.js";
11
- import { prepareBoostPayload as Ff, Boost as N } from "./Boost.js";
11
+ import { prepareBoostPayload as Ff, Boost as M } from "./Boost.js";
12
12
  import { budgetFromAddress as pf } from "./Budgets/Budget.js";
13
13
  import { ManagedBudget as Df } from "./Budgets/ManagedBudget.js";
14
14
  import { Deployable as Of } from "./Deployable/Deployable.js";
15
15
  import { AllowListIncentive as Lf } from "./Incentives/AllowListIncentive.js";
16
16
  import { CGDAIncentive as Sf } from "./Incentives/CGDAIncentive.js";
17
17
  import { ERC20Incentive as $f } from "./Incentives/ERC20Incentive.js";
18
- import { incentiveFromAddress as xf, ERC20VariableIncentive as Mf } from "./Incentives/Incentive.js";
19
- import { PointsIncentive as Nf } from "./Incentives/PointsIncentive.js";
20
- import { SignerValidator as jf } from "./Validators/SignerValidator.js";
18
+ import { i as jf, E as xf } from "./Incentive-CSnbCt3P.js";
19
+ import { PointsIncentive as Mf } from "./Incentives/PointsIncentive.js";
20
+ import { SignerValidator as Nf } from "./Validators/SignerValidator.js";
21
21
  import { validatorFromAddress as qf } from "./Validators/Validator.js";
22
- import { DeployableUnknownOwnerProvidedError as Vf, BudgetMustAuthorizeBoostCore as Tf, MustInitializeBudgetError as zf, IncentiveNotCloneableError as kf, BoostCoreNoIdentifierEmitted as Gf } from "./errors.js";
22
+ import { DeployableUnknownOwnerProvidedError as Vf, BudgetMustAuthorizeBoostCore as Tf, MustInitializeBudgetError as zf, IncentiveNotCloneableError as Gf, BoostCoreNoIdentifierEmitted as Uf } from "./errors.js";
23
23
  import { assertValidAddressByChainId as l } from "./utils.js";
24
- import { simulateContract as Uf, writeContract as Wf } from "viem/actions";
25
- import { parseAccount as Hf, getAddress as Qf } from "viem/utils";
26
- const Jf = "0x60806040526544364c5bb0006004556103e860055f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506103e8600560086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561006e575f80fd5b506040516135bc3803806135bc8339818101604052810190610090919061029f565b61009f3361012660201b60201c565b8160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506102dd565b61013461020260201b60201c565b156101ac577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561016e57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101ff565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102338261020a565b9050919050565b5f61024482610229565b9050919050565b6102548161023a565b811461025e575f80fd5b50565b5f8151905061026f8161024b565b92915050565b61027e81610229565b8114610288575f80fd5b50565b5f8151905061029981610275565b92915050565b5f80604083850312156102b5576102b4610206565b5b5f6102c285828601610261565b92505060206102d38582860161028b565b9150509250929050565b6132d2806102ea5f395ff3fe60806040526004361061014a575f3560e01c8063892b97f8116100b5578063d73792a91161006e578063d73792a9146103d0578063e21ff731146103fa578063eccc19a614610436578063f04e283e1461045e578063f2fde38b1461047a578063fee81cf4146104965761014a565b8063892b97f8146102e45780638da5cb5b1461030c5780638fe4f5231461033657806399d32fc414610352578063a92647dc1461037c578063b0e21e8a146103a65761014a565b806354d1f13d1161010757806354d1f13d146102365780635edb9eb014610240578063715018a61461026a578063730f9c57146102745780637b1039991461029057806384ae2bc6146102ba5761014a565b806313c8e2de1461014e578063256929621461018a5780632e75ab501461019457806339a51be5146101bc57806343bc42d3146101e657806346877b1a1461020e575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f9190612326565b6104d2565b6040516101819190612617565b60405180910390f35b6101926107ac565b005b34801561019f575f80fd5b506101ba60048036038101906101b59190612326565b6107fd565b005b3480156101c7575f80fd5b506101d061080f565b6040516101dd9190612646565b60405180910390f35b3480156101f1575f80fd5b5061020c60048036038101906102079190612689565b610834565b005b348015610219575f80fd5b50610234600480360381019061022f91906126de565b610867565b005b61023e6108b2565b005b34801561024b575f80fd5b506102546108eb565b6040516102619190612718565b60405180910390f35b6102726108f6565b005b61028e60048036038101906102899190612792565b610909565b005b34801561029b575f80fd5b506102a4610bee565b6040516102b19190612848565b60405180910390f35b3480156102c5575f80fd5b506102ce610c13565b6040516102db9190612870565b60405180910390f35b3480156102ef575f80fd5b5061030a60048036038101906103059190612689565b610c2d565b005b348015610317575f80fd5b50610320610c61565b60405161032d9190612646565b60405180910390f35b610350600480360381019061034b9190612889565b610c89565b005b34801561035d575f80fd5b50610366610c9e565b6040516103739190612718565b60405180910390f35b348015610387575f80fd5b50610390610ca4565b60405161039d919061292d565b60405180910390f35b3480156103b1575f80fd5b506103ba610cc9565b6040516103c79190612870565b60405180910390f35b3480156103db575f80fd5b506103e4610ce2565b6040516103f19190612870565b60405180910390f35b348015610405575f80fd5b50610420600480360381019061041b9190612946565b610ce8565b60405161042d9190612617565b60405180910390f35b348015610441575f80fd5b5061045c600480360381019061045791906126de565b6116a3565b005b610478600480360381019061047391906126de565b6116ee565b005b610494600480360381019061048f91906126de565b61172c565b005b3480156104a1575f80fd5b506104bc60048036038101906104b791906126de565b611755565b6040516104c99190612718565b60405180910390f35b6104da61217a565b5f82815481106104ed576104ec612991565b5b905f5260205f209060080201604051806101200160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482018054806020026020016040519081016040528092919081815260200182805480156106da57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610691575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016005820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b5f6107b561176e565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b610805611778565b8060048190555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61083c611778565b8060055f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b61086f611778565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b6108fe611778565b6109075f6117af565b565b3068929eee149b4bd2126854036109275763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80878154811061094757610946612991565b5b905f5260205f20906008020190506004543410156109a2575f346004546040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610999939291906129be565b60405180910390fd5b6109ac8186611875565b806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b690088888588886040518663ffffffff1660e01b8152600401610a10959493929190612a4d565b6020604051808303815f875af1158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a509190612ace565b610a86576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806004018681548110610a9c57610a9b612991565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb1757cf8386866040518463ffffffff1660e01b8152600401610b0093929190612af9565b6020604051808303815f875af1158015610b1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b409190612ace565b610b85578184846040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610b7c93929190612af9565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1686887f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b259547888888604051610bd193929190612af9565b60405180910390a4503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560089054906101000a900467ffffffffffffffff1681565b610c35611778565b80600560086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b610c97858585858533610909565b5050505050565b60045481565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900467ffffffffffffffff1681565b61271081565b610cf061217a565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610de4575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b8152600401610da39190612646565b602060405180830381865afa158015610dbe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de29190612ace565b155b15610e1b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd212685403610e395763ab143c065f526004601cfd5b3068929eee149b4bd21268555f610e9285858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050506119e3565b806020019051810190610ea59190612f89565b9050610eb3815f0151611a7c565b5f8060018160018154018082558091505003905f5260205f2090600802019050816101000151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160a0015160055f9054906101000a900467ffffffffffffffff16610f849190612ffd565b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c00151600560089054906101000a900467ffffffffffffffff16610fd39190612ffd565b8160050160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160e00151816006018190555061103a7fe67157950000000000000000000000000000000000000000000000000000000083602001516001611b57565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110aa7fe2089f790000000000000000000000000000000000000000000000000000000083606001516001611b57565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110fc8260800151835f0151611b79565b816004019080519060200190611113929190612240565b505f73ffffffffffffffffffffffffffffffffffffffff1682604001516020015173ffffffffffffffffffffffffffffffffffffffff16146111845761117f7f5912b89c0000000000000000000000000000000000000000000000000000000083604001516001611b57565b61126d565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016111ff9190613072565b602060405180830381865afa15801561121a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123e9190612ace565b611248575f61126c565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f80549050611332919061308b565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8460040180549050856001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516113d794939291906130be565b60405180910390a480604051806101200160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482018054806020026020016040519081016040528092919081815260200182805480156115c157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611578575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016005820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050935050503868929eee149b4bd21268555092915050565b6116ab611778565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6116f6611778565b63389a75e1600c52805f526020600c20805442111561171c57636f5e88185f526004601cfd5b5f815550611729816117af565b50565b611734611778565b8060601b61174957637448fbae5f526004601cfd5b611752816117af565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146117ad576382b429005f526004601cfd5b565b6117b7611f43565b1561181c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611872565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f60045403156119df575f60045490505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461193b575f61271067ffffffffffffffff168460050160089054906101000a900467ffffffffffffffff1667ffffffffffffffff166004546118f69190613101565b611900919061316f565b9050808261190e919061308b565b9150611939818473ffffffffffffffffffffffffffffffffffffffff16611f4790919063ffffffff16565b505b61199360028261194b919061316f565b846007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611f4790919063ffffffff16565b6119dd4760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611f4790919063ffffffff16565b505b5050565b6060815115611a775760405190506020810160048301805184518501811983525b80861015611a5d576001860195508551601f1a80611a4d576001870196508651601f1a5f198652607f8111611a3b57600181013887395b6001607f821601860195505050611a58565b808553600185019450505b611a04565b81835260208501840385525f845260208401604052505050505b919050565b611aa67fea5ad34e0000000000000000000000000000000000000000000000000000000082611f64565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b8152600401611adf9190612646565b602060405180830381865afa158015611afa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b1e9190612ace565b611b54576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f611b66848460200151611f64565b611b70838361205b565b90509392505050565b6060825167ffffffffffffffff811115611b9657611b95612b2d565b5b604051908082528060200260200182016040528015611bc45781602001602082028036833780820191505090505b5090505f5b8351811015611f3c57611c1a7f5970a68900000000000000000000000000000000000000000000000000000000858381518110611c0957611c08612991565b5b602002602001015160200151611f64565b838181518110611c2d57611c2c612991565b5b60200260200101515f0151611cb9577f5970a68900000000000000000000000000000000000000000000000000000000848281518110611c7057611c6f612991565b5b6020026020010151602001516040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401611cb092919061319f565b60405180910390fd5b611cfe7f5970a68900000000000000000000000000000000000000000000000000000000858381518110611cf057611cef612991565b5b60200260200101515f611b57565b828281518110611d1157611d10612991565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f828281518110611d5f57611d5e612991565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16634e7165a2868481518110611d9557611d94612991565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401611dbd9190613208565b5f60405180830381865afa158015611dd7573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611dff9190613228565b90505f815114611e90578373ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1826040518263ffffffff1660e01b8152600401611e429190613208565b6020604051808303815f875af1158015611e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e829190612ace565b611e8f57611e8e61326f565b5b5b828281518110611ea357611ea2612991565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663439fab91868481518110611ed957611ed8612991565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401611f019190613208565b5f604051808303815f87803b158015611f18575f80fd5b505af1158015611f2a573d5f803e3d5ffd5b50505050508080600101915050611bc9565b5092915050565b5f90565b5f385f3884865af1611f605763b12d13eb5f526004601cfd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061201357508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b8152600401611fd29190613072565b602060405180830381865afa158015611fed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120119190612ace565b155b156120575781816040517fe1c4444800000000000000000000000000000000000000000000000000000000815260040161204e92919061319f565b60405180910390fd5b5050565b5f825f015161206e578260200151612092565b612091836020015173ffffffffffffffffffffffffffffffffffffffff16612117565b5b9050825f015180156120a15750815b15612111578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b81526004016120e39190613208565b5f604051808303815f87803b1580156120fa575f80fd5b505af115801561210c573d5f803e3d5ffd5b505050505b92915050565b5f6121225f83612129565b9050919050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806121705763301164255f526004601cfd5b5f60215292915050565b6040518061012001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b828054828255905f5260205f209081019282156122b6579160200282015b828111156122b5578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061225e565b5b5090506122c391906122c7565b5090565b5b808211156122de575f815f9055506001016122c8565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b612305816122f3565b811461230f575f80fd5b50565b5f81359050612320816122fc565b92915050565b5f6020828403121561233b5761233a6122eb565b5b5f61234884828501612312565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61239361238e61238984612351565b612370565b612351565b9050919050565b5f6123a482612379565b9050919050565b5f6123b58261239a565b9050919050565b6123c5816123ab565b82525050565b5f6123d58261239a565b9050919050565b6123e5816123cb565b82525050565b5f6123f58261239a565b9050919050565b612405816123eb565b82525050565b5f61241582612379565b9050919050565b5f6124268261240b565b9050919050565b6124368161241c565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f61246f8261239a565b9050919050565b61247f81612465565b82525050565b5f6124908383612476565b60208301905092915050565b5f602082019050919050565b5f6124b28261243c565b6124bc8185612446565b93506124c783612456565b805f5b838110156124f75781516124de8882612485565b97506124e98361249c565b9250506001810190506124ca565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b61252081612504565b82525050565b61252f816122f3565b82525050565b5f61253f82612351565b9050919050565b61254f81612535565b82525050565b5f61012083015f83015161256b5f8601826123bc565b50602083015161257e60208601826123dc565b50604083015161259160408601826123fc565b5060608301516125a4606086018261242d565b50608083015184820360808601526125bc82826124a8565b91505060a08301516125d160a0860182612517565b5060c08301516125e460c0860182612517565b5060e08301516125f760e0860182612526565b5061010083015161260c610100860182612546565b508091505092915050565b5f6020820190508181035f83015261262f8184612555565b905092915050565b61264081612535565b82525050565b5f6020820190506126595f830184612637565b92915050565b61266881612504565b8114612672575f80fd5b50565b5f813590506126838161265f565b92915050565b5f6020828403121561269e5761269d6122eb565b5b5f6126ab84828501612675565b91505092915050565b6126bd81612535565b81146126c7575f80fd5b50565b5f813590506126d8816126b4565b92915050565b5f602082840312156126f3576126f26122eb565b5b5f612700848285016126ca565b91505092915050565b612712816122f3565b82525050565b5f60208201905061272b5f830184612709565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261275257612751612731565b5b8235905067ffffffffffffffff81111561276f5761276e612735565b5b60208301915083600182028301111561278b5761278a612739565b5b9250929050565b5f805f805f8060a087890312156127ac576127ab6122eb565b5b5f6127b989828a01612312565b96505060206127ca89828a01612312565b95505060406127db89828a016126ca565b945050606087013567ffffffffffffffff8111156127fc576127fb6122ef565b5b61280889828a0161273d565b9350935050608061281b89828a016126ca565b9150509295509295509295565b5f6128328261239a565b9050919050565b61284281612828565b82525050565b5f60208201905061285b5f830184612839565b92915050565b61286a81612504565b82525050565b5f6020820190506128835f830184612861565b92915050565b5f805f805f608086880312156128a2576128a16122eb565b5b5f6128af88828901612312565b95505060206128c088828901612312565b94505060406128d1888289016126ca565b935050606086013567ffffffffffffffff8111156128f2576128f16122ef565b5b6128fe8882890161273d565b92509250509295509295909350565b5f6129178261239a565b9050919050565b6129278161290d565b82525050565b5f6020820190506129405f83018461291e565b92915050565b5f806020838503121561295c5761295b6122eb565b5b5f83013567ffffffffffffffff811115612979576129786122ef565b5b6129858582860161273d565b92509250509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6060820190506129d15f830186612637565b6129de6020830185612709565b6129eb6040830184612709565b949350505050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f612a2c83856129f3565b9350612a39838584612a03565b612a4283612a11565b840190509392505050565b5f608082019050612a605f830188612709565b612a6d6020830187612709565b612a7a6040830186612637565b8181036060830152612a8d818486612a21565b90509695505050505050565b5f8115159050919050565b612aad81612a99565b8114612ab7575f80fd5b50565b5f81519050612ac881612aa4565b92915050565b5f60208284031215612ae357612ae26122eb565b5b5f612af084828501612aba565b91505092915050565b5f604082019050612b0c5f830186612637565b8181036020830152612b1f818486612a21565b9050949350505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612b6382612a11565b810181811067ffffffffffffffff82111715612b8257612b81612b2d565b5b80604052505050565b5f612b946122e2565b9050612ba08282612b5a565b919050565b5f80fd5b5f612bb382612351565b9050919050565b5f612bc482612ba9565b9050919050565b612bd481612bba565b8114612bde575f80fd5b50565b5f81519050612bef81612bcb565b92915050565b5f81519050612c03816126b4565b92915050565b5f80fd5b5f67ffffffffffffffff821115612c2757612c26612b2d565b5b612c3082612a11565b9050602081019050919050565b8281835e5f83830152505050565b5f612c5d612c5884612c0d565b612b8b565b905082815260208101848484011115612c7957612c78612c09565b5b612c84848285612c3d565b509392505050565b5f82601f830112612ca057612c9f612731565b5b8151612cb0848260208601612c4b565b91505092915050565b5f60608284031215612cce57612ccd612b29565b5b612cd86060612b8b565b90505f612ce784828501612aba565b5f830152506020612cfa84828501612bf5565b602083015250604082015167ffffffffffffffff811115612d1e57612d1d612ba5565b5b612d2a84828501612c8c565b60408301525092915050565b5f67ffffffffffffffff821115612d5057612d4f612b2d565b5b602082029050602081019050919050565b5f612d73612d6e84612d36565b612b8b565b90508083825260208201905060208402830185811115612d9657612d95612739565b5b835b81811015612ddd57805167ffffffffffffffff811115612dbb57612dba612731565b5b808601612dc88982612cb9565b85526020850194505050602081019050612d98565b5050509392505050565b5f82601f830112612dfb57612dfa612731565b5b8151612e0b848260208601612d61565b91505092915050565b5f81519050612e228161265f565b92915050565b5f81519050612e36816122fc565b92915050565b5f6101208284031215612e5257612e51612b29565b5b612e5d610120612b8b565b90505f612e6c84828501612be1565b5f83015250602082015167ffffffffffffffff811115612e8f57612e8e612ba5565b5b612e9b84828501612cb9565b602083015250604082015167ffffffffffffffff811115612ebf57612ebe612ba5565b5b612ecb84828501612cb9565b604083015250606082015167ffffffffffffffff811115612eef57612eee612ba5565b5b612efb84828501612cb9565b606083015250608082015167ffffffffffffffff811115612f1f57612f1e612ba5565b5b612f2b84828501612de7565b60808301525060a0612f3f84828501612e14565b60a08301525060c0612f5384828501612e14565b60c08301525060e0612f6784828501612e28565b60e083015250610100612f7c84828501612bf5565b6101008301525092915050565b5f60208284031215612f9e57612f9d6122eb565b5b5f82015167ffffffffffffffff811115612fbb57612fba6122ef565b5b612fc784828501612e3c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61300782612504565b915061301283612504565b9250828201905067ffffffffffffffff81111561303257613031612fd0565b5b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61306c81613038565b82525050565b5f6020820190506130855f830184613063565b92915050565b5f613095826122f3565b91506130a0836122f3565b92508282039050818111156130b8576130b7612fd0565b5b92915050565b5f6080820190506130d15f830187612709565b6130de6020830186612637565b6130eb6040830185612637565b6130f86060830184612637565b95945050505050565b5f61310b826122f3565b9150613116836122f3565b9250828202613124816122f3565b9150828204841483151761313b5761313a612fd0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613179826122f3565b9150613184836122f3565b92508261319457613193613142565b5b828204905092915050565b5f6040820190506131b25f830185613063565b6131bf6020830184612637565b9392505050565b5f81519050919050565b5f6131da826131c6565b6131e481856129f3565b93506131f4818560208601612c3d565b6131fd81612a11565b840191505092915050565b5f6020820190508181035f83015261322081846131d0565b905092915050565b5f6020828403121561323d5761323c6122eb565b5b5f82015167ffffffffffffffff81111561325a576132596122ef565b5b61326684828501612c8c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffdfea2646970667358221220a6183c86da5ac2a94caf1c18f200fbe18347be3f177f19dba5d5253c314dcfe064736f6c634300081a0033";
24
+ import { simulateContract as kf, writeContract as Wf } from "viem/actions";
25
+ import { parseAccount as Hf, getAddress as Jf } from "viem/utils";
26
+ const Qf = "0x60806040526544364c5bb0006004556103e860055f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506103e8600560086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561006e575f80fd5b506040516136713803806136718339818101604052810190610090919061029f565b61009f3361012660201b60201c565b8160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506102dd565b61013461020260201b60201c565b156101ac577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561016e57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101ff565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102338261020a565b9050919050565b5f61024482610229565b9050919050565b6102548161023a565b811461025e575f80fd5b50565b5f8151905061026f8161024b565b92915050565b61027e81610229565b8114610288575f80fd5b50565b5f8151905061029981610275565b92915050565b5f80604083850312156102b5576102b4610206565b5b5f6102c285828601610261565b92505060206102d38582860161028b565b9150509250929050565b613387806102ea5f395ff3fe60806040526004361061014a575f3560e01c8063892b97f8116100b5578063d73792a91161006e578063d73792a9146103d0578063e21ff731146103fa578063eccc19a614610436578063f04e283e1461045e578063f2fde38b1461047a578063fee81cf4146104965761014a565b8063892b97f8146102e45780638da5cb5b1461030c5780638fe4f5231461033657806399d32fc414610352578063a92647dc1461037c578063b0e21e8a146103a65761014a565b806354d1f13d1161010757806354d1f13d146102365780635edb9eb014610240578063715018a61461026a578063730f9c57146102745780637b1039991461029057806384ae2bc6146102ba5761014a565b806313c8e2de1461014e578063256929621461018a5780632e75ab501461019457806339a51be5146101bc57806343bc42d3146101e657806346877b1a1461020e575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f91906123db565b6104d2565b60405161018191906126cc565b60405180910390f35b6101926107ac565b005b34801561019f575f80fd5b506101ba60048036038101906101b591906123db565b6107fd565b005b3480156101c7575f80fd5b506101d061080f565b6040516101dd91906126fb565b60405180910390f35b3480156101f1575f80fd5b5061020c6004803603810190610207919061273e565b610834565b005b348015610219575f80fd5b50610234600480360381019061022f9190612793565b610867565b005b61023e6108b2565b005b34801561024b575f80fd5b506102546108eb565b60405161026191906127cd565b60405180910390f35b6102726108f6565b005b61028e60048036038101906102899190612847565b610909565b005b34801561029b575f80fd5b506102a4610bee565b6040516102b191906128fd565b60405180910390f35b3480156102c5575f80fd5b506102ce610c13565b6040516102db9190612925565b60405180910390f35b3480156102ef575f80fd5b5061030a6004803603810190610305919061273e565b610c2d565b005b348015610317575f80fd5b50610320610c61565b60405161032d91906126fb565b60405180910390f35b610350600480360381019061034b919061293e565b610c89565b005b34801561035d575f80fd5b50610366610c9e565b60405161037391906127cd565b60405180910390f35b348015610387575f80fd5b50610390610ca4565b60405161039d91906129e2565b60405180910390f35b3480156103b1575f80fd5b506103ba610cc9565b6040516103c79190612925565b60405180910390f35b3480156103db575f80fd5b506103e4610ce2565b6040516103f19190612925565b60405180910390f35b348015610405575f80fd5b50610420600480360381019061041b91906129fb565b610ce8565b60405161042d91906126cc565b60405180910390f35b348015610441575f80fd5b5061045c60048036038101906104579190612793565b611758565b005b61047860048036038101906104739190612793565b6117a3565b005b610494600480360381019061048f9190612793565b6117e1565b005b3480156104a1575f80fd5b506104bc60048036038101906104b79190612793565b61180a565b6040516104c991906127cd565b60405180910390f35b6104da61222f565b5f82815481106104ed576104ec612a46565b5b905f5260205f209060080201604051806101200160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482018054806020026020016040519081016040528092919081815260200182805480156106da57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610691575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016005820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b5f6107b5611823565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b61080561182d565b8060048190555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61083c61182d565b8060055f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b61086f61182d565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b6108fe61182d565b6109075f611864565b565b3068929eee149b4bd2126854036109275763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80878154811061094757610946612a46565b5b905f5260205f20906008020190506004543410156109a2575f346004546040517f5c54305e00000000000000000000000000000000000000000000000000000000815260040161099993929190612a73565b60405180910390fd5b6109ac818661192a565b806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b690088888588886040518663ffffffff1660e01b8152600401610a10959493929190612b02565b6020604051808303815f875af1158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a509190612b83565b610a86576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806004018681548110610a9c57610a9b612a46565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb1757cf8386866040518463ffffffff1660e01b8152600401610b0093929190612bae565b6020604051808303815f875af1158015610b1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b409190612b83565b610b85578184846040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610b7c93929190612bae565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1686887f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b259547888888604051610bd193929190612bae565b60405180910390a4503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560089054906101000a900467ffffffffffffffff1681565b610c3561182d565b80600560086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b610c97858585858533610909565b5050505050565b60045481565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900467ffffffffffffffff1681565b61271081565b610cf061222f565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610de4575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b8152600401610da391906126fb565b602060405180830381865afa158015610dbe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de29190612b83565b155b15610e1b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd212685403610e395763ab143c065f526004601cfd5b3068929eee149b4bd21268555f610e9285858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050611a98565b806020019051810190610ea5919061303e565b9050610eb3815f0151611b31565b5f8060018160018154018082558091505003905f5260205f2090600802019050816101000151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160a0015160055f9054906101000a900467ffffffffffffffff16610f8491906130b2565b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c00151600560089054906101000a900467ffffffffffffffff16610fd391906130b2565b8160050160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160e00151816006018190555061103a7fe67157950000000000000000000000000000000000000000000000000000000083602001516001611c0c565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110aa7fe2089f790000000000000000000000000000000000000000000000000000000083606001516001611c0c565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110fc8260800151835f0151611c2e565b8160040190805190602001906111139291906122f5565b505f73ffffffffffffffffffffffffffffffffffffffff1682604001516020015173ffffffffffffffffffffffffffffffffffffffff16146111845761117f7f5912b89c0000000000000000000000000000000000000000000000000000000083604001516001611c0c565b61126d565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016111ff9190613127565b602060405180830381865afa15801561121a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123e9190612b83565b611248575f61126c565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611363577f5912b89c000000000000000000000000000000000000000000000000000000005f6040517fe1c4444800000000000000000000000000000000000000000000000000000000815260040161135a929190613140565b60405180910390fd5b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f805490506113e79190613167565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8460040180549050856001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161148c949392919061319a565b60405180910390a480604051806101200160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561167657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161162d575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016005820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050935050503868929eee149b4bd21268555092915050565b61176061182d565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6117ab61182d565b63389a75e1600c52805f526020600c2080544211156117d157636f5e88185f526004601cfd5b5f8155506117de81611864565b50565b6117e961182d565b8060601b6117fe57637448fbae5f526004601cfd5b61180781611864565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611862576382b429005f526004601cfd5b565b61186c611ff8565b156118d1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611927565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f6004540315611a94575f60045490505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146119f0575f61271067ffffffffffffffff168460050160089054906101000a900467ffffffffffffffff1667ffffffffffffffff166004546119ab91906131dd565b6119b5919061324b565b905080826119c39190613167565b91506119ee818473ffffffffffffffffffffffffffffffffffffffff16611ffc90919063ffffffff16565b505b611a48600282611a00919061324b565b846007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611ffc90919063ffffffff16565b611a924760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611ffc90919063ffffffff16565b505b5050565b6060815115611b2c5760405190506020810160048301805184518501811983525b80861015611b12576001860195508551601f1a80611b02576001870196508651601f1a5f198652607f8111611af057600181013887395b6001607f821601860195505050611b0d565b808553600185019450505b611ab9565b81835260208501840385525f845260208401604052505050505b919050565b611b5b7fea5ad34e0000000000000000000000000000000000000000000000000000000082612019565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b8152600401611b9491906126fb565b602060405180830381865afa158015611baf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bd39190612b83565b611c09576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f611c1b848460200151612019565b611c258383612110565b90509392505050565b6060825167ffffffffffffffff811115611c4b57611c4a612be2565b5b604051908082528060200260200182016040528015611c795781602001602082028036833780820191505090505b5090505f5b8351811015611ff157611ccf7f5970a68900000000000000000000000000000000000000000000000000000000858381518110611cbe57611cbd612a46565b5b602002602001015160200151612019565b838181518110611ce257611ce1612a46565b5b60200260200101515f0151611d6e577f5970a68900000000000000000000000000000000000000000000000000000000848281518110611d2557611d24612a46565b5b6020026020010151602001516040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401611d65929190613140565b60405180910390fd5b611db37f5970a68900000000000000000000000000000000000000000000000000000000858381518110611da557611da4612a46565b5b60200260200101515f611c0c565b828281518110611dc657611dc5612a46565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f828281518110611e1457611e13612a46565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16634e7165a2868481518110611e4a57611e49612a46565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401611e7291906132bd565b5f60405180830381865afa158015611e8c573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611eb491906132dd565b90505f815114611f45578373ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1826040518263ffffffff1660e01b8152600401611ef791906132bd565b6020604051808303815f875af1158015611f13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f379190612b83565b611f4457611f43613324565b5b5b828281518110611f5857611f57612a46565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663439fab91868481518110611f8e57611f8d612a46565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401611fb691906132bd565b5f604051808303815f87803b158015611fcd575f80fd5b505af1158015611fdf573d5f803e3d5ffd5b50505050508080600101915050611c7e565b5092915050565b5f90565b5f385f3884865af16120155763b12d13eb5f526004601cfd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806120c857508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b81526004016120879190613127565b602060405180830381865afa1580156120a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120c69190612b83565b155b1561210c5781816040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401612103929190613140565b60405180910390fd5b5050565b5f825f0151612123578260200151612147565b612146836020015173ffffffffffffffffffffffffffffffffffffffff166121cc565b5b9050825f015180156121565750815b156121c6578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b815260040161219891906132bd565b5f604051808303815f87803b1580156121af575f80fd5b505af11580156121c1573d5f803e3d5ffd5b505050505b92915050565b5f6121d75f836121de565b9050919050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806122255763301164255f526004601cfd5b5f60215292915050565b6040518061012001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b828054828255905f5260205f2090810192821561236b579160200282015b8281111561236a578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612313565b5b509050612378919061237c565b5090565b5b80821115612393575f815f90555060010161237d565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6123ba816123a8565b81146123c4575f80fd5b50565b5f813590506123d5816123b1565b92915050565b5f602082840312156123f0576123ef6123a0565b5b5f6123fd848285016123c7565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61244861244361243e84612406565b612425565b612406565b9050919050565b5f6124598261242e565b9050919050565b5f61246a8261244f565b9050919050565b61247a81612460565b82525050565b5f61248a8261244f565b9050919050565b61249a81612480565b82525050565b5f6124aa8261244f565b9050919050565b6124ba816124a0565b82525050565b5f6124ca8261242e565b9050919050565b5f6124db826124c0565b9050919050565b6124eb816124d1565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6125248261244f565b9050919050565b6125348161251a565b82525050565b5f612545838361252b565b60208301905092915050565b5f602082019050919050565b5f612567826124f1565b61257181856124fb565b935061257c8361250b565b805f5b838110156125ac578151612593888261253a565b975061259e83612551565b92505060018101905061257f565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b6125d5816125b9565b82525050565b6125e4816123a8565b82525050565b5f6125f482612406565b9050919050565b612604816125ea565b82525050565b5f61012083015f8301516126205f860182612471565b5060208301516126336020860182612491565b50604083015161264660408601826124b1565b50606083015161265960608601826124e2565b5060808301518482036080860152612671828261255d565b91505060a083015161268660a08601826125cc565b5060c083015161269960c08601826125cc565b5060e08301516126ac60e08601826125db565b506101008301516126c16101008601826125fb565b508091505092915050565b5f6020820190508181035f8301526126e4818461260a565b905092915050565b6126f5816125ea565b82525050565b5f60208201905061270e5f8301846126ec565b92915050565b61271d816125b9565b8114612727575f80fd5b50565b5f8135905061273881612714565b92915050565b5f60208284031215612753576127526123a0565b5b5f6127608482850161272a565b91505092915050565b612772816125ea565b811461277c575f80fd5b50565b5f8135905061278d81612769565b92915050565b5f602082840312156127a8576127a76123a0565b5b5f6127b58482850161277f565b91505092915050565b6127c7816123a8565b82525050565b5f6020820190506127e05f8301846127be565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612807576128066127e6565b5b8235905067ffffffffffffffff811115612824576128236127ea565b5b6020830191508360018202830111156128405761283f6127ee565b5b9250929050565b5f805f805f8060a08789031215612861576128606123a0565b5b5f61286e89828a016123c7565b965050602061287f89828a016123c7565b955050604061289089828a0161277f565b945050606087013567ffffffffffffffff8111156128b1576128b06123a4565b5b6128bd89828a016127f2565b935093505060806128d089828a0161277f565b9150509295509295509295565b5f6128e78261244f565b9050919050565b6128f7816128dd565b82525050565b5f6020820190506129105f8301846128ee565b92915050565b61291f816125b9565b82525050565b5f6020820190506129385f830184612916565b92915050565b5f805f805f60808688031215612957576129566123a0565b5b5f612964888289016123c7565b9550506020612975888289016123c7565b94505060406129868882890161277f565b935050606086013567ffffffffffffffff8111156129a7576129a66123a4565b5b6129b3888289016127f2565b92509250509295509295909350565b5f6129cc8261244f565b9050919050565b6129dc816129c2565b82525050565b5f6020820190506129f55f8301846129d3565b92915050565b5f8060208385031215612a1157612a106123a0565b5b5f83013567ffffffffffffffff811115612a2e57612a2d6123a4565b5b612a3a858286016127f2565b92509250509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f606082019050612a865f8301866126ec565b612a9360208301856127be565b612aa060408301846127be565b949350505050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f612ae18385612aa8565b9350612aee838584612ab8565b612af783612ac6565b840190509392505050565b5f608082019050612b155f8301886127be565b612b2260208301876127be565b612b2f60408301866126ec565b8181036060830152612b42818486612ad6565b90509695505050505050565b5f8115159050919050565b612b6281612b4e565b8114612b6c575f80fd5b50565b5f81519050612b7d81612b59565b92915050565b5f60208284031215612b9857612b976123a0565b5b5f612ba584828501612b6f565b91505092915050565b5f604082019050612bc15f8301866126ec565b8181036020830152612bd4818486612ad6565b9050949350505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612c1882612ac6565b810181811067ffffffffffffffff82111715612c3757612c36612be2565b5b80604052505050565b5f612c49612397565b9050612c558282612c0f565b919050565b5f80fd5b5f612c6882612406565b9050919050565b5f612c7982612c5e565b9050919050565b612c8981612c6f565b8114612c93575f80fd5b50565b5f81519050612ca481612c80565b92915050565b5f81519050612cb881612769565b92915050565b5f80fd5b5f67ffffffffffffffff821115612cdc57612cdb612be2565b5b612ce582612ac6565b9050602081019050919050565b8281835e5f83830152505050565b5f612d12612d0d84612cc2565b612c40565b905082815260208101848484011115612d2e57612d2d612cbe565b5b612d39848285612cf2565b509392505050565b5f82601f830112612d5557612d546127e6565b5b8151612d65848260208601612d00565b91505092915050565b5f60608284031215612d8357612d82612bde565b5b612d8d6060612c40565b90505f612d9c84828501612b6f565b5f830152506020612daf84828501612caa565b602083015250604082015167ffffffffffffffff811115612dd357612dd2612c5a565b5b612ddf84828501612d41565b60408301525092915050565b5f67ffffffffffffffff821115612e0557612e04612be2565b5b602082029050602081019050919050565b5f612e28612e2384612deb565b612c40565b90508083825260208201905060208402830185811115612e4b57612e4a6127ee565b5b835b81811015612e9257805167ffffffffffffffff811115612e7057612e6f6127e6565b5b808601612e7d8982612d6e565b85526020850194505050602081019050612e4d565b5050509392505050565b5f82601f830112612eb057612eaf6127e6565b5b8151612ec0848260208601612e16565b91505092915050565b5f81519050612ed781612714565b92915050565b5f81519050612eeb816123b1565b92915050565b5f6101208284031215612f0757612f06612bde565b5b612f12610120612c40565b90505f612f2184828501612c96565b5f83015250602082015167ffffffffffffffff811115612f4457612f43612c5a565b5b612f5084828501612d6e565b602083015250604082015167ffffffffffffffff811115612f7457612f73612c5a565b5b612f8084828501612d6e565b604083015250606082015167ffffffffffffffff811115612fa457612fa3612c5a565b5b612fb084828501612d6e565b606083015250608082015167ffffffffffffffff811115612fd457612fd3612c5a565b5b612fe084828501612e9c565b60808301525060a0612ff484828501612ec9565b60a08301525060c061300884828501612ec9565b60c08301525060e061301c84828501612edd565b60e08301525061010061303184828501612caa565b6101008301525092915050565b5f60208284031215613053576130526123a0565b5b5f82015167ffffffffffffffff8111156130705761306f6123a4565b5b61307c84828501612ef1565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6130bc826125b9565b91506130c7836125b9565b9250828201905067ffffffffffffffff8111156130e7576130e6613085565b5b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613121816130ed565b82525050565b5f60208201905061313a5f830184613118565b92915050565b5f6040820190506131535f830185613118565b61316060208301846126ec565b9392505050565b5f613171826123a8565b915061317c836123a8565b925082820390508181111561319457613193613085565b5b92915050565b5f6080820190506131ad5f8301876127be565b6131ba60208301866126ec565b6131c760408301856126ec565b6131d460608301846126ec565b95945050505050565b5f6131e7826123a8565b91506131f2836123a8565b9250828202613200816123a8565b9150828204841483151761321757613216613085565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613255826123a8565b9150613260836123a8565b9250826132705761326f61321e565b5b828204905092915050565b5f81519050919050565b5f61328f8261327b565b6132998185612aa8565b93506132a9818560208601612cf2565b6132b281612ac6565b840191505092915050565b5f6020820190508181035f8301526132d58184613285565b905092915050565b5f602082840312156132f2576132f16123a0565b5b5f82015167ffffffffffffffff81111561330f5761330e6123a4565b5b61331b84828501612d41565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffdfea2646970667358221220293a081374329412b0781035680115ad3d69d49956ef2e6e6400ad5d569c0ac764736f6c634300081a0033";
27
27
  function z(a) {
28
28
  const e = a.state.current, f = a.state.connections.get(e), b = f == null ? void 0 : f.accounts, t = b == null ? void 0 : b[0], c = a.chains.find((i) => i.id === (f == null ? void 0 : f.chainId)), n = a.state.status;
29
29
  switch (n) {
@@ -84,22 +84,20 @@ function z(a) {
84
84
  function Kf(a) {
85
85
  return a.state.chainId;
86
86
  }
87
- function k(a, e, f) {
87
+ function G(a, e, f) {
88
88
  const b = a[e.name];
89
89
  if (typeof b == "function")
90
90
  return b;
91
91
  const t = a[f];
92
92
  return typeof t == "function" ? t : (c) => e(a, c);
93
93
  }
94
- const Xf = "2.13.0", Yf = () => `@wagmi/core@${Xf}`;
95
- var G = function(a, e, f, b) {
96
- if (f === "a" && !b)
97
- throw new TypeError("Private accessor was defined without a getter");
98
- if (typeof e == "function" ? a !== e || !b : !e.has(a))
99
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
94
+ const Xf = "2.13.8", Yf = () => `@wagmi/core@${Xf}`;
95
+ var U = function(a, e, f, b) {
96
+ if (f === "a" && !b) throw new TypeError("Private accessor was defined without a getter");
97
+ if (typeof e == "function" ? a !== e || !b : !e.has(a)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
100
98
  return f === "m" ? b : f === "a" ? b.call(a) : b ? b.value : e.get(a);
101
- }, E, U;
102
- class v extends Error {
99
+ }, E, k;
100
+ class C extends Error {
103
101
  get docsBaseUrl() {
104
102
  return "https://wagmi.sh/core";
105
103
  }
@@ -134,7 +132,7 @@ class v extends Error {
134
132
  writable: !0,
135
133
  value: "WagmiCoreError"
136
134
  });
137
- const b = f.cause instanceof v ? f.cause.details : (c = f.cause) != null && c.message ? f.cause.message : f.details, t = f.cause instanceof v && f.cause.docsPath || f.docsPath;
135
+ const b = f.cause instanceof C ? f.cause.details : (c = f.cause) != null && c.message ? f.cause.message : f.details, t = f.cause instanceof C && f.cause.docsPath || f.docsPath;
138
136
  this.message = [
139
137
  e || "An error occurred.",
140
138
  "",
@@ -148,13 +146,13 @@ class v extends Error {
148
146
  `), f.cause && (this.cause = f.cause), this.details = b, this.docsPath = t, this.metaMessages = f.metaMessages, this.shortMessage = e;
149
147
  }
150
148
  walk(e) {
151
- return G(this, E, "m", U).call(this, this, e);
149
+ return U(this, E, "m", k).call(this, this, e);
152
150
  }
153
151
  }
154
- E = /* @__PURE__ */ new WeakSet(), U = function a(e, f) {
155
- return f != null && f(e) ? e : e.cause ? G(this, E, "m", a).call(this, e.cause, f) : e;
152
+ E = /* @__PURE__ */ new WeakSet(), k = function a(e, f) {
153
+ return f != null && f(e) ? e : e.cause ? U(this, E, "m", a).call(this, e.cause, f) : e;
156
154
  };
157
- class Zf extends v {
155
+ class Zf extends C {
158
156
  constructor() {
159
157
  super("Connector not connected."), Object.defineProperty(this, "name", {
160
158
  enumerable: !0,
@@ -164,7 +162,7 @@ class Zf extends v {
164
162
  });
165
163
  }
166
164
  }
167
- class f0 extends v {
165
+ class f0 extends C {
168
166
  constructor({ address: e, connector: f }) {
169
167
  super(`Account "${e}" not found for connector "${f.name}".`), Object.defineProperty(this, "name", {
170
168
  enumerable: !0,
@@ -174,7 +172,7 @@ class f0 extends v {
174
172
  });
175
173
  }
176
174
  }
177
- class e0 extends v {
175
+ class e0 extends C {
178
176
  constructor({ connectionChainId: e, connectorChainId: f }) {
179
177
  super(`The current chain of the connector (id: ${f}) does not match the connection's chain (id: ${e}).`, {
180
178
  metaMessages: [
@@ -189,10 +187,29 @@ class e0 extends v {
189
187
  });
190
188
  }
191
189
  }
190
+ class b0 extends C {
191
+ constructor({ connector: e }) {
192
+ super(`Connector "${e.name}" unavailable while reconnecting.`, {
193
+ details: [
194
+ "During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uuid`.",
195
+ "All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.",
196
+ "This error commonly occurs for connectors that asynchronously inject after reconnection has already started."
197
+ ].join(" ")
198
+ }), Object.defineProperty(this, "name", {
199
+ enumerable: !0,
200
+ configurable: !0,
201
+ writable: !0,
202
+ value: "ConnectorUnavailableReconnectingError"
203
+ });
204
+ }
205
+ }
192
206
  async function W(a, e = {}) {
193
207
  let f;
194
208
  if (e.connector) {
195
- const { connector: s } = e, [o, h] = await Promise.all([
209
+ const { connector: s } = e;
210
+ if (a.state.status === "reconnecting" && !s.getAccounts && !s.getChainId)
211
+ throw new b0({ connector: s });
212
+ const [o, h] = await Promise.all([
196
213
  s.getAccounts(),
197
214
  s.getChainId()
198
215
  ]);
@@ -215,35 +232,34 @@ async function W(a, e = {}) {
215
232
  if (c.getClient)
216
233
  return c.getClient({ chainId: b });
217
234
  const n = Hf(e.account ?? f.accounts[0]);
218
- n.address = Qf(n.address);
219
- const i = a.chains.find((s) => s.id === b), d = await f.connector.getProvider({ chainId: b });
220
- if (e.account && !f.accounts.some((s) => s.toLowerCase() === n.address.toLowerCase()))
235
+ if (n.address = Jf(n.address), e.account && !f.accounts.some((s) => s.toLowerCase() === n.address.toLowerCase()))
221
236
  throw new f0({
222
237
  address: n.address,
223
238
  connector: c
224
239
  });
240
+ const i = a.chains.find((s) => s.id === b), d = await f.connector.getProvider({ chainId: b });
225
241
  return yf({
226
242
  account: n,
227
243
  chain: i,
228
244
  name: "Connector Client",
229
- transport: (s) => Cf(d)({ ...s, retryCount: 0 })
245
+ transport: (s) => mf(d)({ ...s, retryCount: 0 })
230
246
  });
231
247
  }
232
- async function b0(a, e) {
248
+ async function t0(a, e) {
233
249
  const { abi: f, chainId: b, connector: t, ...c } = e;
234
250
  let n;
235
251
  e.account ? n = e.account : n = (await W(a, {
236
252
  chainId: b,
237
253
  connector: t
238
254
  })).account;
239
- const i = a.getClient({ chainId: b }), d = k(i, Uf, "simulateContract"), { result: s, request: o } = await d({ ...c, abi: f, account: n });
255
+ const i = a.getClient({ chainId: b }), d = G(i, kf, "simulateContract"), { result: s, request: o } = await d({ ...c, abi: f, account: n });
240
256
  return {
241
257
  chainId: i.chain.id,
242
258
  result: s,
243
259
  request: { __mode: "prepared", ...o, chainId: b }
244
260
  };
245
261
  }
246
- async function j(a, e) {
262
+ async function N(a, e) {
247
263
  const { account: f, chainId: b, connector: t, __mode: c, ...n } = e;
248
264
  let i;
249
265
  typeof f == "object" && f.type === "local" ? i = a.getClient({ chainId: b }) : i = await W(a, { account: f, chainId: b, connector: t });
@@ -252,45 +268,45 @@ async function j(a, e) {
252
268
  if (c === "prepared" || d != null && d.supportsSimulation)
253
269
  s = n;
254
270
  else {
255
- const { request: y } = await b0(a, {
271
+ const { request: y } = await t0(a, {
256
272
  ...n,
257
273
  account: f,
258
274
  chainId: b
259
275
  });
260
276
  s = y;
261
277
  }
262
- return await k(i, Wf, "writeContract")({
278
+ return await G(i, Wf, "writeContract")({
263
279
  ...s,
264
280
  ...f ? { account: f } : {},
265
281
  chain: b ? { id: b } : null
266
282
  });
267
283
  }
268
- function t0(a) {
284
+ function a0(a) {
269
285
  return a.address !== void 0 && typeof a.address == "object" ? (e, f) => {
270
286
  var n;
271
287
  const b = Kf(e), t = z(e);
272
288
  let c;
273
- return f.chainId ? c = f.chainId : f.account && f.account === t.address || f.account === void 0 ? c = t.chainId : c = b, j(e, {
289
+ return f.chainId ? c = f.chainId : f.account && f.account === t.address || f.account === void 0 ? c = t.chainId : c = b, N(e, {
274
290
  ...f,
275
291
  ...a.functionName ? { functionName: a.functionName } : {},
276
292
  address: c ? (n = a.address) == null ? void 0 : n[c] : void 0,
277
293
  abi: a.abi
278
294
  });
279
- } : (e, f) => j(e, {
295
+ } : (e, f) => N(e, {
280
296
  ...f,
281
297
  ...a.address ? { address: a.address } : {},
282
298
  ...a.functionName ? { functionName: a.functionName } : {},
283
299
  abi: a.abi
284
300
  });
285
301
  }
286
- const O0 = mf("0.000075"), L0 = T[11155111], q = {
302
+ const L0 = Cf("0.000075"), S0 = T[11155111], q = {
287
303
  ...T,
288
- 31337: "0x0561e8fB1EFD614eb905CB93D548Bb217Ad07B92"
304
+ 31337: void 0
289
305
  };
290
- function a0(a) {
306
+ function c0(a) {
291
307
  return a.address;
292
308
  }
293
- function c0(a) {
309
+ function n0(a) {
294
310
  return a.registryAddress && a.protocolFeeReceiver;
295
311
  }
296
312
  const S = class S extends Of {
@@ -314,9 +330,9 @@ const S = class S extends Of {
314
330
  * @param {({ address?: Address; } | { registryAddress: Address; protocolFeeReceiver: Address; })} param0....options
315
331
  */
316
332
  constructor({ config: e, account: f, ...b }) {
317
- if (a0(b) && b.address)
333
+ if (c0(b) && b.address)
318
334
  super({ account: f, config: e }, b.address);
319
- else if (c0(b))
335
+ else if (n0(b))
320
336
  super({ account: f, config: e }, [
321
337
  b.registryAddress,
322
338
  b.protocolFeeReceiver
@@ -340,8 +356,8 @@ const S = class S extends Of {
340
356
  * @returns {Boost}
341
357
  */
342
358
  async createBoost(e, f) {
343
- var x, M;
344
- const [b, t] = this.validateDeploymentConfig(e, f), c = ((x = f == null ? void 0 : f.chain) == null ? void 0 : x.id) || (f == null ? void 0 : f.chainId), { chainId: n, address: i } = l(
359
+ var j, x;
360
+ const [b, t] = this.validateDeploymentConfig(e, f), c = ((j = f == null ? void 0 : f.chain) == null ? void 0 : j.id) || (f == null ? void 0 : f.chainId), { chainId: n, address: i } = l(
345
361
  t.config,
346
362
  this.addresses,
347
363
  c
@@ -355,23 +371,23 @@ const S = class S extends Of {
355
371
  protocolFee: F = 0n,
356
372
  referralFee: p = 0n,
357
373
  maxParticipants: D = 0n,
358
- owner: m
374
+ owner: v
359
375
  } = b;
360
- const H = t0({
376
+ const H = a0({
361
377
  abi: R,
362
378
  functionName: "createBoost",
363
379
  address: i
364
380
  });
365
- if (!m && (m = ((M = this._account) == null ? void 0 : M.address) || gf(t.config).address || C, m === C))
381
+ if (!v && (v = ((x = this._account) == null ? void 0 : x.address) || gf(t.config).address || m, v === m))
366
382
  throw new Vf();
367
- let $ = C;
383
+ let $ = m;
368
384
  if (d.address) {
369
385
  if ($ = d.address, !await d.isAuthorized(i))
370
386
  throw new Tf(i);
371
387
  } else
372
388
  throw new zf();
373
389
  let A = {
374
- instance: C,
390
+ instance: m,
375
391
  isBase: !0,
376
392
  parameters: u
377
393
  };
@@ -389,7 +405,7 @@ const S = class S extends Of {
389
405
  n
390
406
  ).address;
391
407
  let I = {
392
- instance: C,
408
+ instance: m,
393
409
  isBase: !0,
394
410
  parameters: u
395
411
  };
@@ -400,7 +416,7 @@ const S = class S extends Of {
400
416
  instance: o.address,
401
417
  parameters: r ? o.buildParameters(
402
418
  {
403
- signers: [m],
419
+ signers: [v],
404
420
  validatorCaller: i
405
421
  },
406
422
  t
@@ -409,7 +425,7 @@ const S = class S extends Of {
409
425
  } else
410
426
  I.parameters = o.buildParameters(
411
427
  {
412
- signers: [m],
428
+ signers: [v],
413
429
  validatorCaller: i
414
430
  },
415
431
  t
@@ -419,7 +435,7 @@ const S = class S extends Of {
419
435
  n
420
436
  ).address;
421
437
  let _ = {
422
- instance: C,
438
+ instance: m,
423
439
  isBase: !0,
424
440
  parameters: u
425
441
  };
@@ -437,7 +453,7 @@ const S = class S extends Of {
437
453
  n
438
454
  ).address;
439
455
  const P = y.map(() => ({
440
- instance: C,
456
+ instance: m,
441
457
  isBase: !0,
442
458
  parameters: u
443
459
  }));
@@ -445,8 +461,7 @@ const S = class S extends Of {
445
461
  const w = y.at(r);
446
462
  if (w.address) {
447
463
  const L = w.isBase;
448
- if (!L)
449
- throw new kf(w);
464
+ if (!L) throw new Gf(w);
450
465
  P[r] = {
451
466
  isBase: L,
452
467
  instance: w.address,
@@ -459,7 +474,7 @@ const S = class S extends Of {
459
474
  n
460
475
  ).address;
461
476
  }
462
- const Q = {
477
+ const J = {
463
478
  budget: $,
464
479
  action: A,
465
480
  validator: I,
@@ -468,26 +483,25 @@ const S = class S extends Of {
468
483
  protocolFee: F,
469
484
  referralFee: p,
470
485
  maxParticipants: D,
471
- owner: m
472
- }, J = await H(t.config, {
486
+ owner: v
487
+ }, Q = await H(t.config, {
473
488
  ...this.optionallyAttachAccount(t.account),
474
489
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
475
490
  ...f,
476
491
  chainId: n,
477
- args: [Ff(Q)]
492
+ args: [Ff(J)]
478
493
  }), K = await wf(t.config, {
479
- hash: J
494
+ hash: Q
480
495
  }), B = vf({
481
496
  abi: R,
482
497
  eventName: "BoostCreated",
483
498
  logs: K.logs
484
499
  }).at(0);
485
500
  let O = 0n;
486
- if (!B)
487
- throw new Gf();
501
+ if (!B) throw new Uf();
488
502
  O = B == null ? void 0 : B.args.boostIndex;
489
503
  const g = await this.readBoost(O);
490
- return new N({
504
+ return new M({
491
505
  id: O,
492
506
  budget: d.at(g.budget),
493
507
  action: s.at(g.action),
@@ -654,11 +668,11 @@ const S = class S extends Of {
654
668
  _f(s, d.allowList),
655
669
  Promise.all(
656
670
  d.incentives.map(
657
- (D) => xf(s, D)
671
+ (D) => jf(s, D)
658
672
  )
659
673
  )
660
674
  ]);
661
- return new N({
675
+ return new M({
662
676
  id: b,
663
677
  action: o,
664
678
  budget: h,
@@ -1186,7 +1200,7 @@ const S = class S extends Of {
1186
1200
  * @returns {PointsIncentive}
1187
1201
  */
1188
1202
  PointsIncentive(e) {
1189
- return new Nf(
1203
+ return new Mf(
1190
1204
  { config: this._config, account: this._account },
1191
1205
  e
1192
1206
  );
@@ -1204,7 +1218,7 @@ const S = class S extends Of {
1204
1218
  * @returns {SignerValidator}
1205
1219
  */
1206
1220
  SignerValidator(e, f) {
1207
- return new jf(
1221
+ return new Nf(
1208
1222
  { config: this._config, account: this._account },
1209
1223
  e,
1210
1224
  f
@@ -1223,7 +1237,7 @@ const S = class S extends Of {
1223
1237
  * @returns {ERC20VariableIncentive}
1224
1238
  */
1225
1239
  ERC20VariableIncentive(e, f) {
1226
- return new Mf(
1240
+ return new xf(
1227
1241
  { config: this._config, account: this._account },
1228
1242
  e,
1229
1243
  f
@@ -1244,7 +1258,7 @@ const S = class S extends Of {
1244
1258
  );
1245
1259
  return {
1246
1260
  abi: R,
1247
- bytecode: Jf,
1261
+ bytecode: Qf,
1248
1262
  args: b,
1249
1263
  ...this.optionallyAttachAccount(t.account)
1250
1264
  };
@@ -1253,9 +1267,9 @@ const S = class S extends Of {
1253
1267
  S.addresses = q;
1254
1268
  let V = S;
1255
1269
  export {
1256
- L0 as BOOST_CORE_ADDRESS,
1270
+ S0 as BOOST_CORE_ADDRESS,
1257
1271
  q as BOOST_CORE_ADDRESSES,
1258
- O0 as BOOST_CORE_CLAIM_FEE,
1272
+ L0 as BOOST_CORE_CLAIM_FEE,
1259
1273
  V as BoostCore,
1260
1274
  R as boostCoreAbi
1261
1275
  };