@aztec/l1-artifacts 1.0.0-nightly.20250618 → 1.0.0-nightly.20250620

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 (154) hide show
  1. package/dest/CoinIssuerAbi.d.ts +6 -26
  2. package/dest/CoinIssuerAbi.d.ts.map +1 -1
  3. package/dest/CoinIssuerAbi.js +6 -32
  4. package/dest/CoinIssuerBytecode.d.ts +1 -1
  5. package/dest/CoinIssuerBytecode.js +1 -1
  6. package/dest/EmpireBaseAbi.d.ts +58 -14
  7. package/dest/EmpireBaseAbi.d.ts.map +1 -1
  8. package/dest/EmpireBaseAbi.js +76 -16
  9. package/dest/ErrorsAbi.d.ts +6 -26
  10. package/dest/ErrorsAbi.d.ts.map +1 -1
  11. package/dest/ErrorsAbi.js +6 -32
  12. package/dest/ExtRollupLib2Abi.d.ts +6 -26
  13. package/dest/ExtRollupLib2Abi.d.ts.map +1 -1
  14. package/dest/ExtRollupLib2Abi.js +6 -32
  15. package/dest/ExtRollupLib2Bytecode.d.ts +1 -1
  16. package/dest/ExtRollupLib2Bytecode.d.ts.map +1 -1
  17. package/dest/ExtRollupLib2Bytecode.js +1 -1
  18. package/dest/ExtRollupLibAbi.d.ts +6 -26
  19. package/dest/ExtRollupLibAbi.d.ts.map +1 -1
  20. package/dest/ExtRollupLibAbi.js +6 -32
  21. package/dest/ExtRollupLibBytecode.d.ts +1 -1
  22. package/dest/ExtRollupLibBytecode.d.ts.map +1 -1
  23. package/dest/ExtRollupLibBytecode.js +1 -1
  24. package/dest/FeeAssetHandlerAbi.d.ts +6 -26
  25. package/dest/FeeAssetHandlerAbi.d.ts.map +1 -1
  26. package/dest/FeeAssetHandlerAbi.js +6 -32
  27. package/dest/FeeJuicePortalAbi.d.ts +6 -26
  28. package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
  29. package/dest/FeeJuicePortalAbi.js +6 -32
  30. package/dest/FeeJuicePortalBytecode.d.ts +1 -1
  31. package/dest/FeeJuicePortalBytecode.js +1 -1
  32. package/dest/GSEAbi.d.ts +34 -62
  33. package/dest/GSEAbi.d.ts.map +1 -1
  34. package/dest/GSEAbi.js +43 -80
  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 +6 -26
  39. package/dest/GovernanceAbi.d.ts.map +1 -1
  40. package/dest/GovernanceAbi.js +6 -32
  41. package/dest/GovernanceBytecode.d.ts +1 -1
  42. package/dest/GovernanceBytecode.js +1 -1
  43. package/dest/GovernanceProposerAbi.d.ts +58 -14
  44. package/dest/GovernanceProposerAbi.d.ts.map +1 -1
  45. package/dest/GovernanceProposerAbi.js +76 -16
  46. package/dest/GovernanceProposerBytecode.d.ts +1 -1
  47. package/dest/GovernanceProposerBytecode.d.ts.map +1 -1
  48. package/dest/GovernanceProposerBytecode.js +1 -1
  49. package/dest/HonkVerifierAbi.d.ts +6 -26
  50. package/dest/HonkVerifierAbi.d.ts.map +1 -1
  51. package/dest/HonkVerifierAbi.js +6 -32
  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 +6 -26
  56. package/dest/IERC20Abi.d.ts.map +1 -1
  57. package/dest/IERC20Abi.js +6 -32
  58. package/dest/IVerifierAbi.d.ts +6 -26
  59. package/dest/IVerifierAbi.d.ts.map +1 -1
  60. package/dest/IVerifierAbi.js +6 -32
  61. package/dest/InboxAbi.d.ts +6 -26
  62. package/dest/InboxAbi.d.ts.map +1 -1
  63. package/dest/InboxAbi.js +6 -32
  64. package/dest/InboxBytecode.d.ts +1 -1
  65. package/dest/InboxBytecode.d.ts.map +1 -1
  66. package/dest/InboxBytecode.js +1 -1
  67. package/dest/MockVerifierAbi.d.ts +6 -26
  68. package/dest/MockVerifierAbi.d.ts.map +1 -1
  69. package/dest/MockVerifierAbi.js +6 -32
  70. package/dest/MockZKPassportVerifierAbi.d.ts +6 -26
  71. package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -1
  72. package/dest/MockZKPassportVerifierAbi.js +6 -32
  73. package/dest/MultiAdderAbi.d.ts +6 -26
  74. package/dest/MultiAdderAbi.d.ts.map +1 -1
  75. package/dest/MultiAdderAbi.js +6 -32
  76. package/dest/MultiAdderBytecode.d.ts +1 -1
  77. package/dest/MultiAdderBytecode.js +1 -1
  78. package/dest/NewGovernanceProposerPayloadAbi.d.ts +6 -26
  79. package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
  80. package/dest/NewGovernanceProposerPayloadAbi.js +6 -32
  81. package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
  82. package/dest/NewGovernanceProposerPayloadBytecode.d.ts.map +1 -1
  83. package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
  84. package/dest/OutboxAbi.d.ts +6 -26
  85. package/dest/OutboxAbi.d.ts.map +1 -1
  86. package/dest/OutboxAbi.js +6 -32
  87. package/dest/OutboxBytecode.d.ts +1 -1
  88. package/dest/OutboxBytecode.js +1 -1
  89. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +6 -26
  90. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
  91. package/dest/RegisterNewRollupVersionPayloadAbi.js +6 -32
  92. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
  93. package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
  94. package/dest/RegistryAbi.d.ts +6 -26
  95. package/dest/RegistryAbi.d.ts.map +1 -1
  96. package/dest/RegistryAbi.js +6 -32
  97. package/dest/RegistryBytecode.d.ts +1 -1
  98. package/dest/RegistryBytecode.js +1 -1
  99. package/dest/RewardDistributorAbi.d.ts +6 -26
  100. package/dest/RewardDistributorAbi.d.ts.map +1 -1
  101. package/dest/RewardDistributorAbi.js +6 -32
  102. package/dest/RewardDistributorBytecode.d.ts +1 -1
  103. package/dest/RewardDistributorBytecode.js +1 -1
  104. package/dest/RollupAbi.d.ts +8 -32
  105. package/dest/RollupAbi.d.ts.map +1 -1
  106. package/dest/RollupAbi.js +8 -39
  107. package/dest/RollupBytecode.d.ts +21 -21
  108. package/dest/RollupBytecode.d.ts.map +1 -1
  109. package/dest/RollupBytecode.js +21 -21
  110. package/dest/RollupStorage.d.ts +5 -5
  111. package/dest/RollupStorage.js +5 -5
  112. package/dest/SlashFactoryAbi.d.ts +6 -26
  113. package/dest/SlashFactoryAbi.d.ts.map +1 -1
  114. package/dest/SlashFactoryAbi.js +6 -32
  115. package/dest/SlashFactoryBytecode.d.ts +1 -1
  116. package/dest/SlashFactoryBytecode.js +1 -1
  117. package/dest/SlasherAbi.d.ts +6 -26
  118. package/dest/SlasherAbi.d.ts.map +1 -1
  119. package/dest/SlasherAbi.js +6 -32
  120. package/dest/SlasherBytecode.d.ts +1 -1
  121. package/dest/SlasherBytecode.d.ts.map +1 -1
  122. package/dest/SlasherBytecode.js +1 -1
  123. package/dest/SlashingProposerAbi.d.ts +58 -14
  124. package/dest/SlashingProposerAbi.d.ts.map +1 -1
  125. package/dest/SlashingProposerAbi.js +76 -16
  126. package/dest/SlashingProposerBytecode.d.ts +1 -1
  127. package/dest/SlashingProposerBytecode.d.ts.map +1 -1
  128. package/dest/SlashingProposerBytecode.js +1 -1
  129. package/dest/StakingAssetHandlerAbi.d.ts +6 -26
  130. package/dest/StakingAssetHandlerAbi.d.ts.map +1 -1
  131. package/dest/StakingAssetHandlerAbi.js +6 -32
  132. package/dest/StakingAssetHandlerBytecode.d.ts +1 -1
  133. package/dest/StakingAssetHandlerBytecode.js +1 -1
  134. package/dest/TestERC20Abi.d.ts +6 -26
  135. package/dest/TestERC20Abi.d.ts.map +1 -1
  136. package/dest/TestERC20Abi.js +6 -32
  137. package/dest/TokenPortalAbi.d.ts +6 -26
  138. package/dest/TokenPortalAbi.d.ts.map +1 -1
  139. package/dest/TokenPortalAbi.js +6 -32
  140. package/dest/TokenPortalBytecode.d.ts +1 -1
  141. package/dest/TokenPortalBytecode.js +1 -1
  142. package/dest/UniswapPortalAbi.d.ts +6 -26
  143. package/dest/UniswapPortalAbi.d.ts.map +1 -1
  144. package/dest/UniswapPortalAbi.js +6 -32
  145. package/dest/UniswapPortalBytecode.d.ts +1 -1
  146. package/dest/UniswapPortalBytecode.js +1 -1
  147. package/dest/ValidatorSelectionLibAbi.d.ts +6 -26
  148. package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
  149. package/dest/ValidatorSelectionLibAbi.js +6 -32
  150. package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
  151. package/dest/ValidatorSelectionLibBytecode.js +1 -1
  152. package/dest/checksum.d.ts +1 -1
  153. package/dest/checksum.js +1 -1
  154. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
3
  */
4
- export declare const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c05161525b6100595f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525b5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7d565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f55565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6c565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614955565b6101b56110b5565b905090565b6101c2614ad2565b5f805b6010811015610224576101f18583866101df826020614f7f565b926101ec93929190614f92565b61199b565b8351826010811061020457610204614fb9565b60200201818152505060208261021a9190614f7f565b91506001016101c5565b50610248848285610236826080614f7f565b9261024393929190614f92565b6119fc565b6020830152610258608082614f7f565b905061026b848285610236826080614f7f565b604083015261027b608082614f7f565b905061028e848285610236826080614f7f565b606083015261029e608082614f7f565b90506102b1848285610236826080614f7f565b60c08301526102c1608082614f7f565b90506102d4848285610236826080614f7f565b60e08301526102e4608082614f7f565b90506102f7848285610236826080614f7f565b60808084019190915261030a9082614f7f565b905061031d848285610236826080614f7f565b61010083015261032e608082614f7f565b9050610341848285610236826080614f7f565b60a0830152610351608082614f7f565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7f565b84610120015183601c811061039157610391614fb9565b602002015182600881106103a7576103a7614fb9565b6020020181815250506020836103bd9190614f7f565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7f565b836101400151826028811061040457610404614fb9565b60200201818152505060208261041a9190614f7f565b91506001016103d3565b505f5b6104336001601c614f6c565b81101561047c5761044b858386610236826080614f7f565b83610160015182601b811061046257610462614fb9565b6020020152610472608083614f7f565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7f565b83610180015182601c81106104b0576104b0614fb9565b6020020181815250506020826104c69190614f7f565b915060010161047f565b506104e2848285610236826080614f7f565b6101a08301526104f3608082614f7f565b9050610506848285610236826080614f7f565b6101c08301525092915050565b61051b614b9c565b5f61052b88888888888887611acc565b908352905061053a8189611b22565b6020840191909152905061054d81611cbc565b604084019190915290506105618882611d1d565b606084019190915290506105758882611df1565b608084019190915290506105898882611e7c565b60a0840191909152905061059d8882611fea565b60c084019190915290506105b1888261205c565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7f565b6120b3565b6120d1565b6120ea565b90505f610629876106248a6106016105fc8b6001614f7f565b612103565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6c565b8110156106c5575f6106828c838151811061067557610675614fb9565b60200260200101516120b3565b90506106928661060186846120ea565b95506106a28561060185846120ea565b94506106ae848b6120ea565b93506106ba838b612103565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb9565b602002015190506106f98661060186846120ea565b95506107098561060185846120ea565b9450610715848b6120ea565b9350610721838b612103565b9250506001016106c8565b506101978484612132565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb9565b602002015190505f61078f8286612140565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb9565b602002015190506107d7838261215d565b95506107fe886040015185601c81106107f2576107f2614fb9565b6020020151868361230c565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612337565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a5565b9050610897614bf5565b61089f614c14565b60e08601516108be906108b990855f5b6020020151612103565b61240a565b60a085015260e08601516108dd906108b990855f5b60200201516120ea565b60c080860182905260a0860151908801516108fc9261060691906120d1565b845260a086015161092a906109109061240a565b6106018660a001516106248a60c001518960c001516120d1565b6020850152600182526101a088015161094290612473565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b2565b86606001516120d1565b83826046811061098757610987614fb9565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6c565b602881106109bb576109bb614fb9565b602002015188606001516120d1565b8560800181815250506109e5856060015188608001516120d1565b60608601526109f381614fcd565b9050610954565b505f610a0860236001614f7f565b90505b60288111610a8957610a2361096b86602001516124b2565b838260468110610a3557610a35614fb9565b602002015260808501516101408a0151610a599190610606906109ab600186614f6c565b856080018181525050610a74856060015188608001516120d1565b6060860152610a8281614fcd565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612473565b6103808201526040880151610c2390612473565b6103a08201526060880151610c3790612473565b6103c08201526080880151610c4b90612473565b6103e082015260a0880151610c5f90612473565b610400820152610100880151610c7490612473565b61042082015260c0880151610c8890612473565b61044082015260e0880151610c9c90612473565b6104608201526020880151610cb090612473565b6104808201526040880151610cc490612473565b6104a08201526060880151610cd890612473565b6104c08201526080880151610cec90612473565b6104e082015260a0880151610d0090612473565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124ca565b805160a0870151919250610d58916120d1565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d1565b8860c001516120d1565b604086015260c0870151610d9b906125e5565b60608601525f5b610dae6001601c614f6c565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6c565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7f565b601c81106108af576108af614fb9565b60a088015260e0890151610e42906108b99088610e32866001614f7f565b601c81106108d3576108d3614fb9565b60c0880152606087015160a0880151610e5b91906120d1565b60e0880152606087015160c08a0151610e7791610d7e916120d1565b6101008801819052610e9990610e8c906124b2565b6106068960e001516124b2565b8583610ea760286001614f7f565b610eb19190614f7f565b60468110610ec157610ec1614fb9565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7f565b601c8110610ef357610ef3614fb9565b60200201516120d1565b9050610f19816106068a60e0015187876001610ee39190614f7f565b9050610f298860400151826120ea565b6040890152606088015160c08b0151610f4f91610f45916120d1565b8b60c001516120d1565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb9565b6020020151612473565b8483610f8860286001614f7f565b610f929190614f7f565b60468110610fa257610fa2614fb9565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7f565b60468110610fe357610fe3614fb9565b6020020152604085015183610ffa601c6028614f7f565b6046811061100a5761100a614fb9565b60200201526101c08901515f9061102090612473565b90508083611030601c6028614f7f565b61103b906001614f7f565b6046811061104b5761104b614fb9565b602002015260e088015184611062601c6028614f7f565b61106d906001614f7f565b6046811061107d5761107d614fb9565b60200201525f61108d84866125f0565b90505f611099836126b6565b90506110a582826126fc565b9c9b505050505050505050505050565b6110bd614955565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f2b0321c34f33c10aefd2d69cf0fc58c58554e4885db1d8d81372e7976e89c21f81527f0e66d1f549174678c8078bfd0b4cd6eb32cfc4413d2bda7d95481b94264690b1818301526060830152825180840184527f20256321741afbfaa06ca3741c0c4128babd620c6e3ea1f720ffa5e8b403faa681527f1bdaceaeb65f2a18e5679dbfd2ca58ccc5acdcdbd74624c143343ce1f414adc6818301526080830152825180840184527f1d64888d0abe379a17c230b054797b58ddbea50a361cb64d0bee1ef6a751138b81527f126f92dc854e1d9fe593f42cd8ec666079c4182da914f5daaa1e889bea89c9438183015260a0830152825180840184527f154b07c57b9be48a0720e4638549237e5d2773037e008838a6b4bdd558f62ad781527eb0936e189e766ec1079ccff1489217a62f09a94209818cc61738bb9e745a318183015260c0830152825180840184527f11fe89df5d3c03d738c1099773d224e7ecff62e5d2a4a6d21a51ad98c2f7905481527f06615d827a86b7f5edc93cf3341375cca4abae7fface50363238f8cddc37cf0c8183015260e0830152825180840184527f20405d645114835df62ca007b50ddcc38401dcac4f842243c40681943bd217ca81527f288a686d75b2e109ac1f453d17c8741c0d7b0678113a35d9b4c64a5ea6d2fff781830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f19e77913f55b3b79e1f27a001c77b2d3c53b063e384e604a42d34b07d40a154d81527f17e6f230c3ea95decb4ab510574a1973a501b83209c67edec5cf233b4df065a381830152610140830152825180840184527f21163d6efd30064cd3f5137f847d9236dbd6d32582d49b0456d1593a6ef4187381527f2bc3c033f49112030c9f0e0a1251172cb197d9de817efe2f1fc0167721690c2281830152610160830152825180840184527f145092e558a57141ce50a13a911ffe538a9fb95fffd604d8ba2dc6c2852534b281527f124ea372bf88f5cacca7deb0f96381a2399b1948ae4b27d8786d7244b27474ca81830152610180830152825180840184527f2132d2574f33c0b540605992a6f4959b0ee48877ba994548e6c867959a54269c81527f1e0276fe25e6576cddeb9adcd9144b701b8d8459c8e8f77fb484c5009becbb0a818301526101a0830152825180840184527f26e0a8d2ef27915ad3713fe496ab7b5c184f6b7e3dbe802e901314de954d339381527f2b1d5b8a804a15d81fbe3c8c93fabb2d6ee546f6c43ad7d912178d345676bc51818301526101c0830152825180840184527f0180cc493cca83e192b2652ff31c48e902b15d1d1f035fc2a64a7c85477f5f1481527f0b874e6a8889f1f9caddb981e21d3bbca4abdd38429163ad65f955e8cc797637818301526101e0830152825180840184527f14042c6b34d67d3d0439d2a6271a3664127ac05ea830467096c80c04d068871a81527f04edfb6fa00c2ffef51a950c3bc18f1d523a76293822d9588446f45c1225b65181830152610200830152825180840184527f26b65a07dcc457b52ecb68784fd165242f47ba52115fc04fd5ca5bbb5d107ff081527f0e7a12639fe44e0b5136a07fd1560617311b6acdd83b67904901daeaffd38fa081830152610220830152825180840184527f2fb818185fde135bbd4a5251100c6abf912af18034aee7cc8ba6725109affc5681527f1fbd77f65319c236aa4c7eb1859697cef3eac0fa96f7932a396a6981fd2790d481830152610240830152825180840184527f0369a0615ee7d10d144252456d0a471e47d97c24c51fe6808ced4409fb269f4481527f16d65e7a194a05fcb17dab66e06154c4eb9fc38a38275f96aca417fc2bb6a34581830152610260830152825180840184527f14b337b93ade02933ee37cd2f63ef04b1dd18648102c9c008d2793c7928efd2281527f1b37bb3566ed65fb5c0d83582aa78324be1d6675b55955ed251f6f6bbd2f672381830152610280830152825180840184527f17ff9a9c66bfebc1a40d55c3d93e588c9909fa1b2ac970e1b227693b193ce5c681527f0f1d139b42b1cb0e04a97e703348d1d3e19b43c34dcd7f1ba4bfeb7a84b3e10a818301526102a0830152825180840184527f2e983fc124a78b3381ddf8e3222a0c42e77b4f159981caa105ad15eeaa49b65d81527f2c3693dfcf122eaaecd87a25ddf05c80751901ca4fff225216c7b64bd762f4bf818301526102c0830152825180840184527f212f98aac2be6da99016e5adfee95a7dff1d5fc5ebb8355007a9b4d2f6f9ef9e81527f18aa72aa2c84181564be00de1f6879e25f87ed62c36ad81727858e3315de3d06818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f11e0e031f829318f6bad9dd9c5f7d1de01dc22da72d666cd4f8801354eb3fe5f83527f22e34c359086fff73f380012b9692972f6c24f7194c7ecef18ece5c9a7ea0bbe908301526103a081019190915290565b5f602082146119e85760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f56105fc8385614fe5565b9392505050565b611a04614c42565b60808214611a4a5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119df565b604080516080810190915280611a6360205f8688614f92565b611a6c91614fe5565b8152602090810190611a82906040908688614f92565b611a8b91614fe5565b8152602001611a9e606060408688614f92565b611aa791614fe5565b8152602001611aba608060608688614f92565b611ac391614fe5565b90529392505050565b611ad4614c66565b5f611ae3898989898989612900565b604086019190915260208501919091529083529250611b02838a612da6565b608085019190915260608401919091529199919850909650505050505050565b611b2a614c96565b5f611b33614cb5565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc991611bae91849101615002565b604051602081830303815290604052805190602001206120b3565b9150611bd482612e75565b6020850152835260015b611bea6002601961504a565b811015611c6a57611c0783604051602001611bae91815260200190565b9250611c1283612e75565b85611c1e846002614f55565b60198110611c2e57611c2e614fb9565b6020020186611c3e856002614f55565b611c49906001614f7f565b60198110611c5957611c59614fb9565b602002019190915252600101611bde565b50611c8182604051602001611bae91815260200190565b91505f611c8d83612e75565b85611c9a60016019614f6c565b60198110611caa57611caa614fb9565b60200201919091525050509250929050565b611cc4614cd4565b5f805b601c811015611d1657611ce684604051602001611bae91815260200190565b93505f611cf285612e75565b8584601c8110611d0457611d04614fb9565b60200201919091525050600101611cc7565b5090929050565b611d25614cd4565b5f805b601c811015611de857611d39614cb5565b8481525f5b6008811015611da25786610120015183601c8110611d5e57611d5e614fb9565b60200201518160088110611d7457611d74614fb9565b602002015182611d85836001614f7f565b60098110611d9557611d95614fb9565b6020020152600101611d3e565b50611db781604051602001611bae9190615002565b94505f611dc386612e75565b8685601c8110611dd557611dd5614fb9565b6020020191909152505050600101611d28565b50909391925050565b5f5f611dfb614cf3565b8381525f5b6028811015611e4e578561014001518160288110611e2057611e20614fb9565b602002015182611e31836001614f7f565b60298110611e4157611e41614fb9565b6020020152600101611e00565b50611e6381604051602001611bae919061505d565b91505f611e6f83612e75565b5096929550919350505050565b5f5f611e86614d12565b8381525f5b611e976001601c614f6c565b811015611fd55785610160015181601b8110611eb557611eb5614fb9565b60200201515182611ec7836004614f55565b611ed2906001614f7f565b606d8110611ee257611ee2614fb9565b602002015261016086015181601b8110611efe57611efe614fb9565b60200201516020015182826004611f159190614f55565b611f20906002614f7f565b606d8110611f3057611f30614fb9565b602002015261016086015181601b8110611f4c57611f4c614fb9565b60200201516040015182611f61836004614f55565b611f6c906003614f7f565b606d8110611f7c57611f7c614fb9565b602002015261016086015181601b8110611f9857611f98614fb9565b60200201516060015182611fad836004614f55565b611fb8906004614f7f565b606d8110611fc857611fc8614fb9565b6020020152600101611e8b565b50611e6381604051602001611bae9190615091565b5f5f611ff4614d31565b8381525f5b601c8110156120475785610180015181601c811061201957612019614fb9565b60200201518261202a836001614f7f565b601d811061203a5761203a614fb9565b6020020152600101611ff9565b50611e6381604051602001611bae91906150c5565b5f5f612066614d50565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6391611bae918491016150f9565b5f6120cb5f51602061523b5f395f51905f528361512c565b92915050565b5f5f51602061523b5f395f51905f528284099392505050565b5f5f51602061523b5f395f51905f528284089392505050565b5f5f51602061523b5f395f51905f52612129835f51602061523b5f395f51905f52614f6c565b84089392505050565b5f6119f5836106018461240a565b81515f908190612152908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122445761223a826106018784612103565b9150600101612223565b5061224d614d6e565b5f5b60088110156122ae575f84826008811061226b5761226b614fb9565b60200201519050612280816106018985612103565b905061228b8161240a565b9050808383600881106122a0576122a0614fb9565b60200201525060010161224f565b505f5b6008811015612301575f8782600881106122cd576122cd614fb9565b602002015190506122ea81848460088110610ef357610ef3614fb9565b90506122f686826120ea565b9550506001016122b1565b5061082e84836120d1565b5f5f612322600161060685610601896001612103565b905061232e84826120d1565b95945050505050565b5f612340614d8d565b61234b868285612ea5565b61235786868386613051565b61236386868386613239565b61236e868285613435565b61237986828561361d565b61238586868386613966565b612390868285614200565b61239b8682856145cb565b61082e81856148c0565b6123ad614cd4565b81815260015b601c811015612404576123e5826123cb600184614f6c565b601c81106123db576123db614fb9565b60200201516125e5565b8282601c81106123f7576123f7614fb9565b60200201526001016123b3565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523b5f395f51905f520360808201525f51602061523b5f395f51905f5260a082015260205f60c08360055afa905080612468575f5ffd5b50505f519392505050565b61247b614dac565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120cb825f51602061523b5f395f51905f52614f6c565b6124d2614cd4565b601c5b80156125db575f846124e8600184614f6c565b601c81106124f8576124f8614fb9565b602002015190505f8861250c600185614f6c565b601c811061251c5761251c614fb9565b602002015190505f61257761253b612534858c6120d1565b60026120d1565b6106248a61254a600189614f6c565b601c811061255a5761255a614fb9565b60200201516106016125718861060160018a612103565b87612103565b9050612598816106016108b961259287610601600189612103565b866120ea565b90508584116125c75797508780856125b1600187614f6c565b601c81106125c1576125c1614fb9565b60200201525b505050806125d49061513f565b90506124d5565b5095945050505050565b5f6120cb82836120d1565b6125f8614dac565b5f612605601c6028614f7f565b612610906002614f7f565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612645565b50805184526020810151602085015250505092915050565b6126be614dac565b5f51602061521b5f395f51905f5282602001515f51602061521b5f395f51905f526126e99190614f6c565b6126f3919061512c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128929190615154565b5f60405180830381855afa9150503d805f81146128ca576040519150601f19603f3d011682016040523d82523d5f602084013e6128cf565b606091505b50915091505f818060200190518101906128e9919061516a565b90508280156128f55750805b979650505050505050565b5f80808080612910876003614f7f565b61291b90600c614f7f565b6001600160401b0381111561293257612932615189565b60405190808252806020026020018201604052801561295b578160200160208202803683370190505b509050875f1b815f8151811061297357612973614fb9565b602002602001018181525050865f1b8160018151811061299557612995614fb9565b602002602001018181525050855f1b816002815181106129b7576129b7614fb9565b60209081029190910101525f5b6129cf601089614f6c565b811015612a20578a8a828181106129e8576129e8614fb9565b90506020020135828260036129fd9190614f7f565b81518110612a0d57612a0d614fb9565b60209081029190910101526001016129c4565b505f5b6010811015612a91578b51612a4b908260108110612a4357612a43614fb9565b602002015190565b82826010612a5a8c6003614f7f565b612a649190614f6c565b612a6e9190614f7f565b81518110612a7e57612a7e614fb9565b6020908102919091010152600101612a23565b5060208b01515181612aa4896003614f7f565b81518110612ab457612ab4614fb9565b6020908102919091018101919091528b810151015181612ad5896003614f7f565b612ae0906001614f7f565b81518110612af057612af0614fb9565b6020908102919091018101919091528b01516040015181612b12896003614f7f565b612b1d906002614f7f565b81518110612b2d57612b2d614fb9565b6020908102919091018101919091528b01516060015181612b4f896003614f7f565b612b5a906003614f7f565b81518110612b6a57612b6a614fb9565b602090810291909101015260408b01515181612b87896003614f7f565b612b92906004614f7f565b81518110612ba257612ba2614fb9565b60209081029190910181019190915260408c0151015181612bc4896003614f7f565b612bcf906005614f7f565b81518110612bdf57612bdf614fb9565b60209081029190910101526040808c0151015181612bfe896003614f7f565b612c09906006614f7f565b81518110612c1957612c19614fb9565b602090810291909101015260408b01516060015181612c39896003614f7f565b612c44906007614f7f565b81518110612c5457612c54614fb9565b602090810291909101015260608b01515181612c71896003614f7f565b612c7c906008614f7f565b81518110612c8c57612c8c614fb9565b60209081029190910181019190915260608c0151015181612cae896003614f7f565b612cb9906009614f7f565b81518110612cc957612cc9614fb9565b602090810291909101015260608b01516040015181612ce9896003614f7f565b612cf490600a614f7f565b81518110612d0457612d04614fb9565b60209081029190910101526060808c0151015181612d23896003614f7f565b612d2e90600b614f7f565b81518110612d3e57612d3e614fb9565b602002602001018181525050612d5e81604051602001611bae919061519d565b9150612d6982612e75565b6040805160208101869052929750909550612d849101611bae565b91505f612d9083612e75565b50959c949b509499509097509195505050505050565b5f5f5f612db1614dc4565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5b91611bae918491016151d2565b9150612e6682612e75565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e90826120b3565b9450612e9b816120b3565b9350505050915091565b5f612eb1846007614925565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f12612f0c612ee6856003612103565b610601612f01612ef68b5f614925565b6106018c601c614925565b6106018b601b614925565b836120d1565b9050612f93612f88612f6f612f56612f3d85610606612f328d6002614925565b6106018e601b614925565b610606612f4b8c6003614925565b6106018d601c614925565b610606612f648b6004614925565b6106018c601d614925565b610606612f7d8a6005614925565b6106018b601e614925565b610606886001614925565b9050612fb281610606612fa7866001612103565b6106018a6026614925565b9050612fbe81846120d1565b9050612fca81856120d1565b8552505f9050613004612ffa612fef612fe488601b614925565b61060689601e614925565b610624886023614925565b610606875f614925565b905061301581610601846002612103565b905061302681610601846001612103565b905061303281836120d1565b905061303e81846120d1565b9050808460015b60200201525050505050565b5f5f5f61308761307d61306589601b614925565b6106066130738b6011614925565b8a606001516120d1565b87608001516120ea565b90506130c0816106016130b661309e8b601c614925565b6106066130ac8d6012614925565b8c606001516120d1565b89608001516120ea565b90506130e5816106016130b66130d78b601d614925565b6106066130ac8d6013614925565b905061310a816106016130b66130fc8b601e614925565b6106066130ac8d6014614925565b92505f905061312e61307d61312089601b614925565b6106066130738b600d614925565b9050613153816106016130b66131458b601c614925565b6106066130ac8d600e614925565b9050613178816106016130b661316a8b601d614925565b6106066130ac8d600f614925565b905061319d816106016130b661318f8b601e614925565b6106066130ac8d6010614925565b91505f90506131c46131be6131b389601f614925565b6106068a6019614925565b846120d1565b90506131f9816106246131f36131db8b6027614925565b6106066131e98d601a614925565b8c60a001516120d1565b856120d1565b905061320581856120d1565b6040860152505f6132286131f361321d89601a614925565b6106018a6027614925565b606090950194909452505050505050565b5f5f61329761327f6132676132526130b68a6015614925565b6106066132608b6016614925565b8a516120d1565b6106066132758a6017614925565b89602001516120d1565b61060661328d896018614925565b88604001516120d1565b91505f6132ce6132b56132ab89601b614925565b88608001516120ea565b6106066132c38a6003614925565b6106018b6023614925565b90505f6132f76132df89601c614925565b6106066132ec8b5f614925565b6106018c6024614925565b90505f6133216133088a601d614925565b6106066133168c6001614925565b6106018d6025614925565b905061336061334861333a85610606868d5f01516120d1565b610606848c602001516120d1565b6106066133568c6004614925565b8b604001516120d1565b93505050505f6133746131be886020614925565b90505f6133856131be896020614925565b90505f6133bd6133a46133998b6022614925565b6106068c6006614925565b6106246133b28c6022614925565b6106018d6006614925565b90505f6133e16133db6133d087896120d1565b6106018d6020614925565b83612103565b90506133ed81886120d1565b90505f6134156134076134018d6006614925565b876120d1565b6106246134018e6021614925565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134415f6001612103565b90505f61344f5f6002612103565b90505f61345d5f6003612103565b90505f61347961346e88601c614925565b61062489601b614925565b90505f61349561348a89601d614925565b6106248a601c614925565b90505f6134b16134a68a601e614925565b6106248b601d614925565b90505f6134cd6134c28b6023614925565b6106248c601e614925565b9050836134de81610601818b6120ea565b90506134ee81610601878a6120ea565b90506134fe8161060187896120ea565b905061350f816106018d6008614925565b905061351b818a6120d1565b60c08b0152508261353081610601818b6120ea565b905061354081610601868a6120ea565b90506135508161060186896120ea565b9050613561816106018d6008614925565b905061356d818a6120d1565b60e08b0152508161358281610601818b6120ea565b905061359281610601858a6120ea565b90506135a28161060185896120ea565b90506135b3816106018d6008614925565b90506135bf818a6120d1565b6101008b015250806135d581610601818b6120ea565b90506135e581610601848a6120ea565b90506135f58161060184896120ea565b9050613606816106018d6008614925565b9050613612818a6120d1565b9050808a6009613423565b6136566040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366184601c614925565b815261366e84601d614925565b602082015261367e846023614925565b604082015261368e846026614925565b606082015261369e846025614925565b60808201526136ae846024614925565b60a08201525f6136bf856002614925565b90505f6136cc865f614925565b90505f6136e08460400151855f0151612103565b90505f6136f5856020015186602001516120d1565b606086015190915086905f9061370b90806120d1565b90505f61372961372389602001518a606001516120d1565b886120d1565b90505f6137486137418a60a001518b604001516120ea565b8a516120ea565b905061375761340182886120d1565b905061377e61377861377261376c8487612103565b88612103565b846120ea565b836120ea565b90506137a661379b61379083876120d1565b6106018f6009614925565b61060160018a612103565b6101408c015250505050602085015160808601515f916137c5916120ea565b90505f6137e36137d98860600151886120d1565b8860200151612103565b90505f6138076137f384876120d1565b6106066131f38b60a001518c5f0151612103565b905061382f613824613819838c6120d1565b6106018e6009614925565b610601600189612103565b6101608b0152505f915061385090506138498360116120ea565b87516120d1565b90505f61385d83846120ea565b905061386981826120ea565b90505f6138778360096120d1565b90506138a061389a6131be6138938b60a001518c5f01516120ea565b8b516120ea565b82612103565b60c089018190525f906138bb9061372390613790908d6120d1565b90506138ce8b600a6020020151826120ea565b6101408c0152505086515f92506138f59150613849906138ee90806120ea565b88516120ea565b90505f613935613910836106018a5f01518b60a00151612103565b60208901516106249061392390806120ea565b6106018b602001518c608001516120ea565b905061395289600b6020020151610606613723613790858d6120d1565b89600b602002015250505050505050505050565b6139fa604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2f613a16613a0b87601b614925565b610601886024614925565b610606613a24886023614925565b61060189601c614925565b8152613a74613a69613a50613a4588601b614925565b61060189601e614925565b610606613a5e89601c614925565b6106018a601d614925565b610624876025614925565b60408201819052613a8990600160441b6120d1565b60408201819052613a9f90610624876026614925565b604082018190528151613ab291906120ea565b60408201819052613ac890610601876005614925565b60408201528051613add90600160441b6120d1565b808252613afd90610606613af2886023614925565b610601896024614925565b80825260208201819052613b1990610624612fe488601d614925565b60208201819052613b2f90610601876004614925565b6020820152805160608201819052613b4c9061060687601e614925565b60608201819052613b7090610624613b65886025614925565b610606896026614925565b60608201819052613b8590610601875f614925565b8160600181815250505f613bae613ba4836020015184604001516120ea565b83606001516120ea565b9050613bbf81610601886003614925565b9050613bd7613bcf876024614925565b6140006120d1565b60808301819052613bed90610606886023614925565b60808301819052613c00906140006120d1565b60808301819052613c169061060688601d614925565b60808301819052613c29906140006120d1565b60808301819052613c3f9061060688601c614925565b60808301819052613c52906140006120d1565b60808301819052613c689061060688601b614925565b60808301819052613c7e9061062488601e614925565b60808301819052613c9490610601886005614925565b6080830152613ca7613bcf876025614925565b60a08301819052613cbd90610606886024614925565b60a08301819052613cd0906140006120d1565b60a08301819052613ce690610606886023614925565b60a08301819052613cf9906140006120d1565b60a08301819052613d0f9061060688601e614925565b60a08301819052613d22906140006120d1565b60a08301819052613d389061060688601d614925565b60a08301819052613d4e90610624886026614925565b60a08301819052613d6390610601885f614925565b60a0830181905260808301515f91613d7b91906120ea565b9050613d8c81610601896004614925565b9050613da6613d9c88601d614925565b87604001516120d1565b60c08401819052613dbf906106066132758a601c614925565b60c08401819052613ddf90610606613dd88a601b614925565b89516120d1565b60c08401819052613df590610606896001614925565b60c0840181905260e08401819052613e129061062489601e614925565b60c0840152613e2561346e886023614925565b610140840152613e44613e39886026614925565b61062489601e614925565b610120840152610140830151613e6990613e5e90806120d1565b846101400151612103565b610280840152610140830151613eab90613ea090613e999061060160015f51602061523b5f395f51905f52614f6c565b60016120ea565b8461012001516120d1565b6101608401819052613ee290613ed490610601613ec98b6002614925565b6106018c6003614925565b6106016134018a600a614925565b6101a0860152610280830151613f0490613ed490610601613ec98b6002614925565b6101c086015260c0830151613f2c90610601613f218a6002614925565b6106018b6003614925565b6101e08401525f613f4b613f4189601e614925565b8560e00151612103565b9050613f5a61389a82836120d1565b6101a0850152613f6e61328d896025614925565b6101008501819052613f9290610606613f888b6024614925565b8a602001516120d1565b6101008501819052613fac906106066132608b6023614925565b610100850152613fcb613fc0896026614925565b856101000151612103565b6101008501525f613fe06134a68a6025614925565b905061403461400e612f0c613e9988610140015160015f51602061523b5f395f51905f526106019190614f6c565b610601613e9988610100015160015f51602061523b5f395f51905f526106019190614f6c565b6101808601526101008501516140599061404e90806120d1565b866101000151612103565b6101c086015261018085015161408c90614078906106018c6007614925565b6106016140868c600a614925565b896120d1565b6101e08801526102808501516140ab90614078906106018c6007614925565b6102008801526101c08501516140ca90614078906106018c6007614925565b6102208801526101a08501516140e5906106018b6007614925565b6102008601526141046140f98a6024614925565b6106248b601c614925565b610220860152610140850151614143906134a69061413890613e999061060160015f51602061523b5f395f51905f52614f6c565b8761022001516120d1565b61024086018190526101e0860151610260870181905261417a916106069061060161416f8e6005614925565b6106018f6002614925565b610260860181905260c086015161419d91906106069061060161416f8e5f614925565b61026086018190526102008601516141b591906120ea565b61026086018190526141cb9061377290866120ea565b6102a086018190526141e5906106016140868c600a614925565b6102a0860181905287600c6020020152505050505050505050565b6142766040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428f61428485601b614925565b610606866002614925565b81526142aa61429f85601c614925565b610606866003614925565b60208201526142c86142bd85601d614925565b610606866004614925565b60408201526142e66142db85601e614925565b610606866005614925565b60608201528051614318906143119061430a9061430390806120d1565b84516120d1565b83516120d1565b82516120d1565b608082015260208101516143569061434c906143429061433890806120d1565b84602001516120d1565b83602001516120d1565b82602001516120d1565b60a082015260408101516143949061438a906143809061437690806120d1565b84604001516120d1565b83604001516120d1565b82604001516120d1565b60c082015260608101516143d2906143c8906143be906143b490806120d1565b84606001516120d1565b83606001516120d1565b82606001516120d1565b60e0820152608081015160a08201516143eb91906120ea565b61010082015260c081015160e082015161440591906120ea565b61012082015260a08101516144299061441e90806120ea565b8261012001516120ea565b61014082015260e081015161444d9061444290806120ea565b8261010001516120ea565b61016082015261012081015161446390806120ea565b6101e082018190526144849061447990806120ea565b8261016001516120ea565b6101e082015261010081015161449a90806120ea565b6101a082018190526144bb906144b090806120ea565b8261014001516120ea565b6101a082018190526101608201516144d2916120ea565b6101808201526101408101516101e08201516144ee91906120ea565b6101c0820152614502612f0c85600b614925565b610200820181905261024084015161018083015161452d9261060691610601906106248a6023614925565b836012602002015261455d8360136020020151610606836102000151610601856101a001516106248a6024614925565b836013602002015261458d8360146020020151610606836102000151610601856101c001516106248a6025614925565b83601460200201526145bd8360156020020151610606836102000151610601856101e001516106248a6026614925565b836015602002015250505050565b61461d6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146527f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b3565b81526020016146807f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b3565b81526020016146ad7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b3565b81526020016146db7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b3565b905290506146f86146ed86601b614925565b610606876002614925565b610120830181905261472c9061472190613ea09061471690806120d1565b8561012001516120d1565b8361012001516120d1565b825261473985601c614925565b602083015261474985601d614925565b604083015261475985601e614925565b60608301528151602083015161478191613ba49161477791906120ea565b84604001516120ea565b60808301526147946131be86600c614925565b61014083015281516147b5906147ab90835f610ef3565b83608001516120ea565b60a08301526147e184601660200201516106068461014001516106018660a001516106248b6023614925565b6102c085015260208201516147fc906147ab90836001610ef3565b60c083015261482884601760200201516106068461014001516106018660c001516106248b6024614925565b6102e08501526040820151614843906147ab90836002610ef3565b60e083015261486f84601860200201516106068461014001516106018660e001516106248b6025614925565b610300850152606082015161488a906147ab90836003610ef3565b6101008301526148b884601960200201516106068461014001516106018661010001516106248b6026614925565b846019613045565b5f6148cc8184816108d3565b905060015b601a81101561491e57614914826106068684601a81106148f3576148f3614fb9565b602002015186614904600187614f6c565b60198110610ef357610ef3614fb9565b91506001016148d1565b5092915050565b5f8282602781111561493957614939615206565b6028811061494957614949614fb9565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497b614dac565b8152602001614988614dac565b8152602001614995614dac565b81526020016149a2614dac565b81526020016149af614dac565b81526020016149bc614dac565b81526020016149c9614dac565b81526020016149d6614dac565b81526020016149e3614dac565b81526020016149f0614dac565b81526020016149fd614dac565b8152602001614a0a614dac565b8152602001614a17614dac565b8152602001614a24614dac565b8152602001614a31614dac565b8152602001614a3e614dac565b8152602001614a4b614dac565b8152602001614a58614dac565b8152602001614a65614dac565b8152602001614a72614dac565b8152602001614a7f614dac565b8152602001614a8c614dac565b8152602001614a99614dac565b8152602001614aa6614dac565b8152602001614ab3614dac565b8152602001614ac0614dac565b8152602001614acd614dac565b905290565b604051806101e00160405280614ae6614de3565b8152602001614af3614c42565b8152602001614b00614c42565b8152602001614b0d614c42565b8152602001614b1a614c42565b8152602001614b27614c42565b8152602001614b34614c42565b8152602001614b41614c42565b8152602001614b4e614c42565b8152602001614b5b614e02565b8152602001614b68614e30565b8152602001614b75614e4f565b8152602001614b82614cd4565b8152602001614b8f614c42565b8152602001614acd614c42565b604051806101000160405280614bb0614c66565b8152602001614bbd614c96565b8152602001614bca614cd4565b8152602001614bd7614cd4565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2c614dac565b815260200190600190039081614c245790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e1a614d6e565b815260200190600190039081614e125790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e67614c42565b815260200190600190039081614e5f5790505090565b5f5f5f5f60408587031215614e90575f5ffd5b84356001600160401b03811115614ea5575f5ffd5b8501601f81018713614eb5575f5ffd5b80356001600160401b03811115614eca575f5ffd5b876020828401011115614edb575f5ffd5b6020918201955093508501356001600160401b03811115614efa575f5ffd5b8501601f81018713614f0a575f5ffd5b80356001600160401b03811115614f1f575f5ffd5b8760208260051b8401011115614f33575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120cb576120cb614f41565b818103818111156120cb576120cb614f41565b808201808211156120cb576120cb614f41565b5f5f85851115614fa0575f5ffd5b83861115614fac575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fde57614fde614f41565b5060010190565b803560208310156120cb575f19602084900360031b1b1692915050565b5f8183825b6009811015615026578151835260209283019290910190600101615007565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505857615058615036565b500490565b5f8183825b6029811015615081578151835260209283019290910190600101615062565b5050506105208201905092915050565b5f8183825b606d8110156150b5578151835260209283019290910190600101615096565b505050610da08201905092915050565b5f8183825b601d8110156150e95781518352602092830192909101906001016150ca565b5050506103a08201905092915050565b5f8183825b600581101561511d5781518352602092830192909101906001016150fe565b50505060a08201905092915050565b5f8261513a5761513a615036565b500690565b5f8161514d5761514d614f41565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561517a575f5ffd5b815180151581146119f5575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c75781518452602093840193909101906001016151a9565b509195945050505050565b5f8183825b600d8110156151f65781518352602092830192909101906001016151d7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
+ export declare const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c0516152576100595f395f61063401525f818161073f01528181610d210152610dbd01525f6105d801526152575ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e79565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f51565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f68565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614951565b6101b56110b5565b905090565b6101c2614ace565b5f805b6010811015610224576101f18583866101df826020614f7b565b926101ec93929190614f8e565b61199a565b8351826010811061020457610204614fb5565b60200201818152505060208261021a9190614f7b565b91506001016101c5565b50610248848285610236826080614f7b565b9261024393929190614f8e565b6119fb565b6020830152610258608082614f7b565b905061026b848285610236826080614f7b565b604083015261027b608082614f7b565b905061028e848285610236826080614f7b565b606083015261029e608082614f7b565b90506102b1848285610236826080614f7b565b60c08301526102c1608082614f7b565b90506102d4848285610236826080614f7b565b60e08301526102e4608082614f7b565b90506102f7848285610236826080614f7b565b60808084019190915261030a9082614f7b565b905061031d848285610236826080614f7b565b61010083015261032e608082614f7b565b9050610341848285610236826080614f7b565b60a0830152610351608082614f7b565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7b565b84610120015183601c811061039157610391614fb5565b602002015182600881106103a7576103a7614fb5565b6020020181815250506020836103bd9190614f7b565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7b565b836101400151826028811061040457610404614fb5565b60200201818152505060208261041a9190614f7b565b91506001016103d3565b505f5b6104336001601c614f68565b81101561047c5761044b858386610236826080614f7b565b83610160015182601b811061046257610462614fb5565b6020020152610472608083614f7b565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7b565b83610180015182601c81106104b0576104b0614fb5565b6020020181815250506020826104c69190614f7b565b915060010161047f565b506104e2848285610236826080614f7b565b6101a08301526104f3608082614f7b565b9050610506848285610236826080614f7b565b6101c08301525092915050565b61051b614b98565b5f61052b88888888888887611acb565b908352905061053a8189611b21565b6020840191909152905061054d81611c72565b604084019190915290506105618882611cd3565b606084019190915290506105758882611da7565b608084019190915290506105898882611e32565b60a0840191909152905061059d8882611fa0565b60c084019190915290506105b18882612012565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7b565b612069565b612087565b6120a0565b90505f610629876106248a6106016105fc8b6001614f7b565b6120b9565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f68565b8110156106c5575f6106828c838151811061067557610675614fb5565b6020026020010151612069565b90506106928661060186846120a0565b95506106a28561060185846120a0565b94506106ae848b6120a0565b93506106ba838b6120b9565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb5565b602002015190506106f98661060186846120a0565b95506107098561060185846120a0565b9450610715848b6120a0565b9350610721838b6120b9565b9250506001016106c8565b5061019784846120e8565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb5565b602002015190505f61078f82866120f6565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb5565b602002015190506107d78382612113565b95506107fe886040015185601c81106107f2576107f2614fb5565b602002015186836122c2565b945050505080600101905061073d565b505f610828866101400151865f01518760200151856122ed565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a0015161235b565b9050610897614bf1565b61089f614c10565b60e08601516108be906108b990855f5b60200201516120b9565b6123c0565b60a085015260e08601516108dd906108b990855f5b60200201516120a0565b60c080860182905260a0860151908801516108fc926106069190612087565b845260a086015161092a90610910906123c0565b6106018660a001516106248a60c001518960c00151612087565b6020850152600182526101a088015161094290612429565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f0151612468565b8660600151612087565b83826046811061098757610987614fb5565b602002015260808501516101408a01516109ca9190610606906109ab600186614f68565b602881106109bb576109bb614fb5565b60200201518860600151612087565b8560800181815250506109e585606001518860800151612087565b60608601526109f381614fc9565b9050610954565b505f610a0860236001614f7b565b90505b60288111610a8957610a2361096b8660200151612468565b838260468110610a3557610a35614fb5565b602002015260808501516101408a0151610a599190610606906109ab600186614f68565b856080018181525050610a7485606001518860800151612087565b6060860152610a8281614fc9565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612429565b6103808201526040880151610c2390612429565b6103a08201526060880151610c3790612429565b6103c08201526080880151610c4b90612429565b6103e082015260a0880151610c5f90612429565b610400820152610100880151610c7490612429565b61042082015260c0880151610c8890612429565b61044082015260e0880151610c9c90612429565b6104608201526020880151610cb090612429565b6104808201526040880151610cc490612429565b6104a08201526060880151610cd890612429565b6104c08201526080880151610cec90612429565b6104e082015260a0880151610d0090612429565b610500820152606086015160808501516101808a01515f92610d45929091877f0000000000000000000000000000000000000000000000000000000000000000612480565b805160a0870151919250610d5891612087565b604086018190526101808a01515160c0890151610d88929161060691610d7e9190612087565b8860c00151612087565b604086015260c0870151610d9b9061259b565b60608601525f5b610dae6001601c614f68565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f68565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7b565b601c81106108af576108af614fb5565b60a088015260e0890151610e42906108b99088610e32866001614f7b565b601c81106108d3576108d3614fb5565b60c0880152606087015160a0880151610e5b9190612087565b60e0880152606087015160c08a0151610e7791610d7e91612087565b6101008801819052610e9990610e8c90612468565b6106068960e00151612468565b8583610ea760286001614f7b565b610eb19190614f7b565b60468110610ec157610ec1614fb5565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7b565b601c8110610ef357610ef3614fb5565b6020020151612087565b9050610f19816106068a60e0015187876001610ee39190614f7b565b9050610f298860400151826120a0565b6040890152606088015160c08b0151610f4f91610f4591612087565b8b60c00151612087565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb5565b6020020151612429565b8483610f8860286001614f7b565b610f929190614f7b565b60468110610fa257610fa2614fb5565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7b565b60468110610fe357610fe3614fb5565b6020020152604085015183610ffa601c6028614f7b565b6046811061100a5761100a614fb5565b60200201526101c08901515f9061102090612429565b90508083611030601c6028614f7b565b61103b906001614f7b565b6046811061104b5761104b614fb5565b602002015260e088015184611062601c6028614f7b565b61106d906001614f7b565b6046811061107d5761107d614fb5565b60200201525f61108d84866125a6565b90505f6110998361266c565b90506110a582826126b2565b9c9b505050505050505050505050565b6110bd614951565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f0da60287e56b6cbaddb472bad3654515d6f2072719abe9e310fd22d3048d6a1581527f2b447623ac46b2bc17858f932cabaf298012923e22821f88674bd2288d53e830818301526060830152825180840184527f14679f3e41e1c2d33dd216fc0966abe7e7566e310488b660204f1d80ee74743c81527f273cc53984ee538dd4aed6cd9d8b251014e0400f5b2b5cfd327ac585b90a7d33818301526080830152825180840184527f2dedb41d1b14400416b4513df571e20490e436787786c0c9b828b86786bdd30d81527f22ec28a4d73ec8502e4b8b1cecd1e99fb577e401a71d3410c8f6cc3e43a271128183015260a0830152825180840184527f23cf1085948dfa836bc15a773b5dcc25a5dc6026a73946e3d741d6efb2c0bfa281527f08c8d84ac45e3cdab445b947fe608370cd06bb4fcf1bed8d48990ddf51e21f1a8183015260c0830152825180840184527f02cf1118068cb545833ee1fc74eea2a45c1f104263ebab6db19dc1a869cc432481527eb0ba4710455bf032f644544e110fa0ed003f7fd1ecb859660a35d2970169098183015260e0830152825180840184527f063c8d0117695408c6147fbd1792cb463c149fa9647a4b43aa2631544ab2acbc81527f2478b0c6b6b2de1a825fb03cbf9f1bb87765203a18b4fcd51f6e5842e4b3146b81830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f07cbf5ea8ae34d9efd6952a755602ea35de58d3f16d4c30b9ac544abe5058d1d81527f1d614f2192c88166a1d118bdf503f174125442586841b92e3edf0ae1b58d165e81830152610140830152825180840184527f0a1726d467c584afe2faa15eb80d94898fff3042bb3d7f55fa1ed4a117d5e72881527f034bf2e560c1651311f313f761a45226821125198eec0e2058b1760499e05ff381830152610160830152825180840184527f19dff3a3e2ad098b24f94522c68997cd31a18a468a4bec9b06a2778bafec43b681527f25ef065ab7ee6ee99527d5c48441867762115b4be0231e7b6d2741c42084c48581830152610180830152825180840184527f1430f4ee27a9593135801c659b71c2056d8a041339e201d9a508c9a7437885ac81527f0d514a250e717c07ba54c67882046b205afe9597fb3c0f2013100214d4ed360e818301526101a0830152825180840184527f10ffbee6415fd92ead76605185f386f1f137214b48a1dd7dab78bb456b68011b81527f27129ab6bffac146d4cc3ea93ce71ec2d4e82f8f8d2ac90132980e25d07faca6818301526101c0830152825180840184527f0c9b9622e8d55d51ec2c3316ea740086bb93a29dea6066ce9ec3983cdb5304d381527f113efd0481ec5bf8210fb7c81cc3273a74b1e72e7057af77820335d622e0b6da818301526101e0830152825180840184527f2e04f26460c5fbf8075fcd50a9de2b65950a4d402622ee6b4204aa44b4a84c5c81527f2d4510a9fdab735fa5521f396bda59662c6763723c24a56996aa7afd2975190281830152610200830152825180840184527f14240b92376e209c1711143d229608057e80fa181c19f27f68c171a7d678610881527f0effac51a11b3cd0a069ad4edd3c04609932adf189c3049a56b21125f4c68a9981830152610220830152825180840184527f0e06105b88919ce7d8d6eba864981ae7736a93ecd6c78eaf85d51245e01fb73581527f2236e00d6835c243e481250eb8b7489b855ca9e21dca5fc16ff6de0caa2db55581830152610240830152825180840184527f0bf4e139c21679bd87f924ee1c694ba08786c9938c95971440fabc8bd2f0f52681527f2b6cf5121ca01038959cd1f7547e9aa1130f5489fe5b4642111307b00db161a181830152610260830152825180840184527f1a15733963653d8cfadee31925321154e6c6fe64c58f0c0281611445cfa7e40c81527f28bb1fa91f69f33e78ab75e7801d725343be8e483e2df1e4a8ffe57e156aefe481830152610280830152825180840184527f1d5410c490b33a20f3c3898eee03f15dcbd690ea09d08ba7ee24f5bc85803b3481527f20930e06a6c496515b11473d9bf829ad701afd4f9e43997e5778188bd15b1d65818301526102a0830152825180840184527f2a5c9f3dff481f126baf9bef0f34fb55e547f3f42af96b6b6270b9bc0bb35cbb81527f22a6eb878a38bec1edfe2eafb891974b7fe32c17600a09636ddd298bc81b1a7c818301526102c0830152825180840184527e996eaf374b8e24552c38fa8f0c441d60be42ddb89a1ba5b82142e860b3c4b981527f07c596219e6f2ae1dd489d571a86ec3daf31e0ed74027bc46b53798489f54540818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f162226e80be07331fd4dadb16b91f9f6c4fb07b322511bdf89d2d4a3893327e483527f1eafbed0e7c9592f46e4f20f4f3eb84209a3a41a36eb4a7faec4a67c8111174c908301526103a081019190915290565b5f602082146119e75760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f46105fc8385614fe1565b9392505050565b611a03614c3e565b60808214611a495760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119de565b604080516080810190915280611a6260205f8688614f8e565b611a6b91614fe1565b8152602090810190611a81906040908688614f8e565b611a8a91614fe1565b8152602001611a9d606060408688614f8e565b611aa691614fe1565b8152602001611ab9608060608688614f8e565b611ac291614fe1565b90529392505050565b611ad3614c62565b5f611ae28989898989896128b6565b604086019190915260208501919091529083529250611b01838a612d5c565b608085019190915260608401919091529199919850909650505050505050565b611b29614c92565b5f611b32614cb1565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc891611bad91849101614ffe565b60405160208183030381529060405280519060200120612069565b9150611bd382612e2b565b6020850152835260015b611be96002601a615046565b811015611c6957611c0683604051602001611bad91815260200190565b9250611c1183612e2b565b85611c1d846002614f51565b601a8110611c2d57611c2d614fb5565b6020020186611c3d856002614f51565b611c48906001614f7b565b601a8110611c5857611c58614fb5565b602002019190915252600101611bdd565b50509250929050565b611c7a614cd0565b5f805b601c811015611ccc57611c9c84604051602001611bad91815260200190565b93505f611ca885612e2b565b8584601c8110611cba57611cba614fb5565b60200201919091525050600101611c7d565b5090929050565b611cdb614cd0565b5f805b601c811015611d9e57611cef614cb1565b8481525f5b6008811015611d585786610120015183601c8110611d1457611d14614fb5565b60200201518160088110611d2a57611d2a614fb5565b602002015182611d3b836001614f7b565b60098110611d4b57611d4b614fb5565b6020020152600101611cf4565b50611d6d81604051602001611bad9190614ffe565b94505f611d7986612e2b565b8685601c8110611d8b57611d8b614fb5565b6020020191909152505050600101611cde565b50909391925050565b5f5f611db1614cef565b8381525f5b6028811015611e04578561014001518160288110611dd657611dd6614fb5565b602002015182611de7836001614f7b565b60298110611df757611df7614fb5565b6020020152600101611db6565b50611e1981604051602001611bad9190615059565b91505f611e2583612e2b565b5096929550919350505050565b5f5f611e3c614d0e565b8381525f5b611e4d6001601c614f68565b811015611f8b5785610160015181601b8110611e6b57611e6b614fb5565b60200201515182611e7d836004614f51565b611e88906001614f7b565b606d8110611e9857611e98614fb5565b602002015261016086015181601b8110611eb457611eb4614fb5565b60200201516020015182826004611ecb9190614f51565b611ed6906002614f7b565b606d8110611ee657611ee6614fb5565b602002015261016086015181601b8110611f0257611f02614fb5565b60200201516040015182611f17836004614f51565b611f22906003614f7b565b606d8110611f3257611f32614fb5565b602002015261016086015181601b8110611f4e57611f4e614fb5565b60200201516060015182611f63836004614f51565b611f6e906004614f7b565b606d8110611f7e57611f7e614fb5565b6020020152600101611e41565b50611e1981604051602001611bad919061508d565b5f5f611faa614d2d565b8381525f5b601c811015611ffd5785610180015181601c8110611fcf57611fcf614fb5565b602002015182611fe0836001614f7b565b601d8110611ff057611ff0614fb5565b6020020152600101611faf565b50611e1981604051602001611bad91906150c1565b5f5f61201c614d4c565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e1991611bad918491016150f5565b5f6120815f5160206152375f395f51905f5283615128565b92915050565b5f5f5160206152375f395f51905f528284099392505050565b5f5f5160206152375f395f51905f528284089392505050565b5f5f5160206152375f395f51905f526120df835f5160206152375f395f51905f52614f68565b84089392505050565b5f6119f483610601846123c0565b81515f908190612108908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156121fa576121f08261060187846120b9565b91506001016121d9565b50612203614d6a565b5f5b6008811015612264575f84826008811061222157612221614fb5565b602002015190506122368161060189856120b9565b9050612241816123c0565b90508083836008811061225657612256614fb5565b602002015250600101612205565b505f5b60088110156122b7575f87826008811061228357612283614fb5565b602002015190506122a081848460088110610ef357610ef3614fb5565b90506122ac86826120a0565b955050600101612267565b5061082e8483612087565b5f5f6122d86001610606856106018960016120b9565b90506122e48482612087565b95945050505050565b5f6122f6614d89565b612301868285612e5b565b61230d86868386613007565b612319868683866131ef565b612324868285613425565b61232f868285613619565b61233b86868386613962565b6123468682856141fc565b6123518682856145c7565b61082e81856148bc565b612363614cd0565b81815260015b601c8110156123ba5761239b82612381600184614f68565b601c811061239157612391614fb5565b602002015161259b565b8282601c81106123ad576123ad614fb5565b6020020152600101612369565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206152375f395f51905f520360808201525f5160206152375f395f51905f5260a082015260205f60c08360055afa90508061241e575f5ffd5b50505f519392505050565b612431614da8565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f612081825f5160206152375f395f51905f52614f68565b612488614cd0565b601c5b8015612591575f8461249e600184614f68565b601c81106124ae576124ae614fb5565b602002015190505f886124c2600185614f68565b601c81106124d2576124d2614fb5565b602002015190505f61252d6124f16124ea858c612087565b6002612087565b6106248a612500600189614f68565b601c811061251057612510614fb5565b60200201516106016125278861060160018a6120b9565b876120b9565b905061254e816106016108b9612548876106016001896120b9565b866120a0565b905085841161257d579750878085612567600187614f68565b601c811061257757612577614fb5565b60200201525b5050508061258a9061513b565b905061248b565b5095945050505050565b5f6120818283612087565b6125ae614da8565b5f6125bb601c6028614f7b565b6125c6906002614f7b565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156126545760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa909216916001016125fb565b50805184526020810151602085015250505092915050565b612674614da8565b5f5160206152175f395f51905f5282602001515f5160206152175f395f51905f5261269f9190614f68565b6126a99190615128565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128489190615150565b5f60405180830381855afa9150503d805f8114612880576040519150601f19603f3d011682016040523d82523d5f602084013e612885565b606091505b50915091505f8180602001905181019061289f9190615166565b90508280156128ab5750805b979650505050505050565b5f808080806128c6876003614f7b565b6128d190600c614f7b565b6001600160401b038111156128e8576128e8615185565b604051908082528060200260200182016040528015612911578160200160208202803683370190505b509050875f1b815f8151811061292957612929614fb5565b602002602001018181525050865f1b8160018151811061294b5761294b614fb5565b602002602001018181525050855f1b8160028151811061296d5761296d614fb5565b60209081029190910101525f5b612985601089614f68565b8110156129d6578a8a8281811061299e5761299e614fb5565b90506020020135828260036129b39190614f7b565b815181106129c3576129c3614fb5565b602090810291909101015260010161297a565b505f5b6010811015612a47578b51612a019082601081106129f9576129f9614fb5565b602002015190565b82826010612a108c6003614f7b565b612a1a9190614f68565b612a249190614f7b565b81518110612a3457612a34614fb5565b60209081029190910101526001016129d9565b5060208b01515181612a5a896003614f7b565b81518110612a6a57612a6a614fb5565b6020908102919091018101919091528b810151015181612a8b896003614f7b565b612a96906001614f7b565b81518110612aa657612aa6614fb5565b6020908102919091018101919091528b01516040015181612ac8896003614f7b565b612ad3906002614f7b565b81518110612ae357612ae3614fb5565b6020908102919091018101919091528b01516060015181612b05896003614f7b565b612b10906003614f7b565b81518110612b2057612b20614fb5565b602090810291909101015260408b01515181612b3d896003614f7b565b612b48906004614f7b565b81518110612b5857612b58614fb5565b60209081029190910181019190915260408c0151015181612b7a896003614f7b565b612b85906005614f7b565b81518110612b9557612b95614fb5565b60209081029190910101526040808c0151015181612bb4896003614f7b565b612bbf906006614f7b565b81518110612bcf57612bcf614fb5565b602090810291909101015260408b01516060015181612bef896003614f7b565b612bfa906007614f7b565b81518110612c0a57612c0a614fb5565b602090810291909101015260608b01515181612c27896003614f7b565b612c32906008614f7b565b81518110612c4257612c42614fb5565b60209081029190910181019190915260608c0151015181612c64896003614f7b565b612c6f906009614f7b565b81518110612c7f57612c7f614fb5565b602090810291909101015260608b01516040015181612c9f896003614f7b565b612caa90600a614f7b565b81518110612cba57612cba614fb5565b60209081029190910101526060808c0151015181612cd9896003614f7b565b612ce490600b614f7b565b81518110612cf457612cf4614fb5565b602002602001018181525050612d1481604051602001611bad9190615199565b9150612d1f82612e2b565b6040805160208101869052929750909550612d3a9101611bad565b91505f612d4683612e2b565b50959c949b509499509097509195505050505050565b5f5f5f612d67614dc0565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e1191611bad918491016151ce565b9150612e1c82612e2b565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e4682612069565b9450612e5181612069565b9350505050915091565b5f612e67846007614921565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612ec8612ec2612e9c8560036120b9565b610601612eb7612eac8b5f614921565b6106018c601c614921565b6106018b601b614921565b83612087565b9050612f49612f3e612f25612f0c612ef385610606612ee88d6002614921565b6106018e601b614921565b610606612f018c6003614921565b6106018d601c614921565b610606612f1a8b6004614921565b6106018c601d614921565b610606612f338a6005614921565b6106018b601e614921565b610606886001614921565b9050612f6881610606612f5d8660016120b9565b6106018a6026614921565b9050612f748184612087565b9050612f808185612087565b8552505f9050612fba612fb0612fa5612f9a88601b614921565b61060689601e614921565b610624886023614921565b610606875f614921565b9050612fcb816106018460026120b9565b9050612fdc816106018460016120b9565b9050612fe88183612087565b9050612ff48184612087565b9050808460015b60200201525050505050565b5f5f5f61303d61303361301b89601b614921565b6106066130298b6011614921565b8a60600151612087565b87608001516120a0565b90506130768161060161306c6130548b601c614921565b6106066130628d6012614921565b8c60600151612087565b89608001516120a0565b905061309b8161060161306c61308d8b601d614921565b6106066130628d6013614921565b90506130c08161060161306c6130b28b601e614921565b6106066130628d6014614921565b92505f90506130e46130336130d689601b614921565b6106066130298b600d614921565b90506131098161060161306c6130fb8b601c614921565b6106066130628d600e614921565b905061312e8161060161306c6131208b601d614921565b6106066130628d600f614921565b90506131538161060161306c6131458b601e614921565b6106066130628d6010614921565b91505f905061317a61317461316989601f614921565b6106068a6019614921565b84612087565b90506131af816106246131a96131918b6027614921565b61060661319f8d601a614921565b8c60a00151612087565b85612087565b90506131bb8185612087565b6040860152505f6131de6131a96131d389601a614921565b6106018a6027614921565b606090950194909452505050505050565b5f5f61324d61323561321d61320861306c8a6015614921565b6106066132168b6016614921565b8a51612087565b61060661322b8a6017614921565b8960200151612087565b610606613243896018614921565b8860400151612087565b91505f61328461326b61326189601b614921565b88608001516120a0565b6106066132798a6003614921565b6106018b6023614921565b90505f6132ad61329589601c614921565b6106066132a28b5f614921565b6106018c6024614921565b90505f6132d76132be8a601d614921565b6106066132cc8c6001614921565b6106018d6025614921565b90506133166132fe6132f085610606868d5f0151612087565b610606848c60200151612087565b61060661330c8c6004614921565b8b60400151612087565b93505050505f61332a613174886020614921565b90505f61333b613174896020614921565b90505f61337361335a61334f8b6022614921565b6106068c6006614921565b6106246133688c6022614921565b6106018d6006614921565b90505f6133976133916133868789612087565b6106018d6020614921565b836120b9565b90506133a38188612087565b90505f6133cb6133bd6133b78d6006614921565b87612087565b6106246133b78e6021614921565b90505f6133f56133ea6133df8e6022614921565b6106018f6022614921565b6106248e6022614921565b60808b0184905260a08b01839052905061340f818a612087565b8a60066020020152505050505050505050505050565b5f6134315f60016120b9565b90505f61343f5f60026120b9565b90505f61344d5f60036120b9565b90505f61346961345e88601c614921565b61062489601b614921565b90505f61348561347a89601d614921565b6106248a601c614921565b90505f6134a16134968a601e614921565b6106248b601d614921565b90505f6134bd6134b28b6023614921565b6106248c601e614921565b9050836134ce81610601818b6120a0565b90506134de81610601878a6120a0565b90506134ee8161060187896120a0565b90506134ff816106018d6008614921565b905061350b818a612087565b60e08b0152508261352081610601818b6120a0565b905061353081610601868a6120a0565b90506135408161060186896120a0565b9050613551816106018d6008614921565b905061355d818a612087565b6101008b0152508161357381610601818b6120a0565b905061358381610601858a6120a0565b90506135938161060185896120a0565b90506135a4816106018d6008614921565b90506135b0818a612087565b6101208b015250806135c681610601818b6120a0565b90506135d681610601848a6120a0565b90506135e68161060184896120a0565b90506135f7816106018d6008614921565b9050613603818a612087565b610140909a019990995250505050505050505050565b6136526040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61365d84601c614921565b815261366a84601d614921565b602082015261367a846023614921565b604082015261368a846026614921565b606082015261369a846025614921565b60808201526136aa846024614921565b60a08201525f6136bb856002614921565b90505f6136c8865f614921565b90505f6136dc8460400151855f01516120b9565b90505f6136f185602001518660200151612087565b606086015190915086905f906137079080612087565b90505f61372561371f89602001518a60600151612087565b88612087565b90505f61374461373d8a60a001518b604001516120a0565b8a516120a0565b90506137536133b78288612087565b905061377a61377461376e61376884876120b9565b886120b9565b846120a0565b836120a0565b90506137a261379761378c8387612087565b6106018f6009614921565b61060160018a6120b9565b6101608c015250505050602085015160808601515f916137c1916120a0565b90505f6137df6137d5886060015188612087565b88602001516120b9565b90505f6138036137ef8487612087565b6106066131a98b60a001518c5f01516120b9565b905061382b613820613815838c612087565b6106018e6009614921565b6106016001896120b9565b6101808b0152505f915061384c90506138458360116120a0565b8751612087565b90505f61385983846120a0565b905061386581826120a0565b90505f613873836009612087565b905061389c61389661317461388f8b60a001518c5f01516120a0565b8b516120a0565b826120b9565b60c089018190525f906138b79061371f9061378c908d612087565b90506138ca8b600b6020020151826120a0565b6101608c0152505086515f92506138f19150613845906138ea90806120a0565b88516120a0565b90505f61393161390c836106018a5f01518b60a001516120b9565b60208901516106249061391f90806120a0565b6106018b602001518c608001516120a0565b905061394e89600c602002015161060661371f61378c858d612087565b89600c602002015250505050505050505050565b6139f6604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2b613a12613a0787601b614921565b610601886024614921565b610606613a20886023614921565b61060189601c614921565b8152613a70613a65613a4c613a4188601b614921565b61060189601e614921565b610606613a5a89601c614921565b6106018a601d614921565b610624876025614921565b60408201819052613a8590600160441b612087565b60408201819052613a9b90610624876026614921565b604082018190528151613aae91906120a0565b60408201819052613ac490610601876005614921565b60408201528051613ad990600160441b612087565b808252613af990610606613aee886023614921565b610601896024614921565b80825260208201819052613b1590610624612f9a88601d614921565b60208201819052613b2b90610601876004614921565b6020820152805160608201819052613b489061060687601e614921565b60608201819052613b6c90610624613b61886025614921565b610606896026614921565b60608201819052613b8190610601875f614921565b8160600181815250505f613baa613ba0836020015184604001516120a0565b83606001516120a0565b9050613bbb81610601886003614921565b9050613bd3613bcb876024614921565b614000612087565b60808301819052613be990610606886023614921565b60808301819052613bfc90614000612087565b60808301819052613c129061060688601d614921565b60808301819052613c2590614000612087565b60808301819052613c3b9061060688601c614921565b60808301819052613c4e90614000612087565b60808301819052613c649061060688601b614921565b60808301819052613c7a9061062488601e614921565b60808301819052613c9090610601886005614921565b6080830152613ca3613bcb876025614921565b60a08301819052613cb990610606886024614921565b60a08301819052613ccc90614000612087565b60a08301819052613ce290610606886023614921565b60a08301819052613cf590614000612087565b60a08301819052613d0b9061060688601e614921565b60a08301819052613d1e90614000612087565b60a08301819052613d349061060688601d614921565b60a08301819052613d4a90610624886026614921565b60a08301819052613d5f90610601885f614921565b60a0830181905260808301515f91613d7791906120a0565b9050613d8881610601896004614921565b9050613da2613d9888601d614921565b8760400151612087565b60c08401819052613dbb9061060661322b8a601c614921565b60c08401819052613ddb90610606613dd48a601b614921565b8951612087565b60c08401819052613df190610606896001614921565b60c0840181905260e08401819052613e0e9061062489601e614921565b60c0840152613e2161345e886023614921565b610140840152613e40613e35886026614921565b61062489601e614921565b610120840152610140830151613e6590613e5a9080612087565b8461014001516120b9565b610280840152610140830151613ea790613e9c90613e959061060160015f5160206152375f395f51905f52614f68565b60016120a0565b846101200151612087565b6101608401819052613ede90613ed090610601613ec58b6002614921565b6106018c6003614921565b6106016133b78a600a614921565b6101c0860152610280830151613f0090613ed090610601613ec58b6002614921565b6101e086015260c0830151613f2890610601613f1d8a6002614921565b6106018b6003614921565b6101e08401525f613f47613f3d89601e614921565b8560e001516120b9565b9050613f566138968283612087565b6101a0850152613f6a613243896025614921565b6101008501819052613f8e90610606613f848b6024614921565b8a60200151612087565b6101008501819052613fa8906106066132168b6023614921565b610100850152613fc7613fbc896026614921565b8561010001516120b9565b6101008501525f613fdc6134968a6025614921565b905061403061400a612ec2613e9588610140015160015f5160206152375f395f51905f526106019190614f68565b610601613e9588610100015160015f5160206152375f395f51905f526106019190614f68565b6101808601526101008501516140559061404a9080612087565b8661010001516120b9565b6101c086015261018085015161408890614074906106018c6007614921565b6106016140828c600a614921565b89612087565b6102008801526102808501516140a790614074906106018c6007614921565b6102208801526101c08501516140c690614074906106018c6007614921565b6102408801526101a08501516140e1906106018b6007614921565b6102008601526141006140f58a6024614921565b6106248b601c614921565b61022086015261014085015161413f906134969061413490613e959061060160015f5160206152375f395f51905f52614f68565b876102200151612087565b61024086018190526101e08601516102608701819052614176916106069061060161416b8e6005614921565b6106018f6002614921565b610260860181905260c086015161419991906106069061060161416b8e5f614921565b61026086018190526102008601516141b191906120a0565b61026086018190526141c79061376e90866120a0565b6102a086018190526141e1906106016140828c600a614921565b6102a0860181905287600d6020020152505050505050505050565b6142726040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428b61428085601b614921565b610606866002614921565b81526142a661429b85601c614921565b610606866003614921565b60208201526142c46142b985601d614921565b610606866004614921565b60408201526142e26142d785601e614921565b610606866005614921565b606082015280516143149061430d90614306906142ff9080612087565b8451612087565b8351612087565b8251612087565b60808201526020810151614352906143489061433e906143349080612087565b8460200151612087565b8360200151612087565b8260200151612087565b60a08201526040810151614390906143869061437c906143729080612087565b8460400151612087565b8360400151612087565b8260400151612087565b60c082015260608101516143ce906143c4906143ba906143b09080612087565b8460600151612087565b8360600151612087565b8260600151612087565b60e0820152608081015160a08201516143e791906120a0565b61010082015260c081015160e082015161440191906120a0565b61012082015260a08101516144259061441a90806120a0565b8261012001516120a0565b61014082015260e08101516144499061443e90806120a0565b8261010001516120a0565b61016082015261012081015161445f90806120a0565b6101e082018190526144809061447590806120a0565b8261016001516120a0565b6101e082015261010081015161449690806120a0565b6101a082018190526144b7906144ac90806120a0565b8261014001516120a0565b6101a082018190526101608201516144ce916120a0565b6101808201526101408101516101e08201516144ea91906120a0565b6101c08201526144fe612ec285600b614921565b61020082018190526102608401516101808301516145299261060691610601906106248a6023614921565b83601360200201526145598360146020020151610606836102000151610601856101a001516106248a6024614921565b83601460200201526145898360156020020151610606836102000151610601856101c001516106248a6025614921565b83601560200201526145b98360166020020151610606836102000151610601856101e001516106248a6026614921565b836016602002015250505050565b6146196040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f604051806080016040528061464e7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612069565b815260200161467c7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612069565b81526020016146a97e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612069565b81526020016146d77f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612069565b905290506146f46146e986601b614921565b610606876002614921565b61012083018190526147289061471d90613e9c906147129080612087565b856101200151612087565b836101200151612087565b825261473585601c614921565b602083015261474585601d614921565b604083015261475585601e614921565b60608301528151602083015161477d91613ba09161477391906120a0565b84604001516120a0565b608083015261479061317486600c614921565b61014083015281516147b1906147a790835f610ef3565b83608001516120a0565b60a08301526147dd84601760200201516106068461014001516106018660a001516106248b6023614921565b6102e085015260208201516147f8906147a790836001610ef3565b60c083015261482484601860200201516106068461014001516106018660c001516106248b6024614921565b610300850152604082015161483f906147a790836002610ef3565b60e083015261486b84601960200201516106068461014001516106018660e001516106248b6025614921565b6103208501526060820151614886906147a790836003610ef3565b6101008301526148b484601a60200201516106068461014001516106018661010001516106248b6026614921565b84601a612ffb565b5f6148c88184816108d3565b905060015b601b81101561491a57614910826106068684601b81106148ef576148ef614fb5565b602002015186614900600187614f68565b601a8110610ef357610ef3614fb5565b91506001016148cd565b5092915050565b5f8282602781111561493557614935615202565b6028811061494557614945614fb5565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f8152602001614977614da8565b8152602001614984614da8565b8152602001614991614da8565b815260200161499e614da8565b81526020016149ab614da8565b81526020016149b8614da8565b81526020016149c5614da8565b81526020016149d2614da8565b81526020016149df614da8565b81526020016149ec614da8565b81526020016149f9614da8565b8152602001614a06614da8565b8152602001614a13614da8565b8152602001614a20614da8565b8152602001614a2d614da8565b8152602001614a3a614da8565b8152602001614a47614da8565b8152602001614a54614da8565b8152602001614a61614da8565b8152602001614a6e614da8565b8152602001614a7b614da8565b8152602001614a88614da8565b8152602001614a95614da8565b8152602001614aa2614da8565b8152602001614aaf614da8565b8152602001614abc614da8565b8152602001614ac9614da8565b905290565b604051806101e00160405280614ae2614ddf565b8152602001614aef614c3e565b8152602001614afc614c3e565b8152602001614b09614c3e565b8152602001614b16614c3e565b8152602001614b23614c3e565b8152602001614b30614c3e565b8152602001614b3d614c3e565b8152602001614b4a614c3e565b8152602001614b57614dfe565b8152602001614b64614e2c565b8152602001614b71614e4b565b8152602001614b7e614cd0565b8152602001614b8b614c3e565b8152602001614ac9614c3e565b604051806101000160405280614bac614c62565b8152602001614bb9614c92565b8152602001614bc6614cd0565b8152602001614bd3614cd0565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c28614da8565b815260200190600190039081614c205790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103400160405280601a906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103600160405280601b906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e16614d6a565b815260200190600190039081614e0e5790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e63614c3e565b815260200190600190039081614e5b5790505090565b5f5f5f5f60408587031215614e8c575f5ffd5b84356001600160401b03811115614ea1575f5ffd5b8501601f81018713614eb1575f5ffd5b80356001600160401b03811115614ec6575f5ffd5b876020828401011115614ed7575f5ffd5b6020918201955093508501356001600160401b03811115614ef6575f5ffd5b8501601f81018713614f06575f5ffd5b80356001600160401b03811115614f1b575f5ffd5b8760208260051b8401011115614f2f575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761208157612081614f3d565b8181038181111561208157612081614f3d565b8082018082111561208157612081614f3d565b5f5f85851115614f9c575f5ffd5b83861115614fa8575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fda57614fda614f3d565b5060010190565b80356020831015612081575f19602084900360031b1b1692915050565b5f8183825b6009811015615022578151835260209283019290910190600101615003565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505457615054615032565b500490565b5f8183825b602981101561507d57815183526020928301929091019060010161505e565b5050506105208201905092915050565b5f8183825b606d8110156150b1578151835260209283019290910190600101615092565b505050610da08201905092915050565b5f8183825b601d8110156150e55781518352602092830192909101906001016150c6565b5050506103a08201905092915050565b5f8183825b60058110156151195781518352602092830192909101906001016150fa565b50505060a08201905092915050565b5f8261513657615136615032565b500690565b5f8161514957615149614f3d565b505f190190565b5f82518060208501845e5f920191825250919050565b5f60208284031215615176575f5ffd5b815180151581146119f4575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c35781518452602093840193909101906001016151a5565b509195945050505050565b5f8183825b600d8110156151f25781518352602092830192909101906001016151d3565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
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,+2yCAA+2yC,CAAC;AACj5yC;;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,u2yCAAu2yC,CAAC;AACz4yC;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
- */ export const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c05161525b6100595f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525b5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7d565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f55565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6c565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614955565b6101b56110b5565b905090565b6101c2614ad2565b5f805b6010811015610224576101f18583866101df826020614f7f565b926101ec93929190614f92565b61199b565b8351826010811061020457610204614fb9565b60200201818152505060208261021a9190614f7f565b91506001016101c5565b50610248848285610236826080614f7f565b9261024393929190614f92565b6119fc565b6020830152610258608082614f7f565b905061026b848285610236826080614f7f565b604083015261027b608082614f7f565b905061028e848285610236826080614f7f565b606083015261029e608082614f7f565b90506102b1848285610236826080614f7f565b60c08301526102c1608082614f7f565b90506102d4848285610236826080614f7f565b60e08301526102e4608082614f7f565b90506102f7848285610236826080614f7f565b60808084019190915261030a9082614f7f565b905061031d848285610236826080614f7f565b61010083015261032e608082614f7f565b9050610341848285610236826080614f7f565b60a0830152610351608082614f7f565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7f565b84610120015183601c811061039157610391614fb9565b602002015182600881106103a7576103a7614fb9565b6020020181815250506020836103bd9190614f7f565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7f565b836101400151826028811061040457610404614fb9565b60200201818152505060208261041a9190614f7f565b91506001016103d3565b505f5b6104336001601c614f6c565b81101561047c5761044b858386610236826080614f7f565b83610160015182601b811061046257610462614fb9565b6020020152610472608083614f7f565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7f565b83610180015182601c81106104b0576104b0614fb9565b6020020181815250506020826104c69190614f7f565b915060010161047f565b506104e2848285610236826080614f7f565b6101a08301526104f3608082614f7f565b9050610506848285610236826080614f7f565b6101c08301525092915050565b61051b614b9c565b5f61052b88888888888887611acc565b908352905061053a8189611b22565b6020840191909152905061054d81611cbc565b604084019190915290506105618882611d1d565b606084019190915290506105758882611df1565b608084019190915290506105898882611e7c565b60a0840191909152905061059d8882611fea565b60c084019190915290506105b1888261205c565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7f565b6120b3565b6120d1565b6120ea565b90505f610629876106248a6106016105fc8b6001614f7f565b612103565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6c565b8110156106c5575f6106828c838151811061067557610675614fb9565b60200260200101516120b3565b90506106928661060186846120ea565b95506106a28561060185846120ea565b94506106ae848b6120ea565b93506106ba838b612103565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb9565b602002015190506106f98661060186846120ea565b95506107098561060185846120ea565b9450610715848b6120ea565b9350610721838b612103565b9250506001016106c8565b506101978484612132565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb9565b602002015190505f61078f8286612140565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb9565b602002015190506107d7838261215d565b95506107fe886040015185601c81106107f2576107f2614fb9565b6020020151868361230c565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612337565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a5565b9050610897614bf5565b61089f614c14565b60e08601516108be906108b990855f5b6020020151612103565b61240a565b60a085015260e08601516108dd906108b990855f5b60200201516120ea565b60c080860182905260a0860151908801516108fc9261060691906120d1565b845260a086015161092a906109109061240a565b6106018660a001516106248a60c001518960c001516120d1565b6020850152600182526101a088015161094290612473565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b2565b86606001516120d1565b83826046811061098757610987614fb9565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6c565b602881106109bb576109bb614fb9565b602002015188606001516120d1565b8560800181815250506109e5856060015188608001516120d1565b60608601526109f381614fcd565b9050610954565b505f610a0860236001614f7f565b90505b60288111610a8957610a2361096b86602001516124b2565b838260468110610a3557610a35614fb9565b602002015260808501516101408a0151610a599190610606906109ab600186614f6c565b856080018181525050610a74856060015188608001516120d1565b6060860152610a8281614fcd565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612473565b6103808201526040880151610c2390612473565b6103a08201526060880151610c3790612473565b6103c08201526080880151610c4b90612473565b6103e082015260a0880151610c5f90612473565b610400820152610100880151610c7490612473565b61042082015260c0880151610c8890612473565b61044082015260e0880151610c9c90612473565b6104608201526020880151610cb090612473565b6104808201526040880151610cc490612473565b6104a08201526060880151610cd890612473565b6104c08201526080880151610cec90612473565b6104e082015260a0880151610d0090612473565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124ca565b805160a0870151919250610d58916120d1565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d1565b8860c001516120d1565b604086015260c0870151610d9b906125e5565b60608601525f5b610dae6001601c614f6c565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6c565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7f565b601c81106108af576108af614fb9565b60a088015260e0890151610e42906108b99088610e32866001614f7f565b601c81106108d3576108d3614fb9565b60c0880152606087015160a0880151610e5b91906120d1565b60e0880152606087015160c08a0151610e7791610d7e916120d1565b6101008801819052610e9990610e8c906124b2565b6106068960e001516124b2565b8583610ea760286001614f7f565b610eb19190614f7f565b60468110610ec157610ec1614fb9565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7f565b601c8110610ef357610ef3614fb9565b60200201516120d1565b9050610f19816106068a60e0015187876001610ee39190614f7f565b9050610f298860400151826120ea565b6040890152606088015160c08b0151610f4f91610f45916120d1565b8b60c001516120d1565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb9565b6020020151612473565b8483610f8860286001614f7f565b610f929190614f7f565b60468110610fa257610fa2614fb9565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7f565b60468110610fe357610fe3614fb9565b6020020152604085015183610ffa601c6028614f7f565b6046811061100a5761100a614fb9565b60200201526101c08901515f9061102090612473565b90508083611030601c6028614f7f565b61103b906001614f7f565b6046811061104b5761104b614fb9565b602002015260e088015184611062601c6028614f7f565b61106d906001614f7f565b6046811061107d5761107d614fb9565b60200201525f61108d84866125f0565b90505f611099836126b6565b90506110a582826126fc565b9c9b505050505050505050505050565b6110bd614955565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f2b0321c34f33c10aefd2d69cf0fc58c58554e4885db1d8d81372e7976e89c21f81527f0e66d1f549174678c8078bfd0b4cd6eb32cfc4413d2bda7d95481b94264690b1818301526060830152825180840184527f20256321741afbfaa06ca3741c0c4128babd620c6e3ea1f720ffa5e8b403faa681527f1bdaceaeb65f2a18e5679dbfd2ca58ccc5acdcdbd74624c143343ce1f414adc6818301526080830152825180840184527f1d64888d0abe379a17c230b054797b58ddbea50a361cb64d0bee1ef6a751138b81527f126f92dc854e1d9fe593f42cd8ec666079c4182da914f5daaa1e889bea89c9438183015260a0830152825180840184527f154b07c57b9be48a0720e4638549237e5d2773037e008838a6b4bdd558f62ad781527eb0936e189e766ec1079ccff1489217a62f09a94209818cc61738bb9e745a318183015260c0830152825180840184527f11fe89df5d3c03d738c1099773d224e7ecff62e5d2a4a6d21a51ad98c2f7905481527f06615d827a86b7f5edc93cf3341375cca4abae7fface50363238f8cddc37cf0c8183015260e0830152825180840184527f20405d645114835df62ca007b50ddcc38401dcac4f842243c40681943bd217ca81527f288a686d75b2e109ac1f453d17c8741c0d7b0678113a35d9b4c64a5ea6d2fff781830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f19e77913f55b3b79e1f27a001c77b2d3c53b063e384e604a42d34b07d40a154d81527f17e6f230c3ea95decb4ab510574a1973a501b83209c67edec5cf233b4df065a381830152610140830152825180840184527f21163d6efd30064cd3f5137f847d9236dbd6d32582d49b0456d1593a6ef4187381527f2bc3c033f49112030c9f0e0a1251172cb197d9de817efe2f1fc0167721690c2281830152610160830152825180840184527f145092e558a57141ce50a13a911ffe538a9fb95fffd604d8ba2dc6c2852534b281527f124ea372bf88f5cacca7deb0f96381a2399b1948ae4b27d8786d7244b27474ca81830152610180830152825180840184527f2132d2574f33c0b540605992a6f4959b0ee48877ba994548e6c867959a54269c81527f1e0276fe25e6576cddeb9adcd9144b701b8d8459c8e8f77fb484c5009becbb0a818301526101a0830152825180840184527f26e0a8d2ef27915ad3713fe496ab7b5c184f6b7e3dbe802e901314de954d339381527f2b1d5b8a804a15d81fbe3c8c93fabb2d6ee546f6c43ad7d912178d345676bc51818301526101c0830152825180840184527f0180cc493cca83e192b2652ff31c48e902b15d1d1f035fc2a64a7c85477f5f1481527f0b874e6a8889f1f9caddb981e21d3bbca4abdd38429163ad65f955e8cc797637818301526101e0830152825180840184527f14042c6b34d67d3d0439d2a6271a3664127ac05ea830467096c80c04d068871a81527f04edfb6fa00c2ffef51a950c3bc18f1d523a76293822d9588446f45c1225b65181830152610200830152825180840184527f26b65a07dcc457b52ecb68784fd165242f47ba52115fc04fd5ca5bbb5d107ff081527f0e7a12639fe44e0b5136a07fd1560617311b6acdd83b67904901daeaffd38fa081830152610220830152825180840184527f2fb818185fde135bbd4a5251100c6abf912af18034aee7cc8ba6725109affc5681527f1fbd77f65319c236aa4c7eb1859697cef3eac0fa96f7932a396a6981fd2790d481830152610240830152825180840184527f0369a0615ee7d10d144252456d0a471e47d97c24c51fe6808ced4409fb269f4481527f16d65e7a194a05fcb17dab66e06154c4eb9fc38a38275f96aca417fc2bb6a34581830152610260830152825180840184527f14b337b93ade02933ee37cd2f63ef04b1dd18648102c9c008d2793c7928efd2281527f1b37bb3566ed65fb5c0d83582aa78324be1d6675b55955ed251f6f6bbd2f672381830152610280830152825180840184527f17ff9a9c66bfebc1a40d55c3d93e588c9909fa1b2ac970e1b227693b193ce5c681527f0f1d139b42b1cb0e04a97e703348d1d3e19b43c34dcd7f1ba4bfeb7a84b3e10a818301526102a0830152825180840184527f2e983fc124a78b3381ddf8e3222a0c42e77b4f159981caa105ad15eeaa49b65d81527f2c3693dfcf122eaaecd87a25ddf05c80751901ca4fff225216c7b64bd762f4bf818301526102c0830152825180840184527f212f98aac2be6da99016e5adfee95a7dff1d5fc5ebb8355007a9b4d2f6f9ef9e81527f18aa72aa2c84181564be00de1f6879e25f87ed62c36ad81727858e3315de3d06818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f11e0e031f829318f6bad9dd9c5f7d1de01dc22da72d666cd4f8801354eb3fe5f83527f22e34c359086fff73f380012b9692972f6c24f7194c7ecef18ece5c9a7ea0bbe908301526103a081019190915290565b5f602082146119e85760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f56105fc8385614fe5565b9392505050565b611a04614c42565b60808214611a4a5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119df565b604080516080810190915280611a6360205f8688614f92565b611a6c91614fe5565b8152602090810190611a82906040908688614f92565b611a8b91614fe5565b8152602001611a9e606060408688614f92565b611aa791614fe5565b8152602001611aba608060608688614f92565b611ac391614fe5565b90529392505050565b611ad4614c66565b5f611ae3898989898989612900565b604086019190915260208501919091529083529250611b02838a612da6565b608085019190915260608401919091529199919850909650505050505050565b611b2a614c96565b5f611b33614cb5565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc991611bae91849101615002565b604051602081830303815290604052805190602001206120b3565b9150611bd482612e75565b6020850152835260015b611bea6002601961504a565b811015611c6a57611c0783604051602001611bae91815260200190565b9250611c1283612e75565b85611c1e846002614f55565b60198110611c2e57611c2e614fb9565b6020020186611c3e856002614f55565b611c49906001614f7f565b60198110611c5957611c59614fb9565b602002019190915252600101611bde565b50611c8182604051602001611bae91815260200190565b91505f611c8d83612e75565b85611c9a60016019614f6c565b60198110611caa57611caa614fb9565b60200201919091525050509250929050565b611cc4614cd4565b5f805b601c811015611d1657611ce684604051602001611bae91815260200190565b93505f611cf285612e75565b8584601c8110611d0457611d04614fb9565b60200201919091525050600101611cc7565b5090929050565b611d25614cd4565b5f805b601c811015611de857611d39614cb5565b8481525f5b6008811015611da25786610120015183601c8110611d5e57611d5e614fb9565b60200201518160088110611d7457611d74614fb9565b602002015182611d85836001614f7f565b60098110611d9557611d95614fb9565b6020020152600101611d3e565b50611db781604051602001611bae9190615002565b94505f611dc386612e75565b8685601c8110611dd557611dd5614fb9565b6020020191909152505050600101611d28565b50909391925050565b5f5f611dfb614cf3565b8381525f5b6028811015611e4e578561014001518160288110611e2057611e20614fb9565b602002015182611e31836001614f7f565b60298110611e4157611e41614fb9565b6020020152600101611e00565b50611e6381604051602001611bae919061505d565b91505f611e6f83612e75565b5096929550919350505050565b5f5f611e86614d12565b8381525f5b611e976001601c614f6c565b811015611fd55785610160015181601b8110611eb557611eb5614fb9565b60200201515182611ec7836004614f55565b611ed2906001614f7f565b606d8110611ee257611ee2614fb9565b602002015261016086015181601b8110611efe57611efe614fb9565b60200201516020015182826004611f159190614f55565b611f20906002614f7f565b606d8110611f3057611f30614fb9565b602002015261016086015181601b8110611f4c57611f4c614fb9565b60200201516040015182611f61836004614f55565b611f6c906003614f7f565b606d8110611f7c57611f7c614fb9565b602002015261016086015181601b8110611f9857611f98614fb9565b60200201516060015182611fad836004614f55565b611fb8906004614f7f565b606d8110611fc857611fc8614fb9565b6020020152600101611e8b565b50611e6381604051602001611bae9190615091565b5f5f611ff4614d31565b8381525f5b601c8110156120475785610180015181601c811061201957612019614fb9565b60200201518261202a836001614f7f565b601d811061203a5761203a614fb9565b6020020152600101611ff9565b50611e6381604051602001611bae91906150c5565b5f5f612066614d50565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6391611bae918491016150f9565b5f6120cb5f51602061523b5f395f51905f528361512c565b92915050565b5f5f51602061523b5f395f51905f528284099392505050565b5f5f51602061523b5f395f51905f528284089392505050565b5f5f51602061523b5f395f51905f52612129835f51602061523b5f395f51905f52614f6c565b84089392505050565b5f6119f5836106018461240a565b81515f908190612152908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122445761223a826106018784612103565b9150600101612223565b5061224d614d6e565b5f5b60088110156122ae575f84826008811061226b5761226b614fb9565b60200201519050612280816106018985612103565b905061228b8161240a565b9050808383600881106122a0576122a0614fb9565b60200201525060010161224f565b505f5b6008811015612301575f8782600881106122cd576122cd614fb9565b602002015190506122ea81848460088110610ef357610ef3614fb9565b90506122f686826120ea565b9550506001016122b1565b5061082e84836120d1565b5f5f612322600161060685610601896001612103565b905061232e84826120d1565b95945050505050565b5f612340614d8d565b61234b868285612ea5565b61235786868386613051565b61236386868386613239565b61236e868285613435565b61237986828561361d565b61238586868386613966565b612390868285614200565b61239b8682856145cb565b61082e81856148c0565b6123ad614cd4565b81815260015b601c811015612404576123e5826123cb600184614f6c565b601c81106123db576123db614fb9565b60200201516125e5565b8282601c81106123f7576123f7614fb9565b60200201526001016123b3565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523b5f395f51905f520360808201525f51602061523b5f395f51905f5260a082015260205f60c08360055afa905080612468575f5ffd5b50505f519392505050565b61247b614dac565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120cb825f51602061523b5f395f51905f52614f6c565b6124d2614cd4565b601c5b80156125db575f846124e8600184614f6c565b601c81106124f8576124f8614fb9565b602002015190505f8861250c600185614f6c565b601c811061251c5761251c614fb9565b602002015190505f61257761253b612534858c6120d1565b60026120d1565b6106248a61254a600189614f6c565b601c811061255a5761255a614fb9565b60200201516106016125718861060160018a612103565b87612103565b9050612598816106016108b961259287610601600189612103565b866120ea565b90508584116125c75797508780856125b1600187614f6c565b601c81106125c1576125c1614fb9565b60200201525b505050806125d49061513f565b90506124d5565b5095945050505050565b5f6120cb82836120d1565b6125f8614dac565b5f612605601c6028614f7f565b612610906002614f7f565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612645565b50805184526020810151602085015250505092915050565b6126be614dac565b5f51602061521b5f395f51905f5282602001515f51602061521b5f395f51905f526126e99190614f6c565b6126f3919061512c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128929190615154565b5f60405180830381855afa9150503d805f81146128ca576040519150601f19603f3d011682016040523d82523d5f602084013e6128cf565b606091505b50915091505f818060200190518101906128e9919061516a565b90508280156128f55750805b979650505050505050565b5f80808080612910876003614f7f565b61291b90600c614f7f565b6001600160401b0381111561293257612932615189565b60405190808252806020026020018201604052801561295b578160200160208202803683370190505b509050875f1b815f8151811061297357612973614fb9565b602002602001018181525050865f1b8160018151811061299557612995614fb9565b602002602001018181525050855f1b816002815181106129b7576129b7614fb9565b60209081029190910101525f5b6129cf601089614f6c565b811015612a20578a8a828181106129e8576129e8614fb9565b90506020020135828260036129fd9190614f7f565b81518110612a0d57612a0d614fb9565b60209081029190910101526001016129c4565b505f5b6010811015612a91578b51612a4b908260108110612a4357612a43614fb9565b602002015190565b82826010612a5a8c6003614f7f565b612a649190614f6c565b612a6e9190614f7f565b81518110612a7e57612a7e614fb9565b6020908102919091010152600101612a23565b5060208b01515181612aa4896003614f7f565b81518110612ab457612ab4614fb9565b6020908102919091018101919091528b810151015181612ad5896003614f7f565b612ae0906001614f7f565b81518110612af057612af0614fb9565b6020908102919091018101919091528b01516040015181612b12896003614f7f565b612b1d906002614f7f565b81518110612b2d57612b2d614fb9565b6020908102919091018101919091528b01516060015181612b4f896003614f7f565b612b5a906003614f7f565b81518110612b6a57612b6a614fb9565b602090810291909101015260408b01515181612b87896003614f7f565b612b92906004614f7f565b81518110612ba257612ba2614fb9565b60209081029190910181019190915260408c0151015181612bc4896003614f7f565b612bcf906005614f7f565b81518110612bdf57612bdf614fb9565b60209081029190910101526040808c0151015181612bfe896003614f7f565b612c09906006614f7f565b81518110612c1957612c19614fb9565b602090810291909101015260408b01516060015181612c39896003614f7f565b612c44906007614f7f565b81518110612c5457612c54614fb9565b602090810291909101015260608b01515181612c71896003614f7f565b612c7c906008614f7f565b81518110612c8c57612c8c614fb9565b60209081029190910181019190915260608c0151015181612cae896003614f7f565b612cb9906009614f7f565b81518110612cc957612cc9614fb9565b602090810291909101015260608b01516040015181612ce9896003614f7f565b612cf490600a614f7f565b81518110612d0457612d04614fb9565b60209081029190910101526060808c0151015181612d23896003614f7f565b612d2e90600b614f7f565b81518110612d3e57612d3e614fb9565b602002602001018181525050612d5e81604051602001611bae919061519d565b9150612d6982612e75565b6040805160208101869052929750909550612d849101611bae565b91505f612d9083612e75565b50959c949b509499509097509195505050505050565b5f5f5f612db1614dc4565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5b91611bae918491016151d2565b9150612e6682612e75565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e90826120b3565b9450612e9b816120b3565b9350505050915091565b5f612eb1846007614925565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f12612f0c612ee6856003612103565b610601612f01612ef68b5f614925565b6106018c601c614925565b6106018b601b614925565b836120d1565b9050612f93612f88612f6f612f56612f3d85610606612f328d6002614925565b6106018e601b614925565b610606612f4b8c6003614925565b6106018d601c614925565b610606612f648b6004614925565b6106018c601d614925565b610606612f7d8a6005614925565b6106018b601e614925565b610606886001614925565b9050612fb281610606612fa7866001612103565b6106018a6026614925565b9050612fbe81846120d1565b9050612fca81856120d1565b8552505f9050613004612ffa612fef612fe488601b614925565b61060689601e614925565b610624886023614925565b610606875f614925565b905061301581610601846002612103565b905061302681610601846001612103565b905061303281836120d1565b905061303e81846120d1565b9050808460015b60200201525050505050565b5f5f5f61308761307d61306589601b614925565b6106066130738b6011614925565b8a606001516120d1565b87608001516120ea565b90506130c0816106016130b661309e8b601c614925565b6106066130ac8d6012614925565b8c606001516120d1565b89608001516120ea565b90506130e5816106016130b66130d78b601d614925565b6106066130ac8d6013614925565b905061310a816106016130b66130fc8b601e614925565b6106066130ac8d6014614925565b92505f905061312e61307d61312089601b614925565b6106066130738b600d614925565b9050613153816106016130b66131458b601c614925565b6106066130ac8d600e614925565b9050613178816106016130b661316a8b601d614925565b6106066130ac8d600f614925565b905061319d816106016130b661318f8b601e614925565b6106066130ac8d6010614925565b91505f90506131c46131be6131b389601f614925565b6106068a6019614925565b846120d1565b90506131f9816106246131f36131db8b6027614925565b6106066131e98d601a614925565b8c60a001516120d1565b856120d1565b905061320581856120d1565b6040860152505f6132286131f361321d89601a614925565b6106018a6027614925565b606090950194909452505050505050565b5f5f61329761327f6132676132526130b68a6015614925565b6106066132608b6016614925565b8a516120d1565b6106066132758a6017614925565b89602001516120d1565b61060661328d896018614925565b88604001516120d1565b91505f6132ce6132b56132ab89601b614925565b88608001516120ea565b6106066132c38a6003614925565b6106018b6023614925565b90505f6132f76132df89601c614925565b6106066132ec8b5f614925565b6106018c6024614925565b90505f6133216133088a601d614925565b6106066133168c6001614925565b6106018d6025614925565b905061336061334861333a85610606868d5f01516120d1565b610606848c602001516120d1565b6106066133568c6004614925565b8b604001516120d1565b93505050505f6133746131be886020614925565b90505f6133856131be896020614925565b90505f6133bd6133a46133998b6022614925565b6106068c6006614925565b6106246133b28c6022614925565b6106018d6006614925565b90505f6133e16133db6133d087896120d1565b6106018d6020614925565b83612103565b90506133ed81886120d1565b90505f6134156134076134018d6006614925565b876120d1565b6106246134018e6021614925565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134415f6001612103565b90505f61344f5f6002612103565b90505f61345d5f6003612103565b90505f61347961346e88601c614925565b61062489601b614925565b90505f61349561348a89601d614925565b6106248a601c614925565b90505f6134b16134a68a601e614925565b6106248b601d614925565b90505f6134cd6134c28b6023614925565b6106248c601e614925565b9050836134de81610601818b6120ea565b90506134ee81610601878a6120ea565b90506134fe8161060187896120ea565b905061350f816106018d6008614925565b905061351b818a6120d1565b60c08b0152508261353081610601818b6120ea565b905061354081610601868a6120ea565b90506135508161060186896120ea565b9050613561816106018d6008614925565b905061356d818a6120d1565b60e08b0152508161358281610601818b6120ea565b905061359281610601858a6120ea565b90506135a28161060185896120ea565b90506135b3816106018d6008614925565b90506135bf818a6120d1565b6101008b015250806135d581610601818b6120ea565b90506135e581610601848a6120ea565b90506135f58161060184896120ea565b9050613606816106018d6008614925565b9050613612818a6120d1565b9050808a6009613423565b6136566040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366184601c614925565b815261366e84601d614925565b602082015261367e846023614925565b604082015261368e846026614925565b606082015261369e846025614925565b60808201526136ae846024614925565b60a08201525f6136bf856002614925565b90505f6136cc865f614925565b90505f6136e08460400151855f0151612103565b90505f6136f5856020015186602001516120d1565b606086015190915086905f9061370b90806120d1565b90505f61372961372389602001518a606001516120d1565b886120d1565b90505f6137486137418a60a001518b604001516120ea565b8a516120ea565b905061375761340182886120d1565b905061377e61377861377261376c8487612103565b88612103565b846120ea565b836120ea565b90506137a661379b61379083876120d1565b6106018f6009614925565b61060160018a612103565b6101408c015250505050602085015160808601515f916137c5916120ea565b90505f6137e36137d98860600151886120d1565b8860200151612103565b90505f6138076137f384876120d1565b6106066131f38b60a001518c5f0151612103565b905061382f613824613819838c6120d1565b6106018e6009614925565b610601600189612103565b6101608b0152505f915061385090506138498360116120ea565b87516120d1565b90505f61385d83846120ea565b905061386981826120ea565b90505f6138778360096120d1565b90506138a061389a6131be6138938b60a001518c5f01516120ea565b8b516120ea565b82612103565b60c089018190525f906138bb9061372390613790908d6120d1565b90506138ce8b600a6020020151826120ea565b6101408c0152505086515f92506138f59150613849906138ee90806120ea565b88516120ea565b90505f613935613910836106018a5f01518b60a00151612103565b60208901516106249061392390806120ea565b6106018b602001518c608001516120ea565b905061395289600b6020020151610606613723613790858d6120d1565b89600b602002015250505050505050505050565b6139fa604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2f613a16613a0b87601b614925565b610601886024614925565b610606613a24886023614925565b61060189601c614925565b8152613a74613a69613a50613a4588601b614925565b61060189601e614925565b610606613a5e89601c614925565b6106018a601d614925565b610624876025614925565b60408201819052613a8990600160441b6120d1565b60408201819052613a9f90610624876026614925565b604082018190528151613ab291906120ea565b60408201819052613ac890610601876005614925565b60408201528051613add90600160441b6120d1565b808252613afd90610606613af2886023614925565b610601896024614925565b80825260208201819052613b1990610624612fe488601d614925565b60208201819052613b2f90610601876004614925565b6020820152805160608201819052613b4c9061060687601e614925565b60608201819052613b7090610624613b65886025614925565b610606896026614925565b60608201819052613b8590610601875f614925565b8160600181815250505f613bae613ba4836020015184604001516120ea565b83606001516120ea565b9050613bbf81610601886003614925565b9050613bd7613bcf876024614925565b6140006120d1565b60808301819052613bed90610606886023614925565b60808301819052613c00906140006120d1565b60808301819052613c169061060688601d614925565b60808301819052613c29906140006120d1565b60808301819052613c3f9061060688601c614925565b60808301819052613c52906140006120d1565b60808301819052613c689061060688601b614925565b60808301819052613c7e9061062488601e614925565b60808301819052613c9490610601886005614925565b6080830152613ca7613bcf876025614925565b60a08301819052613cbd90610606886024614925565b60a08301819052613cd0906140006120d1565b60a08301819052613ce690610606886023614925565b60a08301819052613cf9906140006120d1565b60a08301819052613d0f9061060688601e614925565b60a08301819052613d22906140006120d1565b60a08301819052613d389061060688601d614925565b60a08301819052613d4e90610624886026614925565b60a08301819052613d6390610601885f614925565b60a0830181905260808301515f91613d7b91906120ea565b9050613d8c81610601896004614925565b9050613da6613d9c88601d614925565b87604001516120d1565b60c08401819052613dbf906106066132758a601c614925565b60c08401819052613ddf90610606613dd88a601b614925565b89516120d1565b60c08401819052613df590610606896001614925565b60c0840181905260e08401819052613e129061062489601e614925565b60c0840152613e2561346e886023614925565b610140840152613e44613e39886026614925565b61062489601e614925565b610120840152610140830151613e6990613e5e90806120d1565b846101400151612103565b610280840152610140830151613eab90613ea090613e999061060160015f51602061523b5f395f51905f52614f6c565b60016120ea565b8461012001516120d1565b6101608401819052613ee290613ed490610601613ec98b6002614925565b6106018c6003614925565b6106016134018a600a614925565b6101a0860152610280830151613f0490613ed490610601613ec98b6002614925565b6101c086015260c0830151613f2c90610601613f218a6002614925565b6106018b6003614925565b6101e08401525f613f4b613f4189601e614925565b8560e00151612103565b9050613f5a61389a82836120d1565b6101a0850152613f6e61328d896025614925565b6101008501819052613f9290610606613f888b6024614925565b8a602001516120d1565b6101008501819052613fac906106066132608b6023614925565b610100850152613fcb613fc0896026614925565b856101000151612103565b6101008501525f613fe06134a68a6025614925565b905061403461400e612f0c613e9988610140015160015f51602061523b5f395f51905f526106019190614f6c565b610601613e9988610100015160015f51602061523b5f395f51905f526106019190614f6c565b6101808601526101008501516140599061404e90806120d1565b866101000151612103565b6101c086015261018085015161408c90614078906106018c6007614925565b6106016140868c600a614925565b896120d1565b6101e08801526102808501516140ab90614078906106018c6007614925565b6102008801526101c08501516140ca90614078906106018c6007614925565b6102208801526101a08501516140e5906106018b6007614925565b6102008601526141046140f98a6024614925565b6106248b601c614925565b610220860152610140850151614143906134a69061413890613e999061060160015f51602061523b5f395f51905f52614f6c565b8761022001516120d1565b61024086018190526101e0860151610260870181905261417a916106069061060161416f8e6005614925565b6106018f6002614925565b610260860181905260c086015161419d91906106069061060161416f8e5f614925565b61026086018190526102008601516141b591906120ea565b61026086018190526141cb9061377290866120ea565b6102a086018190526141e5906106016140868c600a614925565b6102a0860181905287600c6020020152505050505050505050565b6142766040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428f61428485601b614925565b610606866002614925565b81526142aa61429f85601c614925565b610606866003614925565b60208201526142c86142bd85601d614925565b610606866004614925565b60408201526142e66142db85601e614925565b610606866005614925565b60608201528051614318906143119061430a9061430390806120d1565b84516120d1565b83516120d1565b82516120d1565b608082015260208101516143569061434c906143429061433890806120d1565b84602001516120d1565b83602001516120d1565b82602001516120d1565b60a082015260408101516143949061438a906143809061437690806120d1565b84604001516120d1565b83604001516120d1565b82604001516120d1565b60c082015260608101516143d2906143c8906143be906143b490806120d1565b84606001516120d1565b83606001516120d1565b82606001516120d1565b60e0820152608081015160a08201516143eb91906120ea565b61010082015260c081015160e082015161440591906120ea565b61012082015260a08101516144299061441e90806120ea565b8261012001516120ea565b61014082015260e081015161444d9061444290806120ea565b8261010001516120ea565b61016082015261012081015161446390806120ea565b6101e082018190526144849061447990806120ea565b8261016001516120ea565b6101e082015261010081015161449a90806120ea565b6101a082018190526144bb906144b090806120ea565b8261014001516120ea565b6101a082018190526101608201516144d2916120ea565b6101808201526101408101516101e08201516144ee91906120ea565b6101c0820152614502612f0c85600b614925565b610200820181905261024084015161018083015161452d9261060691610601906106248a6023614925565b836012602002015261455d8360136020020151610606836102000151610601856101a001516106248a6024614925565b836013602002015261458d8360146020020151610606836102000151610601856101c001516106248a6025614925565b83601460200201526145bd8360156020020151610606836102000151610601856101e001516106248a6026614925565b836015602002015250505050565b61461d6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146527f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b3565b81526020016146807f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b3565b81526020016146ad7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b3565b81526020016146db7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b3565b905290506146f86146ed86601b614925565b610606876002614925565b610120830181905261472c9061472190613ea09061471690806120d1565b8561012001516120d1565b8361012001516120d1565b825261473985601c614925565b602083015261474985601d614925565b604083015261475985601e614925565b60608301528151602083015161478191613ba49161477791906120ea565b84604001516120ea565b60808301526147946131be86600c614925565b61014083015281516147b5906147ab90835f610ef3565b83608001516120ea565b60a08301526147e184601660200201516106068461014001516106018660a001516106248b6023614925565b6102c085015260208201516147fc906147ab90836001610ef3565b60c083015261482884601760200201516106068461014001516106018660c001516106248b6024614925565b6102e08501526040820151614843906147ab90836002610ef3565b60e083015261486f84601860200201516106068461014001516106018660e001516106248b6025614925565b610300850152606082015161488a906147ab90836003610ef3565b6101008301526148b884601960200201516106068461014001516106018661010001516106248b6026614925565b846019613045565b5f6148cc8184816108d3565b905060015b601a81101561491e57614914826106068684601a81106148f3576148f3614fb9565b602002015186614904600187614f6c565b60198110610ef357610ef3614fb9565b91506001016148d1565b5092915050565b5f8282602781111561493957614939615206565b6028811061494957614949614fb9565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497b614dac565b8152602001614988614dac565b8152602001614995614dac565b81526020016149a2614dac565b81526020016149af614dac565b81526020016149bc614dac565b81526020016149c9614dac565b81526020016149d6614dac565b81526020016149e3614dac565b81526020016149f0614dac565b81526020016149fd614dac565b8152602001614a0a614dac565b8152602001614a17614dac565b8152602001614a24614dac565b8152602001614a31614dac565b8152602001614a3e614dac565b8152602001614a4b614dac565b8152602001614a58614dac565b8152602001614a65614dac565b8152602001614a72614dac565b8152602001614a7f614dac565b8152602001614a8c614dac565b8152602001614a99614dac565b8152602001614aa6614dac565b8152602001614ab3614dac565b8152602001614ac0614dac565b8152602001614acd614dac565b905290565b604051806101e00160405280614ae6614de3565b8152602001614af3614c42565b8152602001614b00614c42565b8152602001614b0d614c42565b8152602001614b1a614c42565b8152602001614b27614c42565b8152602001614b34614c42565b8152602001614b41614c42565b8152602001614b4e614c42565b8152602001614b5b614e02565b8152602001614b68614e30565b8152602001614b75614e4f565b8152602001614b82614cd4565b8152602001614b8f614c42565b8152602001614acd614c42565b604051806101000160405280614bb0614c66565b8152602001614bbd614c96565b8152602001614bca614cd4565b8152602001614bd7614cd4565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2c614dac565b815260200190600190039081614c245790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e1a614d6e565b815260200190600190039081614e125790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e67614c42565b815260200190600190039081614e5f5790505090565b5f5f5f5f60408587031215614e90575f5ffd5b84356001600160401b03811115614ea5575f5ffd5b8501601f81018713614eb5575f5ffd5b80356001600160401b03811115614eca575f5ffd5b876020828401011115614edb575f5ffd5b6020918201955093508501356001600160401b03811115614efa575f5ffd5b8501601f81018713614f0a575f5ffd5b80356001600160401b03811115614f1f575f5ffd5b8760208260051b8401011115614f33575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120cb576120cb614f41565b818103818111156120cb576120cb614f41565b808201808211156120cb576120cb614f41565b5f5f85851115614fa0575f5ffd5b83861115614fac575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fde57614fde614f41565b5060010190565b803560208310156120cb575f19602084900360031b1b1692915050565b5f8183825b6009811015615026578151835260209283019290910190600101615007565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505857615058615036565b500490565b5f8183825b6029811015615081578151835260209283019290910190600101615062565b5050506105208201905092915050565b5f8183825b606d8110156150b5578151835260209283019290910190600101615096565b505050610da08201905092915050565b5f8183825b601d8110156150e95781518352602092830192909101906001016150ca565b5050506103a08201905092915050565b5f8183825b600581101561511d5781518352602092830192909101906001016150fe565b50505060a08201905092915050565b5f8261513a5761513a615036565b500690565b5f8161514d5761514d614f41565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561517a575f5ffd5b815180151581146119f5575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c75781518452602093840193909101906001016151a9565b509195945050505050565b5f8183825b600d8110156151f65781518352602092830192909101906001016151d7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
3
+ */ export const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c0516152576100595f395f61063401525f818161073f01528181610d210152610dbd01525f6105d801526152575ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e79565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f51565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f68565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614951565b6101b56110b5565b905090565b6101c2614ace565b5f805b6010811015610224576101f18583866101df826020614f7b565b926101ec93929190614f8e565b61199a565b8351826010811061020457610204614fb5565b60200201818152505060208261021a9190614f7b565b91506001016101c5565b50610248848285610236826080614f7b565b9261024393929190614f8e565b6119fb565b6020830152610258608082614f7b565b905061026b848285610236826080614f7b565b604083015261027b608082614f7b565b905061028e848285610236826080614f7b565b606083015261029e608082614f7b565b90506102b1848285610236826080614f7b565b60c08301526102c1608082614f7b565b90506102d4848285610236826080614f7b565b60e08301526102e4608082614f7b565b90506102f7848285610236826080614f7b565b60808084019190915261030a9082614f7b565b905061031d848285610236826080614f7b565b61010083015261032e608082614f7b565b9050610341848285610236826080614f7b565b60a0830152610351608082614f7b565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7b565b84610120015183601c811061039157610391614fb5565b602002015182600881106103a7576103a7614fb5565b6020020181815250506020836103bd9190614f7b565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7b565b836101400151826028811061040457610404614fb5565b60200201818152505060208261041a9190614f7b565b91506001016103d3565b505f5b6104336001601c614f68565b81101561047c5761044b858386610236826080614f7b565b83610160015182601b811061046257610462614fb5565b6020020152610472608083614f7b565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7b565b83610180015182601c81106104b0576104b0614fb5565b6020020181815250506020826104c69190614f7b565b915060010161047f565b506104e2848285610236826080614f7b565b6101a08301526104f3608082614f7b565b9050610506848285610236826080614f7b565b6101c08301525092915050565b61051b614b98565b5f61052b88888888888887611acb565b908352905061053a8189611b21565b6020840191909152905061054d81611c72565b604084019190915290506105618882611cd3565b606084019190915290506105758882611da7565b608084019190915290506105898882611e32565b60a0840191909152905061059d8882611fa0565b60c084019190915290506105b18882612012565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7b565b612069565b612087565b6120a0565b90505f610629876106248a6106016105fc8b6001614f7b565b6120b9565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f68565b8110156106c5575f6106828c838151811061067557610675614fb5565b6020026020010151612069565b90506106928661060186846120a0565b95506106a28561060185846120a0565b94506106ae848b6120a0565b93506106ba838b6120b9565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb5565b602002015190506106f98661060186846120a0565b95506107098561060185846120a0565b9450610715848b6120a0565b9350610721838b6120b9565b9250506001016106c8565b5061019784846120e8565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb5565b602002015190505f61078f82866120f6565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb5565b602002015190506107d78382612113565b95506107fe886040015185601c81106107f2576107f2614fb5565b602002015186836122c2565b945050505080600101905061073d565b505f610828866101400151865f01518760200151856122ed565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a0015161235b565b9050610897614bf1565b61089f614c10565b60e08601516108be906108b990855f5b60200201516120b9565b6123c0565b60a085015260e08601516108dd906108b990855f5b60200201516120a0565b60c080860182905260a0860151908801516108fc926106069190612087565b845260a086015161092a90610910906123c0565b6106018660a001516106248a60c001518960c00151612087565b6020850152600182526101a088015161094290612429565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f0151612468565b8660600151612087565b83826046811061098757610987614fb5565b602002015260808501516101408a01516109ca9190610606906109ab600186614f68565b602881106109bb576109bb614fb5565b60200201518860600151612087565b8560800181815250506109e585606001518860800151612087565b60608601526109f381614fc9565b9050610954565b505f610a0860236001614f7b565b90505b60288111610a8957610a2361096b8660200151612468565b838260468110610a3557610a35614fb5565b602002015260808501516101408a0151610a599190610606906109ab600186614f68565b856080018181525050610a7485606001518860800151612087565b6060860152610a8281614fc9565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612429565b6103808201526040880151610c2390612429565b6103a08201526060880151610c3790612429565b6103c08201526080880151610c4b90612429565b6103e082015260a0880151610c5f90612429565b610400820152610100880151610c7490612429565b61042082015260c0880151610c8890612429565b61044082015260e0880151610c9c90612429565b6104608201526020880151610cb090612429565b6104808201526040880151610cc490612429565b6104a08201526060880151610cd890612429565b6104c08201526080880151610cec90612429565b6104e082015260a0880151610d0090612429565b610500820152606086015160808501516101808a01515f92610d45929091877f0000000000000000000000000000000000000000000000000000000000000000612480565b805160a0870151919250610d5891612087565b604086018190526101808a01515160c0890151610d88929161060691610d7e9190612087565b8860c00151612087565b604086015260c0870151610d9b9061259b565b60608601525f5b610dae6001601c614f68565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f68565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7b565b601c81106108af576108af614fb5565b60a088015260e0890151610e42906108b99088610e32866001614f7b565b601c81106108d3576108d3614fb5565b60c0880152606087015160a0880151610e5b9190612087565b60e0880152606087015160c08a0151610e7791610d7e91612087565b6101008801819052610e9990610e8c90612468565b6106068960e00151612468565b8583610ea760286001614f7b565b610eb19190614f7b565b60468110610ec157610ec1614fb5565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7b565b601c8110610ef357610ef3614fb5565b6020020151612087565b9050610f19816106068a60e0015187876001610ee39190614f7b565b9050610f298860400151826120a0565b6040890152606088015160c08b0151610f4f91610f4591612087565b8b60c00151612087565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb5565b6020020151612429565b8483610f8860286001614f7b565b610f929190614f7b565b60468110610fa257610fa2614fb5565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7b565b60468110610fe357610fe3614fb5565b6020020152604085015183610ffa601c6028614f7b565b6046811061100a5761100a614fb5565b60200201526101c08901515f9061102090612429565b90508083611030601c6028614f7b565b61103b906001614f7b565b6046811061104b5761104b614fb5565b602002015260e088015184611062601c6028614f7b565b61106d906001614f7b565b6046811061107d5761107d614fb5565b60200201525f61108d84866125a6565b90505f6110998361266c565b90506110a582826126b2565b9c9b505050505050505050505050565b6110bd614951565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f0da60287e56b6cbaddb472bad3654515d6f2072719abe9e310fd22d3048d6a1581527f2b447623ac46b2bc17858f932cabaf298012923e22821f88674bd2288d53e830818301526060830152825180840184527f14679f3e41e1c2d33dd216fc0966abe7e7566e310488b660204f1d80ee74743c81527f273cc53984ee538dd4aed6cd9d8b251014e0400f5b2b5cfd327ac585b90a7d33818301526080830152825180840184527f2dedb41d1b14400416b4513df571e20490e436787786c0c9b828b86786bdd30d81527f22ec28a4d73ec8502e4b8b1cecd1e99fb577e401a71d3410c8f6cc3e43a271128183015260a0830152825180840184527f23cf1085948dfa836bc15a773b5dcc25a5dc6026a73946e3d741d6efb2c0bfa281527f08c8d84ac45e3cdab445b947fe608370cd06bb4fcf1bed8d48990ddf51e21f1a8183015260c0830152825180840184527f02cf1118068cb545833ee1fc74eea2a45c1f104263ebab6db19dc1a869cc432481527eb0ba4710455bf032f644544e110fa0ed003f7fd1ecb859660a35d2970169098183015260e0830152825180840184527f063c8d0117695408c6147fbd1792cb463c149fa9647a4b43aa2631544ab2acbc81527f2478b0c6b6b2de1a825fb03cbf9f1bb87765203a18b4fcd51f6e5842e4b3146b81830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f07cbf5ea8ae34d9efd6952a755602ea35de58d3f16d4c30b9ac544abe5058d1d81527f1d614f2192c88166a1d118bdf503f174125442586841b92e3edf0ae1b58d165e81830152610140830152825180840184527f0a1726d467c584afe2faa15eb80d94898fff3042bb3d7f55fa1ed4a117d5e72881527f034bf2e560c1651311f313f761a45226821125198eec0e2058b1760499e05ff381830152610160830152825180840184527f19dff3a3e2ad098b24f94522c68997cd31a18a468a4bec9b06a2778bafec43b681527f25ef065ab7ee6ee99527d5c48441867762115b4be0231e7b6d2741c42084c48581830152610180830152825180840184527f1430f4ee27a9593135801c659b71c2056d8a041339e201d9a508c9a7437885ac81527f0d514a250e717c07ba54c67882046b205afe9597fb3c0f2013100214d4ed360e818301526101a0830152825180840184527f10ffbee6415fd92ead76605185f386f1f137214b48a1dd7dab78bb456b68011b81527f27129ab6bffac146d4cc3ea93ce71ec2d4e82f8f8d2ac90132980e25d07faca6818301526101c0830152825180840184527f0c9b9622e8d55d51ec2c3316ea740086bb93a29dea6066ce9ec3983cdb5304d381527f113efd0481ec5bf8210fb7c81cc3273a74b1e72e7057af77820335d622e0b6da818301526101e0830152825180840184527f2e04f26460c5fbf8075fcd50a9de2b65950a4d402622ee6b4204aa44b4a84c5c81527f2d4510a9fdab735fa5521f396bda59662c6763723c24a56996aa7afd2975190281830152610200830152825180840184527f14240b92376e209c1711143d229608057e80fa181c19f27f68c171a7d678610881527f0effac51a11b3cd0a069ad4edd3c04609932adf189c3049a56b21125f4c68a9981830152610220830152825180840184527f0e06105b88919ce7d8d6eba864981ae7736a93ecd6c78eaf85d51245e01fb73581527f2236e00d6835c243e481250eb8b7489b855ca9e21dca5fc16ff6de0caa2db55581830152610240830152825180840184527f0bf4e139c21679bd87f924ee1c694ba08786c9938c95971440fabc8bd2f0f52681527f2b6cf5121ca01038959cd1f7547e9aa1130f5489fe5b4642111307b00db161a181830152610260830152825180840184527f1a15733963653d8cfadee31925321154e6c6fe64c58f0c0281611445cfa7e40c81527f28bb1fa91f69f33e78ab75e7801d725343be8e483e2df1e4a8ffe57e156aefe481830152610280830152825180840184527f1d5410c490b33a20f3c3898eee03f15dcbd690ea09d08ba7ee24f5bc85803b3481527f20930e06a6c496515b11473d9bf829ad701afd4f9e43997e5778188bd15b1d65818301526102a0830152825180840184527f2a5c9f3dff481f126baf9bef0f34fb55e547f3f42af96b6b6270b9bc0bb35cbb81527f22a6eb878a38bec1edfe2eafb891974b7fe32c17600a09636ddd298bc81b1a7c818301526102c0830152825180840184527e996eaf374b8e24552c38fa8f0c441d60be42ddb89a1ba5b82142e860b3c4b981527f07c596219e6f2ae1dd489d571a86ec3daf31e0ed74027bc46b53798489f54540818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f162226e80be07331fd4dadb16b91f9f6c4fb07b322511bdf89d2d4a3893327e483527f1eafbed0e7c9592f46e4f20f4f3eb84209a3a41a36eb4a7faec4a67c8111174c908301526103a081019190915290565b5f602082146119e75760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f46105fc8385614fe1565b9392505050565b611a03614c3e565b60808214611a495760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119de565b604080516080810190915280611a6260205f8688614f8e565b611a6b91614fe1565b8152602090810190611a81906040908688614f8e565b611a8a91614fe1565b8152602001611a9d606060408688614f8e565b611aa691614fe1565b8152602001611ab9608060608688614f8e565b611ac291614fe1565b90529392505050565b611ad3614c62565b5f611ae28989898989896128b6565b604086019190915260208501919091529083529250611b01838a612d5c565b608085019190915260608401919091529199919850909650505050505050565b611b29614c92565b5f611b32614cb1565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc891611bad91849101614ffe565b60405160208183030381529060405280519060200120612069565b9150611bd382612e2b565b6020850152835260015b611be96002601a615046565b811015611c6957611c0683604051602001611bad91815260200190565b9250611c1183612e2b565b85611c1d846002614f51565b601a8110611c2d57611c2d614fb5565b6020020186611c3d856002614f51565b611c48906001614f7b565b601a8110611c5857611c58614fb5565b602002019190915252600101611bdd565b50509250929050565b611c7a614cd0565b5f805b601c811015611ccc57611c9c84604051602001611bad91815260200190565b93505f611ca885612e2b565b8584601c8110611cba57611cba614fb5565b60200201919091525050600101611c7d565b5090929050565b611cdb614cd0565b5f805b601c811015611d9e57611cef614cb1565b8481525f5b6008811015611d585786610120015183601c8110611d1457611d14614fb5565b60200201518160088110611d2a57611d2a614fb5565b602002015182611d3b836001614f7b565b60098110611d4b57611d4b614fb5565b6020020152600101611cf4565b50611d6d81604051602001611bad9190614ffe565b94505f611d7986612e2b565b8685601c8110611d8b57611d8b614fb5565b6020020191909152505050600101611cde565b50909391925050565b5f5f611db1614cef565b8381525f5b6028811015611e04578561014001518160288110611dd657611dd6614fb5565b602002015182611de7836001614f7b565b60298110611df757611df7614fb5565b6020020152600101611db6565b50611e1981604051602001611bad9190615059565b91505f611e2583612e2b565b5096929550919350505050565b5f5f611e3c614d0e565b8381525f5b611e4d6001601c614f68565b811015611f8b5785610160015181601b8110611e6b57611e6b614fb5565b60200201515182611e7d836004614f51565b611e88906001614f7b565b606d8110611e9857611e98614fb5565b602002015261016086015181601b8110611eb457611eb4614fb5565b60200201516020015182826004611ecb9190614f51565b611ed6906002614f7b565b606d8110611ee657611ee6614fb5565b602002015261016086015181601b8110611f0257611f02614fb5565b60200201516040015182611f17836004614f51565b611f22906003614f7b565b606d8110611f3257611f32614fb5565b602002015261016086015181601b8110611f4e57611f4e614fb5565b60200201516060015182611f63836004614f51565b611f6e906004614f7b565b606d8110611f7e57611f7e614fb5565b6020020152600101611e41565b50611e1981604051602001611bad919061508d565b5f5f611faa614d2d565b8381525f5b601c811015611ffd5785610180015181601c8110611fcf57611fcf614fb5565b602002015182611fe0836001614f7b565b601d8110611ff057611ff0614fb5565b6020020152600101611faf565b50611e1981604051602001611bad91906150c1565b5f5f61201c614d4c565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e1991611bad918491016150f5565b5f6120815f5160206152375f395f51905f5283615128565b92915050565b5f5f5160206152375f395f51905f528284099392505050565b5f5f5160206152375f395f51905f528284089392505050565b5f5f5160206152375f395f51905f526120df835f5160206152375f395f51905f52614f68565b84089392505050565b5f6119f483610601846123c0565b81515f908190612108908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156121fa576121f08261060187846120b9565b91506001016121d9565b50612203614d6a565b5f5b6008811015612264575f84826008811061222157612221614fb5565b602002015190506122368161060189856120b9565b9050612241816123c0565b90508083836008811061225657612256614fb5565b602002015250600101612205565b505f5b60088110156122b7575f87826008811061228357612283614fb5565b602002015190506122a081848460088110610ef357610ef3614fb5565b90506122ac86826120a0565b955050600101612267565b5061082e8483612087565b5f5f6122d86001610606856106018960016120b9565b90506122e48482612087565b95945050505050565b5f6122f6614d89565b612301868285612e5b565b61230d86868386613007565b612319868683866131ef565b612324868285613425565b61232f868285613619565b61233b86868386613962565b6123468682856141fc565b6123518682856145c7565b61082e81856148bc565b612363614cd0565b81815260015b601c8110156123ba5761239b82612381600184614f68565b601c811061239157612391614fb5565b602002015161259b565b8282601c81106123ad576123ad614fb5565b6020020152600101612369565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206152375f395f51905f520360808201525f5160206152375f395f51905f5260a082015260205f60c08360055afa90508061241e575f5ffd5b50505f519392505050565b612431614da8565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f612081825f5160206152375f395f51905f52614f68565b612488614cd0565b601c5b8015612591575f8461249e600184614f68565b601c81106124ae576124ae614fb5565b602002015190505f886124c2600185614f68565b601c81106124d2576124d2614fb5565b602002015190505f61252d6124f16124ea858c612087565b6002612087565b6106248a612500600189614f68565b601c811061251057612510614fb5565b60200201516106016125278861060160018a6120b9565b876120b9565b905061254e816106016108b9612548876106016001896120b9565b866120a0565b905085841161257d579750878085612567600187614f68565b601c811061257757612577614fb5565b60200201525b5050508061258a9061513b565b905061248b565b5095945050505050565b5f6120818283612087565b6125ae614da8565b5f6125bb601c6028614f7b565b6125c6906002614f7b565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156126545760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa909216916001016125fb565b50805184526020810151602085015250505092915050565b612674614da8565b5f5160206152175f395f51905f5282602001515f5160206152175f395f51905f5261269f9190614f68565b6126a99190615128565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128489190615150565b5f60405180830381855afa9150503d805f8114612880576040519150601f19603f3d011682016040523d82523d5f602084013e612885565b606091505b50915091505f8180602001905181019061289f9190615166565b90508280156128ab5750805b979650505050505050565b5f808080806128c6876003614f7b565b6128d190600c614f7b565b6001600160401b038111156128e8576128e8615185565b604051908082528060200260200182016040528015612911578160200160208202803683370190505b509050875f1b815f8151811061292957612929614fb5565b602002602001018181525050865f1b8160018151811061294b5761294b614fb5565b602002602001018181525050855f1b8160028151811061296d5761296d614fb5565b60209081029190910101525f5b612985601089614f68565b8110156129d6578a8a8281811061299e5761299e614fb5565b90506020020135828260036129b39190614f7b565b815181106129c3576129c3614fb5565b602090810291909101015260010161297a565b505f5b6010811015612a47578b51612a019082601081106129f9576129f9614fb5565b602002015190565b82826010612a108c6003614f7b565b612a1a9190614f68565b612a249190614f7b565b81518110612a3457612a34614fb5565b60209081029190910101526001016129d9565b5060208b01515181612a5a896003614f7b565b81518110612a6a57612a6a614fb5565b6020908102919091018101919091528b810151015181612a8b896003614f7b565b612a96906001614f7b565b81518110612aa657612aa6614fb5565b6020908102919091018101919091528b01516040015181612ac8896003614f7b565b612ad3906002614f7b565b81518110612ae357612ae3614fb5565b6020908102919091018101919091528b01516060015181612b05896003614f7b565b612b10906003614f7b565b81518110612b2057612b20614fb5565b602090810291909101015260408b01515181612b3d896003614f7b565b612b48906004614f7b565b81518110612b5857612b58614fb5565b60209081029190910181019190915260408c0151015181612b7a896003614f7b565b612b85906005614f7b565b81518110612b9557612b95614fb5565b60209081029190910101526040808c0151015181612bb4896003614f7b565b612bbf906006614f7b565b81518110612bcf57612bcf614fb5565b602090810291909101015260408b01516060015181612bef896003614f7b565b612bfa906007614f7b565b81518110612c0a57612c0a614fb5565b602090810291909101015260608b01515181612c27896003614f7b565b612c32906008614f7b565b81518110612c4257612c42614fb5565b60209081029190910181019190915260608c0151015181612c64896003614f7b565b612c6f906009614f7b565b81518110612c7f57612c7f614fb5565b602090810291909101015260608b01516040015181612c9f896003614f7b565b612caa90600a614f7b565b81518110612cba57612cba614fb5565b60209081029190910101526060808c0151015181612cd9896003614f7b565b612ce490600b614f7b565b81518110612cf457612cf4614fb5565b602002602001018181525050612d1481604051602001611bad9190615199565b9150612d1f82612e2b565b6040805160208101869052929750909550612d3a9101611bad565b91505f612d4683612e2b565b50959c949b509499509097509195505050505050565b5f5f5f612d67614dc0565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e1191611bad918491016151ce565b9150612e1c82612e2b565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e4682612069565b9450612e5181612069565b9350505050915091565b5f612e67846007614921565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612ec8612ec2612e9c8560036120b9565b610601612eb7612eac8b5f614921565b6106018c601c614921565b6106018b601b614921565b83612087565b9050612f49612f3e612f25612f0c612ef385610606612ee88d6002614921565b6106018e601b614921565b610606612f018c6003614921565b6106018d601c614921565b610606612f1a8b6004614921565b6106018c601d614921565b610606612f338a6005614921565b6106018b601e614921565b610606886001614921565b9050612f6881610606612f5d8660016120b9565b6106018a6026614921565b9050612f748184612087565b9050612f808185612087565b8552505f9050612fba612fb0612fa5612f9a88601b614921565b61060689601e614921565b610624886023614921565b610606875f614921565b9050612fcb816106018460026120b9565b9050612fdc816106018460016120b9565b9050612fe88183612087565b9050612ff48184612087565b9050808460015b60200201525050505050565b5f5f5f61303d61303361301b89601b614921565b6106066130298b6011614921565b8a60600151612087565b87608001516120a0565b90506130768161060161306c6130548b601c614921565b6106066130628d6012614921565b8c60600151612087565b89608001516120a0565b905061309b8161060161306c61308d8b601d614921565b6106066130628d6013614921565b90506130c08161060161306c6130b28b601e614921565b6106066130628d6014614921565b92505f90506130e46130336130d689601b614921565b6106066130298b600d614921565b90506131098161060161306c6130fb8b601c614921565b6106066130628d600e614921565b905061312e8161060161306c6131208b601d614921565b6106066130628d600f614921565b90506131538161060161306c6131458b601e614921565b6106066130628d6010614921565b91505f905061317a61317461316989601f614921565b6106068a6019614921565b84612087565b90506131af816106246131a96131918b6027614921565b61060661319f8d601a614921565b8c60a00151612087565b85612087565b90506131bb8185612087565b6040860152505f6131de6131a96131d389601a614921565b6106018a6027614921565b606090950194909452505050505050565b5f5f61324d61323561321d61320861306c8a6015614921565b6106066132168b6016614921565b8a51612087565b61060661322b8a6017614921565b8960200151612087565b610606613243896018614921565b8860400151612087565b91505f61328461326b61326189601b614921565b88608001516120a0565b6106066132798a6003614921565b6106018b6023614921565b90505f6132ad61329589601c614921565b6106066132a28b5f614921565b6106018c6024614921565b90505f6132d76132be8a601d614921565b6106066132cc8c6001614921565b6106018d6025614921565b90506133166132fe6132f085610606868d5f0151612087565b610606848c60200151612087565b61060661330c8c6004614921565b8b60400151612087565b93505050505f61332a613174886020614921565b90505f61333b613174896020614921565b90505f61337361335a61334f8b6022614921565b6106068c6006614921565b6106246133688c6022614921565b6106018d6006614921565b90505f6133976133916133868789612087565b6106018d6020614921565b836120b9565b90506133a38188612087565b90505f6133cb6133bd6133b78d6006614921565b87612087565b6106246133b78e6021614921565b90505f6133f56133ea6133df8e6022614921565b6106018f6022614921565b6106248e6022614921565b60808b0184905260a08b01839052905061340f818a612087565b8a60066020020152505050505050505050505050565b5f6134315f60016120b9565b90505f61343f5f60026120b9565b90505f61344d5f60036120b9565b90505f61346961345e88601c614921565b61062489601b614921565b90505f61348561347a89601d614921565b6106248a601c614921565b90505f6134a16134968a601e614921565b6106248b601d614921565b90505f6134bd6134b28b6023614921565b6106248c601e614921565b9050836134ce81610601818b6120a0565b90506134de81610601878a6120a0565b90506134ee8161060187896120a0565b90506134ff816106018d6008614921565b905061350b818a612087565b60e08b0152508261352081610601818b6120a0565b905061353081610601868a6120a0565b90506135408161060186896120a0565b9050613551816106018d6008614921565b905061355d818a612087565b6101008b0152508161357381610601818b6120a0565b905061358381610601858a6120a0565b90506135938161060185896120a0565b90506135a4816106018d6008614921565b90506135b0818a612087565b6101208b015250806135c681610601818b6120a0565b90506135d681610601848a6120a0565b90506135e68161060184896120a0565b90506135f7816106018d6008614921565b9050613603818a612087565b610140909a019990995250505050505050505050565b6136526040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61365d84601c614921565b815261366a84601d614921565b602082015261367a846023614921565b604082015261368a846026614921565b606082015261369a846025614921565b60808201526136aa846024614921565b60a08201525f6136bb856002614921565b90505f6136c8865f614921565b90505f6136dc8460400151855f01516120b9565b90505f6136f185602001518660200151612087565b606086015190915086905f906137079080612087565b90505f61372561371f89602001518a60600151612087565b88612087565b90505f61374461373d8a60a001518b604001516120a0565b8a516120a0565b90506137536133b78288612087565b905061377a61377461376e61376884876120b9565b886120b9565b846120a0565b836120a0565b90506137a261379761378c8387612087565b6106018f6009614921565b61060160018a6120b9565b6101608c015250505050602085015160808601515f916137c1916120a0565b90505f6137df6137d5886060015188612087565b88602001516120b9565b90505f6138036137ef8487612087565b6106066131a98b60a001518c5f01516120b9565b905061382b613820613815838c612087565b6106018e6009614921565b6106016001896120b9565b6101808b0152505f915061384c90506138458360116120a0565b8751612087565b90505f61385983846120a0565b905061386581826120a0565b90505f613873836009612087565b905061389c61389661317461388f8b60a001518c5f01516120a0565b8b516120a0565b826120b9565b60c089018190525f906138b79061371f9061378c908d612087565b90506138ca8b600b6020020151826120a0565b6101608c0152505086515f92506138f19150613845906138ea90806120a0565b88516120a0565b90505f61393161390c836106018a5f01518b60a001516120b9565b60208901516106249061391f90806120a0565b6106018b602001518c608001516120a0565b905061394e89600c602002015161060661371f61378c858d612087565b89600c602002015250505050505050505050565b6139f6604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2b613a12613a0787601b614921565b610601886024614921565b610606613a20886023614921565b61060189601c614921565b8152613a70613a65613a4c613a4188601b614921565b61060189601e614921565b610606613a5a89601c614921565b6106018a601d614921565b610624876025614921565b60408201819052613a8590600160441b612087565b60408201819052613a9b90610624876026614921565b604082018190528151613aae91906120a0565b60408201819052613ac490610601876005614921565b60408201528051613ad990600160441b612087565b808252613af990610606613aee886023614921565b610601896024614921565b80825260208201819052613b1590610624612f9a88601d614921565b60208201819052613b2b90610601876004614921565b6020820152805160608201819052613b489061060687601e614921565b60608201819052613b6c90610624613b61886025614921565b610606896026614921565b60608201819052613b8190610601875f614921565b8160600181815250505f613baa613ba0836020015184604001516120a0565b83606001516120a0565b9050613bbb81610601886003614921565b9050613bd3613bcb876024614921565b614000612087565b60808301819052613be990610606886023614921565b60808301819052613bfc90614000612087565b60808301819052613c129061060688601d614921565b60808301819052613c2590614000612087565b60808301819052613c3b9061060688601c614921565b60808301819052613c4e90614000612087565b60808301819052613c649061060688601b614921565b60808301819052613c7a9061062488601e614921565b60808301819052613c9090610601886005614921565b6080830152613ca3613bcb876025614921565b60a08301819052613cb990610606886024614921565b60a08301819052613ccc90614000612087565b60a08301819052613ce290610606886023614921565b60a08301819052613cf590614000612087565b60a08301819052613d0b9061060688601e614921565b60a08301819052613d1e90614000612087565b60a08301819052613d349061060688601d614921565b60a08301819052613d4a90610624886026614921565b60a08301819052613d5f90610601885f614921565b60a0830181905260808301515f91613d7791906120a0565b9050613d8881610601896004614921565b9050613da2613d9888601d614921565b8760400151612087565b60c08401819052613dbb9061060661322b8a601c614921565b60c08401819052613ddb90610606613dd48a601b614921565b8951612087565b60c08401819052613df190610606896001614921565b60c0840181905260e08401819052613e0e9061062489601e614921565b60c0840152613e2161345e886023614921565b610140840152613e40613e35886026614921565b61062489601e614921565b610120840152610140830151613e6590613e5a9080612087565b8461014001516120b9565b610280840152610140830151613ea790613e9c90613e959061060160015f5160206152375f395f51905f52614f68565b60016120a0565b846101200151612087565b6101608401819052613ede90613ed090610601613ec58b6002614921565b6106018c6003614921565b6106016133b78a600a614921565b6101c0860152610280830151613f0090613ed090610601613ec58b6002614921565b6101e086015260c0830151613f2890610601613f1d8a6002614921565b6106018b6003614921565b6101e08401525f613f47613f3d89601e614921565b8560e001516120b9565b9050613f566138968283612087565b6101a0850152613f6a613243896025614921565b6101008501819052613f8e90610606613f848b6024614921565b8a60200151612087565b6101008501819052613fa8906106066132168b6023614921565b610100850152613fc7613fbc896026614921565b8561010001516120b9565b6101008501525f613fdc6134968a6025614921565b905061403061400a612ec2613e9588610140015160015f5160206152375f395f51905f526106019190614f68565b610601613e9588610100015160015f5160206152375f395f51905f526106019190614f68565b6101808601526101008501516140559061404a9080612087565b8661010001516120b9565b6101c086015261018085015161408890614074906106018c6007614921565b6106016140828c600a614921565b89612087565b6102008801526102808501516140a790614074906106018c6007614921565b6102208801526101c08501516140c690614074906106018c6007614921565b6102408801526101a08501516140e1906106018b6007614921565b6102008601526141006140f58a6024614921565b6106248b601c614921565b61022086015261014085015161413f906134969061413490613e959061060160015f5160206152375f395f51905f52614f68565b876102200151612087565b61024086018190526101e08601516102608701819052614176916106069061060161416b8e6005614921565b6106018f6002614921565b610260860181905260c086015161419991906106069061060161416b8e5f614921565b61026086018190526102008601516141b191906120a0565b61026086018190526141c79061376e90866120a0565b6102a086018190526141e1906106016140828c600a614921565b6102a0860181905287600d6020020152505050505050505050565b6142726040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428b61428085601b614921565b610606866002614921565b81526142a661429b85601c614921565b610606866003614921565b60208201526142c46142b985601d614921565b610606866004614921565b60408201526142e26142d785601e614921565b610606866005614921565b606082015280516143149061430d90614306906142ff9080612087565b8451612087565b8351612087565b8251612087565b60808201526020810151614352906143489061433e906143349080612087565b8460200151612087565b8360200151612087565b8260200151612087565b60a08201526040810151614390906143869061437c906143729080612087565b8460400151612087565b8360400151612087565b8260400151612087565b60c082015260608101516143ce906143c4906143ba906143b09080612087565b8460600151612087565b8360600151612087565b8260600151612087565b60e0820152608081015160a08201516143e791906120a0565b61010082015260c081015160e082015161440191906120a0565b61012082015260a08101516144259061441a90806120a0565b8261012001516120a0565b61014082015260e08101516144499061443e90806120a0565b8261010001516120a0565b61016082015261012081015161445f90806120a0565b6101e082018190526144809061447590806120a0565b8261016001516120a0565b6101e082015261010081015161449690806120a0565b6101a082018190526144b7906144ac90806120a0565b8261014001516120a0565b6101a082018190526101608201516144ce916120a0565b6101808201526101408101516101e08201516144ea91906120a0565b6101c08201526144fe612ec285600b614921565b61020082018190526102608401516101808301516145299261060691610601906106248a6023614921565b83601360200201526145598360146020020151610606836102000151610601856101a001516106248a6024614921565b83601460200201526145898360156020020151610606836102000151610601856101c001516106248a6025614921565b83601560200201526145b98360166020020151610606836102000151610601856101e001516106248a6026614921565b836016602002015250505050565b6146196040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f604051806080016040528061464e7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612069565b815260200161467c7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612069565b81526020016146a97e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612069565b81526020016146d77f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612069565b905290506146f46146e986601b614921565b610606876002614921565b61012083018190526147289061471d90613e9c906147129080612087565b856101200151612087565b836101200151612087565b825261473585601c614921565b602083015261474585601d614921565b604083015261475585601e614921565b60608301528151602083015161477d91613ba09161477391906120a0565b84604001516120a0565b608083015261479061317486600c614921565b61014083015281516147b1906147a790835f610ef3565b83608001516120a0565b60a08301526147dd84601760200201516106068461014001516106018660a001516106248b6023614921565b6102e085015260208201516147f8906147a790836001610ef3565b60c083015261482484601860200201516106068461014001516106018660c001516106248b6024614921565b610300850152604082015161483f906147a790836002610ef3565b60e083015261486b84601960200201516106068461014001516106018660e001516106248b6025614921565b6103208501526060820151614886906147a790836003610ef3565b6101008301526148b484601a60200201516106068461014001516106018661010001516106248b6026614921565b84601a612ffb565b5f6148c88184816108d3565b905060015b601b81101561491a57614910826106068684601b81106148ef576148ef614fb5565b602002015186614900600187614f68565b601a8110610ef357610ef3614fb5565b91506001016148cd565b5092915050565b5f8282602781111561493557614935615202565b6028811061494557614945614fb5565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f8152602001614977614da8565b8152602001614984614da8565b8152602001614991614da8565b815260200161499e614da8565b81526020016149ab614da8565b81526020016149b8614da8565b81526020016149c5614da8565b81526020016149d2614da8565b81526020016149df614da8565b81526020016149ec614da8565b81526020016149f9614da8565b8152602001614a06614da8565b8152602001614a13614da8565b8152602001614a20614da8565b8152602001614a2d614da8565b8152602001614a3a614da8565b8152602001614a47614da8565b8152602001614a54614da8565b8152602001614a61614da8565b8152602001614a6e614da8565b8152602001614a7b614da8565b8152602001614a88614da8565b8152602001614a95614da8565b8152602001614aa2614da8565b8152602001614aaf614da8565b8152602001614abc614da8565b8152602001614ac9614da8565b905290565b604051806101e00160405280614ae2614ddf565b8152602001614aef614c3e565b8152602001614afc614c3e565b8152602001614b09614c3e565b8152602001614b16614c3e565b8152602001614b23614c3e565b8152602001614b30614c3e565b8152602001614b3d614c3e565b8152602001614b4a614c3e565b8152602001614b57614dfe565b8152602001614b64614e2c565b8152602001614b71614e4b565b8152602001614b7e614cd0565b8152602001614b8b614c3e565b8152602001614ac9614c3e565b604051806101000160405280614bac614c62565b8152602001614bb9614c92565b8152602001614bc6614cd0565b8152602001614bd3614cd0565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c28614da8565b815260200190600190039081614c205790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103400160405280601a906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103600160405280601b906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e16614d6a565b815260200190600190039081614e0e5790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e63614c3e565b815260200190600190039081614e5b5790505090565b5f5f5f5f60408587031215614e8c575f5ffd5b84356001600160401b03811115614ea1575f5ffd5b8501601f81018713614eb1575f5ffd5b80356001600160401b03811115614ec6575f5ffd5b876020828401011115614ed7575f5ffd5b6020918201955093508501356001600160401b03811115614ef6575f5ffd5b8501601f81018713614f06575f5ffd5b80356001600160401b03811115614f1b575f5ffd5b8760208260051b8401011115614f2f575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761208157612081614f3d565b8181038181111561208157612081614f3d565b8082018082111561208157612081614f3d565b5f5f85851115614f9c575f5ffd5b83861115614fa8575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fda57614fda614f3d565b5060010190565b80356020831015612081575f19602084900360031b1b1692915050565b5f8183825b6009811015615022578151835260209283019290910190600101615003565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505457615054615032565b500490565b5f8183825b602981101561507d57815183526020928301929091019060010161505e565b5050506105208201905092915050565b5f8183825b606d8110156150b1578151835260209283019290910190600101615092565b505050610da08201905092915050565b5f8183825b601d8110156150e55781518352602092830192909101906001016150c6565b5050506103a08201905092915050565b5f8183825b60058110156151195781518352602092830192909101906001016150fa565b50505060a08201905092915050565b5f8261513657615136615032565b500690565b5f8161514957615149614f3d565b505f190190565b5f82518060208501845e5f920191825250919050565b5f60208284031215615176575f5ffd5b815180151581146119f4575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c35781518452602093840193909101906001016151a5565b509195945050505050565b5f8183825b600d8110156151f25781518352602092830192909101906001016151d3565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
4
  /**
5
5
  * HonkVerifier link references.
6
6
  */ export const HonkVerifierLinkReferences = {};
@@ -93,10 +93,6 @@ export declare const IERC20Abi: readonly [{
93
93
  readonly type: "address";
94
94
  readonly internalType: "address";
95
95
  }];
96
- }, {
97
- readonly type: "error";
98
- readonly name: "GSE__EmptyVoter";
99
- readonly inputs: readonly [];
100
96
  }, {
101
97
  readonly type: "error";
102
98
  readonly name: "GSE__FailedToRemove";
@@ -935,11 +931,11 @@ export declare const IERC20Abi: readonly [{
935
931
  readonly inputs: readonly [{
936
932
  readonly name: "deadline";
937
933
  readonly type: "uint256";
938
- readonly internalType: "Slot";
934
+ readonly internalType: "Epoch";
939
935
  }, {
940
- readonly name: "currentSlot";
936
+ readonly name: "currentEpoch";
941
937
  readonly type: "uint256";
942
- readonly internalType: "Slot";
938
+ readonly internalType: "Epoch";
943
939
  }];
944
940
  }, {
945
941
  readonly type: "error";
@@ -951,11 +947,11 @@ export declare const IERC20Abi: readonly [{
951
947
  readonly inputs: readonly [{
952
948
  readonly name: "deadline";
953
949
  readonly type: "uint256";
954
- readonly internalType: "Slot";
950
+ readonly internalType: "Epoch";
955
951
  }, {
956
- readonly name: "currentSlot";
952
+ readonly name: "currentEpoch";
957
953
  readonly type: "uint256";
958
- readonly internalType: "Slot";
954
+ readonly internalType: "Epoch";
959
955
  }];
960
956
  }, {
961
957
  readonly type: "error";
@@ -1069,22 +1065,6 @@ export declare const IERC20Abi: readonly [{
1069
1065
  readonly type: "uint256";
1070
1066
  readonly internalType: "uint256";
1071
1067
  }];
1072
- }, {
1073
- readonly type: "error";
1074
- readonly name: "SignatureLib__CannotVerifyEmpty";
1075
- readonly inputs: readonly [];
1076
- }, {
1077
- readonly type: "error";
1078
- readonly name: "SignatureLib__InvalidSignature";
1079
- readonly inputs: readonly [{
1080
- readonly name: "expected";
1081
- readonly type: "address";
1082
- readonly internalType: "address";
1083
- }, {
1084
- readonly name: "recovered";
1085
- readonly type: "address";
1086
- readonly internalType: "address";
1087
- }];
1088
1068
  }, {
1089
1069
  readonly type: "error";
1090
1070
  readonly name: "Staking__AlreadyActive";
@@ -1 +1 @@
1
- {"version":3,"file":"IERC20Abi.d.ts","sourceRoot":"","sources":["../src/IERC20Abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwgEZ,CAAC"}
1
+ {"version":3,"file":"IERC20Abi.d.ts","sourceRoot":"","sources":["../src/IERC20Abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8+DZ,CAAC"}
package/dest/IERC20Abi.js CHANGED
@@ -120,11 +120,6 @@
120
120
  }
121
121
  ]
122
122
  },
123
- {
124
- "type": "error",
125
- "name": "GSE__EmptyVoter",
126
- "inputs": []
127
- },
128
123
  {
129
124
  "type": "error",
130
125
  "name": "GSE__FailedToRemove",
@@ -1236,12 +1231,12 @@
1236
1231
  {
1237
1232
  "name": "deadline",
1238
1233
  "type": "uint256",
1239
- "internalType": "Slot"
1234
+ "internalType": "Epoch"
1240
1235
  },
1241
1236
  {
1242
- "name": "currentSlot",
1237
+ "name": "currentEpoch",
1243
1238
  "type": "uint256",
1244
- "internalType": "Slot"
1239
+ "internalType": "Epoch"
1245
1240
  }
1246
1241
  ]
1247
1242
  },
@@ -1257,12 +1252,12 @@
1257
1252
  {
1258
1253
  "name": "deadline",
1259
1254
  "type": "uint256",
1260
- "internalType": "Slot"
1255
+ "internalType": "Epoch"
1261
1256
  },
1262
1257
  {
1263
- "name": "currentSlot",
1258
+ "name": "currentEpoch",
1264
1259
  "type": "uint256",
1265
- "internalType": "Slot"
1260
+ "internalType": "Epoch"
1266
1261
  }
1267
1262
  ]
1268
1263
  },
@@ -1414,27 +1409,6 @@
1414
1409
  }
1415
1410
  ]
1416
1411
  },
1417
- {
1418
- "type": "error",
1419
- "name": "SignatureLib__CannotVerifyEmpty",
1420
- "inputs": []
1421
- },
1422
- {
1423
- "type": "error",
1424
- "name": "SignatureLib__InvalidSignature",
1425
- "inputs": [
1426
- {
1427
- "name": "expected",
1428
- "type": "address",
1429
- "internalType": "address"
1430
- },
1431
- {
1432
- "name": "recovered",
1433
- "type": "address",
1434
- "internalType": "address"
1435
- }
1436
- ]
1437
- },
1438
1412
  {
1439
1413
  "type": "error",
1440
1414
  "name": "Staking__AlreadyActive",
@@ -73,10 +73,6 @@ export declare const IVerifierAbi: readonly [{
73
73
  readonly type: "address";
74
74
  readonly internalType: "address";
75
75
  }];
76
- }, {
77
- readonly type: "error";
78
- readonly name: "GSE__EmptyVoter";
79
- readonly inputs: readonly [];
80
76
  }, {
81
77
  readonly type: "error";
82
78
  readonly name: "GSE__FailedToRemove";
@@ -915,11 +911,11 @@ export declare const IVerifierAbi: readonly [{
915
911
  readonly inputs: readonly [{
916
912
  readonly name: "deadline";
917
913
  readonly type: "uint256";
918
- readonly internalType: "Slot";
914
+ readonly internalType: "Epoch";
919
915
  }, {
920
- readonly name: "currentSlot";
916
+ readonly name: "currentEpoch";
921
917
  readonly type: "uint256";
922
- readonly internalType: "Slot";
918
+ readonly internalType: "Epoch";
923
919
  }];
924
920
  }, {
925
921
  readonly type: "error";
@@ -931,11 +927,11 @@ export declare const IVerifierAbi: readonly [{
931
927
  readonly inputs: readonly [{
932
928
  readonly name: "deadline";
933
929
  readonly type: "uint256";
934
- readonly internalType: "Slot";
930
+ readonly internalType: "Epoch";
935
931
  }, {
936
- readonly name: "currentSlot";
932
+ readonly name: "currentEpoch";
937
933
  readonly type: "uint256";
938
- readonly internalType: "Slot";
934
+ readonly internalType: "Epoch";
939
935
  }];
940
936
  }, {
941
937
  readonly type: "error";
@@ -1049,22 +1045,6 @@ export declare const IVerifierAbi: readonly [{
1049
1045
  readonly type: "uint256";
1050
1046
  readonly internalType: "uint256";
1051
1047
  }];
1052
- }, {
1053
- readonly type: "error";
1054
- readonly name: "SignatureLib__CannotVerifyEmpty";
1055
- readonly inputs: readonly [];
1056
- }, {
1057
- readonly type: "error";
1058
- readonly name: "SignatureLib__InvalidSignature";
1059
- readonly inputs: readonly [{
1060
- readonly name: "expected";
1061
- readonly type: "address";
1062
- readonly internalType: "address";
1063
- }, {
1064
- readonly name: "recovered";
1065
- readonly type: "address";
1066
- readonly internalType: "address";
1067
- }];
1068
1048
  }, {
1069
1049
  readonly type: "error";
1070
1050
  readonly name: "Staking__AlreadyActive";