@decaf-ts/for-fabric 0.12.5 → 0.12.7
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/dist/for-fabric.cjs +2 -3797
- package/dist/for-fabric.cjs.map +1 -0
- package/dist/for-fabric.js +2 -3901
- package/dist/for-fabric.js.map +1 -0
- package/lib/cjs/bin/cli.cjs +2 -2
- package/lib/cjs/bin/cli.cjs.map +1 -0
- package/lib/cjs/cli-module.cjs +2 -2
- package/lib/cjs/cli-module.cjs.map +1 -0
- package/lib/cjs/cli-utils.cjs +2 -2
- package/lib/cjs/cli-utils.cjs.map +1 -0
- package/lib/cjs/client/FabricClientAdapter.cjs +2 -2
- package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -0
- package/lib/cjs/client/FabricClientDispatch.cjs +2 -2
- package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
- package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
- package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
- package/lib/cjs/client/FabricClientRepository.cjs +2 -2
- package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
- package/lib/cjs/client/FabricClientStatement.cjs +2 -2
- package/lib/cjs/client/FabricClientStatement.cjs.map +1 -0
- package/lib/cjs/client/collections/generation.cjs +2 -2
- package/lib/cjs/client/collections/generation.cjs.map +1 -0
- package/lib/cjs/client/collections/index.cjs +2 -2
- package/lib/cjs/client/collections/index.cjs.map +1 -0
- package/lib/cjs/client/constants.cjs +2 -2
- package/lib/cjs/client/constants.cjs.map +1 -0
- package/lib/cjs/client/crypto.cjs +2 -2
- package/lib/cjs/client/crypto.cjs.map +1 -0
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -0
- package/lib/cjs/client/erc20/index.cjs +2 -2
- package/lib/cjs/client/erc20/index.cjs.map +1 -0
- package/lib/cjs/client/fabric-fs.cjs +2 -2
- package/lib/cjs/client/fabric-fs.cjs.map +1 -0
- package/lib/cjs/client/fabric-hsm.cjs +2 -2
- package/lib/cjs/client/fabric-hsm.cjs.map +1 -0
- package/lib/cjs/client/ids/id-extraction.cjs +2 -2
- package/lib/cjs/client/ids/id-extraction.cjs.map +1 -0
- package/lib/cjs/client/ids/index.cjs +2 -2
- package/lib/cjs/client/ids/index.cjs.map +1 -0
- package/lib/cjs/client/index.cjs +2 -2
- package/lib/cjs/client/index.cjs.map +1 -0
- package/lib/cjs/client/indexes/generation.cjs +2 -2
- package/lib/cjs/client/indexes/generation.cjs.map +1 -0
- package/lib/cjs/client/indexes/index.cjs +2 -2
- package/lib/cjs/client/indexes/index.cjs.map +1 -0
- package/lib/cjs/client/logging.cjs +2 -2
- package/lib/cjs/client/logging.cjs.map +1 -0
- package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
- package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -0
- package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
- package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -0
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -0
- package/lib/cjs/client/services/constants.cjs +2 -2
- package/lib/cjs/client/services/constants.cjs.map +1 -0
- package/lib/cjs/client/services/index.cjs +2 -2
- package/lib/cjs/client/services/index.cjs.map +1 -0
- package/lib/cjs/client/types.cjs +2 -2
- package/lib/cjs/client/types.cjs.map +1 -0
- package/lib/cjs/client/utils.cjs +2 -2
- package/lib/cjs/client/utils.cjs.map +1 -0
- package/lib/cjs/contract/Address.cjs +2 -2
- package/lib/cjs/contract/Address.cjs.map +1 -0
- package/lib/cjs/contract/AddressContract.cjs +2 -2
- package/lib/cjs/contract/AddressContract.cjs.map +1 -0
- package/lib/cjs/contract/AuditContract.cjs +2 -2
- package/lib/cjs/contract/AuditContract.cjs.map +1 -0
- package/lib/cjs/contract/BatchContract.cjs +2 -2
- package/lib/cjs/contract/BatchContract.cjs.map +1 -0
- package/lib/cjs/contract/MarketContract.cjs +2 -2
- package/lib/cjs/contract/MarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
- package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
- package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
- package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/Product.cjs +2 -2
- package/lib/cjs/contract/Product.cjs.map +1 -0
- package/lib/cjs/contract/ProductContract.cjs +2 -2
- package/lib/cjs/contract/ProductContract.cjs.map +1 -0
- package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/User.cjs +2 -2
- package/lib/cjs/contract/User.cjs.map +1 -0
- package/lib/cjs/contract/UserContract.cjs +2 -2
- package/lib/cjs/contract/UserContract.cjs.map +1 -0
- package/lib/cjs/contract/index.cjs +3 -2
- package/lib/cjs/contract/index.cjs.map +1 -0
- package/lib/cjs/contract/logging-context.cjs +2 -2
- package/lib/cjs/contract/logging-context.cjs.map +1 -0
- package/lib/cjs/contract/models/Audit.cjs +2 -2
- package/lib/cjs/contract/models/Audit.cjs.map +1 -0
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -0
- package/lib/cjs/contract/models/BaseModel.cjs +2 -2
- package/lib/cjs/contract/models/BaseModel.cjs.map +1 -0
- package/lib/cjs/contract/models/Batch.cjs +2 -2
- package/lib/cjs/contract/models/Batch.cjs.map +1 -0
- package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
- package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -0
- package/lib/cjs/contract/models/History.cjs +2 -2
- package/lib/cjs/contract/models/History.cjs.map +1 -0
- package/lib/cjs/contract/models/Leaflet.cjs +2 -2
- package/lib/cjs/contract/models/Leaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
- package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/Market.cjs +2 -2
- package/lib/cjs/contract/models/Market.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherAudit.cjs +2 -2
- package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherBatchShared.cjs +2 -2
- package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeaflet.cjs +2 -2
- package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeafletFile.cjs +2 -2
- package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherMarket.cjs +2 -2
- package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProduct.cjs +2 -2
- package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductImage.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductShared.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductStrength.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -0
- package/lib/cjs/contract/models/Product.cjs +2 -2
- package/lib/cjs/contract/models/Product.cjs.map +1 -0
- package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
- package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -0
- package/lib/cjs/contract/models/SegregatedDocument.cjs +2 -2
- package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -0
- package/lib/cjs/contract/models/constants.cjs +2 -2
- package/lib/cjs/contract/models/constants.cjs.map +1 -0
- package/lib/cjs/contract/models/decorators-private.cjs +2 -2
- package/lib/cjs/contract/models/decorators-private.cjs.map +1 -0
- package/lib/cjs/contract/models/decorators.cjs +2 -2
- package/lib/cjs/contract/models/decorators.cjs.map +1 -0
- package/lib/cjs/contract/models/gtin.cjs +2 -2
- package/lib/cjs/contract/models/gtin.cjs.map +1 -0
- package/lib/cjs/contract/models/history-dec.cjs +2 -2
- package/lib/cjs/contract/models/history-dec.cjs.map +1 -0
- package/lib/cjs/contracts/ContractAdapter.cjs +2 -2
- package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -0
- package/lib/cjs/contracts/ContractContext.cjs +2 -2
- package/lib/cjs/contracts/ContractContext.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
- package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
- package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
- package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
- package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -0
- package/lib/cjs/contracts/MigrationContract.cjs +2 -2
- package/lib/cjs/contracts/MigrationContract.cjs.map +1 -0
- package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
- package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -0
- package/lib/cjs/contracts/auth/decorators.cjs +2 -2
- package/lib/cjs/contracts/auth/decorators.cjs.map +1 -0
- package/lib/cjs/contracts/auth/index.cjs +2 -2
- package/lib/cjs/contracts/auth/index.cjs.map +1 -0
- package/lib/cjs/contracts/bootstrap.cjs +14 -0
- package/lib/cjs/contracts/bootstrap.cjs.map +1 -0
- package/lib/cjs/contracts/crud/crud-contract.cjs +3 -2
- package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -0
- package/lib/cjs/contracts/crud/index.cjs +2 -2
- package/lib/cjs/contracts/crud/index.cjs.map +1 -0
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
- package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/index.cjs +2 -2
- package/lib/cjs/contracts/erc20/index.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/models.cjs +2 -2
- package/lib/cjs/contracts/erc20/models.cjs.map +1 -0
- package/lib/cjs/contracts/fabric-overrides.cjs +65 -0
- package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -0
- package/lib/cjs/contracts/index.cjs +3 -2
- package/lib/cjs/contracts/index.cjs.map +1 -0
- package/lib/cjs/contracts/logging.cjs +2 -2
- package/lib/cjs/contracts/logging.cjs.map +1 -0
- package/lib/cjs/contracts/overrides.cjs +2 -2
- package/lib/cjs/contracts/overrides.cjs.map +1 -0
- package/lib/cjs/contracts/types.cjs +2 -2
- package/lib/cjs/contracts/types.cjs.map +1 -0
- package/lib/cjs/contracts/uuid.cjs +2 -2
- package/lib/cjs/contracts/uuid.cjs.map +1 -0
- package/lib/cjs/index.cjs +2 -2
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/shared/ClientSerializer.cjs +2 -2
- package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
- package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/constants.cjs +2 -2
- package/lib/cjs/shared/constants.cjs.map +1 -0
- package/lib/cjs/shared/decorators.cjs +2 -2
- package/lib/cjs/shared/decorators.cjs.map +1 -0
- package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
- package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -0
- package/lib/cjs/shared/erc20/index.cjs +2 -2
- package/lib/cjs/shared/erc20/index.cjs.map +1 -0
- package/lib/cjs/shared/errors.cjs +2 -2
- package/lib/cjs/shared/errors.cjs.map +1 -0
- package/lib/cjs/shared/events.cjs +2 -2
- package/lib/cjs/shared/events.cjs.map +1 -0
- package/lib/cjs/shared/fabric-types.cjs +2 -2
- package/lib/cjs/shared/fabric-types.cjs.map +1 -0
- package/lib/cjs/shared/index.cjs +2 -2
- package/lib/cjs/shared/index.cjs.map +1 -0
- package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
- package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -0
- package/lib/cjs/shared/interfaces/index.cjs +2 -2
- package/lib/cjs/shared/interfaces/index.cjs.map +1 -0
- package/lib/cjs/shared/math.cjs +2 -2
- package/lib/cjs/shared/math.cjs.map +1 -0
- package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -0
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -0
- package/lib/cjs/shared/model/Identity.cjs +2 -2
- package/lib/cjs/shared/model/Identity.cjs.map +1 -0
- package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
- package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -0
- package/lib/cjs/shared/model/index.cjs +2 -2
- package/lib/cjs/shared/model/index.cjs.map +1 -0
- package/lib/cjs/shared/overrides/Model.cjs +2 -2
- package/lib/cjs/shared/overrides/Model.cjs.map +1 -0
- package/lib/cjs/shared/overrides/index.cjs +2 -2
- package/lib/cjs/shared/overrides/index.cjs.map +1 -0
- package/lib/cjs/shared/overrides/overrides.cjs +2 -2
- package/lib/cjs/shared/overrides/overrides.cjs.map +1 -0
- package/lib/cjs/shared/types.cjs +2 -2
- package/lib/cjs/shared/types.cjs.map +1 -0
- package/lib/cjs/version.cjs +3 -3
- package/lib/cjs/version.cjs.map +1 -0
- package/lib/esm/bin/cli.js +1 -1
- package/lib/esm/bin/cli.js.map +1 -0
- package/lib/esm/cli-module.js +1 -1
- package/lib/esm/cli-module.js.map +1 -0
- package/lib/esm/cli-utils.js +1 -1
- package/lib/esm/cli-utils.js.map +1 -0
- package/lib/esm/client/FabricClientAdapter.js +1 -1
- package/lib/esm/client/FabricClientAdapter.js.map +1 -0
- package/lib/esm/client/FabricClientDispatch.js +1 -1
- package/lib/esm/client/FabricClientDispatch.js.map +1 -0
- package/lib/esm/client/FabricClientPaginator.js +1 -1
- package/lib/esm/client/FabricClientPaginator.js.map +1 -0
- package/lib/esm/client/FabricClientRepository.js +1 -1
- package/lib/esm/client/FabricClientRepository.js.map +1 -0
- package/lib/esm/client/FabricClientStatement.js +1 -1
- package/lib/esm/client/FabricClientStatement.js.map +1 -0
- package/lib/esm/client/collections/generation.js +1 -1
- package/lib/esm/client/collections/generation.js.map +1 -0
- package/lib/esm/client/collections/index.js +1 -1
- package/lib/esm/client/collections/index.js.map +1 -0
- package/lib/esm/client/constants.js +1 -1
- package/lib/esm/client/constants.js.map +1 -0
- package/lib/esm/client/crypto.js +1 -1
- package/lib/esm/client/crypto.js.map +1 -0
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
- package/lib/esm/client/erc20/index.js +1 -1
- package/lib/esm/client/erc20/index.js.map +1 -0
- package/lib/esm/client/fabric-fs.js +1 -1
- package/lib/esm/client/fabric-fs.js.map +1 -0
- package/lib/esm/client/fabric-hsm.js +1 -1
- package/lib/esm/client/fabric-hsm.js.map +1 -0
- package/lib/esm/client/ids/id-extraction.js +1 -1
- package/lib/esm/client/ids/id-extraction.js.map +1 -0
- package/lib/esm/client/ids/index.js +1 -1
- package/lib/esm/client/ids/index.js.map +1 -0
- package/lib/esm/client/index.js +1 -1
- package/lib/esm/client/index.js.map +1 -0
- package/lib/esm/client/indexes/generation.js +1 -1
- package/lib/esm/client/indexes/generation.js.map +1 -0
- package/lib/esm/client/indexes/index.js +1 -1
- package/lib/esm/client/indexes/index.js.map +1 -0
- package/lib/esm/client/logging.js +1 -1
- package/lib/esm/client/logging.js.map +1 -0
- package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
- package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
- package/lib/esm/client/services/FabricIdentityService.js +1 -1
- package/lib/esm/client/services/FabricIdentityService.js.map +1 -0
- package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
- package/lib/esm/client/services/RegistrationRequestBuilder.js.map +1 -0
- package/lib/esm/client/services/constants.js +1 -1
- package/lib/esm/client/services/constants.js.map +1 -0
- package/lib/esm/client/services/index.js +1 -1
- package/lib/esm/client/services/index.js.map +1 -0
- package/lib/esm/client/types.js +1 -1
- package/lib/esm/client/types.js.map +1 -0
- package/lib/esm/client/utils.js +1 -1
- package/lib/esm/client/utils.js.map +1 -0
- package/lib/esm/contract/Address.js +1 -1
- package/lib/esm/contract/Address.js.map +1 -0
- package/lib/esm/contract/AddressContract.js +1 -1
- package/lib/esm/contract/AddressContract.js.map +1 -0
- package/lib/esm/contract/AuditContract.js +1 -1
- package/lib/esm/contract/AuditContract.js.map +1 -0
- package/lib/esm/contract/BatchContract.js +1 -1
- package/lib/esm/contract/BatchContract.js.map +1 -0
- package/lib/esm/contract/MarketContract.js +1 -1
- package/lib/esm/contract/MarketContract.js.map +1 -0
- package/lib/esm/contract/OtherAuditContract.js +1 -1
- package/lib/esm/contract/OtherAuditContract.js.map +1 -0
- package/lib/esm/contract/OtherBatchContract.js +1 -1
- package/lib/esm/contract/OtherBatchContract.js.map +1 -0
- package/lib/esm/contract/OtherMarketContract.js +1 -1
- package/lib/esm/contract/OtherMarketContract.js.map +1 -0
- package/lib/esm/contract/OtherProductContract.js +1 -1
- package/lib/esm/contract/OtherProductContract.js.map +1 -0
- package/lib/esm/contract/OtherProductImageContract.js +1 -1
- package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
- package/lib/esm/contract/OtherProductSharedContract.js +1 -1
- package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
- package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
- package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
- package/lib/esm/contract/Product.js +1 -1
- package/lib/esm/contract/Product.js.map +1 -0
- package/lib/esm/contract/ProductContract.js +1 -1
- package/lib/esm/contract/ProductContract.js.map +1 -0
- package/lib/esm/contract/ProductStrengthContract.js +1 -1
- package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
- package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
- package/lib/esm/contract/User.js +1 -1
- package/lib/esm/contract/User.js.map +1 -0
- package/lib/esm/contract/UserContract.js +1 -1
- package/lib/esm/contract/UserContract.js.map +1 -0
- package/lib/esm/contract/index.js +2 -1
- package/lib/esm/contract/index.js.map +1 -0
- package/lib/esm/contract/logging-context.js +1 -1
- package/lib/esm/contract/logging-context.js.map +1 -0
- package/lib/esm/contract/models/Audit.js +1 -1
- package/lib/esm/contract/models/Audit.js.map +1 -0
- package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
- package/lib/esm/contract/models/BaseIdentifiedModel.js.map +1 -0
- package/lib/esm/contract/models/BaseModel.js +1 -1
- package/lib/esm/contract/models/BaseModel.js.map +1 -0
- package/lib/esm/contract/models/Batch.js +1 -1
- package/lib/esm/contract/models/Batch.js.map +1 -0
- package/lib/esm/contract/models/GtinOwner.js +1 -1
- package/lib/esm/contract/models/GtinOwner.js.map +1 -0
- package/lib/esm/contract/models/History.js +1 -1
- package/lib/esm/contract/models/History.js.map +1 -0
- package/lib/esm/contract/models/Leaflet.js +1 -1
- package/lib/esm/contract/models/Leaflet.js.map +1 -0
- package/lib/esm/contract/models/LeafletFile.js +1 -1
- package/lib/esm/contract/models/LeafletFile.js.map +1 -0
- package/lib/esm/contract/models/Market.js +1 -1
- package/lib/esm/contract/models/Market.js.map +1 -0
- package/lib/esm/contract/models/OtherAudit.js +1 -1
- package/lib/esm/contract/models/OtherAudit.js.map +1 -0
- package/lib/esm/contract/models/OtherBatchShared.js +1 -1
- package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
- package/lib/esm/contract/models/OtherLeaflet.js +1 -1
- package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
- package/lib/esm/contract/models/OtherLeafletFile.js +1 -1
- package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
- package/lib/esm/contract/models/OtherMarket.js +1 -1
- package/lib/esm/contract/models/OtherMarket.js.map +1 -0
- package/lib/esm/contract/models/OtherProduct.js +1 -1
- package/lib/esm/contract/models/OtherProduct.js.map +1 -0
- package/lib/esm/contract/models/OtherProductImage.js +1 -1
- package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
- package/lib/esm/contract/models/OtherProductShared.js +1 -1
- package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
- package/lib/esm/contract/models/OtherProductStrength.js +1 -1
- package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
- package/lib/esm/contract/models/Product.js +1 -1
- package/lib/esm/contract/models/Product.js.map +1 -0
- package/lib/esm/contract/models/ProductStrength.js +1 -1
- package/lib/esm/contract/models/ProductStrength.js.map +1 -0
- package/lib/esm/contract/models/SegregatedDocument.js +1 -1
- package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
- package/lib/esm/contract/models/constants.js +1 -1
- package/lib/esm/contract/models/constants.js.map +1 -0
- package/lib/esm/contract/models/decorators-private.js +1 -1
- package/lib/esm/contract/models/decorators-private.js.map +1 -0
- package/lib/esm/contract/models/decorators.js +1 -1
- package/lib/esm/contract/models/decorators.js.map +1 -0
- package/lib/esm/contract/models/gtin.js +1 -1
- package/lib/esm/contract/models/gtin.js.map +1 -0
- package/lib/esm/contract/models/history-dec.js +1 -1
- package/lib/esm/contract/models/history-dec.js.map +1 -0
- package/lib/esm/contracts/ContractAdapter.js +1 -1
- package/lib/esm/contracts/ContractAdapter.js.map +1 -0
- package/lib/esm/contracts/ContractContext.js +1 -1
- package/lib/esm/contracts/ContractContext.js.map +1 -0
- package/lib/esm/contracts/FabricContractDispatch.js +1 -1
- package/lib/esm/contracts/FabricContractDispatch.js.map +1 -0
- package/lib/esm/contracts/FabricContractPaginator.js +1 -1
- package/lib/esm/contracts/FabricContractPaginator.js.map +1 -0
- package/lib/esm/contracts/FabricContractRepository.js +1 -1
- package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
- package/lib/esm/contracts/FabricContractSequence.js +1 -1
- package/lib/esm/contracts/FabricContractSequence.js.map +1 -0
- package/lib/esm/contracts/FabricContractStatement.js +1 -1
- package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
- package/lib/esm/contracts/MigrationContract.js +1 -1
- package/lib/esm/contracts/MigrationContract.js.map +1 -0
- package/lib/esm/contracts/PrivateSequence.js +1 -1
- package/lib/esm/contracts/PrivateSequence.js.map +1 -0
- package/lib/esm/contracts/auth/decorators.js +1 -1
- package/lib/esm/contracts/auth/decorators.js.map +1 -0
- package/lib/esm/contracts/auth/index.js +1 -1
- package/lib/esm/contracts/auth/index.js.map +1 -0
- package/lib/esm/contracts/bootstrap.js +11 -0
- package/lib/esm/contracts/bootstrap.js.map +1 -0
- package/lib/esm/contracts/crud/crud-contract.js +2 -1
- package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
- package/lib/esm/contracts/crud/index.js +1 -1
- package/lib/esm/contracts/crud/index.js.map +1 -0
- package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
- package/lib/esm/contracts/erc20/erc20contract.js +1 -1
- package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
- package/lib/esm/contracts/erc20/index.js +1 -1
- package/lib/esm/contracts/erc20/index.js.map +1 -0
- package/lib/esm/contracts/erc20/models.js +1 -1
- package/lib/esm/contracts/erc20/models.js.map +1 -0
- package/lib/esm/contracts/fabric-overrides.js +61 -0
- package/lib/esm/contracts/fabric-overrides.js.map +1 -0
- package/lib/esm/contracts/index.js +2 -1
- package/lib/esm/contracts/index.js.map +1 -0
- package/lib/esm/contracts/logging.js +1 -1
- package/lib/esm/contracts/logging.js.map +1 -0
- package/lib/esm/contracts/overrides.js +1 -1
- package/lib/esm/contracts/overrides.js.map +1 -0
- package/lib/esm/contracts/types.js +1 -1
- package/lib/esm/contracts/types.js.map +1 -0
- package/lib/esm/contracts/uuid.js +1 -1
- package/lib/esm/contracts/uuid.js.map +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/shared/ClientSerializer.js +1 -1
- package/lib/esm/shared/ClientSerializer.js.map +1 -0
- package/lib/esm/shared/DeterministicSerializer.js +1 -1
- package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/constants.js +1 -1
- package/lib/esm/shared/constants.js.map +1 -0
- package/lib/esm/shared/decorators.js +1 -1
- package/lib/esm/shared/decorators.js.map +1 -0
- package/lib/esm/shared/erc20/erc20-constants.js +1 -1
- package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
- package/lib/esm/shared/erc20/index.js +1 -1
- package/lib/esm/shared/erc20/index.js.map +1 -0
- package/lib/esm/shared/errors.js +1 -1
- package/lib/esm/shared/errors.js.map +1 -0
- package/lib/esm/shared/events.js +1 -1
- package/lib/esm/shared/events.js.map +1 -0
- package/lib/esm/shared/fabric-types.js +1 -1
- package/lib/esm/shared/fabric-types.js.map +1 -0
- package/lib/esm/shared/index.js +1 -1
- package/lib/esm/shared/index.js.map +1 -0
- package/lib/esm/shared/interfaces/Checkable.js +1 -1
- package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
- package/lib/esm/shared/interfaces/index.js +1 -1
- package/lib/esm/shared/interfaces/index.js.map +1 -0
- package/lib/esm/shared/math.js +1 -1
- package/lib/esm/shared/math.js.map +1 -0
- package/lib/esm/shared/model/FabricBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
- package/lib/esm/shared/model/Identity.js +1 -1
- package/lib/esm/shared/model/Identity.js.map +1 -0
- package/lib/esm/shared/model/IdentityCredentials.js +1 -1
- package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
- package/lib/esm/shared/model/index.js +1 -1
- package/lib/esm/shared/model/index.js.map +1 -0
- package/lib/esm/shared/overrides/Model.js +1 -1
- package/lib/esm/shared/overrides/Model.js.map +1 -0
- package/lib/esm/shared/overrides/index.js +1 -1
- package/lib/esm/shared/overrides/index.js.map +1 -0
- package/lib/esm/shared/overrides/overrides.js +1 -1
- package/lib/esm/shared/overrides/overrides.js.map +1 -0
- package/lib/esm/shared/types.js +1 -1
- package/lib/esm/shared/types.js.map +1 -0
- package/lib/esm/version.js +2 -2
- package/lib/esm/version.js.map +1 -0
- package/lib/types/contract/index.d.cts +1 -0
- package/lib/types/contract/index.d.mts +1 -0
- package/lib/types/contracts/bootstrap.d.cts +10 -0
- package/lib/types/contracts/bootstrap.d.mts +10 -0
- package/lib/types/contracts/crud/crud-contract.d.cts +1 -0
- package/lib/types/contracts/crud/crud-contract.d.mts +1 -0
- package/lib/types/contracts/fabric-overrides.d.cts +1 -0
- package/lib/types/contracts/fabric-overrides.d.mts +1 -0
- package/lib/types/contracts/index.d.cts +1 -0
- package/lib/types/contracts/index.d.mts +1 -0
- package/lib/types/version.d.cts +1 -1
- package/lib/types/version.d.mts +1 -1
- package/package.json +16 -1
|
@@ -286,5 +286,5 @@ __decorate([
|
|
|
286
286
|
__metadata("design:paramtypes", [fabric_contract_api_1.Context, String]),
|
|
287
287
|
__metadata("design:returntype", Promise)
|
|
288
288
|
], SerializedCrudContract.prototype, "groupOf", null);
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplZC1jcnVkLWNvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyYWN0cy9jcnVkL3NlcmlhbGl6ZWQtY3J1ZC1jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsMkJBQXdCO0FBRXJELE9BQU8sRUFBRSxPQUFPLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxTQUFTLEVBQWtCLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0Q7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sc0JBRVgsU0FBUSxrQkFBcUI7SUFDN0IsWUFBWSxJQUFZLEVBQUUsS0FBcUI7UUFDN0MsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBR2MsQUFBTixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVEsRUFBRSxLQUFhO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFVLEVBQUUsS0FBSyxDQUFDLENBQU0sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFHYyxBQUFOLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBUSxFQUFFLEdBQVc7UUFDdkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQVUsRUFBRSxHQUFHLENBQUMsQ0FBTSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUdjLEFBQU4sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFRLEVBQUUsS0FBYTtRQUMzQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMs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Q0FBQyxLQUFLLENBQUM7O3FDQUNRLEdBQUc7O29EQUk3QjtBQUdjO0lBRGQsV0FBVyxDQUFDLEtBQUssQ0FBQzs7cUNBRVosR0FBRzs7d0RBZVQ7QUFHYztJQURkLFdBQVcsQ0FBQyxLQUFLLENBQUM7O3FDQUVaLEdBQUc7O2tEQVFUO0FBR2M7SUFEZCxXQUFXLENBQUMsS0FBSyxDQUFDOztxQ0FDVyxHQUFHOzt1REFFaEM7QUFvQ2M7SUFEZCxXQUFXLEVBQUU7O3FDQUNXLEdBQUc7O2tEQUUzQjtBQUdjO0lBRGQsV0FBVyxDQUFDLEtBQUssQ0FBQzs7cUNBQ2EsR0FBRzs7eURBR2xDO0FBR2M7SUFEZCxXQUFXLEVBQUU7O3FDQUNvQixHQUFHOzt1REFRcEM7QUFHYztJQURkLFdBQVcsQ0FBQyxLQUFLLENBQUM7O3FDQUNTLEdBQUc7O3FEQUU5QjtBQUdjO0lBRGQsV0FBVyxDQUFDLEtBQUssQ0FBQzs7cUNBQ08sR0FBRzs7bURBRTVCO0FBR2M7SUFEZCxXQUFXLENBQUMsS0FBSyxDQUFDOztxQ0FDTyxHQUFHOzttREFFNUI7QUFHYztJQURkLFdBQVcsQ0FBQyxLQUFLLENBQUM7O3FDQUNPLEdBQUc7O21EQUU1QjtBQUdjO0lBRGQsV0FBVyxDQUFDLEtBQUssQ0FBQzs7cUNBQ08sR0FBRzs7bURBRTVCO0FBR2M7SUFEZCxXQUFXLENBQUMsS0FBSyxDQUFDOztxQ0FDWSxHQUFHOzt3REFFakM7QUFHYztJQURkLFdBQVcsQ0FBQyxLQUFLLENBQUM7O3FDQUNTLEdBQUc7O3FEQUU5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhYnJpY0NydWRDb250cmFjdCB9IGZyb20gXCIuL2NydWQtY29udHJhY3RcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBDdHgsIFRyYW5zYWN0aW9uIH0gZnJvbSBcImZhYnJpYy1jb250cmFjdC1hcGlcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBDb25kaXRpb24sIE9yZGVyRGlyZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBTZXJpYWxpemF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ1JVRCBjb250cmFjdCB2YXJpYW50IHRoYXQgc2VyaWFsaXplcy9kZXNlcmlhbGl6ZXMgcGF5bG9hZHNcbiAqIEBzdW1tYXJ5IEV4cG9zZXMgdGhlIHNhbWUgQ1JVRCBvcGVyYXRpb25zIGFzIEZhYnJpY0NydWRDb250cmFjdCBidXQgdGFrZXMgYW5kIHJldHVybnMgSlNPTiBzdHJpbmdzIHRvIGZhY2lsaXRhdGUgc2ltcGxlIGNsaWVudCBpbnRlcmFjdGlvbnMuXG4gKiBAdGVtcGxhdGUgTSAtIE1vZGVsIHR5cGUgaGFuZGxlZCBieSB0aGlzIGNvbnRyYWN0XG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBjb250cmFjdCBuYW1lXG4gKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBjbGF6eiAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvciB1c2VkIHRvIGluc3RhbnRpYXRlIG1vZGVscyBmcm9tIEpTT05cbiAqIEByZXR1cm4ge3ZvaWR9XG4gKiBAY2xhc3MgU2VyaWFsaXplZENydWRDb250cmFjdFxuICogQGV4YW1wbGVcbiAqIGNvbnN0IGNvbnRyYWN0ID0gbmV3IFNlcmlhbGl6ZWRDcnVkQ29udHJhY3Q8TXlNb2RlbD4oJ015TW9kZWxDb250cmFjdCcsIE15TW9kZWwpO1xuICogLy8gQ2xpZW50IHN1Ym1pdHMgSlNPTiBzdHJpbmcgcGF5bG9hZHMgYW5kIHJlY2VpdmVzIEpTT04gc3RyaW5nIHJlc3BvbnNlc1xuICovXG5leHBvcnQgY2xhc3MgU2VyaWFsaXplZENydWRDb250cmFjdDxcbiAgTSBleHRlbmRzIE1vZGVsLFxuPiBleHRlbmRzIEZhYnJpY0NydWRDb250cmFjdDxNPiB7XG4gIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgY2xheno6IENvbnN0cnVjdG9yPE0+KSB7XG4gICAgc3VwZXIobmFtZSwgY2xhenopO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKClcbiAgb3ZlcnJpZGUgYXN5bmMgY3JlYXRlKGN0eDogQ3R4LCBtb2RlbDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKGF3YWl0IHN1cGVyLmNyZWF0ZShjdHggYXMgYW55LCBtb2RlbCkpIGFzIE0pO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKGZhbHNlKVxuICBvdmVycmlkZSBhc3luYyByZWFkKGN0eDogQ3R4LCBrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplKChhd2FpdCBzdXBlci5yZWFkKGN0eCBhcyBhbnksIGtleSkpIGFzIE0pO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKClcbiAgb3ZlcnJpZGUgYXN5bmMgdXBkYXRlKGN0eDogQ3R4LCBtb2RlbDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKGF3YWl0IHN1cGVyLnVwZGF0ZShjdHgsIG1vZGVsKSkgYXMgTSk7XG4gIH1cblxuICBAVHJhbnNhY3Rpb24oKVxuICBvdmVycmlkZSBhc3luYyBkZWxldGUoY3R4OiBDdHgsIGtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKGF3YWl0IHN1cGVyLmRlbGV0ZShjdHggYXMgYW55LCBrZXkpKSBhcyBNKTtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbigpXG4gIG92ZXJyaWRlIGFzeW5jIGRlbGV0ZUFsbChjdHg6IEN0eCwga2V5czogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBwYXJzZWRLZXlzOiBzdHJpbmdbXSA9IEpTT04ucGFyc2Uoa2V5cyk7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFxuICAgICAgKChhd2FpdCBzdXBlci5kZWxldGVBbGwoY3R4IGFzIGFueSwgcGFyc2VkS2V5cykpIGFzIE1bXSkubWFwKFxuICAgICAgICAobSkgPT4gdGhpcy5zZXJpYWxpemUobSkgYXMgc3RyaW5nXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbihmYWxzZSlcbiAgb3ZlcnJpZGUgYXN5bmMgcmVhZEFsbChjdHg6IEN0eCwga2V5czogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBwYXJzZWRLZXlzOiBzdHJpbmdbXSA9IEpTT04ucGFyc2Uoa2V5cyk7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFxuICAgICAgKChhd2FpdCBzdXBlci5yZWFkQWxsKGN0eCBhcyBhbnksIHBhcnNlZEtleXMpKSBhcyBNW10pLm1hcCgobSkgPT5cbiAgICAgICAgdGhpcy5zZXJpYWxpemUobSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKClcbiAgb3ZlcnJpZGUgYXN5bmMgdXBkYXRlQWxsKGN0eDogQ3R4LCBtb2RlbHM6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgbGlzdDogc3RyaW5nW10gPSBKU09OLnBhcnNlKG1vZGVscyk7XG4gICAgY29uc3QgbW9kZWxMaXN0OiBNW10gPSBsaXN0XG4gICAgICAubWFwKChtKSA9PiB0aGlzLmRlc2VyaWFsaXplKG0pKVxuICAgICAgLm1hcCgobSkgPT4gbmV3IHRoaXMuY2xhenoobSkpO1xuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFxuICAgICAgKChhd2FpdCBzdXBlci51cGRhdGVBbGwoY3R4IGFzIGFueSwgbW9kZWxMaXN0KSkgYXMgTVtdKS5tYXAoXG4gICAgICAgIChtKSA9PiB0aGlzLnNlcmlhbGl6ZShtKSBhcyBzdHJpbmdcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKGZhbHNlKVxuICBvdmVycmlkZSBhc3luYyBzdGF0ZW1lbnQoY3R4OiBDdHgsIG1ldGhvZDogc3RyaW5nLCBhcmdzOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgYXJncyA9IEpTT04ucGFyc2UoYXJncyk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IFNlcmlhbGl6YXRpb25FcnJvcihgSW52YWxpZCBhcmdzOiAke2V9YCk7XG4gICAgfVxuICAgIGlmICghQXJyYXkuaXNBcnJheShhcmdzKSlcbiAgICAgIHRocm93IG5ldyBTZXJpYWxpemF0aW9uRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9LiBtdXN0IGJlIGFuIGFycmF5YFxuICAgICAgKTtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXdhaXQgc3VwZXIuc3RhdGVtZW50KGN0eCwgbWV0aG9kLCAuLi5hcmdzKSk7XG4gIH1cblxuICBAVHJhbnNhY3Rpb24oZmFsc2UpXG4gIG92ZXJyaWRlIGFzeW5jIGxpc3RCeShjdHg6IEN0eCwga2V5OiBzdHJpbmcsIG9yZGVyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoXG4gICAgICBhd2FpdCBzdXBlci5saXN0QnkoY3R4LCBrZXkgYXMga2V5b2YgTSwgb3JkZXIgYXMgT3JkZXJEaXJlY3Rpb24pXG4gICAgKTtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbihmYWxzZSlcbiAgb3ZlcnJpZGUgYXN5bmMgcGFnaW5hdGVCeShcbiAgICBjdHg6IEN0eCxcbiAgICBrZXk6IHN0cmluZyxcbiAgICBvcmRlcjogc3RyaW5nLFxuICAgIHJlZjogc3RyaW5nXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJlZiA9IEpTT04ucGFyc2UocmVmKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIGRlc2VyaWFsaXplIHBhZ2luYXRlQnkgcmVmZXJlbmNlOiAke2V9YFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFxuICAgICAgYXdhaXQgc3VwZXIucGFnaW5hdGVCeShjdHgsIGtleSwgb3JkZXIgYXMgYW55LCByZWYgYXMgYW55KVxuICAgICk7XG4gIH1cblxuICBAVHJhbnNhY3Rpb24oZmFsc2UpXG4gIG92ZXJyaWRlIGFzeW5jIHBhZ2UoXG4gICAgY3R4OiBDdHgsXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBkaXJlY3Rpb246IHN0cmluZyxcbiAgICByZWY6IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHJlZmVyZW5jZSA9IHR5cGVvZiByZWYgPT09IFwic3RyaW5nXCIgPyBKU09OLnBhcnNlKHJlZikgOiAocmVmIGFzIGFueSk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc3VwZXIucGFnZShjdHgsIHZhbHVlLCBkaXJlY3Rpb24sIHJlZmVyZW5jZSk7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XG4gIH1cblxuICBAVHJhbnNhY3Rpb24oZmFsc2UpXG4gIG92ZXJyaWRlIGFzeW5jIGZpbmRPbmVCeShjdHg6IEN0eCwga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXdhaXQgc3VwZXIuZmluZE9uZUJ5KGN0eCwga2V5LCB2YWx1ZSkpO1xuICB9XG5cbiAgLy8gQFRyYW5zYWN0aW9uKGZhbHNlKVxuICBvdmVycmlkZSBhc3luYyBxdWVyeShcbiAgICBjdHg6IEN0eCxcbiAgICBjb25kaXRpb246IHN0cmluZyxcbiAgICBvcmRlckJ5OiBzdHJpbmcsXG4gICAgb3JkZXI6IHN0cmluZyxcbiAgICBsaW1pdD86IG51bWJlcixcbiAgICBza2lwPzogbnVtYmVyXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgbGV0IGNvbmQ6IENvbmRpdGlvbjxhbnk+O1xuICAgIHRyeSB7XG4gICAgICBjb25kID0gQ29uZGl0aW9uLmZyb20oSlNPTi5wYXJzZShjb25kaXRpb24pKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGBJbnZhbGlkIGNvbmRpdGlvbjogJHtlfWApO1xuICAgIH1cblxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShcbiAgICAgIGF3YWl0IHN1cGVyLnF1ZXJ5KGN0eCwgY29uZCwgb3JkZXJCeSwgb3JkZXIgYXMgYW55LCBsaW1pdCwgc2tpcClcbiAgICApO1xuICB9XG4gIC8vXG4gIC8vIC8vIEBUcmFuc2FjdGlvbihmYWxzZSlcbiAgLy8gb3ZlcnJpZGUgYXN5bmMgcmF3KFxuICAvLyAgIGNvbnRleHQ6IEN0eCxcbiAgLy8gICByYXdJbnB1dDogc3RyaW5nLFxuICAvLyAgIGRvY3NPbmx5OiBib29sZWFuLFxuICAvLyAgIC4uLmFyZ3M6IHN0cmluZ1tdXG4gIC8vICk6IFByb21pc2U8YW55PiB7XG4gIC8vICAgY29uc3QgeyBjdHggfSA9IGF3YWl0IHRoaXMubG9nQ3R4KFtjb250ZXh0XSwgdGhpcy5yYXcpO1xuICAvLyAgIGNvbnN0IHBhcnNlZElucHV0OiBNYW5nb1F1ZXJ5ID0gSlNPTi5wYXJzZShyYXdJbnB1dCk7XG4gIC8vICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGF3YWl0IHN1cGVyLnJhdyhjdHgsIHBhcnNlZElucHV0LCBkb2NzT25seSwgLi4uYXJncykpO1xuICAvLyB9XG5cbiAgQFRyYW5zYWN0aW9uKClcbiAgb3ZlcnJpZGUgYXN5bmMgaW5pdChjdHg6IEN0eCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLmluaXQoY3R4KTtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbihmYWxzZSlcbiAgb3ZlcnJpZGUgYXN5bmMgaGVhbHRoY2hlY2soY3R4OiBDdHgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIC8vVE9ETzogVFJJTSBOT1QgV09SS0lORyBDSEVDSyBMQVRFUlxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5oZWFsdGhjaGVjayhjdHggYXMgYW55KSk7XG4gIH1cblxuICBAVHJhbnNhY3Rpb24oKVxuICBvdmVycmlkZSBhc3luYyBjcmVhdGVBbGwoY29udGV4dDogQ3R4LCBtb2RlbHM6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgbGlzdDogc3RyaW5nW10gPSBKU09OLnBhcnNlKG1vZGVscyk7XG4gICAgY29uc3QgbW9kZWxMaXN0OiBNW10gPSBsaXN0XG4gICAgICAubWFwKChtKSA9PiB0aGlzLmRlc2VyaWFsaXplKG0pKVxuICAgICAgLm1hcCgobSkgPT4gbmV3IHRoaXMuY2xhenoobSkpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gKGF3YWl0IHN1cGVyLmNyZWF0ZUFsbChjb250ZXh0LCBtb2RlbExpc3QpKSBhcyBNW107XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdC5tYXAoKG0pID0+IHRoaXMuc2VyaWFsaXplKG0pIGFzIHN0cmluZykpO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKGZhbHNlKVxuICBvdmVycmlkZSBhc3luYyBjb3VudE9mKGN0eDogQ3R4LCBrZXk/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5jb3VudE9mKGN0eCBhcyBhbnksIGtleSkpO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKGZhbHNlKVxuICBvdmVycmlkZSBhc3luYyBtYXhPZihjdHg6IEN0eCwga2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5tYXhPZihjdHggYXMgYW55LCBrZXkpKTtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbihmYWxzZSlcbiAgb3ZlcnJpZGUgYXN5bmMgbWluT2YoY3R4OiBDdHgsIGtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXdhaXQgc3VwZXIubWluT2YoY3R4IGFzIGFueSwga2V5KSk7XG4gIH1cblxuICBAVHJhbnNhY3Rpb24oZmFsc2UpXG4gIG92ZXJyaWRlIGFzeW5jIGF2Z09mKGN0eDogQ3R4LCBrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGF3YWl0IHN1cGVyLmF2Z09mKGN0eCBhcyBhbnksIGtleSkpO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKGZhbHNlKVxuICBvdmVycmlkZSBhc3luYyBzdW1PZihjdHg6IEN0eCwga2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5zdW1PZihjdHggYXMgYW55LCBrZXkpKTtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbihmYWxzZSlcbiAgb3ZlcnJpZGUgYXN5bmMgZGlzdGluY3RPZihjdHg6IEN0eCwga2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5kaXN0aW5jdE9mKGN0eCBhcyBhbnksIGtleSkpO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKGZhbHNlKVxuICBvdmVycmlkZSBhc3luYyBncm91cE9mKGN0eDogQ3R4LCBrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGF3YWl0IHN1cGVyLmdyb3VwT2YoY3R4IGFzIGFueSwga2V5KSk7XG4gIH1cbn1cbiJdfQ==
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplZC1jcnVkLWNvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2VyaWFsaXplZC1jcnVkLWNvbnRyYWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFD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QUMzQyxFQUFFLHNCQUFzQixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekQsVUFBVSxDQUFDO0lBQ1AsSUFBQSxpQ0FBVyxFQUFDLEtBQUssQ0FBQztJQUNsQixVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztJQUNuQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyw2QkFBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUM7Q0FDM0MsRUFBRSxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3RELGttbEJBQWttbEIiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgRmFicmljQ3J1ZENvbnRyYWN0IH0gZnJvbSBcIi4vY3J1ZC1jb250cmFjdC5qc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBDdHgsIFRyYW5zYWN0aW9uIH0gZnJvbSBcImZhYnJpYy1jb250cmFjdC1hcGlcIjtcbmltcG9ydCB7IENvbmRpdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgU2VyaWFsaXphdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDUlVEIGNvbnRyYWN0IHZhcmlhbnQgdGhhdCBzZXJpYWxpemVzL2Rlc2VyaWFsaXplcyBwYXlsb2Fkc1xuICogQHN1bW1hcnkgRXhwb3NlcyB0aGUgc2FtZSBDUlVEIG9wZXJhdGlvbnMgYXMgRmFicmljQ3J1ZENvbnRyYWN0IGJ1dCB0YWtlcyBhbmQgcmV0dXJucyBKU09OIHN0cmluZ3MgdG8gZmFjaWxpdGF0ZSBzaW1wbGUgY2xpZW50IGludGVyYWN0aW9ucy5cbiAqIEB0ZW1wbGF0ZSBNIC0gTW9kZWwgdHlwZSBoYW5kbGVkIGJ5IHRoaXMgY29udHJhY3RcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIGNvbnRyYWN0IG5hbWVcbiAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yIHVzZWQgdG8gaW5zdGFudGlhdGUgbW9kZWxzIGZyb20gSlNPTlxuICogQHJldHVybiB7dm9pZH1cbiAqIEBjbGFzcyBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0XG4gKiBAZXhhbXBsZVxuICogY29uc3QgY29udHJhY3QgPSBuZXcgU2VyaWFsaXplZENydWRDb250cmFjdDxNeU1vZGVsPignTXlNb2RlbENvbnRyYWN0JywgTXlNb2RlbCk7XG4gKiAvLyBDbGllbnQgc3VibWl0cyBKU09OIHN0cmluZyBwYXlsb2FkcyBhbmQgcmVjZWl2ZXMgSlNPTiBzdHJpbmcgcmVzcG9uc2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0IGV4dGVuZHMgRmFicmljQ3J1ZENvbnRyYWN0IHtcbiAgICBjb25zdHJ1Y3RvcihuYW1lLCBjbGF6eikge1xuICAgICAgICBzdXBlcihuYW1lLCBjbGF6eik7XG4gICAgfVxuICAgIGFzeW5jIGNyZWF0ZShjdHgsIG1vZGVsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZSgoYXdhaXQgc3VwZXIuY3JlYXRlKGN0eCwgbW9kZWwpKSk7XG4gICAgfVxuICAgIGFzeW5jIHJlYWQoY3R4LCBrZXkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplKChhd2FpdCBzdXBlci5yZWFkKGN0eCwga2V5KSkpO1xuICAgIH1cbiAgICBhc3luYyB1cGRhdGUoY3R4LCBtb2RlbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKGF3YWl0IHN1cGVyLnVwZGF0ZShjdHgsIG1vZGVsKSkpO1xuICAgIH1cbiAgICBhc3luYyBkZWxldGUoY3R4LCBrZXkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplKChhd2FpdCBzdXBlci5kZWxldGUoY3R4LCBrZXkpKSk7XG4gICAgfVxuICAgIGFzeW5jIGRlbGV0ZUFsbChjdHgsIGtleXMpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkS2V5cyA9IEpTT04ucGFyc2Uoa2V5cyk7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSgoYXdhaXQgc3VwZXIuZGVsZXRlQWxsKGN0eCwgcGFyc2VkS2V5cykpLm1hcCgobSkgPT4gdGhpcy5zZXJpYWxpemUobSkpKTtcbiAgICB9XG4gICAgYXN5bmMgcmVhZEFsbChjdHgsIGtleXMpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkS2V5cyA9IEpTT04ucGFyc2Uoa2V5cyk7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSgoYXdhaXQgc3VwZXIucmVhZEFsbChjdHgsIHBhcnNlZEtleXMpKS5tYXAoKG0pID0+IHRoaXMuc2VyaWFsaXplKG0pKSk7XG4gICAgfVxuICAgIGFzeW5jIHVwZGF0ZUFsbChjdHgsIG1vZGVscykge1xuICAgICAgICBjb25zdCBsaXN0ID0gSlNPTi5wYXJzZShtb2RlbHMpO1xuICAgICAgICBjb25zdCBtb2RlbExpc3QgPSBsaXN0XG4gICAgICAgICAgICAubWFwKChtKSA9PiB0aGlzLmRlc2VyaWFsaXplKG0pKVxuICAgICAgICAgICAgLm1hcCgobSkgPT4gbmV3IHRoaXMuY2xhenoobSkpO1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoKGF3YWl0IHN1cGVyLnVwZGF0ZUFsbChjdHgsIG1vZGVsTGlzdCkpLm1hcCgobSkgPT4gdGhpcy5zZXJpYWxpemUobSkpKTtcbiAgICB9XG4gICAgYXN5bmMgc3RhdGVtZW50KGN0eCwgbWV0aG9kLCBhcmdzKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhcmdzID0gSlNPTi5wYXJzZShhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFNlcmlhbGl6YXRpb25FcnJvcihgSW52YWxpZCBhcmdzOiAke2V9YCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFyZ3MpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFNlcmlhbGl6YXRpb25FcnJvcihgSW52YWxpZCBhcmdzOiAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfS4gbXVzdCBiZSBhbiBhcnJheWApO1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXdhaXQgc3VwZXIuc3RhdGVtZW50KGN0eCwgbWV0aG9kLCAuLi5hcmdzKSk7XG4gICAgfVxuICAgIGFzeW5jIGxpc3RCeShjdHgsIGtleSwgb3JkZXIpIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGF3YWl0IHN1cGVyLmxpc3RCeShjdHgsIGtleSwgb3JkZXIpKTtcbiAgICB9XG4gICAgYXN5bmMgcGFnaW5hdGVCeShjdHgsIGtleSwgb3JkZXIsIHJlZikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVmID0gSlNPTi5wYXJzZShyZWYpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGBGYWlsZWQgdG8gZGVzZXJpYWxpemUgcGFnaW5hdGVCeSByZWZlcmVuY2U6ICR7ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXdhaXQgc3VwZXIucGFnaW5hdGVCeShjdHgsIGtleSwgb3JkZXIsIHJlZikpO1xuICAgIH1cbiAgICBhc3luYyBwYWdlKGN0eCwgdmFsdWUsIGRpcmVjdGlvbiwgcmVmKSB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IHR5cGVvZiByZWYgPT09IFwic3RyaW5nXCIgPyBKU09OLnBhcnNlKHJlZikgOiByZWY7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN1cGVyLnBhZ2UoY3R4LCB2YWx1ZSwgZGlyZWN0aW9uLCByZWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVzdWx0KTtcbiAgICB9XG4gICAgYXN5bmMgZmluZE9uZUJ5KGN0eCwga2V5LCB2YWx1ZSkge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXdhaXQgc3VwZXIuZmluZE9uZUJ5KGN0eCwga2V5LCB2YWx1ZSkpO1xuICAgIH1cbiAgICAvLyBAVHJhbnNhY3Rpb24oZmFsc2UpXG4gICAgYXN5bmMgcXVlcnkoY3R4LCBjb25kaXRpb24sIG9yZGVyQnksIG9yZGVyLCBsaW1pdCwgc2tpcCkge1xuICAgICAgICBsZXQgY29uZDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbmQgPSBDb25kaXRpb24uZnJvbShKU09OLnBhcnNlKGNvbmRpdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGBJbnZhbGlkIGNvbmRpdGlvbjogJHtlfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5xdWVyeShjdHgsIGNvbmQsIG9yZGVyQnksIG9yZGVyLCBsaW1pdCwgc2tpcCkpO1xuICAgIH1cbiAgICAvL1xuICAgIC8vIC8vIEBUcmFuc2FjdGlvbihmYWxzZSlcbiAgICAvLyBvdmVycmlkZSBhc3luYyByYXcoXG4gICAgLy8gICBjb250ZXh0OiBDdHgsXG4gICAgLy8gICByYXdJbnB1dDogc3RyaW5nLFxuICAgIC8vICAgZG9jc09ubHk6IGJvb2xlYW4sXG4gICAgLy8gICAuLi5hcmdzOiBzdHJpbmdbXVxuICAgIC8vICk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gICBjb25zdCB7IGN0eCB9ID0gYXdhaXQgdGhpcy5sb2dDdHgoW2NvbnRleHRdLCB0aGlzLnJhdyk7XG4gICAgLy8gICBjb25zdCBwYXJzZWRJbnB1dDogTWFuZ29RdWVyeSA9IEpTT04ucGFyc2UocmF3SW5wdXQpO1xuICAgIC8vICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGF3YWl0IHN1cGVyLnJhdyhjdHgsIHBhcnNlZElucHV0LCBkb2NzT25seSwgLi4uYXJncykpO1xuICAgIC8vIH1cbiAgICBhc3luYyBpbml0KGN0eCkge1xuICAgICAgICBhd2FpdCBzdXBlci5pbml0KGN0eCk7XG4gICAgfVxuICAgIGFzeW5jIGhlYWx0aGNoZWNrKGN0eCkge1xuICAgICAgICAvL1RPRE86IFRSSU0gTk9UIFdPUktJTkcgQ0hFQ0sgTEFURVJcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGF3YWl0IHN1cGVyLmhlYWx0aGNoZWNrKGN0eCkpO1xuICAgIH1cbiAgICBhc3luYyBjcmVhdGVBbGwoY29udGV4dCwgbW9kZWxzKSB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBKU09OLnBhcnNlKG1vZGVscyk7XG4gICAgICAgIGNvbnN0IG1vZGVsTGlzdCA9IGxpc3RcbiAgICAgICAgICAgIC5tYXAoKG0pID0+IHRoaXMuZGVzZXJpYWxpemUobSkpXG4gICAgICAgICAgICAubWFwKChtKSA9PiBuZXcgdGhpcy5jbGF6eihtKSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IChhd2FpdCBzdXBlci5jcmVhdGVBbGwoY29udGV4dCwgbW9kZWxMaXN0KSk7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShyZXN1bHQubWFwKChtKSA9PiB0aGlzLnNlcmlhbGl6ZShtKSkpO1xuICAgIH1cbiAgICBhc3luYyBjb3VudE9mKGN0eCwga2V5KSB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5jb3VudE9mKGN0eCwga2V5KSk7XG4gICAgfVxuICAgIGFzeW5jIG1heE9mKGN0eCwga2V5KSB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5tYXhPZihjdHgsIGtleSkpO1xuICAgIH1cbiAgICBhc3luYyBtaW5PZihjdHgsIGtleSkge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXdhaXQgc3VwZXIubWluT2YoY3R4LCBrZXkpKTtcbiAgICB9XG4gICAgYXN5bmMgYXZnT2YoY3R4LCBrZXkpIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGF3YWl0IHN1cGVyLmF2Z09mKGN0eCwga2V5KSk7XG4gICAgfVxuICAgIGFzeW5jIHN1bU9mKGN0eCwga2V5KSB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5zdW1PZihjdHgsIGtleSkpO1xuICAgIH1cbiAgICBhc3luYyBkaXN0aW5jdE9mKGN0eCwga2V5KSB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5kaXN0aW5jdE9mKGN0eCwga2V5KSk7XG4gICAgfVxuICAgIGFzeW5jIGdyb3VwT2YoY3R4LCBrZXkpIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGF3YWl0IHN1cGVyLmdyb3VwT2YoY3R4LCBrZXkpKTtcbiAgICB9XG59XG5fX2RlY29yYXRlKFtcbiAgICBUcmFuc2FjdGlvbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBGdW5jdGlvbiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtDdHgsIFN0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU2VyaWFsaXplZENydWRDb250cmFjdC5wcm90b3R5cGUsIFwiY3JlYXRlXCIsIG51bGwpO1xuX19kZWNvcmF0ZShbXG4gICAgVHJhbnNhY3Rpb24oZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBGdW5jdGlvbiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtDdHgsIFN0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU2VyaWFsaXplZENydWRDb250cmFjdC5wcm90b3R5cGUsIFwicmVhZFwiLCBudWxsKTtcbl9fZGVjb3JhdGUoW1xuICAgIFRyYW5zYWN0aW9uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW0N0eCwgU3RyaW5nXSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0LnByb3RvdHlwZSwgXCJ1cGRhdGVcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICBUcmFuc2FjdGlvbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBGdW5jdGlvbiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtDdHgsIFN0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU2VyaWFsaXplZENydWRDb250cmFjdC5wcm90b3R5cGUsIFwiZGVsZXRlXCIsIG51bGwpO1xuX19kZWNvcmF0ZShbXG4gICAgVHJhbnNhY3Rpb24oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRnVuY3Rpb24pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbQ3R4LCBTdHJpbmddKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnJldHVybnR5cGVcIiwgUHJvbWlzZSlcbl0sIFNlcmlhbGl6ZWRDcnVkQ29udHJhY3QucHJvdG90eXBlLCBcImRlbGV0ZUFsbFwiLCBudWxsKTtcbl9fZGVjb3JhdGUoW1xuICAgIFRyYW5zYWN0aW9uKGZhbHNlKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRnVuY3Rpb24pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbQ3R4LCBTdHJpbmddKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnJldHVybnR5cGVcIiwgUHJvbWlzZSlcbl0sIFNlcmlhbGl6ZWRDcnVkQ29udHJhY3QucHJvdG90eXBlLCBcInJlYWRBbGxcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICBUcmFuc2FjdGlvbigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBGdW5jdGlvbiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtDdHgsIFN0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU2VyaWFsaXplZENydWRDb250cmFjdC5wcm90b3R5cGUsIFwidXBkYXRlQWxsXCIsIG51bGwpO1xuX19kZWNvcmF0ZShbXG4gICAgVHJhbnNhY3Rpb24oZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBGdW5jdGlvbiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtDdHgsIFN0cmluZywgU3RyaW5nXSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0LnByb3RvdHlwZSwgXCJzdGF0ZW1lbnRcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICBUcmFuc2FjdGlvbihmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW0N0eCwgU3RyaW5nLCBTdHJpbmddKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnJldHVybnR5cGVcIiwgUHJvbWlzZSlcbl0sIFNlcmlhbGl6ZWRDcnVkQ29udHJhY3QucHJvdG90eXBlLCBcImxpc3RCeVwiLCBudWxsKTtcbl9fZGVjb3JhdGUoW1xuICAgIFRyYW5zYWN0aW9uKGZhbHNlKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRnVuY3Rpb24pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbQ3R4LCBTdHJpbmcsIFN0cmluZywgU3RyaW5nXSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0LnByb3RvdHlwZSwgXCJwYWdpbmF0ZUJ5XCIsIG51bGwpO1xuX19kZWNvcmF0ZShbXG4gICAgVHJhbnNhY3Rpb24oZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBGdW5jdGlvbiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtDdHgsIFN0cmluZywgU3RyaW5nLCBTdHJpbmddKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnJldHVybnR5cGVcIiwgUHJvbWlzZSlcbl0sIFNlcmlhbGl6ZWRDcnVkQ29udHJhY3QucHJvdG90eXBlLCBcInBhZ2VcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICBUcmFuc2FjdGlvbihmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW0N0eCwgU3RyaW5nLCBTdHJpbmddKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnJldHVybnR5cGVcIiwgUHJvbWlzZSlcbl0sIFNlcmlhbGl6ZWRDcnVkQ29udHJhY3QucHJvdG90eXBlLCBcImZpbmRPbmVCeVwiLCBudWxsKTtcbl9fZGVjb3JhdGUoW1xuICAgIFRyYW5zYWN0aW9uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW0N0eF0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU2VyaWFsaXplZENydWRDb250cmFjdC5wcm90b3R5cGUsIFwiaW5pdFwiLCBudWxsKTtcbl9fZGVjb3JhdGUoW1xuICAgIFRyYW5zYWN0aW9uKGZhbHNlKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRnVuY3Rpb24pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbQ3R4XSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0LnByb3RvdHlwZSwgXCJoZWFsdGhjaGVja1wiLCBudWxsKTtcbl9fZGVjb3JhdGUoW1xuICAgIFRyYW5zYWN0aW9uKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW0N0eCwgU3RyaW5nXSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0LnByb3RvdHlwZSwgXCJjcmVhdGVBbGxcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICBUcmFuc2FjdGlvbihmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW0N0eCwgU3RyaW5nXSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0LnByb3RvdHlwZSwgXCJjb3VudE9mXCIsIG51bGwpO1xuX19kZWNvcmF0ZShbXG4gICAgVHJhbnNhY3Rpb24oZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBGdW5jdGlvbiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtDdHgsIFN0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU2VyaWFsaXplZENydWRDb250cmFjdC5wcm90b3R5cGUsIFwibWF4T2ZcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICBUcmFuc2FjdGlvbihmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW0N0eCwgU3RyaW5nXSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0LnByb3RvdHlwZSwgXCJtaW5PZlwiLCBudWxsKTtcbl9fZGVjb3JhdGUoW1xuICAgIFRyYW5zYWN0aW9uKGZhbHNlKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRnVuY3Rpb24pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbQ3R4LCBTdHJpbmddKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnJldHVybnR5cGVcIiwgUHJvbWlzZSlcbl0sIFNlcmlhbGl6ZWRDcnVkQ29udHJhY3QucHJvdG90eXBlLCBcImF2Z09mXCIsIG51bGwpO1xuX19kZWNvcmF0ZShbXG4gICAgVHJhbnNhY3Rpb24oZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBGdW5jdGlvbiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtDdHgsIFN0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU2VyaWFsaXplZENydWRDb250cmFjdC5wcm90b3R5cGUsIFwic3VtT2ZcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICBUcmFuc2FjdGlvbihmYWxzZSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW0N0eCwgU3RyaW5nXSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0LnByb3RvdHlwZSwgXCJkaXN0aW5jdE9mXCIsIG51bGwpO1xuX19kZWNvcmF0ZShbXG4gICAgVHJhbnNhY3Rpb24oZmFsc2UpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBGdW5jdGlvbiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtDdHgsIFN0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU2VyaWFsaXplZENydWRDb250cmFjdC5wcm90b3R5cGUsIFwiZ3JvdXBPZlwiLCBudWxsKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWMyVnlhV0ZzYVhwbFpDMWpjblZrTFdOdmJuUnlZV04wTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiblJ5WVdOMGN5OWpjblZrTDNObGNtbGhiR2w2WldRdFkzSjFaQzFqYjI1MGNtRmpkQzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3UVVGQlFTeFBRVUZQTEVWQlFVVXNhMEpCUVd0Q0xFVkJRVVVzTWtKQlFYZENPMEZCUlhKRUxFOUJRVThzUlVGQlJTeFBRVUZQTEVsQlFVa3NSMEZCUnl4RlFVRkZMRmRCUVZjc1JVRkJSU3hOUVVGTkxIRkNRVUZ4UWl4RFFVRkRPMEZCUld4RkxFOUJRVThzUlVGQlJTeFRRVUZUTEVWQlFXdENMRTFCUVUwc1owSkJRV2RDTEVOQlFVTTdRVUZETTBRc1QwRkJUeXhGUVVGRkxHdENRVUZyUWl4RlFVRkZMRTFCUVUwc2VVSkJRWGxDTEVOQlFVTTdRVUZGTjBRN096czdPenM3T3pzN08wZEJWMGM3UVVGRFNDeE5RVUZOTEU5QlFVOHNjMEpCUlZnc1UwRkJVU3hyUWtGQmNVSTdTVUZETjBJc1dVRkJXU3hKUVVGWkxFVkJRVVVzUzBGQmNVSTdVVUZETjBNc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0SlFVTnlRaXhEUVVGRE8wbEJSMk1zUVVGQlRpeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVZFc1JVRkJSU3hMUVVGaE8xRkJRek5ETEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFMUJRVTBzUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRlZMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVTBzUTBGQlF5eERRVUZETzBsQlEzUkZMRU5CUVVNN1NVRkhZeXhCUVVGT0xFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCVVN4RlFVRkZMRWRCUVZjN1VVRkRka01zVDBGQlR5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFWVXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJUU3hEUVVGRExFTkJRVU03U1VGRGJFVXNRMEZCUXp0SlFVZGpMRUZCUVU0c1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZSTEVWQlFVVXNTMEZCWVR0UlFVTXpReXhQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRk5MRU5CUVVNc1EwRkJRenRKUVVNdlJDeERRVUZETzBsQlIyTXNRVUZCVGl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVkVzUlVGQlJTeEhRVUZYTzFGQlEzcERMRTlCUVU4c1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETEUxQlFVMHNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGVkxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVMHNRMEZCUXl4RFFVRkRPMGxCUTNCRkxFTkJRVU03U1VGSFl5eEJRVUZPTEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1IwRkJVU3hGUVVGRkxFbEJRVms3VVVGRE4wTXNUVUZCVFN4VlFVRlZMRWRCUVdFc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTTVReXhQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlEyeENMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFWVXNSVUZCUlN4VlFVRlZMRU5CUVVNc1EwRkJVeXhEUVVGRExFZEJRVWNzUTBGRE1VUXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRlhMRU5CUTI1RExFTkJRMFlzUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZIWXl4QlFVRk9MRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlVTeEZRVUZGTEVsQlFWazdVVUZETTBNc1RVRkJUU3hWUVVGVkxFZEJRV0VzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVNNVF5eFBRVUZQTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUTJ4Q0xFTkJRVU1zVFVGQlRTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVZVc1JVRkJSU3hWUVVGVkxFTkJRVU1zUTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJReTlFTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRMnhDTEVOQlEwWXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkhZeXhCUVVGT0xFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlFVTXNSMEZCVVN4RlFVRkZMRTFCUVdNN1VVRkRMME1zVFVGQlRTeEpRVUZKTEVkQlFXRXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU14UXl4TlFVRk5MRk5CUVZNc1IwRkJVU3hKUVVGSk8yRkJRM2hDTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRoUVVNdlFpeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJSV3BETEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkRiRUlzUTBGQlF5eE5RVUZOTEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1IwRkJWU3hGUVVGRkxGTkJRVk1zUTBGQlF5eERRVUZUTEVOQlFVTXNSMEZCUnl4RFFVTjZSQ3hEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVmNzUTBGRGJrTXNRMEZEUml4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVkakxFRkJRVTRzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4SFFVRlJMRVZCUVVVc1RVRkJZeXhGUVVGRkxFbEJRVms3VVVGRE4wUXNTVUZCU1N4RFFVRkRPMWxCUTBnc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRNVUlzUTBGQlF6dFJRVUZETEU5QlFVOHNRMEZCVlN4RlFVRkZMRU5CUVVNN1dVRkRjRUlzVFVGQlRTeEpRVUZKTEd0Q1FVRnJRaXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJRM0pFTEVOQlFVTTdVVUZEUkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTTdXVUZEZEVJc1RVRkJUU3hKUVVGSkxHdENRVUZyUWl4RFFVTXhRaXhwUWtGQmFVSXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRU5CUXpGRUxFTkJRVU03VVVGRFNpeFBRVUZQTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4TlFVRk5MRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzSkZMRU5CUVVNN1NVRkhZeXhCUVVGT0xFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCVVN4RlFVRkZMRWRCUVZjc1JVRkJSU3hMUVVGaE8xRkJRM2hFTEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkRia0lzVFVGQlRTeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGakxFVkJRVVVzUzBGQmRVSXNRMEZCUXl4RFFVTnFSU3hEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVWRqTEVGQlFVNHNTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkRka0lzUjBGQlVTeEZRVU5TTEVkQlFWY3NSVUZEV0N4TFFVRmhMRVZCUTJJc1IwRkJWenRSUVVWWUxFbEJRVWtzUTBGQlF6dFpRVU5JTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEzaENMRU5CUVVNN1VVRkJReXhQUVVGUExFTkJRVlVzUlVGQlJTeERRVUZETzFsQlEzQkNMRTFCUVUwc1NVRkJTU3hyUWtGQmEwSXNRMEZETVVJc0swTkJRU3RETEVOQlFVTXNSVUZCUlN4RFFVTnVSQ3hEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVU5FTEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkRia0lzVFVGQlRTeExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUzBGQldTeEZRVUZGTEVkQlFWVXNRMEZCUXl4RFFVTXpSQ3hEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVWRqTEVGQlFVNHNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkRha0lzUjBGQlVTeEZRVU5TTEV0QlFXRXNSVUZEWWl4VFFVRnBRaXhGUVVOcVFpeEhRVUZYTzFGQlJWZ3NUVUZCVFN4VFFVRlRMRWRCUVVjc1QwRkJUeXhIUVVGSExFdEJRVXNzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUlN4SFFVRlhMRU5CUVVNN1VVRkRNMFVzVFVGQlRTeE5RVUZOTEVkQlFVY3NUVUZCVFN4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUlVGQlJTeExRVUZMTEVWQlFVVXNVMEZCVXl4RlFVRkZMRk5CUVZNc1EwRkJReXhEUVVGRE8xRkJRMnhGTEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU5vUXl4RFFVRkRPMGxCUjJNc1FVRkJUaXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFWRXNSVUZCUlN4SFFVRlhMRVZCUVVVc1MwRkJZVHRSUVVNelJDeFBRVUZQTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5vUlN4RFFVRkRPMGxCUlVRc2MwSkJRWE5DTzBsQlEySXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkRiRUlzUjBGQlVTeEZRVU5TTEZOQlFXbENMRVZCUTJwQ0xFOUJRV1VzUlVGRFppeExRVUZoTEVWQlEySXNTMEZCWXl4RlFVTmtMRWxCUVdFN1VVRkZZaXhKUVVGSkxFbEJRVzlDTEVOQlFVTTdVVUZEZWtJc1NVRkJTU3hEUVVGRE8xbEJRMGdzU1VGQlNTeEhRVUZITEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUXk5RExFTkJRVU03VVVGQlF5eFBRVUZQTEVOQlFWVXNSVUZCUlN4RFFVRkRPMWxCUTNCQ0xFMUJRVTBzU1VGQlNTeHJRa0ZCYTBJc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVNeFJDeERRVUZETzFGQlJVUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVOdVFpeE5RVUZOTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhGUVVGRkxFbEJRVWtzUlVGQlJTeFBRVUZQTEVWQlFVVXNTMEZCV1N4RlFVRkZMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGFrVXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkRSQ3hGUVVGRk8wbEJRMFlzZVVKQlFYbENPMGxCUTNwQ0xITkNRVUZ6UWp0SlFVTjBRaXhyUWtGQmEwSTdTVUZEYkVJc2MwSkJRWE5DTzBsQlEzUkNMSFZDUVVGMVFqdEpRVU4yUWl4elFrRkJjMEk3U1VGRGRFSXNiMEpCUVc5Q08wbEJRM0JDTERSRVFVRTBSRHRKUVVNMVJDd3dSRUZCTUVRN1NVRkRNVVFzYVVaQlFXbEdPMGxCUTJwR0xFbEJRVWs3U1VGSFZ5eEJRVUZPTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJVVHRSUVVNeFFpeE5RVUZOTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGVFSXNRMEZCUXp0SlFVZGpMRUZCUVU0c1MwRkJTeXhEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZSTzFGQlEycERMRzlEUVVGdlF6dFJRVU53UXl4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVFVGQlRTeExRVUZMTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWRCUVZVc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRE4wUXNRMEZCUXp0SlFVZGpMRUZCUVU0c1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZaTEVWQlFVVXNUVUZCWXp0UlFVTnVSQ3hOUVVGTkxFbEJRVWtzUjBGQllTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJRekZETEUxQlFVMHNVMEZCVXl4SFFVRlJMRWxCUVVrN1lVRkRlRUlzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMkZCUXk5Q0xFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZha01zVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eEZRVUZGTEZOQlFWTXNRMEZCUXl4RFFVRlJMRU5CUVVNN1VVRkRiRVVzVDBGQlR5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZYTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTNoRkxFTkJRVU03U1VGSFl5eEJRVUZPTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJVU3hGUVVGRkxFZEJRVms3VVVGRE0wTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFMUJRVTBzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRlZMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU01UkN4RFFVRkRPMGxCUjJNc1FVRkJUaXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFWRXNSVUZCUlN4SFFVRlhPMUZCUTNoRExFOUJRVThzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlZTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkROVVFzUTBGQlF6dEpRVWRqTEVGQlFVNHNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGUkxFVkJRVVVzUjBGQlZ6dFJRVU40UXl4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVFVGQlRTeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVZVc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlF6VkVMRU5CUVVNN1NVRkhZeXhCUVVGT0xFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCVVN4RlFVRkZMRWRCUVZjN1VVRkRlRU1zVDBGQlR5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTFCUVUwc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZWTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVNMVJDeERRVUZETzBsQlIyTXNRVUZCVGl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVkVzUlVGQlJTeEhRVUZYTzFGQlEzaERMRTlCUVU4c1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eE5RVUZOTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJWU3hGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETlVRc1EwRkJRenRKUVVkakxFRkJRVTRzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRlJMRVZCUVVVc1IwRkJWenRSUVVNM1F5eFBRVUZQTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETEVkQlFWVXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMnBGTEVOQlFVTTdTVUZIWXl4QlFVRk9MRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlVTeEZRVUZGTEVkQlFWYzdVVUZETVVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEUxQlFVMHNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGVkxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTTVSQ3hEUVVGRE8wTkJRMFk3UVVGMlRXZENPMGxCUkdRc1YwRkJWeXhGUVVGRk96dHhRMEZEWVN4SFFVRkhPenR2UkVGRk4wSTdRVUZIWXp0SlFVUmtMRmRCUVZjc1EwRkJReXhMUVVGTExFTkJRVU03TzNGRFFVTk5MRWRCUVVjN08ydEVRVVV6UWp0QlFVZGpPMGxCUkdRc1YwRkJWeXhGUVVGRk96dHhRMEZEWVN4SFFVRkhPenR2UkVGRk4wSTdRVUZIWXp0SlFVUmtMRmRCUVZjc1JVRkJSVHM3Y1VOQlEyRXNSMEZCUnpzN2IwUkJSVGRDTzBGQlIyTTdTVUZFWkN4WFFVRlhMRVZCUVVVN08zRkRRVU5uUWl4SFFVRkhPenQxUkVGUGFFTTdRVUZIWXp0SlFVUmtMRmRCUVZjc1EwRkJReXhMUVVGTExFTkJRVU03TzNGRFFVTlRMRWRCUVVjN08zRkVRVTg1UWp0QlFVZGpPMGxCUkdRc1YwRkJWeXhGUVVGRk96dHhRMEZEWjBJc1IwRkJSenM3ZFVSQlYyaERPMEZCUjJNN1NVRkVaQ3hYUVVGWExFTkJRVU1zUzBGQlN5eERRVUZET3p0eFEwRkRWeXhIUVVGSE96dDFSRUZYYUVNN1FVRkhZenRKUVVSa0xGZEJRVmNzUTBGQlF5eExRVUZMTEVOQlFVTTdPM0ZEUVVOUkxFZEJRVWM3TzI5RVFVazNRanRCUVVkak8wbEJSR1FzVjBGQlZ5eERRVUZETEV0QlFVc3NRMEZCUXpzN2NVTkJSVm9zUjBGQlJ6czdkMFJCWlZRN1FVRkhZenRKUVVSa0xGZEJRVmNzUTBGQlF5eExRVUZMTEVOQlFVTTdPM0ZEUVVWYUxFZEJRVWM3TzJ0RVFWRlVPMEZCUjJNN1NVRkVaQ3hYUVVGWExFTkJRVU1zUzBGQlN5eERRVUZET3p0eFEwRkRWeXhIUVVGSE96dDFSRUZGYUVNN1FVRnZRMk03U1VGRVpDeFhRVUZYTEVWQlFVVTdPM0ZEUVVOWExFZEJRVWM3TzJ0RVFVVXpRanRCUVVkak8wbEJSR1FzVjBGQlZ5eERRVUZETEV0QlFVc3NRMEZCUXpzN2NVTkJRMkVzUjBGQlJ6czdlVVJCUjJ4RE8wRkJSMk03U1VGRVpDeFhRVUZYTEVWQlFVVTdPM0ZEUVVOdlFpeEhRVUZIT3p0MVJFRlJjRU03UVVGSFl6dEpRVVJrTEZkQlFWY3NRMEZCUXl4TFFVRkxMRU5CUVVNN08zRkRRVU5UTEVkQlFVYzdPM0ZFUVVVNVFqdEJRVWRqTzBsQlJHUXNWMEZCVnl4RFFVRkRMRXRCUVVzc1EwRkJRenM3Y1VOQlEwOHNSMEZCUnpzN2JVUkJSVFZDTzBGQlIyTTdTVUZFWkN4WFFVRlhMRU5CUVVNc1MwRkJTeXhEUVVGRE96dHhRMEZEVHl4SFFVRkhPenR0UkVGRk5VSTdRVUZIWXp0SlFVUmtMRmRCUVZjc1EwRkJReXhMUVVGTExFTkJRVU03TzNGRFFVTlBMRWRCUVVjN08yMUVRVVUxUWp0QlFVZGpPMGxCUkdRc1YwRkJWeXhEUVVGRExFdEJRVXNzUTBGQlF6czdjVU5CUTA4c1IwRkJSenM3YlVSQlJUVkNPMEZCUjJNN1NVRkVaQ3hYUVVGWExFTkJRVU1zUzBGQlN5eERRVUZET3p0eFEwRkRXU3hIUVVGSE96dDNSRUZGYWtNN1FVRkhZenRKUVVSa0xGZEJRVmNzUTBGQlF5eExRVUZMTEVOQlFVTTdPM0ZEUVVOVExFZEJRVWM3TzNGRVFVVTVRaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVaaFluSnBZME55ZFdSRGIyNTBjbUZqZENCOUlHWnliMjBnWENJdUwyTnlkV1F0WTI5dWRISmhZM1JjSWp0Y2JtbHRjRzl5ZENCN0lFMXZaR1ZzSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYjNJdGRtRnNhV1JoZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHNnUTI5dWRHVjRkQ0JoY3lCRGRIZ3NJRlJ5WVc1ellXTjBhVzl1SUgwZ1puSnZiU0JjSW1aaFluSnBZeTFqYjI1MGNtRmpkQzFoY0dsY0lqdGNibWx0Y0c5eWRDQjdJRU52Ym5OMGNuVmpkRzl5SUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYVc5dVhDSTdYRzVwYlhCdmNuUWdleUJEYjI1a2FYUnBiMjRzSUU5eVpHVnlSR2x5WldOMGFXOXVJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlqYjNKbFhDSTdYRzVwYlhCdmNuUWdleUJUWlhKcFlXeHBlbUYwYVc5dVJYSnliM0lnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSaUxXUmxZMjl5WVhSdmNuTmNJanRjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdRMUpWUkNCamIyNTBjbUZqZENCMllYSnBZVzUwSUhSb1lYUWdjMlZ5YVdGc2FYcGxjeTlrWlhObGNtbGhiR2w2WlhNZ2NHRjViRzloWkhOY2JpQXFJRUJ6ZFcxdFlYSjVJRVY0Y0c5elpYTWdkR2hsSUhOaGJXVWdRMUpWUkNCdmNHVnlZWFJwYjI1eklHRnpJRVpoWW5KcFkwTnlkV1JEYjI1MGNtRmpkQ0JpZFhRZ2RHRnJaWE1nWVc1a0lISmxkSFZ5Ym5NZ1NsTlBUaUJ6ZEhKcGJtZHpJSFJ2SUdaaFkybHNhWFJoZEdVZ2MybHRjR3hsSUdOc2FXVnVkQ0JwYm5SbGNtRmpkR2x2Ym5NdVhHNGdLaUJBZEdWdGNHeGhkR1VnVFNBdElFMXZaR1ZzSUhSNWNHVWdhR0Z1Wkd4bFpDQmllU0IwYUdseklHTnZiblJ5WVdOMFhHNGdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdibUZ0WlNBdElGUm9aU0JqYjI1MGNtRmpkQ0J1WVcxbFhHNGdLaUJBY0dGeVlXMGdlME52Ym5OMGNuVmpkRzl5UEUwK2ZTQmpiR0Y2ZWlBdElGUm9aU0J0YjJSbGJDQmpiMjV6ZEhKMVkzUnZjaUIxYzJWa0lIUnZJR2x1YzNSaGJuUnBZWFJsSUcxdlpHVnNjeUJtY205dElFcFRUMDVjYmlBcUlFQnlaWFIxY200Z2UzWnZhV1I5WEc0Z0tpQkFZMnhoYzNNZ1UyVnlhV0ZzYVhwbFpFTnlkV1JEYjI1MGNtRmpkRnh1SUNvZ1FHVjRZVzF3YkdWY2JpQXFJR052Ym5OMElHTnZiblJ5WVdOMElEMGdibVYzSUZObGNtbGhiR2w2WldSRGNuVmtRMjl1ZEhKaFkzUThUWGxOYjJSbGJENG9KMDE1VFc5a1pXeERiMjUwY21GamRDY3NJRTE1VFc5a1pXd3BPMXh1SUNvZ0x5OGdRMnhwWlc1MElITjFZbTFwZEhNZ1NsTlBUaUJ6ZEhKcGJtY2djR0Y1Ykc5aFpITWdZVzVrSUhKbFkyVnBkbVZ6SUVwVFQwNGdjM1J5YVc1bklISmxjM0J2Ym5ObGMxeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdVMlZ5YVdGc2FYcGxaRU55ZFdSRGIyNTBjbUZqZER4Y2JpQWdUU0JsZUhSbGJtUnpJRTF2WkdWc0xGeHVQaUJsZUhSbGJtUnpJRVpoWW5KcFkwTnlkV1JEYjI1MGNtRmpkRHhOUGlCN1hHNGdJR052Ym5OMGNuVmpkRzl5S0c1aGJXVTZJSE4wY21sdVp5d2dZMnhoZW5vNklFTnZibk4wY25WamRHOXlQRTArS1NCN1hHNGdJQ0FnYzNWd1pYSW9ibUZ0WlN3Z1kyeGhlbm9wTzF4dUlDQjlYRzVjYmlBZ1FGUnlZVzV6WVdOMGFXOXVLQ2xjYmlBZ2IzWmxjbkpwWkdVZ1lYTjVibU1nWTNKbFlYUmxLR04wZURvZ1EzUjRMQ0J0YjJSbGJEb2djM1J5YVc1bktUb2dVSEp2YldselpUeHpkSEpwYm1jK0lIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpaWEpwWVd4cGVtVW9LR0YzWVdsMElITjFjR1Z5TG1OeVpXRjBaU2hqZEhnZ1lYTWdZVzU1TENCdGIyUmxiQ2twSUdGeklFMHBPMXh1SUNCOVhHNWNiaUFnUUZSeVlXNXpZV04wYVc5dUtHWmhiSE5sS1Z4dUlDQnZkbVZ5Y21sa1pTQmhjM2x1WXlCeVpXRmtLR04wZURvZ1EzUjRMQ0JyWlhrNklITjBjbWx1WnlrNklGQnliMjFwYzJVOGMzUnlhVzVuUGlCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMyVnlhV0ZzYVhwbEtDaGhkMkZwZENCemRYQmxjaTV5WldGa0tHTjBlQ0JoY3lCaGJua3NJR3RsZVNrcElHRnpJRTBwTzF4dUlDQjlYRzVjYmlBZ1FGUnlZVzV6WVdOMGFXOXVLQ2xjYmlBZ2IzWmxjbkpwWkdVZ1lYTjVibU1nZFhCa1lYUmxLR04wZURvZ1EzUjRMQ0J0YjJSbGJEb2djM1J5YVc1bktUb2dVSEp2YldselpUeHpkSEpwYm1jK0lIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpaWEpwWVd4cGVtVW9LR0YzWVdsMElITjFjR1Z5TG5Wd1pHRjBaU2hqZEhnc0lHMXZaR1ZzS1NrZ1lYTWdUU2s3WEc0Z0lIMWNibHh1SUNCQVZISmhibk5oWTNScGIyNG9LVnh1SUNCdmRtVnljbWxrWlNCaGMzbHVZeUJrWld4bGRHVW9ZM1I0T2lCRGRIZ3NJR3RsZVRvZ2MzUnlhVzVuS1RvZ1VISnZiV2x6WlR4emRISnBibWMrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1elpYSnBZV3hwZW1Vb0tHRjNZV2wwSUhOMWNHVnlMbVJsYkdWMFpTaGpkSGdnWVhNZ1lXNTVMQ0JyWlhrcEtTQmhjeUJOS1R0Y2JpQWdmVnh1WEc0Z0lFQlVjbUZ1YzJGamRHbHZiaWdwWEc0Z0lHOTJaWEp5YVdSbElHRnplVzVqSUdSbGJHVjBaVUZzYkNoamRIZzZJRU4wZUN3Z2EyVjVjem9nYzNSeWFXNW5LVG9nVUhKdmJXbHpaVHh6ZEhKcGJtYytJSHRjYmlBZ0lDQmpiMjV6ZENCd1lYSnpaV1JMWlhsek9pQnpkSEpwYm1kYlhTQTlJRXBUVDA0dWNHRnljMlVvYTJWNWN5azdYRzRnSUNBZ2NtVjBkWEp1SUVwVFQwNHVjM1J5YVc1bmFXWjVLRnh1SUNBZ0lDQWdLQ2hoZDJGcGRDQnpkWEJsY2k1a1pXeGxkR1ZCYkd3b1kzUjRJR0Z6SUdGdWVTd2djR0Z5YzJWa1MyVjVjeWtwSUdGeklFMWJYU2t1YldGd0tGeHVJQ0FnSUNBZ0lDQW9iU2tnUFQ0Z2RHaHBjeTV6WlhKcFlXeHBlbVVvYlNrZ1lYTWdjM1J5YVc1blhHNGdJQ0FnSUNBcFhHNGdJQ0FnS1R0Y2JpQWdmVnh1WEc0Z0lFQlVjbUZ1YzJGamRHbHZiaWhtWVd4elpTbGNiaUFnYjNabGNuSnBaR1VnWVhONWJtTWdjbVZoWkVGc2JDaGpkSGc2SUVOMGVDd2dhMlY1Y3pvZ2MzUnlhVzVuS1RvZ1VISnZiV2x6WlR4emRISnBibWMrSUh0Y2JpQWdJQ0JqYjI1emRDQndZWEp6WldSTFpYbHpPaUJ6ZEhKcGJtZGJYU0E5SUVwVFQwNHVjR0Z5YzJVb2EyVjVjeWs3WEc0Z0lDQWdjbVYwZFhKdUlFcFRUMDR1YzNSeWFXNW5hV1o1S0Z4dUlDQWdJQ0FnS0NoaGQyRnBkQ0J6ZFhCbGNpNXlaV0ZrUVd4c0tHTjBlQ0JoY3lCaGJua3NJSEJoY25ObFpFdGxlWE1wS1NCaGN5Qk5XMTBwTG0xaGNDZ29iU2tnUFQ1Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV6WlhKcFlXeHBlbVVvYlNsY2JpQWdJQ0FnSUNsY2JpQWdJQ0FwTzF4dUlDQjlYRzVjYmlBZ1FGUnlZVzV6WVdOMGFXOXVLQ2xjYmlBZ2IzWmxjbkpwWkdVZ1lYTjVibU1nZFhCa1lYUmxRV3hzS0dOMGVEb2dRM1I0TENCdGIyUmxiSE02SUhOMGNtbHVaeWs2SUZCeWIyMXBjMlU4YzNSeWFXNW5QaUI3WEc0Z0lDQWdZMjl1YzNRZ2JHbHpkRG9nYzNSeWFXNW5XMTBnUFNCS1UwOU9MbkJoY25ObEtHMXZaR1ZzY3lrN1hHNGdJQ0FnWTI5dWMzUWdiVzlrWld4TWFYTjBPaUJOVzEwZ1BTQnNhWE4wWEc0Z0lDQWdJQ0F1YldGd0tDaHRLU0E5UGlCMGFHbHpMbVJsYzJWeWFXRnNhWHBsS0cwcEtWeHVJQ0FnSUNBZ0xtMWhjQ2dvYlNrZ1BUNGdibVYzSUhSb2FYTXVZMnhoZW5vb2JTa3BPMXh1WEc0Z0lDQWdjbVYwZFhKdUlFcFRUMDR1YzNSeWFXNW5hV1o1S0Z4dUlDQWdJQ0FnS0NoaGQyRnBkQ0J6ZFhCbGNpNTFjR1JoZEdWQmJHd29ZM1I0SUdGeklHRnVlU3dnYlc5a1pXeE1hWE4wS1NrZ1lYTWdUVnRkS1M1dFlYQW9YRzRnSUNBZ0lDQWdJQ2h0S1NBOVBpQjBhR2x6TG5ObGNtbGhiR2w2WlNodEtTQmhjeUJ6ZEhKcGJtZGNiaUFnSUNBZ0lDbGNiaUFnSUNBcE8xeHVJQ0I5WEc1Y2JpQWdRRlJ5WVc1ellXTjBhVzl1S0daaGJITmxLVnh1SUNCdmRtVnljbWxrWlNCaGMzbHVZeUJ6ZEdGMFpXMWxiblFvWTNSNE9pQkRkSGdzSUcxbGRHaHZaRG9nYzNSeWFXNW5MQ0JoY21kek9pQnpkSEpwYm1jcElIdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdZWEpuY3lBOUlFcFRUMDR1Y0dGeWMyVW9ZWEpuY3lrN1hHNGdJQ0FnZlNCallYUmphQ0FvWlRvZ2RXNXJibTkzYmlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGTmxjbWxoYkdsNllYUnBiMjVGY25KdmNpaGdTVzUyWVd4cFpDQmhjbWR6T2lBa2UyVjlZQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2doUVhKeVlYa3VhWE5CY25KaGVTaGhjbWR6S1NsY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVFpYSnBZV3hwZW1GMGFXOXVSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lHQkpiblpoYkdsa0lHRnlaM002SUNSN1NsTlBUaTV6ZEhKcGJtZHBabmtvWVhKbmN5bDlMaUJ0ZFhOMElHSmxJR0Z1SUdGeWNtRjVZRnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQnlaWFIxY200Z1NsTlBUaTV6ZEhKcGJtZHBabmtvWVhkaGFYUWdjM1Z3WlhJdWMzUmhkR1Z0Wlc1MEtHTjBlQ3dnYldWMGFHOWtMQ0F1TGk1aGNtZHpLU2s3WEc0Z0lIMWNibHh1SUNCQVZISmhibk5oWTNScGIyNG9abUZzYzJVcFhHNGdJRzkyWlhKeWFXUmxJR0Z6ZVc1aklHeHBjM1JDZVNoamRIZzZJRU4wZUN3Z2EyVjVPaUJ6ZEhKcGJtY3NJRzl5WkdWeU9pQnpkSEpwYm1jcElIdGNiaUFnSUNCeVpYUjFjbTRnU2xOUFRpNXpkSEpwYm1kcFpua29YRzRnSUNBZ0lDQmhkMkZwZENCemRYQmxjaTVzYVhOMFFua29ZM1I0TENCclpYa2dZWE1nYTJWNWIyWWdUU3dnYjNKa1pYSWdZWE1nVDNKa1pYSkVhWEpsWTNScGIyNHBYRzRnSUNBZ0tUdGNiaUFnZlZ4dVhHNGdJRUJVY21GdWMyRmpkR2x2YmlobVlXeHpaU2xjYmlBZ2IzWmxjbkpwWkdVZ1lYTjVibU1nY0dGbmFXNWhkR1ZDZVNoY2JpQWdJQ0JqZEhnNklFTjBlQ3hjYmlBZ0lDQnJaWGs2SUhOMGNtbHVaeXhjYmlBZ0lDQnZjbVJsY2pvZ2MzUnlhVzVuTEZ4dUlDQWdJSEpsWmpvZ2MzUnlhVzVuWEc0Z0lDazZJRkJ5YjIxcGMyVThjM1J5YVc1blBpQjdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJSEpsWmlBOUlFcFRUMDR1Y0dGeWMyVW9jbVZtS1R0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsT2lCMWJtdHViM2R1S1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1UyVnlhV0ZzYVhwaGRHbHZia1Z5Y205eUtGeHVJQ0FnSUNBZ0lDQmdSbUZwYkdWa0lIUnZJR1JsYzJWeWFXRnNhWHBsSUhCaFoybHVZWFJsUW5rZ2NtVm1aWEpsYm1ObE9pQWtlMlY5WUZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlFcFRUMDR1YzNSeWFXNW5hV1o1S0Z4dUlDQWdJQ0FnWVhkaGFYUWdjM1Z3WlhJdWNHRm5hVzVoZEdWQ2VTaGpkSGdzSUd0bGVTd2diM0prWlhJZ1lYTWdZVzU1TENCeVpXWWdZWE1nWVc1NUtWeHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQkFWSEpoYm5OaFkzUnBiMjRvWm1Gc2MyVXBYRzRnSUc5MlpYSnlhV1JsSUdGemVXNWpJSEJoWjJVb1hHNGdJQ0FnWTNSNE9pQkRkSGdzWEc0Z0lDQWdkbUZzZFdVNklITjBjbWx1Wnl4Y2JpQWdJQ0JrYVhKbFkzUnBiMjQ2SUhOMGNtbHVaeXhjYmlBZ0lDQnlaV1k2SUhOMGNtbHVaMXh1SUNBcE9pQlFjbTl0YVhObFBITjBjbWx1Wno0Z2UxeHVJQ0FnSUdOdmJuTjBJSEpsWm1WeVpXNWpaU0E5SUhSNWNHVnZaaUJ5WldZZ1BUMDlJRndpYzNSeWFXNW5YQ0lnUHlCS1UwOU9MbkJoY25ObEtISmxaaWtnT2lBb2NtVm1JR0Z6SUdGdWVTazdYRzRnSUNBZ1kyOXVjM1FnY21WemRXeDBJRDBnWVhkaGFYUWdjM1Z3WlhJdWNHRm5aU2hqZEhnc0lIWmhiSFZsTENCa2FYSmxZM1JwYjI0c0lISmxabVZ5Wlc1alpTazdYRzRnSUNBZ2NtVjBkWEp1SUVwVFQwNHVjM1J5YVc1bmFXWjVLSEpsYzNWc2RDazdYRzRnSUgxY2JseHVJQ0JBVkhKaGJuTmhZM1JwYjI0b1ptRnNjMlVwWEc0Z0lHOTJaWEp5YVdSbElHRnplVzVqSUdacGJtUlBibVZDZVNoamRIZzZJRU4wZUN3Z2EyVjVPaUJ6ZEhKcGJtY3NJSFpoYkhWbE9pQnpkSEpwYm1jcElIdGNiaUFnSUNCeVpYUjFjbTRnU2xOUFRpNXpkSEpwYm1kcFpua29ZWGRoYVhRZ2MzVndaWEl1Wm1sdVpFOXVaVUo1S0dOMGVDd2dhMlY1TENCMllXeDFaU2twTzF4dUlDQjlYRzVjYmlBZ0x5OGdRRlJ5WVc1ellXTjBhVzl1S0daaGJITmxLVnh1SUNCdmRtVnljbWxrWlNCaGMzbHVZeUJ4ZFdWeWVTaGNiaUFnSUNCamRIZzZJRU4wZUN4Y2JpQWdJQ0JqYjI1a2FYUnBiMjQ2SUhOMGNtbHVaeXhjYmlBZ0lDQnZjbVJsY2tKNU9pQnpkSEpwYm1jc1hHNGdJQ0FnYjNKa1pYSTZJSE4wY21sdVp5eGNiaUFnSUNCc2FXMXBkRDg2SUc1MWJXSmxjaXhjYmlBZ0lDQnphMmx3UHpvZ2JuVnRZbVZ5WEc0Z0lDazZJRkJ5YjIxcGMyVThjM1J5YVc1blBpQjdYRzRnSUNBZ2JHVjBJR052Ym1RNklFTnZibVJwZEdsdmJqeGhibmsrTzF4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCamIyNWtJRDBnUTI5dVpHbDBhVzl1TG1aeWIyMG9TbE5QVGk1d1lYSnpaU2hqYjI1a2FYUnBiMjRwS1R0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsT2lCMWJtdHViM2R1S1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1UyVnlhV0ZzYVhwaGRHbHZia1Z5Y205eUtHQkpiblpoYkdsa0lHTnZibVJwZEdsdmJqb2dKSHRsZldBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJLVTA5T0xuTjBjbWx1WjJsbWVTaGNiaUFnSUNBZ0lHRjNZV2wwSUhOMWNHVnlMbkYxWlhKNUtHTjBlQ3dnWTI5dVpDd2diM0prWlhKQ2VTd2diM0prWlhJZ1lYTWdZVzU1TENCc2FXMXBkQ3dnYzJ0cGNDbGNiaUFnSUNBcE8xeHVJQ0I5WEc0Z0lDOHZYRzRnSUM4dklDOHZJRUJVY21GdWMyRmpkR2x2YmlobVlXeHpaU2xjYmlBZ0x5OGdiM1psY25KcFpHVWdZWE41Ym1NZ2NtRjNLRnh1SUNBdkx5QWdJR052Ym5SbGVIUTZJRU4wZUN4Y2JpQWdMeThnSUNCeVlYZEpibkIxZERvZ2MzUnlhVzVuTEZ4dUlDQXZMeUFnSUdSdlkzTlBibXg1T2lCaWIyOXNaV0Z1TEZ4dUlDQXZMeUFnSUM0dUxtRnlaM002SUhOMGNtbHVaMXRkWEc0Z0lDOHZJQ2s2SUZCeWIyMXBjMlU4WVc1NVBpQjdYRzRnSUM4dklDQWdZMjl1YzNRZ2V5QmpkSGdnZlNBOUlHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtGdGpiMjUwWlhoMFhTd2dkR2hwY3k1eVlYY3BPMXh1SUNBdkx5QWdJR052Ym5OMElIQmhjbk5sWkVsdWNIVjBPaUJOWVc1bmIxRjFaWEo1SUQwZ1NsTlBUaTV3WVhKelpTaHlZWGRKYm5CMWRDazdYRzRnSUM4dklDQWdjbVYwZFhKdUlFcFRUMDR1YzNSeWFXNW5hV1o1S0dGM1lXbDBJSE4xY0dWeUxuSmhkeWhqZEhnc0lIQmhjbk5sWkVsdWNIVjBMQ0JrYjJOelQyNXNlU3dnTGk0dVlYSm5jeWtwTzF4dUlDQXZMeUI5WEc1Y2JpQWdRRlJ5WVc1ellXTjBhVzl1S0NsY2JpQWdiM1psY25KcFpHVWdZWE41Ym1NZ2FXNXBkQ2hqZEhnNklFTjBlQ2s2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHRjNZV2wwSUhOMWNHVnlMbWx1YVhRb1kzUjRLVHRjYmlBZ2ZWeHVYRzRnSUVCVWNtRnVjMkZqZEdsdmJpaG1ZV3h6WlNsY2JpQWdiM1psY25KcFpHVWdZWE41Ym1NZ2FHVmhiSFJvWTJobFkyc29ZM1I0T2lCRGRIZ3BPaUJRY205dGFYTmxQSE4wY21sdVp6NGdlMXh1SUNBZ0lDOHZWRTlFVHpvZ1ZGSkpUU0JPVDFRZ1YwOVNTMGxPUnlCRFNFVkRTeUJNUVZSRlVseHVJQ0FnSUhKbGRIVnliaUJLVTA5T0xuTjBjbWx1WjJsbWVTaGhkMkZwZENCemRYQmxjaTVvWldGc2RHaGphR1ZqYXloamRIZ2dZWE1nWVc1NUtTazdYRzRnSUgxY2JseHVJQ0JBVkhKaGJuTmhZM1JwYjI0b0tWeHVJQ0J2ZG1WeWNtbGtaU0JoYzNsdVl5QmpjbVZoZEdWQmJHd29ZMjl1ZEdWNGREb2dRM1I0TENCdGIyUmxiSE02SUhOMGNtbHVaeWs2SUZCeWIyMXBjMlU4YzNSeWFXNW5QaUI3WEc0Z0lDQWdZMjl1YzNRZ2JHbHpkRG9nYzNSeWFXNW5XMTBnUFNCS1UwOU9MbkJoY25ObEtHMXZaR1ZzY3lrN1hHNGdJQ0FnWTI5dWMzUWdiVzlrWld4TWFYTjBPaUJOVzEwZ1BTQnNhWE4wWEc0Z0lDQWdJQ0F1YldGd0tDaHRLU0E5UGlCMGFHbHpMbVJsYzJWeWFXRnNhWHBsS0cwcEtWeHVJQ0FnSUNBZ0xtMWhjQ2dvYlNrZ1BUNGdibVYzSUhSb2FYTXVZMnhoZW5vb2JTa3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ0tHRjNZV2wwSUhOMWNHVnlMbU55WldGMFpVRnNiQ2hqYjI1MFpYaDBMQ0J0YjJSbGJFeHBjM1FwS1NCaGN5Qk5XMTA3WEc0Z0lDQWdjbVYwZFhKdUlFcFRUMDR1YzNSeWFXNW5hV1o1S0hKbGMzVnNkQzV0WVhBb0tHMHBJRDArSUhSb2FYTXVjMlZ5YVdGc2FYcGxLRzBwSUdGeklITjBjbWx1WnlrcE8xeHVJQ0I5WEc1Y2JpQWdRRlJ5WVc1ellXTjBhVzl1S0daaGJITmxLVnh1SUNCdmRtVnljbWxrWlNCaGMzbHVZeUJqYjNWdWRFOW1LR04wZURvZ1EzUjRMQ0JyWlhrL09pQnpkSEpwYm1jcE9pQlFjbTl0YVhObFBITjBjbWx1Wno0Z2UxeHVJQ0FnSUhKbGRIVnliaUJLVTA5T0xuTjBjbWx1WjJsbWVTaGhkMkZwZENCemRYQmxjaTVqYjNWdWRFOW1LR04wZUNCaGN5QmhibmtzSUd0bGVTa3BPMXh1SUNCOVhHNWNiaUFnUUZSeVlXNXpZV04wYVc5dUtHWmhiSE5sS1Z4dUlDQnZkbVZ5Y21sa1pTQmhjM2x1WXlCdFlYaFBaaWhqZEhnNklFTjBlQ3dnYTJWNU9pQnpkSEpwYm1jcE9pQlFjbTl0YVhObFBITjBjbWx1Wno0Z2UxeHVJQ0FnSUhKbGRIVnliaUJLVTA5T0xuTjBjbWx1WjJsbWVTaGhkMkZwZENCemRYQmxjaTV0WVhoUFppaGpkSGdnWVhNZ1lXNTVMQ0JyWlhrcEtUdGNiaUFnZlZ4dVhHNGdJRUJVY21GdWMyRmpkR2x2YmlobVlXeHpaU2xjYmlBZ2IzWmxjbkpwWkdVZ1lYTjVibU1nYldsdVQyWW9ZM1I0T2lCRGRIZ3NJR3RsZVRvZ2MzUnlhVzVuS1RvZ1VISnZiV2x6WlR4emRISnBibWMrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdTbE5QVGk1emRISnBibWRwWm5rb1lYZGhhWFFnYzNWd1pYSXViV2x1VDJZb1kzUjRJR0Z6SUdGdWVTd2dhMlY1S1NrN1hHNGdJSDFjYmx4dUlDQkFWSEpoYm5OaFkzUnBiMjRvWm1Gc2MyVXBYRzRnSUc5MlpYSnlhV1JsSUdGemVXNWpJR0YyWjA5bUtHTjBlRG9nUTNSNExDQnJaWGs2SUhOMGNtbHVaeWs2SUZCeWIyMXBjMlU4YzNSeWFXNW5QaUI3WEc0Z0lDQWdjbVYwZFhKdUlFcFRUMDR1YzNSeWFXNW5hV1o1S0dGM1lXbDBJSE4xY0dWeUxtRjJaMDltS0dOMGVDQmhjeUJoYm5rc0lHdGxlU2twTzF4dUlDQjlYRzVjYmlBZ1FGUnlZVzV6WVdOMGFXOXVLR1poYkhObEtWeHVJQ0J2ZG1WeWNtbGtaU0JoYzNsdVl5QnpkVzFQWmloamRIZzZJRU4wZUN3Z2EyVjVPaUJ6ZEhKcGJtY3BPaUJRY205dGFYTmxQSE4wY21sdVp6NGdlMXh1SUNBZ0lISmxkSFZ5YmlCS1UwOU9Mbk4wY21sdVoybG1lU2hoZDJGcGRDQnpkWEJsY2k1emRXMVBaaWhqZEhnZ1lYTWdZVzU1TENCclpYa3BLVHRjYmlBZ2ZWeHVYRzRnSUVCVWNtRnVjMkZqZEdsdmJpaG1ZV3h6WlNsY2JpQWdiM1psY25KcFpHVWdZWE41Ym1NZ1pHbHpkR2x1WTNSUFppaGpkSGc2SUVOMGVDd2dhMlY1T2lCemRISnBibWNwT2lCUWNtOXRhWE5sUEhOMGNtbHVaejRnZTF4dUlDQWdJSEpsZEhWeWJpQktVMDlPTG5OMGNtbHVaMmxtZVNoaGQyRnBkQ0J6ZFhCbGNpNWthWE4wYVc1amRFOW1LR04wZUNCaGN5QmhibmtzSUd0bGVTa3BPMXh1SUNCOVhHNWNiaUFnUUZSeVlXNXpZV04wYVc5dUtHWmhiSE5sS1Z4dUlDQnZkbVZ5Y21sa1pTQmhjM2x1WXlCbmNtOTFjRTltS0dOMGVEb2dRM1I0TENCclpYazZJSE4wY21sdVp5azZJRkJ5YjIxcGMyVThjM1J5YVc1blBpQjdYRzRnSUNBZ2NtVjBkWEp1SUVwVFQwNHVjM1J5YVc1bmFXWjVLR0YzWVdsMElITjFjR1Z5TG1keWIzVndUMllvWTNSNElHRnpJR0Z1ZVN3Z2EyVjVLU2s3WEc0Z0lIMWNibjFjYmlKZGZRPT0iXX0=
|
|
289
|
+
//# sourceMappingURL=serialized-crud-contract.js.map
|
|
290
|
+
//# sourceMappingURL=serialized-crud-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialized-crud-contract.js","sourceRoot":"","sources":["serialized-crud-contract.js"],"names":[],"mappings":"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"}
|