@aztec/l1-artifacts 2.0.0-nightly.20250828 → 2.0.0-nightly.20250830

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 (173) hide show
  1. package/dest/CoinIssuerAbi.d.ts +41 -5
  2. package/dest/CoinIssuerAbi.d.ts.map +1 -1
  3. package/dest/CoinIssuerAbi.js +53 -5
  4. package/dest/CoinIssuerBytecode.d.ts +1 -1
  5. package/dest/CoinIssuerBytecode.js +1 -1
  6. package/dest/EmpireBaseAbi.d.ts +41 -5
  7. package/dest/EmpireBaseAbi.d.ts.map +1 -1
  8. package/dest/EmpireBaseAbi.js +53 -5
  9. package/dest/EmpireSlasherDeploymentExtLibAbi.d.ts +41 -5
  10. package/dest/EmpireSlasherDeploymentExtLibAbi.d.ts.map +1 -1
  11. package/dest/EmpireSlasherDeploymentExtLibAbi.js +53 -5
  12. package/dest/EmpireSlasherDeploymentExtLibBytecode.d.ts +1 -1
  13. package/dest/EmpireSlasherDeploymentExtLibBytecode.d.ts.map +1 -1
  14. package/dest/EmpireSlasherDeploymentExtLibBytecode.js +1 -1
  15. package/dest/EmpireSlashingProposerAbi.d.ts +41 -5
  16. package/dest/EmpireSlashingProposerAbi.d.ts.map +1 -1
  17. package/dest/EmpireSlashingProposerAbi.js +53 -5
  18. package/dest/EmpireSlashingProposerBytecode.d.ts +1 -1
  19. package/dest/EmpireSlashingProposerBytecode.d.ts.map +1 -1
  20. package/dest/EmpireSlashingProposerBytecode.js +1 -1
  21. package/dest/ErrorsAbi.d.ts +41 -5
  22. package/dest/ErrorsAbi.d.ts.map +1 -1
  23. package/dest/ErrorsAbi.js +53 -5
  24. package/dest/FeeAssetHandlerAbi.d.ts +41 -5
  25. package/dest/FeeAssetHandlerAbi.d.ts.map +1 -1
  26. package/dest/FeeAssetHandlerAbi.js +53 -5
  27. package/dest/FeeJuicePortalAbi.d.ts +41 -5
  28. package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
  29. package/dest/FeeJuicePortalAbi.js +53 -5
  30. package/dest/FeeJuicePortalBytecode.d.ts +1 -1
  31. package/dest/FeeJuicePortalBytecode.js +1 -1
  32. package/dest/GSEAbi.d.ts +41 -5
  33. package/dest/GSEAbi.d.ts.map +1 -1
  34. package/dest/GSEAbi.js +53 -5
  35. package/dest/GSEBytecode.d.ts +1 -1
  36. package/dest/GSEBytecode.d.ts.map +1 -1
  37. package/dest/GSEBytecode.js +1 -1
  38. package/dest/GovernanceAbi.d.ts +69 -41
  39. package/dest/GovernanceAbi.d.ts.map +1 -1
  40. package/dest/GovernanceAbi.js +90 -52
  41. package/dest/GovernanceBytecode.d.ts +1 -1
  42. package/dest/GovernanceBytecode.d.ts.map +1 -1
  43. package/dest/GovernanceBytecode.js +1 -1
  44. package/dest/GovernanceProposerAbi.d.ts +41 -5
  45. package/dest/GovernanceProposerAbi.d.ts.map +1 -1
  46. package/dest/GovernanceProposerAbi.js +53 -5
  47. package/dest/GovernanceProposerBytecode.d.ts +1 -1
  48. package/dest/GovernanceProposerBytecode.js +1 -1
  49. package/dest/HonkVerifierAbi.d.ts +41 -5
  50. package/dest/HonkVerifierAbi.d.ts.map +1 -1
  51. package/dest/HonkVerifierAbi.js +53 -5
  52. package/dest/HonkVerifierBytecode.d.ts +1 -1
  53. package/dest/HonkVerifierBytecode.d.ts.map +1 -1
  54. package/dest/HonkVerifierBytecode.js +1 -1
  55. package/dest/IERC20Abi.d.ts +41 -5
  56. package/dest/IERC20Abi.d.ts.map +1 -1
  57. package/dest/IERC20Abi.js +53 -5
  58. package/dest/IVerifierAbi.d.ts +41 -5
  59. package/dest/IVerifierAbi.d.ts.map +1 -1
  60. package/dest/IVerifierAbi.js +53 -5
  61. package/dest/InboxAbi.d.ts +41 -5
  62. package/dest/InboxAbi.d.ts.map +1 -1
  63. package/dest/InboxAbi.js +53 -5
  64. package/dest/InboxBytecode.d.ts +1 -1
  65. package/dest/InboxBytecode.js +1 -1
  66. package/dest/MockVerifierAbi.d.ts +41 -5
  67. package/dest/MockVerifierAbi.d.ts.map +1 -1
  68. package/dest/MockVerifierAbi.js +53 -5
  69. package/dest/MockZKPassportVerifierAbi.d.ts +41 -5
  70. package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -1
  71. package/dest/MockZKPassportVerifierAbi.js +53 -5
  72. package/dest/MultiAdderAbi.d.ts +41 -5
  73. package/dest/MultiAdderAbi.d.ts.map +1 -1
  74. package/dest/MultiAdderAbi.js +53 -5
  75. package/dest/MultiAdderBytecode.d.ts +1 -1
  76. package/dest/MultiAdderBytecode.d.ts.map +1 -1
  77. package/dest/MultiAdderBytecode.js +1 -1
  78. package/dest/NewGovernanceProposerPayloadAbi.d.ts +41 -5
  79. package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
  80. package/dest/NewGovernanceProposerPayloadAbi.js +53 -5
  81. package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
  82. package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
  83. package/dest/OutboxAbi.d.ts +41 -5
  84. package/dest/OutboxAbi.d.ts.map +1 -1
  85. package/dest/OutboxAbi.js +53 -5
  86. package/dest/OutboxBytecode.d.ts +1 -1
  87. package/dest/OutboxBytecode.js +1 -1
  88. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +41 -5
  89. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
  90. package/dest/RegisterNewRollupVersionPayloadAbi.js +53 -5
  91. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
  92. package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
  93. package/dest/RegistryAbi.d.ts +41 -5
  94. package/dest/RegistryAbi.d.ts.map +1 -1
  95. package/dest/RegistryAbi.js +53 -5
  96. package/dest/RegistryBytecode.d.ts +1 -1
  97. package/dest/RegistryBytecode.js +1 -1
  98. package/dest/RewardDeploymentExtLibAbi.d.ts +41 -5
  99. package/dest/RewardDeploymentExtLibAbi.d.ts.map +1 -1
  100. package/dest/RewardDeploymentExtLibAbi.js +53 -5
  101. package/dest/RewardDeploymentExtLibBytecode.d.ts +1 -1
  102. package/dest/RewardDeploymentExtLibBytecode.js +1 -1
  103. package/dest/RewardDistributorAbi.d.ts +41 -5
  104. package/dest/RewardDistributorAbi.d.ts.map +1 -1
  105. package/dest/RewardDistributorAbi.js +53 -5
  106. package/dest/RewardDistributorBytecode.d.ts +1 -1
  107. package/dest/RewardDistributorBytecode.js +1 -1
  108. package/dest/RollupAbi.d.ts +56 -8
  109. package/dest/RollupAbi.d.ts.map +1 -1
  110. package/dest/RollupAbi.js +71 -8
  111. package/dest/RollupBytecode.d.ts +32 -32
  112. package/dest/RollupBytecode.d.ts.map +1 -1
  113. package/dest/RollupBytecode.js +32 -32
  114. package/dest/RollupOperationsExtLibAbi.d.ts +41 -5
  115. package/dest/RollupOperationsExtLibAbi.d.ts.map +1 -1
  116. package/dest/RollupOperationsExtLibAbi.js +53 -5
  117. package/dest/RollupOperationsExtLibBytecode.d.ts +1 -1
  118. package/dest/RollupOperationsExtLibBytecode.js +1 -1
  119. package/dest/RollupStorage.d.ts +5 -5
  120. package/dest/RollupStorage.js +5 -5
  121. package/dest/SlashFactoryAbi.d.ts +41 -5
  122. package/dest/SlashFactoryAbi.d.ts.map +1 -1
  123. package/dest/SlashFactoryAbi.js +53 -5
  124. package/dest/SlashFactoryBytecode.d.ts +1 -1
  125. package/dest/SlashFactoryBytecode.js +1 -1
  126. package/dest/SlasherAbi.d.ts +41 -5
  127. package/dest/SlasherAbi.d.ts.map +1 -1
  128. package/dest/SlasherAbi.js +53 -5
  129. package/dest/SlasherBytecode.d.ts +1 -1
  130. package/dest/SlasherBytecode.js +1 -1
  131. package/dest/StakingAssetHandlerAbi.d.ts +41 -5
  132. package/dest/StakingAssetHandlerAbi.d.ts.map +1 -1
  133. package/dest/StakingAssetHandlerAbi.js +53 -5
  134. package/dest/StakingAssetHandlerBytecode.d.ts +1 -1
  135. package/dest/StakingAssetHandlerBytecode.js +1 -1
  136. package/dest/TallySlasherDeploymentExtLibAbi.d.ts +41 -5
  137. package/dest/TallySlasherDeploymentExtLibAbi.d.ts.map +1 -1
  138. package/dest/TallySlasherDeploymentExtLibAbi.js +53 -5
  139. package/dest/TallySlasherDeploymentExtLibBytecode.d.ts +1 -1
  140. package/dest/TallySlasherDeploymentExtLibBytecode.d.ts.map +1 -1
  141. package/dest/TallySlasherDeploymentExtLibBytecode.js +1 -1
  142. package/dest/TallySlashingProposerAbi.d.ts +118 -10
  143. package/dest/TallySlashingProposerAbi.d.ts.map +1 -1
  144. package/dest/TallySlashingProposerAbi.js +152 -10
  145. package/dest/TallySlashingProposerBytecode.d.ts +1 -1
  146. package/dest/TallySlashingProposerBytecode.d.ts.map +1 -1
  147. package/dest/TallySlashingProposerBytecode.js +1 -1
  148. package/dest/TestERC20Abi.d.ts +41 -5
  149. package/dest/TestERC20Abi.d.ts.map +1 -1
  150. package/dest/TestERC20Abi.js +53 -5
  151. package/dest/TokenPortalAbi.d.ts +41 -5
  152. package/dest/TokenPortalAbi.d.ts.map +1 -1
  153. package/dest/TokenPortalAbi.js +53 -5
  154. package/dest/TokenPortalBytecode.d.ts +1 -1
  155. package/dest/TokenPortalBytecode.js +1 -1
  156. package/dest/UniswapPortalAbi.d.ts +41 -5
  157. package/dest/UniswapPortalAbi.d.ts.map +1 -1
  158. package/dest/UniswapPortalAbi.js +53 -5
  159. package/dest/UniswapPortalBytecode.d.ts +1 -1
  160. package/dest/UniswapPortalBytecode.js +1 -1
  161. package/dest/ValidatorOperationsExtLibAbi.d.ts +45 -5
  162. package/dest/ValidatorOperationsExtLibAbi.d.ts.map +1 -1
  163. package/dest/ValidatorOperationsExtLibAbi.js +58 -5
  164. package/dest/ValidatorOperationsExtLibBytecode.d.ts +1 -1
  165. package/dest/ValidatorOperationsExtLibBytecode.js +1 -1
  166. package/dest/ValidatorSelectionLibAbi.d.ts +41 -5
  167. package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
  168. package/dest/ValidatorSelectionLibAbi.js +53 -5
  169. package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
  170. package/dest/ValidatorSelectionLibBytecode.js +1 -1
  171. package/dest/checksum.d.ts +1 -1
  172. package/dest/checksum.js +1 -1
  173. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
3
  */
4
- export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f18711a6eef225eedf2ac87c849a18be8550d29195ad30ca2a54cec040106512b60c05260ae60e05260805160a05160c05160e051615af46100e55f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b0152818161138e015281816115c5015281816116110152818161165f015281816116b60152612d6201525f5050615af45ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615718565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157f0565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157f0565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615807565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157f0565b905060016102a96008856157f0565b6102b391906157f0565b6102bd908261581a565b90506102cb600160296157f0565b6102d5908261581a565b905060026102e4600185615807565b6102ee91906157f0565b6102f8908261581a565b90506103056001846157f0565b61030f908261581a565b905061031c6002806157f0565b610326908261581a565b905061033360108261581a565b9392505050565b610342615220565b61034a611788565b905090565b6103576153aa565b5f805b60108110156103b95761038686838761037460208361581a565b926103819392919061582d565b6120c0565b8351826010811061039957610399615854565b6020020181815250506020826103af919061581a565b915060010161035a565b506103dd8582866103cb60408361581a565b926103d89392919061582d565b6120d3565b60208301526103ed60408261581a565b90506104008582866103cb60408361581a565b604080840191909152610413908261581a565b90506104268582866103cb60408361581a565b606083015261043660408261581a565b90506104498582866103cb60408361581a565b60c083015261045960408261581a565b905061046c8582866103cb60408361581a565b60e083015261047c60408261581a565b905061048f8582866103cb60408361581a565b608083015261049f60408261581a565b90506104b28582866103cb60408361581a565b6101008301526104c360408261581a565b90506104d68582866103cb60408361581a565b60a08301526104e660408261581a565b90505f5b83811015610564575f5b600881101561055b5761050e87848861037460208361581a565b84610120015183601c811061052557610525615854565b6020020151826008811061053b5761053b615854565b602002018181525050602083610551919061581a565b92506001016104f4565b506001016104ea565b505f5b60298110156105b85761058186838761037460208361581a565b836101400151826029811061059857610598615854565b6020020181815250506020826105ae919061581a565b9150600101610567565b505f5b6105c6600185615807565b81101561060f576105de8683876103cb60408361581a565b83610160015182601b81106105f5576105f5615854565b602002015261060560408361581a565b91506001016105bb565b505f5b838110156106625761062b86838761037460208361581a565b83610180015182601c811061064257610642615854565b602002018181525050602082610658919061581a565b9150600101610612565b506106748582866103cb60408361581a565b6101a083015261068560408261581a565b90506106988582866103cb60408361581a565b6101c0830152509392505050565b6106ae61545a565b5f6106bd888888888886612155565b90835290506106cc81896121a9565b602084019190915290506106e08184612356565b604084019190915290506106f58882856123b7565b60608401919091529050610709888261248b565b6080840191909152905061071e888285612516565b60a0840191909152905061073388828561268a565b60c08401919091529050610747888261274e565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a631000000061581a565b61278b565b6127a3565b6127be565b90505f6107a38761079e8a61077b6107768b600161581a565b6127d7565b90505f5b6107d260107f0000000000000000000000000000000000000000000000000000000000000000615807565b81101561083f575f6107fc8c83815181106107ef576107ef615854565b60200260200101516127ff565b905061080c8661077b86846127be565b955061081c8561077b85846127be565b9450610828848b6127be565b9350610834838b6127d7565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e615854565b602002015190506108738661077b86846127be565b95506108838561077b85846127be565b945061088f848b6127be565b935061089b838b6127d7565b925050600101610842565b506108b18484612814565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c811061090557610905615854565b602002015190505f6109178286612822565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e615854565b6020020151905061095f8382612845565b9550610986886040015185601c811061097a5761097a615854565b602002015186836129f4565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a1f565b90508281145b9695505050505050565b5f6109c96154b3565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a98565b90505f610a267f0000000000000000000000000000000000000000000000000000000000000000602461581a565b610a3190600261581a565b6001600160401b03811115610a4857610a48615868565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f0000000000000000000000000000000000000000000000000000000000000000602461581a565b610aab90600261581a565b6001600160401b03811115610ac257610ac2615868565b604051908082528060200260200182016040528015610afb57816020015b610ae8615523565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b615854565b60200260200101516127d7565b612b61565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b54615854565b60200260200101516127be565b610140850181905261012085015160c0880151610b829261078091906127a3565b845260a0860151610bb290610b9690612b61565b61077b86610120015161079e8a60c001518961014001516127a3565b6020850152815160019083905f90610bcc57610bcc615854565b602002602001018181525050876101a00151815f81518110610bf057610bf0615854565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd1565b60408501526020840151610c2690612bd1565b606085015260015b60248111610cd157610c4885604001518660a001516127a3565b838281518110610c5a57610c5a615854565b602002602001018181525050610ca38560c001516107808b6101400151600185610c849190615807565b60298110610c9457610c94615854565b60200201518860a001516127a3565b60c086015260a08501516080880151610cbc91906127a3565b60a0860152610cca8161587c565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d8361581a565b90505f610cf760248461581a565b9050610d28858381518110610d0e57610d0e615854565b602002602001015161078089606001518a60a001516127a3565b858381518110610d3a57610d3a615854565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d68615854565b60200201518a60a001516127a3565b60c088015260a087015160808a0151610d9091906127a3565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db8615854565b6020026020010181905250866080015181600281518110610ddb57610ddb615854565b60200260200101819052508660a0015181600381518110610dfe57610dfe615854565b60200260200101819052508660c0015181600481518110610e2157610e21615854565b60200260200101819052508660e0015181600581518110610e4457610e44615854565b602002602001018190525086610100015181600681518110610e6857610e68615854565b602002602001018190525086610120015181600781518110610e8c57610e8c615854565b602002602001018190525086610140015181600881518110610eb057610eb0615854565b602002602001018190525086610160015181600981518110610ed457610ed4615854565b6020026020010181905250866101c0015181600a81518110610ef857610ef8615854565b602002602001018190525086610180015181600b81518110610f1c57610f1c615854565b6020026020010181905250866101a0015181600c81518110610f4057610f40615854565b6020026020010181905250866101e0015181600d81518110610f6457610f64615854565b602002602001018190525086610200015181600e81518110610f8857610f88615854565b602002602001018190525086610220015181600f81518110610fac57610fac615854565b602002602001018190525086610240015181601081518110610fd057610fd0615854565b602002602001018190525086610260015181601181518110610ff457610ff4615854565b60200260200101819052508661028001518160128151811061101857611018615854565b6020026020010181905250866102a001518160138151811061103c5761103c615854565b6020026020010181905250866102c001518160148151811061106057611060615854565b6020026020010181905250866102e001518160158151811061108457611084615854565b6020026020010181905250866103000151816016815181106110a8576110a8615854565b6020026020010181905250866103200151816017815181106110cc576110cc615854565b6020026020010181905250866103400151816018815181106110f0576110f0615854565b60200260200101819052508661036001518160198151811061111457611114615854565b602002602001018190525086610380015181601a8151811061113857611138615854565b6020026020010181905250866103a0015181601b8151811061115c5761115c615854565b6020026020010181905250866103c0015181601c8151811061118057611180615854565b6020026020010181905250876020015181601d815181106111a3576111a3615854565b6020026020010181905250876040015181601e815181106111c6576111c6615854565b6020026020010181905250876060015181601f815181106111e9576111e9615854565b602002602001018190525087608001518160208151811061120c5761120c615854565b60200260200101819052508760a001518160218151811061122f5761122f615854565b60200260200101819052508761010001518160228151811061125357611253615854565b60200260200101819052508760c001518160238151811061127657611276615854565b60200260200101819052508760e001518160248151811061129957611299615854565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be3565b9050611309815f815181106112f6576112f6615854565b60200260200101518661012001516127a3565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a3565b8861014001516127a3565b608086015260c087015161134d90612d49565b60a08601525f5b61137f60017f0000000000000000000000000000000000000000000000000000000000000000615807565b8110156115a9575f6113b260017f0000000000000000000000000000000000000000000000000000000000000000615807565b821015905080611551576113e5610b288a60e00151888560016113d5919061581a565b81518110610b1b57610b1b615854565b61012088015260e089015161141490610b28908861140486600161581a565b81518110610b5457610b54615854565b61014088015260a087015161012088015161142f91906127a3565b61016088015260a087015160c08a015161144c9161132f916127a3565b610180880181905261146f9061146190612bd1565b610780896101600151612bd1565b858361147d6024600161581a565b611487919061581a565b8151811061149757611497615854565b6020026020010181815250505f6114da8861018001518d61018001518560016114c0919061581a565b601c81106114d0576114d0615854565b60200201516127a3565b9050611514816107808a6101600151878760016114f7919061581a565b8151811061150757611507615854565b60200260200101516127a3565b90506115248860800151826127be565b608089015260a088015160c08b015161154a91611540916127a3565b8b60c001516127a3565b60a0890152505b8a610160015182601b811061156857611568615854565b6020020151848361157b6024600161581a565b611585919061581a565b8151811061159557611595615854565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115eb7f0000000000000000000000000000000000000000000000000000000000000000602461581a565b815181106115fb576115fb615854565b60209081029190910101526080850151836116377f0000000000000000000000000000000000000000000000000000000000000000602461581a565b8151811061164757611647615854565b60209081029190910101526101c089015180836116857f0000000000000000000000000000000000000000000000000000000000000000602461581a565b61169090600161581a565b815181106116a0576116a0615854565b602090810291909101015260e0880151846116dc7f0000000000000000000000000000000000000000000000000000000000000000602461581a565b6116e790600161581a565b815181106116f7576116f7615854565b6020026020010181815250505f61170e8486612d54565b90505f61171a83612e64565b90505f61172b8d5f01518484612eaa565b90505f5f61173b8f5f0151612f20565b9150915061174882612fe1565b61175181612fe1565b61175c858385613080565b9450611769848285613080565b935061177585856130a6565b9f9e505050505050505050505050505050565b611790615220565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f27c84e3c1e6daf57e465e287469e803a0a7dcb2995cf0635f1f12caf52fefde681527f070da88a46b36891f4b40ab4031d75c8a1536cf3964848b73f9b353cd0f880e7818301526060830152825180840184527f16a79e7fd02695aab1642b006442bd787e63b10b2da4d3a46664d760fe812c4f81527f234e923bc7a50ddf7049d81eafa824708960f90546554dd11f2c9af7ba187993818301526080830152825180840184527f2a16ce2a97cdcaa18a1d3bb1f8440dc3e38766a3f8b0f478890a508bec8fd69e81527f2e6bfc4d59330d9f7f857614cf07f9853663099499a2af5914e6f95e34c736888183015260a0830152825180840184527f15a5e75a8ad71a5c9cae1c2660e2578a30a84d854a92bdb03c7de7cbaf1da87e81527f1aec506d4254d21cd2b3ad03fce0346037b8ca54242e544116fd1eb453bc703e8183015260c0830152825180840184527f1756bb11d19b9a8c268264b3ab2e26cc5c605851ee041dd9a6a4ff8d20939f0581527f114bc3029a8c6576f8e6e5725d885ace832a0176308bade083b9ea34ab58b1de8183015260e0830152825180840184527f18e4282d0d95b2c9eb1672809d37af35976a9372cecb4c04086376106cf6926e81527e9cc9aff95f7afa47a2f6e9b1a8ced57e29d742d2b90a9ef50c13781f7abc1181830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f17390f88bcaa4d6b1aefcba2d0cdc2dac56af22ae5bb4e43134e581495d839b481527e51265580db27eb9614de752bbb01f3b046251df2c86c031797d79da957c85a81830152610140830152825180840184527f1fddd8550514f0c0c81c5d4a7d97c07d204f50ce2a9ef6e94b5f5f2c6130e0a981527f0e7e199a7414059d54000604b6b7c860d522fa1ad9d25819c695d8f1cce6190981830152610160830152825180840184527f0b4972347ad90cbf14127a3cffe2e41f915844fca524baf8b9e8c91de795880281527f1f5fb74b9638890ffdc6b82534ea2138f963465bb7512eaea03c5612529f5a0a81830152610180830152825180840184527f25dae5e057bca602845860990fdfa83d2c14f59ccb7d297021e01385aae4eb9181527f225a99f7d970106f72f3fbb0397a2f32feab85008e5aa0f57245a91b10eec290818301526101a0830152825180840184527f1a089cf9991b4d34142ede929890352f245b37b5e8a63745cab0317541ea3e8a81527f0dcf3822b8185894f9ccc98475abc6bcdb0996179c347eac61f9292effe69370818301526101c0830152825180840184527f1fcaf420b3933783a784f711a4bcd8f4c233f0e6d5ca587ea10d7cc78268ccce81527f2038450c95b69f86faea778f708edfc69d79c6f75e0f5ea14a3333606fb66a2b818301526101e0830152825180840184527e414bd2a330d2b17aaaead37c4804e4fec64f017c8d7b62b27a9b675aa6eb7581527f2738637920f37afa0f91bce4434063ca4b6c675f9d9857b8c5509dae19f70ed881830152610200830152825180840184527f2bfaa0ac25808f15e238afdd6850959c6dfe972e139e828acc622473338c1f5181527f1d6d04fd09c435a678dd6fd853f2d90affd3c237acf6897605ee45dbf70be91e81830152610220830152825180840184527f24dffd67dc677f24a4e9aae810237803982139bc26662857709f10029850628c81527f28dde61a9b2827bcc1ddf1e1923d4d35035d0d4fafb90dbdb38a4526f015829381830152610240830152825180840184527f140c325fc82163b89c055f65c3c0129f6e79793e0b2cc6193637f39ca0616cc481527f1afceeafa9f18c745757ba30542aaf24d1034883f150901b0e9a7a378b3b410d81830152610260830152825180840184527f1855d8e059de4371307f5769f14c308c0b1c25a2d2f7cb22521b700aadeff27c81527f0e6b3caaa0ca6d76cbbd89da87aec65f20868e94b00d9bb90cfe2cbec84a9a7b81830152610280830152825180840184527f2a4a853e7eafca58367ec69c71905b52917fc8c207a30a908568433dec69b99d81527f24bd85072b676d5b325897450dbf0ea645eb1085af62adf646e07690cf96294a818301526102a0830152825180840184527e105206c2ccf24aab09760e21ffb91bf05d2725ce0e316df77185a5aabc34df81527f1c8fd3092492c17fce8472a116165d18c6230fddd373ea8a137f7d74370dea71818301526102c0830152825180840184527f07ef6cc3a4ba2efa605cc79a3245d0830108ceef65e6ccb1052e171f685b297f81527f293c62b4bf9a8974b4fd86ec182bd438a4565a979ccc43fbdad6ba6df8774d62818301526102e0830152825180840184527f2217789ff6dc2cd7d11636f8583f902fa1fdc01d7c35b88a4a6d25c39f78192781527f2da02fb494c94f8643d078fc0ae033951c0e65a3f88b4592385200f310c0459581830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f214adbd17f83cdf1870841366edf036f3525366cda60edb361dbb8da3fb4bfd983527f2375d88366def9ac4b2b1cac2f18bbc62d6b16e23b8130015f1f837c870e6e11908301526103c081019190915290565b5f6103336120ce8385615894565b6127ff565b6120db615523565b60408051808201909152805f516020615ab45f395f51905f5261210160205f878961582d565b61210a91615894565b61211491906158c5565b81526020908101905f516020615ab45f395f51905f529061213990604090878961582d565b61214291615894565b61214c91906158c5565b90529392505050565b61215d61553b565b5f61216b888888888861329a565b60408601919091526020850191909152908352925061218a8389613597565b6080850191909152606084019190915291989197509095505050505050565b6121b161556b565b5f6121ba61558a565b8481526101008401805151602080840191909152905181015160408084019190915260a0860180515160608501525182015160808401525161221d91612202918491016158d8565b604051602081830303815290604052805190602001206127ff565b91506122288261361e565b6020850152835260015b60026122406001601c615807565b61224a919061590b565b8110156122ca576122678360405160200161220291815260200190565b92506122728361361e565b8561227e8460026157f0565b601b811061228e5761228e615854565b602002018661229e8560026157f0565b6122a990600161581a565b601b81106122b9576122b9615854565b602002019190915252600101612232565b506122d76001601c615807565b60011660011480156122f4575060026122f26001601c615807565b115b1561234e5761230f8260405160200161220291815260200190565b91505f61231b8361361e565b85600161232981601c615807565b6123339190615807565b601b811061234357612343615854565b602002019190915250505b509250929050565b61235e6155a8565b5f805b838110156123af5761237f8560405160200161220291815260200190565b94505f61238b8661361e565b8584601c811061239d5761239d615854565b60200201919091525050600101612361565b509093915050565b6123bf6155a8565b5f805b83811015612481576123d26155c7565b8581525f5b600881101561243b5787610120015183601c81106123f7576123f7615854565b6020020151816008811061240d5761240d615854565b60200201518261241e83600161581a565b6009811061242e5761242e615854565b60200201526001016123d7565b5061245081604051602001612202919061591e565b95505f61245c8761361e565b8685601c811061246e5761246e615854565b60200201919091525050506001016123c2565b5090949293505050565b5f5f6124956155e6565b8381525f5b60298110156124e85785610140015181602981106124ba576124ba615854565b6020020151826124cb83600161581a565b602a81106124db576124db615854565b602002015260010161249a565b506124fd816040516020016122029190615952565b91505f6125098361361e565b5096929550919350505050565b5f8080612524600185615807565b61252f9060026157f0565b61253a90600161581a565b6001600160401b0381111561255157612551615868565b60405190808252806020026020018201604052801561257a578160200160208202803683370190505b50905084815f8151811061259057612590615854565b60209081029190910101525f5b6125a8600186615807565b81101561265b5786610160015181601b81106125c6576125c6615854565b602002015151826125d88360026157f0565b6125e390600161581a565b815181106125f3576125f3615854565b60200260200101818152505086610160015181601b811061261657612616615854565b6020020151602001518282600261262d91906157f0565b61263890600261581a565b8151811061264857612648615854565b602090810291909101015260010161259d565b50612670816040516020016122029190615986565b91505f61267c8361361e565b509792965091945050505050565b5f808061269884600161581a565b6001600160401b038111156126af576126af615868565b6040519080825280602002602001820160405280156126d8578160200160208202803683370190505b50905084815f815181106126ee576126ee615854565b60209081029190910101525f5b8481101561265b5786610180015181601c811061271a5761271a615854565b60200201518261272b83600161581a565b8151811061273b5761273b615854565b60209081029190910101526001016126fb565b5f5f612758615605565b8381526101a085018051516020808401919091529051810151604080840191909152516124fd91612202918491016159bb565b5f5f516020615ad45f395f51905f52825b0692915050565b5f5f516020615ad45f395f51905f5282840990505b92915050565b5f5f516020615ad45f395f51905f528284089392505050565b5f5f516020615ad45f395f51905f52825f516020615ad45f395f51905f520384089392505050565b5f5f516020615ad45f395f51905f528261279c565b5f6103338361077b84612b61565b81515f90819061283a908560015b60200201516127be565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292c576129228261077b87846127d7565b915060010161290b565b50612935615623565b5f5b6008811015612996575f84826008811061295357612953615854565b602002015190506129688161077b89856127d7565b905061297381612b61565b90508083836008811061298857612988615854565b602002015250600101612937565b505f5b60088110156129e9575f8782600881106129b5576129b5615854565b602002015190506129d2818484600881106114d0576114d0615854565b90506129de86826127be565b955050600101612999565b506109b684836127a3565b5f5f612a0a60016107808561077b8960016127d7565b9050612a1684826127a3565b95945050505050565b5f612a286155a8565b612a3386828561364e565b612a3f868683866137fa565b612a4b868683866139e6565b612a56868285613c11565b612a61868285613e05565b612a6d8686838661414e565b612a78868285614601565b612a83868285614a13565b612a8e868285614dd4565b6109b681856150d4565b60605f826001600160401b03811115612ab357612ab3615868565b604051908082528060200260200182016040528015612adc578160200160208202803683370190505b50905083815f81518110612af257612af2615854565b602090810291909101015260015b83811015612b5957612b3482612b17600184615807565b81518110612b2757612b27615854565b6020026020010151612d49565b828281518110612b4657612b46615854565b6020908102919091010152600101612b00565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615ad45f395f51905f520360808201525f516020615ad45f395f51905f5260a082015260205f60c08360055afa80612bbd575f5ffd5b505f51608091909101604052949350505050565b5f516020615ad45f395f51905f520390565b60605f826001600160401b03811115612bfe57612bfe615868565b604051908082528060200260200182016040528015612c27578160200160208202803683370190505b509050825b8015612d3e575f85612c3f600184615807565b81518110612c4f57612c4f615854565b602002602001015190505f89600184612c689190615807565b601c8110612c7857612c78615854565b602002015190505f612cd3612c97612c90858d6127a3565b60026127a3565b61079e8b612ca6600189615807565b601c8110612cb657612cb6615854565b602002015161077b612ccd8861077b60018a6127d7565b876127d7565b9050612cf48161077b610b28612cee8761077b6001896127d7565b866127be565b9050868411612d2a579850888085612d0d600187615807565b81518110612d1d57612d1d615854565b6020026020010181815250505b50505080612d37906159ee565b9050612c2c565b509695505050505050565b5f6127b882836127a3565b612d5c615523565b5f612d887f0000000000000000000000000000000000000000000000000000000000000000602461581a565b612d9390600261581a565b90505f5b81811015612dc957612dc1858281518110612db457612db4615854565b6020026020010151612fe1565b600101612d97565b50604051600190815b60018401811015612e2e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dd2565b5080518452602081015160208501525080612e5c576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e6c615523565b5f516020615ab45f395f51905f5282602001515f516020615ab45f395f51905f52612e979190615807565b612ea191906158c5565b60208301525090565b5f5f5f612eb686612f20565b91509150612ec2615623565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f159161220291849101615a03565b979650505050505050565b612f28615523565b612f30615523565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615ab45f395f51905f528380095f516020615ab45f395f51905f5260035f516020615ab45f395f51905f52838709085f516020615ab45f395f51905f52848509149150508061307a5760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b613088615523565b613090615523565b61309a8386615139565b9050612a16818561518f565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161323c9190615a37565b5f60405180830381855afa9150503d805f8114613274576040519150601f19603f3d011682016040523d82523d5f602084013e613279565b606091505b50915091508180156109b65750808060200190518101906109b69190615a4d565b5f808080806132aa86600161581a565b6132b590600661581a565b6001600160401b038111156132cc576132cc615868565b6040519080825280602002602001820160405280156132f5578160200160208202803683370190505b509050865f1b815f8151811061330d5761330d615854565b60209081029190910101525f5b613325601088615807565b8110156133765789898281811061333e5761333e615854565b9050602002013582826001613353919061581a565b8151811061336357613363615854565b602090810291909101015260010161331a565b505f5b60108110156133e7578a516133a190826010811061339957613399615854565b602002015190565b828260106133b08b600161581a565b6133ba9190615807565b6133c4919061581a565b815181106133d4576133d4615854565b6020908102919091010152600101613379565b5060208a015151816133fa88600161581a565b8151811061340a5761340a615854565b6020908102919091018101919091528a81015101518161342b88600161581a565b61343690600161581a565b8151811061344657613446615854565b602090810291909101015260408a0151518161346388600161581a565b61346e90600261581a565b8151811061347e5761347e615854565b60209081029190910181019190915260408b01510151816134a088600161581a565b6134ab90600361581a565b815181106134bb576134bb615854565b602090810291909101015260608a015151816134d888600161581a565b6134e390600461581a565b815181106134f3576134f3615854565b60209081029190910181019190915260608b015101518161351588600161581a565b61352090600561581a565b8151811061353057613530615854565b602002602001018181525050613550816040516020016122029190615986565b915061355b8261361e565b60408051602081018690529297509095506135769101612202565b91505f6135828361361e565b50959b949a5094985090965091945050505050565b5f5f5f6135a2615642565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136049161220291849101615a6c565b915061360f8261361e565b90979096509194509092505050565b5f80826001600160801b038116608082901c613639826127ff565b9450613644816127ff565b9350505050915091565b5f61365a8460076151f0565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136bb6136b561368f8560036127d7565b61077b6136aa61369f8b5f6151f0565b61077b8c601d6151f0565b61077b8b601c6151f0565b836127a3565b905061373c6137316137186136ff6136e6856107806136db8d60026151f0565b61077b8e601c6151f0565b6107806136f48c60036151f0565b61077b8d601d6151f0565b61078061370d8b60046151f0565b61077b8c601e6151f0565b6107806137268a60056151f0565b61077b8b601f6151f0565b6107808860016151f0565b905061375b816107806137508660016127d7565b61077b8a60276151f0565b905061376781846127a3565b905061377381856127a3565b8552505f90506137ad6137a361379861378d88601c6151f0565b61078089601f6151f0565b61079e8860246151f0565b610780875f6151f0565b90506137be8161077b8460026127d7565b90506137cf8161077b8460016127d7565b90506137db81836127a3565b90506137e781846127a3565b9050808460015b60200201525050505050565b5f5f5f61383061382661380e89601c6151f0565b61078061381c8b60126151f0565b8a606001516127a3565b87608001516127be565b90506138698161077b61385f6138478b601d6151f0565b6107806138558d60136151f0565b8c606001516127a3565b89608001516127be565b905061388e8161077b61385f6138808b601e6151f0565b6107806138558d60146151f0565b90506138b38161077b61385f6138a58b601f6151f0565b6107806138558d60156151f0565b92505f90506138d76138266138c989601c6151f0565b61078061381c8b600e6151f0565b90506138fc8161077b61385f6138ee8b601d6151f0565b6107806138558d600f6151f0565b90506139218161077b61385f6139138b601e6151f0565b6107806138558d60106151f0565b90506139468161077b61385f6139388b601f6151f0565b6107806138558d60116151f0565b91505f905061396d61396761395c8960206151f0565b6107808a601a6151f0565b846127a3565b90506139a28161079e61399c6139848b60286151f0565b6107806139928d601b6151f0565b8c60a001516127a3565b856127a3565b90506139ae81856127a3565b6040860152505f6139d161399c6139c689601b6151f0565b61077b8a60286151f0565b9050808560035b602002015250505050505050565b5f5f613a44613a2c613a146139ff61385f8a60166151f0565b610780613a0d8b60176151f0565b8a516127a3565b610780613a228a60186151f0565b89602001516127a3565b610780613a3a8960196151f0565b88604001516127a3565b91505f613a7b613a62613a5889601c6151f0565b88608001516127be565b610780613a708a60036151f0565b61077b8b60246151f0565b90505f613aa4613a8c89601d6151f0565b610780613a998b5f6151f0565b61077b8c60256151f0565b90505f613ace613ab58a601e6151f0565b610780613ac38c60016151f0565b61077b8d60266151f0565b9050613b0d613af5613ae785610780868d5f01516127a3565b610780848c602001516127a3565b610780613b038c60046151f0565b8b604001516127a3565b93505050505f613b216139678860216151f0565b90505f613b326139678960216151f0565b90505f613b6a613b51613b468b60236151f0565b6107808c60066151f0565b61079e613b5f8c60236151f0565b61077b8d60066151f0565b90505f613b8e613b88613b7d87896127a3565b61077b8d60216151f0565b836127d7565b9050613b9a81886127a3565b90505f613bc2613bb4613bae8d60066151f0565b876127a3565b61079e613bae8e60226151f0565b90505f613bd08c60236151f0565b90505f613be0613b8883846127a3565b60808c0185905260a08c018490529050613bfa818b6127a3565b8b6006602002015250505050505050505050505050565b5f613c1d5f60016127d7565b90505f613c2b5f60026127d7565b90505f613c395f60036127d7565b90505f613c55613c4a88601d6151f0565b61079e89601c6151f0565b90505f613c71613c6689601e6151f0565b61079e8a601d6151f0565b90505f613c8d613c828a601f6151f0565b61079e8b601e6151f0565b90505f613ca9613c9e8b60246151f0565b61079e8c601f6151f0565b905083613cba8161077b818b6127be565b9050613cca8161077b878a6127be565b9050613cda8161077b87896127be565b9050613ceb8161077b8d60086151f0565b9050613cf7818a6127a3565b60e08b01525082613d0c8161077b818b6127be565b9050613d1c8161077b868a6127be565b9050613d2c8161077b86896127be565b9050613d3d8161077b8d60086151f0565b9050613d49818a6127a3565b6101008b01525081613d5f8161077b818b6127be565b9050613d6f8161077b858a6127be565b9050613d7f8161077b85896127be565b9050613d908161077b8d60086151f0565b9050613d9c818a6127a3565b6101208b01525080613db28161077b818b6127be565b9050613dc28161077b848a6127be565b9050613dd28161077b84896127be565b9050613de38161077b8d60086151f0565b9050613def818a6127a3565b610140909a019990995250505050505050505050565b613e3e6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4984601d6151f0565b8152613e5684601e6151f0565b6020820152613e668460246151f0565b6040820152613e768460276151f0565b6060820152613e868460266151f0565b6080820152613e968460256151f0565b60a08201525f613ea78560026151f0565b90505f613eb4865f6151f0565b90505f613ec88460400151855f01516127d7565b90505f613edd856020015186602001516127a3565b606086015190915086905f90613ef390806127a3565b90505f613f11613f0b89602001518a606001516127a3565b886127a3565b90505f613f30613f298a60a001518b604001516127be565b8a516127be565b9050613f3f613bae82886127a3565b9050613f66613f60613f5a613f5484876127d7565b886127d7565b846127be565b836127be565b9050613f8e613f83613f7883876127a3565b61077b8f60096151f0565b61077b60018a6127d7565b6101608c015250505050602085015160808601515f91613fad916127be565b90505f613fcb613fc18860600151886127a3565b88602001516127d7565b90505f613fef613fdb84876127a3565b61078061399c8b60a001518c5f01516127d7565b905061401761400c614001838c6127a3565b61077b8e60096151f0565b61077b6001896127d7565b6101808b0152505f915061403890506140318360116127be565b87516127a3565b90505f61404583846127be565b905061405181826127be565b90505f61405f8360096127a3565b905061408861408261396761407b8b60a001518c5f01516127be565b8b516127be565b826127d7565b60c089018190525f906140a390613f0b90613f78908d6127a3565b90506140b68b600b6020020151826127be565b6101608c0152505086515f92506140dd9150614031906140d690806127be565b88516127be565b90505f61411d6140f88361077b8a5f01518b60a001516127d7565b602089015161079e9061410b90806127be565b61077b8b602001518c608001516127be565b905061413a89600c6020020151610780613f0b613f78858d6127a3565b89600c602002015250505050505050505050565b6141b8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141d06141c686601e6151f0565b85604001516127a3565b8082526141ef906107806141e588601d6151f0565b87602001516127a3565b8082526142049061078061403188601c6151f0565b808252614216906107808760016151f0565b8082526020820181905261422f9061079e87601f6151f0565b815261424a61423f8660246151f0565b61079e87601c6151f0565b608082015261426861425d8660276151f0565b61079e87601f6151f0565b6060820152608081015161428a9061428090806127a3565b82608001516127d7565b6101c082015260808101516142ca906142c0906142b99061077b60015f516020615ad45f395f51905f52615807565b60016127be565b82606001516127a3565b60a08201819052614300906142f29061077b6142e78960026151f0565b61077b8a60036151f0565b61077b61399c88600a6151f0565b83600e60200201526101c0810151614324906142f29061077b6142e78960026151f0565b6101e084015280516143499061077b61433e8860026151f0565b61077b8960036151f0565b6101208201525f61436861435e87601f6151f0565b83602001516127d7565b905061437761408282836127a3565b60e083015261439461438a8760266151f0565b86604001516127a3565b604083018190526143b7906107806143ad8960256151f0565b88602001516127a3565b604083018190526143d7906107806143d08960246151f0565b88516127a3565b60408301526143f46143ea8760276151f0565b83604001516127d7565b60408301525f6144136144088860266151f0565b61079e89601e6151f0565b90506144656144406136b56142b9866080015160015f516020615ad45f395f51905f5261077b9190615807565b61077b6142b9866040015160015f516020615ad45f395f51905f5261077b9190615807565b60c084015260408301516144879061447d90806127a3565b84604001516127d7565b61010084015260c08301516144b3906144a59061077b8a60046151f0565b61077b613bae8a600a6151f0565b6102008601526101c08301516144d2906144a59061077b8a60046151f0565b6102208601526101008301516144f1906144a59061077b8a60046151f0565b61024086015260e083015161450b9061077b8960046151f0565b61014084015261452a61451f8860256151f0565b61079e89601d6151f0565b6101608401526080830151614568906144089061455d906142b99061077b60015f516020615ad45f395f51905f52615807565b8561016001516127a3565b61018084018190526101208401516101a0850181905261459f916107809061077b6145948c60056151f0565b61077b8d60026151f0565b6101a0840181905283516145bf91906107809061077b6145948c5f6151f0565b6101a084018190526101408401516145d791906127be565b6101a084018190526145f19061077b613bae8a600a6151f0565b6101a0840181905285600d6139d8565b61463a6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466f61465661464b86601c6151f0565b61077b8760256151f0565b6107806146648760246151f0565b61077b88601d6151f0565b81526146b46146a961469061468587601c6151f0565b61077b88601f6151f0565b61078061469e88601d6151f0565b61077b89601e6151f0565b61079e8660266151f0565b604082018190526146c990600160441b6127a3565b604082018190526146df9061079e8660276151f0565b6040820181905281516146f291906127be565b604082018190526147089061077b8660056151f0565b6040820152805161471d90600160441b6127a3565b80825261473d906107806147328760246151f0565b61077b8860256151f0565b808252602082018190526147649061079e61475987601e6151f0565b61078088601f6151f0565b6020820181905261477a9061077b8660046151f0565b60208201528051606082018190526147979061078086601f6151f0565b606082018190526147bb9061079e6147b08760266151f0565b6107808860276151f0565b606082018190526147d09061077b865f6151f0565b8160600181815250505f6147f96147ef836020015184604001516127be565b83606001516127be565b905061480a8161077b8760036151f0565b905061482261481a8660256151f0565b6140006127a3565b60808301819052614838906107808760246151f0565b6080830181905261484b906140006127a3565b608083018190526148619061078087601e6151f0565b60808301819052614874906140006127a3565b6080830181905261488a9061078087601d6151f0565b6080830181905261489d906140006127a3565b608083018190526148b39061078087601c6151f0565b608083018190526148c99061079e87601f6151f0565b608083018190526148df9061077b8760056151f0565b60808301526148f261481a8660266151f0565b60a08301819052614908906107808760256151f0565b60a0830181905261491b906140006127a3565b60a08301819052614931906107808760246151f0565b60a08301819052614944906140006127a3565b60a0830181905261495a9061078087601f6151f0565b60a0830181905261496d906140006127a3565b60a083018190526149839061078087601e6151f0565b60a083018190526149999061079e8760276151f0565b60a083018190526149ae9061077b875f6151f0565b60a0830181905260808301515f916149c691906127be565b90506149d78161077b8860046151f0565b90506149e382826127be565b60c084018190526149fc9061077b613bae89600b6151f0565b60c084018190528560136020020152505050505050565b614a896040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614aa2614a9785601c6151f0565b6107808660026151f0565b8152614abd614ab285601d6151f0565b6107808660036151f0565b6020820152614adb614ad085601e6151f0565b6107808660046151f0565b6040820152614af9614aee85601f6151f0565b6107808660056151f0565b60608201528051614b2b90614b2490614b1d90614b1690806127a3565b84516127a3565b83516127a3565b82516127a3565b60808201526020810151614b6990614b5f90614b5590614b4b90806127a3565b84602001516127a3565b83602001516127a3565b82602001516127a3565b60a08201526040810151614ba790614b9d90614b9390614b8990806127a3565b84604001516127a3565b83604001516127a3565b82604001516127a3565b60c08201526060810151614bdb906142c090614bd190614bc790806127a3565b84606001516127a3565b83606001516127a3565b60e0820152608081015160a0820151614bf491906127be565b61010082015260c081015160e0820151614c0e91906127be565b61012082015260a0810151614c3290614c2790806127be565b8261012001516127be565b61014082015260e0810151614c5690614c4b90806127be565b8261010001516127be565b610160820152610120810151614c6c90806127be565b6101e08201819052614c8d90614c8290806127be565b8261016001516127be565b6101e0820152610100810151614ca390806127be565b6101a08201819052614cc490614cb990806127be565b8261014001516127be565b6101a08201819052610160820151614cdb916127be565b6101808201526101408101516101e0820151614cf791906127be565b6101c0820152614d0b6136b585600c6151f0565b6102008201819052610280840151610180830151614d36926107809161077b9061079e8a60246151f0565b8360146020020152614d66836015602002015161078083610200015161077b856101a0015161079e8a60256151f0565b8360156020020152614d96836016602002015161078083610200015161077b856101c0015161079e8a60266151f0565b8360166020020152614dc6836017602002015161078083610200015161077b856101e0015161079e8a60276151f0565b836017602002015250505050565b614e266040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e5b7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e761278b565b8152602001614e897f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b61278b565b8152602001614eb67e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1561278b565b8152602001614ee47f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b61278b565b90529050614f01614ef686601c6151f0565b6107808760026151f0565b6101208301819052614f4090614f3590614f2a90614f1f90806127a3565b8561012001516127a3565b8461012001516127a3565b8361012001516127a3565b8252614f4d85601d6151f0565b6020830152614f5d85601e6151f0565b6040830152614f6d85601f6151f0565b606083015281516020830151614f95916147ef91614f8b91906127be565b84604001516127be565b6080830152614fa861396786600d6151f0565b6101408301528151614fc990614fbf90835f6114d0565b83608001516127be565b60a0830152614ff5846018602002015161078084610140015161077b8660a0015161079e8b60246151f0565b610300850152602082015161501090614fbf908360016114d0565b60c083015261503c846019602002015161078084610140015161077b8660c0015161079e8b60256151f0565b610320850152604082015161505790614fbf908360026114d0565b60e083015261508384601a602002015161078084610140015161077b8660e0015161079e8b60266151f0565b610340850152606082015161509e90614fbf908360036114d0565b6101008301526150cc84601b602002015161078084610140015161077b86610100015161079e8b60276151f0565b84601b6137ee565b5f6150e0818481612830565b905060015b601c81101561513257615128826107808684601c811061510757615107615854565b602002015186615118600187615807565b601b81106114d0576114d0615854565b91506001016150e5565b5092915050565b615141615523565b615149615523565b604051835181526020840151602082015284604082015260408160608360075afa80615173575f5ffd5b5080518252602080820151908301526060016040529392505050565b615197615523565b61519f615523565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151d4575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561520457615204615a9f565b6029811061521457615214615854565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615246615523565b8152602001615253615523565b8152602001615260615523565b815260200161526d615523565b815260200161527a615523565b8152602001615287615523565b8152602001615294615523565b81526020016152a1615523565b81526020016152ae615523565b81526020016152bb615523565b81526020016152c8615523565b81526020016152d5615523565b81526020016152e2615523565b81526020016152ef615523565b81526020016152fc615523565b8152602001615309615523565b8152602001615316615523565b8152602001615323615523565b8152602001615330615523565b815260200161533d615523565b815260200161534a615523565b8152602001615357615523565b8152602001615364615523565b8152602001615371615523565b815260200161537e615523565b815260200161538b615523565b8152602001615398615523565b81526020016153a5615523565b905290565b604051806101e001604052806153be615660565b81526020016153cb615523565b81526020016153d8615523565b81526020016153e5615523565b81526020016153f2615523565b81526020016153ff615523565b815260200161540c615523565b8152602001615419615523565b8152602001615426615523565b815260200161543361567f565b81526020016154406156ad565b815260200161544d6156cc565b815260200161538b6155a8565b60405180610100016040528061546e61553b565b815260200161547b61556b565b81526020016154886155a8565b81526020016154956155a8565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154f16156fa565b81526020016154fe6156fa565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b615697615623565b81526020019060019003908161568f5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156e4615523565b8152602001906001900390816156dc5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f6040858703121561572b575f5ffd5b84356001600160401b03811115615740575f5ffd5b8501601f81018713615750575f5ffd5b80356001600160401b03811115615765575f5ffd5b876020828401011115615776575f5ffd5b6020918201955093508501356001600160401b03811115615795575f5ffd5b8501601f810187136157a5575f5ffd5b80356001600160401b038111156157ba575f5ffd5b8760208260051b84010111156157ce575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127b8576127b86157dc565b818103818111156127b8576127b86157dc565b808201808211156127b8576127b86157dc565b5f5f8585111561583b575f5ffd5b83861115615847575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f6001820161588d5761588d6157dc565b5060010190565b803560208310156127b8575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158d3576158d36158b1565b500690565b5f8183825b60058110156158fc5781518352602092830192909101906001016158dd565b50505060a08201905092915050565b5f82615919576159196158b1565b500490565b5f8183825b6009811015615942578151835260209283019290910190600101615923565b5050506101208201905092915050565b5f8183825b602a811015615976578151835260209283019290910190600101615957565b5050506105408201905092915050565b81515f90829060208501835b828110156159b0578151845260209384019390910190600101615992565b509195945050505050565b5f8183825b60038110156159df5781518352602092830192909101906001016159c0565b50505060608201905092915050565b5f816159fc576159fc6157dc565b505f190190565b5f8183825b6008811015615a27578151835260209283019290910190600101615a08565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a5d575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a90578151835260209283019290910190600101615a71565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
+ export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f06652b3df8fe71c56dedab47607ed16b64ed9b2fe9adc2a4b57c78a24be53d0060c05260ae60e05260805160a05160c05160e051615b256100e55f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b0152818161138e015281816115c5015281816116110152818161165f015281816116b60152612d9301525f5050615b255ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615749565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615821565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615821565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615838565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615821565b905060016102a9600885615821565b6102b39190615821565b6102bd908261584b565b90506102cb60016029615821565b6102d5908261584b565b905060026102e4600185615838565b6102ee9190615821565b6102f8908261584b565b9050610305600184615821565b61030f908261584b565b905061031c600280615821565b610326908261584b565b905061033360108261584b565b9392505050565b610342615251565b61034a611788565b905090565b6103576153db565b5f805b60108110156103b95761038686838761037460208361584b565b926103819392919061585e565b6120c3565b8351826010811061039957610399615885565b6020020181815250506020826103af919061584b565b915060010161035a565b506103dd8582866103cb60408361584b565b926103d89392919061585e565b6120d6565b60208301526103ed60408261584b565b90506104008582866103cb60408361584b565b604080840191909152610413908261584b565b90506104268582866103cb60408361584b565b606083015261043660408261584b565b90506104498582866103cb60408361584b565b60c083015261045960408261584b565b905061046c8582866103cb60408361584b565b60e083015261047c60408261584b565b905061048f8582866103cb60408361584b565b608083015261049f60408261584b565b90506104b28582866103cb60408361584b565b6101008301526104c360408261584b565b90506104d68582866103cb60408361584b565b60a08301526104e660408261584b565b90505f5b83811015610564575f5b600881101561055b5761050e87848861037460208361584b565b84610120015183601c811061052557610525615885565b6020020151826008811061053b5761053b615885565b602002018181525050602083610551919061584b565b92506001016104f4565b506001016104ea565b505f5b60298110156105b85761058186838761037460208361584b565b836101400151826029811061059857610598615885565b6020020181815250506020826105ae919061584b565b9150600101610567565b505f5b6105c6600185615838565b81101561060f576105de8683876103cb60408361584b565b83610160015182601b81106105f5576105f5615885565b602002015261060560408361584b565b91506001016105bb565b505f5b838110156106625761062b86838761037460208361584b565b83610180015182601c811061064257610642615885565b602002018181525050602082610658919061584b565b9150600101610612565b506106748582866103cb60408361584b565b6101a083015261068560408261584b565b90506106988582866103cb60408361584b565b6101c0830152509392505050565b6106ae61548b565b5f6106bd888888888886612158565b90835290506106cc81896121ac565b602084019190915290506106e08184612359565b604084019190915290506106f58882856123e8565b6060840191909152905061070988826124bc565b6080840191909152905061071e888285612547565b60a084019190915290506107338882856126bb565b60c08401919091529050610747888261277f565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a631000000061584b565b6127bc565b6127d4565b6127ef565b90505f6107a38761079e8a61077b6107768b600161584b565b612808565b90505f5b6107d260107f0000000000000000000000000000000000000000000000000000000000000000615838565b81101561083f575f6107fc8c83815181106107ef576107ef615885565b6020026020010151612830565b905061080c8661077b86846127ef565b955061081c8561077b85846127ef565b9450610828848b6127ef565b9350610834838b612808565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e615885565b602002015190506108738661077b86846127ef565b95506108838561077b85846127ef565b945061088f848b6127ef565b935061089b838b612808565b925050600101610842565b506108b18484612845565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c811061090557610905615885565b602002015190505f6109178286612853565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e615885565b6020020151905061095f8382612876565b9550610986886040015185601c811061097a5761097a615885565b60200201518683612a25565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a50565b90508281145b9695505050505050565b5f6109c96154e4565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612ac9565b90505f610a267f0000000000000000000000000000000000000000000000000000000000000000602461584b565b610a3190600261584b565b6001600160401b03811115610a4857610a48615899565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f0000000000000000000000000000000000000000000000000000000000000000602461584b565b610aab90600261584b565b6001600160401b03811115610ac257610ac2615899565b604051908082528060200260200182016040528015610afb57816020015b610ae8615554565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b615885565b6020026020010151612808565b612b92565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b54615885565b60200260200101516127ef565b610140850181905261012085015160c0880151610b829261078091906127d4565b845260a0860151610bb290610b9690612b92565b61077b86610120015161079e8a60c001518961014001516127d4565b6020850152815160019083905f90610bcc57610bcc615885565b602002602001018181525050876101a00151815f81518110610bf057610bf0615885565b6020908102919091010152600160a08501525f60c08501528351610c1390612c02565b60408501526020840151610c2690612c02565b606085015260015b60248111610cd157610c4885604001518660a001516127d4565b838281518110610c5a57610c5a615885565b602002602001018181525050610ca38560c001516107808b6101400151600185610c849190615838565b60298110610c9457610c94615885565b60200201518860a001516127d4565b60c086015260a08501516080880151610cbc91906127d4565b60a0860152610cca816158ad565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d8361584b565b90505f610cf760248461584b565b9050610d28858381518110610d0e57610d0e615885565b602002602001015161078089606001518a60a001516127d4565b858381518110610d3a57610d3a615885565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d68615885565b60200201518a60a001516127d4565b60c088015260a087015160808a0151610d9091906127d4565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db8615885565b6020026020010181905250866080015181600281518110610ddb57610ddb615885565b60200260200101819052508660a0015181600381518110610dfe57610dfe615885565b60200260200101819052508660c0015181600481518110610e2157610e21615885565b60200260200101819052508660e0015181600581518110610e4457610e44615885565b602002602001018190525086610100015181600681518110610e6857610e68615885565b602002602001018190525086610120015181600781518110610e8c57610e8c615885565b602002602001018190525086610140015181600881518110610eb057610eb0615885565b602002602001018190525086610160015181600981518110610ed457610ed4615885565b6020026020010181905250866101c0015181600a81518110610ef857610ef8615885565b602002602001018190525086610180015181600b81518110610f1c57610f1c615885565b6020026020010181905250866101a0015181600c81518110610f4057610f40615885565b6020026020010181905250866101e0015181600d81518110610f6457610f64615885565b602002602001018190525086610200015181600e81518110610f8857610f88615885565b602002602001018190525086610220015181600f81518110610fac57610fac615885565b602002602001018190525086610240015181601081518110610fd057610fd0615885565b602002602001018190525086610260015181601181518110610ff457610ff4615885565b60200260200101819052508661028001518160128151811061101857611018615885565b6020026020010181905250866102a001518160138151811061103c5761103c615885565b6020026020010181905250866102c001518160148151811061106057611060615885565b6020026020010181905250866102e001518160158151811061108457611084615885565b6020026020010181905250866103000151816016815181106110a8576110a8615885565b6020026020010181905250866103200151816017815181106110cc576110cc615885565b6020026020010181905250866103400151816018815181106110f0576110f0615885565b60200260200101819052508661036001518160198151811061111457611114615885565b602002602001018190525086610380015181601a8151811061113857611138615885565b6020026020010181905250866103a0015181601b8151811061115c5761115c615885565b6020026020010181905250866103c0015181601c8151811061118057611180615885565b6020026020010181905250876020015181601d815181106111a3576111a3615885565b6020026020010181905250876040015181601e815181106111c6576111c6615885565b6020026020010181905250876060015181601f815181106111e9576111e9615885565b602002602001018190525087608001518160208151811061120c5761120c615885565b60200260200101819052508760a001518160218151811061122f5761122f615885565b60200260200101819052508761010001518160228151811061125357611253615885565b60200260200101819052508760c001518160238151811061127657611276615885565b60200260200101819052508760e001518160248151811061129957611299615885565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c14565b9050611309815f815181106112f6576112f6615885565b60200260200101518661012001516127d4565b608086018190526101808a01515160c089015161133a92916107809161132f91906127d4565b8861014001516127d4565b608086015260c087015161134d90612d7a565b60a08601525f5b61137f60017f0000000000000000000000000000000000000000000000000000000000000000615838565b8110156115a9575f6113b260017f0000000000000000000000000000000000000000000000000000000000000000615838565b821015905080611551576113e5610b288a60e00151888560016113d5919061584b565b81518110610b1b57610b1b615885565b61012088015260e089015161141490610b28908861140486600161584b565b81518110610b5457610b54615885565b61014088015260a087015161012088015161142f91906127d4565b61016088015260a087015160c08a015161144c9161132f916127d4565b610180880181905261146f9061146190612c02565b610780896101600151612c02565b858361147d6024600161584b565b611487919061584b565b8151811061149757611497615885565b6020026020010181815250505f6114da8861018001518d61018001518560016114c0919061584b565b601c81106114d0576114d0615885565b60200201516127d4565b9050611514816107808a6101600151878760016114f7919061584b565b8151811061150757611507615885565b60200260200101516127d4565b90506115248860800151826127ef565b608089015260a088015160c08b015161154a91611540916127d4565b8b60c001516127d4565b60a0890152505b8a610160015182601b811061156857611568615885565b6020020151848361157b6024600161584b565b611585919061584b565b8151811061159557611595615885565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115eb7f0000000000000000000000000000000000000000000000000000000000000000602461584b565b815181106115fb576115fb615885565b60209081029190910101526080850151836116377f0000000000000000000000000000000000000000000000000000000000000000602461584b565b8151811061164757611647615885565b60209081029190910101526101c089015180836116857f0000000000000000000000000000000000000000000000000000000000000000602461584b565b61169090600161584b565b815181106116a0576116a0615885565b602090810291909101015260e0880151846116dc7f0000000000000000000000000000000000000000000000000000000000000000602461584b565b6116e790600161584b565b815181106116f7576116f7615885565b6020026020010181815250505f61170e8486612d85565b90505f61171a83612e95565b90505f61172b8d5f01518484612edb565b90505f5f61173b8f5f0151612f51565b9150915061174882613012565b61175181613012565b61175c8583856130b1565b94506117698482856130b1565b935061177585856130d7565b9f9e505050505050505050505050505050565b611790615251565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f2cf1fd18443e8480686ad9734ed06910a6b18735ce60209dfbcc95758666cb0581527f09dcecde002efa7e9b5079afe8ef60bd20706d4e3a1f7d8d29cb71e283989ca5818301526060830152825180840184527f2e85548d2b78e4674fdb1de4d3bbf7555778431ac9e2e100e1ace387c9eedee381527f048a98a644d0c3105f7780acd0a43c947bcfd9fcdf198c04bb4978d293e72110818301526080830152825180840184527f1a3adff75067bda4ec3a712627817ac6f285806169af7753050085e4527addf581527f2288bb1e791872fffc35233704fd4777c7a884fdf1cc9e28c779d68600ce15708183015260a0830152825180840184527f1682bb0b9d289505ed1d0c854d116328bfd7461ec3480d9b21ba8c00a9e5acc581527f05e0849878293241749f2c89bab856ebe9c42df51087bf4e918038954466d87e8183015260c0830152825180840184527f255de58b2e4375de032cbf949b79ce0a0a4698cad53cb25f9e6579000dac57ad81527f0bc3e311b27dbae5743382d970f82203ea518ddbb0b8d0f19086a25d653a16968183015260e0830152825180840184527f061ff2ddfbe4b2125476eb9c78ac9422b53fceec7f56f32912d454e21b929ae281527f257690ef31e89b111559ccac9a0dcb7ed01c6d324e6d822c5049ad556a29250281830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f2fc3e4a74a073db95aa8bdfcebec6f02e964fa4e1d63512eda3f72f1001a62e381527f2e5ed5733e2711cc21f993878193b40134f4ab78dab52490a592c0d2234165f781830152610140830152825180840184527f1fffe1fe767f791cc0981f841f97f89cff6b55b95b0caa244fa05adb98c9901d81527f1eea494c24fbb21aaa1687173898885eb9c27acae68e28dab94591be6c62b93c81830152610160830152825180840184527f2bc7bb660fe369e2e947c57ae56ce2513f88e313b985db25ea51dc8eb9db0de181527f2ba508347aa9cf25538cc6d368c7da4476ba9c2bf9f48850f41948c816ec934781830152610180830152825180840184527f26b18dddc6e4688e730bf61b161a23e9a3a3e949c39d84f331efd378a7bbe63a81527f01066800dc07f3758d7cec66f4104776675ca2d1c6b553bde990072dfb645951818301526101a0830152825180840184527f0ff33702c9935d3b15d8c5b8300cda247440c50b0495e403409072936ff0fa9a81527f18dc430615000101fa0d9b122da5eaea4a2cae231e8f5f88195d696f7f67f792818301526101c0830152825180840184527f150981f15327de20bf257e0c8521ab5a1f81f5e16f48898807b320af05fb0ecb81527f2726cb9dd1d030cdf75ffbbaea02af077421930d935e379916a7aa9ae1a629f0818301526101e0830152825180840184527f1640550d8e5f52ba09e8c076a2b88d39a3e7c056173d0b8d9a5cc62b120ccb1f81527f29cb71852056bf61bd1a3e3d42107aecef2b10f060b79fb7be2a3d009a0b043c81830152610200830152825180840184527f2951befb5b2ac06d3d001f10424cd0c5d99b126ab043e074f610c73f90dfdc6f81527f0ab076c6c7414836408dcc03bf5bfcbd74e94e69842b52f8e4a79876c55ff3bd81830152610220830152825180840184527f1a96d80f9971b0b5438b9e1811b4db9c0167b8b6c2b3877cb01e015042c95cf181527f27ba92a17c740e084fee6c5143b95acb8daaff87f3dac236c692bea08b12427781830152610240830152825180840184527f189144a9a3ac64fa4664927dfe9e3ed4038c34f149932ed93e1866414b028dee81527f0ab1d180572880c51d9b88b2fb5430bd59a23786c1a3803aced91873702d4a2f81830152610260830152825180840184527f15c289c6a875b9e2acd2963534aea8be4dad633572f26e72e03b85958b1bbea181527f15e32723ec0302922cf516f91780f00b2e660121c781943e952aa4149a734a9a81830152610280830152825180840184527f1ded32665a9abe4c871d22864624198457a771e3dea5c2bcf043e32817ad2edd81527f1d6d2dc9064a97de70dadcb7359988cbc812b4690a111695cef3b06c5bb9a588818301526102a0830152825180840184527f1c435006d32eda6b670430eebfe2cc471171a60759e424341a0fab652ae754c881527ee04523473cc42e27b68967425480f93c36253ba0343725caaab74214479e7d818301526102c0830152825180840184527f06f36e981739dfb17f1c89a62fdac8b79942a4a2d120a45e32b692310e19125a81527f09b54a73d13725c3619ccad6ada726782ee1dbbbda1bd10f8d91c5d0cabc98b0818301526102e0830152825180840184527f135847aebfb1324ad075dbe18916c5537af1759e19d844997d779dcd5003c26481527f24c62683dc196e11f9a76ac0e71fe8513121d570c19b3c27df90c2bb736d2b5781830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f14cc3ce3a9c0277e7c9fd67dafa39a41793e6ac12992244680120a1ff3e6123283527f05269236771380c6f8c0859a8c1a0309af84f1daea615c3c1586c8626ff6b754908301526103c081019190915290565b5f6103336120d183856158c5565b612830565b6120de615554565b60408051808201909152805f516020615ae55f395f51905f5261210460205f878961585e565b61210d916158c5565b61211791906158f6565b81526020908101905f516020615ae55f395f51905f529061213c90604090878961585e565b612145916158c5565b61214f91906158f6565b90529392505050565b61216061556c565b5f61216e88888888886132cb565b60408601919091526020850191909152908352925061218d83896135c8565b6080850191909152606084019190915291989197509095505050505050565b6121b461559c565b5f6121bd6155bb565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122209161220591849101615909565b60405160208183030381529060405280519060200120612830565b915061222b8261364f565b6020850152835260015b60026122436001601c615838565b61224d919061593c565b8110156122cd5761226a8360405160200161220591815260200190565b92506122758361364f565b85612281846002615821565b601b811061229157612291615885565b60200201866122a1856002615821565b6122ac90600161584b565b601b81106122bc576122bc615885565b602002019190915252600101612235565b506122da6001601c615838565b60011660011480156122f7575060026122f56001601c615838565b115b15612351576123128260405160200161220591815260200190565b91505f61231e8361364f565b85600161232c81601c615838565b6123369190615838565b601b811061234657612346615885565b602002019190915250505b509250929050565b6123616155d9565b5f6123788460405160200161220591815260200190565b93506123838461364f565b50825260015b838110156123e0576123c1836123a0600184615838565b601c81106123b0576123b0615885565b6020020151846114c0600185615838565b8382601c81106123d3576123d3615885565b6020020152600101612389565b509093915050565b6123f06155d9565b5f805b838110156124b2576124036155f8565b8581525f5b600881101561246c5787610120015183601c811061242857612428615885565b6020020151816008811061243e5761243e615885565b60200201518261244f83600161584b565b6009811061245f5761245f615885565b6020020152600101612408565b5061248181604051602001612205919061594f565b95505f61248d8761364f565b8685601c811061249f5761249f615885565b60200201919091525050506001016123f3565b5090949293505050565b5f5f6124c6615617565b8381525f5b60298110156125195785610140015181602981106124eb576124eb615885565b6020020151826124fc83600161584b565b602a811061250c5761250c615885565b60200201526001016124cb565b5061252e816040516020016122059190615983565b91505f61253a8361364f565b5096929550919350505050565b5f8080612555600185615838565b612560906002615821565b61256b90600161584b565b6001600160401b0381111561258257612582615899565b6040519080825280602002602001820160405280156125ab578160200160208202803683370190505b50905084815f815181106125c1576125c1615885565b60209081029190910101525f5b6125d9600186615838565b81101561268c5786610160015181601b81106125f7576125f7615885565b60200201515182612609836002615821565b61261490600161584b565b8151811061262457612624615885565b60200260200101818152505086610160015181601b811061264757612647615885565b6020020151602001518282600261265e9190615821565b61266990600261584b565b8151811061267957612679615885565b60209081029190910101526001016125ce565b506126a18160405160200161220591906159b7565b91505f6126ad8361364f565b509792965091945050505050565b5f80806126c984600161584b565b6001600160401b038111156126e0576126e0615899565b604051908082528060200260200182016040528015612709578160200160208202803683370190505b50905084815f8151811061271f5761271f615885565b60209081029190910101525f5b8481101561268c5786610180015181601c811061274b5761274b615885565b60200201518261275c83600161584b565b8151811061276c5761276c615885565b602090810291909101015260010161272c565b5f5f612789615636565b8381526101a0850180515160208084019190915290518101516040808401919091525161252e91612205918491016159ec565b5f5f516020615b055f395f51905f52825b0692915050565b5f5f516020615b055f395f51905f5282840990505b92915050565b5f5f516020615b055f395f51905f528284089392505050565b5f5f516020615b055f395f51905f52825f516020615b055f395f51905f520384089392505050565b5f5f516020615b055f395f51905f52826127cd565b5f6103338361077b84612b92565b81515f90819061286b908560015b60200201516127ef565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561295d576129538261077b8784612808565b915060010161293c565b50612966615654565b5f5b60088110156129c7575f84826008811061298457612984615885565b602002015190506129998161077b8985612808565b90506129a481612b92565b9050808383600881106129b9576129b9615885565b602002015250600101612968565b505f5b6008811015612a1a575f8782600881106129e6576129e6615885565b60200201519050612a03818484600881106114d0576114d0615885565b9050612a0f86826127ef565b9550506001016129ca565b506109b684836127d4565b5f5f612a3b60016107808561077b896001612808565b9050612a4784826127d4565b95945050505050565b5f612a596155d9565b612a6486828561367f565b612a708686838661382b565b612a7c86868386613a17565b612a87868285613c42565b612a92868285613e36565b612a9e8686838661417f565b612aa9868285614632565b612ab4868285614a44565b612abf868285614e05565b6109b68185615105565b60605f826001600160401b03811115612ae457612ae4615899565b604051908082528060200260200182016040528015612b0d578160200160208202803683370190505b50905083815f81518110612b2357612b23615885565b602090810291909101015260015b83811015612b8a57612b6582612b48600184615838565b81518110612b5857612b58615885565b6020026020010151612d7a565b828281518110612b7757612b77615885565b6020908102919091010152600101612b31565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615b055f395f51905f520360808201525f516020615b055f395f51905f5260a082015260205f60c08360055afa80612bee575f5ffd5b505f51608091909101604052949350505050565b5f516020615b055f395f51905f520390565b60605f826001600160401b03811115612c2f57612c2f615899565b604051908082528060200260200182016040528015612c58578160200160208202803683370190505b509050825b8015612d6f575f85612c70600184615838565b81518110612c8057612c80615885565b602002602001015190505f89600184612c999190615838565b601c8110612ca957612ca9615885565b602002015190505f612d04612cc8612cc1858d6127d4565b60026127d4565b61079e8b612cd7600189615838565b601c8110612ce757612ce7615885565b602002015161077b612cfe8861077b60018a612808565b87612808565b9050612d258161077b610b28612d1f8761077b600189612808565b866127ef565b9050868411612d5b579850888085612d3e600187615838565b81518110612d4e57612d4e615885565b6020026020010181815250505b50505080612d6890615a1f565b9050612c5d565b509695505050505050565b5f6127e982836127d4565b612d8d615554565b5f612db97f0000000000000000000000000000000000000000000000000000000000000000602461584b565b612dc490600261584b565b90505f5b81811015612dfa57612df2858281518110612de557612de5615885565b6020026020010151613012565b600101612dc8565b50604051600190815b60018401811015612e5f5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612e03565b5080518452602081015160208501525080612e8d576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e9d615554565b5f516020615ae55f395f51905f5282602001515f516020615ae55f395f51905f52612ec89190615838565b612ed291906158f6565b60208301525090565b5f5f5f612ee786612f51565b91509150612ef3615654565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f469161220591849101615a34565b979650505050505050565b612f59615554565b612f61615554565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615ae55f395f51905f528380095f516020615ae55f395f51905f5260035f516020615ae55f395f51905f52838709085f516020615ae55f395f51905f5284850914915050806130ab5760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b6130b9615554565b6130c1615554565b6130cb838661516a565b9050612a4781856151c0565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161326d9190615a68565b5f60405180830381855afa9150503d805f81146132a5576040519150601f19603f3d011682016040523d82523d5f602084013e6132aa565b606091505b50915091508180156109b65750808060200190518101906109b69190615a7e565b5f808080806132db86600161584b565b6132e690600661584b565b6001600160401b038111156132fd576132fd615899565b604051908082528060200260200182016040528015613326578160200160208202803683370190505b509050865f1b815f8151811061333e5761333e615885565b60209081029190910101525f5b613356601088615838565b8110156133a75789898281811061336f5761336f615885565b9050602002013582826001613384919061584b565b8151811061339457613394615885565b602090810291909101015260010161334b565b505f5b6010811015613418578a516133d29082601081106133ca576133ca615885565b602002015190565b828260106133e18b600161584b565b6133eb9190615838565b6133f5919061584b565b8151811061340557613405615885565b60209081029190910101526001016133aa565b5060208a0151518161342b88600161584b565b8151811061343b5761343b615885565b6020908102919091018101919091528a81015101518161345c88600161584b565b61346790600161584b565b8151811061347757613477615885565b602090810291909101015260408a0151518161349488600161584b565b61349f90600261584b565b815181106134af576134af615885565b60209081029190910181019190915260408b01510151816134d188600161584b565b6134dc90600361584b565b815181106134ec576134ec615885565b602090810291909101015260608a0151518161350988600161584b565b61351490600461584b565b8151811061352457613524615885565b60209081029190910181019190915260608b015101518161354688600161584b565b61355190600561584b565b8151811061356157613561615885565b6020026020010181815250506135818160405160200161220591906159b7565b915061358c8261364f565b60408051602081018690529297509095506135a79101612205565b91505f6135b38361364f565b50959b949a5094985090965091945050505050565b5f5f5f6135d3615673565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136359161220591849101615a9d565b91506136408261364f565b90979096509194509092505050565b5f80826001600160801b038116608082901c61366a82612830565b945061367581612830565b9350505050915091565b5f61368b846007615221565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136ec6136e66136c0856003612808565b61077b6136db6136d08b5f615221565b61077b8c601d615221565b61077b8b601c615221565b836127d4565b905061376d6137626137496137306137178561078061370c8d6002615221565b61077b8e601c615221565b6107806137258c6003615221565b61077b8d601d615221565b61078061373e8b6004615221565b61077b8c601e615221565b6107806137578a6005615221565b61077b8b601f615221565b610780886001615221565b905061378c81610780613781866001612808565b61077b8a6027615221565b905061379881846127d4565b90506137a481856127d4565b8552505f90506137de6137d46137c96137be88601c615221565b61078089601f615221565b61079e886024615221565b610780875f615221565b90506137ef8161077b846002612808565b90506138008161077b846001612808565b905061380c81836127d4565b905061381881846127d4565b9050808460015b60200201525050505050565b5f5f5f61386161385761383f89601c615221565b61078061384d8b6012615221565b8a606001516127d4565b87608001516127ef565b905061389a8161077b6138906138788b601d615221565b6107806138868d6013615221565b8c606001516127d4565b89608001516127ef565b90506138bf8161077b6138906138b18b601e615221565b6107806138868d6014615221565b90506138e48161077b6138906138d68b601f615221565b6107806138868d6015615221565b92505f90506139086138576138fa89601c615221565b61078061384d8b600e615221565b905061392d8161077b61389061391f8b601d615221565b6107806138868d600f615221565b90506139528161077b6138906139448b601e615221565b6107806138868d6010615221565b90506139778161077b6138906139698b601f615221565b6107806138868d6011615221565b91505f905061399e61399861398d896020615221565b6107808a601a615221565b846127d4565b90506139d38161079e6139cd6139b58b6028615221565b6107806139c38d601b615221565b8c60a001516127d4565b856127d4565b90506139df81856127d4565b6040860152505f613a026139cd6139f789601b615221565b61077b8a6028615221565b9050808560035b602002015250505050505050565b5f5f613a75613a5d613a45613a306138908a6016615221565b610780613a3e8b6017615221565b8a516127d4565b610780613a538a6018615221565b89602001516127d4565b610780613a6b896019615221565b88604001516127d4565b91505f613aac613a93613a8989601c615221565b88608001516127ef565b610780613aa18a6003615221565b61077b8b6024615221565b90505f613ad5613abd89601d615221565b610780613aca8b5f615221565b61077b8c6025615221565b90505f613aff613ae68a601e615221565b610780613af48c6001615221565b61077b8d6026615221565b9050613b3e613b26613b1885610780868d5f01516127d4565b610780848c602001516127d4565b610780613b348c6004615221565b8b604001516127d4565b93505050505f613b52613998886021615221565b90505f613b63613998896021615221565b90505f613b9b613b82613b778b6023615221565b6107808c6006615221565b61079e613b908c6023615221565b61077b8d6006615221565b90505f613bbf613bb9613bae87896127d4565b61077b8d6021615221565b83612808565b9050613bcb81886127d4565b90505f613bf3613be5613bdf8d6006615221565b876127d4565b61079e613bdf8e6022615221565b90505f613c018c6023615221565b90505f613c11613bb983846127d4565b60808c0185905260a08c018490529050613c2b818b6127d4565b8b6006602002015250505050505050505050505050565b5f613c4e5f6001612808565b90505f613c5c5f6002612808565b90505f613c6a5f6003612808565b90505f613c86613c7b88601d615221565b61079e89601c615221565b90505f613ca2613c9789601e615221565b61079e8a601d615221565b90505f613cbe613cb38a601f615221565b61079e8b601e615221565b90505f613cda613ccf8b6024615221565b61079e8c601f615221565b905083613ceb8161077b818b6127ef565b9050613cfb8161077b878a6127ef565b9050613d0b8161077b87896127ef565b9050613d1c8161077b8d6008615221565b9050613d28818a6127d4565b60e08b01525082613d3d8161077b818b6127ef565b9050613d4d8161077b868a6127ef565b9050613d5d8161077b86896127ef565b9050613d6e8161077b8d6008615221565b9050613d7a818a6127d4565b6101008b01525081613d908161077b818b6127ef565b9050613da08161077b858a6127ef565b9050613db08161077b85896127ef565b9050613dc18161077b8d6008615221565b9050613dcd818a6127d4565b6101208b01525080613de38161077b818b6127ef565b9050613df38161077b848a6127ef565b9050613e038161077b84896127ef565b9050613e148161077b8d6008615221565b9050613e20818a6127d4565b610140909a019990995250505050505050505050565b613e6f6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e7a84601d615221565b8152613e8784601e615221565b6020820152613e97846024615221565b6040820152613ea7846027615221565b6060820152613eb7846026615221565b6080820152613ec7846025615221565b60a08201525f613ed8856002615221565b90505f613ee5865f615221565b90505f613ef98460400151855f0151612808565b90505f613f0e856020015186602001516127d4565b606086015190915086905f90613f2490806127d4565b90505f613f42613f3c89602001518a606001516127d4565b886127d4565b90505f613f61613f5a8a60a001518b604001516127ef565b8a516127ef565b9050613f70613bdf82886127d4565b9050613f97613f91613f8b613f858487612808565b88612808565b846127ef565b836127ef565b9050613fbf613fb4613fa983876127d4565b61077b8f6009615221565b61077b60018a612808565b6101608c015250505050602085015160808601515f91613fde916127ef565b90505f613ffc613ff28860600151886127d4565b8860200151612808565b90505f61402061400c84876127d4565b6107806139cd8b60a001518c5f0151612808565b905061404861403d614032838c6127d4565b61077b8e6009615221565b61077b600189612808565b6101808b0152505f915061406990506140628360116127ef565b87516127d4565b90505f61407683846127ef565b905061408281826127ef565b90505f6140908360096127d4565b90506140b96140b36139986140ac8b60a001518c5f01516127ef565b8b516127ef565b82612808565b60c089018190525f906140d490613f3c90613fa9908d6127d4565b90506140e78b600b6020020151826127ef565b6101608c0152505086515f925061410e91506140629061410790806127ef565b88516127ef565b90505f61414e6141298361077b8a5f01518b60a00151612808565b602089015161079e9061413c90806127ef565b61077b8b602001518c608001516127ef565b905061416b89600c6020020151610780613f3c613fa9858d6127d4565b89600c602002015250505050505050505050565b6141e9604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6142016141f786601e615221565b85604001516127d4565b8082526142209061078061421688601d615221565b87602001516127d4565b8082526142359061078061406288601c615221565b80825261424790610780876001615221565b808252602082018190526142609061079e87601f615221565b815261427b614270866024615221565b61079e87601c615221565b608082015261429961428e866027615221565b61079e87601f615221565b606082015260808101516142bb906142b190806127d4565b8260800151612808565b6101c082015260808101516142fb906142f1906142ea9061077b60015f516020615b055f395f51905f52615838565b60016127ef565b82606001516127d4565b60a08201819052614331906143239061077b614318896002615221565b61077b8a6003615221565b61077b6139cd88600a615221565b83600e60200201526101c0810151614355906143239061077b614318896002615221565b6101e0840152805161437a9061077b61436f886002615221565b61077b896003615221565b6101208201525f61439961438f87601f615221565b8360200151612808565b90506143a86140b382836127d4565b60e08301526143c56143bb876026615221565b86604001516127d4565b604083018190526143e8906107806143de896025615221565b88602001516127d4565b6040830181905261440890610780614401896024615221565b88516127d4565b604083015261442561441b876027615221565b8360400151612808565b60408301525f614444614439886026615221565b61079e89601e615221565b90506144966144716136e66142ea866080015160015f516020615b055f395f51905f5261077b9190615838565b61077b6142ea866040015160015f516020615b055f395f51905f5261077b9190615838565b60c084015260408301516144b8906144ae90806127d4565b8460400151612808565b61010084015260c08301516144e4906144d69061077b8a6004615221565b61077b613bdf8a600a615221565b6102008601526101c0830151614503906144d69061077b8a6004615221565b610220860152610100830151614522906144d69061077b8a6004615221565b61024086015260e083015161453c9061077b896004615221565b61014084015261455b614550886025615221565b61079e89601d615221565b6101608401526080830151614599906144399061458e906142ea9061077b60015f516020615b055f395f51905f52615838565b8561016001516127d4565b61018084018190526101208401516101a085018190526145d0916107809061077b6145c58c6005615221565b61077b8d6002615221565b6101a0840181905283516145f091906107809061077b6145c58c5f615221565b6101a0840181905261014084015161460891906127ef565b6101a084018190526146229061077b613bdf8a600a615221565b6101a0840181905285600d613a09565b61466b6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6146a061468761467c86601c615221565b61077b876025615221565b610780614695876024615221565b61077b88601d615221565b81526146e56146da6146c16146b687601c615221565b61077b88601f615221565b6107806146cf88601d615221565b61077b89601e615221565b61079e866026615221565b604082018190526146fa90600160441b6127d4565b604082018190526147109061079e866027615221565b60408201819052815161472391906127ef565b604082018190526147399061077b866005615221565b6040820152805161474e90600160441b6127d4565b80825261476e90610780614763876024615221565b61077b886025615221565b808252602082018190526147959061079e61478a87601e615221565b61078088601f615221565b602082018190526147ab9061077b866004615221565b60208201528051606082018190526147c89061078086601f615221565b606082018190526147ec9061079e6147e1876026615221565b610780886027615221565b606082018190526148019061077b865f615221565b8160600181815250505f61482a614820836020015184604001516127ef565b83606001516127ef565b905061483b8161077b876003615221565b905061485361484b866025615221565b6140006127d4565b6080830181905261486990610780876024615221565b6080830181905261487c906140006127d4565b608083018190526148929061078087601e615221565b608083018190526148a5906140006127d4565b608083018190526148bb9061078087601d615221565b608083018190526148ce906140006127d4565b608083018190526148e49061078087601c615221565b608083018190526148fa9061079e87601f615221565b608083018190526149109061077b876005615221565b608083015261492361484b866026615221565b60a0830181905261493990610780876025615221565b60a0830181905261494c906140006127d4565b60a0830181905261496290610780876024615221565b60a08301819052614975906140006127d4565b60a0830181905261498b9061078087601f615221565b60a0830181905261499e906140006127d4565b60a083018190526149b49061078087601e615221565b60a083018190526149ca9061079e876027615221565b60a083018190526149df9061077b875f615221565b60a0830181905260808301515f916149f791906127ef565b9050614a088161077b886004615221565b9050614a1482826127ef565b60c08401819052614a2d9061077b613bdf89600b615221565b60c084018190528560136020020152505050505050565b614aba6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614ad3614ac885601c615221565b610780866002615221565b8152614aee614ae385601d615221565b610780866003615221565b6020820152614b0c614b0185601e615221565b610780866004615221565b6040820152614b2a614b1f85601f615221565b610780866005615221565b60608201528051614b5c90614b5590614b4e90614b4790806127d4565b84516127d4565b83516127d4565b82516127d4565b60808201526020810151614b9a90614b9090614b8690614b7c90806127d4565b84602001516127d4565b83602001516127d4565b82602001516127d4565b60a08201526040810151614bd890614bce90614bc490614bba90806127d4565b84604001516127d4565b83604001516127d4565b82604001516127d4565b60c08201526060810151614c0c906142f190614c0290614bf890806127d4565b84606001516127d4565b83606001516127d4565b60e0820152608081015160a0820151614c2591906127ef565b61010082015260c081015160e0820151614c3f91906127ef565b61012082015260a0810151614c6390614c5890806127ef565b8261012001516127ef565b61014082015260e0810151614c8790614c7c90806127ef565b8261010001516127ef565b610160820152610120810151614c9d90806127ef565b6101e08201819052614cbe90614cb390806127ef565b8261016001516127ef565b6101e0820152610100810151614cd490806127ef565b6101a08201819052614cf590614cea90806127ef565b8261014001516127ef565b6101a08201819052610160820151614d0c916127ef565b6101808201526101408101516101e0820151614d2891906127ef565b6101c0820152614d3c6136e685600c615221565b6102008201819052610280840151610180830151614d67926107809161077b9061079e8a6024615221565b8360146020020152614d97836015602002015161078083610200015161077b856101a0015161079e8a6025615221565b8360156020020152614dc7836016602002015161078083610200015161077b856101c0015161079e8a6026615221565b8360166020020152614df7836017602002015161078083610200015161077b856101e0015161079e8a6027615221565b836017602002015250505050565b614e576040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e8c7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76127bc565b8152602001614eba7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6127bc565b8152602001614ee77e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156127bc565b8152602001614f157f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6127bc565b90529050614f32614f2786601c615221565b610780876002615221565b6101208301819052614f7190614f6690614f5b90614f5090806127d4565b8561012001516127d4565b8461012001516127d4565b8361012001516127d4565b8252614f7e85601d615221565b6020830152614f8e85601e615221565b6040830152614f9e85601f615221565b606083015281516020830151614fc69161482091614fbc91906127ef565b84604001516127ef565b6080830152614fd961399886600d615221565b6101408301528151614ffa90614ff090835f6114d0565b83608001516127ef565b60a0830152615026846018602002015161078084610140015161077b8660a0015161079e8b6024615221565b610300850152602082015161504190614ff0908360016114d0565b60c083015261506d846019602002015161078084610140015161077b8660c0015161079e8b6025615221565b610320850152604082015161508890614ff0908360026114d0565b60e08301526150b484601a602002015161078084610140015161077b8660e0015161079e8b6026615221565b61034085015260608201516150cf90614ff0908360036114d0565b6101008301526150fd84601b602002015161078084610140015161077b86610100015161079e8b6027615221565b84601b61381f565b5f615111818481612861565b905060015b601c81101561516357615159826107808684601c811061513857615138615885565b602002015186615149600187615838565b601b81106114d0576114d0615885565b9150600101615116565b5092915050565b615172615554565b61517a615554565b604051835181526020840151602082015284604082015260408160608360075afa806151a4575f5ffd5b5080518252602080820151908301526060016040529392505050565b6151c8615554565b6151d0615554565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa80615205575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561523557615235615ad0565b6029811061524557615245615885565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615277615554565b8152602001615284615554565b8152602001615291615554565b815260200161529e615554565b81526020016152ab615554565b81526020016152b8615554565b81526020016152c5615554565b81526020016152d2615554565b81526020016152df615554565b81526020016152ec615554565b81526020016152f9615554565b8152602001615306615554565b8152602001615313615554565b8152602001615320615554565b815260200161532d615554565b815260200161533a615554565b8152602001615347615554565b8152602001615354615554565b8152602001615361615554565b815260200161536e615554565b815260200161537b615554565b8152602001615388615554565b8152602001615395615554565b81526020016153a2615554565b81526020016153af615554565b81526020016153bc615554565b81526020016153c9615554565b81526020016153d6615554565b905290565b604051806101e001604052806153ef615691565b81526020016153fc615554565b8152602001615409615554565b8152602001615416615554565b8152602001615423615554565b8152602001615430615554565b815260200161543d615554565b815260200161544a615554565b8152602001615457615554565b81526020016154646156b0565b81526020016154716156de565b815260200161547e6156fd565b81526020016153bc6155d9565b60405180610100016040528061549f61556c565b81526020016154ac61559c565b81526020016154b96155d9565b81526020016154c66155d9565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161552261572b565b815260200161552f61572b565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6156c8615654565b8152602001906001900390816156c05790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b615715615554565b81526020019060019003908161570d5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f6040858703121561575c575f5ffd5b84356001600160401b03811115615771575f5ffd5b8501601f81018713615781575f5ffd5b80356001600160401b03811115615796575f5ffd5b8760208284010111156157a7575f5ffd5b6020918201955093508501356001600160401b038111156157c6575f5ffd5b8501601f810187136157d6575f5ffd5b80356001600160401b038111156157eb575f5ffd5b8760208260051b84010111156157ff575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127e9576127e961580d565b818103818111156127e9576127e961580d565b808201808211156127e9576127e961580d565b5f5f8585111561586c575f5ffd5b83861115615878575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016158be576158be61580d565b5060010190565b803560208310156127e9575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f82615904576159046158e2565b500690565b5f8183825b600581101561592d57815183526020928301929091019060010161590e565b50505060a08201905092915050565b5f8261594a5761594a6158e2565b500490565b5f8183825b6009811015615973578151835260209283019290910190600101615954565b5050506101208201905092915050565b5f8183825b602a8110156159a7578151835260209283019290910190600101615988565b5050506105408201905092915050565b81515f90829060208501835b828110156159e15781518452602093840193909101906001016159c3565b509195945050505050565b5f8183825b6003811015615a105781518352602092830192909101906001016159f1565b50505060608201905092915050565b5f81615a2d57615a2d61580d565b505f190190565b5f8183825b6008811015615a58578151835260209283019290910190600101615a39565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a8e575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615ac1578151835260209283019290910190600101615aa2565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
5
5
  /**
6
6
  * HonkVerifier link references.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,y77CAAy77C,CAAC;AAC397C;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
1
+ {"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,2h8CAA2h8C,CAAC;AAC7j8C;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
- */ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f18711a6eef225eedf2ac87c849a18be8550d29195ad30ca2a54cec040106512b60c05260ae60e05260805160a05160c05160e051615af46100e55f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b0152818161138e015281816115c5015281816116110152818161165f015281816116b60152612d6201525f5050615af45ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615718565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157f0565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157f0565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615807565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157f0565b905060016102a96008856157f0565b6102b391906157f0565b6102bd908261581a565b90506102cb600160296157f0565b6102d5908261581a565b905060026102e4600185615807565b6102ee91906157f0565b6102f8908261581a565b90506103056001846157f0565b61030f908261581a565b905061031c6002806157f0565b610326908261581a565b905061033360108261581a565b9392505050565b610342615220565b61034a611788565b905090565b6103576153aa565b5f805b60108110156103b95761038686838761037460208361581a565b926103819392919061582d565b6120c0565b8351826010811061039957610399615854565b6020020181815250506020826103af919061581a565b915060010161035a565b506103dd8582866103cb60408361581a565b926103d89392919061582d565b6120d3565b60208301526103ed60408261581a565b90506104008582866103cb60408361581a565b604080840191909152610413908261581a565b90506104268582866103cb60408361581a565b606083015261043660408261581a565b90506104498582866103cb60408361581a565b60c083015261045960408261581a565b905061046c8582866103cb60408361581a565b60e083015261047c60408261581a565b905061048f8582866103cb60408361581a565b608083015261049f60408261581a565b90506104b28582866103cb60408361581a565b6101008301526104c360408261581a565b90506104d68582866103cb60408361581a565b60a08301526104e660408261581a565b90505f5b83811015610564575f5b600881101561055b5761050e87848861037460208361581a565b84610120015183601c811061052557610525615854565b6020020151826008811061053b5761053b615854565b602002018181525050602083610551919061581a565b92506001016104f4565b506001016104ea565b505f5b60298110156105b85761058186838761037460208361581a565b836101400151826029811061059857610598615854565b6020020181815250506020826105ae919061581a565b9150600101610567565b505f5b6105c6600185615807565b81101561060f576105de8683876103cb60408361581a565b83610160015182601b81106105f5576105f5615854565b602002015261060560408361581a565b91506001016105bb565b505f5b838110156106625761062b86838761037460208361581a565b83610180015182601c811061064257610642615854565b602002018181525050602082610658919061581a565b9150600101610612565b506106748582866103cb60408361581a565b6101a083015261068560408261581a565b90506106988582866103cb60408361581a565b6101c0830152509392505050565b6106ae61545a565b5f6106bd888888888886612155565b90835290506106cc81896121a9565b602084019190915290506106e08184612356565b604084019190915290506106f58882856123b7565b60608401919091529050610709888261248b565b6080840191909152905061071e888285612516565b60a0840191909152905061073388828561268a565b60c08401919091529050610747888261274e565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a631000000061581a565b61278b565b6127a3565b6127be565b90505f6107a38761079e8a61077b6107768b600161581a565b6127d7565b90505f5b6107d260107f0000000000000000000000000000000000000000000000000000000000000000615807565b81101561083f575f6107fc8c83815181106107ef576107ef615854565b60200260200101516127ff565b905061080c8661077b86846127be565b955061081c8561077b85846127be565b9450610828848b6127be565b9350610834838b6127d7565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e615854565b602002015190506108738661077b86846127be565b95506108838561077b85846127be565b945061088f848b6127be565b935061089b838b6127d7565b925050600101610842565b506108b18484612814565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c811061090557610905615854565b602002015190505f6109178286612822565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e615854565b6020020151905061095f8382612845565b9550610986886040015185601c811061097a5761097a615854565b602002015186836129f4565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a1f565b90508281145b9695505050505050565b5f6109c96154b3565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a98565b90505f610a267f0000000000000000000000000000000000000000000000000000000000000000602461581a565b610a3190600261581a565b6001600160401b03811115610a4857610a48615868565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f0000000000000000000000000000000000000000000000000000000000000000602461581a565b610aab90600261581a565b6001600160401b03811115610ac257610ac2615868565b604051908082528060200260200182016040528015610afb57816020015b610ae8615523565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b615854565b60200260200101516127d7565b612b61565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b54615854565b60200260200101516127be565b610140850181905261012085015160c0880151610b829261078091906127a3565b845260a0860151610bb290610b9690612b61565b61077b86610120015161079e8a60c001518961014001516127a3565b6020850152815160019083905f90610bcc57610bcc615854565b602002602001018181525050876101a00151815f81518110610bf057610bf0615854565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd1565b60408501526020840151610c2690612bd1565b606085015260015b60248111610cd157610c4885604001518660a001516127a3565b838281518110610c5a57610c5a615854565b602002602001018181525050610ca38560c001516107808b6101400151600185610c849190615807565b60298110610c9457610c94615854565b60200201518860a001516127a3565b60c086015260a08501516080880151610cbc91906127a3565b60a0860152610cca8161587c565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d8361581a565b90505f610cf760248461581a565b9050610d28858381518110610d0e57610d0e615854565b602002602001015161078089606001518a60a001516127a3565b858381518110610d3a57610d3a615854565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d68615854565b60200201518a60a001516127a3565b60c088015260a087015160808a0151610d9091906127a3565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db8615854565b6020026020010181905250866080015181600281518110610ddb57610ddb615854565b60200260200101819052508660a0015181600381518110610dfe57610dfe615854565b60200260200101819052508660c0015181600481518110610e2157610e21615854565b60200260200101819052508660e0015181600581518110610e4457610e44615854565b602002602001018190525086610100015181600681518110610e6857610e68615854565b602002602001018190525086610120015181600781518110610e8c57610e8c615854565b602002602001018190525086610140015181600881518110610eb057610eb0615854565b602002602001018190525086610160015181600981518110610ed457610ed4615854565b6020026020010181905250866101c0015181600a81518110610ef857610ef8615854565b602002602001018190525086610180015181600b81518110610f1c57610f1c615854565b6020026020010181905250866101a0015181600c81518110610f4057610f40615854565b6020026020010181905250866101e0015181600d81518110610f6457610f64615854565b602002602001018190525086610200015181600e81518110610f8857610f88615854565b602002602001018190525086610220015181600f81518110610fac57610fac615854565b602002602001018190525086610240015181601081518110610fd057610fd0615854565b602002602001018190525086610260015181601181518110610ff457610ff4615854565b60200260200101819052508661028001518160128151811061101857611018615854565b6020026020010181905250866102a001518160138151811061103c5761103c615854565b6020026020010181905250866102c001518160148151811061106057611060615854565b6020026020010181905250866102e001518160158151811061108457611084615854565b6020026020010181905250866103000151816016815181106110a8576110a8615854565b6020026020010181905250866103200151816017815181106110cc576110cc615854565b6020026020010181905250866103400151816018815181106110f0576110f0615854565b60200260200101819052508661036001518160198151811061111457611114615854565b602002602001018190525086610380015181601a8151811061113857611138615854565b6020026020010181905250866103a0015181601b8151811061115c5761115c615854565b6020026020010181905250866103c0015181601c8151811061118057611180615854565b6020026020010181905250876020015181601d815181106111a3576111a3615854565b6020026020010181905250876040015181601e815181106111c6576111c6615854565b6020026020010181905250876060015181601f815181106111e9576111e9615854565b602002602001018190525087608001518160208151811061120c5761120c615854565b60200260200101819052508760a001518160218151811061122f5761122f615854565b60200260200101819052508761010001518160228151811061125357611253615854565b60200260200101819052508760c001518160238151811061127657611276615854565b60200260200101819052508760e001518160248151811061129957611299615854565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be3565b9050611309815f815181106112f6576112f6615854565b60200260200101518661012001516127a3565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a3565b8861014001516127a3565b608086015260c087015161134d90612d49565b60a08601525f5b61137f60017f0000000000000000000000000000000000000000000000000000000000000000615807565b8110156115a9575f6113b260017f0000000000000000000000000000000000000000000000000000000000000000615807565b821015905080611551576113e5610b288a60e00151888560016113d5919061581a565b81518110610b1b57610b1b615854565b61012088015260e089015161141490610b28908861140486600161581a565b81518110610b5457610b54615854565b61014088015260a087015161012088015161142f91906127a3565b61016088015260a087015160c08a015161144c9161132f916127a3565b610180880181905261146f9061146190612bd1565b610780896101600151612bd1565b858361147d6024600161581a565b611487919061581a565b8151811061149757611497615854565b6020026020010181815250505f6114da8861018001518d61018001518560016114c0919061581a565b601c81106114d0576114d0615854565b60200201516127a3565b9050611514816107808a6101600151878760016114f7919061581a565b8151811061150757611507615854565b60200260200101516127a3565b90506115248860800151826127be565b608089015260a088015160c08b015161154a91611540916127a3565b8b60c001516127a3565b60a0890152505b8a610160015182601b811061156857611568615854565b6020020151848361157b6024600161581a565b611585919061581a565b8151811061159557611595615854565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115eb7f0000000000000000000000000000000000000000000000000000000000000000602461581a565b815181106115fb576115fb615854565b60209081029190910101526080850151836116377f0000000000000000000000000000000000000000000000000000000000000000602461581a565b8151811061164757611647615854565b60209081029190910101526101c089015180836116857f0000000000000000000000000000000000000000000000000000000000000000602461581a565b61169090600161581a565b815181106116a0576116a0615854565b602090810291909101015260e0880151846116dc7f0000000000000000000000000000000000000000000000000000000000000000602461581a565b6116e790600161581a565b815181106116f7576116f7615854565b6020026020010181815250505f61170e8486612d54565b90505f61171a83612e64565b90505f61172b8d5f01518484612eaa565b90505f5f61173b8f5f0151612f20565b9150915061174882612fe1565b61175181612fe1565b61175c858385613080565b9450611769848285613080565b935061177585856130a6565b9f9e505050505050505050505050505050565b611790615220565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f27c84e3c1e6daf57e465e287469e803a0a7dcb2995cf0635f1f12caf52fefde681527f070da88a46b36891f4b40ab4031d75c8a1536cf3964848b73f9b353cd0f880e7818301526060830152825180840184527f16a79e7fd02695aab1642b006442bd787e63b10b2da4d3a46664d760fe812c4f81527f234e923bc7a50ddf7049d81eafa824708960f90546554dd11f2c9af7ba187993818301526080830152825180840184527f2a16ce2a97cdcaa18a1d3bb1f8440dc3e38766a3f8b0f478890a508bec8fd69e81527f2e6bfc4d59330d9f7f857614cf07f9853663099499a2af5914e6f95e34c736888183015260a0830152825180840184527f15a5e75a8ad71a5c9cae1c2660e2578a30a84d854a92bdb03c7de7cbaf1da87e81527f1aec506d4254d21cd2b3ad03fce0346037b8ca54242e544116fd1eb453bc703e8183015260c0830152825180840184527f1756bb11d19b9a8c268264b3ab2e26cc5c605851ee041dd9a6a4ff8d20939f0581527f114bc3029a8c6576f8e6e5725d885ace832a0176308bade083b9ea34ab58b1de8183015260e0830152825180840184527f18e4282d0d95b2c9eb1672809d37af35976a9372cecb4c04086376106cf6926e81527e9cc9aff95f7afa47a2f6e9b1a8ced57e29d742d2b90a9ef50c13781f7abc1181830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f17390f88bcaa4d6b1aefcba2d0cdc2dac56af22ae5bb4e43134e581495d839b481527e51265580db27eb9614de752bbb01f3b046251df2c86c031797d79da957c85a81830152610140830152825180840184527f1fddd8550514f0c0c81c5d4a7d97c07d204f50ce2a9ef6e94b5f5f2c6130e0a981527f0e7e199a7414059d54000604b6b7c860d522fa1ad9d25819c695d8f1cce6190981830152610160830152825180840184527f0b4972347ad90cbf14127a3cffe2e41f915844fca524baf8b9e8c91de795880281527f1f5fb74b9638890ffdc6b82534ea2138f963465bb7512eaea03c5612529f5a0a81830152610180830152825180840184527f25dae5e057bca602845860990fdfa83d2c14f59ccb7d297021e01385aae4eb9181527f225a99f7d970106f72f3fbb0397a2f32feab85008e5aa0f57245a91b10eec290818301526101a0830152825180840184527f1a089cf9991b4d34142ede929890352f245b37b5e8a63745cab0317541ea3e8a81527f0dcf3822b8185894f9ccc98475abc6bcdb0996179c347eac61f9292effe69370818301526101c0830152825180840184527f1fcaf420b3933783a784f711a4bcd8f4c233f0e6d5ca587ea10d7cc78268ccce81527f2038450c95b69f86faea778f708edfc69d79c6f75e0f5ea14a3333606fb66a2b818301526101e0830152825180840184527e414bd2a330d2b17aaaead37c4804e4fec64f017c8d7b62b27a9b675aa6eb7581527f2738637920f37afa0f91bce4434063ca4b6c675f9d9857b8c5509dae19f70ed881830152610200830152825180840184527f2bfaa0ac25808f15e238afdd6850959c6dfe972e139e828acc622473338c1f5181527f1d6d04fd09c435a678dd6fd853f2d90affd3c237acf6897605ee45dbf70be91e81830152610220830152825180840184527f24dffd67dc677f24a4e9aae810237803982139bc26662857709f10029850628c81527f28dde61a9b2827bcc1ddf1e1923d4d35035d0d4fafb90dbdb38a4526f015829381830152610240830152825180840184527f140c325fc82163b89c055f65c3c0129f6e79793e0b2cc6193637f39ca0616cc481527f1afceeafa9f18c745757ba30542aaf24d1034883f150901b0e9a7a378b3b410d81830152610260830152825180840184527f1855d8e059de4371307f5769f14c308c0b1c25a2d2f7cb22521b700aadeff27c81527f0e6b3caaa0ca6d76cbbd89da87aec65f20868e94b00d9bb90cfe2cbec84a9a7b81830152610280830152825180840184527f2a4a853e7eafca58367ec69c71905b52917fc8c207a30a908568433dec69b99d81527f24bd85072b676d5b325897450dbf0ea645eb1085af62adf646e07690cf96294a818301526102a0830152825180840184527e105206c2ccf24aab09760e21ffb91bf05d2725ce0e316df77185a5aabc34df81527f1c8fd3092492c17fce8472a116165d18c6230fddd373ea8a137f7d74370dea71818301526102c0830152825180840184527f07ef6cc3a4ba2efa605cc79a3245d0830108ceef65e6ccb1052e171f685b297f81527f293c62b4bf9a8974b4fd86ec182bd438a4565a979ccc43fbdad6ba6df8774d62818301526102e0830152825180840184527f2217789ff6dc2cd7d11636f8583f902fa1fdc01d7c35b88a4a6d25c39f78192781527f2da02fb494c94f8643d078fc0ae033951c0e65a3f88b4592385200f310c0459581830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f214adbd17f83cdf1870841366edf036f3525366cda60edb361dbb8da3fb4bfd983527f2375d88366def9ac4b2b1cac2f18bbc62d6b16e23b8130015f1f837c870e6e11908301526103c081019190915290565b5f6103336120ce8385615894565b6127ff565b6120db615523565b60408051808201909152805f516020615ab45f395f51905f5261210160205f878961582d565b61210a91615894565b61211491906158c5565b81526020908101905f516020615ab45f395f51905f529061213990604090878961582d565b61214291615894565b61214c91906158c5565b90529392505050565b61215d61553b565b5f61216b888888888861329a565b60408601919091526020850191909152908352925061218a8389613597565b6080850191909152606084019190915291989197509095505050505050565b6121b161556b565b5f6121ba61558a565b8481526101008401805151602080840191909152905181015160408084019190915260a0860180515160608501525182015160808401525161221d91612202918491016158d8565b604051602081830303815290604052805190602001206127ff565b91506122288261361e565b6020850152835260015b60026122406001601c615807565b61224a919061590b565b8110156122ca576122678360405160200161220291815260200190565b92506122728361361e565b8561227e8460026157f0565b601b811061228e5761228e615854565b602002018661229e8560026157f0565b6122a990600161581a565b601b81106122b9576122b9615854565b602002019190915252600101612232565b506122d76001601c615807565b60011660011480156122f4575060026122f26001601c615807565b115b1561234e5761230f8260405160200161220291815260200190565b91505f61231b8361361e565b85600161232981601c615807565b6123339190615807565b601b811061234357612343615854565b602002019190915250505b509250929050565b61235e6155a8565b5f805b838110156123af5761237f8560405160200161220291815260200190565b94505f61238b8661361e565b8584601c811061239d5761239d615854565b60200201919091525050600101612361565b509093915050565b6123bf6155a8565b5f805b83811015612481576123d26155c7565b8581525f5b600881101561243b5787610120015183601c81106123f7576123f7615854565b6020020151816008811061240d5761240d615854565b60200201518261241e83600161581a565b6009811061242e5761242e615854565b60200201526001016123d7565b5061245081604051602001612202919061591e565b95505f61245c8761361e565b8685601c811061246e5761246e615854565b60200201919091525050506001016123c2565b5090949293505050565b5f5f6124956155e6565b8381525f5b60298110156124e85785610140015181602981106124ba576124ba615854565b6020020151826124cb83600161581a565b602a81106124db576124db615854565b602002015260010161249a565b506124fd816040516020016122029190615952565b91505f6125098361361e565b5096929550919350505050565b5f8080612524600185615807565b61252f9060026157f0565b61253a90600161581a565b6001600160401b0381111561255157612551615868565b60405190808252806020026020018201604052801561257a578160200160208202803683370190505b50905084815f8151811061259057612590615854565b60209081029190910101525f5b6125a8600186615807565b81101561265b5786610160015181601b81106125c6576125c6615854565b602002015151826125d88360026157f0565b6125e390600161581a565b815181106125f3576125f3615854565b60200260200101818152505086610160015181601b811061261657612616615854565b6020020151602001518282600261262d91906157f0565b61263890600261581a565b8151811061264857612648615854565b602090810291909101015260010161259d565b50612670816040516020016122029190615986565b91505f61267c8361361e565b509792965091945050505050565b5f808061269884600161581a565b6001600160401b038111156126af576126af615868565b6040519080825280602002602001820160405280156126d8578160200160208202803683370190505b50905084815f815181106126ee576126ee615854565b60209081029190910101525f5b8481101561265b5786610180015181601c811061271a5761271a615854565b60200201518261272b83600161581a565b8151811061273b5761273b615854565b60209081029190910101526001016126fb565b5f5f612758615605565b8381526101a085018051516020808401919091529051810151604080840191909152516124fd91612202918491016159bb565b5f5f516020615ad45f395f51905f52825b0692915050565b5f5f516020615ad45f395f51905f5282840990505b92915050565b5f5f516020615ad45f395f51905f528284089392505050565b5f5f516020615ad45f395f51905f52825f516020615ad45f395f51905f520384089392505050565b5f5f516020615ad45f395f51905f528261279c565b5f6103338361077b84612b61565b81515f90819061283a908560015b60200201516127be565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292c576129228261077b87846127d7565b915060010161290b565b50612935615623565b5f5b6008811015612996575f84826008811061295357612953615854565b602002015190506129688161077b89856127d7565b905061297381612b61565b90508083836008811061298857612988615854565b602002015250600101612937565b505f5b60088110156129e9575f8782600881106129b5576129b5615854565b602002015190506129d2818484600881106114d0576114d0615854565b90506129de86826127be565b955050600101612999565b506109b684836127a3565b5f5f612a0a60016107808561077b8960016127d7565b9050612a1684826127a3565b95945050505050565b5f612a286155a8565b612a3386828561364e565b612a3f868683866137fa565b612a4b868683866139e6565b612a56868285613c11565b612a61868285613e05565b612a6d8686838661414e565b612a78868285614601565b612a83868285614a13565b612a8e868285614dd4565b6109b681856150d4565b60605f826001600160401b03811115612ab357612ab3615868565b604051908082528060200260200182016040528015612adc578160200160208202803683370190505b50905083815f81518110612af257612af2615854565b602090810291909101015260015b83811015612b5957612b3482612b17600184615807565b81518110612b2757612b27615854565b6020026020010151612d49565b828281518110612b4657612b46615854565b6020908102919091010152600101612b00565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615ad45f395f51905f520360808201525f516020615ad45f395f51905f5260a082015260205f60c08360055afa80612bbd575f5ffd5b505f51608091909101604052949350505050565b5f516020615ad45f395f51905f520390565b60605f826001600160401b03811115612bfe57612bfe615868565b604051908082528060200260200182016040528015612c27578160200160208202803683370190505b509050825b8015612d3e575f85612c3f600184615807565b81518110612c4f57612c4f615854565b602002602001015190505f89600184612c689190615807565b601c8110612c7857612c78615854565b602002015190505f612cd3612c97612c90858d6127a3565b60026127a3565b61079e8b612ca6600189615807565b601c8110612cb657612cb6615854565b602002015161077b612ccd8861077b60018a6127d7565b876127d7565b9050612cf48161077b610b28612cee8761077b6001896127d7565b866127be565b9050868411612d2a579850888085612d0d600187615807565b81518110612d1d57612d1d615854565b6020026020010181815250505b50505080612d37906159ee565b9050612c2c565b509695505050505050565b5f6127b882836127a3565b612d5c615523565b5f612d887f0000000000000000000000000000000000000000000000000000000000000000602461581a565b612d9390600261581a565b90505f5b81811015612dc957612dc1858281518110612db457612db4615854565b6020026020010151612fe1565b600101612d97565b50604051600190815b60018401811015612e2e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dd2565b5080518452602081015160208501525080612e5c576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e6c615523565b5f516020615ab45f395f51905f5282602001515f516020615ab45f395f51905f52612e979190615807565b612ea191906158c5565b60208301525090565b5f5f5f612eb686612f20565b91509150612ec2615623565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f159161220291849101615a03565b979650505050505050565b612f28615523565b612f30615523565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615ab45f395f51905f528380095f516020615ab45f395f51905f5260035f516020615ab45f395f51905f52838709085f516020615ab45f395f51905f52848509149150508061307a5760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b613088615523565b613090615523565b61309a8386615139565b9050612a16818561518f565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161323c9190615a37565b5f60405180830381855afa9150503d805f8114613274576040519150601f19603f3d011682016040523d82523d5f602084013e613279565b606091505b50915091508180156109b65750808060200190518101906109b69190615a4d565b5f808080806132aa86600161581a565b6132b590600661581a565b6001600160401b038111156132cc576132cc615868565b6040519080825280602002602001820160405280156132f5578160200160208202803683370190505b509050865f1b815f8151811061330d5761330d615854565b60209081029190910101525f5b613325601088615807565b8110156133765789898281811061333e5761333e615854565b9050602002013582826001613353919061581a565b8151811061336357613363615854565b602090810291909101015260010161331a565b505f5b60108110156133e7578a516133a190826010811061339957613399615854565b602002015190565b828260106133b08b600161581a565b6133ba9190615807565b6133c4919061581a565b815181106133d4576133d4615854565b6020908102919091010152600101613379565b5060208a015151816133fa88600161581a565b8151811061340a5761340a615854565b6020908102919091018101919091528a81015101518161342b88600161581a565b61343690600161581a565b8151811061344657613446615854565b602090810291909101015260408a0151518161346388600161581a565b61346e90600261581a565b8151811061347e5761347e615854565b60209081029190910181019190915260408b01510151816134a088600161581a565b6134ab90600361581a565b815181106134bb576134bb615854565b602090810291909101015260608a015151816134d888600161581a565b6134e390600461581a565b815181106134f3576134f3615854565b60209081029190910181019190915260608b015101518161351588600161581a565b61352090600561581a565b8151811061353057613530615854565b602002602001018181525050613550816040516020016122029190615986565b915061355b8261361e565b60408051602081018690529297509095506135769101612202565b91505f6135828361361e565b50959b949a5094985090965091945050505050565b5f5f5f6135a2615642565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136049161220291849101615a6c565b915061360f8261361e565b90979096509194509092505050565b5f80826001600160801b038116608082901c613639826127ff565b9450613644816127ff565b9350505050915091565b5f61365a8460076151f0565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136bb6136b561368f8560036127d7565b61077b6136aa61369f8b5f6151f0565b61077b8c601d6151f0565b61077b8b601c6151f0565b836127a3565b905061373c6137316137186136ff6136e6856107806136db8d60026151f0565b61077b8e601c6151f0565b6107806136f48c60036151f0565b61077b8d601d6151f0565b61078061370d8b60046151f0565b61077b8c601e6151f0565b6107806137268a60056151f0565b61077b8b601f6151f0565b6107808860016151f0565b905061375b816107806137508660016127d7565b61077b8a60276151f0565b905061376781846127a3565b905061377381856127a3565b8552505f90506137ad6137a361379861378d88601c6151f0565b61078089601f6151f0565b61079e8860246151f0565b610780875f6151f0565b90506137be8161077b8460026127d7565b90506137cf8161077b8460016127d7565b90506137db81836127a3565b90506137e781846127a3565b9050808460015b60200201525050505050565b5f5f5f61383061382661380e89601c6151f0565b61078061381c8b60126151f0565b8a606001516127a3565b87608001516127be565b90506138698161077b61385f6138478b601d6151f0565b6107806138558d60136151f0565b8c606001516127a3565b89608001516127be565b905061388e8161077b61385f6138808b601e6151f0565b6107806138558d60146151f0565b90506138b38161077b61385f6138a58b601f6151f0565b6107806138558d60156151f0565b92505f90506138d76138266138c989601c6151f0565b61078061381c8b600e6151f0565b90506138fc8161077b61385f6138ee8b601d6151f0565b6107806138558d600f6151f0565b90506139218161077b61385f6139138b601e6151f0565b6107806138558d60106151f0565b90506139468161077b61385f6139388b601f6151f0565b6107806138558d60116151f0565b91505f905061396d61396761395c8960206151f0565b6107808a601a6151f0565b846127a3565b90506139a28161079e61399c6139848b60286151f0565b6107806139928d601b6151f0565b8c60a001516127a3565b856127a3565b90506139ae81856127a3565b6040860152505f6139d161399c6139c689601b6151f0565b61077b8a60286151f0565b9050808560035b602002015250505050505050565b5f5f613a44613a2c613a146139ff61385f8a60166151f0565b610780613a0d8b60176151f0565b8a516127a3565b610780613a228a60186151f0565b89602001516127a3565b610780613a3a8960196151f0565b88604001516127a3565b91505f613a7b613a62613a5889601c6151f0565b88608001516127be565b610780613a708a60036151f0565b61077b8b60246151f0565b90505f613aa4613a8c89601d6151f0565b610780613a998b5f6151f0565b61077b8c60256151f0565b90505f613ace613ab58a601e6151f0565b610780613ac38c60016151f0565b61077b8d60266151f0565b9050613b0d613af5613ae785610780868d5f01516127a3565b610780848c602001516127a3565b610780613b038c60046151f0565b8b604001516127a3565b93505050505f613b216139678860216151f0565b90505f613b326139678960216151f0565b90505f613b6a613b51613b468b60236151f0565b6107808c60066151f0565b61079e613b5f8c60236151f0565b61077b8d60066151f0565b90505f613b8e613b88613b7d87896127a3565b61077b8d60216151f0565b836127d7565b9050613b9a81886127a3565b90505f613bc2613bb4613bae8d60066151f0565b876127a3565b61079e613bae8e60226151f0565b90505f613bd08c60236151f0565b90505f613be0613b8883846127a3565b60808c0185905260a08c018490529050613bfa818b6127a3565b8b6006602002015250505050505050505050505050565b5f613c1d5f60016127d7565b90505f613c2b5f60026127d7565b90505f613c395f60036127d7565b90505f613c55613c4a88601d6151f0565b61079e89601c6151f0565b90505f613c71613c6689601e6151f0565b61079e8a601d6151f0565b90505f613c8d613c828a601f6151f0565b61079e8b601e6151f0565b90505f613ca9613c9e8b60246151f0565b61079e8c601f6151f0565b905083613cba8161077b818b6127be565b9050613cca8161077b878a6127be565b9050613cda8161077b87896127be565b9050613ceb8161077b8d60086151f0565b9050613cf7818a6127a3565b60e08b01525082613d0c8161077b818b6127be565b9050613d1c8161077b868a6127be565b9050613d2c8161077b86896127be565b9050613d3d8161077b8d60086151f0565b9050613d49818a6127a3565b6101008b01525081613d5f8161077b818b6127be565b9050613d6f8161077b858a6127be565b9050613d7f8161077b85896127be565b9050613d908161077b8d60086151f0565b9050613d9c818a6127a3565b6101208b01525080613db28161077b818b6127be565b9050613dc28161077b848a6127be565b9050613dd28161077b84896127be565b9050613de38161077b8d60086151f0565b9050613def818a6127a3565b610140909a019990995250505050505050505050565b613e3e6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4984601d6151f0565b8152613e5684601e6151f0565b6020820152613e668460246151f0565b6040820152613e768460276151f0565b6060820152613e868460266151f0565b6080820152613e968460256151f0565b60a08201525f613ea78560026151f0565b90505f613eb4865f6151f0565b90505f613ec88460400151855f01516127d7565b90505f613edd856020015186602001516127a3565b606086015190915086905f90613ef390806127a3565b90505f613f11613f0b89602001518a606001516127a3565b886127a3565b90505f613f30613f298a60a001518b604001516127be565b8a516127be565b9050613f3f613bae82886127a3565b9050613f66613f60613f5a613f5484876127d7565b886127d7565b846127be565b836127be565b9050613f8e613f83613f7883876127a3565b61077b8f60096151f0565b61077b60018a6127d7565b6101608c015250505050602085015160808601515f91613fad916127be565b90505f613fcb613fc18860600151886127a3565b88602001516127d7565b90505f613fef613fdb84876127a3565b61078061399c8b60a001518c5f01516127d7565b905061401761400c614001838c6127a3565b61077b8e60096151f0565b61077b6001896127d7565b6101808b0152505f915061403890506140318360116127be565b87516127a3565b90505f61404583846127be565b905061405181826127be565b90505f61405f8360096127a3565b905061408861408261396761407b8b60a001518c5f01516127be565b8b516127be565b826127d7565b60c089018190525f906140a390613f0b90613f78908d6127a3565b90506140b68b600b6020020151826127be565b6101608c0152505086515f92506140dd9150614031906140d690806127be565b88516127be565b90505f61411d6140f88361077b8a5f01518b60a001516127d7565b602089015161079e9061410b90806127be565b61077b8b602001518c608001516127be565b905061413a89600c6020020151610780613f0b613f78858d6127a3565b89600c602002015250505050505050505050565b6141b8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141d06141c686601e6151f0565b85604001516127a3565b8082526141ef906107806141e588601d6151f0565b87602001516127a3565b8082526142049061078061403188601c6151f0565b808252614216906107808760016151f0565b8082526020820181905261422f9061079e87601f6151f0565b815261424a61423f8660246151f0565b61079e87601c6151f0565b608082015261426861425d8660276151f0565b61079e87601f6151f0565b6060820152608081015161428a9061428090806127a3565b82608001516127d7565b6101c082015260808101516142ca906142c0906142b99061077b60015f516020615ad45f395f51905f52615807565b60016127be565b82606001516127a3565b60a08201819052614300906142f29061077b6142e78960026151f0565b61077b8a60036151f0565b61077b61399c88600a6151f0565b83600e60200201526101c0810151614324906142f29061077b6142e78960026151f0565b6101e084015280516143499061077b61433e8860026151f0565b61077b8960036151f0565b6101208201525f61436861435e87601f6151f0565b83602001516127d7565b905061437761408282836127a3565b60e083015261439461438a8760266151f0565b86604001516127a3565b604083018190526143b7906107806143ad8960256151f0565b88602001516127a3565b604083018190526143d7906107806143d08960246151f0565b88516127a3565b60408301526143f46143ea8760276151f0565b83604001516127d7565b60408301525f6144136144088860266151f0565b61079e89601e6151f0565b90506144656144406136b56142b9866080015160015f516020615ad45f395f51905f5261077b9190615807565b61077b6142b9866040015160015f516020615ad45f395f51905f5261077b9190615807565b60c084015260408301516144879061447d90806127a3565b84604001516127d7565b61010084015260c08301516144b3906144a59061077b8a60046151f0565b61077b613bae8a600a6151f0565b6102008601526101c08301516144d2906144a59061077b8a60046151f0565b6102208601526101008301516144f1906144a59061077b8a60046151f0565b61024086015260e083015161450b9061077b8960046151f0565b61014084015261452a61451f8860256151f0565b61079e89601d6151f0565b6101608401526080830151614568906144089061455d906142b99061077b60015f516020615ad45f395f51905f52615807565b8561016001516127a3565b61018084018190526101208401516101a0850181905261459f916107809061077b6145948c60056151f0565b61077b8d60026151f0565b6101a0840181905283516145bf91906107809061077b6145948c5f6151f0565b6101a084018190526101408401516145d791906127be565b6101a084018190526145f19061077b613bae8a600a6151f0565b6101a0840181905285600d6139d8565b61463a6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466f61465661464b86601c6151f0565b61077b8760256151f0565b6107806146648760246151f0565b61077b88601d6151f0565b81526146b46146a961469061468587601c6151f0565b61077b88601f6151f0565b61078061469e88601d6151f0565b61077b89601e6151f0565b61079e8660266151f0565b604082018190526146c990600160441b6127a3565b604082018190526146df9061079e8660276151f0565b6040820181905281516146f291906127be565b604082018190526147089061077b8660056151f0565b6040820152805161471d90600160441b6127a3565b80825261473d906107806147328760246151f0565b61077b8860256151f0565b808252602082018190526147649061079e61475987601e6151f0565b61078088601f6151f0565b6020820181905261477a9061077b8660046151f0565b60208201528051606082018190526147979061078086601f6151f0565b606082018190526147bb9061079e6147b08760266151f0565b6107808860276151f0565b606082018190526147d09061077b865f6151f0565b8160600181815250505f6147f96147ef836020015184604001516127be565b83606001516127be565b905061480a8161077b8760036151f0565b905061482261481a8660256151f0565b6140006127a3565b60808301819052614838906107808760246151f0565b6080830181905261484b906140006127a3565b608083018190526148619061078087601e6151f0565b60808301819052614874906140006127a3565b6080830181905261488a9061078087601d6151f0565b6080830181905261489d906140006127a3565b608083018190526148b39061078087601c6151f0565b608083018190526148c99061079e87601f6151f0565b608083018190526148df9061077b8760056151f0565b60808301526148f261481a8660266151f0565b60a08301819052614908906107808760256151f0565b60a0830181905261491b906140006127a3565b60a08301819052614931906107808760246151f0565b60a08301819052614944906140006127a3565b60a0830181905261495a9061078087601f6151f0565b60a0830181905261496d906140006127a3565b60a083018190526149839061078087601e6151f0565b60a083018190526149999061079e8760276151f0565b60a083018190526149ae9061077b875f6151f0565b60a0830181905260808301515f916149c691906127be565b90506149d78161077b8860046151f0565b90506149e382826127be565b60c084018190526149fc9061077b613bae89600b6151f0565b60c084018190528560136020020152505050505050565b614a896040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614aa2614a9785601c6151f0565b6107808660026151f0565b8152614abd614ab285601d6151f0565b6107808660036151f0565b6020820152614adb614ad085601e6151f0565b6107808660046151f0565b6040820152614af9614aee85601f6151f0565b6107808660056151f0565b60608201528051614b2b90614b2490614b1d90614b1690806127a3565b84516127a3565b83516127a3565b82516127a3565b60808201526020810151614b6990614b5f90614b5590614b4b90806127a3565b84602001516127a3565b83602001516127a3565b82602001516127a3565b60a08201526040810151614ba790614b9d90614b9390614b8990806127a3565b84604001516127a3565b83604001516127a3565b82604001516127a3565b60c08201526060810151614bdb906142c090614bd190614bc790806127a3565b84606001516127a3565b83606001516127a3565b60e0820152608081015160a0820151614bf491906127be565b61010082015260c081015160e0820151614c0e91906127be565b61012082015260a0810151614c3290614c2790806127be565b8261012001516127be565b61014082015260e0810151614c5690614c4b90806127be565b8261010001516127be565b610160820152610120810151614c6c90806127be565b6101e08201819052614c8d90614c8290806127be565b8261016001516127be565b6101e0820152610100810151614ca390806127be565b6101a08201819052614cc490614cb990806127be565b8261014001516127be565b6101a08201819052610160820151614cdb916127be565b6101808201526101408101516101e0820151614cf791906127be565b6101c0820152614d0b6136b585600c6151f0565b6102008201819052610280840151610180830151614d36926107809161077b9061079e8a60246151f0565b8360146020020152614d66836015602002015161078083610200015161077b856101a0015161079e8a60256151f0565b8360156020020152614d96836016602002015161078083610200015161077b856101c0015161079e8a60266151f0565b8360166020020152614dc6836017602002015161078083610200015161077b856101e0015161079e8a60276151f0565b836017602002015250505050565b614e266040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e5b7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e761278b565b8152602001614e897f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b61278b565b8152602001614eb67e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1561278b565b8152602001614ee47f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b61278b565b90529050614f01614ef686601c6151f0565b6107808760026151f0565b6101208301819052614f4090614f3590614f2a90614f1f90806127a3565b8561012001516127a3565b8461012001516127a3565b8361012001516127a3565b8252614f4d85601d6151f0565b6020830152614f5d85601e6151f0565b6040830152614f6d85601f6151f0565b606083015281516020830151614f95916147ef91614f8b91906127be565b84604001516127be565b6080830152614fa861396786600d6151f0565b6101408301528151614fc990614fbf90835f6114d0565b83608001516127be565b60a0830152614ff5846018602002015161078084610140015161077b8660a0015161079e8b60246151f0565b610300850152602082015161501090614fbf908360016114d0565b60c083015261503c846019602002015161078084610140015161077b8660c0015161079e8b60256151f0565b610320850152604082015161505790614fbf908360026114d0565b60e083015261508384601a602002015161078084610140015161077b8660e0015161079e8b60266151f0565b610340850152606082015161509e90614fbf908360036114d0565b6101008301526150cc84601b602002015161078084610140015161077b86610100015161079e8b60276151f0565b84601b6137ee565b5f6150e0818481612830565b905060015b601c81101561513257615128826107808684601c811061510757615107615854565b602002015186615118600187615807565b601b81106114d0576114d0615854565b91506001016150e5565b5092915050565b615141615523565b615149615523565b604051835181526020840151602082015284604082015260408160608360075afa80615173575f5ffd5b5080518252602080820151908301526060016040529392505050565b615197615523565b61519f615523565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151d4575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561520457615204615a9f565b6029811061521457615214615854565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615246615523565b8152602001615253615523565b8152602001615260615523565b815260200161526d615523565b815260200161527a615523565b8152602001615287615523565b8152602001615294615523565b81526020016152a1615523565b81526020016152ae615523565b81526020016152bb615523565b81526020016152c8615523565b81526020016152d5615523565b81526020016152e2615523565b81526020016152ef615523565b81526020016152fc615523565b8152602001615309615523565b8152602001615316615523565b8152602001615323615523565b8152602001615330615523565b815260200161533d615523565b815260200161534a615523565b8152602001615357615523565b8152602001615364615523565b8152602001615371615523565b815260200161537e615523565b815260200161538b615523565b8152602001615398615523565b81526020016153a5615523565b905290565b604051806101e001604052806153be615660565b81526020016153cb615523565b81526020016153d8615523565b81526020016153e5615523565b81526020016153f2615523565b81526020016153ff615523565b815260200161540c615523565b8152602001615419615523565b8152602001615426615523565b815260200161543361567f565b81526020016154406156ad565b815260200161544d6156cc565b815260200161538b6155a8565b60405180610100016040528061546e61553b565b815260200161547b61556b565b81526020016154886155a8565b81526020016154956155a8565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154f16156fa565b81526020016154fe6156fa565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b615697615623565b81526020019060019003908161568f5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156e4615523565b8152602001906001900390816156dc5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f6040858703121561572b575f5ffd5b84356001600160401b03811115615740575f5ffd5b8501601f81018713615750575f5ffd5b80356001600160401b03811115615765575f5ffd5b876020828401011115615776575f5ffd5b6020918201955093508501356001600160401b03811115615795575f5ffd5b8501601f810187136157a5575f5ffd5b80356001600160401b038111156157ba575f5ffd5b8760208260051b84010111156157ce575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127b8576127b86157dc565b818103818111156127b8576127b86157dc565b808201808211156127b8576127b86157dc565b5f5f8585111561583b575f5ffd5b83861115615847575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f6001820161588d5761588d6157dc565b5060010190565b803560208310156127b8575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158d3576158d36158b1565b500690565b5f8183825b60058110156158fc5781518352602092830192909101906001016158dd565b50505060a08201905092915050565b5f82615919576159196158b1565b500490565b5f8183825b6009811015615942578151835260209283019290910190600101615923565b5050506101208201905092915050565b5f8183825b602a811015615976578151835260209283019290910190600101615957565b5050506105408201905092915050565b81515f90829060208501835b828110156159b0578151845260209384019390910190600101615992565b509195945050505050565b5f8183825b60038110156159df5781518352602092830192909101906001016159c0565b50505060608201905092915050565b5f816159fc576159fc6157dc565b505f190190565b5f8183825b6008811015615a27578151835260209283019290910190600101615a08565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a5d575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a90578151835260209283019290910190600101615a71565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
3
+ */ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f06652b3df8fe71c56dedab47607ed16b64ed9b2fe9adc2a4b57c78a24be53d0060c05260ae60e05260805160a05160c05160e051615b256100e55f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b0152818161138e015281816115c5015281816116110152818161165f015281816116b60152612d9301525f5050615b255ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615749565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615821565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615821565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615838565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615821565b905060016102a9600885615821565b6102b39190615821565b6102bd908261584b565b90506102cb60016029615821565b6102d5908261584b565b905060026102e4600185615838565b6102ee9190615821565b6102f8908261584b565b9050610305600184615821565b61030f908261584b565b905061031c600280615821565b610326908261584b565b905061033360108261584b565b9392505050565b610342615251565b61034a611788565b905090565b6103576153db565b5f805b60108110156103b95761038686838761037460208361584b565b926103819392919061585e565b6120c3565b8351826010811061039957610399615885565b6020020181815250506020826103af919061584b565b915060010161035a565b506103dd8582866103cb60408361584b565b926103d89392919061585e565b6120d6565b60208301526103ed60408261584b565b90506104008582866103cb60408361584b565b604080840191909152610413908261584b565b90506104268582866103cb60408361584b565b606083015261043660408261584b565b90506104498582866103cb60408361584b565b60c083015261045960408261584b565b905061046c8582866103cb60408361584b565b60e083015261047c60408261584b565b905061048f8582866103cb60408361584b565b608083015261049f60408261584b565b90506104b28582866103cb60408361584b565b6101008301526104c360408261584b565b90506104d68582866103cb60408361584b565b60a08301526104e660408261584b565b90505f5b83811015610564575f5b600881101561055b5761050e87848861037460208361584b565b84610120015183601c811061052557610525615885565b6020020151826008811061053b5761053b615885565b602002018181525050602083610551919061584b565b92506001016104f4565b506001016104ea565b505f5b60298110156105b85761058186838761037460208361584b565b836101400151826029811061059857610598615885565b6020020181815250506020826105ae919061584b565b9150600101610567565b505f5b6105c6600185615838565b81101561060f576105de8683876103cb60408361584b565b83610160015182601b81106105f5576105f5615885565b602002015261060560408361584b565b91506001016105bb565b505f5b838110156106625761062b86838761037460208361584b565b83610180015182601c811061064257610642615885565b602002018181525050602082610658919061584b565b9150600101610612565b506106748582866103cb60408361584b565b6101a083015261068560408261584b565b90506106988582866103cb60408361584b565b6101c0830152509392505050565b6106ae61548b565b5f6106bd888888888886612158565b90835290506106cc81896121ac565b602084019190915290506106e08184612359565b604084019190915290506106f58882856123e8565b6060840191909152905061070988826124bc565b6080840191909152905061071e888285612547565b60a084019190915290506107338882856126bb565b60c08401919091529050610747888261277f565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a631000000061584b565b6127bc565b6127d4565b6127ef565b90505f6107a38761079e8a61077b6107768b600161584b565b612808565b90505f5b6107d260107f0000000000000000000000000000000000000000000000000000000000000000615838565b81101561083f575f6107fc8c83815181106107ef576107ef615885565b6020026020010151612830565b905061080c8661077b86846127ef565b955061081c8561077b85846127ef565b9450610828848b6127ef565b9350610834838b612808565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e615885565b602002015190506108738661077b86846127ef565b95506108838561077b85846127ef565b945061088f848b6127ef565b935061089b838b612808565b925050600101610842565b506108b18484612845565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c811061090557610905615885565b602002015190505f6109178286612853565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e615885565b6020020151905061095f8382612876565b9550610986886040015185601c811061097a5761097a615885565b60200201518683612a25565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a50565b90508281145b9695505050505050565b5f6109c96154e4565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612ac9565b90505f610a267f0000000000000000000000000000000000000000000000000000000000000000602461584b565b610a3190600261584b565b6001600160401b03811115610a4857610a48615899565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f0000000000000000000000000000000000000000000000000000000000000000602461584b565b610aab90600261584b565b6001600160401b03811115610ac257610ac2615899565b604051908082528060200260200182016040528015610afb57816020015b610ae8615554565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b615885565b6020026020010151612808565b612b92565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b54615885565b60200260200101516127ef565b610140850181905261012085015160c0880151610b829261078091906127d4565b845260a0860151610bb290610b9690612b92565b61077b86610120015161079e8a60c001518961014001516127d4565b6020850152815160019083905f90610bcc57610bcc615885565b602002602001018181525050876101a00151815f81518110610bf057610bf0615885565b6020908102919091010152600160a08501525f60c08501528351610c1390612c02565b60408501526020840151610c2690612c02565b606085015260015b60248111610cd157610c4885604001518660a001516127d4565b838281518110610c5a57610c5a615885565b602002602001018181525050610ca38560c001516107808b6101400151600185610c849190615838565b60298110610c9457610c94615885565b60200201518860a001516127d4565b60c086015260a08501516080880151610cbc91906127d4565b60a0860152610cca816158ad565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d8361584b565b90505f610cf760248461584b565b9050610d28858381518110610d0e57610d0e615885565b602002602001015161078089606001518a60a001516127d4565b858381518110610d3a57610d3a615885565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d68615885565b60200201518a60a001516127d4565b60c088015260a087015160808a0151610d9091906127d4565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db8615885565b6020026020010181905250866080015181600281518110610ddb57610ddb615885565b60200260200101819052508660a0015181600381518110610dfe57610dfe615885565b60200260200101819052508660c0015181600481518110610e2157610e21615885565b60200260200101819052508660e0015181600581518110610e4457610e44615885565b602002602001018190525086610100015181600681518110610e6857610e68615885565b602002602001018190525086610120015181600781518110610e8c57610e8c615885565b602002602001018190525086610140015181600881518110610eb057610eb0615885565b602002602001018190525086610160015181600981518110610ed457610ed4615885565b6020026020010181905250866101c0015181600a81518110610ef857610ef8615885565b602002602001018190525086610180015181600b81518110610f1c57610f1c615885565b6020026020010181905250866101a0015181600c81518110610f4057610f40615885565b6020026020010181905250866101e0015181600d81518110610f6457610f64615885565b602002602001018190525086610200015181600e81518110610f8857610f88615885565b602002602001018190525086610220015181600f81518110610fac57610fac615885565b602002602001018190525086610240015181601081518110610fd057610fd0615885565b602002602001018190525086610260015181601181518110610ff457610ff4615885565b60200260200101819052508661028001518160128151811061101857611018615885565b6020026020010181905250866102a001518160138151811061103c5761103c615885565b6020026020010181905250866102c001518160148151811061106057611060615885565b6020026020010181905250866102e001518160158151811061108457611084615885565b6020026020010181905250866103000151816016815181106110a8576110a8615885565b6020026020010181905250866103200151816017815181106110cc576110cc615885565b6020026020010181905250866103400151816018815181106110f0576110f0615885565b60200260200101819052508661036001518160198151811061111457611114615885565b602002602001018190525086610380015181601a8151811061113857611138615885565b6020026020010181905250866103a0015181601b8151811061115c5761115c615885565b6020026020010181905250866103c0015181601c8151811061118057611180615885565b6020026020010181905250876020015181601d815181106111a3576111a3615885565b6020026020010181905250876040015181601e815181106111c6576111c6615885565b6020026020010181905250876060015181601f815181106111e9576111e9615885565b602002602001018190525087608001518160208151811061120c5761120c615885565b60200260200101819052508760a001518160218151811061122f5761122f615885565b60200260200101819052508761010001518160228151811061125357611253615885565b60200260200101819052508760c001518160238151811061127657611276615885565b60200260200101819052508760e001518160248151811061129957611299615885565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c14565b9050611309815f815181106112f6576112f6615885565b60200260200101518661012001516127d4565b608086018190526101808a01515160c089015161133a92916107809161132f91906127d4565b8861014001516127d4565b608086015260c087015161134d90612d7a565b60a08601525f5b61137f60017f0000000000000000000000000000000000000000000000000000000000000000615838565b8110156115a9575f6113b260017f0000000000000000000000000000000000000000000000000000000000000000615838565b821015905080611551576113e5610b288a60e00151888560016113d5919061584b565b81518110610b1b57610b1b615885565b61012088015260e089015161141490610b28908861140486600161584b565b81518110610b5457610b54615885565b61014088015260a087015161012088015161142f91906127d4565b61016088015260a087015160c08a015161144c9161132f916127d4565b610180880181905261146f9061146190612c02565b610780896101600151612c02565b858361147d6024600161584b565b611487919061584b565b8151811061149757611497615885565b6020026020010181815250505f6114da8861018001518d61018001518560016114c0919061584b565b601c81106114d0576114d0615885565b60200201516127d4565b9050611514816107808a6101600151878760016114f7919061584b565b8151811061150757611507615885565b60200260200101516127d4565b90506115248860800151826127ef565b608089015260a088015160c08b015161154a91611540916127d4565b8b60c001516127d4565b60a0890152505b8a610160015182601b811061156857611568615885565b6020020151848361157b6024600161584b565b611585919061584b565b8151811061159557611595615885565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115eb7f0000000000000000000000000000000000000000000000000000000000000000602461584b565b815181106115fb576115fb615885565b60209081029190910101526080850151836116377f0000000000000000000000000000000000000000000000000000000000000000602461584b565b8151811061164757611647615885565b60209081029190910101526101c089015180836116857f0000000000000000000000000000000000000000000000000000000000000000602461584b565b61169090600161584b565b815181106116a0576116a0615885565b602090810291909101015260e0880151846116dc7f0000000000000000000000000000000000000000000000000000000000000000602461584b565b6116e790600161584b565b815181106116f7576116f7615885565b6020026020010181815250505f61170e8486612d85565b90505f61171a83612e95565b90505f61172b8d5f01518484612edb565b90505f5f61173b8f5f0151612f51565b9150915061174882613012565b61175181613012565b61175c8583856130b1565b94506117698482856130b1565b935061177585856130d7565b9f9e505050505050505050505050505050565b611790615251565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f2cf1fd18443e8480686ad9734ed06910a6b18735ce60209dfbcc95758666cb0581527f09dcecde002efa7e9b5079afe8ef60bd20706d4e3a1f7d8d29cb71e283989ca5818301526060830152825180840184527f2e85548d2b78e4674fdb1de4d3bbf7555778431ac9e2e100e1ace387c9eedee381527f048a98a644d0c3105f7780acd0a43c947bcfd9fcdf198c04bb4978d293e72110818301526080830152825180840184527f1a3adff75067bda4ec3a712627817ac6f285806169af7753050085e4527addf581527f2288bb1e791872fffc35233704fd4777c7a884fdf1cc9e28c779d68600ce15708183015260a0830152825180840184527f1682bb0b9d289505ed1d0c854d116328bfd7461ec3480d9b21ba8c00a9e5acc581527f05e0849878293241749f2c89bab856ebe9c42df51087bf4e918038954466d87e8183015260c0830152825180840184527f255de58b2e4375de032cbf949b79ce0a0a4698cad53cb25f9e6579000dac57ad81527f0bc3e311b27dbae5743382d970f82203ea518ddbb0b8d0f19086a25d653a16968183015260e0830152825180840184527f061ff2ddfbe4b2125476eb9c78ac9422b53fceec7f56f32912d454e21b929ae281527f257690ef31e89b111559ccac9a0dcb7ed01c6d324e6d822c5049ad556a29250281830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f2fc3e4a74a073db95aa8bdfcebec6f02e964fa4e1d63512eda3f72f1001a62e381527f2e5ed5733e2711cc21f993878193b40134f4ab78dab52490a592c0d2234165f781830152610140830152825180840184527f1fffe1fe767f791cc0981f841f97f89cff6b55b95b0caa244fa05adb98c9901d81527f1eea494c24fbb21aaa1687173898885eb9c27acae68e28dab94591be6c62b93c81830152610160830152825180840184527f2bc7bb660fe369e2e947c57ae56ce2513f88e313b985db25ea51dc8eb9db0de181527f2ba508347aa9cf25538cc6d368c7da4476ba9c2bf9f48850f41948c816ec934781830152610180830152825180840184527f26b18dddc6e4688e730bf61b161a23e9a3a3e949c39d84f331efd378a7bbe63a81527f01066800dc07f3758d7cec66f4104776675ca2d1c6b553bde990072dfb645951818301526101a0830152825180840184527f0ff33702c9935d3b15d8c5b8300cda247440c50b0495e403409072936ff0fa9a81527f18dc430615000101fa0d9b122da5eaea4a2cae231e8f5f88195d696f7f67f792818301526101c0830152825180840184527f150981f15327de20bf257e0c8521ab5a1f81f5e16f48898807b320af05fb0ecb81527f2726cb9dd1d030cdf75ffbbaea02af077421930d935e379916a7aa9ae1a629f0818301526101e0830152825180840184527f1640550d8e5f52ba09e8c076a2b88d39a3e7c056173d0b8d9a5cc62b120ccb1f81527f29cb71852056bf61bd1a3e3d42107aecef2b10f060b79fb7be2a3d009a0b043c81830152610200830152825180840184527f2951befb5b2ac06d3d001f10424cd0c5d99b126ab043e074f610c73f90dfdc6f81527f0ab076c6c7414836408dcc03bf5bfcbd74e94e69842b52f8e4a79876c55ff3bd81830152610220830152825180840184527f1a96d80f9971b0b5438b9e1811b4db9c0167b8b6c2b3877cb01e015042c95cf181527f27ba92a17c740e084fee6c5143b95acb8daaff87f3dac236c692bea08b12427781830152610240830152825180840184527f189144a9a3ac64fa4664927dfe9e3ed4038c34f149932ed93e1866414b028dee81527f0ab1d180572880c51d9b88b2fb5430bd59a23786c1a3803aced91873702d4a2f81830152610260830152825180840184527f15c289c6a875b9e2acd2963534aea8be4dad633572f26e72e03b85958b1bbea181527f15e32723ec0302922cf516f91780f00b2e660121c781943e952aa4149a734a9a81830152610280830152825180840184527f1ded32665a9abe4c871d22864624198457a771e3dea5c2bcf043e32817ad2edd81527f1d6d2dc9064a97de70dadcb7359988cbc812b4690a111695cef3b06c5bb9a588818301526102a0830152825180840184527f1c435006d32eda6b670430eebfe2cc471171a60759e424341a0fab652ae754c881527ee04523473cc42e27b68967425480f93c36253ba0343725caaab74214479e7d818301526102c0830152825180840184527f06f36e981739dfb17f1c89a62fdac8b79942a4a2d120a45e32b692310e19125a81527f09b54a73d13725c3619ccad6ada726782ee1dbbbda1bd10f8d91c5d0cabc98b0818301526102e0830152825180840184527f135847aebfb1324ad075dbe18916c5537af1759e19d844997d779dcd5003c26481527f24c62683dc196e11f9a76ac0e71fe8513121d570c19b3c27df90c2bb736d2b5781830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f14cc3ce3a9c0277e7c9fd67dafa39a41793e6ac12992244680120a1ff3e6123283527f05269236771380c6f8c0859a8c1a0309af84f1daea615c3c1586c8626ff6b754908301526103c081019190915290565b5f6103336120d183856158c5565b612830565b6120de615554565b60408051808201909152805f516020615ae55f395f51905f5261210460205f878961585e565b61210d916158c5565b61211791906158f6565b81526020908101905f516020615ae55f395f51905f529061213c90604090878961585e565b612145916158c5565b61214f91906158f6565b90529392505050565b61216061556c565b5f61216e88888888886132cb565b60408601919091526020850191909152908352925061218d83896135c8565b6080850191909152606084019190915291989197509095505050505050565b6121b461559c565b5f6121bd6155bb565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122209161220591849101615909565b60405160208183030381529060405280519060200120612830565b915061222b8261364f565b6020850152835260015b60026122436001601c615838565b61224d919061593c565b8110156122cd5761226a8360405160200161220591815260200190565b92506122758361364f565b85612281846002615821565b601b811061229157612291615885565b60200201866122a1856002615821565b6122ac90600161584b565b601b81106122bc576122bc615885565b602002019190915252600101612235565b506122da6001601c615838565b60011660011480156122f7575060026122f56001601c615838565b115b15612351576123128260405160200161220591815260200190565b91505f61231e8361364f565b85600161232c81601c615838565b6123369190615838565b601b811061234657612346615885565b602002019190915250505b509250929050565b6123616155d9565b5f6123788460405160200161220591815260200190565b93506123838461364f565b50825260015b838110156123e0576123c1836123a0600184615838565b601c81106123b0576123b0615885565b6020020151846114c0600185615838565b8382601c81106123d3576123d3615885565b6020020152600101612389565b509093915050565b6123f06155d9565b5f805b838110156124b2576124036155f8565b8581525f5b600881101561246c5787610120015183601c811061242857612428615885565b6020020151816008811061243e5761243e615885565b60200201518261244f83600161584b565b6009811061245f5761245f615885565b6020020152600101612408565b5061248181604051602001612205919061594f565b95505f61248d8761364f565b8685601c811061249f5761249f615885565b60200201919091525050506001016123f3565b5090949293505050565b5f5f6124c6615617565b8381525f5b60298110156125195785610140015181602981106124eb576124eb615885565b6020020151826124fc83600161584b565b602a811061250c5761250c615885565b60200201526001016124cb565b5061252e816040516020016122059190615983565b91505f61253a8361364f565b5096929550919350505050565b5f8080612555600185615838565b612560906002615821565b61256b90600161584b565b6001600160401b0381111561258257612582615899565b6040519080825280602002602001820160405280156125ab578160200160208202803683370190505b50905084815f815181106125c1576125c1615885565b60209081029190910101525f5b6125d9600186615838565b81101561268c5786610160015181601b81106125f7576125f7615885565b60200201515182612609836002615821565b61261490600161584b565b8151811061262457612624615885565b60200260200101818152505086610160015181601b811061264757612647615885565b6020020151602001518282600261265e9190615821565b61266990600261584b565b8151811061267957612679615885565b60209081029190910101526001016125ce565b506126a18160405160200161220591906159b7565b91505f6126ad8361364f565b509792965091945050505050565b5f80806126c984600161584b565b6001600160401b038111156126e0576126e0615899565b604051908082528060200260200182016040528015612709578160200160208202803683370190505b50905084815f8151811061271f5761271f615885565b60209081029190910101525f5b8481101561268c5786610180015181601c811061274b5761274b615885565b60200201518261275c83600161584b565b8151811061276c5761276c615885565b602090810291909101015260010161272c565b5f5f612789615636565b8381526101a0850180515160208084019190915290518101516040808401919091525161252e91612205918491016159ec565b5f5f516020615b055f395f51905f52825b0692915050565b5f5f516020615b055f395f51905f5282840990505b92915050565b5f5f516020615b055f395f51905f528284089392505050565b5f5f516020615b055f395f51905f52825f516020615b055f395f51905f520384089392505050565b5f5f516020615b055f395f51905f52826127cd565b5f6103338361077b84612b92565b81515f90819061286b908560015b60200201516127ef565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561295d576129538261077b8784612808565b915060010161293c565b50612966615654565b5f5b60088110156129c7575f84826008811061298457612984615885565b602002015190506129998161077b8985612808565b90506129a481612b92565b9050808383600881106129b9576129b9615885565b602002015250600101612968565b505f5b6008811015612a1a575f8782600881106129e6576129e6615885565b60200201519050612a03818484600881106114d0576114d0615885565b9050612a0f86826127ef565b9550506001016129ca565b506109b684836127d4565b5f5f612a3b60016107808561077b896001612808565b9050612a4784826127d4565b95945050505050565b5f612a596155d9565b612a6486828561367f565b612a708686838661382b565b612a7c86868386613a17565b612a87868285613c42565b612a92868285613e36565b612a9e8686838661417f565b612aa9868285614632565b612ab4868285614a44565b612abf868285614e05565b6109b68185615105565b60605f826001600160401b03811115612ae457612ae4615899565b604051908082528060200260200182016040528015612b0d578160200160208202803683370190505b50905083815f81518110612b2357612b23615885565b602090810291909101015260015b83811015612b8a57612b6582612b48600184615838565b81518110612b5857612b58615885565b6020026020010151612d7a565b828281518110612b7757612b77615885565b6020908102919091010152600101612b31565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615b055f395f51905f520360808201525f516020615b055f395f51905f5260a082015260205f60c08360055afa80612bee575f5ffd5b505f51608091909101604052949350505050565b5f516020615b055f395f51905f520390565b60605f826001600160401b03811115612c2f57612c2f615899565b604051908082528060200260200182016040528015612c58578160200160208202803683370190505b509050825b8015612d6f575f85612c70600184615838565b81518110612c8057612c80615885565b602002602001015190505f89600184612c999190615838565b601c8110612ca957612ca9615885565b602002015190505f612d04612cc8612cc1858d6127d4565b60026127d4565b61079e8b612cd7600189615838565b601c8110612ce757612ce7615885565b602002015161077b612cfe8861077b60018a612808565b87612808565b9050612d258161077b610b28612d1f8761077b600189612808565b866127ef565b9050868411612d5b579850888085612d3e600187615838565b81518110612d4e57612d4e615885565b6020026020010181815250505b50505080612d6890615a1f565b9050612c5d565b509695505050505050565b5f6127e982836127d4565b612d8d615554565b5f612db97f0000000000000000000000000000000000000000000000000000000000000000602461584b565b612dc490600261584b565b90505f5b81811015612dfa57612df2858281518110612de557612de5615885565b6020026020010151613012565b600101612dc8565b50604051600190815b60018401811015612e5f5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612e03565b5080518452602081015160208501525080612e8d576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e9d615554565b5f516020615ae55f395f51905f5282602001515f516020615ae55f395f51905f52612ec89190615838565b612ed291906158f6565b60208301525090565b5f5f5f612ee786612f51565b91509150612ef3615654565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f469161220591849101615a34565b979650505050505050565b612f59615554565b612f61615554565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615ae55f395f51905f528380095f516020615ae55f395f51905f5260035f516020615ae55f395f51905f52838709085f516020615ae55f395f51905f5284850914915050806130ab5760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b6130b9615554565b6130c1615554565b6130cb838661516a565b9050612a4781856151c0565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161326d9190615a68565b5f60405180830381855afa9150503d805f81146132a5576040519150601f19603f3d011682016040523d82523d5f602084013e6132aa565b606091505b50915091508180156109b65750808060200190518101906109b69190615a7e565b5f808080806132db86600161584b565b6132e690600661584b565b6001600160401b038111156132fd576132fd615899565b604051908082528060200260200182016040528015613326578160200160208202803683370190505b509050865f1b815f8151811061333e5761333e615885565b60209081029190910101525f5b613356601088615838565b8110156133a75789898281811061336f5761336f615885565b9050602002013582826001613384919061584b565b8151811061339457613394615885565b602090810291909101015260010161334b565b505f5b6010811015613418578a516133d29082601081106133ca576133ca615885565b602002015190565b828260106133e18b600161584b565b6133eb9190615838565b6133f5919061584b565b8151811061340557613405615885565b60209081029190910101526001016133aa565b5060208a0151518161342b88600161584b565b8151811061343b5761343b615885565b6020908102919091018101919091528a81015101518161345c88600161584b565b61346790600161584b565b8151811061347757613477615885565b602090810291909101015260408a0151518161349488600161584b565b61349f90600261584b565b815181106134af576134af615885565b60209081029190910181019190915260408b01510151816134d188600161584b565b6134dc90600361584b565b815181106134ec576134ec615885565b602090810291909101015260608a0151518161350988600161584b565b61351490600461584b565b8151811061352457613524615885565b60209081029190910181019190915260608b015101518161354688600161584b565b61355190600561584b565b8151811061356157613561615885565b6020026020010181815250506135818160405160200161220591906159b7565b915061358c8261364f565b60408051602081018690529297509095506135a79101612205565b91505f6135b38361364f565b50959b949a5094985090965091945050505050565b5f5f5f6135d3615673565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136359161220591849101615a9d565b91506136408261364f565b90979096509194509092505050565b5f80826001600160801b038116608082901c61366a82612830565b945061367581612830565b9350505050915091565b5f61368b846007615221565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136ec6136e66136c0856003612808565b61077b6136db6136d08b5f615221565b61077b8c601d615221565b61077b8b601c615221565b836127d4565b905061376d6137626137496137306137178561078061370c8d6002615221565b61077b8e601c615221565b6107806137258c6003615221565b61077b8d601d615221565b61078061373e8b6004615221565b61077b8c601e615221565b6107806137578a6005615221565b61077b8b601f615221565b610780886001615221565b905061378c81610780613781866001612808565b61077b8a6027615221565b905061379881846127d4565b90506137a481856127d4565b8552505f90506137de6137d46137c96137be88601c615221565b61078089601f615221565b61079e886024615221565b610780875f615221565b90506137ef8161077b846002612808565b90506138008161077b846001612808565b905061380c81836127d4565b905061381881846127d4565b9050808460015b60200201525050505050565b5f5f5f61386161385761383f89601c615221565b61078061384d8b6012615221565b8a606001516127d4565b87608001516127ef565b905061389a8161077b6138906138788b601d615221565b6107806138868d6013615221565b8c606001516127d4565b89608001516127ef565b90506138bf8161077b6138906138b18b601e615221565b6107806138868d6014615221565b90506138e48161077b6138906138d68b601f615221565b6107806138868d6015615221565b92505f90506139086138576138fa89601c615221565b61078061384d8b600e615221565b905061392d8161077b61389061391f8b601d615221565b6107806138868d600f615221565b90506139528161077b6138906139448b601e615221565b6107806138868d6010615221565b90506139778161077b6138906139698b601f615221565b6107806138868d6011615221565b91505f905061399e61399861398d896020615221565b6107808a601a615221565b846127d4565b90506139d38161079e6139cd6139b58b6028615221565b6107806139c38d601b615221565b8c60a001516127d4565b856127d4565b90506139df81856127d4565b6040860152505f613a026139cd6139f789601b615221565b61077b8a6028615221565b9050808560035b602002015250505050505050565b5f5f613a75613a5d613a45613a306138908a6016615221565b610780613a3e8b6017615221565b8a516127d4565b610780613a538a6018615221565b89602001516127d4565b610780613a6b896019615221565b88604001516127d4565b91505f613aac613a93613a8989601c615221565b88608001516127ef565b610780613aa18a6003615221565b61077b8b6024615221565b90505f613ad5613abd89601d615221565b610780613aca8b5f615221565b61077b8c6025615221565b90505f613aff613ae68a601e615221565b610780613af48c6001615221565b61077b8d6026615221565b9050613b3e613b26613b1885610780868d5f01516127d4565b610780848c602001516127d4565b610780613b348c6004615221565b8b604001516127d4565b93505050505f613b52613998886021615221565b90505f613b63613998896021615221565b90505f613b9b613b82613b778b6023615221565b6107808c6006615221565b61079e613b908c6023615221565b61077b8d6006615221565b90505f613bbf613bb9613bae87896127d4565b61077b8d6021615221565b83612808565b9050613bcb81886127d4565b90505f613bf3613be5613bdf8d6006615221565b876127d4565b61079e613bdf8e6022615221565b90505f613c018c6023615221565b90505f613c11613bb983846127d4565b60808c0185905260a08c018490529050613c2b818b6127d4565b8b6006602002015250505050505050505050505050565b5f613c4e5f6001612808565b90505f613c5c5f6002612808565b90505f613c6a5f6003612808565b90505f613c86613c7b88601d615221565b61079e89601c615221565b90505f613ca2613c9789601e615221565b61079e8a601d615221565b90505f613cbe613cb38a601f615221565b61079e8b601e615221565b90505f613cda613ccf8b6024615221565b61079e8c601f615221565b905083613ceb8161077b818b6127ef565b9050613cfb8161077b878a6127ef565b9050613d0b8161077b87896127ef565b9050613d1c8161077b8d6008615221565b9050613d28818a6127d4565b60e08b01525082613d3d8161077b818b6127ef565b9050613d4d8161077b868a6127ef565b9050613d5d8161077b86896127ef565b9050613d6e8161077b8d6008615221565b9050613d7a818a6127d4565b6101008b01525081613d908161077b818b6127ef565b9050613da08161077b858a6127ef565b9050613db08161077b85896127ef565b9050613dc18161077b8d6008615221565b9050613dcd818a6127d4565b6101208b01525080613de38161077b818b6127ef565b9050613df38161077b848a6127ef565b9050613e038161077b84896127ef565b9050613e148161077b8d6008615221565b9050613e20818a6127d4565b610140909a019990995250505050505050505050565b613e6f6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e7a84601d615221565b8152613e8784601e615221565b6020820152613e97846024615221565b6040820152613ea7846027615221565b6060820152613eb7846026615221565b6080820152613ec7846025615221565b60a08201525f613ed8856002615221565b90505f613ee5865f615221565b90505f613ef98460400151855f0151612808565b90505f613f0e856020015186602001516127d4565b606086015190915086905f90613f2490806127d4565b90505f613f42613f3c89602001518a606001516127d4565b886127d4565b90505f613f61613f5a8a60a001518b604001516127ef565b8a516127ef565b9050613f70613bdf82886127d4565b9050613f97613f91613f8b613f858487612808565b88612808565b846127ef565b836127ef565b9050613fbf613fb4613fa983876127d4565b61077b8f6009615221565b61077b60018a612808565b6101608c015250505050602085015160808601515f91613fde916127ef565b90505f613ffc613ff28860600151886127d4565b8860200151612808565b90505f61402061400c84876127d4565b6107806139cd8b60a001518c5f0151612808565b905061404861403d614032838c6127d4565b61077b8e6009615221565b61077b600189612808565b6101808b0152505f915061406990506140628360116127ef565b87516127d4565b90505f61407683846127ef565b905061408281826127ef565b90505f6140908360096127d4565b90506140b96140b36139986140ac8b60a001518c5f01516127ef565b8b516127ef565b82612808565b60c089018190525f906140d490613f3c90613fa9908d6127d4565b90506140e78b600b6020020151826127ef565b6101608c0152505086515f925061410e91506140629061410790806127ef565b88516127ef565b90505f61414e6141298361077b8a5f01518b60a00151612808565b602089015161079e9061413c90806127ef565b61077b8b602001518c608001516127ef565b905061416b89600c6020020151610780613f3c613fa9858d6127d4565b89600c602002015250505050505050505050565b6141e9604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6142016141f786601e615221565b85604001516127d4565b8082526142209061078061421688601d615221565b87602001516127d4565b8082526142359061078061406288601c615221565b80825261424790610780876001615221565b808252602082018190526142609061079e87601f615221565b815261427b614270866024615221565b61079e87601c615221565b608082015261429961428e866027615221565b61079e87601f615221565b606082015260808101516142bb906142b190806127d4565b8260800151612808565b6101c082015260808101516142fb906142f1906142ea9061077b60015f516020615b055f395f51905f52615838565b60016127ef565b82606001516127d4565b60a08201819052614331906143239061077b614318896002615221565b61077b8a6003615221565b61077b6139cd88600a615221565b83600e60200201526101c0810151614355906143239061077b614318896002615221565b6101e0840152805161437a9061077b61436f886002615221565b61077b896003615221565b6101208201525f61439961438f87601f615221565b8360200151612808565b90506143a86140b382836127d4565b60e08301526143c56143bb876026615221565b86604001516127d4565b604083018190526143e8906107806143de896025615221565b88602001516127d4565b6040830181905261440890610780614401896024615221565b88516127d4565b604083015261442561441b876027615221565b8360400151612808565b60408301525f614444614439886026615221565b61079e89601e615221565b90506144966144716136e66142ea866080015160015f516020615b055f395f51905f5261077b9190615838565b61077b6142ea866040015160015f516020615b055f395f51905f5261077b9190615838565b60c084015260408301516144b8906144ae90806127d4565b8460400151612808565b61010084015260c08301516144e4906144d69061077b8a6004615221565b61077b613bdf8a600a615221565b6102008601526101c0830151614503906144d69061077b8a6004615221565b610220860152610100830151614522906144d69061077b8a6004615221565b61024086015260e083015161453c9061077b896004615221565b61014084015261455b614550886025615221565b61079e89601d615221565b6101608401526080830151614599906144399061458e906142ea9061077b60015f516020615b055f395f51905f52615838565b8561016001516127d4565b61018084018190526101208401516101a085018190526145d0916107809061077b6145c58c6005615221565b61077b8d6002615221565b6101a0840181905283516145f091906107809061077b6145c58c5f615221565b6101a0840181905261014084015161460891906127ef565b6101a084018190526146229061077b613bdf8a600a615221565b6101a0840181905285600d613a09565b61466b6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6146a061468761467c86601c615221565b61077b876025615221565b610780614695876024615221565b61077b88601d615221565b81526146e56146da6146c16146b687601c615221565b61077b88601f615221565b6107806146cf88601d615221565b61077b89601e615221565b61079e866026615221565b604082018190526146fa90600160441b6127d4565b604082018190526147109061079e866027615221565b60408201819052815161472391906127ef565b604082018190526147399061077b866005615221565b6040820152805161474e90600160441b6127d4565b80825261476e90610780614763876024615221565b61077b886025615221565b808252602082018190526147959061079e61478a87601e615221565b61078088601f615221565b602082018190526147ab9061077b866004615221565b60208201528051606082018190526147c89061078086601f615221565b606082018190526147ec9061079e6147e1876026615221565b610780886027615221565b606082018190526148019061077b865f615221565b8160600181815250505f61482a614820836020015184604001516127ef565b83606001516127ef565b905061483b8161077b876003615221565b905061485361484b866025615221565b6140006127d4565b6080830181905261486990610780876024615221565b6080830181905261487c906140006127d4565b608083018190526148929061078087601e615221565b608083018190526148a5906140006127d4565b608083018190526148bb9061078087601d615221565b608083018190526148ce906140006127d4565b608083018190526148e49061078087601c615221565b608083018190526148fa9061079e87601f615221565b608083018190526149109061077b876005615221565b608083015261492361484b866026615221565b60a0830181905261493990610780876025615221565b60a0830181905261494c906140006127d4565b60a0830181905261496290610780876024615221565b60a08301819052614975906140006127d4565b60a0830181905261498b9061078087601f615221565b60a0830181905261499e906140006127d4565b60a083018190526149b49061078087601e615221565b60a083018190526149ca9061079e876027615221565b60a083018190526149df9061077b875f615221565b60a0830181905260808301515f916149f791906127ef565b9050614a088161077b886004615221565b9050614a1482826127ef565b60c08401819052614a2d9061077b613bdf89600b615221565b60c084018190528560136020020152505050505050565b614aba6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614ad3614ac885601c615221565b610780866002615221565b8152614aee614ae385601d615221565b610780866003615221565b6020820152614b0c614b0185601e615221565b610780866004615221565b6040820152614b2a614b1f85601f615221565b610780866005615221565b60608201528051614b5c90614b5590614b4e90614b4790806127d4565b84516127d4565b83516127d4565b82516127d4565b60808201526020810151614b9a90614b9090614b8690614b7c90806127d4565b84602001516127d4565b83602001516127d4565b82602001516127d4565b60a08201526040810151614bd890614bce90614bc490614bba90806127d4565b84604001516127d4565b83604001516127d4565b82604001516127d4565b60c08201526060810151614c0c906142f190614c0290614bf890806127d4565b84606001516127d4565b83606001516127d4565b60e0820152608081015160a0820151614c2591906127ef565b61010082015260c081015160e0820151614c3f91906127ef565b61012082015260a0810151614c6390614c5890806127ef565b8261012001516127ef565b61014082015260e0810151614c8790614c7c90806127ef565b8261010001516127ef565b610160820152610120810151614c9d90806127ef565b6101e08201819052614cbe90614cb390806127ef565b8261016001516127ef565b6101e0820152610100810151614cd490806127ef565b6101a08201819052614cf590614cea90806127ef565b8261014001516127ef565b6101a08201819052610160820151614d0c916127ef565b6101808201526101408101516101e0820151614d2891906127ef565b6101c0820152614d3c6136e685600c615221565b6102008201819052610280840151610180830151614d67926107809161077b9061079e8a6024615221565b8360146020020152614d97836015602002015161078083610200015161077b856101a0015161079e8a6025615221565b8360156020020152614dc7836016602002015161078083610200015161077b856101c0015161079e8a6026615221565b8360166020020152614df7836017602002015161078083610200015161077b856101e0015161079e8a6027615221565b836017602002015250505050565b614e576040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e8c7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76127bc565b8152602001614eba7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6127bc565b8152602001614ee77e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156127bc565b8152602001614f157f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6127bc565b90529050614f32614f2786601c615221565b610780876002615221565b6101208301819052614f7190614f6690614f5b90614f5090806127d4565b8561012001516127d4565b8461012001516127d4565b8361012001516127d4565b8252614f7e85601d615221565b6020830152614f8e85601e615221565b6040830152614f9e85601f615221565b606083015281516020830151614fc69161482091614fbc91906127ef565b84604001516127ef565b6080830152614fd961399886600d615221565b6101408301528151614ffa90614ff090835f6114d0565b83608001516127ef565b60a0830152615026846018602002015161078084610140015161077b8660a0015161079e8b6024615221565b610300850152602082015161504190614ff0908360016114d0565b60c083015261506d846019602002015161078084610140015161077b8660c0015161079e8b6025615221565b610320850152604082015161508890614ff0908360026114d0565b60e08301526150b484601a602002015161078084610140015161077b8660e0015161079e8b6026615221565b61034085015260608201516150cf90614ff0908360036114d0565b6101008301526150fd84601b602002015161078084610140015161077b86610100015161079e8b6027615221565b84601b61381f565b5f615111818481612861565b905060015b601c81101561516357615159826107808684601c811061513857615138615885565b602002015186615149600187615838565b601b81106114d0576114d0615885565b9150600101615116565b5092915050565b615172615554565b61517a615554565b604051835181526020840151602082015284604082015260408160608360075afa806151a4575f5ffd5b5080518252602080820151908301526060016040529392505050565b6151c8615554565b6151d0615554565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa80615205575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561523557615235615ad0565b6029811061524557615245615885565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615277615554565b8152602001615284615554565b8152602001615291615554565b815260200161529e615554565b81526020016152ab615554565b81526020016152b8615554565b81526020016152c5615554565b81526020016152d2615554565b81526020016152df615554565b81526020016152ec615554565b81526020016152f9615554565b8152602001615306615554565b8152602001615313615554565b8152602001615320615554565b815260200161532d615554565b815260200161533a615554565b8152602001615347615554565b8152602001615354615554565b8152602001615361615554565b815260200161536e615554565b815260200161537b615554565b8152602001615388615554565b8152602001615395615554565b81526020016153a2615554565b81526020016153af615554565b81526020016153bc615554565b81526020016153c9615554565b81526020016153d6615554565b905290565b604051806101e001604052806153ef615691565b81526020016153fc615554565b8152602001615409615554565b8152602001615416615554565b8152602001615423615554565b8152602001615430615554565b815260200161543d615554565b815260200161544a615554565b8152602001615457615554565b81526020016154646156b0565b81526020016154716156de565b815260200161547e6156fd565b81526020016153bc6155d9565b60405180610100016040528061549f61556c565b81526020016154ac61559c565b81526020016154b96155d9565b81526020016154c66155d9565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161552261572b565b815260200161552f61572b565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6156c8615654565b8152602001906001900390816156c05790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b615715615554565b81526020019060019003908161570d5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f6040858703121561575c575f5ffd5b84356001600160401b03811115615771575f5ffd5b8501601f81018713615781575f5ffd5b80356001600160401b03811115615796575f5ffd5b8760208284010111156157a7575f5ffd5b6020918201955093508501356001600160401b038111156157c6575f5ffd5b8501601f810187136157d6575f5ffd5b80356001600160401b038111156157eb575f5ffd5b8760208260051b84010111156157ff575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127e9576127e961580d565b818103818111156127e9576127e961580d565b808201808211156127e9576127e961580d565b5f5f8585111561586c575f5ffd5b83861115615878575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016158be576158be61580d565b5060010190565b803560208310156127e9575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f82615904576159046158e2565b500690565b5f8183825b600581101561592d57815183526020928301929091019060010161590e565b50505060a08201905092915050565b5f8261594a5761594a6158e2565b500490565b5f8183825b6009811015615973578151835260209283019290910190600101615954565b5050506101208201905092915050565b5f8183825b602a8110156159a7578151835260209283019290910190600101615988565b5050506105408201905092915050565b81515f90829060208501835b828110156159e15781518452602093840193909101906001016159c3565b509195945050505050565b5f8183825b6003811015615a105781518352602092830192909101906001016159f1565b50505060608201905092915050565b5f81615a2d57615a2d61580d565b505f190190565b5f8183825b6008811015615a58578151835260209283019290910190600101615a39565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a8e575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615ac1578151835260209283019290910190600101615aa2565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
4
  /**
5
5
  * HonkVerifier link references.
6
6
  */ export const HonkVerifierLinkReferences = {};
@@ -489,6 +489,10 @@ export declare const IERC20Abi: readonly [{
489
489
  readonly type: "error";
490
490
  readonly name: "Governance__ConfigurationLib__InvalidMinimumVotes";
491
491
  readonly inputs: readonly [];
492
+ }, {
493
+ readonly type: "error";
494
+ readonly name: "Governance__ConfigurationLib__LockAmountTooBig";
495
+ readonly inputs: readonly [];
492
496
  }, {
493
497
  readonly type: "error";
494
498
  readonly name: "Governance__ConfigurationLib__LockAmountTooSmall";
@@ -1265,6 +1269,18 @@ export declare const IERC20Abi: readonly [{
1265
1269
  readonly type: "address";
1266
1270
  readonly internalType: "address";
1267
1271
  }];
1272
+ }, {
1273
+ readonly type: "error";
1274
+ readonly name: "SlashPayload_ArraySizeMismatch";
1275
+ readonly inputs: readonly [{
1276
+ readonly name: "expected";
1277
+ readonly type: "uint256";
1278
+ readonly internalType: "uint256";
1279
+ }, {
1280
+ readonly name: "actual";
1281
+ readonly type: "uint256";
1282
+ readonly internalType: "uint256";
1283
+ }];
1268
1284
  }, {
1269
1285
  readonly type: "error";
1270
1286
  readonly name: "Staking__AlreadyActive";
@@ -1621,6 +1637,14 @@ export declare const IERC20Abi: readonly [{
1621
1637
  readonly type: "error";
1622
1638
  readonly name: "TallySlashingProposer__InvalidSignature";
1623
1639
  readonly inputs: readonly [];
1640
+ }, {
1641
+ readonly type: "error";
1642
+ readonly name: "TallySlashingProposer__InvalidSlashAmounts";
1643
+ readonly inputs: readonly [{
1644
+ readonly name: "slashAmounts";
1645
+ readonly type: "uint256[3]";
1646
+ readonly internalType: "uint256[3]";
1647
+ }];
1624
1648
  }, {
1625
1649
  readonly type: "error";
1626
1650
  readonly name: "TallySlashingProposer__InvalidVoteLength";
@@ -1735,19 +1759,31 @@ export declare const IERC20Abi: readonly [{
1735
1759
  }];
1736
1760
  }, {
1737
1761
  readonly type: "error";
1738
- readonly name: "TallySlashingProposer__SlashingUnitMustBeGreaterThanZero";
1762
+ readonly name: "TallySlashingProposer__VoteAlreadyCastInCurrentSlot";
1763
+ readonly inputs: readonly [{
1764
+ readonly name: "slot";
1765
+ readonly type: "uint256";
1766
+ readonly internalType: "Slot";
1767
+ }];
1768
+ }, {
1769
+ readonly type: "error";
1770
+ readonly name: "TallySlashingProposer__VoteSizeTooBig";
1739
1771
  readonly inputs: readonly [{
1740
- readonly name: "slashingUnit";
1772
+ readonly name: "voteSize";
1773
+ readonly type: "uint256";
1774
+ readonly internalType: "uint256";
1775
+ }, {
1776
+ readonly name: "maxSize";
1741
1777
  readonly type: "uint256";
1742
1778
  readonly internalType: "uint256";
1743
1779
  }];
1744
1780
  }, {
1745
1781
  readonly type: "error";
1746
- readonly name: "TallySlashingProposer__VoteAlreadyCastInCurrentSlot";
1782
+ readonly name: "TallySlashingProposer__VotesMustBeMultipleOf4";
1747
1783
  readonly inputs: readonly [{
1748
- readonly name: "slot";
1784
+ readonly name: "votes";
1749
1785
  readonly type: "uint256";
1750
- readonly internalType: "Slot";
1786
+ readonly internalType: "uint256";
1751
1787
  }];
1752
1788
  }, {
1753
1789
  readonly type: "error";
@@ -1 +1 @@
1
- {"version":3,"file":"IERC20Abi.d.ts","sourceRoot":"","sources":["../src/IERC20Abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8iFZ,CAAC"}
1
+ {"version":3,"file":"IERC20Abi.d.ts","sourceRoot":"","sources":["../src/IERC20Abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8lFZ,CAAC"}