@boostxyz/sdk 7.3.0 → 7.4.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 (62) hide show
  1. package/dist/Actions/EventAction.cjs +1 -1
  2. package/dist/Actions/EventAction.js +1 -1
  3. package/dist/AllowLists/AllowList.cjs +1 -1
  4. package/dist/AllowLists/AllowList.js +1 -1
  5. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  6. package/dist/AllowLists/SimpleAllowList.js +1 -1
  7. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  8. package/dist/AllowLists/SimpleDenyList.js +2 -2
  9. package/dist/BoostCore.cjs +1 -1
  10. package/dist/BoostCore.js +4 -4
  11. package/dist/BoostRegistry.cjs +1 -1
  12. package/dist/BoostRegistry.js +1 -1
  13. package/dist/{Budget-uGKa2qzz.cjs → Budget-CBvRK5Ia.cjs} +2 -2
  14. package/dist/{Budget-uGKa2qzz.cjs.map → Budget-CBvRK5Ia.cjs.map} +1 -1
  15. package/dist/{Budget-B-grnRq9.js → Budget-DlN8SRIG.js} +2 -2
  16. package/dist/{Budget-B-grnRq9.js.map → Budget-DlN8SRIG.js.map} +1 -1
  17. package/dist/Budgets/Budget.cjs +1 -1
  18. package/dist/Budgets/Budget.js +1 -1
  19. package/dist/Budgets/ManagedBudget.cjs +1 -1
  20. package/dist/Budgets/ManagedBudget.js +1 -1
  21. package/dist/{Incentive-Dufx0ZjH.cjs → Incentive-CoOu1lA8.cjs} +2 -2
  22. package/dist/{Incentive-Dufx0ZjH.cjs.map → Incentive-CoOu1lA8.cjs.map} +1 -1
  23. package/dist/{Incentive-Bz_g-nID.js → Incentive-OiTBMgKz.js} +2 -2
  24. package/dist/{Incentive-Bz_g-nID.js.map → Incentive-OiTBMgKz.js.map} +1 -1
  25. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  26. package/dist/Incentives/AllowListIncentive.js +2 -2
  27. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  28. package/dist/Incentives/CGDAIncentive.js +1 -1
  29. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  30. package/dist/Incentives/ERC20Incentive.js +1 -1
  31. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +1 -1
  32. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +1 -1
  33. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
  34. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +1 -1
  35. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  36. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +1 -1
  37. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
  38. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +1 -1
  39. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  40. package/dist/Incentives/ERC20VariableIncentive.js +1 -1
  41. package/dist/Incentives/Incentive.cjs +1 -1
  42. package/dist/Incentives/Incentive.js +1 -1
  43. package/dist/Incentives/PointsIncentive.cjs +1 -1
  44. package/dist/Incentives/PointsIncentive.js +1 -1
  45. package/dist/{SimpleDenyList-B2YDJ_gk.cjs → SimpleDenyList-DMTx64jC.cjs} +2 -2
  46. package/dist/{SimpleDenyList-B2YDJ_gk.cjs.map → SimpleDenyList-DMTx64jC.cjs.map} +1 -1
  47. package/dist/{SimpleDenyList-BlLgvhjE.js → SimpleDenyList-DWaW4ZEU.js} +2 -2
  48. package/dist/{SimpleDenyList-BlLgvhjE.js.map → SimpleDenyList-DWaW4ZEU.js.map} +1 -1
  49. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  50. package/dist/Validators/LimitedSignerValidator.js +1 -1
  51. package/dist/Validators/SignerValidator.cjs +1 -1
  52. package/dist/Validators/SignerValidator.js +1 -1
  53. package/dist/{deployments-DKtAq6BT.js → deployments-CW15LXS5.js} +29 -9
  54. package/dist/{deployments-DKtAq6BT.js.map → deployments-CW15LXS5.js.map} +1 -1
  55. package/dist/deployments-DKScOGTf.cjs +2 -0
  56. package/dist/deployments-DKScOGTf.cjs.map +1 -0
  57. package/dist/deployments.json +21 -0
  58. package/dist/index.cjs +1 -1
  59. package/dist/index.js +3 -3
  60. package/package.json +1 -1
  61. package/dist/deployments-Dk-Z1L2X.cjs +0 -2
  62. package/dist/deployments-Dk-Z1L2X.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./generated-C_JEoLDO.cjs"),o=require("./componentInterfaces-C5ig8mCK.cjs"),p=require("@wagmi/core"),R=require("./errors.cjs"),r=require("./Budgets/ManagedBudget.cjs"),t=require("viem"),m=require("./deployments-Dk-Z1L2X.cjs"),_=require("./Deployable/DeployableTargetWithRBAC.cjs"),B=require("./utils.cjs"),q="0x6080604052348015600e575f80fd5b506015601f565b601b601f565b6082565b63409feecd1980546001811615603c5763f92ee8a95f526004601cfd5b6001600160401b03808260011c14607d578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6137ad8061008f5f395ff3fe6080604052600436106102ea575f3560e01c806375b238fc11610183578063dcc21361116100d5578063f8724aba11610089578063fe56e23211610063578063fe56e232146108e4578063fe9fbb8014610903578063fee81cf414610922576102f1565b8063f8724aba14610887578063f9a802c3146108a6578063fa4ca9b1146108c5576102f1565b8063f04e283e116100ba578063f04e283e1461081c578063f23a6e611461082f578063f2fde38b14610874576102f1565b8063dcc21361146107e9578063ec87621c14610808576102f1565b8063b300579311610137578063c6004a3a11610111578063c6004a3a14610774578063d2514e841461079f578063d8c12d22146107be576102f1565b8063b3005793146106ef578063bc197c811461070e578063be4994f814610755576102f1565b80638da5cb5b116101685780638da5cb5b14610690578063929470eb146106bb578063a6f7f5d6146106da576102f1565b806375b238fc1461063b578063774c33ab1461064f576102f1565b8063439fab911161023c578063514e62fc116101f05780635aef467a116101ca5780635aef467a1461060157806361400c9914610614578063715018a614610633576102f1565b8063514e62fc1461059057806354d1f13d146105c5578063578bcf35146105cd576102f1565b8063451cc19111610221578063451cc1911461053d578063474f5a441461055e5780634a4ee7b11461057d576102f1565b8063439fab91146104ff57806343cc96e11461051e576102f1565b80631c10893f1161029e57806328d6183b1161027857806328d6183b146104505780632de94807146104af5780634359d28a146104e0576102f1565b80631c10893f146104005780631cd64df4146104135780632569296214610448576102f1565b806314135ce0116102cf57806314135ce014610384578063183a4f6e146103af578063185832a3146103c4576102f1565b806301ffc9a71461032357806310098ad514610357576102f1565b366102f157005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34801561032e575f80fd5b5061034261033d3660046129c8565b610953565b60405190151581526020015b60405180910390f35b348015610362575f80fd5b50610376610371366004612a1b565b610963565b60405190815260200161034e565b34801561038f575f80fd5b5061037661039e366004612a1b565b60046020525f908152604090205481565b6103c26103bd366004612a36565b61098e565b005b3480156103cf575f80fd5b506103e36103de366004612a92565b61099b565b604080519283526001600160a01b0390911660208301520161034e565b6103c261040e366004612af4565b6109c3565b34801561041e575f80fd5b5061034261042d366004612af4565b638b78c6d8600c9081525f9290925260209091205481161490565b6103c26109d9565b34801561045b575f80fd5b507fde98bbf0000000000000000000000000000000000000000000000000000000005b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161034e565b3480156104ba575f80fd5b506103766104c9366004612a1b565b638b78c6d8600c9081525f91909152602090205490565b3480156104eb575f80fd5b506103c26104fa366004612b5f565b610a26565b34801561050a575f80fd5b506103c2610519366004612bcb565b610b20565b348015610529575f80fd5b506103c2610538366004612c0a565b610d2a565b348015610548575f80fd5b50610376610557366004612bcb565b5f92915050565b348015610569575f80fd5b50610376610578366004612bcb565b6110b3565b6103c261058b366004612af4565b611269565b34801561059b575f80fd5b506103426105aa366004612af4565b638b78c6d8600c9081525f9290925260209091205416151590565b6103c261127b565b3480156105d8575f80fd5b506103766105e7366004612a1b565b6001600160a01b03165f9081526005602052604090205490565b61034261060f366004612bcb565b6112b4565b34801561061f575f80fd5b5061034261062e366004612c2a565b6115b4565b6103c26115fb565b348015610646575f80fd5b50610376600281565b34801561065a575f80fd5b50610376610669366004612af4565b6001600160a01b03919091165f908152600660209081526040808320938352929052205490565b34801561069b575f80fd5b50638b78c6d819546040516001600160a01b03909116815260200161034e565b3480156106c6575f80fd5b506103426106d5366004612c5d565b61160e565b3480156106e5575f80fd5b5061037660015481565b3480156106fa575f80fd5b506103e3610709366004612a92565b6116d4565b348015610719575f80fd5b5061047e610728366004612cc2565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b348015610760575f80fd5b506103c261076f366004612b5f565b611842565b34801561077f575f80fd5b5061037661078e366004612a1b565b60036020525f908152604090205481565b3480156107aa575f80fd5b506103766107b9366004612a1b565b6118e0565b3480156107c9575f80fd5b506103766107d8366004612a1b565b60026020525f908152604090205481565b3480156107f4575f80fd5b506103c2610803366004612b5f565b611920565b348015610813575f80fd5b50610376600181565b6103c261082a366004612a1b565b6119be565b34801561083a575f80fd5b5061047e610849366004612d85565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6103c2610882366004612a1b565b6119f8565b348015610892575f80fd5b506103766108a1366004612af4565b611a1e565b3480156108b1575f80fd5b506103766108c0366004612af4565b611aab565b3480156108d0575f80fd5b506103426108df366004612bcb565b611b55565b3480156108ef575f80fd5b506103c26108fe366004612a36565b611e9d565b34801561090e575f80fd5b5061034261091d366004612a1b565b611f50565b34801561092d575f80fd5b5061037661093c366004612a1b565b63389a75e1600c9081525f91909152602090205490565b5f61095d82611f95565b92915050565b6001600160a01b0381165f9081526004602052604081205461098483611fea565b61095d9190612e29565b6109983382612019565b50565b5f806109aa87878787876116d4565b90925090506109b98484610d2a565b9550959350505050565b6109cb612024565b6109d5828261203e565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6002610a318161204a565b838214610a6a576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b18575f848483818110610a8757610a87612e3c565b9050602002016020810190610a9c9190612e76565b9050801515600103610ade57610ad9878784818110610abd57610abd612e3c565b9050602002016020810190610ad29190612a1b565b600161203e565b610b0f565b610b0f878784818110610af357610af3612e3c565b9050602002016020810190610b089190612a1b565b6001612019565b50600101610a6c565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610b715760018160011c14303b10610b685763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610b7f8385018561300a565b9050610b8d815f015161207b565b5f5b816020015151811015610be857610be082602001518281518110610bb557610bb5612e3c565b602002602001015183604001518381518110610bd357610bd3612e3c565b60200260200101516120b6565b600101610b8f565b508060200151515f03610c5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6e6f20636f726520636f6e74726163742073657400000000000000000000000060448201526064015b60405180910390fd5b80602001515f81518110610c7257610c72612e3c565b6020908102919091018101515f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909216919091179055606082015160018190556040519081527f74f254e69f1d1aa50fbf15b184112c15530415ac9f4b4bf2b75778c6befd0978910160405180910390a1508015610d25576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f80546040517f13c8e2de000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b03909116906313c8e2de906024015f60405180830381865afa158015610d89573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dce91908101906131ab565b90505f81608001518381518110610de757610de7612e3c565b60209081029190910101516040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f7cc1d5bb0000000000000000000000000000000000000000000000000000000060048201529091506001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610e70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e949190613288565b15610f6e575f816001600160a01b031663dcc59b6f6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610ed7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efb91906132a3565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610f3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5f91906132a3565b9050610b1886868685856120f7565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f903181110000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100d9190613288565b156102f1575f816001600160a01b031663d54ad2a16040518163ffffffff1660e01b81526004016020604051808303815f875af1158015611050573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107491906132a3565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3b573d5f803e3d5ffd5b5f60026110bf8161204a565b5f6110cc848601866132ff565b90505f80825160028111156110e3576110e36133e5565b148061110157506001825160028111156110ff576110ff6133e5565b145b15611158575f826060015180602001905181019061111f9190613412565b602084015160408501518251929350611150921561113e5783516122fc565b61114b8660200151610963565b6122fc565b51905061125e565b60028251600281111561116d5761116d6133e5565b03611255575f826060015180602001905181019061118b9190613454565b905061124a83602001518460400151835f015184602001515f146111b3578460200151611240565b602087015185516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091526001600160a01b039091169062fdd58e90604401602060405180830381865afa15801561121c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124091906132a3565b856040015161246c565b60200151905061125e565b92506112629050565b9250505b5092915050565b611271612024565b6109d58282612019565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f806112c2838501856132ff565b90505f815160028111156112d8576112d86133e5565b03611351575f81606001518060200190518101906112f69190613412565b8051909150341461134b57602082015181516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610c53565b506115aa565b600181516002811115611366576113666133e5565b03611413575f81606001518060200190518101906113849190613412565b6040830151815160208501519293506113a9926001600160a01b031691903090612660565b805160208301516113c3906001600160a01b0316306126c2565b101561134b57602082015181516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610c53565b600281516002811115611428576114286133e5565b036115a1575f81606001518060200190518101906114469190613454565b905081602001516001600160a01b031663f242432a836040015130845f0151856020015186604001516040518663ffffffff1660e01b815260040161148f95949392919061355e565b5f604051808303815f87803b1580156114a6575f80fd5b505af11580156114b8573d5f803e3d5ffd5b5050506020808301519084015183516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091529192506001600160a01b03169062fdd58e90604401602060405180830381865afa15801561152a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154e91906132a3565b101561134b57602080830151908201516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610c53565b5f91505061095d565b5060019392505050565b5f805b828110156115aa576115e68484838181106115d4576115d4612e3c565b90506020028101906108df91906135a5565b6115f3575f91505061095d565b6001016115b7565b611603612024565b61160c5f6126f5565b565b5f61161833611f50565b61164e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f1fa2acdc0000000000000000000000000000000000000000000000000000000081526001600160a01b03871690631fa2acdc9061169b9088908890889088903090600401613606565b5f604051808303815f87803b1580156116b2575f80fd5b505af11580156116c4573d5f803e3d5ffd5b5060019998505050505050505050565b5f806116df33611f50565b611715576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040518060400160405280306001600160a01b0316815260200188888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250506040519293508a9290915081906001600160a01b0384169063dd98558c90611793908790602001613672565b6040516020818303038152906040528a8a6040518463ffffffff1660e01b81526004016117c2939291906136a7565b60408051808303815f875af11580156117dd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180191906136cb565b6001600160a01b0381165f9081526005602052604081208054939550919350849261182d908490612e29565b90915550919b909a5098505050505050505050565b600261184d8161204a565b838214611886576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b18576118d88686838181106118a5576118a5612e3c565b90506020020160208101906118ba9190612a1b565b8585848181106118cc576118cc612e3c565b9050602002013561203e565b600101611888565b6001600160a01b0381165f90815260046020908152604080832054600590925282205461190c84610963565b61191691906136fa565b61095d91906136fa565b600261192b8161204a565b838214611964576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b18576119b686868381811061198357611983612e3c565b90506020020160208101906119989190612a1b565b8585848181106119aa576119aa612e3c565b90506020020135612019565b600101611966565b6119c6612024565b63389a75e1600c52805f526020600c2080544211156119ec57636f5e88185f526004601cfd5b5f9055610998816126f5565b611a00612024565b8060601b611a1557637448fbae5f526004601cfd5b610998816126f5565b6040517efdd58e000000000000000000000000000000000000000000000000000000008152306004820152602481018290525f906001600160a01b0384169062fdd58e90604401602060405180830381865afa158015611a80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aa491906132a3565b9392505050565b6001600160a01b0382165f8181526006602090815260408083208584529091528082205490517efdd58e000000000000000000000000000000000000000000000000000000008152306004820152602481018590529192909162fdd58e90604401602060405180830381865afa158015611b27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4b91906132a3565b611aa491906136fa565b5f611b5f33611f50565b611b95576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611ba2838501856132ff565b9050600181516002811115611bb957611bb96133e5565b1480611bd657505f81516002811115611bd457611bd46133e5565b145b15611d4f575f8160600151806020019051810190611bf49190613412565b90505f612710600154835f0151611c0b919061370d565b611c159190613724565b90505f611c258460200151610963565b90508082845f0151611c3791906136fa565b1115611c9c57602084015183518290611c519085906136fa565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909316600484015260248301919091526044820152606401610c53565b6040808501516001600160a01b03165f90815260026020529081208054849290611cc79084906136fa565b90915550506020808501516001600160a01b03165f9081526004909152604081208054849290611cf89084906136fa565b909155505082516020808601516001600160a01b03165f9081526005909152604081208054909190611d2b9084906136fa565b9091555050602084015160408501518451611d479291906122fc565b5050506115aa565b600281516002811115611d6457611d646133e5565b036115a1575f8160600151806020019051810190611d829190613454565b602083015181516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091529192505f916001600160a01b039091169062fdd58e90604401602060405180830381865afa158015611df0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1491906132a3565b90508082602001511115611e7657602080840151908301516040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482018390526044820152606401610c53565b611e9683602001518460400151845f01518560200151866040015161246c565b50506115aa565b6002611ea88161204a565b612710821115611f14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665652063616e6e6f74206578636565642031303025000000000000000000006044820152606401610c53565b60018290556040518281527f74f254e69f1d1aa50fbf15b184112c15530415ac9f4b4bf2b75778c6befd09789060200160405180910390a15050565b5f816001600160a01b0316611f68638b78c6d8195490565b6001600160a01b0316148061095d5750638b78c6d8600c9081525f8390526020902054600316151561095d565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fde98bbf000000000000000000000000000000000000000000000000000000000148061095d575061095d82612732565b5f6001600160a01b038216156120125761200d6001600160a01b038316306126c2565b61095d565b4792915050565b6109d582825f61281f565b638b78c6d81954331461160c576382b429005f526004601cfd5b6109d58282600161281f565b638b78c6d81954331461099857638b78c6d8600c52335f52806020600c205416610998576382b429005f526004601cfd5b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b5f8360800151858151811061210e5761210e612e3c565b6020908102919091018101516001600160a01b0381165f9081526002835260408082205460039094528120549193508185612149888661370d565b6121539190613724565b61215d9190612e29565b905061216981836136fa565b6001600160a01b0385165f8181526003602090815260408083209490945583517f38d52e0f000000000000000000000000000000000000000000000000000000008152935191936338d52e0f92600480830193928290030181865afa1580156121d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121f8919061375c565b60e08901516001600160a01b0382165f908152600460205260408120805493945091928592919061222a908490612e29565b90915550505f839003612269576040517fb2e783cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8461227484866136fa565b0361229f576001600160a01b0386165f90815260026020908152604080832083905560039091528120555b806001600160a01b03168a8c7ff44ff640e648077f3acc130c6ce75240070e8c40adc85b0feeeec28d9dd921b4866040516122dc91815260200190565b60405180910390a46122ef8282856122fc565b5050505050505050505050565b3068929eee149b4bd21268540361231a5763ab143c065f526004601cfd5b3068929eee149b4bd21268556001600160a01b038216612380576040517fbf182be80000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260448101829052606401610c53565b61238983610963565b8111156123e4578261239a84610963565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260448101829052606401610c53565b6001600160a01b038316612401576123fc8282612876565b612415565b6124156001600160a01b038416838361288f565b604080516001600160a01b038481168252602082018490528516917fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd43542910160405180910390a23868929eee149b4bd2126855505050565b3068929eee149b4bd21268540361248a5763ab143c065f526004601cfd5b3068929eee149b4bd21268556001600160a01b0384166124f0576040517fbf182be80000000000000000000000000000000000000000000000000000000081526001600160a01b0380871660048301528516602482015260448101839052606401610c53565b6124fa8584611a1e565b821115612556578461250c8685611a1e565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260448101839052606401610c53565b6001600160a01b0385165f908152600660209081526040808320868452909152812080548492906125889084906136fa565b90915550506040517ff242432a0000000000000000000000000000000000000000000000000000000081526001600160a01b0386169063f242432a906125da903090889088908890889060040161355e565b5f604051808303815f87803b1580156125f1575f80fd5b505af1158015612603573d5f803e3d5ffd5b5050604080516001600160a01b03888116825260208201879052891693507fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd4354292500160405180910390a23868929eee149b4bd21268555050505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166126b457803d873b1517106126b457637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5fbfaa4e0000000000000000000000000000000000000000000000000000000014806127c457507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061281057507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b8061095d575061095d826128e2565b638b78c6d8600c52825f526020600c20805483811783612840575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f385f3884865af16109d55763b12d13eb5f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166128d857803d853b1517106128d8576390b8ec185f526004601cfd5b505f603452505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fe49cedd700000000000000000000000000000000000000000000000000000000148061095d575061095d825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061095d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461095d565b5f602082840312156129d8575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611aa4575f80fd5b6001600160a01b0381168114610998575f80fd5b5f60208284031215612a2b575f80fd5b8135611aa481612a07565b5f60208284031215612a46575f80fd5b5035919050565b5f8083601f840112612a5d575f80fd5b50813567ffffffffffffffff811115612a74575f80fd5b602083019150836020828501011115612a8b575f80fd5b9250929050565b5f805f805f60808688031215612aa6575f80fd5b8535612ab181612a07565b9450602086013567ffffffffffffffff811115612acc575f80fd5b612ad888828901612a4d565b9699909850959660408101359660609091013595509350505050565b5f8060408385031215612b05575f80fd5b8235612b1081612a07565b946020939093013593505050565b5f8083601f840112612b2e575f80fd5b50813567ffffffffffffffff811115612b45575f80fd5b6020830191508360208260051b8501011115612a8b575f80fd5b5f805f8060408587031215612b72575f80fd5b843567ffffffffffffffff811115612b88575f80fd5b612b9487828801612b1e565b909550935050602085013567ffffffffffffffff811115612bb3575f80fd5b612bbf87828801612b1e565b95989497509550505050565b5f8060208385031215612bdc575f80fd5b823567ffffffffffffffff811115612bf2575f80fd5b612bfe85828601612a4d565b90969095509350505050565b5f8060408385031215612c1b575f80fd5b50508035926020909101359150565b5f8060208385031215612c3b575f80fd5b823567ffffffffffffffff811115612c51575f80fd5b612bfe85828601612b1e565b5f805f805f60808688031215612c71575f80fd5b8535612c7c81612a07565b94506020860135935060408601359250606086013567ffffffffffffffff811115612ca5575f80fd5b612cb188828901612a4d565b969995985093965092949392505050565b5f805f805f805f8060a0898b031215612cd9575f80fd5b8835612ce481612a07565b97506020890135612cf481612a07565b9650604089013567ffffffffffffffff811115612d0f575f80fd5b612d1b8b828c01612b1e565b909750955050606089013567ffffffffffffffff811115612d3a575f80fd5b612d468b828c01612b1e565b909550935050608089013567ffffffffffffffff811115612d65575f80fd5b612d718b828c01612a4d565b999c989b5096995094979396929594505050565b5f805f805f8060a08789031215612d9a575f80fd5b8635612da581612a07565b95506020870135612db581612a07565b94506040870135935060608701359250608087013567ffffffffffffffff811115612dde575f80fd5b612dea89828a01612a4d565b979a9699509497509295939492505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561095d5761095d612dfc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8015158114610998575f80fd5b5f60208284031215612e86575f80fd5b8135611aa481612e69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715612ee157612ee1612e91565b60405290565b604051610100810167ffffffffffffffff81118282101715612ee157612ee1612e91565b6040516060810167ffffffffffffffff81118282101715612ee157612ee1612e91565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612f7557612f75612e91565b604052919050565b5f67ffffffffffffffff821115612f9657612f96612e91565b5060051b60200190565b5f82601f830112612faf575f80fd5b8135612fc2612fbd82612f7d565b612f2e565b8082825260208201915060208360051b860101925085831115612fe3575f80fd5b602085015b83811015613000578035835260209283019201612fe8565b5095945050505050565b5f6020828403121561301a575f80fd5b813567ffffffffffffffff811115613030575f80fd5b820160808185031215613041575f80fd5b613049612ebe565b813561305481612a07565b8152602082013567ffffffffffffffff81111561306f575f80fd5b8201601f8101861361307f575f80fd5b803561308d612fbd82612f7d565b8082825260208201915060208360051b8501019250888311156130ae575f80fd5b6020840193505b828410156130d95783356130c881612a07565b8252602093840193909101906130b5565b6020850152505050604082013567ffffffffffffffff8111156130fa575f80fd5b61310686828501612fa0565b604083015250606091820135918101919091529392505050565b805161312b81612a07565b919050565b5f82601f83011261313f575f80fd5b815161314d612fbd82612f7d565b8082825260208201915060208360051b86010192508583111561316e575f80fd5b602085015b8381101561300057805161318681612a07565b835260209283019201613173565b805167ffffffffffffffff8116811461312b575f80fd5b5f602082840312156131bb575f80fd5b815167ffffffffffffffff8111156131d1575f80fd5b820161010081850312156131e3575f80fd5b6131eb612ee7565b6131f482613120565b815261320260208301613120565b602082015261321360408301613120565b604082015261322460608301613120565b6060820152608082015167ffffffffffffffff811115613242575f80fd5b61324e86828501613130565b60808301525061326060a08301613194565b60a082015260c0828101519082015261327b60e08301613120565b60e0820152949350505050565b5f60208284031215613298575f80fd5b8151611aa481612e69565b5f602082840312156132b3575f80fd5b5051919050565b5f67ffffffffffffffff8211156132d3576132d3612e91565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f6020828403121561330f575f80fd5b813567ffffffffffffffff811115613325575f80fd5b820160808185031215613336575f80fd5b61333e612ebe565b81356003811061334c575f80fd5b8152602082013561335c81612a07565b6020820152604082013561336f81612a07565b6040820152606082013567ffffffffffffffff81111561338d575f80fd5b80830192505084601f8301126133a1575f80fd5b81356133af612fbd826132ba565b8181528660208386010111156133c3575f80fd5b816020850160208301375f918101602001919091526060820152949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f6020828403128015613423575f80fd5b506040516020810167ffffffffffffffff8111828210171561344757613447612e91565b6040529151825250919050565b5f60208284031215613464575f80fd5b815167ffffffffffffffff81111561347a575f80fd5b82016060818503121561348b575f80fd5b613493612f0b565b8151815260208083015190820152604082015167ffffffffffffffff8111156134ba575f80fd5b80830192505084601f8301126134ce575f80fd5b81516134dc612fbd826132ba565b8181528660208386010111156134f0575f80fd5b8160208501602083015e5f918101602001919091526040820152949350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6001600160a01b03861681526001600160a01b038516602082015283604082015282606082015260a060808201525f61359a60a0830184613512565b979650505050505050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126135d8575f80fd5b83018035915067ffffffffffffffff8211156135f2575f80fd5b602001915036819003821315612a8b575f80fd5b85815284602082015260806040820152826080820152828460a08301375f60a084830101525f60a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683010190506001600160a01b03831660608301529695505050505050565b602081526001600160a01b0382511660208201525f602083015160408084015261369f6060840182613512565b949350505050565b606081525f6136b96060830186613512565b60208301949094525060400152919050565b5f80604083850312156136dc575f80fd5b825160208401519092506136ef81612a07565b809150509250929050565b8082018082111561095d5761095d612dfc565b808202811582820484141761095d5761095d612dfc565b5f82613757577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f6020828403121561376c575f80fd5b8151611aa481612a0756fea2646970667358221220c4aa3b17b934a3a01b24f3191818b2b0b291f2e616fab5fe7ff6da61ab9593d264736f6c634300081a0033",g=class g extends _.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=e.p}async allocate(f,b){return await this.awaitResult(this.allocateRaw(f,b))}async allocateRaw(f,b){const{request:a,result:d}=await e.R1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.o1(this._config,a),result:d}}async clawback(f,b){return await this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:a,result:d}=await e.O1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.u1(this._config,a),result:d}}async clawbackFromTarget(f,b,a,d,c){return await this.awaitResult(this.clawbackFromTargetRaw(f,b,a,d,c))}async clawbackFromTargetRaw(f,b,a,d,c){const{request:s,result:n}=await e.E1(this._config,{address:this.assertValidAddress(),args:[f,b,BigInt(a),BigInt(d)],...this.optionallyAttachAccount(),...c});return{hash:await e.l1(this._config,s),result:n}}async disburse(f,b){return await this.awaitResult(this.disburseRaw(f,b))}async disburseRaw(f,b){const{request:a,result:d}=await e.z1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.d1(this._config,a),result:d}}async disburseBatch(f,b){return await this.awaitResult(this.disburseBatchRaw(f,b))}async disburseBatchRaw(f,b){const{request:a,result:d}=await e.B1(this._config,{address:this.assertValidAddress(),args:[f.map(r.prepareTransfer)],...this.optionallyAttachAccount(),...b});return{hash:await e.c1(this._config,a),result:d}}async payManagementFee(f,b,a){return await this.awaitResult(this.payManagementFeeRaw(f,b,a))}async payManagementFeeRaw(f,b,a){const{request:d,result:c}=await e.Xk(this._config,{address:this.assertValidAddress(),args:[f,b],...this.optionallyAttachAccount(),...a});return{hash:await e.Ek(this._config,d),result:c}}async setManagementFee(f,b){return await this.awaitResult(this.setManagementFeeRaw(f,b))}async setManagementFeeRaw(f,b){const{request:a,result:d}=await e.rP(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await e.Pk(this._config,a),result:d}}async managementFee(f){return await e.pk(this._config,{address:this.assertValidAddress(),args:[],...f})}owner(f){return e.t1(this._config,{address:this.assertValidAddress(),args:[],...f})}total(f=t.zeroAddress,b,a){return e.s1(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}available(f=t.zeroAddress,b,a){return e.j0(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}distributed(f=t.zeroAddress,b,a){return e.$0(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}buildParameters(f,b){var c;const[a,d]=this.validateDeploymentConfig(f,b);if(!a.owner||a.owner===t.zeroAddress){const s=d.account?d.account.address:d.config?p.getAccount(d.config).address:(c=this._account)==null?void 0:c.address;if(s)a.owner=s;else throw new R.DeployableUnknownOwnerProvidedError}return{abi:e.p,bytecode:q,args:[V(a)],...this.optionallyAttachAccount(d.account)}}};g.bases={31337:void 0,...m.ManagedBudgetWithFees},g.registryType=B.RegistryType.BUDGET;let h=g;const V=({owner:i,authorized:f,roles:b,managementFee:a})=>t.encodeAbiParameters(t.parseAbiParameters(["ManagedBudgetWithFeesPayload payload","struct ManagedBudgetWithFeesPayload { address owner; address[] authorized; uint256[] roles; uint256 managementFee; }"]),[{owner:i,authorized:f,roles:b,managementFee:a}]),M="0x6080604052348015600e575f80fd5b5060156025565b601b6025565b60216025565b6088565b63409feecd198054600181161560425763f92ee8a95f526004601cfd5b6001600160401b03808260011c146083578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b613da8806100955f395ff3fe608060405260043610610316575f3560e01c8063774c33ab11610199578063dcc21361116100e0578063f8724aba11610089578063fe56e23211610063578063fe56e2321461099b578063fe9fbb80146109ba578063fee81cf4146109d95761031d565b8063f8724aba1461093e578063f9a802c31461095d578063fa4ca9b11461097c5761031d565b8063f04e283e116100ba578063f04e283e146108d3578063f23a6e61146108e6578063f2fde38b1461092b5761031d565b8063dcc2136114610872578063eaefb5cf14610891578063ec87621c146108bf5761031d565b8063b5e4f55d11610142578063c6004a3a1161011c578063c6004a3a146107fd578063d2514e8414610828578063d8c12d22146108475761031d565b8063b5e4f55d14610778578063bc197c8114610797578063be4994f8146107de5761031d565b8063929470eb11610173578063929470eb14610725578063a6f7f5d614610744578063b3005793146107595761031d565b8063774c33ab1461069a57806380009630146106db5780638da5cb5b146106fa5761031d565b806343cc96e11161025d57806354feede51161020657806361400c99116101e057806361400c991461065f578063715018a61461067e57806375b238fc146106865761031d565b806354feede5146105f9578063578bcf35146106185780635aef467a1461064c5761031d565b80634a4ee7b1116102375780634a4ee7b1146105a9578063514e62fc146105bc57806354d1f13d146105f15761031d565b806343cc96e11461054a578063451cc19114610569578063474f5a441461058a5761031d565b80631cd64df4116102bf5780632de94807116102995780632de94807146104db5780634359d28a1461050c578063439fab911461052b5761031d565b80631cd64df41461043f578063256929621461047457806328d6183b1461047c5761031d565b8063183a4f6e116102f0578063183a4f6e146103db578063185832a3146103f05780631c10893f1461042c5761031d565b806301ffc9a71461034f57806310098ad51461038357806314135ce0146103b05761031d565b3661031d57005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34801561035a575f80fd5b5061036e610369366004612f94565b610a0a565b60405190151581526020015b60405180910390f35b34801561038e575f80fd5b506103a261039d366004612fe7565b610a1a565b60405190815260200161037a565b3480156103bb575f80fd5b506103a26103ca366004612fe7565b60046020525f908152604090205481565b6103ee6103e9366004613002565b610a45565b005b3480156103fb575f80fd5b5061040f61040a36600461305e565b610a52565b604080519283526001600160a01b0390911660208301520161037a565b6103ee61043a3660046130c0565b610a7a565b34801561044a575f80fd5b5061036e6104593660046130c0565b638b78c6d8600c9081525f9290925260209091205481161490565b6103ee610a90565b348015610487575f80fd5b507fa2dceadb000000000000000000000000000000000000000000000000000000005b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161037a565b3480156104e6575f80fd5b506103a26104f5366004612fe7565b638b78c6d8600c9081525f91909152602090205490565b348015610517575f80fd5b506103ee61052636600461312b565b610add565b348015610536575f80fd5b506103ee610545366004613197565b610bd7565b348015610555575f80fd5b506103ee6105643660046131d6565b610db2565b348015610574575f80fd5b506103a2610583366004613197565b5f92915050565b348015610595575f80fd5b506103a26105a4366004613197565b61111d565b6103ee6105b73660046130c0565b6112d3565b3480156105c7575f80fd5b5061036e6105d63660046130c0565b638b78c6d8600c9081525f9290925260209091205416151590565b6103ee6112e5565b348015610604575f80fd5b506103ee6106133660046131f6565b61131e565b348015610623575f80fd5b506103a2610632366004612fe7565b6001600160a01b03165f9081526006602052604090205490565b61036e61065a366004613197565b6116e1565b34801561066a575f80fd5b5061036e610679366004613228565b6119e1565b6103ee611a28565b348015610691575f80fd5b506103a2600281565b3480156106a5575f80fd5b506103a26106b43660046130c0565b6001600160a01b03919091165f908152600760209081526040808320938352929052205490565b3480156106e6575f80fd5b506103ee6106f5366004612fe7565b611a3b565b348015610705575f80fd5b50638b78c6d819546040516001600160a01b03909116815260200161037a565b348015610730575f80fd5b5061036e61073f36600461325b565b611a4f565b34801561074f575f80fd5b506103a260015481565b348015610764575f80fd5b5061040f61077336600461305e565b611b15565b348015610783575f80fd5b5061040f6107923660046132c0565b611b71565b3480156107a2575f80fd5b506104aa6107b1366004613335565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b3480156107e9575f80fd5b506103ee6107f836600461312b565b611b9b565b348015610808575f80fd5b506103a2610817366004612fe7565b60036020525f908152604090205481565b348015610833575f80fd5b506103a2610842366004612fe7565b611c39565b348015610852575f80fd5b506103a2610861366004612fe7565b60026020525f908152604090205481565b34801561087d575f80fd5b506103ee61088c36600461312b565b611c79565b34801561089c575f80fd5b5061036e6108ab366004612fe7565b60056020525f908152604090205460ff1681565b3480156108ca575f80fd5b506103a2600181565b6103ee6108e1366004612fe7565b611d17565b3480156108f1575f80fd5b506104aa6109003660046133f8565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6103ee610939366004612fe7565b611d51565b348015610949575f80fd5b506103a26109583660046130c0565b611d77565b348015610968575f80fd5b506103a26109773660046130c0565b611e04565b348015610987575f80fd5b5061036e610996366004613197565b611eae565b3480156109a6575f80fd5b506103ee6109b5366004613002565b6121f6565b3480156109c5575f80fd5b5061036e6109d4366004612fe7565b6122a9565b3480156109e4575f80fd5b506103a26109f3366004612fe7565b63389a75e1600c9081525f91909152602090205490565b5f610a14826122ee565b92915050565b6001600160a01b0381165f90815260046020526040812054610a3b83612343565b610a14919061349c565b610a4f3382612372565b50565b5f80610a618787878787611b15565b9092509050610a708484610db2565b9550959350505050565b610a8261237d565b610a8c8282612397565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6002610ae8816123a3565b838214610b21576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610bcf575f848483818110610b3e57610b3e6134af565b9050602002016020810190610b5391906134e9565b9050801515600103610b9557610b90878784818110610b7457610b746134af565b9050602002016020810190610b899190612fe7565b6001612397565b610bc6565b610bc6878784818110610baa57610baa6134af565b9050602002016020810190610bbf9190612fe7565b6001612372565b50600101610b23565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610c285760018160011c14303b10610c1f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610c368385018561365f565b9050610c44815f01516123d4565b60015b816020015151811015610ca057610c9882602001518281518110610c6d57610c6d6134af565b602002602001015183604001518381518110610c8b57610c8b6134af565b602002602001015161240f565b600101610c47565b508060200151515f03610d14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6e6f20636f726520636f6e74726163742073657400000000000000000000000060448201526064015b60405180910390fd5b610d3a81602001515f81518110610d2d57610d2d6134af565b6020026020010151612450565b606081015160018190556040519081527f74f254e69f1d1aa50fbf15b184112c15530415ac9f4b4bf2b75778c6befd09789060200160405180910390a1508015610dad576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f80546040517f13c8e2de000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b03909116906313c8e2de906024015f60405180830381865afa158015610e11573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e389190810190613800565b90505f81608001518381518110610e5157610e516134af565b60209081029190910101516040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f7cc1d5bb0000000000000000000000000000000000000000000000000000000060048201529091506001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610eda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efe91906138dd565b15610fd8575f816001600160a01b031663dcc59b6f6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610f41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6591906138f8565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610fa5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc991906138f8565b9050610bcf8686868585612505565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f903181110000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611053573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107791906138dd565b1561031d575f816001600160a01b031663d54ad2a16040518163ffffffff1660e01b81526004016020604051808303815f875af11580156110ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110de91906138f8565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa5573d5f803e3d5ffd5b5f6002611129816123a3565b5f61113684860186613936565b90505f808251600281111561114d5761114d613a1c565b148061116b575060018251600281111561116957611169613a1c565b145b156111c2575f82606001518060200190518101906111899190613a49565b6020840151604085015182519293506111ba92156111a857835161270a565b6111b58660200151610a1a565b61270a565b5190506112c8565b6002825160028111156111d7576111d7613a1c565b036112bf575f82606001518060200190518101906111f59190613a8b565b90506112b483602001518460400151835f015184602001515f1461121d5784602001516112aa565b602087015185516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091526001600160a01b039091169062fdd58e90604401602060405180830381865afa158015611286573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112aa91906138f8565b856040015161287a565b6020015190506112c8565b92506112cc9050565b9250505b5092915050565b6112db61237d565b610a8c8282612372565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b6001600160a01b0383165f9081526005602052604090205460ff1661136f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f13c8e2de000000000000000000000000000000000000000000000000000000008152600481018390525f906001600160a01b038516906313c8e2de906024015f60405180830381865afa1580156113cc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113f39190810190613800565b90505f8160800151838151811061140c5761140c6134af565b60209081029190910101516040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f7cc1d5bb0000000000000000000000000000000000000000000000000000000060048201529091506001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611495573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b991906138dd565b1561159c575f816001600160a01b031663dcc59b6f6040518163ffffffff1660e01b81526004016020604051808303815f875af11580156114fc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061152091906138f8565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015611560573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061158491906138f8565b90506115938686868585612505565b50505050505050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f903181110000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611617573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163b91906138dd565b1561031d575f816001600160a01b031663d54ad2a16040518163ffffffff1660e01b81526004016020604051808303815f875af115801561167e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116a291906138f8565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611560573d5f803e3d5ffd5b5f806116ef83850185613936565b90505f8151600281111561170557611705613a1c565b0361177e575f81606001518060200190518101906117239190613a49565b8051909150341461177857602082015181516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610d0b565b506119d7565b60018151600281111561179357611793613a1c565b03611840575f81606001518060200190518101906117b19190613a49565b6040830151815160208501519293506117d6926001600160a01b031691903090612a6e565b805160208301516117f0906001600160a01b031630612ad0565b101561177857602082015181516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610d0b565b60028151600281111561185557611855613a1c565b036119ce575f81606001518060200190518101906118739190613a8b565b905081602001516001600160a01b031663f242432a836040015130845f0151856020015186604001516040518663ffffffff1660e01b81526004016118bc959493929190613b77565b5f604051808303815f87803b1580156118d3575f80fd5b505af11580156118e5573d5f803e3d5ffd5b5050506020808301519084015183516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091529192506001600160a01b03169062fdd58e90604401602060405180830381865afa158015611957573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197b91906138f8565b101561177857602080830151908201516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610d0b565b5f915050610a14565b5060019392505050565b5f805b828110156119d757611a13848483818110611a0157611a016134af565b90506020028101906109969190613bbe565b611a20575f915050610a14565b6001016119e4565b611a3061237d565b611a395f612b03565b565b6002611a46816123a3565b610a8c82612450565b5f611a59336122a9565b611a8f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f1fa2acdc0000000000000000000000000000000000000000000000000000000081526001600160a01b03871690631fa2acdc90611adc9088908890889088903090600401613c1f565b5f604051808303815f87803b158015611af3575f80fd5b505af1158015611b05573d5f803e3d5ffd5b5060019998505050505050505050565b5f80611b20336122a9565b611b56576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b638787878787612b40565b915091509550959350505050565b5f80611b808888888787612b40565b9092509050611b9085858561131e565b965096945050505050565b6002611ba6816123a3565b838214611bdf576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610bcf57611c31868683818110611bfe57611bfe6134af565b9050602002016020810190611c139190612fe7565b858584818110611c2557611c256134af565b90506020020135612397565b600101611be1565b6001600160a01b0381165f908152600460209081526040808320546006909252822054611c6584610a1a565b611c6f9190613c6d565b610a149190613c6d565b6002611c84816123a3565b838214611cbd576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610bcf57611d0f868683818110611cdc57611cdc6134af565b9050602002016020810190611cf19190612fe7565b858584818110611d0357611d036134af565b90506020020135612372565b600101611cbf565b611d1f61237d565b63389a75e1600c52805f526020600c208054421115611d4557636f5e88185f526004601cfd5b5f9055610a4f81612b03565b611d5961237d565b8060601b611d6e57637448fbae5f526004601cfd5b610a4f81612b03565b6040517efdd58e000000000000000000000000000000000000000000000000000000008152306004820152602481018290525f906001600160a01b0384169062fdd58e90604401602060405180830381865afa158015611dd9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dfd91906138f8565b9392505050565b6001600160a01b0382165f8181526007602090815260408083208584529091528082205490517efdd58e000000000000000000000000000000000000000000000000000000008152306004820152602481018590529192909162fdd58e90604401602060405180830381865afa158015611e80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea491906138f8565b611dfd9190613c6d565b5f611eb8336122a9565b611eee576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611efb83850185613936565b9050600181516002811115611f1257611f12613a1c565b1480611f2f57505f81516002811115611f2d57611f2d613a1c565b145b156120a8575f8160600151806020019051810190611f4d9190613a49565b90505f612710600154835f0151611f649190613c80565b611f6e9190613c97565b90505f611f7e8460200151610a1a565b90508082845f0151611f909190613c6d565b1115611ff557602084015183518290611faa908590613c6d565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909316600484015260248301919091526044820152606401610d0b565b6040808501516001600160a01b03165f90815260026020529081208054849290612020908490613c6d565b90915550506020808501516001600160a01b03165f9081526004909152604081208054849290612051908490613c6d565b909155505082516020808601516001600160a01b03165f9081526006909152604081208054909190612084908490613c6d565b90915550506020840151604085015184516120a092919061270a565b5050506119d7565b6002815160028111156120bd576120bd613a1c565b036119ce575f81606001518060200190518101906120db9190613a8b565b602083015181516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091529192505f916001600160a01b039091169062fdd58e90604401602060405180830381865afa158015612149573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061216d91906138f8565b905080826020015111156121cf57602080840151908301516040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482018390526044820152606401610d0b565b6121ef83602001518460400151845f01518560200151866040015161287a565b50506119d7565b6002612201816123a3565b61271082111561226d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665652063616e6e6f74206578636565642031303025000000000000000000006044820152606401610d0b565b60018290556040518281527f74f254e69f1d1aa50fbf15b184112c15530415ac9f4b4bf2b75778c6befd09789060200160405180910390a15050565b5f816001600160a01b03166122c1638b78c6d8195490565b6001600160a01b03161480610a145750638b78c6d8600c9081525f83905260209020546003161515610a14565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fde98bbf0000000000000000000000000000000000000000000000000000000001480610a145750610a1482612cae565b5f6001600160a01b0382161561236b576123666001600160a01b03831630612ad0565b610a14565b4792915050565b610a8c82825f612d03565b638b78c6d819543314611a39576382b429005f526004601cfd5b610a8c82826001612d03565b638b78c6d819543314610a4f57638b78c6d8600c52335f52806020600c205416610a4f576382b429005f526004601cfd5b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b5f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081178255815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556124c690829061240f565b6040516001600160a01b03821681527f11dd8c34fa7e859614e12db6445bd13eb507b6e1a382ae61214d4e5c349df0729060200160405180910390a150565b5f8360800151858151811061251c5761251c6134af565b6020908102919091018101516001600160a01b0381165f90815260028352604080822054600390945281205491935081856125578886613c80565b6125619190613c97565b61256b919061349c565b90506125778183613c6d565b6001600160a01b0385165f8181526003602090815260408083209490945583517f38d52e0f000000000000000000000000000000000000000000000000000000008152935191936338d52e0f92600480830193928290030181865afa1580156125e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126069190613ccf565b60e08901516001600160a01b0382165f908152600460205260408120805493945091928592919061263890849061349c565b90915550505f839003612677576040517fb2e783cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846126828486613c6d565b036126ad576001600160a01b0386165f90815260026020908152604080832083905560039091528120555b806001600160a01b03168a8c7ff44ff640e648077f3acc130c6ce75240070e8c40adc85b0feeeec28d9dd921b4866040516126ea91815260200190565b60405180910390a46126fd82828561270a565b5050505050505050505050565b3068929eee149b4bd2126854036127285763ab143c065f526004601cfd5b3068929eee149b4bd21268556001600160a01b03821661278e576040517fbf182be80000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260448101829052606401610d0b565b61279783610a1a565b8111156127f257826127a884610a1a565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260448101829052606401610d0b565b6001600160a01b03831661280f5761280a8282612d5a565b612823565b6128236001600160a01b0384168383612d73565b604080516001600160a01b038481168252602082018490528516917fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd43542910160405180910390a23868929eee149b4bd2126855505050565b3068929eee149b4bd2126854036128985763ab143c065f526004601cfd5b3068929eee149b4bd21268556001600160a01b0384166128fe576040517fbf182be80000000000000000000000000000000000000000000000000000000081526001600160a01b0380871660048301528516602482015260448101839052606401610d0b565b6129088584611d77565b821115612964578461291a8685611d77565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260448101839052606401610d0b565b6001600160a01b0385165f90815260076020908152604080832086845290915281208054849290612996908490613c6d565b90915550506040517ff242432a0000000000000000000000000000000000000000000000000000000081526001600160a01b0386169063f242432a906129e89030908890889088908890600401613b77565b5f604051808303815f87803b1580156129ff575f80fd5b505af1158015612a11573d5f803e3d5ffd5b5050604080516001600160a01b03888116825260208201879052891693507fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd4354292500160405180910390a23868929eee149b4bd21268555050505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612ac257803d873b151710612ac257637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f80612b4b336122a9565b612b81576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040518060400160405280306001600160a01b0316815260200188888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250506040519293508a9290915081906001600160a01b0384169063dd98558c90612bff908790602001613cea565b6040516020818303038152906040528a8a6040518463ffffffff1660e01b8152600401612c2e93929190613d1f565b60408051808303815f875af1158015612c49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6d9190613d43565b6001600160a01b0381165f90815260066020526040812080549395509193508492612c9990849061349c565b90915550919b909a5098505050505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fde98bbf0000000000000000000000000000000000000000000000000000000001480610a145750610a1482612dc6565b638b78c6d8600c52825f526020600c20805483811783612d24575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f385f3884865af1610a8c5763b12d13eb5f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612dbc57803d853b151710612dbc576390b8ec185f526004601cfd5b505f603452505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5fbfaa4e000000000000000000000000000000000000000000000000000000001480612e5857507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b80612ea457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b80610a145750610a14825f7fffffffff0000000000000000000000000000000000000000000000000000000082167fe49cedd7000000000000000000000000000000000000000000000000000000001480610a145750610a14825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d000000000000000000000000000000000000000000000000000000001480610a1457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610a14565b5f60208284031215612fa4575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611dfd575f80fd5b6001600160a01b0381168114610a4f575f80fd5b5f60208284031215612ff7575f80fd5b8135611dfd81612fd3565b5f60208284031215613012575f80fd5b5035919050565b5f8083601f840112613029575f80fd5b50813567ffffffffffffffff811115613040575f80fd5b602083019150836020828501011115613057575f80fd5b9250929050565b5f805f805f60808688031215613072575f80fd5b853561307d81612fd3565b9450602086013567ffffffffffffffff811115613098575f80fd5b6130a488828901613019565b9699909850959660408101359660609091013595509350505050565b5f80604083850312156130d1575f80fd5b82356130dc81612fd3565b946020939093013593505050565b5f8083601f8401126130fa575f80fd5b50813567ffffffffffffffff811115613111575f80fd5b6020830191508360208260051b8501011115613057575f80fd5b5f805f806040858703121561313e575f80fd5b843567ffffffffffffffff811115613154575f80fd5b613160878288016130ea565b909550935050602085013567ffffffffffffffff81111561317f575f80fd5b61318b878288016130ea565b95989497509550505050565b5f80602083850312156131a8575f80fd5b823567ffffffffffffffff8111156131be575f80fd5b6131ca85828601613019565b90969095509350505050565b5f80604083850312156131e7575f80fd5b50508035926020909101359150565b5f805f60608486031215613208575f80fd5b833561321381612fd3565b95602085013595506040909401359392505050565b5f8060208385031215613239575f80fd5b823567ffffffffffffffff81111561324f575f80fd5b6131ca858286016130ea565b5f805f805f6080868803121561326f575f80fd5b853561327a81612fd3565b94506020860135935060408601359250606086013567ffffffffffffffff8111156132a3575f80fd5b6132af88828901613019565b969995985093965092949392505050565b5f805f805f8060a087890312156132d5575f80fd5b86356132e081612fd3565b9550602087013567ffffffffffffffff8111156132fb575f80fd5b61330789828a01613019565b909650945050604087013561331b81612fd3565b959894975092956060810135946080909101359350915050565b5f805f805f805f8060a0898b03121561334c575f80fd5b883561335781612fd3565b9750602089013561336781612fd3565b9650604089013567ffffffffffffffff811115613382575f80fd5b61338e8b828c016130ea565b909750955050606089013567ffffffffffffffff8111156133ad575f80fd5b6133b98b828c016130ea565b909550935050608089013567ffffffffffffffff8111156133d8575f80fd5b6133e48b828c01613019565b999c989b5096995094979396929594505050565b5f805f805f8060a0878903121561340d575f80fd5b863561341881612fd3565b9550602087013561342881612fd3565b94506040870135935060608701359250608087013567ffffffffffffffff811115613451575f80fd5b61345d89828a01613019565b979a9699509497509295939492505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610a1457610a1461346f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8015158114610a4f575f80fd5b5f602082840312156134f9575f80fd5b8135611dfd816134dc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff8111828210171561355457613554613504565b60405290565b604051610100810167ffffffffffffffff8111828210171561355457613554613504565b6040516060810167ffffffffffffffff8111828210171561355457613554613504565b604051601f8201601f1916810167ffffffffffffffff811182821017156135ca576135ca613504565b604052919050565b5f67ffffffffffffffff8211156135eb576135eb613504565b5060051b60200190565b5f82601f830112613604575f80fd5b8135613617613612826135d2565b6135a1565b8082825260208201915060208360051b860101925085831115613638575f80fd5b602085015b8381101561365557803583526020928301920161363d565b5095945050505050565b5f6020828403121561366f575f80fd5b813567ffffffffffffffff811115613685575f80fd5b820160808185031215613696575f80fd5b61369e613531565b81356136a981612fd3565b8152602082013567ffffffffffffffff8111156136c4575f80fd5b8201601f810186136136d4575f80fd5b80356136e2613612826135d2565b8082825260208201915060208360051b850101925088831115613703575f80fd5b6020840193505b8284101561372e57833561371d81612fd3565b82526020938401939091019061370a565b6020850152505050604082013567ffffffffffffffff81111561374f575f80fd5b61375b868285016135f5565b604083015250606091820135918101919091529392505050565b805161378081612fd3565b919050565b5f82601f830112613794575f80fd5b81516137a2613612826135d2565b8082825260208201915060208360051b8601019250858311156137c3575f80fd5b602085015b838110156136555780516137db81612fd3565b8352602092830192016137c8565b805167ffffffffffffffff81168114613780575f80fd5b5f60208284031215613810575f80fd5b815167ffffffffffffffff811115613826575f80fd5b82016101008185031215613838575f80fd5b61384061355a565b61384982613775565b815261385760208301613775565b602082015261386860408301613775565b604082015261387960608301613775565b6060820152608082015167ffffffffffffffff811115613897575f80fd5b6138a386828501613785565b6080830152506138b560a083016137e9565b60a082015260c082810151908201526138d060e08301613775565b60e0820152949350505050565b5f602082840312156138ed575f80fd5b8151611dfd816134dc565b5f60208284031215613908575f80fd5b5051919050565b5f67ffffffffffffffff82111561392857613928613504565b50601f01601f191660200190565b5f60208284031215613946575f80fd5b813567ffffffffffffffff81111561395c575f80fd5b82016080818503121561396d575f80fd5b613975613531565b813560038110613983575f80fd5b8152602082013561399381612fd3565b602082015260408201356139a681612fd3565b6040820152606082013567ffffffffffffffff8111156139c4575f80fd5b80830192505084601f8301126139d8575f80fd5b81356139e66136128261390f565b8181528660208386010111156139fa575f80fd5b816020850160208301375f918101602001919091526060820152949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f6020828403128015613a5a575f80fd5b506040516020810167ffffffffffffffff81118282101715613a7e57613a7e613504565b6040529151825250919050565b5f60208284031215613a9b575f80fd5b815167ffffffffffffffff811115613ab1575f80fd5b820160608185031215613ac2575f80fd5b613aca61357e565b8151815260208083015190820152604082015167ffffffffffffffff811115613af1575f80fd5b80830192505084601f830112613b05575f80fd5b8151613b136136128261390f565b818152866020838601011115613b27575f80fd5b8160208501602083015e5f918101602001919091526040820152949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03861681526001600160a01b038516602082015283604082015282606082015260a060808201525f613bb360a0830184613b49565b979650505050505050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613bf1575f80fd5b83018035915067ffffffffffffffff821115613c0b575f80fd5b602001915036819003821315613057575f80fd5b85815284602082015260806040820152826080820152828460a08301375f60a084830101525f60a0601f19601f86011683010190506001600160a01b03831660608301529695505050505050565b80820180821115610a1457610a1461346f565b8082028115828204841417610a1457610a1461346f565b5f82613cca577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f60208284031215613cdf575f80fd5b8151611dfd81612fd3565b602081526001600160a01b0382511660208201525f6020830151604080840152613d176060840182613b49565b949350505050565b606081525f613d316060830186613b49565b60208301949094525060400152919050565b5f8060408385031215613d54575f80fd5b82516020840151909250613d6781612fd3565b80915050925092905056fea264697066735822122094e4a43d3eef4f57a37d0c9e7b8095238f9305dbed19758d472ae5a26c699ad464736f6c634300081a0033",w=class w extends _.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=e.r}async allocate(f,b){return await this.awaitResult(this.allocateRaw(f,b))}async allocateRaw(f,b){const{request:a,result:d}=await e.R1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.o1(this._config,a),result:d}}async clawback(f,b){return await this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:a,result:d}=await e.O1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.u1(this._config,a),result:d}}async clawbackFromTarget(f,b,a,d,c){return await this.awaitResult(this.clawbackFromTargetRaw(f,b,a,d,c))}async clawbackFromTargetRaw(f,b,a,d,c){const{request:s,result:n}=await e.E1(this._config,{address:this.assertValidAddress(),args:[f,b,BigInt(a),BigInt(d)],...this.optionallyAttachAccount(),...c});return{hash:await e.l1(this._config,s),result:n}}async disburse(f,b){return await this.awaitResult(this.disburseRaw(f,b))}async disburseRaw(f,b){const{request:a,result:d}=await e.z1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.d1(this._config,a),result:d}}async disburseBatch(f,b){return await this.awaitResult(this.disburseBatchRaw(f,b))}async disburseBatchRaw(f,b){const{request:a,result:d}=await e.B1(this._config,{address:this.assertValidAddress(),args:[f.map(r.prepareTransfer)],...this.optionallyAttachAccount(),...b});return{hash:await e.c1(this._config,a),result:d}}async payManagementFee(f,b,a,d){return a?await this.awaitResult(this.payManagementFeeWithCoreRaw(a,f,b)):await this.awaitResult(this.payManagementFeeRaw(f,b,d))}async payManagementFeeRaw(f,b,a){const{request:d,result:c}=await e.Xk(this._config,{address:this.assertValidAddress(),args:[f,b],...this.optionallyAttachAccount(),...a});return{hash:await e.Ek(this._config,d),result:c}}async payManagementFeeWithCoreRaw(f,b,a,d){const{request:c,result:s}=await e.IS(this._config,{address:this.assertValidAddress(),args:[f,b,a],...this.optionallyAttachAccount(),...d});return{hash:await e.KP(this._config,c),result:s}}async setManagementFee(f,b){return await this.awaitResult(this.setManagementFeeRaw(f,b))}async setManagementFeeRaw(f,b){const{request:a,result:d}=await e.VS(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await e.rS(this._config,a),result:d}}async managementFee(f){return await e.VP(this._config,{address:this.assertValidAddress(),args:[],...f})}owner(f){return e.t1(this._config,{address:this.assertValidAddress(),args:[],...f})}total(f=t.zeroAddress,b,a){return e.s1(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}available(f=t.zeroAddress,b,a){return e.j0(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}distributed(f=t.zeroAddress,b,a){return e.$0(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}buildParameters(f,b){var c;const[a,d]=this.validateDeploymentConfig(f,b);if(!a.owner||a.owner===t.zeroAddress){const s=d.account?d.account.address:d.config?p.getAccount(d.config).address:(c=this._account)==null?void 0:c.address;if(s)a.owner=s;else throw new R.DeployableUnknownOwnerProvidedError}return{abi:e.r,bytecode:M,args:[T(a)],...this.optionallyAttachAccount(d.account)}}};w.bases={31337:void 0,...m.ManagedBudgetWithFees},w.registryType=B.RegistryType.BUDGET;let u=w;const T=({owner:i,authorized:f,roles:b,managementFee:a})=>t.encodeAbiParameters(t.parseAbiParameters(["ManagedBudgetWithFeesV2Payload payload","struct ManagedBudgetWithFeesV2Payload { address owner; address[] authorized; uint256[] roles; uint256 managementFee; }"]),[{owner:i,authorized:f,roles:b,managementFee:a}]),P="0x6080604052348015600e575f80fd5b506131eb8061001c5f395ff3fe6080604052600436106102a3575f3560e01c8063715018a61161016d578063dcc21361116100ca578063f8724aba1161007e578063fa4ca9b111610063578063fa4ca9b1146107e4578063fe9fbb8014610803578063fee81cf414610822576102aa565b8063f8724aba146107ca578063f9a802c3146105e9576102aa565b8063f04e283e116100af578063f04e283e1461075f578063f23a6e6114610772578063f2fde38b146107b7576102aa565b8063dcc213611461072c578063ec87621c1461074b576102aa565b80639e247d1911610121578063bc197c8111610106578063bc197c81146106c6578063be4994f81461070d578063d2514e8414610500576102aa565b80639e247d191461066a578063b30057931461067d576102aa565b806375b238fc1161015257806375b238fc146105d5578063774c33ab146105e95780638da5cb5b14610637576102aa565b8063715018a6146105ba578063753b92f9146105c2576102aa565b8063439fab911161021b57806354d1f13d116101cf5780635aef467a116101b45780635aef467a1461054157806361400c99146105545780636afdd85014610573576102aa565b806354d1f13d146104f8578063578bcf3514610500576102aa565b8063474f5a4411610200578063474f5a44146104915780634a4ee7b1146104b0578063514e62fc146104c3576102aa565b8063439fab9114610451578063451cc19114610470576102aa565b80631cd64df41161027257806328d6183b1161025757806328d6183b146103a25780632de94807146104015780634359d28a14610432576102aa565b80631cd64df414610365578063256929621461039a576102aa565b806301ffc9a7146102dc57806310098ad514610310578063183a4f6e1461033d5780631c10893f14610352576102aa565b366102aa57005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3480156102e7575f80fd5b506102fb6102f6366004612466565b610853565b60405190151581526020015b60405180910390f35b34801561031b575f80fd5b5061032f61032a3660046124cd565b505f90565b604051908152602001610307565b61035061034b3660046124e8565b610946565b005b6103506103603660046124ff565b610953565b348015610370575f80fd5b506102fb61037f3660046124ff565b638b78c6d8600c9081525f9290925260209091205481161490565b610350610969565b3480156103ad575f80fd5b507f2929d19c000000000000000000000000000000000000000000000000000000005b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610307565b34801561040c575f80fd5b5061032f61041b3660046124cd565b638b78c6d8600c9081525f91909152602090205490565b34801561043d575f80fd5b5061035061044c366004612571565b6109b6565b34801561045c575f80fd5b5061035061046b36600461261b565b610ab0565b34801561047b575f80fd5b5061032f61048a36600461261b565b5f92915050565b34801561049c575f80fd5b5061032f6104ab36600461261b565b610b34565b6103506104be3660046124ff565b610b3d565b3480156104ce575f80fd5b506102fb6104dd3660046124ff565b638b78c6d8600c9081525f9290925260209091205416151590565b610350610b4f565b34801561050b575f80fd5b5061032f61051a3660046124cd565b73ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205490565b6102fb61054f36600461261b565b610b88565b34801561055f575f80fd5b506102fb61056e36600461265a565b610bbb565b34801561057e575f80fd5b506105956e22d473030f116ddee9f6b43ac78ba381565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610307565b610350610c0c565b6103506105d036600461268d565b610c1f565b3480156105e0575f80fd5b5061032f600281565b3480156105f4575f80fd5b5061032f6106033660046124ff565b73ffffffffffffffffffffffffffffffffffffffff919091165f908152600160209081526040808320938352929052205490565b348015610642575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610595565b61035061067836600461274f565b61100e565b348015610688575f80fd5b5061069c6106973660046127d1565b611179565b6040805192835273ffffffffffffffffffffffffffffffffffffffff909116602083015201610307565b3480156106d1575f80fd5b506103d06106e0366004612833565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b348015610718575f80fd5b50610350610727366004612571565b61137c565b348015610737575f80fd5b50610350610746366004612571565b61141a565b348015610756575f80fd5b5061032f600181565b61035061076d3660046124cd565b6114b8565b34801561077d575f80fd5b506103d061078c3660046128f6565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6103506107c53660046124cd565b6114f2565b3480156107d5575f80fd5b5061032f61048a3660046124ff565b3480156107ef575f80fd5b506102fb6107fe36600461261b565b611518565b34801561080e575f80fd5b506102fb61081d3660046124cd565b611726565b34801561082d575f80fd5b5061032f61083c3660046124cd565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f2929d19c0000000000000000000000000000000000000000000000000000000014806108e557507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061093157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b80610940575061094082611753565b92915050565b61095033826117a8565b50565b61095b6117b3565b61096582826117e8565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60026109c1816117f4565b8382146109fa576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610aa8575f848483818110610a1757610a1761296d565b9050602002016020810190610a2c919061299a565b9050801515600103610a6e57610a69878784818110610a4d57610a4d61296d565b9050602002016020810190610a6291906124cd565b60016117e8565b610a9f565b610a9f878784818110610a8357610a8361296d565b9050602002016020810190610a9891906124cd565b60016117a8565b506001016109fc565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610b015760018160011c14303b10610af85763f92ee8a95f526004601cfd5b818160ff1b1b91505b506040517f7a7da9f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6102aa6117b3565b610b456117b3565b61096582826117a8565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805b82811015610c0257610bed848483818110610bdb57610bdb61296d565b90506020028101906107fe91906129b9565b610bfa575f915050610940565b600101610bbe565b5060019392505050565b610c146117b3565b610c1d5f611840565b565b604080516020810190915260608152610c38818a6118a5565b505f8967ffffffffffffffff811115610c5357610c53612a1a565b604051908082528060200260200182016040528015610c9757816020015b604080518082019091525f8082526020820152815260200190600190039081610c715790505b5090505f8a67ffffffffffffffff811115610cb457610cb4612a1a565b604051908082528060200260200182016040528015610cf857816020015b604080518082019091525f8082526020820152815260200190600190039081610cd25790505b5090505f805b8c811015610e52575f8e8e83818110610d1957610d1961296d565b9050602002810190610d2b91906129b9565b810190610d389190612b0f565b9050600181516002811115610d4f57610d4f612bfa565b03610e02575f805f610d61845f6118e2565b92509250925080955060405180604001604052803073ffffffffffffffffffffffffffffffffffffffff16815260200183815250888681518110610da757610da761296d565b602002602001018190525060405180604001604052808473ffffffffffffffffffffffffffffffffffffffff16815260200183815250878681518110610def57610def61296d565b6020026020010181905250505050610e31565b610e2e8f8f84818110610e1757610e1761296d565b9050602002810190610e2991906129b9565b611a06565b92505b604080516060815290528551600583901b0160200183905250600101610cfe565b50604080516060810182528381526020810188905280820187905290517fedd9444b0000000000000000000000000000000000000000000000000000000081526e22d473030f116ddee9f6b43ac78ba39163edd9444b91610ebe9190879033908e908e90600401612cac565b5f604051808303815f87803b158015610ed5575f80fd5b505af1158015610ee7573d5f803e3d5ffd5b50506040517fe21ff73100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8e16925063e21ff7319150610f3f908d908d90600401612d87565b5f604051808303815f875af1158015610f5a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f819190810190612e52565b505f610f8b855190565b90505f5b8151811015610ffd575f610fb9838381518110610fae57610fae61296d565b602002602001015190565b9050805c15610ff4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101610f8f565b505050505050505050505050505050565b60408051602081019091526060815261102781866118a5565b505f5b85811015611067575f611048888884818110610e1757610e1761296d565b604080516060815290528351600584901b01602001525060010161102a565b506040517fe21ff73100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063e21ff731906110bc9086908690600401612d87565b5f604051808303815f875af11580156110d7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110fe9190810190612e52565b505f611108825190565b90505f5b815181101561116f575f61112b838381518110610fae57610fae61296d565b9050805c15611166576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161110c565b5050505050505050565b5f805f8773ffffffffffffffffffffffffffffffffffffffff166313c8e2de866040518263ffffffff1660e01b81526004016111b791815260200190565b5f60405180830381865afa1580156111d1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111f89190810190612e52565b90508060e0015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611263576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60405180604001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200189898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250506040519293508b92909150819073ffffffffffffffffffffffffffffffffffffffff84169063dd98558c906112fb908790602001612f5d565b6040516020818303038152906040528b8b6040518463ffffffff1660e01b815260040161132a93929190612f97565b60408051808303815f875af1158015611345573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113699190612fbb565b909d909c509a5050505050505050505050565b6002611387816117f4565b8382146113c0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610aa8576114128686838181106113df576113df61296d565b90506020020160208101906113f491906124cd565b8585848181106114065761140661296d565b905060200201356117e8565b6001016113c2565b6002611425816117f4565b83821461145e576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610aa8576114b086868381811061147d5761147d61296d565b905060200201602081019061149291906124cd565b8585848181106114a4576114a461296d565b905060200201356117a8565b600101611460565b6114c06117b3565b63389a75e1600c52805f526020600c2080544211156114e657636f5e88185f526004601cfd5b5f905561095081611840565b6114fa6117b3565b8060601b61150f57637448fbae5f526004601cfd5b61095081611840565b5f8061152683850185612b0f565b905060018151600281111561153d5761153d612bfa565b148061155a57505f8151600281111561155857611558612bfa565b145b1561162f575f81606001518060200190518101906115789190612fea565b90505f61159e836020015173ffffffffffffffffffffffffffffffffffffffff16908190565b508251909150815c9081101561161157602084015183516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820183905260448201526064015b60405180910390fd5b61162784602001518560400151855f0151611ce2565b505050610c02565b60028151600281111561164457611644612bfa565b0361171d575f8160600151806020019051810190611662919061302c565b90505f61167783602001518360200151611edc565b5090505f815c905080836020015111156116ec57602080850151908401516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092166004830152602482018390526044820152606401611608565b60208301516116fc908390611f41565b5061162784602001518560400151855f015186602001518760400151611f59565b5f915050610940565b5f3073ffffffffffffffffffffffffffffffffffffffff83160361174c57506001919050565b505f919050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fe49cedd7000000000000000000000000000000000000000000000000000000001480610940575061094082612185565b61096582825f61221b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610c1d576382b429005f526004601cfd5b6109658282600161221b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461095057638b78c6d8600c52335f52806020600c205416610950576382b429005f526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60408051606081529052816118ba8183612272565b50805180518084106118d85780840360051b368260010160051b8401375b5091909152919050565b5f805f8085606001518060200190518101906118fe9190612fea565b905084156119ba576040860151815160208801516119369273ffffffffffffffffffffffffffffffffffffffff90911691309061234e565b8051602087015161195d9073ffffffffffffffffffffffffffffffffffffffff16306123b0565b10156119ba57602086015181516040517fcece04c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401611608565b5f806119df886020015173ffffffffffffffffffffffffffffffffffffffff16908190565b845191935091506119f19083906123e3565b50915160209097015197919550909350505050565b5f80611a1483850185612b0f565b90505f81516002811115611a2a57611a2a612bfa565b03611ac6575f8160600151806020019051810190611a489190612fea565b80519091503414611aaa57602082015181516040517fcece04c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401611608565b80515f908190611abb9082906123e3565b509350611cdb915050565b600181516002811115611adb57611adb612bfa565b03611af7575f611aec8260016118e2565b9450611cdb92505050565b600281516002811115611b0c57611b0c612bfa565b036102aa575f8160600151806020019051810190611b2a919061302c565b9050816020015173ffffffffffffffffffffffffffffffffffffffff1663f242432a836040015130845f0151856020015186604001516040518663ffffffff1660e01b8152600401611b809594939291906130ea565b5f604051808303815f87803b158015611b97575f80fd5b505af1158015611ba9573d5f803e3d5ffd5b5050506020808301519084015183516040517efdd58e000000000000000000000000000000000000000000000000000000008152306004820152602481019190915291925073ffffffffffffffffffffffffffffffffffffffff169062fdd58e90604401602060405180830381865afa158015611c28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4c919061314b565b1015611cac57602080830151908201516040517fcece04c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401611608565b5f80611cc084602001518460200151611edc565b91509150611abb8360200151836123e390919063ffffffff16565b5092915050565b3068929eee149b4bd212685403611d005763ab143c065f526004601cfd5b3068929eee149b4bd212685573ffffffffffffffffffffffffffffffffffffffff83811690815c908416611d87576040517fbf182be800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80871660048301528516602482015260448101849052606401611608565b80831115611de7576040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201526024810182905260448101849052606401611608565b611df18284611f41565b5073ffffffffffffffffffffffffffffffffffffffff85165f9081526020819052604081208054859290611e2690849061318f565b909155505073ffffffffffffffffffffffffffffffffffffffff8516611e5557611e5084846123f3565b611e76565b611e7673ffffffffffffffffffffffffffffffffffffffff8616858561240c565b6040805173ffffffffffffffffffffffffffffffffffffffff8681168252602082018690528716917fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd43542910160405180910390a250503868929eee149b4bd2126855505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b166020820152603481018290525f908190605401604051602081830303815290604052805190602001209050611f388190565b91509250929050565b5f61094083611f5184825c6131a2565b92508261245f565b3068929eee149b4bd212685403611f775763ab143c065f526004601cfd5b3068929eee149b4bd212685573ffffffffffffffffffffffffffffffffffffffff8416611ff7576040517fbf182be800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80871660048301528516602482015260448101839052606401611608565b8115612054576040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201525f602482015260448101839052606401611608565b73ffffffffffffffffffffffffffffffffffffffff85165f9081526001602090815260408083208684529091528120805484929061209390849061318f565b90915550506040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169063f242432a906120f290309088908890889088906004016130ea565b5f604051808303815f87803b158015612109575f80fd5b505af115801561211b573d5f803e3d5ffd5b50506040805173ffffffffffffffffffffffffffffffffffffffff888116825260208201879052891693507fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd4354292500160405180910390a23868929eee149b4bd21268555050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061094057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610940565b638b78c6d8600c52825f526020600c2080548381178361223c575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b604080516060815290528163ffffffff821061228a57fe5b8251661d174b32e2c553606082036122c157604080516001860160051b92830281525f602082019081529201810190528452611cdb565b601f1980830151828106158382040290508560051b81811185518811166122eb5750505050611cdb565b816020018501604051036123115792830291840191909152508101602001604052611cdb565b604051915060208201816020018101604052808952855160051b6020015b868101518282015284018061232f575093029052509051905292915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166123a257803d873b1517106123a257637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b5f61094083611f5184825c61318f565b5f385f3884865af16109655763b12d13eb5f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661245557803d853b151710612455576390b8ec185f526004601cfd5b505f603452505050565b80825d5050565b5f60208284031215612476575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146124a5575f80fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610950575f80fd5b5f602082840312156124dd575f80fd5b81356124a5816124ac565b5f602082840312156124f8575f80fd5b5035919050565b5f8060408385031215612510575f80fd5b823561251b816124ac565b946020939093013593505050565b5f8083601f840112612539575f80fd5b50813567ffffffffffffffff811115612550575f80fd5b6020830191508360208260051b850101111561256a575f80fd5b9250929050565b5f805f8060408587031215612584575f80fd5b843567ffffffffffffffff81111561259a575f80fd5b6125a687828801612529565b909550935050602085013567ffffffffffffffff8111156125c5575f80fd5b6125d187828801612529565b95989497509550505050565b5f8083601f8401126125ed575f80fd5b50813567ffffffffffffffff811115612604575f80fd5b60208301915083602082850101111561256a575f80fd5b5f806020838503121561262c575f80fd5b823567ffffffffffffffff811115612642575f80fd5b61264e858286016125dd565b90969095509350505050565b5f806020838503121561266b575f80fd5b823567ffffffffffffffff811115612681575f80fd5b61264e85828601612529565b5f805f805f805f805f60c08a8c0312156126a5575f80fd5b893567ffffffffffffffff8111156126bb575f80fd5b6126c78c828d01612529565b909a5098505060208a01356126db816124ac565b965060408a013567ffffffffffffffff8111156126f6575f80fd5b6127028c828d016125dd565b90975095505060608a013567ffffffffffffffff811115612721575f80fd5b61272d8c828d016125dd565b9a9d999c50979a96999598959660808101359660a09091013595509350505050565b5f805f805f60608688031215612763575f80fd5b853567ffffffffffffffff811115612779575f80fd5b61278588828901612529565b9096509450506020860135612799816124ac565b9250604086013567ffffffffffffffff8111156127b4575f80fd5b6127c0888289016125dd565b969995985093965092949392505050565b5f805f805f608086880312156127e5575f80fd5b85356127f0816124ac565b9450602086013567ffffffffffffffff81111561280b575f80fd5b612817888289016125dd565b9699909850959660408101359660609091013595509350505050565b5f805f805f805f8060a0898b03121561284a575f80fd5b8835612855816124ac565b97506020890135612865816124ac565b9650604089013567ffffffffffffffff811115612880575f80fd5b61288c8b828c01612529565b909750955050606089013567ffffffffffffffff8111156128ab575f80fd5b6128b78b828c01612529565b909550935050608089013567ffffffffffffffff8111156128d6575f80fd5b6128e28b828c016125dd565b999c989b5096995094979396929594505050565b5f805f805f8060a0878903121561290b575f80fd5b8635612916816124ac565b95506020870135612926816124ac565b94506040870135935060608701359250608087013567ffffffffffffffff81111561294f575f80fd5b61295b89828a016125dd565b979a9699509497509295939492505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156129aa575f80fd5b813580151581146124a5575f80fd5b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126129ec575f80fd5b83018035915067ffffffffffffffff821115612a06575f80fd5b60200191503681900382131561256a575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715612a6a57612a6a612a1a565b60405290565b604051610100810167ffffffffffffffff81118282101715612a6a57612a6a612a1a565b6040516060810167ffffffffffffffff81118282101715612a6a57612a6a612a1a565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ae057612ae0612a1a565b604052919050565b5f67ffffffffffffffff821115612b0157612b01612a1a565b50601f01601f191660200190565b5f60208284031215612b1f575f80fd5b813567ffffffffffffffff811115612b35575f80fd5b820160808185031215612b46575f80fd5b612b4e612a47565b813560038110612b5c575f80fd5b81526020820135612b6c816124ac565b60208201526040820135612b7f816124ac565b6040820152606082013567ffffffffffffffff811115612b9d575f80fd5b80830192505084601f830112612bb1575f80fd5b8135612bc4612bbf82612ae8565b612ab7565b818152866020838601011115612bd8575f80fd5b816020850160208301375f918101602001919091526060820152949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f8151808452602084019350602083015f5b82811015612c79578151805173ffffffffffffffffffffffffffffffffffffffff1687526020908101518188015260409096019590910190600101612c39565b5093949350505050565b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b608081525f60e08201875160606080850152818151808452610100860191506020830193505f92505b80831015612d1b57835173ffffffffffffffffffffffffffffffffffffffff81511683526020810151602084015250604082019150602084019350600183019250612cd5565b5060208a015160a086015260408a015160c08601528481036020860152612d42818a612c27565b92505050612d68604084018773ffffffffffffffffffffffffffffffffffffffff169052565b8281036060840152612d7b818587612c83565b98975050505050505050565b602081525f612d9a602083018486612c83565b949350505050565b8051612dad816124ac565b919050565b5f82601f830112612dc1575f80fd5b815167ffffffffffffffff811115612ddb57612ddb612a1a565b8060051b612deb60208201612ab7565b91825260208185018101929081019086841115612e06575f80fd5b6020860192505b83831015612e31578251612e20816124ac565b825260209283019290910190612e0d565b9695505050505050565b805167ffffffffffffffff81168114612dad575f80fd5b5f60208284031215612e62575f80fd5b815167ffffffffffffffff811115612e78575f80fd5b82016101008185031215612e8a575f80fd5b612e92612a70565b612e9b82612da2565b8152612ea960208301612da2565b6020820152612eba60408301612da2565b6040820152612ecb60608301612da2565b6060820152608082015167ffffffffffffffff811115612ee9575f80fd5b612ef586828501612db2565b608083015250612f0760a08301612e3b565b60a082015260c08281015190820152612f2260e08301612da2565b60e0820152949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6020815273ffffffffffffffffffffffffffffffffffffffff82511660208201525f6020830151604080840152612d9a6060840182612f2f565b606081525f612fa96060830186612f2f565b60208301949094525060400152919050565b5f8060408385031215612fcc575f80fd5b82516020840151909250612fdf816124ac565b809150509250929050565b5f6020828403128015612ffb575f80fd5b506040516020810167ffffffffffffffff8111828210171561301f5761301f612a1a565b6040529151825250919050565b5f6020828403121561303c575f80fd5b815167ffffffffffffffff811115613052575f80fd5b820160608185031215613063575f80fd5b61306b612a94565b8151815260208083015190820152604082015167ffffffffffffffff811115613092575f80fd5b80830192505084601f8301126130a6575f80fd5b81516130b4612bbf82612ae8565b8181528660208386010111156130c8575f80fd5b8160208501602083015e5f918101602001919091526040820152949350505050565b73ffffffffffffffffffffffffffffffffffffffff8616815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015282606082015260a060808201525f61314060a0830184612f2f565b979650505050505050565b5f6020828403121561315b575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561094057610940613162565b818103818111156109405761094061316256fea2646970667358221220939d361b5e90e1226b2c60a1dd15199ed11a5562d5a9b8397ea79704761e263364736f6c634300081a0033",y=class y extends _.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=e.b}async clawbackFromTarget(f,b,a,d,c){return await this.awaitResult(this.clawbackFromTargetRaw(f,b,a,d,c))}async clawbackFromTargetRaw(f,b,a,d,c){const{request:s,result:n}=await e.jU(this._config,{address:this.assertValidAddress(),args:[f,b,BigInt(a),BigInt(d)],...this.optionallyAttachAccount(),...c});return{hash:await e.RU(this._config,s),result:n}}async disburse(f,b){return await this.awaitResult(this.disburseRaw(f,b))}async disburseRaw(f,b){const{request:a,result:d}=await e.KU(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.VU(this._config,a),result:d}}async disburseBatch(f,b){return await this.awaitResult(this.disburseBatchRaw(f,b))}async disburseBatchRaw(f,b){const{request:a,result:d}=await e.XU(this._config,{address:this.assertValidAddress(),args:[f.map(r.prepareTransfer)],...this.optionallyAttachAccount(),...b});return{hash:await e.zU(this._config,a),result:d}}total(f=t.zeroAddress,b,a){return e.IU(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}distributed(f=t.zeroAddress,b,a){return e.lU(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}buildParameters(f,b){const[a,d]=this.validateDeploymentConfig({},b);return{abi:e.b,bytecode:P,args:[t.zeroHash],...this.optionallyAttachAccount(d.account)}}};y.bases={31337:void 0,...m.TransparentBudget},y.registryType=B.RegistryType.BUDGET;let l=y;const A={[o.AManagedBudget]:r.ManagedBudget,[o.AManagedBudgetWithFees]:h,[o.AManagedBudgetWithFeesV2]:u,[o.ATransparentBudget]:l};async function k(i,f,b){const a=await p.readContract(i.config,{abi:e.O,functionName:"getComponentInterface",address:f,...b}),d=A[a];if(!d)throw new R.InvalidComponentInterfaceError(Object.keys(A),a);return new d(i,f)}exports.BudgetByComponentInterface=A;exports.ManagedBudgetWithFees=h;exports.ManagedBudgetWithFeesV2=u;exports.TransparentBudget=l;exports.budgetFromAddress=k;exports.prepareManagedBudgetWithFeesPayload=V;exports.prepareManagedBudgetWithFeesV2Payload=T;
2
- //# sourceMappingURL=Budget-uGKa2qzz.cjs.map
1
+ "use strict";const e=require("./generated-C_JEoLDO.cjs"),o=require("./componentInterfaces-C5ig8mCK.cjs"),p=require("@wagmi/core"),R=require("./errors.cjs"),r=require("./Budgets/ManagedBudget.cjs"),t=require("viem"),m=require("./deployments-DKScOGTf.cjs"),_=require("./Deployable/DeployableTargetWithRBAC.cjs"),B=require("./utils.cjs"),q="0x6080604052348015600e575f80fd5b506015601f565b601b601f565b6082565b63409feecd1980546001811615603c5763f92ee8a95f526004601cfd5b6001600160401b03808260011c14607d578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6137ad8061008f5f395ff3fe6080604052600436106102ea575f3560e01c806375b238fc11610183578063dcc21361116100d5578063f8724aba11610089578063fe56e23211610063578063fe56e232146108e4578063fe9fbb8014610903578063fee81cf414610922576102f1565b8063f8724aba14610887578063f9a802c3146108a6578063fa4ca9b1146108c5576102f1565b8063f04e283e116100ba578063f04e283e1461081c578063f23a6e611461082f578063f2fde38b14610874576102f1565b8063dcc21361146107e9578063ec87621c14610808576102f1565b8063b300579311610137578063c6004a3a11610111578063c6004a3a14610774578063d2514e841461079f578063d8c12d22146107be576102f1565b8063b3005793146106ef578063bc197c811461070e578063be4994f814610755576102f1565b80638da5cb5b116101685780638da5cb5b14610690578063929470eb146106bb578063a6f7f5d6146106da576102f1565b806375b238fc1461063b578063774c33ab1461064f576102f1565b8063439fab911161023c578063514e62fc116101f05780635aef467a116101ca5780635aef467a1461060157806361400c9914610614578063715018a614610633576102f1565b8063514e62fc1461059057806354d1f13d146105c5578063578bcf35146105cd576102f1565b8063451cc19111610221578063451cc1911461053d578063474f5a441461055e5780634a4ee7b11461057d576102f1565b8063439fab91146104ff57806343cc96e11461051e576102f1565b80631c10893f1161029e57806328d6183b1161027857806328d6183b146104505780632de94807146104af5780634359d28a146104e0576102f1565b80631c10893f146104005780631cd64df4146104135780632569296214610448576102f1565b806314135ce0116102cf57806314135ce014610384578063183a4f6e146103af578063185832a3146103c4576102f1565b806301ffc9a71461032357806310098ad514610357576102f1565b366102f157005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34801561032e575f80fd5b5061034261033d3660046129c8565b610953565b60405190151581526020015b60405180910390f35b348015610362575f80fd5b50610376610371366004612a1b565b610963565b60405190815260200161034e565b34801561038f575f80fd5b5061037661039e366004612a1b565b60046020525f908152604090205481565b6103c26103bd366004612a36565b61098e565b005b3480156103cf575f80fd5b506103e36103de366004612a92565b61099b565b604080519283526001600160a01b0390911660208301520161034e565b6103c261040e366004612af4565b6109c3565b34801561041e575f80fd5b5061034261042d366004612af4565b638b78c6d8600c9081525f9290925260209091205481161490565b6103c26109d9565b34801561045b575f80fd5b507fde98bbf0000000000000000000000000000000000000000000000000000000005b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161034e565b3480156104ba575f80fd5b506103766104c9366004612a1b565b638b78c6d8600c9081525f91909152602090205490565b3480156104eb575f80fd5b506103c26104fa366004612b5f565b610a26565b34801561050a575f80fd5b506103c2610519366004612bcb565b610b20565b348015610529575f80fd5b506103c2610538366004612c0a565b610d2a565b348015610548575f80fd5b50610376610557366004612bcb565b5f92915050565b348015610569575f80fd5b50610376610578366004612bcb565b6110b3565b6103c261058b366004612af4565b611269565b34801561059b575f80fd5b506103426105aa366004612af4565b638b78c6d8600c9081525f9290925260209091205416151590565b6103c261127b565b3480156105d8575f80fd5b506103766105e7366004612a1b565b6001600160a01b03165f9081526005602052604090205490565b61034261060f366004612bcb565b6112b4565b34801561061f575f80fd5b5061034261062e366004612c2a565b6115b4565b6103c26115fb565b348015610646575f80fd5b50610376600281565b34801561065a575f80fd5b50610376610669366004612af4565b6001600160a01b03919091165f908152600660209081526040808320938352929052205490565b34801561069b575f80fd5b50638b78c6d819546040516001600160a01b03909116815260200161034e565b3480156106c6575f80fd5b506103426106d5366004612c5d565b61160e565b3480156106e5575f80fd5b5061037660015481565b3480156106fa575f80fd5b506103e3610709366004612a92565b6116d4565b348015610719575f80fd5b5061047e610728366004612cc2565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b348015610760575f80fd5b506103c261076f366004612b5f565b611842565b34801561077f575f80fd5b5061037661078e366004612a1b565b60036020525f908152604090205481565b3480156107aa575f80fd5b506103766107b9366004612a1b565b6118e0565b3480156107c9575f80fd5b506103766107d8366004612a1b565b60026020525f908152604090205481565b3480156107f4575f80fd5b506103c2610803366004612b5f565b611920565b348015610813575f80fd5b50610376600181565b6103c261082a366004612a1b565b6119be565b34801561083a575f80fd5b5061047e610849366004612d85565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6103c2610882366004612a1b565b6119f8565b348015610892575f80fd5b506103766108a1366004612af4565b611a1e565b3480156108b1575f80fd5b506103766108c0366004612af4565b611aab565b3480156108d0575f80fd5b506103426108df366004612bcb565b611b55565b3480156108ef575f80fd5b506103c26108fe366004612a36565b611e9d565b34801561090e575f80fd5b5061034261091d366004612a1b565b611f50565b34801561092d575f80fd5b5061037661093c366004612a1b565b63389a75e1600c9081525f91909152602090205490565b5f61095d82611f95565b92915050565b6001600160a01b0381165f9081526004602052604081205461098483611fea565b61095d9190612e29565b6109983382612019565b50565b5f806109aa87878787876116d4565b90925090506109b98484610d2a565b9550959350505050565b6109cb612024565b6109d5828261203e565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6002610a318161204a565b838214610a6a576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b18575f848483818110610a8757610a87612e3c565b9050602002016020810190610a9c9190612e76565b9050801515600103610ade57610ad9878784818110610abd57610abd612e3c565b9050602002016020810190610ad29190612a1b565b600161203e565b610b0f565b610b0f878784818110610af357610af3612e3c565b9050602002016020810190610b089190612a1b565b6001612019565b50600101610a6c565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610b715760018160011c14303b10610b685763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610b7f8385018561300a565b9050610b8d815f015161207b565b5f5b816020015151811015610be857610be082602001518281518110610bb557610bb5612e3c565b602002602001015183604001518381518110610bd357610bd3612e3c565b60200260200101516120b6565b600101610b8f565b508060200151515f03610c5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6e6f20636f726520636f6e74726163742073657400000000000000000000000060448201526064015b60405180910390fd5b80602001515f81518110610c7257610c72612e3c565b6020908102919091018101515f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909216919091179055606082015160018190556040519081527f74f254e69f1d1aa50fbf15b184112c15530415ac9f4b4bf2b75778c6befd0978910160405180910390a1508015610d25576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f80546040517f13c8e2de000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b03909116906313c8e2de906024015f60405180830381865afa158015610d89573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610dce91908101906131ab565b90505f81608001518381518110610de757610de7612e3c565b60209081029190910101516040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f7cc1d5bb0000000000000000000000000000000000000000000000000000000060048201529091506001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610e70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e949190613288565b15610f6e575f816001600160a01b031663dcc59b6f6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610ed7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efb91906132a3565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610f3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5f91906132a3565b9050610b1886868685856120f7565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f903181110000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100d9190613288565b156102f1575f816001600160a01b031663d54ad2a16040518163ffffffff1660e01b81526004016020604051808303815f875af1158015611050573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107491906132a3565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3b573d5f803e3d5ffd5b5f60026110bf8161204a565b5f6110cc848601866132ff565b90505f80825160028111156110e3576110e36133e5565b148061110157506001825160028111156110ff576110ff6133e5565b145b15611158575f826060015180602001905181019061111f9190613412565b602084015160408501518251929350611150921561113e5783516122fc565b61114b8660200151610963565b6122fc565b51905061125e565b60028251600281111561116d5761116d6133e5565b03611255575f826060015180602001905181019061118b9190613454565b905061124a83602001518460400151835f015184602001515f146111b3578460200151611240565b602087015185516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091526001600160a01b039091169062fdd58e90604401602060405180830381865afa15801561121c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124091906132a3565b856040015161246c565b60200151905061125e565b92506112629050565b9250505b5092915050565b611271612024565b6109d58282612019565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f806112c2838501856132ff565b90505f815160028111156112d8576112d86133e5565b03611351575f81606001518060200190518101906112f69190613412565b8051909150341461134b57602082015181516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610c53565b506115aa565b600181516002811115611366576113666133e5565b03611413575f81606001518060200190518101906113849190613412565b6040830151815160208501519293506113a9926001600160a01b031691903090612660565b805160208301516113c3906001600160a01b0316306126c2565b101561134b57602082015181516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610c53565b600281516002811115611428576114286133e5565b036115a1575f81606001518060200190518101906114469190613454565b905081602001516001600160a01b031663f242432a836040015130845f0151856020015186604001516040518663ffffffff1660e01b815260040161148f95949392919061355e565b5f604051808303815f87803b1580156114a6575f80fd5b505af11580156114b8573d5f803e3d5ffd5b5050506020808301519084015183516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091529192506001600160a01b03169062fdd58e90604401602060405180830381865afa15801561152a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154e91906132a3565b101561134b57602080830151908201516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610c53565b5f91505061095d565b5060019392505050565b5f805b828110156115aa576115e68484838181106115d4576115d4612e3c565b90506020028101906108df91906135a5565b6115f3575f91505061095d565b6001016115b7565b611603612024565b61160c5f6126f5565b565b5f61161833611f50565b61164e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f1fa2acdc0000000000000000000000000000000000000000000000000000000081526001600160a01b03871690631fa2acdc9061169b9088908890889088903090600401613606565b5f604051808303815f87803b1580156116b2575f80fd5b505af11580156116c4573d5f803e3d5ffd5b5060019998505050505050505050565b5f806116df33611f50565b611715576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040518060400160405280306001600160a01b0316815260200188888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250506040519293508a9290915081906001600160a01b0384169063dd98558c90611793908790602001613672565b6040516020818303038152906040528a8a6040518463ffffffff1660e01b81526004016117c2939291906136a7565b60408051808303815f875af11580156117dd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180191906136cb565b6001600160a01b0381165f9081526005602052604081208054939550919350849261182d908490612e29565b90915550919b909a5098505050505050505050565b600261184d8161204a565b838214611886576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b18576118d88686838181106118a5576118a5612e3c565b90506020020160208101906118ba9190612a1b565b8585848181106118cc576118cc612e3c565b9050602002013561203e565b600101611888565b6001600160a01b0381165f90815260046020908152604080832054600590925282205461190c84610963565b61191691906136fa565b61095d91906136fa565b600261192b8161204a565b838214611964576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b18576119b686868381811061198357611983612e3c565b90506020020160208101906119989190612a1b565b8585848181106119aa576119aa612e3c565b90506020020135612019565b600101611966565b6119c6612024565b63389a75e1600c52805f526020600c2080544211156119ec57636f5e88185f526004601cfd5b5f9055610998816126f5565b611a00612024565b8060601b611a1557637448fbae5f526004601cfd5b610998816126f5565b6040517efdd58e000000000000000000000000000000000000000000000000000000008152306004820152602481018290525f906001600160a01b0384169062fdd58e90604401602060405180830381865afa158015611a80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aa491906132a3565b9392505050565b6001600160a01b0382165f8181526006602090815260408083208584529091528082205490517efdd58e000000000000000000000000000000000000000000000000000000008152306004820152602481018590529192909162fdd58e90604401602060405180830381865afa158015611b27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4b91906132a3565b611aa491906136fa565b5f611b5f33611f50565b611b95576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611ba2838501856132ff565b9050600181516002811115611bb957611bb96133e5565b1480611bd657505f81516002811115611bd457611bd46133e5565b145b15611d4f575f8160600151806020019051810190611bf49190613412565b90505f612710600154835f0151611c0b919061370d565b611c159190613724565b90505f611c258460200151610963565b90508082845f0151611c3791906136fa565b1115611c9c57602084015183518290611c519085906136fa565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909316600484015260248301919091526044820152606401610c53565b6040808501516001600160a01b03165f90815260026020529081208054849290611cc79084906136fa565b90915550506020808501516001600160a01b03165f9081526004909152604081208054849290611cf89084906136fa565b909155505082516020808601516001600160a01b03165f9081526005909152604081208054909190611d2b9084906136fa565b9091555050602084015160408501518451611d479291906122fc565b5050506115aa565b600281516002811115611d6457611d646133e5565b036115a1575f8160600151806020019051810190611d829190613454565b602083015181516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091529192505f916001600160a01b039091169062fdd58e90604401602060405180830381865afa158015611df0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1491906132a3565b90508082602001511115611e7657602080840151908301516040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482018390526044820152606401610c53565b611e9683602001518460400151845f01518560200151866040015161246c565b50506115aa565b6002611ea88161204a565b612710821115611f14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665652063616e6e6f74206578636565642031303025000000000000000000006044820152606401610c53565b60018290556040518281527f74f254e69f1d1aa50fbf15b184112c15530415ac9f4b4bf2b75778c6befd09789060200160405180910390a15050565b5f816001600160a01b0316611f68638b78c6d8195490565b6001600160a01b0316148061095d5750638b78c6d8600c9081525f8390526020902054600316151561095d565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fde98bbf000000000000000000000000000000000000000000000000000000000148061095d575061095d82612732565b5f6001600160a01b038216156120125761200d6001600160a01b038316306126c2565b61095d565b4792915050565b6109d582825f61281f565b638b78c6d81954331461160c576382b429005f526004601cfd5b6109d58282600161281f565b638b78c6d81954331461099857638b78c6d8600c52335f52806020600c205416610998576382b429005f526004601cfd5b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b5f8360800151858151811061210e5761210e612e3c565b6020908102919091018101516001600160a01b0381165f9081526002835260408082205460039094528120549193508185612149888661370d565b6121539190613724565b61215d9190612e29565b905061216981836136fa565b6001600160a01b0385165f8181526003602090815260408083209490945583517f38d52e0f000000000000000000000000000000000000000000000000000000008152935191936338d52e0f92600480830193928290030181865afa1580156121d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121f8919061375c565b60e08901516001600160a01b0382165f908152600460205260408120805493945091928592919061222a908490612e29565b90915550505f839003612269576040517fb2e783cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8461227484866136fa565b0361229f576001600160a01b0386165f90815260026020908152604080832083905560039091528120555b806001600160a01b03168a8c7ff44ff640e648077f3acc130c6ce75240070e8c40adc85b0feeeec28d9dd921b4866040516122dc91815260200190565b60405180910390a46122ef8282856122fc565b5050505050505050505050565b3068929eee149b4bd21268540361231a5763ab143c065f526004601cfd5b3068929eee149b4bd21268556001600160a01b038216612380576040517fbf182be80000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260448101829052606401610c53565b61238983610963565b8111156123e4578261239a84610963565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260448101829052606401610c53565b6001600160a01b038316612401576123fc8282612876565b612415565b6124156001600160a01b038416838361288f565b604080516001600160a01b038481168252602082018490528516917fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd43542910160405180910390a23868929eee149b4bd2126855505050565b3068929eee149b4bd21268540361248a5763ab143c065f526004601cfd5b3068929eee149b4bd21268556001600160a01b0384166124f0576040517fbf182be80000000000000000000000000000000000000000000000000000000081526001600160a01b0380871660048301528516602482015260448101839052606401610c53565b6124fa8584611a1e565b821115612556578461250c8685611a1e565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260448101839052606401610c53565b6001600160a01b0385165f908152600660209081526040808320868452909152812080548492906125889084906136fa565b90915550506040517ff242432a0000000000000000000000000000000000000000000000000000000081526001600160a01b0386169063f242432a906125da903090889088908890889060040161355e565b5f604051808303815f87803b1580156125f1575f80fd5b505af1158015612603573d5f803e3d5ffd5b5050604080516001600160a01b03888116825260208201879052891693507fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd4354292500160405180910390a23868929eee149b4bd21268555050505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166126b457803d873b1517106126b457637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5fbfaa4e0000000000000000000000000000000000000000000000000000000014806127c457507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061281057507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b8061095d575061095d826128e2565b638b78c6d8600c52825f526020600c20805483811783612840575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f385f3884865af16109d55763b12d13eb5f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166128d857803d853b1517106128d8576390b8ec185f526004601cfd5b505f603452505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fe49cedd700000000000000000000000000000000000000000000000000000000148061095d575061095d825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061095d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461095d565b5f602082840312156129d8575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611aa4575f80fd5b6001600160a01b0381168114610998575f80fd5b5f60208284031215612a2b575f80fd5b8135611aa481612a07565b5f60208284031215612a46575f80fd5b5035919050565b5f8083601f840112612a5d575f80fd5b50813567ffffffffffffffff811115612a74575f80fd5b602083019150836020828501011115612a8b575f80fd5b9250929050565b5f805f805f60808688031215612aa6575f80fd5b8535612ab181612a07565b9450602086013567ffffffffffffffff811115612acc575f80fd5b612ad888828901612a4d565b9699909850959660408101359660609091013595509350505050565b5f8060408385031215612b05575f80fd5b8235612b1081612a07565b946020939093013593505050565b5f8083601f840112612b2e575f80fd5b50813567ffffffffffffffff811115612b45575f80fd5b6020830191508360208260051b8501011115612a8b575f80fd5b5f805f8060408587031215612b72575f80fd5b843567ffffffffffffffff811115612b88575f80fd5b612b9487828801612b1e565b909550935050602085013567ffffffffffffffff811115612bb3575f80fd5b612bbf87828801612b1e565b95989497509550505050565b5f8060208385031215612bdc575f80fd5b823567ffffffffffffffff811115612bf2575f80fd5b612bfe85828601612a4d565b90969095509350505050565b5f8060408385031215612c1b575f80fd5b50508035926020909101359150565b5f8060208385031215612c3b575f80fd5b823567ffffffffffffffff811115612c51575f80fd5b612bfe85828601612b1e565b5f805f805f60808688031215612c71575f80fd5b8535612c7c81612a07565b94506020860135935060408601359250606086013567ffffffffffffffff811115612ca5575f80fd5b612cb188828901612a4d565b969995985093965092949392505050565b5f805f805f805f8060a0898b031215612cd9575f80fd5b8835612ce481612a07565b97506020890135612cf481612a07565b9650604089013567ffffffffffffffff811115612d0f575f80fd5b612d1b8b828c01612b1e565b909750955050606089013567ffffffffffffffff811115612d3a575f80fd5b612d468b828c01612b1e565b909550935050608089013567ffffffffffffffff811115612d65575f80fd5b612d718b828c01612a4d565b999c989b5096995094979396929594505050565b5f805f805f8060a08789031215612d9a575f80fd5b8635612da581612a07565b95506020870135612db581612a07565b94506040870135935060608701359250608087013567ffffffffffffffff811115612dde575f80fd5b612dea89828a01612a4d565b979a9699509497509295939492505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561095d5761095d612dfc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8015158114610998575f80fd5b5f60208284031215612e86575f80fd5b8135611aa481612e69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715612ee157612ee1612e91565b60405290565b604051610100810167ffffffffffffffff81118282101715612ee157612ee1612e91565b6040516060810167ffffffffffffffff81118282101715612ee157612ee1612e91565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612f7557612f75612e91565b604052919050565b5f67ffffffffffffffff821115612f9657612f96612e91565b5060051b60200190565b5f82601f830112612faf575f80fd5b8135612fc2612fbd82612f7d565b612f2e565b8082825260208201915060208360051b860101925085831115612fe3575f80fd5b602085015b83811015613000578035835260209283019201612fe8565b5095945050505050565b5f6020828403121561301a575f80fd5b813567ffffffffffffffff811115613030575f80fd5b820160808185031215613041575f80fd5b613049612ebe565b813561305481612a07565b8152602082013567ffffffffffffffff81111561306f575f80fd5b8201601f8101861361307f575f80fd5b803561308d612fbd82612f7d565b8082825260208201915060208360051b8501019250888311156130ae575f80fd5b6020840193505b828410156130d95783356130c881612a07565b8252602093840193909101906130b5565b6020850152505050604082013567ffffffffffffffff8111156130fa575f80fd5b61310686828501612fa0565b604083015250606091820135918101919091529392505050565b805161312b81612a07565b919050565b5f82601f83011261313f575f80fd5b815161314d612fbd82612f7d565b8082825260208201915060208360051b86010192508583111561316e575f80fd5b602085015b8381101561300057805161318681612a07565b835260209283019201613173565b805167ffffffffffffffff8116811461312b575f80fd5b5f602082840312156131bb575f80fd5b815167ffffffffffffffff8111156131d1575f80fd5b820161010081850312156131e3575f80fd5b6131eb612ee7565b6131f482613120565b815261320260208301613120565b602082015261321360408301613120565b604082015261322460608301613120565b6060820152608082015167ffffffffffffffff811115613242575f80fd5b61324e86828501613130565b60808301525061326060a08301613194565b60a082015260c0828101519082015261327b60e08301613120565b60e0820152949350505050565b5f60208284031215613298575f80fd5b8151611aa481612e69565b5f602082840312156132b3575f80fd5b5051919050565b5f67ffffffffffffffff8211156132d3576132d3612e91565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f6020828403121561330f575f80fd5b813567ffffffffffffffff811115613325575f80fd5b820160808185031215613336575f80fd5b61333e612ebe565b81356003811061334c575f80fd5b8152602082013561335c81612a07565b6020820152604082013561336f81612a07565b6040820152606082013567ffffffffffffffff81111561338d575f80fd5b80830192505084601f8301126133a1575f80fd5b81356133af612fbd826132ba565b8181528660208386010111156133c3575f80fd5b816020850160208301375f918101602001919091526060820152949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f6020828403128015613423575f80fd5b506040516020810167ffffffffffffffff8111828210171561344757613447612e91565b6040529151825250919050565b5f60208284031215613464575f80fd5b815167ffffffffffffffff81111561347a575f80fd5b82016060818503121561348b575f80fd5b613493612f0b565b8151815260208083015190820152604082015167ffffffffffffffff8111156134ba575f80fd5b80830192505084601f8301126134ce575f80fd5b81516134dc612fbd826132ba565b8181528660208386010111156134f0575f80fd5b8160208501602083015e5f918101602001919091526040820152949350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6001600160a01b03861681526001600160a01b038516602082015283604082015282606082015260a060808201525f61359a60a0830184613512565b979650505050505050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126135d8575f80fd5b83018035915067ffffffffffffffff8211156135f2575f80fd5b602001915036819003821315612a8b575f80fd5b85815284602082015260806040820152826080820152828460a08301375f60a084830101525f60a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683010190506001600160a01b03831660608301529695505050505050565b602081526001600160a01b0382511660208201525f602083015160408084015261369f6060840182613512565b949350505050565b606081525f6136b96060830186613512565b60208301949094525060400152919050565b5f80604083850312156136dc575f80fd5b825160208401519092506136ef81612a07565b809150509250929050565b8082018082111561095d5761095d612dfc565b808202811582820484141761095d5761095d612dfc565b5f82613757577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f6020828403121561376c575f80fd5b8151611aa481612a0756fea2646970667358221220c4aa3b17b934a3a01b24f3191818b2b0b291f2e616fab5fe7ff6da61ab9593d264736f6c634300081a0033",g=class g extends _.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=e.p}async allocate(f,b){return await this.awaitResult(this.allocateRaw(f,b))}async allocateRaw(f,b){const{request:a,result:d}=await e.R1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.o1(this._config,a),result:d}}async clawback(f,b){return await this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:a,result:d}=await e.O1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.u1(this._config,a),result:d}}async clawbackFromTarget(f,b,a,d,c){return await this.awaitResult(this.clawbackFromTargetRaw(f,b,a,d,c))}async clawbackFromTargetRaw(f,b,a,d,c){const{request:s,result:n}=await e.E1(this._config,{address:this.assertValidAddress(),args:[f,b,BigInt(a),BigInt(d)],...this.optionallyAttachAccount(),...c});return{hash:await e.l1(this._config,s),result:n}}async disburse(f,b){return await this.awaitResult(this.disburseRaw(f,b))}async disburseRaw(f,b){const{request:a,result:d}=await e.z1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.d1(this._config,a),result:d}}async disburseBatch(f,b){return await this.awaitResult(this.disburseBatchRaw(f,b))}async disburseBatchRaw(f,b){const{request:a,result:d}=await e.B1(this._config,{address:this.assertValidAddress(),args:[f.map(r.prepareTransfer)],...this.optionallyAttachAccount(),...b});return{hash:await e.c1(this._config,a),result:d}}async payManagementFee(f,b,a){return await this.awaitResult(this.payManagementFeeRaw(f,b,a))}async payManagementFeeRaw(f,b,a){const{request:d,result:c}=await e.Xk(this._config,{address:this.assertValidAddress(),args:[f,b],...this.optionallyAttachAccount(),...a});return{hash:await e.Ek(this._config,d),result:c}}async setManagementFee(f,b){return await this.awaitResult(this.setManagementFeeRaw(f,b))}async setManagementFeeRaw(f,b){const{request:a,result:d}=await e.rP(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await e.Pk(this._config,a),result:d}}async managementFee(f){return await e.pk(this._config,{address:this.assertValidAddress(),args:[],...f})}owner(f){return e.t1(this._config,{address:this.assertValidAddress(),args:[],...f})}total(f=t.zeroAddress,b,a){return e.s1(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}available(f=t.zeroAddress,b,a){return e.j0(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}distributed(f=t.zeroAddress,b,a){return e.$0(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}buildParameters(f,b){var c;const[a,d]=this.validateDeploymentConfig(f,b);if(!a.owner||a.owner===t.zeroAddress){const s=d.account?d.account.address:d.config?p.getAccount(d.config).address:(c=this._account)==null?void 0:c.address;if(s)a.owner=s;else throw new R.DeployableUnknownOwnerProvidedError}return{abi:e.p,bytecode:q,args:[V(a)],...this.optionallyAttachAccount(d.account)}}};g.bases={31337:void 0,...m.ManagedBudgetWithFees},g.registryType=B.RegistryType.BUDGET;let h=g;const V=({owner:i,authorized:f,roles:b,managementFee:a})=>t.encodeAbiParameters(t.parseAbiParameters(["ManagedBudgetWithFeesPayload payload","struct ManagedBudgetWithFeesPayload { address owner; address[] authorized; uint256[] roles; uint256 managementFee; }"]),[{owner:i,authorized:f,roles:b,managementFee:a}]),M="0x6080604052348015600e575f80fd5b5060156025565b601b6025565b60216025565b6088565b63409feecd198054600181161560425763f92ee8a95f526004601cfd5b6001600160401b03808260011c146083578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b613da8806100955f395ff3fe608060405260043610610316575f3560e01c8063774c33ab11610199578063dcc21361116100e0578063f8724aba11610089578063fe56e23211610063578063fe56e2321461099b578063fe9fbb80146109ba578063fee81cf4146109d95761031d565b8063f8724aba1461093e578063f9a802c31461095d578063fa4ca9b11461097c5761031d565b8063f04e283e116100ba578063f04e283e146108d3578063f23a6e61146108e6578063f2fde38b1461092b5761031d565b8063dcc2136114610872578063eaefb5cf14610891578063ec87621c146108bf5761031d565b8063b5e4f55d11610142578063c6004a3a1161011c578063c6004a3a146107fd578063d2514e8414610828578063d8c12d22146108475761031d565b8063b5e4f55d14610778578063bc197c8114610797578063be4994f8146107de5761031d565b8063929470eb11610173578063929470eb14610725578063a6f7f5d614610744578063b3005793146107595761031d565b8063774c33ab1461069a57806380009630146106db5780638da5cb5b146106fa5761031d565b806343cc96e11161025d57806354feede51161020657806361400c99116101e057806361400c991461065f578063715018a61461067e57806375b238fc146106865761031d565b806354feede5146105f9578063578bcf35146106185780635aef467a1461064c5761031d565b80634a4ee7b1116102375780634a4ee7b1146105a9578063514e62fc146105bc57806354d1f13d146105f15761031d565b806343cc96e11461054a578063451cc19114610569578063474f5a441461058a5761031d565b80631cd64df4116102bf5780632de94807116102995780632de94807146104db5780634359d28a1461050c578063439fab911461052b5761031d565b80631cd64df41461043f578063256929621461047457806328d6183b1461047c5761031d565b8063183a4f6e116102f0578063183a4f6e146103db578063185832a3146103f05780631c10893f1461042c5761031d565b806301ffc9a71461034f57806310098ad51461038357806314135ce0146103b05761031d565b3661031d57005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34801561035a575f80fd5b5061036e610369366004612f94565b610a0a565b60405190151581526020015b60405180910390f35b34801561038e575f80fd5b506103a261039d366004612fe7565b610a1a565b60405190815260200161037a565b3480156103bb575f80fd5b506103a26103ca366004612fe7565b60046020525f908152604090205481565b6103ee6103e9366004613002565b610a45565b005b3480156103fb575f80fd5b5061040f61040a36600461305e565b610a52565b604080519283526001600160a01b0390911660208301520161037a565b6103ee61043a3660046130c0565b610a7a565b34801561044a575f80fd5b5061036e6104593660046130c0565b638b78c6d8600c9081525f9290925260209091205481161490565b6103ee610a90565b348015610487575f80fd5b507fa2dceadb000000000000000000000000000000000000000000000000000000005b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161037a565b3480156104e6575f80fd5b506103a26104f5366004612fe7565b638b78c6d8600c9081525f91909152602090205490565b348015610517575f80fd5b506103ee61052636600461312b565b610add565b348015610536575f80fd5b506103ee610545366004613197565b610bd7565b348015610555575f80fd5b506103ee6105643660046131d6565b610db2565b348015610574575f80fd5b506103a2610583366004613197565b5f92915050565b348015610595575f80fd5b506103a26105a4366004613197565b61111d565b6103ee6105b73660046130c0565b6112d3565b3480156105c7575f80fd5b5061036e6105d63660046130c0565b638b78c6d8600c9081525f9290925260209091205416151590565b6103ee6112e5565b348015610604575f80fd5b506103ee6106133660046131f6565b61131e565b348015610623575f80fd5b506103a2610632366004612fe7565b6001600160a01b03165f9081526006602052604090205490565b61036e61065a366004613197565b6116e1565b34801561066a575f80fd5b5061036e610679366004613228565b6119e1565b6103ee611a28565b348015610691575f80fd5b506103a2600281565b3480156106a5575f80fd5b506103a26106b43660046130c0565b6001600160a01b03919091165f908152600760209081526040808320938352929052205490565b3480156106e6575f80fd5b506103ee6106f5366004612fe7565b611a3b565b348015610705575f80fd5b50638b78c6d819546040516001600160a01b03909116815260200161037a565b348015610730575f80fd5b5061036e61073f36600461325b565b611a4f565b34801561074f575f80fd5b506103a260015481565b348015610764575f80fd5b5061040f61077336600461305e565b611b15565b348015610783575f80fd5b5061040f6107923660046132c0565b611b71565b3480156107a2575f80fd5b506104aa6107b1366004613335565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b3480156107e9575f80fd5b506103ee6107f836600461312b565b611b9b565b348015610808575f80fd5b506103a2610817366004612fe7565b60036020525f908152604090205481565b348015610833575f80fd5b506103a2610842366004612fe7565b611c39565b348015610852575f80fd5b506103a2610861366004612fe7565b60026020525f908152604090205481565b34801561087d575f80fd5b506103ee61088c36600461312b565b611c79565b34801561089c575f80fd5b5061036e6108ab366004612fe7565b60056020525f908152604090205460ff1681565b3480156108ca575f80fd5b506103a2600181565b6103ee6108e1366004612fe7565b611d17565b3480156108f1575f80fd5b506104aa6109003660046133f8565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6103ee610939366004612fe7565b611d51565b348015610949575f80fd5b506103a26109583660046130c0565b611d77565b348015610968575f80fd5b506103a26109773660046130c0565b611e04565b348015610987575f80fd5b5061036e610996366004613197565b611eae565b3480156109a6575f80fd5b506103ee6109b5366004613002565b6121f6565b3480156109c5575f80fd5b5061036e6109d4366004612fe7565b6122a9565b3480156109e4575f80fd5b506103a26109f3366004612fe7565b63389a75e1600c9081525f91909152602090205490565b5f610a14826122ee565b92915050565b6001600160a01b0381165f90815260046020526040812054610a3b83612343565b610a14919061349c565b610a4f3382612372565b50565b5f80610a618787878787611b15565b9092509050610a708484610db2565b9550959350505050565b610a8261237d565b610a8c8282612397565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6002610ae8816123a3565b838214610b21576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610bcf575f848483818110610b3e57610b3e6134af565b9050602002016020810190610b5391906134e9565b9050801515600103610b9557610b90878784818110610b7457610b746134af565b9050602002016020810190610b899190612fe7565b6001612397565b610bc6565b610bc6878784818110610baa57610baa6134af565b9050602002016020810190610bbf9190612fe7565b6001612372565b50600101610b23565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610c285760018160011c14303b10610c1f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610c368385018561365f565b9050610c44815f01516123d4565b60015b816020015151811015610ca057610c9882602001518281518110610c6d57610c6d6134af565b602002602001015183604001518381518110610c8b57610c8b6134af565b602002602001015161240f565b600101610c47565b508060200151515f03610d14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6e6f20636f726520636f6e74726163742073657400000000000000000000000060448201526064015b60405180910390fd5b610d3a81602001515f81518110610d2d57610d2d6134af565b6020026020010151612450565b606081015160018190556040519081527f74f254e69f1d1aa50fbf15b184112c15530415ac9f4b4bf2b75778c6befd09789060200160405180910390a1508015610dad576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f80546040517f13c8e2de000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b03909116906313c8e2de906024015f60405180830381865afa158015610e11573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e389190810190613800565b90505f81608001518381518110610e5157610e516134af565b60209081029190910101516040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f7cc1d5bb0000000000000000000000000000000000000000000000000000000060048201529091506001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610eda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efe91906138dd565b15610fd8575f816001600160a01b031663dcc59b6f6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610f41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6591906138f8565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610fa5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc991906138f8565b9050610bcf8686868585612505565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f903181110000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611053573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107791906138dd565b1561031d575f816001600160a01b031663d54ad2a16040518163ffffffff1660e01b81526004016020604051808303815f875af11580156110ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110de91906138f8565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa5573d5f803e3d5ffd5b5f6002611129816123a3565b5f61113684860186613936565b90505f808251600281111561114d5761114d613a1c565b148061116b575060018251600281111561116957611169613a1c565b145b156111c2575f82606001518060200190518101906111899190613a49565b6020840151604085015182519293506111ba92156111a857835161270a565b6111b58660200151610a1a565b61270a565b5190506112c8565b6002825160028111156111d7576111d7613a1c565b036112bf575f82606001518060200190518101906111f59190613a8b565b90506112b483602001518460400151835f015184602001515f1461121d5784602001516112aa565b602087015185516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091526001600160a01b039091169062fdd58e90604401602060405180830381865afa158015611286573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112aa91906138f8565b856040015161287a565b6020015190506112c8565b92506112cc9050565b9250505b5092915050565b6112db61237d565b610a8c8282612372565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b6001600160a01b0383165f9081526005602052604090205460ff1661136f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f13c8e2de000000000000000000000000000000000000000000000000000000008152600481018390525f906001600160a01b038516906313c8e2de906024015f60405180830381865afa1580156113cc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113f39190810190613800565b90505f8160800151838151811061140c5761140c6134af565b60209081029190910101516040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f7cc1d5bb0000000000000000000000000000000000000000000000000000000060048201529091506001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611495573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b991906138dd565b1561159c575f816001600160a01b031663dcc59b6f6040518163ffffffff1660e01b81526004016020604051808303815f875af11580156114fc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061152091906138f8565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015611560573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061158491906138f8565b90506115938686868585612505565b50505050505050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f903181110000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611617573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163b91906138dd565b1561031d575f816001600160a01b031663d54ad2a16040518163ffffffff1660e01b81526004016020604051808303815f875af115801561167e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116a291906138f8565b90505f826001600160a01b031663a4d66daf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611560573d5f803e3d5ffd5b5f806116ef83850185613936565b90505f8151600281111561170557611705613a1c565b0361177e575f81606001518060200190518101906117239190613a49565b8051909150341461177857602082015181516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610d0b565b506119d7565b60018151600281111561179357611793613a1c565b03611840575f81606001518060200190518101906117b19190613a49565b6040830151815160208501519293506117d6926001600160a01b031691903090612a6e565b805160208301516117f0906001600160a01b031630612ad0565b101561177857602082015181516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610d0b565b60028151600281111561185557611855613a1c565b036119ce575f81606001518060200190518101906118739190613a8b565b905081602001516001600160a01b031663f242432a836040015130845f0151856020015186604001516040518663ffffffff1660e01b81526004016118bc959493929190613b77565b5f604051808303815f87803b1580156118d3575f80fd5b505af11580156118e5573d5f803e3d5ffd5b5050506020808301519084015183516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091529192506001600160a01b03169062fdd58e90604401602060405180830381865afa158015611957573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197b91906138f8565b101561177857602080830151908201516040517fcece04c50000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301526024820152604401610d0b565b5f915050610a14565b5060019392505050565b5f805b828110156119d757611a13848483818110611a0157611a016134af565b90506020028101906109969190613bbe565b611a20575f915050610a14565b6001016119e4565b611a3061237d565b611a395f612b03565b565b6002611a46816123a3565b610a8c82612450565b5f611a59336122a9565b611a8f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f1fa2acdc0000000000000000000000000000000000000000000000000000000081526001600160a01b03871690631fa2acdc90611adc9088908890889088903090600401613c1f565b5f604051808303815f87803b158015611af3575f80fd5b505af1158015611b05573d5f803e3d5ffd5b5060019998505050505050505050565b5f80611b20336122a9565b611b56576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b638787878787612b40565b915091509550959350505050565b5f80611b808888888787612b40565b9092509050611b9085858561131e565b965096945050505050565b6002611ba6816123a3565b838214611bdf576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610bcf57611c31868683818110611bfe57611bfe6134af565b9050602002016020810190611c139190612fe7565b858584818110611c2557611c256134af565b90506020020135612397565b600101611be1565b6001600160a01b0381165f908152600460209081526040808320546006909252822054611c6584610a1a565b611c6f9190613c6d565b610a149190613c6d565b6002611c84816123a3565b838214611cbd576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610bcf57611d0f868683818110611cdc57611cdc6134af565b9050602002016020810190611cf19190612fe7565b858584818110611d0357611d036134af565b90506020020135612372565b600101611cbf565b611d1f61237d565b63389a75e1600c52805f526020600c208054421115611d4557636f5e88185f526004601cfd5b5f9055610a4f81612b03565b611d5961237d565b8060601b611d6e57637448fbae5f526004601cfd5b610a4f81612b03565b6040517efdd58e000000000000000000000000000000000000000000000000000000008152306004820152602481018290525f906001600160a01b0384169062fdd58e90604401602060405180830381865afa158015611dd9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dfd91906138f8565b9392505050565b6001600160a01b0382165f8181526007602090815260408083208584529091528082205490517efdd58e000000000000000000000000000000000000000000000000000000008152306004820152602481018590529192909162fdd58e90604401602060405180830381865afa158015611e80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea491906138f8565b611dfd9190613c6d565b5f611eb8336122a9565b611eee576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611efb83850185613936565b9050600181516002811115611f1257611f12613a1c565b1480611f2f57505f81516002811115611f2d57611f2d613a1c565b145b156120a8575f8160600151806020019051810190611f4d9190613a49565b90505f612710600154835f0151611f649190613c80565b611f6e9190613c97565b90505f611f7e8460200151610a1a565b90508082845f0151611f909190613c6d565b1115611ff557602084015183518290611faa908590613c6d565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909316600484015260248301919091526044820152606401610d0b565b6040808501516001600160a01b03165f90815260026020529081208054849290612020908490613c6d565b90915550506020808501516001600160a01b03165f9081526004909152604081208054849290612051908490613c6d565b909155505082516020808601516001600160a01b03165f9081526006909152604081208054909190612084908490613c6d565b90915550506020840151604085015184516120a092919061270a565b5050506119d7565b6002815160028111156120bd576120bd613a1c565b036119ce575f81606001518060200190518101906120db9190613a8b565b602083015181516040517efdd58e00000000000000000000000000000000000000000000000000000000815230600482015260248101919091529192505f916001600160a01b039091169062fdd58e90604401602060405180830381865afa158015612149573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061216d91906138f8565b905080826020015111156121cf57602080840151908301516040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482018390526044820152606401610d0b565b6121ef83602001518460400151845f01518560200151866040015161287a565b50506119d7565b6002612201816123a3565b61271082111561226d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665652063616e6e6f74206578636565642031303025000000000000000000006044820152606401610d0b565b60018290556040518281527f74f254e69f1d1aa50fbf15b184112c15530415ac9f4b4bf2b75778c6befd09789060200160405180910390a15050565b5f816001600160a01b03166122c1638b78c6d8195490565b6001600160a01b03161480610a145750638b78c6d8600c9081525f83905260209020546003161515610a14565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fde98bbf0000000000000000000000000000000000000000000000000000000001480610a145750610a1482612cae565b5f6001600160a01b0382161561236b576123666001600160a01b03831630612ad0565b610a14565b4792915050565b610a8c82825f612d03565b638b78c6d819543314611a39576382b429005f526004601cfd5b610a8c82826001612d03565b638b78c6d819543314610a4f57638b78c6d8600c52335f52806020600c205416610a4f576382b429005f526004601cfd5b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b5f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081178255815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556124c690829061240f565b6040516001600160a01b03821681527f11dd8c34fa7e859614e12db6445bd13eb507b6e1a382ae61214d4e5c349df0729060200160405180910390a150565b5f8360800151858151811061251c5761251c6134af565b6020908102919091018101516001600160a01b0381165f90815260028352604080822054600390945281205491935081856125578886613c80565b6125619190613c97565b61256b919061349c565b90506125778183613c6d565b6001600160a01b0385165f8181526003602090815260408083209490945583517f38d52e0f000000000000000000000000000000000000000000000000000000008152935191936338d52e0f92600480830193928290030181865afa1580156125e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126069190613ccf565b60e08901516001600160a01b0382165f908152600460205260408120805493945091928592919061263890849061349c565b90915550505f839003612677576040517fb2e783cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846126828486613c6d565b036126ad576001600160a01b0386165f90815260026020908152604080832083905560039091528120555b806001600160a01b03168a8c7ff44ff640e648077f3acc130c6ce75240070e8c40adc85b0feeeec28d9dd921b4866040516126ea91815260200190565b60405180910390a46126fd82828561270a565b5050505050505050505050565b3068929eee149b4bd2126854036127285763ab143c065f526004601cfd5b3068929eee149b4bd21268556001600160a01b03821661278e576040517fbf182be80000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260448101829052606401610d0b565b61279783610a1a565b8111156127f257826127a884610a1a565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260448101829052606401610d0b565b6001600160a01b03831661280f5761280a8282612d5a565b612823565b6128236001600160a01b0384168383612d73565b604080516001600160a01b038481168252602082018490528516917fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd43542910160405180910390a23868929eee149b4bd2126855505050565b3068929eee149b4bd2126854036128985763ab143c065f526004601cfd5b3068929eee149b4bd21268556001600160a01b0384166128fe576040517fbf182be80000000000000000000000000000000000000000000000000000000081526001600160a01b0380871660048301528516602482015260448101839052606401610d0b565b6129088584611d77565b821115612964578461291a8685611d77565b6040517f5c54305e0000000000000000000000000000000000000000000000000000000081526001600160a01b039092166004830152602482015260448101839052606401610d0b565b6001600160a01b0385165f90815260076020908152604080832086845290915281208054849290612996908490613c6d565b90915550506040517ff242432a0000000000000000000000000000000000000000000000000000000081526001600160a01b0386169063f242432a906129e89030908890889088908890600401613b77565b5f604051808303815f87803b1580156129ff575f80fd5b505af1158015612a11573d5f803e3d5ffd5b5050604080516001600160a01b03888116825260208201879052891693507fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd4354292500160405180910390a23868929eee149b4bd21268555050505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612ac257803d873b151710612ac257637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f80612b4b336122a9565b612b81576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040518060400160405280306001600160a01b0316815260200188888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250506040519293508a9290915081906001600160a01b0384169063dd98558c90612bff908790602001613cea565b6040516020818303038152906040528a8a6040518463ffffffff1660e01b8152600401612c2e93929190613d1f565b60408051808303815f875af1158015612c49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6d9190613d43565b6001600160a01b0381165f90815260066020526040812080549395509193508492612c9990849061349c565b90915550919b909a5098505050505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fde98bbf0000000000000000000000000000000000000000000000000000000001480610a145750610a1482612dc6565b638b78c6d8600c52825f526020600c20805483811783612d24575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f385f3884865af1610a8c5763b12d13eb5f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612dbc57803d853b151710612dbc576390b8ec185f526004601cfd5b505f603452505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5fbfaa4e000000000000000000000000000000000000000000000000000000001480612e5857507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b80612ea457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b80610a145750610a14825f7fffffffff0000000000000000000000000000000000000000000000000000000082167fe49cedd7000000000000000000000000000000000000000000000000000000001480610a145750610a14825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d000000000000000000000000000000000000000000000000000000001480610a1457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610a14565b5f60208284031215612fa4575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611dfd575f80fd5b6001600160a01b0381168114610a4f575f80fd5b5f60208284031215612ff7575f80fd5b8135611dfd81612fd3565b5f60208284031215613012575f80fd5b5035919050565b5f8083601f840112613029575f80fd5b50813567ffffffffffffffff811115613040575f80fd5b602083019150836020828501011115613057575f80fd5b9250929050565b5f805f805f60808688031215613072575f80fd5b853561307d81612fd3565b9450602086013567ffffffffffffffff811115613098575f80fd5b6130a488828901613019565b9699909850959660408101359660609091013595509350505050565b5f80604083850312156130d1575f80fd5b82356130dc81612fd3565b946020939093013593505050565b5f8083601f8401126130fa575f80fd5b50813567ffffffffffffffff811115613111575f80fd5b6020830191508360208260051b8501011115613057575f80fd5b5f805f806040858703121561313e575f80fd5b843567ffffffffffffffff811115613154575f80fd5b613160878288016130ea565b909550935050602085013567ffffffffffffffff81111561317f575f80fd5b61318b878288016130ea565b95989497509550505050565b5f80602083850312156131a8575f80fd5b823567ffffffffffffffff8111156131be575f80fd5b6131ca85828601613019565b90969095509350505050565b5f80604083850312156131e7575f80fd5b50508035926020909101359150565b5f805f60608486031215613208575f80fd5b833561321381612fd3565b95602085013595506040909401359392505050565b5f8060208385031215613239575f80fd5b823567ffffffffffffffff81111561324f575f80fd5b6131ca858286016130ea565b5f805f805f6080868803121561326f575f80fd5b853561327a81612fd3565b94506020860135935060408601359250606086013567ffffffffffffffff8111156132a3575f80fd5b6132af88828901613019565b969995985093965092949392505050565b5f805f805f8060a087890312156132d5575f80fd5b86356132e081612fd3565b9550602087013567ffffffffffffffff8111156132fb575f80fd5b61330789828a01613019565b909650945050604087013561331b81612fd3565b959894975092956060810135946080909101359350915050565b5f805f805f805f8060a0898b03121561334c575f80fd5b883561335781612fd3565b9750602089013561336781612fd3565b9650604089013567ffffffffffffffff811115613382575f80fd5b61338e8b828c016130ea565b909750955050606089013567ffffffffffffffff8111156133ad575f80fd5b6133b98b828c016130ea565b909550935050608089013567ffffffffffffffff8111156133d8575f80fd5b6133e48b828c01613019565b999c989b5096995094979396929594505050565b5f805f805f8060a0878903121561340d575f80fd5b863561341881612fd3565b9550602087013561342881612fd3565b94506040870135935060608701359250608087013567ffffffffffffffff811115613451575f80fd5b61345d89828a01613019565b979a9699509497509295939492505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610a1457610a1461346f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8015158114610a4f575f80fd5b5f602082840312156134f9575f80fd5b8135611dfd816134dc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff8111828210171561355457613554613504565b60405290565b604051610100810167ffffffffffffffff8111828210171561355457613554613504565b6040516060810167ffffffffffffffff8111828210171561355457613554613504565b604051601f8201601f1916810167ffffffffffffffff811182821017156135ca576135ca613504565b604052919050565b5f67ffffffffffffffff8211156135eb576135eb613504565b5060051b60200190565b5f82601f830112613604575f80fd5b8135613617613612826135d2565b6135a1565b8082825260208201915060208360051b860101925085831115613638575f80fd5b602085015b8381101561365557803583526020928301920161363d565b5095945050505050565b5f6020828403121561366f575f80fd5b813567ffffffffffffffff811115613685575f80fd5b820160808185031215613696575f80fd5b61369e613531565b81356136a981612fd3565b8152602082013567ffffffffffffffff8111156136c4575f80fd5b8201601f810186136136d4575f80fd5b80356136e2613612826135d2565b8082825260208201915060208360051b850101925088831115613703575f80fd5b6020840193505b8284101561372e57833561371d81612fd3565b82526020938401939091019061370a565b6020850152505050604082013567ffffffffffffffff81111561374f575f80fd5b61375b868285016135f5565b604083015250606091820135918101919091529392505050565b805161378081612fd3565b919050565b5f82601f830112613794575f80fd5b81516137a2613612826135d2565b8082825260208201915060208360051b8601019250858311156137c3575f80fd5b602085015b838110156136555780516137db81612fd3565b8352602092830192016137c8565b805167ffffffffffffffff81168114613780575f80fd5b5f60208284031215613810575f80fd5b815167ffffffffffffffff811115613826575f80fd5b82016101008185031215613838575f80fd5b61384061355a565b61384982613775565b815261385760208301613775565b602082015261386860408301613775565b604082015261387960608301613775565b6060820152608082015167ffffffffffffffff811115613897575f80fd5b6138a386828501613785565b6080830152506138b560a083016137e9565b60a082015260c082810151908201526138d060e08301613775565b60e0820152949350505050565b5f602082840312156138ed575f80fd5b8151611dfd816134dc565b5f60208284031215613908575f80fd5b5051919050565b5f67ffffffffffffffff82111561392857613928613504565b50601f01601f191660200190565b5f60208284031215613946575f80fd5b813567ffffffffffffffff81111561395c575f80fd5b82016080818503121561396d575f80fd5b613975613531565b813560038110613983575f80fd5b8152602082013561399381612fd3565b602082015260408201356139a681612fd3565b6040820152606082013567ffffffffffffffff8111156139c4575f80fd5b80830192505084601f8301126139d8575f80fd5b81356139e66136128261390f565b8181528660208386010111156139fa575f80fd5b816020850160208301375f918101602001919091526060820152949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f6020828403128015613a5a575f80fd5b506040516020810167ffffffffffffffff81118282101715613a7e57613a7e613504565b6040529151825250919050565b5f60208284031215613a9b575f80fd5b815167ffffffffffffffff811115613ab1575f80fd5b820160608185031215613ac2575f80fd5b613aca61357e565b8151815260208083015190820152604082015167ffffffffffffffff811115613af1575f80fd5b80830192505084601f830112613b05575f80fd5b8151613b136136128261390f565b818152866020838601011115613b27575f80fd5b8160208501602083015e5f918101602001919091526040820152949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03861681526001600160a01b038516602082015283604082015282606082015260a060808201525f613bb360a0830184613b49565b979650505050505050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613bf1575f80fd5b83018035915067ffffffffffffffff821115613c0b575f80fd5b602001915036819003821315613057575f80fd5b85815284602082015260806040820152826080820152828460a08301375f60a084830101525f60a0601f19601f86011683010190506001600160a01b03831660608301529695505050505050565b80820180821115610a1457610a1461346f565b8082028115828204841417610a1457610a1461346f565b5f82613cca577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f60208284031215613cdf575f80fd5b8151611dfd81612fd3565b602081526001600160a01b0382511660208201525f6020830151604080840152613d176060840182613b49565b949350505050565b606081525f613d316060830186613b49565b60208301949094525060400152919050565b5f8060408385031215613d54575f80fd5b82516020840151909250613d6781612fd3565b80915050925092905056fea264697066735822122094e4a43d3eef4f57a37d0c9e7b8095238f9305dbed19758d472ae5a26c699ad464736f6c634300081a0033",w=class w extends _.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=e.r}async allocate(f,b){return await this.awaitResult(this.allocateRaw(f,b))}async allocateRaw(f,b){const{request:a,result:d}=await e.R1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.o1(this._config,a),result:d}}async clawback(f,b){return await this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:a,result:d}=await e.O1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.u1(this._config,a),result:d}}async clawbackFromTarget(f,b,a,d,c){return await this.awaitResult(this.clawbackFromTargetRaw(f,b,a,d,c))}async clawbackFromTargetRaw(f,b,a,d,c){const{request:s,result:n}=await e.E1(this._config,{address:this.assertValidAddress(),args:[f,b,BigInt(a),BigInt(d)],...this.optionallyAttachAccount(),...c});return{hash:await e.l1(this._config,s),result:n}}async disburse(f,b){return await this.awaitResult(this.disburseRaw(f,b))}async disburseRaw(f,b){const{request:a,result:d}=await e.z1(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.d1(this._config,a),result:d}}async disburseBatch(f,b){return await this.awaitResult(this.disburseBatchRaw(f,b))}async disburseBatchRaw(f,b){const{request:a,result:d}=await e.B1(this._config,{address:this.assertValidAddress(),args:[f.map(r.prepareTransfer)],...this.optionallyAttachAccount(),...b});return{hash:await e.c1(this._config,a),result:d}}async payManagementFee(f,b,a,d){return a?await this.awaitResult(this.payManagementFeeWithCoreRaw(a,f,b)):await this.awaitResult(this.payManagementFeeRaw(f,b,d))}async payManagementFeeRaw(f,b,a){const{request:d,result:c}=await e.Xk(this._config,{address:this.assertValidAddress(),args:[f,b],...this.optionallyAttachAccount(),...a});return{hash:await e.Ek(this._config,d),result:c}}async payManagementFeeWithCoreRaw(f,b,a,d){const{request:c,result:s}=await e.IS(this._config,{address:this.assertValidAddress(),args:[f,b,a],...this.optionallyAttachAccount(),...d});return{hash:await e.KP(this._config,c),result:s}}async setManagementFee(f,b){return await this.awaitResult(this.setManagementFeeRaw(f,b))}async setManagementFeeRaw(f,b){const{request:a,result:d}=await e.VS(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await e.rS(this._config,a),result:d}}async managementFee(f){return await e.VP(this._config,{address:this.assertValidAddress(),args:[],...f})}owner(f){return e.t1(this._config,{address:this.assertValidAddress(),args:[],...f})}total(f=t.zeroAddress,b,a){return e.s1(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}available(f=t.zeroAddress,b,a){return e.j0(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}distributed(f=t.zeroAddress,b,a){return e.$0(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}buildParameters(f,b){var c;const[a,d]=this.validateDeploymentConfig(f,b);if(!a.owner||a.owner===t.zeroAddress){const s=d.account?d.account.address:d.config?p.getAccount(d.config).address:(c=this._account)==null?void 0:c.address;if(s)a.owner=s;else throw new R.DeployableUnknownOwnerProvidedError}return{abi:e.r,bytecode:M,args:[T(a)],...this.optionallyAttachAccount(d.account)}}};w.bases={31337:void 0,...m.ManagedBudgetWithFees},w.registryType=B.RegistryType.BUDGET;let u=w;const T=({owner:i,authorized:f,roles:b,managementFee:a})=>t.encodeAbiParameters(t.parseAbiParameters(["ManagedBudgetWithFeesV2Payload payload","struct ManagedBudgetWithFeesV2Payload { address owner; address[] authorized; uint256[] roles; uint256 managementFee; }"]),[{owner:i,authorized:f,roles:b,managementFee:a}]),P="0x6080604052348015600e575f80fd5b506131eb8061001c5f395ff3fe6080604052600436106102a3575f3560e01c8063715018a61161016d578063dcc21361116100ca578063f8724aba1161007e578063fa4ca9b111610063578063fa4ca9b1146107e4578063fe9fbb8014610803578063fee81cf414610822576102aa565b8063f8724aba146107ca578063f9a802c3146105e9576102aa565b8063f04e283e116100af578063f04e283e1461075f578063f23a6e6114610772578063f2fde38b146107b7576102aa565b8063dcc213611461072c578063ec87621c1461074b576102aa565b80639e247d1911610121578063bc197c8111610106578063bc197c81146106c6578063be4994f81461070d578063d2514e8414610500576102aa565b80639e247d191461066a578063b30057931461067d576102aa565b806375b238fc1161015257806375b238fc146105d5578063774c33ab146105e95780638da5cb5b14610637576102aa565b8063715018a6146105ba578063753b92f9146105c2576102aa565b8063439fab911161021b57806354d1f13d116101cf5780635aef467a116101b45780635aef467a1461054157806361400c99146105545780636afdd85014610573576102aa565b806354d1f13d146104f8578063578bcf3514610500576102aa565b8063474f5a4411610200578063474f5a44146104915780634a4ee7b1146104b0578063514e62fc146104c3576102aa565b8063439fab9114610451578063451cc19114610470576102aa565b80631cd64df41161027257806328d6183b1161025757806328d6183b146103a25780632de94807146104015780634359d28a14610432576102aa565b80631cd64df414610365578063256929621461039a576102aa565b806301ffc9a7146102dc57806310098ad514610310578063183a4f6e1461033d5780631c10893f14610352576102aa565b366102aa57005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3480156102e7575f80fd5b506102fb6102f6366004612466565b610853565b60405190151581526020015b60405180910390f35b34801561031b575f80fd5b5061032f61032a3660046124cd565b505f90565b604051908152602001610307565b61035061034b3660046124e8565b610946565b005b6103506103603660046124ff565b610953565b348015610370575f80fd5b506102fb61037f3660046124ff565b638b78c6d8600c9081525f9290925260209091205481161490565b610350610969565b3480156103ad575f80fd5b507f2929d19c000000000000000000000000000000000000000000000000000000005b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610307565b34801561040c575f80fd5b5061032f61041b3660046124cd565b638b78c6d8600c9081525f91909152602090205490565b34801561043d575f80fd5b5061035061044c366004612571565b6109b6565b34801561045c575f80fd5b5061035061046b36600461261b565b610ab0565b34801561047b575f80fd5b5061032f61048a36600461261b565b5f92915050565b34801561049c575f80fd5b5061032f6104ab36600461261b565b610b34565b6103506104be3660046124ff565b610b3d565b3480156104ce575f80fd5b506102fb6104dd3660046124ff565b638b78c6d8600c9081525f9290925260209091205416151590565b610350610b4f565b34801561050b575f80fd5b5061032f61051a3660046124cd565b73ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205490565b6102fb61054f36600461261b565b610b88565b34801561055f575f80fd5b506102fb61056e36600461265a565b610bbb565b34801561057e575f80fd5b506105956e22d473030f116ddee9f6b43ac78ba381565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610307565b610350610c0c565b6103506105d036600461268d565b610c1f565b3480156105e0575f80fd5b5061032f600281565b3480156105f4575f80fd5b5061032f6106033660046124ff565b73ffffffffffffffffffffffffffffffffffffffff919091165f908152600160209081526040808320938352929052205490565b348015610642575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610595565b61035061067836600461274f565b61100e565b348015610688575f80fd5b5061069c6106973660046127d1565b611179565b6040805192835273ffffffffffffffffffffffffffffffffffffffff909116602083015201610307565b3480156106d1575f80fd5b506103d06106e0366004612833565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b348015610718575f80fd5b50610350610727366004612571565b61137c565b348015610737575f80fd5b50610350610746366004612571565b61141a565b348015610756575f80fd5b5061032f600181565b61035061076d3660046124cd565b6114b8565b34801561077d575f80fd5b506103d061078c3660046128f6565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6103506107c53660046124cd565b6114f2565b3480156107d5575f80fd5b5061032f61048a3660046124ff565b3480156107ef575f80fd5b506102fb6107fe36600461261b565b611518565b34801561080e575f80fd5b506102fb61081d3660046124cd565b611726565b34801561082d575f80fd5b5061032f61083c3660046124cd565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f2929d19c0000000000000000000000000000000000000000000000000000000014806108e557507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061093157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b80610940575061094082611753565b92915050565b61095033826117a8565b50565b61095b6117b3565b61096582826117e8565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60026109c1816117f4565b8382146109fa576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610aa8575f848483818110610a1757610a1761296d565b9050602002016020810190610a2c919061299a565b9050801515600103610a6e57610a69878784818110610a4d57610a4d61296d565b9050602002016020810190610a6291906124cd565b60016117e8565b610a9f565b610a9f878784818110610a8357610a8361296d565b9050602002016020810190610a9891906124cd565b60016117a8565b506001016109fc565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610b015760018160011c14303b10610af85763f92ee8a95f526004601cfd5b818160ff1b1b91505b506040517f7a7da9f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6102aa6117b3565b610b456117b3565b61096582826117a8565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805b82811015610c0257610bed848483818110610bdb57610bdb61296d565b90506020028101906107fe91906129b9565b610bfa575f915050610940565b600101610bbe565b5060019392505050565b610c146117b3565b610c1d5f611840565b565b604080516020810190915260608152610c38818a6118a5565b505f8967ffffffffffffffff811115610c5357610c53612a1a565b604051908082528060200260200182016040528015610c9757816020015b604080518082019091525f8082526020820152815260200190600190039081610c715790505b5090505f8a67ffffffffffffffff811115610cb457610cb4612a1a565b604051908082528060200260200182016040528015610cf857816020015b604080518082019091525f8082526020820152815260200190600190039081610cd25790505b5090505f805b8c811015610e52575f8e8e83818110610d1957610d1961296d565b9050602002810190610d2b91906129b9565b810190610d389190612b0f565b9050600181516002811115610d4f57610d4f612bfa565b03610e02575f805f610d61845f6118e2565b92509250925080955060405180604001604052803073ffffffffffffffffffffffffffffffffffffffff16815260200183815250888681518110610da757610da761296d565b602002602001018190525060405180604001604052808473ffffffffffffffffffffffffffffffffffffffff16815260200183815250878681518110610def57610def61296d565b6020026020010181905250505050610e31565b610e2e8f8f84818110610e1757610e1761296d565b9050602002810190610e2991906129b9565b611a06565b92505b604080516060815290528551600583901b0160200183905250600101610cfe565b50604080516060810182528381526020810188905280820187905290517fedd9444b0000000000000000000000000000000000000000000000000000000081526e22d473030f116ddee9f6b43ac78ba39163edd9444b91610ebe9190879033908e908e90600401612cac565b5f604051808303815f87803b158015610ed5575f80fd5b505af1158015610ee7573d5f803e3d5ffd5b50506040517fe21ff73100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8e16925063e21ff7319150610f3f908d908d90600401612d87565b5f604051808303815f875af1158015610f5a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f819190810190612e52565b505f610f8b855190565b90505f5b8151811015610ffd575f610fb9838381518110610fae57610fae61296d565b602002602001015190565b9050805c15610ff4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101610f8f565b505050505050505050505050505050565b60408051602081019091526060815261102781866118a5565b505f5b85811015611067575f611048888884818110610e1757610e1761296d565b604080516060815290528351600584901b01602001525060010161102a565b506040517fe21ff73100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063e21ff731906110bc9086908690600401612d87565b5f604051808303815f875af11580156110d7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110fe9190810190612e52565b505f611108825190565b90505f5b815181101561116f575f61112b838381518110610fae57610fae61296d565b9050805c15611166576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161110c565b5050505050505050565b5f805f8773ffffffffffffffffffffffffffffffffffffffff166313c8e2de866040518263ffffffff1660e01b81526004016111b791815260200190565b5f60405180830381865afa1580156111d1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111f89190810190612e52565b90508060e0015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611263576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60405180604001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200189898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250506040519293508b92909150819073ffffffffffffffffffffffffffffffffffffffff84169063dd98558c906112fb908790602001612f5d565b6040516020818303038152906040528b8b6040518463ffffffff1660e01b815260040161132a93929190612f97565b60408051808303815f875af1158015611345573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113699190612fbb565b909d909c509a5050505050505050505050565b6002611387816117f4565b8382146113c0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610aa8576114128686838181106113df576113df61296d565b90506020020160208101906113f491906124cd565b8585848181106114065761140661296d565b905060200201356117e8565b6001016113c2565b6002611425816117f4565b83821461145e576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610aa8576114b086868381811061147d5761147d61296d565b905060200201602081019061149291906124cd565b8585848181106114a4576114a461296d565b905060200201356117a8565b600101611460565b6114c06117b3565b63389a75e1600c52805f526020600c2080544211156114e657636f5e88185f526004601cfd5b5f905561095081611840565b6114fa6117b3565b8060601b61150f57637448fbae5f526004601cfd5b61095081611840565b5f8061152683850185612b0f565b905060018151600281111561153d5761153d612bfa565b148061155a57505f8151600281111561155857611558612bfa565b145b1561162f575f81606001518060200190518101906115789190612fea565b90505f61159e836020015173ffffffffffffffffffffffffffffffffffffffff16908190565b508251909150815c9081101561161157602084015183516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820183905260448201526064015b60405180910390fd5b61162784602001518560400151855f0151611ce2565b505050610c02565b60028151600281111561164457611644612bfa565b0361171d575f8160600151806020019051810190611662919061302c565b90505f61167783602001518360200151611edc565b5090505f815c905080836020015111156116ec57602080850151908401516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092166004830152602482018390526044820152606401611608565b60208301516116fc908390611f41565b5061162784602001518560400151855f015186602001518760400151611f59565b5f915050610940565b5f3073ffffffffffffffffffffffffffffffffffffffff83160361174c57506001919050565b505f919050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fe49cedd7000000000000000000000000000000000000000000000000000000001480610940575061094082612185565b61096582825f61221b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610c1d576382b429005f526004601cfd5b6109658282600161221b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461095057638b78c6d8600c52335f52806020600c205416610950576382b429005f526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60408051606081529052816118ba8183612272565b50805180518084106118d85780840360051b368260010160051b8401375b5091909152919050565b5f805f8085606001518060200190518101906118fe9190612fea565b905084156119ba576040860151815160208801516119369273ffffffffffffffffffffffffffffffffffffffff90911691309061234e565b8051602087015161195d9073ffffffffffffffffffffffffffffffffffffffff16306123b0565b10156119ba57602086015181516040517fcece04c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401611608565b5f806119df886020015173ffffffffffffffffffffffffffffffffffffffff16908190565b845191935091506119f19083906123e3565b50915160209097015197919550909350505050565b5f80611a1483850185612b0f565b90505f81516002811115611a2a57611a2a612bfa565b03611ac6575f8160600151806020019051810190611a489190612fea565b80519091503414611aaa57602082015181516040517fcece04c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401611608565b80515f908190611abb9082906123e3565b509350611cdb915050565b600181516002811115611adb57611adb612bfa565b03611af7575f611aec8260016118e2565b9450611cdb92505050565b600281516002811115611b0c57611b0c612bfa565b036102aa575f8160600151806020019051810190611b2a919061302c565b9050816020015173ffffffffffffffffffffffffffffffffffffffff1663f242432a836040015130845f0151856020015186604001516040518663ffffffff1660e01b8152600401611b809594939291906130ea565b5f604051808303815f87803b158015611b97575f80fd5b505af1158015611ba9573d5f803e3d5ffd5b5050506020808301519084015183516040517efdd58e000000000000000000000000000000000000000000000000000000008152306004820152602481019190915291925073ffffffffffffffffffffffffffffffffffffffff169062fdd58e90604401602060405180830381865afa158015611c28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4c919061314b565b1015611cac57602080830151908201516040517fcece04c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401611608565b5f80611cc084602001518460200151611edc565b91509150611abb8360200151836123e390919063ffffffff16565b5092915050565b3068929eee149b4bd212685403611d005763ab143c065f526004601cfd5b3068929eee149b4bd212685573ffffffffffffffffffffffffffffffffffffffff83811690815c908416611d87576040517fbf182be800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80871660048301528516602482015260448101849052606401611608565b80831115611de7576040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201526024810182905260448101849052606401611608565b611df18284611f41565b5073ffffffffffffffffffffffffffffffffffffffff85165f9081526020819052604081208054859290611e2690849061318f565b909155505073ffffffffffffffffffffffffffffffffffffffff8516611e5557611e5084846123f3565b611e76565b611e7673ffffffffffffffffffffffffffffffffffffffff8616858561240c565b6040805173ffffffffffffffffffffffffffffffffffffffff8681168252602082018690528716917fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd43542910160405180910390a250503868929eee149b4bd2126855505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b166020820152603481018290525f908190605401604051602081830303815290604052805190602001209050611f388190565b91509250929050565b5f61094083611f5184825c6131a2565b92508261245f565b3068929eee149b4bd212685403611f775763ab143c065f526004601cfd5b3068929eee149b4bd212685573ffffffffffffffffffffffffffffffffffffffff8416611ff7576040517fbf182be800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80871660048301528516602482015260448101839052606401611608565b8115612054576040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201525f602482015260448101839052606401611608565b73ffffffffffffffffffffffffffffffffffffffff85165f9081526001602090815260408083208684529091528120805484929061209390849061318f565b90915550506040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169063f242432a906120f290309088908890889088906004016130ea565b5f604051808303815f87803b158015612109575f80fd5b505af115801561211b573d5f803e3d5ffd5b50506040805173ffffffffffffffffffffffffffffffffffffffff888116825260208201879052891693507fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd4354292500160405180910390a23868929eee149b4bd21268555050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061094057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610940565b638b78c6d8600c52825f526020600c2080548381178361223c575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b604080516060815290528163ffffffff821061228a57fe5b8251661d174b32e2c553606082036122c157604080516001860160051b92830281525f602082019081529201810190528452611cdb565b601f1980830151828106158382040290508560051b81811185518811166122eb5750505050611cdb565b816020018501604051036123115792830291840191909152508101602001604052611cdb565b604051915060208201816020018101604052808952855160051b6020015b868101518282015284018061232f575093029052509051905292915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166123a257803d873b1517106123a257637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b5f61094083611f5184825c61318f565b5f385f3884865af16109655763b12d13eb5f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661245557803d853b151710612455576390b8ec185f526004601cfd5b505f603452505050565b80825d5050565b5f60208284031215612476575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146124a5575f80fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610950575f80fd5b5f602082840312156124dd575f80fd5b81356124a5816124ac565b5f602082840312156124f8575f80fd5b5035919050565b5f8060408385031215612510575f80fd5b823561251b816124ac565b946020939093013593505050565b5f8083601f840112612539575f80fd5b50813567ffffffffffffffff811115612550575f80fd5b6020830191508360208260051b850101111561256a575f80fd5b9250929050565b5f805f8060408587031215612584575f80fd5b843567ffffffffffffffff81111561259a575f80fd5b6125a687828801612529565b909550935050602085013567ffffffffffffffff8111156125c5575f80fd5b6125d187828801612529565b95989497509550505050565b5f8083601f8401126125ed575f80fd5b50813567ffffffffffffffff811115612604575f80fd5b60208301915083602082850101111561256a575f80fd5b5f806020838503121561262c575f80fd5b823567ffffffffffffffff811115612642575f80fd5b61264e858286016125dd565b90969095509350505050565b5f806020838503121561266b575f80fd5b823567ffffffffffffffff811115612681575f80fd5b61264e85828601612529565b5f805f805f805f805f60c08a8c0312156126a5575f80fd5b893567ffffffffffffffff8111156126bb575f80fd5b6126c78c828d01612529565b909a5098505060208a01356126db816124ac565b965060408a013567ffffffffffffffff8111156126f6575f80fd5b6127028c828d016125dd565b90975095505060608a013567ffffffffffffffff811115612721575f80fd5b61272d8c828d016125dd565b9a9d999c50979a96999598959660808101359660a09091013595509350505050565b5f805f805f60608688031215612763575f80fd5b853567ffffffffffffffff811115612779575f80fd5b61278588828901612529565b9096509450506020860135612799816124ac565b9250604086013567ffffffffffffffff8111156127b4575f80fd5b6127c0888289016125dd565b969995985093965092949392505050565b5f805f805f608086880312156127e5575f80fd5b85356127f0816124ac565b9450602086013567ffffffffffffffff81111561280b575f80fd5b612817888289016125dd565b9699909850959660408101359660609091013595509350505050565b5f805f805f805f8060a0898b03121561284a575f80fd5b8835612855816124ac565b97506020890135612865816124ac565b9650604089013567ffffffffffffffff811115612880575f80fd5b61288c8b828c01612529565b909750955050606089013567ffffffffffffffff8111156128ab575f80fd5b6128b78b828c01612529565b909550935050608089013567ffffffffffffffff8111156128d6575f80fd5b6128e28b828c016125dd565b999c989b5096995094979396929594505050565b5f805f805f8060a0878903121561290b575f80fd5b8635612916816124ac565b95506020870135612926816124ac565b94506040870135935060608701359250608087013567ffffffffffffffff81111561294f575f80fd5b61295b89828a016125dd565b979a9699509497509295939492505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156129aa575f80fd5b813580151581146124a5575f80fd5b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126129ec575f80fd5b83018035915067ffffffffffffffff821115612a06575f80fd5b60200191503681900382131561256a575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715612a6a57612a6a612a1a565b60405290565b604051610100810167ffffffffffffffff81118282101715612a6a57612a6a612a1a565b6040516060810167ffffffffffffffff81118282101715612a6a57612a6a612a1a565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ae057612ae0612a1a565b604052919050565b5f67ffffffffffffffff821115612b0157612b01612a1a565b50601f01601f191660200190565b5f60208284031215612b1f575f80fd5b813567ffffffffffffffff811115612b35575f80fd5b820160808185031215612b46575f80fd5b612b4e612a47565b813560038110612b5c575f80fd5b81526020820135612b6c816124ac565b60208201526040820135612b7f816124ac565b6040820152606082013567ffffffffffffffff811115612b9d575f80fd5b80830192505084601f830112612bb1575f80fd5b8135612bc4612bbf82612ae8565b612ab7565b818152866020838601011115612bd8575f80fd5b816020850160208301375f918101602001919091526060820152949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f8151808452602084019350602083015f5b82811015612c79578151805173ffffffffffffffffffffffffffffffffffffffff1687526020908101518188015260409096019590910190600101612c39565b5093949350505050565b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b608081525f60e08201875160606080850152818151808452610100860191506020830193505f92505b80831015612d1b57835173ffffffffffffffffffffffffffffffffffffffff81511683526020810151602084015250604082019150602084019350600183019250612cd5565b5060208a015160a086015260408a015160c08601528481036020860152612d42818a612c27565b92505050612d68604084018773ffffffffffffffffffffffffffffffffffffffff169052565b8281036060840152612d7b818587612c83565b98975050505050505050565b602081525f612d9a602083018486612c83565b949350505050565b8051612dad816124ac565b919050565b5f82601f830112612dc1575f80fd5b815167ffffffffffffffff811115612ddb57612ddb612a1a565b8060051b612deb60208201612ab7565b91825260208185018101929081019086841115612e06575f80fd5b6020860192505b83831015612e31578251612e20816124ac565b825260209283019290910190612e0d565b9695505050505050565b805167ffffffffffffffff81168114612dad575f80fd5b5f60208284031215612e62575f80fd5b815167ffffffffffffffff811115612e78575f80fd5b82016101008185031215612e8a575f80fd5b612e92612a70565b612e9b82612da2565b8152612ea960208301612da2565b6020820152612eba60408301612da2565b6040820152612ecb60608301612da2565b6060820152608082015167ffffffffffffffff811115612ee9575f80fd5b612ef586828501612db2565b608083015250612f0760a08301612e3b565b60a082015260c08281015190820152612f2260e08301612da2565b60e0820152949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6020815273ffffffffffffffffffffffffffffffffffffffff82511660208201525f6020830151604080840152612d9a6060840182612f2f565b606081525f612fa96060830186612f2f565b60208301949094525060400152919050565b5f8060408385031215612fcc575f80fd5b82516020840151909250612fdf816124ac565b809150509250929050565b5f6020828403128015612ffb575f80fd5b506040516020810167ffffffffffffffff8111828210171561301f5761301f612a1a565b6040529151825250919050565b5f6020828403121561303c575f80fd5b815167ffffffffffffffff811115613052575f80fd5b820160608185031215613063575f80fd5b61306b612a94565b8151815260208083015190820152604082015167ffffffffffffffff811115613092575f80fd5b80830192505084601f8301126130a6575f80fd5b81516130b4612bbf82612ae8565b8181528660208386010111156130c8575f80fd5b8160208501602083015e5f918101602001919091526040820152949350505050565b73ffffffffffffffffffffffffffffffffffffffff8616815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015282606082015260a060808201525f61314060a0830184612f2f565b979650505050505050565b5f6020828403121561315b575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561094057610940613162565b818103818111156109405761094061316256fea2646970667358221220939d361b5e90e1226b2c60a1dd15199ed11a5562d5a9b8397ea79704761e263364736f6c634300081a0033",y=class y extends _.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=e.b}async clawbackFromTarget(f,b,a,d,c){return await this.awaitResult(this.clawbackFromTargetRaw(f,b,a,d,c))}async clawbackFromTargetRaw(f,b,a,d,c){const{request:s,result:n}=await e.jU(this._config,{address:this.assertValidAddress(),args:[f,b,BigInt(a),BigInt(d)],...this.optionallyAttachAccount(),...c});return{hash:await e.RU(this._config,s),result:n}}async disburse(f,b){return await this.awaitResult(this.disburseRaw(f,b))}async disburseRaw(f,b){const{request:a,result:d}=await e.KU(this._config,{address:this.assertValidAddress(),args:[r.prepareTransfer(f)],...this.optionallyAttachAccount(),...b});return{hash:await e.VU(this._config,a),result:d}}async disburseBatch(f,b){return await this.awaitResult(this.disburseBatchRaw(f,b))}async disburseBatchRaw(f,b){const{request:a,result:d}=await e.XU(this._config,{address:this.assertValidAddress(),args:[f.map(r.prepareTransfer)],...this.optionallyAttachAccount(),...b});return{hash:await e.zU(this._config,a),result:d}}total(f=t.zeroAddress,b,a){return e.IU(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}distributed(f=t.zeroAddress,b,a){return e.lU(this._config,{address:this.assertValidAddress(),args:b?[f,b]:[f],...a})}buildParameters(f,b){const[a,d]=this.validateDeploymentConfig({},b);return{abi:e.b,bytecode:P,args:[t.zeroHash],...this.optionallyAttachAccount(d.account)}}};y.bases={31337:void 0,...m.TransparentBudget},y.registryType=B.RegistryType.BUDGET;let l=y;const A={[o.AManagedBudget]:r.ManagedBudget,[o.AManagedBudgetWithFees]:h,[o.AManagedBudgetWithFeesV2]:u,[o.ATransparentBudget]:l};async function k(i,f,b){const a=await p.readContract(i.config,{abi:e.O,functionName:"getComponentInterface",address:f,...b}),d=A[a];if(!d)throw new R.InvalidComponentInterfaceError(Object.keys(A),a);return new d(i,f)}exports.BudgetByComponentInterface=A;exports.ManagedBudgetWithFees=h;exports.ManagedBudgetWithFeesV2=u;exports.TransparentBudget=l;exports.budgetFromAddress=k;exports.prepareManagedBudgetWithFeesPayload=V;exports.prepareManagedBudgetWithFeesV2Payload=T;
2
+ //# sourceMappingURL=Budget-CBvRK5Ia.cjs.map