@towns-protocol/generated 0.0.227 → 0.0.229
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.
- package/dev/abis/DropFacet.abi.json +11 -16
- package/dev/abis/DropFacet.abi.ts +11 -16
- package/dev/abis/IAppRegistry.abi.json +362 -0
- package/dev/abis/IAppRegistry.abi.ts +362 -0
- package/dev/abis/IAppRegistryBase.abi.json +136 -0
- package/dev/abis/IAppRegistryBase.abi.ts +136 -0
- package/dev/abis/ISwapFacet.abi.json +8 -3
- package/dev/abis/ISwapFacet.abi.ts +8 -3
- package/dev/abis/ISwapRouter.abi.json +51 -2
- package/dev/abis/ISwapRouter.abi.ts +51 -2
- package/dev/abis/ISwapRouterBase.abi.json +7 -2
- package/dev/abis/ISwapRouterBase.abi.ts +7 -2
- package/dev/abis/PlatformRequirementsFacet.abi.json +3 -3
- package/dev/abis/PlatformRequirementsFacet.abi.ts +3 -3
- package/dev/typings/DropFacet.ts +38 -36
- package/dev/typings/IAppRegistry.ts +513 -0
- package/dev/typings/IDropFacet.ts +37 -35
- package/dev/typings/ISwapFacet.ts +9 -9
- package/dev/typings/ISwapRouter.ts +78 -8
- package/dev/typings/PlatformRequirementsFacet.ts +11 -11
- package/dev/typings/factories/DropFacet__factory.ts +12 -17
- package/dev/typings/factories/IAppRegistry__factory.ts +383 -0
- package/dev/typings/factories/IDropFacet__factory.ts +10 -15
- package/dev/typings/factories/ISwapFacet__factory.ts +8 -3
- package/dev/typings/factories/ISwapRouter__factory.ts +51 -2
- package/dev/typings/factories/MembershipFacet__factory.ts +1 -1
- package/dev/typings/factories/PlatformRequirementsFacet__factory.ts +3 -3
- package/dev/typings/factories/index.ts +1 -0
- package/dev/typings/index.ts +2 -0
- package/package.json +2 -2
- package/dev/abis/Architect.json +0 -1
- package/dev/abis/Channels.json +0 -1
- package/dev/abis/Diamond.json +0 -1
- package/dev/abis/DiamondCutFacet.json +0 -1
- package/dev/abis/DropFacet.json +0 -1
- package/dev/abis/ERC721A__IERC721ReceiverUpgradeable.json +0 -1
- package/dev/abis/EntitlementsManager.json +0 -1
- package/dev/abis/IBanning.json +0 -1
- package/dev/abis/IBanningBase.json +0 -1
- package/dev/abis/ICreateSpace.json +0 -1
- package/dev/abis/ICrossChainEntitlement.json +0 -1
- package/dev/abis/IERC5267.json +0 -1
- package/dev/abis/IERC721A.json +0 -1
- package/dev/abis/IERC721ABase.json +0 -1
- package/dev/abis/IERC721AQueryable.json +0 -1
- package/dev/abis/IEntitlementChecker.json +0 -1
- package/dev/abis/IEntitlementCheckerBase.json +0 -1
- package/dev/abis/IEntitlementDataQueryable.json +0 -1
- package/dev/abis/IEntitlementDataQueryableBase.json +0 -1
- package/dev/abis/IEntitlementGated.json +0 -1
- package/dev/abis/IEntitlementGatedBase.json +0 -1
- package/dev/abis/IMembershipMetadata.json +0 -1
- package/dev/abis/IMulticall.json +0 -1
- package/dev/abis/INodeOperator.json +0 -1
- package/dev/abis/INodeOperatorBase.json +0 -1
- package/dev/abis/IPausable.json +0 -1
- package/dev/abis/IPausableBase.json +0 -1
- package/dev/abis/IPricingModules.json +0 -1
- package/dev/abis/IPricingModulesBase.json +0 -1
- package/dev/abis/IReview.json +0 -1
- package/dev/abis/IReviewBase.json +0 -1
- package/dev/abis/IRuleEntitlement.json +0 -1
- package/dev/abis/IRuleEntitlementBase.json +0 -1
- package/dev/abis/IRuleEntitlementV2.json +0 -1
- package/dev/abis/ISpaceDelegation.json +0 -1
- package/dev/abis/ISpaceDelegationBase.json +0 -1
- package/dev/abis/ISwapFacet.json +0 -1
- package/dev/abis/ISwapFacetBase.json +0 -1
- package/dev/abis/ISwapRouter.json +0 -1
- package/dev/abis/ISwapRouterBase.json +0 -1
- package/dev/abis/ITipping.json +0 -1
- package/dev/abis/ITippingBase.json +0 -1
- package/dev/abis/ITownsPoints.json +0 -1
- package/dev/abis/ITownsPointsBase.json +0 -1
- package/dev/abis/ITreasury.json +0 -1
- package/dev/abis/Member.json +0 -1
- package/dev/abis/MembershipFacet.json +0 -1
- package/dev/abis/MockCrossChainEntitlement.json +0 -1
- package/dev/abis/MockERC721A.json +0 -1
- package/dev/abis/MockEntitlementGated.json +0 -1
- package/dev/abis/MockLegacyArchitect.json +0 -1
- package/dev/abis/MockRiverRegistry.json +0 -1
- package/dev/abis/MockWalletLink.json +0 -1
- package/dev/abis/MockWalletLinkStorage.json +0 -1
- package/dev/abis/NodeRegistry.json +0 -1
- package/dev/abis/OperatorRegistry.json +0 -1
- package/dev/abis/OwnableFacet.json +0 -1
- package/dev/abis/PlatformRequirementsFacet.json +0 -1
- package/dev/abis/PrepayFacet.json +0 -1
- package/dev/abis/ProxyManager.json +0 -1
- package/dev/abis/Roles.json +0 -1
- package/dev/abis/SpaceOwner.json +0 -1
- package/dev/abis/StreamFlags.json +0 -1
- package/dev/abis/StreamRegistry.json +0 -1
- package/dev/abis/TokenPausableFacet.json +0 -1
- package/dev/abis/UserEntitlement.json +0 -1
- package/dev/abis/WalletLink.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[{"name":"approvedOperators","type":"address[]","internalType":"address[]"}],"stateMutability":"payable"},{"type":"function","name":"__OperatorRegistry_init","inputs":[{"name":"initialOperators","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"__RiverConfig_init","inputs":[{"name":"configManagers","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"genesisMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"stream","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocateStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodes","type":"address[]","internalType":"address[]"},{"name":"genesisMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"genesisMiniblock","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approveConfigurationManager","inputs":[{"name":"manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approveOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configurationExists","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"deleteConfiguration","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteConfigurationOnBlock","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllConfiguration","inputs":[],"outputs":[{"name":"settings","type":"tuple[]","internalType":"struct Setting[]","components":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"value","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"getAllNodeAddresses","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getAllNodes","inputs":[],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Node[]","components":[{"name":"status","type":"uint8","internalType":"enum NodeStatus"},{"name":"url","type":"string","internalType":"string"},{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getAllOperators","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getConfiguration","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Setting[]","components":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"value","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"getNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Node","components":[{"name":"status","type":"uint8","internalType":"enum NodeStatus"},{"name":"url","type":"string","internalType":"string"},{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getNodeCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPaginatedStreams","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"stop","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct StreamWithId[]","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"stream","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}]},{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getPaginatedStreamsOnNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"stop","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"streams","type":"tuple[]","internalType":"struct StreamWithId[]","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"stream","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}]}],"stateMutability":"view"},{"type":"function","name":"getStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stream","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]}],"stateMutability":"view"},{"type":"function","name":"getStreamCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStreamCountOnNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"count","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStreamWithGenesis","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stream","type":"tuple","internalType":"struct Stream","components":[{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"reserved0","type":"uint64","internalType":"uint64"},{"name":"flags","type":"uint64","internalType":"uint64"},{"name":"nodes","type":"address[]","internalType":"address[]"}]},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"isConfigurationManager","inputs":[{"name":"manager","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isStream","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"placeStreamOnNode","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"},{"name":"status","type":"uint8","internalType":"enum NodeStatus"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeConfigurationManager","inputs":[{"name":"manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeNode","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStreamFromNode","inputs":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodeAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setConfiguration","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStreamLastMiniblockBatch","inputs":[{"name":"miniblocks","type":"tuple[]","internalType":"struct SetMiniblock[]","components":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"prevMiniBlockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","internalType":"uint64"},{"name":"isSealed","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStreamReplicationFactor","inputs":[{"name":"requests","type":"tuple[]","internalType":"struct SetStreamReplicationFactor[]","components":[{"name":"streamId","type":"bytes32","internalType":"bytes32"},{"name":"nodes","type":"address[]","internalType":"address[]"},{"name":"replicationFactor","type":"uint8","internalType":"uint8"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"syncNodesOnStreams","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"stop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateNodeStatus","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"status","type":"uint8","internalType":"enum NodeStatus"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateNodeUrl","inputs":[{"name":"nodeAddress","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ConfigurationChanged","inputs":[{"name":"key","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"block","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"value","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"deleted","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ConfigurationManagerAdded","inputs":[{"name":"manager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ConfigurationManagerRemoved","inputs":[{"name":"manager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"NodeAdded","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"url","type":"string","indexed":false,"internalType":"string"},{"name":"status","type":"uint8","indexed":false,"internalType":"enum NodeStatus"}],"anonymous":false},{"type":"event","name":"NodeRemoved","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"NodeStatusUpdated","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"status","type":"uint8","indexed":false,"internalType":"enum NodeStatus"}],"anonymous":false},{"type":"event","name":"NodeUrlUpdated","inputs":[{"name":"nodeAddress","type":"address","indexed":true,"internalType":"address"},{"name":"url","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OperatorAdded","inputs":[{"name":"operatorAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OperatorRemoved","inputs":[{"name":"operatorAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StreamLastMiniblockUpdateFailed","inputs":[{"name":"streamId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"lastMiniblockNum","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"reason","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"StreamUpdated","inputs":[{"name":"eventType","type":"uint8","indexed":true,"internalType":"enum IStreamRegistryBase.StreamEventType"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Initializable_NotInInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]}],"bytecode":{"object":"0x6080604052604051615c72380380615c7283398101604081905261002291610416565b61002a610085565b6100333361012b565b80515f5b8181101561007d575f838281518110610052576100526104e0565b6020026020010151905061006b816101cf60201b60201c565b61007481610282565b50600101610037565b5050506104f4565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156100d1576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101561012857805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b5f61014a5f516020615c525f395f51905f52546001600160a01b031690565b90506001600160a01b03821661017357604051634e3ef82560e01b815260040160405180910390fd5b815f516020615c525f395f51905f5280546001600160a01b0319166001600160a01b03928316179055604051838216918316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038116610204576040805180820190915260078152664241445f41524760c81b60208201526102049061032a565b61020d8161034d565b156102405760408051808201909152600e81526d414c52454144595f45584953545360901b60208201526102409061032a565b61024b60088261035f565b506040516001600160a01b038216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d905f90a250565b6001600160a01b0381166102b7576040805180820190915260078152664241445f41524760c81b60208201526102b79061032a565b6102c2600d8261035f565b6102f45760408051808201909152600e81526d414c52454144595f45584953545360901b60208201526102f49061032a565b6040516001600160a01b038216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a2905f90a250565b6308c379a06040820352602080820352601f19601f825101166044810160248303fd5b5f61035960088361037a565b92915050565b5f610373836001600160a01b03841661039b565b9392505050565b6001600160a01b0381165f9081526001830160205260408120541515610373565b5f8181526001830160205260408120546103e057508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610359565b505f610359565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114610411575f5ffd5b919050565b5f60208284031215610426575f5ffd5b81516001600160401b0381111561043b575f5ffd5b8201601f8101841361044b575f5ffd5b80516001600160401b03811115610464576104646103e7565b604051600582901b90603f8201601f191681016001600160401b0381118282101715610492576104926103e7565b6040529182526020818401810192908101878411156104af575f5ffd5b6020850194505b838510156104d5576104c7856103fb565b8152602094850194016104b6565b509695505050505050565b634e487b7160e01b5f52603260045260245ffd5b615751806105015f395ff3fe608060405234801561000f575f5ffd5b5060043610610283575f3560e01c8063a09449a611610157578063c87d1324116100d2578063d911c63211610088578063eecc66f41161006e578063eecc66f414610598578063fc207c01146105ab578063ff3a14ab146105be575f5ffd5b8063d911c6321461057d578063ee885b1214610585575f5ffd5b8063ca78c41a116100b8578063ca78c41a14610536578063d0c27c4f14610557578063d4bd44a01461056a575f5ffd5b8063c87d13241461050e578063c8fe3a0114610521575f5ffd5b8063b2e76b8e11610127578063ba428b1a1161010d578063ba428b1a146104e0578063c0f22084146104f3578063c179b85f146104fb575f5ffd5b8063b2e76b8e146104ba578063b7f227ee146104cd575f5ffd5b8063a09449a61461046c578063a1174e7d1461047f578063ac8a584a14610494578063b2b99ec9146104a7575f5ffd5b80633c2544d1116102015780637e4465e7116101b75780639283ae3a1161019d5780639283ae3a146104265780639d209048146104395780639ee86d3814610459575f5ffd5b80637e4465e714610400578063813049ec14610413575f5ffd5b80635c665ce9116101e75780635c665ce9146103c75780636b883c39146103da5780636d70f7ae146103ed575f5ffd5b80633c2544d114610392578063581f8b9b146103b4575f5ffd5b80631290abe811610256578063242cae9f1161023c578063242cae9f14610356578063313745111461036957806339bf397e1461037c575f5ffd5b80631290abe81461031657806322bbda6414610336575f5ffd5b80630175015214610287578063035759e1146102d957806303cc8793146102ee578063081814db14610301575b5f5ffd5b6102c46102953660046141e5565b73ffffffffffffffffffffffffffffffffffffffff9081165f9081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b6102ec6102e7366004614200565b6105d1565b005b6102ec6102fc366004614217565b6106e9565b610309610750565b6040516102d09190614283565b610329610324366004614200565b610981565b6040516102d091906143d9565b6103496103443660046143eb565b610aaa565b6040516102d091906144ac565b6102ec6103643660046141e5565b610c64565b6102ec6103773660046144ff565b610ce7565b610384610d8b565b6040519081526020016102d0565b6103a56103a0366004614200565b610d9b565b6040516102d09392919061453e565b6102ec6103c2366004614585565b610f70565b6102ec6103d53660046144ff565b611171565b6102ec6103e83660046145f6565b6113f2565b6102c46103fb3660046141e5565b611565565b6102ec61040e36600461474e565b611577565b6102ec6104213660046141e5565b6117bb565b610309610434366004614200565b611916565b61044c6104473660046141e5565b611a7d565b6040516102d09190614872565b6102ec610467366004614884565b611c15565b6102ec61047a3660046148c7565b611e54565b610487612143565b6040516102d0919061491f565b6102ec6104a23660046141e5565b61232a565b6102ec6104b53660046141e5565b6124eb565b6102ec6104c8366004614994565b61272a565b6102ec6104db3660046149e6565b612814565b6102ec6104ee3660046144ff565b612a92565b610384612b36565b6102ec6105093660046141e5565b612b40565b61038461051c3660046141e5565b612bbb565b610529612be8565b6040516102d09190614a09565b610549610544366004614217565b612bf4565b6040516102d0929190614a61565b6102c4610565366004614200565b612d8c565b6102c46105783660046141e5565b612d97565b610529612da3565b6102ec610593366004614884565b612daf565b6102ec6105a6366004614a84565b61308a565b6102c46105b9366004614200565b6132c6565b6102ec6105cc366004614ae0565b6132d2565b336105dd600d82613771565b61061f5761061f6040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b8161062b600a826137c5565b61066d5761066d6040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506137a2565b5f838152600c6020526040812061068391614027565b61068e600a846137dc565b506040805184815267ffffffffffffffff602082015260808183018190525f908201526001606082015290517fc01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe989181900360a00190a1505050565b5f806106f4816137e7565b838118908411028318848111908590030284019150505b8083101561074b575f61071e81856137f0565b5f81815260026020819052604090912091925061073e90839083016137fb565b505082600101925061070b565b505050565b60605f8061075e600a6137e7565b90505f5b8181101561079c575f610776600a836137f0565b5f818152600c60205260409020549091506107919085614b7e565b935050600101610762565b508167ffffffffffffffff8111156107b6576107b6614678565b60405190808252806020026020018201604052801561080257816020015b60408051606080820183525f8083526020830152918101919091528152602001906001900390816107d45790505b5092505f610810600a6137e7565b90505f805b82811015610979575f610829600a836137f0565b5f818152600c60205260408120805492935091905b8181101561096a5782818154811061085857610858614b91565b905f5260205f2090600302016040518060600160405290815f8201548152602001600182015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016002820180546108b990614bbe565b80601f01602080910402602001604051908101604052809291908181526020018280546108e590614bbe565b80156109305780601f1061090757610100808354040283529160200191610930565b820191905f5260205f20905b81548152906001019060200180831161091357829003601f168201915b5050505050815250508a878061094590614c09565b98508151811061095757610957614b91565b602090810291909101015260010161083e565b50505050806001019050610815565b505050505090565b6109cd6040518060a001604052805f81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081525090565b806040526109da82613867565b5f82815260026020818152604092839020835160a08101855281548152600182015467ffffffffffffffff808216838601526801000000000000000082048116838801527001000000000000000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015610a9a57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a6f575b5050505050815250509050919050565b73ffffffffffffffffffffffffffffffffffffffff83165f908152601060205260408120606091610ada826137e7565b9050838118818511028418858111868203028067ffffffffffffffff811115610b0557610b05614678565b604051908082528060200260200182016040528015610b3e57816020015b610b2b614045565b815260200190600190039081610b235790505b5094505f5b81811015610c58575f868281518110610b5e57610b5e614b91565b60200260200101519050610b7d828a01876137f090919063ffffffff16565b8082525f90815260026020818152604092839020835160a08101855281548152600182015467ffffffffffffffff808216838601526801000000000000000082048116838801527001000000000000000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015610c4057602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c15575b50505091909252505050602090910152600101610b43565b50505050509392505050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610cdb576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b610ce4816138b3565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610d4a576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8181101561074b57610d83838383818110610d6957610d69614b91565b9050602002016020810190610d7e91906141e5565b6139a7565b600101610d4c565b5f610d9660056137e7565b905090565b610de76040518060a001604052805f81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081525090565b5f606082604052610df784613867565b5f84815260026020818152604080842060048352818520546003845294829020825160a08101845282548152600183015467ffffffffffffffff8082168388015268010000000000000000820481168387015270010000000000000000000000000000000090910416606082015294820180548451818702810187019095528085529296959194919387936080860193919291830182828015610ece57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610ea3575b5050505050815250509250808054610ee590614bbe565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1190614bbe565b8015610f5c5780601f10610f3357610100808354040283529160200191610f5c565b820191905f5260205f20905b815481529060010190602001808311610f3f57829003601f168201915b505050505090509250925092509193909250565b73ffffffffffffffffffffffffffffffffffffffff8083165f90815260076020526040902060020154839116610fde57610fde6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b33610fea600882613771565b61102c5761102c6040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff8085165f908152600760205260409020600301548591339116811461109e5761109e6040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff86165f90815260076020526040902080546110d19060ff1687613a90565b8054869082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600581111561110d5761110d61479b565b0217905550600281015460405173ffffffffffffffffffffffffffffffffffffffff909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090611160908990614c40565b60405180910390a250505050505050565b3361117d600d82613771565b6111bf576111bf6040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b815f819003611206576112066040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b5f5b818110156113eb573685858381811061122357611223614b91565b90506020028101906112359190614c4e565b90506112476060820160408301614c8a565b60ff161580611275575061125e6020820182614caa565b90506112706060830160408401614c8a565b60ff16115b156112b8576112b86040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b6112c28135613867565b80355f818152600260208190526040909120916112e0918301613c3c565b6112f782356112f26020850185614caa565b613ca2565b6113046020830183614caa565b600183015461135f9068010000000000000000900467ffffffffffffffff166113336060870160408801614c8a565b60ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00919091161790565b6001840180547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8416021790556113ae6002850184846140a7565b505050506113e16002835f0135836040516020016113cd929190614d0e565b604051602081830303815290604052613d0e565b5050600101611208565b5050505050565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1661145c5761145c6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b8661146681613d4c565b86866114728282613d99565b5f8a8152600260205260409020600181015488908b908b9067ffffffffffffff00680100000000000000009091041660ff8216176001850180547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff841602179055845f6114f76002830186866140a7565b5050939093555061150c91505f90508c613e20565b505f8b8152600360205260409020611525878983614e14565b505f8b81526004602052604090208890556115418b8b8b613ca2565b6115585f8c836040516020016113cd929190614d0e565b5050505050505050505050565b5f611571600883613771565b92915050565b33611583600882613771565b6115c5576115c56040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff8084165f90815260076020526040902060020154849116611633576116336040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff8085165f90815260076020526040902060030154859133911681146116a5576116a56040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff86165f9081526007602090815260409182902091516116db91889101614f2a565b60405160208183030381529060405280519060200120816001016040516020016117059190614f40565b604051602081830303815290604052805190602001200361175e5761175e6040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b6001810161176c8782614fcf565b50600281015460405173ffffffffffffffffffffffffffffffffffffffff909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac906111609089906150e9565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff16331461182d576040517f65f49065000000000000000000000000000000000000000000000000000000008152336004820152602401610cd2565b73ffffffffffffffffffffffffffffffffffffffff8116611886576118866040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b611891600d82613e2b565b6118d3576118d36040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506137a2565b60405173ffffffffffffffffffffffffffffffffffffffff8216907ff9889c857e5356066b564327caa757c325ecbc001b2b47d72edf8cf9aedb1be5905f90a250565b606081611924600a826137c5565b611966576119666040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506137a2565b5f838152600c6020908152604080832080548251818502810185019093528083529193909284015b82821015611a70575f848152602090819020604080516060810182526003860290920180548352600181015467ffffffffffffffff1693830193909352600283018054929392918401916119e190614bbe565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0d90614bbe565b8015611a585780601f10611a2f57610100808354040283529160200191611a58565b820191905f5260205f20905b815481529060010190602001808311611a3b57829003601f168201915b5050505050815250508152602001906001019061198e565b5050505091505b50919050565b611aa66040805160808101909152805f81526060602082018190525f6040830181905291015290565b611ab1600583613771565b611af357611af36040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff82165f90815260076020526040908190208151608081019092528054829060ff166005811115611b3a57611b3a61479b565b6005811115611b4b57611b4b61479b565b8152602001600182018054611b5f90614bbe565b80601f0160208091040260200160405190810160405280929190818152602001828054611b8b90614bbe565b8015611bd65780601f10611bad57610100808354040283529160200191611bd6565b820191905f5260205f20905b815481529060010190602001808311611bb957829003601f168201915b5050509183525050600282015473ffffffffffffffffffffffffffffffffffffffff908116602083015260039092015490911660409091015292915050565b81611c1f81613867565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff16611c8957611c896040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b5f84815260026020818152604080842073ffffffffffffffffffffffffffffffffffffffff88168552601090925290922090820190611cc89087613e20565b5080545f5b81811015611d6a578673ffffffffffffffffffffffffffffffffffffffff16838281548110611cfe57611cfe614b91565b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603611d6257611d626040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506137a2565b600101611ccd565b508154600180820184555f8481526020902090910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790558301548254611e099168010000000000000000900467ffffffffffffffff169060ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00919091161790565b8360010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550611e4b600288856040516020016113cd929190614d0e565b50505050505050565b33611e60600d82613771565b611ea257611ea26040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b7fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000167ffffffffffffffff851601611f1157611f116040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b5f829003611f5757611f576040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b611f62600a866137c5565b611f7357611f71600a86613e20565b505b5f858152600c60205260408120805490915b8181101561202b575f838281548110611fa057611fa0614b91565b5f9182526020909120600390910201600181015490915067ffffffffffffffff8981169116036120225760028101611fd9878983614e14565b507fc01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98898989895f6040516120119594939291906150fb565b60405180910390a1505050506113eb565b50600101611f85565b508160405180606001604052808981526020018867ffffffffffffffff16815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093909452505083546001808201865594825260209182902084516003909202019081559083015193810180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9095169490941790935550604081015190919060028201906120f89082614fcf565b5050507fc01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98878787875f6040516121329594939291906150fb565b60405180910390a150505050505050565b60605f61215060056137e7565b67ffffffffffffffff81111561216857612168614678565b6040519080825280602002602001820160405280156121c257816020015b6121af6040805160808101909152805f81526060602082018190525f6040830181905291015290565b8152602001906001900390816121865790505b5090505f5b6121d160056137e7565b811015611a775760075f6121e66005846137f0565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260409081015f208151608081019092528054829060ff16600581111561222e5761222e61479b565b600581111561223f5761223f61479b565b815260200160018201805461225390614bbe565b80601f016020809104026020016040519081016040528092919081815260200182805461227f90614bbe565b80156122ca5780601f106122a1576101008083540402835291602001916122ca565b820191905f5260205f20905b8154815290600101906020018083116122ad57829003601f168201915b5050509183525050600282015473ffffffffffffffffffffffffffffffffffffffff9081166020830152600390920154909116604090910152825183908390811061231757612317614b91565b60209081029190910101526001016121c7565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff16331461239c576040517f65f49065000000000000000000000000000000000000000000000000000000008152336004820152602401610cd2565b6123a581611565565b6123e7576123e76040518060400160405280601281526020017f4f50455241544f525f4e4f545f464f554e4400000000000000000000000000008152506137a2565b5f6123f260056137e7565b90505f5b8181101561249a5773ffffffffffffffffffffffffffffffffffffffff831660075f6124236005856137f0565b73ffffffffffffffffffffffffffffffffffffffff908116825260208201929092526040015f20600301541603612492576124926040518060400160405280600d81526020017f4f55545f4f465f424f554e4453000000000000000000000000000000000000008152506137a2565b6001016123f6565b506124a6600883613e2b565b5060405173ffffffffffffffffffffffffffffffffffffffff8316907f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d905f90a25050565b73ffffffffffffffffffffffffffffffffffffffff8082165f908152600760205260409020600301548291339116811461255d5761255d6040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff8381165f90815260076020526040902060020154166125c9576125c96040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b600573ffffffffffffffffffffffffffffffffffffffff84165f9081526007602052604090205460ff1660058111156126045761260461479b565b14612647576126476040518060400160405280601681526020017f4e4f44455f53544154455f4e4f545f414c4c4f574544000000000000000000008152506137a2565b612652600584613e2b565b5073ffffffffffffffffffffffffffffffffffffffff83165f90815260076020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168155906126ab600183018261412d565b506002810180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915560039091018054909116905560405173ffffffffffffffffffffffffffffffffffffffff8416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b905f90a2505050565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff16612794576127946040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b8361279e81613d4c565b6127ab6080840184614caa565b6127b58282613d99565b6127bf5f88613e20565b505f87815260026020526040902085906127d982826151f0565b50505f8781526004602052604090208690556127fc876112f26080880188614caa565b611e4b600188876040516020016113cd929190615383565b33612820600d82613771565b612862576128626040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b5f838152600c602052604081208054825b818110156129ef578567ffffffffffffffff1683828154811061289857612898614b91565b5f91825260209091206001600390920201015467ffffffffffffffff16036129e757826128c6600184615468565b815481106128d6576128d6614b91565b905f5260205f2090600302018382815481106128f4576128f4614b91565b5f9182526020909120825460039092020190815560018083015490820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9092169190911790556002808201906129599084018261547b565b509050508280548061296d5761296d6155a4565b5f8281526020812060037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909301928302018181556001810180547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000169055906129da600283018261412d565b50509055600193506129ef565b600101612873565b5082612a3357612a336040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506137a2565b6040805187815267ffffffffffffffff8716602082015260808183018190525f908201526001606082015290517fc01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe989181900360a00190a1505050505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16612af5576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8181101561074b57612b2e838383818110612b1457612b14614b91565b9050602002016020810190612b2991906141e5565b6138b3565b600101612af7565b5f610d96816137e7565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314612bb2576040517f65f49065000000000000000000000000000000000000000000000000000000008152336004820152602401610cd2565b610ce4816139a7565b73ffffffffffffffffffffffffffffffffffffffff81165f908152601060205260408120611571906137e7565b6060610d966005613e4c565b60605f80612c01816137e7565b9050838118818511028418858111868203025f8167ffffffffffffffff811115612c2d57612c2d614678565b604051908082528060200260200182016040528015612c6657816020015b612c53614045565b815260200190600190039081612c4b5790505b5090505f5b82811015612d7a575f828281518110612c8657612c86614b91565b60209081029190910101519050612c9f5f8b84016137f0565b8082525f90815260026020818152604092839020835160a08101855281548152600182015467ffffffffffffffff808216838601526801000000000000000082048116838801527001000000000000000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015612d6257602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311612d37575b50505091909252505050602090910152600101612c6b565b509450505083101590505b9250929050565b5f61157181836137c5565b5f611571600d83613771565b6060610d966008613e4c565b81612db981613867565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff16612e2357612e236040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b5f84815260026020818152604080842073ffffffffffffffffffffffffffffffffffffffff88168552601090925290922090820190612e6290876137dc565b5080545f90815b81811015612fd3578773ffffffffffffffffffffffffffffffffffffffff16848281548110612e9a57612e9a614b91565b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603612fcb5783612ecc600184615468565b81548110612edc57612edc614b91565b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848281548110612f1657612f16614b91565b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083805480612f6b57612f6b6155a4565b5f8281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905501905560019250612fd3565b600101612e69565b5081613017576130176040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b60018401805484547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff821660ff909116680100000000000000009283900467ffffffffffffff001617909102179055604051613080906002906113cd908b908890602001614d0e565b5050505050505050565b33613096600882613771565b6130d8576130d86040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff8481165f908152600760205260409020600201541615613145576131456040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506137a2565b5f60405180608001604052808460058111156131635761316361479b565b81526020810186905273ffffffffffffffffffffffffffffffffffffffff8716604082015233606090910152905061319c600586613e58565b5073ffffffffffffffffffffffffffffffffffffffff85165f908152600760205260409020815181548392919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360058111156132015761320161479b565b02179055506020820151600182019061321a9082614fcf565b506040828101516002830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff906132b790889088906155d1565b60405180910390a35050505050565b5f611571600a836137c5565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1661333c5761333c6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b815f819003613383576133836040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b5f8167ffffffffffffffff81111561339d5761339d614678565b60405190808252806020026020018201604052801561340757816020015b6133f46040518060a001604052805f81526020015f81526020015f81526020015f67ffffffffffffffff1681526020015f151581525090565b8152602001906001900390816133bb5790505b5090505f805b8381101561374f573687878381811061342857613428614b91565b60a00291909101915061343e90505f82356137c5565b6134ca577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa8135604083013561347a60808501606086016155f2565b604080518082018252600981527f4e4f545f464f554e440000000000000000000000000000000000000000000000602082015290516134bc949392919061560d565b60405180910390a150613747565b80355f90815260026020526040902060018082015470010000000000000000000000000000000090041615613582577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa8235604084013561353160808601606087016155f2565b604080518082018252600d81527f53545245414d5f5345414c45440000000000000000000000000000000000000060208201529051613573949392919061560d565b60405180910390a15050613747565b61359260808301606084016155f2565b600182015467ffffffffffffffff918216911610613624577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa823560408401356135e260808601606087016155f2565b604080518082018252600781527f4241445f4152470000000000000000000000000000000000000000000000000060208201529051613573949392919061560d565b600181015467ffffffffffffffff165f036136515781355f9081526003602052604081206136519161412d565b6040820135815561366860808301606084016155f2565b6001820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff929092169190911790556136b360a083016080840161564a565b1561370d57600181810180547fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff81167001000000000000000000000000000000009182900467ffffffffffffffff16909317029190911790555b61371c36839003830183615663565b858561372781614c09565b96508151811061373957613739614b91565b602002602001018190525050505b60010161340d565b508082526137696003836040516020016113cd91906156de565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260018301602052604081205415155b9392505050565b6308c379a06040820352602080820352601f19601f825101166044810160248303fd5b5f818152600183016020526040812054151561379b565b5f61379b8383613e79565b5f611571825490565b5f61379b8383613f5c565b80545f5b8181101561386157613858845f6010015f86858154811061382257613822614b91565b5f91825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902090613e20565b506001016137ff565b50505050565b6138715f826137c5565b610ce457610ce46040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff811661390c5761390c6040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b61391581611565565b15613958576139586040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506137a2565b613963600882613e58565b5060405173ffffffffffffffffffffffffffffffffffffffff8216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d905f90a250565b73ffffffffffffffffffffffffffffffffffffffff8116613a0057613a006040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b613a0b600d82613e58565b613a4d57613a4d6040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506137a2565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a2905f90a250565b5f826005811115613aa357613aa361479b565b1480613b1357506001826005811115613abe57613abe61479b565b148015613b1357506003816005811115613ada57613ada61479b565b1480613af757506004816005811115613af557613af561479b565b145b80613b1357506002816005811115613b1157613b1161479b565b145b80613b6657506002826005811115613b2d57613b2d61479b565b148015613b6657506003816005811115613b4957613b4961479b565b1480613b6657506004816005811115613b6457613b6461479b565b145b80613bb957506004826005811115613b8057613b8061479b565b148015613bb957506003816005811115613b9c57613b9c61479b565b1480613bb957506005816005811115613bb757613bb761479b565b145b80613bf157506003826005811115613bd357613bd361479b565b148015613bf157506005816005811115613bef57613bef61479b565b145b15613bfa575050565b613c386040518060400160405280601681526020017f4e4f44455f53544154455f4e4f545f414c4c4f574544000000000000000000008152506137a2565b5050565b80545f5b8181101561386157613c99845f6010015f868581548110613c6357613c63614b91565b5f91825260208083209091015473ffffffffffffffffffffffffffffffffffffffff1683528201929092526040019020906137dc565b50600101613c40565b5f5b8181101561386157613d058460105f868686818110613cc557613cc5614b91565b9050602002016020810190613cda91906141e5565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2090613e20565b50600101613ca4565b5f7f378ece20ebca29c2f887798617154658265a73d80c84fad8c9c49639ffdb29bb9050602082038051602082528483604086510184a29052505050565b613d565f826137c5565b15610ce457610ce46040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506137a2565b805f5b8181101561386157613dd6848483818110613db957613db9614b91565b9050602002016020810190613dce91906141e5565b600590613771565b613e1857613e186040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b600101613d9c565b5f61379b8383613f82565b5f61379b8373ffffffffffffffffffffffffffffffffffffffff8416613e79565b60605f61379b83613fce565b5f61379b8373ffffffffffffffffffffffffffffffffffffffff8416613f82565b5f8181526001830160205260408120548015613f53575f613e9b600183615468565b85549091505f90613eae90600190615468565b9050808214613f0d575f865f018281548110613ecc57613ecc614b91565b905f5260205f200154905080875f018481548110613eec57613eec614b91565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080613f1e57613f1e6155a4565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050611571565b5f915050611571565b5f825f018281548110613f7157613f71614b91565b905f5260205f200154905092915050565b5f818152600183016020526040812054613fc757508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155611571565b505f611571565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561401b57602002820191905f5260205f20905b815481526020019060010190808311614007575b50505050509050919050565b5080545f8255600302905f5260205f2090810190610ce49190614164565b60405180604001604052805f81526020016140a26040518060a001604052805f81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081525090565b905290565b828054828255905f5260205f2090810192821561411d579160200282015b8281111561411d5781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8435161782556020909201916001909101906140c5565b506141299291506141b0565b5090565b50805461413990614bbe565b5f825580601f10614148575050565b601f0160209004905f5260205f2090810190610ce491906141b0565b80821115614129575f8082556001820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001690556141a7600283018261412d565b50600301614164565b5b80821115614129575f81556001016141b1565b73ffffffffffffffffffffffffffffffffffffffff81168114610ce4575f5ffd5b5f602082840312156141f5575f5ffd5b813561379b816141c4565b5f60208284031215614210575f5ffd5b5035919050565b5f5f60408385031215614228575f5ffd5b50508035926020909101359150565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015614323577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845281518051865267ffffffffffffffff6020820151166020870152604081015190506060604087015261430d6060870182614237565b95505060209384019391909101906001016142a9565b50929695505050505050565b5f60a083018251845267ffffffffffffffff602084015116602085015267ffffffffffffffff604084015116604085015267ffffffffffffffff6060840151166060850152608083015160a0608086015281815180845260c0870191506020830193505f92505b808310156143cf5773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250614396565b5095945050505050565b602081525f61379b602083018461432f565b5f5f5f606084860312156143fd575f5ffd5b8335614408816141c4565b95602085013595506040909401359392505050565b5f82825180855260208501945060208160051b830101602085015f5b838110156144a0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030188528151805184526020810151905060406020850152614489604085018261432f565b6020998a0199909450929092019150600101614439565b50909695505050505050565b602081525f61379b602083018461441d565b5f5f83601f8401126144ce575f5ffd5b50813567ffffffffffffffff8111156144e5575f5ffd5b6020830191508360208260051b8501011115612d85575f5ffd5b5f5f60208385031215614510575f5ffd5b823567ffffffffffffffff811115614526575f5ffd5b614532858286016144be565b90969095509350505050565b606081525f614550606083018661432f565b84602084015282810360408401526145688185614237565b9695505050505050565b803560068110614580575f5ffd5b919050565b5f5f60408385031215614596575f5ffd5b82356145a1816141c4565b91506145af60208401614572565b90509250929050565b5f5f83601f8401126145c8575f5ffd5b50813567ffffffffffffffff8111156145df575f5ffd5b602083019150836020828501011115612d85575f5ffd5b5f5f5f5f5f5f6080878903121561460b575f5ffd5b86359550602087013567ffffffffffffffff811115614628575f5ffd5b61463489828a016144be565b90965094505060408701359250606087013567ffffffffffffffff81111561465a575f5ffd5b61466689828a016145b8565b979a9699509497509295939492505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f8301126146b4575f5ffd5b813567ffffffffffffffff8111156146ce576146ce614678565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff8111828210171561471b5761471b614678565b604052818152838201602001851015614732575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f6040838503121561475f575f5ffd5b823561476a816141c4565b9150602083013567ffffffffffffffff811115614785575f5ffd5b614791858286016146a5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600681106147fd577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b61480c8282516147c8565b5f6020820151608060208501526148266080850182614237565b905073ffffffffffffffffffffffffffffffffffffffff604084015116604085015273ffffffffffffffffffffffffffffffffffffffff60608401511660608501528091505092915050565b602081525f61379b6020830184614801565b5f5f60408385031215614895575f5ffd5b8235915060208301356148a7816141c4565b809150509250929050565b67ffffffffffffffff81168114610ce4575f5ffd5b5f5f5f5f606085870312156148da575f5ffd5b8435935060208501356148ec816148b2565b9250604085013567ffffffffffffffff811115614907575f5ffd5b614913878288016145b8565b95989497509550505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015614323577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261497f858351614801565b94506020938401939190910190600101614945565b5f5f5f606084860312156149a6575f5ffd5b8335925060208401359150604084013567ffffffffffffffff8111156149ca575f5ffd5b840160a081870312156149db575f5ffd5b809150509250925092565b5f5f604083850312156149f7575f5ffd5b8235915060208301356148a7816148b2565b602080825282518282018190525f918401906040840190835b81811015614a5657835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101614a22565b509095945050505050565b604081525f614a73604083018561441d565b905082151560208301529392505050565b5f5f5f60608486031215614a96575f5ffd5b8335614aa1816141c4565b9250602084013567ffffffffffffffff811115614abc575f5ffd5b614ac8868287016146a5565b925050614ad760408501614572565b90509250925092565b5f5f60208385031215614af1575f5ffd5b823567ffffffffffffffff811115614b07575f5ffd5b8301601f81018513614b17575f5ffd5b803567ffffffffffffffff811115614b2d575f5ffd5b85602060a083028401011115614b41575f5ffd5b6020919091019590945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561157157611571614b51565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b600181811c90821680614bd257607f821691505b602082108103611a77577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614c3957614c39614b51565b5060010190565b6020810161157182846147c8565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614c80575f5ffd5b9190910192915050565b5f60208284031215614c9a575f5ffd5b813560ff8116811461379b575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614cdd575f5ffd5b83018035915067ffffffffffffffff821115614cf7575f5ffd5b6020019150600581901b3603821315612d85575f5ffd5b828152604060208201525f60e0820183546040840152600184015467ffffffffffffffff8116606085015267ffffffffffffffff8160401c16608085015267ffffffffffffffff8160801c1660a0850152506002840160a060c085015281815480845261010086019150825f5260205f2093505f92505b80831015614dbe5773ffffffffffffffffffffffffffffffffffffffff8454168252602082019150600184019350600183019250614d85565b509695505050505050565b5b81811015613c38575f8155600101614dca565b601f82111561074b57805f5260205f20601f840160051c81016020851015614e025750805b6113eb601f850160051c830182614dc9565b67ffffffffffffffff831115614e2c57614e2c614678565b614e4083614e3a8354614bbe565b83614ddd565b5f601f841160018114614e90575f8515614e5a5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556113eb565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b82811015614edd5786850135825560209485019460019092019101614ebd565b5086821015614f18577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f82518060208501845e5f920191825250919050565b5f5f8354614f4d81614bbe565b600182168015614f645760018114614f9757614fc4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614fc4565b865f5260205f205f5b83811015614fbc57815488820152600190910190602001614fa0565b505081860193505b509195945050505050565b815167ffffffffffffffff811115614fe957614fe9614678565b614ffd81614ff78454614bbe565b84614ddd565b6020601f821160018114615051575f83156150185750848201515b600184901b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c198216175b8555506113eb565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561509e578785015182556020948501946001909201910161507e565b50848210156150da57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b602081525f61379b6020830184614237565b85815267ffffffffffffffff8516602082015260806040820152826080820152828460a08301375f60a084830101525f60a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116830101905082151560608301529695505050505050565b67ffffffffffffffff83111561518257615182614678565b6801000000000000000083111561519b5761519b614678565b8054838255808410156151bf57815f5260205f206151bd828201868301614dc9565b505b5081815f5260205f205f5b858110156137695782356151dd816141c4565b82820155602092909201916001016151ca565b81358155600181016020830135615206816148b2565b81546040850135615216816148b2565b6fffffffffffffffff00000000000000008160401b1667ffffffffffffffff84167fffffffffffffffffffffffffffffffff000000000000000000000000000000008416171784555050505f6060840135615270816148b2565b82547fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16608091821b77ffffffffffffffff000000000000000000000000000000001617909255505f908190840135368590037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe10181126152ef575f5ffd5b84018035915067ffffffffffffffff821115615309575f5ffd5b6020019150600581901b3603821315615320575f5ffd5b61386181836002860161516a565b8183526020830192505f815f5b8481101561537957813561534e816141c4565b73ffffffffffffffffffffffffffffffffffffffff168652602095860195919091019060010161533b565b5093949350505050565b828152604060208201525f5f833590508060408401525060208301356153a8816148b2565b67ffffffffffffffff16606083015260408301356153c5816148b2565b67ffffffffffffffff16608083015260608301356153e2816148b2565b67ffffffffffffffff1660a08301526080830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112615426575f5ffd5b830160208101903567ffffffffffffffff811115615442575f5ffd5b8060051b3603821315615453575f5ffd5b60a060c085015261456860e08501828461532e565b8181038181111561157157611571614b51565b818103615486575050565b6154908254614bbe565b67ffffffffffffffff8111156154a8576154a8614678565b6154b681614ff78454614bbe565b5f601f821160018114615504575f8315615018575081850154600184901b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c19821617615049565b5f85815260208082208683529082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616925b838110156155585782860154825560019586019590910190602001615538565b508583101561559457818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b604081525f6155e36040830185614237565b905061379b60208301846147c8565b5f60208284031215615602575f5ffd5b813561379b816148b2565b84815283602082015267ffffffffffffffff83166040820152608060608201525f6145686080830184614237565b80358015158114614580575f5ffd5b5f6020828403121561565a575f5ffd5b61379b8261563b565b5f60a0828403128015615674575f5ffd5b5060405160a0810167ffffffffffffffff8111828210171561569857615698614678565b60409081528335825260208085013590830152838101359082015260608301356156c1816148b2565b60608201526156d26080840161563b565b60808201529392505050565b602080825282518282018190525f918401906040840190835b81811015614a5657835180518452602081015160208501526040810151604085015267ffffffffffffffff60608201511660608501526080810151151560808501525060a0830192506020840193506001810190506156f7564675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300","sourceMap":"520:872:559:-:0;;;1014:376;;;;;;;;;;;;;;;;;;:::i;:::-;330:22:113;:20;:22::i;:::-;1080:30:559;1099:10;1080:18;:30::i;:::-;1137:24;;1120:14;1171:213;1191:6;1187:1;:10;1171:213;;;1218:24;1245:17;1263:1;1245:20;;;;;;;;:::i;:::-;;;;;;;1218:47;;1279:34;1296:16;1279;;;:34;;:::i;:::-;1327:46;1356:16;1327:28;:46::i;:::-;-1:-1:-1;1199:3:559;;1171:213;;;;1070:320;1014:376;520:872;;1795:344:118;304:66:119;1929:14:118;;;;;;;1925:62;;;1952:35;;-1:-1:-1;;;1952:35:118;;;;;;;;;;;1925:62;2002:9;;2014:16;2002:9;;;:28;1998:135;;;2046:28;;-1:-1:-1;;2046:28:118;2058:16;2046:28;;;;;2093:29;;1744:42:612;;;2093:29:118;;1732:2:612;1717:18;2093:29:118;;;;;;;1998:135;1836:303;1795:344::o;508:271:128:-;573:16;592:8;-1:-1:-1;;;;;;;;;;;466:29:128;-1:-1:-1;;;;;466:29:128;;393:109;592:8;573:27;-1:-1:-1;;;;;;614:22:128;;610:57;;645:22;;-1:-1:-1;;;645:22:128;;;;;;;;;;;610:57;709:8;-1:-1:-1;;;;;;;;;;;677:40:128;;-1:-1:-1;;;;;;677:40:128;-1:-1:-1;;;;;677:40:128;;;;;;732;;;;;;;;;;;-1:-1:-1;;732:40:128;563:216;508:271;:::o;2997:335:416:-;-1:-1:-1;;;;;3101:22:416;;3097:68;;3125:27;;;;;;;;;;;;-1:-1:-1;;;3125:27:416;;;;:40;;:38;:40::i;:::-;3180:20;3191:8;3180:10;:20::i;:::-;3176:73;;;3202:34;;;;;;;;;;;;-1:-1:-1;;;3202:34:416;;;;:47;;:45;:47::i;:::-;3260:26;:12;3277:8;3260:16;:26::i;:::-;-1:-1:-1;3302:23:416;;-1:-1:-1;;;;;3302:23:416;;;;;;;;2997:335;:::o;6222:324:412:-;-1:-1:-1;;;;;6300:21:412;;6296:67;;6323:27;;;;;;;;;;;;-1:-1:-1;;;6323:27:412;;;;:40;;:38;:40::i;:::-;6379:37;:24;6408:7;6379:28;:37::i;:::-;6374:116;;6432:34;;;;;;;;;;;;-1:-1:-1;;;6432:34:412;;;;:47;;:45;:47::i;:::-;6505:34;;-1:-1:-1;;;;;6505:34:412;;;;;;;;6222:324;:::o;1520:407:522:-;1653:10;1646:4;1637:7;1633:18;1626:38;1721:4;1714;1705:7;1701:18;1694:32;1850:4;1846:9;1839:4;1829:7;1823:14;1819:25;1815:41;1905:4;1900:3;1896:14;1889:4;1880:7;1876:18;1869:42;2431:120:416;2490:4;2513:31;:12;2535:8;2513:21;:31::i;:::-;2506:38;2431:120;-1:-1:-1;;2431:120:416:o;9332:150:60:-;9402:4;9425:50;9430:3;-1:-1:-1;;;;;9450:23:60;;9425:4;:50::i;:::-;9418:57;9332:150;-1:-1:-1;;;9332:150:60:o;10284:165::-;-1:-1:-1;;;;;10417:23:60;;10364:4;5006:21;;;:14;;;:21;;;;;;:26;;10387:55;4910:129;2336:406;2399:4;5006:21;;;:14;;;:21;;;;;;2415:321;;-1:-1:-1;2457:23:60;;;;;;;;:11;:23;;;;;;;;;;;;;2639:18;;2615:21;;;:14;;;:21;;;;;;:42;;;;2671:11;;2415:321;-1:-1:-1;2720:5:60;2713:12;;14:127:612;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:612;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:1135::-;423:6;476:2;464:9;455:7;451:23;447:32;444:52;;;492:1;489;482:12;444:52;519:16;;-1:-1:-1;;;;;547:30:612;;544:50;;;590:1;587;580:12;544:50;613:22;;666:4;658:13;;654:27;-1:-1:-1;644:55:612;;695:1;692;685:12;644:55;722:9;;-1:-1:-1;;;;;743:30:612;;740:56;;;776:18;;:::i;:::-;858:2;852:9;819:1;815:14;;;;912:2;904:11;;-1:-1:-1;;900:25:612;888:38;;-1:-1:-1;;;;;941:34:612;;977:22;;;938:62;935:88;;;1003:18;;:::i;:::-;1039:2;1032:22;1089;;;1139:2;1169:11;;;1165:20;;;1089:22;1127:15;;1197:19;;;1194:39;;;1229:1;1226;1219:12;1194:39;1261:2;1257;1253:11;1242:22;;1273:159;1289:6;1284:3;1281:15;1273:159;;;1355:34;1385:3;1355:34;:::i;:::-;1343:47;;1419:2;1306:12;;;;1410;1273:159;;;-1:-1:-1;1451:6:612;328:1135;-1:-1:-1;;;;;;328:1135:612:o;1468:127::-;1529:10;1524:3;1520:20;1517:1;1510:31;1560:4;1557:1;1550:15;1584:4;1581:1;1574:15;1600:192;520:872:559;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b5060043610610283575f3560e01c8063a09449a611610157578063c87d1324116100d2578063d911c63211610088578063eecc66f41161006e578063eecc66f414610598578063fc207c01146105ab578063ff3a14ab146105be575f5ffd5b8063d911c6321461057d578063ee885b1214610585575f5ffd5b8063ca78c41a116100b8578063ca78c41a14610536578063d0c27c4f14610557578063d4bd44a01461056a575f5ffd5b8063c87d13241461050e578063c8fe3a0114610521575f5ffd5b8063b2e76b8e11610127578063ba428b1a1161010d578063ba428b1a146104e0578063c0f22084146104f3578063c179b85f146104fb575f5ffd5b8063b2e76b8e146104ba578063b7f227ee146104cd575f5ffd5b8063a09449a61461046c578063a1174e7d1461047f578063ac8a584a14610494578063b2b99ec9146104a7575f5ffd5b80633c2544d1116102015780637e4465e7116101b75780639283ae3a1161019d5780639283ae3a146104265780639d209048146104395780639ee86d3814610459575f5ffd5b80637e4465e714610400578063813049ec14610413575f5ffd5b80635c665ce9116101e75780635c665ce9146103c75780636b883c39146103da5780636d70f7ae146103ed575f5ffd5b80633c2544d114610392578063581f8b9b146103b4575f5ffd5b80631290abe811610256578063242cae9f1161023c578063242cae9f14610356578063313745111461036957806339bf397e1461037c575f5ffd5b80631290abe81461031657806322bbda6414610336575f5ffd5b80630175015214610287578063035759e1146102d957806303cc8793146102ee578063081814db14610301575b5f5ffd5b6102c46102953660046141e5565b73ffffffffffffffffffffffffffffffffffffffff9081165f9081526007602052604090206002015416151590565b60405190151581526020015b60405180910390f35b6102ec6102e7366004614200565b6105d1565b005b6102ec6102fc366004614217565b6106e9565b610309610750565b6040516102d09190614283565b610329610324366004614200565b610981565b6040516102d091906143d9565b6103496103443660046143eb565b610aaa565b6040516102d091906144ac565b6102ec6103643660046141e5565b610c64565b6102ec6103773660046144ff565b610ce7565b610384610d8b565b6040519081526020016102d0565b6103a56103a0366004614200565b610d9b565b6040516102d09392919061453e565b6102ec6103c2366004614585565b610f70565b6102ec6103d53660046144ff565b611171565b6102ec6103e83660046145f6565b6113f2565b6102c46103fb3660046141e5565b611565565b6102ec61040e36600461474e565b611577565b6102ec6104213660046141e5565b6117bb565b610309610434366004614200565b611916565b61044c6104473660046141e5565b611a7d565b6040516102d09190614872565b6102ec610467366004614884565b611c15565b6102ec61047a3660046148c7565b611e54565b610487612143565b6040516102d0919061491f565b6102ec6104a23660046141e5565b61232a565b6102ec6104b53660046141e5565b6124eb565b6102ec6104c8366004614994565b61272a565b6102ec6104db3660046149e6565b612814565b6102ec6104ee3660046144ff565b612a92565b610384612b36565b6102ec6105093660046141e5565b612b40565b61038461051c3660046141e5565b612bbb565b610529612be8565b6040516102d09190614a09565b610549610544366004614217565b612bf4565b6040516102d0929190614a61565b6102c4610565366004614200565b612d8c565b6102c46105783660046141e5565b612d97565b610529612da3565b6102ec610593366004614884565b612daf565b6102ec6105a6366004614a84565b61308a565b6102c46105b9366004614200565b6132c6565b6102ec6105cc366004614ae0565b6132d2565b336105dd600d82613771565b61061f5761061f6040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b8161062b600a826137c5565b61066d5761066d6040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506137a2565b5f838152600c6020526040812061068391614027565b61068e600a846137dc565b506040805184815267ffffffffffffffff602082015260808183018190525f908201526001606082015290517fc01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe989181900360a00190a1505050565b5f806106f4816137e7565b838118908411028318848111908590030284019150505b8083101561074b575f61071e81856137f0565b5f81815260026020819052604090912091925061073e90839083016137fb565b505082600101925061070b565b505050565b60605f8061075e600a6137e7565b90505f5b8181101561079c575f610776600a836137f0565b5f818152600c60205260409020549091506107919085614b7e565b935050600101610762565b508167ffffffffffffffff8111156107b6576107b6614678565b60405190808252806020026020018201604052801561080257816020015b60408051606080820183525f8083526020830152918101919091528152602001906001900390816107d45790505b5092505f610810600a6137e7565b90505f805b82811015610979575f610829600a836137f0565b5f818152600c60205260408120805492935091905b8181101561096a5782818154811061085857610858614b91565b905f5260205f2090600302016040518060600160405290815f8201548152602001600182015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016002820180546108b990614bbe565b80601f01602080910402602001604051908101604052809291908181526020018280546108e590614bbe565b80156109305780601f1061090757610100808354040283529160200191610930565b820191905f5260205f20905b81548152906001019060200180831161091357829003601f168201915b5050505050815250508a878061094590614c09565b98508151811061095757610957614b91565b602090810291909101015260010161083e565b50505050806001019050610815565b505050505090565b6109cd6040518060a001604052805f81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081525090565b806040526109da82613867565b5f82815260026020818152604092839020835160a08101855281548152600182015467ffffffffffffffff808216838601526801000000000000000082048116838801527001000000000000000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015610a9a57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a6f575b5050505050815250509050919050565b73ffffffffffffffffffffffffffffffffffffffff83165f908152601060205260408120606091610ada826137e7565b9050838118818511028418858111868203028067ffffffffffffffff811115610b0557610b05614678565b604051908082528060200260200182016040528015610b3e57816020015b610b2b614045565b815260200190600190039081610b235790505b5094505f5b81811015610c58575f868281518110610b5e57610b5e614b91565b60200260200101519050610b7d828a01876137f090919063ffffffff16565b8082525f90815260026020818152604092839020835160a08101855281548152600182015467ffffffffffffffff808216838601526801000000000000000082048116838801527001000000000000000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015610c4057602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c15575b50505091909252505050602090910152600101610b43565b50505050509392505050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610cdb576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b610ce4816138b3565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610d4a576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8181101561074b57610d83838383818110610d6957610d69614b91565b9050602002016020810190610d7e91906141e5565b6139a7565b600101610d4c565b5f610d9660056137e7565b905090565b610de76040518060a001604052805f81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081525090565b5f606082604052610df784613867565b5f84815260026020818152604080842060048352818520546003845294829020825160a08101845282548152600183015467ffffffffffffffff8082168388015268010000000000000000820481168387015270010000000000000000000000000000000090910416606082015294820180548451818702810187019095528085529296959194919387936080860193919291830182828015610ece57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610ea3575b5050505050815250509250808054610ee590614bbe565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1190614bbe565b8015610f5c5780601f10610f3357610100808354040283529160200191610f5c565b820191905f5260205f20905b815481529060010190602001808311610f3f57829003601f168201915b505050505090509250925092509193909250565b73ffffffffffffffffffffffffffffffffffffffff8083165f90815260076020526040902060020154839116610fde57610fde6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b33610fea600882613771565b61102c5761102c6040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff8085165f908152600760205260409020600301548591339116811461109e5761109e6040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff86165f90815260076020526040902080546110d19060ff1687613a90565b8054869082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600581111561110d5761110d61479b565b0217905550600281015460405173ffffffffffffffffffffffffffffffffffffffff909116907f20891cc7622c7951cbd8c70c61a5201eb45625b8c00e8f6c986cfca78f3dbfa090611160908990614c40565b60405180910390a250505050505050565b3361117d600d82613771565b6111bf576111bf6040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b815f819003611206576112066040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b5f5b818110156113eb573685858381811061122357611223614b91565b90506020028101906112359190614c4e565b90506112476060820160408301614c8a565b60ff161580611275575061125e6020820182614caa565b90506112706060830160408401614c8a565b60ff16115b156112b8576112b86040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b6112c28135613867565b80355f818152600260208190526040909120916112e0918301613c3c565b6112f782356112f26020850185614caa565b613ca2565b6113046020830183614caa565b600183015461135f9068010000000000000000900467ffffffffffffffff166113336060870160408801614c8a565b60ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00919091161790565b6001840180547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8416021790556113ae6002850184846140a7565b505050506113e16002835f0135836040516020016113cd929190614d0e565b604051602081830303815290604052613d0e565b5050600101611208565b5050505050565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1661145c5761145c6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b8661146681613d4c565b86866114728282613d99565b5f8a8152600260205260409020600181015488908b908b9067ffffffffffffff00680100000000000000009091041660ff8216176001850180547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff841602179055845f6114f76002830186866140a7565b5050939093555061150c91505f90508c613e20565b505f8b8152600360205260409020611525878983614e14565b505f8b81526004602052604090208890556115418b8b8b613ca2565b6115585f8c836040516020016113cd929190614d0e565b5050505050505050505050565b5f611571600883613771565b92915050565b33611583600882613771565b6115c5576115c56040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff8084165f90815260076020526040902060020154849116611633576116336040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff8085165f90815260076020526040902060030154859133911681146116a5576116a56040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff86165f9081526007602090815260409182902091516116db91889101614f2a565b60405160208183030381529060405280519060200120816001016040516020016117059190614f40565b604051602081830303815290604052805190602001200361175e5761175e6040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b6001810161176c8782614fcf565b50600281015460405173ffffffffffffffffffffffffffffffffffffffff909116907f4505168a8705a16fd4d0575197fd0f510db69df93a065e158ad2c0957ba12bac906111609089906150e9565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff16331461182d576040517f65f49065000000000000000000000000000000000000000000000000000000008152336004820152602401610cd2565b73ffffffffffffffffffffffffffffffffffffffff8116611886576118866040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b611891600d82613e2b565b6118d3576118d36040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506137a2565b60405173ffffffffffffffffffffffffffffffffffffffff8216907ff9889c857e5356066b564327caa757c325ecbc001b2b47d72edf8cf9aedb1be5905f90a250565b606081611924600a826137c5565b611966576119666040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506137a2565b5f838152600c6020908152604080832080548251818502810185019093528083529193909284015b82821015611a70575f848152602090819020604080516060810182526003860290920180548352600181015467ffffffffffffffff1693830193909352600283018054929392918401916119e190614bbe565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0d90614bbe565b8015611a585780601f10611a2f57610100808354040283529160200191611a58565b820191905f5260205f20905b815481529060010190602001808311611a3b57829003601f168201915b5050505050815250508152602001906001019061198e565b5050505091505b50919050565b611aa66040805160808101909152805f81526060602082018190525f6040830181905291015290565b611ab1600583613771565b611af357611af36040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff82165f90815260076020526040908190208151608081019092528054829060ff166005811115611b3a57611b3a61479b565b6005811115611b4b57611b4b61479b565b8152602001600182018054611b5f90614bbe565b80601f0160208091040260200160405190810160405280929190818152602001828054611b8b90614bbe565b8015611bd65780601f10611bad57610100808354040283529160200191611bd6565b820191905f5260205f20905b815481529060010190602001808311611bb957829003601f168201915b5050509183525050600282015473ffffffffffffffffffffffffffffffffffffffff908116602083015260039092015490911660409091015292915050565b81611c1f81613867565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff16611c8957611c896040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b5f84815260026020818152604080842073ffffffffffffffffffffffffffffffffffffffff88168552601090925290922090820190611cc89087613e20565b5080545f5b81811015611d6a578673ffffffffffffffffffffffffffffffffffffffff16838281548110611cfe57611cfe614b91565b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603611d6257611d626040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506137a2565b600101611ccd565b508154600180820184555f8481526020902090910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790558301548254611e099168010000000000000000900467ffffffffffffffff169060ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00919091161790565b8360010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550611e4b600288856040516020016113cd929190614d0e565b50505050505050565b33611e60600d82613771565b611ea257611ea26040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b7fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000167ffffffffffffffff851601611f1157611f116040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b5f829003611f5757611f576040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b611f62600a866137c5565b611f7357611f71600a86613e20565b505b5f858152600c60205260408120805490915b8181101561202b575f838281548110611fa057611fa0614b91565b5f9182526020909120600390910201600181015490915067ffffffffffffffff8981169116036120225760028101611fd9878983614e14565b507fc01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98898989895f6040516120119594939291906150fb565b60405180910390a1505050506113eb565b50600101611f85565b508160405180606001604052808981526020018867ffffffffffffffff16815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093909452505083546001808201865594825260209182902084516003909202019081559083015193810180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9095169490941790935550604081015190919060028201906120f89082614fcf565b5050507fc01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe98878787875f6040516121329594939291906150fb565b60405180910390a150505050505050565b60605f61215060056137e7565b67ffffffffffffffff81111561216857612168614678565b6040519080825280602002602001820160405280156121c257816020015b6121af6040805160808101909152805f81526060602082018190525f6040830181905291015290565b8152602001906001900390816121865790505b5090505f5b6121d160056137e7565b811015611a775760075f6121e66005846137f0565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260409081015f208151608081019092528054829060ff16600581111561222e5761222e61479b565b600581111561223f5761223f61479b565b815260200160018201805461225390614bbe565b80601f016020809104026020016040519081016040528092919081815260200182805461227f90614bbe565b80156122ca5780601f106122a1576101008083540402835291602001916122ca565b820191905f5260205f20905b8154815290600101906020018083116122ad57829003601f168201915b5050509183525050600282015473ffffffffffffffffffffffffffffffffffffffff9081166020830152600390920154909116604090910152825183908390811061231757612317614b91565b60209081029190910101526001016121c7565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff16331461239c576040517f65f49065000000000000000000000000000000000000000000000000000000008152336004820152602401610cd2565b6123a581611565565b6123e7576123e76040518060400160405280601281526020017f4f50455241544f525f4e4f545f464f554e4400000000000000000000000000008152506137a2565b5f6123f260056137e7565b90505f5b8181101561249a5773ffffffffffffffffffffffffffffffffffffffff831660075f6124236005856137f0565b73ffffffffffffffffffffffffffffffffffffffff908116825260208201929092526040015f20600301541603612492576124926040518060400160405280600d81526020017f4f55545f4f465f424f554e4453000000000000000000000000000000000000008152506137a2565b6001016123f6565b506124a6600883613e2b565b5060405173ffffffffffffffffffffffffffffffffffffffff8316907f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d905f90a25050565b73ffffffffffffffffffffffffffffffffffffffff8082165f908152600760205260409020600301548291339116811461255d5761255d6040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff8381165f90815260076020526040902060020154166125c9576125c96040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b600573ffffffffffffffffffffffffffffffffffffffff84165f9081526007602052604090205460ff1660058111156126045761260461479b565b14612647576126476040518060400160405280601681526020017f4e4f44455f53544154455f4e4f545f414c4c4f574544000000000000000000008152506137a2565b612652600584613e2b565b5073ffffffffffffffffffffffffffffffffffffffff83165f90815260076020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168155906126ab600183018261412d565b506002810180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915560039091018054909116905560405173ffffffffffffffffffffffffffffffffffffffff8416907fcfc24166db4bb677e857cacabd1541fb2b30645021b27c5130419589b84db52b905f90a2505050565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff16612794576127946040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b8361279e81613d4c565b6127ab6080840184614caa565b6127b58282613d99565b6127bf5f88613e20565b505f87815260026020526040902085906127d982826151f0565b50505f8781526004602052604090208690556127fc876112f26080880188614caa565b611e4b600188876040516020016113cd929190615383565b33612820600d82613771565b612862576128626040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b5f838152600c602052604081208054825b818110156129ef578567ffffffffffffffff1683828154811061289857612898614b91565b5f91825260209091206001600390920201015467ffffffffffffffff16036129e757826128c6600184615468565b815481106128d6576128d6614b91565b905f5260205f2090600302018382815481106128f4576128f4614b91565b5f9182526020909120825460039092020190815560018083015490820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9092169190911790556002808201906129599084018261547b565b509050508280548061296d5761296d6155a4565b5f8281526020812060037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909301928302018181556001810180547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000169055906129da600283018261412d565b50509055600193506129ef565b600101612873565b5082612a3357612a336040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506137a2565b6040805187815267ffffffffffffffff8716602082015260808183018190525f908201526001606082015290517fc01483261a841a868b99cb8802faed4ea44a1a816651c4f7ee061a96a205fe989181900360a00190a1505050505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16612af5576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8181101561074b57612b2e838383818110612b1457612b14614b91565b9050602002016020810190612b2991906141e5565b6138b3565b600101612af7565b5f610d96816137e7565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314612bb2576040517f65f49065000000000000000000000000000000000000000000000000000000008152336004820152602401610cd2565b610ce4816139a7565b73ffffffffffffffffffffffffffffffffffffffff81165f908152601060205260408120611571906137e7565b6060610d966005613e4c565b60605f80612c01816137e7565b9050838118818511028418858111868203025f8167ffffffffffffffff811115612c2d57612c2d614678565b604051908082528060200260200182016040528015612c6657816020015b612c53614045565b815260200190600190039081612c4b5790505b5090505f5b82811015612d7a575f828281518110612c8657612c86614b91565b60209081029190910101519050612c9f5f8b84016137f0565b8082525f90815260026020818152604092839020835160a08101855281548152600182015467ffffffffffffffff808216838601526801000000000000000082048116838801527001000000000000000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015612d6257602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311612d37575b50505091909252505050602090910152600101612c6b565b509450505083101590505b9250929050565b5f61157181836137c5565b5f611571600d83613771565b6060610d966008613e4c565b81612db981613867565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff16612e2357612e236040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b5f84815260026020818152604080842073ffffffffffffffffffffffffffffffffffffffff88168552601090925290922090820190612e6290876137dc565b5080545f90815b81811015612fd3578773ffffffffffffffffffffffffffffffffffffffff16848281548110612e9a57612e9a614b91565b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603612fcb5783612ecc600184615468565b81548110612edc57612edc614b91565b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848281548110612f1657612f16614b91565b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083805480612f6b57612f6b6155a4565b5f8281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905501905560019250612fd3565b600101612e69565b5081613017576130176040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b60018401805484547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff821660ff909116680100000000000000009283900467ffffffffffffff001617909102179055604051613080906002906113cd908b908890602001614d0e565b5050505050505050565b33613096600882613771565b6130d8576130d86040518060400160405280600881526020017f4241445f415554480000000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff8481165f908152600760205260409020600201541615613145576131456040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506137a2565b5f60405180608001604052808460058111156131635761316361479b565b81526020810186905273ffffffffffffffffffffffffffffffffffffffff8716604082015233606090910152905061319c600586613e58565b5073ffffffffffffffffffffffffffffffffffffffff85165f908152600760205260409020815181548392919082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360058111156132015761320161479b565b02179055506020820151600182019061321a9082614fcf565b506040828101516002830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416179091556060909401516003909301805490941692811692909217909255905133918716907f759154d15a6aec80ceab7bc8820f46ebc53ad68bb18f47afb77483fea9dcc9ff906132b790889088906155d1565b60405180910390a35050505050565b5f611571600a836137c5565b335f8181526007602052604090206002015473ffffffffffffffffffffffffffffffffffffffff1661333c5761333c6040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b815f819003613383576133836040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b5f8167ffffffffffffffff81111561339d5761339d614678565b60405190808252806020026020018201604052801561340757816020015b6133f46040518060a001604052805f81526020015f81526020015f81526020015f67ffffffffffffffff1681526020015f151581525090565b8152602001906001900390816133bb5790505b5090505f805b8381101561374f573687878381811061342857613428614b91565b60a00291909101915061343e90505f82356137c5565b6134ca577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa8135604083013561347a60808501606086016155f2565b604080518082018252600981527f4e4f545f464f554e440000000000000000000000000000000000000000000000602082015290516134bc949392919061560d565b60405180910390a150613747565b80355f90815260026020526040902060018082015470010000000000000000000000000000000090041615613582577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa8235604084013561353160808601606087016155f2565b604080518082018252600d81527f53545245414d5f5345414c45440000000000000000000000000000000000000060208201529051613573949392919061560d565b60405180910390a15050613747565b61359260808301606084016155f2565b600182015467ffffffffffffffff918216911610613624577f75460fe319331413a18a82d99b07735cec53fa0c4061ada38c2141e331082afa823560408401356135e260808601606087016155f2565b604080518082018252600781527f4241445f4152470000000000000000000000000000000000000000000000000060208201529051613573949392919061560d565b600181015467ffffffffffffffff165f036136515781355f9081526003602052604081206136519161412d565b6040820135815561366860808301606084016155f2565b6001820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff929092169190911790556136b360a083016080840161564a565b1561370d57600181810180547fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff81167001000000000000000000000000000000009182900467ffffffffffffffff16909317029190911790555b61371c36839003830183615663565b858561372781614c09565b96508151811061373957613739614b91565b602002602001018190525050505b60010161340d565b508082526137696003836040516020016113cd91906156de565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260018301602052604081205415155b9392505050565b6308c379a06040820352602080820352601f19601f825101166044810160248303fd5b5f818152600183016020526040812054151561379b565b5f61379b8383613e79565b5f611571825490565b5f61379b8383613f5c565b80545f5b8181101561386157613858845f6010015f86858154811061382257613822614b91565b5f91825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902090613e20565b506001016137ff565b50505050565b6138715f826137c5565b610ce457610ce46040518060400160405280600981526020017f4e4f545f464f554e4400000000000000000000000000000000000000000000008152506137a2565b73ffffffffffffffffffffffffffffffffffffffff811661390c5761390c6040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b61391581611565565b15613958576139586040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506137a2565b613963600882613e58565b5060405173ffffffffffffffffffffffffffffffffffffffff8216907fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d905f90a250565b73ffffffffffffffffffffffffffffffffffffffff8116613a0057613a006040518060400160405280600781526020017f4241445f415247000000000000000000000000000000000000000000000000008152506137a2565b613a0b600d82613e58565b613a4d57613a4d6040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506137a2565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f7afd798379ae2d2e5035438544cea2b60eb1dde6a8128e6d447fd2a25f8825a2905f90a250565b5f826005811115613aa357613aa361479b565b1480613b1357506001826005811115613abe57613abe61479b565b148015613b1357506003816005811115613ada57613ada61479b565b1480613af757506004816005811115613af557613af561479b565b145b80613b1357506002816005811115613b1157613b1161479b565b145b80613b6657506002826005811115613b2d57613b2d61479b565b148015613b6657506003816005811115613b4957613b4961479b565b1480613b6657506004816005811115613b6457613b6461479b565b145b80613bb957506004826005811115613b8057613b8061479b565b148015613bb957506003816005811115613b9c57613b9c61479b565b1480613bb957506005816005811115613bb757613bb761479b565b145b80613bf157506003826005811115613bd357613bd361479b565b148015613bf157506005816005811115613bef57613bef61479b565b145b15613bfa575050565b613c386040518060400160405280601681526020017f4e4f44455f53544154455f4e4f545f414c4c4f574544000000000000000000008152506137a2565b5050565b80545f5b8181101561386157613c99845f6010015f868581548110613c6357613c63614b91565b5f91825260208083209091015473ffffffffffffffffffffffffffffffffffffffff1683528201929092526040019020906137dc565b50600101613c40565b5f5b8181101561386157613d058460105f868686818110613cc557613cc5614b91565b9050602002016020810190613cda91906141e5565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2090613e20565b50600101613ca4565b5f7f378ece20ebca29c2f887798617154658265a73d80c84fad8c9c49639ffdb29bb9050602082038051602082528483604086510184a29052505050565b613d565f826137c5565b15610ce457610ce46040518060400160405280600e81526020017f414c52454144595f4558495354530000000000000000000000000000000000008152506137a2565b805f5b8181101561386157613dd6848483818110613db957613db9614b91565b9050602002016020810190613dce91906141e5565b600590613771565b613e1857613e186040518060400160405280600e81526020017f4e4f44455f4e4f545f464f554e440000000000000000000000000000000000008152506137a2565b600101613d9c565b5f61379b8383613f82565b5f61379b8373ffffffffffffffffffffffffffffffffffffffff8416613e79565b60605f61379b83613fce565b5f61379b8373ffffffffffffffffffffffffffffffffffffffff8416613f82565b5f8181526001830160205260408120548015613f53575f613e9b600183615468565b85549091505f90613eae90600190615468565b9050808214613f0d575f865f018281548110613ecc57613ecc614b91565b905f5260205f200154905080875f018481548110613eec57613eec614b91565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080613f1e57613f1e6155a4565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050611571565b5f915050611571565b5f825f018281548110613f7157613f71614b91565b905f5260205f200154905092915050565b5f818152600183016020526040812054613fc757508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155611571565b505f611571565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561401b57602002820191905f5260205f20905b815481526020019060010190808311614007575b50505050509050919050565b5080545f8255600302905f5260205f2090810190610ce49190614164565b60405180604001604052805f81526020016140a26040518060a001604052805f81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081525090565b905290565b828054828255905f5260205f2090810192821561411d579160200282015b8281111561411d5781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8435161782556020909201916001909101906140c5565b506141299291506141b0565b5090565b50805461413990614bbe565b5f825580601f10614148575050565b601f0160209004905f5260205f2090810190610ce491906141b0565b80821115614129575f8082556001820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001690556141a7600283018261412d565b50600301614164565b5b80821115614129575f81556001016141b1565b73ffffffffffffffffffffffffffffffffffffffff81168114610ce4575f5ffd5b5f602082840312156141f5575f5ffd5b813561379b816141c4565b5f60208284031215614210575f5ffd5b5035919050565b5f5f60408385031215614228575f5ffd5b50508035926020909101359150565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015614323577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845281518051865267ffffffffffffffff6020820151166020870152604081015190506060604087015261430d6060870182614237565b95505060209384019391909101906001016142a9565b50929695505050505050565b5f60a083018251845267ffffffffffffffff602084015116602085015267ffffffffffffffff604084015116604085015267ffffffffffffffff6060840151166060850152608083015160a0608086015281815180845260c0870191506020830193505f92505b808310156143cf5773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250614396565b5095945050505050565b602081525f61379b602083018461432f565b5f5f5f606084860312156143fd575f5ffd5b8335614408816141c4565b95602085013595506040909401359392505050565b5f82825180855260208501945060208160051b830101602085015f5b838110156144a0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030188528151805184526020810151905060406020850152614489604085018261432f565b6020998a0199909450929092019150600101614439565b50909695505050505050565b602081525f61379b602083018461441d565b5f5f83601f8401126144ce575f5ffd5b50813567ffffffffffffffff8111156144e5575f5ffd5b6020830191508360208260051b8501011115612d85575f5ffd5b5f5f60208385031215614510575f5ffd5b823567ffffffffffffffff811115614526575f5ffd5b614532858286016144be565b90969095509350505050565b606081525f614550606083018661432f565b84602084015282810360408401526145688185614237565b9695505050505050565b803560068110614580575f5ffd5b919050565b5f5f60408385031215614596575f5ffd5b82356145a1816141c4565b91506145af60208401614572565b90509250929050565b5f5f83601f8401126145c8575f5ffd5b50813567ffffffffffffffff8111156145df575f5ffd5b602083019150836020828501011115612d85575f5ffd5b5f5f5f5f5f5f6080878903121561460b575f5ffd5b86359550602087013567ffffffffffffffff811115614628575f5ffd5b61463489828a016144be565b90965094505060408701359250606087013567ffffffffffffffff81111561465a575f5ffd5b61466689828a016145b8565b979a9699509497509295939492505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f8301126146b4575f5ffd5b813567ffffffffffffffff8111156146ce576146ce614678565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff8111828210171561471b5761471b614678565b604052818152838201602001851015614732575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f6040838503121561475f575f5ffd5b823561476a816141c4565b9150602083013567ffffffffffffffff811115614785575f5ffd5b614791858286016146a5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600681106147fd577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b61480c8282516147c8565b5f6020820151608060208501526148266080850182614237565b905073ffffffffffffffffffffffffffffffffffffffff604084015116604085015273ffffffffffffffffffffffffffffffffffffffff60608401511660608501528091505092915050565b602081525f61379b6020830184614801565b5f5f60408385031215614895575f5ffd5b8235915060208301356148a7816141c4565b809150509250929050565b67ffffffffffffffff81168114610ce4575f5ffd5b5f5f5f5f606085870312156148da575f5ffd5b8435935060208501356148ec816148b2565b9250604085013567ffffffffffffffff811115614907575f5ffd5b614913878288016145b8565b95989497509550505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015614323577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261497f858351614801565b94506020938401939190910190600101614945565b5f5f5f606084860312156149a6575f5ffd5b8335925060208401359150604084013567ffffffffffffffff8111156149ca575f5ffd5b840160a081870312156149db575f5ffd5b809150509250925092565b5f5f604083850312156149f7575f5ffd5b8235915060208301356148a7816148b2565b602080825282518282018190525f918401906040840190835b81811015614a5657835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101614a22565b509095945050505050565b604081525f614a73604083018561441d565b905082151560208301529392505050565b5f5f5f60608486031215614a96575f5ffd5b8335614aa1816141c4565b9250602084013567ffffffffffffffff811115614abc575f5ffd5b614ac8868287016146a5565b925050614ad760408501614572565b90509250925092565b5f5f60208385031215614af1575f5ffd5b823567ffffffffffffffff811115614b07575f5ffd5b8301601f81018513614b17575f5ffd5b803567ffffffffffffffff811115614b2d575f5ffd5b85602060a083028401011115614b41575f5ffd5b6020919091019590945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561157157611571614b51565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b600181811c90821680614bd257607f821691505b602082108103611a77577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614c3957614c39614b51565b5060010190565b6020810161157182846147c8565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614c80575f5ffd5b9190910192915050565b5f60208284031215614c9a575f5ffd5b813560ff8116811461379b575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614cdd575f5ffd5b83018035915067ffffffffffffffff821115614cf7575f5ffd5b6020019150600581901b3603821315612d85575f5ffd5b828152604060208201525f60e0820183546040840152600184015467ffffffffffffffff8116606085015267ffffffffffffffff8160401c16608085015267ffffffffffffffff8160801c1660a0850152506002840160a060c085015281815480845261010086019150825f5260205f2093505f92505b80831015614dbe5773ffffffffffffffffffffffffffffffffffffffff8454168252602082019150600184019350600183019250614d85565b509695505050505050565b5b81811015613c38575f8155600101614dca565b601f82111561074b57805f5260205f20601f840160051c81016020851015614e025750805b6113eb601f850160051c830182614dc9565b67ffffffffffffffff831115614e2c57614e2c614678565b614e4083614e3a8354614bbe565b83614ddd565b5f601f841160018114614e90575f8515614e5a5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556113eb565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b82811015614edd5786850135825560209485019460019092019101614ebd565b5086821015614f18577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f82518060208501845e5f920191825250919050565b5f5f8354614f4d81614bbe565b600182168015614f645760018114614f9757614fc4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614fc4565b865f5260205f205f5b83811015614fbc57815488820152600190910190602001614fa0565b505081860193505b509195945050505050565b815167ffffffffffffffff811115614fe957614fe9614678565b614ffd81614ff78454614bbe565b84614ddd565b6020601f821160018114615051575f83156150185750848201515b600184901b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c198216175b8555506113eb565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561509e578785015182556020948501946001909201910161507e565b50848210156150da57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b602081525f61379b6020830184614237565b85815267ffffffffffffffff8516602082015260806040820152826080820152828460a08301375f60a084830101525f60a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116830101905082151560608301529695505050505050565b67ffffffffffffffff83111561518257615182614678565b6801000000000000000083111561519b5761519b614678565b8054838255808410156151bf57815f5260205f206151bd828201868301614dc9565b505b5081815f5260205f205f5b858110156137695782356151dd816141c4565b82820155602092909201916001016151ca565b81358155600181016020830135615206816148b2565b81546040850135615216816148b2565b6fffffffffffffffff00000000000000008160401b1667ffffffffffffffff84167fffffffffffffffffffffffffffffffff000000000000000000000000000000008416171784555050505f6060840135615270816148b2565b82547fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16608091821b77ffffffffffffffff000000000000000000000000000000001617909255505f908190840135368590037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe10181126152ef575f5ffd5b84018035915067ffffffffffffffff821115615309575f5ffd5b6020019150600581901b3603821315615320575f5ffd5b61386181836002860161516a565b8183526020830192505f815f5b8481101561537957813561534e816141c4565b73ffffffffffffffffffffffffffffffffffffffff168652602095860195919091019060010161533b565b5093949350505050565b828152604060208201525f5f833590508060408401525060208301356153a8816148b2565b67ffffffffffffffff16606083015260408301356153c5816148b2565b67ffffffffffffffff16608083015260608301356153e2816148b2565b67ffffffffffffffff1660a08301526080830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112615426575f5ffd5b830160208101903567ffffffffffffffff811115615442575f5ffd5b8060051b3603821315615453575f5ffd5b60a060c085015261456860e08501828461532e565b8181038181111561157157611571614b51565b818103615486575050565b6154908254614bbe565b67ffffffffffffffff8111156154a8576154a8614678565b6154b681614ff78454614bbe565b5f601f821160018114615504575f8315615018575081850154600184901b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c19821617615049565b5f85815260208082208683529082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616925b838110156155585782860154825560019586019590910190602001615538565b508583101561559457818501547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b604081525f6155e36040830185614237565b905061379b60208301846147c8565b5f60208284031215615602575f5ffd5b813561379b816148b2565b84815283602082015267ffffffffffffffff83166040820152608060608201525f6145686080830184614237565b80358015158114614580575f5ffd5b5f6020828403121561565a575f5ffd5b61379b8261563b565b5f60a0828403128015615674575f5ffd5b5060405160a0810167ffffffffffffffff8111828210171561569857615698614678565b60409081528335825260208085013590830152838101359082015260608301356156c1816148b2565b60608201526156d26080840161563b565b60808201529392505050565b602080825282518282018190525f918401906040840190835b81811015614a5657835180518452602081015160208501526040810151604085015267ffffffffffffffff60608201511660608501526080810151151560808501525060a0830192506020840193506001810190506156f756","sourceMap":"520:872:559:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;713:143:414;;;;;;:::i;:::-;794:55;:29;;;771:4;794:29;;;:16;:29;;;;;:41;;;;:55;;;713:143;;;;590:14:612;;583:22;565:41;;553:2;538:18;713:143:414;;;;;;;;3129:280:412;;;;;;:::i;:::-;;:::i;:::-;;7299:645:418;;;;;;:::i;:::-;;:::i;4826:823:412:-;;;:::i;:::-;;;;;;;:::i;9670:515:418:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11039:762::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1387:105:416:-;;;;;;:::i;:::-;;:::i;1213:225:412:-;;;;;;:::i;:::-;;:::i;3371:97:414:-;;;:::i;:::-;;;6507:25:612;;;6495:2;6480:18;3371:97:414;6361:177:612;10227:431:418;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;2098:440:414:-;;;;;;:::i;:::-;;:::i;7986:1199:418:-;;;;;;:::i;:::-;;:::i;1276:885::-;;;;;;:::i;:::-;;:::i;2431:120:416:-;;;;;;:::i;:::-;;:::i;2544:516:414:-;;;;;;:::i;:::-;;:::i;1643:332:412:-;;;;;;:::i;:::-;;:::i;4627:160::-;;;;;;:::i;:::-;;:::i;3066:299:414:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5517:812:418:-;;;;;;:::i;:::-;;:::i;2014:1076:412:-;;;;;;:::i;:::-;;:::i;3593:278:414:-;;;:::i;:::-;;;;;;;:::i;1536:568:416:-;;;;;;:::i;:::-;;:::i;1572:520:414:-;;;;;;:::i;:::-;;:::i;2203:547:418:-;;;;;;:::i;:::-;;:::i;3448:689:412:-;;;;;;:::i;:::-;;:::i;1105:238:416:-;;;;;;:::i;:::-;;:::i;10700:101:418:-;;;:::i;1477:127:412:-;;;;;;:::i;:::-;;:::i;10843:154:418:-;;;;;;:::i;:::-;;:::i;3474:113:414:-;;;:::i;:::-;;;;;;;:::i;11843:711:418:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;9510:118::-;;;;;;:::i;:::-;;:::i;5688:144:412:-;;;;;;:::i;:::-;;:::i;2595:113:416:-;;;:::i;6371:886:418:-;;;;;;:::i;:::-;;:::i;862:704:414:-;;;;;;:::i;:::-;;:::i;4459:129:412:-;;;;;;:::i;:::-;;:::i;2756:2719:418:-;;;;;;:::i;:::-;;:::i;3129:280:412:-;3219:10;4688:42:420;:24;3219:10:412;4688:33:420;:42::i;:::-;4683:115;;4746:41;:28;;;;;;;;;;;;;;;;;:39;:41::i;:::-;3247:3:412;4496:34:420::1;:20;3247:3:412::0;4496:29:420::1;:34::i;:::-;4491:108;;4546:42;:29;;;;;;;;;;;;;;;;::::0;:40:::1;:42::i;:::-;3269:2:412::2;:21:::0;;;:16:::2;:21;::::0;;;;3262:28:::2;::::0;::::2;:::i;:::-;3301:32;:20;3329:3:::0;3301:27:::2;:32::i;:::-;-1:-1:-1::0;3349:53:412::2;::::0;;17750:25:612;;;3375:16:412::2;17806:2:612::0;17791:18;;17784:59;17879:3;17859:18;;;17852:31;;;-1:-1:-1;17899:19:612;;;17892:30;3397:4:412::2;17989:2:612::0;17974:18;;17967:50;3349:53:412;;::::2;::::0;;;;17954:3:612;3349:53:412;;::::2;4807:1:420::1;3129:280:412::0;;:::o;7299:645:418:-;7375:11;;7442:19;7375:11;7442:17;:19::i;:::-;48635:9:218;;;-1:-1:-1;;;48631:24:218;48624:32;;30091:8;;;30101:9;;;;30087:24;7643:13:418;;;-1:-1:-1;;7701:227:418;7716:3;7708:5;:11;7701:227;;;7748:16;7767:20;7748:16;7781:5;7767:13;:20::i;:::-;7805:21;7829:23;;;:13;:23;;;;;;;;7748:39;;-1:-1:-1;7870:43:418;;7748:39;;7900:12;;7870:19;:43::i;:::-;7730:198;;7721:7;;;;;7701:227;;;7365:579;7299:645;;:::o;4826:823:412:-;4880:25;4917:20;;4979:29;:20;:27;:29::i;:::-;4952:56;;5023:9;5018:166;5038:16;5034:1;:20;5018:166;;;5075:11;5089:26;:20;5113:1;5089:23;:26::i;:::-;5145:2;:21;;;:16;:21;;;;;:28;5075:40;;-1:-1:-1;5129:44:412;;;;:::i;:::-;;-1:-1:-1;;5056:3:412;;5018:166;;;;5219:12;5205:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;5205:27:412;;;;;;;;;;;;;;;-1:-1:-1;5194:38:412;-1:-1:-1;5243:15:412;5261:29;:20;:27;:29::i;:::-;5243:47;-1:-1:-1;5300:9:412;;5323:320;5343:7;5339:1;:11;5323:320;;;5371:11;5385:26;:20;5409:1;5385:23;:26::i;:::-;5425:25;5453:21;;;:16;:21;;;;;5509:14;;5371:40;;-1:-1:-1;5453:21:412;5509:14;5537:96;5557:10;5553:1;:14;5537:96;;;5608:7;5616:1;5608:10;;;;;;;;:::i;:::-;;;;;;;;;;;5592:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:8;5601:3;;;;;:::i;:::-;;;5592:13;;;;;;;;:::i;:::-;;;;;;;;;;:26;5569:3;;5537:96;;;;5357:286;;;5352:3;;;;;5323:320;;;;4907:742;;;;4826:823;:::o;9670:515:418:-;9730:20;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9730:20:418;10079:6;10073:4;10066:20;10105:31;10127:8;10105:21;:31::i;:::-;10155:2;:23;;;:13;:23;;;;;;;;;10146:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10155:23;;10146:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9670:515;;;:::o;11039:762::-;11263:31;;;11218:42;11263:31;;;:18;:31;;;;;11177:29;;11326:18;11263:31;11326:16;:18::i;:::-;11304:40;-1:-1:-1;48635:9:218;;;-1:-1:-1;;;48631:24:218;48624:32;;30091:8;;;30101:9;;;30087:24;;11519:25:418;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11509:35;;11559:9;11554:241;11574:5;11570:1;:9;11554:241;;;11600:26;11629:7;11637:1;11629:10;;;;;;;;:::i;:::-;;;;;;;11600:39;;11693:23;11714:1;11706:5;:9;11693;:12;;:23;;;;:::i;:::-;11681:35;;;:9;11760:24;;;:13;:24;;;;;;;;;11744:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11760:24;;11744:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11744:40:418;;;;-1:-1:-1;;;11744:13:418;;;;:40;11581:3;;11554:241;;;;11208:593;;;;11039:762;;;;;:::o;1387:105:416:-;292:66:130;466:29:128;;;285:10;:22;281:89;;330:29;;;;;348:10;330:29;;;19324:74:612;19297:18;;330:29:128;;;;;;;;281:89;1459:26:416::1;1476:8;1459:16;:26::i;:::-;1387:105:::0;:::o;1213:225:412:-;304:66:119;1381:42:118;;;;;;1376:119;;1446:38;;;;;;;;;;;;;;1376:119;1317:9:412::1;1312:120;1328:25:::0;;::::1;1312:120;;;1374:47;1403:14;;1418:1;1403:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;1374:28;:47::i;:::-;1355:3;;1312:120;;3371:97:414::0;3418:7;3444:17;:8;:15;:17::i;:::-;3437:24;;3371:97;:::o;10227:431:418:-;10312:20;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10312:20:418;10334:7;10343:12;10419:6;10413:4;10406:20;10445:31;10467:8;10445:21;:31::i;:::-;10508:2;:23;;;:13;:23;;;;;;;;10545:33;:43;;;;;;10602:29;:39;;;;;;10487:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10508:23;;10545:43;10602:39;;10487:164;;10508:23;;10487:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10227:431;;;;;:::o;2098:440:414:-;3589:48:420;:22;;;3635:1;3589:22;;;:16;:22;;;;;:34;;;2220:11:414;;3589:34:420;3585:126;;3653:47;:34;;;;;;;;;;;;;;;;;:45;:47::i;:::-;2254:10:414::1;3897:31:420;:12;2254:10:414::0;3897:21:420::1;:31::i;:::-;3892:104;;3944:41;:28;;;;;;;;;;;;;;;;::::0;:39:::1;:41::i;:::-;4309:43:::2;:22:::0;;::::2;:2;:22:::0;;;:16:::2;:22;::::0;;;;:31:::2;;::::0;2291:11:414;;2304:10:::2;::::0;4309:31:420::2;:43:::0;::::2;4305:115;;4368:41;:28;;;;;;;;;;;;;;;;::::0;:39:::2;:41::i;:::-;2350:29:414::3;::::0;::::3;2330:17;2350:29:::0;;;:16:::3;:29;::::0;;;;2422:11;;2390:52:::3;::::0;2422:11:::3;;2435:6:::0;2390:31:::3;:52::i;:::-;2453:20:::0;;2467:6;;2453:4;;:20;::::3;::::0;2467:6;2453:20:::3;::::0;::::3;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;2506:16:414::3;::::0;::::3;::::0;2488:43:::3;::::0;2506:16:::3;::::0;;::::3;::::0;2488:43:::3;::::0;::::3;::::0;2524:6;;2488:43:::3;:::i;:::-;;;;;;;;2320:218;4005:1:420::2;;3720::::1;2098:440:414::0;;;:::o;7986:1199:418:-;8118:10;4688:42:420;:24;8118:10:418;4688:33:420;:42::i;:::-;4683:115;;4746:41;:28;;;;;;;;;;;;;;;;;:39;:41::i;:::-;8164:8:418;8140:21:::1;8194:18:::0;;;8190:64:::1;;8214:40;:27;;;;;;;;;;;;;;;;::::0;:38:::1;:40::i;:::-;8270:9;8265:914;8285:13;8281:1;:17;8265:914;;;8319:39;8361:8;;8370:1;8361:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;8319:53:::0;-1:-1:-1;8391:21:418::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;:26;;::::0;;:70:::1;;-1:-1:-1::0;8445:9:418::1;;::::0;::::1;:3:::0;:9:::1;:::i;:::-;:16:::0;-1:-1:-1;8421:21:418::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;:40;;;8391:70;8387:149;;;8481:40;:27;;;;;;;;;;;;;;;;::::0;:38:::1;:40::i;:::-;8550:35;8572:12:::0;::::1;8550:21;:35::i;:::-;8637:12:::0;::::1;8599:21;8623:27:::0;;;:13:::1;:27;::::0;;;;;;;;8729:52:::1;::::0;8768:12;::::1;8729:24;:52::i;:::-;8848:44;8868:12:::0;::::1;8882:9;;::::0;::::1;8868:3:::0;8882:9:::1;:::i;:::-;8848:19;:44::i;:::-;8960:9;;::::0;::::1;:3:::0;:9:::1;:::i;:::-;9013:16;::::0;::::1;::::0;8987:66:::1;::::0;9013:16;;::::1;;;9031:21;::::0;;;::::1;::::0;::::1;;:::i;:::-;14682:18:::0;;14654:24;14642:36;;;;14641:59;;14500:207;8987:66:::1;8922:16;::::0;::::1;8907:160:::0;;;::::1;::::0;::::1;::::0;::::1;;;::::0;;::::1;8908:12;::::0;::::1;8907:160:::0;;::::1;:::i;:::-;;;;;9082:86;9101:32;9146:3;:12;;;9160:6;9135:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9082:18;:86::i;:::-;-1:-1:-1::0;;8300:3:418::1;;8265:914;;;;8130:1055;7986:1199:::0;;;:::o;1276:885::-;1463:10;3635:1:420;3589:22;;;:16;:22;;;;;:34;;;:48;:34;3585:126;;3653:47;:34;;;;;;;;;;;;;;;;;:45;:47::i;:::-;1495:8:418::1;4179:34:420;4204:8;4179:24;:34::i;:::-;1525:5:418::2;;3799:19:420;3812:5;;3799:12;:19::i;:::-;1584:21:418::3;1608:23:::0;;;:13:::3;:23;::::0;;;;1795:16:::3;::::0;::::3;::::0;1716:20;;1750:5;;;;14642:36;1795:16;;;::::3;14642:36:::0;14682:18;;;14641:59;1682:16:::3;::::0;::::3;1641:202:::0;;;::::3;::::0;::::3;::::0;::::3;;;::::0;;1682:16;-1:-1:-1;1641:202:418::3;1668:12;::::0;::::3;1641:202:::0;;::::3;:::i;:::-;-1:-1:-1::0;;1641:202:418;;;;-1:-1:-1;1854:24:418::3;::::0;-1:-1:-1;1854:2:418::3;::::0;-1:-1:-1;1869:8:418;1854:14:::3;:24::i;:::-;-1:-1:-1::0;1888:2:418::3;:39:::0;;;:29:::3;:39;::::0;;;;:58:::3;1930:16:::0;;1888:39;:58:::3;:::i;:::-;-1:-1:-1::0;1956:2:418::3;:43:::0;;;:33:::3;:43;::::0;;;;:66;;;2033:36:::3;1990:8:::0;2063:5;;2033:19:::3;:36::i;:::-;2080:74;2099:24;2136:8;2146:6;2125:28;;;;;;;;;:::i;2080:74::-;1532:629;4223:1:420::2;;3720::::1;1276:885:418::0;;;;;;;:::o;2431:120:416:-;2490:4;2513:31;:12;2535:8;2513:21;:31::i;:::-;2506:38;2431:120;-1:-1:-1;;2431:120:416:o;2544:516:414:-;2667:10;3897:31:420;:12;2667:10:414;3897:21:420;:31::i;:::-;3892:104;;3944:41;:28;;;;;;;;;;;;;;;;;:39;:41::i;:::-;3589:48:::1;:22:::0;;::::1;3635:1;3589:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;2696:11:414;;3589:34:420::1;3585:126;;3653:47;:34;;;;;;;;;;;;;;;;::::0;:45:::1;:47::i;:::-;4309:43:::2;:22:::0;;::::2;:2;:22:::0;;;:16:::2;:22;::::0;;;;:31:::2;;::::0;2734:11:414;;2747:10:::2;::::0;4309:31:420::2;:43:::0;::::2;4305:115;;4368:41;:28;;;;;;;;;;;;;;;;::::0;:39:::2;:41::i;:::-;2793:29:414::3;::::0;::::3;2773:17;2793:29:::0;;;:16:::3;:29;::::0;;;;;;;;2888:21;;::::3;::::0;2905:3;;2888:21:::3;;:::i;:::-;;;;;;;;;;;;;2878:32;;;;;;2864:4;:8;;2847:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;2837:37;;;;;;:73:::0;2833:144:::3;;2926:40;:27;;;;;;;;;;;;;;;;::::0;:38:::3;:40::i;:::-;2987:8;::::0;::::3;:14;2998:3:::0;2987:8;:14:::3;:::i;:::-;-1:-1:-1::0;3031:16:414::3;::::0;::::3;::::0;3016:37:::3;::::0;3031:16:::3;::::0;;::::3;::::0;3016:37:::3;::::0;::::3;::::0;3049:3;;3016:37:::3;:::i;1643:332:412:-:0;292:66:130;466:29:128;;;285:10;:22;281:89;;330:29;;;;;348:10;330:29;;;19324:74:612;19297:18;;330:29:128;19178:226:612;281:89:128;1729:21:412::1;::::0;::::1;1725:67;;1752:40;:27;;;;;;;;;;;;;;;;::::0;:38:::1;:40::i;:::-;1808;:24;1840:7:::0;1808:31:::1;:40::i;:::-;1803:114;;1864:42;:29;;;;;;;;;;;;;;;;::::0;:40:::1;:42::i;:::-;1932:36;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;1643:332:::0;:::o;4627:160::-;4724:16;4710:3;4496:34:420;:20;4710:3:412;4496:29:420;:34::i;:::-;4491:108;;4546:42;:29;;;;;;;;;;;;;;;;;:40;:42::i;:::-;4759:2:412::1;:21:::0;;;:16:::1;:21;::::0;;;;;;;4752:28;;;;;;::::1;::::0;;;;;;;;;;;;4759:21;;4752:28;::::1;;;;;;;;;::::0;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;4608:1:420;4627:160:412::0;;;;:::o;3066:299:414:-;3127:11;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3127:11:414;3208:30;:8;3226:11;3208:17;:30::i;:::-;3203:109;;3254:47;:34;;;;;;;;;;;;;;;;;:45;:47::i;:::-;3329:29;;;:2;:29;;;:16;:29;;;;;;;3322:36;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3322:36:414;;;-1:-1:-1;;3322:36:414;;;;;;;;;;;;;;;;;;;;;;;;;;3066:299;-1:-1:-1;;3066:299:414:o;5517:812:418:-;5625:8;4067:31:420;4089:8;4067:21;:31::i;:::-;5644:10:418::1;3635:1:420;3589:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;:48:::1;:34;3585:126;;3653:47;:34;;;;;;;;;;;;;;;;::::0;:45:::1;:47::i;:::-;5666:21:418::2;5690:23:::0;;;:13:::2;:23;::::0;;;;;;;5772:31:::2;::::0;::::2;::::0;;:18:::2;:31:::0;;;;;;5749:12;;::::2;::::0;5772:45:::2;::::0;5704:8;5772:35:::2;:45::i;:::-;-1:-1:-1::0;5911:12:418;;5891:17:::2;5934:169;5954:9;5950:1;:13;5934:169;;;6000:11;5988:23;;:5;5994:1;5988:8;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;::::2;;:23:::0;5984:109:::2;;6031:47;:34;;;;;;;;;;;;;;;;::::0;:45:::2;:47::i;:::-;5965:3;;5934:169;;;-1:-1:-1::0;6113:23:418;;::::2;::::0;;::::2;::::0;;-1:-1:-1;6113:23:418;;;::::2;::::0;;;;::::2;::::0;;;::::2;;::::0;::::2;;::::0;;6191:16;::::2;::::0;6215:12;;6165:64:::2;::::0;6191:16;;::::2;;;::::0;14682:18;;14654:24;14642:36;;;;14641:59;;14500:207;6165:64:::2;6146:6;:16;;;:83;;;;;;;;;;;;;;;;;;6240:82;6259:32;6304:8;6314:6;6293:28;;;;;;;;;:::i;6240:82::-;5656:673;;;4108:1:420::1;5517:812:418::0;;;:::o;2014:1076:412:-;2159:10;4688:42:420;:24;2159:10:412;4688:33:420;:42::i;:::-;4683:115;;4746:41;:28;;;;;;;;;;;;;;;;;:39;:41::i;:::-;2185:31:412;2200:16:::1;2185:31:::0;::::1;::::0;2181:102:::1;;2232:40;:27;;;;;;;;;;;;;;;;::::0;:38:::1;:40::i;:::-;2312:1;2296:17:::0;;;2292:63:::1;;2315:40;:27;;;;;;;;;;;;;;;;::::0;:38:::1;:40::i;:::-;2371:34;:20;2401:3:::0;2371:29:::1;:34::i;:::-;2366:95;;2421:29;:20;2446:3:::0;2421:24:::1;:29::i;:::-;;2366:95;2543:25;2571:21:::0;;;:16:::1;:21;::::0;;;;2629:14;;2571:21;;2653:307:::1;2673:16;2669:1;:20;2653:307;;;2710:22;2735:7;2743:1;2735:10;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;;2763:18;::::0;::::1;::::0;2735:10;;-1:-1:-1;2763:33:412::1;::::0;;::::1;:18:::0;::::1;:33:::0;2759:191:::1;;2816:12;::::0;::::1;:20;2831:5:::0;;2816:12;:20:::1;:::i;:::-;;2859:52;2880:3;2885:11;2898:5;;2905;2859:52;;;;;;;;;;:::i;:::-;;;;;;;;2929:7;;;;;;2759:191;-1:-1:-1::0;2691:3:412::1;;2653:307;;;;2970:7;2983:32;;;;;;;;2991:3;2983:32;;;;2996:11;2983:32;;;;;;3009:5;;2983:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2983:32:412;;;;-1:-1:-1;;2970:46:412;;::::1;::::0;;::::1;::::0;;;;;::::1;::::0;;;;;;::::1;::::0;;::::1;;::::0;;;;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;2970:46:412::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;3031:52;3052:3;3057:11;3070:5;;3077;3031:52;;;;;;;;;;:::i;:::-;;;;;;;;2171:919;;2014:1076:::0;;;;;:::o;3593:278:414:-;3639:13;3664:19;3697:17;:8;:15;:17::i;:::-;3686:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3686:29:414;;;;;;;;;;;;;;;;-1:-1:-1;3664:51:414;-1:-1:-1;3731:9:414;3726:116;3750:17;:8;:15;:17::i;:::-;3746:1;:21;3726:116;;;3799:16;:2;3816:14;:8;3828:1;3816:11;:14::i;:::-;3799:32;;;;;;;;;;;;;;;-1:-1:-1;3799:32:414;3788:43;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3788:43:414;;;-1:-1:-1;;3788:43:414;;;;;;;;;;;;;;;;;;;;;;;;;:8;;:5;;3794:1;;3788:8;;;;;;:::i;:::-;;;;;;;;;;:43;3769:3;;3726:116;;1536:568:416;292:66:130;466:29:128;;;285:10;:22;281:89;;330:29;;;;;348:10;330:29;;;19324:74:612;19297:18;;330:29:128;19178:226:612;281:89:128;1612:20:416::1;1623:8;1612:10;:20::i;:::-;1607:103;;1648:51;:38;;;;;;;;;;;;;;;;::::0;:49:::1;:51::i;:::-;1720:14;1737:17;:8;:15;:17::i;:::-;1720:34;;1827:9;1822:195;1842:6;1838:1;:10;1822:195;;;1873:53;::::0;::::1;:16;:2;1890:14;:8;1902:1:::0;1890:11:::1;:14::i;:::-;1873:32;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;1873:32:416;:41:::1;;::::0;::::1;:53:::0;1869:138:::1;;1946:46;:33;;;;;;;;;;;;;;;;::::0;:44:::1;:46::i;:::-;1850:3;;1822:195;;;-1:-1:-1::0;2027:29:416::1;:12;2047:8:::0;2027:19:::1;:29::i;:::-;-1:-1:-1::0;2072:25:416::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;1597:507;1536:568:::0;:::o;1572:520:414:-;4309:43:420;:22;;;:2;:22;;;:16;:22;;;;;:31;;;1639:11:414;;1652:10;;4309:31:420;:43;;4305:115;;4368:41;:28;;;;;;;;;;;;;;;;;:39;:41::i;:::-;1678:55:414::1;:29:::0;;::::1;1731:1;1678:29:::0;;;:16:::1;:29;::::0;;;;:41:::1;;::::0;::::1;1674:133;;1749:47;:34;;;;;;;;;;;;;;;;::::0;:45:::1;:47::i;:::-;1861:18;1821:29;::::0;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;:36;::::1;;:58;::::0;::::1;;;;;;:::i;:::-;;1817:144;;1895:55;:42;;;;;;;;;;;;;;;;::::0;:53:::1;:55::i;:::-;1971:28;:8;1987:11:::0;1971:15:::1;:28::i;:::-;-1:-1:-1::0;2016:29:414::1;::::0;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;2009:36;;;::::1;::::0;;2016:29;2009:36:::1;::::0;;::::1;2016:2:::0;2009:36:::1;:::i;:::-;-1:-1:-1::0;2009:36:414::1;::::0;::::1;::::0;;;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;2061:24:::1;::::0;2009:36:::1;2061:24:::0;::::1;::::0;::::1;::::0;2009:36:::1;::::0;2061:24:::1;1572:520:::0;;;:::o;2203:547:418:-;2358:10;3635:1:420;3589:22;;;:16;:22;;;;;:34;;;:48;:34;3585:126;;3653:47;:34;;;;;;;;;;;;;;;;;:45;:47::i;:::-;2398:8:418::1;4179:34:420;4204:8;4179:24;:34::i;:::-;2436:12:418::2;;::::0;::::2;:6:::0;:12:::2;:::i;:::-;3799:19:420;3812:5;;3799:12;:19::i;:::-;2464:24:418::3;:2;2479:8:::0;2464:14:::3;:24::i;:::-;-1:-1:-1::0;2498:2:418::3;:23:::0;;;:13:::3;:23;::::0;;;;2524:6;;2498:32:::3;2524:6:::0;2498:23;:32:::3;:::i;:::-;-1:-1:-1::0;;2540:2:418::3;:43:::0;;;:33:::3;:43;::::0;;;;:66;;;2617:43:::3;2574:8:::0;2647:12:::3;;::::0;::::3;:6:::0;:12:::3;:::i;2617:43::-;2671:72;2690:22;2725:8;2735:6;2714:28;;;;;;;;;:::i;3448:689:412:-:0;3573:10;4688:42:420;:24;3573:10:412;4688:33:420;:42::i;:::-;4683:115;;4746:41;:28;;;;;;;;;;;;;;;;;:39;:41::i;:::-;3595:10:412::1;3651:21:::0;;;:16:::1;:21;::::0;;;;3709:14;;3595:10;3733:269:::1;3753:16;3749:1;:20;3733:269;;;3820:11;3794:37;;:7;3802:1;3794:10;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:22:::1;:10;::::0;;::::1;;:22;::::0;::::1;;:37:::0;3790:202:::1;;3864:7:::0;3872:20:::1;3891:1;3872:16:::0;:20:::1;:::i;:::-;3864:29;;;;;;;;:::i;:::-;;;;;;;;;;;3851:7;3859:1;3851:10;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:42;;:10:::1;::::0;;::::1;;:42:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;;;3911:7;:13;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;::::1;::::0;;;;;;::::1;;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;::::1;:::i;:::-;;;;;3950:4;3942:12;;3972:5;;3790:202;3771:3;;3733:269;;;;4017:5;4012:54;;4024:42;:29;;;;;;;;;;;;;;;;::::0;:40:::1;:42::i;:::-;4082:48;::::0;;17750:25:612;;;17823:18;17811:31;;17806:2;17791:18;;17784:59;17879:3;17859:18;;;17852:31;;;-1:-1:-1;17899:19:612;;;17892:30;4125:4:412::1;17989:2:612::0;17974:18;;17967:50;4082:48:412;;::::1;::::0;;;;17954:3:612;4082:48:412;;::::1;3585:552;;;3448:689:::0;;;:::o;1105:238:416:-;304:66:119;1381:42:118;;;;;;1376:119;;1446:38;;;;;;;;;;;;;;1376:119;1230:9:416::1;1225:112;1241:27:::0;;::::1;1225:112;;;1289:37;1306:16;;1323:1;1306:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;1289:16;:37::i;:::-;1270:3;;1225:112;;10700:101:418::0;10749:7;10775:19;10749:7;10775:17;:19::i;1477:127:412:-;292:66:130;466:29:128;;;285:10;:22;281:89;;330:29;;;;;348:10;330:29;;;19324:74:612;19297:18;;330:29:128;19178:226:612;281:89:128;1560:37:412::1;1589:7;1560:28;:37::i;10843:154:418:-:0;10950:31;;;10917:13;10950:31;;;:18;:31;;;;;:40;;:38;:40::i;3474:113:414:-;3528:16;3563:17;:8;:15;:17::i;11843:711:418:-;11946:21;11969:4;;12007:19;11969:4;12007:17;:19::i;:::-;11985:41;-1:-1:-1;48635:9:218;;;-1:-1:-1;;;48631:24:218;48624:32;;30091:8;;;30101:9;;;30087:24;12036:22:418;30087:24:218;12223:25:418;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;12191:57;;12263:9;12258:242;12278:5;12274:1;:9;12258:242;;;12304:26;12333:7;12341:1;12333:10;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;12397:24:418;:2;12411:9;;;12397:13;:24::i;:::-;12385:36;;;:9;12465:24;;;:13;:24;;;;;;;;;12449:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12465:24;;12449:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12449:40:418;;;;-1:-1:-1;;;12449:13:418;;;;:40;12285:3;;12258:242;;;-1:-1:-1;12518:7:418;-1:-1:-1;;;12527:19:418;;;;-1:-1:-1;11843:711:418;;;;;;:::o;9510:118::-;9569:4;9592:29;9569:4;9612:8;9592:19;:29::i;5688:144:412:-;5760:4;5783:42;:24;5817:7;5783:33;:42::i;2595:113:416:-;2645:16;2680:21;:12;:19;:21::i;6371:886:418:-;6482:8;4067:31:420;4089:8;4067:21;:31::i;:::-;6501:10:418::1;3635:1:420;3589:22:::0;;;:16:::1;:22;::::0;;;;:34:::1;;::::0;:48:::1;:34;3585:126;;3653:47;:34;;;;;;;;;;;;;;;;::::0;:45:::1;:47::i;:::-;6523:21:418::2;6547:23:::0;;;:13:::2;:23;::::0;;;;;;;6629:31:::2;::::0;::::2;::::0;;:18:::2;:31:::0;;;;;;6606:12;;::::2;::::0;6629:48:::2;::::0;6561:8;6629:38:::2;:48::i;:::-;-1:-1:-1::0;6736:12:418;;6688:10:::2;::::0;;6759:235:::2;6779:9;6775:1;:13;6759:235;;;6825:11;6813:23;;:5;6819:1;6813:8;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;::::2;::::0;::::2;;:23:::0;6809:175:::2;;6867:5:::0;6873:13:::2;6885:1;6873:9:::0;:13:::2;:::i;:::-;6867:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6856:5;6862:1;6856:8;;;;;;;;:::i;:::-;;;;;;;;;:31;;;;;;;;;;;;;;;;;;6905:5;:11;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;;;;;;;;::::2;::::0;;;;;::::2;::::0;-1:-1:-1;6964:5:418::2;;6809:175;6790:3;;6759:235;;;;7009:5;7004:59;;7016:47;:34;;;;;;;;;;;;;;;;::::0;:45:::2;:47::i;:::-;7119:16;::::0;::::2;::::0;;7143:12;;7074:83;;::::2;14682:18:::0;;;;7119:16;;;;::::2;14642:36:::0;;14641:59;7074:83;;::::2;;::::0;;7221:28:::2;::::0;7168:82:::2;::::0;7187:32:::2;::::0;7221:28:::2;::::0;7232:8;;7119:16;;7221:28:::2;;;:::i;7168:82::-;6513:744;;;;4108:1:420::1;6371:886:418::0;;;:::o;862:704:414:-;995:10;3897:31:420;:12;995:10:414;3897:21:420;:31::i;:::-;3892:104;;3944:41;:28;;;;;;;;;;;;;;;;;:39;:41::i;:::-;1086:55:414::1;:29:::0;;::::1;1139:1;1086:29:::0;;;:16:::1;:29;::::0;;;;:41:::1;;::::0;::::1;:55:::0;1082:133:::1;;1157:47;:34;;;;;;;;;;;;;;;;::::0;:45:::1;:47::i;:::-;1225:19;1247:138;;;;;;;;1334:6;1247:138;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;1364:10:::1;1247:138:::0;;;;;1225:160;-1:-1:-1;1396:25:414::1;:8;1279:11:::0;1396:12:::1;:25::i;:::-;-1:-1:-1::0;1457:29:414::1;::::0;::::1;:2;:29:::0;;;:16:::1;:29;::::0;;;;:39;;;;1489:7;;1457:29;:39;:29;;:39;::::1;::::0;;::::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;1457:39:414::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;1457:39:414::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;;;;::::1;;::::0;;::::1;;::::0;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;1512:47;;1535:10:::1;::::0;1512:47;::::1;::::0;::::1;::::0;::::1;::::0;1547:3;;1552:6;;1512:47:::1;:::i;:::-;;;;;;;;1007:559;862:704:::0;;;;:::o;4459:129:412:-;4524:4;4547:34;:20;4577:3;4547:29;:34::i;2756:2719:418:-;2861:10;3635:1:420;3589:22;;;:16;:22;;;;;:34;;;:48;:34;3585:126;;3653:47;:34;;;;;;;;;;;;;;;;;:45;:47::i;:::-;2908:10:418;2883:22:::1;2940:19:::0;;;2936:65:::1;;2961:40;:27;;;;;;;;;;;;;;;;::::0;:38:::1;:40::i;:::-;3012:38;3072:14;3053:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3053:34:418::1;;;;;;;;;;;;;;;;-1:-1:-1::0;3012:75:418;-1:-1:-1;3097:19:418::1;::::0;3131:2095:::1;3151:14;3147:1;:18;3131:2095;;;3186:31;3220:10;;3231:1;3220:13;;;;;;;:::i;:::-;;;::::0;;;::::1;::::0;-1:-1:-1;3253:39:418::1;::::0;-1:-1:-1;3273:18:418::1;::::0;::::1;3253:19;:39::i;:::-;3248:347;;3317:237;3370:18:::0;::::1;3410:27;::::0;::::1;;3459:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;3507:29;::::0;;;;::::1;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;3317:237;;::::1;::::0;;;;3507:29;3317:237:::1;:::i;:::-;;;;;;;;3572:8;;;3248:347;3647:18:::0;::::1;3609:21;3633:33:::0;;;:13:::1;:33;::::0;;;;739:1:::1;3757:12:::0;;::::1;::::0;;;::::1;:33:::0;3756:40;3752:351:::1;;3821:241;3874:18:::0;::::1;3914:27;::::0;::::1;;3963:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;4011:33;::::0;;;;::::1;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;3821:241;;::::1;::::0;;;;4011:33;3821:241:::1;:::i;:::-;;;;;;;;4080:8;;;;3752:351;4276:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;4249:23;::::0;::::1;::::0;:53:::1;::::0;;::::1;:23:::0;::::1;:53;4245:358;;4327:235;4380:18:::0;::::1;4420:27;::::0;::::1;;4469:26;::::0;;;::::1;::::0;::::1;;:::i;:::-;4517:27;::::0;;;;::::1;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;4327:235;;::::1;::::0;;;;4517:27;4327:235:::1;:::i;4245:358::-;4706:23;::::0;::::1;::::0;::::1;;;:28:::0;4702:123:::1;;4791:18:::0;::::1;4761:2;:49:::0;;;:29:::1;:49;::::0;;;;4754:56:::1;::::0;::::1;:::i;:::-;4911:27;::::0;::::1;;4884:54:::0;;4978:26:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;4952:23;::::0;::::1;:52:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;5071:18:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;5067:91;;;739:1;5109:12:::0;;::::1;:34:::0;;;;::::1;::::0;;;;::::1;;;::::0;;::::1;;::::0;;;::::1;::::0;;5067:91:::1;5172:43;;::::0;;::::1;::::0;::::1;5206:9:::0;5172:43:::1;:::i;:::-;:16:::0;5189:13;::::1;::::0;::::1;:::i;:::-;;;5172:31;;;;;;;;:::i;:::-;;;;;;:43;;;;3172:2054;;3131:2095;3167:3;;3131:2095;;;;5345:11;5327:16;5320:37;5377:91;5396:41;5450:16;5439:28;;;;;;;;:::i;5377:91::-;2873:2602;;;2756:2719:::0;;;:::o;10284:165:60:-;10417:23;;;10364:4;5006:21;;;:14;;;:21;;;;;;:26;;10387:55;10380:62;10284:165;-1:-1:-1;;;10284:165:60:o;1520:407:522:-;1653:10;1646:4;1637:7;1633:18;1626:38;1721:4;1714;1705:7;1701:18;1694:32;1850:4;1846:9;1839:4;1829:7;1823:14;1819:25;1815:41;1905:4;1900:3;1896:14;1889:4;1880:7;1876:18;1869:42;7474:138:60;7554:4;5006:21;;;:14;;;:21;;;;;;:26;;7577:28;4910:129;6867;6940:4;6963:26;6971:3;6983:5;6963:7;:26::i;7693:115::-;7756:7;7782:19;7790:3;5202:18;;5120:107;8150:129;8224:7;8250:22;8254:3;8266:5;8250:3;:22::i;12886:242:418:-;12997:12;;12977:17;13019:103;13039:9;13035:1;:13;13019:103;;;13069:42;13102:8;13069:2;:18;;:28;13088:5;13094:1;13088:8;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;13069:28;;;;;;;;;;;;;:32;:42::i;:::-;-1:-1:-1;13050:3:418;;13019:103;;;;12967:161;12886:242;;:::o;4880:182:420:-;4958:29;:2;4978:8;4958:19;:29::i;:::-;4953:103;;5003:42;:29;;;;;;;;;;;;;;;;;:40;:42::i;2997:335:416:-;3101:22;;;3097:68;;3125:40;:27;;;;;;;;;;;;;;;;;:38;:40::i;:::-;3180:20;3191:8;3180:10;:20::i;:::-;3176:73;;;3202:47;:34;;;;;;;;;;;;;;;;;:45;:47::i;:::-;3260:26;:12;3277:8;3260:16;:26::i;:::-;-1:-1:-1;3302:23:416;;;;;;;;;;;2997:335;:::o;6222:324:412:-;6300:21;;;6296:67;;6323:40;:27;;;;;;;;;;;;;;;;;:38;:40::i;:::-;6379:37;:24;6408:7;6379:28;:37::i;:::-;6374:116;;6432:47;:34;;;;;;;;;;;;;;;;;:45;:47::i;:::-;6505:34;;;;;;;;;;;6222:324;:::o;3877:767:414:-;3999:25;3991:4;:33;;;;;;;;:::i;:::-;;:227;;;-1:-1:-1;4049:21:414;4041:4;:29;;;;;;;;:::i;:::-;;:176;;;;-1:-1:-1;4097:17:414;4091:2;:23;;;;;;;;:::i;:::-;;:73;;;-1:-1:-1;4144:20:414;4138:2;:26;;;;;;;;:::i;:::-;;4091:73;:125;;;-1:-1:-1;4194:22:414;4188:2;:28;;;;;;;;:::i;:::-;;4091:125;3991:350;;;-1:-1:-1;4243:22:414;4235:4;:30;;;;;;;;:::i;:::-;;:105;;;;-1:-1:-1;4292:17:414;4286:2;:23;;;;;;;;:::i;:::-;;:53;;;-1:-1:-1;4319:20:414;4313:2;:26;;;;;;;;:::i;:::-;;4286:53;3991:469;;;-1:-1:-1;4366:20:414;4358:4;:28;;;;;;;;:::i;:::-;;:101;;;;-1:-1:-1;4413:17:414;4407:2;:23;;;;;;;;:::i;:::-;;:51;;;-1:-1:-1;4440:18:414;4434:2;:24;;;;;;;;:::i;:::-;;4407:51;3991:540;;;-1:-1:-1;4485:17:414;4477:4;:25;;;;;;;;:::i;:::-;;:53;;;;-1:-1:-1;4512:18:414;4506:2;:24;;;;;;;;:::i;:::-;;4477:53;3974:599;;;3877:767;;:::o;3974:599::-;4582:55;:42;;;;;;;;;;;;;;;;;:53;:55::i;:::-;3877:767;;:::o;13435:250:418:-;13551:12;;13531:17;13573:106;13593:9;13589:1;:13;13573:106;;;13623:45;13659:8;13623:2;:18;;:28;13642:5;13648:1;13642:8;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;13623:28;;;;;;;;;;;;;:35;:45::i;:::-;-1:-1:-1;13604:3:418;;13573:106;;13177:204;13274:9;13269:106;13285:16;;;13269:106;;;13322:42;13355:8;13322:18;:2;13341:5;;13347:1;13341:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;13322:28;;;;;;;;;;;;;-1:-1:-1;13322:28:418;;:32;:42::i;:::-;-1:-1:-1;13303:3:418;;13269:106;;13759:532;13852:14;13869:22;13852:39;;14025:4;14019;14015:15;14062:6;14056:13;14168:4;14160:6;14153:20;14231:9;14223:6;14216:4;14209;14203:11;14199:22;14191:6;14186:55;14254:21;;-1:-1:-1;;;13759:532:418:o;5131:189:420:-;5211:29;:2;5231:8;5211:19;:29::i;:::-;5207:107;;;5256:47;:34;;;;;;;;;;;;;;;;;:45;:47::i;5383:294::-;5475:5;5455:17;5497:174;5517:9;5513:1;:13;5497:174;;;5552:27;5570:5;;5576:1;5570:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5552;;:17;:27::i;:::-;5547:114;;5599:47;:34;;;;;;;;;;;;;;;;;:45;:47::i;:::-;5528:3;;5497:174;;6576:123:60;6646:4;6669:23;6674:3;6686:5;6669:4;:23::i;9650:156::-;9723:4;9746:53;9754:3;9774:23;;;9746:7;:53::i;11683:273::-;11746:16;11774:22;11799:19;11807:3;11799:7;:19::i;9332:150::-;9402:4;9425:50;9430:3;9450:23;;;9425:4;:50::i;2910:1368::-;2976:4;3105:21;;;:14;;;:21;;;;;;3141:13;;3137:1135;;3508:18;3529:12;3540:1;3529:8;:12;:::i;:::-;3575:18;;3508:33;;-1:-1:-1;3555:17:60;;3575:22;;3596:1;;3575:22;:::i;:::-;3555:42;;3630:9;3616:10;:23;3612:378;;3659:17;3679:3;:11;;3691:9;3679:22;;;;;;;;:::i;:::-;;;;;;;;;3659:42;;3826:9;3800:3;:11;;3812:10;3800:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:35;;;;3939:25;;;:14;;;:25;;;;;:36;;;3612:378;4068:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4171:3;:14;;:21;4186:5;4171:21;;;;;;;;;;;4164:28;;;4214:4;4207:11;;;;;;;3137:1135;4256:5;4249:12;;;;;5569:118;5636:7;5662:3;:11;;5674:5;5662:18;;;;;;;;:::i;:::-;;;;;;;;;5655:25;;5569:118;;;;:::o;2336:406::-;2399:4;5006:21;;;:14;;;:21;;;;;;2415:321;;-1:-1:-1;2457:23:60;;;;;;;;:11;:23;;;;;;;;;;;;;2639:18;;2615:21;;;:14;;;:21;;;;;;:42;;;;2671:11;;2415:321;-1:-1:-1;2720:5:60;2713:12;;6227:109;6283:16;6318:3;:11;;6311:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6227:109;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14:154:612;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:247;232:6;285:2;273:9;264:7;260:23;256:32;253:52;;;301:1;298;291:12;253:52;340:9;327:23;359:31;384:5;359:31;:::i;617:226::-;676:6;729:2;717:9;708:7;704:23;700:32;697:52;;;745:1;742;735:12;697:52;-1:-1:-1;790:23:612;;617:226;-1:-1:-1;617:226:612:o;848:346::-;916:6;924;977:2;965:9;956:7;952:23;948:32;945:52;;;993:1;990;983:12;945:52;-1:-1:-1;;1038:23:612;;;1158:2;1143:18;;;1130:32;;-1:-1:-1;848:346:612:o;1199:347::-;1240:3;1278:5;1272:12;1305:6;1300:3;1293:19;1361:6;1354:4;1347:5;1343:16;1336:4;1331:3;1327:14;1321:47;1413:1;1406:4;1397:6;1392:3;1388:16;1384:27;1377:38;1535:4;1465:66;1460:2;1452:6;1448:15;1444:88;1439:3;1435:98;1431:109;1424:116;;;1199:347;;;;:::o;1551:1132::-;1747:4;1795:2;1784:9;1780:18;1825:2;1814:9;1807:21;1848:6;1883;1877:13;1914:6;1906;1899:22;1952:2;1941:9;1937:18;1930:25;;2014:2;2004:6;2001:1;1997:14;1986:9;1982:30;1978:39;1964:53;;2052:2;2044:6;2040:15;2073:1;2083:571;2097:6;2094:1;2091:13;2083:571;;;2186:66;2174:9;2166:6;2162:22;2158:95;2153:3;2146:108;2283:6;2277:13;2324:2;2318:9;2310:6;2303:25;2389:18;2383:2;2379;2375:11;2369:18;2365:43;2360:2;2352:6;2348:15;2341:68;2456:2;2452;2448:11;2442:18;2422:38;;2497:4;2492:2;2484:6;2480:15;2473:29;2525:49;2568:4;2560:6;2556:17;2542:12;2525:49;:::i;:::-;2515:59;-1:-1:-1;;2609:2:612;2632:12;;;;2597:15;;;;;2119:1;2112:9;2083:571;;;-1:-1:-1;2671:6:612;;1551:1132;-1:-1:-1;;;;;;1551:1132:612:o;2688:916::-;2737:3;2776:4;2771:3;2767:14;2808:5;2802:12;2797:3;2790:25;2876:18;2868:4;2861:5;2857:16;2851:23;2847:48;2840:4;2835:3;2831:14;2824:72;2957:18;2949:4;2942:5;2938:16;2932:23;2928:48;2921:4;2916:3;2912:14;2905:72;3038:18;3030:4;3023:5;3019:16;3013:23;3009:48;3002:4;2997:3;2993:14;2986:72;3104:4;3097:5;3093:16;3087:23;3142:4;3135;3130:3;3126:14;3119:28;3169:4;3202:12;3196:19;3237:6;3231:4;3224:20;3271:3;3266;3262:13;3253:22;;3316:4;3302:12;3298:23;3284:37;;3339:1;3330:10;;3349:228;3363:6;3360:1;3357:13;3349:228;;;3445:42;3436:6;3430:13;3426:62;3419:5;3412:77;3522:4;3515:5;3511:16;3502:25;;3562:4;3554:6;3550:17;3540:27;;3385:1;3382;3378:9;3373:14;;3349:228;;;-1:-1:-1;3593:5:612;2688:916;-1:-1:-1;;;;;2688:916:612:o;3609:259::-;3790:2;3779:9;3772:21;3753:4;3810:52;3858:2;3847:9;3843:18;3835:6;3810:52;:::i;3873:487::-;3950:6;3958;3966;4019:2;4007:9;3998:7;3994:23;3990:32;3987:52;;;4035:1;4032;4025:12;3987:52;4074:9;4061:23;4093:31;4118:5;4093:31;:::i;:::-;4143:5;4221:2;4206:18;;4193:32;;-1:-1:-1;4324:2:612;4309:18;;;4296:32;;3873:487;-1:-1:-1;;;3873:487:612:o;4365:835::-;4430:3;4461;4493:5;4487:12;4520:6;4515:3;4508:19;4552:4;4547:3;4543:14;4536:21;;4610:4;4600:6;4597:1;4593:14;4586:5;4582:26;4578:37;4649:4;4642:5;4638:16;4672:1;4682:492;4696:6;4693:1;4690:13;4682:492;;;4779:66;4771:5;4765:4;4761:16;4757:89;4752:3;4745:102;4876:6;4870:13;4915:2;4909:9;4903:4;4896:23;4966:4;4962:2;4958:13;4952:20;4932:40;;5009:4;5002;4996;4992:15;4985:29;5035:55;5084:4;5078;5074:15;5060:12;5035:55;:::i;:::-;5125:4;5150:14;;;;5027:63;;-1:-1:-1;5113:17:612;;;;;-1:-1:-1;4718:1:612;4711:9;4682:492;;;-1:-1:-1;5190:4:612;;4365:835;-1:-1:-1;;;;;;4365:835:612:o;5205:337::-;5448:2;5437:9;5430:21;5411:4;5468:68;5532:2;5521:9;5517:18;5509:6;5468:68;:::i;5547:367::-;5610:8;5620:6;5674:3;5667:4;5659:6;5655:17;5651:27;5641:55;;5692:1;5689;5682:12;5641:55;-1:-1:-1;5715:20:612;;5758:18;5747:30;;5744:50;;;5790:1;5787;5780:12;5744:50;5827:4;5819:6;5815:17;5803:29;;5887:3;5880:4;5870:6;5867:1;5863:14;5855:6;5851:27;5847:38;5844:47;5841:67;;;5904:1;5901;5894:12;5919:437;6005:6;6013;6066:2;6054:9;6045:7;6041:23;6037:32;6034:52;;;6082:1;6079;6072:12;6034:52;6122:9;6109:23;6155:18;6147:6;6144:30;6141:50;;;6187:1;6184;6177:12;6141:50;6226:70;6288:7;6279:6;6268:9;6264:22;6226:70;:::i;:::-;6315:8;;6200:96;;-1:-1:-1;5919:437:612;-1:-1:-1;;;;5919:437:612:o;6543:490::-;6798:2;6787:9;6780:21;6761:4;6824:52;6872:2;6861:9;6857:18;6849:6;6824:52;:::i;:::-;6912:6;6907:2;6896:9;6892:18;6885:34;6967:9;6959:6;6955:22;6950:2;6939:9;6935:18;6928:50;6995:32;7020:6;7012;6995:32;:::i;:::-;6987:40;6543:490;-1:-1:-1;;;;;;6543:490:612:o;7038:151::-;7114:20;;7163:1;7153:12;;7143:40;;7179:1;7176;7169:12;7143:40;7038:151;;;:::o;7194:346::-;7279:6;7287;7340:2;7328:9;7319:7;7315:23;7311:32;7308:52;;;7356:1;7353;7346:12;7308:52;7395:9;7382:23;7414:31;7439:5;7414:31;:::i;:::-;7464:5;-1:-1:-1;7488:46:612;7530:2;7515:18;;7488:46;:::i;:::-;7478:56;;7194:346;;;;;:::o;8035:347::-;8086:8;8096:6;8150:3;8143:4;8135:6;8131:17;8127:27;8117:55;;8168:1;8165;8158:12;8117:55;-1:-1:-1;8191:20:612;;8234:18;8223:30;;8220:50;;;8266:1;8263;8256:12;8220:50;8303:4;8295:6;8291:17;8279:29;;8355:3;8348:4;8339:6;8331;8327:19;8323:30;8320:39;8317:59;;;8372:1;8369;8362:12;8387:975;8511:6;8519;8527;8535;8543;8551;8604:3;8592:9;8583:7;8579:23;8575:33;8572:53;;;8621:1;8618;8611:12;8572:53;8666:23;;;-1:-1:-1;8764:2:612;8749:18;;8736:32;8791:18;8780:30;;8777:50;;;8823:1;8820;8813:12;8777:50;8862:70;8924:7;8915:6;8904:9;8900:22;8862:70;:::i;:::-;8951:8;;-1:-1:-1;8836:96:612;-1:-1:-1;;9059:2:612;9044:18;;9031:32;;-1:-1:-1;9142:2:612;9127:18;;9114:32;9171:18;9158:32;;9155:52;;;9203:1;9200;9193:12;9155:52;9242:60;9294:7;9283:8;9272:9;9268:24;9242:60;:::i;:::-;8387:975;;;;-1:-1:-1;8387:975:612;;-1:-1:-1;8387:975:612;;9321:8;;8387:975;-1:-1:-1;;;8387:975:612:o;9367:184::-;9419:77;9416:1;9409:88;9516:4;9513:1;9506:15;9540:4;9537:1;9530:15;9556:864;9599:5;9652:3;9645:4;9637:6;9633:17;9629:27;9619:55;;9670:1;9667;9660:12;9619:55;9710:6;9697:20;9740:18;9732:6;9729:30;9726:56;;;9762:18;;:::i;:::-;9831:2;9825:9;9897:4;9885:17;;9978:66;9881:90;;;9973:2;9877:99;9873:172;9861:185;;10076:18;10061:34;;10097:22;;;10058:62;10055:88;;;10123:18;;:::i;:::-;10159:2;10152:22;10183;;;10224:19;;;10245:4;10220:30;10217:39;-1:-1:-1;10214:59:612;;;10269:1;10266;10259:12;10214:59;10333:6;10326:4;10318:6;10314:17;10307:4;10299:6;10295:17;10282:58;10388:1;10360:19;;;10381:4;10356:30;10349:41;;;;10364:6;9556:864;-1:-1:-1;;;9556:864:612:o;10425:457::-;10503:6;10511;10564:2;10552:9;10543:7;10539:23;10535:32;10532:52;;;10580:1;10577;10570:12;10532:52;10619:9;10606:23;10638:31;10663:5;10638:31;:::i;:::-;10688:5;-1:-1:-1;10744:2:612;10729:18;;10716:32;10771:18;10760:30;;10757:50;;;10803:1;10800;10793:12;10757:50;10826;10868:7;10859:6;10848:9;10844:22;10826:50;:::i;:::-;10816:60;;;10425:457;;;;;:::o;10887:184::-;10939:77;10936:1;10929:88;11036:4;11033:1;11026:15;11060:4;11057:1;11050:15;11076:295;11158:1;11151:5;11148:12;11138:200;;11194:77;11191:1;11184:88;11295:4;11292:1;11285:15;11323:4;11320:1;11313:15;11138:200;11347:18;;11076:295::o;11376:502::-;11441:45;11482:3;11474:5;11468:12;11441:45;:::i;:::-;11423:3;11532:4;11525:5;11521:16;11515:23;11570:4;11563;11558:3;11554:14;11547:28;11596:46;11636:4;11631:3;11627:14;11613:12;11596:46;:::i;:::-;11584:58;;11703:42;11695:4;11688:5;11684:16;11678:23;11674:72;11667:4;11662:3;11658:14;11651:96;11808:42;11800:4;11793:5;11789:16;11783:23;11779:72;11772:4;11767:3;11763:14;11756:96;11868:4;11861:11;;;11376:502;;;;:::o;11883:253::-;12060:2;12049:9;12042:21;12023:4;12080:50;12126:2;12115:9;12111:18;12103:6;12080:50;:::i;12141:367::-;12209:6;12217;12270:2;12258:9;12249:7;12245:23;12241:32;12238:52;;;12286:1;12283;12276:12;12238:52;12331:23;;;-1:-1:-1;12430:2:612;12415:18;;12402:32;12443:33;12402:32;12443:33;:::i;:::-;12495:7;12485:17;;;12141:367;;;;;:::o;12513:129::-;12598:18;12591:5;12587:30;12580:5;12577:41;12567:69;;12632:1;12629;12622:12;12647:662;12734:6;12742;12750;12758;12811:2;12799:9;12790:7;12786:23;12782:32;12779:52;;;12827:1;12824;12817:12;12779:52;12872:23;;;-1:-1:-1;12971:2:612;12956:18;;12943:32;12984;12943;12984;:::i;:::-;13035:7;-1:-1:-1;13093:2:612;13078:18;;13065:32;13120:18;13109:30;;13106:50;;;13152:1;13149;13142:12;13106:50;13191:58;13241:7;13232:6;13221:9;13217:22;13191:58;:::i;:::-;12647:662;;;;-1:-1:-1;13268:8:612;-1:-1:-1;;;;12647:662:612:o;13314:874::-;13504:4;13552:2;13541:9;13537:18;13582:2;13571:9;13564:21;13605:6;13640;13634:13;13671:6;13663;13656:22;13709:2;13698:9;13694:18;13687:25;;13771:2;13761:6;13758:1;13754:14;13743:9;13739:30;13735:39;13721:53;;13809:2;13801:6;13797:15;13830:1;13840:319;13854:6;13851:1;13848:13;13840:319;;;13943:66;13931:9;13923:6;13919:22;13915:95;13910:3;13903:108;14034:45;14072:6;14063;14057:13;14034:45;:::i;:::-;14024:55;-1:-1:-1;14114:2:612;14137:12;;;;14102:15;;;;;13876:1;13869:9;13840:319;;14193:622;14298:6;14306;14314;14367:2;14355:9;14346:7;14342:23;14338:32;14335:52;;;14383:1;14380;14373:12;14335:52;14428:23;;;-1:-1:-1;14548:2:612;14533:18;;14520:32;;-1:-1:-1;14629:2:612;14614:18;;14601:32;14656:18;14645:30;;14642:50;;;14688:1;14685;14678:12;14642:50;14711:22;;14767:3;14749:16;;;14745:26;14742:46;;;14784:1;14781;14774:12;14742:46;14807:2;14797:12;;;14193:622;;;;;:::o;14820:365::-;14887:6;14895;14948:2;14936:9;14927:7;14923:23;14919:32;14916:52;;;14964:1;14961;14954:12;14916:52;15009:23;;;-1:-1:-1;15108:2:612;15093:18;;15080:32;15121;15080;15121;:::i;15190:660::-;15380:2;15392:21;;;15462:13;;15365:18;;;15484:22;;;15332:4;;15563:15;;;15537:2;15522:18;;;15332:4;15606:218;15620:6;15617:1;15614:13;15606:218;;;15685:13;;15700:42;15681:62;15669:75;;15773:2;15799:15;;;;15764:12;;;;15642:1;15635:9;15606:218;;;-1:-1:-1;15841:3:612;;15190:660;-1:-1:-1;;;;;15190:660:612:o;15855:418::-;16120:2;16109:9;16102:21;16083:4;16140:68;16204:2;16193:9;16189:18;16181:6;16140:68;:::i;:::-;16132:76;;16258:6;16251:14;16244:22;16239:2;16228:9;16224:18;16217:50;15855:418;;;;;:::o;16278:556::-;16382:6;16390;16398;16451:2;16439:9;16430:7;16426:23;16422:32;16419:52;;;16467:1;16464;16457:12;16419:52;16506:9;16493:23;16525:31;16550:5;16525:31;:::i;:::-;16575:5;-1:-1:-1;16631:2:612;16616:18;;16603:32;16658:18;16647:30;;16644:50;;;16690:1;16687;16680:12;16644:50;16713;16755:7;16746:6;16735:9;16731:22;16713:50;:::i;:::-;16703:60;;;16782:46;16824:2;16813:9;16809:18;16782:46;:::i;:::-;16772:56;;16278:556;;;;;:::o;16839:647::-;16959:6;16967;17020:2;17008:9;16999:7;16995:23;16991:32;16988:52;;;17036:1;17033;17026:12;16988:52;17076:9;17063:23;17109:18;17101:6;17098:30;17095:50;;;17141:1;17138;17131:12;17095:50;17164:22;;17217:4;17209:13;;17205:27;-1:-1:-1;17195:55:612;;17246:1;17243;17236:12;17195:55;17286:2;17273:16;17312:18;17304:6;17301:30;17298:50;;;17344:1;17341;17334:12;17298:50;17400:7;17395:2;17387:4;17379:6;17375:17;17371:2;17367:26;17363:35;17360:48;17357:68;;;17421:1;17418;17411:12;17357:68;17452:2;17444:11;;;;;17474:6;;-1:-1:-1;16839:647:612;-1:-1:-1;;;16839:647:612:o;18028:184::-;18080:77;18077:1;18070:88;18177:4;18174:1;18167:15;18201:4;18198:1;18191:15;18217:125;18282:9;;;18303:10;;;18300:36;;;18316:18;;:::i;18347:184::-;18399:77;18396:1;18389:88;18496:4;18493:1;18486:15;18520:4;18517:1;18510:15;18536:437;18615:1;18611:12;;;;18658;;;18679:61;;18733:4;18725:6;18721:17;18711:27;;18679:61;18786:2;18778:6;18775:14;18755:18;18752:38;18749:218;;18823:77;18820:1;18813:88;18924:4;18921:1;18914:15;18952:4;18949:1;18942:15;18978:195;19017:3;19048:66;19041:5;19038:77;19035:103;;19118:18;;:::i;:::-;-1:-1:-1;19165:1:612;19154:13;;18978:195::o;19409:212::-;19558:2;19543:18;;19570:45;19547:9;19597:6;19570:45;:::i;19626:404::-;19740:4;19798:11;19785:25;19888:66;19877:8;19861:14;19857:29;19853:102;19833:18;19829:127;19819:155;;19970:1;19967;19960:12;19819:155;19991:33;;;;;19626:404;-1:-1:-1;;19626:404:612:o;20035:269::-;20092:6;20145:2;20133:9;20124:7;20120:23;20116:32;20113:52;;;20161:1;20158;20151:12;20113:52;20200:9;20187:23;20250:4;20243:5;20239:16;20232:5;20229:27;20219:55;;20270:1;20267;20260:12;20309:604;20402:4;20408:6;20468:11;20455:25;20558:66;20547:8;20531:14;20527:29;20523:102;20503:18;20499:127;20489:155;;20640:1;20637;20630:12;20489:155;20667:33;;20719:20;;;-1:-1:-1;20762:18:612;20751:30;;20748:50;;;20794:1;20791;20784:12;20748:50;20827:4;20815:17;;-1:-1:-1;20878:1:612;20874:14;;;20858;20854:35;20844:46;;20841:66;;;20903:1;20900;20893:12;21055:1203;21265:6;21254:9;21247:25;21308:2;21303;21292:9;21288:18;21281:30;21228:4;21349:3;21338:9;21334:19;21395:6;21389:13;21384:2;21373:9;21369:18;21362:41;21447:4;21439:6;21435:17;21429:24;21504:18;21493:9;21489:34;21484:2;21473:9;21469:18;21462:62;21585:18;21573:9;21569:2;21565:18;21561:43;21555:3;21544:9;21540:19;21533:72;21668:18;21656:9;21651:3;21647:19;21643:44;21636:4;21625:9;21621:20;21614:74;;21729:4;21721:6;21717:17;21771:4;21765:3;21754:9;21750:19;21743:33;21796:6;21831:12;21825:19;21868:6;21860;21853:22;21906:3;21895:9;21891:19;21884:26;;21929:12;21926:1;21919:23;21978:2;21975:1;21965:16;21951:30;;21999:1;21990:10;;22009:223;22023:6;22020:1;22017:13;22009:223;;;22106:42;22097:6;22091:13;22087:62;22082:3;22075:75;22179:2;22174:3;22170:12;22163:19;;22217:4;22209:6;22205:17;22195:27;;22045:4;22042:1;22038:12;22033:17;;22009:223;;;-1:-1:-1;22249:3:612;21055:1203;-1:-1:-1;;;;;;21055:1203:612:o;22263:146::-;22325:78;22343:3;22336:5;22333:14;22325:78;;;22399:1;22385:16;;22370:1;22359:13;22325:78;;22414:417;22515:2;22510:3;22507:11;22504:321;;;22551:5;22548:1;22541:16;22595:4;22592:1;22582:18;22665:2;22653:10;22649:19;22646:1;22642:27;22636:4;22632:38;22701:4;22689:10;22686:20;22683:47;;;-1:-1:-1;22724:4:612;22683:47;22743:72;22809:2;22804:3;22800:12;22797:1;22793:20;22787:4;22783:31;22770:11;22743:72;:::i;23067:1325::-;23189:18;23184:3;23181:27;23178:53;;;23211:18;;:::i;:::-;23240:93;23329:3;23289:38;23321:4;23315:11;23289:38;:::i;:::-;23283:4;23240:93;:::i;:::-;23359:1;23384:2;23379:3;23376:11;23401:1;23396:738;;;;24178:1;24195:3;24192:93;;;-1:-1:-1;24251:19:612;;;24238:33;24192:93;22973:66;22964:1;22960:11;;;22956:84;22952:89;22942:100;23048:1;23044:11;;;22939:117;24298:78;;23369:1017;;23396:738;21002:1;20995:14;;;21039:4;21026:18;;23441:66;23432:76;;;23617:229;23631:7;23628:1;23625:14;23617:229;;;23720:19;;;23707:33;23692:49;;23827:4;23812:20;;;;23780:1;23768:14;;;;23647:12;23617:229;;;23621:3;23874;23865:7;23862:16;23859:219;;;23994:66;23988:3;23982;23979:1;23975:11;23971:21;23967:94;23963:99;23950:9;23945:3;23941:19;23928:33;23924:139;23916:6;23909:155;23859:219;;;24121:1;24115:3;24112:1;24108:11;24104:19;24098:4;24091:33;23369:1017;;23067:1325;;;:::o;24397:303::-;24528:3;24566:6;24560:13;24612:6;24605:4;24597:6;24593:17;24588:3;24582:37;24674:1;24638:16;;24663:13;;;-1:-1:-1;24638:16:612;24397:303;-1:-1:-1;24397:303:612:o;24705:855::-;24833:3;24862:1;24895:6;24889:13;24925:36;24951:9;24925:36;:::i;:::-;24992:1;24977:17;;25003:191;;;;25208:1;25203:332;;;;24970:565;;25003:191;25051:66;25040:9;25036:82;25031:3;25024:95;25174:6;25167:14;25160:22;25152:6;25148:35;25143:3;25139:45;25132:52;;25003:191;;25203:332;25234:6;25231:1;25224:17;25282:4;25279:1;25269:18;25309:1;25323:166;25337:6;25334:1;25331:13;25323:166;;;25417:14;;25404:11;;;25397:35;25473:1;25460:15;;;;25359:4;25352:12;25323:166;;;25327:3;;25518:6;25513:3;25509:16;25502:23;;24970:565;-1:-1:-1;25551:3:612;;24705:855;-1:-1:-1;;;;;24705:855:612:o;25565:1428::-;25691:3;25685:10;25718:18;25710:6;25707:30;25704:56;;;25740:18;;:::i;:::-;25769:96;25858:6;25818:38;25850:4;25844:11;25818:38;:::i;:::-;25812:4;25769:96;:::i;:::-;25914:4;25945:2;25934:14;;25962:1;25957:779;;;;26780:1;26797:6;26794:89;;;-1:-1:-1;26849:19:612;;;26843:26;26794:89;23048:1;23044:11;;;22973:66;22964:1;22960:11;;;22956:84;22952:89;22942:100;;22939:117;26909:67;26903:4;26896:81;;25927:1060;;25957:779;21002:1;20995:14;;;21039:4;21026:18;;26005:66;25993:79;;;26181:222;26195:7;26192:1;26189:14;26181:222;;;26277:19;;;26271:26;26256:42;;26384:4;26369:20;;;;26337:1;26325:14;;;;26211:12;26181:222;;;26185:3;26431:6;26422:7;26419:19;26416:261;;;26492:19;;;26486:26;26593:66;26575:1;26571:14;;;26587:3;26567:24;26563:97;26559:102;26544:118;26529:134;;26416:261;-1:-1:-1;;;;26723:1:612;26707:14;;;26703:22;26690:36;;-1:-1:-1;25565:1428:612:o;26998:219::-;27147:2;27136:9;27129:21;27110:4;27167:44;27207:2;27196:9;27192:18;27184:6;27167:44;:::i;27222:698::-;27455:6;27444:9;27437:25;27510:18;27502:6;27498:31;27493:2;27482:9;27478:18;27471:59;27566:3;27561:2;27550:9;27546:18;27539:31;27607:6;27601:3;27590:9;27586:19;27579:35;27665:6;27657;27651:3;27640:9;27636:19;27623:49;27722:1;27716:3;27707:6;27696:9;27692:22;27688:32;27681:43;27418:4;27851:3;27781:66;27776:2;27768:6;27764:15;27760:88;27749:9;27745:104;27741:114;27733:122;;27905:6;27898:14;27891:22;27886:2;27875:9;27871:18;27864:50;27222:698;;;;;;;;:::o;29356:832::-;29480:18;29475:3;29472:27;29469:53;;;29502:18;;:::i;:::-;29542:20;29537:3;29534:29;29531:55;;;29566:18;;:::i;:::-;29615:3;29609:10;29640:3;29635;29628:16;29664:6;29659:3;29656:15;29653:182;;;29704:3;29701:1;29694:14;29746:4;29743:1;29733:18;29764:61;29817:6;29811:4;29807:17;29801:3;29795:4;29791:14;29764:61;:::i;:::-;;29653:182;;29858:3;29880;29877:1;29870:14;29920:4;29917:1;29907:18;29943:1;29953:229;29967:3;29964:1;29961:10;29953:229;;;30039:6;30026:20;30059:31;30084:5;30059:31;:::i;:::-;30150:14;;;30143:29;30125:4;30113:17;;;;;29986:1;29979:9;29953:229;;30193:1660;30359:5;30346:19;30340:4;30333:33;30403:1;30397:4;30393:12;30453:2;30446:5;30442:14;30429:28;30466:32;30490:7;30466:32;:::i;:::-;30523:10;30517:17;30582:2;30575:5;30571:14;30558:28;30595:32;30619:7;30595:32;:::i;:::-;30795:34;30785:7;30781:2;30777:16;30773:57;30751:18;30742:7;30738:32;30669:66;30665:2;30661:75;30658:113;30655:176;30643:10;30636:196;;;;30860:1;30909:2;30902:5;30898:14;30885:28;30922:32;30946:7;30922:32;:::i;:::-;31004:17;;31060:66;31052:75;31137:3;31133:17;;;31152:50;31129:74;31049:155;31030:175;;;-1:-1:-1;;;;;31299:15:612;;31286:29;31366:14;31362:26;;;31390:66;31358:99;31334:124;;31324:152;;31472:1;31469;31462:12;31324:152;31499:30;;31548:20;;;-1:-1:-1;31591:18:612;31580:30;;31577:50;;;31623:1;31620;31613:12;31577:50;31656:4;31644:17;;-1:-1:-1;31707:1:612;31703:14;;;31687;31683:35;31673:46;;31670:66;;;31732:1;31729;31722:12;31670:66;31745:102;31840:6;31834:4;31830:1;31824:4;31820:12;31745:102;:::i;31858:528::-;31958:6;31953:3;31946:19;31990:4;31985:3;31981:14;31974:21;;31928:3;32018:5;32041:1;32051:310;32065:6;32062:1;32059:13;32051:310;;;32142:6;32129:20;32162:33;32187:7;32162:33;:::i;:::-;32233:42;32220:56;32208:69;;32306:4;32297:14;;;;32334:17;;;;;32087:1;32080:9;32051:310;;;-1:-1:-1;32377:3:612;;31858:528;-1:-1:-1;;;;31858:528:612:o;32391:1495::-;32602:6;32591:9;32584:25;32645:2;32640;32629:9;32625:18;32618:30;32565:4;32670:1;32702:6;32689:20;32680:29;;32745:5;32740:2;32729:9;32725:18;32718:33;;32800:2;32792:6;32788:15;32775:29;32813:32;32837:7;32813:32;:::i;:::-;32894:18;32881:32;32876:2;32861:18;;32854:60;32963:2;32951:15;;32938:29;32976:32;32938:29;32976:32;:::i;:::-;33058:18;33045:32;33039:3;33024:19;;33017:61;33127:2;33115:15;;33102:29;33140:32;33102:29;33140:32;:::i;:::-;33223:18;33210:32;33203:4;33188:20;;33181:62;33303:3;33291:16;;33278:30;33359:14;33355:27;;;33384:66;33351:100;33327:125;;33317:153;;33466:1;33463;33456:12;33317:153;33494:31;;33606:2;33593:16;;;33548:21;33632:18;33621:30;;33618:50;;;33664:1;33661;33654:12;33618:50;33720:6;33717:1;33713:14;33697;33693:35;33684:7;33680:49;33677:69;;;33742:1;33739;33732:12;33677:69;33783:4;33777:3;33766:9;33762:19;33755:33;33805:75;33875:3;33864:9;33860:19;33852:6;33843:7;33805:75;:::i;33891:128::-;33958:9;;;33979:11;;;33976:37;;;33993:18;;:::i;34024:1531::-;34137:3;34131:4;34128:13;34125:26;;34144:5;;34024:1531::o;34125:26::-;34174:37;34206:3;34200:10;34174:37;:::i;:::-;34234:18;34226:6;34223:30;34220:56;;;34256:18;;:::i;:::-;34285:96;34374:6;34334:38;34366:4;34360:11;34334:38;:::i;34285:96::-;34407:1;34435:2;34427:6;34424:14;34452:1;34447:851;;;;35342:1;35359:6;35356:89;;;-1:-1:-1;35411:19:612;;;35405:26;23048:1;23044:11;;;22973:66;22964:1;22960:11;;;22956:84;22952:89;22942:100;;22939:117;35471:67;22836:226;34447:851;21002:1;20995:14;;;21039:4;21026:18;;;20995:14;;;21026:18;;;34495:66;34483:79;;;34742:221;34756:7;34753:1;34750:14;34742:221;;;34838:21;;;34832:28;34817:44;;34900:1;34932:17;;;;34888:14;;;;34779:4;34772:12;34742:221;;;34746:3;34991:6;34982:7;34979:19;34976:263;;;35052:21;;;35046:28;35155:66;35137:1;35133:14;;;35149:3;35129:24;35125:97;35121:102;35106:118;35091:134;;34976:263;-1:-1:-1;;;;;35285:1:612;35269:14;;;35265:22;35252:36;;-1:-1:-1;34024:1531:612:o;35560:184::-;35612:77;35609:1;35602:88;35709:4;35706:1;35699:15;35733:4;35730:1;35723:15;35749:325;35941:2;35930:9;35923:21;35904:4;35961:44;36001:2;35990:9;35986:18;35978:6;35961:44;:::i;:::-;35953:52;;36014:54;36064:2;36053:9;36049:18;36041:6;36014:54;:::i;36079:245::-;36137:6;36190:2;36178:9;36169:7;36165:23;36161:32;36158:52;;;36206:1;36203;36196:12;36158:52;36245:9;36232:23;36264:30;36288:5;36264:30;:::i;36329:457::-;36560:6;36549:9;36542:25;36603:6;36598:2;36587:9;36583:18;36576:34;36658:18;36650:6;36646:31;36641:2;36630:9;36626:18;36619:59;36714:3;36709:2;36698:9;36694:18;36687:31;36523:4;36735:45;36775:3;36764:9;36760:19;36752:6;36735:45;:::i;36791:160::-;36856:20;;36912:13;;36905:21;36895:32;;36885:60;;36941:1;36938;36931:12;36956:180;37012:6;37065:2;37053:9;37044:7;37040:23;37036:32;37033:52;;;37081:1;37078;37071:12;37033:52;37104:26;37120:9;37104:26;:::i;37141:995::-;37232:6;37292:3;37280:9;37271:7;37267:23;37263:33;37308:2;37305:22;;;37323:1;37320;37313:12;37305:22;-1:-1:-1;37392:2:612;37386:9;37434:3;37422:16;;37468:18;37453:34;;37489:22;;;37450:62;37447:88;;;37515:18;;:::i;:::-;37551:2;37544:22;;;37607:23;;37639:21;;37733:2;37718:18;;;37705:32;37753:15;;;37746:32;37836:18;;;37823:32;37871:15;;;37864:32;37948:2;37933:18;;37920:32;37961;37920;37961;:::i;:::-;38021:2;38009:15;;38002:32;38068:36;38099:3;38084:19;;38068:36;:::i;:::-;38062:3;38050:16;;38043:62;38054:6;37141:995;-1:-1:-1;;;37141:995:612:o;38141:970::-;38395:2;38407:21;;;38477:13;;38380:18;;;38499:22;;;38347:4;;38578:15;;;38552:2;38537:18;;;38347:4;38621:464;38635:6;38632:1;38629:13;38621:464;;;38700:6;38694:13;38738:2;38732:9;38727:3;38720:22;38790:2;38786;38782:11;38776:18;38771:2;38766:3;38762:12;38755:40;38843:2;38839;38835:11;38829:18;38824:2;38819:3;38815:12;38808:40;38910:18;38902:4;38898:2;38894:13;38888:20;38884:45;38877:4;38872:3;38868:14;38861:69;38994:4;38990:2;38986:13;38980:20;38973:28;38966:36;38959:4;38954:3;38950:14;38943:60;;39032:4;39027:3;39023:14;39016:21;;39072:2;39064:6;39060:15;39050:25;;38657:1;38654;38650:9;38645:14;;38621:464;","linkReferences":{}},"methodIdentifiers":{"__OperatorRegistry_init(address[])":"ba428b1a","__RiverConfig_init(address[])":"31374511","addStream(bytes32,bytes32,(bytes32,uint64,uint64,uint64,address[]))":"b2e76b8e","allocateStream(bytes32,address[],bytes32,bytes)":"6b883c39","approveConfigurationManager(address)":"c179b85f","approveOperator(address)":"242cae9f","configurationExists(bytes32)":"fc207c01","deleteConfiguration(bytes32)":"035759e1","deleteConfigurationOnBlock(bytes32,uint64)":"b7f227ee","getAllConfiguration()":"081814db","getAllNodeAddresses()":"c8fe3a01","getAllNodes()":"a1174e7d","getAllOperators()":"d911c632","getConfiguration(bytes32)":"9283ae3a","getNode(address)":"9d209048","getNodeCount()":"39bf397e","getPaginatedStreams(uint256,uint256)":"ca78c41a","getPaginatedStreamsOnNode(address,uint256,uint256)":"22bbda64","getStream(bytes32)":"1290abe8","getStreamCount()":"c0f22084","getStreamCountOnNode(address)":"c87d1324","getStreamWithGenesis(bytes32)":"3c2544d1","isConfigurationManager(address)":"d4bd44a0","isNode(address)":"01750152","isOperator(address)":"6d70f7ae","isStream(bytes32)":"d0c27c4f","placeStreamOnNode(bytes32,address)":"9ee86d38","registerNode(address,string,uint8)":"eecc66f4","removeConfigurationManager(address)":"813049ec","removeNode(address)":"b2b99ec9","removeOperator(address)":"ac8a584a","removeStreamFromNode(bytes32,address)":"ee885b12","setConfiguration(bytes32,uint64,bytes)":"a09449a6","setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":"ff3a14ab","setStreamReplicationFactor((bytes32,address[],uint8)[])":"5c665ce9","syncNodesOnStreams(uint256,uint256)":"03cc8793","updateNodeStatus(address,uint8)":"581f8b9b","updateNodeUrl(address,string)":"7e4465e7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"approvedOperators\",\"type\":\"address[]\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Initializable_InInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initializable_NotInInitializingState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_AlreadySupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Introspection_NotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Ownable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Ownable__ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"block\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"deleted\",\"type\":\"bool\"}],\"name\":\"ConfigurationChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"ConfigurationManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"ConfigurationManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"InterfaceRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"NodeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"NodeRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"NodeStatusUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"NodeUrlUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operatorAddress\",\"type\":\"address\"}],\"name\":\"OperatorAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operatorAddress\",\"type\":\"address\"}],\"name\":\"OperatorRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"StreamLastMiniblockUpdateFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"enum IStreamRegistryBase.StreamEventType\",\"name\":\"eventType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StreamUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"initialOperators\",\"type\":\"address[]\"}],\"name\":\"__OperatorRegistry_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"configManagers\",\"type\":\"address[]\"}],\"name\":\"__RiverConfig_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"stream\",\"type\":\"tuple\"}],\"name\":\"addStream\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"},{\"internalType\":\"bytes32\",\"name\":\"genesisMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"genesisMiniblock\",\"type\":\"bytes\"}],\"name\":\"allocateStream\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"approveConfigurationManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"approveOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"configurationExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"deleteConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"}],\"name\":\"deleteConfigurationOnBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllConfiguration\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"internalType\":\"struct Setting[]\",\"name\":\"settings\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllNodeAddresses\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllNodes\",\"outputs\":[{\"components\":[{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"internalType\":\"struct Node[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllOperators\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getConfiguration\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"internalType\":\"struct Setting[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"getNode\",\"outputs\":[{\"components\":[{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"internalType\":\"struct Node\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNodeCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stop\",\"type\":\"uint256\"}],\"name\":\"getPaginatedStreams\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"stream\",\"type\":\"tuple\"}],\"internalType\":\"struct StreamWithId[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stop\",\"type\":\"uint256\"}],\"name\":\"getPaginatedStreamsOnNode\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"stream\",\"type\":\"tuple\"}],\"internalType\":\"struct StreamWithId[]\",\"name\":\"streams\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"getStream\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"stream\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStreamCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"getStreamCountOnNode\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"getStreamWithGenesis\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reserved0\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"flags\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"}],\"internalType\":\"struct Stream\",\"name\":\"stream\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"isConfigurationManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"isNode\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"}],\"name\":\"isStream\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"placeStreamOnNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"registerNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"removeConfigurationManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"removeNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"removeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"}],\"name\":\"removeStreamFromNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"setConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"prevMiniBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"lastMiniblockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"lastMiniblockNum\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isSealed\",\"type\":\"bool\"}],\"internalType\":\"struct SetMiniblock[]\",\"name\":\"miniblocks\",\"type\":\"tuple[]\"}],\"name\":\"setStreamLastMiniblockBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"streamId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"nodes\",\"type\":\"address[]\"},{\"internalType\":\"uint8\",\"name\":\"replicationFactor\",\"type\":\"uint8\"}],\"internalType\":\"struct SetStreamReplicationFactor[]\",\"name\":\"requests\",\"type\":\"tuple[]\"}],\"name\":\"setStreamReplicationFactor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stop\",\"type\":\"uint256\"}],\"name\":\"syncNodesOnStreams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"enum NodeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"updateNodeUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ConfigurationChanged(bytes32,uint64,bytes,bool)\":{\"details\":\"if deleted is true and block is max value of uint64, the setting is deleted on all blocks\",\"params\":{\"block\":\"The block number on which the setting becomes active\",\"deleted\":\"True if the setting is deleted (value is empty in this case)\",\"key\":\"The setting key that is changed\",\"value\":\"The new setting value\"}},\"ConfigurationManagerAdded(address)\":{\"params\":{\"manager\":\"The configuration manager address\"}},\"ConfigurationManagerRemoved(address)\":{\"params\":{\"manager\":\"The configuration manager address\"}},\"OwnershipTransferred(address,address)\":{\"details\":\"This emits when ownership of a contract changes.\"},\"StreamUpdated(uint8,bytes)\":{\"details\":\"One event to rule them all To decode: switch (eventType) { case StreamEventType.Allocate: case StreamEventType.Create: case StreamEventType.PlacementUpdated: (bytes32 streamId, Stream memory stream) = abi.decode(data, (bytes32, Stream)); case StreamEventType.LastMiniblockBatchUpdated: (SetMiniblock[] memory miniBlockUpdates) = abi.decode(data, (SetMiniblock[])); }\",\"params\":{\"data\":\"The data of the stream event\",\"eventType\":\"The type of stream event\"}}},\"kind\":\"dev\",\"methods\":{\"addStream(bytes32,bytes32,(bytes32,uint64,uint64,uint64,address[]))\":{\"details\":\"Only callable by registered nodes\",\"params\":{\"stream\":\"is the Stream object to be created\"}},\"allocateStream(bytes32,address[],bytes32,bytes)\":{\"details\":\"Only callable by registered nodes\",\"params\":{\"genesisMiniblock\":\"The genesis miniblock data\",\"genesisMiniblockHash\":\"The hash of the genesis miniblock\",\"nodes\":\"The list of nodes to place the stream on\",\"streamId\":\"The ID of the stream to allocate\"}},\"approveConfigurationManager(address)\":{\"params\":{\"manager\":\"The address to add\"}},\"configurationExists(bytes32)\":{\"params\":{\"key\":\"The setting key\"},\"returns\":{\"_0\":\"True if the setting exists\"}},\"deleteConfiguration(bytes32)\":{\"details\":\"Emits ConfigurationChanged event with deleted flag set to true and block number set to max value of uint64\",\"params\":{\"key\":\"The setting key\"}},\"deleteConfigurationOnBlock(bytes32,uint64)\":{\"details\":\"Emits ConfigurationChanged event with deleted flag set to true\",\"params\":{\"blockNumber\":\"The block number on which the setting becomes active\",\"key\":\"The setting key\"}},\"getAllConfiguration()\":{\"details\":\"Note that the returned list is ordered on key but NOT on block number\",\"returns\":{\"settings\":\"List will all stored settings\"}},\"getAllNodeAddresses()\":{\"details\":\"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block.\"},\"getAllNodes()\":{\"details\":\"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block.\"},\"getConfiguration(bytes32)\":{\"details\":\"Note that the returned list isn't ordered by block number\",\"params\":{\"key\":\"The setting key\"},\"returns\":{\"_0\":\"The setting value\"}},\"getPaginatedStreams(uint256,uint256)\":{\"details\":\"Recommended range is 5000 streams to avoid gas limits\",\"params\":{\"start\":\"The starting index for pagination\",\"stop\":\"The ending index for pagination, exclusive\"},\"returns\":{\"_0\":\"StreamWithId[] Array of streams with their IDs in the requested range\",\"_1\":\"bool True if this is the last page of results\"}},\"getPaginatedStreamsOnNode(address,uint256,uint256)\":{\"params\":{\"nodeAddress\":\"The address of the node\",\"start\":\"The starting index for pagination\",\"stop\":\"The ending index for pagination, exclusive\"},\"returns\":{\"streams\":\"Array of streams with their IDs in the requested range for the specified node\"}},\"getStream(bytes32)\":{\"params\":{\"streamId\":\"The ID of the stream to get\"},\"returns\":{\"stream\":\"Stream The stream data\"}},\"getStreamCount()\":{\"returns\":{\"_0\":\"uint256 The total number of streams\"}},\"getStreamCountOnNode(address)\":{\"params\":{\"nodeAddress\":\"The address of the node to check\"},\"returns\":{\"count\":\"uint256 The number of streams on the node\"}},\"getStreamWithGenesis(bytes32)\":{\"params\":{\"streamId\":\"The ID of the stream to get\"},\"returns\":{\"_1\":\"bytes32 The genesis miniblock hash\",\"_2\":\"bytes The genesis miniblock data\",\"stream\":\"Stream The stream data\"}},\"isConfigurationManager(address)\":{\"params\":{\"manager\":\"The address to check\"},\"returns\":{\"_0\":\"True if the address is a configuration manager\"}},\"isStream(bytes32)\":{\"params\":{\"streamId\":\"The ID of the stream to check\"},\"returns\":{\"_0\":\"bool True if the stream exists, false otherwise\"}},\"placeStreamOnNode(bytes32,address)\":{\"params\":{\"nodeAddress\":\"The address of the node to place the stream on\",\"streamId\":\"The ID of the stream to place\"}},\"removeConfigurationManager(address)\":{\"params\":{\"manager\":\"The address to remove\"}},\"removeStreamFromNode(bytes32,address)\":{\"params\":{\"nodeAddress\":\"The address of the node to remove the stream from\",\"streamId\":\"The ID of the stream to remove\"}},\"setConfiguration(bytes32,uint64,bytes)\":{\"details\":\"Emits ConfigurationChanged event\",\"params\":{\"blockNumber\":\"The block number on which the setting becomes active, can't be max value of uint64\",\"key\":\"The keccak256 hash of the setting name\",\"value\":\"The setting value (value must be its ABI representation), can't be empty\"}},\"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])\":{\"details\":\"Only callable by registered nodesThis function allows updating multiple streams' last miniblock data in a single transaction\",\"params\":{\"miniblocks\":\"Array of SetMiniblock structs containing stream IDs and their last miniblock information\"}},\"setStreamReplicationFactor((bytes32,address[],uint8)[])\":{\"details\":\"Only callable by configuration managersThis function is to migrate existing non-replicated streams to replicated streams. If the replication factor is less than the number of nodes it indicates that only the first \\\"replicationFactor\\\" nodes participate in reaching quorum. The remaining nodes only sync the stream data.\",\"params\":{\"requests\":\"list with streams to set replication factor for\"}},\"syncNodesOnStreams(uint256,uint256)\":{\"params\":{\"start\":\"The starting index for pagination\",\"stop\":\"The ending index for pagination, exclusive\"}}},\"version\":1},\"userdoc\":{\"events\":{\"ConfigurationChanged(bytes32,uint64,bytes,bool)\":{\"notice\":\"Emitted when a setting is changed\"},\"ConfigurationManagerAdded(address)\":{\"notice\":\"Emitted when a configuration manager is added\"},\"ConfigurationManagerRemoved(address)\":{\"notice\":\"Emitted when a configuration manager is removed\"},\"InterfaceAdded(bytes4)\":{\"notice\":\"Emitted when an interface is added to the contract via `_addInterface`.\"},\"InterfaceRemoved(bytes4)\":{\"notice\":\"Emitted when an interface is removed from the contract via `_removeInterface`.\"},\"StreamUpdated(uint8,bytes)\":{\"notice\":\"The event emitted when a stream is updated\"}},\"kind\":\"user\",\"methods\":{\"addStream(bytes32,bytes32,(bytes32,uint64,uint64,uint64,address[]))\":{\"notice\":\"Create a new stream in the registry\"},\"allocateStream(bytes32,address[],bytes32,bytes)\":{\"notice\":\"Allocate a new stream in the registry\"},\"approveConfigurationManager(address)\":{\"notice\":\"Add a configuration manager\"},\"configurationExists(bytes32)\":{\"notice\":\"Indication if one or more settings exists for the given key\"},\"deleteConfiguration(bytes32)\":{\"notice\":\"Deletes the setting for the given key on all blocks\"},\"deleteConfigurationOnBlock(bytes32,uint64)\":{\"notice\":\"Deletes the setting for the given key at the given block\"},\"getAllConfiguration()\":{\"notice\":\"Get all settings store in the registry\"},\"getAllNodeAddresses()\":{\"notice\":\"Return array containing all node addresses\"},\"getAllNodes()\":{\"notice\":\"Return array containing all nodes\"},\"getConfiguration(bytes32)\":{\"notice\":\"Get settings for the given key\"},\"getPaginatedStreams(uint256,uint256)\":{\"notice\":\"Get a paginated list of streams from the registry\"},\"getPaginatedStreamsOnNode(address,uint256,uint256)\":{\"notice\":\"Get a paginated list of streams on a specific node\"},\"getStream(bytes32)\":{\"notice\":\"Get a stream from the registry\"},\"getStreamCount()\":{\"notice\":\"Get the total number of streams in the registry\"},\"getStreamCountOnNode(address)\":{\"notice\":\"Get the number of streams placed on a specific node\"},\"getStreamWithGenesis(bytes32)\":{\"notice\":\"Get a stream and its genesis information from the registry\"},\"isConfigurationManager(address)\":{\"notice\":\"Check if the given address is a configuration manager\"},\"isStream(bytes32)\":{\"notice\":\"Check if a stream exists in the registry\"},\"placeStreamOnNode(bytes32,address)\":{\"notice\":\"Place a stream on a specific node\"},\"removeConfigurationManager(address)\":{\"notice\":\"Remove a configuration manager\"},\"removeStreamFromNode(bytes32,address)\":{\"notice\":\"Remove a stream from a specific node\"},\"setConfiguration(bytes32,uint64,bytes)\":{\"notice\":\"Set a bytes setting for the given key\"},\"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])\":{\"notice\":\"Set the last miniblock for multiple streams in a batch operation\"},\"setStreamReplicationFactor((bytes32,address[],uint8)[])\":{\"notice\":\"Set the replication factor for existing streams\"},\"syncNodesOnStreams(uint256,uint256)\":{\"notice\":\"Sync node addresses for streams in a range to `streamIdsByNode` mapping\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockRiverRegistry.sol\":\"MockRiverRegistry\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@erc6900/reference-implementation/=node_modules/@erc6900/reference-implementation/src/\",\":@eth-infinitism/account-abstraction/=node_modules/account-abstraction/contracts/\",\":@ethereum-attestation-service/eas-contracts/=node_modules/@ethereum-attestation-service/eas-contracts/contracts/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":hardhat/=node_modules/@ethereum-attestation-service/eas-contracts/node_modules/hardhat/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"node_modules/@openzeppelin/contracts/utils/Arrays.sol\":{\"keccak256\":\"0x55a4fdb408e3db950b48f4a6131e538980be8c5f48ee59829d92d66477140cd6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e1ad251e692822ce1494135a4ecb5b97c19b90aa82418fd2959ce32017953fd\",\"dweb:/ipfs/QmT6N7mf6heZYhY2BAQ5kwZp9o3SXzGVdkMqUszx67WRDN\"]},\"node_modules/@openzeppelin/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xecd5f3c702f549fb88555e44e5f2415a4dfd6db09081aec7e98c26b6a3739c06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed40e907a6d80458a0556a609d0d3991d718c20f9f1f21475e5ec739af523231\",\"dweb:/ipfs/QmejkwADsZRxkusNU94sswMJfpLrbq8RkJTbNccUEQpc7Y\"]},\"node_modules/@towns-protocol/diamond/src/facets/Facet.sol\":{\"keccak256\":\"0xdfd1a4195ad2645b7a1057c2f63190f659cd86db94c45aa1418c57ebd681cff9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a4d4772286835c04a4cbc6283fd4013f6c129e3810e0821746a00ee62e8749c\",\"dweb:/ipfs/QmNk9w2G7m5yDQsxRjPG4WdDv4DhVCbdaqUUfYfCZd6X4s\"]},\"node_modules/@towns-protocol/diamond/src/facets/initializable/Initializable.sol\":{\"keccak256\":\"0x6f40e5fa4157e58cab47d4059f8c3418ab3187c13ad67e953d0649ed62029347\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b67a9c3e89bdf6ab7ba01617f27abb1d166da0324044a589ca05cda1880c7480\",\"dweb:/ipfs/QmfWwWsqxqGfmVQDmKdbTaqSrxUAHUMAPz9XHnqVwsKsgK\"]},\"node_modules/@towns-protocol/diamond/src/facets/initializable/InitializableStorage.sol\":{\"keccak256\":\"0xc0b267afd26f8c00c69f9a8d5ad95c5f6222e698a83263516f2883dbf5abe7f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b973eae995072efdbb0a8fab722edfec8bc454cb0811073b6057f29696e7d10a\",\"dweb:/ipfs/QmR6Bmi9N24Sm4cpnL6knXaS28rchzQFsDs121sN42sp38\"]},\"node_modules/@towns-protocol/diamond/src/facets/introspection/IIntrospectionBase.sol\":{\"keccak256\":\"0x073aac90221725d25acb62948999cd86f177fada706765df4a70cc96ba208841\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a57e698759319fcc87d62eead506eb9f6d911635d17f38b291ad07f9733203\",\"dweb:/ipfs/QmXuiRxtrJAU4ifokdYab4Gp1KaErSsjGuHQ7eygmNhcwY\"]},\"node_modules/@towns-protocol/diamond/src/facets/introspection/IntrospectionBase.sol\":{\"keccak256\":\"0x066731f66f8fff89cd164dcb73c576fbcbe91a87d14b2365386f45b890230e58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73b4064d3bca9554a835a355fa96d12fb1f288803f154c0b111c0962e5d0c718\",\"dweb:/ipfs/QmTcauWLg1YNy4xMfgGStgGj44vkCYF5yv35mpVuNEimGu\"]},\"node_modules/@towns-protocol/diamond/src/facets/introspection/IntrospectionStorage.sol\":{\"keccak256\":\"0x236f938acd25d1f6d73850e576776e3c9e98af461ce6594ebbfad3dd84fcfc0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74a27faea6b7856f24e96928c24be31ce56798c4ac2c5f936eb77b4666b10d9a\",\"dweb:/ipfs/QmaTvDXgw9qxVwT9DXdoooivbWGC7gaU3RD4wTGYBYg7S7\"]},\"node_modules/@towns-protocol/diamond/src/facets/ownable/IERC173.sol\":{\"keccak256\":\"0x8328ffbfd393c7ffb0de54cb812a0796fdb5d7579ba5fcb7e2359ab4ef9b1ebf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2ea672306d0809aafb40a1f77ace8e04921db4c6c7429423e595ac4300ecc3c\",\"dweb:/ipfs/Qmf5N9XwbSKBHGPqoMueDNABrL32b7JDyp6TtHWntz483p\"]},\"node_modules/@towns-protocol/diamond/src/facets/ownable/OwnableBase.sol\":{\"keccak256\":\"0xd319c042f16a7a3ae3a85bec332e776719f6b8401c7660b8df4647bc7050f7fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43f5ac413daf1ac9dbe578095b206bd03fceba5224cfa1dea965ba27ced5ac0\",\"dweb:/ipfs/QmUfXKgCXvjzwtVQvRKHkDLSM1Ueg9yfZR38twi9JN7ziU\"]},\"node_modules/@towns-protocol/diamond/src/facets/ownable/OwnableStorage.sol\":{\"keccak256\":\"0x610002d182e32da8d73ea684df5bef2e2fdff052c10c48efc71c43cf7257a5f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f1e8eb4e326b5c56c6774aed9e5ad96169bced3d50e96f276ae9adac2bfa640\",\"dweb:/ipfs/QmeMLf5Jm7p765fod1WEWF88bCtyrhgFivQfHy7qM9MirR\"]},\"node_modules/solady/src/utils/FixedPointMathLib.sol\":{\"keccak256\":\"0x1ed875fc4a88beb012f15cbe111e69b402517adda61e5da88c55c73faf76a90f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce07f2ee0577806e6f7dba79ab5a01a9751e6e3bffc40218c5e80e68e6bf088e\",\"dweb:/ipfs/QmVo7z5TDp1a6KVMYotNv37a5Xspcexum7Dx8h1qHLcAz8\"]},\"src/river/registry/facets/config/IRiverConfig.sol\":{\"keccak256\":\"0xefecc9836731200d8da79af4fecca754044d0fc79bd85762889389659e2dcd80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87c4958d578afae5bdf308b80d0abf3c5d02507795fa15da1c3abb4b5c714984\",\"dweb:/ipfs/QmajCoDnUUdbzfy72ACnWLwxJ2UcsRe6WsYf3KjNP6vmo4\"]},\"src/river/registry/facets/config/RiverConfig.sol\":{\"keccak256\":\"0xc74b70e4ac38d2b1c52b85d85b36b9bcc93101780f0f58e165249f6782a48cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adb5aa93a4b8c7468ca84ae74cf8c404ff04f5654adc0daecc8022ba95767a16\",\"dweb:/ipfs/QmZShZUwz9C34Cx1tjdoKtFLGbUyUMZh2szDqdG23xcXiH\"]},\"src/river/registry/facets/node/INodeRegistry.sol\":{\"keccak256\":\"0x86db870c03ffa97153a452f930b426db4cf68087dba0977baf0d502fe8f8dc19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00fb637be0ebcda89b243456917e06afb6862c3254e3b778aed07d0a0d12bb5b\",\"dweb:/ipfs/QmdRfs6dPmv8rzwm3uvRePzsQ2JzWfDx8G42TJredaNgmM\"]},\"src/river/registry/facets/node/NodeRegistry.sol\":{\"keccak256\":\"0x96d74c7a78ac6664d935b018b6886359e16c8bc6d449d89b8cdb4592596a7f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3228d03a0ae20f2b74e726d66b47d48e50dc05e0298d93e22ae7393d9e67de9f\",\"dweb:/ipfs/QmUS8X7MVFRH6RjbAficSuoWvREmh78V7Y2LZ8DFXdJmRn\"]},\"src/river/registry/facets/operator/IOperatorRegistry.sol\":{\"keccak256\":\"0x2980d315bded88d9177aba1592669030704ba2883f4406b521b87f440594988b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3a27b8a88f160b3efac29f96c19719f59701068a2b68450283f75ecc01dd379\",\"dweb:/ipfs/QmZySUscHdUtjBdhCxDwfkuFRw8AkgdYWa8egq5sdHNvKR\"]},\"src/river/registry/facets/operator/OperatorRegistry.sol\":{\"keccak256\":\"0x509ab419fcba65155e76cab202e9bf8640b5717d3c17a17739e625a56b124792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29bb5d2f6f8e1e4622a7c5e544534de0956a20ff75be255c0c9a8149990a062f\",\"dweb:/ipfs/QmdxgCXHzjWnZRjHzKtHrpvXM4fkBzwzgJkCcn4WfC93Z4\"]},\"src/river/registry/facets/stream/IStreamRegistry.sol\":{\"keccak256\":\"0xfa74ecd980294a09fb3de0a1e3b92346eab5d5415ebce290720ef35016122755\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2038e663d2c67686ccb842ffaf6d783bd4c0218cdc28dc3fc8a1e7235d65b00\",\"dweb:/ipfs/Qmaw488hUZMZrVD8WnZ5Uc7zEqZHr9MLCoMDK9NADBXB3L\"]},\"src/river/registry/facets/stream/StreamRegistry.sol\":{\"keccak256\":\"0xd52c60e19b451e1b50596a297b68ca1b075893e5ec53b29bdc639e219377eabb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6fd9f1c07dbf125fbf3040f1662075dc3d4237053a0ad0a057cc5fcac707119\",\"dweb:/ipfs/QmVhKJkKLhkSYWJEv3V3Kwz84dkbE5PGMF7Z9gJXRPAXFG\"]},\"src/river/registry/libraries/RegistryErrors.sol\":{\"keccak256\":\"0xe86155ec067689903ecc29d484a802655dfdb65efecb9252dd75936951d61851\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830e91208a53496b06ede15ffbf273d77ba1af461b2b537bc5381131684ad424\",\"dweb:/ipfs/QmWpw98P7VtjUvAZPDPvU4SXWSnF91khHnHD7PtNmERLRn\"]},\"src/river/registry/libraries/RegistryStorage.sol\":{\"keccak256\":\"0x491078e7e0ca417cdbba88e8399e9659fb3949bb5526b236b700270cb80b9a95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc40d7064a5bc8c7bba432833fc901a721174b40812591ed3cb9db3eb3688a79\",\"dweb:/ipfs/QmVUSbAerCKW3KhsJhJNFXpoy3vP3o6DXJzsMdZUqprBCv\"]},\"src/utils/libraries/CustomRevert.sol\":{\"keccak256\":\"0xac7997c940d1e9030f0349be8a614dda3e212bc29e3b6343df8d335683778c96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5f4d5f40a58932312382ba312076d97eb54797fef8acf983ee2b2ec6b196288\",\"dweb:/ipfs/QmeXuwCffmM9FnmNksMg38aQTEuESCZFK3mEEXjJjAYB1c\"]},\"test/mocks/MockRiverRegistry.sol\":{\"keccak256\":\"0x48d66d9dfc8611dfa22d395754053c951ea0fb0bdb7112f362ba3aa1aba7a2ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae0dbf9320df6b69be03f27c82b3112a47fb9c26c29ce8dfc79258ca57b06da7\",\"dweb:/ipfs/QmZVSkG1uJH22MypwbTpvDYQEfqCSkvmPcC1ChCbZXZDf4\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address[]","name":"approvedOperators","type":"address[]"}],"stateMutability":"payable","type":"constructor"},{"inputs":[],"type":"error","name":"Initializable_InInitializingState"},{"inputs":[],"type":"error","name":"Initializable_NotInInitializingState"},{"inputs":[],"type":"error","name":"Introspection_AlreadySupported"},{"inputs":[],"type":"error","name":"Introspection_NotSupported"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"Ownable__NotOwner"},{"inputs":[],"type":"error","name":"Ownable__ZeroAddress"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32","indexed":false},{"internalType":"uint64","name":"block","type":"uint64","indexed":false},{"internalType":"bytes","name":"value","type":"bytes","indexed":false},{"internalType":"bool","name":"deleted","type":"bool","indexed":false}],"type":"event","name":"ConfigurationChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"manager","type":"address","indexed":true}],"type":"event","name":"ConfigurationManagerAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"manager","type":"address","indexed":true}],"type":"event","name":"ConfigurationManagerRemoved","anonymous":false},{"inputs":[{"internalType":"uint32","name":"version","type":"uint32","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceAdded","anonymous":false},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4","indexed":true}],"type":"event","name":"InterfaceRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"string","name":"url","type":"string","indexed":false},{"internalType":"enum NodeStatus","name":"status","type":"uint8","indexed":false}],"type":"event","name":"NodeAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true}],"type":"event","name":"NodeRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"enum NodeStatus","name":"status","type":"uint8","indexed":false}],"type":"event","name":"NodeStatusUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address","indexed":true},{"internalType":"string","name":"url","type":"string","indexed":false}],"type":"event","name":"NodeUrlUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"operatorAddress","type":"address","indexed":true}],"type":"event","name":"OperatorAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"operatorAddress","type":"address","indexed":true}],"type":"event","name":"OperatorRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32","indexed":false},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false}],"type":"event","name":"StreamLastMiniblockUpdateFailed","anonymous":false},{"inputs":[{"internalType":"enum IStreamRegistryBase.StreamEventType","name":"eventType","type":"uint8","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"StreamUpdated","anonymous":false},{"inputs":[{"internalType":"address[]","name":"initialOperators","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"__OperatorRegistry_init"},{"inputs":[{"internalType":"address[]","name":"configManagers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"__RiverConfig_init"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"bytes32","name":"genesisMiniblockHash","type":"bytes32"},{"internalType":"struct Stream","name":"stream","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}],"stateMutability":"nonpayable","type":"function","name":"addStream"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address[]","name":"nodes","type":"address[]"},{"internalType":"bytes32","name":"genesisMiniblockHash","type":"bytes32"},{"internalType":"bytes","name":"genesisMiniblock","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"allocateStream"},{"inputs":[{"internalType":"address","name":"manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"approveConfigurationManager"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"approveOperator"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"stateMutability":"view","type":"function","name":"configurationExists","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deleteConfiguration"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"deleteConfigurationOnBlock"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllConfiguration","outputs":[{"internalType":"struct Setting[]","name":"settings","type":"tuple[]","components":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes","name":"value","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllNodeAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllNodes","outputs":[{"internalType":"struct Node[]","name":"","type":"tuple[]","components":[{"internalType":"enum NodeStatus","name":"status","type":"uint8"},{"internalType":"string","name":"url","type":"string"},{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getConfiguration","outputs":[{"internalType":"struct Setting[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes","name":"value","type":"bytes"}]}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getNode","outputs":[{"internalType":"struct Node","name":"","type":"tuple","components":[{"internalType":"enum NodeStatus","name":"status","type":"uint8"},{"internalType":"string","name":"url","type":"string"},{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getNodeCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"stop","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPaginatedStreams","outputs":[{"internalType":"struct StreamWithId[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"struct Stream","name":"stream","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]},{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"stop","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPaginatedStreamsOnNode","outputs":[{"internalType":"struct StreamWithId[]","name":"streams","type":"tuple[]","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"struct Stream","name":"stream","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStream","outputs":[{"internalType":"struct Stream","name":"stream","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStreamCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getStreamCountOnNode","outputs":[{"internalType":"uint256","name":"count","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStreamWithGenesis","outputs":[{"internalType":"struct Stream","name":"stream","type":"tuple","components":[{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"uint64","name":"reserved0","type":"uint64"},{"internalType":"uint64","name":"flags","type":"uint64"},{"internalType":"address[]","name":"nodes","type":"address[]"}]},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"manager","type":"address"}],"stateMutability":"view","type":"function","name":"isConfigurationManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"view","type":"function","name":"isNode","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isStream","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"placeStreamOnNode"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"string","name":"url","type":"string"},{"internalType":"enum NodeStatus","name":"status","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerNode"},{"inputs":[{"internalType":"address","name":"manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeConfigurationManager"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeNode"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeOperator"},{"inputs":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address","name":"nodeAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStreamFromNode"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setConfiguration"},{"inputs":[{"internalType":"struct SetMiniblock[]","name":"miniblocks","type":"tuple[]","components":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"bytes32","name":"prevMiniBlockHash","type":"bytes32"},{"internalType":"bytes32","name":"lastMiniblockHash","type":"bytes32"},{"internalType":"uint64","name":"lastMiniblockNum","type":"uint64"},{"internalType":"bool","name":"isSealed","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"setStreamLastMiniblockBatch"},{"inputs":[{"internalType":"struct SetStreamReplicationFactor[]","name":"requests","type":"tuple[]","components":[{"internalType":"bytes32","name":"streamId","type":"bytes32"},{"internalType":"address[]","name":"nodes","type":"address[]"},{"internalType":"uint8","name":"replicationFactor","type":"uint8"}]}],"stateMutability":"nonpayable","type":"function","name":"setStreamReplicationFactor"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"stop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"syncNodesOnStreams"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"enum NodeStatus","name":"status","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"updateNodeStatus"},{"inputs":[{"internalType":"address","name":"nodeAddress","type":"address"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateNodeUrl"}],"devdoc":{"kind":"dev","methods":{"addStream(bytes32,bytes32,(bytes32,uint64,uint64,uint64,address[]))":{"details":"Only callable by registered nodes","params":{"stream":"is the Stream object to be created"}},"allocateStream(bytes32,address[],bytes32,bytes)":{"details":"Only callable by registered nodes","params":{"genesisMiniblock":"The genesis miniblock data","genesisMiniblockHash":"The hash of the genesis miniblock","nodes":"The list of nodes to place the stream on","streamId":"The ID of the stream to allocate"}},"approveConfigurationManager(address)":{"params":{"manager":"The address to add"}},"configurationExists(bytes32)":{"params":{"key":"The setting key"},"returns":{"_0":"True if the setting exists"}},"deleteConfiguration(bytes32)":{"details":"Emits ConfigurationChanged event with deleted flag set to true and block number set to max value of uint64","params":{"key":"The setting key"}},"deleteConfigurationOnBlock(bytes32,uint64)":{"details":"Emits ConfigurationChanged event with deleted flag set to true","params":{"blockNumber":"The block number on which the setting becomes active","key":"The setting key"}},"getAllConfiguration()":{"details":"Note that the returned list is ordered on key but NOT on block number","returns":{"settings":"List will all stored settings"}},"getAllNodeAddresses()":{"details":"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."},"getAllNodes()":{"details":"WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."},"getConfiguration(bytes32)":{"details":"Note that the returned list isn't ordered by block number","params":{"key":"The setting key"},"returns":{"_0":"The setting value"}},"getPaginatedStreams(uint256,uint256)":{"details":"Recommended range is 5000 streams to avoid gas limits","params":{"start":"The starting index for pagination","stop":"The ending index for pagination, exclusive"},"returns":{"_0":"StreamWithId[] Array of streams with their IDs in the requested range","_1":"bool True if this is the last page of results"}},"getPaginatedStreamsOnNode(address,uint256,uint256)":{"params":{"nodeAddress":"The address of the node","start":"The starting index for pagination","stop":"The ending index for pagination, exclusive"},"returns":{"streams":"Array of streams with their IDs in the requested range for the specified node"}},"getStream(bytes32)":{"params":{"streamId":"The ID of the stream to get"},"returns":{"stream":"Stream The stream data"}},"getStreamCount()":{"returns":{"_0":"uint256 The total number of streams"}},"getStreamCountOnNode(address)":{"params":{"nodeAddress":"The address of the node to check"},"returns":{"count":"uint256 The number of streams on the node"}},"getStreamWithGenesis(bytes32)":{"params":{"streamId":"The ID of the stream to get"},"returns":{"_1":"bytes32 The genesis miniblock hash","_2":"bytes The genesis miniblock data","stream":"Stream The stream data"}},"isConfigurationManager(address)":{"params":{"manager":"The address to check"},"returns":{"_0":"True if the address is a configuration manager"}},"isStream(bytes32)":{"params":{"streamId":"The ID of the stream to check"},"returns":{"_0":"bool True if the stream exists, false otherwise"}},"placeStreamOnNode(bytes32,address)":{"params":{"nodeAddress":"The address of the node to place the stream on","streamId":"The ID of the stream to place"}},"removeConfigurationManager(address)":{"params":{"manager":"The address to remove"}},"removeStreamFromNode(bytes32,address)":{"params":{"nodeAddress":"The address of the node to remove the stream from","streamId":"The ID of the stream to remove"}},"setConfiguration(bytes32,uint64,bytes)":{"details":"Emits ConfigurationChanged event","params":{"blockNumber":"The block number on which the setting becomes active, can't be max value of uint64","key":"The keccak256 hash of the setting name","value":"The setting value (value must be its ABI representation), can't be empty"}},"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":{"details":"Only callable by registered nodesThis function allows updating multiple streams' last miniblock data in a single transaction","params":{"miniblocks":"Array of SetMiniblock structs containing stream IDs and their last miniblock information"}},"setStreamReplicationFactor((bytes32,address[],uint8)[])":{"details":"Only callable by configuration managersThis function is to migrate existing non-replicated streams to replicated streams. If the replication factor is less than the number of nodes it indicates that only the first \"replicationFactor\" nodes participate in reaching quorum. The remaining nodes only sync the stream data.","params":{"requests":"list with streams to set replication factor for"}},"syncNodesOnStreams(uint256,uint256)":{"params":{"start":"The starting index for pagination","stop":"The ending index for pagination, exclusive"}}},"version":1},"userdoc":{"kind":"user","methods":{"addStream(bytes32,bytes32,(bytes32,uint64,uint64,uint64,address[]))":{"notice":"Create a new stream in the registry"},"allocateStream(bytes32,address[],bytes32,bytes)":{"notice":"Allocate a new stream in the registry"},"approveConfigurationManager(address)":{"notice":"Add a configuration manager"},"configurationExists(bytes32)":{"notice":"Indication if one or more settings exists for the given key"},"deleteConfiguration(bytes32)":{"notice":"Deletes the setting for the given key on all blocks"},"deleteConfigurationOnBlock(bytes32,uint64)":{"notice":"Deletes the setting for the given key at the given block"},"getAllConfiguration()":{"notice":"Get all settings store in the registry"},"getAllNodeAddresses()":{"notice":"Return array containing all node addresses"},"getAllNodes()":{"notice":"Return array containing all nodes"},"getConfiguration(bytes32)":{"notice":"Get settings for the given key"},"getPaginatedStreams(uint256,uint256)":{"notice":"Get a paginated list of streams from the registry"},"getPaginatedStreamsOnNode(address,uint256,uint256)":{"notice":"Get a paginated list of streams on a specific node"},"getStream(bytes32)":{"notice":"Get a stream from the registry"},"getStreamCount()":{"notice":"Get the total number of streams in the registry"},"getStreamCountOnNode(address)":{"notice":"Get the number of streams placed on a specific node"},"getStreamWithGenesis(bytes32)":{"notice":"Get a stream and its genesis information from the registry"},"isConfigurationManager(address)":{"notice":"Check if the given address is a configuration manager"},"isStream(bytes32)":{"notice":"Check if a stream exists in the registry"},"placeStreamOnNode(bytes32,address)":{"notice":"Place a stream on a specific node"},"removeConfigurationManager(address)":{"notice":"Remove a configuration manager"},"removeStreamFromNode(bytes32,address)":{"notice":"Remove a stream from a specific node"},"setConfiguration(bytes32,uint64,bytes)":{"notice":"Set a bytes setting for the given key"},"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])":{"notice":"Set the last miniblock for multiple streams in a batch operation"},"setStreamReplicationFactor((bytes32,address[],uint8)[])":{"notice":"Set the replication factor for existing streams"},"syncNodesOnStreams(uint256,uint256)":{"notice":"Sync node addresses for streams in a range to `streamIdsByNode` mapping"}},"version":1}},"settings":{"remappings":["@erc6900/reference-implementation/=node_modules/@erc6900/reference-implementation/src/","@eth-infinitism/account-abstraction/=node_modules/account-abstraction/contracts/","@ethereum-attestation-service/eas-contracts/=node_modules/@ethereum-attestation-service/eas-contracts/contracts/","@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","hardhat/=node_modules/@ethereum-attestation-service/eas-contracts/node_modules/hardhat/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"test/mocks/MockRiverRegistry.sol":"MockRiverRegistry"},"evmVersion":"cancun","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c","urls":["bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e","dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Arrays.sol":{"keccak256":"0x55a4fdb408e3db950b48f4a6131e538980be8c5f48ee59829d92d66477140cd6","urls":["bzz-raw://3e1ad251e692822ce1494135a4ecb5b97c19b90aa82418fd2959ce32017953fd","dweb:/ipfs/QmT6N7mf6heZYhY2BAQ5kwZp9o3SXzGVdkMqUszx67WRDN"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Comparators.sol":{"keccak256":"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58","urls":["bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd","dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/SlotDerivation.sol":{"keccak256":"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26","urls":["bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2","dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6","urls":["bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3","dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xecd5f3c702f549fb88555e44e5f2415a4dfd6db09081aec7e98c26b6a3739c06","urls":["bzz-raw://ed40e907a6d80458a0556a609d0d3991d718c20f9f1f21475e5ec739af523231","dweb:/ipfs/QmejkwADsZRxkusNU94sswMJfpLrbq8RkJTbNccUEQpc7Y"],"license":"MIT"},"node_modules/@towns-protocol/diamond/src/facets/Facet.sol":{"keccak256":"0xdfd1a4195ad2645b7a1057c2f63190f659cd86db94c45aa1418c57ebd681cff9","urls":["bzz-raw://1a4d4772286835c04a4cbc6283fd4013f6c129e3810e0821746a00ee62e8749c","dweb:/ipfs/QmNk9w2G7m5yDQsxRjPG4WdDv4DhVCbdaqUUfYfCZd6X4s"],"license":"MIT"},"node_modules/@towns-protocol/diamond/src/facets/initializable/Initializable.sol":{"keccak256":"0x6f40e5fa4157e58cab47d4059f8c3418ab3187c13ad67e953d0649ed62029347","urls":["bzz-raw://b67a9c3e89bdf6ab7ba01617f27abb1d166da0324044a589ca05cda1880c7480","dweb:/ipfs/QmfWwWsqxqGfmVQDmKdbTaqSrxUAHUMAPz9XHnqVwsKsgK"],"license":"MIT"},"node_modules/@towns-protocol/diamond/src/facets/initializable/InitializableStorage.sol":{"keccak256":"0xc0b267afd26f8c00c69f9a8d5ad95c5f6222e698a83263516f2883dbf5abe7f1","urls":["bzz-raw://b973eae995072efdbb0a8fab722edfec8bc454cb0811073b6057f29696e7d10a","dweb:/ipfs/QmR6Bmi9N24Sm4cpnL6knXaS28rchzQFsDs121sN42sp38"],"license":"MIT"},"node_modules/@towns-protocol/diamond/src/facets/introspection/IIntrospectionBase.sol":{"keccak256":"0x073aac90221725d25acb62948999cd86f177fada706765df4a70cc96ba208841","urls":["bzz-raw://77a57e698759319fcc87d62eead506eb9f6d911635d17f38b291ad07f9733203","dweb:/ipfs/QmXuiRxtrJAU4ifokdYab4Gp1KaErSsjGuHQ7eygmNhcwY"],"license":"MIT"},"node_modules/@towns-protocol/diamond/src/facets/introspection/IntrospectionBase.sol":{"keccak256":"0x066731f66f8fff89cd164dcb73c576fbcbe91a87d14b2365386f45b890230e58","urls":["bzz-raw://73b4064d3bca9554a835a355fa96d12fb1f288803f154c0b111c0962e5d0c718","dweb:/ipfs/QmTcauWLg1YNy4xMfgGStgGj44vkCYF5yv35mpVuNEimGu"],"license":"MIT"},"node_modules/@towns-protocol/diamond/src/facets/introspection/IntrospectionStorage.sol":{"keccak256":"0x236f938acd25d1f6d73850e576776e3c9e98af461ce6594ebbfad3dd84fcfc0f","urls":["bzz-raw://74a27faea6b7856f24e96928c24be31ce56798c4ac2c5f936eb77b4666b10d9a","dweb:/ipfs/QmaTvDXgw9qxVwT9DXdoooivbWGC7gaU3RD4wTGYBYg7S7"],"license":"MIT"},"node_modules/@towns-protocol/diamond/src/facets/ownable/IERC173.sol":{"keccak256":"0x8328ffbfd393c7ffb0de54cb812a0796fdb5d7579ba5fcb7e2359ab4ef9b1ebf","urls":["bzz-raw://b2ea672306d0809aafb40a1f77ace8e04921db4c6c7429423e595ac4300ecc3c","dweb:/ipfs/Qmf5N9XwbSKBHGPqoMueDNABrL32b7JDyp6TtHWntz483p"],"license":"MIT"},"node_modules/@towns-protocol/diamond/src/facets/ownable/OwnableBase.sol":{"keccak256":"0xd319c042f16a7a3ae3a85bec332e776719f6b8401c7660b8df4647bc7050f7fb","urls":["bzz-raw://b43f5ac413daf1ac9dbe578095b206bd03fceba5224cfa1dea965ba27ced5ac0","dweb:/ipfs/QmUfXKgCXvjzwtVQvRKHkDLSM1Ueg9yfZR38twi9JN7ziU"],"license":"MIT"},"node_modules/@towns-protocol/diamond/src/facets/ownable/OwnableStorage.sol":{"keccak256":"0x610002d182e32da8d73ea684df5bef2e2fdff052c10c48efc71c43cf7257a5f0","urls":["bzz-raw://8f1e8eb4e326b5c56c6774aed9e5ad96169bced3d50e96f276ae9adac2bfa640","dweb:/ipfs/QmeMLf5Jm7p765fod1WEWF88bCtyrhgFivQfHy7qM9MirR"],"license":"MIT"},"node_modules/solady/src/utils/FixedPointMathLib.sol":{"keccak256":"0x1ed875fc4a88beb012f15cbe111e69b402517adda61e5da88c55c73faf76a90f","urls":["bzz-raw://ce07f2ee0577806e6f7dba79ab5a01a9751e6e3bffc40218c5e80e68e6bf088e","dweb:/ipfs/QmVo7z5TDp1a6KVMYotNv37a5Xspcexum7Dx8h1qHLcAz8"],"license":"MIT"},"src/river/registry/facets/config/IRiverConfig.sol":{"keccak256":"0xefecc9836731200d8da79af4fecca754044d0fc79bd85762889389659e2dcd80","urls":["bzz-raw://87c4958d578afae5bdf308b80d0abf3c5d02507795fa15da1c3abb4b5c714984","dweb:/ipfs/QmajCoDnUUdbzfy72ACnWLwxJ2UcsRe6WsYf3KjNP6vmo4"],"license":"MIT"},"src/river/registry/facets/config/RiverConfig.sol":{"keccak256":"0xc74b70e4ac38d2b1c52b85d85b36b9bcc93101780f0f58e165249f6782a48cec","urls":["bzz-raw://adb5aa93a4b8c7468ca84ae74cf8c404ff04f5654adc0daecc8022ba95767a16","dweb:/ipfs/QmZShZUwz9C34Cx1tjdoKtFLGbUyUMZh2szDqdG23xcXiH"],"license":"MIT"},"src/river/registry/facets/node/INodeRegistry.sol":{"keccak256":"0x86db870c03ffa97153a452f930b426db4cf68087dba0977baf0d502fe8f8dc19","urls":["bzz-raw://00fb637be0ebcda89b243456917e06afb6862c3254e3b778aed07d0a0d12bb5b","dweb:/ipfs/QmdRfs6dPmv8rzwm3uvRePzsQ2JzWfDx8G42TJredaNgmM"],"license":"MIT"},"src/river/registry/facets/node/NodeRegistry.sol":{"keccak256":"0x96d74c7a78ac6664d935b018b6886359e16c8bc6d449d89b8cdb4592596a7f97","urls":["bzz-raw://3228d03a0ae20f2b74e726d66b47d48e50dc05e0298d93e22ae7393d9e67de9f","dweb:/ipfs/QmUS8X7MVFRH6RjbAficSuoWvREmh78V7Y2LZ8DFXdJmRn"],"license":"MIT"},"src/river/registry/facets/operator/IOperatorRegistry.sol":{"keccak256":"0x2980d315bded88d9177aba1592669030704ba2883f4406b521b87f440594988b","urls":["bzz-raw://d3a27b8a88f160b3efac29f96c19719f59701068a2b68450283f75ecc01dd379","dweb:/ipfs/QmZySUscHdUtjBdhCxDwfkuFRw8AkgdYWa8egq5sdHNvKR"],"license":"MIT"},"src/river/registry/facets/operator/OperatorRegistry.sol":{"keccak256":"0x509ab419fcba65155e76cab202e9bf8640b5717d3c17a17739e625a56b124792","urls":["bzz-raw://29bb5d2f6f8e1e4622a7c5e544534de0956a20ff75be255c0c9a8149990a062f","dweb:/ipfs/QmdxgCXHzjWnZRjHzKtHrpvXM4fkBzwzgJkCcn4WfC93Z4"],"license":"MIT"},"src/river/registry/facets/stream/IStreamRegistry.sol":{"keccak256":"0xfa74ecd980294a09fb3de0a1e3b92346eab5d5415ebce290720ef35016122755","urls":["bzz-raw://b2038e663d2c67686ccb842ffaf6d783bd4c0218cdc28dc3fc8a1e7235d65b00","dweb:/ipfs/Qmaw488hUZMZrVD8WnZ5Uc7zEqZHr9MLCoMDK9NADBXB3L"],"license":"MIT"},"src/river/registry/facets/stream/StreamRegistry.sol":{"keccak256":"0xd52c60e19b451e1b50596a297b68ca1b075893e5ec53b29bdc639e219377eabb","urls":["bzz-raw://d6fd9f1c07dbf125fbf3040f1662075dc3d4237053a0ad0a057cc5fcac707119","dweb:/ipfs/QmVhKJkKLhkSYWJEv3V3Kwz84dkbE5PGMF7Z9gJXRPAXFG"],"license":"MIT"},"src/river/registry/libraries/RegistryErrors.sol":{"keccak256":"0xe86155ec067689903ecc29d484a802655dfdb65efecb9252dd75936951d61851","urls":["bzz-raw://830e91208a53496b06ede15ffbf273d77ba1af461b2b537bc5381131684ad424","dweb:/ipfs/QmWpw98P7VtjUvAZPDPvU4SXWSnF91khHnHD7PtNmERLRn"],"license":"MIT"},"src/river/registry/libraries/RegistryStorage.sol":{"keccak256":"0x491078e7e0ca417cdbba88e8399e9659fb3949bb5526b236b700270cb80b9a95","urls":["bzz-raw://fc40d7064a5bc8c7bba432833fc901a721174b40812591ed3cb9db3eb3688a79","dweb:/ipfs/QmVUSbAerCKW3KhsJhJNFXpoy3vP3o6DXJzsMdZUqprBCv"],"license":"MIT"},"src/utils/libraries/CustomRevert.sol":{"keccak256":"0xac7997c940d1e9030f0349be8a614dda3e212bc29e3b6343df8d335683778c96","urls":["bzz-raw://a5f4d5f40a58932312382ba312076d97eb54797fef8acf983ee2b2ec6b196288","dweb:/ipfs/QmeXuwCffmM9FnmNksMg38aQTEuESCZFK3mEEXjJjAYB1c"],"license":"MIT"},"test/mocks/MockRiverRegistry.sol":{"keccak256":"0x48d66d9dfc8611dfa22d395754053c951ea0fb0bdb7112f362ba3aa1aba7a2ee","urls":["bzz-raw://ae0dbf9320df6b69be03f27c82b3112a47fb9c26c29ce8dfc79258ca57b06da7","dweb:/ipfs/QmZVSkG1uJH22MypwbTpvDYQEfqCSkvmPcC1ChCbZXZDf4"],"license":"MIT"}},"version":1},"id":559}
|