@boostxyz/sdk 2.1.1 → 2.2.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 (131) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.cjs.map +1 -1
  3. package/dist/Actions/Action.d.ts +2 -1
  4. package/dist/Actions/Action.d.ts.map +1 -1
  5. package/dist/Actions/Action.js +14 -13
  6. package/dist/Actions/Action.js.map +1 -1
  7. package/dist/Actions/EventAction.cjs +1 -1
  8. package/dist/Actions/EventAction.cjs.map +1 -1
  9. package/dist/Actions/EventAction.d.ts.map +1 -1
  10. package/dist/Actions/EventAction.js +33 -33
  11. package/dist/Actions/EventAction.js.map +1 -1
  12. package/dist/AllowLists/AllowList.cjs +1 -1
  13. package/dist/AllowLists/AllowList.cjs.map +1 -1
  14. package/dist/AllowLists/AllowList.d.ts +2 -1
  15. package/dist/AllowLists/AllowList.d.ts.map +1 -1
  16. package/dist/AllowLists/AllowList.js +19 -18
  17. package/dist/AllowLists/AllowList.js.map +1 -1
  18. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  19. package/dist/AllowLists/SimpleAllowList.js +7 -7
  20. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  21. package/dist/AllowLists/SimpleDenyList.js +3 -3
  22. package/dist/Auth/PassthroughAuth.cjs +1 -1
  23. package/dist/Auth/PassthroughAuth.js +1 -1
  24. package/dist/BoostCore.cjs +2 -2
  25. package/dist/BoostCore.cjs.map +1 -1
  26. package/dist/BoostCore.d.ts +13 -4
  27. package/dist/BoostCore.d.ts.map +1 -1
  28. package/dist/BoostCore.js +58 -57
  29. package/dist/BoostCore.js.map +1 -1
  30. package/dist/BoostRegistry.cjs +1 -1
  31. package/dist/BoostRegistry.js +11 -11
  32. package/dist/{Budget-DpQgIZEx.js → Budget-B0q1S08L.js} +33 -32
  33. package/dist/{Budget-DpQgIZEx.js.map → Budget-B0q1S08L.js.map} +1 -1
  34. package/dist/{Budget-BxQMnsdx.cjs → Budget-BA_1sa1e.cjs} +2 -2
  35. package/dist/{Budget-BxQMnsdx.cjs.map → Budget-BA_1sa1e.cjs.map} +1 -1
  36. package/dist/Budgets/Budget.cjs +1 -1
  37. package/dist/Budgets/Budget.d.ts +2 -1
  38. package/dist/Budgets/Budget.d.ts.map +1 -1
  39. package/dist/Budgets/Budget.js +2 -2
  40. package/dist/Budgets/ManagedBudget.cjs +1 -1
  41. package/dist/Budgets/ManagedBudget.js +11 -11
  42. package/dist/Deployable/DeployableTarget.cjs +1 -1
  43. package/dist/Deployable/DeployableTarget.js +1 -1
  44. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  45. package/dist/Deployable/DeployableTargetWithRBAC.cjs.map +1 -1
  46. package/dist/Deployable/DeployableTargetWithRBAC.d.ts +158 -0
  47. package/dist/Deployable/DeployableTargetWithRBAC.d.ts.map +1 -1
  48. package/dist/Deployable/DeployableTargetWithRBAC.js +268 -31
  49. package/dist/Deployable/DeployableTargetWithRBAC.js.map +1 -1
  50. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  51. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  52. package/dist/Incentives/AllowListIncentive.js +27 -27
  53. package/dist/Incentives/AllowListIncentive.js.map +1 -1
  54. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  55. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  56. package/dist/Incentives/CGDAIncentive.js +9 -9
  57. package/dist/Incentives/CGDAIncentive.js.map +1 -1
  58. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  59. package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
  60. package/dist/Incentives/ERC20Incentive.js +30 -30
  61. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  62. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  63. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +11 -11
  64. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  65. package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -1
  66. package/dist/Incentives/ERC20VariableIncentive.js +12 -12
  67. package/dist/Incentives/ERC20VariableIncentive.js.map +1 -1
  68. package/dist/Incentives/Incentive.cjs +1 -1
  69. package/dist/Incentives/Incentive.cjs.map +1 -1
  70. package/dist/Incentives/Incentive.d.ts +2 -1
  71. package/dist/Incentives/Incentive.d.ts.map +1 -1
  72. package/dist/Incentives/Incentive.js +29 -28
  73. package/dist/Incentives/Incentive.js.map +1 -1
  74. package/dist/Incentives/PointsIncentive.cjs +1 -1
  75. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  76. package/dist/Incentives/PointsIncentive.js +25 -25
  77. package/dist/Incentives/PointsIncentive.js.map +1 -1
  78. package/dist/{SimpleDenyList-CA24drhL.cjs → SimpleDenyList-DrQrJ14i.cjs} +2 -2
  79. package/dist/{SimpleDenyList-CA24drhL.cjs.map → SimpleDenyList-DrQrJ14i.cjs.map} +1 -1
  80. package/dist/{SimpleDenyList-UHgnaOb_.js → SimpleDenyList-DuCoaOlG.js} +9 -9
  81. package/dist/{SimpleDenyList-UHgnaOb_.js.map → SimpleDenyList-DuCoaOlG.js.map} +1 -1
  82. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  83. package/dist/Validators/LimitedSignerValidator.js +7 -7
  84. package/dist/Validators/SignerValidator.cjs +1 -1
  85. package/dist/Validators/SignerValidator.js +5 -5
  86. package/dist/Validators/Validator.cjs +1 -1
  87. package/dist/Validators/Validator.cjs.map +1 -1
  88. package/dist/Validators/Validator.d.ts +2 -1
  89. package/dist/Validators/Validator.d.ts.map +1 -1
  90. package/dist/Validators/Validator.js +22 -21
  91. package/dist/Validators/Validator.js.map +1 -1
  92. package/dist/deployments-BucJ-gwk.cjs +2 -0
  93. package/dist/deployments-BucJ-gwk.cjs.map +1 -0
  94. package/dist/deployments-CQu0bLhU.js +102 -0
  95. package/dist/deployments-CQu0bLhU.js.map +1 -0
  96. package/dist/deployments.json +77 -74
  97. package/dist/{generated-B0XfMfoq.js → generated-1ZT_mHJx.js} +673 -450
  98. package/dist/generated-1ZT_mHJx.js.map +1 -0
  99. package/dist/generated-CgBgbMNe.cjs +3 -0
  100. package/dist/generated-CgBgbMNe.cjs.map +1 -0
  101. package/dist/index.cjs +1 -1
  102. package/dist/index.js +3 -3
  103. package/package.json +2 -2
  104. package/src/Actions/Action.ts +3 -0
  105. package/src/Actions/EventAction.test.ts +49 -2
  106. package/src/Actions/EventAction.ts +12 -4
  107. package/src/AllowLists/AllowList.ts +3 -0
  108. package/src/BoostCore.ts +16 -11
  109. package/src/Budgets/Budget.ts +3 -0
  110. package/src/Deployable/DeployableTargetWithRBAC.test.ts +175 -0
  111. package/src/Deployable/DeployableTargetWithRBAC.ts +281 -0
  112. package/src/Incentives/AllowListIncentive.test.ts +48 -0
  113. package/src/Incentives/AllowListIncentive.ts +1 -1
  114. package/src/Incentives/CGDAIncentive.test.ts +50 -0
  115. package/src/Incentives/CGDAIncentive.ts +1 -1
  116. package/src/Incentives/ERC1155Incentive.ts +1 -1
  117. package/src/Incentives/ERC20Incentive.test.ts +49 -0
  118. package/src/Incentives/ERC20Incentive.ts +1 -1
  119. package/src/Incentives/ERC20VariableIncentive.test.ts +48 -0
  120. package/src/Incentives/ERC20VariableIncentive.ts +1 -1
  121. package/src/Incentives/Incentive.ts +3 -0
  122. package/src/Incentives/PointsIncentive.test.ts +51 -0
  123. package/src/Incentives/PointsIncentive.ts +1 -1
  124. package/src/Validators/Validator.ts +3 -0
  125. package/dist/deployments-BDumesUK.cjs +0 -2
  126. package/dist/deployments-BDumesUK.cjs.map +0 -1
  127. package/dist/deployments-DvYsMioW.js +0 -99
  128. package/dist/deployments-DvYsMioW.js.map +0 -1
  129. package/dist/generated-B0XfMfoq.js.map +0 -1
  130. package/dist/generated-pNKCp_Ez.cjs +0 -3
  131. package/dist/generated-pNKCp_Ez.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../generated-pNKCp_Ez.cjs"),u=require("@wagmi/core"),r=require("viem"),h=require("../deployments-BDumesUK.cjs"),i=require("../Deployable/DeployableTargetWithRBAC.cjs"),A=require("../errors.cjs"),w=require("../utils.cjs"),y="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6118fe806100bd5f395ff3fe60806040526004361061014a575f3560e01c806354d1f13d116100b5578063e3f756de1161006e578063e3f756de146103f6578063ec87621c14610432578063f04e283e1461045c578063f2fde38b14610478578063fe9fbb8014610494578063fee81cf4146104d05761014a565b806354d1f13d1461033e578063715018a61461034857806375b238fc146103525780638da5cb5b1461037c578063be4994f8146103a6578063dcc21361146103ce5761014a565b80632de94807116101075780632de94807146102325780633abb06041461026e5780634359d28a14610296578063439fab91146102be5780634a4ee7b1146102e6578063514e62fc146103025761014a565b806301ffc9a71461014e578063183a4f6e1461018a5780631c10893f146101a65780631cd64df4146101c257806325692962146101fe57806328d6183b14610208575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f919061116e565b61050c565b60405161018191906111b3565b60405180910390f35b6101a4600480360381019061019f91906111ff565b610585565b005b6101c060048036038101906101bb9190611284565b610592565b005b3480156101cd575f80fd5b506101e860048036038101906101e39190611284565b6105a8565b6040516101f591906111b3565b60405180910390f35b6102066105be565b005b348015610213575f80fd5b5061021c61060f565b60405161022991906112d1565b60405180910390f35b34801561023d575f80fd5b50610258600480360381019061025391906112ea565b610636565b6040516102659190611324565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f91906113f3565b61064f565b005b3480156102a1575f80fd5b506102bc60048036038101906102b791906113f3565b61078f565b005b3480156102c9575f80fd5b506102e460048036038101906102df91906114c6565b61089d565b005b61030060048036038101906102fb9190611284565b6109ba565b005b34801561030d575f80fd5b5061032860048036038101906103239190611284565b6109d0565b60405161033591906111b3565b60405180910390f35b6103466109e7565b005b610350610a20565b005b34801561035d575f80fd5b50610366610a33565b6040516103739190611324565b60405180910390f35b348015610387575f80fd5b50610390610a38565b60405161039d9190611520565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c7919061158e565b610a60565b005b3480156103d9575f80fd5b506103f460048036038101906103ef919061158e565b610b16565b005b348015610401575f80fd5b5061041c6004803603810190610417919061160c565b610bcc565b60405161042991906111b3565b60405180910390f35b34801561043d575f80fd5b50610446610c1f565b6040516104539190611324565b60405180910390f35b610476600480360381019061047191906112ea565b610c24565b005b610492600480360381019061048d91906112ea565b610c62565b005b34801561049f575f80fd5b506104ba60048036038101906104b591906112ea565b610c8b565b6040516104c791906111b3565b60405180910390f35b3480156104db575f80fd5b506104f660048036038101906104f191906112ea565b610cde565b6040516105039190611324565b60405180910390f35b5f7f1392d798000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82610cf7565b5b9050919050565b61058f3382610d70565b50565b61059a610d7f565b6105a48282610db6565b5050565b5f81826105b485610636565b1614905092915050565b5f6105c7610dc6565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f1392d79800000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b61065833610c8b565b61068e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181905084849050146106cd576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610788578282828181106106ed576106ec611669565b5b905060200201602081019061070291906116c0565b5f8087878581811061071757610716611669565b5b905060200201602081019061072c91906112ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506106cf565b5050505050565b600261079a81610dd0565b8282905085859050146107d9576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610895575f8484838181106107fa576107f9611669565b5b905060200201602081019061080f91906116c0565b905060011515811515036108545761084f87878481811061083357610832611669565b5b905060200201602081019061084891906112ea565b6001610db6565b610887565b61088687878481811061086a57610869611669565b5b905060200201602081019061087f91906112ea565b6001610d70565b5b5080806001019150506107db565b505050505050565b5f6108a6610e05565b905080546003825580156108d85760018160011c14303b106108cf5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906108ea919061186e565b915091506108f782610e2e565b5f5b815181101561097d5760015f8084848151811061091957610918611669565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108f9565b50505080156109b5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6109c2610d7f565b6109cc8282610d70565b5050565b5f80826109dc85610636565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610a28610d7f565b610a315f610f04565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6002610a6b81610dd0565b828290508585905014610aaa576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610b0e57610b01868683818110610acd57610acc611669565b5b9050602002016020810190610ae291906112ea565b858584818110610af557610af4611669565b5b90506020020135610db6565b8080600101915050610aac565b505050505050565b6002610b2181610dd0565b828290508585905014610b60576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610bc457610bb7868683818110610b8357610b82611669565b5b9050602002016020810190610b9891906112ea565b858584818110610bab57610baa611669565b5b90506020020135610d70565b8080600101915050610b62565b505050505050565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690509392505050565b600181565b610c2c610d7f565b63389a75e1600c52805f526020600c208054421115610c5257636f5e88185f526004601cfd5b5f815550610c5f81610f04565b50565b610c6a610d7f565b8060601b610c7f57637448fbae5f526004601cfd5b610c8881610f04565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff16610cab610a38565b73ffffffffffffffffffffffffffffffffffffffff161480610cd75750610cd68260026001176109d0565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fe2089f79000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d695750610d6882610fca565b5b9050919050565b610d7b82825f611043565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610db4576382b429005f526004601cfd5b565b610dc282826001611043565b5050565b5f6202a300905090565b638b78c6d819543314610e0257638b78c6d8600c52335f52806020600c205416610e01576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610e3661109b565b15610eae577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610e7057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610f01565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b610f0c61109b565b15610f71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610fc7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061103c575061103b8261109f565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361106557848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61114d81611119565b8114611157575f80fd5b50565b5f8135905061116881611144565b92915050565b5f6020828403121561118357611182611111565b5b5f6111908482850161115a565b91505092915050565b5f8115159050919050565b6111ad81611199565b82525050565b5f6020820190506111c65f8301846111a4565b92915050565b5f819050919050565b6111de816111cc565b81146111e8575f80fd5b50565b5f813590506111f9816111d5565b92915050565b5f6020828403121561121457611213611111565b5b5f611221848285016111eb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112538261122a565b9050919050565b61126381611249565b811461126d575f80fd5b50565b5f8135905061127e8161125a565b92915050565b5f806040838503121561129a57611299611111565b5b5f6112a785828601611270565b92505060206112b8858286016111eb565b9150509250929050565b6112cb81611119565b82525050565b5f6020820190506112e45f8301846112c2565b92915050565b5f602082840312156112ff576112fe611111565b5b5f61130c84828501611270565b91505092915050565b61131e816111cc565b82525050565b5f6020820190506113375f830184611315565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261135e5761135d61133d565b5b8235905067ffffffffffffffff81111561137b5761137a611341565b5b60208301915083602082028301111561139757611396611345565b5b9250929050565b5f8083601f8401126113b3576113b261133d565b5b8235905067ffffffffffffffff8111156113d0576113cf611341565b5b6020830191508360208202830111156113ec576113eb611345565b5b9250929050565b5f805f806040858703121561140b5761140a611111565b5b5f85013567ffffffffffffffff81111561142857611427611115565b5b61143487828801611349565b9450945050602085013567ffffffffffffffff81111561145757611456611115565b5b6114638782880161139e565b925092505092959194509250565b5f8083601f8401126114865761148561133d565b5b8235905067ffffffffffffffff8111156114a3576114a2611341565b5b6020830191508360018202830111156114bf576114be611345565b5b9250929050565b5f80602083850312156114dc576114db611111565b5b5f83013567ffffffffffffffff8111156114f9576114f8611115565b5b61150585828601611471565b92509250509250929050565b61151a81611249565b82525050565b5f6020820190506115335f830184611511565b92915050565b5f8083601f84011261154e5761154d61133d565b5b8235905067ffffffffffffffff81111561156b5761156a611341565b5b60208301915083602082028301111561158757611586611345565b5b9250929050565b5f805f80604085870312156115a6576115a5611111565b5b5f85013567ffffffffffffffff8111156115c3576115c2611115565b5b6115cf87828801611349565b9450945050602085013567ffffffffffffffff8111156115f2576115f1611115565b5b6115fe87828801611539565b925092505092959194509250565b5f805f6040848603121561162357611622611111565b5b5f61163086828701611270565b935050602084013567ffffffffffffffff81111561165157611650611115565b5b61165d86828701611471565b92509250509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61169f81611199565b81146116a9575f80fd5b50565b5f813590506116ba81611696565b92915050565b5f602082840312156116d5576116d4611111565b5b5f6116e2848285016116ac565b91505092915050565b5f6116f58261122a565b9050919050565b611705816116eb565b811461170f575f80fd5b50565b5f81359050611720816116fc565b92915050565b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61176c82611726565b810181811067ffffffffffffffff8211171561178b5761178a611736565b5b80604052505050565b5f61179d611108565b90506117a98282611763565b919050565b5f67ffffffffffffffff8211156117c8576117c7611736565b5b602082029050602081019050919050565b5f6117eb6117e6846117ae565b611794565b9050808382526020820190506020840283018581111561180e5761180d611345565b5b835b8181101561183757806118238882611270565b845260208401935050602081019050611810565b5050509392505050565b5f82601f8301126118555761185461133d565b5b81356118658482602086016117d9565b91505092915050565b5f806040838503121561188457611883611111565b5b5f61189185828601611712565b925050602083013567ffffffffffffffff8111156118b2576118b1611115565b5b6118be85828601611841565b915050925092905056fea264697066735822122090c78869e52e89aa7c5a8761f075c070cc7a94a0cc69bce24ebcce69c30c1b3464736f6c634300081a0033",p=i.Roles.MANAGER,t=class t extends i.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=c.R}async owner(f){return await c.CH(this._config,{...this.optionallyAttachAccount(),...f,address:this.assertValidAddress(),args:[]})}async isAllowed(f,e){return await c.RH(this._config,{address:this.assertValidAddress(),args:[f,r.zeroHash],...this.optionallyAttachAccount(),...e})}async setAllowed(f,e,b){return await this.awaitResult(this.setAllowedRaw(f,e,b))}async setAllowedRaw(f,e,b){const{request:a,result:d}=await c.a1(this._config,{address:this.assertValidAddress(),args:[f,e],...this.optionallyAttachAccount(),...b});return{hash:await c.GH(this._config,a),result:d}}buildParameters(f,e){var d;const[b,a]=this.validateDeploymentConfig(f,e);if(!b.owner||b.owner===r.zeroAddress){const s=a.account?a.account.address:a.config?u.getAccount(a.config).address:(d=this._account)==null?void 0:d.address;if(s)b.owner=s;else throw new A.DeployableUnknownOwnerProvidedError}return{abi:c.R,bytecode:y,args:[n(b)],...this.optionallyAttachAccount(a.account)}}};t.bases={31337:void 0,...h.SimpleAllowList},t.registryType=w.RegistryType.ALLOW_LIST;let o=t;function n({owner:l,allowed:f}){return r.encodeAbiParameters([{type:"address",name:"owner"},{type:"address[]",name:"allowed"}],[l,f])}exports.simpleAllowListAbi=c.R;exports.LIST_MANAGER_ROLE=p;exports.SimpleAllowList=o;exports.prepareSimpleAllowListPayload=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../generated-CgBgbMNe.cjs"),u=require("@wagmi/core"),r=require("viem"),h=require("../deployments-BucJ-gwk.cjs"),i=require("../Deployable/DeployableTargetWithRBAC.cjs"),A=require("../errors.cjs"),w=require("../utils.cjs"),y="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6118fe806100bd5f395ff3fe60806040526004361061014a575f3560e01c806354d1f13d116100b5578063e3f756de1161006e578063e3f756de146103f6578063ec87621c14610432578063f04e283e1461045c578063f2fde38b14610478578063fe9fbb8014610494578063fee81cf4146104d05761014a565b806354d1f13d1461033e578063715018a61461034857806375b238fc146103525780638da5cb5b1461037c578063be4994f8146103a6578063dcc21361146103ce5761014a565b80632de94807116101075780632de94807146102325780633abb06041461026e5780634359d28a14610296578063439fab91146102be5780634a4ee7b1146102e6578063514e62fc146103025761014a565b806301ffc9a71461014e578063183a4f6e1461018a5780631c10893f146101a65780631cd64df4146101c257806325692962146101fe57806328d6183b14610208575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f919061116e565b61050c565b60405161018191906111b3565b60405180910390f35b6101a4600480360381019061019f91906111ff565b610585565b005b6101c060048036038101906101bb9190611284565b610592565b005b3480156101cd575f80fd5b506101e860048036038101906101e39190611284565b6105a8565b6040516101f591906111b3565b60405180910390f35b6102066105be565b005b348015610213575f80fd5b5061021c61060f565b60405161022991906112d1565b60405180910390f35b34801561023d575f80fd5b50610258600480360381019061025391906112ea565b610636565b6040516102659190611324565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f91906113f3565b61064f565b005b3480156102a1575f80fd5b506102bc60048036038101906102b791906113f3565b61078f565b005b3480156102c9575f80fd5b506102e460048036038101906102df91906114c6565b61089d565b005b61030060048036038101906102fb9190611284565b6109ba565b005b34801561030d575f80fd5b5061032860048036038101906103239190611284565b6109d0565b60405161033591906111b3565b60405180910390f35b6103466109e7565b005b610350610a20565b005b34801561035d575f80fd5b50610366610a33565b6040516103739190611324565b60405180910390f35b348015610387575f80fd5b50610390610a38565b60405161039d9190611520565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c7919061158e565b610a60565b005b3480156103d9575f80fd5b506103f460048036038101906103ef919061158e565b610b16565b005b348015610401575f80fd5b5061041c6004803603810190610417919061160c565b610bcc565b60405161042991906111b3565b60405180910390f35b34801561043d575f80fd5b50610446610c1f565b6040516104539190611324565b60405180910390f35b610476600480360381019061047191906112ea565b610c24565b005b610492600480360381019061048d91906112ea565b610c62565b005b34801561049f575f80fd5b506104ba60048036038101906104b591906112ea565b610c8b565b6040516104c791906111b3565b60405180910390f35b3480156104db575f80fd5b506104f660048036038101906104f191906112ea565b610cde565b6040516105039190611324565b60405180910390f35b5f7f1392d798000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82610cf7565b5b9050919050565b61058f3382610d70565b50565b61059a610d7f565b6105a48282610db6565b5050565b5f81826105b485610636565b1614905092915050565b5f6105c7610dc6565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f1392d79800000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b61065833610c8b565b61068e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181905084849050146106cd576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610788578282828181106106ed576106ec611669565b5b905060200201602081019061070291906116c0565b5f8087878581811061071757610716611669565b5b905060200201602081019061072c91906112ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506106cf565b5050505050565b600261079a81610dd0565b8282905085859050146107d9576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610895575f8484838181106107fa576107f9611669565b5b905060200201602081019061080f91906116c0565b905060011515811515036108545761084f87878481811061083357610832611669565b5b905060200201602081019061084891906112ea565b6001610db6565b610887565b61088687878481811061086a57610869611669565b5b905060200201602081019061087f91906112ea565b6001610d70565b5b5080806001019150506107db565b505050505050565b5f6108a6610e05565b905080546003825580156108d85760018160011c14303b106108cf5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906108ea919061186e565b915091506108f782610e2e565b5f5b815181101561097d5760015f8084848151811061091957610918611669565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108f9565b50505080156109b5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6109c2610d7f565b6109cc8282610d70565b5050565b5f80826109dc85610636565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610a28610d7f565b610a315f610f04565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6002610a6b81610dd0565b828290508585905014610aaa576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610b0e57610b01868683818110610acd57610acc611669565b5b9050602002016020810190610ae291906112ea565b858584818110610af557610af4611669565b5b90506020020135610db6565b8080600101915050610aac565b505050505050565b6002610b2181610dd0565b828290508585905014610b60576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610bc457610bb7868683818110610b8357610b82611669565b5b9050602002016020810190610b9891906112ea565b858584818110610bab57610baa611669565b5b90506020020135610d70565b8080600101915050610b62565b505050505050565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690509392505050565b600181565b610c2c610d7f565b63389a75e1600c52805f526020600c208054421115610c5257636f5e88185f526004601cfd5b5f815550610c5f81610f04565b50565b610c6a610d7f565b8060601b610c7f57637448fbae5f526004601cfd5b610c8881610f04565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff16610cab610a38565b73ffffffffffffffffffffffffffffffffffffffff161480610cd75750610cd68260026001176109d0565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fe2089f79000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d695750610d6882610fca565b5b9050919050565b610d7b82825f611043565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610db4576382b429005f526004601cfd5b565b610dc282826001611043565b5050565b5f6202a300905090565b638b78c6d819543314610e0257638b78c6d8600c52335f52806020600c205416610e01576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610e3661109b565b15610eae577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610e7057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610f01565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b610f0c61109b565b15610f71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610fc7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061103c575061103b8261109f565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361106557848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61114d81611119565b8114611157575f80fd5b50565b5f8135905061116881611144565b92915050565b5f6020828403121561118357611182611111565b5b5f6111908482850161115a565b91505092915050565b5f8115159050919050565b6111ad81611199565b82525050565b5f6020820190506111c65f8301846111a4565b92915050565b5f819050919050565b6111de816111cc565b81146111e8575f80fd5b50565b5f813590506111f9816111d5565b92915050565b5f6020828403121561121457611213611111565b5b5f611221848285016111eb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112538261122a565b9050919050565b61126381611249565b811461126d575f80fd5b50565b5f8135905061127e8161125a565b92915050565b5f806040838503121561129a57611299611111565b5b5f6112a785828601611270565b92505060206112b8858286016111eb565b9150509250929050565b6112cb81611119565b82525050565b5f6020820190506112e45f8301846112c2565b92915050565b5f602082840312156112ff576112fe611111565b5b5f61130c84828501611270565b91505092915050565b61131e816111cc565b82525050565b5f6020820190506113375f830184611315565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261135e5761135d61133d565b5b8235905067ffffffffffffffff81111561137b5761137a611341565b5b60208301915083602082028301111561139757611396611345565b5b9250929050565b5f8083601f8401126113b3576113b261133d565b5b8235905067ffffffffffffffff8111156113d0576113cf611341565b5b6020830191508360208202830111156113ec576113eb611345565b5b9250929050565b5f805f806040858703121561140b5761140a611111565b5b5f85013567ffffffffffffffff81111561142857611427611115565b5b61143487828801611349565b9450945050602085013567ffffffffffffffff81111561145757611456611115565b5b6114638782880161139e565b925092505092959194509250565b5f8083601f8401126114865761148561133d565b5b8235905067ffffffffffffffff8111156114a3576114a2611341565b5b6020830191508360018202830111156114bf576114be611345565b5b9250929050565b5f80602083850312156114dc576114db611111565b5b5f83013567ffffffffffffffff8111156114f9576114f8611115565b5b61150585828601611471565b92509250509250929050565b61151a81611249565b82525050565b5f6020820190506115335f830184611511565b92915050565b5f8083601f84011261154e5761154d61133d565b5b8235905067ffffffffffffffff81111561156b5761156a611341565b5b60208301915083602082028301111561158757611586611345565b5b9250929050565b5f805f80604085870312156115a6576115a5611111565b5b5f85013567ffffffffffffffff8111156115c3576115c2611115565b5b6115cf87828801611349565b9450945050602085013567ffffffffffffffff8111156115f2576115f1611115565b5b6115fe87828801611539565b925092505092959194509250565b5f805f6040848603121561162357611622611111565b5b5f61163086828701611270565b935050602084013567ffffffffffffffff81111561165157611650611115565b5b61165d86828701611471565b92509250509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61169f81611199565b81146116a9575f80fd5b50565b5f813590506116ba81611696565b92915050565b5f602082840312156116d5576116d4611111565b5b5f6116e2848285016116ac565b91505092915050565b5f6116f58261122a565b9050919050565b611705816116eb565b811461170f575f80fd5b50565b5f81359050611720816116fc565b92915050565b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61176c82611726565b810181811067ffffffffffffffff8211171561178b5761178a611736565b5b80604052505050565b5f61179d611108565b90506117a98282611763565b919050565b5f67ffffffffffffffff8211156117c8576117c7611736565b5b602082029050602081019050919050565b5f6117eb6117e6846117ae565b611794565b9050808382526020820190506020840283018581111561180e5761180d611345565b5b835b8181101561183757806118238882611270565b845260208401935050602081019050611810565b5050509392505050565b5f82601f8301126118555761185461133d565b5b81356118658482602086016117d9565b91505092915050565b5f806040838503121561188457611883611111565b5b5f61189185828601611712565b925050602083013567ffffffffffffffff8111156118b2576118b1611115565b5b6118be85828601611841565b915050925092905056fea264697066735822122090c78869e52e89aa7c5a8761f075c070cc7a94a0cc69bce24ebcce69c30c1b3464736f6c634300081a0033",p=i.Roles.MANAGER,t=class t extends i.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=c.R}async owner(f){return await c.CH(this._config,{...this.optionallyAttachAccount(),...f,address:this.assertValidAddress(),args:[]})}async isAllowed(f,e){return await c.RH(this._config,{address:this.assertValidAddress(),args:[f,r.zeroHash],...this.optionallyAttachAccount(),...e})}async setAllowed(f,e,b){return await this.awaitResult(this.setAllowedRaw(f,e,b))}async setAllowedRaw(f,e,b){const{request:a,result:d}=await c.a1(this._config,{address:this.assertValidAddress(),args:[f,e],...this.optionallyAttachAccount(),...b});return{hash:await c.GH(this._config,a),result:d}}buildParameters(f,e){var d;const[b,a]=this.validateDeploymentConfig(f,e);if(!b.owner||b.owner===r.zeroAddress){const s=a.account?a.account.address:a.config?u.getAccount(a.config).address:(d=this._account)==null?void 0:d.address;if(s)b.owner=s;else throw new A.DeployableUnknownOwnerProvidedError}return{abi:c.R,bytecode:y,args:[n(b)],...this.optionallyAttachAccount(a.account)}}};t.bases={31337:void 0,...h.SimpleAllowList},t.registryType=w.RegistryType.ALLOW_LIST;let o=t;function n({owner:l,allowed:f}){return r.encodeAbiParameters([{type:"address",name:"owner"},{type:"address[]",name:"allowed"}],[l,f])}exports.simpleAllowListAbi=c.R;exports.LIST_MANAGER_ROLE=p;exports.SimpleAllowList=o;exports.prepareSimpleAllowListPayload=n;
2
2
  //# sourceMappingURL=SimpleAllowList.cjs.map
@@ -1,7 +1,7 @@
1
- import { R as s, ae as i, af as n, ag as l, ah as h } from "../generated-B0XfMfoq.js";
2
- import { getAccount as A } from "@wagmi/core";
3
- import { zeroHash as p, zeroAddress as u, encodeAbiParameters as w } from "viem";
4
- import { S as m } from "../deployments-DvYsMioW.js";
1
+ import { R as s, ar as i, as as n, at as l, au as h } from "../generated-1ZT_mHJx.js";
2
+ import { getAccount as u } from "@wagmi/core";
3
+ import { zeroHash as A, zeroAddress as p, encodeAbiParameters as w } from "viem";
4
+ import { S as m } from "../deployments-CQu0bLhU.js";
5
5
  import { Roles as y, DeployableTargetWithRBAC as g } from "../Deployable/DeployableTargetWithRBAC.js";
6
6
  import { DeployableUnknownOwnerProvidedError as R } from "../errors.js";
7
7
  import { RegistryType as _ } from "../utils.js";
@@ -38,7 +38,7 @@ const L = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f6
38
38
  async isAllowed(f, a) {
39
39
  return await n(this._config, {
40
40
  address: this.assertValidAddress(),
41
- args: [f, p],
41
+ args: [f, A],
42
42
  ...this.optionallyAttachAccount(),
43
43
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
44
44
  ...a
@@ -98,8 +98,8 @@ const L = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f6
98
98
  f,
99
99
  a
100
100
  );
101
- if (!b.owner || b.owner === u) {
102
- const t = e.account ? e.account.address : e.config ? A(e.config).address : (c = this._account) == null ? void 0 : c.address;
101
+ if (!b.owner || b.owner === p) {
102
+ const t = e.account ? e.account.address : e.config ? u(e.config).address : (c = this._account) == null ? void 0 : c.address;
103
103
  if (t)
104
104
  b.owner = t;
105
105
  else
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../generated-pNKCp_Ez.cjs"),e=require("../SimpleDenyList-CA24drhL.cjs");require("@wagmi/core");require("viem");require("../deployments-BDumesUK.cjs");require("../Deployable/DeployableTargetWithRBAC.cjs");require("../errors.cjs");require("../utils.cjs");exports.simpleDenyListAbi=r.O;exports.SimpleDenyList=e.SimpleDenyList;exports.prepareSimpleDenyListPayload=e.prepareSimpleDenyListPayload;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../generated-CgBgbMNe.cjs"),e=require("../SimpleDenyList-DrQrJ14i.cjs");require("@wagmi/core");require("viem");require("../deployments-BucJ-gwk.cjs");require("../Deployable/DeployableTargetWithRBAC.cjs");require("../errors.cjs");require("../utils.cjs");exports.simpleDenyListAbi=r.O;exports.SimpleDenyList=e.SimpleDenyList;exports.prepareSimpleDenyListPayload=e.prepareSimpleDenyListPayload;
2
2
  //# sourceMappingURL=SimpleDenyList.cjs.map
@@ -1,8 +1,8 @@
1
- import { O as a } from "../generated-B0XfMfoq.js";
2
- import { S as y, p as n } from "../SimpleDenyList-UHgnaOb_.js";
1
+ import { O as a } from "../generated-1ZT_mHJx.js";
2
+ import { S as y, p as n } from "../SimpleDenyList-DuCoaOlG.js";
3
3
  import "@wagmi/core";
4
4
  import "viem";
5
- import "../deployments-DvYsMioW.js";
5
+ import "../deployments-CQu0bLhU.js";
6
6
  import "../Deployable/DeployableTargetWithRBAC.js";
7
7
  import "../errors.js";
8
8
  import "../utils.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../generated-pNKCp_Ez.cjs"),a=require("../Deployable/Deployable.cjs"),s="0x6080604052348015600e575f80fd5b506101598061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063fe9fbb801461002d575b5f80fd5b610047600480360381019061004291906100c5565b61005d565b604051610054919061010a565b60405180910390f35b5f60019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100948261006b565b9050919050565b6100a48161008a565b81146100ae575f80fd5b50565b5f813590506100bf8161009b565b92915050565b5f602082840312156100da576100d9610067565b5b5f6100e7848285016100b1565b91505092915050565b5f8115159050919050565b610104816100f0565b82525050565b5f60208201905061011d5f8301846100fb565b9291505056fea2646970667358221220d69fb5c3af806c7aa7833655670f5929f23f7d101298880775d4b9c7c8d0e62f64736f6c634300081a0033";class d extends a.Deployable{constructor(){super(...arguments),this.abi=f.Le}async isAuthorized(b,e){return await f.uE(this._config,{address:this.assertValidAddress(),args:[b],...e})}buildParameters(b,e){const[o,t]=this.validateDeploymentConfig({},e);return{abi:f.Le,bytecode:s,args:[],...this.optionallyAttachAccount(t.account)}}}exports.passthroughAuthAbi=f.Le;exports.PassthroughAuth=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../generated-CgBgbMNe.cjs"),a=require("../Deployable/Deployable.cjs"),s="0x6080604052348015600e575f80fd5b506101598061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063fe9fbb801461002d575b5f80fd5b610047600480360381019061004291906100c5565b61005d565b604051610054919061010a565b60405180910390f35b5f60019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100948261006b565b9050919050565b6100a48161008a565b81146100ae575f80fd5b50565b5f813590506100bf8161009b565b92915050565b5f602082840312156100da576100d9610067565b5b5f6100e7848285016100b1565b91505092915050565b5f8115159050919050565b610104816100f0565b82525050565b5f60208201905061011d5f8301846100fb565b9291505056fea2646970667358221220d69fb5c3af806c7aa7833655670f5929f23f7d101298880775d4b9c7c8d0e62f64736f6c634300081a0033";class d extends a.Deployable{constructor(){super(...arguments),this.abi=f.Le}async isAuthorized(b,e){return await f.uE(this._config,{address:this.assertValidAddress(),args:[b],...e})}buildParameters(b,e){const[o,t]=this.validateDeploymentConfig({},e);return{abi:f.Le,bytecode:s,args:[],...this.optionallyAttachAccount(t.account)}}}exports.passthroughAuthAbi=f.Le;exports.PassthroughAuth=d;
2
2
  //# sourceMappingURL=PassthroughAuth.cjs.map
@@ -1,4 +1,4 @@
1
- import { L as a, K as s } from "../generated-B0XfMfoq.js";
1
+ import { L as a, a2 as s } from "../generated-1ZT_mHJx.js";
2
2
  import { Deployable as e } from "../Deployable/Deployable.js";
3
3
  const d = "0x6080604052348015600e575f80fd5b506101598061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063fe9fbb801461002d575b5f80fd5b610047600480360381019061004291906100c5565b61005d565b604051610054919061010a565b60405180910390f35b5f60019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100948261006b565b9050919050565b6100a48161008a565b81146100ae575f80fd5b50565b5f813590506100bf8161009b565b92915050565b5f602082840312156100da576100d9610067565b5b5f6100e7848285016100b1565b91505092915050565b5f8115159050919050565b610104816100f0565b82525050565b5f60208201905061011d5f8301846100fb565b9291505056fea2646970667358221220d69fb5c3af806c7aa7833655670f5929f23f7d101298880775d4b9c7c8d0e62f64736f6c634300081a0033";
4
4
  class n extends e {
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./generated-pNKCp_Ez.cjs"),y=require("@wagmi/core"),i=require("viem"),H=require("./deployments-BDumesUK.cjs"),x=require("./Actions/Action.cjs"),$=require("./Actions/EventAction.cjs"),q=require("./AllowLists/AllowList.cjs"),W=require("./AllowLists/SimpleAllowList.cjs"),G=require("./SimpleDenyList-CA24drhL.cjs"),k=require("./Auth/PassthroughAuth.cjs"),B=require("./Boost.cjs"),S=require("./Budget-BxQMnsdx.cjs"),U=require("./Budgets/ManagedBudget.cjs"),X=require("./Deployable/Deployable.cjs"),Y=require("./Deployable/DeployableTargetWithRBAC.cjs"),J=require("./Incentives/AllowListIncentive.cjs"),K=require("./Incentives/CGDAIncentive.cjs"),Q=require("./Incentives/ERC20Incentive.cjs"),Z=require("./Incentives/ERC20VariableCriteriaIncentive.cjs"),p=require("./Incentives/Incentive.cjs"),ff=require("./Incentives/PointsIncentive.cjs"),ef=require("./Validators/LimitedSignerValidator.cjs"),bf=require("./Validators/SignerValidator.cjs"),m=require("./Validators/Validator.cjs"),v=require("./errors.cjs"),g=require("./utils.cjs"),af=require("./Incentives/ERC20VariableIncentive.cjs"),F=require("viem/actions"),V=require("viem/utils"),tf="0x60806040526103e8600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561003a575f80fd5b50604051615326380380615326833981810160405281019061005c919061026b565b61006b336100f260201b60201c565b8160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506102a9565b6101006101ce60201b60201c565b15610178577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561013a57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101cb565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6101ff826101d6565b9050919050565b5f610210826101f5565b9050919050565b61022081610206565b811461022a575f80fd5b50565b5f8151905061023b81610217565b92915050565b61024a816101f5565b8114610254575f80fd5b50565b5f8151905061026581610241565b92915050565b5f8060408385031215610281576102806101d2565b5b5f61028e8582860161022d565b925050602061029f85828601610257565b9150509250929050565b615070806102b65f395ff3fe60806040526004361061014a575f3560e01c80638da5cb5b116100b5578063e21ff7311161006e578063e21ff731146103f7578063eccc19a614610433578063f04e283e1461045b578063f2fde38b14610477578063fee81cf414610493578063fefceca9146104cf5761014a565b80638da5cb5b146102f65780638fe4f52314610320578063a92647dc1461033c578063b0e21e8a14610366578063d73792a914610390578063dd98558c146103ba5761014a565b806354d1f13d1161010757806354d1f13d1461024a5780635edb9eb0146102545780635f32c23e1461027e578063715018a6146102a6578063730f9c57146102b05780637b103999146102cc5761014a565b806313c8e2de1461014e578063256929621461018a578063346339d51461019457806339a51be5146101d057806343bc42d3146101fa57806346877b1a14610222575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f91906137e7565b61050f565b6040516101819190613ac3565b60405180910390f35b6101926107b7565b005b34801561019f575f80fd5b506101ba60048036038101906101b59190613b16565b610808565b6040516101c79190613c1a565b60405180910390f35b3480156101db575f80fd5b506101e46108df565b6040516101f19190613c42565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b9190613c85565b610904565b005b34801561022d575f80fd5b5061024860048036038101906102439190613cda565b610938565b005b610252610983565b005b34801561025f575f80fd5b506102686109bc565b6040516102759190613d14565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f9190613d2d565b6109c7565b005b6102ae610b53565b005b6102ca60048036038101906102c59190613dcc565b610b66565b005b3480156102d7575f80fd5b506102e06110a7565b6040516102ed9190613e82565b60405180910390f35b348015610301575f80fd5b5061030a6110cc565b6040516103179190613c42565b60405180910390f35b61033a60048036038101906103359190613e9b565b6110f4565b005b348015610347575f80fd5b50610350611109565b60405161035d9190613f3f565b60405180910390f35b348015610371575f80fd5b5061037a61112e565b6040516103879190613f67565b60405180910390f35b34801561039b575f80fd5b506103a4611148565b6040516103b19190613f67565b60405180910390f35b3480156103c5575f80fd5b506103e060048036038101906103db9190613f80565b61114e565b6040516103ee929190613ff1565b60405180910390f35b348015610402575f80fd5b5061041d60048036038101906104189190614018565b611834565b60405161042a9190613ac3565b60405180910390f35b34801561043e575f80fd5b5061045960048036038101906104549190613cda565b612227565b005b61047560048036038101906104709190613cda565b612272565b005b610491600480360381019061048c9190613cda565b6122b0565b005b34801561049e575f80fd5b506104b960048036038101906104b49190613cda565b6122d9565b6040516104c69190613d14565b60405180910390f35b3480156104da575f80fd5b506104f560048036038101906104f09190613b16565b6122f2565b604051610506959493929190614072565b60405180910390f35b6105176135f9565b5f828154811061052a576105296140c3565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561071757602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116106ce575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b5f6107c061234f565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6108106136af565b60045f8381526020019081526020015f206040518060a00160405290815f82015f9054906101000a900460ff16600281111561084f5761084e613b41565b5b600281111561086157610860613b41565b5b81526020015f820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820154815250509050919050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61090c612359565b80600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b610940612359565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b3068929eee149b4bd2126854036109e55763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6109fc8383612390565b90505f60045f8381526020019081526020015f2090505f816002015461271067ffffffffffffffff168360010154610a34919061411d565b610a3e919061418b565b90505f610a4a836123c2565b905081811115610b3f575f8282610a6191906141bb565b90505f61271067ffffffffffffffff16856002015483610a81919061411d565b610a8b919061418b565b9050610a9785826125c8565b80856001015410610ac15780856001015f828254610ab591906141bb565b92505081905550610acb565b5f85600101819055505b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1687897f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051610b349190613d14565b60405180910390a450505b505050503868929eee149b4bd21268555050565b610b5b612359565b610b645f6127a9565b565b3068929eee149b4bd212685403610b845763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110610ba457610ba36140c3565b5b905f5260205f20906008020190505f610bbd8888612390565b90505f60045f8381526020019081526020015f209050826002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de8588886040518463ffffffff1660e01b8152600401610c3393929190614248565b602060405180830381865afa158015610c4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7291906142ad565b610ca8576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b69008a8a878a8a6040518663ffffffff1660e01b8152600401610d0c9594939291906142d8565b6020604051808303815f875af1158015610d28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4c91906142ad565b610d82576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16825f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610ddf575f610de9565b610de8826123c2565b5b9050836004018981548110610e0157610e006140c3565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb1757cf8689896040518463ffffffff1660e01b8152600401610e6593929190614248565b6020604051808303815f875af1158015610e81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea591906142ad565b610eea578487876040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610ee193929190614248565b60405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610f47575f610f51565b610f50836123c2565b5b90505f818311610f61575f610f6e565b8183610f6d91906141bb565b5b90505f61271067ffffffffffffffff16856002015483610f8e919061411d565b610f98919061418b565b90505f81111561103857610fac85826125c8565b80856001015f828254610fbf91906141bb565b9250508190555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168c8e7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161102f9190613d14565b60405180910390a45b8773ffffffffffffffffffffffffffffffffffffffff168c8e7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478e8e8e60405161108493929190614248565b60405180910390a4505050505050503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b611102858585858533610b66565b5050505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900467ffffffffffffffff1681565b61271081565b5f803068929eee149b4bd21268540361116e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061118e5761118d6140c3565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561137b57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611332575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050806060015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461147f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61148a8686612390565b90505f60045f8381526020019081526020015f2090505f89898101906114b091906144af565b90505f81602001518060200190518101906114cb919061450a565b90505f61271067ffffffffffffffff168460020154836114eb919061411d565b6114f5919061418b565b90505f8111156116f4576001600281111561151357611512613b41565b5b845f015f9054906101000a900460ff16600281111561153557611534613b41565b5b148061157357505f600281111561154f5761154e613b41565b5b845f015f9054906101000a900460ff16600281111561157157611570613b41565b5b145b156115ce576115c9835f015182865f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661286f9092919063ffffffff16565b6116a0565b6002808111156115e1576115e0613b41565b5b845f015f9054906101000a900460ff16600281111561160357611602613b41565b5b0361169f57835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30855f01518760030154856040518563ffffffff1660e01b81526004016116719493929190614558565b5f604051808303815f87803b158015611688575f80fd5b505af115801561169a573d5f803e3d5ffd5b505050505b5b825f015173ffffffffffffffffffffffffffffffffffffffff16898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516116eb9190613d14565b60405180910390a45b5f8087608001518b8151811061170d5761170c6140c3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663474f5a44866040516020016117419190614648565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161176c91906146a0565b60408051808303815f875af1158015611787573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ab91906146d4565b915091505f82036117f757338e8e6040517f9ecd71a90000000000000000000000000000000000000000000000000000000081526004016117ee93929190614248565b60405180910390fd5b82866001015f82825461180a91906141bb565b9250508190555081819950995050505050505050503868929eee149b4bd212685594509492505050565b61183c6135f9565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015611930575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b81526004016118ef9190613c42565b602060405180830381865afa15801561190a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192e91906142ad565b155b15611967576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd2126854036119855763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6119de85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050506128b8565b8060200190518101906119f19190614a72565b90506119ff815f0151612951565b5f8060018160018154018082558091505003905f5260205f20906008020190508160e00151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160a00151600360149054906101000a900467ffffffffffffffff16611ad09190614ab9565b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c001518160060181905550611b367fe67157950000000000000000000000000000000000000000000000000000000083602001516001612a2c565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611ba67fe2089f790000000000000000000000000000000000000000000000000000000083606001516001612a2c565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611bfd8260800151835f01518460a00151612a4e565b816004019080519060200190611c14929190613701565b505f73ffffffffffffffffffffffffffffffffffffffff1682604001516020015173ffffffffffffffffffffffffffffffffffffffff1614611c8557611c807f5912b89c0000000000000000000000000000000000000000000000000000000083604001516001612a2c565b611d6e565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401611d009190614b2e565b602060405180830381865afa158015611d1b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d3f91906142ad565b611d49575f611d6d565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611e64577f5912b89c000000000000000000000000000000000000000000000000000000005f6040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401611e5b929190614b47565b60405180910390fd5b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f80549050611ee891906141bb565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8460040180549050856001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611f8d9493929190614b6e565b60405180910390a480604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561217757602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161212e575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050935050503868929eee149b4bd21268555092915050565b61222f612359565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61227a612359565b63389a75e1600c52805f526020600c2080544211156122a057636f5e88185f526004601cfd5b5f8155506122ad816127a9565b50565b6122b8612359565b8060601b6122cd57637448fbae5f526004601cfd5b6122d6816127a9565b50565b5f63389a75e1600c52815f526020600c20549050919050565b6004602052805f5260405f205f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905085565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461238e576382b429005f526004601cfd5b565b5f82826040516020016123a4929190614bd1565b60405160208183030381529060405280519060200120905092915050565b5f600160028111156123d7576123d6613b41565b5b825f015f9054906101000a900460ff1660028111156123f9576123f8613b41565b5b148061243757505f600281111561241357612412613b41565b5b825f015f9054906101000a900460ff16600281111561243557612434613b41565b5b145b156124de57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016124989190613c42565b602060405180830381865afa1580156124b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124d7919061450a565b90506125c3565b6002808111156124f1576124f0613b41565b5b825f015f9054906101000a900460ff16600281111561251357612512613b41565b5b036125bf57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e3084600301546040518363ffffffff1660e01b8152600401612579929190614bfc565b602060405180830381865afa158015612594573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b8919061450a565b90506125c3565b5f90505b919050565b600160028111156125dc576125db613b41565b5b825f015f9054906101000a900460ff1660028111156125fe576125fd613b41565b5b148061263c57505f600281111561261857612617613b41565b5b825f015f9054906101000a900460ff16600281111561263a57612639613b41565b5b145b156126b5576126b060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682845f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661286f9092919063ffffffff16565b6127a5565b6002808111156126c8576126c7613b41565b5b825f015f9054906101000a900460ff1660028111156126ea576126e9613b41565b5b036127a457815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560030154856040518563ffffffff1660e01b81526004016127769493929190614558565b5f604051808303815f87803b15801561278d575f80fd5b505af115801561279f573d5f803e3d5ffd5b505050505b5b5050565b6127b1612f69565b15612816577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b821781555061286c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166128af576390b8ec185f526004601cfd5b5f603452505050565b606081511561294c5760405190506020810160048301805184518501811983525b80861015612932576001860195508551601f1a80612922576001870196508651601f1a5f198652607f811161291057600181013887395b6001607f82160186019550505061292d565b808553600185019450505b6128d9565b81835260208501840385525f845260208401604052505050505b919050565b61297b7fe49cedd70000000000000000000000000000000000000000000000000000000082612f6d565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b81526004016129b49190613c42565b602060405180830381865afa1580156129cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f391906142ad565b612a29576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f612a3b848460200151612f6d565b612a458383613064565b90509392505050565b6060835167ffffffffffffffff811115612a6b57612a6a614328565b5b604051908082528060200260200182016040528015612a995781602001602082028036833780820191505090505b5090505f5b8451811015612f6157612aef7fa921670500000000000000000000000000000000000000000000000000000000868381518110612ade57612add6140c3565b5b602002602001015160200151612f6d565b848181518110612b0257612b016140c3565b5b60200260200101515f0151612b8e577fa921670500000000000000000000000000000000000000000000000000000000858281518110612b4557612b446140c3565b5b6020026020010151602001516040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401612b85929190614b47565b60405180910390fd5b612bd37fa921670500000000000000000000000000000000000000000000000000000000868381518110612bc557612bc46140c3565b5b60200260200101515f612a2c565b828281518110612be657612be56140c3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f828281518110612c3457612c336140c3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16634e7165a2878481518110612c6a57612c696140c3565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401612c9291906146a0565b5f60405180830381865afa158015612cac573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190612cd49190614c23565b90505f815114612eb5575f80612cea8387613120565b915091508673ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1836040518263ffffffff1660e01b8152600401612d2791906146a0565b6020604051808303815f875af1158015612d43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d6791906142ad565b612d9d576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1846040518263ffffffff1660e01b8152600401612dd691906146a0565b6020604051808303815f875af1158015612df2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e1691906142ad565b612e4c576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83806020019051810190612e619190614d1e565b9050612eb160015f80549050612e7791906141bb565b868360200151858b67ffffffffffffffff16865f01518f8c81518110612ea057612e9f6140c3565b5b602002602001015160400151613419565b5050505b828281518110612ec857612ec76140c3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663439fab91878481518110612efe57612efd6140c3565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401612f2691906146a0565b5f604051808303815f87803b158015612f3d575f80fd5b505af1158015612f4f573d5f803e3d5ffd5b50505050508080600101915050612a9e565b509392505050565b5f90565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061301c57508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b8152600401612fdb9190614b2e565b602060405180830381865afa158015612ff6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061301a91906142ad565b155b156130605781816040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401613057929190614b47565b60405180910390fd5b5050565b5f825f015161307757826020015161309b565b61309a836020015173ffffffffffffffffffffffffffffffffffffffff16613596565b5b9050825f015180156130aa5750815b1561311a578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b81526004016130ec91906146a0565b5f604051808303815f87803b158015613103575f80fd5b505af1158015613115573d5f803e3d5ffd5b505050505b92915050565b60605f80848060200190518101906131389190614d1e565b90505f600360149054906101000a900467ffffffffffffffff168561315d9190614ab9565b90506001600281111561317357613172613b41565b5b825f0151600281111561318957613188613b41565b5b14806131bb57505f60028111156131a3576131a2613b41565b5b825f015160028111156131b9576131b8613b41565b5b145b156132af575f82606001518060200190518101906131d99190614d9e565b90505f61271067ffffffffffffffff168367ffffffffffffffff16835f0151613202919061411d565b61320c919061418b565b90505f6040518060200160405280838152509050806040516020016132319190614de3565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050846040516020016132919190614e5c565b60405160208183030381529060405282965096505050505050613412565b6002808111156132c2576132c1613b41565b5b825f015160028111156132d8576132d7613b41565b5b036133e0575f82606001518060200190518101906132f69190614ef9565b90505f61271067ffffffffffffffff168367ffffffffffffffff168360200151613320919061411d565b61332a919061418b565b90505f6040518060600160405280845f0151815260200183815260200184604001518152509050806040516020016133629190614f8d565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050846040516020016133c29190614e5c565b60405160208183030381529060405282965096505050505050613412565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b5f60028081111561342d5761342c613b41565b5b8360028111156134405761343f613b41565b5b0361345f57818060200190518101906134599190614fad565b50809150505b5f6040518060a0016040528085600281111561347e5761347d613b41565b5b81526020018873ffffffffffffffffffffffffffffffffffffffff16815260200187815260200186600360149054906101000a900467ffffffffffffffff1667ffffffffffffffff166134d19190615007565b81526020018381525090508060045f6134ea8c8c612390565b81526020019081526020015f205f820151815f015f6101000a81548160ff0219169083600281111561351f5761351e613b41565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030155905050505050505050505050565b5f6135a15f836135a8565b9050919050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806135ef5763301164255f526004601cfd5b5f60215292915050565b6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060a001604052805f60028111156136cd576136cc613b41565b5b81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81525090565b828054828255905f5260205f20908101928215613777579160200282015b82811115613776578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061371f565b5b5090506137849190613788565b5090565b5b8082111561379f575f815f905550600101613789565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6137c6816137b4565b81146137d0575f80fd5b50565b5f813590506137e1816137bd565b92915050565b5f602082840312156137fc576137fb6137ac565b5b5f613809848285016137d3565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61385461384f61384a84613812565b613831565b613812565b9050919050565b5f6138658261383a565b9050919050565b5f6138768261385b565b9050919050565b6138868161386c565b82525050565b5f6138968261385b565b9050919050565b6138a68161388c565b82525050565b5f6138b68261385b565b9050919050565b6138c6816138ac565b82525050565b5f6138d68261383a565b9050919050565b5f6138e7826138cc565b9050919050565b6138f7816138dd565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6139308261385b565b9050919050565b61394081613926565b82525050565b5f6139518383613937565b60208301905092915050565b5f602082019050919050565b5f613973826138fd565b61397d8185613907565b935061398883613917565b805f5b838110156139b857815161399f8882613946565b97506139aa8361395d565b92505060018101905061398b565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b6139e1816139c5565b82525050565b6139f0816137b4565b82525050565b5f613a0082613812565b9050919050565b613a10816139f6565b82525050565b5f61010083015f830151613a2c5f86018261387d565b506020830151613a3f602086018261389d565b506040830151613a5260408601826138bd565b506060830151613a6560608601826138ee565b5060808301518482036080860152613a7d8282613969565b91505060a0830151613a9260a08601826139d8565b5060c0830151613aa560c08601826139e7565b5060e0830151613ab860e0860182613a07565b508091505092915050565b5f6020820190508181035f830152613adb8184613a16565b905092915050565b5f819050919050565b613af581613ae3565b8114613aff575f80fd5b50565b5f81359050613b1081613aec565b92915050565b5f60208284031215613b2b57613b2a6137ac565b5b5f613b3884828501613b02565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60038110613b7f57613b7e613b41565b5b50565b5f819050613b8f82613b6e565b919050565b5f613b9e82613b82565b9050919050565b613bae81613b94565b82525050565b60a082015f820151613bc85f850182613ba5565b506020820151613bdb6020850182613a07565b506040820151613bee60408501826139e7565b506060820151613c0160608501826139e7565b506080820151613c1460808501826139e7565b50505050565b5f60a082019050613c2d5f830184613bb4565b92915050565b613c3c816139f6565b82525050565b5f602082019050613c555f830184613c33565b92915050565b613c64816139c5565b8114613c6e575f80fd5b50565b5f81359050613c7f81613c5b565b92915050565b5f60208284031215613c9a57613c996137ac565b5b5f613ca784828501613c71565b91505092915050565b613cb9816139f6565b8114613cc3575f80fd5b50565b5f81359050613cd481613cb0565b92915050565b5f60208284031215613cef57613cee6137ac565b5b5f613cfc84828501613cc6565b91505092915050565b613d0e816137b4565b82525050565b5f602082019050613d275f830184613d05565b92915050565b5f8060408385031215613d4357613d426137ac565b5b5f613d50858286016137d3565b9250506020613d61858286016137d3565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112613d8c57613d8b613d6b565b5b8235905067ffffffffffffffff811115613da957613da8613d6f565b5b602083019150836001820283011115613dc557613dc4613d73565b5b9250929050565b5f805f805f8060a08789031215613de657613de56137ac565b5b5f613df389828a016137d3565b9650506020613e0489828a016137d3565b9550506040613e1589828a01613cc6565b945050606087013567ffffffffffffffff811115613e3657613e356137b0565b5b613e4289828a01613d77565b93509350506080613e5589828a01613cc6565b9150509295509295509295565b5f613e6c8261385b565b9050919050565b613e7c81613e62565b82525050565b5f602082019050613e955f830184613e73565b92915050565b5f805f805f60808688031215613eb457613eb36137ac565b5b5f613ec1888289016137d3565b9550506020613ed2888289016137d3565b9450506040613ee388828901613cc6565b935050606086013567ffffffffffffffff811115613f0457613f036137b0565b5b613f1088828901613d77565b92509250509295509295909350565b5f613f298261385b565b9050919050565b613f3981613f1f565b82525050565b5f602082019050613f525f830184613f30565b92915050565b613f61816139c5565b82525050565b5f602082019050613f7a5f830184613f58565b92915050565b5f805f8060608587031215613f9857613f976137ac565b5b5f85013567ffffffffffffffff811115613fb557613fb46137b0565b5b613fc187828801613d77565b94509450506020613fd4878288016137d3565b9250506040613fe5878288016137d3565b91505092959194509250565b5f6040820190506140045f830185613d05565b6140116020830184613c33565b9392505050565b5f806020838503121561402e5761402d6137ac565b5b5f83013567ffffffffffffffff81111561404b5761404a6137b0565b5b61405785828601613d77565b92509250509250929050565b61406c81613b94565b82525050565b5f60a0820190506140855f830188614063565b6140926020830187613c33565b61409f6040830186613d05565b6140ac6060830185613d05565b6140b96080830184613d05565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614127826137b4565b9150614132836137b4565b9250828202614140816137b4565b91508282048414831517614157576141566140f0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614195826137b4565b91506141a0836137b4565b9250826141b0576141af61415e565b5b828204905092915050565b5f6141c5826137b4565b91506141d0836137b4565b92508282039050818111156141e8576141e76140f0565b5b92915050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61422783856141ee565b93506142348385846141fe565b61423d8361420c565b840190509392505050565b5f60408201905061425b5f830186613c33565b818103602083015261426e81848661421c565b9050949350505050565b5f8115159050919050565b61428c81614278565b8114614296575f80fd5b50565b5f815190506142a781614283565b92915050565b5f602082840312156142c2576142c16137ac565b5b5f6142cf84828501614299565b91505092915050565b5f6080820190506142eb5f830188613d05565b6142f86020830187613d05565b6143056040830186613c33565b818103606083015261431881848661421c565b90509695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61435e8261420c565b810181811067ffffffffffffffff8211171561437d5761437c614328565b5b80604052505050565b5f61438f6137a3565b905061439b8282614355565b919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff8211156143c2576143c1614328565b5b6143cb8261420c565b9050602081019050919050565b5f6143ea6143e5846143a8565b614386565b905082815260208101848484011115614406576144056143a4565b5b6144118482856141fe565b509392505050565b5f82601f83011261442d5761442c613d6b565b5b813561443d8482602086016143d8565b91505092915050565b5f6040828403121561445b5761445a614324565b5b6144656040614386565b90505f61447484828501613cc6565b5f83015250602082013567ffffffffffffffff811115614497576144966143a0565b5b6144a384828501614419565b60208301525092915050565b5f602082840312156144c4576144c36137ac565b5b5f82013567ffffffffffffffff8111156144e1576144e06137b0565b5b6144ed84828501614446565b91505092915050565b5f81519050614504816137bd565b92915050565b5f6020828403121561451f5761451e6137ac565b5b5f61452c848285016144f6565b91505092915050565b50565b5f6145435f836141ee565b915061454e82614535565b5f82019050919050565b5f60a08201905061456b5f830187613c33565b6145786020830186613c33565b6145856040830185613d05565b6145926060830184613d05565b81810360808301526145a381614538565b905095945050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6145e0826145ae565b6145ea81856145b8565b93506145fa8185602086016145c8565b6146038161420c565b840191505092915050565b5f604083015f8301516146235f860182613a07565b506020830151848203602086015261463b82826145d6565b9150508091505092915050565b5f6020820190508181035f830152614660818461460e565b905092915050565b5f614672826145ae565b61467c81856141ee565b935061468c8185602086016145c8565b6146958161420c565b840191505092915050565b5f6020820190508181035f8301526146b88184614668565b905092915050565b5f815190506146ce81613cb0565b92915050565b5f80604083850312156146ea576146e96137ac565b5b5f6146f7858286016144f6565b9250506020614708858286016146c0565b9150509250929050565b5f61471c82613812565b9050919050565b5f61472d82614712565b9050919050565b61473d81614723565b8114614747575f80fd5b50565b5f8151905061475881614734565b92915050565b5f61477061476b846143a8565b614386565b90508281526020810184848401111561478c5761478b6143a4565b5b6147978482856145c8565b509392505050565b5f82601f8301126147b3576147b2613d6b565b5b81516147c384826020860161475e565b91505092915050565b5f606082840312156147e1576147e0614324565b5b6147eb6060614386565b90505f6147fa84828501614299565b5f83015250602061480d848285016146c0565b602083015250604082015167ffffffffffffffff811115614831576148306143a0565b5b61483d8482850161479f565b60408301525092915050565b5f67ffffffffffffffff82111561486357614862614328565b5b602082029050602081019050919050565b5f61488661488184614849565b614386565b905080838252602082019050602084028301858111156148a9576148a8613d73565b5b835b818110156148f057805167ffffffffffffffff8111156148ce576148cd613d6b565b5b8086016148db89826147cc565b855260208501945050506020810190506148ab565b5050509392505050565b5f82601f83011261490e5761490d613d6b565b5b815161491e848260208601614874565b91505092915050565b5f8151905061493581613c5b565b92915050565b5f610100828403121561495157614950614324565b5b61495c610100614386565b90505f61496b8482850161474a565b5f83015250602082015167ffffffffffffffff81111561498e5761498d6143a0565b5b61499a848285016147cc565b602083015250604082015167ffffffffffffffff8111156149be576149bd6143a0565b5b6149ca848285016147cc565b604083015250606082015167ffffffffffffffff8111156149ee576149ed6143a0565b5b6149fa848285016147cc565b606083015250608082015167ffffffffffffffff811115614a1e57614a1d6143a0565b5b614a2a848285016148fa565b60808301525060a0614a3e84828501614927565b60a08301525060c0614a52848285016144f6565b60c08301525060e0614a66848285016146c0565b60e08301525092915050565b5f60208284031215614a8757614a866137ac565b5b5f82015167ffffffffffffffff811115614aa457614aa36137b0565b5b614ab08482850161493b565b91505092915050565b5f614ac3826139c5565b9150614ace836139c5565b9250828201905067ffffffffffffffff811115614aee57614aed6140f0565b5b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614b2881614af4565b82525050565b5f602082019050614b415f830184614b1f565b92915050565b5f604082019050614b5a5f830185614b1f565b614b676020830184613c33565b9392505050565b5f608082019050614b815f830187613d05565b614b8e6020830186613c33565b614b9b6040830185613c33565b614ba86060830184613c33565b95945050505050565b5f819050919050565b614bcb614bc6826137b4565b614bb1565b82525050565b5f614bdc8285614bba565b602082019150614bec8284614bba565b6020820191508190509392505050565b5f604082019050614c0f5f830185613c33565b614c1c6020830184613d05565b9392505050565b5f60208284031215614c3857614c376137ac565b5b5f82015167ffffffffffffffff811115614c5557614c546137b0565b5b614c618482850161479f565b91505092915050565b60038110614c76575f80fd5b50565b5f81519050614c8781614c6a565b92915050565b5f60808284031215614ca257614ca1614324565b5b614cac6080614386565b90505f614cbb84828501614c79565b5f830152506020614cce848285016146c0565b6020830152506040614ce2848285016146c0565b604083015250606082015167ffffffffffffffff811115614d0657614d056143a0565b5b614d128482850161479f565b60608301525092915050565b5f60208284031215614d3357614d326137ac565b5b5f82015167ffffffffffffffff811115614d5057614d4f6137b0565b5b614d5c84828501614c8d565b91505092915050565b5f60208284031215614d7a57614d79614324565b5b614d846020614386565b90505f614d93848285016144f6565b5f8301525092915050565b5f60208284031215614db357614db26137ac565b5b5f614dc084828501614d65565b91505092915050565b602082015f820151614ddd5f8501826139e7565b50505050565b5f602082019050614df65f830184614dc9565b92915050565b5f608083015f830151614e115f860182613ba5565b506020830151614e246020860182613a07565b506040830151614e376040860182613a07565b5060608301518482036060860152614e4f82826145d6565b9150508091505092915050565b5f6020820190508181035f830152614e748184614dfc565b905092915050565b5f60608284031215614e9157614e90614324565b5b614e9b6060614386565b90505f614eaa848285016144f6565b5f830152506020614ebd848285016144f6565b602083015250604082015167ffffffffffffffff811115614ee157614ee06143a0565b5b614eed8482850161479f565b60408301525092915050565b5f60208284031215614f0e57614f0d6137ac565b5b5f82015167ffffffffffffffff811115614f2b57614f2a6137b0565b5b614f3784828501614e7c565b91505092915050565b5f606083015f830151614f555f8601826139e7565b506020830151614f6860208601826139e7565b5060408301518482036040860152614f8082826145d6565b9150508091505092915050565b5f6020820190508181035f830152614fa58184614f40565b905092915050565b5f8060408385031215614fc357614fc26137ac565b5b5f614fd0858286016144f6565b925050602083015167ffffffffffffffff811115614ff157614ff06137b0565b5b614ffd8582860161479f565b9150509250929050565b5f615011826137b4565b915061501c836137b4565b9250828201905080821115615034576150336140f0565b5b9291505056fea2646970667358221220b1b3b1a29500988dc5a93c87996e3219d65576d3c8fd5df25480f04dcf05ceaf64736f6c634300081a0033";function L(t){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(s=>s.id===(f==null?void 0:f.chainId)),d=t.state.status;switch(d){case"connected":return{address:a,addresses:b,chain:c,chainId:f==null?void 0:f.chainId,connector:f==null?void 0:f.connector,isConnected:!0,isConnecting:!1,isDisconnected:!1,isReconnecting:!1,status:d};case"reconnecting":return{address:a,addresses:b,chain:c,chainId:f==null?void 0:f.chainId,connector:f==null?void 0:f.connector,isConnected:!!a,isConnecting:!1,isDisconnected:!1,isReconnecting:!0,status:d};case"connecting":return{address:a,addresses:b,chain:c,chainId:f==null?void 0:f.chainId,connector:f==null?void 0:f.connector,isConnected:!1,isConnecting:!0,isDisconnected:!1,isReconnecting:!1,status:d};case"disconnected":return{address:void 0,addresses:void 0,chain:void 0,chainId:void 0,connector:void 0,isConnected:!1,isConnecting:!1,isDisconnected:!0,isReconnecting:!1,status:d}}}function cf(t){return t.state.chainId}function O(t,e,f){const b=t[e.name];if(typeof b=="function")return b;const a=t[f];return typeof a=="function"?a:c=>e(t,c)}const df="2.13.8",sf=()=>`@wagmi/core@${df}`;var z=function(t,e,f,b){if(f==="a"&&!b)throw new TypeError("Private accessor was defined without a getter");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");return f==="m"?b:f==="a"?b.call(t):b?b.value:e.get(t)},_,N;class A extends Error{get docsBaseUrl(){return"https://wagmi.sh/core"}get version(){return sf()}constructor(e,f={}){var c;super(),_.add(this),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WagmiCoreError"});const b=f.cause instanceof A?f.cause.details:(c=f.cause)!=null&&c.message?f.cause.message:f.details,a=f.cause instanceof A&&f.cause.docsPath||f.docsPath;this.message=[e||"An error occurred.","",...f.metaMessages?[...f.metaMessages,""]:[],...a?[`Docs: ${this.docsBaseUrl}${a}.html${f.docsSlug?`#${f.docsSlug}`:""}`]:[],...b?[`Details: ${b}`]:[],`Version: ${this.version}`].join(`
2
- `),f.cause&&(this.cause=f.cause),this.details=b,this.docsPath=a,this.metaMessages=f.metaMessages,this.shortMessage=e}walk(e){return z(this,_,"m",N).call(this,this,e)}}_=new WeakSet,N=function t(e,f){return f!=null&&f(e)?e:e.cause?z(this,_,"m",t).call(this,e.cause,f):e};class nf extends A{constructor(){super("Connector not connected."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorNotConnectedError"})}}class rf extends A{constructor({address:e,connector:f}){super(`Account "${e}" not found for connector "${f.name}".`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorAccountNotFoundError"})}}class of extends A{constructor({connectionChainId:e,connectorChainId:f}){super(`The current chain of the connector (id: ${f}) does not match the connection's chain (id: ${e}).`,{metaMessages:[`Current Chain ID: ${f}`,`Expected Chain ID: ${e}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorChainMismatchError"})}}class uf extends A{constructor({connector:e}){super(`Connector "${e.name}" unavailable while reconnecting.`,{details:["During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uuid`.","All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.","This error commonly occurs for connectors that asynchronously inject after reconnection has already started."].join(" ")}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorUnavailableReconnectingError"})}}async function M(t,e={}){let f;if(e.connector){const{connector:n}=e;if(t.state.status==="reconnecting"&&!n.getAccounts&&!n.getChainId)throw new uf({connector:n});const[C,w]=await Promise.all([n.getAccounts(),n.getChainId()]);f={accounts:C,chainId:w,connector:n}}else f=t.state.connections.get(t.state.current);if(!f)throw new nf;const b=e.chainId??f.chainId,a=await f.connector.getChainId();if(a!==f.chainId)throw new of({connectionChainId:f.chainId,connectorChainId:a});const c=f.connector;if(c.getClient)return c.getClient({chainId:b});const d=V.parseAccount(e.account??f.accounts[0]);if(d.address=V.getAddress(d.address),e.account&&!f.accounts.some(n=>n.toLowerCase()===d.address.toLowerCase()))throw new rf({address:d.address,connector:c});const s=t.chains.find(n=>n.id===b),r=await f.connector.getProvider({chainId:b});return i.createClient({account:d,chain:s,name:"Connector Client",transport:n=>i.custom(r)({...n,retryCount:0})})}async function lf(t,e){const{abi:f,chainId:b,connector:a,...c}=e;let d;e.account?d=e.account:d=(await M(t,{chainId:b,connector:a})).account;const s=t.getClient({chainId:b}),r=O(s,F.simulateContract,"simulateContract"),{result:n,request:C}=await r({...c,abi:f,account:d});return{chainId:s.chain.id,result:n,request:{__mode:"prepared",...C,chainId:b}}}async function D(t,e){const{account:f,chainId:b,connector:a,__mode:c,...d}=e;let s;typeof f=="object"&&f.type==="local"?s=t.getClient({chainId:b}):s=await M(t,{account:f,chainId:b,connector:a});const{connector:r}=L(t);let n;if(c==="prepared"||r!=null&&r.supportsSimulation)n=d;else{const{request:o}=await lf(t,{...d,account:f,chainId:b});n=o}return await O(s,F.writeContract,"writeContract")({...n,...f?{account:f}:{},chain:b?{id:b}:null})}function hf(t){return t.address!==void 0&&typeof t.address=="object"?(e,f)=>{var d;const b=cf(e),a=L(e);let c;return f.chainId?c=f.chainId:f.account&&f.account===a.address||f.account===void 0?c=a.chainId:c=b,D(e,{...f,...t.functionName?{functionName:t.functionName}:{},address:c?(d=t.address)==null?void 0:d[c]:void 0,abi:t.abi})}:(e,f)=>D(e,{...f,...t.address?{address:t.address}:{},...t.functionName?{functionName:t.functionName}:{},abi:t.abi})}const T=10000n,P={31337:void 0,...H.BoostCore},gf=P[11155111]||i.zeroAddress;function wf(t){return t.address}function Cf(t){return t.registryAddress&&t.protocolFeeReceiver}const R=class R extends X.Deployable{get addresses(){return this.constructor.addresses}constructor({config:e,account:f,...b}){if(wf(b)&&b.address)super({account:f,config:e},b.address);else if(Cf(b))super({account:f,config:e},[b.registryAddress,b.protocolFeeReceiver]);else{const{address:a}=g.assertValidAddressByChainId(e,P);super({account:f,config:e},a)}this.abi=u.I}async createBoost(e,f){const[b,a]=this.validateDeploymentConfig(e),c=f==null?void 0:f.chainId,{chainId:d,address:s}=g.assertValidAddressByChainId(a.config,this.addresses,c),r=hf({abi:u.I,functionName:"createBoost",address:s}),n=await this.prepareCreateBoostPayload(s,d,b,a),C=await r(a.config,{...this.optionallyAttachAccount(a.account),...f,chainId:d,args:[B.prepareBoostPayload(n)]}),w=await y.waitForTransactionReceipt(a.config,{hash:C}),o=i.parseEventLogs({abi:u.I,eventName:"BoostCreated",logs:w.logs}).at(0);let l=0n;if(!o)throw new v.BoostCoreNoIdentifierEmitted;l=o==null?void 0:o.args.boostId;const h=await this.readBoost(l);return new B.Boost({id:l,budget:b.budget.at(h.budget),action:b.action.at(h.action),validator:b.validator.at(h.validator),allowList:b.allowList.at(h.allowList),incentives:b.incentives.map((I,j)=>I.at(h.incentives.at(j))),protocolFee:h.protocolFee,maxParticipants:h.maxParticipants,owner:h.owner})}async simulateCreateBoost(e,f){const[b,a]=this.validateDeploymentConfig(e),c=f==null?void 0:f.chainId,{chainId:d,address:s}=g.assertValidAddressByChainId(a.config,this.addresses,c),r=await this.prepareCreateBoostPayload(s,d,b,a);return await u.nv(this._config,{...this.optionallyAttachAccount(),...f,address:s,chainId:d,args:[B.prepareBoostPayload(r)]})}async prepareCreateBoostPayload(e,f,b,a){var w;if(!b.owner&&(b.owner=((w=this._account)==null?void 0:w.address)||y.getAccount(a.config).address||i.zeroAddress,b.owner===i.zeroAddress))throw new v.DeployableUnknownOwnerProvidedError;if(!b.validator){const l=y.getChains(a.config).filter(I=>!!this.addresses[I.id]&&I.id===f).at(0);if(!l)throw new v.InvalidProtocolChainIdError(f,Object.keys(this.addresses).map(Number));const h=l.testnet||l.id===31337;b.validator=this.SignerValidator({signers:[h?m.BoostValidatorEOA.TESTNET:m.BoostValidatorEOA.MAINNET],validatorCaller:e})}let c=i.zeroAddress;if(b.budget.address){if(c=b.budget.address,!await b.budget.isAuthorized(e))throw new v.BudgetMustAuthorizeBoostCore(e)}else throw new v.MustInitializeBudgetError;let d={instance:i.zeroAddress,isBase:!0,parameters:i.zeroHash};if(b.action.address){const o=b.action.isBase;d={isBase:o,instance:b.action.address,parameters:o&&b.action.buildParameters(void 0,a).args.at(0)||i.zeroHash}}else d.parameters=b.action.buildParameters(void 0,a).args.at(0)||i.zeroHash,d.instance=g.assertValidAddressByChainId(a.config,b.action.bases,f).address;let s={instance:i.zeroAddress,isBase:!0,parameters:i.zeroHash};if(b.validator.address){const o=b.validator.isBase;s={isBase:o,instance:b.validator.address,parameters:o&&b.validator.buildParameters(void 0,a).args.at(0)||i.zeroHash}}else s.parameters=b.validator.buildParameters(void 0,a).args.at(0)||i.zeroHash,s.instance=g.assertValidAddressByChainId(a.config,b.validator.bases,f).address;let r={instance:i.zeroAddress,isBase:!0,parameters:i.zeroHash};if(b.allowList||(b.allowList=this.OpenAllowList()),b.allowList.address){const o=b.allowList.isBase;r={isBase:o,instance:b.allowList.address,parameters:i.zeroHash}}else r.parameters=b.allowList.buildParameters(void 0,a).args.at(0)||i.zeroHash,r.instance=g.assertValidAddressByChainId(a.config,b.allowList.bases,f).address;const n=b.incentives.map(()=>({instance:i.zeroAddress,isBase:!0,parameters:i.zeroHash}));for(let o=0;o<b.incentives.length;o++){const l=b.incentives.at(o);if(l.address){const h=l.isBase;if(!h)throw new v.IncentiveNotCloneableError(l);n[o]={isBase:h,instance:l.address,parameters:h&&l.buildParameters(void 0,a).args.at(0)||i.zeroHash}}else n[o].parameters=l.buildParameters(void 0,a).args.at(0)||i.zeroHash,n[o].instance=g.assertValidAddressByChainId(a.config,l.bases,f).address}return{budget:c,action:d,validator:s,allowList:r,incentives:n,protocolFee:b.protocolFee||0n,maxParticipants:b.maxParticipants||0n,owner:b.owner}}async claimIncentive(e,f,b,a,c){return await this.awaitResult(this.claimIncentiveRaw(e,f,b,a,c))}async claimIncentiveRaw(e,f,b,a,c){const{request:d,result:s}=await u.Xf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,c==null?void 0:c.chainId),args:[e,f,b,a],...this.optionallyAttachAccount(),...c});return{hash:await u.kf(this._config,d),result:s}}async claimIncentiveFor(e,f,b,a,c,d){return await this.awaitResult(this.claimIncentiveForRaw(e,f,b,a,c,d))}async claimIncentiveForRaw(e,f,b,a,c,d){const{request:s,result:r}=await u.Yf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,d==null?void 0:d.chainId),args:[e,f,b,a,c],...this.optionallyAttachAccount(),...d});return{hash:await u._f(this._config,s),result:r}}async readBoost(e,f){var b;try{let a;return typeof e=="string"?a=BigInt(e):a=e,await u.Of(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,f==null?void 0:f.chainId),args:[a],...this.optionallyAttachAccount(),...f})}catch(a){throw(b=a==null?void 0:a.message)!=null&&b.includes("bounds")?new v.BoostNotFoundError(String(e)):a}}async getBoost(e,f){let b;typeof e=="string"?b=BigInt(e):b=e;const{protocolFee:a,maxParticipants:c,owner:d,...s}=await this.readBoost(b,f),r={config:this._config,account:this._account},[n,C,w,o,l]=await Promise.all([x.actionFromAddress(r,s.action),S.budgetFromAddress(r,s.budget),m.validatorFromAddress(r,s.validator),q.allowListFromAddress(r,s.allowList),Promise.all(s.incentives.map(h=>p.incentiveFromAddress(r,h)))]);return new B.Boost({id:b,action:n,budget:C,validator:w,allowList:o,incentives:l,protocolFee:a,maxParticipants:c,owner:d})}async getBoostCount(e){return await u.Cf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,e==null?void 0:e.chainId),args:[],...this.optionallyAttachAccount(),...e})}async isAuthorized(e,f){const b=await this.createBoostAuth(f);return u.PN(this._config,{address:b,args:[e],...this.optionallyAttachAccount(),...f})}async createBoostAuth(e){return await u.Rf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,e==null?void 0:e.chainId),args:[],...this.optionallyAttachAccount(),...e})}async setCreateBoostAuth(e,f){return await this.awaitResult(this.setCreateBoostAuthRaw(e.assertValidAddress(),{...f}))}async setCreateBoostAuthRaw(e,f){const{request:b,result:a}=await u.sv(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,f==null?void 0:f.chainId),args:[e],...this.optionallyAttachAccount(),...f});return{hash:await u.Wf(this._config,b),result:a}}async protocolFee(e){return await u.xf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,e==null?void 0:e.chainId),args:[],...this.optionallyAttachAccount(),...e})}async protocolFeeReceiver(e){return await u.Sf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,e==null?void 0:e.chainId),args:[],...this.optionallyAttachAccount(),...e})}async setProcolFeeReceiver(e,f){return await this.awaitResult(this.setProcolFeeReceiverRaw(e,{...f}))}async setProcolFeeReceiverRaw(e,f){const{request:b,result:a}=await u.ov(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,f==null?void 0:f.chainId),args:[e],...this.optionallyAttachAccount(),...f});return{hash:await u.jf(this._config,b),result:a}}async getClaimFromTransaction(e){var a;const f=await y.getTransactionReceipt(this._config,e);return(a=i.parseEventLogs({abi:u.I,eventName:"BoostClaimed",logs:f.logs}).at(0))==null?void 0:a.args}async calculateProtocolFee(e,f){const b=await this.protocolFee(f);return e*b/T}PassthroughAuth(e){return new k.PassthroughAuth({config:this._config,account:this._account},e)}EventAction(e,f){return new $.EventAction({config:this._config,account:this._account},e,f)}OpenAllowList(e){return new q.OpenAllowList({config:this._config,account:this._account},void 0,e)}SimpleAllowList(e,f){return new W.SimpleAllowList({config:this._config,account:this._account},e,f)}SimpleDenyList(e,f){return new G.SimpleDenyList({config:this._config,account:this._account},e,f)}ManagedBudget(e){return new U.ManagedBudget({config:this._config,account:this._account},e)}ManagedBudgetWithFees(e){return typeof e!="string"&&(e.authorized=[this.assertValidAddress(),...e.authorized],e.roles=[Y.Roles.MANAGER,...e.roles]),new S.ManagedBudgetWithFees({config:this._config,account:this._account},e)}AllowListIncentive(e){return new J.AllowListIncentive({config:this._config,account:this._account},e)}CGDAIncentive(e){return new K.CGDAIncentive({config:this._config,account:this._account},e)}ERC20Incentive(e){return new Q.ERC20Incentive({config:this._config,account:this._account},e)}PointsIncentive(e){return new ff.PointsIncentive({config:this._config,account:this._account},e)}SignerValidator(e,f){return new bf.SignerValidator({config:this._config,account:this._account},e,f)}LimitedSignerValidator(e,f){return new ef.LimitedSignerValidator({config:this._config,account:this._account},e,f)}ERC20VariableCriteriaIncentive(e,f){return new Z.ERC20VariableCriteriaIncentive({config:this._config,account:this._account},e,f)}ERC20VariableIncentive(e,f){return new af.ERC20VariableIncentive({config:this._config,account:this._account},e,f)}buildParameters(e,f){const[b,a]=this.validateDeploymentConfig(e,f);return{abi:u.I,bytecode:tf,args:b,...this.optionallyAttachAccount(a.account)}}};R.addresses=P;let E=R;exports.boostCoreAbi=u.I;exports.BOOST_CORE_ADDRESS=gf;exports.BOOST_CORE_ADDRESSES=P;exports.BoostCore=E;exports.FEE_DENOMINATOR=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./generated-CgBgbMNe.cjs"),y=require("@wagmi/core"),i=require("viem"),H=require("./deployments-BucJ-gwk.cjs"),x=require("./Actions/Action.cjs"),$=require("./Actions/EventAction.cjs"),q=require("./AllowLists/AllowList.cjs"),W=require("./AllowLists/SimpleAllowList.cjs"),G=require("./SimpleDenyList-DrQrJ14i.cjs"),k=require("./Auth/PassthroughAuth.cjs"),B=require("./Boost.cjs"),S=require("./Budget-BA_1sa1e.cjs"),U=require("./Budgets/ManagedBudget.cjs"),X=require("./Deployable/Deployable.cjs"),Y=require("./Deployable/DeployableTargetWithRBAC.cjs"),J=require("./Incentives/AllowListIncentive.cjs"),K=require("./Incentives/CGDAIncentive.cjs"),Q=require("./Incentives/ERC20Incentive.cjs"),Z=require("./Incentives/ERC20VariableCriteriaIncentive.cjs"),p=require("./Incentives/Incentive.cjs"),ff=require("./Incentives/PointsIncentive.cjs"),ef=require("./Validators/LimitedSignerValidator.cjs"),bf=require("./Validators/SignerValidator.cjs"),m=require("./Validators/Validator.cjs"),v=require("./errors.cjs"),g=require("./utils.cjs"),af=require("./Incentives/ERC20VariableIncentive.cjs"),F=require("viem/actions"),V=require("viem/utils"),tf="0x60806040526103e8600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561003a575f80fd5b50604051615339380380615339833981810160405281019061005c919061026c565b61006b816100f360201b60201c565b8260015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506102bc565b6101016101cf60201b60201c565b15610179577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561013b57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101cc565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610200826101d7565b9050919050565b5f610211826101f6565b9050919050565b61022181610207565b811461022b575f80fd5b50565b5f8151905061023c81610218565b92915050565b61024b816101f6565b8114610255575f80fd5b50565b5f8151905061026681610242565b92915050565b5f805f60608486031215610283576102826101d3565b5b5f6102908682870161022e565b93505060206102a186828701610258565b92505060406102b286828701610258565b9150509250925092565b615070806102c95f395ff3fe60806040526004361061014a575f3560e01c80638da5cb5b116100b5578063e21ff7311161006e578063e21ff731146103f7578063eccc19a614610433578063f04e283e1461045b578063f2fde38b14610477578063fee81cf414610493578063fefceca9146104cf5761014a565b80638da5cb5b146102f65780638fe4f52314610320578063a92647dc1461033c578063b0e21e8a14610366578063d73792a914610390578063dd98558c146103ba5761014a565b806354d1f13d1161010757806354d1f13d1461024a5780635edb9eb0146102545780635f32c23e1461027e578063715018a6146102a6578063730f9c57146102b05780637b103999146102cc5761014a565b806313c8e2de1461014e578063256929621461018a578063346339d51461019457806339a51be5146101d057806343bc42d3146101fa57806346877b1a14610222575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f91906137e7565b61050f565b6040516101819190613ac3565b60405180910390f35b6101926107b7565b005b34801561019f575f80fd5b506101ba60048036038101906101b59190613b16565b610808565b6040516101c79190613c1a565b60405180910390f35b3480156101db575f80fd5b506101e46108df565b6040516101f19190613c42565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b9190613c85565b610904565b005b34801561022d575f80fd5b5061024860048036038101906102439190613cda565b610938565b005b610252610983565b005b34801561025f575f80fd5b506102686109bc565b6040516102759190613d14565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f9190613d2d565b6109c7565b005b6102ae610b53565b005b6102ca60048036038101906102c59190613dcc565b610b66565b005b3480156102d7575f80fd5b506102e06110a7565b6040516102ed9190613e82565b60405180910390f35b348015610301575f80fd5b5061030a6110cc565b6040516103179190613c42565b60405180910390f35b61033a60048036038101906103359190613e9b565b6110f4565b005b348015610347575f80fd5b50610350611109565b60405161035d9190613f3f565b60405180910390f35b348015610371575f80fd5b5061037a61112e565b6040516103879190613f67565b60405180910390f35b34801561039b575f80fd5b506103a4611148565b6040516103b19190613f67565b60405180910390f35b3480156103c5575f80fd5b506103e060048036038101906103db9190613f80565b61114e565b6040516103ee929190613ff1565b60405180910390f35b348015610402575f80fd5b5061041d60048036038101906104189190614018565b611834565b60405161042a9190613ac3565b60405180910390f35b34801561043e575f80fd5b5061045960048036038101906104549190613cda565b612227565b005b61047560048036038101906104709190613cda565b612272565b005b610491600480360381019061048c9190613cda565b6122b0565b005b34801561049e575f80fd5b506104b960048036038101906104b49190613cda565b6122d9565b6040516104c69190613d14565b60405180910390f35b3480156104da575f80fd5b506104f560048036038101906104f09190613b16565b6122f2565b604051610506959493929190614072565b60405180910390f35b6105176135f9565b5f828154811061052a576105296140c3565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561071757602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116106ce575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b5f6107c061234f565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6108106136af565b60045f8381526020019081526020015f206040518060a00160405290815f82015f9054906101000a900460ff16600281111561084f5761084e613b41565b5b600281111561086157610860613b41565b5b81526020015f820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820154815250509050919050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61090c612359565b80600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b610940612359565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b3068929eee149b4bd2126854036109e55763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6109fc8383612390565b90505f60045f8381526020019081526020015f2090505f816002015461271067ffffffffffffffff168360010154610a34919061411d565b610a3e919061418b565b90505f610a4a836123c2565b905081811115610b3f575f8282610a6191906141bb565b90505f61271067ffffffffffffffff16856002015483610a81919061411d565b610a8b919061418b565b9050610a9785826125c8565b80856001015410610ac15780856001015f828254610ab591906141bb565b92505081905550610acb565b5f85600101819055505b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1687897f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051610b349190613d14565b60405180910390a450505b505050503868929eee149b4bd21268555050565b610b5b612359565b610b645f6127a9565b565b3068929eee149b4bd212685403610b845763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110610ba457610ba36140c3565b5b905f5260205f20906008020190505f610bbd8888612390565b90505f60045f8381526020019081526020015f209050826002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de8588886040518463ffffffff1660e01b8152600401610c3393929190614248565b602060405180830381865afa158015610c4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7291906142ad565b610ca8576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b69008a8a878a8a6040518663ffffffff1660e01b8152600401610d0c9594939291906142d8565b6020604051808303815f875af1158015610d28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4c91906142ad565b610d82576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16825f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610ddf575f610de9565b610de8826123c2565b5b9050836004018981548110610e0157610e006140c3565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb1757cf8689896040518463ffffffff1660e01b8152600401610e6593929190614248565b6020604051808303815f875af1158015610e81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea591906142ad565b610eea578487876040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610ee193929190614248565b60405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610f47575f610f51565b610f50836123c2565b5b90505f818311610f61575f610f6e565b8183610f6d91906141bb565b5b90505f61271067ffffffffffffffff16856002015483610f8e919061411d565b610f98919061418b565b90505f81111561103857610fac85826125c8565b80856001015f828254610fbf91906141bb565b9250508190555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168c8e7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161102f9190613d14565b60405180910390a45b8773ffffffffffffffffffffffffffffffffffffffff168c8e7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478e8e8e60405161108493929190614248565b60405180910390a4505050505050503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b611102858585858533610b66565b5050505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900467ffffffffffffffff1681565b61271081565b5f803068929eee149b4bd21268540361116e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061118e5761118d6140c3565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561137b57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611332575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050806060015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461147f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61148a8686612390565b90505f60045f8381526020019081526020015f2090505f89898101906114b091906144af565b90505f81602001518060200190518101906114cb919061450a565b90505f61271067ffffffffffffffff168460020154836114eb919061411d565b6114f5919061418b565b90505f8111156116f4576001600281111561151357611512613b41565b5b845f015f9054906101000a900460ff16600281111561153557611534613b41565b5b148061157357505f600281111561154f5761154e613b41565b5b845f015f9054906101000a900460ff16600281111561157157611570613b41565b5b145b156115ce576115c9835f015182865f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661286f9092919063ffffffff16565b6116a0565b6002808111156115e1576115e0613b41565b5b845f015f9054906101000a900460ff16600281111561160357611602613b41565b5b0361169f57835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30855f01518760030154856040518563ffffffff1660e01b81526004016116719493929190614558565b5f604051808303815f87803b158015611688575f80fd5b505af115801561169a573d5f803e3d5ffd5b505050505b5b825f015173ffffffffffffffffffffffffffffffffffffffff16898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516116eb9190613d14565b60405180910390a45b5f8087608001518b8151811061170d5761170c6140c3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663474f5a44866040516020016117419190614648565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161176c91906146a0565b60408051808303815f875af1158015611787573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ab91906146d4565b915091505f82036117f757338e8e6040517f9ecd71a90000000000000000000000000000000000000000000000000000000081526004016117ee93929190614248565b60405180910390fd5b82866001015f82825461180a91906141bb565b9250508190555081819950995050505050505050503868929eee149b4bd212685594509492505050565b61183c6135f9565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015611930575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b81526004016118ef9190613c42565b602060405180830381865afa15801561190a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192e91906142ad565b155b15611967576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd2126854036119855763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6119de85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050506128b8565b8060200190518101906119f19190614a72565b90506119ff815f0151612951565b5f8060018160018154018082558091505003905f5260205f20906008020190508160e00151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160a00151600360149054906101000a900467ffffffffffffffff16611ad09190614ab9565b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c001518160060181905550611b367fe67157950000000000000000000000000000000000000000000000000000000083602001516001612a2c565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611ba67fe2089f790000000000000000000000000000000000000000000000000000000083606001516001612a2c565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611bfd8260800151835f01518460a00151612a4e565b816004019080519060200190611c14929190613701565b505f73ffffffffffffffffffffffffffffffffffffffff1682604001516020015173ffffffffffffffffffffffffffffffffffffffff1614611c8557611c807f5912b89c0000000000000000000000000000000000000000000000000000000083604001516001612a2c565b611d6e565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401611d009190614b2e565b602060405180830381865afa158015611d1b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d3f91906142ad565b611d49575f611d6d565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611e64577f5912b89c000000000000000000000000000000000000000000000000000000005f6040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401611e5b929190614b47565b60405180910390fd5b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f80549050611ee891906141bb565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8460040180549050856001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611f8d9493929190614b6e565b60405180910390a480604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561217757602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161212e575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050935050503868929eee149b4bd21268555092915050565b61222f612359565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61227a612359565b63389a75e1600c52805f526020600c2080544211156122a057636f5e88185f526004601cfd5b5f8155506122ad816127a9565b50565b6122b8612359565b8060601b6122cd57637448fbae5f526004601cfd5b6122d6816127a9565b50565b5f63389a75e1600c52815f526020600c20549050919050565b6004602052805f5260405f205f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905085565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461238e576382b429005f526004601cfd5b565b5f82826040516020016123a4929190614bd1565b60405160208183030381529060405280519060200120905092915050565b5f600160028111156123d7576123d6613b41565b5b825f015f9054906101000a900460ff1660028111156123f9576123f8613b41565b5b148061243757505f600281111561241357612412613b41565b5b825f015f9054906101000a900460ff16600281111561243557612434613b41565b5b145b156124de57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016124989190613c42565b602060405180830381865afa1580156124b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124d7919061450a565b90506125c3565b6002808111156124f1576124f0613b41565b5b825f015f9054906101000a900460ff16600281111561251357612512613b41565b5b036125bf57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e3084600301546040518363ffffffff1660e01b8152600401612579929190614bfc565b602060405180830381865afa158015612594573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b8919061450a565b90506125c3565b5f90505b919050565b600160028111156125dc576125db613b41565b5b825f015f9054906101000a900460ff1660028111156125fe576125fd613b41565b5b148061263c57505f600281111561261857612617613b41565b5b825f015f9054906101000a900460ff16600281111561263a57612639613b41565b5b145b156126b5576126b060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682845f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661286f9092919063ffffffff16565b6127a5565b6002808111156126c8576126c7613b41565b5b825f015f9054906101000a900460ff1660028111156126ea576126e9613b41565b5b036127a457815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560030154856040518563ffffffff1660e01b81526004016127769493929190614558565b5f604051808303815f87803b15801561278d575f80fd5b505af115801561279f573d5f803e3d5ffd5b505050505b5b5050565b6127b1612f69565b15612816577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b821781555061286c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166128af576390b8ec185f526004601cfd5b5f603452505050565b606081511561294c5760405190506020810160048301805184518501811983525b80861015612932576001860195508551601f1a80612922576001870196508651601f1a5f198652607f811161291057600181013887395b6001607f82160186019550505061292d565b808553600185019450505b6128d9565b81835260208501840385525f845260208401604052505050505b919050565b61297b7fe49cedd70000000000000000000000000000000000000000000000000000000082612f6d565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b81526004016129b49190613c42565b602060405180830381865afa1580156129cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f391906142ad565b612a29576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f612a3b848460200151612f6d565b612a458383613064565b90509392505050565b6060835167ffffffffffffffff811115612a6b57612a6a614328565b5b604051908082528060200260200182016040528015612a995781602001602082028036833780820191505090505b5090505f5b8451811015612f6157612aef7fa921670500000000000000000000000000000000000000000000000000000000868381518110612ade57612add6140c3565b5b602002602001015160200151612f6d565b848181518110612b0257612b016140c3565b5b60200260200101515f0151612b8e577fa921670500000000000000000000000000000000000000000000000000000000858281518110612b4557612b446140c3565b5b6020026020010151602001516040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401612b85929190614b47565b60405180910390fd5b612bd37fa921670500000000000000000000000000000000000000000000000000000000868381518110612bc557612bc46140c3565b5b60200260200101515f612a2c565b828281518110612be657612be56140c3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f828281518110612c3457612c336140c3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16634e7165a2878481518110612c6a57612c696140c3565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401612c9291906146a0565b5f60405180830381865afa158015612cac573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190612cd49190614c23565b90505f815114612eb5575f80612cea8387613120565b915091508673ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1836040518263ffffffff1660e01b8152600401612d2791906146a0565b6020604051808303815f875af1158015612d43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d6791906142ad565b612d9d576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1846040518263ffffffff1660e01b8152600401612dd691906146a0565b6020604051808303815f875af1158015612df2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e1691906142ad565b612e4c576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83806020019051810190612e619190614d1e565b9050612eb160015f80549050612e7791906141bb565b868360200151858b67ffffffffffffffff16865f01518f8c81518110612ea057612e9f6140c3565b5b602002602001015160400151613419565b5050505b828281518110612ec857612ec76140c3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663439fab91878481518110612efe57612efd6140c3565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401612f2691906146a0565b5f604051808303815f87803b158015612f3d575f80fd5b505af1158015612f4f573d5f803e3d5ffd5b50505050508080600101915050612a9e565b509392505050565b5f90565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061301c57508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b8152600401612fdb9190614b2e565b602060405180830381865afa158015612ff6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061301a91906142ad565b155b156130605781816040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401613057929190614b47565b60405180910390fd5b5050565b5f825f015161307757826020015161309b565b61309a836020015173ffffffffffffffffffffffffffffffffffffffff16613596565b5b9050825f015180156130aa5750815b1561311a578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b81526004016130ec91906146a0565b5f604051808303815f87803b158015613103575f80fd5b505af1158015613115573d5f803e3d5ffd5b505050505b92915050565b60605f80848060200190518101906131389190614d1e565b90505f600360149054906101000a900467ffffffffffffffff168561315d9190614ab9565b90506001600281111561317357613172613b41565b5b825f0151600281111561318957613188613b41565b5b14806131bb57505f60028111156131a3576131a2613b41565b5b825f015160028111156131b9576131b8613b41565b5b145b156132af575f82606001518060200190518101906131d99190614d9e565b90505f61271067ffffffffffffffff168367ffffffffffffffff16835f0151613202919061411d565b61320c919061418b565b90505f6040518060200160405280838152509050806040516020016132319190614de3565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050846040516020016132919190614e5c565b60405160208183030381529060405282965096505050505050613412565b6002808111156132c2576132c1613b41565b5b825f015160028111156132d8576132d7613b41565b5b036133e0575f82606001518060200190518101906132f69190614ef9565b90505f61271067ffffffffffffffff168367ffffffffffffffff168360200151613320919061411d565b61332a919061418b565b90505f6040518060600160405280845f0151815260200183815260200184604001518152509050806040516020016133629190614f8d565b604051602081830303815290604052856060018190525030856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050846040516020016133c29190614e5c565b60405160208183030381529060405282965096505050505050613412565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b5f60028081111561342d5761342c613b41565b5b8360028111156134405761343f613b41565b5b0361345f57818060200190518101906134599190614fad565b50809150505b5f6040518060a0016040528085600281111561347e5761347d613b41565b5b81526020018873ffffffffffffffffffffffffffffffffffffffff16815260200187815260200186600360149054906101000a900467ffffffffffffffff1667ffffffffffffffff166134d19190615007565b81526020018381525090508060045f6134ea8c8c612390565b81526020019081526020015f205f820151815f015f6101000a81548160ff0219169083600281111561351f5761351e613b41565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030155905050505050505050505050565b5f6135a15f836135a8565b9050919050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806135ef5763301164255f526004601cfd5b5f60215292915050565b6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060a001604052805f60028111156136cd576136cc613b41565b5b81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81525090565b828054828255905f5260205f20908101928215613777579160200282015b82811115613776578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061371f565b5b5090506137849190613788565b5090565b5b8082111561379f575f815f905550600101613789565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6137c6816137b4565b81146137d0575f80fd5b50565b5f813590506137e1816137bd565b92915050565b5f602082840312156137fc576137fb6137ac565b5b5f613809848285016137d3565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61385461384f61384a84613812565b613831565b613812565b9050919050565b5f6138658261383a565b9050919050565b5f6138768261385b565b9050919050565b6138868161386c565b82525050565b5f6138968261385b565b9050919050565b6138a68161388c565b82525050565b5f6138b68261385b565b9050919050565b6138c6816138ac565b82525050565b5f6138d68261383a565b9050919050565b5f6138e7826138cc565b9050919050565b6138f7816138dd565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6139308261385b565b9050919050565b61394081613926565b82525050565b5f6139518383613937565b60208301905092915050565b5f602082019050919050565b5f613973826138fd565b61397d8185613907565b935061398883613917565b805f5b838110156139b857815161399f8882613946565b97506139aa8361395d565b92505060018101905061398b565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b6139e1816139c5565b82525050565b6139f0816137b4565b82525050565b5f613a0082613812565b9050919050565b613a10816139f6565b82525050565b5f61010083015f830151613a2c5f86018261387d565b506020830151613a3f602086018261389d565b506040830151613a5260408601826138bd565b506060830151613a6560608601826138ee565b5060808301518482036080860152613a7d8282613969565b91505060a0830151613a9260a08601826139d8565b5060c0830151613aa560c08601826139e7565b5060e0830151613ab860e0860182613a07565b508091505092915050565b5f6020820190508181035f830152613adb8184613a16565b905092915050565b5f819050919050565b613af581613ae3565b8114613aff575f80fd5b50565b5f81359050613b1081613aec565b92915050565b5f60208284031215613b2b57613b2a6137ac565b5b5f613b3884828501613b02565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60038110613b7f57613b7e613b41565b5b50565b5f819050613b8f82613b6e565b919050565b5f613b9e82613b82565b9050919050565b613bae81613b94565b82525050565b60a082015f820151613bc85f850182613ba5565b506020820151613bdb6020850182613a07565b506040820151613bee60408501826139e7565b506060820151613c0160608501826139e7565b506080820151613c1460808501826139e7565b50505050565b5f60a082019050613c2d5f830184613bb4565b92915050565b613c3c816139f6565b82525050565b5f602082019050613c555f830184613c33565b92915050565b613c64816139c5565b8114613c6e575f80fd5b50565b5f81359050613c7f81613c5b565b92915050565b5f60208284031215613c9a57613c996137ac565b5b5f613ca784828501613c71565b91505092915050565b613cb9816139f6565b8114613cc3575f80fd5b50565b5f81359050613cd481613cb0565b92915050565b5f60208284031215613cef57613cee6137ac565b5b5f613cfc84828501613cc6565b91505092915050565b613d0e816137b4565b82525050565b5f602082019050613d275f830184613d05565b92915050565b5f8060408385031215613d4357613d426137ac565b5b5f613d50858286016137d3565b9250506020613d61858286016137d3565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112613d8c57613d8b613d6b565b5b8235905067ffffffffffffffff811115613da957613da8613d6f565b5b602083019150836001820283011115613dc557613dc4613d73565b5b9250929050565b5f805f805f8060a08789031215613de657613de56137ac565b5b5f613df389828a016137d3565b9650506020613e0489828a016137d3565b9550506040613e1589828a01613cc6565b945050606087013567ffffffffffffffff811115613e3657613e356137b0565b5b613e4289828a01613d77565b93509350506080613e5589828a01613cc6565b9150509295509295509295565b5f613e6c8261385b565b9050919050565b613e7c81613e62565b82525050565b5f602082019050613e955f830184613e73565b92915050565b5f805f805f60808688031215613eb457613eb36137ac565b5b5f613ec1888289016137d3565b9550506020613ed2888289016137d3565b9450506040613ee388828901613cc6565b935050606086013567ffffffffffffffff811115613f0457613f036137b0565b5b613f1088828901613d77565b92509250509295509295909350565b5f613f298261385b565b9050919050565b613f3981613f1f565b82525050565b5f602082019050613f525f830184613f30565b92915050565b613f61816139c5565b82525050565b5f602082019050613f7a5f830184613f58565b92915050565b5f805f8060608587031215613f9857613f976137ac565b5b5f85013567ffffffffffffffff811115613fb557613fb46137b0565b5b613fc187828801613d77565b94509450506020613fd4878288016137d3565b9250506040613fe5878288016137d3565b91505092959194509250565b5f6040820190506140045f830185613d05565b6140116020830184613c33565b9392505050565b5f806020838503121561402e5761402d6137ac565b5b5f83013567ffffffffffffffff81111561404b5761404a6137b0565b5b61405785828601613d77565b92509250509250929050565b61406c81613b94565b82525050565b5f60a0820190506140855f830188614063565b6140926020830187613c33565b61409f6040830186613d05565b6140ac6060830185613d05565b6140b96080830184613d05565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614127826137b4565b9150614132836137b4565b9250828202614140816137b4565b91508282048414831517614157576141566140f0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614195826137b4565b91506141a0836137b4565b9250826141b0576141af61415e565b5b828204905092915050565b5f6141c5826137b4565b91506141d0836137b4565b92508282039050818111156141e8576141e76140f0565b5b92915050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61422783856141ee565b93506142348385846141fe565b61423d8361420c565b840190509392505050565b5f60408201905061425b5f830186613c33565b818103602083015261426e81848661421c565b9050949350505050565b5f8115159050919050565b61428c81614278565b8114614296575f80fd5b50565b5f815190506142a781614283565b92915050565b5f602082840312156142c2576142c16137ac565b5b5f6142cf84828501614299565b91505092915050565b5f6080820190506142eb5f830188613d05565b6142f86020830187613d05565b6143056040830186613c33565b818103606083015261431881848661421c565b90509695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61435e8261420c565b810181811067ffffffffffffffff8211171561437d5761437c614328565b5b80604052505050565b5f61438f6137a3565b905061439b8282614355565b919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff8211156143c2576143c1614328565b5b6143cb8261420c565b9050602081019050919050565b5f6143ea6143e5846143a8565b614386565b905082815260208101848484011115614406576144056143a4565b5b6144118482856141fe565b509392505050565b5f82601f83011261442d5761442c613d6b565b5b813561443d8482602086016143d8565b91505092915050565b5f6040828403121561445b5761445a614324565b5b6144656040614386565b90505f61447484828501613cc6565b5f83015250602082013567ffffffffffffffff811115614497576144966143a0565b5b6144a384828501614419565b60208301525092915050565b5f602082840312156144c4576144c36137ac565b5b5f82013567ffffffffffffffff8111156144e1576144e06137b0565b5b6144ed84828501614446565b91505092915050565b5f81519050614504816137bd565b92915050565b5f6020828403121561451f5761451e6137ac565b5b5f61452c848285016144f6565b91505092915050565b50565b5f6145435f836141ee565b915061454e82614535565b5f82019050919050565b5f60a08201905061456b5f830187613c33565b6145786020830186613c33565b6145856040830185613d05565b6145926060830184613d05565b81810360808301526145a381614538565b905095945050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6145e0826145ae565b6145ea81856145b8565b93506145fa8185602086016145c8565b6146038161420c565b840191505092915050565b5f604083015f8301516146235f860182613a07565b506020830151848203602086015261463b82826145d6565b9150508091505092915050565b5f6020820190508181035f830152614660818461460e565b905092915050565b5f614672826145ae565b61467c81856141ee565b935061468c8185602086016145c8565b6146958161420c565b840191505092915050565b5f6020820190508181035f8301526146b88184614668565b905092915050565b5f815190506146ce81613cb0565b92915050565b5f80604083850312156146ea576146e96137ac565b5b5f6146f7858286016144f6565b9250506020614708858286016146c0565b9150509250929050565b5f61471c82613812565b9050919050565b5f61472d82614712565b9050919050565b61473d81614723565b8114614747575f80fd5b50565b5f8151905061475881614734565b92915050565b5f61477061476b846143a8565b614386565b90508281526020810184848401111561478c5761478b6143a4565b5b6147978482856145c8565b509392505050565b5f82601f8301126147b3576147b2613d6b565b5b81516147c384826020860161475e565b91505092915050565b5f606082840312156147e1576147e0614324565b5b6147eb6060614386565b90505f6147fa84828501614299565b5f83015250602061480d848285016146c0565b602083015250604082015167ffffffffffffffff811115614831576148306143a0565b5b61483d8482850161479f565b60408301525092915050565b5f67ffffffffffffffff82111561486357614862614328565b5b602082029050602081019050919050565b5f61488661488184614849565b614386565b905080838252602082019050602084028301858111156148a9576148a8613d73565b5b835b818110156148f057805167ffffffffffffffff8111156148ce576148cd613d6b565b5b8086016148db89826147cc565b855260208501945050506020810190506148ab565b5050509392505050565b5f82601f83011261490e5761490d613d6b565b5b815161491e848260208601614874565b91505092915050565b5f8151905061493581613c5b565b92915050565b5f610100828403121561495157614950614324565b5b61495c610100614386565b90505f61496b8482850161474a565b5f83015250602082015167ffffffffffffffff81111561498e5761498d6143a0565b5b61499a848285016147cc565b602083015250604082015167ffffffffffffffff8111156149be576149bd6143a0565b5b6149ca848285016147cc565b604083015250606082015167ffffffffffffffff8111156149ee576149ed6143a0565b5b6149fa848285016147cc565b606083015250608082015167ffffffffffffffff811115614a1e57614a1d6143a0565b5b614a2a848285016148fa565b60808301525060a0614a3e84828501614927565b60a08301525060c0614a52848285016144f6565b60c08301525060e0614a66848285016146c0565b60e08301525092915050565b5f60208284031215614a8757614a866137ac565b5b5f82015167ffffffffffffffff811115614aa457614aa36137b0565b5b614ab08482850161493b565b91505092915050565b5f614ac3826139c5565b9150614ace836139c5565b9250828201905067ffffffffffffffff811115614aee57614aed6140f0565b5b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614b2881614af4565b82525050565b5f602082019050614b415f830184614b1f565b92915050565b5f604082019050614b5a5f830185614b1f565b614b676020830184613c33565b9392505050565b5f608082019050614b815f830187613d05565b614b8e6020830186613c33565b614b9b6040830185613c33565b614ba86060830184613c33565b95945050505050565b5f819050919050565b614bcb614bc6826137b4565b614bb1565b82525050565b5f614bdc8285614bba565b602082019150614bec8284614bba565b6020820191508190509392505050565b5f604082019050614c0f5f830185613c33565b614c1c6020830184613d05565b9392505050565b5f60208284031215614c3857614c376137ac565b5b5f82015167ffffffffffffffff811115614c5557614c546137b0565b5b614c618482850161479f565b91505092915050565b60038110614c76575f80fd5b50565b5f81519050614c8781614c6a565b92915050565b5f60808284031215614ca257614ca1614324565b5b614cac6080614386565b90505f614cbb84828501614c79565b5f830152506020614cce848285016146c0565b6020830152506040614ce2848285016146c0565b604083015250606082015167ffffffffffffffff811115614d0657614d056143a0565b5b614d128482850161479f565b60608301525092915050565b5f60208284031215614d3357614d326137ac565b5b5f82015167ffffffffffffffff811115614d5057614d4f6137b0565b5b614d5c84828501614c8d565b91505092915050565b5f60208284031215614d7a57614d79614324565b5b614d846020614386565b90505f614d93848285016144f6565b5f8301525092915050565b5f60208284031215614db357614db26137ac565b5b5f614dc084828501614d65565b91505092915050565b602082015f820151614ddd5f8501826139e7565b50505050565b5f602082019050614df65f830184614dc9565b92915050565b5f608083015f830151614e115f860182613ba5565b506020830151614e246020860182613a07565b506040830151614e376040860182613a07565b5060608301518482036060860152614e4f82826145d6565b9150508091505092915050565b5f6020820190508181035f830152614e748184614dfc565b905092915050565b5f60608284031215614e9157614e90614324565b5b614e9b6060614386565b90505f614eaa848285016144f6565b5f830152506020614ebd848285016144f6565b602083015250604082015167ffffffffffffffff811115614ee157614ee06143a0565b5b614eed8482850161479f565b60408301525092915050565b5f60208284031215614f0e57614f0d6137ac565b5b5f82015167ffffffffffffffff811115614f2b57614f2a6137b0565b5b614f3784828501614e7c565b91505092915050565b5f606083015f830151614f555f8601826139e7565b506020830151614f6860208601826139e7565b5060408301518482036040860152614f8082826145d6565b9150508091505092915050565b5f6020820190508181035f830152614fa58184614f40565b905092915050565b5f8060408385031215614fc357614fc26137ac565b5b5f614fd0858286016144f6565b925050602083015167ffffffffffffffff811115614ff157614ff06137b0565b5b614ffd8582860161479f565b9150509250929050565b5f615011826137b4565b915061501c836137b4565b9250828201905080821115615034576150336140f0565b5b9291505056fea2646970667358221220634f2eb1dfff69cead1f7ac023cb64cbf862c344075b7e0213401d691db4620164736f6c634300081a0033";function L(t){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;switch(d){case"connected":return{address:a,addresses:b,chain:c,chainId:f==null?void 0:f.chainId,connector:f==null?void 0:f.connector,isConnected:!0,isConnecting:!1,isDisconnected:!1,isReconnecting:!1,status:d};case"reconnecting":return{address:a,addresses:b,chain:c,chainId:f==null?void 0:f.chainId,connector:f==null?void 0:f.connector,isConnected:!!a,isConnecting:!1,isDisconnected:!1,isReconnecting:!0,status:d};case"connecting":return{address:a,addresses:b,chain:c,chainId:f==null?void 0:f.chainId,connector:f==null?void 0:f.connector,isConnected:!1,isConnecting:!0,isDisconnected:!1,isReconnecting:!1,status:d};case"disconnected":return{address:void 0,addresses:void 0,chain:void 0,chainId:void 0,connector:void 0,isConnected:!1,isConnecting:!1,isDisconnected:!0,isReconnecting:!1,status:d}}}function cf(t){return t.state.chainId}function O(t,e,f){const b=t[e.name];if(typeof b=="function")return b;const a=t[f];return typeof a=="function"?a:c=>e(t,c)}const df="2.13.8",nf=()=>`@wagmi/core@${df}`;var z=function(t,e,f,b){if(f==="a"&&!b)throw new TypeError("Private accessor was defined without a getter");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");return f==="m"?b:f==="a"?b.call(t):b?b.value:e.get(t)},_,N;class A extends Error{get docsBaseUrl(){return"https://wagmi.sh/core"}get version(){return nf()}constructor(e,f={}){var c;super(),_.add(this),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WagmiCoreError"});const b=f.cause instanceof A?f.cause.details:(c=f.cause)!=null&&c.message?f.cause.message:f.details,a=f.cause instanceof A&&f.cause.docsPath||f.docsPath;this.message=[e||"An error occurred.","",...f.metaMessages?[...f.metaMessages,""]:[],...a?[`Docs: ${this.docsBaseUrl}${a}.html${f.docsSlug?`#${f.docsSlug}`:""}`]:[],...b?[`Details: ${b}`]:[],`Version: ${this.version}`].join(`
2
+ `),f.cause&&(this.cause=f.cause),this.details=b,this.docsPath=a,this.metaMessages=f.metaMessages,this.shortMessage=e}walk(e){return z(this,_,"m",N).call(this,this,e)}}_=new WeakSet,N=function t(e,f){return f!=null&&f(e)?e:e.cause?z(this,_,"m",t).call(this,e.cause,f):e};class sf extends A{constructor(){super("Connector not connected."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorNotConnectedError"})}}class rf extends A{constructor({address:e,connector:f}){super(`Account "${e}" not found for connector "${f.name}".`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorAccountNotFoundError"})}}class of extends A{constructor({connectionChainId:e,connectorChainId:f}){super(`The current chain of the connector (id: ${f}) does not match the connection's chain (id: ${e}).`,{metaMessages:[`Current Chain ID: ${f}`,`Expected Chain ID: ${e}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorChainMismatchError"})}}class uf extends A{constructor({connector:e}){super(`Connector "${e.name}" unavailable while reconnecting.`,{details:["During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uuid`.","All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.","This error commonly occurs for connectors that asynchronously inject after reconnection has already started."].join(" ")}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorUnavailableReconnectingError"})}}async function M(t,e={}){let f;if(e.connector){const{connector:s}=e;if(t.state.status==="reconnecting"&&!s.getAccounts&&!s.getChainId)throw new uf({connector:s});const[C,w]=await Promise.all([s.getAccounts(),s.getChainId()]);f={accounts:C,chainId:w,connector:s}}else f=t.state.connections.get(t.state.current);if(!f)throw new sf;const b=e.chainId??f.chainId,a=await f.connector.getChainId();if(a!==f.chainId)throw new of({connectionChainId:f.chainId,connectorChainId:a});const c=f.connector;if(c.getClient)return c.getClient({chainId:b});const d=V.parseAccount(e.account??f.accounts[0]);if(d.address=V.getAddress(d.address),e.account&&!f.accounts.some(s=>s.toLowerCase()===d.address.toLowerCase()))throw new rf({address:d.address,connector:c});const n=t.chains.find(s=>s.id===b),r=await f.connector.getProvider({chainId:b});return i.createClient({account:d,chain:n,name:"Connector Client",transport:s=>i.custom(r)({...s,retryCount:0})})}async function lf(t,e){const{abi:f,chainId:b,connector:a,...c}=e;let d;e.account?d=e.account:d=(await M(t,{chainId:b,connector:a})).account;const n=t.getClient({chainId:b}),r=O(n,F.simulateContract,"simulateContract"),{result:s,request:C}=await r({...c,abi:f,account:d});return{chainId:n.chain.id,result:s,request:{__mode:"prepared",...C,chainId:b}}}async function D(t,e){const{account:f,chainId:b,connector:a,__mode:c,...d}=e;let n;typeof f=="object"&&f.type==="local"?n=t.getClient({chainId:b}):n=await M(t,{account:f,chainId:b,connector:a});const{connector:r}=L(t);let s;if(c==="prepared"||r!=null&&r.supportsSimulation)s=d;else{const{request:o}=await lf(t,{...d,account:f,chainId:b});s=o}return await O(n,F.writeContract,"writeContract")({...s,...f?{account:f}:{},chain:b?{id:b}:null})}function hf(t){return t.address!==void 0&&typeof t.address=="object"?(e,f)=>{var d;const b=cf(e),a=L(e);let c;return f.chainId?c=f.chainId:f.account&&f.account===a.address||f.account===void 0?c=a.chainId:c=b,D(e,{...f,...t.functionName?{functionName:t.functionName}:{},address:c?(d=t.address)==null?void 0:d[c]:void 0,abi:t.abi})}:(e,f)=>D(e,{...f,...t.address?{address:t.address}:{},...t.functionName?{functionName:t.functionName}:{},abi:t.abi})}const T=10000n,P={31337:void 0,...H.BoostCore},gf=P[11155111]||i.zeroAddress;function wf(t){return t.address}function Cf(t){return t.registryAddress&&t.protocolFeeReceiver&&t.owner}const R=class R extends X.Deployable{get addresses(){return this.constructor.addresses}constructor({config:e,account:f,...b}){if(wf(b)&&b.address)super({account:f,config:e},b.address);else if(Cf(b))super({account:f,config:e},[b.registryAddress,b.protocolFeeReceiver,b.owner]);else{const{address:a}=g.assertValidAddressByChainId(e,P);super({account:f,config:e},a)}this.abi=u.I}async createBoost(e,f){const[b,a]=this.validateDeploymentConfig(e),c=f==null?void 0:f.chainId,{chainId:d,address:n}=g.assertValidAddressByChainId(a.config,this.addresses,c),r=hf({abi:u.I,functionName:"createBoost",address:n}),s=await this.prepareCreateBoostPayload(n,d,b,a),C=await r(a.config,{...this.optionallyAttachAccount(a.account),...f,chainId:d,args:[B.prepareBoostPayload(s)]}),w=await y.waitForTransactionReceipt(a.config,{hash:C}),o=i.parseEventLogs({abi:u.I,eventName:"BoostCreated",logs:w.logs}).at(0);let l=0n;if(!o)throw new v.BoostCoreNoIdentifierEmitted;l=o==null?void 0:o.args.boostId;const h=await this.readBoost(l);return new B.Boost({id:l,budget:b.budget.at(h.budget),action:b.action.at(h.action),validator:b.validator.at(h.validator),allowList:b.allowList.at(h.allowList),incentives:b.incentives.map((I,j)=>I.at(h.incentives.at(j))),protocolFee:h.protocolFee,maxParticipants:h.maxParticipants,owner:h.owner})}async simulateCreateBoost(e,f){const[b,a]=this.validateDeploymentConfig(e),c=f==null?void 0:f.chainId,{chainId:d,address:n}=g.assertValidAddressByChainId(a.config,this.addresses,c),r=await this.prepareCreateBoostPayload(n,d,b,a);return await u.nv(this._config,{...this.optionallyAttachAccount(),...f,address:n,chainId:d,args:[B.prepareBoostPayload(r)]})}async prepareCreateBoostPayload(e,f,b,a){var w;if(!b.owner&&(b.owner=((w=this._account)==null?void 0:w.address)||y.getAccount(a.config).address||i.zeroAddress,b.owner===i.zeroAddress))throw new v.DeployableUnknownOwnerProvidedError;if(!b.validator){const l=y.getChains(a.config).filter(I=>!!this.addresses[I.id]&&I.id===f).at(0);if(!l)throw new v.InvalidProtocolChainIdError(f,Object.keys(this.addresses).map(Number));const h=l.testnet||l.id===31337;b.validator=this.SignerValidator({signers:[h?m.BoostValidatorEOA.TESTNET:m.BoostValidatorEOA.MAINNET],validatorCaller:e})}let c=i.zeroAddress;if(b.budget.address){if(c=b.budget.address,!await b.budget.isAuthorized(e))throw new v.BudgetMustAuthorizeBoostCore(e)}else throw new v.MustInitializeBudgetError;let d={instance:i.zeroAddress,isBase:!0,parameters:i.zeroHash};if(b.action.address){const o=b.action.isBase;d={isBase:o,instance:b.action.address,parameters:o&&b.action.buildParameters(void 0,a).args.at(0)||i.zeroHash}}else d.parameters=b.action.buildParameters(void 0,a).args.at(0)||i.zeroHash,d.instance=g.assertValidAddressByChainId(a.config,b.action.bases,f).address;let n={instance:i.zeroAddress,isBase:!0,parameters:i.zeroHash};if(b.validator.address){const o=b.validator.isBase;n={isBase:o,instance:b.validator.address,parameters:o&&b.validator.buildParameters(void 0,a).args.at(0)||i.zeroHash}}else n.parameters=b.validator.buildParameters(void 0,a).args.at(0)||i.zeroHash,n.instance=g.assertValidAddressByChainId(a.config,b.validator.bases,f).address;let r={instance:i.zeroAddress,isBase:!0,parameters:i.zeroHash};if(b.allowList||(b.allowList=this.OpenAllowList()),b.allowList.address){const o=b.allowList.isBase;r={isBase:o,instance:b.allowList.address,parameters:i.zeroHash}}else r.parameters=b.allowList.buildParameters(void 0,a).args.at(0)||i.zeroHash,r.instance=g.assertValidAddressByChainId(a.config,b.allowList.bases,f).address;const s=b.incentives.map(()=>({instance:i.zeroAddress,isBase:!0,parameters:i.zeroHash}));for(let o=0;o<b.incentives.length;o++){const l=b.incentives.at(o);if(l.address){const h=l.isBase;if(!h)throw new v.IncentiveNotCloneableError(l);s[o]={isBase:h,instance:l.address,parameters:h&&l.buildParameters(void 0,a).args.at(0)||i.zeroHash}}else s[o].parameters=l.buildParameters(void 0,a).args.at(0)||i.zeroHash,s[o].instance=g.assertValidAddressByChainId(a.config,l.bases,f).address}return{budget:c,action:d,validator:n,allowList:r,incentives:s,protocolFee:b.protocolFee||0n,maxParticipants:b.maxParticipants||0n,owner:b.owner}}async claimIncentive(e,f,b,a,c){return await this.awaitResult(this.claimIncentiveRaw(e,f,b,a,c))}async claimIncentiveRaw(e,f,b,a,c){const{request:d,result:n}=await u.Xf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,c==null?void 0:c.chainId),args:[e,f,b,a],...this.optionallyAttachAccount(),...c});return{hash:await u.kf(this._config,d),result:n}}async claimIncentiveFor(e,f,b,a,c,d){return await this.awaitResult(this.claimIncentiveForRaw(e,f,b,a,c,d))}async claimIncentiveForRaw(e,f,b,a,c,d){const{request:n,result:r}=await u.Yf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,d==null?void 0:d.chainId),args:[e,f,b,a,c],...this.optionallyAttachAccount(),...d});return{hash:await u._f(this._config,n),result:r}}async readBoost(e,f){var b;try{let a;return typeof e=="string"?a=BigInt(e):a=e,await u.Of(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,f==null?void 0:f.chainId),args:[a],...this.optionallyAttachAccount(),...f})}catch(a){throw(b=a==null?void 0:a.message)!=null&&b.includes("bounds")?new v.BoostNotFoundError(String(e)):a}}async getBoost(e,f){let b;typeof e=="string"?b=BigInt(e):b=e;const{protocolFee:a,maxParticipants:c,owner:d,...n}=await this.readBoost(b,f),r={config:this._config,account:this._account},[s,C,w,o,l]=await Promise.all([x.actionFromAddress(r,n.action,f),S.budgetFromAddress(r,n.budget,f),m.validatorFromAddress(r,n.validator,f),q.allowListFromAddress(r,n.allowList,f),Promise.all(n.incentives.map(h=>p.incentiveFromAddress(r,h,f)))]);return new B.Boost({id:b,action:s,budget:C,validator:w,allowList:o,incentives:l,protocolFee:a,maxParticipants:c,owner:d})}async getBoostCount(e){return await u.Cf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,e==null?void 0:e.chainId),args:[],...this.optionallyAttachAccount(),...e})}async isAuthorized(e,f){const b=await this.createBoostAuth(f);return u.PN(this._config,{address:b,args:[e],...this.optionallyAttachAccount(),...f})}async createBoostAuth(e){return await u.Rf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,e==null?void 0:e.chainId),args:[],...this.optionallyAttachAccount(),...e})}async setCreateBoostAuth(e,f){return await this.awaitResult(this.setCreateBoostAuthRaw(e.assertValidAddress(),{...f}))}async setCreateBoostAuthRaw(e,f){const{request:b,result:a}=await u.sv(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,f==null?void 0:f.chainId),args:[e],...this.optionallyAttachAccount(),...f});return{hash:await u.Wf(this._config,b),result:a}}async protocolFee(e){return await u.xf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,e==null?void 0:e.chainId),args:[],...this.optionallyAttachAccount(),...e})}async protocolFeeReceiver(e){return await u.Sf(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,e==null?void 0:e.chainId),args:[],...this.optionallyAttachAccount(),...e})}async setProcolFeeReceiver(e,f){return await this.awaitResult(this.setProcolFeeReceiverRaw(e,{...f}))}async setProcolFeeReceiverRaw(e,f){const{request:b,result:a}=await u.ov(this._config,{...g.assertValidAddressByChainId(this._config,this.addresses,f==null?void 0:f.chainId),args:[e],...this.optionallyAttachAccount(),...f});return{hash:await u.jf(this._config,b),result:a}}async getClaimFromTransaction(e){var a;const f=await y.getTransactionReceipt(this._config,e);return(a=i.parseEventLogs({abi:u.I,eventName:"BoostClaimed",logs:f.logs}).at(0))==null?void 0:a.args}async calculateProtocolFee(e,f){const b=await this.protocolFee(f);return e*b/T}PassthroughAuth(e){return new k.PassthroughAuth({config:this._config,account:this._account},e)}EventAction(e,f){return new $.EventAction({config:this._config,account:this._account},e,f)}OpenAllowList(e){return new q.OpenAllowList({config:this._config,account:this._account},void 0,e)}SimpleAllowList(e,f){return new W.SimpleAllowList({config:this._config,account:this._account},e,f)}SimpleDenyList(e,f){return new G.SimpleDenyList({config:this._config,account:this._account},e,f)}ManagedBudget(e){return new U.ManagedBudget({config:this._config,account:this._account},e)}ManagedBudgetWithFees(e){return typeof e!="string"&&(e.authorized=[this.assertValidAddress(),...e.authorized],e.roles=[Y.Roles.MANAGER,...e.roles]),new S.ManagedBudgetWithFees({config:this._config,account:this._account},e)}AllowListIncentive(e){return new J.AllowListIncentive({config:this._config,account:this._account},e)}CGDAIncentive(e){return new K.CGDAIncentive({config:this._config,account:this._account},e)}ERC20Incentive(e){return new Q.ERC20Incentive({config:this._config,account:this._account},e)}PointsIncentive(e){return new ff.PointsIncentive({config:this._config,account:this._account},e)}SignerValidator(e,f){return new bf.SignerValidator({config:this._config,account:this._account},e,f)}LimitedSignerValidator(e,f){return new ef.LimitedSignerValidator({config:this._config,account:this._account},e,f)}ERC20VariableCriteriaIncentive(e,f){return new Z.ERC20VariableCriteriaIncentive({config:this._config,account:this._account},e,f)}ERC20VariableIncentive(e,f){return new af.ERC20VariableIncentive({config:this._config,account:this._account},e,f)}buildParameters(e,f){const[b,a]=this.validateDeploymentConfig(e,f);return{abi:u.I,bytecode:tf,args:b,...this.optionallyAttachAccount(a.account)}}};R.addresses=P;let E=R;exports.boostCoreAbi=u.I;exports.BOOST_CORE_ADDRESS=gf;exports.BOOST_CORE_ADDRESSES=P;exports.BoostCore=E;exports.FEE_DENOMINATOR=T;
3
3
  //# sourceMappingURL=BoostCore.cjs.map